From 5356323211efa564720095c2e4135f6afaededfb Mon Sep 17 00:00:00 2001 From: iOS Date: Sun, 30 Oct 2022 19:33:50 +0100 Subject: [PATCH] end october --- .obsidian/appearance.json | 2 +- .obsidian/community-plugins.json | 4 +- .obsidian/plugins/buttons/main.js | 80 +- .obsidian/plugins/buttons/manifest.json | 2 +- .obsidian/plugins/buttons/styles.css | 6 + .../data.json | 6 - .../obsidian-activity-history/data.json | 20 +- .obsidian/plugins/obsidian-chat-view/main.js | 642 - .../plugins/obsidian-chat-view/manifest.json | 9 - .../plugins/obsidian-chat-view/styles.css | 200 - .obsidian/plugins/obsidian-commits/data.json | 291 +- .../plugins/obsidian-dialogue-plugin/main.js | 340 + .../obsidian-dialogue-plugin/manifest.json | 10 + .../obsidian-dialogue-plugin/styles.css | 58 + .../plugins/obsidian-dice-roller/main.js | 120 +- .../obsidian-dice-roller/manifest.json | 2 +- .obsidian/plugins/obsidian-kanban/main.js | 40 +- .../plugins/obsidian-kanban/manifest.json | 4 +- .obsidian/plugins/obsidian-kanban/styles.css | 2 +- .../obsidian-reminder-plugin/data.json | 54 +- .../plugins/obsidian-style-settings/data.json | 19 +- .../plugins/obsidian-tasks-plugin/main.js | 40 +- .../obsidian-tasks-plugin/manifest.json | 2 +- .../plugins/obsidian-tasks-plugin/styles.css | 177 +- .obsidian/plugins/obsidian42-brat/main.js | 2 +- .../plugins/obsidian42-brat/manifest.json | 4 +- .obsidian/plugins/podnotes/data.json | 26 +- .obsidian/plugins/templater-obsidian/main.js | 21 +- .../plugins/templater-obsidian/manifest.json | 2 +- .obsidian/themes/AnuPpuccin/manifest.json | 7 + .obsidian/themes/AnuPpuccin/theme.css | 3139 +++++ .obsidian/themes/Atom/manifest.json | 6 + .obsidian/themes/Atom/theme.css | 472 + .obsidian/themes/GitHub theme/manifest.json | 7 + .obsidian/themes/GitHub theme/theme.css | 659 + .obsidian/themes/Minimal/manifest.json | 2 +- .obsidian/themes/Minimal/theme.css | 625 +- .obsidian/themes/Primary/manifest.json | 6 + .obsidian/themes/Primary/theme.css | 11061 ++++++++++++++++ .obsidian/themes/Things/manifest.json | 2 +- .obsidian/themes/Things/theme.css | 12 +- .obsidian/workspace-mobile.json | 26 +- 00.01 Admin/Calendars/2022-10-18.md | 2 +- 00.01 Admin/Calendars/2022-10-26.md | 2 +- 00.01 Admin/Calendars/2022-10-27.md | 115 + 00.01 Admin/Calendars/2022-10-28.md | 114 + .../2022-10-29 PSG - Troyes (4-3).md | 13 + 00.01 Admin/Calendars/2022-10-29.md | 115 + 00.01 Admin/Calendars/2022-10-30.md | 115 + ...The man who saw too much - Deseret News.md | 2 +- ...ormed Money Laundering for Drug Cartels.md | 2 +- ... put her in power — and shattered her.md | 79 + ...sissippi's Welfare Mess—And America's.md | 79 + ...atricia Dotson Was Killed by the Police.md | 2 +- ...n Guns, and Police Face an Armed Public.md | 151 + ...pected Spy Who Met With President Trump.md | 403 + ...Zevon Left the ‘Late Show’ Building.md | 138 + ... Perry Can’t Believe He Lived to Tell.md | 235 + ...ce of China’s missing mega-influencer.md | 2 +- 00.03 News/What Happened to Maya.md | 2 +- ...rump Tapes’ reveal about Bob Woodward.md | 113 + ...ter Matt Levine on BTC, ETH, Blockchain.md | 1731 +++ .../Bookmarks - Admin & services.md | 3 +- 00.08 Bookmarks/Bookmarks - Media.md | 10 + 00.08 Bookmarks/Bookmarks - Obsidian.md | 48 +- 01.02 Home/@Shopping list.md | 41 +- 01.02 Home/Household.md | 6 +- 03.02 Travels/New York.md | 126 + 03.02 Travels/Skiing in Switzerland.md | 14 +- .../Crispy Salmon with Bulgur.md | 6 +- 03.04 Cinematheque/@Cinematheque.md | 2 +- 03.04 Cinematheque/Hail Caesar! (2016).md | 94 + .../2021-12-04 MRCK - lil dialogue.md | 9 +- 05.02 Networks/Configuring UFW.md | 6 +- 06.02 Investments/Crypto Tasks.md | 3 +- 06.02 Investments/Equity Tasks.md | 3 +- 06.02 Investments/VC Tasks.md | 3 +- 77 files changed, 20442 insertions(+), 1556 deletions(-) delete mode 100644 .obsidian/plugins/obsidian-chat-view/main.js delete mode 100644 .obsidian/plugins/obsidian-chat-view/manifest.json delete mode 100644 .obsidian/plugins/obsidian-chat-view/styles.css create mode 100644 .obsidian/plugins/obsidian-dialogue-plugin/main.js create mode 100644 .obsidian/plugins/obsidian-dialogue-plugin/manifest.json create mode 100644 .obsidian/plugins/obsidian-dialogue-plugin/styles.css create mode 100644 .obsidian/themes/AnuPpuccin/manifest.json create mode 100644 .obsidian/themes/AnuPpuccin/theme.css create mode 100644 .obsidian/themes/Atom/manifest.json create mode 100644 .obsidian/themes/Atom/theme.css create mode 100644 .obsidian/themes/GitHub theme/manifest.json create mode 100644 .obsidian/themes/GitHub theme/theme.css create mode 100644 .obsidian/themes/Primary/manifest.json create mode 100644 .obsidian/themes/Primary/theme.css create mode 100644 00.01 Admin/Calendars/2022-10-27.md create mode 100644 00.01 Admin/Calendars/2022-10-28.md create mode 100644 00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md create mode 100644 00.01 Admin/Calendars/2022-10-29.md create mode 100644 00.01 Admin/Calendars/2022-10-30.md create mode 100644 00.03 News/Liz Truss’ empty ambition put her in power — and shattered her.md create mode 100644 00.03 News/Mississippi's Welfare Mess—And America's.md create mode 100644 00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md create mode 100644 00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md create mode 100644 00.03 News/The Night Warren Zevon Left the ‘Late Show’ Building.md create mode 100644 00.03 News/The Story Matthew Perry Can’t Believe He Lived to Tell.md create mode 100644 00.03 News/What ‘The Trump Tapes’ reveal about Bob Woodward.md create mode 100644 00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md create mode 100644 03.02 Travels/New York.md create mode 100644 03.04 Cinematheque/Hail Caesar! (2016).md diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json index d66fade3..eed9f106 100644 --- a/.obsidian/appearance.json +++ b/.obsidian/appearance.json @@ -14,5 +14,5 @@ "hyphenation_justification", "big_icon_link" ], - "accentColor": "" + "accentColor": "#3a87fe" } \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index a6f5c18e..34fd491f 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -50,7 +50,6 @@ "obsidian-media-db-plugin", "tasks-packrat-plugin", "obsidian-tts", - "obsidian-chat-view", "obsidian-style-settings", "obsidian-camera", "table-editor-obsidian", @@ -64,5 +63,6 @@ "obsidian-3d-graph", "obsidian-rich-links", "auto-card-link", - "simple-time-tracker" + "simple-time-tracker", + "obsidian-dialogue-plugin" ] \ No newline at end of file diff --git a/.obsidian/plugins/buttons/main.js b/.obsidian/plugins/buttons/main.js index 1e43c177..9fe11191 100644 --- a/.obsidian/plugins/buttons/main.js +++ b/.obsidian/plugins/buttons/main.js @@ -1451,9 +1451,12 @@ const templater = async (app, position) => { const createButton = ({ app, el, args, inline, id, clickOverride, }) => { //create the button element const button = el.createEl("button", { - cls: args.class - ? `${args.class} ${args.color}` - : `button-default ${args.color ? args.color : ""}`, + cls: [ + args.class + ? `${args.class} ${args.color}` + : `button-default ${args.color ? args.color : ""}`, + inline ? "button-inline" : "" + ] }); button.innerHTML = args.name; args.id ? button.setAttribute("id", args.id) : ""; @@ -4174,72 +4177,7 @@ class InlineButtonModal extends obsidian.Modal { } } -const checkVersion = () => { - const savedVersion = localStorage.getItem("buttonsVersion"); - const installedVersion = app.plugins.plugins.buttons.manifest.version; - if (parseInt(savedVersion) < parseInt(installedVersion) || - savedVersion === null) { - return true; - } - return false; -}; -const saveVersion = () => { - localStorage.setItem("buttonsVersion", app.plugins.plugins.buttons.manifest.version); -}; -const releaseNote = ` -There is a major update to Buttons coming that will bring much needed improvements. The plugin has been rewritten from scratch to make it easier to squash bugs and add new features. Some existing features will also be removed. This is a warning for all Buttons users to prepare for what may break your buttons. - -## Breaking Changes -- Calculate buttons are deprecated: use template buttons and Templater to do calculations -- Text buttons are deprecated: use template buttons to add text -- Core Templates plugin is no longer supported. Use Templater. -- Button Inheritance is no longer supported (this doesn't include inline buttons, which will now work in Live Preview). -- All Buttons now run Templater, no need to add templater true - -If you read that list and are like _"Hol Up! I need all those features"_. I will be forking the existing Buttons plugin which can be manually installed, but will no longer be supported. - -## Buttons 1.0 Features -The biggest change is a much more reliable and safe plugin that should be easier to bugfix and build new features for. There are a few nice improvements that will come with it: -- Templater processing is greatly improved. -- New note templates can be opened in tabs/windows/splits/not at all -- Button Maker command is rewritten with a cleaner UX -- Inline buttons work in Live Preview -- Button Block IDs are hidden unless the cursor is on the line -- Swap buttons will remember their state when leaving and returning to the notes they are in -- A new documentation site with easier to read docs -- A boatload of bugfixes - -## When can I get it? -It's coming soon! I want to release it as part of Obsidian October and am in the final 20% of work. That said, I will release when I'm confident I won't totally FUBAR your buttons. - -Yours in Buttons, - -shabegom -`; -const deleteIfExists = async () => { - const file = await app.vault.getAbstractFileByPath("/Buttons 1.0 is Coming.md"); - if (file) { - await app.vault.delete(file); - } -}; -const updateWarning = async () => { - const showReleaseNotes = checkVersion(); - if (showReleaseNotes) { - deleteIfExists(); - const releaseNotes = await app.vault.create("Buttons 1.0 is Coming.md", releaseNote); - app.workspace - .getLeaf(true) - .openFile(releaseNotes, { state: { mode: "preview" } }); - saveVersion(); - setTimeout(async () => { - const clearReleaseNotes = app.workspace.on("layout-change", async () => { - await app.vault.delete(releaseNotes); - app.workspace.offref(clearReleaseNotes); - }); - }, 1000); - } -}; - +// import { updateWarning } from "./version"; class ButtonsPlugin extends obsidian.Plugin { constructor() { super(...arguments); @@ -4278,7 +4216,7 @@ class ButtonsPlugin extends obsidian.Plugin { } async onload() { this.app.workspace.onLayoutReady(async () => { - await updateWarning(); + // await updateWarning(); }); this.buttonEvents = buttonEventListener(this.app, addButtonToStore); this.closedFile = openFileListener(this.app, this.storeEvents, initializeButtonStore); @@ -4365,4 +4303,4 @@ class InlineButton extends obsidian.MarkdownRenderChild { } module.exports = ButtonsPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsic3JjL2J1dHRvblN0b3JlLnRzIiwic3JjL3V0aWxzLnRzIiwic3JjL2V2ZW50cy50cyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9tYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yQDEuNC4wL25vZGVfbW9kdWxlcy9tYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yL3NyYy9tYXRoX2Z1bmN0aW9uLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3JAMS40LjAvbm9kZV9tb2R1bGVzL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3Ivc3JjL2xleGVyLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3JAMS40LjAvbm9kZV9tb2R1bGVzL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3Ivc3JjL3Bvc3RmaXguanMiLCJub2RlX21vZHVsZXMvLnBucG0vbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvckAxLjQuMC9ub2RlX21vZHVsZXMvbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvci9zcmMvcG9zdGZpeF9ldmFsdWF0b3IuanMiLCJub2RlX21vZHVsZXMvLnBucG0vbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvckAxLjQuMC9ub2RlX21vZHVsZXMvbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvci9zcmMvZm9ybXVsYV9ldmFsdWF0b3IuanMiLCJzcmMvaGFuZGxlcnMudHMiLCJzcmMvcGFyc2VyLnRzIiwic3JjL2J1dHRvblR5cGVzLnRzIiwic3JjL2J1dHRvbi50cyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9lbnVtcy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Tm9kZU5hbWUuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvdy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvYXBwbHlTdHlsZXMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9tYXRoLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3VzZXJBZ2VudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaXNMYXlvdXRWaWV3cG9ydC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9jb250YWlucy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Q29tcHV0ZWRTdHlsZS5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaXNUYWJsZUVsZW1lbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0UGFyZW50Tm9kZS5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy93aXRoaW4uanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0RnJlc2hTaWRlT2JqZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21lcmdlUGFkZGluZ09iamVjdC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9leHBhbmRUb0hhc2hNYXAuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2Fycm93LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldFZhcmlhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvY29tcHV0ZVN0eWxlcy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZXZlbnRMaXN0ZW5lcnMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0T3Bwb3NpdGVQbGFjZW1lbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvd1Njcm9sbC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0V2luZG93U2Nyb2xsQmFyWC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Vmlld3BvcnRSZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXREb2N1bWVudFJlY3QuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2lzU2Nyb2xsUGFyZW50LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRTY3JvbGxQYXJlbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2xpc3RTY3JvbGxQYXJlbnRzLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldENsaXBwaW5nUmVjdC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlT2Zmc2V0cy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9kZXRlY3RPdmVyZmxvdy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlQXV0b1BsYWNlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZmxpcC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvaGlkZS5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvb2Zmc2V0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldEFsdEF4aXMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL3ByZXZlbnRPdmVyZmxvdy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0SFRNTEVsZW1lbnRTY3JvbGwuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldE5vZGVTY3JvbGwuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldENvbXBvc2l0ZVJlY3QuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvb3JkZXJNb2RpZmllcnMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZGVib3VuY2UuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZm9ybWF0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3ZhbGlkYXRlTW9kaWZpZXJzLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3VuaXF1ZUJ5LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21lcmdlQnlOYW1lLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2NyZWF0ZVBvcHBlci5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9wb3BwZXIuanMiLCJzcmMvc3VnZ2VzdC50cyIsInNyYy9tb2RhbC50cyIsInNyYy92ZXJzaW9uLnRzIiwic3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcCwgVEZpbGUsIENhY2hlZE1ldGFkYXRhLCBFdmVudHMgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IEV4dGVuZGVkQmxvY2tDYWNoZSwgQXJndW1lbnRzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZUFyZ3VtZW50T2JqZWN0IH0gZnJvbSBcIi4vdXRpbHNcIjtcblxubGV0IGJ1dHRvblN0b3JlOiBFeHRlbmRlZEJsb2NrQ2FjaGVbXTtcblxuZXhwb3J0IGNvbnN0IGdldFN0b3JlID0gKGlzTW9iaWxlOiBib29sZWFuKTogRXh0ZW5kZWRCbG9ja0NhY2hlW10gPT5cbiAgaXNNb2JpbGUgPyBidXR0b25TdG9yZSA6IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXR0b25zXCIpKTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVCdXR0b25TdG9yZSA9IChhcHA6IEFwcCwgc3RvcmVFdmVudHM6IEV2ZW50cyk6IHZvaWQgPT4ge1xuICBjb25zdCBmaWxlcyA9IGFwcC52YXVsdC5nZXRNYXJrZG93bkZpbGVzKCk7XG4gIGNvbnN0IGJsb2Nrc0FyciA9IGZpbGVzXG4gICAgLm1hcCgoZmlsZSkgPT4ge1xuICAgICAgY29uc3QgY2FjaGUgPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSk7XG4gICAgICByZXR1cm4gYnVpbGRCdXR0b25BcnJheShjYWNoZSwgZmlsZSk7XG4gICAgfSlcbiAgICAuZmlsdGVyKChhcnIpID0+IGFyciAhPT0gdW5kZWZpbmVkKVxuICAgIC5mbGF0KCk7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiYnV0dG9uc1wiLCBKU09OLnN0cmluZ2lmeShibG9ja3NBcnIpKTtcbiAgYnV0dG9uU3RvcmUgPSBibG9ja3NBcnI7XG4gIHN0b3JlRXZlbnRzLnRyaWdnZXIoJ2luZGV4LWNvbXBsZXRlJylcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRCdXR0b25Ub1N0b3JlID0gKGFwcDogQXBwLCBmaWxlOiBURmlsZSk6IHZvaWQgPT4ge1xuICBjb25zdCBjYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmaWxlKTtcbiAgY29uc3QgYnV0dG9ucyA9IGJ1aWxkQnV0dG9uQXJyYXkoY2FjaGUsIGZpbGUpO1xuICBjb25zdCBzdG9yZSA9IGdldFN0b3JlKGFwcC5pc01vYmlsZSk7XG4gIGNvbnN0IG5ld1N0b3JlID1cbiAgICBidXR0b25zICYmIHN0b3JlXG4gICAgICA/IHJlbW92ZUR1cGxpY2F0ZXMoWy4uLmJ1dHRvbnMsIC4uLnN0b3JlXSlcbiAgICAgIDogc3RvcmVcbiAgICAgID8gcmVtb3ZlRHVwbGljYXRlcyhzdG9yZSlcbiAgICAgIDogYnV0dG9uc1xuICAgICAgPyByZW1vdmVEdXBsaWNhdGVzKGJ1dHRvbnMpXG4gICAgICA6IFtdO1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImJ1dHRvbnNcIiwgSlNPTi5zdHJpbmdpZnkobmV3U3RvcmUpKTtcbiAgYnV0dG9uU3RvcmUgPSBuZXdTdG9yZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRCdXR0b25Gcm9tU3RvcmUgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBhcmdzOiBBcmd1bWVudHNcbik6IFByb21pc2U8eyBhcmdzOiBBcmd1bWVudHM7IGlkOiBzdHJpbmcgfT4gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBzdG9yZSA9IGdldFN0b3JlKGFwcC5pc01vYmlsZSk7XG4gIGFyZ3MuaWQ7XG4gIGlmIChhcmdzLmlkKSB7XG4gICAgY29uc3Qgc3RvcmVkQnV0dG9uID1cbiAgICAgIHN0b3JlICYmXG4gICAgICBzdG9yZS5maWx0ZXIoXG4gICAgICAgIChpdGVtOiBFeHRlbmRlZEJsb2NrQ2FjaGUpID0+IGBidXR0b24tJHthcmdzLmlkfWAgPT09IGl0ZW0uaWRcbiAgICAgIClbMF07XG4gICAgaWYgKHN0b3JlZEJ1dHRvbikge1xuICAgICAgY29uc3QgZmlsZSA9IGFwcC52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGgoc3RvcmVkQnV0dG9uLnBhdGgpO1xuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5jYWNoZWRSZWFkKGZpbGUgYXMgVEZpbGUpO1xuICAgICAgY29uc3QgY29udGVudEFycmF5ID0gY29udGVudC5zcGxpdChcIlxcblwiKTtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IGNvbnRlbnRBcnJheVxuICAgICAgICAuc2xpY2UoXG4gICAgICAgICAgc3RvcmVkQnV0dG9uLnBvc2l0aW9uLnN0YXJ0LmxpbmUgKyAxLFxuICAgICAgICAgIHN0b3JlZEJ1dHRvbi5wb3NpdGlvbi5lbmQubGluZVxuICAgICAgICApXG4gICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgICAgY29uc3Qgc3RvcmVkQXJncyA9IGNyZWF0ZUFyZ3VtZW50T2JqZWN0KGJ1dHRvbik7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzOiB7IC4uLnN0b3JlZEFyZ3MsIC4uLmFyZ3MgfSxcbiAgICAgICAgaWQ6IHN0b3JlZEJ1dHRvbi5pZC5zcGxpdChcImJ1dHRvbi1cIilbMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldEJ1dHRvbkJ5SWQgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBpZDogc3RyaW5nXG4pOiBQcm9taXNlPEFyZ3VtZW50cz4gPT4ge1xuICBjb25zdCBzdG9yZSA9IGdldFN0b3JlKGFwcC5pc01vYmlsZSk7XG4gIGNvbnN0IHN0b3JlZEJ1dHRvbiA9IHN0b3JlLmZpbHRlcihcbiAgICAoaXRlbTogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiBgYnV0dG9uLSR7aWR9YCA9PT0gaXRlbS5pZFxuICApWzBdO1xuICBpZiAoc3RvcmVkQnV0dG9uKSB7XG4gICAgY29uc3QgZmlsZSA9IGFwcC52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGgoc3RvcmVkQnV0dG9uLnBhdGgpO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQuY2FjaGVkUmVhZChmaWxlIGFzIFRGaWxlKTtcbiAgICBjb25zdCBjb250ZW50QXJyYXkgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpO1xuICAgIGNvbnN0IGJ1dHRvbiA9IGNvbnRlbnRBcnJheVxuICAgICAgLnNsaWNlKFxuICAgICAgICBzdG9yZWRCdXR0b24ucG9zaXRpb24uc3RhcnQubGluZSArIDEsXG4gICAgICAgIHN0b3JlZEJ1dHRvbi5wb3NpdGlvbi5lbmQubGluZVxuICAgICAgKVxuICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgcmV0dXJuIGNyZWF0ZUFyZ3VtZW50T2JqZWN0KGJ1dHRvbik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRCdXR0b25Td2FwQnlJZCA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIGlkOiBzdHJpbmdcbik6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHN0b3JlID0gZ2V0U3RvcmUoYXBwLmlzTW9iaWxlKTtcbiAgY29uc3Qgc3RvcmVkQnV0dG9uID0gc3RvcmUuZmlsdGVyKFxuICAgIChpdGVtOiBFeHRlbmRlZEJsb2NrQ2FjaGUpID0+IGBidXR0b24tJHtpZH1gID09PSBpdGVtLmlkXG4gIClbMF07XG4gIGlmIChzdG9yZWRCdXR0b24pIHtcbiAgICByZXR1cm4gc3RvcmVkQnV0dG9uLnN3YXA7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzZXRCdXR0b25Td2FwQnlJZCA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIGlkOiBzdHJpbmcsXG4gIG5ld1N3YXA6IG51bWJlclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHN0b3JlID0gZ2V0U3RvcmUoYXBwLmlzTW9iaWxlKTtcbiAgY29uc3Qgc3RvcmVkQnV0dG9uID0gc3RvcmUuZmlsdGVyKFxuICAgIChpdGVtOiBFeHRlbmRlZEJsb2NrQ2FjaGUpID0+IGBidXR0b24tJHtpZH1gID09PSBpdGVtLmlkXG4gIClbMF07XG4gIGlmIChzdG9yZWRCdXR0b24pIHtcbiAgICBzdG9yZWRCdXR0b24uc3dhcCA9IG5ld1N3YXA7XG4gICAgY29uc3QgbmV3U3RvcmUgPSByZW1vdmVEdXBsaWNhdGVzKFsuLi5zdG9yZSwgc3RvcmVkQnV0dG9uXSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJidXR0b25zXCIsIEpTT04uc3RyaW5naWZ5KG5ld1N0b3JlKSk7XG4gICAgYnV0dG9uU3RvcmUgPSBuZXdTdG9yZTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkQnV0dG9uQXJyYXkgPSAoXG4gIGNhY2hlOiBDYWNoZWRNZXRhZGF0YSxcbiAgZmlsZTogVEZpbGVcbik6IEV4dGVuZGVkQmxvY2tDYWNoZVtdID0+IHtcbiAgY29uc3QgYmxvY2tzID0gY2FjaGUgJiYgY2FjaGUuYmxvY2tzO1xuICBpZiAoYmxvY2tzKSB7XG4gICAgY29uc3QgYmxvY2tLZXlzID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhibG9ja3MpKTtcbiAgICBjb25zdCBibG9ja0FycmF5OiBFeHRlbmRlZEJsb2NrQ2FjaGVbXSA9IGJsb2NrS2V5c1xuICAgICAgLm1hcCgoa2V5KSA9PiBibG9ja3Nba2V5XSlcbiAgICAgIC5tYXAoKG9iajogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiB7XG4gICAgICAgIG9ialtcInBhdGhcIl0gPSBmaWxlLnBhdGg7XG4gICAgICAgIG9ialtcInN3YXBcIl0gPSAwO1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGJsb2NrKSA9PiBibG9jay5pZC5pbmNsdWRlcyhcImJ1dHRvblwiKSk7XG4gICAgcmV0dXJuIGJsb2NrQXJyYXk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIHJlbW92ZUR1cGxpY2F0ZXMoYXJyOiBFeHRlbmRlZEJsb2NrQ2FjaGVbXSkge1xuICByZXR1cm4gYXJyICYmIGFyclswXVxuICAgID8gYXJyLmZpbHRlcihcbiAgICAgICAgKHYsIGksIGEpID0+XG4gICAgICAgICAgYS5maW5kSW5kZXgoXG4gICAgICAgICAgICAodCkgPT5cbiAgICAgICAgICAgICAgdC5pZCA9PT0gdi5pZCB8fFxuICAgICAgICAgICAgICAodC5wYXRoID09PSB2LnBhdGggJiZcbiAgICAgICAgICAgICAgICB0LnBvc2l0aW9uLnN0YXJ0LmxpbmUgPT09IHYucG9zaXRpb24uc3RhcnQubGluZSAmJlxuICAgICAgICAgICAgICAgIHQucG9zaXRpb24uZW5kLmxpbmUgPT09IHYucG9zaXRpb24uZW5kLmxpbmUpXG4gICAgICAgICAgKSA9PT0gaVxuICAgICAgKVxuICAgIDogYXJyO1xufVxuIiwiaW1wb3J0IHsgTWFya2Rvd25WaWV3LCBBcHAsIE5vdGljZSwgVEZpbGUgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IEFyZ3VtZW50cywgUG9zaXRpb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgYWRkQnV0dG9uVG9TdG9yZSB9IGZyb20gXCIuL2J1dHRvblN0b3JlXCI7XG5cbmZ1bmN0aW9uIG5hbm9pZChudW06IG51bWJlcikge1xuICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgY29uc3QgY2hhcmFjdGVycyA9IFwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5XCI7XG4gIGNvbnN0IGNoYXJhY3RlcnNMZW5ndGggPSBjaGFyYWN0ZXJzLmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW07IGkrKykge1xuICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzTGVuZ3RoKSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuaW50ZXJmYWNlIE91dHB1dE9iamVjdCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBhY3Rpb246IHN0cmluZztcbiAgc3dhcDogc3RyaW5nO1xuICByZW1vdmU6IHN0cmluZztcbiAgcmVwbGFjZTogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICB0ZW1wbGF0ZXI6IGJvb2xlYW47XG4gIGNsYXNzOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGJsb2NrSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEJ1dHRvbiA9IChhcHA6IEFwcCwgb3V0cHV0T2JqZWN0OiBPdXRwdXRPYmplY3QpOiB2b2lkID0+IHtcbiAgY29uc3QgYnV0dG9uQXJyID0gW107XG4gIGJ1dHRvbkFyci5wdXNoKFwiYGBgYnV0dG9uXCIpO1xuICBvdXRwdXRPYmplY3QubmFtZSAmJiBidXR0b25BcnIucHVzaChgbmFtZSAke291dHB1dE9iamVjdC5uYW1lfWApO1xuICBvdXRwdXRPYmplY3QudHlwZSAmJiBidXR0b25BcnIucHVzaChgdHlwZSAke291dHB1dE9iamVjdC50eXBlfWApO1xuICBvdXRwdXRPYmplY3QuYWN0aW9uICYmIGJ1dHRvbkFyci5wdXNoKGBhY3Rpb24gJHtvdXRwdXRPYmplY3QuYWN0aW9ufWApO1xuICBvdXRwdXRPYmplY3QuaWQgJiYgYnV0dG9uQXJyLnB1c2goYGlkICR7b3V0cHV0T2JqZWN0LmlkfWApO1xuICBvdXRwdXRPYmplY3Quc3dhcCAmJiBidXR0b25BcnIucHVzaChgc3dhcCAke291dHB1dE9iamVjdC5zd2FwfWApO1xuICBvdXRwdXRPYmplY3QucmVtb3ZlICYmIGJ1dHRvbkFyci5wdXNoKGByZW1vdmUgJHtvdXRwdXRPYmplY3QucmVtb3ZlfWApO1xuICBvdXRwdXRPYmplY3QucmVwbGFjZSAmJiBidXR0b25BcnIucHVzaChgcmVwbGFjZSAke291dHB1dE9iamVjdC5yZXBsYWNlfWApO1xuICBvdXRwdXRPYmplY3QudGVtcGxhdGVyID09PSB0cnVlICYmXG4gICAgYnV0dG9uQXJyLnB1c2goYHRlbXBsYXRlciAke291dHB1dE9iamVjdC50ZW1wbGF0ZXJ9YCk7XG4gIG91dHB1dE9iamVjdC5jb2xvciAmJiBidXR0b25BcnIucHVzaChgY29sb3IgJHtvdXRwdXRPYmplY3QuY29sb3J9YCk7XG4gIG91dHB1dE9iamVjdC5jbGFzcyAmJiBidXR0b25BcnIucHVzaChgY2xhc3MgJHtvdXRwdXRPYmplY3QuY2xhc3N9YCk7XG4gIGJ1dHRvbkFyci5wdXNoKFwiYGBgXCIpO1xuICBvdXRwdXRPYmplY3QuYmxvY2tJZFxuICAgID8gYnV0dG9uQXJyLnB1c2goYF5idXR0b24tJHtvdXRwdXRPYmplY3QuYmxvY2tJZH1gKVxuICAgIDogYnV0dG9uQXJyLnB1c2goYF5idXR0b24tJHtuYW5vaWQoNCl9YCk7XG4gIGNvbnN0IHBhZ2UgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgY29uc3QgZWRpdG9yID0gcGFnZS5lZGl0b3I7XG4gIGVkaXRvci5yZXBsYWNlU2VsZWN0aW9uKGJ1dHRvbkFyci5qb2luKFwiXFxuXCIpKTtcbiAgYWRkQnV0dG9uVG9TdG9yZShhcHAsIHBhZ2UuZmlsZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0SW5saW5lQnV0dG9uID0gKGFwcDogQXBwLCBpZDogc3RyaW5nKTogdm9pZCA9PiB7XG4gIGNvbnN0IHBhZ2UgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgY29uc3QgZWRpdG9yID0gcGFnZS5lZGl0b3I7XG4gIGVkaXRvci5yZXBsYWNlU2VsZWN0aW9uKGBcXGBidXR0b24tJHtpZH1cXGBgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBcmd1bWVudE9iamVjdCA9IChzb3VyY2U6IHN0cmluZyk6IEFyZ3VtZW50cyA9PlxuICBzb3VyY2Uuc3BsaXQoXCJcXG5cIikucmVkdWNlKChhY2M6IEFyZ3VtZW50cywgaTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgc3BsaXQ6IHN0cmluZ1tdID0gaS5zcGxpdChcIiBcIik7XG4gICAgY29uc3Qga2V5OiBzdHJpbmcgPSBzcGxpdFswXS50b0xvd2VyQ2FzZSgpO1xuICAgIGFjY1trZXldID0gc3BsaXQuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBzcGxpdFswXSkuam9pbihcIiBcIikudHJpbSgpO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvbnRlbnRBcnJheSA9IGFzeW5jIChcbiAgYXBwOiBBcHBcbik6IFByb21pc2U8eyBjb250ZW50QXJyYXk6IHN0cmluZ1tdOyBmaWxlOiBURmlsZSB9PiA9PiB7XG4gIGNvbnN0IGFjdGl2ZVZpZXcgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgaWYgKGFjdGl2ZVZpZXcpIHtcbiAgICBjb25zdCBmaWxlID0gYWN0aXZlVmlldy5maWxlO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChmaWxlKTtcbiAgICByZXR1cm4geyBjb250ZW50QXJyYXk6IGNvbnRlbnQuc3BsaXQoXCJcXG5cIiksIGZpbGUgfTtcbiAgfVxuICBuZXcgTm90aWNlKFwiQ291bGQgbm90IGdldCBBY3RpdmUgVmlld1wiLCAxMDAwKTtcbiAgY29uc29sZS5lcnJvcihcImNvdWxkIG5vdCBnZXQgYWN0aXZlIHZpZXdcIik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlVmFsdWVBcnJheSA9IChcbiAgdmFsdWU6IHN0cmluZyxcbiAgY2FsbGJhY2s6IChhcmdBcnJheTogc3RyaW5nW10pID0+IHZvaWRcbik6IHZvaWQgPT4ge1xuICBpZiAodmFsdWUuaW5jbHVkZXMoXCJbXCIpICYmIHZhbHVlLmluY2x1ZGVzKFwiXVwiKSkge1xuICAgIGNvbnN0IGFyZ3MgPSB2YWx1ZS5tYXRjaCgvXFxbKC4qKVxcXS8pO1xuICAgIGlmIChhcmdzWzFdKSB7XG4gICAgICBjb25zdCBhcmdBcnJheSA9IGFyZ3NbMV0uc3BsaXQoLyxcXHM/Lyk7XG4gICAgICBpZiAoYXJnQXJyYXlbMF0pIHtcbiAgICAgICAgY2FsbGJhY2soYXJnQXJyYXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ld0FyZ3MoXG4gIGFwcDogQXBwLFxuICBwb3NpdGlvbjogUG9zaXRpb25cbik6IFByb21pc2U8eyBhcmdzOiBBcmd1bWVudHM7IGNvbnRlbnQ6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZlVmlldyA9IGFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlVmlld09mVHlwZShNYXJrZG93blZpZXcpO1xuICAgICAgY29uc3QgbmV3Q29udGVudCA9IGF3YWl0IGFwcC52YXVsdFxuICAgICAgICAuY2FjaGVkUmVhZChhY3RpdmVWaWV3LmZpbGUpXG4gICAgICAgIC50aGVuKChjb250ZW50OiBzdHJpbmcpID0+IGNvbnRlbnQuc3BsaXQoXCJcXG5cIikpO1xuICAgICAgY29uc3QgbmV3QnV0dG9uID0gbmV3Q29udGVudFxuICAgICAgICAuc3BsaWNlKHBvc2l0aW9uLmxpbmVTdGFydCwgcG9zaXRpb24ubGluZUVuZCAtIHBvc2l0aW9uLmxpbmVTdGFydClcbiAgICAgICAgLmpvaW4oXCJcXG5cIilcbiAgICAgICAgLnJlcGxhY2UoXCJgYGBidXR0b25cIiwgXCJcIilcbiAgICAgICAgLnJlcGxhY2UoXCJgYGBcIiwgXCJcIik7XG4gICAgICByZXNvbHZlKHsgYXJnczogY3JlYXRlQXJndW1lbnRPYmplY3QobmV3QnV0dG9uKSB9KTtcbiAgICB9LCAxNTApO1xuICB9KTtcbiAgcmV0dXJuIHByb21pc2UgYXMgUHJvbWlzZTx7IGFyZ3M6IEFyZ3VtZW50czsgY29udGVudDogc3RyaW5nIH0+O1xufVxuXG5leHBvcnQgY29uc3Qgd3JhcEFyb3VuZCA9ICh2YWx1ZTogbnVtYmVyLCBzaXplOiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICByZXR1cm4gKCh2YWx1ZSAlIHNpemUpICsgc2l6ZSkgJSBzaXplO1xufTtcbiIsImltcG9ydCB7IEFwcCwgRXZlbnRSZWYsIFRGaWxlLCBFdmVudHMgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkV2ZW50TGlzdGVuZXIgPSAoXG4gIGFwcDogQXBwLFxuICBjYWxsYmFjazogKGFwcDogQXBwLCBmaWxlOiBURmlsZSkgPT4gdm9pZFxuKTogRXZlbnRSZWYgPT4ge1xuICByZXR1cm4gYXBwLm1ldGFkYXRhQ2FjaGUub24oXCJjaGFuZ2VkXCIsIChmaWxlOiBURmlsZSkgPT4ge1xuICAgIGNhbGxiYWNrKGFwcCwgZmlsZSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVMaXN0ZW5lciA9IChcbiAgYXBwOiBBcHAsXG4gIGNhbGxiYWNrOiAoYXBwOiBBcHApID0+IHZvaWRcbik6IEV2ZW50UmVmID0+IHtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLm9uKFwicmVzb2x2ZWRcIiwgKCkgPT4ge1xuICAgIGNhbGxiYWNrKGFwcCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG9wZW5GaWxlTGlzdGVuZXIgPSAoXG4gIGFwcDogQXBwLFxuICBzdG9yZUV2ZW50czogRXZlbnRzLFxuICBjYWxsYmFjazogKGFwcDogQXBwLCBzdG9yZUV2ZW50czogRXZlbnRzKSA9PiB2b2lkXG4pOiBFdmVudFJlZiA9PiB7XG4gIHJldHVybiBhcHAud29ya3NwYWNlLm9uKFwiZmlsZS1vcGVuXCIsICgpID0+IHtcbiAgICBjYWxsYmFjayhhcHAsIHN0b3JlRXZlbnRzKTtcbiAgfSk7XG59O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XHJcbnZhciBNZXhwID0gZnVuY3Rpb24gKHBhcnNlZCkge1xyXG4gIHRoaXMudmFsdWUgPSBwYXJzZWRcclxufVxyXG5cclxuTWV4cC5tYXRoID0ge1xyXG4gIGlzRGVncmVlOiB0cnVlLCAvLyBtb2RlIG9mIGNhbGN1bGF0b3JcclxuICBhY29zOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIChNZXhwLm1hdGguaXNEZWdyZWUgPyAxODAgLyBNYXRoLlBJICogTWF0aC5hY29zKHgpIDogTWF0aC5hY29zKHgpKVxyXG4gIH0sXHJcbiAgYWRkOiBmdW5jdGlvbiAoYSwgYikge1xyXG4gICAgcmV0dXJuIGEgKyBiXHJcbiAgfSxcclxuICBhc2luOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIChNZXhwLm1hdGguaXNEZWdyZWUgPyAxODAgLyBNYXRoLlBJICogTWF0aC5hc2luKHgpIDogTWF0aC5hc2luKHgpKVxyXG4gIH0sXHJcbiAgYXRhbjogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiAoTWV4cC5tYXRoLmlzRGVncmVlID8gMTgwIC8gTWF0aC5QSSAqIE1hdGguYXRhbih4KSA6IE1hdGguYXRhbih4KSlcclxuICB9LFxyXG4gIGFjb3NoOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIE1hdGgubG9nKHggKyBNYXRoLnNxcnQoeCAqIHggLSAxKSlcclxuICB9LFxyXG4gIGFzaW5oOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIE1hdGgubG9nKHggKyBNYXRoLnNxcnQoeCAqIHggKyAxKSlcclxuICB9LFxyXG4gIGF0YW5oOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIE1hdGgubG9nKCgxICsgeCkgLyAoMSAtIHgpKVxyXG4gIH0sXHJcbiAgQzogZnVuY3Rpb24gKG4sIHIpIHtcclxuICAgIHZhciBwcm8gPSAxXHJcbiAgICB2YXIgb3RoZXIgPSBuIC0gclxyXG4gICAgdmFyIGNob2ljZSA9IHJcclxuICAgIGlmIChjaG9pY2UgPCBvdGhlcikge1xyXG4gICAgICBjaG9pY2UgPSBvdGhlclxyXG4gICAgICBvdGhlciA9IHJcclxuICAgIH1cclxuICAgIGZvciAodmFyIGkgPSBjaG9pY2UgKyAxOyBpIDw9IG47IGkrKykge1xyXG4gICAgICBwcm8gKj0gaVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBybyAvIE1leHAubWF0aC5mYWN0KG90aGVyKVxyXG4gIH0sXHJcbiAgY2hhbmdlU2lnbjogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiAteFxyXG4gIH0sXHJcbiAgY29zOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgaWYgKE1leHAubWF0aC5pc0RlZ3JlZSkgeCA9IE1leHAubWF0aC50b1JhZGlhbih4KVxyXG4gICAgcmV0dXJuIE1hdGguY29zKHgpXHJcbiAgfSxcclxuICBjb3NoOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIChNYXRoLnBvdyhNYXRoLkUsIHgpICsgTWF0aC5wb3coTWF0aC5FLCAtMSAqIHgpKSAvIDJcclxuICB9LFxyXG4gIGRpdjogZnVuY3Rpb24gKGEsIGIpIHtcclxuICAgIHJldHVybiBhIC8gYlxyXG4gIH0sXHJcbiAgZmFjdDogZnVuY3Rpb24gKG4pIHtcclxuICAgIGlmIChuICUgMSAhPT0gMCkgcmV0dXJuICdOYU4nXHJcbiAgICB2YXIgcHJvID0gMVxyXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPD0gbjsgaSsrKSB7XHJcbiAgICAgIHBybyAqPSBpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJvXHJcbiAgfSxcclxuICBpbnZlcnNlOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIDEgLyB4XHJcbiAgfSxcclxuICBsb2c6IGZ1bmN0aW9uIChpKSB7XHJcbiAgICByZXR1cm4gTWF0aC5sb2coaSkgLyBNYXRoLmxvZygxMClcclxuICB9LFxyXG4gIG1vZDogZnVuY3Rpb24gKGEsIGIpIHtcclxuICAgIHJldHVybiBhICUgYlxyXG4gIH0sXHJcbiAgbXVsOiBmdW5jdGlvbiAoYSwgYikge1xyXG4gICAgcmV0dXJuIGEgKiBiXHJcbiAgfSxcclxuICBQOiBmdW5jdGlvbiAobiwgcikge1xyXG4gICAgdmFyIHBybyA9IDFcclxuICAgIGZvciAodmFyIGkgPSBNYXRoLmZsb29yKG4pIC0gTWF0aC5mbG9vcihyKSArIDE7IGkgPD0gTWF0aC5mbG9vcihuKTsgaSsrKSB7XHJcbiAgICAgIHBybyAqPSBpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJvXHJcbiAgfSxcclxuICBQaTogZnVuY3Rpb24gKGxvdywgaGlnaCwgZXgpIHtcclxuICAgIHZhciBwcm8gPSAxXHJcbiAgICBmb3IgKHZhciBpID0gbG93OyBpIDw9IGhpZ2g7IGkrKykge1xyXG4gICAgICBwcm8gKj0gTnVtYmVyKGV4LnBvc3RmaXhFdmFsKHtcclxuICAgICAgICBuOiBpXHJcbiAgICAgIH0pKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByb1xyXG4gIH0sXHJcbiAgcG93MTB4OiBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHggPSAxXHJcbiAgICB3aGlsZSAoZS0tKSB7XHJcbiAgICAgIHggKj0gMTBcclxuICAgIH1cclxuICAgIHJldHVybiB4XHJcbiAgfSxcclxuICBzaWdtYTogZnVuY3Rpb24gKGxvdywgaGlnaCwgZXgpIHtcclxuICAgIHZhciBzdW0gPSAwXHJcbiAgICBmb3IgKHZhciBpID0gbG93OyBpIDw9IGhpZ2g7IGkrKykge1xyXG4gICAgICBzdW0gKz0gTnVtYmVyKGV4LnBvc3RmaXhFdmFsKHtcclxuICAgICAgICBuOiBpXHJcbiAgICAgIH0pKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1bVxyXG4gIH0sXHJcbiAgc2luOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgaWYgKE1leHAubWF0aC5pc0RlZ3JlZSkgeCA9IE1leHAubWF0aC50b1JhZGlhbih4KVxyXG4gICAgcmV0dXJuIE1hdGguc2luKHgpXHJcbiAgfSxcclxuICBzaW5oOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIChNYXRoLnBvdyhNYXRoLkUsIHgpIC0gTWF0aC5wb3coTWF0aC5FLCAtMSAqIHgpKSAvIDJcclxuICB9LFxyXG4gIHN1YjogZnVuY3Rpb24gKGEsIGIpIHtcclxuICAgIHJldHVybiBhIC0gYlxyXG4gIH0sXHJcbiAgdGFuOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgaWYgKE1leHAubWF0aC5pc0RlZ3JlZSkgeCA9IE1leHAubWF0aC50b1JhZGlhbih4KVxyXG4gICAgcmV0dXJuIE1hdGgudGFuKHgpXHJcbiAgfSxcclxuICB0YW5oOiBmdW5jdGlvbiAoeCkge1xyXG4gICAgcmV0dXJuIE1leHAuc2luaGEoeCkgLyBNZXhwLmNvc2hhKHgpXHJcbiAgfSxcclxuICB0b1JhZGlhbjogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiB4ICogTWF0aC5QSSAvIDE4MFxyXG4gIH0sXHJcbiAgYW5kOiBmdW5jdGlvbiAoYSwgYikge1xyXG4gICAgcmV0dXJuIGEgJiBiXHJcbiAgfVxyXG59XHJcbk1leHAuRXhjZXB0aW9uID0gZnVuY3Rpb24gKG1lc3NhZ2UpIHtcclxuICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlXHJcbn1cclxubW9kdWxlLmV4cG9ydHMgPSBNZXhwXHJcbiIsIid1c2Ugc3RyaWN0J1xyXG52YXIgTWV4cCA9IHJlcXVpcmUoJy4vbWF0aF9mdW5jdGlvbi5qcycpXHJcbmZ1bmN0aW9uIGluYyhhcnIsIHZhbCkge1xyXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRhcnJbaV0gKz0gdmFsXHJcblx0fVxyXG5cdHJldHVybiBhcnJcclxufVxyXG52YXIgdG9rZW5zID0gW1xyXG5cdHsgdG9rZW46ICdzaW4nLCBzaG93OiAnc2luJywgdHlwZTogMCwgdmFsdWU6IE1leHAubWF0aC5zaW4gfSxcclxuXHR7IHRva2VuOiAnY29zJywgc2hvdzogJ2NvcycsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguY29zIH0sXHJcblx0eyB0b2tlbjogJ3RhbicsIHNob3c6ICd0YW4nLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLnRhbiB9LFxyXG5cdHsgdG9rZW46ICdwaScsIHNob3c6ICcmcGk7JywgdHlwZTogMywgdmFsdWU6ICdQSScgfSxcclxuXHR7IHRva2VuOiAnKCcsIHNob3c6ICcoJywgdHlwZTogNCwgdmFsdWU6ICcoJyB9LFxyXG5cdHsgdG9rZW46ICcpJywgc2hvdzogJyknLCB0eXBlOiA1LCB2YWx1ZTogJyknIH0sXHJcblx0eyB0b2tlbjogJ1AnLCBzaG93OiAnUCcsIHR5cGU6IDEwLCB2YWx1ZTogTWV4cC5tYXRoLlAgfSxcclxuXHR7IHRva2VuOiAnQycsIHNob3c6ICdDJywgdHlwZTogMTAsIHZhbHVlOiBNZXhwLm1hdGguQyB9LFxyXG5cdHsgdG9rZW46ICcgJywgc2hvdzogJyAnLCB0eXBlOiAxNCwgdmFsdWU6ICcgJy5hbmNob3IgfSxcclxuXHR7IHRva2VuOiAnYXNpbicsIHNob3c6ICdhc2luJywgdHlwZTogMCwgdmFsdWU6IE1leHAubWF0aC5hc2luIH0sXHJcblx0eyB0b2tlbjogJ2Fjb3MnLCBzaG93OiAnYWNvcycsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguYWNvcyB9LFxyXG5cdHsgdG9rZW46ICdhdGFuJywgc2hvdzogJ2F0YW4nLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLmF0YW4gfSxcclxuXHR7IHRva2VuOiAnNycsIHNob3c6ICc3JywgdHlwZTogMSwgdmFsdWU6ICc3JyB9LFxyXG5cdHsgdG9rZW46ICc4Jywgc2hvdzogJzgnLCB0eXBlOiAxLCB2YWx1ZTogJzgnIH0sXHJcblx0eyB0b2tlbjogJzknLCBzaG93OiAnOScsIHR5cGU6IDEsIHZhbHVlOiAnOScgfSxcclxuXHR7IHRva2VuOiAnaW50Jywgc2hvdzogJ0ludCcsIHR5cGU6IDAsIHZhbHVlOiBNYXRoLmZsb29yIH0sXHJcblx0eyB0b2tlbjogJ2Nvc2gnLCBzaG93OiAnY29zaCcsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguY29zaCB9LFxyXG5cdHsgdG9rZW46ICdhY29zaCcsIHNob3c6ICdhY29zaCcsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguYWNvc2ggfSxcclxuXHR7IHRva2VuOiAnbG4nLCBzaG93OiAnIGxuJywgdHlwZTogMCwgdmFsdWU6IE1hdGgubG9nIH0sXHJcblx0eyB0b2tlbjogJ14nLCBzaG93OiAnXicsIHR5cGU6IDEwLCB2YWx1ZTogTWF0aC5wb3cgfSxcclxuXHR7IHRva2VuOiAncm9vdCcsIHNob3c6ICdyb290JywgdHlwZTogMCwgdmFsdWU6IE1hdGguc3FydCB9LFxyXG5cdHsgdG9rZW46ICc0Jywgc2hvdzogJzQnLCB0eXBlOiAxLCB2YWx1ZTogJzQnIH0sXHJcblx0eyB0b2tlbjogJzUnLCBzaG93OiAnNScsIHR5cGU6IDEsIHZhbHVlOiAnNScgfSxcclxuXHR7IHRva2VuOiAnNicsIHNob3c6ICc2JywgdHlwZTogMSwgdmFsdWU6ICc2JyB9LFxyXG5cdHsgdG9rZW46ICcvJywgc2hvdzogJyZkaXZpZGU7JywgdHlwZTogMiwgdmFsdWU6IE1leHAubWF0aC5kaXYgfSxcclxuXHR7IHRva2VuOiAnIScsIHNob3c6ICchJywgdHlwZTogNywgdmFsdWU6IE1leHAubWF0aC5mYWN0IH0sXHJcblx0eyB0b2tlbjogJ3RhbmgnLCBzaG93OiAndGFuaCcsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGgudGFuaCB9LFxyXG5cdHsgdG9rZW46ICdhdGFuaCcsIHNob3c6ICdhdGFuaCcsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguYXRhbmggfSxcclxuXHR7IHRva2VuOiAnTW9kJywgc2hvdzogJyBNb2QgJywgdHlwZTogMiwgdmFsdWU6IE1leHAubWF0aC5tb2QgfSxcclxuXHR7IHRva2VuOiAnMScsIHNob3c6ICcxJywgdHlwZTogMSwgdmFsdWU6ICcxJyB9LFxyXG5cdHsgdG9rZW46ICcyJywgc2hvdzogJzInLCB0eXBlOiAxLCB2YWx1ZTogJzInIH0sXHJcblx0eyB0b2tlbjogJzMnLCBzaG93OiAnMycsIHR5cGU6IDEsIHZhbHVlOiAnMycgfSxcclxuXHR7IHRva2VuOiAnKicsIHNob3c6ICcmdGltZXM7JywgdHlwZTogMiwgdmFsdWU6IE1leHAubWF0aC5tdWwgfSxcclxuXHR7IHRva2VuOiAnc2luaCcsIHNob3c6ICdzaW5oJywgdHlwZTogMCwgdmFsdWU6IE1leHAubWF0aC5zaW5oIH0sXHJcblx0eyB0b2tlbjogJ2FzaW5oJywgc2hvdzogJ2FzaW5oJywgdHlwZTogMCwgdmFsdWU6IE1leHAubWF0aC5hc2luaCB9LFxyXG5cdHsgdG9rZW46ICdlJywgc2hvdzogJ2UnLCB0eXBlOiAzLCB2YWx1ZTogJ0UnIH0sXHJcblx0eyB0b2tlbjogJ2xvZycsIHNob3c6ICcgbG9nJywgdHlwZTogMCwgdmFsdWU6IE1leHAubWF0aC5sb2cgfSxcclxuXHR7IHRva2VuOiAnMCcsIHNob3c6ICcwJywgdHlwZTogMSwgdmFsdWU6ICcwJyB9LFxyXG5cdHsgdG9rZW46ICcuJywgc2hvdzogJy4nLCB0eXBlOiA2LCB2YWx1ZTogJy4nIH0sXHJcblx0eyB0b2tlbjogJysnLCBzaG93OiAnKycsIHR5cGU6IDksIHZhbHVlOiBNZXhwLm1hdGguYWRkIH0sXHJcblx0eyB0b2tlbjogJy0nLCBzaG93OiAnLScsIHR5cGU6IDksIHZhbHVlOiBNZXhwLm1hdGguc3ViIH0sXHJcblx0eyB0b2tlbjogJywnLCBzaG93OiAnLCcsIHR5cGU6IDExLCB2YWx1ZTogJywnIH0sXHJcblx0eyB0b2tlbjogJ1NpZ21hJywgc2hvdzogJyZTaWdtYTsnLCB0eXBlOiAxMiwgdmFsdWU6IE1leHAubWF0aC5zaWdtYSB9LFxyXG5cdHsgdG9rZW46ICduJywgc2hvdzogJ24nLCB0eXBlOiAxMywgdmFsdWU6ICduJyB9LFxyXG5cdHsgdG9rZW46ICdQaScsIHNob3c6ICcmUGk7JywgdHlwZTogMTIsIHZhbHVlOiBNZXhwLm1hdGguUGkgfSxcclxuXHR7IHRva2VuOiAncG93Jywgc2hvdzogJ3BvdycsIHR5cGU6IDgsIHZhbHVlOiBNYXRoLnBvdywgbnVtYmVyT2ZBcmd1bWVudHM6IDIgfSxcclxuXHR7IHRva2VuOiAnJicsIHNob3c6ICcmJywgdHlwZTogOSwgdmFsdWU6IE1leHAubWF0aC5hbmQgfSxcclxuXVxyXG52YXIgcHJlY2VkID0ge1xyXG5cdDA6IDExLFxyXG5cdDE6IDAsXHJcblx0MjogMyxcclxuXHQzOiAwLFxyXG5cdDQ6IDAsXHJcblx0NTogMCxcclxuXHQ2OiAwLFxyXG5cdDc6IDExLFxyXG5cdDg6IDExLFxyXG5cdDk6IDEsXHJcblx0MTA6IDEwLFxyXG5cdDExOiAwLFxyXG5cdDEyOiAxMSxcclxuXHQxMzogMCxcclxuXHQxNDogLTEsXHJcblx0MTU6IDExLCAvLyB3aWxsIGJlIGZpbHRlcmVkIGFmdGVyIGxleGVyXHJcbn0gLy8gc3RvcmVzIHByZWNlZGVuY2UgYnkgdHlwZXNcclxuZm9yICh2YXIgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcclxuXHR0b2tlbnNbaV0ucHJlY2VkZW5jZSA9IHByZWNlZFt0b2tlbnNbaV0udHlwZV1cclxufVxyXG52YXIgdHlwZTAgPSB7XHJcblx0MDogdHJ1ZSxcclxuXHQxOiB0cnVlLFxyXG5cdDM6IHRydWUsXHJcblx0NDogdHJ1ZSxcclxuXHQ2OiB0cnVlLFxyXG5cdDg6IHRydWUsXHJcblx0OTogdHJ1ZSxcclxuXHQxMjogdHJ1ZSxcclxuXHQxMzogdHJ1ZSxcclxuXHQxNDogdHJ1ZSxcclxuXHQxNTogdHJ1ZSxcclxufSAvLyB0eXBlMjp0cnVlLHR5cGU0OnRydWUsdHlwZTk6dHJ1ZSx0eXBlMTE6dHJ1ZSx0eXBlMjE6dHJ1ZSx0eXBlMjJcclxudmFyIHR5cGUxID0ge1xyXG5cdDA6IHRydWUsXHJcblx0MTogdHJ1ZSxcclxuXHQyOiB0cnVlLFxyXG5cdDM6IHRydWUsXHJcblx0NDogdHJ1ZSxcclxuXHQ1OiB0cnVlLFxyXG5cdDY6IHRydWUsXHJcblx0NzogdHJ1ZSxcclxuXHQ4OiB0cnVlLFxyXG5cdDk6IHRydWUsXHJcblx0MTA6IHRydWUsXHJcblx0MTE6IHRydWUsXHJcblx0MTI6IHRydWUsXHJcblx0MTM6IHRydWUsXHJcblx0MTU6IHRydWUsXHJcbn0gLy8gdHlwZTM6dHJ1ZSx0eXBlNTp0cnVlLHR5cGU3OnRydWUsdHlwZTIzXHJcbnZhciB0eXBlMUFzdGVyaWNrID0ge1xyXG5cdDA6IHRydWUsXHJcblx0MzogdHJ1ZSxcclxuXHQ0OiB0cnVlLFxyXG5cdDg6IHRydWUsXHJcblx0MTI6IHRydWUsXHJcblx0MTM6IHRydWUsXHJcblx0MTU6IHRydWUsXHJcbn1cclxudmFyIGVtcHR5ID0ge31cclxudmFyIHR5cGUzQXN0ZXJpY2sgPSB7XHJcblx0MDogdHJ1ZSxcclxuXHQxOiB0cnVlLFxyXG5cdDM6IHRydWUsXHJcblx0NDogdHJ1ZSxcclxuXHQ2OiB0cnVlLFxyXG5cdDg6IHRydWUsXHJcblx0MTI6IHRydWUsXHJcblx0MTM6IHRydWUsXHJcblx0MTU6IHRydWUsXHJcbn0gLy8gdHlwZV81OnRydWUsdHlwZV83OnRydWUsdHlwZV8yM1xyXG52YXIgdHlwZTYgPSB7XHJcblx0MTogdHJ1ZSxcclxufVxyXG52YXIgbmV3QXIgPSBbXHJcblx0W10sXHJcblx0W1xyXG5cdFx0JzEnLFxyXG5cdFx0JzInLFxyXG5cdFx0JzMnLFxyXG5cdFx0JzcnLFxyXG5cdFx0JzgnLFxyXG5cdFx0JzknLFxyXG5cdFx0JzQnLFxyXG5cdFx0JzUnLFxyXG5cdFx0JzYnLFxyXG5cdFx0JysnLFxyXG5cdFx0Jy0nLFxyXG5cdFx0JyonLFxyXG5cdFx0Jy8nLFxyXG5cdFx0JygnLFxyXG5cdFx0JyknLFxyXG5cdFx0J14nLFxyXG5cdFx0JyEnLFxyXG5cdFx0J1AnLFxyXG5cdFx0J0MnLFxyXG5cdFx0J2UnLFxyXG5cdFx0JzAnLFxyXG5cdFx0Jy4nLFxyXG5cdFx0JywnLFxyXG5cdFx0J24nLFxyXG5cdFx0JyAnLFxyXG5cdFx0JyYnLFxyXG5cdF0sXHJcblx0WydwaScsICdsbicsICdQaSddLFxyXG5cdFsnc2luJywgJ2NvcycsICd0YW4nLCAnRGVsJywgJ2ludCcsICdNb2QnLCAnbG9nJywgJ3BvdyddLFxyXG5cdFsnYXNpbicsICdhY29zJywgJ2F0YW4nLCAnY29zaCcsICdyb290JywgJ3RhbmgnLCAnc2luaCddLFxyXG5cdFsnYWNvc2gnLCAnYXRhbmgnLCAnYXNpbmgnLCAnU2lnbWEnXSxcclxuXVxyXG5cclxuZnVuY3Rpb24gbWF0Y2goc3RyMSwgc3RyMiwgaSwgeCkge1xyXG5cdGZvciAodmFyIGYgPSAwOyBmIDwgeDsgZisrKSB7XHJcblx0XHRpZiAoc3RyMVtpICsgZl0gIT09IHN0cjJbZl0pIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHR9XHJcblx0fVxyXG5cdHJldHVybiB0cnVlXHJcbn1cclxuTWV4cC50b2tlblR5cGVzID0ge1xyXG5cdEZVTkNUSU9OX1dJVEhfT05FX0FSRzogMCxcclxuXHROVU1CRVI6IDEsXHJcblx0QklOQVJZX09QRVJBVE9SX0hJR0hfUFJFQ0VOREVOQ0U6IDIsXHJcblx0Q09OU1RBTlQ6IDMsXHJcblx0T1BFTklOR19QQVJFTlRIRVNJUzogNCxcclxuXHRDTE9TSU5HX1BBUkVOVEhFU0lTOiA1LFxyXG5cdERFQ0lNQUw6IDYsXHJcblx0UE9TVEZJWF9GVU5DVElPTl9XSVRIX09ORV9BUkc6IDcsXHJcblx0RlVOQ1RJT05fV0lUSF9OX0FSR1M6IDgsXHJcblx0QklOQVJZX09QRVJBVE9SX0xPV19QUkVDRU5ERU5DRTogOSxcclxuXHRCSU5BUllfT1BFUkFUT1JfUEVSTVVUQVRJT046IDEwLFxyXG5cdENPTU1BOiAxMSxcclxuXHRFVkFMVUFURURfRlVOQ1RJT046IDEyLFxyXG5cdEVWQUxVQVRFRF9GVU5DVElPTl9QQVJBTUVURVI6IDEzLFxyXG5cdFNQQUNFOiAxNCxcclxufVxyXG4vKipcclxuICBcclxuICAwIDogZnVuY3Rpb24gd2l0aCBzeW50YXggZnVuY3Rpb25fbmFtZShNYXRoc19leHApXHJcbiAgMSA6IG51bWJlcnNcclxuICAyIDogYmluYXJ5IG9wZXJhdG9ycyBsaWtlICogLyBNb2QgbGVmdCBhc3NvY2lhdGUgYW5kIHNhbWUgcHJlY2VkZW5jZVxyXG4gIDMgOiBNYXRoIGNvbnN0YW50IHZhbHVlcyBsaWtlIGUscGksQ3J1bmNoZXIgYW5zXHJcbiAgNCA6IG9wZW5pbmcgYnJhY2tldFxyXG4gIDUgOiBjbG9zaW5nIGJyYWNrZXRcclxuICA2IDogZGVjaW1hbFxyXG4gIDcgOiBmdW5jdGlvbiB3aXRoIHN5bnRheCAoTWF0aF9leHApZnVuY3Rpb25fbmFtZVxyXG4gIDg6IGZ1bmN0aW9uIHdpdGggc3ludGF4IGZ1bmN0aW9uX25hbWUoTWF0aF9leHAxLE1hdGhfZXhwMilcclxuICA5IDogYmluYXJ5IG9wZXJhdG9yIGxpa2UgKywtXHJcbiAgMTA6IGJpbmFyeSBvcGVyYXRvciBsaWtlIFAgQyBvciBeXHJcbiAgMTE6ICxcclxuICAxMjogZnVuY3Rpb24gd2l0aCAsIHNlcGVyYXRlZCB0aHJlZSBwYXJhbWV0ZXJzIGFuZCB0aGlyZCBwYXJhbWV0ZXIgaXMgYSBzdHJpbmcgdGhhdCB3aWxsIGJlIG1leHAgc3RyaW5nXHJcbiAgMTM6IHZhcmlhYmxlIG9mIFNpZ21hIGZ1bmN0aW9uXHJcbiAqL1xyXG5NZXhwLmFkZFRva2VuID0gZnVuY3Rpb24gKG5ld1Rva2Vucykge1xyXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgbmV3VG9rZW5zLmxlbmd0aDsgaSsrKSB7XHJcblx0XHR2YXIgeCA9IG5ld1Rva2Vuc1tpXS50b2tlbi5sZW5ndGhcclxuXHRcdHZhciB0ZW1wID0gLTFcclxuXHRcdGlmIChuZXdUb2tlbnNbaV0udHlwZSA9PT0gTWV4cC50b2tlblR5cGVzLkZVTkNUSU9OX1dJVEhfTl9BUkdTICYmIG5ld1Rva2Vuc1tpXS5udW1iZXJPZkFyZ3VtZW50cyA9PT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdG5ld1Rva2Vuc1tpXS5udW1iZXJPZkFyZ3VtZW50cyA9IDJcclxuXHRcdH1cclxuXHJcblx0XHQvLyBuZXdBciBpcyBhIHNwZWNpYWxseSBkZXNpZ25lZCBkYXRhIHN0cnVjdHVyZSBpbmRleCBvZiAxZCBhcnJheSA9IGxlbmd0aCBvZiB0b2tlbnNcclxuXHRcdG5ld0FyW3hdID0gbmV3QXJbeF0gfHwgW11cclxuXHRcdGZvciAodmFyIHkgPSAwOyB5IDwgbmV3QXJbeF0ubGVuZ3RoOyB5KyspIHtcclxuXHRcdFx0aWYgKG5ld1Rva2Vuc1tpXS50b2tlbiA9PT0gbmV3QXJbeF1beV0pIHtcclxuXHRcdFx0XHR0ZW1wID0gaW5kZXhPZlRva2VuKG5ld0FyW3hdW3ldLCB0b2tlbnMpXHJcblx0XHRcdFx0YnJlYWtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0aWYgKHRlbXAgPT09IC0xKSB7XHJcblx0XHRcdHRva2Vucy5wdXNoKG5ld1Rva2Vuc1tpXSlcclxuXHRcdFx0bmV3VG9rZW5zW2ldLnByZWNlZGVuY2UgPSBwcmVjZWRbbmV3VG9rZW5zW2ldLnR5cGVdXHJcblx0XHRcdGlmIChuZXdBci5sZW5ndGggPD0gbmV3VG9rZW5zW2ldLnRva2VuLmxlbmd0aCkge1xyXG5cdFx0XHRcdG5ld0FyW25ld1Rva2Vuc1tpXS50b2tlbi5sZW5ndGhdID0gW11cclxuXHRcdFx0fVxyXG5cdFx0XHRuZXdBcltuZXdUb2tlbnNbaV0udG9rZW4ubGVuZ3RoXS5wdXNoKG5ld1Rva2Vuc1tpXS50b2tlbilcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdC8vIG92ZXJ3cml0ZVxyXG5cdFx0XHR0b2tlbnNbdGVtcF0gPSBuZXdUb2tlbnNbaV1cclxuXHRcdFx0bmV3VG9rZW5zW2ldLnByZWNlZGVuY2UgPSBwcmVjZWRbbmV3VG9rZW5zW2ldLnR5cGVdXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5mdW5jdGlvbiBpbmRleE9mVG9rZW4oa2V5LCB0b2tlbnMpIHtcclxuXHRmb3IgKHZhciBzZWFyY2ggPSAwOyBzZWFyY2ggPCB0b2tlbnMubGVuZ3RoOyBzZWFyY2grKykge1xyXG5cdFx0aWYgKHRva2Vuc1tzZWFyY2hdLnRva2VuID09PSBrZXkpIHJldHVybiBzZWFyY2hcclxuXHR9XHJcblx0cmV0dXJuIC0xXHJcbn1cclxuZnVuY3Rpb24gdG9rZW5pemUoc3RyaW5nKSB7XHJcblx0dmFyIG5vZGVzID0gW11cclxuXHR2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aFxyXG5cdHZhciBrZXksIHgsIHlcclxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcblx0XHRpZiAoaSA8IGxlbmd0aCAtIDEgJiYgc3RyaW5nW2ldID09PSAnICcgJiYgc3RyaW5nW2kgKyAxXSA9PT0gJyAnKSB7XHJcblx0XHRcdGNvbnRpbnVlXHJcblx0XHR9XHJcblx0XHRrZXkgPSAnJ1xyXG5cdFx0Zm9yICh4ID0gc3RyaW5nLmxlbmd0aCAtIGkgPiBuZXdBci5sZW5ndGggLSAyID8gbmV3QXIubGVuZ3RoIC0gMSA6IHN0cmluZy5sZW5ndGggLSBpOyB4ID4gMDsgeC0tKSB7XHJcblx0XHRcdGlmIChuZXdBclt4XSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZVxyXG5cdFx0XHRmb3IgKHkgPSAwOyB5IDwgbmV3QXJbeF0ubGVuZ3RoOyB5KyspIHtcclxuXHRcdFx0XHRpZiAobWF0Y2goc3RyaW5nLCBuZXdBclt4XVt5XSwgaSwgeCkpIHtcclxuXHRcdFx0XHRcdGtleSA9IG5ld0FyW3hdW3ldXHJcblx0XHRcdFx0XHR5ID0gbmV3QXJbeF0ubGVuZ3RoXHJcblx0XHRcdFx0XHR4ID0gMFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0aSArPSBrZXkubGVuZ3RoIC0gMVxyXG5cdFx0aWYgKGtleSA9PT0gJycpIHtcclxuXHRcdFx0dGhyb3cgbmV3IE1leHAuRXhjZXB0aW9uKFwiQ2FuJ3QgdW5kZXJzdGFuZCBhZnRlciBcIiArIHN0cmluZy5zbGljZShpKSlcclxuXHRcdH1cclxuXHRcdG5vZGVzLnB1c2godG9rZW5zW2luZGV4T2ZUb2tlbihrZXksIHRva2VucyldKVxyXG5cdH1cclxuXHRyZXR1cm4gbm9kZXNcclxufVxyXG5cclxudmFyIGNoYW5nZVNpZ25PYmogPSB7XHJcblx0dmFsdWU6IE1leHAubWF0aC5jaGFuZ2VTaWduLFxyXG5cdHR5cGU6IDAsXHJcblx0cHJlOiAyMSxcclxuXHRzaG93OiAnLScsXHJcbn1cclxudmFyIGNsb3NpbmdQYXJPYmogPSB7XHJcblx0dmFsdWU6ICcpJyxcclxuXHRzaG93OiAnKScsXHJcblx0dHlwZTogNSxcclxuXHRwcmU6IDAsXHJcbn1cclxudmFyIG9wZW5pbmdQYXJPYmogPSB7XHJcblx0dmFsdWU6ICcoJyxcclxuXHR0eXBlOiA0LFxyXG5cdHByZTogMCxcclxuXHRzaG93OiAnKCcsXHJcbn1cclxuTWV4cC5sZXggPSBmdW5jdGlvbiAoaW5wLCB0b2tlbnMpIHtcclxuXHQndXNlIHN0cmljdCdcclxuXHJcblx0dmFyIHN0ciA9IFtvcGVuaW5nUGFyT2JqXVxyXG5cclxuXHR2YXIgcHRjID0gW10gLy8gUGFyZW50aGVzaXMgdG8gY2xvc2UgYXQgdGhlIGJlZ2lubmluZyBpcyBhZnRlciBvbmUgdG9rZW5cclxuXHR2YXIgaW5wU3RyID0gaW5wXHJcblx0dmFyIGFsbG93ZWQgPSB0eXBlMFxyXG5cdHZhciBicmFjVG9DbG9zZSA9IDBcclxuXHR2YXIgYXN0ZXJpY2sgPSBlbXB0eVxyXG5cdHZhciBwcmV2S2V5ID0gJydcclxuXHR2YXIgaVxyXG5cdGlmICh0eXBlb2YgdG9rZW5zICE9PSAndW5kZWZpbmVkJykge1xyXG5cdFx0TWV4cC5hZGRUb2tlbih0b2tlbnMpXHJcblx0fVxyXG5cdHZhciBvYmogPSB7fVxyXG5cdHZhciBub2RlcyA9IHRva2VuaXplKGlucFN0cilcclxuXHRmb3IgKGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcclxuXHRcdHZhciBub2RlID0gbm9kZXNbaV1cclxuXHRcdGlmIChub2RlLnR5cGUgPT09IDE0KSB7XHJcblx0XHRcdGlmIChcclxuXHRcdFx0XHRpID4gMCAmJlxyXG5cdFx0XHRcdGkgPCBub2Rlcy5sZW5ndGggLSAxICYmXHJcblx0XHRcdFx0bm9kZXNbaSArIDFdLnR5cGUgPT09IDEgJiZcclxuXHRcdFx0XHQobm9kZXNbaSAtIDFdLnR5cGUgPT09IDEgfHwgbm9kZXNbaSAtIDFdLnR5cGUgPT09IDYpXHJcblx0XHRcdCkge1xyXG5cdFx0XHRcdHRocm93IG5ldyBNZXhwLkV4Y2VwdGlvbignVW5leHBlY3RlZCBTcGFjZScpXHJcblx0XHRcdH1cclxuXHRcdFx0Y29udGludWVcclxuXHRcdH1cclxuXHRcdHZhciBjVG9rZW4gPSBub2RlLnRva2VuXHJcblx0XHR2YXIgY1R5cGUgPSBub2RlLnR5cGVcclxuXHRcdHZhciBjRXYgPSBub2RlLnZhbHVlXHJcblx0XHR2YXIgY1ByZSA9IG5vZGUucHJlY2VkZW5jZVxyXG5cdFx0dmFyIGNTaG93ID0gbm9kZS5zaG93XHJcblx0XHR2YXIgcHJlID0gc3RyW3N0ci5sZW5ndGggLSAxXVxyXG5cdFx0dmFyIGpcclxuXHRcdGZvciAoaiA9IHB0Yy5sZW5ndGg7IGotLTsgKSB7XHJcblx0XHRcdC8vIGxvb3Agb3ZlciBwdGNcclxuXHRcdFx0aWYgKHB0Y1tqXSA9PT0gMCkge1xyXG5cdFx0XHRcdGlmIChbMCwgMiwgMywgNCwgNSwgOSwgMTEsIDEyLCAxM10uaW5kZXhPZihjVHlwZSkgIT09IC0xKSB7XHJcblx0XHRcdFx0XHRpZiAoYWxsb3dlZFtjVHlwZV0gIT09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0dGhyb3cgbmV3IE1leHAuRXhjZXB0aW9uKGNUb2tlbiArICcgaXMgbm90IGFsbG93ZWQgYWZ0ZXIgJyArIHByZXZLZXkpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRzdHIucHVzaChjbG9zaW5nUGFyT2JqKVxyXG5cdFx0XHRcdFx0YWxsb3dlZCA9IHR5cGUxXHJcblx0XHRcdFx0XHRhc3RlcmljayA9IHR5cGUzQXN0ZXJpY2tcclxuXHRcdFx0XHRcdHB0Yy5wb3AoKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIGJyZWFrXHJcblx0XHR9XHJcblx0XHRpZiAoYWxsb3dlZFtjVHlwZV0gIT09IHRydWUpIHtcclxuXHRcdFx0dGhyb3cgbmV3IE1leHAuRXhjZXB0aW9uKGNUb2tlbiArICcgaXMgbm90IGFsbG93ZWQgYWZ0ZXIgJyArIHByZXZLZXkpXHJcblx0XHR9XHJcblx0XHRpZiAoYXN0ZXJpY2tbY1R5cGVdID09PSB0cnVlKSB7XHJcblx0XHRcdGNUeXBlID0gMlxyXG5cdFx0XHRjRXYgPSBNZXhwLm1hdGgubXVsXHJcblx0XHRcdGNTaG93ID0gJyZ0aW1lczsnXHJcblx0XHRcdGNQcmUgPSAzXHJcblx0XHRcdGkgPSBpIC0gMVxyXG5cdFx0fVxyXG5cdFx0b2JqID0ge1xyXG5cdFx0XHR2YWx1ZTogY0V2LFxyXG5cdFx0XHR0eXBlOiBjVHlwZSxcclxuXHRcdFx0cHJlOiBjUHJlLFxyXG5cdFx0XHRzaG93OiBjU2hvdyxcclxuXHRcdFx0bnVtYmVyT2ZBcmd1bWVudHM6IG5vZGUubnVtYmVyT2ZBcmd1bWVudHMsXHJcblx0XHR9XHJcblx0XHRpZiAoY1R5cGUgPT09IDApIHtcclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUwXHJcblx0XHRcdGFzdGVyaWNrID0gZW1wdHlcclxuXHRcdFx0aW5jKHB0YywgMilcclxuXHRcdFx0c3RyLnB1c2gob2JqKVxyXG5cdFx0XHRpZiAobm9kZXNbaSArIDFdLnR5cGUgIT09IDQpIHtcclxuXHRcdFx0XHRzdHIucHVzaChvcGVuaW5nUGFyT2JqKVxyXG5cdFx0XHRcdHB0Yy5wdXNoKDIpXHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gYnJhY1RvQ2xvc2UrK1xyXG5cdFx0fSBlbHNlIGlmIChjVHlwZSA9PT0gMSkge1xyXG5cdFx0XHRpZiAocHJlLnR5cGUgPT09IDEpIHtcclxuXHRcdFx0XHRwcmUudmFsdWUgKz0gY0V2XHJcblx0XHRcdFx0aW5jKHB0YywgMSlcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHRcdH1cclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUxXHJcblx0XHRcdGFzdGVyaWNrID0gdHlwZTFBc3Rlcmlja1xyXG5cdFx0fSBlbHNlIGlmIChjVHlwZSA9PT0gMikge1xyXG5cdFx0XHRhbGxvd2VkID0gdHlwZTBcclxuXHRcdFx0YXN0ZXJpY2sgPSBlbXB0eVxyXG5cdFx0XHRpbmMocHRjLCAyKVxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSAzKSB7XHJcblx0XHRcdC8vIGNvbnN0YW50XHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUxXHJcblx0XHRcdGFzdGVyaWNrID0gdHlwZTNBc3Rlcmlja1xyXG5cdFx0fSBlbHNlIGlmIChjVHlwZSA9PT0gNCkge1xyXG5cdFx0XHRpbmMocHRjLCAxKVxyXG5cdFx0XHRicmFjVG9DbG9zZSsrXHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDUpIHtcclxuXHRcdFx0aWYgKCFicmFjVG9DbG9zZSkge1xyXG5cdFx0XHRcdHRocm93IG5ldyBNZXhwLkV4Y2VwdGlvbignQ2xvc2luZyBwYXJlbnRoZXNpcyBhcmUgbW9yZSB0aGFuIG9wZW5pbmcgb25lLCB3YWl0IFdoYXQhISEnKVxyXG5cdFx0XHR9XHJcblx0XHRcdGJyYWNUb0Nsb3NlLS1cclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUxXHJcblx0XHRcdGFzdGVyaWNrID0gdHlwZTNBc3Rlcmlja1xyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHRcdGluYyhwdGMsIDEpXHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSA2KSB7XHJcblx0XHRcdGlmIChwcmUuaGFzRGVjKSB7XHJcblx0XHRcdFx0dGhyb3cgbmV3IE1leHAuRXhjZXB0aW9uKCdUd28gZGVjaW1hbHMgYXJlIG5vdCBhbGxvd2VkIGluIG9uZSBudW1iZXInKVxyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChwcmUudHlwZSAhPT0gMSkge1xyXG5cdFx0XHRcdHByZSA9IHtcclxuXHRcdFx0XHRcdHZhbHVlOiAwLFxyXG5cdFx0XHRcdFx0dHlwZTogMSxcclxuXHRcdFx0XHRcdHByZTogMCxcclxuXHRcdFx0XHR9IC8vIHByZSBuZWVkcyB0byBiZSBjaGFuZ2VkIGFzIGl0IHdpbGwgdGhlIGxhc3QgdmFsdWUgbm93IHRvIGJlIHNhZmUgaW4gbGF0ZXIgY29kZVxyXG5cdFx0XHRcdHN0ci5wdXNoKHByZSlcclxuXHRcdFx0XHQvLyBpbmMocHRjLCAxKVxyXG5cdFx0XHR9XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlNlxyXG5cdFx0XHRpbmMocHRjLCAxKVxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdHByZS52YWx1ZSArPSBjRXZcclxuXHRcdFx0cHJlLmhhc0RlYyA9IHRydWVcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDcpIHtcclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUxXHJcblx0XHRcdGFzdGVyaWNrID0gdHlwZTNBc3Rlcmlja1xyXG5cdFx0XHRpbmMocHRjLCAxKVxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHR9XHJcblx0XHRpZiAoY1R5cGUgPT09IDgpIHtcclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUwXHJcblx0XHRcdGFzdGVyaWNrID0gZW1wdHlcclxuXHRcdFx0aW5jKHB0Yywgbm9kZS5udW1iZXJPZkFyZ3VtZW50cyArIDIpXHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdFx0Ly8gc3RyLnB1c2gob3BlbmluZ1Bhck9iailcclxuXHRcdFx0aWYgKG5vZGVzW2kgKyAxXS50eXBlICE9PSA0KSB7XHJcblx0XHRcdFx0c3RyLnB1c2gob3BlbmluZ1Bhck9iailcclxuXHRcdFx0XHRwdGMucHVzaChub2RlLm51bWJlck9mQXJndW1lbnRzICsgMilcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChjVHlwZSA9PT0gOSkge1xyXG5cdFx0XHRpZiAocHJlLnR5cGUgPT09IDkpIHtcclxuXHRcdFx0XHRpZiAocHJlLnZhbHVlID09PSBNZXhwLm1hdGguYWRkKSB7XHJcblx0XHRcdFx0XHRwcmUudmFsdWUgPSBjRXZcclxuXHRcdFx0XHRcdHByZS5zaG93ID0gY1Nob3dcclxuXHRcdFx0XHRcdGluYyhwdGMsIDEpXHJcblx0XHRcdFx0fSBlbHNlIGlmIChwcmUudmFsdWUgPT09IE1leHAubWF0aC5zdWIgJiYgY1Nob3cgPT09ICctJykge1xyXG5cdFx0XHRcdFx0cHJlLnZhbHVlID0gTWV4cC5tYXRoLmFkZFxyXG5cdFx0XHRcdFx0cHJlLnNob3cgPSAnKydcclxuXHRcdFx0XHRcdGluYyhwdGMsIDEpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2UgaWYgKHByZS50eXBlICE9PSA1ICYmIHByZS50eXBlICE9PSA3ICYmIHByZS50eXBlICE9PSAxICYmIHByZS50eXBlICE9PSAzICYmIHByZS50eXBlICE9PSAxMykge1xyXG5cdFx0XHRcdC8vIGNoYW5nZXNpZ24gb25seSB3aGVuIG5lZ2F0aXZlIGlzIGZvdW5kXHJcblx0XHRcdFx0aWYgKGNUb2tlbiA9PT0gJy0nKSB7XHJcblx0XHRcdFx0XHQvLyBkbyBub3RoaW5nIGZvciArIHRva2VuXHJcblx0XHRcdFx0XHQvLyBkb24ndCBhZGQgd2l0aCB0aGUgYWJvdmUgaWYgc3RhdGVtZW50IGFzIHRoYXQgd2lsbCBydW4gdGhlIGVsc2Ugc3RhdGVtZW50IG9mIHBhcmVudCBpZiBvbiBDdG9rZW4gK1xyXG5cdFx0XHRcdFx0YWxsb3dlZCA9IHR5cGUwXHJcblx0XHRcdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdFx0XHRpbmMocHRjLCAyKS5wdXNoKDIpXHJcblx0XHRcdFx0XHRzdHIucHVzaChjaGFuZ2VTaWduT2JqKVxyXG5cdFx0XHRcdFx0c3RyLnB1c2gob3BlbmluZ1Bhck9iailcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0c3RyLnB1c2gob2JqKVxyXG5cdFx0XHRcdGluYyhwdGMsIDIpXHJcblx0XHRcdH1cclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUwXHJcblx0XHRcdGFzdGVyaWNrID0gZW1wdHlcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDEwKSB7XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdGluYyhwdGMsIDIpXHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDExKSB7XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDEyKSB7XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdGluYyhwdGMsIDYpXHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdFx0aWYgKG5vZGVzW2kgKyAxXS50eXBlICE9PSA0KSB7XHJcblx0XHRcdFx0c3RyLnB1c2gob3BlbmluZ1Bhck9iailcclxuXHRcdFx0XHRwdGMucHVzaCg2KVxyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSAxMykge1xyXG5cdFx0XHRhbGxvd2VkID0gdHlwZTFcclxuXHRcdFx0YXN0ZXJpY2sgPSB0eXBlM0FzdGVyaWNrXHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdH1cclxuXHJcblx0XHRpbmMocHRjLCAtMSlcclxuXHRcdHByZXZLZXkgPSBjVG9rZW5cclxuXHR9XHJcblx0Zm9yIChqID0gcHRjLmxlbmd0aDsgai0tOyApIHtcclxuXHRcdC8vIGxvb3Agb3ZlciBwdGNcclxuXHRcdHN0ci5wdXNoKGNsb3NpbmdQYXJPYmopXHJcblx0fVxyXG5cdGlmIChhbGxvd2VkWzVdICE9PSB0cnVlKSB7XHJcblx0XHR0aHJvdyBuZXcgTWV4cC5FeGNlcHRpb24oJ2NvbXBsZXRlIHRoZSBleHByZXNzaW9uJylcclxuXHR9XHJcblx0d2hpbGUgKGJyYWNUb0Nsb3NlLS0pIHtcclxuXHRcdHN0ci5wdXNoKGNsb3NpbmdQYXJPYmopXHJcblx0fVxyXG5cclxuXHRzdHIucHVzaChjbG9zaW5nUGFyT2JqKVxyXG5cdC8vICAgICAgICBjb25zb2xlLmxvZyhzdHIpO1xyXG5cdHJldHVybiBuZXcgTWV4cChzdHIpXHJcbn1cclxubW9kdWxlLmV4cG9ydHMgPSBNZXhwXHJcbiIsIlxyXG52YXIgTWV4cCA9IHJlcXVpcmUoJy4vbGV4ZXIuanMnKTtcclxuXHJcbk1leHAucHJvdG90eXBlLnRvUG9zdGZpeCA9IGZ1bmN0aW9uICgpIHtcclxuXHQndXNlIHN0cmljdCc7XHJcblx0dmFyIHBvc3QgPSBbXSwgZWxlbSwgcG9wcGVkLCBwcmVwLCBwcmUsIGVsZTtcclxuXHR2YXIgc3RhY2sgPSBbeyB2YWx1ZTogXCIoXCIsIHR5cGU6IDQsIHByZTogMCB9XTtcclxuXHR2YXIgYXJyID0gdGhpcy52YWx1ZTtcclxuXHRmb3IgKHZhciBpID0gMTsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xyXG5cdFx0aWYgKGFycltpXS50eXBlID09PSAxIHx8IGFycltpXS50eXBlID09PSAzIHx8IGFycltpXS50eXBlID09PSAxMykge1x0Ly9pZiB0b2tlbiBpcyBudW1iZXIsY29uc3RhbnQsb3Igbih3aGljaCBpcyBhbHNvIGEgc3BlY2lhbCBjb25zdGFudCBpbiBvdXIgY2FzZSlcclxuXHRcdFx0aWYgKGFycltpXS50eXBlID09PSAxKVxyXG5cdFx0XHRcdGFycltpXS52YWx1ZSA9IE51bWJlcihhcnJbaV0udmFsdWUpO1xyXG5cdFx0XHRwb3N0LnB1c2goYXJyW2ldKTtcclxuXHRcdH1cclxuXHRcdGVsc2UgaWYgKGFycltpXS50eXBlID09PSA0KSB7XHJcblx0XHRcdHN0YWNrLnB1c2goYXJyW2ldKTtcclxuXHRcdH1cclxuXHRcdGVsc2UgaWYgKGFycltpXS50eXBlID09PSA1KSB7XHJcblx0XHRcdHdoaWxlICgocG9wcGVkID0gc3RhY2sucG9wKCkpLnR5cGUgIT09IDQpIHtcclxuXHRcdFx0XHRwb3N0LnB1c2gocG9wcGVkKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0ZWxzZSBpZiAoYXJyW2ldLnR5cGUgPT09IDExKSB7XHJcblx0XHRcdHdoaWxlICgocG9wcGVkID0gc3RhY2sucG9wKCkpLnR5cGUgIT09IDQpIHtcclxuXHRcdFx0XHRwb3N0LnB1c2gocG9wcGVkKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRzdGFjay5wdXNoKHBvcHBlZCk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0ZWxlbSA9IGFycltpXTtcclxuXHRcdFx0cHJlID0gZWxlbS5wcmU7XHJcblx0XHRcdGVsZSA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xyXG5cdFx0XHRwcmVwID0gZWxlLnByZTtcclxuXHRcdFx0dmFyIGZsYWcgPSBlbGUudmFsdWUgPT0gJ01hdGgucG93JyAmJiBlbGVtLnZhbHVlID09ICdNYXRoLnBvdyc7XHJcblx0XHRcdGlmIChwcmUgPiBwcmVwKSBzdGFjay5wdXNoKGVsZW0pO1xyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHR3aGlsZSAocHJlcCA+PSBwcmUgJiYgIWZsYWcgfHwgZmxhZyAmJiBwcmUgPCBwcmVwKSB7XHJcblx0XHRcdFx0XHRwb3BwZWQgPSBzdGFjay5wb3AoKTtcclxuXHRcdFx0XHRcdGVsZSA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xyXG5cdFx0XHRcdFx0cG9zdC5wdXNoKHBvcHBlZCk7XHJcblx0XHRcdFx0XHRwcmVwID0gZWxlLnByZTtcclxuXHRcdFx0XHRcdGZsYWcgPSBlbGVtLnZhbHVlID09ICdNYXRoLnBvdycgJiYgZWxlLnZhbHVlID09ICdNYXRoLnBvdyc7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHN0YWNrLnB1c2goZWxlbSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0cmV0dXJuIG5ldyBNZXhwKHBvc3QpO1xyXG59O1xyXG5tb2R1bGUuZXhwb3J0cyA9IE1leHA7IiwidmFyIE1leHAgPSByZXF1aXJlKCcuL3Bvc3RmaXguanMnKVxyXG5NZXhwLnByb3RvdHlwZS5wb3N0Zml4RXZhbCA9IGZ1bmN0aW9uIChVc2VyRGVmaW5lZCkge1xyXG5cdCd1c2Ugc3RyaWN0J1xyXG5cdFVzZXJEZWZpbmVkID0gVXNlckRlZmluZWQgfHwge31cclxuXHRVc2VyRGVmaW5lZC5QSSA9IE1hdGguUElcclxuXHRVc2VyRGVmaW5lZC5FID0gTWF0aC5FXHJcblx0dmFyIHN0YWNrID0gW10sXHJcblx0XHRwb3AxLFxyXG5cdFx0cG9wMixcclxuXHRcdHBvcDNcclxuXHR2YXIgZGlzcCA9IFtdXHJcblx0dmFyIHRlbXAgPSAnJ1xyXG5cdHZhciBhcnIgPSB0aGlzLnZhbHVlXHJcblx0dmFyIGJvb2wgPSB0eXBlb2YgVXNlckRlZmluZWQubiAhPT0gJ3VuZGVmaW5lZCdcclxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xyXG5cdFx0aWYgKGFycltpXS50eXBlID09PSAxKSB7XHJcblx0XHRcdHN0YWNrLnB1c2goeyB2YWx1ZTogYXJyW2ldLnZhbHVlLCB0eXBlOiAxIH0pXHJcblx0XHR9IGVsc2UgaWYgKGFycltpXS50eXBlID09PSAzKSB7XHJcblx0XHRcdHN0YWNrLnB1c2goeyB2YWx1ZTogVXNlckRlZmluZWRbYXJyW2ldLnZhbHVlXSwgdHlwZTogMSB9KVxyXG5cdFx0fSBlbHNlIGlmIChhcnJbaV0udHlwZSA9PT0gMCkge1xyXG5cdFx0XHRpZiAodHlwZW9mIHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdLnR5cGUgPT09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRcdFx0c3RhY2tbc3RhY2subGVuZ3RoIC0gMV0udmFsdWUucHVzaChhcnJbaV0pXHJcblx0XHRcdH0gZWxzZSBzdGFja1tzdGFjay5sZW5ndGggLSAxXS52YWx1ZSA9IGFycltpXS52YWx1ZShzdGFja1tzdGFjay5sZW5ndGggLSAxXS52YWx1ZSlcclxuXHRcdH0gZWxzZSBpZiAoYXJyW2ldLnR5cGUgPT09IDcpIHtcclxuXHRcdFx0aWYgKHR5cGVvZiBzdGFja1tzdGFjay5sZW5ndGggLSAxXS50eXBlID09PSAndW5kZWZpbmVkJykge1xyXG5cdFx0XHRcdHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdLnZhbHVlLnB1c2goYXJyW2ldKVxyXG5cdFx0XHR9IGVsc2Ugc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0udmFsdWUgPSBhcnJbaV0udmFsdWUoc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0udmFsdWUpXHJcblx0XHR9IGVsc2UgaWYgKGFycltpXS50eXBlID09PSA4KSB7XHJcblx0XHRcdHZhciBwb3BwZWQgPSBbXVxyXG5cdFx0XHRmb3IgKHZhciB4ID0gMDsgeCA8IGFycltpXS5udW1iZXJPZkFyZ3VtZW50czsgeCsrKSB7XHJcblx0XHRcdFx0cG9wcGVkLnB1c2goc3RhY2sucG9wKCkudmFsdWUpXHJcblx0XHRcdH1cclxuXHRcdFx0c3RhY2sucHVzaCh7IHR5cGU6IDEsIHZhbHVlOiBhcnJbaV0udmFsdWUuYXBwbHkoYXJyW2ldLCBwb3BwZWQucmV2ZXJzZSgpKSB9KVxyXG5cdFx0fSBlbHNlIGlmIChhcnJbaV0udHlwZSA9PT0gMTApIHtcclxuXHRcdFx0cG9wMSA9IHN0YWNrLnBvcCgpXHJcblx0XHRcdHBvcDIgPSBzdGFjay5wb3AoKVxyXG5cdFx0XHRpZiAodHlwZW9mIHBvcDIudHlwZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRwb3AyLnZhbHVlID0gcG9wMi5jb25jYXQocG9wMSlcclxuXHRcdFx0XHRwb3AyLnZhbHVlLnB1c2goYXJyW2ldKVxyXG5cdFx0XHRcdHN0YWNrLnB1c2gocG9wMilcclxuXHRcdFx0fSBlbHNlIGlmICh0eXBlb2YgcG9wMS50eXBlID09PSAndW5kZWZpbmVkJykge1xyXG5cdFx0XHRcdHBvcDEudW5zaGlmdChwb3AyKVxyXG5cdFx0XHRcdHBvcDEucHVzaChhcnJbaV0pXHJcblx0XHRcdFx0c3RhY2sucHVzaChwb3AxKVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHN0YWNrLnB1c2goeyB0eXBlOiAxLCB2YWx1ZTogYXJyW2ldLnZhbHVlKHBvcDIudmFsdWUsIHBvcDEudmFsdWUpIH0pXHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSBpZiAoYXJyW2ldLnR5cGUgPT09IDIgfHwgYXJyW2ldLnR5cGUgPT09IDkpIHtcclxuXHRcdFx0cG9wMSA9IHN0YWNrLnBvcCgpXHJcblx0XHRcdHBvcDIgPSBzdGFjay5wb3AoKVxyXG5cdFx0XHRpZiAodHlwZW9mIHBvcDIudHlwZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRwb3AyID0gcG9wMi5jb25jYXQocG9wMSlcclxuXHRcdFx0XHRwb3AyLnB1c2goYXJyW2ldKVxyXG5cdFx0XHRcdHN0YWNrLnB1c2gocG9wMilcclxuXHRcdFx0fSBlbHNlIGlmICh0eXBlb2YgcG9wMS50eXBlID09PSAndW5kZWZpbmVkJykge1xyXG5cdFx0XHRcdHBvcDEudW5zaGlmdChwb3AyKVxyXG5cdFx0XHRcdHBvcDEucHVzaChhcnJbaV0pXHJcblx0XHRcdFx0c3RhY2sucHVzaChwb3AxKVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHN0YWNrLnB1c2goeyB0eXBlOiAxLCB2YWx1ZTogYXJyW2ldLnZhbHVlKHBvcDIudmFsdWUsIHBvcDEudmFsdWUpIH0pXHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSBpZiAoYXJyW2ldLnR5cGUgPT09IDEyKSB7XHJcblx0XHRcdHBvcDEgPSBzdGFjay5wb3AoKVxyXG5cdFx0XHRpZiAodHlwZW9mIHBvcDEudHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRwb3AxID0gW3BvcDFdXHJcblx0XHRcdH1cclxuXHRcdFx0cG9wMiA9IHN0YWNrLnBvcCgpXHJcblx0XHRcdHBvcDMgPSBzdGFjay5wb3AoKVxyXG5cdFx0XHRzdGFjay5wdXNoKHsgdHlwZTogMSwgdmFsdWU6IGFycltpXS52YWx1ZShwb3AzLnZhbHVlLCBwb3AyLnZhbHVlLCBuZXcgTWV4cChwb3AxKSkgfSlcclxuXHRcdH0gZWxzZSBpZiAoYXJyW2ldLnR5cGUgPT09IDEzKSB7XHJcblx0XHRcdGlmIChib29sKSB7XHJcblx0XHRcdFx0c3RhY2sucHVzaCh7IHZhbHVlOiBVc2VyRGVmaW5lZFthcnJbaV0udmFsdWVdLCB0eXBlOiAzIH0pXHJcblx0XHRcdH0gZWxzZSBzdGFjay5wdXNoKFthcnJbaV1dKVxyXG5cdFx0fVxyXG5cdH1cclxuXHRpZiAoc3RhY2subGVuZ3RoID4gMSkge1xyXG5cdFx0dGhyb3cgbmV3IE1leHAuRXhjZXB0aW9uKCdVbmNhdWdodCBTeW50YXggZXJyb3InKVxyXG5cdH1cclxuXHRyZXR1cm4gc3RhY2tbMF0udmFsdWUgPiAxMDAwMDAwMDAwMDAwMDAwID8gJ0luZmluaXR5JyA6IHBhcnNlRmxvYXQoc3RhY2tbMF0udmFsdWUudG9GaXhlZCgxNSkpXHJcbn1cclxuTWV4cC5ldmFsID0gZnVuY3Rpb24gKHN0ciwgdG9rZW5zLCBvYmopIHtcclxuXHRpZiAodHlwZW9mIHRva2VucyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdHJldHVybiB0aGlzLmxleChzdHIpLnRvUG9zdGZpeCgpLnBvc3RmaXhFdmFsKClcclxuXHR9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRpZiAodHlwZW9mIHRva2Vucy5sZW5ndGggIT09ICd1bmRlZmluZWQnKSByZXR1cm4gdGhpcy5sZXgoc3RyLCB0b2tlbnMpLnRvUG9zdGZpeCgpLnBvc3RmaXhFdmFsKClcclxuXHRcdGVsc2UgcmV0dXJuIHRoaXMubGV4KHN0cikudG9Qb3N0Zml4KCkucG9zdGZpeEV2YWwodG9rZW5zKVxyXG5cdH0gZWxzZSByZXR1cm4gdGhpcy5sZXgoc3RyLCB0b2tlbnMpLnRvUG9zdGZpeCgpLnBvc3RmaXhFdmFsKG9iailcclxufVxyXG5tb2R1bGUuZXhwb3J0cyA9IE1leHBcclxuIiwidmFyIE1leHA9cmVxdWlyZSgnLi9wb3N0Zml4X2V2YWx1YXRvci5qcycpO1xyXG5NZXhwLnByb3RvdHlwZS5mb3JtdWxhRXZhbCA9IGZ1bmN0aW9uICgpIHtcclxuXHRcInVzZSBzdHJpY3RcIjtcclxuXHR2YXIgc3RhY2s9W10scG9wMSxwb3AyLHBvcDM7XHJcblx0dmFyIGRpc3A9W107XHJcblx0dmFyIHRlbXA9Jyc7XHJcblx0dmFyIGFycj10aGlzLnZhbHVlO1xyXG5cdGZvcih2YXIgaT0wO2k8YXJyLmxlbmd0aDtpKyspe1xyXG5cdFx0aWYoYXJyW2ldLnR5cGU9PT0xfHxhcnJbaV0udHlwZT09PTMpe1xyXG5cdFx0XHRkaXNwLnB1c2goe3ZhbHVlOmFycltpXS50eXBlPT09Mz9hcnJbaV0uc2hvdzphcnJbaV0udmFsdWUsdHlwZToxfSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIGlmKGFycltpXS50eXBlPT09MTMpe1xyXG5cdFx0XHRkaXNwLnB1c2goe3ZhbHVlOmFycltpXS5zaG93LHR5cGU6MX0pO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSBpZihhcnJbaV0udHlwZT09PTApe1xyXG5cdFx0XHRkaXNwW2Rpc3AubGVuZ3RoLTFdPXt2YWx1ZTphcnJbaV0uc2hvdysoYXJyW2ldLnNob3chPVwiLVwiP1wiKFwiOlwiXCIpK2Rpc3BbZGlzcC5sZW5ndGgtMV0udmFsdWUrKGFycltpXS5zaG93IT1cIi1cIj9cIilcIjpcIlwiKSx0eXBlOjB9O1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSBpZihhcnJbaV0udHlwZT09PTcpe1xyXG5cdFx0XHRkaXNwW2Rpc3AubGVuZ3RoLTFdPXt2YWx1ZTooZGlzcFtkaXNwLmxlbmd0aC0xXS50eXBlIT0xP1wiKFwiOlwiXCIpK2Rpc3BbZGlzcC5sZW5ndGgtMV0udmFsdWUrKGRpc3BbZGlzcC5sZW5ndGgtMV0udHlwZSE9MT9cIilcIjpcIlwiKSthcnJbaV0uc2hvdyx0eXBlOjd9O1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSBpZihhcnJbaV0udHlwZT09PTEwKXtcclxuXHRcdFx0cG9wMT1kaXNwLnBvcCgpO1xyXG5cdFx0XHRwb3AyPWRpc3AucG9wKCk7XHJcblx0XHRcdGlmKGFycltpXS5zaG93PT09J1AnfHxhcnJbaV0uc2hvdz09PSdDJylkaXNwLnB1c2goe3ZhbHVlOlwiPHN1cD5cIitwb3AyLnZhbHVlK1wiPC9zdXA+XCIrYXJyW2ldLnNob3crXCI8c3ViPlwiK3BvcDEudmFsdWUrXCI8L3N1Yj5cIix0eXBlOjEwfSk7XHJcblx0XHRcdGVsc2UgZGlzcC5wdXNoKHt2YWx1ZToocG9wMi50eXBlIT0xP1wiKFwiOlwiXCIpK3BvcDIudmFsdWUrKHBvcDIudHlwZSE9MT9cIilcIjpcIlwiKStcIjxzdXA+XCIrcG9wMS52YWx1ZStcIjwvc3VwPlwiLHR5cGU6MX0pO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSBpZihhcnJbaV0udHlwZT09PTJ8fGFycltpXS50eXBlPT09OSl7XHJcblx0XHRcdHBvcDE9ZGlzcC5wb3AoKTtcclxuXHRcdFx0cG9wMj1kaXNwLnBvcCgpO1xyXG5cdFx0XHRkaXNwLnB1c2goe3ZhbHVlOihwb3AyLnR5cGUhPTE/XCIoXCI6XCJcIikrcG9wMi52YWx1ZSsocG9wMi50eXBlIT0xP1wiKVwiOlwiXCIpK2FycltpXS5zaG93Kyhwb3AxLnR5cGUhPTE/XCIoXCI6XCJcIikrcG9wMS52YWx1ZSsocG9wMS50eXBlIT0xP1wiKVwiOlwiXCIpLHR5cGU6YXJyW2ldLnR5cGV9KTtcclxuXHRcdH1cclxuXHRcdGVsc2UgaWYoYXJyW2ldLnR5cGU9PT0xMil7XHJcblx0XHRcdHBvcDE9ZGlzcC5wb3AoKTtcclxuXHRcdFx0cG9wMj1kaXNwLnBvcCgpO1xyXG5cdFx0XHRwb3AzPWRpc3AucG9wKCk7XHJcblx0XHRcdGRpc3AucHVzaCh7dmFsdWU6YXJyW2ldLnNob3crXCIoXCIrcG9wMy52YWx1ZStcIixcIitwb3AyLnZhbHVlK1wiLFwiK3BvcDEudmFsdWUrXCIpXCIsdHlwZToxMn0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRyZXR1cm4gZGlzcFswXS52YWx1ZTtcclxufTtcclxubW9kdWxlLmV4cG9ydHM9TWV4cDsiLCJpbXBvcnQgeyBNYXJrZG93blZpZXcsIEFwcCwgTm90aWNlLCBURmlsZSB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRXh0ZW5kZWRCbG9ja0NhY2hlIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGdldFN0b3JlIH0gZnJvbSBcIi4vYnV0dG9uU3RvcmVcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRlbnRBcnJheSwgaGFuZGxlVmFsdWVBcnJheSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCByZW1vdmVCdXR0b24gPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICByZW1vdmU6IHN0cmluZyxcbiAgbGluZVN0YXJ0OiBudW1iZXIsXG4gIGxpbmVFbmQ6IG51bWJlclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHsgY29udGVudEFycmF5LCBmaWxlIH0gPSBhd2FpdCBjcmVhdGVDb250ZW50QXJyYXkoYXBwKTtcbiAgY29uc3Qgc3RvcmUgPSBnZXRTdG9yZShhcHAuaXNNb2JpbGUpO1xuICBpZiAocmVtb3ZlID09PSBcInRydWVcIikge1xuICAgIGNvbnN0IG51bWJlck9mSXRlbXMgPSBsaW5lRW5kIC0gbGluZVN0YXJ0O1xuICAgIGNvbnRlbnRBcnJheS5zcGxpY2UobGluZVN0YXJ0LCBudW1iZXJPZkl0ZW1zICsgMSk7XG4gICAgaWYgKFxuICAgICAgY29udGVudEFycmF5W2xpbmVTdGFydF0gJiZcbiAgICAgIGNvbnRlbnRBcnJheVtsaW5lU3RhcnRdLmluY2x1ZGVzKFwiXmJ1dHRvbi1cIilcbiAgICApIHtcbiAgICAgIGNvbnRlbnRBcnJheS5zcGxpY2UobGluZVN0YXJ0LCAxKTtcbiAgICB9XG4gICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRBcnJheS5qb2luKFwiXFxuXCIpO1xuICAgIGF3YWl0IGFwcC52YXVsdC5tb2RpZnkoZmlsZSwgY29udGVudCk7XG4gIH1cbiAgaWYgKGxpbmVTdGFydCA9PT0gbGluZUVuZCkge1xuICAgIGNvbnRlbnRBcnJheS5zcGxpY2UobGluZVN0YXJ0LCAxKTtcbiAgICBjb25zdCBjb250ZW50ID0gY29udGVudEFycmF5LmpvaW4oXCJcXG5cIik7XG4gICAgYXdhaXQgYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCBjb250ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBoYW5kbGVWYWx1ZUFycmF5KHJlbW92ZSwgYXN5bmMgKGFyZ0FycmF5KSA9PiB7XG4gICAgICBjb25zdCBidXR0b25zID1cbiAgICAgICAgc3RvcmUgJiZcbiAgICAgICAgc3RvcmUuZmlsdGVyKChpdGVtOiBFeHRlbmRlZEJsb2NrQ2FjaGUpID0+IHtcbiAgICAgICAgICBsZXQgZXhpc3RzO1xuICAgICAgICAgIGFyZ0FycmF5LmZvckVhY2goKGFyZykgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT09IGBidXR0b24tJHthcmd9YCAmJiBpdGVtLnBhdGggPT09IGZpbGUucGF0aCkge1xuICAgICAgICAgICAgICBleGlzdHMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBleGlzdHM7XG4gICAgICAgIH0pO1xuICAgICAgaWYgKGJ1dHRvbnNbMF0pIHtcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgIGJ1dHRvbnMuZm9yRWFjaCgoYnV0dG9uOiBFeHRlbmRlZEJsb2NrQ2FjaGUpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGFydCA9IGJ1dHRvbi5wb3NpdGlvbi5zdGFydC5saW5lIC0gb2Zmc2V0O1xuICAgICAgICAgIGNvbnN0IG51bUxpbmVzID1cbiAgICAgICAgICAgIGJ1dHRvbi5wb3NpdGlvbi5lbmQubGluZSAtIGJ1dHRvbi5wb3NpdGlvbi5zdGFydC5saW5lO1xuICAgICAgICAgIGNvbnRlbnRBcnJheS5zcGxpY2Uoc3RhcnQsIG51bUxpbmVzICsgMik7XG4gICAgICAgICAgb2Zmc2V0ICs9IG51bUxpbmVzICsgMjtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50QXJyYXkuam9pbihcIlxcblwiKTtcbiAgICAgICAgYXdhaXQgYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCBjb250ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZVNlY3Rpb24gPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBzZWN0aW9uOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCB7IGNvbnRlbnRBcnJheSwgZmlsZSB9ID0gYXdhaXQgY3JlYXRlQ29udGVudEFycmF5KGFwcCk7XG4gIGlmIChzZWN0aW9uLmluY2x1ZGVzKFwiW1wiKSAmJiBzZWN0aW9uLmluY2x1ZGVzKFwiXVwiKSkge1xuICAgIGNvbnN0IGFyZ3MgPSBzZWN0aW9uLm1hdGNoKC9cXFsoLiopXFxdLyk7XG4gICAgaWYgKGFyZ3NbMV0pIHtcbiAgICAgIGNvbnN0IGFyZ0FycmF5ID0gYXJnc1sxXS5zcGxpdCgvLFxccz8vKTtcbiAgICAgIGlmIChhcmdBcnJheVswXSkge1xuICAgICAgICBjb25zdCBzdGFydCA9IHBhcnNlSW50KGFyZ0FycmF5WzBdKSAtIDE7XG4gICAgICAgIGNvbnN0IGVuZCA9IHBhcnNlSW50KGFyZ0FycmF5WzFdKTtcbiAgICAgICAgY29uc3QgbnVtTGluZXMgPSBlbmQgLSBzdGFydDtcbiAgICAgICAgY29udGVudEFycmF5LnNwbGljZShzdGFydCwgbnVtTGluZXMpO1xuICAgICAgICBjb25zdCBjb250ZW50ID0gY29udGVudEFycmF5LmpvaW4oXCJcXG5cIik7XG4gICAgICAgIGF3YWl0IGFwcC52YXVsdC5tb2RpZnkoZmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcHJlcGVuZENvbnRlbnQgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBpbnNlcnQ6IHN0cmluZyxcbiAgbGluZVN0YXJ0OiBudW1iZXJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBhY3RpdmVWaWV3ID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gIGlmIChhY3RpdmVWaWV3KSB7XG4gICAgY29uc3QgZmlsZSA9IGFjdGl2ZVZpZXcuZmlsZTtcbiAgICBsZXQgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xuICAgIGNvbnN0IGNvbnRlbnRBcnJheSA9IGNvbnRlbnQuc3BsaXQoXCJcXG5cIik7XG4gICAgY29udGVudEFycmF5LnNwbGljZShsaW5lU3RhcnQsIDAsIGluc2VydCk7XG4gICAgY29udGVudCA9IGNvbnRlbnRBcnJheS5qb2luKFwiXFxuXCIpO1xuICAgIGF3YWl0IGFwcC52YXVsdC5tb2RpZnkoZmlsZSwgY29udGVudCk7XG4gIH0gZWxzZSB7XG4gICAgbmV3IE5vdGljZShcIlRoZXJlIHdhcyBhbiBpc3N1ZSBwcmVwZW5kaW5nIGNvbnRlbnQsIHBsZWFzZSB0cnkgYWdhaW5cIiwgMjAwMCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBhcHBlbmRDb250ZW50ID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgaW5zZXJ0OiBzdHJpbmcsXG4gIGxpbmVFbmQ6IG51bWJlclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IGFjdGl2ZVZpZXcgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgaWYgKGFjdGl2ZVZpZXcpIHtcbiAgICBjb25zdCBmaWxlID0gYWN0aXZlVmlldy5maWxlO1xuICAgIGxldCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoZmlsZSk7XG4gICAgY29uc3QgY29udGVudEFycmF5ID0gY29udGVudC5zcGxpdChcIlxcblwiKTtcbiAgICBsZXQgaW5zZXJ0aW9uUG9pbnQ7XG4gICAgaWYgKFxuICAgICAgY29udGVudEFycmF5W2xpbmVFbmQgKyAxXSAmJlxuICAgICAgY29udGVudEFycmF5W2xpbmVFbmQgKyAxXS5pbmNsdWRlcyhcIl5idXR0b25cIilcbiAgICApIHtcbiAgICAgIGluc2VydGlvblBvaW50ID0gbGluZUVuZCArIDI7XG4gICAgICBpbnNlcnQgPSBgXFxuJHtpbnNlcnR9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zZXJ0aW9uUG9pbnQgPSBsaW5lRW5kICsgMTtcbiAgICB9XG4gICAgY29udGVudEFycmF5LnNwbGljZShpbnNlcnRpb25Qb2ludCwgMCwgYCR7aW5zZXJ0fWApO1xuICAgIGNvbnRlbnQgPSBjb250ZW50QXJyYXkuam9pbihcIlxcblwiKTtcbiAgICBhd2FpdCBhcHAudmF1bHQubW9kaWZ5KGZpbGUsIGNvbnRlbnQpO1xuICB9IGVsc2Uge1xuICAgIG5ldyBOb3RpY2UoXCJUaGVyZSB3YXMgYW4gaXNzdWUgYXBwZW5kaW5nIGNvbnRlbnQsIHBsZWFzZSB0cnkgYWdhaW5cIiwgMjAwMCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBhZGRDb250ZW50QXRMaW5lID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgaW5zZXJ0OiBzdHJpbmcsXG4gIHR5cGU6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IGxpbmVOdW1iZXIgPSB0eXBlLm1hdGNoKC8oXFxkKykvZyk7XG4gIGlmIChsaW5lTnVtYmVyWzBdKSB7XG4gICAgY29uc3QgaW5zZXJ0aW9uUG9pbnQgPSBwYXJzZUludChsaW5lTnVtYmVyWzBdKSAtIDE7XG4gICAgY29uc3QgYWN0aXZlVmlldyA9IGFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlVmlld09mVHlwZShNYXJrZG93blZpZXcpO1xuICAgIGlmIChhY3RpdmVWaWV3KSB7XG4gICAgICBjb25zdCBmaWxlID0gYWN0aXZlVmlldy5maWxlO1xuICAgICAgbGV0IGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChmaWxlKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRBcnJheSA9IGNvbnRlbnQuc3BsaXQoXCJcXG5cIik7XG4gICAgICBjb250ZW50QXJyYXkuc3BsaWNlKGluc2VydGlvblBvaW50LCAwLCBgJHtpbnNlcnR9YCk7XG4gICAgICBjb250ZW50ID0gY29udGVudEFycmF5LmpvaW4oXCJcXG5cIik7XG4gICAgICBhd2FpdCBhcHAudmF1bHQubW9kaWZ5KGZpbGUsIGNvbnRlbnQpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBuZXcgTm90aWNlKFwiVGhlcmUgd2FzIGFuIGlzc3VlIGFkZGluZyBjb250ZW50LCBwbGVhc2UgdHJ5IGFnYWluXCIsIDIwMDApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTm90ZSA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIGNvbnRlbnQ6IHN0cmluZyxcbiAgdHlwZTogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgcGF0aCA9IHR5cGUubWF0Y2goL1xcKChbXFxzXFxTXSo/KSw/XFxzPyhzcGxpdCk/XFwpLyk7XG4gIGlmIChwYXRoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFwcC52YXVsdC5jcmVhdGUoYCR7cGF0aFsxXX0ubWRgLCBjb250ZW50KTtcbiAgICAgIGNvbnN0IGZpbGUgPSBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKGAke3BhdGhbMV19Lm1kYCkgYXMgVEZpbGU7XG4gICAgICBpZiAocGF0aFsyXSkge1xuICAgICAgICBhd2FpdCBhcHAud29ya3NwYWNlLnNwbGl0QWN0aXZlTGVhZigpLm9wZW5GaWxlKGZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwLndvcmtzcGFjZS5hY3RpdmVMZWFmLm9wZW5GaWxlKGZpbGUpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIG5ldyBOb3RpY2UoXCJUaGVyZSB3YXMgYW4gZXJyb3IhIE1heWJlIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzP1wiLCAyMDAwKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3IE5vdGljZShgY291bGRuJ3QgcGFyc2UgdGhlIHBhdGghYCwgMjAwMCk7XG4gIH1cbn07XG4iLCJpbXBvcnQgeyBBcHAgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IEFyZ3VtZW50cywgUG9zaXRpb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGVudEFycmF5IH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IGNvbnN0IGdldEJ1dHRvblBvc2l0aW9uID0gKFxuICBjb250ZW50OiBzdHJpbmcsXG4gIGFyZ3M6IEFyZ3VtZW50c1xuKTogUG9zaXRpb24gPT4ge1xuICBsZXQgZmluYWxQb3NpdGlvbjogUG9zaXRpb247XG4gIGNvbnN0IHBvc3NpYmxlUG9zaXRpb25zOiBQb3NpdGlvbltdID0gW107XG4gIGxldCBwb3NzaWJsZVBvc2l0aW9uOiBQb3NpdGlvbiA9IHsgbGluZVN0YXJ0OiAwLCBsaW5lRW5kOiAwIH07XG4gIGNvbnN0IGNvbnRlbnRBcnJheSA9IGNvbnRlbnQuc3BsaXQoXCJcXG5cIik7XG4gIGxldCBvcGVuID0gZmFsc2U7XG4gIGNvbnRlbnRBcnJheS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgIGlmIChpdGVtLmluY2x1ZGVzKFwiYGBgXCIpKSB7XG4gICAgICBpZiAob3BlbiA9PT0gZmFsc2UpIHtcbiAgICAgICAgcG9zc2libGVQb3NpdGlvbi5saW5lU3RhcnQgPSBpbmRleDtcbiAgICAgICAgb3BlbiA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb3NzaWJsZVBvc2l0aW9uLmxpbmVFbmQgPSBpbmRleDtcbiAgICAgICAgcG9zc2libGVQb3NpdGlvbnMucHVzaChwb3NzaWJsZVBvc2l0aW9uKTtcbiAgICAgICAgcG9zc2libGVQb3NpdGlvbiA9IHsgbGluZVN0YXJ0OiAwLCBsaW5lRW5kOiAwIH07XG4gICAgICAgIG9wZW4gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBwb3NzaWJsZVBvc2l0aW9ucy5mb3JFYWNoKChwb3NpdGlvbikgPT4ge1xuICAgIGNvbnN0IGNvZGVibG9jayA9IGNvbnRlbnRBcnJheVxuICAgICAgLnNsaWNlKHBvc2l0aW9uLmxpbmVTdGFydCwgcG9zaXRpb24ubGluZUVuZCArIDEpXG4gICAgICAuam9pbihcIlxcblwiKTtcbiAgICBpZiAoY29kZWJsb2NrLmluY2x1ZGVzKFwiYnV0dG9uXCIpICYmIGNvZGVibG9jay5pbmNsdWRlcyhhcmdzLm5hbWUpKSB7XG4gICAgICBmaW5hbFBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGZpbmFsUG9zaXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SW5saW5lQnV0dG9uUG9zaXRpb24gPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBpZDogc3RyaW5nXG4pOiBQcm9taXNlPFBvc2l0aW9uPiA9PiB7XG4gIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBjcmVhdGVDb250ZW50QXJyYXkoYXBwKTtcbiAgY29uc3QgcG9zaXRpb24gPSB7IGxpbmVTdGFydDogMCwgbGluZUVuZDogMCB9O1xuICBjb250ZW50LmNvbnRlbnRBcnJheVxuICAgIC5tYXAoKGxpbmU6IHN0cmluZykgPT4gbGluZS5zcGxpdChcIiBcIikpXG4gICAgLmZvckVhY2goKHdvcmRzLCBpbmRleCkgPT4ge1xuICAgICAgd29yZHMuZm9yRWFjaCgod29yZCkgPT4ge1xuICAgICAgICBpZiAod29yZC5zdGFydHNXaXRoKFwiYGJ1dHRvblwiKSkge1xuICAgICAgICAgIGlmICh3b3JkID09PSBgXFxgYnV0dG9uLSR7aWR9XFxgYCkge1xuICAgICAgICAgICAgcG9zaXRpb24ubGluZVN0YXJ0ID0gaW5kZXg7XG4gICAgICAgICAgICBwb3NpdGlvbi5saW5lRW5kID0gaW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgcmV0dXJuIHBvc2l0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmROdW1iZXIgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBsaW5lTnVtYmVyOiBudW1iZXJcbik6IFByb21pc2U8c3RyaW5nW10+ID0+IHtcbiAgY29uc3QgY29udGVudCA9IGF3YWl0IGNyZWF0ZUNvbnRlbnRBcnJheShhcHApO1xuICBjb25zdCB2YWx1ZTogc3RyaW5nW10gPSBbXTtcbiAgY29udGVudC5jb250ZW50QXJyYXkuZm9yRWFjaCgobGluZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBsaW5lTnVtYmVyIC0gMSkge1xuICAgICAgdmFsdWUucHVzaChsaW5lKTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBjb252ZXJ0V29yZHMgPSB2YWx1ZVxuICAgIC5qb2luKFwiXCIpXG4gICAgLnJlcGxhY2UoXCJwbHVzXCIsIFwiK1wiKVxuICAgIC5yZXBsYWNlKFwibWludXNcIiwgXCItXCIpXG4gICAgLnJlcGxhY2UoXCJ0aW1lc1wiLCBcIipcIilcbiAgICAucmVwbGFjZSgvZGl2aWRlKGQpPyhcXHNieSk/L2csIFwiL1wiKTtcbiAgY29uc3QgbnVtYmVycyA9IGNvbnZlcnRXb3Jkcy5yZXBsYWNlKC9cXHMvZywgXCJcIikubWF0Y2goL1teXFx3Ol0qP1xcZCs/L2cpO1xuICByZXR1cm4gbnVtYmVycztcbn07XG4iLCJpbXBvcnQgeyBBcHAsIE1hcmtkb3duVmlldywgTm90aWNlLCBURmlsZSB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IG1leHAgZnJvbSBcIm1hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3JcIjtcblxuaW1wb3J0IHsgQXJndW1lbnRzLCBQb3NpdGlvbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQge1xuICBhcHBlbmRDb250ZW50LFxuICBjcmVhdGVOb3RlLFxuICBwcmVwZW5kQ29udGVudCxcbiAgYWRkQ29udGVudEF0TGluZSxcbiAgcmVtb3ZlQnV0dG9uLFxuICByZW1vdmVTZWN0aW9uLFxufSBmcm9tIFwiLi9oYW5kbGVyc1wiO1xuaW1wb3J0IHtcbiAgZ2V0QnV0dG9uUG9zaXRpb24sXG4gIGdldElubGluZUJ1dHRvblBvc2l0aW9uLFxuICBmaW5kTnVtYmVyLFxufSBmcm9tIFwiLi9wYXJzZXJcIjtcbmltcG9ydCB7IGhhbmRsZVZhbHVlQXJyYXksIGdldE5ld0FyZ3MgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHtcbiAgZ2V0QnV0dG9uU3dhcEJ5SWQsXG4gIHNldEJ1dHRvblN3YXBCeUlkLFxuICBnZXRCdXR0b25CeUlkLFxufSBmcm9tIFwiLi9idXR0b25TdG9yZVwiO1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgeyBhY3Rpb24gfTogQXJndW1lbnRzLFxuICBwb3NpdGlvbjogUG9zaXRpb25cbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBsZXQgZXF1YXRpb24gPSBhY3Rpb247XG4gIGNvbnN0IHZhcmlhYmxlcyA9IGFjdGlvbi5tYXRjaCgvXFwkWzAtOV0qL2cpO1xuICBpZiAodmFyaWFibGVzKSB7XG4gICAgY29uc3Qgb3V0cHV0ID0gdmFyaWFibGVzLm1hcChhc3luYyAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZVZpZXcgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgICAgIGlmIChhY3RpdmVWaWV3KSB7XG4gICAgICAgIGNvbnN0IGxpbmVOdW1iZXIgPSBwYXJzZUludCh2YWx1ZS5zdWJzdHJpbmcoMSkpO1xuICAgICAgICBjb25zdCBudW1iZXJzID0gYXdhaXQgZmluZE51bWJlcihhcHAsIGxpbmVOdW1iZXIpO1xuICAgICAgICByZXR1cm4geyB2YXJpYWJsZTogdmFsdWUsIG51bWJlcnMgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ldyBOb3RpY2UoYGNvdWxkbid0IHJlYWQgZmlsZWAsIDIwMDApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgUHJvbWlzZS5hbGwob3V0cHV0KTtcbiAgICByZXNvbHZlZC5mb3JFYWNoKCh0ZXJtOiB7IHZhcmlhYmxlOiBzdHJpbmc7IG51bWJlcnM6IHN0cmluZ1tdIH0pID0+IHtcbiAgICAgIGlmICh0ZXJtLm51bWJlcnMpIHtcbiAgICAgICAgZXF1YXRpb24gPSBlcXVhdGlvbi5yZXBsYWNlKHRlcm0udmFyaWFibGUsIHRlcm0ubnVtYmVycy5qb2luKFwiXCIpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ldyBOb3RpY2UoXCJDaGVjayB0aGUgbGluZSBudW1iZXIgaW4geW91ciBjYWxjdWxhdGUgYnV0dG9uXCIsIDMwMDApO1xuICAgICAgICBlcXVhdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBjb25zdCBmdW4gPSBlcXVhdGlvbiAmJiBtZXhwLmV2YWwoZXF1YXRpb24pO1xuICBmdW4gJiYgYXBwZW5kQ29udGVudChhcHAsIGBSZXN1bHQ6ICR7ZnVufWAsIHBvc2l0aW9uLmxpbmVFbmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZSA9IChcbiAgYXBwOiBBcHAsXG4gIHsgcmVtb3ZlIH06IEFyZ3VtZW50cyxcbiAgeyBsaW5lU3RhcnQsIGxpbmVFbmQgfTogeyBsaW5lU3RhcnQ6IG51bWJlcjsgbGluZUVuZDogbnVtYmVyIH1cbik6IHZvaWQgPT4ge1xuICBzZXRUaW1lb3V0KCgpID0+IHJlbW92ZUJ1dHRvbihhcHAsIHJlbW92ZSwgbGluZVN0YXJ0LCBsaW5lRW5kKSwgMTAwMCk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVwbGFjZSA9IChhcHA6IEFwcCwgeyByZXBsYWNlIH06IEFyZ3VtZW50cyk6IHZvaWQgPT4ge1xuICByZW1vdmVTZWN0aW9uKGFwcCwgcmVwbGFjZSk7XG59O1xuZXhwb3J0IGNvbnN0IHRleHQgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBhcmdzOiBBcmd1bWVudHMsXG4gIHBvc2l0aW9uOiBQb3NpdGlvblxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIC8vIHByZXBlbmQgdGVtcGxhdGUgYWJvdmUgdGhlIGJ1dHRvblxuICBpZiAoYXJncy50eXBlLmluY2x1ZGVzKFwicHJlcGVuZFwiKSkge1xuICAgIHByZXBlbmRDb250ZW50KGFwcCwgYXJncy5hY3Rpb24sIHBvc2l0aW9uLmxpbmVTdGFydCk7XG4gIH1cbiAgLy8gYXBwZW5kIHRlbXBsYXRlIGJlbG93IHRoZSBidXR0b25cbiAgaWYgKGFyZ3MudHlwZS5pbmNsdWRlcyhcImFwcGVuZFwiKSkge1xuICAgIGFwcGVuZENvbnRlbnQoYXBwLCBhcmdzLmFjdGlvbiwgcG9zaXRpb24ubGluZUVuZCk7XG4gIH1cbiAgaWYgKGFyZ3MudHlwZS5pbmNsdWRlcyhcIm5vdGVcIikpIHtcbiAgICBjcmVhdGVOb3RlKGFwcCwgYXJncy5hY3Rpb24sIGFyZ3MudHlwZSk7XG4gIH1cbiAgaWYgKGFyZ3MudHlwZS5pbmNsdWRlcyhcImxpbmVcIikpIHtcbiAgICBhZGRDb250ZW50QXRMaW5lKGFwcCwgYXJncy5hY3Rpb24sIGFyZ3MudHlwZSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0ZW1wbGF0ZSA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIGFyZ3M6IEFyZ3VtZW50cyxcbiAgcG9zaXRpb246IFBvc2l0aW9uXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgdGVtcGxhdGVzRW5hYmxlZCA9IGFwcC5pbnRlcm5hbFBsdWdpbnMucGx1Z2lucy50ZW1wbGF0ZXMuZW5hYmxlZDtcbiAgY29uc3QgdGVtcGxhdGVyUGx1Z2luRW5hYmxlZCA9XG4gICAgYXBwLnBsdWdpbnMucGx1Z2luc1tcInRlbXBsYXRlci1vYnNpZGlhblwiXTtcblxuICAvLyBvbmx5IHJ1biBpZiB0ZW1wbGF0ZXMgcGx1Z2luIGlzIGVuYWJsZWRcbiAgaWYgKHRlbXBsYXRlc0VuYWJsZWQgfHwgdGVtcGxhdGVyUGx1Z2luRW5hYmxlZCkge1xuICAgIGNvbnN0IGZvbGRlcnM6IHN0cmluZ1tdID0gW1xuICAgICAgdGVtcGxhdGVzRW5hYmxlZCAmJiBhcHAuaW50ZXJuYWxQbHVnaW5zLnBsdWdpbnMudGVtcGxhdGVzLmluc3RhbmNlLm9wdGlvbnMuZm9sZGVyPy50b0xvd2VyQ2FzZSgpLFxuICAgICAgdGVtcGxhdGVyUGx1Z2luRW5hYmxlZCAmJiBhcHAucGx1Z2lucz8ucGx1Z2luc1tcbiAgICAgICAgXCJ0ZW1wbGF0ZXItb2JzaWRpYW5cIlxuICAgICAgXT8uc2V0dGluZ3MudGVtcGxhdGVfZm9sZGVyPy50b0xvd2VyQ2FzZSgpLFxuICAgICAgdGVtcGxhdGVyUGx1Z2luRW5hYmxlZCAmJiBhcHAucGx1Z2lucz8ucGx1Z2luc1tcbiAgICAgICAgXCJ0ZW1wbGF0ZXItb2JzaWRpYW5cIlxuICAgICAgXT8uc2V0dGluZ3MudGVtcGxhdGVzX2ZvbGRlcj8udG9Mb3dlckNhc2UoKSxcbiAgICBdLmZpbHRlcigoZm9sZGVyKSA9PiBmb2xkZXIpO1xuICAgIGNvbnN0IHRlbXBsYXRlRmlsZSA9IGFyZ3MuYWN0aW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgYWxsRmlsZXMgPSBhcHAudmF1bHQuZ2V0RmlsZXMoKTtcbiAgICBjb25zdCBmaWxlOiBURmlsZSA9IGFsbEZpbGVzLmZpbHRlcigoZmlsZSkgPT4ge1xuICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICBmb2xkZXJzWzBdICYmXG4gICAgICAgIGZvbGRlcnMuZm9yRWFjaCgoZm9sZGVyKSA9PiB7XG4gICAgICAgICAgaWYgKGZpbGUucGF0aC50b0xvd2VyQ2FzZSgpID09PSBgJHtmb2xkZXJ9LyR7dGVtcGxhdGVGaWxlfS5tZGApIHtcbiAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH0pWzBdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoZmlsZSk7XG4gICAgICAvLyBwcmVwZW5kIHRlbXBsYXRlIGFib3ZlIHRoZSBidXR0b25cbiAgICAgIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJwcmVwZW5kXCIpKSB7XG4gICAgICAgIHByZXBlbmRDb250ZW50KGFwcCwgY29udGVudCwgcG9zaXRpb24ubGluZVN0YXJ0KTtcbiAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgYXBwLmNvbW1hbmRzLmV4ZWN1dGVDb21tYW5kQnlJZChcbiAgICAgICAgICAgICAgXCJ0ZW1wbGF0ZXItb2JzaWRpYW46cmVwbGFjZS1pbi1maWxlLXRlbXBsYXRlclwiXG4gICAgICAgICAgICApLFxuICAgICAgICAgIDEwMFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy8gYXBwZW5kIHRlbXBsYXRlIGJlbG93IHRoZSBidXR0b25cbiAgICAgIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJhcHBlbmRcIikpIHtcbiAgICAgICAgYXBwZW5kQ29udGVudChhcHAsIGNvbnRlbnQsIHBvc2l0aW9uLmxpbmVFbmQpO1xuICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgICBhcHAuY29tbWFuZHMuZXhlY3V0ZUNvbW1hbmRCeUlkKFxuICAgICAgICAgICAgICBcInRlbXBsYXRlci1vYnNpZGlhbjpyZXBsYWNlLWluLWZpbGUtdGVtcGxhdGVyXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgMTAwXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoYXJncy50eXBlLmluY2x1ZGVzKFwibm90ZVwiKSkge1xuICAgICAgICBjcmVhdGVOb3RlKGFwcCwgY29udGVudCwgYXJncy50eXBlKTtcbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJsaW5lXCIpKSB7XG4gICAgICAgIGFkZENvbnRlbnRBdExpbmUoYXBwLCBjb250ZW50LCBhcmdzLnR5cGUpO1xuICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgICBhcHAuY29tbWFuZHMuZXhlY3V0ZUNvbW1hbmRCeUlkKFxuICAgICAgICAgICAgICBcInRlbXBsYXRlci1vYnNpZGlhbjpyZXBsYWNlLWluLWZpbGUtdGVtcGxhdGVyXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgMTAwXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ldyBOb3RpY2UoXG4gICAgICAgIGBDb3VsZG4ndCBmaW5kIHRoZSBzcGVjaWZpZWQgdGVtcGxhdGUsIHBsZWFzZSBjaGVjayBhbmQgdHJ5IGFnYWluYCxcbiAgICAgICAgMjAwMFxuICAgICAgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3IE5vdGljZShcbiAgICAgIFwiWW91IG5lZWQgdG8gaGF2ZSB0aGUgVGVtcGxhdGVzIG9yIFRlbXBsYXRlciBwbHVnaW4gZW5hYmxlZCBhbmQgVGVtcGxhdGUgZm9sZGVyIGRlZmluZWRcIixcbiAgICAgIDIwMDBcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbGluayA9ICh7IGFjdGlvbiB9OiBBcmd1bWVudHMpOiB2b2lkID0+IHtcbiAgY29uc3QgbGluayA9IGFjdGlvbi50cmltKCk7XG4gIHdpbmRvdy5vcGVuKGxpbmspO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbW1hbmQgPSAoYXBwOiBBcHAsIHsgYWN0aW9uIH06IEFyZ3VtZW50cyk6IHZvaWQgPT4ge1xuICBjb25zdCBhbGxDb21tYW5kcyA9IGFwcC5jb21tYW5kcy5saXN0Q29tbWFuZHMoKTtcbiAgY29uc3QgY29tbWFuZCA9IGFsbENvbW1hbmRzLmZpbHRlcihcbiAgICAoY29tbWFuZCkgPT4gY29tbWFuZC5uYW1lLnRvVXBwZXJDYXNlKCkgPT09IGFjdGlvbi50b1VwcGVyQ2FzZSgpLnRyaW0oKVxuICApWzBdO1xuICBhcHAuY29tbWFuZHMuZXhlY3V0ZUNvbW1hbmRCeUlkKGNvbW1hbmQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHN3YXAgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBzd2FwOiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcsXG4gIGlubGluZTogYm9vbGVhbixcbiAgZmlsZTogVEZpbGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBoYW5kbGVWYWx1ZUFycmF5KHN3YXAsIGFzeW5jIChhcmdBcnJheSkgPT4ge1xuICAgIGNvbnN0IHN3YXAgPSBhd2FpdCBnZXRCdXR0b25Td2FwQnlJZChhcHAsIGlkKTtcbiAgICBjb25zdCBuZXdTd2FwID0gc3dhcCArIDEgPiBhcmdBcnJheS5sZW5ndGggLSAxID8gMCA6IHN3YXAgKyAxO1xuICAgIHNldEJ1dHRvblN3YXBCeUlkKGFwcCwgaWQsIG5ld1N3YXApO1xuICAgIGxldCBhcmdzID0gYXdhaXQgZ2V0QnV0dG9uQnlJZChhcHAsIGFyZ0FycmF5W3N3YXBdKTtcbiAgICBsZXQgcG9zaXRpb247XG4gICAgbGV0IGNvbnRlbnQ7XG4gICAgaWYgKGFyZ3MpIHtcbiAgICAgIGlmIChhcmdzLnRlbXBsYXRlcikge1xuICAgICAgICBhcmdzID0gYXdhaXQgdGVtcGxhdGVyKGFwcCwgcG9zaXRpb24pO1xuICAgICAgICBpZiAoaW5saW5lKSB7XG4gICAgICAgICAgbmV3IE5vdGljZShcInRlbXBsYXRlciBhcmdzIGRvbid0IHdvcmsgd2l0aCBpbmxpbmUgYnV0dG9ucyB5ZXRcIiwgMjAwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLnJlcGxhY2UpIHtcbiAgICAgICAgcmVwbGFjZShhcHAsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgaWYgKGFyZ3MudHlwZSA9PT0gXCJjb21tYW5kXCIpIHtcbiAgICAgICAgY29tbWFuZChhcHAsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgLy8gaGFuZGxlIGxpbmsgYnV0dG9uc1xuICAgICAgaWYgKGFyZ3MudHlwZSA9PT0gXCJsaW5rXCIpIHtcbiAgICAgICAgbGluayhhcmdzKTtcbiAgICAgIH1cbiAgICAgIC8vIGhhbmRsZSB0ZW1wbGF0ZSBidXR0b25zXG4gICAgICBpZiAoYXJncy50eXBlICYmIGFyZ3MudHlwZS5pbmNsdWRlcyhcInRlbXBsYXRlXCIpKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChmaWxlKTtcbiAgICAgICAgICBwb3NpdGlvbiA9IGlubGluZVxuICAgICAgICAgICAgPyBhd2FpdCBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbihhcHAsIGlkKVxuICAgICAgICAgICAgOiBnZXRCdXR0b25Qb3NpdGlvbihjb250ZW50LCBhcmdzKTtcbiAgICAgICAgICB0ZW1wbGF0ZShhcHAsIGFyZ3MsIHBvc2l0aW9uKTtcbiAgICAgICAgfSwgNTApO1xuICAgICAgfVxuICAgICAgaWYgKGFyZ3MudHlwZSA9PT0gXCJjYWxjdWxhdGVcIikge1xuICAgICAgICBjYWxjdWxhdGUoYXBwLCBhcmdzLCBwb3NpdGlvbik7XG4gICAgICB9XG4gICAgICBpZiAoYXJncy50eXBlICYmIGFyZ3MudHlwZS5pbmNsdWRlcyhcInRleHRcIikpIHtcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xuICAgICAgICAgIHBvc2l0aW9uID0gaW5saW5lXG4gICAgICAgICAgICA/IGF3YWl0IGdldElubGluZUJ1dHRvblBvc2l0aW9uKGFwcCwgaWQpXG4gICAgICAgICAgICA6IGdldEJ1dHRvblBvc2l0aW9uKGNvbnRlbnQsIGFyZ3MpO1xuICAgICAgICAgIHRleHQoYXBwLCBhcmdzLCBwb3NpdGlvbik7XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH1cbiAgICAgIC8vIGhhbmRsZSByZW1vdmluZyB0aGUgYnV0dG9uXG4gICAgICBpZiAoYXJncy5yZW1vdmUpIHtcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xuICAgICAgICAgIHBvc2l0aW9uID0gaW5saW5lXG4gICAgICAgICAgICA/IGF3YWl0IGdldElubGluZUJ1dHRvblBvc2l0aW9uKGFwcCwgaWQpXG4gICAgICAgICAgICA6IGdldEJ1dHRvblBvc2l0aW9uKGNvbnRlbnQsIGFyZ3MpO1xuICAgICAgICAgIHJlbW92ZShhcHAsIGFyZ3MsIHBvc2l0aW9uKTtcbiAgICAgICAgfSwgNzUpO1xuICAgICAgfVxuICAgICAgaWYgKGFyZ3MucmVwbGFjZSkge1xuICAgICAgICByZXBsYWNlKGFwcCwgYXJncyk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCB0ZW1wbGF0ZXIgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBwb3NpdGlvbjogUG9zaXRpb25cbik6IFByb21pc2U8QXJndW1lbnRzPiA9PiB7XG4gIGFwcC5jb21tYW5kcy5leGVjdXRlQ29tbWFuZEJ5SWQoXCJlZGl0b3I6c2F2ZS1maWxlXCIpO1xuICBjb25zdCBhY3RpdmVWaWV3ID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gIGlmIChhY3RpdmVWaWV3KSB7XG4gICAgY29uc3QgZmlsZSA9IGFjdGl2ZVZpZXcuZmlsZTtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LmNhY2hlZFJlYWQoZmlsZSk7XG4gICAgYXBwLmNvbW1hbmRzLmV4ZWN1dGVDb21tYW5kQnlJZChcbiAgICAgIFwidGVtcGxhdGVyLW9ic2lkaWFuOnJlcGxhY2UtaW4tZmlsZS10ZW1wbGF0ZXJcIlxuICAgICk7XG4gICAgY29uc3QgeyBhcmdzIH0gPSBhd2FpdCBnZXROZXdBcmdzKGFwcCwgcG9zaXRpb24pO1xuICAgIGNvbnN0IGNhY2hlZERhdGE6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgY2FjaGVDaGFuZ2UgPSBhcHAudmF1bHQub24oXCJtb2RpZnlcIiwgKGZpbGUpID0+IHtcbiAgICAgIGNhY2hlZERhdGEucHVzaChmaWxlLnVuc2FmZUNhY2hlZERhdGEpO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnV0dG9uID0gY29udGVudFxuICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgLnNwbGljZShwb3NpdGlvbi5saW5lU3RhcnQsIHBvc2l0aW9uLmxpbmVFbmQgLSBwb3NpdGlvbi5saW5lU3RhcnQgKyAyKVxuICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgIGxldCBmaW5hbENvbnRlbnQ7XG4gICAgICBpZiAoY2FjaGVkRGF0YVswXSkge1xuICAgICAgICBjb25zdCBjYWNoZWRDb250ZW50ID0gY2FjaGVkRGF0YVtjYWNoZWREYXRhLmxlbmd0aCAtIDFdLnNwbGl0KFwiXFxuXCIpO1xuICAgICAgICBsZXQgYWRkT25lID0gZmFsc2U7XG4gICAgICAgIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJwcmVwZW5kXCIpKSB7XG4gICAgICAgICAgYWRkT25lID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJsaW5lXCIpKSB7XG4gICAgICAgICAgY29uc3QgbGluZU51bWJlciA9IGFyZ3MudHlwZS5tYXRjaCgvKFxcZCspL2cpO1xuICAgICAgICAgIGlmIChsaW5lTnVtYmVyWzBdKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gcGFyc2VJbnQobGluZU51bWJlclswXSkgLSAxO1xuICAgICAgICAgICAgaWYgKGxpbmUgPCBwb3NpdGlvbi5saW5lU3RhcnQgJiYgIWFyZ3MucmVwbGFjZSkge1xuICAgICAgICAgICAgICBhZGRPbmUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWRkT25lKSB7XG4gICAgICAgICAgY2FjaGVkQ29udGVudC5zcGxpY2UoXG4gICAgICAgICAgICBwb3NpdGlvbi5saW5lU3RhcnQgKyAxLFxuICAgICAgICAgICAgcG9zaXRpb24ubGluZUVuZCAtIHBvc2l0aW9uLmxpbmVTdGFydCArIDIsXG4gICAgICAgICAgICBidXR0b25cbiAgICAgICAgICApO1xuICAgICAgICB9ICBlbHNlIHtcbiAgICAgICAgICBjYWNoZWRDb250ZW50LnNwbGljZShcbiAgICAgICAgICAgIHBvc2l0aW9uLmxpbmVTdGFydCxcbiAgICAgICAgICAgIHBvc2l0aW9uLmxpbmVFbmQgLSBwb3NpdGlvbi5saW5lU3RhcnQgKyAyLFxuICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbENvbnRlbnQgPSBjYWNoZWRDb250ZW50LmpvaW4oXCJcXG5cIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmaW5hbENvbnRlbnQgPSBjb250ZW50O1xuICAgICAgfVxuICAgICAgYXdhaXQgYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCBmaW5hbENvbnRlbnQpO1xuICAgICAgYXBwLm1ldGFkYXRhQ2FjaGUub2ZmcmVmKGNhY2hlQ2hhbmdlKTtcbiAgICB9LCAyMDApO1xuICAgIHJldHVybiBhcmdzO1xuICB9XG59O1xuIiwiaW1wb3J0IHsgQXBwLCBOb3RpY2UsIE1hcmtkb3duVmlld30gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBBcmd1bWVudHMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgY2FsY3VsYXRlLFxuICByZW1vdmUsXG4gIHJlcGxhY2UsXG4gIHRlbXBsYXRlLFxuICBsaW5rLFxuICBjb21tYW5kLFxuICBzd2FwLFxuICB0ZW1wbGF0ZXIsXG4gIHRleHQsXG59IGZyb20gXCIuL2J1dHRvblR5cGVzXCI7XG5pbXBvcnQgeyBnZXRCdXR0b25Qb3NpdGlvbiwgZ2V0SW5saW5lQnV0dG9uUG9zaXRpb24gfSBmcm9tIFwiLi9wYXJzZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdXR0b24ge1xuICBhcHA/OiBBcHA7XG4gIGVsPzogSFRNTEVsZW1lbnQ7XG4gIGFyZ3M/OiBBcmd1bWVudHM7XG4gIGlubGluZT86IGJvb2xlYW47XG4gIGlkPzogc3RyaW5nO1xuICBjbGlja092ZXJyaWRlPzoge1xuICAgIHBhcmFtczogYW55W107XG4gICAgY2xpY2s6ICguLi5wYXJhbXM6IGFueVtdKSA9PiB2b2lkO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQnV0dG9uID0gKHtcbiAgYXBwLFxuICBlbCxcbiAgYXJncyxcbiAgaW5saW5lLFxuICBpZCxcbiAgY2xpY2tPdmVycmlkZSxcbn06IEJ1dHRvbik6IEhUTUxFbGVtZW50ID0+IHtcbiAgLy9jcmVhdGUgdGhlIGJ1dHRvbiBlbGVtZW50XG4gIGNvbnN0IGJ1dHRvbiA9IGVsLmNyZWF0ZUVsKFwiYnV0dG9uXCIsIHtcbiAgICBjbHM6IGFyZ3MuY2xhc3NcbiAgICAgID8gYCR7YXJncy5jbGFzc30gJHthcmdzLmNvbG9yfWBcbiAgICAgIDogYGJ1dHRvbi1kZWZhdWx0ICR7YXJncy5jb2xvciA/IGFyZ3MuY29sb3IgOiBcIlwifWAsXG4gIH0pO1xuICBidXR0b24uaW5uZXJIVE1MID0gYXJncy5uYW1lO1xuICBhcmdzLmlkID8gYnV0dG9uLnNldEF0dHJpYnV0ZShcImlkXCIsIGFyZ3MuaWQpIDogXCJcIjtcbiAgYnV0dG9uLm9uKFwiY2xpY2tcIiwgXCJidXR0b25cIiwgKCkgPT4ge1xuICAgIGNsaWNrT3ZlcnJpZGVcbiAgICAgID8gY2xpY2tPdmVycmlkZS5jbGljayguLi5jbGlja092ZXJyaWRlLnBhcmFtcylcbiAgICAgIDogY2xpY2tIYW5kbGVyKGFwcCwgYXJncywgaW5saW5lLCBpZCk7XG4gIH0pO1xuICByZXR1cm4gYnV0dG9uO1xufTtcblxuY29uc3QgY2xpY2tIYW5kbGVyID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgYXJnczogQXJndW1lbnRzLFxuICBpbmxpbmU6IGJvb2xlYW4sXG4gIGlkOiBzdHJpbmdcbikgPT4ge1xuICBjb25zdCBhY3RpdmVWaWV3ID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gIGxldCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoYWN0aXZlVmlldy5maWxlKTtcbiAgbGV0IHBvc2l0aW9uID0gaW5saW5lXG4gICAgPyBhd2FpdCBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbihhcHAsIGlkKVxuICAgIDogZ2V0QnV0dG9uUG9zaXRpb24oY29udGVudCwgYXJncyk7XG4gIC8vIGhhbmRsZSBjb21tYW5kIGJ1dHRvbnNcbiAgaWYgKGFyZ3MudGVtcGxhdGVyKSB7XG4gICAgYXJncyA9IGF3YWl0IHRlbXBsYXRlcihhcHAsIHBvc2l0aW9uKTtcbiAgICBpZiAoaW5saW5lKSB7XG4gICAgICBuZXcgTm90aWNlKFwidGVtcGxhdGVyIGFyZ3MgZG9uJ3Qgd29yayB3aXRoIGlubGluZSBidXR0b25zIHlldFwiLCAyMDAwKTtcbiAgICB9XG4gIH1cbiAgaWYgKGFyZ3MucmVwbGFjZSkge1xuICAgIHJlcGxhY2UoYXBwLCBhcmdzKTtcbiAgfVxuICBpZiAoYXJncy50eXBlID09PSBcImNvbW1hbmRcIikge1xuICAgIGNvbW1hbmQoYXBwLCBhcmdzKTtcbiAgfVxuICAvLyBoYW5kbGUgbGluayBidXR0b25zXG4gIGlmIChhcmdzLnR5cGUgPT09IFwibGlua1wiKSB7XG4gICAgbGluayhhcmdzKTtcbiAgfVxuICAvLyBoYW5kbGUgdGVtcGxhdGUgYnV0dG9uc1xuICBpZiAoYXJncy50eXBlICYmIGFyZ3MudHlwZS5pbmNsdWRlcyhcInRlbXBsYXRlXCIpKSB7XG4gICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoYWN0aXZlVmlldy5maWxlKTtcbiAgICAgIHBvc2l0aW9uID0gaW5saW5lXG4gICAgICAgID8gYXdhaXQgZ2V0SW5saW5lQnV0dG9uUG9zaXRpb24oYXBwLCBpZClcbiAgICAgICAgOiBnZXRCdXR0b25Qb3NpdGlvbihjb250ZW50LCBhcmdzKTtcbiAgICAgIHRlbXBsYXRlKGFwcCwgYXJncywgcG9zaXRpb24pO1xuICAgIH0sIDUwKTtcbiAgfVxuICBpZiAoYXJncy50eXBlID09PSBcImNhbGN1bGF0ZVwiKSB7XG4gICAgY2FsY3VsYXRlKGFwcCwgYXJncywgcG9zaXRpb24pO1xuICB9XG4gIGlmIChhcmdzLnR5cGUgJiYgYXJncy50eXBlLmluY2x1ZGVzKFwidGV4dFwiKSkge1xuICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGFjdGl2ZVZpZXcuZmlsZSk7XG4gICAgICBwb3NpdGlvbiA9IGlubGluZVxuICAgICAgICA/IGF3YWl0IGdldElubGluZUJ1dHRvblBvc2l0aW9uKGFwcCwgaWQpXG4gICAgICAgIDogZ2V0QnV0dG9uUG9zaXRpb24oY29udGVudCwgYXJncyk7XG4gICAgICB0ZXh0KGFwcCwgYXJncywgcG9zaXRpb24pO1xuICAgIH0sIDUwKTtcbiAgfVxuICAvLyBoYW5kbGUgcmVtb3ZpbmcgdGhlIGJ1dHRvblxuICBpZiAoYXJncy5yZW1vdmUpIHtcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChhY3RpdmVWaWV3LmZpbGUpO1xuICAgICAgcG9zaXRpb24gPSBpbmxpbmVcbiAgICAgICAgPyBhd2FpdCBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbihhcHAsIGlkKVxuICAgICAgICA6IGdldEJ1dHRvblBvc2l0aW9uKGNvbnRlbnQsIGFyZ3MpO1xuICAgICAgcmVtb3ZlKGFwcCwgYXJncywgcG9zaXRpb24pO1xuICAgIH0sIDEwMDApO1xuICB9XG4gIGlmIChhcmdzLnN3YXApIHtcbiAgICBpZiAoIWlubGluZSkge1xuICAgICAgbmV3IE5vdGljZShcInN3YXAgYXJncyBvbmx5IHdvcmsgaW4gaW5saW5lIGJ1dHRvbnMgZm9yIG5vd1wiLCAyMDAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3dhcChhcHAsIGFyZ3Muc3dhcCwgaWQsIGlubGluZSwgYWN0aXZlVmlldy5maWxlKTtcbiAgICB9XG4gIH1cbn07XG4iLCJleHBvcnQgdmFyIHRvcCA9ICd0b3AnO1xuZXhwb3J0IHZhciBib3R0b20gPSAnYm90dG9tJztcbmV4cG9ydCB2YXIgcmlnaHQgPSAncmlnaHQnO1xuZXhwb3J0IHZhciBsZWZ0ID0gJ2xlZnQnO1xuZXhwb3J0IHZhciBhdXRvID0gJ2F1dG8nO1xuZXhwb3J0IHZhciBiYXNlUGxhY2VtZW50cyA9IFt0b3AsIGJvdHRvbSwgcmlnaHQsIGxlZnRdO1xuZXhwb3J0IHZhciBzdGFydCA9ICdzdGFydCc7XG5leHBvcnQgdmFyIGVuZCA9ICdlbmQnO1xuZXhwb3J0IHZhciBjbGlwcGluZ1BhcmVudHMgPSAnY2xpcHBpbmdQYXJlbnRzJztcbmV4cG9ydCB2YXIgdmlld3BvcnQgPSAndmlld3BvcnQnO1xuZXhwb3J0IHZhciBwb3BwZXIgPSAncG9wcGVyJztcbmV4cG9ydCB2YXIgcmVmZXJlbmNlID0gJ3JlZmVyZW5jZSc7XG5leHBvcnQgdmFyIHZhcmlhdGlvblBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovYmFzZVBsYWNlbWVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICByZXR1cm4gYWNjLmNvbmNhdChbcGxhY2VtZW50ICsgXCItXCIgKyBzdGFydCwgcGxhY2VtZW50ICsgXCItXCIgKyBlbmRdKTtcbn0sIFtdKTtcbmV4cG9ydCB2YXIgcGxhY2VtZW50cyA9IC8qI19fUFVSRV9fKi9bXS5jb25jYXQoYmFzZVBsYWNlbWVudHMsIFthdXRvXSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICByZXR1cm4gYWNjLmNvbmNhdChbcGxhY2VtZW50LCBwbGFjZW1lbnQgKyBcIi1cIiArIHN0YXJ0LCBwbGFjZW1lbnQgKyBcIi1cIiArIGVuZF0pO1xufSwgW10pOyAvLyBtb2RpZmllcnMgdGhhdCBuZWVkIHRvIHJlYWQgdGhlIERPTVxuXG5leHBvcnQgdmFyIGJlZm9yZVJlYWQgPSAnYmVmb3JlUmVhZCc7XG5leHBvcnQgdmFyIHJlYWQgPSAncmVhZCc7XG5leHBvcnQgdmFyIGFmdGVyUmVhZCA9ICdhZnRlclJlYWQnOyAvLyBwdXJlLWxvZ2ljIG1vZGlmaWVyc1xuXG5leHBvcnQgdmFyIGJlZm9yZU1haW4gPSAnYmVmb3JlTWFpbic7XG5leHBvcnQgdmFyIG1haW4gPSAnbWFpbic7XG5leHBvcnQgdmFyIGFmdGVyTWFpbiA9ICdhZnRlck1haW4nOyAvLyBtb2RpZmllciB3aXRoIHRoZSBwdXJwb3NlIHRvIHdyaXRlIHRvIHRoZSBET00gKG9yIHdyaXRlIGludG8gYSBmcmFtZXdvcmsgc3RhdGUpXG5cbmV4cG9ydCB2YXIgYmVmb3JlV3JpdGUgPSAnYmVmb3JlV3JpdGUnO1xuZXhwb3J0IHZhciB3cml0ZSA9ICd3cml0ZSc7XG5leHBvcnQgdmFyIGFmdGVyV3JpdGUgPSAnYWZ0ZXJXcml0ZSc7XG5leHBvcnQgdmFyIG1vZGlmaWVyUGhhc2VzID0gW2JlZm9yZVJlYWQsIHJlYWQsIGFmdGVyUmVhZCwgYmVmb3JlTWFpbiwgbWFpbiwgYWZ0ZXJNYWluLCBiZWZvcmVXcml0ZSwgd3JpdGUsIGFmdGVyV3JpdGVdOyIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE5vZGVOYW1lKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnQgPyAoZWxlbWVudC5ub2RlTmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKSA6IG51bGw7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2luZG93KG5vZGUpIHtcbiAgaWYgKG5vZGUgPT0gbnVsbCkge1xuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICBpZiAobm9kZS50b1N0cmluZygpICE9PSAnW29iamVjdCBXaW5kb3ddJykge1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gbm9kZS5vd25lckRvY3VtZW50O1xuICAgIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3cgOiB3aW5kb3c7XG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuXG5mdW5jdGlvbiBpc0VsZW1lbnQobm9kZSkge1xuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5FbGVtZW50O1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIE93bkVsZW1lbnQgfHwgbm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzSFRNTEVsZW1lbnQobm9kZSkge1xuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5IVE1MRWxlbWVudDtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBPd25FbGVtZW50IHx8IG5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDtcbn1cblxuZnVuY3Rpb24gaXNTaGFkb3dSb290KG5vZGUpIHtcbiAgLy8gSUUgMTEgaGFzIG5vIFNoYWRvd1Jvb3RcbiAgaWYgKHR5cGVvZiBTaGFkb3dSb290ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBPd25FbGVtZW50ID0gZ2V0V2luZG93KG5vZGUpLlNoYWRvd1Jvb3Q7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgT3duRWxlbWVudCB8fCBub2RlIGluc3RhbmNlb2YgU2hhZG93Um9vdDtcbn1cblxuZXhwb3J0IHsgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50LCBpc1NoYWRvd1Jvb3QgfTsiLCJpbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4uL2RvbS11dGlscy9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiOyAvLyBUaGlzIG1vZGlmaWVyIHRha2VzIHRoZSBzdHlsZXMgcHJlcGFyZWQgYnkgdGhlIGBjb21wdXRlU3R5bGVzYCBtb2RpZmllclxuLy8gYW5kIGFwcGxpZXMgdGhlbSB0byB0aGUgSFRNTEVsZW1lbnRzIHN1Y2ggYXMgcG9wcGVyIGFuZCBhcnJvd1xuXG5mdW5jdGlvbiBhcHBseVN0eWxlcyhfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGU7XG4gIE9iamVjdC5rZXlzKHN0YXRlLmVsZW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdmFyIHN0eWxlID0gc3RhdGUuc3R5bGVzW25hbWVdIHx8IHt9O1xuICAgIHZhciBhdHRyaWJ1dGVzID0gc3RhdGUuYXR0cmlidXRlc1tuYW1lXSB8fCB7fTtcbiAgICB2YXIgZWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzW25hbWVdOyAvLyBhcnJvdyBpcyBvcHRpb25hbCArIHZpcnR1YWwgZWxlbWVudHNcblxuICAgIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCAhZ2V0Tm9kZU5hbWUoZWxlbWVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIEZsb3cgZG9lc24ndCBzdXBwb3J0IHRvIGV4dGVuZCB0aGlzIHByb3BlcnR5LCBidXQgaXQncyB0aGUgbW9zdFxuICAgIC8vIGVmZmVjdGl2ZSB3YXkgdG8gYXBwbHkgc3R5bGVzIHRvIGFuIEhUTUxFbGVtZW50XG4gICAgLy8gJEZsb3dGaXhNZVtjYW5ub3Qtd3JpdGVdXG5cblxuICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGUpO1xuICAgIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGF0dHJpYnV0ZXNbbmFtZV07XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSA9PT0gdHJ1ZSA/ICcnIDogdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZWZmZWN0KF9yZWYyKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYyLnN0YXRlO1xuICB2YXIgaW5pdGlhbFN0eWxlcyA9IHtcbiAgICBwb3BwZXI6IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0ZS5vcHRpb25zLnN0cmF0ZWd5LFxuICAgICAgbGVmdDogJzAnLFxuICAgICAgdG9wOiAnMCcsXG4gICAgICBtYXJnaW46ICcwJ1xuICAgIH0sXG4gICAgYXJyb3c6IHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgfSxcbiAgICByZWZlcmVuY2U6IHt9XG4gIH07XG4gIE9iamVjdC5hc3NpZ24oc3RhdGUuZWxlbWVudHMucG9wcGVyLnN0eWxlLCBpbml0aWFsU3R5bGVzLnBvcHBlcik7XG4gIHN0YXRlLnN0eWxlcyA9IGluaXRpYWxTdHlsZXM7XG5cbiAgaWYgKHN0YXRlLmVsZW1lbnRzLmFycm93KSB7XG4gICAgT2JqZWN0LmFzc2lnbihzdGF0ZS5lbGVtZW50cy5hcnJvdy5zdHlsZSwgaW5pdGlhbFN0eWxlcy5hcnJvdyk7XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIE9iamVjdC5rZXlzKHN0YXRlLmVsZW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICB2YXIgZWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzW25hbWVdO1xuICAgICAgdmFyIGF0dHJpYnV0ZXMgPSBzdGF0ZS5hdHRyaWJ1dGVzW25hbWVdIHx8IHt9O1xuICAgICAgdmFyIHN0eWxlUHJvcGVydGllcyA9IE9iamVjdC5rZXlzKHN0YXRlLnN0eWxlcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSA/IHN0YXRlLnN0eWxlc1tuYW1lXSA6IGluaXRpYWxTdHlsZXNbbmFtZV0pOyAvLyBTZXQgYWxsIHZhbHVlcyB0byBhbiBlbXB0eSBzdHJpbmcgdG8gdW5zZXQgdGhlbVxuXG4gICAgICB2YXIgc3R5bGUgPSBzdHlsZVByb3BlcnRpZXMucmVkdWNlKGZ1bmN0aW9uIChzdHlsZSwgcHJvcGVydHkpIHtcbiAgICAgICAgc3R5bGVbcHJvcGVydHldID0gJyc7XG4gICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgIH0sIHt9KTsgLy8gYXJyb3cgaXMgb3B0aW9uYWwgKyB2aXJ0dWFsIGVsZW1lbnRzXG5cbiAgICAgIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCAhZ2V0Tm9kZU5hbWUoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBPYmplY3QuYXNzaWduKGVsZW1lbnQuc3R5bGUsIHN0eWxlKTtcbiAgICAgIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZSkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdhcHBseVN0eWxlcycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnd3JpdGUnLFxuICBmbjogYXBwbHlTdHlsZXMsXG4gIGVmZmVjdDogZWZmZWN0LFxuICByZXF1aXJlczogWydjb21wdXRlU3R5bGVzJ11cbn07IiwiaW1wb3J0IHsgYXV0byB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0QmFzZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xufSIsImV4cG9ydCB2YXIgbWF4ID0gTWF0aC5tYXg7XG5leHBvcnQgdmFyIG1pbiA9IE1hdGgubWluO1xuZXhwb3J0IHZhciByb3VuZCA9IE1hdGgucm91bmQ7IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VUFTdHJpbmcoKSB7XG4gIHZhciB1YURhdGEgPSBuYXZpZ2F0b3IudXNlckFnZW50RGF0YTtcblxuICBpZiAodWFEYXRhICE9IG51bGwgJiYgdWFEYXRhLmJyYW5kcykge1xuICAgIHJldHVybiB1YURhdGEuYnJhbmRzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW0uYnJhbmQgKyBcIi9cIiArIGl0ZW0udmVyc2lvbjtcbiAgICB9KS5qb2luKCcgJyk7XG4gIH1cblxuICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbn0iLCJpbXBvcnQgZ2V0VUFTdHJpbmcgZnJvbSBcIi4uL3V0aWxzL3VzZXJBZ2VudC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNMYXlvdXRWaWV3cG9ydCgpIHtcbiAgcmV0dXJuICEvXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KGdldFVBU3RyaW5nKCkpO1xufSIsImltcG9ydCB7IGlzRWxlbWVudCwgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCB7IHJvdW5kIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcbmltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4vZ2V0V2luZG93LmpzXCI7XG5pbXBvcnQgaXNMYXlvdXRWaWV3cG9ydCBmcm9tIFwiLi9pc0xheW91dFZpZXdwb3J0LmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgaW5jbHVkZVNjYWxlLCBpc0ZpeGVkU3RyYXRlZ3kpIHtcbiAgaWYgKGluY2x1ZGVTY2FsZSA9PT0gdm9pZCAwKSB7XG4gICAgaW5jbHVkZVNjYWxlID0gZmFsc2U7XG4gIH1cblxuICBpZiAoaXNGaXhlZFN0cmF0ZWd5ID09PSB2b2lkIDApIHtcbiAgICBpc0ZpeGVkU3RyYXRlZ3kgPSBmYWxzZTtcbiAgfVxuXG4gIHZhciBjbGllbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgdmFyIHNjYWxlWCA9IDE7XG4gIHZhciBzY2FsZVkgPSAxO1xuXG4gIGlmIChpbmNsdWRlU2NhbGUgJiYgaXNIVE1MRWxlbWVudChlbGVtZW50KSkge1xuICAgIHNjYWxlWCA9IGVsZW1lbnQub2Zmc2V0V2lkdGggPiAwID8gcm91bmQoY2xpZW50UmVjdC53aWR0aCkgLyBlbGVtZW50Lm9mZnNldFdpZHRoIHx8IDEgOiAxO1xuICAgIHNjYWxlWSA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0ID4gMCA/IHJvdW5kKGNsaWVudFJlY3QuaGVpZ2h0KSAvIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8IDEgOiAxO1xuICB9XG5cbiAgdmFyIF9yZWYgPSBpc0VsZW1lbnQoZWxlbWVudCkgPyBnZXRXaW5kb3coZWxlbWVudCkgOiB3aW5kb3csXG4gICAgICB2aXN1YWxWaWV3cG9ydCA9IF9yZWYudmlzdWFsVmlld3BvcnQ7XG5cbiAgdmFyIGFkZFZpc3VhbE9mZnNldHMgPSAhaXNMYXlvdXRWaWV3cG9ydCgpICYmIGlzRml4ZWRTdHJhdGVneTtcbiAgdmFyIHggPSAoY2xpZW50UmVjdC5sZWZ0ICsgKGFkZFZpc3VhbE9mZnNldHMgJiYgdmlzdWFsVmlld3BvcnQgPyB2aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0IDogMCkpIC8gc2NhbGVYO1xuICB2YXIgeSA9IChjbGllbnRSZWN0LnRvcCArIChhZGRWaXN1YWxPZmZzZXRzICYmIHZpc3VhbFZpZXdwb3J0ID8gdmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wIDogMCkpIC8gc2NhbGVZO1xuICB2YXIgd2lkdGggPSBjbGllbnRSZWN0LndpZHRoIC8gc2NhbGVYO1xuICB2YXIgaGVpZ2h0ID0gY2xpZW50UmVjdC5oZWlnaHQgLyBzY2FsZVk7XG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIHRvcDogeSxcbiAgICByaWdodDogeCArIHdpZHRoLFxuICAgIGJvdHRvbTogeSArIGhlaWdodCxcbiAgICBsZWZ0OiB4LFxuICAgIHg6IHgsXG4gICAgeTogeVxuICB9O1xufSIsImltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7IC8vIFJldHVybnMgdGhlIGxheW91dCByZWN0IG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gaXRzIG9mZnNldFBhcmVudC4gTGF5b3V0XG4vLyBtZWFucyBpdCBkb2Vzbid0IHRha2UgaW50byBhY2NvdW50IHRyYW5zZm9ybXMuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldExheW91dFJlY3QoZWxlbWVudCkge1xuICB2YXIgY2xpZW50UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50KTsgLy8gVXNlIHRoZSBjbGllbnRSZWN0IHNpemVzIGlmIGl0J3Mgbm90IGJlZW4gdHJhbnNmb3JtZWQuXG4gIC8vIEZpeGVzIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3BwZXJqcy9wb3BwZXItY29yZS9pc3N1ZXMvMTIyM1xuXG4gIHZhciB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gIHZhciBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcblxuICBpZiAoTWF0aC5hYnMoY2xpZW50UmVjdC53aWR0aCAtIHdpZHRoKSA8PSAxKSB7XG4gICAgd2lkdGggPSBjbGllbnRSZWN0LndpZHRoO1xuICB9XG5cbiAgaWYgKE1hdGguYWJzKGNsaWVudFJlY3QuaGVpZ2h0IC0gaGVpZ2h0KSA8PSAxKSB7XG4gICAgaGVpZ2h0ID0gY2xpZW50UmVjdC5oZWlnaHQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHg6IGVsZW1lbnQub2Zmc2V0TGVmdCxcbiAgICB5OiBlbGVtZW50Lm9mZnNldFRvcCxcbiAgICB3aWR0aDogd2lkdGgsXG4gICAgaGVpZ2h0OiBoZWlnaHRcbiAgfTtcbn0iLCJpbXBvcnQgeyBpc1NoYWRvd1Jvb3QgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb250YWlucyhwYXJlbnQsIGNoaWxkKSB7XG4gIHZhciByb290Tm9kZSA9IGNoaWxkLmdldFJvb3ROb2RlICYmIGNoaWxkLmdldFJvb3ROb2RlKCk7IC8vIEZpcnN0LCBhdHRlbXB0IHdpdGggZmFzdGVyIG5hdGl2ZSBtZXRob2RcblxuICBpZiAocGFyZW50LmNvbnRhaW5zKGNoaWxkKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIHRoZW4gZmFsbGJhY2sgdG8gY3VzdG9tIGltcGxlbWVudGF0aW9uIHdpdGggU2hhZG93IERPTSBzdXBwb3J0XG4gIGVsc2UgaWYgKHJvb3ROb2RlICYmIGlzU2hhZG93Um9vdChyb290Tm9kZSkpIHtcbiAgICAgIHZhciBuZXh0ID0gY2hpbGQ7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgaWYgKG5leHQgJiYgcGFyZW50LmlzU2FtZU5vZGUobmV4dCkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ106IG5lZWQgYSBiZXR0ZXIgd2F5IHRvIGhhbmRsZSB0aGlzLi4uXG5cblxuICAgICAgICBuZXh0ID0gbmV4dC5wYXJlbnROb2RlIHx8IG5leHQuaG9zdDtcbiAgICAgIH0gd2hpbGUgKG5leHQpO1xuICAgIH0gLy8gR2l2ZSB1cCwgdGhlIHJlc3VsdCBpcyBmYWxzZVxuXG5cbiAgcmV0dXJuIGZhbHNlO1xufSIsImltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4vZ2V0V2luZG93LmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldFdpbmRvdyhlbGVtZW50KS5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xufSIsImltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNUYWJsZUVsZW1lbnQoZWxlbWVudCkge1xuICByZXR1cm4gWyd0YWJsZScsICd0ZCcsICd0aCddLmluZGV4T2YoZ2V0Tm9kZU5hbWUoZWxlbWVudCkpID49IDA7XG59IiwiaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpIHtcbiAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXTogYXNzdW1lIGJvZHkgaXMgYWx3YXlzIGF2YWlsYWJsZVxuICByZXR1cm4gKChpc0VsZW1lbnQoZWxlbWVudCkgPyBlbGVtZW50Lm93bmVyRG9jdW1lbnQgOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgZWxlbWVudC5kb2N1bWVudCkgfHwgd2luZG93LmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQ7XG59IiwiaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IHsgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSB7XG4gIGlmIChnZXROb2RlTmFtZShlbGVtZW50KSA9PT0gJ2h0bWwnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4gKC8vIHRoaXMgaXMgYSBxdWlja2VyIChidXQgbGVzcyB0eXBlIHNhZmUpIHdheSB0byBzYXZlIHF1aXRlIHNvbWUgYnl0ZXMgZnJvbSB0aGUgYnVuZGxlXG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXVxuICAgIC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuICAgIGVsZW1lbnQuYXNzaWduZWRTbG90IHx8IC8vIHN0ZXAgaW50byB0aGUgc2hhZG93IERPTSBvZiB0aGUgcGFyZW50IG9mIGEgc2xvdHRlZCBub2RlXG4gICAgZWxlbWVudC5wYXJlbnROb2RlIHx8ICggLy8gRE9NIEVsZW1lbnQgZGV0ZWN0ZWRcbiAgICBpc1NoYWRvd1Jvb3QoZWxlbWVudCkgPyBlbGVtZW50Lmhvc3QgOiBudWxsKSB8fCAvLyBTaGFkb3dSb290IGRldGVjdGVkXG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF06IEhUTUxFbGVtZW50IGlzIGEgTm9kZVxuICAgIGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSAvLyBmYWxsYmFja1xuXG4gICk7XG59IiwiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IGdldENvbXB1dGVkU3R5bGUgZnJvbSBcIi4vZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCwgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IGlzVGFibGVFbGVtZW50IGZyb20gXCIuL2lzVGFibGVFbGVtZW50LmpzXCI7XG5pbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5pbXBvcnQgZ2V0VUFTdHJpbmcgZnJvbSBcIi4uL3V0aWxzL3VzZXJBZ2VudC5qc1wiO1xuXG5mdW5jdGlvbiBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQpIHtcbiAgaWYgKCFpc0hUTUxFbGVtZW50KGVsZW1lbnQpIHx8IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3BwZXJqcy9wb3BwZXItY29yZS9pc3N1ZXMvODM3XG4gIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdmaXhlZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50Lm9mZnNldFBhcmVudDtcbn0gLy8gYC5vZmZzZXRQYXJlbnRgIHJlcG9ydHMgYG51bGxgIGZvciBmaXhlZCBlbGVtZW50cywgd2hpbGUgYWJzb2x1dGUgZWxlbWVudHNcbi8vIHJldHVybiB0aGUgY29udGFpbmluZyBibG9ja1xuXG5cbmZ1bmN0aW9uIGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB7XG4gIHZhciBpc0ZpcmVmb3ggPSAvZmlyZWZveC9pLnRlc3QoZ2V0VUFTdHJpbmcoKSk7XG4gIHZhciBpc0lFID0gL1RyaWRlbnQvaS50ZXN0KGdldFVBU3RyaW5nKCkpO1xuXG4gIGlmIChpc0lFICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICAvLyBJbiBJRSA5LCAxMCBhbmQgMTEgZml4ZWQgZWxlbWVudHMgY29udGFpbmluZyBibG9jayBpcyBhbHdheXMgZXN0YWJsaXNoZWQgYnkgdGhlIHZpZXdwb3J0XG4gICAgdmFyIGVsZW1lbnRDc3MgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuXG4gICAgaWYgKGVsZW1lbnRDc3MucG9zaXRpb24gPT09ICdmaXhlZCcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjdXJyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG5cbiAgaWYgKGlzU2hhZG93Um9vdChjdXJyZW50Tm9kZSkpIHtcbiAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLmhvc3Q7XG4gIH1cblxuICB3aGlsZSAoaXNIVE1MRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgWydodG1sJywgJ2JvZHknXS5pbmRleE9mKGdldE5vZGVOYW1lKGN1cnJlbnROb2RlKSkgPCAwKSB7XG4gICAgdmFyIGNzcyA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudE5vZGUpOyAvLyBUaGlzIGlzIG5vbi1leGhhdXN0aXZlIGJ1dCBjb3ZlcnMgdGhlIG1vc3QgY29tbW9uIENTUyBwcm9wZXJ0aWVzIHRoYXRcbiAgICAvLyBjcmVhdGUgYSBjb250YWluaW5nIGJsb2NrLlxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Db250YWluaW5nX2Jsb2NrI2lkZW50aWZ5aW5nX3RoZV9jb250YWluaW5nX2Jsb2NrXG5cbiAgICBpZiAoY3NzLnRyYW5zZm9ybSAhPT0gJ25vbmUnIHx8IGNzcy5wZXJzcGVjdGl2ZSAhPT0gJ25vbmUnIHx8IGNzcy5jb250YWluID09PSAncGFpbnQnIHx8IFsndHJhbnNmb3JtJywgJ3BlcnNwZWN0aXZlJ10uaW5kZXhPZihjc3Mud2lsbENoYW5nZSkgIT09IC0xIHx8IGlzRmlyZWZveCAmJiBjc3Mud2lsbENoYW5nZSA9PT0gJ2ZpbHRlcicgfHwgaXNGaXJlZm94ICYmIGNzcy5maWx0ZXIgJiYgY3NzLmZpbHRlciAhPT0gJ25vbmUnKSB7XG4gICAgICByZXR1cm4gY3VycmVudE5vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUucGFyZW50Tm9kZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn0gLy8gR2V0cyB0aGUgY2xvc2VzdCBhbmNlc3RvciBwb3NpdGlvbmVkIGVsZW1lbnQuIEhhbmRsZXMgc29tZSBlZGdlIGNhc2VzLFxuLy8gc3VjaCBhcyB0YWJsZSBhbmNlc3RvcnMgYW5kIGNyb3NzIGJyb3dzZXIgYnVncy5cblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudCkge1xuICB2YXIgd2luZG93ID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICB2YXIgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChlbGVtZW50KTtcblxuICB3aGlsZSAob2Zmc2V0UGFyZW50ICYmIGlzVGFibGVFbGVtZW50KG9mZnNldFBhcmVudCkgJiYgZ2V0Q29tcHV0ZWRTdHlsZShvZmZzZXRQYXJlbnQpLnBvc2l0aW9uID09PSAnc3RhdGljJykge1xuICAgIG9mZnNldFBhcmVudCA9IGdldFRydWVPZmZzZXRQYXJlbnQob2Zmc2V0UGFyZW50KTtcbiAgfVxuXG4gIGlmIChvZmZzZXRQYXJlbnQgJiYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgPT09ICdodG1sJyB8fCBnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpID09PSAnYm9keScgJiYgZ2V0Q29tcHV0ZWRTdHlsZShvZmZzZXRQYXJlbnQpLnBvc2l0aW9uID09PSAnc3RhdGljJykpIHtcbiAgICByZXR1cm4gd2luZG93O1xuICB9XG5cbiAgcmV0dXJuIG9mZnNldFBhcmVudCB8fCBnZXRDb250YWluaW5nQmxvY2soZWxlbWVudCkgfHwgd2luZG93O1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE1haW5BeGlzRnJvbVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIFsndG9wJywgJ2JvdHRvbSddLmluZGV4T2YocGxhY2VtZW50KSA+PSAwID8gJ3gnIDogJ3knO1xufSIsImltcG9ydCB7IG1heCBhcyBtYXRoTWF4LCBtaW4gYXMgbWF0aE1pbiB9IGZyb20gXCIuL21hdGguanNcIjtcbmV4cG9ydCBmdW5jdGlvbiB3aXRoaW4obWluLCB2YWx1ZSwgbWF4KSB7XG4gIHJldHVybiBtYXRoTWF4KG1pbiwgbWF0aE1pbih2YWx1ZSwgbWF4KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gd2l0aGluTWF4Q2xhbXAobWluLCB2YWx1ZSwgbWF4KSB7XG4gIHZhciB2ID0gd2l0aGluKG1pbiwgdmFsdWUsIG1heCk7XG4gIHJldHVybiB2ID4gbWF4ID8gbWF4IDogdjtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRGcmVzaFNpZGVPYmplY3QoKSB7XG4gIHJldHVybiB7XG4gICAgdG9wOiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwXG4gIH07XG59IiwiaW1wb3J0IGdldEZyZXNoU2lkZU9iamVjdCBmcm9tIFwiLi9nZXRGcmVzaFNpZGVPYmplY3QuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlUGFkZGluZ09iamVjdChwYWRkaW5nT2JqZWN0KSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnZXRGcmVzaFNpZGVPYmplY3QoKSwgcGFkZGluZ09iamVjdCk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZXhwYW5kVG9IYXNoTWFwKHZhbHVlLCBrZXlzKSB7XG4gIHJldHVybiBrZXlzLnJlZHVjZShmdW5jdGlvbiAoaGFzaE1hcCwga2V5KSB7XG4gICAgaGFzaE1hcFtrZXldID0gdmFsdWU7XG4gICAgcmV0dXJuIGhhc2hNYXA7XG4gIH0sIHt9KTtcbn0iLCJpbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldExheW91dFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgY29udGFpbnMgZnJvbSBcIi4uL2RvbS11dGlscy9jb250YWlucy5qc1wiO1xuaW1wb3J0IGdldE9mZnNldFBhcmVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB3aXRoaW4gfSBmcm9tIFwiLi4vdXRpbHMvd2l0aGluLmpzXCI7XG5pbXBvcnQgbWVyZ2VQYWRkaW5nT2JqZWN0IGZyb20gXCIuLi91dGlscy9tZXJnZVBhZGRpbmdPYmplY3QuanNcIjtcbmltcG9ydCBleHBhbmRUb0hhc2hNYXAgZnJvbSBcIi4uL3V0aWxzL2V4cGFuZFRvSGFzaE1hcC5qc1wiO1xuaW1wb3J0IHsgbGVmdCwgcmlnaHQsIGJhc2VQbGFjZW1lbnRzLCB0b3AsIGJvdHRvbSB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbnZhciB0b1BhZGRpbmdPYmplY3QgPSBmdW5jdGlvbiB0b1BhZGRpbmdPYmplY3QocGFkZGluZywgc3RhdGUpIHtcbiAgcGFkZGluZyA9IHR5cGVvZiBwYWRkaW5nID09PSAnZnVuY3Rpb24nID8gcGFkZGluZyhPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5yZWN0cywge1xuICAgIHBsYWNlbWVudDogc3RhdGUucGxhY2VtZW50XG4gIH0pKSA6IHBhZGRpbmc7XG4gIHJldHVybiBtZXJnZVBhZGRpbmdPYmplY3QodHlwZW9mIHBhZGRpbmcgIT09ICdudW1iZXInID8gcGFkZGluZyA6IGV4cGFuZFRvSGFzaE1hcChwYWRkaW5nLCBiYXNlUGxhY2VtZW50cykpO1xufTtcblxuZnVuY3Rpb24gYXJyb3coX3JlZikge1xuICB2YXIgX3N0YXRlJG1vZGlmaWVyc0RhdGEkO1xuXG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lLFxuICAgICAgb3B0aW9ucyA9IF9yZWYub3B0aW9ucztcbiAgdmFyIGFycm93RWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93O1xuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cztcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciBheGlzID0gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpO1xuICB2YXIgaXNWZXJ0aWNhbCA9IFtsZWZ0LCByaWdodF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA+PSAwO1xuICB2YXIgbGVuID0gaXNWZXJ0aWNhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICBpZiAoIWFycm93RWxlbWVudCB8fCAhcG9wcGVyT2Zmc2V0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gdG9QYWRkaW5nT2JqZWN0KG9wdGlvbnMucGFkZGluZywgc3RhdGUpO1xuICB2YXIgYXJyb3dSZWN0ID0gZ2V0TGF5b3V0UmVjdChhcnJvd0VsZW1lbnQpO1xuICB2YXIgbWluUHJvcCA9IGF4aXMgPT09ICd5JyA/IHRvcCA6IGxlZnQ7XG4gIHZhciBtYXhQcm9wID0gYXhpcyA9PT0gJ3knID8gYm90dG9tIDogcmlnaHQ7XG4gIHZhciBlbmREaWZmID0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2xlbl0gKyBzdGF0ZS5yZWN0cy5yZWZlcmVuY2VbYXhpc10gLSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucG9wcGVyW2xlbl07XG4gIHZhciBzdGFydERpZmYgPSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2F4aXNdO1xuICB2YXIgYXJyb3dPZmZzZXRQYXJlbnQgPSBnZXRPZmZzZXRQYXJlbnQoYXJyb3dFbGVtZW50KTtcbiAgdmFyIGNsaWVudFNpemUgPSBhcnJvd09mZnNldFBhcmVudCA/IGF4aXMgPT09ICd5JyA/IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudEhlaWdodCB8fCAwIDogYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50V2lkdGggfHwgMCA6IDA7XG4gIHZhciBjZW50ZXJUb1JlZmVyZW5jZSA9IGVuZERpZmYgLyAyIC0gc3RhcnREaWZmIC8gMjsgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBkb2Vzbid0IG92ZXJmbG93IHRoZSBwb3BwZXIgaWYgdGhlIGNlbnRlciBwb2ludCBpc1xuICAvLyBvdXRzaWRlIG9mIHRoZSBwb3BwZXIgYm91bmRzXG5cbiAgdmFyIG1pbiA9IHBhZGRpbmdPYmplY3RbbWluUHJvcF07XG4gIHZhciBtYXggPSBjbGllbnRTaXplIC0gYXJyb3dSZWN0W2xlbl0gLSBwYWRkaW5nT2JqZWN0W21heFByb3BdO1xuICB2YXIgY2VudGVyID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd1JlY3RbbGVuXSAvIDIgKyBjZW50ZXJUb1JlZmVyZW5jZTtcbiAgdmFyIG9mZnNldCA9IHdpdGhpbihtaW4sIGNlbnRlciwgbWF4KTsgLy8gUHJldmVudHMgYnJlYWtpbmcgc3ludGF4IGhpZ2hsaWdodGluZy4uLlxuXG4gIHZhciBheGlzUHJvcCA9IGF4aXM7XG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSAoX3N0YXRlJG1vZGlmaWVyc0RhdGEkID0ge30sIF9zdGF0ZSRtb2RpZmllcnNEYXRhJFtheGlzUHJvcF0gPSBvZmZzZXQsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJC5jZW50ZXJPZmZzZXQgPSBvZmZzZXQgLSBjZW50ZXIsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJCk7XG59XG5cbmZ1bmN0aW9uIGVmZmVjdChfcmVmMikge1xuICB2YXIgc3RhdGUgPSBfcmVmMi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmMi5vcHRpb25zO1xuICB2YXIgX29wdGlvbnMkZWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudCxcbiAgICAgIGFycm93RWxlbWVudCA9IF9vcHRpb25zJGVsZW1lbnQgPT09IHZvaWQgMCA/ICdbZGF0YS1wb3BwZXItYXJyb3ddJyA6IF9vcHRpb25zJGVsZW1lbnQ7XG5cbiAgaWYgKGFycm93RWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIENTUyBzZWxlY3RvclxuXG5cbiAgaWYgKHR5cGVvZiBhcnJvd0VsZW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgYXJyb3dFbGVtZW50ID0gc3RhdGUuZWxlbWVudHMucG9wcGVyLnF1ZXJ5U2VsZWN0b3IoYXJyb3dFbGVtZW50KTtcblxuICAgIGlmICghYXJyb3dFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIGlmICghaXNIVE1MRWxlbWVudChhcnJvd0VsZW1lbnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBcImFycm93XCIgZWxlbWVudCBtdXN0IGJlIGFuIEhUTUxFbGVtZW50IChub3QgYW4gU1ZHRWxlbWVudCkuJywgJ1RvIHVzZSBhbiBTVkcgYXJyb3csIHdyYXAgaXQgaW4gYW4gSFRNTEVsZW1lbnQgdGhhdCB3aWxsIGJlIHVzZWQgYXMnLCAndGhlIGFycm93LiddLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFjb250YWlucyhzdGF0ZS5lbGVtZW50cy5wb3BwZXIsIGFycm93RWxlbWVudCkpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBcImFycm93XCIgbW9kaWZpZXJcXCdzIGBlbGVtZW50YCBtdXN0IGJlIGEgY2hpbGQgb2YgdGhlIHBvcHBlcicsICdlbGVtZW50LiddLmpvaW4oJyAnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3RhdGUuZWxlbWVudHMuYXJyb3cgPSBhcnJvd0VsZW1lbnQ7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdhcnJvdycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIGZuOiBhcnJvdyxcbiAgZWZmZWN0OiBlZmZlY3QsXG4gIHJlcXVpcmVzOiBbJ3BvcHBlck9mZnNldHMnXSxcbiAgcmVxdWlyZXNJZkV4aXN0czogWydwcmV2ZW50T3ZlcmZsb3cnXVxufTsiLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRWYXJpYXRpb24ocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcbn0iLCJpbXBvcnQgeyB0b3AsIGxlZnQsIHJpZ2h0LCBib3R0b20sIGVuZCB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldE9mZnNldFBhcmVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldENvbXB1dGVkU3R5bGUgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRDb21wdXRlZFN0eWxlLmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi4vdXRpbHMvZ2V0VmFyaWF0aW9uLmpzXCI7XG5pbXBvcnQgeyByb3VuZCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxudmFyIHVuc2V0U2lkZXMgPSB7XG4gIHRvcDogJ2F1dG8nLFxuICByaWdodDogJ2F1dG8nLFxuICBib3R0b206ICdhdXRvJyxcbiAgbGVmdDogJ2F1dG8nXG59OyAvLyBSb3VuZCB0aGUgb2Zmc2V0cyB0byB0aGUgbmVhcmVzdCBzdWl0YWJsZSBzdWJwaXhlbCBiYXNlZCBvbiB0aGUgRFBSLlxuLy8gWm9vbWluZyBjYW4gY2hhbmdlIHRoZSBEUFIsIGJ1dCBpdCBzZWVtcyB0byByZXBvcnQgYSB2YWx1ZSB0aGF0IHdpbGxcbi8vIGNsZWFubHkgZGl2aWRlIHRoZSB2YWx1ZXMgaW50byB0aGUgYXBwcm9wcmlhdGUgc3VicGl4ZWxzLlxuXG5mdW5jdGlvbiByb3VuZE9mZnNldHNCeURQUihfcmVmKSB7XG4gIHZhciB4ID0gX3JlZi54LFxuICAgICAgeSA9IF9yZWYueTtcbiAgdmFyIHdpbiA9IHdpbmRvdztcbiAgdmFyIGRwciA9IHdpbi5kZXZpY2VQaXhlbFJhdGlvIHx8IDE7XG4gIHJldHVybiB7XG4gICAgeDogcm91bmQoeCAqIGRwcikgLyBkcHIgfHwgMCxcbiAgICB5OiByb3VuZCh5ICogZHByKSAvIGRwciB8fCAwXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBUb1N0eWxlcyhfcmVmMikge1xuICB2YXIgX09iamVjdCRhc3NpZ24yO1xuXG4gIHZhciBwb3BwZXIgPSBfcmVmMi5wb3BwZXIsXG4gICAgICBwb3BwZXJSZWN0ID0gX3JlZjIucG9wcGVyUmVjdCxcbiAgICAgIHBsYWNlbWVudCA9IF9yZWYyLnBsYWNlbWVudCxcbiAgICAgIHZhcmlhdGlvbiA9IF9yZWYyLnZhcmlhdGlvbixcbiAgICAgIG9mZnNldHMgPSBfcmVmMi5vZmZzZXRzLFxuICAgICAgcG9zaXRpb24gPSBfcmVmMi5wb3NpdGlvbixcbiAgICAgIGdwdUFjY2VsZXJhdGlvbiA9IF9yZWYyLmdwdUFjY2VsZXJhdGlvbixcbiAgICAgIGFkYXB0aXZlID0gX3JlZjIuYWRhcHRpdmUsXG4gICAgICByb3VuZE9mZnNldHMgPSBfcmVmMi5yb3VuZE9mZnNldHMsXG4gICAgICBpc0ZpeGVkID0gX3JlZjIuaXNGaXhlZDtcbiAgdmFyIF9vZmZzZXRzJHggPSBvZmZzZXRzLngsXG4gICAgICB4ID0gX29mZnNldHMkeCA9PT0gdm9pZCAwID8gMCA6IF9vZmZzZXRzJHgsXG4gICAgICBfb2Zmc2V0cyR5ID0gb2Zmc2V0cy55LFxuICAgICAgeSA9IF9vZmZzZXRzJHkgPT09IHZvaWQgMCA/IDAgOiBfb2Zmc2V0cyR5O1xuXG4gIHZhciBfcmVmMyA9IHR5cGVvZiByb3VuZE9mZnNldHMgPT09ICdmdW5jdGlvbicgPyByb3VuZE9mZnNldHMoe1xuICAgIHg6IHgsXG4gICAgeTogeVxuICB9KSA6IHtcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcblxuICB4ID0gX3JlZjMueDtcbiAgeSA9IF9yZWYzLnk7XG4gIHZhciBoYXNYID0gb2Zmc2V0cy5oYXNPd25Qcm9wZXJ0eSgneCcpO1xuICB2YXIgaGFzWSA9IG9mZnNldHMuaGFzT3duUHJvcGVydHkoJ3knKTtcbiAgdmFyIHNpZGVYID0gbGVmdDtcbiAgdmFyIHNpZGVZID0gdG9wO1xuICB2YXIgd2luID0gd2luZG93O1xuXG4gIGlmIChhZGFwdGl2ZSkge1xuICAgIHZhciBvZmZzZXRQYXJlbnQgPSBnZXRPZmZzZXRQYXJlbnQocG9wcGVyKTtcbiAgICB2YXIgaGVpZ2h0UHJvcCA9ICdjbGllbnRIZWlnaHQnO1xuICAgIHZhciB3aWR0aFByb3AgPSAnY2xpZW50V2lkdGgnO1xuXG4gICAgaWYgKG9mZnNldFBhcmVudCA9PT0gZ2V0V2luZG93KHBvcHBlcikpIHtcbiAgICAgIG9mZnNldFBhcmVudCA9IGdldERvY3VtZW50RWxlbWVudChwb3BwZXIpO1xuXG4gICAgICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShvZmZzZXRQYXJlbnQpLnBvc2l0aW9uICE9PSAnc3RhdGljJyAmJiBwb3NpdGlvbiA9PT0gJ2Fic29sdXRlJykge1xuICAgICAgICBoZWlnaHRQcm9wID0gJ3Njcm9sbEhlaWdodCc7XG4gICAgICAgIHdpZHRoUHJvcCA9ICdzY3JvbGxXaWR0aCc7XG4gICAgICB9XG4gICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYXN0XTogZm9yY2UgdHlwZSByZWZpbmVtZW50LCB3ZSBjb21wYXJlIG9mZnNldFBhcmVudCB3aXRoIHdpbmRvdyBhYm92ZSwgYnV0IEZsb3cgZG9lc24ndCBkZXRlY3QgaXRcblxuXG4gICAgb2Zmc2V0UGFyZW50ID0gb2Zmc2V0UGFyZW50O1xuXG4gICAgaWYgKHBsYWNlbWVudCA9PT0gdG9wIHx8IChwbGFjZW1lbnQgPT09IGxlZnQgfHwgcGxhY2VtZW50ID09PSByaWdodCkgJiYgdmFyaWF0aW9uID09PSBlbmQpIHtcbiAgICAgIHNpZGVZID0gYm90dG9tO1xuICAgICAgdmFyIG9mZnNldFkgPSBpc0ZpeGVkICYmIG9mZnNldFBhcmVudCA9PT0gd2luICYmIHdpbi52aXN1YWxWaWV3cG9ydCA/IHdpbi52aXN1YWxWaWV3cG9ydC5oZWlnaHQgOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgICAgIG9mZnNldFBhcmVudFtoZWlnaHRQcm9wXTtcbiAgICAgIHkgLT0gb2Zmc2V0WSAtIHBvcHBlclJlY3QuaGVpZ2h0O1xuICAgICAgeSAqPSBncHVBY2NlbGVyYXRpb24gPyAxIDogLTE7XG4gICAgfVxuXG4gICAgaWYgKHBsYWNlbWVudCA9PT0gbGVmdCB8fCAocGxhY2VtZW50ID09PSB0b3AgfHwgcGxhY2VtZW50ID09PSBib3R0b20pICYmIHZhcmlhdGlvbiA9PT0gZW5kKSB7XG4gICAgICBzaWRlWCA9IHJpZ2h0O1xuICAgICAgdmFyIG9mZnNldFggPSBpc0ZpeGVkICYmIG9mZnNldFBhcmVudCA9PT0gd2luICYmIHdpbi52aXN1YWxWaWV3cG9ydCA/IHdpbi52aXN1YWxWaWV3cG9ydC53aWR0aCA6IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuICAgICAgb2Zmc2V0UGFyZW50W3dpZHRoUHJvcF07XG4gICAgICB4IC09IG9mZnNldFggLSBwb3BwZXJSZWN0LndpZHRoO1xuICAgICAgeCAqPSBncHVBY2NlbGVyYXRpb24gPyAxIDogLTE7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbW1vblN0eWxlcyA9IE9iamVjdC5hc3NpZ24oe1xuICAgIHBvc2l0aW9uOiBwb3NpdGlvblxuICB9LCBhZGFwdGl2ZSAmJiB1bnNldFNpZGVzKTtcblxuICB2YXIgX3JlZjQgPSByb3VuZE9mZnNldHMgPT09IHRydWUgPyByb3VuZE9mZnNldHNCeURQUih7XG4gICAgeDogeCxcbiAgICB5OiB5XG4gIH0pIDoge1xuICAgIHg6IHgsXG4gICAgeTogeVxuICB9O1xuXG4gIHggPSBfcmVmNC54O1xuICB5ID0gX3JlZjQueTtcblxuICBpZiAoZ3B1QWNjZWxlcmF0aW9uKSB7XG4gICAgdmFyIF9PYmplY3QkYXNzaWduO1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIGNvbW1vblN0eWxlcywgKF9PYmplY3QkYXNzaWduID0ge30sIF9PYmplY3QkYXNzaWduW3NpZGVZXSA9IGhhc1kgPyAnMCcgOiAnJywgX09iamVjdCRhc3NpZ25bc2lkZVhdID0gaGFzWCA/ICcwJyA6ICcnLCBfT2JqZWN0JGFzc2lnbi50cmFuc2Zvcm0gPSAod2luLmRldmljZVBpeGVsUmF0aW8gfHwgMSkgPD0gMSA/IFwidHJhbnNsYXRlKFwiICsgeCArIFwicHgsIFwiICsgeSArIFwicHgpXCIgOiBcInRyYW5zbGF0ZTNkKFwiICsgeCArIFwicHgsIFwiICsgeSArIFwicHgsIDApXCIsIF9PYmplY3QkYXNzaWduKSk7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgY29tbW9uU3R5bGVzLCAoX09iamVjdCRhc3NpZ24yID0ge30sIF9PYmplY3QkYXNzaWduMltzaWRlWV0gPSBoYXNZID8geSArIFwicHhcIiA6ICcnLCBfT2JqZWN0JGFzc2lnbjJbc2lkZVhdID0gaGFzWCA/IHggKyBcInB4XCIgOiAnJywgX09iamVjdCRhc3NpZ24yLnRyYW5zZm9ybSA9ICcnLCBfT2JqZWN0JGFzc2lnbjIpKTtcbn1cblxuZnVuY3Rpb24gY29tcHV0ZVN0eWxlcyhfcmVmNSkge1xuICB2YXIgc3RhdGUgPSBfcmVmNS5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmNS5vcHRpb25zO1xuICB2YXIgX29wdGlvbnMkZ3B1QWNjZWxlcmF0ID0gb3B0aW9ucy5ncHVBY2NlbGVyYXRpb24sXG4gICAgICBncHVBY2NlbGVyYXRpb24gPSBfb3B0aW9ucyRncHVBY2NlbGVyYXQgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRncHVBY2NlbGVyYXQsXG4gICAgICBfb3B0aW9ucyRhZGFwdGl2ZSA9IG9wdGlvbnMuYWRhcHRpdmUsXG4gICAgICBhZGFwdGl2ZSA9IF9vcHRpb25zJGFkYXB0aXZlID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkYWRhcHRpdmUsXG4gICAgICBfb3B0aW9ucyRyb3VuZE9mZnNldHMgPSBvcHRpb25zLnJvdW5kT2Zmc2V0cyxcbiAgICAgIHJvdW5kT2Zmc2V0cyA9IF9vcHRpb25zJHJvdW5kT2Zmc2V0cyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJHJvdW5kT2Zmc2V0cztcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgdmFyIHRyYW5zaXRpb25Qcm9wZXJ0eSA9IGdldENvbXB1dGVkU3R5bGUoc3RhdGUuZWxlbWVudHMucG9wcGVyKS50cmFuc2l0aW9uUHJvcGVydHkgfHwgJyc7XG5cbiAgICBpZiAoYWRhcHRpdmUgJiYgWyd0cmFuc2Zvcm0nLCAndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J10uc29tZShmdW5jdGlvbiAocHJvcGVydHkpIHtcbiAgICAgIHJldHVybiB0cmFuc2l0aW9uUHJvcGVydHkuaW5kZXhPZihwcm9wZXJ0eSkgPj0gMDtcbiAgICB9KSkge1xuICAgICAgY29uc29sZS53YXJuKFsnUG9wcGVyOiBEZXRlY3RlZCBDU1MgdHJhbnNpdGlvbnMgb24gYXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcnLCAnQ1NTIHByb3BlcnRpZXM6IFwidHJhbnNmb3JtXCIsIFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiwgXCJsZWZ0XCIuJywgJ1xcblxcbicsICdEaXNhYmxlIHRoZSBcImNvbXB1dGVTdHlsZXNcIiBtb2RpZmllclxcJ3MgYGFkYXB0aXZlYCBvcHRpb24gdG8gYWxsb3cnLCAnZm9yIHNtb290aCB0cmFuc2l0aW9ucywgb3IgcmVtb3ZlIHRoZXNlIHByb3BlcnRpZXMgZnJvbSB0aGUgQ1NTJywgJ3RyYW5zaXRpb24gZGVjbGFyYXRpb24gb24gdGhlIHBvcHBlciBlbGVtZW50IGlmIG9ubHkgdHJhbnNpdGlvbmluZycsICdvcGFjaXR5IG9yIGJhY2tncm91bmQtY29sb3IgZm9yIGV4YW1wbGUuJywgJ1xcblxcbicsICdXZSByZWNvbW1lbmQgdXNpbmcgdGhlIHBvcHBlciBlbGVtZW50IGFzIGEgd3JhcHBlciBhcm91bmQgYW4gaW5uZXInLCAnZWxlbWVudCB0aGF0IGNhbiBoYXZlIGFueSBDU1MgcHJvcGVydHkgdHJhbnNpdGlvbmVkIGZvciBhbmltYXRpb25zLiddLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbW1vblN0eWxlcyA9IHtcbiAgICBwbGFjZW1lbnQ6IGdldEJhc2VQbGFjZW1lbnQoc3RhdGUucGxhY2VtZW50KSxcbiAgICB2YXJpYXRpb246IGdldFZhcmlhdGlvbihzdGF0ZS5wbGFjZW1lbnQpLFxuICAgIHBvcHBlcjogc3RhdGUuZWxlbWVudHMucG9wcGVyLFxuICAgIHBvcHBlclJlY3Q6IHN0YXRlLnJlY3RzLnBvcHBlcixcbiAgICBncHVBY2NlbGVyYXRpb246IGdwdUFjY2VsZXJhdGlvbixcbiAgICBpc0ZpeGVkOiBzdGF0ZS5vcHRpb25zLnN0cmF0ZWd5ID09PSAnZml4ZWQnXG4gIH07XG5cbiAgaWYgKHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cyAhPSBudWxsKSB7XG4gICAgc3RhdGUuc3R5bGVzLnBvcHBlciA9IE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLnN0eWxlcy5wb3BwZXIsIG1hcFRvU3R5bGVzKE9iamVjdC5hc3NpZ24oe30sIGNvbW1vblN0eWxlcywge1xuICAgICAgb2Zmc2V0czogc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLFxuICAgICAgcG9zaXRpb246IHN0YXRlLm9wdGlvbnMuc3RyYXRlZ3ksXG4gICAgICBhZGFwdGl2ZTogYWRhcHRpdmUsXG4gICAgICByb3VuZE9mZnNldHM6IHJvdW5kT2Zmc2V0c1xuICAgIH0pKSk7XG4gIH1cblxuICBpZiAoc3RhdGUubW9kaWZpZXJzRGF0YS5hcnJvdyAhPSBudWxsKSB7XG4gICAgc3RhdGUuc3R5bGVzLmFycm93ID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuc3R5bGVzLmFycm93LCBtYXBUb1N0eWxlcyhPYmplY3QuYXNzaWduKHt9LCBjb21tb25TdHlsZXMsIHtcbiAgICAgIG9mZnNldHM6IHN0YXRlLm1vZGlmaWVyc0RhdGEuYXJyb3csXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIGFkYXB0aXZlOiBmYWxzZSxcbiAgICAgIHJvdW5kT2Zmc2V0czogcm91bmRPZmZzZXRzXG4gICAgfSkpKTtcbiAgfVxuXG4gIHN0YXRlLmF0dHJpYnV0ZXMucG9wcGVyID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIsIHtcbiAgICAnZGF0YS1wb3BwZXItcGxhY2VtZW50Jzogc3RhdGUucGxhY2VtZW50XG4gIH0pO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnY29tcHV0ZVN0eWxlcycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnYmVmb3JlV3JpdGUnLFxuICBmbjogY29tcHV0ZVN0eWxlcyxcbiAgZGF0YToge31cbn07IiwiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldFdpbmRvdy5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbnZhciBwYXNzaXZlID0ge1xuICBwYXNzaXZlOiB0cnVlXG59O1xuXG5mdW5jdGlvbiBlZmZlY3QoX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgaW5zdGFuY2UgPSBfcmVmLmluc3RhbmNlLFxuICAgICAgb3B0aW9ucyA9IF9yZWYub3B0aW9ucztcbiAgdmFyIF9vcHRpb25zJHNjcm9sbCA9IG9wdGlvbnMuc2Nyb2xsLFxuICAgICAgc2Nyb2xsID0gX29wdGlvbnMkc2Nyb2xsID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkc2Nyb2xsLFxuICAgICAgX29wdGlvbnMkcmVzaXplID0gb3B0aW9ucy5yZXNpemUsXG4gICAgICByZXNpemUgPSBfb3B0aW9ucyRyZXNpemUgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRyZXNpemU7XG4gIHZhciB3aW5kb3cgPSBnZXRXaW5kb3coc3RhdGUuZWxlbWVudHMucG9wcGVyKTtcbiAgdmFyIHNjcm9sbFBhcmVudHMgPSBbXS5jb25jYXQoc3RhdGUuc2Nyb2xsUGFyZW50cy5yZWZlcmVuY2UsIHN0YXRlLnNjcm9sbFBhcmVudHMucG9wcGVyKTtcblxuICBpZiAoc2Nyb2xsKSB7XG4gICAgc2Nyb2xsUGFyZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChzY3JvbGxQYXJlbnQpIHtcbiAgICAgIHNjcm9sbFBhcmVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBpbnN0YW5jZS51cGRhdGUsIHBhc3NpdmUpO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKHJlc2l6ZSkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBpbnN0YW5jZS51cGRhdGUsIHBhc3NpdmUpO1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc2Nyb2xsKSB7XG4gICAgICBzY3JvbGxQYXJlbnRzLmZvckVhY2goZnVuY3Rpb24gKHNjcm9sbFBhcmVudCkge1xuICAgICAgICBzY3JvbGxQYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaW5zdGFuY2UudXBkYXRlLCBwYXNzaXZlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChyZXNpemUpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBpbnN0YW5jZS51cGRhdGUsIHBhc3NpdmUpO1xuICAgIH1cbiAgfTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2V2ZW50TGlzdGVuZXJzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICd3cml0ZScsXG4gIGZuOiBmdW5jdGlvbiBmbigpIHt9LFxuICBlZmZlY3Q6IGVmZmVjdCxcbiAgZGF0YToge31cbn07IiwidmFyIGhhc2ggPSB7XG4gIGxlZnQ6ICdyaWdodCcsXG4gIHJpZ2h0OiAnbGVmdCcsXG4gIGJvdHRvbTogJ3RvcCcsXG4gIHRvcDogJ2JvdHRvbSdcbn07XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgZnVuY3Rpb24gKG1hdGNoZWQpIHtcbiAgICByZXR1cm4gaGFzaFttYXRjaGVkXTtcbiAgfSk7XG59IiwidmFyIGhhc2ggPSB7XG4gIHN0YXJ0OiAnZW5kJyxcbiAgZW5kOiAnc3RhcnQnXG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQucmVwbGFjZSgvc3RhcnR8ZW5kL2csIGZ1bmN0aW9uIChtYXRjaGVkKSB7XG4gICAgcmV0dXJuIGhhc2hbbWF0Y2hlZF07XG4gIH0pO1xufSIsImltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4vZ2V0V2luZG93LmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXaW5kb3dTY3JvbGwobm9kZSkge1xuICB2YXIgd2luID0gZ2V0V2luZG93KG5vZGUpO1xuICB2YXIgc2Nyb2xsTGVmdCA9IHdpbi5wYWdlWE9mZnNldDtcbiAgdmFyIHNjcm9sbFRvcCA9IHdpbi5wYWdlWU9mZnNldDtcbiAgcmV0dXJuIHtcbiAgICBzY3JvbGxMZWZ0OiBzY3JvbGxMZWZ0LFxuICAgIHNjcm9sbFRvcDogc2Nyb2xsVG9wXG4gIH07XG59IiwiaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4vZ2V0RG9jdW1lbnRFbGVtZW50LmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93U2Nyb2xsIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KSB7XG4gIC8vIElmIDxodG1sPiBoYXMgYSBDU1Mgd2lkdGggZ3JlYXRlciB0aGFuIHRoZSB2aWV3cG9ydCwgdGhlbiB0aGlzIHdpbGwgYmVcbiAgLy8gaW5jb3JyZWN0IGZvciBSVEwuXG4gIC8vIFBvcHBlciAxIGlzIGJyb2tlbiBpbiB0aGlzIGNhc2UgYW5kIG5ldmVyIGhhZCBhIGJ1ZyByZXBvcnQgc28gbGV0J3MgYXNzdW1lXG4gIC8vIGl0J3Mgbm90IGFuIGlzc3VlLiBJIGRvbid0IHRoaW5rIGFueW9uZSBldmVyIHNwZWNpZmllcyB3aWR0aCBvbiA8aHRtbD5cbiAgLy8gYW55d2F5LlxuICAvLyBCcm93c2VycyB3aGVyZSB0aGUgbGVmdCBzY3JvbGxiYXIgZG9lc24ndCBjYXVzZSBhbiBpc3N1ZSByZXBvcnQgYDBgIGZvclxuICAvLyB0aGlzIChlLmcuIEVkZ2UgMjAxOSwgSUUxMSwgU2FmYXJpKVxuICByZXR1cm4gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSkubGVmdCArIGdldFdpbmRvd1Njcm9sbChlbGVtZW50KS5zY3JvbGxMZWZ0O1xufSIsImltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4vZ2V0V2luZG93LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvd1Njcm9sbEJhclggZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsQmFyWC5qc1wiO1xuaW1wb3J0IGlzTGF5b3V0Vmlld3BvcnQgZnJvbSBcIi4vaXNMYXlvdXRWaWV3cG9ydC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIHZhciB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIHZhciBodG1sID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICB2YXIgdmlzdWFsVmlld3BvcnQgPSB3aW4udmlzdWFsVmlld3BvcnQ7XG4gIHZhciB3aWR0aCA9IGh0bWwuY2xpZW50V2lkdGg7XG4gIHZhciBoZWlnaHQgPSBodG1sLmNsaWVudEhlaWdodDtcbiAgdmFyIHggPSAwO1xuICB2YXIgeSA9IDA7XG5cbiAgaWYgKHZpc3VhbFZpZXdwb3J0KSB7XG4gICAgd2lkdGggPSB2aXN1YWxWaWV3cG9ydC53aWR0aDtcbiAgICBoZWlnaHQgPSB2aXN1YWxWaWV3cG9ydC5oZWlnaHQ7XG4gICAgdmFyIGxheW91dFZpZXdwb3J0ID0gaXNMYXlvdXRWaWV3cG9ydCgpO1xuXG4gICAgaWYgKGxheW91dFZpZXdwb3J0IHx8ICFsYXlvdXRWaWV3cG9ydCAmJiBzdHJhdGVneSA9PT0gJ2ZpeGVkJykge1xuICAgICAgeCA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQ7XG4gICAgICB5ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIHg6IHggKyBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQpLFxuICAgIHk6IHlcbiAgfTtcbn0iLCJpbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldENvbXB1dGVkU3R5bGUgZnJvbSBcIi4vZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IGdldFdpbmRvd1Njcm9sbEJhclggZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsQmFyWC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvd1Njcm9sbCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGwuanNcIjtcbmltcG9ydCB7IG1heCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7IC8vIEdldHMgdGhlIGVudGlyZSBzaXplIG9mIHRoZSBzY3JvbGxhYmxlIGRvY3VtZW50IGFyZWEsIGV2ZW4gZXh0ZW5kaW5nIG91dHNpZGVcbi8vIG9mIHRoZSBgPGh0bWw+YCBhbmQgYDxib2R5PmAgcmVjdCBib3VuZHMgaWYgaG9yaXpvbnRhbGx5IHNjcm9sbGFibGVcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIF9lbGVtZW50JG93bmVyRG9jdW1lbjtcblxuICB2YXIgaHRtbCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgdmFyIHdpblNjcm9sbCA9IGdldFdpbmRvd1Njcm9sbChlbGVtZW50KTtcbiAgdmFyIGJvZHkgPSAoX2VsZW1lbnQkb3duZXJEb2N1bWVuID0gZWxlbWVudC5vd25lckRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX2VsZW1lbnQkb3duZXJEb2N1bWVuLmJvZHk7XG4gIHZhciB3aWR0aCA9IG1heChodG1sLnNjcm9sbFdpZHRoLCBodG1sLmNsaWVudFdpZHRoLCBib2R5ID8gYm9keS5zY3JvbGxXaWR0aCA6IDAsIGJvZHkgPyBib2R5LmNsaWVudFdpZHRoIDogMCk7XG4gIHZhciBoZWlnaHQgPSBtYXgoaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwuY2xpZW50SGVpZ2h0LCBib2R5ID8gYm9keS5zY3JvbGxIZWlnaHQgOiAwLCBib2R5ID8gYm9keS5jbGllbnRIZWlnaHQgOiAwKTtcbiAgdmFyIHggPSAtd2luU2Nyb2xsLnNjcm9sbExlZnQgKyBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQpO1xuICB2YXIgeSA9IC13aW5TY3JvbGwuc2Nyb2xsVG9wO1xuXG4gIGlmIChnZXRDb21wdXRlZFN0eWxlKGJvZHkgfHwgaHRtbCkuZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgIHggKz0gbWF4KGh0bWwuY2xpZW50V2lkdGgsIGJvZHkgPyBib2R5LmNsaWVudFdpZHRoIDogMCkgLSB3aWR0aDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIHg6IHgsXG4gICAgeTogeVxuICB9O1xufSIsImltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzU2Nyb2xsUGFyZW50KGVsZW1lbnQpIHtcbiAgLy8gRmlyZWZveCB3YW50cyB1cyB0byBjaGVjayBgLXhgIGFuZCBgLXlgIHZhcmlhdGlvbnMgYXMgd2VsbFxuICB2YXIgX2dldENvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLFxuICAgICAgb3ZlcmZsb3cgPSBfZ2V0Q29tcHV0ZWRTdHlsZS5vdmVyZmxvdyxcbiAgICAgIG92ZXJmbG93WCA9IF9nZXRDb21wdXRlZFN0eWxlLm92ZXJmbG93WCxcbiAgICAgIG92ZXJmbG93WSA9IF9nZXRDb21wdXRlZFN0eWxlLm92ZXJmbG93WTtcblxuICByZXR1cm4gL2F1dG98c2Nyb2xsfG92ZXJsYXl8aGlkZGVuLy50ZXN0KG92ZXJmbG93ICsgb3ZlcmZsb3dZICsgb3ZlcmZsb3dYKTtcbn0iLCJpbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5pbXBvcnQgaXNTY3JvbGxQYXJlbnQgZnJvbSBcIi4vaXNTY3JvbGxQYXJlbnQuanNcIjtcbmltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChub2RlKSB7XG4gIGlmIChbJ2h0bWwnLCAnYm9keScsICcjZG9jdW1lbnQnXS5pbmRleE9mKGdldE5vZGVOYW1lKG5vZGUpKSA+PSAwKSB7XG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXTogYXNzdW1lIGJvZHkgaXMgYWx3YXlzIGF2YWlsYWJsZVxuICAgIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQuYm9keTtcbiAgfVxuXG4gIGlmIChpc0hUTUxFbGVtZW50KG5vZGUpICYmIGlzU2Nyb2xsUGFyZW50KG5vZGUpKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICByZXR1cm4gZ2V0U2Nyb2xsUGFyZW50KGdldFBhcmVudE5vZGUobm9kZSkpO1xufSIsImltcG9ydCBnZXRTY3JvbGxQYXJlbnQgZnJvbSBcIi4vZ2V0U2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG4vKlxuZ2l2ZW4gYSBET00gZWxlbWVudCwgcmV0dXJuIHRoZSBsaXN0IG9mIGFsbCBzY3JvbGwgcGFyZW50cywgdXAgdGhlIGxpc3Qgb2YgYW5jZXNvcnNcbnVudGlsIHdlIGdldCB0byB0aGUgdG9wIHdpbmRvdyBvYmplY3QuIFRoaXMgbGlzdCBpcyB3aGF0IHdlIGF0dGFjaCBzY3JvbGwgbGlzdGVuZXJzXG50bywgYmVjYXVzZSBpZiBhbnkgb2YgdGhlc2UgcGFyZW50IGVsZW1lbnRzIHNjcm9sbCwgd2UnbGwgbmVlZCB0byByZS1jYWxjdWxhdGUgdGhlXG5yZWZlcmVuY2UgZWxlbWVudCdzIHBvc2l0aW9uLlxuKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGlzdFNjcm9sbFBhcmVudHMoZWxlbWVudCwgbGlzdCkge1xuICB2YXIgX2VsZW1lbnQkb3duZXJEb2N1bWVuO1xuXG4gIGlmIChsaXN0ID09PSB2b2lkIDApIHtcbiAgICBsaXN0ID0gW107XG4gIH1cblxuICB2YXIgc2Nyb2xsUGFyZW50ID0gZ2V0U2Nyb2xsUGFyZW50KGVsZW1lbnQpO1xuICB2YXIgaXNCb2R5ID0gc2Nyb2xsUGFyZW50ID09PSAoKF9lbGVtZW50JG93bmVyRG9jdW1lbiA9IGVsZW1lbnQub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lbGVtZW50JG93bmVyRG9jdW1lbi5ib2R5KTtcbiAgdmFyIHdpbiA9IGdldFdpbmRvdyhzY3JvbGxQYXJlbnQpO1xuICB2YXIgdGFyZ2V0ID0gaXNCb2R5ID8gW3dpbl0uY29uY2F0KHdpbi52aXN1YWxWaWV3cG9ydCB8fCBbXSwgaXNTY3JvbGxQYXJlbnQoc2Nyb2xsUGFyZW50KSA/IHNjcm9sbFBhcmVudCA6IFtdKSA6IHNjcm9sbFBhcmVudDtcbiAgdmFyIHVwZGF0ZWRMaXN0ID0gbGlzdC5jb25jYXQodGFyZ2V0KTtcbiAgcmV0dXJuIGlzQm9keSA/IHVwZGF0ZWRMaXN0IDogLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF06IGlzQm9keSB0ZWxscyB1cyB0YXJnZXQgd2lsbCBiZSBhbiBIVE1MRWxlbWVudCBoZXJlXG4gIHVwZGF0ZWRMaXN0LmNvbmNhdChsaXN0U2Nyb2xsUGFyZW50cyhnZXRQYXJlbnROb2RlKHRhcmdldCkpKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWN0VG9DbGllbnRSZWN0KHJlY3QpIHtcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHJlY3QsIHtcbiAgICBsZWZ0OiByZWN0LngsXG4gICAgdG9wOiByZWN0LnksXG4gICAgcmlnaHQ6IHJlY3QueCArIHJlY3Qud2lkdGgsXG4gICAgYm90dG9tOiByZWN0LnkgKyByZWN0LmhlaWdodFxuICB9KTtcbn0iLCJpbXBvcnQgeyB2aWV3cG9ydCB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldFZpZXdwb3J0UmVjdCBmcm9tIFwiLi9nZXRWaWV3cG9ydFJlY3QuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudFJlY3QgZnJvbSBcIi4vZ2V0RG9jdW1lbnRSZWN0LmpzXCI7XG5pbXBvcnQgbGlzdFNjcm9sbFBhcmVudHMgZnJvbSBcIi4vbGlzdFNjcm9sbFBhcmVudHMuanNcIjtcbmltcG9ydCBnZXRPZmZzZXRQYXJlbnQgZnJvbSBcIi4vZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldENvbXB1dGVkU3R5bGUgZnJvbSBcIi4vZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBnZXRQYXJlbnROb2RlIGZyb20gXCIuL2dldFBhcmVudE5vZGUuanNcIjtcbmltcG9ydCBjb250YWlucyBmcm9tIFwiLi9jb250YWlucy5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgcmVjdFRvQ2xpZW50UmVjdCBmcm9tIFwiLi4vdXRpbHMvcmVjdFRvQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IHsgbWF4LCBtaW4gfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiO1xuXG5mdW5jdGlvbiBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICB2YXIgcmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCBmYWxzZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICByZWN0LnRvcCA9IHJlY3QudG9wICsgZWxlbWVudC5jbGllbnRUb3A7XG4gIHJlY3QubGVmdCA9IHJlY3QubGVmdCArIGVsZW1lbnQuY2xpZW50TGVmdDtcbiAgcmVjdC5ib3R0b20gPSByZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICByZWN0LnJpZ2h0ID0gcmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRXaWR0aDtcbiAgcmVjdC53aWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIHJlY3QuaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIHJlY3QueCA9IHJlY3QubGVmdDtcbiAgcmVjdC55ID0gcmVjdC50b3A7XG4gIHJldHVybiByZWN0O1xufVxuXG5mdW5jdGlvbiBnZXRDbGllbnRSZWN0RnJvbU1peGVkVHlwZShlbGVtZW50LCBjbGlwcGluZ1BhcmVudCwgc3RyYXRlZ3kpIHtcbiAgcmV0dXJuIGNsaXBwaW5nUGFyZW50ID09PSB2aWV3cG9ydCA/IHJlY3RUb0NsaWVudFJlY3QoZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSkgOiBpc0VsZW1lbnQoY2xpcHBpbmdQYXJlbnQpID8gZ2V0SW5uZXJCb3VuZGluZ0NsaWVudFJlY3QoY2xpcHBpbmdQYXJlbnQsIHN0cmF0ZWd5KSA6IHJlY3RUb0NsaWVudFJlY3QoZ2V0RG9jdW1lbnRSZWN0KGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSkpO1xufSAvLyBBIFwiY2xpcHBpbmcgcGFyZW50XCIgaXMgYW4gb3ZlcmZsb3dhYmxlIGNvbnRhaW5lciB3aXRoIHRoZSBjaGFyYWN0ZXJpc3RpYyBvZlxuLy8gY2xpcHBpbmcgKG9yIGhpZGluZykgb3ZlcmZsb3dpbmcgZWxlbWVudHMgd2l0aCBhIHBvc2l0aW9uIGRpZmZlcmVudCBmcm9tXG4vLyBgaW5pdGlhbGBcblxuXG5mdW5jdGlvbiBnZXRDbGlwcGluZ1BhcmVudHMoZWxlbWVudCkge1xuICB2YXIgY2xpcHBpbmdQYXJlbnRzID0gbGlzdFNjcm9sbFBhcmVudHMoZ2V0UGFyZW50Tm9kZShlbGVtZW50KSk7XG4gIHZhciBjYW5Fc2NhcGVDbGlwcGluZyA9IFsnYWJzb2x1dGUnLCAnZml4ZWQnXS5pbmRleE9mKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24pID49IDA7XG4gIHZhciBjbGlwcGVyRWxlbWVudCA9IGNhbkVzY2FwZUNsaXBwaW5nICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudCkgOiBlbGVtZW50O1xuXG4gIGlmICghaXNFbGVtZW50KGNsaXBwZXJFbGVtZW50KSkge1xuICAgIHJldHVybiBbXTtcbiAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMTQxNFxuXG5cbiAgcmV0dXJuIGNsaXBwaW5nUGFyZW50cy5maWx0ZXIoZnVuY3Rpb24gKGNsaXBwaW5nUGFyZW50KSB7XG4gICAgcmV0dXJuIGlzRWxlbWVudChjbGlwcGluZ1BhcmVudCkgJiYgY29udGFpbnMoY2xpcHBpbmdQYXJlbnQsIGNsaXBwZXJFbGVtZW50KSAmJiBnZXROb2RlTmFtZShjbGlwcGluZ1BhcmVudCkgIT09ICdib2R5JztcbiAgfSk7XG59IC8vIEdldHMgdGhlIG1heGltdW0gYXJlYSB0aGF0IHRoZSBlbGVtZW50IGlzIHZpc2libGUgaW4gZHVlIHRvIGFueSBudW1iZXIgb2Zcbi8vIGNsaXBwaW5nIHBhcmVudHNcblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDbGlwcGluZ1JlY3QoZWxlbWVudCwgYm91bmRhcnksIHJvb3RCb3VuZGFyeSwgc3RyYXRlZ3kpIHtcbiAgdmFyIG1haW5DbGlwcGluZ1BhcmVudHMgPSBib3VuZGFyeSA9PT0gJ2NsaXBwaW5nUGFyZW50cycgPyBnZXRDbGlwcGluZ1BhcmVudHMoZWxlbWVudCkgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICB2YXIgY2xpcHBpbmdQYXJlbnRzID0gW10uY29uY2F0KG1haW5DbGlwcGluZ1BhcmVudHMsIFtyb290Qm91bmRhcnldKTtcbiAgdmFyIGZpcnN0Q2xpcHBpbmdQYXJlbnQgPSBjbGlwcGluZ1BhcmVudHNbMF07XG4gIHZhciBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ1BhcmVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2NSZWN0LCBjbGlwcGluZ1BhcmVudCkge1xuICAgIHZhciByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21NaXhlZFR5cGUoZWxlbWVudCwgY2xpcHBpbmdQYXJlbnQsIHN0cmF0ZWd5KTtcbiAgICBhY2NSZWN0LnRvcCA9IG1heChyZWN0LnRvcCwgYWNjUmVjdC50b3ApO1xuICAgIGFjY1JlY3QucmlnaHQgPSBtaW4ocmVjdC5yaWdodCwgYWNjUmVjdC5yaWdodCk7XG4gICAgYWNjUmVjdC5ib3R0b20gPSBtaW4ocmVjdC5ib3R0b20sIGFjY1JlY3QuYm90dG9tKTtcbiAgICBhY2NSZWN0LmxlZnQgPSBtYXgocmVjdC5sZWZ0LCBhY2NSZWN0LmxlZnQpO1xuICAgIHJldHVybiBhY2NSZWN0O1xuICB9LCBnZXRDbGllbnRSZWN0RnJvbU1peGVkVHlwZShlbGVtZW50LCBmaXJzdENsaXBwaW5nUGFyZW50LCBzdHJhdGVneSkpO1xuICBjbGlwcGluZ1JlY3Qud2lkdGggPSBjbGlwcGluZ1JlY3QucmlnaHQgLSBjbGlwcGluZ1JlY3QubGVmdDtcbiAgY2xpcHBpbmdSZWN0LmhlaWdodCA9IGNsaXBwaW5nUmVjdC5ib3R0b20gLSBjbGlwcGluZ1JlY3QudG9wO1xuICBjbGlwcGluZ1JlY3QueCA9IGNsaXBwaW5nUmVjdC5sZWZ0O1xuICBjbGlwcGluZ1JlY3QueSA9IGNsaXBwaW5nUmVjdC50b3A7XG4gIHJldHVybiBjbGlwcGluZ1JlY3Q7XG59IiwiaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4vZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQgZnJvbSBcIi4vZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHN0YXJ0LCBlbmQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXB1dGVPZmZzZXRzKF9yZWYpIHtcbiAgdmFyIHJlZmVyZW5jZSA9IF9yZWYucmVmZXJlbmNlLFxuICAgICAgZWxlbWVudCA9IF9yZWYuZWxlbWVudCxcbiAgICAgIHBsYWNlbWVudCA9IF9yZWYucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudCA/IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSA6IG51bGw7XG4gIHZhciB2YXJpYXRpb24gPSBwbGFjZW1lbnQgPyBnZXRWYXJpYXRpb24ocGxhY2VtZW50KSA6IG51bGw7XG4gIHZhciBjb21tb25YID0gcmVmZXJlbmNlLnggKyByZWZlcmVuY2Uud2lkdGggLyAyIC0gZWxlbWVudC53aWR0aCAvIDI7XG4gIHZhciBjb21tb25ZID0gcmVmZXJlbmNlLnkgKyByZWZlcmVuY2UuaGVpZ2h0IC8gMiAtIGVsZW1lbnQuaGVpZ2h0IC8gMjtcbiAgdmFyIG9mZnNldHM7XG5cbiAgc3dpdGNoIChiYXNlUGxhY2VtZW50KSB7XG4gICAgY2FzZSB0b3A6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSAtIGVsZW1lbnQuaGVpZ2h0XG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIGJvdHRvbTpcbiAgICAgIG9mZnNldHMgPSB7XG4gICAgICAgIHg6IGNvbW1vblgsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSByaWdodDpcbiAgICAgIG9mZnNldHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIGxlZnQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCAtIGVsZW1lbnQud2lkdGgsXG4gICAgICAgIHk6IGNvbW1vbllcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnlcbiAgICAgIH07XG4gIH1cblxuICB2YXIgbWFpbkF4aXMgPSBiYXNlUGxhY2VtZW50ID8gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpIDogbnVsbDtcblxuICBpZiAobWFpbkF4aXMgIT0gbnVsbCkge1xuICAgIHZhciBsZW4gPSBtYWluQXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuXG4gICAgc3dpdGNoICh2YXJpYXRpb24pIHtcbiAgICAgIGNhc2Ugc3RhcnQ6XG4gICAgICAgIG9mZnNldHNbbWFpbkF4aXNdID0gb2Zmc2V0c1ttYWluQXhpc10gLSAocmVmZXJlbmNlW2xlbl0gLyAyIC0gZWxlbWVudFtsZW5dIC8gMik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIGVuZDpcbiAgICAgICAgb2Zmc2V0c1ttYWluQXhpc10gPSBvZmZzZXRzW21haW5BeGlzXSArIChyZWZlcmVuY2VbbGVuXSAvIDIgLSBlbGVtZW50W2xlbl0gLyAyKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9mZnNldHM7XG59IiwiaW1wb3J0IGdldENsaXBwaW5nUmVjdCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldENsaXBwaW5nUmVjdC5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IGNvbXB1dGVPZmZzZXRzIGZyb20gXCIuL2NvbXB1dGVPZmZzZXRzLmpzXCI7XG5pbXBvcnQgcmVjdFRvQ2xpZW50UmVjdCBmcm9tIFwiLi9yZWN0VG9DbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgeyBjbGlwcGluZ1BhcmVudHMsIHJlZmVyZW5jZSwgcG9wcGVyLCBib3R0b20sIHRvcCwgcmlnaHQsIGJhc2VQbGFjZW1lbnRzLCB2aWV3cG9ydCB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4uL2RvbS11dGlscy9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgbWVyZ2VQYWRkaW5nT2JqZWN0IGZyb20gXCIuL21lcmdlUGFkZGluZ09iamVjdC5qc1wiO1xuaW1wb3J0IGV4cGFuZFRvSGFzaE1hcCBmcm9tIFwiLi9leHBhbmRUb0hhc2hNYXAuanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgdmFyIF9vcHRpb25zID0gb3B0aW9ucyxcbiAgICAgIF9vcHRpb25zJHBsYWNlbWVudCA9IF9vcHRpb25zLnBsYWNlbWVudCxcbiAgICAgIHBsYWNlbWVudCA9IF9vcHRpb25zJHBsYWNlbWVudCA9PT0gdm9pZCAwID8gc3RhdGUucGxhY2VtZW50IDogX29wdGlvbnMkcGxhY2VtZW50LFxuICAgICAgX29wdGlvbnMkc3RyYXRlZ3kgPSBfb3B0aW9ucy5zdHJhdGVneSxcbiAgICAgIHN0cmF0ZWd5ID0gX29wdGlvbnMkc3RyYXRlZ3kgPT09IHZvaWQgMCA/IHN0YXRlLnN0cmF0ZWd5IDogX29wdGlvbnMkc3RyYXRlZ3ksXG4gICAgICBfb3B0aW9ucyRib3VuZGFyeSA9IF9vcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgYm91bmRhcnkgPSBfb3B0aW9ucyRib3VuZGFyeSA9PT0gdm9pZCAwID8gY2xpcHBpbmdQYXJlbnRzIDogX29wdGlvbnMkYm91bmRhcnksXG4gICAgICBfb3B0aW9ucyRyb290Qm91bmRhcnkgPSBfb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnkgPSBfb3B0aW9ucyRyb290Qm91bmRhcnkgPT09IHZvaWQgMCA/IHZpZXdwb3J0IDogX29wdGlvbnMkcm9vdEJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkZWxlbWVudENvbnRlID0gX29wdGlvbnMuZWxlbWVudENvbnRleHQsXG4gICAgICBlbGVtZW50Q29udGV4dCA9IF9vcHRpb25zJGVsZW1lbnRDb250ZSA9PT0gdm9pZCAwID8gcG9wcGVyIDogX29wdGlvbnMkZWxlbWVudENvbnRlLFxuICAgICAgX29wdGlvbnMkYWx0Qm91bmRhcnkgPSBfb3B0aW9ucy5hbHRCb3VuZGFyeSxcbiAgICAgIGFsdEJvdW5kYXJ5ID0gX29wdGlvbnMkYWx0Qm91bmRhcnkgPT09IHZvaWQgMCA/IGZhbHNlIDogX29wdGlvbnMkYWx0Qm91bmRhcnksXG4gICAgICBfb3B0aW9ucyRwYWRkaW5nID0gX29wdGlvbnMucGFkZGluZyxcbiAgICAgIHBhZGRpbmcgPSBfb3B0aW9ucyRwYWRkaW5nID09PSB2b2lkIDAgPyAwIDogX29wdGlvbnMkcGFkZGluZztcbiAgdmFyIHBhZGRpbmdPYmplY3QgPSBtZXJnZVBhZGRpbmdPYmplY3QodHlwZW9mIHBhZGRpbmcgIT09ICdudW1iZXInID8gcGFkZGluZyA6IGV4cGFuZFRvSGFzaE1hcChwYWRkaW5nLCBiYXNlUGxhY2VtZW50cykpO1xuICB2YXIgYWx0Q29udGV4dCA9IGVsZW1lbnRDb250ZXh0ID09PSBwb3BwZXIgPyByZWZlcmVuY2UgOiBwb3BwZXI7XG4gIHZhciBwb3BwZXJSZWN0ID0gc3RhdGUucmVjdHMucG9wcGVyO1xuICB2YXIgZWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzW2FsdEJvdW5kYXJ5ID8gYWx0Q29udGV4dCA6IGVsZW1lbnRDb250ZXh0XTtcbiAgdmFyIGNsaXBwaW5nQ2xpZW50UmVjdCA9IGdldENsaXBwaW5nUmVjdChpc0VsZW1lbnQoZWxlbWVudCkgPyBlbGVtZW50IDogZWxlbWVudC5jb250ZXh0RWxlbWVudCB8fCBnZXREb2N1bWVudEVsZW1lbnQoc3RhdGUuZWxlbWVudHMucG9wcGVyKSwgYm91bmRhcnksIHJvb3RCb3VuZGFyeSwgc3RyYXRlZ3kpO1xuICB2YXIgcmVmZXJlbmNlQ2xpZW50UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChzdGF0ZS5lbGVtZW50cy5yZWZlcmVuY2UpO1xuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IGNvbXB1dGVPZmZzZXRzKHtcbiAgICByZWZlcmVuY2U6IHJlZmVyZW5jZUNsaWVudFJlY3QsXG4gICAgZWxlbWVudDogcG9wcGVyUmVjdCxcbiAgICBzdHJhdGVneTogJ2Fic29sdXRlJyxcbiAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudFxuICB9KTtcbiAgdmFyIHBvcHBlckNsaWVudFJlY3QgPSByZWN0VG9DbGllbnRSZWN0KE9iamVjdC5hc3NpZ24oe30sIHBvcHBlclJlY3QsIHBvcHBlck9mZnNldHMpKTtcbiAgdmFyIGVsZW1lbnRDbGllbnRSZWN0ID0gZWxlbWVudENvbnRleHQgPT09IHBvcHBlciA/IHBvcHBlckNsaWVudFJlY3QgOiByZWZlcmVuY2VDbGllbnRSZWN0OyAvLyBwb3NpdGl2ZSA9IG92ZXJmbG93aW5nIHRoZSBjbGlwcGluZyByZWN0XG4gIC8vIDAgb3IgbmVnYXRpdmUgPSB3aXRoaW4gdGhlIGNsaXBwaW5nIHJlY3RcblxuICB2YXIgb3ZlcmZsb3dPZmZzZXRzID0ge1xuICAgIHRvcDogY2xpcHBpbmdDbGllbnRSZWN0LnRvcCAtIGVsZW1lbnRDbGllbnRSZWN0LnRvcCArIHBhZGRpbmdPYmplY3QudG9wLFxuICAgIGJvdHRvbTogZWxlbWVudENsaWVudFJlY3QuYm90dG9tIC0gY2xpcHBpbmdDbGllbnRSZWN0LmJvdHRvbSArIHBhZGRpbmdPYmplY3QuYm90dG9tLFxuICAgIGxlZnQ6IGNsaXBwaW5nQ2xpZW50UmVjdC5sZWZ0IC0gZWxlbWVudENsaWVudFJlY3QubGVmdCArIHBhZGRpbmdPYmplY3QubGVmdCxcbiAgICByaWdodDogZWxlbWVudENsaWVudFJlY3QucmlnaHQgLSBjbGlwcGluZ0NsaWVudFJlY3QucmlnaHQgKyBwYWRkaW5nT2JqZWN0LnJpZ2h0XG4gIH07XG4gIHZhciBvZmZzZXREYXRhID0gc3RhdGUubW9kaWZpZXJzRGF0YS5vZmZzZXQ7IC8vIE9mZnNldHMgY2FuIGJlIGFwcGxpZWQgb25seSB0byB0aGUgcG9wcGVyIGVsZW1lbnRcblxuICBpZiAoZWxlbWVudENvbnRleHQgPT09IHBvcHBlciAmJiBvZmZzZXREYXRhKSB7XG4gICAgdmFyIG9mZnNldCA9IG9mZnNldERhdGFbcGxhY2VtZW50XTtcbiAgICBPYmplY3Qua2V5cyhvdmVyZmxvd09mZnNldHMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgdmFyIG11bHRpcGx5ID0gW3JpZ2h0LCBib3R0b21dLmluZGV4T2Yoa2V5KSA+PSAwID8gMSA6IC0xO1xuICAgICAgdmFyIGF4aXMgPSBbdG9wLCBib3R0b21dLmluZGV4T2Yoa2V5KSA+PSAwID8gJ3knIDogJ3gnO1xuICAgICAgb3ZlcmZsb3dPZmZzZXRzW2tleV0gKz0gb2Zmc2V0W2F4aXNdICogbXVsdGlwbHk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gb3ZlcmZsb3dPZmZzZXRzO1xufSIsImltcG9ydCBnZXRWYXJpYXRpb24gZnJvbSBcIi4vZ2V0VmFyaWF0aW9uLmpzXCI7XG5pbXBvcnQgeyB2YXJpYXRpb25QbGFjZW1lbnRzLCBiYXNlUGxhY2VtZW50cywgcGxhY2VtZW50cyBhcyBhbGxQbGFjZW1lbnRzIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4vZGV0ZWN0T3ZlcmZsb3cuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXB1dGVBdXRvUGxhY2VtZW50KHN0YXRlLCBvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cblxuICB2YXIgX29wdGlvbnMgPSBvcHRpb25zLFxuICAgICAgcGxhY2VtZW50ID0gX29wdGlvbnMucGxhY2VtZW50LFxuICAgICAgYm91bmRhcnkgPSBfb3B0aW9ucy5ib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeSA9IF9vcHRpb25zLnJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmcgPSBfb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgZmxpcFZhcmlhdGlvbnMgPSBfb3B0aW9ucy5mbGlwVmFyaWF0aW9ucyxcbiAgICAgIF9vcHRpb25zJGFsbG93ZWRBdXRvUCA9IF9vcHRpb25zLmFsbG93ZWRBdXRvUGxhY2VtZW50cyxcbiAgICAgIGFsbG93ZWRBdXRvUGxhY2VtZW50cyA9IF9vcHRpb25zJGFsbG93ZWRBdXRvUCA9PT0gdm9pZCAwID8gYWxsUGxhY2VtZW50cyA6IF9vcHRpb25zJGFsbG93ZWRBdXRvUDtcbiAgdmFyIHZhcmlhdGlvbiA9IGdldFZhcmlhdGlvbihwbGFjZW1lbnQpO1xuICB2YXIgcGxhY2VtZW50cyA9IHZhcmlhdGlvbiA/IGZsaXBWYXJpYXRpb25zID8gdmFyaWF0aW9uUGxhY2VtZW50cyA6IHZhcmlhdGlvblBsYWNlbWVudHMuZmlsdGVyKGZ1bmN0aW9uIChwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgPT09IHZhcmlhdGlvbjtcbiAgfSkgOiBiYXNlUGxhY2VtZW50cztcbiAgdmFyIGFsbG93ZWRQbGFjZW1lbnRzID0gcGxhY2VtZW50cy5maWx0ZXIoZnVuY3Rpb24gKHBsYWNlbWVudCkge1xuICAgIHJldHVybiBhbGxvd2VkQXV0b1BsYWNlbWVudHMuaW5kZXhPZihwbGFjZW1lbnQpID49IDA7XG4gIH0pO1xuXG4gIGlmIChhbGxvd2VkUGxhY2VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICBhbGxvd2VkUGxhY2VtZW50cyA9IHBsYWNlbWVudHM7XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBUaGUgYGFsbG93ZWRBdXRvUGxhY2VtZW50c2Agb3B0aW9uIGRpZCBub3QgYWxsb3cgYW55JywgJ3BsYWNlbWVudHMuIEVuc3VyZSB0aGUgYHBsYWNlbWVudGAgb3B0aW9uIG1hdGNoZXMgdGhlIHZhcmlhdGlvbicsICdvZiB0aGUgYWxsb3dlZCBwbGFjZW1lbnRzLicsICdGb3IgZXhhbXBsZSwgXCJhdXRvXCIgY2Fubm90IGJlIHVzZWQgdG8gYWxsb3cgXCJib3R0b20tc3RhcnRcIi4nLCAnVXNlIFwiYXV0by1zdGFydFwiIGluc3RlYWQuJ10uam9pbignICcpKTtcbiAgICB9XG4gIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV06IEZsb3cgc2VlbXMgdG8gaGF2ZSBwcm9ibGVtcyB3aXRoIHR3byBhcnJheSB1bmlvbnMuLi5cblxuXG4gIHZhciBvdmVyZmxvd3MgPSBhbGxvd2VkUGxhY2VtZW50cy5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgcGxhY2VtZW50KSB7XG4gICAgYWNjW3BsYWNlbWVudF0gPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnk6IHJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmc6IHBhZGRpbmdcbiAgICB9KVtnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCldO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG92ZXJmbG93cykuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgIHJldHVybiBvdmVyZmxvd3NbYV0gLSBvdmVyZmxvd3NbYl07XG4gIH0pO1xufSIsImltcG9ydCBnZXRPcHBvc2l0ZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0T3Bwb3NpdGVQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4uL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgY29tcHV0ZUF1dG9QbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2NvbXB1dGVBdXRvUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyBib3R0b20sIHRvcCwgc3RhcnQsIHJpZ2h0LCBsZWZ0LCBhdXRvIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZ2V0VmFyaWF0aW9uIGZyb20gXCIuLi91dGlscy9nZXRWYXJpYXRpb24uanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5mdW5jdGlvbiBnZXRFeHBhbmRlZEZhbGxiYWNrUGxhY2VtZW50cyhwbGFjZW1lbnQpIHtcbiAgaWYgKGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSA9PT0gYXV0bykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHZhciBvcHBvc2l0ZVBsYWNlbWVudCA9IGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHJldHVybiBbZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQocGxhY2VtZW50KSwgb3Bwb3NpdGVQbGFjZW1lbnQsIGdldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50KG9wcG9zaXRlUGxhY2VtZW50KV07XG59XG5cbmZ1bmN0aW9uIGZsaXAoX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgb3B0aW9ucyA9IF9yZWYub3B0aW9ucyxcbiAgICAgIG5hbWUgPSBfcmVmLm5hbWU7XG5cbiAgaWYgKHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0uX3NraXApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgX29wdGlvbnMkbWFpbkF4aXMgPSBvcHRpb25zLm1haW5BeGlzLFxuICAgICAgY2hlY2tNYWluQXhpcyA9IF9vcHRpb25zJG1haW5BeGlzID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkbWFpbkF4aXMsXG4gICAgICBfb3B0aW9ucyRhbHRBeGlzID0gb3B0aW9ucy5hbHRBeGlzLFxuICAgICAgY2hlY2tBbHRBeGlzID0gX29wdGlvbnMkYWx0QXhpcyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJGFsdEF4aXMsXG4gICAgICBzcGVjaWZpZWRGYWxsYmFja1BsYWNlbWVudHMgPSBvcHRpb25zLmZhbGxiYWNrUGxhY2VtZW50cyxcbiAgICAgIHBhZGRpbmcgPSBvcHRpb25zLnBhZGRpbmcsXG4gICAgICBib3VuZGFyeSA9IG9wdGlvbnMuYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnkgPSBvcHRpb25zLnJvb3RCb3VuZGFyeSxcbiAgICAgIGFsdEJvdW5kYXJ5ID0gb3B0aW9ucy5hbHRCb3VuZGFyeSxcbiAgICAgIF9vcHRpb25zJGZsaXBWYXJpYXRpbyA9IG9wdGlvbnMuZmxpcFZhcmlhdGlvbnMsXG4gICAgICBmbGlwVmFyaWF0aW9ucyA9IF9vcHRpb25zJGZsaXBWYXJpYXRpbyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJGZsaXBWYXJpYXRpbyxcbiAgICAgIGFsbG93ZWRBdXRvUGxhY2VtZW50cyA9IG9wdGlvbnMuYWxsb3dlZEF1dG9QbGFjZW1lbnRzO1xuICB2YXIgcHJlZmVycmVkUGxhY2VtZW50ID0gc3RhdGUub3B0aW9ucy5wbGFjZW1lbnQ7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gZ2V0QmFzZVBsYWNlbWVudChwcmVmZXJyZWRQbGFjZW1lbnQpO1xuICB2YXIgaXNCYXNlUGxhY2VtZW50ID0gYmFzZVBsYWNlbWVudCA9PT0gcHJlZmVycmVkUGxhY2VtZW50O1xuICB2YXIgZmFsbGJhY2tQbGFjZW1lbnRzID0gc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzIHx8IChpc0Jhc2VQbGFjZW1lbnQgfHwgIWZsaXBWYXJpYXRpb25zID8gW2dldE9wcG9zaXRlUGxhY2VtZW50KHByZWZlcnJlZFBsYWNlbWVudCldIDogZ2V0RXhwYW5kZWRGYWxsYmFja1BsYWNlbWVudHMocHJlZmVycmVkUGxhY2VtZW50KSk7XG4gIHZhciBwbGFjZW1lbnRzID0gW3ByZWZlcnJlZFBsYWNlbWVudF0uY29uY2F0KGZhbGxiYWNrUGxhY2VtZW50cykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICAgIHJldHVybiBhY2MuY29uY2F0KGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSA9PT0gYXV0byA/IGNvbXB1dGVBdXRvUGxhY2VtZW50KHN0YXRlLCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZzogcGFkZGluZyxcbiAgICAgIGZsaXBWYXJpYXRpb25zOiBmbGlwVmFyaWF0aW9ucyxcbiAgICAgIGFsbG93ZWRBdXRvUGxhY2VtZW50czogYWxsb3dlZEF1dG9QbGFjZW1lbnRzXG4gICAgfSkgOiBwbGFjZW1lbnQpO1xuICB9LCBbXSk7XG4gIHZhciByZWZlcmVuY2VSZWN0ID0gc3RhdGUucmVjdHMucmVmZXJlbmNlO1xuICB2YXIgcG9wcGVyUmVjdCA9IHN0YXRlLnJlY3RzLnBvcHBlcjtcbiAgdmFyIGNoZWNrc01hcCA9IG5ldyBNYXAoKTtcbiAgdmFyIG1ha2VGYWxsYmFja0NoZWNrcyA9IHRydWU7XG4gIHZhciBmaXJzdEZpdHRpbmdQbGFjZW1lbnQgPSBwbGFjZW1lbnRzWzBdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcGxhY2VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBwbGFjZW1lbnQgPSBwbGFjZW1lbnRzW2ldO1xuXG4gICAgdmFyIF9iYXNlUGxhY2VtZW50ID0gZ2V0QmFzZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuXG4gICAgdmFyIGlzU3RhcnRWYXJpYXRpb24gPSBnZXRWYXJpYXRpb24ocGxhY2VtZW50KSA9PT0gc3RhcnQ7XG4gICAgdmFyIGlzVmVydGljYWwgPSBbdG9wLCBib3R0b21dLmluZGV4T2YoX2Jhc2VQbGFjZW1lbnQpID49IDA7XG4gICAgdmFyIGxlbiA9IGlzVmVydGljYWwgPyAnd2lkdGgnIDogJ2hlaWdodCc7XG4gICAgdmFyIG92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50LFxuICAgICAgYm91bmRhcnk6IGJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5OiByb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeTogYWx0Qm91bmRhcnksXG4gICAgICBwYWRkaW5nOiBwYWRkaW5nXG4gICAgfSk7XG4gICAgdmFyIG1haW5WYXJpYXRpb25TaWRlID0gaXNWZXJ0aWNhbCA/IGlzU3RhcnRWYXJpYXRpb24gPyByaWdodCA6IGxlZnQgOiBpc1N0YXJ0VmFyaWF0aW9uID8gYm90dG9tIDogdG9wO1xuXG4gICAgaWYgKHJlZmVyZW5jZVJlY3RbbGVuXSA+IHBvcHBlclJlY3RbbGVuXSkge1xuICAgICAgbWFpblZhcmlhdGlvblNpZGUgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChtYWluVmFyaWF0aW9uU2lkZSk7XG4gICAgfVxuXG4gICAgdmFyIGFsdFZhcmlhdGlvblNpZGUgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChtYWluVmFyaWF0aW9uU2lkZSk7XG4gICAgdmFyIGNoZWNrcyA9IFtdO1xuXG4gICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICAgIGNoZWNrcy5wdXNoKG92ZXJmbG93W19iYXNlUGxhY2VtZW50XSA8PSAwKTtcbiAgICB9XG5cbiAgICBpZiAoY2hlY2tBbHRBeGlzKSB7XG4gICAgICBjaGVja3MucHVzaChvdmVyZmxvd1ttYWluVmFyaWF0aW9uU2lkZV0gPD0gMCwgb3ZlcmZsb3dbYWx0VmFyaWF0aW9uU2lkZV0gPD0gMCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrcy5ldmVyeShmdW5jdGlvbiAoY2hlY2spIHtcbiAgICAgIHJldHVybiBjaGVjaztcbiAgICB9KSkge1xuICAgICAgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gcGxhY2VtZW50O1xuICAgICAgbWFrZUZhbGxiYWNrQ2hlY2tzID0gZmFsc2U7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjaGVja3NNYXAuc2V0KHBsYWNlbWVudCwgY2hlY2tzKTtcbiAgfVxuXG4gIGlmIChtYWtlRmFsbGJhY2tDaGVja3MpIHtcbiAgICAvLyBgMmAgbWF5IGJlIGRlc2lyZWQgaW4gc29tZSBjYXNlcyDigJMgcmVzZWFyY2ggbGF0ZXJcbiAgICB2YXIgbnVtYmVyT2ZDaGVja3MgPSBmbGlwVmFyaWF0aW9ucyA/IDMgOiAxO1xuXG4gICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoX2kpIHtcbiAgICAgIHZhciBmaXR0aW5nUGxhY2VtZW50ID0gcGxhY2VtZW50cy5maW5kKGZ1bmN0aW9uIChwbGFjZW1lbnQpIHtcbiAgICAgICAgdmFyIGNoZWNrcyA9IGNoZWNrc01hcC5nZXQocGxhY2VtZW50KTtcblxuICAgICAgICBpZiAoY2hlY2tzKSB7XG4gICAgICAgICAgcmV0dXJuIGNoZWNrcy5zbGljZSgwLCBfaSkuZXZlcnkoZnVuY3Rpb24gKGNoZWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gY2hlY2s7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoZml0dGluZ1BsYWNlbWVudCkge1xuICAgICAgICBmaXJzdEZpdHRpbmdQbGFjZW1lbnQgPSBmaXR0aW5nUGxhY2VtZW50O1xuICAgICAgICByZXR1cm4gXCJicmVha1wiO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBmb3IgKHZhciBfaSA9IG51bWJlck9mQ2hlY2tzOyBfaSA+IDA7IF9pLS0pIHtcbiAgICAgIHZhciBfcmV0ID0gX2xvb3AoX2kpO1xuXG4gICAgICBpZiAoX3JldCA9PT0gXCJicmVha1wiKSBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAoc3RhdGUucGxhY2VtZW50ICE9PSBmaXJzdEZpdHRpbmdQbGFjZW1lbnQpIHtcbiAgICBzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdLl9za2lwID0gdHJ1ZTtcbiAgICBzdGF0ZS5wbGFjZW1lbnQgPSBmaXJzdEZpdHRpbmdQbGFjZW1lbnQ7XG4gICAgc3RhdGUucmVzZXQgPSB0cnVlO1xuICB9XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdmbGlwJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgZm46IGZsaXAsXG4gIHJlcXVpcmVzSWZFeGlzdHM6IFsnb2Zmc2V0J10sXG4gIGRhdGE6IHtcbiAgICBfc2tpcDogZmFsc2VcbiAgfVxufTsiLCJpbXBvcnQgeyB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi4vdXRpbHMvZGV0ZWN0T3ZlcmZsb3cuanNcIjtcblxuZnVuY3Rpb24gZ2V0U2lkZU9mZnNldHMob3ZlcmZsb3csIHJlY3QsIHByZXZlbnRlZE9mZnNldHMpIHtcbiAgaWYgKHByZXZlbnRlZE9mZnNldHMgPT09IHZvaWQgMCkge1xuICAgIHByZXZlbnRlZE9mZnNldHMgPSB7XG4gICAgICB4OiAwLFxuICAgICAgeTogMFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogb3ZlcmZsb3cudG9wIC0gcmVjdC5oZWlnaHQgLSBwcmV2ZW50ZWRPZmZzZXRzLnksXG4gICAgcmlnaHQ6IG92ZXJmbG93LnJpZ2h0IC0gcmVjdC53aWR0aCArIHByZXZlbnRlZE9mZnNldHMueCxcbiAgICBib3R0b206IG92ZXJmbG93LmJvdHRvbSAtIHJlY3QuaGVpZ2h0ICsgcHJldmVudGVkT2Zmc2V0cy55LFxuICAgIGxlZnQ6IG92ZXJmbG93LmxlZnQgLSByZWN0LndpZHRoIC0gcHJldmVudGVkT2Zmc2V0cy54XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChvdmVyZmxvdykge1xuICByZXR1cm4gW3RvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdF0uc29tZShmdW5jdGlvbiAoc2lkZSkge1xuICAgIHJldHVybiBvdmVyZmxvd1tzaWRlXSA+PSAwO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaGlkZShfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciBwcmV2ZW50ZWRPZmZzZXRzID0gc3RhdGUubW9kaWZpZXJzRGF0YS5wcmV2ZW50T3ZlcmZsb3c7XG4gIHZhciByZWZlcmVuY2VPdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgZWxlbWVudENvbnRleHQ6ICdyZWZlcmVuY2UnXG4gIH0pO1xuICB2YXIgcG9wcGVyQWx0T3ZlcmZsb3cgPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgIGFsdEJvdW5kYXJ5OiB0cnVlXG4gIH0pO1xuICB2YXIgcmVmZXJlbmNlQ2xpcHBpbmdPZmZzZXRzID0gZ2V0U2lkZU9mZnNldHMocmVmZXJlbmNlT3ZlcmZsb3csIHJlZmVyZW5jZVJlY3QpO1xuICB2YXIgcG9wcGVyRXNjYXBlT2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKHBvcHBlckFsdE92ZXJmbG93LCBwb3BwZXJSZWN0LCBwcmV2ZW50ZWRPZmZzZXRzKTtcbiAgdmFyIGlzUmVmZXJlbmNlSGlkZGVuID0gaXNBbnlTaWRlRnVsbHlDbGlwcGVkKHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyk7XG4gIHZhciBoYXNQb3BwZXJFc2NhcGVkID0gaXNBbnlTaWRlRnVsbHlDbGlwcGVkKHBvcHBlckVzY2FwZU9mZnNldHMpO1xuICBzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdID0ge1xuICAgIHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0czogcmVmZXJlbmNlQ2xpcHBpbmdPZmZzZXRzLFxuICAgIHBvcHBlckVzY2FwZU9mZnNldHM6IHBvcHBlckVzY2FwZU9mZnNldHMsXG4gICAgaXNSZWZlcmVuY2VIaWRkZW46IGlzUmVmZXJlbmNlSGlkZGVuLFxuICAgIGhhc1BvcHBlckVzY2FwZWQ6IGhhc1BvcHBlckVzY2FwZWRcbiAgfTtcbiAgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5hdHRyaWJ1dGVzLnBvcHBlciwge1xuICAgICdkYXRhLXBvcHBlci1yZWZlcmVuY2UtaGlkZGVuJzogaXNSZWZlcmVuY2VIaWRkZW4sXG4gICAgJ2RhdGEtcG9wcGVyLWVzY2FwZWQnOiBoYXNQb3BwZXJFc2NhcGVkXG4gIH0pO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnaGlkZScsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIHJlcXVpcmVzSWZFeGlzdHM6IFsncHJldmVudE92ZXJmbG93J10sXG4gIGZuOiBoaWRlXG59OyIsImltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB0b3AsIGxlZnQsIHJpZ2h0LCBwbGFjZW1lbnRzIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RhbmNlQW5kU2tpZGRpbmdUb1hZKHBsYWNlbWVudCwgcmVjdHMsIG9mZnNldCkge1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgdmFyIGludmVydERpc3RhbmNlID0gW2xlZnQsIHRvcF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA+PSAwID8gLTEgOiAxO1xuXG4gIHZhciBfcmVmID0gdHlwZW9mIG9mZnNldCA9PT0gJ2Z1bmN0aW9uJyA/IG9mZnNldChPYmplY3QuYXNzaWduKHt9LCByZWN0cywge1xuICAgIHBsYWNlbWVudDogcGxhY2VtZW50XG4gIH0pKSA6IG9mZnNldCxcbiAgICAgIHNraWRkaW5nID0gX3JlZlswXSxcbiAgICAgIGRpc3RhbmNlID0gX3JlZlsxXTtcblxuICBza2lkZGluZyA9IHNraWRkaW5nIHx8IDA7XG4gIGRpc3RhbmNlID0gKGRpc3RhbmNlIHx8IDApICogaW52ZXJ0RGlzdGFuY2U7XG4gIHJldHVybiBbbGVmdCwgcmlnaHRdLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgPj0gMCA/IHtcbiAgICB4OiBkaXN0YW5jZSxcbiAgICB5OiBza2lkZGluZ1xuICB9IDoge1xuICAgIHg6IHNraWRkaW5nLFxuICAgIHk6IGRpc3RhbmNlXG4gIH07XG59XG5cbmZ1bmN0aW9uIG9mZnNldChfcmVmMikge1xuICB2YXIgc3RhdGUgPSBfcmVmMi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmMi5vcHRpb25zLFxuICAgICAgbmFtZSA9IF9yZWYyLm5hbWU7XG4gIHZhciBfb3B0aW9ucyRvZmZzZXQgPSBvcHRpb25zLm9mZnNldCxcbiAgICAgIG9mZnNldCA9IF9vcHRpb25zJG9mZnNldCA9PT0gdm9pZCAwID8gWzAsIDBdIDogX29wdGlvbnMkb2Zmc2V0O1xuICB2YXIgZGF0YSA9IHBsYWNlbWVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICAgIGFjY1twbGFjZW1lbnRdID0gZGlzdGFuY2VBbmRTa2lkZGluZ1RvWFkocGxhY2VtZW50LCBzdGF0ZS5yZWN0cywgb2Zmc2V0KTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG4gIHZhciBfZGF0YSRzdGF0ZSRwbGFjZW1lbnQgPSBkYXRhW3N0YXRlLnBsYWNlbWVudF0sXG4gICAgICB4ID0gX2RhdGEkc3RhdGUkcGxhY2VtZW50LngsXG4gICAgICB5ID0gX2RhdGEkc3RhdGUkcGxhY2VtZW50Lnk7XG5cbiAgaWYgKHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cyAhPSBudWxsKSB7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLnggKz0geDtcbiAgICBzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMueSArPSB5O1xuICB9XG5cbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IGRhdGE7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdvZmZzZXQnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ21haW4nLFxuICByZXF1aXJlczogWydwb3BwZXJPZmZzZXRzJ10sXG4gIGZuOiBvZmZzZXRcbn07IiwiaW1wb3J0IGNvbXB1dGVPZmZzZXRzIGZyb20gXCIuLi91dGlscy9jb21wdXRlT2Zmc2V0cy5qc1wiO1xuXG5mdW5jdGlvbiBwb3BwZXJPZmZzZXRzKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG5hbWUgPSBfcmVmLm5hbWU7XG4gIC8vIE9mZnNldHMgYXJlIHRoZSBhY3R1YWwgcG9zaXRpb24gdGhlIHBvcHBlciBuZWVkcyB0byBoYXZlIHRvIGJlXG4gIC8vIHByb3Blcmx5IHBvc2l0aW9uZWQgbmVhciBpdHMgcmVmZXJlbmNlIGVsZW1lbnRcbiAgLy8gVGhpcyBpcyB0aGUgbW9zdCBiYXNpYyBwbGFjZW1lbnQsIGFuZCB3aWxsIGJlIGFkanVzdGVkIGJ5XG4gIC8vIHRoZSBtb2RpZmllcnMgaW4gdGhlIG5leHQgc3RlcFxuICBzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdID0gY29tcHV0ZU9mZnNldHMoe1xuICAgIHJlZmVyZW5jZTogc3RhdGUucmVjdHMucmVmZXJlbmNlLFxuICAgIGVsZW1lbnQ6IHN0YXRlLnJlY3RzLnBvcHBlcixcbiAgICBzdHJhdGVneTogJ2Fic29sdXRlJyxcbiAgICBwbGFjZW1lbnQ6IHN0YXRlLnBsYWNlbWVudFxuICB9KTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ3BvcHBlck9mZnNldHMnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ3JlYWQnLFxuICBmbjogcG9wcGVyT2Zmc2V0cyxcbiAgZGF0YToge31cbn07IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0QWx0QXhpcyhheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneCcgPyAneScgOiAneCc7XG59IiwiaW1wb3J0IHsgdG9wLCBsZWZ0LCByaWdodCwgYm90dG9tLCBzdGFydCB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldEFsdEF4aXMgZnJvbSBcIi4uL3V0aWxzL2dldEFsdEF4aXMuanNcIjtcbmltcG9ydCB7IHdpdGhpbiwgd2l0aGluTWF4Q2xhbXAgfSBmcm9tIFwiLi4vdXRpbHMvd2l0aGluLmpzXCI7XG5pbXBvcnQgZ2V0TGF5b3V0UmVjdCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldExheW91dFJlY3QuanNcIjtcbmltcG9ydCBnZXRPZmZzZXRQYXJlbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi4vdXRpbHMvZGV0ZWN0T3ZlcmZsb3cuanNcIjtcbmltcG9ydCBnZXRWYXJpYXRpb24gZnJvbSBcIi4uL3V0aWxzL2dldFZhcmlhdGlvbi5qc1wiO1xuaW1wb3J0IGdldEZyZXNoU2lkZU9iamVjdCBmcm9tIFwiLi4vdXRpbHMvZ2V0RnJlc2hTaWRlT2JqZWN0LmpzXCI7XG5pbXBvcnQgeyBtaW4gYXMgbWF0aE1pbiwgbWF4IGFzIG1hdGhNYXggfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiO1xuXG5mdW5jdGlvbiBwcmV2ZW50T3ZlcmZsb3coX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgb3B0aW9ucyA9IF9yZWYub3B0aW9ucyxcbiAgICAgIG5hbWUgPSBfcmVmLm5hbWU7XG4gIHZhciBfb3B0aW9ucyRtYWluQXhpcyA9IG9wdGlvbnMubWFpbkF4aXMsXG4gICAgICBjaGVja01haW5BeGlzID0gX29wdGlvbnMkbWFpbkF4aXMgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRtYWluQXhpcyxcbiAgICAgIF9vcHRpb25zJGFsdEF4aXMgPSBvcHRpb25zLmFsdEF4aXMsXG4gICAgICBjaGVja0FsdEF4aXMgPSBfb3B0aW9ucyRhbHRBeGlzID09PSB2b2lkIDAgPyBmYWxzZSA6IF9vcHRpb25zJGFsdEF4aXMsXG4gICAgICBib3VuZGFyeSA9IG9wdGlvbnMuYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnkgPSBvcHRpb25zLnJvb3RCb3VuZGFyeSxcbiAgICAgIGFsdEJvdW5kYXJ5ID0gb3B0aW9ucy5hbHRCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmcgPSBvcHRpb25zLnBhZGRpbmcsXG4gICAgICBfb3B0aW9ucyR0ZXRoZXIgPSBvcHRpb25zLnRldGhlcixcbiAgICAgIHRldGhlciA9IF9vcHRpb25zJHRldGhlciA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJHRldGhlcixcbiAgICAgIF9vcHRpb25zJHRldGhlck9mZnNldCA9IG9wdGlvbnMudGV0aGVyT2Zmc2V0LFxuICAgICAgdGV0aGVyT2Zmc2V0ID0gX29wdGlvbnMkdGV0aGVyT2Zmc2V0ID09PSB2b2lkIDAgPyAwIDogX29wdGlvbnMkdGV0aGVyT2Zmc2V0O1xuICB2YXIgb3ZlcmZsb3cgPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICByb290Qm91bmRhcnk6IHJvb3RCb3VuZGFyeSxcbiAgICBwYWRkaW5nOiBwYWRkaW5nLFxuICAgIGFsdEJvdW5kYXJ5OiBhbHRCb3VuZGFyeVxuICB9KTtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciB2YXJpYXRpb24gPSBnZXRWYXJpYXRpb24oc3RhdGUucGxhY2VtZW50KTtcbiAgdmFyIGlzQmFzZVBsYWNlbWVudCA9ICF2YXJpYXRpb247XG4gIHZhciBtYWluQXhpcyA9IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudChiYXNlUGxhY2VtZW50KTtcbiAgdmFyIGFsdEF4aXMgPSBnZXRBbHRBeGlzKG1haW5BeGlzKTtcbiAgdmFyIHBvcHBlck9mZnNldHMgPSBzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHM7XG4gIHZhciByZWZlcmVuY2VSZWN0ID0gc3RhdGUucmVjdHMucmVmZXJlbmNlO1xuICB2YXIgcG9wcGVyUmVjdCA9IHN0YXRlLnJlY3RzLnBvcHBlcjtcbiAgdmFyIHRldGhlck9mZnNldFZhbHVlID0gdHlwZW9mIHRldGhlck9mZnNldCA9PT0gJ2Z1bmN0aW9uJyA/IHRldGhlck9mZnNldChPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5yZWN0cywge1xuICAgIHBsYWNlbWVudDogc3RhdGUucGxhY2VtZW50XG4gIH0pKSA6IHRldGhlck9mZnNldDtcbiAgdmFyIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZSA9IHR5cGVvZiB0ZXRoZXJPZmZzZXRWYWx1ZSA9PT0gJ251bWJlcicgPyB7XG4gICAgbWFpbkF4aXM6IHRldGhlck9mZnNldFZhbHVlLFxuICAgIGFsdEF4aXM6IHRldGhlck9mZnNldFZhbHVlXG4gIH0gOiBPYmplY3QuYXNzaWduKHtcbiAgICBtYWluQXhpczogMCxcbiAgICBhbHRBeGlzOiAwXG4gIH0sIHRldGhlck9mZnNldFZhbHVlKTtcbiAgdmFyIG9mZnNldE1vZGlmaWVyU3RhdGUgPSBzdGF0ZS5tb2RpZmllcnNEYXRhLm9mZnNldCA/IHN0YXRlLm1vZGlmaWVyc0RhdGEub2Zmc2V0W3N0YXRlLnBsYWNlbWVudF0gOiBudWxsO1xuICB2YXIgZGF0YSA9IHtcbiAgICB4OiAwLFxuICAgIHk6IDBcbiAgfTtcblxuICBpZiAoIXBvcHBlck9mZnNldHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoY2hlY2tNYWluQXhpcykge1xuICAgIHZhciBfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQ7XG5cbiAgICB2YXIgbWFpblNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gdG9wIDogbGVmdDtcbiAgICB2YXIgYWx0U2lkZSA9IG1haW5BeGlzID09PSAneScgPyBib3R0b20gOiByaWdodDtcbiAgICB2YXIgbGVuID0gbWFpbkF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgICB2YXIgb2Zmc2V0ID0gcG9wcGVyT2Zmc2V0c1ttYWluQXhpc107XG4gICAgdmFyIG1pbiA9IG9mZnNldCArIG92ZXJmbG93W21haW5TaWRlXTtcbiAgICB2YXIgbWF4ID0gb2Zmc2V0IC0gb3ZlcmZsb3dbYWx0U2lkZV07XG4gICAgdmFyIGFkZGl0aXZlID0gdGV0aGVyID8gLXBvcHBlclJlY3RbbGVuXSAvIDIgOiAwO1xuICAgIHZhciBtaW5MZW4gPSB2YXJpYXRpb24gPT09IHN0YXJ0ID8gcmVmZXJlbmNlUmVjdFtsZW5dIDogcG9wcGVyUmVjdFtsZW5dO1xuICAgIHZhciBtYXhMZW4gPSB2YXJpYXRpb24gPT09IHN0YXJ0ID8gLXBvcHBlclJlY3RbbGVuXSA6IC1yZWZlcmVuY2VSZWN0W2xlbl07IC8vIFdlIG5lZWQgdG8gaW5jbHVkZSB0aGUgYXJyb3cgaW4gdGhlIGNhbGN1bGF0aW9uIHNvIHRoZSBhcnJvdyBkb2Vzbid0IGdvXG4gICAgLy8gb3V0c2lkZSB0aGUgcmVmZXJlbmNlIGJvdW5kc1xuXG4gICAgdmFyIGFycm93RWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93O1xuICAgIHZhciBhcnJvd1JlY3QgPSB0ZXRoZXIgJiYgYXJyb3dFbGVtZW50ID8gZ2V0TGF5b3V0UmVjdChhcnJvd0VsZW1lbnQpIDoge1xuICAgICAgd2lkdGg6IDAsXG4gICAgICBoZWlnaHQ6IDBcbiAgICB9O1xuICAgIHZhciBhcnJvd1BhZGRpbmdPYmplY3QgPSBzdGF0ZS5tb2RpZmllcnNEYXRhWydhcnJvdyNwZXJzaXN0ZW50J10gPyBzdGF0ZS5tb2RpZmllcnNEYXRhWydhcnJvdyNwZXJzaXN0ZW50J10ucGFkZGluZyA6IGdldEZyZXNoU2lkZU9iamVjdCgpO1xuICAgIHZhciBhcnJvd1BhZGRpbmdNaW4gPSBhcnJvd1BhZGRpbmdPYmplY3RbbWFpblNpZGVdO1xuICAgIHZhciBhcnJvd1BhZGRpbmdNYXggPSBhcnJvd1BhZGRpbmdPYmplY3RbYWx0U2lkZV07IC8vIElmIHRoZSByZWZlcmVuY2UgbGVuZ3RoIGlzIHNtYWxsZXIgdGhhbiB0aGUgYXJyb3cgbGVuZ3RoLCB3ZSBkb24ndCB3YW50XG4gICAgLy8gdG8gaW5jbHVkZSBpdHMgZnVsbCBzaXplIGluIHRoZSBjYWxjdWxhdGlvbi4gSWYgdGhlIHJlZmVyZW5jZSBpcyBzbWFsbFxuICAgIC8vIGFuZCBuZWFyIHRoZSBlZGdlIG9mIGEgYm91bmRhcnksIHRoZSBwb3BwZXIgY2FuIG92ZXJmbG93IGV2ZW4gaWYgdGhlXG4gICAgLy8gcmVmZXJlbmNlIGlzIG5vdCBvdmVyZmxvd2luZyBhcyB3ZWxsIChlLmcuIHZpcnR1YWwgZWxlbWVudHMgd2l0aCBub1xuICAgIC8vIHdpZHRoIG9yIGhlaWdodClcblxuICAgIHZhciBhcnJvd0xlbiA9IHdpdGhpbigwLCByZWZlcmVuY2VSZWN0W2xlbl0sIGFycm93UmVjdFtsZW5dKTtcbiAgICB2YXIgbWluT2Zmc2V0ID0gaXNCYXNlUGxhY2VtZW50ID8gcmVmZXJlbmNlUmVjdFtsZW5dIC8gMiAtIGFkZGl0aXZlIC0gYXJyb3dMZW4gLSBhcnJvd1BhZGRpbmdNaW4gLSBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUubWFpbkF4aXMgOiBtaW5MZW4gLSBhcnJvd0xlbiAtIGFycm93UGFkZGluZ01pbiAtIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5tYWluQXhpcztcbiAgICB2YXIgbWF4T2Zmc2V0ID0gaXNCYXNlUGxhY2VtZW50ID8gLXJlZmVyZW5jZVJlY3RbbGVuXSAvIDIgKyBhZGRpdGl2ZSArIGFycm93TGVuICsgYXJyb3dQYWRkaW5nTWF4ICsgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzIDogbWF4TGVuICsgYXJyb3dMZW4gKyBhcnJvd1BhZGRpbmdNYXggKyBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUubWFpbkF4aXM7XG4gICAgdmFyIGFycm93T2Zmc2V0UGFyZW50ID0gc3RhdGUuZWxlbWVudHMuYXJyb3cgJiYgZ2V0T2Zmc2V0UGFyZW50KHN0YXRlLmVsZW1lbnRzLmFycm93KTtcbiAgICB2YXIgY2xpZW50T2Zmc2V0ID0gYXJyb3dPZmZzZXRQYXJlbnQgPyBtYWluQXhpcyA9PT0gJ3knID8gYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50VG9wIHx8IDAgOiBhcnJvd09mZnNldFBhcmVudC5jbGllbnRMZWZ0IHx8IDAgOiAwO1xuICAgIHZhciBvZmZzZXRNb2RpZmllclZhbHVlID0gKF9vZmZzZXRNb2RpZmllclN0YXRlJCA9IG9mZnNldE1vZGlmaWVyU3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IG9mZnNldE1vZGlmaWVyU3RhdGVbbWFpbkF4aXNdKSAhPSBudWxsID8gX29mZnNldE1vZGlmaWVyU3RhdGUkIDogMDtcbiAgICB2YXIgdGV0aGVyTWluID0gb2Zmc2V0ICsgbWluT2Zmc2V0IC0gb2Zmc2V0TW9kaWZpZXJWYWx1ZSAtIGNsaWVudE9mZnNldDtcbiAgICB2YXIgdGV0aGVyTWF4ID0gb2Zmc2V0ICsgbWF4T2Zmc2V0IC0gb2Zmc2V0TW9kaWZpZXJWYWx1ZTtcbiAgICB2YXIgcHJldmVudGVkT2Zmc2V0ID0gd2l0aGluKHRldGhlciA/IG1hdGhNaW4obWluLCB0ZXRoZXJNaW4pIDogbWluLCBvZmZzZXQsIHRldGhlciA/IG1hdGhNYXgobWF4LCB0ZXRoZXJNYXgpIDogbWF4KTtcbiAgICBwb3BwZXJPZmZzZXRzW21haW5BeGlzXSA9IHByZXZlbnRlZE9mZnNldDtcbiAgICBkYXRhW21haW5BeGlzXSA9IHByZXZlbnRlZE9mZnNldCAtIG9mZnNldDtcbiAgfVxuXG4gIGlmIChjaGVja0FsdEF4aXMpIHtcbiAgICB2YXIgX29mZnNldE1vZGlmaWVyU3RhdGUkMjtcblxuICAgIHZhciBfbWFpblNpZGUgPSBtYWluQXhpcyA9PT0gJ3gnID8gdG9wIDogbGVmdDtcblxuICAgIHZhciBfYWx0U2lkZSA9IG1haW5BeGlzID09PSAneCcgPyBib3R0b20gOiByaWdodDtcblxuICAgIHZhciBfb2Zmc2V0ID0gcG9wcGVyT2Zmc2V0c1thbHRBeGlzXTtcblxuICAgIHZhciBfbGVuID0gYWx0QXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuXG4gICAgdmFyIF9taW4gPSBfb2Zmc2V0ICsgb3ZlcmZsb3dbX21haW5TaWRlXTtcblxuICAgIHZhciBfbWF4ID0gX29mZnNldCAtIG92ZXJmbG93W19hbHRTaWRlXTtcblxuICAgIHZhciBpc09yaWdpblNpZGUgPSBbdG9wLCBsZWZ0XS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpICE9PSAtMTtcblxuICAgIHZhciBfb2Zmc2V0TW9kaWZpZXJWYWx1ZSA9IChfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQyID0gb2Zmc2V0TW9kaWZpZXJTdGF0ZSA9PSBudWxsID8gdm9pZCAwIDogb2Zmc2V0TW9kaWZpZXJTdGF0ZVthbHRBeGlzXSkgIT0gbnVsbCA/IF9vZmZzZXRNb2RpZmllclN0YXRlJDIgOiAwO1xuXG4gICAgdmFyIF90ZXRoZXJNaW4gPSBpc09yaWdpblNpZGUgPyBfbWluIDogX29mZnNldCAtIHJlZmVyZW5jZVJlY3RbX2xlbl0gLSBwb3BwZXJSZWN0W19sZW5dIC0gX29mZnNldE1vZGlmaWVyVmFsdWUgKyBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUuYWx0QXhpcztcblxuICAgIHZhciBfdGV0aGVyTWF4ID0gaXNPcmlnaW5TaWRlID8gX29mZnNldCArIHJlZmVyZW5jZVJlY3RbX2xlbl0gKyBwb3BwZXJSZWN0W19sZW5dIC0gX29mZnNldE1vZGlmaWVyVmFsdWUgLSBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUuYWx0QXhpcyA6IF9tYXg7XG5cbiAgICB2YXIgX3ByZXZlbnRlZE9mZnNldCA9IHRldGhlciAmJiBpc09yaWdpblNpZGUgPyB3aXRoaW5NYXhDbGFtcChfdGV0aGVyTWluLCBfb2Zmc2V0LCBfdGV0aGVyTWF4KSA6IHdpdGhpbih0ZXRoZXIgPyBfdGV0aGVyTWluIDogX21pbiwgX29mZnNldCwgdGV0aGVyID8gX3RldGhlck1heCA6IF9tYXgpO1xuXG4gICAgcG9wcGVyT2Zmc2V0c1thbHRBeGlzXSA9IF9wcmV2ZW50ZWRPZmZzZXQ7XG4gICAgZGF0YVthbHRBeGlzXSA9IF9wcmV2ZW50ZWRPZmZzZXQgLSBfb2Zmc2V0O1xuICB9XG5cbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IGRhdGE7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdwcmV2ZW50T3ZlcmZsb3cnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ21haW4nLFxuICBmbjogcHJldmVudE92ZXJmbG93LFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ29mZnNldCddXG59OyIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEhUTUxFbGVtZW50U2Nyb2xsKGVsZW1lbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBzY3JvbGxMZWZ0OiBlbGVtZW50LnNjcm9sbExlZnQsXG4gICAgc2Nyb2xsVG9wOiBlbGVtZW50LnNjcm9sbFRvcFxuICB9O1xufSIsImltcG9ydCBnZXRXaW5kb3dTY3JvbGwgZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCBnZXRIVE1MRWxlbWVudFNjcm9sbCBmcm9tIFwiLi9nZXRIVE1MRWxlbWVudFNjcm9sbC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Tm9kZVNjcm9sbChub2RlKSB7XG4gIGlmIChub2RlID09PSBnZXRXaW5kb3cobm9kZSkgfHwgIWlzSFRNTEVsZW1lbnQobm9kZSkpIHtcbiAgICByZXR1cm4gZ2V0V2luZG93U2Nyb2xsKG5vZGUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBnZXRIVE1MRWxlbWVudFNjcm9sbChub2RlKTtcbiAgfVxufSIsImltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZVNjcm9sbCBmcm9tIFwiLi9nZXROb2RlU2Nyb2xsLmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93U2Nyb2xsQmFyWCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGxCYXJYLmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgeyByb3VuZCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7XG5cbmZ1bmN0aW9uIGlzRWxlbWVudFNjYWxlZChlbGVtZW50KSB7XG4gIHZhciByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgdmFyIHNjYWxlWCA9IHJvdW5kKHJlY3Qud2lkdGgpIC8gZWxlbWVudC5vZmZzZXRXaWR0aCB8fCAxO1xuICB2YXIgc2NhbGVZID0gcm91bmQocmVjdC5oZWlnaHQpIC8gZWxlbWVudC5vZmZzZXRIZWlnaHQgfHwgMTtcbiAgcmV0dXJuIHNjYWxlWCAhPT0gMSB8fCBzY2FsZVkgIT09IDE7XG59IC8vIFJldHVybnMgdGhlIGNvbXBvc2l0ZSByZWN0IG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gaXRzIG9mZnNldFBhcmVudC5cbi8vIENvbXBvc2l0ZSBtZWFucyBpdCB0YWtlcyBpbnRvIGFjY291bnQgdHJhbnNmb3JtcyBhcyB3ZWxsIGFzIGxheW91dC5cblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDb21wb3NpdGVSZWN0KGVsZW1lbnRPclZpcnR1YWxFbGVtZW50LCBvZmZzZXRQYXJlbnQsIGlzRml4ZWQpIHtcbiAgaWYgKGlzRml4ZWQgPT09IHZvaWQgMCkge1xuICAgIGlzRml4ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHZhciBpc09mZnNldFBhcmVudEFuRWxlbWVudCA9IGlzSFRNTEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgdmFyIG9mZnNldFBhcmVudElzU2NhbGVkID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpICYmIGlzRWxlbWVudFNjYWxlZChvZmZzZXRQYXJlbnQpO1xuICB2YXIgZG9jdW1lbnRFbGVtZW50ID0gZ2V0RG9jdW1lbnRFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIHZhciByZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnRPclZpcnR1YWxFbGVtZW50LCBvZmZzZXRQYXJlbnRJc1NjYWxlZCwgaXNGaXhlZCk7XG4gIHZhciBzY3JvbGwgPSB7XG4gICAgc2Nyb2xsTGVmdDogMCxcbiAgICBzY3JvbGxUb3A6IDBcbiAgfTtcbiAgdmFyIG9mZnNldHMgPSB7XG4gICAgeDogMCxcbiAgICB5OiAwXG4gIH07XG5cbiAgaWYgKGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50IHx8ICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCkge1xuICAgIGlmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpICE9PSAnYm9keScgfHwgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BvcHBlcmpzL3BvcHBlci1jb3JlL2lzc3Vlcy8xMDc4XG4gICAgaXNTY3JvbGxQYXJlbnQoZG9jdW1lbnRFbGVtZW50KSkge1xuICAgICAgc2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChvZmZzZXRQYXJlbnQpO1xuICAgIH1cblxuICAgIGlmIChpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgIG9mZnNldHMgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50LCB0cnVlKTtcbiAgICAgIG9mZnNldHMueCArPSBvZmZzZXRQYXJlbnQuY2xpZW50TGVmdDtcbiAgICAgIG9mZnNldHMueSArPSBvZmZzZXRQYXJlbnQuY2xpZW50VG9wO1xuICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICBvZmZzZXRzLnggPSBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiByZWN0LmxlZnQgKyBzY3JvbGwuc2Nyb2xsTGVmdCAtIG9mZnNldHMueCxcbiAgICB5OiByZWN0LnRvcCArIHNjcm9sbC5zY3JvbGxUb3AgLSBvZmZzZXRzLnksXG4gICAgd2lkdGg6IHJlY3Qud2lkdGgsXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodFxuICB9O1xufSIsImltcG9ydCB7IG1vZGlmaWVyUGhhc2VzIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7IC8vIHNvdXJjZTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDk4NzUyNTVcblxuZnVuY3Rpb24gb3JkZXIobW9kaWZpZXJzKSB7XG4gIHZhciBtYXAgPSBuZXcgTWFwKCk7XG4gIHZhciB2aXNpdGVkID0gbmV3IFNldCgpO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIG1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIG1hcC5zZXQobW9kaWZpZXIubmFtZSwgbW9kaWZpZXIpO1xuICB9KTsgLy8gT24gdmlzaXRpbmcgb2JqZWN0LCBjaGVjayBmb3IgaXRzIGRlcGVuZGVuY2llcyBhbmQgdmlzaXQgdGhlbSByZWN1cnNpdmVseVxuXG4gIGZ1bmN0aW9uIHNvcnQobW9kaWZpZXIpIHtcbiAgICB2aXNpdGVkLmFkZChtb2RpZmllci5uYW1lKTtcbiAgICB2YXIgcmVxdWlyZXMgPSBbXS5jb25jYXQobW9kaWZpZXIucmVxdWlyZXMgfHwgW10sIG1vZGlmaWVyLnJlcXVpcmVzSWZFeGlzdHMgfHwgW10pO1xuICAgIHJlcXVpcmVzLmZvckVhY2goZnVuY3Rpb24gKGRlcCkge1xuICAgICAgaWYgKCF2aXNpdGVkLmhhcyhkZXApKSB7XG4gICAgICAgIHZhciBkZXBNb2RpZmllciA9IG1hcC5nZXQoZGVwKTtcblxuICAgICAgICBpZiAoZGVwTW9kaWZpZXIpIHtcbiAgICAgICAgICBzb3J0KGRlcE1vZGlmaWVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJlc3VsdC5wdXNoKG1vZGlmaWVyKTtcbiAgfVxuXG4gIG1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIGlmICghdmlzaXRlZC5oYXMobW9kaWZpZXIubmFtZSkpIHtcbiAgICAgIC8vIGNoZWNrIGZvciB2aXNpdGVkIG9iamVjdFxuICAgICAgc29ydChtb2RpZmllcik7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gb3JkZXJNb2RpZmllcnMobW9kaWZpZXJzKSB7XG4gIC8vIG9yZGVyIGJhc2VkIG9uIGRlcGVuZGVuY2llc1xuICB2YXIgb3JkZXJlZE1vZGlmaWVycyA9IG9yZGVyKG1vZGlmaWVycyk7IC8vIG9yZGVyIGJhc2VkIG9uIHBoYXNlXG5cbiAgcmV0dXJuIG1vZGlmaWVyUGhhc2VzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwaGFzZSkge1xuICAgIHJldHVybiBhY2MuY29uY2F0KG9yZGVyZWRNb2RpZmllcnMuZmlsdGVyKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgICAgcmV0dXJuIG1vZGlmaWVyLnBoYXNlID09PSBwaGFzZTtcbiAgICB9KSk7XG4gIH0sIFtdKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZWJvdW5jZShmbikge1xuICB2YXIgcGVuZGluZztcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXBlbmRpbmcpIHtcbiAgICAgIHBlbmRpbmcgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBwZW5kaW5nID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJlc29sdmUoZm4oKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlbmRpbmc7XG4gIH07XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0KHN0cikge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gW10uY29uY2F0KGFyZ3MpLnJlZHVjZShmdW5jdGlvbiAocCwgYykge1xuICAgIHJldHVybiBwLnJlcGxhY2UoLyVzLywgYyk7XG4gIH0sIHN0cik7XG59IiwiaW1wb3J0IGZvcm1hdCBmcm9tIFwiLi9mb3JtYXQuanNcIjtcbmltcG9ydCB7IG1vZGlmaWVyUGhhc2VzIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG52YXIgSU5WQUxJRF9NT0RJRklFUl9FUlJPUiA9ICdQb3BwZXI6IG1vZGlmaWVyIFwiJXNcIiBwcm92aWRlZCBhbiBpbnZhbGlkICVzIHByb3BlcnR5LCBleHBlY3RlZCAlcyBidXQgZ290ICVzJztcbnZhciBNSVNTSU5HX0RFUEVOREVOQ1lfRVJST1IgPSAnUG9wcGVyOiBtb2RpZmllciBcIiVzXCIgcmVxdWlyZXMgXCIlc1wiLCBidXQgXCIlc1wiIG1vZGlmaWVyIGlzIG5vdCBhdmFpbGFibGUnO1xudmFyIFZBTElEX1BST1BFUlRJRVMgPSBbJ25hbWUnLCAnZW5hYmxlZCcsICdwaGFzZScsICdmbicsICdlZmZlY3QnLCAncmVxdWlyZXMnLCAnb3B0aW9ucyddO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmFsaWRhdGVNb2RpZmllcnMobW9kaWZpZXJzKSB7XG4gIG1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIFtdLmNvbmNhdChPYmplY3Qua2V5cyhtb2RpZmllciksIFZBTElEX1BST1BFUlRJRVMpIC8vIElFMTEtY29tcGF0aWJsZSByZXBsYWNlbWVudCBmb3IgYG5ldyBTZXQoaXRlcmFibGUpYFxuICAgIC5maWx0ZXIoZnVuY3Rpb24gKHZhbHVlLCBpbmRleCwgc2VsZikge1xuICAgICAgcmV0dXJuIHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4O1xuICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSAnbmFtZSc6XG4gICAgICAgICAgaWYgKHR5cGVvZiBtb2RpZmllci5uYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoSU5WQUxJRF9NT0RJRklFUl9FUlJPUiwgU3RyaW5nKG1vZGlmaWVyLm5hbWUpLCAnXCJuYW1lXCInLCAnXCJzdHJpbmdcIicsIFwiXFxcIlwiICsgU3RyaW5nKG1vZGlmaWVyLm5hbWUpICsgXCJcXFwiXCIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdlbmFibGVkJzpcbiAgICAgICAgICBpZiAodHlwZW9mIG1vZGlmaWVyLmVuYWJsZWQgIT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoSU5WQUxJRF9NT0RJRklFUl9FUlJPUiwgbW9kaWZpZXIubmFtZSwgJ1wiZW5hYmxlZFwiJywgJ1wiYm9vbGVhblwiJywgXCJcXFwiXCIgKyBTdHJpbmcobW9kaWZpZXIuZW5hYmxlZCkgKyBcIlxcXCJcIikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3BoYXNlJzpcbiAgICAgICAgICBpZiAobW9kaWZpZXJQaGFzZXMuaW5kZXhPZihtb2RpZmllci5waGFzZSkgPCAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChJTlZBTElEX01PRElGSUVSX0VSUk9SLCBtb2RpZmllci5uYW1lLCAnXCJwaGFzZVwiJywgXCJlaXRoZXIgXCIgKyBtb2RpZmllclBoYXNlcy5qb2luKCcsICcpLCBcIlxcXCJcIiArIFN0cmluZyhtb2RpZmllci5waGFzZSkgKyBcIlxcXCJcIikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2ZuJzpcbiAgICAgICAgICBpZiAodHlwZW9mIG1vZGlmaWVyLmZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChJTlZBTElEX01PRElGSUVSX0VSUk9SLCBtb2RpZmllci5uYW1lLCAnXCJmblwiJywgJ1wiZnVuY3Rpb25cIicsIFwiXFxcIlwiICsgU3RyaW5nKG1vZGlmaWVyLmZuKSArIFwiXFxcIlwiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZWZmZWN0JzpcbiAgICAgICAgICBpZiAobW9kaWZpZXIuZWZmZWN0ICE9IG51bGwgJiYgdHlwZW9mIG1vZGlmaWVyLmVmZmVjdCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoSU5WQUxJRF9NT0RJRklFUl9FUlJPUiwgbW9kaWZpZXIubmFtZSwgJ1wiZWZmZWN0XCInLCAnXCJmdW5jdGlvblwiJywgXCJcXFwiXCIgKyBTdHJpbmcobW9kaWZpZXIuZm4pICsgXCJcXFwiXCIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyZXF1aXJlcyc6XG4gICAgICAgICAgaWYgKG1vZGlmaWVyLnJlcXVpcmVzICE9IG51bGwgJiYgIUFycmF5LmlzQXJyYXkobW9kaWZpZXIucmVxdWlyZXMpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChJTlZBTElEX01PRElGSUVSX0VSUk9SLCBtb2RpZmllci5uYW1lLCAnXCJyZXF1aXJlc1wiJywgJ1wiYXJyYXlcIicsIFwiXFxcIlwiICsgU3RyaW5nKG1vZGlmaWVyLnJlcXVpcmVzKSArIFwiXFxcIlwiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmVxdWlyZXNJZkV4aXN0cyc6XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1vZGlmaWVyLnJlcXVpcmVzSWZFeGlzdHMpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChJTlZBTElEX01PRElGSUVSX0VSUk9SLCBtb2RpZmllci5uYW1lLCAnXCJyZXF1aXJlc0lmRXhpc3RzXCInLCAnXCJhcnJheVwiJywgXCJcXFwiXCIgKyBTdHJpbmcobW9kaWZpZXIucmVxdWlyZXNJZkV4aXN0cykgKyBcIlxcXCJcIikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ29wdGlvbnMnOlxuICAgICAgICBjYXNlICdkYXRhJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJQb3BwZXJKUzogYW4gaW52YWxpZCBwcm9wZXJ0eSBoYXMgYmVlbiBwcm92aWRlZCB0byB0aGUgXFxcIlwiICsgbW9kaWZpZXIubmFtZSArIFwiXFxcIiBtb2RpZmllciwgdmFsaWQgcHJvcGVydGllcyBhcmUgXCIgKyBWQUxJRF9QUk9QRVJUSUVTLm1hcChmdW5jdGlvbiAocykge1xuICAgICAgICAgICAgcmV0dXJuIFwiXFxcIlwiICsgcyArIFwiXFxcIlwiO1xuICAgICAgICAgIH0pLmpvaW4oJywgJykgKyBcIjsgYnV0IFxcXCJcIiArIGtleSArIFwiXFxcIiB3YXMgcHJvdmlkZWQuXCIpO1xuICAgICAgfVxuXG4gICAgICBtb2RpZmllci5yZXF1aXJlcyAmJiBtb2RpZmllci5yZXF1aXJlcy5mb3JFYWNoKGZ1bmN0aW9uIChyZXF1aXJlbWVudCkge1xuICAgICAgICBpZiAobW9kaWZpZXJzLmZpbmQoZnVuY3Rpb24gKG1vZCkge1xuICAgICAgICAgIHJldHVybiBtb2QubmFtZSA9PT0gcmVxdWlyZW1lbnQ7XG4gICAgICAgIH0pID09IG51bGwpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChNSVNTSU5HX0RFUEVOREVOQ1lfRVJST1IsIFN0cmluZyhtb2RpZmllci5uYW1lKSwgcmVxdWlyZW1lbnQsIHJlcXVpcmVtZW50KSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlxdWVCeShhcnIsIGZuKSB7XG4gIHZhciBpZGVudGlmaWVycyA9IG5ldyBTZXQoKTtcbiAgcmV0dXJuIGFyci5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICB2YXIgaWRlbnRpZmllciA9IGZuKGl0ZW0pO1xuXG4gICAgaWYgKCFpZGVudGlmaWVycy5oYXMoaWRlbnRpZmllcikpIHtcbiAgICAgIGlkZW50aWZpZXJzLmFkZChpZGVudGlmaWVyKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWVyZ2VCeU5hbWUobW9kaWZpZXJzKSB7XG4gIHZhciBtZXJnZWQgPSBtb2RpZmllcnMucmVkdWNlKGZ1bmN0aW9uIChtZXJnZWQsIGN1cnJlbnQpIHtcbiAgICB2YXIgZXhpc3RpbmcgPSBtZXJnZWRbY3VycmVudC5uYW1lXTtcbiAgICBtZXJnZWRbY3VycmVudC5uYW1lXSA9IGV4aXN0aW5nID8gT2JqZWN0LmFzc2lnbih7fSwgZXhpc3RpbmcsIGN1cnJlbnQsIHtcbiAgICAgIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIGV4aXN0aW5nLm9wdGlvbnMsIGN1cnJlbnQub3B0aW9ucyksXG4gICAgICBkYXRhOiBPYmplY3QuYXNzaWduKHt9LCBleGlzdGluZy5kYXRhLCBjdXJyZW50LmRhdGEpXG4gICAgfSkgOiBjdXJyZW50O1xuICAgIHJldHVybiBtZXJnZWQ7XG4gIH0sIHt9KTsgLy8gSUUxMSBkb2VzIG5vdCBzdXBwb3J0IE9iamVjdC52YWx1ZXNcblxuICByZXR1cm4gT2JqZWN0LmtleXMobWVyZ2VkKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBtZXJnZWRba2V5XTtcbiAgfSk7XG59IiwiaW1wb3J0IGdldENvbXBvc2l0ZVJlY3QgZnJvbSBcIi4vZG9tLXV0aWxzL2dldENvbXBvc2l0ZVJlY3QuanNcIjtcbmltcG9ydCBnZXRMYXlvdXRSZWN0IGZyb20gXCIuL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgbGlzdFNjcm9sbFBhcmVudHMgZnJvbSBcIi4vZG9tLXV0aWxzL2xpc3RTY3JvbGxQYXJlbnRzLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2RvbS11dGlscy9nZXRDb21wdXRlZFN0eWxlLmpzXCI7XG5pbXBvcnQgb3JkZXJNb2RpZmllcnMgZnJvbSBcIi4vdXRpbHMvb3JkZXJNb2RpZmllcnMuanNcIjtcbmltcG9ydCBkZWJvdW5jZSBmcm9tIFwiLi91dGlscy9kZWJvdW5jZS5qc1wiO1xuaW1wb3J0IHZhbGlkYXRlTW9kaWZpZXJzIGZyb20gXCIuL3V0aWxzL3ZhbGlkYXRlTW9kaWZpZXJzLmpzXCI7XG5pbXBvcnQgdW5pcXVlQnkgZnJvbSBcIi4vdXRpbHMvdW5pcXVlQnkuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBtZXJnZUJ5TmFtZSBmcm9tIFwiLi91dGlscy9tZXJnZUJ5TmFtZS5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgeyBpc0VsZW1lbnQgfSBmcm9tIFwiLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IHsgYXV0byB9IGZyb20gXCIuL2VudW1zLmpzXCI7XG52YXIgSU5WQUxJRF9FTEVNRU5UX0VSUk9SID0gJ1BvcHBlcjogSW52YWxpZCByZWZlcmVuY2Ugb3IgcG9wcGVyIGFyZ3VtZW50IHByb3ZpZGVkLiBUaGV5IG11c3QgYmUgZWl0aGVyIGEgRE9NIGVsZW1lbnQgb3IgdmlydHVhbCBlbGVtZW50Lic7XG52YXIgSU5GSU5JVEVfTE9PUF9FUlJPUiA9ICdQb3BwZXI6IEFuIGluZmluaXRlIGxvb3AgaW4gdGhlIG1vZGlmaWVycyBjeWNsZSBoYXMgYmVlbiBkZXRlY3RlZCEgVGhlIGN5Y2xlIGhhcyBiZWVuIGludGVycnVwdGVkIHRvIHByZXZlbnQgYSBicm93c2VyIGNyYXNoLic7XG52YXIgREVGQVVMVF9PUFRJT05TID0ge1xuICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICBtb2RpZmllcnM6IFtdLFxuICBzdHJhdGVneTogJ2Fic29sdXRlJ1xufTtcblxuZnVuY3Rpb24gYXJlVmFsaWRFbGVtZW50cygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiAhYXJncy5zb21lKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgcmV0dXJuICEoZWxlbWVudCAmJiB0eXBlb2YgZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPT09ICdmdW5jdGlvbicpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcHBlckdlbmVyYXRvcihnZW5lcmF0b3JPcHRpb25zKSB7XG4gIGlmIChnZW5lcmF0b3JPcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBnZW5lcmF0b3JPcHRpb25zID0ge307XG4gIH1cblxuICB2YXIgX2dlbmVyYXRvck9wdGlvbnMgPSBnZW5lcmF0b3JPcHRpb25zLFxuICAgICAgX2dlbmVyYXRvck9wdGlvbnMkZGVmID0gX2dlbmVyYXRvck9wdGlvbnMuZGVmYXVsdE1vZGlmaWVycyxcbiAgICAgIGRlZmF1bHRNb2RpZmllcnMgPSBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYgPT09IHZvaWQgMCA/IFtdIDogX2dlbmVyYXRvck9wdGlvbnMkZGVmLFxuICAgICAgX2dlbmVyYXRvck9wdGlvbnMkZGVmMiA9IF9nZW5lcmF0b3JPcHRpb25zLmRlZmF1bHRPcHRpb25zLFxuICAgICAgZGVmYXVsdE9wdGlvbnMgPSBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYyID09PSB2b2lkIDAgPyBERUZBVUxUX09QVElPTlMgOiBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYyO1xuICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlUG9wcGVyKHJlZmVyZW5jZSwgcG9wcGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgICAgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zO1xuICAgIH1cblxuICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICBvcmRlcmVkTW9kaWZpZXJzOiBbXSxcbiAgICAgIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfT1BUSU9OUywgZGVmYXVsdE9wdGlvbnMpLFxuICAgICAgbW9kaWZpZXJzRGF0YToge30sXG4gICAgICBlbGVtZW50czoge1xuICAgICAgICByZWZlcmVuY2U6IHJlZmVyZW5jZSxcbiAgICAgICAgcG9wcGVyOiBwb3BwZXJcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgIHN0eWxlczoge31cbiAgICB9O1xuICAgIHZhciBlZmZlY3RDbGVhbnVwRm5zID0gW107XG4gICAgdmFyIGlzRGVzdHJveWVkID0gZmFsc2U7XG4gICAgdmFyIGluc3RhbmNlID0ge1xuICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgc2V0T3B0aW9uczogZnVuY3Rpb24gc2V0T3B0aW9ucyhzZXRPcHRpb25zQWN0aW9uKSB7XG4gICAgICAgIHZhciBvcHRpb25zID0gdHlwZW9mIHNldE9wdGlvbnNBY3Rpb24gPT09ICdmdW5jdGlvbicgPyBzZXRPcHRpb25zQWN0aW9uKHN0YXRlLm9wdGlvbnMpIDogc2V0T3B0aW9uc0FjdGlvbjtcbiAgICAgICAgY2xlYW51cE1vZGlmaWVyRWZmZWN0cygpO1xuICAgICAgICBzdGF0ZS5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIHN0YXRlLm9wdGlvbnMsIG9wdGlvbnMpO1xuICAgICAgICBzdGF0ZS5zY3JvbGxQYXJlbnRzID0ge1xuICAgICAgICAgIHJlZmVyZW5jZTogaXNFbGVtZW50KHJlZmVyZW5jZSkgPyBsaXN0U2Nyb2xsUGFyZW50cyhyZWZlcmVuY2UpIDogcmVmZXJlbmNlLmNvbnRleHRFbGVtZW50ID8gbGlzdFNjcm9sbFBhcmVudHMocmVmZXJlbmNlLmNvbnRleHRFbGVtZW50KSA6IFtdLFxuICAgICAgICAgIHBvcHBlcjogbGlzdFNjcm9sbFBhcmVudHMocG9wcGVyKVxuICAgICAgICB9OyAvLyBPcmRlcnMgdGhlIG1vZGlmaWVycyBiYXNlZCBvbiB0aGVpciBkZXBlbmRlbmNpZXMgYW5kIGBwaGFzZWBcbiAgICAgICAgLy8gcHJvcGVydGllc1xuXG4gICAgICAgIHZhciBvcmRlcmVkTW9kaWZpZXJzID0gb3JkZXJNb2RpZmllcnMobWVyZ2VCeU5hbWUoW10uY29uY2F0KGRlZmF1bHRNb2RpZmllcnMsIHN0YXRlLm9wdGlvbnMubW9kaWZpZXJzKSkpOyAvLyBTdHJpcCBvdXQgZGlzYWJsZWQgbW9kaWZpZXJzXG5cbiAgICAgICAgc3RhdGUub3JkZXJlZE1vZGlmaWVycyA9IG9yZGVyZWRNb2RpZmllcnMuZmlsdGVyKGZ1bmN0aW9uIChtKSB7XG4gICAgICAgICAgcmV0dXJuIG0uZW5hYmxlZDtcbiAgICAgICAgfSk7IC8vIFZhbGlkYXRlIHRoZSBwcm92aWRlZCBtb2RpZmllcnMgc28gdGhhdCB0aGUgY29uc3VtZXIgd2lsbCBnZXQgd2FybmVkXG4gICAgICAgIC8vIGlmIG9uZSBvZiB0aGUgbW9kaWZpZXJzIGlzIGludmFsaWQgZm9yIGFueSByZWFzb25cblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgdmFyIG1vZGlmaWVycyA9IHVuaXF1ZUJ5KFtdLmNvbmNhdChvcmRlcmVkTW9kaWZpZXJzLCBzdGF0ZS5vcHRpb25zLm1vZGlmaWVycyksIGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICAgICAgICB2YXIgbmFtZSA9IF9yZWYubmFtZTtcbiAgICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHZhbGlkYXRlTW9kaWZpZXJzKG1vZGlmaWVycyk7XG5cbiAgICAgICAgICBpZiAoZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5vcHRpb25zLnBsYWNlbWVudCkgPT09IGF1dG8pIHtcbiAgICAgICAgICAgIHZhciBmbGlwTW9kaWZpZXIgPSBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZpbmQoZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgICAgICAgICAgIHZhciBuYW1lID0gX3JlZjIubmFtZTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5hbWUgPT09ICdmbGlwJztcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoIWZsaXBNb2RpZmllcikge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBcImF1dG9cIiBwbGFjZW1lbnRzIHJlcXVpcmUgdGhlIFwiZmxpcFwiIG1vZGlmaWVyIGJlJywgJ3ByZXNlbnQgYW5kIGVuYWJsZWQgdG8gd29yay4nXS5qb2luKCcgJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfZ2V0Q29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUocG9wcGVyKSxcbiAgICAgICAgICAgICAgbWFyZ2luVG9wID0gX2dldENvbXB1dGVkU3R5bGUubWFyZ2luVG9wLFxuICAgICAgICAgICAgICBtYXJnaW5SaWdodCA9IF9nZXRDb21wdXRlZFN0eWxlLm1hcmdpblJpZ2h0LFxuICAgICAgICAgICAgICBtYXJnaW5Cb3R0b20gPSBfZ2V0Q29tcHV0ZWRTdHlsZS5tYXJnaW5Cb3R0b20sXG4gICAgICAgICAgICAgIG1hcmdpbkxlZnQgPSBfZ2V0Q29tcHV0ZWRTdHlsZS5tYXJnaW5MZWZ0OyAvLyBXZSBubyBsb25nZXIgdGFrZSBpbnRvIGFjY291bnQgYG1hcmdpbnNgIG9uIHRoZSBwb3BwZXIsIGFuZCBpdCBjYW5cbiAgICAgICAgICAvLyBjYXVzZSBidWdzIHdpdGggcG9zaXRpb25pbmcsIHNvIHdlJ2xsIHdhcm4gdGhlIGNvbnN1bWVyXG5cblxuICAgICAgICAgIGlmIChbbWFyZ2luVG9wLCBtYXJnaW5SaWdodCwgbWFyZ2luQm90dG9tLCBtYXJnaW5MZWZ0XS5zb21lKGZ1bmN0aW9uIChtYXJnaW4pIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KG1hcmdpbik7XG4gICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihbJ1BvcHBlcjogQ1NTIFwibWFyZ2luXCIgc3R5bGVzIGNhbm5vdCBiZSB1c2VkIHRvIGFwcGx5IHBhZGRpbmcnLCAnYmV0d2VlbiB0aGUgcG9wcGVyIGFuZCBpdHMgcmVmZXJlbmNlIGVsZW1lbnQgb3IgYm91bmRhcnkuJywgJ1RvIHJlcGxpY2F0ZSBtYXJnaW4sIHVzZSB0aGUgYG9mZnNldGAgbW9kaWZpZXIsIGFzIHdlbGwgYXMnLCAndGhlIGBwYWRkaW5nYCBvcHRpb24gaW4gdGhlIGBwcmV2ZW50T3ZlcmZsb3dgIGFuZCBgZmxpcGAnLCAnbW9kaWZpZXJzLiddLmpvaW4oJyAnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcnVuTW9kaWZpZXJFZmZlY3RzKCk7XG4gICAgICAgIHJldHVybiBpbnN0YW5jZS51cGRhdGUoKTtcbiAgICAgIH0sXG4gICAgICAvLyBTeW5jIHVwZGF0ZSDigJMgaXQgd2lsbCBhbHdheXMgYmUgZXhlY3V0ZWQsIGV2ZW4gaWYgbm90IG5lY2Vzc2FyeS4gVGhpc1xuICAgICAgLy8gaXMgdXNlZnVsIGZvciBsb3cgZnJlcXVlbmN5IHVwZGF0ZXMgd2hlcmUgc3luYyBiZWhhdmlvciBzaW1wbGlmaWVzIHRoZVxuICAgICAgLy8gbG9naWMuXG4gICAgICAvLyBGb3IgaGlnaCBmcmVxdWVuY3kgdXBkYXRlcyAoZS5nLiBgcmVzaXplYCBhbmQgYHNjcm9sbGAgZXZlbnRzKSwgYWx3YXlzXG4gICAgICAvLyBwcmVmZXIgdGhlIGFzeW5jIFBvcHBlciN1cGRhdGUgbWV0aG9kXG4gICAgICBmb3JjZVVwZGF0ZTogZnVuY3Rpb24gZm9yY2VVcGRhdGUoKSB7XG4gICAgICAgIGlmIChpc0Rlc3Ryb3llZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfc3RhdGUkZWxlbWVudHMgPSBzdGF0ZS5lbGVtZW50cyxcbiAgICAgICAgICAgIHJlZmVyZW5jZSA9IF9zdGF0ZSRlbGVtZW50cy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfc3RhdGUkZWxlbWVudHMucG9wcGVyOyAvLyBEb24ndCBwcm9jZWVkIGlmIGByZWZlcmVuY2VgIG9yIGBwb3BwZXJgIGFyZSBub3QgdmFsaWQgZWxlbWVudHNcbiAgICAgICAgLy8gYW55bW9yZVxuXG4gICAgICAgIGlmICghYXJlVmFsaWRFbGVtZW50cyhyZWZlcmVuY2UsIHBvcHBlcikpIHtcbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKElOVkFMSURfRUxFTUVOVF9FUlJPUik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFN0b3JlIHRoZSByZWZlcmVuY2UgYW5kIHBvcHBlciByZWN0cyB0byBiZSByZWFkIGJ5IG1vZGlmaWVyc1xuXG5cbiAgICAgICAgc3RhdGUucmVjdHMgPSB7XG4gICAgICAgICAgcmVmZXJlbmNlOiBnZXRDb21wb3NpdGVSZWN0KHJlZmVyZW5jZSwgZ2V0T2Zmc2V0UGFyZW50KHBvcHBlciksIHN0YXRlLm9wdGlvbnMuc3RyYXRlZ3kgPT09ICdmaXhlZCcpLFxuICAgICAgICAgIHBvcHBlcjogZ2V0TGF5b3V0UmVjdChwb3BwZXIpXG4gICAgICAgIH07IC8vIE1vZGlmaWVycyBoYXZlIHRoZSBhYmlsaXR5IHRvIHJlc2V0IHRoZSBjdXJyZW50IHVwZGF0ZSBjeWNsZS4gVGhlXG4gICAgICAgIC8vIG1vc3QgY29tbW9uIHVzZSBjYXNlIGZvciB0aGlzIGlzIHRoZSBgZmxpcGAgbW9kaWZpZXIgY2hhbmdpbmcgdGhlXG4gICAgICAgIC8vIHBsYWNlbWVudCwgd2hpY2ggdGhlbiBuZWVkcyB0byByZS1ydW4gYWxsIHRoZSBtb2RpZmllcnMsIGJlY2F1c2UgdGhlXG4gICAgICAgIC8vIGxvZ2ljIHdhcyBwcmV2aW91c2x5IHJhbiBmb3IgdGhlIHByZXZpb3VzIHBsYWNlbWVudCBhbmQgaXMgdGhlcmVmb3JlXG4gICAgICAgIC8vIHN0YWxlL2luY29ycmVjdFxuXG4gICAgICAgIHN0YXRlLnJlc2V0ID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnBsYWNlbWVudCA9IHN0YXRlLm9wdGlvbnMucGxhY2VtZW50OyAvLyBPbiBlYWNoIHVwZGF0ZSBjeWNsZSwgdGhlIGBtb2RpZmllcnNEYXRhYCBwcm9wZXJ0eSBmb3IgZWFjaCBtb2RpZmllclxuICAgICAgICAvLyBpcyBmaWxsZWQgd2l0aCB0aGUgaW5pdGlhbCBkYXRhIHNwZWNpZmllZCBieSB0aGUgbW9kaWZpZXIuIFRoaXMgbWVhbnNcbiAgICAgICAgLy8gaXQgZG9lc24ndCBwZXJzaXN0IGFuZCBpcyBmcmVzaCBvbiBlYWNoIHVwZGF0ZS5cbiAgICAgICAgLy8gVG8gZW5zdXJlIHBlcnNpc3RlbnQgZGF0YSwgdXNlIGAke25hbWV9I3BlcnNpc3RlbnRgXG5cbiAgICAgICAgc3RhdGUub3JkZXJlZE1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgICAgICAgIHJldHVybiBzdGF0ZS5tb2RpZmllcnNEYXRhW21vZGlmaWVyLm5hbWVdID0gT2JqZWN0LmFzc2lnbih7fSwgbW9kaWZpZXIuZGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgX19kZWJ1Z19sb29wc19fID0gMDtcblxuICAgICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgc3RhdGUub3JkZXJlZE1vZGlmaWVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBfX2RlYnVnX2xvb3BzX18gKz0gMTtcblxuICAgICAgICAgICAgaWYgKF9fZGVidWdfbG9vcHNfXyA+IDEwMCkge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKElORklOSVRFX0xPT1BfRVJST1IpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3RhdGUucmVzZXQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHN0YXRlLnJlc2V0ID0gZmFsc2U7XG4gICAgICAgICAgICBpbmRleCA9IC0xO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9zdGF0ZSRvcmRlcmVkTW9kaWZpZSA9IHN0YXRlLm9yZGVyZWRNb2RpZmllcnNbaW5kZXhdLFxuICAgICAgICAgICAgICBmbiA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZS5mbixcbiAgICAgICAgICAgICAgX3N0YXRlJG9yZGVyZWRNb2RpZmllMiA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZS5vcHRpb25zLFxuICAgICAgICAgICAgICBfb3B0aW9ucyA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIgPT09IHZvaWQgMCA/IHt9IDogX3N0YXRlJG9yZGVyZWRNb2RpZmllMixcbiAgICAgICAgICAgICAgbmFtZSA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZS5uYW1lO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc3RhdGUgPSBmbih7XG4gICAgICAgICAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgICAgICAgICAgb3B0aW9uczogX29wdGlvbnMsXG4gICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZVxuICAgICAgICAgICAgfSkgfHwgc3RhdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gQXN5bmMgYW5kIG9wdGltaXN0aWNhbGx5IG9wdGltaXplZCB1cGRhdGUg4oCTIGl0IHdpbGwgbm90IGJlIGV4ZWN1dGVkIGlmXG4gICAgICAvLyBub3QgbmVjZXNzYXJ5IChkZWJvdW5jZWQgdG8gcnVuIGF0IG1vc3Qgb25jZS1wZXItdGljaylcbiAgICAgIHVwZGF0ZTogZGVib3VuY2UoZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgICBpbnN0YW5jZS5mb3JjZVVwZGF0ZSgpO1xuICAgICAgICAgIHJlc29sdmUoc3RhdGUpO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgICAgY2xlYW51cE1vZGlmaWVyRWZmZWN0cygpO1xuICAgICAgICBpc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmICghYXJlVmFsaWRFbGVtZW50cyhyZWZlcmVuY2UsIHBvcHBlcikpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihJTlZBTElEX0VMRU1FTlRfRVJST1IpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgaW5zdGFuY2Uuc2V0T3B0aW9ucyhvcHRpb25zKS50aGVuKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgaWYgKCFpc0Rlc3Ryb3llZCAmJiBvcHRpb25zLm9uRmlyc3RVcGRhdGUpIHtcbiAgICAgICAgb3B0aW9ucy5vbkZpcnN0VXBkYXRlKHN0YXRlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gTW9kaWZpZXJzIGhhdmUgdGhlIGFiaWxpdHkgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSBiZWZvcmUgdGhlIGZpcnN0XG4gICAgLy8gdXBkYXRlIGN5Y2xlIHJ1bnMuIFRoZXkgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgdXBkYXRlXG4gICAgLy8gY3ljbGUuIFRoaXMgaXMgdXNlZnVsIHdoZW4gYSBtb2RpZmllciBhZGRzIHNvbWUgcGVyc2lzdGVudCBkYXRhIHRoYXRcbiAgICAvLyBvdGhlciBtb2RpZmllcnMgbmVlZCB0byB1c2UsIGJ1dCB0aGUgbW9kaWZpZXIgaXMgcnVuIGFmdGVyIHRoZSBkZXBlbmRlbnRcbiAgICAvLyBvbmUuXG5cbiAgICBmdW5jdGlvbiBydW5Nb2RpZmllckVmZmVjdHMoKSB7XG4gICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgICAgIHZhciBuYW1lID0gX3JlZjMubmFtZSxcbiAgICAgICAgICAgIF9yZWYzJG9wdGlvbnMgPSBfcmVmMy5vcHRpb25zLFxuICAgICAgICAgICAgb3B0aW9ucyA9IF9yZWYzJG9wdGlvbnMgPT09IHZvaWQgMCA/IHt9IDogX3JlZjMkb3B0aW9ucyxcbiAgICAgICAgICAgIGVmZmVjdCA9IF9yZWYzLmVmZmVjdDtcblxuICAgICAgICBpZiAodHlwZW9mIGVmZmVjdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHZhciBjbGVhbnVwRm4gPSBlZmZlY3Qoe1xuICAgICAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHZhciBub29wRm4gPSBmdW5jdGlvbiBub29wRm4oKSB7fTtcblxuICAgICAgICAgIGVmZmVjdENsZWFudXBGbnMucHVzaChjbGVhbnVwRm4gfHwgbm9vcEZuKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xlYW51cE1vZGlmaWVyRWZmZWN0cygpIHtcbiAgICAgIGVmZmVjdENsZWFudXBGbnMuZm9yRWFjaChmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgcmV0dXJuIGZuKCk7XG4gICAgICB9KTtcbiAgICAgIGVmZmVjdENsZWFudXBGbnMgPSBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH07XG59XG5leHBvcnQgdmFyIGNyZWF0ZVBvcHBlciA9IC8qI19fUFVSRV9fKi9wb3BwZXJHZW5lcmF0b3IoKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBkZXRlY3RPdmVyZmxvdyB9OyIsImltcG9ydCB7IHBvcHBlckdlbmVyYXRvciwgZGV0ZWN0T3ZlcmZsb3cgfSBmcm9tIFwiLi9jcmVhdGVQb3BwZXIuanNcIjtcbmltcG9ydCBldmVudExpc3RlbmVycyBmcm9tIFwiLi9tb2RpZmllcnMvZXZlbnRMaXN0ZW5lcnMuanNcIjtcbmltcG9ydCBwb3BwZXJPZmZzZXRzIGZyb20gXCIuL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzXCI7XG5pbXBvcnQgY29tcHV0ZVN0eWxlcyBmcm9tIFwiLi9tb2RpZmllcnMvY29tcHV0ZVN0eWxlcy5qc1wiO1xuaW1wb3J0IGFwcGx5U3R5bGVzIGZyb20gXCIuL21vZGlmaWVycy9hcHBseVN0eWxlcy5qc1wiO1xuaW1wb3J0IG9mZnNldCBmcm9tIFwiLi9tb2RpZmllcnMvb2Zmc2V0LmpzXCI7XG5pbXBvcnQgZmxpcCBmcm9tIFwiLi9tb2RpZmllcnMvZmxpcC5qc1wiO1xuaW1wb3J0IHByZXZlbnRPdmVyZmxvdyBmcm9tIFwiLi9tb2RpZmllcnMvcHJldmVudE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgYXJyb3cgZnJvbSBcIi4vbW9kaWZpZXJzL2Fycm93LmpzXCI7XG5pbXBvcnQgaGlkZSBmcm9tIFwiLi9tb2RpZmllcnMvaGlkZS5qc1wiO1xudmFyIGRlZmF1bHRNb2RpZmllcnMgPSBbZXZlbnRMaXN0ZW5lcnMsIHBvcHBlck9mZnNldHMsIGNvbXB1dGVTdHlsZXMsIGFwcGx5U3R5bGVzLCBvZmZzZXQsIGZsaXAsIHByZXZlbnRPdmVyZmxvdywgYXJyb3csIGhpZGVdO1xudmFyIGNyZWF0ZVBvcHBlciA9IC8qI19fUFVSRV9fKi9wb3BwZXJHZW5lcmF0b3Ioe1xuICBkZWZhdWx0TW9kaWZpZXJzOiBkZWZhdWx0TW9kaWZpZXJzXG59KTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBjcmVhdGVQb3BwZXIsIHBvcHBlckdlbmVyYXRvciwgZGVmYXVsdE1vZGlmaWVycywgZGV0ZWN0T3ZlcmZsb3cgfTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBjcmVhdGVQb3BwZXIgYXMgY3JlYXRlUG9wcGVyTGl0ZSB9IGZyb20gXCIuL3BvcHBlci1saXRlLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0ICogZnJvbSBcIi4vbW9kaWZpZXJzL2luZGV4LmpzXCI7IiwiLy8gU3RvbGUgQWxsIHRoaXMgZnJvbSBMaWFtJ3MgUGVyaW9kaWMgTm90ZXMgUGx1Z2luOiBodHRwczovL2dpdGh1Yi5jb20vbGlhbWNhaW4vb2JzaWRpYW4tcGVyaW9kaWMtbm90ZXNcblxuaW1wb3J0IHsgQXBwLCBJU3VnZ2VzdE93bmVyLCBTY29wZSwgVEZpbGUsIFRBYnN0cmFjdEZpbGUgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGNyZWF0ZVBvcHBlciwgSW5zdGFuY2UgYXMgUG9wcGVySW5zdGFuY2UgfSBmcm9tIFwiQHBvcHBlcmpzL2NvcmVcIjtcbmltcG9ydCB7IEV4dGVuZGVkQmxvY2tDYWNoZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBnZXRTdG9yZSB9IGZyb20gXCIuL2J1dHRvblN0b3JlXCI7XG5cbmltcG9ydCB7IHdyYXBBcm91bmQgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5jbGFzcyBTdWdnZXN0PFQ+IHtcbiAgcHJpdmF0ZSBvd25lcjogSVN1Z2dlc3RPd25lcjxUPjtcbiAgcHJpdmF0ZSB2YWx1ZXM6IFRbXTtcbiAgcHJpdmF0ZSBzdWdnZXN0aW9uczogSFRNTERpdkVsZW1lbnRbXTtcbiAgcHJpdmF0ZSBzZWxlY3RlZEl0ZW06IG51bWJlcjtcbiAgcHJpdmF0ZSBjb250YWluZXJFbDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3Iob3duZXI6IElTdWdnZXN0T3duZXI8VD4sIGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCwgc2NvcGU6IFNjb3BlKSB7XG4gICAgdGhpcy5vd25lciA9IG93bmVyO1xuICAgIHRoaXMuY29udGFpbmVyRWwgPSBjb250YWluZXJFbDtcblxuICAgIGNvbnRhaW5lckVsLm9uKFxuICAgICAgXCJjbGlja1wiLFxuICAgICAgXCIuc3VnZ2VzdGlvbi1pdGVtXCIsXG4gICAgICB0aGlzLm9uU3VnZ2VzdGlvbkNsaWNrLmJpbmQodGhpcylcbiAgICApO1xuICAgIGNvbnRhaW5lckVsLm9uKFxuICAgICAgXCJtb3VzZW1vdmVcIixcbiAgICAgIFwiLnN1Z2dlc3Rpb24taXRlbVwiLFxuICAgICAgdGhpcy5vblN1Z2dlc3Rpb25Nb3VzZW92ZXIuYmluZCh0aGlzKVxuICAgICk7XG5cbiAgICBzY29wZS5yZWdpc3RlcihbXSwgXCJBcnJvd1VwXCIsIChldmVudCkgPT4ge1xuICAgICAgaWYgKCFldmVudC5pc0NvbXBvc2luZykge1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkSXRlbSh0aGlzLnNlbGVjdGVkSXRlbSAtIDEsIHRydWUpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBzY29wZS5yZWdpc3RlcihbXSwgXCJBcnJvd0Rvd25cIiwgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWV2ZW50LmlzQ29tcG9zaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtKHRoaXMuc2VsZWN0ZWRJdGVtICsgMSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNjb3BlLnJlZ2lzdGVyKFtdLCBcIkVudGVyXCIsIChldmVudCkgPT4ge1xuICAgICAgaWYgKCFldmVudC5pc0NvbXBvc2luZykge1xuICAgICAgICB0aGlzLnVzZVNlbGVjdGVkSXRlbShldmVudCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VnZ2VzdGlvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBlbDogSFRNTERpdkVsZW1lbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuc3VnZ2VzdGlvbnMuaW5kZXhPZihlbCk7XG4gICAgdGhpcy5zZXRTZWxlY3RlZEl0ZW0oaXRlbSwgZmFsc2UpO1xuICAgIHRoaXMudXNlU2VsZWN0ZWRJdGVtKGV2ZW50KTtcbiAgfVxuXG4gIG9uU3VnZ2VzdGlvbk1vdXNlb3ZlcihfZXZlbnQ6IE1vdXNlRXZlbnQsIGVsOiBIVE1MRGl2RWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnN1Z2dlc3Rpb25zLmluZGV4T2YoZWwpO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtKGl0ZW0sIGZhbHNlKTtcbiAgfVxuXG4gIHNldFN1Z2dlc3Rpb25zKHZhbHVlczogVFtdKSB7XG4gICAgdGhpcy5jb250YWluZXJFbC5lbXB0eSgpO1xuICAgIGNvbnN0IHN1Z2dlc3Rpb25FbHM6IEhUTUxEaXZFbGVtZW50W10gPSBbXTtcblxuICAgIHZhbHVlcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3Qgc3VnZ2VzdGlvbkVsID0gdGhpcy5jb250YWluZXJFbC5jcmVhdGVEaXYoXCJzdWdnZXN0aW9uLWl0ZW1cIik7XG4gICAgICB0aGlzLm93bmVyLnJlbmRlclN1Z2dlc3Rpb24odmFsdWUsIHN1Z2dlc3Rpb25FbCk7XG4gICAgICBzdWdnZXN0aW9uRWxzLnB1c2goc3VnZ2VzdGlvbkVsKTtcbiAgICB9KTtcblxuICAgIHRoaXMudmFsdWVzID0gdmFsdWVzO1xuICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBzdWdnZXN0aW9uRWxzO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtKDAsIGZhbHNlKTtcbiAgfVxuXG4gIHVzZVNlbGVjdGVkSXRlbShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlc1t0aGlzLnNlbGVjdGVkSXRlbV07XG4gICAgaWYgKGN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vd25lci5zZWxlY3RTdWdnZXN0aW9uKGN1cnJlbnRWYWx1ZSwgZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHNldFNlbGVjdGVkSXRlbShzZWxlY3RlZEluZGV4OiBudW1iZXIsIHNjcm9sbEludG9WaWV3OiBib29sZWFuKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZEluZGV4ID0gd3JhcEFyb3VuZChzZWxlY3RlZEluZGV4LCB0aGlzLnN1Z2dlc3Rpb25zLmxlbmd0aCk7XG4gICAgY29uc3QgcHJldlNlbGVjdGVkU3VnZ2VzdGlvbiA9IHRoaXMuc3VnZ2VzdGlvbnNbdGhpcy5zZWxlY3RlZEl0ZW1dO1xuICAgIGNvbnN0IHNlbGVjdGVkU3VnZ2VzdGlvbiA9IHRoaXMuc3VnZ2VzdGlvbnNbbm9ybWFsaXplZEluZGV4XTtcblxuICAgIHByZXZTZWxlY3RlZFN1Z2dlc3Rpb24/LnJlbW92ZUNsYXNzKFwiaXMtc2VsZWN0ZWRcIik7XG4gICAgc2VsZWN0ZWRTdWdnZXN0aW9uPy5hZGRDbGFzcyhcImlzLXNlbGVjdGVkXCIpO1xuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBub3JtYWxpemVkSW5kZXg7XG5cbiAgICBpZiAoc2Nyb2xsSW50b1ZpZXcpIHtcbiAgICAgIHNlbGVjdGVkU3VnZ2VzdGlvbi5zY3JvbGxJbnRvVmlldyhmYWxzZSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXh0SW5wdXRTdWdnZXN0PFQ+IGltcGxlbWVudHMgSVN1Z2dlc3RPd25lcjxUPiB7XG4gIHByb3RlY3RlZCBhcHA6IEFwcDtcbiAgcHJvdGVjdGVkIGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBwb3BwZXI6IFBvcHBlckluc3RhbmNlO1xuICBwcml2YXRlIHNjb3BlOiBTY29wZTtcbiAgcHJpdmF0ZSBzdWdnZXN0RWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHN1Z2dlc3Q6IFN1Z2dlc3Q8VD47XG5cbiAgY29uc3RydWN0b3IoYXBwOiBBcHAsIGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICB0aGlzLmlucHV0RWwgPSBpbnB1dEVsO1xuICAgIHRoaXMuc2NvcGUgPSBuZXcgU2NvcGUoKTtcblxuICAgIHRoaXMuc3VnZ2VzdEVsID0gY3JlYXRlRGl2KFwic3VnZ2VzdGlvbi1jb250YWluZXJcIik7XG4gICAgY29uc3Qgc3VnZ2VzdGlvbiA9IHRoaXMuc3VnZ2VzdEVsLmNyZWF0ZURpdihcInN1Z2dlc3Rpb25cIik7XG4gICAgdGhpcy5zdWdnZXN0ID0gbmV3IFN1Z2dlc3QodGhpcywgc3VnZ2VzdGlvbiwgdGhpcy5zY29wZSk7XG5cbiAgICB0aGlzLnNjb3BlLnJlZ2lzdGVyKFtdLCBcIkVzY2FwZVwiLCB0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuXG4gICAgdGhpcy5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJpbnB1dFwiLCB0aGlzLm9uSW5wdXRDaGFuZ2VkLmJpbmQodGhpcykpO1xuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNcIiwgdGhpcy5vbklucHV0Q2hhbmdlZC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwgdGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLnN1Z2dlc3RFbC5vbihcbiAgICAgIFwibW91c2Vkb3duXCIsXG4gICAgICBcIi5zdWdnZXN0aW9uLWNvbnRhaW5lclwiLFxuICAgICAgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0U3RyID0gdGhpcy5pbnB1dEVsLnZhbHVlO1xuICAgIGNvbnN0IHN1Z2dlc3Rpb25zID0gdGhpcy5nZXRTdWdnZXN0aW9ucyhpbnB1dFN0cik7XG5cbiAgICBpZiAoc3VnZ2VzdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zdWdnZXN0LnNldFN1Z2dlc3Rpb25zKHN1Z2dlc3Rpb25zKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICB0aGlzLm9wZW4oKDxhbnk+dGhpcy5hcHApLmRvbS5hcHBDb250YWluZXJFbCwgdGhpcy5pbnB1dEVsKTtcbiAgICB9XG4gIH1cblxuICBvcGVuKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIGlucHV0RWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAoPGFueT50aGlzLmFwcCkua2V5bWFwLnB1c2hTY29wZSh0aGlzLnNjb3BlKTtcblxuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLnN1Z2dlc3RFbCk7XG4gICAgdGhpcy5wb3BwZXIgPSBjcmVhdGVQb3BwZXIoaW5wdXRFbCwgdGhpcy5zdWdnZXN0RWwsIHtcbiAgICAgIHBsYWNlbWVudDogXCJib3R0b20tc3RhcnRcIixcbiAgICAgIG1vZGlmaWVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJzYW1lV2lkdGhcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIGZuOiAoeyBzdGF0ZSwgaW5zdGFuY2UgfSkgPT4ge1xuICAgICAgICAgICAgLy8gTm90ZTogcG9zaXRpb25pbmcgbmVlZHMgdG8gYmUgY2FsY3VsYXRlZCB0d2ljZSAtXG4gICAgICAgICAgICAvLyBmaXJzdCBwYXNzIC0gcG9zaXRpb25pbmcgaXQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCBvZiB0aGUgcG9wcGVyXG4gICAgICAgICAgICAvLyBzZWNvbmQgcGFzcyAtIHBvc2l0aW9uIGl0IHdpdGggdGhlIHdpZHRoIGJvdW5kIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudFxuICAgICAgICAgICAgLy8gd2UgbmVlZCB0byBlYXJseSBleGl0IHRvIGF2b2lkIGFuIGluZmluaXRlIGxvb3BcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFdpZHRoID0gYCR7c3RhdGUucmVjdHMucmVmZXJlbmNlLndpZHRofXB4YDtcbiAgICAgICAgICAgIGlmIChzdGF0ZS5zdHlsZXMucG9wcGVyLndpZHRoID09PSB0YXJnZXRXaWR0aCkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdGF0ZS5zdHlsZXMucG9wcGVyLndpZHRoID0gdGFyZ2V0V2lkdGg7XG4gICAgICAgICAgICBpbnN0YW5jZS51cGRhdGUoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBoYXNlOiBcImJlZm9yZVdyaXRlXCIsXG4gICAgICAgICAgcmVxdWlyZXM6IFtcImNvbXB1dGVTdHlsZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAoPGFueT50aGlzLmFwcCkua2V5bWFwLnBvcFNjb3BlKHRoaXMuc2NvcGUpO1xuXG4gICAgdGhpcy5zdWdnZXN0LnNldFN1Z2dlc3Rpb25zKFtdKTtcbiAgICB0aGlzLnBvcHBlciAmJiB0aGlzLnBvcHBlci5kZXN0cm95KCk7XG4gICAgdGhpcy5zdWdnZXN0RWwuZGV0YWNoKCk7XG4gIH1cblxuICBhYnN0cmFjdCBnZXRTdWdnZXN0aW9ucyhpbnB1dFN0cjogc3RyaW5nKTogVFtdO1xuICBhYnN0cmFjdCByZW5kZXJTdWdnZXN0aW9uKGl0ZW06IFQsIGVsOiBIVE1MRWxlbWVudCk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbGVjdFN1Z2dlc3Rpb24oaXRlbTogVCk6IHZvaWQ7XG59XG5cbmludGVyZmFjZSBDb21tYW5kIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ29tbWFuZFN1Z2dlc3QgZXh0ZW5kcyBUZXh0SW5wdXRTdWdnZXN0PENvbW1hbmQ+IHtcbiAgZ2V0U3VnZ2VzdGlvbnMoaW5wdXRTdHI6IHN0cmluZyk6IENvbW1hbmRbXSB7XG4gICAgY29uc3QgY29tbWFuZHMgPSB0aGlzLmFwcC5jb21tYW5kcy5jb21tYW5kcztcbiAgICBjb25zdCBjb21tYW5kTmFtZXM6IENvbW1hbmRbXSA9IFtdO1xuICAgIGNvbnN0IGlucHV0TG93ZXJDYXNlID0gaW5wdXRTdHIudG9Mb3dlckNhc2UoKTtcblxuICAgIGZvciAoY29uc3QgY29tbWFuZCBpbiBjb21tYW5kcykge1xuICAgICAgY29uc3QgY29tbWFuZE9iaiA9IGNvbW1hbmRzW2NvbW1hbmRdO1xuICAgICAgaWYgKGNvbW1hbmRPYmoubmFtZS50b0xvd2VyQ2FzZSgpLmNvbnRhaW5zKGlucHV0TG93ZXJDYXNlKSkge1xuICAgICAgICBjb21tYW5kTmFtZXMucHVzaChjb21tYW5kT2JqKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbW1hbmROYW1lcztcbiAgfVxuXG4gIHJlbmRlclN1Z2dlc3Rpb24oY29tbWFuZDogQ29tbWFuZCwgZWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgZWwuc2V0VGV4dChjb21tYW5kLm5hbWUpO1xuICB9XG5cbiAgc2VsZWN0U3VnZ2VzdGlvbihjb21tYW5kOiBDb21tYW5kKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gY29tbWFuZC5uYW1lO1xuICAgIHRoaXMuaW5wdXRFbC50cmlnZ2VyKFwiaW5wdXRcIik7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVN1Z2dlc3QgZXh0ZW5kcyBUZXh0SW5wdXRTdWdnZXN0PFRGaWxlPiB7XG4gIHByaXZhdGUgdGVtcGxhdGVzRW5hYmxlZCA9IHRoaXMuYXBwLmludGVybmFsUGx1Z2lucy5wbHVnaW5zLnRlbXBsYXRlcy5lbmFibGVkO1xuICBwcml2YXRlIHRlbXBsYXRlclBsdWdpbiA9IHRoaXMuYXBwLnBsdWdpbnMucGx1Z2luc1tcInRlbXBsYXRlci1vYnNpZGlhblwiXTtcbiAgLy8gb25seSBydW4gaWYgdGVtcGxhdGVzIHBsdWdpbiBpcyBlbmFibGVkXG4gIHByaXZhdGUgZm9sZGVyID0gKCk6IHN0cmluZ1tdID0+IHtcbiAgICBjb25zdCBmb2xkZXJzID0gW107XG4gICAgaWYgKHRoaXMudGVtcGxhdGVzRW5hYmxlZCkge1xuICAgICAgY29uc3QgZm9sZGVyID0gdGhpcy5hcHAuaW50ZXJuYWxQbHVnaW5zLnBsdWdpbnMudGVtcGxhdGVzLmluc3RhbmNlLm9wdGlvbnNcbiAgICAgICAgLmZvbGRlcjtcbiAgICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgZm9sZGVycy5wdXNoKGZvbGRlci50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRlbXBsYXRlclBsdWdpbikge1xuICAgICAgICBjb25zdCBmb2xkZXIgPSB0aGlzLnRlbXBsYXRlclBsdWdpbi5zZXR0aW5ncy50ZW1wbGF0ZV9mb2xkZXI7XG4gICAgICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgICBmb2xkZXJzLnB1c2goZm9sZGVyLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb2xkZXJzWzBdID8gZm9sZGVycyA6IHVuZGVmaW5lZDtcbiAgfTtcblxuICBnZXRTdWdnZXN0aW9ucyhpbnB1dFN0cjogc3RyaW5nKTogVEZpbGVbXSB7XG4gICAgY29uc3QgYWJzdHJhY3RGaWxlcyA9IHRoaXMuYXBwLnZhdWx0LmdldEFsbExvYWRlZEZpbGVzKCk7XG4gICAgY29uc3QgZmlsZXM6IFRGaWxlW10gPSBbXTtcbiAgICBjb25zdCBsb3dlckNhc2VJbnB1dFN0ciA9IGlucHV0U3RyLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgZm9sZGVycyA9IHRoaXMuZm9sZGVyKCk7XG5cbiAgICBhYnN0cmFjdEZpbGVzLmZvckVhY2goKGZpbGU6IFRBYnN0cmFjdEZpbGUpID0+IHtcbiAgICAgIGxldCBleGlzdHMgPSBmYWxzZTtcbiAgICAgIGZvbGRlcnMgJiZcbiAgICAgICAgZm9sZGVycy5mb3JFYWNoKChmb2xkZXIpID0+IHtcbiAgICAgICAgICBpZiAoZmlsZS5wYXRoLnRvTG93ZXJDYXNlKCkuY29udGFpbnMoYCR7Zm9sZGVyfS9gKSkge1xuICAgICAgICAgICAgZXhpc3RzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgaWYgKFxuICAgICAgICBmaWxlIGluc3RhbmNlb2YgVEZpbGUgJiZcbiAgICAgICAgZmlsZS5leHRlbnNpb24gPT09IFwibWRcIiAmJlxuICAgICAgICBleGlzdHMgJiZcbiAgICAgICAgZmlsZS5wYXRoLnRvTG93ZXJDYXNlKCkuY29udGFpbnMobG93ZXJDYXNlSW5wdXRTdHIpXG4gICAgICApIHtcbiAgICAgICAgZmlsZXMucHVzaChmaWxlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmaWxlcztcbiAgfVxuXG4gIHJlbmRlclN1Z2dlc3Rpb24oZmlsZTogVEZpbGUsIGVsOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGVsLnNldFRleHQoZmlsZS5uYW1lLnNwbGl0KFwiLlwiKVswXSk7XG4gIH1cblxuICBzZWxlY3RTdWdnZXN0aW9uKGZpbGU6IFRGaWxlKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gZmlsZS5uYW1lLnNwbGl0KFwiLlwiKVswXTtcbiAgICB0aGlzLmlucHV0RWwudHJpZ2dlcihcImlucHV0XCIpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnV0dG9uU3VnZ2VzdCBleHRlbmRzIFRleHRJbnB1dFN1Z2dlc3Q8c3RyaW5nPiB7XG4gIGdldFN1Z2dlc3Rpb25zKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBidXR0b25TdG9yZSA9IGdldFN0b3JlKHRoaXMuYXBwLmlzTW9iaWxlKTtcbiAgICBjb25zdCBidXR0b25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgYnV0dG9uU3RvcmUuZm9yRWFjaCgoYnV0dG9uOiBFeHRlbmRlZEJsb2NrQ2FjaGUpID0+IHtcbiAgICAgIGNvbnN0IHRyaW1tZWQgPSBidXR0b24uaWQuc3BsaXQoXCItXCIpWzFdO1xuICAgICAgYnV0dG9ucy5wdXNoKHRyaW1tZWQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGJ1dHRvbnM7XG4gIH1cblxuICByZW5kZXJTdWdnZXN0aW9uKGJ1dHRvbjogc3RyaW5nLCBlbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBlbC5zZXRUZXh0KGJ1dHRvbik7XG4gIH1cblxuICBzZWxlY3RTdWdnZXN0aW9uKGJ1dHRvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gdGhpcy5pbnB1dEVsLnZhbHVlICsgYnV0dG9uO1xuICAgIHRoaXMuaW5wdXRFbC50cmlnZ2VyKFwiaW5wdXRcIik7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBNb2RhbCwgQXBwLCBTZXR0aW5nLCBNYXJrZG93blZpZXcsIEVkaXRvciB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgY3JlYXRlQnV0dG9uIH0gZnJvbSBcIi4vYnV0dG9uXCI7XG5pbXBvcnQgeyBDb21tYW5kU3VnZ2VzdCwgVGVtcGxhdGVTdWdnZXN0LCBCdXR0b25TdWdnZXN0IH0gZnJvbSBcIi4vc3VnZ2VzdFwiO1xuaW1wb3J0IHsgaW5zZXJ0QnV0dG9uLCBpbnNlcnRJbmxpbmVCdXR0b24gfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgQnV0dG9uTW9kYWwgZXh0ZW5kcyBNb2RhbCB7XG4gIGFjdGl2ZVZpZXc6IE1hcmtkb3duVmlldztcbiAgYWN0aXZlRWRpdG9yOiBFZGl0b3I7XG4gIGFjdGl2ZUN1cnNvcjogQ29kZU1pcnJvci5Qb3NpdGlvbjtcbiAgYWN0aW9uSW50ZXJ2YWw6IFRpbWVvdXQ7XG4gIGJ1dHRvblByZXZpZXdFbDogSFRNTEVsZW1lbnQgPSBjcmVhdGVFbChcInBcIik7XG4gIGNvbW1hbmRTdWdnZXN0RWw6IEhUTUxJbnB1dEVsZW1lbnQgPSBjcmVhdGVFbChcImlucHV0XCIsIHsgdHlwZTogXCJ0ZXh0XCIgfSk7XG4gIGZpbGVTdWdnZXN0RWw6IEhUTUxJbnB1dEVsZW1lbnQgPSBjcmVhdGVFbChcImlucHV0XCIsIHsgdHlwZTogXCJ0ZXh0XCIgfSk7XG4gIHJlbW92ZVN1Z2dlc3RFbDogSFRNTElucHV0RWxlbWVudCA9IGNyZWF0ZUVsKFwiaW5wdXRcIiwgeyB0eXBlOiBcInRleHRcIiB9KTtcbiAgc3dhcFN1Z2dlc3RFbDogSFRNTElucHV0RWxlbWVudCA9IGNyZWF0ZUVsKFwiaW5wdXRcIiwgeyB0eXBlOiBcInRleHRcIiB9KTtcbiAgaWRTdWdnZXN0RWw6IEhUTUxJbnB1dEVsZW1lbnQgPSBjcmVhdGVFbChcImlucHV0XCIsIHsgdHlwZTogXCJ0ZXh0XCIgfSk7XG4gIHJlbW92ZVN1Z2dlc3Q7XG4gIHN3YXBTdWdnZXN0O1xuICBpZFN1Z2dlc3Q7XG4gIGNvbW1hbmRTdWdnZXN0O1xuICBmaWxlU3VnZ2VzdDtcblxuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCkge1xuICAgIHN1cGVyKGFwcCk7XG4gICAgdGhpcy5jb21tYW5kU3VnZ2VzdCA9IG5ldyBDb21tYW5kU3VnZ2VzdCh0aGlzLmFwcCwgdGhpcy5jb21tYW5kU3VnZ2VzdEVsKTtcbiAgICB0aGlzLmNvbW1hbmRTdWdnZXN0RWwucGxhY2Vob2xkZXIgPSBcIlRvZ2dsZSBQaW5cIjtcbiAgICB0aGlzLmNvbW1hbmRTdWdnZXN0RWwuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCAoZTogRXZlbnQpID0+IHtcbiAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmFjdGlvbiA9ICg8SFRNTElucHV0RWxlbWVudD5lLnRhcmdldCkudmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5jb21tYW5kU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIChlOiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5vdXRwdXRPYmplY3QuYWN0aW9uID0gKDxIVE1MSW5wdXRFbGVtZW50PmUudGFyZ2V0KS52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZpbGVTdWdnZXN0ID0gbmV3IFRlbXBsYXRlU3VnZ2VzdCh0aGlzLmFwcCwgdGhpcy5maWxlU3VnZ2VzdEVsKTtcbiAgICB0aGlzLmZpbGVTdWdnZXN0RWwucGxhY2Vob2xkZXIgPSBcIk15IFRlbXBsYXRlXCI7XG4gICAgdGhpcy5maWxlU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgKGUpID0+IHtcbiAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmFjdGlvbiA9ICg8SFRNTElucHV0RWxlbWVudD5lLnRhcmdldCkudmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5maWxlU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIChlKSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5hY3Rpb24gPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZS50YXJnZXQpLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMucmVtb3ZlU3VnZ2VzdCA9IG5ldyBCdXR0b25TdWdnZXN0KHRoaXMuYXBwLCB0aGlzLnJlbW92ZVN1Z2dlc3RFbCk7XG4gICAgdGhpcy5yZW1vdmVTdWdnZXN0RWwudmFsdWUgPSBcInRydWVcIjtcbiAgICB0aGlzLnJlbW92ZVN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIChlKSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5yZW1vdmUgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZS50YXJnZXQpLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMucmVtb3ZlU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIChlKSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5yZW1vdmUgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZS50YXJnZXQpLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuc3dhcFN1Z2dlc3QgPSBuZXcgQnV0dG9uU3VnZ2VzdCh0aGlzLmFwcCwgdGhpcy5zd2FwU3VnZ2VzdEVsKTtcbiAgICB0aGlzLnN3YXBTdWdnZXN0RWwuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vdXRwdXRPYmplY3Quc3dhcCA9ICg8SFRNTElucHV0RWxlbWVudD5lLnRhcmdldCkudmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5zd2FwU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIChlKSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5zd2FwID0gKDxIVE1MSW5wdXRFbGVtZW50PmUudGFyZ2V0KS52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmlkU3VnZ2VzdCA9IG5ldyBCdXR0b25TdWdnZXN0KHRoaXMuYXBwLCB0aGlzLmlkU3VnZ2VzdEVsKTtcbiAgICB0aGlzLmlkU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgKGUpID0+IHtcbiAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmlkID0gKDxIVE1MSW5wdXRFbGVtZW50PmUudGFyZ2V0KS52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmlkU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIChlKSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5pZCA9ICg8SFRNTElucHV0RWxlbWVudD5lLnRhcmdldCkudmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5zd2FwU3VnZ2VzdEVsLnBsYWNlaG9sZGVyID0gXCJbaWRPbmUsIGlkVHdvXVwiO1xuICB9XG5cbiAgcHJpdmF0ZSBvdXRwdXRPYmplY3QgPSB7XG4gICAgbmFtZTogXCJcIixcbiAgICB0eXBlOiBcIlwiLFxuICAgIGFjdGlvbjogXCJcIixcbiAgICBzd2FwOiBcIlwiLFxuICAgIHJlbW92ZTogXCJcIixcbiAgICByZXBsYWNlOiBcIlwiLFxuICAgIGlkOiBcIlwiLFxuICAgIHRlbXBsYXRlcjogZmFsc2UsXG4gICAgY2xhc3M6IFwiXCIsXG4gICAgY29sb3I6IFwiXCIsXG4gICAgYmxvY2tJZDogXCJcIixcbiAgfTtcblxuICBvbk9wZW4oKTogdm9pZCB7XG4gICAgY29uc3QgeyB0aXRsZUVsLCBjb250ZW50RWwgfSA9IHRoaXM7XG4gICAgdGl0bGVFbC5zZXRUZXh0KFwiQnV0dG9uIE1ha2VyXCIpO1xuICAgIGNvbnRlbnRFbC5hZGRDbGFzcyhcImJ1dHRvbi1tYWtlclwiKTtcbiAgICBjb250ZW50RWwuY3JlYXRlRWwoXCJmb3JtXCIsIHt9LCAoZm9ybUVsKSA9PiB7XG4gICAgICBuZXcgU2V0dGluZyhmb3JtRWwpXG4gICAgICAgIC5zZXROYW1lKFwiQnV0dG9uIE5hbWVcIilcbiAgICAgICAgLnNldERlc2MoXCJXaGF0IHdvdWxkIHlvdSBsaWtlIHRvIGNhbGwgdGhpcyBidXR0b24/XCIpXG4gICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICB0ZXh0RWwuc2V0UGxhY2Vob2xkZXIoXCJNeSBBd2Vzb21lIEJ1dHRvblwiKTtcbiAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvblByZXZpZXdFbC5zZXRUZXh0KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0Lm5hbWUgPSB2YWx1ZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHRleHRFbC5pbnB1dEVsLmZvY3VzKCksIDEwKTtcbiAgICAgICAgfSk7XG4gICAgICBjb25zdCB0eXBlQ29udGFpbmVyID0gY3JlYXRlRWwoXCJkaXZcIik7XG4gICAgICBjb25zdCB0eXBlVGl0bGUgPSBjcmVhdGVFbChcInNwYW5cIiwgeyBjbHM6IFwic2V0dGluZy1pdGVtLXRpdGxlXCIgfSk7XG4gICAgICB0eXBlVGl0bGUuc2V0VGV4dChcIkJ1dHRvbiBUeXBlXCIpO1xuICAgICAgY29uc3QgdHlwZURlc2MgPSBjcmVhdGVFbChcImRpdlwiLCB7IGNsczogXCJzZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb25cIiB9KTtcbiAgICAgIHR5cGVEZXNjLnNldFRleHQoXCJXaGF0IHR5cGUgb2YgYnV0dG9uIGFyZSB5b3UgbWFraW5nP1wiKTtcbiAgICAgIGZvcm1FbC5hcHBlbmRDaGlsZCh0eXBlQ29udGFpbmVyKTtcbiAgICAgIHR5cGVDb250YWluZXIuYXBwZW5kQ2hpbGQodHlwZVRpdGxlKTtcbiAgICAgIHR5cGVDb250YWluZXIuYXBwZW5kQ2hpbGQodHlwZURlc2MpO1xuICAgICAgbmV3IFNldHRpbmcodHlwZURlc2MpLmFkZERyb3Bkb3duKChkcm9wKSA9PiB7XG4gICAgICAgIGRyb3AuYWRkT3B0aW9uKFwicHJlXCIsIFwiU2VsZWN0IGEgQnV0dG9uIFR5cGVcIik7XG4gICAgICAgIGRyb3AuYWRkT3B0aW9uKFwiY29tbWFuZFwiLCBcIkNvbW1hbmQgLSBydW4gYSBjb21tYW5kIHByb21wdCBjb21tYW5kXCIpO1xuICAgICAgICBkcm9wLmFkZE9wdGlvbihcImxpbmtcIiwgXCJMaW5rIC0gb3BlbiBhIHVybCBvciB1cmlcIik7XG4gICAgICAgIGRyb3AuYWRkT3B0aW9uKFxuICAgICAgICAgIFwidGVtcGxhdGVcIixcbiAgICAgICAgICBcIlRlbXBsYXRlIC0gaW5zZXJ0IG9yIGNyZWF0ZSBub3RlcyBmcm9tIHRlbXBsYXRlc1wiXG4gICAgICAgICk7XG4gICAgICAgIGRyb3AuYWRkT3B0aW9uKFwidGV4dFwiLCBcIlRleHQgLSBpbnNlcnQgb3IgY3JlYXRlIG5vdGVzIHdpdGggdGV4dFwiKTtcbiAgICAgICAgZHJvcC5hZGRPcHRpb24oXG4gICAgICAgICAgXCJjYWxjdWxhdGVcIixcbiAgICAgICAgICBcIkNhbGN1bGF0ZSAtIHJ1biBhIG1hdGhlbWF0aWNhbCBjYWxjdWxhdGlvblwiXG4gICAgICAgICk7XG4gICAgICAgIGRyb3AuYWRkT3B0aW9uKFxuICAgICAgICAgIFwic3dhcFwiLFxuICAgICAgICAgIFwiU3dhcCAtIENyZWF0ZSBhIG11bHRpLXB1cnBvc2UgSW5saW5lIEJ1dHRvbiBmcm9tIG90aGVyIEJ1dHRvbnNcIlxuICAgICAgICApO1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBmb3JtRWwuY3JlYXRlRWwoXCJkaXZcIik7XG4gICAgICAgIGRyb3Aub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IHZhbHVlO1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJsaW5rXCIpIHtcbiAgICAgICAgICAgIGFjdGlvbi5lbXB0eSgpO1xuICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAuc2V0TmFtZShcIkxpbmtcIilcbiAgICAgICAgICAgICAgLnNldERlc2MoXCJFbnRlciBhIGxpbmsgdG8gb3BlblwiKVxuICAgICAgICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiaHR0cHM6Ly9vYnNpZGlhbi5tZFwiKTtcbiAgICAgICAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoKHZhbHVlKSA9PiAodGhpcy5vdXRwdXRPYmplY3QuYWN0aW9uID0gdmFsdWUpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJjb21tYW5kXCIpIHtcbiAgICAgICAgICAgIGFjdGlvbi5lbXB0eSgpO1xuICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAuc2V0TmFtZShcIkNvbW1hbmRcIilcbiAgICAgICAgICAgICAgLnNldERlc2MoXCJFbnRlciBhIGNvbW1hbmQgdG8gcnVuXCIpXG4gICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0RWwuaW5wdXRFbC5yZXBsYWNlV2l0aCh0aGlzLmNvbW1hbmRTdWdnZXN0RWwpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKFwidGVtcGxhdGVcIikpIHtcbiAgICAgICAgICAgIGFjdGlvbi5lbXB0eSgpO1xuICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAuc2V0TmFtZShcIlRlbXBsYXRlXCIpXG4gICAgICAgICAgICAgIC5zZXREZXNjKFwiU2VsZWN0IGEgdGVtcGxhdGUgbm90ZSBhbmQgd2hhdCBzaG91bGQgaGFwcGVuXCIpXG4gICAgICAgICAgICAgIC5hZGREcm9wZG93bigoZHJvcCkgPT4ge1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwicHJlXCIsIFwiRG8gdGhpcy4uLlwiKTtcbiAgICAgICAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcInByZXBlbmQgdGVtcGxhdGVcIiwgXCJQcmVwZW5kXCIpO1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwiYXBwZW5kIHRlbXBsYXRlXCIsIFwiQXBwZW5kXCIpO1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwibGluZSB0ZW1wbGF0ZVwiLCBcIkxpbmVcIik7XG4gICAgICAgICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJub3RlIHRlbXBsYXRlXCIsIFwiTm90ZVwiKTtcbiAgICAgICAgICAgICAgICBkcm9wLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IFwibGluZSB0ZW1wbGF0ZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAuc2V0TmFtZShcIkxpbmUgTnVtYmVyXCIpXG4gICAgICAgICAgICAgICAgICAgICAgLnNldERlc2MoXCJBdCB3aGljaCBsaW5lIHNob3VsZCB0aGUgdGVtcGxhdGUgYmUgaW5zZXJ0ZWQ/XCIpXG4gICAgICAgICAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiNjlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbGluZSgke3ZhbHVlfSkgdGVtcGxhdGVgO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gXCJub3RlIHRlbXBsYXRlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiTm90ZSBOYW1lXCIpXG4gICAgICAgICAgICAgICAgICAgICAgLnNldERlc2MoXCJXaGF0IHNob3VsZCB0aGUgbmV3IG5vdGUgYmUgbmFtZWQ/XCIpXG4gICAgICAgICAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiTXkgTmV3IE5vdGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgU2V0dGluZyhhY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiU3BsaXRcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldERlc2MoXCJTaG91bGQgdGhlIG5ldyBub3RlIG9wZW4gaW4gYSBzcGxpdCBwYW5lP1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuYWRkVG9nZ2xlKCh0b2dnbGVFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRFbC5nZXRWYWx1ZX0pIHRlbXBsYXRlYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoKHRleHRWYWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvZ2dsZVZhbCA9IHRvZ2dsZUVsLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9nZ2xlVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRWYWx9LCBzcGxpdCkgdGVtcGxhdGVgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0b2dnbGVWYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IGBub3RlKCR7dGV4dFZhbH0pIHRlbXBsYXRlYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFbC5vbkNoYW5nZSgodG9nZ2xlVmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0VmFsID0gdGV4dEVsLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9nZ2xlVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRWYWx9LCBzcGxpdCkgdGVtcGxhdGVgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0b2dnbGVWYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IGBub3RlKCR7dGV4dFZhbH0pIHRlbXBsYXRlYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0RWwuaW5wdXRFbC5yZXBsYWNlV2l0aCh0aGlzLmZpbGVTdWdnZXN0RWwpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKFwidGV4dFwiKSkge1xuICAgICAgICAgICAgYWN0aW9uLmVtcHR5KCk7XG4gICAgICAgICAgICBuZXcgU2V0dGluZyhhY3Rpb24pXG4gICAgICAgICAgICAgIC5zZXROYW1lKFwiVGV4dFwiKVxuICAgICAgICAgICAgICAuc2V0RGVzYyhcIldoYXQgdGV4dCBhbmQgd2hlcmUgc2hvdWxkIGl0IGdvP1wiKVxuICAgICAgICAgICAgICAuYWRkRHJvcGRvd24oKGRyb3ApID0+IHtcbiAgICAgICAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcInByZVwiLCBcIkRvIHRoaXMuLi5cIik7XG4gICAgICAgICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJwcmVwZW5kIHRleHRcIiwgXCJQcmVwZW5kXCIpO1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwiYXBwZW5kIHRleHRcIiwgXCJBcHBlbmRcIik7XG4gICAgICAgICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJsaW5lIHRleHRcIiwgXCJMaW5lXCIpO1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwibm90ZSB0ZXh0XCIsIFwiTm90ZVwiKTtcbiAgICAgICAgICAgICAgICBkcm9wLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IFwibGluZSB0ZXh0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiTGluZSBOdW1iZXJcIilcbiAgICAgICAgICAgICAgICAgICAgICAuc2V0RGVzYyhcIkF0IHdoaWNoIGxpbmUgc2hvdWxkIHRoZSB0ZW1wbGF0ZSBiZSBpbnNlcnRlZD9cIilcbiAgICAgICAgICAgICAgICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RWwuc2V0UGxhY2Vob2xkZXIoXCI2OVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFbC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IGBsaW5lKCR7dmFsdWV9KSB0ZXh0YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IFwibm90ZSB0ZXh0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiTm90ZSBOYW1lXCIpXG4gICAgICAgICAgICAgICAgICAgICAgLnNldERlc2MoXCJXaGF0IHNob3VsZCB0aGUgbmV3IG5vdGUgYmUgbmFtZWQ/XCIpXG4gICAgICAgICAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiTXkgTmV3IE5vdGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgU2V0dGluZyhhY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiU3BsaXRcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldERlc2MoXCJTaG91bGQgdGhlIG5ldyBub3RlIG9wZW4gaW4gYSBzcGxpdCBwYW5lP1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuYWRkVG9nZ2xlKCh0b2dnbGVFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRFbC5nZXRWYWx1ZX0pIHRleHRgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFbC5vbkNoYW5nZSgodGV4dFZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9nZ2xlVmFsID0gdG9nZ2xlRWwuZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2dnbGVWYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IGBub3RlKCR7dGV4dFZhbH0sIHNwbGl0KSB0ZXh0YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdG9nZ2xlVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRWYWx9KSB0ZXh0YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFbC5vbkNoYW5nZSgodG9nZ2xlVmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0VmFsID0gdGV4dEVsLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9nZ2xlVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRWYWx9LCBzcGxpdCkgdGV4dGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRvZ2dsZVZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYG5vdGUoJHt0ZXh0VmFsfSkgdGV4dGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiTXkgVGV4dCB0byBJbnNlcnRcIik7XG4gICAgICAgICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QuYWN0aW9uID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFsdWUgPT09IFwiY2FsY3VsYXRlXCIpIHtcbiAgICAgICAgICAgIGFjdGlvbi5lbXB0eSgpO1xuICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAuc2V0TmFtZShcIkNhbGN1bGF0ZVwiKVxuICAgICAgICAgICAgICAuc2V0RGVzYyhcbiAgICAgICAgICAgICAgICBcIkVudGVyIGEgY2FsY3VsYXRpb24sIHlvdSBjYW4gcmVmZXJlbmNlIGEgbGluZSBudW1iZXIgd2l0aCAkTGluZU51bWJlclwiXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgIHRleHRFbC5zZXRQbGFjZWhvbGRlcihcIjIrJDEwXCIpO1xuICAgICAgICAgICAgICAgIHRleHRFbC5vbkNoYW5nZSgodmFsdWUpID0+ICh0aGlzLm91dHB1dE9iamVjdC5hY3Rpb24gPSB2YWx1ZSkpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlID09PSBcInN3YXBcIikge1xuICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IFwiXCI7XG4gICAgICAgICAgICBhY3Rpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgLnNldE5hbWUoXCJTd2FwXCIpXG4gICAgICAgICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgICAgICAgIFwiY2hvb3NlIGJ1dHRvbnMgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIElubGluZSBTd2FwIEJ1dHRvblwiXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgIHRleHRFbC5pbnB1dEVsLnJlcGxhY2VXaXRoKHRoaXMuc3dhcFN1Z2dlc3RFbCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIG5ldyBTZXR0aW5nKGZvcm1FbClcbiAgICAgICAgLnNldE5hbWUoXCJCdXR0b24gQmxvY2sgSURcIilcbiAgICAgICAgLnNldERlc2MoXCJQcm92aWRlIGEgY3VzdG9tIGJ1dHRvbi1ibG9jay1pZFwiKVxuICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiYnV0dG9uSWRcIik7XG4gICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QuYmxvY2tJZCA9IHZhbHVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIG5ldyBTZXR0aW5nKGZvcm1FbClcbiAgICAgICAgLnNldE5hbWUoXCJSZW1vdmVcIilcbiAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgXCJXb3VsZCB5b3UgbGlrZSB0byByZW1vdmUgdGhpcyBidXR0b24gKG9yIG90aGVyIGJ1dHRvbnMpIGFmdGVyIGNsaWNraW5nP1wiXG4gICAgICAgIClcbiAgICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlRWwpID0+IHtcbiAgICAgICAgICB0b2dnbGVFbC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICBuZXcgU2V0dGluZyhyZW1vdmUpXG4gICAgICAgICAgICAgICAgLnNldE5hbWUoXCJTZWxlY3QgUmVtb3ZlXCIpXG4gICAgICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgICBcIlVzZSB0cnVlIHRvIHJlbW92ZSB0aGlzIGJ1dHRvbiwgb3Igc3VwcGx5IGFuIFthcnJheV0gb2YgYnV0dG9uIGJsb2NrLWlkc1wiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRleHRFbC5pbnB1dEVsLnJlcGxhY2VXaXRoKHRoaXMucmVtb3ZlU3VnZ2VzdEVsKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QucmVtb3ZlID0gXCJcIjtcbiAgICAgICAgICAgICAgcmVtb3ZlLmVtcHR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgY29uc3QgcmVtb3ZlID0gZm9ybUVsLmNyZWF0ZUVsKFwiZGl2XCIpO1xuICAgICAgbmV3IFNldHRpbmcoZm9ybUVsKVxuICAgICAgICAuc2V0TmFtZShcIlJlcGxhY2VcIilcbiAgICAgICAgLnNldERlc2MoXCJXb3VsZCB5b3UgbGlrZSB0byByZXBsYWNlIGxpbmVzIGluIHRoZSBub3RlIGFmdGVyIGNsaWNraW5nP1wiKVxuICAgICAgICAuYWRkVG9nZ2xlKCh0b2dnbGVFbCkgPT4ge1xuICAgICAgICAgIHRvZ2dsZUVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgIG5ldyBTZXR0aW5nKHJlcGxhY2UpXG4gICAgICAgICAgICAgICAgLnNldE5hbWUoXCJTZWxlY3QgTGluZXNcIilcbiAgICAgICAgICAgICAgICAuc2V0RGVzYyhcbiAgICAgICAgICAgICAgICAgIFwiU3VwcGx5IGFuIGFycmF5IG9mIFtzdGFydGluZ0xpbmUsIGVuZGluZ0xpbmVdIHRvIGJlIHJlcGxhY2VkXCJcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGV4dEVsLnNldFZhbHVlKFwiW11cIik7XG4gICAgICAgICAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZSkgPT4gKHRoaXMub3V0cHV0T2JqZWN0LnJlcGxhY2UgPSB2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICAgIHJlcGxhY2UuZW1wdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICBjb25zdCByZXBsYWNlID0gZm9ybUVsLmNyZWF0ZUVsKFwiZGl2XCIpO1xuICAgICAgbmV3IFNldHRpbmcoZm9ybUVsKVxuICAgICAgICAuc2V0TmFtZShcIkluaGVyaXRcIilcbiAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgXCJXb3VsZCB5b3UgbGlrZSB0byBpbmhlcml0IGFyZ3MgYnkgYWRkaW5nIGFuIGV4aXN0aW5nIGJ1dHRvbiBibG9jay1pZD9cIlxuICAgICAgICApXG4gICAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZUVsKSA9PiB7XG4gICAgICAgICAgdG9nZ2xlRWwub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgbmV3IFNldHRpbmcoaWQpXG4gICAgICAgICAgICAgICAgLnNldE5hbWUoXCJpZFwiKVxuICAgICAgICAgICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgICAgICAgICAgXCJpbmhlcml0IGZyb20gb3RoZXIgQnV0dG9ucyBieSBhZGRpbmcgdGhlaXIgYnV0dG9uIGJsb2NrLWlkXCJcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGV4dEVsLmlucHV0RWwucmVwbGFjZVdpdGgodGhpcy5pZFN1Z2dlc3RFbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnJlcGxhY2UgPSBcIlwiO1xuICAgICAgICAgICAgICBpZC5lbXB0eSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIGNvbnN0IGlkID0gZm9ybUVsLmNyZWF0ZUVsKFwiZGl2XCIpO1xuICAgICAgbmV3IFNldHRpbmcoZm9ybUVsKVxuICAgICAgICAuc2V0TmFtZShcIlRlbXBsYXRlclwiKVxuICAgICAgICAuc2V0RGVzYyhcbiAgICAgICAgICBcIkRvIHlvdSB3YW50IHRvIGNvbnZlcnQgYSB0ZW1wbGF0ZXIgY29tbWFuZCBpbnNpZGUgeW91ciBCdXR0b24gb24gZWFjaCBjbGljaz9cIlxuICAgICAgICApXG4gICAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZUVsKSA9PiB7XG4gICAgICAgICAgdG9nZ2xlRWwuc2V0VG9vbHRpcChcIkRvIG5vdCB1c2UgZm9yIGlubGluZSBCdXR0b25cIik7XG4gICAgICAgICAgdG9nZ2xlRWwub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50ZW1wbGF0ZXIgPSB2YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICBuZXcgU2V0dGluZyhmb3JtRWwpXG4gICAgICAgIC5zZXROYW1lKFwiQ3VzdG9tIENsYXNzXCIpXG4gICAgICAgIC5zZXREZXNjKFwiQWRkIGEgY3VzdG9tIGNsYXNzIGZvciBidXR0b24gc3R5bGluZ1wiKVxuICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25QcmV2aWV3RWwuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QuY2xhc3MgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJcIikge1xuICAgICAgICAgICAgICB0aGlzLmJ1dHRvblByZXZpZXdFbC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBcImJ1dHRvbi1kZWZhdWx0XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIG5ldyBTZXR0aW5nKGZvcm1FbClcbiAgICAgICAgLnNldE5hbWUoXCJDb2xvclwiKVxuICAgICAgICAuc2V0RGVzYyhcIldoYXQgY29sb3Igd291bGQgeW91IGxpa2UgeW91ciBidXR0b24gdG8gYmU/XCIpXG4gICAgICAgIC5hZGREcm9wZG93bigoZHJvcCkgPT4ge1xuICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwiZGVmYXVsdFwiLCBcIkRlZmF1bHQgQ29sb3JcIik7XG4gICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJibHVlXCIsIFwiQmx1ZVwiKTtcbiAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcInJlZFwiLCBcIlJlZFwiKTtcbiAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcImdyZWVuXCIsIFwiR3JlZW5cIik7XG4gICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJ5ZWxsb3dcIiwgXCJZZWxsb3dcIik7XG4gICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJwdXJwbGVcIiwgXCJQdXJwbGVcIik7XG4gICAgICAgICAgZHJvcC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmNvbG9yID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCBidXR0b25DbGFzcyA9IHRoaXMuYnV0dG9uUHJldmlld0VsXG4gICAgICAgICAgICAgIC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKVxuICAgICAgICAgICAgICAucmVwbGFjZShcIiBibHVlXCIsIFwiXCIpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKFwiIHJlZFwiLCBcIlwiKVxuICAgICAgICAgICAgICAucmVwbGFjZShcIiBncmVlblwiLCBcIlwiKVxuICAgICAgICAgICAgICAucmVwbGFjZShcIiB5ZWxsb3dcIiwgXCJcIilcbiAgICAgICAgICAgICAgLnJlcGxhY2UoXCIgcHVycGxlXCIsIFwiXCIpO1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSBcImRlZmF1bHRcIikge1xuICAgICAgICAgICAgICB0aGlzLmJ1dHRvblByZXZpZXdFbC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgXCJjbGFzc1wiLFxuICAgICAgICAgICAgICAgIGAke2J1dHRvbkNsYXNzfSAke3ZhbHVlfWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcImJsdWVcIikge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gXCIjNzZiM2ZhXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcInB1cnBsZVwiKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBcIiM3MjU1ODVcIjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLmJ1dHRvblByZXZpZXdFbC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgIGBiYWNrZ3JvdW5kOiAke3ZhbHVlfWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuYnV0dG9uUHJldmlld0VsLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIGAke2J1dHRvbkNsYXNzfWApO1xuICAgICAgICAgICAgICB0aGlzLmJ1dHRvblByZXZpZXdFbC5yZW1vdmVBdHRyaWJ1dGUoXCJzdHlsZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICBmb3JtRWwuY3JlYXRlRGl2KFwibW9kYWwtYnV0dG9uLWNvbnRhaW5lclwiLCAoYnV0dG9uQ29udGFpbmVyRWwpID0+IHtcbiAgICAgICAgYnV0dG9uQ29udGFpbmVyRWxcbiAgICAgICAgICAuY3JlYXRlRWwoXCJidXR0b25cIiwge1xuICAgICAgICAgICAgYXR0cjogeyB0eXBlOiBcImJ1dHRvblwiIH0sXG4gICAgICAgICAgICBjbHM6IFwiYnV0dG9uLWRlZmF1bHRcIixcbiAgICAgICAgICAgIHRleHQ6IFwiQ2FuY2VsXCIsXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHRoaXMuY2xvc2UoKSk7XG4gICAgICAgIGJ1dHRvbkNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICBhdHRyOiB7IHR5cGU6IFwic3VibWl0XCIgfSxcbiAgICAgICAgICBjbHM6IFwiYnV0dG9uLWRlZmF1bHQgbW9kLWN0YVwiLFxuICAgICAgICAgIHRleHQ6IFwiSW5zZXJ0IEJ1dHRvblwiLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBmb3JtRWwuYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZTogRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpbnNlcnRCdXR0b24odGhpcy5hcHAsIHRoaXMub3V0cHV0T2JqZWN0KTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29udGVudEVsLmNyZWF0ZUVsKFwicFwiKS5zZXRUZXh0KFwiQnV0dG9uIFByZXZpZXdcIik7XG4gICAgdGhpcy5idXR0b25QcmV2aWV3RWwgPSBjcmVhdGVCdXR0b24oe1xuICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgIGVsOiBjb250ZW50RWwsXG4gICAgICBhcmdzOiB7IG5hbWU6IFwiTXkgQXdlc29tZSBCdXR0b25cIiB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICBjb25zdCB7IGNvbnRlbnRFbCB9ID0gdGhpcztcbiAgICBjb250ZW50RWwuZW1wdHkoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW5saW5lQnV0dG9uTW9kYWwgZXh0ZW5kcyBNb2RhbCB7XG4gIGJ1dHRvblN1Z2dlc3RFbDogSFRNTElucHV0RWxlbWVudCA9IGNyZWF0ZUVsKFwiaW5wdXRcIiwgeyB0eXBlOiBcInRleHRcIiB9KTtcbiAgYnV0dG9uU3VnZ2VzdDtcblxuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCkge1xuICAgIHN1cGVyKGFwcCk7XG4gICAgdGhpcy5idXR0b25TdWdnZXN0ID0gbmV3IEJ1dHRvblN1Z2dlc3QodGhpcy5hcHAsIHRoaXMuYnV0dG9uU3VnZ2VzdEVsKTtcbiAgICB0aGlzLmJ1dHRvblN1Z2dlc3RFbC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDQwcHhcIik7XG4gIH1cblxuICBvbk9wZW4oKSB7XG4gICAgY29uc3QgeyB0aXRsZUVsLCBjb250ZW50RWwgfSA9IHRoaXM7XG4gICAgdGl0bGVFbC5zZXRUZXh0KFwiSW5zZXJ0IElubGluZSBCdXR0b25cIik7XG4gICAgY29udGVudEVsLmNyZWF0ZUVsKFwiZm9ybVwiLCB7fSwgKGZvcm1FbCkgPT4ge1xuICAgICAgZm9ybUVsLmFwcGVuZENoaWxkKHRoaXMuYnV0dG9uU3VnZ2VzdEVsKTtcbiAgICAgIGZvcm1FbC5hZGRFdmVudExpc3RlbmVyKFwic3VibWl0XCIsIChlOiBFdmVudCkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGluc2VydElubGluZUJ1dHRvbih0aGlzLmFwcCwgdGhpcy5idXR0b25TdWdnZXN0RWwudmFsdWUpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgY29uc3QgeyBjb250ZW50RWwgfSA9IHRoaXM7XG4gICAgY29udGVudEVsLmVtcHR5KCk7XG4gIH1cbn1cbiIsImV4cG9ydCBjb25zdCBjaGVja1ZlcnNpb24gPSAoKSA9PiB7XG4gIGNvbnN0IHNhdmVkVmVyc2lvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnV0dG9uc1ZlcnNpb25cIik7XG4gIGNvbnN0IGluc3RhbGxlZFZlcnNpb24gPSBhcHAucGx1Z2lucy5wbHVnaW5zLmJ1dHRvbnMubWFuaWZlc3QudmVyc2lvbjtcbiAgaWYgKFxuICAgIHBhcnNlSW50KHNhdmVkVmVyc2lvbikgPCBwYXJzZUludChpbnN0YWxsZWRWZXJzaW9uKSB8fFxuICAgIHNhdmVkVmVyc2lvbiA9PT0gbnVsbFxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3Qgc2F2ZVZlcnNpb24gPSAoKSA9PiB7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgIFwiYnV0dG9uc1ZlcnNpb25cIixcbiAgICBhcHAucGx1Z2lucy5wbHVnaW5zLmJ1dHRvbnMubWFuaWZlc3QudmVyc2lvblxuICApO1xufTtcblxuY29uc3QgcmVsZWFzZU5vdGUgPSBgXG5UaGVyZSBpcyBhIG1ham9yIHVwZGF0ZSB0byBCdXR0b25zIGNvbWluZyB0aGF0IHdpbGwgYnJpbmcgbXVjaCBuZWVkZWQgaW1wcm92ZW1lbnRzLiBUaGUgcGx1Z2luIGhhcyBiZWVuIHJld3JpdHRlbiBmcm9tIHNjcmF0Y2ggdG8gbWFrZSBpdCBlYXNpZXIgdG8gc3F1YXNoIGJ1Z3MgYW5kIGFkZCBuZXcgZmVhdHVyZXMuIFNvbWUgZXhpc3RpbmcgZmVhdHVyZXMgd2lsbCBhbHNvIGJlIHJlbW92ZWQuIFRoaXMgaXMgYSB3YXJuaW5nIGZvciBhbGwgQnV0dG9ucyB1c2VycyB0byBwcmVwYXJlIGZvciB3aGF0IG1heSBicmVhayB5b3VyIGJ1dHRvbnMuXG5cbiMjIEJyZWFraW5nIENoYW5nZXNcbi0gQ2FsY3VsYXRlIGJ1dHRvbnMgYXJlIGRlcHJlY2F0ZWQ6IHVzZSB0ZW1wbGF0ZSBidXR0b25zIGFuZCAgVGVtcGxhdGVyIHRvIGRvIGNhbGN1bGF0aW9uc1xuLSBUZXh0IGJ1dHRvbnMgYXJlIGRlcHJlY2F0ZWQ6IHVzZSB0ZW1wbGF0ZSBidXR0b25zIHRvIGFkZCB0ZXh0XG4tIENvcmUgVGVtcGxhdGVzIHBsdWdpbiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLiBVc2UgVGVtcGxhdGVyLlxuLSBCdXR0b24gSW5oZXJpdGFuY2UgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCAodGhpcyBkb2Vzbid0IGluY2x1ZGUgaW5saW5lIGJ1dHRvbnMsIHdoaWNoIHdpbGwgbm93IHdvcmsgaW4gTGl2ZSBQcmV2aWV3KS5cbi0gQWxsIEJ1dHRvbnMgbm93IHJ1biBUZW1wbGF0ZXIsIG5vIG5lZWQgdG8gYWRkIHRlbXBsYXRlciB0cnVlXG5cbklmIHlvdSByZWFkIHRoYXQgbGlzdCBhbmQgYXJlIGxpa2UgX1wiSG9sIFVwISBJIG5lZWQgYWxsIHRob3NlIGZlYXR1cmVzXCJfLiBJIHdpbGwgYmUgZm9ya2luZyB0aGUgZXhpc3RpbmcgQnV0dG9ucyBwbHVnaW4gd2hpY2ggY2FuIGJlIG1hbnVhbGx5IGluc3RhbGxlZCwgYnV0IHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZC5cblxuIyMgQnV0dG9ucyAxLjAgRmVhdHVyZXNcblRoZSBiaWdnZXN0IGNoYW5nZSBpcyBhIG11Y2ggbW9yZSByZWxpYWJsZSBhbmQgc2FmZSBwbHVnaW4gdGhhdCBzaG91bGQgYmUgZWFzaWVyIHRvIGJ1Z2ZpeCBhbmQgYnVpbGQgbmV3IGZlYXR1cmVzIGZvci4gVGhlcmUgYXJlIGEgZmV3IG5pY2UgaW1wcm92ZW1lbnRzIHRoYXQgd2lsbCBjb21lIHdpdGggaXQ6XG4tIFRlbXBsYXRlciBwcm9jZXNzaW5nIGlzIGdyZWF0bHkgaW1wcm92ZWQuXG4tIE5ldyBub3RlIHRlbXBsYXRlcyBjYW4gYmUgb3BlbmVkIGluIHRhYnMvd2luZG93cy9zcGxpdHMvbm90IGF0IGFsbFxuLSBCdXR0b24gTWFrZXIgY29tbWFuZCBpcyByZXdyaXR0ZW4gd2l0aCBhIGNsZWFuZXIgVVhcbi0gSW5saW5lIGJ1dHRvbnMgd29yayBpbiBMaXZlIFByZXZpZXdcbi0gQnV0dG9uIEJsb2NrIElEcyBhcmUgaGlkZGVuIHVubGVzcyB0aGUgY3Vyc29yIGlzIG9uIHRoZSBsaW5lXG4tIFN3YXAgYnV0dG9ucyB3aWxsIHJlbWVtYmVyIHRoZWlyIHN0YXRlIHdoZW4gbGVhdmluZyBhbmQgcmV0dXJuaW5nIHRvIHRoZSBub3RlcyB0aGV5IGFyZSBpblxuLSBBIG5ldyBkb2N1bWVudGF0aW9uIHNpdGUgd2l0aCBlYXNpZXIgdG8gcmVhZCBkb2NzXG4tIEEgYm9hdGxvYWQgb2YgYnVnZml4ZXNcblxuIyMgV2hlbiBjYW4gSSBnZXQgaXQ/XG5JdCdzIGNvbWluZyBzb29uISBJIHdhbnQgdG8gcmVsZWFzZSBpdCBhcyBwYXJ0IG9mIE9ic2lkaWFuIE9jdG9iZXIgYW5kIGFtIGluIHRoZSBmaW5hbCAyMCUgb2Ygd29yay4gVGhhdCBzYWlkLCBJIHdpbGwgcmVsZWFzZSB3aGVuIEknbSBjb25maWRlbnQgSSB3b24ndCB0b3RhbGx5IEZVQkFSIHlvdXIgYnV0dG9ucy5cblxuWW91cnMgaW4gQnV0dG9ucyxcblxuc2hhYmVnb21cbmA7XG5cbmNvbnN0IGRlbGV0ZUlmRXhpc3RzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBmaWxlID0gYXdhaXQgYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChcbiAgICBcIi9CdXR0b25zIDEuMCBpcyBDb21pbmcubWRcIlxuICApO1xuICBpZiAoZmlsZSkge1xuICAgIGF3YWl0IGFwcC52YXVsdC5kZWxldGUoZmlsZSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVXYXJuaW5nID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBzaG93UmVsZWFzZU5vdGVzID0gY2hlY2tWZXJzaW9uKCk7XG4gIGlmIChzaG93UmVsZWFzZU5vdGVzKSB7XG4gICAgZGVsZXRlSWZFeGlzdHMoKTtcbiAgICBjb25zdCByZWxlYXNlTm90ZXMgPSBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKFxuICAgICAgXCJCdXR0b25zIDEuMCBpcyBDb21pbmcubWRcIixcbiAgICAgIHJlbGVhc2VOb3RlXG4gICAgKTtcbiAgICBhcHAud29ya3NwYWNlXG4gICAgICAuZ2V0TGVhZih0cnVlKVxuICAgICAgLm9wZW5GaWxlKHJlbGVhc2VOb3RlcywgeyBzdGF0ZTogeyBtb2RlOiBcInByZXZpZXdcIiB9IH0pO1xuICAgIHNhdmVWZXJzaW9uKCk7XG4gICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGVhclJlbGVhc2VOb3RlcyA9IGFwcC53b3Jrc3BhY2Uub24oXCJsYXlvdXQtY2hhbmdlXCIsIGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgYXBwLnZhdWx0LmRlbGV0ZShyZWxlYXNlTm90ZXMpO1xuICAgICAgICBhcHAud29ya3NwYWNlLm9mZnJlZihjbGVhclJlbGVhc2VOb3Rlcyk7XG4gICAgICB9KTtcbiAgICB9LCAxMDAwKTtcbiAgfVxufTtcbiIsImltcG9ydCB7XG4gIEFwcCxcbiAgRXZlbnRSZWYsXG4gIEV2ZW50cyxcbiAgTWFya2Rvd25SZW5kZXJDaGlsZCxcbiAgTWFya2Rvd25WaWV3LFxuICBQbHVnaW4sXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgY3JlYXRlQXJndW1lbnRPYmplY3QgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHtcbiAgYWRkQnV0dG9uVG9TdG9yZSxcbiAgZ2V0QnV0dG9uQnlJZCxcbiAgZ2V0QnV0dG9uRnJvbVN0b3JlLFxuICBnZXRTdG9yZSxcbiAgaW5pdGlhbGl6ZUJ1dHRvblN0b3JlLFxufSBmcm9tIFwiLi9idXR0b25TdG9yZVwiO1xuaW1wb3J0IHsgYnV0dG9uRXZlbnRMaXN0ZW5lciwgb3BlbkZpbGVMaXN0ZW5lciB9IGZyb20gXCIuL2V2ZW50c1wiO1xuaW1wb3J0IHsgQXJndW1lbnRzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IEJ1dHRvbk1vZGFsLCBJbmxpbmVCdXR0b25Nb2RhbCB9IGZyb20gXCIuL21vZGFsXCI7XG5pbXBvcnQgeyBCdXR0b24sIGNyZWF0ZUJ1dHRvbiB9IGZyb20gXCIuL2J1dHRvblwiO1xuaW1wb3J0IHsgdXBkYXRlV2FybmluZyB9IGZyb20gXCIuL3ZlcnNpb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnV0dG9uc1BsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG4gIHByaXZhdGUgYnV0dG9uRXZlbnRzOiBFdmVudFJlZjtcbiAgcHJpdmF0ZSBjbG9zZWRGaWxlOiBFdmVudFJlZjtcbiAgcHJpdmF0ZSBidXR0b25FZGl0OiBFdmVudFJlZjtcbiAgcHJpdmF0ZSBjcmVhdGVCdXR0b246IEJ1dHRvbjtcbiAgcHJpdmF0ZSBzdG9yZUV2ZW50cyA9IG5ldyBFdmVudHMoKTtcbiAgcHJpdmF0ZSBpbmRleENvdW50ID0gMDtcbiAgcHJpdmF0ZSBzdG9yZUV2ZW50c1JlZjogRXZlbnRSZWY7XG5cbiAgcHJpdmF0ZSBhc3luYyBhZGRCdXR0b25JbkVkaXQoYXBwOiBBcHApIHtcbiAgICBsZXQgd2lkZ2V0OiBDb2RlTWlycm9yLkxpbmVXaWRnZXQ7XG4gICAgaWYgKHdpZGdldCkge1xuICAgICAgd2lkZ2V0LmNsZWFyKCk7XG4gICAgfVxuICAgIGNvbnN0IGFjdGl2ZVZpZXcgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgICBpZiAoYWN0aXZlVmlldykge1xuICAgICAgY29uc3Qgc3RvcmUgPSBnZXRTdG9yZShhcHAuaXNNb2JpbGUpO1xuICAgICAgY29uc3QgYnV0dG9uc0luRmlsZSA9IHN0b3JlLmZpbHRlcihcbiAgICAgICAgKGJ1dHRvbikgPT4gYnV0dG9uLnBhdGggPT09IGFjdGl2ZVZpZXcuZmlsZS5wYXRoXG4gICAgICApO1xuICAgICAgdGhpcy5yZWdpc3RlckNvZGVNaXJyb3IoKGNtOiBDb2RlTWlycm9yLkVkaXRvcikgPT4ge1xuICAgICAgICBidXR0b25zSW5GaWxlLmZvckVhY2goYXN5bmMgKGJ1dHRvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHdpZGdldEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgICBjb25zdCBzdG9yZUJ1dHRvbiA9IGF3YWl0IGdldEJ1dHRvbkZyb21TdG9yZShhcHAsIHtcbiAgICAgICAgICAgIGlkOiBidXR0b24uaWQuc3BsaXQoXCItXCIpWzFdLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFhcHAuaXNNb2JpbGUgJiZcbiAgICAgICAgICAgIHN0b3JlQnV0dG9uICYmXG4gICAgICAgICAgICBzdG9yZUJ1dHRvbj8uYXJncy5lZGl0dmlldyA9PT0gXCJ0cnVlXCJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHdpZGdldCA9IGNtLmFkZExpbmVXaWRnZXQoXG4gICAgICAgICAgICAgIGJ1dHRvbi5wb3NpdGlvbi5lbmQubGluZSArIDEsXG4gICAgICAgICAgICAgIGNyZWF0ZUJ1dHRvbih7XG4gICAgICAgICAgICAgICAgYXBwLFxuICAgICAgICAgICAgICAgIGVsOiB3aWRnZXRFbCxcbiAgICAgICAgICAgICAgICBhcmdzOiBzdG9yZUJ1dHRvbi5hcmdzLFxuICAgICAgICAgICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgaWQ6IGJ1dHRvbi5pZCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdXBkYXRlV2FybmluZygpO1xuICAgIH0pO1xuICAgIHRoaXMuYnV0dG9uRXZlbnRzID0gYnV0dG9uRXZlbnRMaXN0ZW5lcih0aGlzLmFwcCwgYWRkQnV0dG9uVG9TdG9yZSk7XG4gICAgdGhpcy5jbG9zZWRGaWxlID0gb3BlbkZpbGVMaXN0ZW5lcihcbiAgICAgIHRoaXMuYXBwLFxuICAgICAgdGhpcy5zdG9yZUV2ZW50cyxcbiAgICAgIGluaXRpYWxpemVCdXR0b25TdG9yZVxuICAgICk7XG4gICAgdGhpcy5jcmVhdGVCdXR0b24gPSBjcmVhdGVCdXR0b24gYXMgQnV0dG9uO1xuICAgIHRoaXMuc3RvcmVFdmVudHNSZWYgPSB0aGlzLnN0b3JlRXZlbnRzLm9uKFwiaW5kZXgtY29tcGxldGVcIiwgKCkgPT4ge1xuICAgICAgdGhpcy5pbmRleENvdW50Kys7XG4gICAgfSk7XG4gICAgaW5pdGlhbGl6ZUJ1dHRvblN0b3JlKHRoaXMuYXBwLCB0aGlzLnN0b3JlRXZlbnRzKTtcblxuICAgIHRoaXMuYnV0dG9uRWRpdCA9IG9wZW5GaWxlTGlzdGVuZXIoXG4gICAgICB0aGlzLmFwcCxcbiAgICAgIHRoaXMuc3RvcmVFdmVudHMsXG4gICAgICB0aGlzLmFkZEJ1dHRvbkluRWRpdC5iaW5kKHRoaXMpXG4gICAgKTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogXCJidXR0b24tbWFrZXJcIixcbiAgICAgIG5hbWU6IFwiQnV0dG9uIE1ha2VyXCIsXG4gICAgICBjYWxsYmFjazogKCkgPT4gbmV3IEJ1dHRvbk1vZGFsKHRoaXMuYXBwKS5vcGVuKCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwiaW5saW5lLWJ1dHRvblwiLFxuICAgICAgbmFtZTogXCJJbnNlcnQgSW5saW5lIEJ1dHRvblwiLFxuICAgICAgY2FsbGJhY2s6ICgpID0+IG5ldyBJbmxpbmVCdXR0b25Nb2RhbCh0aGlzLmFwcCkub3BlbigpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5yZWdpc3Rlck1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yKFxuICAgICAgXCJidXR0b25cIixcbiAgICAgIGFzeW5jIChzb3VyY2UsIGVsLCBjdHgpID0+IHtcbiAgICAgICAgLy8gY3JlYXRlIGFuIG9iamVjdCBvdXQgb2YgdGhlIGFyZ3VtZW50c1xuICAgICAgICBjb25zdCBmaWxlID0gdGhpcy5hcHAudmF1bHRcbiAgICAgICAgICAuZ2V0RmlsZXMoKVxuICAgICAgICAgIC5maW5kKChmKSA9PiBmLnBhdGggPT09IGN0eC5zb3VyY2VQYXRoKTtcbiAgICAgICAgYWRkQnV0dG9uVG9TdG9yZSh0aGlzLmFwcCwgZmlsZSk7XG4gICAgICAgIGxldCBhcmdzID0gY3JlYXRlQXJndW1lbnRPYmplY3Qoc291cmNlKTtcbiAgICAgICAgY29uc3Qgc3RvcmVBcmdzID0gYXdhaXQgZ2V0QnV0dG9uRnJvbVN0b3JlKHRoaXMuYXBwLCBhcmdzKTtcbiAgICAgICAgYXJncyA9IHN0b3JlQXJncyA/IHN0b3JlQXJncy5hcmdzIDogYXJncztcbiAgICAgICAgY29uc3QgaWQgPSBzdG9yZUFyZ3MgJiYgc3RvcmVBcmdzLmlkO1xuICAgICAgICBjcmVhdGVCdXR0b24oeyBhcHA6IHRoaXMuYXBwLCBlbCwgYXJncywgaW5saW5lOiBmYWxzZSwgaWQgfSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0ZXJNYXJrZG93blBvc3RQcm9jZXNzb3IoYXN5bmMgKGVsLCBjdHgpID0+IHtcbiAgICAgIC8vIFNlYXJjaCBmb3IgPGNvZGU+IGJsb2NrcyBpbnNpZGUgdGhpcyBlbGVtZW50OyBmb3IgZWFjaCBvbmUsIGxvb2sgZm9yIHRoaW5ncyBvZiB0aGUgZm9ybSBgXG4gICAgICBjb25zdCBjb2RlYmxvY2tzID0gZWwucXVlcnlTZWxlY3RvckFsbChcImNvZGVcIik7XG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29kZWJsb2Nrcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgY29kZWJsb2NrID0gY29kZWJsb2Nrcy5pdGVtKGluZGV4KTtcbiAgICAgICAgY29uc3QgdGV4dCA9IGNvZGVibG9jay5pbm5lclRleHQudHJpbSgpO1xuICAgICAgICBpZiAodGV4dC5zdGFydHNXaXRoKFwiYnV0dG9uXCIpKSB7XG4gICAgICAgICAgY29uc3QgaWQgPSB0ZXh0LnNwbGl0KFwiYnV0dG9uLVwiKVsxXS50cmltKCk7XG4gICAgICAgICAgaWYgKHRoaXMuaW5kZXhDb3VudCA8IDIpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmVFdmVudHNSZWYgPSB0aGlzLnN0b3JlRXZlbnRzLm9uKFxuICAgICAgICAgICAgICBcImluZGV4LWNvbXBsZXRlXCIsXG4gICAgICAgICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluZGV4Q291bnQrKztcbiAgICAgICAgICAgICAgICBjb25zdCBhcmdzID0gYXdhaXQgZ2V0QnV0dG9uQnlJZCh0aGlzLmFwcCwgaWQpO1xuICAgICAgICAgICAgICAgIGlmIChhcmdzKSB7XG4gICAgICAgICAgICAgICAgICBjdHguYWRkQ2hpbGQobmV3IElubGluZUJ1dHRvbihjb2RlYmxvY2ssIHRoaXMuYXBwLCBhcmdzLCBpZCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYXJncyA9IGF3YWl0IGdldEJ1dHRvbkJ5SWQodGhpcy5hcHAsIGlkKTtcbiAgICAgICAgICAgIGlmIChhcmdzKSB7XG4gICAgICAgICAgICAgIGN0eC5hZGRDaGlsZChuZXcgSW5saW5lQnV0dG9uKGNvZGVibG9jaywgdGhpcy5hcHAsIGFyZ3MsIGlkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgb251bmxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5hcHAubWV0YWRhdGFDYWNoZS5vZmZyZWYodGhpcy5idXR0b25FdmVudHMpO1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vZmZyZWYodGhpcy5jbG9zZWRGaWxlKTtcbiAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub2ZmcmVmKHRoaXMuYnV0dG9uRWRpdCk7XG4gICAgdGhpcy5zdG9yZUV2ZW50cy5vZmZyZWYodGhpcy5zdG9yZUV2ZW50c1JlZik7XG4gIH1cbn1cblxuY2xhc3MgSW5saW5lQnV0dG9uIGV4dGVuZHMgTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogSFRNTEVsZW1lbnQsXG4gICAgcHVibGljIGFwcDogQXBwLFxuICAgIHB1YmxpYyBhcmdzOiBBcmd1bWVudHMsXG4gICAgcHVibGljIGlkOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoZWwpO1xuICB9XG4gIGFzeW5jIG9ubG9hZCgpIHtcbiAgICBjb25zdCBidXR0b24gPSBjcmVhdGVCdXR0b24oe1xuICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgIGVsOiB0aGlzLmVsLFxuICAgICAgYXJnczogdGhpcy5hcmdzLFxuICAgICAgaW5saW5lOiB0cnVlLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgfSk7XG4gICAgdGhpcy5lbC5yZXBsYWNlV2l0aChidXR0b24pO1xuICB9XG59XG4iXSwibmFtZXMiOlsiTWFya2Rvd25WaWV3IiwiTm90aWNlIiwiTWV4cCIsIm1leHAiLCJlZmZlY3QiLCJtaW4iLCJtYXgiLCJtYXRoTWF4IiwibWF0aE1pbiIsImhhc2giLCJhbGxQbGFjZW1lbnRzIiwicGxhY2VtZW50cyIsInBvcHBlck9mZnNldHMiLCJjb21wdXRlU3R5bGVzIiwiYXBwbHlTdHlsZXMiLCJvZmZzZXQiLCJmbGlwIiwicHJldmVudE92ZXJmbG93IiwiYXJyb3ciLCJoaWRlIiwiU2NvcGUiLCJURmlsZSIsIk1vZGFsIiwiU2V0dGluZyIsIlBsdWdpbiIsIkV2ZW50cyIsIk1hcmtkb3duUmVuZGVyQ2hpbGQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUlBLElBQUksV0FBaUMsQ0FBQztBQUUvQixNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQWlCLEtBQ3hDLFFBQVEsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFFaEUsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEdBQVEsRUFBRSxXQUFtQjtJQUNqRSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsS0FBSztTQUNwQixHQUFHLENBQUMsQ0FBQyxJQUFJO1FBQ1IsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFB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N0UsR0FBRztBQUNILEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFO0FBQ3JCLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0UsR0FBRztBQUNILEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFO0FBQ3RCLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0MsR0FBRztBQUNILEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFO0FBQ3RCLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0MsR0FBRztBQUNILEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFO0FBQ3RCLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdEMsR0FBRztBQUNILEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUNyQixJQUFJLElBQUksR0FBRyxHQUFHLEVBQUM7QUFDZixJQUFJLElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFDO0FBQ3JCLElBQUksSUFBSSxNQUFNLEdBQUcsRUFBQztBQUNsQixJQUFJLElBQUksTUFBTSxHQUFHLEtBQUssRUFBRTtBQUN4QixNQUFNLE1BQU0sR0FBRyxNQUFLO0FBQ3BCLE1BQU0sS0FBSyxHQUFHLEVBQUM7QUFDZixLQUFLO0FBQ0wsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFH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R0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN0QyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFHO0FBQ2YsRUFBRTtBQUNGLENBQUMsT0FBTyxHQUFHO0FBQ1gsQ0FBQztBQUNELElBQUksTUFBTSxHQUFHO0FBQ2IsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUUsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDN0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDN0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDN0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7QUFDcEQsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7QUFDeEQsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7QUFDeEQsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFO0FBQ3ZELENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUVBLGFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO0FBQ2hFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUVBLGFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO0FBQ2hFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUVBLGFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO0FBQ2hFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQy9DLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQy9DLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQy9DLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUMxRCxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUNoRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUNuRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDdkQsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ3JELENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtBQUMzRCxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNoRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUMxRCxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUNoRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUNuRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUMvRCxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUMvRCxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUNoRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUNuRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUM5RCxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUN6RCxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUN6RCxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUNoRCxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUN0RSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUNoRCxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtBQUM3RCxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFO0FBQzlFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUVBLGFBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ3pELEVBQUM7QUFDRCxJQUFJLE1BQU0sR0FBRztBQUNiLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDTixDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDTCxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDTCxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ04sQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNOLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDTCxDQUFDLEVBQUUsRUFBRSxFQUFFO0FBQ1AsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNOLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ04sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxFQUFFLEVBQUUsRUFBRTtBQUNQLEVBQUM7QUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN4QyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7QUFDOUMsQ0FBQztBQUNELElBQUksS0FBSyxHQUFHO0FBQ1osQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxFQUFDO0FBQ0QsSUFBSSxLQUFLLEdBQUc7QUFDWixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxFQUFDO0FBQ0QsSUFBSSxhQUFhLEdBQUc7QUFDcEIsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULEVBQUM7QUFDRCxJQUFJLEtBQUssR0FBRyxHQUFFO0FBQ2QsSUFBSSxhQUFhLEdBQUc7QUFDcEIsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsRUFBQztBQUNELElBQUksS0FBSyxHQUFHO0FBQ1osQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLEVBQUM7QUFDRCxJQUFJLEtBQUssR0FBRztBQUNaLENBQUMsRUFBRTtBQUNILENBQUM7QUFDRCxFQUFFLEdBQUc7QUFDTCxFQUFFLEdBQUc7QUFDTCxFQUFFLEdB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QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO0FBQ3BFLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7QUFDeEIsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLEdBQUc7QUFDSCxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDOUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLEdBQUc7QUFDSCxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDOUIsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFO0FBQzdDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QixJQUFJO0FBQ0osR0FBRztBQUNILE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtBQUMvQixHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDN0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RCLElBQUk7QUFDSixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxD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TyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO0FBQzVELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUM7QUFDOUMsSUFBSSxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQztBQUNyRixHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtBQUNoQyxHQUFHLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO0FBQzVELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUM7QUFDOUMsSUFBSSxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQztBQUNyRixHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtBQUNoQyxHQUFHLElBQUksTUFBTSxHQUFHLEdBQUU7QUFDbEIsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3RELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFDO0FBQ2xDLElBQUk7QUFDSixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBQztBQUMvRSxHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtBQUNqQyxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFFO0FBQ3JCLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLEdBQUU7QUFDckIsR0FBRyxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7QUFDekMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDO0FBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDO0FBQzNCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7QUFDcEIsSUFBSSxNQUFNLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtBQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDO0FBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUM7QUFDckIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQztBQUNwQixJQUFJLE1BQU07QUFDVixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUM7QUFDeEUsSUFBSTtBQUNKLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO0FBQ3JELEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLEdBQUU7QUFDckIsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRTtBQUNyQixHQUFHLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtBQUN6QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQztBQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDO0FBQ3JCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7QUFDcEIsSUFBSSxNQUFNLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtBQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDO0FBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUM7QUFDckIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQztBQUNwQixJQUFJLE1BQU07QUFDVixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUM7QUFDeEUsSUFBSTtBQUNKLEdBQUcs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QyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzlCLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0QyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLEdBQUc7QUFDSCxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7QUFDM0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekMsR0FBRztBQUNILE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUMxQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hJLEdBQUc7QUFDSCxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDMUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEosR0FBRztBQUNILE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUMzQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ25CLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxSSxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNySCxHQUFHO0FBQ0gsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNuQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakssR0FBRztBQUNILE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMs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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsic3JjL2J1dHRvblN0b3JlLnRzIiwic3JjL3V0aWxzLnRzIiwic3JjL2V2ZW50cy50cyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9tYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yQDEuNC4wL25vZGVfbW9kdWxlcy9tYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yL3NyYy9tYXRoX2Z1bmN0aW9uLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3JAMS40LjAvbm9kZV9tb2R1bGVzL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3Ivc3JjL2xleGVyLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3JAMS40LjAvbm9kZV9tb2R1bGVzL21hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3Ivc3JjL3Bvc3RmaXguanMiLCJub2RlX21vZHVsZXMvLnBucG0vbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvckAxLjQuMC9ub2RlX21vZHVsZXMvbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvci9zcmMvcG9zdGZpeF9ldmFsdWF0b3IuanMiLCJub2RlX21vZHVsZXMvLnBucG0vbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvckAxLjQuMC9ub2RlX21vZHVsZXMvbWF0aC1leHByZXNzaW9uLWV2YWx1YXRvci9zcmMvZm9ybXVsYV9ldmFsdWF0b3IuanMiLCJzcmMvaGFuZGxlcnMudHMiLCJzcmMvcGFyc2VyLnRzIiwic3JjL2J1dHRvblR5cGVzLnRzIiwic3JjL2J1dHRvbi50cyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9lbnVtcy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Tm9kZU5hbWUuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvdy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvYXBwbHlTdHlsZXMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9tYXRoLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3VzZXJBZ2VudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaXNMYXlvdXRWaWV3cG9ydC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9jb250YWlucy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Q29tcHV0ZWRTdHlsZS5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaXNUYWJsZUVsZW1lbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0UGFyZW50Tm9kZS5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy93aXRoaW4uanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0RnJlc2hTaWRlT2JqZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21lcmdlUGFkZGluZ09iamVjdC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9leHBhbmRUb0hhc2hNYXAuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2Fycm93LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldFZhcmlhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvY29tcHV0ZVN0eWxlcy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZXZlbnRMaXN0ZW5lcnMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0T3Bwb3NpdGVQbGFjZW1lbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvd1Njcm9sbC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0V2luZG93U2Nyb2xsQmFyWC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Vmlld3BvcnRSZWN0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXREb2N1bWVudFJlY3QuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2lzU2Nyb2xsUGFyZW50LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRTY3JvbGxQYXJlbnQuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2xpc3RTY3JvbGxQYXJlbnRzLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldENsaXBwaW5nUmVjdC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlT2Zmc2V0cy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9kZXRlY3RPdmVyZmxvdy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlQXV0b1BsYWNlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZmxpcC5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvaGlkZS5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvb2Zmc2V0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldEFsdEF4aXMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL3ByZXZlbnRPdmVyZmxvdy5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0SFRNTEVsZW1lbnRTY3JvbGwuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldE5vZGVTY3JvbGwuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldENvbXBvc2l0ZVJlY3QuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvb3JkZXJNb2RpZmllcnMuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZGVib3VuY2UuanMiLCJub2RlX21vZHVsZXMvLnBucG0vQHBvcHBlcmpzK2NvcmVAMi4xMS42L25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZm9ybWF0LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3ZhbGlkYXRlTW9kaWZpZXJzLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3VuaXF1ZUJ5LmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21lcmdlQnlOYW1lLmpzIiwibm9kZV9tb2R1bGVzLy5wbnBtL0Bwb3BwZXJqcytjb3JlQDIuMTEuNi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2NyZWF0ZVBvcHBlci5qcyIsIm5vZGVfbW9kdWxlcy8ucG5wbS9AcG9wcGVyanMrY29yZUAyLjExLjYvbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9wb3BwZXIuanMiLCJzcmMvc3VnZ2VzdC50cyIsInNyYy9tb2RhbC50cyIsInNyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHAsIFRGaWxlLCBDYWNoZWRNZXRhZGF0YSwgRXZlbnRzIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBFeHRlbmRlZEJsb2NrQ2FjaGUsIEFyZ3VtZW50cyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVBcmd1bWVudE9iamVjdCB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmxldCBidXR0b25TdG9yZTogRXh0ZW5kZWRCbG9ja0NhY2hlW107XG5cbmV4cG9ydCBjb25zdCBnZXRTdG9yZSA9IChpc01vYmlsZTogYm9vbGVhbik6IEV4dGVuZGVkQmxvY2tDYWNoZVtdID0+XG4gIGlzTW9iaWxlID8gYnV0dG9uU3RvcmUgOiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnV0dG9uc1wiKSk7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplQnV0dG9uU3RvcmUgPSAoYXBwOiBBcHAsIHN0b3JlRXZlbnRzOiBFdmVudHMpOiB2b2lkID0+IHtcbiAgY29uc3QgZmlsZXMgPSBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpO1xuICBjb25zdCBibG9ja3NBcnIgPSBmaWxlc1xuICAgIC5tYXAoKGZpbGUpID0+IHtcbiAgICAgIGNvbnN0IGNhY2hlID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUNhY2hlKGZpbGUpO1xuICAgICAgcmV0dXJuIGJ1aWxkQnV0dG9uQXJyYXkoY2FjaGUsIGZpbGUpO1xuICAgIH0pXG4gICAgLmZpbHRlcigoYXJyKSA9PiBhcnIgIT09IHVuZGVmaW5lZClcbiAgICAuZmxhdCgpO1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImJ1dHRvbnNcIiwgSlNPTi5zdHJpbmdpZnkoYmxvY2tzQXJyKSk7XG4gIGJ1dHRvblN0b3JlID0gYmxvY2tzQXJyO1xuICBzdG9yZUV2ZW50cy50cmlnZ2VyKCdpbmRleC1jb21wbGV0ZScpXG59O1xuXG5leHBvcnQgY29uc3QgYWRkQnV0dG9uVG9TdG9yZSA9IChhcHA6IEFwcCwgZmlsZTogVEZpbGUpOiB2b2lkID0+IHtcbiAgY29uc3QgY2FjaGUgPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSk7XG4gIGNvbnN0IGJ1dHRvbnMgPSBidWlsZEJ1dHRvbkFycmF5KGNhY2hlLCBmaWxlKTtcbiAgY29uc3Qgc3RvcmUgPSBnZXRTdG9yZShhcHAuaXNNb2JpbGUpO1xuICBjb25zdCBuZXdTdG9yZSA9XG4gICAgYnV0dG9ucyAmJiBzdG9yZVxuICAgICAgPyByZW1vdmVEdXBsaWNhdGVzKFsuLi5idXR0b25zLCAuLi5zdG9yZV0pXG4gICAgICA6IHN0b3JlXG4gICAgICA/IHJlbW92ZUR1cGxpY2F0ZXMoc3RvcmUpXG4gICAgICA6IGJ1dHRvbnNcbiAgICAgID8gcmVtb3ZlRHVwbGljYXRlcyhidXR0b25zKVxuICAgICAgOiBbXTtcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJidXR0b25zXCIsIEpTT04uc3RyaW5naWZ5KG5ld1N0b3JlKSk7XG4gIGJ1dHRvblN0b3JlID0gbmV3U3RvcmU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QnV0dG9uRnJvbVN0b3JlID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgYXJnczogQXJndW1lbnRzXG4pOiBQcm9taXNlPHsgYXJnczogQXJndW1lbnRzOyBpZDogc3RyaW5nIH0+IHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3Qgc3RvcmUgPSBnZXRTdG9yZShhcHAuaXNNb2JpbGUpO1xuICBhcmdzLmlkO1xuICBpZiAoYXJncy5pZCkge1xuICAgIGNvbnN0IHN0b3JlZEJ1dHRvbiA9XG4gICAgICBzdG9yZSAmJlxuICAgICAgc3RvcmUuZmlsdGVyKFxuICAgICAgICAoaXRlbTogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiBgYnV0dG9uLSR7YXJncy5pZH1gID09PSBpdGVtLmlkXG4gICAgICApWzBdO1xuICAgIGlmIChzdG9yZWRCdXR0b24pIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKHN0b3JlZEJ1dHRvbi5wYXRoKTtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQuY2FjaGVkUmVhZChmaWxlIGFzIFRGaWxlKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRBcnJheSA9IGNvbnRlbnQuc3BsaXQoXCJcXG5cIik7XG4gICAgICBjb25zdCBidXR0b24gPSBjb250ZW50QXJyYXlcbiAgICAgICAgLnNsaWNlKFxuICAgICAgICAgIHN0b3JlZEJ1dHRvbi5wb3NpdGlvbi5zdGFydC5saW5lICsgMSxcbiAgICAgICAgICBzdG9yZWRCdXR0b24ucG9zaXRpb24uZW5kLmxpbmVcbiAgICAgICAgKVxuICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgIGNvbnN0IHN0b3JlZEFyZ3MgPSBjcmVhdGVBcmd1bWVudE9iamVjdChidXR0b24pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJnczogeyAuLi5zdG9yZWRBcmdzLCAuLi5hcmdzIH0sXG4gICAgICAgIGlkOiBzdG9yZWRCdXR0b24uaWQuc3BsaXQoXCJidXR0b24tXCIpWzFdLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRCdXR0b25CeUlkID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgaWQ6IHN0cmluZ1xuKTogUHJvbWlzZTxBcmd1bWVudHM+ID0+IHtcbiAgY29uc3Qgc3RvcmUgPSBnZXRTdG9yZShhcHAuaXNNb2JpbGUpO1xuICBjb25zdCBzdG9yZWRCdXR0b24gPSBzdG9yZS5maWx0ZXIoXG4gICAgKGl0ZW06IEV4dGVuZGVkQmxvY2tDYWNoZSkgPT4gYGJ1dHRvbi0ke2lkfWAgPT09IGl0ZW0uaWRcbiAgKVswXTtcbiAgaWYgKHN0b3JlZEJ1dHRvbikge1xuICAgIGNvbnN0IGZpbGUgPSBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKHN0b3JlZEJ1dHRvbi5wYXRoKTtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LmNhY2hlZFJlYWQoZmlsZSBhcyBURmlsZSk7XG4gICAgY29uc3QgY29udGVudEFycmF5ID0gY29udGVudC5zcGxpdChcIlxcblwiKTtcbiAgICBjb25zdCBidXR0b24gPSBjb250ZW50QXJyYXlcbiAgICAgIC5zbGljZShcbiAgICAgICAgc3RvcmVkQnV0dG9uLnBvc2l0aW9uLnN0YXJ0LmxpbmUgKyAxLFxuICAgICAgICBzdG9yZWRCdXR0b24ucG9zaXRpb24uZW5kLmxpbmVcbiAgICAgIClcbiAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIHJldHVybiBjcmVhdGVBcmd1bWVudE9iamVjdChidXR0b24pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QnV0dG9uU3dhcEJ5SWQgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBpZDogc3RyaW5nXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCBzdG9yZSA9IGdldFN0b3JlKGFwcC5pc01vYmlsZSk7XG4gIGNvbnN0IHN0b3JlZEJ1dHRvbiA9IHN0b3JlLmZpbHRlcihcbiAgICAoaXRlbTogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiBgYnV0dG9uLSR7aWR9YCA9PT0gaXRlbS5pZFxuICApWzBdO1xuICBpZiAoc3RvcmVkQnV0dG9uKSB7XG4gICAgcmV0dXJuIHN0b3JlZEJ1dHRvbi5zd2FwO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0QnV0dG9uU3dhcEJ5SWQgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBpZDogc3RyaW5nLFxuICBuZXdTd2FwOiBudW1iZXJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBzdG9yZSA9IGdldFN0b3JlKGFwcC5pc01vYmlsZSk7XG4gIGNvbnN0IHN0b3JlZEJ1dHRvbiA9IHN0b3JlLmZpbHRlcihcbiAgICAoaXRlbTogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiBgYnV0dG9uLSR7aWR9YCA9PT0gaXRlbS5pZFxuICApWzBdO1xuICBpZiAoc3RvcmVkQnV0dG9uKSB7XG4gICAgc3RvcmVkQnV0dG9uLnN3YXAgPSBuZXdTd2FwO1xuICAgIGNvbnN0IG5ld1N0b3JlID0gcmVtb3ZlRHVwbGljYXRlcyhbLi4uc3RvcmUsIHN0b3JlZEJ1dHRvbl0pO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiYnV0dG9uc1wiLCBKU09OLnN0cmluZ2lmeShuZXdTdG9yZSkpO1xuICAgIGJ1dHRvblN0b3JlID0gbmV3U3RvcmU7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEJ1dHRvbkFycmF5ID0gKFxuICBjYWNoZTogQ2FjaGVkTWV0YWRhdGEsXG4gIGZpbGU6IFRGaWxlXG4pOiBFeHRlbmRlZEJsb2NrQ2FjaGVbXSA9PiB7XG4gIGNvbnN0IGJsb2NrcyA9IGNhY2hlICYmIGNhY2hlLmJsb2NrcztcbiAgaWYgKGJsb2Nrcykge1xuICAgIGNvbnN0IGJsb2NrS2V5cyA9IEFycmF5LmZyb20oT2JqZWN0LmtleXMoYmxvY2tzKSk7XG4gICAgY29uc3QgYmxvY2tBcnJheTogRXh0ZW5kZWRCbG9ja0NhY2hlW10gPSBibG9ja0tleXNcbiAgICAgIC5tYXAoKGtleSkgPT4gYmxvY2tzW2tleV0pXG4gICAgICAubWFwKChvYmo6IEV4dGVuZGVkQmxvY2tDYWNoZSkgPT4ge1xuICAgICAgICBvYmpbXCJwYXRoXCJdID0gZmlsZS5wYXRoO1xuICAgICAgICBvYmpbXCJzd2FwXCJdID0gMDtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChibG9jaykgPT4gYmxvY2suaWQuaW5jbHVkZXMoXCJidXR0b25cIikpO1xuICAgIHJldHVybiBibG9ja0FycmF5O1xuICB9XG59O1xuXG5mdW5jdGlvbiByZW1vdmVEdXBsaWNhdGVzKGFycjogRXh0ZW5kZWRCbG9ja0NhY2hlW10pIHtcbiAgcmV0dXJuIGFyciAmJiBhcnJbMF1cbiAgICA/IGFyci5maWx0ZXIoXG4gICAgICAgICh2LCBpLCBhKSA9PlxuICAgICAgICAgIGEuZmluZEluZGV4KFxuICAgICAgICAgICAgKHQpID0+XG4gICAgICAgICAgICAgIHQuaWQgPT09IHYuaWQgfHxcbiAgICAgICAgICAgICAgKHQucGF0aCA9PT0gdi5wYXRoICYmXG4gICAgICAgICAgICAgICAgdC5wb3NpdGlvbi5zdGFydC5saW5lID09PSB2LnBvc2l0aW9uLnN0YXJ0LmxpbmUgJiZcbiAgICAgICAgICAgICAgICB0LnBvc2l0aW9uLmVuZC5saW5lID09PSB2LnBvc2l0aW9uLmVuZC5saW5lKVxuICAgICAgICAgICkgPT09IGlcbiAgICAgIClcbiAgICA6IGFycjtcbn1cbiIsImltcG9ydCB7IE1hcmtkb3duVmlldywgQXBwLCBOb3RpY2UsIFRGaWxlIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBBcmd1bWVudHMsIFBvc2l0aW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGFkZEJ1dHRvblRvU3RvcmUgfSBmcm9tIFwiLi9idXR0b25TdG9yZVwiO1xuXG5mdW5jdGlvbiBuYW5vaWQobnVtOiBudW1iZXIpIHtcbiAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gIGNvbnN0IGNoYXJhY3RlcnMgPSBcImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OVwiO1xuICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtOyBpKyspIHtcbiAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmludGVyZmFjZSBPdXRwdXRPYmplY3Qge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIHN3YXA6IHN0cmluZztcbiAgcmVtb3ZlOiBzdHJpbmc7XG4gIHJlcGxhY2U6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgdGVtcGxhdGVyOiBib29sZWFuO1xuICBjbGFzczogc3RyaW5nO1xuICBjb2xvcjogc3RyaW5nO1xuICBibG9ja0lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRCdXR0b24gPSAoYXBwOiBBcHAsIG91dHB1dE9iamVjdDogT3V0cHV0T2JqZWN0KTogdm9pZCA9PiB7XG4gIGNvbnN0IGJ1dHRvbkFyciA9IFtdO1xuICBidXR0b25BcnIucHVzaChcImBgYGJ1dHRvblwiKTtcbiAgb3V0cHV0T2JqZWN0Lm5hbWUgJiYgYnV0dG9uQXJyLnB1c2goYG5hbWUgJHtvdXRwdXRPYmplY3QubmFtZX1gKTtcbiAgb3V0cHV0T2JqZWN0LnR5cGUgJiYgYnV0dG9uQXJyLnB1c2goYHR5cGUgJHtvdXRwdXRPYmplY3QudHlwZX1gKTtcbiAgb3V0cHV0T2JqZWN0LmFjdGlvbiAmJiBidXR0b25BcnIucHVzaChgYWN0aW9uICR7b3V0cHV0T2JqZWN0LmFjdGlvbn1gKTtcbiAgb3V0cHV0T2JqZWN0LmlkICYmIGJ1dHRvbkFyci5wdXNoKGBpZCAke291dHB1dE9iamVjdC5pZH1gKTtcbiAgb3V0cHV0T2JqZWN0LnN3YXAgJiYgYnV0dG9uQXJyLnB1c2goYHN3YXAgJHtvdXRwdXRPYmplY3Quc3dhcH1gKTtcbiAgb3V0cHV0T2JqZWN0LnJlbW92ZSAmJiBidXR0b25BcnIucHVzaChgcmVtb3ZlICR7b3V0cHV0T2JqZWN0LnJlbW92ZX1gKTtcbiAgb3V0cHV0T2JqZWN0LnJlcGxhY2UgJiYgYnV0dG9uQXJyLnB1c2goYHJlcGxhY2UgJHtvdXRwdXRPYmplY3QucmVwbGFjZX1gKTtcbiAgb3V0cHV0T2JqZWN0LnRlbXBsYXRlciA9PT0gdHJ1ZSAmJlxuICAgIGJ1dHRvbkFyci5wdXNoKGB0ZW1wbGF0ZXIgJHtvdXRwdXRPYmplY3QudGVtcGxhdGVyfWApO1xuICBvdXRwdXRPYmplY3QuY29sb3IgJiYgYnV0dG9uQXJyLnB1c2goYGNvbG9yICR7b3V0cHV0T2JqZWN0LmNvbG9yfWApO1xuICBvdXRwdXRPYmplY3QuY2xhc3MgJiYgYnV0dG9uQXJyLnB1c2goYGNsYXNzICR7b3V0cHV0T2JqZWN0LmNsYXNzfWApO1xuICBidXR0b25BcnIucHVzaChcImBgYFwiKTtcbiAgb3V0cHV0T2JqZWN0LmJsb2NrSWRcbiAgICA/IGJ1dHRvbkFyci5wdXNoKGBeYnV0dG9uLSR7b3V0cHV0T2JqZWN0LmJsb2NrSWR9YClcbiAgICA6IGJ1dHRvbkFyci5wdXNoKGBeYnV0dG9uLSR7bmFub2lkKDQpfWApO1xuICBjb25zdCBwYWdlID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gIGNvbnN0IGVkaXRvciA9IHBhZ2UuZWRpdG9yO1xuICBlZGl0b3IucmVwbGFjZVNlbGVjdGlvbihidXR0b25BcnIuam9pbihcIlxcblwiKSk7XG4gIGFkZEJ1dHRvblRvU3RvcmUoYXBwLCBwYWdlLmZpbGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydElubGluZUJ1dHRvbiA9IChhcHA6IEFwcCwgaWQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuICBjb25zdCBwYWdlID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gIGNvbnN0IGVkaXRvciA9IHBhZ2UuZWRpdG9yO1xuICBlZGl0b3IucmVwbGFjZVNlbGVjdGlvbihgXFxgYnV0dG9uLSR7aWR9XFxgYCk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQXJndW1lbnRPYmplY3QgPSAoc291cmNlOiBzdHJpbmcpOiBBcmd1bWVudHMgPT5cbiAgc291cmNlLnNwbGl0KFwiXFxuXCIpLnJlZHVjZSgoYWNjOiBBcmd1bWVudHMsIGk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHNwbGl0OiBzdHJpbmdbXSA9IGkuc3BsaXQoXCIgXCIpO1xuICAgIGNvbnN0IGtleTogc3RyaW5nID0gc3BsaXRbMF0udG9Mb3dlckNhc2UoKTtcbiAgICBhY2Nba2V5XSA9IHNwbGl0LmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gc3BsaXRbMF0pLmpvaW4oXCIgXCIpLnRyaW0oKTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZW50QXJyYXkgPSBhc3luYyAoXG4gIGFwcDogQXBwXG4pOiBQcm9taXNlPHsgY29udGVudEFycmF5OiBzdHJpbmdbXTsgZmlsZTogVEZpbGUgfT4gPT4ge1xuICBjb25zdCBhY3RpdmVWaWV3ID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gIGlmIChhY3RpdmVWaWV3KSB7XG4gICAgY29uc3QgZmlsZSA9IGFjdGl2ZVZpZXcuZmlsZTtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoZmlsZSk7XG4gICAgcmV0dXJuIHsgY29udGVudEFycmF5OiBjb250ZW50LnNwbGl0KFwiXFxuXCIpLCBmaWxlIH07XG4gIH1cbiAgbmV3IE5vdGljZShcIkNvdWxkIG5vdCBnZXQgQWN0aXZlIFZpZXdcIiwgMTAwMCk7XG4gIGNvbnNvbGUuZXJyb3IoXCJjb3VsZCBub3QgZ2V0IGFjdGl2ZSB2aWV3XCIpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVZhbHVlQXJyYXkgPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIGNhbGxiYWNrOiAoYXJnQXJyYXk6IHN0cmluZ1tdKSA9PiB2b2lkXG4pOiB2b2lkID0+IHtcbiAgaWYgKHZhbHVlLmluY2x1ZGVzKFwiW1wiKSAmJiB2YWx1ZS5pbmNsdWRlcyhcIl1cIikpIHtcbiAgICBjb25zdCBhcmdzID0gdmFsdWUubWF0Y2goL1xcWyguKilcXF0vKTtcbiAgICBpZiAoYXJnc1sxXSkge1xuICAgICAgY29uc3QgYXJnQXJyYXkgPSBhcmdzWzFdLnNwbGl0KC8sXFxzPy8pO1xuICAgICAgaWYgKGFyZ0FycmF5WzBdKSB7XG4gICAgICAgIGNhbGxiYWNrKGFyZ0FycmF5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXdBcmdzKFxuICBhcHA6IEFwcCxcbiAgcG9zaXRpb246IFBvc2l0aW9uXG4pOiBQcm9taXNlPHsgYXJnczogQXJndW1lbnRzOyBjb250ZW50OiBzdHJpbmcgfT4ge1xuICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZVZpZXcgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHRcbiAgICAgICAgLmNhY2hlZFJlYWQoYWN0aXZlVmlldy5maWxlKVxuICAgICAgICAudGhlbigoY29udGVudDogc3RyaW5nKSA9PiBjb250ZW50LnNwbGl0KFwiXFxuXCIpKTtcbiAgICAgIGNvbnN0IG5ld0J1dHRvbiA9IG5ld0NvbnRlbnRcbiAgICAgICAgLnNwbGljZShwb3NpdGlvbi5saW5lU3RhcnQsIHBvc2l0aW9uLmxpbmVFbmQgLSBwb3NpdGlvbi5saW5lU3RhcnQpXG4gICAgICAgIC5qb2luKFwiXFxuXCIpXG4gICAgICAgIC5yZXBsYWNlKFwiYGBgYnV0dG9uXCIsIFwiXCIpXG4gICAgICAgIC5yZXBsYWNlKFwiYGBgXCIsIFwiXCIpO1xuICAgICAgcmVzb2x2ZSh7IGFyZ3M6IGNyZWF0ZUFyZ3VtZW50T2JqZWN0KG5ld0J1dHRvbikgfSk7XG4gICAgfSwgMTUwKTtcbiAgfSk7XG4gIHJldHVybiBwcm9taXNlIGFzIFByb21pc2U8eyBhcmdzOiBBcmd1bWVudHM7IGNvbnRlbnQ6IHN0cmluZyB9Pjtcbn1cblxuZXhwb3J0IGNvbnN0IHdyYXBBcm91bmQgPSAodmFsdWU6IG51bWJlciwgc2l6ZTogbnVtYmVyKTogbnVtYmVyID0+IHtcbiAgcmV0dXJuICgodmFsdWUgJSBzaXplKSArIHNpemUpICUgc2l6ZTtcbn07XG4iLCJpbXBvcnQgeyBBcHAsIEV2ZW50UmVmLCBURmlsZSwgRXZlbnRzIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmV4cG9ydCBjb25zdCBidXR0b25FdmVudExpc3RlbmVyID0gKFxuICBhcHA6IEFwcCxcbiAgY2FsbGJhY2s6IChhcHA6IEFwcCwgZmlsZTogVEZpbGUpID0+IHZvaWRcbik6IEV2ZW50UmVmID0+IHtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLm9uKFwiY2hhbmdlZFwiLCAoZmlsZTogVEZpbGUpID0+IHtcbiAgICBjYWxsYmFjayhhcHAsIGZpbGUpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTGlzdGVuZXIgPSAoXG4gIGFwcDogQXBwLFxuICBjYWxsYmFjazogKGFwcDogQXBwKSA9PiB2b2lkXG4pOiBFdmVudFJlZiA9PiB7XG4gIHJldHVybiBhcHAubWV0YWRhdGFDYWNoZS5vbihcInJlc29sdmVkXCIsICgpID0+IHtcbiAgICBjYWxsYmFjayhhcHApO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBvcGVuRmlsZUxpc3RlbmVyID0gKFxuICBhcHA6IEFwcCxcbiAgc3RvcmVFdmVudHM6IEV2ZW50cyxcbiAgY2FsbGJhY2s6IChhcHA6IEFwcCwgc3RvcmVFdmVudHM6IEV2ZW50cykgPT4gdm9pZFxuKTogRXZlbnRSZWYgPT4ge1xuICByZXR1cm4gYXBwLndvcmtzcGFjZS5vbihcImZpbGUtb3BlblwiLCAoKSA9PiB7XG4gICAgY2FsbGJhY2soYXBwLCBzdG9yZUV2ZW50cyk7XG4gIH0pO1xufTtcbiIsIlwidXNlIHN0cmljdFwiO1xyXG52YXIgTWV4cCA9IGZ1bmN0aW9uIChwYXJzZWQpIHtcclxuICB0aGlzLnZhbHVlID0gcGFyc2VkXHJcbn1cclxuXHJcbk1leHAubWF0aCA9IHtcclxuICBpc0RlZ3JlZTogdHJ1ZSwgLy8gbW9kZSBvZiBjYWxjdWxhdG9yXHJcbiAgYWNvczogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiAoTWV4cC5tYXRoLmlzRGVncmVlID8gMTgwIC8gTWF0aC5QSSAqIE1hdGguYWNvcyh4KSA6IE1hdGguYWNvcyh4KSlcclxuICB9LFxyXG4gIGFkZDogZnVuY3Rpb24gKGEsIGIpIHtcclxuICAgIHJldHVybiBhICsgYlxyXG4gIH0sXHJcbiAgYXNpbjogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiAoTWV4cC5tYXRoLmlzRGVncmVlID8gMTgwIC8gTWF0aC5QSSAqIE1hdGguYXNpbih4KSA6IE1hdGguYXNpbih4KSlcclxuICB9LFxyXG4gIGF0YW46IGZ1bmN0aW9uICh4KSB7XHJcbiAgICByZXR1cm4gKE1leHAubWF0aC5pc0RlZ3JlZSA/IDE4MCAvIE1hdGguUEkgKiBNYXRoLmF0YW4oeCkgOiBNYXRoLmF0YW4oeCkpXHJcbiAgfSxcclxuICBhY29zaDogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiBNYXRoLmxvZyh4ICsgTWF0aC5zcXJ0KHggKiB4IC0gMSkpXHJcbiAgfSxcclxuICBhc2luaDogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiBNYXRoLmxvZyh4ICsgTWF0aC5zcXJ0KHggKiB4ICsgMSkpXHJcbiAgfSxcclxuICBhdGFuaDogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiBNYXRoLmxvZygoMSArIHgpIC8gKDEgLSB4KSlcclxuICB9LFxyXG4gIEM6IGZ1bmN0aW9uIChuLCByKSB7XHJcbiAgICB2YXIgcHJvID0gMVxyXG4gICAgdmFyIG90aGVyID0gbiAtIHJcclxuICAgIHZhciBjaG9pY2UgPSByXHJcbiAgICBpZiAoY2hvaWNlIDwgb3RoZXIpIHtcclxuICAgICAgY2hvaWNlID0gb3RoZXJcclxuICAgICAgb3RoZXIgPSByXHJcbiAgICB9XHJcbiAgICBmb3IgKHZhciBpID0gY2hvaWNlICsgMTsgaSA8PSBuOyBpKyspIHtcclxuICAgICAgcHJvICo9IGlcclxuICAgIH1cclxuICAgIHJldHVybiBwcm8gLyBNZXhwLm1hdGguZmFjdChvdGhlcilcclxuICB9LFxyXG4gIGNoYW5nZVNpZ246IGZ1bmN0aW9uICh4KSB7XHJcbiAgICByZXR1cm4gLXhcclxuICB9LFxyXG4gIGNvczogZnVuY3Rpb24gKHgpIHtcclxuICAgIGlmIChNZXhwLm1hdGguaXNEZWdyZWUpIHggPSBNZXhwLm1hdGgudG9SYWRpYW4oeClcclxuICAgIHJldHVybiBNYXRoLmNvcyh4KVxyXG4gIH0sXHJcbiAgY29zaDogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiAoTWF0aC5wb3coTWF0aC5FLCB4KSArIE1hdGgucG93KE1hdGguRSwgLTEgKiB4KSkgLyAyXHJcbiAgfSxcclxuICBkaXY6IGZ1bmN0aW9uIChhLCBiKSB7XHJcbiAgICByZXR1cm4gYSAvIGJcclxuICB9LFxyXG4gIGZhY3Q6IGZ1bmN0aW9uIChuKSB7XHJcbiAgICBpZiAobiAlIDEgIT09IDApIHJldHVybiAnTmFOJ1xyXG4gICAgdmFyIHBybyA9IDFcclxuICAgIGZvciAodmFyIGkgPSAyOyBpIDw9IG47IGkrKykge1xyXG4gICAgICBwcm8gKj0gaVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByb1xyXG4gIH0sXHJcbiAgaW52ZXJzZTogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiAxIC8geFxyXG4gIH0sXHJcbiAgbG9nOiBmdW5jdGlvbiAoaSkge1xyXG4gICAgcmV0dXJuIE1hdGgubG9nKGkpIC8gTWF0aC5sb2coMTApXHJcbiAgfSxcclxuICBtb2Q6IGZ1bmN0aW9uIChhLCBiKSB7XHJcbiAgICByZXR1cm4gYSAlIGJcclxuICB9LFxyXG4gIG11bDogZnVuY3Rpb24gKGEsIGIpIHtcclxuICAgIHJldHVybiBhICogYlxyXG4gIH0sXHJcbiAgUDogZnVuY3Rpb24gKG4sIHIpIHtcclxuICAgIHZhciBwcm8gPSAxXHJcbiAgICBmb3IgKHZhciBpID0gTWF0aC5mbG9vcihuKSAtIE1hdGguZmxvb3IocikgKyAxOyBpIDw9IE1hdGguZmxvb3Iobik7IGkrKykge1xyXG4gICAgICBwcm8gKj0gaVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByb1xyXG4gIH0sXHJcbiAgUGk6IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGV4KSB7XHJcbiAgICB2YXIgcHJvID0gMVxyXG4gICAgZm9yICh2YXIgaSA9IGxvdzsgaSA8PSBoaWdoOyBpKyspIHtcclxuICAgICAgcHJvICo9IE51bWJlcihleC5wb3N0Zml4RXZhbCh7XHJcbiAgICAgICAgbjogaVxyXG4gICAgICB9KSlcclxuICAgIH1cclxuICAgIHJldHVybiBwcm9cclxuICB9LFxyXG4gIHBvdzEweDogZnVuY3Rpb24gKGUpIHtcclxuICAgIHZhciB4ID0gMVxyXG4gICAgd2hpbGUgKGUtLSkge1xyXG4gICAgICB4ICo9IDEwXHJcbiAgICB9XHJcbiAgICByZXR1cm4geFxyXG4gIH0sXHJcbiAgc2lnbWE6IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGV4KSB7XHJcbiAgICB2YXIgc3VtID0gMFxyXG4gICAgZm9yICh2YXIgaSA9IGxvdzsgaSA8PSBoaWdoOyBpKyspIHtcclxuICAgICAgc3VtICs9IE51bWJlcihleC5wb3N0Zml4RXZhbCh7XHJcbiAgICAgICAgbjogaVxyXG4gICAgICB9KSlcclxuICAgIH1cclxuICAgIHJldHVybiBzdW1cclxuICB9LFxyXG4gIHNpbjogZnVuY3Rpb24gKHgpIHtcclxuICAgIGlmIChNZXhwLm1hdGguaXNEZWdyZWUpIHggPSBNZXhwLm1hdGgudG9SYWRpYW4oeClcclxuICAgIHJldHVybiBNYXRoLnNpbih4KVxyXG4gIH0sXHJcbiAgc2luaDogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiAoTWF0aC5wb3coTWF0aC5FLCB4KSAtIE1hdGgucG93KE1hdGguRSwgLTEgKiB4KSkgLyAyXHJcbiAgfSxcclxuICBzdWI6IGZ1bmN0aW9uIChhLCBiKSB7XHJcbiAgICByZXR1cm4gYSAtIGJcclxuICB9LFxyXG4gIHRhbjogZnVuY3Rpb24gKHgpIHtcclxuICAgIGlmIChNZXhwLm1hdGguaXNEZWdyZWUpIHggPSBNZXhwLm1hdGgudG9SYWRpYW4oeClcclxuICAgIHJldHVybiBNYXRoLnRhbih4KVxyXG4gIH0sXHJcbiAgdGFuaDogZnVuY3Rpb24gKHgpIHtcclxuICAgIHJldHVybiBNZXhwLnNpbmhhKHgpIC8gTWV4cC5jb3NoYSh4KVxyXG4gIH0sXHJcbiAgdG9SYWRpYW46IGZ1bmN0aW9uICh4KSB7XHJcbiAgICByZXR1cm4geCAqIE1hdGguUEkgLyAxODBcclxuICB9LFxyXG4gIGFuZDogZnVuY3Rpb24gKGEsIGIpIHtcclxuICAgIHJldHVybiBhICYgYlxyXG4gIH1cclxufVxyXG5NZXhwLkV4Y2VwdGlvbiA9IGZ1bmN0aW9uIChtZXNzYWdlKSB7XHJcbiAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZVxyXG59XHJcbm1vZHVsZS5leHBvcnRzID0gTWV4cFxyXG4iLCIndXNlIHN0cmljdCdcclxudmFyIE1leHAgPSByZXF1aXJlKCcuL21hdGhfZnVuY3Rpb24uanMnKVxyXG5mdW5jdGlvbiBpbmMoYXJyLCB2YWwpIHtcclxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xyXG5cdFx0YXJyW2ldICs9IHZhbFxyXG5cdH1cclxuXHRyZXR1cm4gYXJyXHJcbn1cclxudmFyIHRva2VucyA9IFtcclxuXHR7IHRva2VuOiAnc2luJywgc2hvdzogJ3NpbicsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguc2luIH0sXHJcblx0eyB0b2tlbjogJ2NvcycsIHNob3c6ICdjb3MnLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLmNvcyB9LFxyXG5cdHsgdG9rZW46ICd0YW4nLCBzaG93OiAndGFuJywgdHlwZTogMCwgdmFsdWU6IE1leHAubWF0aC50YW4gfSxcclxuXHR7IHRva2VuOiAncGknLCBzaG93OiAnJnBpOycsIHR5cGU6IDMsIHZhbHVlOiAnUEknIH0sXHJcblx0eyB0b2tlbjogJygnLCBzaG93OiAnKCcsIHR5cGU6IDQsIHZhbHVlOiAnKCcgfSxcclxuXHR7IHRva2VuOiAnKScsIHNob3c6ICcpJywgdHlwZTogNSwgdmFsdWU6ICcpJyB9LFxyXG5cdHsgdG9rZW46ICdQJywgc2hvdzogJ1AnLCB0eXBlOiAxMCwgdmFsdWU6IE1leHAubWF0aC5QIH0sXHJcblx0eyB0b2tlbjogJ0MnLCBzaG93OiAnQycsIHR5cGU6IDEwLCB2YWx1ZTogTWV4cC5tYXRoLkMgfSxcclxuXHR7IHRva2VuOiAnICcsIHNob3c6ICcgJywgdHlwZTogMTQsIHZhbHVlOiAnICcuYW5jaG9yIH0sXHJcblx0eyB0b2tlbjogJ2FzaW4nLCBzaG93OiAnYXNpbicsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguYXNpbiB9LFxyXG5cdHsgdG9rZW46ICdhY29zJywgc2hvdzogJ2Fjb3MnLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLmFjb3MgfSxcclxuXHR7IHRva2VuOiAnYXRhbicsIHNob3c6ICdhdGFuJywgdHlwZTogMCwgdmFsdWU6IE1leHAubWF0aC5hdGFuIH0sXHJcblx0eyB0b2tlbjogJzcnLCBzaG93OiAnNycsIHR5cGU6IDEsIHZhbHVlOiAnNycgfSxcclxuXHR7IHRva2VuOiAnOCcsIHNob3c6ICc4JywgdHlwZTogMSwgdmFsdWU6ICc4JyB9LFxyXG5cdHsgdG9rZW46ICc5Jywgc2hvdzogJzknLCB0eXBlOiAxLCB2YWx1ZTogJzknIH0sXHJcblx0eyB0b2tlbjogJ2ludCcsIHNob3c6ICdJbnQnLCB0eXBlOiAwLCB2YWx1ZTogTWF0aC5mbG9vciB9LFxyXG5cdHsgdG9rZW46ICdjb3NoJywgc2hvdzogJ2Nvc2gnLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLmNvc2ggfSxcclxuXHR7IHRva2VuOiAnYWNvc2gnLCBzaG93OiAnYWNvc2gnLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLmFjb3NoIH0sXHJcblx0eyB0b2tlbjogJ2xuJywgc2hvdzogJyBsbicsIHR5cGU6IDAsIHZhbHVlOiBNYXRoLmxvZyB9LFxyXG5cdHsgdG9rZW46ICdeJywgc2hvdzogJ14nLCB0eXBlOiAxMCwgdmFsdWU6IE1hdGgucG93IH0sXHJcblx0eyB0b2tlbjogJ3Jvb3QnLCBzaG93OiAncm9vdCcsIHR5cGU6IDAsIHZhbHVlOiBNYXRoLnNxcnQgfSxcclxuXHR7IHRva2VuOiAnNCcsIHNob3c6ICc0JywgdHlwZTogMSwgdmFsdWU6ICc0JyB9LFxyXG5cdHsgdG9rZW46ICc1Jywgc2hvdzogJzUnLCB0eXBlOiAxLCB2YWx1ZTogJzUnIH0sXHJcblx0eyB0b2tlbjogJzYnLCBzaG93OiAnNicsIHR5cGU6IDEsIHZhbHVlOiAnNicgfSxcclxuXHR7IHRva2VuOiAnLycsIHNob3c6ICcmZGl2aWRlOycsIHR5cGU6IDIsIHZhbHVlOiBNZXhwLm1hdGguZGl2IH0sXHJcblx0eyB0b2tlbjogJyEnLCBzaG93OiAnIScsIHR5cGU6IDcsIHZhbHVlOiBNZXhwLm1hdGguZmFjdCB9LFxyXG5cdHsgdG9rZW46ICd0YW5oJywgc2hvdzogJ3RhbmgnLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLnRhbmggfSxcclxuXHR7IHRva2VuOiAnYXRhbmgnLCBzaG93OiAnYXRhbmgnLCB0eXBlOiAwLCB2YWx1ZTogTWV4cC5tYXRoLmF0YW5oIH0sXHJcblx0eyB0b2tlbjogJ01vZCcsIHNob3c6ICcgTW9kICcsIHR5cGU6IDIsIHZhbHVlOiBNZXhwLm1hdGgubW9kIH0sXHJcblx0eyB0b2tlbjogJzEnLCBzaG93OiAnMScsIHR5cGU6IDEsIHZhbHVlOiAnMScgfSxcclxuXHR7IHRva2VuOiAnMicsIHNob3c6ICcyJywgdHlwZTogMSwgdmFsdWU6ICcyJyB9LFxyXG5cdHsgdG9rZW46ICczJywgc2hvdzogJzMnLCB0eXBlOiAxLCB2YWx1ZTogJzMnIH0sXHJcblx0eyB0b2tlbjogJyonLCBzaG93OiAnJnRpbWVzOycsIHR5cGU6IDIsIHZhbHVlOiBNZXhwLm1hdGgubXVsIH0sXHJcblx0eyB0b2tlbjogJ3NpbmgnLCBzaG93OiAnc2luaCcsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguc2luaCB9LFxyXG5cdHsgdG9rZW46ICdhc2luaCcsIHNob3c6ICdhc2luaCcsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGguYXNpbmggfSxcclxuXHR7IHRva2VuOiAnZScsIHNob3c6ICdlJywgdHlwZTogMywgdmFsdWU6ICdFJyB9LFxyXG5cdHsgdG9rZW46ICdsb2cnLCBzaG93OiAnIGxvZycsIHR5cGU6IDAsIHZhbHVlOiBNZXhwLm1hdGgubG9nIH0sXHJcblx0eyB0b2tlbjogJzAnLCBzaG93OiAnMCcsIHR5cGU6IDEsIHZhbHVlOiAnMCcgfSxcclxuXHR7IHRva2VuOiAnLicsIHNob3c6ICcuJywgdHlwZTogNiwgdmFsdWU6ICcuJyB9LFxyXG5cdHsgdG9rZW46ICcrJywgc2hvdzogJysnLCB0eXBlOiA5LCB2YWx1ZTogTWV4cC5tYXRoLmFkZCB9LFxyXG5cdHsgdG9rZW46ICctJywgc2hvdzogJy0nLCB0eXBlOiA5LCB2YWx1ZTogTWV4cC5tYXRoLnN1YiB9LFxyXG5cdHsgdG9rZW46ICcsJywgc2hvdzogJywnLCB0eXBlOiAxMSwgdmFsdWU6ICcsJyB9LFxyXG5cdHsgdG9rZW46ICdTaWdtYScsIHNob3c6ICcmU2lnbWE7JywgdHlwZTogMTIsIHZhbHVlOiBNZXhwLm1hdGguc2lnbWEgfSxcclxuXHR7IHRva2VuOiAnbicsIHNob3c6ICduJywgdHlwZTogMTMsIHZhbHVlOiAnbicgfSxcclxuXHR7IHRva2VuOiAnUGknLCBzaG93OiAnJlBpOycsIHR5cGU6IDEyLCB2YWx1ZTogTWV4cC5tYXRoLlBpIH0sXHJcblx0eyB0b2tlbjogJ3BvdycsIHNob3c6ICdwb3cnLCB0eXBlOiA4LCB2YWx1ZTogTWF0aC5wb3csIG51bWJlck9mQXJndW1lbnRzOiAyIH0sXHJcblx0eyB0b2tlbjogJyYnLCBzaG93OiAnJicsIHR5cGU6IDksIHZhbHVlOiBNZXhwLm1hdGguYW5kIH0sXHJcbl1cclxudmFyIHByZWNlZCA9IHtcclxuXHQwOiAxMSxcclxuXHQxOiAwLFxyXG5cdDI6IDMsXHJcblx0MzogMCxcclxuXHQ0OiAwLFxyXG5cdDU6IDAsXHJcblx0NjogMCxcclxuXHQ3OiAxMSxcclxuXHQ4OiAxMSxcclxuXHQ5OiAxLFxyXG5cdDEwOiAxMCxcclxuXHQxMTogMCxcclxuXHQxMjogMTEsXHJcblx0MTM6IDAsXHJcblx0MTQ6IC0xLFxyXG5cdDE1OiAxMSwgLy8gd2lsbCBiZSBmaWx0ZXJlZCBhZnRlciBsZXhlclxyXG59IC8vIHN0b3JlcyBwcmVjZWRlbmNlIGJ5IHR5cGVzXHJcbmZvciAodmFyIGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XHJcblx0dG9rZW5zW2ldLnByZWNlZGVuY2UgPSBwcmVjZWRbdG9rZW5zW2ldLnR5cGVdXHJcbn1cclxudmFyIHR5cGUwID0ge1xyXG5cdDA6IHRydWUsXHJcblx0MTogdHJ1ZSxcclxuXHQzOiB0cnVlLFxyXG5cdDQ6IHRydWUsXHJcblx0NjogdHJ1ZSxcclxuXHQ4OiB0cnVlLFxyXG5cdDk6IHRydWUsXHJcblx0MTI6IHRydWUsXHJcblx0MTM6IHRydWUsXHJcblx0MTQ6IHRydWUsXHJcblx0MTU6IHRydWUsXHJcbn0gLy8gdHlwZTI6dHJ1ZSx0eXBlNDp0cnVlLHR5cGU5OnRydWUsdHlwZTExOnRydWUsdHlwZTIxOnRydWUsdHlwZTIyXHJcbnZhciB0eXBlMSA9IHtcclxuXHQwOiB0cnVlLFxyXG5cdDE6IHRydWUsXHJcblx0MjogdHJ1ZSxcclxuXHQzOiB0cnVlLFxyXG5cdDQ6IHRydWUsXHJcblx0NTogdHJ1ZSxcclxuXHQ2OiB0cnVlLFxyXG5cdDc6IHRydWUsXHJcblx0ODogdHJ1ZSxcclxuXHQ5OiB0cnVlLFxyXG5cdDEwOiB0cnVlLFxyXG5cdDExOiB0cnVlLFxyXG5cdDEyOiB0cnVlLFxyXG5cdDEzOiB0cnVlLFxyXG5cdDE1OiB0cnVlLFxyXG59IC8vIHR5cGUzOnRydWUsdHlwZTU6dHJ1ZSx0eXBlNzp0cnVlLHR5cGUyM1xyXG52YXIgdHlwZTFBc3RlcmljayA9IHtcclxuXHQwOiB0cnVlLFxyXG5cdDM6IHRydWUsXHJcblx0NDogdHJ1ZSxcclxuXHQ4OiB0cnVlLFxyXG5cdDEyOiB0cnVlLFxyXG5cdDEzOiB0cnVlLFxyXG5cdDE1OiB0cnVlLFxyXG59XHJcbnZhciBlbXB0eSA9IHt9XHJcbnZhciB0eXBlM0FzdGVyaWNrID0ge1xyXG5cdDA6IHRydWUsXHJcblx0MTogdHJ1ZSxcclxuXHQzOiB0cnVlLFxyXG5cdDQ6IHRydWUsXHJcblx0NjogdHJ1ZSxcclxuXHQ4OiB0cnVlLFxyXG5cdDEyOiB0cnVlLFxyXG5cdDEzOiB0cnVlLFxyXG5cdDE1OiB0cnVlLFxyXG59IC8vIHR5cGVfNTp0cnVlLHR5cGVfNzp0cnVlLHR5cGVfMjNcclxudmFyIHR5cGU2ID0ge1xyXG5cdDE6IHRydWUsXHJcbn1cclxudmFyIG5ld0FyID0gW1xyXG5cdFtdLFxyXG5cdFtcclxuXHRcdCcxJyxcclxuXHRcdCcyJyxcclxuXHRcdCczJyxcclxuXHRcdCc3JyxcclxuXHRcdCc4JyxcclxuXHRcdCc5JyxcclxuXHRcdCc0JyxcclxuXHRcdCc1JyxcclxuXHRcdCc2JyxcclxuXHRcdCcrJyxcclxuXHRcdCctJyxcclxuXHRcdCcqJyxcclxuXHRcdCcvJyxcclxuXHRcdCcoJyxcclxuXHRcdCcpJyxcclxuXHRcdCdeJyxcclxuXHRcdCchJyxcclxuXHRcdCdQJyxcclxuXHRcdCdDJyxcclxuXHRcdCdlJyxcclxuXHRcdCcwJyxcclxuXHRcdCcuJyxcclxuXHRcdCcsJyxcclxuXHRcdCduJyxcclxuXHRcdCcgJyxcclxuXHRcdCcmJyxcclxuXHRdLFxyXG5cdFsncGknLCAnbG4nLCAnUGknXSxcclxuXHRbJ3NpbicsICdjb3MnLCAndGFuJywgJ0RlbCcsICdpbnQnLCAnTW9kJywgJ2xvZycsICdwb3cnXSxcclxuXHRbJ2FzaW4nLCAnYWNvcycsICdhdGFuJywgJ2Nvc2gnLCAncm9vdCcsICd0YW5oJywgJ3NpbmgnXSxcclxuXHRbJ2Fjb3NoJywgJ2F0YW5oJywgJ2FzaW5oJywgJ1NpZ21hJ10sXHJcbl1cclxuXHJcbmZ1bmN0aW9uIG1hdGNoKHN0cjEsIHN0cjIsIGksIHgpIHtcclxuXHRmb3IgKHZhciBmID0gMDsgZiA8IHg7IGYrKykge1xyXG5cdFx0aWYgKHN0cjFbaSArIGZdICE9PSBzdHIyW2ZdKSB7XHJcblx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0fVxyXG5cdH1cclxuXHRyZXR1cm4gdHJ1ZVxyXG59XHJcbk1leHAudG9rZW5UeXBlcyA9IHtcclxuXHRGVU5DVElPTl9XSVRIX09ORV9BUkc6IDAsXHJcblx0TlVNQkVSOiAxLFxyXG5cdEJJTkFSWV9PUEVSQVRPUl9ISUdIX1BSRUNFTkRFTkNFOiAyLFxyXG5cdENPTlNUQU5UOiAzLFxyXG5cdE9QRU5JTkdfUEFSRU5USEVTSVM6IDQsXHJcblx0Q0xPU0lOR19QQVJFTlRIRVNJUzogNSxcclxuXHRERUNJTUFMOiA2LFxyXG5cdFBPU1RGSVhfRlVOQ1RJT05fV0lUSF9PTkVfQVJHOiA3LFxyXG5cdEZVTkNUSU9OX1dJVEhfTl9BUkdTOiA4LFxyXG5cdEJJTkFSWV9PUEVSQVRPUl9MT1dfUFJFQ0VOREVOQ0U6IDksXHJcblx0QklOQVJZX09QRVJBVE9SX1BFUk1VVEFUSU9OOiAxMCxcclxuXHRDT01NQTogMTEsXHJcblx0RVZBTFVBVEVEX0ZVTkNUSU9OOiAxMixcclxuXHRFVkFMVUFURURfRlVOQ1RJT05fUEFSQU1FVEVSOiAxMyxcclxuXHRTUEFDRTogMTQsXHJcbn1cclxuLyoqXHJcbiAgXHJcbiAgMCA6IGZ1bmN0aW9uIHdpdGggc3ludGF4IGZ1bmN0aW9uX25hbWUoTWF0aHNfZXhwKVxyXG4gIDEgOiBudW1iZXJzXHJcbiAgMiA6IGJpbmFyeSBvcGVyYXRvcnMgbGlrZSAqIC8gTW9kIGxlZnQgYXNzb2NpYXRlIGFuZCBzYW1lIHByZWNlZGVuY2VcclxuICAzIDogTWF0aCBjb25zdGFudCB2YWx1ZXMgbGlrZSBlLHBpLENydW5jaGVyIGFuc1xyXG4gIDQgOiBvcGVuaW5nIGJyYWNrZXRcclxuICA1IDogY2xvc2luZyBicmFja2V0XHJcbiAgNiA6IGRlY2ltYWxcclxuICA3IDogZnVuY3Rpb24gd2l0aCBzeW50YXggKE1hdGhfZXhwKWZ1bmN0aW9uX25hbWVcclxuICA4OiBmdW5jdGlvbiB3aXRoIHN5bnRheCBmdW5jdGlvbl9uYW1lKE1hdGhfZXhwMSxNYXRoX2V4cDIpXHJcbiAgOSA6IGJpbmFyeSBvcGVyYXRvciBsaWtlICssLVxyXG4gIDEwOiBiaW5hcnkgb3BlcmF0b3IgbGlrZSBQIEMgb3IgXlxyXG4gIDExOiAsXHJcbiAgMTI6IGZ1bmN0aW9uIHdpdGggLCBzZXBlcmF0ZWQgdGhyZWUgcGFyYW1ldGVycyBhbmQgdGhpcmQgcGFyYW1ldGVyIGlzIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSBtZXhwIHN0cmluZ1xyXG4gIDEzOiB2YXJpYWJsZSBvZiBTaWdtYSBmdW5jdGlvblxyXG4gKi9cclxuTWV4cC5hZGRUb2tlbiA9IGZ1bmN0aW9uIChuZXdUb2tlbnMpIHtcclxuXHRmb3IgKHZhciBpID0gMDsgaSA8IG5ld1Rva2Vucy5sZW5ndGg7IGkrKykge1xyXG5cdFx0dmFyIHggPSBuZXdUb2tlbnNbaV0udG9rZW4ubGVuZ3RoXHJcblx0XHR2YXIgdGVtcCA9IC0xXHJcblx0XHRpZiAobmV3VG9rZW5zW2ldLnR5cGUgPT09IE1leHAudG9rZW5UeXBlcy5GVU5DVElPTl9XSVRIX05fQVJHUyAmJiBuZXdUb2tlbnNbaV0ubnVtYmVyT2ZBcmd1bWVudHMgPT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRuZXdUb2tlbnNbaV0ubnVtYmVyT2ZBcmd1bWVudHMgPSAyXHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gbmV3QXIgaXMgYSBzcGVjaWFsbHkgZGVzaWduZWQgZGF0YSBzdHJ1Y3R1cmUgaW5kZXggb2YgMWQgYXJyYXkgPSBsZW5ndGggb2YgdG9rZW5zXHJcblx0XHRuZXdBclt4XSA9IG5ld0FyW3hdIHx8IFtdXHJcblx0XHRmb3IgKHZhciB5ID0gMDsgeSA8IG5ld0FyW3hdLmxlbmd0aDsgeSsrKSB7XHJcblx0XHRcdGlmIChuZXdUb2tlbnNbaV0udG9rZW4gPT09IG5ld0FyW3hdW3ldKSB7XHJcblx0XHRcdFx0dGVtcCA9IGluZGV4T2ZUb2tlbihuZXdBclt4XVt5XSwgdG9rZW5zKVxyXG5cdFx0XHRcdGJyZWFrXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICh0ZW1wID09PSAtMSkge1xyXG5cdFx0XHR0b2tlbnMucHVzaChuZXdUb2tlbnNbaV0pXHJcblx0XHRcdG5ld1Rva2Vuc1tpXS5wcmVjZWRlbmNlID0gcHJlY2VkW25ld1Rva2Vuc1tpXS50eXBlXVxyXG5cdFx0XHRpZiAobmV3QXIubGVuZ3RoIDw9IG5ld1Rva2Vuc1tpXS50b2tlbi5sZW5ndGgpIHtcclxuXHRcdFx0XHRuZXdBcltuZXdUb2tlbnNbaV0udG9rZW4ubGVuZ3RoXSA9IFtdXHJcblx0XHRcdH1cclxuXHRcdFx0bmV3QXJbbmV3VG9rZW5zW2ldLnRva2VuLmxlbmd0aF0ucHVzaChuZXdUb2tlbnNbaV0udG9rZW4pXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHQvLyBvdmVyd3JpdGVcclxuXHRcdFx0dG9rZW5zW3RlbXBdID0gbmV3VG9rZW5zW2ldXHJcblx0XHRcdG5ld1Rva2Vuc1tpXS5wcmVjZWRlbmNlID0gcHJlY2VkW25ld1Rva2Vuc1tpXS50eXBlXVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuZnVuY3Rpb24gaW5kZXhPZlRva2VuKGtleSwgdG9rZW5zKSB7XHJcblx0Zm9yICh2YXIgc2VhcmNoID0gMDsgc2VhcmNoIDwgdG9rZW5zLmxlbmd0aDsgc2VhcmNoKyspIHtcclxuXHRcdGlmICh0b2tlbnNbc2VhcmNoXS50b2tlbiA9PT0ga2V5KSByZXR1cm4gc2VhcmNoXHJcblx0fVxyXG5cdHJldHVybiAtMVxyXG59XHJcbmZ1bmN0aW9uIHRva2VuaXplKHN0cmluZykge1xyXG5cdHZhciBub2RlcyA9IFtdXHJcblx0dmFyIGxlbmd0aCA9IHN0cmluZy5sZW5ndGhcclxuXHR2YXIga2V5LCB4LCB5XHJcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG5cdFx0aWYgKGkgPCBsZW5ndGggLSAxICYmIHN0cmluZ1tpXSA9PT0gJyAnICYmIHN0cmluZ1tpICsgMV0gPT09ICcgJykge1xyXG5cdFx0XHRjb250aW51ZVxyXG5cdFx0fVxyXG5cdFx0a2V5ID0gJydcclxuXHRcdGZvciAoeCA9IHN0cmluZy5sZW5ndGggLSBpID4gbmV3QXIubGVuZ3RoIC0gMiA/IG5ld0FyLmxlbmd0aCAtIDEgOiBzdHJpbmcubGVuZ3RoIC0gaTsgeCA+IDA7IHgtLSkge1xyXG5cdFx0XHRpZiAobmV3QXJbeF0gPT09IHVuZGVmaW5lZCkgY29udGludWVcclxuXHRcdFx0Zm9yICh5ID0gMDsgeSA8IG5ld0FyW3hdLmxlbmd0aDsgeSsrKSB7XHJcblx0XHRcdFx0aWYgKG1hdGNoKHN0cmluZywgbmV3QXJbeF1beV0sIGksIHgpKSB7XHJcblx0XHRcdFx0XHRrZXkgPSBuZXdBclt4XVt5XVxyXG5cdFx0XHRcdFx0eSA9IG5ld0FyW3hdLmxlbmd0aFxyXG5cdFx0XHRcdFx0eCA9IDBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGkgKz0ga2V5Lmxlbmd0aCAtIDFcclxuXHRcdGlmIChrZXkgPT09ICcnKSB7XHJcblx0XHRcdHRocm93IG5ldyBNZXhwLkV4Y2VwdGlvbihcIkNhbid0IHVuZGVyc3RhbmQgYWZ0ZXIgXCIgKyBzdHJpbmcuc2xpY2UoaSkpXHJcblx0XHR9XHJcblx0XHRub2Rlcy5wdXNoKHRva2Vuc1tpbmRleE9mVG9rZW4oa2V5LCB0b2tlbnMpXSlcclxuXHR9XHJcblx0cmV0dXJuIG5vZGVzXHJcbn1cclxuXHJcbnZhciBjaGFuZ2VTaWduT2JqID0ge1xyXG5cdHZhbHVlOiBNZXhwLm1hdGguY2hhbmdlU2lnbixcclxuXHR0eXBlOiAwLFxyXG5cdHByZTogMjEsXHJcblx0c2hvdzogJy0nLFxyXG59XHJcbnZhciBjbG9zaW5nUGFyT2JqID0ge1xyXG5cdHZhbHVlOiAnKScsXHJcblx0c2hvdzogJyknLFxyXG5cdHR5cGU6IDUsXHJcblx0cHJlOiAwLFxyXG59XHJcbnZhciBvcGVuaW5nUGFyT2JqID0ge1xyXG5cdHZhbHVlOiAnKCcsXHJcblx0dHlwZTogNCxcclxuXHRwcmU6IDAsXHJcblx0c2hvdzogJygnLFxyXG59XHJcbk1leHAubGV4ID0gZnVuY3Rpb24gKGlucCwgdG9rZW5zKSB7XHJcblx0J3VzZSBzdHJpY3QnXHJcblxyXG5cdHZhciBzdHIgPSBbb3BlbmluZ1Bhck9ial1cclxuXHJcblx0dmFyIHB0YyA9IFtdIC8vIFBhcmVudGhlc2lzIHRvIGNsb3NlIGF0IHRoZSBiZWdpbm5pbmcgaXMgYWZ0ZXIgb25lIHRva2VuXHJcblx0dmFyIGlucFN0ciA9IGlucFxyXG5cdHZhciBhbGxvd2VkID0gdHlwZTBcclxuXHR2YXIgYnJhY1RvQ2xvc2UgPSAwXHJcblx0dmFyIGFzdGVyaWNrID0gZW1wdHlcclxuXHR2YXIgcHJldktleSA9ICcnXHJcblx0dmFyIGlcclxuXHRpZiAodHlwZW9mIHRva2VucyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdE1leHAuYWRkVG9rZW4odG9rZW5zKVxyXG5cdH1cclxuXHR2YXIgb2JqID0ge31cclxuXHR2YXIgbm9kZXMgPSB0b2tlbml6ZShpbnBTdHIpXHJcblx0Zm9yIChpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHR2YXIgbm9kZSA9IG5vZGVzW2ldXHJcblx0XHRpZiAobm9kZS50eXBlID09PSAxNCkge1xyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0aSA+IDAgJiZcclxuXHRcdFx0XHRpIDwgbm9kZXMubGVuZ3RoIC0gMSAmJlxyXG5cdFx0XHRcdG5vZGVzW2kgKyAxXS50eXBlID09PSAxICYmXHJcblx0XHRcdFx0KG5vZGVzW2kgLSAxXS50eXBlID09PSAxIHx8IG5vZGVzW2kgLSAxXS50eXBlID09PSA2KVxyXG5cdFx0XHQpIHtcclxuXHRcdFx0XHR0aHJvdyBuZXcgTWV4cC5FeGNlcHRpb24oJ1VuZXhwZWN0ZWQgU3BhY2UnKVxyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnRpbnVlXHJcblx0XHR9XHJcblx0XHR2YXIgY1Rva2VuID0gbm9kZS50b2tlblxyXG5cdFx0dmFyIGNUeXBlID0gbm9kZS50eXBlXHJcblx0XHR2YXIgY0V2ID0gbm9kZS52YWx1ZVxyXG5cdFx0dmFyIGNQcmUgPSBub2RlLnByZWNlZGVuY2VcclxuXHRcdHZhciBjU2hvdyA9IG5vZGUuc2hvd1xyXG5cdFx0dmFyIHByZSA9IHN0cltzdHIubGVuZ3RoIC0gMV1cclxuXHRcdHZhciBqXHJcblx0XHRmb3IgKGogPSBwdGMubGVuZ3RoOyBqLS07ICkge1xyXG5cdFx0XHQvLyBsb29wIG92ZXIgcHRjXHJcblx0XHRcdGlmIChwdGNbal0gPT09IDApIHtcclxuXHRcdFx0XHRpZiAoWzAsIDIsIDMsIDQsIDUsIDksIDExLCAxMiwgMTNdLmluZGV4T2YoY1R5cGUpICE9PSAtMSkge1xyXG5cdFx0XHRcdFx0aWYgKGFsbG93ZWRbY1R5cGVdICE9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdHRocm93IG5ldyBNZXhwLkV4Y2VwdGlvbihjVG9rZW4gKyAnIGlzIG5vdCBhbGxvd2VkIGFmdGVyICcgKyBwcmV2S2V5KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0c3RyLnB1c2goY2xvc2luZ1Bhck9iailcclxuXHRcdFx0XHRcdGFsbG93ZWQgPSB0eXBlMVxyXG5cdFx0XHRcdFx0YXN0ZXJpY2sgPSB0eXBlM0FzdGVyaWNrXHJcblx0XHRcdFx0XHRwdGMucG9wKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gZWxzZSBicmVha1xyXG5cdFx0fVxyXG5cdFx0aWYgKGFsbG93ZWRbY1R5cGVdICE9PSB0cnVlKSB7XHJcblx0XHRcdHRocm93IG5ldyBNZXhwLkV4Y2VwdGlvbihjVG9rZW4gKyAnIGlzIG5vdCBhbGxvd2VkIGFmdGVyICcgKyBwcmV2S2V5KVxyXG5cdFx0fVxyXG5cdFx0aWYgKGFzdGVyaWNrW2NUeXBlXSA9PT0gdHJ1ZSkge1xyXG5cdFx0XHRjVHlwZSA9IDJcclxuXHRcdFx0Y0V2ID0gTWV4cC5tYXRoLm11bFxyXG5cdFx0XHRjU2hvdyA9ICcmdGltZXM7J1xyXG5cdFx0XHRjUHJlID0gM1xyXG5cdFx0XHRpID0gaSAtIDFcclxuXHRcdH1cclxuXHRcdG9iaiA9IHtcclxuXHRcdFx0dmFsdWU6IGNFdixcclxuXHRcdFx0dHlwZTogY1R5cGUsXHJcblx0XHRcdHByZTogY1ByZSxcclxuXHRcdFx0c2hvdzogY1Nob3csXHJcblx0XHRcdG51bWJlck9mQXJndW1lbnRzOiBub2RlLm51bWJlck9mQXJndW1lbnRzLFxyXG5cdFx0fVxyXG5cdFx0aWYgKGNUeXBlID09PSAwKSB7XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdGluYyhwdGMsIDIpXHJcblx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdFx0aWYgKG5vZGVzW2kgKyAxXS50eXBlICE9PSA0KSB7XHJcblx0XHRcdFx0c3RyLnB1c2gob3BlbmluZ1Bhck9iailcclxuXHRcdFx0XHRwdGMucHVzaCgyKVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vIGJyYWNUb0Nsb3NlKytcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDEpIHtcclxuXHRcdFx0aWYgKHByZS50eXBlID09PSAxKSB7XHJcblx0XHRcdFx0cHJlLnZhbHVlICs9IGNFdlxyXG5cdFx0XHRcdGluYyhwdGMsIDEpXHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0c3RyLnB1c2gob2JqKVxyXG5cdFx0XHR9XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMVxyXG5cdFx0XHRhc3RlcmljayA9IHR5cGUxQXN0ZXJpY2tcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDIpIHtcclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUwXHJcblx0XHRcdGFzdGVyaWNrID0gZW1wdHlcclxuXHRcdFx0aW5jKHB0YywgMilcclxuXHRcdFx0c3RyLnB1c2gob2JqKVxyXG5cdFx0fSBlbHNlIGlmIChjVHlwZSA9PT0gMykge1xyXG5cdFx0XHQvLyBjb25zdGFudFxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMVxyXG5cdFx0XHRhc3RlcmljayA9IHR5cGUzQXN0ZXJpY2tcclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDQpIHtcclxuXHRcdFx0aW5jKHB0YywgMSlcclxuXHRcdFx0YnJhY1RvQ2xvc2UrK1xyXG5cdFx0XHRhbGxvd2VkID0gdHlwZTBcclxuXHRcdFx0YXN0ZXJpY2sgPSBlbXB0eVxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSA1KSB7XHJcblx0XHRcdGlmICghYnJhY1RvQ2xvc2UpIHtcclxuXHRcdFx0XHR0aHJvdyBuZXcgTWV4cC5FeGNlcHRpb24oJ0Nsb3NpbmcgcGFyZW50aGVzaXMgYXJlIG1vcmUgdGhhbiBvcGVuaW5nIG9uZSwgd2FpdCBXaGF0ISEhJylcclxuXHRcdFx0fVxyXG5cdFx0XHRicmFjVG9DbG9zZS0tXHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMVxyXG5cdFx0XHRhc3RlcmljayA9IHR5cGUzQXN0ZXJpY2tcclxuXHRcdFx0c3RyLnB1c2gob2JqKVxyXG5cdFx0XHRpbmMocHRjLCAxKVxyXG5cdFx0fSBlbHNlIGlmIChjVHlwZSA9PT0gNikge1xyXG5cdFx0XHRpZiAocHJlLmhhc0RlYykge1xyXG5cdFx0XHRcdHRocm93IG5ldyBNZXhwLkV4Y2VwdGlvbignVHdvIGRlY2ltYWxzIGFyZSBub3QgYWxsb3dlZCBpbiBvbmUgbnVtYmVyJylcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAocHJlLnR5cGUgIT09IDEpIHtcclxuXHRcdFx0XHRwcmUgPSB7XHJcblx0XHRcdFx0XHR2YWx1ZTogMCxcclxuXHRcdFx0XHRcdHR5cGU6IDEsXHJcblx0XHRcdFx0XHRwcmU6IDAsXHJcblx0XHRcdFx0fSAvLyBwcmUgbmVlZHMgdG8gYmUgY2hhbmdlZCBhcyBpdCB3aWxsIHRoZSBsYXN0IHZhbHVlIG5vdyB0byBiZSBzYWZlIGluIGxhdGVyIGNvZGVcclxuXHRcdFx0XHRzdHIucHVzaChwcmUpXHJcblx0XHRcdFx0Ly8gaW5jKHB0YywgMSlcclxuXHRcdFx0fVxyXG5cdFx0XHRhbGxvd2VkID0gdHlwZTZcclxuXHRcdFx0aW5jKHB0YywgMSlcclxuXHRcdFx0YXN0ZXJpY2sgPSBlbXB0eVxyXG5cdFx0XHRwcmUudmFsdWUgKz0gY0V2XHJcblx0XHRcdHByZS5oYXNEZWMgPSB0cnVlXHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSA3KSB7XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMVxyXG5cdFx0XHRhc3RlcmljayA9IHR5cGUzQXN0ZXJpY2tcclxuXHRcdFx0aW5jKHB0YywgMSlcclxuXHRcdFx0c3RyLnB1c2gob2JqKVxyXG5cdFx0fVxyXG5cdFx0aWYgKGNUeXBlID09PSA4KSB7XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHRcdGluYyhwdGMsIG5vZGUubnVtYmVyT2ZBcmd1bWVudHMgKyAyKVxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHRcdC8vIHN0ci5wdXNoKG9wZW5pbmdQYXJPYmopXHJcblx0XHRcdGlmIChub2Rlc1tpICsgMV0udHlwZSAhPT0gNCkge1xyXG5cdFx0XHRcdHN0ci5wdXNoKG9wZW5pbmdQYXJPYmopXHJcblx0XHRcdFx0cHRjLnB1c2gobm9kZS5udW1iZXJPZkFyZ3VtZW50cyArIDIpXHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSBpZiAoY1R5cGUgPT09IDkpIHtcclxuXHRcdFx0aWYgKHByZS50eXBlID09PSA5KSB7XHJcblx0XHRcdFx0aWYgKHByZS52YWx1ZSA9PT0gTWV4cC5tYXRoLmFkZCkge1xyXG5cdFx0XHRcdFx0cHJlLnZhbHVlID0gY0V2XHJcblx0XHRcdFx0XHRwcmUuc2hvdyA9IGNTaG93XHJcblx0XHRcdFx0XHRpbmMocHRjLCAxKVxyXG5cdFx0XHRcdH0gZWxzZSBpZiAocHJlLnZhbHVlID09PSBNZXhwLm1hdGguc3ViICYmIGNTaG93ID09PSAnLScpIHtcclxuXHRcdFx0XHRcdHByZS52YWx1ZSA9IE1leHAubWF0aC5hZGRcclxuXHRcdFx0XHRcdHByZS5zaG93ID0gJysnXHJcblx0XHRcdFx0XHRpbmMocHRjLCAxKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIGlmIChwcmUudHlwZSAhPT0gNSAmJiBwcmUudHlwZSAhPT0gNyAmJiBwcmUudHlwZSAhPT0gMSAmJiBwcmUudHlwZSAhPT0gMyAmJiBwcmUudHlwZSAhPT0gMTMpIHtcclxuXHRcdFx0XHQvLyBjaGFuZ2VzaWduIG9ubHkgd2hlbiBuZWdhdGl2ZSBpcyBmb3VuZFxyXG5cdFx0XHRcdGlmIChjVG9rZW4gPT09ICctJykge1xyXG5cdFx0XHRcdFx0Ly8gZG8gbm90aGluZyBmb3IgKyB0b2tlblxyXG5cdFx0XHRcdFx0Ly8gZG9uJ3QgYWRkIHdpdGggdGhlIGFib3ZlIGlmIHN0YXRlbWVudCBhcyB0aGF0IHdpbGwgcnVuIHRoZSBlbHNlIHN0YXRlbWVudCBvZiBwYXJlbnQgaWYgb24gQ3Rva2VuICtcclxuXHRcdFx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRcdFx0YXN0ZXJpY2sgPSBlbXB0eVxyXG5cdFx0XHRcdFx0aW5jKHB0YywgMikucHVzaCgyKVxyXG5cdFx0XHRcdFx0c3RyLnB1c2goY2hhbmdlU2lnbk9iailcclxuXHRcdFx0XHRcdHN0ci5wdXNoKG9wZW5pbmdQYXJPYmopXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHN0ci5wdXNoKG9iailcclxuXHRcdFx0XHRpbmMocHRjLCAyKVxyXG5cdFx0XHR9XHJcblx0XHRcdGFsbG93ZWQgPSB0eXBlMFxyXG5cdFx0XHRhc3RlcmljayA9IGVtcHR5XHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSAxMCkge1xyXG5cdFx0XHRhbGxvd2VkID0gdHlwZTBcclxuXHRcdFx0YXN0ZXJpY2sgPSBlbXB0eVxyXG5cdFx0XHRpbmMocHRjLCAyKVxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSAxMSkge1xyXG5cdFx0XHRhbGxvd2VkID0gdHlwZTBcclxuXHRcdFx0YXN0ZXJpY2sgPSBlbXB0eVxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHR9IGVsc2UgaWYgKGNUeXBlID09PSAxMikge1xyXG5cdFx0XHRhbGxvd2VkID0gdHlwZTBcclxuXHRcdFx0YXN0ZXJpY2sgPSBlbXB0eVxyXG5cdFx0XHRpbmMocHRjLCA2KVxyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHRcdGlmIChub2Rlc1tpICsgMV0udHlwZSAhPT0gNCkge1xyXG5cdFx0XHRcdHN0ci5wdXNoKG9wZW5pbmdQYXJPYmopXHJcblx0XHRcdFx0cHRjLnB1c2goNilcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChjVHlwZSA9PT0gMTMpIHtcclxuXHRcdFx0YWxsb3dlZCA9IHR5cGUxXHJcblx0XHRcdGFzdGVyaWNrID0gdHlwZTNBc3Rlcmlja1xyXG5cdFx0XHRzdHIucHVzaChvYmopXHJcblx0XHR9XHJcblxyXG5cdFx0aW5jKHB0YywgLTEpXHJcblx0XHRwcmV2S2V5ID0gY1Rva2VuXHJcblx0fVxyXG5cdGZvciAoaiA9IHB0Yy5sZW5ndGg7IGotLTsgKSB7XHJcblx0XHQvLyBsb29wIG92ZXIgcHRjXHJcblx0XHRzdHIucHVzaChjbG9zaW5nUGFyT2JqKVxyXG5cdH1cclxuXHRpZiAoYWxsb3dlZFs1XSAhPT0gdHJ1ZSkge1xyXG5cdFx0dGhyb3cgbmV3IE1leHAuRXhjZXB0aW9uKCdjb21wbGV0ZSB0aGUgZXhwcmVzc2lvbicpXHJcblx0fVxyXG5cdHdoaWxlIChicmFjVG9DbG9zZS0tKSB7XHJcblx0XHRzdHIucHVzaChjbG9zaW5nUGFyT2JqKVxyXG5cdH1cclxuXHJcblx0c3RyLnB1c2goY2xvc2luZ1Bhck9iailcclxuXHQvLyAgICAgICAgY29uc29sZS5sb2coc3RyKTtcclxuXHRyZXR1cm4gbmV3IE1leHAoc3RyKVxyXG59XHJcbm1vZHVsZS5leHBvcnRzID0gTWV4cFxyXG4iLCJcclxudmFyIE1leHAgPSByZXF1aXJlKCcuL2xleGVyLmpzJyk7XHJcblxyXG5NZXhwLnByb3RvdHlwZS50b1Bvc3RmaXggPSBmdW5jdGlvbiAoKSB7XHJcblx0J3VzZSBzdHJpY3QnO1xyXG5cdHZhciBwb3N0ID0gW10sIGVsZW0sIHBvcHBlZCwgcHJlcCwgcHJlLCBlbGU7XHJcblx0dmFyIHN0YWNrID0gW3sgdmFsdWU6IFwiKFwiLCB0eXBlOiA0LCBwcmU6IDAgfV07XHJcblx0dmFyIGFyciA9IHRoaXMudmFsdWU7XHJcblx0Zm9yICh2YXIgaSA9IDE7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuXHRcdGlmIChhcnJbaV0udHlwZSA9PT0gMSB8fCBhcnJbaV0udHlwZSA9PT0gMyB8fCBhcnJbaV0udHlwZSA9PT0gMTMpIHtcdC8vaWYgdG9rZW4gaXMgbnVtYmVyLGNvbnN0YW50LG9yIG4od2hpY2ggaXMgYWxzbyBhIHNwZWNpYWwgY29uc3RhbnQgaW4gb3VyIGNhc2UpXHJcblx0XHRcdGlmIChhcnJbaV0udHlwZSA9PT0gMSlcclxuXHRcdFx0XHRhcnJbaV0udmFsdWUgPSBOdW1iZXIoYXJyW2ldLnZhbHVlKTtcclxuXHRcdFx0cG9zdC5wdXNoKGFycltpXSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIGlmIChhcnJbaV0udHlwZSA9PT0gNCkge1xyXG5cdFx0XHRzdGFjay5wdXNoKGFycltpXSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIGlmIChhcnJbaV0udHlwZSA9PT0gNSkge1xyXG5cdFx0XHR3aGlsZSAoKHBvcHBlZCA9IHN0YWNrLnBvcCgpKS50eXBlICE9PSA0KSB7XHJcblx0XHRcdFx0cG9zdC5wdXNoKHBvcHBlZCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGVsc2UgaWYgKGFycltpXS50eXBlID09PSAxMSkge1xyXG5cdFx0XHR3aGlsZSAoKHBvcHBlZCA9IHN0YWNrLnBvcCgpKS50eXBlICE9PSA0KSB7XHJcblx0XHRcdFx0cG9zdC5wdXNoKHBvcHBlZCk7XHJcblx0XHRcdH1cclxuXHRcdFx0c3RhY2sucHVzaChwb3BwZWQpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdGVsZW0gPSBhcnJbaV07XHJcblx0XHRcdHByZSA9IGVsZW0ucHJlO1xyXG5cdFx0XHRlbGUgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcclxuXHRcdFx0cHJlcCA9IGVsZS5wcmU7XHJcblx0XHRcdHZhciBmbGFnID0gZWxlLnZhbHVlID09ICdNYXRoLnBvdycgJiYgZWxlbS52YWx1ZSA9PSAnTWF0aC5wb3cnO1xyXG5cdFx0XHRpZiAocHJlID4gcHJlcCkgc3RhY2sucHVzaChlbGVtKTtcclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0d2hpbGUgKHByZXAgPj0gcHJlICYmICFmbGFnIHx8IGZsYWcgJiYgcHJlIDwgcHJlcCkge1xyXG5cdFx0XHRcdFx0cG9wcGVkID0gc3RhY2sucG9wKCk7XHJcblx0XHRcdFx0XHRlbGUgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcclxuXHRcdFx0XHRcdHBvc3QucHVzaChwb3BwZWQpO1xyXG5cdFx0XHRcdFx0cHJlcCA9IGVsZS5wcmU7XHJcblx0XHRcdFx0XHRmbGFnID0gZWxlbS52YWx1ZSA9PSAnTWF0aC5wb3cnICYmIGVsZS52YWx1ZSA9PSAnTWF0aC5wb3cnO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRzdGFjay5wdXNoKGVsZW0pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdHJldHVybiBuZXcgTWV4cChwb3N0KTtcclxufTtcclxubW9kdWxlLmV4cG9ydHMgPSBNZXhwOyIsInZhciBNZXhwID0gcmVxdWlyZSgnLi9wb3N0Zml4LmpzJylcclxuTWV4cC5wcm90b3R5cGUucG9zdGZpeEV2YWwgPSBmdW5jdGlvbiAoVXNlckRlZmluZWQpIHtcclxuXHQndXNlIHN0cmljdCdcclxuXHRVc2VyRGVmaW5lZCA9IFVzZXJEZWZpbmVkIHx8IHt9XHJcblx0VXNlckRlZmluZWQuUEkgPSBNYXRoLlBJXHJcblx0VXNlckRlZmluZWQuRSA9IE1hdGguRVxyXG5cdHZhciBzdGFjayA9IFtdLFxyXG5cdFx0cG9wMSxcclxuXHRcdHBvcDIsXHJcblx0XHRwb3AzXHJcblx0dmFyIGRpc3AgPSBbXVxyXG5cdHZhciB0ZW1wID0gJydcclxuXHR2YXIgYXJyID0gdGhpcy52YWx1ZVxyXG5cdHZhciBib29sID0gdHlwZW9mIFVzZXJEZWZpbmVkLm4gIT09ICd1bmRlZmluZWQnXHJcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuXHRcdGlmIChhcnJbaV0udHlwZSA9PT0gMSkge1xyXG5cdFx0XHRzdGFjay5wdXNoKHsgdmFsdWU6IGFycltpXS52YWx1ZSwgdHlwZTogMSB9KVxyXG5cdFx0fSBlbHNlIGlmIChhcnJbaV0udHlwZSA9PT0gMykge1xyXG5cdFx0XHRzdGFjay5wdXNoKHsgdmFsdWU6IFVzZXJEZWZpbmVkW2FycltpXS52YWx1ZV0sIHR5cGU6IDEgfSlcclxuXHRcdH0gZWxzZSBpZiAoYXJyW2ldLnR5cGUgPT09IDApIHtcclxuXHRcdFx0aWYgKHR5cGVvZiBzdGFja1tzdGFjay5sZW5ndGggLSAxXS50eXBlID09PSAndW5kZWZpbmVkJykge1xyXG5cdFx0XHRcdHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdLnZhbHVlLnB1c2goYXJyW2ldKVxyXG5cdFx0XHR9IGVsc2Ugc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0udmFsdWUgPSBhcnJbaV0udmFsdWUoc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0udmFsdWUpXHJcblx0XHR9IGVsc2UgaWYgKGFycltpXS50eXBlID09PSA3KSB7XHJcblx0XHRcdGlmICh0eXBlb2Ygc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0udHlwZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRzdGFja1tzdGFjay5sZW5ndGggLSAxXS52YWx1ZS5wdXNoKGFycltpXSlcclxuXHRcdFx0fSBlbHNlIHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdLnZhbHVlID0gYXJyW2ldLnZhbHVlKHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdLnZhbHVlKVxyXG5cdFx0fSBlbHNlIGlmIChhcnJbaV0udHlwZSA9PT0gOCkge1xyXG5cdFx0XHR2YXIgcG9wcGVkID0gW11cclxuXHRcdFx0Zm9yICh2YXIgeCA9IDA7IHggPCBhcnJbaV0ubnVtYmVyT2ZBcmd1bWVudHM7IHgrKykge1xyXG5cdFx0XHRcdHBvcHBlZC5wdXNoKHN0YWNrLnBvcCgpLnZhbHVlKVxyXG5cdFx0XHR9XHJcblx0XHRcdHN0YWNrLnB1c2goeyB0eXBlOiAxLCB2YWx1ZTogYXJyW2ldLnZhbHVlLmFwcGx5KGFycltpXSwgcG9wcGVkLnJldmVyc2UoKSkgfSlcclxuXHRcdH0gZWxzZSBpZiAoYXJyW2ldLnR5cGUgPT09IDEwKSB7XHJcblx0XHRcdHBvcDEgPSBzdGFjay5wb3AoKVxyXG5cdFx0XHRwb3AyID0gc3RhY2sucG9wKClcclxuXHRcdFx0aWYgKHR5cGVvZiBwb3AyLnR5cGUgPT09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRcdFx0cG9wMi52YWx1ZSA9IHBvcDIuY29uY2F0KHBvcDEpXHJcblx0XHRcdFx0cG9wMi52YWx1ZS5wdXNoKGFycltpXSlcclxuXHRcdFx0XHRzdGFjay5wdXNoKHBvcDIpXHJcblx0XHRcdH0gZWxzZSBpZiAodHlwZW9mIHBvcDEudHlwZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRwb3AxLnVuc2hpZnQocG9wMilcclxuXHRcdFx0XHRwb3AxLnB1c2goYXJyW2ldKVxyXG5cdFx0XHRcdHN0YWNrLnB1c2gocG9wMSlcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRzdGFjay5wdXNoKHsgdHlwZTogMSwgdmFsdWU6IGFycltpXS52YWx1ZShwb3AyLnZhbHVlLCBwb3AxLnZhbHVlKSB9KVxyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKGFycltpXS50eXBlID09PSAyIHx8IGFycltpXS50eXBlID09PSA5KSB7XHJcblx0XHRcdHBvcDEgPSBzdGFjay5wb3AoKVxyXG5cdFx0XHRwb3AyID0gc3RhY2sucG9wKClcclxuXHRcdFx0aWYgKHR5cGVvZiBwb3AyLnR5cGUgPT09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRcdFx0cG9wMiA9IHBvcDIuY29uY2F0KHBvcDEpXHJcblx0XHRcdFx0cG9wMi5wdXNoKGFycltpXSlcclxuXHRcdFx0XHRzdGFjay5wdXNoKHBvcDIpXHJcblx0XHRcdH0gZWxzZSBpZiAodHlwZW9mIHBvcDEudHlwZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRwb3AxLnVuc2hpZnQocG9wMilcclxuXHRcdFx0XHRwb3AxLnB1c2goYXJyW2ldKVxyXG5cdFx0XHRcdHN0YWNrLnB1c2gocG9wMSlcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRzdGFjay5wdXNoKHsgdHlwZTogMSwgdmFsdWU6IGFycltpXS52YWx1ZShwb3AyLnZhbHVlLCBwb3AxLnZhbHVlKSB9KVxyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKGFycltpXS50eXBlID09PSAxMikge1xyXG5cdFx0XHRwb3AxID0gc3RhY2sucG9wKClcclxuXHRcdFx0aWYgKHR5cGVvZiBwb3AxLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRcdFx0cG9wMSA9IFtwb3AxXVxyXG5cdFx0XHR9XHJcblx0XHRcdHBvcDIgPSBzdGFjay5wb3AoKVxyXG5cdFx0XHRwb3AzID0gc3RhY2sucG9wKClcclxuXHRcdFx0c3RhY2sucHVzaCh7IHR5cGU6IDEsIHZhbHVlOiBhcnJbaV0udmFsdWUocG9wMy52YWx1ZSwgcG9wMi52YWx1ZSwgbmV3IE1leHAocG9wMSkpIH0pXHJcblx0XHR9IGVsc2UgaWYgKGFycltpXS50eXBlID09PSAxMykge1xyXG5cdFx0XHRpZiAoYm9vbCkge1xyXG5cdFx0XHRcdHN0YWNrLnB1c2goeyB2YWx1ZTogVXNlckRlZmluZWRbYXJyW2ldLnZhbHVlXSwgdHlwZTogMyB9KVxyXG5cdFx0XHR9IGVsc2Ugc3RhY2sucHVzaChbYXJyW2ldXSlcclxuXHRcdH1cclxuXHR9XHJcblx0aWYgKHN0YWNrLmxlbmd0aCA+IDEpIHtcclxuXHRcdHRocm93IG5ldyBNZXhwLkV4Y2VwdGlvbignVW5jYXVnaHQgU3ludGF4IGVycm9yJylcclxuXHR9XHJcblx0cmV0dXJuIHN0YWNrWzBdLnZhbHVlID4gMTAwMDAwMDAwMDAwMDAwMCA/ICdJbmZpbml0eScgOiBwYXJzZUZsb2F0KHN0YWNrWzBdLnZhbHVlLnRvRml4ZWQoMTUpKVxyXG59XHJcbk1leHAuZXZhbCA9IGZ1bmN0aW9uIChzdHIsIHRva2Vucywgb2JqKSB7XHJcblx0aWYgKHR5cGVvZiB0b2tlbnMgPT09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5sZXgoc3RyKS50b1Bvc3RmaXgoKS5wb3N0Zml4RXZhbCgpXHJcblx0fSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xyXG5cdFx0aWYgKHR5cGVvZiB0b2tlbnMubGVuZ3RoICE9PSAndW5kZWZpbmVkJykgcmV0dXJuIHRoaXMubGV4KHN0ciwgdG9rZW5zKS50b1Bvc3RmaXgoKS5wb3N0Zml4RXZhbCgpXHJcblx0XHRlbHNlIHJldHVybiB0aGlzLmxleChzdHIpLnRvUG9zdGZpeCgpLnBvc3RmaXhFdmFsKHRva2VucylcclxuXHR9IGVsc2UgcmV0dXJuIHRoaXMubGV4KHN0ciwgdG9rZW5zKS50b1Bvc3RmaXgoKS5wb3N0Zml4RXZhbChvYmopXHJcbn1cclxubW9kdWxlLmV4cG9ydHMgPSBNZXhwXHJcbiIsInZhciBNZXhwPXJlcXVpcmUoJy4vcG9zdGZpeF9ldmFsdWF0b3IuanMnKTtcclxuTWV4cC5wcm90b3R5cGUuZm9ybXVsYUV2YWwgPSBmdW5jdGlvbiAoKSB7XHJcblx0XCJ1c2Ugc3RyaWN0XCI7XHJcblx0dmFyIHN0YWNrPVtdLHBvcDEscG9wMixwb3AzO1xyXG5cdHZhciBkaXNwPVtdO1xyXG5cdHZhciB0ZW1wPScnO1xyXG5cdHZhciBhcnI9dGhpcy52YWx1ZTtcclxuXHRmb3IodmFyIGk9MDtpPGFyci5sZW5ndGg7aSsrKXtcclxuXHRcdGlmKGFycltpXS50eXBlPT09MXx8YXJyW2ldLnR5cGU9PT0zKXtcclxuXHRcdFx0ZGlzcC5wdXNoKHt2YWx1ZTphcnJbaV0udHlwZT09PTM/YXJyW2ldLnNob3c6YXJyW2ldLnZhbHVlLHR5cGU6MX0pO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSBpZihhcnJbaV0udHlwZT09PTEzKXtcclxuXHRcdFx0ZGlzcC5wdXNoKHt2YWx1ZTphcnJbaV0uc2hvdyx0eXBlOjF9KTtcclxuXHRcdH1cclxuXHRcdGVsc2UgaWYoYXJyW2ldLnR5cGU9PT0wKXtcclxuXHRcdFx0ZGlzcFtkaXNwLmxlbmd0aC0xXT17dmFsdWU6YXJyW2ldLnNob3crKGFycltpXS5zaG93IT1cIi1cIj9cIihcIjpcIlwiKStkaXNwW2Rpc3AubGVuZ3RoLTFdLnZhbHVlKyhhcnJbaV0uc2hvdyE9XCItXCI/XCIpXCI6XCJcIiksdHlwZTowfTtcclxuXHRcdH1cclxuXHRcdGVsc2UgaWYoYXJyW2ldLnR5cGU9PT03KXtcclxuXHRcdFx0ZGlzcFtkaXNwLmxlbmd0aC0xXT17dmFsdWU6KGRpc3BbZGlzcC5sZW5ndGgtMV0udHlwZSE9MT9cIihcIjpcIlwiKStkaXNwW2Rpc3AubGVuZ3RoLTFdLnZhbHVlKyhkaXNwW2Rpc3AubGVuZ3RoLTFdLnR5cGUhPTE/XCIpXCI6XCJcIikrYXJyW2ldLnNob3csdHlwZTo3fTtcclxuXHRcdH1cclxuXHRcdGVsc2UgaWYoYXJyW2ldLnR5cGU9PT0xMCl7XHJcblx0XHRcdHBvcDE9ZGlzcC5wb3AoKTtcclxuXHRcdFx0cG9wMj1kaXNwLnBvcCgpO1xyXG5cdFx0XHRpZihhcnJbaV0uc2hvdz09PSdQJ3x8YXJyW2ldLnNob3c9PT0nQycpZGlzcC5wdXNoKHt2YWx1ZTpcIjxzdXA+XCIrcG9wMi52YWx1ZStcIjwvc3VwPlwiK2FycltpXS5zaG93K1wiPHN1Yj5cIitwb3AxLnZhbHVlK1wiPC9zdWI+XCIsdHlwZToxMH0pO1xyXG5cdFx0XHRlbHNlIGRpc3AucHVzaCh7dmFsdWU6KHBvcDIudHlwZSE9MT9cIihcIjpcIlwiKStwb3AyLnZhbHVlKyhwb3AyLnR5cGUhPTE/XCIpXCI6XCJcIikrXCI8c3VwPlwiK3BvcDEudmFsdWUrXCI8L3N1cD5cIix0eXBlOjF9KTtcclxuXHRcdH1cclxuXHRcdGVsc2UgaWYoYXJyW2ldLnR5cGU9PT0yfHxhcnJbaV0udHlwZT09PTkpe1xyXG5cdFx0XHRwb3AxPWRpc3AucG9wKCk7XHJcblx0XHRcdHBvcDI9ZGlzcC5wb3AoKTtcclxuXHRcdFx0ZGlzcC5wdXNoKHt2YWx1ZToocG9wMi50eXBlIT0xP1wiKFwiOlwiXCIpK3BvcDIudmFsdWUrKHBvcDIudHlwZSE9MT9cIilcIjpcIlwiKSthcnJbaV0uc2hvdysocG9wMS50eXBlIT0xP1wiKFwiOlwiXCIpK3BvcDEudmFsdWUrKHBvcDEudHlwZSE9MT9cIilcIjpcIlwiKSx0eXBlOmFycltpXS50eXBlfSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIGlmKGFycltpXS50eXBlPT09MTIpe1xyXG5cdFx0XHRwb3AxPWRpc3AucG9wKCk7XHJcblx0XHRcdHBvcDI9ZGlzcC5wb3AoKTtcclxuXHRcdFx0cG9wMz1kaXNwLnBvcCgpO1xyXG5cdFx0XHRkaXNwLnB1c2goe3ZhbHVlOmFycltpXS5zaG93K1wiKFwiK3BvcDMudmFsdWUrXCIsXCIrcG9wMi52YWx1ZStcIixcIitwb3AxLnZhbHVlK1wiKVwiLHR5cGU6MTJ9KTtcclxuXHRcdH1cclxuXHR9XHJcblx0cmV0dXJuIGRpc3BbMF0udmFsdWU7XHJcbn07XHJcbm1vZHVsZS5leHBvcnRzPU1leHA7IiwiaW1wb3J0IHsgTWFya2Rvd25WaWV3LCBBcHAsIE5vdGljZSwgVEZpbGUgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IEV4dGVuZGVkQmxvY2tDYWNoZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBnZXRTdG9yZSB9IGZyb20gXCIuL2J1dHRvblN0b3JlXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZW50QXJyYXksIGhhbmRsZVZhbHVlQXJyYXkgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlQnV0dG9uID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgcmVtb3ZlOiBzdHJpbmcsXG4gIGxpbmVTdGFydDogbnVtYmVyLFxuICBsaW5lRW5kOiBudW1iZXJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCB7IGNvbnRlbnRBcnJheSwgZmlsZSB9ID0gYXdhaXQgY3JlYXRlQ29udGVudEFycmF5KGFwcCk7XG4gIGNvbnN0IHN0b3JlID0gZ2V0U3RvcmUoYXBwLmlzTW9iaWxlKTtcbiAgaWYgKHJlbW92ZSA9PT0gXCJ0cnVlXCIpIHtcbiAgICBjb25zdCBudW1iZXJPZkl0ZW1zID0gbGluZUVuZCAtIGxpbmVTdGFydDtcbiAgICBjb250ZW50QXJyYXkuc3BsaWNlKGxpbmVTdGFydCwgbnVtYmVyT2ZJdGVtcyArIDEpO1xuICAgIGlmIChcbiAgICAgIGNvbnRlbnRBcnJheVtsaW5lU3RhcnRdICYmXG4gICAgICBjb250ZW50QXJyYXlbbGluZVN0YXJ0XS5pbmNsdWRlcyhcIl5idXR0b24tXCIpXG4gICAgKSB7XG4gICAgICBjb250ZW50QXJyYXkuc3BsaWNlKGxpbmVTdGFydCwgMSk7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50QXJyYXkuam9pbihcIlxcblwiKTtcbiAgICBhd2FpdCBhcHAudmF1bHQubW9kaWZ5KGZpbGUsIGNvbnRlbnQpO1xuICB9XG4gIGlmIChsaW5lU3RhcnQgPT09IGxpbmVFbmQpIHtcbiAgICBjb250ZW50QXJyYXkuc3BsaWNlKGxpbmVTdGFydCwgMSk7XG4gICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRBcnJheS5qb2luKFwiXFxuXCIpO1xuICAgIGF3YWl0IGFwcC52YXVsdC5tb2RpZnkoZmlsZSwgY29udGVudCk7XG4gIH0gZWxzZSB7XG4gICAgaGFuZGxlVmFsdWVBcnJheShyZW1vdmUsIGFzeW5jIChhcmdBcnJheSkgPT4ge1xuICAgICAgY29uc3QgYnV0dG9ucyA9XG4gICAgICAgIHN0b3JlICYmXG4gICAgICAgIHN0b3JlLmZpbHRlcigoaXRlbTogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiB7XG4gICAgICAgICAgbGV0IGV4aXN0cztcbiAgICAgICAgICBhcmdBcnJheS5mb3JFYWNoKChhcmcpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSBgYnV0dG9uLSR7YXJnfWAgJiYgaXRlbS5wYXRoID09PSBmaWxlLnBhdGgpIHtcbiAgICAgICAgICAgICAgZXhpc3RzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gZXhpc3RzO1xuICAgICAgICB9KTtcbiAgICAgIGlmIChidXR0b25zWzBdKSB7XG4gICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICBidXR0b25zLmZvckVhY2goKGJ1dHRvbjogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3RhcnQgPSBidXR0b24ucG9zaXRpb24uc3RhcnQubGluZSAtIG9mZnNldDtcbiAgICAgICAgICBjb25zdCBudW1MaW5lcyA9XG4gICAgICAgICAgICBidXR0b24ucG9zaXRpb24uZW5kLmxpbmUgLSBidXR0b24ucG9zaXRpb24uc3RhcnQubGluZTtcbiAgICAgICAgICBjb250ZW50QXJyYXkuc3BsaWNlKHN0YXJ0LCBudW1MaW5lcyArIDIpO1xuICAgICAgICAgIG9mZnNldCArPSBudW1MaW5lcyArIDI7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBjb250ZW50ID0gY29udGVudEFycmF5LmpvaW4oXCJcXG5cIik7XG4gICAgICAgIGF3YWl0IGFwcC52YXVsdC5tb2RpZnkoZmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVTZWN0aW9uID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgc2VjdGlvbjogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgeyBjb250ZW50QXJyYXksIGZpbGUgfSA9IGF3YWl0IGNyZWF0ZUNvbnRlbnRBcnJheShhcHApO1xuICBpZiAoc2VjdGlvbi5pbmNsdWRlcyhcIltcIikgJiYgc2VjdGlvbi5pbmNsdWRlcyhcIl1cIikpIHtcbiAgICBjb25zdCBhcmdzID0gc2VjdGlvbi5tYXRjaCgvXFxbKC4qKVxcXS8pO1xuICAgIGlmIChhcmdzWzFdKSB7XG4gICAgICBjb25zdCBhcmdBcnJheSA9IGFyZ3NbMV0uc3BsaXQoLyxcXHM/Lyk7XG4gICAgICBpZiAoYXJnQXJyYXlbMF0pIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBwYXJzZUludChhcmdBcnJheVswXSkgLSAxO1xuICAgICAgICBjb25zdCBlbmQgPSBwYXJzZUludChhcmdBcnJheVsxXSk7XG4gICAgICAgIGNvbnN0IG51bUxpbmVzID0gZW5kIC0gc3RhcnQ7XG4gICAgICAgIGNvbnRlbnRBcnJheS5zcGxpY2Uoc3RhcnQsIG51bUxpbmVzKTtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRBcnJheS5qb2luKFwiXFxuXCIpO1xuICAgICAgICBhd2FpdCBhcHAudmF1bHQubW9kaWZ5KGZpbGUsIGNvbnRlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHByZXBlbmRDb250ZW50ID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgaW5zZXJ0OiBzdHJpbmcsXG4gIGxpbmVTdGFydDogbnVtYmVyXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgYWN0aXZlVmlldyA9IGFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlVmlld09mVHlwZShNYXJrZG93blZpZXcpO1xuICBpZiAoYWN0aXZlVmlldykge1xuICAgIGNvbnN0IGZpbGUgPSBhY3RpdmVWaWV3LmZpbGU7XG4gICAgbGV0IGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChmaWxlKTtcbiAgICBjb25zdCBjb250ZW50QXJyYXkgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpO1xuICAgIGNvbnRlbnRBcnJheS5zcGxpY2UobGluZVN0YXJ0LCAwLCBpbnNlcnQpO1xuICAgIGNvbnRlbnQgPSBjb250ZW50QXJyYXkuam9pbihcIlxcblwiKTtcbiAgICBhd2FpdCBhcHAudmF1bHQubW9kaWZ5KGZpbGUsIGNvbnRlbnQpO1xuICB9IGVsc2Uge1xuICAgIG5ldyBOb3RpY2UoXCJUaGVyZSB3YXMgYW4gaXNzdWUgcHJlcGVuZGluZyBjb250ZW50LCBwbGVhc2UgdHJ5IGFnYWluXCIsIDIwMDApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYXBwZW5kQ29udGVudCA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIGluc2VydDogc3RyaW5nLFxuICBsaW5lRW5kOiBudW1iZXJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBhY3RpdmVWaWV3ID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gIGlmIChhY3RpdmVWaWV3KSB7XG4gICAgY29uc3QgZmlsZSA9IGFjdGl2ZVZpZXcuZmlsZTtcbiAgICBsZXQgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xuICAgIGNvbnN0IGNvbnRlbnRBcnJheSA9IGNvbnRlbnQuc3BsaXQoXCJcXG5cIik7XG4gICAgbGV0IGluc2VydGlvblBvaW50O1xuICAgIGlmIChcbiAgICAgIGNvbnRlbnRBcnJheVtsaW5lRW5kICsgMV0gJiZcbiAgICAgIGNvbnRlbnRBcnJheVtsaW5lRW5kICsgMV0uaW5jbHVkZXMoXCJeYnV0dG9uXCIpXG4gICAgKSB7XG4gICAgICBpbnNlcnRpb25Qb2ludCA9IGxpbmVFbmQgKyAyO1xuICAgICAgaW5zZXJ0ID0gYFxcbiR7aW5zZXJ0fWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc2VydGlvblBvaW50ID0gbGluZUVuZCArIDE7XG4gICAgfVxuICAgIGNvbnRlbnRBcnJheS5zcGxpY2UoaW5zZXJ0aW9uUG9pbnQsIDAsIGAke2luc2VydH1gKTtcbiAgICBjb250ZW50ID0gY29udGVudEFycmF5LmpvaW4oXCJcXG5cIik7XG4gICAgYXdhaXQgYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCBjb250ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBuZXcgTm90aWNlKFwiVGhlcmUgd2FzIGFuIGlzc3VlIGFwcGVuZGluZyBjb250ZW50LCBwbGVhc2UgdHJ5IGFnYWluXCIsIDIwMDApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkQ29udGVudEF0TGluZSA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIGluc2VydDogc3RyaW5nLFxuICB0eXBlOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBsaW5lTnVtYmVyID0gdHlwZS5tYXRjaCgvKFxcZCspL2cpO1xuICBpZiAobGluZU51bWJlclswXSkge1xuICAgIGNvbnN0IGluc2VydGlvblBvaW50ID0gcGFyc2VJbnQobGluZU51bWJlclswXSkgLSAxO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXcgPSBhcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgICBpZiAoYWN0aXZlVmlldykge1xuICAgICAgY29uc3QgZmlsZSA9IGFjdGl2ZVZpZXcuZmlsZTtcbiAgICAgIGxldCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoZmlsZSk7XG4gICAgICBjb25zdCBjb250ZW50QXJyYXkgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpO1xuICAgICAgY29udGVudEFycmF5LnNwbGljZShpbnNlcnRpb25Qb2ludCwgMCwgYCR7aW5zZXJ0fWApO1xuICAgICAgY29udGVudCA9IGNvbnRlbnRBcnJheS5qb2luKFwiXFxuXCIpO1xuICAgICAgYXdhaXQgYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCBjb250ZW50KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3IE5vdGljZShcIlRoZXJlIHdhcyBhbiBpc3N1ZSBhZGRpbmcgY29udGVudCwgcGxlYXNlIHRyeSBhZ2FpblwiLCAyMDAwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU5vdGUgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBjb250ZW50OiBzdHJpbmcsXG4gIHR5cGU6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHBhdGggPSB0eXBlLm1hdGNoKC9cXCgoW1xcc1xcU10qPyksP1xccz8oc3BsaXQpP1xcKS8pO1xuICBpZiAocGF0aCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKGAke3BhdGhbMV19Lm1kYCwgY29udGVudCk7XG4gICAgICBjb25zdCBmaWxlID0gYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChgJHtwYXRoWzFdfS5tZGApIGFzIFRGaWxlO1xuICAgICAgaWYgKHBhdGhbMl0pIHtcbiAgICAgICAgYXdhaXQgYXBwLndvcmtzcGFjZS5zcGxpdEFjdGl2ZUxlYWYoKS5vcGVuRmlsZShmaWxlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFwcC53b3Jrc3BhY2UuYWN0aXZlTGVhZi5vcGVuRmlsZShmaWxlKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBuZXcgTm90aWNlKFwiVGhlcmUgd2FzIGFuIGVycm9yISBNYXliZSB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cz9cIiwgMjAwMCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5ldyBOb3RpY2UoYGNvdWxkbid0IHBhcnNlIHRoZSBwYXRoIWAsIDIwMDApO1xuICB9XG59O1xuIiwiaW1wb3J0IHsgQXBwIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBBcmd1bWVudHMsIFBvc2l0aW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRlbnRBcnJheSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCBnZXRCdXR0b25Qb3NpdGlvbiA9IChcbiAgY29udGVudDogc3RyaW5nLFxuICBhcmdzOiBBcmd1bWVudHNcbik6IFBvc2l0aW9uID0+IHtcbiAgbGV0IGZpbmFsUG9zaXRpb246IFBvc2l0aW9uO1xuICBjb25zdCBwb3NzaWJsZVBvc2l0aW9uczogUG9zaXRpb25bXSA9IFtdO1xuICBsZXQgcG9zc2libGVQb3NpdGlvbjogUG9zaXRpb24gPSB7IGxpbmVTdGFydDogMCwgbGluZUVuZDogMCB9O1xuICBjb25zdCBjb250ZW50QXJyYXkgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpO1xuICBsZXQgb3BlbiA9IGZhbHNlO1xuICBjb250ZW50QXJyYXkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaXRlbS5pbmNsdWRlcyhcImBgYFwiKSkge1xuICAgICAgaWYgKG9wZW4gPT09IGZhbHNlKSB7XG4gICAgICAgIHBvc3NpYmxlUG9zaXRpb24ubGluZVN0YXJ0ID0gaW5kZXg7XG4gICAgICAgIG9wZW4gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9zc2libGVQb3NpdGlvbi5saW5lRW5kID0gaW5kZXg7XG4gICAgICAgIHBvc3NpYmxlUG9zaXRpb25zLnB1c2gocG9zc2libGVQb3NpdGlvbik7XG4gICAgICAgIHBvc3NpYmxlUG9zaXRpb24gPSB7IGxpbmVTdGFydDogMCwgbGluZUVuZDogMCB9O1xuICAgICAgICBvcGVuID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcG9zc2libGVQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24pID0+IHtcbiAgICBjb25zdCBjb2RlYmxvY2sgPSBjb250ZW50QXJyYXlcbiAgICAgIC5zbGljZShwb3NpdGlvbi5saW5lU3RhcnQsIHBvc2l0aW9uLmxpbmVFbmQgKyAxKVxuICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgaWYgKGNvZGVibG9jay5pbmNsdWRlcyhcImJ1dHRvblwiKSAmJiBjb2RlYmxvY2suaW5jbHVkZXMoYXJncy5uYW1lKSkge1xuICAgICAgZmluYWxQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBmaW5hbFBvc2l0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldElubGluZUJ1dHRvblBvc2l0aW9uID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgaWQ6IHN0cmluZ1xuKTogUHJvbWlzZTxQb3NpdGlvbj4gPT4ge1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgY3JlYXRlQ29udGVudEFycmF5KGFwcCk7XG4gIGNvbnN0IHBvc2l0aW9uID0geyBsaW5lU3RhcnQ6IDAsIGxpbmVFbmQ6IDAgfTtcbiAgY29udGVudC5jb250ZW50QXJyYXlcbiAgICAubWFwKChsaW5lOiBzdHJpbmcpID0+IGxpbmUuc3BsaXQoXCIgXCIpKVxuICAgIC5mb3JFYWNoKCh3b3JkcywgaW5kZXgpID0+IHtcbiAgICAgIHdvcmRzLmZvckVhY2goKHdvcmQpID0+IHtcbiAgICAgICAgaWYgKHdvcmQuc3RhcnRzV2l0aChcImBidXR0b25cIikpIHtcbiAgICAgICAgICBpZiAod29yZCA9PT0gYFxcYGJ1dHRvbi0ke2lkfVxcYGApIHtcbiAgICAgICAgICAgIHBvc2l0aW9uLmxpbmVTdGFydCA9IGluZGV4O1xuICAgICAgICAgICAgcG9zaXRpb24ubGluZUVuZCA9IGluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIHJldHVybiBwb3NpdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kTnVtYmVyID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgbGluZU51bWJlcjogbnVtYmVyXG4pOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBjcmVhdGVDb250ZW50QXJyYXkoYXBwKTtcbiAgY29uc3QgdmFsdWU6IHN0cmluZ1tdID0gW107XG4gIGNvbnRlbnQuY29udGVudEFycmF5LmZvckVhY2goKGxpbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gbGluZU51bWJlciAtIDEpIHtcbiAgICAgIHZhbHVlLnB1c2gobGluZSk7XG4gICAgfVxuICB9KTtcbiAgY29uc3QgY29udmVydFdvcmRzID0gdmFsdWVcbiAgICAuam9pbihcIlwiKVxuICAgIC5yZXBsYWNlKFwicGx1c1wiLCBcIitcIilcbiAgICAucmVwbGFjZShcIm1pbnVzXCIsIFwiLVwiKVxuICAgIC5yZXBsYWNlKFwidGltZXNcIiwgXCIqXCIpXG4gICAgLnJlcGxhY2UoL2RpdmlkZShkKT8oXFxzYnkpPy9nLCBcIi9cIik7XG4gIGNvbnN0IG51bWJlcnMgPSBjb252ZXJ0V29yZHMucmVwbGFjZSgvXFxzL2csIFwiXCIpLm1hdGNoKC9bXlxcdzpdKj9cXGQrPy9nKTtcbiAgcmV0dXJuIG51bWJlcnM7XG59O1xuIiwiaW1wb3J0IHsgQXBwLCBNYXJrZG93blZpZXcsIE5vdGljZSwgVEZpbGUgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCBtZXhwIGZyb20gXCJtYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yXCI7XG5cbmltcG9ydCB7IEFyZ3VtZW50cywgUG9zaXRpb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgYXBwZW5kQ29udGVudCxcbiAgY3JlYXRlTm90ZSxcbiAgcHJlcGVuZENvbnRlbnQsXG4gIGFkZENvbnRlbnRBdExpbmUsXG4gIHJlbW92ZUJ1dHRvbixcbiAgcmVtb3ZlU2VjdGlvbixcbn0gZnJvbSBcIi4vaGFuZGxlcnNcIjtcbmltcG9ydCB7XG4gIGdldEJ1dHRvblBvc2l0aW9uLFxuICBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbixcbiAgZmluZE51bWJlcixcbn0gZnJvbSBcIi4vcGFyc2VyXCI7XG5pbXBvcnQgeyBoYW5kbGVWYWx1ZUFycmF5LCBnZXROZXdBcmdzIH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7XG4gIGdldEJ1dHRvblN3YXBCeUlkLFxuICBzZXRCdXR0b25Td2FwQnlJZCxcbiAgZ2V0QnV0dG9uQnlJZCxcbn0gZnJvbSBcIi4vYnV0dG9uU3RvcmVcIjtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZSA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIHsgYWN0aW9uIH06IEFyZ3VtZW50cyxcbiAgcG9zaXRpb246IFBvc2l0aW9uXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgbGV0IGVxdWF0aW9uID0gYWN0aW9uO1xuICBjb25zdCB2YXJpYWJsZXMgPSBhY3Rpb24ubWF0Y2goL1xcJFswLTldKi9nKTtcbiAgaWYgKHZhcmlhYmxlcykge1xuICAgIGNvbnN0IG91dHB1dCA9IHZhcmlhYmxlcy5tYXAoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gICAgICBpZiAoYWN0aXZlVmlldykge1xuICAgICAgICBjb25zdCBsaW5lTnVtYmVyID0gcGFyc2VJbnQodmFsdWUuc3Vic3RyaW5nKDEpKTtcbiAgICAgICAgY29uc3QgbnVtYmVycyA9IGF3YWl0IGZpbmROdW1iZXIoYXBwLCBsaW5lTnVtYmVyKTtcbiAgICAgICAgcmV0dXJuIHsgdmFyaWFibGU6IHZhbHVlLCBudW1iZXJzIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXcgTm90aWNlKGBjb3VsZG4ndCByZWFkIGZpbGVgLCAyMDAwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZXNvbHZlZCA9IGF3YWl0IFByb21pc2UuYWxsKG91dHB1dCk7XG4gICAgcmVzb2x2ZWQuZm9yRWFjaCgodGVybTogeyB2YXJpYWJsZTogc3RyaW5nOyBudW1iZXJzOiBzdHJpbmdbXSB9KSA9PiB7XG4gICAgICBpZiAodGVybS5udW1iZXJzKSB7XG4gICAgICAgIGVxdWF0aW9uID0gZXF1YXRpb24ucmVwbGFjZSh0ZXJtLnZhcmlhYmxlLCB0ZXJtLm51bWJlcnMuam9pbihcIlwiKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXcgTm90aWNlKFwiQ2hlY2sgdGhlIGxpbmUgbnVtYmVyIGluIHlvdXIgY2FsY3VsYXRlIGJ1dHRvblwiLCAzMDAwKTtcbiAgICAgICAgZXF1YXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgY29uc3QgZnVuID0gZXF1YXRpb24gJiYgbWV4cC5ldmFsKGVxdWF0aW9uKTtcbiAgZnVuICYmIGFwcGVuZENvbnRlbnQoYXBwLCBgUmVzdWx0OiAke2Z1bn1gLCBwb3NpdGlvbi5saW5lRW5kKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmUgPSAoXG4gIGFwcDogQXBwLFxuICB7IHJlbW92ZSB9OiBBcmd1bWVudHMsXG4gIHsgbGluZVN0YXJ0LCBsaW5lRW5kIH06IHsgbGluZVN0YXJ0OiBudW1iZXI7IGxpbmVFbmQ6IG51bWJlciB9XG4pOiB2b2lkID0+IHtcbiAgc2V0VGltZW91dCgoKSA9PiByZW1vdmVCdXR0b24oYXBwLCByZW1vdmUsIGxpbmVTdGFydCwgbGluZUVuZCksIDEwMDApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlcGxhY2UgPSAoYXBwOiBBcHAsIHsgcmVwbGFjZSB9OiBBcmd1bWVudHMpOiB2b2lkID0+IHtcbiAgcmVtb3ZlU2VjdGlvbihhcHAsIHJlcGxhY2UpO1xufTtcbmV4cG9ydCBjb25zdCB0ZXh0ID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgYXJnczogQXJndW1lbnRzLFxuICBwb3NpdGlvbjogUG9zaXRpb25cbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBwcmVwZW5kIHRlbXBsYXRlIGFib3ZlIHRoZSBidXR0b25cbiAgaWYgKGFyZ3MudHlwZS5pbmNsdWRlcyhcInByZXBlbmRcIikpIHtcbiAgICBwcmVwZW5kQ29udGVudChhcHAsIGFyZ3MuYWN0aW9uLCBwb3NpdGlvbi5saW5lU3RhcnQpO1xuICB9XG4gIC8vIGFwcGVuZCB0ZW1wbGF0ZSBiZWxvdyB0aGUgYnV0dG9uXG4gIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJhcHBlbmRcIikpIHtcbiAgICBhcHBlbmRDb250ZW50KGFwcCwgYXJncy5hY3Rpb24sIHBvc2l0aW9uLmxpbmVFbmQpO1xuICB9XG4gIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJub3RlXCIpKSB7XG4gICAgY3JlYXRlTm90ZShhcHAsIGFyZ3MuYWN0aW9uLCBhcmdzLnR5cGUpO1xuICB9XG4gIGlmIChhcmdzLnR5cGUuaW5jbHVkZXMoXCJsaW5lXCIpKSB7XG4gICAgYWRkQ29udGVudEF0TGluZShhcHAsIGFyZ3MuYWN0aW9uLCBhcmdzLnR5cGUpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdGVtcGxhdGUgPSBhc3luYyAoXG4gIGFwcDogQXBwLFxuICBhcmdzOiBBcmd1bWVudHMsXG4gIHBvc2l0aW9uOiBQb3NpdGlvblxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHRlbXBsYXRlc0VuYWJsZWQgPSBhcHAuaW50ZXJuYWxQbHVnaW5zLnBsdWdpbnMudGVtcGxhdGVzLmVuYWJsZWQ7XG4gIGNvbnN0IHRlbXBsYXRlclBsdWdpbkVuYWJsZWQgPVxuICAgIGFwcC5wbHVnaW5zLnBsdWdpbnNbXCJ0ZW1wbGF0ZXItb2JzaWRpYW5cIl07XG5cbiAgLy8gb25seSBydW4gaWYgdGVtcGxhdGVzIHBsdWdpbiBpcyBlbmFibGVkXG4gIGlmICh0ZW1wbGF0ZXNFbmFibGVkIHx8IHRlbXBsYXRlclBsdWdpbkVuYWJsZWQpIHtcbiAgICBjb25zdCBmb2xkZXJzOiBzdHJpbmdbXSA9IFtcbiAgICAgIHRlbXBsYXRlc0VuYWJsZWQgJiYgYXBwLmludGVybmFsUGx1Z2lucy5wbHVnaW5zLnRlbXBsYXRlcy5pbnN0YW5jZS5vcHRpb25zLmZvbGRlcj8udG9Mb3dlckNhc2UoKSxcbiAgICAgIHRlbXBsYXRlclBsdWdpbkVuYWJsZWQgJiYgYXBwLnBsdWdpbnM/LnBsdWdpbnNbXG4gICAgICAgIFwidGVtcGxhdGVyLW9ic2lkaWFuXCJcbiAgICAgIF0/LnNldHRpbmdzLnRlbXBsYXRlX2ZvbGRlcj8udG9Mb3dlckNhc2UoKSxcbiAgICAgIHRlbXBsYXRlclBsdWdpbkVuYWJsZWQgJiYgYXBwLnBsdWdpbnM/LnBsdWdpbnNbXG4gICAgICAgIFwidGVtcGxhdGVyLW9ic2lkaWFuXCJcbiAgICAgIF0/LnNldHRpbmdzLnRlbXBsYXRlc19mb2xkZXI/LnRvTG93ZXJDYXNlKCksXG4gICAgXS5maWx0ZXIoKGZvbGRlcikgPT4gZm9sZGVyKTtcbiAgICBjb25zdCB0ZW1wbGF0ZUZpbGUgPSBhcmdzLmFjdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGFsbEZpbGVzID0gYXBwLnZhdWx0LmdldEZpbGVzKCk7XG4gICAgY29uc3QgZmlsZTogVEZpbGUgPSBhbGxGaWxlcy5maWx0ZXIoKGZpbGUpID0+IHtcbiAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgZm9sZGVyc1swXSAmJlxuICAgICAgICBmb2xkZXJzLmZvckVhY2goKGZvbGRlcikgPT4ge1xuICAgICAgICAgIGlmIChmaWxlLnBhdGgudG9Mb3dlckNhc2UoKSA9PT0gYCR7Zm9sZGVyfS8ke3RlbXBsYXRlRmlsZX0ubWRgKSB7XG4gICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9KVswXTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xuICAgICAgLy8gcHJlcGVuZCB0ZW1wbGF0ZSBhYm92ZSB0aGUgYnV0dG9uXG4gICAgICBpZiAoYXJncy50eXBlLmluY2x1ZGVzKFwicHJlcGVuZFwiKSkge1xuICAgICAgICBwcmVwZW5kQ29udGVudChhcHAsIGNvbnRlbnQsIHBvc2l0aW9uLmxpbmVTdGFydCk7XG4gICAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIGFwcC5jb21tYW5kcy5leGVjdXRlQ29tbWFuZEJ5SWQoXG4gICAgICAgICAgICAgIFwidGVtcGxhdGVyLW9ic2lkaWFuOnJlcGxhY2UtaW4tZmlsZS10ZW1wbGF0ZXJcIlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAxMDBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIC8vIGFwcGVuZCB0ZW1wbGF0ZSBiZWxvdyB0aGUgYnV0dG9uXG4gICAgICBpZiAoYXJncy50eXBlLmluY2x1ZGVzKFwiYXBwZW5kXCIpKSB7XG4gICAgICAgIGFwcGVuZENvbnRlbnQoYXBwLCBjb250ZW50LCBwb3NpdGlvbi5saW5lRW5kKTtcbiAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgYXBwLmNvbW1hbmRzLmV4ZWN1dGVDb21tYW5kQnlJZChcbiAgICAgICAgICAgICAgXCJ0ZW1wbGF0ZXItb2JzaWRpYW46cmVwbGFjZS1pbi1maWxlLXRlbXBsYXRlclwiXG4gICAgICAgICAgICApLFxuICAgICAgICAgIDEwMFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGFyZ3MudHlwZS5pbmNsdWRlcyhcIm5vdGVcIikpIHtcbiAgICAgICAgY3JlYXRlTm90ZShhcHAsIGNvbnRlbnQsIGFyZ3MudHlwZSk7XG4gICAgICB9XG4gICAgICBpZiAoYXJncy50eXBlLmluY2x1ZGVzKFwibGluZVwiKSkge1xuICAgICAgICBhZGRDb250ZW50QXRMaW5lKGFwcCwgY29udGVudCwgYXJncy50eXBlKTtcbiAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgYXBwLmNvbW1hbmRzLmV4ZWN1dGVDb21tYW5kQnlJZChcbiAgICAgICAgICAgICAgXCJ0ZW1wbGF0ZXItb2JzaWRpYW46cmVwbGFjZS1pbi1maWxlLXRlbXBsYXRlclwiXG4gICAgICAgICAgICApLFxuICAgICAgICAgIDEwMFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXcgTm90aWNlKFxuICAgICAgICBgQ291bGRuJ3QgZmluZCB0aGUgc3BlY2lmaWVkIHRlbXBsYXRlLCBwbGVhc2UgY2hlY2sgYW5kIHRyeSBhZ2FpbmAsXG4gICAgICAgIDIwMDBcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5ldyBOb3RpY2UoXG4gICAgICBcIllvdSBuZWVkIHRvIGhhdmUgdGhlIFRlbXBsYXRlcyBvciBUZW1wbGF0ZXIgcGx1Z2luIGVuYWJsZWQgYW5kIFRlbXBsYXRlIGZvbGRlciBkZWZpbmVkXCIsXG4gICAgICAyMDAwXG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGxpbmsgPSAoeyBhY3Rpb24gfTogQXJndW1lbnRzKTogdm9pZCA9PiB7XG4gIGNvbnN0IGxpbmsgPSBhY3Rpb24udHJpbSgpO1xuICB3aW5kb3cub3BlbihsaW5rKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21tYW5kID0gKGFwcDogQXBwLCB7IGFjdGlvbiB9OiBBcmd1bWVudHMpOiB2b2lkID0+IHtcbiAgY29uc3QgYWxsQ29tbWFuZHMgPSBhcHAuY29tbWFuZHMubGlzdENvbW1hbmRzKCk7XG4gIGNvbnN0IGNvbW1hbmQgPSBhbGxDb21tYW5kcy5maWx0ZXIoXG4gICAgKGNvbW1hbmQpID0+IGNvbW1hbmQubmFtZS50b1VwcGVyQ2FzZSgpID09PSBhY3Rpb24udG9VcHBlckNhc2UoKS50cmltKClcbiAgKVswXTtcbiAgYXBwLmNvbW1hbmRzLmV4ZWN1dGVDb21tYW5kQnlJZChjb21tYW5kLmlkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzd2FwID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgc3dhcDogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuICBpbmxpbmU6IGJvb2xlYW4sXG4gIGZpbGU6IFRGaWxlXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaGFuZGxlVmFsdWVBcnJheShzd2FwLCBhc3luYyAoYXJnQXJyYXkpID0+IHtcbiAgICBjb25zdCBzd2FwID0gYXdhaXQgZ2V0QnV0dG9uU3dhcEJ5SWQoYXBwLCBpZCk7XG4gICAgY29uc3QgbmV3U3dhcCA9IHN3YXAgKyAxID4gYXJnQXJyYXkubGVuZ3RoIC0gMSA/IDAgOiBzd2FwICsgMTtcbiAgICBzZXRCdXR0b25Td2FwQnlJZChhcHAsIGlkLCBuZXdTd2FwKTtcbiAgICBsZXQgYXJncyA9IGF3YWl0IGdldEJ1dHRvbkJ5SWQoYXBwLCBhcmdBcnJheVtzd2FwXSk7XG4gICAgbGV0IHBvc2l0aW9uO1xuICAgIGxldCBjb250ZW50O1xuICAgIGlmIChhcmdzKSB7XG4gICAgICBpZiAoYXJncy50ZW1wbGF0ZXIpIHtcbiAgICAgICAgYXJncyA9IGF3YWl0IHRlbXBsYXRlcihhcHAsIHBvc2l0aW9uKTtcbiAgICAgICAgaWYgKGlubGluZSkge1xuICAgICAgICAgIG5ldyBOb3RpY2UoXCJ0ZW1wbGF0ZXIgYXJncyBkb24ndCB3b3JrIHdpdGggaW5saW5lIGJ1dHRvbnMgeWV0XCIsIDIwMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoYXJncy5yZXBsYWNlKSB7XG4gICAgICAgIHJlcGxhY2UoYXBwLCBhcmdzKTtcbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLnR5cGUgPT09IFwiY29tbWFuZFwiKSB7XG4gICAgICAgIGNvbW1hbmQoYXBwLCBhcmdzKTtcbiAgICAgIH1cbiAgICAgIC8vIGhhbmRsZSBsaW5rIGJ1dHRvbnNcbiAgICAgIGlmIChhcmdzLnR5cGUgPT09IFwibGlua1wiKSB7XG4gICAgICAgIGxpbmsoYXJncyk7XG4gICAgICB9XG4gICAgICAvLyBoYW5kbGUgdGVtcGxhdGUgYnV0dG9uc1xuICAgICAgaWYgKGFyZ3MudHlwZSAmJiBhcmdzLnR5cGUuaW5jbHVkZXMoXCJ0ZW1wbGF0ZVwiKSkge1xuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoZmlsZSk7XG4gICAgICAgICAgcG9zaXRpb24gPSBpbmxpbmVcbiAgICAgICAgICAgID8gYXdhaXQgZ2V0SW5saW5lQnV0dG9uUG9zaXRpb24oYXBwLCBpZClcbiAgICAgICAgICAgIDogZ2V0QnV0dG9uUG9zaXRpb24oY29udGVudCwgYXJncyk7XG4gICAgICAgICAgdGVtcGxhdGUoYXBwLCBhcmdzLCBwb3NpdGlvbik7XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLnR5cGUgPT09IFwiY2FsY3VsYXRlXCIpIHtcbiAgICAgICAgY2FsY3VsYXRlKGFwcCwgYXJncywgcG9zaXRpb24pO1xuICAgICAgfVxuICAgICAgaWYgKGFyZ3MudHlwZSAmJiBhcmdzLnR5cGUuaW5jbHVkZXMoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChmaWxlKTtcbiAgICAgICAgICBwb3NpdGlvbiA9IGlubGluZVxuICAgICAgICAgICAgPyBhd2FpdCBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbihhcHAsIGlkKVxuICAgICAgICAgICAgOiBnZXRCdXR0b25Qb3NpdGlvbihjb250ZW50LCBhcmdzKTtcbiAgICAgICAgICB0ZXh0KGFwcCwgYXJncywgcG9zaXRpb24pO1xuICAgICAgICB9LCA1MCk7XG4gICAgICB9XG4gICAgICAvLyBoYW5kbGUgcmVtb3ZpbmcgdGhlIGJ1dHRvblxuICAgICAgaWYgKGFyZ3MucmVtb3ZlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChmaWxlKTtcbiAgICAgICAgICBwb3NpdGlvbiA9IGlubGluZVxuICAgICAgICAgICAgPyBhd2FpdCBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbihhcHAsIGlkKVxuICAgICAgICAgICAgOiBnZXRCdXR0b25Qb3NpdGlvbihjb250ZW50LCBhcmdzKTtcbiAgICAgICAgICByZW1vdmUoYXBwLCBhcmdzLCBwb3NpdGlvbik7XG4gICAgICAgIH0sIDc1KTtcbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLnJlcGxhY2UpIHtcbiAgICAgICAgcmVwbGFjZShhcHAsIGFyZ3MpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgdGVtcGxhdGVyID0gYXN5bmMgKFxuICBhcHA6IEFwcCxcbiAgcG9zaXRpb246IFBvc2l0aW9uXG4pOiBQcm9taXNlPEFyZ3VtZW50cz4gPT4ge1xuICBhcHAuY29tbWFuZHMuZXhlY3V0ZUNvbW1hbmRCeUlkKFwiZWRpdG9yOnNhdmUtZmlsZVwiKTtcbiAgY29uc3QgYWN0aXZlVmlldyA9IGFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlVmlld09mVHlwZShNYXJrZG93blZpZXcpO1xuICBpZiAoYWN0aXZlVmlldykge1xuICAgIGNvbnN0IGZpbGUgPSBhY3RpdmVWaWV3LmZpbGU7XG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5jYWNoZWRSZWFkKGZpbGUpO1xuICAgIGFwcC5jb21tYW5kcy5leGVjdXRlQ29tbWFuZEJ5SWQoXG4gICAgICBcInRlbXBsYXRlci1vYnNpZGlhbjpyZXBsYWNlLWluLWZpbGUtdGVtcGxhdGVyXCJcbiAgICApO1xuICAgIGNvbnN0IHsgYXJncyB9ID0gYXdhaXQgZ2V0TmV3QXJncyhhcHAsIHBvc2l0aW9uKTtcbiAgICBjb25zdCBjYWNoZWREYXRhOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGNhY2hlQ2hhbmdlID0gYXBwLnZhdWx0Lm9uKFwibW9kaWZ5XCIsIChmaWxlKSA9PiB7XG4gICAgICBjYWNoZWREYXRhLnB1c2goZmlsZS51bnNhZmVDYWNoZWREYXRhKTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IGNvbnRlbnRcbiAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgIC5zcGxpY2UocG9zaXRpb24ubGluZVN0YXJ0LCBwb3NpdGlvbi5saW5lRW5kIC0gcG9zaXRpb24ubGluZVN0YXJ0ICsgMilcbiAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICBsZXQgZmluYWxDb250ZW50O1xuICAgICAgaWYgKGNhY2hlZERhdGFbMF0pIHtcbiAgICAgICAgY29uc3QgY2FjaGVkQ29udGVudCA9IGNhY2hlZERhdGFbY2FjaGVkRGF0YS5sZW5ndGggLSAxXS5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgbGV0IGFkZE9uZSA9IGZhbHNlO1xuICAgICAgICBpZiAoYXJncy50eXBlLmluY2x1ZGVzKFwicHJlcGVuZFwiKSkge1xuICAgICAgICAgIGFkZE9uZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoYXJncy50eXBlLmluY2x1ZGVzKFwibGluZVwiKSkge1xuICAgICAgICAgIGNvbnN0IGxpbmVOdW1iZXIgPSBhcmdzLnR5cGUubWF0Y2goLyhcXGQrKS9nKTtcbiAgICAgICAgICBpZiAobGluZU51bWJlclswXSkge1xuICAgICAgICAgICAgY29uc3QgbGluZSA9IHBhcnNlSW50KGxpbmVOdW1iZXJbMF0pIC0gMTtcbiAgICAgICAgICAgIGlmIChsaW5lIDwgcG9zaXRpb24ubGluZVN0YXJ0ICYmICFhcmdzLnJlcGxhY2UpIHtcbiAgICAgICAgICAgICAgYWRkT25lID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFkZE9uZSkge1xuICAgICAgICAgIGNhY2hlZENvbnRlbnQuc3BsaWNlKFxuICAgICAgICAgICAgcG9zaXRpb24ubGluZVN0YXJ0ICsgMSxcbiAgICAgICAgICAgIHBvc2l0aW9uLmxpbmVFbmQgLSBwb3NpdGlvbi5saW5lU3RhcnQgKyAyLFxuICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgKTtcbiAgICAgICAgfSAgZWxzZSB7XG4gICAgICAgICAgY2FjaGVkQ29udGVudC5zcGxpY2UoXG4gICAgICAgICAgICBwb3NpdGlvbi5saW5lU3RhcnQsXG4gICAgICAgICAgICBwb3NpdGlvbi5saW5lRW5kIC0gcG9zaXRpb24ubGluZVN0YXJ0ICsgMixcbiAgICAgICAgICAgIGJ1dHRvblxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxDb250ZW50ID0gY2FjaGVkQ29udGVudC5qb2luKFwiXFxuXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmluYWxDb250ZW50ID0gY29udGVudDtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGFwcC52YXVsdC5tb2RpZnkoZmlsZSwgZmluYWxDb250ZW50KTtcbiAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLm9mZnJlZihjYWNoZUNoYW5nZSk7XG4gICAgfSwgMjAwKTtcbiAgICByZXR1cm4gYXJncztcbiAgfVxufTtcbiIsImltcG9ydCB7IEFwcCwgTm90aWNlLCBNYXJrZG93blZpZXcgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IEFyZ3VtZW50cyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQge1xuICBjYWxjdWxhdGUsXG4gIHJlbW92ZSxcbiAgcmVwbGFjZSxcbiAgdGVtcGxhdGUsXG4gIGxpbmssXG4gIGNvbW1hbmQsXG4gIHN3YXAsXG4gIHRlbXBsYXRlcixcbiAgdGV4dCxcbn0gZnJvbSBcIi4vYnV0dG9uVHlwZXNcIjtcbmltcG9ydCB7IGdldEJ1dHRvblBvc2l0aW9uLCBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbiB9IGZyb20gXCIuL3BhcnNlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbiB7XG4gIGFwcD86IEFwcDtcbiAgZWw/OiBIVE1MRWxlbWVudDtcbiAgYXJncz86IEFyZ3VtZW50cztcbiAgaW5saW5lPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG4gIGNsaWNrT3ZlcnJpZGU/OiB7XG4gICAgcGFyYW1zOiBhbnlbXTtcbiAgICBjbGljazogKC4uLnBhcmFtczogYW55W10pID0+IHZvaWQ7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCdXR0b24gPSAoe1xuICBhcHAsXG4gIGVsLFxuICBhcmdzLFxuICBpbmxpbmUsXG4gIGlkLFxuICBjbGlja092ZXJyaWRlLFxufTogQnV0dG9uKTogSFRNTEVsZW1lbnQgPT4ge1xuICAvL2NyZWF0ZSB0aGUgYnV0dG9uIGVsZW1lbnRcbiAgY29uc3QgYnV0dG9uID0gZWwuY3JlYXRlRWwoXCJidXR0b25cIiwge1xuICAgIGNsczogW1xuICAgICAgYXJncy5jbGFzc1xuICAgICAgPyBgJHthcmdzLmNsYXNzfSAke2FyZ3MuY29sb3J9YFxuICAgICAgOiBgYnV0dG9uLWRlZmF1bHQgJHthcmdzLmNvbG9yID8gYXJncy5jb2xvciA6IFwiXCJ9YCxcbiAgICAgIGlubGluZSA/IFwiYnV0dG9uLWlubGluZVwiIDogXCJcIlxuICAgICAgXVxuICB9KTtcbiAgYnV0dG9uLmlubmVySFRNTCA9IGFyZ3MubmFtZTtcbiAgYXJncy5pZCA/IGJ1dHRvbi5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBhcmdzLmlkKSA6IFwiXCI7XG4gIGJ1dHRvbi5vbihcImNsaWNrXCIsIFwiYnV0dG9uXCIsICgpID0+IHtcbiAgICBjbGlja092ZXJyaWRlXG4gICAgICA/IGNsaWNrT3ZlcnJpZGUuY2xpY2soLi4uY2xpY2tPdmVycmlkZS5wYXJhbXMpXG4gICAgICA6IGNsaWNrSGFuZGxlcihhcHAsIGFyZ3MsIGlubGluZSwgaWQpO1xuICB9KTtcbiAgcmV0dXJuIGJ1dHRvbjtcbn07XG5cbmNvbnN0IGNsaWNrSGFuZGxlciA9IGFzeW5jIChcbiAgYXBwOiBBcHAsXG4gIGFyZ3M6IEFyZ3VtZW50cyxcbiAgaW5saW5lOiBib29sZWFuLFxuICBpZDogc3RyaW5nXG4pID0+IHtcbiAgY29uc3QgYWN0aXZlVmlldyA9IGFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlVmlld09mVHlwZShNYXJrZG93blZpZXcpO1xuICBsZXQgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGFjdGl2ZVZpZXcuZmlsZSk7XG4gIGxldCBwb3NpdGlvbiA9IGlubGluZVxuICAgID8gYXdhaXQgZ2V0SW5saW5lQnV0dG9uUG9zaXRpb24oYXBwLCBpZClcbiAgICA6IGdldEJ1dHRvblBvc2l0aW9uKGNvbnRlbnQsIGFyZ3MpO1xuICAvLyBoYW5kbGUgY29tbWFuZCBidXR0b25zXG4gIGlmIChhcmdzLnRlbXBsYXRlcikge1xuICAgIGFyZ3MgPSBhd2FpdCB0ZW1wbGF0ZXIoYXBwLCBwb3NpdGlvbik7XG4gICAgaWYgKGlubGluZSkge1xuICAgICAgbmV3IE5vdGljZShcInRlbXBsYXRlciBhcmdzIGRvbid0IHdvcmsgd2l0aCBpbmxpbmUgYnV0dG9ucyB5ZXRcIiwgMjAwMCk7XG4gICAgfVxuICB9XG4gIGlmIChhcmdzLnJlcGxhY2UpIHtcbiAgICByZXBsYWNlKGFwcCwgYXJncyk7XG4gIH1cbiAgaWYgKGFyZ3MudHlwZSA9PT0gXCJjb21tYW5kXCIpIHtcbiAgICBjb21tYW5kKGFwcCwgYXJncyk7XG4gIH1cbiAgLy8gaGFuZGxlIGxpbmsgYnV0dG9uc1xuICBpZiAoYXJncy50eXBlID09PSBcImxpbmtcIikge1xuICAgIGxpbmsoYXJncyk7XG4gIH1cbiAgLy8gaGFuZGxlIHRlbXBsYXRlIGJ1dHRvbnNcbiAgaWYgKGFyZ3MudHlwZSAmJiBhcmdzLnR5cGUuaW5jbHVkZXMoXCJ0ZW1wbGF0ZVwiKSkge1xuICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGFjdGl2ZVZpZXcuZmlsZSk7XG4gICAgICBwb3NpdGlvbiA9IGlubGluZVxuICAgICAgICA/IGF3YWl0IGdldElubGluZUJ1dHRvblBvc2l0aW9uKGFwcCwgaWQpXG4gICAgICAgIDogZ2V0QnV0dG9uUG9zaXRpb24oY29udGVudCwgYXJncyk7XG4gICAgICB0ZW1wbGF0ZShhcHAsIGFyZ3MsIHBvc2l0aW9uKTtcbiAgICB9LCA1MCk7XG4gIH1cbiAgaWYgKGFyZ3MudHlwZSA9PT0gXCJjYWxjdWxhdGVcIikge1xuICAgIGNhbGN1bGF0ZShhcHAsIGFyZ3MsIHBvc2l0aW9uKTtcbiAgfVxuICBpZiAoYXJncy50eXBlICYmIGFyZ3MudHlwZS5pbmNsdWRlcyhcInRleHRcIikpIHtcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChhY3RpdmVWaWV3LmZpbGUpO1xuICAgICAgcG9zaXRpb24gPSBpbmxpbmVcbiAgICAgICAgPyBhd2FpdCBnZXRJbmxpbmVCdXR0b25Qb3NpdGlvbihhcHAsIGlkKVxuICAgICAgICA6IGdldEJ1dHRvblBvc2l0aW9uKGNvbnRlbnQsIGFyZ3MpO1xuICAgICAgdGV4dChhcHAsIGFyZ3MsIHBvc2l0aW9uKTtcbiAgICB9LCA1MCk7XG4gIH1cbiAgLy8gaGFuZGxlIHJlbW92aW5nIHRoZSBidXR0b25cbiAgaWYgKGFyZ3MucmVtb3ZlKSB7XG4gICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoYWN0aXZlVmlldy5maWxlKTtcbiAgICAgIHBvc2l0aW9uID0gaW5saW5lXG4gICAgICAgID8gYXdhaXQgZ2V0SW5saW5lQnV0dG9uUG9zaXRpb24oYXBwLCBpZClcbiAgICAgICAgOiBnZXRCdXR0b25Qb3NpdGlvbihjb250ZW50LCBhcmdzKTtcbiAgICAgIHJlbW92ZShhcHAsIGFyZ3MsIHBvc2l0aW9uKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuICBpZiAoYXJncy5zd2FwKSB7XG4gICAgaWYgKCFpbmxpbmUpIHtcbiAgICAgIG5ldyBOb3RpY2UoXCJzd2FwIGFyZ3Mgb25seSB3b3JrIGluIGlubGluZSBidXR0b25zIGZvciBub3dcIiwgMjAwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN3YXAoYXBwLCBhcmdzLnN3YXAsIGlkLCBpbmxpbmUsIGFjdGl2ZVZpZXcuZmlsZSk7XG4gICAgfVxuICB9XG59O1xuIiwiZXhwb3J0IHZhciB0b3AgPSAndG9wJztcbmV4cG9ydCB2YXIgYm90dG9tID0gJ2JvdHRvbSc7XG5leHBvcnQgdmFyIHJpZ2h0ID0gJ3JpZ2h0JztcbmV4cG9ydCB2YXIgbGVmdCA9ICdsZWZ0JztcbmV4cG9ydCB2YXIgYXV0byA9ICdhdXRvJztcbmV4cG9ydCB2YXIgYmFzZVBsYWNlbWVudHMgPSBbdG9wLCBib3R0b20sIHJpZ2h0LCBsZWZ0XTtcbmV4cG9ydCB2YXIgc3RhcnQgPSAnc3RhcnQnO1xuZXhwb3J0IHZhciBlbmQgPSAnZW5kJztcbmV4cG9ydCB2YXIgY2xpcHBpbmdQYXJlbnRzID0gJ2NsaXBwaW5nUGFyZW50cyc7XG5leHBvcnQgdmFyIHZpZXdwb3J0ID0gJ3ZpZXdwb3J0JztcbmV4cG9ydCB2YXIgcG9wcGVyID0gJ3BvcHBlcic7XG5leHBvcnQgdmFyIHJlZmVyZW5jZSA9ICdyZWZlcmVuY2UnO1xuZXhwb3J0IHZhciB2YXJpYXRpb25QbGFjZW1lbnRzID0gLyojX19QVVJFX18qL2Jhc2VQbGFjZW1lbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIGFjYy5jb25jYXQoW3BsYWNlbWVudCArIFwiLVwiICsgc3RhcnQsIHBsYWNlbWVudCArIFwiLVwiICsgZW5kXSk7XG59LCBbXSk7XG5leHBvcnQgdmFyIHBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovW10uY29uY2F0KGJhc2VQbGFjZW1lbnRzLCBbYXV0b10pLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIGFjYy5jb25jYXQoW3BsYWNlbWVudCwgcGxhY2VtZW50ICsgXCItXCIgKyBzdGFydCwgcGxhY2VtZW50ICsgXCItXCIgKyBlbmRdKTtcbn0sIFtdKTsgLy8gbW9kaWZpZXJzIHRoYXQgbmVlZCB0byByZWFkIHRoZSBET01cblxuZXhwb3J0IHZhciBiZWZvcmVSZWFkID0gJ2JlZm9yZVJlYWQnO1xuZXhwb3J0IHZhciByZWFkID0gJ3JlYWQnO1xuZXhwb3J0IHZhciBhZnRlclJlYWQgPSAnYWZ0ZXJSZWFkJzsgLy8gcHVyZS1sb2dpYyBtb2RpZmllcnNcblxuZXhwb3J0IHZhciBiZWZvcmVNYWluID0gJ2JlZm9yZU1haW4nO1xuZXhwb3J0IHZhciBtYWluID0gJ21haW4nO1xuZXhwb3J0IHZhciBhZnRlck1haW4gPSAnYWZ0ZXJNYWluJzsgLy8gbW9kaWZpZXIgd2l0aCB0aGUgcHVycG9zZSB0byB3cml0ZSB0byB0aGUgRE9NIChvciB3cml0ZSBpbnRvIGEgZnJhbWV3b3JrIHN0YXRlKVxuXG5leHBvcnQgdmFyIGJlZm9yZVdyaXRlID0gJ2JlZm9yZVdyaXRlJztcbmV4cG9ydCB2YXIgd3JpdGUgPSAnd3JpdGUnO1xuZXhwb3J0IHZhciBhZnRlcldyaXRlID0gJ2FmdGVyV3JpdGUnO1xuZXhwb3J0IHZhciBtb2RpZmllclBoYXNlcyA9IFtiZWZvcmVSZWFkLCByZWFkLCBhZnRlclJlYWQsIGJlZm9yZU1haW4sIG1haW4sIGFmdGVyTWFpbiwgYmVmb3JlV3JpdGUsIHdyaXRlLCBhZnRlcldyaXRlXTsiLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXROb2RlTmFtZShlbGVtZW50KSB7XG4gIHJldHVybiBlbGVtZW50ID8gKGVsZW1lbnQubm9kZU5hbWUgfHwgJycpLnRvTG93ZXJDYXNlKCkgOiBudWxsO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvdyhub2RlKSB7XG4gIGlmIChub2RlID09IG51bGwpIHtcbiAgICByZXR1cm4gd2luZG93O1xuICB9XG5cbiAgaWYgKG5vZGUudG9TdHJpbmcoKSAhPT0gJ1tvYmplY3QgV2luZG93XScpIHtcbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IG5vZGUub3duZXJEb2N1bWVudDtcbiAgICByZXR1cm4gb3duZXJEb2N1bWVudCA/IG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93IDogd2luZG93O1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59IiwiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcblxuZnVuY3Rpb24gaXNFbGVtZW50KG5vZGUpIHtcbiAgdmFyIE93bkVsZW1lbnQgPSBnZXRXaW5kb3cobm9kZSkuRWxlbWVudDtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBPd25FbGVtZW50IHx8IG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50O1xufVxuXG5mdW5jdGlvbiBpc0hUTUxFbGVtZW50KG5vZGUpIHtcbiAgdmFyIE93bkVsZW1lbnQgPSBnZXRXaW5kb3cobm9kZSkuSFRNTEVsZW1lbnQ7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgT3duRWxlbWVudCB8fCBub2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzU2hhZG93Um9vdChub2RlKSB7XG4gIC8vIElFIDExIGhhcyBubyBTaGFkb3dSb290XG4gIGlmICh0eXBlb2YgU2hhZG93Um9vdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5TaGFkb3dSb290O1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIE93bkVsZW1lbnQgfHwgbm9kZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Q7XG59XG5cbmV4cG9ydCB7IGlzRWxlbWVudCwgaXNIVE1MRWxlbWVudCwgaXNTaGFkb3dSb290IH07IiwiaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi4vZG9tLXV0aWxzL2luc3RhbmNlT2YuanNcIjsgLy8gVGhpcyBtb2RpZmllciB0YWtlcyB0aGUgc3R5bGVzIHByZXBhcmVkIGJ5IHRoZSBgY29tcHV0ZVN0eWxlc2AgbW9kaWZpZXJcbi8vIGFuZCBhcHBsaWVzIHRoZW0gdG8gdGhlIEhUTUxFbGVtZW50cyBzdWNoIGFzIHBvcHBlciBhbmQgYXJyb3dcblxuZnVuY3Rpb24gYXBwbHlTdHlsZXMoX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlO1xuICBPYmplY3Qua2V5cyhzdGF0ZS5lbGVtZW50cykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgIHZhciBzdHlsZSA9IHN0YXRlLnN0eWxlc1tuYW1lXSB8fCB7fTtcbiAgICB2YXIgYXR0cmlidXRlcyA9IHN0YXRlLmF0dHJpYnV0ZXNbbmFtZV0gfHwge307XG4gICAgdmFyIGVsZW1lbnQgPSBzdGF0ZS5lbGVtZW50c1tuYW1lXTsgLy8gYXJyb3cgaXMgb3B0aW9uYWwgKyB2aXJ0dWFsIGVsZW1lbnRzXG5cbiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkgfHwgIWdldE5vZGVOYW1lKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBGbG93IGRvZXNuJ3Qgc3VwcG9ydCB0byBleHRlbmQgdGhpcyBwcm9wZXJ0eSwgYnV0IGl0J3MgdGhlIG1vc3RcbiAgICAvLyBlZmZlY3RpdmUgd2F5IHRvIGFwcGx5IHN0eWxlcyB0byBhbiBIVE1MRWxlbWVudFxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuXG5cbiAgICBPYmplY3QuYXNzaWduKGVsZW1lbnQuc3R5bGUsIHN0eWxlKTtcbiAgICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICB2YXIgdmFsdWUgPSBhdHRyaWJ1dGVzW25hbWVdO1xuXG4gICAgICBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUgPT09IHRydWUgPyAnJyA6IHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGVmZmVjdChfcmVmMikge1xuICB2YXIgc3RhdGUgPSBfcmVmMi5zdGF0ZTtcbiAgdmFyIGluaXRpYWxTdHlsZXMgPSB7XG4gICAgcG9wcGVyOiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGUub3B0aW9ucy5zdHJhdGVneSxcbiAgICAgIGxlZnQ6ICcwJyxcbiAgICAgIHRvcDogJzAnLFxuICAgICAgbWFyZ2luOiAnMCdcbiAgICB9LFxuICAgIGFycm93OiB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgIH0sXG4gICAgcmVmZXJlbmNlOiB7fVxuICB9O1xuICBPYmplY3QuYXNzaWduKHN0YXRlLmVsZW1lbnRzLnBvcHBlci5zdHlsZSwgaW5pdGlhbFN0eWxlcy5wb3BwZXIpO1xuICBzdGF0ZS5zdHlsZXMgPSBpbml0aWFsU3R5bGVzO1xuXG4gIGlmIChzdGF0ZS5lbGVtZW50cy5hcnJvdykge1xuICAgIE9iamVjdC5hc3NpZ24oc3RhdGUuZWxlbWVudHMuYXJyb3cuc3R5bGUsIGluaXRpYWxTdHlsZXMuYXJyb3cpO1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBPYmplY3Qua2V5cyhzdGF0ZS5lbGVtZW50cykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgdmFyIGVsZW1lbnQgPSBzdGF0ZS5lbGVtZW50c1tuYW1lXTtcbiAgICAgIHZhciBhdHRyaWJ1dGVzID0gc3RhdGUuYXR0cmlidXRlc1tuYW1lXSB8fCB7fTtcbiAgICAgIHZhciBzdHlsZVByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhzdGF0ZS5zdHlsZXMuaGFzT3duUHJvcGVydHkobmFtZSkgPyBzdGF0ZS5zdHlsZXNbbmFtZV0gOiBpbml0aWFsU3R5bGVzW25hbWVdKTsgLy8gU2V0IGFsbCB2YWx1ZXMgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIHVuc2V0IHRoZW1cblxuICAgICAgdmFyIHN0eWxlID0gc3R5bGVQcm9wZXJ0aWVzLnJlZHVjZShmdW5jdGlvbiAoc3R5bGUsIHByb3BlcnR5KSB7XG4gICAgICAgIHN0eWxlW3Byb3BlcnR5XSA9ICcnO1xuICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICB9LCB7fSk7IC8vIGFycm93IGlzIG9wdGlvbmFsICsgdmlydHVhbCBlbGVtZW50c1xuXG4gICAgICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkgfHwgIWdldE5vZGVOYW1lKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgT2JqZWN0LmFzc2lnbihlbGVtZW50LnN0eWxlLCBzdHlsZSk7XG4gICAgICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnYXBwbHlTdHlsZXMnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ3dyaXRlJyxcbiAgZm46IGFwcGx5U3R5bGVzLFxuICBlZmZlY3Q6IGVmZmVjdCxcbiAgcmVxdWlyZXM6IFsnY29tcHV0ZVN0eWxlcyddXG59OyIsImltcG9ydCB7IGF1dG8gfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbn0iLCJleHBvcnQgdmFyIG1heCA9IE1hdGgubWF4O1xuZXhwb3J0IHZhciBtaW4gPSBNYXRoLm1pbjtcbmV4cG9ydCB2YXIgcm91bmQgPSBNYXRoLnJvdW5kOyIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFVBU3RyaW5nKCkge1xuICB2YXIgdWFEYXRhID0gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGE7XG5cbiAgaWYgKHVhRGF0YSAhPSBudWxsICYmIHVhRGF0YS5icmFuZHMpIHtcbiAgICByZXR1cm4gdWFEYXRhLmJyYW5kcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBpdGVtLmJyYW5kICsgXCIvXCIgKyBpdGVtLnZlcnNpb247XG4gICAgfSkuam9pbignICcpO1xuICB9XG5cbiAgcmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQ7XG59IiwiaW1wb3J0IGdldFVBU3RyaW5nIGZyb20gXCIuLi91dGlscy91c2VyQWdlbnQuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzTGF5b3V0Vmlld3BvcnQoKSB7XG4gIHJldHVybiAhL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChnZXRVQVN0cmluZygpKTtcbn0iLCJpbXBvcnQgeyBpc0VsZW1lbnQsIGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgeyByb3VuZCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGlzTGF5b3V0Vmlld3BvcnQgZnJvbSBcIi4vaXNMYXlvdXRWaWV3cG9ydC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIGluY2x1ZGVTY2FsZSwgaXNGaXhlZFN0cmF0ZWd5KSB7XG4gIGlmIChpbmNsdWRlU2NhbGUgPT09IHZvaWQgMCkge1xuICAgIGluY2x1ZGVTY2FsZSA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzRml4ZWRTdHJhdGVneSA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZFN0cmF0ZWd5ID0gZmFsc2U7XG4gIH1cblxuICB2YXIgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBzY2FsZVggPSAxO1xuICB2YXIgc2NhbGVZID0gMTtcblxuICBpZiAoaW5jbHVkZVNjYWxlICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBzY2FsZVggPSBlbGVtZW50Lm9mZnNldFdpZHRoID4gMCA/IHJvdW5kKGNsaWVudFJlY3Qud2lkdGgpIC8gZWxlbWVudC5vZmZzZXRXaWR0aCB8fCAxIDogMTtcbiAgICBzY2FsZVkgPSBlbGVtZW50Lm9mZnNldEhlaWdodCA+IDAgPyByb3VuZChjbGllbnRSZWN0LmhlaWdodCkgLyBlbGVtZW50Lm9mZnNldEhlaWdodCB8fCAxIDogMTtcbiAgfVxuXG4gIHZhciBfcmVmID0gaXNFbGVtZW50KGVsZW1lbnQpID8gZ2V0V2luZG93KGVsZW1lbnQpIDogd2luZG93LFxuICAgICAgdmlzdWFsVmlld3BvcnQgPSBfcmVmLnZpc3VhbFZpZXdwb3J0O1xuXG4gIHZhciBhZGRWaXN1YWxPZmZzZXRzID0gIWlzTGF5b3V0Vmlld3BvcnQoKSAmJiBpc0ZpeGVkU3RyYXRlZ3k7XG4gIHZhciB4ID0gKGNsaWVudFJlY3QubGVmdCArIChhZGRWaXN1YWxPZmZzZXRzICYmIHZpc3VhbFZpZXdwb3J0ID8gdmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdCA6IDApKSAvIHNjYWxlWDtcbiAgdmFyIHkgPSAoY2xpZW50UmVjdC50b3AgKyAoYWRkVmlzdWFsT2Zmc2V0cyAmJiB2aXN1YWxWaWV3cG9ydCA/IHZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcCA6IDApKSAvIHNjYWxlWTtcbiAgdmFyIHdpZHRoID0gY2xpZW50UmVjdC53aWR0aCAvIHNjYWxlWDtcbiAgdmFyIGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0IC8gc2NhbGVZO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB0b3A6IHksXG4gICAgcmlnaHQ6IHggKyB3aWR0aCxcbiAgICBib3R0b206IHkgKyBoZWlnaHQsXG4gICAgbGVmdDogeCxcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcbn0iLCJpbXBvcnQgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZyb20gXCIuL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiOyAvLyBSZXR1cm5zIHRoZSBsYXlvdXQgcmVjdCBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGl0cyBvZmZzZXRQYXJlbnQuIExheW91dFxuLy8gbWVhbnMgaXQgZG9lc24ndCB0YWtlIGludG8gYWNjb3VudCB0cmFuc2Zvcm1zLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRMYXlvdXRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCk7IC8vIFVzZSB0aGUgY2xpZW50UmVjdCBzaXplcyBpZiBpdCdzIG5vdCBiZWVuIHRyYW5zZm9ybWVkLlxuICAvLyBGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vcG9wcGVyanMvcG9wcGVyLWNvcmUvaXNzdWVzLzEyMjNcblxuICB2YXIgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgaWYgKE1hdGguYWJzKGNsaWVudFJlY3Qud2lkdGggLSB3aWR0aCkgPD0gMSkge1xuICAgIHdpZHRoID0gY2xpZW50UmVjdC53aWR0aDtcbiAgfVxuXG4gIGlmIChNYXRoLmFicyhjbGllbnRSZWN0LmhlaWdodCAtIGhlaWdodCkgPD0gMSkge1xuICAgIGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBlbGVtZW50Lm9mZnNldExlZnQsXG4gICAgeTogZWxlbWVudC5vZmZzZXRUb3AsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0XG4gIH07XG59IiwiaW1wb3J0IHsgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29udGFpbnMocGFyZW50LCBjaGlsZCkge1xuICB2YXIgcm9vdE5vZGUgPSBjaGlsZC5nZXRSb290Tm9kZSAmJiBjaGlsZC5nZXRSb290Tm9kZSgpOyAvLyBGaXJzdCwgYXR0ZW1wdCB3aXRoIGZhc3RlciBuYXRpdmUgbWV0aG9kXG5cbiAgaWYgKHBhcmVudC5jb250YWlucyhjaGlsZCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyB0aGVuIGZhbGxiYWNrIHRvIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiB3aXRoIFNoYWRvdyBET00gc3VwcG9ydFxuICBlbHNlIGlmIChyb290Tm9kZSAmJiBpc1NoYWRvd1Jvb3Qocm9vdE5vZGUpKSB7XG4gICAgICB2YXIgbmV4dCA9IGNoaWxkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIGlmIChuZXh0ICYmIHBhcmVudC5pc1NhbWVOb2RlKG5leHQpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddOiBuZWVkIGEgYmV0dGVyIHdheSB0byBoYW5kbGUgdGhpcy4uLlxuXG5cbiAgICAgICAgbmV4dCA9IG5leHQucGFyZW50Tm9kZSB8fCBuZXh0Lmhvc3Q7XG4gICAgICB9IHdoaWxlIChuZXh0KTtcbiAgICB9IC8vIEdpdmUgdXAsIHRoZSByZXN1bHQgaXMgZmFsc2VcblxuXG4gIHJldHVybiBmYWxzZTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KSB7XG4gIHJldHVybiBnZXRXaW5kb3coZWxlbWVudCkuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbn0iLCJpbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzVGFibGVFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuIFsndGFibGUnLCAndGQnLCAndGgnXS5pbmRleE9mKGdldE5vZGVOYW1lKGVsZW1lbnQpKSA+PSAwO1xufSIsImltcG9ydCB7IGlzRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSB7XG4gIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl06IGFzc3VtZSBib2R5IGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgcmV0dXJuICgoaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudC5vd25lckRvY3VtZW50IDogLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gIGVsZW1lbnQuZG9jdW1lbnQpIHx8IHdpbmRvdy5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50O1xufSIsImltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCB7IGlzU2hhZG93Um9vdCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFBhcmVudE5vZGUoZWxlbWVudCkge1xuICBpZiAoZ2V0Tm9kZU5hbWUoZWxlbWVudCkgPT09ICdodG1sJykge1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuICgvLyB0aGlzIGlzIGEgcXVpY2tlciAoYnV0IGxlc3MgdHlwZSBzYWZlKSB3YXkgdG8gc2F2ZSBxdWl0ZSBzb21lIGJ5dGVzIGZyb20gdGhlIGJ1bmRsZVxuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl1cbiAgICAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgICBlbGVtZW50LmFzc2lnbmVkU2xvdCB8fCAvLyBzdGVwIGludG8gdGhlIHNoYWRvdyBET00gb2YgdGhlIHBhcmVudCBvZiBhIHNsb3R0ZWQgbm9kZVxuICAgIGVsZW1lbnQucGFyZW50Tm9kZSB8fCAoIC8vIERPTSBFbGVtZW50IGRldGVjdGVkXG4gICAgaXNTaGFkb3dSb290KGVsZW1lbnQpID8gZWxlbWVudC5ob3N0IDogbnVsbCkgfHwgLy8gU2hhZG93Um9vdCBkZXRlY3RlZFxuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLWNhbGxdOiBIVE1MRWxlbWVudCBpcyBhIE5vZGVcbiAgICBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkgLy8gZmFsbGJhY2tcblxuICApO1xufSIsImltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4vZ2V0V2luZG93LmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQsIGlzU2hhZG93Um9vdCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCBpc1RhYmxlRWxlbWVudCBmcm9tIFwiLi9pc1RhYmxlRWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldFBhcmVudE5vZGUgZnJvbSBcIi4vZ2V0UGFyZW50Tm9kZS5qc1wiO1xuaW1wb3J0IGdldFVBU3RyaW5nIGZyb20gXCIuLi91dGlscy91c2VyQWdlbnQuanNcIjtcblxuZnVuY3Rpb24gZ2V0VHJ1ZU9mZnNldFBhcmVudChlbGVtZW50KSB7XG4gIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCAvLyBodHRwczovL2dpdGh1Yi5jb20vcG9wcGVyanMvcG9wcGVyLWNvcmUvaXNzdWVzLzgzN1xuICBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudC5vZmZzZXRQYXJlbnQ7XG59IC8vIGAub2Zmc2V0UGFyZW50YCByZXBvcnRzIGBudWxsYCBmb3IgZml4ZWQgZWxlbWVudHMsIHdoaWxlIGFic29sdXRlIGVsZW1lbnRzXG4vLyByZXR1cm4gdGhlIGNvbnRhaW5pbmcgYmxvY2tcblxuXG5mdW5jdGlvbiBnZXRDb250YWluaW5nQmxvY2soZWxlbWVudCkge1xuICB2YXIgaXNGaXJlZm94ID0gL2ZpcmVmb3gvaS50ZXN0KGdldFVBU3RyaW5nKCkpO1xuICB2YXIgaXNJRSA9IC9UcmlkZW50L2kudGVzdChnZXRVQVN0cmluZygpKTtcblxuICBpZiAoaXNJRSAmJiBpc0hUTUxFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgLy8gSW4gSUUgOSwgMTAgYW5kIDExIGZpeGVkIGVsZW1lbnRzIGNvbnRhaW5pbmcgYmxvY2sgaXMgYWx3YXlzIGVzdGFibGlzaGVkIGJ5IHRoZSB2aWV3cG9ydFxuICAgIHZhciBlbGVtZW50Q3NzID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgIGlmIChlbGVtZW50Q3NzLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICB2YXIgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuXG4gIGlmIChpc1NoYWRvd1Jvb3QoY3VycmVudE5vZGUpKSB7XG4gICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5ob3N0O1xuICB9XG5cbiAgd2hpbGUgKGlzSFRNTEVsZW1lbnQoY3VycmVudE5vZGUpICYmIFsnaHRtbCcsICdib2R5J10uaW5kZXhPZihnZXROb2RlTmFtZShjdXJyZW50Tm9kZSkpIDwgMCkge1xuICAgIHZhciBjc3MgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnROb2RlKTsgLy8gVGhpcyBpcyBub24tZXhoYXVzdGl2ZSBidXQgY292ZXJzIHRoZSBtb3N0IGNvbW1vbiBDU1MgcHJvcGVydGllcyB0aGF0XG4gICAgLy8gY3JlYXRlIGEgY29udGFpbmluZyBibG9jay5cbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQ29udGFpbmluZ19ibG9jayNpZGVudGlmeWluZ190aGVfY29udGFpbmluZ19ibG9ja1xuXG4gICAgaWYgKGNzcy50cmFuc2Zvcm0gIT09ICdub25lJyB8fCBjc3MucGVyc3BlY3RpdmUgIT09ICdub25lJyB8fCBjc3MuY29udGFpbiA9PT0gJ3BhaW50JyB8fCBbJ3RyYW5zZm9ybScsICdwZXJzcGVjdGl2ZSddLmluZGV4T2YoY3NzLndpbGxDaGFuZ2UpICE9PSAtMSB8fCBpc0ZpcmVmb3ggJiYgY3NzLndpbGxDaGFuZ2UgPT09ICdmaWx0ZXInIHx8IGlzRmlyZWZveCAmJiBjc3MuZmlsdGVyICYmIGNzcy5maWx0ZXIgIT09ICdub25lJykge1xuICAgICAgcmV0dXJuIGN1cnJlbnROb2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLnBhcmVudE5vZGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59IC8vIEdldHMgdGhlIGNsb3Nlc3QgYW5jZXN0b3IgcG9zaXRpb25lZCBlbGVtZW50LiBIYW5kbGVzIHNvbWUgZWRnZSBjYXNlcyxcbi8vIHN1Y2ggYXMgdGFibGUgYW5jZXN0b3JzIGFuZCBjcm9zcyBicm93c2VyIGJ1Z3MuXG5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQpIHtcbiAgdmFyIHdpbmRvdyA9IGdldFdpbmRvdyhlbGVtZW50KTtcbiAgdmFyIG9mZnNldFBhcmVudCA9IGdldFRydWVPZmZzZXRQYXJlbnQoZWxlbWVudCk7XG5cbiAgd2hpbGUgKG9mZnNldFBhcmVudCAmJiBpc1RhYmxlRWxlbWVudChvZmZzZXRQYXJlbnQpICYmIGdldENvbXB1dGVkU3R5bGUob2Zmc2V0UGFyZW50KS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIHtcbiAgICBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KG9mZnNldFBhcmVudCk7XG4gIH1cblxuICBpZiAob2Zmc2V0UGFyZW50ICYmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpID09PSAnaHRtbCcgfHwgZ2V0Tm9kZU5hbWUob2Zmc2V0UGFyZW50KSA9PT0gJ2JvZHknICYmIGdldENvbXB1dGVkU3R5bGUob2Zmc2V0UGFyZW50KS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpKSB7XG4gICAgcmV0dXJuIHdpbmRvdztcbiAgfVxuXG4gIHJldHVybiBvZmZzZXRQYXJlbnQgfHwgZ2V0Q29udGFpbmluZ0Jsb2NrKGVsZW1lbnQpIHx8IHdpbmRvdztcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBbJ3RvcCcsICdib3R0b20nXS5pbmRleE9mKHBsYWNlbWVudCkgPj0gMCA/ICd4JyA6ICd5Jztcbn0iLCJpbXBvcnQgeyBtYXggYXMgbWF0aE1heCwgbWluIGFzIG1hdGhNaW4gfSBmcm9tIFwiLi9tYXRoLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gd2l0aGluKG1pbiwgdmFsdWUsIG1heCkge1xuICByZXR1cm4gbWF0aE1heChtaW4sIG1hdGhNaW4odmFsdWUsIG1heCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhpbk1heENsYW1wKG1pbiwgdmFsdWUsIG1heCkge1xuICB2YXIgdiA9IHdpdGhpbihtaW4sIHZhbHVlLCBtYXgpO1xuICByZXR1cm4gdiA+IG1heCA/IG1heCA6IHY7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RnJlc2hTaWRlT2JqZWN0KCkge1xuICByZXR1cm4ge1xuICAgIHRvcDogMCxcbiAgICByaWdodDogMCxcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogMFxuICB9O1xufSIsImltcG9ydCBnZXRGcmVzaFNpZGVPYmplY3QgZnJvbSBcIi4vZ2V0RnJlc2hTaWRlT2JqZWN0LmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtZXJnZVBhZGRpbmdPYmplY3QocGFkZGluZ09iamVjdCkge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZ2V0RnJlc2hTaWRlT2JqZWN0KCksIHBhZGRpbmdPYmplY3QpO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGV4cGFuZFRvSGFzaE1hcCh2YWx1ZSwga2V5cykge1xuICByZXR1cm4ga2V5cy5yZWR1Y2UoZnVuY3Rpb24gKGhhc2hNYXAsIGtleSkge1xuICAgIGhhc2hNYXBba2V5XSA9IHZhbHVlO1xuICAgIHJldHVybiBoYXNoTWFwO1xuICB9LCB7fSk7XG59IiwiaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRMYXlvdXRSZWN0IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0TGF5b3V0UmVjdC5qc1wiO1xuaW1wb3J0IGNvbnRhaW5zIGZyb20gXCIuLi9kb20tdXRpbHMvY29udGFpbnMuanNcIjtcbmltcG9ydCBnZXRPZmZzZXRQYXJlbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgd2l0aGluIH0gZnJvbSBcIi4uL3V0aWxzL3dpdGhpbi5qc1wiO1xuaW1wb3J0IG1lcmdlUGFkZGluZ09iamVjdCBmcm9tIFwiLi4vdXRpbHMvbWVyZ2VQYWRkaW5nT2JqZWN0LmpzXCI7XG5pbXBvcnQgZXhwYW5kVG9IYXNoTWFwIGZyb20gXCIuLi91dGlscy9leHBhbmRUb0hhc2hNYXAuanNcIjtcbmltcG9ydCB7IGxlZnQsIHJpZ2h0LCBiYXNlUGxhY2VtZW50cywgdG9wLCBib3R0b20gfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi4vZG9tLXV0aWxzL2luc3RhbmNlT2YuanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG52YXIgdG9QYWRkaW5nT2JqZWN0ID0gZnVuY3Rpb24gdG9QYWRkaW5nT2JqZWN0KHBhZGRpbmcsIHN0YXRlKSB7XG4gIHBhZGRpbmcgPSB0eXBlb2YgcGFkZGluZyA9PT0gJ2Z1bmN0aW9uJyA/IHBhZGRpbmcoT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUucmVjdHMsIHtcbiAgICBwbGFjZW1lbnQ6IHN0YXRlLnBsYWNlbWVudFxuICB9KSkgOiBwYWRkaW5nO1xuICByZXR1cm4gbWVyZ2VQYWRkaW5nT2JqZWN0KHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IHBhZGRpbmcgOiBleHBhbmRUb0hhc2hNYXAocGFkZGluZywgYmFzZVBsYWNlbWVudHMpKTtcbn07XG5cbmZ1bmN0aW9uIGFycm93KF9yZWYpIHtcbiAgdmFyIF9zdGF0ZSRtb2RpZmllcnNEYXRhJDtcblxuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgbmFtZSA9IF9yZWYubmFtZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnM7XG4gIHZhciBhcnJvd0VsZW1lbnQgPSBzdGF0ZS5lbGVtZW50cy5hcnJvdztcbiAgdmFyIHBvcHBlck9mZnNldHMgPSBzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHM7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5wbGFjZW1lbnQpO1xuICB2YXIgYXhpcyA9IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudChiYXNlUGxhY2VtZW50KTtcbiAgdmFyIGlzVmVydGljYWwgPSBbbGVmdCwgcmlnaHRdLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgPj0gMDtcbiAgdmFyIGxlbiA9IGlzVmVydGljYWwgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG5cbiAgaWYgKCFhcnJvd0VsZW1lbnQgfHwgIXBvcHBlck9mZnNldHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcGFkZGluZ09iamVjdCA9IHRvUGFkZGluZ09iamVjdChvcHRpb25zLnBhZGRpbmcsIHN0YXRlKTtcbiAgdmFyIGFycm93UmVjdCA9IGdldExheW91dFJlY3QoYXJyb3dFbGVtZW50KTtcbiAgdmFyIG1pblByb3AgPSBheGlzID09PSAneScgPyB0b3AgOiBsZWZ0O1xuICB2YXIgbWF4UHJvcCA9IGF4aXMgPT09ICd5JyA/IGJvdHRvbSA6IHJpZ2h0O1xuICB2YXIgZW5kRGlmZiA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZVtsZW5dICsgc3RhdGUucmVjdHMucmVmZXJlbmNlW2F4aXNdIC0gcG9wcGVyT2Zmc2V0c1theGlzXSAtIHN0YXRlLnJlY3RzLnBvcHBlcltsZW5dO1xuICB2YXIgc3RhcnREaWZmID0gcG9wcGVyT2Zmc2V0c1theGlzXSAtIHN0YXRlLnJlY3RzLnJlZmVyZW5jZVtheGlzXTtcbiAgdmFyIGFycm93T2Zmc2V0UGFyZW50ID0gZ2V0T2Zmc2V0UGFyZW50KGFycm93RWxlbWVudCk7XG4gIHZhciBjbGllbnRTaXplID0gYXJyb3dPZmZzZXRQYXJlbnQgPyBheGlzID09PSAneScgPyBhcnJvd09mZnNldFBhcmVudC5jbGllbnRIZWlnaHQgfHwgMCA6IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudFdpZHRoIHx8IDAgOiAwO1xuICB2YXIgY2VudGVyVG9SZWZlcmVuY2UgPSBlbmREaWZmIC8gMiAtIHN0YXJ0RGlmZiAvIDI7IC8vIE1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lc24ndCBvdmVyZmxvdyB0aGUgcG9wcGVyIGlmIHRoZSBjZW50ZXIgcG9pbnQgaXNcbiAgLy8gb3V0c2lkZSBvZiB0aGUgcG9wcGVyIGJvdW5kc1xuXG4gIHZhciBtaW4gPSBwYWRkaW5nT2JqZWN0W21pblByb3BdO1xuICB2YXIgbWF4ID0gY2xpZW50U2l6ZSAtIGFycm93UmVjdFtsZW5dIC0gcGFkZGluZ09iamVjdFttYXhQcm9wXTtcbiAgdmFyIGNlbnRlciA9IGNsaWVudFNpemUgLyAyIC0gYXJyb3dSZWN0W2xlbl0gLyAyICsgY2VudGVyVG9SZWZlcmVuY2U7XG4gIHZhciBvZmZzZXQgPSB3aXRoaW4obWluLCBjZW50ZXIsIG1heCk7IC8vIFByZXZlbnRzIGJyZWFraW5nIHN5bnRheCBoaWdobGlnaHRpbmcuLi5cblxuICB2YXIgYXhpc1Byb3AgPSBheGlzO1xuICBzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdID0gKF9zdGF0ZSRtb2RpZmllcnNEYXRhJCA9IHt9LCBfc3RhdGUkbW9kaWZpZXJzRGF0YSRbYXhpc1Byb3BdID0gb2Zmc2V0LCBfc3RhdGUkbW9kaWZpZXJzRGF0YSQuY2VudGVyT2Zmc2V0ID0gb2Zmc2V0IC0gY2VudGVyLCBfc3RhdGUkbW9kaWZpZXJzRGF0YSQpO1xufVxuXG5mdW5jdGlvbiBlZmZlY3QoX3JlZjIpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjIuc3RhdGUsXG4gICAgICBvcHRpb25zID0gX3JlZjIub3B0aW9ucztcbiAgdmFyIF9vcHRpb25zJGVsZW1lbnQgPSBvcHRpb25zLmVsZW1lbnQsXG4gICAgICBhcnJvd0VsZW1lbnQgPSBfb3B0aW9ucyRlbGVtZW50ID09PSB2b2lkIDAgPyAnW2RhdGEtcG9wcGVyLWFycm93XScgOiBfb3B0aW9ucyRlbGVtZW50O1xuXG4gIGlmIChhcnJvd0VsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfSAvLyBDU1Mgc2VsZWN0b3JcblxuXG4gIGlmICh0eXBlb2YgYXJyb3dFbGVtZW50ID09PSAnc3RyaW5nJykge1xuICAgIGFycm93RWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzLnBvcHBlci5xdWVyeVNlbGVjdG9yKGFycm93RWxlbWVudCk7XG5cbiAgICBpZiAoIWFycm93RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoYXJyb3dFbGVtZW50KSkge1xuICAgICAgY29uc29sZS5lcnJvcihbJ1BvcHBlcjogXCJhcnJvd1wiIGVsZW1lbnQgbXVzdCBiZSBhbiBIVE1MRWxlbWVudCAobm90IGFuIFNWR0VsZW1lbnQpLicsICdUbyB1c2UgYW4gU1ZHIGFycm93LCB3cmFwIGl0IGluIGFuIEhUTUxFbGVtZW50IHRoYXQgd2lsbCBiZSB1c2VkIGFzJywgJ3RoZSBhcnJvdy4nXS5qb2luKCcgJykpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghY29udGFpbnMoc3RhdGUuZWxlbWVudHMucG9wcGVyLCBhcnJvd0VsZW1lbnQpKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgY29uc29sZS5lcnJvcihbJ1BvcHBlcjogXCJhcnJvd1wiIG1vZGlmaWVyXFwncyBgZWxlbWVudGAgbXVzdCBiZSBhIGNoaWxkIG9mIHRoZSBwb3BwZXInLCAnZWxlbWVudC4nXS5qb2luKCcgJykpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0YXRlLmVsZW1lbnRzLmFycm93ID0gYXJyb3dFbGVtZW50O1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnYXJyb3cnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ21haW4nLFxuICBmbjogYXJyb3csXG4gIGVmZmVjdDogZWZmZWN0LFxuICByZXF1aXJlczogWydwb3BwZXJPZmZzZXRzJ10sXG4gIHJlcXVpcmVzSWZFeGlzdHM6IFsncHJldmVudE92ZXJmbG93J11cbn07IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnNwbGl0KCctJylbMV07XG59IiwiaW1wb3J0IHsgdG9wLCBsZWZ0LCByaWdodCwgYm90dG9tLCBlbmQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBnZXRPZmZzZXRQYXJlbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRWYXJpYXRpb24gZnJvbSBcIi4uL3V0aWxzL2dldFZhcmlhdGlvbi5qc1wiO1xuaW1wb3J0IHsgcm91bmQgfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbnZhciB1bnNldFNpZGVzID0ge1xuICB0b3A6ICdhdXRvJyxcbiAgcmlnaHQ6ICdhdXRvJyxcbiAgYm90dG9tOiAnYXV0bycsXG4gIGxlZnQ6ICdhdXRvJ1xufTsgLy8gUm91bmQgdGhlIG9mZnNldHMgdG8gdGhlIG5lYXJlc3Qgc3VpdGFibGUgc3VicGl4ZWwgYmFzZWQgb24gdGhlIERQUi5cbi8vIFpvb21pbmcgY2FuIGNoYW5nZSB0aGUgRFBSLCBidXQgaXQgc2VlbXMgdG8gcmVwb3J0IGEgdmFsdWUgdGhhdCB3aWxsXG4vLyBjbGVhbmx5IGRpdmlkZSB0aGUgdmFsdWVzIGludG8gdGhlIGFwcHJvcHJpYXRlIHN1YnBpeGVscy5cblxuZnVuY3Rpb24gcm91bmRPZmZzZXRzQnlEUFIoX3JlZikge1xuICB2YXIgeCA9IF9yZWYueCxcbiAgICAgIHkgPSBfcmVmLnk7XG4gIHZhciB3aW4gPSB3aW5kb3c7XG4gIHZhciBkcHIgPSB3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuICByZXR1cm4ge1xuICAgIHg6IHJvdW5kKHggKiBkcHIpIC8gZHByIHx8IDAsXG4gICAgeTogcm91bmQoeSAqIGRwcikgLyBkcHIgfHwgMFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9TdHlsZXMoX3JlZjIpIHtcbiAgdmFyIF9PYmplY3QkYXNzaWduMjtcblxuICB2YXIgcG9wcGVyID0gX3JlZjIucG9wcGVyLFxuICAgICAgcG9wcGVyUmVjdCA9IF9yZWYyLnBvcHBlclJlY3QsXG4gICAgICBwbGFjZW1lbnQgPSBfcmVmMi5wbGFjZW1lbnQsXG4gICAgICB2YXJpYXRpb24gPSBfcmVmMi52YXJpYXRpb24sXG4gICAgICBvZmZzZXRzID0gX3JlZjIub2Zmc2V0cyxcbiAgICAgIHBvc2l0aW9uID0gX3JlZjIucG9zaXRpb24sXG4gICAgICBncHVBY2NlbGVyYXRpb24gPSBfcmVmMi5ncHVBY2NlbGVyYXRpb24sXG4gICAgICBhZGFwdGl2ZSA9IF9yZWYyLmFkYXB0aXZlLFxuICAgICAgcm91bmRPZmZzZXRzID0gX3JlZjIucm91bmRPZmZzZXRzLFxuICAgICAgaXNGaXhlZCA9IF9yZWYyLmlzRml4ZWQ7XG4gIHZhciBfb2Zmc2V0cyR4ID0gb2Zmc2V0cy54LFxuICAgICAgeCA9IF9vZmZzZXRzJHggPT09IHZvaWQgMCA/IDAgOiBfb2Zmc2V0cyR4LFxuICAgICAgX29mZnNldHMkeSA9IG9mZnNldHMueSxcbiAgICAgIHkgPSBfb2Zmc2V0cyR5ID09PSB2b2lkIDAgPyAwIDogX29mZnNldHMkeTtcblxuICB2YXIgX3JlZjMgPSB0eXBlb2Ygcm91bmRPZmZzZXRzID09PSAnZnVuY3Rpb24nID8gcm91bmRPZmZzZXRzKHtcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfSkgOiB7XG4gICAgeDogeCxcbiAgICB5OiB5XG4gIH07XG5cbiAgeCA9IF9yZWYzLng7XG4gIHkgPSBfcmVmMy55O1xuICB2YXIgaGFzWCA9IG9mZnNldHMuaGFzT3duUHJvcGVydHkoJ3gnKTtcbiAgdmFyIGhhc1kgPSBvZmZzZXRzLmhhc093blByb3BlcnR5KCd5Jyk7XG4gIHZhciBzaWRlWCA9IGxlZnQ7XG4gIHZhciBzaWRlWSA9IHRvcDtcbiAgdmFyIHdpbiA9IHdpbmRvdztcblxuICBpZiAoYWRhcHRpdmUpIHtcbiAgICB2YXIgb2Zmc2V0UGFyZW50ID0gZ2V0T2Zmc2V0UGFyZW50KHBvcHBlcik7XG4gICAgdmFyIGhlaWdodFByb3AgPSAnY2xpZW50SGVpZ2h0JztcbiAgICB2YXIgd2lkdGhQcm9wID0gJ2NsaWVudFdpZHRoJztcblxuICAgIGlmIChvZmZzZXRQYXJlbnQgPT09IGdldFdpbmRvdyhwb3BwZXIpKSB7XG4gICAgICBvZmZzZXRQYXJlbnQgPSBnZXREb2N1bWVudEVsZW1lbnQocG9wcGVyKTtcblxuICAgICAgaWYgKGdldENvbXB1dGVkU3R5bGUob2Zmc2V0UGFyZW50KS5wb3NpdGlvbiAhPT0gJ3N0YXRpYycgJiYgcG9zaXRpb24gPT09ICdhYnNvbHV0ZScpIHtcbiAgICAgICAgaGVpZ2h0UHJvcCA9ICdzY3JvbGxIZWlnaHQnO1xuICAgICAgICB3aWR0aFByb3AgPSAnc2Nyb2xsV2lkdGgnO1xuICAgICAgfVxuICAgIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FzdF06IGZvcmNlIHR5cGUgcmVmaW5lbWVudCwgd2UgY29tcGFyZSBvZmZzZXRQYXJlbnQgd2l0aCB3aW5kb3cgYWJvdmUsIGJ1dCBGbG93IGRvZXNuJ3QgZGV0ZWN0IGl0XG5cblxuICAgIG9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudDtcblxuICAgIGlmIChwbGFjZW1lbnQgPT09IHRvcCB8fCAocGxhY2VtZW50ID09PSBsZWZ0IHx8IHBsYWNlbWVudCA9PT0gcmlnaHQpICYmIHZhcmlhdGlvbiA9PT0gZW5kKSB7XG4gICAgICBzaWRlWSA9IGJvdHRvbTtcbiAgICAgIHZhciBvZmZzZXRZID0gaXNGaXhlZCAmJiBvZmZzZXRQYXJlbnQgPT09IHdpbiAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQuaGVpZ2h0IDogLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gICAgICBvZmZzZXRQYXJlbnRbaGVpZ2h0UHJvcF07XG4gICAgICB5IC09IG9mZnNldFkgLSBwb3BwZXJSZWN0LmhlaWdodDtcbiAgICAgIHkgKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cblxuICAgIGlmIChwbGFjZW1lbnQgPT09IGxlZnQgfHwgKHBsYWNlbWVudCA9PT0gdG9wIHx8IHBsYWNlbWVudCA9PT0gYm90dG9tKSAmJiB2YXJpYXRpb24gPT09IGVuZCkge1xuICAgICAgc2lkZVggPSByaWdodDtcbiAgICAgIHZhciBvZmZzZXRYID0gaXNGaXhlZCAmJiBvZmZzZXRQYXJlbnQgPT09IHdpbiAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQud2lkdGggOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgICAgIG9mZnNldFBhcmVudFt3aWR0aFByb3BdO1xuICAgICAgeCAtPSBvZmZzZXRYIC0gcG9wcGVyUmVjdC53aWR0aDtcbiAgICAgIHggKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb21tb25TdHlsZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICBwb3NpdGlvbjogcG9zaXRpb25cbiAgfSwgYWRhcHRpdmUgJiYgdW5zZXRTaWRlcyk7XG5cbiAgdmFyIF9yZWY0ID0gcm91bmRPZmZzZXRzID09PSB0cnVlID8gcm91bmRPZmZzZXRzQnlEUFIoe1xuICAgIHg6IHgsXG4gICAgeTogeVxuICB9KSA6IHtcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcblxuICB4ID0gX3JlZjQueDtcbiAgeSA9IF9yZWY0Lnk7XG5cbiAgaWYgKGdwdUFjY2VsZXJhdGlvbikge1xuICAgIHZhciBfT2JqZWN0JGFzc2lnbjtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBjb21tb25TdHlsZXMsIChfT2JqZWN0JGFzc2lnbiA9IHt9LCBfT2JqZWN0JGFzc2lnbltzaWRlWV0gPSBoYXNZID8gJzAnIDogJycsIF9PYmplY3QkYXNzaWduW3NpZGVYXSA9IGhhc1ggPyAnMCcgOiAnJywgX09iamVjdCRhc3NpZ24udHJhbnNmb3JtID0gKHdpbi5kZXZpY2VQaXhlbFJhdGlvIHx8IDEpIDw9IDEgPyBcInRyYW5zbGF0ZShcIiArIHggKyBcInB4LCBcIiArIHkgKyBcInB4KVwiIDogXCJ0cmFuc2xhdGUzZChcIiArIHggKyBcInB4LCBcIiArIHkgKyBcInB4LCAwKVwiLCBfT2JqZWN0JGFzc2lnbikpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIGNvbW1vblN0eWxlcywgKF9PYmplY3QkYXNzaWduMiA9IHt9LCBfT2JqZWN0JGFzc2lnbjJbc2lkZVldID0gaGFzWSA/IHkgKyBcInB4XCIgOiAnJywgX09iamVjdCRhc3NpZ24yW3NpZGVYXSA9IGhhc1ggPyB4ICsgXCJweFwiIDogJycsIF9PYmplY3QkYXNzaWduMi50cmFuc2Zvcm0gPSAnJywgX09iamVjdCRhc3NpZ24yKSk7XG59XG5cbmZ1bmN0aW9uIGNvbXB1dGVTdHlsZXMoX3JlZjUpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjUuc3RhdGUsXG4gICAgICBvcHRpb25zID0gX3JlZjUub3B0aW9ucztcbiAgdmFyIF9vcHRpb25zJGdwdUFjY2VsZXJhdCA9IG9wdGlvbnMuZ3B1QWNjZWxlcmF0aW9uLFxuICAgICAgZ3B1QWNjZWxlcmF0aW9uID0gX29wdGlvbnMkZ3B1QWNjZWxlcmF0ID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkZ3B1QWNjZWxlcmF0LFxuICAgICAgX29wdGlvbnMkYWRhcHRpdmUgPSBvcHRpb25zLmFkYXB0aXZlLFxuICAgICAgYWRhcHRpdmUgPSBfb3B0aW9ucyRhZGFwdGl2ZSA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJGFkYXB0aXZlLFxuICAgICAgX29wdGlvbnMkcm91bmRPZmZzZXRzID0gb3B0aW9ucy5yb3VuZE9mZnNldHMsXG4gICAgICByb3VuZE9mZnNldHMgPSBfb3B0aW9ucyRyb3VuZE9mZnNldHMgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRyb3VuZE9mZnNldHM7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciB0cmFuc2l0aW9uUHJvcGVydHkgPSBnZXRDb21wdXRlZFN0eWxlKHN0YXRlLmVsZW1lbnRzLnBvcHBlcikudHJhbnNpdGlvblByb3BlcnR5IHx8ICcnO1xuXG4gICAgaWYgKGFkYXB0aXZlICYmIFsndHJhbnNmb3JtJywgJ3RvcCcsICdyaWdodCcsICdib3R0b20nLCAnbGVmdCddLnNvbWUoZnVuY3Rpb24gKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gdHJhbnNpdGlvblByb3BlcnR5LmluZGV4T2YocHJvcGVydHkpID49IDA7XG4gICAgfSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihbJ1BvcHBlcjogRGV0ZWN0ZWQgQ1NTIHRyYW5zaXRpb25zIG9uIGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nJywgJ0NTUyBwcm9wZXJ0aWVzOiBcInRyYW5zZm9ybVwiLCBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIsIFwibGVmdFwiLicsICdcXG5cXG4nLCAnRGlzYWJsZSB0aGUgXCJjb21wdXRlU3R5bGVzXCIgbW9kaWZpZXJcXCdzIGBhZGFwdGl2ZWAgb3B0aW9uIHRvIGFsbG93JywgJ2ZvciBzbW9vdGggdHJhbnNpdGlvbnMsIG9yIHJlbW92ZSB0aGVzZSBwcm9wZXJ0aWVzIGZyb20gdGhlIENTUycsICd0cmFuc2l0aW9uIGRlY2xhcmF0aW9uIG9uIHRoZSBwb3BwZXIgZWxlbWVudCBpZiBvbmx5IHRyYW5zaXRpb25pbmcnLCAnb3BhY2l0eSBvciBiYWNrZ3JvdW5kLWNvbG9yIGZvciBleGFtcGxlLicsICdcXG5cXG4nLCAnV2UgcmVjb21tZW5kIHVzaW5nIHRoZSBwb3BwZXIgZWxlbWVudCBhcyBhIHdyYXBwZXIgYXJvdW5kIGFuIGlubmVyJywgJ2VsZW1lbnQgdGhhdCBjYW4gaGF2ZSBhbnkgQ1NTIHByb3BlcnR5IHRyYW5zaXRpb25lZCBmb3IgYW5pbWF0aW9ucy4nXS5qb2luKCcgJykpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb21tb25TdHlsZXMgPSB7XG4gICAgcGxhY2VtZW50OiBnZXRCYXNlUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCksXG4gICAgdmFyaWF0aW9uOiBnZXRWYXJpYXRpb24oc3RhdGUucGxhY2VtZW50KSxcbiAgICBwb3BwZXI6IHN0YXRlLmVsZW1lbnRzLnBvcHBlcixcbiAgICBwb3BwZXJSZWN0OiBzdGF0ZS5yZWN0cy5wb3BwZXIsXG4gICAgZ3B1QWNjZWxlcmF0aW9uOiBncHVBY2NlbGVyYXRpb24sXG4gICAgaXNGaXhlZDogc3RhdGUub3B0aW9ucy5zdHJhdGVneSA9PT0gJ2ZpeGVkJ1xuICB9O1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMgIT0gbnVsbCkge1xuICAgIHN0YXRlLnN0eWxlcy5wb3BwZXIgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5zdHlsZXMucG9wcGVyLCBtYXBUb1N0eWxlcyhPYmplY3QuYXNzaWduKHt9LCBjb21tb25TdHlsZXMsIHtcbiAgICAgIG9mZnNldHM6IHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cyxcbiAgICAgIHBvc2l0aW9uOiBzdGF0ZS5vcHRpb25zLnN0cmF0ZWd5LFxuICAgICAgYWRhcHRpdmU6IGFkYXB0aXZlLFxuICAgICAgcm91bmRPZmZzZXRzOiByb3VuZE9mZnNldHNcbiAgICB9KSkpO1xuICB9XG5cbiAgaWYgKHN0YXRlLm1vZGlmaWVyc0RhdGEuYXJyb3cgIT0gbnVsbCkge1xuICAgIHN0YXRlLnN0eWxlcy5hcnJvdyA9IE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLnN0eWxlcy5hcnJvdywgbWFwVG9TdHlsZXMoT2JqZWN0LmFzc2lnbih7fSwgY29tbW9uU3R5bGVzLCB7XG4gICAgICBvZmZzZXRzOiBzdGF0ZS5tb2RpZmllcnNEYXRhLmFycm93LFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBhZGFwdGl2ZTogZmFsc2UsXG4gICAgICByb3VuZE9mZnNldHM6IHJvdW5kT2Zmc2V0c1xuICAgIH0pKSk7XG4gIH1cblxuICBzdGF0ZS5hdHRyaWJ1dGVzLnBvcHBlciA9IE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLmF0dHJpYnV0ZXMucG9wcGVyLCB7XG4gICAgJ2RhdGEtcG9wcGVyLXBsYWNlbWVudCc6IHN0YXRlLnBsYWNlbWVudFxuICB9KTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2NvbXB1dGVTdHlsZXMnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ2JlZm9yZVdyaXRlJyxcbiAgZm46IGNvbXB1dGVTdHlsZXMsXG4gIGRhdGE6IHt9XG59OyIsImltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRXaW5kb3cuanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG52YXIgcGFzc2l2ZSA9IHtcbiAgcGFzc2l2ZTogdHJ1ZVxufTtcblxuZnVuY3Rpb24gZWZmZWN0KF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIGluc3RhbmNlID0gX3JlZi5pbnN0YW5jZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnM7XG4gIHZhciBfb3B0aW9ucyRzY3JvbGwgPSBvcHRpb25zLnNjcm9sbCxcbiAgICAgIHNjcm9sbCA9IF9vcHRpb25zJHNjcm9sbCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJHNjcm9sbCxcbiAgICAgIF9vcHRpb25zJHJlc2l6ZSA9IG9wdGlvbnMucmVzaXplLFxuICAgICAgcmVzaXplID0gX29wdGlvbnMkcmVzaXplID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkcmVzaXplO1xuICB2YXIgd2luZG93ID0gZ2V0V2luZG93KHN0YXRlLmVsZW1lbnRzLnBvcHBlcik7XG4gIHZhciBzY3JvbGxQYXJlbnRzID0gW10uY29uY2F0KHN0YXRlLnNjcm9sbFBhcmVudHMucmVmZXJlbmNlLCBzdGF0ZS5zY3JvbGxQYXJlbnRzLnBvcHBlcik7XG5cbiAgaWYgKHNjcm9sbCkge1xuICAgIHNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAoc2Nyb2xsUGFyZW50KSB7XG4gICAgICBzY3JvbGxQYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaW5zdGFuY2UudXBkYXRlLCBwYXNzaXZlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChyZXNpemUpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaW5zdGFuY2UudXBkYXRlLCBwYXNzaXZlKTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNjcm9sbCkge1xuICAgICAgc2Nyb2xsUGFyZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChzY3JvbGxQYXJlbnQpIHtcbiAgICAgICAgc2Nyb2xsUGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocmVzaXplKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaW5zdGFuY2UudXBkYXRlLCBwYXNzaXZlKTtcbiAgICB9XG4gIH07XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdldmVudExpc3RlbmVycycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnd3JpdGUnLFxuICBmbjogZnVuY3Rpb24gZm4oKSB7fSxcbiAgZWZmZWN0OiBlZmZlY3QsXG4gIGRhdGE6IHt9XG59OyIsInZhciBoYXNoID0ge1xuICBsZWZ0OiAncmlnaHQnLFxuICByaWdodDogJ2xlZnQnLFxuICBib3R0b206ICd0b3AnLFxuICB0b3A6ICdib3R0b20nXG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csIGZ1bmN0aW9uIChtYXRjaGVkKSB7XG4gICAgcmV0dXJuIGhhc2hbbWF0Y2hlZF07XG4gIH0pO1xufSIsInZhciBoYXNoID0ge1xuICBzdGFydDogJ2VuZCcsXG4gIGVuZDogJ3N0YXJ0J1xufTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL3N0YXJ0fGVuZC9nLCBmdW5jdGlvbiAobWF0Y2hlZCkge1xuICAgIHJldHVybiBoYXNoW21hdGNoZWRdO1xuICB9KTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2luZG93U2Nyb2xsKG5vZGUpIHtcbiAgdmFyIHdpbiA9IGdldFdpbmRvdyhub2RlKTtcbiAgdmFyIHNjcm9sbExlZnQgPSB3aW4ucGFnZVhPZmZzZXQ7XG4gIHZhciBzY3JvbGxUb3AgPSB3aW4ucGFnZVlPZmZzZXQ7XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogc2Nyb2xsTGVmdCxcbiAgICBzY3JvbGxUb3A6IHNjcm9sbFRvcFxuICB9O1xufSIsImltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvd1Njcm9sbCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGwuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCkge1xuICAvLyBJZiA8aHRtbD4gaGFzIGEgQ1NTIHdpZHRoIGdyZWF0ZXIgdGhhbiB0aGUgdmlld3BvcnQsIHRoZW4gdGhpcyB3aWxsIGJlXG4gIC8vIGluY29ycmVjdCBmb3IgUlRMLlxuICAvLyBQb3BwZXIgMSBpcyBicm9rZW4gaW4gdGhpcyBjYXNlIGFuZCBuZXZlciBoYWQgYSBidWcgcmVwb3J0IHNvIGxldCdzIGFzc3VtZVxuICAvLyBpdCdzIG5vdCBhbiBpc3N1ZS4gSSBkb24ndCB0aGluayBhbnlvbmUgZXZlciBzcGVjaWZpZXMgd2lkdGggb24gPGh0bWw+XG4gIC8vIGFueXdheS5cbiAgLy8gQnJvd3NlcnMgd2hlcmUgdGhlIGxlZnQgc2Nyb2xsYmFyIGRvZXNuJ3QgY2F1c2UgYW4gaXNzdWUgcmVwb3J0IGAwYCBmb3JcbiAgLy8gdGhpcyAoZS5nLiBFZGdlIDIwMTksIElFMTEsIFNhZmFyaSlcbiAgcmV0dXJuIGdldEJvdW5kaW5nQ2xpZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpLmxlZnQgKyBnZXRXaW5kb3dTY3JvbGwoZWxlbWVudCkuc2Nyb2xsTGVmdDtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBpc0xheW91dFZpZXdwb3J0IGZyb20gXCIuL2lzTGF5b3V0Vmlld3BvcnQuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICB2YXIgd2luID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICB2YXIgaHRtbCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgdmFyIHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICB2YXIgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIHZhciB4ID0gMDtcbiAgdmFyIHkgPSAwO1xuXG4gIGlmICh2aXN1YWxWaWV3cG9ydCkge1xuICAgIHdpZHRoID0gdmlzdWFsVmlld3BvcnQud2lkdGg7XG4gICAgaGVpZ2h0ID0gdmlzdWFsVmlld3BvcnQuaGVpZ2h0O1xuICAgIHZhciBsYXlvdXRWaWV3cG9ydCA9IGlzTGF5b3V0Vmlld3BvcnQoKTtcblxuICAgIGlmIChsYXlvdXRWaWV3cG9ydCB8fCAhbGF5b3V0Vmlld3BvcnQgJiYgc3RyYXRlZ3kgPT09ICdmaXhlZCcpIHtcbiAgICAgIHggPSB2aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0O1xuICAgICAgeSA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB4OiB4ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KSxcbiAgICB5OiB5XG4gIH07XG59IiwiaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGwgZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsLmpzXCI7XG5pbXBvcnQgeyBtYXggfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiOyAvLyBHZXRzIHRoZSBlbnRpcmUgc2l6ZSBvZiB0aGUgc2Nyb2xsYWJsZSBkb2N1bWVudCBhcmVhLCBldmVuIGV4dGVuZGluZyBvdXRzaWRlXG4vLyBvZiB0aGUgYDxodG1sPmAgYW5kIGA8Ym9keT5gIHJlY3QgYm91bmRzIGlmIGhvcml6b250YWxseSBzY3JvbGxhYmxlXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50UmVjdChlbGVtZW50KSB7XG4gIHZhciBfZWxlbWVudCRvd25lckRvY3VtZW47XG5cbiAgdmFyIGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIHZhciB3aW5TY3JvbGwgPSBnZXRXaW5kb3dTY3JvbGwoZWxlbWVudCk7XG4gIHZhciBib2R5ID0gKF9lbGVtZW50JG93bmVyRG9jdW1lbiA9IGVsZW1lbnQub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lbGVtZW50JG93bmVyRG9jdW1lbi5ib2R5O1xuICB2YXIgd2lkdGggPSBtYXgoaHRtbC5zY3JvbGxXaWR0aCwgaHRtbC5jbGllbnRXaWR0aCwgYm9keSA/IGJvZHkuc2Nyb2xsV2lkdGggOiAwLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApO1xuICB2YXIgaGVpZ2h0ID0gbWF4KGh0bWwuc2Nyb2xsSGVpZ2h0LCBodG1sLmNsaWVudEhlaWdodCwgYm9keSA/IGJvZHkuc2Nyb2xsSGVpZ2h0IDogMCwgYm9keSA/IGJvZHkuY2xpZW50SGVpZ2h0IDogMCk7XG4gIHZhciB4ID0gLXdpblNjcm9sbC5zY3JvbGxMZWZ0ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KTtcbiAgdmFyIHkgPSAtd2luU2Nyb2xsLnNjcm9sbFRvcDtcblxuICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShib2R5IHx8IGh0bWwpLmRpcmVjdGlvbiA9PT0gJ3J0bCcpIHtcbiAgICB4ICs9IG1heChodG1sLmNsaWVudFdpZHRoLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApIC0gd2lkdGg7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcbn0iLCJpbXBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSBmcm9tIFwiLi9nZXRDb21wdXRlZFN0eWxlLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1Njcm9sbFBhcmVudChlbGVtZW50KSB7XG4gIC8vIEZpcmVmb3ggd2FudHMgdXMgdG8gY2hlY2sgYC14YCBhbmQgYC15YCB2YXJpYXRpb25zIGFzIHdlbGxcbiAgdmFyIF9nZXRDb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KSxcbiAgICAgIG92ZXJmbG93ID0gX2dldENvbXB1dGVkU3R5bGUub3ZlcmZsb3csXG4gICAgICBvdmVyZmxvd1ggPSBfZ2V0Q29tcHV0ZWRTdHlsZS5vdmVyZmxvd1gsXG4gICAgICBvdmVyZmxvd1kgPSBfZ2V0Q29tcHV0ZWRTdHlsZS5vdmVyZmxvd1k7XG5cbiAgcmV0dXJuIC9hdXRvfHNjcm9sbHxvdmVybGF5fGhpZGRlbi8udGVzdChvdmVyZmxvdyArIG92ZXJmbG93WSArIG92ZXJmbG93WCk7XG59IiwiaW1wb3J0IGdldFBhcmVudE5vZGUgZnJvbSBcIi4vZ2V0UGFyZW50Tm9kZS5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRTY3JvbGxQYXJlbnQobm9kZSkge1xuICBpZiAoWydodG1sJywgJ2JvZHknLCAnI2RvY3VtZW50J10uaW5kZXhPZihnZXROb2RlTmFtZShub2RlKSkgPj0gMCkge1xuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl06IGFzc3VtZSBib2R5IGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgICByZXR1cm4gbm9kZS5vd25lckRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBpZiAoaXNIVE1MRWxlbWVudChub2RlKSAmJiBpc1Njcm9sbFBhcmVudChub2RlKSkge1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgcmV0dXJuIGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKG5vZGUpKTtcbn0iLCJpbXBvcnQgZ2V0U2Nyb2xsUGFyZW50IGZyb20gXCIuL2dldFNjcm9sbFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldFBhcmVudE5vZGUgZnJvbSBcIi4vZ2V0UGFyZW50Tm9kZS5qc1wiO1xuaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCBpc1Njcm9sbFBhcmVudCBmcm9tIFwiLi9pc1Njcm9sbFBhcmVudC5qc1wiO1xuLypcbmdpdmVuIGEgRE9NIGVsZW1lbnQsIHJldHVybiB0aGUgbGlzdCBvZiBhbGwgc2Nyb2xsIHBhcmVudHMsIHVwIHRoZSBsaXN0IG9mIGFuY2Vzb3JzXG51bnRpbCB3ZSBnZXQgdG8gdGhlIHRvcCB3aW5kb3cgb2JqZWN0LiBUaGlzIGxpc3QgaXMgd2hhdCB3ZSBhdHRhY2ggc2Nyb2xsIGxpc3RlbmVyc1xudG8sIGJlY2F1c2UgaWYgYW55IG9mIHRoZXNlIHBhcmVudCBlbGVtZW50cyBzY3JvbGwsIHdlJ2xsIG5lZWQgdG8gcmUtY2FsY3VsYXRlIHRoZVxucmVmZXJlbmNlIGVsZW1lbnQncyBwb3NpdGlvbi5cbiovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxpc3RTY3JvbGxQYXJlbnRzKGVsZW1lbnQsIGxpc3QpIHtcbiAgdmFyIF9lbGVtZW50JG93bmVyRG9jdW1lbjtcblxuICBpZiAobGlzdCA9PT0gdm9pZCAwKSB7XG4gICAgbGlzdCA9IFtdO1xuICB9XG5cbiAgdmFyIHNjcm9sbFBhcmVudCA9IGdldFNjcm9sbFBhcmVudChlbGVtZW50KTtcbiAgdmFyIGlzQm9keSA9IHNjcm9sbFBhcmVudCA9PT0gKChfZWxlbWVudCRvd25lckRvY3VtZW4gPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfZWxlbWVudCRvd25lckRvY3VtZW4uYm9keSk7XG4gIHZhciB3aW4gPSBnZXRXaW5kb3coc2Nyb2xsUGFyZW50KTtcbiAgdmFyIHRhcmdldCA9IGlzQm9keSA/IFt3aW5dLmNvbmNhdCh3aW4udmlzdWFsVmlld3BvcnQgfHwgW10sIGlzU2Nyb2xsUGFyZW50KHNjcm9sbFBhcmVudCkgPyBzY3JvbGxQYXJlbnQgOiBbXSkgOiBzY3JvbGxQYXJlbnQ7XG4gIHZhciB1cGRhdGVkTGlzdCA9IGxpc3QuY29uY2F0KHRhcmdldCk7XG4gIHJldHVybiBpc0JvZHkgPyB1cGRhdGVkTGlzdCA6IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLWNhbGxdOiBpc0JvZHkgdGVsbHMgdXMgdGFyZ2V0IHdpbGwgYmUgYW4gSFRNTEVsZW1lbnQgaGVyZVxuICB1cGRhdGVkTGlzdC5jb25jYXQobGlzdFNjcm9sbFBhcmVudHMoZ2V0UGFyZW50Tm9kZSh0YXJnZXQpKSk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVjdFRvQ2xpZW50UmVjdChyZWN0KSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCByZWN0LCB7XG4gICAgbGVmdDogcmVjdC54LFxuICAgIHRvcDogcmVjdC55LFxuICAgIHJpZ2h0OiByZWN0LnggKyByZWN0LndpZHRoLFxuICAgIGJvdHRvbTogcmVjdC55ICsgcmVjdC5oZWlnaHRcbiAgfSk7XG59IiwiaW1wb3J0IHsgdmlld3BvcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBnZXRWaWV3cG9ydFJlY3QgZnJvbSBcIi4vZ2V0Vmlld3BvcnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRSZWN0IGZyb20gXCIuL2dldERvY3VtZW50UmVjdC5qc1wiO1xuaW1wb3J0IGxpc3RTY3JvbGxQYXJlbnRzIGZyb20gXCIuL2xpc3RTY3JvbGxQYXJlbnRzLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCB7IGlzRWxlbWVudCwgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5pbXBvcnQgY29udGFpbnMgZnJvbSBcIi4vY29udGFpbnMuanNcIjtcbmltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IHJlY3RUb0NsaWVudFJlY3QgZnJvbSBcIi4uL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCB7IG1heCwgbWluIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcblxuZnVuY3Rpb24gZ2V0SW5uZXJCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgc3RyYXRlZ3kpIHtcbiAgdmFyIHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgZmFsc2UsIHN0cmF0ZWd5ID09PSAnZml4ZWQnKTtcbiAgcmVjdC50b3AgPSByZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50VG9wO1xuICByZWN0LmxlZnQgPSByZWN0LmxlZnQgKyBlbGVtZW50LmNsaWVudExlZnQ7XG4gIHJlY3QuYm90dG9tID0gcmVjdC50b3AgKyBlbGVtZW50LmNsaWVudEhlaWdodDtcbiAgcmVjdC5yaWdodCA9IHJlY3QubGVmdCArIGVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIHJlY3Qud2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoO1xuICByZWN0LmhlaWdodCA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICByZWN0LnggPSByZWN0LmxlZnQ7XG4gIHJlY3QueSA9IHJlY3QudG9wO1xuICByZXR1cm4gcmVjdDtcbn1cblxuZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdEZyb21NaXhlZFR5cGUoZWxlbWVudCwgY2xpcHBpbmdQYXJlbnQsIHN0cmF0ZWd5KSB7XG4gIHJldHVybiBjbGlwcGluZ1BhcmVudCA9PT0gdmlld3BvcnQgPyByZWN0VG9DbGllbnRSZWN0KGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkpIDogaXNFbGVtZW50KGNsaXBwaW5nUGFyZW50KSA/IGdldElubmVyQm91bmRpbmdDbGllbnRSZWN0KGNsaXBwaW5nUGFyZW50LCBzdHJhdGVneSkgOiByZWN0VG9DbGllbnRSZWN0KGdldERvY3VtZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpKTtcbn0gLy8gQSBcImNsaXBwaW5nIHBhcmVudFwiIGlzIGFuIG92ZXJmbG93YWJsZSBjb250YWluZXIgd2l0aCB0aGUgY2hhcmFjdGVyaXN0aWMgb2Zcbi8vIGNsaXBwaW5nIChvciBoaWRpbmcpIG92ZXJmbG93aW5nIGVsZW1lbnRzIHdpdGggYSBwb3NpdGlvbiBkaWZmZXJlbnQgZnJvbVxuLy8gYGluaXRpYWxgXG5cblxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdQYXJlbnRzKGVsZW1lbnQpIHtcbiAgdmFyIGNsaXBwaW5nUGFyZW50cyA9IGxpc3RTY3JvbGxQYXJlbnRzKGdldFBhcmVudE5vZGUoZWxlbWVudCkpO1xuICB2YXIgY2FuRXNjYXBlQ2xpcHBpbmcgPSBbJ2Fic29sdXRlJywgJ2ZpeGVkJ10uaW5kZXhPZihnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uKSA+PSAwO1xuICB2YXIgY2xpcHBlckVsZW1lbnQgPSBjYW5Fc2NhcGVDbGlwcGluZyAmJiBpc0hUTUxFbGVtZW50KGVsZW1lbnQpID8gZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQpIDogZWxlbWVudDtcblxuICBpZiAoIWlzRWxlbWVudChjbGlwcGVyRWxlbWVudCkpIHtcbiAgICByZXR1cm4gW107XG4gIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2Zsb3cvaXNzdWVzLzE0MTRcblxuXG4gIHJldHVybiBjbGlwcGluZ1BhcmVudHMuZmlsdGVyKGZ1bmN0aW9uIChjbGlwcGluZ1BhcmVudCkge1xuICAgIHJldHVybiBpc0VsZW1lbnQoY2xpcHBpbmdQYXJlbnQpICYmIGNvbnRhaW5zKGNsaXBwaW5nUGFyZW50LCBjbGlwcGVyRWxlbWVudCkgJiYgZ2V0Tm9kZU5hbWUoY2xpcHBpbmdQYXJlbnQpICE9PSAnYm9keSc7XG4gIH0pO1xufSAvLyBHZXRzIHRoZSBtYXhpbXVtIGFyZWEgdGhhdCB0aGUgZWxlbWVudCBpcyB2aXNpYmxlIGluIGR1ZSB0byBhbnkgbnVtYmVyIG9mXG4vLyBjbGlwcGluZyBwYXJlbnRzXG5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Q2xpcHBpbmdSZWN0KGVsZW1lbnQsIGJvdW5kYXJ5LCByb290Qm91bmRhcnksIHN0cmF0ZWd5KSB7XG4gIHZhciBtYWluQ2xpcHBpbmdQYXJlbnRzID0gYm91bmRhcnkgPT09ICdjbGlwcGluZ1BhcmVudHMnID8gZ2V0Q2xpcHBpbmdQYXJlbnRzKGVsZW1lbnQpIDogW10uY29uY2F0KGJvdW5kYXJ5KTtcbiAgdmFyIGNsaXBwaW5nUGFyZW50cyA9IFtdLmNvbmNhdChtYWluQ2xpcHBpbmdQYXJlbnRzLCBbcm9vdEJvdW5kYXJ5XSk7XG4gIHZhciBmaXJzdENsaXBwaW5nUGFyZW50ID0gY2xpcHBpbmdQYXJlbnRzWzBdO1xuICB2YXIgY2xpcHBpbmdSZWN0ID0gY2xpcHBpbmdQYXJlbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjUmVjdCwgY2xpcHBpbmdQYXJlbnQpIHtcbiAgICB2YXIgcmVjdCA9IGdldENsaWVudFJlY3RGcm9tTWl4ZWRUeXBlKGVsZW1lbnQsIGNsaXBwaW5nUGFyZW50LCBzdHJhdGVneSk7XG4gICAgYWNjUmVjdC50b3AgPSBtYXgocmVjdC50b3AsIGFjY1JlY3QudG9wKTtcbiAgICBhY2NSZWN0LnJpZ2h0ID0gbWluKHJlY3QucmlnaHQsIGFjY1JlY3QucmlnaHQpO1xuICAgIGFjY1JlY3QuYm90dG9tID0gbWluKHJlY3QuYm90dG9tLCBhY2NSZWN0LmJvdHRvbSk7XG4gICAgYWNjUmVjdC5sZWZ0ID0gbWF4KHJlY3QubGVmdCwgYWNjUmVjdC5sZWZ0KTtcbiAgICByZXR1cm4gYWNjUmVjdDtcbiAgfSwgZ2V0Q2xpZW50UmVjdEZyb21NaXhlZFR5cGUoZWxlbWVudCwgZmlyc3RDbGlwcGluZ1BhcmVudCwgc3RyYXRlZ3kpKTtcbiAgY2xpcHBpbmdSZWN0LndpZHRoID0gY2xpcHBpbmdSZWN0LnJpZ2h0IC0gY2xpcHBpbmdSZWN0LmxlZnQ7XG4gIGNsaXBwaW5nUmVjdC5oZWlnaHQgPSBjbGlwcGluZ1JlY3QuYm90dG9tIC0gY2xpcHBpbmdSZWN0LnRvcDtcbiAgY2xpcHBpbmdSZWN0LnggPSBjbGlwcGluZ1JlY3QubGVmdDtcbiAgY2xpcHBpbmdSZWN0LnkgPSBjbGlwcGluZ1JlY3QudG9wO1xuICByZXR1cm4gY2xpcHBpbmdSZWN0O1xufSIsImltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRWYXJpYXRpb24gZnJvbSBcIi4vZ2V0VmFyaWF0aW9uLmpzXCI7XG5pbXBvcnQgZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50IGZyb20gXCIuL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBzdGFydCwgZW5kIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb21wdXRlT2Zmc2V0cyhfcmVmKSB7XG4gIHZhciByZWZlcmVuY2UgPSBfcmVmLnJlZmVyZW5jZSxcbiAgICAgIGVsZW1lbnQgPSBfcmVmLmVsZW1lbnQsXG4gICAgICBwbGFjZW1lbnQgPSBfcmVmLnBsYWNlbWVudDtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBwbGFjZW1lbnQgPyBnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgOiBudWxsO1xuICB2YXIgdmFyaWF0aW9uID0gcGxhY2VtZW50ID8gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgOiBudWxsO1xuICB2YXIgY29tbW9uWCA9IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoIC8gMiAtIGVsZW1lbnQud2lkdGggLyAyO1xuICB2YXIgY29tbW9uWSA9IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodCAvIDIgLSBlbGVtZW50LmhlaWdodCAvIDI7XG4gIHZhciBvZmZzZXRzO1xuXG4gIHN3aXRjaCAoYmFzZVBsYWNlbWVudCkge1xuICAgIGNhc2UgdG9wOlxuICAgICAgb2Zmc2V0cyA9IHtcbiAgICAgICAgeDogY29tbW9uWCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnkgLSBlbGVtZW50LmhlaWdodFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBib3R0b206XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSArIHJlZmVyZW5jZS5oZWlnaHRcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcmlnaHQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCArIHJlZmVyZW5jZS53aWR0aCxcbiAgICAgICAgeTogY29tbW9uWVxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBsZWZ0OlxuICAgICAgb2Zmc2V0cyA9IHtcbiAgICAgICAgeDogcmVmZXJlbmNlLnggLSBlbGVtZW50LndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgb2Zmc2V0cyA9IHtcbiAgICAgICAgeDogcmVmZXJlbmNlLngsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55XG4gICAgICB9O1xuICB9XG5cbiAgdmFyIG1haW5BeGlzID0gYmFzZVBsYWNlbWVudCA/IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudChiYXNlUGxhY2VtZW50KSA6IG51bGw7XG5cbiAgaWYgKG1haW5BeGlzICE9IG51bGwpIHtcbiAgICB2YXIgbGVuID0gbWFpbkF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICAgIHN3aXRjaCAodmFyaWF0aW9uKSB7XG4gICAgICBjYXNlIHN0YXJ0OlxuICAgICAgICBvZmZzZXRzW21haW5BeGlzXSA9IG9mZnNldHNbbWFpbkF4aXNdIC0gKHJlZmVyZW5jZVtsZW5dIC8gMiAtIGVsZW1lbnRbbGVuXSAvIDIpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBlbmQ6XG4gICAgICAgIG9mZnNldHNbbWFpbkF4aXNdID0gb2Zmc2V0c1ttYWluQXhpc10gKyAocmVmZXJlbmNlW2xlbl0gLyAyIC0gZWxlbWVudFtsZW5dIC8gMik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvZmZzZXRzO1xufSIsImltcG9ydCBnZXRDbGlwcGluZ1JlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRDbGlwcGluZ1JlY3QuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBjb21wdXRlT2Zmc2V0cyBmcm9tIFwiLi9jb21wdXRlT2Zmc2V0cy5qc1wiO1xuaW1wb3J0IHJlY3RUb0NsaWVudFJlY3QgZnJvbSBcIi4vcmVjdFRvQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IHsgY2xpcHBpbmdQYXJlbnRzLCByZWZlcmVuY2UsIHBvcHBlciwgYm90dG9tLCB0b3AsIHJpZ2h0LCBiYXNlUGxhY2VtZW50cywgdmlld3BvcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCB7IGlzRWxlbWVudCB9IGZyb20gXCIuLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IG1lcmdlUGFkZGluZ09iamVjdCBmcm9tIFwiLi9tZXJnZVBhZGRpbmdPYmplY3QuanNcIjtcbmltcG9ydCBleHBhbmRUb0hhc2hNYXAgZnJvbSBcIi4vZXhwYW5kVG9IYXNoTWFwLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfb3B0aW9ucyA9IG9wdGlvbnMsXG4gICAgICBfb3B0aW9ucyRwbGFjZW1lbnQgPSBfb3B0aW9ucy5wbGFjZW1lbnQsXG4gICAgICBwbGFjZW1lbnQgPSBfb3B0aW9ucyRwbGFjZW1lbnQgPT09IHZvaWQgMCA/IHN0YXRlLnBsYWNlbWVudCA6IF9vcHRpb25zJHBsYWNlbWVudCxcbiAgICAgIF9vcHRpb25zJHN0cmF0ZWd5ID0gX29wdGlvbnMuc3RyYXRlZ3ksXG4gICAgICBzdHJhdGVneSA9IF9vcHRpb25zJHN0cmF0ZWd5ID09PSB2b2lkIDAgPyBzdGF0ZS5zdHJhdGVneSA6IF9vcHRpb25zJHN0cmF0ZWd5LFxuICAgICAgX29wdGlvbnMkYm91bmRhcnkgPSBfb3B0aW9ucy5ib3VuZGFyeSxcbiAgICAgIGJvdW5kYXJ5ID0gX29wdGlvbnMkYm91bmRhcnkgPT09IHZvaWQgMCA/IGNsaXBwaW5nUGFyZW50cyA6IF9vcHRpb25zJGJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMucm9vdEJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyB2aWV3cG9ydCA6IF9vcHRpb25zJHJvb3RCb3VuZGFyeSxcbiAgICAgIF9vcHRpb25zJGVsZW1lbnRDb250ZSA9IF9vcHRpb25zLmVsZW1lbnRDb250ZXh0LFxuICAgICAgZWxlbWVudENvbnRleHQgPSBfb3B0aW9ucyRlbGVtZW50Q29udGUgPT09IHZvaWQgMCA/IHBvcHBlciA6IF9vcHRpb25zJGVsZW1lbnRDb250ZSxcbiAgICAgIF9vcHRpb25zJGFsdEJvdW5kYXJ5ID0gX29wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IF9vcHRpb25zJGFsdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyBmYWxzZSA6IF9vcHRpb25zJGFsdEJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcGFkZGluZyA9IF9vcHRpb25zLnBhZGRpbmcsXG4gICAgICBwYWRkaW5nID0gX29wdGlvbnMkcGFkZGluZyA9PT0gdm9pZCAwID8gMCA6IF9vcHRpb25zJHBhZGRpbmc7XG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gbWVyZ2VQYWRkaW5nT2JqZWN0KHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IHBhZGRpbmcgOiBleHBhbmRUb0hhc2hNYXAocGFkZGluZywgYmFzZVBsYWNlbWVudHMpKTtcbiAgdmFyIGFsdENvbnRleHQgPSBlbGVtZW50Q29udGV4dCA9PT0gcG9wcGVyID8gcmVmZXJlbmNlIDogcG9wcGVyO1xuICB2YXIgcG9wcGVyUmVjdCA9IHN0YXRlLnJlY3RzLnBvcHBlcjtcbiAgdmFyIGVsZW1lbnQgPSBzdGF0ZS5lbGVtZW50c1thbHRCb3VuZGFyeSA/IGFsdENvbnRleHQgOiBlbGVtZW50Q29udGV4dF07XG4gIHZhciBjbGlwcGluZ0NsaWVudFJlY3QgPSBnZXRDbGlwcGluZ1JlY3QoaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudCA6IGVsZW1lbnQuY29udGV4dEVsZW1lbnQgfHwgZ2V0RG9jdW1lbnRFbGVtZW50KHN0YXRlLmVsZW1lbnRzLnBvcHBlciksIGJvdW5kYXJ5LCByb290Qm91bmRhcnksIHN0cmF0ZWd5KTtcbiAgdmFyIHJlZmVyZW5jZUNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qoc3RhdGUuZWxlbWVudHMucmVmZXJlbmNlKTtcbiAgdmFyIHBvcHBlck9mZnNldHMgPSBjb21wdXRlT2Zmc2V0cyh7XG4gICAgcmVmZXJlbmNlOiByZWZlcmVuY2VDbGllbnRSZWN0LFxuICAgIGVsZW1lbnQ6IHBvcHBlclJlY3QsXG4gICAgc3RyYXRlZ3k6ICdhYnNvbHV0ZScsXG4gICAgcGxhY2VtZW50OiBwbGFjZW1lbnRcbiAgfSk7XG4gIHZhciBwb3BwZXJDbGllbnRSZWN0ID0gcmVjdFRvQ2xpZW50UmVjdChPYmplY3QuYXNzaWduKHt9LCBwb3BwZXJSZWN0LCBwb3BwZXJPZmZzZXRzKSk7XG4gIHZhciBlbGVtZW50Q2xpZW50UmVjdCA9IGVsZW1lbnRDb250ZXh0ID09PSBwb3BwZXIgPyBwb3BwZXJDbGllbnRSZWN0IDogcmVmZXJlbmNlQ2xpZW50UmVjdDsgLy8gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgY2xpcHBpbmcgcmVjdFxuICAvLyAwIG9yIG5lZ2F0aXZlID0gd2l0aGluIHRoZSBjbGlwcGluZyByZWN0XG5cbiAgdmFyIG92ZXJmbG93T2Zmc2V0cyA9IHtcbiAgICB0b3A6IGNsaXBwaW5nQ2xpZW50UmVjdC50b3AgLSBlbGVtZW50Q2xpZW50UmVjdC50b3AgKyBwYWRkaW5nT2JqZWN0LnRvcCxcbiAgICBib3R0b206IGVsZW1lbnRDbGllbnRSZWN0LmJvdHRvbSAtIGNsaXBwaW5nQ2xpZW50UmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSxcbiAgICBsZWZ0OiBjbGlwcGluZ0NsaWVudFJlY3QubGVmdCAtIGVsZW1lbnRDbGllbnRSZWN0LmxlZnQgKyBwYWRkaW5nT2JqZWN0LmxlZnQsXG4gICAgcmlnaHQ6IGVsZW1lbnRDbGllbnRSZWN0LnJpZ2h0IC0gY2xpcHBpbmdDbGllbnRSZWN0LnJpZ2h0ICsgcGFkZGluZ09iamVjdC5yaWdodFxuICB9O1xuICB2YXIgb2Zmc2V0RGF0YSA9IHN0YXRlLm1vZGlmaWVyc0RhdGEub2Zmc2V0OyAvLyBPZmZzZXRzIGNhbiBiZSBhcHBsaWVkIG9ubHkgdG8gdGhlIHBvcHBlciBlbGVtZW50XG5cbiAgaWYgKGVsZW1lbnRDb250ZXh0ID09PSBwb3BwZXIgJiYgb2Zmc2V0RGF0YSkge1xuICAgIHZhciBvZmZzZXQgPSBvZmZzZXREYXRhW3BsYWNlbWVudF07XG4gICAgT2JqZWN0LmtleXMob3ZlcmZsb3dPZmZzZXRzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIHZhciBtdWx0aXBseSA9IFtyaWdodCwgYm90dG9tXS5pbmRleE9mKGtleSkgPj0gMCA/IDEgOiAtMTtcbiAgICAgIHZhciBheGlzID0gW3RvcCwgYm90dG9tXS5pbmRleE9mKGtleSkgPj0gMCA/ICd5JyA6ICd4JztcbiAgICAgIG92ZXJmbG93T2Zmc2V0c1trZXldICs9IG9mZnNldFtheGlzXSAqIG11bHRpcGx5O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG92ZXJmbG93T2Zmc2V0cztcbn0iLCJpbXBvcnQgZ2V0VmFyaWF0aW9uIGZyb20gXCIuL2dldFZhcmlhdGlvbi5qc1wiO1xuaW1wb3J0IHsgdmFyaWF0aW9uUGxhY2VtZW50cywgYmFzZVBsYWNlbWVudHMsIHBsYWNlbWVudHMgYXMgYWxsUGxhY2VtZW50cyB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuL2RldGVjdE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb21wdXRlQXV0b1BsYWNlbWVudChzdGF0ZSwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgdmFyIF9vcHRpb25zID0gb3B0aW9ucyxcbiAgICAgIHBsYWNlbWVudCA9IF9vcHRpb25zLnBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5ID0gX29wdGlvbnMuYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnkgPSBfb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBwYWRkaW5nID0gX29wdGlvbnMucGFkZGluZyxcbiAgICAgIGZsaXBWYXJpYXRpb25zID0gX29wdGlvbnMuZmxpcFZhcmlhdGlvbnMsXG4gICAgICBfb3B0aW9ucyRhbGxvd2VkQXV0b1AgPSBfb3B0aW9ucy5hbGxvd2VkQXV0b1BsYWNlbWVudHMsXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHMgPSBfb3B0aW9ucyRhbGxvd2VkQXV0b1AgPT09IHZvaWQgMCA/IGFsbFBsYWNlbWVudHMgOiBfb3B0aW9ucyRhbGxvd2VkQXV0b1A7XG4gIHZhciB2YXJpYXRpb24gPSBnZXRWYXJpYXRpb24ocGxhY2VtZW50KTtcbiAgdmFyIHBsYWNlbWVudHMgPSB2YXJpYXRpb24gPyBmbGlwVmFyaWF0aW9ucyA/IHZhcmlhdGlvblBsYWNlbWVudHMgOiB2YXJpYXRpb25QbGFjZW1lbnRzLmZpbHRlcihmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgcmV0dXJuIGdldFZhcmlhdGlvbihwbGFjZW1lbnQpID09PSB2YXJpYXRpb247XG4gIH0pIDogYmFzZVBsYWNlbWVudHM7XG4gIHZhciBhbGxvd2VkUGxhY2VtZW50cyA9IHBsYWNlbWVudHMuZmlsdGVyKGZ1bmN0aW9uIChwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gYWxsb3dlZEF1dG9QbGFjZW1lbnRzLmluZGV4T2YocGxhY2VtZW50KSA+PSAwO1xuICB9KTtcblxuICBpZiAoYWxsb3dlZFBsYWNlbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgYWxsb3dlZFBsYWNlbWVudHMgPSBwbGFjZW1lbnRzO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgY29uc29sZS5lcnJvcihbJ1BvcHBlcjogVGhlIGBhbGxvd2VkQXV0b1BsYWNlbWVudHNgIG9wdGlvbiBkaWQgbm90IGFsbG93IGFueScsICdwbGFjZW1lbnRzLiBFbnN1cmUgdGhlIGBwbGFjZW1lbnRgIG9wdGlvbiBtYXRjaGVzIHRoZSB2YXJpYXRpb24nLCAnb2YgdGhlIGFsbG93ZWQgcGxhY2VtZW50cy4nLCAnRm9yIGV4YW1wbGUsIFwiYXV0b1wiIGNhbm5vdCBiZSB1c2VkIHRvIGFsbG93IFwiYm90dG9tLXN0YXJ0XCIuJywgJ1VzZSBcImF1dG8tc3RhcnRcIiBpbnN0ZWFkLiddLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdOiBGbG93IHNlZW1zIHRvIGhhdmUgcHJvYmxlbXMgd2l0aCB0d28gYXJyYXkgdW5pb25zLi4uXG5cblxuICB2YXIgb3ZlcmZsb3dzID0gYWxsb3dlZFBsYWNlbWVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICAgIGFjY1twbGFjZW1lbnRdID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50LFxuICAgICAgYm91bmRhcnk6IGJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5OiByb290Qm91bmRhcnksXG4gICAgICBwYWRkaW5nOiBwYWRkaW5nXG4gICAgfSlbZ2V0QmFzZVBsYWNlbWVudChwbGFjZW1lbnQpXTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG4gIHJldHVybiBPYmplY3Qua2V5cyhvdmVyZmxvd3MpLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gb3ZlcmZsb3dzW2FdIC0gb3ZlcmZsb3dzW2JdO1xuICB9KTtcbn0iLCJpbXBvcnQgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldE9wcG9zaXRlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVBdXRvUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9jb21wdXRlQXV0b1BsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgYm90dG9tLCB0b3AsIHN0YXJ0LCByaWdodCwgbGVmdCwgYXV0byB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi4vdXRpbHMvZ2V0VmFyaWF0aW9uLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZnVuY3Rpb24gZ2V0RXhwYW5kZWRGYWxsYmFja1BsYWNlbWVudHMocGxhY2VtZW50KSB7XG4gIGlmIChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8pIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICB2YXIgb3Bwb3NpdGVQbGFjZW1lbnQgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuICByZXR1cm4gW2dldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50KHBsYWNlbWVudCksIG9wcG9zaXRlUGxhY2VtZW50LCBnZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudChvcHBvc2l0ZVBsYWNlbWVudCldO1xufVxuXG5mdW5jdGlvbiBmbGlwKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdLl9za2lwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIF9vcHRpb25zJG1haW5BeGlzID0gb3B0aW9ucy5tYWluQXhpcyxcbiAgICAgIGNoZWNrTWFpbkF4aXMgPSBfb3B0aW9ucyRtYWluQXhpcyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJG1haW5BeGlzLFxuICAgICAgX29wdGlvbnMkYWx0QXhpcyA9IG9wdGlvbnMuYWx0QXhpcyxcbiAgICAgIGNoZWNrQWx0QXhpcyA9IF9vcHRpb25zJGFsdEF4aXMgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRhbHRBeGlzLFxuICAgICAgc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzID0gb3B0aW9ucy5mYWxsYmFja1BsYWNlbWVudHMsXG4gICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgYm91bmRhcnkgPSBvcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IG9wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPSBvcHRpb25zLmZsaXBWYXJpYXRpb25zLFxuICAgICAgZmxpcFZhcmlhdGlvbnMgPSBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRmbGlwVmFyaWF0aW8sXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHMgPSBvcHRpb25zLmFsbG93ZWRBdXRvUGxhY2VtZW50cztcbiAgdmFyIHByZWZlcnJlZFBsYWNlbWVudCA9IHN0YXRlLm9wdGlvbnMucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocHJlZmVycmVkUGxhY2VtZW50KTtcbiAgdmFyIGlzQmFzZVBsYWNlbWVudCA9IGJhc2VQbGFjZW1lbnQgPT09IHByZWZlcnJlZFBsYWNlbWVudDtcbiAgdmFyIGZhbGxiYWNrUGxhY2VtZW50cyA9IHNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyB8fCAoaXNCYXNlUGxhY2VtZW50IHx8ICFmbGlwVmFyaWF0aW9ucyA/IFtnZXRPcHBvc2l0ZVBsYWNlbWVudChwcmVmZXJyZWRQbGFjZW1lbnQpXSA6IGdldEV4cGFuZGVkRmFsbGJhY2tQbGFjZW1lbnRzKHByZWZlcnJlZFBsYWNlbWVudCkpO1xuICB2YXIgcGxhY2VtZW50cyA9IFtwcmVmZXJyZWRQbGFjZW1lbnRdLmNvbmNhdChmYWxsYmFja1BsYWNlbWVudHMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gYWNjLmNvbmNhdChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8gPyBjb21wdXRlQXV0b1BsYWNlbWVudChzdGF0ZSwge1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnk6IHJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmc6IHBhZGRpbmcsXG4gICAgICBmbGlwVmFyaWF0aW9uczogZmxpcFZhcmlhdGlvbnMsXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHM6IGFsbG93ZWRBdXRvUGxhY2VtZW50c1xuICAgIH0pIDogcGxhY2VtZW50KTtcbiAgfSwgW10pO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciBjaGVja3NNYXAgPSBuZXcgTWFwKCk7XG4gIHZhciBtYWtlRmFsbGJhY2tDaGVja3MgPSB0cnVlO1xuICB2YXIgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gcGxhY2VtZW50c1swXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBsYWNlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcGxhY2VtZW50ID0gcGxhY2VtZW50c1tpXTtcblxuICAgIHZhciBfYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KTtcblxuICAgIHZhciBpc1N0YXJ0VmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgPT09IHN0YXJ0O1xuICAgIHZhciBpc1ZlcnRpY2FsID0gW3RvcCwgYm90dG9tXS5pbmRleE9mKF9iYXNlUGxhY2VtZW50KSA+PSAwO1xuICAgIHZhciBsZW4gPSBpc1ZlcnRpY2FsID8gJ3dpZHRoJyA6ICdoZWlnaHQnO1xuICAgIHZhciBvdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgICAgYWx0Qm91bmRhcnk6IGFsdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZzogcGFkZGluZ1xuICAgIH0pO1xuICAgIHZhciBtYWluVmFyaWF0aW9uU2lkZSA9IGlzVmVydGljYWwgPyBpc1N0YXJ0VmFyaWF0aW9uID8gcmlnaHQgOiBsZWZ0IDogaXNTdGFydFZhcmlhdGlvbiA/IGJvdHRvbSA6IHRvcDtcblxuICAgIGlmIChyZWZlcmVuY2VSZWN0W2xlbl0gPiBwb3BwZXJSZWN0W2xlbl0pIHtcbiAgICAgIG1haW5WYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIH1cblxuICAgIHZhciBhbHRWYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIHZhciBjaGVja3MgPSBbXTtcblxuICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICBjaGVja3MucHVzaChvdmVyZmxvd1tfYmFzZVBsYWNlbWVudF0gPD0gMCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrQWx0QXhpcykge1xuICAgICAgY2hlY2tzLnB1c2gob3ZlcmZsb3dbbWFpblZhcmlhdGlvblNpZGVdIDw9IDAsIG92ZXJmbG93W2FsdFZhcmlhdGlvblNpZGVdIDw9IDApO1xuICAgIH1cblxuICAgIGlmIChjaGVja3MuZXZlcnkoZnVuY3Rpb24gKGNoZWNrKSB7XG4gICAgICByZXR1cm4gY2hlY2s7XG4gICAgfSkpIHtcbiAgICAgIGZpcnN0Rml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudDtcbiAgICAgIG1ha2VGYWxsYmFja0NoZWNrcyA9IGZhbHNlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2hlY2tzTWFwLnNldChwbGFjZW1lbnQsIGNoZWNrcyk7XG4gIH1cblxuICBpZiAobWFrZUZhbGxiYWNrQ2hlY2tzKSB7XG4gICAgLy8gYDJgIG1heSBiZSBkZXNpcmVkIGluIHNvbWUgY2FzZXMg4oCTIHJlc2VhcmNoIGxhdGVyXG4gICAgdmFyIG51bWJlck9mQ2hlY2tzID0gZmxpcFZhcmlhdGlvbnMgPyAzIDogMTtcblxuICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKF9pKSB7XG4gICAgICB2YXIgZml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudHMuZmluZChmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgICAgIHZhciBjaGVja3MgPSBjaGVja3NNYXAuZ2V0KHBsYWNlbWVudCk7XG5cbiAgICAgICAgaWYgKGNoZWNrcykge1xuICAgICAgICAgIHJldHVybiBjaGVja3Muc2xpY2UoMCwgX2kpLmV2ZXJ5KGZ1bmN0aW9uIChjaGVjaykge1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGZpdHRpbmdQbGFjZW1lbnQpIHtcbiAgICAgICAgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gZml0dGluZ1BsYWNlbWVudDtcbiAgICAgICAgcmV0dXJuIFwiYnJlYWtcIjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9yICh2YXIgX2kgPSBudW1iZXJPZkNoZWNrczsgX2kgPiAwOyBfaS0tKSB7XG4gICAgICB2YXIgX3JldCA9IF9sb29wKF9pKTtcblxuICAgICAgaWYgKF9yZXQgPT09IFwiYnJlYWtcIikgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXRlLnBsYWNlbWVudCAhPT0gZmlyc3RGaXR0aW5nUGxhY2VtZW50KSB7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXS5fc2tpcCA9IHRydWU7XG4gICAgc3RhdGUucGxhY2VtZW50ID0gZmlyc3RGaXR0aW5nUGxhY2VtZW50O1xuICAgIHN0YXRlLnJlc2V0ID0gdHJ1ZTtcbiAgfVxufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnZmxpcCcsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIGZuOiBmbGlwLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ29mZnNldCddLFxuICBkYXRhOiB7XG4gICAgX3NraXA6IGZhbHNlXG4gIH1cbn07IiwiaW1wb3J0IHsgdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0IH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4uL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5cbmZ1bmN0aW9uIGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0LCBwcmV2ZW50ZWRPZmZzZXRzKSB7XG4gIGlmIChwcmV2ZW50ZWRPZmZzZXRzID09PSB2b2lkIDApIHtcbiAgICBwcmV2ZW50ZWRPZmZzZXRzID0ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IG92ZXJmbG93LnRvcCAtIHJlY3QuaGVpZ2h0IC0gcHJldmVudGVkT2Zmc2V0cy55LFxuICAgIHJpZ2h0OiBvdmVyZmxvdy5yaWdodCAtIHJlY3Qud2lkdGggKyBwcmV2ZW50ZWRPZmZzZXRzLngsXG4gICAgYm90dG9tOiBvdmVyZmxvdy5ib3R0b20gLSByZWN0LmhlaWdodCArIHByZXZlbnRlZE9mZnNldHMueSxcbiAgICBsZWZ0OiBvdmVyZmxvdy5sZWZ0IC0gcmVjdC53aWR0aCAtIHByZXZlbnRlZE9mZnNldHMueFxuICB9O1xufVxuXG5mdW5jdGlvbiBpc0FueVNpZGVGdWxseUNsaXBwZWQob3ZlcmZsb3cpIHtcbiAgcmV0dXJuIFt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnRdLnNvbWUoZnVuY3Rpb24gKHNpZGUpIHtcbiAgICByZXR1cm4gb3ZlcmZsb3dbc2lkZV0gPj0gMDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhpZGUoX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgbmFtZSA9IF9yZWYubmFtZTtcbiAgdmFyIHJlZmVyZW5jZVJlY3QgPSBzdGF0ZS5yZWN0cy5yZWZlcmVuY2U7XG4gIHZhciBwb3BwZXJSZWN0ID0gc3RhdGUucmVjdHMucG9wcGVyO1xuICB2YXIgcHJldmVudGVkT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucHJldmVudE92ZXJmbG93O1xuICB2YXIgcmVmZXJlbmNlT3ZlcmZsb3cgPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgIGVsZW1lbnRDb250ZXh0OiAncmVmZXJlbmNlJ1xuICB9KTtcbiAgdmFyIHBvcHBlckFsdE92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICBhbHRCb3VuZGFyeTogdHJ1ZVxuICB9KTtcbiAgdmFyIHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKHJlZmVyZW5jZU92ZXJmbG93LCByZWZlcmVuY2VSZWN0KTtcbiAgdmFyIHBvcHBlckVzY2FwZU9mZnNldHMgPSBnZXRTaWRlT2Zmc2V0cyhwb3BwZXJBbHRPdmVyZmxvdywgcG9wcGVyUmVjdCwgcHJldmVudGVkT2Zmc2V0cyk7XG4gIHZhciBpc1JlZmVyZW5jZUhpZGRlbiA9IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChyZWZlcmVuY2VDbGlwcGluZ09mZnNldHMpO1xuICB2YXIgaGFzUG9wcGVyRXNjYXBlZCA9IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChwb3BwZXJFc2NhcGVPZmZzZXRzKTtcbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IHtcbiAgICByZWZlcmVuY2VDbGlwcGluZ09mZnNldHM6IHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyxcbiAgICBwb3BwZXJFc2NhcGVPZmZzZXRzOiBwb3BwZXJFc2NhcGVPZmZzZXRzLFxuICAgIGlzUmVmZXJlbmNlSGlkZGVuOiBpc1JlZmVyZW5jZUhpZGRlbixcbiAgICBoYXNQb3BwZXJFc2NhcGVkOiBoYXNQb3BwZXJFc2NhcGVkXG4gIH07XG4gIHN0YXRlLmF0dHJpYnV0ZXMucG9wcGVyID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIsIHtcbiAgICAnZGF0YS1wb3BwZXItcmVmZXJlbmNlLWhpZGRlbic6IGlzUmVmZXJlbmNlSGlkZGVuLFxuICAgICdkYXRhLXBvcHBlci1lc2NhcGVkJzogaGFzUG9wcGVyRXNjYXBlZFxuICB9KTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2hpZGUnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ21haW4nLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ3ByZXZlbnRPdmVyZmxvdyddLFxuICBmbjogaGlkZVxufTsiLCJpbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgdG9wLCBsZWZ0LCByaWdodCwgcGxhY2VtZW50cyB9IGZyb20gXCIuLi9lbnVtcy5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCBmdW5jdGlvbiBkaXN0YW5jZUFuZFNraWRkaW5nVG9YWShwbGFjZW1lbnQsIHJlY3RzLCBvZmZzZXQpIHtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHZhciBpbnZlcnREaXN0YW5jZSA9IFtsZWZ0LCB0b3BdLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgPj0gMCA/IC0xIDogMTtcblxuICB2YXIgX3JlZiA9IHR5cGVvZiBvZmZzZXQgPT09ICdmdW5jdGlvbicgPyBvZmZzZXQoT2JqZWN0LmFzc2lnbih7fSwgcmVjdHMsIHtcbiAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudFxuICB9KSkgOiBvZmZzZXQsXG4gICAgICBza2lkZGluZyA9IF9yZWZbMF0sXG4gICAgICBkaXN0YW5jZSA9IF9yZWZbMV07XG5cbiAgc2tpZGRpbmcgPSBza2lkZGluZyB8fCAwO1xuICBkaXN0YW5jZSA9IChkaXN0YW5jZSB8fCAwKSAqIGludmVydERpc3RhbmNlO1xuICByZXR1cm4gW2xlZnQsIHJpZ2h0XS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpID49IDAgPyB7XG4gICAgeDogZGlzdGFuY2UsXG4gICAgeTogc2tpZGRpbmdcbiAgfSA6IHtcbiAgICB4OiBza2lkZGluZyxcbiAgICB5OiBkaXN0YW5jZVxuICB9O1xufVxuXG5mdW5jdGlvbiBvZmZzZXQoX3JlZjIpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjIuc3RhdGUsXG4gICAgICBvcHRpb25zID0gX3JlZjIub3B0aW9ucyxcbiAgICAgIG5hbWUgPSBfcmVmMi5uYW1lO1xuICB2YXIgX29wdGlvbnMkb2Zmc2V0ID0gb3B0aW9ucy5vZmZzZXQsXG4gICAgICBvZmZzZXQgPSBfb3B0aW9ucyRvZmZzZXQgPT09IHZvaWQgMCA/IFswLCAwXSA6IF9vcHRpb25zJG9mZnNldDtcbiAgdmFyIGRhdGEgPSBwbGFjZW1lbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICBhY2NbcGxhY2VtZW50XSA9IGRpc3RhbmNlQW5kU2tpZGRpbmdUb1hZKHBsYWNlbWVudCwgc3RhdGUucmVjdHMsIG9mZnNldCk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICB2YXIgX2RhdGEkc3RhdGUkcGxhY2VtZW50ID0gZGF0YVtzdGF0ZS5wbGFjZW1lbnRdLFxuICAgICAgeCA9IF9kYXRhJHN0YXRlJHBsYWNlbWVudC54LFxuICAgICAgeSA9IF9kYXRhJHN0YXRlJHBsYWNlbWVudC55O1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMgIT0gbnVsbCkge1xuICAgIHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cy54ICs9IHg7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLnkgKz0geTtcbiAgfVxuXG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSBkYXRhO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnb2Zmc2V0JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgcmVxdWlyZXM6IFsncG9wcGVyT2Zmc2V0cyddLFxuICBmbjogb2Zmc2V0XG59OyIsImltcG9ydCBjb21wdXRlT2Zmc2V0cyBmcm9tIFwiLi4vdXRpbHMvY29tcHV0ZU9mZnNldHMuanNcIjtcblxuZnVuY3Rpb24gcG9wcGVyT2Zmc2V0cyhfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICAvLyBPZmZzZXRzIGFyZSB0aGUgYWN0dWFsIHBvc2l0aW9uIHRoZSBwb3BwZXIgbmVlZHMgdG8gaGF2ZSB0byBiZVxuICAvLyBwcm9wZXJseSBwb3NpdGlvbmVkIG5lYXIgaXRzIHJlZmVyZW5jZSBlbGVtZW50XG4gIC8vIFRoaXMgaXMgdGhlIG1vc3QgYmFzaWMgcGxhY2VtZW50LCBhbmQgd2lsbCBiZSBhZGp1c3RlZCBieVxuICAvLyB0aGUgbW9kaWZpZXJzIGluIHRoZSBuZXh0IHN0ZXBcbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IGNvbXB1dGVPZmZzZXRzKHtcbiAgICByZWZlcmVuY2U6IHN0YXRlLnJlY3RzLnJlZmVyZW5jZSxcbiAgICBlbGVtZW50OiBzdGF0ZS5yZWN0cy5wb3BwZXIsXG4gICAgc3RyYXRlZ3k6ICdhYnNvbHV0ZScsXG4gICAgcGxhY2VtZW50OiBzdGF0ZS5wbGFjZW1lbnRcbiAgfSk7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdwb3BwZXJPZmZzZXRzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdyZWFkJyxcbiAgZm46IHBvcHBlck9mZnNldHMsXG4gIGRhdGE6IHt9XG59OyIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEFsdEF4aXMoYXhpcykge1xuICByZXR1cm4gYXhpcyA9PT0gJ3gnID8gJ3knIDogJ3gnO1xufSIsImltcG9ydCB7IHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbSwgc3RhcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRBbHRBeGlzIGZyb20gXCIuLi91dGlscy9nZXRBbHRBeGlzLmpzXCI7XG5pbXBvcnQgeyB3aXRoaW4sIHdpdGhpbk1heENsYW1wIH0gZnJvbSBcIi4uL3V0aWxzL3dpdGhpbi5qc1wiO1xuaW1wb3J0IGdldExheW91dFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4uL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgZ2V0VmFyaWF0aW9uIGZyb20gXCIuLi91dGlscy9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCBnZXRGcmVzaFNpZGVPYmplY3QgZnJvbSBcIi4uL3V0aWxzL2dldEZyZXNoU2lkZU9iamVjdC5qc1wiO1xuaW1wb3J0IHsgbWluIGFzIG1hdGhNaW4sIG1heCBhcyBtYXRoTWF4IH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcblxuZnVuY3Rpb24gcHJldmVudE92ZXJmbG93KF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICB2YXIgX29wdGlvbnMkbWFpbkF4aXMgPSBvcHRpb25zLm1haW5BeGlzLFxuICAgICAgY2hlY2tNYWluQXhpcyA9IF9vcHRpb25zJG1haW5BeGlzID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkbWFpbkF4aXMsXG4gICAgICBfb3B0aW9ucyRhbHRBeGlzID0gb3B0aW9ucy5hbHRBeGlzLFxuICAgICAgY2hlY2tBbHRBeGlzID0gX29wdGlvbnMkYWx0QXhpcyA9PT0gdm9pZCAwID8gZmFsc2UgOiBfb3B0aW9ucyRhbHRBeGlzLFxuICAgICAgYm91bmRhcnkgPSBvcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IG9wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgX29wdGlvbnMkdGV0aGVyID0gb3B0aW9ucy50ZXRoZXIsXG4gICAgICB0ZXRoZXIgPSBfb3B0aW9ucyR0ZXRoZXIgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyR0ZXRoZXIsXG4gICAgICBfb3B0aW9ucyR0ZXRoZXJPZmZzZXQgPSBvcHRpb25zLnRldGhlck9mZnNldCxcbiAgICAgIHRldGhlck9mZnNldCA9IF9vcHRpb25zJHRldGhlck9mZnNldCA9PT0gdm9pZCAwID8gMCA6IF9vcHRpb25zJHRldGhlck9mZnNldDtcbiAgdmFyIG92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgcm9vdEJvdW5kYXJ5OiByb290Qm91bmRhcnksXG4gICAgcGFkZGluZzogcGFkZGluZyxcbiAgICBhbHRCb3VuZGFyeTogYWx0Qm91bmRhcnlcbiAgfSk7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5wbGFjZW1lbnQpO1xuICB2YXIgdmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciBpc0Jhc2VQbGFjZW1lbnQgPSAhdmFyaWF0aW9uO1xuICB2YXIgbWFpbkF4aXMgPSBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQoYmFzZVBsYWNlbWVudCk7XG4gIHZhciBhbHRBeGlzID0gZ2V0QWx0QXhpcyhtYWluQXhpcyk7XG4gIHZhciBwb3BwZXJPZmZzZXRzID0gc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciB0ZXRoZXJPZmZzZXRWYWx1ZSA9IHR5cGVvZiB0ZXRoZXJPZmZzZXQgPT09ICdmdW5jdGlvbicgPyB0ZXRoZXJPZmZzZXQoT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUucmVjdHMsIHtcbiAgICBwbGFjZW1lbnQ6IHN0YXRlLnBsYWNlbWVudFxuICB9KSkgOiB0ZXRoZXJPZmZzZXQ7XG4gIHZhciBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUgPSB0eXBlb2YgdGV0aGVyT2Zmc2V0VmFsdWUgPT09ICdudW1iZXInID8ge1xuICAgIG1haW5BeGlzOiB0ZXRoZXJPZmZzZXRWYWx1ZSxcbiAgICBhbHRBeGlzOiB0ZXRoZXJPZmZzZXRWYWx1ZVxuICB9IDogT2JqZWN0LmFzc2lnbih7XG4gICAgbWFpbkF4aXM6IDAsXG4gICAgYWx0QXhpczogMFxuICB9LCB0ZXRoZXJPZmZzZXRWYWx1ZSk7XG4gIHZhciBvZmZzZXRNb2RpZmllclN0YXRlID0gc3RhdGUubW9kaWZpZXJzRGF0YS5vZmZzZXQgPyBzdGF0ZS5tb2RpZmllcnNEYXRhLm9mZnNldFtzdGF0ZS5wbGFjZW1lbnRdIDogbnVsbDtcbiAgdmFyIGRhdGEgPSB7XG4gICAgeDogMCxcbiAgICB5OiAwXG4gIH07XG5cbiAgaWYgKCFwb3BwZXJPZmZzZXRzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICB2YXIgX29mZnNldE1vZGlmaWVyU3RhdGUkO1xuXG4gICAgdmFyIG1haW5TaWRlID0gbWFpbkF4aXMgPT09ICd5JyA/IHRvcCA6IGxlZnQ7XG4gICAgdmFyIGFsdFNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gYm90dG9tIDogcmlnaHQ7XG4gICAgdmFyIGxlbiA9IG1haW5BeGlzID09PSAneScgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gICAgdmFyIG9mZnNldCA9IHBvcHBlck9mZnNldHNbbWFpbkF4aXNdO1xuICAgIHZhciBtaW4gPSBvZmZzZXQgKyBvdmVyZmxvd1ttYWluU2lkZV07XG4gICAgdmFyIG1heCA9IG9mZnNldCAtIG92ZXJmbG93W2FsdFNpZGVdO1xuICAgIHZhciBhZGRpdGl2ZSA9IHRldGhlciA/IC1wb3BwZXJSZWN0W2xlbl0gLyAyIDogMDtcbiAgICB2YXIgbWluTGVuID0gdmFyaWF0aW9uID09PSBzdGFydCA/IHJlZmVyZW5jZVJlY3RbbGVuXSA6IHBvcHBlclJlY3RbbGVuXTtcbiAgICB2YXIgbWF4TGVuID0gdmFyaWF0aW9uID09PSBzdGFydCA/IC1wb3BwZXJSZWN0W2xlbl0gOiAtcmVmZXJlbmNlUmVjdFtsZW5dOyAvLyBXZSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFycm93IGluIHRoZSBjYWxjdWxhdGlvbiBzbyB0aGUgYXJyb3cgZG9lc24ndCBnb1xuICAgIC8vIG91dHNpZGUgdGhlIHJlZmVyZW5jZSBib3VuZHNcblxuICAgIHZhciBhcnJvd0VsZW1lbnQgPSBzdGF0ZS5lbGVtZW50cy5hcnJvdztcbiAgICB2YXIgYXJyb3dSZWN0ID0gdGV0aGVyICYmIGFycm93RWxlbWVudCA/IGdldExheW91dFJlY3QoYXJyb3dFbGVtZW50KSA6IHtcbiAgICAgIHdpZHRoOiAwLFxuICAgICAgaGVpZ2h0OiAwXG4gICAgfTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nT2JqZWN0ID0gc3RhdGUubW9kaWZpZXJzRGF0YVsnYXJyb3cjcGVyc2lzdGVudCddID8gc3RhdGUubW9kaWZpZXJzRGF0YVsnYXJyb3cjcGVyc2lzdGVudCddLnBhZGRpbmcgOiBnZXRGcmVzaFNpZGVPYmplY3QoKTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nTWluID0gYXJyb3dQYWRkaW5nT2JqZWN0W21haW5TaWRlXTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nTWF4ID0gYXJyb3dQYWRkaW5nT2JqZWN0W2FsdFNpZGVdOyAvLyBJZiB0aGUgcmVmZXJlbmNlIGxlbmd0aCBpcyBzbWFsbGVyIHRoYW4gdGhlIGFycm93IGxlbmd0aCwgd2UgZG9uJ3Qgd2FudFxuICAgIC8vIHRvIGluY2x1ZGUgaXRzIGZ1bGwgc2l6ZSBpbiB0aGUgY2FsY3VsYXRpb24uIElmIHRoZSByZWZlcmVuY2UgaXMgc21hbGxcbiAgICAvLyBhbmQgbmVhciB0aGUgZWRnZSBvZiBhIGJvdW5kYXJ5LCB0aGUgcG9wcGVyIGNhbiBvdmVyZmxvdyBldmVuIGlmIHRoZVxuICAgIC8vIHJlZmVyZW5jZSBpcyBub3Qgb3ZlcmZsb3dpbmcgYXMgd2VsbCAoZS5nLiB2aXJ0dWFsIGVsZW1lbnRzIHdpdGggbm9cbiAgICAvLyB3aWR0aCBvciBoZWlnaHQpXG5cbiAgICB2YXIgYXJyb3dMZW4gPSB3aXRoaW4oMCwgcmVmZXJlbmNlUmVjdFtsZW5dLCBhcnJvd1JlY3RbbGVuXSk7XG4gICAgdmFyIG1pbk9mZnNldCA9IGlzQmFzZVBsYWNlbWVudCA/IHJlZmVyZW5jZVJlY3RbbGVuXSAvIDIgLSBhZGRpdGl2ZSAtIGFycm93TGVuIC0gYXJyb3dQYWRkaW5nTWluIC0gbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzIDogbWluTGVuIC0gYXJyb3dMZW4gLSBhcnJvd1BhZGRpbmdNaW4gLSBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUubWFpbkF4aXM7XG4gICAgdmFyIG1heE9mZnNldCA9IGlzQmFzZVBsYWNlbWVudCA/IC1yZWZlcmVuY2VSZWN0W2xlbl0gLyAyICsgYWRkaXRpdmUgKyBhcnJvd0xlbiArIGFycm93UGFkZGluZ01heCArIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5tYWluQXhpcyA6IG1heExlbiArIGFycm93TGVuICsgYXJyb3dQYWRkaW5nTWF4ICsgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzO1xuICAgIHZhciBhcnJvd09mZnNldFBhcmVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93ICYmIGdldE9mZnNldFBhcmVudChzdGF0ZS5lbGVtZW50cy5hcnJvdyk7XG4gICAgdmFyIGNsaWVudE9mZnNldCA9IGFycm93T2Zmc2V0UGFyZW50ID8gbWFpbkF4aXMgPT09ICd5JyA/IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudFRvcCB8fCAwIDogYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50TGVmdCB8fCAwIDogMDtcbiAgICB2YXIgb2Zmc2V0TW9kaWZpZXJWYWx1ZSA9IChfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQgPSBvZmZzZXRNb2RpZmllclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBvZmZzZXRNb2RpZmllclN0YXRlW21haW5BeGlzXSkgIT0gbnVsbCA/IF9vZmZzZXRNb2RpZmllclN0YXRlJCA6IDA7XG4gICAgdmFyIHRldGhlck1pbiA9IG9mZnNldCArIG1pbk9mZnNldCAtIG9mZnNldE1vZGlmaWVyVmFsdWUgLSBjbGllbnRPZmZzZXQ7XG4gICAgdmFyIHRldGhlck1heCA9IG9mZnNldCArIG1heE9mZnNldCAtIG9mZnNldE1vZGlmaWVyVmFsdWU7XG4gICAgdmFyIHByZXZlbnRlZE9mZnNldCA9IHdpdGhpbih0ZXRoZXIgPyBtYXRoTWluKG1pbiwgdGV0aGVyTWluKSA6IG1pbiwgb2Zmc2V0LCB0ZXRoZXIgPyBtYXRoTWF4KG1heCwgdGV0aGVyTWF4KSA6IG1heCk7XG4gICAgcG9wcGVyT2Zmc2V0c1ttYWluQXhpc10gPSBwcmV2ZW50ZWRPZmZzZXQ7XG4gICAgZGF0YVttYWluQXhpc10gPSBwcmV2ZW50ZWRPZmZzZXQgLSBvZmZzZXQ7XG4gIH1cblxuICBpZiAoY2hlY2tBbHRBeGlzKSB7XG4gICAgdmFyIF9vZmZzZXRNb2RpZmllclN0YXRlJDI7XG5cbiAgICB2YXIgX21haW5TaWRlID0gbWFpbkF4aXMgPT09ICd4JyA/IHRvcCA6IGxlZnQ7XG5cbiAgICB2YXIgX2FsdFNpZGUgPSBtYWluQXhpcyA9PT0gJ3gnID8gYm90dG9tIDogcmlnaHQ7XG5cbiAgICB2YXIgX29mZnNldCA9IHBvcHBlck9mZnNldHNbYWx0QXhpc107XG5cbiAgICB2YXIgX2xlbiA9IGFsdEF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICAgIHZhciBfbWluID0gX29mZnNldCArIG92ZXJmbG93W19tYWluU2lkZV07XG5cbiAgICB2YXIgX21heCA9IF9vZmZzZXQgLSBvdmVyZmxvd1tfYWx0U2lkZV07XG5cbiAgICB2YXIgaXNPcmlnaW5TaWRlID0gW3RvcCwgbGVmdF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG5cbiAgICB2YXIgX29mZnNldE1vZGlmaWVyVmFsdWUgPSAoX29mZnNldE1vZGlmaWVyU3RhdGUkMiA9IG9mZnNldE1vZGlmaWVyU3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IG9mZnNldE1vZGlmaWVyU3RhdGVbYWx0QXhpc10pICE9IG51bGwgPyBfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQyIDogMDtcblxuICAgIHZhciBfdGV0aGVyTWluID0gaXNPcmlnaW5TaWRlID8gX21pbiA6IF9vZmZzZXQgLSByZWZlcmVuY2VSZWN0W19sZW5dIC0gcG9wcGVyUmVjdFtfbGVuXSAtIF9vZmZzZXRNb2RpZmllclZhbHVlICsgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLmFsdEF4aXM7XG5cbiAgICB2YXIgX3RldGhlck1heCA9IGlzT3JpZ2luU2lkZSA/IF9vZmZzZXQgKyByZWZlcmVuY2VSZWN0W19sZW5dICsgcG9wcGVyUmVjdFtfbGVuXSAtIF9vZmZzZXRNb2RpZmllclZhbHVlIC0gbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLmFsdEF4aXMgOiBfbWF4O1xuXG4gICAgdmFyIF9wcmV2ZW50ZWRPZmZzZXQgPSB0ZXRoZXIgJiYgaXNPcmlnaW5TaWRlID8gd2l0aGluTWF4Q2xhbXAoX3RldGhlck1pbiwgX29mZnNldCwgX3RldGhlck1heCkgOiB3aXRoaW4odGV0aGVyID8gX3RldGhlck1pbiA6IF9taW4sIF9vZmZzZXQsIHRldGhlciA/IF90ZXRoZXJNYXggOiBfbWF4KTtcblxuICAgIHBvcHBlck9mZnNldHNbYWx0QXhpc10gPSBfcHJldmVudGVkT2Zmc2V0O1xuICAgIGRhdGFbYWx0QXhpc10gPSBfcHJldmVudGVkT2Zmc2V0IC0gX29mZnNldDtcbiAgfVxuXG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSBkYXRhO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgZm46IHByZXZlbnRPdmVyZmxvdyxcbiAgcmVxdWlyZXNJZkV4aXN0czogWydvZmZzZXQnXVxufTsiLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRIVE1MRWxlbWVudFNjcm9sbChlbGVtZW50KSB7XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxUb3BcbiAgfTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93U2Nyb2xsIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgZ2V0SFRNTEVsZW1lbnRTY3JvbGwgZnJvbSBcIi4vZ2V0SFRNTEVsZW1lbnRTY3JvbGwuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE5vZGVTY3JvbGwobm9kZSkge1xuICBpZiAobm9kZSA9PT0gZ2V0V2luZG93KG5vZGUpIHx8ICFpc0hUTUxFbGVtZW50KG5vZGUpKSB7XG4gICAgcmV0dXJuIGdldFdpbmRvd1Njcm9sbChub2RlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2V0SFRNTEVsZW1lbnRTY3JvbGwobm9kZSk7XG4gIH1cbn0iLCJpbXBvcnQgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZyb20gXCIuL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IGdldE5vZGVTY3JvbGwgZnJvbSBcIi4vZ2V0Tm9kZVNjcm9sbC5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IGdldFdpbmRvd1Njcm9sbEJhclggZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsQmFyWC5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBpc1Njcm9sbFBhcmVudCBmcm9tIFwiLi9pc1Njcm9sbFBhcmVudC5qc1wiO1xuaW1wb3J0IHsgcm91bmQgfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiO1xuXG5mdW5jdGlvbiBpc0VsZW1lbnRTY2FsZWQoZWxlbWVudCkge1xuICB2YXIgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBzY2FsZVggPSByb3VuZChyZWN0LndpZHRoKSAvIGVsZW1lbnQub2Zmc2V0V2lkdGggfHwgMTtcbiAgdmFyIHNjYWxlWSA9IHJvdW5kKHJlY3QuaGVpZ2h0KSAvIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8IDE7XG4gIHJldHVybiBzY2FsZVggIT09IDEgfHwgc2NhbGVZICE9PSAxO1xufSAvLyBSZXR1cm5zIHRoZSBjb21wb3NpdGUgcmVjdCBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGl0cyBvZmZzZXRQYXJlbnQuXG4vLyBDb21wb3NpdGUgbWVhbnMgaXQgdGFrZXMgaW50byBhY2NvdW50IHRyYW5zZm9ybXMgYXMgd2VsbCBhcyBsYXlvdXQuXG5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Q29tcG9zaXRlUmVjdChlbGVtZW50T3JWaXJ0dWFsRWxlbWVudCwgb2Zmc2V0UGFyZW50LCBpc0ZpeGVkKSB7XG4gIGlmIChpc0ZpeGVkID09PSB2b2lkIDApIHtcbiAgICBpc0ZpeGVkID0gZmFsc2U7XG4gIH1cblxuICB2YXIgaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIHZhciBvZmZzZXRQYXJlbnRJc1NjYWxlZCA9IGlzSFRNTEVsZW1lbnQob2Zmc2V0UGFyZW50KSAmJiBpc0VsZW1lbnRTY2FsZWQob2Zmc2V0UGFyZW50KTtcbiAgdmFyIGRvY3VtZW50RWxlbWVudCA9IGdldERvY3VtZW50RWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICB2YXIgcmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50T3JWaXJ0dWFsRWxlbWVudCwgb2Zmc2V0UGFyZW50SXNTY2FsZWQsIGlzRml4ZWQpO1xuICB2YXIgc2Nyb2xsID0ge1xuICAgIHNjcm9sbExlZnQ6IDAsXG4gICAgc2Nyb2xsVG9wOiAwXG4gIH07XG4gIHZhciBvZmZzZXRzID0ge1xuICAgIHg6IDAsXG4gICAgeTogMFxuICB9O1xuXG4gIGlmIChpc09mZnNldFBhcmVudEFuRWxlbWVudCB8fCAhaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgJiYgIWlzRml4ZWQpIHtcbiAgICBpZiAoZ2V0Tm9kZU5hbWUob2Zmc2V0UGFyZW50KSAhPT0gJ2JvZHknIHx8IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3BwZXJqcy9wb3BwZXItY29yZS9pc3N1ZXMvMTA3OFxuICAgIGlzU2Nyb2xsUGFyZW50KGRvY3VtZW50RWxlbWVudCkpIHtcbiAgICAgIHNjcm9sbCA9IGdldE5vZGVTY3JvbGwob2Zmc2V0UGFyZW50KTtcbiAgICB9XG5cbiAgICBpZiAoaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpKSB7XG4gICAgICBvZmZzZXRzID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KG9mZnNldFBhcmVudCwgdHJ1ZSk7XG4gICAgICBvZmZzZXRzLnggKz0gb2Zmc2V0UGFyZW50LmNsaWVudExlZnQ7XG4gICAgICBvZmZzZXRzLnkgKz0gb2Zmc2V0UGFyZW50LmNsaWVudFRvcDtcbiAgICB9IGVsc2UgaWYgKGRvY3VtZW50RWxlbWVudCkge1xuICAgICAgb2Zmc2V0cy54ID0gZ2V0V2luZG93U2Nyb2xsQmFyWChkb2N1bWVudEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgeDogcmVjdC5sZWZ0ICsgc2Nyb2xsLnNjcm9sbExlZnQgLSBvZmZzZXRzLngsXG4gICAgeTogcmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wIC0gb2Zmc2V0cy55LFxuICAgIHdpZHRoOiByZWN0LndpZHRoLFxuICAgIGhlaWdodDogcmVjdC5oZWlnaHRcbiAgfTtcbn0iLCJpbXBvcnQgeyBtb2RpZmllclBoYXNlcyB9IGZyb20gXCIuLi9lbnVtcy5qc1wiOyAvLyBzb3VyY2U6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQ5ODc1MjU1XG5cbmZ1bmN0aW9uIG9yZGVyKG1vZGlmaWVycykge1xuICB2YXIgbWFwID0gbmV3IE1hcCgpO1xuICB2YXIgdmlzaXRlZCA9IG5ldyBTZXQoKTtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBtb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICBtYXAuc2V0KG1vZGlmaWVyLm5hbWUsIG1vZGlmaWVyKTtcbiAgfSk7IC8vIE9uIHZpc2l0aW5nIG9iamVjdCwgY2hlY2sgZm9yIGl0cyBkZXBlbmRlbmNpZXMgYW5kIHZpc2l0IHRoZW0gcmVjdXJzaXZlbHlcblxuICBmdW5jdGlvbiBzb3J0KG1vZGlmaWVyKSB7XG4gICAgdmlzaXRlZC5hZGQobW9kaWZpZXIubmFtZSk7XG4gICAgdmFyIHJlcXVpcmVzID0gW10uY29uY2F0KG1vZGlmaWVyLnJlcXVpcmVzIHx8IFtdLCBtb2RpZmllci5yZXF1aXJlc0lmRXhpc3RzIHx8IFtdKTtcbiAgICByZXF1aXJlcy5mb3JFYWNoKGZ1bmN0aW9uIChkZXApIHtcbiAgICAgIGlmICghdmlzaXRlZC5oYXMoZGVwKSkge1xuICAgICAgICB2YXIgZGVwTW9kaWZpZXIgPSBtYXAuZ2V0KGRlcCk7XG5cbiAgICAgICAgaWYgKGRlcE1vZGlmaWVyKSB7XG4gICAgICAgICAgc29ydChkZXBNb2RpZmllcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXN1bHQucHVzaChtb2RpZmllcik7XG4gIH1cblxuICBtb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICBpZiAoIXZpc2l0ZWQuaGFzKG1vZGlmaWVyLm5hbWUpKSB7XG4gICAgICAvLyBjaGVjayBmb3IgdmlzaXRlZCBvYmplY3RcbiAgICAgIHNvcnQobW9kaWZpZXIpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9yZGVyTW9kaWZpZXJzKG1vZGlmaWVycykge1xuICAvLyBvcmRlciBiYXNlZCBvbiBkZXBlbmRlbmNpZXNcbiAgdmFyIG9yZGVyZWRNb2RpZmllcnMgPSBvcmRlcihtb2RpZmllcnMpOyAvLyBvcmRlciBiYXNlZCBvbiBwaGFzZVxuXG4gIHJldHVybiBtb2RpZmllclBoYXNlcy5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgcGhhc2UpIHtcbiAgICByZXR1cm4gYWNjLmNvbmNhdChvcmRlcmVkTW9kaWZpZXJzLmZpbHRlcihmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICAgIHJldHVybiBtb2RpZmllci5waGFzZSA9PT0gcGhhc2U7XG4gICAgfSkpO1xuICB9LCBbXSk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGVib3VuY2UoZm4pIHtcbiAgdmFyIHBlbmRpbmc7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICBwZW5kaW5nID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcGVuZGluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXNvbHZlKGZuKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwZW5kaW5nO1xuICB9O1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZvcm1hdChzdHIpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIFtdLmNvbmNhdChhcmdzKS5yZWR1Y2UoZnVuY3Rpb24gKHAsIGMpIHtcbiAgICByZXR1cm4gcC5yZXBsYWNlKC8lcy8sIGMpO1xuICB9LCBzdHIpO1xufSIsImltcG9ydCBmb3JtYXQgZnJvbSBcIi4vZm9ybWF0LmpzXCI7XG5pbXBvcnQgeyBtb2RpZmllclBoYXNlcyB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xudmFyIElOVkFMSURfTU9ESUZJRVJfRVJST1IgPSAnUG9wcGVyOiBtb2RpZmllciBcIiVzXCIgcHJvdmlkZWQgYW4gaW52YWxpZCAlcyBwcm9wZXJ0eSwgZXhwZWN0ZWQgJXMgYnV0IGdvdCAlcyc7XG52YXIgTUlTU0lOR19ERVBFTkRFTkNZX0VSUk9SID0gJ1BvcHBlcjogbW9kaWZpZXIgXCIlc1wiIHJlcXVpcmVzIFwiJXNcIiwgYnV0IFwiJXNcIiBtb2RpZmllciBpcyBub3QgYXZhaWxhYmxlJztcbnZhciBWQUxJRF9QUk9QRVJUSUVTID0gWyduYW1lJywgJ2VuYWJsZWQnLCAncGhhc2UnLCAnZm4nLCAnZWZmZWN0JywgJ3JlcXVpcmVzJywgJ29wdGlvbnMnXTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZhbGlkYXRlTW9kaWZpZXJzKG1vZGlmaWVycykge1xuICBtb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICBbXS5jb25jYXQoT2JqZWN0LmtleXMobW9kaWZpZXIpLCBWQUxJRF9QUk9QRVJUSUVTKSAvLyBJRTExLWNvbXBhdGlibGUgcmVwbGFjZW1lbnQgZm9yIGBuZXcgU2V0KGl0ZXJhYmxlKWBcbiAgICAuZmlsdGVyKGZ1bmN0aW9uICh2YWx1ZSwgaW5kZXgsIHNlbGYpIHtcbiAgICAgIHJldHVybiBzZWxmLmluZGV4T2YodmFsdWUpID09PSBpbmRleDtcbiAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgIGNhc2UgJ25hbWUnOlxuICAgICAgICAgIGlmICh0eXBlb2YgbW9kaWZpZXIubmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KElOVkFMSURfTU9ESUZJRVJfRVJST1IsIFN0cmluZyhtb2RpZmllci5uYW1lKSwgJ1wibmFtZVwiJywgJ1wic3RyaW5nXCInLCBcIlxcXCJcIiArIFN0cmluZyhtb2RpZmllci5uYW1lKSArIFwiXFxcIlwiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZW5hYmxlZCc6XG4gICAgICAgICAgaWYgKHR5cGVvZiBtb2RpZmllci5lbmFibGVkICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KElOVkFMSURfTU9ESUZJRVJfRVJST1IsIG1vZGlmaWVyLm5hbWUsICdcImVuYWJsZWRcIicsICdcImJvb2xlYW5cIicsIFwiXFxcIlwiICsgU3RyaW5nKG1vZGlmaWVyLmVuYWJsZWQpICsgXCJcXFwiXCIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdwaGFzZSc6XG4gICAgICAgICAgaWYgKG1vZGlmaWVyUGhhc2VzLmluZGV4T2YobW9kaWZpZXIucGhhc2UpIDwgMCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoSU5WQUxJRF9NT0RJRklFUl9FUlJPUiwgbW9kaWZpZXIubmFtZSwgJ1wicGhhc2VcIicsIFwiZWl0aGVyIFwiICsgbW9kaWZpZXJQaGFzZXMuam9pbignLCAnKSwgXCJcXFwiXCIgKyBTdHJpbmcobW9kaWZpZXIucGhhc2UpICsgXCJcXFwiXCIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdmbic6XG4gICAgICAgICAgaWYgKHR5cGVvZiBtb2RpZmllci5mbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoSU5WQUxJRF9NT0RJRklFUl9FUlJPUiwgbW9kaWZpZXIubmFtZSwgJ1wiZm5cIicsICdcImZ1bmN0aW9uXCInLCBcIlxcXCJcIiArIFN0cmluZyhtb2RpZmllci5mbikgKyBcIlxcXCJcIikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2VmZmVjdCc6XG4gICAgICAgICAgaWYgKG1vZGlmaWVyLmVmZmVjdCAhPSBudWxsICYmIHR5cGVvZiBtb2RpZmllci5lZmZlY3QgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KElOVkFMSURfTU9ESUZJRVJfRVJST1IsIG1vZGlmaWVyLm5hbWUsICdcImVmZmVjdFwiJywgJ1wiZnVuY3Rpb25cIicsIFwiXFxcIlwiICsgU3RyaW5nKG1vZGlmaWVyLmZuKSArIFwiXFxcIlwiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmVxdWlyZXMnOlxuICAgICAgICAgIGlmIChtb2RpZmllci5yZXF1aXJlcyAhPSBudWxsICYmICFBcnJheS5pc0FycmF5KG1vZGlmaWVyLnJlcXVpcmVzKSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoSU5WQUxJRF9NT0RJRklFUl9FUlJPUiwgbW9kaWZpZXIubmFtZSwgJ1wicmVxdWlyZXNcIicsICdcImFycmF5XCInLCBcIlxcXCJcIiArIFN0cmluZyhtb2RpZmllci5yZXF1aXJlcykgKyBcIlxcXCJcIikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JlcXVpcmVzSWZFeGlzdHMnOlxuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShtb2RpZmllci5yZXF1aXJlc0lmRXhpc3RzKSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoSU5WQUxJRF9NT0RJRklFUl9FUlJPUiwgbW9kaWZpZXIubmFtZSwgJ1wicmVxdWlyZXNJZkV4aXN0c1wiJywgJ1wiYXJyYXlcIicsIFwiXFxcIlwiICsgU3RyaW5nKG1vZGlmaWVyLnJlcXVpcmVzSWZFeGlzdHMpICsgXCJcXFwiXCIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdvcHRpb25zJzpcbiAgICAgICAgY2FzZSAnZGF0YSc6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUG9wcGVySlM6IGFuIGludmFsaWQgcHJvcGVydHkgaGFzIGJlZW4gcHJvdmlkZWQgdG8gdGhlIFxcXCJcIiArIG1vZGlmaWVyLm5hbWUgKyBcIlxcXCIgbW9kaWZpZXIsIHZhbGlkIHByb3BlcnRpZXMgYXJlIFwiICsgVkFMSURfUFJPUEVSVElFUy5tYXAoZnVuY3Rpb24gKHMpIHtcbiAgICAgICAgICAgIHJldHVybiBcIlxcXCJcIiArIHMgKyBcIlxcXCJcIjtcbiAgICAgICAgICB9KS5qb2luKCcsICcpICsgXCI7IGJ1dCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgd2FzIHByb3ZpZGVkLlwiKTtcbiAgICAgIH1cblxuICAgICAgbW9kaWZpZXIucmVxdWlyZXMgJiYgbW9kaWZpZXIucmVxdWlyZXMuZm9yRWFjaChmdW5jdGlvbiAocmVxdWlyZW1lbnQpIHtcbiAgICAgICAgaWYgKG1vZGlmaWVycy5maW5kKGZ1bmN0aW9uIChtb2QpIHtcbiAgICAgICAgICByZXR1cm4gbW9kLm5hbWUgPT09IHJlcXVpcmVtZW50O1xuICAgICAgICB9KSA9PSBudWxsKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihmb3JtYXQoTUlTU0lOR19ERVBFTkRFTkNZX0VSUk9SLCBTdHJpbmcobW9kaWZpZXIubmFtZSksIHJlcXVpcmVtZW50LCByZXF1aXJlbWVudCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pcXVlQnkoYXJyLCBmbikge1xuICB2YXIgaWRlbnRpZmllcnMgPSBuZXcgU2V0KCk7XG4gIHJldHVybiBhcnIuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgdmFyIGlkZW50aWZpZXIgPSBmbihpdGVtKTtcblxuICAgIGlmICghaWRlbnRpZmllcnMuaGFzKGlkZW50aWZpZXIpKSB7XG4gICAgICBpZGVudGlmaWVycy5hZGQoaWRlbnRpZmllcik7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlQnlOYW1lKG1vZGlmaWVycykge1xuICB2YXIgbWVyZ2VkID0gbW9kaWZpZXJzLnJlZHVjZShmdW5jdGlvbiAobWVyZ2VkLCBjdXJyZW50KSB7XG4gICAgdmFyIGV4aXN0aW5nID0gbWVyZ2VkW2N1cnJlbnQubmFtZV07XG4gICAgbWVyZ2VkW2N1cnJlbnQubmFtZV0gPSBleGlzdGluZyA/IE9iamVjdC5hc3NpZ24oe30sIGV4aXN0aW5nLCBjdXJyZW50LCB7XG4gICAgICBvcHRpb25zOiBPYmplY3QuYXNzaWduKHt9LCBleGlzdGluZy5vcHRpb25zLCBjdXJyZW50Lm9wdGlvbnMpLFxuICAgICAgZGF0YTogT2JqZWN0LmFzc2lnbih7fSwgZXhpc3RpbmcuZGF0YSwgY3VycmVudC5kYXRhKVxuICAgIH0pIDogY3VycmVudDtcbiAgICByZXR1cm4gbWVyZ2VkO1xuICB9LCB7fSk7IC8vIElFMTEgZG9lcyBub3Qgc3VwcG9ydCBPYmplY3QudmFsdWVzXG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1lcmdlZCkubWFwKGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gbWVyZ2VkW2tleV07XG4gIH0pO1xufSIsImltcG9ydCBnZXRDb21wb3NpdGVSZWN0IGZyb20gXCIuL2RvbS11dGlscy9nZXRDb21wb3NpdGVSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0TGF5b3V0UmVjdCBmcm9tIFwiLi9kb20tdXRpbHMvZ2V0TGF5b3V0UmVjdC5qc1wiO1xuaW1wb3J0IGxpc3RTY3JvbGxQYXJlbnRzIGZyb20gXCIuL2RvbS11dGlscy9saXN0U2Nyb2xsUGFyZW50cy5qc1wiO1xuaW1wb3J0IGdldE9mZnNldFBhcmVudCBmcm9tIFwiLi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSBmcm9tIFwiLi9kb20tdXRpbHMvZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IG9yZGVyTW9kaWZpZXJzIGZyb20gXCIuL3V0aWxzL29yZGVyTW9kaWZpZXJzLmpzXCI7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSBcIi4vdXRpbHMvZGVib3VuY2UuanNcIjtcbmltcG9ydCB2YWxpZGF0ZU1vZGlmaWVycyBmcm9tIFwiLi91dGlscy92YWxpZGF0ZU1vZGlmaWVycy5qc1wiO1xuaW1wb3J0IHVuaXF1ZUJ5IGZyb20gXCIuL3V0aWxzL3VuaXF1ZUJ5LmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgbWVyZ2VCeU5hbWUgZnJvbSBcIi4vdXRpbHMvbWVyZ2VCeU5hbWUuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4vZG9tLXV0aWxzL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCB7IGF1dG8gfSBmcm9tIFwiLi9lbnVtcy5qc1wiO1xudmFyIElOVkFMSURfRUxFTUVOVF9FUlJPUiA9ICdQb3BwZXI6IEludmFsaWQgcmVmZXJlbmNlIG9yIHBvcHBlciBhcmd1bWVudCBwcm92aWRlZC4gVGhleSBtdXN0IGJlIGVpdGhlciBhIERPTSBlbGVtZW50IG9yIHZpcnR1YWwgZWxlbWVudC4nO1xudmFyIElORklOSVRFX0xPT1BfRVJST1IgPSAnUG9wcGVyOiBBbiBpbmZpbml0ZSBsb29wIGluIHRoZSBtb2RpZmllcnMgY3ljbGUgaGFzIGJlZW4gZGV0ZWN0ZWQhIFRoZSBjeWNsZSBoYXMgYmVlbiBpbnRlcnJ1cHRlZCB0byBwcmV2ZW50IGEgYnJvd3NlciBjcmFzaC4nO1xudmFyIERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgbW9kaWZpZXJzOiBbXSxcbiAgc3RyYXRlZ3k6ICdhYnNvbHV0ZSdcbn07XG5cbmZ1bmN0aW9uIGFyZVZhbGlkRWxlbWVudHMoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gIWFyZ3Muc29tZShmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgIHJldHVybiAhKGVsZW1lbnQgJiYgdHlwZW9mIGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID09PSAnZnVuY3Rpb24nKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3BwZXJHZW5lcmF0b3IoZ2VuZXJhdG9yT3B0aW9ucykge1xuICBpZiAoZ2VuZXJhdG9yT3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgZ2VuZXJhdG9yT3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgdmFyIF9nZW5lcmF0b3JPcHRpb25zID0gZ2VuZXJhdG9yT3B0aW9ucyxcbiAgICAgIF9nZW5lcmF0b3JPcHRpb25zJGRlZiA9IF9nZW5lcmF0b3JPcHRpb25zLmRlZmF1bHRNb2RpZmllcnMsXG4gICAgICBkZWZhdWx0TW9kaWZpZXJzID0gX2dlbmVyYXRvck9wdGlvbnMkZGVmID09PSB2b2lkIDAgPyBbXSA6IF9nZW5lcmF0b3JPcHRpb25zJGRlZixcbiAgICAgIF9nZW5lcmF0b3JPcHRpb25zJGRlZjIgPSBfZ2VuZXJhdG9yT3B0aW9ucy5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIGRlZmF1bHRPcHRpb25zID0gX2dlbmVyYXRvck9wdGlvbnMkZGVmMiA9PT0gdm9pZCAwID8gREVGQVVMVF9PUFRJT05TIDogX2dlbmVyYXRvck9wdGlvbnMkZGVmMjtcbiAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZVBvcHBlcihyZWZlcmVuY2UsIHBvcHBlciwgb3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICAgIG9wdGlvbnMgPSBkZWZhdWx0T3B0aW9ucztcbiAgICB9XG5cbiAgICB2YXIgc3RhdGUgPSB7XG4gICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgb3JkZXJlZE1vZGlmaWVyczogW10sXG4gICAgICBvcHRpb25zOiBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX09QVElPTlMsIGRlZmF1bHRPcHRpb25zKSxcbiAgICAgIG1vZGlmaWVyc0RhdGE6IHt9LFxuICAgICAgZWxlbWVudHM6IHtcbiAgICAgICAgcmVmZXJlbmNlOiByZWZlcmVuY2UsXG4gICAgICAgIHBvcHBlcjogcG9wcGVyXG4gICAgICB9LFxuICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICBzdHlsZXM6IHt9XG4gICAgfTtcbiAgICB2YXIgZWZmZWN0Q2xlYW51cEZucyA9IFtdO1xuICAgIHZhciBpc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICAgIHZhciBpbnN0YW5jZSA9IHtcbiAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgIHNldE9wdGlvbnM6IGZ1bmN0aW9uIHNldE9wdGlvbnMoc2V0T3B0aW9uc0FjdGlvbikge1xuICAgICAgICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzZXRPcHRpb25zQWN0aW9uID09PSAnZnVuY3Rpb24nID8gc2V0T3B0aW9uc0FjdGlvbihzdGF0ZS5vcHRpb25zKSA6IHNldE9wdGlvbnNBY3Rpb247XG4gICAgICAgIGNsZWFudXBNb2RpZmllckVmZmVjdHMoKTtcbiAgICAgICAgc3RhdGUub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRPcHRpb25zLCBzdGF0ZS5vcHRpb25zLCBvcHRpb25zKTtcbiAgICAgICAgc3RhdGUuc2Nyb2xsUGFyZW50cyA9IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGlzRWxlbWVudChyZWZlcmVuY2UpID8gbGlzdFNjcm9sbFBhcmVudHMocmVmZXJlbmNlKSA6IHJlZmVyZW5jZS5jb250ZXh0RWxlbWVudCA/IGxpc3RTY3JvbGxQYXJlbnRzKHJlZmVyZW5jZS5jb250ZXh0RWxlbWVudCkgOiBbXSxcbiAgICAgICAgICBwb3BwZXI6IGxpc3RTY3JvbGxQYXJlbnRzKHBvcHBlcilcbiAgICAgICAgfTsgLy8gT3JkZXJzIHRoZSBtb2RpZmllcnMgYmFzZWQgb24gdGhlaXIgZGVwZW5kZW5jaWVzIGFuZCBgcGhhc2VgXG4gICAgICAgIC8vIHByb3BlcnRpZXNcblxuICAgICAgICB2YXIgb3JkZXJlZE1vZGlmaWVycyA9IG9yZGVyTW9kaWZpZXJzKG1lcmdlQnlOYW1lKFtdLmNvbmNhdChkZWZhdWx0TW9kaWZpZXJzLCBzdGF0ZS5vcHRpb25zLm1vZGlmaWVycykpKTsgLy8gU3RyaXAgb3V0IGRpc2FibGVkIG1vZGlmaWVyc1xuXG4gICAgICAgIHN0YXRlLm9yZGVyZWRNb2RpZmllcnMgPSBvcmRlcmVkTW9kaWZpZXJzLmZpbHRlcihmdW5jdGlvbiAobSkge1xuICAgICAgICAgIHJldHVybiBtLmVuYWJsZWQ7XG4gICAgICAgIH0pOyAvLyBWYWxpZGF0ZSB0aGUgcHJvdmlkZWQgbW9kaWZpZXJzIHNvIHRoYXQgdGhlIGNvbnN1bWVyIHdpbGwgZ2V0IHdhcm5lZFxuICAgICAgICAvLyBpZiBvbmUgb2YgdGhlIG1vZGlmaWVycyBpcyBpbnZhbGlkIGZvciBhbnkgcmVhc29uXG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgIHZhciBtb2RpZmllcnMgPSB1bmlxdWVCeShbXS5jb25jYXQob3JkZXJlZE1vZGlmaWVycywgc3RhdGUub3B0aW9ucy5tb2RpZmllcnMpLCBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBfcmVmLm5hbWU7XG4gICAgICAgICAgICByZXR1cm4gbmFtZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB2YWxpZGF0ZU1vZGlmaWVycyhtb2RpZmllcnMpO1xuXG4gICAgICAgICAgaWYgKGdldEJhc2VQbGFjZW1lbnQoc3RhdGUub3B0aW9ucy5wbGFjZW1lbnQpID09PSBhdXRvKSB7XG4gICAgICAgICAgICB2YXIgZmxpcE1vZGlmaWVyID0gc3RhdGUub3JkZXJlZE1vZGlmaWVycy5maW5kKGZ1bmN0aW9uIChfcmVmMikge1xuICAgICAgICAgICAgICB2YXIgbmFtZSA9IF9yZWYyLm5hbWU7XG4gICAgICAgICAgICAgIHJldHVybiBuYW1lID09PSAnZmxpcCc7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKCFmbGlwTW9kaWZpZXIpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihbJ1BvcHBlcjogXCJhdXRvXCIgcGxhY2VtZW50cyByZXF1aXJlIHRoZSBcImZsaXBcIiBtb2RpZmllciBiZScsICdwcmVzZW50IGFuZCBlbmFibGVkIHRvIHdvcmsuJ10uam9pbignICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX2dldENvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHBvcHBlciksXG4gICAgICAgICAgICAgIG1hcmdpblRvcCA9IF9nZXRDb21wdXRlZFN0eWxlLm1hcmdpblRvcCxcbiAgICAgICAgICAgICAgbWFyZ2luUmlnaHQgPSBfZ2V0Q29tcHV0ZWRTdHlsZS5tYXJnaW5SaWdodCxcbiAgICAgICAgICAgICAgbWFyZ2luQm90dG9tID0gX2dldENvbXB1dGVkU3R5bGUubWFyZ2luQm90dG9tLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0ID0gX2dldENvbXB1dGVkU3R5bGUubWFyZ2luTGVmdDsgLy8gV2Ugbm8gbG9uZ2VyIHRha2UgaW50byBhY2NvdW50IGBtYXJnaW5zYCBvbiB0aGUgcG9wcGVyLCBhbmQgaXQgY2FuXG4gICAgICAgICAgLy8gY2F1c2UgYnVncyB3aXRoIHBvc2l0aW9uaW5nLCBzbyB3ZSdsbCB3YXJuIHRoZSBjb25zdW1lclxuXG5cbiAgICAgICAgICBpZiAoW21hcmdpblRvcCwgbWFyZ2luUmlnaHQsIG1hcmdpbkJvdHRvbSwgbWFyZ2luTGVmdF0uc29tZShmdW5jdGlvbiAobWFyZ2luKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChtYXJnaW4pO1xuICAgICAgICAgIH0pKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oWydQb3BwZXI6IENTUyBcIm1hcmdpblwiIHN0eWxlcyBjYW5ub3QgYmUgdXNlZCB0byBhcHBseSBwYWRkaW5nJywgJ2JldHdlZW4gdGhlIHBvcHBlciBhbmQgaXRzIHJlZmVyZW5jZSBlbGVtZW50IG9yIGJvdW5kYXJ5LicsICdUbyByZXBsaWNhdGUgbWFyZ2luLCB1c2UgdGhlIGBvZmZzZXRgIG1vZGlmaWVyLCBhcyB3ZWxsIGFzJywgJ3RoZSBgcGFkZGluZ2Agb3B0aW9uIGluIHRoZSBgcHJldmVudE92ZXJmbG93YCBhbmQgYGZsaXBgJywgJ21vZGlmaWVycy4nXS5qb2luKCcgJykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJ1bk1vZGlmaWVyRWZmZWN0cygpO1xuICAgICAgICByZXR1cm4gaW5zdGFuY2UudXBkYXRlKCk7XG4gICAgICB9LFxuICAgICAgLy8gU3luYyB1cGRhdGUg4oCTIGl0IHdpbGwgYWx3YXlzIGJlIGV4ZWN1dGVkLCBldmVuIGlmIG5vdCBuZWNlc3NhcnkuIFRoaXNcbiAgICAgIC8vIGlzIHVzZWZ1bCBmb3IgbG93IGZyZXF1ZW5jeSB1cGRhdGVzIHdoZXJlIHN5bmMgYmVoYXZpb3Igc2ltcGxpZmllcyB0aGVcbiAgICAgIC8vIGxvZ2ljLlxuICAgICAgLy8gRm9yIGhpZ2ggZnJlcXVlbmN5IHVwZGF0ZXMgKGUuZy4gYHJlc2l6ZWAgYW5kIGBzY3JvbGxgIGV2ZW50cyksIGFsd2F5c1xuICAgICAgLy8gcHJlZmVyIHRoZSBhc3luYyBQb3BwZXIjdXBkYXRlIG1ldGhvZFxuICAgICAgZm9yY2VVcGRhdGU6IGZ1bmN0aW9uIGZvcmNlVXBkYXRlKCkge1xuICAgICAgICBpZiAoaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgX3N0YXRlJGVsZW1lbnRzID0gc3RhdGUuZWxlbWVudHMsXG4gICAgICAgICAgICByZWZlcmVuY2UgPSBfc3RhdGUkZWxlbWVudHMucmVmZXJlbmNlLFxuICAgICAgICAgICAgcG9wcGVyID0gX3N0YXRlJGVsZW1lbnRzLnBvcHBlcjsgLy8gRG9uJ3QgcHJvY2VlZCBpZiBgcmVmZXJlbmNlYCBvciBgcG9wcGVyYCBhcmUgbm90IHZhbGlkIGVsZW1lbnRzXG4gICAgICAgIC8vIGFueW1vcmVcblxuICAgICAgICBpZiAoIWFyZVZhbGlkRWxlbWVudHMocmVmZXJlbmNlLCBwb3BwZXIpKSB7XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihJTlZBTElEX0VMRU1FTlRfRVJST1IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSAvLyBTdG9yZSB0aGUgcmVmZXJlbmNlIGFuZCBwb3BwZXIgcmVjdHMgdG8gYmUgcmVhZCBieSBtb2RpZmllcnNcblxuXG4gICAgICAgIHN0YXRlLnJlY3RzID0ge1xuICAgICAgICAgIHJlZmVyZW5jZTogZ2V0Q29tcG9zaXRlUmVjdChyZWZlcmVuY2UsIGdldE9mZnNldFBhcmVudChwb3BwZXIpLCBzdGF0ZS5vcHRpb25zLnN0cmF0ZWd5ID09PSAnZml4ZWQnKSxcbiAgICAgICAgICBwb3BwZXI6IGdldExheW91dFJlY3QocG9wcGVyKVxuICAgICAgICB9OyAvLyBNb2RpZmllcnMgaGF2ZSB0aGUgYWJpbGl0eSB0byByZXNldCB0aGUgY3VycmVudCB1cGRhdGUgY3ljbGUuIFRoZVxuICAgICAgICAvLyBtb3N0IGNvbW1vbiB1c2UgY2FzZSBmb3IgdGhpcyBpcyB0aGUgYGZsaXBgIG1vZGlmaWVyIGNoYW5naW5nIHRoZVxuICAgICAgICAvLyBwbGFjZW1lbnQsIHdoaWNoIHRoZW4gbmVlZHMgdG8gcmUtcnVuIGFsbCB0aGUgbW9kaWZpZXJzLCBiZWNhdXNlIHRoZVxuICAgICAgICAvLyBsb2dpYyB3YXMgcHJldmlvdXNseSByYW4gZm9yIHRoZSBwcmV2aW91cyBwbGFjZW1lbnQgYW5kIGlzIHRoZXJlZm9yZVxuICAgICAgICAvLyBzdGFsZS9pbmNvcnJlY3RcblxuICAgICAgICBzdGF0ZS5yZXNldCA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5wbGFjZW1lbnQgPSBzdGF0ZS5vcHRpb25zLnBsYWNlbWVudDsgLy8gT24gZWFjaCB1cGRhdGUgY3ljbGUsIHRoZSBgbW9kaWZpZXJzRGF0YWAgcHJvcGVydHkgZm9yIGVhY2ggbW9kaWZpZXJcbiAgICAgICAgLy8gaXMgZmlsbGVkIHdpdGggdGhlIGluaXRpYWwgZGF0YSBzcGVjaWZpZWQgYnkgdGhlIG1vZGlmaWVyLiBUaGlzIG1lYW5zXG4gICAgICAgIC8vIGl0IGRvZXNuJ3QgcGVyc2lzdCBhbmQgaXMgZnJlc2ggb24gZWFjaCB1cGRhdGUuXG4gICAgICAgIC8vIFRvIGVuc3VyZSBwZXJzaXN0ZW50IGRhdGEsIHVzZSBgJHtuYW1lfSNwZXJzaXN0ZW50YFxuXG4gICAgICAgIHN0YXRlLm9yZGVyZWRNb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGUubW9kaWZpZXJzRGF0YVttb2RpZmllci5uYW1lXSA9IE9iamVjdC5hc3NpZ24oe30sIG1vZGlmaWVyLmRhdGEpO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIF9fZGVidWdfbG9vcHNfXyA9IDA7XG5cbiAgICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHN0YXRlLm9yZGVyZWRNb2RpZmllcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgX19kZWJ1Z19sb29wc19fICs9IDE7XG5cbiAgICAgICAgICAgIGlmIChfX2RlYnVnX2xvb3BzX18gPiAxMDApIHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihJTkZJTklURV9MT09QX0VSUk9SKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN0YXRlLnJlc2V0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICBzdGF0ZS5yZXNldCA9IGZhbHNlO1xuICAgICAgICAgICAgaW5kZXggPSAtMTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfc3RhdGUkb3JkZXJlZE1vZGlmaWUgPSBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzW2luZGV4XSxcbiAgICAgICAgICAgICAgZm4gPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUuZm4sXG4gICAgICAgICAgICAgIF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUub3B0aW9ucyxcbiAgICAgICAgICAgICAgX29wdGlvbnMgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUyID09PSB2b2lkIDAgPyB7fSA6IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIsXG4gICAgICAgICAgICAgIG5hbWUgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUubmFtZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN0YXRlID0gZm4oe1xuICAgICAgICAgICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IF9vcHRpb25zLFxuICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2VcbiAgICAgICAgICAgIH0pIHx8IHN0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIEFzeW5jIGFuZCBvcHRpbWlzdGljYWxseSBvcHRpbWl6ZWQgdXBkYXRlIOKAkyBpdCB3aWxsIG5vdCBiZSBleGVjdXRlZCBpZlxuICAgICAgLy8gbm90IG5lY2Vzc2FyeSAoZGVib3VuY2VkIHRvIHJ1biBhdCBtb3N0IG9uY2UtcGVyLXRpY2spXG4gICAgICB1cGRhdGU6IGRlYm91bmNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgaW5zdGFuY2UuZm9yY2VVcGRhdGUoKTtcbiAgICAgICAgICByZXNvbHZlKHN0YXRlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGNsZWFudXBNb2RpZmllckVmZmVjdHMoKTtcbiAgICAgICAgaXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoIWFyZVZhbGlkRWxlbWVudHMocmVmZXJlbmNlLCBwb3BwZXIpKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoSU5WQUxJRF9FTEVNRU5UX0VSUk9SKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgIH1cblxuICAgIGluc3RhbmNlLnNldE9wdGlvbnMob3B0aW9ucykudGhlbihmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICAgIGlmICghaXNEZXN0cm95ZWQgJiYgb3B0aW9ucy5vbkZpcnN0VXBkYXRlKSB7XG4gICAgICAgIG9wdGlvbnMub25GaXJzdFVwZGF0ZShzdGF0ZSk7XG4gICAgICB9XG4gICAgfSk7IC8vIE1vZGlmaWVycyBoYXZlIHRoZSBhYmlsaXR5IHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgYmVmb3JlIHRoZSBmaXJzdFxuICAgIC8vIHVwZGF0ZSBjeWNsZSBydW5zLiBUaGV5IHdpbGwgYmUgZXhlY3V0ZWQgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIHVwZGF0ZVxuICAgIC8vIGN5Y2xlLiBUaGlzIGlzIHVzZWZ1bCB3aGVuIGEgbW9kaWZpZXIgYWRkcyBzb21lIHBlcnNpc3RlbnQgZGF0YSB0aGF0XG4gICAgLy8gb3RoZXIgbW9kaWZpZXJzIG5lZWQgdG8gdXNlLCBidXQgdGhlIG1vZGlmaWVyIGlzIHJ1biBhZnRlciB0aGUgZGVwZW5kZW50XG4gICAgLy8gb25lLlxuXG4gICAgZnVuY3Rpb24gcnVuTW9kaWZpZXJFZmZlY3RzKCkge1xuICAgICAgc3RhdGUub3JkZXJlZE1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmMykge1xuICAgICAgICB2YXIgbmFtZSA9IF9yZWYzLm5hbWUsXG4gICAgICAgICAgICBfcmVmMyRvcHRpb25zID0gX3JlZjMub3B0aW9ucyxcbiAgICAgICAgICAgIG9wdGlvbnMgPSBfcmVmMyRvcHRpb25zID09PSB2b2lkIDAgPyB7fSA6IF9yZWYzJG9wdGlvbnMsXG4gICAgICAgICAgICBlZmZlY3QgPSBfcmVmMy5lZmZlY3Q7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBlZmZlY3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB2YXIgY2xlYW51cEZuID0gZWZmZWN0KHtcbiAgICAgICAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2UsXG4gICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB2YXIgbm9vcEZuID0gZnVuY3Rpb24gbm9vcEZuKCkge307XG5cbiAgICAgICAgICBlZmZlY3RDbGVhbnVwRm5zLnB1c2goY2xlYW51cEZuIHx8IG5vb3BGbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNsZWFudXBNb2RpZmllckVmZmVjdHMoKSB7XG4gICAgICBlZmZlY3RDbGVhbnVwRm5zLmZvckVhY2goZnVuY3Rpb24gKGZuKSB7XG4gICAgICAgIHJldHVybiBmbigpO1xuICAgICAgfSk7XG4gICAgICBlZmZlY3RDbGVhbnVwRm5zID0gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9O1xufVxuZXhwb3J0IHZhciBjcmVhdGVQb3BwZXIgPSAvKiNfX1BVUkVfXyovcG9wcGVyR2VuZXJhdG9yKCk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0IHsgZGV0ZWN0T3ZlcmZsb3cgfTsiLCJpbXBvcnQgeyBwb3BwZXJHZW5lcmF0b3IsIGRldGVjdE92ZXJmbG93IH0gZnJvbSBcIi4vY3JlYXRlUG9wcGVyLmpzXCI7XG5pbXBvcnQgZXZlbnRMaXN0ZW5lcnMgZnJvbSBcIi4vbW9kaWZpZXJzL2V2ZW50TGlzdGVuZXJzLmpzXCI7XG5pbXBvcnQgcG9wcGVyT2Zmc2V0cyBmcm9tIFwiLi9tb2RpZmllcnMvcG9wcGVyT2Zmc2V0cy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVTdHlsZXMgZnJvbSBcIi4vbW9kaWZpZXJzL2NvbXB1dGVTdHlsZXMuanNcIjtcbmltcG9ydCBhcHBseVN0eWxlcyBmcm9tIFwiLi9tb2RpZmllcnMvYXBwbHlTdHlsZXMuanNcIjtcbmltcG9ydCBvZmZzZXQgZnJvbSBcIi4vbW9kaWZpZXJzL29mZnNldC5qc1wiO1xuaW1wb3J0IGZsaXAgZnJvbSBcIi4vbW9kaWZpZXJzL2ZsaXAuanNcIjtcbmltcG9ydCBwcmV2ZW50T3ZlcmZsb3cgZnJvbSBcIi4vbW9kaWZpZXJzL3ByZXZlbnRPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGFycm93IGZyb20gXCIuL21vZGlmaWVycy9hcnJvdy5qc1wiO1xuaW1wb3J0IGhpZGUgZnJvbSBcIi4vbW9kaWZpZXJzL2hpZGUuanNcIjtcbnZhciBkZWZhdWx0TW9kaWZpZXJzID0gW2V2ZW50TGlzdGVuZXJzLCBwb3BwZXJPZmZzZXRzLCBjb21wdXRlU3R5bGVzLCBhcHBseVN0eWxlcywgb2Zmc2V0LCBmbGlwLCBwcmV2ZW50T3ZlcmZsb3csIGFycm93LCBoaWRlXTtcbnZhciBjcmVhdGVQb3BwZXIgPSAvKiNfX1BVUkVfXyovcG9wcGVyR2VuZXJhdG9yKHtcbiAgZGVmYXVsdE1vZGlmaWVyczogZGVmYXVsdE1vZGlmaWVyc1xufSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0IHsgY3JlYXRlUG9wcGVyLCBwb3BwZXJHZW5lcmF0b3IsIGRlZmF1bHRNb2RpZmllcnMsIGRldGVjdE92ZXJmbG93IH07IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0IHsgY3JlYXRlUG9wcGVyIGFzIGNyZWF0ZVBvcHBlckxpdGUgfSBmcm9tIFwiLi9wb3BwZXItbGl0ZS5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL21vZGlmaWVycy9pbmRleC5qc1wiOyIsIi8vIFN0b2xlIEFsbCB0aGlzIGZyb20gTGlhbSdzIFBlcmlvZGljIE5vdGVzIFBsdWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2xpYW1jYWluL29ic2lkaWFuLXBlcmlvZGljLW5vdGVzXG5cbmltcG9ydCB7IEFwcCwgSVN1Z2dlc3RPd25lciwgU2NvcGUsIFRGaWxlLCBUQWJzdHJhY3RGaWxlIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3BwZXIsIEluc3RhbmNlIGFzIFBvcHBlckluc3RhbmNlIH0gZnJvbSBcIkBwb3BwZXJqcy9jb3JlXCI7XG5pbXBvcnQgeyBFeHRlbmRlZEJsb2NrQ2FjaGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0U3RvcmUgfSBmcm9tIFwiLi9idXR0b25TdG9yZVwiO1xuXG5pbXBvcnQgeyB3cmFwQXJvdW5kIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuY2xhc3MgU3VnZ2VzdDxUPiB7XG4gIHByaXZhdGUgb3duZXI6IElTdWdnZXN0T3duZXI8VD47XG4gIHByaXZhdGUgdmFsdWVzOiBUW107XG4gIHByaXZhdGUgc3VnZ2VzdGlvbnM6IEhUTUxEaXZFbGVtZW50W107XG4gIHByaXZhdGUgc2VsZWN0ZWRJdGVtOiBudW1iZXI7XG4gIHByaXZhdGUgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKG93bmVyOiBJU3VnZ2VzdE93bmVyPFQ+LCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQsIHNjb3BlOiBTY29wZSkge1xuICAgIHRoaXMub3duZXIgPSBvd25lcjtcbiAgICB0aGlzLmNvbnRhaW5lckVsID0gY29udGFpbmVyRWw7XG5cbiAgICBjb250YWluZXJFbC5vbihcbiAgICAgIFwiY2xpY2tcIixcbiAgICAgIFwiLnN1Z2dlc3Rpb24taXRlbVwiLFxuICAgICAgdGhpcy5vblN1Z2dlc3Rpb25DbGljay5iaW5kKHRoaXMpXG4gICAgKTtcbiAgICBjb250YWluZXJFbC5vbihcbiAgICAgIFwibW91c2Vtb3ZlXCIsXG4gICAgICBcIi5zdWdnZXN0aW9uLWl0ZW1cIixcbiAgICAgIHRoaXMub25TdWdnZXN0aW9uTW91c2VvdmVyLmJpbmQodGhpcylcbiAgICApO1xuXG4gICAgc2NvcGUucmVnaXN0ZXIoW10sIFwiQXJyb3dVcFwiLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICghZXZlbnQuaXNDb21wb3NpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZEl0ZW0odGhpcy5zZWxlY3RlZEl0ZW0gLSAxLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2NvcGUucmVnaXN0ZXIoW10sIFwiQXJyb3dEb3duXCIsIChldmVudCkgPT4ge1xuICAgICAgaWYgKCFldmVudC5pc0NvbXBvc2luZykge1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkSXRlbSh0aGlzLnNlbGVjdGVkSXRlbSArIDEsIHRydWUpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBzY29wZS5yZWdpc3RlcihbXSwgXCJFbnRlclwiLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICghZXZlbnQuaXNDb21wb3NpbmcpIHtcbiAgICAgICAgdGhpcy51c2VTZWxlY3RlZEl0ZW0oZXZlbnQpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvblN1Z2dlc3Rpb25DbGljayhldmVudDogTW91c2VFdmVudCwgZWw6IEhUTUxEaXZFbGVtZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnN1Z2dlc3Rpb25zLmluZGV4T2YoZWwpO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtKGl0ZW0sIGZhbHNlKTtcbiAgICB0aGlzLnVzZVNlbGVjdGVkSXRlbShldmVudCk7XG4gIH1cblxuICBvblN1Z2dlc3Rpb25Nb3VzZW92ZXIoX2V2ZW50OiBNb3VzZUV2ZW50LCBlbDogSFRNTERpdkVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5zdWdnZXN0aW9ucy5pbmRleE9mKGVsKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkSXRlbShpdGVtLCBmYWxzZSk7XG4gIH1cblxuICBzZXRTdWdnZXN0aW9ucyh2YWx1ZXM6IFRbXSkge1xuICAgIHRoaXMuY29udGFpbmVyRWwuZW1wdHkoKTtcbiAgICBjb25zdCBzdWdnZXN0aW9uRWxzOiBIVE1MRGl2RWxlbWVudFtdID0gW107XG5cbiAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHN1Z2dlc3Rpb25FbCA9IHRoaXMuY29udGFpbmVyRWwuY3JlYXRlRGl2KFwic3VnZ2VzdGlvbi1pdGVtXCIpO1xuICAgICAgdGhpcy5vd25lci5yZW5kZXJTdWdnZXN0aW9uKHZhbHVlLCBzdWdnZXN0aW9uRWwpO1xuICAgICAgc3VnZ2VzdGlvbkVscy5wdXNoKHN1Z2dlc3Rpb25FbCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbkVscztcbiAgICB0aGlzLnNldFNlbGVjdGVkSXRlbSgwLCBmYWxzZSk7XG4gIH1cblxuICB1c2VTZWxlY3RlZEl0ZW0oZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZXNbdGhpcy5zZWxlY3RlZEl0ZW1dO1xuICAgIGlmIChjdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3duZXIuc2VsZWN0U3VnZ2VzdGlvbihjdXJyZW50VmFsdWUsIGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBzZXRTZWxlY3RlZEl0ZW0oc2VsZWN0ZWRJbmRleDogbnVtYmVyLCBzY3JvbGxJbnRvVmlldzogYm9vbGVhbikge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRJbmRleCA9IHdyYXBBcm91bmQoc2VsZWN0ZWRJbmRleCwgdGhpcy5zdWdnZXN0aW9ucy5sZW5ndGgpO1xuICAgIGNvbnN0IHByZXZTZWxlY3RlZFN1Z2dlc3Rpb24gPSB0aGlzLnN1Z2dlc3Rpb25zW3RoaXMuc2VsZWN0ZWRJdGVtXTtcbiAgICBjb25zdCBzZWxlY3RlZFN1Z2dlc3Rpb24gPSB0aGlzLnN1Z2dlc3Rpb25zW25vcm1hbGl6ZWRJbmRleF07XG5cbiAgICBwcmV2U2VsZWN0ZWRTdWdnZXN0aW9uPy5yZW1vdmVDbGFzcyhcImlzLXNlbGVjdGVkXCIpO1xuICAgIHNlbGVjdGVkU3VnZ2VzdGlvbj8uYWRkQ2xhc3MoXCJpcy1zZWxlY3RlZFwiKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbm9ybWFsaXplZEluZGV4O1xuXG4gICAgaWYgKHNjcm9sbEludG9WaWV3KSB7XG4gICAgICBzZWxlY3RlZFN1Z2dlc3Rpb24uc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGV4dElucHV0U3VnZ2VzdDxUPiBpbXBsZW1lbnRzIElTdWdnZXN0T3duZXI8VD4ge1xuICBwcm90ZWN0ZWQgYXBwOiBBcHA7XG4gIHByb3RlY3RlZCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50O1xuXG4gIHByaXZhdGUgcG9wcGVyOiBQb3BwZXJJbnN0YW5jZTtcbiAgcHJpdmF0ZSBzY29wZTogU2NvcGU7XG4gIHByaXZhdGUgc3VnZ2VzdEVsOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBzdWdnZXN0OiBTdWdnZXN0PFQ+O1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgdGhpcy5hcHAgPSBhcHA7XG4gICAgdGhpcy5pbnB1dEVsID0gaW5wdXRFbDtcbiAgICB0aGlzLnNjb3BlID0gbmV3IFNjb3BlKCk7XG5cbiAgICB0aGlzLnN1Z2dlc3RFbCA9IGNyZWF0ZURpdihcInN1Z2dlc3Rpb24tY29udGFpbmVyXCIpO1xuICAgIGNvbnN0IHN1Z2dlc3Rpb24gPSB0aGlzLnN1Z2dlc3RFbC5jcmVhdGVEaXYoXCJzdWdnZXN0aW9uXCIpO1xuICAgIHRoaXMuc3VnZ2VzdCA9IG5ldyBTdWdnZXN0KHRoaXMsIHN1Z2dlc3Rpb24sIHRoaXMuc2NvcGUpO1xuXG4gICAgdGhpcy5zY29wZS5yZWdpc3RlcihbXSwgXCJFc2NhcGVcIiwgdGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcblxuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKFwiaW5wdXRcIiwgdGhpcy5vbklucHV0Q2hhbmdlZC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsIHRoaXMub25JbnB1dENoYW5nZWQuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5zdWdnZXN0RWwub24oXG4gICAgICBcIm1vdXNlZG93blwiLFxuICAgICAgXCIuc3VnZ2VzdGlvbi1jb250YWluZXJcIixcbiAgICAgIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dFN0ciA9IHRoaXMuaW5wdXRFbC52YWx1ZTtcbiAgICBjb25zdCBzdWdnZXN0aW9ucyA9IHRoaXMuZ2V0U3VnZ2VzdGlvbnMoaW5wdXRTdHIpO1xuXG4gICAgaWYgKHN1Z2dlc3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc3VnZ2VzdC5zZXRTdWdnZXN0aW9ucyhzdWdnZXN0aW9ucyk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgdGhpcy5vcGVuKCg8YW55PnRoaXMuYXBwKS5kb20uYXBwQ29udGFpbmVyRWwsIHRoaXMuaW5wdXRFbCk7XG4gICAgfVxuICB9XG5cbiAgb3Blbihjb250YWluZXI6IEhUTUxFbGVtZW50LCBpbnB1dEVsOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgKDxhbnk+dGhpcy5hcHApLmtleW1hcC5wdXNoU2NvcGUodGhpcy5zY29wZSk7XG5cbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5zdWdnZXN0RWwpO1xuICAgIHRoaXMucG9wcGVyID0gY3JlYXRlUG9wcGVyKGlucHV0RWwsIHRoaXMuc3VnZ2VzdEVsLCB7XG4gICAgICBwbGFjZW1lbnQ6IFwiYm90dG9tLXN0YXJ0XCIsXG4gICAgICBtb2RpZmllcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwic2FtZVdpZHRoXCIsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBmbjogKHsgc3RhdGUsIGluc3RhbmNlIH0pID0+IHtcbiAgICAgICAgICAgIC8vIE5vdGU6IHBvc2l0aW9uaW5nIG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWQgdHdpY2UgLVxuICAgICAgICAgICAgLy8gZmlyc3QgcGFzcyAtIHBvc2l0aW9uaW5nIGl0IGFjY29yZGluZyB0byB0aGUgd2lkdGggb2YgdGhlIHBvcHBlclxuICAgICAgICAgICAgLy8gc2Vjb25kIHBhc3MgLSBwb3NpdGlvbiBpdCB3aXRoIHRoZSB3aWR0aCBib3VuZCB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnRcbiAgICAgICAgICAgIC8vIHdlIG5lZWQgdG8gZWFybHkgZXhpdCB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wXG4gICAgICAgICAgICBjb25zdCB0YXJnZXRXaWR0aCA9IGAke3N0YXRlLnJlY3RzLnJlZmVyZW5jZS53aWR0aH1weGA7XG4gICAgICAgICAgICBpZiAoc3RhdGUuc3R5bGVzLnBvcHBlci53aWR0aCA9PT0gdGFyZ2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RhdGUuc3R5bGVzLnBvcHBlci53aWR0aCA9IHRhcmdldFdpZHRoO1xuICAgICAgICAgICAgaW5zdGFuY2UudXBkYXRlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBwaGFzZTogXCJiZWZvcmVXcml0ZVwiLFxuICAgICAgICAgIHJlcXVpcmVzOiBbXCJjb21wdXRlU3R5bGVzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgKDxhbnk+dGhpcy5hcHApLmtleW1hcC5wb3BTY29wZSh0aGlzLnNjb3BlKTtcblxuICAgIHRoaXMuc3VnZ2VzdC5zZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgdGhpcy5wb3BwZXIgJiYgdGhpcy5wb3BwZXIuZGVzdHJveSgpO1xuICAgIHRoaXMuc3VnZ2VzdEVsLmRldGFjaCgpO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0U3VnZ2VzdGlvbnMoaW5wdXRTdHI6IHN0cmluZyk6IFRbXTtcbiAgYWJzdHJhY3QgcmVuZGVyU3VnZ2VzdGlvbihpdGVtOiBULCBlbDogSFRNTEVsZW1lbnQpOiB2b2lkO1xuICBhYnN0cmFjdCBzZWxlY3RTdWdnZXN0aW9uKGl0ZW06IFQpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgQ29tbWFuZCB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvbW1hbmRTdWdnZXN0IGV4dGVuZHMgVGV4dElucHV0U3VnZ2VzdDxDb21tYW5kPiB7XG4gIGdldFN1Z2dlc3Rpb25zKGlucHV0U3RyOiBzdHJpbmcpOiBDb21tYW5kW10ge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gdGhpcy5hcHAuY29tbWFuZHMuY29tbWFuZHM7XG4gICAgY29uc3QgY29tbWFuZE5hbWVzOiBDb21tYW5kW10gPSBbXTtcbiAgICBjb25zdCBpbnB1dExvd2VyQ2FzZSA9IGlucHV0U3RyLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBmb3IgKGNvbnN0IGNvbW1hbmQgaW4gY29tbWFuZHMpIHtcbiAgICAgIGNvbnN0IGNvbW1hbmRPYmogPSBjb21tYW5kc1tjb21tYW5kXTtcbiAgICAgIGlmIChjb21tYW5kT2JqLm5hbWUudG9Mb3dlckNhc2UoKS5jb250YWlucyhpbnB1dExvd2VyQ2FzZSkpIHtcbiAgICAgICAgY29tbWFuZE5hbWVzLnB1c2goY29tbWFuZE9iaik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb21tYW5kTmFtZXM7XG4gIH1cblxuICByZW5kZXJTdWdnZXN0aW9uKGNvbW1hbmQ6IENvbW1hbmQsIGVsOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGVsLnNldFRleHQoY29tbWFuZC5uYW1lKTtcbiAgfVxuXG4gIHNlbGVjdFN1Z2dlc3Rpb24oY29tbWFuZDogQ29tbWFuZCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRFbC52YWx1ZSA9IGNvbW1hbmQubmFtZTtcbiAgICB0aGlzLmlucHV0RWwudHJpZ2dlcihcImlucHV0XCIpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVTdWdnZXN0IGV4dGVuZHMgVGV4dElucHV0U3VnZ2VzdDxURmlsZT4ge1xuICBwcml2YXRlIHRlbXBsYXRlc0VuYWJsZWQgPSB0aGlzLmFwcC5pbnRlcm5hbFBsdWdpbnMucGx1Z2lucy50ZW1wbGF0ZXMuZW5hYmxlZDtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZXJQbHVnaW4gPSB0aGlzLmFwcC5wbHVnaW5zLnBsdWdpbnNbXCJ0ZW1wbGF0ZXItb2JzaWRpYW5cIl07XG4gIC8vIG9ubHkgcnVuIGlmIHRlbXBsYXRlcyBwbHVnaW4gaXMgZW5hYmxlZFxuICBwcml2YXRlIGZvbGRlciA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgY29uc3QgZm9sZGVycyA9IFtdO1xuICAgIGlmICh0aGlzLnRlbXBsYXRlc0VuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGZvbGRlciA9IHRoaXMuYXBwLmludGVybmFsUGx1Z2lucy5wbHVnaW5zLnRlbXBsYXRlcy5pbnN0YW5jZS5vcHRpb25zXG4gICAgICAgIC5mb2xkZXI7XG4gICAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGZvbGRlcnMucHVzaChmb2xkZXIudG9Mb3dlckNhc2UoKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy50ZW1wbGF0ZXJQbHVnaW4pIHtcbiAgICAgICAgY29uc3QgZm9sZGVyID0gdGhpcy50ZW1wbGF0ZXJQbHVnaW4uc2V0dGluZ3MudGVtcGxhdGVfZm9sZGVyO1xuICAgICAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgICAgZm9sZGVycy5wdXNoKGZvbGRlci50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZm9sZGVyc1swXSA/IGZvbGRlcnMgOiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgZ2V0U3VnZ2VzdGlvbnMoaW5wdXRTdHI6IHN0cmluZyk6IFRGaWxlW10ge1xuICAgIGNvbnN0IGFic3RyYWN0RmlsZXMgPSB0aGlzLmFwcC52YXVsdC5nZXRBbGxMb2FkZWRGaWxlcygpO1xuICAgIGNvbnN0IGZpbGVzOiBURmlsZVtdID0gW107XG4gICAgY29uc3QgbG93ZXJDYXNlSW5wdXRTdHIgPSBpbnB1dFN0ci50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGZvbGRlcnMgPSB0aGlzLmZvbGRlcigpO1xuXG4gICAgYWJzdHJhY3RGaWxlcy5mb3JFYWNoKChmaWxlOiBUQWJzdHJhY3RGaWxlKSA9PiB7XG4gICAgICBsZXQgZXhpc3RzID0gZmFsc2U7XG4gICAgICBmb2xkZXJzICYmXG4gICAgICAgIGZvbGRlcnMuZm9yRWFjaCgoZm9sZGVyKSA9PiB7XG4gICAgICAgICAgaWYgKGZpbGUucGF0aC50b0xvd2VyQ2FzZSgpLmNvbnRhaW5zKGAke2ZvbGRlcn0vYCkpIHtcbiAgICAgICAgICAgIGV4aXN0cyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGlmIChcbiAgICAgICAgZmlsZSBpbnN0YW5jZW9mIFRGaWxlICYmXG4gICAgICAgIGZpbGUuZXh0ZW5zaW9uID09PSBcIm1kXCIgJiZcbiAgICAgICAgZXhpc3RzICYmXG4gICAgICAgIGZpbGUucGF0aC50b0xvd2VyQ2FzZSgpLmNvbnRhaW5zKGxvd2VyQ2FzZUlucHV0U3RyKVxuICAgICAgKSB7XG4gICAgICAgIGZpbGVzLnB1c2goZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxuICByZW5kZXJTdWdnZXN0aW9uKGZpbGU6IFRGaWxlLCBlbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBlbC5zZXRUZXh0KGZpbGUubmFtZS5zcGxpdChcIi5cIilbMF0pO1xuICB9XG5cbiAgc2VsZWN0U3VnZ2VzdGlvbihmaWxlOiBURmlsZSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRFbC52YWx1ZSA9IGZpbGUubmFtZS5zcGxpdChcIi5cIilbMF07XG4gICAgdGhpcy5pbnB1dEVsLnRyaWdnZXIoXCJpbnB1dFwiKTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJ1dHRvblN1Z2dlc3QgZXh0ZW5kcyBUZXh0SW5wdXRTdWdnZXN0PHN0cmluZz4ge1xuICBnZXRTdWdnZXN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgYnV0dG9uU3RvcmUgPSBnZXRTdG9yZSh0aGlzLmFwcC5pc01vYmlsZSk7XG4gICAgY29uc3QgYnV0dG9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIGJ1dHRvblN0b3JlLmZvckVhY2goKGJ1dHRvbjogRXh0ZW5kZWRCbG9ja0NhY2hlKSA9PiB7XG4gICAgICBjb25zdCB0cmltbWVkID0gYnV0dG9uLmlkLnNwbGl0KFwiLVwiKVsxXTtcbiAgICAgIGJ1dHRvbnMucHVzaCh0cmltbWVkKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBidXR0b25zO1xuICB9XG5cbiAgcmVuZGVyU3VnZ2VzdGlvbihidXR0b246IHN0cmluZywgZWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgZWwuc2V0VGV4dChidXR0b24pO1xuICB9XG5cbiAgc2VsZWN0U3VnZ2VzdGlvbihidXR0b246IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRFbC52YWx1ZSA9IHRoaXMuaW5wdXRFbC52YWx1ZSArIGJ1dHRvbjtcbiAgICB0aGlzLmlucHV0RWwudHJpZ2dlcihcImlucHV0XCIpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgTW9kYWwsIEFwcCwgU2V0dGluZywgTWFya2Rvd25WaWV3LCBFZGl0b3IgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGNyZWF0ZUJ1dHRvbiB9IGZyb20gXCIuL2J1dHRvblwiO1xuaW1wb3J0IHsgQ29tbWFuZFN1Z2dlc3QsIFRlbXBsYXRlU3VnZ2VzdCwgQnV0dG9uU3VnZ2VzdCB9IGZyb20gXCIuL3N1Z2dlc3RcIjtcbmltcG9ydCB7IGluc2VydEJ1dHRvbiwgaW5zZXJ0SW5saW5lQnV0dG9uIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIEJ1dHRvbk1vZGFsIGV4dGVuZHMgTW9kYWwge1xuICBhY3RpdmVWaWV3OiBNYXJrZG93blZpZXc7XG4gIGFjdGl2ZUVkaXRvcjogRWRpdG9yO1xuICBhY3RpdmVDdXJzb3I6IENvZGVNaXJyb3IuUG9zaXRpb247XG4gIGFjdGlvbkludGVydmFsOiBUaW1lb3V0O1xuICBidXR0b25QcmV2aWV3RWw6IEhUTUxFbGVtZW50ID0gY3JlYXRlRWwoXCJwXCIpO1xuICBjb21tYW5kU3VnZ2VzdEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gY3JlYXRlRWwoXCJpbnB1dFwiLCB7IHR5cGU6IFwidGV4dFwiIH0pO1xuICBmaWxlU3VnZ2VzdEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gY3JlYXRlRWwoXCJpbnB1dFwiLCB7IHR5cGU6IFwidGV4dFwiIH0pO1xuICByZW1vdmVTdWdnZXN0RWw6IEhUTUxJbnB1dEVsZW1lbnQgPSBjcmVhdGVFbChcImlucHV0XCIsIHsgdHlwZTogXCJ0ZXh0XCIgfSk7XG4gIHN3YXBTdWdnZXN0RWw6IEhUTUxJbnB1dEVsZW1lbnQgPSBjcmVhdGVFbChcImlucHV0XCIsIHsgdHlwZTogXCJ0ZXh0XCIgfSk7XG4gIGlkU3VnZ2VzdEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gY3JlYXRlRWwoXCJpbnB1dFwiLCB7IHR5cGU6IFwidGV4dFwiIH0pO1xuICByZW1vdmVTdWdnZXN0O1xuICBzd2FwU3VnZ2VzdDtcbiAgaWRTdWdnZXN0O1xuICBjb21tYW5kU3VnZ2VzdDtcbiAgZmlsZVN1Z2dlc3Q7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBBcHApIHtcbiAgICBzdXBlcihhcHApO1xuICAgIHRoaXMuY29tbWFuZFN1Z2dlc3QgPSBuZXcgQ29tbWFuZFN1Z2dlc3QodGhpcy5hcHAsIHRoaXMuY29tbWFuZFN1Z2dlc3RFbCk7XG4gICAgdGhpcy5jb21tYW5kU3VnZ2VzdEVsLnBsYWNlaG9sZGVyID0gXCJUb2dnbGUgUGluXCI7XG4gICAgdGhpcy5jb21tYW5kU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgKGU6IEV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5hY3Rpb24gPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZS50YXJnZXQpLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuY29tbWFuZFN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCAoZTogRXZlbnQpID0+IHtcbiAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmFjdGlvbiA9ICg8SFRNTElucHV0RWxlbWVudD5lLnRhcmdldCkudmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5maWxlU3VnZ2VzdCA9IG5ldyBUZW1wbGF0ZVN1Z2dlc3QodGhpcy5hcHAsIHRoaXMuZmlsZVN1Z2dlc3RFbCk7XG4gICAgdGhpcy5maWxlU3VnZ2VzdEVsLnBsYWNlaG9sZGVyID0gXCJNeSBUZW1wbGF0ZVwiO1xuICAgIHRoaXMuZmlsZVN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIChlKSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5hY3Rpb24gPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZS50YXJnZXQpLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuZmlsZVN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vdXRwdXRPYmplY3QuYWN0aW9uID0gKDxIVE1MSW5wdXRFbGVtZW50PmUudGFyZ2V0KS52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLnJlbW92ZVN1Z2dlc3QgPSBuZXcgQnV0dG9uU3VnZ2VzdCh0aGlzLmFwcCwgdGhpcy5yZW1vdmVTdWdnZXN0RWwpO1xuICAgIHRoaXMucmVtb3ZlU3VnZ2VzdEVsLnZhbHVlID0gXCJ0cnVlXCI7XG4gICAgdGhpcy5yZW1vdmVTdWdnZXN0RWwuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vdXRwdXRPYmplY3QucmVtb3ZlID0gKDxIVE1MSW5wdXRFbGVtZW50PmUudGFyZ2V0KS52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLnJlbW92ZVN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vdXRwdXRPYmplY3QucmVtb3ZlID0gKDxIVE1MSW5wdXRFbGVtZW50PmUudGFyZ2V0KS52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLnN3YXBTdWdnZXN0ID0gbmV3IEJ1dHRvblN1Z2dlc3QodGhpcy5hcHAsIHRoaXMuc3dhcFN1Z2dlc3RFbCk7XG4gICAgdGhpcy5zd2FwU3VnZ2VzdEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgKGUpID0+IHtcbiAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnN3YXAgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZS50YXJnZXQpLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuc3dhcFN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vdXRwdXRPYmplY3Quc3dhcCA9ICg8SFRNTElucHV0RWxlbWVudD5lLnRhcmdldCkudmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5pZFN1Z2dlc3QgPSBuZXcgQnV0dG9uU3VnZ2VzdCh0aGlzLmFwcCwgdGhpcy5pZFN1Z2dlc3RFbCk7XG4gICAgdGhpcy5pZFN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIChlKSA9PiB7XG4gICAgICB0aGlzLm91dHB1dE9iamVjdC5pZCA9ICg8SFRNTElucHV0RWxlbWVudD5lLnRhcmdldCkudmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5pZFN1Z2dlc3RFbC5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vdXRwdXRPYmplY3QuaWQgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZS50YXJnZXQpLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuc3dhcFN1Z2dlc3RFbC5wbGFjZWhvbGRlciA9IFwiW2lkT25lLCBpZFR3b11cIjtcbiAgfVxuXG4gIHByaXZhdGUgb3V0cHV0T2JqZWN0ID0ge1xuICAgIG5hbWU6IFwiXCIsXG4gICAgdHlwZTogXCJcIixcbiAgICBhY3Rpb246IFwiXCIsXG4gICAgc3dhcDogXCJcIixcbiAgICByZW1vdmU6IFwiXCIsXG4gICAgcmVwbGFjZTogXCJcIixcbiAgICBpZDogXCJcIixcbiAgICB0ZW1wbGF0ZXI6IGZhbHNlLFxuICAgIGNsYXNzOiBcIlwiLFxuICAgIGNvbG9yOiBcIlwiLFxuICAgIGJsb2NrSWQ6IFwiXCIsXG4gIH07XG5cbiAgb25PcGVuKCk6IHZvaWQge1xuICAgIGNvbnN0IHsgdGl0bGVFbCwgY29udGVudEVsIH0gPSB0aGlzO1xuICAgIHRpdGxlRWwuc2V0VGV4dChcIkJ1dHRvbiBNYWtlclwiKTtcbiAgICBjb250ZW50RWwuYWRkQ2xhc3MoXCJidXR0b24tbWFrZXJcIik7XG4gICAgY29udGVudEVsLmNyZWF0ZUVsKFwiZm9ybVwiLCB7fSwgKGZvcm1FbCkgPT4ge1xuICAgICAgbmV3IFNldHRpbmcoZm9ybUVsKVxuICAgICAgICAuc2V0TmFtZShcIkJ1dHRvbiBOYW1lXCIpXG4gICAgICAgIC5zZXREZXNjKFwiV2hhdCB3b3VsZCB5b3UgbGlrZSB0byBjYWxsIHRoaXMgYnV0dG9uP1wiKVxuICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiTXkgQXdlc29tZSBCdXR0b25cIik7XG4gICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25QcmV2aWV3RWwuc2V0VGV4dCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC5uYW1lID0gdmFsdWU7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0ZXh0RWwuaW5wdXRFbC5mb2N1cygpLCAxMCk7XG4gICAgICAgIH0pO1xuICAgICAgY29uc3QgdHlwZUNvbnRhaW5lciA9IGNyZWF0ZUVsKFwiZGl2XCIpO1xuICAgICAgY29uc3QgdHlwZVRpdGxlID0gY3JlYXRlRWwoXCJzcGFuXCIsIHsgY2xzOiBcInNldHRpbmctaXRlbS10aXRsZVwiIH0pO1xuICAgICAgdHlwZVRpdGxlLnNldFRleHQoXCJCdXR0b24gVHlwZVwiKTtcbiAgICAgIGNvbnN0IHR5cGVEZXNjID0gY3JlYXRlRWwoXCJkaXZcIiwgeyBjbHM6IFwic2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uXCIgfSk7XG4gICAgICB0eXBlRGVzYy5zZXRUZXh0KFwiV2hhdCB0eXBlIG9mIGJ1dHRvbiBhcmUgeW91IG1ha2luZz9cIik7XG4gICAgICBmb3JtRWwuYXBwZW5kQ2hpbGQodHlwZUNvbnRhaW5lcik7XG4gICAgICB0eXBlQ29udGFpbmVyLmFwcGVuZENoaWxkKHR5cGVUaXRsZSk7XG4gICAgICB0eXBlQ29udGFpbmVyLmFwcGVuZENoaWxkKHR5cGVEZXNjKTtcbiAgICAgIG5ldyBTZXR0aW5nKHR5cGVEZXNjKS5hZGREcm9wZG93bigoZHJvcCkgPT4ge1xuICAgICAgICBkcm9wLmFkZE9wdGlvbihcInByZVwiLCBcIlNlbGVjdCBhIEJ1dHRvbiBUeXBlXCIpO1xuICAgICAgICBkcm9wLmFkZE9wdGlvbihcImNvbW1hbmRcIiwgXCJDb21tYW5kIC0gcnVuIGEgY29tbWFuZCBwcm9tcHQgY29tbWFuZFwiKTtcbiAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJsaW5rXCIsIFwiTGluayAtIG9wZW4gYSB1cmwgb3IgdXJpXCIpO1xuICAgICAgICBkcm9wLmFkZE9wdGlvbihcbiAgICAgICAgICBcInRlbXBsYXRlXCIsXG4gICAgICAgICAgXCJUZW1wbGF0ZSAtIGluc2VydCBvciBjcmVhdGUgbm90ZXMgZnJvbSB0ZW1wbGF0ZXNcIlxuICAgICAgICApO1xuICAgICAgICBkcm9wLmFkZE9wdGlvbihcInRleHRcIiwgXCJUZXh0IC0gaW5zZXJ0IG9yIGNyZWF0ZSBub3RlcyB3aXRoIHRleHRcIik7XG4gICAgICAgIGRyb3AuYWRkT3B0aW9uKFxuICAgICAgICAgIFwiY2FsY3VsYXRlXCIsXG4gICAgICAgICAgXCJDYWxjdWxhdGUgLSBydW4gYSBtYXRoZW1hdGljYWwgY2FsY3VsYXRpb25cIlxuICAgICAgICApO1xuICAgICAgICBkcm9wLmFkZE9wdGlvbihcbiAgICAgICAgICBcInN3YXBcIixcbiAgICAgICAgICBcIlN3YXAgLSBDcmVhdGUgYSBtdWx0aS1wdXJwb3NlIElubGluZSBCdXR0b24gZnJvbSBvdGhlciBCdXR0b25zXCJcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZm9ybUVsLmNyZWF0ZUVsKFwiZGl2XCIpO1xuICAgICAgICBkcm9wLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSB2YWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IFwibGlua1wiKSB7XG4gICAgICAgICAgICBhY3Rpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgLnNldE5hbWUoXCJMaW5rXCIpXG4gICAgICAgICAgICAgIC5zZXREZXNjKFwiRW50ZXIgYSBsaW5rIHRvIG9wZW5cIilcbiAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgIHRleHRFbC5zZXRQbGFjZWhvbGRlcihcImh0dHBzOi8vb2JzaWRpYW4ubWRcIik7XG4gICAgICAgICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4gKHRoaXMub3V0cHV0T2JqZWN0LmFjdGlvbiA9IHZhbHVlKSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFsdWUgPT09IFwiY29tbWFuZFwiKSB7XG4gICAgICAgICAgICBhY3Rpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgLnNldE5hbWUoXCJDb21tYW5kXCIpXG4gICAgICAgICAgICAgIC5zZXREZXNjKFwiRW50ZXIgYSBjb21tYW5kIHRvIHJ1blwiKVxuICAgICAgICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dEVsLmlucHV0RWwucmVwbGFjZVdpdGgodGhpcy5jb21tYW5kU3VnZ2VzdEVsKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcyhcInRlbXBsYXRlXCIpKSB7XG4gICAgICAgICAgICBhY3Rpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgLnNldE5hbWUoXCJUZW1wbGF0ZVwiKVxuICAgICAgICAgICAgICAuc2V0RGVzYyhcIlNlbGVjdCBhIHRlbXBsYXRlIG5vdGUgYW5kIHdoYXQgc2hvdWxkIGhhcHBlblwiKVxuICAgICAgICAgICAgICAuYWRkRHJvcGRvd24oKGRyb3ApID0+IHtcbiAgICAgICAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcInByZVwiLCBcIkRvIHRoaXMuLi5cIik7XG4gICAgICAgICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJwcmVwZW5kIHRlbXBsYXRlXCIsIFwiUHJlcGVuZFwiKTtcbiAgICAgICAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcImFwcGVuZCB0ZW1wbGF0ZVwiLCBcIkFwcGVuZFwiKTtcbiAgICAgICAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcImxpbmUgdGVtcGxhdGVcIiwgXCJMaW5lXCIpO1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwibm90ZSB0ZW1wbGF0ZVwiLCBcIk5vdGVcIik7XG4gICAgICAgICAgICAgICAgZHJvcC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBcImxpbmUgdGVtcGxhdGVcIikge1xuICAgICAgICAgICAgICAgICAgICBuZXcgU2V0dGluZyhhY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgICAgLnNldE5hbWUoXCJMaW5lIE51bWJlclwiKVxuICAgICAgICAgICAgICAgICAgICAgIC5zZXREZXNjKFwiQXQgd2hpY2ggbGluZSBzaG91bGQgdGhlIHRlbXBsYXRlIGJlIGluc2VydGVkP1wiKVxuICAgICAgICAgICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFbC5zZXRQbGFjZWhvbGRlcihcIjY5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYGxpbmUoJHt2YWx1ZX0pIHRlbXBsYXRlYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IFwibm90ZSB0ZW1wbGF0ZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAuc2V0TmFtZShcIk5vdGUgTmFtZVwiKVxuICAgICAgICAgICAgICAgICAgICAgIC5zZXREZXNjKFwiV2hhdCBzaG91bGQgdGhlIG5ldyBub3RlIGJlIG5hbWVkP1wiKVxuICAgICAgICAgICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFbC5zZXRQbGFjZWhvbGRlcihcIk15IE5ldyBOb3RlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0TmFtZShcIlNwbGl0XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXREZXNjKFwiU2hvdWxkIHRoZSBuZXcgbm90ZSBvcGVuIGluIGEgc3BsaXQgcGFuZT9cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlRWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYG5vdGUoJHt0ZXh0RWwuZ2V0VmFsdWV9KSB0ZW1wbGF0ZWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKCh0ZXh0VmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVWYWwgPSB0b2dnbGVFbC5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRvZ2dsZVZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYG5vdGUoJHt0ZXh0VmFsfSwgc3BsaXQpIHRlbXBsYXRlYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdG9nZ2xlVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRWYWx9KSB0ZW1wbGF0ZWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRWwub25DaGFuZ2UoKHRvZ2dsZVZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFZhbCA9IHRleHRFbC5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRvZ2dsZVZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYG5vdGUoJHt0ZXh0VmFsfSwgc3BsaXQpIHRlbXBsYXRlYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdG9nZ2xlVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRWYWx9KSB0ZW1wbGF0ZWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dEVsLmlucHV0RWwucmVwbGFjZVdpdGgodGhpcy5maWxlU3VnZ2VzdEVsKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcyhcInRleHRcIikpIHtcbiAgICAgICAgICAgIGFjdGlvbi5lbXB0eSgpO1xuICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAuc2V0TmFtZShcIlRleHRcIilcbiAgICAgICAgICAgICAgLnNldERlc2MoXCJXaGF0IHRleHQgYW5kIHdoZXJlIHNob3VsZCBpdCBnbz9cIilcbiAgICAgICAgICAgICAgLmFkZERyb3Bkb3duKChkcm9wKSA9PiB7XG4gICAgICAgICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJwcmVcIiwgXCJEbyB0aGlzLi4uXCIpO1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwicHJlcGVuZCB0ZXh0XCIsIFwiUHJlcGVuZFwiKTtcbiAgICAgICAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcImFwcGVuZCB0ZXh0XCIsIFwiQXBwZW5kXCIpO1xuICAgICAgICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwibGluZSB0ZXh0XCIsIFwiTGluZVwiKTtcbiAgICAgICAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcIm5vdGUgdGV4dFwiLCBcIk5vdGVcIik7XG4gICAgICAgICAgICAgICAgZHJvcC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBcImxpbmUgdGV4dFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAuc2V0TmFtZShcIkxpbmUgTnVtYmVyXCIpXG4gICAgICAgICAgICAgICAgICAgICAgLnNldERlc2MoXCJBdCB3aGljaCBsaW5lIHNob3VsZCB0aGUgdGVtcGxhdGUgYmUgaW5zZXJ0ZWQ/XCIpXG4gICAgICAgICAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVsLnNldFBsYWNlaG9sZGVyKFwiNjlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbGluZSgke3ZhbHVlfSkgdGV4dGA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBcIm5vdGUgdGV4dFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAuc2V0TmFtZShcIk5vdGUgTmFtZVwiKVxuICAgICAgICAgICAgICAgICAgICAgIC5zZXREZXNjKFwiV2hhdCBzaG91bGQgdGhlIG5ldyBub3RlIGJlIG5hbWVkP1wiKVxuICAgICAgICAgICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFbC5zZXRQbGFjZWhvbGRlcihcIk15IE5ldyBOb3RlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFNldHRpbmcoYWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0TmFtZShcIlNwbGl0XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXREZXNjKFwiU2hvdWxkIHRoZSBuZXcgbm90ZSBvcGVuIGluIGEgc3BsaXQgcGFuZT9cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlRWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYG5vdGUoJHt0ZXh0RWwuZ2V0VmFsdWV9KSB0ZXh0YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoKHRleHRWYWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvZ2dsZVZhbCA9IHRvZ2dsZUVsLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9nZ2xlVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBgbm90ZSgke3RleHRWYWx9LCBzcGxpdCkgdGV4dGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRvZ2dsZVZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYG5vdGUoJHt0ZXh0VmFsfSkgdGV4dGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRWwub25DaGFuZ2UoKHRvZ2dsZVZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFZhbCA9IHRleHRFbC5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRvZ2dsZVZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC50eXBlID0gYG5vdGUoJHt0ZXh0VmFsfSwgc3BsaXQpIHRleHRgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0b2dnbGVWYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudHlwZSA9IGBub3RlKCR7dGV4dFZhbH0pIHRleHRgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgICAgICAgIHRleHRFbC5zZXRQbGFjZWhvbGRlcihcIk15IFRleHQgdG8gSW5zZXJ0XCIpO1xuICAgICAgICAgICAgICAgIHRleHRFbC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmFjdGlvbiA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlID09PSBcImNhbGN1bGF0ZVwiKSB7XG4gICAgICAgICAgICBhY3Rpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIG5ldyBTZXR0aW5nKGFjdGlvbilcbiAgICAgICAgICAgICAgLnNldE5hbWUoXCJDYWxjdWxhdGVcIilcbiAgICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJFbnRlciBhIGNhbGN1bGF0aW9uLCB5b3UgY2FuIHJlZmVyZW5jZSBhIGxpbmUgbnVtYmVyIHdpdGggJExpbmVOdW1iZXJcIlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0RWwuc2V0UGxhY2Vob2xkZXIoXCIyKyQxMFwiKTtcbiAgICAgICAgICAgICAgICB0ZXh0RWwub25DaGFuZ2UoKHZhbHVlKSA9PiAodGhpcy5vdXRwdXRPYmplY3QuYWN0aW9uID0gdmFsdWUpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJzd2FwXCIpIHtcbiAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnR5cGUgPSBcIlwiO1xuICAgICAgICAgICAgYWN0aW9uLmVtcHR5KCk7XG4gICAgICAgICAgICBuZXcgU2V0dGluZyhhY3Rpb24pXG4gICAgICAgICAgICAgIC5zZXROYW1lKFwiU3dhcFwiKVxuICAgICAgICAgICAgICAuc2V0RGVzYyhcbiAgICAgICAgICAgICAgICBcImNob29zZSBidXR0b25zIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBJbmxpbmUgU3dhcCBCdXR0b25cIlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0RWwuaW5wdXRFbC5yZXBsYWNlV2l0aCh0aGlzLnN3YXBTdWdnZXN0RWwpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICBuZXcgU2V0dGluZyhmb3JtRWwpXG4gICAgICAgIC5zZXROYW1lKFwiQnV0dG9uIEJsb2NrIElEXCIpXG4gICAgICAgIC5zZXREZXNjKFwiUHJvdmlkZSBhIGN1c3RvbSBidXR0b24tYmxvY2staWRcIilcbiAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgIHRleHRFbC5zZXRQbGFjZWhvbGRlcihcImJ1dHRvbklkXCIpO1xuICAgICAgICAgIHRleHRFbC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmJsb2NrSWQgPSB2YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICBuZXcgU2V0dGluZyhmb3JtRWwpXG4gICAgICAgIC5zZXROYW1lKFwiUmVtb3ZlXCIpXG4gICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgIFwiV291bGQgeW91IGxpa2UgdG8gcmVtb3ZlIHRoaXMgYnV0dG9uIChvciBvdGhlciBidXR0b25zKSBhZnRlciBjbGlja2luZz9cIlxuICAgICAgICApXG4gICAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZUVsKSA9PiB7XG4gICAgICAgICAgdG9nZ2xlRWwub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgbmV3IFNldHRpbmcocmVtb3ZlKVxuICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiU2VsZWN0IFJlbW92ZVwiKVxuICAgICAgICAgICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgICAgICAgICAgXCJVc2UgdHJ1ZSB0byByZW1vdmUgdGhpcyBidXR0b24sIG9yIHN1cHBseSBhbiBbYXJyYXldIG9mIGJ1dHRvbiBibG9jay1pZHNcIlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYWRkVGV4dCgodGV4dEVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0ZXh0RWwuaW5wdXRFbC5yZXBsYWNlV2l0aCh0aGlzLnJlbW92ZVN1Z2dlc3RFbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LnJlbW92ZSA9IFwiXCI7XG4gICAgICAgICAgICAgIHJlbW92ZS5lbXB0eSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIGNvbnN0IHJlbW92ZSA9IGZvcm1FbC5jcmVhdGVFbChcImRpdlwiKTtcbiAgICAgIG5ldyBTZXR0aW5nKGZvcm1FbClcbiAgICAgICAgLnNldE5hbWUoXCJSZXBsYWNlXCIpXG4gICAgICAgIC5zZXREZXNjKFwiV291bGQgeW91IGxpa2UgdG8gcmVwbGFjZSBsaW5lcyBpbiB0aGUgbm90ZSBhZnRlciBjbGlja2luZz9cIilcbiAgICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlRWwpID0+IHtcbiAgICAgICAgICB0b2dnbGVFbC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICBuZXcgU2V0dGluZyhyZXBsYWNlKVxuICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiU2VsZWN0IExpbmVzXCIpXG4gICAgICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgICBcIlN1cHBseSBhbiBhcnJheSBvZiBbc3RhcnRpbmdMaW5lLCBlbmRpbmdMaW5lXSB0byBiZSByZXBsYWNlZFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRleHRFbC5zZXRWYWx1ZShcIltdXCIpO1xuICAgICAgICAgICAgICAgICAgdGV4dEVsLm9uQ2hhbmdlKFxuICAgICAgICAgICAgICAgICAgICAodmFsdWUpID0+ICh0aGlzLm91dHB1dE9iamVjdC5yZXBsYWNlID0gdmFsdWUpXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgICByZXBsYWNlLmVtcHR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgY29uc3QgcmVwbGFjZSA9IGZvcm1FbC5jcmVhdGVFbChcImRpdlwiKTtcbiAgICAgIG5ldyBTZXR0aW5nKGZvcm1FbClcbiAgICAgICAgLnNldE5hbWUoXCJJbmhlcml0XCIpXG4gICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgIFwiV291bGQgeW91IGxpa2UgdG8gaW5oZXJpdCBhcmdzIGJ5IGFkZGluZyBhbiBleGlzdGluZyBidXR0b24gYmxvY2staWQ/XCJcbiAgICAgICAgKVxuICAgICAgICAuYWRkVG9nZ2xlKCh0b2dnbGVFbCkgPT4ge1xuICAgICAgICAgIHRvZ2dsZUVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgIG5ldyBTZXR0aW5nKGlkKVxuICAgICAgICAgICAgICAgIC5zZXROYW1lKFwiaWRcIilcbiAgICAgICAgICAgICAgICAuc2V0RGVzYyhcbiAgICAgICAgICAgICAgICAgIFwiaW5oZXJpdCBmcm9tIG90aGVyIEJ1dHRvbnMgYnkgYWRkaW5nIHRoZWlyIGJ1dHRvbiBibG9jay1pZFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0RWwpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRleHRFbC5pbnB1dEVsLnJlcGxhY2VXaXRoKHRoaXMuaWRTdWdnZXN0RWwpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC5yZXBsYWNlID0gXCJcIjtcbiAgICAgICAgICAgICAgaWQuZW1wdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICBjb25zdCBpZCA9IGZvcm1FbC5jcmVhdGVFbChcImRpdlwiKTtcbiAgICAgIG5ldyBTZXR0aW5nKGZvcm1FbClcbiAgICAgICAgLnNldE5hbWUoXCJUZW1wbGF0ZXJcIilcbiAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBjb252ZXJ0IGEgdGVtcGxhdGVyIGNvbW1hbmQgaW5zaWRlIHlvdXIgQnV0dG9uIG9uIGVhY2ggY2xpY2s/XCJcbiAgICAgICAgKVxuICAgICAgICAuYWRkVG9nZ2xlKCh0b2dnbGVFbCkgPT4ge1xuICAgICAgICAgIHRvZ2dsZUVsLnNldFRvb2x0aXAoXCJEbyBub3QgdXNlIGZvciBpbmxpbmUgQnV0dG9uXCIpO1xuICAgICAgICAgIHRvZ2dsZUVsLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vdXRwdXRPYmplY3QudGVtcGxhdGVyID0gdmFsdWU7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgbmV3IFNldHRpbmcoZm9ybUVsKVxuICAgICAgICAuc2V0TmFtZShcIkN1c3RvbSBDbGFzc1wiKVxuICAgICAgICAuc2V0RGVzYyhcIkFkZCBhIGN1c3RvbSBjbGFzcyBmb3IgYnV0dG9uIHN0eWxpbmdcIilcbiAgICAgICAgLmFkZFRleHQoKHRleHRFbCkgPT4ge1xuICAgICAgICAgIHRleHRFbC5vbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uUHJldmlld0VsLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub3V0cHV0T2JqZWN0LmNsYXNzID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgdGhpcy5idXR0b25QcmV2aWV3RWwuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgXCJidXR0b24tZGVmYXVsdFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICBuZXcgU2V0dGluZyhmb3JtRWwpXG4gICAgICAgIC5zZXROYW1lKFwiQ29sb3JcIilcbiAgICAgICAgLnNldERlc2MoXCJXaGF0IGNvbG9yIHdvdWxkIHlvdSBsaWtlIHlvdXIgYnV0dG9uIHRvIGJlP1wiKVxuICAgICAgICAuYWRkRHJvcGRvd24oKGRyb3ApID0+IHtcbiAgICAgICAgICBkcm9wLmFkZE9wdGlvbihcImRlZmF1bHRcIiwgXCJEZWZhdWx0IENvbG9yXCIpO1xuICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwiYmx1ZVwiLCBcIkJsdWVcIik7XG4gICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJyZWRcIiwgXCJSZWRcIik7XG4gICAgICAgICAgZHJvcC5hZGRPcHRpb24oXCJncmVlblwiLCBcIkdyZWVuXCIpO1xuICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwieWVsbG93XCIsIFwiWWVsbG93XCIpO1xuICAgICAgICAgIGRyb3AuYWRkT3B0aW9uKFwicHVycGxlXCIsIFwiUHVycGxlXCIpO1xuICAgICAgICAgIGRyb3Aub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm91dHB1dE9iamVjdC5jb2xvciA9IHZhbHVlO1xuICAgICAgICAgICAgY29uc3QgYnV0dG9uQ2xhc3MgPSB0aGlzLmJ1dHRvblByZXZpZXdFbFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIilcbiAgICAgICAgICAgICAgLnJlcGxhY2UoXCIgYmx1ZVwiLCBcIlwiKVxuICAgICAgICAgICAgICAucmVwbGFjZShcIiByZWRcIiwgXCJcIilcbiAgICAgICAgICAgICAgLnJlcGxhY2UoXCIgZ3JlZW5cIiwgXCJcIilcbiAgICAgICAgICAgICAgLnJlcGxhY2UoXCIgeWVsbG93XCIsIFwiXCIpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKFwiIHB1cnBsZVwiLCBcIlwiKTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgICAgICAgdGhpcy5idXR0b25QcmV2aWV3RWwuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgIFwiY2xhc3NcIixcbiAgICAgICAgICAgICAgICBgJHtidXR0b25DbGFzc30gJHt2YWx1ZX1gXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJibHVlXCIpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IFwiIzc2YjNmYVwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJwdXJwbGVcIikge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gXCIjNzI1NTg1XCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5idXR0b25QcmV2aWV3RWwuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgIFwic3R5bGVcIixcbiAgICAgICAgICAgICAgICBgYmFja2dyb3VuZDogJHt2YWx1ZX1gXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmJ1dHRvblByZXZpZXdFbC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBgJHtidXR0b25DbGFzc31gKTtcbiAgICAgICAgICAgICAgdGhpcy5idXR0b25QcmV2aWV3RWwucmVtb3ZlQXR0cmlidXRlKFwic3R5bGVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgZm9ybUVsLmNyZWF0ZURpdihcIm1vZGFsLWJ1dHRvbi1jb250YWluZXJcIiwgKGJ1dHRvbkNvbnRhaW5lckVsKSA9PiB7XG4gICAgICAgIGJ1dHRvbkNvbnRhaW5lckVsXG4gICAgICAgICAgLmNyZWF0ZUVsKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgIGF0dHI6IHsgdHlwZTogXCJidXR0b25cIiB9LFxuICAgICAgICAgICAgY2xzOiBcImJ1dHRvbi1kZWZhdWx0XCIsXG4gICAgICAgICAgICB0ZXh0OiBcIkNhbmNlbFwiLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgICAgICBidXR0b25Db250YWluZXJFbC5jcmVhdGVFbChcImJ1dHRvblwiLCB7XG4gICAgICAgICAgYXR0cjogeyB0eXBlOiBcInN1Ym1pdFwiIH0sXG4gICAgICAgICAgY2xzOiBcImJ1dHRvbi1kZWZhdWx0IG1vZC1jdGFcIixcbiAgICAgICAgICB0ZXh0OiBcIkluc2VydCBCdXR0b25cIixcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgZm9ybUVsLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGU6IEV2ZW50KSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaW5zZXJ0QnV0dG9uKHRoaXMuYXBwLCB0aGlzLm91dHB1dE9iamVjdCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnRlbnRFbC5jcmVhdGVFbChcInBcIikuc2V0VGV4dChcIkJ1dHRvbiBQcmV2aWV3XCIpO1xuICAgIHRoaXMuYnV0dG9uUHJldmlld0VsID0gY3JlYXRlQnV0dG9uKHtcbiAgICAgIGFwcDogdGhpcy5hcHAsXG4gICAgICBlbDogY29udGVudEVsLFxuICAgICAgYXJnczogeyBuYW1lOiBcIk15IEF3ZXNvbWUgQnV0dG9uXCIgfSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgY29uc3QgeyBjb250ZW50RWwgfSA9IHRoaXM7XG4gICAgY29udGVudEVsLmVtcHR5KCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIElubGluZUJ1dHRvbk1vZGFsIGV4dGVuZHMgTW9kYWwge1xuICBidXR0b25TdWdnZXN0RWw6IEhUTUxJbnB1dEVsZW1lbnQgPSBjcmVhdGVFbChcImlucHV0XCIsIHsgdHlwZTogXCJ0ZXh0XCIgfSk7XG4gIGJ1dHRvblN1Z2dlc3Q7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBBcHApIHtcbiAgICBzdXBlcihhcHApO1xuICAgIHRoaXMuYnV0dG9uU3VnZ2VzdCA9IG5ldyBCdXR0b25TdWdnZXN0KHRoaXMuYXBwLCB0aGlzLmJ1dHRvblN1Z2dlc3RFbCk7XG4gICAgdGhpcy5idXR0b25TdWdnZXN0RWwuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgXCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiA0MHB4XCIpO1xuICB9XG5cbiAgb25PcGVuKCkge1xuICAgIGNvbnN0IHsgdGl0bGVFbCwgY29udGVudEVsIH0gPSB0aGlzO1xuICAgIHRpdGxlRWwuc2V0VGV4dChcIkluc2VydCBJbmxpbmUgQnV0dG9uXCIpO1xuICAgIGNvbnRlbnRFbC5jcmVhdGVFbChcImZvcm1cIiwge30sIChmb3JtRWwpID0+IHtcbiAgICAgIGZvcm1FbC5hcHBlbmRDaGlsZCh0aGlzLmJ1dHRvblN1Z2dlc3RFbCk7XG4gICAgICBmb3JtRWwuYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZTogRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpbnNlcnRJbmxpbmVCdXR0b24odGhpcy5hcHAsIHRoaXMuYnV0dG9uU3VnZ2VzdEVsLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIGNvbnN0IHsgY29udGVudEVsIH0gPSB0aGlzO1xuICAgIGNvbnRlbnRFbC5lbXB0eSgpO1xuICB9XG59XG4iLCJpbXBvcnQge1xuICBBcHAsXG4gIEV2ZW50UmVmLFxuICBFdmVudHMsXG4gIE1hcmtkb3duUmVuZGVyQ2hpbGQsXG4gIE1hcmtkb3duVmlldyxcbiAgUGx1Z2luLFxufSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGNyZWF0ZUFyZ3VtZW50T2JqZWN0IH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7XG4gIGFkZEJ1dHRvblRvU3RvcmUsXG4gIGdldEJ1dHRvbkJ5SWQsXG4gIGdldEJ1dHRvbkZyb21TdG9yZSxcbiAgZ2V0U3RvcmUsXG4gIGluaXRpYWxpemVCdXR0b25TdG9yZSxcbn0gZnJvbSBcIi4vYnV0dG9uU3RvcmVcIjtcbmltcG9ydCB7IGJ1dHRvbkV2ZW50TGlzdGVuZXIsIG9wZW5GaWxlTGlzdGVuZXIgfSBmcm9tIFwiLi9ldmVudHNcIjtcbmltcG9ydCB7IEFyZ3VtZW50cyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBCdXR0b25Nb2RhbCwgSW5saW5lQnV0dG9uTW9kYWwgfSBmcm9tIFwiLi9tb2RhbFwiO1xuaW1wb3J0IHsgQnV0dG9uLCBjcmVhdGVCdXR0b24gfSBmcm9tIFwiLi9idXR0b25cIjtcbi8vIGltcG9ydCB7IHVwZGF0ZVdhcm5pbmcgfSBmcm9tIFwiLi92ZXJzaW9uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1dHRvbnNQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBwcml2YXRlIGJ1dHRvbkV2ZW50czogRXZlbnRSZWY7XG4gIHByaXZhdGUgY2xvc2VkRmlsZTogRXZlbnRSZWY7XG4gIHByaXZhdGUgYnV0dG9uRWRpdDogRXZlbnRSZWY7XG4gIHByaXZhdGUgY3JlYXRlQnV0dG9uOiBCdXR0b247XG4gIHByaXZhdGUgc3RvcmVFdmVudHMgPSBuZXcgRXZlbnRzKCk7XG4gIHByaXZhdGUgaW5kZXhDb3VudCA9IDA7XG4gIHByaXZhdGUgc3RvcmVFdmVudHNSZWY6IEV2ZW50UmVmO1xuXG4gIHByaXZhdGUgYXN5bmMgYWRkQnV0dG9uSW5FZGl0KGFwcDogQXBwKSB7XG4gICAgbGV0IHdpZGdldDogQ29kZU1pcnJvci5MaW5lV2lkZ2V0O1xuICAgIGlmICh3aWRnZXQpIHtcbiAgICAgIHdpZGdldC5jbGVhcigpO1xuICAgIH1cbiAgICBjb25zdCBhY3RpdmVWaWV3ID0gYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVWaWV3T2ZUeXBlKE1hcmtkb3duVmlldyk7XG4gICAgaWYgKGFjdGl2ZVZpZXcpIHtcbiAgICAgIGNvbnN0IHN0b3JlID0gZ2V0U3RvcmUoYXBwLmlzTW9iaWxlKTtcbiAgICAgIGNvbnN0IGJ1dHRvbnNJbkZpbGUgPSBzdG9yZS5maWx0ZXIoXG4gICAgICAgIChidXR0b24pID0+IGJ1dHRvbi5wYXRoID09PSBhY3RpdmVWaWV3LmZpbGUucGF0aFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVnaXN0ZXJDb2RlTWlycm9yKChjbTogQ29kZU1pcnJvci5FZGl0b3IpID0+IHtcbiAgICAgICAgYnV0dG9uc0luRmlsZS5mb3JFYWNoKGFzeW5jIChidXR0b24pID0+IHtcbiAgICAgICAgICBjb25zdCB3aWRnZXRFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgICAgY29uc3Qgc3RvcmVCdXR0b24gPSBhd2FpdCBnZXRCdXR0b25Gcm9tU3RvcmUoYXBwLCB7XG4gICAgICAgICAgICBpZDogYnV0dG9uLmlkLnNwbGl0KFwiLVwiKVsxXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhYXBwLmlzTW9iaWxlICYmXG4gICAgICAgICAgICBzdG9yZUJ1dHRvbiAmJlxuICAgICAgICAgICAgc3RvcmVCdXR0b24/LmFyZ3MuZWRpdHZpZXcgPT09IFwidHJ1ZVwiXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB3aWRnZXQgPSBjbS5hZGRMaW5lV2lkZ2V0KFxuICAgICAgICAgICAgICBidXR0b24ucG9zaXRpb24uZW5kLmxpbmUgKyAxLFxuICAgICAgICAgICAgICBjcmVhdGVCdXR0b24oe1xuICAgICAgICAgICAgICAgIGFwcCxcbiAgICAgICAgICAgICAgICBlbDogd2lkZ2V0RWwsXG4gICAgICAgICAgICAgICAgYXJnczogc3RvcmVCdXR0b24uYXJncyxcbiAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlkOiBidXR0b24uaWQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KGFzeW5jICgpID0+IHtcbiAgICAgIC8vIGF3YWl0IHVwZGF0ZVdhcm5pbmcoKTtcbiAgICB9KTtcbiAgICB0aGlzLmJ1dHRvbkV2ZW50cyA9IGJ1dHRvbkV2ZW50TGlzdGVuZXIodGhpcy5hcHAsIGFkZEJ1dHRvblRvU3RvcmUpO1xuICAgIHRoaXMuY2xvc2VkRmlsZSA9IG9wZW5GaWxlTGlzdGVuZXIoXG4gICAgICB0aGlzLmFwcCxcbiAgICAgIHRoaXMuc3RvcmVFdmVudHMsXG4gICAgICBpbml0aWFsaXplQnV0dG9uU3RvcmVcbiAgICApO1xuICAgIHRoaXMuY3JlYXRlQnV0dG9uID0gY3JlYXRlQnV0dG9uIGFzIEJ1dHRvbjtcbiAgICB0aGlzLnN0b3JlRXZlbnRzUmVmID0gdGhpcy5zdG9yZUV2ZW50cy5vbihcImluZGV4LWNvbXBsZXRlXCIsICgpID0+IHtcbiAgICAgIHRoaXMuaW5kZXhDb3VudCsrO1xuICAgIH0pO1xuICAgIGluaXRpYWxpemVCdXR0b25TdG9yZSh0aGlzLmFwcCwgdGhpcy5zdG9yZUV2ZW50cyk7XG5cbiAgICB0aGlzLmJ1dHRvbkVkaXQgPSBvcGVuRmlsZUxpc3RlbmVyKFxuICAgICAgdGhpcy5hcHAsXG4gICAgICB0aGlzLnN0b3JlRXZlbnRzLFxuICAgICAgdGhpcy5hZGRCdXR0b25JbkVkaXQuYmluZCh0aGlzKVxuICAgICk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwiYnV0dG9uLW1ha2VyXCIsXG4gICAgICBuYW1lOiBcIkJ1dHRvbiBNYWtlclwiLFxuICAgICAgY2FsbGJhY2s6ICgpID0+IG5ldyBCdXR0b25Nb2RhbCh0aGlzLmFwcCkub3BlbigpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcImlubGluZS1idXR0b25cIixcbiAgICAgIG5hbWU6IFwiSW5zZXJ0IElubGluZSBCdXR0b25cIixcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiBuZXcgSW5saW5lQnV0dG9uTW9kYWwodGhpcy5hcHApLm9wZW4oKSxcbiAgICB9KTtcblxuICAgIHRoaXMucmVnaXN0ZXJNYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3NvcihcbiAgICAgIFwiYnV0dG9uXCIsXG4gICAgICBhc3luYyAoc291cmNlLCBlbCwgY3R4KSA9PiB7XG4gICAgICAgIC8vIGNyZWF0ZSBhbiBvYmplY3Qgb3V0IG9mIHRoZSBhcmd1bWVudHNcbiAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMuYXBwLnZhdWx0XG4gICAgICAgICAgLmdldEZpbGVzKClcbiAgICAgICAgICAuZmluZCgoZikgPT4gZi5wYXRoID09PSBjdHguc291cmNlUGF0aCk7XG4gICAgICAgIGFkZEJ1dHRvblRvU3RvcmUodGhpcy5hcHAsIGZpbGUpO1xuICAgICAgICBsZXQgYXJncyA9IGNyZWF0ZUFyZ3VtZW50T2JqZWN0KHNvdXJjZSk7XG4gICAgICAgIGNvbnN0IHN0b3JlQXJncyA9IGF3YWl0IGdldEJ1dHRvbkZyb21TdG9yZSh0aGlzLmFwcCwgYXJncyk7XG4gICAgICAgIGFyZ3MgPSBzdG9yZUFyZ3MgPyBzdG9yZUFyZ3MuYXJncyA6IGFyZ3M7XG4gICAgICAgIGNvbnN0IGlkID0gc3RvcmVBcmdzICYmIHN0b3JlQXJncy5pZDtcbiAgICAgICAgY3JlYXRlQnV0dG9uKHsgYXBwOiB0aGlzLmFwcCwgZWwsIGFyZ3MsIGlubGluZTogZmFsc2UsIGlkIH0pO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyTWFya2Rvd25Qb3N0UHJvY2Vzc29yKGFzeW5jIChlbCwgY3R4KSA9PiB7XG4gICAgICAvLyBTZWFyY2ggZm9yIDxjb2RlPiBibG9ja3MgaW5zaWRlIHRoaXMgZWxlbWVudDsgZm9yIGVhY2ggb25lLCBsb29rIGZvciB0aGluZ3Mgb2YgdGhlIGZvcm0gYFxuICAgICAgY29uc3QgY29kZWJsb2NrcyA9IGVsLnF1ZXJ5U2VsZWN0b3JBbGwoXCJjb2RlXCIpO1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNvZGVibG9ja3MubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGNvZGVibG9jayA9IGNvZGVibG9ja3MuaXRlbShpbmRleCk7XG4gICAgICAgIGNvbnN0IHRleHQgPSBjb2RlYmxvY2suaW5uZXJUZXh0LnRyaW0oKTtcbiAgICAgICAgaWYgKHRleHQuc3RhcnRzV2l0aChcImJ1dHRvblwiKSkge1xuICAgICAgICAgIGNvbnN0IGlkID0gdGV4dC5zcGxpdChcImJ1dHRvbi1cIilbMV0udHJpbSgpO1xuICAgICAgICAgIGlmICh0aGlzLmluZGV4Q291bnQgPCAyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlRXZlbnRzUmVmID0gdGhpcy5zdG9yZUV2ZW50cy5vbihcbiAgICAgICAgICAgICAgXCJpbmRleC1jb21wbGV0ZVwiLFxuICAgICAgICAgICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRleENvdW50Kys7XG4gICAgICAgICAgICAgICAgY29uc3QgYXJncyA9IGF3YWl0IGdldEJ1dHRvbkJ5SWQodGhpcy5hcHAsIGlkKTtcbiAgICAgICAgICAgICAgICBpZiAoYXJncykge1xuICAgICAgICAgICAgICAgICAgY3R4LmFkZENoaWxkKG5ldyBJbmxpbmVCdXR0b24oY29kZWJsb2NrLCB0aGlzLmFwcCwgYXJncywgaWQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGFyZ3MgPSBhd2FpdCBnZXRCdXR0b25CeUlkKHRoaXMuYXBwLCBpZCk7XG4gICAgICAgICAgICBpZiAoYXJncykge1xuICAgICAgICAgICAgICBjdHguYWRkQ2hpbGQobmV3IElubGluZUJ1dHRvbihjb2RlYmxvY2ssIHRoaXMuYXBwLCBhcmdzLCBpZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIG9udW5sb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuYXBwLm1ldGFkYXRhQ2FjaGUub2ZmcmVmKHRoaXMuYnV0dG9uRXZlbnRzKTtcbiAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub2ZmcmVmKHRoaXMuY2xvc2VkRmlsZSk7XG4gICAgdGhpcy5hcHAud29ya3NwYWNlLm9mZnJlZih0aGlzLmJ1dHRvbkVkaXQpO1xuICAgIHRoaXMuc3RvcmVFdmVudHMub2ZmcmVmKHRoaXMuc3RvcmVFdmVudHNSZWYpO1xuICB9XG59XG5cbmNsYXNzIElubGluZUJ1dHRvbiBleHRlbmRzIE1hcmtkb3duUmVuZGVyQ2hpbGQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEhUTUxFbGVtZW50LFxuICAgIHB1YmxpYyBhcHA6IEFwcCxcbiAgICBwdWJsaWMgYXJnczogQXJndW1lbnRzLFxuICAgIHB1YmxpYyBpZDogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKGVsKTtcbiAgfVxuICBhc3luYyBvbmxvYWQoKSB7XG4gICAgY29uc3QgYnV0dG9uID0gY3JlYXRlQnV0dG9uKHtcbiAgICAgIGFwcDogdGhpcy5hcHAsXG4gICAgICBlbDogdGhpcy5lbCxcbiAgICAgIGFyZ3M6IHRoaXMuYXJncyxcbiAgICAgIGlubGluZTogdHJ1ZSxcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgIH0pO1xuICAgIHRoaXMuZWwucmVwbGFjZVdpdGgoYnV0dG9uKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk1hcmtkb3duVmlldyIsIk5vdGljZSIsIk1leHAiLCJtZXhwIiwiZWZmZWN0IiwibWluIiwibWF4IiwibWF0aE1heCIsIm1hdGhNaW4iLCJoYXNoIiwiYWxsUGxhY2VtZW50cyIsInBsYWNlbWVudHMiLCJwb3BwZXJPZmZzZXRzIiwiY29tcHV0ZVN0eWxlcyIsImFwcGx5U3R5bGVzIiwib2Zmc2V0IiwiZmxpcCIsInByZXZlbnRPdmVyZmxvdyIsImFycm93IiwiaGlkZSIsIlNjb3BlIiwiVEZpbGUiLCJNb2RhbCIsIlNldHRpbmciLCJQbHVnaW4iLCJFdmVudHMiLCJNYXJrZG93blJlbmRlckNoaWxkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxJQUFJLFdBQWlDLENBQUM7QUFFL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFpQixLQUN4QyxRQUFRLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBRWhFLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxHQUFRLEVBQUUsV0FBbUI7SUFDakUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzNDLE1BQU0sU0FBUyxHQUFHLEtBQUs7U0FDcEIsR0FBRyxDQUFDLENBQUMsSUFBSTtRQUNSLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3RDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxLQUFLLFNBQVMsQ0FBQztTQUNsQyxJQUFJLEVBQUUsQ0FBQztJQUNWLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzRCxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQUM7QUFFSyxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBUSxFQUFFLElBQVc7SUFDcEQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsS0FB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QUMsSUFBSSxHQUFHO0FBQ1osRUFBRSxRQUFRLEVBQUUsSUFBSTtBQUNoQixFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtBQUNyQixJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdFLEdBQUc7QUFDSCxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdkIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDO0FBQ2hCLEdBQUc7QUFDSCxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtBQUNyQixJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdFLEdBQUc7QUFDSCxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtBQUNyQixJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdFLEdBQUc7QUFDSCxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRTtBQUN0QixJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzdDLEdBQUc7QUFDSCxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRTtBQUN0QixJQUFJLE9BQU8s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SyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUVBLGFBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQzdELENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3BELENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQy9DLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQy9DLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUVBLGFBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO0FBQ3hELENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUVBLGFBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO0FBQ3hELENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRTtBQUN2RCxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUNoRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUNoRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUNoRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUMvQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7QUFDMUQsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDaEUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7QUFDbkUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ3ZELENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNyRCxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDM0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDaEUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDMUQsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDaEUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7QUFDbkUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDL0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDL0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDaEUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7QUFDbkUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDOUQsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0MsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDekQsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDekQsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDaEQsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7QUFDdEUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDaEQsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRUEsYUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7QUFDN0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRTtBQUM5RSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxhQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUN6RCxFQUFDO0FBQ0QsSUFBSSxNQUFNLEdBQUc7QUFDYixDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ04sQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDTCxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDTCxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNOLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDTixDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ0wsQ0FBQyxFQUFFLEVBQUUsRUFBRTtBQUNQLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDTixDQUFDLEVBQUUsRUFBRSxFQUFFO0FBQ1AsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNOLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNQLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFDUCxFQUFDO0FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDeEMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDO0FBQzlDLENBQUM7QUFDRCxJQUFJLEtBQUssR0FBRztBQUNaLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsRUFBQztBQUNELElBQUksS0FBSyxHQUFHO0FBQ1osQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsRUFBQztBQUNELElBQUksYUFBYSxHQUFHO0FBQ3BCLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxFQUFDO0FBQ0QsSUFBSSxLQUFLLEdBQUcsR0FBRTtBQUNkLElBQUksYUFBYSxHQUFHO0FBQ3BCLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1IsQ0FBQyxDQUFDLEVBQUUsSUFBSTtBQUNSLENBQUMsRUFBRSxFQUFFLElBQUk7QUFDVCxDQUFDLEVBQUUsRUFBRSxJQUFJO0FBQ1QsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNULEVBQUM7QUFDRCxJQUFJLEtBQUssR0FBRztBQUNaLENBQUMsQ0FBQyxFQUFFLElBQUk7QUFDUixFQUFDO0FBQ0QsSUFBSSxLQUFLLEdBQUc7QUFDWixDQUFDLEVBQUU7QUFDSCxDQUFDO0FBQ0QsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRSxHQUFHO0FBQ0wsRUFBRTtBQUNGLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUks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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFDO0FBQzVDLElBQUksS0FBSztBQUNULElBQUk7QUFDSixHQUFHO0FBQ0gsRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRTtBQUNuQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDO0FBQzVCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQztBQUN0RCxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtBQUNsRCxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUU7QUFDekMsSUFBSTtBQUNKLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUM7QUFDNUQsR0FBRyxNQUFNO0FBQ1Q7QUFDQSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUFDO0FBQzlCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQztBQUN0RCxHQUFHO0FBQ0gsRUFBRTtBQUNGLEVBQUM7QUFDRDtBQUNBLFNBQVMsWUFBWSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUU7QUFDbkMsQ0FBQyxLQUFLLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtBQUN4RCxFQUFFLElBQUksTUFBTSxDQUFD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QUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDdEMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBQztBQUMvQyxHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtBQUNoQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUM7QUFDNUQsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDaEMsR0FBRyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtBQUM1RCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDO0FBQzlDLElBQUksTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUM7QUFDckYsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDaEMsR0FBRyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtBQUM1RCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDO0FBQzlDLElBQUksTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUM7QUFDckYsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDaEMsR0FBRyxJQUFJLE1BQU0sR0FBRyxHQUFFO0FBQ2xCLEdBQUcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN0RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBQztBQUNsQyxJQUFJO0FBQ0osR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUM7QUFDL0UsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7QUFDakMsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRTtB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RSxDQUFDO0FBQzNCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLEdBQUc7QUFDSCxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDMUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoSSxHQUFHO0FBQ0gsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQzFCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RKLEdBQUc7QUFDSCxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7QUFDM0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ25CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNuQixHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUksUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckgsR0FBRztBQUNILE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUMzQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ25CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2pLLEdBQUc7QUFDSCxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7QUFDM0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ25CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNuQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNGLEdBQUc7QUFDSCxFQUFFO0FBQ0YsQ0FB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 diff --git a/.obsidian/plugins/buttons/manifest.json b/.obsidian/plugins/buttons/manifest.json index e8dd2655..b7aafebe 100644 --- a/.obsidian/plugins/buttons/manifest.json +++ b/.obsidian/plugins/buttons/manifest.json @@ -2,7 +2,7 @@ "id": "buttons", "name": "Buttons", "description": "Create Buttons in your Obsidian notes to run commands, open links, and insert templates", - "version": "0.4.18", + "version": "0.4.19", "author": "shabegom", "authorUrl": "https://shbgm.ca", "isDesktopOnly": false, diff --git a/.obsidian/plugins/buttons/styles.css b/.obsidian/plugins/buttons/styles.css index 6bdeafa4..90278ebf 100644 --- a/.obsidian/plugins/buttons/styles.css +++ b/.obsidian/plugins/buttons/styles.css @@ -87,6 +87,12 @@ button.button-default:hover { transform: translate3d(0px, -1.5px, 0px); } +button.button-inline { + width: unset; + height: unset; + padding: 0 8px; +} + button.blue { background: #76b3fa; color: black; diff --git a/.obsidian/plugins/customizable-page-header-buttons/data.json b/.obsidian/plugins/customizable-page-header-buttons/data.json index b2f6e375..7be24348 100644 --- a/.obsidian/plugins/customizable-page-header-buttons/data.json +++ b/.obsidian/plugins/customizable-page-header-buttons/data.json @@ -41,12 +41,6 @@ "icon": "lucide-bookmark", "name": "Auto Card Link: Paste URL and enhance to card link", "showButtons": "both" - }, - { - "id": "daily-notes", - "icon": "lucide-calendar-days", - "name": "Daily notes: Open today's daily note", - "showButtons": "both" } ], "desktop": false, diff --git a/.obsidian/plugins/obsidian-activity-history/data.json b/.obsidian/plugins/obsidian-activity-history/data.json index f460675f..7eda4576 100644 --- a/.obsidian/plugins/obsidian-activity-history/data.json +++ b/.obsidian/plugins/obsidian-activity-history/data.json @@ -12,8 +12,8 @@ "checkpointList": [ { "path": "/", - "date": "2022-10-26", - "size": 8146882 + "date": "2022-10-30", + "size": 8552763 } ], "activityHistory": [ @@ -1179,6 +1179,22 @@ { "date": "2022-10-26", "value": 3112 + }, + { + "date": "2022-10-27", + "value": 46494 + }, + { + "date": "2022-10-28", + "value": 254378 + }, + { + "date": "2022-10-29", + "value": 7394 + }, + { + "date": "2022-10-30", + "value": 97773 } ] } diff --git a/.obsidian/plugins/obsidian-chat-view/main.js b/.obsidian/plugins/obsidian-chat-view/main.js deleted file mode 100644 index 0cc2e88f..00000000 --- a/.obsidian/plugins/obsidian-chat-view/main.js +++ /dev/null @@ -1,642 +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 __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -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()); - }); -}; - -// node_modules/node-webvtt/lib/parser.js -var require_parser = __commonJS({ - "node_modules/node-webvtt/lib/parser.js"(exports, module2) { - "use strict"; - function ParserError(message, error) { - this.message = message; - this.error = error; - } - ParserError.prototype = Object.create(Error.prototype); - var TIMESTAMP_REGEXP = /([0-9]{1,2})?:?([0-9]{2}):([0-9]{2}\.[0-9]{2,3})/; - function parse2(input, options) { - if (!options) { - options = {}; - } - const { meta = false, strict = true } = options; - if (typeof input !== "string") { - throw new ParserError("Input must be a string"); - } - input = input.trim(); - input = input.replace(/\r\n/g, "\n"); - input = input.replace(/\r/g, "\n"); - const parts = input.split("\n\n"); - const header = parts.shift(); - if (!header.startsWith("WEBVTT")) { - throw new ParserError('Must start with "WEBVTT"'); - } - const headerParts = header.split("\n"); - const headerComments = headerParts[0].replace("WEBVTT", ""); - if (headerComments.length > 0 && (headerComments[0] !== " " && headerComments[0] !== " ")) { - throw new ParserError("Header comment must start with space or tab"); - } - if (parts.length === 0 && headerParts.length === 1) { - return { valid: true, strict, cues: [], errors: [] }; - } - if (!meta && headerParts.length > 1 && headerParts[1] !== "") { - throw new ParserError("Missing blank line after signature"); - } - const { cues, errors } = parseCues(parts, strict); - if (strict && errors.length > 0) { - throw errors[0]; - } - const headerMeta = meta ? parseMeta(headerParts) : null; - const result = { valid: errors.length === 0, strict, cues, errors }; - if (meta) { - result.meta = headerMeta; - } - return result; - } - function parseMeta(headerParts) { - const meta = {}; - headerParts.slice(1).forEach((header) => { - const splitIdx = header.indexOf(":"); - const key = header.slice(0, splitIdx).trim(); - const value = header.slice(splitIdx + 1).trim(); - meta[key] = value; - }); - return Object.keys(meta).length > 0 ? meta : null; - } - function parseCues(cues, strict) { - const errors = []; - const parsedCues = cues.map((cue, i) => { - try { - return parseCue(cue, i, strict); - } catch (e) { - errors.push(e); - return null; - } - }).filter(Boolean); - return { - cues: parsedCues, - errors - }; - } - function parseCue(cue, i, strict) { - let identifier = ""; - let start = 0; - let end = 0.01; - let text = ""; - let styles = ""; - const lines = cue.split("\n").filter(Boolean); - if (lines.length > 0 && lines[0].trim().startsWith("NOTE")) { - return null; - } - if (lines.length === 1 && !lines[0].includes("-->")) { - throw new ParserError(`Cue identifier cannot be standalone (cue #${i})`); - } - if (lines.length > 1 && !(lines[0].includes("-->") || lines[1].includes("-->"))) { - const msg = `Cue identifier needs to be followed by timestamp (cue #${i})`; - throw new ParserError(msg); - } - if (lines.length > 1 && lines[1].includes("-->")) { - identifier = lines.shift(); - } - const times = typeof lines[0] === "string" && lines[0].split(" --> "); - if (times.length !== 2 || !validTimestamp(times[0]) || !validTimestamp(times[1])) { - throw new ParserError(`Invalid cue timestamp (cue #${i})`); - } - start = parseTimestamp(times[0]); - end = parseTimestamp(times[1]); - if (strict) { - if (start > end) { - throw new ParserError(`Start timestamp greater than end (cue #${i})`); - } - if (end <= start) { - throw new ParserError(`End must be greater than start (cue #${i})`); - } - } - if (!strict && end < start) { - throw new ParserError(`End must be greater or equal to start when not strict (cue #${i})`); - } - styles = times[1].replace(TIMESTAMP_REGEXP, "").trim(); - lines.shift(); - text = lines.join("\n"); - if (!text) { - return false; - } - return { identifier, start, end, text, styles }; - } - function validTimestamp(timestamp) { - return TIMESTAMP_REGEXP.test(timestamp); - } - function parseTimestamp(timestamp) { - const matches = timestamp.match(TIMESTAMP_REGEXP); - let secs = parseFloat(matches[1] || 0) * 60 * 60; - secs += parseFloat(matches[2]) * 60; - secs += parseFloat(matches[3]); - return secs; - } - module2.exports = { ParserError, parse: parse2 }; - } -}); - -// node_modules/node-webvtt/lib/compiler.js -var require_compiler = __commonJS({ - "node_modules/node-webvtt/lib/compiler.js"(exports, module2) { - "use strict"; - function CompilerError(message, error) { - this.message = message; - this.error = error; - } - CompilerError.prototype = Object.create(Error.prototype); - function compile(input) { - if (!input) { - throw new CompilerError("Input must be non-null"); - } - if (typeof input !== "object") { - throw new CompilerError("Input must be an object"); - } - if (Array.isArray(input)) { - throw new CompilerError("Input cannot be array"); - } - if (!input.valid) { - throw new CompilerError("Input must be valid"); - } - let output = "WEBVTT\n"; - if (input.meta) { - if (typeof input.meta !== "object" || Array.isArray(input.meta)) { - throw new CompilerError("Metadata must be an object"); - } - Object.entries(input.meta).forEach((i) => { - if (typeof i[1] !== "string") { - throw new CompilerError(`Metadata value for "${i[0]}" must be string`); - } - output += `${i[0]}: ${i[1]} -`; - }); - } - let lastTime = null; - input.cues.forEach((cue, index) => { - if (lastTime && lastTime > cue.start) { - throw new CompilerError(`Cue number ${index} is not in chronological order`); - } - lastTime = cue.start; - output += "\n"; - output += compileCue(cue); - output += "\n"; - }); - return output; - } - function compileCue(cue) { - if (typeof cue !== "object") { - throw new CompilerError("Cue malformed: not of type object"); - } - if (typeof cue.identifier !== "string" && typeof cue.identifier !== "number" && cue.identifier !== null) { - throw new CompilerError(`Cue malformed: identifier value is not a string. - ${JSON.stringify(cue)}`); - } - if (isNaN(cue.start)) { - throw new CompilerError(`Cue malformed: null start value. - ${JSON.stringify(cue)}`); - } - if (isNaN(cue.end)) { - throw new CompilerError(`Cue malformed: null end value. - ${JSON.stringify(cue)}`); - } - if (cue.start >= cue.end) { - throw new CompilerError(`Cue malformed: start timestamp greater than end - ${JSON.stringify(cue)}`); - } - if (typeof cue.text !== "string") { - throw new CompilerError(`Cue malformed: null text value. - ${JSON.stringify(cue)}`); - } - if (typeof cue.styles !== "string") { - throw new CompilerError(`Cue malformed: null styles value. - ${JSON.stringify(cue)}`); - } - let output = ""; - if (cue.identifier.length > 0) { - output += `${cue.identifier} -`; - } - const startTimestamp = convertTimestamp(cue.start); - const endTimestamp = convertTimestamp(cue.end); - output += `${startTimestamp} --> ${endTimestamp}`; - output += cue.styles ? ` ${cue.styles}` : ""; - output += ` -${cue.text}`; - return output; - } - function convertTimestamp(time) { - const hours = pad(calculateHours(time), 2); - const minutes = pad(calculateMinutes(time), 2); - const seconds = pad(calculateSeconds(time), 2); - const milliseconds = pad(calculateMs(time), 3); - return `${hours}:${minutes}:${seconds}.${milliseconds}`; - } - function pad(num, zeroes) { - let output = `${num}`; - while (output.length < zeroes) { - output = `0${output}`; - } - return output; - } - function calculateHours(time) { - return Math.floor(time / 60 / 60); - } - function calculateMinutes(time) { - return Math.floor(time / 60) % 60; - } - function calculateSeconds(time) { - return Math.floor(time % 60); - } - function calculateMs(time) { - return Math.floor((time % 1).toFixed(4) * 1e3); - } - module2.exports = { CompilerError, compile }; - } -}); - -// node_modules/node-webvtt/lib/segmenter.js -var require_segmenter = __commonJS({ - "node_modules/node-webvtt/lib/segmenter.js"(exports, module2) { - "use strict"; - var parse2 = require_parser().parse; - function segment(input, segmentLength) { - segmentLength = segmentLength || 10; - const parsed = parse2(input); - const segments = []; - let cues = []; - let queuedCue = null; - let currentSegmentDuration = 0; - let totalSegmentsDuration = 0; - parsed.cues.forEach((cue, i) => { - const firstCue = i === 0; - const lastCue = i === parsed.cues.length - 1; - const start = cue.start; - const end = cue.end; - const nextStart = lastCue ? Infinity : parsed.cues[i + 1].start; - const cueLength = firstCue ? end : end - start; - const silence = firstCue ? 0 : start - parsed.cues[i - 1].end; - currentSegmentDuration = currentSegmentDuration + cueLength + silence; - debug("------------"); - debug(`Cue #${i}, segment #${segments.length + 1}`); - debug(`Start ${start}`); - debug(`End ${end}`); - debug(`Length ${cueLength}`); - debug(`Total segment duration = ${totalSegmentsDuration}`); - debug(`Current segment duration = ${currentSegmentDuration}`); - debug(`Start of next = ${nextStart}`); - if (queuedCue) { - cues.push(queuedCue); - currentSegmentDuration += queuedCue.end - totalSegmentsDuration; - queuedCue = null; - } - cues.push(cue); - let shouldQueue = nextStart - end < segmentLength && silence < segmentLength && currentSegmentDuration > segmentLength; - if (shouldSegment(totalSegmentsDuration, segmentLength, nextStart, silence)) { - const duration = segmentDuration(lastCue, end, segmentLength, currentSegmentDuration, totalSegmentsDuration); - segments.push({ duration, cues }); - totalSegmentsDuration += duration; - currentSegmentDuration = 0; - cues = []; - } else { - shouldQueue = false; - } - if (shouldQueue) { - queuedCue = cue; - } - }); - return segments; - } - function shouldSegment(total, length, nextStart, silence) { - const x = alignToSegmentLength(silence, length); - const nextCueIsInNextSegment = silence <= length || x + total < nextStart; - return nextCueIsInNextSegment && nextStart - total >= length; - } - function segmentDuration(lastCue, end, length, currentSegment, totalSegments) { - let duration = length; - if (currentSegment > length) { - duration = alignToSegmentLength(currentSegment - length, length); - } - if (lastCue) { - duration = parseFloat((end - totalSegments).toFixed(2)); - } else { - duration = Math.round(duration); - } - return duration; - } - function alignToSegmentLength(n, segmentLength) { - n += segmentLength - n % segmentLength; - return n; - } - var debugging = false; - function debug(m) { - if (debugging) { - console.log(m); - } - } - module2.exports = { segment }; - } -}); - -// node_modules/node-webvtt/lib/hls.js -var require_hls = __commonJS({ - "node_modules/node-webvtt/lib/hls.js"(exports, module2) { - "use strict"; - var segment = require_segmenter().segment; - function hlsSegment(input, segmentLength, startOffset) { - if (typeof startOffset === "undefined") { - startOffset = "900000"; - } - const segments = segment(input, segmentLength); - const result = []; - segments.forEach((seg, i) => { - const content = `WEBVTT -X-TIMESTAMP-MAP=MPEGTS:${startOffset},LOCAL:00:00:00.000 - -${printableCues(seg.cues)} -`; - const filename = generateSegmentFilename(i); - result.push({ filename, content }); - }); - return result; - } - function hlsSegmentPlaylist(input, segmentLength) { - const segmented = segment(input, segmentLength); - const printable = printableSegments(segmented); - const longestSegment = Math.round(findLongestSegment(segmented)); - const template = `#EXTM3U -#EXT-X-TARGETDURATION:${longestSegment} -#EXT-X-VERSION:3 -#EXT-X-MEDIA-SEQUENCE:0 -#EXT-X-PLAYLIST-TYPE:VOD -${printable} -#EXT-X-ENDLIST -`; - return template; - } - function pad(num, n) { - const padding = "0".repeat(Math.max(0, n - num.toString().length)); - return `${padding}${num}`; - } - function generateSegmentFilename(index) { - return `${index}.vtt`; - } - function printableSegments(segments) { - const result = []; - segments.forEach((seg, i) => { - result.push(`#EXTINF:${seg.duration.toFixed(5)}, -${generateSegmentFilename(i)}`); - }); - return result.join("\n"); - } - function findLongestSegment(segments) { - let max = 0; - segments.forEach((seg) => { - if (seg.duration > max) { - max = seg.duration; - } - }); - return max; - } - function printableCues(cues) { - const result = []; - cues.forEach((cue) => { - result.push(printableCue(cue)); - }); - return result.join("\n\n"); - } - function printableCue(cue) { - const printable = []; - if (cue.identifier) { - printable.push(cue.identifier); - } - const start = printableTimestamp(cue.start); - const end = printableTimestamp(cue.end); - const styles = cue.styles ? `${cue.styles}` : ""; - printable.push(`${start} --> ${end} ${styles}`); - printable.push(cue.text); - return printable.join("\n"); - } - function printableTimestamp(timestamp) { - const ms = (timestamp % 1).toFixed(3); - timestamp = Math.round(timestamp - ms); - const hours = Math.floor(timestamp / 3600); - const mins = Math.floor((timestamp - hours * 3600) / 60); - const secs = timestamp - hours * 3600 - mins * 60; - const hourString = `${pad(hours, 2)}:`; - return `${hourString}${pad(mins, 2)}:${pad(secs, 2)}.${pad(ms * 1e3, 3)}`; - } - module2.exports = { hlsSegment, hlsSegmentPlaylist }; - } -}); - -// node_modules/node-webvtt/index.js -var require_node_webvtt = __commonJS({ - "node_modules/node-webvtt/index.js"(exports, module2) { - "use strict"; - var parse2 = require_parser().parse; - var compile = require_compiler().compile; - var segment = require_segmenter().segment; - var hls = require_hls(); - module2.exports = { parse: parse2, compile, segment, hls }; - } -}); - -// main.ts -__export(exports, { - default: () => ChatViewPlugin -}); -var import_obsidian = __toModule(require("obsidian")); -var webvtt = __toModule(require_node_webvtt()); -var KEYMAP = { ">": "right", "<": "left", "^": "center" }; -var CONFIGS = { - "header": ["h2", "h3", "h4", "h5", "h6"], - "mw": ["50", "55", "60", "65", "70", "75", "80", "85", "90"], - "mode": ["default", "minimal"] -}; -var COLORS = [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple", - "grey", - "brown", - "indigo", - "teal", - "pink", - "slate", - "wood" -]; -var _ChatPatterns = class { -}; -var ChatPatterns = _ChatPatterns; -ChatPatterns.message = /(^>|<|\^)/; -ChatPatterns.delimiter = /.../; -ChatPatterns.comment = /^#/; -ChatPatterns.colors = /\[(.*?)\]/; -ChatPatterns.format = /{(.*?)}/; -ChatPatterns.joined = RegExp([_ChatPatterns.message, _ChatPatterns.delimiter, _ChatPatterns.colors, _ChatPatterns.comment, _ChatPatterns.format].map((pattern) => pattern.source).join("|")); -ChatPatterns.voice = /]+)>([^<]+)<\/v>/; -var ChatViewPlugin = class extends import_obsidian.Plugin { - onload() { - return __async(this, null, function* () { - this.registerMarkdownCodeBlockProcessor("chat-webvtt", (source, el, _) => { - const vtt = webvtt.parse(source, { meta: true }); - const messages = []; - const self = vtt.meta && "Self" in vtt.meta ? vtt.meta.Self : void 0; - const selves = self ? self.split(",").map((val) => val.trim()) : void 0; - const formatConfigs = new Map(); - const maxWidth = vtt.meta && "MaxWidth" in vtt.meta ? vtt.meta.MaxWidth : void 0; - const headerConfig = vtt.meta && "Header" in vtt.meta ? vtt.meta.Header : void 0; - const modeConfig = vtt.meta && "Mode" in vtt.meta ? vtt.meta.Mode : void 0; - if (CONFIGS["mw"].contains(maxWidth)) - formatConfigs.set("mw", maxWidth); - if (CONFIGS["header"].contains(headerConfig)) - formatConfigs.set("header", headerConfig); - if (CONFIGS["mode"].contains(modeConfig)) - formatConfigs.set("mode", modeConfig); - console.log(formatConfigs); - for (let index = 0; index < vtt.cues.length; index++) { - const cue = vtt.cues[index]; - const start = (0, import_obsidian.moment)(Math.round(cue.start * 1e3)).format("HH:mm:ss.SSS"); - const end = (0, import_obsidian.moment)(Math.round(cue.end * 1e3)).format("HH:mm:ss.SSS"); - if (ChatPatterns.voice.test(cue.text)) { - const matches = cue.text.match(ChatPatterns.voice); - messages.push({ header: matches[1], body: matches[2], subtext: `${start} to ${end}` }); - } else { - messages.push({ header: "", body: cue.text, subtext: `${start} to ${end}` }); - } - } - const headers = messages.map((message) => message.header); - const uniqueHeaders = new Set(headers); - uniqueHeaders.delete(""); - console.log(messages); - console.log(uniqueHeaders); - const colorConfigs = new Map(); - Array.from(uniqueHeaders).forEach((h, i) => colorConfigs.set(h, COLORS[i % COLORS.length])); - console.log(colorConfigs); - messages.forEach((message, index, arr) => { - const prevHeader = index > 0 ? arr[index - 1].header : ""; - const align = selves && selves.contains(message.header) ? "right" : "left"; - const continued = message.header === prevHeader; - this.createChatBubble(continued ? "" : message.header, prevHeader, message.body, message.subtext, align, el, continued, colorConfigs, formatConfigs); - }); - }); - this.registerMarkdownCodeBlockProcessor("chat", (source, el, _) => { - const rawLines = source.split("\n").filter((line) => ChatPatterns.joined.test(line.trim())); - const lines = rawLines.map((rawLine) => rawLine.trim()); - const formatConfigs = new Map(); - const colorConfigs = new Map(); - for (const line of lines) { - if (ChatPatterns.format.test(line)) { - const configs = line.replace("{", "").replace("}", "").split(",").map((l) => l.trim()); - for (const config of configs) { - const [k, v] = config.split("=").map((c) => c.trim()); - if (Object.keys(CONFIGS).contains(k) && CONFIGS[k].contains(v)) - formatConfigs.set(k, v); - } - } else if (ChatPatterns.colors.test(line)) { - const configs = line.replace("[", "").replace("]", "").split(",").map((l) => l.trim()); - for (const config of configs) { - const [k, v] = config.split("=").map((c) => c.trim()); - if (k.length > 0 && COLORS.contains(v)) - colorConfigs.set(k, v); - } - } - } - let continuedCount = 0; - for (let index = 0; index < lines.length; index++) { - const line = lines[index].trim(); - if (ChatPatterns.comment.test(line)) { - el.createEl("p", { text: line.substring(1).trim(), cls: ["chat-view-comment"] }); - } else if (line === "...") { - const delimiter = el.createDiv({ cls: ["delimiter"] }); - for (let i = 0; i < 3; i++) - delimiter.createDiv({ cls: ["dot"] }); - } else if (ChatPatterns.message.test(line)) { - const components = line.substring(1).split("|"); - if (components.length > 0) { - const first = components[0]; - const header = components.length > 1 ? first.trim() : ""; - const message = components.length > 1 ? components[1].trim() : first.trim(); - const subtext = components.length > 2 ? components[2].trim() : ""; - const continued = index > 0 && line.charAt(0) === lines[index - 1].charAt(0) && header === ""; - let prevHeader = ""; - if (continued) { - continuedCount++; - const prevComponents = lines[index - continuedCount].trim().substring(1).split("|"); - prevHeader = prevComponents[0].length > 1 ? prevComponents[0].trim() : ""; - } else { - continuedCount = 0; - } - this.createChatBubble(header, prevHeader, message, subtext, KEYMAP[line.charAt(0)], el, continued, colorConfigs, formatConfigs); - } - } - } - }); - }); - } - createChatBubble(header, prevHeader, message, subtext, align, element, continued, colorConfigs, formatConfigs) { - const marginClass = continued ? "chat-view-small-vertical-margin" : "chat-view-default-vertical-margin"; - const colorConfigClass = `chat-view-${colorConfigs.get(continued ? prevHeader : header)}`; - const widthClass = formatConfigs.has("mw") ? `chat-view-max-width-${formatConfigs.get("mw")}` : import_obsidian.Platform.isMobile ? "chat-view-mobile-width" : "chat-view-desktop-width"; - const modeClass = `chat-view-bubble-mode-${formatConfigs.has("mode") ? formatConfigs.get("mode") : "default"}`; - const headerEl = formatConfigs.has("header") ? formatConfigs.get("header") : "h4"; - const bubble = element.createDiv({ - cls: ["chat-view-bubble", `chat-view-align-${align}`, marginClass, colorConfigClass, widthClass, modeClass] - }); - if (header.length > 0) - bubble.createEl(headerEl, { text: header, cls: ["chat-view-header"] }); - if (message.length > 0) - bubble.createEl("p", { text: message, cls: ["chat-view-message"] }); - if (subtext.length > 0) - bubble.createEl("sub", { text: subtext, cls: ["chat-view-subtext"] }); - } -}; diff --git a/.obsidian/plugins/obsidian-chat-view/manifest.json b/.obsidian/plugins/obsidian-chat-view/manifest.json deleted file mode 100644 index 643e1ed3..00000000 --- a/.obsidian/plugins/obsidian-chat-view/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "obsidian-chat-view", - "name": "Chat View", - "version": "1.2.0", - "minAppVersion": "0.12.0", - "description": "Chat View enables you to create elegant Chat UIs in your Obsidian markdown files. It also supports the WebVTT format.", - "author": "Aditya Majethia", - "isDesktopOnly": false -} diff --git a/.obsidian/plugins/obsidian-chat-view/styles.css b/.obsidian/plugins/obsidian-chat-view/styles.css deleted file mode 100644 index 163afae6..00000000 --- a/.obsidian/plugins/obsidian-chat-view/styles.css +++ /dev/null @@ -1,200 +0,0 @@ -:root { - --opacity: 0.6; - --line-height: 1.8; - --line-height-minimal: 1.6; -} - -div.chat-view-bubble-mode-default>h2.chat-view-header, -div.chat-view-bubble-mode-default>h3.chat-view-header, -div.chat-view-bubble-mode-default>h4.chat-view-header, -div.chat-view-bubble-mode-default>h5.chat-view-header, -div.chat-view-bubble-mode-default>h6.chat-view-header { - margin: 0; - margin-bottom: 8px; -} - -div.chat-view-bubble-mode-minimal>h2.chat-view-header, -div.chat-view-bubble-mode-minimal>h3.chat-view-header, -div.chat-view-bubble-mode-minimal>h4.chat-view-header, -div.chat-view-bubble-mode-minimal>h5.chat-view-header, -div.chat-view-bubble-mode-minimal>h6.chat-view-header { - margin: 0; - margin-bottom: 4px; -} - -div.chat-view-bubble-mode-default>p.chat-view-message { - margin: 0; - margin-bottom: 2px; - line-height: var(--line-height); -} - -div.chat-view-bubble-mode-minimal>p.chat-view-message { - margin: 0; - line-height: var(--line-height-minimal); -} - -sub.chat-view-subtext { - opacity: var(--opacity); -} - -.chat-view-comment { - width: fit-content; - max-width: 90%; - margin: 24px auto; - line-height: var(--line-height); - text-align: center; - opacity: var(--opacity); -} - -div.chat-view-bubble { - width: fit-content; - min-width: 30%; -} - -div.chat-view-bubble-mode-default { - padding: 12px; - background-color: rgba(0, 0, 0, 0.075); - border: 2px solid rgba(255, 255, 255, 0.15); - border-radius: 16px; -} - -div.chat-view-bubble-mode-minimal { - padding: 4px 0px; - background-color: transparent; -} - -.chat-view-mobile-width { - max-width: 85%; -} - -.chat-view-desktop-width { - max-width: 75%; -} - -.chat-view-max-width-50 { - max-width: 50%; -} - -.chat-view-max-width-55 { - max-width: 55%; -} - -.chat-view-max-width-60 { - max-width: 60%; -} - -.chat-view-max-width-65 { - max-width: 65%; -} - -.chat-view-max-width-70 { - max-width: 70%; -} - -.chat-view-max-width-75 { - max-width: 75%; -} - -.chat-view-max-width-80 { - max-width: 80%; -} - -.chat-view-max-width-85 { - max-width: 85%; -} - -.chat-view-max-width-90 { - max-width: 90%; -} - -div.chat-view-default-vertical-margin { - margin-top: 18px; -} - -div.chat-view-small-vertical-margin { - margin-top: 12px; -} - -div.chat-view-align-left { - border-top-left-radius: 0; - margin-left: 0; - margin-right: auto; -} - -div.chat-view-align-right { - border-top-right-radius: 0; - margin-left: auto; - margin-right: 0; -} - -div.chat-view-align-center { - margin-left: auto; - margin-right: auto; -} - -div.delimiter { - width: fit-content; - margin: 24px auto; -} - -div.delimiter div.dot { - display: inline-block; - width: 6px; - height: 6px; - margin: 0px 4px; - border-radius: 60%; - background-color: currentColor; - opacity: var(--opacity); -} - -div.chat-view-blue>.chat-view-header { - color: #08F; -} - -div.chat-view-green>.chat-view-header { - color: #2B5; -} - -div.chat-view-yellow>.chat-view-header { - color: #ED0; -} - -div.chat-view-orange>.chat-view-header { - color: #F80; -} - -div.chat-view-red>.chat-view-header { - color: #F33; -} - -div.chat-view-purple>.chat-view-header { - color: #B2C; -} - -div.chat-view-grey>.chat-view-header { - color: #999; -} - -div.chat-view-brown .chat-view-header { - color: #A71; -} - -div.chat-view-indigo .chat-view-header { - color: #75F; -} - -div.chat-view-teal .chat-view-header { - color: #0AA; -} - -div.chat-view-pink .chat-view-header { - color: #F2A; -} - -div.chat-view-slate .chat-view-header { - color: #78A; -} - -div.chat-view-wood .chat-view-header { - color: #EE6a44; -} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-commits/data.json b/.obsidian/plugins/obsidian-commits/data.json index 8820113f..cbe8836f 100644 --- a/.obsidian/plugins/obsidian-commits/data.json +++ b/.obsidian/plugins/obsidian-commits/data.json @@ -1890,7 +1890,7 @@ "links": 1 }, "01.02 Home/Household.md": { - "size": 4285, + "size": 4836, "tags": 2, "links": 2 }, @@ -5955,7 +5955,7 @@ "links": 4 }, "00.08 Bookmarks/Bookmarks - Media.md": { - "size": 1121, + "size": 1532, "tags": 0, "links": 4 }, @@ -5965,9 +5965,9 @@ "links": 3 }, "00.08 Bookmarks/Bookmarks - Obsidian.md": { - "size": 7998, + "size": 11319, "tags": 0, - "links": 2 + "links": 3 }, "00.08 Bookmarks/Bookmarks - Selfhosted Apps.md": { "size": 5350, @@ -6407,27 +6407,27 @@ "00.03 News/Cuban missile crisis The man who saw too much - Deseret News.md": { "size": 24565, "tags": 5, - "links": 1 + "links": 2 }, "00.03 News/What Happened to Maya.md": { "size": 39778, "tags": 3, - "links": 1 + "links": 2 }, "00.03 News/How a Chinese American Gangster Transformed Money Laundering for Drug Cartels.md": { "size": 43013, "tags": 5, - "links": 1 + "links": 2 }, "00.03 News/The mysterious reappearance of China’s missing mega-influencer.md": { "size": 33838, "tags": 3, - "links": 1 + "links": 2 }, "00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md": { "size": 57710, "tags": 4, - "links": 1 + "links": 2 }, "00.01 Admin/Calendars/2022-10-25.md": { "size": 1212, @@ -6443,40 +6443,115 @@ "size": 1963, "tags": 1, "links": 1 + }, + "00.01 Admin/Calendars/2022-10-27.md": { + "size": 1212, + "tags": 0, + "links": 7 + }, + "00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md": { + "size": 43227, + "tags": 5, + "links": 2 + }, + "03.04 Cinematheque/Hail Caesar! (2016).md": { + "size": 2011, + "tags": 1, + "links": 1 + }, + "00.01 Admin/Calendars/2022-10-28.md": { + "size": 1212, + "tags": 0, + "links": 4 + }, + "00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md": { + "size": 252813, + "tags": 3, + "links": 3 + }, + "00.01 Admin/Calendars/2022-10-29.md": { + "size": 1212, + "tags": 0, + "links": 6 + }, + "03.02 Travels/New York.md": { + "size": 1844, + "tags": 2, + "links": 2 + }, + "00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md": { + "size": 292, + "tags": 0, + "links": 2 + }, + "00.01 Admin/Calendars/2022-10-30.md": { + "size": 1212, + "tags": 0, + "links": 7 + }, + "00.03 News/Liz Truss’ empty ambition put her in power — and shattered her.md": { + "size": 8224, + "tags": 3, + "links": 1 + }, + "00.03 News/The Story Matthew Perry Can’t Believe He Lived to Tell.md": { + "size": 28252, + "tags": 3, + "links": 1 + }, + "00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md": { + "size": 14034, + "tags": 4, + "links": 1 + }, + "00.03 News/What ‘The Trump Tapes’ reveal about Bob Woodward.md": { + "size": 12264, + "tags": 4, + "links": 1 + }, + "00.03 News/Mississippi's Welfare Mess—And America's.md": { + "size": 11740, + "tags": 3, + "links": 1 + }, + "00.03 News/The Night Warren Zevon Left the ‘Late Show’ Building.md": { + "size": 22425, + "tags": 3, + "links": 1 } }, "commitTypes": { "/": { - "Refactor": 1054, - "Create": 1041, - "Link": 2365, - "Expand": 976 + "Refactor": 1066, + "Create": 1057, + "Link": 2401, + "Expand": 985 } }, "dailyCommits": { "/": { - "0": 69, + "0": 71, "1": 29, "2": 21, "3": 11, "4": 16, "5": 9, "6": 57, - "7": 330, - "8": 496, - "9": 498, - "10": 380, - "11": 273, - "12": 204, + "7": 337, + "8": 506, + "9": 501, + "10": 384, + "11": 275, + "12": 206, "13": 322, "14": 282, - "15": 253, - "16": 248, - "17": 249, - "18": 426, - "19": 297, + "15": 257, + "16": 272, + "17": 253, + "18": 435, + "19": 298, "20": 228, - "21": 252, + "21": 253, "22": 336, "23": 150 } @@ -6486,15 +6561,24 @@ "Mon": 870, "Tue": 820, "Wed": 650, - "Thu": 479, - "Fri": 556, + "Thu": 493, + "Fri": 562, "Sat": 0, - "Sun": 2061 + "Sun": 2114 } }, "recentCommits": { "/": { "Expanded": [ + " 2022-10-29 PSG - Troyes (4-3) ", + " New York ", + " 2022-10-29 PSG - Troyes ", + " 2022-10-29 PSG - Troyes ", + " 2022-10-29 PSG - Troyes ", + " Bookmarks - Obsidian ", + " Bookmarks - Media ", + " Bookmarks - Obsidian ", + " Household ", " 2022-10-23 ", " 2022-10-23 ", " 2023-05-20 Mariage JB & Camila ", @@ -6536,18 +6620,25 @@ " 2022-10-21 Weekend à Paris ", " 2022-05-29 ", " 2022-09-20 ", - " @Belfast ", - " Household ", - " Test Sheet 2 ", - " @News ", - " Internet services ", - " Configuring UFW ", - " Storage and Syncing ", - " 2022-10-05 Conference on FinTech ", - " 2022-10-05 Conference on FinTech ", - " Geneva " + " @Belfast " ], "Created": [ + " The Night Warren Zevon Left the ‘Late Show’ Building ", + " Mississippi's Welfare Mess—And America's ", + " What ‘The Trump Tapes’ reveal about Bob Woodward ", + " Texas Goes Permitless on Guns, and Police Face an Armed Public ", + " The Story Matthew Perry Can’t Believe He Lived to Tell ", + " Liz Truss’ empty ambition put her in power — and shattered her ", + " 2022-10-30 ", + " 2022-10-30 ", + " Untitled ", + " 2022-10-29 PSG - Troyes ", + " 2022-10-29 ", + " Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain ", + " 2022-10-28 ", + " Hail Caesar! (2016) ", + " The Globetrotting Con Man and Suspected Spy Who Met With President Trump ", + " 2022-10-27 ", " There Will Be Blood (2007) ", " 2022-10-26 ", " 2022-10-25 ", @@ -6582,25 +6673,20 @@ " Untitled ", " 2022-10-14 ", " 2022-10-13 ", - " 2022-10-12 ", - " A New Doorway to the Brain ", - " Black Holes May Hide a Mind-Bending Secret About Our Universe ", - " 2022-10-11 PSG - Benfica ", - " Untitled ", - " 2022-10-11 ", - " Empire of Pain ", - " Empire of Pain ", - " 2022-10-10 ", - " What Does Sustainable Living Look Like Maybe Like Uruguay ", - " The Instagram capital of the world is a terrible place to be ", - " An American education ", - " The Wembanyama Effect How the buzz about Victor will influence NBA tanking and front office thinking this season ", - " The Genetic Freak” Taking Over the Premier League ", - " Untitled ", - " Untitled ", - " 2022-10-09 " + " 2022-10-12 " ], "Renamed": [ + " The Night Warren Zevon Left the ‘Late Show’ Building ", + " Mississippi's Welfare Mess—And America's ", + " What ‘The Trump Tapes’ reveal about Bob Woodward ", + " Texas Goes Permitless on Guns, and Police Face an Armed Public ", + " The Story Matthew Perry Can’t Believe He Lived to Tell ", + " Liz Truss’ empty ambition put her in power — and shattered her ", + " 2022-10-29 PSG - Troyes (4-3) ", + " New York ", + " Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain ", + " Hail Caesar! (2016) ", + " The Globetrotting Con Man and Suspected Spy Who Met With President Trump ", " There Will Be Blood (2007) ", " Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police ", " The mysterious reappearance of China’s missing mega-influencer ", @@ -6640,20 +6726,20 @@ " @Shopping list ", " Why is a small Swedish automaker a decade ahead of the rest of the industry ", " No Sex for You Lyta Gold ", - " Evrard d'Espinque’s Illuminations of De Proprietatibus Rerum (ca. 1480) ", - " Sleepless in Seattle (1993) ", - " 2022-10-22 Tea Time, fraterie ", - " 2022-10-05 Benfica - PSG (1-1) ", - " Lock Stock and Two Smoking Barrels (1998) ", - " Snatch (2000) ", - " RocknRolla (2008) ", - " Rocky (1976) ", - " This developer sold pre-construction townhouses for $400,000. Three years later, they told their buyers to pay another $100K or lose their homes ", - " Solomun, the D.J. Who Keeps Ibiza Dancing ", - " ‘She Captured All Before Her’ Darryl Pinckney ", - " Liz Truss learns the hard way that Britain is not the US " + " Evrard d'Espinque’s Illuminations of De Proprietatibus Rerum (ca. 1480) " ], "Tagged": [ + " Mississippi's Welfare Mess—And America's ", + " The Night Warren Zevon Left the ‘Late Show’ Building ", + " What ‘The Trump Tapes’ reveal about Bob Woodward ", + " Texas Goes Permitless on Guns, and Police Face an Armed Public ", + " Liz Truss’ empty ambition put her in power — and shattered her ", + " The Story Matthew Perry Can’t Believe He Lived to Tell ", + " The Globetrotting Con Man and Suspected Spy Who Met With President Trump ", + " New York ", + " Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain ", + " Hail Caesar! (2016) ", + " The Globetrotting Con Man and Suspected Spy Who Met With President Trump ", " There Will Be Blood (2007) ", " Cowboys paid $2.4M over cheerleader allegations ", " Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police ", @@ -6693,18 +6779,7 @@ " Hortense de Villeneuve ", " Quentin de Villeneuve ", " Noémie de Villeneuve ", - " Aglaé de Villeneuve ", - " Achille Bédier ", - " Auguste Bédier ", - " Isaure Bédier ", - " Jérôme Bédier ", - " Timothée Bédier ", - " Jacqueline Bédier ", - " Joséphine Bédier ", - " Pia Bousquié ", - " Louis Bédier ", - " Eustache Bédier ", - " Armand de Villeneuve " + " Aglaé de Villeneuve " ], "Refactored": [ " 2022-10-18 ", @@ -6760,6 +6835,7 @@ " How to Install and Configure Prometheus Alert Manager on Ubuntu 20.04 LTS " ], "Deleted": [ + " 2022-10-30 ", " How a New Anti-Woke Bank Stumbled ", " Test note ", " Buttons 1.0 is Coming ", @@ -6809,10 +6885,34 @@ " Test ", " Ytes ", " Test ", - " with a title ", - " Untitled " + " with a title " ], "Linked": [ + " 2022-10-30 ", + " The Night Warren Zevon Left the ‘Late Show’ Building ", + " Mississippi's Welfare Mess—And America's ", + " What ‘The Trump Tapes’ reveal about Bob Woodward ", + " Texas Goes Permitless on Guns, and Police Face an Armed Public ", + " Liz Truss’ empty ambition put her in power — and shattered her ", + " The Story Matthew Perry Can’t Believe He Lived to Tell ", + " The Globetrotting Con Man and Suspected Spy Who Met With President Trump ", + " Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police ", + " 2022-10-30 ", + " 2022-10-29 ", + " New York ", + " 2022-10-29 PSG - Troyes ", + " Bookmarks - Obsidian ", + " Cuban missile crisis The man who saw too much - Deseret News ", + " 2022-10-29 ", + " Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain ", + " 2022-10-28 ", + " 2022-10-27 ", + " Hail Caesar! (2016) ", + " The mysterious reappearance of China’s missing mega-influencer ", + " The Globetrotting Con Man and Suspected Spy Who Met With President Trump ", + " How a Chinese American Gangster Transformed Money Laundering for Drug Cartels ", + " What Happened to Maya ", + " 2022-10-27 ", " There Will Be Blood (2007) ", " 2022-10-26 ", " 2022-10-25 ", @@ -6838,32 +6938,7 @@ " 2022-10-21 ", " 36 Hours in Milan Things to Do and See ", " 2022-10-20 ", - "", - " 2022-10-19 ", - " 2022-10-18 ", - " Reading Simone de Beauvoir’s ‘Ethics of Ambiguity’ in prison Aeon Essays ", - " 2022-10-18 ", - " Opinion A Lost Manuscript Shows the Fire Barack Obama Couldn’t Reveal on the Campaign Trail ", - " Is There a Future for Late-Night Talk Shows ", - " 2022-10-17 ", - " Marguerite de Villeneuve ", - " 2022-10-16 ", - " Arnold Moulin ", - " 2022-10-17 ", - " Liz Truss has made Britain a riskier bet for bond investors ", - " Is There a Future for Late-Night Talk Shows ", - " Opinion A Lost Manuscript Shows the Fire Barack Obama Couldn’t Reveal on the Campaign Trail ", - " Liz Truss has made Britain a riskier bet for bond investors ", - " 2022-10-16 ", - " 2022-10-16 ", - " 2022-10-15 ", - " A New Doorway to the Brain ", - " 2022-10-15 ", - " Black Holes May Hide a Mind-Bending Secret About Our Universe ", - " Gül ", - " 2022-10-14 ", - " Life - Practical infos ", - " 2022-10-13 " + "" ], "Removed Tags from": [ " A view from across the river ", diff --git a/.obsidian/plugins/obsidian-dialogue-plugin/main.js b/.obsidian/plugins/obsidian-dialogue-plugin/main.js new file mode 100644 index 00000000..90540b9f --- /dev/null +++ b/.obsidian/plugins/obsidian-dialogue-plugin/main.js @@ -0,0 +1,340 @@ +/* +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: () => DialoguePlugin +}); +var import_obsidian2 = __toModule(require("obsidian")); + +// src/types/dialogueTitleMode.ts +var DialogueTitleMode; +(function(DialogueTitleMode2) { + DialogueTitleMode2["Disabled"] = "disabled"; + DialogueTitleMode2["First"] = "first"; + DialogueTitleMode2["All"] = "all"; +})(DialogueTitleMode || (DialogueTitleMode = {})); + +// src/constants/classes.ts +var CLASSES = class { +}; +CLASSES.DIALOGUE_WRAPPER = "dialogue-plugin-wrapper"; +CLASSES.BLOCK_WRAPPER = "dialogue-plugin-block-wrapper"; +CLASSES.MESSAGE_WRAPPER_LEFT = "dialogue-plugin-message-wrapper-left"; +CLASSES.MESSAGE_WRAPPER_RIGHT = "dialogue-plugin-message-wrapper-right"; +CLASSES.MESSAGE = "dialogue-plugin-message"; +CLASSES.MESSAGE_TITLE = "dialogue-plugin-message-title"; +CLASSES.MESSAGE_CONTENT = "dialogue-plugin-message-content"; +CLASSES.DELIMITER_WRAPPER = "dialogue-plugin-delimiter-wrapper"; +CLASSES.DELIMITER = "dialogue-plugin-delimiter"; +CLASSES.DELIMITER_DOT = "dialogue-plugin-delimiter-dot"; +CLASSES.COMMENT_WRAPPER = "dialogue-plugin-comment-wrapper"; +CLASSES.COMMENT = "dialogue-plugin-comment"; + +// src/components/message.ts +var SIDES = class { +}; +SIDES.LEFT = "left"; +SIDES.RIGHT = "right"; +var Message = class { + constructor(content, side, dialogueSettings) { + this.content = content; + this.side = side; + this.dialogueSettings = dialogueSettings; + this.participant = this.side == SIDES.LEFT ? this.dialogueSettings.leftParticipant : this.dialogueSettings.rightParticipant; + this.renderMessage(); + } + renderMessage() { + const messageEl = this.createMessageEl(); + if (this.titleShouldRender()) { + messageEl.createDiv({ cls: CLASSES.MESSAGE_TITLE, text: this.participant.title }); + } + messageEl.createDiv({ cls: CLASSES.MESSAGE_CONTENT, text: this.content }); + } + createMessageEl() { + var _a; + const sideClass = this.side == SIDES.LEFT ? CLASSES.MESSAGE_WRAPPER_LEFT : CLASSES.MESSAGE_WRAPPER_RIGHT; + const messageWrapperEl = this.dialogueSettings.parent.createDiv({ + cls: `${CLASSES.BLOCK_WRAPPER} ${sideClass}` + }); + return messageWrapperEl.createDiv({ + cls: CLASSES.MESSAGE, + attr: { + style: `max-width: ${this.dialogueSettings.messageMaxWidth};`, + "data-participant-name": this.participant.title, + "data-participant-id": (_a = this.participant.enforcedId) != null ? _a : this.dialogueSettings.participants.get(this.participant.title) + } + }); + } + titleShouldRender() { + if (this.participant.title.length < 1) + return false; + switch (this.dialogueSettings.titleMode) { + case DialogueTitleMode.Disabled: + return false; + case DialogueTitleMode.All: + return true; + case DialogueTitleMode.First: { + if (this.participant.renderedOnce) + return false; + this.participant.renderedOnce = true; + return true; + } + default: + return false; + } + } +}; + +// src/components/delimiter.ts +var Delimiter = class { + constructor(dialogueSettings) { + this.dialogueSettings = dialogueSettings; + this.renderDelimiter(); + } + renderDelimiter() { + const delimiterWrapperEl = this.dialogueSettings.parent.createDiv({ + cls: `${CLASSES.BLOCK_WRAPPER} ${CLASSES.DELIMITER_WRAPPER}` + }); + const delimiterEl = delimiterWrapperEl.createDiv({ cls: CLASSES.DELIMITER }); + delimiterEl.createEl("div", { cls: CLASSES.DELIMITER_DOT }); + delimiterEl.createEl("div", { cls: CLASSES.DELIMITER_DOT }); + delimiterEl.createEl("div", { cls: CLASSES.DELIMITER_DOT }); + } +}; + +// src/components/comment.ts +var Comment = class { + constructor(content, dialogueSettings) { + this.content = content; + this.dialogueSettings = dialogueSettings; + this.renderComment(); + } + renderComment() { + const commentEl = this.dialogueSettings.parent.createDiv({ + cls: `${CLASSES.BLOCK_WRAPPER} ${CLASSES.COMMENT_WRAPPER}` + }); + return commentEl.createDiv({ + cls: CLASSES.COMMENT, + text: this.content, + attr: { + style: `max-width: ${this.dialogueSettings.commentMaxWidth};` + } + }); + } +}; + +// src/dialogue.ts +var KEYWORDS = class { +}; +KEYWORDS.LEFT_PATTERN = /^l(?:eft)?(?:-(\d+))?:/i; +KEYWORDS.RIGHT_PATTERN = /^r(?:ight)?(?:-(\d+))?:/i; +KEYWORDS.TITLE_MODE = "titleMode:"; +KEYWORDS.MESSAGE_MAX_WIDTH = "messageMaxWidth:"; +KEYWORDS.COMMENT_MAX_WIDTH = "commentMaxWidth:"; +KEYWORDS.DELIMITER = /^-|delimiter/; +KEYWORDS.COMMENT = "#"; +KEYWORDS.MESSAGE_LEFT = "<"; +KEYWORDS.MESSAGE_RIGHT = ">"; +var DialogueRenderer = class { + constructor(src, parent, settings) { + this.src = src; + this.dialogueWrapperEl = parent.createDiv({ cls: CLASSES.DIALOGUE_WRAPPER }); + this.dialogueSettings = { + parent: this.dialogueWrapperEl, + leftParticipant: { + title: settings.defaultLeftTitle, + renderedOnce: false, + enforcedId: null + }, + rightParticipant: { + title: settings.defaultRightTitle, + renderedOnce: false, + enforcedId: null + }, + titleMode: settings.defaultTitleMode, + messageMaxWidth: settings.defaultMessageMaxWidth, + commentMaxWidth: settings.defaultCommentMaxWidth, + participants: new Map() + }; + this.renderDialogue(); + } + registerParticipant(participant) { + if (!this.dialogueSettings.participants.has(participant)) { + this.dialogueSettings.participants.set(participant, this.dialogueSettings.participants.size + 1); + } + } + getEnforcedId(pattern, line) { + let enforcedId = null; + const result = pattern.exec(line); + if (result != null && result.length > 1) { + enforcedId = result[1]; + } + return enforcedId; + } + renderDialogue() { + const lines = this.src.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0); + for (const line of lines) { + if (KEYWORDS.LEFT_PATTERN.test(line)) { + this.dialogueSettings.leftParticipant.title = line.split(":").splice(1).join(":").trim(); + this.dialogueSettings.leftParticipant.renderedOnce = false; + this.dialogueSettings.leftParticipant.enforcedId = this.getEnforcedId(KEYWORDS.LEFT_PATTERN, line); + } else if (KEYWORDS.RIGHT_PATTERN.test(line)) { + this.dialogueSettings.rightParticipant.title = line.split(":").splice(1).join(":").trim(); + this.dialogueSettings.rightParticipant.renderedOnce = false; + this.dialogueSettings.rightParticipant.enforcedId = this.getEnforcedId(KEYWORDS.RIGHT_PATTERN, line); + } else if (line.startsWith(KEYWORDS.TITLE_MODE)) { + const modeName = line.substr(KEYWORDS.TITLE_MODE.length).trim().toLowerCase(); + if (Object.values(DialogueTitleMode).some((mode) => mode == modeName)) { + this.dialogueSettings.titleMode = modeName; + } + } else if (line.startsWith(KEYWORDS.MESSAGE_MAX_WIDTH)) { + this.dialogueSettings.messageMaxWidth = line.substr(KEYWORDS.MESSAGE_MAX_WIDTH.length).trim(); + } else if (line.startsWith(KEYWORDS.COMMENT_MAX_WIDTH)) { + this.dialogueSettings.commentMaxWidth = line.substr(KEYWORDS.COMMENT_MAX_WIDTH.length).trim(); + } else if (KEYWORDS.DELIMITER.test(line)) { + new Delimiter(this.dialogueSettings); + } else if (line.startsWith(KEYWORDS.COMMENT)) { + const content = line.substr(KEYWORDS.COMMENT.length); + new Comment(content, this.dialogueSettings); + } else if (line.startsWith(KEYWORDS.MESSAGE_LEFT)) { + const content = line.substr(KEYWORDS.MESSAGE_LEFT.length); + this.registerParticipant(this.dialogueSettings.leftParticipant.title); + new Message(content, SIDES.LEFT, this.dialogueSettings); + } else if (line.startsWith(KEYWORDS.MESSAGE_RIGHT)) { + const content = line.substr(KEYWORDS.MESSAGE_RIGHT.length); + this.registerParticipant(this.dialogueSettings.rightParticipant.title); + new Message(content, SIDES.RIGHT, this.dialogueSettings); + } + } + } +}; + +// src/settings.ts +var import_obsidian = __toModule(require("obsidian")); +var DEFAULT_SETTINGS = { + defaultLeftTitle: "", + defaultRightTitle: "", + defaultTitleMode: DialogueTitleMode.First, + defaultMessageMaxWidth: "60%", + defaultCommentMaxWidth: "60%" +}; +var DialogueSettingTab = class extends import_obsidian.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + } + display() { + const { containerEl } = this; + containerEl.empty(); + containerEl.createEl("h2", { text: "Dialogue Settings" }); + const coffeeEl = containerEl.createEl("div", { + attr: { + style: "text-align: center; margin-bottom: 10px;" + } + }); + const coffeeLinkEl = coffeeEl.createEl("a", { href: "https://www.buymeacoffee.com/holubj" }); + coffeeLinkEl.createEl("img", { + attr: { + src: "https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png", + alt: "Buy Me A Coffee", + style: "height: 60px; width: 217px;" + } + }); + new import_obsidian.Setting(containerEl).setName("Default left title").setDesc("Default value for left title in all dialogues.").addText((text) => text.setPlaceholder("Enter default left title").setValue(this.plugin.settings.defaultLeftTitle).onChange((value) => __async(this, null, function* () { + this.plugin.settings.defaultLeftTitle = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Default right title").setDesc("Default value for right title in all dialogues.").addText((text) => text.setPlaceholder("Enter default right title").setValue(this.plugin.settings.defaultRightTitle).onChange((value) => __async(this, null, function* () { + this.plugin.settings.defaultRightTitle = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Default title mode").setDesc("Default title mode in all dialogues.").addDropdown((cb) => { + Object.values(DialogueTitleMode).forEach((titleMode) => { + const mode = titleMode.toString(); + cb.addOption(mode, mode.charAt(0).toUpperCase() + mode.slice(1)); + }); + cb.setValue(this.plugin.settings.defaultTitleMode).onChange((value) => __async(this, null, function* () { + this.plugin.settings.defaultTitleMode = value; + yield this.plugin.saveSettings(); + })); + }); + new import_obsidian.Setting(containerEl).setName("Default max message width").setDesc("Default max message width in all dialogues.").addText((text) => text.setPlaceholder("Enter default max message width").setValue(this.plugin.settings.defaultMessageMaxWidth).onChange((value) => __async(this, null, function* () { + this.plugin.settings.defaultMessageMaxWidth = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Default max comment width").setDesc("Default max comment width in all dialogues.").addText((text) => text.setPlaceholder("Enter default max comment width").setValue(this.plugin.settings.defaultCommentMaxWidth).onChange((value) => __async(this, null, function* () { + this.plugin.settings.defaultCommentMaxWidth = value; + yield this.plugin.saveSettings(); + }))); + } +}; + +// src/main.ts +var DialoguePlugin = class extends import_obsidian2.Plugin { + onload() { + return __async(this, null, function* () { + yield this.loadSettings(); + this.registerMarkdownCodeBlockProcessor(`dialogue`, (src, el, ctx) => { + new DialogueRenderer(src, el, this.settings); + }); + this.addSettingTab(new DialogueSettingTab(this.app, this)); + }); + } + 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); + }); + } +}; diff --git a/.obsidian/plugins/obsidian-dialogue-plugin/manifest.json b/.obsidian/plugins/obsidian-dialogue-plugin/manifest.json new file mode 100644 index 00000000..cdec1ca4 --- /dev/null +++ b/.obsidian/plugins/obsidian-dialogue-plugin/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "obsidian-dialogue-plugin", + "name": "Dialogue", + "version": "1.0.2", + "minAppVersion": "0.12.0", + "description": "Create dialogues in Markdown.", + "author": "Jakub Holub", + "authorUrl": "https://github.com/holubj", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/obsidian-dialogue-plugin/styles.css b/.obsidian/plugins/obsidian-dialogue-plugin/styles.css new file mode 100644 index 00000000..174c3936 --- /dev/null +++ b/.obsidian/plugins/obsidian-dialogue-plugin/styles.css @@ -0,0 +1,58 @@ +.dialogue-plugin-wrapper { + margin-bottom: 20px; +} + +.dialogue-plugin-block-wrapper { + display: flex; + margin: 10px 0; +} + +.dialogue-plugin-message-wrapper-left { + justify-content: start; +} + +.dialogue-plugin-message-wrapper-right { + justify-content: flex-end; +} + +.dialogue-plugin-message { + overflow: hidden; + max-width: 60%; + background-color: var(--background-secondary); +} + +.dialogue-plugin-message-title { + padding: 5px 10px; + font-weight: bold; + background-color: rgba(0, 0, 0, 0.3); +} + +.dialogue-plugin-message-content { + padding: 5px 10px; +} + +.dialogue-plugin-delimiter-wrapper { + justify-content: center; +} + +.dialogue-plugin-delimiter { + margin: 20px 0; +} + +.dialogue-plugin-delimiter-dot { + width: 10px; + height: 10px; + margin: 0 3px; + display: inline-block; + border-radius: 50%; + background-color: var(--background-secondary); +} + +.dialogue-plugin-comment-wrapper { + justify-content: center; +} + +.dialogue-plugin-comment { + margin: 20px 0; + text-align: center; +} diff --git a/.obsidian/plugins/obsidian-dice-roller/main.js b/.obsidian/plugins/obsidian-dice-roller/main.js index b1684c5d..f15b0ed1 100644 --- a/.obsidian/plugins/obsidian-dice-roller/main.js +++ b/.obsidian/plugins/obsidian-dice-roller/main.js @@ -3,22 +3,22 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ -var Bo=Object.create;var Kt=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Io=Object.getOwnPropertyNames;var ko=Object.getPrototypeOf,Uo=Object.prototype.hasOwnProperty;var Fi=n=>Kt(n,"__esModule",{value:!0});var M0=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),Oo=(n,e)=>{Fi(n);for(var t in e)Kt(n,t,{get:e[t],enumerable:!0})},Go=(n,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Io(e))!Uo.call(n,i)&&i!=="default"&&Kt(n,i,{get:()=>e[i],enumerable:!(t=Po(e,i))||t.enumerable});return n},w2=n=>Go(Fi(Kt(n!=null?Bo(ko(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);var Bi=M0($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});require("obsidian");var qo=n=>{var e;return n?(e=n.plugins.plugins.dataview)===null||e===void 0?void 0:e.api:window.DataviewAPI},Wo=n=>n.plugins.enabledPlugins.has("dataview");$t.getAPI=qo;$t.isPluginEnabled=Wo});var Ma=M0((n6,Mt)=>{(function(n){var e=typeof n6=="object"&&n6,t=typeof Mt=="object"&&Mt&&Mt.exports==e&&Mt,i=typeof global=="object"&&global;(i.global===i||i.window===i)&&(n=i);var a=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,r=/[\x01-\x7F]/g,s=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,o=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,l={"\xAD":"shy","\u200C":"zwnj","\u200D":"zwj","\u200E":"lrm","\u2063":"ic","\u2062":"it","\u2061":"af","\u200F":"rlm","\u200B":"ZeroWidthSpace","\u2060":"NoBreak","\u0311":"DownBreve","\u20DB":"tdot","\u20DC":"DotDot"," ":"Tab","\n":"NewLine","\u2008":"puncsp","\u205F":"MediumSpace","\u2009":"thinsp","\u200A":"hairsp","\u2004":"emsp13","\u2002":"ensp","\u2005":"emsp14","\u2003":"emsp","\u2007":"numsp","\xA0":"nbsp","\u205F\u200A":"ThickSpace","\u203E":"oline",_:"lowbar","\u2010":"dash","\u2013":"ndash","\u2014":"mdash","\u2015":"horbar",",":"comma",";":"semi","\u204F":"bsemi",":":"colon","\u2A74":"Colone","!":"excl","\xA1":"iexcl","?":"quest","\xBF":"iquest",".":"period","\u2025":"nldr","\u2026":"mldr","\xB7":"middot","'":"apos","\u2018":"lsquo","\u2019":"rsquo","\u201A":"sbquo","\u2039":"lsaquo","\u203A":"rsaquo",'"':"quot","\u201C":"ldquo","\u201D":"rdquo","\u201E":"bdquo","\xAB":"laquo","\xBB":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","\u2308":"lceil","\u2309":"rceil","\u230A":"lfloor","\u230B":"rfloor","\u2985":"lopar","\u2986":"ropar","\u298B":"lbrke","\u298C":"rbrke","\u298D":"lbrkslu","\u298E":"rbrksld","\u298F":"lbrksld","\u2990":"rbrkslu","\u2991":"langd","\u2992":"rangd","\u2993":"lparlt","\u2994":"rpargt","\u2995":"gtlPar","\u2996":"ltrPar","\u27E6":"lobrk","\u27E7":"robrk","\u27E8":"lang","\u27E9":"rang","\u27EA":"Lang","\u27EB":"Rang","\u27EC":"loang","\u27ED":"roang","\u2772":"lbbrk","\u2773":"rbbrk","\u2016":"Vert","\xA7":"sect","\xB6":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","\u2030":"permil","\u2031":"pertenk","\u2020":"dagger","\u2021":"Dagger","\u2022":"bull","\u2043":"hybull","\u2032":"prime","\u2033":"Prime","\u2034":"tprime","\u2057":"qprime","\u2035":"bprime","\u2041":"caret","`":"grave","\xB4":"acute","\u02DC":"tilde","^":"Hat","\xAF":"macr","\u02D8":"breve","\u02D9":"dot","\xA8":"die","\u02DA":"ring","\u02DD":"dblac","\xB8":"cedil","\u02DB":"ogon","\u02C6":"circ","\u02C7":"caron","\xB0":"deg","\xA9":"copy","\xAE":"reg","\u2117":"copysr","\u2118":"wp","\u211E":"rx","\u2127":"mho","\u2129":"iiota","\u2190":"larr","\u219A":"nlarr","\u2192":"rarr","\u219B":"nrarr","\u2191":"uarr","\u2193":"darr","\u2194":"harr","\u21AE":"nharr","\u2195":"varr","\u2196":"nwarr","\u2197":"nearr","\u2198":"searr","\u2199":"swarr","\u219D":"rarrw","\u219D\u0338":"nrarrw","\u219E":"Larr","\u219F":"Uarr","\u21A0":"Rarr","\u21A1":"Darr","\u21A2":"larrtl","\u21A3":"rarrtl","\u21A4":"mapstoleft","\u21A5":"mapstoup","\u21A6":"map","\u21A7":"mapstodown","\u21A9":"larrhk","\u21AA":"rarrhk","\u21AB":"larrlp","\u21AC":"rarrlp","\u21AD":"harrw","\u21B0":"lsh","\u21B1":"rsh","\u21B2":"ldsh","\u21B3":"rdsh","\u21B5":"crarr","\u21B6":"cularr","\u21B7":"curarr","\u21BA":"olarr","\u21BB":"orarr","\u21BC":"lharu","\u21BD":"lhard","\u21BE":"uharr","\u21BF":"uharl","\u21C0":"rharu","\u21C1":"rhard","\u21C2":"dharr","\u21C3":"dharl","\u21C4":"rlarr","\u21C5":"udarr","\u21C6":"lrarr","\u21C7":"llarr","\u21C8":"uuarr","\u21C9":"rrarr","\u21CA":"ddarr","\u21CB":"lrhar","\u21CC":"rlhar","\u21D0":"lArr","\u21CD":"nlArr","\u21D1":"uArr","\u21D2":"rArr","\u21CF":"nrArr","\u21D3":"dArr","\u21D4":"iff","\u21CE":"nhArr","\u21D5":"vArr","\u21D6":"nwArr","\u21D7":"neArr","\u21D8":"seArr","\u21D9":"swArr","\u21DA":"lAarr","\u21DB":"rAarr","\u21DD":"zigrarr","\u21E4":"larrb","\u21E5":"rarrb","\u21F5":"duarr","\u21FD":"loarr","\u21FE":"roarr","\u21FF":"hoarr","\u2200":"forall","\u2201":"comp","\u2202":"part","\u2202\u0338":"npart","\u2203":"exist","\u2204":"nexist","\u2205":"empty","\u2207":"Del","\u2208":"in","\u2209":"notin","\u220B":"ni","\u220C":"notni","\u03F6":"bepsi","\u220F":"prod","\u2210":"coprod","\u2211":"sum","+":"plus","\xB1":"pm","\xF7":"div","\xD7":"times","<":"lt","\u226E":"nlt","<\u20D2":"nvlt","=":"equals","\u2260":"ne","=\u20E5":"bne","\u2A75":"Equal",">":"gt","\u226F":"ngt",">\u20D2":"nvgt","\xAC":"not","|":"vert","\xA6":"brvbar","\u2212":"minus","\u2213":"mp","\u2214":"plusdo","\u2044":"frasl","\u2216":"setmn","\u2217":"lowast","\u2218":"compfn","\u221A":"Sqrt","\u221D":"prop","\u221E":"infin","\u221F":"angrt","\u2220":"ang","\u2220\u20D2":"nang","\u2221":"angmsd","\u2222":"angsph","\u2223":"mid","\u2224":"nmid","\u2225":"par","\u2226":"npar","\u2227":"and","\u2228":"or","\u2229":"cap","\u2229\uFE00":"caps","\u222A":"cup","\u222A\uFE00":"cups","\u222B":"int","\u222C":"Int","\u222D":"tint","\u2A0C":"qint","\u222E":"oint","\u222F":"Conint","\u2230":"Cconint","\u2231":"cwint","\u2232":"cwconint","\u2233":"awconint","\u2234":"there4","\u2235":"becaus","\u2236":"ratio","\u2237":"Colon","\u2238":"minusd","\u223A":"mDDot","\u223B":"homtht","\u223C":"sim","\u2241":"nsim","\u223C\u20D2":"nvsim","\u223D":"bsim","\u223D\u0331":"race","\u223E":"ac","\u223E\u0333":"acE","\u223F":"acd","\u2240":"wr","\u2242":"esim","\u2242\u0338":"nesim","\u2243":"sime","\u2244":"nsime","\u2245":"cong","\u2247":"ncong","\u2246":"simne","\u2248":"ap","\u2249":"nap","\u224A":"ape","\u224B":"apid","\u224B\u0338":"napid","\u224C":"bcong","\u224D":"CupCap","\u226D":"NotCupCap","\u224D\u20D2":"nvap","\u224E":"bump","\u224E\u0338":"nbump","\u224F":"bumpe","\u224F\u0338":"nbumpe","\u2250":"doteq","\u2250\u0338":"nedot","\u2251":"eDot","\u2252":"efDot","\u2253":"erDot","\u2254":"colone","\u2255":"ecolon","\u2256":"ecir","\u2257":"cire","\u2259":"wedgeq","\u225A":"veeeq","\u225C":"trie","\u225F":"equest","\u2261":"equiv","\u2262":"nequiv","\u2261\u20E5":"bnequiv","\u2264":"le","\u2270":"nle","\u2264\u20D2":"nvle","\u2265":"ge","\u2271":"nge","\u2265\u20D2":"nvge","\u2266":"lE","\u2266\u0338":"nlE","\u2267":"gE","\u2267\u0338":"ngE","\u2268\uFE00":"lvnE","\u2268":"lnE","\u2269":"gnE","\u2269\uFE00":"gvnE","\u226A":"ll","\u226A\u0338":"nLtv","\u226A\u20D2":"nLt","\u226B":"gg","\u226B\u0338":"nGtv","\u226B\u20D2":"nGt","\u226C":"twixt","\u2272":"lsim","\u2274":"nlsim","\u2273":"gsim","\u2275":"ngsim","\u2276":"lg","\u2278":"ntlg","\u2277":"gl","\u2279":"ntgl","\u227A":"pr","\u2280":"npr","\u227B":"sc","\u2281":"nsc","\u227C":"prcue","\u22E0":"nprcue","\u227D":"sccue","\u22E1":"nsccue","\u227E":"prsim","\u227F":"scsim","\u227F\u0338":"NotSucceedsTilde","\u2282":"sub","\u2284":"nsub","\u2282\u20D2":"vnsub","\u2283":"sup","\u2285":"nsup","\u2283\u20D2":"vnsup","\u2286":"sube","\u2288":"nsube","\u2287":"supe","\u2289":"nsupe","\u228A\uFE00":"vsubne","\u228A":"subne","\u228B\uFE00":"vsupne","\u228B":"supne","\u228D":"cupdot","\u228E":"uplus","\u228F":"sqsub","\u228F\u0338":"NotSquareSubset","\u2290":"sqsup","\u2290\u0338":"NotSquareSuperset","\u2291":"sqsube","\u22E2":"nsqsube","\u2292":"sqsupe","\u22E3":"nsqsupe","\u2293":"sqcap","\u2293\uFE00":"sqcaps","\u2294":"sqcup","\u2294\uFE00":"sqcups","\u2295":"oplus","\u2296":"ominus","\u2297":"otimes","\u2298":"osol","\u2299":"odot","\u229A":"ocir","\u229B":"oast","\u229D":"odash","\u229E":"plusb","\u229F":"minusb","\u22A0":"timesb","\u22A1":"sdotb","\u22A2":"vdash","\u22AC":"nvdash","\u22A3":"dashv","\u22A4":"top","\u22A5":"bot","\u22A7":"models","\u22A8":"vDash","\u22AD":"nvDash","\u22A9":"Vdash","\u22AE":"nVdash","\u22AA":"Vvdash","\u22AB":"VDash","\u22AF":"nVDash","\u22B0":"prurel","\u22B2":"vltri","\u22EA":"nltri","\u22B3":"vrtri","\u22EB":"nrtri","\u22B4":"ltrie","\u22EC":"nltrie","\u22B4\u20D2":"nvltrie","\u22B5":"rtrie","\u22ED":"nrtrie","\u22B5\u20D2":"nvrtrie","\u22B6":"origof","\u22B7":"imof","\u22B8":"mumap","\u22B9":"hercon","\u22BA":"intcal","\u22BB":"veebar","\u22BD":"barvee","\u22BE":"angrtvb","\u22BF":"lrtri","\u22C0":"Wedge","\u22C1":"Vee","\u22C2":"xcap","\u22C3":"xcup","\u22C4":"diam","\u22C5":"sdot","\u22C6":"Star","\u22C7":"divonx","\u22C8":"bowtie","\u22C9":"ltimes","\u22CA":"rtimes","\u22CB":"lthree","\u22CC":"rthree","\u22CD":"bsime","\u22CE":"cuvee","\u22CF":"cuwed","\u22D0":"Sub","\u22D1":"Sup","\u22D2":"Cap","\u22D3":"Cup","\u22D4":"fork","\u22D5":"epar","\u22D6":"ltdot","\u22D7":"gtdot","\u22D8":"Ll","\u22D8\u0338":"nLl","\u22D9":"Gg","\u22D9\u0338":"nGg","\u22DA\uFE00":"lesg","\u22DA":"leg","\u22DB":"gel","\u22DB\uFE00":"gesl","\u22DE":"cuepr","\u22DF":"cuesc","\u22E6":"lnsim","\u22E7":"gnsim","\u22E8":"prnsim","\u22E9":"scnsim","\u22EE":"vellip","\u22EF":"ctdot","\u22F0":"utdot","\u22F1":"dtdot","\u22F2":"disin","\u22F3":"isinsv","\u22F4":"isins","\u22F5":"isindot","\u22F5\u0338":"notindot","\u22F6":"notinvc","\u22F7":"notinvb","\u22F9":"isinE","\u22F9\u0338":"notinE","\u22FA":"nisd","\u22FB":"xnis","\u22FC":"nis","\u22FD":"notnivc","\u22FE":"notnivb","\u2305":"barwed","\u2306":"Barwed","\u230C":"drcrop","\u230D":"dlcrop","\u230E":"urcrop","\u230F":"ulcrop","\u2310":"bnot","\u2312":"profline","\u2313":"profsurf","\u2315":"telrec","\u2316":"target","\u231C":"ulcorn","\u231D":"urcorn","\u231E":"dlcorn","\u231F":"drcorn","\u2322":"frown","\u2323":"smile","\u232D":"cylcty","\u232E":"profalar","\u2336":"topbot","\u233D":"ovbar","\u233F":"solbar","\u237C":"angzarr","\u23B0":"lmoust","\u23B1":"rmoust","\u23B4":"tbrk","\u23B5":"bbrk","\u23B6":"bbrktbrk","\u23DC":"OverParenthesis","\u23DD":"UnderParenthesis","\u23DE":"OverBrace","\u23DF":"UnderBrace","\u23E2":"trpezium","\u23E7":"elinters","\u2423":"blank","\u2500":"boxh","\u2502":"boxv","\u250C":"boxdr","\u2510":"boxdl","\u2514":"boxur","\u2518":"boxul","\u251C":"boxvr","\u2524":"boxvl","\u252C":"boxhd","\u2534":"boxhu","\u253C":"boxvh","\u2550":"boxH","\u2551":"boxV","\u2552":"boxdR","\u2553":"boxDr","\u2554":"boxDR","\u2555":"boxdL","\u2556":"boxDl","\u2557":"boxDL","\u2558":"boxuR","\u2559":"boxUr","\u255A":"boxUR","\u255B":"boxuL","\u255C":"boxUl","\u255D":"boxUL","\u255E":"boxvR","\u255F":"boxVr","\u2560":"boxVR","\u2561":"boxvL","\u2562":"boxVl","\u2563":"boxVL","\u2564":"boxHd","\u2565":"boxhD","\u2566":"boxHD","\u2567":"boxHu","\u2568":"boxhU","\u2569":"boxHU","\u256A":"boxvH","\u256B":"boxVh","\u256C":"boxVH","\u2580":"uhblk","\u2584":"lhblk","\u2588":"block","\u2591":"blk14","\u2592":"blk12","\u2593":"blk34","\u25A1":"squ","\u25AA":"squf","\u25AB":"EmptyVerySmallSquare","\u25AD":"rect","\u25AE":"marker","\u25B1":"fltns","\u25B3":"xutri","\u25B4":"utrif","\u25B5":"utri","\u25B8":"rtrif","\u25B9":"rtri","\u25BD":"xdtri","\u25BE":"dtrif","\u25BF":"dtri","\u25C2":"ltrif","\u25C3":"ltri","\u25CA":"loz","\u25CB":"cir","\u25EC":"tridot","\u25EF":"xcirc","\u25F8":"ultri","\u25F9":"urtri","\u25FA":"lltri","\u25FB":"EmptySmallSquare","\u25FC":"FilledSmallSquare","\u2605":"starf","\u2606":"star","\u260E":"phone","\u2640":"female","\u2642":"male","\u2660":"spades","\u2663":"clubs","\u2665":"hearts","\u2666":"diams","\u266A":"sung","\u2713":"check","\u2717":"cross","\u2720":"malt","\u2736":"sext","\u2758":"VerticalSeparator","\u27C8":"bsolhsub","\u27C9":"suphsol","\u27F5":"xlarr","\u27F6":"xrarr","\u27F7":"xharr","\u27F8":"xlArr","\u27F9":"xrArr","\u27FA":"xhArr","\u27FC":"xmap","\u27FF":"dzigrarr","\u2902":"nvlArr","\u2903":"nvrArr","\u2904":"nvHarr","\u2905":"Map","\u290C":"lbarr","\u290D":"rbarr","\u290E":"lBarr","\u290F":"rBarr","\u2910":"RBarr","\u2911":"DDotrahd","\u2912":"UpArrowBar","\u2913":"DownArrowBar","\u2916":"Rarrtl","\u2919":"latail","\u291A":"ratail","\u291B":"lAtail","\u291C":"rAtail","\u291D":"larrfs","\u291E":"rarrfs","\u291F":"larrbfs","\u2920":"rarrbfs","\u2923":"nwarhk","\u2924":"nearhk","\u2925":"searhk","\u2926":"swarhk","\u2927":"nwnear","\u2928":"toea","\u2929":"tosa","\u292A":"swnwar","\u2933":"rarrc","\u2933\u0338":"nrarrc","\u2935":"cudarrr","\u2936":"ldca","\u2937":"rdca","\u2938":"cudarrl","\u2939":"larrpl","\u293C":"curarrm","\u293D":"cularrp","\u2945":"rarrpl","\u2948":"harrcir","\u2949":"Uarrocir","\u294A":"lurdshar","\u294B":"ldrushar","\u294E":"LeftRightVector","\u294F":"RightUpDownVector","\u2950":"DownLeftRightVector","\u2951":"LeftUpDownVector","\u2952":"LeftVectorBar","\u2953":"RightVectorBar","\u2954":"RightUpVectorBar","\u2955":"RightDownVectorBar","\u2956":"DownLeftVectorBar","\u2957":"DownRightVectorBar","\u2958":"LeftUpVectorBar","\u2959":"LeftDownVectorBar","\u295A":"LeftTeeVector","\u295B":"RightTeeVector","\u295C":"RightUpTeeVector","\u295D":"RightDownTeeVector","\u295E":"DownLeftTeeVector","\u295F":"DownRightTeeVector","\u2960":"LeftUpTeeVector","\u2961":"LeftDownTeeVector","\u2962":"lHar","\u2963":"uHar","\u2964":"rHar","\u2965":"dHar","\u2966":"luruhar","\u2967":"ldrdhar","\u2968":"ruluhar","\u2969":"rdldhar","\u296A":"lharul","\u296B":"llhard","\u296C":"rharul","\u296D":"lrhard","\u296E":"udhar","\u296F":"duhar","\u2970":"RoundImplies","\u2971":"erarr","\u2972":"simrarr","\u2973":"larrsim","\u2974":"rarrsim","\u2975":"rarrap","\u2976":"ltlarr","\u2978":"gtrarr","\u2979":"subrarr","\u297B":"suplarr","\u297C":"lfisht","\u297D":"rfisht","\u297E":"ufisht","\u297F":"dfisht","\u299A":"vzigzag","\u299C":"vangrt","\u299D":"angrtvbd","\u29A4":"ange","\u29A5":"range","\u29A6":"dwangle","\u29A7":"uwangle","\u29A8":"angmsdaa","\u29A9":"angmsdab","\u29AA":"angmsdac","\u29AB":"angmsdad","\u29AC":"angmsdae","\u29AD":"angmsdaf","\u29AE":"angmsdag","\u29AF":"angmsdah","\u29B0":"bemptyv","\u29B1":"demptyv","\u29B2":"cemptyv","\u29B3":"raemptyv","\u29B4":"laemptyv","\u29B5":"ohbar","\u29B6":"omid","\u29B7":"opar","\u29B9":"operp","\u29BB":"olcross","\u29BC":"odsold","\u29BE":"olcir","\u29BF":"ofcir","\u29C0":"olt","\u29C1":"ogt","\u29C2":"cirscir","\u29C3":"cirE","\u29C4":"solb","\u29C5":"bsolb","\u29C9":"boxbox","\u29CD":"trisb","\u29CE":"rtriltri","\u29CF":"LeftTriangleBar","\u29CF\u0338":"NotLeftTriangleBar","\u29D0":"RightTriangleBar","\u29D0\u0338":"NotRightTriangleBar","\u29DC":"iinfin","\u29DD":"infintie","\u29DE":"nvinfin","\u29E3":"eparsl","\u29E4":"smeparsl","\u29E5":"eqvparsl","\u29EB":"lozf","\u29F4":"RuleDelayed","\u29F6":"dsol","\u2A00":"xodot","\u2A01":"xoplus","\u2A02":"xotime","\u2A04":"xuplus","\u2A06":"xsqcup","\u2A0D":"fpartint","\u2A10":"cirfnint","\u2A11":"awint","\u2A12":"rppolint","\u2A13":"scpolint","\u2A14":"npolint","\u2A15":"pointint","\u2A16":"quatint","\u2A17":"intlarhk","\u2A22":"pluscir","\u2A23":"plusacir","\u2A24":"simplus","\u2A25":"plusdu","\u2A26":"plussim","\u2A27":"plustwo","\u2A29":"mcomma","\u2A2A":"minusdu","\u2A2D":"loplus","\u2A2E":"roplus","\u2A2F":"Cross","\u2A30":"timesd","\u2A31":"timesbar","\u2A33":"smashp","\u2A34":"lotimes","\u2A35":"rotimes","\u2A36":"otimesas","\u2A37":"Otimes","\u2A38":"odiv","\u2A39":"triplus","\u2A3A":"triminus","\u2A3B":"tritime","\u2A3C":"iprod","\u2A3F":"amalg","\u2A40":"capdot","\u2A42":"ncup","\u2A43":"ncap","\u2A44":"capand","\u2A45":"cupor","\u2A46":"cupcap","\u2A47":"capcup","\u2A48":"cupbrcap","\u2A49":"capbrcup","\u2A4A":"cupcup","\u2A4B":"capcap","\u2A4C":"ccups","\u2A4D":"ccaps","\u2A50":"ccupssm","\u2A53":"And","\u2A54":"Or","\u2A55":"andand","\u2A56":"oror","\u2A57":"orslope","\u2A58":"andslope","\u2A5A":"andv","\u2A5B":"orv","\u2A5C":"andd","\u2A5D":"ord","\u2A5F":"wedbar","\u2A66":"sdote","\u2A6A":"simdot","\u2A6D":"congdot","\u2A6D\u0338":"ncongdot","\u2A6E":"easter","\u2A6F":"apacir","\u2A70":"apE","\u2A70\u0338":"napE","\u2A71":"eplus","\u2A72":"pluse","\u2A73":"Esim","\u2A77":"eDDot","\u2A78":"equivDD","\u2A79":"ltcir","\u2A7A":"gtcir","\u2A7B":"ltquest","\u2A7C":"gtquest","\u2A7D":"les","\u2A7D\u0338":"nles","\u2A7E":"ges","\u2A7E\u0338":"nges","\u2A7F":"lesdot","\u2A80":"gesdot","\u2A81":"lesdoto","\u2A82":"gesdoto","\u2A83":"lesdotor","\u2A84":"gesdotol","\u2A85":"lap","\u2A86":"gap","\u2A87":"lne","\u2A88":"gne","\u2A89":"lnap","\u2A8A":"gnap","\u2A8B":"lEg","\u2A8C":"gEl","\u2A8D":"lsime","\u2A8E":"gsime","\u2A8F":"lsimg","\u2A90":"gsiml","\u2A91":"lgE","\u2A92":"glE","\u2A93":"lesges","\u2A94":"gesles","\u2A95":"els","\u2A96":"egs","\u2A97":"elsdot","\u2A98":"egsdot","\u2A99":"el","\u2A9A":"eg","\u2A9D":"siml","\u2A9E":"simg","\u2A9F":"simlE","\u2AA0":"simgE","\u2AA1":"LessLess","\u2AA1\u0338":"NotNestedLessLess","\u2AA2":"GreaterGreater","\u2AA2\u0338":"NotNestedGreaterGreater","\u2AA4":"glj","\u2AA5":"gla","\u2AA6":"ltcc","\u2AA7":"gtcc","\u2AA8":"lescc","\u2AA9":"gescc","\u2AAA":"smt","\u2AAB":"lat","\u2AAC":"smte","\u2AAC\uFE00":"smtes","\u2AAD":"late","\u2AAD\uFE00":"lates","\u2AAE":"bumpE","\u2AAF":"pre","\u2AAF\u0338":"npre","\u2AB0":"sce","\u2AB0\u0338":"nsce","\u2AB3":"prE","\u2AB4":"scE","\u2AB5":"prnE","\u2AB6":"scnE","\u2AB7":"prap","\u2AB8":"scap","\u2AB9":"prnap","\u2ABA":"scnap","\u2ABB":"Pr","\u2ABC":"Sc","\u2ABD":"subdot","\u2ABE":"supdot","\u2ABF":"subplus","\u2AC0":"supplus","\u2AC1":"submult","\u2AC2":"supmult","\u2AC3":"subedot","\u2AC4":"supedot","\u2AC5":"subE","\u2AC5\u0338":"nsubE","\u2AC6":"supE","\u2AC6\u0338":"nsupE","\u2AC7":"subsim","\u2AC8":"supsim","\u2ACB\uFE00":"vsubnE","\u2ACB":"subnE","\u2ACC\uFE00":"vsupnE","\u2ACC":"supnE","\u2ACF":"csub","\u2AD0":"csup","\u2AD1":"csube","\u2AD2":"csupe","\u2AD3":"subsup","\u2AD4":"supsub","\u2AD5":"subsub","\u2AD6":"supsup","\u2AD7":"suphsub","\u2AD8":"supdsub","\u2AD9":"forkv","\u2ADA":"topfork","\u2ADB":"mlcp","\u2AE4":"Dashv","\u2AE6":"Vdashl","\u2AE7":"Barv","\u2AE8":"vBar","\u2AE9":"vBarv","\u2AEB":"Vbar","\u2AEC":"Not","\u2AED":"bNot","\u2AEE":"rnmid","\u2AEF":"cirmid","\u2AF0":"midcir","\u2AF1":"topcir","\u2AF2":"nhpar","\u2AF3":"parsim","\u2AFD":"parsl","\u2AFD\u20E5":"nparsl","\u266D":"flat","\u266E":"natur","\u266F":"sharp","\xA4":"curren","\xA2":"cent",$:"dollar","\xA3":"pound","\xA5":"yen","\u20AC":"euro","\xB9":"sup1","\xBD":"half","\u2153":"frac13","\xBC":"frac14","\u2155":"frac15","\u2159":"frac16","\u215B":"frac18","\xB2":"sup2","\u2154":"frac23","\u2156":"frac25","\xB3":"sup3","\xBE":"frac34","\u2157":"frac35","\u215C":"frac38","\u2158":"frac45","\u215A":"frac56","\u215D":"frac58","\u215E":"frac78","\u{1D4B6}":"ascr","\u{1D552}":"aopf","\u{1D51E}":"afr","\u{1D538}":"Aopf","\u{1D504}":"Afr","\u{1D49C}":"Ascr",\u00AA:"ordf",\u00E1:"aacute",\u00C1:"Aacute",\u00E0:"agrave",\u00C0:"Agrave",\u0103:"abreve",\u0102:"Abreve",\u00E2:"acirc",\u00C2:"Acirc",\u00E5:"aring",\u00C5:"angst",\u00E4:"auml",\u00C4:"Auml",\u00E3:"atilde",\u00C3:"Atilde",\u0105:"aogon",\u0104:"Aogon",\u0101:"amacr",\u0100:"Amacr",\u00E6:"aelig",\u00C6:"AElig","\u{1D4B7}":"bscr","\u{1D553}":"bopf","\u{1D51F}":"bfr","\u{1D539}":"Bopf",\u212C:"Bscr","\u{1D505}":"Bfr","\u{1D520}":"cfr","\u{1D4B8}":"cscr","\u{1D554}":"copf",\u212D:"Cfr","\u{1D49E}":"Cscr",\u2102:"Copf",\u0107:"cacute",\u0106:"Cacute",\u0109:"ccirc",\u0108:"Ccirc",\u010D:"ccaron",\u010C:"Ccaron",\u010B:"cdot",\u010A:"Cdot",\u00E7:"ccedil",\u00C7:"Ccedil","\u2105":"incare","\u{1D521}":"dfr","\u2146":"dd","\u{1D555}":"dopf","\u{1D4B9}":"dscr","\u{1D49F}":"Dscr","\u{1D507}":"Dfr","\u2145":"DD","\u{1D53B}":"Dopf",\u010F:"dcaron",\u010E:"Dcaron",\u0111:"dstrok",\u0110:"Dstrok",\u00F0:"eth",\u00D0:"ETH","\u2147":"ee",\u212F:"escr","\u{1D522}":"efr","\u{1D556}":"eopf",\u2130:"Escr","\u{1D508}":"Efr","\u{1D53C}":"Eopf",\u00E9:"eacute",\u00C9:"Eacute",\u00E8:"egrave",\u00C8:"Egrave",\u00EA:"ecirc",\u00CA:"Ecirc",\u011B:"ecaron",\u011A:"Ecaron",\u00EB:"euml",\u00CB:"Euml",\u0117:"edot",\u0116:"Edot",\u0119:"eogon",\u0118:"Eogon",\u0113:"emacr",\u0112:"Emacr","\u{1D523}":"ffr","\u{1D557}":"fopf","\u{1D4BB}":"fscr","\u{1D509}":"Ffr","\u{1D53D}":"Fopf",\u2131:"Fscr",\uFB00:"fflig",\uFB03:"ffilig",\uFB04:"ffllig",\uFB01:"filig",fj:"fjlig",\uFB02:"fllig",\u0192:"fnof",\u210A:"gscr","\u{1D558}":"gopf","\u{1D524}":"gfr","\u{1D4A2}":"Gscr","\u{1D53E}":"Gopf","\u{1D50A}":"Gfr",\u01F5:"gacute",\u011F:"gbreve",\u011E:"Gbreve",\u011D:"gcirc",\u011C:"Gcirc",\u0121:"gdot",\u0120:"Gdot",\u0122:"Gcedil","\u{1D525}":"hfr",\u210E:"planckh","\u{1D4BD}":"hscr","\u{1D559}":"hopf",\u210B:"Hscr",\u210C:"Hfr",\u210D:"Hopf",\u0125:"hcirc",\u0124:"Hcirc",\u210F:"hbar",\u0127:"hstrok",\u0126:"Hstrok","\u{1D55A}":"iopf","\u{1D526}":"ifr","\u{1D4BE}":"iscr","\u2148":"ii","\u{1D540}":"Iopf",\u2110:"Iscr",\u2111:"Im",\u00ED:"iacute",\u00CD:"Iacute",\u00EC:"igrave",\u00CC:"Igrave",\u00EE:"icirc",\u00CE:"Icirc",\u00EF:"iuml",\u00CF:"Iuml",\u0129:"itilde",\u0128:"Itilde",\u0130:"Idot",\u012F:"iogon",\u012E:"Iogon",\u012B:"imacr",\u012A:"Imacr",\u0133:"ijlig",\u0132:"IJlig",\u0131:"imath","\u{1D4BF}":"jscr","\u{1D55B}":"jopf","\u{1D527}":"jfr","\u{1D4A5}":"Jscr","\u{1D50D}":"Jfr","\u{1D541}":"Jopf",\u0135:"jcirc",\u0134:"Jcirc","\u0237":"jmath","\u{1D55C}":"kopf","\u{1D4C0}":"kscr","\u{1D528}":"kfr","\u{1D4A6}":"Kscr","\u{1D542}":"Kopf","\u{1D50E}":"Kfr",\u0137:"kcedil",\u0136:"Kcedil","\u{1D529}":"lfr","\u{1D4C1}":"lscr",\u2113:"ell","\u{1D55D}":"lopf",\u2112:"Lscr","\u{1D50F}":"Lfr","\u{1D543}":"Lopf",\u013A:"lacute",\u0139:"Lacute",\u013E:"lcaron",\u013D:"Lcaron",\u013C:"lcedil",\u013B:"Lcedil",\u0142:"lstrok",\u0141:"Lstrok",\u0140:"lmidot",\u013F:"Lmidot","\u{1D52A}":"mfr","\u{1D55E}":"mopf","\u{1D4C2}":"mscr","\u{1D510}":"Mfr","\u{1D544}":"Mopf",\u2133:"Mscr","\u{1D52B}":"nfr","\u{1D55F}":"nopf","\u{1D4C3}":"nscr",\u2115:"Nopf","\u{1D4A9}":"Nscr","\u{1D511}":"Nfr",\u0144:"nacute",\u0143:"Nacute",\u0148:"ncaron",\u0147:"Ncaron",\u00F1:"ntilde",\u00D1:"Ntilde",\u0146:"ncedil",\u0145:"Ncedil","\u2116":"numero",\u014B:"eng",\u014A:"ENG","\u{1D560}":"oopf","\u{1D52C}":"ofr",\u2134:"oscr","\u{1D4AA}":"Oscr","\u{1D512}":"Ofr","\u{1D546}":"Oopf",\u00BA:"ordm",\u00F3:"oacute",\u00D3:"Oacute",\u00F2:"ograve",\u00D2:"Ograve",\u00F4:"ocirc",\u00D4:"Ocirc",\u00F6:"ouml",\u00D6:"Ouml",\u0151:"odblac",\u0150:"Odblac",\u00F5:"otilde",\u00D5:"Otilde",\u00F8:"oslash",\u00D8:"Oslash",\u014D:"omacr",\u014C:"Omacr",\u0153:"oelig",\u0152:"OElig","\u{1D52D}":"pfr","\u{1D4C5}":"pscr","\u{1D561}":"popf",\u2119:"Popf","\u{1D513}":"Pfr","\u{1D4AB}":"Pscr","\u{1D562}":"qopf","\u{1D52E}":"qfr","\u{1D4C6}":"qscr","\u{1D4AC}":"Qscr","\u{1D514}":"Qfr",\u211A:"Qopf",\u0138:"kgreen","\u{1D52F}":"rfr","\u{1D563}":"ropf","\u{1D4C7}":"rscr",\u211B:"Rscr",\u211C:"Re",\u211D:"Ropf",\u0155:"racute",\u0154:"Racute",\u0159:"rcaron",\u0158:"Rcaron",\u0157:"rcedil",\u0156:"Rcedil","\u{1D564}":"sopf","\u{1D4C8}":"sscr","\u{1D530}":"sfr","\u{1D54A}":"Sopf","\u{1D516}":"Sfr","\u{1D4AE}":"Sscr","\u24C8":"oS",\u015B:"sacute",\u015A:"Sacute",\u015D:"scirc",\u015C:"Scirc",\u0161:"scaron",\u0160:"Scaron",\u015F:"scedil",\u015E:"Scedil",\u00DF:"szlig","\u{1D531}":"tfr","\u{1D4C9}":"tscr","\u{1D565}":"topf","\u{1D4AF}":"Tscr","\u{1D517}":"Tfr","\u{1D54B}":"Topf",\u0165:"tcaron",\u0164:"Tcaron",\u0163:"tcedil",\u0162:"Tcedil","\u2122":"trade",\u0167:"tstrok",\u0166:"Tstrok","\u{1D4CA}":"uscr","\u{1D566}":"uopf","\u{1D532}":"ufr","\u{1D54C}":"Uopf","\u{1D518}":"Ufr","\u{1D4B0}":"Uscr",\u00FA:"uacute",\u00DA:"Uacute",\u00F9:"ugrave",\u00D9:"Ugrave",\u016D:"ubreve",\u016C:"Ubreve",\u00FB:"ucirc",\u00DB:"Ucirc",\u016F:"uring",\u016E:"Uring",\u00FC:"uuml",\u00DC:"Uuml",\u0171:"udblac",\u0170:"Udblac",\u0169:"utilde",\u0168:"Utilde",\u0173:"uogon",\u0172:"Uogon",\u016B:"umacr",\u016A:"Umacr","\u{1D533}":"vfr","\u{1D567}":"vopf","\u{1D4CB}":"vscr","\u{1D519}":"Vfr","\u{1D54D}":"Vopf","\u{1D4B1}":"Vscr","\u{1D568}":"wopf","\u{1D4CC}":"wscr","\u{1D534}":"wfr","\u{1D4B2}":"Wscr","\u{1D54E}":"Wopf","\u{1D51A}":"Wfr",\u0175:"wcirc",\u0174:"Wcirc","\u{1D535}":"xfr","\u{1D4CD}":"xscr","\u{1D569}":"xopf","\u{1D54F}":"Xopf","\u{1D51B}":"Xfr","\u{1D4B3}":"Xscr","\u{1D536}":"yfr","\u{1D4CE}":"yscr","\u{1D56A}":"yopf","\u{1D4B4}":"Yscr","\u{1D51C}":"Yfr","\u{1D550}":"Yopf",\u00FD:"yacute",\u00DD:"Yacute",\u0177:"ycirc",\u0176:"Ycirc",\u00FF:"yuml",\u0178:"Yuml","\u{1D4CF}":"zscr","\u{1D537}":"zfr","\u{1D56B}":"zopf",\u2128:"Zfr",\u2124:"Zopf","\u{1D4B5}":"Zscr",\u017A:"zacute",\u0179:"Zacute",\u017E:"zcaron",\u017D:"Zcaron",\u017C:"zdot",\u017B:"Zdot",\u01B5:"imped",\u00FE:"thorn",\u00DE:"THORN",\u0149:"napos",\u03B1:"alpha",\u0391:"Alpha",\u03B2:"beta",\u0392:"Beta",\u03B3:"gamma",\u0393:"Gamma",\u03B4:"delta",\u0394:"Delta",\u03B5:"epsi","\u03F5":"epsiv",\u0395:"Epsilon",\u03DD:"gammad",\u03DC:"Gammad",\u03B6:"zeta",\u0396:"Zeta",\u03B7:"eta",\u0397:"Eta",\u03B8:"theta",\u03D1:"thetav",\u0398:"Theta",\u03B9:"iota",\u0399:"Iota",\u03BA:"kappa",\u03F0:"kappav",\u039A:"Kappa",\u03BB:"lambda",\u039B:"Lambda",\u03BC:"mu",\u00B5:"micro",\u039C:"Mu",\u03BD:"nu",\u039D:"Nu",\u03BE:"xi",\u039E:"Xi",\u03BF:"omicron",\u039F:"Omicron",\u03C0:"pi",\u03D6:"piv",\u03A0:"Pi",\u03C1:"rho",\u03F1:"rhov",\u03A1:"Rho",\u03C3:"sigma",\u03A3:"Sigma",\u03C2:"sigmaf",\u03C4:"tau",\u03A4:"Tau",\u03C5:"upsi",\u03A5:"Upsilon",\u03D2:"Upsi",\u03C6:"phi",\u03D5:"phiv",\u03A6:"Phi",\u03C7:"chi",\u03A7:"Chi",\u03C8:"psi",\u03A8:"Psi",\u03C9:"omega",\u03A9:"ohm",\u0430:"acy",\u0410:"Acy",\u0431:"bcy",\u0411:"Bcy",\u0432:"vcy",\u0412:"Vcy",\u0433:"gcy",\u0413:"Gcy",\u0453:"gjcy",\u0403:"GJcy",\u0434:"dcy",\u0414:"Dcy",\u0452:"djcy",\u0402:"DJcy",\u0435:"iecy",\u0415:"IEcy",\u0451:"iocy",\u0401:"IOcy",\u0454:"jukcy",\u0404:"Jukcy",\u0436:"zhcy",\u0416:"ZHcy",\u0437:"zcy",\u0417:"Zcy",\u0455:"dscy",\u0405:"DScy",\u0438:"icy",\u0418:"Icy",\u0456:"iukcy",\u0406:"Iukcy",\u0457:"yicy",\u0407:"YIcy",\u0439:"jcy",\u0419:"Jcy",\u0458:"jsercy",\u0408:"Jsercy",\u043A:"kcy",\u041A:"Kcy",\u045C:"kjcy",\u040C:"KJcy",\u043B:"lcy",\u041B:"Lcy",\u0459:"ljcy",\u0409:"LJcy",\u043C:"mcy",\u041C:"Mcy",\u043D:"ncy",\u041D:"Ncy",\u045A:"njcy",\u040A:"NJcy",\u043E:"ocy",\u041E:"Ocy",\u043F:"pcy",\u041F:"Pcy",\u0440:"rcy",\u0420:"Rcy",\u0441:"scy",\u0421:"Scy",\u0442:"tcy",\u0422:"Tcy",\u045B:"tshcy",\u040B:"TSHcy",\u0443:"ucy",\u0423:"Ucy",\u045E:"ubrcy",\u040E:"Ubrcy",\u0444:"fcy",\u0424:"Fcy",\u0445:"khcy",\u0425:"KHcy",\u0446:"tscy",\u0426:"TScy",\u0447:"chcy",\u0427:"CHcy",\u045F:"dzcy",\u040F:"DZcy",\u0448:"shcy",\u0428:"SHcy",\u0449:"shchcy",\u0429:"SHCHcy",\u044A:"hardcy",\u042A:"HARDcy",\u044B:"ycy",\u042B:"Ycy",\u044C:"softcy",\u042C:"SOFTcy",\u044D:"ecy",\u042D:"Ecy",\u044E:"yucy",\u042E:"YUcy",\u044F:"yacy",\u042F:"YAcy",\u2135:"aleph",\u2136:"beth",\u2137:"gimel",\u2138:"daleth"},c=/["&'<>`]/g,u={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,v={aacute:"\xE1",Aacute:"\xC1",abreve:"\u0103",Abreve:"\u0102",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",acy:"\u0430",Acy:"\u0410",aelig:"\xE6",AElig:"\xC6",af:"\u2061",afr:"\u{1D51E}",Afr:"\u{1D504}",agrave:"\xE0",Agrave:"\xC0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",Alpha:"\u0391",amacr:"\u0101",Amacr:"\u0100",amalg:"\u2A3F",amp:"&",AMP:"&",and:"\u2227",And:"\u2A53",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",Aogon:"\u0104",aopf:"\u{1D552}",Aopf:"\u{1D538}",ap:"\u2248",apacir:"\u2A6F",ape:"\u224A",apE:"\u2A70",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",Aring:"\xC5",ascr:"\u{1D4B6}",Ascr:"\u{1D49C}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",Bcy:"\u0411",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",beta:"\u03B2",Beta:"\u0392",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",Bfr:"\u{1D505}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bNot:"\u2AED",bopf:"\u{1D553}",Bopf:"\u{1D539}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxhD:"\u2565",boxHd:"\u2564",boxHD:"\u2566",boxhu:"\u2534",boxhU:"\u2568",boxHu:"\u2567",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpe:"\u224F",bumpE:"\u2AAE",bumpeq:"\u224F",Bumpeq:"\u224E",cacute:"\u0107",Cacute:"\u0106",cap:"\u2229",Cap:"\u22D2",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",ccaron:"\u010D",Ccaron:"\u010C",ccedil:"\xE7",Ccedil:"\xC7",ccirc:"\u0109",Ccirc:"\u0108",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",Cdot:"\u010A",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",chcy:"\u0447",CHcy:"\u0427",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",Chi:"\u03A7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cire:"\u2257",cirE:"\u29C3",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",colone:"\u2254",Colone:"\u2A74",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",cscr:"\u{1D4B8}",Cscr:"\u{1D49E}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",Cup:"\u22D3",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",dArr:"\u21D3",Darr:"\u21A1",dash:"\u2010",dashv:"\u22A3",Dashv:"\u2AE4",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",Dcaron:"\u010E",dcy:"\u0434",Dcy:"\u0414",dd:"\u2146",DD:"\u2145",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",delta:"\u03B4",Delta:"\u0394",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",Dfr:"\u{1D507}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",DJcy:"\u0402",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",Dopf:"\u{1D53B}",dot:"\u02D9",Dot:"\xA8",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",downarrow:"\u2193",Downarrow:"\u21D3",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",Dscr:"\u{1D49F}",dscy:"\u0455",DScy:"\u0405",dsol:"\u29F6",dstrok:"\u0111",Dstrok:"\u0110",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",DZcy:"\u040F",dzigrarr:"\u27FF",eacute:"\xE9",Eacute:"\xC9",easter:"\u2A6E",ecaron:"\u011B",Ecaron:"\u011A",ecir:"\u2256",ecirc:"\xEA",Ecirc:"\xCA",ecolon:"\u2255",ecy:"\u044D",Ecy:"\u042D",eDDot:"\u2A77",edot:"\u0117",eDot:"\u2251",Edot:"\u0116",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",Efr:"\u{1D508}",eg:"\u2A9A",egrave:"\xE8",Egrave:"\xC8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",Emacr:"\u0112",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",eng:"\u014B",ENG:"\u014A",ensp:"\u2002",eogon:"\u0119",Eogon:"\u0118",eopf:"\u{1D556}",Eopf:"\u{1D53C}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",Epsilon:"\u0395",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",esim:"\u2242",Esim:"\u2A73",eta:"\u03B7",Eta:"\u0397",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",Fcy:"\u0424",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",Ffr:"\u{1D509}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",Fopf:"\u{1D53D}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",gamma:"\u03B3",Gamma:"\u0393",gammad:"\u03DD",Gammad:"\u03DC",gap:"\u2A86",gbreve:"\u011F",Gbreve:"\u011E",Gcedil:"\u0122",gcirc:"\u011D",Gcirc:"\u011C",gcy:"\u0433",Gcy:"\u0413",gdot:"\u0121",Gdot:"\u0120",ge:"\u2265",gE:"\u2267",gel:"\u22DB",gEl:"\u2A8C",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",Gfr:"\u{1D50A}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",GJcy:"\u0403",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",Gopf:"\u{1D53E}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",gscr:"\u210A",Gscr:"\u{1D4A2}",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",Gt:"\u226B",GT:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",HARDcy:"\u042A",harr:"\u2194",hArr:"\u21D4",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",hcirc:"\u0125",Hcirc:"\u0124",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",hstrok:"\u0127",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",Iacute:"\xCD",ic:"\u2063",icirc:"\xEE",Icirc:"\xCE",icy:"\u0438",Icy:"\u0418",Idot:"\u0130",iecy:"\u0435",IEcy:"\u0415",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",igrave:"\xEC",Igrave:"\xCC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",IJlig:"\u0132",Im:"\u2111",imacr:"\u012B",Imacr:"\u012A",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",Int:"\u222C",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",iocy:"\u0451",IOcy:"\u0401",iogon:"\u012F",Iogon:"\u012E",iopf:"\u{1D55A}",Iopf:"\u{1D540}",iota:"\u03B9",Iota:"\u0399",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",Itilde:"\u0128",iukcy:"\u0456",Iukcy:"\u0406",iuml:"\xEF",Iuml:"\xCF",jcirc:"\u0135",Jcirc:"\u0134",jcy:"\u0439",Jcy:"\u0419",jfr:"\u{1D527}",Jfr:"\u{1D50D}",jmath:"\u0237",jopf:"\u{1D55B}",Jopf:"\u{1D541}",jscr:"\u{1D4BF}",Jscr:"\u{1D4A5}",jsercy:"\u0458",Jsercy:"\u0408",jukcy:"\u0454",Jukcy:"\u0404",kappa:"\u03BA",Kappa:"\u039A",kappav:"\u03F0",kcedil:"\u0137",Kcedil:"\u0136",kcy:"\u043A",Kcy:"\u041A",kfr:"\u{1D528}",Kfr:"\u{1D50E}",kgreen:"\u0138",khcy:"\u0445",KHcy:"\u0425",kjcy:"\u045C",KJcy:"\u040C",kopf:"\u{1D55C}",Kopf:"\u{1D542}",kscr:"\u{1D4C0}",Kscr:"\u{1D4A6}",lAarr:"\u21DA",lacute:"\u013A",Lacute:"\u0139",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",Lambda:"\u039B",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larr:"\u2190",lArr:"\u21D0",Larr:"\u219E",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",lAtail:"\u291B",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",Lcaron:"\u013D",lcedil:"\u013C",Lcedil:"\u013B",lceil:"\u2308",lcub:"{",lcy:"\u043B",Lcy:"\u041B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",leftarrow:"\u2190",Leftarrow:"\u21D0",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",Leftrightarrow:"\u21D4",LeftRightArrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",leg:"\u22DA",lEg:"\u2A8B",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",Lfr:"\u{1D50F}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",LJcy:"\u0409",ll:"\u226A",Ll:"\u22D8",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",Lmidot:"\u013F",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",Longleftarrow:"\u27F8",LongLeftArrow:"\u27F5",longleftrightarrow:"\u27F7",Longleftrightarrow:"\u27FA",LongLeftRightArrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",Longrightarrow:"\u27F9",LongRightArrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",Lopf:"\u{1D543}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",Lstrok:"\u0141",lt:"<",Lt:"\u226A",LT:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",Map:"\u2905",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",Mcy:"\u041C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",mfr:"\u{1D52A}",Mfr:"\u{1D510}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",Mopf:"\u{1D544}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",mu:"\u03BC",Mu:"\u039C",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",nacute:"\u0144",Nacute:"\u0143",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",Ncaron:"\u0147",ncedil:"\u0146",Ncedil:"\u0145",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",Ncy:"\u041D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",Nfr:"\u{1D511}",nge:"\u2271",ngE:"\u2267\u0338",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",ngt:"\u226F",nGt:"\u226B\u20D2",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",NJcy:"\u040A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nle:"\u2270",nlE:"\u2266\u0338",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nlt:"\u226E",nLt:"\u226A\u20D2",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",not:"\xAC",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",Nscr:"\u{1D4A9}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsube:"\u2288",nsubE:"\u2AC5\u0338",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupe:"\u2289",nsupE:"\u2AC6\u0338",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",Ntilde:"\xD1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",Nu:"\u039D",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",oacute:"\xF3",Oacute:"\xD3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",Ocirc:"\xD4",ocy:"\u043E",Ocy:"\u041E",odash:"\u229D",odblac:"\u0151",Odblac:"\u0150",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",OElig:"\u0152",ofcir:"\u29BF",ofr:"\u{1D52C}",Ofr:"\u{1D512}",ogon:"\u02DB",ograve:"\xF2",Ograve:"\xD2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",Omacr:"\u014C",omega:"\u03C9",Omega:"\u03A9",omicron:"\u03BF",Omicron:"\u039F",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",Oopf:"\u{1D546}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",or:"\u2228",Or:"\u2A54",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",oscr:"\u2134",Oscr:"\u{1D4AA}",oslash:"\xF8",Oslash:"\xD8",osol:"\u2298",otilde:"\xF5",Otilde:"\xD5",otimes:"\u2297",Otimes:"\u2A37",otimesas:"\u2A36",ouml:"\xF6",Ouml:"\xD6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",pcy:"\u043F",Pcy:"\u041F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",Pfr:"\u{1D513}",phi:"\u03C6",Phi:"\u03A6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",Pi:"\u03A0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",pr:"\u227A",Pr:"\u2ABB",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prE:"\u2AB3",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",Pscr:"\u{1D4AB}",psi:"\u03C8",Psi:"\u03A8",puncsp:"\u2008",qfr:"\u{1D52E}",Qfr:"\u{1D514}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",qscr:"\u{1D4C6}",Qscr:"\u{1D4AC}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",racute:"\u0155",Racute:"\u0154",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rArr:"\u21D2",Rarr:"\u21A0",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",Rarrtl:"\u2916",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",Rcaron:"\u0158",rcedil:"\u0157",Rcedil:"\u0156",rceil:"\u2309",rcub:"}",rcy:"\u0440",Rcy:"\u0420",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",Rho:"\u03A1",rhov:"\u03F1",RightAngleBracket:"\u27E9",rightarrow:"\u2192",Rightarrow:"\u21D2",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",Sacute:"\u015A",sbquo:"\u201A",sc:"\u227B",Sc:"\u2ABC",scap:"\u2AB8",scaron:"\u0161",Scaron:"\u0160",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",scedil:"\u015F",Scedil:"\u015E",scirc:"\u015D",Scirc:"\u015C",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",Scy:"\u0421",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",Sfr:"\u{1D516}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",SHCHcy:"\u0429",shcy:"\u0448",SHcy:"\u0428",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",sigma:"\u03C3",Sigma:"\u03A3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",SOFTcy:"\u042C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",Sopf:"\u{1D54A}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",Sscr:"\u{1D4AE}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",Star:"\u22C6",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",sube:"\u2286",subE:"\u2AC5",subedot:"\u2AC3",submult:"\u2AC1",subne:"\u228A",subnE:"\u2ACB",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup:"\u2283",Sup:"\u22D1",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supE:"\u2AC6",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supne:"\u228B",supnE:"\u2ACC",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",tau:"\u03C4",Tau:"\u03A4",tbrk:"\u23B4",tcaron:"\u0165",Tcaron:"\u0164",tcedil:"\u0163",Tcedil:"\u0162",tcy:"\u0442",Tcy:"\u0422",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",Tfr:"\u{1D517}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",theta:"\u03B8",Theta:"\u0398",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",THORN:"\xDE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",Topf:"\u{1D54B}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",Tscr:"\u{1D4AF}",tscy:"\u0446",TScy:"\u0426",tshcy:"\u045B",TSHcy:"\u040B",tstrok:"\u0167",Tstrok:"\u0166",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uacute:"\xFA",Uacute:"\xDA",uarr:"\u2191",uArr:"\u21D1",Uarr:"\u219F",Uarrocir:"\u2949",ubrcy:"\u045E",Ubrcy:"\u040E",ubreve:"\u016D",Ubreve:"\u016C",ucirc:"\xFB",Ucirc:"\xDB",ucy:"\u0443",Ucy:"\u0423",udarr:"\u21C5",udblac:"\u0171",Udblac:"\u0170",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",Ufr:"\u{1D518}",ugrave:"\xF9",Ugrave:"\xD9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",Umacr:"\u016A",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",uogon:"\u0173",Uogon:"\u0172",uopf:"\u{1D566}",Uopf:"\u{1D54C}",uparrow:"\u2191",Uparrow:"\u21D1",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",Updownarrow:"\u21D5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",upsilon:"\u03C5",Upsilon:"\u03A5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",Uring:"\u016E",urtri:"\u25F9",uscr:"\u{1D4CA}",Uscr:"\u{1D4B0}",utdot:"\u22F0",utilde:"\u0169",Utilde:"\u0168",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",Uuml:"\xDC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",vcy:"\u0432",Vcy:"\u0412",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",vee:"\u2228",Vee:"\u22C1",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",vfr:"\u{1D533}",Vfr:"\u{1D519}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",Vopf:"\u{1D54D}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",Vscr:"\u{1D4B1}",vsubne:"\u228A\uFE00",vsubnE:"\u2ACB\uFE00",vsupne:"\u228B\uFE00",vsupnE:"\u2ACC\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",wcirc:"\u0175",Wcirc:"\u0174",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",Wfr:"\u{1D51A}",wopf:"\u{1D568}",Wopf:"\u{1D54E}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",Wscr:"\u{1D4B2}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",Xfr:"\u{1D51B}",xharr:"\u27F7",xhArr:"\u27FA",xi:"\u03BE",Xi:"\u039E",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",Xopf:"\u{1D54F}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",xscr:"\u{1D4CD}",Xscr:"\u{1D4B3}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",Yacute:"\xDD",yacy:"\u044F",YAcy:"\u042F",ycirc:"\u0177",Ycirc:"\u0176",ycy:"\u044B",Ycy:"\u042B",yen:"\xA5",yfr:"\u{1D536}",Yfr:"\u{1D51C}",yicy:"\u0457",YIcy:"\u0407",yopf:"\u{1D56A}",Yopf:"\u{1D550}",yscr:"\u{1D4CE}",Yscr:"\u{1D4B4}",yucy:"\u044E",YUcy:"\u042E",yuml:"\xFF",Yuml:"\u0178",zacute:"\u017A",Zacute:"\u0179",zcaron:"\u017E",Zcaron:"\u017D",zcy:"\u0437",Zcy:"\u0417",zdot:"\u017C",Zdot:"\u017B",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",zeta:"\u03B6",Zeta:"\u0396",zfr:"\u{1D537}",Zfr:"\u2128",zhcy:"\u0436",ZHcy:"\u0416",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",zscr:"\u{1D4CF}",Zscr:"\u{1D4B5}",zwj:"\u200D",zwnj:"\u200C"},g={aacute:"\xE1",Aacute:"\xC1",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",aelig:"\xE6",AElig:"\xC6",agrave:"\xE0",Agrave:"\xC0",amp:"&",AMP:"&",aring:"\xE5",Aring:"\xC5",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",brvbar:"\xA6",ccedil:"\xE7",Ccedil:"\xC7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",Eacute:"\xC9",ecirc:"\xEA",Ecirc:"\xCA",egrave:"\xE8",Egrave:"\xC8",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",iacute:"\xED",Iacute:"\xCD",icirc:"\xEE",Icirc:"\xCE",iexcl:"\xA1",igrave:"\xEC",Igrave:"\xCC",iquest:"\xBF",iuml:"\xEF",Iuml:"\xCF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",Ntilde:"\xD1",oacute:"\xF3",Oacute:"\xD3",ocirc:"\xF4",Ocirc:"\xD4",ograve:"\xF2",Ograve:"\xD2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",Oslash:"\xD8",otilde:"\xF5",Otilde:"\xD5",ouml:"\xF6",Ouml:"\xD6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",THORN:"\xDE",times:"\xD7",uacute:"\xFA",Uacute:"\xDA",ucirc:"\xFB",Ucirc:"\xDB",ugrave:"\xF9",Ugrave:"\xD9",uml:"\xA8",uuml:"\xFC",Uuml:"\xDC",yacute:"\xFD",Yacute:"\xDD",yen:"\xA5",yuml:"\xFF"},x={"0":"\uFFFD","128":"\u20AC","130":"\u201A","131":"\u0192","132":"\u201E","133":"\u2026","134":"\u2020","135":"\u2021","136":"\u02C6","137":"\u2030","138":"\u0160","139":"\u2039","140":"\u0152","142":"\u017D","145":"\u2018","146":"\u2019","147":"\u201C","148":"\u201D","149":"\u2022","150":"\u2013","151":"\u2014","152":"\u02DC","153":"\u2122","154":"\u0161","155":"\u203A","156":"\u0153","158":"\u017E","159":"\u0178"},p=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],d=String.fromCharCode,z={},b=z.hasOwnProperty,C=function(N,U){return b.call(N,U)},E=function(N,U){for(var Z=-1,O=N.length;++Z=55296&&N<=57343||N>1114111?(U&&M("character reference outside the permissible Unicode range"),"\uFFFD"):C(x,N)?(U&&M("disallowed character reference"),x[N]):(U&&E(p,N)&&M("disallowed character reference"),N>65535&&(N-=65536,Z+=d(N>>>10&1023|55296),N=56320|N&1023),Z+=d(N),Z)},P=function(N){return"&#x"+N.toString(16).toUpperCase()+";"},F=function(N){return"&#"+N+";"},M=function(N){throw Error("Parse error: "+N)},D=function(N,U){U=T(U,D.options);var Z=U.strict;Z&&h.test(N)&&M("forbidden code point");var O=U.encodeEverything,W=U.useNamedReferences,X=U.allowUnsafeSymbols,Q=U.decimal?F:P,a1=function(B){return Q(B.charCodeAt(0))};return O?(N=N.replace(r,function(B){return W&&C(l,B)?"&"+l[B]+";":a1(B)}),W&&(N=N.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),W&&(N=N.replace(o,function(B){return"&"+l[B]+";"}))):W?(X||(N=N.replace(c,function(B){return"&"+l[B]+";"})),N=N.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),N=N.replace(o,function(B){return"&"+l[B]+";"})):X||(N=N.replace(c,a1)),N.replace(a,function(B){var M1=B.charCodeAt(0),u1=B.charCodeAt(1),v1=(M1-55296)*1024+u1-56320+65536;return Q(v1)}).replace(s,a1)};D.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var A=function(N,U){U=T(U,A.options);var Z=U.strict;return Z&&f.test(N)&&M("malformed character reference"),N.replace(m,function(O,W,X,Q,a1,B,M1,u1,v1){var n1,T1,A1,C1,h2,$1;return W?(h2=W,v[h2]):X?(h2=X,$1=Q,$1&&U.isAttributeValue?(Z&&$1=="="&&M("`&` did not start a character reference"),O):(Z&&M("named character reference was not terminated by a semicolon"),g[h2]+($1||""))):a1?(A1=a1,T1=B,Z&&!T1&&M("character reference was not terminated by a semicolon"),n1=parseInt(A1,10),_(n1,Z)):M1?(C1=M1,T1=u1,Z&&!T1&&M("character reference was not terminated by a semicolon"),n1=parseInt(C1,16),_(n1,Z)):(Z&&M("named character reference was not terminated by a semicolon"),O)})};A.options={isAttributeValue:!1,strict:!1};var H=function(N){return N.replace(c,function(U){return u[U]})},V={version:"1.2.0",encode:D,decode:A,escape:H,unescape:A};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd)define(function(){return V});else if(e&&!e.nodeType)if(t)t.exports=V;else for(var L in V)C(V,L)&&(e[L]=V[L]);else n.he=V})(n6)});var _o=M0((wo,v0)=>{(function(n,e){typeof define=="function"&&define.amd?define([],e):typeof v0=="object"&&v0.exports?v0.exports=e():n.moo=e()})(wo,function(){"use strict";var n=Object.prototype.hasOwnProperty,e=Object.prototype.toString,t=typeof new RegExp().sticky=="boolean";function i(_){return _&&e.call(_)==="[object RegExp]"}function a(_){return _&&typeof _=="object"&&!i(_)&&!Array.isArray(_)}function r(_){return _.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function s(_){var P=new RegExp("|"+_);return P.exec("").length-1}function o(_){return"("+_+")"}function l(_){if(!_.length)return"(?!)";var P=_.map(function(F){return"(?:"+F+")"}).join("|");return"(?:"+P+")"}function c(_){if(typeof _=="string")return"(?:"+r(_)+")";if(i(_)){if(_.ignoreCase)throw new Error("RegExp /i flag not allowed");if(_.global)throw new Error("RegExp /g flag is implied");if(_.sticky)throw new Error("RegExp /y flag is implied");if(_.multiline)throw new Error("RegExp /m flag is implied");return _.source}else throw new Error("Not a pattern: "+_)}function u(_){for(var P=Object.getOwnPropertyNames(_),F=[],M=0;M0)throw new Error("RegExp has capture groups: "+Q+` +var Bo=Object.create;var Kt=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Io=Object.getOwnPropertyNames;var ko=Object.getPrototypeOf,Uo=Object.prototype.hasOwnProperty;var Fi=n=>Kt(n,"__esModule",{value:!0});var M0=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),Oo=(n,e)=>{Fi(n);for(var t in e)Kt(n,t,{get:e[t],enumerable:!0})},Go=(n,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Io(e))!Uo.call(n,i)&&i!=="default"&&Kt(n,i,{get:()=>e[i],enumerable:!(t=Po(e,i))||t.enumerable});return n},w2=n=>Go(Fi(Kt(n!=null?Bo(ko(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);var Bi=M0(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});require("obsidian");var qo=n=>{var e;return n?(e=n.plugins.plugins.dataview)===null||e===void 0?void 0:e.api:window.DataviewAPI},Wo=n=>n.plugins.enabledPlugins.has("dataview");Jt.getAPI=qo;Jt.isPluginEnabled=Wo});var Ma=M0((s6,bt)=>{(function(n){var e=typeof s6=="object"&&s6,t=typeof bt=="object"&&bt&&bt.exports==e&&bt,i=typeof global=="object"&&global;(i.global===i||i.window===i)&&(n=i);var a=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,r=/[\x01-\x7F]/g,s=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,o=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,c={"\xAD":"shy","\u200C":"zwnj","\u200D":"zwj","\u200E":"lrm","\u2063":"ic","\u2062":"it","\u2061":"af","\u200F":"rlm","\u200B":"ZeroWidthSpace","\u2060":"NoBreak","\u0311":"DownBreve","\u20DB":"tdot","\u20DC":"DotDot"," ":"Tab","\n":"NewLine","\u2008":"puncsp","\u205F":"MediumSpace","\u2009":"thinsp","\u200A":"hairsp","\u2004":"emsp13","\u2002":"ensp","\u2005":"emsp14","\u2003":"emsp","\u2007":"numsp","\xA0":"nbsp","\u205F\u200A":"ThickSpace","\u203E":"oline",_:"lowbar","\u2010":"dash","\u2013":"ndash","\u2014":"mdash","\u2015":"horbar",",":"comma",";":"semi","\u204F":"bsemi",":":"colon","\u2A74":"Colone","!":"excl","\xA1":"iexcl","?":"quest","\xBF":"iquest",".":"period","\u2025":"nldr","\u2026":"mldr","\xB7":"middot","'":"apos","\u2018":"lsquo","\u2019":"rsquo","\u201A":"sbquo","\u2039":"lsaquo","\u203A":"rsaquo",'"':"quot","\u201C":"ldquo","\u201D":"rdquo","\u201E":"bdquo","\xAB":"laquo","\xBB":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","\u2308":"lceil","\u2309":"rceil","\u230A":"lfloor","\u230B":"rfloor","\u2985":"lopar","\u2986":"ropar","\u298B":"lbrke","\u298C":"rbrke","\u298D":"lbrkslu","\u298E":"rbrksld","\u298F":"lbrksld","\u2990":"rbrkslu","\u2991":"langd","\u2992":"rangd","\u2993":"lparlt","\u2994":"rpargt","\u2995":"gtlPar","\u2996":"ltrPar","\u27E6":"lobrk","\u27E7":"robrk","\u27E8":"lang","\u27E9":"rang","\u27EA":"Lang","\u27EB":"Rang","\u27EC":"loang","\u27ED":"roang","\u2772":"lbbrk","\u2773":"rbbrk","\u2016":"Vert","\xA7":"sect","\xB6":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","\u2030":"permil","\u2031":"pertenk","\u2020":"dagger","\u2021":"Dagger","\u2022":"bull","\u2043":"hybull","\u2032":"prime","\u2033":"Prime","\u2034":"tprime","\u2057":"qprime","\u2035":"bprime","\u2041":"caret","`":"grave","\xB4":"acute","\u02DC":"tilde","^":"Hat","\xAF":"macr","\u02D8":"breve","\u02D9":"dot","\xA8":"die","\u02DA":"ring","\u02DD":"dblac","\xB8":"cedil","\u02DB":"ogon","\u02C6":"circ","\u02C7":"caron","\xB0":"deg","\xA9":"copy","\xAE":"reg","\u2117":"copysr","\u2118":"wp","\u211E":"rx","\u2127":"mho","\u2129":"iiota","\u2190":"larr","\u219A":"nlarr","\u2192":"rarr","\u219B":"nrarr","\u2191":"uarr","\u2193":"darr","\u2194":"harr","\u21AE":"nharr","\u2195":"varr","\u2196":"nwarr","\u2197":"nearr","\u2198":"searr","\u2199":"swarr","\u219D":"rarrw","\u219D\u0338":"nrarrw","\u219E":"Larr","\u219F":"Uarr","\u21A0":"Rarr","\u21A1":"Darr","\u21A2":"larrtl","\u21A3":"rarrtl","\u21A4":"mapstoleft","\u21A5":"mapstoup","\u21A6":"map","\u21A7":"mapstodown","\u21A9":"larrhk","\u21AA":"rarrhk","\u21AB":"larrlp","\u21AC":"rarrlp","\u21AD":"harrw","\u21B0":"lsh","\u21B1":"rsh","\u21B2":"ldsh","\u21B3":"rdsh","\u21B5":"crarr","\u21B6":"cularr","\u21B7":"curarr","\u21BA":"olarr","\u21BB":"orarr","\u21BC":"lharu","\u21BD":"lhard","\u21BE":"uharr","\u21BF":"uharl","\u21C0":"rharu","\u21C1":"rhard","\u21C2":"dharr","\u21C3":"dharl","\u21C4":"rlarr","\u21C5":"udarr","\u21C6":"lrarr","\u21C7":"llarr","\u21C8":"uuarr","\u21C9":"rrarr","\u21CA":"ddarr","\u21CB":"lrhar","\u21CC":"rlhar","\u21D0":"lArr","\u21CD":"nlArr","\u21D1":"uArr","\u21D2":"rArr","\u21CF":"nrArr","\u21D3":"dArr","\u21D4":"iff","\u21CE":"nhArr","\u21D5":"vArr","\u21D6":"nwArr","\u21D7":"neArr","\u21D8":"seArr","\u21D9":"swArr","\u21DA":"lAarr","\u21DB":"rAarr","\u21DD":"zigrarr","\u21E4":"larrb","\u21E5":"rarrb","\u21F5":"duarr","\u21FD":"loarr","\u21FE":"roarr","\u21FF":"hoarr","\u2200":"forall","\u2201":"comp","\u2202":"part","\u2202\u0338":"npart","\u2203":"exist","\u2204":"nexist","\u2205":"empty","\u2207":"Del","\u2208":"in","\u2209":"notin","\u220B":"ni","\u220C":"notni","\u03F6":"bepsi","\u220F":"prod","\u2210":"coprod","\u2211":"sum","+":"plus","\xB1":"pm","\xF7":"div","\xD7":"times","<":"lt","\u226E":"nlt","<\u20D2":"nvlt","=":"equals","\u2260":"ne","=\u20E5":"bne","\u2A75":"Equal",">":"gt","\u226F":"ngt",">\u20D2":"nvgt","\xAC":"not","|":"vert","\xA6":"brvbar","\u2212":"minus","\u2213":"mp","\u2214":"plusdo","\u2044":"frasl","\u2216":"setmn","\u2217":"lowast","\u2218":"compfn","\u221A":"Sqrt","\u221D":"prop","\u221E":"infin","\u221F":"angrt","\u2220":"ang","\u2220\u20D2":"nang","\u2221":"angmsd","\u2222":"angsph","\u2223":"mid","\u2224":"nmid","\u2225":"par","\u2226":"npar","\u2227":"and","\u2228":"or","\u2229":"cap","\u2229\uFE00":"caps","\u222A":"cup","\u222A\uFE00":"cups","\u222B":"int","\u222C":"Int","\u222D":"tint","\u2A0C":"qint","\u222E":"oint","\u222F":"Conint","\u2230":"Cconint","\u2231":"cwint","\u2232":"cwconint","\u2233":"awconint","\u2234":"there4","\u2235":"becaus","\u2236":"ratio","\u2237":"Colon","\u2238":"minusd","\u223A":"mDDot","\u223B":"homtht","\u223C":"sim","\u2241":"nsim","\u223C\u20D2":"nvsim","\u223D":"bsim","\u223D\u0331":"race","\u223E":"ac","\u223E\u0333":"acE","\u223F":"acd","\u2240":"wr","\u2242":"esim","\u2242\u0338":"nesim","\u2243":"sime","\u2244":"nsime","\u2245":"cong","\u2247":"ncong","\u2246":"simne","\u2248":"ap","\u2249":"nap","\u224A":"ape","\u224B":"apid","\u224B\u0338":"napid","\u224C":"bcong","\u224D":"CupCap","\u226D":"NotCupCap","\u224D\u20D2":"nvap","\u224E":"bump","\u224E\u0338":"nbump","\u224F":"bumpe","\u224F\u0338":"nbumpe","\u2250":"doteq","\u2250\u0338":"nedot","\u2251":"eDot","\u2252":"efDot","\u2253":"erDot","\u2254":"colone","\u2255":"ecolon","\u2256":"ecir","\u2257":"cire","\u2259":"wedgeq","\u225A":"veeeq","\u225C":"trie","\u225F":"equest","\u2261":"equiv","\u2262":"nequiv","\u2261\u20E5":"bnequiv","\u2264":"le","\u2270":"nle","\u2264\u20D2":"nvle","\u2265":"ge","\u2271":"nge","\u2265\u20D2":"nvge","\u2266":"lE","\u2266\u0338":"nlE","\u2267":"gE","\u2267\u0338":"ngE","\u2268\uFE00":"lvnE","\u2268":"lnE","\u2269":"gnE","\u2269\uFE00":"gvnE","\u226A":"ll","\u226A\u0338":"nLtv","\u226A\u20D2":"nLt","\u226B":"gg","\u226B\u0338":"nGtv","\u226B\u20D2":"nGt","\u226C":"twixt","\u2272":"lsim","\u2274":"nlsim","\u2273":"gsim","\u2275":"ngsim","\u2276":"lg","\u2278":"ntlg","\u2277":"gl","\u2279":"ntgl","\u227A":"pr","\u2280":"npr","\u227B":"sc","\u2281":"nsc","\u227C":"prcue","\u22E0":"nprcue","\u227D":"sccue","\u22E1":"nsccue","\u227E":"prsim","\u227F":"scsim","\u227F\u0338":"NotSucceedsTilde","\u2282":"sub","\u2284":"nsub","\u2282\u20D2":"vnsub","\u2283":"sup","\u2285":"nsup","\u2283\u20D2":"vnsup","\u2286":"sube","\u2288":"nsube","\u2287":"supe","\u2289":"nsupe","\u228A\uFE00":"vsubne","\u228A":"subne","\u228B\uFE00":"vsupne","\u228B":"supne","\u228D":"cupdot","\u228E":"uplus","\u228F":"sqsub","\u228F\u0338":"NotSquareSubset","\u2290":"sqsup","\u2290\u0338":"NotSquareSuperset","\u2291":"sqsube","\u22E2":"nsqsube","\u2292":"sqsupe","\u22E3":"nsqsupe","\u2293":"sqcap","\u2293\uFE00":"sqcaps","\u2294":"sqcup","\u2294\uFE00":"sqcups","\u2295":"oplus","\u2296":"ominus","\u2297":"otimes","\u2298":"osol","\u2299":"odot","\u229A":"ocir","\u229B":"oast","\u229D":"odash","\u229E":"plusb","\u229F":"minusb","\u22A0":"timesb","\u22A1":"sdotb","\u22A2":"vdash","\u22AC":"nvdash","\u22A3":"dashv","\u22A4":"top","\u22A5":"bot","\u22A7":"models","\u22A8":"vDash","\u22AD":"nvDash","\u22A9":"Vdash","\u22AE":"nVdash","\u22AA":"Vvdash","\u22AB":"VDash","\u22AF":"nVDash","\u22B0":"prurel","\u22B2":"vltri","\u22EA":"nltri","\u22B3":"vrtri","\u22EB":"nrtri","\u22B4":"ltrie","\u22EC":"nltrie","\u22B4\u20D2":"nvltrie","\u22B5":"rtrie","\u22ED":"nrtrie","\u22B5\u20D2":"nvrtrie","\u22B6":"origof","\u22B7":"imof","\u22B8":"mumap","\u22B9":"hercon","\u22BA":"intcal","\u22BB":"veebar","\u22BD":"barvee","\u22BE":"angrtvb","\u22BF":"lrtri","\u22C0":"Wedge","\u22C1":"Vee","\u22C2":"xcap","\u22C3":"xcup","\u22C4":"diam","\u22C5":"sdot","\u22C6":"Star","\u22C7":"divonx","\u22C8":"bowtie","\u22C9":"ltimes","\u22CA":"rtimes","\u22CB":"lthree","\u22CC":"rthree","\u22CD":"bsime","\u22CE":"cuvee","\u22CF":"cuwed","\u22D0":"Sub","\u22D1":"Sup","\u22D2":"Cap","\u22D3":"Cup","\u22D4":"fork","\u22D5":"epar","\u22D6":"ltdot","\u22D7":"gtdot","\u22D8":"Ll","\u22D8\u0338":"nLl","\u22D9":"Gg","\u22D9\u0338":"nGg","\u22DA\uFE00":"lesg","\u22DA":"leg","\u22DB":"gel","\u22DB\uFE00":"gesl","\u22DE":"cuepr","\u22DF":"cuesc","\u22E6":"lnsim","\u22E7":"gnsim","\u22E8":"prnsim","\u22E9":"scnsim","\u22EE":"vellip","\u22EF":"ctdot","\u22F0":"utdot","\u22F1":"dtdot","\u22F2":"disin","\u22F3":"isinsv","\u22F4":"isins","\u22F5":"isindot","\u22F5\u0338":"notindot","\u22F6":"notinvc","\u22F7":"notinvb","\u22F9":"isinE","\u22F9\u0338":"notinE","\u22FA":"nisd","\u22FB":"xnis","\u22FC":"nis","\u22FD":"notnivc","\u22FE":"notnivb","\u2305":"barwed","\u2306":"Barwed","\u230C":"drcrop","\u230D":"dlcrop","\u230E":"urcrop","\u230F":"ulcrop","\u2310":"bnot","\u2312":"profline","\u2313":"profsurf","\u2315":"telrec","\u2316":"target","\u231C":"ulcorn","\u231D":"urcorn","\u231E":"dlcorn","\u231F":"drcorn","\u2322":"frown","\u2323":"smile","\u232D":"cylcty","\u232E":"profalar","\u2336":"topbot","\u233D":"ovbar","\u233F":"solbar","\u237C":"angzarr","\u23B0":"lmoust","\u23B1":"rmoust","\u23B4":"tbrk","\u23B5":"bbrk","\u23B6":"bbrktbrk","\u23DC":"OverParenthesis","\u23DD":"UnderParenthesis","\u23DE":"OverBrace","\u23DF":"UnderBrace","\u23E2":"trpezium","\u23E7":"elinters","\u2423":"blank","\u2500":"boxh","\u2502":"boxv","\u250C":"boxdr","\u2510":"boxdl","\u2514":"boxur","\u2518":"boxul","\u251C":"boxvr","\u2524":"boxvl","\u252C":"boxhd","\u2534":"boxhu","\u253C":"boxvh","\u2550":"boxH","\u2551":"boxV","\u2552":"boxdR","\u2553":"boxDr","\u2554":"boxDR","\u2555":"boxdL","\u2556":"boxDl","\u2557":"boxDL","\u2558":"boxuR","\u2559":"boxUr","\u255A":"boxUR","\u255B":"boxuL","\u255C":"boxUl","\u255D":"boxUL","\u255E":"boxvR","\u255F":"boxVr","\u2560":"boxVR","\u2561":"boxvL","\u2562":"boxVl","\u2563":"boxVL","\u2564":"boxHd","\u2565":"boxhD","\u2566":"boxHD","\u2567":"boxHu","\u2568":"boxhU","\u2569":"boxHU","\u256A":"boxvH","\u256B":"boxVh","\u256C":"boxVH","\u2580":"uhblk","\u2584":"lhblk","\u2588":"block","\u2591":"blk14","\u2592":"blk12","\u2593":"blk34","\u25A1":"squ","\u25AA":"squf","\u25AB":"EmptyVerySmallSquare","\u25AD":"rect","\u25AE":"marker","\u25B1":"fltns","\u25B3":"xutri","\u25B4":"utrif","\u25B5":"utri","\u25B8":"rtrif","\u25B9":"rtri","\u25BD":"xdtri","\u25BE":"dtrif","\u25BF":"dtri","\u25C2":"ltrif","\u25C3":"ltri","\u25CA":"loz","\u25CB":"cir","\u25EC":"tridot","\u25EF":"xcirc","\u25F8":"ultri","\u25F9":"urtri","\u25FA":"lltri","\u25FB":"EmptySmallSquare","\u25FC":"FilledSmallSquare","\u2605":"starf","\u2606":"star","\u260E":"phone","\u2640":"female","\u2642":"male","\u2660":"spades","\u2663":"clubs","\u2665":"hearts","\u2666":"diams","\u266A":"sung","\u2713":"check","\u2717":"cross","\u2720":"malt","\u2736":"sext","\u2758":"VerticalSeparator","\u27C8":"bsolhsub","\u27C9":"suphsol","\u27F5":"xlarr","\u27F6":"xrarr","\u27F7":"xharr","\u27F8":"xlArr","\u27F9":"xrArr","\u27FA":"xhArr","\u27FC":"xmap","\u27FF":"dzigrarr","\u2902":"nvlArr","\u2903":"nvrArr","\u2904":"nvHarr","\u2905":"Map","\u290C":"lbarr","\u290D":"rbarr","\u290E":"lBarr","\u290F":"rBarr","\u2910":"RBarr","\u2911":"DDotrahd","\u2912":"UpArrowBar","\u2913":"DownArrowBar","\u2916":"Rarrtl","\u2919":"latail","\u291A":"ratail","\u291B":"lAtail","\u291C":"rAtail","\u291D":"larrfs","\u291E":"rarrfs","\u291F":"larrbfs","\u2920":"rarrbfs","\u2923":"nwarhk","\u2924":"nearhk","\u2925":"searhk","\u2926":"swarhk","\u2927":"nwnear","\u2928":"toea","\u2929":"tosa","\u292A":"swnwar","\u2933":"rarrc","\u2933\u0338":"nrarrc","\u2935":"cudarrr","\u2936":"ldca","\u2937":"rdca","\u2938":"cudarrl","\u2939":"larrpl","\u293C":"curarrm","\u293D":"cularrp","\u2945":"rarrpl","\u2948":"harrcir","\u2949":"Uarrocir","\u294A":"lurdshar","\u294B":"ldrushar","\u294E":"LeftRightVector","\u294F":"RightUpDownVector","\u2950":"DownLeftRightVector","\u2951":"LeftUpDownVector","\u2952":"LeftVectorBar","\u2953":"RightVectorBar","\u2954":"RightUpVectorBar","\u2955":"RightDownVectorBar","\u2956":"DownLeftVectorBar","\u2957":"DownRightVectorBar","\u2958":"LeftUpVectorBar","\u2959":"LeftDownVectorBar","\u295A":"LeftTeeVector","\u295B":"RightTeeVector","\u295C":"RightUpTeeVector","\u295D":"RightDownTeeVector","\u295E":"DownLeftTeeVector","\u295F":"DownRightTeeVector","\u2960":"LeftUpTeeVector","\u2961":"LeftDownTeeVector","\u2962":"lHar","\u2963":"uHar","\u2964":"rHar","\u2965":"dHar","\u2966":"luruhar","\u2967":"ldrdhar","\u2968":"ruluhar","\u2969":"rdldhar","\u296A":"lharul","\u296B":"llhard","\u296C":"rharul","\u296D":"lrhard","\u296E":"udhar","\u296F":"duhar","\u2970":"RoundImplies","\u2971":"erarr","\u2972":"simrarr","\u2973":"larrsim","\u2974":"rarrsim","\u2975":"rarrap","\u2976":"ltlarr","\u2978":"gtrarr","\u2979":"subrarr","\u297B":"suplarr","\u297C":"lfisht","\u297D":"rfisht","\u297E":"ufisht","\u297F":"dfisht","\u299A":"vzigzag","\u299C":"vangrt","\u299D":"angrtvbd","\u29A4":"ange","\u29A5":"range","\u29A6":"dwangle","\u29A7":"uwangle","\u29A8":"angmsdaa","\u29A9":"angmsdab","\u29AA":"angmsdac","\u29AB":"angmsdad","\u29AC":"angmsdae","\u29AD":"angmsdaf","\u29AE":"angmsdag","\u29AF":"angmsdah","\u29B0":"bemptyv","\u29B1":"demptyv","\u29B2":"cemptyv","\u29B3":"raemptyv","\u29B4":"laemptyv","\u29B5":"ohbar","\u29B6":"omid","\u29B7":"opar","\u29B9":"operp","\u29BB":"olcross","\u29BC":"odsold","\u29BE":"olcir","\u29BF":"ofcir","\u29C0":"olt","\u29C1":"ogt","\u29C2":"cirscir","\u29C3":"cirE","\u29C4":"solb","\u29C5":"bsolb","\u29C9":"boxbox","\u29CD":"trisb","\u29CE":"rtriltri","\u29CF":"LeftTriangleBar","\u29CF\u0338":"NotLeftTriangleBar","\u29D0":"RightTriangleBar","\u29D0\u0338":"NotRightTriangleBar","\u29DC":"iinfin","\u29DD":"infintie","\u29DE":"nvinfin","\u29E3":"eparsl","\u29E4":"smeparsl","\u29E5":"eqvparsl","\u29EB":"lozf","\u29F4":"RuleDelayed","\u29F6":"dsol","\u2A00":"xodot","\u2A01":"xoplus","\u2A02":"xotime","\u2A04":"xuplus","\u2A06":"xsqcup","\u2A0D":"fpartint","\u2A10":"cirfnint","\u2A11":"awint","\u2A12":"rppolint","\u2A13":"scpolint","\u2A14":"npolint","\u2A15":"pointint","\u2A16":"quatint","\u2A17":"intlarhk","\u2A22":"pluscir","\u2A23":"plusacir","\u2A24":"simplus","\u2A25":"plusdu","\u2A26":"plussim","\u2A27":"plustwo","\u2A29":"mcomma","\u2A2A":"minusdu","\u2A2D":"loplus","\u2A2E":"roplus","\u2A2F":"Cross","\u2A30":"timesd","\u2A31":"timesbar","\u2A33":"smashp","\u2A34":"lotimes","\u2A35":"rotimes","\u2A36":"otimesas","\u2A37":"Otimes","\u2A38":"odiv","\u2A39":"triplus","\u2A3A":"triminus","\u2A3B":"tritime","\u2A3C":"iprod","\u2A3F":"amalg","\u2A40":"capdot","\u2A42":"ncup","\u2A43":"ncap","\u2A44":"capand","\u2A45":"cupor","\u2A46":"cupcap","\u2A47":"capcup","\u2A48":"cupbrcap","\u2A49":"capbrcup","\u2A4A":"cupcup","\u2A4B":"capcap","\u2A4C":"ccups","\u2A4D":"ccaps","\u2A50":"ccupssm","\u2A53":"And","\u2A54":"Or","\u2A55":"andand","\u2A56":"oror","\u2A57":"orslope","\u2A58":"andslope","\u2A5A":"andv","\u2A5B":"orv","\u2A5C":"andd","\u2A5D":"ord","\u2A5F":"wedbar","\u2A66":"sdote","\u2A6A":"simdot","\u2A6D":"congdot","\u2A6D\u0338":"ncongdot","\u2A6E":"easter","\u2A6F":"apacir","\u2A70":"apE","\u2A70\u0338":"napE","\u2A71":"eplus","\u2A72":"pluse","\u2A73":"Esim","\u2A77":"eDDot","\u2A78":"equivDD","\u2A79":"ltcir","\u2A7A":"gtcir","\u2A7B":"ltquest","\u2A7C":"gtquest","\u2A7D":"les","\u2A7D\u0338":"nles","\u2A7E":"ges","\u2A7E\u0338":"nges","\u2A7F":"lesdot","\u2A80":"gesdot","\u2A81":"lesdoto","\u2A82":"gesdoto","\u2A83":"lesdotor","\u2A84":"gesdotol","\u2A85":"lap","\u2A86":"gap","\u2A87":"lne","\u2A88":"gne","\u2A89":"lnap","\u2A8A":"gnap","\u2A8B":"lEg","\u2A8C":"gEl","\u2A8D":"lsime","\u2A8E":"gsime","\u2A8F":"lsimg","\u2A90":"gsiml","\u2A91":"lgE","\u2A92":"glE","\u2A93":"lesges","\u2A94":"gesles","\u2A95":"els","\u2A96":"egs","\u2A97":"elsdot","\u2A98":"egsdot","\u2A99":"el","\u2A9A":"eg","\u2A9D":"siml","\u2A9E":"simg","\u2A9F":"simlE","\u2AA0":"simgE","\u2AA1":"LessLess","\u2AA1\u0338":"NotNestedLessLess","\u2AA2":"GreaterGreater","\u2AA2\u0338":"NotNestedGreaterGreater","\u2AA4":"glj","\u2AA5":"gla","\u2AA6":"ltcc","\u2AA7":"gtcc","\u2AA8":"lescc","\u2AA9":"gescc","\u2AAA":"smt","\u2AAB":"lat","\u2AAC":"smte","\u2AAC\uFE00":"smtes","\u2AAD":"late","\u2AAD\uFE00":"lates","\u2AAE":"bumpE","\u2AAF":"pre","\u2AAF\u0338":"npre","\u2AB0":"sce","\u2AB0\u0338":"nsce","\u2AB3":"prE","\u2AB4":"scE","\u2AB5":"prnE","\u2AB6":"scnE","\u2AB7":"prap","\u2AB8":"scap","\u2AB9":"prnap","\u2ABA":"scnap","\u2ABB":"Pr","\u2ABC":"Sc","\u2ABD":"subdot","\u2ABE":"supdot","\u2ABF":"subplus","\u2AC0":"supplus","\u2AC1":"submult","\u2AC2":"supmult","\u2AC3":"subedot","\u2AC4":"supedot","\u2AC5":"subE","\u2AC5\u0338":"nsubE","\u2AC6":"supE","\u2AC6\u0338":"nsupE","\u2AC7":"subsim","\u2AC8":"supsim","\u2ACB\uFE00":"vsubnE","\u2ACB":"subnE","\u2ACC\uFE00":"vsupnE","\u2ACC":"supnE","\u2ACF":"csub","\u2AD0":"csup","\u2AD1":"csube","\u2AD2":"csupe","\u2AD3":"subsup","\u2AD4":"supsub","\u2AD5":"subsub","\u2AD6":"supsup","\u2AD7":"suphsub","\u2AD8":"supdsub","\u2AD9":"forkv","\u2ADA":"topfork","\u2ADB":"mlcp","\u2AE4":"Dashv","\u2AE6":"Vdashl","\u2AE7":"Barv","\u2AE8":"vBar","\u2AE9":"vBarv","\u2AEB":"Vbar","\u2AEC":"Not","\u2AED":"bNot","\u2AEE":"rnmid","\u2AEF":"cirmid","\u2AF0":"midcir","\u2AF1":"topcir","\u2AF2":"nhpar","\u2AF3":"parsim","\u2AFD":"parsl","\u2AFD\u20E5":"nparsl","\u266D":"flat","\u266E":"natur","\u266F":"sharp","\xA4":"curren","\xA2":"cent",$:"dollar","\xA3":"pound","\xA5":"yen","\u20AC":"euro","\xB9":"sup1","\xBD":"half","\u2153":"frac13","\xBC":"frac14","\u2155":"frac15","\u2159":"frac16","\u215B":"frac18","\xB2":"sup2","\u2154":"frac23","\u2156":"frac25","\xB3":"sup3","\xBE":"frac34","\u2157":"frac35","\u215C":"frac38","\u2158":"frac45","\u215A":"frac56","\u215D":"frac58","\u215E":"frac78","\u{1D4B6}":"ascr","\u{1D552}":"aopf","\u{1D51E}":"afr","\u{1D538}":"Aopf","\u{1D504}":"Afr","\u{1D49C}":"Ascr",\u00AA:"ordf",\u00E1:"aacute",\u00C1:"Aacute",\u00E0:"agrave",\u00C0:"Agrave",\u0103:"abreve",\u0102:"Abreve",\u00E2:"acirc",\u00C2:"Acirc",\u00E5:"aring",\u00C5:"angst",\u00E4:"auml",\u00C4:"Auml",\u00E3:"atilde",\u00C3:"Atilde",\u0105:"aogon",\u0104:"Aogon",\u0101:"amacr",\u0100:"Amacr",\u00E6:"aelig",\u00C6:"AElig","\u{1D4B7}":"bscr","\u{1D553}":"bopf","\u{1D51F}":"bfr","\u{1D539}":"Bopf",\u212C:"Bscr","\u{1D505}":"Bfr","\u{1D520}":"cfr","\u{1D4B8}":"cscr","\u{1D554}":"copf",\u212D:"Cfr","\u{1D49E}":"Cscr",\u2102:"Copf",\u0107:"cacute",\u0106:"Cacute",\u0109:"ccirc",\u0108:"Ccirc",\u010D:"ccaron",\u010C:"Ccaron",\u010B:"cdot",\u010A:"Cdot",\u00E7:"ccedil",\u00C7:"Ccedil","\u2105":"incare","\u{1D521}":"dfr","\u2146":"dd","\u{1D555}":"dopf","\u{1D4B9}":"dscr","\u{1D49F}":"Dscr","\u{1D507}":"Dfr","\u2145":"DD","\u{1D53B}":"Dopf",\u010F:"dcaron",\u010E:"Dcaron",\u0111:"dstrok",\u0110:"Dstrok",\u00F0:"eth",\u00D0:"ETH","\u2147":"ee",\u212F:"escr","\u{1D522}":"efr","\u{1D556}":"eopf",\u2130:"Escr","\u{1D508}":"Efr","\u{1D53C}":"Eopf",\u00E9:"eacute",\u00C9:"Eacute",\u00E8:"egrave",\u00C8:"Egrave",\u00EA:"ecirc",\u00CA:"Ecirc",\u011B:"ecaron",\u011A:"Ecaron",\u00EB:"euml",\u00CB:"Euml",\u0117:"edot",\u0116:"Edot",\u0119:"eogon",\u0118:"Eogon",\u0113:"emacr",\u0112:"Emacr","\u{1D523}":"ffr","\u{1D557}":"fopf","\u{1D4BB}":"fscr","\u{1D509}":"Ffr","\u{1D53D}":"Fopf",\u2131:"Fscr",\uFB00:"fflig",\uFB03:"ffilig",\uFB04:"ffllig",\uFB01:"filig",fj:"fjlig",\uFB02:"fllig",\u0192:"fnof",\u210A:"gscr","\u{1D558}":"gopf","\u{1D524}":"gfr","\u{1D4A2}":"Gscr","\u{1D53E}":"Gopf","\u{1D50A}":"Gfr",\u01F5:"gacute",\u011F:"gbreve",\u011E:"Gbreve",\u011D:"gcirc",\u011C:"Gcirc",\u0121:"gdot",\u0120:"Gdot",\u0122:"Gcedil","\u{1D525}":"hfr",\u210E:"planckh","\u{1D4BD}":"hscr","\u{1D559}":"hopf",\u210B:"Hscr",\u210C:"Hfr",\u210D:"Hopf",\u0125:"hcirc",\u0124:"Hcirc",\u210F:"hbar",\u0127:"hstrok",\u0126:"Hstrok","\u{1D55A}":"iopf","\u{1D526}":"ifr","\u{1D4BE}":"iscr","\u2148":"ii","\u{1D540}":"Iopf",\u2110:"Iscr",\u2111:"Im",\u00ED:"iacute",\u00CD:"Iacute",\u00EC:"igrave",\u00CC:"Igrave",\u00EE:"icirc",\u00CE:"Icirc",\u00EF:"iuml",\u00CF:"Iuml",\u0129:"itilde",\u0128:"Itilde",\u0130:"Idot",\u012F:"iogon",\u012E:"Iogon",\u012B:"imacr",\u012A:"Imacr",\u0133:"ijlig",\u0132:"IJlig",\u0131:"imath","\u{1D4BF}":"jscr","\u{1D55B}":"jopf","\u{1D527}":"jfr","\u{1D4A5}":"Jscr","\u{1D50D}":"Jfr","\u{1D541}":"Jopf",\u0135:"jcirc",\u0134:"Jcirc","\u0237":"jmath","\u{1D55C}":"kopf","\u{1D4C0}":"kscr","\u{1D528}":"kfr","\u{1D4A6}":"Kscr","\u{1D542}":"Kopf","\u{1D50E}":"Kfr",\u0137:"kcedil",\u0136:"Kcedil","\u{1D529}":"lfr","\u{1D4C1}":"lscr",\u2113:"ell","\u{1D55D}":"lopf",\u2112:"Lscr","\u{1D50F}":"Lfr","\u{1D543}":"Lopf",\u013A:"lacute",\u0139:"Lacute",\u013E:"lcaron",\u013D:"Lcaron",\u013C:"lcedil",\u013B:"Lcedil",\u0142:"lstrok",\u0141:"Lstrok",\u0140:"lmidot",\u013F:"Lmidot","\u{1D52A}":"mfr","\u{1D55E}":"mopf","\u{1D4C2}":"mscr","\u{1D510}":"Mfr","\u{1D544}":"Mopf",\u2133:"Mscr","\u{1D52B}":"nfr","\u{1D55F}":"nopf","\u{1D4C3}":"nscr",\u2115:"Nopf","\u{1D4A9}":"Nscr","\u{1D511}":"Nfr",\u0144:"nacute",\u0143:"Nacute",\u0148:"ncaron",\u0147:"Ncaron",\u00F1:"ntilde",\u00D1:"Ntilde",\u0146:"ncedil",\u0145:"Ncedil","\u2116":"numero",\u014B:"eng",\u014A:"ENG","\u{1D560}":"oopf","\u{1D52C}":"ofr",\u2134:"oscr","\u{1D4AA}":"Oscr","\u{1D512}":"Ofr","\u{1D546}":"Oopf",\u00BA:"ordm",\u00F3:"oacute",\u00D3:"Oacute",\u00F2:"ograve",\u00D2:"Ograve",\u00F4:"ocirc",\u00D4:"Ocirc",\u00F6:"ouml",\u00D6:"Ouml",\u0151:"odblac",\u0150:"Odblac",\u00F5:"otilde",\u00D5:"Otilde",\u00F8:"oslash",\u00D8:"Oslash",\u014D:"omacr",\u014C:"Omacr",\u0153:"oelig",\u0152:"OElig","\u{1D52D}":"pfr","\u{1D4C5}":"pscr","\u{1D561}":"popf",\u2119:"Popf","\u{1D513}":"Pfr","\u{1D4AB}":"Pscr","\u{1D562}":"qopf","\u{1D52E}":"qfr","\u{1D4C6}":"qscr","\u{1D4AC}":"Qscr","\u{1D514}":"Qfr",\u211A:"Qopf",\u0138:"kgreen","\u{1D52F}":"rfr","\u{1D563}":"ropf","\u{1D4C7}":"rscr",\u211B:"Rscr",\u211C:"Re",\u211D:"Ropf",\u0155:"racute",\u0154:"Racute",\u0159:"rcaron",\u0158:"Rcaron",\u0157:"rcedil",\u0156:"Rcedil","\u{1D564}":"sopf","\u{1D4C8}":"sscr","\u{1D530}":"sfr","\u{1D54A}":"Sopf","\u{1D516}":"Sfr","\u{1D4AE}":"Sscr","\u24C8":"oS",\u015B:"sacute",\u015A:"Sacute",\u015D:"scirc",\u015C:"Scirc",\u0161:"scaron",\u0160:"Scaron",\u015F:"scedil",\u015E:"Scedil",\u00DF:"szlig","\u{1D531}":"tfr","\u{1D4C9}":"tscr","\u{1D565}":"topf","\u{1D4AF}":"Tscr","\u{1D517}":"Tfr","\u{1D54B}":"Topf",\u0165:"tcaron",\u0164:"Tcaron",\u0163:"tcedil",\u0162:"Tcedil","\u2122":"trade",\u0167:"tstrok",\u0166:"Tstrok","\u{1D4CA}":"uscr","\u{1D566}":"uopf","\u{1D532}":"ufr","\u{1D54C}":"Uopf","\u{1D518}":"Ufr","\u{1D4B0}":"Uscr",\u00FA:"uacute",\u00DA:"Uacute",\u00F9:"ugrave",\u00D9:"Ugrave",\u016D:"ubreve",\u016C:"Ubreve",\u00FB:"ucirc",\u00DB:"Ucirc",\u016F:"uring",\u016E:"Uring",\u00FC:"uuml",\u00DC:"Uuml",\u0171:"udblac",\u0170:"Udblac",\u0169:"utilde",\u0168:"Utilde",\u0173:"uogon",\u0172:"Uogon",\u016B:"umacr",\u016A:"Umacr","\u{1D533}":"vfr","\u{1D567}":"vopf","\u{1D4CB}":"vscr","\u{1D519}":"Vfr","\u{1D54D}":"Vopf","\u{1D4B1}":"Vscr","\u{1D568}":"wopf","\u{1D4CC}":"wscr","\u{1D534}":"wfr","\u{1D4B2}":"Wscr","\u{1D54E}":"Wopf","\u{1D51A}":"Wfr",\u0175:"wcirc",\u0174:"Wcirc","\u{1D535}":"xfr","\u{1D4CD}":"xscr","\u{1D569}":"xopf","\u{1D54F}":"Xopf","\u{1D51B}":"Xfr","\u{1D4B3}":"Xscr","\u{1D536}":"yfr","\u{1D4CE}":"yscr","\u{1D56A}":"yopf","\u{1D4B4}":"Yscr","\u{1D51C}":"Yfr","\u{1D550}":"Yopf",\u00FD:"yacute",\u00DD:"Yacute",\u0177:"ycirc",\u0176:"Ycirc",\u00FF:"yuml",\u0178:"Yuml","\u{1D4CF}":"zscr","\u{1D537}":"zfr","\u{1D56B}":"zopf",\u2128:"Zfr",\u2124:"Zopf","\u{1D4B5}":"Zscr",\u017A:"zacute",\u0179:"Zacute",\u017E:"zcaron",\u017D:"Zcaron",\u017C:"zdot",\u017B:"Zdot",\u01B5:"imped",\u00FE:"thorn",\u00DE:"THORN",\u0149:"napos",\u03B1:"alpha",\u0391:"Alpha",\u03B2:"beta",\u0392:"Beta",\u03B3:"gamma",\u0393:"Gamma",\u03B4:"delta",\u0394:"Delta",\u03B5:"epsi","\u03F5":"epsiv",\u0395:"Epsilon",\u03DD:"gammad",\u03DC:"Gammad",\u03B6:"zeta",\u0396:"Zeta",\u03B7:"eta",\u0397:"Eta",\u03B8:"theta",\u03D1:"thetav",\u0398:"Theta",\u03B9:"iota",\u0399:"Iota",\u03BA:"kappa",\u03F0:"kappav",\u039A:"Kappa",\u03BB:"lambda",\u039B:"Lambda",\u03BC:"mu",\u00B5:"micro",\u039C:"Mu",\u03BD:"nu",\u039D:"Nu",\u03BE:"xi",\u039E:"Xi",\u03BF:"omicron",\u039F:"Omicron",\u03C0:"pi",\u03D6:"piv",\u03A0:"Pi",\u03C1:"rho",\u03F1:"rhov",\u03A1:"Rho",\u03C3:"sigma",\u03A3:"Sigma",\u03C2:"sigmaf",\u03C4:"tau",\u03A4:"Tau",\u03C5:"upsi",\u03A5:"Upsilon",\u03D2:"Upsi",\u03C6:"phi",\u03D5:"phiv",\u03A6:"Phi",\u03C7:"chi",\u03A7:"Chi",\u03C8:"psi",\u03A8:"Psi",\u03C9:"omega",\u03A9:"ohm",\u0430:"acy",\u0410:"Acy",\u0431:"bcy",\u0411:"Bcy",\u0432:"vcy",\u0412:"Vcy",\u0433:"gcy",\u0413:"Gcy",\u0453:"gjcy",\u0403:"GJcy",\u0434:"dcy",\u0414:"Dcy",\u0452:"djcy",\u0402:"DJcy",\u0435:"iecy",\u0415:"IEcy",\u0451:"iocy",\u0401:"IOcy",\u0454:"jukcy",\u0404:"Jukcy",\u0436:"zhcy",\u0416:"ZHcy",\u0437:"zcy",\u0417:"Zcy",\u0455:"dscy",\u0405:"DScy",\u0438:"icy",\u0418:"Icy",\u0456:"iukcy",\u0406:"Iukcy",\u0457:"yicy",\u0407:"YIcy",\u0439:"jcy",\u0419:"Jcy",\u0458:"jsercy",\u0408:"Jsercy",\u043A:"kcy",\u041A:"Kcy",\u045C:"kjcy",\u040C:"KJcy",\u043B:"lcy",\u041B:"Lcy",\u0459:"ljcy",\u0409:"LJcy",\u043C:"mcy",\u041C:"Mcy",\u043D:"ncy",\u041D:"Ncy",\u045A:"njcy",\u040A:"NJcy",\u043E:"ocy",\u041E:"Ocy",\u043F:"pcy",\u041F:"Pcy",\u0440:"rcy",\u0420:"Rcy",\u0441:"scy",\u0421:"Scy",\u0442:"tcy",\u0422:"Tcy",\u045B:"tshcy",\u040B:"TSHcy",\u0443:"ucy",\u0423:"Ucy",\u045E:"ubrcy",\u040E:"Ubrcy",\u0444:"fcy",\u0424:"Fcy",\u0445:"khcy",\u0425:"KHcy",\u0446:"tscy",\u0426:"TScy",\u0447:"chcy",\u0427:"CHcy",\u045F:"dzcy",\u040F:"DZcy",\u0448:"shcy",\u0428:"SHcy",\u0449:"shchcy",\u0429:"SHCHcy",\u044A:"hardcy",\u042A:"HARDcy",\u044B:"ycy",\u042B:"Ycy",\u044C:"softcy",\u042C:"SOFTcy",\u044D:"ecy",\u042D:"Ecy",\u044E:"yucy",\u042E:"YUcy",\u044F:"yacy",\u042F:"YAcy",\u2135:"aleph",\u2136:"beth",\u2137:"gimel",\u2138:"daleth"},l=/["&'<>`]/g,u={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,v={aacute:"\xE1",Aacute:"\xC1",abreve:"\u0103",Abreve:"\u0102",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",acy:"\u0430",Acy:"\u0410",aelig:"\xE6",AElig:"\xC6",af:"\u2061",afr:"\u{1D51E}",Afr:"\u{1D504}",agrave:"\xE0",Agrave:"\xC0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",Alpha:"\u0391",amacr:"\u0101",Amacr:"\u0100",amalg:"\u2A3F",amp:"&",AMP:"&",and:"\u2227",And:"\u2A53",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",Aogon:"\u0104",aopf:"\u{1D552}",Aopf:"\u{1D538}",ap:"\u2248",apacir:"\u2A6F",ape:"\u224A",apE:"\u2A70",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",Aring:"\xC5",ascr:"\u{1D4B6}",Ascr:"\u{1D49C}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",Bcy:"\u0411",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",beta:"\u03B2",Beta:"\u0392",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",Bfr:"\u{1D505}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bNot:"\u2AED",bopf:"\u{1D553}",Bopf:"\u{1D539}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxhD:"\u2565",boxHd:"\u2564",boxHD:"\u2566",boxhu:"\u2534",boxhU:"\u2568",boxHu:"\u2567",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpe:"\u224F",bumpE:"\u2AAE",bumpeq:"\u224F",Bumpeq:"\u224E",cacute:"\u0107",Cacute:"\u0106",cap:"\u2229",Cap:"\u22D2",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",ccaron:"\u010D",Ccaron:"\u010C",ccedil:"\xE7",Ccedil:"\xC7",ccirc:"\u0109",Ccirc:"\u0108",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",Cdot:"\u010A",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",chcy:"\u0447",CHcy:"\u0427",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",Chi:"\u03A7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cire:"\u2257",cirE:"\u29C3",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",colone:"\u2254",Colone:"\u2A74",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",cscr:"\u{1D4B8}",Cscr:"\u{1D49E}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",Cup:"\u22D3",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",dArr:"\u21D3",Darr:"\u21A1",dash:"\u2010",dashv:"\u22A3",Dashv:"\u2AE4",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",Dcaron:"\u010E",dcy:"\u0434",Dcy:"\u0414",dd:"\u2146",DD:"\u2145",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",delta:"\u03B4",Delta:"\u0394",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",Dfr:"\u{1D507}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",DJcy:"\u0402",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",Dopf:"\u{1D53B}",dot:"\u02D9",Dot:"\xA8",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",downarrow:"\u2193",Downarrow:"\u21D3",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",Dscr:"\u{1D49F}",dscy:"\u0455",DScy:"\u0405",dsol:"\u29F6",dstrok:"\u0111",Dstrok:"\u0110",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",DZcy:"\u040F",dzigrarr:"\u27FF",eacute:"\xE9",Eacute:"\xC9",easter:"\u2A6E",ecaron:"\u011B",Ecaron:"\u011A",ecir:"\u2256",ecirc:"\xEA",Ecirc:"\xCA",ecolon:"\u2255",ecy:"\u044D",Ecy:"\u042D",eDDot:"\u2A77",edot:"\u0117",eDot:"\u2251",Edot:"\u0116",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",Efr:"\u{1D508}",eg:"\u2A9A",egrave:"\xE8",Egrave:"\xC8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",Emacr:"\u0112",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",eng:"\u014B",ENG:"\u014A",ensp:"\u2002",eogon:"\u0119",Eogon:"\u0118",eopf:"\u{1D556}",Eopf:"\u{1D53C}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",Epsilon:"\u0395",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",esim:"\u2242",Esim:"\u2A73",eta:"\u03B7",Eta:"\u0397",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",Fcy:"\u0424",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",Ffr:"\u{1D509}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",Fopf:"\u{1D53D}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",gamma:"\u03B3",Gamma:"\u0393",gammad:"\u03DD",Gammad:"\u03DC",gap:"\u2A86",gbreve:"\u011F",Gbreve:"\u011E",Gcedil:"\u0122",gcirc:"\u011D",Gcirc:"\u011C",gcy:"\u0433",Gcy:"\u0413",gdot:"\u0121",Gdot:"\u0120",ge:"\u2265",gE:"\u2267",gel:"\u22DB",gEl:"\u2A8C",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",Gfr:"\u{1D50A}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",GJcy:"\u0403",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",Gopf:"\u{1D53E}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",gscr:"\u210A",Gscr:"\u{1D4A2}",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",Gt:"\u226B",GT:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",HARDcy:"\u042A",harr:"\u2194",hArr:"\u21D4",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",hcirc:"\u0125",Hcirc:"\u0124",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",hstrok:"\u0127",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",Iacute:"\xCD",ic:"\u2063",icirc:"\xEE",Icirc:"\xCE",icy:"\u0438",Icy:"\u0418",Idot:"\u0130",iecy:"\u0435",IEcy:"\u0415",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",igrave:"\xEC",Igrave:"\xCC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",IJlig:"\u0132",Im:"\u2111",imacr:"\u012B",Imacr:"\u012A",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",Int:"\u222C",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",iocy:"\u0451",IOcy:"\u0401",iogon:"\u012F",Iogon:"\u012E",iopf:"\u{1D55A}",Iopf:"\u{1D540}",iota:"\u03B9",Iota:"\u0399",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",Itilde:"\u0128",iukcy:"\u0456",Iukcy:"\u0406",iuml:"\xEF",Iuml:"\xCF",jcirc:"\u0135",Jcirc:"\u0134",jcy:"\u0439",Jcy:"\u0419",jfr:"\u{1D527}",Jfr:"\u{1D50D}",jmath:"\u0237",jopf:"\u{1D55B}",Jopf:"\u{1D541}",jscr:"\u{1D4BF}",Jscr:"\u{1D4A5}",jsercy:"\u0458",Jsercy:"\u0408",jukcy:"\u0454",Jukcy:"\u0404",kappa:"\u03BA",Kappa:"\u039A",kappav:"\u03F0",kcedil:"\u0137",Kcedil:"\u0136",kcy:"\u043A",Kcy:"\u041A",kfr:"\u{1D528}",Kfr:"\u{1D50E}",kgreen:"\u0138",khcy:"\u0445",KHcy:"\u0425",kjcy:"\u045C",KJcy:"\u040C",kopf:"\u{1D55C}",Kopf:"\u{1D542}",kscr:"\u{1D4C0}",Kscr:"\u{1D4A6}",lAarr:"\u21DA",lacute:"\u013A",Lacute:"\u0139",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",Lambda:"\u039B",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larr:"\u2190",lArr:"\u21D0",Larr:"\u219E",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",lAtail:"\u291B",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",Lcaron:"\u013D",lcedil:"\u013C",Lcedil:"\u013B",lceil:"\u2308",lcub:"{",lcy:"\u043B",Lcy:"\u041B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",leftarrow:"\u2190",Leftarrow:"\u21D0",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",Leftrightarrow:"\u21D4",LeftRightArrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",leg:"\u22DA",lEg:"\u2A8B",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",Lfr:"\u{1D50F}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",LJcy:"\u0409",ll:"\u226A",Ll:"\u22D8",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",Lmidot:"\u013F",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",Longleftarrow:"\u27F8",LongLeftArrow:"\u27F5",longleftrightarrow:"\u27F7",Longleftrightarrow:"\u27FA",LongLeftRightArrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",Longrightarrow:"\u27F9",LongRightArrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",Lopf:"\u{1D543}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",Lstrok:"\u0141",lt:"<",Lt:"\u226A",LT:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",Map:"\u2905",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",Mcy:"\u041C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",mfr:"\u{1D52A}",Mfr:"\u{1D510}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",Mopf:"\u{1D544}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",mu:"\u03BC",Mu:"\u039C",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",nacute:"\u0144",Nacute:"\u0143",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",Ncaron:"\u0147",ncedil:"\u0146",Ncedil:"\u0145",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",Ncy:"\u041D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",Nfr:"\u{1D511}",nge:"\u2271",ngE:"\u2267\u0338",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",ngt:"\u226F",nGt:"\u226B\u20D2",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",NJcy:"\u040A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nle:"\u2270",nlE:"\u2266\u0338",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nlt:"\u226E",nLt:"\u226A\u20D2",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",not:"\xAC",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",Nscr:"\u{1D4A9}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsube:"\u2288",nsubE:"\u2AC5\u0338",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupe:"\u2289",nsupE:"\u2AC6\u0338",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",Ntilde:"\xD1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",Nu:"\u039D",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",oacute:"\xF3",Oacute:"\xD3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",Ocirc:"\xD4",ocy:"\u043E",Ocy:"\u041E",odash:"\u229D",odblac:"\u0151",Odblac:"\u0150",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",OElig:"\u0152",ofcir:"\u29BF",ofr:"\u{1D52C}",Ofr:"\u{1D512}",ogon:"\u02DB",ograve:"\xF2",Ograve:"\xD2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",Omacr:"\u014C",omega:"\u03C9",Omega:"\u03A9",omicron:"\u03BF",Omicron:"\u039F",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",Oopf:"\u{1D546}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",or:"\u2228",Or:"\u2A54",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",oscr:"\u2134",Oscr:"\u{1D4AA}",oslash:"\xF8",Oslash:"\xD8",osol:"\u2298",otilde:"\xF5",Otilde:"\xD5",otimes:"\u2297",Otimes:"\u2A37",otimesas:"\u2A36",ouml:"\xF6",Ouml:"\xD6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",pcy:"\u043F",Pcy:"\u041F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",Pfr:"\u{1D513}",phi:"\u03C6",Phi:"\u03A6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",Pi:"\u03A0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",pr:"\u227A",Pr:"\u2ABB",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prE:"\u2AB3",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",Pscr:"\u{1D4AB}",psi:"\u03C8",Psi:"\u03A8",puncsp:"\u2008",qfr:"\u{1D52E}",Qfr:"\u{1D514}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",qscr:"\u{1D4C6}",Qscr:"\u{1D4AC}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",racute:"\u0155",Racute:"\u0154",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rArr:"\u21D2",Rarr:"\u21A0",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",Rarrtl:"\u2916",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",Rcaron:"\u0158",rcedil:"\u0157",Rcedil:"\u0156",rceil:"\u2309",rcub:"}",rcy:"\u0440",Rcy:"\u0420",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",Rho:"\u03A1",rhov:"\u03F1",RightAngleBracket:"\u27E9",rightarrow:"\u2192",Rightarrow:"\u21D2",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",Sacute:"\u015A",sbquo:"\u201A",sc:"\u227B",Sc:"\u2ABC",scap:"\u2AB8",scaron:"\u0161",Scaron:"\u0160",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",scedil:"\u015F",Scedil:"\u015E",scirc:"\u015D",Scirc:"\u015C",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",Scy:"\u0421",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",Sfr:"\u{1D516}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",SHCHcy:"\u0429",shcy:"\u0448",SHcy:"\u0428",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",sigma:"\u03C3",Sigma:"\u03A3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",SOFTcy:"\u042C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",Sopf:"\u{1D54A}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",Sscr:"\u{1D4AE}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",Star:"\u22C6",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",sube:"\u2286",subE:"\u2AC5",subedot:"\u2AC3",submult:"\u2AC1",subne:"\u228A",subnE:"\u2ACB",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup:"\u2283",Sup:"\u22D1",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supE:"\u2AC6",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supne:"\u228B",supnE:"\u2ACC",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",tau:"\u03C4",Tau:"\u03A4",tbrk:"\u23B4",tcaron:"\u0165",Tcaron:"\u0164",tcedil:"\u0163",Tcedil:"\u0162",tcy:"\u0442",Tcy:"\u0422",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",Tfr:"\u{1D517}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",theta:"\u03B8",Theta:"\u0398",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",THORN:"\xDE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",Topf:"\u{1D54B}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",Tscr:"\u{1D4AF}",tscy:"\u0446",TScy:"\u0426",tshcy:"\u045B",TSHcy:"\u040B",tstrok:"\u0167",Tstrok:"\u0166",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uacute:"\xFA",Uacute:"\xDA",uarr:"\u2191",uArr:"\u21D1",Uarr:"\u219F",Uarrocir:"\u2949",ubrcy:"\u045E",Ubrcy:"\u040E",ubreve:"\u016D",Ubreve:"\u016C",ucirc:"\xFB",Ucirc:"\xDB",ucy:"\u0443",Ucy:"\u0423",udarr:"\u21C5",udblac:"\u0171",Udblac:"\u0170",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",Ufr:"\u{1D518}",ugrave:"\xF9",Ugrave:"\xD9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",Umacr:"\u016A",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",uogon:"\u0173",Uogon:"\u0172",uopf:"\u{1D566}",Uopf:"\u{1D54C}",uparrow:"\u2191",Uparrow:"\u21D1",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",Updownarrow:"\u21D5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",upsilon:"\u03C5",Upsilon:"\u03A5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",Uring:"\u016E",urtri:"\u25F9",uscr:"\u{1D4CA}",Uscr:"\u{1D4B0}",utdot:"\u22F0",utilde:"\u0169",Utilde:"\u0168",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",Uuml:"\xDC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",vcy:"\u0432",Vcy:"\u0412",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",vee:"\u2228",Vee:"\u22C1",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",vfr:"\u{1D533}",Vfr:"\u{1D519}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",Vopf:"\u{1D54D}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",Vscr:"\u{1D4B1}",vsubne:"\u228A\uFE00",vsubnE:"\u2ACB\uFE00",vsupne:"\u228B\uFE00",vsupnE:"\u2ACC\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",wcirc:"\u0175",Wcirc:"\u0174",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",Wfr:"\u{1D51A}",wopf:"\u{1D568}",Wopf:"\u{1D54E}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",Wscr:"\u{1D4B2}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",Xfr:"\u{1D51B}",xharr:"\u27F7",xhArr:"\u27FA",xi:"\u03BE",Xi:"\u039E",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",Xopf:"\u{1D54F}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",xscr:"\u{1D4CD}",Xscr:"\u{1D4B3}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",Yacute:"\xDD",yacy:"\u044F",YAcy:"\u042F",ycirc:"\u0177",Ycirc:"\u0176",ycy:"\u044B",Ycy:"\u042B",yen:"\xA5",yfr:"\u{1D536}",Yfr:"\u{1D51C}",yicy:"\u0457",YIcy:"\u0407",yopf:"\u{1D56A}",Yopf:"\u{1D550}",yscr:"\u{1D4CE}",Yscr:"\u{1D4B4}",yucy:"\u044E",YUcy:"\u042E",yuml:"\xFF",Yuml:"\u0178",zacute:"\u017A",Zacute:"\u0179",zcaron:"\u017E",Zcaron:"\u017D",zcy:"\u0437",Zcy:"\u0417",zdot:"\u017C",Zdot:"\u017B",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",zeta:"\u03B6",Zeta:"\u0396",zfr:"\u{1D537}",Zfr:"\u2128",zhcy:"\u0436",ZHcy:"\u0416",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",zscr:"\u{1D4CF}",Zscr:"\u{1D4B5}",zwj:"\u200D",zwnj:"\u200C"},g={aacute:"\xE1",Aacute:"\xC1",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",aelig:"\xE6",AElig:"\xC6",agrave:"\xE0",Agrave:"\xC0",amp:"&",AMP:"&",aring:"\xE5",Aring:"\xC5",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",brvbar:"\xA6",ccedil:"\xE7",Ccedil:"\xC7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",Eacute:"\xC9",ecirc:"\xEA",Ecirc:"\xCA",egrave:"\xE8",Egrave:"\xC8",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",iacute:"\xED",Iacute:"\xCD",icirc:"\xEE",Icirc:"\xCE",iexcl:"\xA1",igrave:"\xEC",Igrave:"\xCC",iquest:"\xBF",iuml:"\xEF",Iuml:"\xCF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",Ntilde:"\xD1",oacute:"\xF3",Oacute:"\xD3",ocirc:"\xF4",Ocirc:"\xD4",ograve:"\xF2",Ograve:"\xD2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",Oslash:"\xD8",otilde:"\xF5",Otilde:"\xD5",ouml:"\xF6",Ouml:"\xD6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",THORN:"\xDE",times:"\xD7",uacute:"\xFA",Uacute:"\xDA",ucirc:"\xFB",Ucirc:"\xDB",ugrave:"\xF9",Ugrave:"\xD9",uml:"\xA8",uuml:"\xFC",Uuml:"\xDC",yacute:"\xFD",Yacute:"\xDD",yen:"\xA5",yuml:"\xFF"},x={"0":"\uFFFD","128":"\u20AC","130":"\u201A","131":"\u0192","132":"\u201E","133":"\u2026","134":"\u2020","135":"\u2021","136":"\u02C6","137":"\u2030","138":"\u0160","139":"\u2039","140":"\u0152","142":"\u017D","145":"\u2018","146":"\u2019","147":"\u201C","148":"\u201D","149":"\u2022","150":"\u2013","151":"\u2014","152":"\u02DC","153":"\u2122","154":"\u0161","155":"\u203A","156":"\u0153","158":"\u017E","159":"\u0178"},p=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],d=String.fromCharCode,A={},b=A.hasOwnProperty,C=function(N,U){return b.call(N,U)},E=function(N,U){for(var Z=-1,O=N.length;++Z=55296&&N<=57343||N>1114111?(U&&M("character reference outside the permissible Unicode range"),"\uFFFD"):C(x,N)?(U&&M("disallowed character reference"),x[N]):(U&&E(p,N)&&M("disallowed character reference"),N>65535&&(N-=65536,Z+=d(N>>>10&1023|55296),N=56320|N&1023),Z+=d(N),Z)},P=function(N){return"&#x"+N.toString(16).toUpperCase()+";"},F=function(N){return"&#"+N+";"},M=function(N){throw Error("Parse error: "+N)},D=function(N,U){U=T(U,D.options);var Z=U.strict;Z&&h.test(N)&&M("forbidden code point");var O=U.encodeEverything,W=U.useNamedReferences,X=U.allowUnsafeSymbols,Q=U.decimal?F:P,a1=function(B){return Q(B.charCodeAt(0))};return O?(N=N.replace(r,function(B){return W&&C(c,B)?"&"+c[B]+";":a1(B)}),W&&(N=N.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),W&&(N=N.replace(o,function(B){return"&"+c[B]+";"}))):W?(X||(N=N.replace(l,function(B){return"&"+c[B]+";"})),N=N.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),N=N.replace(o,function(B){return"&"+c[B]+";"})):X||(N=N.replace(l,a1)),N.replace(a,function(B){var M1=B.charCodeAt(0),u1=B.charCodeAt(1),v1=(M1-55296)*1024+u1-56320+65536;return Q(v1)}).replace(s,a1)};D.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var z=function(N,U){U=T(U,z.options);var Z=U.strict;return Z&&f.test(N)&&M("malformed character reference"),N.replace(m,function(O,W,X,Q,a1,B,M1,u1,v1){var n1,T1,A1,C1,h2,K1;return W?(h2=W,v[h2]):X?(h2=X,K1=Q,K1&&U.isAttributeValue?(Z&&K1=="="&&M("`&` did not start a character reference"),O):(Z&&M("named character reference was not terminated by a semicolon"),g[h2]+(K1||""))):a1?(A1=a1,T1=B,Z&&!T1&&M("character reference was not terminated by a semicolon"),n1=parseInt(A1,10),S(n1,Z)):M1?(C1=M1,T1=u1,Z&&!T1&&M("character reference was not terminated by a semicolon"),n1=parseInt(C1,16),S(n1,Z)):(Z&&M("named character reference was not terminated by a semicolon"),O)})};z.options={isAttributeValue:!1,strict:!1};var H=function(N){return N.replace(l,function(U){return u[U]})},V={version:"1.2.0",encode:D,decode:z,escape:H,unescape:z};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd)define(function(){return V});else if(e&&!e.nodeType)if(t)t.exports=V;else for(var L in V)C(V,L)&&(e[L]=V[L]);else n.he=V})(s6)});var _o=M0((wo,v0)=>{(function(n,e){typeof define=="function"&&define.amd?define([],e):typeof v0=="object"&&v0.exports?v0.exports=e():n.moo=e()})(wo,function(){"use strict";var n=Object.prototype.hasOwnProperty,e=Object.prototype.toString,t=typeof new RegExp().sticky=="boolean";function i(S){return S&&e.call(S)==="[object RegExp]"}function a(S){return S&&typeof S=="object"&&!i(S)&&!Array.isArray(S)}function r(S){return S.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function s(S){var P=new RegExp("|"+S);return P.exec("").length-1}function o(S){return"("+S+")"}function c(S){if(!S.length)return"(?!)";var P=S.map(function(F){return"(?:"+F+")"}).join("|");return"(?:"+P+")"}function l(S){if(typeof S=="string")return"(?:"+r(S)+")";if(i(S)){if(S.ignoreCase)throw new Error("RegExp /i flag not allowed");if(S.global)throw new Error("RegExp /g flag is implied");if(S.sticky)throw new Error("RegExp /y flag is implied");if(S.multiline)throw new Error("RegExp /m flag is implied");return S.source}else throw new Error("Not a pattern: "+S)}function u(S){for(var P=Object.getOwnPropertyNames(S),F=[],M=0;M0)throw new Error("RegExp has capture groups: "+Q+` Use (?: \u2026 ) instead`);if(!N.lineBreaks&&Q.test(` -`))throw new Error("Rule should declare lineBreaks: "+Q);V.push(o(X))}}var B=F&&F.fallback,M1=t&&!B?"ym":"gm",u1=t||B?"":"|";A===!0&&(M1+="u");var v1=new RegExp(l(V)+u1,M1);return{regexp:v1,groups:H,fast:M,error:F||v}}function x(_){var P=g(m(_));return new b({start:P},"start")}function p(_,P,F){var M=_&&(_.push||_.next);if(M&&!F[M])throw new Error("Missing state '"+M+"' (in token '"+_.defaultType+"' of state '"+P+"')");if(_&&_.pop&&+_.pop!=1)throw new Error("pop must be 1 (in token '"+_.defaultType+"' of state '"+P+"')")}function d(_,P){var F=_.$all?m(_.$all):[];delete _.$all;var M=Object.getOwnPropertyNames(_);P||(P=M[0]);for(var D=Object.create(null),A=0;Ah6,default:()=>Ni});var u2=w2(require("obsidian")),Ho=w2(Bi());var Pi={prefix:"fas",iconName:"dice",icon:[640,512,[],"f522","M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]};var Ii={prefix:"far",iconName:"copy",icon:[448,512,[],"f0c5","M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"]};function vt(n){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?vt=function(e){return typeof e}:vt=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vt(n)}function jo(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function ki(n,e){for(var t=0;t-1;a--){var r=t[a],s=(r.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(i=r)}return C2.head.insertBefore(e,i),n}}var mc="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function a6(){for(var n=12,e="";n-- >0;)e+=mc[Math.random()*62|0];return e}function ra(n){return"".concat(n).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function vc(n){return Object.keys(n||{}).reduce(function(e,t){return e+"".concat(t,'="').concat(ra(n[t]),'" ')},"").trim()}function na(n){return Object.keys(n||{}).reduce(function(e,t){return e+"".concat(t,": ").concat(n[t],";")},"")}function sa(n){return n.size!==R4.size||n.x!==R4.x||n.y!==R4.y||n.rotate!==R4.rotate||n.flipX||n.flipY}function oa(n){var e=n.transform,t=n.containerWidth,i=n.iconWidth,a={transform:"translate(".concat(t/2," 256)")},r="translate(".concat(e.x*32,", ").concat(e.y*32,") "),s="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),o="rotate(".concat(e.rotate," 0 0)"),l={transform:"".concat(r," ").concat(s," ").concat(o)},c={transform:"translate(".concat(i/2*-1," -256)")};return{outer:a,inner:l,path:c}}var S0={x:0,y:0,width:"100%",height:"100%"};function ca(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return n.attributes&&(n.attributes.fill||e)&&(n.attributes.fill="black"),n}function gc(n){return n.tag==="g"?n.children:[n]}function xc(n){var e=n.children,t=n.attributes,i=n.main,a=n.mask,r=n.maskId,s=n.transform,o=i.width,l=i.icon,c=a.width,u=a.icon,f=oa({transform:s,containerWidth:c,iconWidth:o}),h={tag:"rect",attributes:F1({},S0,{fill:"white"})},m=l.children?{children:l.children.map(ca)}:{},v={tag:"g",attributes:F1({},f.inner),children:[ca(F1({tag:l.tag,attributes:F1({},l.attributes,f.path)},m))]},g={tag:"g",attributes:F1({},f.outer),children:[v]},x="mask-".concat(r||a6()),p="clip-".concat(r||a6()),d={tag:"mask",attributes:F1({},S0,{id:x,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,g]},z={tag:"defs",children:[{tag:"clipPath",attributes:{id:p},children:gc(u)},d]};return e.push(z,{tag:"rect",attributes:F1({fill:"currentColor","clip-path":"url(#".concat(p,")"),mask:"url(#".concat(x,")")},S0)}),{children:e,attributes:t}}function Mc(n){var e=n.children,t=n.attributes,i=n.main,a=n.transform,r=n.styles,s=na(r);if(s.length>0&&(t.style=s),sa(a)){var o=oa({transform:a,containerWidth:i.width,iconWidth:i.width});e.push({tag:"g",attributes:F1({},o.outer),children:[{tag:"g",attributes:F1({},o.inner),children:[{tag:i.icon.tag,children:i.icon.children,attributes:F1({},i.icon.attributes,o.path)}]}]})}else e.push(i.icon);return{children:e,attributes:t}}function bc(n){var e=n.children,t=n.main,i=n.mask,a=n.attributes,r=n.styles,s=n.transform;if(sa(s)&&t.found&&!i.found){var o=t.width,l=t.height,c={x:o/l/2,y:.5};a.style=na(F1({},r,{"transform-origin":"".concat(c.x+s.x/16,"em ").concat(c.y+s.y/16,"em")}))}return[{tag:"svg",attributes:a,children:e}]}function yc(n){var e=n.prefix,t=n.iconName,i=n.children,a=n.attributes,r=n.symbol,s=r===!0?"".concat(e,"-").concat(H2.familyPrefix,"-").concat(t):r;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:F1({},a,{id:s}),children:i}]}]}function Cc(n){var e=n.icons,t=e.main,i=e.mask,a=n.prefix,r=n.iconName,s=n.transform,o=n.symbol,l=n.title,c=n.maskId,u=n.titleId,f=n.extra,h=n.watchable,m=h===void 0?!1:h,v=i.found?i:t,g=v.width,x=v.height,p=a==="fak",d=p?"":"fa-w-".concat(Math.ceil(g/x*16)),z=[H2.replacementClass,r?"".concat(H2.familyPrefix,"-").concat(r):"",d].filter(function(F){return f.classes.indexOf(F)===-1}).filter(function(F){return F!==""||!!F}).concat(f.classes).join(" "),b={children:[],attributes:F1({},f.attributes,{"data-prefix":a,"data-icon":r,class:z,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(g," ").concat(x)})},C=p&&!~f.classes.indexOf("fa-fw")?{width:"".concat(g/x*16*.0625,"em")}:{};m&&(b.attributes[ec]=""),l&&b.children.push({tag:"title",attributes:{id:b.attributes["aria-labelledby"]||"title-".concat(u||a6())},children:[l]});var E=F1({},b,{prefix:a,iconName:r,main:t,mask:i,maskId:c,transform:s,symbol:o,styles:F1({},C,f.styles)}),T=i.found&&t.found?xc(E):Mc(E),_=T.children,P=T.attributes;return E.children=_,E.attributes=P,o?yc(E):bc(E)}var la=function(){},Mh=H2.measurePerformance&&Qt&&Qt.mark&&Qt.measure?Qt:{mark:la,measure:la};var zc=function(e,t){return function(i,a,r,s){return e.call(t,i,a,r,s)}},E0=function(e,t,i,a){var r=Object.keys(e),s=r.length,o=a!==void 0?zc(t,a):t,l,c,u;for(i===void 0?(l=1,u=e[r[0]]):(l=0,u=i);l2&&arguments[2]!==void 0?arguments[2]:{},i=t.skipHooks,a=i===void 0?!1:i,r=Object.keys(e).reduce(function(s,o){var l=e[o],c=!!l.icon;return c?s[l.iconName]=l.icon:s[o]=l,s},{});typeof fe.hooks.addPack=="function"&&!a?fe.hooks.addPack(n,r):fe.styles[n]=F1({},fe.styles[n]||{},r),n==="fas"&&ua("fa",e)}var ha=fe.styles,Ac=fe.shims,wc={},_c={},Sc={},fa=function(){var e=function(a){return E0(ha,function(r,s,o){return r[o]=E0(s,a,{}),r},{})};wc=e(function(i,a,r){return a[3]&&(i[a[3]]=r),i}),_c=e(function(i,a,r){var s=a[2];return i[r]=r,s.forEach(function(o){i[o]=r}),i});var t="far"in ha;Sc=E0(Ac,function(i,a){var r=a[0],s=a[1],o=a[2];return s==="far"&&!t&&(s="fas"),i[r]={prefix:s,iconName:o},i},{})};fa();var bh=fe.styles;function da(n,e,t){if(n&&n[e]&&n[e][t])return{prefix:e,iconName:t,icon:n[e][t]}}function pa(n){var e=n.tag,t=n.attributes,i=t===void 0?{}:t,a=n.children,r=a===void 0?[]:a;return typeof n=="string"?ra(n):"<".concat(e," ").concat(vc(i),">").concat(r.map(pa).join(""),"")}function L0(n){this.name="MissingIcon",this.message=n||"Icon unavailable",this.stack=new Error().stack}L0.prototype=Object.create(Error.prototype);L0.prototype.constructor=L0;var r6={fill:"currentColor"},ma={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},yh={tag:"path",attributes:F1({},r6,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},D0=F1({},ma,{attributeName:"opacity"}),Ch={tag:"circle",attributes:F1({},r6,{cx:"256",cy:"364",r:"28"}),children:[{tag:"animate",attributes:F1({},ma,{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:F1({},D0,{values:"1;0;1;1;0;1;"})}]},zh={tag:"path",attributes:F1({},r6,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:[{tag:"animate",attributes:F1({},D0,{values:"1;0;0;0;0;1;"})}]},Ah={tag:"path",attributes:F1({},r6,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:F1({},D0,{values:"0;0;1;1;0;0;"})}]};var wh=fe.styles;function va(n){var e=n[0],t=n[1],i=n.slice(4),a=Ui(i,1),r=a[0],s=null;return Array.isArray(r)?s={tag:"g",attributes:{class:"".concat(H2.familyPrefix,"-").concat(m4.GROUP)},children:[{tag:"path",attributes:{class:"".concat(H2.familyPrefix,"-").concat(m4.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(H2.familyPrefix,"-").concat(m4.PRIMARY),fill:"currentColor",d:r[1]}}]}:s={tag:"path",attributes:{fill:"currentColor",d:r}},{found:!0,width:e,height:t,icon:s}}var _h=fe.styles;var Ec=`svg:not(:root).svg-inline--fa { +`,P+=" "+z+` +`,P+=" "+Array(S.col).join(" ")+"^",P},b.prototype.clone=function(){return new b(this.states,this.state)},b.prototype.has=function(S){return!0},{compile:x,states:d,error:Object.freeze({error:!0}),fallback:Object.freeze({fallback:!0}),keywords:A}})});Oo(exports,{DEFAULT_SETTINGS:()=>h6,default:()=>Ni});var u2=w2(require("obsidian")),Ho=w2(Bi());var Pi={prefix:"fas",iconName:"dice",icon:[640,512,[],"f522","M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]};var Ii={prefix:"far",iconName:"copy",icon:[448,512,[],"f0c5","M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"]};function gt(n){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?gt=function(e){return typeof e}:gt=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gt(n)}function jo(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function ki(n,e){for(var t=0;t-1;a--){var r=t[a],s=(r.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(i=r)}return C2.head.insertBefore(e,i),n}}var mc="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function r6(){for(var n=12,e="";n-- >0;)e+=mc[Math.random()*62|0];return e}function ra(n){return"".concat(n).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function vc(n){return Object.keys(n||{}).reduce(function(e,t){return e+"".concat(t,'="').concat(ra(n[t]),'" ')},"").trim()}function na(n){return Object.keys(n||{}).reduce(function(e,t){return e+"".concat(t,": ").concat(n[t],";")},"")}function sa(n){return n.size!==F4.size||n.x!==F4.x||n.y!==F4.y||n.rotate!==F4.rotate||n.flipX||n.flipY}function oa(n){var e=n.transform,t=n.containerWidth,i=n.iconWidth,a={transform:"translate(".concat(t/2," 256)")},r="translate(".concat(e.x*32,", ").concat(e.y*32,") "),s="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),o="rotate(".concat(e.rotate," 0 0)"),c={transform:"".concat(r," ").concat(s," ").concat(o)},l={transform:"translate(".concat(i/2*-1," -256)")};return{outer:a,inner:c,path:l}}var S0={x:0,y:0,width:"100%",height:"100%"};function ca(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return n.attributes&&(n.attributes.fill||e)&&(n.attributes.fill="black"),n}function gc(n){return n.tag==="g"?n.children:[n]}function xc(n){var e=n.children,t=n.attributes,i=n.main,a=n.mask,r=n.maskId,s=n.transform,o=i.width,c=i.icon,l=a.width,u=a.icon,f=oa({transform:s,containerWidth:l,iconWidth:o}),h={tag:"rect",attributes:F1({},S0,{fill:"white"})},m=c.children?{children:c.children.map(ca)}:{},v={tag:"g",attributes:F1({},f.inner),children:[ca(F1({tag:c.tag,attributes:F1({},c.attributes,f.path)},m))]},g={tag:"g",attributes:F1({},f.outer),children:[v]},x="mask-".concat(r||r6()),p="clip-".concat(r||r6()),d={tag:"mask",attributes:F1({},S0,{id:x,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,g]},A={tag:"defs",children:[{tag:"clipPath",attributes:{id:p},children:gc(u)},d]};return e.push(A,{tag:"rect",attributes:F1({fill:"currentColor","clip-path":"url(#".concat(p,")"),mask:"url(#".concat(x,")")},S0)}),{children:e,attributes:t}}function Mc(n){var e=n.children,t=n.attributes,i=n.main,a=n.transform,r=n.styles,s=na(r);if(s.length>0&&(t.style=s),sa(a)){var o=oa({transform:a,containerWidth:i.width,iconWidth:i.width});e.push({tag:"g",attributes:F1({},o.outer),children:[{tag:"g",attributes:F1({},o.inner),children:[{tag:i.icon.tag,children:i.icon.children,attributes:F1({},i.icon.attributes,o.path)}]}]})}else e.push(i.icon);return{children:e,attributes:t}}function bc(n){var e=n.children,t=n.main,i=n.mask,a=n.attributes,r=n.styles,s=n.transform;if(sa(s)&&t.found&&!i.found){var o=t.width,c=t.height,l={x:o/c/2,y:.5};a.style=na(F1({},r,{"transform-origin":"".concat(l.x+s.x/16,"em ").concat(l.y+s.y/16,"em")}))}return[{tag:"svg",attributes:a,children:e}]}function yc(n){var e=n.prefix,t=n.iconName,i=n.children,a=n.attributes,r=n.symbol,s=r===!0?"".concat(e,"-").concat(V2.familyPrefix,"-").concat(t):r;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:F1({},a,{id:s}),children:i}]}]}function Cc(n){var e=n.icons,t=e.main,i=e.mask,a=n.prefix,r=n.iconName,s=n.transform,o=n.symbol,c=n.title,l=n.maskId,u=n.titleId,f=n.extra,h=n.watchable,m=h===void 0?!1:h,v=i.found?i:t,g=v.width,x=v.height,p=a==="fak",d=p?"":"fa-w-".concat(Math.ceil(g/x*16)),A=[V2.replacementClass,r?"".concat(V2.familyPrefix,"-").concat(r):"",d].filter(function(F){return f.classes.indexOf(F)===-1}).filter(function(F){return F!==""||!!F}).concat(f.classes).join(" "),b={children:[],attributes:F1({},f.attributes,{"data-prefix":a,"data-icon":r,class:A,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(g," ").concat(x)})},C=p&&!~f.classes.indexOf("fa-fw")?{width:"".concat(g/x*16*.0625,"em")}:{};m&&(b.attributes[ec]=""),c&&b.children.push({tag:"title",attributes:{id:b.attributes["aria-labelledby"]||"title-".concat(u||r6())},children:[c]});var E=F1({},b,{prefix:a,iconName:r,main:t,mask:i,maskId:l,transform:s,symbol:o,styles:F1({},C,f.styles)}),T=i.found&&t.found?xc(E):Mc(E),S=T.children,P=T.attributes;return E.children=S,E.attributes=P,o?yc(E):bc(E)}var la=function(){},Mh=V2.measurePerformance&&e6&&e6.mark&&e6.measure?e6:{mark:la,measure:la};var zc=function(e,t){return function(i,a,r,s){return e.call(t,i,a,r,s)}},E0=function(e,t,i,a){var r=Object.keys(e),s=r.length,o=a!==void 0?zc(t,a):t,c,l,u;for(i===void 0?(c=1,u=e[r[0]]):(c=0,u=i);c2&&arguments[2]!==void 0?arguments[2]:{},i=t.skipHooks,a=i===void 0?!1:i,r=Object.keys(e).reduce(function(s,o){var c=e[o],l=!!c.icon;return l?s[c.iconName]=c.icon:s[o]=c,s},{});typeof fe.hooks.addPack=="function"&&!a?fe.hooks.addPack(n,r):fe.styles[n]=F1({},fe.styles[n]||{},r),n==="fas"&&ua("fa",e)}var ha=fe.styles,Ac=fe.shims,wc={},_c={},Sc={},fa=function(){var e=function(a){return E0(ha,function(r,s,o){return r[o]=E0(s,a,{}),r},{})};wc=e(function(i,a,r){return a[3]&&(i[a[3]]=r),i}),_c=e(function(i,a,r){var s=a[2];return i[r]=r,s.forEach(function(o){i[o]=r}),i});var t="far"in ha;Sc=E0(Ac,function(i,a){var r=a[0],s=a[1],o=a[2];return s==="far"&&!t&&(s="fas"),i[r]={prefix:s,iconName:o},i},{})};fa();var bh=fe.styles;function da(n,e,t){if(n&&n[e]&&n[e][t])return{prefix:e,iconName:t,icon:n[e][t]}}function pa(n){var e=n.tag,t=n.attributes,i=t===void 0?{}:t,a=n.children,r=a===void 0?[]:a;return typeof n=="string"?ra(n):"<".concat(e," ").concat(vc(i),">").concat(r.map(pa).join(""),"")}function L0(n){this.name="MissingIcon",this.message=n||"Icon unavailable",this.stack=new Error().stack}L0.prototype=Object.create(Error.prototype);L0.prototype.constructor=L0;var n6={fill:"currentColor"},ma={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},yh={tag:"path",attributes:F1({},n6,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},D0=F1({},ma,{attributeName:"opacity"}),Ch={tag:"circle",attributes:F1({},n6,{cx:"256",cy:"364",r:"28"}),children:[{tag:"animate",attributes:F1({},ma,{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:F1({},D0,{values:"1;0;1;1;0;1;"})}]},zh={tag:"path",attributes:F1({},n6,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:[{tag:"animate",attributes:F1({},D0,{values:"1;0;0;0;0;1;"})}]},Ah={tag:"path",attributes:F1({},n6,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:F1({},D0,{values:"0;0;1;1;0;0;"})}]};var wh=fe.styles;function va(n){var e=n[0],t=n[1],i=n.slice(4),a=Ui(i,1),r=a[0],s=null;return Array.isArray(r)?s={tag:"g",attributes:{class:"".concat(V2.familyPrefix,"-").concat(m4.GROUP)},children:[{tag:"path",attributes:{class:"".concat(V2.familyPrefix,"-").concat(m4.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(V2.familyPrefix,"-").concat(m4.PRIMARY),fill:"currentColor",d:r[1]}}]}:s={tag:"path",attributes:{fill:"currentColor",d:r}},{found:!0,width:e,height:t,icon:s}}var _h=fe.styles;var Ec=`svg:not(:root).svg-inline--fa { overflow: visible; } @@ -469,40 +469,40 @@ Use (?: \u2026 ) instead`);if(!N.lineBreaks&&Q.test(` .fad.fa-inverse { color: #fff; -}`;function Lc(){var n=Xi,e=Zi,t=H2.familyPrefix,i=H2.replacementClass,a=Ec;if(t!==n||i!==e){var r=new RegExp("\\.".concat(n,"\\-"),"g"),s=new RegExp("\\--".concat(n,"\\-"),"g"),o=new RegExp("\\.".concat(e),"g");a=a.replace(r,".".concat(t,"-")).replace(s,"--".concat(t,"-")).replace(o,".".concat(i))}return a}var Dc=function(){function n(){jo(this,n),this.definitions={}}return Xo(n,[{key:"add",value:function(){for(var t=this,i=arguments.length,a=new Array(i),r=0;r1&&arguments[1]!==void 0?arguments[1]:{},i=(e||{}).icon?e:ga(e||{}),a=t.mask;return a&&(a=(a||{}).icon?a:ga(a||{})),n(i,F1({},t,{mask:a}))}}var Nc=new Dc;var xa=!1;var T0=Vc(function(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=e.transform,i=t===void 0?R4:t,a=e.symbol,r=a===void 0?!1:a,s=e.mask,o=s===void 0?null:s,l=e.maskId,c=l===void 0?null:l,u=e.title,f=u===void 0?null:u,h=e.titleId,m=h===void 0?null:h,v=e.classes,g=v===void 0?[]:v,x=e.attributes,p=x===void 0?{}:x,d=e.styles,z=d===void 0?{}:d;if(!!n){var b=n.prefix,C=n.iconName,E=n.icon;return Hc(F1({type:"icon"},n),function(){return Tc(),H2.autoA11y&&(f?p["aria-labelledby"]="".concat(H2.replacementClass,"-title-").concat(m||a6()):(p["aria-hidden"]="true",p.focusable="false")),Cc({icons:{main:va(E),mask:o?va(o.icon):{found:!1,width:null,height:null,icon:{}}},prefix:b,iconName:C,transform:F1({},R4,i),symbol:r,title:f,maskId:c,titleId:m,extra:{attributes:p,styles:z,classes:g}})})}});function H0(n,e){let t=Object.keys(e).map(i=>Rc(n,i,e[i]));return t.length===1?t[0]:function(){t.forEach(i=>i())}}function Rc(n,e,t){let i=n[e],a=n.hasOwnProperty(e),r=t(i);return i&&Object.setPrototypeOf(r,i),Object.setPrototypeOf(s,r),n[e]=s,o;function s(...l){return r===i&&n[e]===s&&o(),r.apply(this,l)}function o(){n[e]===s&&(a?n[e]=i:delete n[e]),r!==i&&(r=i,Object.setPrototypeOf(s,i||Function))}}var Vi=w2(Ma());var V0=/(?:(?\d+)[Dd])?#(?[\p{Letter}\p{Emoji_Presentation}\w/-]+)(?:\|(?[\+-]))?(?:\|(?[^\+-]+))?/u,ba=/(?:(?\d+)[Dd])?(?:\[.*\]\(|\[\[)(?.+?)#?\^(?.+?)(?:\]\]|\))(?:\|(?
.+))?/,N0=/(?:(?\d+)[Dd])?(?:\[.*\]\(|\[\[)(?.+)(?:\]\]|\))\|?(?.+)?/;var De="dice-roller-icon",Te="dice-roller-copy";var g4=w2(require("obsidian"));var de=(a=>(a.None="None",a.Normal="Normal",a.Up="Up",a.Down="Down",a))(de||{}),f2=(i=>(i.None="None",i.Average="Average",i.Roll="Roll",i))(f2||{});function ya(n,e,t){[...n].slice(e).reverse().forEach(([a,r])=>{n.set(a+1,r)}),n.set(e,t)}var F4=w2(require("obsidian"));var R0=class extends F4.Events{constructor(e,t="",i=e.data.showDice){super();this.plugin=e;this.original=t;this.loaded=!1;this.containerEl=createSpan({cls:"dice-roller",attr:{"aria-label-position":"top","data-dice":this.original}});this.resultEl=this.containerEl.createSpan("dice-roller-result");if(i){let a=this.containerEl.createSpan({cls:"dice-roller-button"});(0,F4.setIcon)(a,De),a.onclick=this.onClick.bind(this)}else this.containerEl.addClass("no-icon");this.containerEl.onclick=this.onClick.bind(this)}setTooltip(){this.plugin.data.displayResultsInline||this.containerEl.setAttrs({"aria-label":this.tooltip})}getRandomBetween(e,t){let i=new Uint32Array(1);crypto.getRandomValues(i);let a=i[0]/(4294967295+1);return Math.floor(a*(t-e+1))+e}async render(){this.setTooltip(),await this.build()}async onClick(e){e.stopPropagation(),e.stopImmediatePropagation(),window.getSelection()?.isCollapsed&&await this.roll()}},Ca=class extends R0{constructor(e,t,i,a=e.data.showDice){super(e,t,a);this.plugin=e;this.original=t;this.lexemes=i;this.showDice=a;this.save=!1}get inlineText(){return`${this.tooltip.split(` -`).join(" -> ")} -> `}},v4=class extends Ca{},B4=class extends v4{constructor(e,t,i,a,r=e.data.showDice){super(e,t,[i],r);this.plugin=e;this.original=t;this.lexeme=i;this.source=a;this.watch=!0;this.getPath(),this.init=this.getFile()}async getFile(){if(this.file=this.plugin.app.metadataCache.getFirstLinkpathDest(this.path,this.source),!this.file||!(this.file instanceof F4.TFile))throw new Error("Could not load file.");await this.load(),this.registerFileWatcher()}registerFileWatcher(){this.plugin.registerEvent(this.plugin.app.vault.on("modify",async e=>{!this.watch||this.save||e===this.file&&await this.getOptions()}))}},F0=class extends R0{constructor(e,t,i){super(e,"");this.options=t;this.rolls=i}get tooltip(){return`${this.options.toString()} +}`;function Lc(){var n=Xi,e=Zi,t=V2.familyPrefix,i=V2.replacementClass,a=Ec;if(t!==n||i!==e){var r=new RegExp("\\.".concat(n,"\\-"),"g"),s=new RegExp("\\--".concat(n,"\\-"),"g"),o=new RegExp("\\.".concat(e),"g");a=a.replace(r,".".concat(t,"-")).replace(s,"--".concat(t,"-")).replace(o,".".concat(i))}return a}var Dc=function(){function n(){jo(this,n),this.definitions={}}return Xo(n,[{key:"add",value:function(){for(var t=this,i=arguments.length,a=new Array(i),r=0;r1&&arguments[1]!==void 0?arguments[1]:{},i=(e||{}).icon?e:ga(e||{}),a=t.mask;return a&&(a=(a||{}).icon?a:ga(a||{})),n(i,F1({},t,{mask:a}))}}var Nc=new Dc;var xa=!1;var T0=Vc(function(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=e.transform,i=t===void 0?F4:t,a=e.symbol,r=a===void 0?!1:a,s=e.mask,o=s===void 0?null:s,c=e.maskId,l=c===void 0?null:c,u=e.title,f=u===void 0?null:u,h=e.titleId,m=h===void 0?null:h,v=e.classes,g=v===void 0?[]:v,x=e.attributes,p=x===void 0?{}:x,d=e.styles,A=d===void 0?{}:d;if(!!n){var b=n.prefix,C=n.iconName,E=n.icon;return Hc(F1({type:"icon"},n),function(){return Tc(),V2.autoA11y&&(f?p["aria-labelledby"]="".concat(V2.replacementClass,"-title-").concat(m||r6()):(p["aria-hidden"]="true",p.focusable="false")),Cc({icons:{main:va(E),mask:o?va(o.icon):{found:!1,width:null,height:null,icon:{}}},prefix:b,iconName:C,transform:F1({},F4,i),symbol:r,title:f,maskId:l,titleId:m,extra:{attributes:p,styles:A,classes:g}})})}});function H0(n,e){let t=Object.keys(e).map(i=>Rc(n,i,e[i]));return t.length===1?t[0]:function(){t.forEach(i=>i())}}function Rc(n,e,t){let i=n[e],a=n.hasOwnProperty(e),r=t(i);return i&&Object.setPrototypeOf(r,i),Object.setPrototypeOf(s,r),n[e]=s,o;function s(...c){return r===i&&n[e]===s&&o(),r.apply(this,c)}function o(){n[e]===s&&(a?n[e]=i:delete n[e]),r!==i&&(r=i,Object.setPrototypeOf(s,i||Function))}}var Vi=w2(Ma());var V0=/(?:(?\d+)[Dd])?#(?[\p{Letter}\p{Emoji_Presentation}\w/-]+)(?:\|(?[\+-]))?(?:\|(?[^\+-]+))?/u,ba=/(?.*)?(?:\[.*\]\(|\[\[)(?.+?)#?\^(?.+?)(?:\]\]|\))(?:\|(?
.+))?/,N0=/(?:(?\d+)[Dd])?(?:\[.*\]\(|\[\[)(?.+)(?:\]\]|\))\|?(?.+)?/;var De="dice-roller-icon",Te="dice-roller-copy";var g4=w2(require("obsidian"));var de=(a=>(a.None="None",a.Normal="Normal",a.Up="Up",a.Down="Down",a))(de||{}),f2=(i=>(i.None="None",i.Average="Average",i.Roll="Roll",i))(f2||{});function ya(n,e,t){[...n].slice(e).reverse().forEach(([a,r])=>{n.set(a+1,r)}),n.set(e,t)}var B4=w2(require("obsidian"));var R0=class extends B4.Events{constructor(e,t="",i=e.data.showDice){super();this.plugin=e;this.original=t;this.loaded=!1;this.containerEl=createSpan({cls:"dice-roller",attr:{"aria-label-position":"top","data-dice":this.original}});this.resultEl=this.containerEl.createSpan("dice-roller-result");if(i){let a=this.containerEl.createSpan({cls:"dice-roller-button"});(0,B4.setIcon)(a,De),a.onclick=this.onClick.bind(this)}else this.containerEl.addClass("no-icon");this.containerEl.onclick=this.onClick.bind(this)}setTooltip(){this.plugin.data.displayResultsInline||this.containerEl.setAttrs({"aria-label":this.tooltip})}getRandomBetween(e,t){let i=new Uint32Array(1);crypto.getRandomValues(i);let a=i[0]/(4294967295+1);return Math.floor(a*(t-e+1))+e}async render(){this.setTooltip(),await this.build()}async onClick(e){e.stopPropagation(),e.stopImmediatePropagation(),window.getSelection()?.isCollapsed&&await this.roll()}},Ca=class extends R0{constructor(e,t,i,a=e.data.showDice){super(e,t,a);this.plugin=e;this.original=t;this.lexemes=i;this.showDice=a;this.save=!1}get inlineText(){return`${this.tooltip.split(` +`).join(" -> ")} -> `}},v4=class extends Ca{},P4=class extends v4{constructor(e,t,i,a,r=e.data.showDice){super(e,t,[i],r);this.plugin=e;this.original=t;this.lexeme=i;this.source=a;this.watch=!0;this.getPath(),this.init=this.getFile()}async getFile(){if(this.file=this.plugin.app.metadataCache.getFirstLinkpathDest(this.path,this.source),!this.file||!(this.file instanceof B4.TFile))throw new Error("Could not load file.");await this.load()}},F0=class extends R0{constructor(e,t,i){super(e,"");this.options=t;this.rolls=i}get tooltip(){return`${this.options.toString()} -${this.results.toString()}`}async roll(){let e=[...this.options];return this.results=[...Array(this.rolls)].map(()=>{let t=e[this.getRandomBetween(0,e.length-1)];return e.splice(e.indexOf(t),1),t}).filter(t=>t),this.render(),this.trigger("new-result"),this.result=this.results[0],this.results[0]}async build(){this.resultEl.empty(),this.resultEl.setText(this.results.toString())}};var k2=class{constructor(e,t={value:e,conditions:[],type:"dice"}){this.lexeme=t;this.modifiers=new Map;this.modifiersAllowed=!0;this.static=!1;this.conditions=[];this.fudge=!1;if(!/(\-?\d+)[dD]?(\d+|%|\[\d+,\s?\d+\])?/.test(e))throw new Error("Non parseable dice string passed to DiceRoll.");this.dice=e.split(" ").join(""),/^-?\d+(?:\.\d+)?$/.test(this.dice)&&(this.static=!0,this.modifiersAllowed=!1);let[,i,a=null,r=1]=this.dice.match(/(\-?\d+)[dD]\[?(?:(-?\d+)\s?,)?\s?(-?\d+|%|F)\]?/)||[,1,null,1];this.multiplier=i<0?-1:1,this.rolls=Math.abs(Number(i))||1,Number(r)<0&&!a&&(a=-1),r==="%"&&(r=100),r==="F"&&(r=1,a=-1,this.fudge=!0),Number(r)[o,{usable:!0,value:s,display:`${s}`,modifiers:new Set}]))}get text(){return`${this.result}`}get result(){return this.static?Number(this.dice):[...this.results].map(([,{usable:t,value:i}])=>t?i:0).reduce((t,i)=>t+i,0)}get display(){return this.static?`${this.result}`:`[${[...this.results].map(([,{modifiers:e,display:t}])=>`${t}${[...e].join("")}`).join(", ")}]`}get modifierText(){if(!this.modifiers.size)return"";let e=[...this.conditions].map(({value:i})=>i).join(""),t=[...this.modifiers].map(([i,{conditionals:a,value:r}])=>{let s=a.map(o=>o.value);return`${r}${s.join("")}`}).join("");return`${e}${t}`}keepLow(e=1){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}[...this.results].sort((t,i)=>t[1].value-i[1].value).slice(e-this.results.size).forEach(([t])=>{let i=this.results.get(t);i.usable=!1,i.modifiers.add("d"),this.results.set(t,{...i})})}keepHigh(e=1){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}[...this.results].sort((t,i)=>i[1].value-t[1].value).slice(e).forEach(([t])=>{let i=this.results.get(t);i.usable=!1,i.modifiers.add("d"),this.results.set(t,{...i})})}reroll(e,t){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}t.length||t.push({operator:"=",comparer:this.faces.min,value:""});let i=0,a=[...this.results].filter(([,{value:r}])=>this.checkCondition(r,t));for(;ithis.checkCondition(r,t)).length>0;)i++,a.map(([,r])=>{r.modifiers.add("r"),r.value=this.getRandomBetween(this.faces.min,this.faces.max)});a.forEach(([r,s])=>{this.results.set(r,s)})}explodeAndCombine(e,t){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}t.length||t.push({operator:"=",comparer:this.faces.max,value:""});let i=0;[...this.results].filter(([,{value:r}])=>this.checkCondition(r,t)).forEach(([r,s])=>{let o=this.getRandomBetween(this.faces.min,this.faces.max);for(i++,s.modifiers.add("!"),s.value+=o,s.display=`${s.value}`,this.results.set(r,s);ithis.checkCondition(r,t)),a=0;i.forEach(([r,s])=>{let o=s.value,l=0;for(;lthis.multiplier*this.getRandomBetween(this.faces.min,this.faces.max))}setResults(e){this.results=new Map([...e].map((t,i)=>[i,{usable:!0,value:t,display:`${t}`,modifiers:new Set}]))}applyModifiers(){for(let[e,t]of this.modifiers)this.applyModifier(e,t)}roll(){let e=this._roll();return this.results=new Map([...e].map((t,i)=>[i,{usable:!0,value:t,display:`${t}`,modifiers:new Set}])),this.applyModifiers(),this.conditions?.length&&this.applyConditions(),e}applyConditions(){for(let[e,t]of this.results){let i=this.conditions.find(({operator:r})=>r==="-="||r==="=-");if(i&&t.value===i.comparer){t.value=-1,t.modifiers.add("-");continue}this.checkCondition(t.value,this.conditions)?(t.modifiers.add("*"),t.value=1):t.usable=!1}}applyModifier(e,t){switch(e){case"kh":{this.keepHigh(t.data);break}case"kl":{this.keepLow(t.data);break}case"!":{this.explode(t.data,t.conditionals);break}case"!!":{this.explodeAndCombine(t.data,t.conditionals);break}case"r":{this.reroll(t.data,t.conditionals);break}case"condition":}}checkCondition(e,t){return!t||!t.length?e:t.some(({operator:i,comparer:a})=>{if(Number.isNaN(e)||Number.isNaN(a))return!1;let r=!1;switch(i){case"=":r=e===a;break;case"!=":case"=!":r=e!==a;break;case"<":r=e":r=e>a;break;case">=":r=e>=a;break}return r})}allowAverage(){return!0}average(){return(this.faces.min+this.faces.max)/2}getRandomBetween(e,t){return Math.floor(Math.random()*(t-e+1))+e}},bt=class extends k2{constructor(e,t){super("3d6",t);this.dice=e;this.lexeme=t}get doubles(){return new Set([...this.results].map(([,{usable:e,value:t}])=>e?t:0)).size<3}get result(){return this.static?Number(this.dice):[...this.results].map(([,{usable:t,value:i}])=>t?i:0).reduce((t,i)=>t+i,0)}get display(){let e=[];for(let t of this.results){if(t[0]==0&&this.doubles){e.push(`${t[1].value}S`);continue}e.push(`${t[1].value}`)}return`[${e.join(", ")}]`}allowAverage(){return!1}},za=class extends k2{constructor(e,t){super(e,t);this.dice=e;this.lexeme=t;this.stack=[];let i=`${this.faces.max}`.split("");for(let a=0;aNumber(e.map(t=>t.result).join(""))).reduce((e,t)=>e+t)}get display(){return this.stack.map(e=>e.map(t=>t.result).join(",")).join("|")}roll(){return!this.stack||!this.stack.length?super.roll():(this.stack.forEach(e=>e.map(t=>t.roll())),[...this.stack.map(e=>e.map(t=>t.result)).flat()])}allowAverage(){return!1}},V2=class extends v4{constructor(e,t,i,a=e.data.showDice,r,s){super(e,t,i,a);this.plugin=e;this.original=t;this.lexemes=i;this.displayFixedText=!1;this.stunted="";this.shouldRender=!1;this.showFormula=!1;this.operators={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"^":(e,t)=>Math.pow(e,t)};this.stack=[];this.stackCopy=[];this.dice=[];this.hasRunOnce=!1;this.fixedText=r,this.expectedValue=s,this.displayFixedText=this.fixedText!=="",this.loaded=!0,this.trigger("loaded")}get replacer(){return`${this.result}`}get resultText(){let e=[],t=0;return this.dice.forEach(i=>{let a=this.original.slice(t);e.push(a.slice(0,a.indexOf(i.lexeme.text)),i.display),t+=a.indexOf(i.lexeme.text)+i.lexeme.text.length+i.modifierText.length}),e.push(this.original.slice(t)),e.join("")}get tooltip(){return this._tooltip?this._tooltip:this.expectedValue===f2.Roll||this.shouldRender?this.displayFixedText?`${this.original} +${this.results.toString()}`}async roll(){let e=[...this.options];return this.results=[...Array(this.rolls)].map(()=>{let t=e[this.getRandomBetween(0,e.length-1)];return e.splice(e.indexOf(t),1),t}).filter(t=>t),this.render(),this.trigger("new-result"),this.result=this.results[0],this.results[0]}async build(){this.resultEl.empty(),this.resultEl.setText(this.results.toString())}};var k2=class{constructor(e,t={value:e,conditions:[],type:"dice"}){this.lexeme=t;this.modifiers=new Map;this.modifiersAllowed=!0;this.static=!1;this.conditions=[];this.fudge=!1;if(!/(\-?\d+)[dD]?(\d+|%|\[\d+,\s?\d+\])?/.test(e))throw new Error("Non parseable dice string passed to DiceRoll.");this.dice=e.split(" ").join(""),/^-?\d+(?:\.\d+)?$/.test(this.dice)&&(this.static=!0,this.modifiersAllowed=!1);let[,i,a=null,r=1]=this.dice.match(/(\-?\d+)[dD]\[?(?:(-?\d+)\s?,)?\s?(-?\d+|%|F)\]?/)||[,1,null,1];this.multiplier=i<0?-1:1,this.rolls=Math.abs(Number(i))||1,Number(r)<0&&!a&&(a=-1),r==="%"&&(r=100),r==="F"&&(r=1,a=-1,this.fudge=!0),Number(r)[o,{usable:!0,value:s,display:`${s}`,modifiers:new Set}]))}get text(){return`${this.result}`}get result(){return this.static?Number(this.dice):[...this.results].map(([,{usable:t,value:i}])=>t?i:0).reduce((t,i)=>t+i,0)}get display(){return this.static?`${this.result}`:`[${[...this.results].map(([,{modifiers:e,display:t}])=>`${t}${[...e].join("")}`).join(", ")}]`}get modifierText(){if(!this.modifiers.size)return"";let e=[...this.conditions].map(({value:i})=>i).join(""),t=[...this.modifiers].map(([i,{conditionals:a,value:r}])=>{let s=a.map(o=>o.value);return`${r}${s.join("")}`}).join("");return`${e}${t}`}keepLow(e=1){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}[...this.results].sort((t,i)=>t[1].value-i[1].value).slice(e-this.results.size).forEach(([t])=>{let i=this.results.get(t);i.usable=!1,i.modifiers.add("d"),this.results.set(t,{...i})})}keepHigh(e=1){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}[...this.results].sort((t,i)=>i[1].value-t[1].value).slice(e).forEach(([t])=>{let i=this.results.get(t);i.usable=!1,i.modifiers.add("d"),this.results.set(t,{...i})})}reroll(e,t){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}t.length||t.push({operator:"=",comparer:this.faces.min,value:""});let i=0,a=[...this.results].filter(([,{value:r}])=>this.checkCondition(r,t));for(;ithis.checkCondition(r,t)).length>0;)i++,a.map(([,r])=>{r.modifiers.add("r"),r.value=this.getRandomBetween(this.faces.min,this.faces.max)});a.forEach(([r,s])=>{this.results.set(r,s)})}explodeAndCombine(e,t){if(!this.modifiersAllowed){new g4.Notice("Modifiers are only allowed on dice rolls.");return}t.length||t.push({operator:"=",comparer:this.faces.max,value:""});let i=0;[...this.results].filter(([,{value:r}])=>this.checkCondition(r,t)).forEach(([r,s])=>{let o=this.getRandomBetween(this.faces.min,this.faces.max);for(i++,s.modifiers.add("!"),s.value+=o,s.display=`${s.value}`,this.results.set(r,s);ithis.checkCondition(r,t)),a=0;i.forEach(([r,s])=>{let o=s.value,c=0;for(;cthis.multiplier*this.getRandomBetween(this.faces.min,this.faces.max))}setResults(e){this.results=new Map([...e].map((t,i)=>[i,{usable:!0,value:t,display:`${t}`,modifiers:new Set}]))}applyModifiers(){for(let[e,t]of this.modifiers)this.applyModifier(e,t)}roll(){let e=this._roll();return this.results=new Map([...e].map((t,i)=>[i,{usable:!0,value:t,display:`${t}`,modifiers:new Set}])),this.applyModifiers(),this.conditions?.length&&this.applyConditions(),e}applyConditions(){for(let[e,t]of this.results){let i=this.conditions.find(({operator:r})=>r==="-="||r==="=-");if(i&&t.value===i.comparer){t.value=-1,t.modifiers.add("-");continue}this.checkCondition(t.value,this.conditions)?(t.modifiers.add("*"),t.value=1):t.usable=!1}}applyModifier(e,t){switch(e){case"sort":{let i;t.value=="sa"?i=[...this.results.values()].sort((a,r)=>a.value-r.value):i=[...this.results.values()].sort((a,r)=>r.value-a.value),this.results=new Map([...this.results.keys()].map(a=>[a,i[a]]));break}case"kh":{this.keepHigh(t.data);break}case"kl":{this.keepLow(t.data);break}case"!":{this.explode(t.data,t.conditionals);break}case"!!":{this.explodeAndCombine(t.data,t.conditionals);break}case"r":{this.reroll(t.data,t.conditionals);break}case"condition":}}checkCondition(e,t){return!t||!t.length?e:t.some(({operator:i,comparer:a})=>{if(Number.isNaN(e)||Number.isNaN(a))return!1;let r=!1;switch(i){case"=":r=e===a;break;case"!=":case"=!":r=e!==a;break;case"<":r=e":r=e>a;break;case">=":r=e>=a;break}return r})}allowAverage(){return!0}average(){return(this.faces.min+this.faces.max)/2}getRandomBetween(e,t){return Math.floor(Math.random()*(t-e+1))+e}},yt=class extends k2{constructor(e,t){super("3d6",t);this.dice=e;this.lexeme=t}get doubles(){return new Set([...this.results].map(([,{usable:e,value:t}])=>e?t:0)).size<3}get result(){return this.static?Number(this.dice):[...this.results].map(([,{usable:t,value:i}])=>t?i:0).reduce((t,i)=>t+i,0)}get display(){let e=[];for(let t of this.results){if(t[0]==0&&this.doubles){e.push(`${t[1].value}S`);continue}e.push(`${t[1].value}`)}return`[${e.join(", ")}]`}allowAverage(){return!1}},za=class extends k2{constructor(e,t){super(e,t);this.dice=e;this.lexeme=t;this.stack=[];let i=`${this.faces.max}`.split("");for(let a=0;aNumber(e.map(t=>t.result).join(""))).reduce((e,t)=>e+t)}get display(){return this.stack.map(e=>e.map(t=>t.result).join(",")).join("|")}roll(){return!this.stack||!this.stack.length?super.roll():(this.stack.forEach(e=>e.map(t=>t.roll())),[...this.stack.map(e=>e.map(t=>t.result)).flat()])}allowAverage(){return!1}},_2=class extends v4{constructor(e,t,i,a=e.data.showDice,r,s){super(e,t,i,a);this.plugin=e;this.original=t;this.lexemes=i;this.displayFixedText=!1;this.stunted="";this.shouldRender=!1;this.showFormula=!1;this.operators={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"^":(e,t)=>Math.pow(e,t)};this.stack=[];this.stackCopy=[];this.dice=[];this.hasRunOnce=!1;this.fixedText=r,this.expectedValue=s,this.displayFixedText=this.fixedText!=="",this.loaded=!0,this.trigger("loaded")}get replacer(){return`${this.result}`}get resultText(){let e=[],t=0;return this.dice.forEach(i=>{let a=this.original.slice(t);e.push(a.slice(0,a.indexOf(i.lexeme.text)),i.display),t+=a.indexOf(i.lexeme.text)+i.lexeme.text.length+i.modifierText.length}),e.push(this.original.slice(t)),e.join("")}get tooltip(){return this._tooltip?this._tooltip:this.expectedValue===f2.Roll||this.shouldRender?this.displayFixedText?`${this.original} ${this.result} = ${this.resultText}`:`${this.original} ${this.resultText}`:this.expectedValue===f2.Average?this.displayFixedText?`${this.original} ${this.result} = average: ${this.resultText}`:`${this.original} average: ${this.resultText}`:`${this.original} -empty`}allowAverage(){let e=t=>t.allowAverage();return this.dynamic.every(e)}async build(){if(this.expectedValue===f2.Average&&!this.shouldRender){if(this.allowAverage())for(let a of this.dynamic){let r=a.average();var e=Array(a.rolls).fill(r);a.setResults(e),this.recalculate()}else this.expectedValue=f2.Roll;this.result=Math.floor(this.result),this.setTooltip()}let t=this.result;switch(this.plugin.data.round){case de.None:{t=Math.trunc(t*100)/100;break}case de.Normal:{t=Math.round(t);break}case de.Up:{t=Math.ceil(t);break}case de.Down:{t=Math.floor(t);break}}let i;this.expectedValue===f2.None&&!this.shouldRender?(this.showDice?i=[""]:i=["\xA0"],this.showFormula&&i.unshift(this.original+" -> ")):(i=[`${t}`],this.showFormula&&i.unshift(this.inlineText)),this.expectedValue=f2.Roll,this.displayFixedText?this.resultEl.setText(this.fixedText):this.resultEl.setText(i.join("")+this.stunted)}async onClick(e){e.stopPropagation(),e.stopImmediatePropagation(),e.getModifierState("Alt")?this.expectedValue=f2.Average:e.getModifierState("Control")&&(this.expectedValue=f2.None),window.getSelection()?.isCollapsed&&await this.roll()}get dynamic(){return this.dice.filter(e=>!e.static)}get static(){return this.dice.filter(e=>e.static)}get isStatic(){return this.dice.every(e=>e.static)}async roll(){let e=0;this.stunted="";for(let t of this.lexemes)switch(t.type){case"+":case"-":case"*":case"/":case"^":case"math":let i=this.stack.pop(),a=this.stack.pop();if(!a){t.value==="-"&&(i=new k2(`-${i.dice}`,i.lexeme)),this.stackCopy.push(t.value),this.stack.push(i);continue}i.roll(),i instanceof bt&&i.doubles&&(this.stunted=` - ${i.results.get(0).value} Stunt Points`),a.roll(),a instanceof bt&&a.doubles&&(this.stunted=` - ${a.results.get(0).value} Stunt Points`);let r=this.operators[t.value](a.result,i.result);this.stackCopy.push(t.value),this.stack.push(new k2(`${r}`,t));break;case"kh":{let s=this.dice[e-1],o=t.value?Number(t.value):1;s.modifiers.set("kh",{data:o,conditionals:[],value:t.text});break}case"dl":{let s=this.dice[e-1],o=t.value?Number(t.value):1;o=s.results.size-o,s.modifiers.set("kh",{data:o,conditionals:[],value:t.text});break}case"kl":{let s=this.dice[e-1],o=t.value?Number(t.value):1;s.modifiers.set("kl",{data:o,conditionals:[],value:t.text});break}case"dh":{let s=this.dice[e-1],o=t.value?Number(t.value):1;o=s.results.size-o,s.modifiers.set("kl",{data:o,conditionals:[],value:t.text});break}case"!":{let s=this.dice[e-1],o=Number(t.value)||1;s.modifiers.set("!",{data:o,conditionals:t.conditions??[],value:t.text});break}case"!!":{let s=this.dice[e-1],o=Number(t.value)||1;s.modifiers.set("!!",{data:o,conditionals:t.conditions??[],value:t.text});break}case"r":{let s=this.dice[e-1],o=Number(t.value)||1;s.modifiers.set("r",{data:o,conditionals:t.conditions??[],value:t.text});break}case"dice":{if(t.parenedDice&&/^d/.test(t.value)&&this.stack.length){let s=this.stack.pop();t.value=`${s.result}${t.value}`,this.dice[e]=new k2(t.value,t)}this.dice[e]||(this.dice[e]=new k2(t.value,t)),this.stack.push(this.dice[e]),this.stackCopy.push(this.dice[e]),e++;break}case"stunt":{this.dice[e]||(this.dice[e]=new bt(t.value,t)),this.stack.push(this.dice[e]),this.stackCopy.push(this.dice[e]),e++;break}case"%":{this.dice[e]||(this.dice[e]=new za(t.value,t)),this.stack.push(this.dice[e]),this.stackCopy.push(this.dice[e]),e++;break}}if(this.shouldRender&&this.hasRunOnce)await this.plugin.renderRoll(this),new g4.Notice(`${this.tooltip} +empty`}allowAverage(){let e=t=>t.allowAverage();return this.dynamic.every(e)}async build(){if(this.expectedValue===f2.Average&&!this.shouldRender){if(this.allowAverage())for(let a of this.dynamic){let r=a.average();var e=Array(a.rolls).fill(r);a.setResults(e),this.recalculate()}else this.expectedValue=f2.Roll;this.result=Math.floor(this.result),this.setTooltip()}let t=this.result;switch(this.plugin.data.round){case de.None:{t=Math.trunc(t*100)/100;break}case de.Normal:{t=Math.round(t);break}case de.Up:{t=Math.ceil(t);break}case de.Down:{t=Math.floor(t);break}}let i;this.expectedValue===f2.None&&!this.shouldRender?(this.showDice?i=[""]:i=["\xA0"],this.showFormula&&i.unshift(this.original+" -> ")):(i=[`${t}`],this.showFormula&&i.unshift(this.inlineText)),this.expectedValue=f2.Roll,this.displayFixedText?this.resultEl.setText(this.fixedText):this.resultEl.setText(i.join("")+this.stunted)}async onClick(e){e.stopPropagation(),e.stopImmediatePropagation(),e.getModifierState("Alt")?this.expectedValue=f2.Average:e.getModifierState("Control")&&(this.expectedValue=f2.None),window.getSelection()?.isCollapsed&&await this.roll()}get dynamic(){return this.dice.filter(e=>!e.static)}get static(){return this.dice.filter(e=>e.static)}get isStatic(){return this.dice.every(e=>e.static)}async roll(){let e=0;this.stunted="";for(let t of this.lexemes)switch(t.type){case"+":case"-":case"*":case"/":case"^":case"math":let i=this.stack.pop(),a=this.stack.pop();if(!a){t.value==="-"&&(i=new k2(`-${i.dice}`,i.lexeme)),this.stackCopy.push(t.value),this.stack.push(i);continue}i.roll(),i instanceof yt&&i.doubles&&(this.stunted=` - ${i.results.get(0).value} Stunt Points`),a.roll(),a instanceof yt&&a.doubles&&(this.stunted=` - ${a.results.get(0).value} Stunt Points`);let r=this.operators[t.value](a.result,i.result);this.stackCopy.push(t.value),this.stack.push(new k2(`${r}`,t));break;case"kh":{let s=this.dice[e-1],o=t.value?Number(t.value):1;s.modifiers.set("kh",{data:o,conditionals:[],value:t.text});break}case"dl":{let s=this.dice[e-1],o=t.value?Number(t.value):1;o=s.results.size-o,s.modifiers.set("kh",{data:o,conditionals:[],value:t.text});break}case"kl":{let s=this.dice[e-1],o=t.value?Number(t.value):1;s.modifiers.set("kl",{data:o,conditionals:[],value:t.text});break}case"dh":{let s=this.dice[e-1],o=t.value?Number(t.value):1;o=s.results.size-o,s.modifiers.set("kl",{data:o,conditionals:[],value:t.text});break}case"!":{let s=this.dice[e-1],o=Number(t.value)||1;s.modifiers.set("!",{data:o,conditionals:t.conditions??[],value:t.text});break}case"!!":{let s=this.dice[e-1],o=Number(t.value)||1;s.modifiers.set("!!",{data:o,conditionals:t.conditions??[],value:t.text});break}case"r":{let s=this.dice[e-1],o=Number(t.value)||1;s.modifiers.set("r",{data:o,conditionals:t.conditions??[],value:t.text});break}case"sort":{let s=this.dice[e-1],o=Number(t.value);s.modifiers.set("sort",{data:o,conditionals:t.conditions??[],value:t.value});break}case"dice":{if(t.parenedDice&&/^d/.test(t.value)&&this.stack.length){let s=this.stack.pop();t.value=`${s.result}${t.value}`,this.dice[e]=new k2(t.value,t)}this.dice[e]||(this.dice[e]=new k2(t.value,t)),this.stack.push(this.dice[e]),this.stackCopy.push(this.dice[e]),e++;break}case"stunt":{this.dice[e]||(this.dice[e]=new yt(t.value,t)),this.stack.push(this.dice[e]),this.stackCopy.push(this.dice[e]),e++;break}case"%":{this.dice[e]||(this.dice[e]=new za(t.value,t)),this.stack.push(this.dice[e]),this.stackCopy.push(this.dice[e]),e++;break}}if(this.shouldRender&&this.hasRunOnce)await this.plugin.renderRoll(this),new g4.Notice(`${this.tooltip} -Result: ${this.result}`);else{let t=this.stack.pop();t.roll(),t instanceof bt&&t.doubles&&(this.stunted=` - ${t.results.get(0).value} Stunt Points`),this.result=t.result,this._tooltip=null}return this.render(),this.trigger("new-result"),this.hasRunOnce=!0,this.result}recalculate(){let e=[],t=0;for(let i of this.stackCopy)if(typeof i=="string"){let a=e.pop(),r=e.pop();if(!r){i==="-"&&(a=new k2(`-${a.result}`,a.lexeme)),e.push(a);continue}let s=this.operators[i](r.result,a.result);e.push(new k2(`${s}`))}else e.push(i),i instanceof k2&&i.applyModifiers();e.length&&e[0]instanceof k2&&(e[0].applyModifiers(),t+=e[0].result),this.result=t}toResult(){return{type:"dice",result:this.result,tooltip:this.tooltip}}async applyResult(e){e.type==="dice"&&(e.result&&(this.result=e.result),e.tooltip&&(this._tooltip=e.tooltip),await this.render())}setResult(e){}};var n2=w2(require("obsidian"));function Fc(n){let e="",t="abcdefghijklmnopqrstuvwxyz0123456789",i=t.length;for(let a=0;a{o.stopPropagation(),navigator.clipboard.writeText(this.displayFromCache(...this.results).trim()).then(async()=>{new n2.Notice("Result copied to clipboard.")})}),(0,n2.setIcon)(this.copy,Te)}get replacer(){let e=this.getBlockId(this.result);return e?`![[${this.path}#^${e}]]`:""}get tooltip(){return`${this.original} +Result: ${this.result}`);else{let t=this.stack.pop();t.roll(),t instanceof yt&&t.doubles&&(this.stunted=` - ${t.results.get(0).value} Stunt Points`),this.result=t.result,this._tooltip=null}return this.render(),this.trigger("new-result"),this.hasRunOnce=!0,this.result}recalculate(){let e=[],t=0;for(let i of this.stackCopy)if(typeof i=="string"){let a=e.pop(),r=e.pop();if(!r){i==="-"&&(a=new k2(`-${a.result}`,a.lexeme)),e.push(a);continue}let s=this.operators[i](r.result,a.result);e.push(new k2(`${s}`))}else e.push(i),i instanceof k2&&i.applyModifiers();e.length&&e[0]instanceof k2&&(e[0].applyModifiers(),t+=e[0].result),this.result=t}toResult(){return{type:"dice",result:this.result,tooltip:this.tooltip}}async applyResult(e){e.type==="dice"&&(e.result&&(this.result=e.result),e.tooltip&&(this._tooltip=e.tooltip),await this.render())}setResult(e){}};var n2=w2(require("obsidian"));function Fc(n){let e="",t="abcdefghijklmnopqrstuvwxyz0123456789",i=t.length;for(let a=0;a{o.stopPropagation(),navigator.clipboard.writeText(this.displayFromCache(...this.results).trim()).then(async()=>{new n2.Notice("Result copied to clipboard.")})}),(0,n2.setIcon)(this.copy,Te)}get replacer(){let e=this.getBlockId(this.result);return e?`![[${this.path}#^${e}]]`:""}get tooltip(){return`${this.original} ${this.path}`}async build(){if(this.resultEl.empty(),this.plugin.data.displayResultsInline&&this.inline&&this.resultEl.createSpan({text:this.inlineText}),!this.results||!this.results.length){this.resultEl.createDiv({cls:"dice-no-results",text:"No results."});return}this.plugin.data.copyContentButton&&this.copy.removeClass("no-show");for(let e of this.results){this.resultEl.onclick=async i=>{if(i&&i.getModifierState("Control")||i.getModifierState("Meta")){i.stopPropagation();return}};let t=this.resultEl.createDiv({cls:"markdown-embed"});if(!this.plugin.data.displayResultsInline){let i="type"in e?e.type:"List Item";t.setAttrs({"aria-label":`${this.file.basename}: ${i}`})}if(!e){t.createDiv({cls:"dice-no-results",text:"No results."});continue}if(n2.MarkdownRenderer.renderMarkdown(this.displayFromCache(e),t.createDiv(),this.source,null),this.plugin.data.copyContentButton&&this.results.length>1){let i=t.createDiv({cls:"dice-content-copy dice-roller-button",attr:{"aria-label":"Copy Contents"}});i.addEventListener("click",a=>{a.stopPropagation(),navigator.clipboard.writeText(this.displayFromCache(e).trim()).then(async()=>{new n2.Notice("Result copied to clipboard.")})}),(0,n2.setIcon)(i,Te)}}}async load(){await this.getOptions()}displayFromCache(...e){let t=[];for(let i of e)t.push(this.content.slice(i.position.start.offset,i.position.end.offset));return t.join(` -`)}getBlockId(e){let t=this.cache.blocks??{},i=Object.entries(t).find(([a,r])=>Aa(r.position,e.position));if(!i){let a=`${Bc(4)}`,r=`${this.content.slice(0,this.result.position.end.offset+1)}^${a}${this.content.slice(this.result.position.end.offset)}`;return this.watch=!1,this.plugin.app.vault.modify(this.file,r),a}return i[0]}getPath(){let{groups:e}=this.lexeme.value.match(N0),{roll:t=1,link:i,types:a}=e;if(!i)throw new Error("Could not parse link.");this.rolls=(t&&!isNaN(Number(t))&&Number(t))??1,this.path=decodeURIComponent(i.replace(/(\[|\]|\(|\))/g,"")),this.types=a?.split(","),this.levels=a?.split(",").map(r=>/heading\-\d+/.test(r)?r.split("-").pop():null).filter(r=>r),this.types=a?.split(",").map(r=>/heading\-\d+/.test(r)?r.split("-").shift():r)}async getOptions(){if(this.cache=this.plugin.app.metadataCache.getFileCache(this.file),!this.cache||!this.cache.sections)throw new Error("Could not read file cache.");this.content=await this.plugin.app.vault.cachedRead(this.file),this.options=this.cache.sections.filter(({type:e,position:t})=>this.types?e=="heading"&&this.types.includes(e)&&this.levels.length?(this.cache.headings??[]).filter(({level:a})=>this.levels.includes(`${a}`)).some(({position:a})=>Aa(a,t)):this.types.includes(e):!["yaml","thematicBreak"].includes(e)),this.types&&this.types.includes("listItem")&&this.options.push(...this.cache.listItems),this.loaded=!0,this.trigger("loaded")}async roll(){return new Promise((e,t)=>{if(!this.loaded)this.on("loaded",()=>{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.results[0])});else{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.results[0])}})}toResult(){return{type:"section",result:this.results}}async applyResult(e){e.type==="section"&&(e.result&&(this.results=e.result),await this.render())}},s6=class extends v4{constructor(e,t,i,a,r=e.data.showDice){super(e,t,[i],r);this.plugin=e;this.original=t;this.lexeme=i;this.source=a;this.loaded=!1;if(!this.plugin.canUseDataview)throw new n2.Notice("A tag can only be rolled with the Dataview plugin enabled."),new Error("A tag can only be rolled with the Dataview plugin enabled.");this.containerEl.addClasses(["has-embed","markdown-embed"]);let{roll:s=1,tag:o,collapse:l,types:c}=i.value.match(V0).groups;this.collapse=l==="-"?!0:l==="+"?!1:!this.plugin.data.returnAllTags,this.tag=`#${o}`,this.rolls=Number(s),this.types=c,this.getFiles()}get replacer(){return this.result.replacer}get typeText(){return this.types?.length?`|${this.types}`:""}async getFiles(){if(!this.plugin.dataviewAPI){new n2.Notice("Dice Roller: Dataview must be installed and enabled to use tag rollers.");return}await this.plugin.dataviewReady();let e=await this.plugin.dataviewAPI.query(`list from ${this.tag}`);if(!e.successful)throw new Error(`No files found with that tag. Is the tag correct? +`)}getBlockId(e){let t=this.cache.blocks??{},i=Object.entries(t).find(([a,r])=>Aa(r.position,e.position));if(!i){let a=`${Bc(4)}`,r=`${this.content.slice(0,this.result.position.end.offset+1)}^${a}${this.content.slice(this.result.position.end.offset)}`;return this.watch=!1,this.plugin.app.vault.modify(this.file,r),a}return i[0]}getPath(){let{groups:e}=this.lexeme.value.match(N0),{roll:t=1,link:i,types:a}=e;if(!i)throw new Error("Could not parse link.");this.rolls=(t&&!isNaN(Number(t))&&Number(t))??1,this.path=decodeURIComponent(i.replace(/(\[|\]|\(|\))/g,"")),this.types=a?.split(","),this.levels=a?.split(",").map(r=>/heading\-\d+/.test(r)?r.split("-").pop():null).filter(r=>r),this.types=a?.split(",").map(r=>/heading\-\d+/.test(r)?r.split("-").shift():r)}async getOptions(){if(this.cache=this.plugin.app.metadataCache.getFileCache(this.file),!this.cache||!this.cache.sections)throw new Error("Could not read file cache.");this.content=await this.plugin.app.vault.cachedRead(this.file),this.options=this.cache.sections.filter(({type:e,position:t})=>this.types?e=="heading"&&this.types.includes(e)&&this.levels.length?(this.cache.headings??[]).filter(({level:a})=>this.levels.includes(`${a}`)).some(({position:a})=>Aa(a,t)):this.types.includes(e):!["yaml","thematicBreak"].includes(e)),this.types&&this.types.includes("listItem")&&this.options.push(...this.cache.listItems),this.loaded=!0,this.trigger("loaded")}async roll(){return new Promise((e,t)=>{if(!this.loaded)this.on("loaded",()=>{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.results[0])});else{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.results[0])}})}toResult(){return{type:"section",result:this.results}}async applyResult(e){e.type==="section"&&(e.result&&(this.results=e.result),await this.render())}},o6=class extends v4{constructor(e,t,i,a,r=e.data.showDice){super(e,t,[i],r);this.plugin=e;this.original=t;this.lexeme=i;this.source=a;this.loaded=!1;if(!this.plugin.canUseDataview)throw new n2.Notice("A tag can only be rolled with the Dataview plugin enabled."),new Error("A tag can only be rolled with the Dataview plugin enabled.");this.containerEl.addClasses(["has-embed","markdown-embed"]);let{roll:s=1,tag:o,collapse:c,types:l}=i.value.match(V0).groups;this.collapse=c==="-"?!0:c==="+"?!1:!this.plugin.data.returnAllTags,this.tag=`#${o}`,this.rolls=Number(s),this.types=l,this.getFiles()}get replacer(){return this.result.replacer}get typeText(){return this.types?.length?`|${this.types}`:""}async getFiles(){if(!this.plugin.dataviewAPI){new n2.Notice("Dice Roller: Dataview must be installed and enabled to use tag rollers.");return}await this.plugin.dataviewReady();let e=await this.plugin.dataviewAPI.query(`list from ${this.tag}`);if(!e.successful)throw new Error(`No files found with that tag. Is the tag correct? `+this.tag);let t=new Set(e.value.values.reduce((a,r)=>(r.type=="file"&&a.push(r.path),a),[]));if(t&&t.delete(this.source),!t||!t.size)throw new Error(`No files found with that tag. Is the tag correct? -`+this.tag);let i=Array.from(t).map(a=>`${this.rolls}d[[${a}]]${this.typeText}`);this.results=i.map(a=>new yt(this.plugin,a,{...this.lexeme,value:a,type:"section"},this.source,!1)),this.loaded=!0,this.trigger("loaded")}async build(){if(this.resultEl.empty(),this.plugin.data.displayResultsInline&&this.resultEl.createSpan({text:this.inlineText}),this.collapse){this.chosen=this.random??this.getRandomBetween(0,this.results.length-1);let e=this.results[this.chosen];this.random=null;let t=this.resultEl.createDiv();t.createEl("h5",{cls:"dice-file-name",text:e.file.basename}),t.appendChild(e.containerEl)}else for(let e of this.results){let t=this.resultEl.createDiv();t.createEl("h5",{cls:"dice-file-name",text:e.file.basename}),t.appendChild(e.containerEl)}}async roll(){return new Promise((e,t)=>{this.loaded?(this.results.forEach(async i=>await i.roll()),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.result)):this.on("loaded",()=>{this.results.forEach(async i=>await i.roll()),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.result)})})}get tooltip(){return this.original}toResult(){return{type:"tag",random:this.chosen,result:Object.fromEntries(this.results.map(e=>[e.path,e.toResult()]))}}async applyResult(e){if(e.type==="tag"){if(e.result)for(let t in e.result){let i=this.results.find(a=>a.path===t);!i||i.applyResult(e.result[t])}e.random&&(this.random=e.random),await this.render()}}},o6=class extends v4{constructor(e,t,i,a,r=e.data.showDice){super(e,t,[i],r);this.plugin=e;this.original=t;this.lexeme=i;this.source=a;let{roll:s=1,tag:o}=i.value.match(V0).groups;this.tag=`#${o}`,this.rolls=(s&&!isNaN(Number(s))&&Number(s))??1,this.getFiles()}get replacer(){return`[[${this.result.basename}]]`}get tooltip(){return`${this.original} +`+this.tag);let i=Array.from(t).map(a=>`${this.rolls}d[[${a}]]${this.typeText}`);this.results=i.map(a=>new Ct(this.plugin,a,{...this.lexeme,value:a,type:"section"},this.source,!1)),this.loaded=!0,this.trigger("loaded")}async build(){if(this.resultEl.empty(),this.plugin.data.displayResultsInline&&this.resultEl.createSpan({text:this.inlineText}),this.collapse){this.chosen=this.random??this.getRandomBetween(0,this.results.length-1);let e=this.results[this.chosen];this.random=null;let t=this.resultEl.createDiv();t.createEl("h5",{cls:"dice-file-name",text:e.file.basename}),t.appendChild(e.containerEl)}else for(let e of this.results){let t=this.resultEl.createDiv();t.createEl("h5",{cls:"dice-file-name",text:e.file.basename}),t.appendChild(e.containerEl)}}async roll(){return new Promise((e,t)=>{this.loaded?(this.results.forEach(async i=>await i.roll()),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.result)):this.on("loaded",()=>{this.results.forEach(async i=>await i.roll()),this.render(),this.trigger("new-result"),this.result=this.results[0],e(this.result)})})}get tooltip(){return this.original}toResult(){return{type:"tag",random:this.chosen,result:Object.fromEntries(this.results.map(e=>[e.path,e.toResult()]))}}async applyResult(e){if(e.type==="tag"){if(e.result)for(let t in e.result){let i=this.results.find(a=>a.path===t);!i||i.applyResult(e.result[t])}e.random&&(this.random=e.random),await this.render()}}},c6=class extends v4{constructor(e,t,i,a,r=e.data.showDice){super(e,t,[i],r);this.plugin=e;this.original=t;this.lexeme=i;this.source=a;let{roll:s=1,tag:o}=i.value.match(V0).groups;this.tag=`#${o}`,this.rolls=(s&&!isNaN(Number(s))&&Number(s))??1,this.getFiles()}get replacer(){return`[[${this.result.basename}]]`}get tooltip(){return`${this.original} ${this.result.basename}`}async roll(){return new Promise((e,t)=>{this.loaded?(this.result=this.links[this.getRandomBetween(0,this.links.length-1)],this.render(),this.trigger("new-result"),e(this.result)):this.on("loaded",()=>{this.result=this.links[this.getRandomBetween(0,this.links.length-1)],this.render(),this.trigger("new-result"),e(this.result)})})}async build(){this.resultEl.empty(),this.plugin.data.displayResultsInline&&this.resultEl.createSpan({text:this.inlineText});let e=this.resultEl.createEl("a",{cls:"internal-link",text:this.result.basename});e.onclick=async t=>{t.stopPropagation(),this.plugin.app.workspace.openLinkText(this.result.path,this.plugin.app.workspace.getActiveFile()?.path,t.getModifierState("Control"))},e.onmouseenter=async t=>{this.plugin.app.workspace.trigger("link-hover",this,e,this.result.path,this.plugin.app.workspace.getActiveFile()?.path)}}async getFiles(){if(!this.plugin.dataviewAPI){new n2.Notice("Dice Roller: Dataview must be installed and enabled to use tag rollers.");return}await this.plugin.dataviewReady();let e=await this.plugin.dataviewAPI.query(`list from ${this.tag}`);if(!e.successful)throw new Error(`No files found with that tag. Is the tag correct? `+this.tag);let t=new Set(e.value.values.reduce((i,a)=>(a.type=="file"&&i.push(a.path),i),[]));if(t&&t.delete(this.source),!t||!t.size)throw new Error(`No files found with that tag. Is the tag correct? -`+this.tag);this.links=Array.from(t).map(i=>this.plugin.app.metadataCache.getFirstLinkpathDest(i,this.source)),this.loaded=!0,this.trigger("loaded")}toResult(){return{type:"link",result:this.result.path}}async applyResult(e){if(e.type==="link"){if(e.result){let t=this.plugin.app.vault.getAbstractFileByPath(e.result);t&&t instanceof n2.TFile&&(this.result=t)}await this.render()}}},c6=class extends B4{constructor(e,t,i,a,r=!0,s=e.data.showDice){super(e,t,i,a,s);this.plugin=e;this.original=t;this.lexeme=i;this.inline=r;this.containerEl.addClasses(["has-embed","markdown-embed"]),this.resultEl.addClass("internal-embed"),this.resultEl.setAttrs({src:a}),this.copy=this.containerEl.createDiv({cls:"dice-content-copy dice-roller-button no-show",attr:{"aria-label":"Copy Contents"}}),this.copy.addEventListener("click",o=>{o.stopPropagation(),navigator.clipboard.writeText(this.results.join(` +`+this.tag);this.links=Array.from(t).map(i=>this.plugin.app.metadataCache.getFirstLinkpathDest(i,this.source)),this.loaded=!0,this.trigger("loaded")}toResult(){return{type:"link",result:this.result.path}}async applyResult(e){if(e.type==="link"){if(e.result){let t=this.plugin.app.vault.getAbstractFileByPath(e.result);t&&t instanceof n2.TFile&&(this.result=t)}await this.render()}}},l6=class extends P4{constructor(e,t,i,a,r=!0,s=e.data.showDice){super(e,t,i,a,s);this.plugin=e;this.original=t;this.lexeme=i;this.inline=r;this.containerEl.addClasses(["has-embed","markdown-embed"]),this.resultEl.addClass("internal-embed"),this.resultEl.setAttrs({src:a}),this.copy=this.containerEl.createDiv({cls:"dice-content-copy dice-roller-button no-show",attr:{"aria-label":"Copy Contents"}}),this.copy.addEventListener("click",o=>{o.stopPropagation(),navigator.clipboard.writeText(this.results.join(` `)).then(async()=>{new n2.Notice("Result copied to clipboard.")})}),(0,n2.setIcon)(this.copy,Te)}get replacer(){return this.result}get tooltip(){return`${this.original} ${this.path}`}async build(){if(this.resultEl.empty(),this.plugin.data.displayResultsInline&&this.inline&&this.resultEl.createSpan({text:this.inlineText}),!this.results||!this.results.length){this.resultEl.createDiv({cls:"dice-no-results",text:"No results."});return}this.plugin.data.copyContentButton&&this.copy.removeClass("no-show");for(let e of this.results){this.resultEl.onclick=async i=>{if(i&&i.getModifierState("Control")||i.getModifierState("Meta")){i.stopPropagation();return}};let t=this.resultEl.createDiv({cls:"markdown-embed"});if(!e){t.createDiv({cls:"dice-no-results",text:"No results."});continue}if(n2.MarkdownRenderer.renderMarkdown(e,t.createDiv(),this.source,null),this.plugin.data.copyContentButton&&this.results.length>1){let i=t.createDiv({cls:"dice-content-copy dice-roller-button",attr:{"aria-label":"Copy Contents"}});i.addEventListener("click",a=>{a.stopPropagation(),navigator.clipboard.writeText(e).then(async()=>{new n2.Notice("Result copied to clipboard.")})}),(0,n2.setIcon)(i,Te)}}}async load(){await this.getOptions()}getPath(){let{groups:e}=this.lexeme.value.match(N0),{roll:t=1,link:i,types:a}=e;if(!i)throw new Error("Could not parse link.");this.rolls=(t&&!isNaN(Number(t))&&Number(t))??1,this.path=i.replace(/(\[|\])/g,""),this.types=a?.split(",")}async getOptions(){if(this.content=await this.plugin.app.vault.cachedRead(this.file),!this.content)throw new Error("Could not read file cache.");this.options=this.content.trim().split(` -`).map(e=>e.trim()).filter(e=>e&&e.length),this.loaded=!0,this.trigger("loaded")}async roll(){return new Promise((e,t)=>{if(!this.loaded)this.on("loaded",()=>{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),e(this.results[0])});else{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),e(this.results[0])}})}toResult(){return{type:"section",result:this.results}}async applyResult(e){e.type==="section"&&(e.result&&(this.results=e.result),await this.render())}},Aa=(n,e)=>n.start.col==e.start.col&&n.start.line==e.start.line&&n.start.offset==e.start.offset;var l6=w2(require("obsidian"));var wa=class{constructor(){this.result="";this.combinedTooltip=""}},P4=class extends B4{constructor(){super(...arguments);this.combinedTooltip="";this.prettyTooltip=""}getPath(){let{groups:e}=this.lexeme.value.match(ba),{roll:t=1,link:i,block:a,header:r}=e;if(!i||!a)throw new Error("Could not parse link.");this.rolls=(t&&!isNaN(Number(t))&&Number(t))??1,this.path=decodeURIComponent(i.replace(/(\[|\]|\(|\))/g,"")),this.block=a.replace(/(\^|#)/g,"").trim().toLowerCase(),this.header=r}get tooltip(){return this.prettyTooltip}get replacer(){return this.result}async build(){this.resultEl.empty();let e=[this.result];this.plugin.data.displayResultsInline&&e.unshift(this.inlineText);let t=createSpan();await l6.MarkdownRenderer.renderMarkdown(e.join(""),t,this.source,null);let i=this.resultEl.createSpan("embedded-table-result");t.childElementCount==1&&t.firstElementChild instanceof HTMLParagraphElement?i.append(...Array.from(t.firstElementChild.childNodes)):i.append(...Array.from(t.childNodes))}prettify(e){let t=/(.*?)(\(|\)|;|\|\|)(.*)/,i=" ",a=0,r="",s=e,o;for(;o=s.match(t);){let[,l,c,u]=o;r+=l,c==")"?(a--,r+=` -`,r+=i.repeat(a),r+=")"):(c=="("?(a++,r+="("):c==";"?r+=",":c=="||"&&(r+="|"),r+=` -`,r+=i.repeat(a)),s=u}return r+=s,r}async getSubResult(e){let t=new wa;typeof e=="number"?t.result=e.toString():t.result=e;let i=[];if(typeof e=="string"){let a=/(?:\`dice:)(.*?)(?:\`)/g,r=e.matchAll(a);for(let s of r){let o=s[1].trim(),l=await this.plugin.getRoller(o,this.source);await l.roll();let c=await this.getSubResult(l.result),u;if(c.result instanceof l6.TFile?u=c.result.basename:u=c.result,t.result=t.result.replace(s[0],u),l instanceof P4)i.push(l.combinedTooltip);else{let[f,h]=l.tooltip.split(` -`);i.push(f+" --> "+h)}}}return t.combinedTooltip=i.join(";"),t}async getResult(){let e=[],t=[];for(let i=0;ic[1]===void 0&&o===c[0]||o>=c[0]&&c[1]>=o);l&&(a=this.lookupRoller.original.trim()+" --> "+`${this.lookupRoller.resultText}${this.header?" | "+this.header:""}`.trim(),s=l[1])}else{let o=[...this.options],l=this.getRandomBetween(0,o.length-1);a=o.length+" rows --> [row "+(l+1)+"]",s=o[l]}r=await this.getSubResult(s),e.push(r.result),r.combinedTooltip&&(a+=" > ("+r.combinedTooltip+")"),t.push(a)}return t.length==0?this.combinedTooltip=this.original:t.length==1?this.combinedTooltip=this.original+" "+t.join(""):this.combinedTooltip=this.original+" ==> ("+t.join(" ||")+")",this.prettyTooltip=this.prettify(this.combinedTooltip),e.join("||")}async roll(){return new Promise(async e=>{this.loaded?(this.result=await this.getResult(),this.render(),this.trigger("new-result"),e(this.result)):this.on("loaded",async()=>{this.result=await this.getResult(),this.render(),this.trigger("new-result"),e(this.result)})})}async load(){await this.getOptions()}async getOptions(){if(this.cache=this.plugin.app.metadataCache.getFileCache(this.file),!this.cache||!this.cache.blocks||!(this.block in this.cache.blocks))throw new Error(`Could not read file cache. Does the block reference exist? +`).map(e=>e.trim()).filter(e=>e&&e.length),this.loaded=!0,this.trigger("loaded")}async roll(){return new Promise((e,t)=>{if(!this.loaded)this.on("loaded",()=>{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),e(this.results[0])});else{let i=[...this.options];this.results=[...Array(this.rolls)].map(()=>{let a=i[this.getRandomBetween(0,i.length-1)];return i.splice(i.indexOf(a),1),a}).filter(a=>a),this.render(),this.trigger("new-result"),e(this.results[0])}})}toResult(){return{type:"section",result:this.results}}async applyResult(e){e.type==="section"&&(e.result&&(this.results=e.result),await this.render())}},Aa=(n,e)=>n.start.col==e.start.col&&n.start.line==e.start.line&&n.start.offset==e.start.offset;var x4=w2(require("obsidian"));var wa=class{constructor(){this.result="";this.combinedTooltip=""}},I4=class extends P4{constructor(){super(...arguments);this.combinedTooltip="";this.prettyTooltip=""}getPath(){let{groups:e}=this.lexeme.value.match(ba),{diceRoll:t="1",link:i,block:a,header:r}=e;if(!i||!a)throw new Error("Could not parse link.");let s=t.match(/(\d*?)[Dd]$/);if(s){let[,o="1"]=s;this.rollsFormula=o}else this.rollsFormula=t;this.rolls=1,this.path=decodeURIComponent(i.replace(/(\[|\]|\(|\))/g,"")),this.block=a.replace(/(\^|#)/g,"").trim().toLowerCase(),this.header=r}get tooltip(){return this.prettyTooltip}get replacer(){return this.result}async build(){this.resultEl.empty();let e=[this.result];this.plugin.data.displayResultsInline&&e.unshift(this.inlineText);let t=createSpan();await x4.MarkdownRenderer.renderMarkdown(e.join(""),t,this.source,null);let i=this.resultEl.createSpan("embedded-table-result");t.childElementCount==1&&t.firstElementChild instanceof HTMLParagraphElement?i.append(...Array.from(t.firstElementChild.childNodes)):i.append(...Array.from(t.childNodes))}prettify(e){let t=/(.*?)(\(|\)|;|\|\|)(.*)/,i=" ",a=0,r="",s=e,o;for(;o=s.match(t);){let[,c,l,u]=o;r+=c,l==")"?(a--,r+=` +`,r+=i.repeat(a),r+=")"):(l=="("?(a++,r+="("):l==";"?r+=",":l=="||"&&(r+="|"),r+=` +`,r+=i.repeat(a)),s=u}return r+=s,r}async getSubResult(e){let t=new wa;typeof e=="number"?t.result=e.toString():t.result=e;let i=[];if(typeof e=="string"){let a=/(?:\`dice:)(.*?)(?:\`)/g,r=e.matchAll(a);for(let s of r){let o=s[1].trim(),c=await this.plugin.getRoller(o,this.source);await c.roll();let l=await this.getSubResult(c.result),u;if(l.result instanceof x4.TFile?u=l.result.basename:u=l.result,t.result=t.result.replace(s[0],u),c instanceof I4)i.push(c.combinedTooltip);else{let[f,h]=c.tooltip.split(` +`);i.push(f+" --> "+h)}}}return t.combinedTooltip=i.join(";"),t}async getResult(){let e=[],t=[],i=this.original;if(this.rollsFormula)try{let a=await this.plugin.getRoller(this.rollsFormula,this.source);if(!(a instanceof _2))return this.prettyTooltip="TableRoller only supports dice rolls to select multiple elements.",new x4.Notice(this.prettyTooltip),"ERROR";let r=a;await r.roll(),this.rolls=r.result,r.isStatic||(i=i.replace(this.rollsFormula,`${this.rollsFormula.trim()} --> ${r.resultText} > `))}catch{return this.prettyTooltip=`TableRoller: '${this.rollsFormula}' is not a valid dice roll.`,new x4.Notice(this.prettyTooltip),"ERROR"}for(let a=0;au[1]===void 0&&c===u[0]||c>=u[0]&&u[1]>=c);l&&(r=this.lookupRoller.original.trim()+" --> "+`${this.lookupRoller.resultText}${this.header?" | "+this.header:""}`.trim(),o=l[1])}else{let c=[...this.options],l=this.getRandomBetween(0,c.length-1);r=c.length+" rows --> [row "+(l+1)+"]",o=c[l]}s=await this.getSubResult(o),e.push(s.result),s.combinedTooltip&&(r+=" > ("+s.combinedTooltip+")"),t.push(r)}return t.length==0?this.combinedTooltip=i:t.length==1?this.combinedTooltip=i+" "+t.join(""):this.combinedTooltip=i+" ==> ("+t.join(" ||")+")",this.prettyTooltip=this.prettify(this.combinedTooltip),e.join("||")}async roll(){return new Promise(async e=>{this.loaded?(this.result=await this.getResult(),this.render(),this.trigger("new-result"),e(this.result)):this.on("loaded",async()=>{this.result=await this.getResult(),this.render(),this.trigger("new-result"),e(this.result)})})}async load(){await this.getOptions()}async getOptions(){if(this.cache=this.plugin.app.metadataCache.getFileCache(this.file),!this.cache||!this.cache.blocks||!(this.block in this.cache.blocks))throw new Error(`Could not read file cache. Does the block reference exist? ${this.path} > ${this.block}`);let e=this.cache.sections?.find(t=>t.position==this.cache.blocks[this.block].position);if(this.position=this.cache.blocks[this.block].position,this.content=(await this.plugin.app.vault.cachedRead(this.file))?.slice(this.position.start.offset,this.position.end.offset),e&&e.type==="list")this.options=this.content.split(` -`);else{let t=Ic(this.content);if(Object.keys(t.columns).length===2&&/dice:\s*([\s\S]+)\s*?/.test(Object.keys(t.columns)[0])){let i=await this.plugin.getRoller(Object.keys(t.columns)[0].split(":").pop(),this.source);i instanceof V2&&(this.lookupRoller=i,this.lookupRanges=t.rows.map(a=>{let[r,s]=a.replace(/\\\|/g,"{ESCAPED_PIPE}").split("|").map(c=>c.replace(/{ESCAPED_PIPE}/g,"\\|")).map(c=>c.trim()),[,o,l]=r.match(/(\d+)(?:[^\d]+?(\d+))?/)??[];if(!(!o&&!l))return[[Number(o),l?Number(l):void 0],s]}),this.isLookup=!0)}if(this.header&&t.columns[this.header])this.options=t.columns[this.header];else{if(this.header)throw new Error(`Header ${this.header} was not found in table ${this.path} > ${this.block}.`);this.options=t.rows}}this.loaded=!0,this.trigger("loaded")}toResult(){return{type:"table",result:this.result}}async applyResult(e){e.type==="table"&&(e.result&&(this.result=e.result),await this.render())}},Pc=/^\|?([\s\S]+?)\|?$/,_a=/\|/g;function Ic(n){let e=n.split(` -`),i=e.map(s=>(s.trim().match(Pc)??[,s.trim()])[1])[0].replace("\\|","{ESCAPED_PIPE}").split(_a),a=[],r=[];for(let s in i){let o=i[s];o.trim().length||(o=s),r.push([o.trim(),[]])}for(let s of e.slice(2)){let o=s.trim().replace(/\\\|/g,"{ESCAPED_PIPE}").split(_a).map(l=>l.replace(/{ESCAPED_PIPE}/g,"\\|")).map(l=>l.trim()).filter(l=>l.length);a.push(o.join(" | "));for(let l in o){let c=o[l].trim();!c.length||!r[l]||r[l][1].push(c)}}return{columns:Object.fromEntries(r),rows:a}}var D1=w2(require("obsidian"));var u6=class extends D1.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t;this.plugin=t}async display(){let{containerEl:e}=this;e.empty(),e.addClass("dice-roller-settings"),e.createEl("h2",{text:"Dice Roller Settings"}),this.buildGenerics(e.createDiv()),this.buildDisplay(e.createDiv()),this.buildDice(e.createDiv()),this.buildTables(e.createDiv()),this.buildSections(e.createDiv()),this.buildTags(e.createDiv()),this.buildView(e.createDiv()),this.buildRender(e.createDiv()),this.buildFormulaSettings(e.createDiv("dice-roller-setting-additional-container")),e.createDiv("coffee").createEl("a",{href:"https://www.buymeacoffee.com/valentine195"}).createEl("img",{attr:{src:"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=\u2615&slug=valentine195&button_colour=e3e7ef&font_colour=262626&font_family=Inter&outline_colour=262626&coffee_colour=ff0000"}})}buildGenerics(e){e.empty(),new D1.Setting(e).setName("Globally Save Results").setDesc(createFragment(t=>{t.createSpan({text:"Dice results will be saved by default. This can be overridden using "}),t.createEl("code",{text:"dice-: formula"}),t.createEl("p",{text:"Please note that the plugin will attempt to save the result but may not be able to."})})).addToggle(t=>{t.setValue(this.plugin.data.persistResults),t.onChange(async i=>{this.plugin.data.persistResults=i,await this.plugin.saveSettings()})})}buildDisplay(e){e.empty(),new D1.Setting(e).setHeading().setName("Dice Display"),new D1.Setting(e).setName("Display Formula With Results").setDesc("Both the formula and the results will both be displayed in preview mode.").addToggle(t=>{t.setValue(this.plugin.data.displayResultsInline),t.onChange(async i=>{this.plugin.data.displayResultsInline=i,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Display Dice Button With Results").setDesc("A dice button will appear next to results.").addToggle(t=>{t.setValue(this.plugin.data.showDice),t.onChange(async i=>{this.plugin.data.showDice=i,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Add Formula When Using Modify Dice").setDesc(createFragment(t=>{t.createSpan({text:"Both the formula and the results will both be added to the note when using "}),t.createEl("code",{text:"dice-mod"}),t.createSpan({text:"."})})).addToggle(t=>{t.setValue(this.plugin.data.displayFormulaForMod),t.onChange(async i=>{this.plugin.data.displayFormulaForMod=i,await this.plugin.saveSettings()})})}buildDice(e){e.empty(),new D1.Setting(e).setHeading().setName("Dice Rollers"),new D1.Setting(e).setName("Default Face").setDesc("Use this as the number of faces when it is omitted.").addText(t=>{t.setValue(`${this.plugin.data.defaultFace}`),t.inputEl.onblur=async()=>{isNaN(Number(t.inputEl.value))&&new D1.Notice("The default face must be a number."),this.plugin.data.defaultFace=Number(t.inputEl.value),await this.plugin.saveSettings()}}),new D1.Setting(e).setName("Round Results").setDesc("Determine the rounding behavior for dice results.").addDropdown(t=>{t.addOptions(de).setValue(this.plugin.data.round).onChange(i=>{this.plugin.data.round=i,this.plugin.saveSettings()})}),new D1.Setting(e).setName("Always Render Dice").setDesc(createFragment(t=>{t.createSpan({text:"Dice rolled in notes will always be rendered. Use the "}),t.createEl("code",{text:"|norender"}),t.createSpan({text:" flag to prevent it."})})).addToggle(t=>{t.setValue(this.plugin.data.renderAllDice).onChange(i=>{this.plugin.data.renderAllDice=i,this.plugin.saveSettings()})})}buildTables(e){e.empty(),new D1.Setting(e).setHeading().setName("Table Rollers"),new D1.Setting(e).setName("Display Lookup Table Roll").setDesc("Lookup table rolls will display the rolled number along with the result.").addToggle(t=>{t.setValue(this.plugin.data.displayLookupRoll),t.onChange(async i=>{this.plugin.data.displayLookupRoll=i,await this.plugin.saveSettings()})})}buildSections(e){e.empty(),new D1.Setting(e).setHeading().setName("Section Rollers"),new D1.Setting(e).setName("Add Copy Button to Section Results").setDesc("Randomly rolled sections will have a copy-content button to easy add result to clipboard.").addToggle(t=>{t.setValue(this.plugin.data.copyContentButton),t.onChange(async i=>{this.plugin.data.copyContentButton=i,await this.plugin.saveSettings()})})}buildTags(e){e.empty(),new D1.Setting(e).setHeading().setName("Tag Rollers"),new D1.Setting(e).setName("Roll All Files for Tags").setDesc("Return a result for each file when rolling tags.").addToggle(t=>{t.setValue(this.plugin.data.returnAllTags),t.onChange(async i=>{this.plugin.data.returnAllTags=i,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Always Return Links for Tags").setDesc("Enables random link rolling with the link parameter. Override by specifying a section type.").addToggle(t=>{t.setValue(this.plugin.data.rollLinksForTags),t.onChange(async i=>{this.plugin.data.rollLinksForTags=i,await this.plugin.saveSettings()})})}buildView(e){e.empty(),new D1.Setting(e).setHeading().setName("Dice View"),new D1.Setting(e).setName("Open Dice View on Startup").setDesc("The dice view can always be opened using the command from the command palette.").addToggle(t=>{t.setValue(this.plugin.data.showLeafOnStartup),t.onChange(async i=>{this.plugin.data.showLeafOnStartup=i,await this.plugin.saveSettings()})})}buildRender(e){e.empty(),new D1.Setting(e).setHeading().setName("Graphical Dice"),new D1.Setting(e).setName("Display graphics for Dice View Rolls").setDesc("Dice rolls from dice view will be displayed on screen.").addToggle(a=>{a.setValue(this.plugin.data.renderer),a.onChange(async r=>{this.plugin.data.renderer=r,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Display Time for Dice Graphics").setDesc("Rendered dice will stay on screen for this number of milliseconds. Leave blank to require a click to clear dice.").addText(a=>{a.inputEl.setAttr("type","number"),a.inputEl.onblur=r=>{Number(a.getValue())<0&&(new D1.Notice("Render time cannot be less than 0."),a.setValue("0"))},a.setValue(`${this.plugin.data.renderTime}`),a.onChange(async r=>{r&&Number(r)<0||isNaN(Number(r))||(this.plugin.data.renderTime=Number(r),await this.plugin.saveSettings())})}).addExtraButton(a=>{a.setIcon("reset").setTooltip("Reset to Default").onClick(async()=>{this.plugin.data.renderTime=h6.renderTime,await this.plugin.saveSettings(),this.buildRender(e)})}),new D1.Setting(e).setName("Dice Base Color").setDesc("Rendered dice will be this color.").controlEl.createEl("input",{type:"color",value:this.plugin.data.diceColor},a=>{a.value=this.plugin.data.diceColor,a.onchange=async({target:r})=>{let s=r.value;this.plugin.data.diceColor=s,await this.plugin.saveSettings(),this.plugin.app.workspace.trigger("dice-roller:update-colors")}}),new D1.Setting(e).setName("Dice Text Color").setDesc("Rendered dice will use this color for their numbers.").controlEl.createEl("input",{type:"color",value:this.plugin.data.textColor},a=>{a.value=this.plugin.data.textColor,a.onchange=async({target:r})=>{let s=r.value;!s||(this.plugin.data.textColor=s,await this.plugin.saveSettings(),this.plugin.app.workspace.trigger("dice-roller:update-colors"))}})}buildFormulaSettings(e){e.empty(),new D1.Setting(e).setHeading().setName("Saved Formulas");let t=e.createDiv();new D1.Setting(t).setName("Add Formula").setDesc("Add a new formula shortcut.").addButton(r=>r.setTooltip("Add Formula").setButtonText("+").onClick(async()=>{let o=await this.buildFormulaForm(t);o&&(this.plugin.data.formulas[o.alias]=o.formula,this.buildFormulaSettings(e),await this.plugin.saveSettings())}));let i=e.createDiv("additional"),a=this.plugin.data.formulas;for(let[r,s]of Object.entries(a)){let o=new D1.Setting(i).setName(r);o.controlEl.createSpan({text:s}),o.addExtraButton(l=>l.setIcon("pencil").setTooltip("Edit").onClick(async()=>{let c=await this.buildFormulaForm(t,{alias:r,formula:s});c&&(delete this.plugin.data.formulas[r],this.plugin.data.formulas[c.alias]=c.formula,this.buildFormulaSettings(e),await this.plugin.saveSettings())})).addExtraButton(l=>l.setIcon("trash").setTooltip("Delete").onClick(async()=>{delete this.plugin.data.formulas[r],await this.plugin.saveSettings(),this.buildFormulaSettings(e)}))}Object.values(a).length||i.createSpan({text:"Create a formula to see it here!",cls:"no-formulas"})}async buildFormulaForm(e,t={alias:null,formula:null}){return new Promise(i=>{let a=e.createDiv("add-new-formula"),r=a.createDiv("formula-data");new D1.Setting(r).setName("Alias").addText(o=>{o.setValue(t.alias).onChange(l=>t.alias=l)}),new D1.Setting(r).setName("Formula").addText(o=>{o.setValue(t.formula).onChange(l=>t.formula=l)});let s=a.createDiv("formula-buttons");new D1.Setting(s).addButton(o=>o.setCta().setButtonText("Save").onClick(async()=>{a.detach(),i(t)})).addExtraButton(o=>o.setIcon("cross").setTooltip("Cancel").onClick(()=>{a.detach(),i(null)}))})}};var E1=w2(require("obsidian"));var x4="DICE_ROLLER_VIEW",kc='',Uc='',Oc='',Gc='',qc='',Wc='',jc='';(0,E1.addIcon)("d4",kc);(0,E1.addIcon)("d6",Uc);(0,E1.addIcon)("d8",Oc);(0,E1.addIcon)("d10",Gc);(0,E1.addIcon)("d12",qc);(0,E1.addIcon)("d20",Wc);(0,E1.addIcon)("d100",jc);(0,E1.addIcon)("dice-roller-save",'');(0,E1.addIcon)("dice-roller-plus",'');(0,E1.addIcon)("dice-roller-minus",'');var Je=class extends E1.ItemView{constructor(e,t){super(t);this.plugin=e;this.leaf=t;this.dice=Je.DICE();this.custom="";this.adv=!1;this.dis=!1;this.add=0;this.contentEl.addClass("dice-roller-view"),this.registerEvent(this.plugin.app.workspace.on("dice-roller:update-colors",()=>{this.renderer.factory.updateColors()}))}static DICE(){return{d4:0,d6:0,d8:0,d10:0,d12:0,d20:0,d100:0}}get customFormulas(){return this.plugin.data.customFormulas}get renderer(){return this.plugin.renderer}async onOpen(){this.display()}async display(){this.contentEl.empty(),this.gridEl=this.contentEl.createDiv("dice-roller-grid"),this.formulaEl=this.contentEl.createDiv("dice-roller-formula");let e=this.contentEl.createDiv("dice-roller-results-container"),t=e.createDiv("dice-roller-results-header");t.createEl("h4",{text:"Results"}),new E1.ExtraButtonComponent(t.createDiv("clear-all")).setIcon("trash").setTooltip("Clear All").onClick(()=>{this.resultEl.empty(),this.resultEl.append(this.noResultsEl)}),this.resultEl=e.createDiv("dice-roller-results"),this.noResultsEl=this.resultEl.createSpan({text:"No results yet! Roll some dice to get started :)"}),this.buildButtons(),this.buildFormula()}buildButtons(){this.gridEl.empty();let e=this.gridEl.createDiv("dice-buttons");for(let o in this.dice){let l=new E1.ExtraButtonComponent(e.createDiv("dice-button")).setIcon(o);l.extraSettingsEl.onclick=async c=>{let u=c.getModifierState("Shift")?-1:1;this.dice[o]+=u,this.setFormula();let f=await this.plugin.getRoller(this.formulaComponent.inputEl.value,"view");f instanceof V2&&(this.stack=f)}}let t=this.gridEl.createDiv("advantage-disadvantage"),i=new E1.ButtonComponent(t).setButtonText("ADV").onClick(()=>{this.adv=!this.adv,this.dis=!1,this.adv?(i.setCta(),a.removeCta()):i.removeCta(),this.setFormula()}),a=new E1.ButtonComponent(t).setButtonText("DIS").onClick(()=>{this.dis=!this.dis,this.dis?(a.setCta(),i.removeCta()):a.removeCta(),this.adv=!1,this.setFormula()}),r=this.gridEl.createDiv("dice-context").createDiv("add-subtract");new E1.ExtraButtonComponent(r).setIcon("dice-roller-minus").onClick(()=>{this.add-=1,s.setValue(`${this.add}`),this.setFormula()});let s=new E1.TextComponent(r).setValue(`${this.add?this.add:""}`).onChange(o=>{isNaN(Number(o))||(this.add=Number(o)),this.setFormula()});if(new E1.ExtraButtonComponent(r).setIcon("dice-roller-plus").onClick(()=>{this.add+=1,s.setValue(`${this.add}`),this.setFormula()}),this.customFormulas.length){let o=this.gridEl.createDiv("dice-roller-results-container");o.createDiv("dice-roller-results-header").createEl("h4",{text:"Saved Formulas"});for(let c of this.customFormulas){let u=o.createDiv("dice-custom-formula-container"),f=u.createDiv("dice-custom-formula");new E1.ExtraButtonComponent(f).setIcon(De).setTooltip("Roll").onClick(()=>this.roll(c)),f.createSpan({text:c}),new E1.ExtraButtonComponent(u).setIcon("trash").setTooltip("Remove").onClick(()=>{this.plugin.data.customFormulas=this.plugin.data.customFormulas.filter(h=>h!=c),this.plugin.saveSettings(),this.buildButtons()})}}}async roll(e=this.formulaComponent.inputEl.value){if(!e)return;this.rollButton.setDisabled(!0);let t=await this.plugin.getRoller(e,"view");if(!(t instanceof V2)){new E1.Notice("The Dice View only supports dice rolls.");return}if(await t.roll(),!t.dice.length){new E1.Notice("Invalid formula.");return}try{this.plugin.data.renderer&&(this.addChild(this.renderer),this.renderer.setDice(t),await this.renderer.start(),t.recalculate())}catch(i){new E1.Notice("There was an error rendering the roll."),console.error(i)}this.rollButton.setDisabled(!1),this.addResult({result:t.result,original:t.original,resultText:t.resultText}),this.dice=Je.DICE(),this.add=null,this.adv=!1,this.dis=!1,this.buildButtons(),this.setFormula()}buildFormula(){this.formulaEl.empty(),this.formulaComponent=new E1.TextAreaComponent(this.formulaEl).setPlaceholder("Dice Formula"),this.formulaComponent.onChange((0,E1.debounce)(async t=>{},500,!0));let e=this.formulaEl.createDiv("action-buttons");this.saveButton=new E1.ButtonComponent(e).setIcon("plus-with-circle").setCta().setTooltip("Save Formula").onClick(()=>this.save()),this.saveButton.buttonEl.addClass("dice-roller-roll"),this.rollButton=new E1.ButtonComponent(e).setIcon(De).setCta().setTooltip("Roll").onClick(()=>this.roll()),this.rollButton.buttonEl.addClass("dice-roller-roll")}save(){!this.formulaComponent.inputEl.value||(this.plugin.data.customFormulas.push(this.formulaComponent.inputEl.value),this.buildButtons(),this.plugin.saveSettings())}addResult(e){this.noResultsEl&&this.noResultsEl.detach();let t=createDiv("view-result");t.createSpan({text:e.original}),t.createEl("strong",{text:`${e.result}`,attr:{"aria-label":e.resultText}});let i=t.createDiv("result-context");i.createEl("em",{text:new Date().toLocaleString()}),new E1.ExtraButtonComponent(i).setIcon("trash").onClick(()=>{t.detach(),this.resultEl.children.length===0&&this.resultEl.prepend(this.noResultsEl)}),new E1.ExtraButtonComponent(i).setIcon(Te).setTooltip("Copy Result").onClick(async()=>{await navigator.clipboard.writeText(`${e.result}`)}).extraSettingsEl.addClass("dice-content-copy"),new E1.ExtraButtonComponent(i).setIcon(De).setTooltip("Roll Again").onClick(()=>this.roll(e.original)).extraSettingsEl.addClass("dice-result-reroll"),this.resultEl.prepend(t)}get formulaString(){let e=[],t=Object.entries(this.dice).filter(([a,r])=>r!=0);if(!t.length)return"";t.sort((a,r)=>Number(r[0].slice(1))-Number(a[0].slice(1)));let i=t.shift();return e.push(`${i[1]}${i[0]}`),this.adv?e.push("kh"):this.dis&&e.push("dh"),t.length&&e.push(...t.map(([a,r])=>`${r>0?"+":"-"}${Math.abs(r)}${a}`)),this.add&&this.add!=0&&(e.push(this.add>0?"+":"-"),e.push(Math.abs(this.add))),e.join("")}setFormula(){this.formulaComponent.setValue(this.formulaString)}getDisplayText(){return"Dice Roller"}getViewType(){return x4}getIcon(){return De}async onClose(){await super.onClose(),this.renderer.unload()}};var jt=w2(require("obsidian"));var _2=class{constructor(e=[0,0,0,0,0,0,0,0,0]){this.elements=void 0,this.elements=e}identity(){let e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}setZero(){let e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}setTrace(e){let t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}getTrace(e=new y){let t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}vmult(e,t=new y){let i=this.elements,a=e.x,r=e.y,s=e.z;return t.x=i[0]*a+i[1]*r+i[2]*s,t.y=i[3]*a+i[4]*r+i[5]*s,t.z=i[6]*a+i[7]*r+i[8]*s,t}smult(e){for(let t=0;t0){let r=1/a;this.x*=r,this.y*=r,this.z*=r}else this.x=0,this.y=0,this.z=0;return a}unit(e=new y){let t=this.x,i=this.y,a=this.z,r=Math.sqrt(t*t+i*i+a*a);return r>0?(r=1/r,e.x=t*r,e.y=i*r,e.z=a*r):(e.x=1,e.y=0,e.z=0),e}length(){let e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){let t=this.x,i=this.y,a=this.z,r=e.x,s=e.y,o=e.z;return Math.sqrt((r-t)*(r-t)+(s-i)*(s-i)+(o-a)*(o-a))}distanceSquared(e){let t=this.x,i=this.y,a=this.z,r=e.x,s=e.y,o=e.z;return(r-t)*(r-t)+(s-i)*(s-i)+(o-a)*(o-a)}scale(e,t=new y){let i=this.x,a=this.y,r=this.z;return t.x=e*i,t.y=e*a,t.z=e*r,t}vmul(e,t=new y){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new y){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return this.x===0&&this.y===0&&this.z===0}negate(e=new y){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){let i=this.length();if(i>0){let a=Zc,r=1/i;a.set(this.x*r,this.y*r,this.z*r);let s=Yc;Math.abs(a.x)<.9?(s.set(1,0,0),a.cross(s,e)):(s.set(0,1,0),a.cross(s,e)),a.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){let a=this.x,r=this.y,s=this.z;i.x=a+(e.x-a)*t,i.y=r+(e.y-r)*t,i.z=s+(e.z-s)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Sa),Sa.almostEquals(e,t)}clone(){return new y(this.x,this.y,this.z)}};y.ZERO=void 0;y.UNIT_X=void 0;y.UNIT_Y=void 0;y.UNIT_Z=void 0;y.ZERO=new y(0,0,0);y.UNIT_X=new y(1,0,0);y.UNIT_Y=new y(0,1,0);y.UNIT_Z=new y(0,0,1);var Zc=new y,Yc=new y,Sa=new y,S2=class{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new y,this.upperBound=new y,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,a){let r=this.lowerBound,s=this.upperBound,o=i;r.copy(e[0]),o&&o.vmult(r,r),s.copy(r);for(let l=1;ls.x&&(s.x=c.x),c.xs.y&&(s.y=c.y),c.ys.z&&(s.z=c.z),c.z=r.x&&t.y<=a.y&&i.y>=r.y&&t.z<=a.z&&i.z>=r.z}getCorners(e,t,i,a,r,s,o,l){let c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),a.set(c.x,u.y,u.z),r.set(u.x,c.y,u.z),s.set(c.x,u.y,c.z),o.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){let i=La,a=i[0],r=i[1],s=i[2],o=i[3],l=i[4],c=i[5],u=i[6],f=i[7];this.getCorners(a,r,s,o,l,c,u,f);for(let h=0;h!==8;h++){let m=i[h];e.pointToLocal(m,m)}return t.setFromPoints(i)}toWorldFrame(e,t){let i=La,a=i[0],r=i[1],s=i[2],o=i[3],l=i[4],c=i[5],u=i[6],f=i[7];this.getCorners(a,r,s,o,l,c,u,f);for(let h=0;h!==8;h++){let m=i[h];e.pointToWorld(m,m)}return t.setFromPoints(i)}overlapsRay(e){let{direction:t,from:i}=e,a=1/t.x,r=1/t.y,s=1/t.z,o=(this.lowerBound.x-i.x)*a,l=(this.upperBound.x-i.x)*a,c=(this.lowerBound.y-i.y)*r,u=(this.upperBound.y-i.y)*r,f=(this.lowerBound.z-i.z)*s,h=(this.upperBound.z-i.z)*s,m=Math.max(Math.max(Math.min(o,l),Math.min(c,u)),Math.min(f,h)),v=Math.min(Math.min(Math.max(o,l),Math.max(c,u)),Math.max(f,h));return!(v<0||m>v)}},Ea=new y,La=[new y,new y,new y,new y,new y,new y,new y,new y],B0=class{constructor(){this.matrix=void 0,this.matrix=[]}get(e,t){let{index:i}=e,{index:a}=t;if(a>i){let r=a;a=i,i=r}return this.matrix[(i*(i+1)>>1)+a-1]}set(e,t,i){let{index:a}=e,{index:r}=t;if(r>a){let s=r;r=a,a=s}this.matrix[(a*(a+1)>>1)+r-1]=i?1:0}reset(){for(let e=0,t=this.matrix.length;e!==t;e++)this.matrix[e]=0}setNumObjects(e){this.matrix.length=e*(e-1)>>1}},P0=class{constructor(){this._listeners=void 0}addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let i=this._listeners;return i[e]===void 0&&(i[e]=[]),i[e].includes(t)||i[e].push(t),this}hasEventListener(e,t){if(this._listeners===void 0)return!1;let i=this._listeners;return!!(i[e]!==void 0&&i[e].includes(t))}hasAnyEventListener(e){return this._listeners===void 0?!1:this._listeners[e]!==void 0}removeEventListener(e,t){if(this._listeners===void 0)return this;let i=this._listeners;if(i[e]===void 0)return this;let a=i[e].indexOf(t);return a!==-1&&i[e].splice(a,1),this}dispatchEvent(e){if(this._listeners===void 0)return this;let i=this._listeners[e.type];if(i!==void 0){e.target=this;for(let a=0,r=i.length;a.499&&(i=2*Math.atan2(s,c),a=Math.PI/2,r=0),u<-.499&&(i=-2*Math.atan2(s,c),a=-Math.PI/2,r=0),i===void 0){let f=s*s,h=o*o,m=l*l;i=Math.atan2(2*o*c-2*s*l,1-2*h-2*m),a=Math.asin(2*u),r=Math.atan2(2*s*c-2*o*l,1-2*f-2*m)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=a,e.x=r}setFromEuler(e,t,i,a="XYZ"){let r=Math.cos(e/2),s=Math.cos(t/2),o=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return a==="XYZ"?(this.x=l*s*o+r*c*u,this.y=r*c*o-l*s*u,this.z=r*s*u+l*c*o,this.w=r*s*o-l*c*u):a==="YXZ"?(this.x=l*s*o+r*c*u,this.y=r*c*o-l*s*u,this.z=r*s*u-l*c*o,this.w=r*s*o+l*c*u):a==="ZXY"?(this.x=l*s*o-r*c*u,this.y=r*c*o+l*s*u,this.z=r*s*u+l*c*o,this.w=r*s*o-l*c*u):a==="ZYX"?(this.x=l*s*o-r*c*u,this.y=r*c*o+l*s*u,this.z=r*s*u-l*c*o,this.w=r*s*o+l*c*u):a==="YZX"?(this.x=l*s*o+r*c*u,this.y=r*c*o+l*s*u,this.z=r*s*u-l*c*o,this.w=r*s*o-l*c*u):a==="XZY"&&(this.x=l*s*o-r*c*u,this.y=r*c*o-l*s*u,this.z=r*s*u+l*c*o,this.w=r*s*o+l*c*u),this}clone(){return new O1(this.x,this.y,this.z,this.w)}slerp(e,t,i=new O1){let a=this.x,r=this.y,s=this.z,o=this.w,l=e.x,c=e.y,u=e.z,f=e.w,h,m,v,g,x;return m=a*l+r*c+s*u+o*f,m<0&&(m=-m,l=-l,c=-c,u=-u,f=-f),1-m>1e-6?(h=Math.acos(m),v=Math.sin(h),g=Math.sin((1-t)*h)/v,x=Math.sin(t*h)/v):(g=1-t,x=t),i.x=g*a+x*l,i.y=g*r+x*c,i.z=g*s+x*u,i.w=g*o+x*f,i}integrate(e,t,i,a=new O1){let r=e.x*i.x,s=e.y*i.y,o=e.z*i.z,l=this.x,c=this.y,u=this.z,f=this.w,h=t*.5;return a.x+=h*(r*f+s*u-o*c),a.y+=h*(s*f+o*l-r*u),a.z+=h*(o*f+r*c-s*l),a.w+=h*(-r*l-s*c-o*u),a}},Kc=new y,$c=new y,Jc={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256},c1=class{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=c1.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=e.collisionResponse?e.collisionResponse:!0,this.collisionFilterGroup=e.collisionFilterGroup!==void 0?e.collisionFilterGroup:1,this.collisionFilterMask=e.collisionFilterMask!==void 0?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(e,t){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(e,t,i,a){throw"calculateWorldAABB() not implemented for shape type "+this.type}};c1.idCounter=0;c1.types=Jc;var N1=class{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new y,this.quaternion=new O1,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return N1.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return N1.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new y){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,a=new y){return i.vsub(e,a),t.conjugate(Da),Da.vmult(a,a),a}static pointToWorldFrame(e,t,i,a=new y){return t.vmult(i,a),a.vadd(e,a),a}static vectorToWorldFrame(e,t,i=new y){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,a=new y){return t.w*=-1,t.vmult(i,a),t.w*=-1,a}},Da=new O1,Qe=class extends c1{constructor(e={}){let{vertices:t=[],faces:i=[],normals:a=[],axes:r,boundingSphereRadius:s}=e;super({type:c1.types.CONVEXPOLYHEDRON});this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=a,this.faceNormals.length===0&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){let e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;let a=new y;for(let r=0;r!==e.length;r++){let s=e[r],o=s.length;for(let l=0;l!==o;l++){let c=(l+1)%o;t[s[l]].vsub(t[s[c]],a),a.normalize();let u=!1;for(let f=0;f!==i.length;f++)if(i[f].almostEquals(a)||i[f].almostEquals(a)){u=!0;break}u||i.push(a.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;eh&&(h=g,f=v)}let m=[];for(let v=0;v=0&&this.clipFaceAgainstHull(s,e,t,m,o,l,c)}findSeparatingAxis(e,t,i,a,r,s,o,l){let c=new y,u=new y,f=new y,h=new y,m=new y,v=new y,g=Number.MAX_VALUE,x=this;if(x.uniqueAxes)for(let p=0;p!==x.uniqueAxes.length;p++){i.vmult(x.uniqueAxes[p],c);let d=x.testSepAxis(c,e,t,i,a,r);if(d===!1)return!1;d0&&s.negate(s),!0}testSepAxis(e,t,i,a,r,s){let o=this;Qe.project(o,e,i,a,I0),Qe.project(t,e,r,s,k0);let l=I0[0],c=I0[1],u=k0[0],f=k0[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping=typeof e.linearDamping=="number"?e.linearDamping:.01,this.type=t<=0?i1.STATIC:i1.DYNAMIC,typeof e.type==typeof i1.STATIC&&(this.type=e.type),this.allowSleep=typeof e.allowSleep!="undefined"?e.allowSleep:!0,this.sleepState=i1.AWAKE,this.sleepSpeedLimit=typeof e.sleepSpeedLimit!="undefined"?e.sleepSpeedLimit:.1,this.sleepTimeLimit=typeof e.sleepTimeLimit!="undefined"?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new y,this.quaternion=new O1,this.initQuaternion=new O1,this.previousQuaternion=new O1,this.interpolatedQuaternion=new O1,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new y,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new y,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new y,this.invInertia=new y,this.invInertiaWorld=new _2,this.invMassSolve=0,this.invInertiaSolve=new y,this.invInertiaWorldSolve=new _2,this.fixedRotation=typeof e.fixedRotation!="undefined"?e.fixedRotation:!1,this.angularDamping=typeof e.angularDamping!="undefined"?e.angularDamping:.01,this.linearFactor=new y(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new y(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new S2,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new y,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){let e=this.sleepState;this.sleepState=i1.AWAKE,this.wakeUpAfterNarrowphase=!1,e===i1.SLEEPING&&this.dispatchEvent(i1.wakeupEvent)}sleep(){this.sleepState=i1.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){let t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),a=this.sleepSpeedLimit**2;t===i1.AWAKE&&ia?this.wakeUp():t===i1.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(i1.sleepEvent))}}updateSolveMassProperties(){this.sleepState===i1.SLEEPING||this.type===i1.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new y){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new y){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new y){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new y){return this.quaternion.vmult(e,t),t}addShape(e,t,i){let a=new y,r=new O1;return t&&a.copy(t),i&&r.copy(i),this.shapes.push(e),this.shapeOffsets.push(a),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){let t=this.shapes.indexOf(e);return t===-1?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){let e=this.shapes,t=this.shapeOffsets,i=e.length,a=0;for(let r=0;r!==i;r++){let s=e[r];s.updateBoundingSphereRadius();let o=t[r].length(),l=s.boundingSphereRadius;o+l>a&&(a=o+l)}this.boundingRadius=a}updateAABB(){let e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,a=e.length,r=t7,s=i7,o=this.quaternion,l=this.aabb,c=a7;for(let u=0;u!==a;u++){let f=e[u];o.vmult(t[u],r),r.vadd(this.position,r),o.mult(i[u],s),f.calculateWorldAABB(r,s,c.lowerBound,c.upperBound),u===0?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){let t=this.invInertia;if(!(t.x===t.y&&t.y===t.z&&!e)){let i=r7,a=n7;i.setRotationFromQuaternion(this.quaternion),i.transpose(a),i.scale(t,i),i.mmult(a,this.invInertiaWorld)}}applyForce(e,t=new y){if(this.type!==i1.DYNAMIC)return;this.sleepState===i1.SLEEPING&&this.wakeUp();let i=s7;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new y){if(this.type!==i1.DYNAMIC)return;let i=o7,a=c7;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,a),this.applyForce(i,a)}applyTorque(e){this.type===i1.DYNAMIC&&(this.sleepState===i1.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new y){if(this.type!==i1.DYNAMIC)return;this.sleepState===i1.SLEEPING&&this.wakeUp();let i=t,a=l7;a.copy(e),a.scale(this.invMass,a),this.velocity.vadd(a,this.velocity);let r=u7;i.cross(e,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(e,t=new y){if(this.type!==i1.DYNAMIC)return;let i=h7,a=f7;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,a),this.applyImpulse(i,a)}updateMassProperties(){let e=d7;this.invMass=this.mass>0?1/this.mass:0;let t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),f6.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){let i=new y;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),!(this.type===i1.DYNAMIC||this.type===i1.KINEMATIC)||this.sleepState===i1.SLEEPING)return;let a=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,l=this.torque,c=this.quaternion,u=this.invMass,f=this.invInertiaWorld,h=this.linearFactor,m=u*e;a.x+=o.x*m*h.x,a.y+=o.y*m*h.y,a.z+=o.z*m*h.z;let v=f.elements,g=this.angularFactor,x=l.x*g.x,p=l.y*g.y,d=l.z*g.z;r.x+=e*(v[0]*x+v[1]*p+v[2]*d),r.y+=e*(v[3]*x+v[4]*p+v[5]*d),r.z+=e*(v[6]*x+v[7]*p+v[8]*d),s.x+=a.x*e,s.y+=a.y*e,s.z+=a.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}};i1.idCounter=0;i1.COLLIDE_EVENT_NAME="collide";i1.DYNAMIC=U0.DYNAMIC;i1.STATIC=U0.STATIC;i1.KINEMATIC=U0.KINEMATIC;i1.AWAKE=O0.AWAKE;i1.SLEEPY=O0.SLEEPY;i1.SLEEPING=O0.SLEEPING;i1.wakeupEvent={type:"wakeup"};i1.sleepyEvent={type:"sleepy"};i1.sleepEvent={type:"sleep"};var t7=new y,i7=new O1,a7=new S2,r7=new _2,n7=new _2,s7=new y,o7=new y,c7=new y,l7=new y,u7=new y,h7=new y,f7=new y,d7=new y,Ta=class{constructor(){this.world=void 0,this.useBoundingBoxes=void 0,this.dirty=void 0,this.world=null,this.useBoundingBoxes=!1,this.dirty=!0}collisionPairs(e,t,i){throw new Error("collisionPairs not implemented for this BroadPhase class!")}needBroadphaseCollision(e,t){return!((e.collisionFilterGroup&t.collisionFilterMask)==0||(t.collisionFilterGroup&e.collisionFilterMask)==0||((e.type&i1.STATIC)!=0||e.sleepState===i1.SLEEPING)&&((t.type&i1.STATIC)!=0||t.sleepState===i1.SLEEPING))}intersectionTest(e,t,i,a){this.useBoundingBoxes?this.doBoundingBoxBroadphase(e,t,i,a):this.doBoundingSphereBroadphase(e,t,i,a)}doBoundingSphereBroadphase(e,t,i,a){let r=p7;t.position.vsub(e.position,r);let s=(e.boundingRadius+t.boundingRadius)**2;r.lengthSquared()i.lengthSquared()}aabbQuery(e,t,i){return console.warn(".aabbQuery is not implemented in this Broadphase subclass."),[]}},p7=new y,m7={keys:[]},v7=[],g7=[];var gf=new y,d6=class extends Ta{constructor(){super()}collisionPairs(e,t,i){let a=e.bodies,r=a.length,s,o;for(let l=0;l!==r;l++)for(let c=0;c!==l;c++)s=a[l],o=a[c],!!this.needBroadphaseCollision(s,o)&&this.intersectionTest(s,o,t,i)}aabbQuery(e,t,i=[]){for(let a=0;a{}}intersectWorld(e,t){return this.mode=t.mode||J1.ANY,this.result=t.result||new p6,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=typeof t.collisionFilterMask!="undefined"?t.collisionFilterMask:-1,this.collisionFilterGroup=typeof t.collisionFilterGroup!="undefined"?t.collisionFilterGroup:-1,this.checkCollisionResponse=typeof t.checkCollisionResponse!="undefined"?t.checkCollisionResponse:!0,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(Ia),q0.length=0,e.broadphase.aabbQuery(e,Ia,q0),this.intersectBodies(q0),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());let i=this.checkCollisionResponse;if(i&&!e.collisionResponse||(this.collisionFilterGroup&e.collisionFilterMask)==0||(e.collisionFilterGroup&this.collisionFilterMask)==0)return;let a=x7,r=M7;for(let s=0,o=e.shapes.length;se.boundingSphereRadius)return;let o=this[e.type];o&&o.call(this,e,t,i,a,e)}_intersectBox(e,t,i,a,r){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,a,r)}_intersectPlane(e,t,i,a,r){let s=this.from,o=this.to,l=this.direction,c=new y(0,0,1);t.vmult(c,c);let u=new y;s.vsub(i,u);let f=u.dot(c);o.vsub(i,u);let h=u.dot(c);if(f*h>0||s.distanceTo(o)=0&&g<=1&&(s.lerp(o,g,m),m.vsub(i,v),v.normalize(),this.reportIntersection(v,m,r,a,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(s.lerp(o,x,m),m.vsub(i,v),v.normalize(),this.reportIntersection(v,m,r,a,-1))}}_intersectConvex(e,t,i,a,r,s){let o=A7,l=Ua,c=s&&s.faceList||null,u=e.faces,f=e.vertices,h=e.faceNormals,m=this.direction,v=this.from,g=this.to,x=v.distanceTo(g),p=c?c.length:u.length,d=this.result;for(let z=0;!d.shouldStop&&zx||this.reportIntersection(o,E2,r,a,b)}}}}_intersectTrimesh(e,t,i,a,r,s){let o=w7,l=T7,c=H7,u=Ua,f=_7,h=S7,m=E7,v=D7,g=L7,x=e.indices;e.vertices;let p=this.from,d=this.to,z=this.direction;c.position.copy(i),c.quaternion.copy(t),N1.vectorToLocalFrame(i,t,z,f),N1.pointToLocalFrame(i,t,p,h),N1.pointToLocalFrame(i,t,d,m),m.x*=e.scale.x,m.y*=e.scale.y,m.z*=e.scale.z,h.x*=e.scale.x,h.y*=e.scale.y,h.z*=e.scale.z,m.vsub(h,f),f.normalize();let b=h.distanceSquared(m);e.tree.rayQuery(this,c,l);for(let C=0,E=l.length;!this.result.shouldStop&&C!==E;C++){let T=l[C];e.getNormal(T,o),e.getVertex(x[T*3],Y2),Y2.vsub(h,u);let _=f.dot(o),P=o.dot(u)/_;if(P<0)continue;f.scale(P,E2),E2.vadd(h,E2),e.getVertex(x[T*3+1],me),e.getVertex(x[T*3+2],ve);let F=E2.distanceSquared(h);!(J1.pointInTriangle(E2,me,Y2,ve)||J1.pointInTriangle(E2,Y2,me,ve))||F>b||(N1.vectorToWorldFrame(t,o,g),N1.pointToWorldFrame(i,t,E2,v),this.reportIntersection(g,v,r,a,T))}l.length=0}reportIntersection(e,t,i,a,r){let s=this.from,o=this.to,l=s.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=typeof r!="undefined"?r:-1,this.mode){case J1.ALL:this.hasHit=!0,c.set(s,o,e,t,i,a,l),c.hasHit=!0,this.callback(c);break;case J1.CLOSEST:(l=0&&(f=r*c-s*o)>=0&&u+fT.maxForce&&(m=T.maxForce-x),z[E]+=m,v+=m>0?m:-m,T.addToWlambda(m)}if(v*ve;)t.pop();for(;t.length=0&&u.restitution>=0&&(o.restitution=c.restitution*u.restitution),o.si=r||i,o.sj=s||a,o}createFrictionEquationsFromContact(e,t){let i=e.bi,a=e.bj,r=e.si,s=e.sj,o=this.world,l=this.currentContactMaterial,c=l.friction,u=r.material||i.material,f=s.material||a.material;if(u&&f&&u.friction>=0&&f.friction>=0&&(c=u.friction*f.friction),c>0){let h=c*o.gravity.length(),m=i.invMass+a.invMass;m>0&&(m=1/m);let v=this.frictionEquationPool,g=v.length?v.pop():new Z0(i,a,h*m),x=v.length?v.pop():new Z0(i,a,h*m);return g.bi=x.bi=i,g.bj=x.bj=a,g.minForce=x.minForce=-h*m,g.maxForce=x.maxForce=h*m,g.ri.copy(e.ri),g.rj.copy(e.rj),x.ri.copy(e.ri),x.rj.copy(e.rj),e.ni.tangents(g.t,x.t),g.setSpookParams(l.frictionEquationStiffness,l.frictionEquationRelaxation,o.dt),x.setSpookParams(l.frictionEquationStiffness,l.frictionEquationRelaxation,o.dt),g.enabled=x.enabled=e.enabled,t.push(g,x),!0}return!1}createFrictionFromAverage(e){let t=this.result[this.result.length-1];if(!this.createFrictionEquationsFromContact(t,this.frictionResult)||e===1)return;let i=this.frictionResult[this.frictionResult.length-2],a=this.frictionResult[this.frictionResult.length-1];b4.setZero(),k4.setZero(),U4.setZero();let r=t.bi;t.bj;for(let o=0;o!==e;o++)t=this.result[this.result.length-1-o],t.bi!==r?(b4.vadd(t.ni,b4),k4.vadd(t.ri,k4),U4.vadd(t.rj,U4)):(b4.vsub(t.ni,b4),k4.vadd(t.rj,k4),U4.vadd(t.ri,U4));let s=1/e;k4.scale(s,i.ri),U4.scale(s,i.rj),a.ri.copy(i.ri),a.rj.copy(i.rj),b4.normalize(),b4.tangents(i.t,a.t)}getContacts(e,t,i,a,r,s,o){this.contactPointPool=r,this.frictionEquationPool=o,this.result=a,this.frictionResult=s;let l=K7,c=$7,u=Z7,f=Y7;for(let h=0,m=e.length;h!==m;h++){let v=e[h],g=t[h],x=null;v.material&&g.material&&(x=i.getContactMaterial(v.material,g.material)||null);let p=v.type&i1.KINEMATIC&&g.type&i1.STATIC||v.type&i1.STATIC&&g.type&i1.KINEMATIC||v.type&i1.KINEMATIC&&g.type&i1.KINEMATIC;for(let d=0;dz.boundingSphereRadius+C.boundingSphereRadius)continue;let E=null;z.material&&C.material&&(E=i.getContactMaterial(z.material,C.material)||null),this.currentContactMaterial=E||x||i.defaultContactMaterial;let T=z.type|C.type,_=this[T];if(_){let P=!1;z.type0){let W=yl,X=Cl;W.copy(m[(L+1)%3]),X.copy(m[(L+2)%3]);let Q=W.length(),a1=X.length();W.normalize(),X.normalize();let B=b6.dot(W),M1=b6.dot(X);if(B-Q&&M1-a1){let u1=Math.abs(O-Z-v);if((T===null||u1e.boundingSphereRadius+t.boundingSphereRadius)&&e.findSeparatingAxis(t,i,r,a,s,v,h,m)){let g=[],x=Gl;e.clipAgainstHull(i,r,t,a,s,v,-100,100,g);let p=0;for(let d=0;d!==g.length;d++){if(f)return!0;let z=this.createContactEquation(o,l,e,t,c,u),b=z.ri,C=z.rj;v.negate(z.ni),g[d].normal.negate(x),x.scale(g[d].depth,x),g[d].point.vadd(x,b),C.copy(g[d].point),b.vsub(i,b),C.vsub(a,C),b.vadd(i,b),b.vsub(o.position,b),C.vadd(a,C),C.vsub(l.position,C),this.result.push(z),p++,this.enableFrictionReduction||this.createFrictionEquationsFromContact(z,this.frictionResult)}this.enableFrictionReduction&&p&&this.createFrictionFromAverage(p)}}sphereConvex(e,t,i,a,r,s,o,l,c,u,f){let h=this.v3pool;i.vsub(a,El);let m=t.faceNormals,v=t.faces,g=t.vertices,x=e.radius,p=!1;for(let d=0;d!==g.length;d++){let z=g[d],b=Hl;s.vmult(z,b),a.vadd(b,b);let C=Tl;if(b.vsub(i,C),C.lengthSquared()0){let D=[];for(let A=0,H=C.length;A!==H;A++){let V=h.get();s.vmult(g[C[A]],V),a.vadd(V,V),D.push(V)}if(Ml(D,E,i)){if(f)return!0;p=!0;let A=this.createContactEquation(o,l,e,t,c,u);E.scale(-x,A.ri),E.negate(A.ni);let H=h.get();E.scale(-F,H);let V=h.get();E.scale(-x,V),i.vsub(a,A.rj),A.rj.vadd(V,A.rj),A.rj.vadd(H,A.rj),A.rj.vadd(a,A.rj),A.rj.vsub(l.position,A.rj),A.ri.vadd(i,A.ri),A.ri.vsub(o.position,A.ri),h.release(H),h.release(V),this.result.push(A),this.createFrictionEquationsFromContact(A,this.frictionResult);for(let L=0,N=D.length;L!==N;L++)h.release(D[L]);return}else for(let A=0;A!==C.length;A++){let H=h.get(),V=h.get();s.vmult(g[C[(A+1)%C.length]],H),s.vmult(g[C[(A+2)%C.length]],V),a.vadd(H,H),a.vadd(V,V);let L=Ll;V.vsub(H,L);let N=Dl;L.unit(N);let U=h.get(),Z=h.get();i.vsub(H,Z);let O=Z.dot(N);N.scale(O,U),U.vadd(H,U);let W=h.get();if(U.vsub(i,W),O>0&&O*Oh.length||z>h[0].length)return;p<0&&(p=0),d<0&&(d=0),z<0&&(z=0),b<0&&(b=0),p>=h.length&&(p=h.length-1),d>=h.length&&(d=h.length-1),b>=h[0].length&&(b=h[0].length-1),z>=h[0].length&&(z=h[0].length-1);let C=[];t.getRectMinMax(p,z,d,b,C);let E=C[0],T=C[1];if(x.z-m>T||x.z+m2)return}}boxHeightfield(e,t,i,a,r,s,o,l,c,u,f){return e.convexPolyhedronRepresentation.material=e.material,e.convexPolyhedronRepresentation.collisionResponse=e.collisionResponse,this.convexHeightfield(e.convexPolyhedronRepresentation,t,i,a,r,s,o,l,e,t,f)}convexHeightfield(e,t,i,a,r,s,o,l,c,u,f){let h=t.data,m=t.elementSize,v=e.boundingSphereRadius,g=Jl,x=Ql,p=$l;N1.pointToLocalFrame(a,s,i,p);let d=Math.floor((p.x-v)/m)-1,z=Math.ceil((p.x+v)/m)+1,b=Math.floor((p.y-v)/m)-1,C=Math.ceil((p.y+v)/m)+1;if(z<0||C<0||d>h.length||b>h[0].length)return;d<0&&(d=0),z<0&&(z=0),b<0&&(b=0),C<0&&(C=0),d>=h.length&&(d=h.length-1),z>=h.length&&(z=h.length-1),C>=h[0].length&&(C=h[0].length-1),b>=h[0].length&&(b=h[0].length-1);let E=[];t.getRectMinMax(d,b,z,C,E);let T=E[0],_=E[1];if(!(p.z-v>_||p.z+v0&&V<0&&(x.vsub(h,p),g.copy(v),g.normalize(),L=p.dot(g),g.scale(L,p),p.vadd(h,p),p.distanceTo(x)0&&i===!0||u<=0&&i===!1){i===null&&(i=u>0);continue}else return!1}return!0}var b6=new y,bl=new y,yl=new y,Cl=new y,zl=[new y,new y,new y,new y,new y,new y],Al=new y,wl=new y,_l=new y,Sl=new y,El=new y,Ll=new y,Dl=new y,Tl=new y,Hl=new y,Vl=new y,Nl=new y,Rl=new y,Fl=new y,Bl=new y,Pl=new y,Il=new y,kl=new y,Ul=new y,Ol=new y,Gl=new y,ql=new y,Wl=new y,jl=new y,Xl=new y,Ar=new O1,Zl=new y,Yl=new y,wr=new y,Kl=new y,$l=new y,Jl=new y,Ql=[0],e9=new y,t9=new y,Y0=class{constructor(){this.current=void 0,this.previous=void 0,this.current=[],this.previous=[]}getKey(e,t){if(ta[r];)r++;if(i!==a[r]){for(let s=a.length-1;s>=r;s--)a[s+1]=a[s];a[r]=i}}tick(){let e=this.current;this.current=this.previous,this.previous=e,this.current.length=0}getDiff(e,t){let i=this.current,a=this.previous,r=i.length,s=a.length,o=0;for(let l=0;la[o];)o++;c=u===a[o],c||_r(e,u)}o=0;for(let l=0;li[o];)o++;c=i[o]===u,c||_r(t,u)}}};function _r(n,e){n.push((e&4294901760)>>16,e&65535)}var Sr=class{constructor(){this.data={keys:[]}}get(e,t){if(e>t){let i=t;t=e,e=i}return this.data[e+"-"+t]}set(e,t,i){if(e>t){let r=t;t=e,e=r}let a=e+"-"+t;this.get(e,t)||this.data.keys.push(a),this.data[a]=i}reset(){let e=this.data,t=e.keys;for(;t.length>0;){let i=t.pop();delete e[i]}}},K0=class extends P0{constructor(e={}){super();this.dt=void 0,this.allowSleep=void 0,this.contacts=void 0,this.frictionEquations=void 0,this.quatNormalizeSkip=void 0,this.quatNormalizeFast=void 0,this.time=void 0,this.stepnumber=void 0,this.default_dt=void 0,this.nextId=void 0,this.gravity=void 0,this.broadphase=void 0,this.bodies=void 0,this.hasActiveBodies=void 0,this.solver=void 0,this.constraints=void 0,this.narrowphase=void 0,this.collisionMatrix=void 0,this.collisionMatrixPrevious=void 0,this.bodyOverlapKeeper=void 0,this.shapeOverlapKeeper=void 0,this.materials=void 0,this.contactmaterials=void 0,this.contactMaterialTable=void 0,this.defaultMaterial=void 0,this.defaultContactMaterial=void 0,this.doProfiling=void 0,this.profile=void 0,this.accumulator=void 0,this.subsystems=void 0,this.addBodyEvent=void 0,this.removeBodyEvent=void 0,this.idToBodyMap=void 0,this.dt=-1,this.allowSleep=!!e.allowSleep,this.contacts=[],this.frictionEquations=[],this.quatNormalizeSkip=e.quatNormalizeSkip!==void 0?e.quatNormalizeSkip:0,this.quatNormalizeFast=e.quatNormalizeFast!==void 0?e.quatNormalizeFast:!1,this.time=0,this.stepnumber=0,this.default_dt=1/60,this.nextId=0,this.gravity=new y,e.gravity&&this.gravity.copy(e.gravity),this.broadphase=e.broadphase!==void 0?e.broadphase:new d6,this.bodies=[],this.hasActiveBodies=!1,this.solver=e.solver!==void 0?e.solver:new Za,this.constraints=[],this.narrowphase=new Cr(this),this.collisionMatrix=new B0,this.collisionMatrixPrevious=new B0,this.bodyOverlapKeeper=new Y0,this.shapeOverlapKeeper=new Y0,this.materials=[],this.contactmaterials=[],this.contactMaterialTable=new Sr,this.defaultMaterial=new Ve("default"),this.defaultContactMaterial=new He(this.defaultMaterial,this.defaultMaterial,{friction:.3,restitution:0}),this.doProfiling=!1,this.profile={solve:0,makeContactConstraints:0,broadphase:0,integrate:0,narrowphase:0},this.accumulator=0,this.subsystems=[],this.addBodyEvent={type:"addBody",body:null},this.removeBodyEvent={type:"removeBody",body:null},this.idToBodyMap={},this.broadphase.setWorld(this)}getContactMaterial(e,t){return this.contactMaterialTable.get(e.id,t.id)}numObjects(){return this.bodies.length}collisionMatrixTick(){let e=this.collisionMatrixPrevious;this.collisionMatrixPrevious=this.collisionMatrix,this.collisionMatrix=e,this.collisionMatrix.reset(),this.bodyOverlapKeeper.tick(),this.shapeOverlapKeeper.tick()}addConstraint(e){this.constraints.push(e)}removeConstraint(e){let t=this.constraints.indexOf(e);t!==-1&&this.constraints.splice(t,1)}rayTest(e,t,i){i instanceof p6?this.raycastClosest(e,t,{skipBackfaces:!0},i):this.raycastAll(e,t,{skipBackfaces:!0},i)}raycastAll(e,t,i={},a){return i.mode=J1.ALL,i.from=e,i.to=t,i.callback=a,$0.intersectWorld(this,i)}raycastAny(e,t,i={},a){return i.mode=J1.ANY,i.from=e,i.to=t,i.result=a,$0.intersectWorld(this,i)}raycastClosest(e,t,i={},a){return i.mode=J1.CLOSEST,i.from=e,i.to=t,i.result=a,$0.intersectWorld(this,i)}addBody(e){this.bodies.includes(e)||(e.index=this.bodies.length,this.bodies.push(e),e.world=this,e.initPosition.copy(e.position),e.initVelocity.copy(e.velocity),e.timeLastSleepy=this.time,e instanceof i1&&(e.initAngularVelocity.copy(e.angularVelocity),e.initQuaternion.copy(e.quaternion)),this.collisionMatrix.setNumObjects(this.bodies.length),this.addBodyEvent.body=e,this.idToBodyMap[e.id]=e,this.dispatchEvent(this.addBodyEvent))}removeBody(e){e.world=null;let t=this.bodies.length-1,i=this.bodies,a=i.indexOf(e);if(a!==-1){i.splice(a,1);for(let r=0;r!==i.length;r++)i[r].index=r;this.collisionMatrix.setNumObjects(t),this.removeBodyEvent.body=e,delete this.idToBodyMap[e.id],this.dispatchEvent(this.removeBodyEvent)}}getBodyById(e){return this.idToBodyMap[e]}getShapeById(e){let t=this.bodies;for(let i=0;i=e&&re*1e3)););this.accumulator=this.accumulator%e;let s=this.accumulator/e;for(let o=0;o!==this.bodies.length;o++){let l=this.bodies[o];l.previousPosition.lerp(l.position,s,l.interpolatedPosition),l.previousQuaternion.slerp(l.quaternion,s,l.interpolatedQuaternion),l.previousQuaternion.normalize()}this.time+=t}}internalStep(e){this.dt=e;let t=this.contacts,i=s9,a=o9,r=this.numObjects(),s=this.bodies,o=this.solver,l=this.gravity,c=this.doProfiling,u=this.profile,f=i1.DYNAMIC,h=-1/0,m=this.constraints,v=n9;l.length();let g=l.x,x=l.y,p=l.z,d=0;for(c&&(h=s2.now()),d=0;d!==r;d++){let A=s[d];if(A.type===f){let H=A.force,V=A.mass;H.x+=V*g,H.y+=V*x,H.z+=V*p}}for(let A=0,H=this.subsystems.length;A!==H;A++)this.subsystems[A].update();c&&(h=s2.now()),i.length=0,a.length=0,this.broadphase.collisionPairs(this,i,a),c&&(u.broadphase=s2.now()-h);let z=m.length;for(d=0;d!==z;d++){let A=m[d];if(!A.collideConnected)for(let H=i.length-1;H>=0;H-=1)(A.bodyA===i[H]&&A.bodyB===a[H]||A.bodyB===i[H]&&A.bodyA===a[H])&&(i.splice(H,1),a.splice(H,1))}this.collisionMatrixTick(),c&&(h=s2.now());let b=r9,C=t.length;for(d=0;d!==C;d++)b.push(t[d]);t.length=0;let E=this.frictionEquations.length;for(d=0;d!==E;d++)v.push(this.frictionEquations[d]);for(this.frictionEquations.length=0,this.narrowphase.getContacts(i,a,this,t,b,this.frictionEquations,v),c&&(u.narrowphase=s2.now()-h),c&&(h=s2.now()),d=0;d=0&&L.material.friction>=0&&V.material.friction*L.material.friction,V.material.restitution>=0&&L.material.restitution>=0&&(H.restitution=V.material.restitution*L.material.restitution)),o.addEquation(H),V.allowSleep&&V.type===i1.DYNAMIC&&V.sleepState===i1.SLEEPING&&L.sleepState===i1.AWAKE&&L.type!==i1.STATIC){let O=L.velocity.lengthSquared()+L.angularVelocity.lengthSquared(),W=L.sleepSpeedLimit**2;O>=W*2&&(V.wakeUpAfterNarrowphase=!0)}if(L.allowSleep&&L.type===i1.DYNAMIC&&L.sleepState===i1.SLEEPING&&V.sleepState===i1.AWAKE&&V.type!==i1.STATIC){let O=V.velocity.lengthSquared()+V.angularVelocity.lengthSquared(),W=V.sleepSpeedLimit**2;O>=W*2&&(L.wakeUpAfterNarrowphase=!0)}this.collisionMatrix.set(V,L,!0),this.collisionMatrixPrevious.get(V,L)||(zt.body=L,zt.contact=H,V.dispatchEvent(zt),zt.body=V,L.dispatchEvent(zt)),this.bodyOverlapKeeper.set(V.id,L.id),this.shapeOverlapKeeper.set(N.id,U.id)}for(this.emitContactEvents(),c&&(u.makeContactConstraints=s2.now()-h,h=s2.now()),d=0;d!==r;d++){let A=s[d];A.wakeUpAfterNarrowphase&&(A.wakeUp(),A.wakeUpAfterNarrowphase=!1)}for(z=m.length,d=0;d!==z;d++){let A=m[d];A.update();for(let H=0,V=A.equations.length;H!==V;H++){let L=A.equations[H];o.addEquation(L)}}o.solve(e,this),c&&(u.solve=s2.now()-h),o.removeAllEquations();let _=Math.pow;for(d=0;d!==r;d++){let A=s[d];if(A.type&f){let H=_(1-A.linearDamping,e),V=A.velocity;V.scale(H,V);let L=A.angularVelocity;if(L){let N=_(1-A.angularDamping,e);L.scale(N,L)}}}for(this.dispatchEvent(a9),d=0;d!==r;d++){let A=s[d];A.preStep&&A.preStep.call(A)}c&&(h=s2.now());let F=this.stepnumber%(this.quatNormalizeSkip+1)==0,M=this.quatNormalizeFast;for(d=0;d!==r;d++)s[d].integrate(e,F,M);for(this.clearForces(),this.broadphase.dirty=!0,c&&(u.integrate=s2.now()-h),this.stepnumber+=1,this.dispatchEvent(i9),d=0;d!==r;d++){let A=s[d],H=A.postStep;H&&H.call(A)}let D=!0;if(this.allowSleep)for(D=!1,d=0;d!==r;d++){let A=s[d];A.sleepTick(this.time),A.sleepState!==i1.SLEEPING&&(D=!0)}this.hasActiveBodies=D}emitContactEvents(){let e=this.hasAnyEventListener("beginContact"),t=this.hasAnyEventListener("endContact");if((e||t)&&this.bodyOverlapKeeper.getDiff(Re,Fe),e){for(let r=0,s=Re.length;rDate.now()-n}var i9={type:"postStep"},a9={type:"preStep"},zt={type:i1.COLLIDE_EVENT_NAME,body:null,contact:null},r9=[],n9=[],s9=[],o9=[],Re=[],Fe=[],At={type:"beginContact",bodyA:null,bodyB:null},wt={type:"endContact",bodyA:null,bodyB:null},Be={type:"beginShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null},Pe={type:"endShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null};var q1=class{constructor(e=0,t=0,i=0,a=1){this.x=e,this.y=t,this.z=i,this.w=a}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,a){return this.x=e,this.y=t,this.z=i,this.w=a,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,i=this.y,a=this.z,r=this.w,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*a+s[12]*r,this.y=s[1]*t+s[5]*i+s[9]*a+s[13]*r,this.z=s[2]*t+s[6]*i+s[10]*a+s[14]*r,this.w=s[3]*t+s[7]*i+s[11]*a+s[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,a,r,s=.01,o=.1,l=e.elements,c=l[0],u=l[4],f=l[8],h=l[1],m=l[5],v=l[9],g=l[2],x=l[6],p=l[10];if(Math.abs(u-h)b&&z>C?zC?b>8&255]+d2[n>>16&255]+d2[n>>24&255]+"-"+d2[e&255]+d2[e>>8&255]+"-"+d2[e>>16&15|64]+d2[e>>24&255]+"-"+d2[t&63|128]+d2[t>>8&255]+"-"+d2[t>>16&255]+d2[t>>24&255]+d2[i&255]+d2[i>>8&255]+d2[i>>16&255]+d2[i>>24&255]).toUpperCase()}function L2(n,e,t){return Math.max(e,Math.min(t,n))}function Er(n,e){return(n%e+e)%e}function C6(n,e,t){return(1-t)*n+t*e}function J0(n){return(n&n-1)==0&&n!==0}function Lr(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}var xe=class{constructor(e=0,t=0,i=0,a=1){this._x=e,this._y=t,this._z=i,this._w=a}static slerp(e,t,i,a){return console.warn("THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead."),i.slerpQuaternions(e,t,a)}static slerpFlat(e,t,i,a,r,s,o){let l=i[a+0],c=i[a+1],u=i[a+2],f=i[a+3],h=r[s+0],m=r[s+1],v=r[s+2],g=r[s+3];if(o===0){e[t+0]=l,e[t+1]=c,e[t+2]=u,e[t+3]=f;return}if(o===1){e[t+0]=h,e[t+1]=m,e[t+2]=v,e[t+3]=g;return}if(f!==g||l!==h||c!==m||u!==v){let x=1-o,p=l*h+c*m+u*v+f*g,d=p>=0?1:-1,z=1-p*p;if(z>Number.EPSILON){let C=Math.sqrt(z),E=Math.atan2(C,p*d);x=Math.sin(x*E)/C,o=Math.sin(o*E)/C}let b=o*d;if(l=l*x+h*b,c=c*x+m*b,u=u*x+v*b,f=f*x+g*b,x===1-o){let C=1/Math.sqrt(l*l+c*c+u*u+f*f);l*=C,c*=C,u*=C,f*=C}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=f}static multiplyQuaternionsFlat(e,t,i,a,r,s){let o=i[a],l=i[a+1],c=i[a+2],u=i[a+3],f=r[s],h=r[s+1],m=r[s+2],v=r[s+3];return e[t]=o*v+u*f+l*m-c*h,e[t+1]=l*v+u*h+c*f-o*m,e[t+2]=c*v+u*m+o*h-l*f,e[t+3]=u*v-o*f-l*h-c*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,a){return this._x=e,this._y=t,this._z=i,this._w=a,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");let i=e._x,a=e._y,r=e._z,s=e._order,o=Math.cos,l=Math.sin,c=o(i/2),u=o(a/2),f=o(r/2),h=l(i/2),m=l(a/2),v=l(r/2);switch(s){case"XYZ":this._x=h*u*f+c*m*v,this._y=c*m*f-h*u*v,this._z=c*u*v+h*m*f,this._w=c*u*f-h*m*v;break;case"YXZ":this._x=h*u*f+c*m*v,this._y=c*m*f-h*u*v,this._z=c*u*v-h*m*f,this._w=c*u*f+h*m*v;break;case"ZXY":this._x=h*u*f-c*m*v,this._y=c*m*f+h*u*v,this._z=c*u*v+h*m*f,this._w=c*u*f-h*m*v;break;case"ZYX":this._x=h*u*f-c*m*v,this._y=c*m*f+h*u*v,this._z=c*u*v-h*m*f,this._w=c*u*f+h*m*v;break;case"YZX":this._x=h*u*f+c*m*v,this._y=c*m*f+h*u*v,this._z=c*u*v-h*m*f,this._w=c*u*f-h*m*v;break;case"XZY":this._x=h*u*f-c*m*v,this._y=c*m*f-h*u*v,this._z=c*u*v+h*m*f,this._w=c*u*f+h*m*v;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let i=t/2,a=Math.sin(i);return this._x=e.x*a,this._y=e.y*a,this._z=e.z*a,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,i=t[0],a=t[4],r=t[8],s=t[1],o=t[5],l=t[9],c=t[2],u=t[6],f=t[10],h=i+o+f;if(h>0){let m=.5/Math.sqrt(h+1);this._w=.25/m,this._x=(u-l)*m,this._y=(r-c)*m,this._z=(s-a)*m}else if(i>o&&i>f){let m=2*Math.sqrt(1+i-o-f);this._w=(u-l)/m,this._x=.25*m,this._y=(a+s)/m,this._z=(r+c)/m}else if(o>f){let m=2*Math.sqrt(1+o-i-f);this._w=(r-c)/m,this._x=(a+s)/m,this._y=.25*m,this._z=(l+u)/m}else{let m=2*Math.sqrt(1+f-i-o);this._w=(s-a)/m,this._x=(r+c)/m,this._y=(l+u)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(L2(this.dot(e),-1,1)))}rotateTowards(e,t){let i=this.angleTo(e);if(i===0)return this;let a=Math.min(1,t/i);return this.slerp(e,a),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e,t){return t!==void 0?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let i=e._x,a=e._y,r=e._z,s=e._w,o=t._x,l=t._y,c=t._z,u=t._w;return this._x=i*u+s*o+a*c-r*l,this._y=a*u+s*l+r*o-i*c,this._z=r*u+s*c+i*l-a*o,this._w=s*u-i*o-a*l-r*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let i=this._x,a=this._y,r=this._z,s=this._w,o=s*e._w+i*e._x+a*e._y+r*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=s,this._x=i,this._y=a,this._z=r,this;let l=1-o*o;if(l<=Number.EPSILON){let m=1-t;return this._w=m*s+t*this._w,this._x=m*i+t*this._x,this._y=m*a+t*this._y,this._z=m*r+t*this._z,this.normalize(),this._onChangeCallback(),this}let c=Math.sqrt(l),u=Math.atan2(c,o),f=Math.sin((1-t)*u)/c,h=Math.sin(t*u)/c;return this._w=s*f+this._w*h,this._x=i*f+this._x*h,this._y=a*f+this._y*h,this._z=r*f+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){let e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),a=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(t*Math.cos(a),i*Math.sin(r),i*Math.cos(r),t*Math.sin(a))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};xe.prototype.isQuaternion=!0;var k=class{constructor(e=0,t=0,i=0){this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(Dr.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Dr.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,i=this.y,a=this.z,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6]*a,this.y=r[1]*t+r[4]*i+r[7]*a,this.z=r[2]*t+r[5]*i+r[8]*a,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,i=this.y,a=this.z,r=e.elements,s=1/(r[3]*t+r[7]*i+r[11]*a+r[15]);return this.x=(r[0]*t+r[4]*i+r[8]*a+r[12])*s,this.y=(r[1]*t+r[5]*i+r[9]*a+r[13])*s,this.z=(r[2]*t+r[6]*i+r[10]*a+r[14])*s,this}applyQuaternion(e){let t=this.x,i=this.y,a=this.z,r=e.x,s=e.y,o=e.z,l=e.w,c=l*t+s*a-o*i,u=l*i+o*t-r*a,f=l*a+r*i-s*t,h=-r*t-s*i-o*a;return this.x=c*l+h*-r+u*-o-f*-s,this.y=u*l+h*-s+f*-r-c*-o,this.z=f*l+h*-o+c*-s-u*-r,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,i=this.y,a=this.z,r=e.elements;return this.x=r[0]*t+r[4]*i+r[8]*a,this.y=r[1]*t+r[5]*i+r[9]*a,this.z=r[2]*t+r[6]*i+r[10]*a,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){let i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e,t){return t!==void 0?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}crossVectors(e,t){let i=e.x,a=e.y,r=e.z,s=t.x,o=t.y,l=t.z;return this.x=a*l-r*o,this.y=r*s-i*l,this.z=i*o-a*s,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return Q0.copy(this).projectOnVector(e),this.sub(Q0)}reflect(e){return this.sub(Q0.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let i=this.dot(e)/t;return Math.acos(L2(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,i=this.y-e.y,a=this.z-e.z;return t*t+i*i+a*a}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){let a=Math.sin(t)*e;return this.x=a*Math.sin(i),this.y=Math.cos(t)*e,this.z=a*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),a=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=a,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t,i){return i!==void 0&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}};k.prototype.isVector3=!0;var Q0=new k,Dr=new xe;var z1=class{constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,i=this.y,a=e.elements;return this.x=a[0]*t+a[3]*i+a[6],this.y=a[1]*t+a[4]*i+a[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){let i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t,i){return i!==void 0&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let i=Math.cos(t),a=Math.sin(t),r=this.x-e.x,s=this.y-e.y;return this.x=r*i-s*a+e.x,this.y=r*a+s*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}};z1.prototype.isVector2=!0;var Tr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},K2={h:0,s:0,l:0},z6={h:0,s:0,l:0};function e3(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}function y4(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function t3(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}var x1=class{constructor(e,t,i){return t===void 0&&i===void 0?this.set(e):this.setRGB(e,t,i)}set(e){return e&&e.isColor?this.copy(e):typeof e=="number"?this.setHex(e):typeof e=="string"&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,this}setRGB(e,t,i){return this.r=e,this.g=t,this.b=i,this}setHSL(e,t,i){if(e=Er(e,1),t=L2(t,0,1),i=L2(i,0,1),t===0)this.r=this.g=this.b=i;else{let a=i<=.5?i*(1+t):i+t-i*t,r=2*i-a;this.r=e3(r,a,e+1/3),this.g=e3(r,a,e),this.b=e3(r,a,e-1/3)}return this}setStyle(e){function t(a){a!==void 0&&parseFloat(a)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let a,r=i[1],s=i[2];switch(r){case"rgb":case"rgba":if(a=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(255,parseInt(a[1],10))/255,this.g=Math.min(255,parseInt(a[2],10))/255,this.b=Math.min(255,parseInt(a[3],10))/255,t(a[4]),this;if(a=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(100,parseInt(a[1],10))/100,this.g=Math.min(100,parseInt(a[2],10))/100,this.b=Math.min(100,parseInt(a[3],10))/100,t(a[4]),this;break;case"hsl":case"hsla":if(a=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s)){let o=parseFloat(a[1])/360,l=parseInt(a[2],10)/100,c=parseInt(a[3],10)/100;return t(a[4]),this.setHSL(o,l,c)}break}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){let a=i[1],r=a.length;if(r===3)return this.r=parseInt(a.charAt(0)+a.charAt(0),16)/255,this.g=parseInt(a.charAt(1)+a.charAt(1),16)/255,this.b=parseInt(a.charAt(2)+a.charAt(2),16)/255,this;if(r===6)return this.r=parseInt(a.charAt(0)+a.charAt(1),16)/255,this.g=parseInt(a.charAt(2)+a.charAt(3),16)/255,this.b=parseInt(a.charAt(4)+a.charAt(5),16)/255,this}return e&&e.length>0?this.setColorName(e):this}setColorName(e){let t=Tr[e.toLowerCase()];return t!==void 0?this.setHex(t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=y4(e.r),this.g=y4(e.g),this.b=y4(e.b),this}copyLinearToSRGB(e){return this.r=t3(e.r),this.g=t3(e.g),this.b=t3(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return this.r*255<<16^this.g*255<<8^this.b*255<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(e){let t=this.r,i=this.g,a=this.b,r=Math.max(t,i,a),s=Math.min(t,i,a),o,l,c=(s+r)/2;if(s===r)o=0,l=0;else{let u=r-s;switch(l=c<=.5?u/(r+s):u/(2-r-s),r){case t:o=(i-a)/u+(ir&&(r=u),f>s&&(s=f),h>o&&(o=h)}return this.min.set(t,i,a),this.max.set(r,s,o),this}setFromBufferAttribute(e){let t=1/0,i=1/0,a=1/0,r=-1/0,s=-1/0,o=-1/0;for(let l=0,c=e.count;lr&&(r=u),f>s&&(s=f),h>o&&(o=h)}return this.min.set(t,i,a),this.max.set(r,s,o),this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,A4),A4.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Ft),R6.subVectors(this.max,Ft),q4.subVectors(e.a,Ft),W4.subVectors(e.b,Ft),j4.subVectors(e.c,Ft),n4.subVectors(W4,q4),s4.subVectors(j4,W4),w4.subVectors(q4,j4);let t=[0,-n4.z,n4.y,0,-s4.z,s4.y,0,-w4.z,w4.y,n4.z,0,-n4.x,s4.z,0,-s4.x,w4.z,0,-w4.x,-n4.y,n4.x,0,-s4.y,s4.x,0,-w4.y,w4.x,0];return!R3(t,q4,W4,j4,R6)||(t=[1,0,0,0,1,0,0,0,1],!R3(t,q4,W4,j4,R6))?!1:(F6.crossVectors(n4,s4),t=[F6.x,F6.y,F6.z],R3(t,q4,W4,j4,R6))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return A4.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=this.getSize(A4).length()*.5,e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(qe[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),qe[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),qe[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),qe[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),qe[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),qe[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),qe[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),qe[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(qe),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};Ge.prototype.isBox3=!0;var qe=[new k,new k,new k,new k,new k,new k,new k,new k],A4=new k,N3=new Ge,q4=new k,W4=new k,j4=new k,n4=new k,s4=new k,w4=new k,Ft=new k,R6=new k,F6=new k,_4=new k;function R3(n,e,t,i,a){for(let r=0,s=n.length-3;r<=s;r+=3){_4.fromArray(n,r);let o=a.x*Math.abs(_4.x)+a.y*Math.abs(_4.y)+a.z*Math.abs(_4.z),l=e.dot(_4),c=t.dot(_4),u=i.dot(_4);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>o)return!1}return!0}var F2=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;let i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;let a=this._listeners[e];if(a!==void 0){let r=a.indexOf(t);r!==-1&&a.splice(r,1)}}dispatchEvent(e){if(this._listeners===void 0)return;let i=this._listeners[e.type];if(i!==void 0){e.target=this;let a=i.slice(0);for(let r=0,s=a.length;rthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){F3.subVectors(e,this.center);let t=F3.lengthSq();if(t>this.radius*this.radius){let i=Math.sqrt(t),a=(i-this.radius)*.5;this.center.add(F3.multiplyScalar(a/i)),this.radius+=a}return this}union(e){return this.center.equals(e.center)===!0?B6.set(0,0,1).multiplyScalar(e.radius):B6.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(E8.copy(e.center).add(B6)),this.expandByPoint(E8.copy(e.center).sub(B6)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}};var k1=class{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(e,t,i,a,r,s,o,l,c,u,f,h,m,v,g,x){let p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=a,p[1]=r,p[5]=s,p[9]=o,p[13]=l,p[2]=c,p[6]=u,p[10]=f,p[14]=h,p[3]=m,p[7]=v,p[11]=g,p[15]=x,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new k1().fromArray(this.elements)}copy(e){let t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){let t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,i=e.elements,a=1/X4.setFromMatrixColumn(e,0).length(),r=1/X4.setFromMatrixColumn(e,1).length(),s=1/X4.setFromMatrixColumn(e,2).length();return t[0]=i[0]*a,t[1]=i[1]*a,t[2]=i[2]*a,t[3]=0,t[4]=i[4]*r,t[5]=i[5]*r,t[6]=i[6]*r,t[7]=0,t[8]=i[8]*s,t[9]=i[9]*s,t[10]=i[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");let t=this.elements,i=e.x,a=e.y,r=e.z,s=Math.cos(i),o=Math.sin(i),l=Math.cos(a),c=Math.sin(a),u=Math.cos(r),f=Math.sin(r);if(e.order==="XYZ"){let h=s*u,m=s*f,v=o*u,g=o*f;t[0]=l*u,t[4]=-l*f,t[8]=c,t[1]=m+v*c,t[5]=h-g*c,t[9]=-o*l,t[2]=g-h*c,t[6]=v+m*c,t[10]=s*l}else if(e.order==="YXZ"){let h=l*u,m=l*f,v=c*u,g=c*f;t[0]=h+g*o,t[4]=v*o-m,t[8]=s*c,t[1]=s*f,t[5]=s*u,t[9]=-o,t[2]=m*o-v,t[6]=g+h*o,t[10]=s*l}else if(e.order==="ZXY"){let h=l*u,m=l*f,v=c*u,g=c*f;t[0]=h-g*o,t[4]=-s*f,t[8]=v+m*o,t[1]=m+v*o,t[5]=s*u,t[9]=g-h*o,t[2]=-s*c,t[6]=o,t[10]=s*l}else if(e.order==="ZYX"){let h=s*u,m=s*f,v=o*u,g=o*f;t[0]=l*u,t[4]=v*c-m,t[8]=h*c+g,t[1]=l*f,t[5]=g*c+h,t[9]=m*c-v,t[2]=-c,t[6]=o*l,t[10]=s*l}else if(e.order==="YZX"){let h=s*l,m=s*c,v=o*l,g=o*c;t[0]=l*u,t[4]=g-h*f,t[8]=v*f+m,t[1]=f,t[5]=s*u,t[9]=-o*u,t[2]=-c*u,t[6]=m*f+v,t[10]=h-g*f}else if(e.order==="XZY"){let h=s*l,m=s*c,v=o*l,g=o*c;t[0]=l*u,t[4]=-f,t[8]=c*u,t[1]=h*f+g,t[5]=s*u,t[9]=m*f-v,t[2]=v*f-m,t[6]=o*u,t[10]=g*f+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(l9,e,u9)}lookAt(e,t,i){let a=this.elements;return B2.subVectors(e,t),B2.lengthSq()===0&&(B2.z=1),B2.normalize(),o4.crossVectors(i,B2),o4.lengthSq()===0&&(Math.abs(i.z)===1?B2.x+=1e-4:B2.z+=1e-4,B2.normalize(),o4.crossVectors(i,B2)),o4.normalize(),P6.crossVectors(B2,o4),a[0]=o4.x,a[4]=P6.x,a[8]=B2.x,a[1]=o4.y,a[5]=P6.y,a[9]=B2.y,a[2]=o4.z,a[6]=P6.z,a[10]=B2.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let i=e.elements,a=t.elements,r=this.elements,s=i[0],o=i[4],l=i[8],c=i[12],u=i[1],f=i[5],h=i[9],m=i[13],v=i[2],g=i[6],x=i[10],p=i[14],d=i[3],z=i[7],b=i[11],C=i[15],E=a[0],T=a[4],_=a[8],P=a[12],F=a[1],M=a[5],D=a[9],A=a[13],H=a[2],V=a[6],L=a[10],N=a[14],U=a[3],Z=a[7],O=a[11],W=a[15];return r[0]=s*E+o*F+l*H+c*U,r[4]=s*T+o*M+l*V+c*Z,r[8]=s*_+o*D+l*L+c*O,r[12]=s*P+o*A+l*N+c*W,r[1]=u*E+f*F+h*H+m*U,r[5]=u*T+f*M+h*V+m*Z,r[9]=u*_+f*D+h*L+m*O,r[13]=u*P+f*A+h*N+m*W,r[2]=v*E+g*F+x*H+p*U,r[6]=v*T+g*M+x*V+p*Z,r[10]=v*_+g*D+x*L+p*O,r[14]=v*P+g*A+x*N+p*W,r[3]=d*E+z*F+b*H+C*U,r[7]=d*T+z*M+b*V+C*Z,r[11]=d*_+z*D+b*L+C*O,r[15]=d*P+z*A+b*N+C*W,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],i=e[4],a=e[8],r=e[12],s=e[1],o=e[5],l=e[9],c=e[13],u=e[2],f=e[6],h=e[10],m=e[14],v=e[3],g=e[7],x=e[11],p=e[15];return v*(+r*l*f-a*c*f-r*o*h+i*c*h+a*o*m-i*l*m)+g*(+t*l*m-t*c*h+r*s*h-a*s*m+a*c*u-r*l*u)+x*(+t*c*f-t*o*m-r*s*f+i*s*m+r*o*u-i*c*u)+p*(-a*o*u-t*l*f+t*o*h+a*s*f-i*s*h+i*l*u)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){let a=this.elements;return e.isVector3?(a[12]=e.x,a[13]=e.y,a[14]=e.z):(a[12]=e,a[13]=t,a[14]=i),this}invert(){let e=this.elements,t=e[0],i=e[1],a=e[2],r=e[3],s=e[4],o=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],m=e[11],v=e[12],g=e[13],x=e[14],p=e[15],d=f*x*c-g*h*c+g*l*m-o*x*m-f*l*p+o*h*p,z=v*h*c-u*x*c-v*l*m+s*x*m+u*l*p-s*h*p,b=u*g*c-v*f*c+v*o*m-s*g*m-u*o*p+s*f*p,C=v*f*l-u*g*l-v*o*h+s*g*h+u*o*x-s*f*x,E=t*d+i*z+a*b+r*C;if(E===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let T=1/E;return e[0]=d*T,e[1]=(g*h*r-f*x*r-g*a*m+i*x*m+f*a*p-i*h*p)*T,e[2]=(o*x*r-g*l*r+g*a*c-i*x*c-o*a*p+i*l*p)*T,e[3]=(f*l*r-o*h*r-f*a*c+i*h*c+o*a*m-i*l*m)*T,e[4]=z*T,e[5]=(u*x*r-v*h*r+v*a*m-t*x*m-u*a*p+t*h*p)*T,e[6]=(v*l*r-s*x*r-v*a*c+t*x*c+s*a*p-t*l*p)*T,e[7]=(s*h*r-u*l*r+u*a*c-t*h*c-s*a*m+t*l*m)*T,e[8]=b*T,e[9]=(v*f*r-u*g*r-v*i*m+t*g*m+u*i*p-t*f*p)*T,e[10]=(s*g*r-v*o*r+v*i*c-t*g*c-s*i*p+t*o*p)*T,e[11]=(u*o*r-s*f*r-u*i*c+t*f*c+s*i*m-t*o*m)*T,e[12]=C*T,e[13]=(u*g*a-v*f*a+v*i*h-t*g*h-u*i*x+t*f*x)*T,e[14]=(v*o*a-s*g*a-v*i*l+t*g*l+s*i*x-t*o*x)*T,e[15]=(s*f*a-u*o*a+u*i*l-t*f*l-s*i*h+t*o*h)*T,this}scale(e){let t=this.elements,i=e.x,a=e.y,r=e.z;return t[0]*=i,t[4]*=a,t[8]*=r,t[1]*=i,t[5]*=a,t[9]*=r,t[2]*=i,t[6]*=a,t[10]*=r,t[3]*=i,t[7]*=a,t[11]*=r,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],a=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,a))}makeTranslation(e,t,i){return this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let i=Math.cos(t),a=Math.sin(t),r=1-i,s=e.x,o=e.y,l=e.z,c=r*s,u=r*o;return this.set(c*s+i,c*o-a*l,c*l+a*o,0,c*o+a*l,u*o+i,u*l-a*s,0,c*l-a*o,u*l+a*s,r*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,a,r,s){return this.set(1,i,r,0,e,1,s,0,t,a,1,0,0,0,0,1),this}compose(e,t,i){let a=this.elements,r=t._x,s=t._y,o=t._z,l=t._w,c=r+r,u=s+s,f=o+o,h=r*c,m=r*u,v=r*f,g=s*u,x=s*f,p=o*f,d=l*c,z=l*u,b=l*f,C=i.x,E=i.y,T=i.z;return a[0]=(1-(g+p))*C,a[1]=(m+b)*C,a[2]=(v-z)*C,a[3]=0,a[4]=(m-b)*E,a[5]=(1-(h+p))*E,a[6]=(x+d)*E,a[7]=0,a[8]=(v+z)*T,a[9]=(x-d)*T,a[10]=(1-(h+g))*T,a[11]=0,a[12]=e.x,a[13]=e.y,a[14]=e.z,a[15]=1,this}decompose(e,t,i){let a=this.elements,r=X4.set(a[0],a[1],a[2]).length(),s=X4.set(a[4],a[5],a[6]).length(),o=X4.set(a[8],a[9],a[10]).length();this.determinant()<0&&(r=-r),e.x=a[12],e.y=a[13],e.z=a[14],ee.copy(this);let c=1/r,u=1/s,f=1/o;return ee.elements[0]*=c,ee.elements[1]*=c,ee.elements[2]*=c,ee.elements[4]*=u,ee.elements[5]*=u,ee.elements[6]*=u,ee.elements[8]*=f,ee.elements[9]*=f,ee.elements[10]*=f,t.setFromRotationMatrix(ee),i.x=r,i.y=s,i.z=o,this}makePerspective(e,t,i,a,r,s){s===void 0&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");let o=this.elements,l=2*r/(t-e),c=2*r/(i-a),u=(t+e)/(t-e),f=(i+a)/(i-a),h=-(s+r)/(s-r),m=-2*s*r/(s-r);return o[0]=l,o[4]=0,o[8]=u,o[12]=0,o[1]=0,o[5]=c,o[9]=f,o[13]=0,o[2]=0,o[6]=0,o[10]=h,o[14]=m,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(e,t,i,a,r,s){let o=this.elements,l=1/(t-e),c=1/(i-a),u=1/(s-r),f=(t+e)*l,h=(i+a)*c,m=(s+r)*u;return o[0]=2*l,o[4]=0,o[8]=0,o[12]=-f,o[1]=0,o[5]=2*c,o[9]=0,o[13]=-h,o[2]=0,o[6]=0,o[10]=-2*u,o[14]=-m,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(e){let t=this.elements,i=e.elements;for(let a=0;a<16;a++)if(t[a]!==i[a])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){let i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}};k1.prototype.isMatrix4=!0;var X4=new k,ee=new k1,l9=new k(0,0,0),u9=new k(1,1,1),o4=new k,P6=new k,B2=new k;var L8=new k1,D8=new xe,c4=class{constructor(e=0,t=0,i=0,a=c4.DefaultOrder){this._x=e,this._y=t,this._z=i,this._order=a}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,a=this._order){return this._x=e,this._y=t,this._z=i,this._order=a,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){let a=e.elements,r=a[0],s=a[4],o=a[8],l=a[1],c=a[5],u=a[9],f=a[2],h=a[6],m=a[10];switch(t){case"XYZ":this._y=Math.asin(L2(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-u,m),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(h,c),this._z=0);break;case"YXZ":this._x=Math.asin(-L2(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(o,m),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-f,r),this._z=0);break;case"ZXY":this._x=Math.asin(L2(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-f,m),this._z=Math.atan2(-s,c)):(this._y=0,this._z=Math.atan2(l,r));break;case"ZYX":this._y=Math.asin(-L2(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(h,m),this._z=Math.atan2(l,r)):(this._x=0,this._z=Math.atan2(-s,c));break;case"YZX":this._z=Math.asin(L2(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-f,r)):(this._x=0,this._y=Math.atan2(o,m));break;case"XZY":this._z=Math.asin(-L2(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(h,c),this._y=Math.atan2(o,r)):(this._x=Math.atan2(-u,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return L8.makeRotationFromQuaternion(e),this.setFromRotationMatrix(L8,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return D8.setFromEuler(this),this.setFromQuaternion(D8,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}toVector3(e){return e?e.set(this._x,this._y,this._z):new k(this._x,this._y,this._z)}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};c4.prototype.isEuler=!0;c4.DefaultOrder="XYZ";c4.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];var Bt=class{constructor(){this.mask=1|0}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(e,t,i,a,r,s,o,l,c){let u=this.elements;return u[0]=e,u[1]=a,u[2]=o,u[3]=t,u[4]=r,u[5]=l,u[6]=i,u[7]=s,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let i=e.elements,a=t.elements,r=this.elements,s=i[0],o=i[3],l=i[6],c=i[1],u=i[4],f=i[7],h=i[2],m=i[5],v=i[8],g=a[0],x=a[3],p=a[6],d=a[1],z=a[4],b=a[7],C=a[2],E=a[5],T=a[8];return r[0]=s*g+o*d+l*C,r[3]=s*x+o*z+l*E,r[6]=s*p+o*b+l*T,r[1]=c*g+u*d+f*C,r[4]=c*x+u*z+f*E,r[7]=c*p+u*b+f*T,r[2]=h*g+m*d+v*C,r[5]=h*x+m*z+v*E,r[8]=h*p+m*b+v*T,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],i=e[1],a=e[2],r=e[3],s=e[4],o=e[5],l=e[6],c=e[7],u=e[8];return t*s*u-t*o*c-i*r*u+i*o*l+a*r*c-a*s*l}invert(){let e=this.elements,t=e[0],i=e[1],a=e[2],r=e[3],s=e[4],o=e[5],l=e[6],c=e[7],u=e[8],f=u*s-o*c,h=o*l-u*r,m=c*r-s*l,v=t*f+i*h+a*m;if(v===0)return this.set(0,0,0,0,0,0,0,0,0);let g=1/v;return e[0]=f*g,e[1]=(a*c-u*i)*g,e[2]=(o*i-a*s)*g,e[3]=h*g,e[4]=(u*t-a*l)*g,e[5]=(a*r-o*t)*g,e[6]=m*g,e[7]=(i*l-c*t)*g,e[8]=(s*t-i*r)*g,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,a,r,s,o){let l=Math.cos(r),c=Math.sin(r);return this.set(i*l,i*c,-i*(l*s+c*o)+s+e,-a*c,a*l,-a*(-c*s+l*o)+o+t,0,0,1),this}scale(e,t){let i=this.elements;return i[0]*=e,i[3]*=e,i[6]*=e,i[1]*=t,i[4]*=t,i[7]*=t,this}rotate(e){let t=Math.cos(e),i=Math.sin(e),a=this.elements,r=a[0],s=a[3],o=a[6],l=a[1],c=a[4],u=a[7];return a[0]=t*r+i*l,a[3]=t*s+i*c,a[6]=t*o+i*u,a[1]=-i*r+t*l,a[4]=-i*s+t*c,a[7]=-i*o+t*u,this}translate(e,t){let i=this.elements;return i[0]+=e*i[2],i[3]+=e*i[5],i[6]+=e*i[8],i[1]+=t*i[2],i[4]+=t*i[5],i[7]+=t*i[8],this}equals(e){let t=this.elements,i=e.elements;for(let a=0;a<9;a++)if(t[a]!==i[a])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){let i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}};r2.prototype.isMatrix3=!0;var h9=0,T8=new k,Z4=new xe,je=new k1,I6=new k,Pt=new k,f9=new k,d9=new xe,H8=new k(1,0,0),V8=new k(0,1,0),N8=new k(0,0,1),p9={type:"added"},R8={type:"removed"},j1=class extends F2{constructor(){super();Object.defineProperty(this,"id",{value:h9++}),this.uuid=Ie(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=j1.DefaultUp.clone();let e=new k,t=new c4,i=new xe,a=new k(1,1,1);function r(){i.setFromEuler(t,!1)}function s(){t.setFromQuaternion(i,void 0,!1)}t._onChange(r),i._onChange(s),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:a},modelViewMatrix:{value:new k1},normalMatrix:{value:new r2}}),this.matrix=new k1,this.matrixWorld=new k1,this.matrixAutoUpdate=j1.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new Bt,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return Z4.setFromAxisAngle(e,t),this.quaternion.multiply(Z4),this}rotateOnWorldAxis(e,t){return Z4.setFromAxisAngle(e,t),this.quaternion.premultiply(Z4),this}rotateX(e){return this.rotateOnAxis(H8,e)}rotateY(e){return this.rotateOnAxis(V8,e)}rotateZ(e){return this.rotateOnAxis(N8,e)}translateOnAxis(e,t){return T8.copy(e).applyQuaternion(this.quaternion),this.position.add(T8.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(H8,e)}translateY(e){return this.translateOnAxis(V8,e)}translateZ(e){return this.translateOnAxis(N8,e)}localToWorld(e){return e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return e.applyMatrix4(je.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?I6.copy(e):I6.set(e,t,i);let a=this.parent;this.updateWorldMatrix(!0,!1),Pt.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?je.lookAt(Pt,I6,this.up):je.lookAt(I6,Pt,this.up),this.quaternion.setFromRotationMatrix(je),a&&(je.extractRotation(a.matrixWorld),Z4.setFromRotationMatrix(je),this.quaternion.premultiply(Z4.invert()))}add(e){if(arguments.length>1){for(let t=0;t1){for(let i=0;i0){a.children=[];for(let o=0;o0){a.animations=[];for(let o=0;o0&&(i.geometries=o),l.length>0&&(i.materials=l),c.length>0&&(i.textures=c),u.length>0&&(i.images=u),f.length>0&&(i.shapes=f),h.length>0&&(i.skeletons=h),m.length>0&&(i.animations=m)}return i.object=a,i;function s(o){let l=[];for(let c in o){let u=o[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i=0;--e)if(n[e]>65535)return!0;return!1}function S4(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}var m9=0,G2=new k1,B3=new j1,Y4=new k,P2=new Ge,It=new Ge,c2=new k,b2=class extends F2{constructor(){super();Object.defineProperty(this,"id",{value:m9++}),this.uuid=Ie(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(k6(e)?Rt:Nt)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);let i=this.attributes.normal;if(i!==void 0){let r=new r2().getNormalMatrix(e);i.applyNormalMatrix(r),i.needsUpdate=!0}let a=this.attributes.tangent;return a!==void 0&&(a.transformDirection(e),a.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return G2.makeRotationFromQuaternion(e),this.applyMatrix4(G2),this}rotateX(e){return G2.makeRotationX(e),this.applyMatrix4(G2),this}rotateY(e){return G2.makeRotationY(e),this.applyMatrix4(G2),this}rotateZ(e){return G2.makeRotationZ(e),this.applyMatrix4(G2),this}translate(e,t,i){return G2.makeTranslation(e,t,i),this.applyMatrix4(G2),this}scale(e,t,i){return G2.makeScale(e,t,i),this.applyMatrix4(G2),this}lookAt(e){return B3.lookAt(e),B3.updateMatrix(),this.applyMatrix4(B3.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Y4).negate(),this.translate(Y4.x,Y4.y,Y4.z),this}setFromPoints(e){let t=[];for(let i=0,a=e.length;i0&&(e.userData=this.userData),this.parameters!==void 0){let l=this.parameters;for(let c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let i=this.attributes;for(let l in i){let c=i[l];e.data.attributes[l]=c.toJSON(e.data)}let a={},r=!1;for(let l in this.morphAttributes){let c=this.morphAttributes[l],u=[];for(let f=0,h=c.length;f0&&(a[l]=u,r=!0)}r&&(e.data.morphAttributes=a,e.data.morphTargetsRelative=this.morphTargetsRelative);let s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));let o=this.boundingSphere;return o!==null&&(e.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let i=e.index;i!==null&&this.setIndex(i.clone(t));let a=e.attributes;for(let c in a){let u=a[c];this.setAttribute(c,u.clone(t))}let r=e.morphAttributes;for(let c in r){let u=[],f=r[c];for(let h=0,m=f.length;h0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let i=e[t];if(i===void 0){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if(t==="shading"){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=i===Rr;continue}let a=this[t];if(a===void 0){console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.");continue}a&&a.isColor?a.set(i):a&&a.isVector3&&i&&i.isVector3?a.copy(i):this[t]=i}}toJSON(e){let t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});let i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==z4&&(i.blending=this.blending),this.side!==ke&&(i.side=this.side),this.vertexColors&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,i.colorWrite=this.colorWrite,i.alphaWrite=this.alphaWrite,i.stencilWrite=this.stencilWrite,i.stencilWriteMask=this.stencilWriteMask,i.stencilFunc=this.stencilFunc,i.stencilRef=this.stencilRef,i.stencilFuncMask=this.stencilFuncMask,i.stencilFail=this.stencilFail,i.stencilZFail=this.stencilZFail,i.stencilZPass=this.stencilZPass,this.rotation&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(i.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=this.flatShading),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),JSON.stringify(this.userData)!=="{}"&&(i.userData=this.userData);function a(r){let s=[];for(let o in r){let l=r[o];delete l.metadata,s.push(l)}return s}if(t){let r=a(e.textures),s=a(e.images);r.length>0&&(i.textures=r),s.length>0&&(i.images=s)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,i=null;if(t!==null){let a=t.length;i=new Array(a);for(let r=0;r!==a;++r)i[r]=t[r].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.alphaWrite=e.alphaWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};D2.prototype.isMaterial=!0;var kt=class extends D2{constructor(e){super();this.type="MeshPhongMaterial",this.color=new x1(16777215),this.specular=new x1(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new x1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=H6,this.normalScale=new z1(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=O4,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this}};kt.prototype.isMeshPhongMaterial=!0;var Xe=new k,P3=new k,U6=new k,l4=new k,I3=new k,O6=new k,k3=new k,U3=class{constructor(e=new k,t=new k(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Xe)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(i).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=Xe.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Xe.copy(this.direction).multiplyScalar(t).add(this.origin),Xe.distanceToSquared(e))}distanceSqToSegment(e,t,i,a){P3.copy(e).add(t).multiplyScalar(.5),U6.copy(t).sub(e).normalize(),l4.copy(this.origin).sub(P3);let r=e.distanceTo(t)*.5,s=-this.direction.dot(U6),o=l4.dot(this.direction),l=-l4.dot(U6),c=l4.lengthSq(),u=Math.abs(1-s*s),f,h,m,v;if(u>0)if(f=s*l-o,h=s*o-l,v=r*u,f>=0)if(h>=-v)if(h<=v){let g=1/u;f*=g,h*=g,m=f*(f+s*h+2*o)+h*(s*f+h+2*l)+c}else h=r,f=Math.max(0,-(s*h+o)),m=-f*f+h*(h+2*l)+c;else h=-r,f=Math.max(0,-(s*h+o)),m=-f*f+h*(h+2*l)+c;else h<=-v?(f=Math.max(0,-(-s*r+o)),h=f>0?-r:Math.min(Math.max(-r,-l),r),m=-f*f+h*(h+2*l)+c):h<=v?(f=0,h=Math.min(Math.max(-r,-l),r),m=h*(h+2*l)+c):(f=Math.max(0,-(s*r+o)),h=f>0?r:Math.min(Math.max(-r,-l),r),m=-f*f+h*(h+2*l)+c);else h=s>0?-r:r,f=Math.max(0,-(s*h+o)),m=-f*f+h*(h+2*l)+c;return i&&i.copy(this.direction).multiplyScalar(f).add(this.origin),a&&a.copy(U6).multiplyScalar(h).add(P3),m}intersectSphere(e,t){Xe.subVectors(e.center,this.origin);let i=Xe.dot(this.direction),a=Xe.dot(Xe)-i*i,r=e.radius*e.radius;if(a>r)return null;let s=Math.sqrt(r-a),o=i-s,l=i+s;return o<0&&l<0?null:o<0?this.at(l,t):this.at(o,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){let i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,a,r,s,o,l,c=1/this.direction.x,u=1/this.direction.y,f=1/this.direction.z,h=this.origin;return c>=0?(i=(e.min.x-h.x)*c,a=(e.max.x-h.x)*c):(i=(e.max.x-h.x)*c,a=(e.min.x-h.x)*c),u>=0?(r=(e.min.y-h.y)*u,s=(e.max.y-h.y)*u):(r=(e.max.y-h.y)*u,s=(e.min.y-h.y)*u),i>s||r>a||((r>i||i!==i)&&(i=r),(s=0?(o=(e.min.z-h.z)*f,l=(e.max.z-h.z)*f):(o=(e.max.z-h.z)*f,l=(e.min.z-h.z)*f),i>l||o>a)||((o>i||i!==i)&&(i=o),(l=0?i:a,t)}intersectsBox(e){return this.intersectBox(e,Xe)!==null}intersectTriangle(e,t,i,a,r){I3.subVectors(t,e),O6.subVectors(i,e),k3.crossVectors(I3,O6);let s=this.direction.dot(k3),o;if(s>0){if(a)return null;o=1}else if(s<0)o=-1,s=-s;else return null;l4.subVectors(this.origin,e);let l=o*this.direction.dot(O6.crossVectors(l4,O6));if(l<0)return null;let c=o*this.direction.dot(I3.cross(l4));if(c<0||l+c>s)return null;let u=-o*l4.dot(k3);return u<0?null:this.at(u/s,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}};var te=new k,Ze=new k,O3=new k,Ye=new k,K4=new k,$4=new k,F8=new k,G3=new k,q3=new k,W3=new k,ie=class{constructor(e=new k,t=new k,i=new k){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,a){a.subVectors(i,t),te.subVectors(e,t),a.cross(te);let r=a.lengthSq();return r>0?a.multiplyScalar(1/Math.sqrt(r)):a.set(0,0,0)}static getBarycoord(e,t,i,a,r){te.subVectors(a,t),Ze.subVectors(i,t),O3.subVectors(e,t);let s=te.dot(te),o=te.dot(Ze),l=te.dot(O3),c=Ze.dot(Ze),u=Ze.dot(O3),f=s*c-o*o;if(f===0)return r.set(-2,-1,-1);let h=1/f,m=(c*l-o*u)*h,v=(s*u-o*l)*h;return r.set(1-m-v,v,m)}static containsPoint(e,t,i,a){return this.getBarycoord(e,t,i,a,Ye),Ye.x>=0&&Ye.y>=0&&Ye.x+Ye.y<=1}static getUV(e,t,i,a,r,s,o,l){return this.getBarycoord(e,t,i,a,Ye),l.set(0,0),l.addScaledVector(r,Ye.x),l.addScaledVector(s,Ye.y),l.addScaledVector(o,Ye.z),l}static isFrontFacing(e,t,i,a){return te.subVectors(i,t),Ze.subVectors(e,t),te.cross(Ze).dot(a)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,a){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[a]),this}setFromAttributeAndIndices(e,t,i,a){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,a),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return te.subVectors(this.c,this.b),Ze.subVectors(this.a,this.b),te.cross(Ze).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ie.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ie.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,i,a,r){return ie.getUV(e,this.a,this.b,this.c,t,i,a,r)}containsPoint(e){return ie.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ie.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let i=this.a,a=this.b,r=this.c,s,o;K4.subVectors(a,i),$4.subVectors(r,i),G3.subVectors(e,i);let l=K4.dot(G3),c=$4.dot(G3);if(l<=0&&c<=0)return t.copy(i);q3.subVectors(e,a);let u=K4.dot(q3),f=$4.dot(q3);if(u>=0&&f<=u)return t.copy(a);let h=l*f-u*c;if(h<=0&&l>=0&&u<=0)return s=l/(l-u),t.copy(i).addScaledVector(K4,s);W3.subVectors(e,r);let m=K4.dot(W3),v=$4.dot(W3);if(v>=0&&m<=v)return t.copy(r);let g=m*c-l*v;if(g<=0&&c>=0&&v<=0)return o=c/(c-v),t.copy(i).addScaledVector($4,o);let x=u*v-m*f;if(x<=0&&f-u>=0&&m-v>=0)return F8.subVectors(r,a),o=(f-u)/(f-u+(m-v)),t.copy(a).addScaledVector(F8,o);let p=1/(x+g+h);return s=g*p,o=h*p,t.copy(i).addScaledVector(K4,s).addScaledVector($4,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}};var J4=class extends D2{constructor(e){super();this.type="MeshBasicMaterial",this.color=new x1(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=O4,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this}};J4.prototype.isMeshBasicMaterial=!0;var B8=new k1,Q4=new U3,j3=new We,u4=new k,h4=new k,f4=new k,X3=new k,Z3=new k,Y3=new k,G6=new k,q6=new k,W6=new k,j6=new z1,X6=new z1,Z6=new z1,K3=new k,Y6=new k,l2=class extends j1{constructor(e=new b2,t=new J4){super();this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this}updateMorphTargets(){let e=this.geometry;if(e.isBufferGeometry){let t=e.morphAttributes,i=Object.keys(t);if(i.length>0){let a=t[i[0]];if(a!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,s=a.length;r0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(e,t){let i=this.geometry,a=this.material,r=this.matrixWorld;if(a===void 0||(i.boundingSphere===null&&i.computeBoundingSphere(),j3.copy(i.boundingSphere),j3.applyMatrix4(r),e.ray.intersectsSphere(j3)===!1)||(B8.copy(r).invert(),Q4.copy(e.ray).applyMatrix4(B8),i.boundingBox!==null&&Q4.intersectsBox(i.boundingBox)===!1))return;let s;if(i.isBufferGeometry){let o=i.index,l=i.attributes.position,c=i.morphAttributes.position,u=i.morphTargetsRelative,f=i.attributes.uv,h=i.attributes.uv2,m=i.groups,v=i.drawRange;if(o!==null)if(Array.isArray(a))for(let g=0,x=m.length;gt.far?null:{distance:c,point:Y6.clone(),object:n}}function K6(n,e,t,i,a,r,s,o,l,c,u,f){u4.fromBufferAttribute(a,c),h4.fromBufferAttribute(a,u),f4.fromBufferAttribute(a,f);let h=n.morphTargetInfluences;if(r&&h){G6.set(0,0,0),q6.set(0,0,0),W6.set(0,0,0);for(let v=0,g=r.length;v2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){let t=S4("canvas");t.width=e.width,t.height=e.height;let i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);let a=i.getImageData(0,0,e.width,e.height),r=a.data;for(let s=0;s1)switch(this.wrapS){case Tt:e.x=e.x-Math.floor(e.x);break;case o2:e.x=e.x<0?0:1;break;case Ht:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Tt:e.y=e.y-Math.floor(e.y);break;case o2:e.y=e.y<0?0:1;break;case Ht:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&this.version++}};K1.DEFAULT_IMAGE=void 0;K1.DEFAULT_MAPPING=c3;K1.prototype.isTexture=!0;function $3(n){return typeof HTMLImageElement!="undefined"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&n instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?Ut.getDataURL(n):n.data?{data:Array.prototype.slice.call(n.data),width:n.width,height:n.height,type:n.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var P8={specular:1515554,color:15790320,shininess:60,flatShading:!0},q2={diceColor:"#202020",textColor:"#ffffff"},ae=class{constructor(e,t,i={diceColor:"#202020",textColor:"#aaaaaa"}){this.w=e;this.h=t;this.options=i;this.scale=50;this.labels=[" ","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"];this.fontFace="Arial";this.options={...q2,...i}}setColor({diceColor:e,textColor:t}){e&&(this.options.diceColor=e),t&&(this.options.textColor=t)}get radius(){return this.scale*this.scaleFactor}get diceColor(){return this.options.diceColor}get textColor(){return this.options.textColor}get buffer(){return this.geometry.geometry}create(){this.textureSize=this.calculateTextureSize(this.scale/2+this.scale*this.margin)*2;let e=this.getGeometry(),t=this.getMaterials();return this.geometry=new l2(e,t),this.geometry.receiveShadow=!0,this.geometry.castShadow=!0,this.body.position.set(0+this.radius*2*Math.random(),0+this.radius*2*Math.random(),0+this.radius*4),this.body.velocity.x=500*Math.random()*2-1,this.body.velocity.y=500*Math.random()*2-1,this.body.angularVelocity.x=100*Math.random(),this.body.angularVelocity.y=100*Math.random(),this}getGeometry(){let e=new Array(this.vertices.length);for(let i=0;i=0&&u=0&&c!==l+1?o.unshift([r,c],[s,u]):o.push([r,c],[s,u]),l=c)}o.length===4&&i.push([i[o[0][0]][o[0][1]],i[o[1][0]][o[1][1]],i[o[3][0]][o[3][1]],i[o[2][0]][o[2][1]],-1])}for(let r=0;r=0&&u<4){--u==-1&&(u=3);let f=i[c][u];if(s.indexOf(f)>=0){o.push(f);break}}}--l}o.push(-1),i.push(o)}return{vectors:t,faces:i}}makeGeometry(e,t){let i=new b2;for(let f=0;f1&&(o=o/c.length,s.font=`${o}pt '${this.fontFace}'`,l=s.measureText("M").width*1.2,a-=l*c.length/2);for(let f=0,h=c.length;f{let[r,s]=a.replace(/\\\|/g,"{ESCAPED_PIPE}").split("|").map(l=>l.replace(/{ESCAPED_PIPE}/g,"\\|")).map(l=>l.trim()),[,o,c]=r.match(/(\d+)(?:[^\d]+?(\d+))?/)??[];if(!(!o&&!c))return[[Number(o),c?Number(c):void 0],s]}),this.isLookup=!0)}if(this.header&&t.columns[this.header])this.options=t.columns[this.header];else{if(this.header)throw new Error(`Header ${this.header} was not found in table ${this.path} > ${this.block}.`);this.options=t.rows}}this.loaded=!0,this.trigger("loaded")}toResult(){return{type:"table",result:this.result}}async applyResult(e){e.type==="table"&&(e.result&&(this.result=e.result),await this.render())}},Pc=/^\|?([\s\S]+?)\|?$/,_a=/\|/g;function Ic(n){let e=n.split(` +`),i=e.map(s=>(s.trim().match(Pc)??[,s.trim()])[1])[0].replace("\\|","{ESCAPED_PIPE}").split(_a),a=[],r=[];for(let s in i){let o=i[s];o.trim().length||(o=s),r.push([o.trim(),[]])}for(let s of e.slice(2)){let o=s.trim().replace(/\\\|/g,"{ESCAPED_PIPE}").split(_a).map(c=>c.replace(/{ESCAPED_PIPE}/g,"\\|")).map(c=>c.trim()).filter(c=>c.length);a.push(o.join(" | "));for(let c in o){let l=o[c].trim();!l.length||!r[c]||r[c][1].push(l)}}return{columns:Object.fromEntries(r),rows:a}}var D1=w2(require("obsidian"));var u6=class extends D1.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t;this.plugin=t}async display(){let{containerEl:e}=this;e.empty(),e.addClass("dice-roller-settings"),e.createEl("h2",{text:"Dice Roller Settings"}),this.buildGenerics(e.createDiv()),this.buildDisplay(e.createDiv()),this.buildDice(e.createDiv()),this.buildTables(e.createDiv()),this.buildSections(e.createDiv()),this.buildTags(e.createDiv()),this.buildView(e.createDiv()),this.buildRender(e.createDiv()),this.buildFormulaSettings(e.createDiv("dice-roller-setting-additional-container")),e.createDiv("coffee").createEl("a",{href:"https://www.buymeacoffee.com/valentine195"}).createEl("img",{attr:{src:"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=\u2615&slug=valentine195&button_colour=e3e7ef&font_colour=262626&font_family=Inter&outline_colour=262626&coffee_colour=ff0000"}})}buildGenerics(e){e.empty(),new D1.Setting(e).setName("Globally Save Results").setDesc(createFragment(t=>{t.createSpan({text:"Dice results will be saved by default. This can be overridden using "}),t.createEl("code",{text:"dice-: formula"}),t.createEl("p",{text:"Please note that the plugin will attempt to save the result but may not be able to."})})).addToggle(t=>{t.setValue(this.plugin.data.persistResults),t.onChange(async i=>{this.plugin.data.persistResults=i,await this.plugin.saveSettings()})})}buildDisplay(e){e.empty(),new D1.Setting(e).setHeading().setName("Dice Display"),new D1.Setting(e).setName("Display Formula With Results").setDesc("Both the formula and the results will both be displayed in preview mode.").addToggle(t=>{t.setValue(this.plugin.data.displayResultsInline),t.onChange(async i=>{this.plugin.data.displayResultsInline=i,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Display Dice Button With Results").setDesc("A dice button will appear next to results.").addToggle(t=>{t.setValue(this.plugin.data.showDice),t.onChange(async i=>{this.plugin.data.showDice=i,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Add Formula When Using Modify Dice").setDesc(createFragment(t=>{t.createSpan({text:"Both the formula and the results will both be added to the note when using "}),t.createEl("code",{text:"dice-mod"}),t.createSpan({text:"."})})).addToggle(t=>{t.setValue(this.plugin.data.displayFormulaForMod),t.onChange(async i=>{this.plugin.data.displayFormulaForMod=i,await this.plugin.saveSettings()})})}buildDice(e){e.empty(),new D1.Setting(e).setHeading().setName("Dice Rollers"),new D1.Setting(e).setName("Default Face").setDesc("Use this as the number of faces when it is omitted.").addText(t=>{t.setValue(`${this.plugin.data.defaultFace}`),t.inputEl.onblur=async()=>{isNaN(Number(t.inputEl.value))&&new D1.Notice("The default face must be a number."),this.plugin.data.defaultFace=Number(t.inputEl.value),await this.plugin.saveSettings()}}),new D1.Setting(e).setName("Round Results").setDesc("Determine the rounding behavior for dice results.").addDropdown(t=>{t.addOptions(de).setValue(this.plugin.data.round).onChange(i=>{this.plugin.data.round=i,this.plugin.saveSettings()})}),new D1.Setting(e).setName("Always Render Dice").setDesc(createFragment(t=>{t.createSpan({text:"Dice rolled in notes will always be rendered. Use the "}),t.createEl("code",{text:"|norender"}),t.createSpan({text:" flag to prevent it."})})).addToggle(t=>{t.setValue(this.plugin.data.renderAllDice).onChange(i=>{this.plugin.data.renderAllDice=i,this.plugin.saveSettings()})})}buildTables(e){e.empty(),new D1.Setting(e).setHeading().setName("Table Rollers"),new D1.Setting(e).setName("Display Lookup Table Roll").setDesc("Lookup table rolls will display the rolled number along with the result.").addToggle(t=>{t.setValue(this.plugin.data.displayLookupRoll),t.onChange(async i=>{this.plugin.data.displayLookupRoll=i,await this.plugin.saveSettings()})})}buildSections(e){e.empty(),new D1.Setting(e).setHeading().setName("Section Rollers"),new D1.Setting(e).setName("Add Copy Button to Section Results").setDesc("Randomly rolled sections will have a copy-content button to easy add result to clipboard.").addToggle(t=>{t.setValue(this.plugin.data.copyContentButton),t.onChange(async i=>{this.plugin.data.copyContentButton=i,await this.plugin.saveSettings()})})}buildTags(e){e.empty(),new D1.Setting(e).setHeading().setName("Tag Rollers"),new D1.Setting(e).setName("Roll All Files for Tags").setDesc("Return a result for each file when rolling tags.").addToggle(t=>{t.setValue(this.plugin.data.returnAllTags),t.onChange(async i=>{this.plugin.data.returnAllTags=i,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Always Return Links for Tags").setDesc("Enables random link rolling with the link parameter. Override by specifying a section type.").addToggle(t=>{t.setValue(this.plugin.data.rollLinksForTags),t.onChange(async i=>{this.plugin.data.rollLinksForTags=i,await this.plugin.saveSettings()})})}buildView(e){e.empty(),new D1.Setting(e).setHeading().setName("Dice View"),new D1.Setting(e).setName("Open Dice View on Startup").setDesc("The dice view can always be opened using the command from the command palette.").addToggle(t=>{t.setValue(this.plugin.data.showLeafOnStartup),t.onChange(async i=>{this.plugin.data.showLeafOnStartup=i,await this.plugin.saveSettings()})})}buildRender(e){e.empty(),new D1.Setting(e).setHeading().setName("Graphical Dice"),new D1.Setting(e).setName("Display graphics for Dice View Rolls").setDesc("Dice rolls from dice view will be displayed on screen.").addToggle(a=>{a.setValue(this.plugin.data.renderer),a.onChange(async r=>{this.plugin.data.renderer=r,await this.plugin.saveSettings()})}),new D1.Setting(e).setName("Display Time for Dice Graphics").setDesc("Rendered dice will stay on screen for this number of milliseconds. Leave blank to require a click to clear dice.").addText(a=>{a.inputEl.setAttr("type","number"),a.inputEl.onblur=r=>{Number(a.getValue())<0&&(new D1.Notice("Render time cannot be less than 0."),a.setValue("0"))},a.setValue(`${this.plugin.data.renderTime}`),a.onChange(async r=>{r&&Number(r)<0||isNaN(Number(r))||(this.plugin.data.renderTime=Number(r),await this.plugin.saveSettings())})}).addExtraButton(a=>{a.setIcon("reset").setTooltip("Reset to Default").onClick(async()=>{this.plugin.data.renderTime=h6.renderTime,await this.plugin.saveSettings(),this.buildRender(e)})}),new D1.Setting(e).setName("Dice Base Color").setDesc("Rendered dice will be this color.").controlEl.createEl("input",{type:"color",value:this.plugin.data.diceColor},a=>{a.value=this.plugin.data.diceColor,a.onchange=async({target:r})=>{let s=r.value;this.plugin.data.diceColor=s,await this.plugin.saveSettings(),this.plugin.app.workspace.trigger("dice-roller:update-colors")}}),new D1.Setting(e).setName("Dice Text Color").setDesc("Rendered dice will use this color for their numbers.").controlEl.createEl("input",{type:"color",value:this.plugin.data.textColor},a=>{a.value=this.plugin.data.textColor,a.onchange=async({target:r})=>{let s=r.value;!s||(this.plugin.data.textColor=s,await this.plugin.saveSettings(),this.plugin.app.workspace.trigger("dice-roller:update-colors"))}})}buildFormulaSettings(e){e.empty(),new D1.Setting(e).setHeading().setName("Saved Formulas");let t=e.createDiv();new D1.Setting(t).setName("Add Formula").setDesc("Add a new formula shortcut.").addButton(r=>r.setTooltip("Add Formula").setButtonText("+").onClick(async()=>{let o=await this.buildFormulaForm(t);o&&(this.plugin.data.formulas[o.alias]=o.formula,this.buildFormulaSettings(e),await this.plugin.saveSettings())}));let i=e.createDiv("additional"),a=this.plugin.data.formulas;for(let[r,s]of Object.entries(a)){let o=new D1.Setting(i).setName(r);o.controlEl.createSpan({text:s}),o.addExtraButton(c=>c.setIcon("pencil").setTooltip("Edit").onClick(async()=>{let l=await this.buildFormulaForm(t,{alias:r,formula:s});l&&(delete this.plugin.data.formulas[r],this.plugin.data.formulas[l.alias]=l.formula,this.buildFormulaSettings(e),await this.plugin.saveSettings())})).addExtraButton(c=>c.setIcon("trash").setTooltip("Delete").onClick(async()=>{delete this.plugin.data.formulas[r],await this.plugin.saveSettings(),this.buildFormulaSettings(e)}))}Object.values(a).length||i.createSpan({text:"Create a formula to see it here!",cls:"no-formulas"})}async buildFormulaForm(e,t={alias:null,formula:null}){return new Promise(i=>{let a=e.createDiv("add-new-formula"),r=a.createDiv("formula-data");new D1.Setting(r).setName("Alias").addText(o=>{o.setValue(t.alias).onChange(c=>t.alias=c)}),new D1.Setting(r).setName("Formula").addText(o=>{o.setValue(t.formula).onChange(c=>t.formula=c)});let s=a.createDiv("formula-buttons");new D1.Setting(s).addButton(o=>o.setCta().setButtonText("Save").onClick(async()=>{a.detach(),i(t)})).addExtraButton(o=>o.setIcon("cross").setTooltip("Cancel").onClick(()=>{a.detach(),i(null)}))})}};var E1=w2(require("obsidian"));var M4="DICE_ROLLER_VIEW",kc='',Uc='',Oc='',Gc='',qc='',Wc='',jc='';(0,E1.addIcon)("d4",kc);(0,E1.addIcon)("d6",Uc);(0,E1.addIcon)("d8",Oc);(0,E1.addIcon)("d10",Gc);(0,E1.addIcon)("d12",qc);(0,E1.addIcon)("d20",Wc);(0,E1.addIcon)("d100",jc);(0,E1.addIcon)("dice-roller-save",'');(0,E1.addIcon)("dice-roller-plus",'');(0,E1.addIcon)("dice-roller-minus",'');var Je=class extends E1.ItemView{constructor(e,t){super(t);this.plugin=e;this.leaf=t;this.dice=Je.DICE();this.custom="";this.adv=!1;this.dis=!1;this.add=0;this.contentEl.addClass("dice-roller-view"),this.registerEvent(this.plugin.app.workspace.on("dice-roller:update-colors",()=>{this.renderer.factory.updateColors()}))}static DICE(){return{d4:0,d6:0,d8:0,d10:0,d12:0,d20:0,d100:0}}get customFormulas(){return this.plugin.data.customFormulas}get renderer(){return this.plugin.renderer}async onOpen(){this.display()}async display(){this.contentEl.empty(),this.gridEl=this.contentEl.createDiv("dice-roller-grid"),this.formulaEl=this.contentEl.createDiv("dice-roller-formula");let e=this.contentEl.createDiv("dice-roller-results-container"),t=e.createDiv("dice-roller-results-header");t.createEl("h4",{text:"Results"}),new E1.ExtraButtonComponent(t.createDiv("clear-all")).setIcon("trash").setTooltip("Clear All").onClick(()=>{this.resultEl.empty(),this.resultEl.append(this.noResultsEl)}),this.resultEl=e.createDiv("dice-roller-results"),this.noResultsEl=this.resultEl.createSpan({text:"No results yet! Roll some dice to get started :)"}),this.buildButtons(),this.buildFormula()}buildButtons(){this.gridEl.empty();let e=this.gridEl.createDiv("dice-buttons");for(let o in this.dice){let c=new E1.ExtraButtonComponent(e.createDiv("dice-button")).setIcon(o);c.extraSettingsEl.onclick=async l=>{let u=l.getModifierState("Shift")?-1:1;this.dice[o]+=u,this.setFormula();let f=await this.plugin.getRoller(this.formulaComponent.inputEl.value,"view");f instanceof _2&&(this.stack=f)}}let t=this.gridEl.createDiv("advantage-disadvantage"),i=new E1.ButtonComponent(t).setButtonText("ADV").onClick(()=>{this.adv=!this.adv,this.dis=!1,this.adv?(i.setCta(),a.removeCta()):i.removeCta(),this.setFormula()}),a=new E1.ButtonComponent(t).setButtonText("DIS").onClick(()=>{this.dis=!this.dis,this.dis?(a.setCta(),i.removeCta()):a.removeCta(),this.adv=!1,this.setFormula()}),r=this.gridEl.createDiv("dice-context").createDiv("add-subtract");new E1.ExtraButtonComponent(r).setIcon("dice-roller-minus").onClick(()=>{this.add-=1,s.setValue(`${this.add}`),this.setFormula()});let s=new E1.TextComponent(r).setValue(`${this.add?this.add:""}`).onChange(o=>{isNaN(Number(o))||(this.add=Number(o)),this.setFormula()});if(new E1.ExtraButtonComponent(r).setIcon("dice-roller-plus").onClick(()=>{this.add+=1,s.setValue(`${this.add}`),this.setFormula()}),this.customFormulas.length){let o=this.gridEl.createDiv("dice-roller-results-container");o.createDiv("dice-roller-results-header").createEl("h4",{text:"Saved Formulas"});for(let l of this.customFormulas){let u=o.createDiv("dice-custom-formula-container"),f=u.createDiv("dice-custom-formula");new E1.ExtraButtonComponent(f).setIcon(De).setTooltip("Roll").onClick(()=>this.roll(l)),f.createSpan({text:l}),new E1.ExtraButtonComponent(u).setIcon("trash").setTooltip("Remove").onClick(()=>{this.plugin.data.customFormulas=this.plugin.data.customFormulas.filter(h=>h!=l),this.plugin.saveSettings(),this.buildButtons()})}}}async roll(e=this.formulaComponent.inputEl.value){if(!e)return;this.rollButton.setDisabled(!0);let t=await this.plugin.getRoller(e,"view");if(!(t instanceof _2)){new E1.Notice("The Dice View only supports dice rolls.");return}if(await t.roll(),!t.dice.length){new E1.Notice("Invalid formula.");return}try{this.plugin.data.renderer&&(this.addChild(this.renderer),this.renderer.setDice(t),await this.renderer.start(),t.recalculate())}catch(i){new E1.Notice("There was an error rendering the roll."),console.error(i)}this.rollButton.setDisabled(!1),this.addResult({result:t.result,original:t.original,resultText:t.resultText}),this.dice=Je.DICE(),this.add=null,this.adv=!1,this.dis=!1,this.buildButtons(),this.setFormula()}buildFormula(){this.formulaEl.empty(),this.formulaComponent=new E1.TextAreaComponent(this.formulaEl).setPlaceholder("Dice Formula"),this.formulaComponent.onChange((0,E1.debounce)(async t=>{},500,!0));let e=this.formulaEl.createDiv("action-buttons");this.saveButton=new E1.ButtonComponent(e).setIcon("plus-with-circle").setCta().setTooltip("Save Formula").onClick(()=>this.save()),this.saveButton.buttonEl.addClass("dice-roller-roll"),this.rollButton=new E1.ButtonComponent(e).setIcon(De).setCta().setTooltip("Roll").onClick(()=>this.roll()),this.rollButton.buttonEl.addClass("dice-roller-roll")}save(){!this.formulaComponent.inputEl.value||(this.plugin.data.customFormulas.push(this.formulaComponent.inputEl.value),this.buildButtons(),this.plugin.saveSettings())}addResult(e){this.noResultsEl&&this.noResultsEl.detach();let t=createDiv("view-result");t.createSpan({text:e.original}),t.createEl("strong",{text:`${e.result}`,attr:{"aria-label":e.resultText}});let i=t.createDiv("result-context");i.createEl("em",{text:new Date().toLocaleString()}),new E1.ExtraButtonComponent(i).setIcon("trash").onClick(()=>{t.detach(),this.resultEl.children.length===0&&this.resultEl.prepend(this.noResultsEl)}),new E1.ExtraButtonComponent(i).setIcon(Te).setTooltip("Copy Result").onClick(async()=>{await navigator.clipboard.writeText(`${e.result}`)}).extraSettingsEl.addClass("dice-content-copy"),new E1.ExtraButtonComponent(i).setIcon(De).setTooltip("Roll Again").onClick(()=>this.roll(e.original)).extraSettingsEl.addClass("dice-result-reroll"),this.resultEl.prepend(t)}get formulaString(){let e=[],t=Object.entries(this.dice).filter(([a,r])=>r!=0);if(!t.length)return"";t.sort((a,r)=>Number(r[0].slice(1))-Number(a[0].slice(1)));let i=t.shift();return e.push(`${i[1]}${i[0]}`),this.adv?e.push("kh"):this.dis&&e.push("dh"),t.length&&e.push(...t.map(([a,r])=>`${r>0?"+":"-"}${Math.abs(r)}${a}`)),this.add&&this.add!=0&&(e.push(this.add>0?"+":"-"),e.push(Math.abs(this.add))),e.join("")}setFormula(){this.formulaComponent.setValue(this.formulaString)}getDisplayText(){return"Dice Roller"}getViewType(){return M4}getIcon(){return De}async onClose(){await super.onClose(),this.renderer.unload()}};var Xt=w2(require("obsidian"));var S2=class{constructor(e=[0,0,0,0,0,0,0,0,0]){this.elements=void 0,this.elements=e}identity(){let e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}setZero(){let e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}setTrace(e){let t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}getTrace(e=new y){let t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}vmult(e,t=new y){let i=this.elements,a=e.x,r=e.y,s=e.z;return t.x=i[0]*a+i[1]*r+i[2]*s,t.y=i[3]*a+i[4]*r+i[5]*s,t.z=i[6]*a+i[7]*r+i[8]*s,t}smult(e){for(let t=0;t0){let r=1/a;this.x*=r,this.y*=r,this.z*=r}else this.x=0,this.y=0,this.z=0;return a}unit(e=new y){let t=this.x,i=this.y,a=this.z,r=Math.sqrt(t*t+i*i+a*a);return r>0?(r=1/r,e.x=t*r,e.y=i*r,e.z=a*r):(e.x=1,e.y=0,e.z=0),e}length(){let e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){let t=this.x,i=this.y,a=this.z,r=e.x,s=e.y,o=e.z;return Math.sqrt((r-t)*(r-t)+(s-i)*(s-i)+(o-a)*(o-a))}distanceSquared(e){let t=this.x,i=this.y,a=this.z,r=e.x,s=e.y,o=e.z;return(r-t)*(r-t)+(s-i)*(s-i)+(o-a)*(o-a)}scale(e,t=new y){let i=this.x,a=this.y,r=this.z;return t.x=e*i,t.y=e*a,t.z=e*r,t}vmul(e,t=new y){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new y){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return this.x===0&&this.y===0&&this.z===0}negate(e=new y){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){let i=this.length();if(i>0){let a=Zc,r=1/i;a.set(this.x*r,this.y*r,this.z*r);let s=Yc;Math.abs(a.x)<.9?(s.set(1,0,0),a.cross(s,e)):(s.set(0,1,0),a.cross(s,e)),a.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){let a=this.x,r=this.y,s=this.z;i.x=a+(e.x-a)*t,i.y=r+(e.y-r)*t,i.z=s+(e.z-s)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Sa),Sa.almostEquals(e,t)}clone(){return new y(this.x,this.y,this.z)}};y.ZERO=void 0;y.UNIT_X=void 0;y.UNIT_Y=void 0;y.UNIT_Z=void 0;y.ZERO=new y(0,0,0);y.UNIT_X=new y(1,0,0);y.UNIT_Y=new y(0,1,0);y.UNIT_Z=new y(0,0,1);var Zc=new y,Yc=new y,Sa=new y,E2=class{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new y,this.upperBound=new y,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,a){let r=this.lowerBound,s=this.upperBound,o=i;r.copy(e[0]),o&&o.vmult(r,r),s.copy(r);for(let c=1;cs.x&&(s.x=l.x),l.xs.y&&(s.y=l.y),l.ys.z&&(s.z=l.z),l.z=r.x&&t.y<=a.y&&i.y>=r.y&&t.z<=a.z&&i.z>=r.z}getCorners(e,t,i,a,r,s,o,c){let l=this.lowerBound,u=this.upperBound;e.copy(l),t.set(u.x,l.y,l.z),i.set(u.x,u.y,l.z),a.set(l.x,u.y,u.z),r.set(u.x,l.y,u.z),s.set(l.x,u.y,l.z),o.set(l.x,l.y,u.z),c.copy(u)}toLocalFrame(e,t){let i=La,a=i[0],r=i[1],s=i[2],o=i[3],c=i[4],l=i[5],u=i[6],f=i[7];this.getCorners(a,r,s,o,c,l,u,f);for(let h=0;h!==8;h++){let m=i[h];e.pointToLocal(m,m)}return t.setFromPoints(i)}toWorldFrame(e,t){let i=La,a=i[0],r=i[1],s=i[2],o=i[3],c=i[4],l=i[5],u=i[6],f=i[7];this.getCorners(a,r,s,o,c,l,u,f);for(let h=0;h!==8;h++){let m=i[h];e.pointToWorld(m,m)}return t.setFromPoints(i)}overlapsRay(e){let{direction:t,from:i}=e,a=1/t.x,r=1/t.y,s=1/t.z,o=(this.lowerBound.x-i.x)*a,c=(this.upperBound.x-i.x)*a,l=(this.lowerBound.y-i.y)*r,u=(this.upperBound.y-i.y)*r,f=(this.lowerBound.z-i.z)*s,h=(this.upperBound.z-i.z)*s,m=Math.max(Math.max(Math.min(o,c),Math.min(l,u)),Math.min(f,h)),v=Math.min(Math.min(Math.max(o,c),Math.max(l,u)),Math.max(f,h));return!(v<0||m>v)}},Ea=new y,La=[new y,new y,new y,new y,new y,new y,new y,new y],B0=class{constructor(){this.matrix=void 0,this.matrix=[]}get(e,t){let{index:i}=e,{index:a}=t;if(a>i){let r=a;a=i,i=r}return this.matrix[(i*(i+1)>>1)+a-1]}set(e,t,i){let{index:a}=e,{index:r}=t;if(r>a){let s=r;r=a,a=s}this.matrix[(a*(a+1)>>1)+r-1]=i?1:0}reset(){for(let e=0,t=this.matrix.length;e!==t;e++)this.matrix[e]=0}setNumObjects(e){this.matrix.length=e*(e-1)>>1}},P0=class{constructor(){this._listeners=void 0}addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let i=this._listeners;return i[e]===void 0&&(i[e]=[]),i[e].includes(t)||i[e].push(t),this}hasEventListener(e,t){if(this._listeners===void 0)return!1;let i=this._listeners;return!!(i[e]!==void 0&&i[e].includes(t))}hasAnyEventListener(e){return this._listeners===void 0?!1:this._listeners[e]!==void 0}removeEventListener(e,t){if(this._listeners===void 0)return this;let i=this._listeners;if(i[e]===void 0)return this;let a=i[e].indexOf(t);return a!==-1&&i[e].splice(a,1),this}dispatchEvent(e){if(this._listeners===void 0)return this;let i=this._listeners[e.type];if(i!==void 0){e.target=this;for(let a=0,r=i.length;a.499&&(i=2*Math.atan2(s,l),a=Math.PI/2,r=0),u<-.499&&(i=-2*Math.atan2(s,l),a=-Math.PI/2,r=0),i===void 0){let f=s*s,h=o*o,m=c*c;i=Math.atan2(2*o*l-2*s*c,1-2*h-2*m),a=Math.asin(2*u),r=Math.atan2(2*s*l-2*o*c,1-2*f-2*m)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=a,e.x=r}setFromEuler(e,t,i,a="XYZ"){let r=Math.cos(e/2),s=Math.cos(t/2),o=Math.cos(i/2),c=Math.sin(e/2),l=Math.sin(t/2),u=Math.sin(i/2);return a==="XYZ"?(this.x=c*s*o+r*l*u,this.y=r*l*o-c*s*u,this.z=r*s*u+c*l*o,this.w=r*s*o-c*l*u):a==="YXZ"?(this.x=c*s*o+r*l*u,this.y=r*l*o-c*s*u,this.z=r*s*u-c*l*o,this.w=r*s*o+c*l*u):a==="ZXY"?(this.x=c*s*o-r*l*u,this.y=r*l*o+c*s*u,this.z=r*s*u+c*l*o,this.w=r*s*o-c*l*u):a==="ZYX"?(this.x=c*s*o-r*l*u,this.y=r*l*o+c*s*u,this.z=r*s*u-c*l*o,this.w=r*s*o+c*l*u):a==="YZX"?(this.x=c*s*o+r*l*u,this.y=r*l*o+c*s*u,this.z=r*s*u-c*l*o,this.w=r*s*o-c*l*u):a==="XZY"&&(this.x=c*s*o-r*l*u,this.y=r*l*o-c*s*u,this.z=r*s*u+c*l*o,this.w=r*s*o+c*l*u),this}clone(){return new O1(this.x,this.y,this.z,this.w)}slerp(e,t,i=new O1){let a=this.x,r=this.y,s=this.z,o=this.w,c=e.x,l=e.y,u=e.z,f=e.w,h,m,v,g,x;return m=a*c+r*l+s*u+o*f,m<0&&(m=-m,c=-c,l=-l,u=-u,f=-f),1-m>1e-6?(h=Math.acos(m),v=Math.sin(h),g=Math.sin((1-t)*h)/v,x=Math.sin(t*h)/v):(g=1-t,x=t),i.x=g*a+x*c,i.y=g*r+x*l,i.z=g*s+x*u,i.w=g*o+x*f,i}integrate(e,t,i,a=new O1){let r=e.x*i.x,s=e.y*i.y,o=e.z*i.z,c=this.x,l=this.y,u=this.z,f=this.w,h=t*.5;return a.x+=h*(r*f+s*u-o*l),a.y+=h*(s*f+o*c-r*u),a.z+=h*(o*f+r*l-s*c),a.w+=h*(-r*c-s*l-o*u),a}},$c=new y,Kc=new y,Jc={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256},c1=class{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=c1.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=e.collisionResponse?e.collisionResponse:!0,this.collisionFilterGroup=e.collisionFilterGroup!==void 0?e.collisionFilterGroup:1,this.collisionFilterMask=e.collisionFilterMask!==void 0?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(e,t){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(e,t,i,a){throw"calculateWorldAABB() not implemented for shape type "+this.type}};c1.idCounter=0;c1.types=Jc;var N1=class{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new y,this.quaternion=new O1,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return N1.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return N1.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new y){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,a=new y){return i.vsub(e,a),t.conjugate(Da),Da.vmult(a,a),a}static pointToWorldFrame(e,t,i,a=new y){return t.vmult(i,a),a.vadd(e,a),a}static vectorToWorldFrame(e,t,i=new y){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,a=new y){return t.w*=-1,t.vmult(i,a),t.w*=-1,a}},Da=new O1,Qe=class extends c1{constructor(e={}){let{vertices:t=[],faces:i=[],normals:a=[],axes:r,boundingSphereRadius:s}=e;super({type:c1.types.CONVEXPOLYHEDRON});this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=a,this.faceNormals.length===0&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){let e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;let a=new y;for(let r=0;r!==e.length;r++){let s=e[r],o=s.length;for(let c=0;c!==o;c++){let l=(c+1)%o;t[s[c]].vsub(t[s[l]],a),a.normalize();let u=!1;for(let f=0;f!==i.length;f++)if(i[f].almostEquals(a)||i[f].almostEquals(a)){u=!0;break}u||i.push(a.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;eh&&(h=g,f=v)}let m=[];for(let v=0;v=0&&this.clipFaceAgainstHull(s,e,t,m,o,c,l)}findSeparatingAxis(e,t,i,a,r,s,o,c){let l=new y,u=new y,f=new y,h=new y,m=new y,v=new y,g=Number.MAX_VALUE,x=this;if(x.uniqueAxes)for(let p=0;p!==x.uniqueAxes.length;p++){i.vmult(x.uniqueAxes[p],l);let d=x.testSepAxis(l,e,t,i,a,r);if(d===!1)return!1;d0&&s.negate(s),!0}testSepAxis(e,t,i,a,r,s){let o=this;Qe.project(o,e,i,a,I0),Qe.project(t,e,r,s,k0);let c=I0[0],l=I0[1],u=k0[0],f=k0[1];if(c0?1/t:0,this.material=e.material||null,this.linearDamping=typeof e.linearDamping=="number"?e.linearDamping:.01,this.type=t<=0?i1.STATIC:i1.DYNAMIC,typeof e.type==typeof i1.STATIC&&(this.type=e.type),this.allowSleep=typeof e.allowSleep!="undefined"?e.allowSleep:!0,this.sleepState=i1.AWAKE,this.sleepSpeedLimit=typeof e.sleepSpeedLimit!="undefined"?e.sleepSpeedLimit:.1,this.sleepTimeLimit=typeof e.sleepTimeLimit!="undefined"?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new y,this.quaternion=new O1,this.initQuaternion=new O1,this.previousQuaternion=new O1,this.interpolatedQuaternion=new O1,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new y,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new y,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new y,this.invInertia=new y,this.invInertiaWorld=new S2,this.invMassSolve=0,this.invInertiaSolve=new y,this.invInertiaWorldSolve=new S2,this.fixedRotation=typeof e.fixedRotation!="undefined"?e.fixedRotation:!1,this.angularDamping=typeof e.angularDamping!="undefined"?e.angularDamping:.01,this.linearFactor=new y(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new y(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new E2,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new y,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){let e=this.sleepState;this.sleepState=i1.AWAKE,this.wakeUpAfterNarrowphase=!1,e===i1.SLEEPING&&this.dispatchEvent(i1.wakeupEvent)}sleep(){this.sleepState=i1.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){let t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),a=this.sleepSpeedLimit**2;t===i1.AWAKE&&ia?this.wakeUp():t===i1.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(i1.sleepEvent))}}updateSolveMassProperties(){this.sleepState===i1.SLEEPING||this.type===i1.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new y){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new y){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new y){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new y){return this.quaternion.vmult(e,t),t}addShape(e,t,i){let a=new y,r=new O1;return t&&a.copy(t),i&&r.copy(i),this.shapes.push(e),this.shapeOffsets.push(a),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){let t=this.shapes.indexOf(e);return t===-1?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){let e=this.shapes,t=this.shapeOffsets,i=e.length,a=0;for(let r=0;r!==i;r++){let s=e[r];s.updateBoundingSphereRadius();let o=t[r].length(),c=s.boundingSphereRadius;o+c>a&&(a=o+c)}this.boundingRadius=a}updateAABB(){let e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,a=e.length,r=t7,s=i7,o=this.quaternion,c=this.aabb,l=a7;for(let u=0;u!==a;u++){let f=e[u];o.vmult(t[u],r),r.vadd(this.position,r),o.mult(i[u],s),f.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),u===0?c.copy(l):c.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){let t=this.invInertia;if(!(t.x===t.y&&t.y===t.z&&!e)){let i=r7,a=n7;i.setRotationFromQuaternion(this.quaternion),i.transpose(a),i.scale(t,i),i.mmult(a,this.invInertiaWorld)}}applyForce(e,t=new y){if(this.type!==i1.DYNAMIC)return;this.sleepState===i1.SLEEPING&&this.wakeUp();let i=s7;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new y){if(this.type!==i1.DYNAMIC)return;let i=o7,a=c7;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,a),this.applyForce(i,a)}applyTorque(e){this.type===i1.DYNAMIC&&(this.sleepState===i1.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new y){if(this.type!==i1.DYNAMIC)return;this.sleepState===i1.SLEEPING&&this.wakeUp();let i=t,a=l7;a.copy(e),a.scale(this.invMass,a),this.velocity.vadd(a,this.velocity);let r=u7;i.cross(e,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(e,t=new y){if(this.type!==i1.DYNAMIC)return;let i=h7,a=f7;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,a),this.applyImpulse(i,a)}updateMassProperties(){let e=d7;this.invMass=this.mass>0?1/this.mass:0;let t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),f6.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){let i=new y;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),!(this.type===i1.DYNAMIC||this.type===i1.KINEMATIC)||this.sleepState===i1.SLEEPING)return;let a=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,c=this.torque,l=this.quaternion,u=this.invMass,f=this.invInertiaWorld,h=this.linearFactor,m=u*e;a.x+=o.x*m*h.x,a.y+=o.y*m*h.y,a.z+=o.z*m*h.z;let v=f.elements,g=this.angularFactor,x=c.x*g.x,p=c.y*g.y,d=c.z*g.z;r.x+=e*(v[0]*x+v[1]*p+v[2]*d),r.y+=e*(v[3]*x+v[4]*p+v[5]*d),r.z+=e*(v[6]*x+v[7]*p+v[8]*d),s.x+=a.x*e,s.y+=a.y*e,s.z+=a.z*e,l.integrate(this.angularVelocity,e,this.angularFactor,l),t&&(i?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}};i1.idCounter=0;i1.COLLIDE_EVENT_NAME="collide";i1.DYNAMIC=U0.DYNAMIC;i1.STATIC=U0.STATIC;i1.KINEMATIC=U0.KINEMATIC;i1.AWAKE=O0.AWAKE;i1.SLEEPY=O0.SLEEPY;i1.SLEEPING=O0.SLEEPING;i1.wakeupEvent={type:"wakeup"};i1.sleepyEvent={type:"sleepy"};i1.sleepEvent={type:"sleep"};var t7=new y,i7=new O1,a7=new E2,r7=new S2,n7=new S2,s7=new y,o7=new y,c7=new y,l7=new y,u7=new y,h7=new y,f7=new y,d7=new y,Ta=class{constructor(){this.world=void 0,this.useBoundingBoxes=void 0,this.dirty=void 0,this.world=null,this.useBoundingBoxes=!1,this.dirty=!0}collisionPairs(e,t,i){throw new Error("collisionPairs not implemented for this BroadPhase class!")}needBroadphaseCollision(e,t){return!((e.collisionFilterGroup&t.collisionFilterMask)==0||(t.collisionFilterGroup&e.collisionFilterMask)==0||((e.type&i1.STATIC)!=0||e.sleepState===i1.SLEEPING)&&((t.type&i1.STATIC)!=0||t.sleepState===i1.SLEEPING))}intersectionTest(e,t,i,a){this.useBoundingBoxes?this.doBoundingBoxBroadphase(e,t,i,a):this.doBoundingSphereBroadphase(e,t,i,a)}doBoundingSphereBroadphase(e,t,i,a){let r=p7;t.position.vsub(e.position,r);let s=(e.boundingRadius+t.boundingRadius)**2;r.lengthSquared()i.lengthSquared()}aabbQuery(e,t,i){return console.warn(".aabbQuery is not implemented in this Broadphase subclass."),[]}},p7=new y,m7={keys:[]},v7=[],g7=[];var xf=new y,d6=class extends Ta{constructor(){super()}collisionPairs(e,t,i){let a=e.bodies,r=a.length,s,o;for(let c=0;c!==r;c++)for(let l=0;l!==c;l++)s=a[c],o=a[l],!!this.needBroadphaseCollision(s,o)&&this.intersectionTest(s,o,t,i)}aabbQuery(e,t,i=[]){for(let a=0;a{}}intersectWorld(e,t){return this.mode=t.mode||J1.ANY,this.result=t.result||new p6,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=typeof t.collisionFilterMask!="undefined"?t.collisionFilterMask:-1,this.collisionFilterGroup=typeof t.collisionFilterGroup!="undefined"?t.collisionFilterGroup:-1,this.checkCollisionResponse=typeof t.checkCollisionResponse!="undefined"?t.checkCollisionResponse:!0,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(Ia),q0.length=0,e.broadphase.aabbQuery(e,Ia,q0),this.intersectBodies(q0),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());let i=this.checkCollisionResponse;if(i&&!e.collisionResponse||(this.collisionFilterGroup&e.collisionFilterMask)==0||(e.collisionFilterGroup&this.collisionFilterMask)==0)return;let a=x7,r=M7;for(let s=0,o=e.shapes.length;se.boundingSphereRadius)return;let o=this[e.type];o&&o.call(this,e,t,i,a,e)}_intersectBox(e,t,i,a,r){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,a,r)}_intersectPlane(e,t,i,a,r){let s=this.from,o=this.to,c=this.direction,l=new y(0,0,1);t.vmult(l,l);let u=new y;s.vsub(i,u);let f=u.dot(l);o.vsub(i,u);let h=u.dot(l);if(f*h>0||s.distanceTo(o)=0&&g<=1&&(s.lerp(o,g,m),m.vsub(i,v),v.normalize(),this.reportIntersection(v,m,r,a,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(s.lerp(o,x,m),m.vsub(i,v),v.normalize(),this.reportIntersection(v,m,r,a,-1))}}_intersectConvex(e,t,i,a,r,s){let o=A7,c=Ua,l=s&&s.faceList||null,u=e.faces,f=e.vertices,h=e.faceNormals,m=this.direction,v=this.from,g=this.to,x=v.distanceTo(g),p=l?l.length:u.length,d=this.result;for(let A=0;!d.shouldStop&&Ax||this.reportIntersection(o,L2,r,a,b)}}}}_intersectTrimesh(e,t,i,a,r,s){let o=w7,c=T7,l=H7,u=Ua,f=_7,h=S7,m=E7,v=D7,g=L7,x=e.indices;e.vertices;let p=this.from,d=this.to,A=this.direction;l.position.copy(i),l.quaternion.copy(t),N1.vectorToLocalFrame(i,t,A,f),N1.pointToLocalFrame(i,t,p,h),N1.pointToLocalFrame(i,t,d,m),m.x*=e.scale.x,m.y*=e.scale.y,m.z*=e.scale.z,h.x*=e.scale.x,h.y*=e.scale.y,h.z*=e.scale.z,m.vsub(h,f),f.normalize();let b=h.distanceSquared(m);e.tree.rayQuery(this,l,c);for(let C=0,E=c.length;!this.result.shouldStop&&C!==E;C++){let T=c[C];e.getNormal(T,o),e.getVertex(x[T*3],Y2),Y2.vsub(h,u);let S=f.dot(o),P=o.dot(u)/S;if(P<0)continue;f.scale(P,L2),L2.vadd(h,L2),e.getVertex(x[T*3+1],me),e.getVertex(x[T*3+2],ve);let F=L2.distanceSquared(h);!(J1.pointInTriangle(L2,me,Y2,ve)||J1.pointInTriangle(L2,Y2,me,ve))||F>b||(N1.vectorToWorldFrame(t,o,g),N1.pointToWorldFrame(i,t,L2,v),this.reportIntersection(g,v,r,a,T))}c.length=0}reportIntersection(e,t,i,a,r){let s=this.from,o=this.to,c=s.distanceTo(t),l=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(l.hitFaceIndex=typeof r!="undefined"?r:-1,this.mode){case J1.ALL:this.hasHit=!0,l.set(s,o,e,t,i,a,c),l.hasHit=!0,this.callback(l);break;case J1.CLOSEST:(c=0&&(f=r*l-s*o)>=0&&u+fT.maxForce&&(m=T.maxForce-x),A[E]+=m,v+=m>0?m:-m,T.addToWlambda(m)}if(v*ve;)t.pop();for(;t.length=0&&u.restitution>=0&&(o.restitution=l.restitution*u.restitution),o.si=r||i,o.sj=s||a,o}createFrictionEquationsFromContact(e,t){let i=e.bi,a=e.bj,r=e.si,s=e.sj,o=this.world,c=this.currentContactMaterial,l=c.friction,u=r.material||i.material,f=s.material||a.material;if(u&&f&&u.friction>=0&&f.friction>=0&&(l=u.friction*f.friction),l>0){let h=l*o.gravity.length(),m=i.invMass+a.invMass;m>0&&(m=1/m);let v=this.frictionEquationPool,g=v.length?v.pop():new Z0(i,a,h*m),x=v.length?v.pop():new Z0(i,a,h*m);return g.bi=x.bi=i,g.bj=x.bj=a,g.minForce=x.minForce=-h*m,g.maxForce=x.maxForce=h*m,g.ri.copy(e.ri),g.rj.copy(e.rj),x.ri.copy(e.ri),x.rj.copy(e.rj),e.ni.tangents(g.t,x.t),g.setSpookParams(c.frictionEquationStiffness,c.frictionEquationRelaxation,o.dt),x.setSpookParams(c.frictionEquationStiffness,c.frictionEquationRelaxation,o.dt),g.enabled=x.enabled=e.enabled,t.push(g,x),!0}return!1}createFrictionFromAverage(e){let t=this.result[this.result.length-1];if(!this.createFrictionEquationsFromContact(t,this.frictionResult)||e===1)return;let i=this.frictionResult[this.frictionResult.length-2],a=this.frictionResult[this.frictionResult.length-1];y4.setZero(),U4.setZero(),O4.setZero();let r=t.bi;t.bj;for(let o=0;o!==e;o++)t=this.result[this.result.length-1-o],t.bi!==r?(y4.vadd(t.ni,y4),U4.vadd(t.ri,U4),O4.vadd(t.rj,O4)):(y4.vsub(t.ni,y4),U4.vadd(t.rj,U4),O4.vadd(t.ri,O4));let s=1/e;U4.scale(s,i.ri),O4.scale(s,i.rj),a.ri.copy(i.ri),a.rj.copy(i.rj),y4.normalize(),y4.tangents(i.t,a.t)}getContacts(e,t,i,a,r,s,o){this.contactPointPool=r,this.frictionEquationPool=o,this.result=a,this.frictionResult=s;let c=$7,l=K7,u=Z7,f=Y7;for(let h=0,m=e.length;h!==m;h++){let v=e[h],g=t[h],x=null;v.material&&g.material&&(x=i.getContactMaterial(v.material,g.material)||null);let p=v.type&i1.KINEMATIC&&g.type&i1.STATIC||v.type&i1.STATIC&&g.type&i1.KINEMATIC||v.type&i1.KINEMATIC&&g.type&i1.KINEMATIC;for(let d=0;dA.boundingSphereRadius+C.boundingSphereRadius)continue;let E=null;A.material&&C.material&&(E=i.getContactMaterial(A.material,C.material)||null),this.currentContactMaterial=E||x||i.defaultContactMaterial;let T=A.type|C.type,S=this[T];if(S){let P=!1;A.type0){let W=yl,X=Cl;W.copy(m[(L+1)%3]),X.copy(m[(L+2)%3]);let Q=W.length(),a1=X.length();W.normalize(),X.normalize();let B=b6.dot(W),M1=b6.dot(X);if(B-Q&&M1-a1){let u1=Math.abs(O-Z-v);if((T===null||u1e.boundingSphereRadius+t.boundingSphereRadius)&&e.findSeparatingAxis(t,i,r,a,s,v,h,m)){let g=[],x=Gl;e.clipAgainstHull(i,r,t,a,s,v,-100,100,g);let p=0;for(let d=0;d!==g.length;d++){if(f)return!0;let A=this.createContactEquation(o,c,e,t,l,u),b=A.ri,C=A.rj;v.negate(A.ni),g[d].normal.negate(x),x.scale(g[d].depth,x),g[d].point.vadd(x,b),C.copy(g[d].point),b.vsub(i,b),C.vsub(a,C),b.vadd(i,b),b.vsub(o.position,b),C.vadd(a,C),C.vsub(c.position,C),this.result.push(A),p++,this.enableFrictionReduction||this.createFrictionEquationsFromContact(A,this.frictionResult)}this.enableFrictionReduction&&p&&this.createFrictionFromAverage(p)}}sphereConvex(e,t,i,a,r,s,o,c,l,u,f){let h=this.v3pool;i.vsub(a,El);let m=t.faceNormals,v=t.faces,g=t.vertices,x=e.radius,p=!1;for(let d=0;d!==g.length;d++){let A=g[d],b=Hl;s.vmult(A,b),a.vadd(b,b);let C=Tl;if(b.vsub(i,C),C.lengthSquared()0){let D=[];for(let z=0,H=C.length;z!==H;z++){let V=h.get();s.vmult(g[C[z]],V),a.vadd(V,V),D.push(V)}if(Ml(D,E,i)){if(f)return!0;p=!0;let z=this.createContactEquation(o,c,e,t,l,u);E.scale(-x,z.ri),E.negate(z.ni);let H=h.get();E.scale(-F,H);let V=h.get();E.scale(-x,V),i.vsub(a,z.rj),z.rj.vadd(V,z.rj),z.rj.vadd(H,z.rj),z.rj.vadd(a,z.rj),z.rj.vsub(c.position,z.rj),z.ri.vadd(i,z.ri),z.ri.vsub(o.position,z.ri),h.release(H),h.release(V),this.result.push(z),this.createFrictionEquationsFromContact(z,this.frictionResult);for(let L=0,N=D.length;L!==N;L++)h.release(D[L]);return}else for(let z=0;z!==C.length;z++){let H=h.get(),V=h.get();s.vmult(g[C[(z+1)%C.length]],H),s.vmult(g[C[(z+2)%C.length]],V),a.vadd(H,H),a.vadd(V,V);let L=Ll;V.vsub(H,L);let N=Dl;L.unit(N);let U=h.get(),Z=h.get();i.vsub(H,Z);let O=Z.dot(N);N.scale(O,U),U.vadd(H,U);let W=h.get();if(U.vsub(i,W),O>0&&O*Oh.length||A>h[0].length)return;p<0&&(p=0),d<0&&(d=0),A<0&&(A=0),b<0&&(b=0),p>=h.length&&(p=h.length-1),d>=h.length&&(d=h.length-1),b>=h[0].length&&(b=h[0].length-1),A>=h[0].length&&(A=h[0].length-1);let C=[];t.getRectMinMax(p,A,d,b,C);let E=C[0],T=C[1];if(x.z-m>T||x.z+m2)return}}boxHeightfield(e,t,i,a,r,s,o,c,l,u,f){return e.convexPolyhedronRepresentation.material=e.material,e.convexPolyhedronRepresentation.collisionResponse=e.collisionResponse,this.convexHeightfield(e.convexPolyhedronRepresentation,t,i,a,r,s,o,c,e,t,f)}convexHeightfield(e,t,i,a,r,s,o,c,l,u,f){let h=t.data,m=t.elementSize,v=e.boundingSphereRadius,g=Jl,x=Ql,p=Kl;N1.pointToLocalFrame(a,s,i,p);let d=Math.floor((p.x-v)/m)-1,A=Math.ceil((p.x+v)/m)+1,b=Math.floor((p.y-v)/m)-1,C=Math.ceil((p.y+v)/m)+1;if(A<0||C<0||d>h.length||b>h[0].length)return;d<0&&(d=0),A<0&&(A=0),b<0&&(b=0),C<0&&(C=0),d>=h.length&&(d=h.length-1),A>=h.length&&(A=h.length-1),C>=h[0].length&&(C=h[0].length-1),b>=h[0].length&&(b=h[0].length-1);let E=[];t.getRectMinMax(d,b,A,C,E);let T=E[0],S=E[1];if(!(p.z-v>S||p.z+v0&&V<0&&(x.vsub(h,p),g.copy(v),g.normalize(),L=p.dot(g),g.scale(L,p),p.vadd(h,p),p.distanceTo(x)0&&i===!0||u<=0&&i===!1){i===null&&(i=u>0);continue}else return!1}return!0}var b6=new y,bl=new y,yl=new y,Cl=new y,zl=[new y,new y,new y,new y,new y,new y],Al=new y,wl=new y,_l=new y,Sl=new y,El=new y,Ll=new y,Dl=new y,Tl=new y,Hl=new y,Vl=new y,Nl=new y,Rl=new y,Fl=new y,Bl=new y,Pl=new y,Il=new y,kl=new y,Ul=new y,Ol=new y,Gl=new y,ql=new y,Wl=new y,jl=new y,Xl=new y,Ar=new O1,Zl=new y,Yl=new y,wr=new y,$l=new y,Kl=new y,Jl=new y,Ql=[0],e9=new y,t9=new y,Y0=class{constructor(){this.current=void 0,this.previous=void 0,this.current=[],this.previous=[]}getKey(e,t){if(ta[r];)r++;if(i!==a[r]){for(let s=a.length-1;s>=r;s--)a[s+1]=a[s];a[r]=i}}tick(){let e=this.current;this.current=this.previous,this.previous=e,this.current.length=0}getDiff(e,t){let i=this.current,a=this.previous,r=i.length,s=a.length,o=0;for(let c=0;ca[o];)o++;l=u===a[o],l||_r(e,u)}o=0;for(let c=0;ci[o];)o++;l=i[o]===u,l||_r(t,u)}}};function _r(n,e){n.push((e&4294901760)>>16,e&65535)}var Sr=class{constructor(){this.data={keys:[]}}get(e,t){if(e>t){let i=t;t=e,e=i}return this.data[e+"-"+t]}set(e,t,i){if(e>t){let r=t;t=e,e=r}let a=e+"-"+t;this.get(e,t)||this.data.keys.push(a),this.data[a]=i}reset(){let e=this.data,t=e.keys;for(;t.length>0;){let i=t.pop();delete e[i]}}},$0=class extends P0{constructor(e={}){super();this.dt=void 0,this.allowSleep=void 0,this.contacts=void 0,this.frictionEquations=void 0,this.quatNormalizeSkip=void 0,this.quatNormalizeFast=void 0,this.time=void 0,this.stepnumber=void 0,this.default_dt=void 0,this.nextId=void 0,this.gravity=void 0,this.broadphase=void 0,this.bodies=void 0,this.hasActiveBodies=void 0,this.solver=void 0,this.constraints=void 0,this.narrowphase=void 0,this.collisionMatrix=void 0,this.collisionMatrixPrevious=void 0,this.bodyOverlapKeeper=void 0,this.shapeOverlapKeeper=void 0,this.materials=void 0,this.contactmaterials=void 0,this.contactMaterialTable=void 0,this.defaultMaterial=void 0,this.defaultContactMaterial=void 0,this.doProfiling=void 0,this.profile=void 0,this.accumulator=void 0,this.subsystems=void 0,this.addBodyEvent=void 0,this.removeBodyEvent=void 0,this.idToBodyMap=void 0,this.dt=-1,this.allowSleep=!!e.allowSleep,this.contacts=[],this.frictionEquations=[],this.quatNormalizeSkip=e.quatNormalizeSkip!==void 0?e.quatNormalizeSkip:0,this.quatNormalizeFast=e.quatNormalizeFast!==void 0?e.quatNormalizeFast:!1,this.time=0,this.stepnumber=0,this.default_dt=1/60,this.nextId=0,this.gravity=new y,e.gravity&&this.gravity.copy(e.gravity),this.broadphase=e.broadphase!==void 0?e.broadphase:new d6,this.bodies=[],this.hasActiveBodies=!1,this.solver=e.solver!==void 0?e.solver:new Za,this.constraints=[],this.narrowphase=new Cr(this),this.collisionMatrix=new B0,this.collisionMatrixPrevious=new B0,this.bodyOverlapKeeper=new Y0,this.shapeOverlapKeeper=new Y0,this.materials=[],this.contactmaterials=[],this.contactMaterialTable=new Sr,this.defaultMaterial=new Ve("default"),this.defaultContactMaterial=new He(this.defaultMaterial,this.defaultMaterial,{friction:.3,restitution:0}),this.doProfiling=!1,this.profile={solve:0,makeContactConstraints:0,broadphase:0,integrate:0,narrowphase:0},this.accumulator=0,this.subsystems=[],this.addBodyEvent={type:"addBody",body:null},this.removeBodyEvent={type:"removeBody",body:null},this.idToBodyMap={},this.broadphase.setWorld(this)}getContactMaterial(e,t){return this.contactMaterialTable.get(e.id,t.id)}numObjects(){return this.bodies.length}collisionMatrixTick(){let e=this.collisionMatrixPrevious;this.collisionMatrixPrevious=this.collisionMatrix,this.collisionMatrix=e,this.collisionMatrix.reset(),this.bodyOverlapKeeper.tick(),this.shapeOverlapKeeper.tick()}addConstraint(e){this.constraints.push(e)}removeConstraint(e){let t=this.constraints.indexOf(e);t!==-1&&this.constraints.splice(t,1)}rayTest(e,t,i){i instanceof p6?this.raycastClosest(e,t,{skipBackfaces:!0},i):this.raycastAll(e,t,{skipBackfaces:!0},i)}raycastAll(e,t,i={},a){return i.mode=J1.ALL,i.from=e,i.to=t,i.callback=a,K0.intersectWorld(this,i)}raycastAny(e,t,i={},a){return i.mode=J1.ANY,i.from=e,i.to=t,i.result=a,K0.intersectWorld(this,i)}raycastClosest(e,t,i={},a){return i.mode=J1.CLOSEST,i.from=e,i.to=t,i.result=a,K0.intersectWorld(this,i)}addBody(e){this.bodies.includes(e)||(e.index=this.bodies.length,this.bodies.push(e),e.world=this,e.initPosition.copy(e.position),e.initVelocity.copy(e.velocity),e.timeLastSleepy=this.time,e instanceof i1&&(e.initAngularVelocity.copy(e.angularVelocity),e.initQuaternion.copy(e.quaternion)),this.collisionMatrix.setNumObjects(this.bodies.length),this.addBodyEvent.body=e,this.idToBodyMap[e.id]=e,this.dispatchEvent(this.addBodyEvent))}removeBody(e){e.world=null;let t=this.bodies.length-1,i=this.bodies,a=i.indexOf(e);if(a!==-1){i.splice(a,1);for(let r=0;r!==i.length;r++)i[r].index=r;this.collisionMatrix.setNumObjects(t),this.removeBodyEvent.body=e,delete this.idToBodyMap[e.id],this.dispatchEvent(this.removeBodyEvent)}}getBodyById(e){return this.idToBodyMap[e]}getShapeById(e){let t=this.bodies;for(let i=0;i=e&&re*1e3)););this.accumulator=this.accumulator%e;let s=this.accumulator/e;for(let o=0;o!==this.bodies.length;o++){let c=this.bodies[o];c.previousPosition.lerp(c.position,s,c.interpolatedPosition),c.previousQuaternion.slerp(c.quaternion,s,c.interpolatedQuaternion),c.previousQuaternion.normalize()}this.time+=t}}internalStep(e){this.dt=e;let t=this.contacts,i=s9,a=o9,r=this.numObjects(),s=this.bodies,o=this.solver,c=this.gravity,l=this.doProfiling,u=this.profile,f=i1.DYNAMIC,h=-1/0,m=this.constraints,v=n9;c.length();let g=c.x,x=c.y,p=c.z,d=0;for(l&&(h=s2.now()),d=0;d!==r;d++){let z=s[d];if(z.type===f){let H=z.force,V=z.mass;H.x+=V*g,H.y+=V*x,H.z+=V*p}}for(let z=0,H=this.subsystems.length;z!==H;z++)this.subsystems[z].update();l&&(h=s2.now()),i.length=0,a.length=0,this.broadphase.collisionPairs(this,i,a),l&&(u.broadphase=s2.now()-h);let A=m.length;for(d=0;d!==A;d++){let z=m[d];if(!z.collideConnected)for(let H=i.length-1;H>=0;H-=1)(z.bodyA===i[H]&&z.bodyB===a[H]||z.bodyB===i[H]&&z.bodyA===a[H])&&(i.splice(H,1),a.splice(H,1))}this.collisionMatrixTick(),l&&(h=s2.now());let b=r9,C=t.length;for(d=0;d!==C;d++)b.push(t[d]);t.length=0;let E=this.frictionEquations.length;for(d=0;d!==E;d++)v.push(this.frictionEquations[d]);for(this.frictionEquations.length=0,this.narrowphase.getContacts(i,a,this,t,b,this.frictionEquations,v),l&&(u.narrowphase=s2.now()-h),l&&(h=s2.now()),d=0;d=0&&L.material.friction>=0&&V.material.friction*L.material.friction,V.material.restitution>=0&&L.material.restitution>=0&&(H.restitution=V.material.restitution*L.material.restitution)),o.addEquation(H),V.allowSleep&&V.type===i1.DYNAMIC&&V.sleepState===i1.SLEEPING&&L.sleepState===i1.AWAKE&&L.type!==i1.STATIC){let O=L.velocity.lengthSquared()+L.angularVelocity.lengthSquared(),W=L.sleepSpeedLimit**2;O>=W*2&&(V.wakeUpAfterNarrowphase=!0)}if(L.allowSleep&&L.type===i1.DYNAMIC&&L.sleepState===i1.SLEEPING&&V.sleepState===i1.AWAKE&&V.type!==i1.STATIC){let O=V.velocity.lengthSquared()+V.angularVelocity.lengthSquared(),W=V.sleepSpeedLimit**2;O>=W*2&&(L.wakeUpAfterNarrowphase=!0)}this.collisionMatrix.set(V,L,!0),this.collisionMatrixPrevious.get(V,L)||(At.body=L,At.contact=H,V.dispatchEvent(At),At.body=V,L.dispatchEvent(At)),this.bodyOverlapKeeper.set(V.id,L.id),this.shapeOverlapKeeper.set(N.id,U.id)}for(this.emitContactEvents(),l&&(u.makeContactConstraints=s2.now()-h,h=s2.now()),d=0;d!==r;d++){let z=s[d];z.wakeUpAfterNarrowphase&&(z.wakeUp(),z.wakeUpAfterNarrowphase=!1)}for(A=m.length,d=0;d!==A;d++){let z=m[d];z.update();for(let H=0,V=z.equations.length;H!==V;H++){let L=z.equations[H];o.addEquation(L)}}o.solve(e,this),l&&(u.solve=s2.now()-h),o.removeAllEquations();let S=Math.pow;for(d=0;d!==r;d++){let z=s[d];if(z.type&f){let H=S(1-z.linearDamping,e),V=z.velocity;V.scale(H,V);let L=z.angularVelocity;if(L){let N=S(1-z.angularDamping,e);L.scale(N,L)}}}for(this.dispatchEvent(a9),d=0;d!==r;d++){let z=s[d];z.preStep&&z.preStep.call(z)}l&&(h=s2.now());let F=this.stepnumber%(this.quatNormalizeSkip+1)==0,M=this.quatNormalizeFast;for(d=0;d!==r;d++)s[d].integrate(e,F,M);for(this.clearForces(),this.broadphase.dirty=!0,l&&(u.integrate=s2.now()-h),this.stepnumber+=1,this.dispatchEvent(i9),d=0;d!==r;d++){let z=s[d],H=z.postStep;H&&H.call(z)}let D=!0;if(this.allowSleep)for(D=!1,d=0;d!==r;d++){let z=s[d];z.sleepTick(this.time),z.sleepState!==i1.SLEEPING&&(D=!0)}this.hasActiveBodies=D}emitContactEvents(){let e=this.hasAnyEventListener("beginContact"),t=this.hasAnyEventListener("endContact");if((e||t)&&this.bodyOverlapKeeper.getDiff(Re,Fe),e){for(let r=0,s=Re.length;rDate.now()-n}var i9={type:"postStep"},a9={type:"preStep"},At={type:i1.COLLIDE_EVENT_NAME,body:null,contact:null},r9=[],n9=[],s9=[],o9=[],Re=[],Fe=[],wt={type:"beginContact",bodyA:null,bodyB:null},_t={type:"endContact",bodyA:null,bodyB:null},Be={type:"beginShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null},Pe={type:"endShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null};var q1=class{constructor(e=0,t=0,i=0,a=1){this.x=e,this.y=t,this.z=i,this.w=a}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,a){return this.x=e,this.y=t,this.z=i,this.w=a,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,i=this.y,a=this.z,r=this.w,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*a+s[12]*r,this.y=s[1]*t+s[5]*i+s[9]*a+s[13]*r,this.z=s[2]*t+s[6]*i+s[10]*a+s[14]*r,this.w=s[3]*t+s[7]*i+s[11]*a+s[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,a,r,s=.01,o=.1,c=e.elements,l=c[0],u=c[4],f=c[8],h=c[1],m=c[5],v=c[9],g=c[2],x=c[6],p=c[10];if(Math.abs(u-h)b&&A>C?AC?b>8&255]+d2[n>>16&255]+d2[n>>24&255]+"-"+d2[e&255]+d2[e>>8&255]+"-"+d2[e>>16&15|64]+d2[e>>24&255]+"-"+d2[t&63|128]+d2[t>>8&255]+"-"+d2[t>>16&255]+d2[t>>24&255]+d2[i&255]+d2[i>>8&255]+d2[i>>16&255]+d2[i>>24&255]).toUpperCase()}function D2(n,e,t){return Math.max(e,Math.min(t,n))}function Er(n,e){return(n%e+e)%e}function C6(n,e,t){return(1-t)*n+t*e}function J0(n){return(n&n-1)==0&&n!==0}function Lr(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}var xe=class{constructor(e=0,t=0,i=0,a=1){this._x=e,this._y=t,this._z=i,this._w=a}static slerp(e,t,i,a){return console.warn("THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead."),i.slerpQuaternions(e,t,a)}static slerpFlat(e,t,i,a,r,s,o){let c=i[a+0],l=i[a+1],u=i[a+2],f=i[a+3],h=r[s+0],m=r[s+1],v=r[s+2],g=r[s+3];if(o===0){e[t+0]=c,e[t+1]=l,e[t+2]=u,e[t+3]=f;return}if(o===1){e[t+0]=h,e[t+1]=m,e[t+2]=v,e[t+3]=g;return}if(f!==g||c!==h||l!==m||u!==v){let x=1-o,p=c*h+l*m+u*v+f*g,d=p>=0?1:-1,A=1-p*p;if(A>Number.EPSILON){let C=Math.sqrt(A),E=Math.atan2(C,p*d);x=Math.sin(x*E)/C,o=Math.sin(o*E)/C}let b=o*d;if(c=c*x+h*b,l=l*x+m*b,u=u*x+v*b,f=f*x+g*b,x===1-o){let C=1/Math.sqrt(c*c+l*l+u*u+f*f);c*=C,l*=C,u*=C,f*=C}}e[t]=c,e[t+1]=l,e[t+2]=u,e[t+3]=f}static multiplyQuaternionsFlat(e,t,i,a,r,s){let o=i[a],c=i[a+1],l=i[a+2],u=i[a+3],f=r[s],h=r[s+1],m=r[s+2],v=r[s+3];return e[t]=o*v+u*f+c*m-l*h,e[t+1]=c*v+u*h+l*f-o*m,e[t+2]=l*v+u*m+o*h-c*f,e[t+3]=u*v-o*f-c*h-l*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,a){return this._x=e,this._y=t,this._z=i,this._w=a,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");let i=e._x,a=e._y,r=e._z,s=e._order,o=Math.cos,c=Math.sin,l=o(i/2),u=o(a/2),f=o(r/2),h=c(i/2),m=c(a/2),v=c(r/2);switch(s){case"XYZ":this._x=h*u*f+l*m*v,this._y=l*m*f-h*u*v,this._z=l*u*v+h*m*f,this._w=l*u*f-h*m*v;break;case"YXZ":this._x=h*u*f+l*m*v,this._y=l*m*f-h*u*v,this._z=l*u*v-h*m*f,this._w=l*u*f+h*m*v;break;case"ZXY":this._x=h*u*f-l*m*v,this._y=l*m*f+h*u*v,this._z=l*u*v+h*m*f,this._w=l*u*f-h*m*v;break;case"ZYX":this._x=h*u*f-l*m*v,this._y=l*m*f+h*u*v,this._z=l*u*v-h*m*f,this._w=l*u*f+h*m*v;break;case"YZX":this._x=h*u*f+l*m*v,this._y=l*m*f+h*u*v,this._z=l*u*v-h*m*f,this._w=l*u*f-h*m*v;break;case"XZY":this._x=h*u*f-l*m*v,this._y=l*m*f-h*u*v,this._z=l*u*v+h*m*f,this._w=l*u*f+h*m*v;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let i=t/2,a=Math.sin(i);return this._x=e.x*a,this._y=e.y*a,this._z=e.z*a,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,i=t[0],a=t[4],r=t[8],s=t[1],o=t[5],c=t[9],l=t[2],u=t[6],f=t[10],h=i+o+f;if(h>0){let m=.5/Math.sqrt(h+1);this._w=.25/m,this._x=(u-c)*m,this._y=(r-l)*m,this._z=(s-a)*m}else if(i>o&&i>f){let m=2*Math.sqrt(1+i-o-f);this._w=(u-c)/m,this._x=.25*m,this._y=(a+s)/m,this._z=(r+l)/m}else if(o>f){let m=2*Math.sqrt(1+o-i-f);this._w=(r-l)/m,this._x=(a+s)/m,this._y=.25*m,this._z=(c+u)/m}else{let m=2*Math.sqrt(1+f-i-o);this._w=(s-a)/m,this._x=(r+l)/m,this._y=(c+u)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(D2(this.dot(e),-1,1)))}rotateTowards(e,t){let i=this.angleTo(e);if(i===0)return this;let a=Math.min(1,t/i);return this.slerp(e,a),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e,t){return t!==void 0?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let i=e._x,a=e._y,r=e._z,s=e._w,o=t._x,c=t._y,l=t._z,u=t._w;return this._x=i*u+s*o+a*l-r*c,this._y=a*u+s*c+r*o-i*l,this._z=r*u+s*l+i*c-a*o,this._w=s*u-i*o-a*c-r*l,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let i=this._x,a=this._y,r=this._z,s=this._w,o=s*e._w+i*e._x+a*e._y+r*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=s,this._x=i,this._y=a,this._z=r,this;let c=1-o*o;if(c<=Number.EPSILON){let m=1-t;return this._w=m*s+t*this._w,this._x=m*i+t*this._x,this._y=m*a+t*this._y,this._z=m*r+t*this._z,this.normalize(),this._onChangeCallback(),this}let l=Math.sqrt(c),u=Math.atan2(l,o),f=Math.sin((1-t)*u)/l,h=Math.sin(t*u)/l;return this._w=s*f+this._w*h,this._x=i*f+this._x*h,this._y=a*f+this._y*h,this._z=r*f+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){let e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),a=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(t*Math.cos(a),i*Math.sin(r),i*Math.cos(r),t*Math.sin(a))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};xe.prototype.isQuaternion=!0;var k=class{constructor(e=0,t=0,i=0){this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(Dr.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Dr.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,i=this.y,a=this.z,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6]*a,this.y=r[1]*t+r[4]*i+r[7]*a,this.z=r[2]*t+r[5]*i+r[8]*a,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,i=this.y,a=this.z,r=e.elements,s=1/(r[3]*t+r[7]*i+r[11]*a+r[15]);return this.x=(r[0]*t+r[4]*i+r[8]*a+r[12])*s,this.y=(r[1]*t+r[5]*i+r[9]*a+r[13])*s,this.z=(r[2]*t+r[6]*i+r[10]*a+r[14])*s,this}applyQuaternion(e){let t=this.x,i=this.y,a=this.z,r=e.x,s=e.y,o=e.z,c=e.w,l=c*t+s*a-o*i,u=c*i+o*t-r*a,f=c*a+r*i-s*t,h=-r*t-s*i-o*a;return this.x=l*c+h*-r+u*-o-f*-s,this.y=u*c+h*-s+f*-r-l*-o,this.z=f*c+h*-o+l*-s-u*-r,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,i=this.y,a=this.z,r=e.elements;return this.x=r[0]*t+r[4]*i+r[8]*a,this.y=r[1]*t+r[5]*i+r[9]*a,this.z=r[2]*t+r[6]*i+r[10]*a,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){let i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e,t){return t!==void 0?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}crossVectors(e,t){let i=e.x,a=e.y,r=e.z,s=t.x,o=t.y,c=t.z;return this.x=a*c-r*o,this.y=r*s-i*c,this.z=i*o-a*s,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return Q0.copy(this).projectOnVector(e),this.sub(Q0)}reflect(e){return this.sub(Q0.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let i=this.dot(e)/t;return Math.acos(D2(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,i=this.y-e.y,a=this.z-e.z;return t*t+i*i+a*a}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){let a=Math.sin(t)*e;return this.x=a*Math.sin(i),this.y=Math.cos(t)*e,this.z=a*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),a=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=a,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t,i){return i!==void 0&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}};k.prototype.isVector3=!0;var Q0=new k,Dr=new xe;var z1=class{constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,i=this.y,a=e.elements;return this.x=a[0]*t+a[3]*i+a[6],this.y=a[1]*t+a[4]*i+a[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){let i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t,i){return i!==void 0&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let i=Math.cos(t),a=Math.sin(t),r=this.x-e.x,s=this.y-e.y;return this.x=r*i-s*a+e.x,this.y=r*a+s*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}};z1.prototype.isVector2=!0;var Tr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},$2={h:0,s:0,l:0},z6={h:0,s:0,l:0};function e3(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}function C4(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function t3(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}var x1=class{constructor(e,t,i){return t===void 0&&i===void 0?this.set(e):this.setRGB(e,t,i)}set(e){return e&&e.isColor?this.copy(e):typeof e=="number"?this.setHex(e):typeof e=="string"&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,this}setRGB(e,t,i){return this.r=e,this.g=t,this.b=i,this}setHSL(e,t,i){if(e=Er(e,1),t=D2(t,0,1),i=D2(i,0,1),t===0)this.r=this.g=this.b=i;else{let a=i<=.5?i*(1+t):i+t-i*t,r=2*i-a;this.r=e3(r,a,e+1/3),this.g=e3(r,a,e),this.b=e3(r,a,e-1/3)}return this}setStyle(e){function t(a){a!==void 0&&parseFloat(a)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let a,r=i[1],s=i[2];switch(r){case"rgb":case"rgba":if(a=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(255,parseInt(a[1],10))/255,this.g=Math.min(255,parseInt(a[2],10))/255,this.b=Math.min(255,parseInt(a[3],10))/255,t(a[4]),this;if(a=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(100,parseInt(a[1],10))/100,this.g=Math.min(100,parseInt(a[2],10))/100,this.b=Math.min(100,parseInt(a[3],10))/100,t(a[4]),this;break;case"hsl":case"hsla":if(a=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s)){let o=parseFloat(a[1])/360,c=parseInt(a[2],10)/100,l=parseInt(a[3],10)/100;return t(a[4]),this.setHSL(o,c,l)}break}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){let a=i[1],r=a.length;if(r===3)return this.r=parseInt(a.charAt(0)+a.charAt(0),16)/255,this.g=parseInt(a.charAt(1)+a.charAt(1),16)/255,this.b=parseInt(a.charAt(2)+a.charAt(2),16)/255,this;if(r===6)return this.r=parseInt(a.charAt(0)+a.charAt(1),16)/255,this.g=parseInt(a.charAt(2)+a.charAt(3),16)/255,this.b=parseInt(a.charAt(4)+a.charAt(5),16)/255,this}return e&&e.length>0?this.setColorName(e):this}setColorName(e){let t=Tr[e.toLowerCase()];return t!==void 0?this.setHex(t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=C4(e.r),this.g=C4(e.g),this.b=C4(e.b),this}copyLinearToSRGB(e){return this.r=t3(e.r),this.g=t3(e.g),this.b=t3(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return this.r*255<<16^this.g*255<<8^this.b*255<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(e){let t=this.r,i=this.g,a=this.b,r=Math.max(t,i,a),s=Math.min(t,i,a),o,c,l=(s+r)/2;if(s===r)o=0,c=0;else{let u=r-s;switch(c=l<=.5?u/(r+s):u/(2-r-s),r){case t:o=(i-a)/u+(ir&&(r=u),f>s&&(s=f),h>o&&(o=h)}return this.min.set(t,i,a),this.max.set(r,s,o),this}setFromBufferAttribute(e){let t=1/0,i=1/0,a=1/0,r=-1/0,s=-1/0,o=-1/0;for(let c=0,l=e.count;cr&&(r=u),f>s&&(s=f),h>o&&(o=h)}return this.min.set(t,i,a),this.max.set(r,s,o),this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,w4),w4.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Bt),R6.subVectors(this.max,Bt),W4.subVectors(e.a,Bt),j4.subVectors(e.b,Bt),X4.subVectors(e.c,Bt),n4.subVectors(j4,W4),s4.subVectors(X4,j4),_4.subVectors(W4,X4);let t=[0,-n4.z,n4.y,0,-s4.z,s4.y,0,-_4.z,_4.y,n4.z,0,-n4.x,s4.z,0,-s4.x,_4.z,0,-_4.x,-n4.y,n4.x,0,-s4.y,s4.x,0,-_4.y,_4.x,0];return!R3(t,W4,j4,X4,R6)||(t=[1,0,0,0,1,0,0,0,1],!R3(t,W4,j4,X4,R6))?!1:(F6.crossVectors(n4,s4),t=[F6.x,F6.y,F6.z],R3(t,W4,j4,X4,R6))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return w4.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=this.getSize(w4).length()*.5,e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(qe[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),qe[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),qe[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),qe[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),qe[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),qe[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),qe[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),qe[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(qe),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};Ge.prototype.isBox3=!0;var qe=[new k,new k,new k,new k,new k,new k,new k,new k],w4=new k,N3=new Ge,W4=new k,j4=new k,X4=new k,n4=new k,s4=new k,_4=new k,Bt=new k,R6=new k,F6=new k,S4=new k;function R3(n,e,t,i,a){for(let r=0,s=n.length-3;r<=s;r+=3){S4.fromArray(n,r);let o=a.x*Math.abs(S4.x)+a.y*Math.abs(S4.y)+a.z*Math.abs(S4.z),c=e.dot(S4),l=t.dot(S4),u=i.dot(S4);if(Math.max(-Math.max(c,l,u),Math.min(c,l,u))>o)return!1}return!0}var F2=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;let i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;let a=this._listeners[e];if(a!==void 0){let r=a.indexOf(t);r!==-1&&a.splice(r,1)}}dispatchEvent(e){if(this._listeners===void 0)return;let i=this._listeners[e.type];if(i!==void 0){e.target=this;let a=i.slice(0);for(let r=0,s=a.length;rthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){F3.subVectors(e,this.center);let t=F3.lengthSq();if(t>this.radius*this.radius){let i=Math.sqrt(t),a=(i-this.radius)*.5;this.center.add(F3.multiplyScalar(a/i)),this.radius+=a}return this}union(e){return this.center.equals(e.center)===!0?B6.set(0,0,1).multiplyScalar(e.radius):B6.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(E8.copy(e.center).add(B6)),this.expandByPoint(E8.copy(e.center).sub(B6)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}};var k1=class{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(e,t,i,a,r,s,o,c,l,u,f,h,m,v,g,x){let p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=a,p[1]=r,p[5]=s,p[9]=o,p[13]=c,p[2]=l,p[6]=u,p[10]=f,p[14]=h,p[3]=m,p[7]=v,p[11]=g,p[15]=x,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new k1().fromArray(this.elements)}copy(e){let t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){let t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,i=e.elements,a=1/Z4.setFromMatrixColumn(e,0).length(),r=1/Z4.setFromMatrixColumn(e,1).length(),s=1/Z4.setFromMatrixColumn(e,2).length();return t[0]=i[0]*a,t[1]=i[1]*a,t[2]=i[2]*a,t[3]=0,t[4]=i[4]*r,t[5]=i[5]*r,t[6]=i[6]*r,t[7]=0,t[8]=i[8]*s,t[9]=i[9]*s,t[10]=i[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");let t=this.elements,i=e.x,a=e.y,r=e.z,s=Math.cos(i),o=Math.sin(i),c=Math.cos(a),l=Math.sin(a),u=Math.cos(r),f=Math.sin(r);if(e.order==="XYZ"){let h=s*u,m=s*f,v=o*u,g=o*f;t[0]=c*u,t[4]=-c*f,t[8]=l,t[1]=m+v*l,t[5]=h-g*l,t[9]=-o*c,t[2]=g-h*l,t[6]=v+m*l,t[10]=s*c}else if(e.order==="YXZ"){let h=c*u,m=c*f,v=l*u,g=l*f;t[0]=h+g*o,t[4]=v*o-m,t[8]=s*l,t[1]=s*f,t[5]=s*u,t[9]=-o,t[2]=m*o-v,t[6]=g+h*o,t[10]=s*c}else if(e.order==="ZXY"){let h=c*u,m=c*f,v=l*u,g=l*f;t[0]=h-g*o,t[4]=-s*f,t[8]=v+m*o,t[1]=m+v*o,t[5]=s*u,t[9]=g-h*o,t[2]=-s*l,t[6]=o,t[10]=s*c}else if(e.order==="ZYX"){let h=s*u,m=s*f,v=o*u,g=o*f;t[0]=c*u,t[4]=v*l-m,t[8]=h*l+g,t[1]=c*f,t[5]=g*l+h,t[9]=m*l-v,t[2]=-l,t[6]=o*c,t[10]=s*c}else if(e.order==="YZX"){let h=s*c,m=s*l,v=o*c,g=o*l;t[0]=c*u,t[4]=g-h*f,t[8]=v*f+m,t[1]=f,t[5]=s*u,t[9]=-o*u,t[2]=-l*u,t[6]=m*f+v,t[10]=h-g*f}else if(e.order==="XZY"){let h=s*c,m=s*l,v=o*c,g=o*l;t[0]=c*u,t[4]=-f,t[8]=l*u,t[1]=h*f+g,t[5]=s*u,t[9]=m*f-v,t[2]=v*f-m,t[6]=o*u,t[10]=g*f+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(l9,e,u9)}lookAt(e,t,i){let a=this.elements;return B2.subVectors(e,t),B2.lengthSq()===0&&(B2.z=1),B2.normalize(),o4.crossVectors(i,B2),o4.lengthSq()===0&&(Math.abs(i.z)===1?B2.x+=1e-4:B2.z+=1e-4,B2.normalize(),o4.crossVectors(i,B2)),o4.normalize(),P6.crossVectors(B2,o4),a[0]=o4.x,a[4]=P6.x,a[8]=B2.x,a[1]=o4.y,a[5]=P6.y,a[9]=B2.y,a[2]=o4.z,a[6]=P6.z,a[10]=B2.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let i=e.elements,a=t.elements,r=this.elements,s=i[0],o=i[4],c=i[8],l=i[12],u=i[1],f=i[5],h=i[9],m=i[13],v=i[2],g=i[6],x=i[10],p=i[14],d=i[3],A=i[7],b=i[11],C=i[15],E=a[0],T=a[4],S=a[8],P=a[12],F=a[1],M=a[5],D=a[9],z=a[13],H=a[2],V=a[6],L=a[10],N=a[14],U=a[3],Z=a[7],O=a[11],W=a[15];return r[0]=s*E+o*F+c*H+l*U,r[4]=s*T+o*M+c*V+l*Z,r[8]=s*S+o*D+c*L+l*O,r[12]=s*P+o*z+c*N+l*W,r[1]=u*E+f*F+h*H+m*U,r[5]=u*T+f*M+h*V+m*Z,r[9]=u*S+f*D+h*L+m*O,r[13]=u*P+f*z+h*N+m*W,r[2]=v*E+g*F+x*H+p*U,r[6]=v*T+g*M+x*V+p*Z,r[10]=v*S+g*D+x*L+p*O,r[14]=v*P+g*z+x*N+p*W,r[3]=d*E+A*F+b*H+C*U,r[7]=d*T+A*M+b*V+C*Z,r[11]=d*S+A*D+b*L+C*O,r[15]=d*P+A*z+b*N+C*W,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],i=e[4],a=e[8],r=e[12],s=e[1],o=e[5],c=e[9],l=e[13],u=e[2],f=e[6],h=e[10],m=e[14],v=e[3],g=e[7],x=e[11],p=e[15];return v*(+r*c*f-a*l*f-r*o*h+i*l*h+a*o*m-i*c*m)+g*(+t*c*m-t*l*h+r*s*h-a*s*m+a*l*u-r*c*u)+x*(+t*l*f-t*o*m-r*s*f+i*s*m+r*o*u-i*l*u)+p*(-a*o*u-t*c*f+t*o*h+a*s*f-i*s*h+i*c*u)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){let a=this.elements;return e.isVector3?(a[12]=e.x,a[13]=e.y,a[14]=e.z):(a[12]=e,a[13]=t,a[14]=i),this}invert(){let e=this.elements,t=e[0],i=e[1],a=e[2],r=e[3],s=e[4],o=e[5],c=e[6],l=e[7],u=e[8],f=e[9],h=e[10],m=e[11],v=e[12],g=e[13],x=e[14],p=e[15],d=f*x*l-g*h*l+g*c*m-o*x*m-f*c*p+o*h*p,A=v*h*l-u*x*l-v*c*m+s*x*m+u*c*p-s*h*p,b=u*g*l-v*f*l+v*o*m-s*g*m-u*o*p+s*f*p,C=v*f*c-u*g*c-v*o*h+s*g*h+u*o*x-s*f*x,E=t*d+i*A+a*b+r*C;if(E===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let T=1/E;return e[0]=d*T,e[1]=(g*h*r-f*x*r-g*a*m+i*x*m+f*a*p-i*h*p)*T,e[2]=(o*x*r-g*c*r+g*a*l-i*x*l-o*a*p+i*c*p)*T,e[3]=(f*c*r-o*h*r-f*a*l+i*h*l+o*a*m-i*c*m)*T,e[4]=A*T,e[5]=(u*x*r-v*h*r+v*a*m-t*x*m-u*a*p+t*h*p)*T,e[6]=(v*c*r-s*x*r-v*a*l+t*x*l+s*a*p-t*c*p)*T,e[7]=(s*h*r-u*c*r+u*a*l-t*h*l-s*a*m+t*c*m)*T,e[8]=b*T,e[9]=(v*f*r-u*g*r-v*i*m+t*g*m+u*i*p-t*f*p)*T,e[10]=(s*g*r-v*o*r+v*i*l-t*g*l-s*i*p+t*o*p)*T,e[11]=(u*o*r-s*f*r-u*i*l+t*f*l+s*i*m-t*o*m)*T,e[12]=C*T,e[13]=(u*g*a-v*f*a+v*i*h-t*g*h-u*i*x+t*f*x)*T,e[14]=(v*o*a-s*g*a-v*i*c+t*g*c+s*i*x-t*o*x)*T,e[15]=(s*f*a-u*o*a+u*i*c-t*f*c-s*i*h+t*o*h)*T,this}scale(e){let t=this.elements,i=e.x,a=e.y,r=e.z;return t[0]*=i,t[4]*=a,t[8]*=r,t[1]*=i,t[5]*=a,t[9]*=r,t[2]*=i,t[6]*=a,t[10]*=r,t[3]*=i,t[7]*=a,t[11]*=r,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],a=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,a))}makeTranslation(e,t,i){return this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let i=Math.cos(t),a=Math.sin(t),r=1-i,s=e.x,o=e.y,c=e.z,l=r*s,u=r*o;return this.set(l*s+i,l*o-a*c,l*c+a*o,0,l*o+a*c,u*o+i,u*c-a*s,0,l*c-a*o,u*c+a*s,r*c*c+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,a,r,s){return this.set(1,i,r,0,e,1,s,0,t,a,1,0,0,0,0,1),this}compose(e,t,i){let a=this.elements,r=t._x,s=t._y,o=t._z,c=t._w,l=r+r,u=s+s,f=o+o,h=r*l,m=r*u,v=r*f,g=s*u,x=s*f,p=o*f,d=c*l,A=c*u,b=c*f,C=i.x,E=i.y,T=i.z;return a[0]=(1-(g+p))*C,a[1]=(m+b)*C,a[2]=(v-A)*C,a[3]=0,a[4]=(m-b)*E,a[5]=(1-(h+p))*E,a[6]=(x+d)*E,a[7]=0,a[8]=(v+A)*T,a[9]=(x-d)*T,a[10]=(1-(h+g))*T,a[11]=0,a[12]=e.x,a[13]=e.y,a[14]=e.z,a[15]=1,this}decompose(e,t,i){let a=this.elements,r=Z4.set(a[0],a[1],a[2]).length(),s=Z4.set(a[4],a[5],a[6]).length(),o=Z4.set(a[8],a[9],a[10]).length();this.determinant()<0&&(r=-r),e.x=a[12],e.y=a[13],e.z=a[14],ee.copy(this);let l=1/r,u=1/s,f=1/o;return ee.elements[0]*=l,ee.elements[1]*=l,ee.elements[2]*=l,ee.elements[4]*=u,ee.elements[5]*=u,ee.elements[6]*=u,ee.elements[8]*=f,ee.elements[9]*=f,ee.elements[10]*=f,t.setFromRotationMatrix(ee),i.x=r,i.y=s,i.z=o,this}makePerspective(e,t,i,a,r,s){s===void 0&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");let o=this.elements,c=2*r/(t-e),l=2*r/(i-a),u=(t+e)/(t-e),f=(i+a)/(i-a),h=-(s+r)/(s-r),m=-2*s*r/(s-r);return o[0]=c,o[4]=0,o[8]=u,o[12]=0,o[1]=0,o[5]=l,o[9]=f,o[13]=0,o[2]=0,o[6]=0,o[10]=h,o[14]=m,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(e,t,i,a,r,s){let o=this.elements,c=1/(t-e),l=1/(i-a),u=1/(s-r),f=(t+e)*c,h=(i+a)*l,m=(s+r)*u;return o[0]=2*c,o[4]=0,o[8]=0,o[12]=-f,o[1]=0,o[5]=2*l,o[9]=0,o[13]=-h,o[2]=0,o[6]=0,o[10]=-2*u,o[14]=-m,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(e){let t=this.elements,i=e.elements;for(let a=0;a<16;a++)if(t[a]!==i[a])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){let i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}};k1.prototype.isMatrix4=!0;var Z4=new k,ee=new k1,l9=new k(0,0,0),u9=new k(1,1,1),o4=new k,P6=new k,B2=new k;var L8=new k1,D8=new xe,c4=class{constructor(e=0,t=0,i=0,a=c4.DefaultOrder){this._x=e,this._y=t,this._z=i,this._order=a}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,a=this._order){return this._x=e,this._y=t,this._z=i,this._order=a,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){let a=e.elements,r=a[0],s=a[4],o=a[8],c=a[1],l=a[5],u=a[9],f=a[2],h=a[6],m=a[10];switch(t){case"XYZ":this._y=Math.asin(D2(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-u,m),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(h,l),this._z=0);break;case"YXZ":this._x=Math.asin(-D2(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(o,m),this._z=Math.atan2(c,l)):(this._y=Math.atan2(-f,r),this._z=0);break;case"ZXY":this._x=Math.asin(D2(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-f,m),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(c,r));break;case"ZYX":this._y=Math.asin(-D2(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(h,m),this._z=Math.atan2(c,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(D2(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-u,l),this._y=Math.atan2(-f,r)):(this._x=0,this._y=Math.atan2(o,m));break;case"XZY":this._z=Math.asin(-D2(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(h,l),this._y=Math.atan2(o,r)):(this._x=Math.atan2(-u,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return L8.makeRotationFromQuaternion(e),this.setFromRotationMatrix(L8,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return D8.setFromEuler(this),this.setFromQuaternion(D8,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}toVector3(e){return e?e.set(this._x,this._y,this._z):new k(this._x,this._y,this._z)}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};c4.prototype.isEuler=!0;c4.DefaultOrder="XYZ";c4.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];var Pt=class{constructor(){this.mask=1|0}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(e,t,i,a,r,s,o,c,l){let u=this.elements;return u[0]=e,u[1]=a,u[2]=o,u[3]=t,u[4]=r,u[5]=c,u[6]=i,u[7]=s,u[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let i=e.elements,a=t.elements,r=this.elements,s=i[0],o=i[3],c=i[6],l=i[1],u=i[4],f=i[7],h=i[2],m=i[5],v=i[8],g=a[0],x=a[3],p=a[6],d=a[1],A=a[4],b=a[7],C=a[2],E=a[5],T=a[8];return r[0]=s*g+o*d+c*C,r[3]=s*x+o*A+c*E,r[6]=s*p+o*b+c*T,r[1]=l*g+u*d+f*C,r[4]=l*x+u*A+f*E,r[7]=l*p+u*b+f*T,r[2]=h*g+m*d+v*C,r[5]=h*x+m*A+v*E,r[8]=h*p+m*b+v*T,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],i=e[1],a=e[2],r=e[3],s=e[4],o=e[5],c=e[6],l=e[7],u=e[8];return t*s*u-t*o*l-i*r*u+i*o*c+a*r*l-a*s*c}invert(){let e=this.elements,t=e[0],i=e[1],a=e[2],r=e[3],s=e[4],o=e[5],c=e[6],l=e[7],u=e[8],f=u*s-o*l,h=o*c-u*r,m=l*r-s*c,v=t*f+i*h+a*m;if(v===0)return this.set(0,0,0,0,0,0,0,0,0);let g=1/v;return e[0]=f*g,e[1]=(a*l-u*i)*g,e[2]=(o*i-a*s)*g,e[3]=h*g,e[4]=(u*t-a*c)*g,e[5]=(a*r-o*t)*g,e[6]=m*g,e[7]=(i*c-l*t)*g,e[8]=(s*t-i*r)*g,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,a,r,s,o){let c=Math.cos(r),l=Math.sin(r);return this.set(i*c,i*l,-i*(c*s+l*o)+s+e,-a*l,a*c,-a*(-l*s+c*o)+o+t,0,0,1),this}scale(e,t){let i=this.elements;return i[0]*=e,i[3]*=e,i[6]*=e,i[1]*=t,i[4]*=t,i[7]*=t,this}rotate(e){let t=Math.cos(e),i=Math.sin(e),a=this.elements,r=a[0],s=a[3],o=a[6],c=a[1],l=a[4],u=a[7];return a[0]=t*r+i*c,a[3]=t*s+i*l,a[6]=t*o+i*u,a[1]=-i*r+t*c,a[4]=-i*s+t*l,a[7]=-i*o+t*u,this}translate(e,t){let i=this.elements;return i[0]+=e*i[2],i[3]+=e*i[5],i[6]+=e*i[8],i[1]+=t*i[2],i[4]+=t*i[5],i[7]+=t*i[8],this}equals(e){let t=this.elements,i=e.elements;for(let a=0;a<9;a++)if(t[a]!==i[a])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){let i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}};r2.prototype.isMatrix3=!0;var h9=0,T8=new k,Y4=new xe,je=new k1,I6=new k,It=new k,f9=new k,d9=new xe,H8=new k(1,0,0),V8=new k(0,1,0),N8=new k(0,0,1),p9={type:"added"},R8={type:"removed"},j1=class extends F2{constructor(){super();Object.defineProperty(this,"id",{value:h9++}),this.uuid=Ie(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=j1.DefaultUp.clone();let e=new k,t=new c4,i=new xe,a=new k(1,1,1);function r(){i.setFromEuler(t,!1)}function s(){t.setFromQuaternion(i,void 0,!1)}t._onChange(r),i._onChange(s),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:a},modelViewMatrix:{value:new k1},normalMatrix:{value:new r2}}),this.matrix=new k1,this.matrixWorld=new k1,this.matrixAutoUpdate=j1.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new Pt,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return Y4.setFromAxisAngle(e,t),this.quaternion.multiply(Y4),this}rotateOnWorldAxis(e,t){return Y4.setFromAxisAngle(e,t),this.quaternion.premultiply(Y4),this}rotateX(e){return this.rotateOnAxis(H8,e)}rotateY(e){return this.rotateOnAxis(V8,e)}rotateZ(e){return this.rotateOnAxis(N8,e)}translateOnAxis(e,t){return T8.copy(e).applyQuaternion(this.quaternion),this.position.add(T8.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(H8,e)}translateY(e){return this.translateOnAxis(V8,e)}translateZ(e){return this.translateOnAxis(N8,e)}localToWorld(e){return e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return e.applyMatrix4(je.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?I6.copy(e):I6.set(e,t,i);let a=this.parent;this.updateWorldMatrix(!0,!1),It.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?je.lookAt(It,I6,this.up):je.lookAt(I6,It,this.up),this.quaternion.setFromRotationMatrix(je),a&&(je.extractRotation(a.matrixWorld),Y4.setFromRotationMatrix(je),this.quaternion.premultiply(Y4.invert()))}add(e){if(arguments.length>1){for(let t=0;t1){for(let i=0;i0){a.children=[];for(let o=0;o0){a.animations=[];for(let o=0;o0&&(i.geometries=o),c.length>0&&(i.materials=c),l.length>0&&(i.textures=l),u.length>0&&(i.images=u),f.length>0&&(i.shapes=f),h.length>0&&(i.skeletons=h),m.length>0&&(i.animations=m)}return i.object=a,i;function s(o){let c=[];for(let l in o){let u=o[l];delete u.metadata,c.push(u)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i=0;--e)if(n[e]>65535)return!0;return!1}function E4(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}var m9=0,G2=new k1,B3=new j1,$4=new k,P2=new Ge,kt=new Ge,c2=new k,b2=class extends F2{constructor(){super();Object.defineProperty(this,"id",{value:m9++}),this.uuid=Ie(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(k6(e)?Ft:Rt)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);let i=this.attributes.normal;if(i!==void 0){let r=new r2().getNormalMatrix(e);i.applyNormalMatrix(r),i.needsUpdate=!0}let a=this.attributes.tangent;return a!==void 0&&(a.transformDirection(e),a.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return G2.makeRotationFromQuaternion(e),this.applyMatrix4(G2),this}rotateX(e){return G2.makeRotationX(e),this.applyMatrix4(G2),this}rotateY(e){return G2.makeRotationY(e),this.applyMatrix4(G2),this}rotateZ(e){return G2.makeRotationZ(e),this.applyMatrix4(G2),this}translate(e,t,i){return G2.makeTranslation(e,t,i),this.applyMatrix4(G2),this}scale(e,t,i){return G2.makeScale(e,t,i),this.applyMatrix4(G2),this}lookAt(e){return B3.lookAt(e),B3.updateMatrix(),this.applyMatrix4(B3.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter($4).negate(),this.translate($4.x,$4.y,$4.z),this}setFromPoints(e){let t=[];for(let i=0,a=e.length;i0&&(e.userData=this.userData),this.parameters!==void 0){let c=this.parameters;for(let l in c)c[l]!==void 0&&(e[l]=c[l]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let i=this.attributes;for(let c in i){let l=i[c];e.data.attributes[c]=l.toJSON(e.data)}let a={},r=!1;for(let c in this.morphAttributes){let l=this.morphAttributes[c],u=[];for(let f=0,h=l.length;f0&&(a[c]=u,r=!0)}r&&(e.data.morphAttributes=a,e.data.morphTargetsRelative=this.morphTargetsRelative);let s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));let o=this.boundingSphere;return o!==null&&(e.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let i=e.index;i!==null&&this.setIndex(i.clone(t));let a=e.attributes;for(let l in a){let u=a[l];this.setAttribute(l,u.clone(t))}let r=e.morphAttributes;for(let l in r){let u=[],f=r[l];for(let h=0,m=f.length;h0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let i=e[t];if(i===void 0){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if(t==="shading"){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=i===Rr;continue}let a=this[t];if(a===void 0){console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.");continue}a&&a.isColor?a.set(i):a&&a.isVector3&&i&&i.isVector3?a.copy(i):this[t]=i}}toJSON(e){let t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});let i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==A4&&(i.blending=this.blending),this.side!==ke&&(i.side=this.side),this.vertexColors&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,i.colorWrite=this.colorWrite,i.alphaWrite=this.alphaWrite,i.stencilWrite=this.stencilWrite,i.stencilWriteMask=this.stencilWriteMask,i.stencilFunc=this.stencilFunc,i.stencilRef=this.stencilRef,i.stencilFuncMask=this.stencilFuncMask,i.stencilFail=this.stencilFail,i.stencilZFail=this.stencilZFail,i.stencilZPass=this.stencilZPass,this.rotation&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(i.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=this.flatShading),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),JSON.stringify(this.userData)!=="{}"&&(i.userData=this.userData);function a(r){let s=[];for(let o in r){let c=r[o];delete c.metadata,s.push(c)}return s}if(t){let r=a(e.textures),s=a(e.images);r.length>0&&(i.textures=r),s.length>0&&(i.images=s)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,i=null;if(t!==null){let a=t.length;i=new Array(a);for(let r=0;r!==a;++r)i[r]=t[r].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.alphaWrite=e.alphaWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};T2.prototype.isMaterial=!0;var Ut=class extends T2{constructor(e){super();this.type="MeshPhongMaterial",this.color=new x1(16777215),this.specular=new x1(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new x1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=H6,this.normalScale=new z1(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G4,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this}};Ut.prototype.isMeshPhongMaterial=!0;var Xe=new k,P3=new k,U6=new k,l4=new k,I3=new k,O6=new k,k3=new k,U3=class{constructor(e=new k,t=new k(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Xe)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(i).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=Xe.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Xe.copy(this.direction).multiplyScalar(t).add(this.origin),Xe.distanceToSquared(e))}distanceSqToSegment(e,t,i,a){P3.copy(e).add(t).multiplyScalar(.5),U6.copy(t).sub(e).normalize(),l4.copy(this.origin).sub(P3);let r=e.distanceTo(t)*.5,s=-this.direction.dot(U6),o=l4.dot(this.direction),c=-l4.dot(U6),l=l4.lengthSq(),u=Math.abs(1-s*s),f,h,m,v;if(u>0)if(f=s*c-o,h=s*o-c,v=r*u,f>=0)if(h>=-v)if(h<=v){let g=1/u;f*=g,h*=g,m=f*(f+s*h+2*o)+h*(s*f+h+2*c)+l}else h=r,f=Math.max(0,-(s*h+o)),m=-f*f+h*(h+2*c)+l;else h=-r,f=Math.max(0,-(s*h+o)),m=-f*f+h*(h+2*c)+l;else h<=-v?(f=Math.max(0,-(-s*r+o)),h=f>0?-r:Math.min(Math.max(-r,-c),r),m=-f*f+h*(h+2*c)+l):h<=v?(f=0,h=Math.min(Math.max(-r,-c),r),m=h*(h+2*c)+l):(f=Math.max(0,-(s*r+o)),h=f>0?r:Math.min(Math.max(-r,-c),r),m=-f*f+h*(h+2*c)+l);else h=s>0?-r:r,f=Math.max(0,-(s*h+o)),m=-f*f+h*(h+2*c)+l;return i&&i.copy(this.direction).multiplyScalar(f).add(this.origin),a&&a.copy(U6).multiplyScalar(h).add(P3),m}intersectSphere(e,t){Xe.subVectors(e.center,this.origin);let i=Xe.dot(this.direction),a=Xe.dot(Xe)-i*i,r=e.radius*e.radius;if(a>r)return null;let s=Math.sqrt(r-a),o=i-s,c=i+s;return o<0&&c<0?null:o<0?this.at(c,t):this.at(o,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){let i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,a,r,s,o,c,l=1/this.direction.x,u=1/this.direction.y,f=1/this.direction.z,h=this.origin;return l>=0?(i=(e.min.x-h.x)*l,a=(e.max.x-h.x)*l):(i=(e.max.x-h.x)*l,a=(e.min.x-h.x)*l),u>=0?(r=(e.min.y-h.y)*u,s=(e.max.y-h.y)*u):(r=(e.max.y-h.y)*u,s=(e.min.y-h.y)*u),i>s||r>a||((r>i||i!==i)&&(i=r),(s=0?(o=(e.min.z-h.z)*f,c=(e.max.z-h.z)*f):(o=(e.max.z-h.z)*f,c=(e.min.z-h.z)*f),i>c||o>a)||((o>i||i!==i)&&(i=o),(c=0?i:a,t)}intersectsBox(e){return this.intersectBox(e,Xe)!==null}intersectTriangle(e,t,i,a,r){I3.subVectors(t,e),O6.subVectors(i,e),k3.crossVectors(I3,O6);let s=this.direction.dot(k3),o;if(s>0){if(a)return null;o=1}else if(s<0)o=-1,s=-s;else return null;l4.subVectors(this.origin,e);let c=o*this.direction.dot(O6.crossVectors(l4,O6));if(c<0)return null;let l=o*this.direction.dot(I3.cross(l4));if(l<0||c+l>s)return null;let u=-o*l4.dot(k3);return u<0?null:this.at(u/s,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}};var te=new k,Ze=new k,O3=new k,Ye=new k,K4=new k,J4=new k,F8=new k,G3=new k,q3=new k,W3=new k,ie=class{constructor(e=new k,t=new k,i=new k){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,a){a.subVectors(i,t),te.subVectors(e,t),a.cross(te);let r=a.lengthSq();return r>0?a.multiplyScalar(1/Math.sqrt(r)):a.set(0,0,0)}static getBarycoord(e,t,i,a,r){te.subVectors(a,t),Ze.subVectors(i,t),O3.subVectors(e,t);let s=te.dot(te),o=te.dot(Ze),c=te.dot(O3),l=Ze.dot(Ze),u=Ze.dot(O3),f=s*l-o*o;if(f===0)return r.set(-2,-1,-1);let h=1/f,m=(l*c-o*u)*h,v=(s*u-o*c)*h;return r.set(1-m-v,v,m)}static containsPoint(e,t,i,a){return this.getBarycoord(e,t,i,a,Ye),Ye.x>=0&&Ye.y>=0&&Ye.x+Ye.y<=1}static getUV(e,t,i,a,r,s,o,c){return this.getBarycoord(e,t,i,a,Ye),c.set(0,0),c.addScaledVector(r,Ye.x),c.addScaledVector(s,Ye.y),c.addScaledVector(o,Ye.z),c}static isFrontFacing(e,t,i,a){return te.subVectors(i,t),Ze.subVectors(e,t),te.cross(Ze).dot(a)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,a){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[a]),this}setFromAttributeAndIndices(e,t,i,a){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,a),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return te.subVectors(this.c,this.b),Ze.subVectors(this.a,this.b),te.cross(Ze).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ie.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ie.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,i,a,r){return ie.getUV(e,this.a,this.b,this.c,t,i,a,r)}containsPoint(e){return ie.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ie.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let i=this.a,a=this.b,r=this.c,s,o;K4.subVectors(a,i),J4.subVectors(r,i),G3.subVectors(e,i);let c=K4.dot(G3),l=J4.dot(G3);if(c<=0&&l<=0)return t.copy(i);q3.subVectors(e,a);let u=K4.dot(q3),f=J4.dot(q3);if(u>=0&&f<=u)return t.copy(a);let h=c*f-u*l;if(h<=0&&c>=0&&u<=0)return s=c/(c-u),t.copy(i).addScaledVector(K4,s);W3.subVectors(e,r);let m=K4.dot(W3),v=J4.dot(W3);if(v>=0&&m<=v)return t.copy(r);let g=m*l-c*v;if(g<=0&&l>=0&&v<=0)return o=l/(l-v),t.copy(i).addScaledVector(J4,o);let x=u*v-m*f;if(x<=0&&f-u>=0&&m-v>=0)return F8.subVectors(r,a),o=(f-u)/(f-u+(m-v)),t.copy(a).addScaledVector(F8,o);let p=1/(x+g+h);return s=g*p,o=h*p,t.copy(i).addScaledVector(K4,s).addScaledVector(J4,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}};var Q4=class extends T2{constructor(e){super();this.type="MeshBasicMaterial",this.color=new x1(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G4,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this}};Q4.prototype.isMeshBasicMaterial=!0;var B8=new k1,et=new U3,j3=new We,u4=new k,h4=new k,f4=new k,X3=new k,Z3=new k,Y3=new k,G6=new k,q6=new k,W6=new k,j6=new z1,X6=new z1,Z6=new z1,$3=new k,Y6=new k,l2=class extends j1{constructor(e=new b2,t=new Q4){super();this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this}updateMorphTargets(){let e=this.geometry;if(e.isBufferGeometry){let t=e.morphAttributes,i=Object.keys(t);if(i.length>0){let a=t[i[0]];if(a!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,s=a.length;r0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(e,t){let i=this.geometry,a=this.material,r=this.matrixWorld;if(a===void 0||(i.boundingSphere===null&&i.computeBoundingSphere(),j3.copy(i.boundingSphere),j3.applyMatrix4(r),e.ray.intersectsSphere(j3)===!1)||(B8.copy(r).invert(),et.copy(e.ray).applyMatrix4(B8),i.boundingBox!==null&&et.intersectsBox(i.boundingBox)===!1))return;let s;if(i.isBufferGeometry){let o=i.index,c=i.attributes.position,l=i.morphAttributes.position,u=i.morphTargetsRelative,f=i.attributes.uv,h=i.attributes.uv2,m=i.groups,v=i.drawRange;if(o!==null)if(Array.isArray(a))for(let g=0,x=m.length;gt.far?null:{distance:l,point:Y6.clone(),object:n}}function $6(n,e,t,i,a,r,s,o,c,l,u,f){u4.fromBufferAttribute(a,l),h4.fromBufferAttribute(a,u),f4.fromBufferAttribute(a,f);let h=n.morphTargetInfluences;if(r&&h){G6.set(0,0,0),q6.set(0,0,0),W6.set(0,0,0);for(let v=0,g=r.length;v2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){let t=E4("canvas");t.width=e.width,t.height=e.height;let i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);let a=i.getImageData(0,0,e.width,e.height),r=a.data;for(let s=0;s1)switch(this.wrapS){case Ht:e.x=e.x-Math.floor(e.x);break;case o2:e.x=e.x<0?0:1;break;case Vt:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Ht:e.y=e.y-Math.floor(e.y);break;case o2:e.y=e.y<0?0:1;break;case Vt:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&this.version++}};$1.DEFAULT_IMAGE=void 0;$1.DEFAULT_MAPPING=c3;$1.prototype.isTexture=!0;function K3(n){return typeof HTMLImageElement!="undefined"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&n instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?Ot.getDataURL(n):n.data?{data:Array.prototype.slice.call(n.data),width:n.width,height:n.height,type:n.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var P8={specular:1515554,color:15790320,shininess:60,flatShading:!0},q2={diceColor:"#202020",textColor:"#ffffff"},ae=class{constructor(e,t,i={diceColor:"#202020",textColor:"#aaaaaa"}){this.w=e;this.h=t;this.options=i;this.scale=50;this.labels=[" ","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"];this.fontFace="Arial";this.options={...q2,...i}}setColor({diceColor:e,textColor:t}){e&&(this.options.diceColor=e),t&&(this.options.textColor=t)}get radius(){return this.scale*this.scaleFactor}get diceColor(){return this.options.diceColor}get textColor(){return this.options.textColor}get buffer(){return this.geometry.geometry}create(){this.textureSize=this.calculateTextureSize(this.scale/2+this.scale*this.margin)*2;let e=this.getGeometry(),t=this.getMaterials();return this.geometry=new l2(e,t),this.geometry.receiveShadow=!0,this.geometry.castShadow=!0,this.body.position.set(0+this.radius*2*Math.random(),0+this.radius*2*Math.random(),0+this.radius*4),this.body.velocity.x=500*Math.random()*2-1,this.body.velocity.y=500*Math.random()*2-1,this.body.angularVelocity.x=100*Math.random(),this.body.angularVelocity.y=100*Math.random(),this}getGeometry(){let e=new Array(this.vertices.length);for(let i=0;i=0&&u=0&&l!==c+1?o.unshift([r,l],[s,u]):o.push([r,l],[s,u]),c=l)}o.length===4&&i.push([i[o[0][0]][o[0][1]],i[o[1][0]][o[1][1]],i[o[3][0]][o[3][1]],i[o[2][0]][o[2][1]],-1])}for(let r=0;r=0&&u<4){--u==-1&&(u=3);let f=i[l][u];if(s.indexOf(f)>=0){o.push(f);break}}}--c}o.push(-1),i.push(o)}return{vectors:t,faces:i}}makeGeometry(e,t){let i=new b2;for(let f=0;f1&&(o=o/l.length,s.font=`${o}pt '${this.fontFace}'`,c=s.measureText("M").width*1.2,a-=c*l.length/2);for(let f=0,h=l.length;f0?-1:1)*.9,y:this.h*(r.y>0?-1:1)*.9,z:Math.random()*200+200},o=Math.abs(r.x/r.y);o>1?s.y/=o:s.x*=o;let l=this.makeRandomVector(a),c={x:l.x*i,y:l.y*i,z:-10},u={x:-(Math.random()*r.y*5+this.inertia*r.y),y:Math.random()*r.x*5+this.inertia*r.x,z:0},f={x:Math.random(),y:Math.random(),z:Math.random(),w:Math.random()};return{pos:s,velocity:c,angular:u,axis:f}}makeRandomVector(e){let t=Math.random()*Math.PI/5-Math.PI/5/2,i={x:e.x*Math.cos(t)-e.y*Math.sin(t),y:e.x*Math.sin(t)+e.y*Math.cos(t)};return i.x==0&&(i.x=.01),i.y==0&&(i.y=.01),i}get buffer(){return this.geometry.geometry}get result(){return this.getUpsideValue()}getUpsideValue(){let e=new k(0,0,this.sides==4?-1:1),t,i=Math.PI*2,a=this.buffer.getAttribute("normal").array;for(let s=0,o=this.buffer.groups.length;sthis.sides;)s-=this.sides;for(;s<1;)s+=this.sides;t.groups[a].materialIndex=s+1}}this.updateMaterialsForValue(e-i),this.geometry.geometry=t}resetBody(){this.body.vlambda=new y,this.body.position=new y,this.body.previousPosition=new y,this.body.initPosition=new y,this.body.velocity=new y,this.body.initVelocity=new y,this.body.force=new y,this.body.torque=new y,this.body.quaternion=new O1,this.body.initQuaternion=new O1,this.body.angularVelocity=new y,this.body.initAngularVelocity=new y,this.body.interpolatedPosition=new y,this.body.interpolatedQuaternion=new O1,this.body.inertia=new y,this.body.invInertia=new y,this.body.invInertiaWorld=new _2,this.body.invInertiaSolve=new y,this.body.invInertiaWorldSolve=new _2,this.body.wlambda=new y,this.body.updateMassProperties()}updateMaterialsForValue(e){}set(){this.geometry.position.set(this.body.position.x,this.body.position.y,this.body.position.z),this.geometry.quaternion.set(this.body.quaternion.x,this.body.quaternion.y,this.body.quaternion.z,this.body.quaternion.w)}create(){this.body.position.set(this.vector.pos.x,this.vector.pos.y,this.vector.pos.z),this.body.quaternion.setFromAxisAngle(new y(this.vector.axis.x,this.vector.axis.y,this.vector.axis.z),this.vector.axis.w*Math.PI*2),this.body.angularVelocity.set(this.vector.angular.x,this.vector.angular.y,this.vector.angular.z),this.body.velocity.set(this.vector.velocity.x,this.vector.velocity.y,this.vector.velocity.z),this.body.linearDamping=.1,this.body.angularDamping=.1}},mi=class extends E4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=20;this.inertia=6;a&&(this.vector=this.generateVector(a)),this.create()}},vi=class extends E4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=12;this.inertia=8;a&&(this.vector=this.generateVector(a)),this.create()}},L4=class extends E4{constructor(e,t,i,a,r=!1){super(e,t,i);this.w=e;this.h=t;this.data=i;this.isPercentile=r;this.sides=10;this.inertia=9;a&&(this.vector=this.generateVector(a)),this.create()}},gi=class extends E4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=8;this.inertia=10;a&&(this.vector=this.generateVector(a)),this.create()}},xi=class extends E4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=6;this.inertia=13;a&&(this.vector=this.generateVector(a)),this.create()}},Mi=class extends E4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=4;this.inertia=5;a&&(this.vector=this.generateVector(a)),this.create()}};var bi=new k,b9=new k,y9=new r2,re=class{constructor(e=new k(1,0,0),t=0){this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,a){return this.normal.set(e,t,i),this.constant=a,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){let a=bi.subVectors(i,t).cross(b9.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(a,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){let i=e.delta(bi),a=this.normal.dot(i);if(a===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;let r=-(e.start.dot(this.normal)+this.constant)/a;return r<0||r>1?null:t.copy(i).multiplyScalar(r).add(e.start)}intersectsLine(e){let t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let i=t||y9.getNormalMatrix(e),a=this.coplanarPoint(bi).applyMatrix4(e),r=this.normal.applyMatrix3(i).normalize();return this.constant=-a.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};re.prototype.isPlane=!0;var tt=new We,J6=new k,D4=class{constructor(e=new re,t=new re,i=new re,a=new re,r=new re,s=new re){this.planes=[e,t,i,a,r,s]}set(e,t,i,a,r,s){let o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(i),o[3].copy(a),o[4].copy(r),o[5].copy(s),this}copy(e){let t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e){let t=this.planes,i=e.elements,a=i[0],r=i[1],s=i[2],o=i[3],l=i[4],c=i[5],u=i[6],f=i[7],h=i[8],m=i[9],v=i[10],g=i[11],x=i[12],p=i[13],d=i[14],z=i[15];return t[0].setComponents(o-a,f-l,g-h,z-x).normalize(),t[1].setComponents(o+a,f+l,g+h,z+x).normalize(),t[2].setComponents(o+r,f+c,g+m,z+p).normalize(),t[3].setComponents(o-r,f-c,g-m,z-p).normalize(),t[4].setComponents(o-s,f-u,g-v,z-d).normalize(),t[5].setComponents(o+s,f+u,g+v,z+d).normalize(),this}intersectsObject(e){let t=e.geometry;return t.boundingSphere===null&&t.computeBoundingSphere(),tt.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(tt)}intersectsSprite(e){return tt.center.set(0,0,0),tt.radius=.7071067811865476,tt.applyMatrix4(e.matrixWorld),this.intersectsSphere(tt)}intersectsSphere(e){let t=this.planes,i=e.center,a=-e.radius;for(let r=0;r<6;r++)if(t[r].distanceToPoint(i)0?e.max.x:e.min.x,J6.y=a.normal.y>0?e.max.y:e.min.y,J6.z=a.normal.z>0?e.max.z:e.min.z,a.distanceToPoint(J6)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}};function Q6(){let n=null,e=!1,t=null,i=null;function a(r,s){t(r,s),i=n.requestAnimationFrame(a)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(a),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(r){t=r},setContext:function(r){n=r}}}function I8(n,e){let t=e.isWebGL2,i=new WeakMap;function a(c,u){let f=c.array,h=c.usage,m=n.createBuffer();n.bindBuffer(u,m),n.bufferData(u,f,h),c.onUploadCallback();let v=n.FLOAT;return f instanceof Float32Array?v=n.FLOAT:f instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):f instanceof Uint16Array?c.isFloat16BufferAttribute?t?v=n.HALF_FLOAT:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):v=n.UNSIGNED_SHORT:f instanceof Int16Array?v=n.SHORT:f instanceof Uint32Array?v=n.UNSIGNED_INT:f instanceof Int32Array?v=n.INT:f instanceof Int8Array?v=n.BYTE:(f instanceof Uint8Array||f instanceof Uint8ClampedArray)&&(v=n.UNSIGNED_BYTE),{buffer:m,type:v,bytesPerElement:f.BYTES_PER_ELEMENT,version:c.version}}function r(c,u,f){let h=u.array,m=u.updateRange;n.bindBuffer(f,c),m.count===-1?n.bufferSubData(f,0,h):(t?n.bufferSubData(f,m.offset*h.BYTES_PER_ELEMENT,h,m.offset,m.count):n.bufferSubData(f,m.offset*h.BYTES_PER_ELEMENT,h.subarray(m.offset,m.offset+m.count)),m.count=-1)}function s(c){return c.isInterleavedBufferAttribute&&(c=c.data),i.get(c)}function o(c){c.isInterleavedBufferAttribute&&(c=c.data);let u=i.get(c);u&&(n.deleteBuffer(u.buffer),i.delete(c))}function l(c,u){if(c.isGLBufferAttribute){let h=i.get(c);(!h||h.version0?1:-1,u.push(Z.x,Z.y,Z.z),f.push(X/T),f.push(1-O/_),N+=1}}for(let O=0;O<_;O++)for(let W=0;W0?-1:1)*.9,y:this.h*(r.y>0?-1:1)*.9,z:Math.random()*200+200},o=Math.abs(r.x/r.y);o>1?s.y/=o:s.x*=o;let c=this.makeRandomVector(a),l={x:c.x*i,y:c.y*i,z:-10},u={x:-(Math.random()*r.y*5+this.inertia*r.y),y:Math.random()*r.x*5+this.inertia*r.x,z:0},f={x:Math.random(),y:Math.random(),z:Math.random(),w:Math.random()};return{pos:s,velocity:l,angular:u,axis:f}}makeRandomVector(e){let t=Math.random()*Math.PI/5-Math.PI/5/2,i={x:e.x*Math.cos(t)-e.y*Math.sin(t),y:e.x*Math.sin(t)+e.y*Math.cos(t)};return i.x==0&&(i.x=.01),i.y==0&&(i.y=.01),i}get buffer(){return this.geometry.geometry}get result(){return this.getUpsideValue()}getUpsideValue(){let e=new k(0,0,this.sides==4?-1:1),t,i=Math.PI*2,a=this.buffer.getAttribute("normal").array;for(let s=0,o=this.buffer.groups.length;sthis.sides;)s-=this.sides;for(;s<1;)s+=this.sides;t.groups[a].materialIndex=s+1}}this.updateMaterialsForValue(e-i),this.geometry.geometry=t}resetBody(){this.body.vlambda=new y,this.body.position=new y,this.body.previousPosition=new y,this.body.initPosition=new y,this.body.velocity=new y,this.body.initVelocity=new y,this.body.force=new y,this.body.torque=new y,this.body.quaternion=new O1,this.body.initQuaternion=new O1,this.body.angularVelocity=new y,this.body.initAngularVelocity=new y,this.body.interpolatedPosition=new y,this.body.interpolatedQuaternion=new O1,this.body.inertia=new y,this.body.invInertia=new y,this.body.invInertiaWorld=new S2,this.body.invInertiaSolve=new y,this.body.invInertiaWorldSolve=new S2,this.body.wlambda=new y,this.body.updateMassProperties()}updateMaterialsForValue(e){}set(){this.geometry.position.set(this.body.position.x,this.body.position.y,this.body.position.z),this.geometry.quaternion.set(this.body.quaternion.x,this.body.quaternion.y,this.body.quaternion.z,this.body.quaternion.w)}create(){this.body.position.set(this.vector.pos.x,this.vector.pos.y,this.vector.pos.z),this.body.quaternion.setFromAxisAngle(new y(this.vector.axis.x,this.vector.axis.y,this.vector.axis.z),this.vector.axis.w*Math.PI*2),this.body.angularVelocity.set(this.vector.angular.x,this.vector.angular.y,this.vector.angular.z),this.body.velocity.set(this.vector.velocity.x,this.vector.velocity.y,this.vector.velocity.z),this.body.linearDamping=.1,this.body.angularDamping=.1}},mi=class extends L4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=20;this.inertia=6;a&&(this.vector=this.generateVector(a)),this.create()}},vi=class extends L4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=12;this.inertia=8;a&&(this.vector=this.generateVector(a)),this.create()}},D4=class extends L4{constructor(e,t,i,a,r=!1){super(e,t,i);this.w=e;this.h=t;this.data=i;this.isPercentile=r;this.sides=10;this.inertia=9;a&&(this.vector=this.generateVector(a)),this.create()}},gi=class extends L4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=8;this.inertia=10;a&&(this.vector=this.generateVector(a)),this.create()}},xi=class extends L4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=6;this.inertia=13;a&&(this.vector=this.generateVector(a)),this.create()}},Mi=class extends L4{constructor(e,t,i,a){super(e,t,i);this.w=e;this.h=t;this.data=i;this.sides=4;this.inertia=5;a&&(this.vector=this.generateVector(a)),this.create()}};var bi=new k,b9=new k,y9=new r2,re=class{constructor(e=new k(1,0,0),t=0){this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,a){return this.normal.set(e,t,i),this.constant=a,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){let a=bi.subVectors(i,t).cross(b9.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(a,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){let i=e.delta(bi),a=this.normal.dot(i);if(a===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;let r=-(e.start.dot(this.normal)+this.constant)/a;return r<0||r>1?null:t.copy(i).multiplyScalar(r).add(e.start)}intersectsLine(e){let t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let i=t||y9.getNormalMatrix(e),a=this.coplanarPoint(bi).applyMatrix4(e),r=this.normal.applyMatrix3(i).normalize();return this.constant=-a.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};re.prototype.isPlane=!0;var it=new We,J6=new k,T4=class{constructor(e=new re,t=new re,i=new re,a=new re,r=new re,s=new re){this.planes=[e,t,i,a,r,s]}set(e,t,i,a,r,s){let o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(i),o[3].copy(a),o[4].copy(r),o[5].copy(s),this}copy(e){let t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e){let t=this.planes,i=e.elements,a=i[0],r=i[1],s=i[2],o=i[3],c=i[4],l=i[5],u=i[6],f=i[7],h=i[8],m=i[9],v=i[10],g=i[11],x=i[12],p=i[13],d=i[14],A=i[15];return t[0].setComponents(o-a,f-c,g-h,A-x).normalize(),t[1].setComponents(o+a,f+c,g+h,A+x).normalize(),t[2].setComponents(o+r,f+l,g+m,A+p).normalize(),t[3].setComponents(o-r,f-l,g-m,A-p).normalize(),t[4].setComponents(o-s,f-u,g-v,A-d).normalize(),t[5].setComponents(o+s,f+u,g+v,A+d).normalize(),this}intersectsObject(e){let t=e.geometry;return t.boundingSphere===null&&t.computeBoundingSphere(),it.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(it)}intersectsSprite(e){return it.center.set(0,0,0),it.radius=.7071067811865476,it.applyMatrix4(e.matrixWorld),this.intersectsSphere(it)}intersectsSphere(e){let t=this.planes,i=e.center,a=-e.radius;for(let r=0;r<6;r++)if(t[r].distanceToPoint(i)0?e.max.x:e.min.x,J6.y=a.normal.y>0?e.max.y:e.min.y,J6.z=a.normal.z>0?e.max.z:e.min.z,a.distanceToPoint(J6)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}};function Q6(){let n=null,e=!1,t=null,i=null;function a(r,s){t(r,s),i=n.requestAnimationFrame(a)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(a),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(r){t=r},setContext:function(r){n=r}}}function I8(n,e){let t=e.isWebGL2,i=new WeakMap;function a(l,u){let f=l.array,h=l.usage,m=n.createBuffer();n.bindBuffer(u,m),n.bufferData(u,f,h),l.onUploadCallback();let v=n.FLOAT;return f instanceof Float32Array?v=n.FLOAT:f instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):f instanceof Uint16Array?l.isFloat16BufferAttribute?t?v=n.HALF_FLOAT:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):v=n.UNSIGNED_SHORT:f instanceof Int16Array?v=n.SHORT:f instanceof Uint32Array?v=n.UNSIGNED_INT:f instanceof Int32Array?v=n.INT:f instanceof Int8Array?v=n.BYTE:(f instanceof Uint8Array||f instanceof Uint8ClampedArray)&&(v=n.UNSIGNED_BYTE),{buffer:m,type:v,bytesPerElement:f.BYTES_PER_ELEMENT,version:l.version}}function r(l,u,f){let h=u.array,m=u.updateRange;n.bindBuffer(f,l),m.count===-1?n.bufferSubData(f,0,h):(t?n.bufferSubData(f,m.offset*h.BYTES_PER_ELEMENT,h,m.offset,m.count):n.bufferSubData(f,m.offset*h.BYTES_PER_ELEMENT,h.subarray(m.offset,m.offset+m.count)),m.count=-1)}function s(l){return l.isInterleavedBufferAttribute&&(l=l.data),i.get(l)}function o(l){l.isInterleavedBufferAttribute&&(l=l.data);let u=i.get(l);u&&(n.deleteBuffer(u.buffer),i.delete(l))}function c(l,u){if(l.isGLBufferAttribute){let h=i.get(l);(!h||h.version0?1:-1,u.push(Z.x,Z.y,Z.z),f.push(X/T),f.push(1-O/S),N+=1}}for(let O=0;O0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;let i={};for(let a in this.extensions)this.extensions[a]===!0&&(i[a]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}};ne.prototype.isShaderMaterial=!0;var G8=` +`;var ne=class extends T2{constructor(e){super();this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader=U8,this.fragmentShader=O8,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&(e.attributes!==void 0&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(e))}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Ke(e.uniforms),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){let t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(let a in this.uniforms){let s=this.uniforms[a].value;s&&s.isTexture?t.uniforms[a]={type:"t",value:s.toJSON(e).uuid}:s&&s.isColor?t.uniforms[a]={type:"c",value:s.getHex()}:s&&s.isVector2?t.uniforms[a]={type:"v2",value:s.toArray()}:s&&s.isVector3?t.uniforms[a]={type:"v3",value:s.toArray()}:s&&s.isVector4?t.uniforms[a]={type:"v4",value:s.toArray()}:s&&s.isMatrix3?t.uniforms[a]={type:"m3",value:s.toArray()}:s&&s.isMatrix4?t.uniforms[a]={type:"m4",value:s.toArray()}:t.uniforms[a]={value:s}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;let i={};for(let a in this.extensions)this.extensions[a]===!0&&(i[a]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}};ne.prototype.isShaderMaterial=!0;var G8=` #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, vUv ).g; @@ -579,7 +579,7 @@ void main() { #endif `;var Y8=` vec3 transformed = vec3( position ); -`;var K8=` +`;var $8=` vec3 objectNormal = vec3( normal ); #ifdef USE_TANGENT @@ -587,7 +587,7 @@ vec3 objectNormal = vec3( normal ); vec3 objectTangent = vec3( tangent.xyz ); #endif -`;var $8=` +`;var K8=` vec3 BRDF_Lambert( const in vec3 diffuseColor ) { @@ -2721,13 +2721,13 @@ float metalnessFactor = metalness; metalnessFactor *= texelMetalness.b; #endif -`;var Kn=` +`;var $n=` #ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; #endif -`;var $n=` +`;var Kn=` #ifdef USE_MORPHNORMALS // morphTargetBaseInfluence is set based on BufferGeometry.morphTargetsRelative value: @@ -4381,7 +4381,7 @@ void main() { #include } -`;var Ks=` +`;var $s=` #include #include #include @@ -4421,7 +4421,7 @@ void main() { #include } -`,$s=` +`,Ks=` uniform vec3 diffuse; uniform float opacity; @@ -5443,7 +5443,7 @@ void main() { #include } -`;var _1={alphamap_fragment:G8,alphamap_pars_fragment:q8,alphatest_fragment:W8,alphatest_pars_fragment:j8,aomap_fragment:X8,aomap_pars_fragment:Z8,begin_vertex:Y8,beginnormal_vertex:K8,bsdfs:$8,bumpmap_pars_fragment:J8,clipping_planes_fragment:Q8,clipping_planes_pars_fragment:en,clipping_planes_pars_vertex:tn,clipping_planes_vertex:an,color_fragment:rn,color_pars_fragment:nn,color_pars_vertex:sn,color_vertex:on,common:cn,cube_uv_reflection_fragment:ln,defaultnormal_vertex:un,displacementmap_pars_vertex:hn,displacementmap_vertex:fn,emissivemap_fragment:dn,emissivemap_pars_fragment:pn,encodings_fragment:mn,encodings_pars_fragment:vn,envmap_fragment:gn,envmap_common_pars_fragment:xn,envmap_pars_fragment:Mn,envmap_pars_vertex:bn,envmap_physical_pars_fragment:Tn,envmap_vertex:yn,fog_vertex:Cn,fog_pars_vertex:zn,fog_fragment:An,fog_pars_fragment:wn,gradientmap_pars_fragment:_n,lightmap_fragment:Sn,lightmap_pars_fragment:En,lights_lambert_vertex:Ln,lights_pars_begin:Dn,lights_toon_fragment:Hn,lights_toon_pars_fragment:Vn,lights_phong_fragment:Nn,lights_phong_pars_fragment:Rn,lights_physical_fragment:Fn,lights_physical_pars_fragment:Bn,lights_fragment_begin:Pn,lights_fragment_maps:In,lights_fragment_end:kn,logdepthbuf_fragment:Un,logdepthbuf_pars_fragment:On,logdepthbuf_pars_vertex:Gn,logdepthbuf_vertex:qn,map_fragment:Wn,map_pars_fragment:jn,map_particle_fragment:Xn,map_particle_pars_fragment:Zn,metalnessmap_fragment:Yn,metalnessmap_pars_fragment:Kn,morphnormal_vertex:$n,morphtarget_pars_vertex:Jn,morphtarget_vertex:Qn,normal_fragment_begin:es,normal_fragment_maps:ts,normal_pars_fragment:is,normal_pars_vertex:as,normal_vertex:rs,normalmap_pars_fragment:ns,clearcoat_normal_fragment_begin:ss,clearcoat_normal_fragment_maps:os,clearcoat_pars_fragment:cs,output_fragment:ls,packing:us,premultiplied_alpha_fragment:hs,project_vertex:fs,dithering_fragment:ds,dithering_pars_fragment:ps,roughnessmap_fragment:ms,roughnessmap_pars_fragment:vs,shadowmap_pars_fragment:gs,shadowmap_pars_vertex:xs,shadowmap_vertex:Ms,shadowmask_pars_fragment:bs,skinbase_vertex:ys,skinning_pars_vertex:Cs,skinning_vertex:zs,skinnormal_vertex:As,specularmap_fragment:ws,specularmap_pars_fragment:_s,tonemapping_fragment:Ss,tonemapping_pars_fragment:Es,transmission_fragment:Ls,transmission_pars_fragment:Ds,uv_pars_fragment:Ts,uv_pars_vertex:Hs,uv_vertex:Vs,uv2_pars_fragment:Ns,uv2_pars_vertex:Rs,uv2_vertex:Fs,worldpos_vertex:Bs,background_vert:Ps,background_frag:Is,cube_vert:ks,cube_frag:Us,depth_vert:Os,depth_frag:Gs,distanceRGBA_vert:qs,distanceRGBA_frag:Ws,equirect_vert:js,equirect_frag:Xs,linedashed_vert:Zs,linedashed_frag:Ys,meshbasic_vert:Ks,meshbasic_frag:$s,meshlambert_vert:Js,meshlambert_frag:Qs,meshmatcap_vert:e5,meshmatcap_frag:t5,meshnormal_vert:i5,meshnormal_frag:a5,meshphong_vert:r5,meshphong_frag:n5,meshphysical_vert:s5,meshphysical_frag:o5,meshtoon_vert:c5,meshtoon_frag:l5,points_vert:u5,points_frag:h5,shadow_vert:f5,shadow_frag:d5,sprite_vert:p5,sprite_frag:m5};var e1={common:{diffuse:{value:new x1(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new r2},uv2Transform:{value:new r2},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new z1(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new x1(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new x1(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new r2}},sprite:{diffuse:{value:new x1(16777215)},opacity:{value:1},center:{value:new z1(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new r2}}};var W2={basic:{uniforms:p2([e1.common,e1.specularmap,e1.envmap,e1.aomap,e1.lightmap,e1.fog]),vertexShader:_1.meshbasic_vert,fragmentShader:_1.meshbasic_frag},lambert:{uniforms:p2([e1.common,e1.specularmap,e1.envmap,e1.aomap,e1.lightmap,e1.emissivemap,e1.fog,e1.lights,{emissive:{value:new x1(0)}}]),vertexShader:_1.meshlambert_vert,fragmentShader:_1.meshlambert_frag},phong:{uniforms:p2([e1.common,e1.specularmap,e1.envmap,e1.aomap,e1.lightmap,e1.emissivemap,e1.bumpmap,e1.normalmap,e1.displacementmap,e1.fog,e1.lights,{emissive:{value:new x1(0)},specular:{value:new x1(1118481)},shininess:{value:30}}]),vertexShader:_1.meshphong_vert,fragmentShader:_1.meshphong_frag},standard:{uniforms:p2([e1.common,e1.envmap,e1.aomap,e1.lightmap,e1.emissivemap,e1.bumpmap,e1.normalmap,e1.displacementmap,e1.roughnessmap,e1.metalnessmap,e1.fog,e1.lights,{emissive:{value:new x1(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:_1.meshphysical_vert,fragmentShader:_1.meshphysical_frag},toon:{uniforms:p2([e1.common,e1.aomap,e1.lightmap,e1.emissivemap,e1.bumpmap,e1.normalmap,e1.displacementmap,e1.gradientmap,e1.fog,e1.lights,{emissive:{value:new x1(0)}}]),vertexShader:_1.meshtoon_vert,fragmentShader:_1.meshtoon_frag},matcap:{uniforms:p2([e1.common,e1.bumpmap,e1.normalmap,e1.displacementmap,e1.fog,{matcap:{value:null}}]),vertexShader:_1.meshmatcap_vert,fragmentShader:_1.meshmatcap_frag},points:{uniforms:p2([e1.points,e1.fog]),vertexShader:_1.points_vert,fragmentShader:_1.points_frag},dashed:{uniforms:p2([e1.common,e1.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:_1.linedashed_vert,fragmentShader:_1.linedashed_frag},depth:{uniforms:p2([e1.common,e1.displacementmap]),vertexShader:_1.depth_vert,fragmentShader:_1.depth_frag},normal:{uniforms:p2([e1.common,e1.bumpmap,e1.normalmap,e1.displacementmap,{opacity:{value:1}}]),vertexShader:_1.meshnormal_vert,fragmentShader:_1.meshnormal_frag},sprite:{uniforms:p2([e1.sprite,e1.fog]),vertexShader:_1.sprite_vert,fragmentShader:_1.sprite_frag},background:{uniforms:{uvTransform:{value:new r2},t2D:{value:null}},vertexShader:_1.background_vert,fragmentShader:_1.background_frag},cube:{uniforms:p2([e1.envmap,{opacity:{value:1}}]),vertexShader:_1.cube_vert,fragmentShader:_1.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:_1.equirect_vert,fragmentShader:_1.equirect_frag},distanceRGBA:{uniforms:p2([e1.common,e1.displacementmap,{referencePosition:{value:new k},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:_1.distanceRGBA_vert,fragmentShader:_1.distanceRGBA_frag},shadow:{uniforms:p2([e1.lights,e1.fog,{color:{value:new x1(0)},opacity:{value:1}}]),vertexShader:_1.shadow_vert,fragmentShader:_1.shadow_frag}};W2.physical={uniforms:p2([W2.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new z1(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new x1(0)},sheenColorMap:{value:null},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new z1},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new x1(0)},specularIntensity:{value:1},specularIntensityMap:{value:null},specularColor:{value:new x1(1,1,1)},specularColorMap:{value:null}}]),vertexShader:_1.meshphysical_vert,fragmentShader:_1.meshphysical_frag};function v5(n,e,t,i,a,r){let s=new x1(0),o=a===!0?0:1,l,c,u=null,f=0,h=null;function m(g,x){let p=!1,d=x.isScene===!0?x.background:null;d&&d.isTexture&&(d=e.get(d));let z=n.xr,b=z.getSession&&z.getSession();b&&b.environmentBlendMode==="additive"&&(d=null),d===null?v(s,o):d&&d.isColor&&(v(d,1),p=!0),(n.autoClear||p)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),d&&(d.isCubeTexture||d.mapping===a4)?(c===void 0&&(c=new l2(new Ke(1,1,1),new ne({name:"BackgroundCubeMaterial",uniforms:$e(W2.cube.uniforms),vertexShader:W2.cube.vertexShader,fragmentShader:W2.cube.fragmentShader,side:P1,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(C,E,T){this.matrixWorld.copyPosition(T.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(c)),c.material.uniforms.envMap.value=d,c.material.uniforms.flipEnvMap.value=d.isCubeTexture&&d.isRenderTargetTexture===!1?-1:1,(u!==d||f!==d.version||h!==n.toneMapping)&&(c.material.needsUpdate=!0,u=d,f=d.version,h=n.toneMapping),g.unshift(c,c.geometry,c.material,0,0,null)):d&&d.isTexture&&(l===void 0&&(l=new l2(new T4(2,2),new ne({name:"BackgroundMaterial",uniforms:$e(W2.background.uniforms),vertexShader:W2.background.vertexShader,fragmentShader:W2.background.fragmentShader,side:ke,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(l)),l.material.uniforms.t2D.value=d,d.matrixAutoUpdate===!0&&d.updateMatrix(),l.material.uniforms.uvTransform.value.copy(d.matrix),(u!==d||f!==d.version||h!==n.toneMapping)&&(l.material.needsUpdate=!0,u=d,f=d.version,h=n.toneMapping),g.unshift(l,l.geometry,l.material,0,0,null))}function v(g,x){t.buffers.color.setClear(g.r,g.g,g.b,x,r)}return{getClearColor:function(){return s},setClearColor:function(g,x=1){s.set(g),o=x,v(s,o)},getClearAlpha:function(){return o},setClearAlpha:function(g){o=g,v(s,o)},render:m}}function g5(n,e,t,i){let a=n.getParameter(n.MAX_VERTEX_ATTRIBS),r=i.isWebGL2?null:e.get("OES_vertex_array_object"),s=i.isWebGL2||r!==null,o={},l=g(null),c=l;function u(A,H,V,L,N){let U=!1;if(s){let Z=v(L,V,H);c!==Z&&(c=Z,h(c.object)),U=x(L,N),U&&p(L,N)}else{let Z=H.wireframe===!0;(c.geometry!==L.id||c.program!==V.id||c.wireframe!==Z)&&(c.geometry=L.id,c.program=V.id,c.wireframe=Z,U=!0)}A.isInstancedMesh===!0&&(U=!0),N!==null&&t.update(N,n.ELEMENT_ARRAY_BUFFER),U&&(T(A,H,V,L),N!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(N).buffer))}function f(){return i.isWebGL2?n.createVertexArray():r.createVertexArrayOES()}function h(A){return i.isWebGL2?n.bindVertexArray(A):r.bindVertexArrayOES(A)}function m(A){return i.isWebGL2?n.deleteVertexArray(A):r.deleteVertexArrayOES(A)}function v(A,H,V){let L=V.wireframe===!0,N=o[A.id];N===void 0&&(N={},o[A.id]=N);let U=N[H.id];U===void 0&&(U={},N[H.id]=U);let Z=U[L];return Z===void 0&&(Z=g(f()),U[L]=Z),Z}function g(A){let H=[],V=[],L=[];for(let N=0;N=0){let X=N[O];if(X===void 0&&(O==="instanceMatrix"&&A.instanceMatrix&&(X=A.instanceMatrix),O==="instanceColor"&&A.instanceColor&&(X=A.instanceColor)),X!==void 0){let Q=X.normalized,a1=X.itemSize,B=t.get(X);if(B===void 0)continue;let M1=B.buffer,u1=B.type,v1=B.bytesPerElement;if(X.isInterleavedBufferAttribute){let n1=X.data,T1=n1.stride,A1=X.offset;if(n1&&n1.isInstancedInterleavedBuffer){for(let C1=0;C10&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";T="mediump"}return T==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let s=typeof WebGL2RenderingContext!="undefined"&&n instanceof WebGL2RenderingContext||typeof WebGL2ComputeRenderingContext!="undefined"&&n instanceof WebGL2ComputeRenderingContext,o=t.precision!==void 0?t.precision:"highp",l=r(o);l!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",l,"instead."),o=l);let c=s||e.has("WEBGL_draw_buffers"),u=t.logarithmicDepthBuffer===!0,f=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),h=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_TEXTURE_SIZE),v=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),g=n.getParameter(n.MAX_VERTEX_ATTRIBS),x=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),d=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),z=h>0,b=s||e.has("OES_texture_float"),C=z&&b,E=s?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:s,drawBuffers:c,getMaxAnisotropy:a,getMaxPrecision:r,precision:o,logarithmicDepthBuffer:u,maxTextures:f,maxVertexTextures:h,maxTextureSize:m,maxCubemapSize:v,maxAttributes:g,maxVertexUniforms:x,maxVaryings:p,maxFragmentUniforms:d,vertexTextures:z,floatFragmentTextures:b,floatVertexTextures:C,maxSamples:E}}function b5(n){let e=this,t=null,i=0,a=!1,r=!1,s=new re,o=new r2,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,h,m){let v=f.length!==0||h||i!==0||a;return a=h,t=u(f,m,0),i=f.length,v},this.beginShadows=function(){r=!0,u(null)},this.endShadows=function(){r=!1,c()},this.setState=function(f,h,m){let v=f.clippingPlanes,g=f.clipIntersection,x=f.clipShadows,p=n.get(f);if(!a||v===null||v.length===0||r&&!x)r?u(null):c();else{let d=r?0:i,z=d*4,b=p.clippingState||null;l.value=b,b=u(v,h,z,m);for(let C=0;C!==z;++C)b[C]=t[C];p.clippingState=b,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=d}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function u(f,h,m,v){let g=f!==null?f.length:0,x=null;if(g!==0){if(x=l.value,v!==!0||x===null){let p=m+g*4,d=h.matrixWorldInverse;o.getNormalMatrix(d),(x===null||x.length=0){let X=N[O];if(X===void 0&&(O==="instanceMatrix"&&z.instanceMatrix&&(X=z.instanceMatrix),O==="instanceColor"&&z.instanceColor&&(X=z.instanceColor)),X!==void 0){let Q=X.normalized,a1=X.itemSize,B=t.get(X);if(B===void 0)continue;let M1=B.buffer,u1=B.type,v1=B.bytesPerElement;if(X.isInterleavedBufferAttribute){let n1=X.data,T1=n1.stride,A1=X.offset;if(n1&&n1.isInstancedInterleavedBuffer){for(let C1=0;C10&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";T="mediump"}return T==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let s=typeof WebGL2RenderingContext!="undefined"&&n instanceof WebGL2RenderingContext||typeof WebGL2ComputeRenderingContext!="undefined"&&n instanceof WebGL2ComputeRenderingContext,o=t.precision!==void 0?t.precision:"highp",c=r(o);c!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",c,"instead."),o=c);let l=s||e.has("WEBGL_draw_buffers"),u=t.logarithmicDepthBuffer===!0,f=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),h=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_TEXTURE_SIZE),v=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),g=n.getParameter(n.MAX_VERTEX_ATTRIBS),x=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),d=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),A=h>0,b=s||e.has("OES_texture_float"),C=A&&b,E=s?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:a,getMaxPrecision:r,precision:o,logarithmicDepthBuffer:u,maxTextures:f,maxVertexTextures:h,maxTextureSize:m,maxCubemapSize:v,maxAttributes:g,maxVertexUniforms:x,maxVaryings:p,maxFragmentUniforms:d,vertexTextures:A,floatFragmentTextures:b,floatVertexTextures:C,maxSamples:E}}function b5(n){let e=this,t=null,i=0,a=!1,r=!1,s=new re,o=new r2,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(f,h,m){let v=f.length!==0||h||i!==0||a;return a=h,t=u(f,m,0),i=f.length,v},this.beginShadows=function(){r=!0,u(null)},this.endShadows=function(){r=!1,l()},this.setState=function(f,h,m){let v=f.clippingPlanes,g=f.clipIntersection,x=f.clipShadows,p=n.get(f);if(!a||v===null||v.length===0||r&&!x)r?u(null):l();else{let d=r?0:i,A=d*4,b=p.clippingState||null;c.value=b,b=u(v,h,A,m);for(let C=0;C!==A;++C)b[C]=t[C];p.clippingState=b,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=d}};function l(){c.value!==t&&(c.value=t,c.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function u(f,h,m,v){let g=f!==null?f.length:0,x=null;if(g!==0){if(x=c.value,v!==!0||x===null){let p=m+g*4,d=h.matrixWorldInverse;o.getNormalMatrix(d),(x===null||x.length0){let c=new e0(l.height/2);return c.fromEquirectangularTexture(n,s),e.set(s,c),s.addEventListener("dispose",a),t(c.texture,s.mapping)}else return null}}return s}function a(s){let o=s.target;o.removeEventListener("dispose",a);let l=e.get(o);l!==void 0&&(e.delete(o),l.dispose())}function r(){e=new WeakMap}return{get:i,dispose:r}}var t0=class extends it{constructor(e=-1,t=1,i=1,a=-1,r=.1,s=2e3){super();this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=a,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,a,r,s){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=a,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,a=(this.top+this.bottom)/2,r=i-e,s=i+e,o=a+t,l=a-t;if(this.view!==null&&this.view.enabled){let c=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=c*this.view.offsetX,s=r+c*this.view.width,o-=u*this.view.offsetY,l=o-u*this.view.height}this.projectionMatrix.makeOrthographic(r,s,o,l,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}};t0.prototype.isOrthographicCamera=!0;var st=class extends ne{constructor(e){super(e);this.type="RawShaderMaterial"}};st.prototype.isRawShaderMaterial=!0;var ot=4,d4=8,ze=Math.pow(2,d4),C5=[.125,.215,.35,.446,.526,.582],z5=d4-ot+1+C5.length,ct=20,Ci=new t0,{_lodPlanes:Ot,_sizeLods:A5,_sigmas:i0}=P9(),w5=new x1,zi=null,H4=(1+Math.sqrt(5))/2,lt=1/H4,_5=[new k(1,1,1),new k(-1,1,1),new k(1,1,-1),new k(-1,1,-1),new k(0,H4,lt),new k(0,H4,-lt),new k(lt,0,H4),new k(-lt,0,H4),new k(H4,lt,0),new k(-H4,lt,0)],a0=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._blurMaterial=I9(ct),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,a=100){zi=this._renderer.getRenderTarget();let r=this._allocateTargets();return this._sceneToCubeUV(e,i,a,r),t>0&&this._blur(r,0,0,t),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapShader===null&&(this._cubemapShader=L5(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){this._equirectShader===null&&(this._equirectShader=E5(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose(),this._cubemapShader!==null&&this._cubemapShader.dispose(),this._equirectShader!==null&&this._equirectShader.dispose();for(let e=0;e2?ze:0,ze,ze),u.setRenderTarget(a),g&&u.render(v,o),u.render(e,o)}v.geometry.dispose(),v.material.dispose(),u.toneMapping=h,u.autoClear=f,e.background=x}_textureToCubeUV(e,t){let i=this._renderer,a=e.mapping===Me||e.mapping===Ue;a?(this._cubemapShader===null&&(this._cubemapShader=L5()),this._cubemapShader.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectShader===null&&(this._equirectShader=E5());let r=a?this._cubemapShader:this._equirectShader,s=new l2(Ot[0],r),o=r.uniforms;o.envMap.value=e,a||o.texelSize.value.set(1/e.image.width,1/e.image.height),r0(t,0,0,3*ze,2*ze),i.setRenderTarget(t),i.render(s,Ci)}_applyPMREM(e){let t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let a=1;act&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${x} samples when the maximum is set to ${ct}`);let p=[],d=0;for(let E=0;Ed4-ot?a-d4+ot:0);r0(t,b,C,3*z,2*z),l.setRenderTarget(t),l.render(f,Ci)}};function P9(){let n=[],e=[],t=[],i=d4;for(let a=0;ad4-ot?s=C5[a-d4+ot-1]:a===0&&(s=0),t.push(s);let o=1/(r-1),l=-o/2,c=1+o/2,u=[l,l,c,l,c,c,l,l,c,c,l,c],f=6,h=6,m=3,v=2,g=1,x=new Float32Array(m*h*f),p=new Float32Array(v*h*f),d=new Float32Array(g*h*f);for(let b=0;b2?0:-1,T=[C,E,0,C+2/3,E,0,C+2/3,E+1,0,C,E,0,C+2/3,E+1,0,C,E+1,0];x.set(T,m*h*b),p.set(u,v*h*b);let _=[b,b,b,b,b,b];d.set(_,g*h*b)}let z=new b2;z.setAttribute("position",new M2(x,m)),z.setAttribute("uv",new M2(p,v)),z.setAttribute("faceIndex",new M2(d,g)),n.push(z),i>ot&&i--}return{_lodPlanes:n,_sizeLods:e,_sigmas:t}}function S5(n){let e=new m2(3*ze,3*ze,n);return e.texture.mapping=a4,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function r0(n,e,t,i,a){n.viewport.set(e,t,i,a),n.scissor.set(e,t,i,a)}function I9(n){let e=new Float32Array(n),t=new k(0,1,0);return new st({name:"SphericalGaussianBlur",defines:{n},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:t}},vertexShader:Ai(),fragmentShader:` + `},a=new $e(5,5,5),r=new ne({name:"CubemapFromEquirect",uniforms:Ke(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:P1,blending:U2});r.uniforms.tEquirect.value=t;let s=new l2(a,r),o=t.minFilter;return t.minFilter===r4&&(t.minFilter=e2),new yi(1,10,this).update(e,s),t.minFilter=o,s.geometry.dispose(),s.material.dispose(),this}clear(e,t,i,a){let r=e.getRenderTarget();for(let s=0;s<6;s++)e.setRenderTarget(this,s),e.clear(t,i,a);e.setRenderTarget(r)}};e0.prototype.isWebGLCubeRenderTarget=!0;function y5(n){let e=new WeakMap;function t(s,o){return o===Lt?s.mapping=Me:o===Dt&&(s.mapping=Ue),s}function i(s){if(s&&s.isTexture&&s.isRenderTargetTexture===!1){let o=s.mapping;if(o===Lt||o===Dt)if(e.has(s)){let c=e.get(s).texture;return t(c,s.mapping)}else{let c=s.image;if(c&&c.height>0){let l=new e0(c.height/2);return l.fromEquirectangularTexture(n,s),e.set(s,l),s.addEventListener("dispose",a),t(l.texture,s.mapping)}else return null}}return s}function a(s){let o=s.target;o.removeEventListener("dispose",a);let c=e.get(o);c!==void 0&&(e.delete(o),c.dispose())}function r(){e=new WeakMap}return{get:i,dispose:r}}var t0=class extends at{constructor(e=-1,t=1,i=1,a=-1,r=.1,s=2e3){super();this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=a,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,a,r,s){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=a,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,a=(this.top+this.bottom)/2,r=i-e,s=i+e,o=a+t,c=a-t;if(this.view!==null&&this.view.enabled){let l=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=l*this.view.offsetX,s=r+l*this.view.width,o-=u*this.view.offsetY,c=o-u*this.view.height}this.projectionMatrix.makeOrthographic(r,s,o,c,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}};t0.prototype.isOrthographicCamera=!0;var ot=class extends ne{constructor(e){super(e);this.type="RawShaderMaterial"}};ot.prototype.isRawShaderMaterial=!0;var ct=4,d4=8,ze=Math.pow(2,d4),C5=[.125,.215,.35,.446,.526,.582],z5=d4-ct+1+C5.length,lt=20,Ci=new t0,{_lodPlanes:Gt,_sizeLods:A5,_sigmas:i0}=P9(),w5=new x1,zi=null,V4=(1+Math.sqrt(5))/2,ut=1/V4,_5=[new k(1,1,1),new k(-1,1,1),new k(1,1,-1),new k(-1,1,-1),new k(0,V4,ut),new k(0,V4,-ut),new k(ut,0,V4),new k(-ut,0,V4),new k(V4,ut,0),new k(-V4,ut,0)],a0=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._blurMaterial=I9(lt),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,a=100){zi=this._renderer.getRenderTarget();let r=this._allocateTargets();return this._sceneToCubeUV(e,i,a,r),t>0&&this._blur(r,0,0,t),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapShader===null&&(this._cubemapShader=L5(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){this._equirectShader===null&&(this._equirectShader=E5(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose(),this._cubemapShader!==null&&this._cubemapShader.dispose(),this._equirectShader!==null&&this._equirectShader.dispose();for(let e=0;e2?ze:0,ze,ze),u.setRenderTarget(a),g&&u.render(v,o),u.render(e,o)}v.geometry.dispose(),v.material.dispose(),u.toneMapping=h,u.autoClear=f,e.background=x}_textureToCubeUV(e,t){let i=this._renderer,a=e.mapping===Me||e.mapping===Ue;a?(this._cubemapShader===null&&(this._cubemapShader=L5()),this._cubemapShader.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectShader===null&&(this._equirectShader=E5());let r=a?this._cubemapShader:this._equirectShader,s=new l2(Gt[0],r),o=r.uniforms;o.envMap.value=e,a||o.texelSize.value.set(1/e.image.width,1/e.image.height),r0(t,0,0,3*ze,2*ze),i.setRenderTarget(t),i.render(s,Ci)}_applyPMREM(e){let t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let a=1;alt&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${x} samples when the maximum is set to ${lt}`);let p=[],d=0;for(let E=0;Ed4-ct?a-d4+ct:0);r0(t,b,C,3*A,2*A),c.setRenderTarget(t),c.render(f,Ci)}};function P9(){let n=[],e=[],t=[],i=d4;for(let a=0;ad4-ct?s=C5[a-d4+ct-1]:a===0&&(s=0),t.push(s);let o=1/(r-1),c=-o/2,l=1+o/2,u=[c,c,l,c,l,l,c,c,l,l,c,l],f=6,h=6,m=3,v=2,g=1,x=new Float32Array(m*h*f),p=new Float32Array(v*h*f),d=new Float32Array(g*h*f);for(let b=0;b2?0:-1,T=[C,E,0,C+2/3,E,0,C+2/3,E+1,0,C,E,0,C+2/3,E+1,0,C,E+1,0];x.set(T,m*h*b),p.set(u,v*h*b);let S=[b,b,b,b,b,b];d.set(S,g*h*b)}let A=new b2;A.setAttribute("position",new M2(x,m)),A.setAttribute("uv",new M2(p,v)),A.setAttribute("faceIndex",new M2(d,g)),n.push(A),i>ct&&i--}return{_lodPlanes:n,_sizeLods:e,_sigmas:t}}function S5(n){let e=new m2(3*ze,3*ze,n);return e.texture.mapping=a4,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function r0(n,e,t,i,a){n.viewport.set(e,t,i,a),n.scissor.set(e,t,i,a)}function I9(n){let e=new Float32Array(n),t=new k(0,1,0);return new ot({name:"SphericalGaussianBlur",defines:{n},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:t}},vertexShader:Ai(),fragmentShader:` precision mediump float; precision mediump int; @@ -5538,7 +5538,7 @@ void main() { } } - `,blending:U2,depthTest:!1,depthWrite:!1})}function E5(){let n=new z1(1,1);return new st({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:n}},vertexShader:Ai(),fragmentShader:` + `,blending:U2,depthTest:!1,depthWrite:!1})}function E5(){let n=new z1(1,1);return new ot({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:n}},vertexShader:Ai(),fragmentShader:` precision mediump float; precision mediump int; @@ -5572,7 +5572,7 @@ void main() { gl_FragColor.rgb = mix( tm, bm, f.y ); } - `,blending:U2,depthTest:!1,depthWrite:!1})}function L5(){return new st({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Ai(),fragmentShader:` + `,blending:U2,depthTest:!1,depthWrite:!1})}function L5(){return new ot({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Ai(),fragmentShader:` precision mediump float; precision mediump int; @@ -5645,37 +5645,37 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function D5(n){let e=new WeakMap,t=null;function i(o){if(o&&o.isTexture){let l=o.mapping,c=l===Et||l===Lt,u=l===Me||l===Ue;if(c||u)if(o.isRenderTargetTexture&&o.needsPMREMUpdate===!0){o.needsPMREMUpdate=!1;let f=e.get(o);return t===null&&(t=new a0(n)),f=c?t.fromEquirectangular(o,f):t.fromCubemap(o,f),e.set(o,f),f.texture}else{if(e.has(o))return e.get(o).texture;{let f=o.image;if(c&&f&&f.height>0||u&&f&&a(f)){t===null&&(t=new a0(n));let h=c?t.fromEquirectangular(o):t.fromCubemap(o);return e.set(o,h),o.addEventListener("dispose",r),h.texture}else return null}}}return o}function a(o){let l=0,c=6;for(let u=0;ue.maxTextureSize&&(_=Math.ceil(T/e.maxTextureSize),T=e.maxTextureSize);let P=new Float32Array(T*_*4*v),F=new ut(P,T,_,v);F.format=W1,F.type=J2,F.needsUpdate=!0;let M=E*4;for(let A=0;A0)return n;let a=e*t,r=O5[a];if(r===void 0&&(r=new Float32Array(a),O5[a]=r),e!==0){i.toArray(r,0);for(let s=1,o=0;s!==e;++s)o+=t,n[s].toArray(r,o)}return r}function A2(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t0||u&&f&&a(f)){t===null&&(t=new a0(n));let h=l?t.fromEquirectangular(o):t.fromCubemap(o);return e.set(o,h),o.addEventListener("dispose",r),h.texture}else return null}}}return o}function a(o){let c=0,l=6;for(let u=0;ue.maxTextureSize&&(S=Math.ceil(T/e.maxTextureSize),T=e.maxTextureSize);let P=new Float32Array(T*S*4*v),F=new ht(P,T,S,v);F.format=W1,F.type=J2,F.needsUpdate=!0;let M=E*4;for(let z=0;z0)return n;let a=e*t,r=O5[a];if(r===void 0&&(r=new Float32Array(a),O5[a]=r),e!==0){i.toArray(r,0);for(let s=1,o=0;s!==e;++s)o+=t,n[s].toArray(r,o)}return r}function A2(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t/gm;function Si(n){return n.replace(Pu,Iu)}function Iu(n,e){let t=_1[e];if(t===void 0)throw new Error("Can not resolve #include <"+e+">");return Si(t)}var ku=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,Uu=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Q5(n){return n.replace(Uu,eo).replace(ku,Ou)}function Ou(n,e,t,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),eo(n,e,t,i)}function eo(n,e,t,i){let a="";for(let r=parseInt(e);r/gm;function Si(n){return n.replace(Pu,Iu)}function Iu(n,e){let t=_1[e];if(t===void 0)throw new Error("Can not resolve #include <"+e+">");return Si(t)}var ku=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,Uu=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Q5(n){return n.replace(Uu,eo).replace(ku,Ou)}function Ou(n,e,t,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),eo(n,e,t,i)}function eo(n,e,t,i){let a="";for(let r=parseInt(e);r0&&(g+=` -`),x=[h,m].filter(Gt).join(` +`),x=[h,m].filter(qt).join(` `),x.length>0&&(x+=` -`)):(g=[to(t),"#define SHADER_NAME "+t.shaderName,m,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define MAX_BONES "+t.maxBones,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.displacementMap&&t.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.useVertexTexture?"#define BONE_TEXTURE":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` -`].filter(Gt).join(` -`),x=[h,to(t),"#define SHADER_NAME "+t.shaderName,m,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+u:"",t.envMap?"#define "+f:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==O2?"#define TONE_MAPPING":"",t.toneMapping!==O2?_1.tonemapping_pars_fragment:"",t.toneMapping!==O2?Nu("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.alphaWrite?"":"#define OPAQUE",_1.encodings_pars_fragment,Vu("linearToOutputTexel",t.outputEncoding),t.depthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` -`].filter(Gt).join(` -`)),s=Si(s),s=$5(s,t),s=J5(s,t),o=Si(o),o=$5(o,t),o=J5(o,t),s=Q5(s),o=Q5(o),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(p=`#version 300 es +`)):(g=[to(t),"#define SHADER_NAME "+t.shaderName,m,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define MAX_BONES "+t.maxBones,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.displacementMap&&t.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.useVertexTexture?"#define BONE_TEXTURE":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` +`].filter(qt).join(` +`),x=[h,to(t),"#define SHADER_NAME "+t.shaderName,m,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+l:"",t.envMap?"#define "+u:"",t.envMap?"#define "+f:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==O2?"#define TONE_MAPPING":"",t.toneMapping!==O2?_1.tonemapping_pars_fragment:"",t.toneMapping!==O2?Nu("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.alphaWrite?"":"#define OPAQUE",_1.encodings_pars_fragment,Vu("linearToOutputTexel",t.outputEncoding),t.depthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(qt).join(` +`)),s=Si(s),s=K5(s,t),s=J5(s,t),o=Si(o),o=K5(o,t),o=J5(o,t),s=Q5(s),o=Q5(o),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(p=`#version 300 es `,g=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+g,x=["#define varying in",t.glslVersion===V3?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===V3?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` `)+` -`+x);let d=p+g+s,z=p+x+o,b=_i(a,a.VERTEX_SHADER,d),C=_i(a,a.FRAGMENT_SHADER,z);if(a.attachShader(v,b),a.attachShader(v,C),t.index0AttributeName!==void 0?a.bindAttribLocation(v,0,t.index0AttributeName):t.morphTargets===!0&&a.bindAttribLocation(v,0,"position"),a.linkProgram(v),n.debug.checkShaderErrors){let _=a.getProgramInfoLog(v).trim(),P=a.getShaderInfoLog(b).trim(),F=a.getShaderInfoLog(C).trim(),M=!0,D=!0;if(a.getProgramParameter(v,a.LINK_STATUS)===!1){M=!1;let A=K5(a,b,"vertex"),H=K5(a,C,"fragment");console.error("THREE.WebGLProgram: Shader Error "+a.getError()+" - VALIDATE_STATUS "+a.getProgramParameter(v,a.VALIDATE_STATUS)+` +`+x);let d=p+g+s,A=p+x+o,b=_i(a,a.VERTEX_SHADER,d),C=_i(a,a.FRAGMENT_SHADER,A);if(a.attachShader(v,b),a.attachShader(v,C),t.index0AttributeName!==void 0?a.bindAttribLocation(v,0,t.index0AttributeName):t.morphTargets===!0&&a.bindAttribLocation(v,0,"position"),a.linkProgram(v),n.debug.checkShaderErrors){let S=a.getProgramInfoLog(v).trim(),P=a.getShaderInfoLog(b).trim(),F=a.getShaderInfoLog(C).trim(),M=!0,D=!0;if(a.getProgramParameter(v,a.LINK_STATUS)===!1){M=!1;let z=$5(a,b,"vertex"),H=$5(a,C,"fragment");console.error("THREE.WebGLProgram: Shader Error "+a.getError()+" - VALIDATE_STATUS "+a.getProgramParameter(v,a.VALIDATE_STATUS)+` -Program Info Log: `+_+` -`+A+` -`+H)}else _!==""?console.warn("THREE.WebGLProgram: Program Info Log:",_):(P===""||F==="")&&(D=!1);D&&(this.diagnostics={runnable:M,programLog:_,vertexShader:{log:P,prefix:g},fragmentShader:{log:F,prefix:x}})}a.deleteShader(b),a.deleteShader(C);let E;this.getUniforms=function(){return E===void 0&&(E=new Ae(a,v)),E};let T;return this.getAttributes=function(){return T===void 0&&(T=Bu(a,v)),T},this.destroy=function(){i.releaseStatesOfProgram(this),a.deleteProgram(v),this.program=void 0},this.name=t.shaderName,this.id=Du++,this.cacheKey=e,this.usedTimes=1,this.program=v,this.vertexShader=b,this.fragmentShader=C,this}var Xu=0,Ei=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,i=e.fragmentShader,a=this._getShaderStage(t),r=this._getShaderStage(i),s=this._getShaderCacheForMaterial(e);return s.has(a)===!1&&(s.add(a),a.usedTimes++),s.has(r)===!1&&(s.add(r),r.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache;return t.has(e)===!1&&t.set(e,new Set),t.get(e)}_getShaderStage(e){let t=this.shaderCache;if(t.has(e)===!1){let i=new ao;t.set(e,i)}return t.get(e)}},ao=class{constructor(){this.id=Xu++,this.usedTimes=0}};function ro(n,e,t,i,a,r,s){let o=new Bt,l=new Ei,c=[],u=a.isWebGL2,f=a.logarithmicDepthBuffer,h=a.floatVertexTextures,m=a.maxVertexUniforms,v=a.vertexTextures,g=a.precision,x={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function p(M){let A=M.skeleton.bones;if(h)return 1024;{let V=Math.floor((m-20)/4),L=Math.min(V,A.length);return L0,u1=M.clearcoat>0;return{isWebGL2:u,shaderID:Z,shaderName:M.type,vertexShader:W,fragmentShader:X,defines:M.defines,customVertexShaderID:Q,customFragmentShaderID:a1,isRawShaderMaterial:M.isRawShaderMaterial===!0,glslVersion:M.glslVersion,precision:g,instancing:V.isInstancedMesh===!0,instancingColor:V.isInstancedMesh===!0&&V.instanceColor!==null,supportsVertexTextures:v,outputEncoding:B===null?n.outputEncoding:B.isXRRenderTarget===!0?B.texture.encoding:R2,map:!!M.map,matcap:!!M.matcap,envMap:!!U,envMapMode:U&&U.mapping,envMapCubeUV:!!U&&(U.mapping===a4||U.mapping===Dt),lightMap:!!M.lightMap,aoMap:!!M.aoMap,emissiveMap:!!M.emissiveMap,bumpMap:!!M.bumpMap,normalMap:!!M.normalMap,objectSpaceNormalMap:M.normalMapType===w8,tangentSpaceNormalMap:M.normalMapType===H6,decodeVideoTexture:!!M.map&&M.map.isVideoTexture===!0&&M.map.encoding===I1,clearcoat:u1,clearcoatMap:u1&&!!M.clearcoatMap,clearcoatRoughnessMap:u1&&!!M.clearcoatRoughnessMap,clearcoatNormalMap:u1&&!!M.clearcoatNormalMap,displacementMap:!!M.displacementMap,roughnessMap:!!M.roughnessMap,metalnessMap:!!M.metalnessMap,specularMap:!!M.specularMap,specularIntensityMap:!!M.specularIntensityMap,specularColorMap:!!M.specularColorMap,alphaMap:!!M.alphaMap,alphaTest:M1,alphaWrite:M.alphaWrite||M.transparent,gradientMap:!!M.gradientMap,sheen:M.sheen>0,sheenColorMap:!!M.sheenColorMap,sheenRoughnessMap:!!M.sheenRoughnessMap,transmission:M.transmission>0,transmissionMap:!!M.transmissionMap,thicknessMap:!!M.thicknessMap,combine:M.combine,vertexTangents:!!M.normalMap&&!!V.geometry&&!!V.geometry.attributes.tangent,vertexColors:M.vertexColors,vertexAlphas:M.vertexColors===!0&&!!V.geometry&&!!V.geometry.attributes.color&&V.geometry.attributes.color.itemSize===4,vertexUvs:!!M.map||!!M.bumpMap||!!M.normalMap||!!M.specularMap||!!M.alphaMap||!!M.emissiveMap||!!M.roughnessMap||!!M.metalnessMap||!!M.clearcoatMap||!!M.clearcoatRoughnessMap||!!M.clearcoatNormalMap||!!M.displacementMap||!!M.transmissionMap||!!M.thicknessMap||!!M.specularIntensityMap||!!M.specularColorMap||!!M.sheenColorMap||!!M.sheenRoughnessMap,uvsVertexOnly:!(!!M.map||!!M.bumpMap||!!M.normalMap||!!M.specularMap||!!M.alphaMap||!!M.emissiveMap||!!M.roughnessMap||!!M.metalnessMap||!!M.clearcoatNormalMap||M.transmission>0||!!M.transmissionMap||!!M.thicknessMap||!!M.specularIntensityMap||!!M.specularColorMap||M.sheen>0||!!M.sheenColorMap||!!M.sheenRoughnessMap)&&!!M.displacementMap,fog:!!L,useFog:M.fog,fogExp2:L&&L.isFogExp2,flatShading:!!M.flatShading,sizeAttenuation:M.sizeAttenuation,logarithmicDepthBuffer:f,skinning:V.isSkinnedMesh===!0&&O>0,maxBones:O,useVertexTexture:h,morphTargets:!!V.geometry&&!!V.geometry.morphAttributes.position,morphNormals:!!V.geometry&&!!V.geometry.morphAttributes.normal,morphTargetsCount:!!V.geometry&&!!V.geometry.morphAttributes.position?V.geometry.morphAttributes.position.length:0,numDirLights:D.directional.length,numPointLights:D.point.length,numSpotLights:D.spot.length,numRectAreaLights:D.rectArea.length,numHemiLights:D.hemi.length,numDirLightShadows:D.directionalShadowMap.length,numPointLightShadows:D.pointShadowMap.length,numSpotLightShadows:D.spotShadowMap.length,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:M.dithering,shadowMapEnabled:n.shadowMap.enabled&&A.length>0,shadowMapType:n.shadowMap.type,toneMapping:M.toneMapped?n.toneMapping:O2,physicallyCorrectLights:n.physicallyCorrectLights,premultipliedAlpha:M.premultipliedAlpha,doubleSided:M.side===$2,flipSided:M.side===P1,depthPacking:M.depthPacking!==void 0?M.depthPacking:!1,index0AttributeName:M.index0AttributeName,extensionDerivatives:M.extensions&&M.extensions.derivatives,extensionFragDepth:M.extensions&&M.extensions.fragDepth,extensionDrawBuffers:M.extensions&&M.extensions.drawBuffers,extensionShaderTextureLOD:M.extensions&&M.extensions.shaderTextureLOD,rendererExtensionFragDepth:u||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||i.has("EXT_shader_texture_lod"),customProgramCacheKey:M.customProgramCacheKey()}}function z(M){let D=[];if(M.shaderID?D.push(M.shaderID):(D.push(M.customVertexShaderID),D.push(M.customFragmentShaderID)),M.defines!==void 0)for(let A in M.defines)D.push(A),D.push(M.defines[A]);return M.isRawShaderMaterial===!1&&(b(D,M),C(D,M),D.push(n.outputEncoding)),D.push(M.customProgramCacheKey),D.join()}function b(M,D){M.push(D.precision),M.push(D.outputEncoding),M.push(D.envMapMode),M.push(D.combine),M.push(D.vertexUvs),M.push(D.fogExp2),M.push(D.sizeAttenuation),M.push(D.maxBones),M.push(D.morphTargetsCount),M.push(D.numDirLights),M.push(D.numPointLights),M.push(D.numSpotLights),M.push(D.numHemiLights),M.push(D.numRectAreaLights),M.push(D.numDirLightShadows),M.push(D.numPointLightShadows),M.push(D.numSpotLightShadows),M.push(D.shadowMapType),M.push(D.toneMapping),M.push(D.numClippingPlanes),M.push(D.numClipIntersection),M.push(D.alphaWrite)}function C(M,D){o.disableAll(),D.isWebGL2&&o.enable(0),D.supportsVertexTextures&&o.enable(1),D.instancing&&o.enable(2),D.instancingColor&&o.enable(3),D.map&&o.enable(4),D.matcap&&o.enable(5),D.envMap&&o.enable(6),D.envMapCubeUV&&o.enable(7),D.lightMap&&o.enable(8),D.aoMap&&o.enable(9),D.emissiveMap&&o.enable(10),D.bumpMap&&o.enable(11),D.normalMap&&o.enable(12),D.objectSpaceNormalMap&&o.enable(13),D.tangentSpaceNormalMap&&o.enable(14),D.clearcoat&&o.enable(15),D.clearcoatMap&&o.enable(16),D.clearcoatRoughnessMap&&o.enable(17),D.clearcoatNormalMap&&o.enable(18),D.displacementMap&&o.enable(19),D.specularMap&&o.enable(20),D.roughnessMap&&o.enable(21),D.metalnessMap&&o.enable(22),D.gradientMap&&o.enable(23),D.alphaMap&&o.enable(24),D.alphaTest&&o.enable(25),D.vertexColors&&o.enable(26),D.vertexAlphas&&o.enable(27),D.vertexUvs&&o.enable(28),D.vertexTangents&&o.enable(29),D.uvsVertexOnly&&o.enable(30),D.fog&&o.enable(31),M.push(o.mask),o.disableAll(),D.useFog&&o.enable(0),D.flatShading&&o.enable(1),D.logarithmicDepthBuffer&&o.enable(2),D.skinning&&o.enable(3),D.useVertexTexture&&o.enable(4),D.morphTargets&&o.enable(5),D.morphNormals&&o.enable(6),D.premultipliedAlpha&&o.enable(7),D.shadowMapEnabled&&o.enable(8),D.physicallyCorrectLights&&o.enable(9),D.doubleSided&&o.enable(10),D.flipSided&&o.enable(11),D.depthPacking&&o.enable(12),D.dithering&&o.enable(13),D.specularIntensityMap&&o.enable(14),D.specularColorMap&&o.enable(15),D.transmission&&o.enable(16),D.transmissionMap&&o.enable(17),D.thicknessMap&&o.enable(18),D.sheen&&o.enable(19),D.sheenColorMap&&o.enable(20),D.sheenRoughnessMap&&o.enable(21),D.decodeVideoTexture&&o.enable(22),M.push(o.mask)}function E(M){let D=x[M.type],A;if(D){let H=W2[D];A=k8.clone(H.uniforms)}else A=M.uniforms;return A}function T(M,D){let A;for(let H=0,V=c.length;H0?i.push(p):m.transparent===!0?a.push(p):t.push(p)}function l(f,h,m,v,g,x){let p=s(f,h,m,v,g,x);m.transmission>0?i.unshift(p):m.transparent===!0?a.unshift(p):t.unshift(p)}function c(f,h){t.length>1&&t.sort(f||Zu),i.length>1&&i.sort(h||so),a.length>1&&a.sort(h||so)}function u(){for(let f=e,h=n.length;f=n.get(i).length?(r=new oo,n.get(i).push(r)):r=n.get(i)[a],r}function t(){n=new WeakMap}return{get:e,dispose:t}}function Yu(){let n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new k,color:new x1};break;case"SpotLight":t={position:new k,direction:new k,color:new x1,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new k,color:new x1,distance:0,decay:0};break;case"HemisphereLight":t={direction:new k,skyColor:new x1,groundColor:new x1};break;case"RectAreaLight":t={color:new x1,position:new k,halfWidth:new k,halfHeight:new k};break}return n[e.id]=t,t}}}function Ku(){let n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new z1};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new z1};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new z1,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}var $u=0;function Ju(n,e){return(e.castShadow?1:0)-(n.castShadow?1:0)}function lo(n,e){let t=new Yu,i=Ku(),a={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let u=0;u<9;u++)a.probe.push(new k);let r=new k,s=new k1,o=new k1;function l(u,f){let h=0,m=0,v=0;for(let P=0;P<9;P++)a.probe[P].set(0,0,0);let g=0,x=0,p=0,d=0,z=0,b=0,C=0,E=0;u.sort(Ju);let T=f!==!0?Math.PI:1;for(let P=0,F=u.length;P0&&(e.isWebGL2?(a.rectAreaLTC1=e1.LTC_FLOAT_1,a.rectAreaLTC2=e1.LTC_FLOAT_2):n.has("OES_texture_float_linear")===!0?(a.rectAreaLTC1=e1.LTC_FLOAT_1,a.rectAreaLTC2=e1.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(a.rectAreaLTC1=e1.LTC_HALF_1,a.rectAreaLTC2=e1.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),a.ambient[0]=h,a.ambient[1]=m,a.ambient[2]=v;let _=a.hash;(_.directionalLength!==g||_.pointLength!==x||_.spotLength!==p||_.rectAreaLength!==d||_.hemiLength!==z||_.numDirectionalShadows!==b||_.numPointShadows!==C||_.numSpotShadows!==E)&&(a.directional.length=g,a.spot.length=p,a.rectArea.length=d,a.point.length=x,a.hemi.length=z,a.directionalShadow.length=b,a.directionalShadowMap.length=b,a.pointShadow.length=C,a.pointShadowMap.length=C,a.spotShadow.length=E,a.spotShadowMap.length=E,a.directionalShadowMatrix.length=b,a.pointShadowMatrix.length=C,a.spotShadowMatrix.length=E,_.directionalLength=g,_.pointLength=x,_.spotLength=p,_.rectAreaLength=d,_.hemiLength=z,_.numDirectionalShadows=b,_.numPointShadows=C,_.numSpotShadows=E,a.version=$u++)}function c(u,f){let h=0,m=0,v=0,g=0,x=0,p=f.matrixWorldInverse;for(let d=0,z=u.length;d=t.get(r).length?(o=new uo(n,e),t.get(r).push(o)):o=t.get(r)[s],o}function a(){t=new WeakMap}return{get:i,dispose:a}}var o0=class extends D2{constructor(e){super();this.type="MeshDepthMaterial",this.depthPacking=z8,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}};o0.prototype.isMeshDepthMaterial=!0;var c0=class extends D2{constructor(e){super();this.type="MeshDistanceMaterial",this.referencePosition=new k,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};c0.prototype.isMeshDistanceMaterial=!0;var fo=` +Program Info Log: `+S+` +`+z+` +`+H)}else S!==""?console.warn("THREE.WebGLProgram: Program Info Log:",S):(P===""||F==="")&&(D=!1);D&&(this.diagnostics={runnable:M,programLog:S,vertexShader:{log:P,prefix:g},fragmentShader:{log:F,prefix:x}})}a.deleteShader(b),a.deleteShader(C);let E;this.getUniforms=function(){return E===void 0&&(E=new Ae(a,v)),E};let T;return this.getAttributes=function(){return T===void 0&&(T=Bu(a,v)),T},this.destroy=function(){i.releaseStatesOfProgram(this),a.deleteProgram(v),this.program=void 0},this.name=t.shaderName,this.id=Du++,this.cacheKey=e,this.usedTimes=1,this.program=v,this.vertexShader=b,this.fragmentShader=C,this}var Xu=0,Ei=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,i=e.fragmentShader,a=this._getShaderStage(t),r=this._getShaderStage(i),s=this._getShaderCacheForMaterial(e);return s.has(a)===!1&&(s.add(a),a.usedTimes++),s.has(r)===!1&&(s.add(r),r.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache;return t.has(e)===!1&&t.set(e,new Set),t.get(e)}_getShaderStage(e){let t=this.shaderCache;if(t.has(e)===!1){let i=new ao;t.set(e,i)}return t.get(e)}},ao=class{constructor(){this.id=Xu++,this.usedTimes=0}};function ro(n,e,t,i,a,r,s){let o=new Pt,c=new Ei,l=[],u=a.isWebGL2,f=a.logarithmicDepthBuffer,h=a.floatVertexTextures,m=a.maxVertexUniforms,v=a.vertexTextures,g=a.precision,x={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function p(M){let z=M.skeleton.bones;if(h)return 1024;{let V=Math.floor((m-20)/4),L=Math.min(V,z.length);return L0,u1=M.clearcoat>0;return{isWebGL2:u,shaderID:Z,shaderName:M.type,vertexShader:W,fragmentShader:X,defines:M.defines,customVertexShaderID:Q,customFragmentShaderID:a1,isRawShaderMaterial:M.isRawShaderMaterial===!0,glslVersion:M.glslVersion,precision:g,instancing:V.isInstancedMesh===!0,instancingColor:V.isInstancedMesh===!0&&V.instanceColor!==null,supportsVertexTextures:v,outputEncoding:B===null?n.outputEncoding:B.isXRRenderTarget===!0?B.texture.encoding:R2,map:!!M.map,matcap:!!M.matcap,envMap:!!U,envMapMode:U&&U.mapping,envMapCubeUV:!!U&&(U.mapping===a4||U.mapping===Tt),lightMap:!!M.lightMap,aoMap:!!M.aoMap,emissiveMap:!!M.emissiveMap,bumpMap:!!M.bumpMap,normalMap:!!M.normalMap,objectSpaceNormalMap:M.normalMapType===w8,tangentSpaceNormalMap:M.normalMapType===H6,decodeVideoTexture:!!M.map&&M.map.isVideoTexture===!0&&M.map.encoding===I1,clearcoat:u1,clearcoatMap:u1&&!!M.clearcoatMap,clearcoatRoughnessMap:u1&&!!M.clearcoatRoughnessMap,clearcoatNormalMap:u1&&!!M.clearcoatNormalMap,displacementMap:!!M.displacementMap,roughnessMap:!!M.roughnessMap,metalnessMap:!!M.metalnessMap,specularMap:!!M.specularMap,specularIntensityMap:!!M.specularIntensityMap,specularColorMap:!!M.specularColorMap,alphaMap:!!M.alphaMap,alphaTest:M1,alphaWrite:M.alphaWrite||M.transparent,gradientMap:!!M.gradientMap,sheen:M.sheen>0,sheenColorMap:!!M.sheenColorMap,sheenRoughnessMap:!!M.sheenRoughnessMap,transmission:M.transmission>0,transmissionMap:!!M.transmissionMap,thicknessMap:!!M.thicknessMap,combine:M.combine,vertexTangents:!!M.normalMap&&!!V.geometry&&!!V.geometry.attributes.tangent,vertexColors:M.vertexColors,vertexAlphas:M.vertexColors===!0&&!!V.geometry&&!!V.geometry.attributes.color&&V.geometry.attributes.color.itemSize===4,vertexUvs:!!M.map||!!M.bumpMap||!!M.normalMap||!!M.specularMap||!!M.alphaMap||!!M.emissiveMap||!!M.roughnessMap||!!M.metalnessMap||!!M.clearcoatMap||!!M.clearcoatRoughnessMap||!!M.clearcoatNormalMap||!!M.displacementMap||!!M.transmissionMap||!!M.thicknessMap||!!M.specularIntensityMap||!!M.specularColorMap||!!M.sheenColorMap||!!M.sheenRoughnessMap,uvsVertexOnly:!(!!M.map||!!M.bumpMap||!!M.normalMap||!!M.specularMap||!!M.alphaMap||!!M.emissiveMap||!!M.roughnessMap||!!M.metalnessMap||!!M.clearcoatNormalMap||M.transmission>0||!!M.transmissionMap||!!M.thicknessMap||!!M.specularIntensityMap||!!M.specularColorMap||M.sheen>0||!!M.sheenColorMap||!!M.sheenRoughnessMap)&&!!M.displacementMap,fog:!!L,useFog:M.fog,fogExp2:L&&L.isFogExp2,flatShading:!!M.flatShading,sizeAttenuation:M.sizeAttenuation,logarithmicDepthBuffer:f,skinning:V.isSkinnedMesh===!0&&O>0,maxBones:O,useVertexTexture:h,morphTargets:!!V.geometry&&!!V.geometry.morphAttributes.position,morphNormals:!!V.geometry&&!!V.geometry.morphAttributes.normal,morphTargetsCount:!!V.geometry&&!!V.geometry.morphAttributes.position?V.geometry.morphAttributes.position.length:0,numDirLights:D.directional.length,numPointLights:D.point.length,numSpotLights:D.spot.length,numRectAreaLights:D.rectArea.length,numHemiLights:D.hemi.length,numDirLightShadows:D.directionalShadowMap.length,numPointLightShadows:D.pointShadowMap.length,numSpotLightShadows:D.spotShadowMap.length,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:M.dithering,shadowMapEnabled:n.shadowMap.enabled&&z.length>0,shadowMapType:n.shadowMap.type,toneMapping:M.toneMapped?n.toneMapping:O2,physicallyCorrectLights:n.physicallyCorrectLights,premultipliedAlpha:M.premultipliedAlpha,doubleSided:M.side===K2,flipSided:M.side===P1,depthPacking:M.depthPacking!==void 0?M.depthPacking:!1,index0AttributeName:M.index0AttributeName,extensionDerivatives:M.extensions&&M.extensions.derivatives,extensionFragDepth:M.extensions&&M.extensions.fragDepth,extensionDrawBuffers:M.extensions&&M.extensions.drawBuffers,extensionShaderTextureLOD:M.extensions&&M.extensions.shaderTextureLOD,rendererExtensionFragDepth:u||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||i.has("EXT_shader_texture_lod"),customProgramCacheKey:M.customProgramCacheKey()}}function A(M){let D=[];if(M.shaderID?D.push(M.shaderID):(D.push(M.customVertexShaderID),D.push(M.customFragmentShaderID)),M.defines!==void 0)for(let z in M.defines)D.push(z),D.push(M.defines[z]);return M.isRawShaderMaterial===!1&&(b(D,M),C(D,M),D.push(n.outputEncoding)),D.push(M.customProgramCacheKey),D.join()}function b(M,D){M.push(D.precision),M.push(D.outputEncoding),M.push(D.envMapMode),M.push(D.combine),M.push(D.vertexUvs),M.push(D.fogExp2),M.push(D.sizeAttenuation),M.push(D.maxBones),M.push(D.morphTargetsCount),M.push(D.numDirLights),M.push(D.numPointLights),M.push(D.numSpotLights),M.push(D.numHemiLights),M.push(D.numRectAreaLights),M.push(D.numDirLightShadows),M.push(D.numPointLightShadows),M.push(D.numSpotLightShadows),M.push(D.shadowMapType),M.push(D.toneMapping),M.push(D.numClippingPlanes),M.push(D.numClipIntersection),M.push(D.alphaWrite)}function C(M,D){o.disableAll(),D.isWebGL2&&o.enable(0),D.supportsVertexTextures&&o.enable(1),D.instancing&&o.enable(2),D.instancingColor&&o.enable(3),D.map&&o.enable(4),D.matcap&&o.enable(5),D.envMap&&o.enable(6),D.envMapCubeUV&&o.enable(7),D.lightMap&&o.enable(8),D.aoMap&&o.enable(9),D.emissiveMap&&o.enable(10),D.bumpMap&&o.enable(11),D.normalMap&&o.enable(12),D.objectSpaceNormalMap&&o.enable(13),D.tangentSpaceNormalMap&&o.enable(14),D.clearcoat&&o.enable(15),D.clearcoatMap&&o.enable(16),D.clearcoatRoughnessMap&&o.enable(17),D.clearcoatNormalMap&&o.enable(18),D.displacementMap&&o.enable(19),D.specularMap&&o.enable(20),D.roughnessMap&&o.enable(21),D.metalnessMap&&o.enable(22),D.gradientMap&&o.enable(23),D.alphaMap&&o.enable(24),D.alphaTest&&o.enable(25),D.vertexColors&&o.enable(26),D.vertexAlphas&&o.enable(27),D.vertexUvs&&o.enable(28),D.vertexTangents&&o.enable(29),D.uvsVertexOnly&&o.enable(30),D.fog&&o.enable(31),M.push(o.mask),o.disableAll(),D.useFog&&o.enable(0),D.flatShading&&o.enable(1),D.logarithmicDepthBuffer&&o.enable(2),D.skinning&&o.enable(3),D.useVertexTexture&&o.enable(4),D.morphTargets&&o.enable(5),D.morphNormals&&o.enable(6),D.premultipliedAlpha&&o.enable(7),D.shadowMapEnabled&&o.enable(8),D.physicallyCorrectLights&&o.enable(9),D.doubleSided&&o.enable(10),D.flipSided&&o.enable(11),D.depthPacking&&o.enable(12),D.dithering&&o.enable(13),D.specularIntensityMap&&o.enable(14),D.specularColorMap&&o.enable(15),D.transmission&&o.enable(16),D.transmissionMap&&o.enable(17),D.thicknessMap&&o.enable(18),D.sheen&&o.enable(19),D.sheenColorMap&&o.enable(20),D.sheenRoughnessMap&&o.enable(21),D.decodeVideoTexture&&o.enable(22),M.push(o.mask)}function E(M){let D=x[M.type],z;if(D){let H=W2[D];z=k8.clone(H.uniforms)}else z=M.uniforms;return z}function T(M,D){let z;for(let H=0,V=l.length;H0?i.push(p):m.transparent===!0?a.push(p):t.push(p)}function c(f,h,m,v,g,x){let p=s(f,h,m,v,g,x);m.transmission>0?i.unshift(p):m.transparent===!0?a.unshift(p):t.unshift(p)}function l(f,h){t.length>1&&t.sort(f||Zu),i.length>1&&i.sort(h||so),a.length>1&&a.sort(h||so)}function u(){for(let f=e,h=n.length;f=n.get(i).length?(r=new oo,n.get(i).push(r)):r=n.get(i)[a],r}function t(){n=new WeakMap}return{get:e,dispose:t}}function Yu(){let n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new k,color:new x1};break;case"SpotLight":t={position:new k,direction:new k,color:new x1,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new k,color:new x1,distance:0,decay:0};break;case"HemisphereLight":t={direction:new k,skyColor:new x1,groundColor:new x1};break;case"RectAreaLight":t={color:new x1,position:new k,halfWidth:new k,halfHeight:new k};break}return n[e.id]=t,t}}}function $u(){let n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new z1};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new z1};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new z1,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}var Ku=0;function Ju(n,e){return(e.castShadow?1:0)-(n.castShadow?1:0)}function lo(n,e){let t=new Yu,i=$u(),a={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let u=0;u<9;u++)a.probe.push(new k);let r=new k,s=new k1,o=new k1;function c(u,f){let h=0,m=0,v=0;for(let P=0;P<9;P++)a.probe[P].set(0,0,0);let g=0,x=0,p=0,d=0,A=0,b=0,C=0,E=0;u.sort(Ju);let T=f!==!0?Math.PI:1;for(let P=0,F=u.length;P0&&(e.isWebGL2?(a.rectAreaLTC1=e1.LTC_FLOAT_1,a.rectAreaLTC2=e1.LTC_FLOAT_2):n.has("OES_texture_float_linear")===!0?(a.rectAreaLTC1=e1.LTC_FLOAT_1,a.rectAreaLTC2=e1.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(a.rectAreaLTC1=e1.LTC_HALF_1,a.rectAreaLTC2=e1.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),a.ambient[0]=h,a.ambient[1]=m,a.ambient[2]=v;let S=a.hash;(S.directionalLength!==g||S.pointLength!==x||S.spotLength!==p||S.rectAreaLength!==d||S.hemiLength!==A||S.numDirectionalShadows!==b||S.numPointShadows!==C||S.numSpotShadows!==E)&&(a.directional.length=g,a.spot.length=p,a.rectArea.length=d,a.point.length=x,a.hemi.length=A,a.directionalShadow.length=b,a.directionalShadowMap.length=b,a.pointShadow.length=C,a.pointShadowMap.length=C,a.spotShadow.length=E,a.spotShadowMap.length=E,a.directionalShadowMatrix.length=b,a.pointShadowMatrix.length=C,a.spotShadowMatrix.length=E,S.directionalLength=g,S.pointLength=x,S.spotLength=p,S.rectAreaLength=d,S.hemiLength=A,S.numDirectionalShadows=b,S.numPointShadows=C,S.numSpotShadows=E,a.version=Ku++)}function l(u,f){let h=0,m=0,v=0,g=0,x=0,p=f.matrixWorldInverse;for(let d=0,A=u.length;d=t.get(r).length?(o=new uo(n,e),t.get(r).push(o)):o=t.get(r)[s],o}function a(){t=new WeakMap}return{get:i,dispose:a}}var o0=class extends T2{constructor(e){super();this.type="MeshDepthMaterial",this.depthPacking=z8,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}};o0.prototype.isMeshDepthMaterial=!0;var c0=class extends T2{constructor(e){super();this.type="MeshDistanceMaterial",this.referencePosition=new k,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};c0.prototype.isMeshDistanceMaterial=!0;var fo=` void main() { gl_Position = vec4( position, 1.0 ); @@ -5728,13 +5728,13 @@ void main() { gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); } -`;function mo(n,e,t){let i=new D4,a=new z1,r=new z1,s=new q1,o=new o0({depthPacking:A8}),l=new c0,c={},u=t.maxTextureSize,f={0:P1,1:ke,2:$2},h=new ne({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new z1},radius:{value:4}},vertexShader:fo,fragmentShader:po}),m=h.clone();m.defines.HORIZONTAL_PASS=1;let v=new b2;v.setAttribute("position",new M2(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let g=new l2(v,h),x=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=A6,this.render=function(b,C,E){if(x.enabled===!1||x.autoUpdate===!1&&x.needsUpdate===!1||b.length===0)return;let T=n.getRenderTarget(),_=n.getActiveCubeFace(),P=n.getActiveMipmapLevel(),F=n.state;F.setBlending(U2),F.buffers.color.setClear(1,1,1,1),F.buffers.depth.setTest(!0),F.setScissorTest(!1);for(let M=0,D=b.length;Mu||a.y>u)&&(a.x>u&&(r.x=Math.floor(u/V.x),a.x=r.x*V.x,H.mapSize.x=r.x),a.y>u&&(r.y=Math.floor(u/V.y),a.y=r.y*V.y,H.mapSize.y=r.y)),H.map===null&&!H.isPointLightShadow&&this.type===C4){let N={minFilter:e2,magFilter:e2,format:W1};H.map=new m2(a.x,a.y,N),H.map.texture.name=A.name+".shadowMap",H.mapPass=new m2(a.x,a.y,N),H.camera.updateProjectionMatrix()}if(H.map===null){let N={minFilter:Q1,magFilter:Q1,format:W1};H.map=new m2(a.x,a.y,N),H.map.texture.name=A.name+".shadowMap",H.camera.updateProjectionMatrix()}n.setRenderTarget(H.map),n.clear();let L=H.getViewportCount();for(let N=0;N0){let A=M.uuid,H=E.uuid,V=c[A];V===void 0&&(V={},c[A]=V);let L=V[H];L===void 0&&(L=M.clone(),V[H]=L),M=L}return M.visible=E.visible,M.wireframe=E.wireframe,F===C4?M.side=E.shadowSide!==null?E.shadowSide:E.side:M.side=E.shadowSide!==null?E.shadowSide:f[E.side],M.alphaMap=E.alphaMap,M.alphaTest=E.alphaTest,M.clipShadows=E.clipShadows,M.clippingPlanes=E.clippingPlanes,M.clipIntersection=E.clipIntersection,M.displacementMap=E.displacementMap,M.displacementScale=E.displacementScale,M.displacementBias=E.displacementBias,M.wireframeLinewidth=E.wireframeLinewidth,M.linewidth=E.linewidth,T.isPointLight===!0&&M.isMeshDistanceMaterial===!0&&(M.referencePosition.setFromMatrixPosition(T.matrixWorld),M.nearDistance=_,M.farDistance=P),M}function z(b,C,E,T,_){if(b.visible===!1)return;if(b.layers.test(C.layers)&&(b.isMesh||b.isLine||b.isPoints)&&(b.castShadow||b.receiveShadow&&_===C4)&&(!b.frustumCulled||i.intersectsObject(b))){b.modelViewMatrix.multiplyMatrices(E.matrixWorldInverse,b.matrixWorld);let M=e.update(b),D=b.material;if(Array.isArray(D)){let A=M.groups;for(let H=0,V=A.length;H=1):L.indexOf("OpenGL ES")!==-1&&(V=parseFloat(/^OpenGL ES (\d)/.exec(L)[1]),H=V>=2);let N=null,U={},Z=n.getParameter(n.SCISSOR_BOX),O=n.getParameter(n.VIEWPORT),W=new q1().fromArray(Z),X=new q1().fromArray(O);function Q(I,l1,o1){let m1=new Uint8Array(4),K=n.createTexture();n.bindTexture(I,K),n.texParameteri(I,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(I,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let p1=0;p1t1||R.height>t1)&&(h1=t1/Math.max(R.width,R.height)),h1<1||w===!0)if(typeof HTMLImageElement!="undefined"&&R instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&R instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&R instanceof ImageBitmap){let Y=w?Lr:Math.floor,d1=Y(h1*R.width),f1=Y(h1*R.height);g===void 0&&(g=p(d1,f1));let s1=J?p(d1,f1):g;return s1.width=d1,s1.height=f1,s1.getContext("2d").drawImage(R,0,0,d1,f1),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+R.width+"x"+R.height+") to ("+d1+"x"+f1+")."),s1}else return"data"in R&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+R.width+"x"+R.height+")."),R;return R}function z(R){return J0(R.width)&&J0(R.height)}function b(R){return o?!1:R.wrapS!==o2||R.wrapT!==o2||R.minFilter!==Q1&&R.minFilter!==e2}function C(R,w){return R.generateMipmaps&&w&&R.minFilter!==Q1&&R.minFilter!==e2}function E(R){n.generateMipmap(R)}function T(R,w,J,t1,h1=!1){if(o===!1)return w;if(R!==null){if(n[R]!==void 0)return n[R];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+R+"'")}let Y=w;return w===n.RED&&(J===n.FLOAT&&(Y=n.R32F),J===n.HALF_FLOAT&&(Y=n.R16F),J===n.UNSIGNED_BYTE&&(Y=n.R8)),w===n.RG&&(J===n.FLOAT&&(Y=n.RG32F),J===n.HALF_FLOAT&&(Y=n.RG16F),J===n.UNSIGNED_BYTE&&(Y=n.RG8)),w===n.RGBA&&(J===n.FLOAT&&(Y=n.RGBA32F),J===n.HALF_FLOAT&&(Y=n.RGBA16F),J===n.UNSIGNED_BYTE&&(Y=t1===I1&&h1===!1?n.SRGB8_ALPHA8:n.RGBA8),J===n.UNSIGNED_SHORT_4_4_4_4&&(Y=n.RGBA4),J===n.UNSIGNED_SHORT_5_5_5_1&&(Y=n.RGB5_A1)),(Y===n.R16F||Y===n.R32F||Y===n.RG16F||Y===n.RG32F||Y===n.RGBA16F||Y===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Y}function _(R,w,J){return C(R,J)===!0||R.isFramebufferTexture&&R.minFilter!==Q1&&R.minFilter!==e2?Math.log2(Math.max(w.width,w.height))+1:R.mipmaps!==void 0&&R.mipmaps.length>0?R.mipmaps.length:R.isCompressedTexture&&Array.isArray(R.image)?w.mipmaps.length:1}function P(R){return R===Q1||R===l3||R===u3?n.NEAREST:n.LINEAR}function F(R){let w=R.target;w.removeEventListener("dispose",F),D(w),w.isVideoTexture&&v.delete(w),s.memory.textures--}function M(R){let w=R.target;w.removeEventListener("dispose",M),A(w)}function D(R){let w=i.get(R);w.__webglInit!==void 0&&(n.deleteTexture(w.__webglTexture),i.remove(R))}function A(R){let w=R.texture,J=i.get(R),t1=i.get(w);if(!!R){if(t1.__webglTexture!==void 0&&(n.deleteTexture(t1.__webglTexture),s.memory.textures--),R.depthTexture&&R.depthTexture.dispose(),R.isWebGLCubeRenderTarget)for(let h1=0;h1<6;h1++)n.deleteFramebuffer(J.__webglFramebuffer[h1]),J.__webglDepthbuffer&&n.deleteRenderbuffer(J.__webglDepthbuffer[h1]);else n.deleteFramebuffer(J.__webglFramebuffer),J.__webglDepthbuffer&&n.deleteRenderbuffer(J.__webglDepthbuffer),J.__webglMultisampledFramebuffer&&n.deleteFramebuffer(J.__webglMultisampledFramebuffer),J.__webglColorRenderbuffer&&n.deleteRenderbuffer(J.__webglColorRenderbuffer),J.__webglDepthRenderbuffer&&n.deleteRenderbuffer(J.__webglDepthRenderbuffer);if(R.isWebGLMultipleRenderTargets)for(let h1=0,Y=w.length;h1=l&&console.warn("THREE.WebGLTextures: Trying to use "+R+" texture units while this GPU supports only "+l),H+=1,R}function N(R,w){let J=i.get(R);if(R.isVideoTexture&&j2(R),R.version>0&&J.__version!==R.version){let t1=R.image;if(t1===void 0)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(t1.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{B(J,R,w);return}}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_2D,J.__webglTexture)}function U(R,w){let J=i.get(R);if(R.version>0&&J.__version!==R.version){B(J,R,w);return}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_2D_ARRAY,J.__webglTexture)}function Z(R,w){let J=i.get(R);if(R.version>0&&J.__version!==R.version){B(J,R,w);return}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_3D,J.__webglTexture)}function O(R,w){let J=i.get(R);if(R.version>0&&J.__version!==R.version){M1(J,R,w);return}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_CUBE_MAP,J.__webglTexture)}let W={[Tt]:n.REPEAT,[o2]:n.CLAMP_TO_EDGE,[Ht]:n.MIRRORED_REPEAT},X={[Q1]:n.NEAREST,[l3]:n.NEAREST_MIPMAP_NEAREST,[u3]:n.NEAREST_MIPMAP_LINEAR,[e2]:n.LINEAR,[c8]:n.LINEAR_MIPMAP_NEAREST,[r4]:n.LINEAR_MIPMAP_LINEAR};function Q(R,w,J){if(J?(n.texParameteri(R,n.TEXTURE_WRAP_S,W[w.wrapS]),n.texParameteri(R,n.TEXTURE_WRAP_T,W[w.wrapT]),(R===n.TEXTURE_3D||R===n.TEXTURE_2D_ARRAY)&&n.texParameteri(R,n.TEXTURE_WRAP_R,W[w.wrapR]),n.texParameteri(R,n.TEXTURE_MAG_FILTER,X[w.magFilter]),n.texParameteri(R,n.TEXTURE_MIN_FILTER,X[w.minFilter])):(n.texParameteri(R,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(R,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(R===n.TEXTURE_3D||R===n.TEXTURE_2D_ARRAY)&&n.texParameteri(R,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(w.wrapS!==o2||w.wrapT!==o2)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(R,n.TEXTURE_MAG_FILTER,P(w.magFilter)),n.texParameteri(R,n.TEXTURE_MIN_FILTER,P(w.minFilter)),w.minFilter!==Q1&&w.minFilter!==e2&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),e.has("EXT_texture_filter_anisotropic")===!0){let t1=e.get("EXT_texture_filter_anisotropic");if(w.type===J2&&e.has("OES_texture_float_linear")===!1||o===!1&&w.type===be&&e.has("OES_texture_half_float_linear")===!1)return;(w.anisotropy>1||i.get(w).__currentAnisotropy)&&(n.texParameterf(R,t1.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(w.anisotropy,a.getMaxAnisotropy())),i.get(w).__currentAnisotropy=w.anisotropy)}}function a1(R,w){R.__webglInit===void 0&&(R.__webglInit=!0,w.addEventListener("dispose",F),R.__webglTexture=n.createTexture(),s.memory.textures++)}function B(R,w,J){let t1=n.TEXTURE_2D;w.isDataTexture2DArray&&(t1=n.TEXTURE_2D_ARRAY),w.isDataTexture3D&&(t1=n.TEXTURE_3D),a1(R,w),t.activeTexture(n.TEXTURE0+J),t.bindTexture(t1,R.__webglTexture),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,w.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,w.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE);let h1=b(w)&&z(w.image)===!1,Y=d(w.image,h1,!1,u);Y=v2(w,Y);let d1=z(Y)||o,f1=r.convert(w.format,w.encoding),s1=r.convert(w.type),r1=T(w.internalFormat,f1,s1,w.encoding,w.isVideoTexture);Q(t1,w,d1);let b1,I=w.mipmaps,l1=o&&w.isVideoTexture!==!0,o1=R.__version===void 0,m1=_(w,Y,d1);if(w.isDepthTexture)r1=n.DEPTH_COMPONENT,o?w.type===J2?r1=n.DEPTH_COMPONENT32F:w.type===G4?r1=n.DEPTH_COMPONENT24:w.type===ye?r1=n.DEPTH24_STENCIL8:r1=n.DEPTH_COMPONENT16:w.type===J2&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),w.format===Q2&&r1===n.DEPTH_COMPONENT&&w.type!==Oe&&w.type!==G4&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),w.type=Oe,s1=r.convert(w.type)),w.format===Ce&&r1===n.DEPTH_COMPONENT&&(r1=n.DEPTH_STENCIL,w.type!==ye&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),w.type=ye,s1=r.convert(w.type))),l1&&o1?t.texStorage2D(n.TEXTURE_2D,1,r1,Y.width,Y.height):t.texImage2D(n.TEXTURE_2D,0,r1,Y.width,Y.height,0,f1,s1,null);else if(w.isDataTexture)if(I.length>0&&d1){l1&&o1&&t.texStorage2D(n.TEXTURE_2D,m1,r1,I[0].width,I[0].height);for(let K=0,p1=I.length;K0&&d1){l1&&o1&&t.texStorage2D(n.TEXTURE_2D,m1,r1,I[0].width,I[0].height);for(let K=0,p1=I.length;K0&&o1++,t.texStorage2D(n.TEXTURE_CUBE_MAP,o1,b1,Y[0].width,Y[0].height));for(let K=0;K<6;K++)if(h1){I?t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,0,0,Y[K].width,Y[K].height,s1,r1,Y[K].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,b1,Y[K].width,Y[K].height,0,s1,r1,Y[K].data);for(let p1=0;p1m+v?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&h<=m-v&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(r=t.getPose(e.gripSpace,i),r!==null&&(l.matrix.fromArray(r.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),r.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(r.linearVelocity)):l.hasLinearVelocity=!1,r.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(r.angularVelocity)):l.hasAngularVelocity=!1));return o!==null&&(o.visible=a!==null),l!==null&&(l.visible=r!==null),c!==null&&(c.visible=s!==null),this}};var Wt=class extends K1{constructor(e,t,i,a,r,s,o,l,c,u){if(u=u!==void 0?u:Q2,u!==Q2&&u!==Ce)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&u===Q2&&(i=Oe),i===void 0&&u===Ce&&(i=ye);super(null,a,r,s,o,l,u,i,c);this.image={width:e,height:t},this.magFilter=o!==void 0?o:Q1,this.minFilter=l!==void 0?l:Q1,this.flipY=!1,this.generateMipmaps=!1}};Wt.prototype.isDepthTexture=!0;var Li=class extends F2{constructor(e,t){super();let i=this,a=null,r=1,s=null,o="local-floor",l=e.extensions.has("WEBGL_multisampled_render_to_texture"),c=null,u=null,f=null,h=null,m=!1,v=null,g=t.getContextAttributes(),x=null,p=null,d=[],z=new Map,b=new t2;b.layers.enable(1),b.viewport=new q1;let C=new t2;C.layers.enable(2),C.viewport=new q1;let E=[b,C],T=new l0;T.layers.enable(1),T.layers.enable(2);let _=null,P=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(O){let W=d[O];return W===void 0&&(W=new qt,d[O]=W),W.getTargetRaySpace()},this.getControllerGrip=function(O){let W=d[O];return W===void 0&&(W=new qt,d[O]=W),W.getGripSpace()},this.getHand=function(O){let W=d[O];return W===void 0&&(W=new qt,d[O]=W),W.getHandSpace()};function F(O){let W=z.get(O.inputSource);W&&W.dispatchEvent({type:O.type,data:O.inputSource})}function M(){z.forEach(function(O,W){O.disconnect(W)}),z.clear(),_=null,P=null,e.setRenderTarget(x),h=null,f=null,u=null,a=null,p=null,Z.stop(),i.isPresenting=!1,i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(O){r=O,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(O){o=O,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return s},this.getBaseLayer=function(){return f!==null?f:h},this.getBinding=function(){return u},this.getFrame=function(){return v},this.getSession=function(){return a},this.setSession=async function(O){if(a=O,a!==null){if(x=e.getRenderTarget(),a.addEventListener("select",F),a.addEventListener("selectstart",F),a.addEventListener("selectend",F),a.addEventListener("squeeze",F),a.addEventListener("squeezestart",F),a.addEventListener("squeezeend",F),a.addEventListener("end",M),a.addEventListener("inputsourceschange",D),g.xrCompatible!==!0&&await t.makeXRCompatible(),a.renderState.layers===void 0||e.capabilities.isWebGL2===!1){let W={antialias:a.renderState.layers===void 0?g.antialias:!0,alpha:g.alpha,depth:g.depth,stencil:g.stencil,framebufferScaleFactor:r};h=new XRWebGLLayer(a,t,W),a.updateRenderState({baseLayer:h}),p=new m2(h.framebufferWidth,h.framebufferHeight,{format:W1,type:N2,encoding:e.outputEncoding})}else{m=g.antialias;let W=null,X=null,Q=null;g.depth&&(Q=g.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,W=g.stencil?Ce:Q2,X=g.stencil?ye:Oe);let a1={colorFormat:e.outputEncoding===I1?t.SRGB8_ALPHA8:t.RGBA8,depthFormat:Q,scaleFactor:r};u=new XRWebGLBinding(a,t),f=u.createProjectionLayer(a1),a.updateRenderState({layers:[f]}),m?p=new ht(f.textureWidth,f.textureHeight,{format:W1,type:N2,depthTexture:new Wt(f.textureWidth,f.textureHeight,X,void 0,void 0,void 0,void 0,void 0,void 0,W),stencilBuffer:g.stencil,ignoreDepth:f.ignoreDepthValues,useRenderToTexture:l,encoding:e.outputEncoding}):p=new m2(f.textureWidth,f.textureHeight,{format:W1,type:N2,depthTexture:new Wt(f.textureWidth,f.textureHeight,X,void 0,void 0,void 0,void 0,void 0,void 0,W),stencilBuffer:g.stencil,ignoreDepth:f.ignoreDepthValues,encoding:e.outputEncoding})}p.isXRRenderTarget=!0,this.setFoveation(1),s=await a.requestReferenceSpace(o),Z.setContext(a),Z.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}};function D(O){let W=a.inputSources;for(let X=0;X0&&(p.alphaTest.value=d.alphaTest);let z=n.get(d).envMap;z&&(p.envMap.value=z,p.flipEnvMap.value=z.isCubeTexture&&z.isRenderTargetTexture===!1?-1:1,p.reflectivity.value=d.reflectivity,p.ior.value=d.ior,p.refractionRatio.value=d.refractionRatio),d.lightMap&&(p.lightMap.value=d.lightMap,p.lightMapIntensity.value=d.lightMapIntensity),d.aoMap&&(p.aoMap.value=d.aoMap,p.aoMapIntensity.value=d.aoMapIntensity);let b;d.map?b=d.map:d.specularMap?b=d.specularMap:d.displacementMap?b=d.displacementMap:d.normalMap?b=d.normalMap:d.bumpMap?b=d.bumpMap:d.roughnessMap?b=d.roughnessMap:d.metalnessMap?b=d.metalnessMap:d.alphaMap?b=d.alphaMap:d.emissiveMap?b=d.emissiveMap:d.clearcoatMap?b=d.clearcoatMap:d.clearcoatNormalMap?b=d.clearcoatNormalMap:d.clearcoatRoughnessMap?b=d.clearcoatRoughnessMap:d.specularIntensityMap?b=d.specularIntensityMap:d.specularColorMap?b=d.specularColorMap:d.transmissionMap?b=d.transmissionMap:d.thicknessMap?b=d.thicknessMap:d.sheenColorMap?b=d.sheenColorMap:d.sheenRoughnessMap&&(b=d.sheenRoughnessMap),b!==void 0&&(b.isWebGLRenderTarget&&(b=b.texture),b.matrixAutoUpdate===!0&&b.updateMatrix(),p.uvTransform.value.copy(b.matrix));let C;d.aoMap?C=d.aoMap:d.lightMap&&(C=d.lightMap),C!==void 0&&(C.isWebGLRenderTarget&&(C=C.texture),C.matrixAutoUpdate===!0&&C.updateMatrix(),p.uv2Transform.value.copy(C.matrix))}function a(p,d){p.diffuse.value.copy(d.color),p.opacity.value=d.opacity}function r(p,d){p.dashSize.value=d.dashSize,p.totalSize.value=d.dashSize+d.gapSize,p.scale.value=d.scale}function s(p,d,z,b){p.diffuse.value.copy(d.color),p.opacity.value=d.opacity,p.size.value=d.size*z,p.scale.value=b*.5,d.map&&(p.map.value=d.map),d.alphaMap&&(p.alphaMap.value=d.alphaMap),d.alphaTest>0&&(p.alphaTest.value=d.alphaTest);let C;d.map?C=d.map:d.alphaMap&&(C=d.alphaMap),C!==void 0&&(C.matrixAutoUpdate===!0&&C.updateMatrix(),p.uvTransform.value.copy(C.matrix))}function o(p,d){p.diffuse.value.copy(d.color),p.opacity.value=d.opacity,p.rotation.value=d.rotation,d.map&&(p.map.value=d.map),d.alphaMap&&(p.alphaMap.value=d.alphaMap),d.alphaTest>0&&(p.alphaTest.value=d.alphaTest);let z;d.map?z=d.map:d.alphaMap&&(z=d.alphaMap),z!==void 0&&(z.matrixAutoUpdate===!0&&z.updateMatrix(),p.uvTransform.value.copy(z.matrix))}function l(p,d){d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap)}function c(p,d){p.specular.value.copy(d.specular),p.shininess.value=Math.max(d.shininess,1e-4),d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function u(p,d){d.gradientMap&&(p.gradientMap.value=d.gradientMap),d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function f(p,d){p.roughness.value=d.roughness,p.metalness.value=d.metalness,d.roughnessMap&&(p.roughnessMap.value=d.roughnessMap),d.metalnessMap&&(p.metalnessMap.value=d.metalnessMap),d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias),n.get(d).envMap&&(p.envMapIntensity.value=d.envMapIntensity)}function h(p,d,z){f(p,d),p.ior.value=d.ior,d.sheen>0&&(p.sheenColor.value.copy(d.sheenColor).multiplyScalar(d.sheen),p.sheenRoughness.value=d.sheenRoughness,d.sheenColorMap&&(p.sheenColorMap.value=d.sheenColorMap),d.sheenRoughnessMap&&(p.sheenRoughnessMap.value=d.sheenRoughnessMap)),d.clearcoat>0&&(p.clearcoat.value=d.clearcoat,p.clearcoatRoughness.value=d.clearcoatRoughness,d.clearcoatMap&&(p.clearcoatMap.value=d.clearcoatMap),d.clearcoatRoughnessMap&&(p.clearcoatRoughnessMap.value=d.clearcoatRoughnessMap),d.clearcoatNormalMap&&(p.clearcoatNormalScale.value.copy(d.clearcoatNormalScale),p.clearcoatNormalMap.value=d.clearcoatNormalMap,d.side===P1&&p.clearcoatNormalScale.value.negate())),d.transmission>0&&(p.transmission.value=d.transmission,p.transmissionSamplerMap.value=z.texture,p.transmissionSamplerSize.value.set(z.width,z.height),d.transmissionMap&&(p.transmissionMap.value=d.transmissionMap),p.thickness.value=d.thickness,d.thicknessMap&&(p.thicknessMap.value=d.thicknessMap),p.attenuationDistance.value=d.attenuationDistance,p.attenuationColor.value.copy(d.attenuationColor)),p.specularIntensity.value=d.specularIntensity,p.specularColor.value.copy(d.specularColor),d.specularIntensityMap&&(p.specularIntensityMap.value=d.specularIntensityMap),d.specularColorMap&&(p.specularColorMap.value=d.specularColorMap)}function m(p,d){d.matcap&&(p.matcap.value=d.matcap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function v(p,d){d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function g(p,d){d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias),p.referencePosition.value.copy(d.referencePosition),p.nearDistance.value=d.nearDistance,p.farDistance.value=d.farDistance}function x(p,d){d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}return{refreshFogUniforms:e,refreshMaterialUniforms:t}}function th(){let n=S4("canvas");return n.style.display="block",n}function Di(n={}){let e=n.canvas!==void 0?n.canvas:th(),t=n.context!==void 0?n.context:null,i=n.alpha!==void 0?n.alpha:!1,a=n.depth!==void 0?n.depth:!0,r=n.stencil!==void 0?n.stencil:!0,s=n.antialias!==void 0?n.antialias:!1,o=n.premultipliedAlpha!==void 0?n.premultipliedAlpha:!0,l=n.preserveDrawingBuffer!==void 0?n.preserveDrawingBuffer:!1,c=n.powerPreference!==void 0?n.powerPreference:"default",u=n.failIfMajorPerformanceCaveat!==void 0?n.failIfMajorPerformanceCaveat:!1,f=null,h=null,m=[],v=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=R2,this.physicallyCorrectLights=!1,this.toneMapping=O2,this.toneMappingExposure=1;let g=this,x=!1,p=0,d=0,z=null,b=-1,C=null,E=new q1,T=new q1,_=null,P=e.width,F=e.height,M=1,D=null,A=null,H=new q1(0,0,P,F),V=new q1(0,0,P,F),L=!1,N=new D4,U=!1,Z=!1,O=null,W=new k1,X=new k,Q={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function a1(){return z===null?M:1}let B=t;function M1(S,G){for(let j=0;j0?h=v[v.length-1]:h=null,m.pop(),m.length>0?f=m[m.length-1]:f=null};function Z1(S,G,j,q){if(S.visible===!1)return;if(S.layers.test(G.layers)){if(S.isGroup)j=S.renderOrder;else if(S.isLOD)S.autoUpdate===!0&&S.update(G);else if(S.isLight)h.pushLight(S),S.castShadow&&h.pushShadow(S);else if(S.isSprite){if(!S.frustumCulled||N.intersectsSprite(S)){q&&X.setFromMatrixPosition(S.matrixWorld).applyMatrix4(W);let y1=v2.update(S),S1=S.material;S1.visible&&f.push(S,y1,S1,j,X.z,null)}}else if((S.isMesh||S.isLine||S.isPoints)&&(S.isSkinnedMesh&&S.skeleton.frame!==T1.render.frame&&(S.skeleton.update(),S.skeleton.frame=T1.render.frame),!S.frustumCulled||N.intersectsObject(S))){q&&X.setFromMatrixPosition(S.matrixWorld).applyMatrix4(W);let y1=v2.update(S),S1=S.material;if(Array.isArray(S1)){let w1=y1.groups;for(let B1=0,H1=w1.length;B10&&_e($,G,j),q&&n1.viewport(E.copy(q)),$.length>0&&Zt($,G,j),g1.length>0&&Zt(g1,G,j),y1.length>0&&Zt(y1,G,j)}function _e(S,G,j){if(O===null){let y1=s===!0&&v1.isWebGL2===!0?ht:m2;O=new y1(1024,1024,{generateMipmaps:!0,type:d1.convert(be)!==null?be:N2,minFilter:r4,magFilter:Q1,wrapS:o2,wrapT:o2,useRenderToTexture:u1.has("WEBGL_multisampled_render_to_texture")})}let q=g.getRenderTarget();g.setRenderTarget(O),g.clear();let $=g.toneMapping;g.toneMapping=O2,Zt(S,G,j),g.toneMapping=$,C1.updateMultisampleRenderTarget(O),C1.updateRenderTargetMipmap(O),g.setRenderTarget(q)}function Zt(S,G,j){let q=G.isScene===!0?G.overrideMaterial:null;for(let $=0,g1=S.length;$=0&&G<=S.width-q&&j>=0&&j<=S.height-$&&B.readPixels(G,j,q,$,d1.convert(B1),d1.convert(H1),g1):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{let w1=z!==null?A1.get(z).__webglFramebuffer:null;n1.bindFramebuffer(B.FRAMEBUFFER,w1)}}},this.copyFramebufferToTexture=function(S,G,j=0){if(G.isFramebufferTexture!==!0){console.error("THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.");return}let q=Math.pow(2,-j),$=Math.floor(G.image.width*q),g1=Math.floor(G.image.height*q);C1.setTexture2D(G,0),B.copyTexSubImage2D(B.TEXTURE_2D,j,0,0,S.x,S.y,$,g1),n1.unbindTexture()},this.copyTextureToTexture=function(S,G,j,q=0){let $=G.image.width,g1=G.image.height,y1=d1.convert(j.format),S1=d1.convert(j.type);C1.setTexture2D(j,0),B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,j.flipY),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,j.premultiplyAlpha),B.pixelStorei(B.UNPACK_ALIGNMENT,j.unpackAlignment),G.isDataTexture?B.texSubImage2D(B.TEXTURE_2D,q,S.x,S.y,$,g1,y1,S1,G.image.data):G.isCompressedTexture?B.compressedTexSubImage2D(B.TEXTURE_2D,q,S.x,S.y,G.mipmaps[0].width,G.mipmaps[0].height,y1,G.mipmaps[0].data):B.texSubImage2D(B.TEXTURE_2D,q,S.x,S.y,y1,S1,G.image),q===0&&j.generateMipmaps&&B.generateMipmap(B.TEXTURE_2D),n1.unbindTexture()},this.copyTextureToTexture3D=function(S,G,j,q,$=0){if(g.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let g1=S.max.x-S.min.x+1,y1=S.max.y-S.min.y+1,S1=S.max.z-S.min.z+1,w1=d1.convert(q.format),B1=d1.convert(q.type),H1;if(q.isDataTexture3D)C1.setTexture3D(q,0),H1=B.TEXTURE_3D;else if(q.isDataTexture2DArray)C1.setTexture2DArray(q,0),H1=B.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,q.flipY),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,q.premultiplyAlpha),B.pixelStorei(B.UNPACK_ALIGNMENT,q.unpackAlignment);let V1=B.getParameter(B.UNPACK_ROW_LENGTH),Y1=B.getParameter(B.UNPACK_IMAGE_HEIGHT),p4=B.getParameter(B.UNPACK_SKIP_PIXELS),N4=B.getParameter(B.UNPACK_SKIP_ROWS),R1=B.getParameter(B.UNPACK_SKIP_IMAGES),le=j.isCompressedTexture?j.mipmaps[0]:j.image;B.pixelStorei(B.UNPACK_ROW_LENGTH,le.width),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,le.height),B.pixelStorei(B.UNPACK_SKIP_PIXELS,S.min.x),B.pixelStorei(B.UNPACK_SKIP_ROWS,S.min.y),B.pixelStorei(B.UNPACK_SKIP_IMAGES,S.min.z),j.isDataTexture||j.isDataTexture3D?B.texSubImage3D(H1,$,G.x,G.y,G.z,g1,y1,S1,w1,B1,le.data):j.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),B.compressedTexSubImage3D(H1,$,G.x,G.y,G.z,g1,y1,S1,w1,le.data)):B.texSubImage3D(H1,$,G.x,G.y,G.z,g1,y1,S1,w1,B1,le),B.pixelStorei(B.UNPACK_ROW_LENGTH,V1),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,Y1),B.pixelStorei(B.UNPACK_SKIP_PIXELS,p4),B.pixelStorei(B.UNPACK_SKIP_ROWS,N4),B.pixelStorei(B.UNPACK_SKIP_IMAGES,R1),$===0&&q.generateMipmaps&&B.generateMipmap(H1),n1.unbindTexture()},this.initTexture=function(S){C1.setTexture2D(S,0),n1.unbindTexture()},this.resetState=function(){p=0,d=0,z=null,n1.reset(),f1.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}Di.prototype.isWebGLRenderer=!0;var u0=class extends j1{constructor(){super();this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),t}};u0.prototype.isScene=!0;var dt=class extends j1{constructor(e,t=1){super();this.type="Light",this.color=new x1(e),this.intensity=t}dispose(){}copy(e){return super.copy(e),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}};dt.prototype.isLight=!0;var h0=class extends dt{constructor(e,t){super(e,t);this.type="AmbientLight"}};h0.prototype.isAmbientLight=!0;var bo=new k1,yo=new k,Co=new k,Ti=class{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new z1(512,512),this.map=null,this.mapPass=null,this.matrix=new k1,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new D4,this._frameExtents=new z1(1,1),this._viewportCount=1,this._viewports=[new q1(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,i=this.matrix;yo.setFromMatrixPosition(e.matrixWorld),t.position.copy(yo),Co.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(Co),t.updateMatrixWorld(),bo.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(bo),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(t.projectionMatrix),i.multiply(t.matrixWorldInverse)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}};var f0=class extends Ti{constructor(){super(new t2(50,1,.5,500));this.focus=1}updateMatrices(e){let t=this.camera,i=_t*2*e.angle*this.focus,a=this.mapSize.width/this.mapSize.height,r=e.distance||t.far;(i!==t.fov||a!==t.aspect||r!==t.far)&&(t.fov=i,t.aspect=a,t.far=r,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}};f0.prototype.isSpotLightShadow=!0;var d0=class extends dt{constructor(e,t,i=0,a=Math.PI/3,r=0,s=1){super(e,t);this.type="SpotLight",this.position.copy(j1.DefaultUp),this.updateMatrix(),this.target=new j1,this.distance=i,this.angle=a,this.penumbra=r,this.decay=s,this.shadow=new f0}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}};d0.prototype.isSpotLight=!0;var p0=class extends D2{constructor(e){super();this.type="ShadowMaterial",this.color=new x1(0),this.transparent=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this}};p0.prototype.isShadowMaterial=!0;var m0=class extends jt.Component{constructor(e){super();this.plugin=e;this.event=new jt.Events;this.container=createDiv("renderer-container");this.shadows=!0;this.iterations=0;this.frame_rate=1/60;this.animating=!1;this.factory=new Ao(this.WIDTH,this.HEIGHT,this.plugin);this.colors={ambient:16777215,spotlight:16777215};this.display={currentWidth:null,currentHeight:null,containerWidth:null,containerHeight:null,aspect:null,scale:null};this.cameraHeight={max:null,close:null,medium:null,far:null};this.extraFrames=m0.DEFAULT_EXTRA_FRAMES;this.renderer=new Di({alpha:!0,antialias:!0})}get WIDTH(){return this.container.clientWidth/2}get HEIGHT(){return this.container.clientHeight/2}get ASPECT(){return this.WIDTH/this.HEIGHT}get scale(){return(this.WIDTH*this.WIDTH+this.HEIGHT*this.HEIGHT)/13}get canvasEl(){return this.renderer?this.renderer.domElement:null}setDice(e){this.animating&&(this.unload(),this.load()),this.stack=e,this.current=this.factory.getDice(this.stack,{x:(Math.random()*2-1)*this.WIDTH,y:-(Math.random()*2-1)*this.HEIGHT}),this.scene.add(...[...this.current.values()].flat().map(t=>t.geometry)),this.world.add(...[...this.current.values()].flat())}onload(){this.addChild(this.factory),this.container.empty(),this.container.style.opacity="1",document.body.appendChild(this.container),this.renderer.shadowMap.enabled=this.shadows,this.renderer.shadowMap.type=w6,this.container.appendChild(this.renderer.domElement),this.renderer.setClearColor(0,0),this.scene=new u0,this.initScene(),this.registerDomEvent(window,"resize",()=>{this.initScene()}),this.initWorld()}async start(){return new Promise(async(e,t)=>{this.current.size||t(),this.event.on("throw-finished",i=>{e(i)}),this.event.on("error",i=>{t(i)}),this.animating=!0,this.extraFrames=m0.DEFAULT_EXTRA_FRAMES,this.render()})}enableShadows(){this.shadows=!0,this.renderer&&(this.renderer.shadowMap.enabled=this.shadows),this.light&&(this.light.castShadow=this.shadows),this.desk&&(this.desk.receiveShadow=this.shadows)}disableShadows(){this.shadows=!1,this.renderer&&(this.renderer.shadowMap.enabled=this.shadows),this.light&&(this.light.castShadow=this.shadows),this.desk&&(this.desk.receiveShadow=this.shadows)}get mw(){return Math.max(this.WIDTH,this.HEIGHT)}setDimensions(e){this.display.currentWidth=this.container.clientWidth/2,this.display.currentHeight=this.container.clientHeight/2,e?(this.display.containerWidth=e.w,this.display.containerHeight=e.h):(this.display.containerWidth=this.display.currentWidth,this.display.containerHeight=this.display.currentHeight),this.display.aspect=Math.min(this.display.currentWidth/this.display.containerWidth,this.display.currentHeight/this.display.containerHeight),this.display.scale=Math.sqrt(this.display.containerWidth*this.display.containerWidth+this.display.containerHeight*this.display.containerHeight)/13,this.renderer.setSize(this.display.currentWidth*2,this.display.currentHeight*2),this.cameraHeight.max=this.display.currentHeight/this.display.aspect/Math.tan(10*Math.PI/180),this.factory.width=this.display.currentWidth,this.factory.height=this.display.currentHeight,this.cameraHeight.medium=this.cameraHeight.max/1.5,this.cameraHeight.far=this.cameraHeight.max,this.cameraHeight.close=this.cameraHeight.max/2}initCamera(){this.camera&&this.scene.remove(this.camera),this.camera=new t2(20,this.display.currentWidth/this.display.currentHeight,1,this.cameraHeight.max*1.3),this.camera.position.z=this.cameraHeight.far,this.camera.lookAt(new k(0,0,0))}initLighting(){let e=Math.max(this.display.containerWidth,this.display.containerHeight);this.light&&this.scene.remove(this.light),this.ambientLight&&this.scene.remove(this.ambientLight),this.light=new d0(this.colors.spotlight,.25),this.light.position.set(-e/2,e/2,e*3),this.light.target.position.set(0,0,0),this.light.distance=e*5,this.light.angle=Math.PI/4,this.light.castShadow=this.shadows,this.light.shadow.camera.near=e/10,this.light.shadow.camera.far=e*5,this.light.shadow.camera.fov=50,this.light.shadow.bias=.001,this.light.shadow.mapSize.width=1024,this.light.shadow.mapSize.height=1024,this.scene.add(this.light),this.ambientLight=new h0(16777215,.9),this.scene.add(this.ambientLight)}initDesk(){this.desk&&this.scene.remove(this.desk);let e=new p0;e.opacity=.5,this.desk=new l2(new T4(this.display.containerWidth*6,this.display.containerHeight*6,1,1),e),this.desk.receiveShadow=this.shadows,this.scene.add(this.desk)}initScene(){this.setDimensions(),this.initCamera(),this.initLighting(),this.initDesk(),this.camera.updateProjectionMatrix(),this.renderer.render(this.scene,this.camera)}initWorld(){this.world=new zo(this.WIDTH,this.HEIGHT),this.iterations=0}getResultsForRoller(e){let t=this.current.get(e),i=t.filter(s=>s instanceof L4&&s.isPercentile),a=[];for(let s=0;s!(s instanceof L4&&s.isPercentile)).map(s=>s.getUpsideValue()).filter(s=>s),...a.map(([s,o])=>{let l=s.getUpsideValue();if(!o)return l;let c=o.getUpsideValue();return l===10&&c==10?100:(c==10&&(c=0),l==10&&(l=0),l*10+c)}).filter(s=>s)]}returnResult(){for(let e of this.stack.dynamic){if(!this.current.has(e))continue;let t=this.getResultsForRoller(e);!t||e.setResults(t)}this.event.trigger("throw-finished",this.stack)}unrender(e=this){e.container.style.opacity="0",e.registerInterval(window.setTimeout(()=>{e.animating=!1,e.unload()},1e3))}render(){if(this.throwFinished())if(this.extraFrames>10)this.extraFrames--;else{try{for(let[e,t]of this.current)if(!(!e.modifiers.size||!this.getResultsForRoller(e))&&e.modifiers.has("r")){let a=t.filter(r=>(e.conditions.length||e.conditions.push({operator:"=",comparer:e.faces.min,value:""}),e.checkCondition(r.result,e.conditions)&&r.rerolled{r.rerolled++;let s={x:(Math.random()*2-1)*this.WIDTH,y:-(Math.random()*2-1)*this.HEIGHT};r.vector=r.generateVector(s),r.create(),r.set(),r.stopped=!1}),this.animation=requestAnimationFrame(()=>this.render());return}}if(this.returnResult(),this.plugin.data.renderTime)this.registerInterval(window.setTimeout(()=>this.unrender(),this.plugin.data.renderTime));else{let t=function(){e.unrender(e),document.body.removeEventListener("click",t)},e=this;this.registerDomEvent(document.body,"click",t)}}catch(e){this.event.trigger("error",e)}return}this.animation=requestAnimationFrame(()=>this.render()),this.world.step(this.frame_rate),this.iterations++,this.current.forEach(e=>{e.map(t=>t.set())}),this.renderer.render(this.scene,this.camera)}dispose(...e){e.forEach(t=>{"dispose"in t&&t.dispose(),t.children&&this.dispose(...t.children)})}detach(){}onunload(){cancelAnimationFrame(this.animation),this.container.detach(),this.container.empty(),this.renderer.domElement.detach(),this.renderer.dispose(),this.factory.dispose(),this.ambientLight.dispose(),this.light.dispose(),this.scene.children.forEach(e=>this.dispose(e)),this.scene.remove(this.scene,...this.scene.children,...[...this.current.values()].flat().map(e=>e.geometry)),this.current.forEach(e=>{e.forEach(t=>{[...Array.isArray(t.geometry.material)?t.geometry.material:[t.geometry.material]].forEach(a=>a&&a.dispose()),this.world.world.removeBody(t.body)})}),this.current=new Map}onThrowFinished(){}throwFinished(){let e=!0,t=4;if(this.iterations<10/this.frame_rate)for(let i of this.current.values())for(let a of i){if(a.stopped===!0)continue;let r=a.body.angularVelocity,s=a.body.velocity;if(Math.abs(r.x)3){a.stopped=!0;continue}}else a.stopped=this.iterations;e=!1}else a.stopped=void 0,e=!1}return e}},Xt=m0;Xt.DEFAULT_EXTRA_FRAMES=30;var zo=class{constructor(e,t){this.WIDTH=e;this.HEIGHT=t;this.world=new K0({gravity:new y(0,0,-9.82*400)});this.ground=this.getPlane();this.diceMaterial=new Ve;this.deskMaterial=new Ve;this.barrierMaterial=new Ve;this.world.broadphase=new d6,this.world.allowSleep=!0,this.ground.position.set(0,0,0),this.world.addBody(this.ground),this.buildWalls()}add(...e){e.forEach(t=>{this.world.addBody(t.body)})}step(e=1/60){let t=performance.now()/1e3;if(!this.lastCallTime)this.world.step(e);else{let i=t-this.lastCallTime;this.world.step(e,i)}this.lastCallTime=t}buildWalls(){this.world.addContactMaterial(new He(this.deskMaterial,this.diceMaterial,{friction:.01,restitution:.5,contactEquationRelaxation:3,contactEquationStiffness:1e8})),this.world.addContactMaterial(new He(this.barrierMaterial,this.diceMaterial,{friction:.01,restitution:1,contactEquationRelaxation:3,contactEquationStiffness:1e8})),this.world.addContactMaterial(new He(this.diceMaterial,this.diceMaterial,{friction:.1,restitution:.5,contactEquationRelaxation:3,contactEquationStiffness:1e8})),this.world.addBody(new i1({allowSleep:!1,mass:0,shape:new t4,material:this.deskMaterial}));let e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial});e.quaternion.setFromAxisAngle(new y(1,0,0),Math.PI/2),e.position.set(0,this.HEIGHT*.93,0),this.world.addBody(e),e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial}),e.quaternion.setFromAxisAngle(new y(1,0,0),-Math.PI/2),e.position.set(0,-this.HEIGHT*.93,0),this.world.addBody(e),e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial}),e.quaternion.setFromAxisAngle(new y(0,1,0),-Math.PI/2),e.position.set(this.WIDTH*.93,0,0),this.world.addBody(e),e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial}),e.quaternion.setFromAxisAngle(new y(0,1,0),Math.PI/2),e.position.set(-this.WIDTH*.93,0,0),this.world.addBody(e)}getPlane(){return new i1({type:i1.STATIC,shape:new t4})}},Ao=class extends jt.Component{constructor(e,t,i){super();this.width=e;this.height=t;this.plugin=i;this.dice={};this.buildDice()}get colors(){return{diceColor:this.plugin.data.diceColor,textColor:this.plugin.data.textColor}}updateColors(){this.dispose(),this.buildDice()}onunload(){this.dispose()}disposeChildren(...e){e.forEach(t=>{"dispose"in t&&t.dispose(),t.children&&this.disposeChildren(...t.children)})}dispose(){for(let e of Object.values(this.dice))this.disposeChildren(e.geometry.children)}getDiceForRoller(e,t){let i=[];switch(e.faces.max){case 4:{i.push(...new Array(e.rolls).fill(0).map(a=>new Mi(this.width,this.height,this.clone("d4"),t)));break}case 1:case 6:{i.push(...new Array(e.rolls).fill(0).map(a=>new xi(this.width,this.height,e.fudge?this.clone("fudge"):this.clone("d6"),t)));break}case 8:{i.push(...new Array(e.rolls).fill(0).map(a=>new gi(this.width,this.height,this.clone("d8"),t)));break}case 10:{i.push(...new Array(e.rolls).fill(0).map(a=>new L4(this.width,this.height,this.clone("d10"),t)));break}case 12:{i.push(...new Array(e.rolls).fill(0).map(a=>new vi(this.width,this.height,this.clone("d12"),t)));break}case 20:{i.push(...new Array(e.rolls).fill(0).map(a=>new mi(this.width,this.height,this.clone("d20"),t)));break}case 100:{i.push(...new Array(e.rolls).fill(0).map(a=>[new L4(this.width,this.height,this.clone("d100"),t,!0),new L4(this.width,this.height,this.clone("d10"),t,!0)]).flat());break}}return i}getDice(e,t){let i=new Map;for(let a of e.dynamic){let r=this.getDiceForRoller(a,t);r.length&&i.set(a,r)}return i}clone(e){if(!(e in this.dice))throw new Error("That dice type does not exist!");return this.dice[e].clone()}buildDice(){this.dice.d100=new ti(this.width,this.height,this.colors).create(),this.dice.d20=new J3(this.width,this.height,this.colors).create(),this.dice.d12=new Q3(this.width,this.height,this.colors).create(),this.dice.d10=new ei(this.width,this.height,this.colors).create(),this.dice.d8=new ii(this.width,this.height,this.colors).create(),this.dice.d6=new ai(this.width,this.height,this.colors).create(),this.dice.d4=new ni(this.width,this.height,this.colors).create(),this.dice.fudge=new ri(this.width,this.height,this.colors).create(),this.dice.boost=new di(this.width,this.height,this.colors).create(),this.dice.ability=new ui(this.width,this.height,this.colors).create(),this.dice.difficulty=new hi(this.width,this.height,this.colors).create(),this.dice.challenge=new ci(this.width,this.height,this.colors).create(),this.dice.proficiency=new oi(this.width,this.height,this.colors).create(),this.dice.setback=new pi(this.width,this.height,this.colors).create()}};var So=w2(_o());var Hi=class{constructor(e){this.table=e}parse(e){let t=e.length,i=this.table,a=[],r=[],s=0;for(;sf||u===f&&c.associativity==="right")break;a.push(r.shift())}r.unshift(o)}else a.push(o)}}for(;r.length;){let o=r.shift();if(o.value!=="(")a.push(o);else throw new Error("Mismatched parentheses.")}return a}};var ih=/(?:\d+[Dd])?#(?:[\p{Letter}\p{Emoji_Presentation}\w/-]+)(?:\|(?:[+-]))?(?:\|(?:[^+-]+))?/u,ah=/(?:\d+[Dd])?#(?:[\p{Letter}\p{Emoji_Presentation}\w/-]+)(?:\|(?:[+-]))?\|link/u,rh=/(?:\d+[Dd])?(?:\[.*\]\(|\[\[)(?:.+?)#?\^(?:.+?)(?:\)|\]\])\|?(?:.+)?/u,nh=/(?:\d+[Dd])?(?:\[.*\]\(|\[\[)(?:.+)(?:\)|\]\])\|?(?:.+)?/u,sh=/(?:\d+[Dd])?(?:\[.*\]\(|\[\[)(?:.+)(?:\)|\]\])\|line/u,oh=/[\(\^\+\-\*\/\)]/u,ch=/(?:\d+|\b)[Dd](?:\[?(?:-?\d+[ \t]?,)?[ \t]?(?:-?\d+|%|F)\]?|\b)/u,lh=/(?:=|=!|<|>|<=|>=|=<|=>|-=|=-)\d+/u,g0=class{constructor(e){this.plugin=e;this.lexer=So.compile({WS:[{match:/[ \t]+/u},{match:/[{}]+/u}],table:rh,line:sh,section:nh,link:ah,tag:ih,condition:lh,kl:{match:/kl\d*/u,value:this.clampInfinite},kh:[{match:/kh\d*/u,value:this.clampInfinite},{match:/k\d*/u,value:this.clampInfinite}],dh:{match:/dh\d*/u,value:this.clampInfinite},dl:[{match:/dl\d*/u,value:this.clampInfinite}],"!!":{match:/!!(?:i|\d+)?/u,value:this.clampInfinite},"!":{match:/!(?:i|\d+)?/u,value:this.clampInfinite},r:{match:/r(?:i|\d+)?/u,value:this.clampInfinite},stunt:/1[Dd]S/u,"%":/\d+[Dd]\d+%/u,dice:[{match:ch,value:e=>{let{roll:t=this.plugin.data.defaultRoll,faces:i=this.plugin.data.defaultFace}=e.match(/(?\d+)?[Dd](?\[?(?:-?\d+[ \t]?,)?[ \t]?(?:-?\d+|%|F)\]?)?/).groups;return`${t}d${i}`}},{match:/\d+/u},{match:/\b[A-Za-z][A-Za-z0-9_]+\b/u,value:e=>this.plugin.inline.has(e)?`${this.plugin.inline.get(e)}`:e}],math:oh});let t={precedence:3,associativity:"right"},i={precedence:2,associativity:"left"},a={precedence:1,associativity:"left"};this.parser=new Hi({"+":a,"-":a,"*":i,"/":i,"^":t})}clampInfinite(e){return/i$/.test(e)?"100":e.replace(/^\D+/g,"")}parse(e){let t=Array.from(this.lexer.reset(e));return this.lexer.reset(),this.parser.parse(this.transform(t))}transform(e){e=e.filter(i=>i.type!="WS");let t=[];for(let i of e)if(i.type=="condition"&&t.length>0){let a=t[t.length-1];a.conditions||(a.conditions=[]);let[r,s,o]=i.value.match(/(?=|=!|<|>|<=|>=|=<|=>|\-=|=\-)(?\d+)/)??[];a.conditions.push({operator:s,comparer:Number(o),value:i.value})}else t.push(i);return t}getTypeFromLexemes(e){return e.some(({type:t})=>t==="table")?"table":e.some(({type:t})=>t==="section")?"section":e.some(({type:t})=>t==="tag")?"tag":e.some(({type:t})=>t==="link")?"link":e.some(({type:t})=>t==="line")?"line":"dice"}};var we=w2(require("@codemirror/view")),Eo=w2(require("@codemirror/language")),pt=w2(require("obsidian"));function uh(n,e,t){for(let i of n.ranges)if(i.from<=t&&i.to>=e)return!0;return!1}function Lo(n,e){let t=app.workspace.getActiveFile();if(!t)return;let i=[],a=n.state.selection,r=new RegExp(".*?_?inline-code_?.*");for(let{from:s,to:o}of n.visibleRanges)(0,Eo.syntaxTree)(n.state).iterate({from:s,to:o,enter:({node:l})=>{let c=l.type;if(c.name.includes("formatting")||!r.test(c.name))return;let u=l.from,f=l.to;if(uh(a,u,f+1))return;let h=n.state.doc.sliceString(u,f).trim();if(!/^dice(?:\+|\-|\-mod)?:\s*([\s\S]+)\s*?/.test(h))return;let[,m]=h.match(/^dice(?:\+|\-|\-mod)?:\s*([\s\S]+)\s*?/),v=e.getRollerSync(m,t.path);i.push(we.Decoration.replace({widget:new Do(h,v,n),inclusive:!1,block:!1}).range(u-1,f+1))}});return we.Decoration.set(i,!0)}var Do=class extends we.WidgetType{constructor(e,t,i){super();this.rawQuery=e;this.roller=t;this.view=i}eq(e){return e.rawQuery===this.rawQuery}toDOM(e){return this.roller.roll(),this.roller.containerEl}ignoreEvent(e){if(e.type==="mousedown"){let t=this.view.posAtCoords({x:e.x,y:e.y});if(e.shiftKey){if(t){let{editor:i}=this.view.state.field(pt.editorEditorField).state.field(pt.editorViewField);i.setCursor(i.offsetToPos(t))}return!1}}return!0}};function To(n){return we.ViewPlugin.fromClass(class{constructor(e){this.decorations=Lo(e,n)??we.Decoration.none}update(e){if(!e.state.field(pt.editorLivePreviewField)){this.decorations=we.Decoration.none;return}(e.docChanged||e.viewportChanged||e.selectionSet)&&(this.decorations=Lo(e.view,n)??we.Decoration.none)}},{decorations:e=>e.decorations})}String.prototype.matchAll=String.prototype.matchAll||function*(e){let t=e.global?e.flags:e.flags+"g",i=new RegExp(e,t),a;for(;a=i.exec(this);)yield a};var h6={returnAllTags:!0,rollLinksForTags:!1,copyContentButton:!0,customFormulas:[],displayFormulaForMod:!0,displayResultsInline:!1,displayLookupRoll:!0,formulas:{},persistResults:!1,results:{},defaultRoll:1,defaultFace:100,renderer:!1,renderAllDice:!1,renderTime:2e3,diceColor:"#202020",textColor:"#ffffff",showLeafOnStartup:!0,showDice:!0,round:de.None},Ni=class extends u2.Plugin{constructor(){super(...arguments);this.fileMap=new Map;this.inline=new Map;this.operators={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"^":(e,t)=>Math.pow(e,t)};this.parser=new g0(this);this.persistingFiles=new Set}async onload(){console.log("DiceRoller plugin loaded"),this.data=Object.assign({},h6,await this.loadData()),this.renderer=new Xt(this),this.addSettingTab(new u6(this.app,this)),this.registerView(x4,i=>new Je(this,i)),this.app.workspace.onLayoutReady(()=>this.addDiceView(!0)),this.registerEvent(this.app.workspace.on("dice-roller:update-colors",()=>{this.renderer.factory.updateColors()})),this.registerEvent(this.app.workspace.on("dice-roller:render-dice",async i=>{let a=await this.getRoller(i,"external");if(!(a instanceof V2)){new u2.Notice("The Dice View only supports dice rolls.");return}if(await a.roll(),!a.dice.length){new u2.Notice("Invalid formula.");return}try{this.renderRoll(a)}catch(r){new u2.Notice("There was an error rendering the roll."),console.error(r)}this.app.workspace.trigger("dice-roller:rendered-result",a.result)})),this.addCommand({id:"open-view",name:"Open Dice View",checkCallback:i=>{if(!this.view)return i||this.addDiceView(),!0}}),this.addCommand({id:"reroll",name:"Re-roll Dice",checkCallback:i=>{let a=this.app.workspace.getActiveViewOfType(u2.MarkdownView);if(a&&a.getMode()==="preview"&&this.fileMap.has(a.file))return i||this.fileMap.get(a.file).forEach(s=>{s.roll()}),!0}});let e=T0(Pi).html[0];(0,u2.addIcon)(De,e);let t=T0(Ii).html[0];(0,u2.addIcon)(Te,t),this.registerMarkdownPostProcessor(async(i,a)=>{let r=i.querySelectorAll("code");if(!r.length)return;let s=a.sourcePath,o=a.getSectionInfo(i),l=a.getSectionInfo(i)?.lineStart,c=this.app.vault.getAbstractFileByPath(a.sourcePath);if(!c||!(c instanceof u2.TFile))return;let u={},f,h=!1,m=[];for(let v=0;v{z.on("new-result",async()=>{let E=f.slice(o.lineStart,o.lineEnd+1),T=z.replacer;if(!T){new u2.Notice("Dice Roller: There was an issue modifying the file.");return}let _=d?`${z.inlineText} **${T}**`:`${T}`;E=E.join(` -`).replace(`\`${x}\``,_).split(` -`),f.splice(o.lineStart,o.lineEnd-o.lineStart+1,...E),b()})})),await z.roll();continue}catch(x){console.error(x)}if(!!/^dice(?:\+|\-|\-mod)?:\s*([\s\S]+)\s*?/.test(g.innerText))try{let[,x]=g.innerText.match(/^dice(?:\+|\-|\-mod)?:\s*([\s\S]+)\s*?/),p=await this.getRoller(x,a.sourcePath),d=this.data.results?.[s]?.[l]?.[v]??null;(this.data.persistResults&&!/dice\-/.test(g.innerText)||/dice\+/.test(g.innerText))&&(this.persistingFiles.add(a.sourcePath),u[v]=p,p.save=!0);let z=this.data.renderAllDice;x.includes("|render")&&(z=!0),x.includes("|norender")&&(z=!1);let b=async()=>{await p.roll(),p.save&&d&&await p.applyResult(d),p instanceof V2&&(p.shouldRender=z),g.replaceWith(p.containerEl)};p.loaded?await b():p.on("loaded",async()=>{await b()}),this.fileMap.has(c)||this.fileMap.set(c,[]),this.fileMap.set(c,[...this.fileMap.get(c),p]);let C=this.app.workspace.getActiveViewOfType(u2.MarkdownView);if(C&&this.fileMap.has(c)&&this.fileMap.get(c).length===1){let E=this,T=H0(C,{onUnloadFile:function(_){return async function(P){return P==c&&(E.fileMap.delete(c),T()),await _.call(this,P)}}});C.register(T),C.register(()=>this.fileMap.delete(c))}}catch(x){console.error(x),new u2.Notice(`There was an error parsing the dice string: ${g.innerText}. +`;function mo(n,e,t){let i=new T4,a=new z1,r=new z1,s=new q1,o=new o0({depthPacking:A8}),c=new c0,l={},u=t.maxTextureSize,f={0:P1,1:ke,2:K2},h=new ne({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new z1},radius:{value:4}},vertexShader:fo,fragmentShader:po}),m=h.clone();m.defines.HORIZONTAL_PASS=1;let v=new b2;v.setAttribute("position",new M2(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let g=new l2(v,h),x=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=A6,this.render=function(b,C,E){if(x.enabled===!1||x.autoUpdate===!1&&x.needsUpdate===!1||b.length===0)return;let T=n.getRenderTarget(),S=n.getActiveCubeFace(),P=n.getActiveMipmapLevel(),F=n.state;F.setBlending(U2),F.buffers.color.setClear(1,1,1,1),F.buffers.depth.setTest(!0),F.setScissorTest(!1);for(let M=0,D=b.length;Mu||a.y>u)&&(a.x>u&&(r.x=Math.floor(u/V.x),a.x=r.x*V.x,H.mapSize.x=r.x),a.y>u&&(r.y=Math.floor(u/V.y),a.y=r.y*V.y,H.mapSize.y=r.y)),H.map===null&&!H.isPointLightShadow&&this.type===z4){let N={minFilter:e2,magFilter:e2,format:W1};H.map=new m2(a.x,a.y,N),H.map.texture.name=z.name+".shadowMap",H.mapPass=new m2(a.x,a.y,N),H.camera.updateProjectionMatrix()}if(H.map===null){let N={minFilter:Q1,magFilter:Q1,format:W1};H.map=new m2(a.x,a.y,N),H.map.texture.name=z.name+".shadowMap",H.camera.updateProjectionMatrix()}n.setRenderTarget(H.map),n.clear();let L=H.getViewportCount();for(let N=0;N0){let z=M.uuid,H=E.uuid,V=l[z];V===void 0&&(V={},l[z]=V);let L=V[H];L===void 0&&(L=M.clone(),V[H]=L),M=L}return M.visible=E.visible,M.wireframe=E.wireframe,F===z4?M.side=E.shadowSide!==null?E.shadowSide:E.side:M.side=E.shadowSide!==null?E.shadowSide:f[E.side],M.alphaMap=E.alphaMap,M.alphaTest=E.alphaTest,M.clipShadows=E.clipShadows,M.clippingPlanes=E.clippingPlanes,M.clipIntersection=E.clipIntersection,M.displacementMap=E.displacementMap,M.displacementScale=E.displacementScale,M.displacementBias=E.displacementBias,M.wireframeLinewidth=E.wireframeLinewidth,M.linewidth=E.linewidth,T.isPointLight===!0&&M.isMeshDistanceMaterial===!0&&(M.referencePosition.setFromMatrixPosition(T.matrixWorld),M.nearDistance=S,M.farDistance=P),M}function A(b,C,E,T,S){if(b.visible===!1)return;if(b.layers.test(C.layers)&&(b.isMesh||b.isLine||b.isPoints)&&(b.castShadow||b.receiveShadow&&S===z4)&&(!b.frustumCulled||i.intersectsObject(b))){b.modelViewMatrix.multiplyMatrices(E.matrixWorldInverse,b.matrixWorld);let M=e.update(b),D=b.material;if(Array.isArray(D)){let z=M.groups;for(let H=0,V=z.length;H=1):L.indexOf("OpenGL ES")!==-1&&(V=parseFloat(/^OpenGL ES (\d)/.exec(L)[1]),H=V>=2);let N=null,U={},Z=n.getParameter(n.SCISSOR_BOX),O=n.getParameter(n.VIEWPORT),W=new q1().fromArray(Z),X=new q1().fromArray(O);function Q(I,l1,o1){let m1=new Uint8Array(4),$=n.createTexture();n.bindTexture(I,$),n.texParameteri(I,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(I,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let p1=0;p1t1||R.height>t1)&&(h1=t1/Math.max(R.width,R.height)),h1<1||w===!0)if(typeof HTMLImageElement!="undefined"&&R instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&R instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&R instanceof ImageBitmap){let Y=w?Lr:Math.floor,d1=Y(h1*R.width),f1=Y(h1*R.height);g===void 0&&(g=p(d1,f1));let s1=J?p(d1,f1):g;return s1.width=d1,s1.height=f1,s1.getContext("2d").drawImage(R,0,0,d1,f1),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+R.width+"x"+R.height+") to ("+d1+"x"+f1+")."),s1}else return"data"in R&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+R.width+"x"+R.height+")."),R;return R}function A(R){return J0(R.width)&&J0(R.height)}function b(R){return o?!1:R.wrapS!==o2||R.wrapT!==o2||R.minFilter!==Q1&&R.minFilter!==e2}function C(R,w){return R.generateMipmaps&&w&&R.minFilter!==Q1&&R.minFilter!==e2}function E(R){n.generateMipmap(R)}function T(R,w,J,t1,h1=!1){if(o===!1)return w;if(R!==null){if(n[R]!==void 0)return n[R];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+R+"'")}let Y=w;return w===n.RED&&(J===n.FLOAT&&(Y=n.R32F),J===n.HALF_FLOAT&&(Y=n.R16F),J===n.UNSIGNED_BYTE&&(Y=n.R8)),w===n.RG&&(J===n.FLOAT&&(Y=n.RG32F),J===n.HALF_FLOAT&&(Y=n.RG16F),J===n.UNSIGNED_BYTE&&(Y=n.RG8)),w===n.RGBA&&(J===n.FLOAT&&(Y=n.RGBA32F),J===n.HALF_FLOAT&&(Y=n.RGBA16F),J===n.UNSIGNED_BYTE&&(Y=t1===I1&&h1===!1?n.SRGB8_ALPHA8:n.RGBA8),J===n.UNSIGNED_SHORT_4_4_4_4&&(Y=n.RGBA4),J===n.UNSIGNED_SHORT_5_5_5_1&&(Y=n.RGB5_A1)),(Y===n.R16F||Y===n.R32F||Y===n.RG16F||Y===n.RG32F||Y===n.RGBA16F||Y===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Y}function S(R,w,J){return C(R,J)===!0||R.isFramebufferTexture&&R.minFilter!==Q1&&R.minFilter!==e2?Math.log2(Math.max(w.width,w.height))+1:R.mipmaps!==void 0&&R.mipmaps.length>0?R.mipmaps.length:R.isCompressedTexture&&Array.isArray(R.image)?w.mipmaps.length:1}function P(R){return R===Q1||R===l3||R===u3?n.NEAREST:n.LINEAR}function F(R){let w=R.target;w.removeEventListener("dispose",F),D(w),w.isVideoTexture&&v.delete(w),s.memory.textures--}function M(R){let w=R.target;w.removeEventListener("dispose",M),z(w)}function D(R){let w=i.get(R);w.__webglInit!==void 0&&(n.deleteTexture(w.__webglTexture),i.remove(R))}function z(R){let w=R.texture,J=i.get(R),t1=i.get(w);if(!!R){if(t1.__webglTexture!==void 0&&(n.deleteTexture(t1.__webglTexture),s.memory.textures--),R.depthTexture&&R.depthTexture.dispose(),R.isWebGLCubeRenderTarget)for(let h1=0;h1<6;h1++)n.deleteFramebuffer(J.__webglFramebuffer[h1]),J.__webglDepthbuffer&&n.deleteRenderbuffer(J.__webglDepthbuffer[h1]);else n.deleteFramebuffer(J.__webglFramebuffer),J.__webglDepthbuffer&&n.deleteRenderbuffer(J.__webglDepthbuffer),J.__webglMultisampledFramebuffer&&n.deleteFramebuffer(J.__webglMultisampledFramebuffer),J.__webglColorRenderbuffer&&n.deleteRenderbuffer(J.__webglColorRenderbuffer),J.__webglDepthRenderbuffer&&n.deleteRenderbuffer(J.__webglDepthRenderbuffer);if(R.isWebGLMultipleRenderTargets)for(let h1=0,Y=w.length;h1=c&&console.warn("THREE.WebGLTextures: Trying to use "+R+" texture units while this GPU supports only "+c),H+=1,R}function N(R,w){let J=i.get(R);if(R.isVideoTexture&&j2(R),R.version>0&&J.__version!==R.version){let t1=R.image;if(t1===void 0)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(t1.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{B(J,R,w);return}}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_2D,J.__webglTexture)}function U(R,w){let J=i.get(R);if(R.version>0&&J.__version!==R.version){B(J,R,w);return}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_2D_ARRAY,J.__webglTexture)}function Z(R,w){let J=i.get(R);if(R.version>0&&J.__version!==R.version){B(J,R,w);return}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_3D,J.__webglTexture)}function O(R,w){let J=i.get(R);if(R.version>0&&J.__version!==R.version){M1(J,R,w);return}t.activeTexture(n.TEXTURE0+w),t.bindTexture(n.TEXTURE_CUBE_MAP,J.__webglTexture)}let W={[Ht]:n.REPEAT,[o2]:n.CLAMP_TO_EDGE,[Vt]:n.MIRRORED_REPEAT},X={[Q1]:n.NEAREST,[l3]:n.NEAREST_MIPMAP_NEAREST,[u3]:n.NEAREST_MIPMAP_LINEAR,[e2]:n.LINEAR,[c8]:n.LINEAR_MIPMAP_NEAREST,[r4]:n.LINEAR_MIPMAP_LINEAR};function Q(R,w,J){if(J?(n.texParameteri(R,n.TEXTURE_WRAP_S,W[w.wrapS]),n.texParameteri(R,n.TEXTURE_WRAP_T,W[w.wrapT]),(R===n.TEXTURE_3D||R===n.TEXTURE_2D_ARRAY)&&n.texParameteri(R,n.TEXTURE_WRAP_R,W[w.wrapR]),n.texParameteri(R,n.TEXTURE_MAG_FILTER,X[w.magFilter]),n.texParameteri(R,n.TEXTURE_MIN_FILTER,X[w.minFilter])):(n.texParameteri(R,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(R,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(R===n.TEXTURE_3D||R===n.TEXTURE_2D_ARRAY)&&n.texParameteri(R,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(w.wrapS!==o2||w.wrapT!==o2)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(R,n.TEXTURE_MAG_FILTER,P(w.magFilter)),n.texParameteri(R,n.TEXTURE_MIN_FILTER,P(w.minFilter)),w.minFilter!==Q1&&w.minFilter!==e2&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),e.has("EXT_texture_filter_anisotropic")===!0){let t1=e.get("EXT_texture_filter_anisotropic");if(w.type===J2&&e.has("OES_texture_float_linear")===!1||o===!1&&w.type===be&&e.has("OES_texture_half_float_linear")===!1)return;(w.anisotropy>1||i.get(w).__currentAnisotropy)&&(n.texParameterf(R,t1.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(w.anisotropy,a.getMaxAnisotropy())),i.get(w).__currentAnisotropy=w.anisotropy)}}function a1(R,w){R.__webglInit===void 0&&(R.__webglInit=!0,w.addEventListener("dispose",F),R.__webglTexture=n.createTexture(),s.memory.textures++)}function B(R,w,J){let t1=n.TEXTURE_2D;w.isDataTexture2DArray&&(t1=n.TEXTURE_2D_ARRAY),w.isDataTexture3D&&(t1=n.TEXTURE_3D),a1(R,w),t.activeTexture(n.TEXTURE0+J),t.bindTexture(t1,R.__webglTexture),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,w.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,w.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE);let h1=b(w)&&A(w.image)===!1,Y=d(w.image,h1,!1,u);Y=v2(w,Y);let d1=A(Y)||o,f1=r.convert(w.format,w.encoding),s1=r.convert(w.type),r1=T(w.internalFormat,f1,s1,w.encoding,w.isVideoTexture);Q(t1,w,d1);let b1,I=w.mipmaps,l1=o&&w.isVideoTexture!==!0,o1=R.__version===void 0,m1=S(w,Y,d1);if(w.isDepthTexture)r1=n.DEPTH_COMPONENT,o?w.type===J2?r1=n.DEPTH_COMPONENT32F:w.type===q4?r1=n.DEPTH_COMPONENT24:w.type===ye?r1=n.DEPTH24_STENCIL8:r1=n.DEPTH_COMPONENT16:w.type===J2&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),w.format===Q2&&r1===n.DEPTH_COMPONENT&&w.type!==Oe&&w.type!==q4&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),w.type=Oe,s1=r.convert(w.type)),w.format===Ce&&r1===n.DEPTH_COMPONENT&&(r1=n.DEPTH_STENCIL,w.type!==ye&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),w.type=ye,s1=r.convert(w.type))),l1&&o1?t.texStorage2D(n.TEXTURE_2D,1,r1,Y.width,Y.height):t.texImage2D(n.TEXTURE_2D,0,r1,Y.width,Y.height,0,f1,s1,null);else if(w.isDataTexture)if(I.length>0&&d1){l1&&o1&&t.texStorage2D(n.TEXTURE_2D,m1,r1,I[0].width,I[0].height);for(let $=0,p1=I.length;$0&&d1){l1&&o1&&t.texStorage2D(n.TEXTURE_2D,m1,r1,I[0].width,I[0].height);for(let $=0,p1=I.length;$0&&o1++,t.texStorage2D(n.TEXTURE_CUBE_MAP,o1,b1,Y[0].width,Y[0].height));for(let $=0;$<6;$++)if(h1){I?t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+$,0,0,0,Y[$].width,Y[$].height,s1,r1,Y[$].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+$,0,b1,Y[$].width,Y[$].height,0,s1,r1,Y[$].data);for(let p1=0;p1m+v?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!l.inputState.pinching&&h<=m-v&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else c!==null&&e.gripSpace&&(r=t.getPose(e.gripSpace,i),r!==null&&(c.matrix.fromArray(r.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),r.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(r.linearVelocity)):c.hasLinearVelocity=!1,r.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(r.angularVelocity)):c.hasAngularVelocity=!1));return o!==null&&(o.visible=a!==null),c!==null&&(c.visible=r!==null),l!==null&&(l.visible=s!==null),this}};var jt=class extends $1{constructor(e,t,i,a,r,s,o,c,l,u){if(u=u!==void 0?u:Q2,u!==Q2&&u!==Ce)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&u===Q2&&(i=Oe),i===void 0&&u===Ce&&(i=ye);super(null,a,r,s,o,c,u,i,l);this.image={width:e,height:t},this.magFilter=o!==void 0?o:Q1,this.minFilter=c!==void 0?c:Q1,this.flipY=!1,this.generateMipmaps=!1}};jt.prototype.isDepthTexture=!0;var Li=class extends F2{constructor(e,t){super();let i=this,a=null,r=1,s=null,o="local-floor",c=e.extensions.has("WEBGL_multisampled_render_to_texture"),l=null,u=null,f=null,h=null,m=!1,v=null,g=t.getContextAttributes(),x=null,p=null,d=[],A=new Map,b=new t2;b.layers.enable(1),b.viewport=new q1;let C=new t2;C.layers.enable(2),C.viewport=new q1;let E=[b,C],T=new l0;T.layers.enable(1),T.layers.enable(2);let S=null,P=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(O){let W=d[O];return W===void 0&&(W=new Wt,d[O]=W),W.getTargetRaySpace()},this.getControllerGrip=function(O){let W=d[O];return W===void 0&&(W=new Wt,d[O]=W),W.getGripSpace()},this.getHand=function(O){let W=d[O];return W===void 0&&(W=new Wt,d[O]=W),W.getHandSpace()};function F(O){let W=A.get(O.inputSource);W&&W.dispatchEvent({type:O.type,data:O.inputSource})}function M(){A.forEach(function(O,W){O.disconnect(W)}),A.clear(),S=null,P=null,e.setRenderTarget(x),h=null,f=null,u=null,a=null,p=null,Z.stop(),i.isPresenting=!1,i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(O){r=O,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(O){o=O,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return s},this.getBaseLayer=function(){return f!==null?f:h},this.getBinding=function(){return u},this.getFrame=function(){return v},this.getSession=function(){return a},this.setSession=async function(O){if(a=O,a!==null){if(x=e.getRenderTarget(),a.addEventListener("select",F),a.addEventListener("selectstart",F),a.addEventListener("selectend",F),a.addEventListener("squeeze",F),a.addEventListener("squeezestart",F),a.addEventListener("squeezeend",F),a.addEventListener("end",M),a.addEventListener("inputsourceschange",D),g.xrCompatible!==!0&&await t.makeXRCompatible(),a.renderState.layers===void 0||e.capabilities.isWebGL2===!1){let W={antialias:a.renderState.layers===void 0?g.antialias:!0,alpha:g.alpha,depth:g.depth,stencil:g.stencil,framebufferScaleFactor:r};h=new XRWebGLLayer(a,t,W),a.updateRenderState({baseLayer:h}),p=new m2(h.framebufferWidth,h.framebufferHeight,{format:W1,type:N2,encoding:e.outputEncoding})}else{m=g.antialias;let W=null,X=null,Q=null;g.depth&&(Q=g.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,W=g.stencil?Ce:Q2,X=g.stencil?ye:Oe);let a1={colorFormat:e.outputEncoding===I1?t.SRGB8_ALPHA8:t.RGBA8,depthFormat:Q,scaleFactor:r};u=new XRWebGLBinding(a,t),f=u.createProjectionLayer(a1),a.updateRenderState({layers:[f]}),m?p=new ft(f.textureWidth,f.textureHeight,{format:W1,type:N2,depthTexture:new jt(f.textureWidth,f.textureHeight,X,void 0,void 0,void 0,void 0,void 0,void 0,W),stencilBuffer:g.stencil,ignoreDepth:f.ignoreDepthValues,useRenderToTexture:c,encoding:e.outputEncoding}):p=new m2(f.textureWidth,f.textureHeight,{format:W1,type:N2,depthTexture:new jt(f.textureWidth,f.textureHeight,X,void 0,void 0,void 0,void 0,void 0,void 0,W),stencilBuffer:g.stencil,ignoreDepth:f.ignoreDepthValues,encoding:e.outputEncoding})}p.isXRRenderTarget=!0,this.setFoveation(1),s=await a.requestReferenceSpace(o),Z.setContext(a),Z.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}};function D(O){let W=a.inputSources;for(let X=0;X0&&(p.alphaTest.value=d.alphaTest);let A=n.get(d).envMap;A&&(p.envMap.value=A,p.flipEnvMap.value=A.isCubeTexture&&A.isRenderTargetTexture===!1?-1:1,p.reflectivity.value=d.reflectivity,p.ior.value=d.ior,p.refractionRatio.value=d.refractionRatio),d.lightMap&&(p.lightMap.value=d.lightMap,p.lightMapIntensity.value=d.lightMapIntensity),d.aoMap&&(p.aoMap.value=d.aoMap,p.aoMapIntensity.value=d.aoMapIntensity);let b;d.map?b=d.map:d.specularMap?b=d.specularMap:d.displacementMap?b=d.displacementMap:d.normalMap?b=d.normalMap:d.bumpMap?b=d.bumpMap:d.roughnessMap?b=d.roughnessMap:d.metalnessMap?b=d.metalnessMap:d.alphaMap?b=d.alphaMap:d.emissiveMap?b=d.emissiveMap:d.clearcoatMap?b=d.clearcoatMap:d.clearcoatNormalMap?b=d.clearcoatNormalMap:d.clearcoatRoughnessMap?b=d.clearcoatRoughnessMap:d.specularIntensityMap?b=d.specularIntensityMap:d.specularColorMap?b=d.specularColorMap:d.transmissionMap?b=d.transmissionMap:d.thicknessMap?b=d.thicknessMap:d.sheenColorMap?b=d.sheenColorMap:d.sheenRoughnessMap&&(b=d.sheenRoughnessMap),b!==void 0&&(b.isWebGLRenderTarget&&(b=b.texture),b.matrixAutoUpdate===!0&&b.updateMatrix(),p.uvTransform.value.copy(b.matrix));let C;d.aoMap?C=d.aoMap:d.lightMap&&(C=d.lightMap),C!==void 0&&(C.isWebGLRenderTarget&&(C=C.texture),C.matrixAutoUpdate===!0&&C.updateMatrix(),p.uv2Transform.value.copy(C.matrix))}function a(p,d){p.diffuse.value.copy(d.color),p.opacity.value=d.opacity}function r(p,d){p.dashSize.value=d.dashSize,p.totalSize.value=d.dashSize+d.gapSize,p.scale.value=d.scale}function s(p,d,A,b){p.diffuse.value.copy(d.color),p.opacity.value=d.opacity,p.size.value=d.size*A,p.scale.value=b*.5,d.map&&(p.map.value=d.map),d.alphaMap&&(p.alphaMap.value=d.alphaMap),d.alphaTest>0&&(p.alphaTest.value=d.alphaTest);let C;d.map?C=d.map:d.alphaMap&&(C=d.alphaMap),C!==void 0&&(C.matrixAutoUpdate===!0&&C.updateMatrix(),p.uvTransform.value.copy(C.matrix))}function o(p,d){p.diffuse.value.copy(d.color),p.opacity.value=d.opacity,p.rotation.value=d.rotation,d.map&&(p.map.value=d.map),d.alphaMap&&(p.alphaMap.value=d.alphaMap),d.alphaTest>0&&(p.alphaTest.value=d.alphaTest);let A;d.map?A=d.map:d.alphaMap&&(A=d.alphaMap),A!==void 0&&(A.matrixAutoUpdate===!0&&A.updateMatrix(),p.uvTransform.value.copy(A.matrix))}function c(p,d){d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap)}function l(p,d){p.specular.value.copy(d.specular),p.shininess.value=Math.max(d.shininess,1e-4),d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function u(p,d){d.gradientMap&&(p.gradientMap.value=d.gradientMap),d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function f(p,d){p.roughness.value=d.roughness,p.metalness.value=d.metalness,d.roughnessMap&&(p.roughnessMap.value=d.roughnessMap),d.metalnessMap&&(p.metalnessMap.value=d.metalnessMap),d.emissiveMap&&(p.emissiveMap.value=d.emissiveMap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias),n.get(d).envMap&&(p.envMapIntensity.value=d.envMapIntensity)}function h(p,d,A){f(p,d),p.ior.value=d.ior,d.sheen>0&&(p.sheenColor.value.copy(d.sheenColor).multiplyScalar(d.sheen),p.sheenRoughness.value=d.sheenRoughness,d.sheenColorMap&&(p.sheenColorMap.value=d.sheenColorMap),d.sheenRoughnessMap&&(p.sheenRoughnessMap.value=d.sheenRoughnessMap)),d.clearcoat>0&&(p.clearcoat.value=d.clearcoat,p.clearcoatRoughness.value=d.clearcoatRoughness,d.clearcoatMap&&(p.clearcoatMap.value=d.clearcoatMap),d.clearcoatRoughnessMap&&(p.clearcoatRoughnessMap.value=d.clearcoatRoughnessMap),d.clearcoatNormalMap&&(p.clearcoatNormalScale.value.copy(d.clearcoatNormalScale),p.clearcoatNormalMap.value=d.clearcoatNormalMap,d.side===P1&&p.clearcoatNormalScale.value.negate())),d.transmission>0&&(p.transmission.value=d.transmission,p.transmissionSamplerMap.value=A.texture,p.transmissionSamplerSize.value.set(A.width,A.height),d.transmissionMap&&(p.transmissionMap.value=d.transmissionMap),p.thickness.value=d.thickness,d.thicknessMap&&(p.thicknessMap.value=d.thicknessMap),p.attenuationDistance.value=d.attenuationDistance,p.attenuationColor.value.copy(d.attenuationColor)),p.specularIntensity.value=d.specularIntensity,p.specularColor.value.copy(d.specularColor),d.specularIntensityMap&&(p.specularIntensityMap.value=d.specularIntensityMap),d.specularColorMap&&(p.specularColorMap.value=d.specularColorMap)}function m(p,d){d.matcap&&(p.matcap.value=d.matcap),d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function v(p,d){d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}function g(p,d){d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias),p.referencePosition.value.copy(d.referencePosition),p.nearDistance.value=d.nearDistance,p.farDistance.value=d.farDistance}function x(p,d){d.bumpMap&&(p.bumpMap.value=d.bumpMap,p.bumpScale.value=d.bumpScale,d.side===P1&&(p.bumpScale.value*=-1)),d.normalMap&&(p.normalMap.value=d.normalMap,p.normalScale.value.copy(d.normalScale),d.side===P1&&p.normalScale.value.negate()),d.displacementMap&&(p.displacementMap.value=d.displacementMap,p.displacementScale.value=d.displacementScale,p.displacementBias.value=d.displacementBias)}return{refreshFogUniforms:e,refreshMaterialUniforms:t}}function th(){let n=E4("canvas");return n.style.display="block",n}function Di(n={}){let e=n.canvas!==void 0?n.canvas:th(),t=n.context!==void 0?n.context:null,i=n.alpha!==void 0?n.alpha:!1,a=n.depth!==void 0?n.depth:!0,r=n.stencil!==void 0?n.stencil:!0,s=n.antialias!==void 0?n.antialias:!1,o=n.premultipliedAlpha!==void 0?n.premultipliedAlpha:!0,c=n.preserveDrawingBuffer!==void 0?n.preserveDrawingBuffer:!1,l=n.powerPreference!==void 0?n.powerPreference:"default",u=n.failIfMajorPerformanceCaveat!==void 0?n.failIfMajorPerformanceCaveat:!1,f=null,h=null,m=[],v=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=R2,this.physicallyCorrectLights=!1,this.toneMapping=O2,this.toneMappingExposure=1;let g=this,x=!1,p=0,d=0,A=null,b=-1,C=null,E=new q1,T=new q1,S=null,P=e.width,F=e.height,M=1,D=null,z=null,H=new q1(0,0,P,F),V=new q1(0,0,P,F),L=!1,N=new T4,U=!1,Z=!1,O=null,W=new k1,X=new k,Q={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function a1(){return A===null?M:1}let B=t;function M1(_,G){for(let j=0;j<_.length;j++){let q=_[j],K=e.getContext(q,G);if(K!==null)return K}return null}try{let _={alpha:!0,depth:a,stencil:r,antialias:s,premultipliedAlpha:o,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if("setAttribute"in e&&e.setAttribute("data-engine",`three.js r${Hr}`),e.addEventListener("webglcontextlost",b1,!1),e.addEventListener("webglcontextrestored",I,!1),B===null){let G=["webgl2","webgl","experimental-webgl"];if(g.isWebGL1Renderer===!0&&G.shift(),B=M1(G,_),B===null)throw M1(G)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}B.getShaderPrecisionFormat===void 0&&(B.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(_){throw console.error("THREE.WebGLRenderer: "+_.message),_}let u1,v1,n1,T1,A1,C1,h2,K1,i2,j2,v2,g2,X2,se,oe,R,w,J,t1,h1,Y,d1,f1;function s1(){u1=new T5(B),v1=new M5(B,u1,n),u1.init(v1),d1=new xo(B,u1,v1),n1=new vo(B,u1,v1),T1=new N5(B),A1=new no,C1=new go(B,u1,n1,A1,v1,d1,T1),h2=new y5(g),K1=new D5(g),i2=new I8(B,v1),f1=new g5(B,u1,i2,v1),j2=new H5(B,i2,T1,f1),v2=new B5(B,j2,i2,T1),t1=new F5(B,v1,C1),R=new b5(A1),g2=new ro(g,h2,K1,u1,v1,f1,R),X2=new Mo(A1),se=new co,oe=new ho(u1,v1),J=new v5(g,h2,n1,v2,i,o),w=new mo(g,v2,v1),h1=new x5(B,u1,T1,v1),Y=new V5(B,u1,T1,v1),T1.programs=g2.programs,g.capabilities=v1,g.extensions=u1,g.properties=A1,g.renderLists=se,g.shadowMap=w,g.state=n1,g.info=T1}s1();let r1=new Li(g,B);this.xr=r1,this.getContext=function(){return B},this.getContextAttributes=function(){return B.getContextAttributes()},this.forceContextLoss=function(){let _=u1.get("WEBGL_lose_context");_&&_.loseContext()},this.forceContextRestore=function(){let _=u1.get("WEBGL_lose_context");_&&_.restoreContext()},this.getPixelRatio=function(){return M},this.setPixelRatio=function(_){_!==void 0&&(M=_,this.setSize(P,F,!1))},this.getSize=function(_){return _.set(P,F)},this.setSize=function(_,G,j){if(r1.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}P=_,F=G,e.width=Math.floor(_*M),e.height=Math.floor(G*M),j!==!1&&(e.style.width=_+"px",e.style.height=G+"px"),this.setViewport(0,0,_,G)},this.getDrawingBufferSize=function(_){return _.set(P*M,F*M).floor()},this.setDrawingBufferSize=function(_,G,j){P=_,F=G,M=j,e.width=Math.floor(_*j),e.height=Math.floor(G*j),this.setViewport(0,0,_,G)},this.getCurrentViewport=function(_){return _.copy(E)},this.getViewport=function(_){return _.copy(H)},this.setViewport=function(_,G,j,q){_.isVector4?H.set(_.x,_.y,_.z,_.w):H.set(_,G,j,q),n1.viewport(E.copy(H).multiplyScalar(M).floor())},this.getScissor=function(_){return _.copy(V)},this.setScissor=function(_,G,j,q){_.isVector4?V.set(_.x,_.y,_.z,_.w):V.set(_,G,j,q),n1.scissor(T.copy(V).multiplyScalar(M).floor())},this.getScissorTest=function(){return L},this.setScissorTest=function(_){n1.setScissorTest(L=_)},this.setOpaqueSort=function(_){D=_},this.setTransparentSort=function(_){z=_},this.getClearColor=function(_){return _.copy(J.getClearColor())},this.setClearColor=function(){J.setClearColor.apply(J,arguments)},this.getClearAlpha=function(){return J.getClearAlpha()},this.setClearAlpha=function(){J.setClearAlpha.apply(J,arguments)},this.clear=function(_,G,j){let q=0;(_===void 0||_)&&(q|=B.COLOR_BUFFER_BIT),(G===void 0||G)&&(q|=B.DEPTH_BUFFER_BIT),(j===void 0||j)&&(q|=B.STENCIL_BUFFER_BIT),B.clear(q)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",b1,!1),e.removeEventListener("webglcontextrestored",I,!1),se.dispose(),oe.dispose(),A1.dispose(),h2.dispose(),K1.dispose(),v2.dispose(),f1.dispose(),g2.dispose(),r1.dispose(),r1.removeEventListener("sessionstart",L1),r1.removeEventListener("sessionend",X1),O&&(O.dispose(),O=null),H2.stop()};function b1(_){_.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),x=!0}function I(){console.log("THREE.WebGLRenderer: Context Restored."),x=!1;let _=T1.autoReset,G=w.enabled,j=w.autoUpdate,q=w.needsUpdate,K=w.type;s1(),T1.autoReset=_,w.enabled=G,w.autoUpdate=j,w.needsUpdate=q,w.type=K}function l1(_){let G=_.target;G.removeEventListener("dispose",l1),o1(G)}function o1(_){m1(_),A1.remove(_)}function m1(_){let G=A1.get(_).programs;G!==void 0&&(G.forEach(function(j){g2.releaseProgram(j)}),_.isShaderMaterial&&g2.releaseShaderCache(_))}this.renderBufferDirect=function(_,G,j,q,K,g1){G===null&&(G=Q);let y1=K.isMesh&&K.matrixWorld.determinant()<0,S1=No(_,G,j,q,K);n1.setMaterial(q,y1);let w1=j.index,B1=j.attributes.position;if(w1===null){if(B1===void 0||B1.count===0)return}else if(w1.count===0)return;let H1=1;q.wireframe===!0&&(w1=j2.getWireframeAttribute(j),H1=2),f1.setup(K,q,S1,j,w1);let V1,Y1=h1;w1!==null&&(V1=i2.get(w1),Y1=Y,Y1.setIndex(V1));let p4=w1!==null?w1.count:B1.count,R4=j.drawRange.start*H1,R1=j.drawRange.count*H1,le=g1!==null?g1.start*H1:0,a2=g1!==null?g1.count*H1:1/0,ue=Math.max(R4,le),$t=Math.min(p4,R4+R1,le+a2)-1,he=Math.max(0,$t-ue+1);if(he!==0){if(K.isMesh)q.wireframe===!0?(n1.setLineWidth(q.wireframeLinewidth*a1()),Y1.setMode(B.LINES)):Y1.setMode(B.TRIANGLES);else if(K.isLine){let Se=q.linewidth;Se===void 0&&(Se=1),n1.setLineWidth(Se*a1()),K.isLineSegments?Y1.setMode(B.LINES):K.isLineLoop?Y1.setMode(B.LINE_LOOP):Y1.setMode(B.LINE_STRIP)}else K.isPoints?Y1.setMode(B.POINTS):K.isSprite&&Y1.setMode(B.TRIANGLES);if(K.isInstancedMesh)Y1.renderInstances(ue,he,K.count);else if(j.isInstancedBufferGeometry){let Se=Math.min(j.instanceCount,j._maxInstanceCount);Y1.renderInstances(ue,he,Se)}else Y1.render(ue,he)}},this.compile=function(_,G){h=oe.get(_),h.init(),v.push(h),_.traverseVisible(function(j){j.isLight&&j.layers.test(G.layers)&&(h.pushLight(j),j.castShadow&&h.pushShadow(j))}),h.setupLights(g.physicallyCorrectLights),_.traverse(function(j){let q=j.material;if(q)if(Array.isArray(q))for(let K=0;K0?h=v[v.length-1]:h=null,m.pop(),m.length>0?f=m[m.length-1]:f=null};function Z1(_,G,j,q){if(_.visible===!1)return;if(_.layers.test(G.layers)){if(_.isGroup)j=_.renderOrder;else if(_.isLOD)_.autoUpdate===!0&&_.update(G);else if(_.isLight)h.pushLight(_),_.castShadow&&h.pushShadow(_);else if(_.isSprite){if(!_.frustumCulled||N.intersectsSprite(_)){q&&X.setFromMatrixPosition(_.matrixWorld).applyMatrix4(W);let y1=v2.update(_),S1=_.material;S1.visible&&f.push(_,y1,S1,j,X.z,null)}}else if((_.isMesh||_.isLine||_.isPoints)&&(_.isSkinnedMesh&&_.skeleton.frame!==T1.render.frame&&(_.skeleton.update(),_.skeleton.frame=T1.render.frame),!_.frustumCulled||N.intersectsObject(_))){q&&X.setFromMatrixPosition(_.matrixWorld).applyMatrix4(W);let y1=v2.update(_),S1=_.material;if(Array.isArray(S1)){let w1=y1.groups;for(let B1=0,H1=w1.length;B10&&_e(K,G,j),q&&n1.viewport(E.copy(q)),K.length>0&&Yt(K,G,j),g1.length>0&&Yt(g1,G,j),y1.length>0&&Yt(y1,G,j)}function _e(_,G,j){if(O===null){let y1=s===!0&&v1.isWebGL2===!0?ft:m2;O=new y1(1024,1024,{generateMipmaps:!0,type:d1.convert(be)!==null?be:N2,minFilter:r4,magFilter:Q1,wrapS:o2,wrapT:o2,useRenderToTexture:u1.has("WEBGL_multisampled_render_to_texture")})}let q=g.getRenderTarget();g.setRenderTarget(O),g.clear();let K=g.toneMapping;g.toneMapping=O2,Yt(_,G,j),g.toneMapping=K,C1.updateMultisampleRenderTarget(O),C1.updateRenderTargetMipmap(O),g.setRenderTarget(q)}function Yt(_,G,j){let q=G.isScene===!0?G.overrideMaterial:null;for(let K=0,g1=_.length;K=0&&G<=_.width-q&&j>=0&&j<=_.height-K&&B.readPixels(G,j,q,K,d1.convert(B1),d1.convert(H1),g1):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{let w1=A!==null?A1.get(A).__webglFramebuffer:null;n1.bindFramebuffer(B.FRAMEBUFFER,w1)}}},this.copyFramebufferToTexture=function(_,G,j=0){if(G.isFramebufferTexture!==!0){console.error("THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.");return}let q=Math.pow(2,-j),K=Math.floor(G.image.width*q),g1=Math.floor(G.image.height*q);C1.setTexture2D(G,0),B.copyTexSubImage2D(B.TEXTURE_2D,j,0,0,_.x,_.y,K,g1),n1.unbindTexture()},this.copyTextureToTexture=function(_,G,j,q=0){let K=G.image.width,g1=G.image.height,y1=d1.convert(j.format),S1=d1.convert(j.type);C1.setTexture2D(j,0),B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,j.flipY),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,j.premultiplyAlpha),B.pixelStorei(B.UNPACK_ALIGNMENT,j.unpackAlignment),G.isDataTexture?B.texSubImage2D(B.TEXTURE_2D,q,_.x,_.y,K,g1,y1,S1,G.image.data):G.isCompressedTexture?B.compressedTexSubImage2D(B.TEXTURE_2D,q,_.x,_.y,G.mipmaps[0].width,G.mipmaps[0].height,y1,G.mipmaps[0].data):B.texSubImage2D(B.TEXTURE_2D,q,_.x,_.y,y1,S1,G.image),q===0&&j.generateMipmaps&&B.generateMipmap(B.TEXTURE_2D),n1.unbindTexture()},this.copyTextureToTexture3D=function(_,G,j,q,K=0){if(g.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let g1=_.max.x-_.min.x+1,y1=_.max.y-_.min.y+1,S1=_.max.z-_.min.z+1,w1=d1.convert(q.format),B1=d1.convert(q.type),H1;if(q.isDataTexture3D)C1.setTexture3D(q,0),H1=B.TEXTURE_3D;else if(q.isDataTexture2DArray)C1.setTexture2DArray(q,0),H1=B.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,q.flipY),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,q.premultiplyAlpha),B.pixelStorei(B.UNPACK_ALIGNMENT,q.unpackAlignment);let V1=B.getParameter(B.UNPACK_ROW_LENGTH),Y1=B.getParameter(B.UNPACK_IMAGE_HEIGHT),p4=B.getParameter(B.UNPACK_SKIP_PIXELS),R4=B.getParameter(B.UNPACK_SKIP_ROWS),R1=B.getParameter(B.UNPACK_SKIP_IMAGES),le=j.isCompressedTexture?j.mipmaps[0]:j.image;B.pixelStorei(B.UNPACK_ROW_LENGTH,le.width),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,le.height),B.pixelStorei(B.UNPACK_SKIP_PIXELS,_.min.x),B.pixelStorei(B.UNPACK_SKIP_ROWS,_.min.y),B.pixelStorei(B.UNPACK_SKIP_IMAGES,_.min.z),j.isDataTexture||j.isDataTexture3D?B.texSubImage3D(H1,K,G.x,G.y,G.z,g1,y1,S1,w1,B1,le.data):j.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),B.compressedTexSubImage3D(H1,K,G.x,G.y,G.z,g1,y1,S1,w1,le.data)):B.texSubImage3D(H1,K,G.x,G.y,G.z,g1,y1,S1,w1,B1,le),B.pixelStorei(B.UNPACK_ROW_LENGTH,V1),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,Y1),B.pixelStorei(B.UNPACK_SKIP_PIXELS,p4),B.pixelStorei(B.UNPACK_SKIP_ROWS,R4),B.pixelStorei(B.UNPACK_SKIP_IMAGES,R1),K===0&&q.generateMipmaps&&B.generateMipmap(H1),n1.unbindTexture()},this.initTexture=function(_){C1.setTexture2D(_,0),n1.unbindTexture()},this.resetState=function(){p=0,d=0,A=null,n1.reset(),f1.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}Di.prototype.isWebGLRenderer=!0;var u0=class extends j1{constructor(){super();this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),t}};u0.prototype.isScene=!0;var pt=class extends j1{constructor(e,t=1){super();this.type="Light",this.color=new x1(e),this.intensity=t}dispose(){}copy(e){return super.copy(e),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}};pt.prototype.isLight=!0;var h0=class extends pt{constructor(e,t){super(e,t);this.type="AmbientLight"}};h0.prototype.isAmbientLight=!0;var bo=new k1,yo=new k,Co=new k,Ti=class{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new z1(512,512),this.map=null,this.mapPass=null,this.matrix=new k1,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new T4,this._frameExtents=new z1(1,1),this._viewportCount=1,this._viewports=[new q1(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,i=this.matrix;yo.setFromMatrixPosition(e.matrixWorld),t.position.copy(yo),Co.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(Co),t.updateMatrixWorld(),bo.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(bo),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(t.projectionMatrix),i.multiply(t.matrixWorldInverse)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}};var f0=class extends Ti{constructor(){super(new t2(50,1,.5,500));this.focus=1}updateMatrices(e){let t=this.camera,i=St*2*e.angle*this.focus,a=this.mapSize.width/this.mapSize.height,r=e.distance||t.far;(i!==t.fov||a!==t.aspect||r!==t.far)&&(t.fov=i,t.aspect=a,t.far=r,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}};f0.prototype.isSpotLightShadow=!0;var d0=class extends pt{constructor(e,t,i=0,a=Math.PI/3,r=0,s=1){super(e,t);this.type="SpotLight",this.position.copy(j1.DefaultUp),this.updateMatrix(),this.target=new j1,this.distance=i,this.angle=a,this.penumbra=r,this.decay=s,this.shadow=new f0}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}};d0.prototype.isSpotLight=!0;var p0=class extends T2{constructor(e){super();this.type="ShadowMaterial",this.color=new x1(0),this.transparent=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this}};p0.prototype.isShadowMaterial=!0;var m0=class extends Xt.Component{constructor(e){super();this.plugin=e;this.event=new Xt.Events;this.container=createDiv("renderer-container");this.shadows=!0;this.iterations=0;this.frame_rate=1/60;this.animating=!1;this.factory=new Ao(this.WIDTH,this.HEIGHT,this.plugin);this.colors={ambient:16777215,spotlight:16777215};this.display={currentWidth:null,currentHeight:null,containerWidth:null,containerHeight:null,aspect:null,scale:null};this.cameraHeight={max:null,close:null,medium:null,far:null};this.extraFrames=m0.DEFAULT_EXTRA_FRAMES;this.renderer=new Di({alpha:!0,antialias:!0})}get WIDTH(){return this.container.clientWidth/2}get HEIGHT(){return this.container.clientHeight/2}get ASPECT(){return this.WIDTH/this.HEIGHT}get scale(){return(this.WIDTH*this.WIDTH+this.HEIGHT*this.HEIGHT)/13}get canvasEl(){return this.renderer?this.renderer.domElement:null}setDice(e){this.animating&&(this.unload(),this.load()),this.stack=e,this.current=this.factory.getDice(this.stack,{x:(Math.random()*2-1)*this.WIDTH,y:-(Math.random()*2-1)*this.HEIGHT}),this.scene.add(...[...this.current.values()].flat().map(t=>t.geometry)),this.world.add(...[...this.current.values()].flat())}onload(){this.addChild(this.factory),this.container.empty(),this.container.style.opacity="1",document.body.appendChild(this.container),this.renderer.shadowMap.enabled=this.shadows,this.renderer.shadowMap.type=w6,this.container.appendChild(this.renderer.domElement),this.renderer.setClearColor(0,0),this.scene=new u0,this.initScene(),this.registerDomEvent(window,"resize",()=>{this.initScene()}),this.initWorld()}async start(){return new Promise(async(e,t)=>{this.current.size||t(),this.event.on("throw-finished",i=>{e(i)}),this.event.on("error",i=>{t(i)}),this.animating=!0,this.extraFrames=m0.DEFAULT_EXTRA_FRAMES,this.render()})}enableShadows(){this.shadows=!0,this.renderer&&(this.renderer.shadowMap.enabled=this.shadows),this.light&&(this.light.castShadow=this.shadows),this.desk&&(this.desk.receiveShadow=this.shadows)}disableShadows(){this.shadows=!1,this.renderer&&(this.renderer.shadowMap.enabled=this.shadows),this.light&&(this.light.castShadow=this.shadows),this.desk&&(this.desk.receiveShadow=this.shadows)}get mw(){return Math.max(this.WIDTH,this.HEIGHT)}setDimensions(e){this.display.currentWidth=this.container.clientWidth/2,this.display.currentHeight=this.container.clientHeight/2,e?(this.display.containerWidth=e.w,this.display.containerHeight=e.h):(this.display.containerWidth=this.display.currentWidth,this.display.containerHeight=this.display.currentHeight),this.display.aspect=Math.min(this.display.currentWidth/this.display.containerWidth,this.display.currentHeight/this.display.containerHeight),this.display.scale=Math.sqrt(this.display.containerWidth*this.display.containerWidth+this.display.containerHeight*this.display.containerHeight)/13,this.renderer.setSize(this.display.currentWidth*2,this.display.currentHeight*2),this.cameraHeight.max=this.display.currentHeight/this.display.aspect/Math.tan(10*Math.PI/180),this.factory.width=this.display.currentWidth,this.factory.height=this.display.currentHeight,this.cameraHeight.medium=this.cameraHeight.max/1.5,this.cameraHeight.far=this.cameraHeight.max,this.cameraHeight.close=this.cameraHeight.max/2}initCamera(){this.camera&&this.scene.remove(this.camera),this.camera=new t2(20,this.display.currentWidth/this.display.currentHeight,1,this.cameraHeight.max*1.3),this.camera.position.z=this.cameraHeight.far,this.camera.lookAt(new k(0,0,0))}initLighting(){let e=Math.max(this.display.containerWidth,this.display.containerHeight);this.light&&this.scene.remove(this.light),this.ambientLight&&this.scene.remove(this.ambientLight),this.light=new d0(this.colors.spotlight,.25),this.light.position.set(-e/2,e/2,e*3),this.light.target.position.set(0,0,0),this.light.distance=e*5,this.light.angle=Math.PI/4,this.light.castShadow=this.shadows,this.light.shadow.camera.near=e/10,this.light.shadow.camera.far=e*5,this.light.shadow.camera.fov=50,this.light.shadow.bias=.001,this.light.shadow.mapSize.width=1024,this.light.shadow.mapSize.height=1024,this.scene.add(this.light),this.ambientLight=new h0(16777215,.9),this.scene.add(this.ambientLight)}initDesk(){this.desk&&this.scene.remove(this.desk);let e=new p0;e.opacity=.5,this.desk=new l2(new H4(this.display.containerWidth*6,this.display.containerHeight*6,1,1),e),this.desk.receiveShadow=this.shadows,this.scene.add(this.desk)}initScene(){this.setDimensions(),this.initCamera(),this.initLighting(),this.initDesk(),this.camera.updateProjectionMatrix(),this.renderer.render(this.scene,this.camera)}initWorld(){this.world=new zo(this.WIDTH,this.HEIGHT),this.iterations=0}getResultsForRoller(e){let t=this.current.get(e),i=t.filter(s=>s instanceof D4&&s.isPercentile),a=[];for(let s=0;s!(s instanceof D4&&s.isPercentile)).map(s=>s.getUpsideValue()).filter(s=>s),...a.map(([s,o])=>{let c=s.getUpsideValue();if(!o)return c;let l=o.getUpsideValue();return c===10&&l==10?100:(l==10&&(l=0),c==10&&(c=0),c*10+l)}).filter(s=>s)]}returnResult(){for(let e of this.stack.dynamic){if(!this.current.has(e))continue;let t=this.getResultsForRoller(e);!t||e.setResults(t)}this.event.trigger("throw-finished",this.stack)}unrender(e=this){e.container.style.opacity="0",e.registerInterval(window.setTimeout(()=>{e.animating=!1,e.unload()},1e3))}render(){if(this.throwFinished())if(this.extraFrames>10)this.extraFrames--;else{try{for(let[e,t]of this.current)if(!(!e.modifiers.size||!this.getResultsForRoller(e))&&e.modifiers.has("r")){let a=t.filter(r=>(e.conditions.length||e.conditions.push({operator:"=",comparer:e.faces.min,value:""}),e.checkCondition(r.result,e.conditions)&&r.rerolled{r.rerolled++;let s={x:(Math.random()*2-1)*this.WIDTH,y:-(Math.random()*2-1)*this.HEIGHT};r.vector=r.generateVector(s),r.create(),r.set(),r.stopped=!1}),this.animation=requestAnimationFrame(()=>this.render());return}}if(this.returnResult(),this.plugin.data.renderTime)this.registerInterval(window.setTimeout(()=>this.unrender(),this.plugin.data.renderTime));else{let t=function(){e.unrender(e),document.body.removeEventListener("click",t)},e=this;this.registerDomEvent(document.body,"click",t)}}catch(e){this.event.trigger("error",e)}return}this.animation=requestAnimationFrame(()=>this.render()),this.world.step(this.frame_rate),this.iterations++,this.current.forEach(e=>{e.map(t=>t.set())}),this.renderer.render(this.scene,this.camera)}dispose(...e){e.forEach(t=>{"dispose"in t&&t.dispose(),t.children&&this.dispose(...t.children)})}detach(){}onunload(){cancelAnimationFrame(this.animation),this.container.detach(),this.container.empty(),this.renderer.domElement.detach(),this.renderer.dispose(),this.factory.dispose(),this.ambientLight.dispose(),this.light.dispose(),this.scene.children.forEach(e=>this.dispose(e)),this.scene.remove(this.scene,...this.scene.children,...[...this.current.values()].flat().map(e=>e.geometry)),this.current.forEach(e=>{e.forEach(t=>{[...Array.isArray(t.geometry.material)?t.geometry.material:[t.geometry.material]].forEach(a=>a&&a.dispose()),this.world.world.removeBody(t.body)})}),this.current=new Map}onThrowFinished(){}throwFinished(){let e=!0,t=4;if(this.iterations<10/this.frame_rate)for(let i of this.current.values())for(let a of i){if(a.stopped===!0)continue;let r=a.body.angularVelocity,s=a.body.velocity;if(Math.abs(r.x)3){a.stopped=!0;continue}}else a.stopped=this.iterations;e=!1}else a.stopped=void 0,e=!1}return e}},Zt=m0;Zt.DEFAULT_EXTRA_FRAMES=30;var zo=class{constructor(e,t){this.WIDTH=e;this.HEIGHT=t;this.world=new $0({gravity:new y(0,0,-9.82*400)});this.ground=this.getPlane();this.diceMaterial=new Ve;this.deskMaterial=new Ve;this.barrierMaterial=new Ve;this.world.broadphase=new d6,this.world.allowSleep=!0,this.ground.position.set(0,0,0),this.world.addBody(this.ground),this.buildWalls()}add(...e){e.forEach(t=>{this.world.addBody(t.body)})}step(e=1/60){let t=performance.now()/1e3;if(!this.lastCallTime)this.world.step(e);else{let i=t-this.lastCallTime;this.world.step(e,i)}this.lastCallTime=t}buildWalls(){this.world.addContactMaterial(new He(this.deskMaterial,this.diceMaterial,{friction:.01,restitution:.5,contactEquationRelaxation:3,contactEquationStiffness:1e8})),this.world.addContactMaterial(new He(this.barrierMaterial,this.diceMaterial,{friction:.01,restitution:1,contactEquationRelaxation:3,contactEquationStiffness:1e8})),this.world.addContactMaterial(new He(this.diceMaterial,this.diceMaterial,{friction:.1,restitution:.5,contactEquationRelaxation:3,contactEquationStiffness:1e8})),this.world.addBody(new i1({allowSleep:!1,mass:0,shape:new t4,material:this.deskMaterial}));let e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial});e.quaternion.setFromAxisAngle(new y(1,0,0),Math.PI/2),e.position.set(0,this.HEIGHT*.93,0),this.world.addBody(e),e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial}),e.quaternion.setFromAxisAngle(new y(1,0,0),-Math.PI/2),e.position.set(0,-this.HEIGHT*.93,0),this.world.addBody(e),e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial}),e.quaternion.setFromAxisAngle(new y(0,1,0),-Math.PI/2),e.position.set(this.WIDTH*.93,0,0),this.world.addBody(e),e=new i1({allowSleep:!1,mass:0,shape:new t4,material:this.barrierMaterial}),e.quaternion.setFromAxisAngle(new y(0,1,0),Math.PI/2),e.position.set(-this.WIDTH*.93,0,0),this.world.addBody(e)}getPlane(){return new i1({type:i1.STATIC,shape:new t4})}},Ao=class extends Xt.Component{constructor(e,t,i){super();this.width=e;this.height=t;this.plugin=i;this.dice={};this.buildDice()}get colors(){return{diceColor:this.plugin.data.diceColor,textColor:this.plugin.data.textColor}}updateColors(){this.dispose(),this.buildDice()}onunload(){this.dispose()}disposeChildren(...e){e.forEach(t=>{"dispose"in t&&t.dispose(),t.children&&this.disposeChildren(...t.children)})}dispose(){for(let e of Object.values(this.dice))this.disposeChildren(e.geometry.children)}getDiceForRoller(e,t){let i=[];switch(e.faces.max){case 4:{i.push(...new Array(e.rolls).fill(0).map(a=>new Mi(this.width,this.height,this.clone("d4"),t)));break}case 1:case 6:{i.push(...new Array(e.rolls).fill(0).map(a=>new xi(this.width,this.height,e.fudge?this.clone("fudge"):this.clone("d6"),t)));break}case 8:{i.push(...new Array(e.rolls).fill(0).map(a=>new gi(this.width,this.height,this.clone("d8"),t)));break}case 10:{i.push(...new Array(e.rolls).fill(0).map(a=>new D4(this.width,this.height,this.clone("d10"),t)));break}case 12:{i.push(...new Array(e.rolls).fill(0).map(a=>new vi(this.width,this.height,this.clone("d12"),t)));break}case 20:{i.push(...new Array(e.rolls).fill(0).map(a=>new mi(this.width,this.height,this.clone("d20"),t)));break}case 100:{i.push(...new Array(e.rolls).fill(0).map(a=>[new D4(this.width,this.height,this.clone("d100"),t,!0),new D4(this.width,this.height,this.clone("d10"),t,!0)]).flat());break}}return i}getDice(e,t){let i=new Map;for(let a of e.dynamic){let r=this.getDiceForRoller(a,t);r.length&&i.set(a,r)}return i}clone(e){if(!(e in this.dice))throw new Error("That dice type does not exist!");return this.dice[e].clone()}buildDice(){this.dice.d100=new ti(this.width,this.height,this.colors).create(),this.dice.d20=new J3(this.width,this.height,this.colors).create(),this.dice.d12=new Q3(this.width,this.height,this.colors).create(),this.dice.d10=new ei(this.width,this.height,this.colors).create(),this.dice.d8=new ii(this.width,this.height,this.colors).create(),this.dice.d6=new ai(this.width,this.height,this.colors).create(),this.dice.d4=new ni(this.width,this.height,this.colors).create(),this.dice.fudge=new ri(this.width,this.height,this.colors).create(),this.dice.boost=new di(this.width,this.height,this.colors).create(),this.dice.ability=new ui(this.width,this.height,this.colors).create(),this.dice.difficulty=new hi(this.width,this.height,this.colors).create(),this.dice.challenge=new ci(this.width,this.height,this.colors).create(),this.dice.proficiency=new oi(this.width,this.height,this.colors).create(),this.dice.setback=new pi(this.width,this.height,this.colors).create()}};var So=w2(_o());var Hi=class{constructor(e){this.table=e}parse(e){let t=e.length,i=this.table,a=[],r=[],s=0;for(;sf||u===f&&l.associativity==="right")break;a.push(r.shift())}r.unshift(o)}else a.push(o)}}for(;r.length;){let o=r.shift();if(o.value!=="(")a.push(o);else throw new Error("Mismatched parentheses.")}return a}};var ih=/(?:\d+[Dd])?#(?:[\p{Letter}\p{Emoji_Presentation}\w/-]+)(?:\|(?:[+-]))?(?:\|(?:[^+-]+))?/u,ah=/(?:\d+[Dd])?#(?:[\p{Letter}\p{Emoji_Presentation}\w/-]+)(?:\|(?:[+-]))?\|link/u,rh=/(?:.*)?(?:\[.*\]\(|\[\[)(?:.+?)#?\^(?:.+?)(?:\)|\]\])\|?(?:.+)?/u,nh=/(?:\d+[Dd])?(?:\[.*\]\(|\[\[)(?:.+)(?:\)|\]\])\|?(?:.+)?/u,sh=/(?:\d+[Dd])?(?:\[.*\]\(|\[\[)(?:.+)(?:\)|\]\])\|line/u,oh=/[\(\^\+\-\*\/\)]/u,ch=/(?:\d+|\b)[Dd](?:\[?(?:-?\d+[ \t]?,)?[ \t]?(?:-?\d+|%|F)\]?|\b)/u,lh=/(?:=|=!|<|>|<=|>=|=<|=>|-=|=-)\d+/u,g0=class{constructor(e){this.plugin=e;this.lexer=So.compile({WS:[{match:/[ \t]+/u},{match:/[{}]+/u}],table:rh,line:sh,section:nh,link:ah,tag:ih,condition:lh,kl:{match:/kl\d*/u,value:this.clampInfinite},kh:[{match:/kh\d*/u,value:this.clampInfinite},{match:/k\d*/u,value:this.clampInfinite}],dh:{match:/dh\d*/u,value:this.clampInfinite},dl:[{match:/dl\d*/u,value:this.clampInfinite}],"!!":{match:/!!(?:i|\d+)?/u,value:this.clampInfinite},"!":{match:/!(?:i|\d+)?/u,value:this.clampInfinite},r:{match:/r(?:i|\d+)?/u,value:this.clampInfinite},stunt:/1[Dd]S/u,"%":/\d+[Dd]\d+%/u,dice:[{match:ch,value:e=>{let{roll:t=this.plugin.data.defaultRoll,faces:i=this.plugin.data.defaultFace}=e.match(/(?\d+)?[Dd](?\[?(?:-?\d+[ \t]?,)?[ \t]?(?:-?\d+|%|F)\]?)?/).groups;return`${t}d${i}`}},{match:/\d+/u},{match:/\b[A-Za-z][A-Za-z0-9_]+\b/u,value:e=>this.plugin.inline.has(e)?`${this.plugin.inline.get(e)}`:e}],sort:[{match:/s(?:a|d)*/u,value:e=>e=="s"||e=="sa"?"sa":"sd"}],math:oh});let t={precedence:3,associativity:"right"},i={precedence:2,associativity:"left"},a={precedence:1,associativity:"left"};this.parser=new Hi({"+":a,"-":a,"*":i,"/":i,"^":t})}clampInfinite(e){return/i$/.test(e)?"100":e.replace(/^\D+/g,"")}parse(e){let t=Array.from(this.lexer.reset(e));return this.lexer.reset(),this.parser.parse(this.transform(t))}transform(e){e=e.filter(i=>i.type!="WS");let t=[];for(let i of e)if(i.type=="condition"&&t.length>0){let a=t[t.length-1];a.conditions||(a.conditions=[]);let[r,s,o]=i.value.match(/(?=|=!|<|>|<=|>=|=<|=>|\-=|=\-)(?\d+)/)??[];a.conditions.push({operator:s,comparer:Number(o),value:i.value})}else t.push(i);return t}getTypeFromLexemes(e){return e.some(({type:t})=>t==="table")?"table":e.some(({type:t})=>t==="section")?"section":e.some(({type:t})=>t==="tag")?"tag":e.some(({type:t})=>t==="link")?"link":e.some(({type:t})=>t==="line")?"line":"dice"}};var we=w2(require("@codemirror/view")),Eo=w2(require("@codemirror/language")),mt=w2(require("obsidian"));function uh(n,e,t){for(let i of n.ranges)if(i.from<=t&&i.to>=e)return!0;return!1}function Lo(n,e){let t=app.workspace.getActiveFile();if(!t)return;let i=[],a=n.state.selection,r=new RegExp(".*?_?inline-code_?.*");for(let{from:s,to:o}of n.visibleRanges)(0,Eo.syntaxTree)(n.state).iterate({from:s,to:o,enter:({node:c})=>{let l=c.type;if(l.name.includes("formatting")||!r.test(l.name))return;let u=c.from,f=c.to;if(uh(a,u,f+1))return;let h=n.state.doc.sliceString(u,f).trim();if(/^dice-mod:\s*([\s\S]+)\s*?/.test(h)){let[,g]=h.match(/dice-mod:\s*([\s\S]+)\s*?/),x=app.workspace.getActiveFile(),p=e.getRollerSync(g,x.path);p.roll().then(d=>{let A=e.data.displayFormulaForMod?`${p.inlineText} **${p.replacer}**`:`${p.replacer}`,b={from:u-1,to:f+1,insert:A},C=n.state.update({changes:b});n.dispatch(C)});return}if(!/^dice(?:\+|\-)?:\s*([\s\S]+)\s*?/.test(h))return;let[,m]=h.match(/^dice(?:\+|\-)?:\s*([\s\S]+)\s*?/),v=e.getRollerSync(m,t.path);i.push(we.Decoration.replace({widget:new Do(h,v,n),inclusive:!1,block:!1}).range(u-1,f+1))}});return we.Decoration.set(i,!0)}var Do=class extends we.WidgetType{constructor(e,t,i){super();this.rawQuery=e;this.roller=t;this.view=i}eq(e){return e.rawQuery===this.rawQuery}toDOM(e){return this.roller.roll(),this.roller.containerEl}ignoreEvent(e){if(e.type==="mousedown"){let t=this.view.posAtCoords({x:e.x,y:e.y});if(e.shiftKey){if(t){let{editor:i}=this.view.state.field(mt.editorEditorField).state.field(mt.editorViewField);i.setCursor(i.offsetToPos(t))}return!1}}return!0}};function To(n){return we.ViewPlugin.fromClass(class{constructor(e){this.decorations=Lo(e,n)??we.Decoration.none}update(e){if(!e.state.field(mt.editorLivePreviewField)){this.decorations=we.Decoration.none;return}(e.docChanged||e.viewportChanged||e.selectionSet)&&(this.decorations=Lo(e.view,n)??we.Decoration.none)}},{decorations:e=>e.decorations})}String.prototype.matchAll=String.prototype.matchAll||function*(e){let t=e.global?e.flags:e.flags+"g",i=new RegExp(e,t),a;for(;a=i.exec(this);)yield a};var h6={returnAllTags:!0,rollLinksForTags:!1,copyContentButton:!0,customFormulas:[],displayFormulaForMod:!0,displayResultsInline:!1,displayLookupRoll:!0,formulas:{},persistResults:!1,results:{},defaultRoll:1,defaultFace:100,renderer:!1,renderAllDice:!1,renderTime:2e3,diceColor:"#202020",textColor:"#ffffff",showLeafOnStartup:!0,showDice:!0,round:de.None},Ni=class extends u2.Plugin{constructor(){super(...arguments);this.fileMap=new Map;this.inline=new Map;this.operators={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"^":(e,t)=>Math.pow(e,t)};this.parser=new g0(this);this.persistingFiles=new Set}async onload(){console.log("DiceRoller plugin loaded"),this.data=Object.assign({},h6,await this.loadData()),this.renderer=new Zt(this),this.addSettingTab(new u6(this.app,this)),this.registerView(M4,i=>new Je(this,i)),this.app.workspace.onLayoutReady(()=>this.addDiceView(!0)),this.registerEvent(this.app.workspace.on("dice-roller:update-colors",()=>{this.renderer.factory.updateColors()})),this.registerEvent(this.app.workspace.on("dice-roller:render-dice",async i=>{let a=await this.getRoller(i,"external");if(!(a instanceof _2)){new u2.Notice("The Dice View only supports dice rolls.");return}if(await a.roll(),!a.dice.length){new u2.Notice("Invalid formula.");return}try{this.renderRoll(a)}catch(r){new u2.Notice("There was an error rendering the roll."),console.error(r)}this.app.workspace.trigger("dice-roller:rendered-result",a.result)})),this.addCommand({id:"open-view",name:"Open Dice View",checkCallback:i=>{if(!this.view)return i||this.addDiceView(),!0}}),this.addCommand({id:"reroll",name:"Re-roll Dice",checkCallback:i=>{let a=this.app.workspace.getActiveViewOfType(u2.MarkdownView);if(a&&a.getMode()==="preview"&&this.fileMap.has(a.file))return i||this.fileMap.get(a.file).forEach(s=>{s.roll()}),!0}});let e=T0(Pi).html[0];(0,u2.addIcon)(De,e);let t=T0(Ii).html[0];(0,u2.addIcon)(Te,t),this.registerMarkdownPostProcessor(this.postprocessor.bind(this)),this.registerEditorExtension([To(this)]),this.app.workspace.onLayoutReady(async()=>{await this.registerDataviewInlineFields()})}async postprocessor(e,t){let i=e.querySelectorAll("code");if(!i.length)return;let a=t.sourcePath,r=t.getSectionInfo(e),s=t.getSectionInfo(e)?.lineStart,o=this.app.vault.getAbstractFileByPath(t.sourcePath);if(!o||!(o instanceof u2.TFile))return;let c={},l,u=!1,f=[];for(let h=0;h{p.on("new-result",async()=>{let b=l.slice(r.lineStart,r.lineEnd+1),C=p.replacer;if(!C){new u2.Notice("Dice Roller: There was an issue modifying the file.");return}let E=x?`${p.inlineText} ${C}`:`${C}`;b=b.join(` +`).replace(`\`${v}\``,E).split(` +`),l.splice(r.lineStart,r.lineEnd-r.lineStart+1,...b),d()})})),await p.roll();continue}catch(v){console.error(v)}if(!!/^dice(?:\+|\-|\-mod)?:\s*([\s\S]+)\s*?/.test(m.innerText))try{let[,v]=m.innerText.match(/^dice(?:\+|\-|\-mod)?:\s*([\s\S]+)\s*?/),g=await this.getRoller(v,t.sourcePath),x=this.data.results?.[a]?.[s]?.[h]??null;(this.data.persistResults&&!/dice\-/.test(m.innerText)||/dice\+/.test(m.innerText))&&(this.persistingFiles.add(t.sourcePath),c[h]=g,g.save=!0);let p=this.data.renderAllDice;v.includes("|render")&&(p=!0),v.includes("|norender")&&(p=!1);let d=async()=>{await g.roll(),g.save&&x&&await g.applyResult(x),g instanceof _2&&(g.shouldRender=p),m.replaceWith(g.containerEl)};g.loaded?await d():g.on("loaded",async()=>{await d()}),this.fileMap.has(o)||this.fileMap.set(o,[]),this.fileMap.set(o,[...this.fileMap.get(o),g]);let A=this.app.workspace.getActiveViewOfType(u2.MarkdownView);if(A&&this.fileMap.has(o)&&this.fileMap.get(o).length===1){let b=this,C=H0(A,{onUnloadFile:function(E){return async function(T){return T==o&&(b.fileMap.delete(o),C()),await E.call(this,T)}}});A.register(C),A.register(()=>this.fileMap.delete(o))}}catch(v){console.error(v),new u2.Notice(`There was an error parsing the dice string: ${m.innerText}. -${x}`,5e3);continue}}if(h&&m.length&&(await Promise.all(m),await this.app.vault.modify(c,f.join(` -`))),s in this.data.results&&(this.data.results[s][l]={}),Object.entries(u).length){let v=this.app.workspace.getActiveViewOfType(u2.MarkdownView);if(v){let g=this,x=H0(v,{onUnloadFile:function(p){return async function(d){if(d=c){g.persistingFiles.has(s)&&(g.persistingFiles.delete(s),g.data.results[s]={});for(let z in u){let b=u[z],C=a.getSectionInfo(i)?.lineStart;if(C==null)continue;let E={[C]:{...g.data.results[s]?.[C]??{},[z]:b.toResult()}};g.data.results[s]={...g.data.results[s]??{},...E},await g.saveSettings()}}return x(),await p.call(this,d)}}});v.register(x),v.register(async()=>{this.persistingFiles.has(s)&&(this.persistingFiles.delete(s),this.data.results[s]={});for(let p in u){let d=u[p],z=a.getSectionInfo(i)?.lineStart;if(z==null)continue;let b={[z]:{...this.data.results[s]?.[z]??{},[p]:d.toResult()}};this.data.results[s]={...this.data.results[s]??{},...b},await this.saveSettings()}})}}}),this.registerEditorExtension(To(this)),this.app.workspace.onLayoutReady(async()=>{await this.registerDataviewInlineFields()})}get canUseDataview(){return this.app.plugins.getPlugin("dataview")!=null}get dataview(){return this.app.plugins.getPlugin("dataview")}get dataviewAPI(){return(0,Ho.getAPI)()}async dataviewReady(){return new Promise(e=>{this.canUseDataview||e(!1),this.dataview.api&&e(!0),this.registerEvent(this.app.metadataCache.on("dataview:api-ready",()=>{e(!0)}))})}get view(){let e=this.app.workspace.getLeavesOfType(x4),t=e.length?e[0]:null;if(t&&t.view&&t.view instanceof Je)return t.view}async getArrayRoller(e,t=1){let i=new F0(this,e,t);return await i.roll(),i}async addDiceView(e=!1){e&&!this.data.showLeafOnStartup||this.app.workspace.getLeavesOfType(x4).length||await this.app.workspace.getRightLeaf(!1).setViewState({type:x4})}async registerDataviewInlineFields(){if(!this.canUseDataview)return;await this.dataviewReady(),this.dataview.index.pages.forEach(({fields:t})=>{for(let[i,a]of t)typeof a!="number"||Number.isNaN(a)||a==null||this.inline.set(i,a)}),this.registerEvent(this.app.metadataCache.on("dataview:metadata-change",(t,i)=>{if(t==="update"){let a=this.dataview.api.page(i.path);if(!a)return;for(let r in a){let s=a[r];typeof s!="number"||Number.isNaN(s)||s==null||this.inline.set(r,s)}}}))}async renderRoll(e){if(!(e instanceof V2)||!e?.dice?.length){new u2.Notice(`This dice roll can't be rendered: ${e.original}`);return}this.addChild(this.renderer),this.renderer.setDice(e),await this.renderer.start(),e.recalculate()}async parseDice(e,t){let i=await this.getRoller(e,t);return{result:await i.roll(),roller:i}}parseDiceSync(e,t){let i=this.getRollerSync(e,t);if(i instanceof V2)return{result:i.result,roller:i}}clearEmpties(e){for(var t in e)!e[t]||typeof e[t]!="object"||(this.clearEmpties(e[t]),Object.keys(e[t]).length===0&&delete e[t])}async saveSettings(){this.clearEmpties(this.data.results),await this.saveData(this.data)}get dataview_regex(){let e=Array.from(this.inline.keys());return e.length?new RegExp(`(${e.join("|")})`,"g"):null}async getRoller(e,t="",i=this.data.showDice){e=e.replace(/\\\|/g,"|");let a=e.includes("|nodice")?!1:i,r=this.data.displayResultsInline,s=f2.Roll,o="",l=/\|text\((.*)\)/;if(e.includes("|form")&&(r=!0),e.includes("|noform")&&(r=!1),e.includes("|avg")&&(s=f2.Average),e.includes("|none")&&(s=f2.None),e.includes("|text(")){let[,f]=e.match(l)??[null,""];o=f}e=(0,Vi.decode)(e.replace("|nodice","").replace("|render","").replace("|norender","").replace("|noform","").replace("|form","").replace("|avg","").replace("|none","").replace(l,"")),e in this.data.formulas&&(e=this.data.formulas[e]);let c=this.parse(e);switch(this.getTypeFromLexemes(c)){case"dice":{let f=new V2(this,e,c,a,o,s);return f.showFormula=r,f}case"table":{let f=new P4(this,e,c[0],t,a);return await f.init,f}case"section":return new yt(this,e,c[0],t,a);case"tag":{if(!this.canUseDataview)throw new Error("Tags are only supported with the Dataview plugin installed.");return new s6(this,e,c[0],t,a)}case"link":return new o6(this,e,c[0],t,a);case"line":return new c6(this,e,c[0],t,a)}}getRollerSync(e,t,i=this.data.showDice){e=e.replace(/\\\|/g,"|");let a=e.includes("|nodice")?!1:i,r=this.data.renderAllDice,s=!1,o=f2.Roll,l="",c=/\|text\((.*)\)/;if(e.includes("|render")&&(r=!0),e.includes("|norender")&&(r=!1),e.includes("|form")&&(s=!0),e.includes("|noform")&&(s=!1),e.includes("|avg")&&(o=f2.Average),e.includes("|none")&&(o=f2.None),e.includes("|text(")){let[,h]=e.match(c)??[null,""];l=h}e=(0,Vi.decode)(e.replace("|nodice","").replace("|render","").replace("|norender","").replace("|noform","").replace("|form","").replace("|avg","").replace("|none","").replace(c,"")),e in this.data.formulas&&(e=this.data.formulas[e]);let u=this.parse(e);switch(this.getTypeFromLexemes(u)){case"dice":{let h=new V2(this,e,u,a,l,o);return h.shouldRender=r,h.showFormula=s,h}case"table":{let h=new P4(this,e,u[0],t,a);return h.init,h}case"section":return new yt(this,e,u[0],t,a);case"tag":{if(!this.canUseDataview)throw new Error("Tags are only supported with the Dataview plugin installed.");return new s6(this,e,u[0],t,a)}case"link":return new o6(this,e,u[0],t,a);case"line":return new c6(this,e,u[0],t,a)}}getTypeFromLexemes(e){return e.some(({type:t})=>t==="table")?"table":e.some(({type:t})=>t==="section")?"section":e.some(({type:t})=>t==="tag")?"tag":e.some(({type:t})=>t==="link")?"link":e.some(({type:t})=>t==="line")?"line":"dice"}onunload(){console.log("DiceRoller unloaded"),this.app.workspace.getLeavesOfType(x4).forEach(e=>e.detach()),"__THREE__"in window&&delete window.__THREE__,this.renderer.unload(),this.app.workspace.trigger("dice-roller:unload")}parse(e){return this.parser.parse(e)}}; +${v}`,5e3);continue}}if(u&&f.length&&(await Promise.all(f),await this.app.vault.modify(o,l.join(` +`))),a in this.data.results&&(this.data.results[a][s]={}),Object.entries(c).length){let h=this.app.workspace.getActiveViewOfType(u2.MarkdownView);if(h){let m=this,v=H0(h,{onUnloadFile:function(g){return async function(x){if(x=o){m.persistingFiles.has(a)&&(m.persistingFiles.delete(a),m.data.results[a]={});for(let p in c){let d=c[p],A=t.getSectionInfo(e)?.lineStart;if(A==null)continue;let b={[A]:{...m.data.results[a]?.[A]??{},[p]:d.toResult()}};m.data.results[a]={...m.data.results[a]??{},...b},await m.saveSettings()}}return v(),await g.call(this,x)}}});h.register(v),h.register(async()=>{this.persistingFiles.has(a)&&(this.persistingFiles.delete(a),this.data.results[a]={});for(let g in c){let x=c[g],p=t.getSectionInfo(e)?.lineStart;if(p==null)continue;let d={[p]:{...this.data.results[a]?.[p]??{},[g]:x.toResult()}};this.data.results[a]={...this.data.results[a]??{},...d},await this.saveSettings()}})}}}get canUseDataview(){return this.app.plugins.getPlugin("dataview")!=null}get dataview(){return this.app.plugins.getPlugin("dataview")}get dataviewAPI(){return(0,Ho.getAPI)()}async dataviewReady(){return new Promise(e=>{this.canUseDataview||e(!1),this.dataview.api&&e(!0),this.registerEvent(this.app.metadataCache.on("dataview:api-ready",()=>{e(!0)}))})}get view(){let e=this.app.workspace.getLeavesOfType(M4),t=e.length?e[0]:null;if(t&&t.view&&t.view instanceof Je)return t.view}async getArrayRoller(e,t=1){let i=new F0(this,e,t);return await i.roll(),i}async addDiceView(e=!1){e&&!this.data.showLeafOnStartup||this.app.workspace.getLeavesOfType(M4).length||await this.app.workspace.getRightLeaf(!1).setViewState({type:M4})}async registerDataviewInlineFields(){if(!this.canUseDataview)return;await this.dataviewReady(),this.dataview.index.pages.forEach(({fields:t})=>{for(let[i,a]of t)typeof a!="number"||Number.isNaN(a)||a==null||this.inline.set(i,a)}),this.registerEvent(this.app.metadataCache.on("dataview:metadata-change",(t,i)=>{if(t==="update"){let a=this.dataview.api.page(i.path);if(!a)return;for(let r in a){let s=a[r];typeof s!="number"||Number.isNaN(s)||s==null||this.inline.set(r,s)}}}))}async renderRoll(e){if(!(e instanceof _2)||!e?.dice?.length){new u2.Notice(`This dice roll can't be rendered: ${e.original}`);return}this.addChild(this.renderer),this.renderer.setDice(e),await this.renderer.start(),e.recalculate()}async parseDice(e,t){let i=await this.getRoller(e,t);return{result:await i.roll(),roller:i}}parseDiceSync(e,t){let i=this.getRollerSync(e,t);if(i instanceof _2)return{result:i.result,roller:i}}clearEmpties(e){for(var t in e)!e[t]||typeof e[t]!="object"||(this.clearEmpties(e[t]),Object.keys(e[t]).length===0&&delete e[t])}async saveSettings(){this.clearEmpties(this.data.results),await this.saveData(this.data)}get dataview_regex(){let e=Array.from(this.inline.keys());return e.length?new RegExp(`(${e.join("|")})`,"g"):null}async getRoller(e,t="",i=this.data.showDice){e=e.replace(/\\\|/g,"|");let a=e.includes("|nodice")?!1:i,r=this.data.displayResultsInline,s=f2.Roll,o="",c=/\|text\((.*)\)/;if(e.includes("|form")&&(r=!0),e.includes("|noform")&&(r=!1),e.includes("|avg")&&(s=f2.Average),e.includes("|none")&&(s=f2.None),e.includes("|text(")){let[,f]=e.match(c)??[null,""];o=f}e=(0,Vi.decode)(e.replace("|nodice","").replace("|render","").replace("|norender","").replace("|noform","").replace("|form","").replace("|avg","").replace("|none","").replace(c,"")),e in this.data.formulas&&(e=this.data.formulas[e]);let l=this.parse(e);switch(this.getTypeFromLexemes(l)){case"dice":{let f=new _2(this,e,l,a,o,s);return f.showFormula=r,f}case"table":{let f=new I4(this,e,l[0],t,a);return await f.init,f}case"section":return new Ct(this,e,l[0],t,a);case"tag":{if(!this.canUseDataview)throw new Error("Tags are only supported with the Dataview plugin installed.");return new o6(this,e,l[0],t,a)}case"link":return new c6(this,e,l[0],t,a);case"line":return new l6(this,e,l[0],t,a)}}getRollerSync(e,t,i=this.data.showDice){e=e.replace(/\\\|/g,"|");let a=e.includes("|nodice")?!1:i,r=this.data.renderAllDice,s=!1,o=f2.Roll,c="",l=/\|text\((.*)\)/;if(e.includes("|render")&&(r=!0),e.includes("|norender")&&(r=!1),e.includes("|form")&&(s=!0),e.includes("|noform")&&(s=!1),e.includes("|avg")&&(o=f2.Average),e.includes("|none")&&(o=f2.None),e.includes("|text(")){let[,h]=e.match(l)??[null,""];c=h}e=(0,Vi.decode)(e.replace("|nodice","").replace("|render","").replace("|norender","").replace("|noform","").replace("|form","").replace("|avg","").replace("|none","").replace(l,"")),e in this.data.formulas&&(e=this.data.formulas[e]);let u=this.parse(e);switch(this.getTypeFromLexemes(u)){case"dice":{let h=new _2(this,e,u,a,c,o);return h.shouldRender=r,h.showFormula=s,h}case"table":{let h=new I4(this,e,u[0],t,a);return h.init,h}case"section":return new Ct(this,e,u[0],t,a);case"tag":{if(!this.canUseDataview)throw new Error("Tags are only supported with the Dataview plugin installed.");return new o6(this,e,u[0],t,a)}case"link":return new c6(this,e,u[0],t,a);case"line":return new l6(this,e,u[0],t,a)}}getTypeFromLexemes(e){return e.some(({type:t})=>t==="table")?"table":e.some(({type:t})=>t==="section")?"section":e.some(({type:t})=>t==="tag")?"tag":e.some(({type:t})=>t==="link")?"link":e.some(({type:t})=>t==="line")?"line":"dice"}onunload(){console.log("DiceRoller unloaded"),this.app.workspace.getLeavesOfType(M4).forEach(e=>e.detach()),"__THREE__"in window&&delete window.__THREE__,this.renderer.unload(),this.app.workspace.trigger("dice-roller:unload")}parse(e){return this.parser.parse(e)}}; /*! * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) diff --git a/.obsidian/plugins/obsidian-dice-roller/manifest.json b/.obsidian/plugins/obsidian-dice-roller/manifest.json index 57b97b76..e8f1dd80 100644 --- a/.obsidian/plugins/obsidian-dice-roller/manifest.json +++ b/.obsidian/plugins/obsidian-dice-roller/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-dice-roller", "name": "Dice Roller", - "version": "8.7.0", + "version": "8.8.0", "minAppVersion": "0.12.15", "description": "Inline dice rolling for Obsidian.md", "author": "Jeremy Valentine", diff --git a/.obsidian/plugins/obsidian-kanban/main.js b/.obsidian/plugins/obsidian-kanban/main.js index 9879db37..23a13478 100644 --- a/.obsidian/plugins/obsidian-kanban/main.js +++ b/.obsidian/plugins/obsidian-kanban/main.js @@ -7,27 +7,27 @@ const cancelAnimationFrame = (id) => activeWindow.cancelAnimationFrame(id); const setTimeout = (...args) => activeWindow.setTimeout(...args); const clearTimeout = (id) => activeWindow.clearTimeout(id); -var JE=Object.create;var ro=Object.defineProperty;var GE=Object.getOwnPropertyDescriptor;var QE=Object.getOwnPropertyNames;var XE=Object.getPrototypeOf,ZE=Object.prototype.hasOwnProperty;var If=e=>ro(e,"__esModule",{value:!0});var Dl=(e,t)=>()=>(e&&(t=e(e=0)),t);var pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),qi=(e,t)=>{If(e);for(var r in t)ro(e,r,{get:t[r],enumerable:!0})},ex=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of QE(t))!ZE.call(e,n)&&n!=="default"&&ro(e,n,{get:()=>t[n],enumerable:!(r=GE(t,n))||r.enumerable});return e},me=e=>ex(If(ro(e!=null?JE(XE(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);function Vn(e,t){for(var r in t)e[r]=t[r];return e}function Of(e){var t=e.parentNode;t&&t.removeChild(e)}function h(e,t,r){var n,i,a,o={};for(a in t)a=="key"?n=t[a]:a=="ref"?i=t[a]:o[a]=t[a];if(arguments.length>2&&(o.children=arguments.length>3?Yi.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)o[a]===void 0&&(o[a]=e.defaultProps[a]);return Gi(e,o,n,i,null)}function Gi(e,t,r,n,i){var a={type:e,props:t,key:r,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++Af};return i==null&&fe.vnode!=null&&fe.vnode(a),a}function ri(){return{current:null}}function S(e){return e.children}function ht(e,t){this.props=e,this.context=t}function ii(e,t){if(t==null)return e.__?ii(e.__,e.__.__k.indexOf(e)+1):null;for(var r;t0?Gi(p.type,p.props,p.key,null,p.__v):p)!=null){if(p.__=r,p.__b=r.__b+1,(f=k[c])===null||f&&p.key==f.key&&p.type===f.type)k[c]=void 0;else for(d=0;d2&&(o.children=arguments.length>3?Yi.call(arguments,2):r),Gi(e.type,o,n||e.key,i||e.ref,null)}function ai(e,t){var r={__c:t="__cC"+Ff++,__:e,Consumer:function(n,i){return n.children(i)},Provider:function(n){var i,a;return this.getChildContext||(i=[],(a={})[t]=this,this.getChildContext=function(){return a},this.shouldComponentUpdate=function(o){this.props.value!==o.value&&i.some(Tl)},this.sub=function(o){i.push(o);var s=o.componentWillUnmount;o.componentWillUnmount=function(){i.splice(i.indexOf(o),1),s&&s.call(o)}}),n.children}};return r.Provider.__=r.Consumer.contextType=r}var Yi,fe,Af,tx,Ji,Lf,Pf,Ff,io,Nf,nx,Ar=Dl(()=>{m();io={},Nf=[],nx=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;Yi=Nf.slice,fe={__e:function(e,t,r,n){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,n||{}),o=i.__d),o)return i.__E=i}catch(s){e=s}throw e}},Af=0,tx=function(e){return e!=null&&e.constructor===void 0},ht.prototype.setState=function(e,t){var r;r=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Vn({},this.state),typeof e=="function"&&(e=e(Vn({},r),this.props)),e&&Vn(r,e),e!=null&&this.__v&&(t&&this.__h.push(t),Tl(this))},ht.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Tl(this))},ht.prototype.render=S,Ji=[],Lf=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,ao.__r=0,Ff=0});var m=Dl(()=>{Ar()});var Et=pt((An,bp)=>{m();"use strict";Object.defineProperty(An,"__esModule",{value:!0});function _n(e){return typeof e=="object"&&!("toString"in e)?Object.prototype.toString.call(e).slice(8,-1):e}var Lx=typeof process=="object"&&!0;function pn(e,t){if(!e)throw Lx?new Error("Invariant failed"):new Error(t())}An.invariant=pn;var Ol=Object.prototype.hasOwnProperty,Px=Array.prototype.splice,Fx=Object.prototype.toString;function Pr(e){return Fx.call(e).slice(8,-1)}var mo=Object.assign||function(e,t){return Rl(t).forEach(function(r){Ol.call(t,r)&&(e[r]=t[r])}),e},Rl=typeof Object.getOwnPropertySymbols=="function"?function(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.keys(e)};function dr(e){return Array.isArray(e)?mo(e.constructor(e.length),e):Pr(e)==="Map"?new Map(e):Pr(e)==="Set"?new Set(e):e&&typeof e=="object"?mo(Object.create(Object.getPrototypeOf(e)),e):e}var mp=function(){function e(){this.commands=mo({},Nx),this.update=this.update.bind(this),this.update.extend=this.extend=this.extend.bind(this),this.update.isEquals=function(t,r){return t===r},this.update.newContext=function(){return new e().update}}return Object.defineProperty(e.prototype,"isEquals",{get:function(){return this.update.isEquals},set:function(t){this.update.isEquals=t},enumerable:!0,configurable:!0}),e.prototype.extend=function(t,r){this.commands[t]=r},e.prototype.update=function(t,r){var n=this,i=typeof r=="function"?{$apply:r}:r;Array.isArray(t)&&Array.isArray(i)||pn(!Array.isArray(i),function(){return"update(): You provided an invalid spec to update(). The spec may not contain an array except as the value of $set, $push, $unshift, $splice or any custom command allowing an array value."}),pn(typeof i=="object"&&i!==null,function(){return"update(): You provided an invalid spec to update(). The spec and every included key path must be plain objects containing one of the "+("following commands: "+Object.keys(n.commands).join(", ")+".")});var a=t;return Rl(i).forEach(function(o){if(Ol.call(n.commands,o)){var s=t===a;a=n.commands[o](i[o],a,i,t),s&&n.isEquals(a,t)&&(a=t)}else{var u=Pr(t)==="Map"?n.update(t.get(o),i[o]):n.update(t[o],i[o]),l=Pr(a)==="Map"?a.get(o):a[o];(!n.isEquals(u,l)||typeof u=="undefined"&&!Ol.call(t,o))&&(a===t&&(a=dr(t)),Pr(a)==="Map"?a.set(o,u):a[o]=u)}}),a},e}();An.Context=mp;var Nx={$push:function(e,t,r){return gp(t,r,"$push"),e.length?t.concat(e):t},$unshift:function(e,t,r){return gp(t,r,"$unshift"),e.length?e.concat(t):t},$splice:function(e,t,r,n){return Ox(t,r),e.forEach(function(i){vp(i),t===n&&i.length&&(t=dr(n)),Px.apply(t,i)}),t},$set:function(e,t,r){return Hx(r),e},$toggle:function(e,t){ta(e,"$toggle");var r=e.length?dr(t):t;return e.forEach(function(n){r[n]=!t[n]}),r},$unset:function(e,t,r,n){return ta(e,"$unset"),e.forEach(function(i){Object.hasOwnProperty.call(t,i)&&(t===n&&(t=dr(n)),delete t[i])}),t},$add:function(e,t,r,n){return yp(t,"$add"),ta(e,"$add"),Pr(t)==="Map"?e.forEach(function(i){var a=i[0],o=i[1];t===n&&t.get(a)!==o&&(t=dr(n)),t.set(a,o)}):e.forEach(function(i){t===n&&!t.has(i)&&(t=dr(n)),t.add(i)}),t},$remove:function(e,t,r,n){return yp(t,"$remove"),ta(e,"$remove"),e.forEach(function(i){t===n&&t.has(i)&&(t=dr(n)),t.delete(i)}),t},$merge:function(e,t,r,n){return Bx(t,e),Rl(e).forEach(function(i){e[i]!==t[i]&&(t===n&&(t=dr(n)),t[i]=e[i])}),t},$apply:function(e,t){return Rx(e),e(t)}},Hl=new mp;An.isEquals=Hl.update.isEquals;An.extend=Hl.extend;An.default=Hl.update;An.default.default=bp.exports=mo(An.default,An);function gp(e,t,r){pn(Array.isArray(e),function(){return"update(): expected target of "+_n(r)+" to be an array; got "+_n(e)+"."}),ta(t[r],r)}function ta(e,t){pn(Array.isArray(e),function(){return"update(): expected spec of "+_n(t)+" to be an array; got "+_n(e)+". Did you forget to wrap your parameter in an array?"})}function Ox(e,t){pn(Array.isArray(e),function(){return"Expected $splice target to be an array; got "+_n(e)}),vp(t.$splice)}function vp(e){pn(Array.isArray(e),function(){return"update(): expected spec of $splice to be an array of arrays; got "+_n(e)+". Did you forget to wrap your parameters in an array?"})}function Rx(e){pn(typeof e=="function",function(){return"update(): expected spec of $apply to be a function; got "+_n(e)+"."})}function Hx(e){pn(Object.keys(e).length===1,function(){return"Cannot have more than one key in an object with $set"})}function Bx(e,t){pn(t&&typeof t=="object",function(){return"update(): $merge expects a spec of type 'object'; got "+_n(t)}),pn(e&&typeof e=="object",function(){return"update(): $merge expects a target of type 'object'; got "+_n(e)})}function yp(e,t){var r=Pr(e);pn(r==="Map"||r==="Set",function(){return"update(): "+_n(t)+" expects a target of type Set or Map; got "+_n(r)})}});var kp=pt((eM,xp)=>{m();"use strict";var Kx=function(t){return $x(t)&&!Ux(t)};function $x(e){return!!e&&typeof e=="object"}function Ux(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||zx(e)}var Vx=typeof Symbol=="function"&&Symbol.for,Wx=Vx?Symbol.for("react.element"):60103;function zx(e){return e.$$typeof===Wx}function jx(e){return Array.isArray(e)?[]:{}}function na(e,t){return t.clone!==!1&&t.isMergeableObject(e)?li(jx(e),e,t):e}function qx(e,t,r){return e.concat(t).map(function(n){return na(n,r)})}function Yx(e,t){if(!t.customMerge)return li;var r=t.customMerge(e);return typeof r=="function"?r:li}function Jx(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return e.propertyIsEnumerable(t)}):[]}function wp(e){return Object.keys(e).concat(Jx(e))}function Ep(e,t){try{return t in e}catch(r){return!1}}function Gx(e,t){return Ep(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function Qx(e,t,r){var n={};return r.isMergeableObject(e)&&wp(e).forEach(function(i){n[i]=na(e[i],r)}),wp(t).forEach(function(i){Gx(e,i)||(Ep(e,i)&&r.isMergeableObject(t[i])?n[i]=Yx(i,r)(e[i],t[i],r):n[i]=na(t[i],r))}),n}function li(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||qx,r.isMergeableObject=r.isMergeableObject||Kx,r.cloneUnlessOtherwiseSpecified=na;var n=Array.isArray(t),i=Array.isArray(e),a=n===i;return a?n?r.arrayMerge(e,t,r):Qx(e,t,r):na(t,r)}li.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,i){return li(n,i,r)},{})};var Xx=li;xp.exports=Xx});var _o=pt(it=>{m();"use strict";var Jl=32;it.INT_BITS=Jl;it.INT_MAX=2147483647;it.INT_MIN=-1<0)-(e<0)};it.abs=function(e){var t=e>>Jl-1;return(e^t)-t};it.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};it.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};it.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function Hp(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}it.countTrailingZeros=Hp;it.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};it.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};it.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var ca=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<>>8&255]<<16|ca[e>>>16&255]<<8|ca[e>>>24&255]};it.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};it.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};it.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};it.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};it.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>Hp(e)+1}});var $p=pt((PM,Kp)=>{m();"use strict";function Bp(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a0)return ck(e|0,t);break;case"object":if(typeof e.length=="number")return Bp(e,t,0);break}return[]}Kp.exports=uk});var sh={};qi(sh,{Buffer:()=>ne,INSPECT_MAX_BYTES:()=>jp,SlowBuffer:()=>Ek,isBuffer:()=>ah,kMaxLength:()=>gk});function Up(){Gl=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t0)throw new Error("Invalid string. Length must be a multiple of 4");a=e[s-2]==="="?2:e[s-1]==="="?1:0,o=new dk(s*3/4-a),n=a>0?s-4:s;var u=0;for(t=0,r=0;t>16&255,o[u++]=i>>8&255,o[u++]=i&255;return a===2?(i=hn[e.charCodeAt(t)]<<2|hn[e.charCodeAt(t+1)]>>4,o[u++]=i&255):a===1&&(i=hn[e.charCodeAt(t)]<<10|hn[e.charCodeAt(t+1)]<<4|hn[e.charCodeAt(t+2)]>>2,o[u++]=i>>8&255,o[u++]=i&255),o}function pk(e){return Fn[e>>18&63]+Fn[e>>12&63]+Fn[e>>6&63]+Fn[e&63]}function hk(e,t,r){for(var n,i=[],a=t;au?u:s+o));return n===1?(t=e[r-1],i+=Fn[t>>2],i+=Fn[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=Fn[t>>10],i+=Fn[t>>4&63],i+=Fn[t<<2&63],i+="="),a.push(i),a.join("")}function Co(e,t,r,n,i){var a,o,s=i*8-n-1,u=(1<>1,c=-7,d=r?i-1:0,f=r?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=a*256+e[t+d],d+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+d],d+=f,c-=8);if(a===0)a=1-l;else{if(a===u)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-l}return(p?-1:1)*o*Math.pow(2,a-n)}function Wp(e,t,r,n,i,a){var o,s,u,l=a*8-i-1,c=(1<>1,f=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,g=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+d>=1?t+=f/u:t+=f*Math.pow(2,1-d),t*u>=2&&(o++,u/=2),o+d>=c?(s=0,o=c):o+d>=1?(s=(t*u-1)*Math.pow(2,i),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=s&255,p+=g,s/=256,i-=8);for(o=o<0;e[r+p]=o&255,p+=g,o/=256,l-=8);e[r+p-g]|=y*128}function Do(){return ne.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function zn(e,t){if(Do()=Do())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Do().toString(16)+" bytes");return e|0}function Ek(e){return+e!=e&&(e=0),ne.alloc(+e)}function Nn(e){return!!(e!=null&&e._isBuffer)}function Jp(e,t){if(Nn(e))return e.length;if(typeof ArrayBuffer!="undefined"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;typeof e!="string"&&(e=""+e);var r=e.length;if(r===0)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Io(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return ih(e).length;default:if(n)return Io(e).length;t=(""+t).toLowerCase(),n=!0}}function xk(e,t,r){var 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 Lk(this,t,r);case"utf8":case"utf-8":return Zp(this,t,r);case"ascii":return Ik(this,t,r);case"latin1":case"binary":return Ak(this,t,r);case"base64":return Tk(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Pk(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function Or(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Gp(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(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=ne.from(t,n)),Nn(t))return t.length===0?-1:Qp(e,t,r,n,i);if(typeof t=="number")return t=t&255,ne.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Qp(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Qp(e,t,r,n,i){var a=1,o=e.length,s=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,o/=2,s/=2,r/=2}function u(p,g){return a===1?p[g]:p.readUInt16BE(g*a)}var l;if(i){var c=-1;for(l=r;lo&&(r=o-s),l=r;l>=0;l--){for(var d=!0,f=0;fi&&(n=i)):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o239?4:a>223?3:a>191?2:1;if(i+s<=r){var u,l,c,d;switch(s){case 1:a<128&&(o=a);break;case 2:u=e[i+1],(u&192)==128&&(d=(a&31)<<6|u&63,d>127&&(o=d));break;case 3:u=e[i+1],l=e[i+2],(u&192)==128&&(l&192)==128&&(d=(a&15)<<12|(u&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:u=e[i+1],l=e[i+2],c=e[i+3],(u&192)==128&&(l&192)==128&&(c&192)==128&&(d=(a&15)<<18|(u&63)<<12|(l&63)<<6|c&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return Mk(n)}function Mk(e){var t=e.length;if(t<=eh)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function Zt(e,t,r,n,i,a){if(!Nn(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function To(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>(n?i:1-i)*8}function Mo(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>(n?i:3-i)*8&255}function th(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 nh(e,t,r,n,i){return i||th(e,t,r,4),Wp(e,t,r,n,23,4),r+4}function rh(e,t,r,n,i){return i||th(e,t,r,8),Wp(e,t,r,n,52,8),r+8}function Nk(e){if(e=Ok(e).replace(Fk,""),e.length<2)return"";for(;e.length%4!=0;)e=e+"=";return e}function Ok(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Rk(e){return e<16?"0"+e.toString(16):e.toString(16)}function Io(e,t){t=t||1/0;for(var r,n=e.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+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 Hk(e){for(var t=[],r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function ih(e){return fk(Nk(e))}function Ao(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Kk(e){return e!==e}function ah(e){return e!=null&&(!!e._isBuffer||oh(e)||$k(e))}function oh(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function $k(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&oh(e.slice(0,0))}var Fn,hn,dk,Gl,mk,zp,jp,gk,eh,Fk,lh=Dl(()=>{m();Fn=[],hn=[],dk=typeof Uint8Array!="undefined"?Uint8Array:Array,Gl=!1;mk={}.toString,zp=Array.isArray||function(e){return mk.call(e)=="[object Array]"};jp=50;ne.TYPED_ARRAY_SUPPORT=window.TYPED_ARRAY_SUPPORT!==void 0?window.TYPED_ARRAY_SUPPORT:!0;gk=Do();ne.poolSize=8192;ne._augment=function(e){return e.__proto__=ne.prototype,e};ne.from=function(e,t,r){return qp(null,e,t,r)};ne.TYPED_ARRAY_SUPPORT&&(ne.prototype.__proto__=Uint8Array.prototype,ne.__proto__=Uint8Array);ne.alloc=function(e,t,r){return vk(null,e,t,r)};ne.allocUnsafe=function(e){return Ql(null,e)};ne.allocUnsafeSlow=function(e){return Ql(null,e)};ne.isBuffer=ah;ne.compare=function(t,r){if(!Nn(t)||!Nn(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,a=0,o=Math.min(n,i);a0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""};ne.prototype.compare=function(t,r,n,i,a){if(!Nn(t))throw new TypeError("Argument must be a Buffer");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;for(var o=a-i,s=n-r,u=Math.min(o,s),l=this.slice(i,a),c=t.slice(r,n),d=0;da)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return kk(this,t,r,n);case"utf8":case"utf-8":return Sk(this,t,r,n);case"ascii":return Xp(this,t,r,n);case"latin1":case"binary":return _k(this,t,r,n);case"base64":return Ck(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Dk(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};ne.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};eh=4096;ne.prototype.slice=function(t,r){var n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r0&&(a*=256);)i+=this[t+--r]*a;return i};ne.prototype.readUInt8=function(t,r){return r||St(t,1,this.length),this[t]};ne.prototype.readUInt16LE=function(t,r){return r||St(t,2,this.length),this[t]|this[t+1]<<8};ne.prototype.readUInt16BE=function(t,r){return r||St(t,2,this.length),this[t]<<8|this[t+1]};ne.prototype.readUInt32LE=function(t,r){return r||St(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};ne.prototype.readUInt32BE=function(t,r){return r||St(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};ne.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||St(t,r,this.length);for(var i=this[t],a=1,o=0;++o=a&&(i-=Math.pow(2,8*r)),i};ne.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||St(t,r,this.length);for(var i=r,a=1,o=this[t+--i];i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};ne.prototype.readInt8=function(t,r){return r||St(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};ne.prototype.readInt16LE=function(t,r){r||St(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};ne.prototype.readInt16BE=function(t,r){r||St(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};ne.prototype.readInt32LE=function(t,r){return r||St(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};ne.prototype.readInt32BE=function(t,r){return r||St(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};ne.prototype.readFloatLE=function(t,r){return r||St(t,4,this.length),Co(this,t,!0,23,4)};ne.prototype.readFloatBE=function(t,r){return r||St(t,4,this.length),Co(this,t,!1,23,4)};ne.prototype.readDoubleLE=function(t,r){return r||St(t,8,this.length),Co(this,t,!0,52,8)};ne.prototype.readDoubleBE=function(t,r){return r||St(t,8,this.length),Co(this,t,!1,52,8)};ne.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;Zt(this,t,r,n,a,0)}var o=1,s=0;for(this[r]=t&255;++s=0&&(s*=256);)this[r+o]=t/s&255;return r+n};ne.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,1,255,0),ne.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};ne.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,65535,0),ne.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):To(this,t,r,!0),r+2};ne.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,65535,0),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):To(this,t,r,!1),r+2};ne.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,4294967295,0),ne.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):Mo(this,t,r,!0),r+4};ne.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,4294967295,0),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Mo(this,t,r,!1),r+4};ne.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);Zt(this,t,r,n,a-1,-a)}var o=0,s=1,u=0;for(this[r]=t&255;++o>0)-u&255;return r+n};ne.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);Zt(this,t,r,n,a-1,-a)}var o=n-1,s=1,u=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&u===0&&this[r+o+1]!==0&&(u=1),this[r+o]=(t/s>>0)-u&255;return r+n};ne.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,1,127,-128),ne.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1};ne.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,32767,-32768),ne.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):To(this,t,r,!0),r+2};ne.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,32767,-32768),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):To(this,t,r,!1),r+2};ne.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,2147483647,-2147483648),ne.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):Mo(this,t,r,!0),r+4};ne.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Mo(this,t,r,!1),r+4};ne.prototype.writeFloatLE=function(t,r,n){return nh(this,t,r,!0,n)};ne.prototype.writeFloatBE=function(t,r,n){return nh(this,t,r,!1,n)};ne.prototype.writeDoubleLE=function(t,r,n){return rh(this,t,r,!0,n)};ne.prototype.writeDoubleBE=function(t,r,n){return rh(this,t,r,!1,n)};ne.prototype.copy=function(t,r,n,i){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("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r=0;--o)t[o+r]=this[o+n];else if(a<1e3||!ne.TYPED_ARRAY_SUPPORT)for(o=0;o>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o{m();var Rr=(lh(),sh);if(Rr&&Rr.default){Lo.exports=Rr.default;for(let e in Rr)Lo.exports[e]=Rr[e]}else Rr&&(Lo.exports=Rr)});var No=pt(He=>{m();"use strict";var vr=_o(),It=$p(),uh=ch().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:It([32,0]),UINT16:It([32,0]),UINT32:It([32,0]),BIGUINT64:It([32,0]),INT8:It([32,0]),INT16:It([32,0]),INT32:It([32,0]),BIGINT64:It([32,0]),FLOAT:It([32,0]),DOUBLE:It([32,0]),DATA:It([32,0]),UINT8C:It([32,0]),BUFFER:It([32,0])});var Uk=typeof Uint8ClampedArray!="undefined",Vk=typeof BigUint64Array!="undefined",Wk=typeof BigInt64Array!="undefined",lt=window.__TYPEDARRAY_POOL;lt.UINT8C||(lt.UINT8C=It([32,0]));lt.BIGUINT64||(lt.BIGUINT64=It([32,0]));lt.BIGINT64||(lt.BIGINT64=It([32,0]));lt.BUFFER||(lt.BUFFER=It([32,0]));var Po=lt.DATA,Fo=lt.BUFFER;He.free=function(t){if(uh.isBuffer(t))Fo[vr.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=vr.log2(r)|0;Po[n].push(t)}};function dh(e){if(!!e){var t=e.length||e.byteLength,r=vr.log2(t);Po[r].push(e)}}function zk(e){dh(e.buffer)}He.freeUint8=He.freeUint16=He.freeUint32=He.freeBigUint64=He.freeInt8=He.freeInt16=He.freeInt32=He.freeBigInt64=He.freeFloat32=He.freeFloat=He.freeFloat64=He.freeDouble=He.freeUint8Clamped=He.freeDataView=zk;He.freeArrayBuffer=dh;He.freeBuffer=function(t){Fo[vr.log2(t.length)].push(t)};He.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return en(t);switch(r){case"uint8":return ec(t);case"uint16":return fh(t);case"uint32":return ph(t);case"int8":return hh(t);case"int16":return mh(t);case"int32":return gh(t);case"float":case"float32":return vh(t);case"double":case"float64":return yh(t);case"uint8_clamped":return bh(t);case"bigint64":return Eh(t);case"biguint64":return wh(t);case"buffer":return kh(t);case"data":case"dataview":return xh(t);default:return null}return null};function en(e){var e=vr.nextPow2(e),t=vr.log2(e),r=Po[t];return r.length>0?r.pop():new ArrayBuffer(e)}He.mallocArrayBuffer=en;function ec(e){return new Uint8Array(en(e),0,e)}He.mallocUint8=ec;function fh(e){return new Uint16Array(en(2*e),0,e)}He.mallocUint16=fh;function ph(e){return new Uint32Array(en(4*e),0,e)}He.mallocUint32=ph;function hh(e){return new Int8Array(en(e),0,e)}He.mallocInt8=hh;function mh(e){return new Int16Array(en(2*e),0,e)}He.mallocInt16=mh;function gh(e){return new Int32Array(en(4*e),0,e)}He.mallocInt32=gh;function vh(e){return new Float32Array(en(4*e),0,e)}He.mallocFloat32=He.mallocFloat=vh;function yh(e){return new Float64Array(en(8*e),0,e)}He.mallocFloat64=He.mallocDouble=yh;function bh(e){return Uk?new Uint8ClampedArray(en(e),0,e):ec(e)}He.mallocUint8Clamped=bh;function wh(e){return Vk?new BigUint64Array(en(8*e),0,e):null}He.mallocBigUint64=wh;function Eh(e){return Wk?new BigInt64Array(en(8*e),0,e):null}He.mallocBigInt64=Eh;function xh(e){return new DataView(en(e),0,e)}He.mallocDataView=xh;function kh(e){e=vr.nextPow2(e);var t=vr.log2(e),r=Fo[t];return r.length>0?r.pop():new uh(e)}He.mallocBuffer=kh;He.clearCache=function(){for(var t=0;t<32;++t)lt.UINT8[t].length=0,lt.UINT16[t].length=0,lt.UINT32[t].length=0,lt.INT8[t].length=0,lt.INT16[t].length=0,lt.INT32[t].length=0,lt.FLOAT[t].length=0,lt.DOUBLE[t].length=0,lt.BIGUINT64[t].length=0,lt.BIGINT64[t].length=0,lt.UINT8C[t].length=0,Po[t].length=0,Fo[t].length=0}});var Th=pt((OM,Dh)=>{m();"use strict";Dh.exports=jk;var Oo=32;function jk(e,t){t<=4*Oo?Ro(0,t-1,e):Bo(0,t-1,e)}function Ro(e,t,r){for(var n=2*(e+1),i=e+1;i<=t;++i){for(var a=r[n++],o=r[n++],s=i,u=n-2;s-- >e;){var l=r[u-2],c=r[u-1];if(lr[t+1]:!0}function Ho(e,t,r,n){e*=2;var i=n[e];return i>1,s=o-n,u=o+n,l=i,c=s,d=o,f=u,p=a,g=e+1,y=t-1,b=0;jn(l,c,r)&&(b=l,l=c,c=b),jn(f,p,r)&&(b=f,f=p,p=b),jn(l,d,r)&&(b=l,l=d,d=b),jn(c,d,r)&&(b=c,c=d,d=b),jn(l,f,r)&&(b=l,l=f,f=b),jn(d,f,r)&&(b=d,d=f,f=b),jn(c,p,r)&&(b=c,c=p,p=b),jn(c,d,r)&&(b=c,c=d,d=b),jn(f,p,r)&&(b=f,f=p,p=b);for(var k=r[2*c],T=r[2*c+1],C=r[2*f],A=r[2*f+1],H=2*l,D=2*d,K=2*p,z=2*i,U=2*o,Z=2*a,J=0;J<2;++J){var se=r[H+J],G=r[D+J],Q=r[K+J];r[z+J]=se,r[U+J]=G,r[Z+J]=Q}_h(s,e,r),_h(u,t,r);for(var ie=g;ie<=y;++ie)if(Ho(ie,k,T,r))ie!==g&&Sh(ie,g,r),++g;else if(!Ho(ie,C,A,r))for(;;)if(Ho(y,C,A,r)){Ho(y,k,T,r)?(qk(ie,g,y,r),++g,--y):(Sh(ie,y,r),--y);break}else{if(--y{m();"use strict";Mh.exports={init:Jk,sweepBipartite:Gk,sweepComplete:Qk,scanBipartite:Xk,scanComplete:Zk};var ct=No(),Yk=_o(),Ko=Th(),sn=1<<28,Hr=1024,At=ct.mallocInt32(Hr),qn=ct.mallocInt32(Hr),Yn=ct.mallocInt32(Hr),Br=ct.mallocInt32(Hr),fi=ct.mallocInt32(Hr),ua=ct.mallocInt32(Hr),De=ct.mallocDouble(Hr*8);function Jk(e){var t=Yk.nextPow2(e);At.length>>1;Ko(De,T);for(var C=0,A=0,g=0;g=sn)H=H-sn|0,pi(Yn,Br,A--,H);else if(H>=0)pi(At,qn,C--,H);else if(H<=-sn){H=-H-sn|0;for(var D=0;D>>1;Ko(De,T);for(var C=0,A=0,H=0,g=0;g>1==De[2*g+3]>>1&&(K=2,g+=1),D<0){for(var z=-(D>>1)-1,U=0;U>1)-1;K===0?pi(At,qn,C--,z):K===1?pi(Yn,Br,A--,z):K===2&&pi(fi,ua,H--,z)}}}function Xk(e,t,r,n,i,a,o,s,u,l,c,d){var f=0,p=2*e,g=t,y=t+e,b=1,k=1;n?k=sn:b=sn;for(var T=i;T>>1;Ko(De,D);for(var K=0,T=0;T=sn?(U=!n,C-=sn):(U=!!n,C-=1),U)hi(At,qn,K++,C);else{var Z=d[C],J=p*C,se=c[J+t+1],G=c[J+t+1+e];e:for(var Q=0;Q>>1;Ko(De,C);for(var A=0,y=0;y=sn)At[A++]=b-sn;else{b-=1;var D=c[b],K=f*b,z=l[K+t+1],U=l[K+t+1+e];e:for(var Z=0;Z=0;--Z)if(At[Z]===b){for(var Q=Z+1;Q{m();"use strict";var Kr="d",mi="ax",Ih="vv",nc="fp",da="es",$o="rs",rc="re",fa="rb",Ah="ri",gi="rp",Uo="bs",ic="be",pa="bb",Lh="bi",vi="bp",ac="rv",oc="Q",sc=[Kr,mi,Ih,$o,rc,fa,Ah,Uo,ic,pa,Lh];function e0(e,t,r){var n="bruteForce"+(e?"Red":"Blue")+(t?"Flip":"")+(r?"Full":""),i=["function ",n,"(",sc.join(),"){","var ",da,"=2*",Kr,";"],a="for(var i="+$o+","+gi+"="+da+"*"+$o+";i<"+rc+";++i,"+gi+"+="+da+"){var x0="+fa+"["+mi+"+"+gi+"],x1="+fa+"["+mi+"+"+gi+"+"+Kr+"],xi="+Ah+"[i];",o="for(var j="+Uo+","+vi+"="+da+"*"+Uo+";j<"+ic+";++j,"+vi+"+="+da+"){var y0="+pa+"["+mi+"+"+vi+"],"+(r?"y1="+pa+"["+mi+"+"+vi+"+"+Kr+"],":"")+"yi="+Lh+"[j];";return e?i.push(a,oc,":",o):i.push(o,oc,":",a),r?i.push("if(y1"+ic+"-"+Uo+"){"),e?(a(!0,!1),i.push("}else{"),a(!1,!1)):(i.push("if("+nc+"){"),a(!0,!0),i.push("}else{"),a(!0,!1),i.push("}}else{if("+nc+"){"),a(!1,!0),i.push("}else{"),a(!1,!1),i.push("}")),i.push("}}return "+t);var o=r.join("")+i.join(""),s=new Function(o);return s()}lc.partial=Ph(!1);lc.full=Ph(!0)});var cc=pt((BM,Nh)=>{m();"use strict";Nh.exports=n0;var t0="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m";function n0(e,t){var r="abcdef".split("").concat(t),n=[];return e.indexOf("lo")>=0&&n.push("lo=e[k+n]"),e.indexOf("hi")>=0&&n.push("hi=e[k+o]"),r.push(t0.replace("_",n.join()).replace("$",e)),Function.apply(void 0,r)}});var Hh=pt((KM,Rh)=>{m();"use strict";Rh.exports=o0;var r0=cc(),Oh=r0("lor&&i[d+t]>l;--c,d-=o){for(var f=d,p=d+o,g=0;g>>1,l=2*e,c=u,d=i[l*u+t];o=b?(c=y,d=b):g>=T?(c=p,d=g):(c=k,d=T):b>=T?(c=y,d=b):T>=g?(c=p,d=g):(c=k,d=T);for(var C=l*(s-1),A=l*c,H=0;H{m();"use strict";Wh.exports=b0;var yi=No(),uc=_o(),Bh=Fh(),s0=Bh.partial,l0=Bh.full,yr=tc(),c0=Hh(),bi=cc(),Kh=128,u0=1<<22,d0=1<<22,f0=bi("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),$h=bi("lo===p0",["p0"]),p0=bi("lo0;){l-=1;var f=l*dc,p=jt[f],g=jt[f+1],y=jt[f+2],b=jt[f+3],k=jt[f+4],T=jt[f+5],C=l*fc,A=$r[C],H=$r[C+1],D=T&1,K=!!(T&16),z=i,U=a,Z=s,J=u;if(D&&(z=s,U=u,Z=i,J=a),!(T&2&&(y=p0(e,p,g,y,z,U,H),g>=y))&&!(T&4&&(g=h0(e,p,g,y,z,U,A),g>=y))){var se=y-g,G=k-b;if(K){if(e*se*(se+G){m();"use strict";Yh.exports=S0;var br=No(),Vo=tc(),w0=zh();function E0(e,t){for(var r=0;r>>1;if(!(o<=0)){var s,u=br.mallocDouble(2*o*i),l=br.mallocInt32(i);if(i=jh(e,o,u,l),i>0){if(o===1&&n)Vo.init(i),s=Vo.sweepComplete(o,r,0,i,u,l,0,i,u,l);else{var c=br.mallocDouble(2*o*a),d=br.mallocInt32(a);a=jh(t,o,c,d),a>0&&(Vo.init(i+a),o===1?s=Vo.sweepBipartite(o,r,0,i,u,l,0,a,c,d):s=w0(o,r,n,i,u,l,a,c,d),br.free(c),br.free(d))}br.free(u),br.free(l)}return s}}}var ha;function qh(e,t){ha.push([e,t])}function x0(e){return ha=[],Wo(e,e,qh,!0),ha}function k0(e,t){return ha=[],Wo(e,t,qh,!1),ha}function S0(e,t,r){var n;switch(arguments.length){case 1:return x0(e);case 2:return typeof t=="function"?Wo(e,e,t,!0):k0(e,t);case 3:return Wo(e,t,r,!1);default:throw new Error("box-intersect: Invalid arguments")}}});var vm=pt((VM,qo)=>{m();var Gh,Qh,Xh,Zh,em,tm,nm,rm,im,zo,pc,am,om,sm,wi,lm,cm,um,dm,fm,pm,hm,mm,gm,jo;(function(e){var t=typeof window=="object"?window:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){e(r(t,r(n)))}):typeof qo=="object"&&typeof qo.exports=="object"?e(r(t,r(qo.exports))):e(r(t));function r(n,i){return n!==t&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])};Gh=function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");t(n,i);function a(){this.constructor=n}n.prototype=i===null?Object.create(i):(a.prototype=i.prototype,new a)},Qh=Object.assign||function(n){for(var i,a=1,o=arguments.length;a=0;c--)(l=n[c])&&(u=(s<3?l(u):s>3?l(i,a,u):l(i,a))||u);return s>3&&u&&Object.defineProperty(i,a,u),u},em=function(n,i){return function(a,o){i(a,o,n)}},tm=function(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)},nm=function(n,i,a,o){function s(u){return u instanceof a?u:new a(function(l){l(u)})}return new(a||(a=Promise))(function(u,l){function c(p){try{f(o.next(p))}catch(g){l(g)}}function d(p){try{f(o.throw(p))}catch(g){l(g)}}function f(p){p.done?u(p.value):s(p.value).then(c,d)}f((o=o.apply(n,i||[])).next())})},rm=function(n,i){var a={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},o,s,u,l;return l={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function c(f){return function(p){return d([f,p])}}function d(f){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,s&&(u=f[0]&2?s.return:f[0]?s.throw||((u=s.return)&&u.call(s),0):s.next)&&!(u=u.call(s,f[1])).done)return u;switch(s=0,u&&(f=[f[0]&2,u.value]),f[0]){case 0:case 1:u=f;break;case 4:return a.label++,{value:f[1],done:!1};case 5:a.label++,s=f[1],f=[0];continue;case 7:f=a.ops.pop(),a.trys.pop();continue;default:if(u=a.trys,!(u=u.length>0&&u[u.length-1])&&(f[0]===6||f[0]===2)){a=0;continue}if(f[0]===3&&(!u||f[1]>u[0]&&f[1]=n.length&&(n=void 0),{value:n&&n[o++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")},pc=function(n,i){var a=typeof Symbol=="function"&&n[Symbol.iterator];if(!a)return n;var o=a.call(n),s,u=[],l;try{for(;(i===void 0||i-- >0)&&!(s=o.next()).done;)u.push(s.value)}catch(c){l={error:c}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(l)throw l.error}}return u},am=function(){for(var n=[],i=0;i1||c(y,b)})})}function c(y,b){try{d(o[y](b))}catch(k){g(u[0][3],k)}}function d(y){y.value instanceof wi?Promise.resolve(y.value.v).then(f,p):g(u[0][2],y)}function f(y){c("next",y)}function p(y){c("throw",y)}function g(y,b){y(b),u.shift(),u.length&&c(u[0][0],u[0][1])}},cm=function(n){var i,a;return i={},o("next"),o("throw",function(s){throw s}),o("return"),i[Symbol.iterator]=function(){return this},i;function o(s,u){i[s]=n[s]?function(l){return(a=!a)?{value:wi(n[s](l)),done:s==="return"}:u?u(l):l}:u}},um=function(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],a;return i?i.call(n):(n=typeof zo=="function"?zo(n):n[Symbol.iterator](),a={},o("next"),o("throw"),o("return"),a[Symbol.asyncIterator]=function(){return this},a);function o(u){a[u]=n[u]&&function(l){return new Promise(function(c,d){l=n[u](l),s(c,d,l.done,l.value)})}}function s(u,l,c,d){Promise.resolve(d).then(function(f){u({value:f,done:c})},l)}},dm=function(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n};var r=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};fm=function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var a in n)a!=="default"&&Object.prototype.hasOwnProperty.call(n,a)&&jo(i,n,a);return r(i,n),i},pm=function(n){return n&&n.__esModule?n:{default:n}},hm=function(n,i,a,o){if(a==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!o:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a==="m"?o:a==="a"?o.call(n):o?o.value:i.get(n)},mm=function(n,i,a,o,s){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!s:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?s.call(n,a):s?s.value=a:i.set(n,a),a},gm=function(n,i){if(i===null||typeof i!="object"&&typeof i!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof n=="function"?i===n:n.has(i)},e("__extends",Gh),e("__assign",Qh),e("__rest",Xh),e("__decorate",Zh),e("__param",em),e("__metadata",tm),e("__awaiter",nm),e("__generator",rm),e("__exportStar",im),e("__createBinding",jo),e("__values",zo),e("__read",pc),e("__spread",am),e("__spreadArrays",om),e("__spreadArray",sm),e("__await",wi),e("__asyncGenerator",lm),e("__asyncDelegator",cm),e("__asyncValues",um),e("__makeTemplateObject",dm),e("__importStar",fm),e("__importDefault",pm),e("__classPrivateFieldGet",hm),e("__classPrivateFieldSet",mm),e("__classPrivateFieldIn",gm)})});var yc=pt(Pe=>{m();"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});var nt=require("obsidian"),gc="YYYY-MM-DD",vc="gggg-[W]ww",Sm="YYYY-MM",_m="YYYY-[Q]Q",Cm="YYYY";function ga(e){let t=window.app.plugins.getPlugin("periodic-notes");return t&&t.settings?.[e]?.enabled}function va(){try{let{internalPlugins:e,plugins:t}=window.app;if(ga("daily")){let{format:a,folder:o,template:s}=t.getPlugin("periodic-notes")?.settings?.daily||{};return{format:a||gc,folder:o?.trim()||"",template:s?.trim()||""}}let{folder:r,format:n,template:i}=e.getPluginById("daily-notes")?.instance?.options||{};return{format:n||gc,folder:r?.trim()||"",template:i?.trim()||""}}catch(e){console.info("No custom daily note settings found!",e)}}function ya(){try{let e=window.app.plugins,t=e.getPlugin("calendar")?.options,r=e.getPlugin("periodic-notes")?.settings?.weekly;if(ga("weekly"))return{format:r.format||vc,folder:r.folder?.trim()||"",template:r.template?.trim()||""};let n=t||{};return{format:n.weeklyNoteFormat||vc,folder:n.weeklyNoteFolder?.trim()||"",template:n.weeklyNoteTemplate?.trim()||""}}catch(e){console.info("No custom weekly note settings found!",e)}}function ba(){let e=window.app.plugins;try{let t=ga("monthly")&&e.getPlugin("periodic-notes")?.settings?.monthly||{};return{format:t.format||Sm,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom monthly note settings found!",t)}}function wa(){let e=window.app.plugins;try{let t=ga("quarterly")&&e.getPlugin("periodic-notes")?.settings?.quarterly||{};return{format:t.format||_m,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom quarterly note settings found!",t)}}function Ea(){let e=window.app.plugins;try{let t=ga("yearly")&&e.getPlugin("periodic-notes")?.settings?.yearly||{};return{format:t.format||Cm,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom yearly note settings found!",t)}}function Dm(...e){let t=[];for(let n=0,i=e.length;n{let T=n(),C=e.clone().set({hour:T.get("hour"),minute:T.get("minute"),second:T.get("second")});return g&&C.add(parseInt(y,10),b),k?C.format(k.substring(1).trim()):C.format(a)}).replace(/{{\s*yesterday\s*}}/gi,e.clone().subtract(1,"day").format(a)).replace(/{{\s*tomorrow\s*}}/gi,e.clone().add(1,"d").format(a)));return t.foldManager.save(d,u),d}catch(d){console.error(`Failed to create file: '${c}'`,d),new nt.Notice("Unable to create new file.")}}function B0(e,t){return t[Dn(e,"day")]??null}function K0(){let{vault:e}=window.app,{folder:t}=va(),r=e.getAbstractFileByPath(nt.normalizePath(t));if(!r)throw new Im("Failed to find daily notes folder");let n={};return nt.Vault.recurseChildren(r,i=>{if(i instanceof nt.TFile){let a=Si(i,"day");if(a){let o=Dn(a,"day");n[o]=i}}}),n}var Lm=class extends Error{};function $0(){let{moment:e}=window,t=e.localeData()._week.dow,r=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];for(;t;)r.push(r.shift()),t--;return r}function U0(e){return $0().indexOf(e.toLowerCase())}async function Pm(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=ya(),[a,o]=await ki(r),s=e.format(n),u=await xa(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),k=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&k.add(parseInt(p,10),g),y?k.format(y.substring(1).trim()):k.format(n)}).replace(/{{\s*title\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*(sunday|monday|tuesday|wednesday|thursday|friday|saturday)\s*:(.*?)}}/gi,(c,d,f)=>{let p=U0(d);return e.weekday(p).format(f.trim())}));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function V0(e,t){return t[Dn(e,"week")]??null}function W0(){let e={};if(!Hm())return e;let{vault:t}=window.app,{folder:r}=ya(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Lm("Failed to find weekly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"week");if(a){let o=Dn(a,"week");e[o]=i}}}),e}var Fm=class extends Error{};async function Nm(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=ba(),[a,o]=await ki(r),s=e.format(n),u=await xa(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),k=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&k.add(parseInt(p,10),g),y?k.format(y.substring(1).trim()):k.format(n)}).replace(/{{\s*date\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,s));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function z0(e,t){return t[Dn(e,"month")]??null}function j0(){let e={};if(!Bm())return e;let{vault:t}=window.app,{folder:r}=ba(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Fm("Failed to find monthly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"month");if(a){let o=Dn(a,"month");e[o]=i}}}),e}var Om=class extends Error{};async function q0(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=wa(),[a,o]=await ki(r),s=e.format(n),u=await xa(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),k=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&k.add(parseInt(p,10),g),y?k.format(y.substring(1).trim()):k.format(n)}).replace(/{{\s*date\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,s));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function Y0(e,t){return t[Dn(e,"quarter")]??null}function J0(){let e={};if(!Km())return e;let{vault:t}=window.app,{folder:r}=wa(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Om("Failed to find quarterly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"quarter");if(a){let o=Dn(a,"quarter");e[o]=i}}}),e}var Rm=class extends Error{};async function G0(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=Ea(),[a,o]=await ki(r),s=e.format(n),u=await xa(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),k=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&k.add(parseInt(p,10),g),y?k.format(y.substring(1).trim()):k.format(n)}).replace(/{{\s*date\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,s));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function Q0(e,t){return t[Dn(e,"year")]??null}function X0(){let e={};if(!$m())return e;let{vault:t}=window.app,{folder:r}=Ea(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Rm("Failed to find yearly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"year");if(a){let o=Dn(a,"year");e[o]=i}}}),e}function Z0(){let{app:e}=window,t=e.internalPlugins.plugins["daily-notes"];if(t&&t.enabled)return!0;let r=e.plugins.getPlugin("periodic-notes");return r&&r.settings?.daily?.enabled}function Hm(){let{app:e}=window;if(e.plugins.getPlugin("calendar"))return!0;let t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.weekly?.enabled}function Bm(){let{app:e}=window,t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.monthly?.enabled}function Km(){let{app:e}=window,t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.quarterly?.enabled}function $m(){let{app:e}=window,t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.yearly?.enabled}function eS(e){return{day:va,week:ya,month:ba,quarter:wa,year:Ea}[e]()}function tS(e,t){return{day:Am,month:Nm,week:Pm}[e](t)}Pe.DEFAULT_DAILY_NOTE_FORMAT=gc;Pe.DEFAULT_MONTHLY_NOTE_FORMAT=Sm;Pe.DEFAULT_QUARTERLY_NOTE_FORMAT=_m;Pe.DEFAULT_WEEKLY_NOTE_FORMAT=vc;Pe.DEFAULT_YEARLY_NOTE_FORMAT=Cm;Pe.appHasDailyNotesPluginLoaded=Z0;Pe.appHasMonthlyNotesPluginLoaded=Bm;Pe.appHasQuarterlyNotesPluginLoaded=Km;Pe.appHasWeeklyNotesPluginLoaded=Hm;Pe.appHasYearlyNotesPluginLoaded=$m;Pe.createDailyNote=Am;Pe.createMonthlyNote=Nm;Pe.createPeriodicNote=tS;Pe.createQuarterlyNote=q0;Pe.createWeeklyNote=Pm;Pe.createYearlyNote=G0;Pe.getAllDailyNotes=K0;Pe.getAllMonthlyNotes=j0;Pe.getAllQuarterlyNotes=J0;Pe.getAllWeeklyNotes=W0;Pe.getAllYearlyNotes=X0;Pe.getDailyNote=B0;Pe.getDailyNoteSettings=va;Pe.getDateFromFile=Si;Pe.getDateFromPath=H0;Pe.getDateUID=Dn;Pe.getMonthlyNote=z0;Pe.getMonthlyNoteSettings=ba;Pe.getPeriodicNoteSettings=eS;Pe.getQuarterlyNote=Y0;Pe.getQuarterlyNoteSettings=wa;Pe.getTemplateInfo=ki;Pe.getWeeklyNote=V0;Pe.getWeeklyNoteSettings=ya;Pe.getYearlyNote=Q0;Pe.getYearlyNoteSettings=Ea});var Ma=pt((fO,ed)=>{m();"use strict";var u_=Object.prototype.hasOwnProperty,qt="~";function Ta(){}Object.create&&(Ta.prototype=Object.create(null),new Ta().__proto__||(qt=!1));function d_(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function fy(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var a=new d_(r,n||e,i),o=qt?qt+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],a]:e._events[o].push(a):(e._events[o]=a,e._eventsCount++),e}function Cs(e,t){--e._eventsCount==0?e._events=new Ta:delete e._events[t]}function $t(){this._events=new Ta,this._eventsCount=0}$t.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)u_.call(r,n)&&t.push(qt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};$t.prototype.listeners=function(t){var r=qt?qt+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=new Array(a);i{m();(function(e,t){typeof pd=="object"&&typeof hd!="undefined"?hd.exports=t():typeof define=="function"&&define.amd?define(t):e.Mark=t()})(pd,function(){"use strict";var e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},t=function(s,u){if(!(s instanceof u))throw new TypeError("Cannot call a class as a function")},r=function(){function s(u,l){for(var c=0;c1&&arguments[1]!==void 0?arguments[1]:!0,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5e3;t(this,s),this.ctx=u,this.iframes=l,this.exclude=c,this.iframesTimeout=d}return r(s,[{key:"getContexts",value:function(){var l=void 0,c=[];return typeof this.ctx=="undefined"||!this.ctx?l=[]:NodeList.prototype.isPrototypeOf(this.ctx)?l=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?l=this.ctx:typeof this.ctx=="string"?l=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):l=[this.ctx],l.forEach(function(d){var f=c.filter(function(p){return p.contains(d)}).length>0;c.indexOf(d)===-1&&!f&&c.push(d)}),c}},{key:"getIframeContents",value:function(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},f=void 0;try{var p=l.contentWindow;if(f=p.document,!p||!f)throw new Error("iframe inaccessible")}catch(g){d()}f&&c(f)}},{key:"isIframeBlank",value:function(l){var c="about:blank",d=l.getAttribute("src").trim(),f=l.contentWindow.location.href;return f===c&&d!==c&&d}},{key:"observeIframeLoad",value:function(l,c,d){var f=this,p=!1,g=null,y=function b(){if(!p){p=!0,clearTimeout(g);try{f.isIframeBlank(l)||(l.removeEventListener("load",b),f.getIframeContents(l,c,d))}catch(k){d()}}};l.addEventListener("load",y),g=setTimeout(y,this.iframesTimeout)}},{key:"onIframeReady",value:function(l,c,d){try{l.contentWindow.document.readyState==="complete"?this.isIframeBlank(l)?this.observeIframeLoad(l,c,d):this.getIframeContents(l,c,d):this.observeIframeLoad(l,c,d)}catch(f){d()}}},{key:"waitForIframes",value:function(l,c){var d=this,f=0;this.forEachIframe(l,function(){return!0},function(p){f++,d.waitForIframes(p.querySelector("html"),function(){--f||c()})},function(p){p||c()})}},{key:"forEachIframe",value:function(l,c,d){var f=this,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:function(){},g=l.querySelectorAll("iframe"),y=g.length,b=0;g=Array.prototype.slice.call(g);var k=function(){--y<=0&&p(b)};y||k(),g.forEach(function(T){s.matches(T,f.exclude)?k():f.onIframeReady(T,function(C){c(T)&&(b++,d(C)),k()},k)})}},{key:"createIterator",value:function(l,c,d){return document.createNodeIterator(l,c,d,!1)}},{key:"createInstanceOnIframe",value:function(l){return new s(l.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(l,c,d){var f=l.compareDocumentPosition(d),p=Node.DOCUMENT_POSITION_PRECEDING;if(f&p)if(c!==null){var g=c.compareDocumentPosition(d),y=Node.DOCUMENT_POSITION_FOLLOWING;if(g&y)return!0}else return!0;return!1}},{key:"getIteratorNode",value:function(l){var c=l.previousNode(),d=void 0;return c===null?d=l.nextNode():d=l.nextNode()&&l.nextNode(),{prevNode:c,node:d}}},{key:"checkIframeFilter",value:function(l,c,d,f){var p=!1,g=!1;return f.forEach(function(y,b){y.val===d&&(p=b,g=y.handled)}),this.compareNodeIframe(l,c,d)?(p===!1&&!g?f.push({val:d,handled:!0}):p!==!1&&!g&&(f[p].handled=!0),!0):(p===!1&&f.push({val:d,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(l,c,d,f){var p=this;l.forEach(function(g){g.handled||p.getIframeContents(g.val,function(y){p.createInstanceOnIframe(y).forEachNode(c,d,f)})})}},{key:"iterateThroughNodes",value:function(l,c,d,f,p){for(var g=this,y=this.createIterator(c,l,f),b=[],k=[],T=void 0,C=void 0,A=function(){var D=g.getIteratorNode(y);return C=D.prevNode,T=D.node,T};A();)this.iframes&&this.forEachIframe(c,function(H){return g.checkIframeFilter(T,C,H,b)},function(H){g.createInstanceOnIframe(H).forEachNode(l,function(D){return k.push(D)},f)}),k.push(T);k.forEach(function(H){d(H)}),this.iframes&&this.handleOpenIframes(b,l,d,f),p()}},{key:"forEachNode",value:function(l,c,d){var f=this,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:function(){},g=this.getContexts(),y=g.length;y||p(),g.forEach(function(b){var k=function(){f.iterateThroughNodes(l,b,c,d,function(){--y<=0&&p()})};f.iframes?f.waitForIframes(b,k):k()})}}],[{key:"matches",value:function(l,c){var d=typeof c=="string"?[c]:c,f=l.matches||l.matchesSelector||l.msMatchesSelector||l.mozMatchesSelector||l.oMatchesSelector||l.webkitMatchesSelector;if(f){var p=!1;return d.every(function(g){return f.call(l,g)?(p=!0,!1):!0}),p}else return!1}}]),s}(),a=function(){function s(u){t(this,s),this.ctx=u,this.ie=!1;var l=window.navigator.userAgent;(l.indexOf("MSIE")>-1||l.indexOf("Trident")>-1)&&(this.ie=!0)}return r(s,[{key:"log",value:function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"debug",d=this.opt.log;!this.opt.debug||(typeof d=="undefined"?"undefined":e(d))==="object"&&typeof d[c]=="function"&&d[c]("mark.js: "+l)}},{key:"escapeStr",value:function(l){return l.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(l){return this.opt.wildcards!=="disabled"&&(l=this.setupWildcardsRegExp(l)),l=this.escapeStr(l),Object.keys(this.opt.synonyms).length&&(l=this.createSynonymsRegExp(l)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(l=this.setupIgnoreJoinersRegExp(l)),this.opt.diacritics&&(l=this.createDiacriticsRegExp(l)),l=this.createMergedBlanksRegExp(l),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(l=this.createJoinersRegExp(l)),this.opt.wildcards!=="disabled"&&(l=this.createWildcardsRegExp(l)),l=this.createAccuracyRegExp(l),l}},{key:"createSynonymsRegExp",value:function(l){var c=this.opt.synonyms,d=this.opt.caseSensitive?"":"i",f=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var p in c)if(c.hasOwnProperty(p)){var g=c[p],y=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(p):this.escapeStr(p),b=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(g):this.escapeStr(g);y!==""&&b!==""&&(l=l.replace(new RegExp("("+this.escapeStr(y)+"|"+this.escapeStr(b)+")","gm"+d),f+("("+this.processSynomyms(y)+"|")+(this.processSynomyms(b)+")")+f))}return l}},{key:"processSynomyms",value:function(l){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(l=this.setupIgnoreJoinersRegExp(l)),l}},{key:"setupWildcardsRegExp",value:function(l){return l=l.replace(/(?:\\)*\?/g,function(c){return c.charAt(0)==="\\"?"?":""}),l.replace(/(?:\\)*\*/g,function(c){return c.charAt(0)==="\\"?"*":""})}},{key:"createWildcardsRegExp",value:function(l){var c=this.opt.wildcards==="withSpaces";return l.replace(/\u0001/g,c?"[\\S\\s]?":"\\S?").replace(/\u0002/g,c?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(l){return l.replace(/[^(|)\\]/g,function(c,d,f){var p=f.charAt(d+1);return/[(|)\\]/.test(p)||p===""?c:c+"\0"})}},{key:"createJoinersRegExp",value:function(l){var c=[],d=this.opt.ignorePunctuation;return Array.isArray(d)&&d.length&&c.push(this.escapeStr(d.join(""))),this.opt.ignoreJoiners&&c.push("\\u00ad\\u200b\\u200c\\u200d"),c.length?l.split(/\u0000+/).join("["+c.join("")+"]*"):l}},{key:"createDiacriticsRegExp",value:function(l){var c=this.opt.caseSensitive?"":"i",d=this.opt.caseSensitive?["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105","A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104","c\xE7\u0107\u010D","C\xC7\u0106\u010C","d\u0111\u010F","D\u0110\u010E","e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119","E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118","i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B","I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A","l\u0142","L\u0141","n\xF1\u0148\u0144","N\xD1\u0147\u0143","o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D","O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C","r\u0159","R\u0158","s\u0161\u015B\u0219\u015F","S\u0160\u015A\u0218\u015E","t\u0165\u021B\u0163","T\u0164\u021A\u0162","u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B","U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A","y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF","Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178","z\u017E\u017C\u017A","Z\u017D\u017B\u0179"]:["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104","c\xE7\u0107\u010DC\xC7\u0106\u010C","d\u0111\u010FD\u0110\u010E","e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118","i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A","l\u0142L\u0141","n\xF1\u0148\u0144N\xD1\u0147\u0143","o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C","r\u0159R\u0158","s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E","t\u0165\u021B\u0163T\u0164\u021A\u0162","u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A","y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178","z\u017E\u017C\u017AZ\u017D\u017B\u0179"],f=[];return l.split("").forEach(function(p){d.every(function(g){if(g.indexOf(p)!==-1){if(f.indexOf(g)>-1)return!1;l=l.replace(new RegExp("["+g+"]","gm"+c),"["+g+"]"),f.push(g)}return!0})}),l}},{key:"createMergedBlanksRegExp",value:function(l){return l.replace(/[\s]+/gmi,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(l){var c=this,d="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF",f=this.opt.accuracy,p=typeof f=="string"?f:f.value,g=typeof f=="string"?[]:f.limiters,y="";switch(g.forEach(function(b){y+="|"+c.escapeStr(b)}),p){case"partially":default:return"()("+l+")";case"complementary":return y="\\s"+(y||this.escapeStr(d)),"()([^"+y+"]*"+l+"[^"+y+"]*)";case"exactly":return"(^|\\s"+y+")("+l+")(?=$|\\s"+y+")"}}},{key:"getSeparatedKeywords",value:function(l){var c=this,d=[];return l.forEach(function(f){c.opt.separateWordSearch?f.split(" ").forEach(function(p){p.trim()&&d.indexOf(p)===-1&&d.push(p)}):f.trim()&&d.indexOf(f)===-1&&d.push(f)}),{keywords:d.sort(function(f,p){return p.length-f.length}),length:d.length}}},{key:"isNumeric",value:function(l){return Number(parseFloat(l))==l}},{key:"checkRanges",value:function(l){var c=this;if(!Array.isArray(l)||Object.prototype.toString.call(l[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(l),[];var d=[],f=0;return l.sort(function(p,g){return p.start-g.start}).forEach(function(p){var g=c.callNoMatchOnInvalidRanges(p,f),y=g.start,b=g.end,k=g.valid;k&&(p.start=y,p.length=b-y,d.push(p),f=b)}),d}},{key:"callNoMatchOnInvalidRanges",value:function(l,c){var d=void 0,f=void 0,p=!1;return l&&typeof l.start!="undefined"?(d=parseInt(l.start,10),f=d+parseInt(l.length,10),this.isNumeric(l.start)&&this.isNumeric(l.length)&&f-c>0&&f-d>0?p=!0:(this.log("Ignoring invalid or overlapping range: "+(""+JSON.stringify(l))),this.opt.noMatch(l))):(this.log("Ignoring invalid range: "+JSON.stringify(l)),this.opt.noMatch(l)),{start:d,end:f,valid:p}}},{key:"checkWhitespaceRanges",value:function(l,c,d){var f=void 0,p=!0,g=d.length,y=c-g,b=parseInt(l.start,10)-y;return b=b>g?g:b,f=b+parseInt(l.length,10),f>g&&(f=g,this.log("End range automatically set to the max value of "+g)),b<0||f-b<0||b>g||f>g?(p=!1,this.log("Invalid range: "+JSON.stringify(l)),this.opt.noMatch(l)):d.substring(b,f).replace(/\s+/g,"")===""&&(p=!1,this.log("Skipping whitespace only range: "+JSON.stringify(l)),this.opt.noMatch(l)),{start:b,end:f,valid:p}}},{key:"getTextNodes",value:function(l){var c=this,d="",f=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(p){f.push({start:d.length,end:(d+=p.textContent).length,node:p})},function(p){return c.matchesExclude(p.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){l({value:d,nodes:f})})}},{key:"matchesExclude",value:function(l){return i.matches(l,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(l,c,d){var f=this.opt.element?this.opt.element:"mark",p=l.splitText(c),g=p.splitText(d-c),y=document.createElement(f);return y.setAttribute("data-markjs","true"),this.opt.className&&y.setAttribute("class",this.opt.className),y.textContent=p.textContent,p.parentNode.replaceChild(y,p),g}},{key:"wrapRangeInMappedTextNode",value:function(l,c,d,f,p){var g=this;l.nodes.every(function(y,b){var k=l.nodes[b+1];if(typeof k=="undefined"||k.start>c){if(!f(y.node))return!1;var T=c-y.start,C=(d>y.end?y.end:d)-y.start,A=l.value.substr(0,y.start),H=l.value.substr(C+y.start);if(y.node=g.wrapRangeInTextNode(y.node,T,C),l.value=A+H,l.nodes.forEach(function(D,K){K>=b&&(l.nodes[K].start>0&&K!==b&&(l.nodes[K].start-=C),l.nodes[K].end-=C)}),d-=C,p(y.node.previousSibling,y.start),d>y.end)c=y.end;else return!1}return!0})}},{key:"wrapMatches",value:function(l,c,d,f,p){var g=this,y=c===0?0:c+1;this.getTextNodes(function(b){b.nodes.forEach(function(k){k=k.node;for(var T=void 0;(T=l.exec(k.textContent))!==null&&T[y]!=="";)if(!!d(T[y],k)){var C=T.index;if(y!==0)for(var A=1;A{m();(function(t,r){typeof Ws=="object"&&typeof Id=="object"?Id.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Ws=="object"?Ws.Choices=r():t.Choices=r()})(window,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,{enumerable:!0,get:a})},r.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,i){if(i&1&&(n=r(n)),i&8||i&4&&typeof n=="object"&&n&&n.__esModule)return n;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:n}),i&2&&typeof n!="string")for(var o in n)r.d(a,o,function(s){return n[s]}.bind(null,o));return a},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="/public/assets/scripts/",r(r.s=4)}([function(e,t,r){"use strict";var n=function(A){return i(A)&&!a(A)};function i(C){return!!C&&typeof C=="object"}function a(C){var A=Object.prototype.toString.call(C);return A==="[object RegExp]"||A==="[object Date]"||u(C)}var o=typeof Symbol=="function"&&Symbol.for,s=o?Symbol.for("react.element"):60103;function u(C){return C.$$typeof===s}function l(C){return Array.isArray(C)?[]:{}}function c(C,A){return A.clone!==!1&&A.isMergeableObject(C)?k(l(C),C,A):C}function d(C,A,H){return C.concat(A).map(function(D){return c(D,H)})}function f(C,A){if(!A.customMerge)return k;var H=A.customMerge(C);return typeof H=="function"?H:k}function p(C){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(C).filter(function(A){return C.propertyIsEnumerable(A)}):[]}function g(C){return Object.keys(C).concat(p(C))}function y(C,A){try{return A in C&&!(Object.hasOwnProperty.call(C,A)&&Object.propertyIsEnumerable.call(C,A))}catch(H){return!1}}function b(C,A,H){var D={};return H.isMergeableObject(C)&&g(C).forEach(function(K){D[K]=c(C[K],H)}),g(A).forEach(function(K){y(C,K)||(!H.isMergeableObject(A[K])||!C[K]?D[K]=c(A[K],H):D[K]=f(K,H)(C[K],A[K],H))}),D}function k(C,A,H){H=H||{},H.arrayMerge=H.arrayMerge||d,H.isMergeableObject=H.isMergeableObject||n,H.cloneUnlessOtherwiseSpecified=c;var D=Array.isArray(A),K=Array.isArray(C),z=D===K;return z?D?H.arrayMerge(C,A,H):b(C,A,H):c(A,H)}k.all=function(A,H){if(!Array.isArray(A))throw new Error("first argument should be an array");return A.reduce(function(D,K){return k(D,K,H)},{})};var T=k;e.exports=T},function(e,t,r){"use strict";(function(n,i){var a=r(3),o;typeof self!="undefined"?o=self:typeof window!="undefined"?o=window:typeof n!="undefined"?o=n:o=i;var s=Object(a.a)(o);t.a=s}).call(this,r(5),r(6)(e))},function(e,t,r){(function(n,i){e.exports=i()})(this,function(){return function(n){var i={};function a(o){if(i[o])return i[o].exports;var s=i[o]={i:o,l:!1,exports:{}};return n[o].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=n,a.c=i,a.d=function(o,s,u){a.o(o,s)||Object.defineProperty(o,s,{enumerable:!0,get:u})},a.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},a.t=function(o,s){if(1&s&&(o=a(o)),8&s||4&s&&typeof o=="object"&&o&&o.__esModule)return o;var u=Object.create(null);if(a.r(u),Object.defineProperty(u,"default",{enumerable:!0,value:o}),2&s&&typeof o!="string")for(var l in o)a.d(u,l,function(c){return o[c]}.bind(null,l));return u},a.n=function(o){var s=o&&o.__esModule?function(){return o.default}:function(){return o};return a.d(s,"a",s),s},a.o=function(o,s){return Object.prototype.hasOwnProperty.call(o,s)},a.p="",a(a.s=1)}([function(n,i){n.exports=function(a){return Array.isArray?Array.isArray(a):Object.prototype.toString.call(a)==="[object Array]"}},function(n,i,a){function o(f){return(o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p})(f)}function s(f,p){for(var g=0;g1&&arguments[1]!==void 0?arguments[1]:{limit:!1};this._log(`--------- -Search pattern: "`.concat(b,'"'));var T=this._prepareSearchers(b),C=T.tokenSearchers,A=T.fullSearcher,H=this._search(C,A),D=H.weights,K=H.results;return this._computeScore(D,K),this.options.shouldSort&&this._sort(K),k.limit&&typeof k.limit=="number"&&(K=K.slice(0,k.limit)),this._format(K)}},{key:"_prepareSearchers",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",k=[];if(this.options.tokenize)for(var T=b.split(this.options.tokenSeparator),C=0,A=T.length;C0&&arguments[0]!==void 0?arguments[0]:[],k=arguments.length>1?arguments[1]:void 0,T=this.list,C={},A=[];if(typeof T[0]=="string"){for(var H=0,D=T.length;H1)throw new Error("Key weight has to be > 0 and <= 1");G=G.name}else K[G]={weight:1};this._analyze({key:G,value:this.options.getFn(Z,G),record:Z,index:z},{resultMap:C,results:A,tokenSearchers:b,fullSearcher:k})}return{weights:K,results:A}}},{key:"_analyze",value:function(b,k){var T=b.key,C=b.arrayIndex,A=C===void 0?-1:C,H=b.value,D=b.record,K=b.index,z=k.tokenSearchers,U=z===void 0?[]:z,Z=k.fullSearcher,J=Z===void 0?[]:Z,se=k.resultMap,G=se===void 0?{}:se,Q=k.results,ie=Q===void 0?[]:Q;if(H!=null){var he=!1,pe=-1,ge=0;if(typeof H=="string"){this._log(` +var JE=Object.create;var ro=Object.defineProperty;var GE=Object.getOwnPropertyDescriptor;var QE=Object.getOwnPropertyNames;var XE=Object.getPrototypeOf,ZE=Object.prototype.hasOwnProperty;var If=e=>ro(e,"__esModule",{value:!0});var Dl=(e,t)=>()=>(e&&(t=e(e=0)),t);var pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),qi=(e,t)=>{If(e);for(var r in t)ro(e,r,{get:t[r],enumerable:!0})},ek=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of QE(t))!ZE.call(e,n)&&n!=="default"&&ro(e,n,{get:()=>t[n],enumerable:!(r=GE(t,n))||r.enumerable});return e},me=e=>ek(If(ro(e!=null?JE(XE(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);function Vn(e,t){for(var r in t)e[r]=t[r];return e}function Of(e){var t=e.parentNode;t&&t.removeChild(e)}function h(e,t,r){var n,i,a,o={};for(a in t)a=="key"?n=t[a]:a=="ref"?i=t[a]:o[a]=t[a];if(arguments.length>2&&(o.children=arguments.length>3?Yi.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)o[a]===void 0&&(o[a]=e.defaultProps[a]);return Gi(e,o,n,i,null)}function Gi(e,t,r,n,i){var a={type:e,props:t,key:r,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++Af};return i==null&&fe.vnode!=null&&fe.vnode(a),a}function ri(){return{current:null}}function S(e){return e.children}function ht(e,t){this.props=e,this.context=t}function ii(e,t){if(t==null)return e.__?ii(e.__,e.__.__k.indexOf(e)+1):null;for(var r;t0?Gi(p.type,p.props,p.key,null,p.__v):p)!=null){if(p.__=r,p.__b=r.__b+1,(f=x[c])===null||f&&p.key==f.key&&p.type===f.type)x[c]=void 0;else for(d=0;d2&&(o.children=arguments.length>3?Yi.call(arguments,2):r),Gi(e.type,o,n||e.key,i||e.ref,null)}function ai(e,t){var r={__c:t="__cC"+Ff++,__:e,Consumer:function(n,i){return n.children(i)},Provider:function(n){var i,a;return this.getChildContext||(i=[],(a={})[t]=this,this.getChildContext=function(){return a},this.shouldComponentUpdate=function(o){this.props.value!==o.value&&i.some(Tl)},this.sub=function(o){i.push(o);var s=o.componentWillUnmount;o.componentWillUnmount=function(){i.splice(i.indexOf(o),1),s&&s.call(o)}}),n.children}};return r.Provider.__=r.Consumer.contextType=r}var Yi,fe,Af,tk,Ji,Lf,Pf,Ff,io,Nf,nk,Ar=Dl(()=>{m();io={},Nf=[],nk=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;Yi=Nf.slice,fe={__e:function(e,t,r,n){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,n||{}),o=i.__d),o)return i.__E=i}catch(s){e=s}throw e}},Af=0,tk=function(e){return e!=null&&e.constructor===void 0},ht.prototype.setState=function(e,t){var r;r=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Vn({},this.state),typeof e=="function"&&(e=e(Vn({},r),this.props)),e&&Vn(r,e),e!=null&&this.__v&&(t&&this.__h.push(t),Tl(this))},ht.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Tl(this))},ht.prototype.render=S,Ji=[],Lf=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,ao.__r=0,Ff=0});var m=Dl(()=>{Ar()});var Et=pt((An,bp)=>{m();"use strict";Object.defineProperty(An,"__esModule",{value:!0});function _n(e){return typeof e=="object"&&!("toString"in e)?Object.prototype.toString.call(e).slice(8,-1):e}var Lk=typeof process=="object"&&!0;function pn(e,t){if(!e)throw Lk?new Error("Invariant failed"):new Error(t())}An.invariant=pn;var Ol=Object.prototype.hasOwnProperty,Pk=Array.prototype.splice,Fk=Object.prototype.toString;function Pr(e){return Fk.call(e).slice(8,-1)}var mo=Object.assign||function(e,t){return Rl(t).forEach(function(r){Ol.call(t,r)&&(e[r]=t[r])}),e},Rl=typeof Object.getOwnPropertySymbols=="function"?function(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.keys(e)};function dr(e){return Array.isArray(e)?mo(e.constructor(e.length),e):Pr(e)==="Map"?new Map(e):Pr(e)==="Set"?new Set(e):e&&typeof e=="object"?mo(Object.create(Object.getPrototypeOf(e)),e):e}var mp=function(){function e(){this.commands=mo({},Nk),this.update=this.update.bind(this),this.update.extend=this.extend=this.extend.bind(this),this.update.isEquals=function(t,r){return t===r},this.update.newContext=function(){return new e().update}}return Object.defineProperty(e.prototype,"isEquals",{get:function(){return this.update.isEquals},set:function(t){this.update.isEquals=t},enumerable:!0,configurable:!0}),e.prototype.extend=function(t,r){this.commands[t]=r},e.prototype.update=function(t,r){var n=this,i=typeof r=="function"?{$apply:r}:r;Array.isArray(t)&&Array.isArray(i)||pn(!Array.isArray(i),function(){return"update(): You provided an invalid spec to update(). The spec may not contain an array except as the value of $set, $push, $unshift, $splice or any custom command allowing an array value."}),pn(typeof i=="object"&&i!==null,function(){return"update(): You provided an invalid spec to update(). The spec and every included key path must be plain objects containing one of the "+("following commands: "+Object.keys(n.commands).join(", ")+".")});var a=t;return Rl(i).forEach(function(o){if(Ol.call(n.commands,o)){var s=t===a;a=n.commands[o](i[o],a,i,t),s&&n.isEquals(a,t)&&(a=t)}else{var u=Pr(t)==="Map"?n.update(t.get(o),i[o]):n.update(t[o],i[o]),l=Pr(a)==="Map"?a.get(o):a[o];(!n.isEquals(u,l)||typeof u=="undefined"&&!Ol.call(t,o))&&(a===t&&(a=dr(t)),Pr(a)==="Map"?a.set(o,u):a[o]=u)}}),a},e}();An.Context=mp;var Nk={$push:function(e,t,r){return gp(t,r,"$push"),e.length?t.concat(e):t},$unshift:function(e,t,r){return gp(t,r,"$unshift"),e.length?e.concat(t):t},$splice:function(e,t,r,n){return Ok(t,r),e.forEach(function(i){vp(i),t===n&&i.length&&(t=dr(n)),Pk.apply(t,i)}),t},$set:function(e,t,r){return Hk(r),e},$toggle:function(e,t){ta(e,"$toggle");var r=e.length?dr(t):t;return e.forEach(function(n){r[n]=!t[n]}),r},$unset:function(e,t,r,n){return ta(e,"$unset"),e.forEach(function(i){Object.hasOwnProperty.call(t,i)&&(t===n&&(t=dr(n)),delete t[i])}),t},$add:function(e,t,r,n){return yp(t,"$add"),ta(e,"$add"),Pr(t)==="Map"?e.forEach(function(i){var a=i[0],o=i[1];t===n&&t.get(a)!==o&&(t=dr(n)),t.set(a,o)}):e.forEach(function(i){t===n&&!t.has(i)&&(t=dr(n)),t.add(i)}),t},$remove:function(e,t,r,n){return yp(t,"$remove"),ta(e,"$remove"),e.forEach(function(i){t===n&&t.has(i)&&(t=dr(n)),t.delete(i)}),t},$merge:function(e,t,r,n){return Bk(t,e),Rl(e).forEach(function(i){e[i]!==t[i]&&(t===n&&(t=dr(n)),t[i]=e[i])}),t},$apply:function(e,t){return Rk(e),e(t)}},Hl=new mp;An.isEquals=Hl.update.isEquals;An.extend=Hl.extend;An.default=Hl.update;An.default.default=bp.exports=mo(An.default,An);function gp(e,t,r){pn(Array.isArray(e),function(){return"update(): expected target of "+_n(r)+" to be an array; got "+_n(e)+"."}),ta(t[r],r)}function ta(e,t){pn(Array.isArray(e),function(){return"update(): expected spec of "+_n(t)+" to be an array; got "+_n(e)+". Did you forget to wrap your parameter in an array?"})}function Ok(e,t){pn(Array.isArray(e),function(){return"Expected $splice target to be an array; got "+_n(e)}),vp(t.$splice)}function vp(e){pn(Array.isArray(e),function(){return"update(): expected spec of $splice to be an array of arrays; got "+_n(e)+". Did you forget to wrap your parameters in an array?"})}function Rk(e){pn(typeof e=="function",function(){return"update(): expected spec of $apply to be a function; got "+_n(e)+"."})}function Hk(e){pn(Object.keys(e).length===1,function(){return"Cannot have more than one key in an object with $set"})}function Bk(e,t){pn(t&&typeof t=="object",function(){return"update(): $merge expects a spec of type 'object'; got "+_n(t)}),pn(e&&typeof e=="object",function(){return"update(): $merge expects a target of type 'object'; got "+_n(e)})}function yp(e,t){var r=Pr(e);pn(r==="Map"||r==="Set",function(){return"update(): "+_n(t)+" expects a target of type Set or Map; got "+_n(r)})}});var xp=pt((eM,kp)=>{m();"use strict";var Kk=function(t){return $k(t)&&!Uk(t)};function $k(e){return!!e&&typeof e=="object"}function Uk(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||zk(e)}var Vk=typeof Symbol=="function"&&Symbol.for,Wk=Vk?Symbol.for("react.element"):60103;function zk(e){return e.$$typeof===Wk}function jk(e){return Array.isArray(e)?[]:{}}function na(e,t){return t.clone!==!1&&t.isMergeableObject(e)?li(jk(e),e,t):e}function qk(e,t,r){return e.concat(t).map(function(n){return na(n,r)})}function Yk(e,t){if(!t.customMerge)return li;var r=t.customMerge(e);return typeof r=="function"?r:li}function Jk(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return e.propertyIsEnumerable(t)}):[]}function wp(e){return Object.keys(e).concat(Jk(e))}function Ep(e,t){try{return t in e}catch(r){return!1}}function Gk(e,t){return Ep(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function Qk(e,t,r){var n={};return r.isMergeableObject(e)&&wp(e).forEach(function(i){n[i]=na(e[i],r)}),wp(t).forEach(function(i){Gk(e,i)||(Ep(e,i)&&r.isMergeableObject(t[i])?n[i]=Yk(i,r)(e[i],t[i],r):n[i]=na(t[i],r))}),n}function li(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||qk,r.isMergeableObject=r.isMergeableObject||Kk,r.cloneUnlessOtherwiseSpecified=na;var n=Array.isArray(t),i=Array.isArray(e),a=n===i;return a?n?r.arrayMerge(e,t,r):Qk(e,t,r):na(t,r)}li.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,i){return li(n,i,r)},{})};var Xk=li;kp.exports=Xk});var _o=pt(it=>{m();"use strict";var Jl=32;it.INT_BITS=Jl;it.INT_MAX=2147483647;it.INT_MIN=-1<0)-(e<0)};it.abs=function(e){var t=e>>Jl-1;return(e^t)-t};it.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};it.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};it.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function Hp(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}it.countTrailingZeros=Hp;it.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};it.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};it.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var ca=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<>>8&255]<<16|ca[e>>>16&255]<<8|ca[e>>>24&255]};it.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};it.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};it.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};it.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};it.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>Hp(e)+1}});var $p=pt((PM,Kp)=>{m();"use strict";function Bp(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a0)return cx(e|0,t);break;case"object":if(typeof e.length=="number")return Bp(e,t,0);break}return[]}Kp.exports=ux});var sh={};qi(sh,{Buffer:()=>ne,INSPECT_MAX_BYTES:()=>jp,SlowBuffer:()=>Ex,isBuffer:()=>ah,kMaxLength:()=>gx});function Up(){Gl=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t0)throw new Error("Invalid string. Length must be a multiple of 4");a=e[s-2]==="="?2:e[s-1]==="="?1:0,o=new dx(s*3/4-a),n=a>0?s-4:s;var u=0;for(t=0,r=0;t>16&255,o[u++]=i>>8&255,o[u++]=i&255;return a===2?(i=hn[e.charCodeAt(t)]<<2|hn[e.charCodeAt(t+1)]>>4,o[u++]=i&255):a===1&&(i=hn[e.charCodeAt(t)]<<10|hn[e.charCodeAt(t+1)]<<4|hn[e.charCodeAt(t+2)]>>2,o[u++]=i>>8&255,o[u++]=i&255),o}function px(e){return Fn[e>>18&63]+Fn[e>>12&63]+Fn[e>>6&63]+Fn[e&63]}function hx(e,t,r){for(var n,i=[],a=t;au?u:s+o));return n===1?(t=e[r-1],i+=Fn[t>>2],i+=Fn[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=Fn[t>>10],i+=Fn[t>>4&63],i+=Fn[t<<2&63],i+="="),a.push(i),a.join("")}function Co(e,t,r,n,i){var a,o,s=i*8-n-1,u=(1<>1,c=-7,d=r?i-1:0,f=r?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=a*256+e[t+d],d+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+d],d+=f,c-=8);if(a===0)a=1-l;else{if(a===u)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-l}return(p?-1:1)*o*Math.pow(2,a-n)}function Wp(e,t,r,n,i,a){var o,s,u,l=a*8-i-1,c=(1<>1,f=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,g=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+d>=1?t+=f/u:t+=f*Math.pow(2,1-d),t*u>=2&&(o++,u/=2),o+d>=c?(s=0,o=c):o+d>=1?(s=(t*u-1)*Math.pow(2,i),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=s&255,p+=g,s/=256,i-=8);for(o=o<0;e[r+p]=o&255,p+=g,o/=256,l-=8);e[r+p-g]|=y*128}function Do(){return ne.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function zn(e,t){if(Do()=Do())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Do().toString(16)+" bytes");return e|0}function Ex(e){return+e!=e&&(e=0),ne.alloc(+e)}function Nn(e){return!!(e!=null&&e._isBuffer)}function Jp(e,t){if(Nn(e))return e.length;if(typeof ArrayBuffer!="undefined"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;typeof e!="string"&&(e=""+e);var r=e.length;if(r===0)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Io(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return ih(e).length;default:if(n)return Io(e).length;t=(""+t).toLowerCase(),n=!0}}function kx(e,t,r){var 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 Lx(this,t,r);case"utf8":case"utf-8":return Zp(this,t,r);case"ascii":return Ix(this,t,r);case"latin1":case"binary":return Ax(this,t,r);case"base64":return Tx(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Px(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function Or(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Gp(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(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=ne.from(t,n)),Nn(t))return t.length===0?-1:Qp(e,t,r,n,i);if(typeof t=="number")return t=t&255,ne.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Qp(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Qp(e,t,r,n,i){var a=1,o=e.length,s=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,o/=2,s/=2,r/=2}function u(p,g){return a===1?p[g]:p.readUInt16BE(g*a)}var l;if(i){var c=-1;for(l=r;lo&&(r=o-s),l=r;l>=0;l--){for(var d=!0,f=0;fi&&(n=i)):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o239?4:a>223?3:a>191?2:1;if(i+s<=r){var u,l,c,d;switch(s){case 1:a<128&&(o=a);break;case 2:u=e[i+1],(u&192)==128&&(d=(a&31)<<6|u&63,d>127&&(o=d));break;case 3:u=e[i+1],l=e[i+2],(u&192)==128&&(l&192)==128&&(d=(a&15)<<12|(u&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:u=e[i+1],l=e[i+2],c=e[i+3],(u&192)==128&&(l&192)==128&&(c&192)==128&&(d=(a&15)<<18|(u&63)<<12|(l&63)<<6|c&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return Mx(n)}function Mx(e){var t=e.length;if(t<=eh)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function Zt(e,t,r,n,i,a){if(!Nn(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function To(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>(n?i:1-i)*8}function Mo(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>(n?i:3-i)*8&255}function th(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 nh(e,t,r,n,i){return i||th(e,t,r,4),Wp(e,t,r,n,23,4),r+4}function rh(e,t,r,n,i){return i||th(e,t,r,8),Wp(e,t,r,n,52,8),r+8}function Nx(e){if(e=Ox(e).replace(Fx,""),e.length<2)return"";for(;e.length%4!=0;)e=e+"=";return e}function Ox(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Rx(e){return e<16?"0"+e.toString(16):e.toString(16)}function Io(e,t){t=t||1/0;for(var r,n=e.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+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 Hx(e){for(var t=[],r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function ih(e){return fx(Nx(e))}function Ao(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Kx(e){return e!==e}function ah(e){return e!=null&&(!!e._isBuffer||oh(e)||$x(e))}function oh(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function $x(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&oh(e.slice(0,0))}var Fn,hn,dx,Gl,mx,zp,jp,gx,eh,Fx,lh=Dl(()=>{m();Fn=[],hn=[],dx=typeof Uint8Array!="undefined"?Uint8Array:Array,Gl=!1;mx={}.toString,zp=Array.isArray||function(e){return mx.call(e)=="[object Array]"};jp=50;ne.TYPED_ARRAY_SUPPORT=window.TYPED_ARRAY_SUPPORT!==void 0?window.TYPED_ARRAY_SUPPORT:!0;gx=Do();ne.poolSize=8192;ne._augment=function(e){return e.__proto__=ne.prototype,e};ne.from=function(e,t,r){return qp(null,e,t,r)};ne.TYPED_ARRAY_SUPPORT&&(ne.prototype.__proto__=Uint8Array.prototype,ne.__proto__=Uint8Array);ne.alloc=function(e,t,r){return vx(null,e,t,r)};ne.allocUnsafe=function(e){return Ql(null,e)};ne.allocUnsafeSlow=function(e){return Ql(null,e)};ne.isBuffer=ah;ne.compare=function(t,r){if(!Nn(t)||!Nn(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,a=0,o=Math.min(n,i);a0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""};ne.prototype.compare=function(t,r,n,i,a){if(!Nn(t))throw new TypeError("Argument must be a Buffer");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;for(var o=a-i,s=n-r,u=Math.min(o,s),l=this.slice(i,a),c=t.slice(r,n),d=0;da)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return xx(this,t,r,n);case"utf8":case"utf-8":return Sx(this,t,r,n);case"ascii":return Xp(this,t,r,n);case"latin1":case"binary":return _x(this,t,r,n);case"base64":return Cx(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Dx(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};ne.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};eh=4096;ne.prototype.slice=function(t,r){var n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r0&&(a*=256);)i+=this[t+--r]*a;return i};ne.prototype.readUInt8=function(t,r){return r||St(t,1,this.length),this[t]};ne.prototype.readUInt16LE=function(t,r){return r||St(t,2,this.length),this[t]|this[t+1]<<8};ne.prototype.readUInt16BE=function(t,r){return r||St(t,2,this.length),this[t]<<8|this[t+1]};ne.prototype.readUInt32LE=function(t,r){return r||St(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};ne.prototype.readUInt32BE=function(t,r){return r||St(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};ne.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||St(t,r,this.length);for(var i=this[t],a=1,o=0;++o=a&&(i-=Math.pow(2,8*r)),i};ne.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||St(t,r,this.length);for(var i=r,a=1,o=this[t+--i];i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};ne.prototype.readInt8=function(t,r){return r||St(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};ne.prototype.readInt16LE=function(t,r){r||St(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};ne.prototype.readInt16BE=function(t,r){r||St(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};ne.prototype.readInt32LE=function(t,r){return r||St(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};ne.prototype.readInt32BE=function(t,r){return r||St(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};ne.prototype.readFloatLE=function(t,r){return r||St(t,4,this.length),Co(this,t,!0,23,4)};ne.prototype.readFloatBE=function(t,r){return r||St(t,4,this.length),Co(this,t,!1,23,4)};ne.prototype.readDoubleLE=function(t,r){return r||St(t,8,this.length),Co(this,t,!0,52,8)};ne.prototype.readDoubleBE=function(t,r){return r||St(t,8,this.length),Co(this,t,!1,52,8)};ne.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;Zt(this,t,r,n,a,0)}var o=1,s=0;for(this[r]=t&255;++s=0&&(s*=256);)this[r+o]=t/s&255;return r+n};ne.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,1,255,0),ne.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};ne.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,65535,0),ne.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):To(this,t,r,!0),r+2};ne.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,65535,0),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):To(this,t,r,!1),r+2};ne.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,4294967295,0),ne.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):Mo(this,t,r,!0),r+4};ne.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,4294967295,0),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Mo(this,t,r,!1),r+4};ne.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);Zt(this,t,r,n,a-1,-a)}var o=0,s=1,u=0;for(this[r]=t&255;++o>0)-u&255;return r+n};ne.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);Zt(this,t,r,n,a-1,-a)}var o=n-1,s=1,u=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&u===0&&this[r+o+1]!==0&&(u=1),this[r+o]=(t/s>>0)-u&255;return r+n};ne.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,1,127,-128),ne.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1};ne.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,32767,-32768),ne.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):To(this,t,r,!0),r+2};ne.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,2,32767,-32768),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):To(this,t,r,!1),r+2};ne.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,2147483647,-2147483648),ne.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):Mo(this,t,r,!0),r+4};ne.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||Zt(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),ne.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Mo(this,t,r,!1),r+4};ne.prototype.writeFloatLE=function(t,r,n){return nh(this,t,r,!0,n)};ne.prototype.writeFloatBE=function(t,r,n){return nh(this,t,r,!1,n)};ne.prototype.writeDoubleLE=function(t,r,n){return rh(this,t,r,!0,n)};ne.prototype.writeDoubleBE=function(t,r,n){return rh(this,t,r,!1,n)};ne.prototype.copy=function(t,r,n,i){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("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r=0;--o)t[o+r]=this[o+n];else if(a<1e3||!ne.TYPED_ARRAY_SUPPORT)for(o=0;o>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o{m();var Rr=(lh(),sh);if(Rr&&Rr.default){Lo.exports=Rr.default;for(let e in Rr)Lo.exports[e]=Rr[e]}else Rr&&(Lo.exports=Rr)});var No=pt(He=>{m();"use strict";var vr=_o(),It=$p(),uh=ch().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:It([32,0]),UINT16:It([32,0]),UINT32:It([32,0]),BIGUINT64:It([32,0]),INT8:It([32,0]),INT16:It([32,0]),INT32:It([32,0]),BIGINT64:It([32,0]),FLOAT:It([32,0]),DOUBLE:It([32,0]),DATA:It([32,0]),UINT8C:It([32,0]),BUFFER:It([32,0])});var Ux=typeof Uint8ClampedArray!="undefined",Vx=typeof BigUint64Array!="undefined",Wx=typeof BigInt64Array!="undefined",lt=window.__TYPEDARRAY_POOL;lt.UINT8C||(lt.UINT8C=It([32,0]));lt.BIGUINT64||(lt.BIGUINT64=It([32,0]));lt.BIGINT64||(lt.BIGINT64=It([32,0]));lt.BUFFER||(lt.BUFFER=It([32,0]));var Po=lt.DATA,Fo=lt.BUFFER;He.free=function(t){if(uh.isBuffer(t))Fo[vr.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=vr.log2(r)|0;Po[n].push(t)}};function dh(e){if(!!e){var t=e.length||e.byteLength,r=vr.log2(t);Po[r].push(e)}}function zx(e){dh(e.buffer)}He.freeUint8=He.freeUint16=He.freeUint32=He.freeBigUint64=He.freeInt8=He.freeInt16=He.freeInt32=He.freeBigInt64=He.freeFloat32=He.freeFloat=He.freeFloat64=He.freeDouble=He.freeUint8Clamped=He.freeDataView=zx;He.freeArrayBuffer=dh;He.freeBuffer=function(t){Fo[vr.log2(t.length)].push(t)};He.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return en(t);switch(r){case"uint8":return ec(t);case"uint16":return fh(t);case"uint32":return ph(t);case"int8":return hh(t);case"int16":return mh(t);case"int32":return gh(t);case"float":case"float32":return vh(t);case"double":case"float64":return yh(t);case"uint8_clamped":return bh(t);case"bigint64":return Eh(t);case"biguint64":return wh(t);case"buffer":return xh(t);case"data":case"dataview":return kh(t);default:return null}return null};function en(e){var e=vr.nextPow2(e),t=vr.log2(e),r=Po[t];return r.length>0?r.pop():new ArrayBuffer(e)}He.mallocArrayBuffer=en;function ec(e){return new Uint8Array(en(e),0,e)}He.mallocUint8=ec;function fh(e){return new Uint16Array(en(2*e),0,e)}He.mallocUint16=fh;function ph(e){return new Uint32Array(en(4*e),0,e)}He.mallocUint32=ph;function hh(e){return new Int8Array(en(e),0,e)}He.mallocInt8=hh;function mh(e){return new Int16Array(en(2*e),0,e)}He.mallocInt16=mh;function gh(e){return new Int32Array(en(4*e),0,e)}He.mallocInt32=gh;function vh(e){return new Float32Array(en(4*e),0,e)}He.mallocFloat32=He.mallocFloat=vh;function yh(e){return new Float64Array(en(8*e),0,e)}He.mallocFloat64=He.mallocDouble=yh;function bh(e){return Ux?new Uint8ClampedArray(en(e),0,e):ec(e)}He.mallocUint8Clamped=bh;function wh(e){return Vx?new BigUint64Array(en(8*e),0,e):null}He.mallocBigUint64=wh;function Eh(e){return Wx?new BigInt64Array(en(8*e),0,e):null}He.mallocBigInt64=Eh;function kh(e){return new DataView(en(e),0,e)}He.mallocDataView=kh;function xh(e){e=vr.nextPow2(e);var t=vr.log2(e),r=Fo[t];return r.length>0?r.pop():new uh(e)}He.mallocBuffer=xh;He.clearCache=function(){for(var t=0;t<32;++t)lt.UINT8[t].length=0,lt.UINT16[t].length=0,lt.UINT32[t].length=0,lt.INT8[t].length=0,lt.INT16[t].length=0,lt.INT32[t].length=0,lt.FLOAT[t].length=0,lt.DOUBLE[t].length=0,lt.BIGUINT64[t].length=0,lt.BIGINT64[t].length=0,lt.UINT8C[t].length=0,Po[t].length=0,Fo[t].length=0}});var Th=pt((OM,Dh)=>{m();"use strict";Dh.exports=jx;var Oo=32;function jx(e,t){t<=4*Oo?Ro(0,t-1,e):Bo(0,t-1,e)}function Ro(e,t,r){for(var n=2*(e+1),i=e+1;i<=t;++i){for(var a=r[n++],o=r[n++],s=i,u=n-2;s-- >e;){var l=r[u-2],c=r[u-1];if(lr[t+1]:!0}function Ho(e,t,r,n){e*=2;var i=n[e];return i>1,s=o-n,u=o+n,l=i,c=s,d=o,f=u,p=a,g=e+1,y=t-1,b=0;jn(l,c,r)&&(b=l,l=c,c=b),jn(f,p,r)&&(b=f,f=p,p=b),jn(l,d,r)&&(b=l,l=d,d=b),jn(c,d,r)&&(b=c,c=d,d=b),jn(l,f,r)&&(b=l,l=f,f=b),jn(d,f,r)&&(b=d,d=f,f=b),jn(c,p,r)&&(b=c,c=p,p=b),jn(c,d,r)&&(b=c,c=d,d=b),jn(f,p,r)&&(b=f,f=p,p=b);for(var x=r[2*c],T=r[2*c+1],C=r[2*f],A=r[2*f+1],H=2*l,D=2*d,K=2*p,z=2*i,U=2*o,Z=2*a,J=0;J<2;++J){var se=r[H+J],G=r[D+J],Q=r[K+J];r[z+J]=se,r[U+J]=G,r[Z+J]=Q}_h(s,e,r),_h(u,t,r);for(var ie=g;ie<=y;++ie)if(Ho(ie,x,T,r))ie!==g&&Sh(ie,g,r),++g;else if(!Ho(ie,C,A,r))for(;;)if(Ho(y,C,A,r)){Ho(y,x,T,r)?(qx(ie,g,y,r),++g,--y):(Sh(ie,y,r),--y);break}else{if(--y{m();"use strict";Mh.exports={init:Jx,sweepBipartite:Gx,sweepComplete:Qx,scanBipartite:Xx,scanComplete:Zx};var ct=No(),Yx=_o(),Ko=Th(),sn=1<<28,Hr=1024,At=ct.mallocInt32(Hr),qn=ct.mallocInt32(Hr),Yn=ct.mallocInt32(Hr),Br=ct.mallocInt32(Hr),fi=ct.mallocInt32(Hr),ua=ct.mallocInt32(Hr),De=ct.mallocDouble(Hr*8);function Jx(e){var t=Yx.nextPow2(e);At.length>>1;Ko(De,T);for(var C=0,A=0,g=0;g=sn)H=H-sn|0,pi(Yn,Br,A--,H);else if(H>=0)pi(At,qn,C--,H);else if(H<=-sn){H=-H-sn|0;for(var D=0;D>>1;Ko(De,T);for(var C=0,A=0,H=0,g=0;g>1==De[2*g+3]>>1&&(K=2,g+=1),D<0){for(var z=-(D>>1)-1,U=0;U>1)-1;K===0?pi(At,qn,C--,z):K===1?pi(Yn,Br,A--,z):K===2&&pi(fi,ua,H--,z)}}}function Xx(e,t,r,n,i,a,o,s,u,l,c,d){var f=0,p=2*e,g=t,y=t+e,b=1,x=1;n?x=sn:b=sn;for(var T=i;T>>1;Ko(De,D);for(var K=0,T=0;T=sn?(U=!n,C-=sn):(U=!!n,C-=1),U)hi(At,qn,K++,C);else{var Z=d[C],J=p*C,se=c[J+t+1],G=c[J+t+1+e];e:for(var Q=0;Q>>1;Ko(De,C);for(var A=0,y=0;y=sn)At[A++]=b-sn;else{b-=1;var D=c[b],K=f*b,z=l[K+t+1],U=l[K+t+1+e];e:for(var Z=0;Z=0;--Z)if(At[Z]===b){for(var Q=Z+1;Q{m();"use strict";var Kr="d",mi="ax",Ih="vv",nc="fp",da="es",$o="rs",rc="re",fa="rb",Ah="ri",gi="rp",Uo="bs",ic="be",pa="bb",Lh="bi",vi="bp",ac="rv",oc="Q",sc=[Kr,mi,Ih,$o,rc,fa,Ah,Uo,ic,pa,Lh];function e0(e,t,r){var n="bruteForce"+(e?"Red":"Blue")+(t?"Flip":"")+(r?"Full":""),i=["function ",n,"(",sc.join(),"){","var ",da,"=2*",Kr,";"],a="for(var i="+$o+","+gi+"="+da+"*"+$o+";i<"+rc+";++i,"+gi+"+="+da+"){var x0="+fa+"["+mi+"+"+gi+"],x1="+fa+"["+mi+"+"+gi+"+"+Kr+"],xi="+Ah+"[i];",o="for(var j="+Uo+","+vi+"="+da+"*"+Uo+";j<"+ic+";++j,"+vi+"+="+da+"){var y0="+pa+"["+mi+"+"+vi+"],"+(r?"y1="+pa+"["+mi+"+"+vi+"+"+Kr+"],":"")+"yi="+Lh+"[j];";return e?i.push(a,oc,":",o):i.push(o,oc,":",a),r?i.push("if(y1"+ic+"-"+Uo+"){"),e?(a(!0,!1),i.push("}else{"),a(!1,!1)):(i.push("if("+nc+"){"),a(!0,!0),i.push("}else{"),a(!0,!1),i.push("}}else{if("+nc+"){"),a(!1,!0),i.push("}else{"),a(!1,!1),i.push("}")),i.push("}}return "+t);var o=r.join("")+i.join(""),s=new Function(o);return s()}lc.partial=Ph(!1);lc.full=Ph(!0)});var cc=pt((BM,Nh)=>{m();"use strict";Nh.exports=n0;var t0="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m";function n0(e,t){var r="abcdef".split("").concat(t),n=[];return e.indexOf("lo")>=0&&n.push("lo=e[k+n]"),e.indexOf("hi")>=0&&n.push("hi=e[k+o]"),r.push(t0.replace("_",n.join()).replace("$",e)),Function.apply(void 0,r)}});var Hh=pt((KM,Rh)=>{m();"use strict";Rh.exports=o0;var r0=cc(),Oh=r0("lor&&i[d+t]>l;--c,d-=o){for(var f=d,p=d+o,g=0;g>>1,l=2*e,c=u,d=i[l*u+t];o=b?(c=y,d=b):g>=T?(c=p,d=g):(c=x,d=T):b>=T?(c=y,d=b):T>=g?(c=p,d=g):(c=x,d=T);for(var C=l*(s-1),A=l*c,H=0;H{m();"use strict";Wh.exports=b0;var yi=No(),uc=_o(),Bh=Fh(),s0=Bh.partial,l0=Bh.full,yr=tc(),c0=Hh(),bi=cc(),Kh=128,u0=1<<22,d0=1<<22,f0=bi("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),$h=bi("lo===p0",["p0"]),p0=bi("lo0;){l-=1;var f=l*dc,p=jt[f],g=jt[f+1],y=jt[f+2],b=jt[f+3],x=jt[f+4],T=jt[f+5],C=l*fc,A=$r[C],H=$r[C+1],D=T&1,K=!!(T&16),z=i,U=a,Z=s,J=u;if(D&&(z=s,U=u,Z=i,J=a),!(T&2&&(y=p0(e,p,g,y,z,U,H),g>=y))&&!(T&4&&(g=h0(e,p,g,y,z,U,A),g>=y))){var se=y-g,G=x-b;if(K){if(e*se*(se+G){m();"use strict";Yh.exports=S0;var br=No(),Vo=tc(),w0=zh();function E0(e,t){for(var r=0;r>>1;if(!(o<=0)){var s,u=br.mallocDouble(2*o*i),l=br.mallocInt32(i);if(i=jh(e,o,u,l),i>0){if(o===1&&n)Vo.init(i),s=Vo.sweepComplete(o,r,0,i,u,l,0,i,u,l);else{var c=br.mallocDouble(2*o*a),d=br.mallocInt32(a);a=jh(t,o,c,d),a>0&&(Vo.init(i+a),o===1?s=Vo.sweepBipartite(o,r,0,i,u,l,0,a,c,d):s=w0(o,r,n,i,u,l,a,c,d),br.free(c),br.free(d))}br.free(u),br.free(l)}return s}}}var ha;function qh(e,t){ha.push([e,t])}function k0(e){return ha=[],Wo(e,e,qh,!0),ha}function x0(e,t){return ha=[],Wo(e,t,qh,!1),ha}function S0(e,t,r){var n;switch(arguments.length){case 1:return k0(e);case 2:return typeof t=="function"?Wo(e,e,t,!0):x0(e,t);case 3:return Wo(e,t,r,!1);default:throw new Error("box-intersect: Invalid arguments")}}});var vm=pt((VM,qo)=>{m();var Gh,Qh,Xh,Zh,em,tm,nm,rm,im,zo,pc,am,om,sm,wi,lm,cm,um,dm,fm,pm,hm,mm,gm,jo;(function(e){var t=typeof window=="object"?window:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){e(r(t,r(n)))}):typeof qo=="object"&&typeof qo.exports=="object"?e(r(t,r(qo.exports))):e(r(t));function r(n,i){return n!==t&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])};Gh=function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");t(n,i);function a(){this.constructor=n}n.prototype=i===null?Object.create(i):(a.prototype=i.prototype,new a)},Qh=Object.assign||function(n){for(var i,a=1,o=arguments.length;a=0;c--)(l=n[c])&&(u=(s<3?l(u):s>3?l(i,a,u):l(i,a))||u);return s>3&&u&&Object.defineProperty(i,a,u),u},em=function(n,i){return function(a,o){i(a,o,n)}},tm=function(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)},nm=function(n,i,a,o){function s(u){return u instanceof a?u:new a(function(l){l(u)})}return new(a||(a=Promise))(function(u,l){function c(p){try{f(o.next(p))}catch(g){l(g)}}function d(p){try{f(o.throw(p))}catch(g){l(g)}}function f(p){p.done?u(p.value):s(p.value).then(c,d)}f((o=o.apply(n,i||[])).next())})},rm=function(n,i){var a={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},o,s,u,l;return l={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function c(f){return function(p){return d([f,p])}}function d(f){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,s&&(u=f[0]&2?s.return:f[0]?s.throw||((u=s.return)&&u.call(s),0):s.next)&&!(u=u.call(s,f[1])).done)return u;switch(s=0,u&&(f=[f[0]&2,u.value]),f[0]){case 0:case 1:u=f;break;case 4:return a.label++,{value:f[1],done:!1};case 5:a.label++,s=f[1],f=[0];continue;case 7:f=a.ops.pop(),a.trys.pop();continue;default:if(u=a.trys,!(u=u.length>0&&u[u.length-1])&&(f[0]===6||f[0]===2)){a=0;continue}if(f[0]===3&&(!u||f[1]>u[0]&&f[1]=n.length&&(n=void 0),{value:n&&n[o++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")},pc=function(n,i){var a=typeof Symbol=="function"&&n[Symbol.iterator];if(!a)return n;var o=a.call(n),s,u=[],l;try{for(;(i===void 0||i-- >0)&&!(s=o.next()).done;)u.push(s.value)}catch(c){l={error:c}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(l)throw l.error}}return u},am=function(){for(var n=[],i=0;i1||c(y,b)})})}function c(y,b){try{d(o[y](b))}catch(x){g(u[0][3],x)}}function d(y){y.value instanceof wi?Promise.resolve(y.value.v).then(f,p):g(u[0][2],y)}function f(y){c("next",y)}function p(y){c("throw",y)}function g(y,b){y(b),u.shift(),u.length&&c(u[0][0],u[0][1])}},cm=function(n){var i,a;return i={},o("next"),o("throw",function(s){throw s}),o("return"),i[Symbol.iterator]=function(){return this},i;function o(s,u){i[s]=n[s]?function(l){return(a=!a)?{value:wi(n[s](l)),done:s==="return"}:u?u(l):l}:u}},um=function(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],a;return i?i.call(n):(n=typeof zo=="function"?zo(n):n[Symbol.iterator](),a={},o("next"),o("throw"),o("return"),a[Symbol.asyncIterator]=function(){return this},a);function o(u){a[u]=n[u]&&function(l){return new Promise(function(c,d){l=n[u](l),s(c,d,l.done,l.value)})}}function s(u,l,c,d){Promise.resolve(d).then(function(f){u({value:f,done:c})},l)}},dm=function(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n};var r=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};fm=function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var a in n)a!=="default"&&Object.prototype.hasOwnProperty.call(n,a)&&jo(i,n,a);return r(i,n),i},pm=function(n){return n&&n.__esModule?n:{default:n}},hm=function(n,i,a,o){if(a==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!o:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a==="m"?o:a==="a"?o.call(n):o?o.value:i.get(n)},mm=function(n,i,a,o,s){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!s:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?s.call(n,a):s?s.value=a:i.set(n,a),a},gm=function(n,i){if(i===null||typeof i!="object"&&typeof i!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof n=="function"?i===n:n.has(i)},e("__extends",Gh),e("__assign",Qh),e("__rest",Xh),e("__decorate",Zh),e("__param",em),e("__metadata",tm),e("__awaiter",nm),e("__generator",rm),e("__exportStar",im),e("__createBinding",jo),e("__values",zo),e("__read",pc),e("__spread",am),e("__spreadArrays",om),e("__spreadArray",sm),e("__await",wi),e("__asyncGenerator",lm),e("__asyncDelegator",cm),e("__asyncValues",um),e("__makeTemplateObject",dm),e("__importStar",fm),e("__importDefault",pm),e("__classPrivateFieldGet",hm),e("__classPrivateFieldSet",mm),e("__classPrivateFieldIn",gm)})});var yc=pt(Pe=>{m();"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});var nt=require("obsidian"),gc="YYYY-MM-DD",vc="gggg-[W]ww",Sm="YYYY-MM",_m="YYYY-[Q]Q",Cm="YYYY";function ga(e){let t=window.app.plugins.getPlugin("periodic-notes");return t&&t.settings?.[e]?.enabled}function va(){try{let{internalPlugins:e,plugins:t}=window.app;if(ga("daily")){let{format:a,folder:o,template:s}=t.getPlugin("periodic-notes")?.settings?.daily||{};return{format:a||gc,folder:o?.trim()||"",template:s?.trim()||""}}let{folder:r,format:n,template:i}=e.getPluginById("daily-notes")?.instance?.options||{};return{format:n||gc,folder:r?.trim()||"",template:i?.trim()||""}}catch(e){console.info("No custom daily note settings found!",e)}}function ya(){try{let e=window.app.plugins,t=e.getPlugin("calendar")?.options,r=e.getPlugin("periodic-notes")?.settings?.weekly;if(ga("weekly"))return{format:r.format||vc,folder:r.folder?.trim()||"",template:r.template?.trim()||""};let n=t||{};return{format:n.weeklyNoteFormat||vc,folder:n.weeklyNoteFolder?.trim()||"",template:n.weeklyNoteTemplate?.trim()||""}}catch(e){console.info("No custom weekly note settings found!",e)}}function ba(){let e=window.app.plugins;try{let t=ga("monthly")&&e.getPlugin("periodic-notes")?.settings?.monthly||{};return{format:t.format||Sm,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom monthly note settings found!",t)}}function wa(){let e=window.app.plugins;try{let t=ga("quarterly")&&e.getPlugin("periodic-notes")?.settings?.quarterly||{};return{format:t.format||_m,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom quarterly note settings found!",t)}}function Ea(){let e=window.app.plugins;try{let t=ga("yearly")&&e.getPlugin("periodic-notes")?.settings?.yearly||{};return{format:t.format||Cm,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom yearly note settings found!",t)}}function Dm(...e){let t=[];for(let n=0,i=e.length;n{let T=n(),C=e.clone().set({hour:T.get("hour"),minute:T.get("minute"),second:T.get("second")});return g&&C.add(parseInt(y,10),b),x?C.format(x.substring(1).trim()):C.format(a)}).replace(/{{\s*yesterday\s*}}/gi,e.clone().subtract(1,"day").format(a)).replace(/{{\s*tomorrow\s*}}/gi,e.clone().add(1,"d").format(a)));return t.foldManager.save(d,u),d}catch(d){console.error(`Failed to create file: '${c}'`,d),new nt.Notice("Unable to create new file.")}}function B0(e,t){return t[Dn(e,"day")]??null}function K0(){let{vault:e}=window.app,{folder:t}=va(),r=e.getAbstractFileByPath(nt.normalizePath(t));if(!r)throw new Im("Failed to find daily notes folder");let n={};return nt.Vault.recurseChildren(r,i=>{if(i instanceof nt.TFile){let a=Si(i,"day");if(a){let o=Dn(a,"day");n[o]=i}}}),n}var Lm=class extends Error{};function $0(){let{moment:e}=window,t=e.localeData()._week.dow,r=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];for(;t;)r.push(r.shift()),t--;return r}function U0(e){return $0().indexOf(e.toLowerCase())}async function Pm(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=ya(),[a,o]=await xi(r),s=e.format(n),u=await ka(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),x=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&x.add(parseInt(p,10),g),y?x.format(y.substring(1).trim()):x.format(n)}).replace(/{{\s*title\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*(sunday|monday|tuesday|wednesday|thursday|friday|saturday)\s*:(.*?)}}/gi,(c,d,f)=>{let p=U0(d);return e.weekday(p).format(f.trim())}));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function V0(e,t){return t[Dn(e,"week")]??null}function W0(){let e={};if(!Hm())return e;let{vault:t}=window.app,{folder:r}=ya(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Lm("Failed to find weekly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"week");if(a){let o=Dn(a,"week");e[o]=i}}}),e}var Fm=class extends Error{};async function Nm(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=ba(),[a,o]=await xi(r),s=e.format(n),u=await ka(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),x=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&x.add(parseInt(p,10),g),y?x.format(y.substring(1).trim()):x.format(n)}).replace(/{{\s*date\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,s));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function z0(e,t){return t[Dn(e,"month")]??null}function j0(){let e={};if(!Bm())return e;let{vault:t}=window.app,{folder:r}=ba(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Fm("Failed to find monthly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"month");if(a){let o=Dn(a,"month");e[o]=i}}}),e}var Om=class extends Error{};async function q0(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=wa(),[a,o]=await xi(r),s=e.format(n),u=await ka(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),x=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&x.add(parseInt(p,10),g),y?x.format(y.substring(1).trim()):x.format(n)}).replace(/{{\s*date\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,s));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function Y0(e,t){return t[Dn(e,"quarter")]??null}function J0(){let e={};if(!Km())return e;let{vault:t}=window.app,{folder:r}=wa(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Om("Failed to find quarterly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"quarter");if(a){let o=Dn(a,"quarter");e[o]=i}}}),e}var Rm=class extends Error{};async function G0(e){let{vault:t}=window.app,{template:r,format:n,folder:i}=Ea(),[a,o]=await xi(r),s=e.format(n),u=await ka(i,s);try{let l=await t.create(u,a.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(c,d,f,p,g,y)=>{let b=window.moment(),x=e.clone().set({hour:b.get("hour"),minute:b.get("minute"),second:b.get("second")});return f&&x.add(parseInt(p,10),g),y?x.format(y.substring(1).trim()):x.format(n)}).replace(/{{\s*date\s*}}/gi,s).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,s));return window.app.foldManager.save(l,o),l}catch(l){console.error(`Failed to create file: '${u}'`,l),new nt.Notice("Unable to create new file.")}}function Q0(e,t){return t[Dn(e,"year")]??null}function X0(){let e={};if(!$m())return e;let{vault:t}=window.app,{folder:r}=Ea(),n=t.getAbstractFileByPath(nt.normalizePath(r));if(!n)throw new Rm("Failed to find yearly notes folder");return nt.Vault.recurseChildren(n,i=>{if(i instanceof nt.TFile){let a=Si(i,"year");if(a){let o=Dn(a,"year");e[o]=i}}}),e}function Z0(){let{app:e}=window,t=e.internalPlugins.plugins["daily-notes"];if(t&&t.enabled)return!0;let r=e.plugins.getPlugin("periodic-notes");return r&&r.settings?.daily?.enabled}function Hm(){let{app:e}=window;if(e.plugins.getPlugin("calendar"))return!0;let t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.weekly?.enabled}function Bm(){let{app:e}=window,t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.monthly?.enabled}function Km(){let{app:e}=window,t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.quarterly?.enabled}function $m(){let{app:e}=window,t=e.plugins.getPlugin("periodic-notes");return t&&t.settings?.yearly?.enabled}function eS(e){return{day:va,week:ya,month:ba,quarter:wa,year:Ea}[e]()}function tS(e,t){return{day:Am,month:Nm,week:Pm}[e](t)}Pe.DEFAULT_DAILY_NOTE_FORMAT=gc;Pe.DEFAULT_MONTHLY_NOTE_FORMAT=Sm;Pe.DEFAULT_QUARTERLY_NOTE_FORMAT=_m;Pe.DEFAULT_WEEKLY_NOTE_FORMAT=vc;Pe.DEFAULT_YEARLY_NOTE_FORMAT=Cm;Pe.appHasDailyNotesPluginLoaded=Z0;Pe.appHasMonthlyNotesPluginLoaded=Bm;Pe.appHasQuarterlyNotesPluginLoaded=Km;Pe.appHasWeeklyNotesPluginLoaded=Hm;Pe.appHasYearlyNotesPluginLoaded=$m;Pe.createDailyNote=Am;Pe.createMonthlyNote=Nm;Pe.createPeriodicNote=tS;Pe.createQuarterlyNote=q0;Pe.createWeeklyNote=Pm;Pe.createYearlyNote=G0;Pe.getAllDailyNotes=K0;Pe.getAllMonthlyNotes=j0;Pe.getAllQuarterlyNotes=J0;Pe.getAllWeeklyNotes=W0;Pe.getAllYearlyNotes=X0;Pe.getDailyNote=B0;Pe.getDailyNoteSettings=va;Pe.getDateFromFile=Si;Pe.getDateFromPath=H0;Pe.getDateUID=Dn;Pe.getMonthlyNote=z0;Pe.getMonthlyNoteSettings=ba;Pe.getPeriodicNoteSettings=eS;Pe.getQuarterlyNote=Y0;Pe.getQuarterlyNoteSettings=wa;Pe.getTemplateInfo=xi;Pe.getWeeklyNote=V0;Pe.getWeeklyNoteSettings=ya;Pe.getYearlyNote=Q0;Pe.getYearlyNoteSettings=Ea});var Ma=pt((fO,ed)=>{m();"use strict";var u_=Object.prototype.hasOwnProperty,qt="~";function Ta(){}Object.create&&(Ta.prototype=Object.create(null),new Ta().__proto__||(qt=!1));function d_(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function fy(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var a=new d_(r,n||e,i),o=qt?qt+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],a]:e._events[o].push(a):(e._events[o]=a,e._eventsCount++),e}function Cs(e,t){--e._eventsCount==0?e._events=new Ta:delete e._events[t]}function $t(){this._events=new Ta,this._eventsCount=0}$t.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)u_.call(r,n)&&t.push(qt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};$t.prototype.listeners=function(t){var r=qt?qt+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=new Array(a);i{m();(function(e,t){typeof pd=="object"&&typeof hd!="undefined"?hd.exports=t():typeof define=="function"&&define.amd?define(t):e.Mark=t()})(pd,function(){"use strict";var e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},t=function(s,u){if(!(s instanceof u))throw new TypeError("Cannot call a class as a function")},r=function(){function s(u,l){for(var c=0;c1&&arguments[1]!==void 0?arguments[1]:!0,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5e3;t(this,s),this.ctx=u,this.iframes=l,this.exclude=c,this.iframesTimeout=d}return r(s,[{key:"getContexts",value:function(){var l=void 0,c=[];return typeof this.ctx=="undefined"||!this.ctx?l=[]:NodeList.prototype.isPrototypeOf(this.ctx)?l=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?l=this.ctx:typeof this.ctx=="string"?l=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):l=[this.ctx],l.forEach(function(d){var f=c.filter(function(p){return p.contains(d)}).length>0;c.indexOf(d)===-1&&!f&&c.push(d)}),c}},{key:"getIframeContents",value:function(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},f=void 0;try{var p=l.contentWindow;if(f=p.document,!p||!f)throw new Error("iframe inaccessible")}catch(g){d()}f&&c(f)}},{key:"isIframeBlank",value:function(l){var c="about:blank",d=l.getAttribute("src").trim(),f=l.contentWindow.location.href;return f===c&&d!==c&&d}},{key:"observeIframeLoad",value:function(l,c,d){var f=this,p=!1,g=null,y=function b(){if(!p){p=!0,clearTimeout(g);try{f.isIframeBlank(l)||(l.removeEventListener("load",b),f.getIframeContents(l,c,d))}catch(x){d()}}};l.addEventListener("load",y),g=setTimeout(y,this.iframesTimeout)}},{key:"onIframeReady",value:function(l,c,d){try{l.contentWindow.document.readyState==="complete"?this.isIframeBlank(l)?this.observeIframeLoad(l,c,d):this.getIframeContents(l,c,d):this.observeIframeLoad(l,c,d)}catch(f){d()}}},{key:"waitForIframes",value:function(l,c){var d=this,f=0;this.forEachIframe(l,function(){return!0},function(p){f++,d.waitForIframes(p.querySelector("html"),function(){--f||c()})},function(p){p||c()})}},{key:"forEachIframe",value:function(l,c,d){var f=this,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:function(){},g=l.querySelectorAll("iframe"),y=g.length,b=0;g=Array.prototype.slice.call(g);var x=function(){--y<=0&&p(b)};y||x(),g.forEach(function(T){s.matches(T,f.exclude)?x():f.onIframeReady(T,function(C){c(T)&&(b++,d(C)),x()},x)})}},{key:"createIterator",value:function(l,c,d){return document.createNodeIterator(l,c,d,!1)}},{key:"createInstanceOnIframe",value:function(l){return new s(l.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(l,c,d){var f=l.compareDocumentPosition(d),p=Node.DOCUMENT_POSITION_PRECEDING;if(f&p)if(c!==null){var g=c.compareDocumentPosition(d),y=Node.DOCUMENT_POSITION_FOLLOWING;if(g&y)return!0}else return!0;return!1}},{key:"getIteratorNode",value:function(l){var c=l.previousNode(),d=void 0;return c===null?d=l.nextNode():d=l.nextNode()&&l.nextNode(),{prevNode:c,node:d}}},{key:"checkIframeFilter",value:function(l,c,d,f){var p=!1,g=!1;return f.forEach(function(y,b){y.val===d&&(p=b,g=y.handled)}),this.compareNodeIframe(l,c,d)?(p===!1&&!g?f.push({val:d,handled:!0}):p!==!1&&!g&&(f[p].handled=!0),!0):(p===!1&&f.push({val:d,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(l,c,d,f){var p=this;l.forEach(function(g){g.handled||p.getIframeContents(g.val,function(y){p.createInstanceOnIframe(y).forEachNode(c,d,f)})})}},{key:"iterateThroughNodes",value:function(l,c,d,f,p){for(var g=this,y=this.createIterator(c,l,f),b=[],x=[],T=void 0,C=void 0,A=function(){var D=g.getIteratorNode(y);return C=D.prevNode,T=D.node,T};A();)this.iframes&&this.forEachIframe(c,function(H){return g.checkIframeFilter(T,C,H,b)},function(H){g.createInstanceOnIframe(H).forEachNode(l,function(D){return x.push(D)},f)}),x.push(T);x.forEach(function(H){d(H)}),this.iframes&&this.handleOpenIframes(b,l,d,f),p()}},{key:"forEachNode",value:function(l,c,d){var f=this,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:function(){},g=this.getContexts(),y=g.length;y||p(),g.forEach(function(b){var x=function(){f.iterateThroughNodes(l,b,c,d,function(){--y<=0&&p()})};f.iframes?f.waitForIframes(b,x):x()})}}],[{key:"matches",value:function(l,c){var d=typeof c=="string"?[c]:c,f=l.matches||l.matchesSelector||l.msMatchesSelector||l.mozMatchesSelector||l.oMatchesSelector||l.webkitMatchesSelector;if(f){var p=!1;return d.every(function(g){return f.call(l,g)?(p=!0,!1):!0}),p}else return!1}}]),s}(),a=function(){function s(u){t(this,s),this.ctx=u,this.ie=!1;var l=window.navigator.userAgent;(l.indexOf("MSIE")>-1||l.indexOf("Trident")>-1)&&(this.ie=!0)}return r(s,[{key:"log",value:function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"debug",d=this.opt.log;!this.opt.debug||(typeof d=="undefined"?"undefined":e(d))==="object"&&typeof d[c]=="function"&&d[c]("mark.js: "+l)}},{key:"escapeStr",value:function(l){return l.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(l){return this.opt.wildcards!=="disabled"&&(l=this.setupWildcardsRegExp(l)),l=this.escapeStr(l),Object.keys(this.opt.synonyms).length&&(l=this.createSynonymsRegExp(l)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(l=this.setupIgnoreJoinersRegExp(l)),this.opt.diacritics&&(l=this.createDiacriticsRegExp(l)),l=this.createMergedBlanksRegExp(l),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(l=this.createJoinersRegExp(l)),this.opt.wildcards!=="disabled"&&(l=this.createWildcardsRegExp(l)),l=this.createAccuracyRegExp(l),l}},{key:"createSynonymsRegExp",value:function(l){var c=this.opt.synonyms,d=this.opt.caseSensitive?"":"i",f=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var p in c)if(c.hasOwnProperty(p)){var g=c[p],y=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(p):this.escapeStr(p),b=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(g):this.escapeStr(g);y!==""&&b!==""&&(l=l.replace(new RegExp("("+this.escapeStr(y)+"|"+this.escapeStr(b)+")","gm"+d),f+("("+this.processSynomyms(y)+"|")+(this.processSynomyms(b)+")")+f))}return l}},{key:"processSynomyms",value:function(l){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(l=this.setupIgnoreJoinersRegExp(l)),l}},{key:"setupWildcardsRegExp",value:function(l){return l=l.replace(/(?:\\)*\?/g,function(c){return c.charAt(0)==="\\"?"?":""}),l.replace(/(?:\\)*\*/g,function(c){return c.charAt(0)==="\\"?"*":""})}},{key:"createWildcardsRegExp",value:function(l){var c=this.opt.wildcards==="withSpaces";return l.replace(/\u0001/g,c?"[\\S\\s]?":"\\S?").replace(/\u0002/g,c?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(l){return l.replace(/[^(|)\\]/g,function(c,d,f){var p=f.charAt(d+1);return/[(|)\\]/.test(p)||p===""?c:c+"\0"})}},{key:"createJoinersRegExp",value:function(l){var c=[],d=this.opt.ignorePunctuation;return Array.isArray(d)&&d.length&&c.push(this.escapeStr(d.join(""))),this.opt.ignoreJoiners&&c.push("\\u00ad\\u200b\\u200c\\u200d"),c.length?l.split(/\u0000+/).join("["+c.join("")+"]*"):l}},{key:"createDiacriticsRegExp",value:function(l){var c=this.opt.caseSensitive?"":"i",d=this.opt.caseSensitive?["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105","A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104","c\xE7\u0107\u010D","C\xC7\u0106\u010C","d\u0111\u010F","D\u0110\u010E","e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119","E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118","i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B","I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A","l\u0142","L\u0141","n\xF1\u0148\u0144","N\xD1\u0147\u0143","o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D","O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C","r\u0159","R\u0158","s\u0161\u015B\u0219\u015F","S\u0160\u015A\u0218\u015E","t\u0165\u021B\u0163","T\u0164\u021A\u0162","u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B","U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A","y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF","Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178","z\u017E\u017C\u017A","Z\u017D\u017B\u0179"]:["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104","c\xE7\u0107\u010DC\xC7\u0106\u010C","d\u0111\u010FD\u0110\u010E","e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118","i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A","l\u0142L\u0141","n\xF1\u0148\u0144N\xD1\u0147\u0143","o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C","r\u0159R\u0158","s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E","t\u0165\u021B\u0163T\u0164\u021A\u0162","u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A","y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178","z\u017E\u017C\u017AZ\u017D\u017B\u0179"],f=[];return l.split("").forEach(function(p){d.every(function(g){if(g.indexOf(p)!==-1){if(f.indexOf(g)>-1)return!1;l=l.replace(new RegExp("["+g+"]","gm"+c),"["+g+"]"),f.push(g)}return!0})}),l}},{key:"createMergedBlanksRegExp",value:function(l){return l.replace(/[\s]+/gmi,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(l){var c=this,d="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF",f=this.opt.accuracy,p=typeof f=="string"?f:f.value,g=typeof f=="string"?[]:f.limiters,y="";switch(g.forEach(function(b){y+="|"+c.escapeStr(b)}),p){case"partially":default:return"()("+l+")";case"complementary":return y="\\s"+(y||this.escapeStr(d)),"()([^"+y+"]*"+l+"[^"+y+"]*)";case"exactly":return"(^|\\s"+y+")("+l+")(?=$|\\s"+y+")"}}},{key:"getSeparatedKeywords",value:function(l){var c=this,d=[];return l.forEach(function(f){c.opt.separateWordSearch?f.split(" ").forEach(function(p){p.trim()&&d.indexOf(p)===-1&&d.push(p)}):f.trim()&&d.indexOf(f)===-1&&d.push(f)}),{keywords:d.sort(function(f,p){return p.length-f.length}),length:d.length}}},{key:"isNumeric",value:function(l){return Number(parseFloat(l))==l}},{key:"checkRanges",value:function(l){var c=this;if(!Array.isArray(l)||Object.prototype.toString.call(l[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(l),[];var d=[],f=0;return l.sort(function(p,g){return p.start-g.start}).forEach(function(p){var g=c.callNoMatchOnInvalidRanges(p,f),y=g.start,b=g.end,x=g.valid;x&&(p.start=y,p.length=b-y,d.push(p),f=b)}),d}},{key:"callNoMatchOnInvalidRanges",value:function(l,c){var d=void 0,f=void 0,p=!1;return l&&typeof l.start!="undefined"?(d=parseInt(l.start,10),f=d+parseInt(l.length,10),this.isNumeric(l.start)&&this.isNumeric(l.length)&&f-c>0&&f-d>0?p=!0:(this.log("Ignoring invalid or overlapping range: "+(""+JSON.stringify(l))),this.opt.noMatch(l))):(this.log("Ignoring invalid range: "+JSON.stringify(l)),this.opt.noMatch(l)),{start:d,end:f,valid:p}}},{key:"checkWhitespaceRanges",value:function(l,c,d){var f=void 0,p=!0,g=d.length,y=c-g,b=parseInt(l.start,10)-y;return b=b>g?g:b,f=b+parseInt(l.length,10),f>g&&(f=g,this.log("End range automatically set to the max value of "+g)),b<0||f-b<0||b>g||f>g?(p=!1,this.log("Invalid range: "+JSON.stringify(l)),this.opt.noMatch(l)):d.substring(b,f).replace(/\s+/g,"")===""&&(p=!1,this.log("Skipping whitespace only range: "+JSON.stringify(l)),this.opt.noMatch(l)),{start:b,end:f,valid:p}}},{key:"getTextNodes",value:function(l){var c=this,d="",f=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(p){f.push({start:d.length,end:(d+=p.textContent).length,node:p})},function(p){return c.matchesExclude(p.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){l({value:d,nodes:f})})}},{key:"matchesExclude",value:function(l){return i.matches(l,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(l,c,d){var f=this.opt.element?this.opt.element:"mark",p=l.splitText(c),g=p.splitText(d-c),y=document.createElement(f);return y.setAttribute("data-markjs","true"),this.opt.className&&y.setAttribute("class",this.opt.className),y.textContent=p.textContent,p.parentNode.replaceChild(y,p),g}},{key:"wrapRangeInMappedTextNode",value:function(l,c,d,f,p){var g=this;l.nodes.every(function(y,b){var x=l.nodes[b+1];if(typeof x=="undefined"||x.start>c){if(!f(y.node))return!1;var T=c-y.start,C=(d>y.end?y.end:d)-y.start,A=l.value.substr(0,y.start),H=l.value.substr(C+y.start);if(y.node=g.wrapRangeInTextNode(y.node,T,C),l.value=A+H,l.nodes.forEach(function(D,K){K>=b&&(l.nodes[K].start>0&&K!==b&&(l.nodes[K].start-=C),l.nodes[K].end-=C)}),d-=C,p(y.node.previousSibling,y.start),d>y.end)c=y.end;else return!1}return!0})}},{key:"wrapMatches",value:function(l,c,d,f,p){var g=this,y=c===0?0:c+1;this.getTextNodes(function(b){b.nodes.forEach(function(x){x=x.node;for(var T=void 0;(T=l.exec(x.textContent))!==null&&T[y]!=="";)if(!!d(T[y],x)){var C=T.index;if(y!==0)for(var A=1;A{m();(function(t,r){typeof Ws=="object"&&typeof Id=="object"?Id.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Ws=="object"?Ws.Choices=r():t.Choices=r()})(window,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,{enumerable:!0,get:a})},r.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,i){if(i&1&&(n=r(n)),i&8||i&4&&typeof n=="object"&&n&&n.__esModule)return n;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:n}),i&2&&typeof n!="string")for(var o in n)r.d(a,o,function(s){return n[s]}.bind(null,o));return a},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="/public/assets/scripts/",r(r.s=4)}([function(e,t,r){"use strict";var n=function(A){return i(A)&&!a(A)};function i(C){return!!C&&typeof C=="object"}function a(C){var A=Object.prototype.toString.call(C);return A==="[object RegExp]"||A==="[object Date]"||u(C)}var o=typeof Symbol=="function"&&Symbol.for,s=o?Symbol.for("react.element"):60103;function u(C){return C.$$typeof===s}function l(C){return Array.isArray(C)?[]:{}}function c(C,A){return A.clone!==!1&&A.isMergeableObject(C)?x(l(C),C,A):C}function d(C,A,H){return C.concat(A).map(function(D){return c(D,H)})}function f(C,A){if(!A.customMerge)return x;var H=A.customMerge(C);return typeof H=="function"?H:x}function p(C){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(C).filter(function(A){return C.propertyIsEnumerable(A)}):[]}function g(C){return Object.keys(C).concat(p(C))}function y(C,A){try{return A in C&&!(Object.hasOwnProperty.call(C,A)&&Object.propertyIsEnumerable.call(C,A))}catch(H){return!1}}function b(C,A,H){var D={};return H.isMergeableObject(C)&&g(C).forEach(function(K){D[K]=c(C[K],H)}),g(A).forEach(function(K){y(C,K)||(!H.isMergeableObject(A[K])||!C[K]?D[K]=c(A[K],H):D[K]=f(K,H)(C[K],A[K],H))}),D}function x(C,A,H){H=H||{},H.arrayMerge=H.arrayMerge||d,H.isMergeableObject=H.isMergeableObject||n,H.cloneUnlessOtherwiseSpecified=c;var D=Array.isArray(A),K=Array.isArray(C),z=D===K;return z?D?H.arrayMerge(C,A,H):b(C,A,H):c(A,H)}x.all=function(A,H){if(!Array.isArray(A))throw new Error("first argument should be an array");return A.reduce(function(D,K){return x(D,K,H)},{})};var T=x;e.exports=T},function(e,t,r){"use strict";(function(n,i){var a=r(3),o;typeof self!="undefined"?o=self:typeof window!="undefined"?o=window:typeof n!="undefined"?o=n:o=i;var s=Object(a.a)(o);t.a=s}).call(this,r(5),r(6)(e))},function(e,t,r){(function(n,i){e.exports=i()})(this,function(){return function(n){var i={};function a(o){if(i[o])return i[o].exports;var s=i[o]={i:o,l:!1,exports:{}};return n[o].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=n,a.c=i,a.d=function(o,s,u){a.o(o,s)||Object.defineProperty(o,s,{enumerable:!0,get:u})},a.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},a.t=function(o,s){if(1&s&&(o=a(o)),8&s||4&s&&typeof o=="object"&&o&&o.__esModule)return o;var u=Object.create(null);if(a.r(u),Object.defineProperty(u,"default",{enumerable:!0,value:o}),2&s&&typeof o!="string")for(var l in o)a.d(u,l,function(c){return o[c]}.bind(null,l));return u},a.n=function(o){var s=o&&o.__esModule?function(){return o.default}:function(){return o};return a.d(s,"a",s),s},a.o=function(o,s){return Object.prototype.hasOwnProperty.call(o,s)},a.p="",a(a.s=1)}([function(n,i){n.exports=function(a){return Array.isArray?Array.isArray(a):Object.prototype.toString.call(a)==="[object Array]"}},function(n,i,a){function o(f){return(o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p})(f)}function s(f,p){for(var g=0;g1&&arguments[1]!==void 0?arguments[1]:{limit:!1};this._log(`--------- +Search pattern: "`.concat(b,'"'));var T=this._prepareSearchers(b),C=T.tokenSearchers,A=T.fullSearcher,H=this._search(C,A),D=H.weights,K=H.results;return this._computeScore(D,K),this.options.shouldSort&&this._sort(K),x.limit&&typeof x.limit=="number"&&(K=K.slice(0,x.limit)),this._format(K)}},{key:"_prepareSearchers",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",x=[];if(this.options.tokenize)for(var T=b.split(this.options.tokenSeparator),C=0,A=T.length;C0&&arguments[0]!==void 0?arguments[0]:[],x=arguments.length>1?arguments[1]:void 0,T=this.list,C={},A=[];if(typeof T[0]=="string"){for(var H=0,D=T.length;H1)throw new Error("Key weight has to be > 0 and <= 1");G=G.name}else K[G]={weight:1};this._analyze({key:G,value:this.options.getFn(Z,G),record:Z,index:z},{resultMap:C,results:A,tokenSearchers:b,fullSearcher:x})}return{weights:K,results:A}}},{key:"_analyze",value:function(b,x){var T=b.key,C=b.arrayIndex,A=C===void 0?-1:C,H=b.value,D=b.record,K=b.index,z=x.tokenSearchers,U=z===void 0?[]:z,Z=x.fullSearcher,J=Z===void 0?[]:Z,se=x.resultMap,G=se===void 0?{}:se,Q=x.results,ie=Q===void 0?[]:Q;if(H!=null){var he=!1,pe=-1,ge=0;if(typeof H=="string"){this._log(` Key: `.concat(T===""?"-":T));var be=J.search(H);if(this._log('Full text: "'.concat(H,'", score: ').concat(be.score)),this.options.tokenize){for(var Te=H.split(this.options.tokenSeparator),F=[],N=0;N-1&&(Ue=(Ue+pe)/2),this._log("Score average:",Ue);var dt=!this.options.tokenize||!this.options.matchAllTokens||ge>=U.length;if(this._log(` -Check Matches: `.concat(dt)),(he||be.isMatch)&&dt){var vt=G[K];vt?vt.output.push({key:T,arrayIndex:A,value:H,score:Ue,matchedIndices:be.matchedIndices}):(G[K]={item:D,output:[{key:T,arrayIndex:A,value:H,score:Ue,matchedIndices:be.matchedIndices}]},ie.push(G[K]))}}else if(c(H))for(var Ot=0,Bn=H.length;Ot-1&&(Ue=(Ue+pe)/2),this._log("Score average:",Ue);var dt=!this.options.tokenize||!this.options.matchAllTokens||ge>=U.length;if(this._log(` +Check Matches: `.concat(dt)),(he||be.isMatch)&&dt){var vt=G[K];vt?vt.output.push({key:T,arrayIndex:A,value:H,score:Ue,matchedIndices:be.matchedIndices}):(G[K]={item:D,output:[{key:T,arrayIndex:A,value:H,score:Ue,matchedIndices:be.matchedIndices}]},ie.push(G[K]))}}else if(c(H))for(var Ot=0,Bn=H.length;Ot-1&&(he.arrayIndex=ie.arrayIndex),J.matches.push(he)}}}),this.options.includeScore&&C.push(function(Z,J){J.score=Z.score});for(var A=0,H=b.length;Ak)return s(y,this.pattern,T);var C=this.options,A=C.location,H=C.distance,D=C.threshold,K=C.findAllMatches,z=C.minMatchCharLength;return u(y,this.pattern,this.patternAlphabet,{location:A,distance:H,threshold:D,findAllMatches:K,minMatchCharLength:z})}}])&&o(f.prototype,p),g&&o(f,g),d}();n.exports=c},function(n,i){var a=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;n.exports=function(o,s){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:/ +/g,l=new RegExp(s.replace(a,"\\$&").replace(u,"|")),c=o.match(l),d=!!c,f=[];if(d)for(var p=0,g=c.length;p=N;W-=1){var j=W-1,q=c[u.charAt(j)];if(q&&(J[j]=1),Ge[W]=(Ge[W+1]<<1|1)&q,be!==0&&(Ge[W]|=(ie[W+1]|ie[W])<<1|1|ie[W+1]),Ge[W]&ge&&(he=o(l,{errors:be,currentLocation:j,expectedLocation:D,distance:y}))<=z){if(z=he,(U=j)<=D)break;N=Math.max(1,2*D-U)}}if(o(l,{errors:be+1,currentLocation:D,expectedLocation:D,distance:y})>z)break;ie=Ge}return{isMatch:U>=0,score:he===0?.001:he,matchedIndices:s(J,H)}}},function(n,i){n.exports=function(a,o){var s=o.errors,u=s===void 0?0:s,l=o.currentLocation,c=l===void 0?0:l,d=o.expectedLocation,f=d===void 0?0:d,p=o.distance,g=p===void 0?100:p,y=u/a.length,b=Math.abs(f-c);return g?y+b/g:b?1:y}},function(n,i){n.exports=function(){for(var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,s=[],u=-1,l=-1,c=0,d=a.length;c=o&&s.push([u,l]),u=-1)}return a[c-1]&&c-u>=o&&s.push([u,c-1]),s}},function(n,i){n.exports=function(a){for(var o={},s=a.length,u=0;u0)return"Unexpected "+(R.length>1?"keys":"key")+" "+('"'+R.join('", "')+'" found in '+I+". ")+"Expected to find one of the known reducer keys instead: "+('"'+x.join('", "')+'". Unexpected keys will be ignored.')}function y(O){Object.keys(O).forEach(function(w){var E=O[w],v=E(void 0,{type:l.INIT});if(typeof v=="undefined")throw new Error('Reducer "'+w+`" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);if(typeof E(void 0,{type:l.PROBE_UNKNOWN_ACTION()})=="undefined")throw new Error('Reducer "'+w+'" returned undefined when probed with a random type. '+("Don't try to handle "+l.INIT+' or other actions in "redux/*" ')+"namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.")})}function b(O){for(var w=Object.keys(O),E={},v=0;v-1?O.map(function(E){var v=E;return v.id===parseInt(w.choiceId,10)&&(v.selected=!0),v}):O;case"REMOVE_ITEM":return w.choiceId>-1?O.map(function(E){var v=E;return v.id===parseInt(w.choiceId,10)&&(v.selected=!1),v}):O;case"FILTER_CHOICES":return O.map(function(E){var v=E;return v.active=w.results.some(function(x){var I=x.item,R=x.score;return I.id===v.id?(v.score=R,!0):!1}),v});case"ACTIVATE_CHOICES":return O.map(function(E){var v=E;return v.active=w.active,v});case"CLEAR_CHOICES":return G;default:return O}}var ie={loading:!1},he=function(w,E){switch(w===void 0&&(w=ie),E.type){case"SET_IS_LOADING":return{loading:E.isLoading};default:return w}},pe=he,ge=function(w,E){return Math.floor(Math.random()*(E-w)+w)},be=function(w){return Array.from({length:w},function(){return ge(0,36).toString(36)}).join("")},Te=function(w,E){var v=w.id||w.name&&w.name+"-"+be(2)||be(4);return v=v.replace(/(:|\.|\[|\]|,)/g,""),v=E+"-"+v,v},F=function(w){return Object.prototype.toString.call(w).slice(8,-1)},N=function(w,E){return E!=null&&F(E)===w},ut=function(w,E){return E===void 0&&(E=document.createElement("div")),w.nextSibling?w.parentNode.insertBefore(E,w.nextSibling):w.parentNode.appendChild(E),E.appendChild(w)},Ge=function(w,E,v){if(v===void 0&&(v=1),!(!(w instanceof Element)||typeof E!="string")){for(var x=(v>0?"next":"previous")+"ElementSibling",I=w[x];I;){if(I.matches(E))return I;I=I[x]}return I}},W=function(w,E,v){if(v===void 0&&(v=1),!w)return!1;var x;return v>0?x=E.scrollTop+E.offsetHeight>=w.offsetTop+w.offsetHeight:x=w.offsetTop>=E.scrollTop,x},j=function(w){return typeof w!="string"?w:w.replace(/&/g,"&").replace(/>/g,"&rt;").replace(/"'+j(w)+'"'},maxItemText:function(w){return"Only "+w+" values can be added"},valueComparer:function(w,E){return w===E},fuseOptions:{includeScore:!0},callbackOnInit:null,callbackOnCreateTemplates:null,classNames:ti},Rt={showDropdown:"showDropdown",hideDropdown:"hideDropdown",change:"change",choice:"choice",search:"search",addItem:"addItem",removeItem:"removeItem",highlightItem:"highlightItem",highlightChoice:"highlightChoice"},Wt={ADD_CHOICE:"ADD_CHOICE",FILTER_CHOICES:"FILTER_CHOICES",ACTIVATE_CHOICES:"ACTIVATE_CHOICES",CLEAR_CHOICES:"CLEAR_CHOICES",ADD_GROUP:"ADD_GROUP",ADD_ITEM:"ADD_ITEM",REMOVE_ITEM:"REMOVE_ITEM",HIGHLIGHT_ITEM:"HIGHLIGHT_ITEM",CLEAR_ALL:"CLEAR_ALL"},yt={BACK_KEY:46,DELETE_KEY:8,ENTER_KEY:13,A_KEY:65,ESC_KEY:27,UP_KEY:38,DOWN_KEY:40,PAGE_UP_KEY:33,PAGE_DOWN_KEY:34},Y="text",oe="select-one",Ee="select-multiple",ze=4,Tt=function(){function O(E){var v=E.element,x=E.type,I=E.classNames,R=E.position;this.element=v,this.classNames=I,this.type=x,this.position=R,this.isOpen=!1,this.isFlipped=!1,this.isFocussed=!1,this.isDisabled=!1,this.isLoading=!1,this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var w=O.prototype;return w.addEventListeners=function(){this.element.addEventListener("focus",this._onFocus),this.element.addEventListener("blur",this._onBlur)},w.removeEventListeners=function(){this.element.removeEventListener("focus",this._onFocus),this.element.removeEventListener("blur",this._onBlur)},w.shouldFlip=function(v){if(typeof v!="number")return!1;var x=!1;return this.position==="auto"?x=!window.matchMedia("(min-height: "+(v+1)+"px)").matches:this.position==="top"&&(x=!0),x},w.setActiveDescendant=function(v){this.element.setAttribute("aria-activedescendant",v)},w.removeActiveDescendant=function(){this.element.removeAttribute("aria-activedescendant")},w.open=function(v){this.element.classList.add(this.classNames.openState),this.element.setAttribute("aria-expanded","true"),this.isOpen=!0,this.shouldFlip(v)&&(this.element.classList.add(this.classNames.flippedState),this.isFlipped=!0)},w.close=function(){this.element.classList.remove(this.classNames.openState),this.element.setAttribute("aria-expanded","false"),this.removeActiveDescendant(),this.isOpen=!1,this.isFlipped&&(this.element.classList.remove(this.classNames.flippedState),this.isFlipped=!1)},w.focus=function(){this.isFocussed||this.element.focus()},w.addFocusState=function(){this.element.classList.add(this.classNames.focusState)},w.removeFocusState=function(){this.element.classList.remove(this.classNames.focusState)},w.enable=function(){this.element.classList.remove(this.classNames.disabledState),this.element.removeAttribute("aria-disabled"),this.type===oe&&this.element.setAttribute("tabindex","0"),this.isDisabled=!1},w.disable=function(){this.element.classList.add(this.classNames.disabledState),this.element.setAttribute("aria-disabled","true"),this.type===oe&&this.element.setAttribute("tabindex","-1"),this.isDisabled=!0},w.wrap=function(v){ut(v,this.element)},w.unwrap=function(v){this.element.parentNode.insertBefore(v,this.element),this.element.parentNode.removeChild(this.element)},w.addLoadingState=function(){this.element.classList.add(this.classNames.loadingState),this.element.setAttribute("aria-busy","true"),this.isLoading=!0},w.removeLoadingState=function(){this.element.classList.remove(this.classNames.loadingState),this.element.removeAttribute("aria-busy"),this.isLoading=!1},w._onFocus=function(){this.isFocussed=!0},w._onBlur=function(){this.isFocussed=!1},O}();function En(O,w){for(var E=0;E0?this.element.scrollTop+ae-V:v.offsetTop;requestAnimationFrame(function(){I._animateScroll(de,x)})}},w._scrollDown=function(v,x,I){var R=(I-v)/x,V=R>1?R:1;this.element.scrollTop=v+V},w._scrollUp=function(v,x,I){var R=(v-I)/x,V=R>1?R:1;this.element.scrollTop=v-V},w._animateScroll=function(v,x){var I=this,R=ze,V=this.element.scrollTop,X=!1;x>0?(this._scrollDown(V,R,v),Vv&&(X=!0)),X&&requestAnimationFrame(function(){I._animateScroll(v,x)})},O}();function fn(O,w){for(var E=0;E0?"treeitem":"option"),Object.assign(Re.dataset,{choice:"",id:de,value:xe,selectText:v}),Ce?(Re.classList.add(X),Re.dataset.choiceDisabled="",Re.setAttribute("aria-disabled","true")):(Re.classList.add(R),Re.dataset.choiceSelectable=""),Re},input:function(w,E){var v=w.input,x=w.inputCloned,I=Object.assign(document.createElement("input"),{type:"text",className:v+" "+x,autocomplete:"off",autocapitalize:"off",spellcheck:!1});return I.setAttribute("role","textbox"),I.setAttribute("aria-autocomplete","list"),I.setAttribute("aria-label",E),I},dropdown:function(w){var E=w.list,v=w.listDropdown,x=document.createElement("div");return x.classList.add(E,v),x.setAttribute("aria-expanded","false"),x},notice:function(w,E,v){var x=w.item,I=w.itemChoice,R=w.noResults,V=w.noChoices;v===void 0&&(v="");var X=[x,I];return v==="no-choices"?X.push(V):v==="no-results"&&X.push(R),Object.assign(document.createElement("div"),{innerHTML:E,className:X.join(" ")})},option:function(w){var E=w.label,v=w.value,x=w.customProperties,I=w.active,R=w.disabled,V=new Option(E,v,!1,I);return x&&(V.dataset.customProperties=x),V.disabled=R,V}},le=ee,re=function(w){var E=w.value,v=w.label,x=w.id,I=w.groupId,R=w.disabled,V=w.elementId,X=w.customProperties,ae=w.placeholder,de=w.keyCode;return{type:Wt.ADD_CHOICE,value:E,label:v,id:x,groupId:I,disabled:R,elementId:V,customProperties:X,placeholder:ae,keyCode:de}},ve=function(w){return{type:Wt.FILTER_CHOICES,results:w}},ue=function(w){return w===void 0&&(w=!0),{type:Wt.ACTIVATE_CHOICES,active:w}},Fe=function(){return{type:Wt.CLEAR_CHOICES}},Ne=function(w){var E=w.value,v=w.label,x=w.id,I=w.choiceId,R=w.groupId,V=w.customProperties,X=w.placeholder,ae=w.keyCode;return{type:Wt.ADD_ITEM,value:E,label:v,id:x,choiceId:I,groupId:R,customProperties:V,placeholder:X,keyCode:ae}},Me=function(w,E){return{type:Wt.REMOVE_ITEM,id:w,choiceId:E}},Qt=function(w,E){return{type:Wt.HIGHLIGHT_ITEM,id:w,highlighted:E}},bt=function(w){var E=w.value,v=w.id,x=w.active,I=w.disabled;return{type:Wt.ADD_GROUP,value:E,id:v,active:x,disabled:I}},ar=function(){return{type:"CLEAR_ALL"}},or=function(w){return{type:"RESET_TO",state:w}},zi=function(w){return{type:"SET_IS_LOADING",isLoading:w}};function no(O,w){for(var E=0;E=0?this._store.getGroupById(V):null;return this._store.dispatch(Qt(I,!0)),x&&this.passedElement.triggerEvent(Rt.highlightItem,{id:I,value:ae,label:xe,groupValue:ye&&ye.value?ye.value:null}),this},w.unhighlightItem=function(v){if(!v)return this;var x=v.id,I=v.groupId,R=I===void 0?-1:I,V=v.value,X=V===void 0?"":V,ae=v.label,de=ae===void 0?"":ae,xe=R>=0?this._store.getGroupById(R):null;return this._store.dispatch(Qt(x,!1)),this.passedElement.triggerEvent(Rt.highlightItem,{id:x,value:X,label:de,groupValue:xe&&xe.value?xe.value:null}),this},w.highlightAll=function(){var v=this;return this._store.items.forEach(function(x){return v.highlightItem(x)}),this},w.unhighlightAll=function(){var v=this;return this._store.items.forEach(function(x){return v.unhighlightItem(x)}),this},w.removeActiveItemsByValue=function(v){var x=this;return this._store.activeItems.filter(function(I){return I.value===v}).forEach(function(I){return x._removeItem(I)}),this},w.removeActiveItems=function(v){var x=this;return this._store.activeItems.filter(function(I){var R=I.id;return R!==v}).forEach(function(I){return x._removeItem(I)}),this},w.removeHighlightedItems=function(v){var x=this;return v===void 0&&(v=!1),this._store.highlightedActiveItems.forEach(function(I){x._removeItem(I),v&&x._triggerChange(I.value)}),this},w.showDropdown=function(v){var x=this;return this.dropdown.isActive?this:(requestAnimationFrame(function(){x.dropdown.show(),x.containerOuter.open(x.dropdown.distanceFromTopWindow),!v&&x._canSearch&&x.input.focus(),x.passedElement.triggerEvent(Rt.showDropdown,{})}),this)},w.hideDropdown=function(v){var x=this;return this.dropdown.isActive?(requestAnimationFrame(function(){x.dropdown.hide(),x.containerOuter.close(),!v&&x._canSearch&&(x.input.removeActiveDescendant(),x.input.blur()),x.passedElement.triggerEvent(Rt.hideDropdown,{})}),this):this},w.getValue=function(v){v===void 0&&(v=!1);var x=this._store.activeItems.reduce(function(I,R){var V=v?R.value:R;return I.push(V),I},[]);return this._isSelectOneElement?x[0]:x},w.setValue=function(v){var x=this;return this.initialised?(v.forEach(function(I){return x._setChoiceOrItem(I)}),this):this},w.setChoiceByValue=function(v){var x=this;if(!this.initialised||this._isTextElement)return this;var I=Array.isArray(v)?v:[v];return I.forEach(function(R){return x._findAndSelectChoiceByValue(R)}),this},w.setChoices=function(v,x,I,R){var V=this;if(v===void 0&&(v=[]),x===void 0&&(x="value"),I===void 0&&(I="label"),R===void 0&&(R=!1),!this.initialised)throw new ReferenceError("setChoices was called on a non-initialized instance of Choices");if(!this._isSelectElement)throw new TypeError("setChoices can't be used with INPUT based Choices");if(typeof x!="string"||!x)throw new TypeError("value parameter must be a name of 'value' field in passed objects");if(R&&this.clearChoices(),typeof v=="function"){var X=v(this);if(typeof Promise=="function"&&X instanceof Promise)return new Promise(function(ae){return requestAnimationFrame(ae)}).then(function(){return V._handleLoadingState(!0)}).then(function(){return X}).then(function(ae){return V.setChoices(ae,x,I,R)}).catch(function(ae){V.config.silent||console.error(ae)}).then(function(){return V._handleLoadingState(!1)}).then(function(){return V});if(!Array.isArray(X))throw new TypeError(".setChoices first argument function must return either array of choices or Promise, got: "+typeof X);return this.setChoices(X,x,I,!1)}if(!Array.isArray(v))throw new TypeError(".setChoices must be called either with array of choices with a function resulting into Promise of array of choices");return this.containerOuter.removeLoadingState(),this._startLoading(),v.forEach(function(ae){ae.choices?V._addGroup({id:parseInt(ae.id,10)||null,group:ae,valueKey:x,labelKey:I}):V._addChoice({value:ae[x],label:ae[I],isSelected:ae.selected,isDisabled:ae.disabled,customProperties:ae.customProperties,placeholder:ae.placeholder})}),this._stopLoading(),this},w.clearChoices=function(){return this._store.dispatch(Fe()),this},w.clearStore=function(){return this._store.dispatch(ar()),this},w.clearInput=function(){var v=!this._isSelectOneElement;return this.input.clear(v),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch(ue(!0))),this},w._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var v=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,x=this._isSelectElement,I=this._currentState.items!==this._prevState.items;!v||(x&&this._renderChoices(),I&&this._renderItems(),this._prevState=this._currentState)}},w._renderChoices=function(){var v=this,x=this._store,I=x.activeGroups,R=x.activeChoices,V=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame(function(){return v.choiceList.scrollToTop()}),I.length>=1&&!this._isSearching){var X=R.filter(function(Ie){return Ie.placeholder===!0&&Ie.groupId===-1});X.length>=1&&(V=this._createChoicesFragment(X,V)),V=this._createGroupsFragment(I,R,V)}else R.length>=1&&(V=this._createChoicesFragment(R,V));if(V.childNodes&&V.childNodes.length>0){var ae=this._store.activeItems,de=this._canAddItem(ae,this.input.value);de.response?(this.choiceList.append(V),this._highlightChoice()):this.choiceList.append(this._getTemplate("notice",de.notice))}else{var xe,ye;this._isSearching?(ye=typeof this.config.noResultsText=="function"?this.config.noResultsText():this.config.noResultsText,xe=this._getTemplate("notice",ye,"no-results")):(ye=typeof this.config.noChoicesText=="function"?this.config.noChoicesText():this.config.noChoicesText,xe=this._getTemplate("notice",ye,"no-choices")),this.choiceList.append(xe)}},w._renderItems=function(){var v=this._store.activeItems||[];this.itemList.clear();var x=this._createItemsFragment(v);x.childNodes&&this.itemList.append(x)},w._createGroupsFragment=function(v,x,I){var R=this;I===void 0&&(I=document.createDocumentFragment());var V=function(ae){return x.filter(function(de){return R._isSelectOneElement?de.groupId===ae.id:de.groupId===ae.id&&(R.config.renderSelectedChoices==="always"||!de.selected)})};return this.config.shouldSort&&v.sort(this.config.sorter),v.forEach(function(X){var ae=V(X);if(ae.length>=1){var de=R._getTemplate("choiceGroup",X);I.appendChild(de),R._createChoicesFragment(ae,I,!0)}}),I},w._createChoicesFragment=function(v,x,I){var R=this;x===void 0&&(x=document.createDocumentFragment()),I===void 0&&(I=!1);var V=this.config,X=V.renderSelectedChoices,ae=V.searchResultLimit,de=V.renderChoiceLimit,xe=this._isSearching?we:this.config.sorter,ye=function(zt){var Mr=X==="auto"?R._isSelectOneElement||!zt.selected:!0;if(Mr){var Ir=R._getTemplate("choice",zt,R.config.itemSelectText);x.appendChild(Ir)}},Ie=v;X==="auto"&&!this._isSelectOneElement&&(Ie=v.filter(function(Ht){return!Ht.selected}));var Oe=Ie.reduce(function(Ht,zt){return zt.placeholder?Ht.placeholderChoices.push(zt):Ht.normalChoices.push(zt),Ht},{placeholderChoices:[],normalChoices:[]}),Ce=Oe.placeholderChoices,$e=Oe.normalChoices;(this.config.shouldSort||this._isSearching)&&$e.sort(xe);var Le=Ie.length,Re=this._isSelectOneElement?[].concat(Ce,$e):$e;this._isSearching?Le=ae:de&&de>0&&!I&&(Le=de);for(var ft=0;ft=R){var ae=V?this._searchChoices(v):0;this.passedElement.triggerEvent(Rt.search,{value:v,resultCount:ae})}else X&&(this._isSearching=!1,this._store.dispatch(ue(!0)))}},w._canAddItem=function(v,x){var I=!0,R=typeof this.config.addItemText=="function"?this.config.addItemText(x):this.config.addItemText;if(!this._isSelectOneElement){var V=Ue(v,x);this.config.maxItemCount>0&&this.config.maxItemCount<=v.length&&(I=!1,R=typeof this.config.maxItemText=="function"?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&V&&I&&(I=!1,R=typeof this.config.uniqueItemText=="function"?this.config.uniqueItemText(x):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&I&&typeof this.config.addItemFilter=="function"&&!this.config.addItemFilter(x)&&(I=!1,R=typeof this.config.customAddItemText=="function"?this.config.customAddItemText(x):this.config.customAddItemText)}return{response:I,notice:R}},w._searchChoices=function(v){var x=typeof v=="string"?v.trim():v,I=typeof this._currentValue=="string"?this._currentValue.trim():this._currentValue;if(x.length<1&&x===I+" ")return 0;var R=this._store.searchableChoices,V=x,X=[].concat(this.config.searchFields),ae=Object.assign(this.config.fuseOptions,{keys:X}),de=new i.a(R,ae),xe=de.search(V);return this._currentValue=x,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch(ve(xe)),xe.length},w._addEventListeners=function(){var v=document,x=v.documentElement;x.addEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.addEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.addEventListener("mousedown",this._onMouseDown,!0),x.addEventListener("click",this._onClick,{passive:!0}),x.addEventListener("touchmove",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener("mouseover",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener("focus",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener("blur",this._onBlur,{passive:!0})),this.input.element.addEventListener("keyup",this._onKeyUp,{passive:!0}),this.input.element.addEventListener("focus",this._onFocus,{passive:!0}),this.input.element.addEventListener("blur",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener("reset",this._onFormReset,{passive:!0}),this.input.addEventListeners()},w._removeEventListeners=function(){var v=document,x=v.documentElement;x.removeEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.removeEventListener("mousedown",this._onMouseDown,!0),x.removeEventListener("click",this._onClick),x.removeEventListener("touchmove",this._onTouchMove),this.dropdown.element.removeEventListener("mouseover",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener("focus",this._onFocus),this.containerOuter.element.removeEventListener("blur",this._onBlur)),this.input.element.removeEventListener("keyup",this._onKeyUp),this.input.element.removeEventListener("focus",this._onFocus),this.input.element.removeEventListener("blur",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener("reset",this._onFormReset),this.input.removeEventListeners()},w._onKeyDown=function(v){var x,I=v.target,R=v.keyCode,V=v.ctrlKey,X=v.metaKey,ae=this._store.activeItems,de=this.input.isFocussed,xe=this.dropdown.isActive,ye=this.itemList.hasChildren(),Ie=String.fromCharCode(R),Oe=yt.BACK_KEY,Ce=yt.DELETE_KEY,$e=yt.ENTER_KEY,Le=yt.A_KEY,Re=yt.ESC_KEY,ft=yt.UP_KEY,Ht=yt.DOWN_KEY,zt=yt.PAGE_UP_KEY,Mr=yt.PAGE_DOWN_KEY,Ir=V||X;!this._isTextElement&&/[a-zA-Z0-9-_ ]/.test(Ie)&&this.showDropdown();var ni=(x={},x[Le]=this._onAKey,x[$e]=this._onEnterKey,x[Re]=this._onEscapeKey,x[ft]=this._onDirectionKey,x[zt]=this._onDirectionKey,x[Ht]=this._onDirectionKey,x[Mr]=this._onDirectionKey,x[Ce]=this._onDeleteKey,x[Oe]=this._onDeleteKey,x);ni[R]&&ni[R]({event:v,target:I,keyCode:R,metaKey:X,activeItems:ae,hasFocusedInput:de,hasActiveDropdown:xe,hasItems:ye,hasCtrlDownKeyPressed:Ir})},w._onKeyUp=function(v){var x=v.target,I=v.keyCode,R=this.input.value,V=this._store.activeItems,X=this._canAddItem(V,R),ae=yt.BACK_KEY,de=yt.DELETE_KEY;if(this._isTextElement){var xe=X.notice&&R;if(xe){var ye=this._getTemplate("notice",X.notice);this.dropdown.element.innerHTML=ye.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0)}else{var Ie=(I===ae||I===de)&&!x.value,Oe=!this._isTextElement&&this._isSearching,Ce=this._canSearch&&X.response;Ie&&Oe?(this._isSearching=!1,this._store.dispatch(ue(!0))):Ce&&this._handleSearch(this.input.value)}this._canSearch=this.config.searchEnabled},w._onAKey=function(v){var x=v.hasItems,I=v.hasCtrlDownKeyPressed;if(I&&x){this._canSearch=!1;var R=this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement;R&&this.highlightAll()}},w._onEnterKey=function(v){var x=v.event,I=v.target,R=v.activeItems,V=v.hasActiveDropdown,X=yt.ENTER_KEY,ae=I.hasAttribute("data-button");if(this._isTextElement&&I.value){var de=this.input.value,xe=this._canAddItem(R,de);xe.response&&(this.hideDropdown(!0),this._addItem({value:de}),this._triggerChange(de),this.clearInput())}if(ae&&(this._handleButtonAction(R,I),x.preventDefault()),V){var ye=this.dropdown.getChild("."+this.config.classNames.highlightedState);ye&&(R[0]&&(R[0].keyCode=X),this._handleChoiceAction(R,ye)),x.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),x.preventDefault())},w._onEscapeKey=function(v){var x=v.hasActiveDropdown;x&&(this.hideDropdown(!0),this.containerOuter.focus())},w._onDirectionKey=function(v){var x=v.event,I=v.hasActiveDropdown,R=v.keyCode,V=v.metaKey,X=yt.DOWN_KEY,ae=yt.PAGE_UP_KEY,de=yt.PAGE_DOWN_KEY;if(I||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var xe=R===X||R===de?1:-1,ye=V||R===de||R===ae,Ie="[data-choice-selectable]",Oe;if(ye)xe>0?Oe=this.dropdown.element.querySelector(Ie+":last-of-type"):Oe=this.dropdown.element.querySelector(Ie);else{var Ce=this.dropdown.element.querySelector("."+this.config.classNames.highlightedState);Ce?Oe=Ge(Ce,Ie,xe):Oe=this.dropdown.element.querySelector(Ie)}Oe&&(W(Oe,this.choiceList.element,xe)||this.choiceList.scrollToChildElement(Oe,xe),this._highlightChoice(Oe)),x.preventDefault()}},w._onDeleteKey=function(v){var x=v.event,I=v.target,R=v.hasFocusedInput,V=v.activeItems;R&&!I.value&&!this._isSelectOneElement&&(this._handleBackspace(V),x.preventDefault())},w._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},w._onTouchEnd=function(v){var x=v||v.touches[0],I=x.target,R=this._wasTap&&this.containerOuter.element.contains(I);if(R){var V=I===this.containerOuter.element||I===this.containerInner.element;V&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),v.stopPropagation()}this._wasTap=!0},w._onMouseDown=function(v){var x=v.target;if(x instanceof HTMLElement){if(ji&&this.choiceList.element.contains(x)){var I=this.choiceList.element.firstElementChild,R=this._direction==="ltr"?v.offsetX>=I.offsetWidth:v.offsetX0;R&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0)}},w._onFocus=function(v){var x=this,I,R=v.target,V=this.containerOuter.element.contains(R);if(!!V){var X=(I={},I[Y]=function(){R===x.input.element&&x.containerOuter.addFocusState()},I[oe]=function(){x.containerOuter.addFocusState(),R===x.input.element&&x.showDropdown(!0)},I[Ee]=function(){R===x.input.element&&(x.showDropdown(!0),x.containerOuter.addFocusState())},I);X[this.passedElement.element.type]()}},w._onBlur=function(v){var x=this,I=v.target,R=this.containerOuter.element.contains(I);if(R&&!this._isScrollingOnIe){var V,X=this._store.activeItems,ae=X.some(function(xe){return xe.highlighted}),de=(V={},V[Y]=function(){I===x.input.element&&(x.containerOuter.removeFocusState(),ae&&x.unhighlightAll(),x.hideDropdown(!0))},V[oe]=function(){x.containerOuter.removeFocusState(),(I===x.input.element||I===x.containerOuter.element&&!x._canSearch)&&x.hideDropdown(!0)},V[Ee]=function(){I===x.input.element&&(x.containerOuter.removeFocusState(),x.hideDropdown(!0),ae&&x.unhighlightAll())},V);de[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},w._onFormReset=function(){this._store.dispatch(or(this._initialState))},w._highlightChoice=function(v){var x=this;v===void 0&&(v=null);var I=Array.from(this.dropdown.element.querySelectorAll("[data-choice-selectable]"));if(!!I.length){var R=v,V=Array.from(this.dropdown.element.querySelectorAll("."+this.config.classNames.highlightedState));V.forEach(function(X){X.classList.remove(x.config.classNames.highlightedState),X.setAttribute("aria-selected","false")}),R?this._highlightPosition=I.indexOf(R):(I.length>this._highlightPosition?R=I[this._highlightPosition]:R=I[I.length-1],R||(R=I[0])),R.classList.add(this.config.classNames.highlightedState),R.setAttribute("aria-selected","true"),this.passedElement.triggerEvent(Rt.highlightChoice,{el:R}),this.dropdown.isActive&&(this.input.setActiveDescendant(R.id),this.containerOuter.setActiveDescendant(R.id))}},w._addItem=function(v){var x=v.value,I=v.label,R=I===void 0?null:I,V=v.choiceId,X=V===void 0?-1:V,ae=v.groupId,de=ae===void 0?-1:ae,xe=v.customProperties,ye=xe===void 0?null:xe,Ie=v.placeholder,Oe=Ie===void 0?!1:Ie,Ce=v.keyCode,$e=Ce===void 0?null:Ce,Le=typeof x=="string"?x.trim():x,Re=$e,ft=ye,Ht=this._store.items,zt=R||Le,Mr=X||-1,Ir=de>=0?this._store.getGroupById(de):null,ni=Ht?Ht.length+1:1;return this.config.prependValue&&(Le=this.config.prependValue+Le.toString()),this.config.appendValue&&(Le+=this.config.appendValue.toString()),this._store.dispatch(Ne({value:Le,label:zt,id:ni,choiceId:Mr,groupId:de,customProperties:ye,placeholder:Oe,keyCode:Re})),this._isSelectOneElement&&this.removeActiveItems(ni),this.passedElement.triggerEvent(Rt.addItem,{id:ni,value:Le,label:zt,customProperties:ft,groupValue:Ir&&Ir.value?Ir.value:void 0,keyCode:Re}),this},w._removeItem=function(v){if(!v||!N("Object",v))return this;var x=v.id,I=v.value,R=v.label,V=v.choiceId,X=v.groupId,ae=X>=0?this._store.getGroupById(X):null;return this._store.dispatch(Me(x,V)),ae&&ae.value?this.passedElement.triggerEvent(Rt.removeItem,{id:x,value:I,label:R,groupValue:ae.value}):this.passedElement.triggerEvent(Rt.removeItem,{id:x,value:I,label:R}),this},w._addChoice=function(v){var x=v.value,I=v.label,R=I===void 0?null:I,V=v.isSelected,X=V===void 0?!1:V,ae=v.isDisabled,de=ae===void 0?!1:ae,xe=v.groupId,ye=xe===void 0?-1:xe,Ie=v.customProperties,Oe=Ie===void 0?null:Ie,Ce=v.placeholder,$e=Ce===void 0?!1:Ce,Le=v.keyCode,Re=Le===void 0?null:Le;if(!(typeof x=="undefined"||x===null)){var ft=this._store.choices,Ht=R||x,zt=ft?ft.length+1:1,Mr=this._baseId+"-"+this._idNames.itemChoice+"-"+zt;this._store.dispatch(re({id:zt,groupId:ye,elementId:Mr,value:x,label:Ht,disabled:de,customProperties:Oe,placeholder:$e,keyCode:Re})),X&&this._addItem({value:x,label:Ht,choiceId:zt,customProperties:Oe,placeholder:$e,keyCode:Re})}},w._addGroup=function(v){var x=this,I=v.group,R=v.id,V=v.valueKey,X=V===void 0?"value":V,ae=v.labelKey,de=ae===void 0?"label":ae,xe=N("Object",I)?I.choices:Array.from(I.getElementsByTagName("OPTION")),ye=R||Math.floor(new Date().valueOf()*Math.random()),Ie=I.disabled?I.disabled:!1;if(xe){this._store.dispatch(bt({value:I.label,id:ye,active:!0,disabled:Ie}));var Oe=function($e){var Le=$e.disabled||$e.parentNode&&$e.parentNode.disabled;x._addChoice({value:$e[X],label:N("Object",$e)?$e[de]:$e.innerHTML,isSelected:$e.selected,isDisabled:Le,groupId:ye,customProperties:$e.customProperties,placeholder:$e.placeholder})};xe.forEach(Oe)}else this._store.dispatch(bt({value:I.label,id:I.id,active:!1,disabled:I.disabled}))},w._getTemplate=function(v){var x;if(!v)return null;for(var I=this.config.classNames,R=arguments.length,V=new Array(R>1?R-1:0),X=1;X{m();(function(e,t){typeof sl=="object"&&typeof Nw!="undefined"?t(sl):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.immutableJSONPatch={}))})(sl,function(e){"use strict";function t(W){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?t=function(q){return typeof q}:t=function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q},t(W)}function r(W,j){return JSON.stringify(W)===JSON.stringify(j)}function n(W,j){return W===j}function i(W){return W.slice(0,W.length-1)}function a(W){return W[W.length-1]}function o(W,j){var q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n;if(W.length3&&arguments[3]!==void 0?arguments[3]:!1;if(j.length===0)return q;var we=j[0],ke=y(W?W[we]:void 0,j.slice(1),q,te);if(!s(W))if(te){var Ue=typeof we=="number"?[]:{};return Ue[we]=ke,Ue}else throw new Error("Path does not exist");return p(W,we,ke)}function b(W,j,q){if(j.length===0)return q(W);if(!s(W))throw new Error("Path doesn't exist");var te=j[0],we=b(W[te],j.slice(1),q);return p(W,te,we)}function k(W,j){if(j.length===0)return W;if(!s(W))throw new Error("Path does not exist");if(j.length===1){var q=j[0];if(q in W){var te=f(W);return Array.isArray(te)?te.splice(q,1):delete te[q],te}else return W}var we=j[0],ke=k(W[we],j.slice(1));return p(W,we,ke)}function T(W,j,q){var te=j.slice(0,j.length-1),we=j[j.length-1];return b(W,te,function(ke){if(!Array.isArray(ke))throw new TypeError("Array expected at path "+JSON.stringify(te));var Ue=f(ke);return Ue.splice(we,0,q),Ue})}function C(W,j){return W===void 0?!1:j.length===0?!0:C(W[j[0]],j.slice(1))}function A(W){var j=W.split("/");return j.shift(),j.map(function(q){return q.replace(/~1/g,"/").replace(/~0/g,"~")})}function H(W){return W.map(function(j){return"/"+String(j).replace(/~/g,"~0").replace(/\//g,"~1")}).join("")}function D(W,j,q){for(var te=W,we=0;we{m();(function(){var e;typeof wf!="undefined"?e=wf.exports=n:e=function(){return this||(0,eval)("this")}(),e.format=n,e.vsprintf=r,typeof console!="undefined"&&typeof console.log=="function"&&(e.printf=t);function t(){console.log(n.apply(null,arguments))}function r(i,a){return n.apply(null,[i].concat(a))}function n(i){for(var a=1,o=[].slice.call(arguments),s=0,u=i.length,l="",c,d=!1,f,p,g=!1,y,b=function(){return o[a++]},k=function(){for(var T="";/\d/.test(i[s]);)T+=i[s++],c=i[s];return T.length>0?parseInt(T):null};sTf});m();m();function Il(e,t){let r=Object.keys(t).map(n=>ox(e,n,t[n]));return r.length===1?r[0]:function(){r.forEach(n=>n())}}function ox(e,t,r){let n=e[t],i=e.hasOwnProperty(t),a=r(n);return n&&Object.setPrototypeOf(a,n),Object.setPrototypeOf(o,a),e[t]=o,s;function o(...u){return a===n&&e[t]===o&&s(),a.apply(this,u)}function s(){e[t]===o&&(i?e[t]=n:delete e[t]),a!==n&&(a=n,Object.setPrototypeOf(o,n||Function))}}var Dt=me(require("obsidian"));m();m();Ar();var oi,xt,Al,qf,si=0,Yf=[],lo=[],Jf=fe.__b,Gf=fe.__r,Qf=fe.diffed,Xf=fe.__c,Zf=fe.unmount;function Xi(e,t){fe.__h&&fe.__h(xt,e,si||t),si=0;var r=xt.__H||(xt.__H={__:[],__h:[]});return e>=r.__.length&&r.__.push({__V:lo}),r.__[e]}function sr(e){return si=1,Zi(tp,e)}function Zi(e,t,r){var n=Xi(oi++,2);return n.t=e,n.__c||(n.__=[r?r(t):tp(void 0,t),function(i){var a=n.t(n.__[0],i);n.__[0]!==a&&(n.__=[a,n.__[1]],n.__c.setState({}))}],n.__c=xt),n.__}function Sn(e,t){var r=Xi(oi++,3);!fe.__s&&Pl(r.__H,t)&&(r.__=e,r.u=t,xt.__H.__h.push(r))}function Lr(e,t){var r=Xi(oi++,4);!fe.__s&&Pl(r.__H,t)&&(r.__=e,r.u=t,xt.__h.push(r))}function Xt(e){return si=5,lr(function(){return{current:e}},[])}function co(e,t,r){si=6,Lr(function(){return typeof e=="function"?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},r==null?r:r.concat(e))}function lr(e,t){var r=Xi(oi++,7);return Pl(r.__H,t)?(r.__V=e(),r.u=t,r.__h=e,r.__V):r.__}function cr(e,t){return si=8,lr(function(){return e},t)}function uo(e){var t=xt.context[e.__c],r=Xi(oi++,9);return r.c=e,t?(r.__==null&&(r.__=!0,t.sub(xt)),t.props.value):e.__}function fo(e,t){fe.useDebugValue&&fe.useDebugValue(t?t(e):e)}function sx(){for(var e;e=Yf.shift();)if(e.__P)try{e.__H.__h.forEach(po),e.__H.__h.forEach(Ll),e.__H.__h=[]}catch(t){e.__H.__h=[],fe.__e(t,e.__v)}}fe.__b=function(e){xt=null,Jf&&Jf(e)},fe.__r=function(e){Gf&&Gf(e),oi=0;var t=(xt=e.__c).__H;t&&(Al===xt?(t.__h=[],xt.__h=[],t.__.forEach(function(r){r.__V=lo,r.u=void 0})):(t.__h.forEach(po),t.__h.forEach(Ll),t.__h=[])),Al=xt},fe.diffed=function(e){Qf&&Qf(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Yf.push(t)!==1&&qf===fe.requestAnimationFrame||((qf=fe.requestAnimationFrame)||function(r){var n,i=function(){clearTimeout(a),ep&&cancelAnimationFrame(n),setTimeout(r)},a=setTimeout(i,100);ep&&(n=requestAnimationFrame(i))})(sx)),t.__H.__.forEach(function(r){r.u&&(r.__H=r.u),r.__V!==lo&&(r.__=r.__V),r.u=void 0,r.__V=lo})),Al=xt=null},fe.__c=function(e,t){t.some(function(r){try{r.__h.forEach(po),r.__h=r.__h.filter(function(n){return!n.__||Ll(n)})}catch(n){t.some(function(i){i.__h&&(i.__h=[])}),t=[],fe.__e(n,r.__v)}}),Xf&&Xf(e,t)},fe.unmount=function(e){Zf&&Zf(e);var t,r=e.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{po(n)}catch(i){t=i}}),t&&fe.__e(t,r.__v))};var ep=typeof requestAnimationFrame=="function";function po(e){var t=xt,r=e.__c;typeof r=="function"&&(e.__c=void 0,r()),xt=t}function Ll(e){var t=xt;e.__c=e.__(),xt=t}function Pl(e,t){return!e||e.length!==t.length||t.some(function(r,n){return r!==e[n]})}function tp(e,t){return typeof t=="function"?t(e):t}Ar();Ar();function np(e,t){for(var r in t)e[r]=t[r];return e}function Fl(e,t){for(var r in e)if(r!=="__source"&&!(r in t))return!0;for(var n in t)if(n!=="__source"&&e[n]!==t[n])return!0;return!1}function Nl(e){this.props=e}function lx(e,t){function r(i){var a=this.props.ref,o=a==i.ref;return!o&&a&&(a.call?a(null):a.current=null),t?!t(this.props,i)||!o:Fl(this.props,i)}function n(i){return this.shouldComponentUpdate=r,h(e,i)}return n.displayName="Memo("+(e.displayName||e.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n}(Nl.prototype=new ht).isPureReactComponent=!0,Nl.prototype.shouldComponentUpdate=function(e,t){return Fl(this.props,e)||Fl(this.state,t)};var rp=fe.__b;fe.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),rp&&rp(e)};var cx=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function ux(e){function t(r){var n=np({},r);return delete n.ref,e(n,r.ref||null)}return t.$$typeof=cx,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var ip=function(e,t){return e==null?null:wt(wt(e).map(t))},dx={map:ip,forEach:ip,count:function(e){return e?wt(e).length:0},only:function(e){var t=wt(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:wt},fx=fe.__e;fe.__e=function(e,t,r,n){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e==null&&(t.__e=r.__e,t.__k=r.__k),i.__c(e,t)}fx(e,t,r,n)};var ap=fe.unmount;function ho(){this.__u=0,this.t=null,this.__b=null}function op(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function px(e){var t,r,n;function i(a){if(t||(t=e()).then(function(o){r=o.default||o},function(o){n=o}),n)throw n;if(!r)throw t;return h(r,a)}return i.displayName="Lazy",i.__f=!0,i}function ea(){this.u=null,this.o=null}fe.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),ap&&ap(e)},(ho.prototype=new ht).__c=function(e,t){var r=t.__c,n=this;n.t==null&&(n.t=[]),n.t.push(r);var i=op(n.__v),a=!1,o=function(){a||(a=!0,r.__R=null,i?i(s):s())};r.__R=o;var s=function(){if(!--n.__u){if(n.state.__e){var l=n.state.__e;n.__v.__k[0]=function d(f,p,g){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(y){return d(y,p,g)}),f.__c&&f.__c.__P===p&&(f.__e&&g.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=g)),f}(l,l.__c.__P,l.__c.__O)}var c;for(n.setState({__e:n.__b=null});c=n.t.pop();)c.forceUpdate()}},u=t.__h===!0;n.__u++||u||n.setState({__e:n.__b=n.__v.__k[0]}),e.then(o,o)},ho.prototype.componentWillUnmount=function(){this.t=[]},ho.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function a(o,s,u){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(l){typeof l.__c=="function"&&l.__c()}),o.__c.__H=null),(o=np({},o)).__c!=null&&(o.__c.__P===u&&(o.__c.__P=s),o.__c=null),o.__k=o.__k&&o.__k.map(function(l){return a(l,s,u)})),o}(this.__b,r,n.__O=n.__P)}this.__b=null}var i=t.__e&&h(S,null,e.fallback);return i&&(i.__h=null),[h(S,null,t.__e?null:e.children),i]};var sp=function(e,t,r){if(++r[1]===r[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(r=e.u;r;){for(;r.length>3;)r.pop()();if(r[1]>>1,1),t.i.removeChild(n)}}),kn(h(hx,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function gx(e,t){var r=h(mx,{__v:e,i:t});return r.containerInfo=t,r}(ea.prototype=new ht).__e=function(e){var t=this,r=op(t.__v),n=t.o.get(e);return n[0]++,function(i){var a=function(){t.props.revealOrder?(n.push(i),sp(t,e,n)):i()};r?r(a):a()}},ea.prototype.render=function(e){this.u=null,this.o=new Map;var t=wt(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var r=t.length;r--;)this.o.set(t[r],this.u=[1,0,this.u]);return e.children},ea.prototype.componentDidUpdate=ea.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,r){sp(e,r,t)})};var lp=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,vx=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,yx=typeof document!="undefined",bx=function(e){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function wx(e,t,r){return t.__k==null&&(t.textContent=""),kn(e,t),typeof r=="function"&&r(),e?e.__c:null}function Ex(e,t,r){return Qi(e,t),typeof r=="function"&&r(),e?e.__c:null}ht.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(ht.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var cp=fe.event;function xx(){}function kx(){return this.cancelBubble}function Sx(){return this.defaultPrevented}fe.event=function(e){return cp&&(e=cp(e)),e.persist=xx,e.isPropagationStopped=kx,e.isDefaultPrevented=Sx,e.nativeEvent=e};var up,dp={configurable:!0,get:function(){return this.class}},fp=fe.vnode;fe.vnode=function(e){var t=e.type,r=e.props,n=r;if(typeof t=="string"){var i=t.indexOf("-")===-1;for(var a in n={},r){var o=r[a];yx&&a==="children"&&t==="noscript"||a==="value"&&"defaultValue"in r&&o==null||(a==="defaultValue"&&"value"in r&&r.value==null?a="value":a==="download"&&o===!0?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+t)&&!bx(r.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&vx.test(a)?a=a.replace(/[A-Z0-9]/,"-$&").toLowerCase():o===null&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),n[a]&&(a="oninputCapture")),n[a]=o)}t=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.value.indexOf(s.props.value)!=-1})),t=="select"&&n.defaultValue!=null&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.multiple?n.defaultValue.indexOf(s.props.value)!=-1:n.defaultValue==s.props.value})),e.props=n,r.class!=r.className&&(dp.enumerable="className"in r,r.className!=null&&(n.class=r.className),Object.defineProperty(n,"className",dp))}e.$$typeof=lp,fp&&fp(e)};var pp=fe.__r;fe.__r=function(e){pp&&pp(e),up=e.__c};var _x={ReactCurrentDispatcher:{current:{readContext:function(e){return up.__n[e.__c].props.value}}}};function Cx(e){return h.bind(null,e)}function hp(e){return!!e&&e.$$typeof===lp}function Dx(e){return hp(e)?so.apply(null,arguments):e}function Tx(e){return!!e.__k&&(kn(null,e),!0)}function Mx(e){return e&&(e.base||e.nodeType===1&&e)||null}var Ix=function(e,t){return e(t)},Ax=function(e,t){return e(t)};var L={useState:sr,useReducer:Zi,useEffect:Sn,useLayoutEffect:Lr,useRef:Xt,useImperativeHandle:co,useMemo:lr,useCallback:cr,useContext:uo,useDebugValue:fo,version:"17.0.2",Children:dx,render:wx,hydrate:Ex,unmountComponentAtNode:Tx,createPortal:gx,createElement:h,createContext:ai,createFactory:Cx,cloneElement:Dx,createRef:ri,Fragment:S,isValidElement:hp,findDOMNode:Mx,Component:ht,PureComponent:Nl,memo:lx,forwardRef:ux,flushSync:Ax,unstable_batchedUpdates:Ix,StrictMode:S,Suspense:ho,SuspenseList:ea,lazy:px,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:_x};m();function Ze(e){return e.win}function ur(e){return e.doc.body}m();var Ub=me(Et());m();var We=L.createContext(null),go=L.createContext(null);m();var Ip=me(Et()),hr=me(require("obsidian"));m();var Cp=me(kp()),fr=me(Et());m();function Sp(e){return Object.prototype.toString.call(e)==="[object Object]"}function _p(e){var t,r;return Sp(e)===!1?!1:(t=e.constructor,t===void 0?!0:(r=t.prototype,!(Sp(r)===!1||r.hasOwnProperty("isPrototypeOf")===!1)))}m();function Zx(e,t){return e.length!==t.length?!1:e.every((r,n,i)=>n===i.length-1?r!==t[n]:r===t[n])}function ek(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}var an;(function(i){i[i.Before=0]="Before",i[i.After=1]="After",i[i.Self=2]="Self",i[i.NotSiblings=3]="NotSiblings"})(an||(an={}));function ra(e,t){if(ek(e,t))return 2;if(!Zx(e,t))return 3;let r=e.length-1;return e[r]=0;n--)r={children:{[e[n]]:r}};return r}function ia(e,t){let r=t;for(let n=e.length-2;n>=0;n--)r={children:{[e[n]]:r}};return r}function Dp(e){return ia(e,{children:{$splice:[[e[e.length-1],1]]}})}function Tp(e,t,r=0){return ia(e,{children:{$splice:[[e[e.length-1]+r,0,...t]]}})}function nk(e,t){return ia(e,{children:{$push:t}})}function rk(e,t){return ia(e,{children:{$unshift:t}})}function aa(e,t,r,n){let i=n?n(mt(e,t)):mt(e,t),o=ra(t,r)===an.After?-1:0,s=Dp(t),u=Tp(r,[i],o),l=(0,Cp.default)(s,u,{isMergeableObject:d=>_p(d)||Array.isArray(d)});return(0,fr.default)(e,l)}function Fr(e,t){return(0,fr.default)(e,Dp(t))}function pr(e,t,r){return(0,fr.default)(e,Tp(t,r))}function Bl(e,t,r){return(0,fr.default)(e,nk(t,r))}function Mp(e,t,r){return(0,fr.default)(e,rk(t,r))}function vo(e,t,r){return(0,fr.default)(e,tk(t,r))}function Kl(e,t,r){return(0,fr.default)(e,ia(t,r))}var $l="kanban-plugin";function ci(){}function B(e){return`${$l}__${e}`}function Ae(e=9){return Math.random().toString(36).slice(2,2+e)}function Ul(e,t,r,n,i){var l,c;let a=mt(e,t.slice(0,-1)),o=mt(r,n.slice(0,-1)),s=(l=a==null?void 0:a.data)==null?void 0:l.shouldMarkItemsComplete,u=(c=o==null?void 0:o.data)==null?void 0:c.shouldMarkItemsComplete;return!s&&!u||u===!!i.data.isComplete?i:(0,Ip.default)(i,{data:{isComplete:{$set:u}}})}function yo(){let e=L.useRef(!1);return{oncompositionstart:()=>{e.current=!0},oncompositionend:()=>{e.current=!1},getShouldIMEBlockAction:()=>e.current}}var ik=/<%/;async function Ap(e,t){let r=t?e.app.vault.getAbstractFileByPath(t):null;if(r&&r instanceof hr.TFile){let n=app.workspace.getActiveViewOfType(hr.MarkdownView);try{(n==null?void 0:n.getMode())!=="source"&&await n.setState({...n.getState(),mode:"source"},{});let{templatesEnabled:i,templaterEnabled:a,templatesPlugin:o,templaterPlugin:s}=Vl(e.app),u=await e.app.vault.read(r);if(i&&a)return ik.test(u)?await s.append_template_to_active_file(r):await o.instance.insertTemplate(r);if(i)return await o.instance.insertTemplate(r);if(a)return await s.append_template_to_active_file(r);await e.app.vault.modify(e.app.workspace.getActiveFile(),u)}catch(i){console.error(i),e.setError(i)}}}function Nr(e){var s,u,l,c,d;let t=e.internalPlugins.plugins,r=(s=t["daily-notes"])==null?void 0:s.enabled,n=(u=t["daily-notes"])==null?void 0:u.instance.options.format,i=(l=e.plugins.plugins["nldates-obsidian"])==null?void 0:l.settings.format,a=(c=t.templates)==null?void 0:c.enabled,o=(d=t.templates)==null?void 0:d.instance.options.dateFormat;return r&&n||i||a&&o||"YYYY-MM-DD"}function ui(e){var a,o,s;let t=e.internalPlugins.plugins,r=(a=e.plugins.plugins["nldates-obsidian"])==null?void 0:a.settings.timeFormat,n=(o=t.templates)==null?void 0:o.enabled,i=(s=t.templates)==null?void 0:s.instance.options.timeFormat;return r||n&&i||"HH:mm"}var Lp=/[\\^$.*+?()[\]{}|]/g,ak=RegExp(Lp.source);function Ln(e){return e&&ak.test(e)?e.replace(Lp,"\\$&"):e||""}function Vl(e){var s;let t=e.internalPlugins.plugins.templates,r=t.enabled,n=e.plugins.plugins["templater-obsidian"],i=e.plugins.enabledPlugins.has("templater-obsidian"),a=n&&((s=this.app.plugins.plugins["templater-obsidian"].settings)==null?void 0:s.empty_file_template),o=r?t.instance.options.folder:n?n.settings.template_folder:void 0;return{templatesPlugin:t,templatesEnabled:r,templaterPlugin:n==null?void 0:n.templater,templaterEnabled:i,templaterEmptyFileTemplate:a,templateFolder:o}}function bo(e){let r=(e.getSetting("tag-colors")||[]).reduce((n,i)=>(i.tagKey&&(n[i.tagKey]=i),n),{});return n=>r[n]?r[n]:null}function wo(e){let r=(e.getSetting("date-colors")||[]).map(i=>{if(i.isToday)return["today",i];if(i.isBefore)return["before",i];if(i.isAfter)return["after",i];let a=i.direction==="after"?1:-1,o=(0,hr.moment)();return o.add(i.distance*a,i.unit),[o,i]}),n=(0,hr.moment)();return r.sort((i,a)=>i[0]==="today"?typeof a[0]=="string"?-1:a[0].isSame(n,"day")?1:-1:a[0]==="today"?typeof i[0]=="string"?1:i[0].isSame(n,"day")?-1:1:i[0]==="after"||i[0]==="before"?1:a[0]==="after"||a[0]==="before"||i[0].isBefore(a[0])?-1:1),i=>{let a=(0,hr.moment)(),o=r.find(s=>{let u=s[1];if(u.isToday)return i.isSame(a,"day");if(u.isAfter)return i.isAfter(a);if(u.isBefore)return i.isBefore(a);let l="days";return u.unit==="hours"&&(l="hours"),u.direction==="before"?i.isBetween(s[0],a,l,"[]"):i.isBetween(a,s[0],l,"[]")});return o?o[1]:null}}m();m();function et(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,n;r{n.has(t)&&(n.delete(t),n.size===0&&r.push(i))}),r.forEach(n=>{this.idScopes.delete(n),this.scrollStates.delete(n)})}};var kt=L.createContext(null),mr=L.createContext(""),sa=L.createContext(null),la=L.createContext(new oa),Eo=L.createContext(null),xo=L.createContext(null);m();m();m();var Pp={bottom:0,height:0,left:0,right:0,top:0,width:0,x:0,y:0,toJSON(){}},Fp=[0,0,0,0];function Xe(e){return e===void 0?0:e}function ko(e,t,r,n){return[e.left+Xe(t==null?void 0:t.x)+Xe(r==null?void 0:r.x)-Xe(n==null?void 0:n.x),e.top+Xe(t==null?void 0:t.y)+Xe(r==null?void 0:r.y)-Xe(n==null?void 0:n.y),e.left+e.width+Xe(t==null?void 0:t.x)+Xe(r==null?void 0:r.x)-Xe(n==null?void 0:n.x),e.top+e.height+Xe(t==null?void 0:t.y)+Xe(r==null?void 0:r.y)-Xe(n==null?void 0:n.y)]}function Wl(e,t,r,n){let i=ko(e,t,r,null);return n==="top"?(i[3]=i[1]+35,i):n==="right"?(i[0]=i[0]+e.width-35,i):n==="bottom"?(i[1]=i[1]+e.height-35,i):(i[2]=i[0]+35,i)}function So(e,t,r,n,i,a){return[e-Xe(i==null?void 0:i.x)-Xe(a==null?void 0:a.x),t-Xe(i==null?void 0:i.y)-Xe(a==null?void 0:a.y),r-Xe(i==null?void 0:i.x)-Xe(a==null?void 0:a.x),n-Xe(i==null?void 0:i.y)-Xe(a==null?void 0:a.y)]}var ok=e=>sk(e,(t,r)=>t{if(o.entityId===r)return 1/0;let s=o.getHitbox(),u=Op(s)[0],l=lk(t),c=o.getData().sortAxis==="horizontal"?"x":"y",d=l[c]>n[c]?1e3:0;return di(u,n)+d}),a=ok(i);return e[a]?e[a]:null}function jl(e){let{scrollLeft:t,scrollTop:r,scrollWidth:n,scrollHeight:i,offsetWidth:a,offsetHeight:o}=e,s=t,u=r,l=n-a,c=i-o;return{x:s,y:u,maxX:Math.max(l,0),maxY:Math.max(c,0)}}function Rp(e,t,r){let n=Math.trunc((r.x-t.x)*100)/100,i=Math.trunc((r.y-t.y)*100)/100;return[e[0]+n,e[1]+i,e[2]+n,e[3]+i]}function ql(e,t=[0,0,0,0]){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]+t[2],o=e[3]+t[3]-n;return{width:i-r,height:o}}var Yl=class{constructor(t,r,n,i,a,o,s,u,l,c){this.isVisible=!1;this.id=n,this.instanceId=Ae(),this.scopeId=r,this.entityId=`${r}-${n}`,this.dndManager=t,this.index=i,this.children=new Map,this.parent=a,this.scrollParent=o,this.getEntityData=c,this.sortManager=s,this.pollForNodes(u,l)}pollForNodes(t,r){!t()||!r()?this.dndManager.win.requestAnimationFrame(()=>this.pollForNodes(t,r)):this.initNodes(t(),r())}initNodes(t,r){var n,i;if(this.entityNode=t,this.measureNode=r,r.dataset.hitboxid=this.entityId,(n=this.sortManager)==null||n.registerSortable(this.entityId,this.getEntity(Pp),t,r),this.scrollParent)this.scrollParent.registerObserverHandler(this.entityId,r,a=>{var s,u;let o=Ze(a.target);if(a.isIntersecting){let l=this.getEntity(a.boundingClientRect);(s=this.parent)==null||s.children.set(this.entityId,{entity:l,manager:this}),this.dndManager.observeResize(r),(!this.parent||this.parent.isVisible)&&(this.dndManager.registerHitboxEntity(this.entityId,l,o),this.children.forEach((c,d)=>{this.dndManager.registerHitboxEntity(d,c.entity,o)}),this.setVisibility(!0))}else this.dndManager.unregisterHitboxEntity(this.entityId,o),this.children.forEach((l,c)=>{this.dndManager.unregisterHitboxEntity(c,o)}),(u=this.parent)==null||u.children.delete(this.entityId),this.dndManager.unobserveResize(r),this.setVisibility(!1)});else{let a=this.getEntity(r.getBoundingClientRect());this.dndManager.observeResize(r),this.dndManager.registerHitboxEntity(this.entityId,a,Ze(t)),(i=this.parent)==null||i.children.set(this.entityId,{entity:a,manager:this}),this.setVisibility(!0)}}setVisibility(t){this.isVisible=t,this.children.forEach(r=>{r.manager.setVisibility(t)})}destroy(){var t,r,n;this.dndManager.unobserveResize(this.measureNode),(t=this.sortManager)==null||t.unregisterSortable(this.entityId),(r=this.scrollParent)==null||r.unregisterObserverHandler(this.entityId,this.measureNode),this.entityNode&&this.dndManager.unregisterHitboxEntity(this.entityId,Ze(this.entityNode)),(n=this.parent)==null||n.children.delete(this.entityId)}getPath(){var t;return[...((t=this.parent)==null?void 0:t.getPath())||[],this.index]}getEntity(t){var n,i;let r=this;return{scopeId:this.scopeId,entityId:this.entityId,initial:ko(t,((n=r.scrollParent)==null?void 0:n.scrollState)||on,((i=r.scrollParent)==null?void 0:i.getScrollShift())||Pn,null),getParentScrollState(){var a;return((a=r.scrollParent)==null?void 0:a.scrollState)||on},getParentScrollShift(){var a;return((a=r.scrollParent)==null?void 0:a.getScrollShift())||Pn},recalcInitial(){var a,o;this.initial=ko(r.measureNode.getBoundingClientRect(),((a=r.scrollParent)==null?void 0:a.scrollState)||on,((o=r.scrollParent)==null?void 0:o.getScrollShift())||Pn,null)},getHitbox(){return So(this.initial[0],this.initial[1],this.initial[2],this.initial[3],this.getParentScrollState(),this.getParentScrollShift())},getPath(){return r.getPath()},getData(){var a;return{...r.getEntityData(),sortAxis:(a=r.sortManager)==null?void 0:a.axis,win:Ze(r.measureNode)}}}}};var gr=L.memo(function({id:t,index:r,elementRef:n,measureRef:i,children:a,data:o}){let s=L.useContext(kt),u=L.useContext(Eo),l=L.useContext(mr),c=L.useContext(xo),d=L.useContext(sa),f=L.useRef(o),p=L.useRef();f.current=o;let g=L.useMemo(()=>{if(s){p.current&&p.current.destroy();let y=new Yl(s,l,t,r,c,d,u,()=>n.current,()=>i.current,()=>f.current);return p.current=y,y}return null},[t,r,s,l,c,d,u]);return L.useEffect(()=>()=>{var y;return(y=p.current)==null?void 0:y.destroy()},[]),g?h(xo.Provider,{value:g},a):null});function Wn(e){let t=L.useContext(xo),r=(t==null?void 0:t.getPath())||[];return e!==void 0&&r.push(e),L.useMemo(()=>r,r)}m();var Fu=me(Jh());m();m();m();m();var ym=me(vm()),{__extends:WM,__assign:zM,__rest:jM,__decorate:qM,__param:YM,__metadata:JM,__awaiter:Ei,__generator:xi,__exportStar:GM,__createBinding:QM,__values:XM,__read:ZM,__spread:bm,__spreadArrays:eI,__spreadArray:tI,__await:nI,__asyncGenerator:rI,__asyncDelegator:iI,__asyncValues:aI,__makeTemplateObject:oI,__importStar:sI,__importDefault:lI,__classPrivateFieldGet:cI,__classPrivateFieldSet:uI,__classPrivateFieldIn:dI}=ym.default;m();var _0=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function ma(e,t){var r=C0(e);if(typeof r.path!="string"){var n=e.webkitRelativePath;Object.defineProperty(r,"path",{value:typeof t=="string"?t:typeof n=="string"&&n.length>0?n:e.name,writable:!1,configurable:!1,enumerable:!0})}return r}function C0(e){var t=e.name,r=t&&t.lastIndexOf(".")!==-1;if(r&&!e.type){var n=t.split(".").pop().toLowerCase(),i=_0.get(n);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}var D0=[".DS_Store","Thumbs.db"];function hc(e){return Ei(this,void 0,void 0,function(){return xi(this,function(t){return[2,T0(e)&&e.dataTransfer?A0(e.dataTransfer,e.type):M0(e)]})})}function T0(e){return!!e.dataTransfer}function M0(e){var t=I0(e.target)?e.target.files?mc(e.target.files):[]:[];return t.map(function(r){return ma(r)})}function I0(e){return e!==null}function A0(e,t){return Ei(this,void 0,void 0,function(){var r,n;return xi(this,function(i){switch(i.label){case 0:return e.items?(r=mc(e.items).filter(function(a){return a.kind==="file"}),t!=="drop"?[2,r]:[4,Promise.all(r.map(L0))]):[3,2];case 1:return n=i.sent(),[2,wm(Em(n))];case 2:return[2,wm(mc(e.files).map(function(a){return ma(a)}))]}})})}function wm(e){return e.filter(function(t){return D0.indexOf(t.name)===-1})}function mc(e){for(var t=[],r=0;r".",rangeSeparator:" - ",weekAbbreviation:"Hf",scrollTitle:"Art\u0131rmaq \xFC\xE7\xFCn s\xFCr\xFC\u015Fd\xFCr\xFCn",toggleTitle:"A\xE7 / Ba\u011Fla",amPM:["G\u018F","GS"],time_24hr:!0};qm.l10ns.az=xc;var CI=qm.l10ns;m();var Ym=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},kc={weekdays:{shorthand:["\u041D\u0434","\u041F\u043D","\u0410\u045E","\u0421\u0440","\u0427\u0446","\u041F\u0442","\u0421\u0431"],longhand:["\u041D\u044F\u0434\u0437\u0435\u043B\u044F","\u041F\u0430\u043D\u044F\u0434\u0437\u0435\u043B\u0430\u043A","\u0410\u045E\u0442\u043E\u0440\u0430\u043A","\u0421\u0435\u0440\u0430\u0434\u0430","\u0427\u0430\u0446\u0432\u0435\u0440","\u041F\u044F\u0442\u043D\u0456\u0446\u0430","\u0421\u0443\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u0421\u0442\u0443","\u041B\u044E\u0442","\u0421\u0430\u043A","\u041A\u0440\u0430","\u0422\u0440\u0430","\u0427\u044D\u0440","\u041B\u0456\u043F","\u0416\u043D\u0456","\u0412\u0435\u0440","\u041A\u0430\u0441","\u041B\u0456\u0441","\u0421\u043D\u0435"],longhand:["\u0421\u0442\u0443\u0434\u0437\u0435\u043D\u044C","\u041B\u044E\u0442\u044B","\u0421\u0430\u043A\u0430\u0432\u0456\u043A","\u041A\u0440\u0430\u0441\u0430\u0432\u0456\u043A","\u0422\u0440\u0430\u0432\u0435\u043D\u044C","\u0427\u044D\u0440\u0432\u0435\u043D\u044C","\u041B\u0456\u043F\u0435\u043D\u044C","\u0416\u043D\u0456\u0432\u0435\u043D\u044C","\u0412\u0435\u0440\u0430\u0441\u0435\u043D\u044C","\u041A\u0430\u0441\u0442\u0440\u044B\u0447\u043D\u0456\u043A","\u041B\u0456\u0441\u0442\u0430\u043F\u0430\u0434","\u0421\u043D\u0435\u0436\u0430\u043D\u044C"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u0422\u044B\u0434.",scrollTitle:"\u041F\u0440\u0430\u043A\u0440\u0443\u0446\u0456\u0446\u0435 \u0434\u043B\u044F \u043F\u0430\u0432\u0435\u043B\u0456\u0447\u044D\u043D\u043D\u044F",toggleTitle:"\u041D\u0430\u0446\u0456\u0441\u043D\u0456\u0446\u0435 \u0434\u043B\u044F \u043F\u0435\u0440\u0430\u043A\u043B\u044E\u0447\u044D\u043D\u043D\u044F",amPM:["\u0414\u041F","\u041F\u041F"],yearAriaLabel:"\u0413\u043E\u0434",time_24hr:!0};Ym.l10ns.be=kc;var TI=Ym.l10ns;m();var Jm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Sc={weekdays:{shorthand:["\u041D\u0434","\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431"],longhand:["\u041D\u0435\u0434\u0435\u043B\u044F","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u044F\u0434\u0430","\u0427\u0435\u0442\u0432\u044A\u0440\u0442\u044A\u043A","\u041F\u0435\u0442\u044A\u043A","\u0421\u044A\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u042F\u043D\u0443","\u0424\u0435\u0432","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440","\u041C\u0430\u0439","\u042E\u043D\u0438","\u042E\u043B\u0438","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0435","\u0414\u0435\u043A"],longhand:["\u042F\u043D\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0439","\u042E\u043D\u0438","\u042E\u043B\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438","\u041E\u043A\u0442\u043E\u043C\u0432\u0440\u0438","\u041D\u043E\u0435\u043C\u0432\u0440\u0438","\u0414\u0435\u043A\u0435\u043C\u0432\u0440\u0438"]},time_24hr:!0,firstDayOfWeek:1};Jm.l10ns.bg=Sc;var II=Jm.l10ns;m();var Gm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},_c={weekdays:{shorthand:["\u09B0\u09AC\u09BF","\u09B8\u09CB\u09AE","\u09AE\u0999\u09CD\u0997\u09B2","\u09AC\u09C1\u09A7","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF","\u09B6\u09C1\u0995\u09CD\u09B0","\u09B6\u09A8\u09BF"],longhand:["\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0","\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0","\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0","\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0","\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0","\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"]},months:{shorthand:["\u099C\u09BE\u09A8\u09C1","\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1","\u09AE\u09BE\u09B0\u09CD\u099A","\u098F\u09AA\u09CD\u09B0\u09BF\u09B2","\u09AE\u09C7","\u099C\u09C1\u09A8","\u099C\u09C1\u09B2\u09BE\u0987","\u0986\u0997","\u09B8\u09C7\u09AA\u09CD\u099F\u09C7","\u0985\u0995\u09CD\u099F\u09CB","\u09A8\u09AD\u09C7","\u09A1\u09BF\u09B8\u09C7"],longhand:["\u099C\u09BE\u09A8\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0","\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0","\u09AE\u09BE\u09B0\u09CD\u099A","\u098F\u09AA\u09CD\u09B0\u09BF\u09B2","\u09AE\u09C7","\u099C\u09C1\u09A8","\u099C\u09C1\u09B2\u09BE\u0987","\u0986\u0997\u09B8\u09CD\u099F","\u09B8\u09C7\u09AA\u09CD\u099F\u09C7\u09AE\u09CD\u09AC\u09B0","\u0985\u0995\u09CD\u099F\u09CB\u09AC\u09B0","\u09A8\u09AD\u09C7\u09AE\u09CD\u09AC\u09B0","\u09A1\u09BF\u09B8\u09C7\u09AE\u09CD\u09AC\u09B0"]}};Gm.l10ns.bn=_c;var LI=Gm.l10ns;m();var Qm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Cc={firstDayOfWeek:1,weekdays:{shorthand:["Ned","Pon","Uto","Sri","\u010Cet","Pet","Sub"],longhand:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010Cetvrtak","Petak","Subota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],longhand:["Januar","Februar","Mart","April","Maj","Juni","Juli","Avgust","Septembar","Oktobar","Novembar","Decembar"]},time_24hr:!0};Qm.l10ns.bs=Cc;var FI=Qm.l10ns;m();var Dc=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Go={weekdays:{shorthand:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],longhand:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},months:{shorthand:["Gen","Febr","Mar\xE7","Abr","Maig","Juny","Jul","Ag","Set","Oct","Nov","Des"],longhand:["Gener","Febrer","Mar\xE7","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"]},ordinal:e=>{let t=e%100;if(t>3&&t<21)return"\xE8";switch(t%10){case 1:return"r";case 2:return"n";case 3:return"r";case 4:return"t";default:return"\xE8"}},firstDayOfWeek:1,rangeSeparator:" a ",time_24hr:!0};Dc.l10ns.cat=Dc.l10ns.ca=Go;var OI=Dc.l10ns;m();var Xm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Tc={weekdays:{shorthand:["\u06CC\u06D5\u06A9\u0634\u06D5\u0645\u0645\u06D5","\u062F\u0648\u0648\u0634\u06D5\u0645\u0645\u06D5","\u0633\u06CE\u0634\u06D5\u0645\u0645\u06D5","\u0686\u0648\u0627\u0631\u0634\u06D5\u0645\u0645\u06D5","\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645\u0645\u06D5","\u0647\u06D5\u06CC\u0646\u06CC","\u0634\u06D5\u0645\u0645\u06D5"],longhand:["\u06CC\u06D5\u06A9\u0634\u06D5\u0645\u0645\u06D5","\u062F\u0648\u0648\u0634\u06D5\u0645\u0645\u06D5","\u0633\u06CE\u0634\u06D5\u0645\u0645\u06D5","\u0686\u0648\u0627\u0631\u0634\u06D5\u0645\u0645\u06D5","\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645\u0645\u06D5","\u0647\u06D5\u06CC\u0646\u06CC","\u0634\u06D5\u0645\u0645\u06D5"]},months:{shorthand:["\u0695\u06CE\u0628\u06D5\u0646\u062F\u0627\u0646","\u0695\u06D5\u0634\u06D5\u0645\u06D5","\u0646\u06D5\u0648\u0631\u06C6\u0632","\u06AF\u0648\u06B5\u0627\u0646","\u062C\u06C6\u0632\u06D5\u0631\u062F\u0627\u0646","\u067E\u0648\u0648\u0634\u067E\u06D5\u0695","\u06AF\u06D5\u0644\u0627\u0648\u06CE\u0698","\u062E\u06D5\u0631\u0645\u0627\u0646\u0627\u0646","\u0695\u06D5\u0632\u0628\u06D5\u0631","\u06AF\u06D5\u06B5\u0627\u0695\u06CE\u0632\u0627\u0646","\u0633\u06D5\u0631\u0645\u0627\u0648\u06D5\u0632","\u0628\u06D5\u0641\u0631\u0627\u0646\u0628\u0627\u0631"],longhand:["\u0695\u06CE\u0628\u06D5\u0646\u062F\u0627\u0646","\u0695\u06D5\u0634\u06D5\u0645\u06D5","\u0646\u06D5\u0648\u0631\u06C6\u0632","\u06AF\u0648\u06B5\u0627\u0646","\u062C\u06C6\u0632\u06D5\u0631\u062F\u0627\u0646","\u067E\u0648\u0648\u0634\u067E\u06D5\u0695","\u06AF\u06D5\u0644\u0627\u0648\u06CE\u0698","\u062E\u06D5\u0631\u0645\u0627\u0646\u0627\u0646","\u0695\u06D5\u0632\u0628\u06D5\u0631","\u06AF\u06D5\u06B5\u0627\u0695\u06CE\u0632\u0627\u0646","\u0633\u06D5\u0631\u0645\u0627\u0648\u06D5\u0632","\u0628\u06D5\u0641\u0631\u0627\u0646\u0628\u0627\u0631"]},firstDayOfWeek:6,ordinal:()=>""};Xm.l10ns.ckb=Tc;var HI=Xm.l10ns;m();var Zm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Mc={weekdays:{shorthand:["Ne","Po","\xDAt","St","\u010Ct","P\xE1","So"],longhand:["Ned\u011Ble","Pond\u011Bl\xED","\xDAter\xFD","St\u0159eda","\u010Ctvrtek","P\xE1tek","Sobota"]},months:{shorthand:["Led","\xDAn","B\u0159e","Dub","Kv\u011B","\u010Cer","\u010Cvc","Srp","Z\xE1\u0159","\u0158\xEDj","Lis","Pro"],longhand:["Leden","\xDAnor","B\u0159ezen","Duben","Kv\u011Bten","\u010Cerven","\u010Cervenec","Srpen","Z\xE1\u0159\xED","\u0158\xEDjen","Listopad","Prosinec"]},firstDayOfWeek:1,ordinal:function(){return"."},rangeSeparator:" do ",weekAbbreviation:"T\xFDd.",scrollTitle:"Rolujte pro zm\u011Bnu",toggleTitle:"P\u0159epnout dopoledne/odpoledne",amPM:["dop.","odp."],yearAriaLabel:"Rok",time_24hr:!0};Zm.l10ns.cs=Mc;var KI=Zm.l10ns;m();var eg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Ic={weekdays:{shorthand:["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"],longhand:["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"]},months:{shorthand:["Ion","Chwef","Maw","Ebr","Mai","Meh","Gorff","Awst","Medi","Hyd","Tach","Rhag"],longhand:["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"]},firstDayOfWeek:1,ordinal:e=>e===1?"af":e===2?"ail":e===3||e===4?"ydd":e===5||e===6?"ed":e>=7&&e<=10||e==12||e==15||e==18||e==20?"fed":e==11||e==13||e==14||e==16||e==17||e==19?"eg":e>=21&&e<=39?"ain":"",time_24hr:!0};eg.l10ns.cy=Ic;var UI=eg.l10ns;m();var tg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Ac={weekdays:{shorthand:["s\xF8n","man","tir","ons","tors","fre","l\xF8r"],longhand:["s\xF8ndag","mandag","tirsdag","onsdag","torsdag","fredag","l\xF8rdag"]},months:{shorthand:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],longhand:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"]},ordinal:()=>".",firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"uge",time_24hr:!0};tg.l10ns.da=Ac;var WI=tg.l10ns;m();var ng=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Lc={weekdays:{shorthand:["So","Mo","Di","Mi","Do","Fr","Sa"],longhand:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},months:{shorthand:["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],longhand:["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},firstDayOfWeek:1,weekAbbreviation:"KW",rangeSeparator:" bis ",scrollTitle:"Zum \xC4ndern scrollen",toggleTitle:"Zum Umschalten klicken",time_24hr:!0};ng.l10ns.de=Lc;var jI=ng.l10ns;m();var Ur={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:e=>{let t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},Qo=Ur;m();var rg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Pc={firstDayOfWeek:1,rangeSeparator:" \u011Dis ",weekAbbreviation:"Sem",scrollTitle:"Rulumu por pligrandigi la valoron",toggleTitle:"Klaku por \u015Dalti",weekdays:{shorthand:["Dim","Lun","Mar","Mer","\u0134a\u016D","Ven","Sab"],longhand:["diman\u0109o","lundo","mardo","merkredo","\u0135a\u016Ddo","vendredo","sabato"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","A\u016Dg","Sep","Okt","Nov","Dec"],longhand:["januaro","februaro","marto","aprilo","majo","junio","julio","a\u016Dgusto","septembro","oktobro","novembro","decembro"]},ordinal:()=>"-a",time_24hr:!0};rg.l10ns.eo=Pc;var JI=rg.l10ns;m();var ig=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Fc={weekdays:{shorthand:["Dom","Lun","Mar","Mi\xE9","Jue","Vie","S\xE1b"],longhand:["Domingo","Lunes","Martes","Mi\xE9rcoles","Jueves","Viernes","S\xE1bado"]},months:{shorthand:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],longhand:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]},ordinal:()=>"\xBA",firstDayOfWeek:1,rangeSeparator:" a ",time_24hr:!0};ig.l10ns.es=Fc;var QI=ig.l10ns;m();var ag=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Nc={weekdays:{shorthand:["P","E","T","K","N","R","L"],longhand:["P\xFChap\xE4ev","Esmasp\xE4ev","Teisip\xE4ev","Kolmap\xE4ev","Neljap\xE4ev","Reede","Laup\xE4ev"]},months:{shorthand:["Jaan","Veebr","M\xE4rts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],longhand:["Jaanuar","Veebruar","M\xE4rts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"]},firstDayOfWeek:1,ordinal:function(){return"."},weekAbbreviation:"N\xE4d",rangeSeparator:" kuni ",scrollTitle:"Keri, et suurendada",toggleTitle:"Kl\xF5psa, et vahetada",time_24hr:!0};ag.l10ns.et=Nc;var ZI=ag.l10ns;m();var og=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Oc={weekdays:{shorthand:["\u06CC\u06A9","\u062F\u0648","\u0633\u0647","\u0686\u0647\u0627\u0631","\u067E\u0646\u062C","\u062C\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"],longhand:["\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647","\u062F\u0648\u0634\u0646\u0628\u0647","\u0633\u0647\u200C\u0634\u0646\u0628\u0647","\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647","\u067E\u0646\u0686\u200C\u0634\u0646\u0628\u0647","\u062C\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"]},months:{shorthand:["\u0698\u0627\u0646\u0648\u06CC\u0647","\u0641\u0648\u0631\u06CC\u0647","\u0645\u0627\u0631\u0633","\u0622\u0648\u0631\u06CC\u0644","\u0645\u0647","\u0698\u0648\u0626\u0646","\u0698\u0648\u0626\u06CC\u0647","\u0627\u0648\u062A","\u0633\u067E\u062A\u0627\u0645\u0628\u0631","\u0627\u06A9\u062A\u0628\u0631","\u0646\u0648\u0627\u0645\u0628\u0631","\u062F\u0633\u0627\u0645\u0628\u0631"],longhand:["\u0698\u0627\u0646\u0648\u06CC\u0647","\u0641\u0648\u0631\u06CC\u0647","\u0645\u0627\u0631\u0633","\u0622\u0648\u0631\u06CC\u0644","\u0645\u0647","\u0698\u0648\u0626\u0646","\u0698\u0648\u0626\u06CC\u0647","\u0627\u0648\u062A","\u0633\u067E\u062A\u0627\u0645\u0628\u0631","\u0627\u06A9\u062A\u0628\u0631","\u0646\u0648\u0627\u0645\u0628\u0631","\u062F\u0633\u0627\u0645\u0628\u0631"]},firstDayOfWeek:6,ordinal:()=>""};og.l10ns.fa=Oc;var tA=og.l10ns;m();var sg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Rc={firstDayOfWeek:1,weekdays:{shorthand:["su","ma","ti","ke","to","pe","la"],longhand:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},months:{shorthand:["tammi","helmi","maalis","huhti","touko","kes\xE4","hein\xE4","elo","syys","loka","marras","joulu"],longhand:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kes\xE4kuu","hein\xE4kuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"]},ordinal:()=>".",time_24hr:!0};sg.l10ns.fi=Rc;var rA=sg.l10ns;m();var lg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Hc={weekdays:{shorthand:["Sun","M\xE1n","T\xFDs","Mik","H\xF3s","Fr\xED","Ley"],longhand:["Sunnudagur","M\xE1nadagur","T\xFDsdagur","Mikudagur","H\xF3sdagur","Fr\xEDggjadagur","Leygardagur"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],longhand:["Januar","Februar","Mars","Apr\xEDl","Mai","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"]},ordinal:()=>".",firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"vika",scrollTitle:"Rulla fyri at broyta",toggleTitle:"Tr\xFDst fyri at skifta",yearAriaLabel:"\xC1r",time_24hr:!0};lg.l10ns.fo=Hc;var aA=lg.l10ns;m();var cg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Bc={firstDayOfWeek:1,weekdays:{shorthand:["dim","lun","mar","mer","jeu","ven","sam"],longhand:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},months:{shorthand:["janv","f\xE9vr","mars","avr","mai","juin","juil","ao\xFBt","sept","oct","nov","d\xE9c"],longhand:["janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"]},ordinal:e=>e>1?"":"er",rangeSeparator:" au ",weekAbbreviation:"Sem",scrollTitle:"D\xE9filer pour augmenter la valeur",toggleTitle:"Cliquer pour basculer",time_24hr:!0};cg.l10ns.fr=Bc;var sA=cg.l10ns;m();var ug=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Kc={weekdays:{shorthand:["\u039A\u03C5","\u0394\u03B5","\u03A4\u03C1","\u03A4\u03B5","\u03A0\u03AD","\u03A0\u03B1","\u03A3\u03AC"],longhand:["\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE","\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1","\u03A4\u03C1\u03AF\u03C4\u03B7","\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7","\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7","\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE","\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF"]},months:{shorthand:["\u0399\u03B1\u03BD","\u03A6\u03B5\u03B2","\u039C\u03AC\u03C1","\u0391\u03C0\u03C1","\u039C\u03AC\u03B9","\u0399\u03BF\u03CD\u03BD","\u0399\u03BF\u03CD\u03BB","\u0391\u03CD\u03B3","\u03A3\u03B5\u03C0","\u039F\u03BA\u03C4","\u039D\u03BF\u03AD","\u0394\u03B5\u03BA"],longhand:["\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2","\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2","\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2","\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2","\u039C\u03AC\u03B9\u03BF\u03C2","\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2","\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2","\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2","\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2","\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2","\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2","\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2"]},firstDayOfWeek:1,ordinal:function(){return""},weekAbbreviation:"\u0395\u03B2\u03B4",rangeSeparator:" \u03AD\u03C9\u03C2 ",scrollTitle:"\u039C\u03B5\u03C4\u03B1\u03BA\u03C5\u03BB\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03C0\u03C1\u03BF\u03C3\u03B1\u03CD\u03BE\u03B7\u03C3\u03B7",toggleTitle:"\u039A\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03B3\u03B9\u03B1 \u03B1\u03BB\u03BB\u03B1\u03B3\u03AE",amPM:["\u03A0\u039C","\u039C\u039C"],yearAriaLabel:"\u03C7\u03C1\u03CC\u03BD\u03BF\u03C2",monthAriaLabel:"\u03BC\u03AE\u03BD\u03B1\u03C2",hourAriaLabel:"\u03CE\u03C1\u03B1",minuteAriaLabel:"\u03BB\u03B5\u03C0\u03C4\u03CC"};ug.l10ns.gr=Kc;var cA=ug.l10ns;m();var dg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},$c={weekdays:{shorthand:["\u05D0","\u05D1","\u05D2","\u05D3","\u05D4","\u05D5","\u05E9"],longhand:["\u05E8\u05D0\u05E9\u05D5\u05DF","\u05E9\u05E0\u05D9","\u05E9\u05DC\u05D9\u05E9\u05D9","\u05E8\u05D1\u05D9\u05E2\u05D9","\u05D7\u05DE\u05D9\u05E9\u05D9","\u05E9\u05D9\u05E9\u05D9","\u05E9\u05D1\u05EA"]},months:{shorthand:["\u05D9\u05E0\u05D5\u05F3","\u05E4\u05D1\u05E8\u05F3","\u05DE\u05E8\u05E5","\u05D0\u05E4\u05E8\u05F3","\u05DE\u05D0\u05D9","\u05D9\u05D5\u05E0\u05D9","\u05D9\u05D5\u05DC\u05D9","\u05D0\u05D5\u05D2\u05F3","\u05E1\u05E4\u05D8\u05F3","\u05D0\u05D5\u05E7\u05F3","\u05E0\u05D5\u05D1\u05F3","\u05D3\u05E6\u05DE\u05F3"],longhand:["\u05D9\u05E0\u05D5\u05D0\u05E8","\u05E4\u05D1\u05E8\u05D5\u05D0\u05E8","\u05DE\u05E8\u05E5","\u05D0\u05E4\u05E8\u05D9\u05DC","\u05DE\u05D0\u05D9","\u05D9\u05D5\u05E0\u05D9","\u05D9\u05D5\u05DC\u05D9","\u05D0\u05D5\u05D2\u05D5\u05E1\u05D8","\u05E1\u05E4\u05D8\u05DE\u05D1\u05E8","\u05D0\u05D5\u05E7\u05D8\u05D5\u05D1\u05E8","\u05E0\u05D5\u05D1\u05DE\u05D1\u05E8","\u05D3\u05E6\u05DE\u05D1\u05E8"]},rangeSeparator:" \u05D0\u05DC ",time_24hr:!0};dg.l10ns.he=$c;var dA=dg.l10ns;m();var fg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Uc={weekdays:{shorthand:["\u0930\u0935\u093F","\u0938\u094B\u092E","\u092E\u0902\u0917\u0932","\u092C\u0941\u0927","\u0917\u0941\u0930\u0941","\u0936\u0941\u0915\u094D\u0930","\u0936\u0928\u093F"],longhand:["\u0930\u0935\u093F\u0935\u093E\u0930","\u0938\u094B\u092E\u0935\u093E\u0930","\u092E\u0902\u0917\u0932\u0935\u093E\u0930","\u092C\u0941\u0927\u0935\u093E\u0930","\u0917\u0941\u0930\u0941\u0935\u093E\u0930","\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930","\u0936\u0928\u093F\u0935\u093E\u0930"]},months:{shorthand:["\u091C\u0928","\u092B\u0930","\u092E\u093E\u0930\u094D\u091A","\u0905\u092A\u094D\u0930\u0947\u0932","\u092E\u0908","\u091C\u0942\u0928","\u091C\u0942\u0932\u093E\u0908","\u0905\u0917","\u0938\u093F\u0924","\u0905\u0915\u094D\u091F","\u0928\u0935","\u0926\u093F"],longhand:["\u091C\u0928\u0935\u0930\u0940 ","\u092B\u0930\u0935\u0930\u0940","\u092E\u093E\u0930\u094D\u091A","\u0905\u092A\u094D\u0930\u0947\u0932","\u092E\u0908","\u091C\u0942\u0928","\u091C\u0942\u0932\u093E\u0908","\u0905\u0917\u0938\u094D\u0924 ","\u0938\u093F\u0924\u092E\u094D\u092C\u0930","\u0905\u0915\u094D\u091F\u0942\u092C\u0930","\u0928\u0935\u092E\u094D\u092C\u0930","\u0926\u093F\u0938\u092E\u094D\u092C\u0930"]}};fg.l10ns.hi=Uc;var pA=fg.l10ns;m();var pg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Vc={firstDayOfWeek:1,weekdays:{shorthand:["Ned","Pon","Uto","Sri","\u010Cet","Pet","Sub"],longhand:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010Cetvrtak","Petak","Subota"]},months:{shorthand:["Sij","Velj","O\u017Eu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],longhand:["Sije\u010Danj","Velja\u010Da","O\u017Eujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"]},time_24hr:!0};pg.l10ns.hr=Vc;var mA=pg.l10ns;m();var hg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Wc={firstDayOfWeek:1,weekdays:{shorthand:["V","H","K","Sz","Cs","P","Szo"],longhand:["Vas\xE1rnap","H\xE9tf\u0151","Kedd","Szerda","Cs\xFCt\xF6rt\xF6k","P\xE9ntek","Szombat"]},months:{shorthand:["Jan","Feb","M\xE1r","\xC1pr","M\xE1j","J\xFAn","J\xFAl","Aug","Szep","Okt","Nov","Dec"],longhand:["Janu\xE1r","Febru\xE1r","M\xE1rcius","\xC1prilis","M\xE1jus","J\xFAnius","J\xFAlius","Augusztus","Szeptember","Okt\xF3ber","November","December"]},ordinal:function(){return"."},weekAbbreviation:"H\xE9t",scrollTitle:"G\xF6rgessen",toggleTitle:"Kattintson a v\xE1lt\xE1shoz",rangeSeparator:" - ",time_24hr:!0};hg.l10ns.hu=Wc;var vA=hg.l10ns;m();var mg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},zc={weekdays:{shorthand:["\u053F\u056B\u0580","\u0535\u0580\u056F","\u0535\u0580\u0584","\u0549\u0580\u0584","\u0540\u0576\u0563","\u0548\u0582\u0580\u0562","\u0547\u0562\u0569"],longhand:["\u053F\u056B\u0580\u0561\u056F\u056B","\u0535\u056F\u0578\u0582\u0577\u0561\u0562\u0569\u056B","\u0535\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B","\u0549\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B","\u0540\u056B\u0576\u0563\u0577\u0561\u0562\u0569\u056B","\u0548\u0582\u0580\u0562\u0561\u0569","\u0547\u0561\u0562\u0561\u0569"]},months:{shorthand:["\u0540\u0576\u057E","\u0553\u057F\u0580","\u0544\u0561\u0580","\u0531\u057A\u0580","\u0544\u0561\u0575","\u0540\u0576\u057D","\u0540\u056C\u057D","\u0555\u0563\u057D","\u054D\u0565\u057A","\u0540\u0578\u056F","\u0546\u0574\u0562","\u0534\u0565\u056F"],longhand:["\u0540\u0578\u0582\u0576\u057E\u0561\u0580","\u0553\u0565\u057F\u0580\u057E\u0561\u0580","\u0544\u0561\u0580\u057F","\u0531\u057A\u0580\u056B\u056C","\u0544\u0561\u0575\u056B\u057D","\u0540\u0578\u0582\u0576\u056B\u057D","\u0540\u0578\u0582\u056C\u056B\u057D","\u0555\u0563\u0578\u057D\u057F\u0578\u057D","\u054D\u0565\u057A\u057F\u0565\u0574\u0562\u0565\u0580","\u0540\u0578\u056F\u057F\u0565\u0574\u0562\u0565\u0580","\u0546\u0578\u0575\u0565\u0574\u0562\u0565\u0580","\u0534\u0565\u056F\u057F\u0565\u0574\u0562\u0565\u0580"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u0547\u0532\u054F",scrollTitle:"\u0548\u056C\u0578\u0580\u0565\u0584\u055D \u0574\u0565\u056E\u0561\u0581\u0576\u0565\u056C\u0578\u0582 \u0570\u0561\u0574\u0561\u0580",toggleTitle:"\u054D\u0565\u0572\u0574\u0565\u0584\u055D \u0583\u0578\u056D\u0565\u056C\u0578\u0582 \u0570\u0561\u0574\u0561\u0580",amPM:["\u0544\u053F","\u053F\u0540"],yearAriaLabel:"\u054F\u0561\u0580\u056B",monthAriaLabel:"\u0531\u0574\u056B\u057D",hourAriaLabel:"\u053A\u0561\u0574",minuteAriaLabel:"\u0550\u0578\u057A\u0565",time_24hr:!0};mg.l10ns.hy=zc;var bA=mg.l10ns;m();var gg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},jc={weekdays:{shorthand:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],longhand:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],longhand:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"]},firstDayOfWeek:1,ordinal:()=>"",time_24hr:!0,rangeSeparator:" - "};gg.l10ns.id=jc;var EA=gg.l10ns;m();var vg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},qc={weekdays:{shorthand:["Sun","M\xE1n","\xDEri","Mi\xF0","Fim","F\xF6s","Lau"],longhand:["Sunnudagur","M\xE1nudagur","\xDEri\xF0judagur","Mi\xF0vikudagur","Fimmtudagur","F\xF6studagur","Laugardagur"]},months:{shorthand:["Jan","Feb","Mar","Apr","Ma\xED","J\xFAn","J\xFAl","\xC1g\xFA","Sep","Okt","N\xF3v","Des"],longhand:["Jan\xFAar","Febr\xFAar","Mars","Apr\xEDl","Ma\xED","J\xFAn\xED","J\xFAl\xED","\xC1g\xFAst","September","Okt\xF3ber","N\xF3vember","Desember"]},ordinal:()=>".",firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"vika",yearAriaLabel:"\xC1r",time_24hr:!0};vg.l10ns.is=qc;var kA=vg.l10ns;m();var yg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Yc={weekdays:{shorthand:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],longhand:["Domenica","Luned\xEC","Marted\xEC","Mercoled\xEC","Gioved\xEC","Venerd\xEC","Sabato"]},months:{shorthand:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],longhand:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"]},firstDayOfWeek:1,ordinal:()=>"\xB0",rangeSeparator:" al ",weekAbbreviation:"Se",scrollTitle:"Scrolla per aumentare",toggleTitle:"Clicca per cambiare",time_24hr:!0};yg.l10ns.it=Yc;var _A=yg.l10ns;m();var bg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Jc={weekdays:{shorthand:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"],longhand:["\u65E5\u66DC\u65E5","\u6708\u66DC\u65E5","\u706B\u66DC\u65E5","\u6C34\u66DC\u65E5","\u6728\u66DC\u65E5","\u91D1\u66DC\u65E5","\u571F\u66DC\u65E5"]},months:{shorthand:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],longhand:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"]},time_24hr:!0,rangeSeparator:" \u304B\u3089 ",monthAriaLabel:"\u6708",amPM:["\u5348\u524D","\u5348\u5F8C"],yearAriaLabel:"\u5E74",hourAriaLabel:"\u6642\u9593",minuteAriaLabel:"\u5206"};bg.l10ns.ja=Jc;var DA=bg.l10ns;m();var wg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Gc={weekdays:{shorthand:["\u10D9\u10D5","\u10DD\u10E0","\u10E1\u10D0","\u10DD\u10D7","\u10EE\u10E3","\u10DE\u10D0","\u10E8\u10D0"],longhand:["\u10D9\u10D5\u10D8\u10E0\u10D0","\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8","\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8"]},months:{shorthand:["\u10D8\u10D0\u10DC","\u10D7\u10D4\u10D1","\u10DB\u10D0\u10E0","\u10D0\u10DE\u10E0","\u10DB\u10D0\u10D8","\u10D8\u10D5\u10DC","\u10D8\u10D5\u10DA","\u10D0\u10D2\u10D5","\u10E1\u10D4\u10E5","\u10DD\u10E5\u10E2","\u10DC\u10DD\u10D4","\u10D3\u10D4\u10D9"],longhand:["\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8","\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8","\u10DB\u10D0\u10E0\u10E2\u10D8","\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8","\u10DB\u10D0\u10D8\u10E1\u10D8","\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8","\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8","\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD","\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8","\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8","\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8","\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u10D9\u10D5.",scrollTitle:"\u10D3\u10D0\u10E1\u10E5\u10E0\u10DD\u10DA\u10D4\u10D7 \u10D2\u10D0\u10E1\u10D0\u10D3\u10D8\u10D3\u10D4\u10D1\u10DA\u10D0\u10D3",toggleTitle:"\u10D3\u10D0\u10D0\u10D9\u10DA\u10D8\u10D9\u10D4\u10D7 \u10D2\u10D0\u10D3\u10D0\u10E0\u10D7\u10D5\u10D8\u10E1\u10D7\u10D5\u10D8\u10E1",amPM:["AM","PM"],yearAriaLabel:"\u10EC\u10D4\u10DA\u10D8",time_24hr:!0};wg.l10ns.ka=Gc;var MA=wg.l10ns;m();var Eg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Qc={weekdays:{shorthand:["\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799","\u1785\u1793\u17D2\u1791","\u17A2\u1784\u17D2\u1782\u17B6\u179A","\u1796\u17BB\u1792","\u1796\u17D2\u179A\u17A0\u179F.","\u179F\u17BB\u1780\u17D2\u179A","\u179F\u17C5\u179A\u17CD"],longhand:["\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799","\u1785\u1793\u17D2\u1791","\u17A2\u1784\u17D2\u1782\u17B6\u179A","\u1796\u17BB\u1792","\u1796\u17D2\u179A\u17A0\u179F\u17D2\u1794\u178F\u17B7\u17CD","\u179F\u17BB\u1780\u17D2\u179A","\u179F\u17C5\u179A\u17CD"]},months:{shorthand:["\u1798\u1780\u179A\u17B6","\u1780\u17BB\u1798\u17D2\u1797\u17C7","\u1798\u17B8\u1793\u17B6","\u1798\u17C1\u179F\u17B6","\u17A7\u179F\u1797\u17B6","\u1798\u17B7\u1790\u17BB\u1793\u17B6","\u1780\u1780\u17D2\u1780\u178A\u17B6","\u179F\u17B8\u17A0\u17B6","\u1780\u1789\u17D2\u1789\u17B6","\u178F\u17BB\u179B\u17B6","\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6","\u1792\u17D2\u1793\u17BC"],longhand:["\u1798\u1780\u179A\u17B6","\u1780\u17BB\u1798\u17D2\u1797\u17C7","\u1798\u17B8\u1793\u17B6","\u1798\u17C1\u179F\u17B6","\u17A7\u179F\u1797\u17B6","\u1798\u17B7\u1790\u17BB\u1793\u17B6","\u1780\u1780\u17D2\u1780\u178A\u17B6","\u179F\u17B8\u17A0\u17B6","\u1780\u1789\u17D2\u1789\u17B6","\u178F\u17BB\u179B\u17B6","\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6","\u1792\u17D2\u1793\u17BC"]},ordinal:()=>"",firstDayOfWeek:1,rangeSeparator:" \u178A\u179B\u17CB ",weekAbbreviation:"\u179F\u1794\u17D2\u178F\u17B6\u17A0\u17CD",scrollTitle:"\u179A\u17C6\u1780\u17B7\u179B\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1794\u1784\u17D2\u1780\u17BE\u1793",toggleTitle:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1795\u17D2\u179B\u17B6\u179F\u17CB\u1794\u17D2\u178A\u17BC\u179A",yearAriaLabel:"\u1786\u17D2\u1793\u17B6\u17C6",time_24hr:!0};Eg.l10ns.km=Qc;var AA=Eg.l10ns;m();var xg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Xc={weekdays:{shorthand:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],longhand:["\uC77C\uC694\uC77C","\uC6D4\uC694\uC77C","\uD654\uC694\uC77C","\uC218\uC694\uC77C","\uBAA9\uC694\uC77C","\uAE08\uC694\uC77C","\uD1A0\uC694\uC77C"]},months:{shorthand:["1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4"],longhand:["1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4"]},ordinal:()=>"\uC77C",rangeSeparator:" ~ ",amPM:["\uC624\uC804","\uC624\uD6C4"]};xg.l10ns.ko=Xc;var PA=xg.l10ns;m();var kg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Zc={weekdays:{shorthand:["\u0416\u0441","\u0414\u0441","\u0421c","\u0421\u0440","\u0411\u0441","\u0416\u043C","\u0421\u0431"],longhand:["\u0416\u0435\u043A\u0441\u0435\u043D\u0431i","\u0414\u04AF\u0439\u0441\u0435\u043D\u0431i","\u0421\u0435\u0439\u0441\u0435\u043D\u0431i","\u0421\u04D9\u0440\u0441\u0435\u043D\u0431i","\u0411\u0435\u0439\u0441\u0435\u043D\u0431i","\u0416\u04B1\u043C\u0430","\u0421\u0435\u043D\u0431i"]},months:{shorthand:["\u049A\u0430\u04A3","\u0410\u049B\u043F","\u041D\u0430\u0443","\u0421\u04D9\u0443","\u041C\u0430\u043C","\u041C\u0430\u0443","\u0428i\u043B","\u0422\u0430\u043C","\u049A\u044B\u0440","\u049A\u0430\u0437","\u049A\u0430\u0440","\u0416\u0435\u043B"],longhand:["\u049A\u0430\u04A3\u0442\u0430\u0440","\u0410\u049B\u043F\u0430\u043D","\u041D\u0430\u0443\u0440\u044B\u0437","\u0421\u04D9\u0443i\u0440","\u041C\u0430\u043C\u044B\u0440","\u041C\u0430\u0443\u0441\u044B\u043C","\u0428i\u043B\u0434\u0435","\u0422\u0430\u043C\u044B\u0437","\u049A\u044B\u0440\u043A\u04AF\u0439\u0435\u043A","\u049A\u0430\u0437\u0430\u043D","\u049A\u0430\u0440\u0430\u0448\u0430","\u0416\u0435\u043B\u0442\u043E\u049B\u0441\u0430\u043D"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u0410\u043F\u0442\u0430",scrollTitle:"\u04AE\u043B\u043A\u0435\u0439\u0442\u0443 \u04AF\u0448\u0456\u043D \u0430\u0439\u043D\u0430\u043B\u0434\u044B\u0440\u044B\u04A3\u044B\u0437",toggleTitle:"\u0410\u0443\u044B\u0441\u0442\u044B\u0440\u0443 \u04AF\u0448\u0456\u043D \u0431\u0430\u0441\u044B\u04A3\u044B\u0437",amPM:["\u0422\u0414","\u0422\u041A"],yearAriaLabel:"\u0416\u044B\u043B"};kg.l10ns.kz=Zc;var NA=kg.l10ns;m();var Sg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},eu={weekdays:{shorthand:["S","Pr","A","T","K","Pn","\u0160"],longhand:["Sekmadienis","Pirmadienis","Antradienis","Tre\u010Diadienis","Ketvirtadienis","Penktadienis","\u0160e\u0161tadienis"]},months:{shorthand:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd"],longhand:["Sausis","Vasaris","Kovas","Balandis","Gegu\u017E\u0117","Bir\u017Eelis","Liepa","Rugpju\u0304tis","Rugse\u0307jis","Spalis","Lapkritis","Gruodis"]},firstDayOfWeek:1,ordinal:function(){return"-a"},rangeSeparator:" iki ",weekAbbreviation:"Sav",scrollTitle:"Keisti laik\u0105 pel\u0117s rateliu",toggleTitle:"Perjungti laiko format\u0105",time_24hr:!0};Sg.l10ns.lt=eu;var RA=Sg.l10ns;m();var _g=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},tu={firstDayOfWeek:1,weekdays:{shorthand:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],longhand:["Sv\u0113tdiena","Pirmdiena","Otrdiena","Tre\u0161diena","Ceturtdiena","Piektdiena","Sestdiena"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mai","J\u016Bn","J\u016Bl","Aug","Sep","Okt","Nov","Dec"],longhand:["Janv\u0101ris","Febru\u0101ris","Marts","Apr\u012Blis","Maijs","J\u016Bnijs","J\u016Blijs","Augusts","Septembris","Oktobris","Novembris","Decembris"]},rangeSeparator:" l\u012Bdz ",time_24hr:!0};_g.l10ns.lv=tu;var BA=_g.l10ns;m();var Cg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},nu={weekdays:{shorthand:["\u041D\u0435","\u041F\u043E","\u0412\u0442","\u0421\u0440","\u0427\u0435","\u041F\u0435","\u0421\u0430"],longhand:["\u041D\u0435\u0434\u0435\u043B\u0430","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u043E\u043A","\u041F\u0435\u0442\u043E\u043A","\u0421\u0430\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u0408\u0430\u043D","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0458","\u0408\u0443\u043D","\u0408\u0443\u043B","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0435","\u0414\u0435\u043A"],longhand:["\u0408\u0430\u043D\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0458","\u0408\u0443\u043D\u0438","\u0408\u0443\u043B\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438","\u041E\u043A\u0442\u043E\u043C\u0432\u0440\u0438","\u041D\u043E\u0435\u043C\u0432\u0440\u0438","\u0414\u0435\u043A\u0435\u043C\u0432\u0440\u0438"]},firstDayOfWeek:1,weekAbbreviation:"\u041D\u0435\u0434.",rangeSeparator:" \u0434\u043E ",time_24hr:!0};Cg.l10ns.mk=nu;var $A=Cg.l10ns;m();var Dg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},ru={firstDayOfWeek:1,weekdays:{shorthand:["\u0414\u0430","\u041C\u044F","\u041B\u0445","\u041F\u04AF","\u0411\u0430","\u0411\u044F","\u041D\u044F"],longhand:["\u0414\u0430\u0432\u0430\u0430","\u041C\u044F\u0433\u043C\u0430\u0440","\u041B\u0445\u0430\u0433\u0432\u0430","\u041F\u04AF\u0440\u044D\u0432","\u0411\u0430\u0430\u0441\u0430\u043D","\u0411\u044F\u043C\u0431\u0430","\u041D\u044F\u043C"]},months:{shorthand:["1-\u0440 \u0441\u0430\u0440","2-\u0440 \u0441\u0430\u0440","3-\u0440 \u0441\u0430\u0440","4-\u0440 \u0441\u0430\u0440","5-\u0440 \u0441\u0430\u0440","6-\u0440 \u0441\u0430\u0440","7-\u0440 \u0441\u0430\u0440","8-\u0440 \u0441\u0430\u0440","9-\u0440 \u0441\u0430\u0440","10-\u0440 \u0441\u0430\u0440","11-\u0440 \u0441\u0430\u0440","12-\u0440 \u0441\u0430\u0440"],longhand:["\u041D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0425\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0414\u04E9\u0440\u04E9\u0432\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0417\u0443\u0440\u0433\u0430\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0414\u043E\u043B\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u041D\u0430\u0439\u043C\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0415\u0441\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0410\u0440\u0432\u0430\u043D\u043D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0410\u0440\u0432\u0430\u043D\u0445\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440"]},rangeSeparator:"-\u0441 ",time_24hr:!0};Dg.l10ns.mn=ru;var VA=Dg.l10ns;m();var nS=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Tg={weekdays:{shorthand:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],longhand:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"]},months:{shorthand:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],longhand:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"]},firstDayOfWeek:1,ordinal:()=>""},zA=nS.l10ns;m();var Mg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},iu={weekdays:{shorthand:["\u1014\u103D\u1031","\u101C\u102C","\u1002\u102B","\u101F\u1030\u1038","\u1000\u103C\u102C","\u101E\u1031\u102C","\u1014\u1031"],longhand:["\u1010\u1014\u1004\u103A\u1039\u1002\u1014\u103D\u1031","\u1010\u1014\u1004\u103A\u1039\u101C\u102C","\u1021\u1004\u103A\u1039\u1002\u102B","\u1017\u102F\u1012\u1039\u1013\u101F\u1030\u1038","\u1000\u103C\u102C\u101E\u1015\u1010\u1031\u1038","\u101E\u1031\u102C\u1000\u103C\u102C","\u1005\u1014\u1031"]},months:{shorthand:["\u1007\u1014\u103A","\u1016\u1031","\u1019\u1010\u103A","\u1015\u103C\u102E","\u1019\u1031","\u1007\u103D\u1014\u103A","\u101C\u102D\u102F\u1004\u103A","\u101E\u103C","\u1005\u1000\u103A","\u1021\u1031\u102C\u1000\u103A","\u1014\u102D\u102F","\u1012\u102E"],longhand:["\u1007\u1014\u103A\u1014\u101D\u102B\u101B\u102E","\u1016\u1031\u1016\u1031\u102C\u103A\u101D\u102B\u101B\u102E","\u1019\u1010\u103A","\u1027\u1015\u103C\u102E","\u1019\u1031","\u1007\u103D\u1014\u103A","\u1007\u1030\u101C\u102D\u102F\u1004\u103A","\u101E\u103C\u1002\u102F\u1010\u103A","\u1005\u1000\u103A\u1010\u1004\u103A\u1018\u102C","\u1021\u1031\u102C\u1000\u103A\u1010\u102D\u102F\u1018\u102C","\u1014\u102D\u102F\u101D\u1004\u103A\u1018\u102C","\u1012\u102E\u1007\u1004\u103A\u1018\u102C"]},firstDayOfWeek:1,ordinal:()=>"",time_24hr:!0};Mg.l10ns.my=iu;var qA=Mg.l10ns;m();var Ig=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},au={weekdays:{shorthand:["zo","ma","di","wo","do","vr","za"],longhand:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},months:{shorthand:["jan","feb","mrt","apr","mei","jun","jul","aug","sept","okt","nov","dec"],longhand:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},firstDayOfWeek:1,weekAbbreviation:"wk",rangeSeparator:" t/m ",scrollTitle:"Scroll voor volgende / vorige",toggleTitle:"Klik om te wisselen",time_24hr:!0,ordinal:e=>e===1||e===8||e>=20?"ste":"de"};Ig.l10ns.nl=au;var JA=Ig.l10ns;m();var Ag=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},ou={weekdays:{shorthand:["S\xF8.","M\xE5.","Ty.","On.","To.","Fr.","La."],longhand:["S\xF8ndag","M\xE5ndag","Tysdag","Onsdag","Torsdag","Fredag","Laurdag"]},months:{shorthand:["Jan","Feb","Mars","Apr","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Des"],longhand:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"]},firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"Veke",scrollTitle:"Scroll for \xE5 endre",toggleTitle:"Klikk for \xE5 veksle",time_24hr:!0,ordinal:()=>"."};Ag.l10ns.nn=ou;var QA=Ag.l10ns;m();var Lg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},su={weekdays:{shorthand:["S\xF8n","Man","Tir","Ons","Tor","Fre","L\xF8r"],longhand:["S\xF8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\xF8rdag"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],longhand:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"]},firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"Uke",scrollTitle:"Scroll for \xE5 endre",toggleTitle:"Klikk for \xE5 veksle",time_24hr:!0,ordinal:()=>"."};Lg.l10ns.no=su;var ZA=Lg.l10ns;m();var Pg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},lu={weekdays:{shorthand:["\u0A10\u0A24","\u0A38\u0A4B\u0A2E","\u0A2E\u0A70\u0A17\u0A32","\u0A2C\u0A41\u0A71\u0A27","\u0A35\u0A40\u0A30","\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30","\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30"],longhand:["\u0A10\u0A24\u0A35\u0A3E\u0A30","\u0A38\u0A4B\u0A2E\u0A35\u0A3E\u0A30","\u0A2E\u0A70\u0A17\u0A32\u0A35\u0A3E\u0A30","\u0A2C\u0A41\u0A71\u0A27\u0A35\u0A3E\u0A30","\u0A35\u0A40\u0A30\u0A35\u0A3E\u0A30","\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30\u0A35\u0A3E\u0A30","\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30\u0A35\u0A3E\u0A30"]},months:{shorthand:["\u0A1C\u0A28","\u0A2B\u0A3C\u0A30","\u0A2E\u0A3E\u0A30","\u0A05\u0A2A\u0A4D\u0A30\u0A48","\u0A2E\u0A08","\u0A1C\u0A42\u0A28","\u0A1C\u0A41\u0A32\u0A3E","\u0A05\u0A17","\u0A38\u0A24\u0A70","\u0A05\u0A15","\u0A28\u0A35\u0A70","\u0A26\u0A38\u0A70"],longhand:["\u0A1C\u0A28\u0A35\u0A30\u0A40","\u0A2B\u0A3C\u0A30\u0A35\u0A30\u0A40","\u0A2E\u0A3E\u0A30\u0A1A","\u0A05\u0A2A\u0A4D\u0A30\u0A48\u0A32","\u0A2E\u0A08","\u0A1C\u0A42\u0A28","\u0A1C\u0A41\u0A32\u0A3E\u0A08","\u0A05\u0A17\u0A38\u0A24","\u0A38\u0A24\u0A70\u0A2C\u0A30","\u0A05\u0A15\u0A24\u0A42\u0A2C\u0A30","\u0A28\u0A35\u0A70\u0A2C\u0A30","\u0A26\u0A38\u0A70\u0A2C\u0A30"]},time_24hr:!0};Pg.l10ns.pa=lu;var tL=Pg.l10ns;m();var Fg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},cu={weekdays:{shorthand:["Nd","Pn","Wt","\u015Ar","Cz","Pt","So"],longhand:["Niedziela","Poniedzia\u0142ek","Wtorek","\u015Aroda","Czwartek","Pi\u0105tek","Sobota"]},months:{shorthand:["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Pa\u017A","Lis","Gru"],longhand:["Stycze\u0144","Luty","Marzec","Kwiecie\u0144","Maj","Czerwiec","Lipiec","Sierpie\u0144","Wrzesie\u0144","Pa\u017Adziernik","Listopad","Grudzie\u0144"]},rangeSeparator:" do ",weekAbbreviation:"tydz.",scrollTitle:"Przewi\u0144, aby zwi\u0119kszy\u0107",toggleTitle:"Kliknij, aby prze\u0142\u0105czy\u0107",firstDayOfWeek:1,time_24hr:!0,ordinal:()=>"."};Fg.l10ns.pl=cu;var rL=Fg.l10ns;m();var Ng=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},uu={weekdays:{shorthand:["Dom","Seg","Ter","Qua","Qui","Sex","S\xE1b"],longhand:["Domingo","Segunda-feira","Ter\xE7a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S\xE1bado"]},months:{shorthand:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],longhand:["Janeiro","Fevereiro","Mar\xE7o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"]},rangeSeparator:" at\xE9 ",time_24hr:!0};Ng.l10ns.pt=uu;var aL=Ng.l10ns;m();var Og=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},du={weekdays:{shorthand:["Dum","Lun","Mar","Mie","Joi","Vin","S\xE2m"],longhand:["Duminic\u0103","Luni","Mar\u021Bi","Miercuri","Joi","Vineri","S\xE2mb\u0103t\u0103"]},months:{shorthand:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Noi","Dec"],longhand:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"]},firstDayOfWeek:1,time_24hr:!0,ordinal:()=>""};Og.l10ns.ro=du;var sL=Og.l10ns;m();var Rg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},fu={weekdays:{shorthand:["\u0412\u0441","\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431"],longhand:["\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0435\u0440\u0433","\u041F\u044F\u0442\u043D\u0438\u0446\u0430","\u0421\u0443\u0431\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u042F\u043D\u0432","\u0424\u0435\u0432","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433","\u0421\u0435\u043D","\u041E\u043A\u0442","\u041D\u043E\u044F","\u0414\u0435\u043A"],longhand:["\u042F\u043D\u0432\u0430\u0440\u044C","\u0424\u0435\u0432\u0440\u0430\u043B\u044C","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0435\u043B\u044C","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C","\u041E\u043A\u0442\u044F\u0431\u0440\u044C","\u041D\u043E\u044F\u0431\u0440\u044C","\u0414\u0435\u043A\u0430\u0431\u0440\u044C"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u041D\u0435\u0434.",scrollTitle:"\u041F\u0440\u043E\u043A\u0440\u0443\u0442\u0438\u0442\u0435 \u0434\u043B\u044F \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F",toggleTitle:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F",amPM:["\u0414\u041F","\u041F\u041F"],yearAriaLabel:"\u0413\u043E\u0434",time_24hr:!0};Rg.l10ns.ru=fu;var cL=Rg.l10ns;m();var Hg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},pu={weekdays:{shorthand:["\u0D89","\u0DC3","\u0D85","\u0DB6","\u0DB6\u0DCA\u200D\u0DBB","\u0DC3\u0DD2","\u0DC3\u0DD9"],longhand:["\u0D89\u0DBB\u0DD2\u0DAF\u0DCF","\u0DC3\u0DB3\u0DD4\u0DAF\u0DCF","\u0D85\u0D9F\u0DC4\u0DBB\u0DD4\u0DC0\u0DCF\u0DAF\u0DCF","\u0DB6\u0DAF\u0DCF\u0DAF\u0DCF","\u0DB6\u0DCA\u200D\u0DBB\u0DC4\u0DC3\u0DCA\u0DB4\u0DAD\u0DD2\u0DB1\u0DCA\u0DAF\u0DCF","\u0DC3\u0DD2\u0D9A\u0DD4\u0DBB\u0DCF\u0DAF\u0DCF","\u0DC3\u0DD9\u0DB1\u0DC3\u0DD4\u0DBB\u0DCF\u0DAF\u0DCF"]},months:{shorthand:["\u0DA2\u0DB1","\u0DB4\u0DD9\u0DB6","\u0DB8\u0DCF\u0DBB\u0DCA","\u0D85\u0DB4\u0DCA\u200D\u0DBB\u0DDA","\u0DB8\u0DD0\u0DBA\u0DD2","\u0DA2\u0DD4\u0DB1\u0DD2","\u0DA2\u0DD6\u0DBD\u0DD2","\u0D85\u0D9C\u0DDD","\u0DC3\u0DD0\u0DB4\u0DCA","\u0D94\u0D9A\u0DCA","\u0DB1\u0DDC\u0DC0\u0DD0","\u0DAF\u0DD9\u0DC3\u0DD0"],longhand:["\u0DA2\u0DB1\u0DC0\u0DCF\u0DBB\u0DD2","\u0DB4\u0DD9\u0DB6\u0DBB\u0DC0\u0DCF\u0DBB\u0DD2","\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4","\u0D85\u0DB4\u0DCA\u200D\u0DBB\u0DDA\u0DBD\u0DCA","\u0DB8\u0DD0\u0DBA\u0DD2","\u0DA2\u0DD4\u0DB1\u0DD2","\u0DA2\u0DD6\u0DBD\u0DD2","\u0D85\u0D9C\u0DDD\u0DC3\u0DCA\u0DAD\u0DD4","\u0DC3\u0DD0\u0DB4\u0DCA\u0DAD\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA","\u0D94\u0D9A\u0DCA\u0DAD\u0DDD\u0DB6\u0DBB\u0DCA","\u0DB1\u0DDC\u0DC0\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA","\u0DAF\u0DD9\u0DC3\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA"]},time_24hr:!0};Hg.l10ns.si=pu;var dL=Hg.l10ns;m();var Bg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},hu={weekdays:{shorthand:["Ned","Pon","Ut","Str","\u0160tv","Pia","Sob"],longhand:["Nede\u013Ea","Pondelok","Utorok","Streda","\u0160tvrtok","Piatok","Sobota"]},months:{shorthand:["Jan","Feb","Mar","Apr","M\xE1j","J\xFAn","J\xFAl","Aug","Sep","Okt","Nov","Dec"],longhand:["Janu\xE1r","Febru\xE1r","Marec","Apr\xEDl","M\xE1j","J\xFAn","J\xFAl","August","September","Okt\xF3ber","November","December"]},firstDayOfWeek:1,rangeSeparator:" do ",time_24hr:!0,ordinal:function(){return"."}};Bg.l10ns.sk=hu;var pL=Bg.l10ns;m();var Kg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},mu={weekdays:{shorthand:["Ned","Pon","Tor","Sre","\u010Cet","Pet","Sob"],longhand:["Nedelja","Ponedeljek","Torek","Sreda","\u010Cetrtek","Petek","Sobota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],longhand:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"]},firstDayOfWeek:1,rangeSeparator:" do ",time_24hr:!0,ordinal:function(){return"."}};Kg.l10ns.sl=mu;var mL=Kg.l10ns;m();var $g=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},gu={weekdays:{shorthand:["Di","H\xEB","Ma","M\xEB","En","Pr","Sh"],longhand:["E Diel","E H\xEBn\xEB","E Mart\xEB","E M\xEBrkur\xEB","E Enjte","E Premte","E Shtun\xEB"]},months:{shorthand:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","N\xEBn","Dhj"],longhand:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","N\xEBntor","Dhjetor"]},firstDayOfWeek:1,rangeSeparator:" deri ",weekAbbreviation:"Java",yearAriaLabel:"Viti",monthAriaLabel:"Muaji",hourAriaLabel:"Ora",minuteAriaLabel:"Minuta",time_24hr:!0};$g.l10ns.sq=gu;var vL=$g.l10ns;m();var Ug=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},vu={weekdays:{shorthand:["Ned","Pon","Uto","Sre","\u010Cet","Pet","Sub"],longhand:["Nedelja","Ponedeljak","Utorak","Sreda","\u010Cetvrtak","Petak","Subota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],longhand:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"]},firstDayOfWeek:1,weekAbbreviation:"Ned.",rangeSeparator:" do ",time_24hr:!0};Ug.l10ns.sr=vu;var bL=Ug.l10ns;m();var Vg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},yu={firstDayOfWeek:1,weekAbbreviation:"v",weekdays:{shorthand:["s\xF6n","m\xE5n","tis","ons","tor","fre","l\xF6r"],longhand:["s\xF6ndag","m\xE5ndag","tisdag","onsdag","torsdag","fredag","l\xF6rdag"]},months:{shorthand:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],longhand:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"]},rangeSeparator:" till ",time_24hr:!0,ordinal:()=>"."};Vg.l10ns.sv=yu;var EL=Vg.l10ns;m();var Wg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},bu={weekdays:{shorthand:["\u0E2D\u0E32","\u0E08","\u0E2D","\u0E1E","\u0E1E\u0E24","\u0E28","\u0E2A"],longhand:["\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C","\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C","\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23","\u0E1E\u0E38\u0E18","\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35","\u0E28\u0E38\u0E01\u0E23\u0E4C","\u0E40\u0E2A\u0E32\u0E23\u0E4C"]},months:{shorthand:["\u0E21.\u0E04.","\u0E01.\u0E1E.","\u0E21\u0E35.\u0E04.","\u0E40\u0E21.\u0E22.","\u0E1E.\u0E04.","\u0E21\u0E34.\u0E22.","\u0E01.\u0E04.","\u0E2A.\u0E04.","\u0E01.\u0E22.","\u0E15.\u0E04.","\u0E1E.\u0E22.","\u0E18.\u0E04."],longhand:["\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21","\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C","\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21","\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19","\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21","\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19","\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21","\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21","\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19","\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21","\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19","\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21"]},firstDayOfWeek:1,rangeSeparator:" \u0E16\u0E36\u0E07 ",scrollTitle:"\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E25\u0E14",toggleTitle:"\u0E04\u0E25\u0E34\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19",time_24hr:!0,ordinal:()=>""};Wg.l10ns.th=bu;var kL=Wg.l10ns;m();var zg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},wu={weekdays:{shorthand:["Paz","Pzt","Sal","\xC7ar","Per","Cum","Cmt"],longhand:["Pazar","Pazartesi","Sal\u0131","\xC7ar\u015Famba","Per\u015Fembe","Cuma","Cumartesi"]},months:{shorthand:["Oca","\u015Eub","Mar","Nis","May","Haz","Tem","A\u011Fu","Eyl","Eki","Kas","Ara"],longhand:["Ocak","\u015Eubat","Mart","Nisan","May\u0131s","Haziran","Temmuz","A\u011Fustos","Eyl\xFCl","Ekim","Kas\u0131m","Aral\u0131k"]},firstDayOfWeek:1,ordinal:()=>".",rangeSeparator:" - ",weekAbbreviation:"Hf",scrollTitle:"Art\u0131rmak i\xE7in kayd\u0131r\u0131n",toggleTitle:"A\xE7/Kapa",amPM:["\xD6\xD6","\xD6S"],time_24hr:!0};zg.l10ns.tr=wu;var _L=zg.l10ns;m();var jg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Eu={firstDayOfWeek:1,weekdays:{shorthand:["\u041D\u0434","\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431"],longhand:["\u041D\u0435\u0434\u0456\u043B\u044F","\u041F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A","\u0412\u0456\u0432\u0442\u043E\u0440\u043E\u043A","\u0421\u0435\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0435\u0440","\u041F'\u044F\u0442\u043D\u0438\u0446\u044F","\u0421\u0443\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u0421\u0456\u0447","\u041B\u044E\u0442","\u0411\u0435\u0440","\u041A\u0432\u0456","\u0422\u0440\u0430","\u0427\u0435\u0440","\u041B\u0438\u043F","\u0421\u0435\u0440","\u0412\u0435\u0440","\u0416\u043E\u0432","\u041B\u0438\u0441","\u0413\u0440\u0443"],longhand:["\u0421\u0456\u0447\u0435\u043D\u044C","\u041B\u044E\u0442\u0438\u0439","\u0411\u0435\u0440\u0435\u0437\u0435\u043D\u044C","\u041A\u0432\u0456\u0442\u0435\u043D\u044C","\u0422\u0440\u0430\u0432\u0435\u043D\u044C","\u0427\u0435\u0440\u0432\u0435\u043D\u044C","\u041B\u0438\u043F\u0435\u043D\u044C","\u0421\u0435\u0440\u043F\u0435\u043D\u044C","\u0412\u0435\u0440\u0435\u0441\u0435\u043D\u044C","\u0416\u043E\u0432\u0442\u0435\u043D\u044C","\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434","\u0413\u0440\u0443\u0434\u0435\u043D\u044C"]},time_24hr:!0};jg.l10ns.uk=Eu;var DL=jg.l10ns;m();var qg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},xu={weekdays:{shorthand:["\u042F\u043A\u0448","\u0414\u0443\u0448","\u0421\u0435\u0448","\u0427\u043E\u0440","\u041F\u0430\u0439","\u0416\u0443\u043C","\u0428\u0430\u043D"],longhand:["\u042F\u043A\u0448\u0430\u043D\u0431\u0430","\u0414\u0443\u0448\u0430\u043D\u0431\u0430","\u0421\u0435\u0448\u0430\u043D\u0431\u0430","\u0427\u043E\u0440\u0448\u0430\u043D\u0431\u0430","\u041F\u0430\u0439\u0448\u0430\u043D\u0431\u0430","\u0416\u0443\u043C\u0430","\u0428\u0430\u043D\u0431\u0430"]},months:{shorthand:["\u042F\u043D\u0432","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0439","\u0418\u044E\u043D","\u0418\u044E\u043B","\u0410\u0432\u0433","\u0421\u0435\u043D","\u041E\u043A\u0442","\u041D\u043E\u044F","\u0414\u0435\u043A"],longhand:["\u042F\u043D\u0432\u0430\u0440","\u0424\u0435\u0432\u0440\u0430\u043B","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0435\u043B","\u041C\u0430\u0439","\u0418\u044E\u043D","\u0418\u044E\u043B","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043D\u0442\u044F\u0431\u0440","\u041E\u043A\u0442\u044F\u0431\u0440","\u041D\u043E\u044F\u0431\u0440","\u0414\u0435\u043A\u0430\u0431\u0440"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u04B2\u0430\u0444\u0442\u0430",scrollTitle:"\u041A\u0430\u0442\u0442\u0430\u043B\u0430\u0448\u0442\u0438\u0440\u0438\u0448 \u0443\u0447\u0443\u043D \u0430\u0439\u043B\u0430\u043D\u0442\u0438\u0440\u0438\u043D\u0433",toggleTitle:"\u040E\u0442\u0438\u0448 \u0443\u0447\u0443\u043D \u0431\u043E\u0441\u0438\u043D\u0433",amPM:["AM","PM"],yearAriaLabel:"\u0419\u0438\u043B",time_24hr:!0};qg.l10ns.uz=xu;var ML=qg.l10ns;m();var Yg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},ku={weekdays:{shorthand:["Ya","Du","Se","Cho","Pa","Ju","Sha"],longhand:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"]},months:{shorthand:["Yan","Fev","Mar","Apr","May","Iyun","Iyul","Avg","Sen","Okt","Noy","Dek"],longhand:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"Hafta",scrollTitle:"Kattalashtirish uchun aylantiring",toggleTitle:"O\u2018tish uchun bosing",amPM:["AM","PM"],yearAriaLabel:"Yil",time_24hr:!0};Yg.l10ns.uz_latn=ku;var AL=Yg.l10ns;m();var Jg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Su={weekdays:{shorthand:["CN","T2","T3","T4","T5","T6","T7"],longhand:["Ch\u1EE7 nh\u1EADt","Th\u1EE9 hai","Th\u1EE9 ba","Th\u1EE9 t\u01B0","Th\u1EE9 n\u0103m","Th\u1EE9 s\xE1u","Th\u1EE9 b\u1EA3y"]},months:{shorthand:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],longhand:["Th\xE1ng m\u1ED9t","Th\xE1ng hai","Th\xE1ng ba","Th\xE1ng t\u01B0","Th\xE1ng n\u0103m","Th\xE1ng s\xE1u","Th\xE1ng b\u1EA3y","Th\xE1ng t\xE1m","Th\xE1ng ch\xEDn","Th\xE1ng m\u01B0\u1EDDi","Th\xE1ng m\u01B0\u1EDDi m\u1ED9t","Th\xE1ng m\u01B0\u1EDDi hai"]},firstDayOfWeek:1,rangeSeparator:" \u0111\u1EBFn "};Jg.l10ns.vn=Su;var PL=Jg.l10ns;m();var Gg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},_u={weekdays:{shorthand:["\u5468\u65E5","\u5468\u4E00","\u5468\u4E8C","\u5468\u4E09","\u5468\u56DB","\u5468\u4E94","\u5468\u516D"],longhand:["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"]},months:{shorthand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],longhand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},rangeSeparator:" \u81F3 ",weekAbbreviation:"\u5468",scrollTitle:"\u6EDA\u52A8\u5207\u6362",toggleTitle:"\u70B9\u51FB\u5207\u6362 12/24 \u5C0F\u65F6\u65F6\u5236"};Gg.l10ns.zh=_u;var NL=Gg.l10ns;m();var Qg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Cu={weekdays:{shorthand:["\u9031\u65E5","\u9031\u4E00","\u9031\u4E8C","\u9031\u4E09","\u9031\u56DB","\u9031\u4E94","\u9031\u516D"],longhand:["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"]},months:{shorthand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],longhand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},rangeSeparator:" \u81F3 ",weekAbbreviation:"\u9031",scrollTitle:"\u6EFE\u52D5\u5207\u63DB",toggleTitle:"\u9EDE\u64CA\u5207\u63DB 12/24 \u5C0F\u6642\u6642\u5236"};Qg.l10ns.zh_tw=Cu;var RL=Qg.l10ns;var rS={ar:wc,at:Ec,az:xc,be:kc,bg:Sc,bn:_c,bs:Cc,ca:Go,ckb:Tc,cat:Go,cs:Mc,cy:Ic,da:Ac,de:Lc,default:{...Ur},en:Ur,eo:Pc,es:Fc,et:Nc,fa:Oc,fi:Rc,fo:Hc,fr:Bc,gr:Kc,he:$c,hi:Uc,hr:Vc,hu:Wc,hy:zc,id:jc,is:qc,it:Yc,ja:Jc,ka:Gc,ko:Xc,km:Qc,kz:Zc,lt:eu,lv:tu,mk:nu,mn:ru,ms:Tg,my:iu,nl:au,nn:ou,no:su,pa:lu,pl:cu,pt:uu,ro:du,ru:fu,si:pu,sk:hu,sl:mu,sq:gu,sr:vu,sv:yu,th:bu,tr:wu,uk:Eu,vn:Su,zh:_u,zh_tw:Cu,uz:xu,uz_latn:ku},tt=rS;var Zg={ar:tt.ar,cs:tt.cs,da:tt.da,de:tt.de,en:tt.en,"en-gb":tt.en,es:tt.es,fr:tt.fr,hi:tt.hi,id:tt.id,it:tt.it,ja:tt.ja,ko:tt.ko,nl:tt.nl,nn:tt.no,pl:tt.pl,pt:tt.pt,"pt-br":tt.pt,ro:tt.ro,ru:tt.ru,tr:tt.tr,"zh-cn":tt.zh,"zh-tw":tt.zh_tw},iS=Zg[Xg.moment.locale()];function Xo(e){let t=e==null?void 0:e.getSetting("date-picker-week-start"),r=iS||Zg.en;return t?{...r,firstDayOfWeek:t}:r}m();m();var Zo=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],wr={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:typeof window=="object"&&window.navigator.userAgent.indexOf("MSIE")===-1,ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:e=>typeof console!="undefined"&&console.warn(e),getWeek:e=>{let t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);let r=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-r.getTime())/864e5-3+(r.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1,win:window};m();var Bt=(e,t=2)=>`000${e}`.slice(t*-1),tn=e=>e===!0?1:0;function Du(e,t,r){let n;return function(){let i=arguments;r.clearTimeout(n),n=r.setTimeout(()=>e.apply(this,i),t)}}var es=e=>Array.isArray(e)?e:[e];m();m();var Tu=()=>{},Sa=(e,t,r)=>r.months[t?"shorthand":"longhand"][e],ev={D:Tu,F:function(e,t,r){e.setMonth(r.months.longhand.indexOf(t))},G:(e,t)=>{e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},H:(e,t)=>{e.setHours(parseFloat(t))},J:(e,t)=>{e.setDate(parseFloat(t))},K:(e,t,r)=>{e.setHours(e.getHours()%12+12*tn(new RegExp(r.amPM[1],"i").test(t)))},M:function(e,t,r){e.setMonth(r.months.shorthand.indexOf(t))},S:(e,t)=>{e.setSeconds(parseFloat(t))},U:(e,t)=>new Date(parseFloat(t)*1e3),W:function(e,t,r){let n=parseInt(t),i=new Date(e.getFullYear(),0,2+(n-1)*7,0,0,0,0);return i.setDate(i.getDate()-i.getDay()+r.firstDayOfWeek),i},Y:(e,t)=>{e.setFullYear(parseFloat(t))},Z:(e,t)=>new Date(t),d:(e,t)=>{e.setDate(parseFloat(t))},h:(e,t)=>{e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},i:(e,t)=>{e.setMinutes(parseFloat(t))},j:(e,t)=>{e.setDate(parseFloat(t))},l:Tu,m:(e,t)=>{e.setMonth(parseFloat(t)-1)},n:(e,t)=>{e.setMonth(parseFloat(t)-1)},s:(e,t)=>{e.setSeconds(parseFloat(t))},u:(e,t)=>new Date(parseFloat(t)),w:Tu,y:(e,t)=>{e.setFullYear(2e3+parseFloat(t))}},Jn={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},_i={Z:e=>e.toISOString(),D:function(e,t,r){return t.weekdays.shorthand[_i.w(e,t,r)]},F:function(e,t,r){return Sa(_i.n(e,t,r)-1,!1,t)},G:function(e,t,r){return Bt(_i.h(e,t,r))},H:e=>Bt(e.getHours()),J:function(e,t){return t.ordinal!==void 0?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:(e,t)=>t.amPM[tn(e.getHours()>11)],M:function(e,t){return Sa(e.getMonth(),!0,t)},S:e=>Bt(e.getSeconds()),U:e=>e.getTime()/1e3,W:function(e,t,r){return r.getWeek(e)},Y:e=>Bt(e.getFullYear(),4),d:e=>Bt(e.getDate()),h:e=>e.getHours()%12?e.getHours()%12:12,i:e=>Bt(e.getMinutes()),j:e=>e.getDate(),l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:e=>Bt(e.getMonth()+1),n:e=>e.getMonth()+1,s:e=>e.getSeconds(),u:e=>e.getTime(),w:e=>e.getDay(),y:e=>String(e.getFullYear()).substring(2)};var Mu=({config:e=wr,l10n:t=Ur,isMobile:r=!1})=>(n,i,a)=>{let o=a||t;return e.formatDate!==void 0&&!r?e.formatDate(n,i,o):i.split("").map((s,u,l)=>_i[s]&&l[u-1]!=="\\"?_i[s](n,o,e):s!=="\\"?s:"").join("")},ts=({config:e=wr,l10n:t=Ur})=>(r,n,i,a)=>{if(r!==0&&!r)return;let o=a||t,s,u=r;if(r.getDate)s=new Date(r.getTime());else if(typeof r!="string"&&r.toFixed!==void 0)s=new Date(r);else if(typeof r=="string"){let l=n||(e||wr).dateFormat,c=String(r).trim();if(c==="today")s=new Date,i=!0;else if(e&&e.parseDate)s=e.parseDate(r,l);else if(/Z$/.test(c)||/GMT$/.test(c))s=new Date(r);else{let d,f=[];for(let p=0,g=0,y="";ps=p(s,g,o)||s),s=d?s:void 0}}if(!(s.getDate&&!isNaN(s.getTime()))){e.errorHandler(new Error(`Invalid date provided: ${u}`));return}return i===!0&&s.setHours(0,0,0,0),s};function nn(e,t,r=!0){return r!==!1?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}var tv=(e,t,r)=>e>Math.min(t,r)&&ee*3600+t*60+r,nv=e=>{let t=Math.floor(e/3600),r=(e-t*3600)/60;return[t,r,e-t*3600-r*60]},rv={DAY:864e5};function rs(e){let t=e.defaultHour,r=e.defaultMinute,n=e.defaultSeconds;if(e.minDate!==void 0){let i=e.minDate.getHours(),a=e.minDate.getMinutes(),o=e.minDate.getSeconds();t=0?new Date:new Date(n.config.minDate.getTime()),ee=rs(n.config);$.setHours(ee.hours,ee.minutes,ee.seconds,$.getMilliseconds()),n.selectedDates=[$],n.latestSelectedDateObj=$}_!==void 0&&_.type!=="blur"&&to(_);let M=n._input.value;f(),xn(),n._input.value!==M&&n._debouncedChange()}function c(_,M){return _%12+12*tn(M===n.l10n.amPM[1])}function d(_){switch(_%24){case 0:case 12:return 12;default:return _%12}}function f(){if(n.hourElement===void 0||n.minuteElement===void 0)return;let _=(parseInt(n.hourElement.value.slice(-2),10)||0)%24,M=(parseInt(n.minuteElement.value,10)||0)%60,$=n.secondElement!==void 0?(parseInt(n.secondElement.value,10)||0)%60:0;n.amPM!==void 0&&(_=c(_,n.amPM.textContent));let ee=n.config.minTime!==void 0||n.config.minDate&&n.minDateHasTime&&n.latestSelectedDateObj&&nn(n.latestSelectedDateObj,n.config.minDate,!0)===0,le=n.config.maxTime!==void 0||n.config.maxDate&&n.maxDateHasTime&&n.latestSelectedDateObj&&nn(n.latestSelectedDateObj,n.config.maxDate,!0)===0;if(n.config.maxTime!==void 0&&n.config.minTime!==void 0&&n.config.minTime>n.config.maxTime){let re=ns(n.config.minTime.getHours(),n.config.minTime.getMinutes(),n.config.minTime.getSeconds()),ve=ns(n.config.maxTime.getHours(),n.config.maxTime.getMinutes(),n.config.maxTime.getSeconds()),ue=ns(_,M,$);if(ue>ve&&ue=12)]),n.secondElement!==void 0&&(n.secondElement.value=Bt($)))}function y(_){let M=rn(_),$=parseInt(M.value)+(_.delta||0);($/1e3>1||_.key==="Enter"&&!/[^\d]/.test($.toString()))&&te($)}function b(_,M,$,ee){if(Array.isArray(M))return M.forEach(le=>b(_,le,$,ee));if(Array.isArray(_))return _.forEach(le=>b(le,M,$,ee));_.addEventListener(M,$,ee),n._handlers.push({remove:()=>_.removeEventListener(M,$,ee)})}function k(){Ve("onChange")}function T(){if(n.config.wrap&&["open","close","toggle","clear"].forEach(M=>{Array.prototype.forEach.call(n.element.querySelectorAll(`[data-${M}]`),$=>b($,"click",n[M]))}),n.isMobile){qe();return}let _=Du(Ot,50,r);if(n._debouncedChange=Du(k,aS,r),n.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&b(n.daysContainer,"mouseover",M=>{n.config.mode==="range"&&vt(rn(M))}),b(n._input,"keydown",dt),n.calendarContainer!==void 0&&b(n.calendarContainer,"keydown",dt),!n.config.inline&&!n.config.static&&b(r,"resize",_),r.ontouchstart!==void 0?b(r.document,"touchstart",q):b(r.document,"mousedown",q),b(r.document,"focus",q,{capture:!0}),n.config.clickOpens===!0&&(b(n._input,"focus",n.open),b(n._input,"click",n.open)),n.daysContainer!==void 0&&(b(n.monthNav,"click",Sl),b(n.monthNav,["keyup","increment"],y),b(n.daysContainer,"click",Rt)),n.timeContainer!==void 0&&n.minuteElement!==void 0&&n.hourElement!==void 0){let M=$=>rn($).select();b(n.timeContainer,["increment"],l),b(n.timeContainer,"blur",l,{capture:!0}),b(n.timeContainer,"click",A),b([n.hourElement,n.minuteElement],["focus","click"],M),n.secondElement!==void 0&&b(n.secondElement,"focus",()=>n.secondElement&&n.secondElement.select()),n.amPM!==void 0&&b(n.amPM,"click",$=>{l($)})}n.config.allowInput&&b(n._input,"blur",Ue)}function C(_,M){let $=_!==void 0?n.parseDate(_):n.latestSelectedDateObj||(n.config.minDate&&n.config.minDate>n.now?n.config.minDate:n.config.maxDate&&n.config.maxDate1),n.calendarContainer.appendChild(_);let M=n.config.appendTo!==void 0&&n.config.appendTo.nodeType!==void 0;if((n.config.inline||n.config.static)&&(n.calendarContainer.classList.add(n.config.inline?"inline":"static"),n.config.inline&&(!M&&n.element.parentNode?n.element.parentNode.insertBefore(n.calendarContainer,n._input.nextSibling):n.config.appendTo!==void 0&&n.config.appendTo.appendChild(n.calendarContainer)),n.config.static)){let $=je(r.document,"div","flatpickr-wrapper");n.element.parentNode&&n.element.parentNode.insertBefore($,n.element),$.appendChild(n.element),n.altInput&&$.appendChild(n.altInput),$.appendChild(n.calendarContainer)}!n.config.static&&!n.config.inline&&(n.config.appendTo!==void 0?n.config.appendTo:r.document.body).appendChild(n.calendarContainer)}function K(_,M,$,ee){let le=we(M,!0),re=je(r.document,"span",_,M.getDate().toString());return re.dateObj=M,re.$i=ee,re.setAttribute("aria-label",n.formatDate(M,n.config.ariaDateFormat)),_.indexOf("hidden")===-1&&nn(M,n.now)===0&&(n.todayDateElem=re,re.classList.add("today"),re.setAttribute("aria-current","date")),le?(re.tabIndex=-1,Ye(M)&&(re.classList.add("selected"),n.selectedDateElem=re,n.config.mode==="range"&&(Kt(re,"startRange",n.selectedDates[0]&&nn(M,n.selectedDates[0],!0)===0),Kt(re,"endRange",n.selectedDates[1]&&nn(M,n.selectedDates[1],!0)===0),_==="nextMonthDay"&&re.classList.add("inRange")))):re.classList.add("flatpickr-disabled"),n.config.mode==="range"&&ir(M)&&!Ye(M)&&re.classList.add("inRange"),n.weekNumbers&&n.config.showMonths===1&&_!=="prevMonthDay"&&ee%7==6&&n.weekNumbers.insertAdjacentHTML("beforeend",""+n.config.getWeek(M)+""),Ve("onDayCreate",re),re}function z(_){_.focus(),n.config.mode==="range"&&vt(_)}function U(_){let M=_>0?0:n.config.showMonths-1,$=_>0?n.config.showMonths:-1;for(let ee=M;ee!=$;ee+=_){let le=n.daysContainer.children[ee],re=_>0?0:le.children.length-1,ve=_>0?le.children.length:-1;for(let ue=re;ue!=ve;ue+=_){let Fe=le.children[ue];if(Fe.className.indexOf("hidden")===-1&&we(Fe.dateObj))return Fe}}}function Z(_,M){let $=_.className.indexOf("Month")===-1?_.dateObj.getMonth():n.currentMonth,ee=M>0?n.config.showMonths:-1,le=M>0?1:-1;for(let re=$-n.currentMonth;re!=ee;re+=le){let ve=n.daysContainer.children[re],ue=$-n.currentMonth===re?_.$i+M:M<0?ve.children.length-1:0,Fe=ve.children.length;for(let Ne=ue;Ne>=0&&Ne0?Fe:-1);Ne+=le){let Me=ve.children[Ne];if(Me.className.indexOf("hidden")===-1&&we(Me.dateObj)&&Math.abs(_.$i-Ne)>=Math.abs(M))return z(Me)}}n.changeMonth(le),J(U(le),0)}function J(_,M){let $=o(),ee=ke($||n.element.doc.body),le=_!==void 0?_:ee?$:n.selectedDateElem!==void 0&&ke(n.selectedDateElem)?n.selectedDateElem:n.todayDateElem!==void 0&&ke(n.todayDateElem)?n.todayDateElem:U(M>0?1:-1);le===void 0?n._input.focus():ee?Z(le,M):z(le)}function se(_,M){let $=(new Date(_,M,1).getDay()-n.l10n.firstDayOfWeek+7)%7,ee=n.utils.getDaysInMonth((M-1+12)%12,_),le=n.utils.getDaysInMonth(M,_),re=r.document.createDocumentFragment(),ve=n.config.showMonths>1,ue=ve?"prevMonthDay hidden":"prevMonthDay",Fe=ve?"nextMonthDay hidden":"nextMonthDay",Ne=ee+1-$,Me=0;for(;Ne<=ee;Ne++,Me++)re.appendChild(K(`flatpickr-day ${ue}`,new Date(_,M-1,Ne),Ne,Me));for(Ne=1;Ne<=le;Ne++,Me++)re.appendChild(K("flatpickr-day",new Date(_,M,Ne),Ne,Me));for(let bt=le+1;bt<=42-$&&(n.config.showMonths===1||Me%7!=0);bt++,Me++)re.appendChild(K(`flatpickr-day ${Fe}`,new Date(_,M+1,bt%le),bt,Me));let Qt=je(r.document,"div","dayContainer");return Qt.appendChild(re),Qt}function G(){if(n.daysContainer===void 0)return;_a(n.daysContainer),n.weekNumbers&&_a(n.weekNumbers);let _=n.element.doc.createDocumentFragment();for(let M=0;M1||n.config.monthSelectorType!=="dropdown")return;let _=function(M){return n.config.minDate!==void 0&&n.currentYear===n.config.minDate.getFullYear()&&Mn.config.maxDate.getMonth())};n.monthsDropdownContainer.tabIndex=-1,n.monthsDropdownContainer.innerHTML="";for(let M=0;M<12;M++){if(!_(M))continue;let $=je(r.document,"option","flatpickr-monthDropdown-month");$.value=new Date(n.currentYear,M).getMonth().toString(),$.textContent=Sa(M,n.config.shorthandCurrentMonth,n.l10n),$.tabIndex=-1,n.currentMonth===M&&($.selected=!0),n.monthsDropdownContainer.appendChild($)}}function ie(){let _=je(r.document,"div","flatpickr-month"),M=r.document.createDocumentFragment(),$;n.config.showMonths>1||n.config.monthSelectorType==="static"?$=je(r.document,"span","cur-month"):(n.monthsDropdownContainer=je(r.document,"select","flatpickr-monthDropdown-months"),n.monthsDropdownContainer.setAttribute("aria-label",n.l10n.monthAriaLabel),b(n.monthsDropdownContainer,"change",ve=>{let ue=rn(ve),Fe=parseInt(ue.value,10);n.changeMonth(Fe-n.currentMonth),Ve("onMonthChange")}),Q(),$=n.monthsDropdownContainer);let ee=Ca(r.document,"cur-year",{tabindex:"-1"}),le=ee.getElementsByTagName("input")[0];le.setAttribute("aria-label",n.l10n.yearAriaLabel),n.config.minDate&&le.setAttribute("min",n.config.minDate.getFullYear().toString()),n.config.maxDate&&(le.setAttribute("max",n.config.maxDate.getFullYear().toString()),le.disabled=!!n.config.minDate&&n.config.minDate.getFullYear()===n.config.maxDate.getFullYear());let re=je(r.document,"div","flatpickr-current-month");return re.appendChild($),re.appendChild(ee),M.appendChild(re),_.appendChild(M),{container:_,yearElement:le,monthElement:$}}function he(){_a(n.monthNav),n.monthNav.appendChild(n.prevMonthNav),n.config.showMonths&&(n.yearElements=[],n.monthElements=[]);for(let _=n.config.showMonths;_--;){let M=ie();n.yearElements.push(M.yearElement),n.monthElements.push(M.monthElement),n.monthNav.appendChild(M.container)}n.monthNav.appendChild(n.nextMonthNav)}function pe(){return n.monthNav=je(r.document,"div","flatpickr-months"),n.yearElements=[],n.monthElements=[],n.prevMonthNav=je(r.document,"span","flatpickr-prev-month"),n.prevMonthNav.innerHTML=n.config.prevArrow,n.nextMonthNav=je(r.document,"span","flatpickr-next-month"),n.nextMonthNav.innerHTML=n.config.nextArrow,he(),Object.defineProperty(n,"_hidePrevMonthArrow",{get:()=>n.__hidePrevMonthArrow,set(_){n.__hidePrevMonthArrow!==_&&(Kt(n.prevMonthNav,"flatpickr-disabled",_),n.__hidePrevMonthArrow=_)}}),Object.defineProperty(n,"_hideNextMonthArrow",{get:()=>n.__hideNextMonthArrow,set(_){n.__hideNextMonthArrow!==_&&(Kt(n.nextMonthNav,"flatpickr-disabled",_),n.__hideNextMonthArrow=_)}}),n.currentYearElement=n.yearElements[0],Mt(),n.monthNav}function ge(){n.calendarContainer.classList.add("hasTime"),n.config.noCalendar&&n.calendarContainer.classList.add("noCalendar");let _=rs(n.config);n.timeContainer=je(r.document,"div","flatpickr-time"),n.timeContainer.tabIndex=-1;let M=je(r.document,"span","flatpickr-time-separator",":"),$=Ca(r.document,"flatpickr-hour",{"aria-label":n.l10n.hourAriaLabel});n.hourElement=$.getElementsByTagName("input")[0];let ee=Ca(r.document,"flatpickr-minute",{"aria-label":n.l10n.minuteAriaLabel});if(n.minuteElement=ee.getElementsByTagName("input")[0],n.hourElement.tabIndex=n.minuteElement.tabIndex=-1,n.hourElement.value=Bt(n.latestSelectedDateObj?n.latestSelectedDateObj.getHours():n.config.time_24hr?_.hours:d(_.hours)),n.minuteElement.value=Bt(n.latestSelectedDateObj?n.latestSelectedDateObj.getMinutes():_.minutes),n.hourElement.setAttribute("step",n.config.hourIncrement.toString()),n.minuteElement.setAttribute("step",n.config.minuteIncrement.toString()),n.hourElement.setAttribute("min",n.config.time_24hr?"0":"1"),n.hourElement.setAttribute("max",n.config.time_24hr?"23":"12"),n.hourElement.setAttribute("maxlength","2"),n.minuteElement.setAttribute("min","0"),n.minuteElement.setAttribute("max","59"),n.minuteElement.setAttribute("maxlength","2"),n.timeContainer.appendChild($),n.timeContainer.appendChild(M),n.timeContainer.appendChild(ee),n.config.time_24hr&&n.timeContainer.classList.add("time24hr"),n.config.enableSeconds){n.timeContainer.classList.add("hasSeconds");let le=Ca(r.document,"flatpickr-second");n.secondElement=le.getElementsByTagName("input")[0],n.secondElement.value=Bt(n.latestSelectedDateObj?n.latestSelectedDateObj.getSeconds():_.seconds),n.secondElement.setAttribute("step",n.minuteElement.getAttribute("step")),n.secondElement.setAttribute("min","0"),n.secondElement.setAttribute("max","59"),n.secondElement.setAttribute("maxlength","2"),n.timeContainer.appendChild(je(r.document,"span","flatpickr-time-separator",":")),n.timeContainer.appendChild(le)}return n.config.time_24hr||(n.amPM=je(r.document,"span","flatpickr-am-pm",n.l10n.amPM[tn((n.latestSelectedDateObj?n.hourElement.value:n.config.defaultHour)>11)]),n.amPM.title=n.l10n.toggleTitle,n.amPM.tabIndex=-1,n.timeContainer.appendChild(n.amPM)),n.timeContainer}function be(){n.weekdayContainer?_a(n.weekdayContainer):n.weekdayContainer=je(r.document,"div","flatpickr-weekdays");for(let _=n.config.showMonths;_--;){let M=je(r.document,"div","flatpickr-weekdaycontainer");n.weekdayContainer.appendChild(M)}return Te(),n.weekdayContainer}function Te(){if(!n.weekdayContainer)return;let _=n.l10n.firstDayOfWeek,M=[...n.l10n.weekdays.shorthand];_>0&&_-1&&(he.arrayIndex=ie.arrayIndex),J.matches.push(he)}}}),this.options.includeScore&&C.push(function(Z,J){J.score=Z.score});for(var A=0,H=b.length;Ax)return s(y,this.pattern,T);var C=this.options,A=C.location,H=C.distance,D=C.threshold,K=C.findAllMatches,z=C.minMatchCharLength;return u(y,this.pattern,this.patternAlphabet,{location:A,distance:H,threshold:D,findAllMatches:K,minMatchCharLength:z})}}])&&o(f.prototype,p),g&&o(f,g),d}();n.exports=c},function(n,i){var a=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;n.exports=function(o,s){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:/ +/g,l=new RegExp(s.replace(a,"\\$&").replace(u,"|")),c=o.match(l),d=!!c,f=[];if(d)for(var p=0,g=c.length;p=N;W-=1){var j=W-1,q=c[u.charAt(j)];if(q&&(J[j]=1),Ge[W]=(Ge[W+1]<<1|1)&q,be!==0&&(Ge[W]|=(ie[W+1]|ie[W])<<1|1|ie[W+1]),Ge[W]&ge&&(he=o(l,{errors:be,currentLocation:j,expectedLocation:D,distance:y}))<=z){if(z=he,(U=j)<=D)break;N=Math.max(1,2*D-U)}}if(o(l,{errors:be+1,currentLocation:D,expectedLocation:D,distance:y})>z)break;ie=Ge}return{isMatch:U>=0,score:he===0?.001:he,matchedIndices:s(J,H)}}},function(n,i){n.exports=function(a,o){var s=o.errors,u=s===void 0?0:s,l=o.currentLocation,c=l===void 0?0:l,d=o.expectedLocation,f=d===void 0?0:d,p=o.distance,g=p===void 0?100:p,y=u/a.length,b=Math.abs(f-c);return g?y+b/g:b?1:y}},function(n,i){n.exports=function(){for(var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,s=[],u=-1,l=-1,c=0,d=a.length;c=o&&s.push([u,l]),u=-1)}return a[c-1]&&c-u>=o&&s.push([u,c-1]),s}},function(n,i){n.exports=function(a){for(var o={},s=a.length,u=0;u0)return"Unexpected "+(R.length>1?"keys":"key")+" "+('"'+R.join('", "')+'" found in '+I+". ")+"Expected to find one of the known reducer keys instead: "+('"'+k.join('", "')+'". Unexpected keys will be ignored.')}function y(O){Object.keys(O).forEach(function(w){var E=O[w],v=E(void 0,{type:l.INIT});if(typeof v=="undefined")throw new Error('Reducer "'+w+`" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);if(typeof E(void 0,{type:l.PROBE_UNKNOWN_ACTION()})=="undefined")throw new Error('Reducer "'+w+'" returned undefined when probed with a random type. '+("Don't try to handle "+l.INIT+' or other actions in "redux/*" ')+"namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.")})}function b(O){for(var w=Object.keys(O),E={},v=0;v-1?O.map(function(E){var v=E;return v.id===parseInt(w.choiceId,10)&&(v.selected=!0),v}):O;case"REMOVE_ITEM":return w.choiceId>-1?O.map(function(E){var v=E;return v.id===parseInt(w.choiceId,10)&&(v.selected=!1),v}):O;case"FILTER_CHOICES":return O.map(function(E){var v=E;return v.active=w.results.some(function(k){var I=k.item,R=k.score;return I.id===v.id?(v.score=R,!0):!1}),v});case"ACTIVATE_CHOICES":return O.map(function(E){var v=E;return v.active=w.active,v});case"CLEAR_CHOICES":return G;default:return O}}var ie={loading:!1},he=function(w,E){switch(w===void 0&&(w=ie),E.type){case"SET_IS_LOADING":return{loading:E.isLoading};default:return w}},pe=he,ge=function(w,E){return Math.floor(Math.random()*(E-w)+w)},be=function(w){return Array.from({length:w},function(){return ge(0,36).toString(36)}).join("")},Te=function(w,E){var v=w.id||w.name&&w.name+"-"+be(2)||be(4);return v=v.replace(/(:|\.|\[|\]|,)/g,""),v=E+"-"+v,v},F=function(w){return Object.prototype.toString.call(w).slice(8,-1)},N=function(w,E){return E!=null&&F(E)===w},ut=function(w,E){return E===void 0&&(E=document.createElement("div")),w.nextSibling?w.parentNode.insertBefore(E,w.nextSibling):w.parentNode.appendChild(E),E.appendChild(w)},Ge=function(w,E,v){if(v===void 0&&(v=1),!(!(w instanceof Element)||typeof E!="string")){for(var k=(v>0?"next":"previous")+"ElementSibling",I=w[k];I;){if(I.matches(E))return I;I=I[k]}return I}},W=function(w,E,v){if(v===void 0&&(v=1),!w)return!1;var k;return v>0?k=E.scrollTop+E.offsetHeight>=w.offsetTop+w.offsetHeight:k=w.offsetTop>=E.scrollTop,k},j=function(w){return typeof w!="string"?w:w.replace(/&/g,"&").replace(/>/g,"&rt;").replace(/"'+j(w)+'"'},maxItemText:function(w){return"Only "+w+" values can be added"},valueComparer:function(w,E){return w===E},fuseOptions:{includeScore:!0},callbackOnInit:null,callbackOnCreateTemplates:null,classNames:ti},Rt={showDropdown:"showDropdown",hideDropdown:"hideDropdown",change:"change",choice:"choice",search:"search",addItem:"addItem",removeItem:"removeItem",highlightItem:"highlightItem",highlightChoice:"highlightChoice"},Wt={ADD_CHOICE:"ADD_CHOICE",FILTER_CHOICES:"FILTER_CHOICES",ACTIVATE_CHOICES:"ACTIVATE_CHOICES",CLEAR_CHOICES:"CLEAR_CHOICES",ADD_GROUP:"ADD_GROUP",ADD_ITEM:"ADD_ITEM",REMOVE_ITEM:"REMOVE_ITEM",HIGHLIGHT_ITEM:"HIGHLIGHT_ITEM",CLEAR_ALL:"CLEAR_ALL"},yt={BACK_KEY:46,DELETE_KEY:8,ENTER_KEY:13,A_KEY:65,ESC_KEY:27,UP_KEY:38,DOWN_KEY:40,PAGE_UP_KEY:33,PAGE_DOWN_KEY:34},Y="text",oe="select-one",Ee="select-multiple",ze=4,Tt=function(){function O(E){var v=E.element,k=E.type,I=E.classNames,R=E.position;this.element=v,this.classNames=I,this.type=k,this.position=R,this.isOpen=!1,this.isFlipped=!1,this.isFocussed=!1,this.isDisabled=!1,this.isLoading=!1,this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var w=O.prototype;return w.addEventListeners=function(){this.element.addEventListener("focus",this._onFocus),this.element.addEventListener("blur",this._onBlur)},w.removeEventListeners=function(){this.element.removeEventListener("focus",this._onFocus),this.element.removeEventListener("blur",this._onBlur)},w.shouldFlip=function(v){if(typeof v!="number")return!1;var k=!1;return this.position==="auto"?k=!window.matchMedia("(min-height: "+(v+1)+"px)").matches:this.position==="top"&&(k=!0),k},w.setActiveDescendant=function(v){this.element.setAttribute("aria-activedescendant",v)},w.removeActiveDescendant=function(){this.element.removeAttribute("aria-activedescendant")},w.open=function(v){this.element.classList.add(this.classNames.openState),this.element.setAttribute("aria-expanded","true"),this.isOpen=!0,this.shouldFlip(v)&&(this.element.classList.add(this.classNames.flippedState),this.isFlipped=!0)},w.close=function(){this.element.classList.remove(this.classNames.openState),this.element.setAttribute("aria-expanded","false"),this.removeActiveDescendant(),this.isOpen=!1,this.isFlipped&&(this.element.classList.remove(this.classNames.flippedState),this.isFlipped=!1)},w.focus=function(){this.isFocussed||this.element.focus()},w.addFocusState=function(){this.element.classList.add(this.classNames.focusState)},w.removeFocusState=function(){this.element.classList.remove(this.classNames.focusState)},w.enable=function(){this.element.classList.remove(this.classNames.disabledState),this.element.removeAttribute("aria-disabled"),this.type===oe&&this.element.setAttribute("tabindex","0"),this.isDisabled=!1},w.disable=function(){this.element.classList.add(this.classNames.disabledState),this.element.setAttribute("aria-disabled","true"),this.type===oe&&this.element.setAttribute("tabindex","-1"),this.isDisabled=!0},w.wrap=function(v){ut(v,this.element)},w.unwrap=function(v){this.element.parentNode.insertBefore(v,this.element),this.element.parentNode.removeChild(this.element)},w.addLoadingState=function(){this.element.classList.add(this.classNames.loadingState),this.element.setAttribute("aria-busy","true"),this.isLoading=!0},w.removeLoadingState=function(){this.element.classList.remove(this.classNames.loadingState),this.element.removeAttribute("aria-busy"),this.isLoading=!1},w._onFocus=function(){this.isFocussed=!0},w._onBlur=function(){this.isFocussed=!1},O}();function En(O,w){for(var E=0;E0?this.element.scrollTop+ae-V:v.offsetTop;requestAnimationFrame(function(){I._animateScroll(de,k)})}},w._scrollDown=function(v,k,I){var R=(I-v)/k,V=R>1?R:1;this.element.scrollTop=v+V},w._scrollUp=function(v,k,I){var R=(v-I)/k,V=R>1?R:1;this.element.scrollTop=v-V},w._animateScroll=function(v,k){var I=this,R=ze,V=this.element.scrollTop,X=!1;k>0?(this._scrollDown(V,R,v),Vv&&(X=!0)),X&&requestAnimationFrame(function(){I._animateScroll(v,k)})},O}();function fn(O,w){for(var E=0;E0?"treeitem":"option"),Object.assign(Re.dataset,{choice:"",id:de,value:ke,selectText:v}),Ce?(Re.classList.add(X),Re.dataset.choiceDisabled="",Re.setAttribute("aria-disabled","true")):(Re.classList.add(R),Re.dataset.choiceSelectable=""),Re},input:function(w,E){var v=w.input,k=w.inputCloned,I=Object.assign(document.createElement("input"),{type:"text",className:v+" "+k,autocomplete:"off",autocapitalize:"off",spellcheck:!1});return I.setAttribute("role","textbox"),I.setAttribute("aria-autocomplete","list"),I.setAttribute("aria-label",E),I},dropdown:function(w){var E=w.list,v=w.listDropdown,k=document.createElement("div");return k.classList.add(E,v),k.setAttribute("aria-expanded","false"),k},notice:function(w,E,v){var k=w.item,I=w.itemChoice,R=w.noResults,V=w.noChoices;v===void 0&&(v="");var X=[k,I];return v==="no-choices"?X.push(V):v==="no-results"&&X.push(R),Object.assign(document.createElement("div"),{innerHTML:E,className:X.join(" ")})},option:function(w){var E=w.label,v=w.value,k=w.customProperties,I=w.active,R=w.disabled,V=new Option(E,v,!1,I);return k&&(V.dataset.customProperties=k),V.disabled=R,V}},le=ee,re=function(w){var E=w.value,v=w.label,k=w.id,I=w.groupId,R=w.disabled,V=w.elementId,X=w.customProperties,ae=w.placeholder,de=w.keyCode;return{type:Wt.ADD_CHOICE,value:E,label:v,id:k,groupId:I,disabled:R,elementId:V,customProperties:X,placeholder:ae,keyCode:de}},ve=function(w){return{type:Wt.FILTER_CHOICES,results:w}},ue=function(w){return w===void 0&&(w=!0),{type:Wt.ACTIVATE_CHOICES,active:w}},Fe=function(){return{type:Wt.CLEAR_CHOICES}},Ne=function(w){var E=w.value,v=w.label,k=w.id,I=w.choiceId,R=w.groupId,V=w.customProperties,X=w.placeholder,ae=w.keyCode;return{type:Wt.ADD_ITEM,value:E,label:v,id:k,choiceId:I,groupId:R,customProperties:V,placeholder:X,keyCode:ae}},Me=function(w,E){return{type:Wt.REMOVE_ITEM,id:w,choiceId:E}},Qt=function(w,E){return{type:Wt.HIGHLIGHT_ITEM,id:w,highlighted:E}},bt=function(w){var E=w.value,v=w.id,k=w.active,I=w.disabled;return{type:Wt.ADD_GROUP,value:E,id:v,active:k,disabled:I}},ar=function(){return{type:"CLEAR_ALL"}},or=function(w){return{type:"RESET_TO",state:w}},zi=function(w){return{type:"SET_IS_LOADING",isLoading:w}};function no(O,w){for(var E=0;E=0?this._store.getGroupById(V):null;return this._store.dispatch(Qt(I,!0)),k&&this.passedElement.triggerEvent(Rt.highlightItem,{id:I,value:ae,label:ke,groupValue:ye&&ye.value?ye.value:null}),this},w.unhighlightItem=function(v){if(!v)return this;var k=v.id,I=v.groupId,R=I===void 0?-1:I,V=v.value,X=V===void 0?"":V,ae=v.label,de=ae===void 0?"":ae,ke=R>=0?this._store.getGroupById(R):null;return this._store.dispatch(Qt(k,!1)),this.passedElement.triggerEvent(Rt.highlightItem,{id:k,value:X,label:de,groupValue:ke&&ke.value?ke.value:null}),this},w.highlightAll=function(){var v=this;return this._store.items.forEach(function(k){return v.highlightItem(k)}),this},w.unhighlightAll=function(){var v=this;return this._store.items.forEach(function(k){return v.unhighlightItem(k)}),this},w.removeActiveItemsByValue=function(v){var k=this;return this._store.activeItems.filter(function(I){return I.value===v}).forEach(function(I){return k._removeItem(I)}),this},w.removeActiveItems=function(v){var k=this;return this._store.activeItems.filter(function(I){var R=I.id;return R!==v}).forEach(function(I){return k._removeItem(I)}),this},w.removeHighlightedItems=function(v){var k=this;return v===void 0&&(v=!1),this._store.highlightedActiveItems.forEach(function(I){k._removeItem(I),v&&k._triggerChange(I.value)}),this},w.showDropdown=function(v){var k=this;return this.dropdown.isActive?this:(requestAnimationFrame(function(){k.dropdown.show(),k.containerOuter.open(k.dropdown.distanceFromTopWindow),!v&&k._canSearch&&k.input.focus(),k.passedElement.triggerEvent(Rt.showDropdown,{})}),this)},w.hideDropdown=function(v){var k=this;return this.dropdown.isActive?(requestAnimationFrame(function(){k.dropdown.hide(),k.containerOuter.close(),!v&&k._canSearch&&(k.input.removeActiveDescendant(),k.input.blur()),k.passedElement.triggerEvent(Rt.hideDropdown,{})}),this):this},w.getValue=function(v){v===void 0&&(v=!1);var k=this._store.activeItems.reduce(function(I,R){var V=v?R.value:R;return I.push(V),I},[]);return this._isSelectOneElement?k[0]:k},w.setValue=function(v){var k=this;return this.initialised?(v.forEach(function(I){return k._setChoiceOrItem(I)}),this):this},w.setChoiceByValue=function(v){var k=this;if(!this.initialised||this._isTextElement)return this;var I=Array.isArray(v)?v:[v];return I.forEach(function(R){return k._findAndSelectChoiceByValue(R)}),this},w.setChoices=function(v,k,I,R){var V=this;if(v===void 0&&(v=[]),k===void 0&&(k="value"),I===void 0&&(I="label"),R===void 0&&(R=!1),!this.initialised)throw new ReferenceError("setChoices was called on a non-initialized instance of Choices");if(!this._isSelectElement)throw new TypeError("setChoices can't be used with INPUT based Choices");if(typeof k!="string"||!k)throw new TypeError("value parameter must be a name of 'value' field in passed objects");if(R&&this.clearChoices(),typeof v=="function"){var X=v(this);if(typeof Promise=="function"&&X instanceof Promise)return new Promise(function(ae){return requestAnimationFrame(ae)}).then(function(){return V._handleLoadingState(!0)}).then(function(){return X}).then(function(ae){return V.setChoices(ae,k,I,R)}).catch(function(ae){V.config.silent||console.error(ae)}).then(function(){return V._handleLoadingState(!1)}).then(function(){return V});if(!Array.isArray(X))throw new TypeError(".setChoices first argument function must return either array of choices or Promise, got: "+typeof X);return this.setChoices(X,k,I,!1)}if(!Array.isArray(v))throw new TypeError(".setChoices must be called either with array of choices with a function resulting into Promise of array of choices");return this.containerOuter.removeLoadingState(),this._startLoading(),v.forEach(function(ae){ae.choices?V._addGroup({id:parseInt(ae.id,10)||null,group:ae,valueKey:k,labelKey:I}):V._addChoice({value:ae[k],label:ae[I],isSelected:ae.selected,isDisabled:ae.disabled,customProperties:ae.customProperties,placeholder:ae.placeholder})}),this._stopLoading(),this},w.clearChoices=function(){return this._store.dispatch(Fe()),this},w.clearStore=function(){return this._store.dispatch(ar()),this},w.clearInput=function(){var v=!this._isSelectOneElement;return this.input.clear(v),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch(ue(!0))),this},w._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var v=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,k=this._isSelectElement,I=this._currentState.items!==this._prevState.items;!v||(k&&this._renderChoices(),I&&this._renderItems(),this._prevState=this._currentState)}},w._renderChoices=function(){var v=this,k=this._store,I=k.activeGroups,R=k.activeChoices,V=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame(function(){return v.choiceList.scrollToTop()}),I.length>=1&&!this._isSearching){var X=R.filter(function(Ie){return Ie.placeholder===!0&&Ie.groupId===-1});X.length>=1&&(V=this._createChoicesFragment(X,V)),V=this._createGroupsFragment(I,R,V)}else R.length>=1&&(V=this._createChoicesFragment(R,V));if(V.childNodes&&V.childNodes.length>0){var ae=this._store.activeItems,de=this._canAddItem(ae,this.input.value);de.response?(this.choiceList.append(V),this._highlightChoice()):this.choiceList.append(this._getTemplate("notice",de.notice))}else{var ke,ye;this._isSearching?(ye=typeof this.config.noResultsText=="function"?this.config.noResultsText():this.config.noResultsText,ke=this._getTemplate("notice",ye,"no-results")):(ye=typeof this.config.noChoicesText=="function"?this.config.noChoicesText():this.config.noChoicesText,ke=this._getTemplate("notice",ye,"no-choices")),this.choiceList.append(ke)}},w._renderItems=function(){var v=this._store.activeItems||[];this.itemList.clear();var k=this._createItemsFragment(v);k.childNodes&&this.itemList.append(k)},w._createGroupsFragment=function(v,k,I){var R=this;I===void 0&&(I=document.createDocumentFragment());var V=function(ae){return k.filter(function(de){return R._isSelectOneElement?de.groupId===ae.id:de.groupId===ae.id&&(R.config.renderSelectedChoices==="always"||!de.selected)})};return this.config.shouldSort&&v.sort(this.config.sorter),v.forEach(function(X){var ae=V(X);if(ae.length>=1){var de=R._getTemplate("choiceGroup",X);I.appendChild(de),R._createChoicesFragment(ae,I,!0)}}),I},w._createChoicesFragment=function(v,k,I){var R=this;k===void 0&&(k=document.createDocumentFragment()),I===void 0&&(I=!1);var V=this.config,X=V.renderSelectedChoices,ae=V.searchResultLimit,de=V.renderChoiceLimit,ke=this._isSearching?we:this.config.sorter,ye=function(zt){var Mr=X==="auto"?R._isSelectOneElement||!zt.selected:!0;if(Mr){var Ir=R._getTemplate("choice",zt,R.config.itemSelectText);k.appendChild(Ir)}},Ie=v;X==="auto"&&!this._isSelectOneElement&&(Ie=v.filter(function(Ht){return!Ht.selected}));var Oe=Ie.reduce(function(Ht,zt){return zt.placeholder?Ht.placeholderChoices.push(zt):Ht.normalChoices.push(zt),Ht},{placeholderChoices:[],normalChoices:[]}),Ce=Oe.placeholderChoices,$e=Oe.normalChoices;(this.config.shouldSort||this._isSearching)&&$e.sort(ke);var Le=Ie.length,Re=this._isSelectOneElement?[].concat(Ce,$e):$e;this._isSearching?Le=ae:de&&de>0&&!I&&(Le=de);for(var ft=0;ft=R){var ae=V?this._searchChoices(v):0;this.passedElement.triggerEvent(Rt.search,{value:v,resultCount:ae})}else X&&(this._isSearching=!1,this._store.dispatch(ue(!0)))}},w._canAddItem=function(v,k){var I=!0,R=typeof this.config.addItemText=="function"?this.config.addItemText(k):this.config.addItemText;if(!this._isSelectOneElement){var V=Ue(v,k);this.config.maxItemCount>0&&this.config.maxItemCount<=v.length&&(I=!1,R=typeof this.config.maxItemText=="function"?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&V&&I&&(I=!1,R=typeof this.config.uniqueItemText=="function"?this.config.uniqueItemText(k):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&I&&typeof this.config.addItemFilter=="function"&&!this.config.addItemFilter(k)&&(I=!1,R=typeof this.config.customAddItemText=="function"?this.config.customAddItemText(k):this.config.customAddItemText)}return{response:I,notice:R}},w._searchChoices=function(v){var k=typeof v=="string"?v.trim():v,I=typeof this._currentValue=="string"?this._currentValue.trim():this._currentValue;if(k.length<1&&k===I+" ")return 0;var R=this._store.searchableChoices,V=k,X=[].concat(this.config.searchFields),ae=Object.assign(this.config.fuseOptions,{keys:X}),de=new i.a(R,ae),ke=de.search(V);return this._currentValue=k,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch(ve(ke)),ke.length},w._addEventListeners=function(){var v=document,k=v.documentElement;k.addEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.addEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.addEventListener("mousedown",this._onMouseDown,!0),k.addEventListener("click",this._onClick,{passive:!0}),k.addEventListener("touchmove",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener("mouseover",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener("focus",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener("blur",this._onBlur,{passive:!0})),this.input.element.addEventListener("keyup",this._onKeyUp,{passive:!0}),this.input.element.addEventListener("focus",this._onFocus,{passive:!0}),this.input.element.addEventListener("blur",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener("reset",this._onFormReset,{passive:!0}),this.input.addEventListeners()},w._removeEventListeners=function(){var v=document,k=v.documentElement;k.removeEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.removeEventListener("mousedown",this._onMouseDown,!0),k.removeEventListener("click",this._onClick),k.removeEventListener("touchmove",this._onTouchMove),this.dropdown.element.removeEventListener("mouseover",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener("focus",this._onFocus),this.containerOuter.element.removeEventListener("blur",this._onBlur)),this.input.element.removeEventListener("keyup",this._onKeyUp),this.input.element.removeEventListener("focus",this._onFocus),this.input.element.removeEventListener("blur",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener("reset",this._onFormReset),this.input.removeEventListeners()},w._onKeyDown=function(v){var k,I=v.target,R=v.keyCode,V=v.ctrlKey,X=v.metaKey,ae=this._store.activeItems,de=this.input.isFocussed,ke=this.dropdown.isActive,ye=this.itemList.hasChildren(),Ie=String.fromCharCode(R),Oe=yt.BACK_KEY,Ce=yt.DELETE_KEY,$e=yt.ENTER_KEY,Le=yt.A_KEY,Re=yt.ESC_KEY,ft=yt.UP_KEY,Ht=yt.DOWN_KEY,zt=yt.PAGE_UP_KEY,Mr=yt.PAGE_DOWN_KEY,Ir=V||X;!this._isTextElement&&/[a-zA-Z0-9-_ ]/.test(Ie)&&this.showDropdown();var ni=(k={},k[Le]=this._onAKey,k[$e]=this._onEnterKey,k[Re]=this._onEscapeKey,k[ft]=this._onDirectionKey,k[zt]=this._onDirectionKey,k[Ht]=this._onDirectionKey,k[Mr]=this._onDirectionKey,k[Ce]=this._onDeleteKey,k[Oe]=this._onDeleteKey,k);ni[R]&&ni[R]({event:v,target:I,keyCode:R,metaKey:X,activeItems:ae,hasFocusedInput:de,hasActiveDropdown:ke,hasItems:ye,hasCtrlDownKeyPressed:Ir})},w._onKeyUp=function(v){var k=v.target,I=v.keyCode,R=this.input.value,V=this._store.activeItems,X=this._canAddItem(V,R),ae=yt.BACK_KEY,de=yt.DELETE_KEY;if(this._isTextElement){var ke=X.notice&&R;if(ke){var ye=this._getTemplate("notice",X.notice);this.dropdown.element.innerHTML=ye.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0)}else{var Ie=(I===ae||I===de)&&!k.value,Oe=!this._isTextElement&&this._isSearching,Ce=this._canSearch&&X.response;Ie&&Oe?(this._isSearching=!1,this._store.dispatch(ue(!0))):Ce&&this._handleSearch(this.input.value)}this._canSearch=this.config.searchEnabled},w._onAKey=function(v){var k=v.hasItems,I=v.hasCtrlDownKeyPressed;if(I&&k){this._canSearch=!1;var R=this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement;R&&this.highlightAll()}},w._onEnterKey=function(v){var k=v.event,I=v.target,R=v.activeItems,V=v.hasActiveDropdown,X=yt.ENTER_KEY,ae=I.hasAttribute("data-button");if(this._isTextElement&&I.value){var de=this.input.value,ke=this._canAddItem(R,de);ke.response&&(this.hideDropdown(!0),this._addItem({value:de}),this._triggerChange(de),this.clearInput())}if(ae&&(this._handleButtonAction(R,I),k.preventDefault()),V){var ye=this.dropdown.getChild("."+this.config.classNames.highlightedState);ye&&(R[0]&&(R[0].keyCode=X),this._handleChoiceAction(R,ye)),k.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),k.preventDefault())},w._onEscapeKey=function(v){var k=v.hasActiveDropdown;k&&(this.hideDropdown(!0),this.containerOuter.focus())},w._onDirectionKey=function(v){var k=v.event,I=v.hasActiveDropdown,R=v.keyCode,V=v.metaKey,X=yt.DOWN_KEY,ae=yt.PAGE_UP_KEY,de=yt.PAGE_DOWN_KEY;if(I||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var ke=R===X||R===de?1:-1,ye=V||R===de||R===ae,Ie="[data-choice-selectable]",Oe;if(ye)ke>0?Oe=this.dropdown.element.querySelector(Ie+":last-of-type"):Oe=this.dropdown.element.querySelector(Ie);else{var Ce=this.dropdown.element.querySelector("."+this.config.classNames.highlightedState);Ce?Oe=Ge(Ce,Ie,ke):Oe=this.dropdown.element.querySelector(Ie)}Oe&&(W(Oe,this.choiceList.element,ke)||this.choiceList.scrollToChildElement(Oe,ke),this._highlightChoice(Oe)),k.preventDefault()}},w._onDeleteKey=function(v){var k=v.event,I=v.target,R=v.hasFocusedInput,V=v.activeItems;R&&!I.value&&!this._isSelectOneElement&&(this._handleBackspace(V),k.preventDefault())},w._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},w._onTouchEnd=function(v){var k=v||v.touches[0],I=k.target,R=this._wasTap&&this.containerOuter.element.contains(I);if(R){var V=I===this.containerOuter.element||I===this.containerInner.element;V&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),v.stopPropagation()}this._wasTap=!0},w._onMouseDown=function(v){var k=v.target;if(k instanceof HTMLElement){if(ji&&this.choiceList.element.contains(k)){var I=this.choiceList.element.firstElementChild,R=this._direction==="ltr"?v.offsetX>=I.offsetWidth:v.offsetX0;R&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0)}},w._onFocus=function(v){var k=this,I,R=v.target,V=this.containerOuter.element.contains(R);if(!!V){var X=(I={},I[Y]=function(){R===k.input.element&&k.containerOuter.addFocusState()},I[oe]=function(){k.containerOuter.addFocusState(),R===k.input.element&&k.showDropdown(!0)},I[Ee]=function(){R===k.input.element&&(k.showDropdown(!0),k.containerOuter.addFocusState())},I);X[this.passedElement.element.type]()}},w._onBlur=function(v){var k=this,I=v.target,R=this.containerOuter.element.contains(I);if(R&&!this._isScrollingOnIe){var V,X=this._store.activeItems,ae=X.some(function(ke){return ke.highlighted}),de=(V={},V[Y]=function(){I===k.input.element&&(k.containerOuter.removeFocusState(),ae&&k.unhighlightAll(),k.hideDropdown(!0))},V[oe]=function(){k.containerOuter.removeFocusState(),(I===k.input.element||I===k.containerOuter.element&&!k._canSearch)&&k.hideDropdown(!0)},V[Ee]=function(){I===k.input.element&&(k.containerOuter.removeFocusState(),k.hideDropdown(!0),ae&&k.unhighlightAll())},V);de[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},w._onFormReset=function(){this._store.dispatch(or(this._initialState))},w._highlightChoice=function(v){var k=this;v===void 0&&(v=null);var I=Array.from(this.dropdown.element.querySelectorAll("[data-choice-selectable]"));if(!!I.length){var R=v,V=Array.from(this.dropdown.element.querySelectorAll("."+this.config.classNames.highlightedState));V.forEach(function(X){X.classList.remove(k.config.classNames.highlightedState),X.setAttribute("aria-selected","false")}),R?this._highlightPosition=I.indexOf(R):(I.length>this._highlightPosition?R=I[this._highlightPosition]:R=I[I.length-1],R||(R=I[0])),R.classList.add(this.config.classNames.highlightedState),R.setAttribute("aria-selected","true"),this.passedElement.triggerEvent(Rt.highlightChoice,{el:R}),this.dropdown.isActive&&(this.input.setActiveDescendant(R.id),this.containerOuter.setActiveDescendant(R.id))}},w._addItem=function(v){var k=v.value,I=v.label,R=I===void 0?null:I,V=v.choiceId,X=V===void 0?-1:V,ae=v.groupId,de=ae===void 0?-1:ae,ke=v.customProperties,ye=ke===void 0?null:ke,Ie=v.placeholder,Oe=Ie===void 0?!1:Ie,Ce=v.keyCode,$e=Ce===void 0?null:Ce,Le=typeof k=="string"?k.trim():k,Re=$e,ft=ye,Ht=this._store.items,zt=R||Le,Mr=X||-1,Ir=de>=0?this._store.getGroupById(de):null,ni=Ht?Ht.length+1:1;return this.config.prependValue&&(Le=this.config.prependValue+Le.toString()),this.config.appendValue&&(Le+=this.config.appendValue.toString()),this._store.dispatch(Ne({value:Le,label:zt,id:ni,choiceId:Mr,groupId:de,customProperties:ye,placeholder:Oe,keyCode:Re})),this._isSelectOneElement&&this.removeActiveItems(ni),this.passedElement.triggerEvent(Rt.addItem,{id:ni,value:Le,label:zt,customProperties:ft,groupValue:Ir&&Ir.value?Ir.value:void 0,keyCode:Re}),this},w._removeItem=function(v){if(!v||!N("Object",v))return this;var k=v.id,I=v.value,R=v.label,V=v.choiceId,X=v.groupId,ae=X>=0?this._store.getGroupById(X):null;return this._store.dispatch(Me(k,V)),ae&&ae.value?this.passedElement.triggerEvent(Rt.removeItem,{id:k,value:I,label:R,groupValue:ae.value}):this.passedElement.triggerEvent(Rt.removeItem,{id:k,value:I,label:R}),this},w._addChoice=function(v){var k=v.value,I=v.label,R=I===void 0?null:I,V=v.isSelected,X=V===void 0?!1:V,ae=v.isDisabled,de=ae===void 0?!1:ae,ke=v.groupId,ye=ke===void 0?-1:ke,Ie=v.customProperties,Oe=Ie===void 0?null:Ie,Ce=v.placeholder,$e=Ce===void 0?!1:Ce,Le=v.keyCode,Re=Le===void 0?null:Le;if(!(typeof k=="undefined"||k===null)){var ft=this._store.choices,Ht=R||k,zt=ft?ft.length+1:1,Mr=this._baseId+"-"+this._idNames.itemChoice+"-"+zt;this._store.dispatch(re({id:zt,groupId:ye,elementId:Mr,value:k,label:Ht,disabled:de,customProperties:Oe,placeholder:$e,keyCode:Re})),X&&this._addItem({value:k,label:Ht,choiceId:zt,customProperties:Oe,placeholder:$e,keyCode:Re})}},w._addGroup=function(v){var k=this,I=v.group,R=v.id,V=v.valueKey,X=V===void 0?"value":V,ae=v.labelKey,de=ae===void 0?"label":ae,ke=N("Object",I)?I.choices:Array.from(I.getElementsByTagName("OPTION")),ye=R||Math.floor(new Date().valueOf()*Math.random()),Ie=I.disabled?I.disabled:!1;if(ke){this._store.dispatch(bt({value:I.label,id:ye,active:!0,disabled:Ie}));var Oe=function($e){var Le=$e.disabled||$e.parentNode&&$e.parentNode.disabled;k._addChoice({value:$e[X],label:N("Object",$e)?$e[de]:$e.innerHTML,isSelected:$e.selected,isDisabled:Le,groupId:ye,customProperties:$e.customProperties,placeholder:$e.placeholder})};ke.forEach(Oe)}else this._store.dispatch(bt({value:I.label,id:I.id,active:!1,disabled:I.disabled}))},w._getTemplate=function(v){var k;if(!v)return null;for(var I=this.config.classNames,R=arguments.length,V=new Array(R>1?R-1:0),X=1;X{m();(function(e,t){typeof sl=="object"&&typeof Nw!="undefined"?t(sl):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.immutableJSONPatch={}))})(sl,function(e){"use strict";function t(W){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?t=function(q){return typeof q}:t=function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q},t(W)}function r(W,j){return JSON.stringify(W)===JSON.stringify(j)}function n(W,j){return W===j}function i(W){return W.slice(0,W.length-1)}function a(W){return W[W.length-1]}function o(W,j){var q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n;if(W.length3&&arguments[3]!==void 0?arguments[3]:!1;if(j.length===0)return q;var we=j[0],xe=y(W?W[we]:void 0,j.slice(1),q,te);if(!s(W))if(te){var Ue=typeof we=="number"?[]:{};return Ue[we]=xe,Ue}else throw new Error("Path does not exist");return p(W,we,xe)}function b(W,j,q){if(j.length===0)return q(W);if(!s(W))throw new Error("Path doesn't exist");var te=j[0],we=b(W[te],j.slice(1),q);return p(W,te,we)}function x(W,j){if(j.length===0)return W;if(!s(W))throw new Error("Path does not exist");if(j.length===1){var q=j[0];if(q in W){var te=f(W);return Array.isArray(te)?te.splice(q,1):delete te[q],te}else return W}var we=j[0],xe=x(W[we],j.slice(1));return p(W,we,xe)}function T(W,j,q){var te=j.slice(0,j.length-1),we=j[j.length-1];return b(W,te,function(xe){if(!Array.isArray(xe))throw new TypeError("Array expected at path "+JSON.stringify(te));var Ue=f(xe);return Ue.splice(we,0,q),Ue})}function C(W,j){return W===void 0?!1:j.length===0?!0:C(W[j[0]],j.slice(1))}function A(W){var j=W.split("/");return j.shift(),j.map(function(q){return q.replace(/~1/g,"/").replace(/~0/g,"~")})}function H(W){return W.map(function(j){return"/"+String(j).replace(/~/g,"~0").replace(/\//g,"~1")}).join("")}function D(W,j,q){for(var te=W,we=0;we{m();(function(){var e;typeof wf!="undefined"?e=wf.exports=n:e=function(){return this||(0,eval)("this")}(),e.format=n,e.vsprintf=r,typeof console!="undefined"&&typeof console.log=="function"&&(e.printf=t);function t(){console.log(n.apply(null,arguments))}function r(i,a){return n.apply(null,[i].concat(a))}function n(i){for(var a=1,o=[].slice.call(arguments),s=0,u=i.length,l="",c,d=!1,f,p,g=!1,y,b=function(){return o[a++]},x=function(){for(var T="";/\d/.test(i[s]);)T+=i[s++],c=i[s];return T.length>0?parseInt(T):null};sTf});m();m();function Il(e,t){let r=Object.keys(t).map(n=>ok(e,n,t[n]));return r.length===1?r[0]:function(){r.forEach(n=>n())}}function ok(e,t,r){let n=e[t],i=e.hasOwnProperty(t),a=r(n);return n&&Object.setPrototypeOf(a,n),Object.setPrototypeOf(o,a),e[t]=o,s;function o(...u){return a===n&&e[t]===o&&s(),a.apply(this,u)}function s(){e[t]===o&&(i?e[t]=n:delete e[t]),a!==n&&(a=n,Object.setPrototypeOf(o,n||Function))}}var Dt=me(require("obsidian"));m();m();Ar();var oi,kt,Al,qf,si=0,Yf=[],lo=[],Jf=fe.__b,Gf=fe.__r,Qf=fe.diffed,Xf=fe.__c,Zf=fe.unmount;function Xi(e,t){fe.__h&&fe.__h(kt,e,si||t),si=0;var r=kt.__H||(kt.__H={__:[],__h:[]});return e>=r.__.length&&r.__.push({__V:lo}),r.__[e]}function sr(e){return si=1,Zi(tp,e)}function Zi(e,t,r){var n=Xi(oi++,2);return n.t=e,n.__c||(n.__=[r?r(t):tp(void 0,t),function(i){var a=n.t(n.__[0],i);n.__[0]!==a&&(n.__=[a,n.__[1]],n.__c.setState({}))}],n.__c=kt),n.__}function Sn(e,t){var r=Xi(oi++,3);!fe.__s&&Pl(r.__H,t)&&(r.__=e,r.u=t,kt.__H.__h.push(r))}function Lr(e,t){var r=Xi(oi++,4);!fe.__s&&Pl(r.__H,t)&&(r.__=e,r.u=t,kt.__h.push(r))}function Xt(e){return si=5,lr(function(){return{current:e}},[])}function co(e,t,r){si=6,Lr(function(){return typeof e=="function"?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},r==null?r:r.concat(e))}function lr(e,t){var r=Xi(oi++,7);return Pl(r.__H,t)?(r.__V=e(),r.u=t,r.__h=e,r.__V):r.__}function cr(e,t){return si=8,lr(function(){return e},t)}function uo(e){var t=kt.context[e.__c],r=Xi(oi++,9);return r.c=e,t?(r.__==null&&(r.__=!0,t.sub(kt)),t.props.value):e.__}function fo(e,t){fe.useDebugValue&&fe.useDebugValue(t?t(e):e)}function sk(){for(var e;e=Yf.shift();)if(e.__P)try{e.__H.__h.forEach(po),e.__H.__h.forEach(Ll),e.__H.__h=[]}catch(t){e.__H.__h=[],fe.__e(t,e.__v)}}fe.__b=function(e){kt=null,Jf&&Jf(e)},fe.__r=function(e){Gf&&Gf(e),oi=0;var t=(kt=e.__c).__H;t&&(Al===kt?(t.__h=[],kt.__h=[],t.__.forEach(function(r){r.__V=lo,r.u=void 0})):(t.__h.forEach(po),t.__h.forEach(Ll),t.__h=[])),Al=kt},fe.diffed=function(e){Qf&&Qf(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Yf.push(t)!==1&&qf===fe.requestAnimationFrame||((qf=fe.requestAnimationFrame)||function(r){var n,i=function(){clearTimeout(a),ep&&cancelAnimationFrame(n),setTimeout(r)},a=setTimeout(i,100);ep&&(n=requestAnimationFrame(i))})(sk)),t.__H.__.forEach(function(r){r.u&&(r.__H=r.u),r.__V!==lo&&(r.__=r.__V),r.u=void 0,r.__V=lo})),Al=kt=null},fe.__c=function(e,t){t.some(function(r){try{r.__h.forEach(po),r.__h=r.__h.filter(function(n){return!n.__||Ll(n)})}catch(n){t.some(function(i){i.__h&&(i.__h=[])}),t=[],fe.__e(n,r.__v)}}),Xf&&Xf(e,t)},fe.unmount=function(e){Zf&&Zf(e);var t,r=e.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{po(n)}catch(i){t=i}}),t&&fe.__e(t,r.__v))};var ep=typeof requestAnimationFrame=="function";function po(e){var t=kt,r=e.__c;typeof r=="function"&&(e.__c=void 0,r()),kt=t}function Ll(e){var t=kt;e.__c=e.__(),kt=t}function Pl(e,t){return!e||e.length!==t.length||t.some(function(r,n){return r!==e[n]})}function tp(e,t){return typeof t=="function"?t(e):t}Ar();Ar();function np(e,t){for(var r in t)e[r]=t[r];return e}function Fl(e,t){for(var r in e)if(r!=="__source"&&!(r in t))return!0;for(var n in t)if(n!=="__source"&&e[n]!==t[n])return!0;return!1}function Nl(e){this.props=e}function lk(e,t){function r(i){var a=this.props.ref,o=a==i.ref;return!o&&a&&(a.call?a(null):a.current=null),t?!t(this.props,i)||!o:Fl(this.props,i)}function n(i){return this.shouldComponentUpdate=r,h(e,i)}return n.displayName="Memo("+(e.displayName||e.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n}(Nl.prototype=new ht).isPureReactComponent=!0,Nl.prototype.shouldComponentUpdate=function(e,t){return Fl(this.props,e)||Fl(this.state,t)};var rp=fe.__b;fe.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),rp&&rp(e)};var ck=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function uk(e){function t(r){var n=np({},r);return delete n.ref,e(n,r.ref||null)}return t.$$typeof=ck,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var ip=function(e,t){return e==null?null:wt(wt(e).map(t))},dk={map:ip,forEach:ip,count:function(e){return e?wt(e).length:0},only:function(e){var t=wt(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:wt},fk=fe.__e;fe.__e=function(e,t,r,n){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e==null&&(t.__e=r.__e,t.__k=r.__k),i.__c(e,t)}fk(e,t,r,n)};var ap=fe.unmount;function ho(){this.__u=0,this.t=null,this.__b=null}function op(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function pk(e){var t,r,n;function i(a){if(t||(t=e()).then(function(o){r=o.default||o},function(o){n=o}),n)throw n;if(!r)throw t;return h(r,a)}return i.displayName="Lazy",i.__f=!0,i}function ea(){this.u=null,this.o=null}fe.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),ap&&ap(e)},(ho.prototype=new ht).__c=function(e,t){var r=t.__c,n=this;n.t==null&&(n.t=[]),n.t.push(r);var i=op(n.__v),a=!1,o=function(){a||(a=!0,r.__R=null,i?i(s):s())};r.__R=o;var s=function(){if(!--n.__u){if(n.state.__e){var l=n.state.__e;n.__v.__k[0]=function d(f,p,g){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(y){return d(y,p,g)}),f.__c&&f.__c.__P===p&&(f.__e&&g.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=g)),f}(l,l.__c.__P,l.__c.__O)}var c;for(n.setState({__e:n.__b=null});c=n.t.pop();)c.forceUpdate()}},u=t.__h===!0;n.__u++||u||n.setState({__e:n.__b=n.__v.__k[0]}),e.then(o,o)},ho.prototype.componentWillUnmount=function(){this.t=[]},ho.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function a(o,s,u){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(l){typeof l.__c=="function"&&l.__c()}),o.__c.__H=null),(o=np({},o)).__c!=null&&(o.__c.__P===u&&(o.__c.__P=s),o.__c=null),o.__k=o.__k&&o.__k.map(function(l){return a(l,s,u)})),o}(this.__b,r,n.__O=n.__P)}this.__b=null}var i=t.__e&&h(S,null,e.fallback);return i&&(i.__h=null),[h(S,null,t.__e?null:e.children),i]};var sp=function(e,t,r){if(++r[1]===r[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(r=e.u;r;){for(;r.length>3;)r.pop()();if(r[1]>>1,1),t.i.removeChild(n)}}),xn(h(hk,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function gk(e,t){var r=h(mk,{__v:e,i:t});return r.containerInfo=t,r}(ea.prototype=new ht).__e=function(e){var t=this,r=op(t.__v),n=t.o.get(e);return n[0]++,function(i){var a=function(){t.props.revealOrder?(n.push(i),sp(t,e,n)):i()};r?r(a):a()}},ea.prototype.render=function(e){this.u=null,this.o=new Map;var t=wt(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var r=t.length;r--;)this.o.set(t[r],this.u=[1,0,this.u]);return e.children},ea.prototype.componentDidUpdate=ea.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,r){sp(e,r,t)})};var lp=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,vk=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,yk=typeof document!="undefined",bk=function(e){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function wk(e,t,r){return t.__k==null&&(t.textContent=""),xn(e,t),typeof r=="function"&&r(),e?e.__c:null}function Ek(e,t,r){return Qi(e,t),typeof r=="function"&&r(),e?e.__c:null}ht.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(ht.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var cp=fe.event;function kk(){}function xk(){return this.cancelBubble}function Sk(){return this.defaultPrevented}fe.event=function(e){return cp&&(e=cp(e)),e.persist=kk,e.isPropagationStopped=xk,e.isDefaultPrevented=Sk,e.nativeEvent=e};var up,dp={configurable:!0,get:function(){return this.class}},fp=fe.vnode;fe.vnode=function(e){var t=e.type,r=e.props,n=r;if(typeof t=="string"){var i=t.indexOf("-")===-1;for(var a in n={},r){var o=r[a];yk&&a==="children"&&t==="noscript"||a==="value"&&"defaultValue"in r&&o==null||(a==="defaultValue"&&"value"in r&&r.value==null?a="value":a==="download"&&o===!0?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+t)&&!bk(r.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&vk.test(a)?a=a.replace(/[A-Z0-9]/,"-$&").toLowerCase():o===null&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),n[a]&&(a="oninputCapture")),n[a]=o)}t=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.value.indexOf(s.props.value)!=-1})),t=="select"&&n.defaultValue!=null&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.multiple?n.defaultValue.indexOf(s.props.value)!=-1:n.defaultValue==s.props.value})),e.props=n,r.class!=r.className&&(dp.enumerable="className"in r,r.className!=null&&(n.class=r.className),Object.defineProperty(n,"className",dp))}e.$$typeof=lp,fp&&fp(e)};var pp=fe.__r;fe.__r=function(e){pp&&pp(e),up=e.__c};var _k={ReactCurrentDispatcher:{current:{readContext:function(e){return up.__n[e.__c].props.value}}}};function Ck(e){return h.bind(null,e)}function hp(e){return!!e&&e.$$typeof===lp}function Dk(e){return hp(e)?so.apply(null,arguments):e}function Tk(e){return!!e.__k&&(xn(null,e),!0)}function Mk(e){return e&&(e.base||e.nodeType===1&&e)||null}var Ik=function(e,t){return e(t)},Ak=function(e,t){return e(t)};var P={useState:sr,useReducer:Zi,useEffect:Sn,useLayoutEffect:Lr,useRef:Xt,useImperativeHandle:co,useMemo:lr,useCallback:cr,useContext:uo,useDebugValue:fo,version:"17.0.2",Children:dk,render:wk,hydrate:Ek,unmountComponentAtNode:Tk,createPortal:gk,createElement:h,createContext:ai,createFactory:Ck,cloneElement:Dk,createRef:ri,Fragment:S,isValidElement:hp,findDOMNode:Mk,Component:ht,PureComponent:Nl,memo:lk,forwardRef:uk,flushSync:Ak,unstable_batchedUpdates:Ik,StrictMode:S,Suspense:ho,SuspenseList:ea,lazy:pk,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:_k};m();function Ze(e){return e.win}function ur(e){return e.doc.body}m();var Ub=me(Et());m();var We=P.createContext(null),go=P.createContext(null);m();var Ip=me(Et()),hr=me(require("obsidian"));m();var Cp=me(xp()),fr=me(Et());m();function Sp(e){return Object.prototype.toString.call(e)==="[object Object]"}function _p(e){var t,r;return Sp(e)===!1?!1:(t=e.constructor,t===void 0?!0:(r=t.prototype,!(Sp(r)===!1||r.hasOwnProperty("isPrototypeOf")===!1)))}m();function Zk(e,t){return e.length!==t.length?!1:e.every((r,n,i)=>n===i.length-1?r!==t[n]:r===t[n])}function ex(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}var an;(function(i){i[i.Before=0]="Before",i[i.After=1]="After",i[i.Self=2]="Self",i[i.NotSiblings=3]="NotSiblings"})(an||(an={}));function ra(e,t){if(ex(e,t))return 2;if(!Zk(e,t))return 3;let r=e.length-1;return e[r]=0;n--)r={children:{[e[n]]:r}};return r}function ia(e,t){let r=t;for(let n=e.length-2;n>=0;n--)r={children:{[e[n]]:r}};return r}function Dp(e){return ia(e,{children:{$splice:[[e[e.length-1],1]]}})}function Tp(e,t,r=0){return ia(e,{children:{$splice:[[e[e.length-1]+r,0,...t]]}})}function nx(e,t){return ia(e,{children:{$push:t}})}function rx(e,t){return ia(e,{children:{$unshift:t}})}function aa(e,t,r,n){let i=n?n(mt(e,t)):mt(e,t),o=ra(t,r)===an.After?-1:0,s=Dp(t),u=Tp(r,[i],o),l=(0,Cp.default)(s,u,{isMergeableObject:d=>_p(d)||Array.isArray(d)});return(0,fr.default)(e,l)}function Fr(e,t){return(0,fr.default)(e,Dp(t))}function pr(e,t,r){return(0,fr.default)(e,Tp(t,r))}function Bl(e,t,r){return(0,fr.default)(e,nx(t,r))}function Mp(e,t,r){return(0,fr.default)(e,rx(t,r))}function vo(e,t,r){return(0,fr.default)(e,tx(t,r))}function Kl(e,t,r){return(0,fr.default)(e,ia(t,r))}var $l="kanban-plugin";function ci(){}function B(e){return`${$l}__${e}`}function Ae(e=9){return Math.random().toString(36).slice(2,2+e)}function Ul(e,t,r,n,i){var l,c;let a=mt(e,t.slice(0,-1)),o=mt(r,n.slice(0,-1)),s=(l=a==null?void 0:a.data)==null?void 0:l.shouldMarkItemsComplete,u=(c=o==null?void 0:o.data)==null?void 0:c.shouldMarkItemsComplete;return!s&&!u||u===!!i.data.isComplete?i:(0,Ip.default)(i,{data:{isComplete:{$set:u}}})}function yo(){let e=P.useRef(!1);return{oncompositionstart:()=>{e.current=!0},oncompositionend:()=>{e.current=!1},getShouldIMEBlockAction:()=>e.current}}var ix=/<%/;async function Ap(e,t){let r=t?e.app.vault.getAbstractFileByPath(t):null;if(r&&r instanceof hr.TFile){let n=app.workspace.getActiveViewOfType(hr.MarkdownView);try{(n==null?void 0:n.getMode())!=="source"&&await n.setState({...n.getState(),mode:"source"},{});let{templatesEnabled:i,templaterEnabled:a,templatesPlugin:o,templaterPlugin:s}=Vl(e.app),u=await e.app.vault.read(r);if(i&&a)return ix.test(u)?await s.append_template_to_active_file(r):await o.instance.insertTemplate(r);if(i)return await o.instance.insertTemplate(r);if(a)return await s.append_template_to_active_file(r);await e.app.vault.modify(e.app.workspace.getActiveFile(),u)}catch(i){console.error(i),e.setError(i)}}}function Nr(e){var s,u,l,c,d;let t=e.internalPlugins.plugins,r=(s=t["daily-notes"])==null?void 0:s.enabled,n=(u=t["daily-notes"])==null?void 0:u.instance.options.format,i=(l=e.plugins.plugins["nldates-obsidian"])==null?void 0:l.settings.format,a=(c=t.templates)==null?void 0:c.enabled,o=(d=t.templates)==null?void 0:d.instance.options.dateFormat;return r&&n||i||a&&o||"YYYY-MM-DD"}function ui(e){var a,o,s;let t=e.internalPlugins.plugins,r=(a=e.plugins.plugins["nldates-obsidian"])==null?void 0:a.settings.timeFormat,n=(o=t.templates)==null?void 0:o.enabled,i=(s=t.templates)==null?void 0:s.instance.options.timeFormat;return r||n&&i||"HH:mm"}var Lp=/[\\^$.*+?()[\]{}|]/g,ax=RegExp(Lp.source);function Ln(e){return e&&ax.test(e)?e.replace(Lp,"\\$&"):e||""}function Vl(e){var s;let t=e.internalPlugins.plugins.templates,r=t.enabled,n=e.plugins.plugins["templater-obsidian"],i=e.plugins.enabledPlugins.has("templater-obsidian"),a=n&&((s=this.app.plugins.plugins["templater-obsidian"].settings)==null?void 0:s.empty_file_template),o=r?t.instance.options.folder:n?n.settings.template_folder:void 0;return{templatesPlugin:t,templatesEnabled:r,templaterPlugin:n==null?void 0:n.templater,templaterEnabled:i,templaterEmptyFileTemplate:a,templateFolder:o}}function bo(e){let r=(e.getSetting("tag-colors")||[]).reduce((n,i)=>(i.tagKey&&(n[i.tagKey]=i),n),{});return n=>r[n]?r[n]:null}function wo(e){let r=(e.getSetting("date-colors")||[]).map(i=>{if(i.isToday)return["today",i];if(i.isBefore)return["before",i];if(i.isAfter)return["after",i];let a=i.direction==="after"?1:-1,o=(0,hr.moment)();return o.add(i.distance*a,i.unit),[o,i]}),n=(0,hr.moment)();return r.sort((i,a)=>i[0]==="today"?typeof a[0]=="string"?-1:a[0].isSame(n,"day")?1:-1:a[0]==="today"?typeof i[0]=="string"?1:i[0].isSame(n,"day")?-1:1:i[0]==="after"||i[0]==="before"?1:a[0]==="after"||a[0]==="before"||i[0].isBefore(a[0])?-1:1),i=>{let a=(0,hr.moment)(),o=r.find(s=>{let u=s[1];if(u.isToday)return i.isSame(a,"day");if(u.isAfter)return i.isAfter(a);if(u.isBefore)return i.isBefore(a);let l="days";return u.unit==="hours"&&(l="hours"),u.direction==="before"?i.isBetween(s[0],a,l,"[]"):i.isBetween(a,s[0],l,"[]")});return o?o[1]:null}}m();m();function et(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,n;r{n.has(t)&&(n.delete(t),n.size===0&&r.push(i))}),r.forEach(n=>{this.idScopes.delete(n),this.scrollStates.delete(n)})}};var xt=P.createContext(null),mr=P.createContext(""),sa=P.createContext(null),la=P.createContext(new oa),Eo=P.createContext(null),ko=P.createContext(null);m();m();m();var Pp={bottom:0,height:0,left:0,right:0,top:0,width:0,x:0,y:0,toJSON(){}},Fp=[0,0,0,0];function Xe(e){return e===void 0?0:e}function xo(e,t,r,n){return[e.left+Xe(t==null?void 0:t.x)+Xe(r==null?void 0:r.x)-Xe(n==null?void 0:n.x),e.top+Xe(t==null?void 0:t.y)+Xe(r==null?void 0:r.y)-Xe(n==null?void 0:n.y),e.left+e.width+Xe(t==null?void 0:t.x)+Xe(r==null?void 0:r.x)-Xe(n==null?void 0:n.x),e.top+e.height+Xe(t==null?void 0:t.y)+Xe(r==null?void 0:r.y)-Xe(n==null?void 0:n.y)]}function Wl(e,t,r,n){let i=xo(e,t,r,null);return n==="top"?(i[3]=i[1]+35,i):n==="right"?(i[0]=i[0]+e.width-35,i):n==="bottom"?(i[1]=i[1]+e.height-35,i):(i[2]=i[0]+35,i)}function So(e,t,r,n,i,a){return[e-Xe(i==null?void 0:i.x)-Xe(a==null?void 0:a.x),t-Xe(i==null?void 0:i.y)-Xe(a==null?void 0:a.y),r-Xe(i==null?void 0:i.x)-Xe(a==null?void 0:a.x),n-Xe(i==null?void 0:i.y)-Xe(a==null?void 0:a.y)]}var ox=e=>sx(e,(t,r)=>t{if(o.entityId===r)return 1/0;let s=o.getHitbox(),u=Op(s)[0],l=lx(t),c=o.getData().sortAxis==="horizontal"?"x":"y",d=l[c]>n[c]?1e3:0;return di(u,n)+d}),a=ox(i);return e[a]?e[a]:null}function jl(e){let{scrollLeft:t,scrollTop:r,scrollWidth:n,scrollHeight:i,offsetWidth:a,offsetHeight:o}=e,s=t,u=r,l=n-a,c=i-o;return{x:s,y:u,maxX:Math.max(l,0),maxY:Math.max(c,0)}}function Rp(e,t,r){let n=Math.trunc((r.x-t.x)*100)/100,i=Math.trunc((r.y-t.y)*100)/100;return[e[0]+n,e[1]+i,e[2]+n,e[3]+i]}function ql(e,t=[0,0,0,0]){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]+t[2],o=e[3]+t[3]-n;return{width:i-r,height:o}}var Yl=class{constructor(t,r,n,i,a,o,s,u,l,c){this.isVisible=!1;this.id=n,this.instanceId=Ae(),this.scopeId=r,this.entityId=`${r}-${n}`,this.dndManager=t,this.index=i,this.children=new Map,this.parent=a,this.scrollParent=o,this.getEntityData=c,this.sortManager=s,this.pollForNodes(u,l)}pollForNodes(t,r){!t()||!r()?this.dndManager.win.requestAnimationFrame(()=>this.pollForNodes(t,r)):this.initNodes(t(),r())}initNodes(t,r){var n,i;if(this.entityNode=t,this.measureNode=r,r.dataset.hitboxid=this.entityId,(n=this.sortManager)==null||n.registerSortable(this.entityId,this.getEntity(Pp),t,r),this.scrollParent)this.scrollParent.registerObserverHandler(this.entityId,r,a=>{var s,u;let o=Ze(a.target);if(a.isIntersecting){let l=this.getEntity(a.boundingClientRect);(s=this.parent)==null||s.children.set(this.entityId,{entity:l,manager:this}),this.dndManager.observeResize(r),(!this.parent||this.parent.isVisible)&&(this.dndManager.registerHitboxEntity(this.entityId,l,o),this.children.forEach((c,d)=>{this.dndManager.registerHitboxEntity(d,c.entity,o)}),this.setVisibility(!0))}else this.dndManager.unregisterHitboxEntity(this.entityId,o),this.children.forEach((l,c)=>{this.dndManager.unregisterHitboxEntity(c,o)}),(u=this.parent)==null||u.children.delete(this.entityId),this.dndManager.unobserveResize(r),this.setVisibility(!1)});else{let a=this.getEntity(r.getBoundingClientRect());this.dndManager.observeResize(r),this.dndManager.registerHitboxEntity(this.entityId,a,Ze(t)),(i=this.parent)==null||i.children.set(this.entityId,{entity:a,manager:this}),this.setVisibility(!0)}}setVisibility(t){this.isVisible=t,this.children.forEach(r=>{r.manager.setVisibility(t)})}destroy(){var t,r,n;this.dndManager.unobserveResize(this.measureNode),(t=this.sortManager)==null||t.unregisterSortable(this.entityId),(r=this.scrollParent)==null||r.unregisterObserverHandler(this.entityId,this.measureNode),this.entityNode&&this.dndManager.unregisterHitboxEntity(this.entityId,Ze(this.entityNode)),(n=this.parent)==null||n.children.delete(this.entityId)}getPath(){var t;return[...((t=this.parent)==null?void 0:t.getPath())||[],this.index]}getEntity(t){var n,i;let r=this;return{scopeId:this.scopeId,entityId:this.entityId,initial:xo(t,((n=r.scrollParent)==null?void 0:n.scrollState)||on,((i=r.scrollParent)==null?void 0:i.getScrollShift())||Pn,null),getParentScrollState(){var a;return((a=r.scrollParent)==null?void 0:a.scrollState)||on},getParentScrollShift(){var a;return((a=r.scrollParent)==null?void 0:a.getScrollShift())||Pn},recalcInitial(){var a,o;this.initial=xo(r.measureNode.getBoundingClientRect(),((a=r.scrollParent)==null?void 0:a.scrollState)||on,((o=r.scrollParent)==null?void 0:o.getScrollShift())||Pn,null)},getHitbox(){return So(this.initial[0],this.initial[1],this.initial[2],this.initial[3],this.getParentScrollState(),this.getParentScrollShift())},getPath(){return r.getPath()},getData(){var a;return{...r.getEntityData(),sortAxis:(a=r.sortManager)==null?void 0:a.axis,win:Ze(r.measureNode)}}}}};var gr=P.memo(function({id:t,index:r,elementRef:n,measureRef:i,children:a,data:o}){let s=P.useContext(xt),u=P.useContext(Eo),l=P.useContext(mr),c=P.useContext(ko),d=P.useContext(sa),f=P.useRef(o),p=P.useRef();f.current=o;let g=P.useMemo(()=>{if(s){p.current&&p.current.destroy();let y=new Yl(s,l,t,r,c,d,u,()=>n.current,()=>i.current,()=>f.current);return p.current=y,y}return null},[t,r,s,l,c,d,u]);return P.useEffect(()=>()=>{var y;return(y=p.current)==null?void 0:y.destroy()},[]),g?h(ko.Provider,{value:g},a):null});function Wn(e){let t=P.useContext(ko),r=(t==null?void 0:t.getPath())||[];return e!==void 0&&r.push(e),P.useMemo(()=>r,r)}m();var Fu=me(Jh());m();m();m();m();var ym=me(vm()),{__extends:WM,__assign:zM,__rest:jM,__decorate:qM,__param:YM,__metadata:JM,__awaiter:Ei,__generator:ki,__exportStar:GM,__createBinding:QM,__values:XM,__read:ZM,__spread:bm,__spreadArrays:eI,__spreadArray:tI,__await:nI,__asyncGenerator:rI,__asyncDelegator:iI,__asyncValues:aI,__makeTemplateObject:oI,__importStar:sI,__importDefault:lI,__classPrivateFieldGet:cI,__classPrivateFieldSet:uI,__classPrivateFieldIn:dI}=ym.default;m();var _0=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function ma(e,t){var r=C0(e);if(typeof r.path!="string"){var n=e.webkitRelativePath;Object.defineProperty(r,"path",{value:typeof t=="string"?t:typeof n=="string"&&n.length>0?n:e.name,writable:!1,configurable:!1,enumerable:!0})}return r}function C0(e){var t=e.name,r=t&&t.lastIndexOf(".")!==-1;if(r&&!e.type){var n=t.split(".").pop().toLowerCase(),i=_0.get(n);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}var D0=[".DS_Store","Thumbs.db"];function hc(e){return Ei(this,void 0,void 0,function(){return ki(this,function(t){return[2,T0(e)&&e.dataTransfer?A0(e.dataTransfer,e.type):M0(e)]})})}function T0(e){return!!e.dataTransfer}function M0(e){var t=I0(e.target)?e.target.files?mc(e.target.files):[]:[];return t.map(function(r){return ma(r)})}function I0(e){return e!==null}function A0(e,t){return Ei(this,void 0,void 0,function(){var r,n;return ki(this,function(i){switch(i.label){case 0:return e.items?(r=mc(e.items).filter(function(a){return a.kind==="file"}),t!=="drop"?[2,r]:[4,Promise.all(r.map(L0))]):[3,2];case 1:return n=i.sent(),[2,wm(Em(n))];case 2:return[2,wm(mc(e.files).map(function(a){return ma(a)}))]}})})}function wm(e){return e.filter(function(t){return D0.indexOf(t.name)===-1})}function mc(e){for(var t=[],r=0;r".",rangeSeparator:" - ",weekAbbreviation:"Hf",scrollTitle:"Art\u0131rmaq \xFC\xE7\xFCn s\xFCr\xFC\u015Fd\xFCr\xFCn",toggleTitle:"A\xE7 / Ba\u011Fla",amPM:["G\u018F","GS"],time_24hr:!0};qm.l10ns.az=kc;var CI=qm.l10ns;m();var Ym=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},xc={weekdays:{shorthand:["\u041D\u0434","\u041F\u043D","\u0410\u045E","\u0421\u0440","\u0427\u0446","\u041F\u0442","\u0421\u0431"],longhand:["\u041D\u044F\u0434\u0437\u0435\u043B\u044F","\u041F\u0430\u043D\u044F\u0434\u0437\u0435\u043B\u0430\u043A","\u0410\u045E\u0442\u043E\u0440\u0430\u043A","\u0421\u0435\u0440\u0430\u0434\u0430","\u0427\u0430\u0446\u0432\u0435\u0440","\u041F\u044F\u0442\u043D\u0456\u0446\u0430","\u0421\u0443\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u0421\u0442\u0443","\u041B\u044E\u0442","\u0421\u0430\u043A","\u041A\u0440\u0430","\u0422\u0440\u0430","\u0427\u044D\u0440","\u041B\u0456\u043F","\u0416\u043D\u0456","\u0412\u0435\u0440","\u041A\u0430\u0441","\u041B\u0456\u0441","\u0421\u043D\u0435"],longhand:["\u0421\u0442\u0443\u0434\u0437\u0435\u043D\u044C","\u041B\u044E\u0442\u044B","\u0421\u0430\u043A\u0430\u0432\u0456\u043A","\u041A\u0440\u0430\u0441\u0430\u0432\u0456\u043A","\u0422\u0440\u0430\u0432\u0435\u043D\u044C","\u0427\u044D\u0440\u0432\u0435\u043D\u044C","\u041B\u0456\u043F\u0435\u043D\u044C","\u0416\u043D\u0456\u0432\u0435\u043D\u044C","\u0412\u0435\u0440\u0430\u0441\u0435\u043D\u044C","\u041A\u0430\u0441\u0442\u0440\u044B\u0447\u043D\u0456\u043A","\u041B\u0456\u0441\u0442\u0430\u043F\u0430\u0434","\u0421\u043D\u0435\u0436\u0430\u043D\u044C"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u0422\u044B\u0434.",scrollTitle:"\u041F\u0440\u0430\u043A\u0440\u0443\u0446\u0456\u0446\u0435 \u0434\u043B\u044F \u043F\u0430\u0432\u0435\u043B\u0456\u0447\u044D\u043D\u043D\u044F",toggleTitle:"\u041D\u0430\u0446\u0456\u0441\u043D\u0456\u0446\u0435 \u0434\u043B\u044F \u043F\u0435\u0440\u0430\u043A\u043B\u044E\u0447\u044D\u043D\u043D\u044F",amPM:["\u0414\u041F","\u041F\u041F"],yearAriaLabel:"\u0413\u043E\u0434",time_24hr:!0};Ym.l10ns.be=xc;var TI=Ym.l10ns;m();var Jm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Sc={weekdays:{shorthand:["\u041D\u0434","\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431"],longhand:["\u041D\u0435\u0434\u0435\u043B\u044F","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u044F\u0434\u0430","\u0427\u0435\u0442\u0432\u044A\u0440\u0442\u044A\u043A","\u041F\u0435\u0442\u044A\u043A","\u0421\u044A\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u042F\u043D\u0443","\u0424\u0435\u0432","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440","\u041C\u0430\u0439","\u042E\u043D\u0438","\u042E\u043B\u0438","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0435","\u0414\u0435\u043A"],longhand:["\u042F\u043D\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0439","\u042E\u043D\u0438","\u042E\u043B\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438","\u041E\u043A\u0442\u043E\u043C\u0432\u0440\u0438","\u041D\u043E\u0435\u043C\u0432\u0440\u0438","\u0414\u0435\u043A\u0435\u043C\u0432\u0440\u0438"]},time_24hr:!0,firstDayOfWeek:1};Jm.l10ns.bg=Sc;var II=Jm.l10ns;m();var Gm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},_c={weekdays:{shorthand:["\u09B0\u09AC\u09BF","\u09B8\u09CB\u09AE","\u09AE\u0999\u09CD\u0997\u09B2","\u09AC\u09C1\u09A7","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF","\u09B6\u09C1\u0995\u09CD\u09B0","\u09B6\u09A8\u09BF"],longhand:["\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0","\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0","\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0","\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0","\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0","\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"]},months:{shorthand:["\u099C\u09BE\u09A8\u09C1","\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1","\u09AE\u09BE\u09B0\u09CD\u099A","\u098F\u09AA\u09CD\u09B0\u09BF\u09B2","\u09AE\u09C7","\u099C\u09C1\u09A8","\u099C\u09C1\u09B2\u09BE\u0987","\u0986\u0997","\u09B8\u09C7\u09AA\u09CD\u099F\u09C7","\u0985\u0995\u09CD\u099F\u09CB","\u09A8\u09AD\u09C7","\u09A1\u09BF\u09B8\u09C7"],longhand:["\u099C\u09BE\u09A8\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0","\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0","\u09AE\u09BE\u09B0\u09CD\u099A","\u098F\u09AA\u09CD\u09B0\u09BF\u09B2","\u09AE\u09C7","\u099C\u09C1\u09A8","\u099C\u09C1\u09B2\u09BE\u0987","\u0986\u0997\u09B8\u09CD\u099F","\u09B8\u09C7\u09AA\u09CD\u099F\u09C7\u09AE\u09CD\u09AC\u09B0","\u0985\u0995\u09CD\u099F\u09CB\u09AC\u09B0","\u09A8\u09AD\u09C7\u09AE\u09CD\u09AC\u09B0","\u09A1\u09BF\u09B8\u09C7\u09AE\u09CD\u09AC\u09B0"]}};Gm.l10ns.bn=_c;var LI=Gm.l10ns;m();var Qm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Cc={firstDayOfWeek:1,weekdays:{shorthand:["Ned","Pon","Uto","Sri","\u010Cet","Pet","Sub"],longhand:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010Cetvrtak","Petak","Subota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],longhand:["Januar","Februar","Mart","April","Maj","Juni","Juli","Avgust","Septembar","Oktobar","Novembar","Decembar"]},time_24hr:!0};Qm.l10ns.bs=Cc;var FI=Qm.l10ns;m();var Dc=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Go={weekdays:{shorthand:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],longhand:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},months:{shorthand:["Gen","Febr","Mar\xE7","Abr","Maig","Juny","Jul","Ag","Set","Oct","Nov","Des"],longhand:["Gener","Febrer","Mar\xE7","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"]},ordinal:e=>{let t=e%100;if(t>3&&t<21)return"\xE8";switch(t%10){case 1:return"r";case 2:return"n";case 3:return"r";case 4:return"t";default:return"\xE8"}},firstDayOfWeek:1,rangeSeparator:" a ",time_24hr:!0};Dc.l10ns.cat=Dc.l10ns.ca=Go;var OI=Dc.l10ns;m();var Xm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Tc={weekdays:{shorthand:["\u06CC\u06D5\u06A9\u0634\u06D5\u0645\u0645\u06D5","\u062F\u0648\u0648\u0634\u06D5\u0645\u0645\u06D5","\u0633\u06CE\u0634\u06D5\u0645\u0645\u06D5","\u0686\u0648\u0627\u0631\u0634\u06D5\u0645\u0645\u06D5","\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645\u0645\u06D5","\u0647\u06D5\u06CC\u0646\u06CC","\u0634\u06D5\u0645\u0645\u06D5"],longhand:["\u06CC\u06D5\u06A9\u0634\u06D5\u0645\u0645\u06D5","\u062F\u0648\u0648\u0634\u06D5\u0645\u0645\u06D5","\u0633\u06CE\u0634\u06D5\u0645\u0645\u06D5","\u0686\u0648\u0627\u0631\u0634\u06D5\u0645\u0645\u06D5","\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645\u0645\u06D5","\u0647\u06D5\u06CC\u0646\u06CC","\u0634\u06D5\u0645\u0645\u06D5"]},months:{shorthand:["\u0695\u06CE\u0628\u06D5\u0646\u062F\u0627\u0646","\u0695\u06D5\u0634\u06D5\u0645\u06D5","\u0646\u06D5\u0648\u0631\u06C6\u0632","\u06AF\u0648\u06B5\u0627\u0646","\u062C\u06C6\u0632\u06D5\u0631\u062F\u0627\u0646","\u067E\u0648\u0648\u0634\u067E\u06D5\u0695","\u06AF\u06D5\u0644\u0627\u0648\u06CE\u0698","\u062E\u06D5\u0631\u0645\u0627\u0646\u0627\u0646","\u0695\u06D5\u0632\u0628\u06D5\u0631","\u06AF\u06D5\u06B5\u0627\u0695\u06CE\u0632\u0627\u0646","\u0633\u06D5\u0631\u0645\u0627\u0648\u06D5\u0632","\u0628\u06D5\u0641\u0631\u0627\u0646\u0628\u0627\u0631"],longhand:["\u0695\u06CE\u0628\u06D5\u0646\u062F\u0627\u0646","\u0695\u06D5\u0634\u06D5\u0645\u06D5","\u0646\u06D5\u0648\u0631\u06C6\u0632","\u06AF\u0648\u06B5\u0627\u0646","\u062C\u06C6\u0632\u06D5\u0631\u062F\u0627\u0646","\u067E\u0648\u0648\u0634\u067E\u06D5\u0695","\u06AF\u06D5\u0644\u0627\u0648\u06CE\u0698","\u062E\u06D5\u0631\u0645\u0627\u0646\u0627\u0646","\u0695\u06D5\u0632\u0628\u06D5\u0631","\u06AF\u06D5\u06B5\u0627\u0695\u06CE\u0632\u0627\u0646","\u0633\u06D5\u0631\u0645\u0627\u0648\u06D5\u0632","\u0628\u06D5\u0641\u0631\u0627\u0646\u0628\u0627\u0631"]},firstDayOfWeek:6,ordinal:()=>""};Xm.l10ns.ckb=Tc;var HI=Xm.l10ns;m();var Zm=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Mc={weekdays:{shorthand:["Ne","Po","\xDAt","St","\u010Ct","P\xE1","So"],longhand:["Ned\u011Ble","Pond\u011Bl\xED","\xDAter\xFD","St\u0159eda","\u010Ctvrtek","P\xE1tek","Sobota"]},months:{shorthand:["Led","\xDAn","B\u0159e","Dub","Kv\u011B","\u010Cer","\u010Cvc","Srp","Z\xE1\u0159","\u0158\xEDj","Lis","Pro"],longhand:["Leden","\xDAnor","B\u0159ezen","Duben","Kv\u011Bten","\u010Cerven","\u010Cervenec","Srpen","Z\xE1\u0159\xED","\u0158\xEDjen","Listopad","Prosinec"]},firstDayOfWeek:1,ordinal:function(){return"."},rangeSeparator:" do ",weekAbbreviation:"T\xFDd.",scrollTitle:"Rolujte pro zm\u011Bnu",toggleTitle:"P\u0159epnout dopoledne/odpoledne",amPM:["dop.","odp."],yearAriaLabel:"Rok",time_24hr:!0};Zm.l10ns.cs=Mc;var KI=Zm.l10ns;m();var eg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Ic={weekdays:{shorthand:["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"],longhand:["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"]},months:{shorthand:["Ion","Chwef","Maw","Ebr","Mai","Meh","Gorff","Awst","Medi","Hyd","Tach","Rhag"],longhand:["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"]},firstDayOfWeek:1,ordinal:e=>e===1?"af":e===2?"ail":e===3||e===4?"ydd":e===5||e===6?"ed":e>=7&&e<=10||e==12||e==15||e==18||e==20?"fed":e==11||e==13||e==14||e==16||e==17||e==19?"eg":e>=21&&e<=39?"ain":"",time_24hr:!0};eg.l10ns.cy=Ic;var UI=eg.l10ns;m();var tg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Ac={weekdays:{shorthand:["s\xF8n","man","tir","ons","tors","fre","l\xF8r"],longhand:["s\xF8ndag","mandag","tirsdag","onsdag","torsdag","fredag","l\xF8rdag"]},months:{shorthand:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],longhand:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"]},ordinal:()=>".",firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"uge",time_24hr:!0};tg.l10ns.da=Ac;var WI=tg.l10ns;m();var ng=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Lc={weekdays:{shorthand:["So","Mo","Di","Mi","Do","Fr","Sa"],longhand:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},months:{shorthand:["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],longhand:["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},firstDayOfWeek:1,weekAbbreviation:"KW",rangeSeparator:" bis ",scrollTitle:"Zum \xC4ndern scrollen",toggleTitle:"Zum Umschalten klicken",time_24hr:!0};ng.l10ns.de=Lc;var jI=ng.l10ns;m();var Ur={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:e=>{let t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},Qo=Ur;m();var rg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Pc={firstDayOfWeek:1,rangeSeparator:" \u011Dis ",weekAbbreviation:"Sem",scrollTitle:"Rulumu por pligrandigi la valoron",toggleTitle:"Klaku por \u015Dalti",weekdays:{shorthand:["Dim","Lun","Mar","Mer","\u0134a\u016D","Ven","Sab"],longhand:["diman\u0109o","lundo","mardo","merkredo","\u0135a\u016Ddo","vendredo","sabato"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","A\u016Dg","Sep","Okt","Nov","Dec"],longhand:["januaro","februaro","marto","aprilo","majo","junio","julio","a\u016Dgusto","septembro","oktobro","novembro","decembro"]},ordinal:()=>"-a",time_24hr:!0};rg.l10ns.eo=Pc;var JI=rg.l10ns;m();var ig=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Fc={weekdays:{shorthand:["Dom","Lun","Mar","Mi\xE9","Jue","Vie","S\xE1b"],longhand:["Domingo","Lunes","Martes","Mi\xE9rcoles","Jueves","Viernes","S\xE1bado"]},months:{shorthand:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],longhand:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]},ordinal:()=>"\xBA",firstDayOfWeek:1,rangeSeparator:" a ",time_24hr:!0};ig.l10ns.es=Fc;var QI=ig.l10ns;m();var ag=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Nc={weekdays:{shorthand:["P","E","T","K","N","R","L"],longhand:["P\xFChap\xE4ev","Esmasp\xE4ev","Teisip\xE4ev","Kolmap\xE4ev","Neljap\xE4ev","Reede","Laup\xE4ev"]},months:{shorthand:["Jaan","Veebr","M\xE4rts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],longhand:["Jaanuar","Veebruar","M\xE4rts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"]},firstDayOfWeek:1,ordinal:function(){return"."},weekAbbreviation:"N\xE4d",rangeSeparator:" kuni ",scrollTitle:"Keri, et suurendada",toggleTitle:"Kl\xF5psa, et vahetada",time_24hr:!0};ag.l10ns.et=Nc;var ZI=ag.l10ns;m();var og=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Oc={weekdays:{shorthand:["\u06CC\u06A9","\u062F\u0648","\u0633\u0647","\u0686\u0647\u0627\u0631","\u067E\u0646\u062C","\u062C\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"],longhand:["\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647","\u062F\u0648\u0634\u0646\u0628\u0647","\u0633\u0647\u200C\u0634\u0646\u0628\u0647","\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647","\u067E\u0646\u0686\u200C\u0634\u0646\u0628\u0647","\u062C\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"]},months:{shorthand:["\u0698\u0627\u0646\u0648\u06CC\u0647","\u0641\u0648\u0631\u06CC\u0647","\u0645\u0627\u0631\u0633","\u0622\u0648\u0631\u06CC\u0644","\u0645\u0647","\u0698\u0648\u0626\u0646","\u0698\u0648\u0626\u06CC\u0647","\u0627\u0648\u062A","\u0633\u067E\u062A\u0627\u0645\u0628\u0631","\u0627\u06A9\u062A\u0628\u0631","\u0646\u0648\u0627\u0645\u0628\u0631","\u062F\u0633\u0627\u0645\u0628\u0631"],longhand:["\u0698\u0627\u0646\u0648\u06CC\u0647","\u0641\u0648\u0631\u06CC\u0647","\u0645\u0627\u0631\u0633","\u0622\u0648\u0631\u06CC\u0644","\u0645\u0647","\u0698\u0648\u0626\u0646","\u0698\u0648\u0626\u06CC\u0647","\u0627\u0648\u062A","\u0633\u067E\u062A\u0627\u0645\u0628\u0631","\u0627\u06A9\u062A\u0628\u0631","\u0646\u0648\u0627\u0645\u0628\u0631","\u062F\u0633\u0627\u0645\u0628\u0631"]},firstDayOfWeek:6,ordinal:()=>""};og.l10ns.fa=Oc;var tA=og.l10ns;m();var sg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Rc={firstDayOfWeek:1,weekdays:{shorthand:["su","ma","ti","ke","to","pe","la"],longhand:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},months:{shorthand:["tammi","helmi","maalis","huhti","touko","kes\xE4","hein\xE4","elo","syys","loka","marras","joulu"],longhand:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kes\xE4kuu","hein\xE4kuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"]},ordinal:()=>".",time_24hr:!0};sg.l10ns.fi=Rc;var rA=sg.l10ns;m();var lg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Hc={weekdays:{shorthand:["Sun","M\xE1n","T\xFDs","Mik","H\xF3s","Fr\xED","Ley"],longhand:["Sunnudagur","M\xE1nadagur","T\xFDsdagur","Mikudagur","H\xF3sdagur","Fr\xEDggjadagur","Leygardagur"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],longhand:["Januar","Februar","Mars","Apr\xEDl","Mai","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"]},ordinal:()=>".",firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"vika",scrollTitle:"Rulla fyri at broyta",toggleTitle:"Tr\xFDst fyri at skifta",yearAriaLabel:"\xC1r",time_24hr:!0};lg.l10ns.fo=Hc;var aA=lg.l10ns;m();var cg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Bc={firstDayOfWeek:1,weekdays:{shorthand:["dim","lun","mar","mer","jeu","ven","sam"],longhand:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},months:{shorthand:["janv","f\xE9vr","mars","avr","mai","juin","juil","ao\xFBt","sept","oct","nov","d\xE9c"],longhand:["janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"]},ordinal:e=>e>1?"":"er",rangeSeparator:" au ",weekAbbreviation:"Sem",scrollTitle:"D\xE9filer pour augmenter la valeur",toggleTitle:"Cliquer pour basculer",time_24hr:!0};cg.l10ns.fr=Bc;var sA=cg.l10ns;m();var ug=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Kc={weekdays:{shorthand:["\u039A\u03C5","\u0394\u03B5","\u03A4\u03C1","\u03A4\u03B5","\u03A0\u03AD","\u03A0\u03B1","\u03A3\u03AC"],longhand:["\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE","\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1","\u03A4\u03C1\u03AF\u03C4\u03B7","\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7","\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7","\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE","\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF"]},months:{shorthand:["\u0399\u03B1\u03BD","\u03A6\u03B5\u03B2","\u039C\u03AC\u03C1","\u0391\u03C0\u03C1","\u039C\u03AC\u03B9","\u0399\u03BF\u03CD\u03BD","\u0399\u03BF\u03CD\u03BB","\u0391\u03CD\u03B3","\u03A3\u03B5\u03C0","\u039F\u03BA\u03C4","\u039D\u03BF\u03AD","\u0394\u03B5\u03BA"],longhand:["\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2","\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2","\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2","\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2","\u039C\u03AC\u03B9\u03BF\u03C2","\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2","\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2","\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2","\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2","\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2","\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2","\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2"]},firstDayOfWeek:1,ordinal:function(){return""},weekAbbreviation:"\u0395\u03B2\u03B4",rangeSeparator:" \u03AD\u03C9\u03C2 ",scrollTitle:"\u039C\u03B5\u03C4\u03B1\u03BA\u03C5\u03BB\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03C0\u03C1\u03BF\u03C3\u03B1\u03CD\u03BE\u03B7\u03C3\u03B7",toggleTitle:"\u039A\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03B3\u03B9\u03B1 \u03B1\u03BB\u03BB\u03B1\u03B3\u03AE",amPM:["\u03A0\u039C","\u039C\u039C"],yearAriaLabel:"\u03C7\u03C1\u03CC\u03BD\u03BF\u03C2",monthAriaLabel:"\u03BC\u03AE\u03BD\u03B1\u03C2",hourAriaLabel:"\u03CE\u03C1\u03B1",minuteAriaLabel:"\u03BB\u03B5\u03C0\u03C4\u03CC"};ug.l10ns.gr=Kc;var cA=ug.l10ns;m();var dg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},$c={weekdays:{shorthand:["\u05D0","\u05D1","\u05D2","\u05D3","\u05D4","\u05D5","\u05E9"],longhand:["\u05E8\u05D0\u05E9\u05D5\u05DF","\u05E9\u05E0\u05D9","\u05E9\u05DC\u05D9\u05E9\u05D9","\u05E8\u05D1\u05D9\u05E2\u05D9","\u05D7\u05DE\u05D9\u05E9\u05D9","\u05E9\u05D9\u05E9\u05D9","\u05E9\u05D1\u05EA"]},months:{shorthand:["\u05D9\u05E0\u05D5\u05F3","\u05E4\u05D1\u05E8\u05F3","\u05DE\u05E8\u05E5","\u05D0\u05E4\u05E8\u05F3","\u05DE\u05D0\u05D9","\u05D9\u05D5\u05E0\u05D9","\u05D9\u05D5\u05DC\u05D9","\u05D0\u05D5\u05D2\u05F3","\u05E1\u05E4\u05D8\u05F3","\u05D0\u05D5\u05E7\u05F3","\u05E0\u05D5\u05D1\u05F3","\u05D3\u05E6\u05DE\u05F3"],longhand:["\u05D9\u05E0\u05D5\u05D0\u05E8","\u05E4\u05D1\u05E8\u05D5\u05D0\u05E8","\u05DE\u05E8\u05E5","\u05D0\u05E4\u05E8\u05D9\u05DC","\u05DE\u05D0\u05D9","\u05D9\u05D5\u05E0\u05D9","\u05D9\u05D5\u05DC\u05D9","\u05D0\u05D5\u05D2\u05D5\u05E1\u05D8","\u05E1\u05E4\u05D8\u05DE\u05D1\u05E8","\u05D0\u05D5\u05E7\u05D8\u05D5\u05D1\u05E8","\u05E0\u05D5\u05D1\u05DE\u05D1\u05E8","\u05D3\u05E6\u05DE\u05D1\u05E8"]},rangeSeparator:" \u05D0\u05DC ",time_24hr:!0};dg.l10ns.he=$c;var dA=dg.l10ns;m();var fg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Uc={weekdays:{shorthand:["\u0930\u0935\u093F","\u0938\u094B\u092E","\u092E\u0902\u0917\u0932","\u092C\u0941\u0927","\u0917\u0941\u0930\u0941","\u0936\u0941\u0915\u094D\u0930","\u0936\u0928\u093F"],longhand:["\u0930\u0935\u093F\u0935\u093E\u0930","\u0938\u094B\u092E\u0935\u093E\u0930","\u092E\u0902\u0917\u0932\u0935\u093E\u0930","\u092C\u0941\u0927\u0935\u093E\u0930","\u0917\u0941\u0930\u0941\u0935\u093E\u0930","\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930","\u0936\u0928\u093F\u0935\u093E\u0930"]},months:{shorthand:["\u091C\u0928","\u092B\u0930","\u092E\u093E\u0930\u094D\u091A","\u0905\u092A\u094D\u0930\u0947\u0932","\u092E\u0908","\u091C\u0942\u0928","\u091C\u0942\u0932\u093E\u0908","\u0905\u0917","\u0938\u093F\u0924","\u0905\u0915\u094D\u091F","\u0928\u0935","\u0926\u093F"],longhand:["\u091C\u0928\u0935\u0930\u0940 ","\u092B\u0930\u0935\u0930\u0940","\u092E\u093E\u0930\u094D\u091A","\u0905\u092A\u094D\u0930\u0947\u0932","\u092E\u0908","\u091C\u0942\u0928","\u091C\u0942\u0932\u093E\u0908","\u0905\u0917\u0938\u094D\u0924 ","\u0938\u093F\u0924\u092E\u094D\u092C\u0930","\u0905\u0915\u094D\u091F\u0942\u092C\u0930","\u0928\u0935\u092E\u094D\u092C\u0930","\u0926\u093F\u0938\u092E\u094D\u092C\u0930"]}};fg.l10ns.hi=Uc;var pA=fg.l10ns;m();var pg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Vc={firstDayOfWeek:1,weekdays:{shorthand:["Ned","Pon","Uto","Sri","\u010Cet","Pet","Sub"],longhand:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010Cetvrtak","Petak","Subota"]},months:{shorthand:["Sij","Velj","O\u017Eu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],longhand:["Sije\u010Danj","Velja\u010Da","O\u017Eujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"]},time_24hr:!0};pg.l10ns.hr=Vc;var mA=pg.l10ns;m();var hg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Wc={firstDayOfWeek:1,weekdays:{shorthand:["V","H","K","Sz","Cs","P","Szo"],longhand:["Vas\xE1rnap","H\xE9tf\u0151","Kedd","Szerda","Cs\xFCt\xF6rt\xF6k","P\xE9ntek","Szombat"]},months:{shorthand:["Jan","Feb","M\xE1r","\xC1pr","M\xE1j","J\xFAn","J\xFAl","Aug","Szep","Okt","Nov","Dec"],longhand:["Janu\xE1r","Febru\xE1r","M\xE1rcius","\xC1prilis","M\xE1jus","J\xFAnius","J\xFAlius","Augusztus","Szeptember","Okt\xF3ber","November","December"]},ordinal:function(){return"."},weekAbbreviation:"H\xE9t",scrollTitle:"G\xF6rgessen",toggleTitle:"Kattintson a v\xE1lt\xE1shoz",rangeSeparator:" - ",time_24hr:!0};hg.l10ns.hu=Wc;var vA=hg.l10ns;m();var mg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},zc={weekdays:{shorthand:["\u053F\u056B\u0580","\u0535\u0580\u056F","\u0535\u0580\u0584","\u0549\u0580\u0584","\u0540\u0576\u0563","\u0548\u0582\u0580\u0562","\u0547\u0562\u0569"],longhand:["\u053F\u056B\u0580\u0561\u056F\u056B","\u0535\u056F\u0578\u0582\u0577\u0561\u0562\u0569\u056B","\u0535\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B","\u0549\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B","\u0540\u056B\u0576\u0563\u0577\u0561\u0562\u0569\u056B","\u0548\u0582\u0580\u0562\u0561\u0569","\u0547\u0561\u0562\u0561\u0569"]},months:{shorthand:["\u0540\u0576\u057E","\u0553\u057F\u0580","\u0544\u0561\u0580","\u0531\u057A\u0580","\u0544\u0561\u0575","\u0540\u0576\u057D","\u0540\u056C\u057D","\u0555\u0563\u057D","\u054D\u0565\u057A","\u0540\u0578\u056F","\u0546\u0574\u0562","\u0534\u0565\u056F"],longhand:["\u0540\u0578\u0582\u0576\u057E\u0561\u0580","\u0553\u0565\u057F\u0580\u057E\u0561\u0580","\u0544\u0561\u0580\u057F","\u0531\u057A\u0580\u056B\u056C","\u0544\u0561\u0575\u056B\u057D","\u0540\u0578\u0582\u0576\u056B\u057D","\u0540\u0578\u0582\u056C\u056B\u057D","\u0555\u0563\u0578\u057D\u057F\u0578\u057D","\u054D\u0565\u057A\u057F\u0565\u0574\u0562\u0565\u0580","\u0540\u0578\u056F\u057F\u0565\u0574\u0562\u0565\u0580","\u0546\u0578\u0575\u0565\u0574\u0562\u0565\u0580","\u0534\u0565\u056F\u057F\u0565\u0574\u0562\u0565\u0580"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u0547\u0532\u054F",scrollTitle:"\u0548\u056C\u0578\u0580\u0565\u0584\u055D \u0574\u0565\u056E\u0561\u0581\u0576\u0565\u056C\u0578\u0582 \u0570\u0561\u0574\u0561\u0580",toggleTitle:"\u054D\u0565\u0572\u0574\u0565\u0584\u055D \u0583\u0578\u056D\u0565\u056C\u0578\u0582 \u0570\u0561\u0574\u0561\u0580",amPM:["\u0544\u053F","\u053F\u0540"],yearAriaLabel:"\u054F\u0561\u0580\u056B",monthAriaLabel:"\u0531\u0574\u056B\u057D",hourAriaLabel:"\u053A\u0561\u0574",minuteAriaLabel:"\u0550\u0578\u057A\u0565",time_24hr:!0};mg.l10ns.hy=zc;var bA=mg.l10ns;m();var gg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},jc={weekdays:{shorthand:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],longhand:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],longhand:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"]},firstDayOfWeek:1,ordinal:()=>"",time_24hr:!0,rangeSeparator:" - "};gg.l10ns.id=jc;var EA=gg.l10ns;m();var vg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},qc={weekdays:{shorthand:["Sun","M\xE1n","\xDEri","Mi\xF0","Fim","F\xF6s","Lau"],longhand:["Sunnudagur","M\xE1nudagur","\xDEri\xF0judagur","Mi\xF0vikudagur","Fimmtudagur","F\xF6studagur","Laugardagur"]},months:{shorthand:["Jan","Feb","Mar","Apr","Ma\xED","J\xFAn","J\xFAl","\xC1g\xFA","Sep","Okt","N\xF3v","Des"],longhand:["Jan\xFAar","Febr\xFAar","Mars","Apr\xEDl","Ma\xED","J\xFAn\xED","J\xFAl\xED","\xC1g\xFAst","September","Okt\xF3ber","N\xF3vember","Desember"]},ordinal:()=>".",firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"vika",yearAriaLabel:"\xC1r",time_24hr:!0};vg.l10ns.is=qc;var xA=vg.l10ns;m();var yg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Yc={weekdays:{shorthand:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],longhand:["Domenica","Luned\xEC","Marted\xEC","Mercoled\xEC","Gioved\xEC","Venerd\xEC","Sabato"]},months:{shorthand:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],longhand:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"]},firstDayOfWeek:1,ordinal:()=>"\xB0",rangeSeparator:" al ",weekAbbreviation:"Se",scrollTitle:"Scrolla per aumentare",toggleTitle:"Clicca per cambiare",time_24hr:!0};yg.l10ns.it=Yc;var _A=yg.l10ns;m();var bg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Jc={weekdays:{shorthand:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"],longhand:["\u65E5\u66DC\u65E5","\u6708\u66DC\u65E5","\u706B\u66DC\u65E5","\u6C34\u66DC\u65E5","\u6728\u66DC\u65E5","\u91D1\u66DC\u65E5","\u571F\u66DC\u65E5"]},months:{shorthand:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],longhand:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"]},time_24hr:!0,rangeSeparator:" \u304B\u3089 ",monthAriaLabel:"\u6708",amPM:["\u5348\u524D","\u5348\u5F8C"],yearAriaLabel:"\u5E74",hourAriaLabel:"\u6642\u9593",minuteAriaLabel:"\u5206"};bg.l10ns.ja=Jc;var DA=bg.l10ns;m();var wg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Gc={weekdays:{shorthand:["\u10D9\u10D5","\u10DD\u10E0","\u10E1\u10D0","\u10DD\u10D7","\u10EE\u10E3","\u10DE\u10D0","\u10E8\u10D0"],longhand:["\u10D9\u10D5\u10D8\u10E0\u10D0","\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8","\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8"]},months:{shorthand:["\u10D8\u10D0\u10DC","\u10D7\u10D4\u10D1","\u10DB\u10D0\u10E0","\u10D0\u10DE\u10E0","\u10DB\u10D0\u10D8","\u10D8\u10D5\u10DC","\u10D8\u10D5\u10DA","\u10D0\u10D2\u10D5","\u10E1\u10D4\u10E5","\u10DD\u10E5\u10E2","\u10DC\u10DD\u10D4","\u10D3\u10D4\u10D9"],longhand:["\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8","\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8","\u10DB\u10D0\u10E0\u10E2\u10D8","\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8","\u10DB\u10D0\u10D8\u10E1\u10D8","\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8","\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8","\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD","\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8","\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8","\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8","\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u10D9\u10D5.",scrollTitle:"\u10D3\u10D0\u10E1\u10E5\u10E0\u10DD\u10DA\u10D4\u10D7 \u10D2\u10D0\u10E1\u10D0\u10D3\u10D8\u10D3\u10D4\u10D1\u10DA\u10D0\u10D3",toggleTitle:"\u10D3\u10D0\u10D0\u10D9\u10DA\u10D8\u10D9\u10D4\u10D7 \u10D2\u10D0\u10D3\u10D0\u10E0\u10D7\u10D5\u10D8\u10E1\u10D7\u10D5\u10D8\u10E1",amPM:["AM","PM"],yearAriaLabel:"\u10EC\u10D4\u10DA\u10D8",time_24hr:!0};wg.l10ns.ka=Gc;var MA=wg.l10ns;m();var Eg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Qc={weekdays:{shorthand:["\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799","\u1785\u1793\u17D2\u1791","\u17A2\u1784\u17D2\u1782\u17B6\u179A","\u1796\u17BB\u1792","\u1796\u17D2\u179A\u17A0\u179F.","\u179F\u17BB\u1780\u17D2\u179A","\u179F\u17C5\u179A\u17CD"],longhand:["\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799","\u1785\u1793\u17D2\u1791","\u17A2\u1784\u17D2\u1782\u17B6\u179A","\u1796\u17BB\u1792","\u1796\u17D2\u179A\u17A0\u179F\u17D2\u1794\u178F\u17B7\u17CD","\u179F\u17BB\u1780\u17D2\u179A","\u179F\u17C5\u179A\u17CD"]},months:{shorthand:["\u1798\u1780\u179A\u17B6","\u1780\u17BB\u1798\u17D2\u1797\u17C7","\u1798\u17B8\u1793\u17B6","\u1798\u17C1\u179F\u17B6","\u17A7\u179F\u1797\u17B6","\u1798\u17B7\u1790\u17BB\u1793\u17B6","\u1780\u1780\u17D2\u1780\u178A\u17B6","\u179F\u17B8\u17A0\u17B6","\u1780\u1789\u17D2\u1789\u17B6","\u178F\u17BB\u179B\u17B6","\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6","\u1792\u17D2\u1793\u17BC"],longhand:["\u1798\u1780\u179A\u17B6","\u1780\u17BB\u1798\u17D2\u1797\u17C7","\u1798\u17B8\u1793\u17B6","\u1798\u17C1\u179F\u17B6","\u17A7\u179F\u1797\u17B6","\u1798\u17B7\u1790\u17BB\u1793\u17B6","\u1780\u1780\u17D2\u1780\u178A\u17B6","\u179F\u17B8\u17A0\u17B6","\u1780\u1789\u17D2\u1789\u17B6","\u178F\u17BB\u179B\u17B6","\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6","\u1792\u17D2\u1793\u17BC"]},ordinal:()=>"",firstDayOfWeek:1,rangeSeparator:" \u178A\u179B\u17CB ",weekAbbreviation:"\u179F\u1794\u17D2\u178F\u17B6\u17A0\u17CD",scrollTitle:"\u179A\u17C6\u1780\u17B7\u179B\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1794\u1784\u17D2\u1780\u17BE\u1793",toggleTitle:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1795\u17D2\u179B\u17B6\u179F\u17CB\u1794\u17D2\u178A\u17BC\u179A",yearAriaLabel:"\u1786\u17D2\u1793\u17B6\u17C6",time_24hr:!0};Eg.l10ns.km=Qc;var AA=Eg.l10ns;m();var kg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Xc={weekdays:{shorthand:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],longhand:["\uC77C\uC694\uC77C","\uC6D4\uC694\uC77C","\uD654\uC694\uC77C","\uC218\uC694\uC77C","\uBAA9\uC694\uC77C","\uAE08\uC694\uC77C","\uD1A0\uC694\uC77C"]},months:{shorthand:["1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4"],longhand:["1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4"]},ordinal:()=>"\uC77C",rangeSeparator:" ~ ",amPM:["\uC624\uC804","\uC624\uD6C4"]};kg.l10ns.ko=Xc;var PA=kg.l10ns;m();var xg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Zc={weekdays:{shorthand:["\u0416\u0441","\u0414\u0441","\u0421c","\u0421\u0440","\u0411\u0441","\u0416\u043C","\u0421\u0431"],longhand:["\u0416\u0435\u043A\u0441\u0435\u043D\u0431i","\u0414\u04AF\u0439\u0441\u0435\u043D\u0431i","\u0421\u0435\u0439\u0441\u0435\u043D\u0431i","\u0421\u04D9\u0440\u0441\u0435\u043D\u0431i","\u0411\u0435\u0439\u0441\u0435\u043D\u0431i","\u0416\u04B1\u043C\u0430","\u0421\u0435\u043D\u0431i"]},months:{shorthand:["\u049A\u0430\u04A3","\u0410\u049B\u043F","\u041D\u0430\u0443","\u0421\u04D9\u0443","\u041C\u0430\u043C","\u041C\u0430\u0443","\u0428i\u043B","\u0422\u0430\u043C","\u049A\u044B\u0440","\u049A\u0430\u0437","\u049A\u0430\u0440","\u0416\u0435\u043B"],longhand:["\u049A\u0430\u04A3\u0442\u0430\u0440","\u0410\u049B\u043F\u0430\u043D","\u041D\u0430\u0443\u0440\u044B\u0437","\u0421\u04D9\u0443i\u0440","\u041C\u0430\u043C\u044B\u0440","\u041C\u0430\u0443\u0441\u044B\u043C","\u0428i\u043B\u0434\u0435","\u0422\u0430\u043C\u044B\u0437","\u049A\u044B\u0440\u043A\u04AF\u0439\u0435\u043A","\u049A\u0430\u0437\u0430\u043D","\u049A\u0430\u0440\u0430\u0448\u0430","\u0416\u0435\u043B\u0442\u043E\u049B\u0441\u0430\u043D"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u0410\u043F\u0442\u0430",scrollTitle:"\u04AE\u043B\u043A\u0435\u0439\u0442\u0443 \u04AF\u0448\u0456\u043D \u0430\u0439\u043D\u0430\u043B\u0434\u044B\u0440\u044B\u04A3\u044B\u0437",toggleTitle:"\u0410\u0443\u044B\u0441\u0442\u044B\u0440\u0443 \u04AF\u0448\u0456\u043D \u0431\u0430\u0441\u044B\u04A3\u044B\u0437",amPM:["\u0422\u0414","\u0422\u041A"],yearAriaLabel:"\u0416\u044B\u043B"};xg.l10ns.kz=Zc;var NA=xg.l10ns;m();var Sg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},eu={weekdays:{shorthand:["S","Pr","A","T","K","Pn","\u0160"],longhand:["Sekmadienis","Pirmadienis","Antradienis","Tre\u010Diadienis","Ketvirtadienis","Penktadienis","\u0160e\u0161tadienis"]},months:{shorthand:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd"],longhand:["Sausis","Vasaris","Kovas","Balandis","Gegu\u017E\u0117","Bir\u017Eelis","Liepa","Rugpju\u0304tis","Rugse\u0307jis","Spalis","Lapkritis","Gruodis"]},firstDayOfWeek:1,ordinal:function(){return"-a"},rangeSeparator:" iki ",weekAbbreviation:"Sav",scrollTitle:"Keisti laik\u0105 pel\u0117s rateliu",toggleTitle:"Perjungti laiko format\u0105",time_24hr:!0};Sg.l10ns.lt=eu;var RA=Sg.l10ns;m();var _g=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},tu={firstDayOfWeek:1,weekdays:{shorthand:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],longhand:["Sv\u0113tdiena","Pirmdiena","Otrdiena","Tre\u0161diena","Ceturtdiena","Piektdiena","Sestdiena"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mai","J\u016Bn","J\u016Bl","Aug","Sep","Okt","Nov","Dec"],longhand:["Janv\u0101ris","Febru\u0101ris","Marts","Apr\u012Blis","Maijs","J\u016Bnijs","J\u016Blijs","Augusts","Septembris","Oktobris","Novembris","Decembris"]},rangeSeparator:" l\u012Bdz ",time_24hr:!0};_g.l10ns.lv=tu;var BA=_g.l10ns;m();var Cg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},nu={weekdays:{shorthand:["\u041D\u0435","\u041F\u043E","\u0412\u0442","\u0421\u0440","\u0427\u0435","\u041F\u0435","\u0421\u0430"],longhand:["\u041D\u0435\u0434\u0435\u043B\u0430","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u043E\u043A","\u041F\u0435\u0442\u043E\u043A","\u0421\u0430\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u0408\u0430\u043D","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0458","\u0408\u0443\u043D","\u0408\u0443\u043B","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0435","\u0414\u0435\u043A"],longhand:["\u0408\u0430\u043D\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0458","\u0408\u0443\u043D\u0438","\u0408\u0443\u043B\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438","\u041E\u043A\u0442\u043E\u043C\u0432\u0440\u0438","\u041D\u043E\u0435\u043C\u0432\u0440\u0438","\u0414\u0435\u043A\u0435\u043C\u0432\u0440\u0438"]},firstDayOfWeek:1,weekAbbreviation:"\u041D\u0435\u0434.",rangeSeparator:" \u0434\u043E ",time_24hr:!0};Cg.l10ns.mk=nu;var $A=Cg.l10ns;m();var Dg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},ru={firstDayOfWeek:1,weekdays:{shorthand:["\u0414\u0430","\u041C\u044F","\u041B\u0445","\u041F\u04AF","\u0411\u0430","\u0411\u044F","\u041D\u044F"],longhand:["\u0414\u0430\u0432\u0430\u0430","\u041C\u044F\u0433\u043C\u0430\u0440","\u041B\u0445\u0430\u0433\u0432\u0430","\u041F\u04AF\u0440\u044D\u0432","\u0411\u0430\u0430\u0441\u0430\u043D","\u0411\u044F\u043C\u0431\u0430","\u041D\u044F\u043C"]},months:{shorthand:["1-\u0440 \u0441\u0430\u0440","2-\u0440 \u0441\u0430\u0440","3-\u0440 \u0441\u0430\u0440","4-\u0440 \u0441\u0430\u0440","5-\u0440 \u0441\u0430\u0440","6-\u0440 \u0441\u0430\u0440","7-\u0440 \u0441\u0430\u0440","8-\u0440 \u0441\u0430\u0440","9-\u0440 \u0441\u0430\u0440","10-\u0440 \u0441\u0430\u0440","11-\u0440 \u0441\u0430\u0440","12-\u0440 \u0441\u0430\u0440"],longhand:["\u041D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0425\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0414\u04E9\u0440\u04E9\u0432\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0417\u0443\u0440\u0433\u0430\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0414\u043E\u043B\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u041D\u0430\u0439\u043C\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0415\u0441\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440","\u0410\u0440\u0432\u0430\u043D\u043D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440","\u0410\u0440\u0432\u0430\u043D\u0445\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440"]},rangeSeparator:"-\u0441 ",time_24hr:!0};Dg.l10ns.mn=ru;var VA=Dg.l10ns;m();var nS=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Tg={weekdays:{shorthand:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],longhand:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"]},months:{shorthand:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],longhand:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"]},firstDayOfWeek:1,ordinal:()=>""},zA=nS.l10ns;m();var Mg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},iu={weekdays:{shorthand:["\u1014\u103D\u1031","\u101C\u102C","\u1002\u102B","\u101F\u1030\u1038","\u1000\u103C\u102C","\u101E\u1031\u102C","\u1014\u1031"],longhand:["\u1010\u1014\u1004\u103A\u1039\u1002\u1014\u103D\u1031","\u1010\u1014\u1004\u103A\u1039\u101C\u102C","\u1021\u1004\u103A\u1039\u1002\u102B","\u1017\u102F\u1012\u1039\u1013\u101F\u1030\u1038","\u1000\u103C\u102C\u101E\u1015\u1010\u1031\u1038","\u101E\u1031\u102C\u1000\u103C\u102C","\u1005\u1014\u1031"]},months:{shorthand:["\u1007\u1014\u103A","\u1016\u1031","\u1019\u1010\u103A","\u1015\u103C\u102E","\u1019\u1031","\u1007\u103D\u1014\u103A","\u101C\u102D\u102F\u1004\u103A","\u101E\u103C","\u1005\u1000\u103A","\u1021\u1031\u102C\u1000\u103A","\u1014\u102D\u102F","\u1012\u102E"],longhand:["\u1007\u1014\u103A\u1014\u101D\u102B\u101B\u102E","\u1016\u1031\u1016\u1031\u102C\u103A\u101D\u102B\u101B\u102E","\u1019\u1010\u103A","\u1027\u1015\u103C\u102E","\u1019\u1031","\u1007\u103D\u1014\u103A","\u1007\u1030\u101C\u102D\u102F\u1004\u103A","\u101E\u103C\u1002\u102F\u1010\u103A","\u1005\u1000\u103A\u1010\u1004\u103A\u1018\u102C","\u1021\u1031\u102C\u1000\u103A\u1010\u102D\u102F\u1018\u102C","\u1014\u102D\u102F\u101D\u1004\u103A\u1018\u102C","\u1012\u102E\u1007\u1004\u103A\u1018\u102C"]},firstDayOfWeek:1,ordinal:()=>"",time_24hr:!0};Mg.l10ns.my=iu;var qA=Mg.l10ns;m();var Ig=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},au={weekdays:{shorthand:["zo","ma","di","wo","do","vr","za"],longhand:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},months:{shorthand:["jan","feb","mrt","apr","mei","jun","jul","aug","sept","okt","nov","dec"],longhand:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},firstDayOfWeek:1,weekAbbreviation:"wk",rangeSeparator:" t/m ",scrollTitle:"Scroll voor volgende / vorige",toggleTitle:"Klik om te wisselen",time_24hr:!0,ordinal:e=>e===1||e===8||e>=20?"ste":"de"};Ig.l10ns.nl=au;var JA=Ig.l10ns;m();var Ag=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},ou={weekdays:{shorthand:["S\xF8.","M\xE5.","Ty.","On.","To.","Fr.","La."],longhand:["S\xF8ndag","M\xE5ndag","Tysdag","Onsdag","Torsdag","Fredag","Laurdag"]},months:{shorthand:["Jan","Feb","Mars","Apr","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Des"],longhand:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"]},firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"Veke",scrollTitle:"Scroll for \xE5 endre",toggleTitle:"Klikk for \xE5 veksle",time_24hr:!0,ordinal:()=>"."};Ag.l10ns.nn=ou;var QA=Ag.l10ns;m();var Lg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},su={weekdays:{shorthand:["S\xF8n","Man","Tir","Ons","Tor","Fre","L\xF8r"],longhand:["S\xF8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\xF8rdag"]},months:{shorthand:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],longhand:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"]},firstDayOfWeek:1,rangeSeparator:" til ",weekAbbreviation:"Uke",scrollTitle:"Scroll for \xE5 endre",toggleTitle:"Klikk for \xE5 veksle",time_24hr:!0,ordinal:()=>"."};Lg.l10ns.no=su;var ZA=Lg.l10ns;m();var Pg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},lu={weekdays:{shorthand:["\u0A10\u0A24","\u0A38\u0A4B\u0A2E","\u0A2E\u0A70\u0A17\u0A32","\u0A2C\u0A41\u0A71\u0A27","\u0A35\u0A40\u0A30","\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30","\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30"],longhand:["\u0A10\u0A24\u0A35\u0A3E\u0A30","\u0A38\u0A4B\u0A2E\u0A35\u0A3E\u0A30","\u0A2E\u0A70\u0A17\u0A32\u0A35\u0A3E\u0A30","\u0A2C\u0A41\u0A71\u0A27\u0A35\u0A3E\u0A30","\u0A35\u0A40\u0A30\u0A35\u0A3E\u0A30","\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30\u0A35\u0A3E\u0A30","\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30\u0A35\u0A3E\u0A30"]},months:{shorthand:["\u0A1C\u0A28","\u0A2B\u0A3C\u0A30","\u0A2E\u0A3E\u0A30","\u0A05\u0A2A\u0A4D\u0A30\u0A48","\u0A2E\u0A08","\u0A1C\u0A42\u0A28","\u0A1C\u0A41\u0A32\u0A3E","\u0A05\u0A17","\u0A38\u0A24\u0A70","\u0A05\u0A15","\u0A28\u0A35\u0A70","\u0A26\u0A38\u0A70"],longhand:["\u0A1C\u0A28\u0A35\u0A30\u0A40","\u0A2B\u0A3C\u0A30\u0A35\u0A30\u0A40","\u0A2E\u0A3E\u0A30\u0A1A","\u0A05\u0A2A\u0A4D\u0A30\u0A48\u0A32","\u0A2E\u0A08","\u0A1C\u0A42\u0A28","\u0A1C\u0A41\u0A32\u0A3E\u0A08","\u0A05\u0A17\u0A38\u0A24","\u0A38\u0A24\u0A70\u0A2C\u0A30","\u0A05\u0A15\u0A24\u0A42\u0A2C\u0A30","\u0A28\u0A35\u0A70\u0A2C\u0A30","\u0A26\u0A38\u0A70\u0A2C\u0A30"]},time_24hr:!0};Pg.l10ns.pa=lu;var tL=Pg.l10ns;m();var Fg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},cu={weekdays:{shorthand:["Nd","Pn","Wt","\u015Ar","Cz","Pt","So"],longhand:["Niedziela","Poniedzia\u0142ek","Wtorek","\u015Aroda","Czwartek","Pi\u0105tek","Sobota"]},months:{shorthand:["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Pa\u017A","Lis","Gru"],longhand:["Stycze\u0144","Luty","Marzec","Kwiecie\u0144","Maj","Czerwiec","Lipiec","Sierpie\u0144","Wrzesie\u0144","Pa\u017Adziernik","Listopad","Grudzie\u0144"]},rangeSeparator:" do ",weekAbbreviation:"tydz.",scrollTitle:"Przewi\u0144, aby zwi\u0119kszy\u0107",toggleTitle:"Kliknij, aby prze\u0142\u0105czy\u0107",firstDayOfWeek:1,time_24hr:!0,ordinal:()=>"."};Fg.l10ns.pl=cu;var rL=Fg.l10ns;m();var Ng=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},uu={weekdays:{shorthand:["Dom","Seg","Ter","Qua","Qui","Sex","S\xE1b"],longhand:["Domingo","Segunda-feira","Ter\xE7a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S\xE1bado"]},months:{shorthand:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],longhand:["Janeiro","Fevereiro","Mar\xE7o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"]},rangeSeparator:" at\xE9 ",time_24hr:!0};Ng.l10ns.pt=uu;var aL=Ng.l10ns;m();var Og=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},du={weekdays:{shorthand:["Dum","Lun","Mar","Mie","Joi","Vin","S\xE2m"],longhand:["Duminic\u0103","Luni","Mar\u021Bi","Miercuri","Joi","Vineri","S\xE2mb\u0103t\u0103"]},months:{shorthand:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Noi","Dec"],longhand:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"]},firstDayOfWeek:1,time_24hr:!0,ordinal:()=>""};Og.l10ns.ro=du;var sL=Og.l10ns;m();var Rg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},fu={weekdays:{shorthand:["\u0412\u0441","\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431"],longhand:["\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0435\u0440\u0433","\u041F\u044F\u0442\u043D\u0438\u0446\u0430","\u0421\u0443\u0431\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u042F\u043D\u0432","\u0424\u0435\u0432","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433","\u0421\u0435\u043D","\u041E\u043A\u0442","\u041D\u043E\u044F","\u0414\u0435\u043A"],longhand:["\u042F\u043D\u0432\u0430\u0440\u044C","\u0424\u0435\u0432\u0440\u0430\u043B\u044C","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0435\u043B\u044C","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C","\u041E\u043A\u0442\u044F\u0431\u0440\u044C","\u041D\u043E\u044F\u0431\u0440\u044C","\u0414\u0435\u043A\u0430\u0431\u0440\u044C"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u041D\u0435\u0434.",scrollTitle:"\u041F\u0440\u043E\u043A\u0440\u0443\u0442\u0438\u0442\u0435 \u0434\u043B\u044F \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F",toggleTitle:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F",amPM:["\u0414\u041F","\u041F\u041F"],yearAriaLabel:"\u0413\u043E\u0434",time_24hr:!0};Rg.l10ns.ru=fu;var cL=Rg.l10ns;m();var Hg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},pu={weekdays:{shorthand:["\u0D89","\u0DC3","\u0D85","\u0DB6","\u0DB6\u0DCA\u200D\u0DBB","\u0DC3\u0DD2","\u0DC3\u0DD9"],longhand:["\u0D89\u0DBB\u0DD2\u0DAF\u0DCF","\u0DC3\u0DB3\u0DD4\u0DAF\u0DCF","\u0D85\u0D9F\u0DC4\u0DBB\u0DD4\u0DC0\u0DCF\u0DAF\u0DCF","\u0DB6\u0DAF\u0DCF\u0DAF\u0DCF","\u0DB6\u0DCA\u200D\u0DBB\u0DC4\u0DC3\u0DCA\u0DB4\u0DAD\u0DD2\u0DB1\u0DCA\u0DAF\u0DCF","\u0DC3\u0DD2\u0D9A\u0DD4\u0DBB\u0DCF\u0DAF\u0DCF","\u0DC3\u0DD9\u0DB1\u0DC3\u0DD4\u0DBB\u0DCF\u0DAF\u0DCF"]},months:{shorthand:["\u0DA2\u0DB1","\u0DB4\u0DD9\u0DB6","\u0DB8\u0DCF\u0DBB\u0DCA","\u0D85\u0DB4\u0DCA\u200D\u0DBB\u0DDA","\u0DB8\u0DD0\u0DBA\u0DD2","\u0DA2\u0DD4\u0DB1\u0DD2","\u0DA2\u0DD6\u0DBD\u0DD2","\u0D85\u0D9C\u0DDD","\u0DC3\u0DD0\u0DB4\u0DCA","\u0D94\u0D9A\u0DCA","\u0DB1\u0DDC\u0DC0\u0DD0","\u0DAF\u0DD9\u0DC3\u0DD0"],longhand:["\u0DA2\u0DB1\u0DC0\u0DCF\u0DBB\u0DD2","\u0DB4\u0DD9\u0DB6\u0DBB\u0DC0\u0DCF\u0DBB\u0DD2","\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4","\u0D85\u0DB4\u0DCA\u200D\u0DBB\u0DDA\u0DBD\u0DCA","\u0DB8\u0DD0\u0DBA\u0DD2","\u0DA2\u0DD4\u0DB1\u0DD2","\u0DA2\u0DD6\u0DBD\u0DD2","\u0D85\u0D9C\u0DDD\u0DC3\u0DCA\u0DAD\u0DD4","\u0DC3\u0DD0\u0DB4\u0DCA\u0DAD\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA","\u0D94\u0D9A\u0DCA\u0DAD\u0DDD\u0DB6\u0DBB\u0DCA","\u0DB1\u0DDC\u0DC0\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA","\u0DAF\u0DD9\u0DC3\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA"]},time_24hr:!0};Hg.l10ns.si=pu;var dL=Hg.l10ns;m();var Bg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},hu={weekdays:{shorthand:["Ned","Pon","Ut","Str","\u0160tv","Pia","Sob"],longhand:["Nede\u013Ea","Pondelok","Utorok","Streda","\u0160tvrtok","Piatok","Sobota"]},months:{shorthand:["Jan","Feb","Mar","Apr","M\xE1j","J\xFAn","J\xFAl","Aug","Sep","Okt","Nov","Dec"],longhand:["Janu\xE1r","Febru\xE1r","Marec","Apr\xEDl","M\xE1j","J\xFAn","J\xFAl","August","September","Okt\xF3ber","November","December"]},firstDayOfWeek:1,rangeSeparator:" do ",time_24hr:!0,ordinal:function(){return"."}};Bg.l10ns.sk=hu;var pL=Bg.l10ns;m();var Kg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},mu={weekdays:{shorthand:["Ned","Pon","Tor","Sre","\u010Cet","Pet","Sob"],longhand:["Nedelja","Ponedeljek","Torek","Sreda","\u010Cetrtek","Petek","Sobota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],longhand:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"]},firstDayOfWeek:1,rangeSeparator:" do ",time_24hr:!0,ordinal:function(){return"."}};Kg.l10ns.sl=mu;var mL=Kg.l10ns;m();var $g=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},gu={weekdays:{shorthand:["Di","H\xEB","Ma","M\xEB","En","Pr","Sh"],longhand:["E Diel","E H\xEBn\xEB","E Mart\xEB","E M\xEBrkur\xEB","E Enjte","E Premte","E Shtun\xEB"]},months:{shorthand:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","N\xEBn","Dhj"],longhand:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","N\xEBntor","Dhjetor"]},firstDayOfWeek:1,rangeSeparator:" deri ",weekAbbreviation:"Java",yearAriaLabel:"Viti",monthAriaLabel:"Muaji",hourAriaLabel:"Ora",minuteAriaLabel:"Minuta",time_24hr:!0};$g.l10ns.sq=gu;var vL=$g.l10ns;m();var Ug=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},vu={weekdays:{shorthand:["Ned","Pon","Uto","Sre","\u010Cet","Pet","Sub"],longhand:["Nedelja","Ponedeljak","Utorak","Sreda","\u010Cetvrtak","Petak","Subota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],longhand:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"]},firstDayOfWeek:1,weekAbbreviation:"Ned.",rangeSeparator:" do ",time_24hr:!0};Ug.l10ns.sr=vu;var bL=Ug.l10ns;m();var Vg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},yu={firstDayOfWeek:1,weekAbbreviation:"v",weekdays:{shorthand:["s\xF6n","m\xE5n","tis","ons","tor","fre","l\xF6r"],longhand:["s\xF6ndag","m\xE5ndag","tisdag","onsdag","torsdag","fredag","l\xF6rdag"]},months:{shorthand:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],longhand:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"]},rangeSeparator:" till ",time_24hr:!0,ordinal:()=>"."};Vg.l10ns.sv=yu;var EL=Vg.l10ns;m();var Wg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},bu={weekdays:{shorthand:["\u0E2D\u0E32","\u0E08","\u0E2D","\u0E1E","\u0E1E\u0E24","\u0E28","\u0E2A"],longhand:["\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C","\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C","\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23","\u0E1E\u0E38\u0E18","\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35","\u0E28\u0E38\u0E01\u0E23\u0E4C","\u0E40\u0E2A\u0E32\u0E23\u0E4C"]},months:{shorthand:["\u0E21.\u0E04.","\u0E01.\u0E1E.","\u0E21\u0E35.\u0E04.","\u0E40\u0E21.\u0E22.","\u0E1E.\u0E04.","\u0E21\u0E34.\u0E22.","\u0E01.\u0E04.","\u0E2A.\u0E04.","\u0E01.\u0E22.","\u0E15.\u0E04.","\u0E1E.\u0E22.","\u0E18.\u0E04."],longhand:["\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21","\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C","\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21","\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19","\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21","\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19","\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21","\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21","\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19","\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21","\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19","\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21"]},firstDayOfWeek:1,rangeSeparator:" \u0E16\u0E36\u0E07 ",scrollTitle:"\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E25\u0E14",toggleTitle:"\u0E04\u0E25\u0E34\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19",time_24hr:!0,ordinal:()=>""};Wg.l10ns.th=bu;var xL=Wg.l10ns;m();var zg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},wu={weekdays:{shorthand:["Paz","Pzt","Sal","\xC7ar","Per","Cum","Cmt"],longhand:["Pazar","Pazartesi","Sal\u0131","\xC7ar\u015Famba","Per\u015Fembe","Cuma","Cumartesi"]},months:{shorthand:["Oca","\u015Eub","Mar","Nis","May","Haz","Tem","A\u011Fu","Eyl","Eki","Kas","Ara"],longhand:["Ocak","\u015Eubat","Mart","Nisan","May\u0131s","Haziran","Temmuz","A\u011Fustos","Eyl\xFCl","Ekim","Kas\u0131m","Aral\u0131k"]},firstDayOfWeek:1,ordinal:()=>".",rangeSeparator:" - ",weekAbbreviation:"Hf",scrollTitle:"Art\u0131rmak i\xE7in kayd\u0131r\u0131n",toggleTitle:"A\xE7/Kapa",amPM:["\xD6\xD6","\xD6S"],time_24hr:!0};zg.l10ns.tr=wu;var _L=zg.l10ns;m();var jg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Eu={firstDayOfWeek:1,weekdays:{shorthand:["\u041D\u0434","\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431"],longhand:["\u041D\u0435\u0434\u0456\u043B\u044F","\u041F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A","\u0412\u0456\u0432\u0442\u043E\u0440\u043E\u043A","\u0421\u0435\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0435\u0440","\u041F'\u044F\u0442\u043D\u0438\u0446\u044F","\u0421\u0443\u0431\u043E\u0442\u0430"]},months:{shorthand:["\u0421\u0456\u0447","\u041B\u044E\u0442","\u0411\u0435\u0440","\u041A\u0432\u0456","\u0422\u0440\u0430","\u0427\u0435\u0440","\u041B\u0438\u043F","\u0421\u0435\u0440","\u0412\u0435\u0440","\u0416\u043E\u0432","\u041B\u0438\u0441","\u0413\u0440\u0443"],longhand:["\u0421\u0456\u0447\u0435\u043D\u044C","\u041B\u044E\u0442\u0438\u0439","\u0411\u0435\u0440\u0435\u0437\u0435\u043D\u044C","\u041A\u0432\u0456\u0442\u0435\u043D\u044C","\u0422\u0440\u0430\u0432\u0435\u043D\u044C","\u0427\u0435\u0440\u0432\u0435\u043D\u044C","\u041B\u0438\u043F\u0435\u043D\u044C","\u0421\u0435\u0440\u043F\u0435\u043D\u044C","\u0412\u0435\u0440\u0435\u0441\u0435\u043D\u044C","\u0416\u043E\u0432\u0442\u0435\u043D\u044C","\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434","\u0413\u0440\u0443\u0434\u0435\u043D\u044C"]},time_24hr:!0};jg.l10ns.uk=Eu;var DL=jg.l10ns;m();var qg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},ku={weekdays:{shorthand:["\u042F\u043A\u0448","\u0414\u0443\u0448","\u0421\u0435\u0448","\u0427\u043E\u0440","\u041F\u0430\u0439","\u0416\u0443\u043C","\u0428\u0430\u043D"],longhand:["\u042F\u043A\u0448\u0430\u043D\u0431\u0430","\u0414\u0443\u0448\u0430\u043D\u0431\u0430","\u0421\u0435\u0448\u0430\u043D\u0431\u0430","\u0427\u043E\u0440\u0448\u0430\u043D\u0431\u0430","\u041F\u0430\u0439\u0448\u0430\u043D\u0431\u0430","\u0416\u0443\u043C\u0430","\u0428\u0430\u043D\u0431\u0430"]},months:{shorthand:["\u042F\u043D\u0432","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0439","\u0418\u044E\u043D","\u0418\u044E\u043B","\u0410\u0432\u0433","\u0421\u0435\u043D","\u041E\u043A\u0442","\u041D\u043E\u044F","\u0414\u0435\u043A"],longhand:["\u042F\u043D\u0432\u0430\u0440","\u0424\u0435\u0432\u0440\u0430\u043B","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0435\u043B","\u041C\u0430\u0439","\u0418\u044E\u043D","\u0418\u044E\u043B","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043D\u0442\u044F\u0431\u0440","\u041E\u043A\u0442\u044F\u0431\u0440","\u041D\u043E\u044F\u0431\u0440","\u0414\u0435\u043A\u0430\u0431\u0440"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"\u04B2\u0430\u0444\u0442\u0430",scrollTitle:"\u041A\u0430\u0442\u0442\u0430\u043B\u0430\u0448\u0442\u0438\u0440\u0438\u0448 \u0443\u0447\u0443\u043D \u0430\u0439\u043B\u0430\u043D\u0442\u0438\u0440\u0438\u043D\u0433",toggleTitle:"\u040E\u0442\u0438\u0448 \u0443\u0447\u0443\u043D \u0431\u043E\u0441\u0438\u043D\u0433",amPM:["AM","PM"],yearAriaLabel:"\u0419\u0438\u043B",time_24hr:!0};qg.l10ns.uz=ku;var ML=qg.l10ns;m();var Yg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},xu={weekdays:{shorthand:["Ya","Du","Se","Cho","Pa","Ju","Sha"],longhand:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"]},months:{shorthand:["Yan","Fev","Mar","Apr","May","Iyun","Iyul","Avg","Sen","Okt","Noy","Dek"],longhand:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"]},firstDayOfWeek:1,ordinal:function(){return""},rangeSeparator:" \u2014 ",weekAbbreviation:"Hafta",scrollTitle:"Kattalashtirish uchun aylantiring",toggleTitle:"O\u2018tish uchun bosing",amPM:["AM","PM"],yearAriaLabel:"Yil",time_24hr:!0};Yg.l10ns.uz_latn=xu;var AL=Yg.l10ns;m();var Jg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Su={weekdays:{shorthand:["CN","T2","T3","T4","T5","T6","T7"],longhand:["Ch\u1EE7 nh\u1EADt","Th\u1EE9 hai","Th\u1EE9 ba","Th\u1EE9 t\u01B0","Th\u1EE9 n\u0103m","Th\u1EE9 s\xE1u","Th\u1EE9 b\u1EA3y"]},months:{shorthand:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],longhand:["Th\xE1ng m\u1ED9t","Th\xE1ng hai","Th\xE1ng ba","Th\xE1ng t\u01B0","Th\xE1ng n\u0103m","Th\xE1ng s\xE1u","Th\xE1ng b\u1EA3y","Th\xE1ng t\xE1m","Th\xE1ng ch\xEDn","Th\xE1ng m\u01B0\u1EDDi","Th\xE1ng m\u01B0\u1EDDi m\u1ED9t","Th\xE1ng m\u01B0\u1EDDi hai"]},firstDayOfWeek:1,rangeSeparator:" \u0111\u1EBFn "};Jg.l10ns.vn=Su;var PL=Jg.l10ns;m();var Gg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},_u={weekdays:{shorthand:["\u5468\u65E5","\u5468\u4E00","\u5468\u4E8C","\u5468\u4E09","\u5468\u56DB","\u5468\u4E94","\u5468\u516D"],longhand:["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"]},months:{shorthand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],longhand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},rangeSeparator:" \u81F3 ",weekAbbreviation:"\u5468",scrollTitle:"\u6EDA\u52A8\u5207\u6362",toggleTitle:"\u70B9\u51FB\u5207\u6362 12/24 \u5C0F\u65F6\u65F6\u5236"};Gg.l10ns.zh=_u;var NL=Gg.l10ns;m();var Qg=typeof window!="undefined"&&window.flatpickr!==void 0?window.flatpickr:{l10ns:{}},Cu={weekdays:{shorthand:["\u9031\u65E5","\u9031\u4E00","\u9031\u4E8C","\u9031\u4E09","\u9031\u56DB","\u9031\u4E94","\u9031\u516D"],longhand:["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"]},months:{shorthand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],longhand:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},rangeSeparator:" \u81F3 ",weekAbbreviation:"\u9031",scrollTitle:"\u6EFE\u52D5\u5207\u63DB",toggleTitle:"\u9EDE\u64CA\u5207\u63DB 12/24 \u5C0F\u6642\u6642\u5236"};Qg.l10ns.zh_tw=Cu;var RL=Qg.l10ns;var rS={ar:wc,at:Ec,az:kc,be:xc,bg:Sc,bn:_c,bs:Cc,ca:Go,ckb:Tc,cat:Go,cs:Mc,cy:Ic,da:Ac,de:Lc,default:{...Ur},en:Ur,eo:Pc,es:Fc,et:Nc,fa:Oc,fi:Rc,fo:Hc,fr:Bc,gr:Kc,he:$c,hi:Uc,hr:Vc,hu:Wc,hy:zc,id:jc,is:qc,it:Yc,ja:Jc,ka:Gc,ko:Xc,km:Qc,kz:Zc,lt:eu,lv:tu,mk:nu,mn:ru,ms:Tg,my:iu,nl:au,nn:ou,no:su,pa:lu,pl:cu,pt:uu,ro:du,ru:fu,si:pu,sk:hu,sl:mu,sq:gu,sr:vu,sv:yu,th:bu,tr:wu,uk:Eu,vn:Su,zh:_u,zh_tw:Cu,uz:ku,uz_latn:xu},tt=rS;var Zg={ar:tt.ar,cs:tt.cs,da:tt.da,de:tt.de,en:tt.en,"en-gb":tt.en,es:tt.es,fr:tt.fr,hi:tt.hi,id:tt.id,it:tt.it,ja:tt.ja,ko:tt.ko,nl:tt.nl,nn:tt.no,pl:tt.pl,pt:tt.pt,"pt-br":tt.pt,ro:tt.ro,ru:tt.ru,tr:tt.tr,"zh-cn":tt.zh,"zh-tw":tt.zh_tw},iS=Zg[Xg.moment.locale()];function Xo(e){let t=e==null?void 0:e.getSetting("date-picker-week-start"),r=iS||Zg.en;return t?{...r,firstDayOfWeek:t}:r}m();m();var Zo=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],wr={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:typeof window=="object"&&window.navigator.userAgent.indexOf("MSIE")===-1,ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:e=>typeof console!="undefined"&&console.warn(e),getWeek:e=>{let t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);let r=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-r.getTime())/864e5-3+(r.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1,win:window};m();var Bt=(e,t=2)=>`000${e}`.slice(t*-1),tn=e=>e===!0?1:0;function Du(e,t,r){let n;return function(){let i=arguments;r.clearTimeout(n),n=r.setTimeout(()=>e.apply(this,i),t)}}var es=e=>Array.isArray(e)?e:[e];m();m();var Tu=()=>{},Sa=(e,t,r)=>r.months[t?"shorthand":"longhand"][e],ev={D:Tu,F:function(e,t,r){e.setMonth(r.months.longhand.indexOf(t))},G:(e,t)=>{e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},H:(e,t)=>{e.setHours(parseFloat(t))},J:(e,t)=>{e.setDate(parseFloat(t))},K:(e,t,r)=>{e.setHours(e.getHours()%12+12*tn(new RegExp(r.amPM[1],"i").test(t)))},M:function(e,t,r){e.setMonth(r.months.shorthand.indexOf(t))},S:(e,t)=>{e.setSeconds(parseFloat(t))},U:(e,t)=>new Date(parseFloat(t)*1e3),W:function(e,t,r){let n=parseInt(t),i=new Date(e.getFullYear(),0,2+(n-1)*7,0,0,0,0);return i.setDate(i.getDate()-i.getDay()+r.firstDayOfWeek),i},Y:(e,t)=>{e.setFullYear(parseFloat(t))},Z:(e,t)=>new Date(t),d:(e,t)=>{e.setDate(parseFloat(t))},h:(e,t)=>{e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},i:(e,t)=>{e.setMinutes(parseFloat(t))},j:(e,t)=>{e.setDate(parseFloat(t))},l:Tu,m:(e,t)=>{e.setMonth(parseFloat(t)-1)},n:(e,t)=>{e.setMonth(parseFloat(t)-1)},s:(e,t)=>{e.setSeconds(parseFloat(t))},u:(e,t)=>new Date(parseFloat(t)),w:Tu,y:(e,t)=>{e.setFullYear(2e3+parseFloat(t))}},Jn={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},_i={Z:e=>e.toISOString(),D:function(e,t,r){return t.weekdays.shorthand[_i.w(e,t,r)]},F:function(e,t,r){return Sa(_i.n(e,t,r)-1,!1,t)},G:function(e,t,r){return Bt(_i.h(e,t,r))},H:e=>Bt(e.getHours()),J:function(e,t){return t.ordinal!==void 0?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:(e,t)=>t.amPM[tn(e.getHours()>11)],M:function(e,t){return Sa(e.getMonth(),!0,t)},S:e=>Bt(e.getSeconds()),U:e=>e.getTime()/1e3,W:function(e,t,r){return r.getWeek(e)},Y:e=>Bt(e.getFullYear(),4),d:e=>Bt(e.getDate()),h:e=>e.getHours()%12?e.getHours()%12:12,i:e=>Bt(e.getMinutes()),j:e=>e.getDate(),l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:e=>Bt(e.getMonth()+1),n:e=>e.getMonth()+1,s:e=>e.getSeconds(),u:e=>e.getTime(),w:e=>e.getDay(),y:e=>String(e.getFullYear()).substring(2)};var Mu=({config:e=wr,l10n:t=Ur,isMobile:r=!1})=>(n,i,a)=>{let o=a||t;return e.formatDate!==void 0&&!r?e.formatDate(n,i,o):i.split("").map((s,u,l)=>_i[s]&&l[u-1]!=="\\"?_i[s](n,o,e):s!=="\\"?s:"").join("")},ts=({config:e=wr,l10n:t=Ur})=>(r,n,i,a)=>{if(r!==0&&!r)return;let o=a||t,s,u=r;if(r.getDate)s=new Date(r.getTime());else if(typeof r!="string"&&r.toFixed!==void 0)s=new Date(r);else if(typeof r=="string"){let l=n||(e||wr).dateFormat,c=String(r).trim();if(c==="today")s=new Date,i=!0;else if(e&&e.parseDate)s=e.parseDate(r,l);else if(/Z$/.test(c)||/GMT$/.test(c))s=new Date(r);else{let d,f=[];for(let p=0,g=0,y="";ps=p(s,g,o)||s),s=d?s:void 0}}if(!(s.getDate&&!isNaN(s.getTime()))){e.errorHandler(new Error(`Invalid date provided: ${u}`));return}return i===!0&&s.setHours(0,0,0,0),s};function nn(e,t,r=!0){return r!==!1?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}var tv=(e,t,r)=>e>Math.min(t,r)&&ee*3600+t*60+r,nv=e=>{let t=Math.floor(e/3600),r=(e-t*3600)/60;return[t,r,e-t*3600-r*60]},rv={DAY:864e5};function rs(e){let t=e.defaultHour,r=e.defaultMinute,n=e.defaultSeconds;if(e.minDate!==void 0){let i=e.minDate.getHours(),a=e.minDate.getMinutes(),o=e.minDate.getSeconds();t=0?new Date:new Date(n.config.minDate.getTime()),ee=rs(n.config);$.setHours(ee.hours,ee.minutes,ee.seconds,$.getMilliseconds()),n.selectedDates=[$],n.latestSelectedDateObj=$}_!==void 0&&_.type!=="blur"&&to(_);let M=n._input.value;f(),kn(),n._input.value!==M&&n._debouncedChange()}function c(_,M){return _%12+12*tn(M===n.l10n.amPM[1])}function d(_){switch(_%24){case 0:case 12:return 12;default:return _%12}}function f(){if(n.hourElement===void 0||n.minuteElement===void 0)return;let _=(parseInt(n.hourElement.value.slice(-2),10)||0)%24,M=(parseInt(n.minuteElement.value,10)||0)%60,$=n.secondElement!==void 0?(parseInt(n.secondElement.value,10)||0)%60:0;n.amPM!==void 0&&(_=c(_,n.amPM.textContent));let ee=n.config.minTime!==void 0||n.config.minDate&&n.minDateHasTime&&n.latestSelectedDateObj&&nn(n.latestSelectedDateObj,n.config.minDate,!0)===0,le=n.config.maxTime!==void 0||n.config.maxDate&&n.maxDateHasTime&&n.latestSelectedDateObj&&nn(n.latestSelectedDateObj,n.config.maxDate,!0)===0;if(n.config.maxTime!==void 0&&n.config.minTime!==void 0&&n.config.minTime>n.config.maxTime){let re=ns(n.config.minTime.getHours(),n.config.minTime.getMinutes(),n.config.minTime.getSeconds()),ve=ns(n.config.maxTime.getHours(),n.config.maxTime.getMinutes(),n.config.maxTime.getSeconds()),ue=ns(_,M,$);if(ue>ve&&ue=12)]),n.secondElement!==void 0&&(n.secondElement.value=Bt($)))}function y(_){let M=rn(_),$=parseInt(M.value)+(_.delta||0);($/1e3>1||_.key==="Enter"&&!/[^\d]/.test($.toString()))&&te($)}function b(_,M,$,ee){if(Array.isArray(M))return M.forEach(le=>b(_,le,$,ee));if(Array.isArray(_))return _.forEach(le=>b(le,M,$,ee));_.addEventListener(M,$,ee),n._handlers.push({remove:()=>_.removeEventListener(M,$,ee)})}function x(){Ve("onChange")}function T(){if(n.config.wrap&&["open","close","toggle","clear"].forEach(M=>{Array.prototype.forEach.call(n.element.querySelectorAll(`[data-${M}]`),$=>b($,"click",n[M]))}),n.isMobile){qe();return}let _=Du(Ot,50,r);if(n._debouncedChange=Du(x,aS,r),n.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&b(n.daysContainer,"mouseover",M=>{n.config.mode==="range"&&vt(rn(M))}),b(n._input,"keydown",dt),n.calendarContainer!==void 0&&b(n.calendarContainer,"keydown",dt),!n.config.inline&&!n.config.static&&b(r,"resize",_),r.ontouchstart!==void 0?b(r.document,"touchstart",q):b(r.document,"mousedown",q),b(r.document,"focus",q,{capture:!0}),n.config.clickOpens===!0&&(b(n._input,"focus",n.open),b(n._input,"click",n.open)),n.daysContainer!==void 0&&(b(n.monthNav,"click",Sl),b(n.monthNav,["keyup","increment"],y),b(n.daysContainer,"click",Rt)),n.timeContainer!==void 0&&n.minuteElement!==void 0&&n.hourElement!==void 0){let M=$=>rn($).select();b(n.timeContainer,["increment"],l),b(n.timeContainer,"blur",l,{capture:!0}),b(n.timeContainer,"click",A),b([n.hourElement,n.minuteElement],["focus","click"],M),n.secondElement!==void 0&&b(n.secondElement,"focus",()=>n.secondElement&&n.secondElement.select()),n.amPM!==void 0&&b(n.amPM,"click",$=>{l($)})}n.config.allowInput&&b(n._input,"blur",Ue)}function C(_,M){let $=_!==void 0?n.parseDate(_):n.latestSelectedDateObj||(n.config.minDate&&n.config.minDate>n.now?n.config.minDate:n.config.maxDate&&n.config.maxDate1),n.calendarContainer.appendChild(_);let M=n.config.appendTo!==void 0&&n.config.appendTo.nodeType!==void 0;if((n.config.inline||n.config.static)&&(n.calendarContainer.classList.add(n.config.inline?"inline":"static"),n.config.inline&&(!M&&n.element.parentNode?n.element.parentNode.insertBefore(n.calendarContainer,n._input.nextSibling):n.config.appendTo!==void 0&&n.config.appendTo.appendChild(n.calendarContainer)),n.config.static)){let $=je(r.document,"div","flatpickr-wrapper");n.element.parentNode&&n.element.parentNode.insertBefore($,n.element),$.appendChild(n.element),n.altInput&&$.appendChild(n.altInput),$.appendChild(n.calendarContainer)}!n.config.static&&!n.config.inline&&(n.config.appendTo!==void 0?n.config.appendTo:r.document.body).appendChild(n.calendarContainer)}function K(_,M,$,ee){let le=we(M,!0),re=je(r.document,"span",_,M.getDate().toString());return re.dateObj=M,re.$i=ee,re.setAttribute("aria-label",n.formatDate(M,n.config.ariaDateFormat)),_.indexOf("hidden")===-1&&nn(M,n.now)===0&&(n.todayDateElem=re,re.classList.add("today"),re.setAttribute("aria-current","date")),le?(re.tabIndex=-1,Ye(M)&&(re.classList.add("selected"),n.selectedDateElem=re,n.config.mode==="range"&&(Kt(re,"startRange",n.selectedDates[0]&&nn(M,n.selectedDates[0],!0)===0),Kt(re,"endRange",n.selectedDates[1]&&nn(M,n.selectedDates[1],!0)===0),_==="nextMonthDay"&&re.classList.add("inRange")))):re.classList.add("flatpickr-disabled"),n.config.mode==="range"&&ir(M)&&!Ye(M)&&re.classList.add("inRange"),n.weekNumbers&&n.config.showMonths===1&&_!=="prevMonthDay"&&ee%7==6&&n.weekNumbers.insertAdjacentHTML("beforeend",""+n.config.getWeek(M)+""),Ve("onDayCreate",re),re}function z(_){_.focus(),n.config.mode==="range"&&vt(_)}function U(_){let M=_>0?0:n.config.showMonths-1,$=_>0?n.config.showMonths:-1;for(let ee=M;ee!=$;ee+=_){let le=n.daysContainer.children[ee],re=_>0?0:le.children.length-1,ve=_>0?le.children.length:-1;for(let ue=re;ue!=ve;ue+=_){let Fe=le.children[ue];if(Fe.className.indexOf("hidden")===-1&&we(Fe.dateObj))return Fe}}}function Z(_,M){let $=_.className.indexOf("Month")===-1?_.dateObj.getMonth():n.currentMonth,ee=M>0?n.config.showMonths:-1,le=M>0?1:-1;for(let re=$-n.currentMonth;re!=ee;re+=le){let ve=n.daysContainer.children[re],ue=$-n.currentMonth===re?_.$i+M:M<0?ve.children.length-1:0,Fe=ve.children.length;for(let Ne=ue;Ne>=0&&Ne0?Fe:-1);Ne+=le){let Me=ve.children[Ne];if(Me.className.indexOf("hidden")===-1&&we(Me.dateObj)&&Math.abs(_.$i-Ne)>=Math.abs(M))return z(Me)}}n.changeMonth(le),J(U(le),0)}function J(_,M){let $=o(),ee=xe($||n.element.doc.body),le=_!==void 0?_:ee?$:n.selectedDateElem!==void 0&&xe(n.selectedDateElem)?n.selectedDateElem:n.todayDateElem!==void 0&&xe(n.todayDateElem)?n.todayDateElem:U(M>0?1:-1);le===void 0?n._input.focus():ee?Z(le,M):z(le)}function se(_,M){let $=(new Date(_,M,1).getDay()-n.l10n.firstDayOfWeek+7)%7,ee=n.utils.getDaysInMonth((M-1+12)%12,_),le=n.utils.getDaysInMonth(M,_),re=r.document.createDocumentFragment(),ve=n.config.showMonths>1,ue=ve?"prevMonthDay hidden":"prevMonthDay",Fe=ve?"nextMonthDay hidden":"nextMonthDay",Ne=ee+1-$,Me=0;for(;Ne<=ee;Ne++,Me++)re.appendChild(K(`flatpickr-day ${ue}`,new Date(_,M-1,Ne),Ne,Me));for(Ne=1;Ne<=le;Ne++,Me++)re.appendChild(K("flatpickr-day",new Date(_,M,Ne),Ne,Me));for(let bt=le+1;bt<=42-$&&(n.config.showMonths===1||Me%7!=0);bt++,Me++)re.appendChild(K(`flatpickr-day ${Fe}`,new Date(_,M+1,bt%le),bt,Me));let Qt=je(r.document,"div","dayContainer");return Qt.appendChild(re),Qt}function G(){if(n.daysContainer===void 0)return;_a(n.daysContainer),n.weekNumbers&&_a(n.weekNumbers);let _=n.element.doc.createDocumentFragment();for(let M=0;M1||n.config.monthSelectorType!=="dropdown")return;let _=function(M){return n.config.minDate!==void 0&&n.currentYear===n.config.minDate.getFullYear()&&Mn.config.maxDate.getMonth())};n.monthsDropdownContainer.tabIndex=-1,n.monthsDropdownContainer.innerHTML="";for(let M=0;M<12;M++){if(!_(M))continue;let $=je(r.document,"option","flatpickr-monthDropdown-month");$.value=new Date(n.currentYear,M).getMonth().toString(),$.textContent=Sa(M,n.config.shorthandCurrentMonth,n.l10n),$.tabIndex=-1,n.currentMonth===M&&($.selected=!0),n.monthsDropdownContainer.appendChild($)}}function ie(){let _=je(r.document,"div","flatpickr-month"),M=r.document.createDocumentFragment(),$;n.config.showMonths>1||n.config.monthSelectorType==="static"?$=je(r.document,"span","cur-month"):(n.monthsDropdownContainer=je(r.document,"select","flatpickr-monthDropdown-months"),n.monthsDropdownContainer.setAttribute("aria-label",n.l10n.monthAriaLabel),b(n.monthsDropdownContainer,"change",ve=>{let ue=rn(ve),Fe=parseInt(ue.value,10);n.changeMonth(Fe-n.currentMonth),Ve("onMonthChange")}),Q(),$=n.monthsDropdownContainer);let ee=Ca(r.document,"cur-year",{tabindex:"-1"}),le=ee.getElementsByTagName("input")[0];le.setAttribute("aria-label",n.l10n.yearAriaLabel),n.config.minDate&&le.setAttribute("min",n.config.minDate.getFullYear().toString()),n.config.maxDate&&(le.setAttribute("max",n.config.maxDate.getFullYear().toString()),le.disabled=!!n.config.minDate&&n.config.minDate.getFullYear()===n.config.maxDate.getFullYear());let re=je(r.document,"div","flatpickr-current-month");return re.appendChild($),re.appendChild(ee),M.appendChild(re),_.appendChild(M),{container:_,yearElement:le,monthElement:$}}function he(){_a(n.monthNav),n.monthNav.appendChild(n.prevMonthNav),n.config.showMonths&&(n.yearElements=[],n.monthElements=[]);for(let _=n.config.showMonths;_--;){let M=ie();n.yearElements.push(M.yearElement),n.monthElements.push(M.monthElement),n.monthNav.appendChild(M.container)}n.monthNav.appendChild(n.nextMonthNav)}function pe(){return n.monthNav=je(r.document,"div","flatpickr-months"),n.yearElements=[],n.monthElements=[],n.prevMonthNav=je(r.document,"span","flatpickr-prev-month"),n.prevMonthNav.innerHTML=n.config.prevArrow,n.nextMonthNav=je(r.document,"span","flatpickr-next-month"),n.nextMonthNav.innerHTML=n.config.nextArrow,he(),Object.defineProperty(n,"_hidePrevMonthArrow",{get:()=>n.__hidePrevMonthArrow,set(_){n.__hidePrevMonthArrow!==_&&(Kt(n.prevMonthNav,"flatpickr-disabled",_),n.__hidePrevMonthArrow=_)}}),Object.defineProperty(n,"_hideNextMonthArrow",{get:()=>n.__hideNextMonthArrow,set(_){n.__hideNextMonthArrow!==_&&(Kt(n.nextMonthNav,"flatpickr-disabled",_),n.__hideNextMonthArrow=_)}}),n.currentYearElement=n.yearElements[0],Mt(),n.monthNav}function ge(){n.calendarContainer.classList.add("hasTime"),n.config.noCalendar&&n.calendarContainer.classList.add("noCalendar");let _=rs(n.config);n.timeContainer=je(r.document,"div","flatpickr-time"),n.timeContainer.tabIndex=-1;let M=je(r.document,"span","flatpickr-time-separator",":"),$=Ca(r.document,"flatpickr-hour",{"aria-label":n.l10n.hourAriaLabel});n.hourElement=$.getElementsByTagName("input")[0];let ee=Ca(r.document,"flatpickr-minute",{"aria-label":n.l10n.minuteAriaLabel});if(n.minuteElement=ee.getElementsByTagName("input")[0],n.hourElement.tabIndex=n.minuteElement.tabIndex=-1,n.hourElement.value=Bt(n.latestSelectedDateObj?n.latestSelectedDateObj.getHours():n.config.time_24hr?_.hours:d(_.hours)),n.minuteElement.value=Bt(n.latestSelectedDateObj?n.latestSelectedDateObj.getMinutes():_.minutes),n.hourElement.setAttribute("step",n.config.hourIncrement.toString()),n.minuteElement.setAttribute("step",n.config.minuteIncrement.toString()),n.hourElement.setAttribute("min",n.config.time_24hr?"0":"1"),n.hourElement.setAttribute("max",n.config.time_24hr?"23":"12"),n.hourElement.setAttribute("maxlength","2"),n.minuteElement.setAttribute("min","0"),n.minuteElement.setAttribute("max","59"),n.minuteElement.setAttribute("maxlength","2"),n.timeContainer.appendChild($),n.timeContainer.appendChild(M),n.timeContainer.appendChild(ee),n.config.time_24hr&&n.timeContainer.classList.add("time24hr"),n.config.enableSeconds){n.timeContainer.classList.add("hasSeconds");let le=Ca(r.document,"flatpickr-second");n.secondElement=le.getElementsByTagName("input")[0],n.secondElement.value=Bt(n.latestSelectedDateObj?n.latestSelectedDateObj.getSeconds():_.seconds),n.secondElement.setAttribute("step",n.minuteElement.getAttribute("step")),n.secondElement.setAttribute("min","0"),n.secondElement.setAttribute("max","59"),n.secondElement.setAttribute("maxlength","2"),n.timeContainer.appendChild(je(r.document,"span","flatpickr-time-separator",":")),n.timeContainer.appendChild(le)}return n.config.time_24hr||(n.amPM=je(r.document,"span","flatpickr-am-pm",n.l10n.amPM[tn((n.latestSelectedDateObj?n.hourElement.value:n.config.defaultHour)>11)]),n.amPM.title=n.l10n.toggleTitle,n.amPM.tabIndex=-1,n.timeContainer.appendChild(n.amPM)),n.timeContainer}function be(){n.weekdayContainer?_a(n.weekdayContainer):n.weekdayContainer=je(r.document,"div","flatpickr-weekdays");for(let _=n.config.showMonths;_--;){let M=je(r.document,"div","flatpickr-weekdaycontainer");n.weekdayContainer.appendChild(M)}return Te(),n.weekdayContainer}function Te(){if(!n.weekdayContainer)return;let _=n.l10n.firstDayOfWeek,M=[...n.l10n.weekdays.shorthand];_>0&&_ ${M.join("")} - `}function F(){n.calendarContainer.classList.add("hasWeeks");let _=je(r.document,"div","flatpickr-weekwrapper");_.appendChild(je(r.document,"span","flatpickr-weekday",n.l10n.weekAbbreviation));let M=je(r.document,"div","flatpickr-weeks");return _.appendChild(M),{weekWrapper:_,weekNumbers:M}}function N(_,M=!0){let $=M?_:_-n.currentMonth;$<0&&n._hidePrevMonthArrow===!0||$>0&&n._hideNextMonthArrow===!0||(n.currentMonth+=$,(n.currentMonth<0||n.currentMonth>11)&&(n.currentYear+=n.currentMonth>11?1:-1,n.currentMonth=(n.currentMonth+12)%12,Ve("onYearChange"),Q()),G(),Ve("onMonthChange"),Mt())}function ut(_=!0,M=!0){if(n.input.value="",n.altInput!==void 0&&(n.altInput.value=""),n.mobileInput!==void 0&&(n.mobileInput.value=""),n.selectedDates=[],n.latestSelectedDateObj=void 0,M===!0&&(n.currentYear=n._initialDate.getFullYear(),n.currentMonth=n._initialDate.getMonth()),n.config.enableTime===!0){let{hours:$,minutes:ee,seconds:le}=rs(n.config);g($,ee,le)}n.redraw(),_&&Ve("onChange")}function Ge(){n.isOpen=!1,n.isMobile||(n.calendarContainer!==void 0&&n.calendarContainer.classList.remove("open"),n._input!==void 0&&n._input.classList.remove("active")),Ve("onClose")}function W(){n.config!==void 0&&Ve("onDestroy");for(let _=n._handlers.length;_--;)n._handlers[_].remove();if(n._handlers=[],n.mobileInput)n.mobileInput.parentNode&&n.mobileInput.parentNode.removeChild(n.mobileInput),n.mobileInput=void 0;else if(n.calendarContainer&&n.calendarContainer.parentNode)if(n.config.static&&n.calendarContainer.parentNode){let _=n.calendarContainer.parentNode;if(_.lastChild&&_.removeChild(_.lastChild),_.parentNode){for(;_.firstChild;)_.parentNode.insertBefore(_.firstChild,_);_.parentNode.removeChild(_)}}else n.calendarContainer.parentNode.removeChild(n.calendarContainer);n.altInput&&(n.input.type="text",n.altInput.parentNode&&n.altInput.parentNode.removeChild(n.altInput),delete n.altInput),n.input&&(n.input.type=n.input._type,n.input.classList.remove("flatpickr-input"),n.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(_=>{try{delete n[_]}catch(M){}})}function j(_){return n.calendarContainer.contains(_)}function q(_){if(n.isOpen&&!n.config.inline){let M=rn(_),$=j(M),le=!(M===n.input||M===n.altInput||n.element.contains(M)||_.path&&_.path.indexOf&&(~_.path.indexOf(n.input)||~_.path.indexOf(n.altInput)))&&!$&&!j(_.relatedTarget),re=!n.config.ignoredFocusElements.some(ve=>ve.contains(M));le&&re&&(n.config.allowInput&&n.setDate(n._input.value,!1,n.config.altInput?n.config.altFormat:n.config.dateFormat),n.timeContainer!==void 0&&n.minuteElement!==void 0&&n.hourElement!==void 0&&n.input.value!==""&&n.input.value!==void 0&&l(),n.close(),n.config&&n.config.mode==="range"&&n.selectedDates.length===1&&n.clear(!1))}}function te(_){if(!_||n.config.minDate&&_n.config.maxDate.getFullYear())return;let M=_,$=n.currentYear!==M;n.currentYear=M||n.currentYear,n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()?n.currentMonth=Math.min(n.config.maxDate.getMonth(),n.currentMonth):n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&(n.currentMonth=Math.max(n.config.minDate.getMonth(),n.currentMonth)),$&&(n.redraw(),Ve("onYearChange"),Q())}function we(_,M=!0){var re;let $=n.parseDate(_,void 0,M);if(n.config.minDate&&$&&nn($,n.config.minDate,M!==void 0?M:!n.minDateHasTime)<0||n.config.maxDate&&$&&nn($,n.config.maxDate,M!==void 0?M:!n.maxDateHasTime)>0)return!1;if(!n.config.enable&&n.config.disable.length===0)return!0;if($===void 0)return!1;let ee=!!n.config.enable,le=(re=n.config.enable)!=null?re:n.config.disable;for(let ve=0,ue;ve=ue.from.getTime()&&$.getTime()<=ue.to.getTime())return ee}return!ee}function ke(_){return n.daysContainer!==void 0?_.className.indexOf("hidden")===-1&&_.className.indexOf("flatpickr-disabled")===-1&&n.daysContainer.contains(_):!1}function Ue(_){let M=_.target===n._input,$=n._input.value.trimEnd()!==Wi();M&&$&&!(_.relatedTarget&&j(_.relatedTarget))&&n.setDate(n._input.value,!0,_.target===n.altInput?n.config.altFormat:n.config.dateFormat)}function dt(_){let M=rn(_),$=n.config.wrap?e.contains(M):M===n._input,ee=n.config.allowInput,le=n.isOpen&&(!ee||!$),re=n.config.inline&&$&&!ee;if(_.keyCode===13&&$){if(ee)return n.setDate(n._input.value,!0,M===n.altInput?n.config.altFormat:n.config.dateFormat),n.close(),M.blur();n.open()}else if(j(M)||le||re){let ve=!!n.timeContainer&&n.timeContainer.contains(M);switch(_.keyCode){case 13:ve?(_.preventDefault(),l(),rr()):Rt(_);break;case 27:_.preventDefault(),rr();break;case 8:case 46:$&&!n.config.allowInput&&(_.preventDefault(),n.clear());break;case 37:case 39:if(!ve&&!$){_.preventDefault();let ue=o();if(n.daysContainer!==void 0&&(ee===!1||ue&&ke(ue))){let Fe=_.keyCode===39?1:-1;_.ctrlKey?(_.stopPropagation(),N(Fe),J(U(1),0)):J(void 0,Fe)}}else n.hourElement&&n.hourElement.focus();break;case 38:case 40:{_.preventDefault();let ue=_.keyCode===40?1:-1;n.daysContainer&&M.$i!==void 0||M===n.input||M===n.altInput?_.ctrlKey?(_.stopPropagation(),te(n.currentYear-ue),J(U(1),0)):ve||J(void 0,ue*7):M===n.currentYearElement?te(n.currentYear-ue):n.config.enableTime&&(!ve&&n.hourElement&&n.hourElement.focus(),l(_),n._debouncedChange());break}case 9:if(ve){let ue=[n.hourElement,n.minuteElement,n.secondElement,n.amPM].concat(n.pluginElements).filter(Ne=>Ne),Fe=ue.indexOf(M);if(Fe!==-1){let Ne=ue[Fe+(_.shiftKey?-1:1)];_.preventDefault(),(Ne||n._input).focus()}}else!n.config.noCalendar&&n.daysContainer&&n.daysContainer.contains(M)&&_.shiftKey&&(_.preventDefault(),n._input.focus());break;default:break}}if(n.amPM!==void 0&&M===n.amPM)switch(_.key){case n.l10n.amPM[0].charAt(0):case n.l10n.amPM[0].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[0],f(),xn();break;case n.l10n.amPM[1].charAt(0):case n.l10n.amPM[1].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[1],f(),xn();break}($||j(M))&&Ve("onKeyDown",_)}function vt(_,M="flatpickr-day"){if(n.selectedDates.length!==1||_&&(!_.classList.contains(M)||_.classList.contains("flatpickr-disabled")))return;let $=_?_.dateObj.getTime():n.days.firstElementChild.dateObj.getTime(),ee=n.parseDate(n.selectedDates[0],void 0,!0).getTime(),le=Math.min($,n.selectedDates[0].getTime()),re=Math.max($,n.selectedDates[0].getTime()),ve=!1,ue=0,Fe=0;for(let Me=le;Mele&&Meue)?ue=Me:Me>ee&&(!Fe||Me .${M}`)).forEach(Me=>{let bt=Me.dateObj.getTime(),ar=ue>0&&bt0&&bt>Fe;if(ar){Me.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(or=>{Me.classList.remove(or)});return}else if(ve&&!ar)return;["startRange","inRange","endRange","notAllowed"].forEach(or=>{Me.classList.remove(or)}),_!==void 0&&(_.classList.add($<=n.selectedDates[0].getTime()?"startRange":"endRange"),ee<$&&bt===ee?Me.classList.add("startRange"):ee>$&&bt===ee&&Me.classList.add("endRange"),bt>=ue&&(Fe===0||bt<=Fe)&&tv(bt,ee,$)&&Me.classList.add("inRange"))})}function Ot(){n.isOpen&&!n.config.static&&!n.config.inline&&Un()}function Bn(_,M=n._positionElement){if(n.isMobile===!0){if(_){_.preventDefault();let ee=rn(_);ee&&ee.blur()}n.mobileInput!==void 0&&(n.mobileInput.focus(),n.mobileInput.click()),Ve("onOpen");return}else if(n._input.disabled||n.config.inline)return;let $=n.isOpen;n.isOpen=!0,$||(n.calendarContainer.classList.add("open"),n._input.classList.add("active"),Ve("onOpen"),Un(M)),n.config.enableTime===!0&&n.config.noCalendar===!0&&n.config.allowInput===!1&&(_===void 0||!n.timeContainer.contains(_.relatedTarget))&&r.setTimeout(()=>n.hourElement.select(),50)}function Kn(_){return M=>{let $=n.config[`_${_}Date`]=n.parseDate(M,n.config.dateFormat),ee=n.config[`_${_==="min"?"max":"min"}Date`];$!==void 0&&(n[_==="min"?"minDateHasTime":"maxDateHasTime"]=$.getHours()>0||$.getMinutes()>0||$.getSeconds()>0),n.selectedDates&&(n.selectedDates=n.selectedDates.filter(le=>we(le)),!n.selectedDates.length&&_==="min"&&p($),xn()),n.daysContainer&&(ti(),$!==void 0?n.currentYearElement[_]=$.getFullYear().toString():n.currentYearElement.removeAttribute(_),n.currentYearElement.disabled=!!ee&&$!==void 0&&ee.getFullYear()===$.getFullYear())}}function $n(){let _=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],M={...JSON.parse(JSON.stringify(e.dataset||{})),...t},$={};n.config.parseDate=M.parseDate,n.config.formatDate=M.formatDate,Object.defineProperty(n.config,"enable",{get:()=>n.config._enable,set:re=>{n.config._enable=Ee(re)}}),Object.defineProperty(n.config,"disable",{get:()=>n.config._disable,set:re=>{n.config._disable=Ee(re)}});let ee=M.mode==="time";if(!M.dateFormat&&(M.enableTime||ee)){let re=gt.defaultConfig.dateFormat||wr.dateFormat;$.dateFormat=M.noCalendar||ee?"H:i"+(M.enableSeconds?":S":""):re+" H:i"+(M.enableSeconds?":S":"")}if(M.altInput&&(M.enableTime||ee)&&!M.altFormat){let re=gt.defaultConfig.altFormat||wr.altFormat;$.altFormat=M.noCalendar||ee?"h:i"+(M.enableSeconds?":S K":" K"):re+` h:i${M.enableSeconds?":S":""} K`}Object.defineProperty(n.config,"minDate",{get:()=>n.config._minDate,set:Kn("min")}),Object.defineProperty(n.config,"maxDate",{get:()=>n.config._maxDate,set:Kn("max")});let le=re=>ve=>{n.config[re==="min"?"_minTime":"_maxTime"]=n.parseDate(ve,"H:i:S")};Object.defineProperty(n.config,"minTime",{get:()=>n.config._minTime,set:le("min")}),Object.defineProperty(n.config,"maxTime",{get:()=>n.config._maxTime,set:le("max")}),M.mode==="time"&&(n.config.noCalendar=!0,n.config.enableTime=!0),Object.assign(n.config,$,M);for(let re=0;re<_.length;re++)n.config[_[re]]=n.config[_[re]]===!0||n.config[_[re]]==="true";Zo.filter(re=>n.config[re]!==void 0).forEach(re=>{n.config[re]=es(n.config[re]||[]).map(s)}),n.isMobile=!n.config.disableMobile&&!n.config.inline&&n.config.mode==="single"&&!n.config.disable.length&&!n.config.enable&&!n.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(let re=0;re-1?n.config[ue]=es(ve[ue]).map(s).concat(n.config[ue]):typeof M[ue]=="undefined"&&(n.config[ue]=ve[ue])}M.altInputClass||(n.config.altInputClass=bn().className+" "+n.config.altInputClass),Ve("onParseConfig")}function bn(){return n.config.wrap?e.querySelector("[data-input]"):e}function wn(){typeof n.config.locale!="object"&&typeof gt.l10ns[n.config.locale]=="undefined"&&n.config.errorHandler(new Error(`flatpickr: invalid locale ${n.config.locale}`)),n.l10n={...gt.l10ns.default,...typeof n.config.locale=="object"?n.config.locale:n.config.locale!=="default"?gt.l10ns[n.config.locale]:void 0},Jn.D=`(${n.l10n.weekdays.shorthand.join("|")})`,Jn.l=`(${n.l10n.weekdays.longhand.join("|")})`,Jn.M=`(${n.l10n.months.shorthand.join("|")})`,Jn.F=`(${n.l10n.months.longhand.join("|")})`,Jn.K=`(${n.l10n.amPM[0]}|${n.l10n.amPM[1]}|${n.l10n.amPM[0].toLowerCase()}|${n.l10n.amPM[1].toLowerCase()})`,{...t,...JSON.parse(JSON.stringify(e.dataset||{}))}.time_24hr===void 0&>.defaultConfig.time_24hr===void 0&&(n.config.time_24hr=n.l10n.time_24hr),n.formatDate=Mu(n),n.parseDate=ts({config:n.config,l10n:n.l10n})}function Un(_){if(typeof n.config.position=="function")return void n.config.position(n,_);if(n.calendarContainer===void 0)return;Ve("onPreCalendarPosition");let M=_||n._positionElement,$=Array.prototype.reduce.call(n.calendarContainer.children,(Tr,ji)=>Tr+ji.offsetHeight,0),ee=n.calendarContainer.offsetWidth,le=n.config.position.split(" "),re=le[0],ve=le.length>1?le[1]:null,ue=M.getBoundingClientRect(),Fe=r.innerHeight-ue.bottom,Ne=re==="above"||re!=="below"&&Fe<$&&ue.top>$,Me=r.pageYOffset+ue.top+(Ne?-$-2:M.offsetHeight+2);if(Kt(n.calendarContainer,"arrowTop",!Ne),Kt(n.calendarContainer,"arrowBottom",Ne),n.config.inline)return;let Qt=r.pageXOffset+ue.left,bt=!1,ar=!1;ve==="center"?(Qt-=(ee-ue.width)/2,bt=!0):ve==="right"&&(Qt-=ee-ue.width,ar=!0),Kt(n.calendarContainer,"arrowLeft",!bt&&!ar),Kt(n.calendarContainer,"arrowCenter",bt),Kt(n.calendarContainer,"arrowRight",ar);let or=r.document.body.offsetWidth-(r.pageXOffset+ue.right),zi=Qt+ee>r.document.body.offsetWidth,no=or+ee>r.document.body.offsetWidth;if(Kt(n.calendarContainer,"rightMost",zi),!n.config.static)if(n.calendarContainer.style.top=`${Me}px`,!zi)n.calendarContainer.style.left=`${Qt}px`,n.calendarContainer.style.right="auto";else if(!no)n.calendarContainer.style.left="auto",n.calendarContainer.style.right=`${or}px`;else{let Tr=Zr();if(Tr===void 0)return;let ji=r.document.body.offsetWidth,_l=Math.max(0,ji/2-ee/2),Cl=".flatpickr-calendar.centerMost:before",Mf=".flatpickr-calendar.centerMost:after",O=Tr.cssRules.length,w=`{left:${ue.left}px;right:auto;}`;Kt(n.calendarContainer,"rightMost",!1),Kt(n.calendarContainer,"centerMost",!0),Tr.insertRule(`${Cl},${Mf}${w}`,O),n.calendarContainer.style.left=`${_l}px`,n.calendarContainer.style.right="auto"}}function Zr(){let _=null;for(let M=0;Mve.classList&&ve.classList.contains("flatpickr-day")&&!ve.classList.contains("flatpickr-disabled")&&!ve.classList.contains("notAllowed"),$=Iu(rn(_),M);if($===void 0)return;let ee=$,le=n.latestSelectedDateObj=new Date(ee.dateObj.getTime()),re=(le.getMonth()n.currentMonth+n.config.showMonths-1)&&n.config.mode!=="range";if(n.selectedDateElem=ee,n.config.mode==="single")n.selectedDates=[le];else if(n.config.mode==="multiple"){let ve=Ye(le);ve?n.selectedDates.splice(parseInt(ve),1):n.selectedDates.push(le)}else n.config.mode==="range"&&(n.selectedDates.length===2&&n.clear(!1,!1),n.latestSelectedDateObj=le,n.selectedDates.push(le),nn(le,n.selectedDates[0],!0)!==0&&n.selectedDates.sort((ve,ue)=>ve.getTime()-ue.getTime()));if(f(),re){let ve=n.currentYear!==le.getFullYear();n.currentYear=le.getFullYear(),n.currentMonth=le.getMonth(),ve&&(Ve("onYearChange"),Q()),Ve("onMonthChange")}if(Mt(),G(),xn(),!re&&n.config.mode!=="range"&&n.config.showMonths===1?z(ee):n.selectedDateElem!==void 0&&n.hourElement===void 0&&n.selectedDateElem&&n.selectedDateElem.focus(),n.hourElement!==void 0&&n.hourElement!==void 0&&n.hourElement.focus(),n.config.closeOnSelect){let ve=n.config.mode==="single"&&!n.config.enableTime,ue=n.config.mode==="range"&&n.selectedDates.length===2&&!n.config.enableTime;(ve||ue)&&rr()}k()}let Wt={locale:[wn,Te],showMonths:[he,u,be],minDate:[C],maxDate:[C],positionElement:[En],clickOpens:[()=>{n.config.clickOpens===!0?(b(n._input,"focus",n.open),b(n._input,"click",n.open)):(n._input.removeEventListener("focus",n.open),n._input.removeEventListener("click",n.open))}]};function yt(_,M){if(_!==null&&typeof _=="object"){Object.assign(n.config,_);for(let $ in _)Wt[$]!==void 0&&Wt[$].forEach(ee=>ee())}else n.config[_]=M,Wt[_]!==void 0?Wt[_].forEach($=>$()):Zo.indexOf(_)>-1&&(n.config[_]=es(M));n.redraw(),xn(!0)}function Y(_,M){let $=[];if(Array.isArray(_))$=_.map(ee=>n.parseDate(ee,M));else if(_.getDate||typeof _=="number")$=[n.parseDate(_,M)];else if(typeof _=="string")switch(n.config.mode){case"single":case"time":$=[n.parseDate(_,M)];break;case"multiple":$=_.split(n.config.conjunction).map(ee=>n.parseDate(ee,M));break;case"range":$=_.split(n.l10n.rangeSeparator).map(ee=>n.parseDate(ee,M));break;default:break}else n.config.errorHandler(new Error(`Invalid date supplied: ${JSON.stringify(_)}`));n.selectedDates=n.config.allowInvalidPreload?$:$.filter(ee=>ee.getDate&&we(ee,!1)),n.config.mode==="range"&&n.selectedDates.sort((ee,le)=>ee.getTime()-le.getTime())}function oe(_,M=!1,$=n.config.dateFormat){if(_!==0&&!_||Array.isArray(_)&&_.length===0)return n.clear(M);Y(_,$),n.latestSelectedDateObj=n.selectedDates[n.selectedDates.length-1],n.redraw(),C(void 0,M),p(),n.selectedDates.length===0&&n.clear(!1),xn(M),M&&Ve("onChange")}function Ee(_){return _.slice().map(M=>typeof M=="string"||typeof M=="number"||M.getDate?n.parseDate(M,void 0,!0):M&&typeof M=="object"&&M.from&&M.to?{from:n.parseDate(M.from,void 0),to:n.parseDate(M.to,void 0)}:M).filter(M=>M)}function ze(){n.selectedDates=[],n.now=n.parseDate(n.config.now)||new Date;let _=n.config.defaultDate||((n.input.nodeName==="INPUT"||n.input.nodeName==="TEXTAREA")&&n.input.placeholder&&n.input.value===n.input.placeholder?null:n.input.value);_&&Y(_,n.config.dateFormat),n._initialDate=n.selectedDates.length>0?n.selectedDates[0]:n.config.minDate&&n.config.minDate.getTime()>n.now.getTime()?n.config.minDate:n.config.maxDate&&n.config.maxDate.getTime()0&&(n.latestSelectedDateObj=n.selectedDates[0]),n.config.minTime!==void 0&&(n.config.minTime=n.parseDate(n.config.minTime,"H:i")),n.config.maxTime!==void 0&&(n.config.maxTime=n.parseDate(n.config.maxTime,"H:i")),n.minDateHasTime=!!n.config.minDate&&(n.config.minDate.getHours()>0||n.config.minDate.getMinutes()>0||n.config.minDate.getSeconds()>0),n.maxDateHasTime=!!n.config.maxDate&&(n.config.maxDate.getHours()>0||n.config.maxDate.getMinutes()>0||n.config.maxDate.getSeconds()>0)}function Tt(){if(n.input=bn(),!n.input){n.config.errorHandler(new Error("Invalid input element specified"));return}n.input._type=n.input.type,n.input.type="text",n.input.classList.add("flatpickr-input"),n._input=n.input,n.config.altInput&&(n.altInput=je(r.document,n.input.nodeName,n.config.altInputClass),n._input=n.altInput,n.altInput.placeholder=n.input.placeholder,n.altInput.disabled=n.input.disabled,n.altInput.required=n.input.required,n.altInput.tabIndex=n.input.tabIndex,n.altInput.type="text",n.input.setAttribute("type","hidden"),!n.config.static&&n.input.parentNode&&n.input.parentNode.insertBefore(n.altInput,n.input.nextSibling)),n.config.allowInput||n._input.setAttribute("readonly","readonly"),En()}function En(){n._positionElement=n.config.positionElement||n._input}function qe(){let _=n.config.enableTime?n.config.noCalendar?"time":"datetime-local":"date";n.mobileInput=je(r.document,"input",n.input.className+" flatpickr-mobile"),n.mobileInput.tabIndex=1,n.mobileInput.type=_,n.mobileInput.disabled=n.input.disabled,n.mobileInput.required=n.input.required,n.mobileInput.placeholder=n.input.placeholder,n.mobileFormatStr=_==="datetime-local"?"Y-m-d\\TH:i:S":_==="date"?"Y-m-d":"H:i:S",n.selectedDates.length>0&&(n.mobileInput.defaultValue=n.mobileInput.value=n.formatDate(n.selectedDates[0],n.mobileFormatStr)),n.config.minDate&&(n.mobileInput.min=n.formatDate(n.config.minDate,"Y-m-d")),n.config.maxDate&&(n.mobileInput.max=n.formatDate(n.config.maxDate,"Y-m-d")),n.input.getAttribute("step")&&(n.mobileInput.step=String(n.input.getAttribute("step"))),n.input.type="hidden",n.altInput!==void 0&&(n.altInput.type="hidden");try{n.input.parentNode&&n.input.parentNode.insertBefore(n.mobileInput,n.input.nextSibling)}catch(M){}b(n.mobileInput,"change",M=>{n.setDate(rn(M).value,!1,n.mobileFormatStr),Ve("onChange"),Ve("onClose")})}function st(_){if(n.isOpen===!0)return n.close();n.open(_)}function Ve(_,M){if(n.config===void 0)return;let $=n.config[_];if($!==void 0&&$.length>0)for(let ee=0;$[ee]&&ee<$.length;ee++)$[ee](n.selectedDates,n.input.value,n,M);_==="onChange"&&(n.input.dispatchEvent(fn("change")),n.input.dispatchEvent(fn("input")))}function fn(_){let M=r.document.createEvent("Event");return M.initEvent(_,!0,!0),M}function Ye(_){for(let M=0;M=0&&nn(_,n.selectedDates[1])<=0}function Mt(){n.config.noCalendar||n.isMobile||!n.monthNav||(n.yearElements.forEach((_,M)=>{let $=new Date(n.currentYear,n.currentMonth,1);$.setMonth(n.currentMonth+M),n.config.showMonths>1||n.config.monthSelectorType==="static"?n.monthElements[M].textContent=Sa($.getMonth(),n.config.shorthandCurrentMonth,n.l10n)+" ":n.monthsDropdownContainer.value=$.getMonth().toString(),_.value=$.getFullYear().toString()}),n._hidePrevMonthArrow=n.config.minDate!==void 0&&(n.currentYear===n.config.minDate.getFullYear()?n.currentMonth<=n.config.minDate.getMonth():n.currentYearn.config.maxDate.getMonth():n.currentYear>n.config.maxDate.getFullYear()))}function Wi(_){let M=_||(n.config.altInput?n.config.altFormat:n.config.dateFormat);return n.selectedDates.map($=>n.formatDate($,M)).filter(($,ee,le)=>n.config.mode!=="range"||n.config.enableTime||le.indexOf($)===ee).join(n.config.mode!=="range"?n.config.conjunction:n.l10n.rangeSeparator)}function xn(_=!0){n.mobileInput!==void 0&&n.mobileFormatStr&&(n.mobileInput.value=n.latestSelectedDateObj!==void 0?n.formatDate(n.latestSelectedDateObj,n.mobileFormatStr):""),n.input.value=Wi(n.config.dateFormat),n.altInput!==void 0&&(n.altInput.value=Wi(n.config.altFormat)),_!==!1&&Ve("onValueUpdate")}function Sl(_){let M=rn(_),$=n.prevMonthNav.contains(M),ee=n.nextMonthNav.contains(M);$||ee?N($?-1:1):n.yearElements.indexOf(M)>=0?M.select():M.classList.contains("arrowUp")?n.changeYear(n.currentYear+1):M.classList.contains("arrowDown")&&n.changeYear(n.currentYear-1)}function to(_){_.preventDefault();let M=_.type==="keydown",$=rn(_),ee=$;n.amPM!==void 0&&$===n.amPM&&(n.amPM.textContent=n.l10n.amPM[tn(n.amPM.textContent===n.l10n.amPM[0])]);let le=parseFloat(ee.getAttribute("min")),re=parseFloat(ee.getAttribute("max")),ve=parseFloat(ee.getAttribute("step")),ue=parseInt(ee.value,10),Fe=_.delta||(M?_.which===38?1:-1:0),Ne=ue+ve*Fe;if(typeof ee.value!="undefined"&&ee.value.length===2){let Me=ee===n.hourElement,Qt=ee===n.minuteElement;Nere&&(Ne=ee===n.hourElement?Ne-re-tn(!n.amPM):le,Qt&&H(void 0,1,n.hourElement)),n.amPM&&Me&&(ve===1?Ne+ue===23:Math.abs(Ne-ue)>ve)&&(n.amPM.textContent=n.l10n.amPM[tn(n.amPM.textContent===n.l10n.amPM[0])]),ee.value=Bt(Ne)}}return a(),n}function is(e,t){let r=Array.prototype.slice.call(e).filter(i=>i.onClickEvent),n=[];for(let i=0;i{gt.l10ns.default={...gt.l10ns.default,...e}};gt.setDefaults=e=>{gt.defaultConfig={...gt.defaultConfig,...e}};gt.parseDate=ts({});gt.formatDate=Mu({});gt.compareDates=nn;typeof jQuery!="undefined"&&typeof jQuery.fn!="undefined"&&(jQuery.fn.flatpickr=function(e){return is(this,e)});Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(typeof e=="string"?parseInt(e,10):e))};typeof window!="undefined"&&(window.flatpickr=gt);var as=gt;function os(e,t,r,n,i){return e.document.body.createDiv({cls:`${B("date-picker")} ${B("ignore-click-outside")}`},a=>{a.style.left=`${r.x||0}px`,a.style.top=`${r.y||0}px`,a.createEl("input",{type:"text"},o=>{a.win.setTimeout(()=>{let s=null,u=d=>{d.target instanceof d.view.HTMLElement&&d.target.closest(`.${B("date-picker")}`)===null&&c()},l=d=>{d.key==="Escape"&&c()},c=()=>{s.destroy(),a.remove(),e.document.body.removeEventListener("click",u),e.document.removeEventListener("keydown",l)};s=as(o,{locale:Xo(t),defaultDate:i,inline:!0,onChange:d=>{n(d),c()},win:e}),a.win.setTimeout(()=>{let d=a.clientHeight,f=a.clientWidth;r.y+d>e.innerHeight&&(a.style.top=`${(r.y||0)-d}px`),r.x+f>e.innerWidth&&(a.style.left=`${(r.x||0)-f}px`)}),e.document.body.addEventListener("click",u),e.document.addEventListener("keydown",l)})})})}function ss({stateManager:e,boardModifiers:t,item:r,hasDate:n,path:i}){let a=e.getSetting("date-format"),o=e.getSetting("link-date-to-daily-note"),s=e.getSetting("date-trigger"),u=o?"(?:\\[[^\\]]+\\]\\([^)]+\\)|\\[\\[[^\\]]+\\]\\])":"{[^}]+}",l=new RegExp(`(^|\\s)${Ln(s)}${u}`);return c=>{let d=c[0],f=(0,rt.moment)(d).format(a),p=o?Yo(e.app,f):`{${f}}`,g=r.data.titleRaw;n?g=r.data.titleRaw.replace(l,`$1${s}${p}`):g=`${r.data.titleRaw} ${s}${p}`,e.updateItemContent(r,g).then(y=>{t.updateItem(i,y)}).catch(y=>{e.setError(y),console.error(y)})}}function Au(e){let t=e.getSetting("time-format"),r=[];for(let n=0;n<24;n++)r.push((0,rt.moment)({hour:n}).format(t)),r.push((0,rt.moment)({hour:n,minute:15}).format(t)),r.push((0,rt.moment)({hour:n,minute:30}).format(t)),r.push((0,rt.moment)({hour:n,minute:45}).format(t));return r}function ls(e,t,r,n,i){let a=B("time-picker"),o=t.getSetting("time-format"),s=i==null?void 0:i.format(o);e.document.body.createDiv({cls:`${a} ${B("ignore-click-outside")}`},u=>{let l=Au(t),c=b=>{b.target instanceof b.view.HTMLElement&&b.target.hasClass(B("time-picker-item"))&&b.target.dataset.value&&(n(b.target.dataset.value),p())},d=b=>{b.target instanceof b.view.HTMLElement&&b.target.closest(`.${a}`)===null&&p()},f=b=>{b.key==="Escape"&&p()},p=()=>{u.remove(),u.removeEventListener("click",c),e.document.body.removeEventListener("click",d),e.document.removeEventListener("keydown",f)};u.style.left=`${r.x||0}px`,u.style.top=`${r.y||0}px`;let g=null,y=null;l.forEach((b,k)=>{let T=b===s;u.createDiv({cls:`${B("time-picker-item")} ${T?"is-selected":""}`,text:b},C=>{C.createEl("span",{cls:B("time-picker-check"),prepend:!0},A=>{(0,rt.setIcon)(A,"checkmark")}),k%4==0&&C.addClass("is-hour"),C.dataset.value=b,T&&(g=C),k===Math.floor(l.length/2)&&(y=C)})}),u.win.setTimeout(()=>{var T;let b=u.clientHeight,k=u.clientWidth;r.y+b>e.innerHeight&&(u.style.top=`${(r.y||0)-b}px`),r.x+k>e.innerWidth&&(u.style.left=`${(r.x||0)-k}px`),(T=g||y)==null||T.scrollIntoView({block:"center",inline:"nearest"}),u.addEventListener("click",c),e.document.body.addEventListener("click",d),e.document.addEventListener("keydown",f)})})}function cs({stateManager:e,boardModifiers:t,item:r,hasTime:n,path:i}){let a=e.getSetting("time-trigger"),o=new RegExp(`(^|\\s)${Ln(a)}{([^}]+)}`);return s=>{let u=r.data.titleRaw;n?u=r.data.titleRaw.replace(o,`$1${a}{${s}}`):u=`${r.data.titleRaw} ${a}{${s}}`,e.updateItemContent(r,u).then(l=>{t.updateItem(i,l)}).catch(l=>{e.setError(l),console.error(l)})}}function iv(e){let t=e.data.metadata.date,r=[];t&&(t.isSame(new Date,"day")&&r.push("is-today"),t.isAfter(new Date,"day")&&r.push("is-future"),t.isBefore(new Date,"day")&&r.push("is-past")),e.data.isComplete&&r.push("is-complete");for(let n of e.data.metadata.tags)r.push(`has-tag-${n.slice(1)}`);return r}function Vr(e,t,r,n){return e.app.fileManager.generateMarkdownLink(t,r,n)}function sS(e,t,r){return rt.htmlToMarkdown?(0,rt.htmlToMarkdown)(r):rt.MarkdownSourceView.prototype.handleDataTransfer.call({app:e.app},t)}function lS(e){return e.replace(/^\[(.*)\]\(app:\/\/obsidian.md\/(.*)\)$/,"[$1]($2)")}function Lu(e){var r;let t=e.require("electron").remote.clipboard;if(process.platform==="darwin"){if(t.has("NSFilenamesPboardType"))return((r=t.read("NSFilenamesPboardType").match(/.*<\/string>/g))==null?void 0:r.map(n=>n.replace(/|<\/string>/g,"")))||[];{let n=t.readImage("clipboard");return n.isEmpty()?[t.read("public.file-url").replace("file://","")].filter(i=>i):[{buffer:n.toPNG(),mimeType:"image/png",originalName:`Pasted image ${(0,rt.moment)().format("YYYYMMDDHHmmss")}.png`}]}}else if(t.has("CF_HDROP")){let n=t.read("CF_HDROP")||"",i=[...n].filter((o,s)=>n.charCodeAt(s)!==0).join("").replace(/\\/g,"\\"),a=i.match(/[a-zA-Z]:\\/);if(a){let o=i.indexOf(a[0]);return o!==0&&(i=i.slice(o)),i.split(a[0]).filter(s=>s).map(s=>a+s)}}else{let n=t.readImage("clipboard");return n.isEmpty()?[t.readBuffer("FileNameW").toString("ucs2").replace(RegExp(String.fromCharCode(0),"g"),"")].filter(i=>i):[{buffer:n.toPNG(),mimeType:"image/png",originalName:`Pasted image ${(0,rt.moment)().format("YYYYMMDDHHmmss")}.png`}]}return null}function cS(e){return e.split("\\").pop().split("/").pop()}async function uS(e,t,r,n){let i=await e.app.vault.getAvailablePathForAttachments(t,r,e.file),a=await e.app.vault.createBinary(i,n);return Vr(e,a,e.file.path)}async function dS(e,t){let r=Lu(t);if(!r||r.length===0)return null;let n=t.require("fs/promises"),i=t.require("path");return(await Promise.all(r.map(async a=>{if(typeof a=="string"){let s=cS(a).split("."),u=s.pop(),l=s.join("."),c=await e.app.vault.getAvailablePathForAttachments(l,u,e.file),d=e.app.vault.adapter.basePath;await n.copyFile(a,i.join(d,c)),await new Promise(p=>t.setTimeout(p,50));let f=e.app.vault.getAbstractFileByPath(c);return Vr(e,f,e.file.path)}else{let o=a.originalName.split("."),s=o.pop(),u=o.join(".");return await uS(e,u,s,a.buffer)}}))).filter(a=>a)}function av(e,t,r){return Promise.all(t.map(n=>{let i=n.name.split("."),a=i.pop(),o=i.join(".");if(r){switch(n.type){case"text/jpg":a="jpg";break;case"text/jpeg":a="jpeg";break;case"text/png":a="png";break}o="Pasted image "+(0,rt.moment)().format("YYYYMMDDHHmmss")}return new Promise((s,u)=>{let l=new FileReader;l.onload=async c=>{try{let d=await e.app.vault.getAvailablePathForAttachments(o,a,e.file),f=await e.app.vault.createBinary(d,c.target.result);s(Vr(e,f,e.file.path))}catch(d){console.error(d),u(d)}},l.readAsArrayBuffer(n)})}))}async function fS(e,t,r){let n=!t.view,i=n?e.getAView().isShiftPressed:!1,a=n?t.clipboardData:t.dataTransfer,o=n&&rt.Platform.isDesktopApp?r.require("electron").remote.clipboard:null,s=o?o.availableFormats():[];if(n){if(n&&!i&&!s.includes("text/rtf")){if(rt.Platform.isDesktopApp){let g=await dS(e,r);if(g==null?void 0:g.length)return g}let f=[],p=t.clipboardData.items;for(let g in p){let y=p[g];y.kind==="file"&&f.push(y.getAsFile())}if(f.length)return await av(e,f,!0)}}else{let f=await hc(t);if(f.length)return await av(e,f)}let u=a.getData("text/html"),l=a.getData("text/plain"),c=a.getData("text/uri-list"),d=i?l||u:sS(e,a,u);return[lS(d||c||l||u||"").trim()]}async function us(e,t,r){let n=e.app.dragManager.draggable,i=t.view?t.dataTransfer:t.clipboardData;switch(n==null?void 0:n.type){case"file":return[Vr(e,n.file,e.file.path)];case"files":return n.files.map(a=>Vr(e,a,e.file.path));case"folder":return n.file.children.map(a=>a instanceof rt.TFolder?null:Vr(e,a,e.file.path)).filter(a=>a);case"link":{let a=n.file?Vr(e,n.file,(0,rt.parseLinktext)(n.linktext).subpath):`[[${n.linktext}]]`,o=new DOMParser().parseFromString(i.getData("text/html"),"text/html").documentElement.textContent;return a=a.replace(/]]$/,`|${o}]]`).replace(/^\[[^\]].+]\(/,`[${o}](`),[a]}default:return await fS(e,t,r)}}m();function ds(e,t){let r,n,i=(...a)=>{r=a,!n&&(n=e.requestAnimationFrame(()=>{n=null,t(...r)}))};return i.cancel=()=>{!n||(e.cancelAnimationFrame(n),n=null)},i}var ov={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"};var Ci={outOfTheWay:200,minDropTime:330,maxDropTime:550},Er=`${Ci.outOfTheWay}ms ${ov.outOfTheWay}`;var ln={none:"none",fluid:`opacity ${Er}`,snap:`transform ${Er}, opacity ${Er}`,drop:e=>{let t=`${e}ms ${ov.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${Er}`,placeholder:`height ${Er}, width ${Er}, margin ${Er}, border-color ${Er}`},pS=(e,t)=>e.x===t.x&&e.y===t.y,hS={x:0,y:0},sv=e=>pS(e,hS)?void 0:`translate(${e.x}px, ${e.y}px)`,lv={moveTo:sv,drop:e=>sv(e)},mS=Ci.maxDropTime-Ci.minDropTime,cv=1500,gS=.6;function Di({position:e,destination:t,isCancel:r}){let n=di(e,t);if(n<=0)return Ci.minDropTime;if(n>=cv)return Ci.maxDropTime;let i=n/cv,a=Ci.minDropTime+mS*i,o=r?a*gS:a;return Math.round(o)}function Tn(e,t,r){e.style.getPropertyValue(t)!==r&&e.style.setProperty(t,r)}function fs(e,t){e.style.getPropertyValue(t)&&e.style.removeProperty(t)}m();m();var Mn;(function(i){i[i.TitleAsc=0]="TitleAsc",i[i.TitleDsc=1]="TitleDsc",i[i.DateAsc=2]="DateAsc",i[i.DateDsc=3]="DateDsc"})(Mn||(Mn={}));var Je={Item:"item",Lane:"lane",Board:"board",MetadataSetting:"metadata-setting",TagColorSetting:"tag-color",DateColorSetting:"date-color"},ps={accepts:[Je.Item],type:Je.Item,children:[]},xr={accepts:[Je.Lane],type:Je.Lane},hs={accepts:[],type:Je.Board},ms={accepts:[Je.MetadataSetting],type:Je.MetadataSetting,children:[]},gs={accepts:[],type:Je.TagColorSetting,children:[]},vs={accepts:[],type:Je.DateColorSetting,children:[]};function Pu(e,t,r,n,i){let a="htmldnd",o=Ae(),s=e-75,u=e+75,l=t-25,c=t+25;return{scopeId:a,entityId:`${a}-${o}`,initial:[s,l,u,c],getParentScrollState(){return on},getParentScrollShift(){return Pn},recalcInitial(){},getHitbox(){return this.initial},getPath(){return[]},getData(){return{viewId:n,type:Je.Item,id:o,content:r,accepts:[],win:i}}}}var Nu=class{constructor(t,r,n,i){this.isHTMLDragging=!1;this.dragOverTimeout=0;this.win=t,this.hitboxEntities=n,this.scrollEntities=i,this.emitter=r}getDragEventData(){return{dragEntity:this.dragEntity,dragEntityId:this.dragEntityId,dragEntityMargin:this.dragEntityMargin,dragOrigin:this.dragOrigin,dragOriginHitbox:this.dragOriginHitbox,dragPosition:this.dragPosition,primaryIntersection:this.primaryIntersection,scrollIntersection:this.scrollIntersection}}dragStart(t,r){var a;let n=(r==null?void 0:r.dataset.hitboxid)||t.currentTarget.dataset.hitboxid;if(!n)return;let i=getComputedStyle(r||t.currentTarget);this.dragEntityId=n,this.dragOrigin={x:t.pageX,y:t.pageY},this.dragPosition={x:t.pageX,y:t.pageY},this.dragEntity=this.hitboxEntities.get(n),this.dragOriginHitbox=(a=this.dragEntity)==null?void 0:a.getHitbox(),this.dragEntityMargin=[parseFloat(i.marginLeft)||0,parseFloat(i.marginTop)||0,parseFloat(i.marginRight)||0,parseFloat(i.marginBottom)||0],this.emitter.emit("dragStart",this.getDragEventData())}dragStartHTML(t,r){this.isHTMLDragging=!0;let n=Pu(t.pageX,t.pageY,[],r,t.view);this.dragEntityId=n.entityId,this.dragOrigin={x:t.pageX,y:t.pageY},this.dragPosition={x:t.pageX,y:t.pageY},this.dragEntity=n,this.dragOriginHitbox=n.getHitbox(),this.dragEntityMargin=[0,0,0,0],this.emitter.emit("dragStart",this.getDragEventData())}dragMove(t){this.dragPosition={x:t.pageX,y:t.pageY},this.emitter.emit("dragMove",this.getDragEventData()),this.calculateDragIntersect()}dragMoveHTML(t){this.dragPosition={x:t.pageX,y:t.pageY},this.emitter.emit("dragMove",this.getDragEventData()),this.calculateDragIntersect()}dragEnd(t){this.emitter.emit("dragEnd",this.getDragEventData()),this.dragEntityMargin=void 0,this.dragEntity=void 0,this.dragEntityId=void 0,this.dragOrigin=void 0,this.dragOriginHitbox=void 0,this.dragPosition=void 0,this.scrollIntersection=void 0,this.primaryIntersection=void 0}dragEndHTML(t,r,n,i){this.isHTMLDragging=!1,i||(this.dragEntity=Pu(t.pageX,t.pageY,n,r,t.view),this.emitter.emit("dragEnd",this.getDragEventData())),this.dragEntityMargin=void 0,this.dragEntity=void 0,this.dragEntityId=void 0,this.dragOrigin=void 0,this.dragOriginHitbox=void 0,this.dragPosition=void 0,this.scrollIntersection=void 0,this.primaryIntersection=void 0,i&&this.emitter.emit("dragEnd",this.getDragEventData())}onHTMLDragLeave(t){this.win.clearTimeout(this.dragOverTimeout),this.dragOverTimeout=this.win.setTimeout(t,351)}calculateDragIntersect(){if(!this.dragEntity||!this.dragPosition||!this.dragOrigin||!this.dragOriginHitbox)return;let{type:t,win:r}=this.dragEntity.getData(),n=[],i=[],a=[],o=[];if(this.hitboxEntities.forEach(l=>{let c=l.getData();r===c.win&&c.accepts.includes(t)&&(n.push(l),i.push(l.getHitbox()))}),this.scrollEntities.forEach(l=>{let c=l.getData();r===c.win&&c.accepts.includes(t)&&(a.push(l),o.push(l.getHitbox()))}),n.length===0&&a.length===0)return;let s=Rp(this.dragOriginHitbox,this.dragOrigin,this.dragPosition);this.handleScrollIntersect(s,this.dragEntity.entityId,o,a)||this.handleHitboxIntersect(s,this.dragEntity.entityId,i,n)}handleScrollIntersect(t,r,n,i){let a=(0,Fu.default)([t],n).map(s=>i[s[1]]),o=Np(a,t,r);if(this.scrollIntersection&&(!o||o[0]!==this.scrollIntersection[0])){let[s,u]=this.scrollIntersection,l=s.getData(),c=s.entityId,d=l.side;this.emitter.emit("endDragScroll",{...this.getDragEventData(),scrollEntity:s,scrollEntityId:c,scrollEntitySide:d,scrollStrength:u},c),this.scrollIntersection=void 0}if(o&&(!this.scrollIntersection||this.scrollIntersection[0]!==o[0])){let[s,u]=o,l=s.getData(),c=s.entityId,d=l.side;this.emitter.emit("beginDragScroll",{...this.getDragEventData(),scrollEntity:s,scrollEntityId:c,scrollEntitySide:d,scrollStrength:u},c),this.scrollIntersection=o}else if(o&&this.scrollIntersection&&o[0]===this.scrollIntersection[0]){let[s,u]=o,l=s.getData(),c=s.entityId,d=l.side;this.emitter.emit("updateDragScroll",{...this.getDragEventData(),scrollEntity:s,scrollEntityId:c,scrollEntitySide:d,scrollStrength:u},c),this.scrollIntersection=o}return!!o}handleHitboxIntersect(t,r,n,i){let a=(0,Fu.default)([t],n).map(s=>i[s[1]]),o=zl(a,t,r);this.primaryIntersection&&this.primaryIntersection!==o&&(this.emitter.emit("dragLeave",this.getDragEventData(),this.primaryIntersection.entityId),this.primaryIntersection=void 0),o&&this.primaryIntersection!==o&&(this.emitter.emit("dragEnter",{...this.getDragEventData(),primaryIntersection:o},o.entityId),this.primaryIntersection=o)}},Ti=e=>{e.preventDefault(),e.stopPropagation()};function Mi(e,t){let r=L.useContext(kt);L.useEffect(()=>{let n=e.current,i=t.current;if(!r||!n||!i)return;let a=s=>{if(s.defaultPrevented||s.target.dataset.ignoreDrag||s.button!==0&&s.buttons!==1)return;let u=s.view,l=["pen","touch"].includes(s.pointerType);l||(s.stopPropagation(),s.preventDefault());let c=s,d={x:s.pageX,y:s.pageY},f=!1,p=0;l&&(u.addEventListener("contextmenu",Ti,!0),p=u.setTimeout(()=>{r.dragManager.dragStart(c,n),f=!0,u.addEventListener("touchmove",Ti,{passive:!1})},500));let g=ds(u,b=>{l?f?r.dragManager.dragMove(b):di(d,{x:b.pageX,y:b.pageY})>5&&(u.clearTimeout(p),u.removeEventListener("touchmove",Ti),u.removeEventListener("contextmenu",Ti,!0),u.removeEventListener("pointermove",g),u.removeEventListener("pointerup",y),u.removeEventListener("pointercancel",y)):f?r.dragManager.dragMove(b):di(d,{x:b.pageX,y:b.pageY})>5&&(r.dragManager.dragStart(c,n),f=!0)}),y=b=>{u.clearTimeout(p),f=!1,r.dragManager.dragEnd(b),u.removeEventListener("pointermove",g),u.removeEventListener("pointerup",y),u.removeEventListener("pointercancel",y),l&&(u.removeEventListener("contextmenu",Ti,!0),u.removeEventListener("touchmove",Ti))};u.addEventListener("pointermove",g),u.addEventListener("pointerup",y),u.addEventListener("pointercancel",y)},o=s=>{s.stopPropagation()};return i.addEventListener("pointerdown",a),i.addEventListener("touchstart",o),()=>{i.removeEventListener("pointerdown",a),i.removeEventListener("touchstart",o)}},[e,t,r])}function uv(e){let t=L.useContext(kt),r=L.useCallback(i=>{t.dragManager.isHTMLDragging?(i.preventDefault(),t.dragManager.dragMoveHTML(i)):t.dragManager.dragStartHTML(i,e.getAView().id),t.dragManager.onHTMLDragLeave(()=>{t.dragManager.dragEndHTML(i,e.getAView().id,[],!0)})},[t,e]),n=L.useCallback(async i=>{t.dragManager.dragEndHTML(i,e.getAView().id,await us(e,i,activeWindow),!1)},[t,e]);return{onDragOver:r,onDrop:n}}m();var fv=me(Et());m();var dv=me(require("obsidian"));function _t({name:e,className:t}){return h("span",{"data-icon":e,className:`${B("icon")} ${t||""}`,ref:r=>{r&&(0,dv.setIcon)(r,e)}})}var pv=L.memo(function({shouldMarkItemsComplete:t,path:r,item:n,stateManager:i,boardModifiers:a}){let o=i.useSetting("show-checkboxes"),[s,u]=L.useState(!1),[l,c]=L.useState(!1);return L.useEffect(()=>{if(l){let d=f=>{f.metaKey||f.ctrlKey?u(!0):u(!1)};return window.addEventListener("keydown",d),window.addEventListener("keyup",d),()=>{window.removeEventListener("keydown",d),window.removeEventListener("keyup",d)}}},[l]),t||o?h("div",{onMouseEnter:d=>{c(!0),(d.ctrlKey||d.metaKey)&&u(!0)},onMouseLeave:()=>{c(!1),s&&u(!1)},className:B("item-prefix-button-wrapper")},o&&!s&&h("input",{onChange:()=>{a.updateItem(r,(0,fv.default)(n,{data:{$toggle:["isComplete"]}}))},type:"checkbox",className:"task-list-item-checkbox",checked:!!n.data.isComplete}),(s||!o&&t)&&h("button",{onClick:()=>{a.archiveItem(r)},className:B("item-prefix-button"),"aria-label":s?void 0:"Archive card"},h(_t,{name:"sheets-in-box"}))):null});m();var qy=me(require("obsidian"));m();var mv=me(require("obsidian"));m();var Ou;function hv(e){if(e.nodeName!=="TEXTAREA")return!1;if(typeof Ou=="undefined"){let t=e.doc.createElement("textarea");t.value=1,Ou=!!t.firstChild}return Ou}function Da(e,t){var i;e.focus();let r=e.doc;if(!r.execCommand("insertText",!1,t)){let a=e.selectionStart,o=e.selectionEnd;if(typeof e.setRangeText=="function")e.setRangeText(t);else{let u=r.createRange(),l=r.createTextNode(t);if(hv(e)){let c=e.firstChild;if(!c)e.appendChild(l);else{let d=0,f=null,p=null;for(;c&&(f===null||p===null);){let g=((i=c.nodeValue)==null?void 0:i.length)||0;a>=d&&a<=d+g&&u.setStart(f=c,a-d),o>=d&&o<=d+g&&u.setEnd(p=c,o-d),d+=g,c=c.nextSibling}a!==o&&u.deleteContents()}}if(hv(e)&&u.commonAncestorContainer.nodeName==="#text")u.insertNode(l);else{let c=e.value;e.value=c.slice(0,a)+t+c.slice(o)}}e.setSelectionRange(a+t.length,a+t.length);let s=r.createEvent("UIEvent");s.initEvent("input",!0,!1),e.dispatchEvent(s)}}var Ru=e=>e.charCodeAt(0)===10,gv=e=>e===" "||Ru(e);function vS(e,t,r){if(!e)throw Error("Argument 'text' should be truthy");let n=0,i=e.length;for(let a=t;a-1>-1;a--)if(Ru(e[a-1])){n=a;break}for(let a=r===void 0?t:r;a-1;a--)if(gv(e[a-1])){n=a;break}for(let a=r===void 0?t:r;a0&&e.value[a.selection.start-1]!==" ")return!1;if(a.selection.end===a.selection.start){let s=Lt(e,`${r}`);return Pt(e,{start:s.selection.end-1-a.selectedText.length,end:s.selection.end-1}),!1}let o=Lt(e,`${t}${a.selectedText}${r}`);return Pt(e,{start:o.selection.end-1-a.selectedText.length,end:o.selection.end-1}),!0}function ys(e,t,r,n){let i=On(e),a=Ii({text:i.text,selection:i.selection}),o=Pt(e,a),s=t.test(o.selectedText)?n(o.selectedText):r(o.selectedText),u=Lt(e,s);Pt(e,{start:o.selection.start,end:u.selection.end})}function bs(e,t){var r;if(t.types.includes("text/uri-list")||["file","files","link","folder"].includes((r=e.app.dragManager.draggable)==null?void 0:r.type))return"link";if(t.types.includes("text/html")||t.types.includes("text/plain"))return"copy"}async function ws(e,t,r){let n=e.clipboardData.getData("text/html"),i=e.clipboardData.types.includes("Files"),a=mv.Platform.isDesktopApp?Lu(r):null,o=n||i||(a==null?void 0:a.length)>0;o&&e.preventDefault();try{let s=await us(t,e,r);if(o){let u=e.target,l=s.join(` -`);Lt(u,l)}}catch(s){console.error(s),t.setError(s)}}m();var fd=me(require("obsidian"));m();m();var vv={};m();var yv={};m();var bv={};m();var wv={"Open as kanban board":"\xD6ffne als Kanban-Board","Create new board":"Erstelle ein neues Board","Archive completed cards in active board":"Archiviere fertiggestellte Karten im aktiven Board","Error: current file is not a Kanban board":"Fehler: Momentan ge\xF6ffnete Datei ist kein Kanban-Board","Convert empty note to Kanban":"Konvertiere leere Notiz in ein Kanban-Board","Error: cannot create Kanban, the current note is not empty":"Fehler: Kanban konnte nicht erstellt werden, momentan ge\xF6ffnete Datei ist nicht leer","New kanban board":"Neues Kanban-Board","Untitled Kanban":"Unbenanntes Kanban","Toggle between Kanban and markdown mode":"Wechsle zwischen Kanban und Markdown Modus","Open as markdown":"\xD6ffne als Markdown","Open board settings":"\xD6ffne Board-Einstellungen","Archive completed cards":"Archiviere fertiggestellte Karten","Something went wrong":"Etwas ist schief gelaufen","You may wish to open as markdown and inspect or edit the file.":"Du kannst die Datei im Markdown Modus \xF6ffnen und \xFCberpr\xFCfen oder bearbeiten.","Are you sure you want to archive all completed cards on this board?":"Bist du dir sicher, dass du alle fertiggestellten Karten des Boards archivieren m\xF6chtest?",Complete:"Fertiggestellt",Archive:"Archiv","Invalid Kanban file: problems parsing frontmatter":"Fehlerhafte Kanban Datei: Probleme beim Parsen des Frontmatters","I don't know how to interpret this line:":"Ich wei\xDF nicht, wie ich diese Zeile interpretieren soll:",Untitled:"Unbenannt","Note: No template plugins are currently enabled.":"Beachte: Keine Template-Plugins sind derzeit aktiviert.",default:"Standard","Search...":"Suche...","These settings will take precedence over the default Kanban board settings.":"Diese Einstellung wird Vorrang vor der standard Kanban-Board Einstellung haben. ","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Stelle standard Kanban-Board Einstellungen ein. Einstellungen k\xF6nnen auf einer Board-f\xFCr-Board Basis \xFCberschrieben werden.","Note template":"Notiz Vorlage","This template will be used when creating new notes from Kanban cards.":"Diese Vorlage wird beim Erstellen neuer Notizen aus Kanban-Karten verwendet.","No template":"Keine Vorlage","Note folder":"Notiz Ordner","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"Notizen, welche aus einer Kanban-Karte erstellt wurden, werden in diesem Ordner platziert. Falls leer, werden die Einstellungen des Vaults verwendet.","Default folder":"Standard Ordner","Lane width":"Schienen Breite","Enter a number to set the lane width in pixels.":"Gebe ein Zahl ein, um die Schienen Breite in Pixeln einzustellen.","Maximum number of archived cards":"Maximale Anzahl archivierter Karten.","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Archivierte Karten k\xF6nnen im Markdown-Modus betrachtet werden. Diese Einstellung wird alte Karten l\xF6schen, sobald das Limit erreicht wird. Eine Einstellung von -1 setzt das Archiv auf eine unendliche Gr\xF6\xDFe.","Display card checkbox":"Zeige Karten Checkbox","When toggled, a checkbox will be displayed with each card":"Wenn aktiviert, wird eine Checkbox mit jeder Karte angezeigt.","Reset to default":"Zur\xFCcksetzen","Date & Time":"Datum & Uhrzeit","Date trigger":"Datums Ausl\xF6ser","When this is typed, it will trigger the date selector":"Wenn dies eingegeben wird, dann wird die Datumsauswahl angezeigt","Time trigger":"Uhrzeit Ausl\xF6ser","When this is typed, it will trigger the time selector":"Wenn dies eingegeben wird, dann wird die Uhrzeitsauswahl angezeigt","Date format":"Format des Datums","This format will be used when saving dates in markdown.":"Dieses Format wird verwendet, wenn ein Datum in Markdown gespeichert wird.","For more syntax, refer to":"F\xFCr mehr Syntax Informationen siehe","format reference":"Formatvorlage","Your current syntax looks like this":"Dein momentanes Format sieht so aus","Time format":"Format der Uhrzeit","Date display format":"Format der Datums Anzeige","This format will be used when displaying dates in Kanban cards.":"Dieses Format wird verwendet, wenn ein Datum in einer Kanban-Karte angezeigt wird.","Show relative date":"Zeige relatives Datum","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"Wenn aktiviert, wird die Zeitspanne zwischen Heute und dem Datum angezeigt. Zum Beispiel: 'In 3 Tagen', 'Vor einem Monat'","Hide card display dates":"Verstecke Karten Datum","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"Wenn aktiviert, werden formatierte Daten nicht auf der Karte angezeigt. Relative Daten werden dennoch angezeigt, solange sie aktiviert sind.","Hide dates in card titles":"Verstecke Daten im Titel der Karte","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"Wenn aktiviert, werden Daten nicht im Titel der Karte angezeigt. Dies verhindert, dass Daten im Titel neu erstellter Notizen vorhanden sind.","Link dates to daily notes":"Verbinde Daten zu Daily Notes","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"Wenn aktiviert, werden Daten mit Daily Notes verbunden. Zum Beispiel [[26.4.2021]]","Add date and time to archived cards":"F\xFCge Datum und Uhrzeit zu archivierten Notizen hinzu","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"Wenn aktiviert, wird das momentane Datum und die momentane Zeit am Anfang einer Karte hinzugef\xFCgt, wenn sie archiviert wird. Zum Beispiel: - [ ] 14.05.2021 10:00 Mein Karten Titel","Archive date/time separator":"Datum/Uhrzeit Trenner f\xFCr das Archiv","This will be used to separate the archived date/time from the title":"Dies wird verwendet, um das Datum und die Uhrzeit archivierter Karten vom Titel zu trennen","Archive date/time format":"Format des Datums und der Uhrzeit f\xFCr das Archiv","Kanban Plugin":"Kanban Erweiterung","New line trigger":"Taste f\xFCr neue Zeile","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lanes.":"W\xE4hle aus ob Enter oder Umschalttaste+Enter eine neue Zeile erstellen soll. Das Gegenteil kannst du verwenden um die Karte zu erstellen oder das bearbeiten der Karte oder Schiene zu beenden.","Shift + Enter":"Umschalttaste + Enter",Enter:"Enter","Prepend / append new cards":"Neue Karten voranf\xFCgen / anh\xE4ngen","This setting controls whether new cards are added to the beginning or end of the list.":"Diese Einstellung gibt an ob neue Karten am Anfang oder am Ende einer Liste hinzugef\xFCgt werden.",Prepend:"Voranf\xFCgen",Append:"Anh\xE4ngen","Hide tags in card titles":"Ausblenden von Tags in Kartentiteln","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"Ist diese Einstellung an, so werden Tags im Kartentitel nicht angezeigt. Dadurch wird verhindert, dass Tags beim Erstellen neuer Notizen in den Titel aufgenommen werden.","Hide card display tags":"Ausblenden von Kartenanzeige-Tags","When toggled, tags will not be displayed below the card title.":"Ist diese Einstellung an, werden Tags nicht unter dem Kartentitel angezeigt.","Linked Page Metadata":"Metadaten f\xFCr verkn\xFCpfte (verlinkte) Notizen","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"Zeigen Sie Metadaten f\xFCr die erste Notiz an, die innerhalb einer Karte verkn\xFCpft ist. Geben Sie an, welche Metadatenschl\xFCssel unten angezeigt werden sollen. Ein optionales Label kann hinzugef\xFCgt werden, es kann aber auch vollst\xE4ndig ausgeblendet werden.","Metadata key":"Metadatenschl\xFCssel","Display label":"Anzeigelabel","Hide label":"Label ausblenden","Drag to rearrange":"Zum Neuanordnen ziehen",Delete:"L\xF6schen","Add key":"Schl\xFCssel hinzuf\xFCgen","Field contains markdown":"Feld beinhaltet Markdown","More options":"Mehr optionen",Cancel:"Abbrechen",today:"heute",yesterday:"gestern",tomorrow:"morgen","Change date":"Ver\xE4ndere Datum","Change time":"Ver\xE4ndere Uhrzeit","Card title...":"Karten Titel...","Add card":"Karte hinzuf\xFCgen","Add a card":"F\xFCge eine Karte hinzu","Edit card":"Karte editieren","New note from card":"Neue Notiz aus Karte erstellen","Archive card":"Karte archivieren","Delete card":"Karte l\xF6schen","Edit date":"Datum editieren","Add date":"Datum hinzuf\xFCgen","Remove date":"Datum entfernen","Edit time":"Karte editieren","Add time":"Uhrzeit hinzuf\xFCgen","Remove time":"Uhrzeit entfernen","Duplicate card":"Karte duplizieren","Enter list title...":"Listen Titel eingeben..","Mark cards in this list as complete":"Markiere Karten in dieser Liste als fertiggestellt","Add list":"Liste hinzuf\xFCgen","Add a list":"F\xFCge eine Liste hinzu","Move list":"Liste verschieben",Close:"Schlie\xDFen","Are you sure you want to delete this list and all its cards?":"Bist du dir sicher, dass du diese Liste und alle ihre Karten l\xF6schen m\xF6chtest?","Yes, delete list":"Ja, l\xF6sche diese Liste","Are you sure you want to archive this list and all its cards?":"Bist du dir sicher, dass du diese Liste und alle ihre Karten archivieren m\xF6chtest?","Yes, archive list":"Ja, archiviere diese Liste","Are you sure you want to archive all cards in this list?":"Bist du dir sicher, dass du alle Karten in dieser Liste archivieren m\xF6chtest?","Yes, archive cards":"Ja, archiviere Karten","Edit list":"Editiere Liste","Archive cards":"Archiviere Karten","Archive list":"Archiviere List","Delete list":"L\xF6sche Liste"};m();var Hu={"Open as kanban board":"Open as kanban board","Create new board":"Create new board","Archive completed cards in active board":"Archive completed cards in active board","Error: current file is not a Kanban board":"Error: current file is not a Kanban board","Convert empty note to Kanban":"Convert empty note to Kanban","Error: cannot create Kanban, the current note is not empty":"Error: cannot create Kanban, the current note is not empty","New kanban board":"New kanban board","Untitled Kanban":"Untitled Kanban","Toggle between Kanban and markdown mode":"Toggle between Kanban and markdown mode","Open as markdown":"Open as markdown","Open board settings":"Open board settings","Archive completed cards":"Archive completed cards","Something went wrong":"Something went wrong","You may wish to open as markdown and inspect or edit the file.":"You may wish to open as markdown and inspect or edit the file.","Are you sure you want to archive all completed cards on this board?":"Are you sure you want to archive all completed cards on this board?",Complete:"Complete",Archive:"Archive","Invalid Kanban file: problems parsing frontmatter":"Invalid Kanban file: problems parsing frontmatter","I don't know how to interpret this line:":"I don't know how to interpret this line:",Untitled:"Untitled","Note: No template plugins are currently enabled.":"Note: No template plugins are currently enabled.",default:"default","Search...":"Search...","New line trigger":"New line trigger","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.":"Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.","Shift + Enter":"Shift + Enter",Enter:"Enter","Prepend / append new cards":"Prepend / append new cards","This setting controls whether new cards are added to the beginning or end of the list.":"This setting controls whether new cards are added to the beginning or end of the list.",Prepend:"Prepend","Prepend (compact)":"Prepend (compact)",Append:"Append","These settings will take precedence over the default Kanban board settings.":"These settings will take precedence over the default Kanban board settings.","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.","Note template":"Note template","This template will be used when creating new notes from Kanban cards.":"This template will be used when creating new notes from Kanban cards.","No template":"No template","Note folder":"Note folder","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.","Default folder":"Default folder","List width":"List width","Enter a number to set the list width in pixels.":"Enter a number to set the list width in pixels.","Maximum number of archived cards":"Maximum number of archived cards","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.","Display card checkbox":"Display card checkbox","When toggled, a checkbox will be displayed with each card":"When toggled, a checkbox will be displayed with each card","Reset to default":"Reset to default","Date & Time":"Date & Time","Date trigger":"Date trigger","When this is typed, it will trigger the date selector":"When this is typed, it will trigger the date selector","Time trigger":"Time trigger","When this is typed, it will trigger the time selector":"When this is typed, it will trigger the time selector","Date format":"Date format","This format will be used when saving dates in markdown.":"This format will be used when saving dates in markdown.","For more syntax, refer to":"For more syntax, refer to","format reference":"format reference","Your current syntax looks like this":"Your current syntax looks like this","Time format":"Time format","Date display format":"Date display format","This format will be used when displaying dates in Kanban cards.":"This format will be used when displaying dates in Kanban cards.","Show relative date":"Show relative date","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'","Hide card display dates":"Hide card display dates","Hide card counts in list titles":"Hide card counts in list titles","When toggled, card counts are hidden from the list title":"When toggled, card counts are hidden from the list title","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.","Hide dates in card titles":"Hide dates in card titles","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.","Link dates to daily notes":"Link dates to daily notes","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"When toggled, dates will link to daily notes. Eg. [[2021-04-26]]","Add date and time to archived cards":"Add date and time to archived cards","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title","Archive date/time separator":"Archive date/time separator","This will be used to separate the archived date/time from the title":"This will be used to separate the archived date/time from the title","Archive date/time format":"Archive date/time format","Kanban Plugin":"Kanban Plugin","Hide tags in card titles":"Hide tags in card titles","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.","Hide card display tags":"Hide card display tags","When toggled, tags will not be displayed below the card title.":"When toggled, tags will not be displayed below the card title.","Display tag colors":"Display tag colors","Set colors for the tags displayed below the card title.":"Set colors for the tags displayed below the card title.","Linked Page Metadata":"Linked Page Metadata","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.","Board Header Buttons":"Board Header Buttons","Calendar: first day of week":"Calendar: first day of week","Override which day is used as the start of the week":"Override which day is used as the start of the week",Sunday:"Sunday",Monday:"Monday",Tuesday:"Tuesday",Wednesday:"Wednesday",Thursday:"Thursday",Friday:"Friday",Saturday:"Saturday","Background color":"Background color",Tag:"Tag","Text color":"Text color","Date is":"Date is",Today:"Today","After now":"After now","Before now":"Before now","Between now and":"Between now and","Display date colors":"Display date colors","Set colors for the date displayed below the card based on the rules below":"Set colors for the date displayed below the card based on the rules below","Add date color":"Add date color","Metadata key":"Metadata key","Display label":"Display label","Hide label":"Hide label","Drag to rearrange":"Drag to rearrange",Delete:"Delete","Add key":"Add key","Field contains markdown":"Field contains markdown","Add tag color":"Add tag color","More options":"More options",Cancel:"Cancel",today:"today",yesterday:"yesterday",tomorrow:"tomorrow","Change date":"Change date","Change time":"Change time","Card title...":"Card title...","Add card":"Add card","Add a card":"Add a card","Edit card":"Edit card","New note from card":"New note from card","Archive card":"Archive card","Delete card":"Delete card","Edit date":"Edit date","Add date":"Add date","Remove date":"Remove date","Edit time":"Edit time","Add time":"Add time","Remove time":"Remove time","Duplicate card":"Duplicate card","Split card":"Split card","Copy link to card":"Copy link to card","Insert card before":"Insert card before","Insert card after":"Insert card after","Add label":"Add label","Move to top":"Move to top","Move to bottom":"Move to bottom","Enter list title...":"Enter list title...","Mark cards in this list as complete":"Mark cards in this list as complete","Add list":"Add list","Add a list":"Add a list","Move list":"Move list",Close:"Close","Are you sure you want to delete this list and all its cards?":"Are you sure you want to delete this list and all its cards?","Yes, delete list":"Yes, delete list","Are you sure you want to archive this list and all its cards?":"Are you sure you want to archive this list and all its cards?","Yes, archive list":"Yes, archive list","Are you sure you want to archive all cards in this list?":"Are you sure you want to archive all cards in this list?","Yes, archive cards":"Yes, archive cards","Edit list":"Edit list","Archive cards":"Archive cards","Archive list":"Archive list","Delete list":"Delete list","Insert list before":"Insert list before","Insert list after":"Insert list after","Sort by card text":"Sort by card text","Sort by date":"Sort by date","Unable to find":"Unable to find","Open in default app":"Open in default app",Submit:"Submit"};m();var Ev={};m();var xv={};m();var kv={};m();var Sv={};m();var _v={"Open as kanban board":"Apri come bacheca Kanban","Create new board":"Crea nuova bacheca","Archive completed cards in active board":"Archivia schede completate nella bacheca attiva","Error: current file is not a Kanban board":"Errore: il file corrente non \xE8 una bacheca Kanban","Convert empty note to Kanban":"Converti nota vuota in Kanban","Error: cannot create Kanban, the current note is not empty":"Errore: Impossibile creare Kanban, la nota corrente non \xE8 vuota","New kanban board":"Nuova bacheca Kanban","Untitled Kanban":"Kanban senza titolo","Open as markdown":"Apri come markdown","Open board settings":"Apri impostazioni bacheca","Archive completed cards":"Archivia schede completate",Complete:"Completato",Archive:"Archivio","Note: No template plugins are currently enabled.":"Nota: Nessun plugin dei modelli attualmente abilitato.",default:"predefinito","Search...":"Ricerca...","These settings will take precedence over the default Kanban board settings.":"Queste impostazioni avranno la precedenza sulle impostazioni predefinite della bacheca Kanban.","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Impostazioni predefinite della bacheca Kanban. Le impostazioni possono essere sovrascritte per ogni bacheca.","Note template":"Nota modello","This template will be used when creating new notes from Kanban cards.":"Questo modello verr\xE0 utilizzato durante la creazione di nuove note dalle schede Kanban.","No template":"Nessun modello","Note folder":"Cartella delle note","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"Le note create dalle schede Kanban verranno inserite in questa cartella. Se vuota, verranno inserite nella posizione predefinita del vault.","Default folder":"Cartella predefinita","Lane width":"Larghezza colonna","Enter a number to set the lane width in pixels.":"Inserire un numero per impostare la larghezza della colonna in pixel.","Maximum number of archived cards":"Numero massimo di schede archiviate","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Le schede archiviate possono essere visualizzate in modalit\xE0 Markdown. Le vecchie schede verranno rimosse una volta raggiunto il limite. Impostando il valore -1 il numero di schede archiviate sar\xE0 illimitato.","Display card checkbox":"Mostra casella di controllo","When toggled, a checkbox will be displayed with each card":"Se attiva, verr\xE0 visualizzata una casella di controllo per ogni scheda","Reset to default":"Ripristina predefiniti","Date & Time":"Data e ora","Date trigger":"Selettore data","When this is typed, it will trigger the date selector":"Digitando questo, verr\xE0 attivato il selettore della data","Time trigger":"Selettore ora","When this is typed, it will trigger the time selector":"Digitando questo, verr\xE0 attivato il selettore dell'ora","Date format":"Formato data","This format will be used when saving dates in markdown.":"Formato utilizzato per il salvataggio delle date in Markdown.","For more syntax, refer to":"Per maggiori informazioni, vedere","format reference":"formato di riferimento","Your current syntax looks like this":"Formato corrente","Time format":"Formato ora","Date display format":"Formato visualizzazione data","This format will be used when displaying dates in Kanban cards.":"Formato utilizzato per visualizzare le date nelle schede Kanban.","Show relative date":"Mostra data relativa","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"Se attiva, le schede indicheranno la distanza tra la data odierna e la data della scheda. eg. 'Tra 3 giorni', 'Un mese fa'","Hide card display dates":"Hide card display dates","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"Se attiva, la data non verr\xE0 mostrata sulla scheda. Le date relative verranno comunque mostrate se sono state abilitate.","Hide dates in card titles":"Nascondi date nei titoli delle schede","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"Se attiva, la data non verr\xE0 mostrata nei titoli delle schede. Questo impedisce alle date di essere incluse quando vengono create nuove note.","Link dates to daily notes":"Collega date alle Note del giorno","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"Se attiva, le date verranno collegate alle Note del giorno. Eg. [[2021-04-26]]","Add date and time to archived cards":"Aggiungi data e ora alle schede archiviate","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"Se attiva, la data e l'ora corrente verranno aggiunte all'inizio della scheda quando viene archiviata. Eg. - [ ] 2021-05-14 10:00am Mia scheda","Archive date/time separator":"Separatore data/ora dell'archivio","This will be used to separate the archived date/time from the title":"Verr\xE0 usato per separare data e ora dell'archiviazione dal titolo","Archive date/time format":"Formato data/ora dell'archivio","Kanban Plugin":"Plugin Kanban","More options":"Altre opzioni",Cancel:"Annulla",today:"oggi",yesterday:"ieri",tomorrow:"domani","Change date":"Modifica data","Change time":"Modifica ora","Card title...":"Titolo elemento...","Add card":"Aggiungi elemento","Add a card":"Aggiungi un'altra scheda","Edit card":"Modifica scheda","New note from card":"Nuova nota da scheda","Archive card":"Archivia scheda","Delete card":"Elimina scheda","Edit date":"Modifica data","Add date":"Aggiungi data","Remove date":"Rimuovi data","Edit time":"Modifica ora","Add time":"Aggiungi ora","Remove time":"Rimuovi ora","Enter list title...":"Inserisci titolo lista...","Mark cards in this list as complete":"Segna elementi della lista come completati","Add list":"Aggiungi lista","Add a list":"Aggiungi un'altra lista","Move list":"Sposta lista",Close:"Chiudi","Are you sure you want to delete this list and all its cards?":"Cancellare questa lista e tutte le sue schede?","Yes, delete list":"Cancella lista","Are you sure you want to archive this list and all its cards?":"Archiviare questa lista e tutte le sue schede?","Yes, archive list":"Archivia lista","Are you sure you want to archive all cards in this list?":"Archiviare tutte le schede in questa lista?","Yes, archive cards":"Archivia schede","Edit list":"Modifica lista","Archive cards":"Archivia schede","Archive list":"Archivia lista","Delete list":"Cancella lista"};m();var Cv={"Open as kanban board":"\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u3068\u3057\u3066\u958B\u304F","Create new board":"\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u3092\u65B0\u898F\u4F5C\u6210","Archive completed cards in active board":"\u30A2\u30AF\u30C6\u30A3\u30D6\u30DC\u30FC\u30C9\u306E\u5B8C\u4E86\u3057\u305F\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Error: current file is not a Kanban board":"\u30A8\u30E9\u30FC: \u73FE\u5728\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u3067\u306F\u3042\u308A\u307E\u305B\u3093","Convert empty note to Kanban":"\u7A7A\u306E\u30CE\u30FC\u30C8\u3092\u30AB\u30F3\u30D0\u30F3\u306B\u5909\u63DB","Error: cannot create Kanban, the current note is not empty":"\u30A8\u30E9\u30FC: \u73FE\u5728\u958B\u3044\u3066\u3044\u308B\u30CE\u30FC\u30C8\u306F\u7A7A\u3067\u3042\u308A\u3001\u30AB\u30F3\u30D0\u30F3\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093","New kanban board":"\u65B0\u898F\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9","Untitled Kanban":"\u7121\u984C\u306E\u30AB\u30F3\u30D0\u30F3","Toggle between Kanban and markdown mode":"\u30AB\u30F3\u30D0\u30F3\u3068\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u306E\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u308B","Open as markdown":"\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3068\u3057\u3066\u958B\u304F","Open board settings":"\u30DC\u30FC\u30C9\u8A2D\u5B9A\u3092\u958B\u304F","Archive completed cards":"\u5B8C\u4E86\u3057\u305F\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Something went wrong":"\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F","You may wish to open as markdown and inspect or edit the file.":"\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3068\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u8ABF\u67FB\u3059\u308B\u304B\u7DE8\u96C6\u3059\u308B\u3053\u3068\u3092\u304A\u3059\u3059\u3081\u3057\u307E\u3059\u3002","Are you sure you want to archive all completed cards on this board?":"\u3053\u306E\u30DC\u30FC\u30C9\u306B\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u5B8C\u4E86\u3057\u305F\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059\u304B\uFF1F",Complete:"\u5B8C\u4E86",Archive:"\u30A2\u30FC\u30AB\u30A4\u30D6","Invalid Kanban file: problems parsing frontmatter":"\u7121\u52B9\u306A\u30AB\u30F3\u30D0\u30F3\u30D5\u30A1\u30A4\u30EB: \u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306E\u30D1\u30FC\u30B9\u306B\u554F\u984C\u304C\u3042\u308A\u307E\u3059","I don't know how to interpret this line:":"\u3053\u306E\u884C\u3092\u3069\u3046\u89E3\u91C8\u3059\u308C\u3070\u3088\u3044\u304B\u5206\u304B\u308A\u307E\u305B\u3093",Untitled:"\u7121\u984C","Note: No template plugins are currently enabled.":"\u30CE\u30FC\u30C8: \u73FE\u5728\u3001\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u7121\u52B9\u5316\u3055\u308C\u3066\u3044\u307E\u3059",default:"\u30C7\u30D5\u30A9\u30EB\u30C8","Search...":"\u691C\u7D22\u2026","New line trigger":"\u6539\u884C\u30C8\u30EA\u30AC\u30FC","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lanes.":"\u6539\u884C\u306B\u4F7F\u3046\u30AD\u30FC\u3068\u3057\u3066Enter\u304BShift+Enter\u306E\u3069\u3061\u3089\u3092\u4F7F\u3046\u304B\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u9078\u629E\u3057\u306A\u304B\u3063\u305F\u65B9\u306E\u30AD\u30FC\u306F\u30AB\u30FC\u30C9\u3068\u30EC\u30FC\u30F3\u306E\u4F5C\u6210\u3068\u7DE8\u96C6\u5B8C\u4E86\u306E\u30C8\u30EA\u30AC\u30FC\u3068\u306A\u308A\u307E\u3059\u3002","Shift + Enter":"Shift + Enter",Enter:"Enter","Prepend / append new cards":"\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306B\u65B0\u898F\u30AB\u30FC\u30C9\u3092\u8FFD\u52A0\u3059\u308B","This setting controls whether new cards are added to the beginning or end of the list.":"\u3053\u306E\u8A2D\u5B9A\u306B\u3088\u3063\u3066\u65B0\u898F\u30AB\u30FC\u30C9\u3092\u30EA\u30B9\u30C8\u306E\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306B\u8FFD\u52A0\u3059\u308B\u304B\u3092\u6C7A\u3081\u307E\u3059\u3002",Prepend:"\u5148\u982D\u306B\u8FFD\u52A0","Prepend (compact)":"\u5148\u982D\u306B\u8FFD\u52A0(\u30B3\u30F3\u30D1\u30AF\u30C8)",Append:"\u672B\u5C3E\u306B\u8FFD\u52A0","These settings will take precedence over the default Kanban board settings.":"\u3053\u308C\u3089\u306E\u8A2D\u5B9A\u306F\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30AB\u30F3\u30D0\u30F3\u8A2D\u5B9A\u3088\u308A\u512A\u5148\u3055\u308C\u307E\u3059\u3002","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u8A2D\u5B9A\u3092\u30BB\u30C3\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u8A2D\u5B9A\u306F\u30DC\u30FC\u30C9\u6BCE\u306B\u4E0A\u66F8\u304D\u3067\u304D\u307E\u3059\u3002","Note template":"\u30CE\u30FC\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8","This template will be used when creating new notes from Kanban cards.":"\u3053\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306F\u30AB\u30F3\u30D0\u30F3\u30AB\u30FC\u30C9\u304B\u3089\u30CE\u30FC\u30C8\u3092\u65B0\u898F\u4F5C\u6210\u3057\u305F\u969B\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","No template":"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u3042\u308A\u307E\u305B\u3093","Note folder":"\u30CE\u30FC\u30C8\u30D5\u30A9\u30EB\u30C0","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"\u30AB\u30F3\u30D0\u30F3\u30AB\u30FC\u30C9\u304B\u3089\u4F5C\u6210\u3055\u308C\u305F\u30CE\u30FC\u30C8\u306F\u3053\u306E\u30D5\u30A9\u30EB\u30C0\u5185\u306B\u7F6E\u304B\u308C\u307E\u3059\u3002\u30D6\u30E9\u30F3\u30AF\u306E\u5834\u5408\u306B\u306F\u3001\u3053\u306E\u4FDD\u7BA1\u5EAB\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u7F6E\u304B\u308C\u307E\u3059\u3002","Default folder":"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D5\u30A9\u30EB\u30C0","Lane width":"\u30EC\u30FC\u30F3\u306E\u5E45","Enter a number to set the lane width in pixels.":"\u30EC\u30FC\u30F3\u306E\u5E45\u3092\u30D4\u30AF\u30BB\u30EB\u5358\u4F4D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Maximum number of archived cards":"\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u30AB\u30FC\u30C9\u306E\u6700\u5927\u6570","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u30AB\u30FC\u30C9\u306F\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u30E2\u30FC\u30C9\u3067\u95B2\u89A7\u3067\u304D\u307E\u3059\u3002\u3053\u306E\u8A2D\u5B9A\u306B\u3088\u308A\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u9650\u754C\u6570\u307E\u3067\u9054\u3057\u305F\u969B\u306B\u306F\u53E4\u3044\u30AB\u30FC\u30C9\u3092\u524A\u9664\u3057\u307E\u3059\u3002\u3053\u306E\u5024\u3092-1\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u30DC\u30FC\u30C9\u306E\u30A2\u30FC\u30AB\u30A4\u30D6\u9650\u754C\u3092\u7121\u9650\u306B\u3057\u307E\u3059\u3002","Display card checkbox":"\u30AB\u30FC\u30C9\u306E\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u3092\u8868\u793A","When toggled, a checkbox will be displayed with each card":"\u6709\u52B9\u5316\u3059\u308B\u3068\u5404\u30AB\u30FC\u30C9\u306E\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","Reset to default":"\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u30EA\u30BB\u30C3\u30C8","Date & Time":"\u65E5\u4ED8\u3068\u6642\u9593","Date trigger":"\u65E5\u4ED8\u30C8\u30EA\u30AC\u30FC","When this is typed, it will trigger the date selector":"\u3053\u306E\u8A2D\u5B9A\u306B\u5165\u529B\u3055\u308C\u305F\u6587\u5B57\u5217\u3067\u65E5\u4ED8\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u30C8\u30EA\u30AC\u30FC\u3057\u307E\u3059\u3002","Time trigger":"\u6642\u9593\u30C8\u30EA\u30AC\u30FC","When this is typed, it will trigger the time selector":"\u3053\u306E\u8A2D\u5B9A\u306B\u5165\u529B\u3055\u308C\u305F\u6587\u5B57\u5217\u3067\u6642\u9593\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u30C8\u30EA\u30AC\u30FC\u3057\u307E\u3059\u3002","Date format":"\u65E5\u4ED8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","This format will be used when saving dates in markdown.":"\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306F\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3067\u65E5\u4ED8\u304C\u4FDD\u5B58\u3055\u308C\u308B\u969B\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","For more syntax, refer to":"\u30B7\u30F3\u30BF\u30C3\u30AF\u30B9\u306B\u3064\u3044\u3066\u306F\u3053\u3061\u3089\u3092\u53C2\u7167:","format reference":"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u30EA\u30D5\u30A1\u30EC\u30F3\u30B9","Your current syntax looks like this":"\u73FE\u5728\u306E\u30B7\u30F3\u30BF\u30C3\u30AF\u30B9\u306F\u6B21\u306E\u3088\u3046\u306B\u898B\u3048\u307E\u3059","Time format":"\u6642\u9593\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","Date display format":"\u65E5\u4ED8\u8868\u793A\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","This format will be used when displaying dates in Kanban cards.":"\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306F\u30AB\u30F3\u30D0\u30F3\u30AB\u30FC\u30C9\u5185\u306B\u3066\u65E5\u4ED8\u306E\u8868\u793A\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","Show relative date":"\u76F8\u5BFE\u65E5\u4ED8\u3092\u8868\u793A","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u306E\u65E5\u4ED8\u3068\u4ECA\u65E5\u306E\u9593\u306E\u65E5\u6570\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4F8B: '3\u65E5\u5F8C', '1\u30F6\u6708\u524D'","Hide card display dates":"\u30AB\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u65E5\u4ED8\u3092\u96A0\u3059","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u4E0A\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3055\u308C\u305F\u65E5\u4ED8\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002\u6709\u52B9\u5316\u3055\u308C\u305F\u5834\u5408\u306B\u306F\u76F8\u5BFE\u65E5\u4ED8\u306F\u8868\u793A\u3055\u308C\u307E\u307E\u3068\u306A\u308A\u307E\u3059\u3002","Hide dates in card titles":"\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306E\u65E5\u4ED8\u3092\u96A0\u3059","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306E\u65E5\u4ED8\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002\u3053\u308C\u306F\u65B0\u898F\u30CE\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u305F\u969B\u306B\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306B\u65E5\u4ED8\u304C\u542B\u307E\u308C\u308B\u306E\u3092\u9632\u304E\u307E\u3059\u3002","Link dates to daily notes":"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u65E5\u4ED8\u3092\u30EA\u30F3\u30AF","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"\u6709\u52B9\u5316\u3059\u308B\u3068\u65E5\u4ED8\u304C\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u30EA\u30F3\u30AF\u3055\u308C\u307E\u3059\u3002 \u4F8B: [[2021-04-26]]","Add date and time to archived cards":"\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u30AB\u30FC\u30C9\u306B\u65E5\u4ED8\u3068\u6642\u9593\u3092\u8FFD\u52A0","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u304C\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u969B\u306B\u73FE\u5728\u306E\u65E5\u4ED8\u3068\u6642\u9593\u304C\u30AB\u30FC\u30C9\u306E\u6700\u521D\u306B\u8FFD\u8A18\u3055\u308C\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3059\u3002\u4F8B: - [ ] 2021-05-14 10:00am \u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB","Archive date/time separator":"\u65E5\u4ED8\u30FB\u6642\u9593\u30BB\u30D1\u30EC\u30FC\u30BF\u30FC\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","This will be used to separate the archived date/time from the title":"\u3053\u308C\u306F\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u65E5\u4ED8\u30FB\u6642\u9593\u3092\u30BF\u30A4\u30C8\u30EB\u304B\u3089\u5206\u96E2\u3059\u308B\u306E\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","Archive date/time format":"\u65E5\u4ED8\u30FB\u6642\u9593\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Kanban Plugin":"\u30AB\u30F3\u30D0\u30F3\u30D7\u30E9\u30B0\u30A4\u30F3","Hide tags in card titles":"\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u5185\u306E\u30BF\u30B0\u3092\u96A0\u3059","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u5185\u306E\u30BF\u30B0\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002\u3053\u308C\u306F\u65B0\u898F\u30CE\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u305F\u969B\u306B\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306B\u30BF\u30B0\u304C\u542B\u307E\u308C\u308B\u306E\u3092\u9632\u304E\u307E\u3059\u3002","Hide card display tags":"\u30AB\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30BF\u30B0\u3092\u96A0\u3059","When toggled, tags will not be displayed below the card title.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306E\u4E0B\u306E\u30BF\u30B0\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002","Linked Page Metadata":"\u30EA\u30F3\u30AF\u3055\u308C\u305F\u30DA\u30FC\u30B8\u306E\u30E1\u30BF\u30C7\u30FC\u30BF","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"\u30AB\u30FC\u30C9\u5185\u3067\u30EA\u30F3\u30AF\u3055\u308C\u3066\u3044\u308B\u6700\u521D\u306E\u30CE\u30FC\u30C8\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u4E0B\u306B\u8868\u793A\u3059\u308B\u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u30AD\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u30E9\u30D9\u30EB\u306E\u4ED8\u4E0E\u304C\u53EF\u80FD\u3067\u3042\u308A\u3001\u30E9\u30D9\u30EB\u306F\u5B8C\u5168\u306B\u975E\u8868\u793A\u306B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","Board Header Buttons":"\u30DC\u30FC\u30C9\u306E\u30D8\u30C3\u30C0\u30FC\u30DC\u30BF\u30F3","Calendar: first day of week":"\u30AB\u30EC\u30F3\u30C0\u30FC: \u9031\u306E\u59CB\u307E\u308A","Override which day is used as the start of the week":"\u9031\u306E\u59CB\u307E\u308A\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u66DC\u65E5\u3092\u5909\u66F4\u3057\u307E\u3059\u3002",Sunday:"\u65E5\u66DC\u65E5",Monday:"\u6708\u66DC\u65E5",Tuesday:"\u706B\u66DC\u65E5",Wednesday:"\u6C34\u66DC\u65E5",Thursday:"\u6728\u66DC\u65E5",Friday:"\u91D1\u66DC\u65E5",Saturday:"\u571F\u66DC\u65E5","Metadata key":"\u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u30AD\u30FC","Display label":"\u30E9\u30D9\u30EB\u3092\u8868\u793A","Hide label":"\u30E9\u30D9\u30EB\u3092\u96A0\u3059","Drag to rearrange":"\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u4E26\u3079\u66FF\u3048\u308B",Delete:"\u524A\u9664","Add key":"\u30AD\u30FC\u3092\u8FFD\u52A0","Field contains markdown":"\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3092\u542B\u307F\u307E\u3059","More options":"\u4ED6\u306E\u30AA\u30D7\u30B7\u30E7\u30F3",Cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",today:"\u4ECA\u65E5",yesterday:"\u6628\u65E5",tomorrow:"\u660E\u65E5","Change date":"\u65E5\u4ED8\u3092\u5909\u66F4","Change time":"\u6642\u9593\u3092\u5909\u66F4","Card title...":"\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u2026","Add card":"\u30AB\u30FC\u30C9\u3092\u8FFD\u52A0","Add a card":"\u30AB\u30FC\u30C9\u3092\u8FFD\u52A0","Edit card":"\u30AB\u30FC\u30C9\u3092\u7DE8\u96C6","New note from card":"\u30AB\u30FC\u30C9\u304B\u3089\u30CE\u30FC\u30C8\u3092\u65B0\u898F\u4F5C\u6210","Archive card":"\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Delete card":"\u30AB\u30FC\u30C9\u3092\u524A\u9664","Edit date":"\u65E5\u4ED8\u3092\u7DE8\u96C6","Add date":"\u65E5\u4ED8\u3092\u8FFD\u52A0","Remove date":"\u65E5\u4ED8\u3092\u524A\u9664","Edit time":"\u6642\u9593\u3092\u7DE8\u96C6","Add time":"\u6642\u9593\u3092\u8FFD\u52A0","Remove time":"\u6642\u9593\u3092\u524A\u9664","Duplicate card":"\u30AB\u30FC\u30C9\u3092\u8907\u88FD","Split card":"\u30AB\u30FC\u30C9\u3092\u5206\u5272","Copy link to card":"\u30AB\u30FC\u30C9\u3078\u306E\u30EA\u30F3\u30AF\u3092\u30B3\u30D4\u30FC","Enter list title...":"\u30EA\u30B9\u30C8\u30BF\u30A4\u30C8\u30EB\u3092\u7DE8\u96C6\u2026","Mark cards in this list as complete":"\u3053\u306E\u30EA\u30B9\u30C8\u306B\u542B\u307E\u308C\u308B\u30AB\u30FC\u30C9\u3092\u5B8C\u4E86\u3068\u3057\u3066\u30DE\u30FC\u30AF\u3059\u308B","Add list":"\u30EA\u30B9\u30C8\u3092\u8FFD\u52A0","Add a list":"\u30EA\u30B9\u30C8\u3092\u8FFD\u52A0","Move list":"\u30EA\u30B9\u30C8\u3092\u79FB\u52D5",Close:"\u9589\u3058\u308B","Are you sure you want to delete this list and all its cards?":"\u3053\u306E\u30EA\u30B9\u30C8\u3068\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u30AB\u30FC\u30C9\u3092\u524A\u9664\u3057\u307E\u3059\u304B\b\uFF1F","Yes, delete list":"\u306F\u3044\u3001\u30EA\u30B9\u30C8\u3092\u524A\u9664\u3057\u307E\u3059","Are you sure you want to archive this list and all its cards?":"\u3053\u306E\u30EA\u30B9\u30C8\u3068\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059\u304B\uFF1F","Yes, archive list":"\u306F\u3044\u3001\u30EA\u30B9\u30C8\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059","Are you sure you want to archive all cards in this list?":"\u3053\u306E\u30EA\u30B9\u30C8\u306B\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059\u304B\uFF1F","Yes, archive cards":"\u306F\u3044\u3001\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059","Edit list":"\u30EA\u30B9\u30C8\u3092\u7DE8\u96C6","Archive cards":"\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Archive list":"\u30EA\u30B9\u30C8\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Delete list":"\u30EA\u30B9\u30C8\u3092\u524A\u9664","Unable to find":"\u898B\u3064\u304B\u308A\u307E\u305B\u3093","Open in default app":"\u30C7\u30D5\u30A9\u30EB\u30C8\u30A2\u30D7\u30EA\u3067\u958B\u304F"};m();var Dv={};m();var Tv={};m();var Mv={};m();var Iv={};m();var Av={};m();var Lv={"Open as Kanban board":"Abrir como quadro Kanban","Create new board":"Criar um novo quadro","Archive completed cards in active board":"Arquivar cart\xF5es conclu\xEDdos no quadro ativo","Error: current file is not a Kanban board":"Erro: o arquivo atual n\xE3o \xE9 um quadro Kanban","Convert empty note to Kanban":"Converter nota vazia em Kanban","Error: cannot create Kanban, the current note is not empty":"Erro: n\xE3o \xE9 poss\xEDvel criar o quadro Kanban, a nota atual n\xE3o est\xE1 vazia","New Kanban board":"Novo quadro Kanban","Untitled Kanban":"Kanban sem t\xEDtulo","Toggle between Kanban and markdown mode":"Alternar entre os modos Kanban e Markdown","Open as markdown":"Abrir como markdown","Open board settings":"Abrir configura\xE7\xF5es do quadro Kanban","Archive completed cards":"Arquivar cart\xF5es conclu\xEDdos",Complete:"Conclu\xEDdo",Archive:"Arquivado","Note: No template plugins are currently enabled.":"Nota: N\xE3o h\xE1 plug-ins de modelo habilitados no momento.",default:"padr\xE3o","Search...":"Pesquisar...","These settings will take precedence over the default Kanban board settings.":"Essas configura\xE7\xF5es sobrescrever\xE3o as configura\xE7\xF5es padr\xE3o do quadro Kanban","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Defina as configura\xE7\xF5es padr\xE3o do quadro Kanban. Cada quadro Kanban pode ter sua pr\xF3pria configura\xE7\xE3o.","Note template":"Modelo de nota","This template will be used when creating new notes from Kanban cards.":"Este modelo ser\xE1 usado quando uma nova nota Kanban for criada.","No template":"Sem modelo","Note folder":"Pasta de notas","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"As notas criadas pelos links dos cart\xF5es Kanban ser\xE3o colocadas nesta pasta. Se estiver em branco, ser\xE3o colocadas no local configurado como padr\xE3o deste cofre.","Default folder":"Pasta padr\xE3o","Lane width":"Largura das listas","Enter a number to set the lane width in pixels.":"Insira um n\xFAmero para definir a largura das listas em pixels.","Maximum number of archived cards":"Quantidade m\xE1xima de cart\xF5es arquivados","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Os cart\xF5es arquivados podem ser vistos no modo Markdown. Esta configura\xE7\xE3o excluir\xE1 os cart\xF5es antigos assim que o limite for atingido. Inserir o valor -1 retira o limite para cart\xF5es arquivados.","Display card checkbox":"Exibe uma caixa de sele\xE7\xE3o do cart\xE3o","When toggled, a checkbox will be displayed with each card":"Quando ativada, uma caixa de sele\xE7\xE3o ser\xE1 exibida em cada cart\xE3o.","Reset to default":"Redefinir configura\xE7\xF5es padr\xE3o","Date & Time":"Data e Hora","Date trigger":"Gatilho de data","When this is typed, it will trigger the date selector":"Quando este caractere \xE9 digitado, o seletor de data \xE9 exibido.","Time trigger":"Gatilho de hora","When this is typed, it will trigger the time selector":"Quando este caractere \xE9 digitado, o seletor de hora \xE9 exibido.","Date format":"Formado da data","This format will be used when saving dates in markdown.":"Este formato ser\xE1 usado quando datas forem armazenadas no Markdown.","For more syntax, refer to":"Para mais informa\xE7\xF5es sobre esta sintaxe, consulte os","format reference":"modelos de formato.","Your current syntax looks like this":"Sua atual sintaxe est\xE1 assim","Time format":"Formato da hora","Date display format":"Formato de exibi\xE7\xE3o da data","This format will be used when displaying dates in Kanban cards.":"Este ser\xE1 o formato das datas exibido nos cart\xF5es do Kanban.","Show relative date":"Exibir datas relativas","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"Ao ativar, os cart\xF5es exibir\xE3o o intervalo de tempo entre hoje e a data do cart\xE3o: Ex.: 'Em 3 dias', 'Um m\xEAs atr\xE1s'","Hide card display dates":"Ocultar datas dos cart\xF5es","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"Ao ativar, as datas formatadas n\xE3o ser\xE3o exibidas no cart\xE3o. As datas relativas ainda ser\xE3o exibidas se estiverem ativadas.","Hide dates in card titles":"Ocultar datas dos t\xEDtulos dos cart\xF5es","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"Ao ativar, as datas ser\xE3o t\xEDtulos de cart\xF5es ocultos. Evita que datas sejam inclu\xEDdas no t\xEDtulo ao criar novas notas.","Link dates to daily notes":"Vincular datas a notas di\xE1rias","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"Ao ativar, as datas ser\xE3o vinculadas \xE0s notas di\xE1rias. Ex.: [[2021-04-26]]","Add date and time to archived cards":"Adicionar data e hora aos cart\xF5es arquivados","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"Quando ativada, a data e a hora atuais ser\xE3o adicionadas ao in\xEDcio de um cart\xE3o quando ele for arquivado. Ex.: - [] 2021-05-14 10:00 T\xEDtulo do meu cart\xE3o","Archive date/time separator":"Separador de data/hora do arquivo","This will be used to separate the archived date/time from the title":"Isso ser\xE1 usado para separar a data/hora arquivada do t\xEDtulo.","Archive date/time format":"Formato de data/hora do arquivo","Kanban Plugin":"Plugin Kanban","Hide tags in card titles":"Ocultar \u2018tags\u2019 nos t\xEDtulos dos cart\xF5es","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"Quando ativada, as \u2018tags\u2019 n\xE3o ser\xE3o exibidas nos t\xEDtulos de cartas. Isso impedir\xE1 que as \u2018tags\u2019 sejam inclu\xEDdas no t\xEDtulo ao criar novas notas.","Hide card display tags":"Ocultar \u2018tags\u2019 de exibi\xE7\xE3o de cart\xE3o","When toggled, tags will not be displayed below the card title.":"Quando ativada, as \u2018tags\u2019 n\xE3o ser\xE3o exibidas abaixo do t\xEDtulo do cart\xE3o.","Linked Page Metadata":"Metadados de p\xE1ginas 'lincadas'","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"Exibe metadados para a primeira nota 'lincada' em um cart\xE3o. Especifique abaixo quais metadados ser\xE3o exibidos. Um r\xF3tulo opcional pode ser fornecido e os r\xF3tulos podem ser ocultados completamente.","Metadata key":"Metadado","Display label":"Descri\xE7\xE3o personalizada","Hide label":"Ocultar","Drag to rearrange":"Arraste para reorganizar",Delete:"Excluir","Add key":"Adicionar metadado","More options":"Mais op\xE7\xF5es",Cancel:"Cancelar",today:"hoje",yesterday:"ontem",tomorrow:"amanh\xE3","Change date":"Alterar data","Change time":"Mudar hora","Card title...":"T\xEDtulo do item...","Add card":"Adicionar Item","Add a card":"Adicione um cart\xE3o","Edit card":"Editar cart\xE3o","New note from card":"Nova nota do cart\xE3o","Archive card":"Arquivar cart\xE3o","Delete card":"Excluir cart\xE3o","Edit date":"Editar data","Add date":"Adicionar data","Remove date":"Remover data","Edit time":"Editar hora","Add time":"Adicionar hora","Remove time":"Remover hora","Duplicate card":"Duplicate card","Enter list title...":"Insira o t\xEDtulo da lista...","Mark cards in this list as complete":"Marcar os itens nesta lista como conclu\xEDdos","Add list":"Adicionar lista","Add a list":"Adicionar uma lista","Move list":"Mover lista",Close:"Fechar","Are you sure you want to delete this list and all its cards?":"Tem certeza de que deseja excluir esta lista e todos os seus cart\xF5es?","Yes, delete list":"Sim, excluir esta lista","Are you sure you want to archive this list and all its cards?":"Tem certeza de que deseja arquivar esta lista e todos os seus cart\xF5es?","Yes, archive list":"Sim, arquivar esta lista","Are you sure you want to archive all cards in this list?":"Tem certeza de que deseja arquivar todos os cart\xF5es desta lista?","Yes, archive cards":"Sim, arquivar cart\xF5es","Edit list":"Editar lista","Archive cards":"Arquivar cart\xF5es","Archive list":"Arquivar lista","Delete list":"Excluir lista"};m();var Pv={};m();var Fv={};m();var Nv={};m();var Es={};m();var Ov={"Open as kanban board":"\u6253\u5F00\u4E3A\u770B\u677F","Create new board":"\u521B\u5EFA\u65B0\u770B\u677F","Archive completed cards in active board":"\u5728\u5F53\u524D\u770B\u677F\u4E2D\u5F52\u6863\u5DF2\u5B8C\u6210\u5361\u7247","Error: current file is not a Kanban board":"\u9519\u8BEF\uFF1A\u5F53\u524D\u6587\u4EF6\u4E0D\u662F\u770B\u677F\u6587\u4EF6","Convert empty note to Kanban":"\u8F6C\u6362\u7A7A\u767D\u7B14\u8BB0\u4E3A\u770B\u677F","Error: cannot create Kanban, the current note is not empty":"\u9519\u8BEF\uFF1A\u65E0\u6CD5\u8F6C\u6362\u5F53\u524D\u6587\u4EF6\uFF0C\u5F53\u524D\u7B14\u8BB0\u4E0D\u662F\u7A7A\u767D\u7B14\u8BB0","New kanban board":"\u65B0\u770B\u677F","Untitled Kanban":"\u672A\u547D\u540D\u770B\u677F","Toggle between Kanban and markdown mode":"\u5728\u770B\u677F\u548C Markdown \u6A21\u5F0F\u4E4B\u95F4\u8FDB\u884C\u5207\u6362","Open as markdown":"\u6253\u5F00\u4E3A Markdown \u6587\u4EF6","Open board settings":"\u6253\u5F00\u770B\u677F\u8BBE\u7F6E","Archive completed cards":"\u5F52\u6863\u5DF2\u5B8C\u6210\u5361\u7247","Something went wrong":"\u51FA\u4E86\u70B9\u95EE\u9898","You may wish to open as markdown and inspect or edit the file.":"\u4F60\u53EF\u80FD\u5E0C\u671B\u4EE5 Markdown \u65B9\u5F0F\u6253\u5F00\uFF0C\u5E76\u68C0\u67E5\u6216\u7F16\u8F91\u8BE5\u6587\u4EF6\u3002","Are you sure you want to archive all completed cards on this board?":"\u4F60\u786E\u5B9A\u8981\u5C06\u8FD9\u4E2A\u677F\u5757\u4E0A\u6240\u6709\u5DF2\u5B8C\u6210\u7684\u5361\u7247\u5F52\u6863\u5417\uFF1F",Complete:"\u5B8C\u6210",Archive:"\u5F52\u6863","Invalid Kanban file: problems parsing frontmatter":"\u65E0\u6548\u7684\u770B\u677F\u6587\u4EF6\uFF1A\u89E3\u6790 frontmatter \u65F6\u51FA\u73B0\u95EE\u9898","I don't know how to interpret this line:":"\u6211\u4E0D\u77E5\u9053\u5982\u4F55\u89E3\u8BFB\u8FD9\u53E5\u8BDD\uFF1A",Untitled:"\u672A\u547D\u540D","Note: No template plugins are currently enabled.":"\u6CE8\u610F\uFF1A\u5F53\u524D\u6CA1\u6709\u542F\u7528\u6A21\u677F\u63D2\u4EF6",default:"\u9ED8\u8BA4","Search...":"\u641C\u7D22\u2026\u2026","New line trigger":"\u6362\u884C\u89E6\u53D1\u5668","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.":"\u9009\u62E9 Enter \u6216\u662F Shift+Enter \u6765\u521B\u5EFA\u65B0\u884C, \u672A\u9009\u7528\u7684\u5FEB\u6377\u952E\u5C06\u88AB\u7528\u4E8E\u521B\u5EFA\u5361\u7247\u548C\u5217\uFF0C\u4EE5\u53CA\u5B8C\u6210\u5361\u7247\u3001\u5217\u7684\u7F16\u8F91\u3002","Shift + Enter":"Shift + Enter",Enter:"Enter","Prepend / append new cards":"\u8FFD\u52A0\u65B0\u5361\u7247","This setting controls whether new cards are added to the beginning or end of the list.":"\u8BBE\u7F6E\u65B0\u5361\u7247\u8FFD\u52A0\u5230\u5217\u5934\u90E8\u6216\u5C3E\u90E8\u3002",Prepend:"\u5934\u90E8","Prepend (compact)":"\u5934\u90E8 (\u7D27\u51D1)",Append:"\u5C3E\u90E8","These settings will take precedence over the default Kanban board settings.":"\u5F53\u524D\u770B\u677F\u8BBE\u7F6E\u5C06\u4F1A\u8986\u76D6\u9ED8\u8BA4\u7684\u770B\u677F\u8BBE\u7F6E\u3002","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"\u66F4\u6539\u9ED8\u8BA4\u7684\u770B\u677F\u8BBE\u7F6E\u3002\u4E3A\u6BCF\u4E2A\u770B\u677F\u5355\u72EC\u8FDB\u884C\u8BBE\u7F6E\u5C06\u8986\u76D6\u9ED8\u8BA4\u8BBE\u7F6E\u3002","Note template":"\u7B14\u8BB0\u6A21\u677F","This template will be used when creating new notes from Kanban cards.":"\u4ECE\u770B\u677F\u5361\u7247\u521B\u5EFA\u65B0\u7B14\u8BB0\u65F6\u4F1A\u4F7F\u7528\u8BE5\u6A21\u677F\u3002","No template":"\u6CA1\u6709\u6A21\u677F","Note folder":"\u7B14\u8BB0\u5B58\u653E\u4F4D\u7F6E","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"\u4ECE\u770B\u677F\u5361\u7247\u521B\u5EFA\u7684\u7B14\u8BB0\u4F1A\u653E\u7F6E\u5230\u8BE5\u6587\u4EF6\u5939\u4E2D\u3002\u5982\u679C\u4E3A\u7A7A\uFF0C\u7B14\u8BB0\u5C06\u4F1A\u653E\u7F6E\u5230 Obsidian \u7684\u9ED8\u8BA4\u6587\u4EF6\u5B58\u653E\u4F4D\u7F6E\u3002","Default folder":"\u9ED8\u8BA4\u6587\u4EF6\u5939","List width":"\u5217\u5BBD","Enter a number to set the list width in pixels.":"\u8F93\u5165\u4E00\u4E2A\u50CF\u7D20\u503C\u6765\u8BBE\u7F6E\u5217\u7684\u5BBD\u5EA6","Maximum number of archived cards":"\u5355\u4E2A\u770B\u677F\u5185\u5DF2\u5F52\u6863\u5361\u7247\u7684\u6700\u5927\u6570\u91CF","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"\u5DF2\u5F52\u6863\u5361\u7247\u53EF\u4EE5\u5728 Markdown \u6A21\u5F0F\u4E0B\u67E5\u770B\u3002\u8BE5\u8BBE\u7F6E\u5C06\u4F7F\u5DF2\u5F52\u6863\u5361\u7247\u5728\u8FBE\u5230\u6700\u5927\u6570\u91CF\u65F6\u5220\u9664\u65E7\u5361\u3002\u8BBE\u7F6E\u4E3A -1 \u53EF\u4EE5\u6C38\u4E45\u4FDD\u7559\u6240\u6709\u5F52\u6863\u5361\u7247\u3002","Display card checkbox":"\u5C55\u793A\u5361\u7247\u590D\u9009\u6846","When toggled, a checkbox will be displayed with each card":"\u6253\u5F00\u65F6\uFF0C\u590D\u9009\u6846\u4F1A\u51FA\u73B0\u5728\u6BCF\u5F20\u5361\u7247\u4E0A","Reset to default":"\u8FD8\u539F\u521D\u59CB\u8BBE\u7F6E","Date & Time":"\u65E5\u671F\u548C\u65F6\u95F4","Date trigger":"\u65E5\u671F\u89E6\u53D1\u6307\u4EE4","When this is typed, it will trigger the date selector":"\u5F53\u5728\u770B\u677F\u5361\u7247\u4E2D\u8F93\u5165\u8FD9\u4E2A\u65F6\uFF0C\u4F1A\u89E6\u53D1\u4E00\u4E2A\u65E5\u671F\u9009\u62E9\u5668","Time trigger":"\u65F6\u95F4\u89E6\u53D1\u6307\u4EE4","When this is typed, it will trigger the time selector":"\u5F53\u5728\u770B\u677F\u5361\u7247\u4E2D\u8F93\u5165\u8FD9\u4E2A\u65F6\uFF0C\u4F1A\u89E6\u53D1\u4E00\u4E2A\u65F6\u95F4\u9009\u62E9\u5668","Date format":"\u65E5\u671F\u683C\u5F0F","This format will be used when saving dates in markdown.":"\u8FD9\u4E2A\u683C\u5F0F\u4F1A\u5728\u65E5\u671F\u4FDD\u5B58\u5230 Markdown \u683C\u5F0F\u65F6\u4F7F\u7528\u3002","For more syntax, refer to":"\u66F4\u591A\u683C\u5F0F\uFF0C\u8BF7\u67E5\u770B","format reference":"\u683C\u5F0F\u53C2\u8003","Your current syntax looks like this":"\u4F60\u5F53\u524D\u8BBE\u7F6E\u7684\u683C\u5F0F\u4F1A\u662F","Time format":"\u65F6\u95F4\u683C\u5F0F","Date display format":"\u65E5\u671F\u5C55\u793A\u683C\u5F0F","This format will be used when displaying dates in Kanban cards.":"\u770B\u677F\u5361\u7247\u4F1A\u4EE5\u8BE5\u683C\u5F0F\u5C55\u793A\u65E5\u671F\u3002","Show relative date":"\u5C55\u793A\u76F8\u5BF9\u65E5\u671F","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u4F1A\u5C55\u793A\u5176\u6240\u8BBE\u65E5\u671F\u4E0E\u5F53\u524D\u65E5\u671F\u7684\u5DEE\u503C\uFF0C\u4F8B\u5982\u201C3\u5929\u5185\u201D\u201C\u4E00\u4E2A\u6708\u524D\u201D\u7B49","Hide card display dates":"\u9690\u85CF\u5361\u7247\u65E5\u671F","Hide card counts in list titles":"\u5728\u5217\u6807\u9898\u4E0A\u9690\u85CF\u5361\u7247\u8BA1\u6570","When toggled, card counts are hidden from the list title":"\u6253\u5F00\u65F6\uFF0C\u5217\u6807\u9898\u4E0A\u7684\u5361\u7247\u8BA1\u6570\u5C06\u9690\u85CF","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"\u6253\u5F00\u65F6\uFF0C\u683C\u5F0F\u5316\u65E5\u671F\u4E0D\u4F1A\u5728\u5361\u7247\u4E0A\u5C55\u793A\u3002\u5982\u679C\u5F00\u542F\u4E86\u76F8\u5BF9\u65E5\u671F\u529F\u80FD\uFF0C\u76F8\u5BF9\u65E5\u671F\u8FD8\u662F\u4F1A\u7EE7\u7EED\u5C55\u793A\u3002","Hide dates in card titles":"\u5728\u5361\u7247\u6807\u9898\u4E2D\u9690\u85CF\u65E5\u671F","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u6807\u9898\u4E2D\u7684\u65E5\u671F\u5C06\u4F1A\u9690\u85CF\u3002\u5F53\u57FA\u4E8E\u5361\u7247\u521B\u5EFA\u65B0\u7B14\u8BB0\u65F6\u53EF\u4EE5\u907F\u514D\u65E5\u671F\u6DF7\u6742\u5176\u4E2D\u3002","Link dates to daily notes":"\u94FE\u63A5\u65E5\u671F\u5230\u65E5\u8BB0","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"\u6253\u5F00\u65F6\uFF0C\u65E5\u671F\u4F1A\u81EA\u52A8\u94FE\u63A5\u5230\u65E5\u8BB0\u9875\u9762\uFF0C\u4F8B\u5982[[2021-04-26]]","Add date and time to archived cards":"\u6DFB\u52A0\u65E5\u671F\u548C\u65F6\u95F4\u5230\u5F52\u6863\u5361\u7247","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"\u6253\u5F00\u65F6\uFF0C\u5F53\u524D\u65E5\u671F\u548C\u65F6\u95F4\u4F1A\u88AB\u6DFB\u52A0\u5230\u5F52\u6863\u5361\u7247\u7684 frontmatter \u4E0A\uFF0C\u4F8B\u5982\u201C- [ ] 2021-05-14 10:00am \u6211\u7684\u5361\u7247\u6807\u9898\u201D","Archive date/time separator":"\u5F52\u6863\u65E5\u671F\u6216\u65F6\u95F4\u5206\u9694\u7B26Archive date/time separator","This will be used to separate the archived date/time from the title":"\u7528\u4E8E\u5206\u9694\u6807\u9898\u4E0E\u5F52\u6863\u5361\u7247\u7684\u65E5\u671F\u6216\u65F6\u95F4","Archive date/time format":"\u5F52\u6863\u65E5\u671F\u6216\u65F6\u95F4\u683C\u5F0F","Kanban Plugin":"\u770B\u677F\u63D2\u4EF6","Hide tags in card titles":"\u9690\u85CF\u5361\u7247\u6807\u9898\u4E2D\u7684\u6807\u7B7E","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u6807\u9898\u4E2D\u7684\u6807\u7B7E\u5C06\u4F1A\u88AB\u9690\u85CF\u3002\u5F53\u57FA\u4E8E\u5361\u7247\u521B\u5EFA\u65B0\u7B14\u8BB0\u65F6\u53EF\u4EE5\u907F\u514D\u6807\u7B7E\u6DF7\u6742\u5176\u4E2D\u3002","Hide card display tags":"\u9690\u85CF\u5361\u7247\u4E0A\u7684\u6807\u7B7E","When toggled, tags will not be displayed below the card title.":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u6807\u9898\u4E0B\u65B9\u7684\u6807\u7B7E\u5C06\u4E0D\u4F1A\u5C55\u793A\u3002","Linked Page Metadata":"\u8FDE\u63A5\u7684\u9875\u9762\u5143\u6570\u636E","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"\u5C55\u793A\u5361\u7247\u4E2D\u7B2C\u4E00\u4E2A\u8FDE\u63A5\u6240\u5BF9\u5E94\u7684\u7B14\u8BB0\u5143\u6570\u636E\u3002\u8BF7\u5728\u4E0B\u65B9\u6307\u5B9A\u54EA\u4E9B\u5143\u6570\u636E\u53EF\u4EE5\u5C55\u793A\u3002\u4F60\u53EF\u4EE5\u9009\u62E9\u5C55\u793A\u54EA\u4E9B\u6807\u5FD7\uFF0C\u6240\u6709\u6807\u5FD7\u90FD\u53EF\u4EE5\u88AB\u9690\u85CF\u3002","Board Header Buttons":"\u677F\u5934\u6309\u94AE","Calendar: first day of week":"\u65E5\u5386\uFF1A\u4E00\u5468\u7684\u7B2C\u4E00\u5929","Override which day is used as the start of the week":"\u8BBE\u7F6E\u54EA\u4E00\u5929\u4F5C\u4E3A\u4E00\u5468\u7684\u5F00\u59CB",Sunday:"\u5468\u65E5",Monday:"\u5468\u4E00",Tuesday:"\u5468\u4E8C",Wednesday:"\u5468\u4E09",Thursday:"\u5468\u56DB",Friday:"\u5468\u4E94",Saturday:"\u5468\u516D","Metadata key":"\u5143\u6570\u636E\u53C2\u6570\u540D","Display label":"\u5C55\u793A\u6807\u5FD7","Hide label":"\u9690\u85CF\u6807\u5FD7","Drag to rearrange":"\u62D6\u52A8\u4EE5\u91CD\u6392\u987A\u5E8F",Delete:"\u5220\u9664","Add key":"\u6DFB\u52A0\u53C2\u6570\u540D","Field contains markdown":"\u5B57\u6BB5\u5305\u542B Markdown","More options":"\u66F4\u591A\u9009\u9879",Cancel:"\u53D6\u6D88",today:"\u4ECA\u5929",yesterday:"\u6628\u5929",tomorrow:"\u660E\u5929","Change date":"\u66F4\u6539\u65E5\u671F","Change time":"\u66F4\u6539\u65F6\u95F4","Card title...":"\u5361\u7247\u6807\u9898\u2026\u2026","Add card":"\u6DFB\u52A0","Add a card":"\u6DFB\u52A0\u5361\u7247","Edit card":"\u7F16\u8F91\u5361\u7247","New note from card":"\u4ECE\u5361\u7247\u65B0\u5EFA\u7B14\u8BB0","Archive card":"\u5F52\u6863\u5361\u7247","Delete card":"\u5220\u9664\u5361\u7247","Edit date":"\u7F16\u8F91\u65E5\u671F","Add date":"\u6DFB\u52A0\u65E5\u671F","Remove date":"\u79FB\u9664\u65E5\u671F","Edit time":"\u7F16\u8F91\u65F6\u95F4","Add time":"\u6DFB\u52A0\u65F6\u95F4","Remove time":"\u79FB\u9664\u65F6\u95F4","Duplicate card":"\u590D\u5236\u5361\u7247","Split card":"\u5206\u79BB\u5361\u7247","Copy link to card":"\u590D\u5236\u94FE\u63A5\u81F3\u5361\u7247","Insert card before":"\u5728\u4E0A\u65B9\u63D2\u5165\u5361\u7247","Insert card after":"\u5728\u4E0B\u65B9\u63D2\u5165\u5361\u7247","Move to top":"\u79FB\u5230\u9876\u90E8","Move to bottom":"\u79FB\u81F3\u5E95\u90E8","Enter list title...":"\u8F93\u5165\u65B0\u7684\u5217\u6807\u9898\u2026\u2026","Mark cards in this list as complete":"\u5C06\u8BE5\u5217\u8BBE\u7F6E\u4E3A\u5B8C\u6210\u5217","Add list":"\u6DFB\u52A0","Add a list":"\u6DFB\u52A0\u5217","Move list":"\u79FB\u52A8\u5217",Close:"\u5173\u95ED","Are you sure you want to delete this list and all its cards?":"\u4F60\u786E\u5B9A\u4F60\u8981\u5220\u9664\u6574\u5217\u4EE5\u53CA\u8BE5\u5217\u4E0B\u6240\u6709\u5361\u7247\u5417\uFF1F","Yes, delete list":"\u662F\uFF0C\u5220\u9664\u5217","Are you sure you want to archive this list and all its cards?":"\u4F60\u786E\u5B9A\u4F60\u8981\u5F52\u6863\u6574\u5217\u4EE5\u53CA\u8BE5\u5217\u4E0B\u6240\u6709\u5361\u7247\u5417\uFF1F","Yes, archive list":"\u662F, \u5F52\u6863\u5217","Are you sure you want to archive all cards in this list?":"\u4F60\u786E\u8BA4\u4F60\u8981\u5F52\u6863\u5F53\u524D\u5217\u7684\u6240\u6709\u5361\u7247\u5417\uFF1F","Yes, archive cards":"\u662F\uFF0C\u5F52\u6863\u6240\u6709\u5361\u7247","Edit list":"\u7F16\u8F91\u5217","Archive cards":"\u5F52\u6863\u5361\u7247","Archive list":"\u5F52\u6863\u5217","Delete list":"\u5220\u9664\u5217","Insert list before":"\u5728\u4E0A\u65B9\u63D2\u5165\u5217","Insert list after":"\u5728\u4E0B\u65B9\u63D2\u5165\u5217","Sort by card text":"\u4EE5\u5361\u7247\u6587\u672C\u6392\u5E8F","Sort by date":"\u4EE5\u65E5\u671F\u6392\u5E8F","Unable to find":"\u65E0\u6CD5\u627E\u5230","Open in default app":"\u5728\u9ED8\u8BA4\u5E94\u7528\u4E2D\u6253\u5F00",Submit:"\u63D0\u4EA4"};m();var Rv={};var wS={ar:vv,cz:yv,da:bv,de:wv,en:Hu,es:Ev,fr:xv,hi:kv,id:Sv,it:_v,ja:Cv,ko:Dv,nl:Tv,no:Mv,pl:Iv,"pt-BR":Lv,pt:Av,ro:Pv,ru:Fv,sq:Nv,tr:Es,uk:Es,"zh-TW":Rv,zh:Ov},Hv=window.localStorage.getItem("language"),Bu=wS[Hv||"en"];function P(e){return Bu||console.error("Error: kanban locale not found",Hv),Bu&&Bu[e]||Hu[e]}m();m();function Gn(e){return Array.isArray?Array.isArray(e):$v(e)==="[object Array]"}var ES=1/0;function xS(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-ES?"-0":t}function kS(e){return e==null?"":xS(e)}function Rn(e){return typeof e=="string"}function Bv(e){return typeof e=="number"}function SS(e){return e===!0||e===!1||_S(e)&&$v(e)=="[object Boolean]"}function Kv(e){return typeof e=="object"}function _S(e){return Kv(e)&&e!==null}function un(e){return e!=null}function Ku(e){return!e.trim().length}function $v(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var CS="Incorrect 'index' type",DS=e=>`Invalid value for key ${e}`,TS=e=>`Pattern length exceeds max of ${e}.`,MS=e=>`Missing ${e} property in key`,IS=e=>`Property 'weight' in key '${e}' must be a positive integer`,Uv=Object.prototype.hasOwnProperty,Vv=class{constructor(t){this._keys=[],this._keyMap={};let r=0;t.forEach(n=>{let i=Wv(n);r+=i.weight,this._keys.push(i),this._keyMap[i.id]=i,r+=i.weight}),this._keys.forEach(n=>{n.weight/=r})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function Wv(e){let t=null,r=null,n=null,i=1,a=null;if(Rn(e)||Gn(e))n=e,t=zv(e),r=$u(e);else{if(!Uv.call(e,"name"))throw new Error(MS("name"));let o=e.name;if(n=o,Uv.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(IS(o));t=zv(o),r=$u(o),a=e.getFn}return{path:t,id:r,weight:i,src:n,getFn:a}}function zv(e){return Gn(e)?e:e.split(".")}function $u(e){return Gn(e)?e.join("."):e}function AS(e,t){let r=[],n=!1,i=(a,o,s)=>{if(!!un(a))if(!o[s])r.push(a);else{let u=o[s],l=a[u];if(!un(l))return;if(s===o.length-1&&(Rn(l)||Bv(l)||SS(l)))r.push(kS(l));else if(Gn(l)){n=!0;for(let c=0,d=l.length;ce.score===t.score?e.idx{this._keysMap[r.id]=n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,Rn(this.docs[0])?this.docs.forEach((t,r)=>{this._addString(t,r)}):this.docs.forEach((t,r)=>{this._addObject(t,r)}),this.norm.clear())}add(t){let r=this.size();Rn(t)?this._addString(t,r):this._addObject(t,r)}removeAt(t){this.records.splice(t,1);for(let r=t,n=this.size();r{let o=i.getFn?i.getFn(t):this.getFn(t,i.path);if(!!un(o)){if(Gn(o)){let s=[],u=[{nestedArrIndex:-1,value:o}];for(;u.length;){let{nestedArrIndex:l,value:c}=u.pop();if(!!un(c))if(Rn(c)&&!Ku(c)){let d={v:c,i:l,n:this.norm.get(c)};s.push(d)}else Gn(c)&&c.forEach((d,f)=>{u.push({nestedArrIndex:f,value:d})})}n.$[a]=s}else if(Rn(o)&&!Ku(o)){let s={v:o,n:this.norm.get(o)};n.$[a]=s}}}),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}};function jv(e,t,{getFn:r=_e.getFn,fieldNormWeight:n=_e.fieldNormWeight}={}){let i=new xs({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(Wv)),i.setSources(t),i.create(),i}function HS(e,{getFn:t=_e.getFn,fieldNormWeight:r=_e.fieldNormWeight}={}){let{keys:n,records:i}=e,a=new xs({getFn:t,fieldNormWeight:r});return a.setKeys(n),a.setIndexRecords(i),a}function ks(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=_e.distance,ignoreLocation:a=_e.ignoreLocation}={}){let o=t/e.length;if(a)return o;let s=Math.abs(n-r);return i?o+s/i:s?1:o}function BS(e=[],t=_e.minMatchCharLength){let r=[],n=-1,i=-1,a=0;for(let o=e.length;a=t&&r.push([n,i]),n=-1)}return e[a-1]&&a-n>=t&&r.push([n,a-1]),r}var Wr=32;function KS(e,t,r,{location:n=_e.location,distance:i=_e.distance,threshold:a=_e.threshold,findAllMatches:o=_e.findAllMatches,minMatchCharLength:s=_e.minMatchCharLength,includeMatches:u=_e.includeMatches,ignoreLocation:l=_e.ignoreLocation}={}){if(t.length>Wr)throw new Error(TS(Wr));let c=t.length,d=e.length,f=Math.max(0,Math.min(n,d)),p=a,g=f,y=s>1||u,b=y?Array(d):[],k;for(;(k=e.indexOf(t,g))>-1;){let K=ks(t,{currentLocation:k,expectedLocation:f,distance:i,ignoreLocation:l});if(p=Math.min(K,p),g=k+c,y){let z=0;for(;z=Z;Q-=1){let ie=Q-1,he=r[e.charAt(ie)];if(y&&(b[ie]=+!!he),se[Q]=(se[Q+1]<<1|1)&he,K&&(se[Q]|=(T[Q+1]|T[Q])<<1|1|T[Q+1]),se[Q]&H&&(C=ks(t,{errors:K,currentLocation:ie,expectedLocation:f,distance:i,ignoreLocation:l}),C<=p)){if(p=C,g=ie,g<=f)break;Z=Math.max(1,2*f-g)}}if(ks(t,{errors:K+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:l})>p)break;T=se}let D={isMatch:g>=0,score:Math.max(.001,C)};if(y){let K=BS(b,s);K.length?u&&(D.indices=K):D.isMatch=!1}return D}function $S(e){let t={};for(let r=0,n=e.length;r{this.chunks.push({pattern:f,alphabet:$S(f),startIndex:p})},d=this.pattern.length;if(d>Wr){let f=0,p=d%Wr,g=d-p;for(;f{let{isMatch:k,score:T,indices:C}=KS(t,g,y,{location:i+b,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:u,includeMatches:n,ignoreLocation:l});k&&(f=!0),d+=T,k&&C&&(c=[...c,...C])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&n&&(p.indices=c),p}},Qn=class{constructor(t){this.pattern=t}static isMultiMatch(t){return qv(t,this.multiRegex)}static isSingleMatch(t){return qv(t,this.singleRegex)}search(){}};function qv(e,t){let r=e.match(t);return r?r[1]:null}var Yv=class extends Qn{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){let r=t===this.pattern;return{isMatch:r,score:r?0:1,indices:[0,this.pattern.length-1]}}},Jv=class extends Qn{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){let n=t.indexOf(this.pattern)===-1;return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}},Gv=class extends Qn{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){let r=t.startsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[0,this.pattern.length-1]}}},Qv=class extends Qn{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){let r=!t.startsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}},Xv=class extends Qn{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){let r=t.endsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[t.length-this.pattern.length,t.length-1]}}},Zv=class extends Qn{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){let r=!t.endsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}},Vu=class extends Qn{constructor(t,{location:r=_e.location,threshold:n=_e.threshold,distance:i=_e.distance,includeMatches:a=_e.includeMatches,findAllMatches:o=_e.findAllMatches,minMatchCharLength:s=_e.minMatchCharLength,isCaseSensitive:u=_e.isCaseSensitive,ignoreLocation:l=_e.ignoreLocation}={}){super(t);this._bitapSearch=new Uu(t,{location:r,threshold:n,distance:i,includeMatches:a,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:u,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}},Wu=class extends Qn{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let r=0,n,i=[],a=this.pattern.length;for(;(n=t.indexOf(this.pattern,r))>-1;)r=n+a,i.push([n,r-1]);let o=!!i.length;return{isMatch:o,score:o?0:1,indices:i}}},zu=[Yv,Wu,Gv,Qv,Zv,Xv,Jv,Vu],ey=zu.length,US=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,VS="|";function WS(e,t={}){return e.split(VS).map(r=>{let n=r.trim().split(US).filter(a=>a&&!!a.trim()),i=[];for(let a=0,o=n.length;a!!(e[Ss.AND]||e[Ss.OR]),qS=e=>!!e[Yu.PATH],YS=e=>!Gn(e)&&Kv(e)&&!Ju(e),ny=e=>({[Ss.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function ry(e,t,{auto:r=!0}={}){let n=i=>{let a=Object.keys(i),o=qS(i);if(!o&&a.length>1&&!Ju(i))return n(ny(i));if(YS(i)){let u=o?i[Yu.PATH]:a[0],l=o?i[Yu.PATTERN]:i[u];if(!Rn(l))throw new Error(DS(u));let c={keyId:$u(u),pattern:l};return r&&(c.searcher=qu(l,t)),c}let s={children:[],operator:a[0]};return a.forEach(u=>{let l=i[u];Gn(l)&&l.forEach(c=>{s.children.push(n(c))})}),s};return Ju(e)||(e=ny(e)),n(e)}function JS(e,{ignoreFieldNorm:t=_e.ignoreFieldNorm}){e.forEach(r=>{let n=1;r.matches.forEach(({key:i,norm:a,score:o})=>{let s=i?i.weight:null;n*=Math.pow(o===0&&s?Number.EPSILON:o,(s||1)*(t?1:a))}),r.score=n})}function GS(e,t){let r=e.matches;t.matches=[],!!un(r)&&r.forEach(n=>{if(!un(n.indices)||!n.indices.length)return;let{indices:i,value:a}=n,o={indices:i,value:a};n.key&&(o.key=n.key.src),n.idx>-1&&(o.refIndex=n.idx),t.matches.push(o)})}function QS(e,t){t.score=e.score}function XS(e,t,{includeMatches:r=_e.includeMatches,includeScore:n=_e.includeScore}={}){let i=[];return r&&i.push(GS),n&&i.push(QS),e.map(a=>{let{idx:o}=a,s={item:t[o],refIndex:o};return i.length&&i.forEach(u=>{u(a,s)}),s})}var mn=class{constructor(t,r={},n){this.options={..._e,...r},this.options.useExtendedSearch,this._keyStore=new Vv(this.options.keys),this.setCollection(t,n)}setCollection(t,r){if(this._docs=t,r&&!(r instanceof xs))throw new Error(CS);this._myIndex=r||jv(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){!un(t)||(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){let r=[];for(let n=0,i=this._docs.length;n-1&&(u=u.slice(0,r)),XS(u,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(t){let r=qu(t,this.options),{records:n}=this._myIndex,i=[];return n.forEach(({v:a,i:o,n:s})=>{if(!un(a))return;let{isMatch:u,score:l,indices:c}=r.searchIn(a);u&&i.push({item:a,idx:o,matches:[{score:l,value:a,norm:s,indices:c}]})}),i}_searchLogical(t){let r=ry(t,this.options),n=(s,u,l)=>{if(!s.children){let{keyId:d,searcher:f}=s,p=this._findMatches({key:this._keyStore.get(d),value:this._myIndex.getValueForItemAtKeyId(u,d),searcher:f});return p&&p.length?[{idx:l,item:u,matches:p}]:[]}let c=[];for(let d=0,f=s.children.length;d{if(un(s)){let l=n(r,s,u);l.length&&(a[u]||(a[u]={idx:u,item:s,matches:[]},o.push(a[u])),l.forEach(({matches:c})=>{a[u].matches.push(...c)}))}}),o}_searchObjectList(t){let r=qu(t,this.options),{keys:n,records:i}=this._myIndex,a=[];return i.forEach(({$:o,i:s})=>{if(!un(o))return;let u=[];n.forEach((l,c)=>{u.push(...this._findMatches({key:l,value:o[c],searcher:r}))}),u.length&&a.push({idx:s,item:o,matches:u})}),a}_findMatches({key:t,value:r,searcher:n}){if(!un(r))return[];let i=[];if(Gn(r))r.forEach(({v:a,i:o,n:s})=>{if(!un(a))return;let{isMatch:u,score:l,indices:c}=n.searchIn(a);u&&i.push({score:l,key:t,value:a,idx:o,norm:s,indices:c})});else{let{v:a,n:o}=r,{isMatch:s,score:u,indices:l}=n.searchIn(a);s&&i.push({score:u,key:t,value:a,norm:o,indices:l})}return i}};mn.version="6.6.2";mn.createIndex=jv;mn.parseIndex=HS;mn.config=_e;mn.parseQuery=ry;jS(ty);var Sy=me(require("obsidian"));m();var iy=me(require("obsidian"));function _s(e,t,r){let n=r.getSetting("date-format"),i=r.getSetting("link-date-to-daily-note"),a=(0,iy.moment)(e).format(n),o=i?Yo(r.app,a):`{${a}}`;Lt(t.current,o),t.current.focus()}function ay({div:e,inputRef:t,cb:r,stateManager:n}){e.createEl("input",{type:"text"},i=>{e.win.setTimeout(()=>r(as(i,{now:new Date,locale:Xo(n),inline:!0,onChange:a=>{_s(a[0],t,n)},win:i.win})))})}function Gu(e,t){let r=t.clientHeight,n=t.clientWidth,i=Ze(t);e.top+r>i.innerHeight&&(t.style.top=`${(e.clientTop||0)-r}px`),e.left+n>i.innerWidth&&(t.style.left=`${(e.left||0)-n}px`)}function oy(e){let t=e.getSetting("time-trigger"),r=new RegExp(`\\B${Ln(t)}{?([^}]*)$`),n=Au(e);return{id:"time",match:r,index:1,search:(i,a)=>{a(i?n.filter(o=>o.startsWith(i)):n)},template:i=>i,replace:i=>`${t}{${i}} `}}function sy(e){let t=e.month(),r=e.clone().startOf("month").weekday(0),n=e.diff(r,"week");e.subtract(1,"month").startOf("month").weekday(6).add(n,"week");let i=e.month();for(;t===i;)e.subtract(1,"week"),i=e.month();return e}function ly(e){let t=e.month(),r=e.clone().startOf("month").weekday(6),n=e.diff(r,"week");e.add(1,"month").startOf("month").weekday(0).add(n,"week");let i=e.month();for(;t===i;)e.add(1,"week"),i=e.month();return e}m();var cy=me(require("obsidian"));var ZS=/\B\[\[([^\]]*)$/,e_=/\B!\[\[([^\]]*)$/,t_=/\B\[\[([^#\]]+)#([^\]]*)$/,n_=/\B!\[\[([^#\]]+)#([^\]]*)$/,r_=/\B\[\[([^#\]]+)#?\^([^\]]*)$/,i_=/\B!\[\[([^#\]]+)#?\^([^\]]*)$/;function a_(e,t,r,n){let i=e.document.body.createDiv(B("file-suggestion-wrapper"));i.detach(),(0,cy.setIcon)(i.createDiv(B("file-suggestion-icon")),"forward-arrow",12),i.createDiv({},o=>{o.createDiv({cls:B("file-suggestion-title"),text:n.item.alias}),o.createDiv({cls:B("file-suggestion-subtitle"),text:t.app.metadataCache.fileToLinktext(n.item.file,r)})});let a=i.outerHTML;return i.remove(),i=null,a}function Qu(e,t,r,n,i,a,o){return{id:`link-${o?"embed":"normal"}`,match:o?e_:ZS,index:1,template:s=>s.item.file===null?`${s.item.path.split("|").pop()||s.item.path}`:s.item.alias?a_(e,i,n,s):i.app.metadataCache.fileToLinktext(s.item.file,n),search:(s,u)=>{if(!s)u(t.slice(0,10).map((l,c)=>({item:l,refIndex:c})));else{let l=s.split("|"),c=l.length>1,d=l[0],f=c?l.slice(1).join("|"):null,p=s;c&&(p={"file.basename":d,alias:f}),u([{item:{file:null,path:s,alias:""},refIndex:-1},...r.search(p)])}},replace:s=>{let u=[];o&&s.item.file.extension==="md"&&u.push("!"),s.item.file===null?u.push(`[[${s.item.path}]]`):u.push(i.app.fileManager.generateMarkdownLink(s.item.file,i.file.path,void 0,s.item.alias));let l=!!i.app.vault.getConfig("useMarkdownLinks");return a&&!l&&(u[u.length-1]=u[u.length-1].slice(0,-2)),u.join("")}}}function o_(e,t,r,n){var u;if(!r)return[];let i=r.split("|"),a=e.metadataCache.getFirstLinkpathDest(i[0],t);if(!a)return[];let o=e.metadataCache.getFileCache(a);if(!o||!((u=o.headings)==null?void 0:u.length))return[];let s=o.headings.map(l=>({file:a,heading:l.heading,alias:i[1]||""}));return n?new mn(s,{keys:["heading"]}).search(n):s.map((l,c)=>({item:l,refIndex:c}))}function Xu(e,t,r,n){return{id:`heading-${n?"embed":"normal"}`,match:n?n_:t_,index:1,template:i=>i.item.heading,search:(i,a,o)=>{a(o_(t.app,e,o[1],o[2]))},replace:i=>{let a=[];n&&i.item.file.extension==="md"&&a.push("!"),a.push(t.app.fileManager.generateMarkdownLink(i.item.file,t.file.path,"#"+i.item.heading,i.item.alias));let o=!!t.app.vault.getConfig("useMarkdownLinks");return r&&!o?a[a.length-1]=a[a.length-1].slice(0,-2):!r&&!o&&a.push("]] "),a.join("")}}}var uy=class{constructor(){this.running=!1;this.cancelled=!1}start(){this.running=!0}stop(){this.running=!1}cancel(){this.stop(),this.cancelled=!0}isRunning(){return this.running}isCancelled(){return this.cancelled}};async function s_(e,t,r,n,i){var u;if(!r)return i([]);let a=r.split("|"),o=e.metadataCache.getFirstLinkpathDest(a[0],t);if(!o)return i([]);let s=e.metadataCache.getFileCache(o);if(!s||!((u=s.sections)==null?void 0:u.length))return i([]);try{let l=await e.metadataCache.blockCache.getForFile(new uy,o);if(!(l==null?void 0:l.blocks))return i([]);let c=l.blocks.map(d=>d.node.type==="heading"?null:{file:o,searchString:d.display,blockId:d.node.id,block:{type:d.node.type,start:d.node.position.start.offset,end:d.node.position.end.offset},alias:a[1]||""}).filter(d=>d);i(n?new mn(c,{keys:["searchString","blockId"]}).search(n):c.map((d,f)=>({item:d,refIndex:f})))}catch(l){i([])}}function l_(e){return["blockquote","code","table","comment","footnoteDefinition"].includes(e)}function Zu(e,t,r,n){return{id:`block-${n?"embed":"normal"}`,match:n?i_:r_,index:1,template:i=>i.item.blockId?`
${i.item.searchString}
${i.item.blockId}
`:i.item.searchString,search:(i,a,o)=>{s_(t.app,e,o[1],o[2],a)},replace:i=>{let a=[];n&&i.item.file.extension==="md"&&a.push("!");let o="#^";if(i.item.blockId)o+=i.item.blockId;else{let u=Ae(),l=l_(i.item.block.type)?` + `}function F(){n.calendarContainer.classList.add("hasWeeks");let _=je(r.document,"div","flatpickr-weekwrapper");_.appendChild(je(r.document,"span","flatpickr-weekday",n.l10n.weekAbbreviation));let M=je(r.document,"div","flatpickr-weeks");return _.appendChild(M),{weekWrapper:_,weekNumbers:M}}function N(_,M=!0){let $=M?_:_-n.currentMonth;$<0&&n._hidePrevMonthArrow===!0||$>0&&n._hideNextMonthArrow===!0||(n.currentMonth+=$,(n.currentMonth<0||n.currentMonth>11)&&(n.currentYear+=n.currentMonth>11?1:-1,n.currentMonth=(n.currentMonth+12)%12,Ve("onYearChange"),Q()),G(),Ve("onMonthChange"),Mt())}function ut(_=!0,M=!0){if(n.input.value="",n.altInput!==void 0&&(n.altInput.value=""),n.mobileInput!==void 0&&(n.mobileInput.value=""),n.selectedDates=[],n.latestSelectedDateObj=void 0,M===!0&&(n.currentYear=n._initialDate.getFullYear(),n.currentMonth=n._initialDate.getMonth()),n.config.enableTime===!0){let{hours:$,minutes:ee,seconds:le}=rs(n.config);g($,ee,le)}n.redraw(),_&&Ve("onChange")}function Ge(){n.isOpen=!1,n.isMobile||(n.calendarContainer!==void 0&&n.calendarContainer.classList.remove("open"),n._input!==void 0&&n._input.classList.remove("active")),Ve("onClose")}function W(){n.config!==void 0&&Ve("onDestroy");for(let _=n._handlers.length;_--;)n._handlers[_].remove();if(n._handlers=[],n.mobileInput)n.mobileInput.parentNode&&n.mobileInput.parentNode.removeChild(n.mobileInput),n.mobileInput=void 0;else if(n.calendarContainer&&n.calendarContainer.parentNode)if(n.config.static&&n.calendarContainer.parentNode){let _=n.calendarContainer.parentNode;if(_.lastChild&&_.removeChild(_.lastChild),_.parentNode){for(;_.firstChild;)_.parentNode.insertBefore(_.firstChild,_);_.parentNode.removeChild(_)}}else n.calendarContainer.parentNode.removeChild(n.calendarContainer);n.altInput&&(n.input.type="text",n.altInput.parentNode&&n.altInput.parentNode.removeChild(n.altInput),delete n.altInput),n.input&&(n.input.type=n.input._type,n.input.classList.remove("flatpickr-input"),n.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(_=>{try{delete n[_]}catch(M){}})}function j(_){return n.calendarContainer.contains(_)}function q(_){if(n.isOpen&&!n.config.inline){let M=rn(_),$=j(M),le=!(M===n.input||M===n.altInput||n.element.contains(M)||_.path&&_.path.indexOf&&(~_.path.indexOf(n.input)||~_.path.indexOf(n.altInput)))&&!$&&!j(_.relatedTarget),re=!n.config.ignoredFocusElements.some(ve=>ve.contains(M));le&&re&&(n.config.allowInput&&n.setDate(n._input.value,!1,n.config.altInput?n.config.altFormat:n.config.dateFormat),n.timeContainer!==void 0&&n.minuteElement!==void 0&&n.hourElement!==void 0&&n.input.value!==""&&n.input.value!==void 0&&l(),n.close(),n.config&&n.config.mode==="range"&&n.selectedDates.length===1&&n.clear(!1))}}function te(_){if(!_||n.config.minDate&&_n.config.maxDate.getFullYear())return;let M=_,$=n.currentYear!==M;n.currentYear=M||n.currentYear,n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()?n.currentMonth=Math.min(n.config.maxDate.getMonth(),n.currentMonth):n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&(n.currentMonth=Math.max(n.config.minDate.getMonth(),n.currentMonth)),$&&(n.redraw(),Ve("onYearChange"),Q())}function we(_,M=!0){var re;let $=n.parseDate(_,void 0,M);if(n.config.minDate&&$&&nn($,n.config.minDate,M!==void 0?M:!n.minDateHasTime)<0||n.config.maxDate&&$&&nn($,n.config.maxDate,M!==void 0?M:!n.maxDateHasTime)>0)return!1;if(!n.config.enable&&n.config.disable.length===0)return!0;if($===void 0)return!1;let ee=!!n.config.enable,le=(re=n.config.enable)!=null?re:n.config.disable;for(let ve=0,ue;ve=ue.from.getTime()&&$.getTime()<=ue.to.getTime())return ee}return!ee}function xe(_){return n.daysContainer!==void 0?_.className.indexOf("hidden")===-1&&_.className.indexOf("flatpickr-disabled")===-1&&n.daysContainer.contains(_):!1}function Ue(_){let M=_.target===n._input,$=n._input.value.trimEnd()!==Wi();M&&$&&!(_.relatedTarget&&j(_.relatedTarget))&&n.setDate(n._input.value,!0,_.target===n.altInput?n.config.altFormat:n.config.dateFormat)}function dt(_){let M=rn(_),$=n.config.wrap?e.contains(M):M===n._input,ee=n.config.allowInput,le=n.isOpen&&(!ee||!$),re=n.config.inline&&$&&!ee;if(_.keyCode===13&&$){if(ee)return n.setDate(n._input.value,!0,M===n.altInput?n.config.altFormat:n.config.dateFormat),n.close(),M.blur();n.open()}else if(j(M)||le||re){let ve=!!n.timeContainer&&n.timeContainer.contains(M);switch(_.keyCode){case 13:ve?(_.preventDefault(),l(),rr()):Rt(_);break;case 27:_.preventDefault(),rr();break;case 8:case 46:$&&!n.config.allowInput&&(_.preventDefault(),n.clear());break;case 37:case 39:if(!ve&&!$){_.preventDefault();let ue=o();if(n.daysContainer!==void 0&&(ee===!1||ue&&xe(ue))){let Fe=_.keyCode===39?1:-1;_.ctrlKey?(_.stopPropagation(),N(Fe),J(U(1),0)):J(void 0,Fe)}}else n.hourElement&&n.hourElement.focus();break;case 38:case 40:{_.preventDefault();let ue=_.keyCode===40?1:-1;n.daysContainer&&M.$i!==void 0||M===n.input||M===n.altInput?_.ctrlKey?(_.stopPropagation(),te(n.currentYear-ue),J(U(1),0)):ve||J(void 0,ue*7):M===n.currentYearElement?te(n.currentYear-ue):n.config.enableTime&&(!ve&&n.hourElement&&n.hourElement.focus(),l(_),n._debouncedChange());break}case 9:if(ve){let ue=[n.hourElement,n.minuteElement,n.secondElement,n.amPM].concat(n.pluginElements).filter(Ne=>Ne),Fe=ue.indexOf(M);if(Fe!==-1){let Ne=ue[Fe+(_.shiftKey?-1:1)];_.preventDefault(),(Ne||n._input).focus()}}else!n.config.noCalendar&&n.daysContainer&&n.daysContainer.contains(M)&&_.shiftKey&&(_.preventDefault(),n._input.focus());break;default:break}}if(n.amPM!==void 0&&M===n.amPM)switch(_.key){case n.l10n.amPM[0].charAt(0):case n.l10n.amPM[0].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[0],f(),kn();break;case n.l10n.amPM[1].charAt(0):case n.l10n.amPM[1].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[1],f(),kn();break}($||j(M))&&Ve("onKeyDown",_)}function vt(_,M="flatpickr-day"){if(n.selectedDates.length!==1||_&&(!_.classList.contains(M)||_.classList.contains("flatpickr-disabled")))return;let $=_?_.dateObj.getTime():n.days.firstElementChild.dateObj.getTime(),ee=n.parseDate(n.selectedDates[0],void 0,!0).getTime(),le=Math.min($,n.selectedDates[0].getTime()),re=Math.max($,n.selectedDates[0].getTime()),ve=!1,ue=0,Fe=0;for(let Me=le;Mele&&Meue)?ue=Me:Me>ee&&(!Fe||Me .${M}`)).forEach(Me=>{let bt=Me.dateObj.getTime(),ar=ue>0&&bt0&&bt>Fe;if(ar){Me.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(or=>{Me.classList.remove(or)});return}else if(ve&&!ar)return;["startRange","inRange","endRange","notAllowed"].forEach(or=>{Me.classList.remove(or)}),_!==void 0&&(_.classList.add($<=n.selectedDates[0].getTime()?"startRange":"endRange"),ee<$&&bt===ee?Me.classList.add("startRange"):ee>$&&bt===ee&&Me.classList.add("endRange"),bt>=ue&&(Fe===0||bt<=Fe)&&tv(bt,ee,$)&&Me.classList.add("inRange"))})}function Ot(){n.isOpen&&!n.config.static&&!n.config.inline&&Un()}function Bn(_,M=n._positionElement){if(n.isMobile===!0){if(_){_.preventDefault();let ee=rn(_);ee&&ee.blur()}n.mobileInput!==void 0&&(n.mobileInput.focus(),n.mobileInput.click()),Ve("onOpen");return}else if(n._input.disabled||n.config.inline)return;let $=n.isOpen;n.isOpen=!0,$||(n.calendarContainer.classList.add("open"),n._input.classList.add("active"),Ve("onOpen"),Un(M)),n.config.enableTime===!0&&n.config.noCalendar===!0&&n.config.allowInput===!1&&(_===void 0||!n.timeContainer.contains(_.relatedTarget))&&r.setTimeout(()=>n.hourElement.select(),50)}function Kn(_){return M=>{let $=n.config[`_${_}Date`]=n.parseDate(M,n.config.dateFormat),ee=n.config[`_${_==="min"?"max":"min"}Date`];$!==void 0&&(n[_==="min"?"minDateHasTime":"maxDateHasTime"]=$.getHours()>0||$.getMinutes()>0||$.getSeconds()>0),n.selectedDates&&(n.selectedDates=n.selectedDates.filter(le=>we(le)),!n.selectedDates.length&&_==="min"&&p($),kn()),n.daysContainer&&(ti(),$!==void 0?n.currentYearElement[_]=$.getFullYear().toString():n.currentYearElement.removeAttribute(_),n.currentYearElement.disabled=!!ee&&$!==void 0&&ee.getFullYear()===$.getFullYear())}}function $n(){let _=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],M={...JSON.parse(JSON.stringify(e.dataset||{})),...t},$={};n.config.parseDate=M.parseDate,n.config.formatDate=M.formatDate,Object.defineProperty(n.config,"enable",{get:()=>n.config._enable,set:re=>{n.config._enable=Ee(re)}}),Object.defineProperty(n.config,"disable",{get:()=>n.config._disable,set:re=>{n.config._disable=Ee(re)}});let ee=M.mode==="time";if(!M.dateFormat&&(M.enableTime||ee)){let re=gt.defaultConfig.dateFormat||wr.dateFormat;$.dateFormat=M.noCalendar||ee?"H:i"+(M.enableSeconds?":S":""):re+" H:i"+(M.enableSeconds?":S":"")}if(M.altInput&&(M.enableTime||ee)&&!M.altFormat){let re=gt.defaultConfig.altFormat||wr.altFormat;$.altFormat=M.noCalendar||ee?"h:i"+(M.enableSeconds?":S K":" K"):re+` h:i${M.enableSeconds?":S":""} K`}Object.defineProperty(n.config,"minDate",{get:()=>n.config._minDate,set:Kn("min")}),Object.defineProperty(n.config,"maxDate",{get:()=>n.config._maxDate,set:Kn("max")});let le=re=>ve=>{n.config[re==="min"?"_minTime":"_maxTime"]=n.parseDate(ve,"H:i:S")};Object.defineProperty(n.config,"minTime",{get:()=>n.config._minTime,set:le("min")}),Object.defineProperty(n.config,"maxTime",{get:()=>n.config._maxTime,set:le("max")}),M.mode==="time"&&(n.config.noCalendar=!0,n.config.enableTime=!0),Object.assign(n.config,$,M);for(let re=0;re<_.length;re++)n.config[_[re]]=n.config[_[re]]===!0||n.config[_[re]]==="true";Zo.filter(re=>n.config[re]!==void 0).forEach(re=>{n.config[re]=es(n.config[re]||[]).map(s)}),n.isMobile=!n.config.disableMobile&&!n.config.inline&&n.config.mode==="single"&&!n.config.disable.length&&!n.config.enable&&!n.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(let re=0;re-1?n.config[ue]=es(ve[ue]).map(s).concat(n.config[ue]):typeof M[ue]=="undefined"&&(n.config[ue]=ve[ue])}M.altInputClass||(n.config.altInputClass=bn().className+" "+n.config.altInputClass),Ve("onParseConfig")}function bn(){return n.config.wrap?e.querySelector("[data-input]"):e}function wn(){typeof n.config.locale!="object"&&typeof gt.l10ns[n.config.locale]=="undefined"&&n.config.errorHandler(new Error(`flatpickr: invalid locale ${n.config.locale}`)),n.l10n={...gt.l10ns.default,...typeof n.config.locale=="object"?n.config.locale:n.config.locale!=="default"?gt.l10ns[n.config.locale]:void 0},Jn.D=`(${n.l10n.weekdays.shorthand.join("|")})`,Jn.l=`(${n.l10n.weekdays.longhand.join("|")})`,Jn.M=`(${n.l10n.months.shorthand.join("|")})`,Jn.F=`(${n.l10n.months.longhand.join("|")})`,Jn.K=`(${n.l10n.amPM[0]}|${n.l10n.amPM[1]}|${n.l10n.amPM[0].toLowerCase()}|${n.l10n.amPM[1].toLowerCase()})`,{...t,...JSON.parse(JSON.stringify(e.dataset||{}))}.time_24hr===void 0&>.defaultConfig.time_24hr===void 0&&(n.config.time_24hr=n.l10n.time_24hr),n.formatDate=Mu(n),n.parseDate=ts({config:n.config,l10n:n.l10n})}function Un(_){if(typeof n.config.position=="function")return void n.config.position(n,_);if(n.calendarContainer===void 0)return;Ve("onPreCalendarPosition");let M=_||n._positionElement,$=Array.prototype.reduce.call(n.calendarContainer.children,(Tr,ji)=>Tr+ji.offsetHeight,0),ee=n.calendarContainer.offsetWidth,le=n.config.position.split(" "),re=le[0],ve=le.length>1?le[1]:null,ue=M.getBoundingClientRect(),Fe=r.innerHeight-ue.bottom,Ne=re==="above"||re!=="below"&&Fe<$&&ue.top>$,Me=r.pageYOffset+ue.top+(Ne?-$-2:M.offsetHeight+2);if(Kt(n.calendarContainer,"arrowTop",!Ne),Kt(n.calendarContainer,"arrowBottom",Ne),n.config.inline)return;let Qt=r.pageXOffset+ue.left,bt=!1,ar=!1;ve==="center"?(Qt-=(ee-ue.width)/2,bt=!0):ve==="right"&&(Qt-=ee-ue.width,ar=!0),Kt(n.calendarContainer,"arrowLeft",!bt&&!ar),Kt(n.calendarContainer,"arrowCenter",bt),Kt(n.calendarContainer,"arrowRight",ar);let or=r.document.body.offsetWidth-(r.pageXOffset+ue.right),zi=Qt+ee>r.document.body.offsetWidth,no=or+ee>r.document.body.offsetWidth;if(Kt(n.calendarContainer,"rightMost",zi),!n.config.static)if(n.calendarContainer.style.top=`${Me}px`,!zi)n.calendarContainer.style.left=`${Qt}px`,n.calendarContainer.style.right="auto";else if(!no)n.calendarContainer.style.left="auto",n.calendarContainer.style.right=`${or}px`;else{let Tr=Zr();if(Tr===void 0)return;let ji=r.document.body.offsetWidth,_l=Math.max(0,ji/2-ee/2),Cl=".flatpickr-calendar.centerMost:before",Mf=".flatpickr-calendar.centerMost:after",O=Tr.cssRules.length,w=`{left:${ue.left}px;right:auto;}`;Kt(n.calendarContainer,"rightMost",!1),Kt(n.calendarContainer,"centerMost",!0),Tr.insertRule(`${Cl},${Mf}${w}`,O),n.calendarContainer.style.left=`${_l}px`,n.calendarContainer.style.right="auto"}}function Zr(){let _=null;for(let M=0;Mve.classList&&ve.classList.contains("flatpickr-day")&&!ve.classList.contains("flatpickr-disabled")&&!ve.classList.contains("notAllowed"),$=Iu(rn(_),M);if($===void 0)return;let ee=$,le=n.latestSelectedDateObj=new Date(ee.dateObj.getTime()),re=(le.getMonth()n.currentMonth+n.config.showMonths-1)&&n.config.mode!=="range";if(n.selectedDateElem=ee,n.config.mode==="single")n.selectedDates=[le];else if(n.config.mode==="multiple"){let ve=Ye(le);ve?n.selectedDates.splice(parseInt(ve),1):n.selectedDates.push(le)}else n.config.mode==="range"&&(n.selectedDates.length===2&&n.clear(!1,!1),n.latestSelectedDateObj=le,n.selectedDates.push(le),nn(le,n.selectedDates[0],!0)!==0&&n.selectedDates.sort((ve,ue)=>ve.getTime()-ue.getTime()));if(f(),re){let ve=n.currentYear!==le.getFullYear();n.currentYear=le.getFullYear(),n.currentMonth=le.getMonth(),ve&&(Ve("onYearChange"),Q()),Ve("onMonthChange")}if(Mt(),G(),kn(),!re&&n.config.mode!=="range"&&n.config.showMonths===1?z(ee):n.selectedDateElem!==void 0&&n.hourElement===void 0&&n.selectedDateElem&&n.selectedDateElem.focus(),n.hourElement!==void 0&&n.hourElement!==void 0&&n.hourElement.focus(),n.config.closeOnSelect){let ve=n.config.mode==="single"&&!n.config.enableTime,ue=n.config.mode==="range"&&n.selectedDates.length===2&&!n.config.enableTime;(ve||ue)&&rr()}x()}let Wt={locale:[wn,Te],showMonths:[he,u,be],minDate:[C],maxDate:[C],positionElement:[En],clickOpens:[()=>{n.config.clickOpens===!0?(b(n._input,"focus",n.open),b(n._input,"click",n.open)):(n._input.removeEventListener("focus",n.open),n._input.removeEventListener("click",n.open))}]};function yt(_,M){if(_!==null&&typeof _=="object"){Object.assign(n.config,_);for(let $ in _)Wt[$]!==void 0&&Wt[$].forEach(ee=>ee())}else n.config[_]=M,Wt[_]!==void 0?Wt[_].forEach($=>$()):Zo.indexOf(_)>-1&&(n.config[_]=es(M));n.redraw(),kn(!0)}function Y(_,M){let $=[];if(Array.isArray(_))$=_.map(ee=>n.parseDate(ee,M));else if(_.getDate||typeof _=="number")$=[n.parseDate(_,M)];else if(typeof _=="string")switch(n.config.mode){case"single":case"time":$=[n.parseDate(_,M)];break;case"multiple":$=_.split(n.config.conjunction).map(ee=>n.parseDate(ee,M));break;case"range":$=_.split(n.l10n.rangeSeparator).map(ee=>n.parseDate(ee,M));break;default:break}else n.config.errorHandler(new Error(`Invalid date supplied: ${JSON.stringify(_)}`));n.selectedDates=n.config.allowInvalidPreload?$:$.filter(ee=>ee.getDate&&we(ee,!1)),n.config.mode==="range"&&n.selectedDates.sort((ee,le)=>ee.getTime()-le.getTime())}function oe(_,M=!1,$=n.config.dateFormat){if(_!==0&&!_||Array.isArray(_)&&_.length===0)return n.clear(M);Y(_,$),n.latestSelectedDateObj=n.selectedDates[n.selectedDates.length-1],n.redraw(),C(void 0,M),p(),n.selectedDates.length===0&&n.clear(!1),kn(M),M&&Ve("onChange")}function Ee(_){return _.slice().map(M=>typeof M=="string"||typeof M=="number"||M.getDate?n.parseDate(M,void 0,!0):M&&typeof M=="object"&&M.from&&M.to?{from:n.parseDate(M.from,void 0),to:n.parseDate(M.to,void 0)}:M).filter(M=>M)}function ze(){n.selectedDates=[],n.now=n.parseDate(n.config.now)||new Date;let _=n.config.defaultDate||((n.input.nodeName==="INPUT"||n.input.nodeName==="TEXTAREA")&&n.input.placeholder&&n.input.value===n.input.placeholder?null:n.input.value);_&&Y(_,n.config.dateFormat),n._initialDate=n.selectedDates.length>0?n.selectedDates[0]:n.config.minDate&&n.config.minDate.getTime()>n.now.getTime()?n.config.minDate:n.config.maxDate&&n.config.maxDate.getTime()0&&(n.latestSelectedDateObj=n.selectedDates[0]),n.config.minTime!==void 0&&(n.config.minTime=n.parseDate(n.config.minTime,"H:i")),n.config.maxTime!==void 0&&(n.config.maxTime=n.parseDate(n.config.maxTime,"H:i")),n.minDateHasTime=!!n.config.minDate&&(n.config.minDate.getHours()>0||n.config.minDate.getMinutes()>0||n.config.minDate.getSeconds()>0),n.maxDateHasTime=!!n.config.maxDate&&(n.config.maxDate.getHours()>0||n.config.maxDate.getMinutes()>0||n.config.maxDate.getSeconds()>0)}function Tt(){if(n.input=bn(),!n.input){n.config.errorHandler(new Error("Invalid input element specified"));return}n.input._type=n.input.type,n.input.type="text",n.input.classList.add("flatpickr-input"),n._input=n.input,n.config.altInput&&(n.altInput=je(r.document,n.input.nodeName,n.config.altInputClass),n._input=n.altInput,n.altInput.placeholder=n.input.placeholder,n.altInput.disabled=n.input.disabled,n.altInput.required=n.input.required,n.altInput.tabIndex=n.input.tabIndex,n.altInput.type="text",n.input.setAttribute("type","hidden"),!n.config.static&&n.input.parentNode&&n.input.parentNode.insertBefore(n.altInput,n.input.nextSibling)),n.config.allowInput||n._input.setAttribute("readonly","readonly"),En()}function En(){n._positionElement=n.config.positionElement||n._input}function qe(){let _=n.config.enableTime?n.config.noCalendar?"time":"datetime-local":"date";n.mobileInput=je(r.document,"input",n.input.className+" flatpickr-mobile"),n.mobileInput.tabIndex=1,n.mobileInput.type=_,n.mobileInput.disabled=n.input.disabled,n.mobileInput.required=n.input.required,n.mobileInput.placeholder=n.input.placeholder,n.mobileFormatStr=_==="datetime-local"?"Y-m-d\\TH:i:S":_==="date"?"Y-m-d":"H:i:S",n.selectedDates.length>0&&(n.mobileInput.defaultValue=n.mobileInput.value=n.formatDate(n.selectedDates[0],n.mobileFormatStr)),n.config.minDate&&(n.mobileInput.min=n.formatDate(n.config.minDate,"Y-m-d")),n.config.maxDate&&(n.mobileInput.max=n.formatDate(n.config.maxDate,"Y-m-d")),n.input.getAttribute("step")&&(n.mobileInput.step=String(n.input.getAttribute("step"))),n.input.type="hidden",n.altInput!==void 0&&(n.altInput.type="hidden");try{n.input.parentNode&&n.input.parentNode.insertBefore(n.mobileInput,n.input.nextSibling)}catch(M){}b(n.mobileInput,"change",M=>{n.setDate(rn(M).value,!1,n.mobileFormatStr),Ve("onChange"),Ve("onClose")})}function st(_){if(n.isOpen===!0)return n.close();n.open(_)}function Ve(_,M){if(n.config===void 0)return;let $=n.config[_];if($!==void 0&&$.length>0)for(let ee=0;$[ee]&&ee<$.length;ee++)$[ee](n.selectedDates,n.input.value,n,M);_==="onChange"&&(n.input.dispatchEvent(fn("change")),n.input.dispatchEvent(fn("input")))}function fn(_){let M=r.document.createEvent("Event");return M.initEvent(_,!0,!0),M}function Ye(_){for(let M=0;M=0&&nn(_,n.selectedDates[1])<=0}function Mt(){n.config.noCalendar||n.isMobile||!n.monthNav||(n.yearElements.forEach((_,M)=>{let $=new Date(n.currentYear,n.currentMonth,1);$.setMonth(n.currentMonth+M),n.config.showMonths>1||n.config.monthSelectorType==="static"?n.monthElements[M].textContent=Sa($.getMonth(),n.config.shorthandCurrentMonth,n.l10n)+" ":n.monthsDropdownContainer.value=$.getMonth().toString(),_.value=$.getFullYear().toString()}),n._hidePrevMonthArrow=n.config.minDate!==void 0&&(n.currentYear===n.config.minDate.getFullYear()?n.currentMonth<=n.config.minDate.getMonth():n.currentYearn.config.maxDate.getMonth():n.currentYear>n.config.maxDate.getFullYear()))}function Wi(_){let M=_||(n.config.altInput?n.config.altFormat:n.config.dateFormat);return n.selectedDates.map($=>n.formatDate($,M)).filter(($,ee,le)=>n.config.mode!=="range"||n.config.enableTime||le.indexOf($)===ee).join(n.config.mode!=="range"?n.config.conjunction:n.l10n.rangeSeparator)}function kn(_=!0){n.mobileInput!==void 0&&n.mobileFormatStr&&(n.mobileInput.value=n.latestSelectedDateObj!==void 0?n.formatDate(n.latestSelectedDateObj,n.mobileFormatStr):""),n.input.value=Wi(n.config.dateFormat),n.altInput!==void 0&&(n.altInput.value=Wi(n.config.altFormat)),_!==!1&&Ve("onValueUpdate")}function Sl(_){let M=rn(_),$=n.prevMonthNav.contains(M),ee=n.nextMonthNav.contains(M);$||ee?N($?-1:1):n.yearElements.indexOf(M)>=0?M.select():M.classList.contains("arrowUp")?n.changeYear(n.currentYear+1):M.classList.contains("arrowDown")&&n.changeYear(n.currentYear-1)}function to(_){_.preventDefault();let M=_.type==="keydown",$=rn(_),ee=$;n.amPM!==void 0&&$===n.amPM&&(n.amPM.textContent=n.l10n.amPM[tn(n.amPM.textContent===n.l10n.amPM[0])]);let le=parseFloat(ee.getAttribute("min")),re=parseFloat(ee.getAttribute("max")),ve=parseFloat(ee.getAttribute("step")),ue=parseInt(ee.value,10),Fe=_.delta||(M?_.which===38?1:-1:0),Ne=ue+ve*Fe;if(typeof ee.value!="undefined"&&ee.value.length===2){let Me=ee===n.hourElement,Qt=ee===n.minuteElement;Nere&&(Ne=ee===n.hourElement?Ne-re-tn(!n.amPM):le,Qt&&H(void 0,1,n.hourElement)),n.amPM&&Me&&(ve===1?Ne+ue===23:Math.abs(Ne-ue)>ve)&&(n.amPM.textContent=n.l10n.amPM[tn(n.amPM.textContent===n.l10n.amPM[0])]),ee.value=Bt(Ne)}}return a(),n}function is(e,t){let r=Array.prototype.slice.call(e).filter(i=>i.onClickEvent),n=[];for(let i=0;i{gt.l10ns.default={...gt.l10ns.default,...e}};gt.setDefaults=e=>{gt.defaultConfig={...gt.defaultConfig,...e}};gt.parseDate=ts({});gt.formatDate=Mu({});gt.compareDates=nn;typeof jQuery!="undefined"&&typeof jQuery.fn!="undefined"&&(jQuery.fn.flatpickr=function(e){return is(this,e)});Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(typeof e=="string"?parseInt(e,10):e))};typeof window!="undefined"&&(window.flatpickr=gt);var as=gt;function os(e,t,r,n,i){return e.document.body.createDiv({cls:`${B("date-picker")} ${B("ignore-click-outside")}`},a=>{a.style.left=`${r.x||0}px`,a.style.top=`${r.y||0}px`,a.createEl("input",{type:"text"},o=>{a.win.setTimeout(()=>{let s=null,u=d=>{d.target instanceof d.view.HTMLElement&&d.target.closest(`.${B("date-picker")}`)===null&&c()},l=d=>{d.key==="Escape"&&c()},c=()=>{s.destroy(),a.remove(),e.document.body.removeEventListener("click",u),e.document.removeEventListener("keydown",l)};s=as(o,{locale:Xo(t),defaultDate:i,inline:!0,onChange:d=>{n(d),c()},win:e}),a.win.setTimeout(()=>{let d=a.clientHeight,f=a.clientWidth;r.y+d>e.innerHeight&&(a.style.top=`${(r.y||0)-d}px`),r.x+f>e.innerWidth&&(a.style.left=`${(r.x||0)-f}px`)}),e.document.body.addEventListener("click",u),e.document.addEventListener("keydown",l)})})})}function ss({stateManager:e,boardModifiers:t,item:r,hasDate:n,path:i}){let a=e.getSetting("date-format"),o=e.getSetting("link-date-to-daily-note"),s=e.getSetting("date-trigger"),u=o?"(?:\\[[^\\]]+\\]\\([^)]+\\)|\\[\\[[^\\]]+\\]\\])":"{[^}]+}",l=new RegExp(`(^|\\s)${Ln(s)}${u}`);return c=>{let d=c[0],f=(0,rt.moment)(d).format(a),p=o?Yo(e.app,f):`{${f}}`,g=r.data.titleRaw;n?g=r.data.titleRaw.replace(l,`$1${s}${p}`):g=`${r.data.titleRaw} ${s}${p}`,e.updateItemContent(r,g).then(y=>{t.updateItem(i,y)}).catch(y=>{e.setError(y),console.error(y)})}}function Au(e){let t=e.getSetting("time-format"),r=[];for(let n=0;n<24;n++)r.push((0,rt.moment)({hour:n}).format(t)),r.push((0,rt.moment)({hour:n,minute:15}).format(t)),r.push((0,rt.moment)({hour:n,minute:30}).format(t)),r.push((0,rt.moment)({hour:n,minute:45}).format(t));return r}function ls(e,t,r,n,i){let a=B("time-picker"),o=t.getSetting("time-format"),s=i==null?void 0:i.format(o);e.document.body.createDiv({cls:`${a} ${B("ignore-click-outside")}`},u=>{let l=Au(t),c=b=>{b.target instanceof b.view.HTMLElement&&b.target.hasClass(B("time-picker-item"))&&b.target.dataset.value&&(n(b.target.dataset.value),p())},d=b=>{b.target instanceof b.view.HTMLElement&&b.target.closest(`.${a}`)===null&&p()},f=b=>{b.key==="Escape"&&p()},p=()=>{u.remove(),u.removeEventListener("click",c),e.document.body.removeEventListener("click",d),e.document.removeEventListener("keydown",f)};u.style.left=`${r.x||0}px`,u.style.top=`${r.y||0}px`;let g=null,y=null;l.forEach((b,x)=>{let T=b===s;u.createDiv({cls:`${B("time-picker-item")} ${T?"is-selected":""}`,text:b},C=>{C.createEl("span",{cls:B("time-picker-check"),prepend:!0},A=>{(0,rt.setIcon)(A,"lucide-check")}),x%4==0&&C.addClass("is-hour"),C.dataset.value=b,T&&(g=C),x===Math.floor(l.length/2)&&(y=C)})}),u.win.setTimeout(()=>{var T;let b=u.clientHeight,x=u.clientWidth;r.y+b>e.innerHeight&&(u.style.top=`${(r.y||0)-b}px`),r.x+x>e.innerWidth&&(u.style.left=`${(r.x||0)-x}px`),(T=g||y)==null||T.scrollIntoView({block:"center",inline:"nearest"}),u.addEventListener("click",c),e.document.body.addEventListener("click",d),e.document.addEventListener("keydown",f)})})}function cs({stateManager:e,boardModifiers:t,item:r,hasTime:n,path:i}){let a=e.getSetting("time-trigger"),o=new RegExp(`(^|\\s)${Ln(a)}{([^}]+)}`);return s=>{let u=r.data.titleRaw;n?u=r.data.titleRaw.replace(o,`$1${a}{${s}}`):u=`${r.data.titleRaw} ${a}{${s}}`,e.updateItemContent(r,u).then(l=>{t.updateItem(i,l)}).catch(l=>{e.setError(l),console.error(l)})}}function iv(e){let t=e.data.metadata.date,r=[];t&&(t.isSame(new Date,"day")&&r.push("is-today"),t.isAfter(new Date,"day")&&r.push("is-future"),t.isBefore(new Date,"day")&&r.push("is-past")),e.data.isComplete&&r.push("is-complete");for(let n of e.data.metadata.tags)r.push(`has-tag-${n.slice(1)}`);return r}function Vr(e,t,r,n){return e.app.fileManager.generateMarkdownLink(t,r,n)}function sS(e,t,r){return rt.htmlToMarkdown?(0,rt.htmlToMarkdown)(r):rt.MarkdownSourceView.prototype.handleDataTransfer.call({app:e.app},t)}function lS(e){return e.replace(/^\[(.*)\]\(app:\/\/obsidian.md\/(.*)\)$/,"[$1]($2)")}function Lu(e){var r;let t=e.require("electron").remote.clipboard;if(process.platform==="darwin"){if(t.has("NSFilenamesPboardType"))return((r=t.read("NSFilenamesPboardType").match(/.*<\/string>/g))==null?void 0:r.map(n=>n.replace(/|<\/string>/g,"")))||[];{let n=t.readImage("clipboard");return n.isEmpty()?[t.read("public.file-url").replace("file://","")].filter(i=>i):[{buffer:n.toPNG(),mimeType:"image/png",originalName:`Pasted image ${(0,rt.moment)().format("YYYYMMDDHHmmss")}.png`}]}}else if(t.has("CF_HDROP")){let n=t.read("CF_HDROP")||"",i=[...n].filter((o,s)=>n.charCodeAt(s)!==0).join("").replace(/\\/g,"\\"),a=i.match(/[a-zA-Z]:\\/);if(a){let o=i.indexOf(a[0]);return o!==0&&(i=i.slice(o)),i.split(a[0]).filter(s=>s).map(s=>a+s)}}else{let n=t.readImage("clipboard");return n.isEmpty()?[t.readBuffer("FileNameW").toString("ucs2").replace(RegExp(String.fromCharCode(0),"g"),"")].filter(i=>i):[{buffer:n.toPNG(),mimeType:"image/png",originalName:`Pasted image ${(0,rt.moment)().format("YYYYMMDDHHmmss")}.png`}]}return null}function cS(e){return e.split("\\").pop().split("/").pop()}async function uS(e,t,r,n){let i=await e.app.vault.getAvailablePathForAttachments(t,r,e.file),a=await e.app.vault.createBinary(i,n);return Vr(e,a,e.file.path)}async function dS(e,t){let r=Lu(t);if(!r||r.length===0)return null;let n=t.require("fs/promises"),i=t.require("path");return(await Promise.all(r.map(async a=>{if(typeof a=="string"){let s=cS(a).split("."),u=s.pop(),l=s.join("."),c=await e.app.vault.getAvailablePathForAttachments(l,u,e.file),d=e.app.vault.adapter.basePath;await n.copyFile(a,i.join(d,c)),await new Promise(p=>t.setTimeout(p,50));let f=e.app.vault.getAbstractFileByPath(c);return Vr(e,f,e.file.path)}else{let o=a.originalName.split("."),s=o.pop(),u=o.join(".");return await uS(e,u,s,a.buffer)}}))).filter(a=>a)}function av(e,t,r){return Promise.all(t.map(n=>{let i=n.name.split("."),a=i.pop(),o=i.join(".");if(r){switch(n.type){case"text/jpg":a="jpg";break;case"text/jpeg":a="jpeg";break;case"text/png":a="png";break}o="Pasted image "+(0,rt.moment)().format("YYYYMMDDHHmmss")}return new Promise((s,u)=>{let l=new FileReader;l.onload=async c=>{try{let d=await e.app.vault.getAvailablePathForAttachments(o,a,e.file),f=await e.app.vault.createBinary(d,c.target.result);s(Vr(e,f,e.file.path))}catch(d){console.error(d),u(d)}},l.readAsArrayBuffer(n)})}))}async function fS(e,t,r){let n=!t.view,i=n?e.getAView().isShiftPressed:!1,a=n?t.clipboardData:t.dataTransfer,o=n&&rt.Platform.isDesktopApp?r.require("electron").remote.clipboard:null,s=o?o.availableFormats():[];if(n){if(n&&!i&&!s.includes("text/rtf")){if(rt.Platform.isDesktopApp){let g=await dS(e,r);if(g==null?void 0:g.length)return g}let f=[],p=t.clipboardData.items;for(let g in p){let y=p[g];y.kind==="file"&&f.push(y.getAsFile())}if(f.length)return await av(e,f,!0)}}else{let f=await hc(t);if(f.length)return await av(e,f)}let u=a.getData("text/html"),l=a.getData("text/plain"),c=a.getData("text/uri-list"),d=i?l||u:sS(e,a,u);return[lS(d||c||l||u||"").trim()]}async function us(e,t,r){let n=e.app.dragManager.draggable,i=t.view?t.dataTransfer:t.clipboardData;switch(n==null?void 0:n.type){case"file":return[Vr(e,n.file,e.file.path)];case"files":return n.files.map(a=>Vr(e,a,e.file.path));case"folder":return n.file.children.map(a=>a instanceof rt.TFolder?null:Vr(e,a,e.file.path)).filter(a=>a);case"link":{let a=n.file?Vr(e,n.file,(0,rt.parseLinktext)(n.linktext).subpath):`[[${n.linktext}]]`,o=new DOMParser().parseFromString(i.getData("text/html"),"text/html").documentElement.textContent;return a=a.replace(/]]$/,`|${o}]]`).replace(/^\[[^\]].+]\(/,`[${o}](`),[a]}default:return await fS(e,t,r)}}m();function ds(e,t){let r,n,i=(...a)=>{r=a,!n&&(n=e.requestAnimationFrame(()=>{n=null,t(...r)}))};return i.cancel=()=>{!n||(e.cancelAnimationFrame(n),n=null)},i}var ov={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"};var Ci={outOfTheWay:200,minDropTime:330,maxDropTime:550},Er=`${Ci.outOfTheWay}ms ${ov.outOfTheWay}`;var ln={none:"none",fluid:`opacity ${Er}`,snap:`transform ${Er}, opacity ${Er}`,drop:e=>{let t=`${e}ms ${ov.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${Er}`,placeholder:`height ${Er}, width ${Er}, margin ${Er}, border-color ${Er}`},pS=(e,t)=>e.x===t.x&&e.y===t.y,hS={x:0,y:0},sv=e=>pS(e,hS)?void 0:`translate(${e.x}px, ${e.y}px)`,lv={moveTo:sv,drop:e=>sv(e)},mS=Ci.maxDropTime-Ci.minDropTime,cv=1500,gS=.6;function Di({position:e,destination:t,isCancel:r}){let n=di(e,t);if(n<=0)return Ci.minDropTime;if(n>=cv)return Ci.maxDropTime;let i=n/cv,a=Ci.minDropTime+mS*i,o=r?a*gS:a;return Math.round(o)}function Tn(e,t,r){e.style.getPropertyValue(t)!==r&&e.style.setProperty(t,r)}function fs(e,t){e.style.getPropertyValue(t)&&e.style.removeProperty(t)}m();m();var Mn;(function(i){i[i.TitleAsc=0]="TitleAsc",i[i.TitleDsc=1]="TitleDsc",i[i.DateAsc=2]="DateAsc",i[i.DateDsc=3]="DateDsc"})(Mn||(Mn={}));var Je={Item:"item",Lane:"lane",Board:"board",MetadataSetting:"metadata-setting",TagColorSetting:"tag-color",DateColorSetting:"date-color"},ps={accepts:[Je.Item],type:Je.Item,children:[]},kr={accepts:[Je.Lane],type:Je.Lane},hs={accepts:[],type:Je.Board},ms={accepts:[Je.MetadataSetting],type:Je.MetadataSetting,children:[]},gs={accepts:[],type:Je.TagColorSetting,children:[]},vs={accepts:[],type:Je.DateColorSetting,children:[]};function Pu(e,t,r,n,i){let a="htmldnd",o=Ae(),s=e-75,u=e+75,l=t-25,c=t+25;return{scopeId:a,entityId:`${a}-${o}`,initial:[s,l,u,c],getParentScrollState(){return on},getParentScrollShift(){return Pn},recalcInitial(){},getHitbox(){return this.initial},getPath(){return[]},getData(){return{viewId:n,type:Je.Item,id:o,content:r,accepts:[],win:i}}}}var Nu=class{constructor(t,r,n,i){this.isHTMLDragging=!1;this.dragOverTimeout=0;this.win=t,this.hitboxEntities=n,this.scrollEntities=i,this.emitter=r}getDragEventData(){return{dragEntity:this.dragEntity,dragEntityId:this.dragEntityId,dragEntityMargin:this.dragEntityMargin,dragOrigin:this.dragOrigin,dragOriginHitbox:this.dragOriginHitbox,dragPosition:this.dragPosition,primaryIntersection:this.primaryIntersection,scrollIntersection:this.scrollIntersection}}dragStart(t,r){var a;let n=(r==null?void 0:r.dataset.hitboxid)||t.currentTarget.dataset.hitboxid;if(!n)return;let i=getComputedStyle(r||t.currentTarget);this.dragEntityId=n,this.dragOrigin={x:t.pageX,y:t.pageY},this.dragPosition={x:t.pageX,y:t.pageY},this.dragEntity=this.hitboxEntities.get(n),this.dragOriginHitbox=(a=this.dragEntity)==null?void 0:a.getHitbox(),this.dragEntityMargin=[parseFloat(i.marginLeft)||0,parseFloat(i.marginTop)||0,parseFloat(i.marginRight)||0,parseFloat(i.marginBottom)||0],this.emitter.emit("dragStart",this.getDragEventData())}dragStartHTML(t,r){this.isHTMLDragging=!0;let n=Pu(t.pageX,t.pageY,[],r,t.view);this.dragEntityId=n.entityId,this.dragOrigin={x:t.pageX,y:t.pageY},this.dragPosition={x:t.pageX,y:t.pageY},this.dragEntity=n,this.dragOriginHitbox=n.getHitbox(),this.dragEntityMargin=[0,0,0,0],this.emitter.emit("dragStart",this.getDragEventData())}dragMove(t){this.dragPosition={x:t.pageX,y:t.pageY},this.emitter.emit("dragMove",this.getDragEventData()),this.calculateDragIntersect()}dragMoveHTML(t){this.dragPosition={x:t.pageX,y:t.pageY},this.emitter.emit("dragMove",this.getDragEventData()),this.calculateDragIntersect()}dragEnd(t){this.emitter.emit("dragEnd",this.getDragEventData()),this.dragEntityMargin=void 0,this.dragEntity=void 0,this.dragEntityId=void 0,this.dragOrigin=void 0,this.dragOriginHitbox=void 0,this.dragPosition=void 0,this.scrollIntersection=void 0,this.primaryIntersection=void 0}dragEndHTML(t,r,n,i){this.isHTMLDragging=!1,i||(this.dragEntity=Pu(t.pageX,t.pageY,n,r,t.view),this.emitter.emit("dragEnd",this.getDragEventData())),this.dragEntityMargin=void 0,this.dragEntity=void 0,this.dragEntityId=void 0,this.dragOrigin=void 0,this.dragOriginHitbox=void 0,this.dragPosition=void 0,this.scrollIntersection=void 0,this.primaryIntersection=void 0,i&&this.emitter.emit("dragEnd",this.getDragEventData())}onHTMLDragLeave(t){this.win.clearTimeout(this.dragOverTimeout),this.dragOverTimeout=this.win.setTimeout(t,351)}calculateDragIntersect(){if(!this.dragEntity||!this.dragPosition||!this.dragOrigin||!this.dragOriginHitbox)return;let{type:t,win:r}=this.dragEntity.getData(),n=[],i=[],a=[],o=[];if(this.hitboxEntities.forEach(l=>{let c=l.getData();r===c.win&&c.accepts.includes(t)&&(n.push(l),i.push(l.getHitbox()))}),this.scrollEntities.forEach(l=>{let c=l.getData();r===c.win&&c.accepts.includes(t)&&(a.push(l),o.push(l.getHitbox()))}),n.length===0&&a.length===0)return;let s=Rp(this.dragOriginHitbox,this.dragOrigin,this.dragPosition);this.handleScrollIntersect(s,this.dragEntity.entityId,o,a)||this.handleHitboxIntersect(s,this.dragEntity.entityId,i,n)}handleScrollIntersect(t,r,n,i){let a=(0,Fu.default)([t],n).map(s=>i[s[1]]),o=Np(a,t,r);if(this.scrollIntersection&&(!o||o[0]!==this.scrollIntersection[0])){let[s,u]=this.scrollIntersection,l=s.getData(),c=s.entityId,d=l.side;this.emitter.emit("endDragScroll",{...this.getDragEventData(),scrollEntity:s,scrollEntityId:c,scrollEntitySide:d,scrollStrength:u},c),this.scrollIntersection=void 0}if(o&&(!this.scrollIntersection||this.scrollIntersection[0]!==o[0])){let[s,u]=o,l=s.getData(),c=s.entityId,d=l.side;this.emitter.emit("beginDragScroll",{...this.getDragEventData(),scrollEntity:s,scrollEntityId:c,scrollEntitySide:d,scrollStrength:u},c),this.scrollIntersection=o}else if(o&&this.scrollIntersection&&o[0]===this.scrollIntersection[0]){let[s,u]=o,l=s.getData(),c=s.entityId,d=l.side;this.emitter.emit("updateDragScroll",{...this.getDragEventData(),scrollEntity:s,scrollEntityId:c,scrollEntitySide:d,scrollStrength:u},c),this.scrollIntersection=o}return!!o}handleHitboxIntersect(t,r,n,i){let a=(0,Fu.default)([t],n).map(s=>i[s[1]]),o=zl(a,t,r);this.primaryIntersection&&this.primaryIntersection!==o&&(this.emitter.emit("dragLeave",this.getDragEventData(),this.primaryIntersection.entityId),this.primaryIntersection=void 0),o&&this.primaryIntersection!==o&&(this.emitter.emit("dragEnter",{...this.getDragEventData(),primaryIntersection:o},o.entityId),this.primaryIntersection=o)}},Ti=e=>{e.preventDefault(),e.stopPropagation()};function Mi(e,t){let r=P.useContext(xt);P.useEffect(()=>{let n=e.current,i=t.current;if(!r||!n||!i)return;let a=s=>{if(s.defaultPrevented||s.target.dataset.ignoreDrag||s.button!==0&&s.buttons!==1)return;let u=s.view,l=["pen","touch"].includes(s.pointerType);l||(s.stopPropagation(),s.preventDefault());let c=s,d={x:s.pageX,y:s.pageY},f=!1,p=0;l&&(u.addEventListener("contextmenu",Ti,!0),p=u.setTimeout(()=>{r.dragManager.dragStart(c,n),f=!0,u.addEventListener("touchmove",Ti,{passive:!1})},500));let g=ds(u,b=>{l?f?r.dragManager.dragMove(b):di(d,{x:b.pageX,y:b.pageY})>5&&(u.clearTimeout(p),u.removeEventListener("touchmove",Ti),u.removeEventListener("contextmenu",Ti,!0),u.removeEventListener("pointermove",g),u.removeEventListener("pointerup",y),u.removeEventListener("pointercancel",y)):f?r.dragManager.dragMove(b):di(d,{x:b.pageX,y:b.pageY})>5&&(r.dragManager.dragStart(c,n),f=!0)}),y=b=>{u.clearTimeout(p),f=!1,r.dragManager.dragEnd(b),u.removeEventListener("pointermove",g),u.removeEventListener("pointerup",y),u.removeEventListener("pointercancel",y),l&&(u.removeEventListener("contextmenu",Ti,!0),u.removeEventListener("touchmove",Ti))};u.addEventListener("pointermove",g),u.addEventListener("pointerup",y),u.addEventListener("pointercancel",y)},o=s=>{s.stopPropagation()};return i.addEventListener("pointerdown",a),i.addEventListener("touchstart",o),()=>{i.removeEventListener("pointerdown",a),i.removeEventListener("touchstart",o)}},[e,t,r])}function uv(e){let t=P.useContext(xt),r=P.useCallback(i=>{t.dragManager.isHTMLDragging?(i.preventDefault(),t.dragManager.dragMoveHTML(i)):t.dragManager.dragStartHTML(i,e.getAView().id),t.dragManager.onHTMLDragLeave(()=>{t.dragManager.dragEndHTML(i,e.getAView().id,[],!0)})},[t,e]),n=P.useCallback(async i=>{t.dragManager.dragEndHTML(i,e.getAView().id,await us(e,i,activeWindow),!1)},[t,e]);return{onDragOver:r,onDrop:n}}m();var fv=me(Et());m();var dv=me(require("obsidian"));function _t({name:e,className:t}){return h("span",{"data-icon":e,className:`${B("icon")} ${t||""}`,ref:r=>{r&&(0,dv.setIcon)(r,e)}})}var pv=P.memo(function({shouldMarkItemsComplete:t,path:r,item:n,stateManager:i,boardModifiers:a}){let o=i.useSetting("show-checkboxes"),[s,u]=P.useState(!1),[l,c]=P.useState(!1);return P.useEffect(()=>{if(l){let d=f=>{f.metaKey||f.ctrlKey?u(!0):u(!1)};return window.addEventListener("keydown",d),window.addEventListener("keyup",d),()=>{window.removeEventListener("keydown",d),window.removeEventListener("keyup",d)}}},[l]),t||o?h("div",{onMouseEnter:d=>{c(!0),(d.ctrlKey||d.metaKey)&&u(!0)},onMouseLeave:()=>{c(!1),s&&u(!1)},className:B("item-prefix-button-wrapper")},o&&!s&&h("input",{onChange:()=>{a.updateItem(r,(0,fv.default)(n,{data:{$toggle:["isComplete"]}}))},type:"checkbox",className:"task-list-item-checkbox",checked:!!n.data.isComplete}),(s||!o&&t)&&h("a",{onClick:()=>{a.archiveItem(r)},className:`${B("item-prefix-button")} clickable-icon`,"aria-label":s?void 0:"Archive card"},h(_t,{name:"sheets-in-box"}))):null});m();var qy=me(require("obsidian"));m();var mv=me(require("obsidian"));m();var Ou;function hv(e){if(e.nodeName!=="TEXTAREA")return!1;if(typeof Ou=="undefined"){let t=e.doc.createElement("textarea");t.value=1,Ou=!!t.firstChild}return Ou}function Da(e,t){var i;e.focus();let r=e.doc;if(!r.execCommand("insertText",!1,t)){let a=e.selectionStart,o=e.selectionEnd;if(typeof e.setRangeText=="function")e.setRangeText(t);else{let u=r.createRange(),l=r.createTextNode(t);if(hv(e)){let c=e.firstChild;if(!c)e.appendChild(l);else{let d=0,f=null,p=null;for(;c&&(f===null||p===null);){let g=((i=c.nodeValue)==null?void 0:i.length)||0;a>=d&&a<=d+g&&u.setStart(f=c,a-d),o>=d&&o<=d+g&&u.setEnd(p=c,o-d),d+=g,c=c.nextSibling}a!==o&&u.deleteContents()}}if(hv(e)&&u.commonAncestorContainer.nodeName==="#text")u.insertNode(l);else{let c=e.value;e.value=c.slice(0,a)+t+c.slice(o)}}e.setSelectionRange(a+t.length,a+t.length);let s=r.createEvent("UIEvent");s.initEvent("input",!0,!1),e.dispatchEvent(s)}}var Ru=e=>e.charCodeAt(0)===10,gv=e=>e===" "||Ru(e);function vS(e,t,r){if(!e)throw Error("Argument 'text' should be truthy");let n=0,i=e.length;for(let a=t;a-1>-1;a--)if(Ru(e[a-1])){n=a;break}for(let a=r===void 0?t:r;a-1;a--)if(gv(e[a-1])){n=a;break}for(let a=r===void 0?t:r;a0&&e.value[a.selection.start-1]!==" ")return!1;if(a.selection.end===a.selection.start){let s=Lt(e,`${r}`);return Pt(e,{start:s.selection.end-1-a.selectedText.length,end:s.selection.end-1}),!1}let o=Lt(e,`${t}${a.selectedText}${r}`);return Pt(e,{start:o.selection.end-1-a.selectedText.length,end:o.selection.end-1}),!0}function ys(e,t,r,n){let i=On(e),a=Ii({text:i.text,selection:i.selection}),o=Pt(e,a),s=t.test(o.selectedText)?n(o.selectedText):r(o.selectedText),u=Lt(e,s);Pt(e,{start:o.selection.start,end:u.selection.end})}function bs(e,t){var r;if(t.types.includes("text/uri-list")||["file","files","link","folder"].includes((r=e.app.dragManager.draggable)==null?void 0:r.type))return"link";if(t.types.includes("text/html")||t.types.includes("text/plain"))return"copy"}async function ws(e,t,r){let n=e.clipboardData.getData("text/html"),i=e.clipboardData.types.includes("Files"),a=mv.Platform.isDesktopApp?Lu(r):null,o=n||i||(a==null?void 0:a.length)>0;o&&e.preventDefault();try{let s=await us(t,e,r);if(o){let u=e.target,l=s.join(` +`);Lt(u,l)}}catch(s){console.error(s),t.setError(s)}}m();var fd=me(require("obsidian"));m();m();var vv={};m();var yv={};m();var bv={};m();var wv={"Open as kanban board":"\xD6ffne als Kanban-Board","Create new board":"Erstelle ein neues Board","Archive completed cards in active board":"Archiviere fertiggestellte Karten im aktiven Board","Error: current file is not a Kanban board":"Fehler: Momentan ge\xF6ffnete Datei ist kein Kanban-Board","Convert empty note to Kanban":"Konvertiere leere Notiz in ein Kanban-Board","Error: cannot create Kanban, the current note is not empty":"Fehler: Kanban konnte nicht erstellt werden, momentan ge\xF6ffnete Datei ist nicht leer","New kanban board":"Neues Kanban-Board","Untitled Kanban":"Unbenanntes Kanban","Toggle between Kanban and markdown mode":"Wechsle zwischen Kanban und Markdown Modus","Open as markdown":"\xD6ffne als Markdown","Open board settings":"\xD6ffne Board-Einstellungen","Archive completed cards":"Archiviere fertiggestellte Karten","Something went wrong":"Etwas ist schief gelaufen","You may wish to open as markdown and inspect or edit the file.":"Du kannst die Datei im Markdown Modus \xF6ffnen und \xFCberpr\xFCfen oder bearbeiten.","Are you sure you want to archive all completed cards on this board?":"Bist du dir sicher, dass du alle fertiggestellten Karten des Boards archivieren m\xF6chtest?",Complete:"Fertiggestellt",Archive:"Archiv","Invalid Kanban file: problems parsing frontmatter":"Fehlerhafte Kanban Datei: Probleme beim Parsen des Frontmatters","I don't know how to interpret this line:":"Ich wei\xDF nicht, wie ich diese Zeile interpretieren soll:",Untitled:"Unbenannt","Note: No template plugins are currently enabled.":"Beachte: Keine Template-Plugins sind derzeit aktiviert.",default:"Standard","Search...":"Suche...","These settings will take precedence over the default Kanban board settings.":"Diese Einstellung wird Vorrang vor der standard Kanban-Board Einstellung haben. ","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Stelle standard Kanban-Board Einstellungen ein. Einstellungen k\xF6nnen auf einer Board-f\xFCr-Board Basis \xFCberschrieben werden.","Note template":"Notiz Vorlage","This template will be used when creating new notes from Kanban cards.":"Diese Vorlage wird beim Erstellen neuer Notizen aus Kanban-Karten verwendet.","No template":"Keine Vorlage","Note folder":"Notiz Ordner","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"Notizen, welche aus einer Kanban-Karte erstellt wurden, werden in diesem Ordner platziert. Falls leer, werden die Einstellungen des Vaults verwendet.","Default folder":"Standard Ordner","Lane width":"Schienen Breite","Enter a number to set the lane width in pixels.":"Gebe ein Zahl ein, um die Schienen Breite in Pixeln einzustellen.","Maximum number of archived cards":"Maximale Anzahl archivierter Karten.","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Archivierte Karten k\xF6nnen im Markdown-Modus betrachtet werden. Diese Einstellung wird alte Karten l\xF6schen, sobald das Limit erreicht wird. Eine Einstellung von -1 setzt das Archiv auf eine unendliche Gr\xF6\xDFe.","Display card checkbox":"Zeige Karten Checkbox","When toggled, a checkbox will be displayed with each card":"Wenn aktiviert, wird eine Checkbox mit jeder Karte angezeigt.","Reset to default":"Zur\xFCcksetzen","Date & Time":"Datum & Uhrzeit","Date trigger":"Datums Ausl\xF6ser","When this is typed, it will trigger the date selector":"Wenn dies eingegeben wird, dann wird die Datumsauswahl angezeigt","Time trigger":"Uhrzeit Ausl\xF6ser","When this is typed, it will trigger the time selector":"Wenn dies eingegeben wird, dann wird die Uhrzeitsauswahl angezeigt","Date format":"Format des Datums","This format will be used when saving dates in markdown.":"Dieses Format wird verwendet, wenn ein Datum in Markdown gespeichert wird.","For more syntax, refer to":"F\xFCr mehr Syntax Informationen siehe","format reference":"Formatvorlage","Your current syntax looks like this":"Dein momentanes Format sieht so aus","Time format":"Format der Uhrzeit","Date display format":"Format der Datums Anzeige","This format will be used when displaying dates in Kanban cards.":"Dieses Format wird verwendet, wenn ein Datum in einer Kanban-Karte angezeigt wird.","Show relative date":"Zeige relatives Datum","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"Wenn aktiviert, wird die Zeitspanne zwischen Heute und dem Datum angezeigt. Zum Beispiel: 'In 3 Tagen', 'Vor einem Monat'","Hide card display dates":"Verstecke Karten Datum","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"Wenn aktiviert, werden formatierte Daten nicht auf der Karte angezeigt. Relative Daten werden dennoch angezeigt, solange sie aktiviert sind.","Hide dates in card titles":"Verstecke Daten im Titel der Karte","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"Wenn aktiviert, werden Daten nicht im Titel der Karte angezeigt. Dies verhindert, dass Daten im Titel neu erstellter Notizen vorhanden sind.","Link dates to daily notes":"Verbinde Daten zu Daily Notes","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"Wenn aktiviert, werden Daten mit Daily Notes verbunden. Zum Beispiel [[26.4.2021]]","Add date and time to archived cards":"F\xFCge Datum und Uhrzeit zu archivierten Notizen hinzu","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"Wenn aktiviert, wird das momentane Datum und die momentane Zeit am Anfang einer Karte hinzugef\xFCgt, wenn sie archiviert wird. Zum Beispiel: - [ ] 14.05.2021 10:00 Mein Karten Titel","Archive date/time separator":"Datum/Uhrzeit Trenner f\xFCr das Archiv","This will be used to separate the archived date/time from the title":"Dies wird verwendet, um das Datum und die Uhrzeit archivierter Karten vom Titel zu trennen","Archive date/time format":"Format des Datums und der Uhrzeit f\xFCr das Archiv","Kanban Plugin":"Kanban Erweiterung","New line trigger":"Taste f\xFCr neue Zeile","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lanes.":"W\xE4hle aus ob Enter oder Umschalttaste+Enter eine neue Zeile erstellen soll. Das Gegenteil kannst du verwenden um die Karte zu erstellen oder das bearbeiten der Karte oder Schiene zu beenden.","Shift + Enter":"Umschalttaste + Enter",Enter:"Enter","Prepend / append new cards":"Neue Karten voranf\xFCgen / anh\xE4ngen","This setting controls whether new cards are added to the beginning or end of the list.":"Diese Einstellung gibt an ob neue Karten am Anfang oder am Ende einer Liste hinzugef\xFCgt werden.",Prepend:"Voranf\xFCgen",Append:"Anh\xE4ngen","Hide tags in card titles":"Ausblenden von Tags in Kartentiteln","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"Ist diese Einstellung an, so werden Tags im Kartentitel nicht angezeigt. Dadurch wird verhindert, dass Tags beim Erstellen neuer Notizen in den Titel aufgenommen werden.","Hide card display tags":"Ausblenden von Kartenanzeige-Tags","When toggled, tags will not be displayed below the card title.":"Ist diese Einstellung an, werden Tags nicht unter dem Kartentitel angezeigt.","Linked Page Metadata":"Metadaten f\xFCr verkn\xFCpfte (verlinkte) Notizen","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"Zeigen Sie Metadaten f\xFCr die erste Notiz an, die innerhalb einer Karte verkn\xFCpft ist. Geben Sie an, welche Metadatenschl\xFCssel unten angezeigt werden sollen. Ein optionales Label kann hinzugef\xFCgt werden, es kann aber auch vollst\xE4ndig ausgeblendet werden.","Metadata key":"Metadatenschl\xFCssel","Display label":"Anzeigelabel","Hide label":"Label ausblenden","Drag to rearrange":"Zum Neuanordnen ziehen",Delete:"L\xF6schen","Add key":"Schl\xFCssel hinzuf\xFCgen","Field contains markdown":"Feld beinhaltet Markdown","More options":"Mehr optionen",Cancel:"Abbrechen",today:"heute",yesterday:"gestern",tomorrow:"morgen","Change date":"Ver\xE4ndere Datum","Change time":"Ver\xE4ndere Uhrzeit","Card title...":"Karten Titel...","Add card":"Karte hinzuf\xFCgen","Add a card":"F\xFCge eine Karte hinzu","Edit card":"Karte editieren","New note from card":"Neue Notiz aus Karte erstellen","Archive card":"Karte archivieren","Delete card":"Karte l\xF6schen","Edit date":"Datum editieren","Add date":"Datum hinzuf\xFCgen","Remove date":"Datum entfernen","Edit time":"Karte editieren","Add time":"Uhrzeit hinzuf\xFCgen","Remove time":"Uhrzeit entfernen","Duplicate card":"Karte duplizieren","Enter list title...":"Listen Titel eingeben..","Mark cards in this list as complete":"Markiere Karten in dieser Liste als fertiggestellt","Add list":"Liste hinzuf\xFCgen","Add a list":"F\xFCge eine Liste hinzu","Move list":"Liste verschieben",Close:"Schlie\xDFen","Are you sure you want to delete this list and all its cards?":"Bist du dir sicher, dass du diese Liste und alle ihre Karten l\xF6schen m\xF6chtest?","Yes, delete list":"Ja, l\xF6sche diese Liste","Are you sure you want to archive this list and all its cards?":"Bist du dir sicher, dass du diese Liste und alle ihre Karten archivieren m\xF6chtest?","Yes, archive list":"Ja, archiviere diese Liste","Are you sure you want to archive all cards in this list?":"Bist du dir sicher, dass du alle Karten in dieser Liste archivieren m\xF6chtest?","Yes, archive cards":"Ja, archiviere Karten","Edit list":"Editiere Liste","Archive cards":"Archiviere Karten","Archive list":"Archiviere List","Delete list":"L\xF6sche Liste"};m();var Hu={"Open as kanban board":"Open as kanban board","Create new board":"Create new board","Archive completed cards in active board":"Archive completed cards in active board","Error: current file is not a Kanban board":"Error: current file is not a Kanban board","Convert empty note to Kanban":"Convert empty note to Kanban","Error: cannot create Kanban, the current note is not empty":"Error: cannot create Kanban, the current note is not empty","New kanban board":"New kanban board","Untitled Kanban":"Untitled Kanban","Toggle between Kanban and markdown mode":"Toggle between Kanban and markdown mode","Open as markdown":"Open as markdown","Open board settings":"Open board settings","Archive completed cards":"Archive completed cards","Something went wrong":"Something went wrong","You may wish to open as markdown and inspect or edit the file.":"You may wish to open as markdown and inspect or edit the file.","Are you sure you want to archive all completed cards on this board?":"Are you sure you want to archive all completed cards on this board?",Complete:"Complete",Archive:"Archive","Invalid Kanban file: problems parsing frontmatter":"Invalid Kanban file: problems parsing frontmatter","I don't know how to interpret this line:":"I don't know how to interpret this line:",Untitled:"Untitled","Note: No template plugins are currently enabled.":"Note: No template plugins are currently enabled.",default:"default","Search...":"Search...","New line trigger":"New line trigger","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.":"Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.","Shift + Enter":"Shift + Enter",Enter:"Enter","Prepend / append new cards":"Prepend / append new cards","This setting controls whether new cards are added to the beginning or end of the list.":"This setting controls whether new cards are added to the beginning or end of the list.",Prepend:"Prepend","Prepend (compact)":"Prepend (compact)",Append:"Append","These settings will take precedence over the default Kanban board settings.":"These settings will take precedence over the default Kanban board settings.","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.","Note template":"Note template","This template will be used when creating new notes from Kanban cards.":"This template will be used when creating new notes from Kanban cards.","No template":"No template","Note folder":"Note folder","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.","Default folder":"Default folder","List width":"List width","Enter a number to set the list width in pixels.":"Enter a number to set the list width in pixels.","Maximum number of archived cards":"Maximum number of archived cards","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.","Display card checkbox":"Display card checkbox","When toggled, a checkbox will be displayed with each card":"When toggled, a checkbox will be displayed with each card","Reset to default":"Reset to default","Date & Time":"Date & Time","Date trigger":"Date trigger","When this is typed, it will trigger the date selector":"When this is typed, it will trigger the date selector","Time trigger":"Time trigger","When this is typed, it will trigger the time selector":"When this is typed, it will trigger the time selector","Date format":"Date format","This format will be used when saving dates in markdown.":"This format will be used when saving dates in markdown.","For more syntax, refer to":"For more syntax, refer to","format reference":"format reference","Your current syntax looks like this":"Your current syntax looks like this","Time format":"Time format","Date display format":"Date display format","This format will be used when displaying dates in Kanban cards.":"This format will be used when displaying dates in Kanban cards.","Show relative date":"Show relative date","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'","Hide card display dates":"Hide card display dates","Hide card counts in list titles":"Hide card counts in list titles","When toggled, card counts are hidden from the list title":"When toggled, card counts are hidden from the list title","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.","Hide dates in card titles":"Hide dates in card titles","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.","Link dates to daily notes":"Link dates to daily notes","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"When toggled, dates will link to daily notes. Eg. [[2021-04-26]]","Add date and time to archived cards":"Add date and time to archived cards","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title","Archive date/time separator":"Archive date/time separator","This will be used to separate the archived date/time from the title":"This will be used to separate the archived date/time from the title","Archive date/time format":"Archive date/time format","Kanban Plugin":"Kanban Plugin","Hide tags in card titles":"Hide tags in card titles","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.","Hide card display tags":"Hide card display tags","When toggled, tags will not be displayed below the card title.":"When toggled, tags will not be displayed below the card title.","Display tag colors":"Display tag colors","Set colors for the tags displayed below the card title.":"Set colors for the tags displayed below the card title.","Linked Page Metadata":"Linked Page Metadata","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.","Board Header Buttons":"Board Header Buttons","Calendar: first day of week":"Calendar: first day of week","Override which day is used as the start of the week":"Override which day is used as the start of the week",Sunday:"Sunday",Monday:"Monday",Tuesday:"Tuesday",Wednesday:"Wednesday",Thursday:"Thursday",Friday:"Friday",Saturday:"Saturday","Background color":"Background color",Tag:"Tag","Text color":"Text color","Date is":"Date is",Today:"Today","After now":"After now","Before now":"Before now","Between now and":"Between now and","Display date colors":"Display date colors","Set colors for the date displayed below the card based on the rules below":"Set colors for the date displayed below the card based on the rules below","Add date color":"Add date color","Metadata key":"Metadata key","Display label":"Display label","Hide label":"Hide label","Drag to rearrange":"Drag to rearrange",Delete:"Delete","Add key":"Add key","Field contains markdown":"Field contains markdown","Add tag color":"Add tag color","More options":"More options",Cancel:"Cancel",today:"today",yesterday:"yesterday",tomorrow:"tomorrow","Change date":"Change date","Change time":"Change time","Card title...":"Card title...","Add card":"Add card","Add a card":"Add a card","Edit card":"Edit card","New note from card":"New note from card","Archive card":"Archive card","Delete card":"Delete card","Edit date":"Edit date","Add date":"Add date","Remove date":"Remove date","Edit time":"Edit time","Add time":"Add time","Remove time":"Remove time","Duplicate card":"Duplicate card","Split card":"Split card","Copy link to card":"Copy link to card","Insert card before":"Insert card before","Insert card after":"Insert card after","Add label":"Add label","Move to top":"Move to top","Move to bottom":"Move to bottom","Enter list title...":"Enter list title...","Mark cards in this list as complete":"Mark cards in this list as complete","Add list":"Add list","Add a list":"Add a list","Move list":"Move list",Close:"Close","Are you sure you want to delete this list and all its cards?":"Are you sure you want to delete this list and all its cards?","Yes, delete list":"Yes, delete list","Are you sure you want to archive this list and all its cards?":"Are you sure you want to archive this list and all its cards?","Yes, archive list":"Yes, archive list","Are you sure you want to archive all cards in this list?":"Are you sure you want to archive all cards in this list?","Yes, archive cards":"Yes, archive cards","Edit list":"Edit list","Archive cards":"Archive cards","Archive list":"Archive list","Delete list":"Delete list","Insert list before":"Insert list before","Insert list after":"Insert list after","Sort by card text":"Sort by card text","Sort by date":"Sort by date","Unable to find":"Unable to find","Open in default app":"Open in default app",Submit:"Submit"};m();var Ev={};m();var kv={};m();var xv={};m();var Sv={};m();var _v={"Open as kanban board":"Apri come bacheca Kanban","Create new board":"Crea nuova bacheca","Archive completed cards in active board":"Archivia schede completate nella bacheca attiva","Error: current file is not a Kanban board":"Errore: il file corrente non \xE8 una bacheca Kanban","Convert empty note to Kanban":"Converti nota vuota in Kanban","Error: cannot create Kanban, the current note is not empty":"Errore: Impossibile creare Kanban, la nota corrente non \xE8 vuota","New kanban board":"Nuova bacheca Kanban","Untitled Kanban":"Kanban senza titolo","Open as markdown":"Apri come markdown","Open board settings":"Apri impostazioni bacheca","Archive completed cards":"Archivia schede completate",Complete:"Completato",Archive:"Archivio","Note: No template plugins are currently enabled.":"Nota: Nessun plugin dei modelli attualmente abilitato.",default:"predefinito","Search...":"Ricerca...","These settings will take precedence over the default Kanban board settings.":"Queste impostazioni avranno la precedenza sulle impostazioni predefinite della bacheca Kanban.","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Impostazioni predefinite della bacheca Kanban. Le impostazioni possono essere sovrascritte per ogni bacheca.","Note template":"Nota modello","This template will be used when creating new notes from Kanban cards.":"Questo modello verr\xE0 utilizzato durante la creazione di nuove note dalle schede Kanban.","No template":"Nessun modello","Note folder":"Cartella delle note","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"Le note create dalle schede Kanban verranno inserite in questa cartella. Se vuota, verranno inserite nella posizione predefinita del vault.","Default folder":"Cartella predefinita","Lane width":"Larghezza colonna","Enter a number to set the lane width in pixels.":"Inserire un numero per impostare la larghezza della colonna in pixel.","Maximum number of archived cards":"Numero massimo di schede archiviate","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Le schede archiviate possono essere visualizzate in modalit\xE0 Markdown. Le vecchie schede verranno rimosse una volta raggiunto il limite. Impostando il valore -1 il numero di schede archiviate sar\xE0 illimitato.","Display card checkbox":"Mostra casella di controllo","When toggled, a checkbox will be displayed with each card":"Se attiva, verr\xE0 visualizzata una casella di controllo per ogni scheda","Reset to default":"Ripristina predefiniti","Date & Time":"Data e ora","Date trigger":"Selettore data","When this is typed, it will trigger the date selector":"Digitando questo, verr\xE0 attivato il selettore della data","Time trigger":"Selettore ora","When this is typed, it will trigger the time selector":"Digitando questo, verr\xE0 attivato il selettore dell'ora","Date format":"Formato data","This format will be used when saving dates in markdown.":"Formato utilizzato per il salvataggio delle date in Markdown.","For more syntax, refer to":"Per maggiori informazioni, vedere","format reference":"formato di riferimento","Your current syntax looks like this":"Formato corrente","Time format":"Formato ora","Date display format":"Formato visualizzazione data","This format will be used when displaying dates in Kanban cards.":"Formato utilizzato per visualizzare le date nelle schede Kanban.","Show relative date":"Mostra data relativa","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"Se attiva, le schede indicheranno la distanza tra la data odierna e la data della scheda. eg. 'Tra 3 giorni', 'Un mese fa'","Hide card display dates":"Hide card display dates","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"Se attiva, la data non verr\xE0 mostrata sulla scheda. Le date relative verranno comunque mostrate se sono state abilitate.","Hide dates in card titles":"Nascondi date nei titoli delle schede","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"Se attiva, la data non verr\xE0 mostrata nei titoli delle schede. Questo impedisce alle date di essere incluse quando vengono create nuove note.","Link dates to daily notes":"Collega date alle Note del giorno","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"Se attiva, le date verranno collegate alle Note del giorno. Eg. [[2021-04-26]]","Add date and time to archived cards":"Aggiungi data e ora alle schede archiviate","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"Se attiva, la data e l'ora corrente verranno aggiunte all'inizio della scheda quando viene archiviata. Eg. - [ ] 2021-05-14 10:00am Mia scheda","Archive date/time separator":"Separatore data/ora dell'archivio","This will be used to separate the archived date/time from the title":"Verr\xE0 usato per separare data e ora dell'archiviazione dal titolo","Archive date/time format":"Formato data/ora dell'archivio","Kanban Plugin":"Plugin Kanban","More options":"Altre opzioni",Cancel:"Annulla",today:"oggi",yesterday:"ieri",tomorrow:"domani","Change date":"Modifica data","Change time":"Modifica ora","Card title...":"Titolo elemento...","Add card":"Aggiungi elemento","Add a card":"Aggiungi un'altra scheda","Edit card":"Modifica scheda","New note from card":"Nuova nota da scheda","Archive card":"Archivia scheda","Delete card":"Elimina scheda","Edit date":"Modifica data","Add date":"Aggiungi data","Remove date":"Rimuovi data","Edit time":"Modifica ora","Add time":"Aggiungi ora","Remove time":"Rimuovi ora","Enter list title...":"Inserisci titolo lista...","Mark cards in this list as complete":"Segna elementi della lista come completati","Add list":"Aggiungi lista","Add a list":"Aggiungi un'altra lista","Move list":"Sposta lista",Close:"Chiudi","Are you sure you want to delete this list and all its cards?":"Cancellare questa lista e tutte le sue schede?","Yes, delete list":"Cancella lista","Are you sure you want to archive this list and all its cards?":"Archiviare questa lista e tutte le sue schede?","Yes, archive list":"Archivia lista","Are you sure you want to archive all cards in this list?":"Archiviare tutte le schede in questa lista?","Yes, archive cards":"Archivia schede","Edit list":"Modifica lista","Archive cards":"Archivia schede","Archive list":"Archivia lista","Delete list":"Cancella lista"};m();var Cv={"Open as kanban board":"\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u3068\u3057\u3066\u958B\u304F","Create new board":"\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u3092\u65B0\u898F\u4F5C\u6210","Archive completed cards in active board":"\u30A2\u30AF\u30C6\u30A3\u30D6\u30DC\u30FC\u30C9\u306E\u5B8C\u4E86\u3057\u305F\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Error: current file is not a Kanban board":"\u30A8\u30E9\u30FC: \u73FE\u5728\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u3067\u306F\u3042\u308A\u307E\u305B\u3093","Convert empty note to Kanban":"\u7A7A\u306E\u30CE\u30FC\u30C8\u3092\u30AB\u30F3\u30D0\u30F3\u306B\u5909\u63DB","Error: cannot create Kanban, the current note is not empty":"\u30A8\u30E9\u30FC: \u73FE\u5728\u958B\u3044\u3066\u3044\u308B\u30CE\u30FC\u30C8\u306F\u7A7A\u3067\u3042\u308A\u3001\u30AB\u30F3\u30D0\u30F3\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093","New kanban board":"\u65B0\u898F\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9","Untitled Kanban":"\u7121\u984C\u306E\u30AB\u30F3\u30D0\u30F3","Toggle between Kanban and markdown mode":"\u30AB\u30F3\u30D0\u30F3\u3068\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u306E\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u308B","Open as markdown":"\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3068\u3057\u3066\u958B\u304F","Open board settings":"\u30DC\u30FC\u30C9\u8A2D\u5B9A\u3092\u958B\u304F","Archive completed cards":"\u5B8C\u4E86\u3057\u305F\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Something went wrong":"\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F","You may wish to open as markdown and inspect or edit the file.":"\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3068\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u8ABF\u67FB\u3059\u308B\u304B\u7DE8\u96C6\u3059\u308B\u3053\u3068\u3092\u304A\u3059\u3059\u3081\u3057\u307E\u3059\u3002","Are you sure you want to archive all completed cards on this board?":"\u3053\u306E\u30DC\u30FC\u30C9\u306B\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u5B8C\u4E86\u3057\u305F\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059\u304B\uFF1F",Complete:"\u5B8C\u4E86",Archive:"\u30A2\u30FC\u30AB\u30A4\u30D6","Invalid Kanban file: problems parsing frontmatter":"\u7121\u52B9\u306A\u30AB\u30F3\u30D0\u30F3\u30D5\u30A1\u30A4\u30EB: \u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306E\u30D1\u30FC\u30B9\u306B\u554F\u984C\u304C\u3042\u308A\u307E\u3059","I don't know how to interpret this line:":"\u3053\u306E\u884C\u3092\u3069\u3046\u89E3\u91C8\u3059\u308C\u3070\u3088\u3044\u304B\u5206\u304B\u308A\u307E\u305B\u3093",Untitled:"\u7121\u984C","Note: No template plugins are currently enabled.":"\u30CE\u30FC\u30C8: \u73FE\u5728\u3001\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u7121\u52B9\u5316\u3055\u308C\u3066\u3044\u307E\u3059",default:"\u30C7\u30D5\u30A9\u30EB\u30C8","Search...":"\u691C\u7D22\u2026","New line trigger":"\u6539\u884C\u30C8\u30EA\u30AC\u30FC","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lanes.":"\u6539\u884C\u306B\u4F7F\u3046\u30AD\u30FC\u3068\u3057\u3066Enter\u304BShift+Enter\u306E\u3069\u3061\u3089\u3092\u4F7F\u3046\u304B\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u9078\u629E\u3057\u306A\u304B\u3063\u305F\u65B9\u306E\u30AD\u30FC\u306F\u30AB\u30FC\u30C9\u3068\u30EC\u30FC\u30F3\u306E\u4F5C\u6210\u3068\u7DE8\u96C6\u5B8C\u4E86\u306E\u30C8\u30EA\u30AC\u30FC\u3068\u306A\u308A\u307E\u3059\u3002","Shift + Enter":"Shift + Enter",Enter:"Enter","Prepend / append new cards":"\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306B\u65B0\u898F\u30AB\u30FC\u30C9\u3092\u8FFD\u52A0\u3059\u308B","This setting controls whether new cards are added to the beginning or end of the list.":"\u3053\u306E\u8A2D\u5B9A\u306B\u3088\u3063\u3066\u65B0\u898F\u30AB\u30FC\u30C9\u3092\u30EA\u30B9\u30C8\u306E\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306B\u8FFD\u52A0\u3059\u308B\u304B\u3092\u6C7A\u3081\u307E\u3059\u3002",Prepend:"\u5148\u982D\u306B\u8FFD\u52A0","Prepend (compact)":"\u5148\u982D\u306B\u8FFD\u52A0(\u30B3\u30F3\u30D1\u30AF\u30C8)",Append:"\u672B\u5C3E\u306B\u8FFD\u52A0","These settings will take precedence over the default Kanban board settings.":"\u3053\u308C\u3089\u306E\u8A2D\u5B9A\u306F\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30AB\u30F3\u30D0\u30F3\u8A2D\u5B9A\u3088\u308A\u512A\u5148\u3055\u308C\u307E\u3059\u3002","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u8A2D\u5B9A\u3092\u30BB\u30C3\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u8A2D\u5B9A\u306F\u30DC\u30FC\u30C9\u6BCE\u306B\u4E0A\u66F8\u304D\u3067\u304D\u307E\u3059\u3002","Note template":"\u30CE\u30FC\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8","This template will be used when creating new notes from Kanban cards.":"\u3053\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306F\u30AB\u30F3\u30D0\u30F3\u30AB\u30FC\u30C9\u304B\u3089\u30CE\u30FC\u30C8\u3092\u65B0\u898F\u4F5C\u6210\u3057\u305F\u969B\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","No template":"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u3042\u308A\u307E\u305B\u3093","Note folder":"\u30CE\u30FC\u30C8\u30D5\u30A9\u30EB\u30C0","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"\u30AB\u30F3\u30D0\u30F3\u30AB\u30FC\u30C9\u304B\u3089\u4F5C\u6210\u3055\u308C\u305F\u30CE\u30FC\u30C8\u306F\u3053\u306E\u30D5\u30A9\u30EB\u30C0\u5185\u306B\u7F6E\u304B\u308C\u307E\u3059\u3002\u30D6\u30E9\u30F3\u30AF\u306E\u5834\u5408\u306B\u306F\u3001\u3053\u306E\u4FDD\u7BA1\u5EAB\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u7F6E\u304B\u308C\u307E\u3059\u3002","Default folder":"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D5\u30A9\u30EB\u30C0","Lane width":"\u30EC\u30FC\u30F3\u306E\u5E45","Enter a number to set the lane width in pixels.":"\u30EC\u30FC\u30F3\u306E\u5E45\u3092\u30D4\u30AF\u30BB\u30EB\u5358\u4F4D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Maximum number of archived cards":"\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u30AB\u30FC\u30C9\u306E\u6700\u5927\u6570","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u30AB\u30FC\u30C9\u306F\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u30E2\u30FC\u30C9\u3067\u95B2\u89A7\u3067\u304D\u307E\u3059\u3002\u3053\u306E\u8A2D\u5B9A\u306B\u3088\u308A\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u9650\u754C\u6570\u307E\u3067\u9054\u3057\u305F\u969B\u306B\u306F\u53E4\u3044\u30AB\u30FC\u30C9\u3092\u524A\u9664\u3057\u307E\u3059\u3002\u3053\u306E\u5024\u3092-1\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u30DC\u30FC\u30C9\u306E\u30A2\u30FC\u30AB\u30A4\u30D6\u9650\u754C\u3092\u7121\u9650\u306B\u3057\u307E\u3059\u3002","Display card checkbox":"\u30AB\u30FC\u30C9\u306E\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u3092\u8868\u793A","When toggled, a checkbox will be displayed with each card":"\u6709\u52B9\u5316\u3059\u308B\u3068\u5404\u30AB\u30FC\u30C9\u306E\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002","Reset to default":"\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u30EA\u30BB\u30C3\u30C8","Date & Time":"\u65E5\u4ED8\u3068\u6642\u9593","Date trigger":"\u65E5\u4ED8\u30C8\u30EA\u30AC\u30FC","When this is typed, it will trigger the date selector":"\u3053\u306E\u8A2D\u5B9A\u306B\u5165\u529B\u3055\u308C\u305F\u6587\u5B57\u5217\u3067\u65E5\u4ED8\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u30C8\u30EA\u30AC\u30FC\u3057\u307E\u3059\u3002","Time trigger":"\u6642\u9593\u30C8\u30EA\u30AC\u30FC","When this is typed, it will trigger the time selector":"\u3053\u306E\u8A2D\u5B9A\u306B\u5165\u529B\u3055\u308C\u305F\u6587\u5B57\u5217\u3067\u6642\u9593\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u30C8\u30EA\u30AC\u30FC\u3057\u307E\u3059\u3002","Date format":"\u65E5\u4ED8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","This format will be used when saving dates in markdown.":"\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306F\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3067\u65E5\u4ED8\u304C\u4FDD\u5B58\u3055\u308C\u308B\u969B\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","For more syntax, refer to":"\u30B7\u30F3\u30BF\u30C3\u30AF\u30B9\u306B\u3064\u3044\u3066\u306F\u3053\u3061\u3089\u3092\u53C2\u7167:","format reference":"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u30EA\u30D5\u30A1\u30EC\u30F3\u30B9","Your current syntax looks like this":"\u73FE\u5728\u306E\u30B7\u30F3\u30BF\u30C3\u30AF\u30B9\u306F\u6B21\u306E\u3088\u3046\u306B\u898B\u3048\u307E\u3059","Time format":"\u6642\u9593\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","Date display format":"\u65E5\u4ED8\u8868\u793A\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","This format will be used when displaying dates in Kanban cards.":"\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306F\u30AB\u30F3\u30D0\u30F3\u30AB\u30FC\u30C9\u5185\u306B\u3066\u65E5\u4ED8\u306E\u8868\u793A\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","Show relative date":"\u76F8\u5BFE\u65E5\u4ED8\u3092\u8868\u793A","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u306E\u65E5\u4ED8\u3068\u4ECA\u65E5\u306E\u9593\u306E\u65E5\u6570\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4F8B: '3\u65E5\u5F8C', '1\u30F6\u6708\u524D'","Hide card display dates":"\u30AB\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u65E5\u4ED8\u3092\u96A0\u3059","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u4E0A\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3055\u308C\u305F\u65E5\u4ED8\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002\u6709\u52B9\u5316\u3055\u308C\u305F\u5834\u5408\u306B\u306F\u76F8\u5BFE\u65E5\u4ED8\u306F\u8868\u793A\u3055\u308C\u307E\u307E\u3068\u306A\u308A\u307E\u3059\u3002","Hide dates in card titles":"\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306E\u65E5\u4ED8\u3092\u96A0\u3059","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306E\u65E5\u4ED8\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002\u3053\u308C\u306F\u65B0\u898F\u30CE\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u305F\u969B\u306B\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306B\u65E5\u4ED8\u304C\u542B\u307E\u308C\u308B\u306E\u3092\u9632\u304E\u307E\u3059\u3002","Link dates to daily notes":"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u65E5\u4ED8\u3092\u30EA\u30F3\u30AF","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"\u6709\u52B9\u5316\u3059\u308B\u3068\u65E5\u4ED8\u304C\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u30EA\u30F3\u30AF\u3055\u308C\u307E\u3059\u3002 \u4F8B: [[2021-04-26]]","Add date and time to archived cards":"\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u30AB\u30FC\u30C9\u306B\u65E5\u4ED8\u3068\u6642\u9593\u3092\u8FFD\u52A0","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u304C\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u969B\u306B\u73FE\u5728\u306E\u65E5\u4ED8\u3068\u6642\u9593\u304C\u30AB\u30FC\u30C9\u306E\u6700\u521D\u306B\u8FFD\u8A18\u3055\u308C\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3059\u3002\u4F8B: - [ ] 2021-05-14 10:00am \u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB","Archive date/time separator":"\u65E5\u4ED8\u30FB\u6642\u9593\u30BB\u30D1\u30EC\u30FC\u30BF\u30FC\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","This will be used to separate the archived date/time from the title":"\u3053\u308C\u306F\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u65E5\u4ED8\u30FB\u6642\u9593\u3092\u30BF\u30A4\u30C8\u30EB\u304B\u3089\u5206\u96E2\u3059\u308B\u306E\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002","Archive date/time format":"\u65E5\u4ED8\u30FB\u6642\u9593\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Kanban Plugin":"\u30AB\u30F3\u30D0\u30F3\u30D7\u30E9\u30B0\u30A4\u30F3","Hide tags in card titles":"\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u5185\u306E\u30BF\u30B0\u3092\u96A0\u3059","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u5185\u306E\u30BF\u30B0\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002\u3053\u308C\u306F\u65B0\u898F\u30CE\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u305F\u969B\u306B\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306B\u30BF\u30B0\u304C\u542B\u307E\u308C\u308B\u306E\u3092\u9632\u304E\u307E\u3059\u3002","Hide card display tags":"\u30AB\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30BF\u30B0\u3092\u96A0\u3059","When toggled, tags will not be displayed below the card title.":"\u6709\u52B9\u5316\u3059\u308B\u3068\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u306E\u4E0B\u306E\u30BF\u30B0\u304C\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002","Linked Page Metadata":"\u30EA\u30F3\u30AF\u3055\u308C\u305F\u30DA\u30FC\u30B8\u306E\u30E1\u30BF\u30C7\u30FC\u30BF","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"\u30AB\u30FC\u30C9\u5185\u3067\u30EA\u30F3\u30AF\u3055\u308C\u3066\u3044\u308B\u6700\u521D\u306E\u30CE\u30FC\u30C8\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u4E0B\u306B\u8868\u793A\u3059\u308B\u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u30AD\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u30E9\u30D9\u30EB\u306E\u4ED8\u4E0E\u304C\u53EF\u80FD\u3067\u3042\u308A\u3001\u30E9\u30D9\u30EB\u306F\u5B8C\u5168\u306B\u975E\u8868\u793A\u306B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","Board Header Buttons":"\u30DC\u30FC\u30C9\u306E\u30D8\u30C3\u30C0\u30FC\u30DC\u30BF\u30F3","Calendar: first day of week":"\u30AB\u30EC\u30F3\u30C0\u30FC: \u9031\u306E\u59CB\u307E\u308A","Override which day is used as the start of the week":"\u9031\u306E\u59CB\u307E\u308A\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u66DC\u65E5\u3092\u5909\u66F4\u3057\u307E\u3059\u3002",Sunday:"\u65E5\u66DC\u65E5",Monday:"\u6708\u66DC\u65E5",Tuesday:"\u706B\u66DC\u65E5",Wednesday:"\u6C34\u66DC\u65E5",Thursday:"\u6728\u66DC\u65E5",Friday:"\u91D1\u66DC\u65E5",Saturday:"\u571F\u66DC\u65E5","Metadata key":"\u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u30AD\u30FC","Display label":"\u30E9\u30D9\u30EB\u3092\u8868\u793A","Hide label":"\u30E9\u30D9\u30EB\u3092\u96A0\u3059","Drag to rearrange":"\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u4E26\u3079\u66FF\u3048\u308B",Delete:"\u524A\u9664","Add key":"\u30AD\u30FC\u3092\u8FFD\u52A0","Field contains markdown":"\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u3092\u542B\u307F\u307E\u3059","More options":"\u4ED6\u306E\u30AA\u30D7\u30B7\u30E7\u30F3",Cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",today:"\u4ECA\u65E5",yesterday:"\u6628\u65E5",tomorrow:"\u660E\u65E5","Change date":"\u65E5\u4ED8\u3092\u5909\u66F4","Change time":"\u6642\u9593\u3092\u5909\u66F4","Card title...":"\u30AB\u30FC\u30C9\u30BF\u30A4\u30C8\u30EB\u2026","Add card":"\u30AB\u30FC\u30C9\u3092\u8FFD\u52A0","Add a card":"\u30AB\u30FC\u30C9\u3092\u8FFD\u52A0","Edit card":"\u30AB\u30FC\u30C9\u3092\u7DE8\u96C6","New note from card":"\u30AB\u30FC\u30C9\u304B\u3089\u30CE\u30FC\u30C8\u3092\u65B0\u898F\u4F5C\u6210","Archive card":"\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Delete card":"\u30AB\u30FC\u30C9\u3092\u524A\u9664","Edit date":"\u65E5\u4ED8\u3092\u7DE8\u96C6","Add date":"\u65E5\u4ED8\u3092\u8FFD\u52A0","Remove date":"\u65E5\u4ED8\u3092\u524A\u9664","Edit time":"\u6642\u9593\u3092\u7DE8\u96C6","Add time":"\u6642\u9593\u3092\u8FFD\u52A0","Remove time":"\u6642\u9593\u3092\u524A\u9664","Duplicate card":"\u30AB\u30FC\u30C9\u3092\u8907\u88FD","Split card":"\u30AB\u30FC\u30C9\u3092\u5206\u5272","Copy link to card":"\u30AB\u30FC\u30C9\u3078\u306E\u30EA\u30F3\u30AF\u3092\u30B3\u30D4\u30FC","Enter list title...":"\u30EA\u30B9\u30C8\u30BF\u30A4\u30C8\u30EB\u3092\u7DE8\u96C6\u2026","Mark cards in this list as complete":"\u3053\u306E\u30EA\u30B9\u30C8\u306B\u542B\u307E\u308C\u308B\u30AB\u30FC\u30C9\u3092\u5B8C\u4E86\u3068\u3057\u3066\u30DE\u30FC\u30AF\u3059\u308B","Add list":"\u30EA\u30B9\u30C8\u3092\u8FFD\u52A0","Add a list":"\u30EA\u30B9\u30C8\u3092\u8FFD\u52A0","Move list":"\u30EA\u30B9\u30C8\u3092\u79FB\u52D5",Close:"\u9589\u3058\u308B","Are you sure you want to delete this list and all its cards?":"\u3053\u306E\u30EA\u30B9\u30C8\u3068\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u30AB\u30FC\u30C9\u3092\u524A\u9664\u3057\u307E\u3059\u304B\b\uFF1F","Yes, delete list":"\u306F\u3044\u3001\u30EA\u30B9\u30C8\u3092\u524A\u9664\u3057\u307E\u3059","Are you sure you want to archive this list and all its cards?":"\u3053\u306E\u30EA\u30B9\u30C8\u3068\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059\u304B\uFF1F","Yes, archive list":"\u306F\u3044\u3001\u30EA\u30B9\u30C8\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059","Are you sure you want to archive all cards in this list?":"\u3053\u306E\u30EA\u30B9\u30C8\u306B\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059\u304B\uFF1F","Yes, archive cards":"\u306F\u3044\u3001\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u307E\u3059","Edit list":"\u30EA\u30B9\u30C8\u3092\u7DE8\u96C6","Archive cards":"\u30AB\u30FC\u30C9\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Archive list":"\u30EA\u30B9\u30C8\u3092\u30A2\u30FC\u30AB\u30A4\u30D6","Delete list":"\u30EA\u30B9\u30C8\u3092\u524A\u9664","Unable to find":"\u898B\u3064\u304B\u308A\u307E\u305B\u3093","Open in default app":"\u30C7\u30D5\u30A9\u30EB\u30C8\u30A2\u30D7\u30EA\u3067\u958B\u304F"};m();var Dv={};m();var Tv={};m();var Mv={};m();var Iv={};m();var Av={};m();var Lv={"Open as Kanban board":"Abrir como quadro Kanban","Create new board":"Criar um novo quadro","Archive completed cards in active board":"Arquivar cart\xF5es conclu\xEDdos no quadro ativo","Error: current file is not a Kanban board":"Erro: o arquivo atual n\xE3o \xE9 um quadro Kanban","Convert empty note to Kanban":"Converter nota vazia em Kanban","Error: cannot create Kanban, the current note is not empty":"Erro: n\xE3o \xE9 poss\xEDvel criar o quadro Kanban, a nota atual n\xE3o est\xE1 vazia","New Kanban board":"Novo quadro Kanban","Untitled Kanban":"Kanban sem t\xEDtulo","Toggle between Kanban and markdown mode":"Alternar entre os modos Kanban e Markdown","Open as markdown":"Abrir como markdown","Open board settings":"Abrir configura\xE7\xF5es do quadro Kanban","Archive completed cards":"Arquivar cart\xF5es conclu\xEDdos",Complete:"Conclu\xEDdo",Archive:"Arquivado","Note: No template plugins are currently enabled.":"Nota: N\xE3o h\xE1 plug-ins de modelo habilitados no momento.",default:"padr\xE3o","Search...":"Pesquisar...","These settings will take precedence over the default Kanban board settings.":"Essas configura\xE7\xF5es sobrescrever\xE3o as configura\xE7\xF5es padr\xE3o do quadro Kanban","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"Defina as configura\xE7\xF5es padr\xE3o do quadro Kanban. Cada quadro Kanban pode ter sua pr\xF3pria configura\xE7\xE3o.","Note template":"Modelo de nota","This template will be used when creating new notes from Kanban cards.":"Este modelo ser\xE1 usado quando uma nova nota Kanban for criada.","No template":"Sem modelo","Note folder":"Pasta de notas","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"As notas criadas pelos links dos cart\xF5es Kanban ser\xE3o colocadas nesta pasta. Se estiver em branco, ser\xE3o colocadas no local configurado como padr\xE3o deste cofre.","Default folder":"Pasta padr\xE3o","Lane width":"Largura das listas","Enter a number to set the lane width in pixels.":"Insira um n\xFAmero para definir a largura das listas em pixels.","Maximum number of archived cards":"Quantidade m\xE1xima de cart\xF5es arquivados","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"Os cart\xF5es arquivados podem ser vistos no modo Markdown. Esta configura\xE7\xE3o excluir\xE1 os cart\xF5es antigos assim que o limite for atingido. Inserir o valor -1 retira o limite para cart\xF5es arquivados.","Display card checkbox":"Exibe uma caixa de sele\xE7\xE3o do cart\xE3o","When toggled, a checkbox will be displayed with each card":"Quando ativada, uma caixa de sele\xE7\xE3o ser\xE1 exibida em cada cart\xE3o.","Reset to default":"Redefinir configura\xE7\xF5es padr\xE3o","Date & Time":"Data e Hora","Date trigger":"Gatilho de data","When this is typed, it will trigger the date selector":"Quando este caractere \xE9 digitado, o seletor de data \xE9 exibido.","Time trigger":"Gatilho de hora","When this is typed, it will trigger the time selector":"Quando este caractere \xE9 digitado, o seletor de hora \xE9 exibido.","Date format":"Formado da data","This format will be used when saving dates in markdown.":"Este formato ser\xE1 usado quando datas forem armazenadas no Markdown.","For more syntax, refer to":"Para mais informa\xE7\xF5es sobre esta sintaxe, consulte os","format reference":"modelos de formato.","Your current syntax looks like this":"Sua atual sintaxe est\xE1 assim","Time format":"Formato da hora","Date display format":"Formato de exibi\xE7\xE3o da data","This format will be used when displaying dates in Kanban cards.":"Este ser\xE1 o formato das datas exibido nos cart\xF5es do Kanban.","Show relative date":"Exibir datas relativas","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"Ao ativar, os cart\xF5es exibir\xE3o o intervalo de tempo entre hoje e a data do cart\xE3o: Ex.: 'Em 3 dias', 'Um m\xEAs atr\xE1s'","Hide card display dates":"Ocultar datas dos cart\xF5es","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"Ao ativar, as datas formatadas n\xE3o ser\xE3o exibidas no cart\xE3o. As datas relativas ainda ser\xE3o exibidas se estiverem ativadas.","Hide dates in card titles":"Ocultar datas dos t\xEDtulos dos cart\xF5es","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"Ao ativar, as datas ser\xE3o t\xEDtulos de cart\xF5es ocultos. Evita que datas sejam inclu\xEDdas no t\xEDtulo ao criar novas notas.","Link dates to daily notes":"Vincular datas a notas di\xE1rias","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"Ao ativar, as datas ser\xE3o vinculadas \xE0s notas di\xE1rias. Ex.: [[2021-04-26]]","Add date and time to archived cards":"Adicionar data e hora aos cart\xF5es arquivados","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"Quando ativada, a data e a hora atuais ser\xE3o adicionadas ao in\xEDcio de um cart\xE3o quando ele for arquivado. Ex.: - [] 2021-05-14 10:00 T\xEDtulo do meu cart\xE3o","Archive date/time separator":"Separador de data/hora do arquivo","This will be used to separate the archived date/time from the title":"Isso ser\xE1 usado para separar a data/hora arquivada do t\xEDtulo.","Archive date/time format":"Formato de data/hora do arquivo","Kanban Plugin":"Plugin Kanban","Hide tags in card titles":"Ocultar \u2018tags\u2019 nos t\xEDtulos dos cart\xF5es","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"Quando ativada, as \u2018tags\u2019 n\xE3o ser\xE3o exibidas nos t\xEDtulos de cartas. Isso impedir\xE1 que as \u2018tags\u2019 sejam inclu\xEDdas no t\xEDtulo ao criar novas notas.","Hide card display tags":"Ocultar \u2018tags\u2019 de exibi\xE7\xE3o de cart\xE3o","When toggled, tags will not be displayed below the card title.":"Quando ativada, as \u2018tags\u2019 n\xE3o ser\xE3o exibidas abaixo do t\xEDtulo do cart\xE3o.","Linked Page Metadata":"Metadados de p\xE1ginas 'lincadas'","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"Exibe metadados para a primeira nota 'lincada' em um cart\xE3o. Especifique abaixo quais metadados ser\xE3o exibidos. Um r\xF3tulo opcional pode ser fornecido e os r\xF3tulos podem ser ocultados completamente.","Metadata key":"Metadado","Display label":"Descri\xE7\xE3o personalizada","Hide label":"Ocultar","Drag to rearrange":"Arraste para reorganizar",Delete:"Excluir","Add key":"Adicionar metadado","More options":"Mais op\xE7\xF5es",Cancel:"Cancelar",today:"hoje",yesterday:"ontem",tomorrow:"amanh\xE3","Change date":"Alterar data","Change time":"Mudar hora","Card title...":"T\xEDtulo do item...","Add card":"Adicionar Item","Add a card":"Adicione um cart\xE3o","Edit card":"Editar cart\xE3o","New note from card":"Nova nota do cart\xE3o","Archive card":"Arquivar cart\xE3o","Delete card":"Excluir cart\xE3o","Edit date":"Editar data","Add date":"Adicionar data","Remove date":"Remover data","Edit time":"Editar hora","Add time":"Adicionar hora","Remove time":"Remover hora","Duplicate card":"Duplicate card","Enter list title...":"Insira o t\xEDtulo da lista...","Mark cards in this list as complete":"Marcar os itens nesta lista como conclu\xEDdos","Add list":"Adicionar lista","Add a list":"Adicionar uma lista","Move list":"Mover lista",Close:"Fechar","Are you sure you want to delete this list and all its cards?":"Tem certeza de que deseja excluir esta lista e todos os seus cart\xF5es?","Yes, delete list":"Sim, excluir esta lista","Are you sure you want to archive this list and all its cards?":"Tem certeza de que deseja arquivar esta lista e todos os seus cart\xF5es?","Yes, archive list":"Sim, arquivar esta lista","Are you sure you want to archive all cards in this list?":"Tem certeza de que deseja arquivar todos os cart\xF5es desta lista?","Yes, archive cards":"Sim, arquivar cart\xF5es","Edit list":"Editar lista","Archive cards":"Arquivar cart\xF5es","Archive list":"Arquivar lista","Delete list":"Excluir lista"};m();var Pv={};m();var Fv={};m();var Nv={};m();var Es={};m();var Ov={"Open as kanban board":"\u6253\u5F00\u4E3A\u770B\u677F","Create new board":"\u521B\u5EFA\u65B0\u770B\u677F","Archive completed cards in active board":"\u5728\u5F53\u524D\u770B\u677F\u4E2D\u5F52\u6863\u5DF2\u5B8C\u6210\u5361\u7247","Error: current file is not a Kanban board":"\u9519\u8BEF\uFF1A\u5F53\u524D\u6587\u4EF6\u4E0D\u662F\u770B\u677F\u6587\u4EF6","Convert empty note to Kanban":"\u8F6C\u6362\u7A7A\u767D\u7B14\u8BB0\u4E3A\u770B\u677F","Error: cannot create Kanban, the current note is not empty":"\u9519\u8BEF\uFF1A\u65E0\u6CD5\u8F6C\u6362\u5F53\u524D\u6587\u4EF6\uFF0C\u5F53\u524D\u7B14\u8BB0\u4E0D\u662F\u7A7A\u767D\u7B14\u8BB0","New kanban board":"\u65B0\u770B\u677F","Untitled Kanban":"\u672A\u547D\u540D\u770B\u677F","Toggle between Kanban and markdown mode":"\u5728\u770B\u677F\u548C Markdown \u6A21\u5F0F\u4E4B\u95F4\u8FDB\u884C\u5207\u6362","Open as markdown":"\u6253\u5F00\u4E3A Markdown \u6587\u4EF6","Open board settings":"\u6253\u5F00\u770B\u677F\u8BBE\u7F6E","Archive completed cards":"\u5F52\u6863\u5DF2\u5B8C\u6210\u5361\u7247","Something went wrong":"\u51FA\u4E86\u70B9\u95EE\u9898","You may wish to open as markdown and inspect or edit the file.":"\u4F60\u53EF\u80FD\u5E0C\u671B\u4EE5 Markdown \u65B9\u5F0F\u6253\u5F00\uFF0C\u5E76\u68C0\u67E5\u6216\u7F16\u8F91\u8BE5\u6587\u4EF6\u3002","Are you sure you want to archive all completed cards on this board?":"\u4F60\u786E\u5B9A\u8981\u5C06\u8FD9\u4E2A\u677F\u5757\u4E0A\u6240\u6709\u5DF2\u5B8C\u6210\u7684\u5361\u7247\u5F52\u6863\u5417\uFF1F",Complete:"\u5B8C\u6210",Archive:"\u5F52\u6863","Invalid Kanban file: problems parsing frontmatter":"\u65E0\u6548\u7684\u770B\u677F\u6587\u4EF6\uFF1A\u89E3\u6790 frontmatter \u65F6\u51FA\u73B0\u95EE\u9898","I don't know how to interpret this line:":"\u6211\u4E0D\u77E5\u9053\u5982\u4F55\u89E3\u8BFB\u8FD9\u53E5\u8BDD\uFF1A",Untitled:"\u672A\u547D\u540D","Note: No template plugins are currently enabled.":"\u6CE8\u610F\uFF1A\u5F53\u524D\u6CA1\u6709\u542F\u7528\u6A21\u677F\u63D2\u4EF6",default:"\u9ED8\u8BA4","Search...":"\u641C\u7D22\u2026\u2026","New line trigger":"\u6362\u884C\u89E6\u53D1\u5668","Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.":"\u9009\u62E9 Enter \u6216\u662F Shift+Enter \u6765\u521B\u5EFA\u65B0\u884C, \u672A\u9009\u7528\u7684\u5FEB\u6377\u952E\u5C06\u88AB\u7528\u4E8E\u521B\u5EFA\u5361\u7247\u548C\u5217\uFF0C\u4EE5\u53CA\u5B8C\u6210\u5361\u7247\u3001\u5217\u7684\u7F16\u8F91\u3002","Shift + Enter":"Shift + Enter",Enter:"Enter","Prepend / append new cards":"\u8FFD\u52A0\u65B0\u5361\u7247","This setting controls whether new cards are added to the beginning or end of the list.":"\u8BBE\u7F6E\u65B0\u5361\u7247\u8FFD\u52A0\u5230\u5217\u5934\u90E8\u6216\u5C3E\u90E8\u3002",Prepend:"\u5934\u90E8","Prepend (compact)":"\u5934\u90E8 (\u7D27\u51D1)",Append:"\u5C3E\u90E8","These settings will take precedence over the default Kanban board settings.":"\u5F53\u524D\u770B\u677F\u8BBE\u7F6E\u5C06\u4F1A\u8986\u76D6\u9ED8\u8BA4\u7684\u770B\u677F\u8BBE\u7F6E\u3002","Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.":"\u66F4\u6539\u9ED8\u8BA4\u7684\u770B\u677F\u8BBE\u7F6E\u3002\u4E3A\u6BCF\u4E2A\u770B\u677F\u5355\u72EC\u8FDB\u884C\u8BBE\u7F6E\u5C06\u8986\u76D6\u9ED8\u8BA4\u8BBE\u7F6E\u3002","Note template":"\u7B14\u8BB0\u6A21\u677F","This template will be used when creating new notes from Kanban cards.":"\u4ECE\u770B\u677F\u5361\u7247\u521B\u5EFA\u65B0\u7B14\u8BB0\u65F6\u4F1A\u4F7F\u7528\u8BE5\u6A21\u677F\u3002","No template":"\u6CA1\u6709\u6A21\u677F","Note folder":"\u7B14\u8BB0\u5B58\u653E\u4F4D\u7F6E","Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.":"\u4ECE\u770B\u677F\u5361\u7247\u521B\u5EFA\u7684\u7B14\u8BB0\u4F1A\u653E\u7F6E\u5230\u8BE5\u6587\u4EF6\u5939\u4E2D\u3002\u5982\u679C\u4E3A\u7A7A\uFF0C\u7B14\u8BB0\u5C06\u4F1A\u653E\u7F6E\u5230 Obsidian \u7684\u9ED8\u8BA4\u6587\u4EF6\u5B58\u653E\u4F4D\u7F6E\u3002","Default folder":"\u9ED8\u8BA4\u6587\u4EF6\u5939","List width":"\u5217\u5BBD","Enter a number to set the list width in pixels.":"\u8F93\u5165\u4E00\u4E2A\u50CF\u7D20\u503C\u6765\u8BBE\u7F6E\u5217\u7684\u5BBD\u5EA6","Maximum number of archived cards":"\u5355\u4E2A\u770B\u677F\u5185\u5DF2\u5F52\u6863\u5361\u7247\u7684\u6700\u5927\u6570\u91CF","Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.":"\u5DF2\u5F52\u6863\u5361\u7247\u53EF\u4EE5\u5728 Markdown \u6A21\u5F0F\u4E0B\u67E5\u770B\u3002\u8BE5\u8BBE\u7F6E\u5C06\u4F7F\u5DF2\u5F52\u6863\u5361\u7247\u5728\u8FBE\u5230\u6700\u5927\u6570\u91CF\u65F6\u5220\u9664\u65E7\u5361\u3002\u8BBE\u7F6E\u4E3A -1 \u53EF\u4EE5\u6C38\u4E45\u4FDD\u7559\u6240\u6709\u5F52\u6863\u5361\u7247\u3002","Display card checkbox":"\u5C55\u793A\u5361\u7247\u590D\u9009\u6846","When toggled, a checkbox will be displayed with each card":"\u6253\u5F00\u65F6\uFF0C\u590D\u9009\u6846\u4F1A\u51FA\u73B0\u5728\u6BCF\u5F20\u5361\u7247\u4E0A","Reset to default":"\u8FD8\u539F\u521D\u59CB\u8BBE\u7F6E","Date & Time":"\u65E5\u671F\u548C\u65F6\u95F4","Date trigger":"\u65E5\u671F\u89E6\u53D1\u6307\u4EE4","When this is typed, it will trigger the date selector":"\u5F53\u5728\u770B\u677F\u5361\u7247\u4E2D\u8F93\u5165\u8FD9\u4E2A\u65F6\uFF0C\u4F1A\u89E6\u53D1\u4E00\u4E2A\u65E5\u671F\u9009\u62E9\u5668","Time trigger":"\u65F6\u95F4\u89E6\u53D1\u6307\u4EE4","When this is typed, it will trigger the time selector":"\u5F53\u5728\u770B\u677F\u5361\u7247\u4E2D\u8F93\u5165\u8FD9\u4E2A\u65F6\uFF0C\u4F1A\u89E6\u53D1\u4E00\u4E2A\u65F6\u95F4\u9009\u62E9\u5668","Date format":"\u65E5\u671F\u683C\u5F0F","This format will be used when saving dates in markdown.":"\u8FD9\u4E2A\u683C\u5F0F\u4F1A\u5728\u65E5\u671F\u4FDD\u5B58\u5230 Markdown \u683C\u5F0F\u65F6\u4F7F\u7528\u3002","For more syntax, refer to":"\u66F4\u591A\u683C\u5F0F\uFF0C\u8BF7\u67E5\u770B","format reference":"\u683C\u5F0F\u53C2\u8003","Your current syntax looks like this":"\u4F60\u5F53\u524D\u8BBE\u7F6E\u7684\u683C\u5F0F\u4F1A\u662F","Time format":"\u65F6\u95F4\u683C\u5F0F","Date display format":"\u65E5\u671F\u5C55\u793A\u683C\u5F0F","This format will be used when displaying dates in Kanban cards.":"\u770B\u677F\u5361\u7247\u4F1A\u4EE5\u8BE5\u683C\u5F0F\u5C55\u793A\u65E5\u671F\u3002","Show relative date":"\u5C55\u793A\u76F8\u5BF9\u65E5\u671F","When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u4F1A\u5C55\u793A\u5176\u6240\u8BBE\u65E5\u671F\u4E0E\u5F53\u524D\u65E5\u671F\u7684\u5DEE\u503C\uFF0C\u4F8B\u5982\u201C3\u5929\u5185\u201D\u201C\u4E00\u4E2A\u6708\u524D\u201D\u7B49","Hide card display dates":"\u9690\u85CF\u5361\u7247\u65E5\u671F","Hide card counts in list titles":"\u5728\u5217\u6807\u9898\u4E0A\u9690\u85CF\u5361\u7247\u8BA1\u6570","When toggled, card counts are hidden from the list title":"\u6253\u5F00\u65F6\uFF0C\u5217\u6807\u9898\u4E0A\u7684\u5361\u7247\u8BA1\u6570\u5C06\u9690\u85CF","When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.":"\u6253\u5F00\u65F6\uFF0C\u683C\u5F0F\u5316\u65E5\u671F\u4E0D\u4F1A\u5728\u5361\u7247\u4E0A\u5C55\u793A\u3002\u5982\u679C\u5F00\u542F\u4E86\u76F8\u5BF9\u65E5\u671F\u529F\u80FD\uFF0C\u76F8\u5BF9\u65E5\u671F\u8FD8\u662F\u4F1A\u7EE7\u7EED\u5C55\u793A\u3002","Hide dates in card titles":"\u5728\u5361\u7247\u6807\u9898\u4E2D\u9690\u85CF\u65E5\u671F","When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u6807\u9898\u4E2D\u7684\u65E5\u671F\u5C06\u4F1A\u9690\u85CF\u3002\u5F53\u57FA\u4E8E\u5361\u7247\u521B\u5EFA\u65B0\u7B14\u8BB0\u65F6\u53EF\u4EE5\u907F\u514D\u65E5\u671F\u6DF7\u6742\u5176\u4E2D\u3002","Link dates to daily notes":"\u94FE\u63A5\u65E5\u671F\u5230\u65E5\u8BB0","When toggled, dates will link to daily notes. Eg. [[2021-04-26]]":"\u6253\u5F00\u65F6\uFF0C\u65E5\u671F\u4F1A\u81EA\u52A8\u94FE\u63A5\u5230\u65E5\u8BB0\u9875\u9762\uFF0C\u4F8B\u5982[[2021-04-26]]","Add date and time to archived cards":"\u6DFB\u52A0\u65E5\u671F\u548C\u65F6\u95F4\u5230\u5F52\u6863\u5361\u7247","When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title":"\u6253\u5F00\u65F6\uFF0C\u5F53\u524D\u65E5\u671F\u548C\u65F6\u95F4\u4F1A\u88AB\u6DFB\u52A0\u5230\u5F52\u6863\u5361\u7247\u7684 frontmatter \u4E0A\uFF0C\u4F8B\u5982\u201C- [ ] 2021-05-14 10:00am \u6211\u7684\u5361\u7247\u6807\u9898\u201D","Archive date/time separator":"\u5F52\u6863\u65E5\u671F\u6216\u65F6\u95F4\u5206\u9694\u7B26Archive date/time separator","This will be used to separate the archived date/time from the title":"\u7528\u4E8E\u5206\u9694\u6807\u9898\u4E0E\u5F52\u6863\u5361\u7247\u7684\u65E5\u671F\u6216\u65F6\u95F4","Archive date/time format":"\u5F52\u6863\u65E5\u671F\u6216\u65F6\u95F4\u683C\u5F0F","Kanban Plugin":"\u770B\u677F\u63D2\u4EF6","Hide tags in card titles":"\u9690\u85CF\u5361\u7247\u6807\u9898\u4E2D\u7684\u6807\u7B7E","When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u6807\u9898\u4E2D\u7684\u6807\u7B7E\u5C06\u4F1A\u88AB\u9690\u85CF\u3002\u5F53\u57FA\u4E8E\u5361\u7247\u521B\u5EFA\u65B0\u7B14\u8BB0\u65F6\u53EF\u4EE5\u907F\u514D\u6807\u7B7E\u6DF7\u6742\u5176\u4E2D\u3002","Hide card display tags":"\u9690\u85CF\u5361\u7247\u4E0A\u7684\u6807\u7B7E","When toggled, tags will not be displayed below the card title.":"\u6253\u5F00\u65F6\uFF0C\u5361\u7247\u6807\u9898\u4E0B\u65B9\u7684\u6807\u7B7E\u5C06\u4E0D\u4F1A\u5C55\u793A\u3002","Linked Page Metadata":"\u8FDE\u63A5\u7684\u9875\u9762\u5143\u6570\u636E","Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.":"\u5C55\u793A\u5361\u7247\u4E2D\u7B2C\u4E00\u4E2A\u8FDE\u63A5\u6240\u5BF9\u5E94\u7684\u7B14\u8BB0\u5143\u6570\u636E\u3002\u8BF7\u5728\u4E0B\u65B9\u6307\u5B9A\u54EA\u4E9B\u5143\u6570\u636E\u53EF\u4EE5\u5C55\u793A\u3002\u4F60\u53EF\u4EE5\u9009\u62E9\u5C55\u793A\u54EA\u4E9B\u6807\u5FD7\uFF0C\u6240\u6709\u6807\u5FD7\u90FD\u53EF\u4EE5\u88AB\u9690\u85CF\u3002","Board Header Buttons":"\u677F\u5934\u6309\u94AE","Calendar: first day of week":"\u65E5\u5386\uFF1A\u4E00\u5468\u7684\u7B2C\u4E00\u5929","Override which day is used as the start of the week":"\u8BBE\u7F6E\u54EA\u4E00\u5929\u4F5C\u4E3A\u4E00\u5468\u7684\u5F00\u59CB",Sunday:"\u5468\u65E5",Monday:"\u5468\u4E00",Tuesday:"\u5468\u4E8C",Wednesday:"\u5468\u4E09",Thursday:"\u5468\u56DB",Friday:"\u5468\u4E94",Saturday:"\u5468\u516D","Metadata key":"\u5143\u6570\u636E\u53C2\u6570\u540D","Display label":"\u5C55\u793A\u6807\u5FD7","Hide label":"\u9690\u85CF\u6807\u5FD7","Drag to rearrange":"\u62D6\u52A8\u4EE5\u91CD\u6392\u987A\u5E8F",Delete:"\u5220\u9664","Add key":"\u6DFB\u52A0\u53C2\u6570\u540D","Field contains markdown":"\u5B57\u6BB5\u5305\u542B Markdown","More options":"\u66F4\u591A\u9009\u9879",Cancel:"\u53D6\u6D88",today:"\u4ECA\u5929",yesterday:"\u6628\u5929",tomorrow:"\u660E\u5929","Change date":"\u66F4\u6539\u65E5\u671F","Change time":"\u66F4\u6539\u65F6\u95F4","Card title...":"\u5361\u7247\u6807\u9898\u2026\u2026","Add card":"\u6DFB\u52A0","Add a card":"\u6DFB\u52A0\u5361\u7247","Edit card":"\u7F16\u8F91\u5361\u7247","New note from card":"\u4ECE\u5361\u7247\u65B0\u5EFA\u7B14\u8BB0","Archive card":"\u5F52\u6863\u5361\u7247","Delete card":"\u5220\u9664\u5361\u7247","Edit date":"\u7F16\u8F91\u65E5\u671F","Add date":"\u6DFB\u52A0\u65E5\u671F","Remove date":"\u79FB\u9664\u65E5\u671F","Edit time":"\u7F16\u8F91\u65F6\u95F4","Add time":"\u6DFB\u52A0\u65F6\u95F4","Remove time":"\u79FB\u9664\u65F6\u95F4","Duplicate card":"\u590D\u5236\u5361\u7247","Split card":"\u5206\u79BB\u5361\u7247","Copy link to card":"\u590D\u5236\u94FE\u63A5\u81F3\u5361\u7247","Insert card before":"\u5728\u4E0A\u65B9\u63D2\u5165\u5361\u7247","Insert card after":"\u5728\u4E0B\u65B9\u63D2\u5165\u5361\u7247","Move to top":"\u79FB\u5230\u9876\u90E8","Move to bottom":"\u79FB\u81F3\u5E95\u90E8","Enter list title...":"\u8F93\u5165\u65B0\u7684\u5217\u6807\u9898\u2026\u2026","Mark cards in this list as complete":"\u5C06\u8BE5\u5217\u8BBE\u7F6E\u4E3A\u5B8C\u6210\u5217","Add list":"\u6DFB\u52A0","Add a list":"\u6DFB\u52A0\u5217","Move list":"\u79FB\u52A8\u5217",Close:"\u5173\u95ED","Are you sure you want to delete this list and all its cards?":"\u4F60\u786E\u5B9A\u4F60\u8981\u5220\u9664\u6574\u5217\u4EE5\u53CA\u8BE5\u5217\u4E0B\u6240\u6709\u5361\u7247\u5417\uFF1F","Yes, delete list":"\u662F\uFF0C\u5220\u9664\u5217","Are you sure you want to archive this list and all its cards?":"\u4F60\u786E\u5B9A\u4F60\u8981\u5F52\u6863\u6574\u5217\u4EE5\u53CA\u8BE5\u5217\u4E0B\u6240\u6709\u5361\u7247\u5417\uFF1F","Yes, archive list":"\u662F, \u5F52\u6863\u5217","Are you sure you want to archive all cards in this list?":"\u4F60\u786E\u8BA4\u4F60\u8981\u5F52\u6863\u5F53\u524D\u5217\u7684\u6240\u6709\u5361\u7247\u5417\uFF1F","Yes, archive cards":"\u662F\uFF0C\u5F52\u6863\u6240\u6709\u5361\u7247","Edit list":"\u7F16\u8F91\u5217","Archive cards":"\u5F52\u6863\u5361\u7247","Archive list":"\u5F52\u6863\u5217","Delete list":"\u5220\u9664\u5217","Insert list before":"\u5728\u4E0A\u65B9\u63D2\u5165\u5217","Insert list after":"\u5728\u4E0B\u65B9\u63D2\u5165\u5217","Sort by card text":"\u4EE5\u5361\u7247\u6587\u672C\u6392\u5E8F","Sort by date":"\u4EE5\u65E5\u671F\u6392\u5E8F","Unable to find":"\u65E0\u6CD5\u627E\u5230","Open in default app":"\u5728\u9ED8\u8BA4\u5E94\u7528\u4E2D\u6253\u5F00",Submit:"\u63D0\u4EA4"};m();var Rv={};var wS={ar:vv,cz:yv,da:bv,de:wv,en:Hu,es:Ev,fr:kv,hi:xv,id:Sv,it:_v,ja:Cv,ko:Dv,nl:Tv,no:Mv,pl:Iv,"pt-BR":Lv,pt:Av,ro:Pv,ru:Fv,sq:Nv,tr:Es,uk:Es,"zh-TW":Rv,zh:Ov},Hv=window.localStorage.getItem("language"),Bu=wS[Hv||"en"];function L(e){return Bu||console.error("Error: kanban locale not found",Hv),Bu&&Bu[e]||Hu[e]}m();m();function Gn(e){return Array.isArray?Array.isArray(e):$v(e)==="[object Array]"}var ES=1/0;function kS(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-ES?"-0":t}function xS(e){return e==null?"":kS(e)}function Rn(e){return typeof e=="string"}function Bv(e){return typeof e=="number"}function SS(e){return e===!0||e===!1||_S(e)&&$v(e)=="[object Boolean]"}function Kv(e){return typeof e=="object"}function _S(e){return Kv(e)&&e!==null}function un(e){return e!=null}function Ku(e){return!e.trim().length}function $v(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var CS="Incorrect 'index' type",DS=e=>`Invalid value for key ${e}`,TS=e=>`Pattern length exceeds max of ${e}.`,MS=e=>`Missing ${e} property in key`,IS=e=>`Property 'weight' in key '${e}' must be a positive integer`,Uv=Object.prototype.hasOwnProperty,Vv=class{constructor(t){this._keys=[],this._keyMap={};let r=0;t.forEach(n=>{let i=Wv(n);r+=i.weight,this._keys.push(i),this._keyMap[i.id]=i,r+=i.weight}),this._keys.forEach(n=>{n.weight/=r})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function Wv(e){let t=null,r=null,n=null,i=1,a=null;if(Rn(e)||Gn(e))n=e,t=zv(e),r=$u(e);else{if(!Uv.call(e,"name"))throw new Error(MS("name"));let o=e.name;if(n=o,Uv.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(IS(o));t=zv(o),r=$u(o),a=e.getFn}return{path:t,id:r,weight:i,src:n,getFn:a}}function zv(e){return Gn(e)?e:e.split(".")}function $u(e){return Gn(e)?e.join("."):e}function AS(e,t){let r=[],n=!1,i=(a,o,s)=>{if(!!un(a))if(!o[s])r.push(a);else{let u=o[s],l=a[u];if(!un(l))return;if(s===o.length-1&&(Rn(l)||Bv(l)||SS(l)))r.push(xS(l));else if(Gn(l)){n=!0;for(let c=0,d=l.length;ce.score===t.score?e.idx{this._keysMap[r.id]=n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,Rn(this.docs[0])?this.docs.forEach((t,r)=>{this._addString(t,r)}):this.docs.forEach((t,r)=>{this._addObject(t,r)}),this.norm.clear())}add(t){let r=this.size();Rn(t)?this._addString(t,r):this._addObject(t,r)}removeAt(t){this.records.splice(t,1);for(let r=t,n=this.size();r{let o=i.getFn?i.getFn(t):this.getFn(t,i.path);if(!!un(o)){if(Gn(o)){let s=[],u=[{nestedArrIndex:-1,value:o}];for(;u.length;){let{nestedArrIndex:l,value:c}=u.pop();if(!!un(c))if(Rn(c)&&!Ku(c)){let d={v:c,i:l,n:this.norm.get(c)};s.push(d)}else Gn(c)&&c.forEach((d,f)=>{u.push({nestedArrIndex:f,value:d})})}n.$[a]=s}else if(Rn(o)&&!Ku(o)){let s={v:o,n:this.norm.get(o)};n.$[a]=s}}}),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}};function jv(e,t,{getFn:r=_e.getFn,fieldNormWeight:n=_e.fieldNormWeight}={}){let i=new ks({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(Wv)),i.setSources(t),i.create(),i}function HS(e,{getFn:t=_e.getFn,fieldNormWeight:r=_e.fieldNormWeight}={}){let{keys:n,records:i}=e,a=new ks({getFn:t,fieldNormWeight:r});return a.setKeys(n),a.setIndexRecords(i),a}function xs(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=_e.distance,ignoreLocation:a=_e.ignoreLocation}={}){let o=t/e.length;if(a)return o;let s=Math.abs(n-r);return i?o+s/i:s?1:o}function BS(e=[],t=_e.minMatchCharLength){let r=[],n=-1,i=-1,a=0;for(let o=e.length;a=t&&r.push([n,i]),n=-1)}return e[a-1]&&a-n>=t&&r.push([n,a-1]),r}var Wr=32;function KS(e,t,r,{location:n=_e.location,distance:i=_e.distance,threshold:a=_e.threshold,findAllMatches:o=_e.findAllMatches,minMatchCharLength:s=_e.minMatchCharLength,includeMatches:u=_e.includeMatches,ignoreLocation:l=_e.ignoreLocation}={}){if(t.length>Wr)throw new Error(TS(Wr));let c=t.length,d=e.length,f=Math.max(0,Math.min(n,d)),p=a,g=f,y=s>1||u,b=y?Array(d):[],x;for(;(x=e.indexOf(t,g))>-1;){let K=xs(t,{currentLocation:x,expectedLocation:f,distance:i,ignoreLocation:l});if(p=Math.min(K,p),g=x+c,y){let z=0;for(;z=Z;Q-=1){let ie=Q-1,he=r[e.charAt(ie)];if(y&&(b[ie]=+!!he),se[Q]=(se[Q+1]<<1|1)&he,K&&(se[Q]|=(T[Q+1]|T[Q])<<1|1|T[Q+1]),se[Q]&H&&(C=xs(t,{errors:K,currentLocation:ie,expectedLocation:f,distance:i,ignoreLocation:l}),C<=p)){if(p=C,g=ie,g<=f)break;Z=Math.max(1,2*f-g)}}if(xs(t,{errors:K+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:l})>p)break;T=se}let D={isMatch:g>=0,score:Math.max(.001,C)};if(y){let K=BS(b,s);K.length?u&&(D.indices=K):D.isMatch=!1}return D}function $S(e){let t={};for(let r=0,n=e.length;r{this.chunks.push({pattern:f,alphabet:$S(f),startIndex:p})},d=this.pattern.length;if(d>Wr){let f=0,p=d%Wr,g=d-p;for(;f{let{isMatch:x,score:T,indices:C}=KS(t,g,y,{location:i+b,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:u,includeMatches:n,ignoreLocation:l});x&&(f=!0),d+=T,x&&C&&(c=[...c,...C])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&n&&(p.indices=c),p}},Qn=class{constructor(t){this.pattern=t}static isMultiMatch(t){return qv(t,this.multiRegex)}static isSingleMatch(t){return qv(t,this.singleRegex)}search(){}};function qv(e,t){let r=e.match(t);return r?r[1]:null}var Yv=class extends Qn{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){let r=t===this.pattern;return{isMatch:r,score:r?0:1,indices:[0,this.pattern.length-1]}}},Jv=class extends Qn{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){let n=t.indexOf(this.pattern)===-1;return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}},Gv=class extends Qn{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){let r=t.startsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[0,this.pattern.length-1]}}},Qv=class extends Qn{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){let r=!t.startsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}},Xv=class extends Qn{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){let r=t.endsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[t.length-this.pattern.length,t.length-1]}}},Zv=class extends Qn{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){let r=!t.endsWith(this.pattern);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}},Vu=class extends Qn{constructor(t,{location:r=_e.location,threshold:n=_e.threshold,distance:i=_e.distance,includeMatches:a=_e.includeMatches,findAllMatches:o=_e.findAllMatches,minMatchCharLength:s=_e.minMatchCharLength,isCaseSensitive:u=_e.isCaseSensitive,ignoreLocation:l=_e.ignoreLocation}={}){super(t);this._bitapSearch=new Uu(t,{location:r,threshold:n,distance:i,includeMatches:a,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:u,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}},Wu=class extends Qn{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let r=0,n,i=[],a=this.pattern.length;for(;(n=t.indexOf(this.pattern,r))>-1;)r=n+a,i.push([n,r-1]);let o=!!i.length;return{isMatch:o,score:o?0:1,indices:i}}},zu=[Yv,Wu,Gv,Qv,Zv,Xv,Jv,Vu],ey=zu.length,US=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,VS="|";function WS(e,t={}){return e.split(VS).map(r=>{let n=r.trim().split(US).filter(a=>a&&!!a.trim()),i=[];for(let a=0,o=n.length;a!!(e[Ss.AND]||e[Ss.OR]),qS=e=>!!e[Yu.PATH],YS=e=>!Gn(e)&&Kv(e)&&!Ju(e),ny=e=>({[Ss.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function ry(e,t,{auto:r=!0}={}){let n=i=>{let a=Object.keys(i),o=qS(i);if(!o&&a.length>1&&!Ju(i))return n(ny(i));if(YS(i)){let u=o?i[Yu.PATH]:a[0],l=o?i[Yu.PATTERN]:i[u];if(!Rn(l))throw new Error(DS(u));let c={keyId:$u(u),pattern:l};return r&&(c.searcher=qu(l,t)),c}let s={children:[],operator:a[0]};return a.forEach(u=>{let l=i[u];Gn(l)&&l.forEach(c=>{s.children.push(n(c))})}),s};return Ju(e)||(e=ny(e)),n(e)}function JS(e,{ignoreFieldNorm:t=_e.ignoreFieldNorm}){e.forEach(r=>{let n=1;r.matches.forEach(({key:i,norm:a,score:o})=>{let s=i?i.weight:null;n*=Math.pow(o===0&&s?Number.EPSILON:o,(s||1)*(t?1:a))}),r.score=n})}function GS(e,t){let r=e.matches;t.matches=[],!!un(r)&&r.forEach(n=>{if(!un(n.indices)||!n.indices.length)return;let{indices:i,value:a}=n,o={indices:i,value:a};n.key&&(o.key=n.key.src),n.idx>-1&&(o.refIndex=n.idx),t.matches.push(o)})}function QS(e,t){t.score=e.score}function XS(e,t,{includeMatches:r=_e.includeMatches,includeScore:n=_e.includeScore}={}){let i=[];return r&&i.push(GS),n&&i.push(QS),e.map(a=>{let{idx:o}=a,s={item:t[o],refIndex:o};return i.length&&i.forEach(u=>{u(a,s)}),s})}var mn=class{constructor(t,r={},n){this.options={..._e,...r},this.options.useExtendedSearch,this._keyStore=new Vv(this.options.keys),this.setCollection(t,n)}setCollection(t,r){if(this._docs=t,r&&!(r instanceof ks))throw new Error(CS);this._myIndex=r||jv(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){!un(t)||(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){let r=[];for(let n=0,i=this._docs.length;n-1&&(u=u.slice(0,r)),XS(u,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(t){let r=qu(t,this.options),{records:n}=this._myIndex,i=[];return n.forEach(({v:a,i:o,n:s})=>{if(!un(a))return;let{isMatch:u,score:l,indices:c}=r.searchIn(a);u&&i.push({item:a,idx:o,matches:[{score:l,value:a,norm:s,indices:c}]})}),i}_searchLogical(t){let r=ry(t,this.options),n=(s,u,l)=>{if(!s.children){let{keyId:d,searcher:f}=s,p=this._findMatches({key:this._keyStore.get(d),value:this._myIndex.getValueForItemAtKeyId(u,d),searcher:f});return p&&p.length?[{idx:l,item:u,matches:p}]:[]}let c=[];for(let d=0,f=s.children.length;d{if(un(s)){let l=n(r,s,u);l.length&&(a[u]||(a[u]={idx:u,item:s,matches:[]},o.push(a[u])),l.forEach(({matches:c})=>{a[u].matches.push(...c)}))}}),o}_searchObjectList(t){let r=qu(t,this.options),{keys:n,records:i}=this._myIndex,a=[];return i.forEach(({$:o,i:s})=>{if(!un(o))return;let u=[];n.forEach((l,c)=>{u.push(...this._findMatches({key:l,value:o[c],searcher:r}))}),u.length&&a.push({idx:s,item:o,matches:u})}),a}_findMatches({key:t,value:r,searcher:n}){if(!un(r))return[];let i=[];if(Gn(r))r.forEach(({v:a,i:o,n:s})=>{if(!un(a))return;let{isMatch:u,score:l,indices:c}=n.searchIn(a);u&&i.push({score:l,key:t,value:a,idx:o,norm:s,indices:c})});else{let{v:a,n:o}=r,{isMatch:s,score:u,indices:l}=n.searchIn(a);s&&i.push({score:u,key:t,value:a,norm:o,indices:l})}return i}};mn.version="6.6.2";mn.createIndex=jv;mn.parseIndex=HS;mn.config=_e;mn.parseQuery=ry;jS(ty);var Sy=me(require("obsidian"));m();var iy=me(require("obsidian"));function _s(e,t,r){let n=r.getSetting("date-format"),i=r.getSetting("link-date-to-daily-note"),a=(0,iy.moment)(e).format(n),o=i?Yo(r.app,a):`{${a}}`;Lt(t.current,o),t.current.focus()}function ay({div:e,inputRef:t,cb:r,stateManager:n}){e.createEl("input",{type:"text"},i=>{e.win.setTimeout(()=>r(as(i,{now:new Date,locale:Xo(n),inline:!0,onChange:a=>{_s(a[0],t,n)},win:i.win})))})}function Gu(e,t){let r=t.clientHeight,n=t.clientWidth,i=Ze(t);e.top+r>i.innerHeight&&(t.style.top=`${(e.clientTop||0)-r}px`),e.left+n>i.innerWidth&&(t.style.left=`${(e.left||0)-n}px`)}function oy(e){let t=e.getSetting("time-trigger"),r=new RegExp(`\\B${Ln(t)}{?([^}]*)$`),n=Au(e);return{id:"time",match:r,index:1,search:(i,a)=>{a(i?n.filter(o=>o.startsWith(i)):n)},template:i=>i,replace:i=>`${t}{${i}} `}}function sy(e){let t=e.month(),r=e.clone().startOf("month").weekday(0),n=e.diff(r,"week");e.subtract(1,"month").startOf("month").weekday(6).add(n,"week");let i=e.month();for(;t===i;)e.subtract(1,"week"),i=e.month();return e}function ly(e){let t=e.month(),r=e.clone().startOf("month").weekday(6),n=e.diff(r,"week");e.add(1,"month").startOf("month").weekday(0).add(n,"week");let i=e.month();for(;t===i;)e.add(1,"week"),i=e.month();return e}m();var cy=me(require("obsidian"));var ZS=/\B\[\[([^\]]*)$/,e_=/\B!\[\[([^\]]*)$/,t_=/\B\[\[([^#\]]+)#([^\]]*)$/,n_=/\B!\[\[([^#\]]+)#([^\]]*)$/,r_=/\B\[\[([^#\]]+)#?\^([^\]]*)$/,i_=/\B!\[\[([^#\]]+)#?\^([^\]]*)$/;function a_(e,t,r,n){let i=e.document.body.createDiv(B("file-suggestion-wrapper"));i.detach(),(0,cy.setIcon)(i.createDiv(B("file-suggestion-icon")),"lucide-forward",12),i.createDiv({},o=>{o.createDiv({cls:B("file-suggestion-title"),text:n.item.alias}),o.createDiv({cls:B("file-suggestion-subtitle"),text:t.app.metadataCache.fileToLinktext(n.item.file,r)})});let a=i.outerHTML;return i.remove(),i=null,a}function Qu(e,t,r,n,i,a,o){return{id:`link-${o?"embed":"normal"}`,match:o?e_:ZS,index:1,template:s=>s.item.file===null?`${s.item.path.split("|").pop()||s.item.path}`:s.item.alias?a_(e,i,n,s):i.app.metadataCache.fileToLinktext(s.item.file,n),search:(s,u)=>{if(!s)u(t.slice(0,10).map((l,c)=>({item:l,refIndex:c})));else{let l=s.split("|"),c=l.length>1,d=l[0],f=c?l.slice(1).join("|"):null,p=s;c&&(p={"file.basename":d,alias:f}),u([{item:{file:null,path:s,alias:""},refIndex:-1},...r.search(p)])}},replace:s=>{let u=[];o&&s.item.file.extension==="md"&&u.push("!"),s.item.file===null?u.push(`[[${s.item.path}]]`):u.push(i.app.fileManager.generateMarkdownLink(s.item.file,i.file.path,void 0,s.item.alias));let l=!!i.app.vault.getConfig("useMarkdownLinks");return a&&!l&&(u[u.length-1]=u[u.length-1].slice(0,-2)),u.join("")}}}function o_(e,t,r,n){var u;if(!r)return[];let i=r.split("|"),a=e.metadataCache.getFirstLinkpathDest(i[0],t);if(!a)return[];let o=e.metadataCache.getFileCache(a);if(!o||!((u=o.headings)==null?void 0:u.length))return[];let s=o.headings.map(l=>({file:a,heading:l.heading,alias:i[1]||""}));return n?new mn(s,{keys:["heading"]}).search(n):s.map((l,c)=>({item:l,refIndex:c}))}function Xu(e,t,r,n){return{id:`heading-${n?"embed":"normal"}`,match:n?n_:t_,index:1,template:i=>i.item.heading,search:(i,a,o)=>{a(o_(t.app,e,o[1],o[2]))},replace:i=>{let a=[];n&&i.item.file.extension==="md"&&a.push("!"),a.push(t.app.fileManager.generateMarkdownLink(i.item.file,t.file.path,"#"+i.item.heading,i.item.alias));let o=!!t.app.vault.getConfig("useMarkdownLinks");return r&&!o?a[a.length-1]=a[a.length-1].slice(0,-2):!r&&!o&&a.push("]] "),a.join("")}}}var uy=class{constructor(){this.running=!1;this.cancelled=!1}start(){this.running=!0}stop(){this.running=!1}cancel(){this.stop(),this.cancelled=!0}isRunning(){return this.running}isCancelled(){return this.cancelled}};async function s_(e,t,r,n,i){var u;if(!r)return i([]);let a=r.split("|"),o=e.metadataCache.getFirstLinkpathDest(a[0],t);if(!o)return i([]);let s=e.metadataCache.getFileCache(o);if(!s||!((u=s.sections)==null?void 0:u.length))return i([]);try{let l=await e.metadataCache.blockCache.getForFile(new uy,o);if(!(l==null?void 0:l.blocks))return i([]);let c=l.blocks.map(d=>d.node.type==="heading"?null:{file:o,searchString:d.display,blockId:d.node.id,block:{type:d.node.type,start:d.node.position.start.offset,end:d.node.position.end.offset},alias:a[1]||""}).filter(d=>d);i(n?new mn(c,{keys:["searchString","blockId"]}).search(n):c.map((d,f)=>({item:d,refIndex:f})))}catch(l){i([])}}function l_(e){return["blockquote","code","table","comment","footnoteDefinition"].includes(e)}function Zu(e,t,r,n){return{id:`block-${n?"embed":"normal"}`,match:n?i_:r_,index:1,template:i=>i.item.blockId?`
${i.item.searchString}
${i.item.blockId}
`:i.item.searchString,search:(i,a,o)=>{s_(t.app,e,o[1],o[2],a)},replace:i=>{let a=[];n&&i.item.file.extension==="md"&&a.push("!");let o="#^";if(i.item.blockId)o+=i.item.blockId;else{let u=Ae(),l=l_(i.item.block.type)?` -`:" ";t.app.vault.cachedRead(i.item.file).then(c=>{let d=`${c.slice(0,i.item.block.end)}${l}^${u}${c.slice(i.item.block.end)}`;t.app.vault.modify(i.item.file,d)}).catch(c=>{t.setError(c),console.error(c)}),o+=u}a.push(t.app.fileManager.generateMarkdownLink(i.item.file,t.file.path,o,i.item.alias));let s=!!t.app.vault.getConfig("useMarkdownLinks");return r&&!s?a[a.length-1]=a[a.length-1].slice(0,-2):!r&&!s&&a.push("]] "),a.join("")}}}m();var c_=/\B#([^\s]*)?$/;function dy(e,t){return{id:"tag",match:c_,index:1,search:(r,n)=>{n(r?[{item:`#${r}`,refIndex:-1},...t.search(r,{limit:50})]:e.slice(0,50).map((i,a)=>({item:i,refIndex:a})))},template:r=>r.item,replace:r=>`${r.item.replace(/<\/?em>/g,"")} `}}m();m();var py=me(Ma());m();m();var f_=/\$&/g,p_=/\$(\d)/g,td=class{constructor(t,r,n){this.data=t;this.term=r;this.strategy=n}getReplacementData(t){let r=this.strategy.replace(this.data);if(r==null)return null;let n="";Array.isArray(r)&&(n=r[1],r=r[0]);let i=this.strategy.match(t);if(i==null||i.index==null)return null;let a=r.replace(f_,i[0]).replace(p_,(o,s)=>i[parseInt(s)]);return{start:i.index,end:i.index+i[0].length,beforeCursor:a,afterCursor:n}}replace(t,r){let n=this.getReplacementData(t);if(n!==null)return r=n.afterCursor+r,[[t.slice(0,n.start),n.beforeCursor,t.slice(n.end)].join(""),r]}render(){return this.strategy.renderTemplate(this.data,this.term)}getStrategyId(){return this.strategy.getId()}};var h_=1,nd=class{constructor(t){this.props=t;this.cache={}}destroy(){return this.cache={},this}replace(t){return this.props.replace(t)}execute(t,r){var a;let n=this.matchWithContext(t);if(!n)return!1;let i=n[(a=this.props.index)!=null?a:h_];return this.search(i,o=>{r(o.map(s=>new td(s,i,this)))},n),!0}renderTemplate(t,r){if(this.props.template)return this.props.template(t,r);if(typeof t=="string")return t;throw new Error(`Unexpected render data type: ${typeof t}. Please implement template parameter by yourself`)}getId(){return this.props.id||null}match(t){return typeof this.props.match=="function"?this.props.match(t):t.match(this.props.match)}search(t,r,n){this.props.cache?this.searchWithCach(t,r,n):this.props.search(t,r,n)}matchWithContext(t){let r=this.context(t);return r===!1?null:this.match(r===!0?t:r)}context(t){return this.props.context?this.props.context(t):!0}searchWithCach(t,r,n){this.cache[t]!=null?r(this.cache[t]):this.props.search(t,i=>{this.cache[t]=i,r(i)},n)}};var rd=class extends py.EventEmitter{constructor(t){super();this.handleQueryResult=t=>{this.emit("hit",{searchResults:t})};this.strategies=t.map(r=>new nd(r))}destroy(){return this.strategies.forEach(t=>t.destroy()),this}run(t){for(let r of this.strategies)if(r.execute(t,this.handleQueryResult))return;this.handleQueryResult([])}};m();var hy=me(Ma());m();var m_=typeof window!="undefined"&&!!window.CustomEvent,Ut=(e,t,r)=>{if(m_)return new CustomEvent(t,r);let n=e.createEvent("CustomEvent");return n.initCustomEvent(t,!1,(r==null?void 0:r.cancelable)||!1,(r==null?void 0:r.detail)||void 0),n};var g_=10,v_="auto",y_="dropdown-menu textcomplete-dropdown",my="textcomplete-item",b_=`${my} active`,Ia=class extends hy.EventEmitter{constructor(t,r){super();this.el=t;this.option=r;this.shown=!1;this.items=[];this.activeIndex=null}static create(t){let r=t.parent||window.document.body,i=r.doc.createElement("ul");return i.className=t.className||y_,Object.assign(i.style,{display:"none",position:"absolute",zIndex:"1000"},t.style),r==null||r.appendChild(i),new Ia(i,t)}render(t,r){let n=Ut(this.el.doc,"render",{cancelable:!0});return this.emit("render",n),n.defaultPrevented?this:(this.clear(),t.length===0?this.hide():(this.items=t.slice(0,this.option.maxCount||g_).map((i,a)=>{var o;return new gy(this,a,i,((o=this.option)==null?void 0:o.item)||{})}),this.setStrategyId(t[0]).renderEdge(t,"header").renderItems().renderEdge(t,"footer").show().setOffset(r).activate(0),this.emit("rendered",Ut(this.el.doc,"rendered")),this))}destroy(){var t;return this.clear(),(t=this.el.parentNode)==null||t.removeChild(this.el),this}select(t){let r={searchResult:t.searchResult},n=Ut(this.el.doc,"select",{cancelable:!0,detail:r});return this.emit("select",n),n.defaultPrevented?this:(this.hide(),this.emit("selected",Ut(this.el.doc,"selected",{detail:r})),this)}show(){if(!this.shown){let t=Ut(this.el.doc,"show",{cancelable:!0});if(this.emit("show",t),t.defaultPrevented)return this;this.el.style.display="block",this.shown=!0,this.emit("shown",Ut(this.el.doc,"shown"))}return this}hide(){if(this.shown){let t=Ut(this.el.doc,"hide",{cancelable:!0});if(this.emit("hide",t),t.defaultPrevented)return this;this.el.style.display="none",this.shown=!1,this.clear(),this.emit("hidden",Ut(this.el.doc,"hidden"))}return this}clear(){return this.items.forEach(t=>t.destroy()),this.items=[],this.el.innerHTML="",this.activeIndex=null,this}up(t){return this.shown?this.moveActiveItem("prev",t):this}down(t){return this.shown?this.moveActiveItem("next",t):this}moveActiveItem(t,r){if(this.activeIndex!=null){let n=t==="next"?this.getNextActiveIndex():this.getPrevActiveIndex();n!=null&&(this.activate(n),r.preventDefault())}return this}activate(t){return this.activeIndex!==t&&(this.activeIndex!=null&&this.items[this.activeIndex].deactivate(),this.activeIndex=t,this.items[t].activate()),this}isShown(){return this.shown}getActiveItem(){return this.activeIndex!=null?this.items[this.activeIndex]:null}setOffset(t){let n=this.el.doc.documentElement;if(n){let i=this.el.offsetWidth;if(t.left){let s=this.option.dynamicWidth?n.scrollWidth:n.clientWidth;t.left+i>s&&(t.left=s-i),this.el.style.left=`${t.left}px`}else t.right&&(t.right-i<0&&(t.right=0),this.el.style.right=`${t.right}px`);let a=!1,o=this.option.placement||v_;if(o==="auto"){let s=this.el.clientHeight;a=t.clientTop!=null&&t.clientTop+s>n.clientHeight}o==="top"||a?(this.el.style.bottom=`${n.clientHeight-t.top+t.lineHeight}px`,this.el.style.top="auto"):(this.el.style.top=`${t.top}px`,this.el.style.bottom="auto")}return this}getNextActiveIndex(){if(this.activeIndex==null)throw new Error;return this.activeIndexo.data)):n||"",this.el.appendChild(a),this}},gy=class{constructor(t,r,n,i){this.dropdown=t;this.index=r;this.searchResult=n;this.props=i;this.active=!1;this.onClick=t=>{t.preventDefault(),this.dropdown.select(this)};this.className=this.props.className||my,this.activeClassName=this.props.activeClassName||b_;let a=t.el.doc,o=a.createElement("li");o.className=this.active?this.activeClassName:this.className;let s=a.createElement("span");s.tabIndex=-1,s.innerHTML=this.searchResult.render(),o.appendChild(s),o.addEventListener("mousedown",this.onClick),o.addEventListener("touchstart",this.onClick),this.el=o}destroy(){var r;let t=this.el;return(r=t.parentNode)==null||r.removeChild(t),t.removeEventListener("mousedown",this.onClick,!1),t.removeEventListener("touchstart",this.onClick,!1),this}activate(){return this.active||(this.active=!0,this.el.className=this.activeClassName,this.dropdown.el.scrollTop=this.el.offsetTop),this}deactivate(){return this.active&&(this.active=!1,this.el.className=this.className),this}};m();var vy=me(Ma());var id=class extends vy.EventEmitter{destroy(){return this}applySearchResult(t){throw new Error("Not implemented.")}getCursorOffset(){throw new Error("Not implemented.")}getBeforeCursor(){throw new Error("Not implemented.")}emitMoveEvent(t){let r=Ut(activeDocument,"move",{cancelable:!0,detail:{code:t}});return this.emit("move",r),r}emitEnterEvent(){let t=Ut(activeDocument,"enter",{cancelable:!0});return this.emit("enter",t),t}emitChangeEvent(){let t=Ut(activeDocument,"change",{detail:{beforeCursor:this.getBeforeCursor()}});return this.emit("change",t),t}emitEscEvent(){let t=Ut(activeDocument,"esc",{cancelable:!0});return this.emit("esc",t),t}getCode(t){return t.keyCode===9||t.keyCode===13?"ENTER":t.keyCode===27?"ESC":t.keyCode===38?"UP":t.keyCode===40||t.keyCode===78&&t.ctrlKey?"DOWN":t.keyCode===80&&t.ctrlKey?"UP":"OTHER"}};m();var yy=me(Ma());var w_=["show","shown","render","rendered","selected","hidden","hide"],ad=class extends yy.EventEmitter{constructor(t,r,n){super();this.editor=t;this.isQueryInFlight=!1;this.nextPendingQuery=null;this.handleHit=({searchResults:t})=>{t.length?this.dropdown.render(t,this.editor.getCursorOffset()):this.dropdown.hide(),this.isQueryInFlight=!1,this.nextPendingQuery!==null&&this.trigger(this.nextPendingQuery)};this.handleMove=t=>{t.detail.code==="UP"?this.dropdown.up(t):this.dropdown.down(t)};this.handleEnter=t=>{let r=this.dropdown.getActiveItem();r?(this.dropdown.select(r),t.preventDefault()):this.dropdown.hide()};this.handleEsc=t=>{this.dropdown.isShown()&&(this.dropdown.hide(),t.preventDefault())};this.handleChange=t=>{t.detail.beforeCursor!=null?this.trigger(t.detail.beforeCursor):this.dropdown.hide()};this.handleSelect=t=>{this.emit("select",t),t.defaultPrevented||this.editor.applySearchResult(t.detail.searchResult)};this.handleResize=()=>{this.dropdown.isShown()&&this.dropdown.setOffset(this.editor.getCursorOffset())};this.completer=new rd(r),this.dropdown=Ia.create((n==null?void 0:n.dropdown)||{}),this.startListening()}destroy(t=!0){return this.completer.destroy(),this.dropdown.destroy(),t&&this.editor.destroy(),this.stopListening(),this}isShown(){return this.dropdown.isShown()}hide(){return this.dropdown.hide(),this}trigger(t){return this.isQueryInFlight?this.nextPendingQuery=t:(this.isQueryInFlight=!0,this.nextPendingQuery=null,this.completer.run(t)),this}startListening(){var t;this.editor.on("move",this.handleMove).on("enter",this.handleEnter).on("esc",this.handleEsc).on("change",this.handleChange),this.dropdown.on("select",this.handleSelect);for(let r of w_)this.dropdown.on(r,n=>this.emit(r,n));this.completer.on("hit",this.handleHit),(t=Ze(this.dropdown.el))==null||t.addEventListener("resize",this.handleResize)}stopListening(){var t;(t=Ze(this.dropdown.el))==null||t.removeEventListener("resize",this.handleResize),this.completer.removeAllListeners(),this.dropdown.removeAllListeners(),this.editor.removeListener("move",this.handleMove).removeListener("enter",this.handleEnter).removeListener("esc",this.handleEsc).removeListener("change",this.handleChange)}};m();m();m();m();var by=e=>{let t=e.getBoundingClientRect(),r=e.doc;if(r==null)throw new Error("Given element does not belong to document");let{defaultView:n,documentElement:i}=r;if(n==null)throw new Error("Given element does not belong to window");let a={top:t.top+n.pageYOffset,left:t.left+n.pageXOffset};return i&&(a.top-=i.clientTop,a.left-=i.clientLeft),a};m();var E_="0".charCodeAt(0),x_="9".charCodeAt(0),wy=e=>E_<=e&&e<=x_,Ey=e=>{let t=getComputedStyle(e),r=t.lineHeight;if(wy(r.charCodeAt(0))){let n=parseFloat(r);return wy(r.charCodeAt(r.length-1))?n*parseFloat(t.fontSize):n}return k_(e.doc,e.nodeName,t)},k_=(e,t,r)=>{let n=e.body;if(!n)return 0;let i=e.createElement(t);i.innerHTML=" ",Object.assign(i.style,{fontSize:r.fontSize,fontFamily:r.fontFamily,padding:"0"}),n.appendChild(i),i.instanceOf(HTMLTextAreaElement)&&(i.rows=1);let a=i.offsetHeight;return n.removeChild(i),a};m();m();function xy(e,t,r){let n=e.doc,i=e.value,a=t+(r||""),o=n.activeElement,s=0,u=0;for(;s=0&&a.length-u-1>=0&&i[i.length-u-1]===a[a.length-u-1];)u++;s=Math.min(s,Math.min(i.length,a.length)-u),e.setSelectionRange(s,i.length-u);let l=a.substring(s,a.length-u);if(e.focus(),!n.execCommand("insertText",!1,l)){e.value=a;let c=n.createEvent("Event");c.initEvent("input",!0,!0),e.dispatchEvent(c)}return e.setSelectionRange(t.length,t.length),o.focus(),e}m();var S_=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"];function ky(e,t){let r=e.doc,n=e.win,i=r.createElement("div");i.id="input-textarea-caret-position-mirror-div",r.body.appendChild(i);let a=i.style,o=n.getComputedStyle(e);a.whiteSpace="pre-wrap",a.position="absolute",S_.forEach(l=>{a[l]=o[l]}),a.overflow="hidden",i.textContent=e.value.substring(0,t);let s=r.createElement("span");s.textContent=e.value.substring(t)||".",i.appendChild(s);let u={top:s.offsetTop+parseInt(o.borderTopWidth),left:s.offsetLeft+parseInt(o.borderLeftWidth),height:parseInt(o.lineHeight)};return r.body.removeChild(i),u}var Ds=class extends id{constructor(t){super();this.el=t;this.onInput=()=>{this.emitChangeEvent()};this.onKeydown=t=>{let r=this.getCode(t),n;r==="UP"||r==="DOWN"?n=this.emitMoveEvent(r):r==="ENTER"?n=this.emitEnterEvent():r==="ESC"&&(n=this.emitEscEvent()),n&&n.defaultPrevented&&t.preventDefault()};this.startListening()}destroy(){return super.destroy(),this.stopListening(),this}applySearchResult(t){let r=this.getBeforeCursor();if(r!=null){let n=t.replace(r,this.getAfterCursor());this.el.focus(),Array.isArray(n)&&(xy(this.el,n[0],n[1]),this.el&&this.el.dispatchEvent(Ut(this.el.doc,"input")))}}getCursorOffset(){let t=by(this.el),r=this.getElScroll(),n=this.getCursorPosition(),i=Ey(this.el),a=t.top-r.top+n.top+i,o=t.left-r.left+n.left,s=this.el.getBoundingClientRect().top,u=this.el.doc;if(this.el.dir!=="rtl")return{top:a,left:o,lineHeight:i,clientTop:s};{let l=u.documentElement?u.documentElement.clientWidth-o:0;return{top:a,right:l,lineHeight:i,clientTop:s}}}getBeforeCursor(){return this.el.selectionStart!==this.el.selectionEnd?null:this.el.value.slice(0,this.el.selectionEnd)}getAfterCursor(){return this.el.value.slice(this.el.selectionEnd)}getElScroll(){return{top:this.el.scrollTop,left:this.el.scrollLeft}}getCursorPosition(){return ky(this.el,this.el.selectionEnd)}startListening(){this.el.addEventListener("input",this.onInput),this.el.addEventListener("keydown",this.onKeydown)}stopListening(){this.el.removeEventListener("input",this.onInput),this.el.removeEventListener("keydown",this.onKeydown)}};function __({inputRef:e,isAutocompleteVisibleRef:t,obsidianContext:r,excludeDatePicker:n}){let{stateManager:i,filePath:a,view:o}=r,s=null,u=null,l=i.getSetting("date-trigger"),c=new RegExp(`(?:^|\\s)${Ln(l)}$`),d=Object.keys(i.app.metadataCache.getTags()).sort(),f=new mn(d),p=i.app.metadataCache.getLinkSuggestions().filter(H=>!!H.file),g=new mn(p,{keys:["file.basename","alias"]}),y=o.app.vault.getConfig("autoPairBrackets"),b=[dy(d,f),Zu(a,i,y,!0),Zu(a,i,y,!1),Xu(a,i,y,!0),Xu(a,i,y,!1),Qu(o.getWindow(),p,g,a,i,y,!0),Qu(o.getWindow(),p,g,a,i,y,!1)];n||b.push(oy(i));let k=new Ds(e.current),T=new ad(k,b,{dropdown:{parent:ur(e.current),maxCount:96,className:`${B("autocomplete")} ${B("ignore-click-outside")}`,rotate:!0,item:{className:`${B("autocomplete-item")} ${B("ignore-click-outside")}`,activeClassName:`${B("autocomplete-item-active")} ${B("ignore-click-outside")}`}}}),C=()=>{T.isShown()||(t.current=!1);let H=s.win;u.destroy(),s.remove(),H.setTimeout(()=>{s=null})};T.on("show",()=>{t.current=!0}),T.on("hidden",()=>{t.current=!1});let A;if(!n){A=D=>{if(T.isShown&&["#","^"].contains(D.key)){let z=T.dropdown.getActiveItem(),U=z==null?void 0:z.searchResult;if(U&&U.strategy.props.id.startsWith("link")){D.preventDefault(),k.applySearchResult(U),Lt(e.current,D.key==="^"?"#^":"#");return}}if(!s)return;if(D.key==="Enter"){D.preventDefault();let z=u.selectedDates;return z.length?_s(z[0],e,i):_s(new Date,e,i),C()}if(D.key==="Escape")return D.preventDefault(),C();let K=(0,Sy.moment)(u.selectedDates[0]||new Date);if(D.key==="ArrowRight"){D.preventDefault(),K.weekday()===6?u.setDate(ly(K).toDate(),!1):u.setDate(K.add(1,"day").toDate(),!1);return}if(D.key==="ArrowLeft"){D.preventDefault(),K.weekday()===0?u.setDate(sy(K).toDate(),!1):u.setDate(K.subtract(1,"day").toDate(),!1);return}if(D.key==="ArrowUp"){D.preventDefault(),u.setDate(K.subtract(1,"week").toDate(),!1);return}if(D.key==="ArrowDown"){D.preventDefault(),u.setDate(K.add(1,"week").toDate(),!1);return}},e.current.addEventListener("keydown",A);let H=e.current.doc;k.on("change",D=>{let K=D.detail.beforeCursor;if(K&&c.test(K)){let z=k.getCursorOffset();s?(s.style.left=`${z.left||0}px`,s.style.top=`${z.top||0}px`,Gu(z,s)):s=H.body.createDiv({cls:`${B("date-picker")} ${B("ignore-click-outside")}`},U=>{U.style.left=`${z.left||0}px`,U.style.top=`${z.top||0}px`,ay({div:U,inputRef:e,stateManager:i,cb:Z=>{u=Z,t.current=!0,Gu(z,s)}})})}else s&&C()})}return()=>{!n&&e.current&&e.current.removeEventListener("keydown",A),s&&C(),T.destroy(),k.destroy()}}function _y({isInputVisible:e,onEnter:t,onEscape:r,onKeyDown:n,excludeDatePicker:i}){let a=L.useContext(We),o=L.useRef(!1),s=L.useRef(),{oncompositionstart:u,oncompositionend:l,getShouldIMEBlockAction:c}=yo();return L.useEffect(()=>{let d=s.current;if(e&&d)return d.focus(),d.selectionStart=d.selectionEnd=d.value.length,__({inputRef:s,isAutocompleteVisibleRef:o,obsidianContext:a,excludeDatePicker:i})},[e]),{ref:s,oncompositionstart:u,oncompositionend:l,onKeyDownCapture:d=>{c()||o.current||n(d)||(d.key==="Enter"?t&&t(d):d.key==="Escape"&&r&&r(d))}}}m();var Cy=/^[*_]{2}(.+)[*_]{2}$/;function C_(e){return e.replace(Cy,"$1")}var Dy=/^[*_]{1}(.+)[*_]{1}$/;function D_(e){return e.replace(Dy,"$1")}var Ty=/^`{1}(.+)`{1}$/;function T_(e){return e.replace(Ty,"$1")}var My=/^={2}(.+)={2}$/;function M_(e){return e.replace(My,"$1")}var Iy=/^~{2}(.+)~{2}$/;function I_(e){return e.replace(Iy,"$1")}var A_=/^(?:>.+?(?:[\r\n]|$))+$/;function L_(e){return e.split(` +`:" ";t.app.vault.cachedRead(i.item.file).then(c=>{let d=`${c.slice(0,i.item.block.end)}${l}^${u}${c.slice(i.item.block.end)}`;t.app.vault.modify(i.item.file,d)}).catch(c=>{t.setError(c),console.error(c)}),o+=u}a.push(t.app.fileManager.generateMarkdownLink(i.item.file,t.file.path,o,i.item.alias));let s=!!t.app.vault.getConfig("useMarkdownLinks");return r&&!s?a[a.length-1]=a[a.length-1].slice(0,-2):!r&&!s&&a.push("]] "),a.join("")}}}m();var c_=/\B#([^\s]*)?$/;function dy(e,t){return{id:"tag",match:c_,index:1,search:(r,n)=>{n(r?[{item:`#${r}`,refIndex:-1},...t.search(r,{limit:50})]:e.slice(0,50).map((i,a)=>({item:i,refIndex:a})))},template:r=>r.item,replace:r=>`${r.item.replace(/<\/?em>/g,"")} `}}m();m();var py=me(Ma());m();m();var f_=/\$&/g,p_=/\$(\d)/g,td=class{constructor(t,r,n){this.data=t;this.term=r;this.strategy=n}getReplacementData(t){let r=this.strategy.replace(this.data);if(r==null)return null;let n="";Array.isArray(r)&&(n=r[1],r=r[0]);let i=this.strategy.match(t);if(i==null||i.index==null)return null;let a=r.replace(f_,i[0]).replace(p_,(o,s)=>i[parseInt(s)]);return{start:i.index,end:i.index+i[0].length,beforeCursor:a,afterCursor:n}}replace(t,r){let n=this.getReplacementData(t);if(n!==null)return r=n.afterCursor+r,[[t.slice(0,n.start),n.beforeCursor,t.slice(n.end)].join(""),r]}render(){return this.strategy.renderTemplate(this.data,this.term)}getStrategyId(){return this.strategy.getId()}};var h_=1,nd=class{constructor(t){this.props=t;this.cache={}}destroy(){return this.cache={},this}replace(t){return this.props.replace(t)}execute(t,r){var a;let n=this.matchWithContext(t);if(!n)return!1;let i=n[(a=this.props.index)!=null?a:h_];return this.search(i,o=>{r(o.map(s=>new td(s,i,this)))},n),!0}renderTemplate(t,r){if(this.props.template)return this.props.template(t,r);if(typeof t=="string")return t;throw new Error(`Unexpected render data type: ${typeof t}. Please implement template parameter by yourself`)}getId(){return this.props.id||null}match(t){return typeof this.props.match=="function"?this.props.match(t):t.match(this.props.match)}search(t,r,n){this.props.cache?this.searchWithCach(t,r,n):this.props.search(t,r,n)}matchWithContext(t){let r=this.context(t);return r===!1?null:this.match(r===!0?t:r)}context(t){return this.props.context?this.props.context(t):!0}searchWithCach(t,r,n){this.cache[t]!=null?r(this.cache[t]):this.props.search(t,i=>{this.cache[t]=i,r(i)},n)}};var rd=class extends py.EventEmitter{constructor(t){super();this.handleQueryResult=t=>{this.emit("hit",{searchResults:t})};this.strategies=t.map(r=>new nd(r))}destroy(){return this.strategies.forEach(t=>t.destroy()),this}run(t){for(let r of this.strategies)if(r.execute(t,this.handleQueryResult))return;this.handleQueryResult([])}};m();var hy=me(Ma());m();var m_=typeof window!="undefined"&&!!window.CustomEvent,Ut=(e,t,r)=>{if(m_)return new CustomEvent(t,r);let n=e.createEvent("CustomEvent");return n.initCustomEvent(t,!1,(r==null?void 0:r.cancelable)||!1,(r==null?void 0:r.detail)||void 0),n};var g_=10,v_="auto",y_="dropdown-menu textcomplete-dropdown",my="textcomplete-item",b_=`${my} active`,Ia=class extends hy.EventEmitter{constructor(t,r){super();this.el=t;this.option=r;this.shown=!1;this.items=[];this.activeIndex=null}static create(t){let r=t.parent||window.document.body,i=r.doc.createElement("ul");return i.className=t.className||y_,Object.assign(i.style,{display:"none",position:"absolute",zIndex:"1000"},t.style),r==null||r.appendChild(i),new Ia(i,t)}render(t,r){let n=Ut(this.el.doc,"render",{cancelable:!0});return this.emit("render",n),n.defaultPrevented?this:(this.clear(),t.length===0?this.hide():(this.items=t.slice(0,this.option.maxCount||g_).map((i,a)=>{var o;return new gy(this,a,i,((o=this.option)==null?void 0:o.item)||{})}),this.setStrategyId(t[0]).renderEdge(t,"header").renderItems().renderEdge(t,"footer").show().setOffset(r).activate(0),this.emit("rendered",Ut(this.el.doc,"rendered")),this))}destroy(){var t;return this.clear(),(t=this.el.parentNode)==null||t.removeChild(this.el),this}select(t){let r={searchResult:t.searchResult},n=Ut(this.el.doc,"select",{cancelable:!0,detail:r});return this.emit("select",n),n.defaultPrevented?this:(this.hide(),this.emit("selected",Ut(this.el.doc,"selected",{detail:r})),this)}show(){if(!this.shown){let t=Ut(this.el.doc,"show",{cancelable:!0});if(this.emit("show",t),t.defaultPrevented)return this;this.el.style.display="block",this.shown=!0,this.emit("shown",Ut(this.el.doc,"shown"))}return this}hide(){if(this.shown){let t=Ut(this.el.doc,"hide",{cancelable:!0});if(this.emit("hide",t),t.defaultPrevented)return this;this.el.style.display="none",this.shown=!1,this.clear(),this.emit("hidden",Ut(this.el.doc,"hidden"))}return this}clear(){return this.items.forEach(t=>t.destroy()),this.items=[],this.el.innerHTML="",this.activeIndex=null,this}up(t){return this.shown?this.moveActiveItem("prev",t):this}down(t){return this.shown?this.moveActiveItem("next",t):this}moveActiveItem(t,r){if(this.activeIndex!=null){let n=t==="next"?this.getNextActiveIndex():this.getPrevActiveIndex();n!=null&&(this.activate(n),r.preventDefault())}return this}activate(t){return this.activeIndex!==t&&(this.activeIndex!=null&&this.items[this.activeIndex].deactivate(),this.activeIndex=t,this.items[t].activate()),this}isShown(){return this.shown}getActiveItem(){return this.activeIndex!=null?this.items[this.activeIndex]:null}setOffset(t){let n=this.el.doc.documentElement;if(n){let i=this.el.offsetWidth;if(t.left){let s=this.option.dynamicWidth?n.scrollWidth:n.clientWidth;t.left+i>s&&(t.left=s-i),this.el.style.left=`${t.left}px`}else t.right&&(t.right-i<0&&(t.right=0),this.el.style.right=`${t.right}px`);let a=!1,o=this.option.placement||v_;if(o==="auto"){let s=this.el.clientHeight;a=t.clientTop!=null&&t.clientTop+s>n.clientHeight}o==="top"||a?(this.el.style.bottom=`${n.clientHeight-t.top+t.lineHeight}px`,this.el.style.top="auto"):(this.el.style.top=`${t.top}px`,this.el.style.bottom="auto")}return this}getNextActiveIndex(){if(this.activeIndex==null)throw new Error;return this.activeIndexo.data)):n||"",this.el.appendChild(a),this}},gy=class{constructor(t,r,n,i){this.dropdown=t;this.index=r;this.searchResult=n;this.props=i;this.active=!1;this.onClick=t=>{t.preventDefault(),this.dropdown.select(this)};this.className=this.props.className||my,this.activeClassName=this.props.activeClassName||b_;let a=t.el.doc,o=a.createElement("li");o.className=this.active?this.activeClassName:this.className;let s=a.createElement("span");s.tabIndex=-1,s.innerHTML=this.searchResult.render(),o.appendChild(s),o.addEventListener("mousedown",this.onClick),o.addEventListener("touchstart",this.onClick),this.el=o}destroy(){var r;let t=this.el;return(r=t.parentNode)==null||r.removeChild(t),t.removeEventListener("mousedown",this.onClick,!1),t.removeEventListener("touchstart",this.onClick,!1),this}activate(){return this.active||(this.active=!0,this.el.className=this.activeClassName,this.dropdown.el.scrollTop=this.el.offsetTop),this}deactivate(){return this.active&&(this.active=!1,this.el.className=this.className),this}};m();var vy=me(Ma());var id=class extends vy.EventEmitter{destroy(){return this}applySearchResult(t){throw new Error("Not implemented.")}getCursorOffset(){throw new Error("Not implemented.")}getBeforeCursor(){throw new Error("Not implemented.")}emitMoveEvent(t){let r=Ut(activeDocument,"move",{cancelable:!0,detail:{code:t}});return this.emit("move",r),r}emitEnterEvent(){let t=Ut(activeDocument,"enter",{cancelable:!0});return this.emit("enter",t),t}emitChangeEvent(){let t=Ut(activeDocument,"change",{detail:{beforeCursor:this.getBeforeCursor()}});return this.emit("change",t),t}emitEscEvent(){let t=Ut(activeDocument,"esc",{cancelable:!0});return this.emit("esc",t),t}getCode(t){return t.keyCode===9||t.keyCode===13?"ENTER":t.keyCode===27?"ESC":t.keyCode===38?"UP":t.keyCode===40||t.keyCode===78&&t.ctrlKey?"DOWN":t.keyCode===80&&t.ctrlKey?"UP":"OTHER"}};m();var yy=me(Ma());var w_=["show","shown","render","rendered","selected","hidden","hide"],ad=class extends yy.EventEmitter{constructor(t,r,n){super();this.editor=t;this.isQueryInFlight=!1;this.nextPendingQuery=null;this.handleHit=({searchResults:t})=>{t.length?this.dropdown.render(t,this.editor.getCursorOffset()):this.dropdown.hide(),this.isQueryInFlight=!1,this.nextPendingQuery!==null&&this.trigger(this.nextPendingQuery)};this.handleMove=t=>{t.detail.code==="UP"?this.dropdown.up(t):this.dropdown.down(t)};this.handleEnter=t=>{let r=this.dropdown.getActiveItem();r?(this.dropdown.select(r),t.preventDefault()):this.dropdown.hide()};this.handleEsc=t=>{this.dropdown.isShown()&&(this.dropdown.hide(),t.preventDefault())};this.handleChange=t=>{t.detail.beforeCursor!=null?this.trigger(t.detail.beforeCursor):this.dropdown.hide()};this.handleSelect=t=>{this.emit("select",t),t.defaultPrevented||this.editor.applySearchResult(t.detail.searchResult)};this.handleResize=()=>{this.dropdown.isShown()&&this.dropdown.setOffset(this.editor.getCursorOffset())};this.completer=new rd(r),this.dropdown=Ia.create((n==null?void 0:n.dropdown)||{}),this.startListening()}destroy(t=!0){return this.completer.destroy(),this.dropdown.destroy(),t&&this.editor.destroy(),this.stopListening(),this}isShown(){return this.dropdown.isShown()}hide(){return this.dropdown.hide(),this}trigger(t){return this.isQueryInFlight?this.nextPendingQuery=t:(this.isQueryInFlight=!0,this.nextPendingQuery=null,this.completer.run(t)),this}startListening(){var t;this.editor.on("move",this.handleMove).on("enter",this.handleEnter).on("esc",this.handleEsc).on("change",this.handleChange),this.dropdown.on("select",this.handleSelect);for(let r of w_)this.dropdown.on(r,n=>this.emit(r,n));this.completer.on("hit",this.handleHit),(t=Ze(this.dropdown.el))==null||t.addEventListener("resize",this.handleResize)}stopListening(){var t;(t=Ze(this.dropdown.el))==null||t.removeEventListener("resize",this.handleResize),this.completer.removeAllListeners(),this.dropdown.removeAllListeners(),this.editor.removeListener("move",this.handleMove).removeListener("enter",this.handleEnter).removeListener("esc",this.handleEsc).removeListener("change",this.handleChange)}};m();m();m();m();var by=e=>{let t=e.getBoundingClientRect(),r=e.doc;if(r==null)throw new Error("Given element does not belong to document");let{defaultView:n,documentElement:i}=r;if(n==null)throw new Error("Given element does not belong to window");let a={top:t.top+n.pageYOffset,left:t.left+n.pageXOffset};return i&&(a.top-=i.clientTop,a.left-=i.clientLeft),a};m();var E_="0".charCodeAt(0),k_="9".charCodeAt(0),wy=e=>E_<=e&&e<=k_,Ey=e=>{let t=getComputedStyle(e),r=t.lineHeight;if(wy(r.charCodeAt(0))){let n=parseFloat(r);return wy(r.charCodeAt(r.length-1))?n*parseFloat(t.fontSize):n}return x_(e.doc,e.nodeName,t)},x_=(e,t,r)=>{let n=e.body;if(!n)return 0;let i=e.createElement(t);i.innerHTML=" ",Object.assign(i.style,{fontSize:r.fontSize,fontFamily:r.fontFamily,padding:"0"}),n.appendChild(i),i.instanceOf(HTMLTextAreaElement)&&(i.rows=1);let a=i.offsetHeight;return n.removeChild(i),a};m();m();function ky(e,t,r){let n=e.doc,i=e.value,a=t+(r||""),o=n.activeElement,s=0,u=0;for(;s=0&&a.length-u-1>=0&&i[i.length-u-1]===a[a.length-u-1];)u++;s=Math.min(s,Math.min(i.length,a.length)-u),e.setSelectionRange(s,i.length-u);let l=a.substring(s,a.length-u);if(e.focus(),!n.execCommand("insertText",!1,l)){e.value=a;let c=n.createEvent("Event");c.initEvent("input",!0,!0),e.dispatchEvent(c)}return e.setSelectionRange(t.length,t.length),o.focus(),e}m();var S_=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"];function xy(e,t){let r=e.doc,n=e.win,i=r.createElement("div");i.id="input-textarea-caret-position-mirror-div",r.body.appendChild(i);let a=i.style,o=n.getComputedStyle(e);a.whiteSpace="pre-wrap",a.position="absolute",S_.forEach(l=>{a[l]=o[l]}),a.overflow="hidden",i.textContent=e.value.substring(0,t);let s=r.createElement("span");s.textContent=e.value.substring(t)||".",i.appendChild(s);let u={top:s.offsetTop+parseInt(o.borderTopWidth),left:s.offsetLeft+parseInt(o.borderLeftWidth),height:parseInt(o.lineHeight)};return r.body.removeChild(i),u}var Ds=class extends id{constructor(t){super();this.el=t;this.onInput=()=>{this.emitChangeEvent()};this.onKeydown=t=>{let r=this.getCode(t),n;r==="UP"||r==="DOWN"?n=this.emitMoveEvent(r):r==="ENTER"?n=this.emitEnterEvent():r==="ESC"&&(n=this.emitEscEvent()),n&&n.defaultPrevented&&t.preventDefault()};this.startListening()}destroy(){return super.destroy(),this.stopListening(),this}applySearchResult(t){let r=this.getBeforeCursor();if(r!=null){let n=t.replace(r,this.getAfterCursor());this.el.focus(),Array.isArray(n)&&(ky(this.el,n[0],n[1]),this.el&&this.el.dispatchEvent(Ut(this.el.doc,"input")))}}getCursorOffset(){let t=by(this.el),r=this.getElScroll(),n=this.getCursorPosition(),i=Ey(this.el),a=t.top-r.top+n.top+i,o=t.left-r.left+n.left,s=this.el.getBoundingClientRect().top,u=this.el.doc;if(this.el.dir!=="rtl")return{top:a,left:o,lineHeight:i,clientTop:s};{let l=u.documentElement?u.documentElement.clientWidth-o:0;return{top:a,right:l,lineHeight:i,clientTop:s}}}getBeforeCursor(){return this.el.selectionStart!==this.el.selectionEnd?null:this.el.value.slice(0,this.el.selectionEnd)}getAfterCursor(){return this.el.value.slice(this.el.selectionEnd)}getElScroll(){return{top:this.el.scrollTop,left:this.el.scrollLeft}}getCursorPosition(){return xy(this.el,this.el.selectionEnd)}startListening(){this.el.addEventListener("input",this.onInput),this.el.addEventListener("keydown",this.onKeydown)}stopListening(){this.el.removeEventListener("input",this.onInput),this.el.removeEventListener("keydown",this.onKeydown)}};function __({inputRef:e,isAutocompleteVisibleRef:t,obsidianContext:r,excludeDatePicker:n}){let{stateManager:i,filePath:a,view:o}=r,s=null,u=null,l=i.getSetting("date-trigger"),c=new RegExp(`(?:^|\\s)${Ln(l)}$`),d=Object.keys(i.app.metadataCache.getTags()).sort(),f=new mn(d),p=i.app.metadataCache.getLinkSuggestions().filter(H=>!!H.file),g=new mn(p,{keys:["file.basename","alias"]}),y=o.app.vault.getConfig("autoPairBrackets"),b=[dy(d,f),Zu(a,i,y,!0),Zu(a,i,y,!1),Xu(a,i,y,!0),Xu(a,i,y,!1),Qu(o.getWindow(),p,g,a,i,y,!0),Qu(o.getWindow(),p,g,a,i,y,!1)];n||b.push(oy(i));let x=new Ds(e.current),T=new ad(x,b,{dropdown:{parent:ur(e.current),maxCount:96,className:`${B("autocomplete")} ${B("ignore-click-outside")}`,rotate:!0,item:{className:`${B("autocomplete-item")} ${B("ignore-click-outside")}`,activeClassName:`${B("autocomplete-item-active")} ${B("ignore-click-outside")}`}}}),C=()=>{T.isShown()||(t.current=!1);let H=s.win;u.destroy(),s.remove(),H.setTimeout(()=>{s=null})};T.on("show",()=>{t.current=!0}),T.on("hidden",()=>{t.current=!1});let A;if(!n){A=D=>{if(T.isShown&&["#","^"].contains(D.key)){let z=T.dropdown.getActiveItem(),U=z==null?void 0:z.searchResult;if(U&&U.strategy.props.id.startsWith("link")){D.preventDefault(),x.applySearchResult(U),Lt(e.current,D.key==="^"?"#^":"#");return}}if(!s)return;if(D.key==="Enter"){D.preventDefault();let z=u.selectedDates;return z.length?_s(z[0],e,i):_s(new Date,e,i),C()}if(D.key==="Escape")return D.preventDefault(),C();let K=(0,Sy.moment)(u.selectedDates[0]||new Date);if(D.key==="ArrowRight"){D.preventDefault(),K.weekday()===6?u.setDate(ly(K).toDate(),!1):u.setDate(K.add(1,"day").toDate(),!1);return}if(D.key==="ArrowLeft"){D.preventDefault(),K.weekday()===0?u.setDate(sy(K).toDate(),!1):u.setDate(K.subtract(1,"day").toDate(),!1);return}if(D.key==="ArrowUp"){D.preventDefault(),u.setDate(K.subtract(1,"week").toDate(),!1);return}if(D.key==="ArrowDown"){D.preventDefault(),u.setDate(K.add(1,"week").toDate(),!1);return}},e.current.addEventListener("keydown",A);let H=e.current.doc;x.on("change",D=>{let K=D.detail.beforeCursor;if(K&&c.test(K)){let z=x.getCursorOffset();s?(s.style.left=`${z.left||0}px`,s.style.top=`${z.top||0}px`,Gu(z,s)):s=H.body.createDiv({cls:`${B("date-picker")} ${B("ignore-click-outside")}`},U=>{U.style.left=`${z.left||0}px`,U.style.top=`${z.top||0}px`,ay({div:U,inputRef:e,stateManager:i,cb:Z=>{u=Z,t.current=!0,Gu(z,s)}})})}else s&&C()})}return()=>{!n&&e.current&&e.current.removeEventListener("keydown",A),s&&C(),T.destroy(),x.destroy()}}function _y({isInputVisible:e,onEnter:t,onEscape:r,onKeyDown:n,excludeDatePicker:i}){let a=P.useContext(We),o=P.useRef(!1),s=P.useRef(),{oncompositionstart:u,oncompositionend:l,getShouldIMEBlockAction:c}=yo();return P.useEffect(()=>{let d=s.current;if(e&&d)return d.focus(),d.selectionStart=d.selectionEnd=d.value.length,__({inputRef:s,isAutocompleteVisibleRef:o,obsidianContext:a,excludeDatePicker:i})},[e]),{ref:s,oncompositionstart:u,oncompositionend:l,onKeyDownCapture:d=>{c()||o.current||n(d)||(d.key==="Enter"?t&&t(d):d.key==="Escape"&&r&&r(d))}}}m();var Cy=/^[*_]{2}(.+)[*_]{2}$/;function C_(e){return e.replace(Cy,"$1")}var Dy=/^[*_]{1}(.+)[*_]{1}$/;function D_(e){return e.replace(Dy,"$1")}var Ty=/^`{1}(.+)`{1}$/;function T_(e){return e.replace(Ty,"$1")}var My=/^={2}(.+)={2}$/;function M_(e){return e.replace(My,"$1")}var Iy=/^~{2}(.+)~{2}$/;function I_(e){return e.replace(Iy,"$1")}var A_=/^(?:>.+?(?:[\r\n]|$))+$/;function L_(e){return e.split(` `).map(r=>r[0]===">"?r:`> ${r}`).join(` `)}function P_(e){return e.split(` `).map(r=>r[0]!==">"?r:r.replace(/^>+\s*/,"")).join(` @@ -59,22 +59,22 @@ Output: `),!0;if(/^(\s*\d[.)]\s+(?:\[[^\]]\]\s*)?)$/.test(i))return Pt(e,{start:r.start-1,end:r.end}),Lt(e,` `),!0;if(La.test(n)){let a=n.match(/^(\s*[-*+]\s+(?:\[[^\]]\]\s*)?)/)[1];return Da(e,` ${a.replace(/^(\s*[-*+]\s+)\[[^\]]\]/,"$1[ ]")}`),!0}if(Aa.test(n)){let s=n.match(/^(\s*\d+[.)]\s+(?:\[[^\]]\]\s*)?)/)[1].replace(/^(\s*\d+[.)]\s+)\[[^\]]\]/,"$1[ ]").replace(/^(\s*)(\d+)/,(u,l,c)=>`${l}${parseInt(c)+1}`);return Da(e,` -${s}`),!0}return!1}function Xn(e,t){return fd.Platform.isMobile?e.key==="Enter"&&!0:t.getSetting("new-line-trigger")==="enter"?e.key==="Enter"&&!(e.shiftKey||e.metaKey||e.ctrlKey):e.key==="Enter"&&e.shiftKey}var kr=L.forwardRef(function({onEnter:t,onEscape:r,onSubmit:n,...i},a){let{view:o,stateManager:s}=L.useContext(We),u=app.vault.getConfig("autoPairMarkdown"),l=app.vault.getConfig("autoPairBrackets"),c=app.vault.getConfig("useTab"),d=app.vault.getConfig("tabSize"),f=!!app.vault.getConfig("useMarkdownLinks"),p=_y({isInputVisible:!0,onEnter:t,onEscape:r,onKeyDown:g=>{if(g.key==="Backspace"){let y=Fy(g.target);return y||Ny(g.target)}if(Xn(g,s)){let y=Ry(g.target);if(y)return g.preventDefault(),y}if(g.key==="Tab")return g.preventDefault(),Oy(g.target,g.shiftKey,c,d);if(u){let y=dd[g.key];if(y&&y(g.target))return g.preventDefault(),!0}if(l){if(f&&g.key==="[")return!1;let y=ud[g.key];if(y&&y(g.target))return g.preventDefault(),!0}return!1}});return L.useEffect(()=>{let g=y=>{let b=Ly[y];b&&b(p.ref.current)};return o.emitter.on("hotkey",g),()=>{o.emitter.off("hotkey",g)}},[o]),h(S,null,h("div",{"data-replicated-value":i.value,className:B("grow-wrap")},h("textarea",{"data-ignore-drag":!0,rows:1,className:B("item-input"),...i,...p,ref:g=>{p.ref.current=g,a&&typeof a=="function"?a(g):a&&(a.current=g)}})),fd.Platform.isMobile&&h("button",{onPointerDown:n,className:B("item-submit-button")},P("Submit")))});m();var md=me(Hy());m();var Sr=me(require("obsidian"));var Y_=["bmp","png","jpg","jpeg","gif","svg"],J_=["mp3","wav","m4a","3gp","flac","ogg","oga"],G_=["mp4","webm","ogv"],Q_=/\u00A0/g,X_=/[!"#$%&()*+,.:;<=>?@^`{|}~/[\]\\]/g;function By(e){return e.replace(X_," ").replace(/\s+/g," ").trim()}function zr(e){let r=e.replace(Q_," ").normalize("NFC").split(/\|(.*)/),n=r[0].split(/#(.*)/);return{root:n[0],subpath:n[1]?"#"+n[1]:"",alias:r[1]||""}}function Z_(e,t){if(!e||!t)return null;let r=t.split("#").filter(l=>!!l);if(!r||r.length===0)return null;if(r.length===1){let l=r[0];if(l.startsWith("^")){let c=l.slice(1).toLowerCase(),d=e.blocks;if(d&&d[c]){let f=d[c];return{type:"block",block:f,start:f.position.start.offset,end:f.position.end.offset,startLine:f.position.start.line,endLine:f.position.end.line}}else return null}}let n=e.headings;if(!n||n.length===0)return null;let i=0,a=0,o=0,s=null,u=null;for(;ao&&By(l.heading).toLowerCase()===By(r[i]).toLowerCase()&&(i++,o=l.level,i===r.length&&(s=l))}return s?{type:"heading",current:s,next:u,start:s.position.start.offset,end:u?u.position.start.offset:null,startLine:s.position.start.line,endLine:u?u.position.end.line:null}:null}function eC(e){e.querySelectorAll(".task-list-item-checkbox").forEach((r,n)=>{r.dataset.checkboxIndex=n.toString()})}function tC(e,t){e.querySelectorAll(".internal-link").forEach(n=>{let i=zr(n.getAttr("href"));t.app.metadataCache.getFirstLinkpathDest(i.root,t.file.path)||n.addClass("is-unresolved")})}function nC(e,t,r){e.empty(),e.createEl("img",{attr:{src:r.app.vault.getResourcePath(t)}},n=>{e.hasAttribute("width")&&n.setAttribute("width",e.getAttribute("width")),e.hasAttribute("height")&&n.setAttribute("height",e.getAttribute("height")),e.hasAttribute("alt")&&n.setAttribute("alt",e.getAttribute("alt"))}),e.addClasses(["image-embed","is-loaded"])}function Ky(e,t,r){e.empty(),e.createEl("audio",{attr:{controls:"",src:r.app.vault.getResourcePath(t)}}),e.addClasses(["media-embed","is-loaded"])}function rC(e,t,r){e.empty(),e.createEl("video",{attr:{controls:"",src:r.app.vault.getResourcePath(t)}},n=>{let i=()=>{n.removeEventListener("loadedmetadata",i),n.videoWidth===0&&n.videoHeight===0&&(e.empty(),Ky(e,t,r))};n.addEventListener("loadedmetadata",i)}),e.addClasses(["media-embed","is-loaded"])}async function $y(e,t,r){let n=r.app.metadataCache.getFileCache(e);if(!n)return null;let i=await r.app.vault.cachedRead(e);if(!t.subpath)return{markdown:i,boundary:null};let a=Z_(n,t.subpath);if(a)return{markdown:i.substring(a.start,a.end===null?void 0:a.end),boundary:a};if(t.subpath)return{markdown:`${P("Unable to find")} ${t.root}${t.subpath}`,boundary:null}}function Uy(e,t,r,n){r.getWindow().setTimeout(async()=>{if(!r.plugin.windowRegistry.has(r.getWindow()))return;if(r.plugin.windowRegistry.get(r.getWindow()).viewMap.has(r.id)){let{markdown:a}=await $y(e,t,r);if(!a)return;a.startsWith(P("Unable to find"))?n>0&&Uy(e,t,r,--n):r.plugin.stateManagers.forEach(o=>{o.onFileMetadataChange()})}},2e3)}async function iC(e,t,r,n,i){var u;let{markdown:a,boundary:o}=await $y(t,r,n);if(!a)return;e.empty();let s=e.createDiv();if(s.addClasses(["markdown-preview-view",B("markdown-preview-view")]),s.createDiv(B("embed-link-wrapper"),l=>{l.createEl("a",{href:e.getAttr("src")||t.basename,cls:`internal-link ${B("embed-link")}`},c=>{(0,Sr.setIcon)(c,"link"),c.setAttr("aria-label",t.basename)})}),await Sr.MarkdownRenderer.renderMarkdown(a,s.createDiv(),t.path,n),e.addClass("is-loaded"),a.startsWith(P("Unable to find"))&&r.subpath&&r.subpath!=="#")Uy(t,r,n,4);else{let l=e.findAll(".task-list-item-checkbox");(l==null?void 0:l.length)&&((u=app.metadataCache.getFileCache(t).listItems)==null||u.filter(d=>o?d.position.start.line>=o.startLine&&d.position.end.line<=o.endLine:!0).forEach((d,f)=>{l[f]&&(l[f].dataset.oStart=d.position.start.offset.toString(),l[f].dataset.oEnd=d.position.end.offset.toString(),l[f].dataset.src=t.path)}))}i>0&&await Vy(s,n,--i)}function aC(e,t){e.addClass("is-loaded"),e.empty(),e.createEl("a",{cls:"file-link",href:e.getAttribute("src"),text:t.name},r=>{r.setAttribute("aria-label",P("Open in default app")),r.createSpan({},n=>(0,Sr.setIcon)(n,"open-elsewhere-glyph"))})}function Vy(e,t,r){return Promise.all(e.findAll(".internal-embed").map(async n=>{let i=n.getAttribute("src"),a=zr(i),o=typeof i=="string"&&t.app.metadataCache.getFirstLinkpathDest(a.root,t.file.path);if(o instanceof Sr.TFile)return Y_.contains(o.extension)?nC(n,o,t):J_.contains(o.extension)?Ky(n,o,t):G_.contains(o.extension)?rC(n,o,t):o.extension==="md"?await iC(n,o,a,t,r):aC(n,o)}))}async function Pa(e,t){let r=e.getWindow().document.body.createDiv();r.detach();try{await Sr.MarkdownRenderer.renderMarkdown(t,r,e.file.path,e),eC(r),tC(r,e),await Vy(r,e,5)}catch(n){console.error(n)}return r}function gd(e,t){!t||!e||(e&&!e.firstChild?e.appendChild(t):e.firstChild&&e.firstChild!==t&&e.replaceChild(t,e.firstChild))}var Fa=L.memo(function({className:t,markdownString:r,searchQuery:n,...i}){let{stateManager:a}=L.useContext(We),o=L.useRef(),s=L.useRef(),u=L.useRef();return L.useEffect(()=>{Pa(a.getAView(),r).then(l=>{s.current=l,u.current=new md.default(l),o.current&&gd(o.current,l)}).catch(l=>{a.setError(l),console.error(l)})},[a,r]),L.useEffect(()=>{var l,c;(l=u.current)==null||l.unmark(),n&&n.trim()&&((c=u.current)==null||c.mark(n))},[n]),h("div",{ref:l=>{o.current=l,gd(l,s.current)},className:et(["markdown-preview-view",B("markdown-preview-view"),t]),...i})}),Wy=L.memo(function({dom:t,className:r,searchQuery:n,...i}){let{stateManager:a}=L.useContext(We),o=L.useMemo(()=>t?t.cloneNode(!0):createDiv(),[t,a]),s=L.useMemo(()=>new md.default(o),[o]);return L.useEffect(()=>{s.unmark(),n&&n.trim()&&s.mark(n)},[s,n]),h("div",{ref:u=>{gd(u,o)},className:et(["markdown-preview-view",B("markdown-preview-view"),r]),...i})});m();var Na=me(require("obsidian"));function oC(e,t){if(t)return t.from((0,Na.moment)());let r=(0,Na.moment)().startOf("day");if(r.isSame(e,"day"))return P("today");let n=e.diff(r,"day");return n===-1?P("yesterday"):n===1?P("tomorrow"):e.from(r)}function zy({item:e,stateManager:t}){if(!t.useSetting("show-relative-date")||!e.data.metadata.date)return null;let n=oC(e.data.metadata.date,e.data.metadata.time);return h("span",{className:B("item-metadata-date-relative")},n)}function jy({item:e,stateManager:t,filePath:r,onEditDate:n,onEditTime:i,getDateColor:a}){let o=t.useSetting("hide-date-display"),s=t.useSetting("date-format"),u=t.useSetting("time-format"),l=t.useSetting("date-display-format"),c=t.useSetting("link-date-to-daily-note"),d=L.useMemo(()=>e.data.metadata.date?a(e.data.metadata.date):null,[e.data.metadata.date,a]);if(o||!e.data.metadata.date)return null;let f=e.data.metadata.date.format(s);if(!f)return null;let p=!!e.data.metadata.time,g=e.data.metadata.date.format(l),y=p?e.data.metadata.time.format(u):null,b=f?(0,Na.getLinkpath)(f):null,k=f?t.app.metadataCache.getFirstLinkpathDest(b,r):null,T=b&&c?h("a",{href:b,"data-href":b,className:`internal-link ${k?"":"is-unresolved"}`,target:"blank",rel:"noopener"},g):g,C={};return c||(C["aria-label"]=P("Change date"),C.onClick=n),h("span",{style:d&&{"--date-color":d.color,"--date-background-color":d.backgroundColor},className:et([B("item-metadata-date-wrapper"),{"has-background":!!(d==null?void 0:d.backgroundColor)}])},h("span",{...C,className:`${B("item-metadata-date")} ${c?"":"is-button"}`},T)," ",p&&h("span",{onClick:i,className:`${B("item-metadata-time")} is-button`,"aria-label":P("Change time")},y))}function sC(e){let{stateManager:t,boardModifiers:r}=L.useContext(We),n=Wn();return L.useMemo(()=>({onEditDate:o=>{var s;os(o.view,t,{x:o.clientX,y:o.clientY},ss({stateManager:t,boardModifiers:r,item:e,hasDate:!0,path:n}),(s=e.data.metadata.date)==null?void 0:s.toDate())},onEditTime:o=>{ls(o.view,t,{x:o.clientX,y:o.clientY},cs({stateManager:t,boardModifiers:r,item:e,hasTime:!0,path:n}),e.data.metadata.time)}}),[r,n,e,t])}function lC(e,t){let r=0;return e.replace(/^(\s*[-+*]\s+?\[)([^\]])(\]\s+)/gm,(n,i,a,o)=>{let s=n;return r===t&&(a===" "?s=`${i}x${o}`:s=`${i} ${o}`),r++,s})}async function cC(e){let t=app.vault.getAbstractFileByPath(e.dataset.src);if(!(t instanceof qy.TFile))return;let r=await app.vault.cachedRead(t),n=parseInt(e.dataset.oStart),i=parseInt(e.dataset.oEnd),o=r.substring(n,i).replace(/^(.+?)\[(.)\](.+)$/,(s,u,l,c)=>l!==" "?(e.parentElement.removeClass("is-checked"),e.parentElement.dataset.task="",`${u}[ ]${c}`):(e.parentElement.addClass("is-checked"),e.parentElement.dataset.task="x",`${u}[x]${c}`));await app.vault.modify(t,`${r.substring(0,n)}${o}${r.substring(i)}`)}var Yy=L.memo(function({item:t,isEditing:r,setIsEditing:n,searchQuery:i}){var H;let[a,o]=L.useState(t.data.titleRaw),{stateManager:s,filePath:u,boardModifiers:l,view:c,getTagColor:d,getDateColor:f}=L.useContext(We),p=s.useSetting("hide-tags-display"),g=Wn(),{onEditDate:y,onEditTime:b}=sC(t);L.useEffect(()=>{r&&o(t.data.titleRaw)},[r]);let k=L.useCallback(D=>{if(!Xn(D,s))return D.preventDefault(),s.updateItemContent(t,a).then(K=>{l.updateItem(g,K)}).catch(K=>{s.setError(K),console.error(K)}),n(!1),!0},[s,a,t,g]),T=L.useCallback(()=>{s.updateItemContent(t,a).then(D=>{l.updateItem(g,D)}).catch(D=>{s.setError(D),console.error(D)}),n(!1)},[s,a,t,g]),C=L.useCallback(()=>(n(!1),o(t.data.titleRaw),!0),[t]),A=L.useCallback(D=>{let K=D.target;if(K.hasClass("task-list-item-checkbox")){if(K.dataset.src)return cC(K);let z=parseInt(K.dataset.checkboxIndex,10);s.updateItemContent(t,lC(t.data.titleRaw,z)).then(U=>{l.updateItem(g,U)}).catch(U=>{s.setError(U),console.error(U)})}},[g,l,s,t]);return r?h("div",{className:B("item-input-wrapper")},h(kr,{className:B("item-input"),onChange:D=>o(D.target.value),onEnter:k,onEscape:C,onSubmit:T,value:a,onPaste:D=>{ws(D,s,c.getWindow())}})):h("div",{className:B("item-title")},h(Wy,{className:B("item-markdown"),dom:t.data.dom,searchQuery:i,onPointerDown:A}),h("div",{className:B("item-metadata")},h(zy,{item:t,stateManager:s}),h(jy,{item:t,stateManager:s,filePath:u,onEditDate:y,onEditTime:b,getDateColor:f}),!p&&!!((H=t.data.metadata.tags)==null?void 0:H.length)&&h("div",{className:B("item-tags")},t.data.metadata.tags.map((D,K)=>{let z=d(D);return h("a",{href:D,key:K,className:`tag ${B("item-tag")} ${D.toLocaleLowerCase().contains(i)?"is-search-match":""}`,style:z&&{"--tag-color":z.color,"--tag-background-color":z.backgroundColor}},h("span",null,D[0]),D.slice(1))}))))});m();var Ts=me(require("obsidian"));var uC=/[\\/:"*?<>|]+/g,dC=/!?\[\[([^\]]*)\.[^\]]+\]\]/g,fC=/!?\[\[([^\]]*)\]\]/g,pC=/!?\[([^\]]*)\]\([^)]*\)/g;function Jy({setIsEditing:e,item:t,path:r,boardModifiers:n,stateManager:i}){return L.useCallback((a,o)=>{if(o)app.workspace.onLinkContextMenu(a,(0,Ts.getLinkpath)(o),i.file.path);else{let s={x:a.clientX,y:a.clientY},u=!!t.data.metadata.date,l=!!t.data.metadata.time,c=new Ts.Menu().addItem(d=>{d.setIcon("pencil").setTitle(P("Edit card")).onClick(()=>e(!0))});c.addItem(d=>{d.setIcon("create-new").setTitle(P("New note from card")).onClick(async()=>{let f=t.data.title.split(` -`)[0].trim(),p=f.replace(dC,"$1").replace(fC,"$1").replace(pC,"$1").replace(uC," ").trim(),g=i.getSetting("new-note-folder"),y=i.getSetting("new-note-template"),b=g?i.app.vault.getAbstractFileByPath(g):i.app.fileManager.getNewFileParent(i.file.path),k=await i.app.fileManager.createNewMarkdownFile(b,p),T=i.app.workspace.splitActiveLeaf();await T.openFile(k),i.app.workspace.setActiveLeaf(T,!1,!0),await Ap(i,y);let C=t.data.titleRaw.replace(f,i.app.fileManager.generateMarkdownLink(k,i.file.path));i.updateItemContent(t,C).then(A=>{n.updateItem(r,A)}).catch(A=>{i.setError(A),console.error(A)})})}).addItem(d=>{d.setIcon("links-coming-in").setTitle(P("Copy link to card")).onClick(()=>{if(t.data.blockId)navigator.clipboard.writeText(`${this.app.fileManager.generateMarkdownLink(i.file,"","#^"+t.data.blockId)}`);else{let f=Ae(6);navigator.clipboard.writeText(`${this.app.fileManager.generateMarkdownLink(i.file,"","#^"+f)}`),i.updateItemContent(t,`${t.data.titleRaw} ^${f}`).then(p=>{n.updateItem(r,p)}).catch(p=>{i.setError(p),console.error(p)})}})}).addSeparator(),/\n/.test(t.data.titleRaw)&&c.addItem(d=>{d.setIcon("split").setTitle(P("Split card")).onClick(async()=>{let f=t.data.titleRaw.split(/[\r\n]+/g).map(g=>g.trim()),p=await Promise.all(f.map(g=>i.getNewItem(g)));n.splitItem(r,p)})}),c.addItem(d=>{d.setIcon("documents").setTitle(P("Duplicate card")).onClick(()=>n.duplicateEntity(r))}).addItem(d=>{d.setIcon("plus-with-circle").setTitle(P("Insert card before")).onClick(async()=>n.insertItems(r,[await i.getNewItem("",!1,!0)]))}).addItem(d=>{d.setIcon("plus-with-circle").setTitle(P("Insert card after")).onClick(async()=>{let f=[...r];f[f.length-1]=f[f.length-1]+1,n.insertItems(f,[await i.getNewItem("",!1,!0)])})}).addItem(d=>{d.setIcon("up-arrow-with-tail").setTitle(P("Move to top")).onClick(()=>n.moveItemToTop(r))}).addItem(d=>{d.setIcon("down-arrow-with-tail").setTitle(P("Move to bottom")).onClick(()=>n.moveItemToBottom(r))}).addItem(d=>{d.setIcon("sheets-in-box").setTitle(P("Archive card")).onClick(()=>n.archiveItem(r))}).addItem(d=>{d.setIcon("trash").setTitle(P("Delete card")).onClick(()=>n.deleteEntity(r))}).addSeparator().addItem(d=>{d.setIcon("calendar-with-checkmark").setTitle(u?P("Edit date"):P("Add date")).onClick(()=>{var f;os(a.view,i,s,ss({stateManager:i,boardModifiers:n,item:t,hasDate:u,path:r}),(f=t.data.metadata.date)==null?void 0:f.toDate())})}),u&&(c.addItem(d=>{d.setIcon("cross").setTitle(P("Remove date")).onClick(()=>{let f=i.getSetting("link-date-to-daily-note"),p=i.getSetting("date-trigger"),g=f?"(?:\\[[^\\]]+\\]\\([^\\)]+\\)|\\[\\[[^\\]]+\\]\\])":"{[^}]+}",y=new RegExp(`(^|\\s)${Ln(p)}${g}`),b=t.data.titleRaw.replace(y,"").trim();i.updateItemContent(t,b).then(k=>{n.updateItem(r,k)}).catch(k=>{i.setError(k),console.error(k)})})}),c.addItem(d=>{d.setIcon("clock").setTitle(l?P("Edit time"):P("Add time")).onClick(()=>{ls(a.view,i,s,cs({stateManager:i,boardModifiers:n,item:t,hasTime:l,path:r}),t.data.metadata.time)})}),l&&c.addItem(d=>{d.setIcon("cross").setTitle(P("Remove time")).onClick(()=>{let f=i.getSetting("time-trigger"),p=new RegExp(`(^|\\s)${Ln(f)}{([^}]+)}`),g=t.data.titleRaw.replace(p,"").trim();i.updateItemContent(t,g).then(y=>{n.updateItem(r,y)}).catch(y=>{i.setError(y),console.error(y)})})})),c.showAtPosition(s)}},[e,t,r,n,i])}m();var Gy=L.memo(function({isEditing:t,setIsEditing:r,showMenu:n}){let i=L.useMemo(()=>t?{"data-ignore-drag":!0}:{},[t]);return h("div",{...i,className:B("item-postfix-button-wrapper")},t?h("button",{"data-ignore-drag":!0,onPointerDown:a=>{a.preventDefault()},onClick:()=>{r(!1)},className:`${B("item-postfix-button")} is-enabled`,"aria-label":P("Cancel")},h(_t,{name:"cross"})):h("button",{"data-ignore-drag":!0,onPointerDown:a=>a.preventDefault(),onClick:n,className:B("item-postfix-button"),"aria-label":P("More options")},h(_t,{name:"vertical-three-dots"})))});m();var Ms=me(require("obsidian"));function Qy({item:e,isSettingsVisible:t,searchQuery:r}){return t||!e.data.metadata.fileMetadata?null:h("div",{className:B("item-metadata-wrapper")},h(mC,{metadata:e.data.metadata.fileMetadata,order:e.data.metadata.fileMetadataOrder,searchQuery:r}))}function Xy(e,t){if(e.ts){let r=t.getSetting("date-display-format");return(0,Ms.moment)(e.ts).format(r)}return null}function Zy(e,t){if(!e.path)return null;let r=app.vault.getAbstractFileByPath(e.path);if(r&&r instanceof Ms.TFile){let n=app.fileManager.generateMarkdownLink(r,t.file.path,e.subpath,e.display);return`${e.embed&&n[0]!=="!"?"!":""}${n}`}return`${e.embed?"!":""}[[${e.path}${e.display?`|${e.display}`:""}]]`}function hC({data:e,searchQuery:t}){let{view:r,stateManager:n}=L.useContext(We);if(Array.isArray(e.value))return h("span",{className:B("meta-value")},e.value.map((s,u,l)=>{let c=`${s}`,d=typeof s=="object"&&!Array.isArray(s)&&(Xy(s,n)||Zy(s,r)),f=c.toLocaleLowerCase().contains(t);return h(S,null,d||e.containsMarkdown?h(Fa,{className:"inline",markdownString:d||c,searchQuery:t}):f?h("span",{className:"is-search-match"},c):c,u{let a=t[i];return h("tr",{key:i,className:B("meta-row")},!a.shouldHideLabel&&h("td",{className:`${B("meta-key")} ${(a.label||i).toLocaleLowerCase().contains(n)?"is-search-match":""}`,"data-key":i},h("span",null,a.label||i)),h("td",{colSpan:a.shouldHideLabel?2:1,className:B("meta-value-wrapper"),"data-value":Array.isArray(a.value)?a.value.join(", "):`${a.value}`},i==="tags"?a.value.map((o,s)=>h("a",{href:o,key:s,className:`tag ${B("item-tag")} ${o.toLocaleLowerCase().contains(n)?"is-search-match":""}`},h("span",null,o[0]),o.slice(1))):h(hC,{data:a,searchQuery:n})))})))});var eb=L.memo(function({item:t,shouldMarkItemsComplete:r,isMatch:n,searchQuery:i}){let{stateManager:a,boardModifiers:o}=L.useContext(We),[s,u]=L.useState(!1),l=L.useContext(kt);L.useEffect(()=>{let y=()=>{s&&u(!1)};return l.dragManager.emitter.on("dragStart",y),()=>{l.dragManager.emitter.off("dragStart",y)}},[l,s]),L.useEffect(()=>{t.data.forceEditMode&&u(!0)},[t.data.forceEditMode]);let c=Wn(),d=Jy({boardModifiers:o,item:t,setIsEditing:u,stateManager:a,path:c}),f=L.useCallback(y=>{if(y.target instanceof y.view.HTMLTextAreaElement)return;y.preventDefault(),y.stopPropagation();let b=y.target instanceof y.view.HTMLAnchorElement&&y.target.hasClass("internal-link")?y.target.dataset.href:void 0;d(y,b)},[d]),p=L.useCallback(()=>{u(!0)},[u]),g=L.useMemo(()=>s?{"data-ignore-drag":!0}:{},[s]);return h("div",{onContextMenu:f,onDblClick:p,className:B("item-content-wrapper"),...g},h("div",{className:B("item-title-wrapper"),...g},h(pv,{boardModifiers:o,item:t,path:c,shouldMarkItemsComplete:r,stateManager:a}),h(Yy,{isEditing:s,item:t,searchQuery:n?i:void 0,setIsEditing:u}),h(Gy,{isEditing:s,setIsEditing:u,showMenu:d})),h(Qy,{searchQuery:n?i:void 0,isSettingsVisible:s,item:t}))}),vd=L.memo(function(t){let r=L.useRef(null),n=L.useRef(null),i=L.useContext(go),{itemIndex:a,...o}=t;Mi(n,n);let s=i?o.item.data.titleSearch.contains(i):!1,u=iv(o.item);return i&&(s?u.push("is-search-hit"):u.push("is-search-miss")),h("div",{ref:n,className:B("item-wrapper")},h("div",{ref:r,className:et([B("item"),...u])},t.isStatic?h(eb,{...o,isMatch:s,searchQuery:i}):h(gr,{elementRef:r,measureRef:n,id:t.item.id,index:a,data:t.item},h(eb,{...o,isMatch:s,searchQuery:i}))))}),tb=L.memo(function({isStatic:t,items:r,shouldMarkItemsComplete:n}){return h(S,null,r.map((i,a)=>h(vd,{key:i.id,item:i,itemIndex:a,shouldMarkItemsComplete:n,isStatic:t})))});m();m();var gC=function(e,t,r,n){function i(a){return a instanceof r?a:new r(function(o){o(a)})}return new(r||(r=Promise))(function(a,o){function s(c){try{l(n.next(c))}catch(d){o(d)}}function u(c){try{l(n.throw(c))}catch(d){o(d)}}function l(c){c.done?a(c.value):i(c.value).then(s,u)}l((n=n.apply(e,t||[])).next())})};function Is(e){let t=0,r=0,n=e;do t+=n.offsetTop||0,r+=n.offsetLeft||0,n=n.offsetParent;while(n);return{top:t,left:r}}var nb=class{constructor(t){this.element=t}getHorizontalScroll(){return this.element.scrollLeft}getVerticalScroll(){return this.element.scrollTop}getMaxHorizontalScroll(){return this.element.scrollWidth-this.element.clientWidth}getMaxVerticalScroll(){return this.element.scrollHeight-this.element.clientHeight}getHorizontalElementScrollOffset(t,r){return Is(t).left-Is(r).left}getVerticalElementScrollOffset(t,r){return Is(t).top-Is(r).top}scrollTo(t,r){this.element.scrollLeft=t,this.element.scrollTop=r}},rb=class{constructor(){this.element=window}getHorizontalScroll(){return window.scrollX||document.documentElement.scrollLeft}getVerticalScroll(){return window.scrollY||document.documentElement.scrollTop}getMaxHorizontalScroll(){return Math.max(document.body.scrollWidth,document.documentElement.scrollWidth,document.body.offsetWidth,document.documentElement.offsetWidth,document.body.clientWidth,document.documentElement.clientWidth)-window.innerWidth}getMaxVerticalScroll(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)-window.innerHeight}getHorizontalElementScrollOffset(t){return(window.scrollX||document.documentElement.scrollLeft)+t.getBoundingClientRect().left}getVerticalElementScrollOffset(t){return(window.scrollY||document.documentElement.scrollTop)+t.getBoundingClientRect().top}scrollTo(t,r){window.scrollTo(t,r)}},Zn={elements:[],cancelMethods:[],add:(e,t)=>{Zn.elements.push(e),Zn.cancelMethods.push(t)},remove:(e,t)=>{let r=Zn.elements.indexOf(e);r>-1&&(t&&Zn.cancelMethods[r](),Zn.elements.splice(r,1),Zn.cancelMethods.splice(r,1))}},ib=typeof window!="undefined",vC={cancelOnUserAction:!0,easing:e=>--e*e*e+1,elementToScroll:ib?window:null,horizontalOffset:0,maxDuration:3e3,minDuration:250,speed:500,verticalOffset:0};function yC(e,t={}){return gC(this,void 0,void 0,function*(){if(ib){if(!window.Promise)throw"Browser doesn't support Promises, and animated-scroll-to depends on it, please provide a polyfill."}else return new Promise(A=>{A(!1)});let r,n,i,a=Object.assign(Object.assign({},vC),t),o=a.elementToScroll===window,s=!!a.elementToScroll.nodeName;if(!o&&!s)throw"Element to scroll needs to be either window or DOM element.";let u=o?document.documentElement:a.elementToScroll;getComputedStyle(u).getPropertyValue("scroll-behavior")==="smooth"&&console.warn(`${u.tagName} has "scroll-behavior: smooth" which can mess up with animated-scroll-to's animations`);let c=o?new rb:new nb(a.elementToScroll);if(e instanceof Element){if(i=e,s&&(!a.elementToScroll.contains(i)||a.elementToScroll.isSameNode(i)))throw"options.elementToScroll has to be a parent of scrollToElement";r=c.getHorizontalElementScrollOffset(i,a.elementToScroll),n=c.getVerticalElementScrollOffset(i,a.elementToScroll)}else if(typeof e=="number")r=c.getHorizontalScroll(),n=e;else if(Array.isArray(e)&&e.length===2)r=e[0]===null?c.getHorizontalScroll():e[0],n=e[1]===null?c.getVerticalScroll():e[1];else throw`Wrong function signature. Check documentation. +${s}`),!0}return!1}function Xn(e,t){return fd.Platform.isMobile?e.key==="Enter"&&!0:t.getSetting("new-line-trigger")==="enter"?e.key==="Enter"&&!(e.shiftKey||e.metaKey||e.ctrlKey):e.key==="Enter"&&e.shiftKey}var xr=P.forwardRef(function({onEnter:t,onEscape:r,onSubmit:n,...i},a){let{view:o,stateManager:s}=P.useContext(We),u=app.vault.getConfig("autoPairMarkdown"),l=app.vault.getConfig("autoPairBrackets"),c=app.vault.getConfig("useTab"),d=app.vault.getConfig("tabSize"),f=!!app.vault.getConfig("useMarkdownLinks"),p=_y({isInputVisible:!0,onEnter:t,onEscape:r,onKeyDown:g=>{if(g.key==="Backspace"){let y=Fy(g.target);return y||Ny(g.target)}if(Xn(g,s)){let y=Ry(g.target);if(y)return g.preventDefault(),y}if(g.key==="Tab")return g.preventDefault(),Oy(g.target,g.shiftKey,c,d);if(u){let y=dd[g.key];if(y&&y(g.target))return g.preventDefault(),!0}if(l){if(f&&g.key==="[")return!1;let y=ud[g.key];if(y&&y(g.target))return g.preventDefault(),!0}return!1}});return P.useEffect(()=>{let g=y=>{let b=Ly[y];b&&b(p.ref.current)};return o.emitter.on("hotkey",g),()=>{o.emitter.off("hotkey",g)}},[o]),h(S,null,h("div",{"data-replicated-value":i.value,className:B("grow-wrap")},h("textarea",{"data-ignore-drag":!0,rows:1,className:B("item-input"),...i,...p,ref:g=>{p.ref.current=g,a&&typeof a=="function"?a(g):a&&(a.current=g)}})),fd.Platform.isMobile&&h("button",{onPointerDown:n,className:B("item-submit-button")},L("Submit")))});m();var md=me(Hy());m();var Sr=me(require("obsidian"));var Y_=["bmp","png","jpg","jpeg","gif","svg"],J_=["mp3","wav","m4a","3gp","flac","ogg","oga"],G_=["mp4","webm","ogv"],Q_=/\u00A0/g,X_=/[!"#$%&()*+,.:;<=>?@^`{|}~/[\]\\]/g;function By(e){return e.replace(X_," ").replace(/\s+/g," ").trim()}function zr(e){let r=e.replace(Q_," ").normalize("NFC").split(/\|(.*)/),n=r[0].split(/#(.*)/);return{root:n[0],subpath:n[1]?"#"+n[1]:"",alias:r[1]||""}}function Z_(e,t){if(!e||!t)return null;let r=t.split("#").filter(l=>!!l);if(!r||r.length===0)return null;if(r.length===1){let l=r[0];if(l.startsWith("^")){let c=l.slice(1).toLowerCase(),d=e.blocks;if(d&&d[c]){let f=d[c];return{type:"block",block:f,start:f.position.start.offset,end:f.position.end.offset,startLine:f.position.start.line,endLine:f.position.end.line}}else return null}}let n=e.headings;if(!n||n.length===0)return null;let i=0,a=0,o=0,s=null,u=null;for(;ao&&By(l.heading).toLowerCase()===By(r[i]).toLowerCase()&&(i++,o=l.level,i===r.length&&(s=l))}return s?{type:"heading",current:s,next:u,start:s.position.start.offset,end:u?u.position.start.offset:null,startLine:s.position.start.line,endLine:u?u.position.end.line:null}:null}function eC(e){e.querySelectorAll(".task-list-item-checkbox").forEach((r,n)=>{r.dataset.checkboxIndex=n.toString()})}function tC(e,t){e.querySelectorAll(".internal-link").forEach(n=>{let i=zr(n.getAttr("href"));t.app.metadataCache.getFirstLinkpathDest(i.root,t.file.path)||n.addClass("is-unresolved")})}function nC(e,t,r){e.empty(),e.createEl("img",{attr:{src:r.app.vault.getResourcePath(t)}},n=>{e.hasAttribute("width")&&n.setAttribute("width",e.getAttribute("width")),e.hasAttribute("height")&&n.setAttribute("height",e.getAttribute("height")),e.hasAttribute("alt")&&n.setAttribute("alt",e.getAttribute("alt"))}),e.addClasses(["image-embed","is-loaded"])}function Ky(e,t,r){e.empty(),e.createEl("audio",{attr:{controls:"",src:r.app.vault.getResourcePath(t)}}),e.addClasses(["media-embed","is-loaded"])}function rC(e,t,r){e.empty(),e.createEl("video",{attr:{controls:"",src:r.app.vault.getResourcePath(t)}},n=>{let i=()=>{n.removeEventListener("loadedmetadata",i),n.videoWidth===0&&n.videoHeight===0&&(e.empty(),Ky(e,t,r))};n.addEventListener("loadedmetadata",i)}),e.addClasses(["media-embed","is-loaded"])}async function $y(e,t,r){let n=r.app.metadataCache.getFileCache(e);if(!n)return null;let i=await r.app.vault.cachedRead(e);if(!t.subpath)return{markdown:i,boundary:null};let a=Z_(n,t.subpath);if(a)return{markdown:i.substring(a.start,a.end===null?void 0:a.end),boundary:a};if(t.subpath)return{markdown:`${L("Unable to find")} ${t.root}${t.subpath}`,boundary:null}}function Uy(e,t,r,n){r.getWindow().setTimeout(async()=>{if(!r.plugin.windowRegistry.has(r.getWindow()))return;if(r.plugin.windowRegistry.get(r.getWindow()).viewMap.has(r.id)){let{markdown:a}=await $y(e,t,r);if(!a)return;a.startsWith(L("Unable to find"))?n>0&&Uy(e,t,r,--n):r.plugin.stateManagers.forEach(o=>{o.onFileMetadataChange()})}},2e3)}async function iC(e,t,r,n,i){var u;let{markdown:a,boundary:o}=await $y(t,r,n);if(!a)return;e.empty();let s=e.createDiv();if(s.addClasses(["markdown-preview-view",B("markdown-preview-view")]),s.createDiv(B("embed-link-wrapper"),l=>{l.createEl("a",{href:e.getAttr("src")||t.basename,cls:`internal-link ${B("embed-link")}`},c=>{(0,Sr.setIcon)(c,"link"),c.setAttr("aria-label",t.basename)})}),await Sr.MarkdownRenderer.renderMarkdown(a,s.createDiv(),t.path,n),e.addClass("is-loaded"),a.startsWith(L("Unable to find"))&&r.subpath&&r.subpath!=="#")Uy(t,r,n,4);else{let l=e.findAll(".task-list-item-checkbox");(l==null?void 0:l.length)&&((u=app.metadataCache.getFileCache(t).listItems)==null||u.filter(d=>o?d.position.start.line>=o.startLine&&d.position.end.line<=o.endLine:!0).forEach((d,f)=>{l[f]&&(l[f].dataset.oStart=d.position.start.offset.toString(),l[f].dataset.oEnd=d.position.end.offset.toString(),l[f].dataset.src=t.path)}))}i>0&&await Vy(s,n,--i)}function aC(e,t){e.addClass("is-loaded"),e.empty(),e.createEl("a",{cls:"file-link",href:e.getAttribute("src"),text:t.name},r=>{r.setAttribute("aria-label",L("Open in default app")),r.createSpan({},n=>(0,Sr.setIcon)(n,"lucide-arrow-up-right"))})}function Vy(e,t,r){return Promise.all(e.findAll(".internal-embed").map(async n=>{let i=n.getAttribute("src"),a=zr(i),o=typeof i=="string"&&t.app.metadataCache.getFirstLinkpathDest(a.root,t.file.path);if(o instanceof Sr.TFile)return Y_.contains(o.extension)?nC(n,o,t):J_.contains(o.extension)?Ky(n,o,t):G_.contains(o.extension)?rC(n,o,t):o.extension==="md"?await iC(n,o,a,t,r):aC(n,o)}))}async function Pa(e,t){let r=e.getWindow().document.body.createDiv();r.detach();try{await Sr.MarkdownRenderer.renderMarkdown(t,r,e.file.path,e),eC(r),tC(r,e),await Vy(r,e,5)}catch(n){console.error(n)}return r}function gd(e,t){!t||!e||(e&&!e.firstChild?e.appendChild(t):e.firstChild&&e.firstChild!==t&&e.replaceChild(t,e.firstChild))}var Fa=P.memo(function({className:t,markdownString:r,searchQuery:n,...i}){let{stateManager:a}=P.useContext(We),o=P.useRef(),s=P.useRef(),u=P.useRef();return P.useEffect(()=>{Pa(a.getAView(),r).then(l=>{s.current=l,u.current=new md.default(l),o.current&&gd(o.current,l)}).catch(l=>{a.setError(l),console.error(l)})},[a,r]),P.useEffect(()=>{var l,c;(l=u.current)==null||l.unmark(),n&&n.trim()&&((c=u.current)==null||c.mark(n))},[n]),h("div",{ref:l=>{o.current=l,gd(l,s.current)},className:et(["markdown-preview-view",B("markdown-preview-view"),t]),...i})}),Wy=P.memo(function({dom:t,className:r,searchQuery:n,...i}){let{stateManager:a}=P.useContext(We),o=P.useMemo(()=>t?t.cloneNode(!0):createDiv(),[t,a]),s=P.useMemo(()=>new md.default(o),[o]);return P.useEffect(()=>{s.unmark(),n&&n.trim()&&s.mark(n)},[s,n]),h("div",{ref:u=>{gd(u,o)},className:et(["markdown-preview-view",B("markdown-preview-view"),r]),...i})});m();var Na=me(require("obsidian"));function oC(e,t){if(t)return t.from((0,Na.moment)());let r=(0,Na.moment)().startOf("day");if(r.isSame(e,"day"))return L("today");let n=e.diff(r,"day");return n===-1?L("yesterday"):n===1?L("tomorrow"):e.from(r)}function zy({item:e,stateManager:t}){if(!t.useSetting("show-relative-date")||!e.data.metadata.date)return null;let n=oC(e.data.metadata.date,e.data.metadata.time);return h("span",{className:B("item-metadata-date-relative")},n)}function jy({item:e,stateManager:t,filePath:r,onEditDate:n,onEditTime:i,getDateColor:a}){let o=t.useSetting("hide-date-display"),s=t.useSetting("date-format"),u=t.useSetting("time-format"),l=t.useSetting("date-display-format"),c=t.useSetting("link-date-to-daily-note"),d=P.useMemo(()=>e.data.metadata.date?a(e.data.metadata.date):null,[e.data.metadata.date,a]);if(o||!e.data.metadata.date)return null;let f=e.data.metadata.date.format(s);if(!f)return null;let p=!!e.data.metadata.time,g=e.data.metadata.date.format(l),y=p?e.data.metadata.time.format(u):null,b=f?(0,Na.getLinkpath)(f):null,x=f?t.app.metadataCache.getFirstLinkpathDest(b,r):null,T=b&&c?h("a",{href:b,"data-href":b,className:`internal-link ${x?"":"is-unresolved"}`,target:"blank",rel:"noopener"},g):g,C={};return c||(C["aria-label"]=L("Change date"),C.onClick=n),h("span",{style:d&&{"--date-color":d.color,"--date-background-color":d.backgroundColor},className:et([B("item-metadata-date-wrapper"),{"has-background":!!(d==null?void 0:d.backgroundColor)}])},h("span",{...C,className:`${B("item-metadata-date")} ${c?"":"is-button"}`},T)," ",p&&h("span",{onClick:i,className:`${B("item-metadata-time")} is-button`,"aria-label":L("Change time")},y))}function sC(e){let{stateManager:t,boardModifiers:r}=P.useContext(We),n=Wn();return P.useMemo(()=>({onEditDate:o=>{var s;os(o.view,t,{x:o.clientX,y:o.clientY},ss({stateManager:t,boardModifiers:r,item:e,hasDate:!0,path:n}),(s=e.data.metadata.date)==null?void 0:s.toDate())},onEditTime:o=>{ls(o.view,t,{x:o.clientX,y:o.clientY},cs({stateManager:t,boardModifiers:r,item:e,hasTime:!0,path:n}),e.data.metadata.time)}}),[r,n,e,t])}function lC(e,t){let r=0;return e.replace(/^(\s*[-+*]\s+?\[)([^\]])(\]\s+)/gm,(n,i,a,o)=>{let s=n;return r===t&&(a===" "?s=`${i}x${o}`:s=`${i} ${o}`),r++,s})}async function cC(e){let t=app.vault.getAbstractFileByPath(e.dataset.src);if(!(t instanceof qy.TFile))return;let r=await app.vault.cachedRead(t),n=parseInt(e.dataset.oStart),i=parseInt(e.dataset.oEnd),o=r.substring(n,i).replace(/^(.+?)\[(.)\](.+)$/,(s,u,l,c)=>l!==" "?(e.parentElement.removeClass("is-checked"),e.parentElement.dataset.task="",`${u}[ ]${c}`):(e.parentElement.addClass("is-checked"),e.parentElement.dataset.task="x",`${u}[x]${c}`));await app.vault.modify(t,`${r.substring(0,n)}${o}${r.substring(i)}`)}var Yy=P.memo(function({item:t,isEditing:r,setIsEditing:n,searchQuery:i}){var H;let[a,o]=P.useState(t.data.titleRaw),{stateManager:s,filePath:u,boardModifiers:l,view:c,getTagColor:d,getDateColor:f}=P.useContext(We),p=s.useSetting("hide-tags-display"),g=Wn(),{onEditDate:y,onEditTime:b}=sC(t);P.useEffect(()=>{r&&o(t.data.titleRaw)},[r]);let x=P.useCallback(D=>{if(!Xn(D,s))return D.preventDefault(),s.updateItemContent(t,a).then(K=>{l.updateItem(g,K)}).catch(K=>{s.setError(K),console.error(K)}),n(!1),!0},[s,a,t,g]),T=P.useCallback(()=>{s.updateItemContent(t,a).then(D=>{l.updateItem(g,D)}).catch(D=>{s.setError(D),console.error(D)}),n(!1)},[s,a,t,g]),C=P.useCallback(()=>(n(!1),o(t.data.titleRaw),!0),[t]),A=P.useCallback(D=>{let K=D.target;if(K.hasClass("task-list-item-checkbox")){if(K.dataset.src)return cC(K);let z=parseInt(K.dataset.checkboxIndex,10);s.updateItemContent(t,lC(t.data.titleRaw,z)).then(U=>{l.updateItem(g,U)}).catch(U=>{s.setError(U),console.error(U)})}},[g,l,s,t]);return r?h("div",{className:B("item-input-wrapper")},h(xr,{className:B("item-input"),onChange:D=>o(D.target.value),onEnter:x,onEscape:C,onSubmit:T,value:a,onPaste:D=>{ws(D,s,c.getWindow())}})):h("div",{className:B("item-title")},h(Wy,{className:B("item-markdown"),dom:t.data.dom,searchQuery:i,onPointerDown:A}),h("div",{className:B("item-metadata")},h(zy,{item:t,stateManager:s}),h(jy,{item:t,stateManager:s,filePath:u,onEditDate:y,onEditTime:b,getDateColor:f}),!p&&!!((H=t.data.metadata.tags)==null?void 0:H.length)&&h("div",{className:B("item-tags")},t.data.metadata.tags.map((D,K)=>{let z=d(D);return h("a",{href:D,key:K,className:`tag ${B("item-tag")} ${D.toLocaleLowerCase().contains(i)?"is-search-match":""}`,style:z&&{"--tag-color":z.color,"--tag-background-color":z.backgroundColor}},h("span",null,D[0]),D.slice(1))}))))});m();var Ts=me(require("obsidian"));var uC=/[\\/:"*?<>|]+/g,dC=/!?\[\[([^\]]*)\.[^\]]+\]\]/g,fC=/!?\[\[([^\]]*)\]\]/g,pC=/!?\[([^\]]*)\]\([^)]*\)/g;function Jy({setIsEditing:e,item:t,path:r,boardModifiers:n,stateManager:i}){return P.useCallback((a,o)=>{if(o)app.workspace.onLinkContextMenu(a,(0,Ts.getLinkpath)(o),i.file.path);else{let s={x:a.clientX,y:a.clientY},u=!!t.data.metadata.date,l=!!t.data.metadata.time,c=new Ts.Menu().addItem(d=>{d.setIcon("lucide-edit").setTitle(L("Edit card")).onClick(()=>e(!0))});c.addItem(d=>{d.setIcon("lucide-file-plus-2").setTitle(L("New note from card")).onClick(async()=>{let f=t.data.title.split(` +`)[0].trim(),p=f.replace(dC,"$1").replace(fC,"$1").replace(pC,"$1").replace(uC," ").trim(),g=i.getSetting("new-note-folder"),y=i.getSetting("new-note-template"),b=g?i.app.vault.getAbstractFileByPath(g):i.app.fileManager.getNewFileParent(i.file.path),x=await i.app.fileManager.createNewMarkdownFile(b,p),T=i.app.workspace.splitActiveLeaf();await T.openFile(x),i.app.workspace.setActiveLeaf(T,!1,!0),await Ap(i,y);let C=t.data.titleRaw.replace(f,i.app.fileManager.generateMarkdownLink(x,i.file.path));i.updateItemContent(t,C).then(A=>{n.updateItem(r,A)}).catch(A=>{i.setError(A),console.error(A)})})}).addItem(d=>{d.setIcon("lucide-link").setTitle(L("Copy link to card")).onClick(()=>{if(t.data.blockId)navigator.clipboard.writeText(`${this.app.fileManager.generateMarkdownLink(i.file,"","#^"+t.data.blockId)}`);else{let f=Ae(6);navigator.clipboard.writeText(`${this.app.fileManager.generateMarkdownLink(i.file,"","#^"+f)}`),i.updateItemContent(t,`${t.data.titleRaw} ^${f}`).then(p=>{n.updateItem(r,p)}).catch(p=>{i.setError(p),console.error(p)})}})}).addSeparator(),/\n/.test(t.data.titleRaw)&&c.addItem(d=>{d.setIcon("lucide-wrap-text").setTitle(L("Split card")).onClick(async()=>{let f=t.data.titleRaw.split(/[\r\n]+/g).map(g=>g.trim()),p=await Promise.all(f.map(g=>i.getNewItem(g)));n.splitItem(r,p)})}),c.addItem(d=>{d.setIcon("lucide-copy").setTitle(L("Duplicate card")).onClick(()=>n.duplicateEntity(r))}).addItem(d=>{d.setIcon("lucide-list-start").setTitle(L("Insert card before")).onClick(async()=>n.insertItems(r,[await i.getNewItem("",!1,!0)]))}).addItem(d=>{d.setIcon("lucide-list-end").setTitle(L("Insert card after")).onClick(async()=>{let f=[...r];f[f.length-1]=f[f.length-1]+1,n.insertItems(f,[await i.getNewItem("",!1,!0)])})}).addItem(d=>{d.setIcon("lucide-arrow-up").setTitle(L("Move to top")).onClick(()=>n.moveItemToTop(r))}).addItem(d=>{d.setIcon("lucide-arrow-down").setTitle(L("Move to bottom")).onClick(()=>n.moveItemToBottom(r))}).addItem(d=>{d.setIcon("lucide-archive").setTitle(L("Archive card")).onClick(()=>n.archiveItem(r))}).addItem(d=>{d.setIcon("lucide-trash-2").setTitle(L("Delete card")).onClick(()=>n.deleteEntity(r))}).addSeparator().addItem(d=>{d.setIcon("lucide-calendar-check").setTitle(u?L("Edit date"):L("Add date")).onClick(()=>{var f;os(a.view,i,s,ss({stateManager:i,boardModifiers:n,item:t,hasDate:u,path:r}),(f=t.data.metadata.date)==null?void 0:f.toDate())})}),u&&(c.addItem(d=>{d.setIcon("lucide-x").setTitle(L("Remove date")).onClick(()=>{let f=i.getSetting("link-date-to-daily-note"),p=i.getSetting("date-trigger"),g=f?"(?:\\[[^\\]]+\\]\\([^\\)]+\\)|\\[\\[[^\\]]+\\]\\])":"{[^}]+}",y=new RegExp(`(^|\\s)${Ln(p)}${g}`),b=t.data.titleRaw.replace(y,"").trim();i.updateItemContent(t,b).then(x=>{n.updateItem(r,x)}).catch(x=>{i.setError(x),console.error(x)})})}),c.addItem(d=>{d.setIcon("lucide-clock").setTitle(l?L("Edit time"):L("Add time")).onClick(()=>{ls(a.view,i,s,cs({stateManager:i,boardModifiers:n,item:t,hasTime:l,path:r}),t.data.metadata.time)})}),l&&c.addItem(d=>{d.setIcon("lucide-x").setTitle(L("Remove time")).onClick(()=>{let f=i.getSetting("time-trigger"),p=new RegExp(`(^|\\s)${Ln(f)}{([^}]+)}`),g=t.data.titleRaw.replace(p,"").trim();i.updateItemContent(t,g).then(y=>{n.updateItem(r,y)}).catch(y=>{i.setError(y),console.error(y)})})})),c.showAtPosition(s)}},[e,t,r,n,i])}m();var Gy=P.memo(function({isEditing:t,setIsEditing:r,showMenu:n}){let i=P.useMemo(()=>t?{"data-ignore-drag":!0}:{},[t]);return h("div",{...i,className:B("item-postfix-button-wrapper")},t?h("a",{"data-ignore-drag":!0,onPointerDown:a=>{a.preventDefault()},onClick:()=>{r(!1)},className:`${B("item-postfix-button")} is-enabled clickable-icon`,"aria-label":L("Cancel")},h(_t,{name:"lucide-x"})):h("a",{"data-ignore-drag":!0,onPointerDown:a=>a.preventDefault(),onClick:n,className:`${B("item-postfix-button")} clickable-icon`,"aria-label":L("More options")},h(_t,{name:"lucide-more-vertical"})))});m();var Ms=me(require("obsidian"));function Qy({item:e,isSettingsVisible:t,searchQuery:r}){return t||!e.data.metadata.fileMetadata?null:h("div",{className:B("item-metadata-wrapper")},h(mC,{metadata:e.data.metadata.fileMetadata,order:e.data.metadata.fileMetadataOrder,searchQuery:r}))}function Xy(e,t){if(e.ts){let r=t.getSetting("date-display-format");return(0,Ms.moment)(e.ts).format(r)}return null}function Zy(e,t){if(!e.path)return null;let r=app.vault.getAbstractFileByPath(e.path);if(r&&r instanceof Ms.TFile){let n=app.fileManager.generateMarkdownLink(r,t.file.path,e.subpath,e.display);return`${e.embed&&n[0]!=="!"?"!":""}${n}`}return`${e.embed?"!":""}[[${e.path}${e.display?`|${e.display}`:""}]]`}function hC({data:e,searchQuery:t}){let{view:r,stateManager:n}=P.useContext(We);if(Array.isArray(e.value))return h("span",{className:B("meta-value")},e.value.map((s,u,l)=>{let c=`${s}`,d=typeof s=="object"&&!Array.isArray(s)&&(Xy(s,n)||Zy(s,r)),f=c.toLocaleLowerCase().contains(t);return h(S,null,d||e.containsMarkdown?h(Fa,{className:"inline",markdownString:d||c,searchQuery:t}):f?h("span",{className:"is-search-match"},c):c,u{let a=t[i];return h("tr",{key:i,className:B("meta-row")},!a.shouldHideLabel&&h("td",{className:`${B("meta-key")} ${(a.label||i).toLocaleLowerCase().contains(n)?"is-search-match":""}`,"data-key":i},h("span",null,a.label||i)),h("td",{colSpan:a.shouldHideLabel?2:1,className:B("meta-value-wrapper"),"data-value":Array.isArray(a.value)?a.value.join(", "):`${a.value}`},i==="tags"?a.value.map((o,s)=>h("a",{href:o,key:s,className:`tag ${B("item-tag")} ${o.toLocaleLowerCase().contains(n)?"is-search-match":""}`},h("span",null,o[0]),o.slice(1))):h(hC,{data:a,searchQuery:n})))})))});var eb=P.memo(function({item:t,shouldMarkItemsComplete:r,isMatch:n,searchQuery:i}){let{stateManager:a,boardModifiers:o}=P.useContext(We),[s,u]=P.useState(!1),l=P.useContext(xt);P.useEffect(()=>{let y=()=>{s&&u(!1)};return l.dragManager.emitter.on("dragStart",y),()=>{l.dragManager.emitter.off("dragStart",y)}},[l,s]),P.useEffect(()=>{t.data.forceEditMode&&u(!0)},[t.data.forceEditMode]);let c=Wn(),d=Jy({boardModifiers:o,item:t,setIsEditing:u,stateManager:a,path:c}),f=P.useCallback(y=>{if(y.target instanceof y.view.HTMLTextAreaElement)return;y.preventDefault(),y.stopPropagation();let b=y.target instanceof y.view.HTMLAnchorElement&&y.target.hasClass("internal-link")?y.target.dataset.href:void 0;d(y,b)},[d]),p=P.useCallback(()=>{u(!0)},[u]),g=P.useMemo(()=>s?{"data-ignore-drag":!0}:{},[s]);return h("div",{onContextMenu:f,onDblClick:p,className:B("item-content-wrapper"),...g},h("div",{className:B("item-title-wrapper"),...g},h(pv,{boardModifiers:o,item:t,path:c,shouldMarkItemsComplete:r,stateManager:a}),h(Yy,{isEditing:s,item:t,searchQuery:n?i:void 0,setIsEditing:u}),h(Gy,{isEditing:s,setIsEditing:u,showMenu:d})),h(Qy,{searchQuery:n?i:void 0,isSettingsVisible:s,item:t}))}),vd=P.memo(function(t){let r=P.useRef(null),n=P.useRef(null),i=P.useContext(go),{itemIndex:a,...o}=t;Mi(n,n);let s=i?o.item.data.titleSearch.contains(i):!1,u=iv(o.item);return i&&(s?u.push("is-search-hit"):u.push("is-search-miss")),h("div",{ref:n,className:B("item-wrapper")},h("div",{ref:r,className:et([B("item"),...u])},t.isStatic?h(eb,{...o,isMatch:s,searchQuery:i}):h(gr,{elementRef:r,measureRef:n,id:t.item.id,index:a,data:t.item},h(eb,{...o,isMatch:s,searchQuery:i}))))}),tb=P.memo(function({isStatic:t,items:r,shouldMarkItemsComplete:n}){return h(S,null,r.map((i,a)=>h(vd,{key:i.id,item:i,itemIndex:a,shouldMarkItemsComplete:n,isStatic:t})))});m();m();var gC=function(e,t,r,n){function i(a){return a instanceof r?a:new r(function(o){o(a)})}return new(r||(r=Promise))(function(a,o){function s(c){try{l(n.next(c))}catch(d){o(d)}}function u(c){try{l(n.throw(c))}catch(d){o(d)}}function l(c){c.done?a(c.value):i(c.value).then(s,u)}l((n=n.apply(e,t||[])).next())})};function Is(e){let t=0,r=0,n=e;do t+=n.offsetTop||0,r+=n.offsetLeft||0,n=n.offsetParent;while(n);return{top:t,left:r}}var nb=class{constructor(t){this.element=t}getHorizontalScroll(){return this.element.scrollLeft}getVerticalScroll(){return this.element.scrollTop}getMaxHorizontalScroll(){return this.element.scrollWidth-this.element.clientWidth}getMaxVerticalScroll(){return this.element.scrollHeight-this.element.clientHeight}getHorizontalElementScrollOffset(t,r){return Is(t).left-Is(r).left}getVerticalElementScrollOffset(t,r){return Is(t).top-Is(r).top}scrollTo(t,r){this.element.scrollLeft=t,this.element.scrollTop=r}},rb=class{constructor(){this.element=window}getHorizontalScroll(){return window.scrollX||document.documentElement.scrollLeft}getVerticalScroll(){return window.scrollY||document.documentElement.scrollTop}getMaxHorizontalScroll(){return Math.max(document.body.scrollWidth,document.documentElement.scrollWidth,document.body.offsetWidth,document.documentElement.offsetWidth,document.body.clientWidth,document.documentElement.clientWidth)-window.innerWidth}getMaxVerticalScroll(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)-window.innerHeight}getHorizontalElementScrollOffset(t){return(window.scrollX||document.documentElement.scrollLeft)+t.getBoundingClientRect().left}getVerticalElementScrollOffset(t){return(window.scrollY||document.documentElement.scrollTop)+t.getBoundingClientRect().top}scrollTo(t,r){window.scrollTo(t,r)}},Zn={elements:[],cancelMethods:[],add:(e,t)=>{Zn.elements.push(e),Zn.cancelMethods.push(t)},remove:(e,t)=>{let r=Zn.elements.indexOf(e);r>-1&&(t&&Zn.cancelMethods[r](),Zn.elements.splice(r,1),Zn.cancelMethods.splice(r,1))}},ib=typeof window!="undefined",vC={cancelOnUserAction:!0,easing:e=>--e*e*e+1,elementToScroll:ib?window:null,horizontalOffset:0,maxDuration:3e3,minDuration:250,speed:500,verticalOffset:0};function yC(e,t={}){return gC(this,void 0,void 0,function*(){if(ib){if(!window.Promise)throw"Browser doesn't support Promises, and animated-scroll-to depends on it, please provide a polyfill."}else return new Promise(A=>{A(!1)});let r,n,i,a=Object.assign(Object.assign({},vC),t),o=a.elementToScroll===window,s=!!a.elementToScroll.nodeName;if(!o&&!s)throw"Element to scroll needs to be either window or DOM element.";let u=o?document.documentElement:a.elementToScroll;getComputedStyle(u).getPropertyValue("scroll-behavior")==="smooth"&&console.warn(`${u.tagName} has "scroll-behavior: smooth" which can mess up with animated-scroll-to's animations`);let c=o?new rb:new nb(a.elementToScroll);if(e instanceof Element){if(i=e,s&&(!a.elementToScroll.contains(i)||a.elementToScroll.isSameNode(i)))throw"options.elementToScroll has to be a parent of scrollToElement";r=c.getHorizontalElementScrollOffset(i,a.elementToScroll),n=c.getVerticalElementScrollOffset(i,a.elementToScroll)}else if(typeof e=="number")r=c.getHorizontalScroll(),n=e;else if(Array.isArray(e)&&e.length===2)r=e[0]===null?c.getHorizontalScroll():e[0],n=e[1]===null?c.getVerticalScroll():e[1];else throw`Wrong function signature. Check documentation. Available method signatures are: animateScrollTo(y:number, options) animateScrollTo([x:number | null, y:number | null], options) - animateScrollTo(scrollToElement:Element, options)`;r+=a.horizontalOffset,n+=a.verticalOffset;let d=c.getMaxHorizontalScroll(),f=c.getHorizontalScroll();r>d&&(r=d);let p=r-f,g=c.getMaxVerticalScroll(),y=c.getVerticalScroll();n>g&&(n=g);let b=n-y,k=Math.abs(Math.round(p/1e3*a.speed)),T=Math.abs(Math.round(b/1e3*a.speed)),C=k>T?k:T;return Ca.maxDuration&&(C=a.maxDuration),new Promise((A,H)=>{p===0&&b===0&&A(!0),Zn.remove(c.element,!0);let D,K=()=>{se(),cancelAnimationFrame(D),A(!1)};Zn.add(c.element,K);let z=ie=>ie.preventDefault(),U=a.cancelOnUserAction?K:z,Z=a.cancelOnUserAction?{passive:!0}:{passive:!1},J=["wheel","touchstart","keydown","mousedown"],se=()=>{J.forEach(ie=>{c.element.removeEventListener(ie,U,Z)})};J.forEach(ie=>{c.element.addEventListener(ie,U,Z)});let G=Date.now(),Q=()=>{var ie=Date.now()-G,he=ie/C;let pe=Math.round(f+p*a.easing(he)),ge=Math.round(y+b*a.easing(he));ie{this.activeScroll.size===0&&(this.scrollState=jl(this.scrollEl),this.handleEntityRegistration())};this.onDragEnd=()=>{this.activeScroll.clear()};this.handleBeginDragScroll=({scrollEntitySide:t,scrollStrength:r})=>{this.isDoneScrolling(t)||(this.activeScroll.set(t,r),this.handleDragScroll())};this.handleUpdateDragScroll=({scrollEntitySide:t,scrollStrength:r})=>{this.isDoneScrolling(t)||this.activeScroll.set(t,r)};this.handleEndDragScroll=({scrollEntitySide:t})=>{this.activeScroll.delete(t)};this.dndManager=t,this.instanceId=Ae(),this.scopeId=r,this.triggerTypes=n,this.scrollState=on,this.parent=i,this.activeScroll=new Map,this.pollForNodes(a)}pollForNodes(t){!t()||this.parent&&!this.parent.observerHandlers?this.dndManager.win.requestAnimationFrame(()=>this.pollForNodes(t)):this.initNodes(t())}initNodes(t){this.scrollEl=t,this.scrollEl.dataset.hitboxid=this.instanceId,this.scrollEl.dataset.scrollid=this.instanceId,this.top=this.createScrollEntity("top"),this.right=this.createScrollEntity("right"),this.bottom=this.createScrollEntity("bottom"),this.left=this.createScrollEntity("left"),this.bindScrollHandlers(),this.observerHandlers=new Map,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{var a;let i=(a=n.target.dataset)==null?void 0:a.hitboxid;if(i&&this.observerHandlers.has(i)){let o=this.observerHandlers.get(i);o&&o(n)}})},{root:t,threshold:.1}),this.scrollEl.addEventListener("scroll",this.onScroll,{passive:!0,capture:!1}),this.dndManager.emitter.on("scrollResize",this.onScroll),this.scrollEl.win.setTimeout(()=>{this.onScroll()}),this.dndManager.observeResize(this.scrollEl),this.parent?this.parent.registerObserverHandler(this.instanceId,this.scrollEl,r=>{r.isIntersecting?this.handleEntityRegistration():this.handleEntityUnregistration()}):this.handleEntityRegistration()}destroy(){var t;this.handleEntityUnregistration(),this.observer.disconnect(),this.unbindScrollHandlers(),this.scrollEl.removeEventListener("scroll",this.onScroll),this.dndManager.emitter.off("scrollResize",this.onScroll),(t=this.parent)==null||t.unregisterObserverHandler(this.instanceId,this.scrollEl),this.dndManager.unobserveResize(this.scrollEl)}handleEntityRegistration(){Ps.forEach(t=>{let r=Ze(this.scrollEl),n=this.getId(t),i=this.dndManager.scrollEntities.has(n),a=this.isDoneScrolling(t);!a&&!i?this.dndManager.registerScrollEntity(n,this[t],r):a&&i&&this.dndManager.unregisterScrollEntity(n,r)})}handleEntityUnregistration(){Ps.forEach(t=>{let r=Ze(this.scrollEl),n=this.getId(t);this.dndManager.unregisterScrollEntity(n,r)})}registerObserverHandler(t,r,n){this.observerHandlers.set(t,n),this.observer.observe(r)}unregisterObserverHandler(t,r){this.observerHandlers.delete(t),this.observer.unobserve(r)}bindScrollHandlers(){Ps.forEach(t=>{let r=this.getId(t);this.dndManager.dragManager.emitter.on("beginDragScroll",this.handleBeginDragScroll,r),this.dndManager.dragManager.emitter.on("updateDragScroll",this.handleUpdateDragScroll,r),this.dndManager.dragManager.emitter.on("endDragScroll",this.handleEndDragScroll,r),this.dndManager.dragManager.emitter.on("dragEnd",this.onDragEnd)})}unbindScrollHandlers(){Ps.forEach(t=>{let r=this.getId(t);this.dndManager.dragManager.emitter.off("beginDragScroll",this.handleBeginDragScroll,r),this.dndManager.dragManager.emitter.off("updateDragScroll",this.handleUpdateDragScroll,r),this.dndManager.dragManager.emitter.off("endDragScroll",this.handleEndDragScroll,r),this.dndManager.dragManager.emitter.off("dragEnd",this.onDragEnd)})}isDoneScrolling(t){switch(t){case"top":return this.scrollState.y===0;case"right":return this.scrollState.x===this.scrollState.maxX;case"bottom":return this.scrollState.y===this.scrollState.maxY;case"left":return this.scrollState.x===0}}handleDragScroll(){this.activeScroll.size!==0&&this.scrollEl.win.requestAnimationFrame(()=>{let t={left:0,top:0};this.activeScroll.forEach((r,n)=>{if(this.isDoneScrolling(n))return this.activeScroll.delete(n);let i=["left","right"].includes(n)?"left":"top",a=["right","bottom"].includes(n);t[i]=a?Math.max(Ls-Ls*r/35,0):Math.min(-Ls+Ls*r/35,0)}),this.scrollEl.scrollBy(t),this.scrollState=jl(this.scrollEl),this.handleEntityRegistration(),this.handleDragScroll()})}getId(t){return`${this.instanceId}-${t}`}getPath(t){var r,n,i,a;switch(t){case"right":return[...((r=this.parent)==null?void 0:r.getPath())||[],1];case"bottom":return[...((n=this.parent)==null?void 0:n.getPath())||[],2];case"left":return[...((i=this.parent)==null?void 0:i.getPath())||[],3]}return[...((a=this.parent)==null?void 0:a.getPath())||[],0]}getScrollShift(){var r,n,i;let t=(r=this.parent)==null?void 0:r.getScrollShift();return{x:Xe((n=this.parent)==null?void 0:n.scrollState.x)+Xe(t==null?void 0:t.x),y:Xe((i=this.parent)==null?void 0:i.scrollState.y)+Xe(t==null?void 0:t.y)}}createScrollEntity(t){var n,i;let r=this;return{scopeId:this.scopeId,entityId:r.getId(t),initial:Wl(this.scrollEl.getBoundingClientRect(),((n=this.parent)==null?void 0:n.scrollState)||on,((i=this.parent)==null?void 0:i.getScrollShift())||Pn,t),getParentScrollState(){var a;return((a=r.parent)==null?void 0:a.scrollState)||on},getParentScrollShift(){var a;return((a=r.parent)==null?void 0:a.getScrollShift())||Pn},recalcInitial(){var a,o;this.initial=Wl(r.scrollEl.getBoundingClientRect(),((a=r.parent)==null?void 0:a.scrollState)||on,((o=r.parent)==null?void 0:o.getScrollShift())||Pn,t)},getHitbox(){return So(this.initial[0],this.initial[1],this.initial[2],this.initial[3],this.getParentScrollState(),this.getParentScrollShift())},getPath(){return r.getPath(t)},getData(){return{id:r.getId(t),type:bC,side:t,accepts:r.triggerTypes||[],scrollContainer:r.scrollEl,win:Ze(r.scrollEl)}}}}};function ab({scrollRef:e,triggerTypes:t,children:r}){let n=L.useContext(kt),i=L.useContext(mr),a=L.useContext(sa),o=L.useRef(),s=L.useMemo(()=>{if(n){o.current&&o.current.destroy();let u=new yd(n,i,t||[],a,()=>e.current);return o.current=u,u}return null},[n,i,e,t,a]);return L.useEffect(()=>()=>{var u;return(u=o.current)==null?void 0:u.destroy()},[]),s?h(sa.Provider,{value:s},r):null}m();function ob({children:e}){let t=L.useMemo(()=>new oa,[]);return h(la.Provider,{value:t},e)}function sb(e,t){let r=L.useContext(mr),n=L.useRef(null),i=L.useContext(la),a=o=>{n.current=o,n.current&&o.win.requestAnimationFrame(()=>{let s=i.getScrollState(e);s&&(s.x!==0||s.y!==0)&&(n.current.scrollLeft=s.x,n.current.scrollTop=s.y)})};return L.useEffect(()=>{let o=n.current;if(!o)return;let s=ds(o.win,u=>{let l=u.target;i.setScrollState(r,e,{x:l.scrollLeft,y:l.scrollTop})});return o.addEventListener("scroll",s),()=>{o.removeEventListener("scroll",s)}},[i,e,t]),{setRef:a,scrollRef:n}}function Fs({className:e,children:t,triggerTypes:r,isStatic:n,id:i,index:a}){let{setRef:o,scrollRef:s}=sb(i,a);return h("div",{ref:o,className:et([e,B("scroll-container")])},n?t:h(ab,{scrollRef:s,triggerTypes:r},t))}m();m();var bd={width:0,height:0},wC=100,wd=class{constructor(t,r,n){this.hitboxDimensions=bd;this.handleDragStart=({dragEntity:t,dragEntityMargin:r,dragOriginHitbox:n})=>{let i=t==null?void 0:t.entityId,a=i?this.sortables.has(i):null;!t||!a||!n||(this.setSortState(!0),this.hitboxDimensions=ql(n,r),this.activatePlaceholder(this.hitboxDimensions,ln.none),this.sortables.forEach(([o,s,u])=>{let l=ra(t.getPath(),o.getPath()),c=o.entityId;if(l===an.Self)return this.hidden.add(c),this.hideDraggingEntity(u);l===an.After&&(this.shifted.has(c)||this.shifted.add(c),this.shiftEl(s,ln.none,this.hitboxDimensions))}))};this.dragEndTimeout=0;this.handleDragEnd=({primaryIntersection:t,dragPosition:r,dragOriginHitbox:n,dragEntity:i})=>{if(!this.isSorting||!r||!n||!i){if(!t&&i&&this.sortables.has(i.entityId))return this.resetSelf({maintainHidden:!1});if(t&&i){let s=(t==null?void 0:t.getHitbox())||n,u=Di({position:r,destination:{x:s[0],y:s[1]}});return this.dndManager.win.setTimeout(()=>{this.resetSelf({maintainHidden:!1})},u)}return this.resetSelf({maintainHidden:!0})}this.dndManager.win.clearTimeout(this.dragEnterTimeout),this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEndTimeout);let a=(t==null?void 0:t.getHitbox())||n,o=i.scopeId==="htmldnd"?0:Di({position:r,destination:{x:a[0],y:a[1]}});this.dragEndTimeout=this.dndManager.win.setTimeout(()=>{let s=i.entityId.split(":::").pop(),u=t==null?void 0:t.entityId.split(":::").pop();t&&this.sortables.has(t.entityId)&&u!==s&&this.dndManager.onDrop(i,t),this.resetSelf({maintainHidden:!1,shiftTransition:ln.none,placeholderTransition:ln.none})},o),this.hitboxDimensions=bd};this.dragEnterTimeout=0;this.handleDragEnter=({dragEntity:t,dragEntityMargin:r,dragOriginHitbox:n,primaryIntersection:i})=>{let a=i==null?void 0:i.entityId,o=a?this.sortables.has(a):null;if(!t||!i||!o||!n){!o&&this.isSorting&&this.resetSelf({maintainHidden:!0,maintainPlaceholder:!0});return}t.entityId!==i.entityId&&(this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEnterTimeout),this.dragEnterTimeout=this.dndManager.win.setTimeout(()=>{this.setSortState(!0),this.hitboxDimensions=ql(n,r),this.activatePlaceholder(this.hitboxDimensions,ln.placeholder),this.sortables.forEach(([s,u])=>{let l=ra(i.getPath(),s.getPath()),c=s.entityId;!this.hidden.has(c)&&(l===an.Self||l===an.After)?this.shifted.has(c)||(this.shifted.add(c),this.shiftEl(u,ln.outOfTheWay,this.hitboxDimensions)):this.shifted.has(c)&&(this.shifted.delete(c),this.resetEl(u))})},10))};this.dragLeaveTimeout=0;this.handleDragLeave=()=>{!this.isSorting||(this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEnterTimeout),this.dragLeaveTimeout=this.dndManager.win.setTimeout(()=>{this.resetSelf({maintainHidden:!0,maintainPlaceholder:!0})},wC),this.hitboxDimensions=bd)};this.instanceId=Ae(),this.dndManager=t,this.sortables=new Map,this.shifted=new Set,this.hidden=new Set,this.isSorting=!1,this.axis=r,this.placeholder=null,this.sortListeners=n?[n]:[],t.dragManager.emitter.on("dragStart",this.handleDragStart),t.dragManager.emitter.on("dragEnd",this.handleDragEnd),t.dragManager.emitter.on("dragEnter",this.handleDragEnter),t.dragManager.emitter.on("dragLeave",this.handleDragLeave)}destroy(){this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEndTimeout),this.dndManager.dragManager.emitter.off("dragStart",this.handleDragStart),this.dndManager.dragManager.emitter.off("dragEnd",this.handleDragEnd),this.dndManager.dragManager.emitter.off("dragEnter",this.handleDragEnter),this.dndManager.dragManager.emitter.off("dragLeave",this.handleDragLeave)}registerSortable(t,r,n,i){let a=r.getData().type==="placeholder";this.sortables.set(t,[r,n,i]),a?(this.placeholder=[r,n,i],i.dataset.axis=this.axis,Tn(i,"transition",ln.none)):Tn(n,"transition",ln.none)}unregisterSortable(t){this.sortables.delete(t)}resetSelf({maintainHidden:t,maintainPlaceholder:r,shiftTransition:n,placeholderTransition:i}){this.isSorting&&this.setSortState(!1),this.isPlaceholderActive&&!r&&this.deactivatePlaceholder(i),this.shifted.size>0&&(this.shifted.forEach(a=>{if(this.sortables.has(a)){let[,o]=this.sortables.get(a);this.resetEl(o,n)}}),this.shifted.clear()),!t&&this.hidden.size>0&&(this.hidden.forEach(a=>{if(this.sortables.has(a)){let[,,o]=this.sortables.get(a);this.resetEl(o,n)}}),this.hidden.clear())}activatePlaceholder(t,r){if(this.placeholder){let n=this.axis==="horizontal",[,,i]=this.placeholder;Tn(i,"transition",r),Tn(i,n?"width":"height",`${n?t.width:t.height}px`),this.isPlaceholderActive=!0}}deactivatePlaceholder(t=ln.placeholder){if(this.placeholder){let[,,r]=this.placeholder;Tn(r,"transition",t),fs(r,"width"),fs(r,"height"),this.isPlaceholderActive=!1}}hideDraggingEntity(t){Tn(t,"display","none")}shiftEl(t,r,n){let i=this.axis==="horizontal"?`translate3d(${n.width}px, 0, 0)`:`translate3d(0, ${n.height}px, 0)`;Tn(t,"transition",r),Tn(t,"transform",i)}resetEl(t,r=ln.outOfTheWay){Tn(t,"transition",r),Tn(t,"transform","translate3d(0, 0, 0)"),fs(t,"display")}addSortNotifier(t){this.sortListeners.push(t)}removeSortNotifier(t){this.sortListeners=this.sortListeners.filter(r=>r!==t)}setSortState(t){this.isSorting!==t&&(this.isSorting=t,this.sortListeners.forEach(r=>r(t)))}};function Li({axis:e,children:t,onSortChange:r}){let n=L.useContext(kt),i=L.useRef(),a=L.useMemo(()=>{if(n){i.current&&i.current.destroy();let o=new wd(n,e,r);return i.current=o,o}return null},[n,e,r]);return L.useEffect(()=>()=>{var o;return(o=i.current)==null?void 0:o.destroy()},[]),a?h(Eo.Provider,{value:a},t):null}m();function Pi({index:e,accepts:t,className:r,isStatic:n}){let i=L.useRef(null),a=L.useRef(null),o=L.useMemo(()=>({id:Ae(),type:"placeholder",accepts:t}),t);return h("div",{ref:a,className:et([r,B("placeholder")])},h("div",{ref:i},!n&&h(gr,{elementRef:i,measureRef:a,id:o.id,index:e,data:o})))}m();m();m();Ar();Ar();function lb(e,t){for(var r in t)e[r]=t[r];return e}function Ed(e,t){for(var r in e)if(r!=="__source"&&!(r in t))return!0;for(var n in t)if(n!=="__source"&&e[n]!==t[n])return!0;return!1}function xd(e){this.props=e}function EC(e,t){function r(i){var a=this.props.ref,o=a==i.ref;return!o&&a&&(a.call?a(null):a.current=null),t?!t(this.props,i)||!o:Ed(this.props,i)}function n(i){return this.shouldComponentUpdate=r,h(e,i)}return n.displayName="Memo("+(e.displayName||e.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n}(xd.prototype=new ht).isPureReactComponent=!0,xd.prototype.shouldComponentUpdate=function(e,t){return Ed(this.props,e)||Ed(this.state,t)};var cb=fe.__b;fe.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),cb&&cb(e)};var xC=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function kC(e){function t(r){var n=lb({},r);return delete n.ref,e(n,r.ref||null)}return t.$$typeof=xC,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var ub=function(e,t){return e==null?null:wt(wt(e).map(t))},SC={map:ub,forEach:ub,count:function(e){return e?wt(e).length:0},only:function(e){var t=wt(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:wt},_C=fe.__e;fe.__e=function(e,t,r,n){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e==null&&(t.__e=r.__e,t.__k=r.__k),i.__c(e,t)}_C(e,t,r,n)};var db=fe.unmount;function Ns(){this.__u=0,this.t=null,this.__b=null}function fb(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function CC(e){var t,r,n;function i(a){if(t||(t=e()).then(function(o){r=o.default||o},function(o){n=o}),n)throw n;if(!r)throw t;return h(r,a)}return i.displayName="Lazy",i.__f=!0,i}function Oa(){this.u=null,this.o=null}fe.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),db&&db(e)},(Ns.prototype=new ht).__c=function(e,t){var r=t.__c,n=this;n.t==null&&(n.t=[]),n.t.push(r);var i=fb(n.__v),a=!1,o=function(){a||(a=!0,r.__R=null,i?i(s):s())};r.__R=o;var s=function(){if(!--n.__u){if(n.state.__e){var l=n.state.__e;n.__v.__k[0]=function d(f,p,g){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(y){return d(y,p,g)}),f.__c&&f.__c.__P===p&&(f.__e&&g.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=g)),f}(l,l.__c.__P,l.__c.__O)}var c;for(n.setState({__e:n.__b=null});c=n.t.pop();)c.forceUpdate()}},u=t.__h===!0;n.__u++||u||n.setState({__e:n.__b=n.__v.__k[0]}),e.then(o,o)},Ns.prototype.componentWillUnmount=function(){this.t=[]},Ns.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function a(o,s,u){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(l){typeof l.__c=="function"&&l.__c()}),o.__c.__H=null),(o=lb({},o)).__c!=null&&(o.__c.__P===u&&(o.__c.__P=s),o.__c=null),o.__k=o.__k&&o.__k.map(function(l){return a(l,s,u)})),o}(this.__b,r,n.__O=n.__P)}this.__b=null}var i=t.__e&&h(S,null,e.fallback);return i&&(i.__h=null),[h(S,null,t.__e?null:e.children),i]};var pb=function(e,t,r){if(++r[1]===r[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(r=e.u;r;){for(;r.length>3;)r.pop()();if(r[1]>>1,1),t.i.removeChild(n)}}),kn(h(DC,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function MC(e,t){var r=h(TC,{__v:e,i:t});return r.containerInfo=t,r}(Oa.prototype=new ht).__e=function(e){var t=this,r=fb(t.__v),n=t.o.get(e);return n[0]++,function(i){var a=function(){t.props.revealOrder?(n.push(i),pb(t,e,n)):i()};r?r(a):a()}},Oa.prototype.render=function(e){this.u=null,this.o=new Map;var t=wt(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var r=t.length;r--;)this.o.set(t[r],this.u=[1,0,this.u]);return e.children},Oa.prototype.componentDidUpdate=Oa.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,r){pb(e,r,t)})};var hb=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,IC=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,AC=typeof document!="undefined",LC=function(e){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function PC(e,t,r){return t.__k==null&&(t.textContent=""),kn(e,t),typeof r=="function"&&r(),e?e.__c:null}function FC(e,t,r){return Qi(e,t),typeof r=="function"&&r(),e?e.__c:null}ht.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(ht.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var mb=fe.event;function NC(){}function OC(){return this.cancelBubble}function RC(){return this.defaultPrevented}fe.event=function(e){return mb&&(e=mb(e)),e.persist=NC,e.isPropagationStopped=OC,e.isDefaultPrevented=RC,e.nativeEvent=e};var gb,vb={configurable:!0,get:function(){return this.class}},yb=fe.vnode;fe.vnode=function(e){var t=e.type,r=e.props,n=r;if(typeof t=="string"){var i=t.indexOf("-")===-1;for(var a in n={},r){var o=r[a];AC&&a==="children"&&t==="noscript"||a==="value"&&"defaultValue"in r&&o==null||(a==="defaultValue"&&"value"in r&&r.value==null?a="value":a==="download"&&o===!0?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+t)&&!LC(r.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&IC.test(a)?a=a.replace(/[A-Z0-9]/,"-$&").toLowerCase():o===null&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),n[a]&&(a="oninputCapture")),n[a]=o)}t=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.value.indexOf(s.props.value)!=-1})),t=="select"&&n.defaultValue!=null&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.multiple?n.defaultValue.indexOf(s.props.value)!=-1:n.defaultValue==s.props.value})),e.props=n,r.class!=r.className&&(vb.enumerable="className"in r,r.className!=null&&(n.class=r.className),Object.defineProperty(n,"className",vb))}e.$$typeof=hb,yb&&yb(e)};var bb=fe.__r;fe.__r=function(e){bb&&bb(e),gb=e.__c};var HC={ReactCurrentDispatcher:{current:{readContext:function(e){return gb.__n[e.__c].props.value}}}};function BC(e){return h.bind(null,e)}function wb(e){return!!e&&e.$$typeof===hb}function KC(e){return wb(e)?so.apply(null,arguments):e}function $C(e){return!!e.__k&&(kn(null,e),!0)}function UC(e){return e&&(e.base||e.nodeType===1&&e)||null}var VC=function(e,t){return e(t)},WC=function(e,t){return e(t)};var at={useState:sr,useReducer:Zi,useEffect:Sn,useLayoutEffect:Lr,useRef:Xt,useImperativeHandle:co,useMemo:lr,useCallback:cr,useContext:uo,useDebugValue:fo,version:"17.0.2",Children:SC,render:PC,hydrate:FC,unmountComponentAtNode:$C,createPortal:MC,createElement:h,createContext:ai,createFactory:BC,cloneElement:KC,createRef:ri,Fragment:S,isValidElement:wb,findDOMNode:UC,Component:ht,PureComponent:xd,memo:EC,forwardRef:kC,flushSync:WC,unstable_batchedUpdates:VC,StrictMode:S,Suspense:Ns,SuspenseList:Oa,lazy:CC,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:HC};var zC=function(){if(typeof window=="undefined"||typeof window.addEventListener!="function")return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),r=function(){return null};return window.addEventListener("test",r,t),window.removeEventListener("test",r,t),e},jC="ignore-onclickoutside",Eb=function(t,r){var n;return(n=t.classList)==null?void 0:n.contains(r)},xb=function(t,r){for(var n=t.target||t;n;){if(Array.isArray(r)){if(r.some(function(i){return Eb(n,i)}))return!0}else if(Eb(n,r))return!0;n=n.parentElement}return!1},qC=function(t){return document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY},kb=function(t){return t.includes("touch")&&zC()?{passive:!0}:!1},YC=function(t,r){var n=r===void 0?{}:r,i=n.refs,a=n.disabled,o=n.eventTypes,s=o===void 0?["mousedown","touchstart"]:o,u=n.excludeScrollbar,l=n.ignoreClass,c=l===void 0?jC:l,d=n.detectIFrame,f=d===void 0?!0:d,p=sr([]),g=p[0],y=p[1],b=Xt(t);b.current=t;var k=cr(function(T){return y(function(C){return[].concat(C,[{current:T}])})},[]);return Sn(function(){if(!(!(i!=null&&i.length)&&!g.length)){var T=function(){var K=[];return(i||g).forEach(function(z){var U=z.current;return U&&K.push(U)}),K},C=function(K){!xb(K,c)&&!(u&&qC(K))&&T().every(function(z){return!z.contains(K.target)})&&b.current(K)},A=function(K){return setTimeout(function(){var z=document,U=z.activeElement;(U==null?void 0:U.tagName)==="IFRAME"&&!xb(U,c)&&!T().includes(U)&&b.current(K)},0)},H=function(){s.forEach(function(K){return document.removeEventListener(K,C,kb(K))}),f&&window.removeEventListener("blur",A)};if(a){H();return}return s.forEach(function(D){return document.addEventListener(D,C,kb(D))}),f&&window.addEventListener("blur",A),function(){return H()}}},[g,c,u,a,f,JSON.stringify(s)]),k},Fi=YC;function kd({addItems:e,isInputVisible:t,setIsInputVisible:r,hideButton:n}){let[i,a]=L.useState(""),{stateManager:o,view:s}=L.useContext(We),u=L.useRef(),l=Fi(()=>{r(!1)},{ignoreClass:B("ignore-click-outside")}),c=L.useCallback(()=>{a(""),r(!1)},[]),d=async g=>{try{e(await Promise.all(g.map(y=>o.getNewItem(y))))}catch(y){o.setError(y)}},f=g=>{if(!Xn(g,o)){g.preventDefault();let y=i.trim();y&&(d([y]),a(""))}},p=()=>{let g=i.trim();g&&(d([g]),a(""))};return t?h("div",{className:B("item-form"),ref:l},h("div",{className:B("item-input-wrapper")},h(kr,{ref:u,className:B("item-input"),placeholder:P("Card title..."),onEnter:f,onEscape:c,onSubmit:p,value:i,onChange:g=>{a(g.target.value)},onPaste:g=>{ws(g,o,s.getWindow())}}))):n?null:h("div",{className:B("item-button-wrapper")},h("button",{className:B("new-item-button"),onClick:()=>r(!0),onDragOver:g=>{bs(o,g.dataTransfer)&&r(!0)}},h("span",{className:B("item-button-plus")},"+")," ",P("Add a card")))}m();var Fb=me(Et());m();function Os(e,t){let r=t.end-t.start;return e.slice(0,t.start)+"\0".repeat(r)+e.slice(t.end)}function Sb(e){return e.replace(/\s*\0+\s*/g," ").trim()}function Ra(e){return e.trim().replace(/(\r\n|\n)/g,"
")}function Rs(e){return e.replace(/
/g,` -`).trim()}function jr(e){e=Rs(e);let t=e.match(/^(.*?)\s*\((\d+)\)$/);return t==null?{title:e,maxItems:0}:{title:t[1],maxItems:Number(t[2])}}m();function _b(e){return h("svg",{...e,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},h("path",{fill:"currentColor",d:"M5 3h2v2H5zm0 4h2v2H5zm0 4h2v2H5zm4-8h2v2H9zm0 4h2v2H9zm0 4h2v2H9z"}))}m();var Sd=me(Et()),Cb=me(require("obsidian"));var Db={delete:{description:P("Are you sure you want to delete this list and all its cards?"),confirm:P("Yes, delete list")},archive:{description:P("Are you sure you want to archive this list and all its cards?"),confirm:P("Yes, archive list")},"archive-items":{description:P("Are you sure you want to archive all cards in this list?"),confirm:P("Yes, archive cards")}};function Tb({action:e,cancel:t,onAction:r,lane:n}){return L.useEffect(()=>{e&&n.children.length===0&&r()},[e,n.children.length]),!e||e&&n.children.length===0?null:h("div",{className:B("action-confirm-wrapper")},h("div",{className:B("action-confirm-text")},Db[e].description),h("div",null,h("button",{onClick:r,className:B("confirm-action-button")},Db[e].confirm),h("button",{onClick:t,className:B("cancel-action-button")},"Cancel")))}function Mb({setIsEditing:e,path:t,lane:r}){let{stateManager:n,boardModifiers:i}=L.useContext(We),[a,o]=L.useState(null);return{settingsMenu:L.useMemo(()=>new Cb.Menu().addItem(u=>{u.setIcon("pencil").setTitle(P("Edit list")).onClick(()=>e(!0))}).addItem(u=>{u.setIcon("documents").setTitle(P("Archive cards")).onClick(()=>o("archive-items"))}).addSeparator().addItem(u=>{u.setIcon("up-and-down-arrows").setTitle(P("Sort by card text")).onClick(()=>{let l=r.children.slice(),c=r.data.sorted===Mn.TitleAsc;l.sort((d,f)=>c?f.data.titleSearch.localeCompare(d.data.titleSearch):d.data.titleSearch.localeCompare(f.data.titleSearch)),i.updateLane(t,(0,Sd.default)(r,{children:{$set:l},data:{sorted:{$set:r.data.sorted===Mn.TitleAsc?Mn.TitleDsc:Mn.TitleAsc}}}))})}).addItem(u=>{u.setIcon("up-and-down-arrows").setTitle(P("Sort by date")).onClick(()=>{let l=r.children.slice(),c=r.data.sorted===Mn.DateAsc?-1:1;l.sort((d,f)=>{let p=d.data.metadata.time||d.data.metadata.date,g=f.data.metadata.time||f.data.metadata.date;return p&&!g?-1*c:g&&!p?1*c:!p&&!g?0:(p.isBefore(g)?-1:1)*c}),i.updateLane(t,(0,Sd.default)(r,{children:{$set:l},data:{sorted:{$set:r.data.sorted===Mn.DateAsc?Mn.DateDsc:Mn.DateAsc}}}))})}).addSeparator().addItem(u=>{u.setIcon("plus-with-circle").setTitle(P("Insert list before")).onClick(()=>i.insertLane(t,{...xr,id:Ae(),children:[],data:{title:"",shouldMarkItemsComplete:!1,forceEditMode:!0}}))}).addItem(u=>{u.setIcon("plus-with-circle").setTitle(P("Insert list after")).onClick(()=>{let l=[...t];l[l.length-1]=l[l.length-1]+1,i.insertLane(l,{...xr,id:Ae(),children:[],data:{title:"",shouldMarkItemsComplete:!1,forceEditMode:!0}})})}).addSeparator().addItem(u=>{u.setIcon("sheets-in-box").setTitle(P("Archive list")).onClick(()=>o("archive"))}).addItem(u=>{u.setIcon("trash").setTitle(P("Delete list")).onClick(()=>o("delete"))}),[n,o,t,r]),confirmAction:a,setConfirmAction:o}}m();var Ib=me(Et());function Ab({lane:e,lanePath:t}){let{boardModifiers:r}=L.useContext(We);return h("div",{className:B("lane-setting-wrapper")},h("div",{className:B("checkbox-wrapper")},h("div",{className:B("checkbox-label")},P("Mark cards in this list as complete")),h("div",{onClick:()=>r.updateLane(t,(0,Ib.default)(e,{data:{$toggle:["shouldMarkItemsComplete"]}})),className:`checkbox-container ${e.data.shouldMarkItemsComplete?"is-enabled":""}`})))}m();var Lb=me(require("obsidian"));function Pb({itemCount:e,maxItems:t,isEditing:r,setIsEditing:n,title:i,onChange:a}){let{stateManager:o}=L.useContext(We),s=L.useRef(),u=o.getSetting("hide-card-count"),l=p=>{Xn(p,o)||(p.preventDefault(),r&&n(!1))},c=()=>{r&&n(!1)},d=()=>{r&&n(!1)};L.useEffect(()=>{if(r&&s.current){let p=s.current;s.current.focus(),p.selectionStart=p.selectionEnd=p.value.length}},[r]);let f=[B("lane-title-count")];return t&&t{p.preventDefault(),p.stopPropagation();let g=p.target instanceof p.view.HTMLAnchorElement&&p.target.hasClass("internal-link")?p.target.dataset.href:void 0;g&&o.app.workspace.onLinkContextMenu(p,(0,Lb.getLinkpath)(g),o.file.path)}},h(Fa,{markdownString:i})))),!r&&!u&&h("div",{className:et(f)},e,t>0&&h(S,null,h("span",{className:B("lane-title-count-separator")},"/"),h("span",{className:B("lane-title-count-limit")},t))))}var Nb=L.memo(function({lane:t,laneIndex:r,dragHandleRef:n,setIsItemInputVisible:i}){let{boardModifiers:a,stateManager:o}=L.useContext(We),[s,u]=L.useState(!1),l=Wn(r),{settingsMenu:c,confirmAction:d,setConfirmAction:f}=Mb({setIsEditing:u,path:l,lane:t});return L.useEffect(()=>{t.data.forceEditMode&&u(!0)},[t.data.forceEditMode]),h(S,null,h("div",{onDblClick:()=>u(!0),className:B("lane-header-wrapper")},h("div",{className:B("lane-grip"),ref:n},h(_b,null)),h(Pb,{isEditing:s,setIsEditing:u,itemCount:t.children.length,maxItems:t.data.maxItems,title:t.data.title,onChange:p=>{let{title:g,maxItems:y}=jr(p.target.value);a.updateLane(l,(0,Fb.default)(t,{data:{title:{$set:g},maxItems:{$set:y}}}))}}),h("div",{className:B("lane-settings-button-wrapper")},s?h("button",{onClick:()=>{u(!1)},"aria-label":"Close",className:`${B("lane-settings-button")} is-enabled`},h(_t,{name:"cross"})):h(S,null,i&&h("button",{"aria-label":P("Add a card"),className:B("lane-settings-button"),onClick:()=>{i(!0)},onDragOver:p=>{bs(o,p.dataTransfer)&&i(!0)}},h(_t,{name:"plus-with-circle"})),h("button",{"aria-label":P("More options"),className:B("lane-settings-button"),onClick:p=>{c.showAtPosition({x:p.clientX,y:p.clientY})}},h(_t,{name:"vertical-three-dots"}))))),s&&h(Ab,{lane:t,lanePath:l}),d&&h(Tb,{lane:t,action:d,onAction:()=>{switch(d){case"archive":a.archiveLane(l);break;case"archive-items":a.archiveLaneItems(l);break;case"delete":a.deleteEntity(l);break}f(null)},cancel:()=>f(null)}))});var Rb=[Je.Item],_d=L.memo(function({isStatic:t,lane:r,laneIndex:n}){let{stateManager:i,boardModifiers:a,view:o}=L.useContext(We),[s,u]=L.useState(!1),l=Wn(n),c=i.useSetting("lane-width"),d=i.useSetting("new-card-insertion-method"),f=!!r.data.shouldMarkItemsComplete,p=c?{width:`${c}px`}:void 0,g=L.useRef(null),y=L.useRef(null),b=L.useRef(null),[k,T]=L.useState(!1),C=d==="prepend-compact",A=C||d==="prepend";Mi(y,b);let H=z=>{a[A?"prependItems":"appendItems"]([...l,r.children.length-1],z.map(U=>(0,Ob.default)(U,{data:{isComplete:{$set:f}}}))),o.getWindow().setTimeout(()=>{var Z;let U=(Z=g.current)==null?void 0:Z.getElementsByClassName(B("lane-items"));U.length&&As([0,A?0:U[0].scrollHeight],{elementToScroll:U[0],speed:200,minDuration:150,easing:J=>J===1?1:1-Math.pow(2,-10*J)})})},D=h(S,null,h(tb,{items:r.children,isStatic:t,shouldMarkItemsComplete:f}),h(Pi,{accepts:Rb,index:r.children.length,isStatic:t})),K=h(Fs,{id:r.id,index:n,className:et([B("lane-items"),B("vertical")]),triggerTypes:Rb,isStatic:t},t?D:h(Li,{onSortChange:T,axis:"vertical"},D));return h("div",{ref:y,className:et([B("lane-wrapper"),{"is-sorting":k}]),style:p},h("div",{"data-count":r.children.length,ref:g,className:et([B("lane"),{"will-prepend":A}])},h(Nb,{dragHandleRef:b,laneIndex:n,lane:r,setIsItemInputVisible:C?u:void 0}),A&&h(kd,{addItems:H,hideButton:C,isInputVisible:s,setIsInputVisible:u}),t?K:h(gr,{elementRef:g,measureRef:y,id:r.id,index:n,data:r},K),!A&&h(kd,{addItems:H,isInputVisible:s,setIsInputVisible:u})))}),Hb=L.memo(function({lanes:t}){return h(S,null,t.map((r,n)=>h(_d,{lane:r,laneIndex:n,key:r.id})))});m();m();var Bb=me(require("obsidian"));m();function Hs(){return{events:{},emit(e,t,r){let n=`${String(e)}${r||""}`,i=this.events[e],a=this.events[n];if(!i&&!a){console.warn("Event emitted with no handler",e,r);return}r&&a&&a.forEach(o=>o(t)),i&&i.forEach(o=>o(t))},on(e,t,r){let n=`${String(e)}${r||""}`,i=this.events[n];return i||(this.events[n]=i=[]),i.push(t),()=>this.off(e,t,r)},off(e,t,r){let n=`${String(e)}${r||""}`,i=this.events[n];i&&(i.splice(i.indexOf(t)>>>0,1),i.length===0&&delete this.events[n])}}}var Cd=class{constructor(t,r){this.scrollResizeDebounce=0;this.handleResize=t=>{let r=!1;t.forEach(n=>{let i=Ze(n.target);this.win===i&&(r=!0,n.target.dataset.scrollid&&(this.win.clearTimeout(this.scrollResizeDebounce),this.scrollResizeDebounce=this.win.setTimeout(()=>{var a;((a=this.emitter.events.scrollResize)==null?void 0:a.length)&&this.emitter.emit("scrollResize",null)},50)))}),!!r&&(this.hitboxEntities.forEach(n=>{n.recalcInitial()}),this.scrollEntities.forEach(n=>{n.recalcInitial()}))};this.win=t,this.emitter=Hs(),this.hitboxEntities=new Map,this.scrollEntities=new Map,this.onDrop=r,this.resizeObserver=new ResizeObserver((0,Bb.debounce)(this.handleResize,100,!0)),this.dragManager=new Nu(t,this.emitter,this.hitboxEntities,this.scrollEntities)}destroy(){this.resizeObserver.disconnect()}observeResize(t){!t.instanceOf(HTMLElement)||this.resizeObserver.observe(t,{box:"border-box"})}unobserveResize(t){!t.instanceOf(HTMLElement)||this.resizeObserver.unobserve(t)}registerHitboxEntity(t,r,n){n===this.win&&this.hitboxEntities.set(t,r)}registerScrollEntity(t,r,n){n===this.win&&this.scrollEntities.set(t,r)}unregisterHitboxEntity(t,r){r===this.win&&this.hitboxEntities.delete(t)}unregisterScrollEntity(t,r){r===this.win&&this.scrollEntities.delete(t)}};function Bs({win:e,children:t,onDrop:r}){let n=L.useRef(r);n.current=r;let i=L.useMemo(()=>new Cd(e,(a,o)=>n.current(a,o)),[]);return L.useEffect(()=>()=>{i.destroy()},[i]),h(kt.Provider,{value:i},h(ob,null,t))}m();function Dd(e,t,r,n,i,a){let o=[r[0]-n[0],r[1]-n[1],r[2]+n[2],r[3]+n[3]];return{transform:a||`translate3d(${e.x-t.x+o[0]}px, ${e.y-t.y+o[1]}px, 0px)`,width:`${o[2]-o[0]}px`,height:`${o[3]-o[1]}px`,transition:i}}function Ks({children:e}){let t=L.useContext(kt),[r,n]=L.useState(),[i,a]=L.useState();return L.useEffect(()=>{if(!t)return;let o=Fp,s=({dragEntity:c,dragOrigin:d,dragPosition:f,dragEntityMargin:p})=>{!c||!f||!d||(o=c.getHitbox(),n(c),a(Dd(f,d,o,p)))},u=({dragOrigin:c,dragPosition:d,dragEntityMargin:f})=>{!d||!c||a(Dd(d,c,o,f))},l=({dragOrigin:c,primaryIntersection:d,dragPosition:f,dragEntityMargin:p})=>{if(d&&f&&c){let g=d.getHitbox(),y={x:g[0],y:g[1]},b=Di({position:f,destination:y}),k=ln.drop(b),T=lv.drop(y);a(Dd(f,c,o,p,k,T)),activeWindow.setTimeout(()=>{n(void 0),a(void 0)},b)}else n(void 0),a(void 0)};return t.dragManager.emitter.on("dragStart",s),t.dragManager.emitter.on("dragMove",u),t.dragManager.emitter.on("dragEnd",l),()=>{t.dragManager.emitter.off("dragStart",s),t.dragManager.emitter.off("dragMove",u),t.dragManager.emitter.off("dragEnd",l)}},[t]),!r||!i?null:L.createPortal(e(r,i),r.getData().win.document.body)}function Kb(){let e=L.useContext(kt),[t,r]=L.useState(!1);return L.useEffect(()=>{let n=()=>{r(!0)},i=({primaryIntersection:a,dragPosition:o})=>{let s=(a==null?void 0:a.getHitbox())||[0,0],u={x:s[0],y:s[1]},l=Di({position:o||u,destination:u});activeWindow.setTimeout(()=>{r(!1)},l)};return e.dragManager.emitter.on("dragStart",n),e.dragManager.emitter.on("dragEnd",i),()=>{e.dragManager.emitter.off("dragStart",n),e.dragManager.emitter.off("dragEnd",i)}},[e]),t}m();var Ha=me(Et()),$b=me(require("obsidian"));function $s(e){let t=r=>{let n=e.getSetting("prepend-archive-format"),i=e.getSetting("prepend-archive-separator"),a=[(0,$b.moment)().format(n)];i&&a.push(i),a.push(r.data.titleRaw);let o=a.join(" ");return e.updateItemContent(r,o)};return{appendItems:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>Bl(i,r,n))},prependItems:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>Mp(i,r,n))},insertItems:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>pr(i,r,n))},splitItem:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>pr(Fr(i,r),r,n))},moveItemToTop:r=>{e.setState(n=>aa(n,r,[r[0],0]))},moveItemToBottom:r=>{e.setState(n=>{let i=r[0],a=n.children[i];return aa(n,r,[i,a.children.length])})},addLane:r=>{e.app.workspace.trigger("kanban:lane-added",e.file,r),e.setState(n=>Bl(n,[],[r]))},insertLane:(r,n)=>{e.app.workspace.trigger("kanban:lane-added",e.file,n),e.setState(i=>pr(i,r,[n]))},updateLane:(r,n)=>{e.app.workspace.trigger("kanban:lane-updated",e.file,n),e.setState(i=>Kl(i,r,{children:{[r[r.length-1]]:{$set:n}}}))},archiveLane:r=>{e.setState(async n=>{let i=mt(n,r),a=i.children;e.app.workspace.trigger("kanban:lane-archived",e.file,i);try{return(0,Ha.default)(Fr(n,r),{data:{archive:{$unshift:e.getSetting("prepend-archive-date")?await Promise.all(a.map(t)):a}}})}catch(o){return e.setError(o),n}})},archiveLaneItems:r=>{e.setState(async n=>{let a=mt(n,r).children;e.app.workspace.trigger("kanban:lane-cards-archived",e.file,a);try{return(0,Ha.default)(vo(n,r,{children:{$set:[]}}),{data:{archive:{$unshift:e.getSetting("prepend-archive-date")?await Promise.all(a.map(t)):a}}})}catch(o){return e.setError(o),n}})},deleteEntity:r=>{e.setState(n=>{let i=mt(n,r);return e.app.workspace.trigger(`kanban:${i.type}-deleted`,e.file,i),Fr(n,r)})},updateItem:(r,n)=>{e.setState(i=>{let a=mt(i,r);return e.app.workspace.trigger("kanban:card-updated",e.file,a,n),Kl(i,r,{children:{[r[r.length-1]]:{$set:n}}})})},archiveItem:r=>{e.setState(async n=>{let i=mt(n,r);e.app.workspace.trigger("kanban:card-archived",e.file,r,i);try{return(0,Ha.default)(Fr(n,r),{data:{archive:{$push:[e.getSetting("prepend-archive-date")?await t(i):i]}}})}catch(a){return e.setError(a),n}})},duplicateEntity:r=>{e.setState(n=>{let i=mt(n,r);e.app.workspace.trigger(`kanban:${i.type}-duplicated`,e.file,r,i);let a=(0,Ha.default)(i,{id:{$set:Ae()}});return pr(n,r,[a])})}}}function Vb(e,t){return h(GC,{win:e,plugin:t})}var JC=L.memo(function({view:t}){return L.createPortal(t.getPortal(),t.contentEl)});function GC({win:e,plugin:t}){let r=t.useViewState(e),n=r.map(a=>h(JC,{key:a.id,view:a})),i=L.useCallback((a,o)=>{if(!a||!o)return;if(a.scopeId==="htmldnd"){let y=a.getData(),b=t.getStateManagerFromViewID(y.viewId,y.win),k=o.getPath(),T=mt(b.state,k.slice(0,-1));(A=>Promise.all(A.map(H=>b.getNewItem(H))))(y.content).then(A=>{let H=A.map(D=>{var K;return(0,Ub.default)(D,{data:{isComplete:{$set:!!((K=T==null?void 0:T.data)==null?void 0:K.shouldMarkItemsComplete)}}})});return b.setState(D=>pr(D,k,H))}).catch(A=>{b.setError(A),console.error(A)});return}let s=a.getPath(),u=o.getPath(),[,l]=a.scopeId.split(":::"),[,c]=o.scopeId.split(":::"),d=a.getData(),f=o.getData();if(l===c){let y=t.getStateManagerFromViewID(a.scopeId,d.win);return t.app.workspace.trigger("kanban:card-moved",y.file,s,u,d),y.setState(b=>{var H;let k=!1,T=aa(b,s,u,D=>D.type===Je.Item?(k=!0,Ul(b,s,b,u,D)):D);if(!k)return T;let C=u.slice(0,-1),A=mt(b,C);return((H=A==null?void 0:A.data)==null?void 0:H.sorted)!==void 0?vo(T,C,{data:{$unset:["sorted"]}}):T})}let p=t.getStateManagerFromViewID(a.scopeId,d.win),g=t.getStateManagerFromViewID(o.scopeId,f.win);p.setState(y=>{let b=mt(y,s);return g.setState(k=>{let T=b.type===Je.Item?Ul(y,s,k,u,b):b;return pr(k,u,[T])}),Fr(y,s)})},[r]);if(n.length)return h(Bs,{win:e,onDrop:i},n,h(Ks,null,(a,o)=>{let[s,u]=L.useMemo(()=>{if(a.scopeId==="htmldnd")return[null,null];let l=a.getData(),c=t.getKanbanView(a.scopeId,l.win),d=t.stateManagers.get(c.file),f=mt(d.state,a.getPath()),p=$s(d),g=c.file.path;return[f,{view:c,stateManager:d,boardModifiers:p,filePath:g,getTagColor:bo(d),getDateColor:wo(d)}]},[a]);return(s==null?void 0:s.type)===Je.Lane?h(We.Provider,{value:u},h("div",{className:B("drag-container"),style:o},h(_d,{lane:s,laneIndex:0,isStatic:!0}))):(s==null?void 0:s.type)===Je.Item?h(We.Provider,{value:u},h("div",{className:B("drag-container"),style:o},h(vd,{item:s,itemIndex:0,isStatic:!0}))):h("div",null)}))}m();var Wd=me(Et()),Lw=me(require("obsidian"));m();var Xb=me(Et()),Zb=me(require("obsidian")),Vs=me(yc());m();function Us({id:e,children:t}){let r=L.useContext(la),n=L.useMemo(()=>e||Ae(),[e]);return L.useEffect(()=>()=>{r.unmountScope(e)},[e]),h(mr.Provider,{value:n},t)}m();var gn="kanban-plugin",Wb;(function(t){t[t.List=0]="List"})(Wb||(Wb={}));var zb=`**${P("Complete")}**`,jb="***",Td=["---","",`${gn}: basic`,"","---","",""].join(` + animateScrollTo(scrollToElement:Element, options)`;r+=a.horizontalOffset,n+=a.verticalOffset;let d=c.getMaxHorizontalScroll(),f=c.getHorizontalScroll();r>d&&(r=d);let p=r-f,g=c.getMaxVerticalScroll(),y=c.getVerticalScroll();n>g&&(n=g);let b=n-y,x=Math.abs(Math.round(p/1e3*a.speed)),T=Math.abs(Math.round(b/1e3*a.speed)),C=x>T?x:T;return Ca.maxDuration&&(C=a.maxDuration),new Promise((A,H)=>{p===0&&b===0&&A(!0),Zn.remove(c.element,!0);let D,K=()=>{se(),cancelAnimationFrame(D),A(!1)};Zn.add(c.element,K);let z=ie=>ie.preventDefault(),U=a.cancelOnUserAction?K:z,Z=a.cancelOnUserAction?{passive:!0}:{passive:!1},J=["wheel","touchstart","keydown","mousedown"],se=()=>{J.forEach(ie=>{c.element.removeEventListener(ie,U,Z)})};J.forEach(ie=>{c.element.addEventListener(ie,U,Z)});let G=Date.now(),Q=()=>{var ie=Date.now()-G,he=ie/C;let pe=Math.round(f+p*a.easing(he)),ge=Math.round(y+b*a.easing(he));ie{this.activeScroll.size===0&&(this.scrollState=jl(this.scrollEl),this.handleEntityRegistration())};this.onDragEnd=()=>{this.activeScroll.clear()};this.handleBeginDragScroll=({scrollEntitySide:t,scrollStrength:r})=>{this.isDoneScrolling(t)||(this.activeScroll.set(t,r),this.handleDragScroll())};this.handleUpdateDragScroll=({scrollEntitySide:t,scrollStrength:r})=>{this.isDoneScrolling(t)||this.activeScroll.set(t,r)};this.handleEndDragScroll=({scrollEntitySide:t})=>{this.activeScroll.delete(t)};this.dndManager=t,this.instanceId=Ae(),this.scopeId=r,this.triggerTypes=n,this.scrollState=on,this.parent=i,this.activeScroll=new Map,this.pollForNodes(a)}pollForNodes(t){!t()||this.parent&&!this.parent.observerHandlers?this.dndManager.win.requestAnimationFrame(()=>this.pollForNodes(t)):this.initNodes(t())}initNodes(t){this.scrollEl=t,this.scrollEl.dataset.hitboxid=this.instanceId,this.scrollEl.dataset.scrollid=this.instanceId,this.top=this.createScrollEntity("top"),this.right=this.createScrollEntity("right"),this.bottom=this.createScrollEntity("bottom"),this.left=this.createScrollEntity("left"),this.bindScrollHandlers(),this.observerHandlers=new Map,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{var a;let i=(a=n.target.dataset)==null?void 0:a.hitboxid;if(i&&this.observerHandlers.has(i)){let o=this.observerHandlers.get(i);o&&o(n)}})},{root:t,threshold:.1}),this.scrollEl.addEventListener("scroll",this.onScroll,{passive:!0,capture:!1}),this.dndManager.emitter.on("scrollResize",this.onScroll),this.scrollEl.win.setTimeout(()=>{this.onScroll()}),this.dndManager.observeResize(this.scrollEl),this.parent?this.parent.registerObserverHandler(this.instanceId,this.scrollEl,r=>{r.isIntersecting?this.handleEntityRegistration():this.handleEntityUnregistration()}):this.handleEntityRegistration()}destroy(){var t;this.handleEntityUnregistration(),this.observer.disconnect(),this.unbindScrollHandlers(),this.scrollEl.removeEventListener("scroll",this.onScroll),this.dndManager.emitter.off("scrollResize",this.onScroll),(t=this.parent)==null||t.unregisterObserverHandler(this.instanceId,this.scrollEl),this.dndManager.unobserveResize(this.scrollEl)}handleEntityRegistration(){Ps.forEach(t=>{let r=Ze(this.scrollEl),n=this.getId(t),i=this.dndManager.scrollEntities.has(n),a=this.isDoneScrolling(t);!a&&!i?this.dndManager.registerScrollEntity(n,this[t],r):a&&i&&this.dndManager.unregisterScrollEntity(n,r)})}handleEntityUnregistration(){Ps.forEach(t=>{let r=Ze(this.scrollEl),n=this.getId(t);this.dndManager.unregisterScrollEntity(n,r)})}registerObserverHandler(t,r,n){this.observerHandlers.set(t,n),this.observer.observe(r)}unregisterObserverHandler(t,r){this.observerHandlers.delete(t),this.observer.unobserve(r)}bindScrollHandlers(){Ps.forEach(t=>{let r=this.getId(t);this.dndManager.dragManager.emitter.on("beginDragScroll",this.handleBeginDragScroll,r),this.dndManager.dragManager.emitter.on("updateDragScroll",this.handleUpdateDragScroll,r),this.dndManager.dragManager.emitter.on("endDragScroll",this.handleEndDragScroll,r),this.dndManager.dragManager.emitter.on("dragEnd",this.onDragEnd)})}unbindScrollHandlers(){Ps.forEach(t=>{let r=this.getId(t);this.dndManager.dragManager.emitter.off("beginDragScroll",this.handleBeginDragScroll,r),this.dndManager.dragManager.emitter.off("updateDragScroll",this.handleUpdateDragScroll,r),this.dndManager.dragManager.emitter.off("endDragScroll",this.handleEndDragScroll,r),this.dndManager.dragManager.emitter.off("dragEnd",this.onDragEnd)})}isDoneScrolling(t){switch(t){case"top":return this.scrollState.y===0;case"right":return this.scrollState.x===this.scrollState.maxX;case"bottom":return this.scrollState.y===this.scrollState.maxY;case"left":return this.scrollState.x===0}}handleDragScroll(){this.activeScroll.size!==0&&this.scrollEl.win.requestAnimationFrame(()=>{let t={left:0,top:0};this.activeScroll.forEach((r,n)=>{if(this.isDoneScrolling(n))return this.activeScroll.delete(n);let i=["left","right"].includes(n)?"left":"top",a=["right","bottom"].includes(n);t[i]=a?Math.max(Ls-Ls*r/35,0):Math.min(-Ls+Ls*r/35,0)}),this.scrollEl.scrollBy(t),this.scrollState=jl(this.scrollEl),this.handleEntityRegistration(),this.handleDragScroll()})}getId(t){return`${this.instanceId}-${t}`}getPath(t){var r,n,i,a;switch(t){case"right":return[...((r=this.parent)==null?void 0:r.getPath())||[],1];case"bottom":return[...((n=this.parent)==null?void 0:n.getPath())||[],2];case"left":return[...((i=this.parent)==null?void 0:i.getPath())||[],3]}return[...((a=this.parent)==null?void 0:a.getPath())||[],0]}getScrollShift(){var r,n,i;let t=(r=this.parent)==null?void 0:r.getScrollShift();return{x:Xe((n=this.parent)==null?void 0:n.scrollState.x)+Xe(t==null?void 0:t.x),y:Xe((i=this.parent)==null?void 0:i.scrollState.y)+Xe(t==null?void 0:t.y)}}createScrollEntity(t){var n,i;let r=this;return{scopeId:this.scopeId,entityId:r.getId(t),initial:Wl(this.scrollEl.getBoundingClientRect(),((n=this.parent)==null?void 0:n.scrollState)||on,((i=this.parent)==null?void 0:i.getScrollShift())||Pn,t),getParentScrollState(){var a;return((a=r.parent)==null?void 0:a.scrollState)||on},getParentScrollShift(){var a;return((a=r.parent)==null?void 0:a.getScrollShift())||Pn},recalcInitial(){var a,o;this.initial=Wl(r.scrollEl.getBoundingClientRect(),((a=r.parent)==null?void 0:a.scrollState)||on,((o=r.parent)==null?void 0:o.getScrollShift())||Pn,t)},getHitbox(){return So(this.initial[0],this.initial[1],this.initial[2],this.initial[3],this.getParentScrollState(),this.getParentScrollShift())},getPath(){return r.getPath(t)},getData(){return{id:r.getId(t),type:bC,side:t,accepts:r.triggerTypes||[],scrollContainer:r.scrollEl,win:Ze(r.scrollEl)}}}}};function ab({scrollRef:e,triggerTypes:t,children:r}){let n=P.useContext(xt),i=P.useContext(mr),a=P.useContext(sa),o=P.useRef(),s=P.useMemo(()=>{if(n){o.current&&o.current.destroy();let u=new yd(n,i,t||[],a,()=>e.current);return o.current=u,u}return null},[n,i,e,t,a]);return P.useEffect(()=>()=>{var u;return(u=o.current)==null?void 0:u.destroy()},[]),s?h(sa.Provider,{value:s},r):null}m();function ob({children:e}){let t=P.useMemo(()=>new oa,[]);return h(la.Provider,{value:t},e)}function sb(e,t){let r=P.useContext(mr),n=P.useRef(null),i=P.useContext(la),a=o=>{n.current=o,n.current&&o.win.requestAnimationFrame(()=>{let s=i.getScrollState(e);s&&(s.x!==0||s.y!==0)&&(n.current.scrollLeft=s.x,n.current.scrollTop=s.y)})};return P.useEffect(()=>{let o=n.current;if(!o)return;let s=ds(o.win,u=>{let l=u.target;i.setScrollState(r,e,{x:l.scrollLeft,y:l.scrollTop})});return o.addEventListener("scroll",s),()=>{o.removeEventListener("scroll",s)}},[i,e,t]),{setRef:a,scrollRef:n}}function Fs({className:e,children:t,triggerTypes:r,isStatic:n,id:i,index:a}){let{setRef:o,scrollRef:s}=sb(i,a);return h("div",{ref:o,className:et([e,B("scroll-container")])},n?t:h(ab,{scrollRef:s,triggerTypes:r},t))}m();m();var bd={width:0,height:0},wC=100,wd=class{constructor(t,r,n){this.hitboxDimensions=bd;this.handleDragStart=({dragEntity:t,dragEntityMargin:r,dragOriginHitbox:n})=>{let i=t==null?void 0:t.entityId,a=i?this.sortables.has(i):null;!t||!a||!n||(this.setSortState(!0),this.hitboxDimensions=ql(n,r),this.activatePlaceholder(this.hitboxDimensions,ln.none),this.sortables.forEach(([o,s,u])=>{let l=ra(t.getPath(),o.getPath()),c=o.entityId;if(l===an.Self)return this.hidden.add(c),this.hideDraggingEntity(u);l===an.After&&(this.shifted.has(c)||this.shifted.add(c),this.shiftEl(s,ln.none,this.hitboxDimensions))}))};this.dragEndTimeout=0;this.handleDragEnd=({primaryIntersection:t,dragPosition:r,dragOriginHitbox:n,dragEntity:i})=>{if(!this.isSorting||!r||!n||!i){if(!t&&i&&this.sortables.has(i.entityId))return this.resetSelf({maintainHidden:!1});if(t&&i){let s=(t==null?void 0:t.getHitbox())||n,u=Di({position:r,destination:{x:s[0],y:s[1]}});return this.dndManager.win.setTimeout(()=>{this.resetSelf({maintainHidden:!1})},u)}return this.resetSelf({maintainHidden:!0})}this.dndManager.win.clearTimeout(this.dragEnterTimeout),this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEndTimeout);let a=(t==null?void 0:t.getHitbox())||n,o=i.scopeId==="htmldnd"?0:Di({position:r,destination:{x:a[0],y:a[1]}});this.dragEndTimeout=this.dndManager.win.setTimeout(()=>{let s=i.entityId.split(":::").pop(),u=t==null?void 0:t.entityId.split(":::").pop();t&&this.sortables.has(t.entityId)&&u!==s&&this.dndManager.onDrop(i,t),this.resetSelf({maintainHidden:!1,shiftTransition:ln.none,placeholderTransition:ln.none})},o),this.hitboxDimensions=bd};this.dragEnterTimeout=0;this.handleDragEnter=({dragEntity:t,dragEntityMargin:r,dragOriginHitbox:n,primaryIntersection:i})=>{let a=i==null?void 0:i.entityId,o=a?this.sortables.has(a):null;if(!t||!i||!o||!n){!o&&this.isSorting&&this.resetSelf({maintainHidden:!0,maintainPlaceholder:!0});return}t.entityId!==i.entityId&&(this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEnterTimeout),this.dragEnterTimeout=this.dndManager.win.setTimeout(()=>{this.setSortState(!0),this.hitboxDimensions=ql(n,r),this.activatePlaceholder(this.hitboxDimensions,ln.placeholder),this.sortables.forEach(([s,u])=>{let l=ra(i.getPath(),s.getPath()),c=s.entityId;!this.hidden.has(c)&&(l===an.Self||l===an.After)?this.shifted.has(c)||(this.shifted.add(c),this.shiftEl(u,ln.outOfTheWay,this.hitboxDimensions)):this.shifted.has(c)&&(this.shifted.delete(c),this.resetEl(u))})},10))};this.dragLeaveTimeout=0;this.handleDragLeave=()=>{!this.isSorting||(this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEnterTimeout),this.dragLeaveTimeout=this.dndManager.win.setTimeout(()=>{this.resetSelf({maintainHidden:!0,maintainPlaceholder:!0})},wC),this.hitboxDimensions=bd)};this.instanceId=Ae(),this.dndManager=t,this.sortables=new Map,this.shifted=new Set,this.hidden=new Set,this.isSorting=!1,this.axis=r,this.placeholder=null,this.sortListeners=n?[n]:[],t.dragManager.emitter.on("dragStart",this.handleDragStart),t.dragManager.emitter.on("dragEnd",this.handleDragEnd),t.dragManager.emitter.on("dragEnter",this.handleDragEnter),t.dragManager.emitter.on("dragLeave",this.handleDragLeave)}destroy(){this.dndManager.win.clearTimeout(this.dragLeaveTimeout),this.dndManager.win.clearTimeout(this.dragEndTimeout),this.dndManager.dragManager.emitter.off("dragStart",this.handleDragStart),this.dndManager.dragManager.emitter.off("dragEnd",this.handleDragEnd),this.dndManager.dragManager.emitter.off("dragEnter",this.handleDragEnter),this.dndManager.dragManager.emitter.off("dragLeave",this.handleDragLeave)}registerSortable(t,r,n,i){let a=r.getData().type==="placeholder";this.sortables.set(t,[r,n,i]),a?(this.placeholder=[r,n,i],i.dataset.axis=this.axis,Tn(i,"transition",ln.none)):Tn(n,"transition",ln.none)}unregisterSortable(t){this.sortables.delete(t)}resetSelf({maintainHidden:t,maintainPlaceholder:r,shiftTransition:n,placeholderTransition:i}){this.isSorting&&this.setSortState(!1),this.isPlaceholderActive&&!r&&this.deactivatePlaceholder(i),this.shifted.size>0&&(this.shifted.forEach(a=>{if(this.sortables.has(a)){let[,o]=this.sortables.get(a);this.resetEl(o,n)}}),this.shifted.clear()),!t&&this.hidden.size>0&&(this.hidden.forEach(a=>{if(this.sortables.has(a)){let[,,o]=this.sortables.get(a);this.resetEl(o,n)}}),this.hidden.clear())}activatePlaceholder(t,r){if(this.placeholder){let n=this.axis==="horizontal",[,,i]=this.placeholder;Tn(i,"transition",r),Tn(i,n?"width":"height",`${n?t.width:t.height}px`),this.isPlaceholderActive=!0}}deactivatePlaceholder(t=ln.placeholder){if(this.placeholder){let[,,r]=this.placeholder;Tn(r,"transition",t),fs(r,"width"),fs(r,"height"),this.isPlaceholderActive=!1}}hideDraggingEntity(t){Tn(t,"display","none")}shiftEl(t,r,n){let i=this.axis==="horizontal"?`translate3d(${n.width}px, 0, 0)`:`translate3d(0, ${n.height}px, 0)`;Tn(t,"transition",r),Tn(t,"transform",i)}resetEl(t,r=ln.outOfTheWay){Tn(t,"transition",r),Tn(t,"transform","translate3d(0, 0, 0)"),fs(t,"display")}addSortNotifier(t){this.sortListeners.push(t)}removeSortNotifier(t){this.sortListeners=this.sortListeners.filter(r=>r!==t)}setSortState(t){this.isSorting!==t&&(this.isSorting=t,this.sortListeners.forEach(r=>r(t)))}};function Li({axis:e,children:t,onSortChange:r}){let n=P.useContext(xt),i=P.useRef(),a=P.useMemo(()=>{if(n){i.current&&i.current.destroy();let o=new wd(n,e,r);return i.current=o,o}return null},[n,e,r]);return P.useEffect(()=>()=>{var o;return(o=i.current)==null?void 0:o.destroy()},[]),a?h(Eo.Provider,{value:a},t):null}m();function Pi({index:e,accepts:t,className:r,isStatic:n}){let i=P.useRef(null),a=P.useRef(null),o=P.useMemo(()=>({id:Ae(),type:"placeholder",accepts:t}),t);return h("div",{ref:a,className:et([r,B("placeholder")])},h("div",{ref:i},!n&&h(gr,{elementRef:i,measureRef:a,id:o.id,index:e,data:o})))}m();m();m();Ar();Ar();function lb(e,t){for(var r in t)e[r]=t[r];return e}function Ed(e,t){for(var r in e)if(r!=="__source"&&!(r in t))return!0;for(var n in t)if(n!=="__source"&&e[n]!==t[n])return!0;return!1}function kd(e){this.props=e}function EC(e,t){function r(i){var a=this.props.ref,o=a==i.ref;return!o&&a&&(a.call?a(null):a.current=null),t?!t(this.props,i)||!o:Ed(this.props,i)}function n(i){return this.shouldComponentUpdate=r,h(e,i)}return n.displayName="Memo("+(e.displayName||e.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n}(kd.prototype=new ht).isPureReactComponent=!0,kd.prototype.shouldComponentUpdate=function(e,t){return Ed(this.props,e)||Ed(this.state,t)};var cb=fe.__b;fe.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),cb&&cb(e)};var kC=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function xC(e){function t(r){var n=lb({},r);return delete n.ref,e(n,r.ref||null)}return t.$$typeof=kC,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var ub=function(e,t){return e==null?null:wt(wt(e).map(t))},SC={map:ub,forEach:ub,count:function(e){return e?wt(e).length:0},only:function(e){var t=wt(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:wt},_C=fe.__e;fe.__e=function(e,t,r,n){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e==null&&(t.__e=r.__e,t.__k=r.__k),i.__c(e,t)}_C(e,t,r,n)};var db=fe.unmount;function Ns(){this.__u=0,this.t=null,this.__b=null}function fb(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function CC(e){var t,r,n;function i(a){if(t||(t=e()).then(function(o){r=o.default||o},function(o){n=o}),n)throw n;if(!r)throw t;return h(r,a)}return i.displayName="Lazy",i.__f=!0,i}function Oa(){this.u=null,this.o=null}fe.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),db&&db(e)},(Ns.prototype=new ht).__c=function(e,t){var r=t.__c,n=this;n.t==null&&(n.t=[]),n.t.push(r);var i=fb(n.__v),a=!1,o=function(){a||(a=!0,r.__R=null,i?i(s):s())};r.__R=o;var s=function(){if(!--n.__u){if(n.state.__e){var l=n.state.__e;n.__v.__k[0]=function d(f,p,g){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(y){return d(y,p,g)}),f.__c&&f.__c.__P===p&&(f.__e&&g.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=g)),f}(l,l.__c.__P,l.__c.__O)}var c;for(n.setState({__e:n.__b=null});c=n.t.pop();)c.forceUpdate()}},u=t.__h===!0;n.__u++||u||n.setState({__e:n.__b=n.__v.__k[0]}),e.then(o,o)},Ns.prototype.componentWillUnmount=function(){this.t=[]},Ns.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function a(o,s,u){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(l){typeof l.__c=="function"&&l.__c()}),o.__c.__H=null),(o=lb({},o)).__c!=null&&(o.__c.__P===u&&(o.__c.__P=s),o.__c=null),o.__k=o.__k&&o.__k.map(function(l){return a(l,s,u)})),o}(this.__b,r,n.__O=n.__P)}this.__b=null}var i=t.__e&&h(S,null,e.fallback);return i&&(i.__h=null),[h(S,null,t.__e?null:e.children),i]};var pb=function(e,t,r){if(++r[1]===r[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(r=e.u;r;){for(;r.length>3;)r.pop()();if(r[1]>>1,1),t.i.removeChild(n)}}),xn(h(DC,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function MC(e,t){var r=h(TC,{__v:e,i:t});return r.containerInfo=t,r}(Oa.prototype=new ht).__e=function(e){var t=this,r=fb(t.__v),n=t.o.get(e);return n[0]++,function(i){var a=function(){t.props.revealOrder?(n.push(i),pb(t,e,n)):i()};r?r(a):a()}},Oa.prototype.render=function(e){this.u=null,this.o=new Map;var t=wt(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var r=t.length;r--;)this.o.set(t[r],this.u=[1,0,this.u]);return e.children},Oa.prototype.componentDidUpdate=Oa.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,r){pb(e,r,t)})};var hb=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,IC=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,AC=typeof document!="undefined",LC=function(e){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function PC(e,t,r){return t.__k==null&&(t.textContent=""),xn(e,t),typeof r=="function"&&r(),e?e.__c:null}function FC(e,t,r){return Qi(e,t),typeof r=="function"&&r(),e?e.__c:null}ht.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(ht.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var mb=fe.event;function NC(){}function OC(){return this.cancelBubble}function RC(){return this.defaultPrevented}fe.event=function(e){return mb&&(e=mb(e)),e.persist=NC,e.isPropagationStopped=OC,e.isDefaultPrevented=RC,e.nativeEvent=e};var gb,vb={configurable:!0,get:function(){return this.class}},yb=fe.vnode;fe.vnode=function(e){var t=e.type,r=e.props,n=r;if(typeof t=="string"){var i=t.indexOf("-")===-1;for(var a in n={},r){var o=r[a];AC&&a==="children"&&t==="noscript"||a==="value"&&"defaultValue"in r&&o==null||(a==="defaultValue"&&"value"in r&&r.value==null?a="value":a==="download"&&o===!0?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+t)&&!LC(r.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&IC.test(a)?a=a.replace(/[A-Z0-9]/,"-$&").toLowerCase():o===null&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),n[a]&&(a="oninputCapture")),n[a]=o)}t=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.value.indexOf(s.props.value)!=-1})),t=="select"&&n.defaultValue!=null&&(n.value=wt(r.children).forEach(function(s){s.props.selected=n.multiple?n.defaultValue.indexOf(s.props.value)!=-1:n.defaultValue==s.props.value})),e.props=n,r.class!=r.className&&(vb.enumerable="className"in r,r.className!=null&&(n.class=r.className),Object.defineProperty(n,"className",vb))}e.$$typeof=hb,yb&&yb(e)};var bb=fe.__r;fe.__r=function(e){bb&&bb(e),gb=e.__c};var HC={ReactCurrentDispatcher:{current:{readContext:function(e){return gb.__n[e.__c].props.value}}}};function BC(e){return h.bind(null,e)}function wb(e){return!!e&&e.$$typeof===hb}function KC(e){return wb(e)?so.apply(null,arguments):e}function $C(e){return!!e.__k&&(xn(null,e),!0)}function UC(e){return e&&(e.base||e.nodeType===1&&e)||null}var VC=function(e,t){return e(t)},WC=function(e,t){return e(t)};var at={useState:sr,useReducer:Zi,useEffect:Sn,useLayoutEffect:Lr,useRef:Xt,useImperativeHandle:co,useMemo:lr,useCallback:cr,useContext:uo,useDebugValue:fo,version:"17.0.2",Children:SC,render:PC,hydrate:FC,unmountComponentAtNode:$C,createPortal:MC,createElement:h,createContext:ai,createFactory:BC,cloneElement:KC,createRef:ri,Fragment:S,isValidElement:wb,findDOMNode:UC,Component:ht,PureComponent:kd,memo:EC,forwardRef:xC,flushSync:WC,unstable_batchedUpdates:VC,StrictMode:S,Suspense:Ns,SuspenseList:Oa,lazy:CC,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:HC};var zC=function(){if(typeof window=="undefined"||typeof window.addEventListener!="function")return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),r=function(){return null};return window.addEventListener("test",r,t),window.removeEventListener("test",r,t),e},jC="ignore-onclickoutside",Eb=function(t,r){var n;return(n=t.classList)==null?void 0:n.contains(r)},kb=function(t,r){for(var n=t.target||t;n;){if(Array.isArray(r)){if(r.some(function(i){return Eb(n,i)}))return!0}else if(Eb(n,r))return!0;n=n.parentElement}return!1},qC=function(t){return document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY},xb=function(t){return t.includes("touch")&&zC()?{passive:!0}:!1},YC=function(t,r){var n=r===void 0?{}:r,i=n.refs,a=n.disabled,o=n.eventTypes,s=o===void 0?["mousedown","touchstart"]:o,u=n.excludeScrollbar,l=n.ignoreClass,c=l===void 0?jC:l,d=n.detectIFrame,f=d===void 0?!0:d,p=sr([]),g=p[0],y=p[1],b=Xt(t);b.current=t;var x=cr(function(T){return y(function(C){return[].concat(C,[{current:T}])})},[]);return Sn(function(){if(!(!(i!=null&&i.length)&&!g.length)){var T=function(){var K=[];return(i||g).forEach(function(z){var U=z.current;return U&&K.push(U)}),K},C=function(K){!kb(K,c)&&!(u&&qC(K))&&T().every(function(z){return!z.contains(K.target)})&&b.current(K)},A=function(K){return setTimeout(function(){var z=document,U=z.activeElement;(U==null?void 0:U.tagName)==="IFRAME"&&!kb(U,c)&&!T().includes(U)&&b.current(K)},0)},H=function(){s.forEach(function(K){return document.removeEventListener(K,C,xb(K))}),f&&window.removeEventListener("blur",A)};if(a){H();return}return s.forEach(function(D){return document.addEventListener(D,C,xb(D))}),f&&window.addEventListener("blur",A),function(){return H()}}},[g,c,u,a,f,JSON.stringify(s)]),x},Fi=YC;function xd({addItems:e,isInputVisible:t,setIsInputVisible:r,hideButton:n}){let[i,a]=P.useState(""),{stateManager:o,view:s}=P.useContext(We),u=P.useRef(),l=Fi(()=>{r(!1)},{ignoreClass:B("ignore-click-outside")}),c=P.useCallback(()=>{a(""),r(!1)},[]),d=async g=>{try{e(await Promise.all(g.map(y=>o.getNewItem(y))))}catch(y){o.setError(y)}},f=g=>{if(!Xn(g,o)){g.preventDefault();let y=i.trim();y&&(d([y]),a(""))}},p=()=>{let g=i.trim();g&&(d([g]),a(""))};return t?h("div",{className:B("item-form"),ref:l},h("div",{className:B("item-input-wrapper")},h(xr,{ref:u,className:B("item-input"),placeholder:L("Card title..."),onEnter:f,onEscape:c,onSubmit:p,value:i,onChange:g=>{a(g.target.value)},onPaste:g=>{ws(g,o,s.getWindow())}}))):n?null:h("div",{className:B("item-button-wrapper")},h("button",{className:B("new-item-button"),onClick:()=>r(!0),onDragOver:g=>{bs(o,g.dataTransfer)&&r(!0)}},h("span",{className:B("item-button-plus")},"+")," ",L("Add a card")))}m();var Fb=me(Et());m();function Os(e,t){let r=t.end-t.start;return e.slice(0,t.start)+"\0".repeat(r)+e.slice(t.end)}function Sb(e){return e.replace(/\s*\0+\s*/g," ").trim()}function Ra(e){return e.trim().replace(/(\r\n|\n)/g,"
")}function Rs(e){return e.replace(/
/g,` +`).trim()}function jr(e){e=Rs(e);let t=e.match(/^(.*?)\s*\((\d+)\)$/);return t==null?{title:e,maxItems:0}:{title:t[1],maxItems:Number(t[2])}}m();function _b(e){return h("svg",{...e,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},h("path",{fill:"currentColor",d:"M5 3h2v2H5zm0 4h2v2H5zm0 4h2v2H5zm4-8h2v2H9zm0 4h2v2H9zm0 4h2v2H9z"}))}m();var Sd=me(Et()),Cb=me(require("obsidian"));var Db={delete:{description:L("Are you sure you want to delete this list and all its cards?"),confirm:L("Yes, delete list")},archive:{description:L("Are you sure you want to archive this list and all its cards?"),confirm:L("Yes, archive list")},"archive-items":{description:L("Are you sure you want to archive all cards in this list?"),confirm:L("Yes, archive cards")}};function Tb({action:e,cancel:t,onAction:r,lane:n}){return P.useEffect(()=>{e&&n.children.length===0&&r()},[e,n.children.length]),!e||e&&n.children.length===0?null:h("div",{className:B("action-confirm-wrapper")},h("div",{className:B("action-confirm-text")},Db[e].description),h("div",null,h("button",{onClick:r,className:B("confirm-action-button")},Db[e].confirm),h("button",{onClick:t,className:B("cancel-action-button")},"Cancel")))}function Mb({setIsEditing:e,path:t,lane:r}){let{stateManager:n,boardModifiers:i}=P.useContext(We),[a,o]=P.useState(null);return{settingsMenu:P.useMemo(()=>new Cb.Menu().addItem(u=>{u.setIcon("lucide-edit-3").setTitle(L("Edit list")).onClick(()=>e(!0))}).addItem(u=>{u.setIcon("lucide-archive").setTitle(L("Archive cards")).onClick(()=>o("archive-items"))}).addSeparator().addItem(u=>{u.setIcon("lucide-move-vertical").setTitle(L("Sort by card text")).onClick(()=>{let l=r.children.slice(),c=r.data.sorted===Mn.TitleAsc;l.sort((d,f)=>c?f.data.titleSearch.localeCompare(d.data.titleSearch):d.data.titleSearch.localeCompare(f.data.titleSearch)),i.updateLane(t,(0,Sd.default)(r,{children:{$set:l},data:{sorted:{$set:r.data.sorted===Mn.TitleAsc?Mn.TitleDsc:Mn.TitleAsc}}}))})}).addItem(u=>{u.setIcon("lucide-move-vertical").setTitle(L("Sort by date")).onClick(()=>{let l=r.children.slice(),c=r.data.sorted===Mn.DateAsc?-1:1;l.sort((d,f)=>{let p=d.data.metadata.time||d.data.metadata.date,g=f.data.metadata.time||f.data.metadata.date;return p&&!g?-1*c:g&&!p?1*c:!p&&!g?0:(p.isBefore(g)?-1:1)*c}),i.updateLane(t,(0,Sd.default)(r,{children:{$set:l},data:{sorted:{$set:r.data.sorted===Mn.DateAsc?Mn.DateDsc:Mn.DateAsc}}}))})}).addSeparator().addItem(u=>{u.setIcon("corner-left-down").setTitle(L("Insert list before")).onClick(()=>i.insertLane(t,{...kr,id:Ae(),children:[],data:{title:"",shouldMarkItemsComplete:!1,forceEditMode:!0}}))}).addItem(u=>{u.setIcon("lucide-corner-right-down").setTitle(L("Insert list after")).onClick(()=>{let l=[...t];l[l.length-1]=l[l.length-1]+1,i.insertLane(l,{...kr,id:Ae(),children:[],data:{title:"",shouldMarkItemsComplete:!1,forceEditMode:!0}})})}).addSeparator().addItem(u=>{u.setIcon("lucide-archive").setTitle(L("Archive list")).onClick(()=>o("archive"))}).addItem(u=>{u.setIcon("lucide-trash-2").setTitle(L("Delete list")).onClick(()=>o("delete"))}),[n,o,t,r]),confirmAction:a,setConfirmAction:o}}m();var Ib=me(Et());function Ab({lane:e,lanePath:t}){let{boardModifiers:r}=P.useContext(We);return h("div",{className:B("lane-setting-wrapper")},h("div",{className:B("checkbox-wrapper")},h("div",{className:B("checkbox-label")},L("Mark cards in this list as complete")),h("div",{onClick:()=>r.updateLane(t,(0,Ib.default)(e,{data:{$toggle:["shouldMarkItemsComplete"]}})),className:`checkbox-container ${e.data.shouldMarkItemsComplete?"is-enabled":""}`})))}m();var Lb=me(require("obsidian"));function Pb({itemCount:e,maxItems:t,isEditing:r,setIsEditing:n,title:i,onChange:a}){let{stateManager:o}=P.useContext(We),s=P.useRef(),u=o.getSetting("hide-card-count"),l=p=>{Xn(p,o)||(p.preventDefault(),r&&n(!1))},c=()=>{r&&n(!1)},d=()=>{r&&n(!1)};P.useEffect(()=>{if(r&&s.current){let p=s.current;s.current.focus(),p.selectionStart=p.selectionEnd=p.value.length}},[r]);let f=[B("lane-title-count")];return t&&t{p.preventDefault(),p.stopPropagation();let g=p.target instanceof p.view.HTMLAnchorElement&&p.target.hasClass("internal-link")?p.target.dataset.href:void 0;g&&o.app.workspace.onLinkContextMenu(p,(0,Lb.getLinkpath)(g),o.file.path)}},h(Fa,{markdownString:i})))),!r&&!u&&h("div",{className:et(f)},e,t>0&&h(S,null,h("span",{className:B("lane-title-count-separator")},"/"),h("span",{className:B("lane-title-count-limit")},t))))}var Nb=P.memo(function({lane:t,laneIndex:r,dragHandleRef:n,setIsItemInputVisible:i}){let{boardModifiers:a,stateManager:o}=P.useContext(We),[s,u]=P.useState(!1),l=Wn(r),{settingsMenu:c,confirmAction:d,setConfirmAction:f}=Mb({setIsEditing:u,path:l,lane:t});return P.useEffect(()=>{t.data.forceEditMode&&u(!0)},[t.data.forceEditMode]),h(S,null,h("div",{onDblClick:()=>u(!0),className:B("lane-header-wrapper")},h("div",{className:B("lane-grip"),ref:n},h(_b,null)),h(Pb,{isEditing:s,setIsEditing:u,itemCount:t.children.length,maxItems:t.data.maxItems,title:t.data.title,onChange:p=>{let{title:g,maxItems:y}=jr(p.target.value);a.updateLane(l,(0,Fb.default)(t,{data:{title:{$set:g},maxItems:{$set:y}}}))}}),h("div",{className:B("lane-settings-button-wrapper")},s?h("a",{onClick:()=>{u(!1)},"aria-label":L("Close"),className:`${B("lane-settings-button")} is-enabled clickable-icon`},h(_t,{name:"lucide-x"})):h(S,null,i&&h("a",{"aria-label":L("Add a card"),className:`${B("lane-settings-button")} clickable-icon`,onClick:()=>{i(!0)},onDragOver:p=>{bs(o,p.dataTransfer)&&i(!0)}},h(_t,{name:"lucide-plus-circle"})),h("a",{"aria-label":L("More options"),className:`${B("lane-settings-button")} clickable-icon`,onClick:p=>{c.showAtPosition({x:p.clientX,y:p.clientY})}},h(_t,{name:"lucide-more-vertical"}))))),s&&h(Ab,{lane:t,lanePath:l}),d&&h(Tb,{lane:t,action:d,onAction:()=>{switch(d){case"archive":a.archiveLane(l);break;case"archive-items":a.archiveLaneItems(l);break;case"delete":a.deleteEntity(l);break}f(null)},cancel:()=>f(null)}))});var Rb=[Je.Item],_d=P.memo(function({isStatic:t,lane:r,laneIndex:n}){let{stateManager:i,boardModifiers:a,view:o}=P.useContext(We),[s,u]=P.useState(!1),l=Wn(n),c=i.useSetting("lane-width"),d=i.useSetting("new-card-insertion-method"),f=!!r.data.shouldMarkItemsComplete,p=c?{width:`${c}px`}:void 0,g=P.useRef(null),y=P.useRef(null),b=P.useRef(null),[x,T]=P.useState(!1),C=d==="prepend-compact",A=C||d==="prepend";Mi(y,b);let H=z=>{a[A?"prependItems":"appendItems"]([...l,r.children.length-1],z.map(U=>(0,Ob.default)(U,{data:{isComplete:{$set:f}}}))),o.getWindow().setTimeout(()=>{var Z;let U=(Z=g.current)==null?void 0:Z.getElementsByClassName(B("lane-items"));U.length&&As([0,A?0:U[0].scrollHeight],{elementToScroll:U[0],speed:200,minDuration:150,easing:J=>J===1?1:1-Math.pow(2,-10*J)})})},D=h(S,null,h(tb,{items:r.children,isStatic:t,shouldMarkItemsComplete:f}),h(Pi,{accepts:Rb,index:r.children.length,isStatic:t})),K=h(Fs,{id:r.id,index:n,className:et([B("lane-items"),B("vertical")]),triggerTypes:Rb,isStatic:t},t?D:h(Li,{onSortChange:T,axis:"vertical"},D));return h("div",{ref:y,className:et([B("lane-wrapper"),{"is-sorting":x}]),style:p},h("div",{"data-count":r.children.length,ref:g,className:et([B("lane"),{"will-prepend":A}])},h(Nb,{dragHandleRef:b,laneIndex:n,lane:r,setIsItemInputVisible:C?u:void 0}),A&&h(xd,{addItems:H,hideButton:C,isInputVisible:s,setIsInputVisible:u}),t?K:h(gr,{elementRef:g,measureRef:y,id:r.id,index:n,data:r},K),!A&&h(xd,{addItems:H,isInputVisible:s,setIsInputVisible:u})))}),Hb=P.memo(function({lanes:t}){return h(S,null,t.map((r,n)=>h(_d,{lane:r,laneIndex:n,key:r.id})))});m();m();var Bb=me(require("obsidian"));m();function Hs(){return{events:{},emit(e,t,r){let n=`${String(e)}${r||""}`,i=this.events[e],a=this.events[n];if(!i&&!a){console.warn("Event emitted with no handler",e,r);return}r&&a&&a.forEach(o=>o(t)),i&&i.forEach(o=>o(t))},on(e,t,r){let n=`${String(e)}${r||""}`,i=this.events[n];return i||(this.events[n]=i=[]),i.push(t),()=>this.off(e,t,r)},off(e,t,r){let n=`${String(e)}${r||""}`,i=this.events[n];i&&(i.splice(i.indexOf(t)>>>0,1),i.length===0&&delete this.events[n])}}}var Cd=class{constructor(t,r){this.scrollResizeDebounce=0;this.handleResize=t=>{let r=!1;t.forEach(n=>{let i=Ze(n.target);this.win===i&&(r=!0,n.target.dataset.scrollid&&(this.win.clearTimeout(this.scrollResizeDebounce),this.scrollResizeDebounce=this.win.setTimeout(()=>{var a;((a=this.emitter.events.scrollResize)==null?void 0:a.length)&&this.emitter.emit("scrollResize",null)},50)))}),!!r&&(this.hitboxEntities.forEach(n=>{n.recalcInitial()}),this.scrollEntities.forEach(n=>{n.recalcInitial()}))};this.win=t,this.emitter=Hs(),this.hitboxEntities=new Map,this.scrollEntities=new Map,this.onDrop=r,this.resizeObserver=new ResizeObserver((0,Bb.debounce)(this.handleResize,100,!0)),this.dragManager=new Nu(t,this.emitter,this.hitboxEntities,this.scrollEntities)}destroy(){this.resizeObserver.disconnect()}observeResize(t){!t.instanceOf(HTMLElement)||this.resizeObserver.observe(t,{box:"border-box"})}unobserveResize(t){!t.instanceOf(HTMLElement)||this.resizeObserver.unobserve(t)}registerHitboxEntity(t,r,n){n===this.win&&this.hitboxEntities.set(t,r)}registerScrollEntity(t,r,n){n===this.win&&this.scrollEntities.set(t,r)}unregisterHitboxEntity(t,r){r===this.win&&this.hitboxEntities.delete(t)}unregisterScrollEntity(t,r){r===this.win&&this.scrollEntities.delete(t)}};function Bs({win:e,children:t,onDrop:r}){let n=P.useRef(r);n.current=r;let i=P.useMemo(()=>new Cd(e,(a,o)=>n.current(a,o)),[]);return P.useEffect(()=>()=>{i.destroy()},[i]),h(xt.Provider,{value:i},h(ob,null,t))}m();function Dd(e,t,r,n,i,a){let o=[r[0]-n[0],r[1]-n[1],r[2]+n[2],r[3]+n[3]];return{transform:a||`translate3d(${e.x-t.x+o[0]}px, ${e.y-t.y+o[1]}px, 0px)`,width:`${o[2]-o[0]}px`,height:`${o[3]-o[1]}px`,transition:i}}function Ks({children:e}){let t=P.useContext(xt),[r,n]=P.useState(),[i,a]=P.useState();return P.useEffect(()=>{if(!t)return;let o=Fp,s=({dragEntity:c,dragOrigin:d,dragPosition:f,dragEntityMargin:p})=>{!c||!f||!d||(o=c.getHitbox(),n(c),a(Dd(f,d,o,p)))},u=({dragOrigin:c,dragPosition:d,dragEntityMargin:f})=>{!d||!c||a(Dd(d,c,o,f))},l=({dragOrigin:c,primaryIntersection:d,dragPosition:f,dragEntityMargin:p})=>{if(d&&f&&c){let g=d.getHitbox(),y={x:g[0],y:g[1]},b=Di({position:f,destination:y}),x=ln.drop(b),T=lv.drop(y);a(Dd(f,c,o,p,x,T)),activeWindow.setTimeout(()=>{n(void 0),a(void 0)},b)}else n(void 0),a(void 0)};return t.dragManager.emitter.on("dragStart",s),t.dragManager.emitter.on("dragMove",u),t.dragManager.emitter.on("dragEnd",l),()=>{t.dragManager.emitter.off("dragStart",s),t.dragManager.emitter.off("dragMove",u),t.dragManager.emitter.off("dragEnd",l)}},[t]),!r||!i?null:P.createPortal(e(r,i),r.getData().win.document.body)}function Kb(){let e=P.useContext(xt),[t,r]=P.useState(!1);return P.useEffect(()=>{let n=()=>{r(!0)},i=({primaryIntersection:a,dragPosition:o})=>{let s=(a==null?void 0:a.getHitbox())||[0,0],u={x:s[0],y:s[1]},l=Di({position:o||u,destination:u});activeWindow.setTimeout(()=>{r(!1)},l)};return e.dragManager.emitter.on("dragStart",n),e.dragManager.emitter.on("dragEnd",i),()=>{e.dragManager.emitter.off("dragStart",n),e.dragManager.emitter.off("dragEnd",i)}},[e]),t}m();var Ha=me(Et()),$b=me(require("obsidian"));function $s(e){let t=r=>{let n=e.getSetting("prepend-archive-format"),i=e.getSetting("prepend-archive-separator"),a=[(0,$b.moment)().format(n)];i&&a.push(i),a.push(r.data.titleRaw);let o=a.join(" ");return e.updateItemContent(r,o)};return{appendItems:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>Bl(i,r,n))},prependItems:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>Mp(i,r,n))},insertItems:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>pr(i,r,n))},splitItem:(r,n)=>{n.forEach(i=>e.app.workspace.trigger("kanban:card-added",e.file,i)),e.setState(i=>pr(Fr(i,r),r,n))},moveItemToTop:r=>{e.setState(n=>aa(n,r,[r[0],0]))},moveItemToBottom:r=>{e.setState(n=>{let i=r[0],a=n.children[i];return aa(n,r,[i,a.children.length])})},addLane:r=>{e.app.workspace.trigger("kanban:lane-added",e.file,r),e.setState(n=>Bl(n,[],[r]))},insertLane:(r,n)=>{e.app.workspace.trigger("kanban:lane-added",e.file,n),e.setState(i=>pr(i,r,[n]))},updateLane:(r,n)=>{e.app.workspace.trigger("kanban:lane-updated",e.file,n),e.setState(i=>Kl(i,r,{children:{[r[r.length-1]]:{$set:n}}}))},archiveLane:r=>{e.setState(async n=>{let i=mt(n,r),a=i.children;e.app.workspace.trigger("kanban:lane-archived",e.file,i);try{return(0,Ha.default)(Fr(n,r),{data:{archive:{$unshift:e.getSetting("prepend-archive-date")?await Promise.all(a.map(t)):a}}})}catch(o){return e.setError(o),n}})},archiveLaneItems:r=>{e.setState(async n=>{let a=mt(n,r).children;e.app.workspace.trigger("kanban:lane-cards-archived",e.file,a);try{return(0,Ha.default)(vo(n,r,{children:{$set:[]}}),{data:{archive:{$unshift:e.getSetting("prepend-archive-date")?await Promise.all(a.map(t)):a}}})}catch(o){return e.setError(o),n}})},deleteEntity:r=>{e.setState(n=>{let i=mt(n,r);return e.app.workspace.trigger(`kanban:${i.type}-deleted`,e.file,i),Fr(n,r)})},updateItem:(r,n)=>{e.setState(i=>{let a=mt(i,r);return e.app.workspace.trigger("kanban:card-updated",e.file,a,n),Kl(i,r,{children:{[r[r.length-1]]:{$set:n}}})})},archiveItem:r=>{e.setState(async n=>{let i=mt(n,r);e.app.workspace.trigger("kanban:card-archived",e.file,r,i);try{return(0,Ha.default)(Fr(n,r),{data:{archive:{$push:[e.getSetting("prepend-archive-date")?await t(i):i]}}})}catch(a){return e.setError(a),n}})},duplicateEntity:r=>{e.setState(n=>{let i=mt(n,r);e.app.workspace.trigger(`kanban:${i.type}-duplicated`,e.file,r,i);let a=(0,Ha.default)(i,{id:{$set:Ae()}});return pr(n,r,[a])})}}}function Vb(e,t){return h(GC,{win:e,plugin:t})}var JC=P.memo(function({view:t}){return P.createPortal(t.getPortal(),t.contentEl)});function GC({win:e,plugin:t}){let r=t.useViewState(e),n=r.map(a=>h(JC,{key:a.id,view:a})),i=P.useCallback((a,o)=>{if(!a||!o)return;if(a.scopeId==="htmldnd"){let y=a.getData(),b=t.getStateManagerFromViewID(y.viewId,y.win),x=o.getPath(),T=mt(b.state,x.slice(0,-1));(A=>Promise.all(A.map(H=>b.getNewItem(H))))(y.content).then(A=>{let H=A.map(D=>{var K;return(0,Ub.default)(D,{data:{isComplete:{$set:!!((K=T==null?void 0:T.data)==null?void 0:K.shouldMarkItemsComplete)}}})});return b.setState(D=>pr(D,x,H))}).catch(A=>{b.setError(A),console.error(A)});return}let s=a.getPath(),u=o.getPath(),[,l]=a.scopeId.split(":::"),[,c]=o.scopeId.split(":::"),d=a.getData(),f=o.getData();if(l===c){let y=t.getStateManagerFromViewID(a.scopeId,d.win);return t.app.workspace.trigger("kanban:card-moved",y.file,s,u,d),y.setState(b=>{var H;let x=!1,T=aa(b,s,u,D=>D.type===Je.Item?(x=!0,Ul(b,s,b,u,D)):D);if(!x)return T;let C=u.slice(0,-1),A=mt(b,C);return((H=A==null?void 0:A.data)==null?void 0:H.sorted)!==void 0?vo(T,C,{data:{$unset:["sorted"]}}):T})}let p=t.getStateManagerFromViewID(a.scopeId,d.win),g=t.getStateManagerFromViewID(o.scopeId,f.win);p.setState(y=>{let b=mt(y,s);return g.setState(x=>{let T=b.type===Je.Item?Ul(y,s,x,u,b):b;return pr(x,u,[T])}),Fr(y,s)})},[r]);if(n.length)return h(Bs,{win:e,onDrop:i},n,h(Ks,null,(a,o)=>{let[s,u]=P.useMemo(()=>{if(a.scopeId==="htmldnd")return[null,null];let l=a.getData(),c=t.getKanbanView(a.scopeId,l.win),d=t.stateManagers.get(c.file),f=mt(d.state,a.getPath()),p=$s(d),g=c.file.path;return[f,{view:c,stateManager:d,boardModifiers:p,filePath:g,getTagColor:bo(d),getDateColor:wo(d)}]},[a]);return(s==null?void 0:s.type)===Je.Lane?h(We.Provider,{value:u},h("div",{className:B("drag-container"),style:o},h(_d,{lane:s,laneIndex:0,isStatic:!0}))):(s==null?void 0:s.type)===Je.Item?h(We.Provider,{value:u},h("div",{className:B("drag-container"),style:o},h(vd,{item:s,itemIndex:0,isStatic:!0}))):h("div",null)}))}m();var Wd=me(Et()),Lw=me(require("obsidian"));m();var Xb=me(Et()),Zb=me(require("obsidian")),Vs=me(yc());m();function Us({id:e,children:t}){let r=P.useContext(la),n=P.useMemo(()=>e||Ae(),[e]);return P.useEffect(()=>()=>{r.unmountScope(e)},[e]),h(mr.Provider,{value:n},t)}m();var gn="kanban-plugin",Wb;(function(t){t[t.List=0]="List"})(Wb||(Wb={}));var zb=`**${L("Complete")}**`,jb="***",Td=["---","",`${gn}: basic`,"","---","",""].join(` `);function qb(e){return["","","%% kanban:settings","```",JSON.stringify(e),"```","%%"].join(` -`)}function Yb(e,t,r){let n=e.innerText.trim();if((t==null?void 0:t.length)&&(n+=" "+t.join(" ")),r){let i=Object.keys(r).join(" "),a=Object.values(r).map(o=>Array.isArray(o.value)?o.value.join(" "):o.value.toString()).join(" ");n+=" "+i+" "+a}return n.toLocaleLowerCase()}function QC(e,t,r){var n,i,a;if(e.plugins.enabledPlugins.has("dataview")&&((a=(i=(n=e.plugins)==null?void 0:n.plugins)==null?void 0:i.dataview)==null?void 0:a.api))return e.plugins.plugins.dataview.api.page(t.path,r.path)}function Jb(e,t){if(!e)return null;if(e[t])return e[t];let r=t.split("."),n=e;for(let i of r)if(typeof n=="object"&&i in n)n=n[i];else{n=null;break}return n}function Md(e,t){let r=e.getSetting("metadata-keys");if(!r.length)return{};if(!t)return{};let n=e.app.metadataCache.getFileCache(t),i=QC(e.app,t,e.file);if(!n&&!i)return{};let a={},o={},s={},u=[],l=!1;return r.forEach(c=>{var p;if(s[c.metadataKey])return;if(s[c.metadataKey]=!0,c.metadataKey==="tags"){let g=(n==null?void 0:n.tags)||[];if(Array.isArray((p=n==null?void 0:n.frontmatter)==null?void 0:p.tags)&&(g=[].concat(g,n.frontmatter.tags.map(y=>({tag:`#${y}`})))),(g==null?void 0:g.length)===0)return;u.push(c.metadataKey),a.tags={...c,value:g.map(y=>y.tag).filter(y=>o[y]?!1:(o[y]=!0,!0))},l=!0;return}let d=Jb(n==null?void 0:n.frontmatter,c.metadataKey),f=Jb(i,c.metadataKey);if(d)u.push(c.metadataKey),a[c.metadataKey]={...c,value:d},l=!0;else if(f){let g=i[c.metadataKey],y=g.values||g.val||g;if(y===g&&typeof y=="object")y={...g};else if(!Array.isArray(y)&&typeof y!="string"&&typeof y!="number")return;u.push(c.metadataKey),a[c.metadataKey]={...c,value:y},l=!0}}),{fileMetadata:l?a:void 0,fileMetadataOrder:u}}function Gb(e,t){return!e&&t?!0:!["metadata-keys","date-trigger","time-trigger","link-date-to-daily-note","date-format","time-format","hide-date-in-title","hide-tags-in-title","hide-card-count","tag-colors","date-colors"].every(n=>e[n]===t[n])}m();function Qb({onNewLane:e,closeLaneForm:t}){let{boardModifiers:r,stateManager:n}=L.useContext(We),[i,a]=L.useState(!1),[o,s]=L.useState(""),u=L.useRef(),l=Fi(()=>{t()},{ignoreClass:B("ignore-click-outside")});L.useLayoutEffect(()=>{var d;(d=u.current)==null||d.focus()},[]);let c=()=>{r.addLane({...xr,id:Ae(),children:[],data:{...jr(o),shouldMarkItemsComplete:i}}),s(""),a(!1),e()};return h("div",{ref:l,className:B("lane-form-wrapper")},h("div",{className:B("lane-input-wrapper")},h(kr,{ref:u,className:B("lane-input"),onChange:d=>s(d.target.value),onEnter:d=>{Xn(d,n)||(d.preventDefault(),c())},onSubmit:()=>{c()},onEscape:t,value:o})),h("div",{className:B("checkbox-wrapper")},h("div",{className:B("checkbox-label")},P("Mark cards in this list as complete")),h("div",{onClick:()=>a(!i),className:`checkbox-container ${i?"is-enabled":""}`})),h("div",{className:B("lane-input-actions")},h("button",{className:B("lane-action-add"),onClick:c},P("Add list")),h("button",{className:B("lane-action-cancel"),onClick:t},P("Cancel"))))}var XC=[Je.Item,Je.Lane],ZC=[Je.Lane],ew=({view:e,stateManager:t})=>{let r=t.useState(),n=Kb(),i=L.useRef(null),a=L.useRef(null),[o,s]=L.useState(""),[u,l]=L.useState(!1),[c,d]=L.useState(""),[f,p]=L.useState((r==null?void 0:r.children.length)===0),g=t.file.path,y=t.useSetting("max-archive-size"),b=t.useSetting("date-colors"),k=t.useSetting("tag-colors"),T=L.useCallback(()=>{(r==null?void 0:r.children.length)>0&&p(!1)},[r==null?void 0:r.children.length]);L.useEffect(()=>{(r==null?void 0:r.children.length)===0&&!t.hasError()&&p(!0)},[r==null?void 0:r.children.length,t]);let C=L.useCallback(()=>{var U;(U=i.current)==null||U.win.setTimeout(()=>{var J;let Z=(J=i.current)==null?void 0:J.getElementsByClassName(B("board"));(Z==null?void 0:Z.length)&&As([Z[0].scrollWidth,0],{elementToScroll:Z[0],speed:300,minDuration:150,easing:se=>se===1?1:1-Math.pow(2,-10*se)})})},[]);L.useEffect(()=>{let U=J=>{J==="editor:open-search"&&l(se=>!se)},Z=()=>{p(!0)};return e.emitter.on("hotkey",U),e.emitter.on("showLaneForm",Z),()=>{e.emitter.off("hotkey",U),e.emitter.off("showLaneForm",Z)}},[e]),L.useEffect(()=>{var U;u&&((U=a.current)==null||U.focus())},[u]),L.useEffect(()=>{let U=e.getWindow(),Z=o.trim(),J;return Z?J=U.setTimeout(()=>{d(Z)},250):d(""),()=>{U.clearTimeout(J)}},[o,e]),L.useEffect(()=>{y===void 0||y===-1||typeof y=="number"&&(r==null?void 0:r.data.archive.length)>y&&t.setState(U=>(0,Xb.default)(U,{data:{archive:{$set:U.data.archive.slice(y*-1)}}}))},[r==null?void 0:r.data.archive.length,y]);let A=L.useMemo(()=>$s(t),[t]),H=L.useCallback(U=>{let Z=U.target;Z.tagName==="A"&&Z.hasClass("internal-link")&&e.app.workspace.trigger("hover-link",{event:U,source:gn,hoverParent:e,targetEl:Z,linktext:Z.getAttr("href"),sourcePath:e.file.path})},[e]),D=L.useCallback(async U=>{if(U.type==="auxclick"||U.button===2)return;let Z=U.target,J=Z.tagName==="A"?Z:Z.closest("a");if(!!J){if(J.hasClass("file-link")){U.preventDefault();let se=J.getAttribute("href"),G=zr(se),Q=typeof se=="string"&&e.app.metadataCache.getFirstLinkpathDest(G.root,e.file.path);if(!Q)return;t.app.openWithDefaultApp(Q.path);return}if(J.hasClass("internal-link")){U.preventDefault();let se=J.getAttr("href"),G=U.button===1||U.ctrlKey||U.metaKey;if(J.hasClass("is-unresolved")&&(0,Vs.appHasDailyNotesPluginLoaded)()){let ie=t.getSetting("date-format"),he=(0,Zb.moment)(se,ie,!0);if(he.isValid()){try{let pe=await(0,Vs.createDailyNote)(he);await(G?app.workspace.getLeaf(!0):app.workspace.getLeaf(!1)).openFile(pe,{active:!0})}catch(pe){console.error(pe),t.setError(pe)}return}}t.app.workspace.openLinkText(se,g,G);return}if(J.hasClass("tag")){U.preventDefault(),t.app.internalPlugins.getPluginById("global-search").instance.openGlobalSearch(`tag:${J.getAttr("href")}`);return}J.hasClass("external-link")&&(U.preventDefault(),window.open(J.getAttr("href"),"_blank"))}},[t,g]),K=L.useMemo(()=>({view:e,stateManager:t,boardModifiers:A,filePath:g,getTagColor:bo(t),getDateColor:wo(t)}),[e,t,A,g,b,k]),z=uv(t);return r==null?h("div",{className:B("loading")},h("div",{className:"sk-pulse"})):r.data.errors.length>0?h("div",null,h("div",null,"Error:"),r.data.errors.map((U,Z)=>h("div",{key:Z},h("div",null,U.description),h("pre",null,U.stack)))):h(Us,{id:e.id},h(We.Provider,{value:K},h(go.Provider,{value:c?c.toLocaleLowerCase():null},h("div",{ref:i,className:et([$l,{"something-is-dragging":n}]),onMouseOver:H,onPointerDown:D,onClick:D,onAuxClick:D,...z},(f||r.children.length===0)&&h(Qb,{onNewLane:C,closeLaneForm:T}),u&&h("div",{className:B("search-wrapper")},h("input",{ref:a,value:o,onChange:U=>{s(U.target.value)},onKeyDown:U=>{U.key==="Escape"&&(s(""),d(""),U.target.blur(),l(!1))},type:"text",className:B("filter-input"),placeholder:P("Search...")}),h("button",{className:B("search-cancel-button"),onClick:()=>{s(""),d(""),l(!1)},"aria-label":P("Cancel")},h(_t,{name:"cross"}))),h(Fs,{id:e.id,className:et([B("board"),B("horizontal"),{"is-adding-lane":f}]),triggerTypes:XC},h("div",null,h(Li,{axis:"horizontal"},h(Hb,{lanes:r.children}),h(Pi,{className:B("lane-placeholder"),accepts:ZC,index:r.children.length}))))))))};m();var Mw=me(Et()),Be=me(require("obsidian"));m();var nw=me(tw()),zs=me(Et()),_r=me(require("obsidian"));var js="@",qs="@@";function eD(e){let t=[];return _r.Vault.recurseChildren(e.vault.getRoot(),r=>{r instanceof _r.TFolder&&t.push({value:r.path,label:r.path,selected:!1,disabled:!1})}),t}function tD(e,t){let r=[],n=t?e.vault.getAbstractFileByPath(t):null;return(!n||!(n instanceof _r.TFolder))&&(n=e.vault.getRoot()),_r.Vault.recurseChildren(n,i=>{i instanceof _r.TFile&&r.push({value:i.path,label:i.basename,selected:!1,disabled:!1})}),r}function rw(e){let{templateFolder:t,templatesEnabled:r,templaterPlugin:n}=Vl(e),i=tD(e,t),a=eD(e),o="";return!r&&!n&&(o=P("Note: No template plugins are currently enabled.")),{templateFiles:i,vaultFolders:a,templateWarning:o}}function Ad({choices:e,key:t,warningText:r,local:n,placeHolderStr:i,manager:a}){return o=>{o.controlEl.createEl("select",{},s=>{s.win.setTimeout(()=>{let u=e,[l,c]=a.getSetting(t,n);if(c){let p=e.findIndex(y=>y.value===c),g=e[p];u=(0,zs.default)(u,{$splice:[[p,1]],$unshift:[(0,zs.default)(g,{placeholder:{$set:!0},value:{$set:""},label:{$apply:y=>`${y} (${P("default")})`}})]})}else u=(0,zs.default)(u,{$unshift:[{placeholder:!0,value:"",label:i,selected:!1,disabled:!1}]});let d=new nw.default(s,{placeholder:!0,position:"bottom",searchPlaceholderValue:P("Search..."),searchEnabled:u.length>10,choices:u}).setChoiceByValue("");l&&typeof l=="string"&&d.setChoiceByValue(l);let f=p=>{let g=p.detail.value;g?a.applySettingsUpdate({[t]:{$set:g}}):a.applySettingsUpdate({$unset:[t]})};s.addEventListener("change",f),a.cleanupFns.push(()=>{d.destroy(),s.removeEventListener("change",f)})}),r&&o.descEl.createDiv({},u=>{u.createEl("strong",{text:r})})})}}m();var qr=me(Et());function iw({isStatic:e,itemIndex:t,item:r,toggleShouldHideLabel:n,toggleContainsMarkdown:i,deleteKey:a,updateKey:o,updateLabel:s}){let u=L.useRef(null),l=L.useRef(null),c=L.useRef(null);Mi(l,c);let d=h("div",{className:B("setting-controls-wrapper")},h("div",{className:B("setting-input-wrapper")},h("div",null,h("div",{className:B("setting-item-label")},P("Metadata key")),h("input",{type:"text",value:r.data.metadataKey,onChange:f=>o(f.target.value)})),h("div",null,h("div",{className:B("setting-item-label")},P("Display label")),h("input",{type:"text",value:r.data.label,onChange:f=>s(f.target.value)}))),h("div",{className:B("setting-toggle-wrapper")},h("div",null,h("div",{className:`checkbox-container ${r.data.shouldHideLabel?"is-enabled":""}`,onClick:n,"aria-label":P("Hide label")}),h("div",{className:B("setting-item-label")},P("Hide label"))),h("div",null,h("div",{className:`checkbox-container ${r.data.containsMarkdown?"is-enabled":""}`,onClick:i,"aria-label":P("Field contains markdown")}),h("div",{className:B("setting-item-label")},P("Field contains markdown")))));return h("div",{ref:l,className:B("setting-item-wrapper")},h("div",{ref:u,className:B("setting-item")},e?d:h(gr,{elementRef:u,measureRef:l,id:r.id,index:t,data:r},d),h("div",{className:B("setting-button-wrapper")},h("div",{onClick:a,"aria-label":P("Delete")},h(_t,{name:"cross"})),h("div",{className:"mobile-option-setting-drag-icon","aria-label":P("Drag to rearrange"),ref:c},h(_t,{name:"three-horizontal-bars"})))))}function nD({onChange:e,inputValue:t,keys:r,setKeys:n}){let i=a=>{e(a),n(a)};return{updateKey:a=>o=>{i((0,qr.default)(r,{[a]:{data:{metadataKey:{$set:o}}}}))},updateLabel:a=>o=>{i((0,qr.default)(r,{[a]:{data:{label:{$set:o}}}}))},toggleShouldHideLabel:a=>()=>{i((0,qr.default)(r,{[a]:{data:{$toggle:["shouldHideLabel"]}}}))},toggleContainsMarkdown:a=>()=>{i((0,qr.default)(r,{[a]:{data:{$toggle:["containsMarkdown"]}}}))},deleteKey:a=>()=>{i((0,qr.default)(r,{$splice:[[a,1]]}))},newKey:()=>{i((0,qr.default)(r,{$push:[{...ms,id:Ae(),data:{metadataKey:t,label:"",shouldHideLabel:!1,containsMarkdown:!1}}]}))},moveKey:(a,o)=>{let s=a.getPath(),u=o.getPath(),l=s[s.length-1],c=u[u.length-1];if(l===c)return;let d=r.slice(),[f]=d.splice(l,1);d.splice(c,0,f),i(d)}}}var rD=[Je.MetadataSetting];function iD({keys:e,portalContainer:t}){return L.createPortal(h(Ks,null,(r,n)=>{let a=r.getPath()[0],o=e[a];return h("div",{className:B("drag-container"),style:n},h(iw,{item:o,itemIndex:a,updateKey:ci,updateLabel:ci,toggleShouldHideLabel:ci,toggleContainsMarkdown:ci,deleteKey:ci,isStatic:!0}))}),t)}function aD({scrollEl:e}){let t=L.useContext(kt);return L.useEffect(()=>{let r=0,n=()=>{e.win.clearTimeout(r),r=e.win.setTimeout(()=>{t.hitboxEntities.forEach(i=>{i.recalcInitial()})},100)};return e.addEventListener("scroll",n,{passive:!0,capture:!1}),()=>{e.removeEventListener("scroll",n)}},[e,t]),null}function oD(e){let[t,r]=L.useState(e.dataKeys),[n,i]=L.useState(""),{getShouldIMEBlockAction:a,...o}=yo(),s=Ze(e.scrollEl),{updateKey:u,updateLabel:l,toggleShouldHideLabel:c,toggleContainsMarkdown:d,deleteKey:f,newKey:p,moveKey:g}=nD({onChange:e.onChange,inputValue:n,keys:t,setKeys:r,win:s});return h(S,null,h(Bs,{win:s,onDrop:g},h(aD,{scrollEl:e.scrollEl}),h(Us,null,h(Li,{axis:"vertical"},t.map((y,b)=>h(iw,{key:y.id,item:y,itemIndex:b,updateKey:u(b),updateLabel:l(b),toggleShouldHideLabel:c(b),toggleContainsMarkdown:d(b),deleteKey:f(b)})),h(Pi,{accepts:rD,index:t.length}))),h(iD,{keys:t,portalContainer:e.portalContainer})),h("div",{className:B("setting-key-input-wrapper")},h("input",{placeholder:P("Metadata key"),type:"text",value:n,onChange:y=>i(y.target.value),onKeyDown:y=>{if(!a()){if(y.key==="Enter"){p(),i("");let b=y.target;b.win.setTimeout(()=>{b.scrollIntoView()});return}y.key==="Escape"&&(i(""),y.target.blur())}},...o}),h("button",{onClick:y=>{p(),i("");let b=y.target;b.win.setTimeout(()=>{b.scrollIntoView()})}},P("Add key"))))}function aw(e,t,r,n){L.render(h(oD,{dataKeys:r,scrollEl:t,onChange:n,portalContainer:ur(e)}),e)}function ow(e){L.unmountComponentAtNode(e)}m();m();var sD={grad:.9,turn:360,rad:360/(2*Math.PI)},er=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},Ct=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},vn=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},sw=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},lw=function(e){return{r:vn(e.r,0,255),g:vn(e.g,0,255),b:vn(e.b,0,255),a:vn(e.a)}},Ld=function(e){return{r:Ct(e.r),g:Ct(e.g),b:Ct(e.b),a:Ct(e.a,3)}},lD=/^#([0-9a-f]{3,8})$/i,Ys=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},cw=function(e){var t=e.r,r=e.g,n=e.b,i=e.a,a=Math.max(t,r,n),o=a-Math.min(t,r,n),s=o?a===t?(r-n)/o:a===r?2+(n-t)/o:4+(t-r)/o:0;return{h:60*(s<0?s+6:s),s:a?o/a*100:0,v:a/255*100,a:i}},uw=function(e){var t=e.h,r=e.s,n=e.v,i=e.a;t=t/360*6,r/=100,n/=100;var a=Math.floor(t),o=n*(1-r),s=n*(1-(t-a)*r),u=n*(1-(1-t+a)*r),l=a%6;return{r:255*[n,s,o,o,u,n][l],g:255*[u,n,n,s,o,o][l],b:255*[o,o,u,n,n,s][l],a:i}},dw=function(e){return{h:sw(e.h),s:vn(e.s,0,100),l:vn(e.l,0,100),a:vn(e.a)}},fw=function(e){return{h:Ct(e.h),s:Ct(e.s),l:Ct(e.l),a:Ct(e.a,3)}},pw=function(e){return uw((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},Ba=function(e){return{h:(t=cw(e)).h,s:(i=(200-(r=t.s))*(n=t.v)/100)>0&&i<200?r*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:t.a};var t,r,n,i},cD=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,uD=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,dD=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,fD=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,hw={string:[[function(e){var t=lD.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?Ct(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?Ct(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=dD.exec(e)||fD.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:lw({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=cD.exec(e)||uD.exec(e);if(!t)return null;var r,n,i=dw({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(sD[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return pw(i)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,i=e.a,a=i===void 0?1:i;return er(t)&&er(r)&&er(n)?lw({r:Number(t),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,i=e.a,a=i===void 0?1:i;if(!er(t)||!er(r)||!er(n))return null;var o=dw({h:Number(t),s:Number(r),l:Number(n),a:Number(a)});return pw(o)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,i=e.a,a=i===void 0?1:i;if(!er(t)||!er(r)||!er(n))return null;var o=function(s){return{h:sw(s.h),s:vn(s.s,0,100),v:vn(s.v,0,100),a:vn(s.a)}}({h:Number(t),s:Number(r),v:Number(n),a:Number(a)});return uw(o)},"hsv"]]},mw=function(e,t){for(var r=0;r=.5},e.prototype.toHex=function(){return t=Ld(this.rgba),r=t.r,n=t.g,i=t.b,o=(a=t.a)<1?Ys(Ct(255*a)):"","#"+Ys(r)+Ys(n)+Ys(i)+o;var t,r,n,i,a,o},e.prototype.toRgb=function(){return Ld(this.rgba)},e.prototype.toRgbString=function(){return t=Ld(this.rgba),r=t.r,n=t.g,i=t.b,(a=t.a)<1?"rgba("+r+", "+n+", "+i+", "+a+")":"rgb("+r+", "+n+", "+i+")";var t,r,n,i,a},e.prototype.toHsl=function(){return fw(Ba(this.rgba))},e.prototype.toHslString=function(){return t=fw(Ba(this.rgba)),r=t.h,n=t.s,i=t.l,(a=t.a)<1?"hsla("+r+", "+n+"%, "+i+"%, "+a+")":"hsl("+r+", "+n+"%, "+i+"%)";var t,r,n,i,a},e.prototype.toHsv=function(){return t=cw(this.rgba),{h:Ct(t.h),s:Ct(t.s),v:Ct(t.v),a:Ct(t.a,3)};var t},e.prototype.invert=function(){return In({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),In(Pd(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),In(Pd(this.rgba,-t))},e.prototype.grayscale=function(){return In(Pd(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),In(gw(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),In(gw(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?In({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):Ct(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=Ba(this.rgba);return typeof t=="number"?In({h:t,s:r.s,l:r.l,a:r.a}):Ct(r.h)},e.prototype.isEqual=function(t){return this.toHex()===In(t).toHex()},e}(),In=function(e){return e instanceof vw?e:new vw(e)};var Qs=me(Et());m();function Js(){return(Js=Object.assign||function(e){for(var t=1;t=0||(i[r]=e[r]);return i}function Nd(e){var t=Xt(e),r=Xt(function(n){t.current&&t.current(n)});return t.current=e,r.current}var Ni=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e0:b.buttons>0)&&i.current?a(bw(i.current,b,s.current)):y(!1)},g=function(){return y(!1)};function y(b){var k=u.current,T=Od(i.current),C=b?T.addEventListener:T.removeEventListener;C(k?"touchmove":"mousemove",p),C(k?"touchend":"mouseup",g)}return[function(b){var k=b.nativeEvent,T=i.current;if(T&&(ww(k),!function(A,H){return H&&!Ka(A)}(k,u.current)&&T)){if(Ka(k)){u.current=!0;var C=k.changedTouches||[];C.length&&(s.current=C[0].identifier)}T.focus(),a(bw(T,k,s.current)),y(!0)}},function(b){var k=b.which||b.keyCode;k<37||k>40||(b.preventDefault(),o({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[o,a]),c=l[0],d=l[1],f=l[2];return Sn(function(){return f},[f]),at.createElement("div",Js({},n,{onTouchStart:c,onMouseDown:c,className:"react-colorful__interactive",ref:i,onKeyDown:d,tabIndex:0,role:"slider"}))}),Gs=function(e){return e.filter(Boolean).join(" ")},Hd=function(e){var t=e.color,r=e.left,n=e.top,i=n===void 0?.5:n,a=Gs(["react-colorful__pointer",e.className]);return at.createElement("div",{className:a,style:{top:100*i+"%",left:100*r+"%"}},at.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},Yt=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r},d$={grad:.9,turn:360,rad:360/(2*Math.PI)};var Ew=function(e){var t=e.s,r=e.v,n=e.a,i=(200-t)*r/100;return{h:Yt(e.h),s:Yt(i>0&&i<200?t*r/100/(i<=100?i:200-i)*100:0),l:Yt(i/2),a:Yt(n,2)}},Bd=function(e){var t=Ew(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},Kd=function(e){var t=Ew(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},hD=function(e){var t=e.h,r=e.s,n=e.v,i=e.a;t=t/360*6,r/=100,n/=100;var a=Math.floor(t),o=n*(1-r),s=n*(1-(t-a)*r),u=n*(1-(1-t+a)*r),l=a%6;return{r:Yt(255*[n,s,o,o,u,n][l]),g:Yt(255*[u,n,n,s,o,o][l]),b:Yt(255*[o,o,u,n,n,s][l]),a:Yt(i,2)}};var mD=function(e){var t=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?gD({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):{h:0,s:0,v:0,a:1}};var gD=function(e){var t=e.r,r=e.g,n=e.b,i=e.a,a=Math.max(t,r,n),o=a-Math.min(t,r,n),s=o?a===t?(r-n)/o:a===r?2+(n-t)/o:4+(t-r)/o:0;return{h:Yt(60*(s<0?s+6:s)),s:Yt(a?o/a*100:0),v:Yt(a/255*100),a:i}};var vD=at.memo(function(e){var t=e.hue,r=e.onChange,n=Gs(["react-colorful__hue",e.className]);return at.createElement("div",{className:n},at.createElement(Rd,{onMove:function(i){r({h:360*i.left})},onKey:function(i){r({h:Ni(t+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":Yt(t),"aria-valuemax":"360","aria-valuemin":"0"},at.createElement(Hd,{className:"react-colorful__hue-pointer",left:t/360,color:Bd({h:t,s:100,v:100,a:1})})))}),yD=at.memo(function(e){var t=e.hsva,r=e.onChange,n={backgroundColor:Bd({h:t.h,s:100,v:100,a:1})};return at.createElement("div",{className:"react-colorful__saturation",style:n},at.createElement(Rd,{onMove:function(i){r({s:100*i.left,v:100-100*i.top})},onKey:function(i){r({s:Ni(t.s+100*i.left,0,100),v:Ni(t.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Yt(t.s)+"%, Brightness "+Yt(t.v)+"%"},at.createElement(Hd,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:Bd(t)})))}),bD=function(e,t){if(e===t)return!0;for(var r in e)if(e[r]!==t[r])return!1;return!0},wD=function(e,t){return e.replace(/\s/g,"")===t.replace(/\s/g,"")};function ED(e,t,r){var n=Nd(r),i=sr(function(){return e.toHsva(t)}),a=i[0],o=i[1],s=Xt({color:t,hsva:a});Sn(function(){if(!e.equal(t,s.current.color)){var l=e.toHsva(t);s.current={hsva:l,color:t},o(l)}},[t,e]),Sn(function(){var l;bD(a,s.current.hsva)||e.equal(l=e.fromHsva(a),s.current.color)||(s.current={hsva:a,color:l},n(l))},[a,e,n]);var u=cr(function(l){o(function(c){return Object.assign({},c,l)})},[]);return[a,u]}var xD,kD=typeof window!="undefined"?Lr:Sn,SD=function(){return xD||(typeof __webpack_nonce__!="undefined"?__webpack_nonce__:void 0)};var xw=new Map,_D=function(e){kD(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!xw.has(t)){var r=t.createElement("style");r.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,xw.set(t,r);var n=SD();n&&r.setAttribute("nonce",n),t.head.appendChild(r)}},[])};var CD=function(e){var t=e.className,r=e.hsva,n=e.onChange,i={backgroundImage:"linear-gradient(90deg, "+Kd(Object.assign({},r,{a:0}))+", "+Kd(Object.assign({},r,{a:1}))+")"},a=Gs(["react-colorful__alpha",t]),o=Yt(100*r.a);return at.createElement("div",{className:a},at.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),at.createElement(Rd,{onMove:function(s){n({a:s.left})},onKey:function(s){n({a:Ni(r.a+s.left)})},"aria-label":"Alpha","aria-valuetext":o+"%","aria-valuenow":o,"aria-valuemin":"0","aria-valuemax":"100"},at.createElement(Hd,{className:"react-colorful__alpha-pointer",left:r.a,color:Kd(r)})))},DD=function(e){var t=e.className,r=e.colorModel,n=e.color,i=n===void 0?r.defaultColor:n,a=e.onChange,o=yw(e,["className","colorModel","color","onChange"]),s=Xt(null);_D(s);var u=ED(r,i,a),l=u[0],c=u[1],d=Gs(["react-colorful",t]);return at.createElement("div",Js({},o,{ref:s,className:d}),at.createElement(yD,{hsva:l,onChange:c}),at.createElement(vD,{hue:l.h,onChange:c}),at.createElement(CD,{hsva:l,onChange:c,className:"react-colorful__last-control"}))};var TD={defaultColor:"rgba(0, 0, 0, 1)",toHsva:mD,fromHsva:function(e){var t=hD(e);return"rgba("+t.r+", "+t.g+", "+t.b+", "+t.a+")"},equal:wD},kw=function(e){return at.createElement(DD,Js({},e,{colorModel:TD}))};function Sw(e){let t=In(e);if(!t.isValid())return null;let r=t.toRgb();return{rgba:`rgba(${r.r}, ${r.g}, ${r.b}, ${r.a})`,hexa:t.toHex()}}function $a({color:e,setColor:t,defaultColor:r}){let[n,i]=L.useState(e||r),[a,o]=L.useState(e||r),[s,u]=L.useState(!1),l=L.useCallback(d=>{let f=Sw(d||r);f&&(o(f.hexa),i(f.rgba),t(f.rgba))},[t]);L.useEffect(()=>{if(!e||!r)return;let d=Sw(e||r);d&&(i(d.rgba),o(d.hexa))},[]);let c=Fi(()=>{u(!1)});return h("div",{ref:c,className:B("color-picker-wrapper")},s&&h("div",{className:B("color-picker")},h(kw,{color:n,onChange:l})),h("input",{type:"text",value:a,onChange:d=>l(d.target.value),onFocus:()=>{u(!0)}}))}function MD({tagColorKey:e,deleteKey:t,updateKey:r,defaultColors:n}){return h("div",{className:B("setting-item-wrapper")},h("div",{className:B("setting-item")},h("div",{className:`${B("setting-controls-wrapper")} ${B("tag-color-input")}`},h("div",{className:B("setting-input-wrapper")},h("div",null,h("div",{className:B("setting-item-label")},P("Tag")),h("input",{type:"text",placeholder:"#tag",value:e.tagKey,onChange:i=>{r(i.currentTarget.value,e.color,e.backgroundColor)}})),h("div",null,h("div",{className:B("setting-item-label")},P("Background color")),h($a,{color:e.backgroundColor,setColor:i=>{r(e.tagKey,e.color,i)},defaultColor:n.backgroundColor})),h("div",null,h("div",{className:B("setting-item-label")},P("Text color")),h($a,{color:e.color,setColor:i=>{r(e.tagKey,i,e.backgroundColor)},defaultColor:n.color}))),h("div",{className:B("setting-toggle-wrapper")},h("div",null,h("div",{className:B("item-tags")},h("a",{className:`tag ${B("item-tag")}`},"#tag1"),h("a",{className:`tag ${B("item-tag")}`,style:{"--tag-color":e.color,"--tag-background-color":e.backgroundColor}},e.tagKey||"#tag"),h("a",{className:`tag ${B("item-tag")}`},"#tag2"))))),h("div",{className:B("setting-button-wrapper")},h("div",{onClick:t,"aria-label":P("Delete")},h(_t,{name:"cross"})))))}function ID({dataKeys:e,onChange:t}){let[r,n]=L.useState(e),i=L.useMemo(()=>{let l=createDiv(B("item-tags")),c=l.createEl("a",B("item-tag"));l.style.position="absolute",l.style.visibility="hidden",activeDocument.body.append(l);let d=activeWindow.getComputedStyle(c),f=d.getPropertyValue("color").trim(),p=d.getPropertyValue("background-color").trim();return l.remove(),{color:f,backgroundColor:p}},[]),a=l=>{t(l),n(l)},o=()=>{a((0,Qs.default)(r,{$push:[{...gs,id:Ae(),data:{tagKey:"",color:"",backgroundColor:""}}]}))},s=l=>{a((0,Qs.default)(r,{$splice:[[l,1]]}))},u=l=>(c,d,f)=>{a((0,Qs.default)(r,{[l]:{data:{tagKey:{$set:c},color:{$set:d},backgroundColor:{$set:f}}}}))};return h("div",{className:B("tag-color-input-wrapper")},h("div",{className:"setting-item-info"},h("div",{className:"setting-item-name"},P("Display tag colors")),h("div",{className:"setting-item-description"},P("Set colors for the tags displayed below the card title."))),r.map((l,c)=>h(MD,{key:l.id,tagColorKey:l.data,deleteKey:()=>s(c),updateKey:u(c),defaultColors:i})),h("button",{className:B("add-tag-color-button"),onClick:()=>{o()}},P("Add tag color")))}function _w(e,t,r){L.render(h(ID,{dataKeys:t,onChange:r,portalContainer:ur(e)}),e)}function Cw(e){L.unmountComponentAtNode(e)}m();var Xs=me(Et());var $d=me(require("obsidian"));function AD({dateColorKey:e,deleteKey:t,updateKey:r,defaultColors:n,getTimeFormat:i,getDateFormat:a}){let o="between";return e.isToday&&(o="today"),e.isBefore&&(o="before"),e.isAfter&&(o="after"),h("div",{className:B("setting-item-wrapper")},h("div",{className:B("setting-item")},h("div",{className:`${B("setting-controls-wrapper")} ${B("tag-color-input")}`},h("div",null,h("div",null,h("div",{className:B("setting-item-label")},P("Date is"))),h("div",{className:B("date-color-config")},h("select",{className:"dropdown",defaultValue:o,onChange:s=>{let u={...e};switch(delete u.isAfter,delete u.isBefore,delete u.isToday,s.target.value){case"today":u.isToday=!0;break;case"before":u.isBefore=!0;break;case"after":u.isAfter=!0;break}r(u)}},h("option",{value:"between"},P("Between now and")),h("option",{value:"today"},P("Today")),h("option",{value:"after"},P("After now")),h("option",{value:"before"},P("Before now"))),!e.isToday&&!e.isAfter&&!e.isBefore&&h(S,null,h("input",{type:"number",value:e.distance,onChange:s=>{r({...e,distance:parseInt(s.target.value)})}}),h("select",{className:"dropdown",defaultValue:e.unit,onChange:s=>{r({...e,unit:s.target.value})}},h("option",{value:"hours"},"Hours"),h("option",{value:"days"},"Days"),h("option",{value:"weeks"},"Weeks"),h("option",{value:"months"},"Months")),h("select",{className:"dropdown",defaultValue:e.direction,onChange:s=>{r({...e,direction:s.target.value})}},h("option",{value:"after"},P("After now")),h("option",{value:"before"},P("Before now"))))),h("div",{className:B("date-color-config")},h("div",null,h("div",{className:B("setting-item-label")},P("Background color")),h($a,{color:e.backgroundColor,setColor:s=>{r({...e,backgroundColor:s})},defaultColor:n.backgroundColor})),h("div",null,h("div",{className:B("setting-item-label")},P("Text color")),h($a,{color:e.color,setColor:s=>{r({...e,color:s})},defaultColor:n.color})))),h("div",null,h("div",{className:B("date-color-wrapper")},h("div",{className:B("item-metadata")},h("span",{style:{"--date-color":e.color,"--date-background-color":e.backgroundColor},className:et([B("item-metadata-date-wrapper"),{"has-background":!!(e==null?void 0:e.backgroundColor)}])},h("span",{className:B("item-metadata-date is-button")},(0,$d.moment)().format(a()))," ",h("span",{className:B("item-metadata-time is-button")},(0,$d.moment)().format(i()))))))),h("div",{className:B("setting-button-wrapper")},h("div",{onClick:t,"aria-label":P("Delete")},h(_t,{name:"cross"})))))}function LD({dataKeys:e,onChange:t,getTimeFormat:r,getDateFormat:n}){let[i,a]=L.useState(e),o=L.useMemo(()=>{let d=createDiv(B("item-metadata")),f=d.createSpan(B("item-metadata-date"));d.style.position="absolute",d.style.visibility="hidden",activeDocument.body.append(d);let p=activeWindow.getComputedStyle(f),g=p.getPropertyValue("color").trim(),y=p.getPropertyValue("background-color").trim();return d.remove(),{color:g,backgroundColor:y}},[]),s=d=>{t(d),a(d)},u=()=>{s((0,Xs.default)(i,{$push:[{...vs,id:Ae(),data:{isToday:!1,distance:1,unit:"days",direction:"after"}}]}))},l=d=>{s((0,Xs.default)(i,{$splice:[[d,1]]}))},c=d=>f=>{s((0,Xs.default)(i,{[d]:{data:{$set:f}}}))};return h("div",{className:B("date-color-input-wrapper")},h("div",{className:"setting-item-info"},h("div",{className:"setting-item-name"},P("Display date colors")),h("div",{className:"setting-item-description"},P("Set colors for the date displayed below the card based on the rules below"))),i.map((d,f)=>h(AD,{key:d.id,dateColorKey:d.data,deleteKey:()=>l(f),updateKey:c(f),defaultColors:o,getTimeFormat:r,getDateFormat:n})),h("button",{className:B("add-tag-color-button"),onClick:u},P("Add date color")))}function Dw(e,t,r,n,i){L.render(h(LD,{dataKeys:t,onChange:r,portalContainer:ur(e),getDateFormat:n,getTimeFormat:i}),e)}function Tw(e){L.unmountComponentAtNode(e)}var Iw=/^\d+(?:\.\d+)?$/,Aw={[gn]:!0,"date-display-format":!0,"date-format":!0,"date-picker-week-start":!0,"date-time-display-format":!0,"date-trigger":!0,"hide-card-count":!0,"hide-date-display":!0,"hide-date-in-title":!0,"hide-tags-display":!0,"hide-tags-in-title":!0,"lane-width":!0,"link-date-to-daily-note":!0,"max-archive-size":!0,"metadata-keys":!0,"new-card-insertion-method":!0,"new-line-trigger":!0,"new-note-folder":!0,"new-note-template":!0,"prepend-archive-date":!0,"prepend-archive-format":!0,"prepend-archive-separator":!0,"show-checkboxes":!0,"show-relative-date":!0,"time-format":!0,"time-trigger":!0,"show-add-list":!0,"show-archive-all":!0,"show-view-as-markdown":!0,"show-board-settings":!0,"show-search":!0,"tag-colors":!0,"date-colors":!0},Ud=class{constructor(t,r,n){this.cleanupFns=[];this.applyDebounceTimer=0;this.app=t.app,this.plugin=t,this.config=r,this.settings=n}applySettingsUpdate(t){this.win.clearTimeout(this.applyDebounceTimer),this.applyDebounceTimer=this.win.setTimeout(()=>{this.settings=(0,Mw.default)(this.settings,t),this.config.onSettingsChange(this.settings)},200)}getSetting(t,r){return r?[this.settings[t],this.plugin.settings[t]]:[this.settings[t],null]}constructUI(t,r,n){this.win=t.win;let{templateFiles:i,vaultFolders:a,templateWarning:o}=rw(this.app);t.createEl("h3",{text:r}),n?t.createEl("p",{text:P("These settings will take precedence over the default Kanban board settings.")}):t.createEl("p",{text:P("Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.")}),new Be.Setting(t).setName(P("New line trigger")).setDesc(P("Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.")).addDropdown(s=>{s.addOption("shift-enter",P("Shift + Enter")),s.addOption("enter",P("Enter"));let[u,l]=this.getSetting("new-line-trigger",n);s.setValue(u||l||"shift-enter"),s.onChange(c=>{this.applySettingsUpdate({"new-line-trigger":{$set:c}})})}),new Be.Setting(t).setName(P("Prepend / append new cards")).setDesc(P("This setting controls whether new cards are added to the beginning or end of the list.")).addDropdown(s=>{s.addOption("prepend",P("Prepend")),s.addOption("prepend-compact",P("Prepend (compact)")),s.addOption("append",P("Append"));let[u,l]=this.getSetting("new-card-insertion-method",n);s.setValue(u||l||"append"),s.onChange(c=>{this.applySettingsUpdate({"new-card-insertion-method":{$set:c}})})}),new Be.Setting(t).setName(P("Note template")).setDesc(P("This template will be used when creating new notes from Kanban cards.")).then(Ad({choices:i,key:"new-note-template",warningText:o,local:n,placeHolderStr:P("No template"),manager:this})),new Be.Setting(t).setName(P("Note folder")).setDesc(P("Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.")).then(Ad({choices:a,key:"new-note-folder",local:n,placeHolderStr:P("Default folder"),manager:this})),new Be.Setting(t).setName(P("Hide card counts in list titles")).setDesc(P("When toggled, card counts are hidden from the list title")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-card-count",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-card-count":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-card-count",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-card-count"]})})})}),new Be.Setting(t).setName(P("List width")).setDesc(P("Enter a number to set the list width in pixels.")).addText(s=>{let[u,l]=this.getSetting("lane-width",n);s.inputEl.setAttr("type","number"),s.inputEl.placeholder=`${l||"272"} (default)`,s.inputEl.value=u?u.toString():"",s.onChange(c=>{if(c&&Iw.test(c)){s.inputEl.removeClass("error"),this.applySettingsUpdate({"lane-width":{$set:parseInt(c)}});return}c&&s.inputEl.addClass("error"),this.applySettingsUpdate({$unset:["lane-width"]})})}),new Be.Setting(t).setName(P("Maximum number of archived cards")).setDesc(P("Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.")).addText(s=>{let[u,l]=this.getSetting("max-archive-size",n);s.inputEl.setAttr("type","number"),s.inputEl.placeholder=`${l||"-1"} (default)`,s.inputEl.value=u?u.toString():"",s.onChange(c=>{if(c&&Iw.test(c)){s.inputEl.removeClass("error"),this.applySettingsUpdate({"max-archive-size":{$set:parseInt(c)}});return}c&&s.inputEl.addClass("error"),this.applySettingsUpdate({$unset:["max-archive-size"]})})}),new Be.Setting(t).setName(P("Display card checkbox")).setDesc(P("When toggled, a checkbox will be displayed with each card")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-checkboxes",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"show-checkboxes":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-checkboxes",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-checkboxes"]})})})}),new Be.Setting(t).setName(P("Hide tags in card titles")).setDesc(P("When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-tags-in-title",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-tags-in-title":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-tags-in-title",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-tags-in-title"]})})})}),new Be.Setting(t).setName(P("Hide card display tags")).setDesc(P("When toggled, tags will not be displayed below the card title.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-tags-display",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-tags-display":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-tags-display",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-tags-display"]})})})}),new Be.Setting(t).setName(P("Display tag colors")).setDesc(P("Set colors for the tags displayed below the card title.")).then(s=>{let[u]=this.getSetting("tag-colors",n),l=(u||[]).map(c=>({...gs,id:Ae(),data:c}));_w(s.settingEl,l,c=>this.applySettingsUpdate({"tag-colors":{$set:c.map(d=>d.data)}})),this.cleanupFns.push(()=>{s.settingEl&&Cw(s.settingEl)})}),t.createEl("h4",{text:P("Board Header Buttons")}),new Be.Setting(t).setName(P("Add a list")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-add-list",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-add-list":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-add-list",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-add-list"]})})})}),new Be.Setting(t).setName(P("Archive completed cards")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-archive-all",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-archive-all":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-archive-all",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-archive-all"]})})})}),new Be.Setting(t).setName(P("Open as markdown")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-view-as-markdown",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-view-as-markdown":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-view-as-markdown",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-view-as-markdown"]})})})}),new Be.Setting(t).setName(P("Open board settings")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-board-settings",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-board-settings":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-board-settings",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-board-settings"]})})})}),new Be.Setting(t).setName(P("Search...")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-search",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-search":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-search",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-search"]})})})}),t.createEl("h4",{text:P("Date & Time")}),new Be.Setting(t).setName(P("Date trigger")).setDesc(P("When this is typed, it will trigger the date selector")).addText(s=>{let[u,l]=this.getSetting("date-trigger",n);(u||l)&&s.setValue(u||l),s.setPlaceholder(l||js),s.onChange(c=>{c?this.applySettingsUpdate({"date-trigger":{$set:c}}):this.applySettingsUpdate({$unset:["date-trigger"]})})}),new Be.Setting(t).setName(P("Time trigger")).setDesc(P("When this is typed, it will trigger the time selector")).addText(s=>{let[u,l]=this.getSetting("time-trigger",n);(u||l)&&s.setValue(u||l),s.setPlaceholder(l||qs),s.onChange(c=>{c?this.applySettingsUpdate({"time-trigger":{$set:c}}):this.applySettingsUpdate({$unset:["time-trigger"]})})}),new Be.Setting(t).setName(P("Date format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(f=>{f.appendText(P("This format will be used when saving dates in markdown.")),f.createEl("br"),f.appendText(P("For more syntax, refer to")+" "),f.createEl("a",{text:P("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},p=>{p.setAttr("target","_blank")}),f.createEl("br"),f.appendText(P("Your current syntax looks like this")+": "),u.setSampleEl(f.createEl("b",{cls:"u-pop"})),f.createEl("br")}));let[l,c]=this.getSetting("date-format",n),d=Nr(this.app);u.setPlaceholder(d),u.setDefaultFormat(d),(l||c)&&u.setValue(l||c),u.onChange(f=>{f?this.applySettingsUpdate({"date-format":{$set:f}}):this.applySettingsUpdate({$unset:["date-format"]})})})}),new Be.Setting(t).setName(P("Time format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(f=>{f.appendText(P("For more syntax, refer to")+" "),f.createEl("a",{text:P("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},p=>{p.setAttr("target","_blank")}),f.createEl("br"),f.appendText(P("Your current syntax looks like this")+": "),u.setSampleEl(f.createEl("b",{cls:"u-pop"})),f.createEl("br")}));let[l,c]=this.getSetting("time-format",n),d=ui(this.app);u.setPlaceholder(d),u.setDefaultFormat(d),(l||c)&&u.setValue(l||c),u.onChange(f=>{f?this.applySettingsUpdate({"time-format":{$set:f}}):this.applySettingsUpdate({$unset:["time-format"]})})})}),new Be.Setting(t).setName(P("Date display format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(f=>{f.appendText(P("This format will be used when displaying dates in Kanban cards.")),f.createEl("br"),f.appendText(P("For more syntax, refer to")+" "),f.createEl("a",{text:P("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},p=>{p.setAttr("target","_blank")}),f.createEl("br"),f.appendText(P("Your current syntax looks like this")+": "),u.setSampleEl(f.createEl("b",{cls:"u-pop"})),f.createEl("br")}));let[l,c]=this.getSetting("date-display-format",n),d=Nr(this.app);u.setPlaceholder(d),u.setDefaultFormat(d),(l||c)&&u.setValue(l||c),u.onChange(f=>{f?this.applySettingsUpdate({"date-display-format":{$set:f}}):this.applySettingsUpdate({$unset:["date-display-format"]})})})}),new Be.Setting(t).setName(P("Show relative date")).setDesc(P("When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-relative-date",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"show-relative-date":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-relative-date",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-relative-date"]})})})}),new Be.Setting(t).setName(P("Hide card display dates")).setDesc(P("When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-date-display",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-date-display":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-date-display",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-date-display"]})})})}),new Be.Setting(t).setName(P("Hide dates in card titles")).setDesc(P("When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-date-in-title",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-date-in-title":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-date-in-title",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-date-in-title"]})})})}),new Be.Setting(t).setName(P("Display date colors")).setDesc(P("Set colors for the date displayed below the card based on the rules below")).then(s=>{let[u]=this.getSetting("date-colors",n),l=(u||[]).map(c=>({...vs,id:Ae(),data:c}));Dw(s.settingEl,l,c=>this.applySettingsUpdate({"date-colors":{$set:c.map(d=>d.data)}}),()=>{let[c,d]=this.getSetting("date-display-format",n),f=Nr(this.app);return c||d||f},()=>{let[c,d]=this.getSetting("time-format",n),f=ui(this.app);return c||d||f}),this.cleanupFns.push(()=>{s.settingEl&&Tw(s.settingEl)})}),new Be.Setting(t).setName(P("Link dates to daily notes")).setDesc(P("When toggled, dates will link to daily notes. Eg. [[2021-04-26]]")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("link-date-to-daily-note",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"link-date-to-daily-note":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("link-date-to-daily-note",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["link-date-to-daily-note"]})})})}),new Be.Setting(t).setName(P("Add date and time to archived cards")).setDesc(P("When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("prepend-archive-date",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"prepend-archive-date":{$set:f}})})}).addExtraButton(l=>{l.setIcon("reset").setTooltip(P("Reset to default")).onClick(()=>{let[,c]=this.getSetting("prepend-archive-date",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["prepend-archive-date"]})})})}),new Be.Setting(t).setName(P("Archive date/time separator")).setDesc(P("This will be used to separate the archived date/time from the title")).addText(s=>{let[u,l]=this.getSetting("prepend-archive-separator",n);s.inputEl.placeholder=l?`${l} (default)`:"",s.inputEl.value=u||"",s.onChange(c=>{if(c){this.applySettingsUpdate({"prepend-archive-separator":{$set:c}});return}this.applySettingsUpdate({$unset:["prepend-archive-separator"]})})}),new Be.Setting(t).setName(P("Archive date/time format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(T=>{T.appendText(P("For more syntax, refer to")+" "),T.createEl("a",{text:P("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},C=>{C.setAttr("target","_blank")}),T.createEl("br"),T.appendText(P("Your current syntax looks like this")+": "),u.setSampleEl(T.createEl("b",{cls:"u-pop"})),T.createEl("br")}));let[l,c]=this.getSetting("prepend-archive-format",n),[d,f]=this.getSetting("date-format",n),p=d||f||Nr(this.app),[g,y]=this.getSetting("time-format",n),b=g||y||ui(this.app),k=`${p} ${b}`;u.setPlaceholder(k),u.setDefaultFormat(k),(l||c)&&u.setValue(l||c),u.onChange(T=>{T?this.applySettingsUpdate({"prepend-archive-format":{$set:T}}):this.applySettingsUpdate({$unset:["prepend-archive-format"]})})})}),new Be.Setting(t).setName(P("Calendar: first day of week")).setDesc(P("Override which day is used as the start of the week")).addDropdown(s=>{s.addOption("",P("default")),s.addOption("0",P("Sunday")),s.addOption("1",P("Monday")),s.addOption("2",P("Tuesday")),s.addOption("3",P("Wednesday")),s.addOption("4",P("Thursday")),s.addOption("5",P("Friday")),s.addOption("6",P("Saturday"));let[u,l]=this.getSetting("date-picker-week-start",n);s.setValue((u==null?void 0:u.toString())||(l==null?void 0:l.toString())||""),s.onChange(c=>{c?this.applySettingsUpdate({"date-picker-week-start":{$set:Number(c)}}):this.applySettingsUpdate({$unset:["date-picker-week-start"]})})}),t.createEl("br"),t.createEl("h4",{text:P("Linked Page Metadata")}),t.createEl("p",{cls:B("metadata-setting-desc"),text:P("Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.")}),new Be.Setting(t).then(s=>{s.settingEl.addClass(B("draggable-setting-container"));let[u]=this.getSetting("metadata-keys",n),l=(u||[]).map(c=>({...ms,id:Ae(),data:c,win:Ze(t)}));aw(s.settingEl,t,l,c=>this.applySettingsUpdate({"metadata-keys":{$set:c.map(d=>d.data)}})),this.cleanupFns.push(()=>{s.settingEl&&ow(s.settingEl)})})}cleanUp(){this.win=null,this.cleanupFns.forEach(t=>t()),this.cleanupFns=[]}},Zs=class extends Be.Modal{constructor(t,r,n){super(t.app);this.view=t,this.settingsManager=new Ud(t.plugin,r,n)}onOpen(){let{contentEl:t,modalEl:r}=this;r.addClass(B("board-settings-modal")),this.settingsManager.constructUI(t,this.view.file.basename,!0)}onClose(){let{contentEl:t}=this;this.settingsManager.cleanUp(),t.empty()}},Vd=class extends Be.PluginSettingTab{constructor(t,r){super(t.app,t);this.plugin=t,this.settingsManager=new Ud(t,r,t.settings)}display(){let{containerEl:t}=this;t.empty(),t.addClass(B("board-settings-modal")),this.settingsManager.constructUI(t,P("Kanban Plugin"),!1)}};var yn="kanban",Ua="blocks",tr=class extends Lw.TextFileView{constructor(t,r){super(t);this.actionButtons={};this.plugin=r,this.emitter=Hs(),this.emitter.on("hotkey",n=>{switch(n){case"daily-notes:goto-prev":{Vm(this.app,this.file);break}case"daily-notes:goto-next":{Um(this.app,this.file);break}}}),this.register(this.containerEl.onWindowMigrated(()=>{this.plugin.removeView(this),this.plugin.addView(this,this.data,this.isPrimary)}))}get isPrimary(){var t;return((t=this.plugin.getStateManager(this.file))==null?void 0:t.getAView())===this}get id(){var t;return`${this.leaf.id}:::${(t=this.file)==null?void 0:t.path}`}get isShiftPressed(){return this.plugin.isShiftPressed}setBoard(t,r=!0){this.plugin.stateManagers.get(this.file).setState(t,r)}getBoard(){return this.plugin.stateManagers.get(this.file).state}getViewType(){return yn}getIcon(){return Ua}getDisplayText(){var t;return((t=this.file)==null?void 0:t.basename)||"Kanban"}getWindow(){return Ze(this.containerEl)}async onLoadFile(t){try{return await super.onLoadFile(t)}catch(r){throw this.plugin.stateManagers.get(this.file).setError(r),r}}destroy(){this.plugin.removeView(this),Object.values(this.actionButtons).forEach(t=>t.remove()),this.actionButtons={}}async onClose(){this.destroy()}async onUnloadFile(t){return this.destroy(),await super.onUnloadFile(t)}handleRename(t,r){this.file.path===t&&this.plugin.handleViewFileRename(this,r)}requestSaveToDisk(t){this.data!==t&&this.isPrimary?(this.data=t,this.requestSave()):this.data=t}getViewData(){return this.data}setViewData(t,r){if(!Wm(t)){this.plugin.kanbanFileModes[this.leaf.id||this.file.path]="markdown",this.plugin.removeView(this),this.plugin.setMarkdownView(this.leaf,!1);return}this.plugin.addView(this,t,!r&&this.isPrimary)}getPortal(){let t=this.plugin.stateManagers.get(this.file);return h(ew,{stateManager:t,view:this})}onPaneMenu(t,r,n=!0){if(r!=="more-options"){super.onPaneMenu(t,r);return}t.addItem(i=>{i.setTitle(P("Open as markdown")).setIcon("document").setSection("pane").onClick(()=>{this.plugin.kanbanFileModes[this.leaf.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)})}).addItem(i=>{i.setTitle(P("Open board settings")).setIcon("gear").setSection("pane").onClick(()=>{let a=this.plugin.stateManagers.get(this.file),o=a.state;new Zs(this,{onSettingsChange:s=>{let u=(0,Wd.default)(o,{data:{settings:{$set:s}}});a.setState(u)}},o.data.settings).open()})}).addItem(i=>{i.setTitle(P("Archive completed cards")).setIcon("sheets-in-box").setSection("pane").onClick(()=>{this.plugin.stateManagers.get(this.file).archiveCompletedCards()})}),n&&super.onPaneMenu(t,r)}initHeaderButtons(){let t=this.plugin.getStateManager(this.file);if(!!t)if(t.getSetting("show-board-settings")&&!this.actionButtons["show-board-settings"]?this.actionButtons["show-board-settings"]=this.addAction("gear",P("Open board settings"),()=>{let r=this.plugin.stateManagers.get(this.file),n=r.state;new Zs(this,{onSettingsChange:i=>{let a=(0,Wd.default)(n,{data:{settings:{$set:i}}});r.setState(a)}},n.data.settings).open()}):!t.getSetting("show-board-settings")&&this.actionButtons["show-board-settings"]&&(this.actionButtons["show-board-settings"].remove(),delete this.actionButtons["show-board-settings"]),t.getSetting("show-search")&&!this.actionButtons["show-search"]?this.actionButtons["show-search"]=this.addAction("search",P("Search..."),()=>{this.emitter.emit("hotkey","editor:open-search")}):!t.getSetting("show-search")&&this.actionButtons["show-search"]&&(this.actionButtons["show-search"].remove(),delete this.actionButtons["show-search"]),t.getSetting("show-view-as-markdown")&&!this.actionButtons["show-view-as-markdown"]?this.actionButtons["show-view-as-markdown"]=this.addAction("document",P("Open as markdown"),()=>{this.plugin.kanbanFileModes[this.leaf.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}):!t.getSetting("show-view-as-markdown")&&this.actionButtons["show-view-as-markdown"]&&(this.actionButtons["show-view-as-markdown"].remove(),delete this.actionButtons["show-view-as-markdown"]),t.getSetting("show-archive-all")&&!this.actionButtons["show-archive-all"]?this.actionButtons["show-archive-all"]=this.addAction("sheets-in-box",P("Archive completed cards"),()=>{this.plugin.stateManagers.get(this.file).archiveCompletedCards()}):!t.getSetting("show-archive-all")&&this.actionButtons["show-archive-all"]&&(this.actionButtons["show-archive-all"].remove(),delete this.actionButtons["show-archive-all"]),t.getSetting("show-add-list")&&!this.actionButtons["show-add-list"]){let r=this.addAction("plus-with-circle",P("Add a list"),()=>{this.emitter.emit("showLaneForm",void 0)});r.addClass(B("ignore-click-outside")),this.actionButtons["show-add-list"]=r}else!t.getSetting("show-add-list")&&this.actionButtons["show-add-list"]&&(this.actionButtons["show-add-list"].remove(),delete this.actionButtons["show-add-list"])}clear(){}};m();var Vi=me(Et()),YE=me(require("obsidian"));m();m();var zd={};qi(zd,{JsonPatchError:()=>ot,_areEquals:()=>za,applyOperation:()=>Yr,applyPatch:()=>al,applyReducer:()=>RD,deepClone:()=>ND,getValueByPointer:()=>il,validate:()=>Fw,validator:()=>ol});m();m();var PD=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),FD=Object.prototype.hasOwnProperty;function el(e,t){return FD.call(e,t)}function tl(e){if(Array.isArray(e)){for(var t=new Array(e.length),r=0;r=48&&n<=57){t++;continue}return!1}return!0}function Hn(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function Va(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function rl(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,r=e.length;t0&&u[c-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&f===void 0&&(l[p]===void 0?f=u.slice(0,c).join("/"):c==d-1&&(f=t.path),f!==void 0&&g(t,0,e,f)),c++,Array.isArray(l)){if(p==="-")p=l.length;else{if(r&&!nl(p))throw new ot("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);nl(p)&&(p=~~p)}if(c>=d){if(r&&t.op==="add"&&p>l.length)throw new ot("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var o=OD[t.op].call(t,l,p,e);if(o.test===!1)throw new ot("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}}else if(c>=d){var o=Oi[t.op].call(t,l,p,e);if(o.test===!1)throw new ot("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}if(l=l[p],r&&c0)throw new ot('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,r);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new ot("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new ot("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&rl(e.value))throw new ot("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r){if(e.op=="add"){var i=e.path.split("/").length,a=n.split("/").length;if(i!==a+1&&i!==a)throw new ot("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==n)throw new ot("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if(e.op==="move"||e.op==="copy"){var o={op:"_get",path:e.from,value:void 0},s=Fw([o],r);if(s&&s.name==="OPERATION_PATH_UNRESOLVABLE")throw new ot("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}}else throw new ot("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r)}function Fw(e,t,r){try{if(!Array.isArray(e))throw new ot("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)al(Ft(t),Ft(e),r||!0);else{r=r||ol;for(var n=0;nJd,generate:()=>qd,observe:()=>WD,unobserve:()=>VD});m();var jd=new WeakMap,HD=function(){function e(t){this.observers=new Map,this.obj=t}return e}(),BD=function(){function e(t,r){this.callback=t,this.observer=r}return e}();function KD(e){return jd.get(e)}function $D(e,t){return e.observers.get(t)}function UD(e,t){e.observers.delete(t.callback)}function VD(e,t){t.unobserve()}function WD(e,t){var r=[],n,i=KD(e);if(!i)i=new HD(e),jd.set(e,i);else{var a=$D(i,t);n=a&&a.observer}if(n)return n;if(n={},i.value=Ft(e),t){n.callback=t,n.next=null;var o=function(){qd(n)},s=function(){clearTimeout(n.next),n.next=setTimeout(o)};typeof window!="undefined"&&(window.addEventListener("mouseup",s),window.addEventListener("keyup",s),window.addEventListener("mousedown",s),window.addEventListener("keydown",s),window.addEventListener("change",s))}return n.patches=r,n.object=e,n.unobserve=function(){qd(n),clearTimeout(n.next),UD(i,n),typeof window!="undefined"&&(window.removeEventListener("mouseup",s),window.removeEventListener("keyup",s),window.removeEventListener("mousedown",s),window.removeEventListener("keydown",s),window.removeEventListener("change",s))},i.observers.set(t,new BD(t,n)),n}function qd(e,t){t===void 0&&(t=!1);var r=jd.get(e.object);Yd(r.value,e.object,e.patches,"",t),e.patches.length&&al(r.value,e.patches);var n=e.patches;return n.length>0&&(e.patches=[],e.callback&&e.callback(n)),n}function Yd(e,t,r,n,i){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=tl(t),o=tl(e),s=!1,u=!1,l=o.length-1;l>=0;l--){var c=o[l],d=e[c];if(el(t,c)&&!(t[c]===void 0&&d!==void 0&&Array.isArray(t)===!1)){var f=t[c];typeof d=="object"&&d!=null&&typeof f=="object"&&f!=null&&Array.isArray(d)===Array.isArray(f)?Yd(d,f,r,n+"/"+Hn(c),i):d!==f&&(s=!0,i&&r.push({op:"test",path:n+"/"+Hn(c),value:Ft(d)}),r.push({op:"replace",path:n+"/"+Hn(c),value:Ft(f)}))}else Array.isArray(e)===Array.isArray(t)?(i&&r.push({op:"test",path:n+"/"+Hn(c),value:Ft(d)}),r.push({op:"remove",path:n+"/"+Hn(c)}),u=!0):(i&&r.push({op:"test",path:n,value:e}),r.push({op:"replace",path:n,value:t}),s=!0)}if(!(!u&&a.length==o.length))for(var l=0;l":""))+")"})),f;function f(){let p=[],g,y,b;if((!t||i(s,u,l[l.length-1]||null))&&(p=JD(r(s,l)),p[0]===Xd))return p;if(s.children&&p[0]!==$w)for(y=(n?s.children.length:-1)+a,b=l.concat(s);y>-1&&y!0){for(let i=t+1,a=e.length;i{try{await jw(e,r),await Promise.all(r.children.map(n=>qa(e,n)))}catch(n){throw e.setError(n),n}}))}catch(r){throw e.setError(r),r}return t}function GD(e){return(e.op==="add"||e.op==="replace")&&["/title","/titleRaw","/dateStr","/timeStr",/\d$/,/\/fileAccessor\/.+$/].some(t=>typeof t=="string"?e.path.endsWith(t):t.test(e.path))}async function Yw(e,t,r){let n={},i=r.reduce((a,o)=>{if(!GD(o))return a;let s=o.path.split("/").reduce((l,c)=>(/\d+/.test(c)&&l.push(Number(c)),l),[]),u=s.join(",");return n[u]||(n[u]=!0,a.push(s)),a},[]);try{await Promise.all(i.map(a=>{let o=mt(t,a);if(o.type===Je.Lane)return jw(e,o);if(o.type===Je.Item)return qa(e,o)}))}catch(a){throw e.setError(a),a}return t}m();m();m();m();m();m();function Nt(e,t,r,n){let i=e.length,a=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,r=r>0?r:0,n.length<1e4)o=Array.from(n),o.unshift(t,r),[].splice.apply(e,o);else for(r&&[].splice.apply(e,[t,r]);a0?(Nt(e,e.length,0,t),e):t}var Jw={}.hasOwnProperty;function Gw(e){let t={},r=-1;for(;++ro))return;let K=t.events.length,z=K,U,Z;for(;z--;)if(t.events[z][0]==="exit"&&t.events[z][1].type==="chunkFlow"){if(U){Z=t.events[z][1].end;break}U=!0}for(k(n),D=K;DC;){let H=r[A];t.containerState=H[1],H[0].exit.call(t,e)}r.length=C}function T(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function tT(e,t,r){return Se(e,e.attempt(this.parser.constructs.document,t,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}m();m();m();m();function rf(e){if(e===null||Qe(e)||eE(e))return 1;if(tE(e))return 2}m();function Ri(e,t,r){let n=[],i=-1;for(;++i1&&e[r][1].end.offset-e[r][1].start.offset>1?2:1;let d=Object.assign({},e[n][1].end),f=Object.assign({},e[r][1].start);aE(d,-u),aE(f,u),o={type:u>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[n][1].end)},s={type:u>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[r][1].start),end:f},a={type:u>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[r][1].start)},i={type:u>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[n][1].end=Object.assign({},o.start),e[r][1].start=Object.assign({},s.end),l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=Jt(l,[["enter",e[n][1],t],["exit",e[n][1],t]])),l=Jt(l,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",a,t]]),l=Jt(l,Ri(t.parser.constructs.insideSpan.null,e.slice(n+1,r),t)),l=Jt(l,[["exit",a,t],["enter",s,t],["exit",s,t],["exit",i,t]]),e[r][1].end.offset-e[r][1].start.offset?(c=2,l=Jt(l,[["enter",e[r][1],t],["exit",e[r][1],t]])):c=0,Nt(e,n-1,r-n+3,l),r=n+l.length-c-2;break}}for(r=-1;++r",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"};var uT={}.hasOwnProperty;function Hi(e){return uT.call(of,e)?of[e]:!1}var dl={name:"characterReference",tokenize:dT};function dT(e,t,r){let n=this,i=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),u}function u(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),a=31,o=Gt,c(d))}function l(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=Xw,c):(e.enter("characterReferenceValue"),a=7,o=Ya,c(d))}function c(d){let f;return d===59&&i?(f=e.exit("characterReferenceValue"),o===Gt&&!Hi(n.sliceSerialize(f))?r(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)):o(d)&&i++=4?o(l):r(l)}function o(l){return l===null?u(l):ce(l)?e.attempt(pT,o,u)(l):(e.enter("codeFlowValue"),s(l))}function s(l){return l===null||ce(l)?(e.exit("codeFlowValue"),o(l)):(e.consume(l),s)}function u(l){return e.exit("codeIndented"),t(l)}}function mT(e,t,r){let n=this;return i;function i(o){return n.parser.lazy[n.now().line]?r(o):ce(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):Se(e,a,"linePrefix",4+1)(o)}function a(o){let s=n.events[n.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(o):ce(o)?i(o):r(o)}}m();var sf={name:"codeText",tokenize:yT,resolve:gT,previous:vT};function gT(e){let t=e.length-4,r=3,n,i;if((e[r][1].type==="lineEnding"||e[r][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(n=r;++n=4?t(o):e.interrupt(n.parser.constructs.flow,r,t)(o)}}m();m();function hl(e,t,r,n,i,a,o,s,u){let l=u||Number.POSITIVE_INFINITY,c=0;return d;function d(k){return k===60?(e.enter(n),e.enter(i),e.enter(a),e.consume(k),e.exit(a),f):k===null||k===41||Ja(k)?r(k):(e.enter(n),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),y(k))}function f(k){return k===62?(e.enter(a),e.consume(k),e.exit(a),e.exit(i),e.exit(n),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(k))}function p(k){return k===62?(e.exit("chunkString"),e.exit(s),f(k)):k===null||k===60||ce(k)?r(k):(e.consume(k),k===92?g:p)}function g(k){return k===60||k===62||k===92?(e.consume(k),p):p(k)}function y(k){return k===40?++c>l?r(k):(e.consume(k),y):k===41?c--?(e.consume(k),y):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(n),t(k)):k===null||Qe(k)?c?r(k):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(n),t(k)):Ja(k)?r(k):(e.consume(k),k===92?b:y)}function b(k){return k===40||k===41||k===92?(e.consume(k),y):y(k)}}m();function ml(e,t,r,n,i,a){let o=this,s=0,u;return l;function l(p){return e.enter(n),e.enter(i),e.consume(p),e.exit(i),e.enter(a),c}function c(p){return p===null||p===91||p===93&&!u||p===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs||s>999?r(p):p===93?(e.exit(a),e.enter(i),e.consume(p),e.exit(i),e.exit(n),t):ce(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||ce(p)||s++>999?(e.exit("chunkString"),c(p)):(e.consume(p),u=u||!Ke(p),p===92?f:d)}function f(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}m();function gl(e,t,r,n,i,a){let o;return s;function s(f){return e.enter(n),e.enter(i),e.consume(f),e.exit(i),o=f===40?41:f,u}function u(f){return f===o?(e.enter(i),e.consume(f),e.exit(i),e.exit(n),t):(e.enter(a),l(f))}function l(f){return f===o?(e.exit(a),u(o)):f===null?r(f):ce(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),Se(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(f){return f===o||f===null||ce(f)?(e.exit("chunkString"),l(f)):(e.consume(f),f===92?d:c)}function d(f){return f===o||f===92?(e.consume(f),c):c(f)}}m();function Jr(e,t){let r;return n;function n(i){return ce(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),r=!0,n):Ke(i)?Se(e,n,r?"linePrefix":"lineSuffix")(i):t(i)}}m();function nr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var cf={name:"definition",tokenize:_T},ST={tokenize:CT,partial:!0};function _T(e,t,r){let n=this,i;return a;function a(u){return e.enter("definition"),ml.call(n,e,o,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(u)}function o(u){return i=nr(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),u===58?(e.enter("definitionMarker"),e.consume(u),e.exit("definitionMarker"),Jr(e,hl(e,e.attempt(ST,Se(e,s,"whitespace"),Se(e,s,"whitespace")),r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):r(u)}function s(u){return u===null||ce(u)?(e.exit("definition"),n.parser.defined.includes(i)||n.parser.defined.push(i),t(u)):r(u)}}function CT(e,t,r){return n;function n(o){return Qe(o)?Jr(e,i)(o):r(o)}function i(o){return o===34||o===39||o===40?gl(e,Se(e,a,"whitespace"),r,"definitionTitle","definitionTitleMarker","definitionTitleString")(o):r(o)}function a(o){return o===null||ce(o)?t(o):r(o)}}m();var uf={name:"hardBreakEscape",tokenize:DT};function DT(e,t,r){return n;function n(a){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(a),i}function i(a){return ce(a)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(a)):r(a)}}m();var df={name:"headingAtx",tokenize:MT,resolve:TT};function TT(e,t){let r=e.length-2,n=3,i,a;return e[n][1].type==="whitespace"&&(n+=2),r-2>n&&e[r][1].type==="whitespace"&&(r-=2),e[r][1].type==="atxHeadingSequence"&&(n===r-1||r-4>n&&e[r-2][1].type==="whitespace")&&(r-=n+1===r?2:4),r>n&&(i={type:"atxHeadingText",start:e[n][1].start,end:e[r][1].end},a={type:"chunkText",start:e[n][1].start,end:e[r][1].end,contentType:"text"},Nt(e,n,r-n+1,[["enter",i,t],["enter",a,t],["exit",a,t],["exit",i,t]])),e}function MT(e,t,r){let n=this,i=0;return a;function a(c){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),o(c)}function o(c){return c===35&&i++<6?(e.consume(c),o):c===null||Qe(c)?(e.exit("atxHeadingSequence"),n.interrupt?t(c):s(c)):r(c)}function s(c){return c===35?(e.enter("atxHeadingSequence"),u(c)):c===null||ce(c)?(e.exit("atxHeading"),t(c)):Ke(c)?Se(e,s,"whitespace")(c):(e.enter("atxHeadingText"),l(c))}function u(c){return c===35?(e.consume(c),u):(e.exit("atxHeadingSequence"),s(c))}function l(c){return c===null||c===35||Qe(c)?(e.exit("atxHeadingText"),s(c)):(e.consume(c),l)}}m();m();var oE=["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","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ff=["pre","script","style","textarea"];var pf={name:"htmlFlow",tokenize:LT,resolveTo:AT,concrete:!0},IT={tokenize:PT,partial:!0};function AT(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 LT(e,t,r){let n=this,i,a,o,s,u;return l;function l(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),c}function c(N){return N===33?(e.consume(N),d):N===47?(e.consume(N),g):N===63?(e.consume(N),i=3,n.interrupt?t:be):dn(N)?(e.consume(N),o=String.fromCharCode(N),a=!0,y):r(N)}function d(N){return N===45?(e.consume(N),i=2,f):N===91?(e.consume(N),i=5,o="CDATA[",s=0,p):dn(N)?(e.consume(N),i=4,n.interrupt?t:be):r(N)}function f(N){return N===45?(e.consume(N),n.interrupt?t:be):r(N)}function p(N){return N===o.charCodeAt(s++)?(e.consume(N),s===o.length?n.interrupt?t:J:p):r(N)}function g(N){return dn(N)?(e.consume(N),o=String.fromCharCode(N),y):r(N)}function y(N){return N===null||N===47||N===62||Qe(N)?N!==47&&a&&ff.includes(o.toLowerCase())?(i=1,n.interrupt?t(N):J(N)):oE.includes(o.toLowerCase())?(i=6,N===47?(e.consume(N),b):n.interrupt?t(N):J(N)):(i=7,n.interrupt&&!n.parser.lazy[n.now().line]?r(N):a?T(N):k(N)):N===45||Gt(N)?(e.consume(N),o+=String.fromCharCode(N),y):r(N)}function b(N){return N===62?(e.consume(N),n.interrupt?t:J):r(N)}function k(N){return Ke(N)?(e.consume(N),k):U(N)}function T(N){return N===47?(e.consume(N),U):N===58||N===95||dn(N)?(e.consume(N),C):Ke(N)?(e.consume(N),T):U(N)}function C(N){return N===45||N===46||N===58||N===95||Gt(N)?(e.consume(N),C):A(N)}function A(N){return N===61?(e.consume(N),H):Ke(N)?(e.consume(N),A):T(N)}function H(N){return N===null||N===60||N===61||N===62||N===96?r(N):N===34||N===39?(e.consume(N),u=N,D):Ke(N)?(e.consume(N),H):(u=null,K(N))}function D(N){return N===null||ce(N)?r(N):N===u?(e.consume(N),z):(e.consume(N),D)}function K(N){return N===null||N===34||N===39||N===60||N===61||N===62||N===96||Qe(N)?A(N):(e.consume(N),K)}function z(N){return N===47||N===62||Ke(N)?T(N):r(N)}function U(N){return N===62?(e.consume(N),Z):r(N)}function Z(N){return Ke(N)?(e.consume(N),Z):N===null||ce(N)?J(N):r(N)}function J(N){return N===45&&i===2?(e.consume(N),ie):N===60&&i===1?(e.consume(N),he):N===62&&i===4?(e.consume(N),Te):N===63&&i===3?(e.consume(N),be):N===93&&i===5?(e.consume(N),ge):ce(N)&&(i===6||i===7)?e.check(IT,Te,se)(N):N===null||ce(N)?se(N):(e.consume(N),J)}function se(N){return e.exit("htmlFlowData"),G(N)}function G(N){return N===null?F(N):ce(N)?e.attempt({tokenize:Q,partial:!0},G,F)(N):(e.enter("htmlFlowData"),J(N))}function Q(N,ut,Ge){return W;function W(q){return N.enter("lineEnding"),N.consume(q),N.exit("lineEnding"),j}function j(q){return n.parser.lazy[n.now().line]?Ge(q):ut(q)}}function ie(N){return N===45?(e.consume(N),be):J(N)}function he(N){return N===47?(e.consume(N),o="",pe):J(N)}function pe(N){return N===62&&ff.includes(o.toLowerCase())?(e.consume(N),Te):dn(N)&&o.length<8?(e.consume(N),o+=String.fromCharCode(N),pe):J(N)}function ge(N){return N===93?(e.consume(N),be):J(N)}function be(N){return N===62?(e.consume(N),Te):N===45&&i===2?(e.consume(N),be):J(N)}function Te(N){return N===null||ce(N)?(e.exit("htmlFlowData"),F(N)):(e.consume(N),Te)}function F(N){return e.exit("htmlFlow"),t(N)}}function PT(e,t,r){return n;function n(i){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(i),e.exit("lineEndingBlank"),e.attempt(Dr,t,r)}}m();var hf={name:"htmlText",tokenize:FT};function FT(e,t,r){let n=this,i,a,o,s;return u;function u(F){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(F),l}function l(F){return F===33?(e.consume(F),c):F===47?(e.consume(F),K):F===63?(e.consume(F),H):dn(F)?(e.consume(F),Z):r(F)}function c(F){return F===45?(e.consume(F),d):F===91?(e.consume(F),a="CDATA[",o=0,b):dn(F)?(e.consume(F),A):r(F)}function d(F){return F===45?(e.consume(F),f):r(F)}function f(F){return F===null||F===62?r(F):F===45?(e.consume(F),p):g(F)}function p(F){return F===null||F===62?r(F):g(F)}function g(F){return F===null?r(F):F===45?(e.consume(F),y):ce(F)?(s=g,ge(F)):(e.consume(F),g)}function y(F){return F===45?(e.consume(F),Te):g(F)}function b(F){return F===a.charCodeAt(o++)?(e.consume(F),o===a.length?k:b):r(F)}function k(F){return F===null?r(F):F===93?(e.consume(F),T):ce(F)?(s=k,ge(F)):(e.consume(F),k)}function T(F){return F===93?(e.consume(F),C):k(F)}function C(F){return F===62?Te(F):F===93?(e.consume(F),C):k(F)}function A(F){return F===null||F===62?Te(F):ce(F)?(s=A,ge(F)):(e.consume(F),A)}function H(F){return F===null?r(F):F===63?(e.consume(F),D):ce(F)?(s=H,ge(F)):(e.consume(F),H)}function D(F){return F===62?Te(F):H(F)}function K(F){return dn(F)?(e.consume(F),z):r(F)}function z(F){return F===45||Gt(F)?(e.consume(F),z):U(F)}function U(F){return ce(F)?(s=U,ge(F)):Ke(F)?(e.consume(F),U):Te(F)}function Z(F){return F===45||Gt(F)?(e.consume(F),Z):F===47||F===62||Qe(F)?J(F):r(F)}function J(F){return F===47?(e.consume(F),Te):F===58||F===95||dn(F)?(e.consume(F),se):ce(F)?(s=J,ge(F)):Ke(F)?(e.consume(F),J):Te(F)}function se(F){return F===45||F===46||F===58||F===95||Gt(F)?(e.consume(F),se):G(F)}function G(F){return F===61?(e.consume(F),Q):ce(F)?(s=G,ge(F)):Ke(F)?(e.consume(F),G):J(F)}function Q(F){return F===null||F===60||F===61||F===62||F===96?r(F):F===34||F===39?(e.consume(F),i=F,ie):ce(F)?(s=Q,ge(F)):Ke(F)?(e.consume(F),Q):(e.consume(F),i=void 0,pe)}function ie(F){return F===i?(e.consume(F),he):F===null?r(F):ce(F)?(s=ie,ge(F)):(e.consume(F),ie)}function he(F){return F===62||F===47||Qe(F)?J(F):r(F)}function pe(F){return F===null||F===34||F===39||F===60||F===61||F===96?r(F):F===62||Qe(F)?J(F):(e.consume(F),pe)}function ge(F){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(F),e.exit("lineEnding"),Se(e,be,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function be(F){return e.enter("htmlTextData"),s(F)}function Te(F){return F===62?(e.consume(F),e.exit("htmlTextData"),e.exit("htmlText"),t):r(F)}}m();var Gr={name:"labelEnd",tokenize:KT,resolveTo:BT,resolveAll:HT},NT={tokenize:$T},OT={tokenize:UT},RT={tokenize:VT};function HT(e){let t=-1,r;for(;++t-1&&(o[0]=o[0].slice(n)),a>0&&o.push(e[i].slice(0,a))),o}function o1(e,t){let r=-1,n=[],i;for(;++rArray.isArray(o.value)?o.value.join(" "):o.value.toString()).join(" ");n+=" "+i+" "+a}return n.toLocaleLowerCase()}function QC(e,t,r){var n,i,a;if(e.plugins.enabledPlugins.has("dataview")&&((a=(i=(n=e.plugins)==null?void 0:n.plugins)==null?void 0:i.dataview)==null?void 0:a.api))return e.plugins.plugins.dataview.api.page(t.path,r.path)}function Jb(e,t){if(!e)return null;if(e[t])return e[t];let r=t.split("."),n=e;for(let i of r)if(typeof n=="object"&&i in n)n=n[i];else{n=null;break}return n}function Md(e,t){let r=e.getSetting("metadata-keys");if(!r.length)return{};if(!t)return{};let n=e.app.metadataCache.getFileCache(t),i=QC(e.app,t,e.file);if(!n&&!i)return{};let a={},o={},s={},u=[],l=!1;return r.forEach(c=>{var p;if(s[c.metadataKey])return;if(s[c.metadataKey]=!0,c.metadataKey==="tags"){let g=(n==null?void 0:n.tags)||[];if(Array.isArray((p=n==null?void 0:n.frontmatter)==null?void 0:p.tags)&&(g=[].concat(g,n.frontmatter.tags.map(y=>({tag:`#${y}`})))),(g==null?void 0:g.length)===0)return;u.push(c.metadataKey),a.tags={...c,value:g.map(y=>y.tag).filter(y=>o[y]?!1:(o[y]=!0,!0))},l=!0;return}let d=Jb(n==null?void 0:n.frontmatter,c.metadataKey),f=Jb(i,c.metadataKey);if(d)u.push(c.metadataKey),a[c.metadataKey]={...c,value:d},l=!0;else if(f){let g=i[c.metadataKey],y=g.values||g.val||g;if(y===g&&typeof y=="object")y={...g};else if(!Array.isArray(y)&&typeof y!="string"&&typeof y!="number")return;u.push(c.metadataKey),a[c.metadataKey]={...c,value:y},l=!0}}),{fileMetadata:l?a:void 0,fileMetadataOrder:u}}function Gb(e,t){return!e&&t?!0:!["metadata-keys","date-trigger","time-trigger","link-date-to-daily-note","date-format","time-format","hide-date-in-title","hide-tags-in-title","hide-card-count","tag-colors","date-colors"].every(n=>e[n]===t[n])}m();function Qb({onNewLane:e,closeLaneForm:t}){let{boardModifiers:r,stateManager:n}=P.useContext(We),[i,a]=P.useState(!1),[o,s]=P.useState(""),u=P.useRef(),l=Fi(()=>{t()},{ignoreClass:B("ignore-click-outside")});P.useLayoutEffect(()=>{var d;(d=u.current)==null||d.focus()},[]);let c=()=>{r.addLane({...kr,id:Ae(),children:[],data:{...jr(o),shouldMarkItemsComplete:i}}),s(""),a(!1),e()};return h("div",{ref:l,className:B("lane-form-wrapper")},h("div",{className:B("lane-input-wrapper")},h(xr,{ref:u,className:B("lane-input"),onChange:d=>s(d.target.value),onEnter:d=>{Xn(d,n)||(d.preventDefault(),c())},onSubmit:()=>{c()},onEscape:t,value:o})),h("div",{className:B("checkbox-wrapper")},h("div",{className:B("checkbox-label")},L("Mark cards in this list as complete")),h("div",{onClick:()=>a(!i),className:`checkbox-container ${i?"is-enabled":""}`})),h("div",{className:B("lane-input-actions")},h("button",{className:B("lane-action-add"),onClick:c},L("Add list")),h("button",{className:B("lane-action-cancel"),onClick:t},L("Cancel"))))}var XC=[Je.Item,Je.Lane],ZC=[Je.Lane],ew=({view:e,stateManager:t})=>{let r=t.useState(),n=Kb(),i=P.useRef(null),a=P.useRef(null),[o,s]=P.useState(""),[u,l]=P.useState(!1),[c,d]=P.useState(""),[f,p]=P.useState((r==null?void 0:r.children.length)===0),g=t.file.path,y=t.useSetting("max-archive-size"),b=t.useSetting("date-colors"),x=t.useSetting("tag-colors"),T=P.useCallback(()=>{(r==null?void 0:r.children.length)>0&&p(!1)},[r==null?void 0:r.children.length]);P.useEffect(()=>{(r==null?void 0:r.children.length)===0&&!t.hasError()&&p(!0)},[r==null?void 0:r.children.length,t]);let C=P.useCallback(()=>{var U;(U=i.current)==null||U.win.setTimeout(()=>{var J;let Z=(J=i.current)==null?void 0:J.getElementsByClassName(B("board"));(Z==null?void 0:Z.length)&&As([Z[0].scrollWidth,0],{elementToScroll:Z[0],speed:300,minDuration:150,easing:se=>se===1?1:1-Math.pow(2,-10*se)})})},[]);P.useEffect(()=>{let U=J=>{J==="editor:open-search"&&l(se=>!se)},Z=()=>{p(!0)};return e.emitter.on("hotkey",U),e.emitter.on("showLaneForm",Z),()=>{e.emitter.off("hotkey",U),e.emitter.off("showLaneForm",Z)}},[e]),P.useEffect(()=>{var U;u&&((U=a.current)==null||U.focus())},[u]),P.useEffect(()=>{let U=e.getWindow(),Z=o.trim(),J;return Z?J=U.setTimeout(()=>{d(Z)},250):d(""),()=>{U.clearTimeout(J)}},[o,e]),P.useEffect(()=>{y===void 0||y===-1||typeof y=="number"&&(r==null?void 0:r.data.archive.length)>y&&t.setState(U=>(0,Xb.default)(U,{data:{archive:{$set:U.data.archive.slice(y*-1)}}}))},[r==null?void 0:r.data.archive.length,y]);let A=P.useMemo(()=>$s(t),[t]),H=P.useCallback(U=>{let Z=U.target;Z.tagName==="A"&&Z.hasClass("internal-link")&&e.app.workspace.trigger("hover-link",{event:U,source:gn,hoverParent:e,targetEl:Z,linktext:Z.getAttr("href"),sourcePath:e.file.path})},[e]),D=P.useCallback(async U=>{if(U.type==="auxclick"||U.button===2)return;let Z=U.target,J=Z.tagName==="A"?Z:Z.closest("a");if(!!J){if(J.hasClass("file-link")){U.preventDefault();let se=J.getAttribute("href"),G=zr(se),Q=typeof se=="string"&&e.app.metadataCache.getFirstLinkpathDest(G.root,e.file.path);if(!Q)return;t.app.openWithDefaultApp(Q.path);return}if(J.hasClass("internal-link")){U.preventDefault();let se=J.getAttr("href"),G=U.button===1||U.ctrlKey||U.metaKey;if(J.hasClass("is-unresolved")&&(0,Vs.appHasDailyNotesPluginLoaded)()){let ie=t.getSetting("date-format"),he=(0,Zb.moment)(se,ie,!0);if(he.isValid()){try{let pe=await(0,Vs.createDailyNote)(he);await(G?app.workspace.getLeaf(!0):app.workspace.getLeaf(!1)).openFile(pe,{active:!0})}catch(pe){console.error(pe),t.setError(pe)}return}}t.app.workspace.openLinkText(se,g,G);return}if(J.hasClass("tag")){U.preventDefault(),t.app.internalPlugins.getPluginById("global-search").instance.openGlobalSearch(`tag:${J.getAttr("href")}`);return}J.hasClass("external-link")&&(U.preventDefault(),window.open(J.getAttr("href"),"_blank"))}},[t,g]),K=P.useMemo(()=>({view:e,stateManager:t,boardModifiers:A,filePath:g,getTagColor:bo(t),getDateColor:wo(t)}),[e,t,A,g,b,x]),z=uv(t);return r==null?h("div",{className:B("loading")},h("div",{className:"sk-pulse"})):r.data.errors.length>0?h("div",null,h("div",null,"Error:"),r.data.errors.map((U,Z)=>h("div",{key:Z},h("div",null,U.description),h("pre",null,U.stack)))):h(Us,{id:e.id},h(We.Provider,{value:K},h(go.Provider,{value:c?c.toLocaleLowerCase():null},h("div",{ref:i,className:et([$l,{"something-is-dragging":n}]),onMouseOver:H,onPointerDown:D,onClick:D,onAuxClick:D,...z},(f||r.children.length===0)&&h(Qb,{onNewLane:C,closeLaneForm:T}),u&&h("div",{className:B("search-wrapper")},h("input",{ref:a,value:o,onChange:U=>{s(U.target.value)},onKeyDown:U=>{U.key==="Escape"&&(s(""),d(""),U.target.blur(),l(!1))},type:"text",className:B("filter-input"),placeholder:L("Search...")}),h("a",{className:`${B("search-cancel-button")} clickable-icon`,onClick:()=>{s(""),d(""),l(!1)},"aria-label":L("Cancel")},h(_t,{name:"lucide-x"}))),h(Fs,{id:e.id,className:et([B("board"),B("horizontal"),{"is-adding-lane":f}]),triggerTypes:XC},h("div",null,h(Li,{axis:"horizontal"},h(Hb,{lanes:r.children}),h(Pi,{className:B("lane-placeholder"),accepts:ZC,index:r.children.length}))))))))};m();var Mw=me(Et()),Be=me(require("obsidian"));m();var nw=me(tw()),zs=me(Et()),_r=me(require("obsidian"));var js="@",qs="@@";function eD(e){let t=[];return _r.Vault.recurseChildren(e.vault.getRoot(),r=>{r instanceof _r.TFolder&&t.push({value:r.path,label:r.path,selected:!1,disabled:!1})}),t}function tD(e,t){let r=[],n=t?e.vault.getAbstractFileByPath(t):null;return(!n||!(n instanceof _r.TFolder))&&(n=e.vault.getRoot()),_r.Vault.recurseChildren(n,i=>{i instanceof _r.TFile&&r.push({value:i.path,label:i.basename,selected:!1,disabled:!1})}),r}function rw(e){let{templateFolder:t,templatesEnabled:r,templaterPlugin:n}=Vl(e),i=tD(e,t),a=eD(e),o="";return!r&&!n&&(o=L("Note: No template plugins are currently enabled.")),{templateFiles:i,vaultFolders:a,templateWarning:o}}function Ad({choices:e,key:t,warningText:r,local:n,placeHolderStr:i,manager:a}){return o=>{o.controlEl.createEl("select",{},s=>{s.win.setTimeout(()=>{let u=e,[l,c]=a.getSetting(t,n);if(c){let p=e.findIndex(y=>y.value===c),g=e[p];u=(0,zs.default)(u,{$splice:[[p,1]],$unshift:[(0,zs.default)(g,{placeholder:{$set:!0},value:{$set:""},label:{$apply:y=>`${y} (${L("default")})`}})]})}else u=(0,zs.default)(u,{$unshift:[{placeholder:!0,value:"",label:i,selected:!1,disabled:!1}]});let d=new nw.default(s,{placeholder:!0,position:"bottom",searchPlaceholderValue:L("Search..."),searchEnabled:u.length>10,choices:u}).setChoiceByValue("");l&&typeof l=="string"&&d.setChoiceByValue(l);let f=p=>{let g=p.detail.value;g?a.applySettingsUpdate({[t]:{$set:g}}):a.applySettingsUpdate({$unset:[t]})};s.addEventListener("change",f),a.cleanupFns.push(()=>{d.destroy(),s.removeEventListener("change",f)})}),r&&o.descEl.createDiv({},u=>{u.createEl("strong",{text:r})})})}}m();var qr=me(Et());function iw({isStatic:e,itemIndex:t,item:r,toggleShouldHideLabel:n,toggleContainsMarkdown:i,deleteKey:a,updateKey:o,updateLabel:s}){let u=P.useRef(null),l=P.useRef(null),c=P.useRef(null);Mi(l,c);let d=h("div",{className:B("setting-controls-wrapper")},h("div",{className:B("setting-input-wrapper")},h("div",null,h("div",{className:B("setting-item-label")},L("Metadata key")),h("input",{type:"text",value:r.data.metadataKey,onChange:f=>o(f.target.value)})),h("div",null,h("div",{className:B("setting-item-label")},L("Display label")),h("input",{type:"text",value:r.data.label,onChange:f=>s(f.target.value)}))),h("div",{className:B("setting-toggle-wrapper")},h("div",null,h("div",{className:`checkbox-container ${r.data.shouldHideLabel?"is-enabled":""}`,onClick:n,"aria-label":L("Hide label")}),h("div",{className:B("setting-item-label")},L("Hide label"))),h("div",null,h("div",{className:`checkbox-container ${r.data.containsMarkdown?"is-enabled":""}`,onClick:i,"aria-label":L("Field contains markdown")}),h("div",{className:B("setting-item-label")},L("Field contains markdown")))));return h("div",{ref:l,className:B("setting-item-wrapper")},h("div",{ref:u,className:B("setting-item")},e?d:h(gr,{elementRef:u,measureRef:l,id:r.id,index:t,data:r},d),h("div",{className:B("setting-button-wrapper")},h("div",{className:"clickable-icon",onClick:a,"aria-label":L("Delete")},h(_t,{name:"lucide-trash-2"})),h("div",{className:"mobile-option-setting-drag-icon clickable-icon","aria-label":L("Drag to rearrange"),ref:c},h(_t,{name:"lucide-grip-horizontal"})))))}function nD({onChange:e,inputValue:t,keys:r,setKeys:n}){let i=a=>{e(a),n(a)};return{updateKey:a=>o=>{i((0,qr.default)(r,{[a]:{data:{metadataKey:{$set:o}}}}))},updateLabel:a=>o=>{i((0,qr.default)(r,{[a]:{data:{label:{$set:o}}}}))},toggleShouldHideLabel:a=>()=>{i((0,qr.default)(r,{[a]:{data:{$toggle:["shouldHideLabel"]}}}))},toggleContainsMarkdown:a=>()=>{i((0,qr.default)(r,{[a]:{data:{$toggle:["containsMarkdown"]}}}))},deleteKey:a=>()=>{i((0,qr.default)(r,{$splice:[[a,1]]}))},newKey:()=>{i((0,qr.default)(r,{$push:[{...ms,id:Ae(),data:{metadataKey:t,label:"",shouldHideLabel:!1,containsMarkdown:!1}}]}))},moveKey:(a,o)=>{let s=a.getPath(),u=o.getPath(),l=s[s.length-1],c=u[u.length-1];if(l===c)return;let d=r.slice(),[f]=d.splice(l,1);d.splice(c,0,f),i(d)}}}var rD=[Je.MetadataSetting];function iD({keys:e,portalContainer:t}){return P.createPortal(h(Ks,null,(r,n)=>{let a=r.getPath()[0],o=e[a];return h("div",{className:B("drag-container"),style:n},h(iw,{item:o,itemIndex:a,updateKey:ci,updateLabel:ci,toggleShouldHideLabel:ci,toggleContainsMarkdown:ci,deleteKey:ci,isStatic:!0}))}),t)}function aD({scrollEl:e}){let t=P.useContext(xt);return P.useEffect(()=>{let r=0,n=()=>{e.win.clearTimeout(r),r=e.win.setTimeout(()=>{t.hitboxEntities.forEach(i=>{i.recalcInitial()})},100)};return e.addEventListener("scroll",n,{passive:!0,capture:!1}),()=>{e.removeEventListener("scroll",n)}},[e,t]),null}function oD(e){let[t,r]=P.useState(e.dataKeys),[n,i]=P.useState(""),{getShouldIMEBlockAction:a,...o}=yo(),s=Ze(e.scrollEl),{updateKey:u,updateLabel:l,toggleShouldHideLabel:c,toggleContainsMarkdown:d,deleteKey:f,newKey:p,moveKey:g}=nD({onChange:e.onChange,inputValue:n,keys:t,setKeys:r,win:s});return h(S,null,h(Bs,{win:s,onDrop:g},h(aD,{scrollEl:e.scrollEl}),h(Us,null,h(Li,{axis:"vertical"},t.map((y,b)=>h(iw,{key:y.id,item:y,itemIndex:b,updateKey:u(b),updateLabel:l(b),toggleShouldHideLabel:c(b),toggleContainsMarkdown:d(b),deleteKey:f(b)})),h(Pi,{accepts:rD,index:t.length}))),h(iD,{keys:t,portalContainer:e.portalContainer})),h("div",{className:B("setting-key-input-wrapper")},h("input",{placeholder:L("Metadata key"),type:"text",value:n,onChange:y=>i(y.target.value),onKeyDown:y=>{if(!a()){if(y.key==="Enter"){p(),i("");let b=y.target;b.win.setTimeout(()=>{b.scrollIntoView()});return}y.key==="Escape"&&(i(""),y.target.blur())}},...o}),h("button",{onClick:y=>{p(),i("");let b=y.target;b.win.setTimeout(()=>{b.scrollIntoView()})}},L("Add key"))))}function aw(e,t,r,n){P.render(h(oD,{dataKeys:r,scrollEl:t,onChange:n,portalContainer:ur(e)}),e)}function ow(e){P.unmountComponentAtNode(e)}m();m();var sD={grad:.9,turn:360,rad:360/(2*Math.PI)},er=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},Ct=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},vn=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},sw=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},lw=function(e){return{r:vn(e.r,0,255),g:vn(e.g,0,255),b:vn(e.b,0,255),a:vn(e.a)}},Ld=function(e){return{r:Ct(e.r),g:Ct(e.g),b:Ct(e.b),a:Ct(e.a,3)}},lD=/^#([0-9a-f]{3,8})$/i,Ys=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},cw=function(e){var t=e.r,r=e.g,n=e.b,i=e.a,a=Math.max(t,r,n),o=a-Math.min(t,r,n),s=o?a===t?(r-n)/o:a===r?2+(n-t)/o:4+(t-r)/o:0;return{h:60*(s<0?s+6:s),s:a?o/a*100:0,v:a/255*100,a:i}},uw=function(e){var t=e.h,r=e.s,n=e.v,i=e.a;t=t/360*6,r/=100,n/=100;var a=Math.floor(t),o=n*(1-r),s=n*(1-(t-a)*r),u=n*(1-(1-t+a)*r),l=a%6;return{r:255*[n,s,o,o,u,n][l],g:255*[u,n,n,s,o,o][l],b:255*[o,o,u,n,n,s][l],a:i}},dw=function(e){return{h:sw(e.h),s:vn(e.s,0,100),l:vn(e.l,0,100),a:vn(e.a)}},fw=function(e){return{h:Ct(e.h),s:Ct(e.s),l:Ct(e.l),a:Ct(e.a,3)}},pw=function(e){return uw((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},Ba=function(e){return{h:(t=cw(e)).h,s:(i=(200-(r=t.s))*(n=t.v)/100)>0&&i<200?r*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:t.a};var t,r,n,i},cD=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,uD=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,dD=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,fD=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,hw={string:[[function(e){var t=lD.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?Ct(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?Ct(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=dD.exec(e)||fD.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:lw({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=cD.exec(e)||uD.exec(e);if(!t)return null;var r,n,i=dw({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(sD[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return pw(i)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,i=e.a,a=i===void 0?1:i;return er(t)&&er(r)&&er(n)?lw({r:Number(t),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,i=e.a,a=i===void 0?1:i;if(!er(t)||!er(r)||!er(n))return null;var o=dw({h:Number(t),s:Number(r),l:Number(n),a:Number(a)});return pw(o)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,i=e.a,a=i===void 0?1:i;if(!er(t)||!er(r)||!er(n))return null;var o=function(s){return{h:sw(s.h),s:vn(s.s,0,100),v:vn(s.v,0,100),a:vn(s.a)}}({h:Number(t),s:Number(r),v:Number(n),a:Number(a)});return uw(o)},"hsv"]]},mw=function(e,t){for(var r=0;r=.5},e.prototype.toHex=function(){return t=Ld(this.rgba),r=t.r,n=t.g,i=t.b,o=(a=t.a)<1?Ys(Ct(255*a)):"","#"+Ys(r)+Ys(n)+Ys(i)+o;var t,r,n,i,a,o},e.prototype.toRgb=function(){return Ld(this.rgba)},e.prototype.toRgbString=function(){return t=Ld(this.rgba),r=t.r,n=t.g,i=t.b,(a=t.a)<1?"rgba("+r+", "+n+", "+i+", "+a+")":"rgb("+r+", "+n+", "+i+")";var t,r,n,i,a},e.prototype.toHsl=function(){return fw(Ba(this.rgba))},e.prototype.toHslString=function(){return t=fw(Ba(this.rgba)),r=t.h,n=t.s,i=t.l,(a=t.a)<1?"hsla("+r+", "+n+"%, "+i+"%, "+a+")":"hsl("+r+", "+n+"%, "+i+"%)";var t,r,n,i,a},e.prototype.toHsv=function(){return t=cw(this.rgba),{h:Ct(t.h),s:Ct(t.s),v:Ct(t.v),a:Ct(t.a,3)};var t},e.prototype.invert=function(){return In({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),In(Pd(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),In(Pd(this.rgba,-t))},e.prototype.grayscale=function(){return In(Pd(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),In(gw(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),In(gw(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?In({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):Ct(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=Ba(this.rgba);return typeof t=="number"?In({h:t,s:r.s,l:r.l,a:r.a}):Ct(r.h)},e.prototype.isEqual=function(t){return this.toHex()===In(t).toHex()},e}(),In=function(e){return e instanceof vw?e:new vw(e)};var Qs=me(Et());m();function Js(){return(Js=Object.assign||function(e){for(var t=1;t=0||(i[r]=e[r]);return i}function Nd(e){var t=Xt(e),r=Xt(function(n){t.current&&t.current(n)});return t.current=e,r.current}var Ni=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e0:b.buttons>0)&&i.current?a(bw(i.current,b,s.current)):y(!1)},g=function(){return y(!1)};function y(b){var x=u.current,T=Od(i.current),C=b?T.addEventListener:T.removeEventListener;C(x?"touchmove":"mousemove",p),C(x?"touchend":"mouseup",g)}return[function(b){var x=b.nativeEvent,T=i.current;if(T&&(ww(x),!function(A,H){return H&&!Ka(A)}(x,u.current)&&T)){if(Ka(x)){u.current=!0;var C=x.changedTouches||[];C.length&&(s.current=C[0].identifier)}T.focus(),a(bw(T,x,s.current)),y(!0)}},function(b){var x=b.which||b.keyCode;x<37||x>40||(b.preventDefault(),o({left:x===39?.05:x===37?-.05:0,top:x===40?.05:x===38?-.05:0}))},y]},[o,a]),c=l[0],d=l[1],f=l[2];return Sn(function(){return f},[f]),at.createElement("div",Js({},n,{onTouchStart:c,onMouseDown:c,className:"react-colorful__interactive",ref:i,onKeyDown:d,tabIndex:0,role:"slider"}))}),Gs=function(e){return e.filter(Boolean).join(" ")},Hd=function(e){var t=e.color,r=e.left,n=e.top,i=n===void 0?.5:n,a=Gs(["react-colorful__pointer",e.className]);return at.createElement("div",{className:a,style:{top:100*i+"%",left:100*r+"%"}},at.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},Yt=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r},d$={grad:.9,turn:360,rad:360/(2*Math.PI)};var Ew=function(e){var t=e.s,r=e.v,n=e.a,i=(200-t)*r/100;return{h:Yt(e.h),s:Yt(i>0&&i<200?t*r/100/(i<=100?i:200-i)*100:0),l:Yt(i/2),a:Yt(n,2)}},Bd=function(e){var t=Ew(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},Kd=function(e){var t=Ew(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},hD=function(e){var t=e.h,r=e.s,n=e.v,i=e.a;t=t/360*6,r/=100,n/=100;var a=Math.floor(t),o=n*(1-r),s=n*(1-(t-a)*r),u=n*(1-(1-t+a)*r),l=a%6;return{r:Yt(255*[n,s,o,o,u,n][l]),g:Yt(255*[u,n,n,s,o,o][l]),b:Yt(255*[o,o,u,n,n,s][l]),a:Yt(i,2)}};var mD=function(e){var t=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?gD({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):{h:0,s:0,v:0,a:1}};var gD=function(e){var t=e.r,r=e.g,n=e.b,i=e.a,a=Math.max(t,r,n),o=a-Math.min(t,r,n),s=o?a===t?(r-n)/o:a===r?2+(n-t)/o:4+(t-r)/o:0;return{h:Yt(60*(s<0?s+6:s)),s:Yt(a?o/a*100:0),v:Yt(a/255*100),a:i}};var vD=at.memo(function(e){var t=e.hue,r=e.onChange,n=Gs(["react-colorful__hue",e.className]);return at.createElement("div",{className:n},at.createElement(Rd,{onMove:function(i){r({h:360*i.left})},onKey:function(i){r({h:Ni(t+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":Yt(t),"aria-valuemax":"360","aria-valuemin":"0"},at.createElement(Hd,{className:"react-colorful__hue-pointer",left:t/360,color:Bd({h:t,s:100,v:100,a:1})})))}),yD=at.memo(function(e){var t=e.hsva,r=e.onChange,n={backgroundColor:Bd({h:t.h,s:100,v:100,a:1})};return at.createElement("div",{className:"react-colorful__saturation",style:n},at.createElement(Rd,{onMove:function(i){r({s:100*i.left,v:100-100*i.top})},onKey:function(i){r({s:Ni(t.s+100*i.left,0,100),v:Ni(t.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Yt(t.s)+"%, Brightness "+Yt(t.v)+"%"},at.createElement(Hd,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:Bd(t)})))}),bD=function(e,t){if(e===t)return!0;for(var r in e)if(e[r]!==t[r])return!1;return!0},wD=function(e,t){return e.replace(/\s/g,"")===t.replace(/\s/g,"")};function ED(e,t,r){var n=Nd(r),i=sr(function(){return e.toHsva(t)}),a=i[0],o=i[1],s=Xt({color:t,hsva:a});Sn(function(){if(!e.equal(t,s.current.color)){var l=e.toHsva(t);s.current={hsva:l,color:t},o(l)}},[t,e]),Sn(function(){var l;bD(a,s.current.hsva)||e.equal(l=e.fromHsva(a),s.current.color)||(s.current={hsva:a,color:l},n(l))},[a,e,n]);var u=cr(function(l){o(function(c){return Object.assign({},c,l)})},[]);return[a,u]}var kD,xD=typeof window!="undefined"?Lr:Sn,SD=function(){return kD||(typeof __webpack_nonce__!="undefined"?__webpack_nonce__:void 0)};var kw=new Map,_D=function(e){xD(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!kw.has(t)){var r=t.createElement("style");r.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,kw.set(t,r);var n=SD();n&&r.setAttribute("nonce",n),t.head.appendChild(r)}},[])};var CD=function(e){var t=e.className,r=e.hsva,n=e.onChange,i={backgroundImage:"linear-gradient(90deg, "+Kd(Object.assign({},r,{a:0}))+", "+Kd(Object.assign({},r,{a:1}))+")"},a=Gs(["react-colorful__alpha",t]),o=Yt(100*r.a);return at.createElement("div",{className:a},at.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),at.createElement(Rd,{onMove:function(s){n({a:s.left})},onKey:function(s){n({a:Ni(r.a+s.left)})},"aria-label":"Alpha","aria-valuetext":o+"%","aria-valuenow":o,"aria-valuemin":"0","aria-valuemax":"100"},at.createElement(Hd,{className:"react-colorful__alpha-pointer",left:r.a,color:Kd(r)})))},DD=function(e){var t=e.className,r=e.colorModel,n=e.color,i=n===void 0?r.defaultColor:n,a=e.onChange,o=yw(e,["className","colorModel","color","onChange"]),s=Xt(null);_D(s);var u=ED(r,i,a),l=u[0],c=u[1],d=Gs(["react-colorful",t]);return at.createElement("div",Js({},o,{ref:s,className:d}),at.createElement(yD,{hsva:l,onChange:c}),at.createElement(vD,{hue:l.h,onChange:c}),at.createElement(CD,{hsva:l,onChange:c,className:"react-colorful__last-control"}))};var TD={defaultColor:"rgba(0, 0, 0, 1)",toHsva:mD,fromHsva:function(e){var t=hD(e);return"rgba("+t.r+", "+t.g+", "+t.b+", "+t.a+")"},equal:wD},xw=function(e){return at.createElement(DD,Js({},e,{colorModel:TD}))};function Sw(e){let t=In(e);if(!t.isValid())return null;let r=t.toRgb();return{rgba:`rgba(${r.r}, ${r.g}, ${r.b}, ${r.a})`,hexa:t.toHex()}}function $a({color:e,setColor:t,defaultColor:r}){let[n,i]=P.useState(e||r),[a,o]=P.useState(e||r),[s,u]=P.useState(!1),l=P.useCallback(d=>{let f=Sw(d||r);f&&(o(f.hexa),i(f.rgba),t(f.rgba))},[t]);P.useEffect(()=>{if(!e||!r)return;let d=Sw(e||r);d&&(i(d.rgba),o(d.hexa))},[]);let c=Fi(()=>{u(!1)});return h("div",{ref:c,className:B("color-picker-wrapper")},s&&h("div",{className:B("color-picker")},h(xw,{color:n,onChange:l})),h("input",{type:"text",value:a,onChange:d=>l(d.target.value),onFocus:()=>{u(!0)}}))}function MD({tagColorKey:e,deleteKey:t,updateKey:r,defaultColors:n}){return h("div",{className:B("setting-item-wrapper")},h("div",{className:B("setting-item")},h("div",{className:`${B("setting-controls-wrapper")} ${B("tag-color-input")}`},h("div",{className:B("setting-input-wrapper")},h("div",null,h("div",{className:B("setting-item-label")},L("Tag")),h("input",{type:"text",placeholder:"#tag",value:e.tagKey,onChange:i=>{r(i.currentTarget.value,e.color,e.backgroundColor)}})),h("div",null,h("div",{className:B("setting-item-label")},L("Background color")),h($a,{color:e.backgroundColor,setColor:i=>{r(e.tagKey,e.color,i)},defaultColor:n.backgroundColor})),h("div",null,h("div",{className:B("setting-item-label")},L("Text color")),h($a,{color:e.color,setColor:i=>{r(e.tagKey,i,e.backgroundColor)},defaultColor:n.color}))),h("div",{className:B("setting-toggle-wrapper")},h("div",null,h("div",{className:B("item-tags")},h("a",{className:`tag ${B("item-tag")}`},"#tag1"),h("a",{className:`tag ${B("item-tag")}`,style:{"--tag-color":e.color,"--tag-background-color":e.backgroundColor}},e.tagKey||"#tag"),h("a",{className:`tag ${B("item-tag")}`},"#tag2"))))),h("div",{className:B("setting-button-wrapper")},h("div",{className:"clickable-icon",onClick:t,"aria-label":L("Delete")},h(_t,{name:"lucide-trash-2"})))))}function ID({dataKeys:e,onChange:t}){let[r,n]=P.useState(e),i=P.useMemo(()=>{let l=createDiv(B("item-tags")),c=l.createEl("a",B("item-tag"));l.style.position="absolute",l.style.visibility="hidden",activeDocument.body.append(l);let d=activeWindow.getComputedStyle(c),f=d.getPropertyValue("color").trim(),p=d.getPropertyValue("background-color").trim();return l.remove(),{color:f,backgroundColor:p}},[]),a=l=>{t(l),n(l)},o=()=>{a((0,Qs.default)(r,{$push:[{...gs,id:Ae(),data:{tagKey:"",color:"",backgroundColor:""}}]}))},s=l=>{a((0,Qs.default)(r,{$splice:[[l,1]]}))},u=l=>(c,d,f)=>{a((0,Qs.default)(r,{[l]:{data:{tagKey:{$set:c},color:{$set:d},backgroundColor:{$set:f}}}}))};return h("div",{className:B("tag-color-input-wrapper")},h("div",{className:"setting-item-info"},h("div",{className:"setting-item-name"},L("Display tag colors")),h("div",{className:"setting-item-description"},L("Set colors for the tags displayed below the card title."))),r.map((l,c)=>h(MD,{key:l.id,tagColorKey:l.data,deleteKey:()=>s(c),updateKey:u(c),defaultColors:i})),h("button",{className:B("add-tag-color-button"),onClick:()=>{o()}},L("Add tag color")))}function _w(e,t,r){P.render(h(ID,{dataKeys:t,onChange:r,portalContainer:ur(e)}),e)}function Cw(e){P.unmountComponentAtNode(e)}m();var Xs=me(Et());var $d=me(require("obsidian"));function AD({dateColorKey:e,deleteKey:t,updateKey:r,defaultColors:n,getTimeFormat:i,getDateFormat:a}){let o="between";return e.isToday&&(o="today"),e.isBefore&&(o="before"),e.isAfter&&(o="after"),h("div",{className:B("setting-item-wrapper")},h("div",{className:B("setting-item")},h("div",{className:`${B("setting-controls-wrapper")} ${B("tag-color-input")}`},h("div",null,h("div",null,h("div",{className:B("setting-item-label")},L("Date is"))),h("div",{className:B("date-color-config")},h("select",{className:"dropdown",defaultValue:o,onChange:s=>{let u={...e};switch(delete u.isAfter,delete u.isBefore,delete u.isToday,s.target.value){case"today":u.isToday=!0;break;case"before":u.isBefore=!0;break;case"after":u.isAfter=!0;break}r(u)}},h("option",{value:"between"},L("Between now and")),h("option",{value:"today"},L("Today")),h("option",{value:"after"},L("After now")),h("option",{value:"before"},L("Before now"))),!e.isToday&&!e.isAfter&&!e.isBefore&&h(S,null,h("input",{type:"number",value:e.distance,onChange:s=>{r({...e,distance:parseInt(s.target.value)})}}),h("select",{className:"dropdown",defaultValue:e.unit,onChange:s=>{r({...e,unit:s.target.value})}},h("option",{value:"hours"},"Hours"),h("option",{value:"days"},"Days"),h("option",{value:"weeks"},"Weeks"),h("option",{value:"months"},"Months")),h("select",{className:"dropdown",defaultValue:e.direction,onChange:s=>{r({...e,direction:s.target.value})}},h("option",{value:"after"},L("After now")),h("option",{value:"before"},L("Before now"))))),h("div",{className:B("date-color-config")},h("div",null,h("div",{className:B("setting-item-label")},L("Background color")),h($a,{color:e.backgroundColor,setColor:s=>{r({...e,backgroundColor:s})},defaultColor:n.backgroundColor})),h("div",null,h("div",{className:B("setting-item-label")},L("Text color")),h($a,{color:e.color,setColor:s=>{r({...e,color:s})},defaultColor:n.color})))),h("div",null,h("div",{className:B("date-color-wrapper")},h("div",{className:B("item-metadata")},h("span",{style:{"--date-color":e.color,"--date-background-color":e.backgroundColor},className:et([B("item-metadata-date-wrapper"),{"has-background":!!(e==null?void 0:e.backgroundColor)}])},h("span",{className:B("item-metadata-date is-button")},(0,$d.moment)().format(a()))," ",h("span",{className:B("item-metadata-time is-button")},(0,$d.moment)().format(i()))))))),h("div",{className:B("setting-button-wrapper")},h("div",{className:"clickable-icon",onClick:t,"aria-label":L("Delete")},h(_t,{name:"lucide-trash-2"})))))}function LD({dataKeys:e,onChange:t,getTimeFormat:r,getDateFormat:n}){let[i,a]=P.useState(e),o=P.useMemo(()=>{let d=createDiv(B("item-metadata")),f=d.createSpan(B("item-metadata-date"));d.style.position="absolute",d.style.visibility="hidden",activeDocument.body.append(d);let p=activeWindow.getComputedStyle(f),g=p.getPropertyValue("color").trim(),y=p.getPropertyValue("background-color").trim();return d.remove(),{color:g,backgroundColor:y}},[]),s=d=>{t(d),a(d)},u=()=>{s((0,Xs.default)(i,{$push:[{...vs,id:Ae(),data:{isToday:!1,distance:1,unit:"days",direction:"after"}}]}))},l=d=>{s((0,Xs.default)(i,{$splice:[[d,1]]}))},c=d=>f=>{s((0,Xs.default)(i,{[d]:{data:{$set:f}}}))};return h("div",{className:B("date-color-input-wrapper")},h("div",{className:"setting-item-info"},h("div",{className:"setting-item-name"},L("Display date colors")),h("div",{className:"setting-item-description"},L("Set colors for the date displayed below the card based on the rules below"))),i.map((d,f)=>h(AD,{key:d.id,dateColorKey:d.data,deleteKey:()=>l(f),updateKey:c(f),defaultColors:o,getTimeFormat:r,getDateFormat:n})),h("button",{className:B("add-tag-color-button"),onClick:u},L("Add date color")))}function Dw(e,t,r,n,i){P.render(h(LD,{dataKeys:t,onChange:r,portalContainer:ur(e),getDateFormat:n,getTimeFormat:i}),e)}function Tw(e){P.unmountComponentAtNode(e)}var Iw=/^\d+(?:\.\d+)?$/,Aw={[gn]:!0,"date-display-format":!0,"date-format":!0,"date-picker-week-start":!0,"date-time-display-format":!0,"date-trigger":!0,"hide-card-count":!0,"hide-date-display":!0,"hide-date-in-title":!0,"hide-tags-display":!0,"hide-tags-in-title":!0,"lane-width":!0,"link-date-to-daily-note":!0,"max-archive-size":!0,"metadata-keys":!0,"new-card-insertion-method":!0,"new-line-trigger":!0,"new-note-folder":!0,"new-note-template":!0,"prepend-archive-date":!0,"prepend-archive-format":!0,"prepend-archive-separator":!0,"show-checkboxes":!0,"show-relative-date":!0,"time-format":!0,"time-trigger":!0,"show-add-list":!0,"show-archive-all":!0,"show-view-as-markdown":!0,"show-board-settings":!0,"show-search":!0,"tag-colors":!0,"date-colors":!0},Ud=class{constructor(t,r,n){this.cleanupFns=[];this.applyDebounceTimer=0;this.app=t.app,this.plugin=t,this.config=r,this.settings=n}applySettingsUpdate(t){this.win.clearTimeout(this.applyDebounceTimer),this.applyDebounceTimer=this.win.setTimeout(()=>{this.settings=(0,Mw.default)(this.settings,t),this.config.onSettingsChange(this.settings)},200)}getSetting(t,r){return r?[this.settings[t],this.plugin.settings[t]]:[this.settings[t],null]}constructUI(t,r,n){this.win=t.win;let{templateFiles:i,vaultFolders:a,templateWarning:o}=rw(this.app);t.createEl("h3",{text:r}),n?t.createEl("p",{text:L("These settings will take precedence over the default Kanban board settings.")}):t.createEl("p",{text:L("Set the default Kanban board settings. Settings can be overridden on a board-by-board basis.")}),new Be.Setting(t).setName(L("New line trigger")).setDesc(L("Select whether Enter or Shift+Enter creates a new line. The opposite of what you choose will create and complete editing of cards and lists.")).addDropdown(s=>{s.addOption("shift-enter",L("Shift + Enter")),s.addOption("enter",L("Enter"));let[u,l]=this.getSetting("new-line-trigger",n);s.setValue(u||l||"shift-enter"),s.onChange(c=>{this.applySettingsUpdate({"new-line-trigger":{$set:c}})})}),new Be.Setting(t).setName(L("Prepend / append new cards")).setDesc(L("This setting controls whether new cards are added to the beginning or end of the list.")).addDropdown(s=>{s.addOption("prepend",L("Prepend")),s.addOption("prepend-compact",L("Prepend (compact)")),s.addOption("append",L("Append"));let[u,l]=this.getSetting("new-card-insertion-method",n);s.setValue(u||l||"append"),s.onChange(c=>{this.applySettingsUpdate({"new-card-insertion-method":{$set:c}})})}),new Be.Setting(t).setName(L("Note template")).setDesc(L("This template will be used when creating new notes from Kanban cards.")).then(Ad({choices:i,key:"new-note-template",warningText:o,local:n,placeHolderStr:L("No template"),manager:this})),new Be.Setting(t).setName(L("Note folder")).setDesc(L("Notes created from Kanban cards will be placed in this folder. If blank, they will be placed in the default location for this vault.")).then(Ad({choices:a,key:"new-note-folder",local:n,placeHolderStr:L("Default folder"),manager:this})),new Be.Setting(t).setName(L("Hide card counts in list titles")).setDesc(L("When toggled, card counts are hidden from the list title")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-card-count",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-card-count":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-card-count",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-card-count"]})})})}),new Be.Setting(t).setName(L("List width")).setDesc(L("Enter a number to set the list width in pixels.")).addText(s=>{let[u,l]=this.getSetting("lane-width",n);s.inputEl.setAttr("type","number"),s.inputEl.placeholder=`${l||"272"} (default)`,s.inputEl.value=u?u.toString():"",s.onChange(c=>{if(c&&Iw.test(c)){s.inputEl.removeClass("error"),this.applySettingsUpdate({"lane-width":{$set:parseInt(c)}});return}c&&s.inputEl.addClass("error"),this.applySettingsUpdate({$unset:["lane-width"]})})}),new Be.Setting(t).setName(L("Maximum number of archived cards")).setDesc(L("Archived cards can be viewed in markdown mode. This setting will begin removing old cards once the limit is reached. Setting this value to -1 will allow a board's archive to grow infinitely.")).addText(s=>{let[u,l]=this.getSetting("max-archive-size",n);s.inputEl.setAttr("type","number"),s.inputEl.placeholder=`${l||"-1"} (default)`,s.inputEl.value=u?u.toString():"",s.onChange(c=>{if(c&&Iw.test(c)){s.inputEl.removeClass("error"),this.applySettingsUpdate({"max-archive-size":{$set:parseInt(c)}});return}c&&s.inputEl.addClass("error"),this.applySettingsUpdate({$unset:["max-archive-size"]})})}),new Be.Setting(t).setName(L("Display card checkbox")).setDesc(L("When toggled, a checkbox will be displayed with each card")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-checkboxes",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"show-checkboxes":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-checkboxes",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-checkboxes"]})})})}),new Be.Setting(t).setName(L("Hide tags in card titles")).setDesc(L("When toggled, tags will be hidden card titles. This will prevent tags from being included in the title when creating new notes.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-tags-in-title",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-tags-in-title":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-tags-in-title",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-tags-in-title"]})})})}),new Be.Setting(t).setName(L("Hide card display tags")).setDesc(L("When toggled, tags will not be displayed below the card title.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-tags-display",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-tags-display":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-tags-display",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-tags-display"]})})})}),new Be.Setting(t).setName(L("Display tag colors")).setDesc(L("Set colors for the tags displayed below the card title.")).then(s=>{let[u]=this.getSetting("tag-colors",n),l=(u||[]).map(c=>({...gs,id:Ae(),data:c}));_w(s.settingEl,l,c=>this.applySettingsUpdate({"tag-colors":{$set:c.map(d=>d.data)}})),this.cleanupFns.push(()=>{s.settingEl&&Cw(s.settingEl)})}),t.createEl("h4",{text:L("Board Header Buttons")}),new Be.Setting(t).setName(L("Add a list")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-add-list",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-add-list":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-add-list",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-add-list"]})})})}),new Be.Setting(t).setName(L("Archive completed cards")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-archive-all",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-archive-all":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-archive-all",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-archive-all"]})})})}),new Be.Setting(t).setName(L("Open as markdown")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-view-as-markdown",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-view-as-markdown":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-view-as-markdown",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-view-as-markdown"]})})})}),new Be.Setting(t).setName(L("Open board settings")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-board-settings",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-board-settings":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-board-settings",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-board-settings"]})})})}),new Be.Setting(t).setName(L("Search...")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-search",n);c!=null?l.setValue(c):d!=null?l.setValue(d):l.setValue(!0),l.onChange(f=>{this.applySettingsUpdate({"show-search":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-search",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-search"]})})})}),t.createEl("h4",{text:L("Date & Time")}),new Be.Setting(t).setName(L("Date trigger")).setDesc(L("When this is typed, it will trigger the date selector")).addText(s=>{let[u,l]=this.getSetting("date-trigger",n);(u||l)&&s.setValue(u||l),s.setPlaceholder(l||js),s.onChange(c=>{c?this.applySettingsUpdate({"date-trigger":{$set:c}}):this.applySettingsUpdate({$unset:["date-trigger"]})})}),new Be.Setting(t).setName(L("Time trigger")).setDesc(L("When this is typed, it will trigger the time selector")).addText(s=>{let[u,l]=this.getSetting("time-trigger",n);(u||l)&&s.setValue(u||l),s.setPlaceholder(l||qs),s.onChange(c=>{c?this.applySettingsUpdate({"time-trigger":{$set:c}}):this.applySettingsUpdate({$unset:["time-trigger"]})})}),new Be.Setting(t).setName(L("Date format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(f=>{f.appendText(L("This format will be used when saving dates in markdown.")),f.createEl("br"),f.appendText(L("For more syntax, refer to")+" "),f.createEl("a",{text:L("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},p=>{p.setAttr("target","_blank")}),f.createEl("br"),f.appendText(L("Your current syntax looks like this")+": "),u.setSampleEl(f.createEl("b",{cls:"u-pop"})),f.createEl("br")}));let[l,c]=this.getSetting("date-format",n),d=Nr(this.app);u.setPlaceholder(d),u.setDefaultFormat(d),(l||c)&&u.setValue(l||c),u.onChange(f=>{f?this.applySettingsUpdate({"date-format":{$set:f}}):this.applySettingsUpdate({$unset:["date-format"]})})})}),new Be.Setting(t).setName(L("Time format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(f=>{f.appendText(L("For more syntax, refer to")+" "),f.createEl("a",{text:L("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},p=>{p.setAttr("target","_blank")}),f.createEl("br"),f.appendText(L("Your current syntax looks like this")+": "),u.setSampleEl(f.createEl("b",{cls:"u-pop"})),f.createEl("br")}));let[l,c]=this.getSetting("time-format",n),d=ui(this.app);u.setPlaceholder(d),u.setDefaultFormat(d),(l||c)&&u.setValue(l||c),u.onChange(f=>{f?this.applySettingsUpdate({"time-format":{$set:f}}):this.applySettingsUpdate({$unset:["time-format"]})})})}),new Be.Setting(t).setName(L("Date display format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(f=>{f.appendText(L("This format will be used when displaying dates in Kanban cards.")),f.createEl("br"),f.appendText(L("For more syntax, refer to")+" "),f.createEl("a",{text:L("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},p=>{p.setAttr("target","_blank")}),f.createEl("br"),f.appendText(L("Your current syntax looks like this")+": "),u.setSampleEl(f.createEl("b",{cls:"u-pop"})),f.createEl("br")}));let[l,c]=this.getSetting("date-display-format",n),d=Nr(this.app);u.setPlaceholder(d),u.setDefaultFormat(d),(l||c)&&u.setValue(l||c),u.onChange(f=>{f?this.applySettingsUpdate({"date-display-format":{$set:f}}):this.applySettingsUpdate({$unset:["date-display-format"]})})})}),new Be.Setting(t).setName(L("Show relative date")).setDesc(L("When toggled, cards will display the distance between today and the card's date. eg. 'In 3 days', 'A month ago'")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("show-relative-date",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"show-relative-date":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("show-relative-date",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["show-relative-date"]})})})}),new Be.Setting(t).setName(L("Hide card display dates")).setDesc(L("When toggled, formatted dates will not be displayed on the card. Relative dates will still be displayed if they are enabled.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-date-display",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-date-display":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-date-display",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-date-display"]})})})}),new Be.Setting(t).setName(L("Hide dates in card titles")).setDesc(L("When toggled, dates will be hidden card titles. This will prevent dates from being included in the title when creating new notes.")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("hide-date-in-title",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"hide-date-in-title":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("hide-date-in-title",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["hide-date-in-title"]})})})}),new Be.Setting(t).setName(L("Display date colors")).setDesc(L("Set colors for the date displayed below the card based on the rules below")).then(s=>{let[u]=this.getSetting("date-colors",n),l=(u||[]).map(c=>({...vs,id:Ae(),data:c}));Dw(s.settingEl,l,c=>this.applySettingsUpdate({"date-colors":{$set:c.map(d=>d.data)}}),()=>{let[c,d]=this.getSetting("date-display-format",n),f=Nr(this.app);return c||d||f},()=>{let[c,d]=this.getSetting("time-format",n),f=ui(this.app);return c||d||f}),this.cleanupFns.push(()=>{s.settingEl&&Tw(s.settingEl)})}),new Be.Setting(t).setName(L("Link dates to daily notes")).setDesc(L("When toggled, dates will link to daily notes. Eg. [[2021-04-26]]")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("link-date-to-daily-note",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"link-date-to-daily-note":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("link-date-to-daily-note",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["link-date-to-daily-note"]})})})}),new Be.Setting(t).setName(L("Add date and time to archived cards")).setDesc(L("When toggled, the current date and time will be added to the beginning of a card when it is archived. Eg. - [ ] 2021-05-14 10:00am My card title")).then(s=>{let u;s.addToggle(l=>{u=l;let[c,d]=this.getSetting("prepend-archive-date",n);c!==void 0?l.setValue(c):d!==void 0&&l.setValue(d),l.onChange(f=>{this.applySettingsUpdate({"prepend-archive-date":{$set:f}})})}).addExtraButton(l=>{l.setIcon("lucide-rotate-ccw").setTooltip(L("Reset to default")).onClick(()=>{let[,c]=this.getSetting("prepend-archive-date",n);u.setValue(!!c),this.applySettingsUpdate({$unset:["prepend-archive-date"]})})})}),new Be.Setting(t).setName(L("Archive date/time separator")).setDesc(L("This will be used to separate the archived date/time from the title")).addText(s=>{let[u,l]=this.getSetting("prepend-archive-separator",n);s.inputEl.placeholder=l?`${l} (default)`:"",s.inputEl.value=u||"",s.onChange(c=>{if(c){this.applySettingsUpdate({"prepend-archive-separator":{$set:c}});return}this.applySettingsUpdate({$unset:["prepend-archive-separator"]})})}),new Be.Setting(t).setName(L("Archive date/time format")).then(s=>{s.addMomentFormat(u=>{s.descEl.appendChild(createFragment(T=>{T.appendText(L("For more syntax, refer to")+" "),T.createEl("a",{text:L("format reference"),href:"https://momentjs.com/docs/#/displaying/format/"},C=>{C.setAttr("target","_blank")}),T.createEl("br"),T.appendText(L("Your current syntax looks like this")+": "),u.setSampleEl(T.createEl("b",{cls:"u-pop"})),T.createEl("br")}));let[l,c]=this.getSetting("prepend-archive-format",n),[d,f]=this.getSetting("date-format",n),p=d||f||Nr(this.app),[g,y]=this.getSetting("time-format",n),b=g||y||ui(this.app),x=`${p} ${b}`;u.setPlaceholder(x),u.setDefaultFormat(x),(l||c)&&u.setValue(l||c),u.onChange(T=>{T?this.applySettingsUpdate({"prepend-archive-format":{$set:T}}):this.applySettingsUpdate({$unset:["prepend-archive-format"]})})})}),new Be.Setting(t).setName(L("Calendar: first day of week")).setDesc(L("Override which day is used as the start of the week")).addDropdown(s=>{s.addOption("",L("default")),s.addOption("0",L("Sunday")),s.addOption("1",L("Monday")),s.addOption("2",L("Tuesday")),s.addOption("3",L("Wednesday")),s.addOption("4",L("Thursday")),s.addOption("5",L("Friday")),s.addOption("6",L("Saturday"));let[u,l]=this.getSetting("date-picker-week-start",n);s.setValue((u==null?void 0:u.toString())||(l==null?void 0:l.toString())||""),s.onChange(c=>{c?this.applySettingsUpdate({"date-picker-week-start":{$set:Number(c)}}):this.applySettingsUpdate({$unset:["date-picker-week-start"]})})}),t.createEl("br"),t.createEl("h4",{text:L("Linked Page Metadata")}),t.createEl("p",{cls:B("metadata-setting-desc"),text:L("Display metadata for the first note linked within a card. Specify which metadata keys to display below. An optional label can be provided, and labels can be hidden altogether.")}),new Be.Setting(t).then(s=>{s.settingEl.addClass(B("draggable-setting-container"));let[u]=this.getSetting("metadata-keys",n),l=(u||[]).map(c=>({...ms,id:Ae(),data:c,win:Ze(t)}));aw(s.settingEl,t,l,c=>this.applySettingsUpdate({"metadata-keys":{$set:c.map(d=>d.data)}})),this.cleanupFns.push(()=>{s.settingEl&&ow(s.settingEl)})})}cleanUp(){this.win=null,this.cleanupFns.forEach(t=>t()),this.cleanupFns=[]}},Zs=class extends Be.Modal{constructor(t,r,n){super(t.app);this.view=t,this.settingsManager=new Ud(t.plugin,r,n)}onOpen(){let{contentEl:t,modalEl:r}=this;r.addClass(B("board-settings-modal")),this.settingsManager.constructUI(t,this.view.file.basename,!0)}onClose(){let{contentEl:t}=this;this.settingsManager.cleanUp(),t.empty()}},Vd=class extends Be.PluginSettingTab{constructor(t,r){super(t.app,t);this.plugin=t,this.settingsManager=new Ud(t,r,t.settings)}display(){let{containerEl:t}=this;t.empty(),t.addClass(B("board-settings-modal")),this.settingsManager.constructUI(t,L("Kanban Plugin"),!1)}};var yn="kanban",Ua="lucide-trello",tr=class extends Lw.TextFileView{constructor(t,r){super(t);this.actionButtons={};this.plugin=r,this.emitter=Hs(),this.emitter.on("hotkey",n=>{switch(n){case"daily-notes:goto-prev":{Vm(this.app,this.file);break}case"daily-notes:goto-next":{Um(this.app,this.file);break}}}),this.register(this.containerEl.onWindowMigrated(()=>{this.plugin.removeView(this),this.plugin.addView(this,this.data,this.isPrimary)}))}get isPrimary(){var t;return((t=this.plugin.getStateManager(this.file))==null?void 0:t.getAView())===this}get id(){var t;return`${this.leaf.id}:::${(t=this.file)==null?void 0:t.path}`}get isShiftPressed(){return this.plugin.isShiftPressed}setBoard(t,r=!0){this.plugin.stateManagers.get(this.file).setState(t,r)}getBoard(){return this.plugin.stateManagers.get(this.file).state}getViewType(){return yn}getIcon(){return Ua}getDisplayText(){var t;return((t=this.file)==null?void 0:t.basename)||"Kanban"}getWindow(){return Ze(this.containerEl)}async onLoadFile(t){try{return await super.onLoadFile(t)}catch(r){throw this.plugin.stateManagers.get(this.file).setError(r),r}}destroy(){this.plugin.removeView(this),Object.values(this.actionButtons).forEach(t=>t.remove()),this.actionButtons={}}async onClose(){this.destroy()}async onUnloadFile(t){return this.destroy(),await super.onUnloadFile(t)}handleRename(t,r){this.file.path===t&&this.plugin.handleViewFileRename(this,r)}requestSaveToDisk(t){this.data!==t&&this.isPrimary?(this.data=t,this.requestSave()):this.data=t}getViewData(){return this.data}setViewData(t,r){if(!Wm(t)){this.plugin.kanbanFileModes[this.leaf.id||this.file.path]="markdown",this.plugin.removeView(this),this.plugin.setMarkdownView(this.leaf,!1);return}this.plugin.addView(this,t,!r&&this.isPrimary)}getPortal(){let t=this.plugin.stateManagers.get(this.file);return h(ew,{stateManager:t,view:this})}onPaneMenu(t,r,n=!0){if(r!=="more-options"){super.onPaneMenu(t,r);return}t.addItem(i=>{i.setTitle(L("Open as markdown")).setIcon("lucide-file-text").setSection("pane").onClick(()=>{this.plugin.kanbanFileModes[this.leaf.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)})}).addItem(i=>{i.setTitle(L("Open board settings")).setIcon("lucide-settings").setSection("pane").onClick(()=>{let a=this.plugin.stateManagers.get(this.file),o=a.state;new Zs(this,{onSettingsChange:s=>{let u=(0,Wd.default)(o,{data:{settings:{$set:s}}});a.setState(u)}},o.data.settings).open()})}).addItem(i=>{i.setTitle(L("Archive completed cards")).setIcon("lucide-archive").setSection("pane").onClick(()=>{this.plugin.stateManagers.get(this.file).archiveCompletedCards()})}),n&&super.onPaneMenu(t,r)}initHeaderButtons(){let t=this.plugin.getStateManager(this.file);if(!!t)if(t.getSetting("show-board-settings")&&!this.actionButtons["show-board-settings"]?this.actionButtons["show-board-settings"]=this.addAction("lucide-settings",L("Open board settings"),()=>{let r=this.plugin.stateManagers.get(this.file),n=r.state;new Zs(this,{onSettingsChange:i=>{let a=(0,Wd.default)(n,{data:{settings:{$set:i}}});r.setState(a)}},n.data.settings).open()}):!t.getSetting("show-board-settings")&&this.actionButtons["show-board-settings"]&&(this.actionButtons["show-board-settings"].remove(),delete this.actionButtons["show-board-settings"]),t.getSetting("show-search")&&!this.actionButtons["show-search"]?this.actionButtons["show-search"]=this.addAction("lucide-search",L("Search..."),()=>{this.emitter.emit("hotkey","editor:open-search")}):!t.getSetting("show-search")&&this.actionButtons["show-search"]&&(this.actionButtons["show-search"].remove(),delete this.actionButtons["show-search"]),t.getSetting("show-view-as-markdown")&&!this.actionButtons["show-view-as-markdown"]?this.actionButtons["show-view-as-markdown"]=this.addAction("lucide-file-text",L("Open as markdown"),()=>{this.plugin.kanbanFileModes[this.leaf.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}):!t.getSetting("show-view-as-markdown")&&this.actionButtons["show-view-as-markdown"]&&(this.actionButtons["show-view-as-markdown"].remove(),delete this.actionButtons["show-view-as-markdown"]),t.getSetting("show-archive-all")&&!this.actionButtons["show-archive-all"]?this.actionButtons["show-archive-all"]=this.addAction("lucide-archive",L("Archive completed cards"),()=>{this.plugin.stateManagers.get(this.file).archiveCompletedCards()}):!t.getSetting("show-archive-all")&&this.actionButtons["show-archive-all"]&&(this.actionButtons["show-archive-all"].remove(),delete this.actionButtons["show-archive-all"]),t.getSetting("show-add-list")&&!this.actionButtons["show-add-list"]){let r=this.addAction("lucide-plus-circle",L("Add a list"),()=>{this.emitter.emit("showLaneForm",void 0)});r.addClass(B("ignore-click-outside")),this.actionButtons["show-add-list"]=r}else!t.getSetting("show-add-list")&&this.actionButtons["show-add-list"]&&(this.actionButtons["show-add-list"].remove(),delete this.actionButtons["show-add-list"])}clear(){}};m();var Vi=me(Et()),YE=me(require("obsidian"));m();m();var zd={};qi(zd,{JsonPatchError:()=>ot,_areEquals:()=>za,applyOperation:()=>Yr,applyPatch:()=>al,applyReducer:()=>RD,deepClone:()=>ND,getValueByPointer:()=>il,validate:()=>Fw,validator:()=>ol});m();m();var PD=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),FD=Object.prototype.hasOwnProperty;function el(e,t){return FD.call(e,t)}function tl(e){if(Array.isArray(e)){for(var t=new Array(e.length),r=0;r=48&&n<=57){t++;continue}return!1}return!0}function Hn(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function Va(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function rl(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,r=e.length;t0&&u[c-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&f===void 0&&(l[p]===void 0?f=u.slice(0,c).join("/"):c==d-1&&(f=t.path),f!==void 0&&g(t,0,e,f)),c++,Array.isArray(l)){if(p==="-")p=l.length;else{if(r&&!nl(p))throw new ot("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);nl(p)&&(p=~~p)}if(c>=d){if(r&&t.op==="add"&&p>l.length)throw new ot("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var o=OD[t.op].call(t,l,p,e);if(o.test===!1)throw new ot("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}}else if(c>=d){var o=Oi[t.op].call(t,l,p,e);if(o.test===!1)throw new ot("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}if(l=l[p],r&&c0)throw new ot('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,r);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new ot("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new ot("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&rl(e.value))throw new ot("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r){if(e.op=="add"){var i=e.path.split("/").length,a=n.split("/").length;if(i!==a+1&&i!==a)throw new ot("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==n)throw new ot("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if(e.op==="move"||e.op==="copy"){var o={op:"_get",path:e.from,value:void 0},s=Fw([o],r);if(s&&s.name==="OPERATION_PATH_UNRESOLVABLE")throw new ot("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}}else throw new ot("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r)}function Fw(e,t,r){try{if(!Array.isArray(e))throw new ot("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)al(Ft(t),Ft(e),r||!0);else{r=r||ol;for(var n=0;nJd,generate:()=>qd,observe:()=>WD,unobserve:()=>VD});m();var jd=new WeakMap,HD=function(){function e(t){this.observers=new Map,this.obj=t}return e}(),BD=function(){function e(t,r){this.callback=t,this.observer=r}return e}();function KD(e){return jd.get(e)}function $D(e,t){return e.observers.get(t)}function UD(e,t){e.observers.delete(t.callback)}function VD(e,t){t.unobserve()}function WD(e,t){var r=[],n,i=KD(e);if(!i)i=new HD(e),jd.set(e,i);else{var a=$D(i,t);n=a&&a.observer}if(n)return n;if(n={},i.value=Ft(e),t){n.callback=t,n.next=null;var o=function(){qd(n)},s=function(){clearTimeout(n.next),n.next=setTimeout(o)};typeof window!="undefined"&&(window.addEventListener("mouseup",s),window.addEventListener("keyup",s),window.addEventListener("mousedown",s),window.addEventListener("keydown",s),window.addEventListener("change",s))}return n.patches=r,n.object=e,n.unobserve=function(){qd(n),clearTimeout(n.next),UD(i,n),typeof window!="undefined"&&(window.removeEventListener("mouseup",s),window.removeEventListener("keyup",s),window.removeEventListener("mousedown",s),window.removeEventListener("keydown",s),window.removeEventListener("change",s))},i.observers.set(t,new BD(t,n)),n}function qd(e,t){t===void 0&&(t=!1);var r=jd.get(e.object);Yd(r.value,e.object,e.patches,"",t),e.patches.length&&al(r.value,e.patches);var n=e.patches;return n.length>0&&(e.patches=[],e.callback&&e.callback(n)),n}function Yd(e,t,r,n,i){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=tl(t),o=tl(e),s=!1,u=!1,l=o.length-1;l>=0;l--){var c=o[l],d=e[c];if(el(t,c)&&!(t[c]===void 0&&d!==void 0&&Array.isArray(t)===!1)){var f=t[c];typeof d=="object"&&d!=null&&typeof f=="object"&&f!=null&&Array.isArray(d)===Array.isArray(f)?Yd(d,f,r,n+"/"+Hn(c),i):d!==f&&(s=!0,i&&r.push({op:"test",path:n+"/"+Hn(c),value:Ft(d)}),r.push({op:"replace",path:n+"/"+Hn(c),value:Ft(f)}))}else Array.isArray(e)===Array.isArray(t)?(i&&r.push({op:"test",path:n+"/"+Hn(c),value:Ft(d)}),r.push({op:"remove",path:n+"/"+Hn(c)}),u=!0):(i&&r.push({op:"test",path:n,value:e}),r.push({op:"replace",path:n,value:t}),s=!0)}if(!(!u&&a.length==o.length))for(var l=0;l":""))+")"})),f;function f(){let p=[],g,y,b;if((!t||i(s,u,l[l.length-1]||null))&&(p=JD(r(s,l)),p[0]===Xd))return p;if(s.children&&p[0]!==$w)for(y=(n?s.children.length:-1)+a,b=l.concat(s);y>-1&&y!0){for(let i=t+1,a=e.length;i{try{await jw(e,r),await Promise.all(r.children.map(n=>qa(e,n)))}catch(n){throw e.setError(n),n}}))}catch(r){throw e.setError(r),r}return t}function GD(e){return(e.op==="add"||e.op==="replace")&&["/title","/titleRaw","/dateStr","/timeStr",/\d$/,/\/fileAccessor\/.+$/].some(t=>typeof t=="string"?e.path.endsWith(t):t.test(e.path))}async function Yw(e,t,r){let n={},i=r.reduce((a,o)=>{if(!GD(o))return a;let s=o.path.split("/").reduce((l,c)=>(/\d+/.test(c)&&l.push(Number(c)),l),[]),u=s.join(",");return n[u]||(n[u]=!0,a.push(s)),a},[]);try{await Promise.all(i.map(a=>{let o=mt(t,a);if(o.type===Je.Lane)return jw(e,o);if(o.type===Je.Item)return qa(e,o)}))}catch(a){throw e.setError(a),a}return t}m();m();m();m();m();m();function Nt(e,t,r,n){let i=e.length,a=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,r=r>0?r:0,n.length<1e4)o=Array.from(n),o.unshift(t,r),[].splice.apply(e,o);else for(r&&[].splice.apply(e,[t,r]);a0?(Nt(e,e.length,0,t),e):t}var Jw={}.hasOwnProperty;function Gw(e){let t={},r=-1;for(;++ro))return;let K=t.events.length,z=K,U,Z;for(;z--;)if(t.events[z][0]==="exit"&&t.events[z][1].type==="chunkFlow"){if(U){Z=t.events[z][1].end;break}U=!0}for(x(n),D=K;DC;){let H=r[A];t.containerState=H[1],H[0].exit.call(t,e)}r.length=C}function T(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function tT(e,t,r){return Se(e,e.attempt(this.parser.constructs.document,t,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}m();m();m();m();function rf(e){if(e===null||Qe(e)||eE(e))return 1;if(tE(e))return 2}m();function Ri(e,t,r){let n=[],i=-1;for(;++i1&&e[r][1].end.offset-e[r][1].start.offset>1?2:1;let d=Object.assign({},e[n][1].end),f=Object.assign({},e[r][1].start);aE(d,-u),aE(f,u),o={type:u>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[n][1].end)},s={type:u>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[r][1].start),end:f},a={type:u>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[r][1].start)},i={type:u>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[n][1].end=Object.assign({},o.start),e[r][1].start=Object.assign({},s.end),l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=Jt(l,[["enter",e[n][1],t],["exit",e[n][1],t]])),l=Jt(l,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",a,t]]),l=Jt(l,Ri(t.parser.constructs.insideSpan.null,e.slice(n+1,r),t)),l=Jt(l,[["exit",a,t],["enter",s,t],["exit",s,t],["exit",i,t]]),e[r][1].end.offset-e[r][1].start.offset?(c=2,l=Jt(l,[["enter",e[r][1],t],["exit",e[r][1],t]])):c=0,Nt(e,n-1,r-n+3,l),r=n+l.length-c-2;break}}for(r=-1;++r",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"};var uT={}.hasOwnProperty;function Hi(e){return uT.call(of,e)?of[e]:!1}var dl={name:"characterReference",tokenize:dT};function dT(e,t,r){let n=this,i=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),u}function u(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),a=31,o=Gt,c(d))}function l(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=Xw,c):(e.enter("characterReferenceValue"),a=7,o=Ya,c(d))}function c(d){let f;return d===59&&i?(f=e.exit("characterReferenceValue"),o===Gt&&!Hi(n.sliceSerialize(f))?r(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)):o(d)&&i++=4?o(l):r(l)}function o(l){return l===null?u(l):ce(l)?e.attempt(pT,o,u)(l):(e.enter("codeFlowValue"),s(l))}function s(l){return l===null||ce(l)?(e.exit("codeFlowValue"),o(l)):(e.consume(l),s)}function u(l){return e.exit("codeIndented"),t(l)}}function mT(e,t,r){let n=this;return i;function i(o){return n.parser.lazy[n.now().line]?r(o):ce(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):Se(e,a,"linePrefix",4+1)(o)}function a(o){let s=n.events[n.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(o):ce(o)?i(o):r(o)}}m();var sf={name:"codeText",tokenize:yT,resolve:gT,previous:vT};function gT(e){let t=e.length-4,r=3,n,i;if((e[r][1].type==="lineEnding"||e[r][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(n=r;++n=4?t(o):e.interrupt(n.parser.constructs.flow,r,t)(o)}}m();m();function hl(e,t,r,n,i,a,o,s,u){let l=u||Number.POSITIVE_INFINITY,c=0;return d;function d(x){return x===60?(e.enter(n),e.enter(i),e.enter(a),e.consume(x),e.exit(a),f):x===null||x===41||Ja(x)?r(x):(e.enter(n),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),y(x))}function f(x){return x===62?(e.enter(a),e.consume(x),e.exit(a),e.exit(i),e.exit(n),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===62?(e.exit("chunkString"),e.exit(s),f(x)):x===null||x===60||ce(x)?r(x):(e.consume(x),x===92?g:p)}function g(x){return x===60||x===62||x===92?(e.consume(x),p):p(x)}function y(x){return x===40?++c>l?r(x):(e.consume(x),y):x===41?c--?(e.consume(x),y):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(n),t(x)):x===null||Qe(x)?c?r(x):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(n),t(x)):Ja(x)?r(x):(e.consume(x),x===92?b:y)}function b(x){return x===40||x===41||x===92?(e.consume(x),y):y(x)}}m();function ml(e,t,r,n,i,a){let o=this,s=0,u;return l;function l(p){return e.enter(n),e.enter(i),e.consume(p),e.exit(i),e.enter(a),c}function c(p){return p===null||p===91||p===93&&!u||p===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs||s>999?r(p):p===93?(e.exit(a),e.enter(i),e.consume(p),e.exit(i),e.exit(n),t):ce(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||ce(p)||s++>999?(e.exit("chunkString"),c(p)):(e.consume(p),u=u||!Ke(p),p===92?f:d)}function f(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}m();function gl(e,t,r,n,i,a){let o;return s;function s(f){return e.enter(n),e.enter(i),e.consume(f),e.exit(i),o=f===40?41:f,u}function u(f){return f===o?(e.enter(i),e.consume(f),e.exit(i),e.exit(n),t):(e.enter(a),l(f))}function l(f){return f===o?(e.exit(a),u(o)):f===null?r(f):ce(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),Se(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(f){return f===o||f===null||ce(f)?(e.exit("chunkString"),l(f)):(e.consume(f),f===92?d:c)}function d(f){return f===o||f===92?(e.consume(f),c):c(f)}}m();function Jr(e,t){let r;return n;function n(i){return ce(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),r=!0,n):Ke(i)?Se(e,n,r?"linePrefix":"lineSuffix")(i):t(i)}}m();function nr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var cf={name:"definition",tokenize:_T},ST={tokenize:CT,partial:!0};function _T(e,t,r){let n=this,i;return a;function a(u){return e.enter("definition"),ml.call(n,e,o,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(u)}function o(u){return i=nr(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),u===58?(e.enter("definitionMarker"),e.consume(u),e.exit("definitionMarker"),Jr(e,hl(e,e.attempt(ST,Se(e,s,"whitespace"),Se(e,s,"whitespace")),r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):r(u)}function s(u){return u===null||ce(u)?(e.exit("definition"),n.parser.defined.includes(i)||n.parser.defined.push(i),t(u)):r(u)}}function CT(e,t,r){return n;function n(o){return Qe(o)?Jr(e,i)(o):r(o)}function i(o){return o===34||o===39||o===40?gl(e,Se(e,a,"whitespace"),r,"definitionTitle","definitionTitleMarker","definitionTitleString")(o):r(o)}function a(o){return o===null||ce(o)?t(o):r(o)}}m();var uf={name:"hardBreakEscape",tokenize:DT};function DT(e,t,r){return n;function n(a){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(a),i}function i(a){return ce(a)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(a)):r(a)}}m();var df={name:"headingAtx",tokenize:MT,resolve:TT};function TT(e,t){let r=e.length-2,n=3,i,a;return e[n][1].type==="whitespace"&&(n+=2),r-2>n&&e[r][1].type==="whitespace"&&(r-=2),e[r][1].type==="atxHeadingSequence"&&(n===r-1||r-4>n&&e[r-2][1].type==="whitespace")&&(r-=n+1===r?2:4),r>n&&(i={type:"atxHeadingText",start:e[n][1].start,end:e[r][1].end},a={type:"chunkText",start:e[n][1].start,end:e[r][1].end,contentType:"text"},Nt(e,n,r-n+1,[["enter",i,t],["enter",a,t],["exit",a,t],["exit",i,t]])),e}function MT(e,t,r){let n=this,i=0;return a;function a(c){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),o(c)}function o(c){return c===35&&i++<6?(e.consume(c),o):c===null||Qe(c)?(e.exit("atxHeadingSequence"),n.interrupt?t(c):s(c)):r(c)}function s(c){return c===35?(e.enter("atxHeadingSequence"),u(c)):c===null||ce(c)?(e.exit("atxHeading"),t(c)):Ke(c)?Se(e,s,"whitespace")(c):(e.enter("atxHeadingText"),l(c))}function u(c){return c===35?(e.consume(c),u):(e.exit("atxHeadingSequence"),s(c))}function l(c){return c===null||c===35||Qe(c)?(e.exit("atxHeadingText"),s(c)):(e.consume(c),l)}}m();m();var oE=["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","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ff=["pre","script","style","textarea"];var pf={name:"htmlFlow",tokenize:LT,resolveTo:AT,concrete:!0},IT={tokenize:PT,partial:!0};function AT(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 LT(e,t,r){let n=this,i,a,o,s,u;return l;function l(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),c}function c(N){return N===33?(e.consume(N),d):N===47?(e.consume(N),g):N===63?(e.consume(N),i=3,n.interrupt?t:be):dn(N)?(e.consume(N),o=String.fromCharCode(N),a=!0,y):r(N)}function d(N){return N===45?(e.consume(N),i=2,f):N===91?(e.consume(N),i=5,o="CDATA[",s=0,p):dn(N)?(e.consume(N),i=4,n.interrupt?t:be):r(N)}function f(N){return N===45?(e.consume(N),n.interrupt?t:be):r(N)}function p(N){return N===o.charCodeAt(s++)?(e.consume(N),s===o.length?n.interrupt?t:J:p):r(N)}function g(N){return dn(N)?(e.consume(N),o=String.fromCharCode(N),y):r(N)}function y(N){return N===null||N===47||N===62||Qe(N)?N!==47&&a&&ff.includes(o.toLowerCase())?(i=1,n.interrupt?t(N):J(N)):oE.includes(o.toLowerCase())?(i=6,N===47?(e.consume(N),b):n.interrupt?t(N):J(N)):(i=7,n.interrupt&&!n.parser.lazy[n.now().line]?r(N):a?T(N):x(N)):N===45||Gt(N)?(e.consume(N),o+=String.fromCharCode(N),y):r(N)}function b(N){return N===62?(e.consume(N),n.interrupt?t:J):r(N)}function x(N){return Ke(N)?(e.consume(N),x):U(N)}function T(N){return N===47?(e.consume(N),U):N===58||N===95||dn(N)?(e.consume(N),C):Ke(N)?(e.consume(N),T):U(N)}function C(N){return N===45||N===46||N===58||N===95||Gt(N)?(e.consume(N),C):A(N)}function A(N){return N===61?(e.consume(N),H):Ke(N)?(e.consume(N),A):T(N)}function H(N){return N===null||N===60||N===61||N===62||N===96?r(N):N===34||N===39?(e.consume(N),u=N,D):Ke(N)?(e.consume(N),H):(u=null,K(N))}function D(N){return N===null||ce(N)?r(N):N===u?(e.consume(N),z):(e.consume(N),D)}function K(N){return N===null||N===34||N===39||N===60||N===61||N===62||N===96||Qe(N)?A(N):(e.consume(N),K)}function z(N){return N===47||N===62||Ke(N)?T(N):r(N)}function U(N){return N===62?(e.consume(N),Z):r(N)}function Z(N){return Ke(N)?(e.consume(N),Z):N===null||ce(N)?J(N):r(N)}function J(N){return N===45&&i===2?(e.consume(N),ie):N===60&&i===1?(e.consume(N),he):N===62&&i===4?(e.consume(N),Te):N===63&&i===3?(e.consume(N),be):N===93&&i===5?(e.consume(N),ge):ce(N)&&(i===6||i===7)?e.check(IT,Te,se)(N):N===null||ce(N)?se(N):(e.consume(N),J)}function se(N){return e.exit("htmlFlowData"),G(N)}function G(N){return N===null?F(N):ce(N)?e.attempt({tokenize:Q,partial:!0},G,F)(N):(e.enter("htmlFlowData"),J(N))}function Q(N,ut,Ge){return W;function W(q){return N.enter("lineEnding"),N.consume(q),N.exit("lineEnding"),j}function j(q){return n.parser.lazy[n.now().line]?Ge(q):ut(q)}}function ie(N){return N===45?(e.consume(N),be):J(N)}function he(N){return N===47?(e.consume(N),o="",pe):J(N)}function pe(N){return N===62&&ff.includes(o.toLowerCase())?(e.consume(N),Te):dn(N)&&o.length<8?(e.consume(N),o+=String.fromCharCode(N),pe):J(N)}function ge(N){return N===93?(e.consume(N),be):J(N)}function be(N){return N===62?(e.consume(N),Te):N===45&&i===2?(e.consume(N),be):J(N)}function Te(N){return N===null||ce(N)?(e.exit("htmlFlowData"),F(N)):(e.consume(N),Te)}function F(N){return e.exit("htmlFlow"),t(N)}}function PT(e,t,r){return n;function n(i){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(i),e.exit("lineEndingBlank"),e.attempt(Dr,t,r)}}m();var hf={name:"htmlText",tokenize:FT};function FT(e,t,r){let n=this,i,a,o,s;return u;function u(F){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(F),l}function l(F){return F===33?(e.consume(F),c):F===47?(e.consume(F),K):F===63?(e.consume(F),H):dn(F)?(e.consume(F),Z):r(F)}function c(F){return F===45?(e.consume(F),d):F===91?(e.consume(F),a="CDATA[",o=0,b):dn(F)?(e.consume(F),A):r(F)}function d(F){return F===45?(e.consume(F),f):r(F)}function f(F){return F===null||F===62?r(F):F===45?(e.consume(F),p):g(F)}function p(F){return F===null||F===62?r(F):g(F)}function g(F){return F===null?r(F):F===45?(e.consume(F),y):ce(F)?(s=g,ge(F)):(e.consume(F),g)}function y(F){return F===45?(e.consume(F),Te):g(F)}function b(F){return F===a.charCodeAt(o++)?(e.consume(F),o===a.length?x:b):r(F)}function x(F){return F===null?r(F):F===93?(e.consume(F),T):ce(F)?(s=x,ge(F)):(e.consume(F),x)}function T(F){return F===93?(e.consume(F),C):x(F)}function C(F){return F===62?Te(F):F===93?(e.consume(F),C):x(F)}function A(F){return F===null||F===62?Te(F):ce(F)?(s=A,ge(F)):(e.consume(F),A)}function H(F){return F===null?r(F):F===63?(e.consume(F),D):ce(F)?(s=H,ge(F)):(e.consume(F),H)}function D(F){return F===62?Te(F):H(F)}function K(F){return dn(F)?(e.consume(F),z):r(F)}function z(F){return F===45||Gt(F)?(e.consume(F),z):U(F)}function U(F){return ce(F)?(s=U,ge(F)):Ke(F)?(e.consume(F),U):Te(F)}function Z(F){return F===45||Gt(F)?(e.consume(F),Z):F===47||F===62||Qe(F)?J(F):r(F)}function J(F){return F===47?(e.consume(F),Te):F===58||F===95||dn(F)?(e.consume(F),se):ce(F)?(s=J,ge(F)):Ke(F)?(e.consume(F),J):Te(F)}function se(F){return F===45||F===46||F===58||F===95||Gt(F)?(e.consume(F),se):G(F)}function G(F){return F===61?(e.consume(F),Q):ce(F)?(s=G,ge(F)):Ke(F)?(e.consume(F),G):J(F)}function Q(F){return F===null||F===60||F===61||F===62||F===96?r(F):F===34||F===39?(e.consume(F),i=F,ie):ce(F)?(s=Q,ge(F)):Ke(F)?(e.consume(F),Q):(e.consume(F),i=void 0,pe)}function ie(F){return F===i?(e.consume(F),he):F===null?r(F):ce(F)?(s=ie,ge(F)):(e.consume(F),ie)}function he(F){return F===62||F===47||Qe(F)?J(F):r(F)}function pe(F){return F===null||F===34||F===39||F===60||F===61||F===96?r(F):F===62||Qe(F)?J(F):(e.consume(F),pe)}function ge(F){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(F),e.exit("lineEnding"),Se(e,be,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function be(F){return e.enter("htmlTextData"),s(F)}function Te(F){return F===62?(e.consume(F),e.exit("htmlTextData"),e.exit("htmlText"),t):r(F)}}m();var Gr={name:"labelEnd",tokenize:KT,resolveTo:BT,resolveAll:HT},NT={tokenize:$T},OT={tokenize:UT},RT={tokenize:VT};function HT(e){let t=-1,r;for(;++t-1&&(o[0]=o[0].slice(n)),a>0&&o.push(e[i].slice(0,a))),o}function o1(e,t){let r=-1,n=[],i;for(;++rh1,contentInitial:()=>l1,disable:()=>m1,document:()=>s1,flow:()=>u1,flowInitial:()=>c1,insideSpan:()=>p1,string:()=>d1,text:()=>f1});m();var s1={[42]:Vt,[43]:Vt,[45]:Vt,[48]:Vt,[49]:Vt,[50]:Vt,[51]:Vt,[52]:Vt,[53]:Vt,[54]:Vt,[55]:Vt,[56]:Vt,[57]:Vt,[62]:cl},l1={[91]:cf},c1={[-2]:Qa,[-1]:Qa,[32]:Qa},u1={[35]:df,[42]:Qr,[45]:[vl,Qr],[60]:pf,[61]:vl,[95]:Qr,[96]:fl,[126]:fl},d1={[38]:dl,[92]:ul},f1={[-5]:Xa,[-4]:Xa,[-3]:Xa,[33]:mf,[38]:dl,[42]:Ga,[60]:[af,hf],[91]:gf,[92]:[uf,ul],[93]:Gr,[95]:Ga,[96]:sf},p1={null:[Ga,lE]},h1={null:[42,95]},m1={null:[]};function hE(e={}){let t=Gw([vf].concat(e.extensions||[])),r={defined:[],lazy:{},constructs:t,content:n(nE),document:n(rE),flow:n(sE),string:n(cE),text:n(uE)};return r;function n(i){return a;function a(o){return pE(r,i,o)}}}m();var mE=/[\0\t\n\r]/g;function gE(){let e=1,t="",r=!0,n;return i;function i(a,o,s){let u=[],l,c,d,f,p;for(a=t+a.toString(o),d=0,t="",r&&(a.charCodeAt(0)===65279&&d++,r=void 0);d13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||(r&65535)==65535||(r&65535)==65534||r>1114111?"\uFFFD":String.fromCharCode(r)}m();var g1=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function yE(e){return e.replace(g1,v1)}function v1(e,t,r){if(t)return t;if(r.charCodeAt(0)===35){let i=r.charCodeAt(1),a=i===120||i===88;return yl(r.slice(a?2:1),a?16:10)}return Hi(r)||e}m();function Za(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?bE(e.position):"start"in e||"end"in e?bE(e):"line"in e||"column"in e?yf(e):""}function yf(e){return wE(e&&e.line)+":"+wE(e&&e.column)}function bE(e){return yf(e&&e.start)+"-"+yf(e&&e.end)}function wE(e){return e&&typeof e=="number"?e:1}var bf={}.hasOwnProperty,bl=function(e,t,r){return typeof t!="string"&&(r=t,t=void 0),y1(r)(vE(hE(r).document().write(gE()(e,t,!0))))};function y1(e={}){let t=EE({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:u(Zr),autolinkProtocol:se,autolinkEmail:se,atxHeading:u($n),blockQuote:u(dt),characterEscape:se,characterReference:se,codeFenced:u(vt),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:u(vt,l),codeText:u(Ot,l),codeTextData:se,data:se,codeFlowValue:se,definition:u(Bn),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:u(Kn),hardBreakEscape:u(bn),hardBreakTrailing:u(bn),htmlFlow:u(wn,l),htmlFlowData:se,htmlText:u(wn,l),htmlTextData:se,image:u(Un),label:l,link:u(Zr),listItem:u(ti),listItemValue:y,listOrdered:u(ei,g),listUnordered:u(ei),paragraph:u(rr),reference:j,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:u($n),strong:u(Rt),thematicBreak:u(yt)},exit:{atxHeading:d(),atxHeadingSequence:z,autolink:d(),autolinkEmail:Ue,autolinkProtocol:ke,blockQuote:d(),characterEscapeValue:G,characterReferenceMarkerHexadecimal:te,characterReferenceMarkerNumeric:te,characterReferenceValue:we,codeFenced:d(C),codeFencedFence:T,codeFencedFenceInfo:b,codeFencedFenceMeta:k,codeFlowValue:G,codeIndented:d(A),codeText:d(ge),codeTextData:G,data:G,definition:d(),definitionDestinationString:K,definitionLabelString:H,definitionTitleString:D,emphasis:d(),hardBreakEscape:d(ie),hardBreakTrailing:d(ie),htmlFlow:d(he),htmlFlowData:G,htmlText:d(pe),htmlTextData:G,image:d(Te),label:N,labelText:F,lineEnding:Q,link:d(be),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:q,resourceDestinationString:ut,resourceTitleString:Ge,resource:W,setextHeading:d(J),setextHeadingLineSequence:Z,setextHeadingText:U,strong:d(),thematicBreak:d()}},e.mdastExtensions||[]),r={};return n;function n(Y){let oe={type:"root",children:[]},Ee=[oe],ze=[],Tt=[],En={stack:Ee,tokenStack:ze,config:t,enter:c,exit:f,buffer:l,resume:p,setData:a,getData:o},qe=-1;for(;++qe0){let st=ze[ze.length-1];(st[1]||xE).call(En,void 0,st[0])}for(oe.position={start:s(Y.length>0?Y[0][1].start:{line:1,column:1,offset:0}),end:s(Y.length>0?Y[Y.length-2][1].end:{line:1,column:1,offset:0})},qe=-1;++qe".charCodeAt(0)?o(g):(i.enter(e),i.enter(`${e}Marker`),d(g))}function d(g){return u===t.length?(i.exit(`${e}Marker`),f(g)):g!==t.charCodeAt(u)?o(g):(i.consume(g),u++,d)}function f(g){return i.enter(`${e}Data`),i.enter(`${e}Target`),p(g)}function p(g){return Qe(g)||"<".charCodeAt(0)===g||"#".charCodeAt(0)===g||g===null?s?(i.exit(`${e}Target`),i.exit(`${e}Data`),i.exit(e),a(g)):o(g):(s=!0,i.consume(g),p)}}let n={tokenize:r};return{text:{[t.charCodeAt(0)]:n}}}function PE(){let e="hashtag";function t(i){this.enter({type:e,value:null},i)}function r(i){let a=this.sliceSerialize(i),o=Bi(this.stack);o.value=a}function n(i){this.exit(i)}return{enter:{[e]:t},exit:{[`${e}Target`]:r,[e]:n}}}m();m();var Ui={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};m();var kf={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};var S1={tokenize:_1},FE={text:{[Ui.leftSquareBracket]:S1}};function _1(e,t,r){let n=this;return i;function i(s){return n.previous!==Ui.eof||!n._gfmTasklistFirstContentOfListItem?r(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),a)}function a(s){return Ke(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),o):s!==Ui.rightSquareBracket?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),o):r(s)}function o(s){return s===Ui.rightSquareBracket?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:C1},t,r)):r(s)}}function C1(e,t,r){let n=this;return Se(e,i,kf.whitespace);function i(a){let o=n.events[n.events.length-1];return o&&o[1].type===kf.whitespace&&a!==Ui.eof&&!Qe(a)?t(a):r(a)}}var NE={exit:{taskListCheckValueChecked:OE,taskListCheckValueUnchecked:OE,paragraph:D1}};function OE(e){let t=this.stack[this.stack.length-2];t.checked=e.type==="taskListCheckValueChecked",t.checkChar=this.sliceSerialize(e)}function D1(e){let t=this.stack[this.stack.length-2],r=this.stack[this.stack.length-1],n=t.children,i=r.children[0],a=-1,o;if(t&&t.type==="listItem"&&typeof t.checked=="boolean"&&i&&i.type==="text"){for(;++a=0;i--){if(!t&&/[`%\n\r]/.test(e[i])){e[i]==="`"&&(r++,r===3&&(t=!0,n=i-1));continue}else if(!t)return{};if(e[i]==="`"&&e[i-1]==="`"&&e[i-2]==="`"&&/[\r\n]/.test(e[i-3]))return JSON.parse(e.slice(i+1,n).trim())}}function HE(e){return[FE,Ki("date",`${e.getSetting("date-trigger")}{`,"}"),Ki("dateLink",`${e.getSetting("date-trigger")}[[`,"]]"),Ki("time",`${e.getSetting("time-trigger")}{`,"}"),Ki("embedWikilink","![[","]]"),Ki("wikilink","[[","]]"),LE(),ME()]}function BE(e){return[NE,$i("date",(t,r)=>{!t||(r.date=t)}),$i("dateLink",(t,r)=>{!t||(r.date=t)}),$i("time",(t,r)=>{!t||(r.time=t)}),$i("embedWikilink",(t,r)=>{if(!t)return;let n=zr(t),i=e.app.metadataCache.getFirstLinkpathDest(n.root,e.file.path);r.fileAccessor={target:n.root,isEmbed:!0,stats:i==null?void 0:i.stat}}),$i("wikilink",(t,r)=>{if(!t)return;let n=zr(t),i=e.app.metadataCache.getFirstLinkpathDest(n.root,e.file.path);if(r.fileAccessor={target:n.root,isEmbed:!1},i){let a=Md(e,i);r.fileMetadata=a.fileMetadata,r.fileMetadataOrder=a.fileMetadataOrder}}),AE((t,r)=>{if(!t.url||/:\/\//.test(t.url)||!/.md$/.test(t.url))return;let n=e.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(t.url),e.file.path);if(r)t.type="embedLink",t.fileAccessor={target:decodeURIComponent(t.url),isEmbed:!0,stats:n.stat};else if(t.fileAccessor={target:decodeURIComponent(t.url),isEmbed:!1},n){let i=Md(e,n);t.fileMetadata=i.fileMetadata,t.fileMetadataOrder=i.fileMetadataOrder}}),PE(),IE()]}function KE(e,t){let r=T1(t),i={...M1(t)},a={};return Object.keys(r).forEach(o=>{o===gn?(i[o]=r[o],a[o]=r[o]):Aw[o]?i[o]=r[o]:a[o]=r[o]}),e.compileSettings(i),{settings:i,frontmatter:a,ast:bl(t,{extensions:[Ef(["yaml"]),...HE(e)],mdastExtensions:[CE(["yaml"]),...BE(e)]})}}function Sf(e,t){return bl(t,{extensions:HE(e),mdastExtensions:BE(e)})}function kl(e,t,r){let n=e.getSetting("hide-tags-in-title"),i=e.getSetting("hide-date-in-title"),a=Zd(r.children[0]),o=ef(t,a);(o==="[ ]"||o==="[x]")&&(o="");let s=o,u={titleRaw:Rs(o),blockId:void 0,title:"",titleSearch:"",metadata:{dateStr:void 0,date:void 0,time:void 0,timeStr:void 0,tags:[],fileAccessor:void 0,file:void 0,fileMetadata:void 0,fileMetadataOrder:void 0},dom:void 0,isComplete:!!r.checked};return Vw(r,l=>l.type!=="paragraph",l=>{let c=l;if(c.type==="blockid")return u.blockId=c.value,!0;if(c.type==="hashtag")return u.metadata.tags||(u.metadata.tags=[]),u.metadata.tags.push("#"+c.value),n&&(s=Os(s,{start:l.position.start.offset-a.start,end:l.position.end.offset-a.start})),!0;if(c.type==="date"||c.type==="dateLink")return u.metadata.dateStr=c.date,i&&(s=Os(s,{start:l.position.start.offset-a.start,end:l.position.end.offset-a.start})),!0;if(c.type==="time")return u.metadata.timeStr=c.time,s=Os(s,{start:l.position.start.offset-a.start,end:l.position.end.offset-a.start}),!0;if(c.type==="embedWikilink")return u.metadata.fileAccessor=c.fileAccessor,!0;if(c.type==="wikilink"||c.type==="link"&&c.fileAccessor)return u.metadata.fileAccessor=c.fileAccessor,u.metadata.fileMetadata=c.fileMetadata,u.metadata.fileMetadataOrder=c.fileMetadataOrder,!0;if(c.type==="embedLink")return u.metadata.fileAccessor=c.fileAccessor,!0}),u.title=Rs(Sb(s)),u}function I1(e,t,r){if(e.type!=="heading"||ja(e,{includeImageAlt:!1})!==P("Archive"))return!1;let n=Ww(t,r);return n&&n.type==="thematicBreak"}function UE(e,t,r,n,i){let a=[],o=[];return n.children.forEach((s,u)=>{if(s.type==="heading"){let l=I1(s,n.children,u),c=Zd(s),d=ef(i,c),f=!1,p=zw(n.children,u,"list",g=>{if(g.type==="heading")return!1;if(g.type==="paragraph"){let y=ja(g);if(y.startsWith("%% kanban:settings"))return!1;if(y===P("Complete"))return f=!0,!0}return!0});if(l&&p){o.push(...p.children.map(g=>({...ps,id:Ae(),data:kl(e,i,g)})));return}p?a.push({...xr,children:p.children.map(g=>({...ps,id:Ae(),data:kl(e,i,g)})),id:Ae(),data:{...jr(d),shouldMarkItemsComplete:f}}):a.push({...xr,children:[],id:Ae(),data:{...jr(d),shouldMarkItemsComplete:f}})}}),{...hs,id:e.file.path,children:a,data:{settings:t,frontmatter:r,archive:o,isSearching:!1,errors:[]}}}async function _f(e,t,r){let n=`- [${t.data.isComplete?"x":" "}] ${Ra(r)}${t.data.blockId?` ^${t.data.blockId}`:""}`,i=Sf(e,n),a=kl(e,n,i.children[0].children[0]),o=(0,xl.default)(t,{data:{$set:a}});try{await qa(e,o)}catch(s){console.error(s)}return o}async function VE(e,t,r,n){let i=`- [${r?"x":" "}] ${Ra(t)}`,a=Sf(e,i),o=kl(e,i,a.children[0].children[0]);o.forceEditMode=!!n;let s={...ps,id:Ae(),data:o};try{await qa(e,s)}catch(u){console.error(u)}return s}async function WE(e,t){try{return(0,xl.default)(t,{children:{$set:await Promise.all(t.children.map(async r=>{try{return(0,xl.default)(r,{children:{$set:await Promise.all(r.children.map(n=>_f(e,n,n.data.titleRaw)))}})}catch(n){throw e.setError(n),n}}))}})}catch(r){throw e.setError(r),r}}function zE(e){return`- [${e.data.isComplete?"x":" "}] ${Ra(e.data.titleRaw)}${e.data.blockId?` ^${e.data.blockId}`:""}`}function A1(e){let t=[];return t.push(`## ${Ra(Jo(e.data.title,e.data.maxItems))}`),t.push(""),e.data.shouldMarkItemsComplete&&t.push(zb),e.children.forEach(r=>{t.push(zE(r))}),t.push(""),t.push(""),t.push(""),t.join(` -`)}function L1(e){if(e.length){let t=[jb,"",`## ${P("Archive")}`,""];return e.forEach(r=>{t.push(zE(r))}),t.join(` +`;break}case-2:{o=t?" ":" ";break}case-1:{if(!t&&i)continue;o=" ";break}default:o=String.fromCharCode(a)}i=a===-2,n.push(o)}return n.join("")}var vf={};qi(vf,{attentionMarkers:()=>h1,contentInitial:()=>l1,disable:()=>m1,document:()=>s1,flow:()=>u1,flowInitial:()=>c1,insideSpan:()=>p1,string:()=>d1,text:()=>f1});m();var s1={[42]:Vt,[43]:Vt,[45]:Vt,[48]:Vt,[49]:Vt,[50]:Vt,[51]:Vt,[52]:Vt,[53]:Vt,[54]:Vt,[55]:Vt,[56]:Vt,[57]:Vt,[62]:cl},l1={[91]:cf},c1={[-2]:Qa,[-1]:Qa,[32]:Qa},u1={[35]:df,[42]:Qr,[45]:[vl,Qr],[60]:pf,[61]:vl,[95]:Qr,[96]:fl,[126]:fl},d1={[38]:dl,[92]:ul},f1={[-5]:Xa,[-4]:Xa,[-3]:Xa,[33]:mf,[38]:dl,[42]:Ga,[60]:[af,hf],[91]:gf,[92]:[uf,ul],[93]:Gr,[95]:Ga,[96]:sf},p1={null:[Ga,lE]},h1={null:[42,95]},m1={null:[]};function hE(e={}){let t=Gw([vf].concat(e.extensions||[])),r={defined:[],lazy:{},constructs:t,content:n(nE),document:n(rE),flow:n(sE),string:n(cE),text:n(uE)};return r;function n(i){return a;function a(o){return pE(r,i,o)}}}m();var mE=/[\0\t\n\r]/g;function gE(){let e=1,t="",r=!0,n;return i;function i(a,o,s){let u=[],l,c,d,f,p;for(a=t+a.toString(o),d=0,t="",r&&(a.charCodeAt(0)===65279&&d++,r=void 0);d13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||(r&65535)==65535||(r&65535)==65534||r>1114111?"\uFFFD":String.fromCharCode(r)}m();var g1=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function yE(e){return e.replace(g1,v1)}function v1(e,t,r){if(t)return t;if(r.charCodeAt(0)===35){let i=r.charCodeAt(1),a=i===120||i===88;return yl(r.slice(a?2:1),a?16:10)}return Hi(r)||e}m();function Za(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?bE(e.position):"start"in e||"end"in e?bE(e):"line"in e||"column"in e?yf(e):""}function yf(e){return wE(e&&e.line)+":"+wE(e&&e.column)}function bE(e){return yf(e&&e.start)+"-"+yf(e&&e.end)}function wE(e){return e&&typeof e=="number"?e:1}var bf={}.hasOwnProperty,bl=function(e,t,r){return typeof t!="string"&&(r=t,t=void 0),y1(r)(vE(hE(r).document().write(gE()(e,t,!0))))};function y1(e={}){let t=EE({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:u(Zr),autolinkProtocol:se,autolinkEmail:se,atxHeading:u($n),blockQuote:u(dt),characterEscape:se,characterReference:se,codeFenced:u(vt),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:u(vt,l),codeText:u(Ot,l),codeTextData:se,data:se,codeFlowValue:se,definition:u(Bn),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:u(Kn),hardBreakEscape:u(bn),hardBreakTrailing:u(bn),htmlFlow:u(wn,l),htmlFlowData:se,htmlText:u(wn,l),htmlTextData:se,image:u(Un),label:l,link:u(Zr),listItem:u(ti),listItemValue:y,listOrdered:u(ei,g),listUnordered:u(ei),paragraph:u(rr),reference:j,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:u($n),strong:u(Rt),thematicBreak:u(yt)},exit:{atxHeading:d(),atxHeadingSequence:z,autolink:d(),autolinkEmail:Ue,autolinkProtocol:xe,blockQuote:d(),characterEscapeValue:G,characterReferenceMarkerHexadecimal:te,characterReferenceMarkerNumeric:te,characterReferenceValue:we,codeFenced:d(C),codeFencedFence:T,codeFencedFenceInfo:b,codeFencedFenceMeta:x,codeFlowValue:G,codeIndented:d(A),codeText:d(ge),codeTextData:G,data:G,definition:d(),definitionDestinationString:K,definitionLabelString:H,definitionTitleString:D,emphasis:d(),hardBreakEscape:d(ie),hardBreakTrailing:d(ie),htmlFlow:d(he),htmlFlowData:G,htmlText:d(pe),htmlTextData:G,image:d(Te),label:N,labelText:F,lineEnding:Q,link:d(be),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:q,resourceDestinationString:ut,resourceTitleString:Ge,resource:W,setextHeading:d(J),setextHeadingLineSequence:Z,setextHeadingText:U,strong:d(),thematicBreak:d()}},e.mdastExtensions||[]),r={};return n;function n(Y){let oe={type:"root",children:[]},Ee=[oe],ze=[],Tt=[],En={stack:Ee,tokenStack:ze,config:t,enter:c,exit:f,buffer:l,resume:p,setData:a,getData:o},qe=-1;for(;++qe0){let st=ze[ze.length-1];(st[1]||kE).call(En,void 0,st[0])}for(oe.position={start:s(Y.length>0?Y[0][1].start:{line:1,column:1,offset:0}),end:s(Y.length>0?Y[Y.length-2][1].end:{line:1,column:1,offset:0})},qe=-1;++qe".charCodeAt(0)?o(g):(i.enter(e),i.enter(`${e}Marker`),d(g))}function d(g){return u===t.length?(i.exit(`${e}Marker`),f(g)):g!==t.charCodeAt(u)?o(g):(i.consume(g),u++,d)}function f(g){return i.enter(`${e}Data`),i.enter(`${e}Target`),p(g)}function p(g){return Qe(g)||"<".charCodeAt(0)===g||"#".charCodeAt(0)===g||g===null?s?(i.exit(`${e}Target`),i.exit(`${e}Data`),i.exit(e),a(g)):o(g):(s=!0,i.consume(g),p)}}let n={tokenize:r};return{text:{[t.charCodeAt(0)]:n}}}function PE(){let e="hashtag";function t(i){this.enter({type:e,value:null},i)}function r(i){let a=this.sliceSerialize(i),o=Bi(this.stack);o.value=a}function n(i){this.exit(i)}return{enter:{[e]:t},exit:{[`${e}Target`]:r,[e]:n}}}m();m();var Ui={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};m();var xf={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};var S1={tokenize:_1},FE={text:{[Ui.leftSquareBracket]:S1}};function _1(e,t,r){let n=this;return i;function i(s){return n.previous!==Ui.eof||!n._gfmTasklistFirstContentOfListItem?r(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),a)}function a(s){return Ke(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),o):s!==Ui.rightSquareBracket?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),o):r(s)}function o(s){return s===Ui.rightSquareBracket?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:C1},t,r)):r(s)}}function C1(e,t,r){let n=this;return Se(e,i,xf.whitespace);function i(a){let o=n.events[n.events.length-1];return o&&o[1].type===xf.whitespace&&a!==Ui.eof&&!Qe(a)?t(a):r(a)}}var NE={exit:{taskListCheckValueChecked:OE,taskListCheckValueUnchecked:OE,paragraph:D1}};function OE(e){let t=this.stack[this.stack.length-2];t.checked=e.type==="taskListCheckValueChecked",t.checkChar=this.sliceSerialize(e)}function D1(e){let t=this.stack[this.stack.length-2],r=this.stack[this.stack.length-1],n=t.children,i=r.children[0],a=-1,o;if(t&&t.type==="listItem"&&typeof t.checked=="boolean"&&i&&i.type==="text"){for(;++a=0;i--){if(!t&&/[`%\n\r]/.test(e[i])){e[i]==="`"&&(r++,r===3&&(t=!0,n=i-1));continue}else if(!t)return{};if(e[i]==="`"&&e[i-1]==="`"&&e[i-2]==="`"&&/[\r\n]/.test(e[i-3]))return JSON.parse(e.slice(i+1,n).trim())}}function HE(e){return[FE,Ki("date",`${e.getSetting("date-trigger")}{`,"}"),Ki("dateLink",`${e.getSetting("date-trigger")}[[`,"]]"),Ki("time",`${e.getSetting("time-trigger")}{`,"}"),Ki("embedWikilink","![[","]]"),Ki("wikilink","[[","]]"),LE(),ME()]}function BE(e){return[NE,$i("date",(t,r)=>{!t||(r.date=t)}),$i("dateLink",(t,r)=>{!t||(r.date=t)}),$i("time",(t,r)=>{!t||(r.time=t)}),$i("embedWikilink",(t,r)=>{if(!t)return;let n=zr(t),i=e.app.metadataCache.getFirstLinkpathDest(n.root,e.file.path);r.fileAccessor={target:n.root,isEmbed:!0,stats:i==null?void 0:i.stat}}),$i("wikilink",(t,r)=>{if(!t)return;let n=zr(t),i=e.app.metadataCache.getFirstLinkpathDest(n.root,e.file.path);if(r.fileAccessor={target:n.root,isEmbed:!1},i){let a=Md(e,i);r.fileMetadata=a.fileMetadata,r.fileMetadataOrder=a.fileMetadataOrder}}),AE((t,r)=>{if(!t.url||/:\/\//.test(t.url)||!/.md$/.test(t.url))return;let n=e.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(t.url),e.file.path);if(r)t.type="embedLink",t.fileAccessor={target:decodeURIComponent(t.url),isEmbed:!0,stats:n.stat};else if(t.fileAccessor={target:decodeURIComponent(t.url),isEmbed:!1},n){let i=Md(e,n);t.fileMetadata=i.fileMetadata,t.fileMetadataOrder=i.fileMetadataOrder}}),PE(),IE()]}function KE(e,t){let r=T1(t),i={...M1(t)},a={};return Object.keys(r).forEach(o=>{o===gn?(i[o]=r[o],a[o]=r[o]):Aw[o]?i[o]=r[o]:a[o]=r[o]}),e.compileSettings(i),{settings:i,frontmatter:a,ast:bl(t,{extensions:[Ef(["yaml"]),...HE(e)],mdastExtensions:[CE(["yaml"]),...BE(e)]})}}function Sf(e,t){return bl(t,{extensions:HE(e),mdastExtensions:BE(e)})}function xl(e,t,r){let n=e.getSetting("hide-tags-in-title"),i=e.getSetting("hide-date-in-title"),a=Zd(r.children[0]),o=ef(t,a);(o==="[ ]"||o==="[x]")&&(o="");let s=o,u={titleRaw:Rs(o),blockId:void 0,title:"",titleSearch:"",metadata:{dateStr:void 0,date:void 0,time:void 0,timeStr:void 0,tags:[],fileAccessor:void 0,file:void 0,fileMetadata:void 0,fileMetadataOrder:void 0},dom:void 0,isComplete:!!r.checked};return Vw(r,l=>l.type!=="paragraph",l=>{let c=l;if(c.type==="blockid")return u.blockId=c.value,!0;if(c.type==="hashtag")return u.metadata.tags||(u.metadata.tags=[]),u.metadata.tags.push("#"+c.value),n&&(s=Os(s,{start:l.position.start.offset-a.start,end:l.position.end.offset-a.start})),!0;if(c.type==="date"||c.type==="dateLink")return u.metadata.dateStr=c.date,i&&(s=Os(s,{start:l.position.start.offset-a.start,end:l.position.end.offset-a.start})),!0;if(c.type==="time")return u.metadata.timeStr=c.time,s=Os(s,{start:l.position.start.offset-a.start,end:l.position.end.offset-a.start}),!0;if(c.type==="embedWikilink")return u.metadata.fileAccessor=c.fileAccessor,!0;if(c.type==="wikilink"||c.type==="link"&&c.fileAccessor)return u.metadata.fileAccessor=c.fileAccessor,u.metadata.fileMetadata=c.fileMetadata,u.metadata.fileMetadataOrder=c.fileMetadataOrder,!0;if(c.type==="embedLink")return u.metadata.fileAccessor=c.fileAccessor,!0}),u.title=Rs(Sb(s)),u}function I1(e,t,r){if(e.type!=="heading"||ja(e,{includeImageAlt:!1})!==L("Archive"))return!1;let n=Ww(t,r);return n&&n.type==="thematicBreak"}function UE(e,t,r,n,i){let a=[],o=[];return n.children.forEach((s,u)=>{if(s.type==="heading"){let l=I1(s,n.children,u),c=Zd(s),d=ef(i,c),f=!1,p=zw(n.children,u,"list",g=>{if(g.type==="heading")return!1;if(g.type==="paragraph"){let y=ja(g);if(y.startsWith("%% kanban:settings"))return!1;if(y===L("Complete"))return f=!0,!0}return!0});if(l&&p){o.push(...p.children.map(g=>({...ps,id:Ae(),data:xl(e,i,g)})));return}p?a.push({...kr,children:p.children.map(g=>({...ps,id:Ae(),data:xl(e,i,g)})),id:Ae(),data:{...jr(d),shouldMarkItemsComplete:f}}):a.push({...kr,children:[],id:Ae(),data:{...jr(d),shouldMarkItemsComplete:f}})}}),{...hs,id:e.file.path,children:a,data:{settings:t,frontmatter:r,archive:o,isSearching:!1,errors:[]}}}async function _f(e,t,r){let n=`- [${t.data.isComplete?"x":" "}] ${Ra(r)}${t.data.blockId?` ^${t.data.blockId}`:""}`,i=Sf(e,n),a=xl(e,n,i.children[0].children[0]),o=(0,kl.default)(t,{data:{$set:a}});try{await qa(e,o)}catch(s){console.error(s)}return o}async function VE(e,t,r,n){let i=`- [${r?"x":" "}] ${Ra(t)}`,a=Sf(e,i),o=xl(e,i,a.children[0].children[0]);o.forceEditMode=!!n;let s={...ps,id:Ae(),data:o};try{await qa(e,s)}catch(u){console.error(u)}return s}async function WE(e,t){try{return(0,kl.default)(t,{children:{$set:await Promise.all(t.children.map(async r=>{try{return(0,kl.default)(r,{children:{$set:await Promise.all(r.children.map(n=>_f(e,n,n.data.titleRaw)))}})}catch(n){throw e.setError(n),n}}))}})}catch(r){throw e.setError(r),r}}function zE(e){return`- [${e.data.isComplete?"x":" "}] ${Ra(e.data.titleRaw)}${e.data.blockId?` ^${e.data.blockId}`:""}`}function A1(e){let t=[];return t.push(`## ${Ra(Jo(e.data.title,e.data.maxItems))}`),t.push(""),e.data.shouldMarkItemsComplete&&t.push(zb),e.children.forEach(r=>{t.push(zE(r))}),t.push(""),t.push(""),t.push(""),t.join(` +`)}function L1(e){if(e.length){let t=[jb,"",`## ${L("Archive")}`,""];return e.forEach(r=>{t.push(zE(r))}),t.join(` `)}return""}function jE(e){let t=e.children.reduce((n,i)=>n+A1(i),"");return["---","",(0,$E.stringifyYaml)(e.data.frontmatter),"---","",""].join(` -`)+t+L1(e.data.archive)+qb(e.data.settings)}var Cf=class{constructor(t){this.stateManager=t}newItem(t,r,n){return VE(this.stateManager,t,r,n)}updateItemContent(t,r){return _f(this.stateManager,t,r)}boardToMd(t){return jE(t)}mdToBoard(t){let{ast:r,settings:n,frontmatter:i}=KE(this.stateManager,t),a=UE(this.stateManager,n,i,r,t);if(!this.stateManager.hasError()&&this.stateManager.state){let s=Jd(this.stateManager.state,a).filter(l=>["/id","/dom","/date","/time","/titleSearch","/file"].every(c=>!l.path.endsWith(c))),u=(0,qE.immutableJSONPatch)(this.stateManager.state,s);return Yw(this.stateManager,u,s)}return qw(this.stateManager,a)}reparseBoard(){return WE(this.stateManager,this.stateManager.state)}};var Df=class{constructor(t,r,n,i,a){this.stateReceivers=[];this.settingsNotifiers=new Map;this.viewSet=new Set;this.compiledSettings={};this.newBoardPromise=null;this.getSetting=(t,r)=>r&&r[t]!==void 0?r[t]:this.compiledSettings&&this.compiledSettings[t]!==void 0?this.compiledSettings[t]:this.getSettingRaw(t);this.getSettingRaw=(t,r)=>{var n,i;return r&&r[t]!==void 0?r[t]:((i=(n=this.state)==null?void 0:n.data)==null?void 0:i.settings)&&this.state.data.settings[t]!==void 0?this.state.data.settings[t]:this.getGlobalSetting(t)};this.getGlobalSetting=t=>{let r=this.getGlobalSettings();return r&&r[t]!==void 0?r[t]:null};this.app=t,this.file=r.file,this.onEmpty=i,this.getGlobalSettings=a,this.parser=new Cf(this),this.registerView(r,n,!0)}getAView(){return this.viewSet.values().next().value}hasError(){var t,r,n;return!!((n=(r=(t=this.state)==null?void 0:t.data)==null?void 0:r.errors)==null?void 0:n.length)}registerView(t,r,n){this.viewSet.has(t)||(this.viewSet.add(t),t.initHeaderButtons()),n&&(this.newBoardPromise!==null?this.newBoardPromise.then(()=>this.newBoard(r)):this.newBoardPromise=this.newBoard(r).then(()=>{this.newBoardPromise=null}).catch(i=>{console.error(i),this.setError(i)}))}unregisterView(t){this.viewSet.has(t)&&(this.viewSet.delete(t),this.viewSet.size===0&&this.onEmpty())}buildSettingRetrievers(){return{getGlobalSettings:this.getGlobalSettings,getGlobalSetting:this.getGlobalSetting,getSetting:this.getSetting}}async newBoard(t){try{await this.setState(await this.getParsedBoard(t),!1)}catch(r){this.setError(r)}}saveToDisk(){if(this.state.data.errors.length>0)return;let t=this.getAView();if(t){let r=this.parser.boardToMd(this.state);t.requestSaveToDisk(r),this.viewSet.forEach(n=>{n.data=r})}}softRefresh(){this.stateReceivers.forEach(t=>t({...this.state}))}async forceRefresh(){if(this.state)try{this.compileSettings(),this.state=await this.parser.reparseBoard(),this.stateReceivers.forEach(t=>t(this.state)),this.settingsNotifiers.forEach(t=>{t.forEach(r=>r())}),this.viewSet.forEach(t=>t.initHeaderButtons())}catch(t){console.error(t),this.setError(t)}}async setState(t,r=!0){var n;try{let i=(n=this.state)==null?void 0:n.data.settings,a=typeof t=="function"?await t(this.state):t,o=a==null?void 0:a.data.settings;i&&o&&Gb(i,o)?(this.state=(0,Vi.default)(this.state,{data:{settings:{$set:o}}}),this.compileSettings(),this.state=await this.parser.reparseBoard()):(this.state=a,this.compileSettings()),this.viewSet.forEach(s=>s.initHeaderButtons()),r&&this.saveToDisk(),this.stateReceivers.forEach(s=>s(this.state)),i!==o&&o&&this.settingsNotifiers.forEach((s,u)=>{(!i&&o||i[u]!==o[u])&&s.forEach(l=>l())})}catch(i){console.error(i),this.setError(i)}}useState(){let[t,r]=L.useState(this.state);return L.useEffect(()=>(this.stateReceivers.push(n=>{r(n)}),r(this.state),()=>{this.stateReceivers.remove(r)}),[]),t}useSetting(t){let[r,n]=L.useState(this.getSetting(t));return L.useEffect(()=>{let i=()=>{n(this.getSetting(t))};return this.settingsNotifiers.has(t)?this.settingsNotifiers.get(t).push(i):this.settingsNotifiers.set(t,[i]),()=>{this.settingsNotifiers.get(t).remove(i)}},[]),r}compileSettings(t){var s,u,l,c,d,f,p;let r=this.getGlobalSetting("metadata-keys")||[],n=this.getSettingRaw("metadata-keys",t)||[],i=this.getSettingRaw("date-format",t)||Nr(this.app),a=this.getSettingRaw("time-format",t)||ui(this.app),o=this.getSettingRaw("prepend-archive-format",t)||`${i} ${a}`;this.compiledSettings={"date-format":i,"date-display-format":this.getSettingRaw("date-display-format",t)||i,"date-trigger":this.getSettingRaw("date-trigger",t)||js,"time-format":a,"time-trigger":this.getSettingRaw("time-trigger",t)||qs,"link-date-to-daily-note":this.getSettingRaw("link-date-to-daily-note",t),"hide-date-in-title":this.getSettingRaw("hide-date-in-title",t),"hide-tags-in-title":this.getSettingRaw("hide-tags-in-title",t),"metadata-keys":[...r,...n],"prepend-archive-separator":this.getSettingRaw("prepend-archive-separator")||"","prepend-archive-format":o,"show-add-list":(s=this.getSettingRaw("show-add-list",t))!=null?s:!0,"show-archive-all":(u=this.getSettingRaw("show-archive-all",t))!=null?u:!0,"show-view-as-markdown":(l=this.getSettingRaw("show-view-as-markdown",t))!=null?l:!0,"show-board-settings":(c=this.getSettingRaw("show-board-settings",t))!=null?c:!0,"show-search":(d=this.getSettingRaw("show-search",t))!=null?d:!0,"tag-colors":(f=this.getSettingRaw("tag-colors",t))!=null?f:[],"date-colors":(p=this.getSettingRaw("date-colors",t))!=null?p:[]}}async getParsedBoard(t){let r=t.trim(),n={...hs,id:this.file.path,children:[],data:{archive:[],settings:{"kanban-plugin":"basic"},frontmatter:{},isSearching:!1,errors:[]}};try{r&&(n=await this.parser.mdToBoard(r))}catch(i){console.error(i),n=(0,Vi.default)(n,{data:{errors:{$push:[{description:i.toString(),stack:i.stack}]}}})}return n}setError(t){this.setState((0,Vi.default)(this.state,{data:{errors:{$push:[{description:t.toString(),stack:t.stack}]}}}),!1)}onFileMetadataChange(){this.reparseBoardFromMd()}async reparseBoardFromMd(){try{this.setState(await this.getParsedBoard(this.getAView().data),!1)}catch(t){console.error(t),this.setError(t)}}async archiveCompletedCards(){let t=this.state,r=[],n=!!this.getSetting("prepend-archive-date"),i=this.getSetting("prepend-archive-separator"),a=this.getSetting("prepend-archive-format"),o=u=>{let l=[(0,YE.moment)().format(a)];i&&l.push(i),l.push(u.data.titleRaw);let c=l.join(" ");return this.parser.updateItemContent(u,c)},s=t.children.map(u=>(0,Vi.default)(u,{children:{$set:u.children.filter(l=>((u.data.shouldMarkItemsComplete||l.data.isComplete)&&r.push(l),!l.data.isComplete&&!u.data.shouldMarkItemsComplete))}}));this.app.workspace.trigger("kanban:board-cards-archived",this.file,r);try{this.setState((0,Vi.default)(t,{children:{$set:s},data:{archive:{$push:n?await Promise.all(r.map(u=>o(u))):r}}}))}catch(u){this.setError(u)}}getNewItem(t,r,n){return this.parser.newItem(t,r,n)}updateItemContent(t,r){return this.parser.updateItemContent(t,r)}};var Tf=class extends Dt.Plugin{constructor(){super(...arguments);this.settings={};this.kanbanFileModes={};this.stateManagers=new Map;this.windowRegistry=new Map;this._loaded=!1;this.isShiftPressed=!1;this.handleShift=t=>{this.isShiftPressed=t.shiftKey}}async loadSettings(){this.settings=Object.assign({},await this.loadData())}async saveSettings(){await this.saveData(this.settings)}unload(){Promise.all(app.workspace.getLeavesOfType(yn).map(t=>(this.kanbanFileModes[t.id]="markdown",this.setMarkdownView(t)))).then(()=>{super.unload()})}onunload(){this.windowRegistry.forEach((t,r)=>{t.viewStateReceivers.forEach(n=>n([])),this.unmount(r)}),this.unmount(window),this.stateManagers.clear(),this.windowRegistry.clear(),this.kanbanFileModes={},window.removeEventListener("keydown",this.handleShift),window.removeEventListener("keyup",this.handleShift),app.workspace.unregisterHoverLinkSource(gn)}async onload(){var t,r;await this.loadSettings(),this.registerEvent(app.workspace.on("window-open",(n,i)=>{this.mount(i)})),this.registerEvent(app.workspace.on("window-close",(n,i)=>{this.unmount(i)})),this.settingsTab=new Vd(this,{onSettingsChange:async n=>{this.settings=n,await this.saveSettings(),this.stateManagers.forEach(i=>{i.forceRefresh()})}}),this.addSettingTab(this.settingsTab),this.registerView(yn,n=>new tr(n,this)),this.registerMonkeyPatches(),this.registerCommands(),this.registerEvents(),this.mount(window),(r=(t=app.workspace.floatingSplit)==null?void 0:t.children)==null||r.forEach(n=>{this.mount(n.win)}),window.addEventListener("keydown",this.handleShift),window.addEventListener("keyup",this.handleShift)}getKanbanViews(t){let r=this.windowRegistry.get(t);return r?Array.from(r.viewMap.values()):[]}getKanbanView(t,r){let n=this.windowRegistry.get(r);if(n==null?void 0:n.viewMap.has(t))return n.viewMap.get(t);for(let i of this.windowRegistry.values())if(i.viewMap.has(t))return i.viewMap.get(t);return null}getStateManager(t){return this.stateManagers.get(t)}getStateManagerFromViewID(t,r){let n=this.getKanbanView(t,r);return n?this.stateManagers.get(n.file):null}useViewState(t){let[r,n]=L.useState(this.getKanbanViews(t));return L.useEffect(()=>{let i=this.windowRegistry.get(t);return i==null||i.viewStateReceivers.push(n),()=>{i==null||i.viewStateReceivers.remove(n)}},[t]),r}addView(t,r,n){let i=t.getWindow(),a=this.windowRegistry.get(i);if(!a)return;a.viewMap.has(t.id)||a.viewMap.set(t.id,t);let o=t.file;this.stateManagers.has(o)?this.stateManagers.get(o).registerView(t,r,n):this.stateManagers.set(o,new Df(this.app,t,r,()=>this.stateManagers.delete(o),()=>this.settings)),a.viewStateReceivers.forEach(s=>s(this.getKanbanViews(i)))}removeView(t){let r=Array.from(this.windowRegistry.entries()).find(([,o])=>o.viewMap.has(t.id),[]);if(!r)return;let[n,i]=r,a=t.file;i.viewMap.has(t.id)&&i.viewMap.delete(t.id),this.stateManagers.has(a)&&(this.stateManagers.get(a).unregisterView(t),i.viewStateReceivers.forEach(o=>o(this.getKanbanViews(n))))}handleViewFileRename(t,r){let n=t.getWindow();if(!this.windowRegistry.has(n))return;let i=this.windowRegistry.get(n),a=`${t.leaf.id}:::${r}`;i.viewMap.has(a)&&i.viewMap.delete(a),i.viewMap.has(t.id)||i.viewMap.set(t.id,t),t.isPrimary&&this.getStateManager(t.file).softRefresh()}mount(t){if(this.windowRegistry.has(t))return;let r=t.document.body.createDiv();this.windowRegistry.set(t,{viewMap:new Map,viewStateReceivers:[],appRoot:r}),L.render(Vb(t,this),r)}unmount(t){if(!this.windowRegistry.has(t))return;let r=this.windowRegistry.get(t);for(let n of r.viewMap.values())n.destroy();L.unmountComponentAtNode(r.appRoot),r.appRoot.remove(),r.viewMap.clear(),r.viewStateReceivers.length=0,r.appRoot=null,this.windowRegistry.delete(t)}async setMarkdownView(t,r=!0){await t.setViewState({type:"markdown",state:t.view.getState(),popstate:!0},{focus:r})}async setKanbanView(t){await t.setViewState({type:yn,state:t.view.getState(),popstate:!0})}async newKanban(t){var n;let r=t||app.fileManager.getNewFileParent(((n=app.workspace.getActiveFile())==null?void 0:n.path)||"");try{let i=await app.fileManager.createNewMarkdownFile(r,P("Untitled Kanban"));await app.vault.modify(i,Td),await app.workspace.getLeaf().setViewState({type:yn,state:{file:i.path}})}catch(i){console.error("Error creating kanban board:",i)}}registerEvents(){this.registerEvent(app.workspace.on("file-menu",(r,n,i,a)=>{if(n instanceof Dt.TFolder){r.addItem(o=>{o.setTitle(P("New kanban board")).setIcon(Ua).onClick(()=>this.newKanban(n))});return}if(!Dt.Platform.isMobile&&n instanceof Dt.TFile&&a&&i==="sidebar-context-menu"&&bc(n)){let o=this.getKanbanViews(Ze(a.view.containerEl)),s=!1;for(let u of o)if(u.file===n){u.onPaneMenu(r,"more-options",!1),s=!0;break}if(!s){r.addItem(u=>{u.setTitle(P("Open as kanban board")).setIcon(Ua).setSection("pane").onClick(()=>{this.kanbanFileModes[a.id||n.path]=yn,this.setKanbanView(a)})});return}}(a==null?void 0:a.view)instanceof Dt.MarkdownView&&n instanceof Dt.TFile&&i==="pane-more-options"&&bc(n)&&r.addItem(o=>{o.setTitle(P("Open as kanban board")).setIcon(Ua).setSection("pane").onClick(()=>{this.kanbanFileModes[a.id||n.path]=yn,this.setKanbanView(a)})})})),this.registerEvent(app.vault.on("rename",(r,n)=>{app.workspace.getLeavesOfType(yn).forEach(a=>{a.view.handleRename(r.path,n)})}));let t=(0,Dt.debounce)(r=>{this.stateManagers.forEach(n=>{n.file!==r&&n.onFileMetadataChange()})},2e3,!0);this.registerEvent(app.vault.on("modify",r=>{r instanceof Dt.TFile&&t(r)})),this.registerEvent(app.metadataCache.on("changed",r=>{t(r)})),this.registerEvent(app.metadataCache.on("dataview:metadata-change",(r,n)=>{t(n)})),this.registerEvent(app.metadataCache.on("dataview:api-ready",()=>{this.stateManagers.forEach(r=>{r.forceRefresh()})})),app.workspace.registerHoverLinkSource(gn,{display:"Kanban",defaultMod:!0})}registerCommands(){this.addCommand({id:"create-new-kanban-board",name:P("Create new board"),callback:()=>this.newKanban()}),this.addCommand({id:"archive-completed-cards",name:P("Archive completed cards in active board"),checkCallback:t=>{let r=app.workspace.getActiveViewOfType(tr);if(!r)return!1;if(t)return!0;this.stateManagers.get(r.file).archiveCompletedCards()}}),this.addCommand({id:"toggle-kanban-view",name:P("Toggle between Kanban and markdown mode"),checkCallback:t=>{let r=app.workspace.getActiveFile();if(!r)return!1;let n=app.metadataCache.getFileCache(r),i=!!(n==null?void 0:n.frontmatter)&&!!n.frontmatter[gn];if(t)return i;let a=app.workspace.getActiveViewOfType(tr);if(a)this.kanbanFileModes[a.leaf.id||r.path]="markdown",this.setMarkdownView(a.leaf);else if(i){let o=app.workspace.getActiveViewOfType(Dt.MarkdownView);o&&(this.kanbanFileModes[o.leaf.id||r.path]=yn,this.setKanbanView(o.leaf))}}}),this.addCommand({id:"convert-to-kanban",name:P("Convert empty note to Kanban"),checkCallback:t=>{let r=app.workspace.getActiveViewOfType(Dt.MarkdownView);if(!r)return!1;let n=r.file.stat.size===0;if(t)return n;n&&app.vault.modify(r.file,Td).then(()=>{this.setKanbanView(r.leaf)}).catch(i=>console.error(i))}}),this.addCommand({id:"add-kanban-lane",name:P("Add a list"),checkCallback:t=>{let r=app.workspace.getActiveViewOfType(tr);if(t)return r&&r instanceof tr;r&&r instanceof tr&&r.emitter.emit("showLaneForm",void 0)}})}registerMonkeyPatches(){let t=this;app.workspace.onLayoutReady(()=>{this.register(Il(app.commands,{executeCommand(r){return function(n){let i=app.workspace.getActiveViewOfType(tr);return i&&(n==null?void 0:n.id)&&i.emitter.emit("hotkey",n.id),r.call(this,n)}}}))}),this.register(Il(Dt.WorkspaceLeaf.prototype,{detach(r){return function(){var i;let n=(i=this.view)==null?void 0:i.getState();return(n==null?void 0:n.file)&&t.kanbanFileModes[this.id||n.file]&&delete t.kanbanFileModes[this.id||n.file],r.apply(this)}},setViewState(r){return function(n,...i){var a;if(t._loaded&&n.type==="markdown"&&((a=n.state)==null?void 0:a.file)&&t.kanbanFileModes[this.id||n.state.file]!=="markdown"){let o=t.app.metadataCache.getCache(n.state.file);if((o==null?void 0:o.frontmatter)&&o.frontmatter[gn]){let s={...n,type:yn};return t.kanbanFileModes[n.state.file]=yn,r.apply(this,[s,...i])}}return r.apply(this,[n,...i])}}}))}};0&&(module.exports={}); +`)+t+L1(e.data.archive)+qb(e.data.settings)}var Cf=class{constructor(t){this.stateManager=t}newItem(t,r,n){return VE(this.stateManager,t,r,n)}updateItemContent(t,r){return _f(this.stateManager,t,r)}boardToMd(t){return jE(t)}mdToBoard(t){let{ast:r,settings:n,frontmatter:i}=KE(this.stateManager,t),a=UE(this.stateManager,n,i,r,t);if(!this.stateManager.hasError()&&this.stateManager.state){let s=Jd(this.stateManager.state,a).filter(l=>["/id","/dom","/date","/time","/titleSearch","/file"].every(c=>!l.path.endsWith(c))),u=(0,qE.immutableJSONPatch)(this.stateManager.state,s);return Yw(this.stateManager,u,s)}return qw(this.stateManager,a)}reparseBoard(){return WE(this.stateManager,this.stateManager.state)}};var Df=class{constructor(t,r,n,i,a){this.stateReceivers=[];this.settingsNotifiers=new Map;this.viewSet=new Set;this.compiledSettings={};this.newBoardPromise=null;this.getSetting=(t,r)=>r&&r[t]!==void 0?r[t]:this.compiledSettings&&this.compiledSettings[t]!==void 0?this.compiledSettings[t]:this.getSettingRaw(t);this.getSettingRaw=(t,r)=>{var n,i;return r&&r[t]!==void 0?r[t]:((i=(n=this.state)==null?void 0:n.data)==null?void 0:i.settings)&&this.state.data.settings[t]!==void 0?this.state.data.settings[t]:this.getGlobalSetting(t)};this.getGlobalSetting=t=>{let r=this.getGlobalSettings();return r&&r[t]!==void 0?r[t]:null};this.app=t,this.file=r.file,this.onEmpty=i,this.getGlobalSettings=a,this.parser=new Cf(this),this.registerView(r,n,!0)}getAView(){return this.viewSet.values().next().value}hasError(){var t,r,n;return!!((n=(r=(t=this.state)==null?void 0:t.data)==null?void 0:r.errors)==null?void 0:n.length)}registerView(t,r,n){this.viewSet.has(t)||(this.viewSet.add(t),t.initHeaderButtons()),n&&(this.newBoardPromise!==null?this.newBoardPromise.then(()=>this.newBoard(r)):this.newBoardPromise=this.newBoard(r).then(()=>{this.newBoardPromise=null}).catch(i=>{console.error(i),this.setError(i)}))}unregisterView(t){this.viewSet.has(t)&&(this.viewSet.delete(t),this.viewSet.size===0&&this.onEmpty())}buildSettingRetrievers(){return{getGlobalSettings:this.getGlobalSettings,getGlobalSetting:this.getGlobalSetting,getSetting:this.getSetting}}async newBoard(t){try{await this.setState(await this.getParsedBoard(t),!1)}catch(r){this.setError(r)}}saveToDisk(){if(this.state.data.errors.length>0)return;let t=this.getAView();if(t){let r=this.parser.boardToMd(this.state);t.requestSaveToDisk(r),this.viewSet.forEach(n=>{n.data=r})}}softRefresh(){this.stateReceivers.forEach(t=>t({...this.state}))}async forceRefresh(){if(this.state)try{this.compileSettings(),this.state=await this.parser.reparseBoard(),this.stateReceivers.forEach(t=>t(this.state)),this.settingsNotifiers.forEach(t=>{t.forEach(r=>r())}),this.viewSet.forEach(t=>t.initHeaderButtons())}catch(t){console.error(t),this.setError(t)}}async setState(t,r=!0){var n;try{let i=(n=this.state)==null?void 0:n.data.settings,a=typeof t=="function"?await t(this.state):t,o=a==null?void 0:a.data.settings;i&&o&&Gb(i,o)?(this.state=(0,Vi.default)(this.state,{data:{settings:{$set:o}}}),this.compileSettings(),this.state=await this.parser.reparseBoard()):(this.state=a,this.compileSettings()),this.viewSet.forEach(s=>s.initHeaderButtons()),r&&this.saveToDisk(),this.stateReceivers.forEach(s=>s(this.state)),i!==o&&o&&this.settingsNotifiers.forEach((s,u)=>{(!i&&o||i[u]!==o[u])&&s.forEach(l=>l())})}catch(i){console.error(i),this.setError(i)}}useState(){let[t,r]=P.useState(this.state);return P.useEffect(()=>(this.stateReceivers.push(n=>{r(n)}),r(this.state),()=>{this.stateReceivers.remove(r)}),[]),t}useSetting(t){let[r,n]=P.useState(this.getSetting(t));return P.useEffect(()=>{let i=()=>{n(this.getSetting(t))};return this.settingsNotifiers.has(t)?this.settingsNotifiers.get(t).push(i):this.settingsNotifiers.set(t,[i]),()=>{this.settingsNotifiers.get(t).remove(i)}},[]),r}compileSettings(t){var s,u,l,c,d,f,p;let r=this.getGlobalSetting("metadata-keys")||[],n=this.getSettingRaw("metadata-keys",t)||[],i=this.getSettingRaw("date-format",t)||Nr(this.app),a=this.getSettingRaw("time-format",t)||ui(this.app),o=this.getSettingRaw("prepend-archive-format",t)||`${i} ${a}`;this.compiledSettings={"date-format":i,"date-display-format":this.getSettingRaw("date-display-format",t)||i,"date-trigger":this.getSettingRaw("date-trigger",t)||js,"time-format":a,"time-trigger":this.getSettingRaw("time-trigger",t)||qs,"link-date-to-daily-note":this.getSettingRaw("link-date-to-daily-note",t),"hide-date-in-title":this.getSettingRaw("hide-date-in-title",t),"hide-tags-in-title":this.getSettingRaw("hide-tags-in-title",t),"metadata-keys":[...r,...n],"prepend-archive-separator":this.getSettingRaw("prepend-archive-separator")||"","prepend-archive-format":o,"show-add-list":(s=this.getSettingRaw("show-add-list",t))!=null?s:!0,"show-archive-all":(u=this.getSettingRaw("show-archive-all",t))!=null?u:!0,"show-view-as-markdown":(l=this.getSettingRaw("show-view-as-markdown",t))!=null?l:!0,"show-board-settings":(c=this.getSettingRaw("show-board-settings",t))!=null?c:!0,"show-search":(d=this.getSettingRaw("show-search",t))!=null?d:!0,"tag-colors":(f=this.getSettingRaw("tag-colors",t))!=null?f:[],"date-colors":(p=this.getSettingRaw("date-colors",t))!=null?p:[]}}async getParsedBoard(t){let r=t.trim(),n={...hs,id:this.file.path,children:[],data:{archive:[],settings:{"kanban-plugin":"basic"},frontmatter:{},isSearching:!1,errors:[]}};try{r&&(n=await this.parser.mdToBoard(r))}catch(i){console.error(i),n=(0,Vi.default)(n,{data:{errors:{$push:[{description:i.toString(),stack:i.stack}]}}})}return n}setError(t){this.setState((0,Vi.default)(this.state,{data:{errors:{$push:[{description:t.toString(),stack:t.stack}]}}}),!1)}onFileMetadataChange(){this.reparseBoardFromMd()}async reparseBoardFromMd(){try{this.setState(await this.getParsedBoard(this.getAView().data),!1)}catch(t){console.error(t),this.setError(t)}}async archiveCompletedCards(){let t=this.state,r=[],n=!!this.getSetting("prepend-archive-date"),i=this.getSetting("prepend-archive-separator"),a=this.getSetting("prepend-archive-format"),o=u=>{let l=[(0,YE.moment)().format(a)];i&&l.push(i),l.push(u.data.titleRaw);let c=l.join(" ");return this.parser.updateItemContent(u,c)},s=t.children.map(u=>(0,Vi.default)(u,{children:{$set:u.children.filter(l=>((u.data.shouldMarkItemsComplete||l.data.isComplete)&&r.push(l),!l.data.isComplete&&!u.data.shouldMarkItemsComplete))}}));this.app.workspace.trigger("kanban:board-cards-archived",this.file,r);try{this.setState((0,Vi.default)(t,{children:{$set:s},data:{archive:{$push:n?await Promise.all(r.map(u=>o(u))):r}}}))}catch(u){this.setError(u)}}getNewItem(t,r,n){return this.parser.newItem(t,r,n)}updateItemContent(t,r){return this.parser.updateItemContent(t,r)}};var Tf=class extends Dt.Plugin{constructor(){super(...arguments);this.settings={};this.kanbanFileModes={};this.stateManagers=new Map;this.windowRegistry=new Map;this._loaded=!1;this.isShiftPressed=!1;this.handleShift=t=>{this.isShiftPressed=t.shiftKey}}async loadSettings(){this.settings=Object.assign({},await this.loadData())}async saveSettings(){await this.saveData(this.settings)}unload(){Promise.all(app.workspace.getLeavesOfType(yn).map(t=>(this.kanbanFileModes[t.id]="markdown",this.setMarkdownView(t)))).then(()=>{super.unload()})}onunload(){this.windowRegistry.forEach((t,r)=>{t.viewStateReceivers.forEach(n=>n([])),this.unmount(r)}),this.unmount(window),this.stateManagers.clear(),this.windowRegistry.clear(),this.kanbanFileModes={},window.removeEventListener("keydown",this.handleShift),window.removeEventListener("keyup",this.handleShift),app.workspace.unregisterHoverLinkSource(gn)}async onload(){var t,r;await this.loadSettings(),this.registerEvent(app.workspace.on("window-open",(n,i)=>{this.mount(i)})),this.registerEvent(app.workspace.on("window-close",(n,i)=>{this.unmount(i)})),this.settingsTab=new Vd(this,{onSettingsChange:async n=>{this.settings=n,await this.saveSettings(),this.stateManagers.forEach(i=>{i.forceRefresh()})}}),this.addSettingTab(this.settingsTab),this.registerView(yn,n=>new tr(n,this)),this.registerMonkeyPatches(),this.registerCommands(),this.registerEvents(),this.mount(window),(r=(t=app.workspace.floatingSplit)==null?void 0:t.children)==null||r.forEach(n=>{this.mount(n.win)}),window.addEventListener("keydown",this.handleShift),window.addEventListener("keyup",this.handleShift)}getKanbanViews(t){let r=this.windowRegistry.get(t);return r?Array.from(r.viewMap.values()):[]}getKanbanView(t,r){let n=this.windowRegistry.get(r);if(n==null?void 0:n.viewMap.has(t))return n.viewMap.get(t);for(let i of this.windowRegistry.values())if(i.viewMap.has(t))return i.viewMap.get(t);return null}getStateManager(t){return this.stateManagers.get(t)}getStateManagerFromViewID(t,r){let n=this.getKanbanView(t,r);return n?this.stateManagers.get(n.file):null}useViewState(t){let[r,n]=P.useState(this.getKanbanViews(t));return P.useEffect(()=>{let i=this.windowRegistry.get(t);return i==null||i.viewStateReceivers.push(n),()=>{i==null||i.viewStateReceivers.remove(n)}},[t]),r}addView(t,r,n){let i=t.getWindow(),a=this.windowRegistry.get(i);if(!a)return;a.viewMap.has(t.id)||a.viewMap.set(t.id,t);let o=t.file;this.stateManagers.has(o)?this.stateManagers.get(o).registerView(t,r,n):this.stateManagers.set(o,new Df(this.app,t,r,()=>this.stateManagers.delete(o),()=>this.settings)),a.viewStateReceivers.forEach(s=>s(this.getKanbanViews(i)))}removeView(t){let r=Array.from(this.windowRegistry.entries()).find(([,o])=>o.viewMap.has(t.id),[]);if(!r)return;let[n,i]=r,a=t.file;i.viewMap.has(t.id)&&i.viewMap.delete(t.id),this.stateManagers.has(a)&&(this.stateManagers.get(a).unregisterView(t),i.viewStateReceivers.forEach(o=>o(this.getKanbanViews(n))))}handleViewFileRename(t,r){let n=t.getWindow();if(!this.windowRegistry.has(n))return;let i=this.windowRegistry.get(n),a=`${t.leaf.id}:::${r}`;i.viewMap.has(a)&&i.viewMap.delete(a),i.viewMap.has(t.id)||i.viewMap.set(t.id,t),t.isPrimary&&this.getStateManager(t.file).softRefresh()}mount(t){if(this.windowRegistry.has(t))return;let r=t.document.body.createDiv();this.windowRegistry.set(t,{viewMap:new Map,viewStateReceivers:[],appRoot:r}),P.render(Vb(t,this),r)}unmount(t){if(!this.windowRegistry.has(t))return;let r=this.windowRegistry.get(t);for(let n of r.viewMap.values())n.destroy();P.unmountComponentAtNode(r.appRoot),r.appRoot.remove(),r.viewMap.clear(),r.viewStateReceivers.length=0,r.appRoot=null,this.windowRegistry.delete(t)}async setMarkdownView(t,r=!0){await t.setViewState({type:"markdown",state:t.view.getState(),popstate:!0},{focus:r})}async setKanbanView(t){await t.setViewState({type:yn,state:t.view.getState(),popstate:!0})}async newKanban(t){var n;let r=t||app.fileManager.getNewFileParent(((n=app.workspace.getActiveFile())==null?void 0:n.path)||"");try{let i=await app.fileManager.createNewMarkdownFile(r,L("Untitled Kanban"));await app.vault.modify(i,Td),await app.workspace.getLeaf().setViewState({type:yn,state:{file:i.path}})}catch(i){console.error("Error creating kanban board:",i)}}registerEvents(){this.registerEvent(app.workspace.on("file-menu",(r,n,i,a)=>{if(n instanceof Dt.TFolder){r.addItem(o=>{o.setTitle(L("New kanban board")).setIcon(Ua).onClick(()=>this.newKanban(n))});return}if(!Dt.Platform.isMobile&&n instanceof Dt.TFile&&a&&i==="sidebar-context-menu"&&bc(n)){let o=this.getKanbanViews(Ze(a.view.containerEl)),s=!1;for(let u of o)if(u.file===n){u.onPaneMenu(r,"more-options",!1),s=!0;break}if(!s){r.addItem(u=>{u.setTitle(L("Open as kanban board")).setIcon(Ua).setSection("pane").onClick(()=>{this.kanbanFileModes[a.id||n.path]=yn,this.setKanbanView(a)})});return}}(a==null?void 0:a.view)instanceof Dt.MarkdownView&&n instanceof Dt.TFile&&i==="pane-more-options"&&bc(n)&&r.addItem(o=>{o.setTitle(L("Open as kanban board")).setIcon(Ua).setSection("pane").onClick(()=>{this.kanbanFileModes[a.id||n.path]=yn,this.setKanbanView(a)})})})),this.registerEvent(app.vault.on("rename",(r,n)=>{app.workspace.getLeavesOfType(yn).forEach(a=>{a.view.handleRename(r.path,n)})}));let t=(0,Dt.debounce)(r=>{this.stateManagers.forEach(n=>{n.file!==r&&n.onFileMetadataChange()})},2e3,!0);this.registerEvent(app.vault.on("modify",r=>{r instanceof Dt.TFile&&t(r)})),this.registerEvent(app.metadataCache.on("changed",r=>{t(r)})),this.registerEvent(app.metadataCache.on("dataview:metadata-change",(r,n)=>{t(n)})),this.registerEvent(app.metadataCache.on("dataview:api-ready",()=>{this.stateManagers.forEach(r=>{r.forceRefresh()})})),app.workspace.registerHoverLinkSource(gn,{display:"Kanban",defaultMod:!0})}registerCommands(){this.addCommand({id:"create-new-kanban-board",name:L("Create new board"),callback:()=>this.newKanban()}),this.addCommand({id:"archive-completed-cards",name:L("Archive completed cards in active board"),checkCallback:t=>{let r=app.workspace.getActiveViewOfType(tr);if(!r)return!1;if(t)return!0;this.stateManagers.get(r.file).archiveCompletedCards()}}),this.addCommand({id:"toggle-kanban-view",name:L("Toggle between Kanban and markdown mode"),checkCallback:t=>{let r=app.workspace.getActiveFile();if(!r)return!1;let n=app.metadataCache.getFileCache(r),i=!!(n==null?void 0:n.frontmatter)&&!!n.frontmatter[gn];if(t)return i;let a=app.workspace.getActiveViewOfType(tr);if(a)this.kanbanFileModes[a.leaf.id||r.path]="markdown",this.setMarkdownView(a.leaf);else if(i){let o=app.workspace.getActiveViewOfType(Dt.MarkdownView);o&&(this.kanbanFileModes[o.leaf.id||r.path]=yn,this.setKanbanView(o.leaf))}}}),this.addCommand({id:"convert-to-kanban",name:L("Convert empty note to Kanban"),checkCallback:t=>{let r=app.workspace.getActiveViewOfType(Dt.MarkdownView);if(!r)return!1;let n=r.file.stat.size===0;if(t)return n;n&&app.vault.modify(r.file,Td).then(()=>{this.setKanbanView(r.leaf)}).catch(i=>console.error(i))}}),this.addCommand({id:"add-kanban-lane",name:L("Add a list"),checkCallback:t=>{let r=app.workspace.getActiveViewOfType(tr);if(t)return r&&r instanceof tr;r&&r instanceof tr&&r.emitter.emit("showLaneForm",void 0)}})}registerMonkeyPatches(){let t=this;app.workspace.onLayoutReady(()=>{this.register(Il(app.commands,{executeCommand(r){return function(n){let i=app.workspace.getActiveViewOfType(tr);return i&&(n==null?void 0:n.id)&&i.emitter.emit("hotkey",n.id),r.call(this,n)}}}))}),this.register(Il(Dt.WorkspaceLeaf.prototype,{detach(r){return function(){var i;let n=(i=this.view)==null?void 0:i.getState();return(n==null?void 0:n.file)&&t.kanbanFileModes[this.id||n.file]&&delete t.kanbanFileModes[this.id||n.file],r.apply(this)}},setViewState(r){return function(n,...i){var a;if(t._loaded&&n.type==="markdown"&&((a=n.state)==null?void 0:a.file)&&t.kanbanFileModes[this.id||n.state.file]!=="markdown"){let o=t.app.metadataCache.getCache(n.state.file);if((o==null?void 0:o.frontmatter)&&o.frontmatter[gn]){let s={...n,type:yn};return t.kanbanFileModes[n.state.file]=yn,r.apply(this,[s,...i])}}return r.apply(this,[n,...i])}}}))}};0&&(module.exports={}); /*! * Fuse.js v3.4.5 - Lightweight fuzzy-search (http://fusejs.io) * diff --git a/.obsidian/plugins/obsidian-kanban/manifest.json b/.obsidian/plugins/obsidian-kanban/manifest.json index b5034019..da790eab 100644 --- a/.obsidian/plugins/obsidian-kanban/manifest.json +++ b/.obsidian/plugins/obsidian-kanban/manifest.json @@ -1,8 +1,8 @@ { "id": "obsidian-kanban", "name": "Kanban", - "version": "1.4.6", - "minAppVersion": "0.15.3", + "version": "1.5.1", + "minAppVersion": "1.0.0", "description": "Create markdown-backed Kanban boards in Obsidian.", "author": "mgmeyers", "authorUrl": "https://github.com/mgmeyers/obsidian-kanban", diff --git a/.obsidian/plugins/obsidian-kanban/styles.css b/.obsidian/plugins/obsidian-kanban/styles.css index 3503594c..304274d8 100644 --- a/.obsidian/plugins/obsidian-kanban/styles.css +++ b/.obsidian/plugins/obsidian-kanban/styles.css @@ -1 +1 @@ -.choices{position:relative;margin-bottom:24px;font-size:16px}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none!important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:7.5px}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #dddddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:#333333 transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:transparent transparent #333333 transparent;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -4px 0 8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #dddddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:4px 16px 4px 4px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#fff;word-break:break-all;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #dddddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all;will-change:visibility}.choices__list--dropdown.is-active{visibility:visible}.is-open .choices__list--dropdown{border-color:#b7b7b7}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item{text-align:right}@media (min-width: 640px){.choices__list--dropdown .choices__item--selectable{padding-right:100px}.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}.choices__input:focus{outline:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\fffd;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate(0)}}.workspace-leaf-content[data-type=kanban] .view-content{padding:0}.kanban-plugin{--lane-width: 272px}.kanban-plugin{contain:content;background-color:var(--background-secondary-alt);height:100%;width:100%;position:relative;display:flex;flex-direction:column}.kanban-plugin.something-is-dragging *{pointer-events:none}.kanban-plugin__item button,.kanban-plugin__lane button,.kanban-plugin button{line-height:1;padding:10px 12px;margin:0;transition:.1s color,.1s background-color}.kanban-plugin__search-wrapper{width:100%;position:sticky;top:0;left:0;padding:10px 13px;display:flex;justify-content:flex-end;align-items:center;z-index:2;background-color:var(--background-secondary);border-bottom:1px solid var(--background-modifier-border)}button.kanban-plugin__search-cancel-button{display:flex;line-height:1;padding:6px;border:1px solid var(--background-modifier-border);background:var(--background-secondary-alt);color:var(--text-muted);margin:0 0 0 5px;font-size:16px}button.kanban-plugin__search-cancel-button .kanban-plugin__icon{display:flex}.kanban-plugin__icon{display:inline-block;line-height:1}.kanban-plugin__icon>svg{width:1em;height:1em}.kanban-plugin__board{display:flex;width:100%;height:100%}.kanban-plugin__board>div{display:flex;align-items:flex-start;justify-content:flex-start;padding:1rem;width:fit-content;height:100%}.kanban-plugin__board.is-adding-lane>div{padding-right:calc(250px + 1rem)}.kanban-plugin__lane-wrapper{display:flex;flex-shrink:0;margin-right:10px;max-height:100%;width:var(--lane-width)}.kanban-plugin__lane{width:100%;display:flex;flex-direction:column;background-color:var(--background-secondary);border-radius:6px;border:1px solid var(--background-modifier-border)}.kanban-plugin__placeholder.kanban-plugin__lane-placeholder{height:100%;flex-grow:1;margin-right:5px}.kanban-plugin__lane.is-hidden{display:none}.kanban-plugin__lane button{padding:8px 10px}.kanban-plugin__lane-form-wrapper{position:absolute;top:1rem;right:1rem;width:250px;background-color:var(--background-secondary);border-radius:6px;border:2px solid rgba(var(--interactive-accent-rgb),.7);z-index:var(--layer-popover);box-shadow:0 .5px 1px .5px #0000001a,0 2px 10px #0000001a,0 10px 20px #0000001a}.kanban-plugin__lane-input-wrapper{padding:10px}.kanban-plugin__item-input-actions,.kanban-plugin__lane-input-actions{display:flex;align-items:flex-start;justify-content:flex-start;padding:0 10px 10px}.kanban-plugin__item-input-actions button,.kanban-plugin__lane-input-actions button{display:block;margin-right:5px}.kanban-plugin__item-action-add,.kanban-plugin__lane-action-add{background-color:var(--interactive-accent);color:var(--text-on-accent)}.kanban-plugin__item-action-add:hover,.kanban-plugin__lane-action-add:hover{background-color:var(--interactive-accent-hover)}.kanban-plugin__lane-header-wrapper{padding:10px 11px;display:flex;align-items:center;flex-shrink:0;flex-grow:0;border-bottom:1px solid var(--background-modifier-border)}.will-prepend .kanban-plugin__lane-header-wrapper{border-bottom:none}.kanban-plugin__lane-grip{cursor:grab;flex-grow:0;margin-right:5px;color:var(--text-faint)}.kanban-plugin__lane-grip>svg{display:block;height:1rem}.kanban-plugin__lane-title{font-weight:600;font-size:.875rem;flex-grow:1;width:100%;display:flex;flex-direction:column}.kanban-plugin__lane-title-text{flex-grow:1}div.kanban-plugin__markdown-preview-view>div>*{overflow-wrap:anywhere}div.kanban-plugin__lane-title-count{background-color:var(--background-secondary-alt);border-radius:3px;color:var(--text-muted);display:block;font-size:13px;line-height:1;padding:4px;margin-left:5px}div.kanban-plugin__lane-title-count.wip-exceeded{font-weight:bold;color:var(--text-normal);background-color:rgba(var(--background-modifier-error-rgb),.25)}.kanban-plugin__item button.kanban-plugin__item-prefix-button,.kanban-plugin__item button.kanban-plugin__item-postfix-button,.kanban-plugin__lane button.kanban-plugin__lane-settings-button{font-size:13px;line-height:1;color:var(--text-muted);padding:4px;display:flex;margin-left:5px;background-color:transparent;margin-right:-4px}.kanban-plugin__item button.kanban-plugin__item-prefix-button{margin:4px 7px 4px 0;padding:0}.kanban-plugin__item button.kanban-plugin__item-prefix-button.is-enabled,.kanban-plugin__item button.kanban-plugin__item-postfix-button.is-enabled,.kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled{color:var(--text-accent)}.kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,.kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,.kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{background-color:transparent;color:var(--text-normal)}.kanban-plugin__lane-action-wrapper,.kanban-plugin__item-edit-archive-button,.kanban-plugin__item-settings-actions .kanban-plugin__icon,.kanban-plugin__item-edit-archive-button>.kanban-plugin__icon,.kanban-plugin__item-prefix-button>.kanban-plugin__icon,.kanban-plugin__item-postfix-button>.kanban-plugin__icon,.kanban-plugin__lane-settings-button>.kanban-plugin__icon{display:flex}.kanban-plugin__lane-settings-button-wrapper{display:flex}button.kanban-plugin__lane-settings-button+button.kanban-plugin__lane-settings-button{margin-left:2px}.kanban-plugin__lane-settings-button svg{width:1em;height:1em}.kanban-plugin__lane-items-wrapper{margin:4px;height:100%}.kanban-plugin__lane-items{padding:4px;margin:0 4px;display:flex;flex-direction:column}.kanban-plugin__lane-items>.kanban-plugin__placeholder{flex-grow:1}.kanban-plugin__lane-items>.kanban-plugin__placeholder:only-child{height:2.55em;border:3px dashed rgba(var(--text-muted-rgb),.1);margin-bottom:4px;border-radius:6px;transition:border .2s ease}.is-sorting .kanban-plugin__lane-items>.kanban-plugin__placeholder:only-child{border-color:rgba(var(--interactive-accent-rgb),.6)}.kanban-plugin__lane-items>div{margin-top:4px}.kanban-plugin__item-button-wrapper{border-top:1px solid var(--background-modifier-border);padding:8px;flex-shrink:0;flex-grow:0}.kanban-plugin__lane-header-wrapper+.kanban-plugin__item-button-wrapper{border-top:none;border-bottom:1px solid var(--background-modifier-border);padding:4px 8px 8px}.kanban-plugin__item-button-wrapper>button{text-align:left;width:100%}.kanban-plugin__item-form{border-top:1px solid var(--background-modifier-border);padding:8px}.kanban-plugin__lane-header-wrapper+.kanban-plugin__item-form{border-top:none;border-bottom:1px solid var(--background-modifier-border);padding:4px 8px 8px}.kanban-plugin__item-input-wrapper{display:flex;flex-direction:column}.kanban-plugin button.kanban-plugin__item-submit-button{background-color:var(--background-secondary-alt);flex-grow:0;flex-shrink:1;width:auto;margin-top:5px;line-height:1;font-size:14px}button.kanban-plugin__new-item-button{background-color:transparent;color:var(--text-muted)}.kanban-plugin__new-item-button:hover{color:var(--text-on-accent);background-color:var(--interactive-accent-hover)}.kanban-plugin__item{font-size:.875rem;border:1px solid var(--background-modifier-border);border-radius:6px;overflow:hidden;transition:.3s opacity cubic-bezier(.25,1,.5,1)}.kanban-plugin__drag-container>.kanban-plugin__item-wrapper .kanban-plugin__item{border-color:var(--interactive-accent);box-shadow:0 15px 25px #0003,0 0 0 2px rgba(var(--interactive-accent-rgb),.8)}.kanban-plugin__item.is-search-hit{box-shadow:0 15px 25px #0003,0 0 0 1px var(--background-modifier-border)}.kanban-plugin__item.is-search-miss{font-size:.75rem;opacity:.5}.kanban-plugin__item.is-search-miss .kanban-plugin__item-metadata-wrapper{display:none}.kanban-plugin__item-content-wrapper{background:var(--background-primary)}.kanban-plugin__item-title-wrapper{background:var(--background-primary);display:flex;padding:6px 8px}.kanban-plugin__item-title-wrapper:not(:only-child){border-bottom:1px solid var(--background-modifier-border)}.kanban-plugin__item-title{width:100%;line-height:1.5;overflow:hidden}.kanban-plugin__markdown-preview-view{font-family:var(--font-text, var(--default-font));font-size:.875rem;padding:unset;width:unset;height:unset;position:unset;overflow-y:unset;overflow-wrap:unset;color:unset;user-select:unset;-webkit-user-select:unset}.kanban-plugin__markdown-preview-view p,.kanban-plugin__markdown-preview-view ul,.kanban-plugin__markdown-preview-view ol,.kanban-plugin__markdown-preview-view blockquote{margin-block-start:.66em;margin-block-end:.66em}.kanban-plugin__markdown-preview-view blockquote{margin-inline-start:0;margin-inline-end:0}.kanban-plugin__markdown-preview-view ul ol,.kanban-plugin__markdown-preview-view ol ul,.kanban-plugin__markdown-preview-view ul ul,.kanban-plugin__markdown-preview-view ol ol{margin-block-start:0em;margin-block-end:0em}.kanban-plugin__markdown-preview-view>div>*{overflow-x:auto;overflow-wrap:break-word}.kanban-plugin__markdown-preview-view>div>*:first-child,.kanban-plugin__markdown-preview-view>div>.frontmatter-container+*{margin-top:0}.kanban-plugin__markdown-preview-view>div>*:last-child{margin-bottom:0}.kanban-plugin__markdown-preview-view ul,.kanban-plugin__markdown-preview-view ol{padding-inline-start:24px}.kanban-plugin__meta-value .kanban-plugin__markdown-preview-view p,.kanban-plugin__meta-value .kanban-plugin__markdown-preview-view{font-size:inherit;color:inherit;line-height:inherit}.kanban-plugin__markdown-preview-view.inline p,.kanban-plugin__markdown-preview-view.inline{display:inline-block}.kanban-plugin__markdown-preview-view .frontmatter,.kanban-plugin__markdown-preview-view .frontmatter-container{display:none}.kanban-plugin__markdown-preview-view .file-link span{display:inline-flex;align-items:center;justify-content:center;color:var(--text-faint);margin-left:2px;position:relative;top:3px}.kanban-plugin__embed-link-wrapper{padding:2px;float:right}.kanban-plugin__item-metadata-wrapper:not(:empty){background-color:var(--background-primary-alt);padding:6px 8px}.kanban-plugin__item-metadata:not(:empty){padding-top:5px;font-size:12px;font-weight:500;color:var(--text-muted)}.kanban-plugin__item-metadata>span{display:block}.kanban-plugin__item-metadata .is-button{cursor:pointer}.kanban-plugin__item-metadata .is-button:hover{color:var(--text-normal)}.kanban-plugin__item-metadata-date-relative:first-letter{text-transform:uppercase}.kanban-plugin__item-metadata a{text-decoration:none}.kanban-plugin__item-metadata-time:before{content:" \2022 "}.kanban-plugin__item-metadata-time.is-button:hover:before{color:var(--text-muted)}.kanban-plugin__item-tags:not(:empty){padding-top:2px}.kanban-plugin__item-tag{display:inline-block;margin-right:4px}.kanban-plugin__item-tags .kanban-plugin__item-tag{background-color:var(--tag-background-color, rgba(var(--interactive-accent-rgb), .1));color:var(--tag-color, var(--text-accent));padding:1px 4px;border-radius:6px;margin:3px 3px 0 0}.kanban-plugin__item-tag.is-search-match,.kanban-plugin__item-tags .kanban-plugin__item-tag.is-search-match{background-color:var(--text-highlight-bg);color:var(--text-normal)}.kanban-plugin__meta-table{width:100%;margin:0;line-height:1.5;font-size:.75rem}.kanban-plugin__meta-table td{vertical-align:top;padding:3px 0;width:10%}.kanban-plugin__meta-table td+td{width:90%}.kanban-plugin__meta-table td:only-child{width:100%}.kanban-plugin__meta-table td.kanban-plugin__meta-key{white-space:nowrap;padding-right:5px;color:var(--text-muted)}.kanban-plugin__meta-table td.kanban-plugin__meta-key.is-search-match>span{background-color:var(--text-highlight-bg);color:var(--text-normal)}.kanban-plugin__meta-value{white-space:pre-wrap;display:flex}.kanban-plugin__meta-value>.is-search-match,.kanban-plugin__meta-value.is-search-match{background-color:var(--text-highlight-bg);color:var(--text-normal)}.kanban-plugin__item-prefix-button-wrapper,.kanban-plugin__item-postfix-button-wrapper{display:flex;flex-grow:0;flex-shrink:0}.kanban-plugin__item-prefix-button-wrapper{flex-direction:column}.kanban-plugin__item-prefix-button-wrapper input[type=checkbox]{margin:4px 7px 4px 0;width:15px;height:15px;filter:hue-rotate(42deg)}.kanban-plugin__item-prefix-button-wrapper input[type=checkbox]+button{margin-top:10px}button.kanban-plugin__item-postfix-button{visibility:hidden;opacity:0;transition:.1s opacity;display:flex;align-self:flex-start}button.kanban-plugin__item-postfix-button.is-enabled,.kanban-plugin__item:hover button.kanban-plugin__item-postfix-button{visibility:visible;opacity:1}.kanban-plugin__item-settings-actions{padding:5px;display:flex}.kanban-plugin__item-settings-actions>button{line-height:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;width:100%}.kanban-plugin__lane-action-wrapper button>.kanban-plugin__icon,.kanban-plugin__item-settings-actions button>.kanban-plugin__icon{margin-right:5px}.kanban-plugin__item-settings-actions>button:first-child,.kanban-plugin__lane-action-wrapper>button:first-child{margin-right:2.5px}.kanban-plugin__item-settings-actions>button:last-child,.kanban-plugin__lane-action-wrapper>button:last-child{margin-left:2.5px}.kanban-plugin__archive-lane-button,.kanban-plugin__item-button-archive{color:var(--text-muted);border:1px solid var(--background-modifier-border)}.kanban-plugin__archive-lane-button:hover,.kanban-plugin__item-button-archive:hover{color:var(--text-normal)}.kanban-plugin__item-button-delete{border:1px solid rgba(var(--background-modifier-error-rgb),.15);color:rgba(var(--background-modifier-error-rgb),1)}.kanban-plugin__item-button-delete:hover{background-color:rgba(var(--background-modifier-error-rgb),.2);color:var(--text-error)}.theme-dark .kanban-plugin__item-button-delete{background-color:transparent;border:1px solid rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.theme-dark .kanban-plugin__item-button-delete:hover{background-color:rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.kanban-plugin__checkbox-wrapper{border-top:1px solid var(--background-modifier-border);border-bottom:1px solid var(--background-modifier-border);padding:10px;margin-bottom:10px;display:flex;align-items:center}.kanban-plugin__checkbox-wrapper .checkbox-container{flex-shrink:0;flex-grow:0;margin-left:15px}.kanban-plugin__checkbox-label{font-size:.8125rem;line-height:1.4}.kanban-plugin__lane-setting-wrapper>div{border-top:none;border-bottom:none;padding:10px 15px;margin-bottom:0}.kanban-plugin__lane-setting-wrapper>div:last-child{border-bottom:1px solid var(--background-modifier-border);margin-bottom:10px}.kanban-plugin__action-confirm-wrapper{border:1px solid rgba(var(--background-modifier-error-rgb),.2);background-color:rgba(var(--background-modifier-error-rgb),.1);border-radius:4px;padding:10px;margin:5px 10px}.theme-dark .kanban-plugin__action-confirm-wrapper{border:1px solid rgba(var(--background-modifier-error-rgb),1)}.kanban-plugin__delete-lane-button,.kanban-plugin__archive-lane-button{display:flex;align-items:center;justify-content:center;font-size:.75rem;width:50%}.kanban-plugin__delete-lane-button{border:1px solid rgba(var(--background-modifier-error-rgb),.15);color:rgba(var(--background-modifier-error-rgb),1)}.kanban-plugin__delete-lane-button:hover{background-color:rgba(var(--background-modifier-error-rgb),.2);color:var(--text-error)}.theme-dark .kanban-plugin__delete-lane-button{background-color:transparent;border:1px solid rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.theme-dark .kanban-plugin__delete-lane-button:hover{background-color:rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.kanban-plugin__action-confirm-text{font-size:.875rem;color:var(--text-error);margin-bottom:10px;line-height:1.4}button.kanban-plugin__confirm-action-button{border:1px solid rgba(var(--background-modifier-error-rgb),.2);margin-right:5px;color:var(--text-error)}button.kanban-plugin__confirm-action-button:hover{background-color:rgba(var(--background-modifier-error-rgb),.5)}button.kanban-plugin__cancel-action-button{border:1px solid var(--background-modifier-border)}.kanban-plugin__grow-wrap{width:100%;display:grid}.kanban-plugin__grow-wrap:after{content:attr(data-replicated-value) " ";white-space:pre-wrap;visibility:hidden}.kanban-plugin__grow-wrap>textarea{resize:none;overflow:hidden;tab-size:2}.kanban-plugin__grow-wrap>textarea:focus{border-color:var(--interactive-accent)}.kanban-plugin__grow-wrap>textarea,.kanban-plugin__grow-wrap:after{border:1px solid var(--background-modifier-border);padding:5px 7px;font:inherit;line-height:1.5;grid-area:1 / 1 / 2 / 2;font-size:.875rem;overflow:hidden;overflow-wrap:break-word;white-space:pre-wrap}.kanban-plugin__autocomplete{font-size:.875rem;border:1px solid var(--background-modifier-border);background-color:var(--background-primary);list-style:none;padding:0;margin:0;min-width:20ch;max-width:40ch;max-height:200px;border-radius:6px;box-shadow:0 15px 25px #0003;overflow-x:hidden;overflow-y:auto}.kanban-plugin__autocomplete li{margin:0}.kanban-plugin__autocomplete li em{opacity:.6}.kanban-plugin .textcomplete-footer,.kanban-plugin .textcomplete-header{display:none}.kanban-plugin__autocomplete-item-active,.kanban-plugin__autocomplete-item{border-top:1px solid var(--background-modifier-border);padding:4px 6px;cursor:pointer}.kanban-plugin__autocomplete .textcomplete-header+.kanban-plugin__autocomplete-item,.kanban-plugin__autocomplete .textcomplete-header+.kanban-plugin__autocomplete-item-active{border-top:none}.kanban-plugin__autocomplete-item:hover,.kanban-plugin__autocomplete-item-active{color:var(--text-on-accent);background-color:var(--interactive-accent-hover)}.kanban-plugin__file-suggestion-wrapper{display:flex;line-height:1.2}.kanban-plugin__file-suggestion-icon{flex-shrink:0;flex-grow:0;padding-right:4px}.kanban-plugin__file-suggestion-subtitle{font-size:.875em;color:var(--text-muted)}.kanban-plugin__autocomplete-item:hover .kanban-plugin__file-suggestion-subtitle,.kanban-plugin__autocomplete-item-active .kanban-plugin__file-suggestion-subtitle{color:var(--text-on-accent)}.modal.kanban-plugin__board-settings-modal{max-height:90vh;padding:0;display:flex;flex-direction:column}.modal.kanban-plugin__board-settings-modal .modal-content{padding:30px 50px;height:100%;overflow-y:auto;overflow-x:hidden;margin:0}.kanban-plugin__board-settings-modal .setting-item{flex-wrap:wrap;justify-content:space-between}.kanban-plugin__board-settings-modal .setting-item-info{max-width:400px;min-width:300px;width:50%}.kanban-plugin__board-settings-modal .setting-item-control{min-width:300px;flex-shrink:0}.kanban-plugin__board-settings-modal .choices{width:100%;text-align:left}.kanban-plugin__board-settings-modal .choices[data-type*=select-one] .choices__inner{background-color:var(--background-primary);border-color:var(--background-modifier-border);padding:0;min-height:0}.kanban-plugin__board-settings-modal .choices[data-type*=select-one] .choices__input{background-color:var(--background-primary);border-bottom-color:var(--background-modifier-border);font-size:14px}.kanban-plugin__board-settings-modal .choices__input{border-radius:0;border-top:none;border-left:none;border-right:none}.kanban-plugin__board-settings-modal .choices__list[role=listbox]{overflow-x:hidden}.kanban-plugin__board-settings-modal .choices__list--single{padding:4px 20px 4px 6px}.kanban-plugin__board-settings-modal .is-open .choices__list--dropdown,.kanban-plugin__board-settings-modal .choices__list--dropdown{background-color:var(--background-primary);border-color:var(--background-modifier-border);word-break:normal;max-height:200px;display:flex;flex-direction:column}.kanban-plugin__board-settings-modal .choices__list--dropdown .choices__item--selectable:after{display:none}.kanban-plugin__board-settings-modal .choices__list--dropdown .choices__item--selectable{padding:4px 6px}.kanban-plugin__board-settings-modal .choices__list--dropdown .choices__item.is-highlighted{background-color:var(--background-primary-alt)}.kanban-plugin__board-settings-modal .choices__placeholder{opacity:1;color:var(--text-muted)}.kanban-plugin__board-settings-modal .error{border-color:var(--background-modifier-error-hover)!important}.kanban-plugin__date-picker{position:absolute;z-index:var(--layer-popover);--cell-size: 2.4em}.kanban-plugin__date-picker .flatpickr-input{width:0;height:0;opacity:0;border:none;padding:0;display:block;margin-bottom:-1px}.kanban-plugin__date-picker .flatpickr-current-month{color:var(--text-normal);font-weight:600;font-size:inherit;width:100%;position:static;height:auto;display:flex;align-items:center;justify-content:center;padding:0}.kanban-plugin__date-picker .flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:var(--text-normal)}.kanban-plugin__date-picker .flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:var(--text-normal)}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{fill:currentColor}.kanban-plugin__date-picker .flatpickr-calendar{font-size:13px;overflow:hidden;background-color:var(--background-primary);width:calc(var(--cell-size) * 7 + 8px);box-shadow:0 0 0 1px var(--background-modifier-border),0 15px 25px #0003}.kanban-plugin__date-picker .flatpickr-months{font-size:13px;padding:2px 2px 4px;align-items:center}.kanban-plugin__date-picker .flatpickr-months .flatpickr-current-month input.cur-year,.kanban-plugin__date-picker .flatpickr-months select{border-radius:4px;padding:4px}.kanban-plugin__date-picker .flatpickr-months .numInputWrapper{border-radius:4px}.kanban-plugin__date-picker .flatpickr-months .flatpickr-month{width:100%;height:auto}.kanban-plugin__date-picker .flatpickr-months .flatpickr-prev-month,.kanban-plugin__date-picker .flatpickr-months .flatpickr-next-month{color:var(--text-normal);fill:currentColor;border-radius:4px;display:flex;align-items:center;justify-content:center;line-height:1;height:auto;padding:5px;position:static;flex-shrink:0}.kanban-plugin__date-picker .flatpickr-months .flatpickr-prev-month:hover,.kanban-plugin__date-picker .flatpickr-months .flatpickr-next-month:hover{background-color:var(--background-primary-alt);color:var(--text-normal)}.kanban-plugin__date-picker .flatpickr-months .flatpickr-prev-month:hover svg,.kanban-plugin__date-picker .flatpickr-months .flatpickr-next-month:hover svg{fill:currentColor}.kanban-plugin__date-picker .flatpickr-current-month .flatpickr-monthDropdown-months{color:var(--text-normal);font-weight:inherit;margin-right:5px}.kanban-plugin__date-picker .flatpickr-current-month input.cur-year{color:var(--text-normal);font-weight:inherit}.kanban-plugin__date-picker .flatpickr-weekdays{height:auto;padding:8px 0 12px}.kanban-plugin__date-picker span.flatpickr-weekday{font-weight:400;color:var(--text-muted)}.kanban-plugin__date-picker .flatpickr-innerContainer{padding:4px}.kanban-plugin__date-picker .flatpickr-day{color:var(--text-normal);display:inline-flex;align-items:center;justify-content:center;width:var(--cell-size);height:var(--cell-size);line-height:1;border-radius:6px}.kanban-plugin__date-picker .flatpickr-day.today{border-color:var(--interactive-accent)}.kanban-plugin__date-picker .flatpickr-day.today:hover{color:var(--text-normal);border-color:var(--interactive-accent);background-color:var(--background-primary-alt)}.kanban-plugin__date-picker .flatpickr-day.selected{border-color:var(--interactive-accent);background-color:var(--interactive-accent);color:var(--text-on-accent)}.kanban-plugin__date-picker .flatpickr-day.selected:hover{border-color:var(--interactive-accent);background-color:var(--interactive-accent)}.kanban-plugin__date-picker .flatpickr-days{width:calc(var(--cell-size) * 7)}.kanban-plugin__date-picker .dayContainer{width:calc(var(--cell-size) * 7);min-width:calc(var(--cell-size) * 7);max-width:calc(var(--cell-size) * 7)}.kanban-plugin__date-picker .flatpickr-day.inRange,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay.inRange,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay.inRange,.kanban-plugin__date-picker .flatpickr-day.today.inRange,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay.today.inRange,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay.today.inRange,.kanban-plugin__date-picker .flatpickr-day:hover,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay:hover,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay:hover,.kanban-plugin__date-picker .flatpickr-day:focus,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay:focus,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay:focus{background-color:var(--background-primary-alt);border-color:var(--background-primary-alt)}.kanban-plugin__date-picker .flatpickr-day.flatpickr-disabled,.kanban-plugin__date-picker .flatpickr-day.flatpickr-disabled:hover,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay,.kanban-plugin__date-picker .flatpickr-day.notAllowed,.kanban-plugin__date-picker .flatpickr-day.notAllowed.prevMonthDay,.kanban-plugin__date-picker .flatpickr-day.notAllowed.nextMonthDay{color:var(--text-faint)}.kanban-plugin__time-picker{position:absolute;max-height:250px;overflow:auto;border-radius:4px;border:1px solid var(--background-modifier-border);box-shadow:0 2px 8px var(--background-modifier-box-shadow);background:var(--background-primary);color:var(--text-normal);font-size:14px;z-index:var(--layer-menu)}.kanban-plugin__time-picker-item{display:flex;align-items:center;color:var(--text-muted);cursor:pointer;line-height:1;padding:6px 8px}.kanban-plugin__time-picker-check{visibility:hidden;display:inline-flex;margin-right:5px}.kanban-plugin__time-picker-item.is-hour{color:var(--text-normal);font-weight:600}.kanban-plugin__time-picker-item.is-selected .kanban-plugin__time-picker-check{visibility:visible}.kanban-plugin__time-picker-item:hover,.kanban-plugin__time-picker-item.is-selected{background:var(--background-secondary)}.kanban-plugin mark{background-color:var(--text-highlight-bg)}.kanban-plugin__draggable-setting-container{border-top:0;padding:0;flex-direction:column}.kanban-plugin__draggable-setting-container>div{width:100%;margin-right:0!important}.kanban-plugin__setting-item-wrapper{border-top:1px solid var(--background-modifier-border)}.kanban-plugin__draggable-setting-container>.kanban-plugin__placeholder{border-top:1px solid var(--background-modifier-border)}.kanban-plugin__setting-item{background-color:var(--background-secondary);width:100%;font-size:16px;display:flex;align-items:flex-start;padding:12px;color:var(--text-muted)}.kanban-plugin__drag-container .kanban-plugin__setting-item{border:1px solid rgba(var(--interactive-accent-rgb),.8);box-shadow:0 15px 25px #0003,0 0 0 2px rgba(var(--interactive-accent-rgb),.8)}.kanban-plugin__setting-controls-wrapper{flex-grow:1;flex-shrink:1}.kanban-plugin__setting-input-wrapper{display:flex;flex-wrap:wrap;margin-bottom:1rem}.kanban-plugin__setting-input-wrapper>div{margin-right:10px}.kanban-plugin__setting-toggle-wrapper>div{display:flex;align-items:center;line-height:1;margin-bottom:10px}.kanban-plugin__setting-toggle-wrapper .checkbox-container{margin-right:10px}.kanban-plugin__setting-button-wrapper{display:flex;justify-content:flex-end;flex-grow:1;flex-shrink:0;max-width:25px}.kanban-plugin__setting-button-wrapper>div{margin-left:12px}.kanban-plugin__setting-key-input-wrapper{margin:1rem 0}.kanban-plugin__setting-key-input-wrapper>input{margin-right:10px}.kanban-plugin__date-color-input-wrapper,.kanban-plugin__tag-color-input-wrapper{display:flex;flex-direction:column;flex-grow:1;gap:1rem}.kanban-plugin__add-tag-color-button{align-self:baseline;margin:0}.kanban-plugin__date-color-wrapper,.kanban-plugin__tag-color-input .kanban-plugin__item-tags{background-color:var(--background-primary);padding:10px;margin:0;border-radius:4px}.kanban-plugin__tag-color-input .kanban-plugin__item-tag{margin-top:0;font-size:13px;font-weight:500;line-height:1.5}.kanban-plugin__item-metadata>.kanban-plugin__item-metadata-date-wrapper .is-button:hover,.kanban-plugin__item-metadata>.kanban-plugin__item-metadata-date-wrapper{display:inline-block;color:var(--date-color, var(--text-muted))}.kanban-plugin__item-metadata>.kanban-plugin__item-metadata-date-wrapper.has-background{background-color:var(--date-background-color, transparent);padding:1px 6px;margin-top:4px;border-radius:6px}.kanban-plugin__date-color-input-wrapper input[type=number]{width:75px;padding:.6em .8em;height:auto;border-radius:.5em}.kanban-plugin__date-color-input-wrapper .kanban-plugin__setting-item-label{margin-bottom:0}.kanban-plugin__date-color-config{padding:0 0 10px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.kanban-plugin__date-color-wrapper{display:inline-block;margin-top:10px}.kanban-plugin__date-color-wrapper .kanban-plugin__item-metadata{padding:0}.kanban-plugin__metadata-setting-desc{font-size:14px}.kanban-plugin__setting-button-spacer{visibility:hidden}.kanban-plugin__setting-item-label{font-size:12px;font-weight:bold;margin-bottom:5px}.kanban-plugin__setting-toggle-wrapper .kanban-plugin__setting-item-label{margin-bottom:0}.kanban-plugin__hitbox{border:2px dashed tomato}.kanban-plugin__placeholder{flex-grow:0;flex-shrink:0;width:0;height:0;pointer-events:none}.kanban-plugin__placeholder[data-axis=horizontal]{height:100%}.kanban-plugin__placeholder[data-axis=vertical]{width:100%}body:not(.native-scrollbars) .kanban-plugin__scroll-container::-webkit-scrollbar{background-color:transparent;width:16px;height:16px}body:not(.native-scrollbars) .kanban-plugin__scroll-container::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:content-box}.kanban-plugin__scroll-container{will-change:transform}.kanban-plugin__scroll-container.kanban-plugin__horizontal{overflow-y:hidden;overflow-x:auto}.kanban-plugin__scroll-container.kanban-plugin__vertical{overflow-y:auto;overflow-x:hidden}.kanban-plugin__drag-container{contain:layout size;z-index:10000;pointer-events:none;position:fixed;top:0;left:0}.kanban-plugin__loading{background-color:var(--background-secondary-alt);width:100%;height:100%;display:flex;justify-content:center;align-items:center}.sk-pulse{width:60px;height:60px;background-color:var(--text-faint);border-radius:100%;animation:sk-pulse 1.2s infinite cubic-bezier(.455,.03,.515,.955)}@keyframes sk-pulse{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}.kanban-plugin__color-picker-wrapper{position:relative}.kanban-plugin__color-picker{position:absolute;top:-5px;left:0;transform:translateY(-100%)} +.choices{position:relative;margin-bottom:24px;font-size:16px}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none!important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:7.5px}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #dddddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:#333333 transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:transparent transparent #333333 transparent;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -4px 0 8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #dddddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:4px 16px 4px 4px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#fff;word-break:break-all;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #dddddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all;will-change:visibility}.choices__list--dropdown.is-active{visibility:visible}.is-open .choices__list--dropdown{border-color:#b7b7b7}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item{text-align:right}@media (min-width: 640px){.choices__list--dropdown .choices__item--selectable{padding-right:100px}.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}.choices__input:focus{outline:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\fffd;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate(0)}}.workspace-leaf-content[data-type=kanban] .view-content{padding:0}.workspace-leaf-content[data-type=kanban]>.view-header{display:flex}.kanban-plugin{--lane-width: 272px}.kanban-plugin{contain:content;height:100%;width:100%;position:relative;display:flex;flex-direction:column}.kanban-plugin.something-is-dragging{cursor:grabbing;cursor:-webkit-grabbing}.kanban-plugin.something-is-dragging *{pointer-events:none}.kanban-plugin__item button,.kanban-plugin__lane button,.kanban-plugin button{line-height:1;padding:10px 12px;margin:0;transition:.1s color,.1s background-color}.kanban-plugin__search-wrapper{width:100%;position:sticky;top:0;left:0;padding:10px 13px;display:flex;justify-content:flex-end;align-items:center;z-index:2;background-color:var(--background-secondary);border-bottom:1px solid var(--background-modifier-border)}button.kanban-plugin__search-cancel-button{display:flex;line-height:1;padding:6px;border:1px solid var(--background-modifier-border);background:var(--background-secondary-alt);color:var(--text-muted);margin:0 0 0 5px;font-size:16px}button.kanban-plugin__search-cancel-button .kanban-plugin__icon{display:flex}.kanban-plugin__icon{display:inline-block;line-height:1}.kanban-plugin__icon>svg{width:1em;height:1em}.kanban-plugin__board{display:flex;width:100%;height:100%}.kanban-plugin__board>div{display:flex;align-items:flex-start;justify-content:flex-start;padding:1rem;width:fit-content;height:100%}.kanban-plugin__board.is-adding-lane>div{padding-right:calc(250px + 1rem)}.kanban-plugin__lane-wrapper{display:flex;flex-shrink:0;margin-right:10px;max-height:100%;width:var(--lane-width)}.kanban-plugin__lane{width:100%;display:flex;flex-direction:column;background-color:var(--background-secondary);border-radius:6px;border:1px solid var(--background-modifier-border)}.kanban-plugin__placeholder.kanban-plugin__lane-placeholder{height:100%;flex-grow:1;margin-right:5px}.kanban-plugin__lane.is-hidden{display:none}.kanban-plugin__lane button{padding:8px 10px}.kanban-plugin__lane-form-wrapper{position:absolute;top:1rem;right:1rem;width:250px;background-color:var(--background-secondary);border-radius:6px;border:2px solid hsla(var(--interactive-accent-hsl),.7);z-index:var(--layer-popover);box-shadow:0 .5px 1px .5px #0000001a,0 2px 10px #0000001a,0 10px 20px #0000001a}.kanban-plugin__lane-input-wrapper{padding:10px}.kanban-plugin__item-input-actions,.kanban-plugin__lane-input-actions{display:flex;align-items:flex-start;justify-content:flex-start;padding:0 10px 10px}.kanban-plugin__item-input-actions button,.kanban-plugin__lane-input-actions button{display:block;margin-right:5px}.kanban-plugin__item-action-add,.kanban-plugin__lane-action-add{background-color:var(--interactive-accent);color:var(--text-on-accent)}.kanban-plugin__item-action-add:hover,.kanban-plugin__lane-action-add:hover{background-color:var(--interactive-accent-hover)}.kanban-plugin__lane-header-wrapper{padding:8px 12px 8px 8px;display:flex;align-items:center;flex-shrink:0;flex-grow:0;border-bottom:1px solid var(--background-modifier-border)}.will-prepend .kanban-plugin__lane-header-wrapper{border-bottom:none}.kanban-plugin__lane-grip{cursor:grab;flex-grow:0;margin-right:5px;color:var(--text-faint)}.kanban-plugin__lane-grip:active{cursor:grabbing}.kanban-plugin__lane-grip>svg{display:block;height:1rem}.kanban-plugin__lane-title{font-weight:600;font-size:.875rem;flex-grow:1;width:100%;display:flex;flex-direction:column}.kanban-plugin__lane-title-text{flex-grow:1}div.kanban-plugin__markdown-preview-view>div>*{overflow-wrap:anywhere}div.kanban-plugin__lane-title-count{border-radius:3px;color:var(--text-muted);display:block;font-size:13px;line-height:1;padding:4px;margin-left:5px}div.kanban-plugin__lane-title-count.wip-exceeded{font-weight:bold;color:var(--text-normal);background-color:rgba(var(--background-modifier-error-rgb),.25)}.kanban-plugin__item button.kanban-plugin__item-prefix-button,.kanban-plugin__item button.kanban-plugin__item-postfix-button,.kanban-plugin__lane button.kanban-plugin__lane-settings-button{font-size:13px;line-height:1;color:var(--text-muted);padding:4px;display:flex;margin-left:5px;background-color:transparent;margin-right:-4px}.kanban-plugin__item button.kanban-plugin__item-prefix-button.is-enabled,.kanban-plugin__item button.kanban-plugin__item-postfix-button.is-enabled,.kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled{color:var(--text-accent)}.kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,.kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,.kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{background-color:transparent;color:var(--text-normal)}.kanban-plugin__item button.kanban-plugin__item-prefix-button{margin:4px 7px 4px 0;padding:0}.kanban-plugin__lane-action-wrapper,.kanban-plugin__item-edit-archive-button,.kanban-plugin__item-settings-actions .kanban-plugin__icon,.kanban-plugin__item-edit-archive-button>.kanban-plugin__icon,.kanban-plugin__item-prefix-button>.kanban-plugin__icon,.kanban-plugin__item-postfix-button>.kanban-plugin__icon,.kanban-plugin__lane-settings-button>.kanban-plugin__icon{display:flex}.kanban-plugin__lane-settings-button-wrapper{display:flex}button.kanban-plugin__lane-settings-button+button.kanban-plugin__lane-settings-button{margin-left:2px}.kanban-plugin__lane-settings-button svg{width:1em;height:1em}.kanban-plugin__lane-items-wrapper{margin:4px;height:100%}.kanban-plugin__lane-items{padding:4px;margin:0 4px;display:flex;flex-direction:column}.kanban-plugin__lane-items>div{margin-top:4px}.kanban-plugin__lane-items>.kanban-plugin__placeholder{flex-grow:1}.kanban-plugin__lane-items>.kanban-plugin__placeholder:only-child{height:2.55em;border:3px dashed rgba(var(--text-muted-rgb),.1);margin-bottom:4px;border-radius:6px;transition:border .2s ease}.is-sorting .kanban-plugin__lane-items>.kanban-plugin__placeholder:only-child{border-color:hsla(var(--interactive-accent-hsl),.6)}.kanban-plugin__item-button-wrapper{border-top:1px solid var(--background-modifier-border);padding:8px;flex-shrink:0;flex-grow:0}.kanban-plugin__item-button-wrapper>button{text-align:left;width:100%}.kanban-plugin__lane-header-wrapper+.kanban-plugin__item-button-wrapper{border-top:none;border-bottom:1px solid var(--background-modifier-border);padding:4px 8px 8px}.kanban-plugin__item-form{border-top:1px solid var(--background-modifier-border);padding:8px}.kanban-plugin__item-form .kanban-plugin__item-input-wrapper{padding:6px 8px;border:1px solid var(--background-modifier-border);background-color:var(--background-primary);border-radius:var(--input-radius);min-height:var(--input-height)}.kanban-plugin__lane-header-wrapper+.kanban-plugin__item-form{border-top:none;border-bottom:1px solid var(--background-modifier-border);padding:4px 8px 8px}.kanban-plugin__item-input-wrapper{display:flex;flex-direction:column;flex-grow:1}.kanban-plugin button.kanban-plugin__item-submit-button{background-color:var(--background-secondary-alt);flex-grow:0;flex-shrink:1;width:auto;margin-top:5px;line-height:1;font-size:14px}button.kanban-plugin__new-item-button{background-color:transparent;color:var(--text-muted)}.kanban-plugin__new-item-button:hover{color:var(--text-on-accent);background-color:var(--interactive-accent-hover)}.kanban-plugin__drag-container>.kanban-plugin__item-wrapper .kanban-plugin__item{border-color:var(--interactive-accent);box-shadow:var(--shadow-s),0 0 0 2px hsla(var(--interactive-accent-hsl),.2)}.kanban-plugin__item{font-size:.875rem;border:1px solid var(--background-modifier-border);border-radius:var(--input-radius);overflow:hidden;transition:.3s opacity cubic-bezier(.25,1,.5,1)}.kanban-plugin__item.is-search-hit{box-shadow:0 15px 25px #0003,0 0 0 1px var(--background-modifier-border)}.kanban-plugin__item.is-search-miss{font-size:.75rem;opacity:.5}.kanban-plugin__item.is-search-miss .kanban-plugin__item-metadata-wrapper{display:none}.kanban-plugin__item-content-wrapper{background:var(--background-primary)}.kanban-plugin__item-title-wrapper{background:var(--background-primary);display:flex;padding:6px 8px;align-items:center}.kanban-plugin__item-title-wrapper:not(:only-child){border-bottom:1px solid var(--background-modifier-border)}.kanban-plugin__item-title{width:100%;line-height:var(--line-height-tight);overflow:hidden}.kanban-plugin__markdown-preview-view{font-family:var(--font-text, var(--default-font));font-size:.875rem;line-height:var(--line-height-tight);padding:unset;width:unset;height:unset;position:unset;overflow-y:unset;overflow-wrap:unset;color:unset;user-select:unset;-webkit-user-select:unset}.kanban-plugin__markdown-preview-view p,.kanban-plugin__markdown-preview-view ul,.kanban-plugin__markdown-preview-view ol,.kanban-plugin__markdown-preview-view blockquote{margin-block-start:.66em;margin-block-end:.66em}.kanban-plugin__markdown-preview-view blockquote{margin-inline-start:0;margin-inline-end:0}.kanban-plugin__markdown-preview-view ul ol,.kanban-plugin__markdown-preview-view ol ul,.kanban-plugin__markdown-preview-view ul ul,.kanban-plugin__markdown-preview-view ol ol{margin-block-start:0em;margin-block-end:0em}.kanban-plugin__markdown-preview-view>div>*{overflow-x:auto;overflow-wrap:break-word}.kanban-plugin__markdown-preview-view>div>*:first-child,.kanban-plugin__markdown-preview-view>div>.frontmatter-container+*{margin-top:0}.kanban-plugin__markdown-preview-view>div>*:last-child{margin-bottom:0}.kanban-plugin__markdown-preview-view ul,.kanban-plugin__markdown-preview-view ol{padding-inline-start:24px}.kanban-plugin__meta-value .kanban-plugin__markdown-preview-view p,.kanban-plugin__meta-value .kanban-plugin__markdown-preview-view{font-size:inherit;color:inherit;line-height:inherit}.kanban-plugin__markdown-preview-view.inline p,.kanban-plugin__markdown-preview-view.inline{display:inline-block}.kanban-plugin__markdown-preview-view .frontmatter,.kanban-plugin__markdown-preview-view .frontmatter-container{display:none}.kanban-plugin__markdown-preview-view .file-link span{display:inline-flex;align-items:center;justify-content:center;color:var(--text-faint);margin-left:2px;position:relative;top:3px}.kanban-plugin__embed-link-wrapper{padding:2px;float:right}.kanban-plugin__item-metadata-wrapper:not(:empty){background-color:var(--background-primary-alt);padding:6px 8px}.kanban-plugin__item-metadata:not(:empty){padding-top:5px;font-size:12px;font-weight:500;color:var(--text-muted)}.kanban-plugin__item-metadata>span{display:block}.kanban-plugin__item-metadata .is-button{cursor:var(--cursor)}.kanban-plugin__item-metadata .is-button:hover{color:var(--text-normal)}.kanban-plugin__item-metadata-date-relative:first-letter{text-transform:uppercase}.kanban-plugin__item-metadata a{text-decoration:none}.kanban-plugin__item-metadata-time:before{content:" \2022 "}.kanban-plugin__item-metadata-time.is-button:hover:before{color:var(--text-muted)}.kanban-plugin__item-tags:not(:empty){padding-top:2px}.kanban-plugin__item-tag{display:inline-block;margin-right:4px}.kanban-plugin__item-tags .kanban-plugin__item-tag{font-size:12px;background-color:var(--tag-background-color, hsla(var(--interactive-accent-hsl), .1));color:var(--tag-color, var(--text-accent));margin:3px 3px 0 0}.kanban-plugin__item-tag.is-search-match,.kanban-plugin__item-tags .kanban-plugin__item-tag.is-search-match{background-color:var(--text-highlight-bg);color:var(--text-normal)}.kanban-plugin__meta-table{width:100%;margin:0;line-height:1.5;font-size:.75rem}.kanban-plugin__meta-table td{vertical-align:top;padding:3px 0;width:10%}.kanban-plugin__meta-table td+td{width:90%}.kanban-plugin__meta-table td:only-child{width:100%}.kanban-plugin__meta-table td.kanban-plugin__meta-key{white-space:nowrap;padding-right:5px;color:var(--text-muted)}.kanban-plugin__meta-table td.kanban-plugin__meta-key.is-search-match>span{background-color:var(--text-highlight-bg);color:var(--text-normal)}.kanban-plugin__meta-value{white-space:pre-wrap;display:flex}.kanban-plugin__meta-value>.is-search-match,.kanban-plugin__meta-value.is-search-match{background-color:var(--text-highlight-bg);color:var(--text-normal)}.kanban-plugin__item-prefix-button-wrapper,.kanban-plugin__item-postfix-button-wrapper{display:flex;flex-grow:0;flex-shrink:0;align-self:start}.kanban-plugin__item-prefix-button-wrapper{flex-direction:column}.kanban-plugin__item-prefix-button-wrapper input[type=checkbox]{margin:4px 7px 4px 0;width:15px;height:15px;filter:hue-rotate(42deg)}.kanban-plugin__item-prefix-button-wrapper input[type=checkbox]+button{margin-top:10px}button.kanban-plugin__item-postfix-button{visibility:hidden;opacity:0;transition:.1s opacity;display:flex;align-self:flex-start}button.kanban-plugin__item-postfix-button.is-enabled,.kanban-plugin__item:hover button.kanban-plugin__item-postfix-button{visibility:visible;opacity:1}.kanban-plugin__item-settings-actions{padding:5px;display:flex}.kanban-plugin__item-settings-actions>button{line-height:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;width:100%}.kanban-plugin__lane-action-wrapper button>.kanban-plugin__icon,.kanban-plugin__item-settings-actions button>.kanban-plugin__icon{margin-right:5px}.kanban-plugin__item-settings-actions>button:first-child,.kanban-plugin__lane-action-wrapper>button:first-child{margin-right:2.5px}.kanban-plugin__item-settings-actions>button:last-child,.kanban-plugin__lane-action-wrapper>button:last-child{margin-left:2.5px}.kanban-plugin__archive-lane-button,.kanban-plugin__item-button-archive{color:var(--text-muted);border:1px solid var(--background-modifier-border)}.kanban-plugin__archive-lane-button:hover,.kanban-plugin__item-button-archive:hover{color:var(--text-normal)}.kanban-plugin__item-button-delete{border:1px solid rgba(var(--background-modifier-error-rgb),.15);color:rgba(var(--background-modifier-error-rgb),1)}.kanban-plugin__item-button-delete:hover{background-color:rgba(var(--background-modifier-error-rgb),.2);color:var(--text-error)}.theme-dark .kanban-plugin__item-button-delete{background-color:transparent;border:1px solid rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.theme-dark .kanban-plugin__item-button-delete:hover{background-color:rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.kanban-plugin__checkbox-wrapper{border-top:1px solid var(--background-modifier-border);border-bottom:1px solid var(--background-modifier-border);padding:10px;margin-bottom:10px;display:flex;align-items:center}.kanban-plugin__checkbox-wrapper .checkbox-container{flex-shrink:0;flex-grow:0;margin-left:15px}.kanban-plugin__checkbox-label{font-size:.8125rem;line-height:1.4}.kanban-plugin__lane-setting-wrapper>div{border-top:none;border-bottom:none;padding:10px 15px;margin-bottom:0}.kanban-plugin__lane-setting-wrapper>div:last-child{border-bottom:1px solid var(--background-modifier-border);margin-bottom:10px}.kanban-plugin__action-confirm-wrapper{border:1px solid rgba(var(--background-modifier-error-rgb),.2);background-color:rgba(var(--background-modifier-error-rgb),.1);border-radius:4px;padding:10px;margin:5px 10px}.theme-dark .kanban-plugin__action-confirm-wrapper{border:1px solid rgba(var(--background-modifier-error-rgb),1)}.kanban-plugin__delete-lane-button,.kanban-plugin__archive-lane-button{display:flex;align-items:center;justify-content:center;font-size:.75rem;width:50%}.kanban-plugin__delete-lane-button{border:1px solid rgba(var(--background-modifier-error-rgb),.15);color:rgba(var(--background-modifier-error-rgb),1)}.kanban-plugin__delete-lane-button:hover{background-color:rgba(var(--background-modifier-error-rgb),.2);color:var(--text-error)}.theme-dark .kanban-plugin__delete-lane-button{background-color:transparent;border:1px solid rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.theme-dark .kanban-plugin__delete-lane-button:hover{background-color:rgba(var(--background-modifier-error-rgb),1);color:var(--text-error)}.kanban-plugin__action-confirm-text{font-size:.875rem;color:var(--text-error);margin-bottom:10px;line-height:1.4}button.kanban-plugin__confirm-action-button{border:1px solid rgba(var(--background-modifier-error-rgb),.2);margin-right:5px;color:var(--text-error)}button.kanban-plugin__confirm-action-button:hover{background-color:rgba(var(--background-modifier-error-rgb),.5)}button.kanban-plugin__cancel-action-button{border:1px solid var(--background-modifier-border)}.kanban-plugin__grow-wrap{width:100%;display:grid}.kanban-plugin__grow-wrap:after{content:attr(data-replicated-value) " ";white-space:pre-wrap;visibility:hidden}.kanban-plugin__grow-wrap>textarea{resize:none;overflow:hidden;tab-size:2}.kanban-plugin__grow-wrap>textarea:focus{border:none;box-shadow:none}.kanban-plugin__grow-wrap>textarea,.kanban-plugin__grow-wrap:after{border:none;border-radius:0;padding:0;font:inherit;line-height:var(--line-height-tight);grid-area:1 / 1 / 2 / 2;font-size:.875rem;overflow:hidden;overflow-wrap:break-word;white-space:pre-wrap}.kanban-plugin__autocomplete{font-size:.875rem;border:1px solid var(--background-modifier-border);background-color:var(--background-primary);list-style:none;padding:0;margin:0;min-width:20ch;max-width:40ch;max-height:200px;border-radius:6px;box-shadow:0 15px 25px #0003;overflow-x:hidden;overflow-y:auto}.kanban-plugin__autocomplete li{margin:0}.kanban-plugin__autocomplete li em{opacity:.6}.kanban-plugin .textcomplete-footer,.kanban-plugin .textcomplete-header{display:none}.kanban-plugin__autocomplete-item-active,.kanban-plugin__autocomplete-item{border-top:1px solid var(--background-modifier-border);padding:4px 6px;cursor:var(--cursor)}.kanban-plugin__autocomplete .textcomplete-header+.kanban-plugin__autocomplete-item,.kanban-plugin__autocomplete .textcomplete-header+.kanban-plugin__autocomplete-item-active{border-top:none}.kanban-plugin__autocomplete-item:hover,.kanban-plugin__autocomplete-item-active{color:var(--text-on-accent);background-color:var(--interactive-accent-hover)}.kanban-plugin__file-suggestion-wrapper{display:flex;line-height:1.2}.kanban-plugin__file-suggestion-icon{flex-shrink:0;flex-grow:0;padding-right:4px}.kanban-plugin__file-suggestion-subtitle{font-size:.875em;color:var(--text-muted)}.kanban-plugin__autocomplete-item:hover .kanban-plugin__file-suggestion-subtitle,.kanban-plugin__autocomplete-item-active .kanban-plugin__file-suggestion-subtitle{color:var(--text-on-accent)}.modal.kanban-plugin__board-settings-modal{width:var(--modal-width);height:var(--modal-height);max-height:var(--modal-max-height);max-width:var(--modal-max-width);padding:0;display:flex;flex-direction:column}.modal.kanban-plugin__board-settings-modal .modal-content{padding:30px 50px;height:100%;overflow-y:auto;overflow-x:hidden;margin:0}.kanban-plugin__board-settings-modal .setting-item{flex-wrap:wrap;justify-content:space-between}.kanban-plugin__board-settings-modal .setting-item-info{max-width:400px;min-width:300px;width:50%}.kanban-plugin__board-settings-modal .setting-item-control{min-width:300px;flex-shrink:0}.kanban-plugin__board-settings-modal .choices{width:100%;text-align:left}.kanban-plugin__board-settings-modal .choices[data-type*=select-one] .choices__inner{background-color:var(--background-primary);border-color:var(--background-modifier-border);padding:0;min-height:0}.kanban-plugin__board-settings-modal .choices[data-type*=select-one] .choices__input{background-color:var(--background-primary);border-bottom-color:var(--background-modifier-border);font-size:14px}.kanban-plugin__board-settings-modal .choices__input{border-radius:0;border-top:none;border-left:none;border-right:none}.kanban-plugin__board-settings-modal .choices__list[role=listbox]{overflow-x:hidden}.kanban-plugin__board-settings-modal .choices__list--single{padding:4px 20px 4px 6px}.kanban-plugin__board-settings-modal .is-open .choices__list--dropdown,.kanban-plugin__board-settings-modal .choices__list--dropdown{background-color:var(--background-primary);border-color:var(--background-modifier-border);word-break:normal;max-height:200px;display:flex;flex-direction:column}.kanban-plugin__board-settings-modal .choices__list--dropdown .choices__item--selectable:after{display:none}.kanban-plugin__board-settings-modal .choices__list--dropdown .choices__item--selectable{padding:4px 6px}.kanban-plugin__board-settings-modal .choices__list--dropdown .choices__item.is-highlighted{background-color:var(--background-primary-alt)}.kanban-plugin__board-settings-modal .choices__placeholder{opacity:1;color:var(--text-muted)}.kanban-plugin__board-settings-modal .error{border-color:var(--background-modifier-error-hover)!important}.kanban-plugin__date-picker{position:absolute;z-index:var(--layer-popover);--cell-size: 2.4em}.kanban-plugin__date-picker .flatpickr-input{width:0;height:0;opacity:0;border:none;padding:0;display:block;margin-bottom:-1px}.kanban-plugin__date-picker .flatpickr-current-month{color:var(--text-normal);font-weight:600;font-size:inherit;width:100%;position:static;height:auto;display:flex;align-items:center;justify-content:center;padding:0}.kanban-plugin__date-picker .flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:var(--text-normal)}.kanban-plugin__date-picker .flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:var(--text-normal)}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{fill:currentColor}.kanban-plugin__date-picker .flatpickr-calendar{font-size:13px;overflow:hidden;background-color:var(--background-primary);width:calc(var(--cell-size) * 7 + 8px);box-shadow:0 0 0 1px var(--background-modifier-border),0 15px 25px #0003}.kanban-plugin__date-picker .flatpickr-months{font-size:13px;padding:2px 2px 4px;align-items:center}.kanban-plugin__date-picker .flatpickr-months .flatpickr-current-month input.cur-year,.kanban-plugin__date-picker .flatpickr-months select{border-radius:4px;padding:4px}.kanban-plugin__date-picker .flatpickr-months .numInputWrapper{border-radius:4px}.kanban-plugin__date-picker .flatpickr-months .flatpickr-month{width:100%;height:auto}.kanban-plugin__date-picker .flatpickr-months .flatpickr-prev-month,.kanban-plugin__date-picker .flatpickr-months .flatpickr-next-month{color:var(--text-normal);fill:currentColor;border-radius:4px;display:flex;align-items:center;justify-content:center;line-height:1;height:auto;padding:5px;position:static;flex-shrink:0}.kanban-plugin__date-picker .flatpickr-months .flatpickr-prev-month:hover,.kanban-plugin__date-picker .flatpickr-months .flatpickr-next-month:hover{background-color:var(--background-primary-alt);color:var(--text-normal)}.kanban-plugin__date-picker .flatpickr-months .flatpickr-prev-month:hover svg,.kanban-plugin__date-picker .flatpickr-months .flatpickr-next-month:hover svg{fill:currentColor}.kanban-plugin__date-picker .flatpickr-current-month .flatpickr-monthDropdown-months{color:var(--text-normal);font-weight:inherit;margin-right:5px}.kanban-plugin__date-picker .flatpickr-current-month input.cur-year{color:var(--text-normal);font-weight:inherit}.kanban-plugin__date-picker .flatpickr-weekdays{height:auto;padding:8px 0 12px}.kanban-plugin__date-picker span.flatpickr-weekday{font-weight:400;color:var(--text-muted)}.kanban-plugin__date-picker .flatpickr-innerContainer{padding:4px}.kanban-plugin__date-picker .flatpickr-day{color:var(--text-normal);display:inline-flex;align-items:center;justify-content:center;width:var(--cell-size);height:var(--cell-size);line-height:1;border-radius:6px}.kanban-plugin__date-picker .flatpickr-day.today{border-color:var(--interactive-accent)}.kanban-plugin__date-picker .flatpickr-day.today:hover{color:var(--text-normal);border-color:var(--interactive-accent);background-color:var(--background-primary-alt)}.kanban-plugin__date-picker .flatpickr-day.selected{border-color:var(--interactive-accent);background-color:var(--interactive-accent);color:var(--text-on-accent)}.kanban-plugin__date-picker .flatpickr-day.selected:hover{border-color:var(--interactive-accent);background-color:var(--interactive-accent)}.kanban-plugin__date-picker .flatpickr-days{width:calc(var(--cell-size) * 7)}.kanban-plugin__date-picker .dayContainer{width:calc(var(--cell-size) * 7);min-width:calc(var(--cell-size) * 7);max-width:calc(var(--cell-size) * 7)}.kanban-plugin__date-picker .flatpickr-day.inRange,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay.inRange,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay.inRange,.kanban-plugin__date-picker .flatpickr-day.today.inRange,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay.today.inRange,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay.today.inRange,.kanban-plugin__date-picker .flatpickr-day:hover,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay:hover,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay:hover,.kanban-plugin__date-picker .flatpickr-day:focus,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay:focus,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay:focus{background-color:var(--background-primary-alt);border-color:var(--background-primary-alt)}.kanban-plugin__date-picker .flatpickr-day.flatpickr-disabled,.kanban-plugin__date-picker .flatpickr-day.flatpickr-disabled:hover,.kanban-plugin__date-picker .flatpickr-day.prevMonthDay,.kanban-plugin__date-picker .flatpickr-day.nextMonthDay,.kanban-plugin__date-picker .flatpickr-day.notAllowed,.kanban-plugin__date-picker .flatpickr-day.notAllowed.prevMonthDay,.kanban-plugin__date-picker .flatpickr-day.notAllowed.nextMonthDay{color:var(--text-faint)}.kanban-plugin__time-picker{position:absolute;max-height:250px;overflow:auto;border-radius:4px;border:1px solid var(--background-modifier-border);box-shadow:0 2px 8px var(--background-modifier-box-shadow);background:var(--background-primary);color:var(--text-normal);font-size:14px;z-index:var(--layer-menu)}.kanban-plugin__time-picker-item{display:flex;align-items:center;color:var(--text-muted);cursor:var(--cursor);line-height:1;padding:6px 8px}.kanban-plugin__time-picker-check{visibility:hidden;display:inline-flex;margin-right:5px}.kanban-plugin__time-picker-item.is-hour{color:var(--text-normal);font-weight:600}.kanban-plugin__time-picker-item.is-selected .kanban-plugin__time-picker-check{visibility:visible}.kanban-plugin__time-picker-item:hover,.kanban-plugin__time-picker-item.is-selected{background:var(--background-secondary)}.kanban-plugin mark{background-color:var(--text-highlight-bg)}.kanban-plugin__draggable-setting-container{border-top:0;padding:0;flex-direction:column}.kanban-plugin__draggable-setting-container>div{width:100%;margin-right:0!important}.kanban-plugin__setting-item-wrapper{border-top:1px solid var(--background-modifier-border)}.kanban-plugin__draggable-setting-container>.kanban-plugin__placeholder{border-top:1px solid var(--background-modifier-border)}.kanban-plugin__setting-item{background-color:var(--background-secondary);width:100%;font-size:16px;display:flex;align-items:flex-start;padding:12px;color:var(--text-muted)}.kanban-plugin__drag-container .kanban-plugin__setting-item{border:1px solid hsla(var(--interactive-accent-hsl),.8);box-shadow:0 15px 25px #0003,0 0 0 2px hsla(var(--interactive-accent-hsl),.8)}.kanban-plugin__setting-controls-wrapper{flex-grow:1;flex-shrink:1}.kanban-plugin__setting-input-wrapper{display:flex;flex-wrap:wrap;margin-bottom:1rem}.kanban-plugin__setting-input-wrapper>div{margin-right:10px}.kanban-plugin__setting-toggle-wrapper>div{display:flex;align-items:center;line-height:1;margin-bottom:10px}.kanban-plugin__setting-toggle-wrapper .checkbox-container{margin-right:10px}.kanban-plugin__setting-button-wrapper{display:flex;justify-content:flex-end;flex-grow:1;flex-shrink:0;max-width:25px}.kanban-plugin__setting-button-wrapper>div{margin-left:12px}.kanban-plugin__setting-key-input-wrapper{margin:1rem 0}.kanban-plugin__setting-key-input-wrapper>input{margin-right:10px}.kanban-plugin__date-color-input-wrapper,.kanban-plugin__tag-color-input-wrapper{display:flex;flex-direction:column;flex-grow:1;gap:1rem}.kanban-plugin__add-tag-color-button{align-self:baseline;margin:0}.kanban-plugin__date-color-wrapper,.kanban-plugin__tag-color-input .kanban-plugin__item-tags{background-color:var(--background-primary);padding:10px;margin:0;border-radius:4px}.kanban-plugin__tag-color-input .kanban-plugin__item-tag{margin-top:0;font-size:13px;font-weight:500;line-height:1.5}.kanban-plugin__item-metadata>.kanban-plugin__item-metadata-date-wrapper .is-button:hover,.kanban-plugin__item-metadata>.kanban-plugin__item-metadata-date-wrapper{display:inline-block;color:var(--date-color, var(--text-muted));line-height:1}.kanban-plugin__item-metadata>.kanban-plugin__item-metadata-date-wrapper.has-background{background-color:var(--date-background-color, transparent);margin-top:4px;border-radius:var(--tag-radius);padding:var(--tag-padding-y) var(--tag-padding-x)}.kanban-plugin__date-color-input-wrapper input[type=number]{width:75px;padding:.6em .8em;height:auto;border-radius:.5em}.kanban-plugin__date-color-input-wrapper .kanban-plugin__setting-item-label{margin-bottom:0}.kanban-plugin__date-color-config{padding:0 0 10px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.kanban-plugin__date-color-wrapper{display:inline-block;margin-top:10px}.kanban-plugin__date-color-wrapper .kanban-plugin__item-metadata{padding:0}.kanban-plugin__metadata-setting-desc{font-size:14px}.kanban-plugin__setting-button-spacer{visibility:hidden}.kanban-plugin__setting-item-label{font-size:12px;font-weight:bold;margin-bottom:5px}.kanban-plugin__setting-toggle-wrapper .kanban-plugin__setting-item-label{margin-bottom:0}.kanban-plugin__hitbox{border:2px dashed tomato}.kanban-plugin__placeholder{flex-grow:0;flex-shrink:0;width:0;height:0;pointer-events:none}.kanban-plugin__placeholder[data-axis=horizontal]{height:100%}.kanban-plugin__placeholder[data-axis=vertical]{width:100%}body:not(.native-scrollbars) .kanban-plugin__scroll-container::-webkit-scrollbar{background-color:transparent;width:16px;height:16px}body:not(.native-scrollbars) .kanban-plugin__scroll-container::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:content-box}.kanban-plugin__scroll-container{will-change:transform}.kanban-plugin__scroll-container.kanban-plugin__horizontal{overflow-y:hidden;overflow-x:auto}.kanban-plugin__scroll-container.kanban-plugin__vertical{overflow-y:auto;overflow-x:hidden}.kanban-plugin__drag-container{contain:layout size;z-index:10000;pointer-events:none;position:fixed;top:0;left:0}.kanban-plugin__loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.sk-pulse{width:60px;height:60px;background-color:var(--text-faint);border-radius:100%;animation:sk-pulse 1.2s infinite cubic-bezier(.455,.03,.515,.955)}@keyframes sk-pulse{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}.kanban-plugin__color-picker-wrapper{position:relative}.kanban-plugin__color-picker{position:absolute;top:-5px;left:0;transform:translateY(-100%)} diff --git a/.obsidian/plugins/obsidian-reminder-plugin/data.json b/.obsidian/plugins/obsidian-reminder-plugin/data.json index 3f57e02c..fd235868 100644 --- a/.obsidian/plugins/obsidian-reminder-plugin/data.json +++ b/.obsidian/plugins/obsidian-reminder-plugin/data.json @@ -341,16 +341,6 @@ } ], "01.02 Home/Household.md": [ - { - "title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%%", - "time": "2022-10-29", - "rowNumber": 91 - }, - { - "title": ":bed: [[Household]] Change bedsheets %%done_del%%", - "time": "2022-10-29", - "rowNumber": 104 - }, { "title": ":bed: [[Household]]: Buy bed-side tables", "time": "2022-10-31", @@ -359,7 +349,7 @@ { "title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%%", "time": "2022-10-31", - "rowNumber": 94 + "rowNumber": 95 }, { "title": "♻ [[Household]]: *Cardboard* recycling collection %%done_del%%", @@ -371,6 +361,16 @@ "time": "2022-11-08", "rowNumber": 75 }, + { + "title": ":bed: [[Household]] Change bedsheets %%done_del%%", + "time": "2022-11-12", + "rowNumber": 105 + }, + { + "title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%%", + "time": "2022-11-26", + "rowNumber": 91 + }, { "title": ":coffee: [[Household]]: Buy a Cappuccino machine", "time": "2022-11-30", @@ -449,44 +449,44 @@ "06.02 Investments/VC Tasks.md": [ { "title": "💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%%", - "time": "2022-10-28", + "time": "2022-11-04", "rowNumber": 74 } ], "06.02 Investments/Crypto Tasks.md": [ - { - "title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%%", - "time": "2022-10-28", - "rowNumber": 74 - }, { "title": ":ballot_box: [[Crypto Tasks]]: Vote for [[EOS]] block producers %%done_del%%", "time": "2022-11-01", - "rowNumber": 86 + "rowNumber": 87 + }, + { + "title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%%", + "time": "2022-11-04", + "rowNumber": 74 }, { "title": ":chart: Check [[Nimbus]] earnings %%done_del%%", "time": "2022-11-14", - "rowNumber": 90 + "rowNumber": 91 } ], "06.02 Investments/Equity Tasks.md": [ { "title": "💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%%", - "time": "2022-10-28", + "time": "2022-11-04", "rowNumber": 74 } ], "05.02 Networks/Configuring UFW.md": [ { "title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%%", - "time": "2022-10-29", + "time": "2022-11-05", "rowNumber": 239 }, { "title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list", - "time": "2022-10-29", - "rowNumber": 279 + "time": "2022-11-05", + "rowNumber": 280 } ], "00.01 Admin/Calendars/2022-01-22.md": [ @@ -540,13 +540,13 @@ { "title": ":label: [[Bookmarks - Media]]: review bookmarls", "time": "2022-11-07", - "rowNumber": 70 + "rowNumber": 80 } ], "00.08 Bookmarks/Bookmarks - Admin & services.md": [ { "title": ":label: [[Bookmarks - Admin & services]]: Review bookmarks", - "time": "2022-10-30", + "time": "2023-01-30", "rowNumber": 129 } ], @@ -554,7 +554,7 @@ { "title": ":label: [[Bookmarks - Obsidian]]: Review bookmarks", "time": "2022-11-15", - "rowNumber": 266 + "rowNumber": 308 } ], "00.08 Bookmarks/Bookmarks - Selfhosted Apps.md": [ @@ -612,7 +612,7 @@ "00.01 Admin/Calendars/2022-10-18.md": [ { "title": "17:35 :shoe: [[@life admin]]: pick up shoes @Nick Schumacher   PAID  ", - "time": "2022-10-28", + "time": "2022-10-31", "rowNumber": 83 } ], diff --git a/.obsidian/plugins/obsidian-style-settings/data.json b/.obsidian/plugins/obsidian-style-settings/data.json index 0600b36a..9e26dfee 100644 --- a/.obsidian/plugins/obsidian-style-settings/data.json +++ b/.obsidian/plugins/obsidian-style-settings/data.json @@ -1,18 +1 @@ -{ - "minimal-style@@red@@dark": "#D61515", - "minimal-style@@orange@@light": "#FAAA26", - "minimal-style@@orange@@dark": "#FAAA26", - "minimal-style@@red@@light": "#D61515", - "minimal-style@@yellow@@light": "#FDFF08", - "minimal-style@@yellow@@dark": "#FDFF08", - "minimal-style@@green@@light": "#16F232", - "minimal-style@@green@@dark": "#16F232", - "minimal-style@@cyan@@light": "#0BECDE", - "minimal-style@@cyan@@dark": "#0BECDE", - "minimal-style@@blue@@light": "#0F37F2", - "minimal-style@@blue@@dark": "#0F37F2", - "minimal-style@@purple@@light": "#950ACE", - "minimal-style@@purple@@dark": "#950ACE", - "minimal-style@@pink@@light": "#EE10C7", - "minimal-style@@pink@@dark": "#EE10C7" -} \ No newline at end of file +{} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-tasks-plugin/main.js b/.obsidian/plugins/obsidian-tasks-plugin/main.js index 6e7c6476..841c5e9a 100644 --- a/.obsidian/plugins/obsidian-tasks-plugin/main.js +++ b/.obsidian/plugins/obsidian-tasks-plugin/main.js @@ -122,30 +122,30 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -"use strict";var x_=Object.create;var Sn=Object.defineProperty,S_=Object.defineProperties,I_=Object.getOwnPropertyDescriptor,U_=Object.getOwnPropertyDescriptors,F_=Object.getOwnPropertyNames,of=Object.getOwnPropertySymbols,q_=Object.getPrototypeOf,lf=Object.prototype.hasOwnProperty,W_=Object.prototype.propertyIsEnumerable;var uf=(r,e,t)=>e in r?Sn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$e=(r,e)=>{for(var t in e||(e={}))lf.call(e,t)&&uf(r,t,e[t]);if(of)for(var t of of(e))W_.call(e,t)&&uf(r,t,e[t]);return r},Wt=(r,e)=>S_(r,U_(e));var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),L_=(r,e)=>{for(var t in e)Sn(r,t,{get:e[t],enumerable:!0})},cf=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of F_(e))!lf.call(r,i)&&i!==t&&Sn(r,i,{get:()=>e[i],enumerable:!(n=I_(e,i))||n.enumerable});return r};var ps=(r,e,t)=>(t=r!=null?x_(q_(r)):{},cf(e||!r||!r.__esModule?Sn(t,"default",{value:r,enumerable:!0}):t,r)),Y_=r=>cf(Sn({},"__esModule",{value:!0}),r);var ne=(r,e,t)=>new Promise((n,i)=>{var s=u=>{try{o(t.next(u))}catch(l){i(l)}},a=u=>{try{o(t.throw(u))}catch(l){i(l)}},o=u=>u.done?n(u.value):Promise.resolve(u.value).then(s,a);o((t=t.apply(r,e)).next())});var Wf=h((qA,bs)=>{var _f,Tf,bf,vf,Ef,Rf,wf,Mf,Df,_s,ao,Of,Pf,Af,Jr,kf,Nf,Cf,xf,Sf,If,Uf,Ff,qf,Ts;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof bs=="object"&&typeof bs.exports=="object"?r(t(e,t(bs.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(s,a){return n[s]=i?i(s,a):a}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])};_f=function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");e(n,i);function s(){this.constructor=n}n.prototype=i===null?Object.create(i):(s.prototype=i.prototype,new s)},Tf=Object.assign||function(n){for(var i,s=1,a=arguments.length;s=0;c--)(l=n[c])&&(u=(o<3?l(u):o>3?l(i,s,u):l(i,s))||u);return o>3&&u&&Object.defineProperty(i,s,u),u},Ef=function(n,i){return function(s,a){i(s,a,n)}},Rf=function(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)},wf=function(n,i,s,a){function o(u){return u instanceof s?u:new s(function(l){l(u)})}return new(s||(s=Promise))(function(u,l){function c(p){try{f(a.next(p))}catch(y){l(y)}}function d(p){try{f(a.throw(p))}catch(y){l(y)}}function f(p){p.done?u(p.value):o(p.value).then(c,d)}f((a=a.apply(n,i||[])).next())})},Mf=function(n,i){var s={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},a,o,u,l;return l={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function c(f){return function(p){return d([f,p])}}function d(f){if(a)throw new TypeError("Generator is already executing.");for(;s;)try{if(a=1,o&&(u=f[0]&2?o.return:f[0]?o.throw||((u=o.return)&&u.call(o),0):o.next)&&!(u=u.call(o,f[1])).done)return u;switch(o=0,u&&(f=[f[0]&2,u.value]),f[0]){case 0:case 1:u=f;break;case 4:return s.label++,{value:f[1],done:!1};case 5:s.label++,o=f[1],f=[0];continue;case 7:f=s.ops.pop(),s.trys.pop();continue;default:if(u=s.trys,!(u=u.length>0&&u[u.length-1])&&(f[0]===6||f[0]===2)){s=0;continue}if(f[0]===3&&(!u||f[1]>u[0]&&f[1]=n.length&&(n=void 0),{value:n&&n[a++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")},ao=function(n,i){var s=typeof Symbol=="function"&&n[Symbol.iterator];if(!s)return n;var a=s.call(n),o,u=[],l;try{for(;(i===void 0||i-- >0)&&!(o=a.next()).done;)u.push(o.value)}catch(c){l={error:c}}finally{try{o&&!o.done&&(s=a.return)&&s.call(a)}finally{if(l)throw l.error}}return u},Of=function(){for(var n=[],i=0;i1||c(m,_)})})}function c(m,_){try{d(a[m](_))}catch(A){y(u[0][3],A)}}function d(m){m.value instanceof Jr?Promise.resolve(m.value.v).then(f,p):y(u[0][2],m)}function f(m){c("next",m)}function p(m){c("throw",m)}function y(m,_){m(_),u.shift(),u.length&&c(u[0][0],u[0][1])}},Nf=function(n){var i,s;return i={},a("next"),a("throw",function(o){throw o}),a("return"),i[Symbol.iterator]=function(){return this},i;function a(o,u){i[o]=n[o]?function(l){return(s=!s)?{value:Jr(n[o](l)),done:o==="return"}:u?u(l):l}:u}},Cf=function(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],s;return i?i.call(n):(n=typeof _s=="function"?_s(n):n[Symbol.iterator](),s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s);function a(u){s[u]=n[u]&&function(l){return new Promise(function(c,d){l=n[u](l),o(c,d,l.done,l.value)})}}function o(u,l,c,d){Promise.resolve(d).then(function(f){u({value:f,done:c})},l)}},xf=function(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n};var t=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};Sf=function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var s in n)s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)&&Ts(i,n,s);return t(i,n),i},If=function(n){return n&&n.__esModule?n:{default:n}},Uf=function(n,i,s,a){if(s==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!a:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return s==="m"?a:s==="a"?a.call(n):a?a.value:i.get(n)},Ff=function(n,i,s,a,o){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!o:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?o.call(n,s):o?o.value=s:i.set(n,s),s},qf=function(n,i){if(i===null||typeof i!="object"&&typeof i!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof n=="function"?i===n:n.has(i)},r("__extends",_f),r("__assign",Tf),r("__rest",bf),r("__decorate",vf),r("__param",Ef),r("__metadata",Rf),r("__awaiter",wf),r("__generator",Mf),r("__exportStar",Df),r("__createBinding",Ts),r("__values",_s),r("__read",ao),r("__spread",Of),r("__spreadArrays",Pf),r("__spreadArray",Af),r("__await",Jr),r("__asyncGenerator",kf),r("__asyncDelegator",Nf),r("__asyncValues",Cf),r("__makeTemplateObject",xf),r("__importStar",Sf),r("__importDefault",If),r("__classPrivateFieldGet",Uf),r("__classPrivateFieldSet",Ff),r("__classPrivateFieldIn",qf)})});var J=h(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.matchAnyPattern=_r.extractTerms=_r.repeatedTimeunitPattern=void 0;function xT(r,e){let t=e.replace(/\((?!\?)/g,"(?:");return`${r}${t}\\s{0,5}(?:,?\\s{0,5}${t}){0,10}`}_r.repeatedTimeunitPattern=xT;function xp(r){let e;return r instanceof Array?e=[...r]:r instanceof Map?e=Array.from(r.keys()):e=Object.keys(r),e}_r.extractTerms=xp;function ST(r){return`(?:${xp(r).sort((t,n)=>n.length-t.length).join("|").replace(/\./g,"\\.")})`}_r.matchAnyPattern=ST});var K=h((bo,vo)=>{(function(r,e){typeof bo=="object"&&typeof vo!="undefined"?vo.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self).dayjs=e()})(bo,function(){"use strict";var r=1e3,e=6e4,t=36e5,n="millisecond",i="second",s="minute",a="hour",o="day",u="week",l="month",c="quarter",d="year",f="date",p="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},A=function(w,v,T){var P=String(w);return!P||P.length>=v?w:""+Array(v+1-P.length).join(T)+w},I={s:A,z:function(w){var v=-w.utcOffset(),T=Math.abs(v),P=Math.floor(T/60),E=T%60;return(v<=0?"+":"-")+A(P,2,"0")+":"+A(E,2,"0")},m:function w(v,T){if(v.date(){"use strict";var IT=Tr&&Tr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Tr,"__esModule",{value:!0});Tr.findYearClosestToRef=Tr.findMostLikelyADYear=void 0;var UT=IT(K());function FT(r){return r<100&&(r>50?r=r+1900:r=r+2e3),r}Tr.findMostLikelyADYear=FT;function qT(r,e,t){let n=UT.default(r),i=n;i=i.month(t-1),i=i.date(e),i=i.year(n.year());let s=i.add(1,"y"),a=i.add(-1,"y");return Math.abs(s.diff(n)){"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.parseTimeUnits=W.TIME_UNITS_PATTERN=W.parseYear=W.YEAR_PATTERN=W.parseOrdinalNumberPattern=W.ORDINAL_NUMBER_PATTERN=W.parseNumberPattern=W.NUMBER_PATTERN=W.TIME_UNIT_DICTIONARY=W.ORDINAL_WORD_DICTIONARY=W.INTEGER_WORD_DICTIONARY=W.MONTH_DICTIONARY=W.FULL_MONTH_NAME_DICTIONARY=W.WEEKDAY_DICTIONARY=void 0;var As=J(),WT=Se();W.WEEKDAY_DICTIONARY={sunday:0,sun:0,"sun.":0,monday:1,mon:1,"mon.":1,tuesday:2,tue:2,"tue.":2,wednesday:3,wed:3,"wed.":3,thursday:4,thurs:4,"thurs.":4,thur:4,"thur.":4,thu:4,"thu.":4,friday:5,fri:5,"fri.":5,saturday:6,sat:6,"sat.":6};W.FULL_MONTH_NAME_DICTIONARY={january:1,february:2,march:3,april:4,may:5,june:6,july:7,august:8,september:9,october:10,november:11,december:12};W.MONTH_DICTIONARY=Object.assign(Object.assign({},W.FULL_MONTH_NAME_DICTIONARY),{jan:1,"jan.":1,feb:2,"feb.":2,mar:3,"mar.":3,apr:4,"apr.":4,jun:6,"jun.":6,jul:7,"jul.":7,aug:8,"aug.":8,sep:9,"sep.":9,sept:9,"sept.":9,oct:10,"oct.":10,nov:11,"nov.":11,dec:12,"dec.":12});W.INTEGER_WORD_DICTIONARY={one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12};W.ORDINAL_WORD_DICTIONARY={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty first":21,"twenty-first":21,"twenty second":22,"twenty-second":22,"twenty third":23,"twenty-third":23,"twenty fourth":24,"twenty-fourth":24,"twenty fifth":25,"twenty-fifth":25,"twenty sixth":26,"twenty-sixth":26,"twenty seventh":27,"twenty-seventh":27,"twenty eighth":28,"twenty-eighth":28,"twenty ninth":29,"twenty-ninth":29,thirtieth:30,"thirty first":31,"thirty-first":31};W.TIME_UNIT_DICTIONARY={sec:"second",second:"second",seconds:"second",min:"minute",mins:"minute",minute:"minute",minutes:"minute",h:"hour",hr:"hour",hrs:"hour",hour:"hour",hours:"hour",day:"d",days:"d",week:"week",weeks:"week",month:"month",months:"month",qtr:"quarter",quarter:"quarter",quarters:"quarter",y:"year",yr:"year",year:"year",years:"year"};W.NUMBER_PATTERN=`(?:${As.matchAnyPattern(W.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s{0,2}an?)?|an?\\b(?:\\s{0,2}few)?|few|several|a?\\s{0,2}couple\\s{0,2}(?:of)?)`;function Ip(r){let e=r.toLowerCase();return W.INTEGER_WORD_DICTIONARY[e]!==void 0?W.INTEGER_WORD_DICTIONARY[e]:e==="a"||e==="an"?1:e.match(/few/)?3:e.match(/half/)?.5:e.match(/couple/)?2:e.match(/several/)?7:parseFloat(e)}W.parseNumberPattern=Ip;W.ORDINAL_NUMBER_PATTERN=`(?:${As.matchAnyPattern(W.ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:st|nd|rd|th)?)`;function LT(r){let e=r.toLowerCase();return W.ORDINAL_WORD_DICTIONARY[e]!==void 0?W.ORDINAL_WORD_DICTIONARY[e]:(e=e.replace(/(?:st|nd|rd|th)$/i,""),parseInt(e))}W.parseOrdinalNumberPattern=LT;W.YEAR_PATTERN="(?:[1-9][0-9]{0,3}\\s{0,2}(?:BE|AD|BC|BCE|CE)|[1-2][0-9]{3}|[5-9][0-9])";function YT(r){if(/BE/i.test(r))return r=r.replace(/BE/i,""),parseInt(r)-543;if(/BCE?/i.test(r))return r=r.replace(/BCE?/i,""),-parseInt(r);if(/(AD|CE)/i.test(r))return r=r.replace(/(AD|CE)/i,""),parseInt(r);let e=parseInt(r);return WT.findMostLikelyADYear(e)}W.parseYear=YT;var Up=`(${W.NUMBER_PATTERN})\\s{0,3}(${As.matchAnyPattern(W.TIME_UNIT_DICTIONARY)})`,Sp=new RegExp(Up,"i");W.TIME_UNITS_PATTERN=As.repeatedTimeunitPattern("(?:(?:about|around)\\s{0,3})?",Up);function $T(r){let e={},t=r,n=Sp.exec(t);for(;n;)jT(e,n),t=t.substring(n[0].length).trim(),n=Sp.exec(t);return e}W.parseTimeUnits=$T;function jT(r,e){let t=Ip(e[1]),n=W.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Fp=h((Eo,Ro)=>{(function(r,e){typeof Eo=="object"&&typeof Ro!="undefined"?Ro.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self).dayjs_plugin_quarterOfYear=e()})(Eo,function(){"use strict";var r="month",e="quarter";return function(t,n){var i=n.prototype;i.quarter=function(o){return this.$utils().u(o)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(o-1))};var s=i.add;i.add=function(o,u){return o=Number(o),this.$utils().p(u)===e?this.add(3*o,r):s.bind(this)(o,u)};var a=i.startOf;i.startOf=function(o,u){var l=this.$utils(),c=!!l.u(u)||u;if(l.p(o)===e){var d=this.quarter()-1;return c?this.month(3*d).startOf(r).startOf("day"):this.month(3*d+2).endOf(r).endOf("day")}return a.bind(this)(o,u)}}})});var st=h(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.implySimilarTime=kt.assignSimilarTime=kt.assignSimilarDate=kt.assignTheNextDay=void 0;var qp=Ee();function BT(r,e){e=e.add(1,"day"),Wp(r,e),Lp(r,e)}kt.assignTheNextDay=BT;function Wp(r,e){r.assign("day",e.date()),r.assign("month",e.month()+1),r.assign("year",e.year())}kt.assignSimilarDate=Wp;function GT(r,e){r.assign("hour",e.hour()),r.assign("minute",e.minute()),r.assign("second",e.second()),r.assign("millisecond",e.millisecond()),r.get("hour")<12?r.assign("meridiem",qp.Meridiem.AM):r.assign("meridiem",qp.Meridiem.PM)}kt.assignSimilarTime=GT;function Lp(r,e){r.imply("hour",e.hour()),r.imply("minute",e.minute()),r.imply("second",e.second()),r.imply("millisecond",e.millisecond())}kt.implySimilarTime=Lp});var Yp=h(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.toTimezoneOffset=Ir.TIMEZONE_ABBR_MAP=void 0;Ir.TIMEZONE_ABBR_MAP={ACDT:630,ACST:570,ADT:-180,AEDT:660,AEST:600,AFT:270,AKDT:-480,AKST:-540,ALMT:360,AMST:-180,AMT:-240,ANAST:720,ANAT:720,AQTT:300,ART:-180,AST:-240,AWDT:540,AWST:480,AZOST:0,AZOT:-60,AZST:300,AZT:240,BNT:480,BOT:-240,BRST:-120,BRT:-180,BST:60,BTT:360,CAST:480,CAT:120,CCT:390,CDT:-300,CEST:120,CET:60,CHADT:825,CHAST:765,CKT:-600,CLST:-180,CLT:-240,COT:-300,CST:-360,CVT:-60,CXT:420,ChST:600,DAVT:420,EASST:-300,EAST:-360,EAT:180,ECT:-300,EDT:-240,EEST:180,EET:120,EGST:0,EGT:-60,EST:-300,ET:-300,FJST:780,FJT:720,FKST:-180,FKT:-240,FNT:-120,GALT:-360,GAMT:-540,GET:240,GFT:-180,GILT:720,GMT:0,GST:240,GYT:-240,HAA:-180,HAC:-300,HADT:-540,HAE:-240,HAP:-420,HAR:-360,HAST:-600,HAT:-90,HAY:-480,HKT:480,HLV:-210,HNA:-240,HNC:-360,HNE:-300,HNP:-480,HNR:-420,HNT:-150,HNY:-540,HOVT:420,ICT:420,IDT:180,IOT:360,IRDT:270,IRKST:540,IRKT:540,IRST:210,IST:330,JST:540,KGT:360,KRAST:480,KRAT:480,KST:540,KUYT:240,LHDT:660,LHST:630,LINT:840,MAGST:720,MAGT:720,MART:-510,MAWT:300,MDT:-360,MESZ:120,MEZ:60,MHT:720,MMT:390,MSD:240,MSK:180,MST:-420,MUT:240,MVT:300,MYT:480,NCT:660,NDT:-90,NFT:690,NOVST:420,NOVT:360,NPT:345,NST:-150,NUT:-660,NZDT:780,NZST:720,OMSST:420,OMST:420,PDT:-420,PET:-300,PETST:720,PETT:720,PGT:600,PHOT:780,PHT:480,PKT:300,PMDT:-120,PMST:-180,PONT:660,PST:-480,PT:-480,PWT:540,PYST:-180,PYT:-240,RET:240,SAMT:240,SAST:120,SBT:660,SCT:240,SGT:480,SRT:-180,SST:-660,TAHT:-600,TFT:300,TJT:300,TKT:780,TLT:540,TMT:300,TVT:720,ULAT:480,UTC:0,UYST:-120,UYT:-180,UZT:300,VET:-210,VLAST:660,VLAT:660,VUT:660,WAST:120,WAT:60,WEST:60,WESZ:60,WET:0,WEZ:0,WFT:720,WGST:-120,WGT:-180,WIB:420,WIT:540,WITA:480,WST:780,WT:0,YAKST:600,YAKT:600,YAPT:600,YEKST:360,YEKT:360};function HT(r){var e;return r==null?null:typeof r=="number"?r:(e=Ir.TIMEZONE_ABBR_MAP[r])!==null&&e!==void 0?e:null}Ir.toTimezoneOffset=HT});var he=h(Nt=>{"use strict";var $p=Nt&&Nt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.ParsingResult=Nt.ParsingComponents=Nt.ReferenceWithTimezone=void 0;var zT=$p(Fp()),ks=$p(K()),wo=st(),KT=Yp();ks.default.extend(zT.default);var Mo=class{constructor(e){var t;e=e!=null?e:new Date,e instanceof Date?this.instant=e:(this.instant=(t=e.instant)!==null&&t!==void 0?t:new Date,this.timezoneOffset=KT.toTimezoneOffset(e.timezone))}};Nt.ReferenceWithTimezone=Mo;var Ur=class{constructor(e,t){if(this.reference=e,this.knownValues={},this.impliedValues={},t)for(let i in t)this.knownValues[i]=t[i];let n=ks.default(e.instant);this.imply("day",n.date()),this.imply("month",n.month()+1),this.imply("year",n.year()),this.imply("hour",12),this.imply("minute",0),this.imply("second",0),this.imply("millisecond",0)}get(e){return e in this.knownValues?this.knownValues[e]:e in this.impliedValues?this.impliedValues[e]:null}isCertain(e){return e in this.knownValues}getCertainComponents(){return Object.keys(this.knownValues)}imply(e,t){return e in this.knownValues?this:(this.impliedValues[e]=t,this)}assign(e,t){return this.knownValues[e]=t,delete this.impliedValues[e],this}delete(e){delete this.knownValues[e],delete this.impliedValues[e]}clone(){let e=new Ur(this.reference);e.knownValues={},e.impliedValues={};for(let t in this.knownValues)e.knownValues[t]=this.knownValues[t];for(let t in this.impliedValues)e.impliedValues[t]=this.impliedValues[t];return e}isOnlyDate(){return!this.isCertain("hour")&&!this.isCertain("minute")&&!this.isCertain("second")}isOnlyTime(){return!this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")}isOnlyWeekdayComponent(){return this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")}isOnlyDayMonthComponent(){return this.isCertain("day")&&this.isCertain("month")&&!this.isCertain("year")}isValidDate(){let e=this.dateWithoutTimezoneAdjustment();return!(e.getFullYear()!==this.get("year")||e.getMonth()!==this.get("month")-1||e.getDate()!==this.get("day")||this.get("hour")!=null&&e.getHours()!=this.get("hour")||this.get("minute")!=null&&e.getMinutes()!=this.get("minute"))}toString(){return`[ParsingComponents {knownValues: ${JSON.stringify(this.knownValues)}, impliedValues: ${JSON.stringify(this.impliedValues)}}, reference: ${JSON.stringify(this.reference)}]`}dayjs(){return ks.default(this.date())}date(){let e=this.dateWithoutTimezoneAdjustment();return new Date(e.getTime()+this.getSystemTimezoneAdjustmentMinute(e)*6e4)}dateWithoutTimezoneAdjustment(){let e=new Date(this.get("year"),this.get("month")-1,this.get("day"),this.get("hour"),this.get("minute"),this.get("second"),this.get("millisecond"));return e.setFullYear(this.get("year")),e}getSystemTimezoneAdjustmentMinute(e){var t,n;(!e||e.getTime()<0)&&(e=new Date);let i=-e.getTimezoneOffset(),s=(n=(t=this.get("timezoneOffset"))!==null&&t!==void 0?t:this.reference.timezoneOffset)!==null&&n!==void 0?n:i;return i-s}static createRelativeFromReference(e,t){let n=ks.default(e.instant);for(let s in t)n=n.add(t[s],s);let i=new Ur(e);return t.hour||t.minute||t.second?(wo.assignSimilarTime(i,n),wo.assignSimilarDate(i,n),e.timezoneOffset!==null&&i.assign("timezoneOffset",-e.instant.getTimezoneOffset())):(wo.implySimilarTime(i,n),e.timezoneOffset!==null&&i.imply("timezoneOffset",-e.instant.getTimezoneOffset()),t.d?(i.assign("day",n.date()),i.assign("month",n.month()+1),i.assign("year",n.year())):(t.week&&i.imply("weekday",n.day()),i.imply("day",n.date()),t.month?(i.assign("month",n.month()+1),i.assign("year",n.year())):(i.imply("month",n.month()+1),t.year?i.assign("year",n.year()):i.imply("year",n.year())))),i}};Nt.ParsingComponents=Ur;var Hn=class{constructor(e,t,n,i,s){this.reference=e,this.refDate=e.instant,this.index=t,this.text=n,this.start=i||new Ur(e),this.end=s}clone(){let e=new Hn(this.reference,this.index,this.text);return e.start=this.start?this.start.clone():null,e.end=this.end?this.end.clone():null,e}date(){return this.start.date()}toString(){return`[ParsingResult {index: ${this.index}, text: '${this.text}', ...}]`}};Nt.ParsingResult=Hn});var R=h(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.AbstractParserWithWordBoundaryChecking=void 0;var Do=class{constructor(){this.cachedInnerPattern=null,this.cachedPattern=null}patternLeftBoundary(){return"(\\W|^)"}pattern(e){let t=this.innerPattern(e);return t==this.cachedInnerPattern?this.cachedPattern:(this.cachedPattern=new RegExp(`${this.patternLeftBoundary()}${t.source}`,t.flags),this.cachedInnerPattern=t,this.cachedPattern)}extract(e,t){var n;let i=(n=t[1])!==null&&n!==void 0?n:"";t.index=t.index+i.length,t[0]=t[0].substring(i.length);for(let s=2;s{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});var Po=Ie(),VT=he(),ZT=R(),XT=new RegExp(`(?:within|in|for)\\s*(?:(?:about|around|roughly|approximately|just)\\s*(?:~\\s*)?)?(${Po.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),QT=new RegExp(`(?:(?:about|around|roughly|approximately|just)\\s*(?:~\\s*)?)?(${Po.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),Oo=class extends ZT.AbstractParserWithWordBoundaryChecking{innerPattern(e){return e.option.forwardDate?QT:XT}innerExtract(e,t){let n=Po.parseTimeUnits(t[1]);return VT.ParsingComponents.createRelativeFromReference(e.reference,n)}};Ao.default=Oo});var Vp=h(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});var JT=Se(),zp=Ie(),Kp=Ie(),Cs=Ie(),eb=J(),tb=R(),rb=new RegExp(`(?:on\\s{0,3})?(${Cs.ORDINAL_NUMBER_PATTERN})(?:\\s{0,3}(?:to|\\-|\\\u2013|until|through|till)?\\s{0,3}(${Cs.ORDINAL_NUMBER_PATTERN}))?(?:-|/|\\s{0,3}(?:of)?\\s{0,3})(${eb.matchAnyPattern(zp.MONTH_DICTIONARY)})(?:(?:-|/|,?\\s{0,3})(${Kp.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),Bp=1,Gp=2,nb=3,Hp=4,ko=class extends tb.AbstractParserWithWordBoundaryChecking{innerPattern(){return rb}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=zp.MONTH_DICTIONARY[t[nb].toLowerCase()],s=Cs.parseOrdinalNumberPattern(t[Bp]);if(s>31)return t.index=t.index+t[Bp].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[Hp]){let a=Kp.parseYear(t[Hp]);n.start.assign("year",a)}else{let a=JT.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[Gp]){let a=Cs.parseOrdinalNumberPattern(t[Gp]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};No.default=ko});var eh=h(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});var ib=Se(),Qp=Ie(),xs=Ie(),Jp=Ie(),sb=J(),ab=R(),ob=new RegExp(`(${sb.matchAnyPattern(Qp.MONTH_DICTIONARY)})(?:-|/|\\s*,?\\s*)(${xs.ORDINAL_NUMBER_PATTERN})(?!\\s*(?:am|pm))\\s*(?:(?:to|\\-)\\s*(${xs.ORDINAL_NUMBER_PATTERN})\\s*)?(?:(?:-|/|\\s*,?\\s*)(${Jp.YEAR_PATTERN}))?(?=\\W|$)(?!\\:\\d)`,"i"),ub=1,lb=2,Zp=3,Xp=4,Co=class extends ab.AbstractParserWithWordBoundaryChecking{innerPattern(){return ob}innerExtract(e,t){let n=Qp.MONTH_DICTIONARY[t[ub].toLowerCase()],i=xs.parseOrdinalNumberPattern(t[lb]);if(i>31)return null;let s=e.createParsingComponents({day:i,month:n});if(t[Xp]){let u=Jp.parseYear(t[Xp]);s.assign("year",u)}else{let u=ib.findYearClosestToRef(e.refDate,i,n);s.imply("year",u)}if(!t[Zp])return s;let a=xs.parseOrdinalNumberPattern(t[Zp]),o=e.createParsingResult(t.index,t[0]);return o.start=s,o.end=s.clone(),o.end.assign("day",a),o}};xo.default=Co});var nh=h(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});var So=Ie(),cb=Se(),db=J(),rh=Ie(),fb=R(),pb=new RegExp(`((?:in)\\s*)?(${db.matchAnyPattern(So.MONTH_DICTIONARY)})\\s*(?:[,-]?\\s*(${rh.YEAR_PATTERN})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,"i"),hb=1,mb=2,th=3,Io=class extends fb.AbstractParserWithWordBoundaryChecking{innerPattern(){return pb}innerExtract(e,t){let n=t[mb].toLowerCase();if(t[0].length<=3&&!So.FULL_MONTH_NAME_DICTIONARY[n])return null;let i=e.createParsingResult(t.index+(t[hb]||"").length,t.index+t[0].length);i.start.imply("day",1);let s=So.MONTH_DICTIONARY[n];if(i.start.assign("month",s),t[th]){let a=rh.parseYear(t[th]);i.start.assign("year",a)}else{let a=cb.findYearClosestToRef(e.refDate,1,s);i.start.imply("year",a)}return i}};Uo.default=Io});var ah=h(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});var sh=Ie(),yb=J(),gb=R(),_b=new RegExp(`([0-9]{4})[\\.\\/\\s](?:(${yb.matchAnyPattern(sh.MONTH_DICTIONARY)})|([0-9]{1,2}))[\\.\\/\\s]([0-9]{1,2})(?=\\W|$)`,"i"),Tb=1,bb=2,ih=3,vb=4,Fo=class extends gb.AbstractParserWithWordBoundaryChecking{innerPattern(){return _b}innerExtract(e,t){let n=t[ih]?parseInt(t[ih]):sh.MONTH_DICTIONARY[t[bb].toLowerCase()];if(n<1||n>12)return null;let i=parseInt(t[Tb]);return{day:parseInt(t[vb]),month:n,year:i}}};qo.default=Fo});var oh=h(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});var Eb=R(),Rb=new RegExp("([0-9]|0[1-9]|1[012])/([0-9]{4})","i"),wb=1,Mb=2,Wo=class extends Eb.AbstractParserWithWordBoundaryChecking{innerPattern(){return Rb}innerExtract(e,t){let n=parseInt(t[Mb]),i=parseInt(t[wb]);return e.createParsingComponents().imply("day",1).assign("month",i).assign("year",n)}};Lo.default=Wo});var Fr=h(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.AbstractTimeExpressionParser=void 0;var Be=Ee();function Db(r,e,t,n){return new RegExp(`${r}${e}(\\d{1,4})(?:(?:\\.|:|\uFF1A)(\\d{1,2})(?:(?::|\uFF1A)(\\d{2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(a\\.m\\.|p\\.m\\.|am?|pm?))?${t}`,n)}function Ob(r,e){return new RegExp(`^(${r})(\\d{1,4})(?:(?:\\.|\\:|\\\uFF1A)(\\d{1,2})(?:(?:\\.|\\:|\\\uFF1A)(\\d{1,2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(a\\.m\\.|p\\.m\\.|am?|pm?))?${e}`,"i")}var uh=2,sn=3,Ss=4,Is=5,zn=6,Yo=class{constructor(e=!1){this.cachedPrimaryPrefix=null,this.cachedPrimarySuffix=null,this.cachedPrimaryTimePattern=null,this.cachedFollowingPhase=null,this.cachedFollowingSuffix=null,this.cachedFollowingTimePatten=null,this.strictMode=e}patternFlags(){return"i"}primaryPatternLeftBoundary(){return"(^|\\s|T|\\b)"}primarySuffix(){return"(?=\\W|$)"}followingSuffix(){return"(?=\\W|$)"}pattern(e){return this.getPrimaryTimePatternThroughCache()}extract(e,t){let n=this.extractPrimaryTimeComponents(e,t);if(!n)return t.index+=t[0].length,null;let i=t.index+t[1].length,s=t[0].substring(t[1].length),a=e.createParsingResult(i,s,n);t.index+=t[0].length;let o=e.text.substring(t.index),l=this.getFollowingTimePatternThroughCache().exec(o);return s.match(/^\d{3,4}/)&&l&&l[0].match(/^\s*([+-])\s*\d{2,4}$/)?null:!l||l[0].match(/^\s*([+-])\s*\d{3,4}$/)?this.checkAndReturnWithoutFollowingPattern(a):(a.end=this.extractFollowingTimeComponents(e,l,a),a.end&&(a.text+=l[0]),this.checkAndReturnWithFollowingPattern(a))}extractPrimaryTimeComponents(e,t,n=!1){let i=e.createParsingComponents(),s=0,a=null,o=parseInt(t[uh]);if(o>100){if(this.strictMode||t[sn]!=null)return null;s=o%100,o=Math.floor(o/100)}if(o>24)return null;if(t[sn]!=null){if(t[sn].length==1&&!t[zn])return null;s=parseInt(t[sn])}if(s>=60)return null;if(o>12&&(a=Be.Meridiem.PM),t[zn]!=null){if(o>12)return null;let u=t[zn][0].toLowerCase();u=="a"&&(a=Be.Meridiem.AM,o==12&&(o=0)),u=="p"&&(a=Be.Meridiem.PM,o!=12&&(o+=12))}if(i.assign("hour",o),i.assign("minute",s),a!==null?i.assign("meridiem",a):o<12?i.imply("meridiem",Be.Meridiem.AM):i.imply("meridiem",Be.Meridiem.PM),t[Is]!=null){let u=parseInt(t[Is].substring(0,3));if(u>=1e3)return null;i.assign("millisecond",u)}if(t[Ss]!=null){let u=parseInt(t[Ss]);if(u>=60)return null;i.assign("second",u)}return i}extractFollowingTimeComponents(e,t,n){let i=e.createParsingComponents();if(t[Is]!=null){let u=parseInt(t[Is].substring(0,3));if(u>=1e3)return null;i.assign("millisecond",u)}if(t[Ss]!=null){let u=parseInt(t[Ss]);if(u>=60)return null;i.assign("second",u)}let s=parseInt(t[uh]),a=0,o=-1;if(t[sn]!=null?a=parseInt(t[sn]):s>100&&(a=s%100,s=Math.floor(s/100)),a>=60||s>24)return null;if(s>=12&&(o=Be.Meridiem.PM),t[zn]!=null){if(s>12)return null;let u=t[zn][0].toLowerCase();u=="a"&&(o=Be.Meridiem.AM,s==12&&(s=0,i.isCertain("day")||i.imply("day",i.get("day")+1))),u=="p"&&(o=Be.Meridiem.PM,s!=12&&(s+=12)),n.start.isCertain("meridiem")||(o==Be.Meridiem.AM?(n.start.imply("meridiem",Be.Meridiem.AM),n.start.get("hour")==12&&n.start.assign("hour",0)):(n.start.imply("meridiem",Be.Meridiem.PM),n.start.get("hour")!=12&&n.start.assign("hour",n.start.get("hour")+12)))}return i.assign("hour",s),i.assign("minute",a),o>=0?i.assign("meridiem",o):n.start.isCertain("meridiem")&&n.start.get("hour")>12?n.start.get("hour")-12>s?i.imply("meridiem",Be.Meridiem.AM):s<=12&&(i.assign("hour",s+12),i.assign("meridiem",Be.Meridiem.PM)):s>12?i.imply("meridiem",Be.Meridiem.PM):s<=12&&i.imply("meridiem",Be.Meridiem.AM),i.date().getTime()24)return null}return e}checkAndReturnWithFollowingPattern(e){if(e.text.match(/^\d+-\d+$/))return null;let t=e.text.match(/[^\d:.](\d[\d.]+)\s*-\s*(\d[\d.]+)$/);if(t){if(this.strictMode)return null;let n=t[1],i=t[2];if(i.includes(".")&&!i.match(/\d(\.\d{2})+$/))return null;let s=parseInt(i),a=parseInt(n);if(s>24||a>24)return null}return e}getPrimaryTimePatternThroughCache(){let e=this.primaryPrefix(),t=this.primarySuffix();return this.cachedPrimaryPrefix===e&&this.cachedPrimarySuffix===t?this.cachedPrimaryTimePattern:(this.cachedPrimaryTimePattern=Db(this.primaryPatternLeftBoundary(),e,t,this.patternFlags()),this.cachedPrimaryPrefix=e,this.cachedPrimarySuffix=t,this.cachedPrimaryTimePattern)}getFollowingTimePatternThroughCache(){let e=this.followingPhase(),t=this.followingSuffix();return this.cachedFollowingPhase===e&&this.cachedFollowingSuffix===t?this.cachedFollowingTimePatten:(this.cachedFollowingTimePatten=Ob(e,t),this.cachedFollowingPhase=e,this.cachedFollowingSuffix=t,this.cachedFollowingTimePatten)}};Us.AbstractTimeExpressionParser=Yo});var lh=h(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});var Fs=Ee(),Pb=Fr(),$o=class extends Pb.AbstractTimeExpressionParser{constructor(e){super(e)}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|to|\\?)\\s*"}primaryPrefix(){return"(?:(?:at|from)\\s*)??"}primarySuffix(){return"(?:\\s*(?:o\\W*clock|at\\s*night|in\\s*the\\s*(?:morning|afternoon)))?(?!/)(?=\\W|$)"}extractPrimaryTimeComponents(e,t){let n=super.extractPrimaryTimeComponents(e,t);if(n){if(t[0].endsWith("night")){let i=n.get("hour");i>=6&&i<12?(n.assign("hour",n.get("hour")+12),n.assign("meridiem",Fs.Meridiem.PM)):i<6&&n.assign("meridiem",Fs.Meridiem.AM)}if(t[0].endsWith("afternoon")){n.assign("meridiem",Fs.Meridiem.PM);let i=n.get("hour");i>=0&&i<=6&&n.assign("hour",n.get("hour")+12)}t[0].endsWith("morning")&&(n.assign("meridiem",Fs.Meridiem.AM),n.get("hour")<12&&n.assign("hour",n.get("hour")))}return n}};jo.default=$o});var at=h(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.addImpliedTimeUnits=an.reverseTimeUnits=void 0;function Ab(r){let e={};for(let t in r)e[t]=-r[t];return e}an.reverseTimeUnits=Ab;function kb(r,e){let t=r.clone(),n=r.dayjs();for(let i in e)n=n.add(e[i],i);return("day"in e||"d"in e||"week"in e||"month"in e||"year"in e)&&(t.imply("day",n.date()),t.imply("month",n.month()+1),t.imply("year",n.year())),("second"in e||"minute"in e||"hour"in e)&&(t.imply("second",n.second()),t.imply("minute",n.minute()),t.imply("hour",n.hour())),t}an.addImpliedTimeUnits=kb});var ch=h(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});var Go=Ie(),Nb=he(),Cb=R(),xb=at(),Sb=new RegExp(`(${Go.TIME_UNITS_PATTERN})\\s{0,5}(?:ago|before|earlier)(?=(?:\\W|$))`,"i"),Ib=new RegExp(`(${Go.TIME_UNITS_PATTERN})\\s{0,5}ago(?=(?:\\W|$))`,"i"),Bo=class extends Cb.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?Ib:Sb}innerExtract(e,t){let n=Go.parseTimeUnits(t[1]),i=xb.reverseTimeUnits(n);return Nb.ParsingComponents.createRelativeFromReference(e.reference,i)}};Ho.default=Bo});var dh=h(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});var Ko=Ie(),Ub=he(),Fb=R(),qb=new RegExp(`(${Ko.TIME_UNITS_PATTERN})\\s{0,5}(?:later|after|from now|henceforth|forward|out)(?=(?:\\W|$))`,"i"),Wb=new RegExp("("+Ko.TIME_UNITS_PATTERN+")(later|from now)(?=(?:\\W|$))","i"),Lb=1,zo=class extends Fb.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?Wb:qb}innerExtract(e,t){let n=Ko.parseTimeUnits(t[Lb]);return Ub.ParsingComponents.createRelativeFromReference(e.reference,n)}};Vo.default=zo});var un=h(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.MergingRefiner=on.Filter=void 0;var Zo=class{refine(e,t){return t.filter(n=>this.isValid(e,n))}};on.Filter=Zo;var Xo=class{refine(e,t){if(t.length<2)return t;let n=[],i=t[0],s=null;for(let a=1;a{console.log(`${this.constructor.name} merged ${u} and ${l} into ${c}`)}),i=c}}return i!=null&&n.push(i),n}};on.MergingRefiner=Xo});var Ct=h(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});var Yb=un(),Qo=class extends Yb.MergingRefiner{shouldMergeResults(e,t,n){return!t.end&&!n.end&&e.match(this.patternBetween())!=null}mergeResults(e,t,n){if(!t.start.isOnlyWeekdayComponent()&&!n.start.isOnlyWeekdayComponent()&&(n.start.getCertainComponents().forEach(s=>{t.start.isCertain(s)||t.start.assign(s,n.start.get(s))}),t.start.getCertainComponents().forEach(s=>{n.start.isCertain(s)||n.start.assign(s,t.start.get(s))})),t.start.date().getTime()>n.start.date().getTime()){let s=t.start.dayjs(),a=n.start.dayjs();t.start.isOnlyWeekdayComponent()&&s.add(-7,"days").isBefore(a)?(s=s.add(-7,"days"),t.start.imply("day",s.date()),t.start.imply("month",s.month()+1),t.start.imply("year",s.year())):n.start.isOnlyWeekdayComponent()&&a.add(7,"days").isAfter(s)?(a=a.add(7,"days"),n.start.imply("day",a.date()),n.start.imply("month",a.month()+1),n.start.imply("year",a.year())):[n,t]=[t,n]}let i=t.clone();return i.start=t.start,i.end=n.start,i.index=Math.min(t.index,n.index),t.index{"use strict";var $b=Kn&&Kn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Kn,"__esModule",{value:!0});var jb=$b(Ct()),eu=class extends jb.default{patternBetween(){return/^\s*(to|-)\s*$/i}};Kn.default=eu});var ph=h(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.mergeDateTimeComponent=ln.mergeDateTimeResult=void 0;var Bb=Ee();function Gb(r,e){let t=r.clone(),n=r.start,i=e.start;if(t.start=tu(n,i),r.end!=null||e.end!=null){let s=r.end==null?r.start:r.end,a=e.end==null?e.start:e.end,o=tu(s,a);r.end==null&&o.date().getTime(){"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var Hb=un(),hh=ph(),ru=class extends Hb.MergingRefiner{shouldMergeResults(e,t,n){return(t.start.isOnlyDate()&&n.start.isOnlyTime()||n.start.isOnlyDate()&&t.start.isOnlyTime())&&e.match(this.patternBetween())!=null}mergeResults(e,t,n){let i=t.start.isOnlyDate()?hh.mergeDateTimeResult(t,n):hh.mergeDateTimeResult(n,t);return i.index=t.index,i.text=t.text+e+n.text,i}};nu.default=ru});var mh=h(Vn=>{"use strict";var zb=Vn&&Vn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Vn,"__esModule",{value:!0});var Kb=zb(Ht()),iu=class extends Kb.default{patternBetween(){return new RegExp("^\\s*(T|at|after|before|on|of|,|-)?\\s*$")}};Vn.default=iu});var yh=h(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});var Vb=new RegExp("^\\s*,?\\s*\\(?([A-Z]{2,4})\\)?(?=\\W|$)","i"),Zb={ACDT:630,ACST:570,ADT:-180,AEDT:660,AEST:600,AFT:270,AKDT:-480,AKST:-540,ALMT:360,AMST:-180,AMT:-240,ANAST:720,ANAT:720,AQTT:300,ART:-180,AST:-240,AWDT:540,AWST:480,AZOST:0,AZOT:-60,AZST:300,AZT:240,BNT:480,BOT:-240,BRST:-120,BRT:-180,BST:60,BTT:360,CAST:480,CAT:120,CCT:390,CDT:-300,CEST:120,CET:60,CHADT:825,CHAST:765,CKT:-600,CLST:-180,CLT:-240,COT:-300,CST:-360,CVT:-60,CXT:420,ChST:600,DAVT:420,EASST:-300,EAST:-360,EAT:180,ECT:-300,EDT:-240,EEST:180,EET:120,EGST:0,EGT:-60,EST:-300,ET:-300,FJST:780,FJT:720,FKST:-180,FKT:-240,FNT:-120,GALT:-360,GAMT:-540,GET:240,GFT:-180,GILT:720,GMT:0,GST:240,GYT:-240,HAA:-180,HAC:-300,HADT:-540,HAE:-240,HAP:-420,HAR:-360,HAST:-600,HAT:-90,HAY:-480,HKT:480,HLV:-210,HNA:-240,HNC:-360,HNE:-300,HNP:-480,HNR:-420,HNT:-150,HNY:-540,HOVT:420,ICT:420,IDT:180,IOT:360,IRDT:270,IRKST:540,IRKT:540,IRST:210,IST:330,JST:540,KGT:360,KRAST:480,KRAT:480,KST:540,KUYT:240,LHDT:660,LHST:630,LINT:840,MAGST:720,MAGT:720,MART:-510,MAWT:300,MDT:-360,MESZ:120,MEZ:60,MHT:720,MMT:390,MSD:240,MSK:240,MST:-420,MUT:240,MVT:300,MYT:480,NCT:660,NDT:-90,NFT:690,NOVST:420,NOVT:360,NPT:345,NST:-150,NUT:-660,NZDT:780,NZST:720,OMSST:420,OMST:420,PDT:-420,PET:-300,PETST:720,PETT:720,PGT:600,PHOT:780,PHT:480,PKT:300,PMDT:-120,PMST:-180,PONT:660,PST:-480,PT:-480,PWT:540,PYST:-180,PYT:-240,RET:240,SAMT:240,SAST:120,SBT:660,SCT:240,SGT:480,SRT:-180,SST:-660,TAHT:-600,TFT:300,TJT:300,TKT:780,TLT:540,TMT:300,TVT:720,ULAT:480,UTC:0,UYST:-120,UYT:-180,UZT:300,VET:-210,VLAST:660,VLAT:660,VUT:660,WAST:120,WAT:60,WEST:60,WESZ:60,WET:0,WEZ:0,WFT:720,WGST:-120,WGT:-180,WIB:420,WIT:540,WITA:480,WST:780,WT:0,YAKST:600,YAKT:600,YAPT:600,YEKST:360,YEKT:360},su=class{constructor(e){this.timezone=Object.assign(Object.assign({},Zb),e)}refine(e,t){var n;let i=(n=e.option.timezones)!==null&&n!==void 0?n:{};return t.forEach(s=>{var a,o;let u=e.text.substring(s.index+s.text.length),l=Vb.exec(u);if(!l)return;let c=l[1].toUpperCase(),d=(o=(a=i[c])!==null&&a!==void 0?a:this.timezone[c])!==null&&o!==void 0?o:null;if(d===null)return;e.debug(()=>{console.log(`Extracting timezone: '${c}' into: ${d} for: ${s.start}`)});let f=s.start.get("timezoneOffset");f!==null&&d!=f&&(s.start.isCertain("timezoneOffset")||c!=l[1])||s.start.isOnlyDate()&&c!=l[1]||(s.text+=l[0],s.start.isCertain("timezoneOffset")||s.start.assign("timezoneOffset",d),s.end!=null&&!s.end.isCertain("timezoneOffset")&&s.end.assign("timezoneOffset",d))}),t}};au.default=su});var qs=h(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var Xb=new RegExp("^\\s*(?:\\(?(?:GMT|UTC)\\s?)?([+-])(\\d{1,2})(?::?(\\d{2}))?\\)?","i"),Qb=1,Jb=2,ev=3,ou=class{refine(e,t){return t.forEach(function(n){if(n.start.isCertain("timezoneOffset"))return;let i=e.text.substring(n.index+n.text.length),s=Xb.exec(i);if(!s)return;e.debug(()=>{console.log(`Extracting timezone: '${s[0]}' into : ${n}`)});let a=parseInt(s[Jb]),o=parseInt(s[ev]||"0"),u=a*60+o;u>14*60||(s[Qb]==="-"&&(u=-u),n.end!=null&&n.end.assign("timezoneOffset",u),n.start.assign("timezoneOffset",u),n.text+=s[0])}),t}};uu.default=ou});var gh=h(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var lu=class{refine(e,t){if(t.length<2)return t;let n=[],i=t[0];for(let s=1;si.text.length&&(i=a):(n.push(i),i=a)}return i!=null&&n.push(i),n}};cu.default=lu});var _h=h(Zn=>{"use strict";var tv=Zn&&Zn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Zn,"__esModule",{value:!0});var rv=tv(K()),du=class{refine(e,t){return e.option.forwardDate&&t.forEach(function(n){let i=rv.default(e.refDate);if(n.start.isOnlyDayMonthComponent()&&i.isAfter(n.start.dayjs()))for(let s=0;s<3&&i.isAfter(n.start.dayjs());s++)n.start.imply("year",n.start.get("year")+1),e.debug(()=>{console.log(`Forward yearly adjusted for ${n} (${n.start})`)}),n.end&&!n.end.isCertain("year")&&(n.end.imply("year",n.end.get("year")+1),e.debug(()=>{console.log(`Forward yearly adjusted for ${n} (${n.end})`)}));n.start.isOnlyWeekdayComponent()&&i.isAfter(n.start.dayjs())&&(i.day()>=n.start.get("weekday")?i=i.day(n.start.get("weekday")+7):i=i.day(n.start.get("weekday")),n.start.imply("day",i.date()),n.start.imply("month",i.month()+1),n.start.imply("year",i.year()),e.debug(()=>{console.log(`Forward weekly adjusted for ${n} (${n.start})`)}),n.end&&n.end.isOnlyWeekdayComponent()&&(i.day()>n.end.get("weekday")?i=i.day(n.end.get("weekday")+7):i=i.day(n.end.get("weekday")),n.end.imply("day",i.date()),n.end.imply("month",i.month()+1),n.end.imply("year",i.year()),e.debug(()=>{console.log(`Forward weekly adjusted for ${n} (${n.end})`)})))}),t}};Zn.default=du});var Th=h(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var nv=un(),fu=class extends nv.Filter{constructor(e){super(),this.strictMode=e}isValid(e,t){return t.text.replace(" ","").match(/^\d*(\.\d*)?$/)?(e.debug(()=>{console.log(`Removing unlikely result '${t.text}'`)}),!1):t.start.isValidDate()?t.end&&!t.end.isValidDate()?(e.debug(()=>{console.log(`Removing invalid result: ${t} (${t.end})`)}),!1):this.strictMode?this.isStrictModeValid(e,t):!0:(e.debug(()=>{console.log(`Removing invalid result: ${t} (${t.start})`)}),!1)}isStrictModeValid(e,t){return t.start.isOnlyWeekdayComponent()?(e.debug(()=>{console.log(`(Strict) Removing weekday only component: ${t} (${t.end})`)}),!1):t.start.isOnlyTime()&&(!t.start.isCertain("hour")||!t.start.isCertain("minute"))?(e.debug(()=>{console.log(`(Strict) Removing uncertain time component: ${t} (${t.end})`)}),!1):!0}};pu.default=fu});var yu=h(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var iv=R(),sv=new RegExp("([0-9]{4})\\-([0-9]{1,2})\\-([0-9]{1,2})(?:T([0-9]{1,2}):([0-9]{1,2})(?::([0-9]{1,2})(?:\\.(\\d{1,4}))?)?(?:Z|([+-]\\d{2}):?(\\d{2})?)?)?(?=\\W|$)","i"),av=1,ov=2,uv=3,bh=4,lv=5,vh=6,Eh=7,Rh=8,wh=9,hu=class extends iv.AbstractParserWithWordBoundaryChecking{innerPattern(){return sv}innerExtract(e,t){let n={};if(n.year=parseInt(t[av]),n.month=parseInt(t[ov]),n.day=parseInt(t[uv]),t[bh]!=null)if(n.hour=parseInt(t[bh]),n.minute=parseInt(t[lv]),t[vh]!=null&&(n.second=parseInt(t[vh])),t[Eh]!=null&&(n.millisecond=parseInt(t[Eh])),t[Rh]==null)n.timezoneOffset=0;else{let i=parseInt(t[Rh]),s=0;t[wh]!=null&&(s=parseInt(t[wh]));let a=i*60;a<0?a-=s:a+=s,n.timezoneOffset=a}return n}};mu.default=hu});var Mh=h(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var cv=un(),gu=class extends cv.MergingRefiner{mergeResults(e,t,n){let i=n.clone();return i.index=t.index,i.text=t.text+e+i.text,i.start.assign("weekday",t.start.get("weekday")),i.end&&i.end.assign("weekday",t.start.get("weekday")),i}shouldMergeResults(e,t,n){return t.start.isOnlyWeekdayComponent()&&!t.start.isCertain("hour")&&n.start.isCertain("day")&&e.match(/^,?\s*$/)!=null}};_u.default=gu});var zt=h(cn=>{"use strict";var qr=cn&&cn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(cn,"__esModule",{value:!0});cn.includeCommonConfiguration=void 0;var dv=qr(yh()),fv=qr(qs()),Dh=qr(gh()),pv=qr(_h()),hv=qr(Th()),mv=qr(yu()),yv=qr(Mh());function gv(r,e=!1){return r.parsers.unshift(new mv.default),r.refiners.unshift(new yv.default),r.refiners.unshift(new dv.default),r.refiners.unshift(new fv.default),r.refiners.unshift(new Dh.default),r.refiners.push(new Dh.default),r.refiners.push(new pv.default),r.refiners.push(new hv.default(e)),r}cn.includeCommonConfiguration=gv});var Vt=h(Q=>{"use strict";var _v=Q&&Q.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Q,"__esModule",{value:!0});Q.noon=Q.morning=Q.midnight=Q.yesterdayEvening=Q.evening=Q.lastNight=Q.tonight=Q.theDayAfter=Q.tomorrow=Q.theDayBefore=Q.yesterday=Q.today=Q.now=void 0;var xt=he(),dn=_v(K()),Kt=st(),Xn=Ee();function Tv(r){let e=dn.default(r.instant),t=new xt.ParsingComponents(r,{});return Kt.assignSimilarDate(t,e),Kt.assignSimilarTime(t,e),r.timezoneOffset!==null&&t.assign("timezoneOffset",e.utcOffset()),t}Q.now=Tv;function bv(r){let e=dn.default(r.instant),t=new xt.ParsingComponents(r,{});return Kt.assignSimilarDate(t,e),Kt.implySimilarTime(t,e),t}Q.today=bv;function vv(r){return Oh(r,1)}Q.yesterday=vv;function Oh(r,e){return Tu(r,-e)}Q.theDayBefore=Oh;function Ev(r){return Tu(r,1)}Q.tomorrow=Ev;function Tu(r,e){let t=dn.default(r.instant),n=new xt.ParsingComponents(r,{});return t=t.add(e,"day"),Kt.assignSimilarDate(n,t),Kt.implySimilarTime(n,t),n}Q.theDayAfter=Tu;function Rv(r,e=22){let t=dn.default(r.instant),n=new xt.ParsingComponents(r,{});return n.imply("hour",e),n.imply("meridiem",Xn.Meridiem.PM),Kt.assignSimilarDate(n,t),n}Q.tonight=Rv;function wv(r,e=0){let t=dn.default(r.instant),n=new xt.ParsingComponents(r,{});return t.hour()<6&&(t=t.add(-1,"day")),Kt.assignSimilarDate(n,t),n.imply("hour",e),n}Q.lastNight=wv;function Mv(r,e=20){let t=new xt.ParsingComponents(r,{});return t.imply("meridiem",Xn.Meridiem.PM),t.imply("hour",e),t}Q.evening=Mv;function Dv(r,e=20){let t=dn.default(r.instant),n=new xt.ParsingComponents(r,{});return t=t.add(-1,"day"),Kt.assignSimilarDate(n,t),n.imply("hour",e),n.imply("meridiem",Xn.Meridiem.PM),n}Q.yesterdayEvening=Dv;function Ov(r){let e=new xt.ParsingComponents(r,{});return e.imply("hour",0),e.imply("minute",0),e.imply("second",0),e}Q.midnight=Ov;function Pv(r,e=6){let t=new xt.ParsingComponents(r,{});return t.imply("meridiem",Xn.Meridiem.AM),t.imply("hour",e),t}Q.morning=Pv;function Av(r){let e=new xt.ParsingComponents(r,{});return e.imply("meridiem",Xn.Meridiem.AM),e.imply("hour",12),e}Q.noon=Av});var Ph=h(gt=>{"use strict";var kv=gt&>.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),Nv=gt&>.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),Cv=gt&>.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&kv(e,r,t);return Nv(e,r),e},xv=gt&>.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(gt,"__esModule",{value:!0});var Sv=xv(K()),Iv=R(),Uv=st(),Qn=Cv(Vt()),Fv=/(now|today|tonight|tomorrow|tmr|tmrw|yesterday|last\s*night)(?=\W|$)/i,bu=class extends Iv.AbstractParserWithWordBoundaryChecking{innerPattern(e){return Fv}innerExtract(e,t){let n=Sv.default(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();switch(i){case"now":return Qn.now(e.reference);case"today":return Qn.today(e.reference);case"yesterday":return Qn.yesterday(e.reference);case"tomorrow":case"tmr":case"tmrw":return Qn.tomorrow(e.reference);case"tonight":return Qn.tonight(e.reference);default:i.match(/last\s*night/)&&(n.hour()>6&&(n=n.add(-1,"day")),Uv.assignSimilarDate(s,n),s.imply("hour",0));break}return s}};gt.default=bu});var Ah=h(Jn=>{"use strict";var qv=Jn&&Jn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jn,"__esModule",{value:!0});var Ws=Ee(),Wv=R(),Lv=qv(K()),Yv=st(),$v=/(?:this)?\s{0,3}(morning|afternoon|evening|night|midnight|noon)(?=\W|$)/i,vu=class extends Wv.AbstractParserWithWordBoundaryChecking{innerPattern(){return $v}innerExtract(e,t){let n=Lv.default(e.refDate),i=e.createParsingComponents();switch(t[1].toLowerCase()){case"afternoon":i.imply("meridiem",Ws.Meridiem.PM),i.imply("hour",15);break;case"evening":case"night":i.imply("meridiem",Ws.Meridiem.PM),i.imply("hour",20);break;case"midnight":Yv.assignTheNextDay(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"morning":i.imply("meridiem",Ws.Meridiem.AM),i.imply("hour",6);break;case"noon":i.imply("meridiem",Ws.Meridiem.AM),i.imply("hour",12);break}return i}};Jn.default=vu});var Wr=h(br=>{"use strict";var jv=br&&br.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(br,"__esModule",{value:!0});br.toDayJSClosestWeekday=br.toDayJSWeekday=void 0;var kh=jv(K());function Bv(r,e,t){if(!t)return Nh(r,e);let n=kh.default(r);switch(t){case"this":n=n.day(e);break;case"next":n=n.day(e+7);break;case"last":n=n.day(e-7);break}return n}br.toDayJSWeekday=Bv;function Nh(r,e){let t=kh.default(r),n=t.day();return Math.abs(e-7-n){"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});var Ch=Ie(),Gv=J(),Hv=R(),zv=Wr(),Kv=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:on\\s*?)?(?:(this|last|past|next)\\s*)?(${Gv.matchAnyPattern(Ch.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(this|last|past|next)\\s*week)?(?=\\W|$)`,"i"),Vv=1,Zv=2,Xv=3,Eu=class extends Hv.AbstractParserWithWordBoundaryChecking{innerPattern(){return Kv}innerExtract(e,t){let n=t[Zv].toLowerCase(),i=Ch.WEEKDAY_DICTIONARY[n],s=t[Vv],a=t[Xv],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o=="last"||o=="past"?u="last":o=="next"?u="next":o=="this"&&(u="this");let l=zv.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};Ru.default=Eu});var Uh=h(ei=>{"use strict";var Qv=ei&&ei.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ei,"__esModule",{value:!0});var Ih=Ie(),Sh=he(),Jv=Qv(K()),e1=R(),t1=J(),r1=new RegExp(`(this|last|past|next|after\\s*this)\\s*(${t1.matchAnyPattern(Ih.TIME_UNIT_DICTIONARY)})(?=\\s*)(?=\\W|$)`,"i"),n1=1,i1=2,wu=class extends e1.AbstractParserWithWordBoundaryChecking{innerPattern(){return r1}innerExtract(e,t){let n=t[n1].toLowerCase(),i=t[i1].toLowerCase(),s=Ih.TIME_UNIT_DICTIONARY[i];if(n=="next"||n.startsWith("after")){let u={};return u[s]=1,Sh.ParsingComponents.createRelativeFromReference(e.reference,u)}if(n=="last"||n=="past"){let u={};return u[s]=-1,Sh.ParsingComponents.createRelativeFromReference(e.reference,u)}let a=e.createParsingComponents(),o=Jv.default(e.reference.instant);return i.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):i.match(/month/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):i.match(/year/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}};ei.default=wu});var _t=h(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.ParsingContext=hn.Chrono=void 0;var fn=he(),s1=Mu(),pn=class{constructor(e){e=e||s1.createCasualConfiguration(),this.parsers=[...e.parsers],this.refiners=[...e.refiners]}clone(){return new pn({parsers:[...this.parsers],refiners:[...this.refiners]})}parseDate(e,t,n){let i=this.parse(e,t,n);return i.length>0?i[0].start.date():null}parse(e,t,n){let i=new Ls(e,t,n),s=[];return this.parsers.forEach(a=>{let o=pn.executeParser(i,a);s=s.concat(o)}),s.sort((a,o)=>a.index-o.index),this.refiners.forEach(function(a){s=a.refine(i,s)}),s}static executeParser(e,t){let n=[],i=t.pattern(e),s=e.text,a=e.text,o=i.exec(a);for(;o;){let u=o.index+s.length-a.length;o.index=u;let l=t.extract(e,o);if(!l){a=s.substring(o.index+1),o=i.exec(a);continue}let c=null;l instanceof fn.ParsingResult?c=l:l instanceof fn.ParsingComponents?(c=e.createParsingResult(o.index,o[0]),c.start=l):c=e.createParsingResult(o.index,o[0],l),e.debug(()=>console.log(`${t.constructor.name} extracted result ${c}`)),n.push(c),a=s.substring(u+c.text.length),o=i.exec(a)}return n}};hn.Chrono=pn;var Ls=class{constructor(e,t,n){this.text=e,this.reference=new fn.ReferenceWithTimezone(t),this.option=n!=null?n:{},this.refDate=this.reference.instant}createParsingComponents(e){return e instanceof fn.ParsingComponents?e:new fn.ParsingComponents(this.reference,e)}createParsingResult(e,t,n,i){let s=typeof t=="string"?t:this.text.substring(e,t),a=n?this.createParsingComponents(n):null,o=i?this.createParsingComponents(i):null;return new fn.ParsingResult(this.reference,e,s,a,o)}debug(e){this.option.debug&&(this.option.debug instanceof Function?this.option.debug(e):this.option.debug.debug(e))}};hn.ParsingContext=Ls});var Lr=h(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var Fh=Se(),a1=new RegExp("([^\\d]|^)([0-3]{0,1}[0-9]{1})[\\/\\.\\-]([0-3]{0,1}[0-9]{1})(?:[\\/\\.\\-]([0-9]{4}|[0-9]{2}))?(\\W|$)","i"),Ys=1,qh=5,Wh=2,Lh=3,Du=4,Ou=class{constructor(e){this.groupNumberMonth=e?Lh:Wh,this.groupNumberDay=e?Wh:Lh}pattern(){return a1}extract(e,t){if(t[Ys]=="/"||t[qh]=="/"){t.index+=t[0].length;return}let n=t.index+t[Ys].length,i=t[0].substr(t[Ys].length,t[0].length-t[Ys].length-t[qh].length);if(i.match(/^\d\.\d$/)||i.match(/^\d\.\d{1,2}\.\d{1,2}\s*$/)||!t[Du]&&t[0].indexOf("/")<0)return;let s=e.createParsingResult(n,i),a=parseInt(t[this.groupNumberMonth]),o=parseInt(t[this.groupNumberDay]);if((a<1||a>12)&&a>12)if(o>=1&&o<=12&&a<=31)[o,a]=[a,o];else return null;if(o<1||o>31)return null;if(s.start.assign("day",o),s.start.assign("month",a),t[Du]){let u=parseInt(t[Du]),l=Fh.findMostLikelyADYear(u);s.start.assign("year",l)}else{let u=Fh.findYearClosestToRef(e.refDate,o,a);s.start.imply("year",u)}return s}};Pu.default=Ou});var $h=h(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var Yh=Ie(),o1=he(),u1=R(),l1=at(),c1=new RegExp(`(this|last|past|next|after|\\+|-)\\s*(${Yh.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),Au=class extends u1.AbstractParserWithWordBoundaryChecking{innerPattern(){return c1}innerExtract(e,t){let n=t[1].toLowerCase(),i=Yh.parseTimeUnits(t[2]);switch(n){case"last":case"past":case"-":i=l1.reverseTimeUnits(i);break}return o1.ParsingComponents.createRelativeFromReference(e.reference,i)}};ku.default=Au});var Bh=h(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var d1=un(),Nu=he(),f1=Ie(),p1=at();function jh(r){return r.text.match(/\s+(before|from)$/i)!=null}function h1(r){return r.text.match(/\s+(after|since)$/i)!=null}var Cu=class extends d1.MergingRefiner{patternBetween(){return/^\s*$/i}shouldMergeResults(e,t,n){return!e.match(this.patternBetween())||!jh(t)&&!h1(t)?!1:!!n.start.get("day")&&!!n.start.get("month")&&!!n.start.get("year")}mergeResults(e,t,n){let i=f1.parseTimeUnits(t.text);jh(t)&&(i=p1.reverseTimeUnits(i));let s=Nu.ParsingComponents.createRelativeFromReference(new Nu.ReferenceWithTimezone(n.start.date()),i);return new Nu.ParsingResult(n.reference,t.index,`${t.text}${e}${n.text}`,s)}};xu.default=Cu});var Mu=h(_e=>{"use strict";var Me=_e&&_e.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(_e,"__esModule",{value:!0});_e.createConfiguration=_e.createCasualConfiguration=_e.parseDate=_e.parse=_e.GB=_e.strict=_e.casual=void 0;var m1=Me(jp()),y1=Me(Vp()),g1=Me(eh()),_1=Me(nh()),T1=Me(ah()),b1=Me(oh()),v1=Me(lh()),E1=Me(ch()),R1=Me(dh()),w1=Me(fh()),M1=Me(mh()),D1=zt(),O1=Me(Ph()),P1=Me(Ah()),A1=Me(xh()),k1=Me(Uh()),Su=_t(),N1=Me(Lr()),C1=Me($h()),x1=Me(Bh());_e.casual=new Su.Chrono(Gh(!1));_e.strict=new Su.Chrono($s(!0,!1));_e.GB=new Su.Chrono($s(!1,!0));function S1(r,e,t){return _e.casual.parse(r,e,t)}_e.parse=S1;function I1(r,e,t){return _e.casual.parseDate(r,e,t)}_e.parseDate=I1;function Gh(r=!1){let e=$s(!1,r);return e.parsers.unshift(new O1.default),e.parsers.unshift(new P1.default),e.parsers.unshift(new _1.default),e.parsers.unshift(new k1.default),e.parsers.unshift(new C1.default),e}_e.createCasualConfiguration=Gh;function $s(r=!0,e=!1){return D1.includeCommonConfiguration({parsers:[new N1.default(e),new m1.default,new y1.default,new g1.default,new A1.default,new T1.default,new b1.default,new v1.default(r),new E1.default(r),new R1.default(r)],refiners:[new x1.default,new M1.default,new w1.default]},r)}_e.createConfiguration=$s});var Hh=h(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});var U1=Fr(),Iu=class extends U1.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:um|von)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|bis)\\s*"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}};Uu.default=Iu});var ti=h(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.parseTimeUnits=te.TIME_UNITS_PATTERN=te.parseYear=te.YEAR_PATTERN=te.parseNumberPattern=te.NUMBER_PATTERN=te.TIME_UNIT_DICTIONARY=te.INTEGER_WORD_DICTIONARY=te.MONTH_DICTIONARY=te.WEEKDAY_DICTIONARY=void 0;var Fu=J(),F1=Se();te.WEEKDAY_DICTIONARY={sonntag:0,so:0,montag:1,mo:1,dienstag:2,di:2,mittwoch:3,mi:3,donnerstag:4,do:4,freitag:5,fr:5,samstag:6,sa:6};te.MONTH_DICTIONARY={januar:1,j\u00E4nner:1,janner:1,jan:1,"jan.":1,februar:2,feber:2,feb:2,"feb.":2,m\u00E4rz:3,maerz:3,m\u00E4r:3,"m\xE4r.":3,mrz:3,"mrz.":3,april:4,apr:4,"apr.":4,mai:5,juni:6,jun:6,"jun.":6,juli:7,jul:7,"jul.":7,august:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,oktober:10,okt:10,"okt.":10,november:11,nov:11,"nov.":11,dezember:12,dez:12,"dez.":12};te.INTEGER_WORD_DICTIONARY={eins:1,eine:1,einem:1,einen:1,einer:1,zwei:2,drei:3,vier:4,f\u00FCnf:5,fuenf:5,sechs:6,sieben:7,acht:8,neun:9,zehn:10,elf:11,zw\u00F6lf:12,zwoelf:12};te.TIME_UNIT_DICTIONARY={sek:"second",sekunde:"second",sekunden:"second",min:"minute",minute:"minute",minuten:"minute",h:"hour",std:"hour",stunde:"hour",stunden:"hour",tag:"d",tage:"d",tagen:"d",woche:"week",wochen:"week",monat:"month",monate:"month",monaten:"month",monats:"month",quartal:"quarter",quartals:"quarter",quartale:"quarter",quartalen:"quarter",a:"year",j:"year",jr:"year",jahr:"year",jahre:"year",jahren:"year",jahres:"year"};te.NUMBER_PATTERN=`(?:${Fu.matchAnyPattern(te.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s*an?)?|an?\\b(?:\\s*few)?|few|several|a?\\s*couple\\s*(?:of)?)`;function Kh(r){let e=r.toLowerCase();return te.INTEGER_WORD_DICTIONARY[e]!==void 0?te.INTEGER_WORD_DICTIONARY[e]:e==="a"||e==="an"?1:e.match(/few/)?3:e.match(/half/)?.5:e.match(/couple/)?2:e.match(/several/)?7:parseFloat(e)}te.parseNumberPattern=Kh;te.YEAR_PATTERN="(?:[0-9]{1,4}(?:\\s*[vn]\\.?\\s*(?:C(?:hr)?|(?:u\\.?|d\\.?(?:\\s*g\\.?)?)?\\s*Z)\\.?|\\s*(?:u\\.?|d\\.?(?:\\s*g\\.)?)\\s*Z\\.?)?)";function q1(r){if(/v/i.test(r))return-parseInt(r.replace(/[^0-9]+/gi,""));if(/n/i.test(r))return parseInt(r.replace(/[^0-9]+/gi,""));if(/z/i.test(r))return parseInt(r.replace(/[^0-9]+/gi,""));let e=parseInt(r);return F1.findMostLikelyADYear(e)}te.parseYear=q1;var Vh=`(${te.NUMBER_PATTERN})\\s{0,5}(${Fu.matchAnyPattern(te.TIME_UNIT_DICTIONARY)})\\s{0,5}`,zh=new RegExp(Vh,"i");te.TIME_UNITS_PATTERN=Fu.repeatedTimeunitPattern("",Vh);function W1(r){let e={},t=r,n=zh.exec(t);for(;n;)L1(e,n),t=t.substring(n[0].length),n=zh.exec(t);return e}te.parseTimeUnits=W1;function L1(r,e){let t=Kh(e[1]),n=te.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Xh=h(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});var Zh=ti(),Y1=J(),$1=R(),j1=Wr(),B1=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:a[mn]\\s*?)?(?:(diese[mn]|letzte[mn]|n(?:\xE4|ae)chste[mn])\\s*)?(${Y1.matchAnyPattern(Zh.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(diese|letzte|n(?:\xE4|ae)chste)\\s*woche)?(?=\\W|$)`,"i"),G1=1,H1=3,z1=2,qu=class extends $1.AbstractParserWithWordBoundaryChecking{innerPattern(){return B1}innerExtract(e,t){let n=t[z1].toLowerCase(),i=Zh.WEEKDAY_DICTIONARY[n],s=t[G1],a=t[H1],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o.match(/letzte/)?u="last":o.match(/chste/)?u="next":o.match(/diese/)&&(u="this");let l=j1.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};Wu.default=qu});var tm=h(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var vr=Ee(),K1=new RegExp("(^|\\s|T)(?:(?:um|von)\\s*)?(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s)?)?(?:\\s*Uhr)?(?:\\s*(morgens|vormittags|nachmittags|abends|nachts|am\\s+(?:Morgen|Vormittag|Nachmittag|Abend)|in\\s+der\\s+Nacht))?(?=\\W|$)","i"),V1=new RegExp("^\\s*(\\-|\\\u2013|\\~|\\\u301C|bis(?:\\s+um)?|\\?)\\s*(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s)?)?(?:\\s*Uhr)?(?:\\s*(morgens|vormittags|nachmittags|abends|nachts|am\\s+(?:Morgen|Vormittag|Nachmittag|Abend)|in\\s+der\\s+Nacht))?(?=\\W|$)","i"),Z1=2,Qh=3,Jh=4,em=5,mn=class{pattern(e){return K1}extract(e,t){let n=e.createParsingResult(t.index+t[1].length,t[0].substring(t[1].length));if(n.text.match(/^\d{4}$/)||(n.start=mn.extractTimeComponent(n.start.clone(),t),!n.start))return t.index+=t[0].length,null;let i=e.text.substring(t.index+t[0].length),s=V1.exec(i);return s&&(n.end=mn.extractTimeComponent(n.start.clone(),s),n.end&&(n.text+=s[0])),n}static extractTimeComponent(e,t){let n=0,i=0,s=null;if(n=parseInt(t[Z1]),t[Qh]!=null&&(i=parseInt(t[Qh])),i>=60||n>24)return null;if(n>=12&&(s=vr.Meridiem.PM),t[em]!=null){if(n>12)return null;let a=t[em].toLowerCase();a.match(/morgen|vormittag/)&&(s=vr.Meridiem.AM,n==12&&(n=0)),a.match(/nachmittag|abend/)&&(s=vr.Meridiem.PM,n!=12&&(n+=12)),a.match(/nacht/)&&(n==12?(s=vr.Meridiem.AM,n=0):n<6?s=vr.Meridiem.AM:(s=vr.Meridiem.PM,n+=12))}if(e.assign("hour",n),e.assign("minute",i),s!==null?e.assign("meridiem",s):n<12?e.imply("meridiem",vr.Meridiem.AM):e.imply("meridiem",vr.Meridiem.PM),t[Jh]!=null){let a=parseInt(t[Jh]);if(a>=60)return null;e.assign("second",a)}return e}};Lu.default=mn});var rm=h(ri=>{"use strict";var X1=ri&&ri.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ri,"__esModule",{value:!0});var Q1=X1(Ct()),Yu=class extends Q1.default{patternBetween(){return/^\s*(bis(?:\s*(?:am|zum))?|-)\s*$/i}};ri.default=Yu});var nm=h(ni=>{"use strict";var J1=ni&&ni.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ni,"__esModule",{value:!0});var eE=J1(Ht()),$u=class extends eE.default{patternBetween(){return new RegExp("^\\s*(T|um|am|,|-)?\\s*$")}};ni.default=$u});var ju=h(si=>{"use strict";var tE=si&&si.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(si,"__esModule",{value:!0});var rE=tE(K()),Yr=Ee(),nE=R(),iE=st(),sE=at(),ii=class extends nE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(diesen)?\s*(morgen|vormittag|mittags?|nachmittag|abend|nacht|mitternacht)(?=\W|$)/i}innerExtract(e,t){let n=rE.default(e.refDate),i=t[2].toLowerCase(),s=e.createParsingComponents();return iE.implySimilarTime(s,n),ii.extractTimeComponents(s,i)}static extractTimeComponents(e,t){switch(t){case"morgen":e.imply("hour",6),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",Yr.Meridiem.AM);break;case"vormittag":e.imply("hour",9),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",Yr.Meridiem.AM);break;case"mittag":case"mittags":e.imply("hour",12),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",Yr.Meridiem.AM);break;case"nachmittag":e.imply("hour",15),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",Yr.Meridiem.PM);break;case"abend":e.imply("hour",18),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",Yr.Meridiem.PM);break;case"nacht":e.imply("hour",22),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",Yr.Meridiem.PM);break;case"mitternacht":e.get("hour")>1&&(e=sE.addImpliedTimeUnits(e,{day:1})),e.imply("hour",0),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",Yr.Meridiem.AM);break}return e}};si.default=ii});var am=h(Tt=>{"use strict";var aE=Tt&&Tt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),oE=Tt&&Tt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),uE=Tt&&Tt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&aE(e,r,t);return oE(e,r),e},sm=Tt&&Tt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Tt,"__esModule",{value:!0});var lE=sm(K()),cE=R(),$r=st(),dE=sm(ju()),im=uE(Vt()),fE=new RegExp("(jetzt|heute|morgen|\xFCbermorgen|uebermorgen|gestern|vorgestern|letzte\\s*nacht)(?:\\s*(morgen|vormittag|mittags?|nachmittag|abend|nacht|mitternacht))?(?=\\W|$)","i"),pE=1,hE=2,Bu=class extends cE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return fE}innerExtract(e,t){let n=lE.default(e.refDate),i=(t[pE]||"").toLowerCase(),s=(t[hE]||"").toLowerCase(),a=e.createParsingComponents();switch(i){case"jetzt":a=im.now(e.reference);break;case"heute":a=im.today(e.reference);break;case"morgen":$r.assignTheNextDay(a,n);break;case"\xFCbermorgen":case"uebermorgen":n=n.add(1,"day"),$r.assignTheNextDay(a,n);break;case"gestern":n=n.add(-1,"day"),$r.assignSimilarDate(a,n),$r.implySimilarTime(a,n);break;case"vorgestern":n=n.add(-2,"day"),$r.assignSimilarDate(a,n),$r.implySimilarTime(a,n);break;default:i.match(/letzte\s*nacht/)&&(n.hour()>6&&(n=n.add(-1,"day")),$r.assignSimilarDate(a,n),a.imply("hour",0));break}return s&&(a=dE.default.extractTimeComponents(a,s)),a}};Tt.default=Bu});var fm=h(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});var mE=Se(),cm=ti(),dm=ti(),yE=J(),gE=R(),_E=new RegExp(`(?:am\\s*?)?(?:den\\s*?)?([0-9]{1,2})\\.(?:\\s*(?:bis(?:\\s*(?:am|zum))?|\\-|\\\u2013|\\s)\\s*([0-9]{1,2})\\.?)?\\s*(${yE.matchAnyPattern(cm.MONTH_DICTIONARY)})(?:(?:-|/|,?\\s*)(${dm.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),om=1,um=2,TE=3,lm=4,Gu=class extends gE.AbstractParserWithWordBoundaryChecking{innerPattern(){return _E}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=cm.MONTH_DICTIONARY[t[TE].toLowerCase()],s=parseInt(t[om]);if(s>31)return t.index=t.index+t[om].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[lm]){let a=dm.parseYear(t[lm]);n.start.assign("year",a)}else{let a=mE.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[um]){let a=parseInt(t[um]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};Hu.default=Gu});var pm=h(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});var js=ti(),bE=he(),vE=R(),EE=at(),RE=J(),zu=class extends vE.AbstractParserWithWordBoundaryChecking{constructor(){super()}innerPattern(){return new RegExp(`(?:\\s*((?:n\xE4chste|kommende|folgende|letzte|vergangene|vorige|vor(?:her|an)gegangene)(?:s|n|m|r)?|vor|in)\\s*)?(${js.NUMBER_PATTERN})?(?:\\s*(n\xE4chste|kommende|folgende|letzte|vergangene|vorige|vor(?:her|an)gegangene)(?:s|n|m|r)?)?\\s*(${RE.matchAnyPattern(js.TIME_UNIT_DICTIONARY)})`,"i")}innerExtract(e,t){let n=t[2]?js.parseNumberPattern(t[2]):1,i=js.TIME_UNIT_DICTIONARY[t[4].toLowerCase()],s={};s[i]=n;let a=t[1]||t[3]||"";if(a=a.toLowerCase(),!!a)return(/vor/.test(a)||/letzte/.test(a)||/vergangen/.test(a))&&(s=EE.reverseTimeUnits(s)),bE.ParsingComponents.createRelativeFromReference(e.reference,s)}};Ku.default=zu});var ym=h(De=>{"use strict";var bt=De&&De.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(De,"__esModule",{value:!0});De.createConfiguration=De.createCasualConfiguration=De.parseDate=De.parse=De.strict=De.casual=void 0;var wE=zt(),hm=_t(),ME=bt(Lr()),DE=bt(yu()),OE=bt(Hh()),PE=bt(Xh()),AE=bt(tm()),kE=bt(rm()),NE=bt(nm()),CE=bt(am()),xE=bt(ju()),SE=bt(fm()),IE=bt(pm());De.casual=new hm.Chrono(mm());De.strict=new hm.Chrono(Vu(!0));function UE(r,e,t){return De.casual.parse(r,e,t)}De.parse=UE;function FE(r,e,t){return De.casual.parseDate(r,e,t)}De.parseDate=FE;function mm(r=!0){let e=Vu(!1,r);return e.parsers.unshift(new xE.default),e.parsers.unshift(new CE.default),e.parsers.unshift(new IE.default),e}De.createCasualConfiguration=mm;function Vu(r=!0,e=!0){return wE.includeCommonConfiguration({parsers:[new DE.default,new ME.default(e),new OE.default,new AE.default,new SE.default,new PE.default],refiners:[new kE.default,new NE.default]},r)}De.createConfiguration=Vu});var _m=h(vt=>{"use strict";var qE=vt&&vt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),WE=vt&&vt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),LE=vt&&vt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&qE(e,r,t);return WE(e,r),e},YE=vt&&vt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(vt,"__esModule",{value:!0});var $E=YE(K()),jE=Ee(),BE=R(),gm=st(),Bs=LE(Vt()),Zu=class extends BE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(maintenant|aujourd'hui|demain|hier|cette\s*nuit|la\s*veille)(?=\W|$)/i}innerExtract(e,t){let n=$E.default(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();switch(i){case"maintenant":return Bs.now(e.reference);case"aujourd'hui":return Bs.today(e.reference);case"hier":return Bs.yesterday(e.reference);case"demain":return Bs.tomorrow(e.reference);default:i.match(/cette\s*nuit/)?(gm.assignSimilarDate(s,n),s.imply("hour",22),s.imply("meridiem",jE.Meridiem.PM)):i.match(/la\s*veille/)&&(n=n.add(-1,"day"),gm.assignSimilarDate(s,n),s.imply("hour",0))}return s}};vt.default=Zu});var Tm=h(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});var ai=Ee(),GE=R(),Xu=class extends GE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(cet?)?\s*(matin|soir|après-midi|aprem|a midi|à minuit)(?=\W|$)/i}innerExtract(e,t){let n=t[2].toLowerCase(),i=e.createParsingComponents();switch(n){case"apr\xE8s-midi":case"aprem":i.imply("hour",14),i.imply("minute",0),i.imply("meridiem",ai.Meridiem.PM);break;case"soir":i.imply("hour",18),i.imply("minute",0),i.imply("meridiem",ai.Meridiem.PM);break;case"matin":i.imply("hour",8),i.imply("minute",0),i.imply("meridiem",ai.Meridiem.AM);break;case"a midi":i.imply("hour",12),i.imply("minute",0),i.imply("meridiem",ai.Meridiem.AM);break;case"\xE0 minuit":i.imply("hour",0),i.imply("meridiem",ai.Meridiem.AM);break}return i}};Qu.default=Xu});var bm=h(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});var HE=Fr(),Ju=class extends HE.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:[\xE0a])\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|[\xE0a]|\\?)\\s*"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}};el.default=Ju});var vm=h(oi=>{"use strict";var zE=oi&&oi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(oi,"__esModule",{value:!0});var KE=zE(Ht()),tl=class extends KE.default{patternBetween(){return new RegExp("^\\s*(T|\xE0|a|vers|de|,|-)?\\s*$")}};oi.default=tl});var Em=h(ui=>{"use strict";var VE=ui&&ui.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ui,"__esModule",{value:!0});var ZE=VE(Ct()),rl=class extends ZE.default{patternBetween(){return/^\s*(à|a|-)\s*$/i}};ui.default=rl});var Er=h(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.parseTimeUnits=V.TIME_UNITS_PATTERN=V.parseYear=V.YEAR_PATTERN=V.parseOrdinalNumberPattern=V.ORDINAL_NUMBER_PATTERN=V.parseNumberPattern=V.NUMBER_PATTERN=V.TIME_UNIT_DICTIONARY=V.INTEGER_WORD_DICTIONARY=V.MONTH_DICTIONARY=V.WEEKDAY_DICTIONARY=void 0;var nl=J();V.WEEKDAY_DICTIONARY={dimanche:0,dim:0,lundi:1,lun:1,mardi:2,mar:2,mercredi:3,mer:3,jeudi:4,jeu:4,vendredi:5,ven:5,samedi:6,sam:6};V.MONTH_DICTIONARY={janvier:1,jan:1,"jan.":1,f\u00E9vrier:2,f\u00E9v:2,"f\xE9v.":2,fevrier:2,fev:2,"fev.":2,mars:3,mar:3,"mar.":3,avril:4,avr:4,"avr.":4,mai:5,juin:6,jun:6,juillet:7,juil:7,jul:7,"jul.":7,ao\u00FBt:8,aout:8,septembre:9,sep:9,"sep.":9,sept:9,"sept.":9,octobre:10,oct:10,"oct.":10,novembre:11,nov:11,"nov.":11,d\u00E9cembre:12,decembre:12,dec:12,"dec.":12};V.INTEGER_WORD_DICTIONARY={un:1,deux:2,trois:3,quatre:4,cinq:5,six:6,sept:7,huit:8,neuf:9,dix:10,onze:11,douze:12,treize:13};V.TIME_UNIT_DICTIONARY={sec:"second",seconde:"second",secondes:"second",min:"minute",mins:"minute",minute:"minute",minutes:"minute",h:"hour",hr:"hour",hrs:"hour",heure:"hour",heures:"hour",jour:"d",jours:"d",semaine:"week",semaines:"week",mois:"month",trimestre:"quarter",trimestres:"quarter",ans:"year",ann\u00E9e:"year",ann\u00E9es:"year"};V.NUMBER_PATTERN=`(?:${nl.matchAnyPattern(V.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|une?\\b|quelques?|demi-?)`;function wm(r){let e=r.toLowerCase();return V.INTEGER_WORD_DICTIONARY[e]!==void 0?V.INTEGER_WORD_DICTIONARY[e]:e==="une"||e==="un"?1:e.match(/quelques?/)?3:e.match(/demi-?/)?.5:parseFloat(e)}V.parseNumberPattern=wm;V.ORDINAL_NUMBER_PATTERN="(?:[0-9]{1,2}(?:er)?)";function XE(r){let e=r.toLowerCase();return e=e.replace(/(?:er)$/i,""),parseInt(e)}V.parseOrdinalNumberPattern=XE;V.YEAR_PATTERN="(?:[1-9][0-9]{0,3}\\s*(?:AC|AD|p\\.\\s*C(?:hr?)?\\.\\s*n\\.)|[1-2][0-9]{3}|[5-9][0-9])";function QE(r){if(/AC/i.test(r))return r=r.replace(/BC/i,""),-parseInt(r);if(/AD/i.test(r)||/C/i.test(r))return r=r.replace(/[^\d]+/i,""),parseInt(r);let e=parseInt(r);return e<100&&(e>50?e=e+1900:e=e+2e3),e}V.parseYear=QE;var Mm=`(${V.NUMBER_PATTERN})\\s{0,5}(${nl.matchAnyPattern(V.TIME_UNIT_DICTIONARY)})\\s{0,5}`,Rm=new RegExp(Mm,"i");V.TIME_UNITS_PATTERN=nl.repeatedTimeunitPattern("",Mm);function JE(r){let e={},t=r,n=Rm.exec(t);for(;n;)e0(e,n),t=t.substring(n[0].length),n=Rm.exec(t);return e}V.parseTimeUnits=JE;function e0(r,e){let t=wm(e[1]),n=V.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Om=h(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});var Dm=Er(),t0=J(),r0=R(),n0=Wr(),i0=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:(?:ce)\\s*)?(${t0.matchAnyPattern(Dm.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(dernier|prochain)\\s*)?(?=\\W|\\d|$)`,"i"),s0=1,a0=2,il=class extends r0.AbstractParserWithWordBoundaryChecking{innerPattern(){return i0}innerExtract(e,t){let n=t[s0].toLowerCase(),i=Dm.WEEKDAY_DICTIONARY[n];if(i===void 0)return null;let s=t[a0];s=s||"",s=s.toLowerCase();let a=null;s=="dernier"?a="last":s=="prochain"&&(a="next");let o=n0.toDayJSWeekday(e.refDate,i,a);return e.createParsingComponents().assign("weekday",i).imply("day",o.date()).imply("month",o.month()+1).imply("year",o.year())}};sl.default=il});var Nm=h(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});var li=Ee(),o0=new RegExp("(^|\\s|T)(?:(?:[\xE0a])\\s*)?(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s|:)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),u0=new RegExp("^\\s*(\\-|\\\u2013|\\~|\\\u301C|[\xE0a]|\\?)\\s*(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s|:)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),l0=2,Pm=3,Am=4,km=5,yn=class{pattern(e){return o0}extract(e,t){let n=e.createParsingResult(t.index+t[1].length,t[0].substring(t[1].length));if(n.text.match(/^\d{4}$/)||(n.start=yn.extractTimeComponent(n.start.clone(),t),!n.start))return t.index+=t[0].length,null;let i=e.text.substring(t.index+t[0].length),s=u0.exec(i);return s&&(n.end=yn.extractTimeComponent(n.start.clone(),s),n.end&&(n.text+=s[0])),n}static extractTimeComponent(e,t){let n=0,i=0,s=null;if(n=parseInt(t[l0]),t[Pm]!=null&&(i=parseInt(t[Pm])),i>=60||n>24)return null;if(n>=12&&(s=li.Meridiem.PM),t[km]!=null){if(n>12)return null;let a=t[km][0].toLowerCase();a=="a"&&(s=li.Meridiem.AM,n==12&&(n=0)),a=="p"&&(s=li.Meridiem.PM,n!=12&&(n+=12))}if(e.assign("hour",n),e.assign("minute",i),s!==null?e.assign("meridiem",s):n<12?e.imply("meridiem",li.Meridiem.AM):e.imply("meridiem",li.Meridiem.PM),t[Am]!=null){let a=parseInt(t[Am]);if(a>=60)return null;e.assign("second",a)}return e}};al.default=yn});var Fm=h(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});var c0=Se(),Im=Er(),Um=Er(),Gs=Er(),d0=J(),f0=R(),p0=new RegExp(`(?:on\\s*?)?(${Gs.ORDINAL_NUMBER_PATTERN})(?:\\s*(?:au|\\-|\\\u2013|jusqu'au?|\\s)\\s*(${Gs.ORDINAL_NUMBER_PATTERN}))?(?:-|/|\\s*(?:de)?\\s*)(${d0.matchAnyPattern(Im.MONTH_DICTIONARY)})(?:(?:-|/|,?\\s*)(${Um.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),Cm=1,xm=2,h0=3,Sm=4,ol=class extends f0.AbstractParserWithWordBoundaryChecking{innerPattern(){return p0}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Im.MONTH_DICTIONARY[t[h0].toLowerCase()],s=Gs.parseOrdinalNumberPattern(t[Cm]);if(s>31)return t.index=t.index+t[Cm].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[Sm]){let a=Um.parseYear(t[Sm]);n.start.assign("year",a)}else{let a=c0.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[xm]){let a=Gs.parseOrdinalNumberPattern(t[xm]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};ul.default=ol});var Wm=h(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});var qm=Er(),m0=he(),y0=R(),g0=at(),ll=class extends y0.AbstractParserWithWordBoundaryChecking{constructor(){super()}innerPattern(){return new RegExp(`il y a\\s*(${qm.TIME_UNITS_PATTERN})(?=(?:\\W|$))`,"i")}innerExtract(e,t){let n=qm.parseTimeUnits(t[1]),i=g0.reverseTimeUnits(n);return m0.ParsingComponents.createRelativeFromReference(e.reference,i)}};cl.default=ll});var Ym=h(fl=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});var Lm=Er(),_0=he(),T0=R(),dl=class extends T0.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp(`(?:dans|en|pour|pendant|de)\\s*(${Lm.TIME_UNITS_PATTERN})(?=\\W|$)`,"i")}innerExtract(e,t){let n=Lm.parseTimeUnits(t[1]);return _0.ParsingComponents.createRelativeFromReference(e.reference,n)}};fl.default=dl});var $m=h(hl=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});var Hs=Er(),b0=he(),v0=R(),E0=at(),R0=J(),pl=class extends v0.AbstractParserWithWordBoundaryChecking{constructor(){super()}innerPattern(){return new RegExp(`(?:les?|la|l'|du|des?)\\s*(${Hs.NUMBER_PATTERN})?(?:\\s*(prochaine?s?|derni[e\xE8]re?s?|pass[\xE9e]e?s?|pr[\xE9e]c[\xE9e]dents?|suivante?s?))?\\s*(${R0.matchAnyPattern(Hs.TIME_UNIT_DICTIONARY)})(?:\\s*(prochaine?s?|derni[e\xE8]re?s?|pass[\xE9e]e?s?|pr[\xE9e]c[\xE9e]dents?|suivante?s?))?`,"i")}innerExtract(e,t){let n=t[1]?Hs.parseNumberPattern(t[1]):1,i=Hs.TIME_UNIT_DICTIONARY[t[3].toLowerCase()],s={};s[i]=n;let a=t[2]||t[4]||"";if(a=a.toLowerCase(),!!a)return(/derni[eè]re?s?/.test(a)||/pass[ée]e?s?/.test(a)||/pr[ée]c[ée]dents?/.test(a))&&(s=E0.reverseTimeUnits(s)),b0.ParsingComponents.createRelativeFromReference(e.reference,s)}};hl.default=pl});var Gm=h(Oe=>{"use strict";var ot=Oe&&Oe.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.createConfiguration=Oe.createCasualConfiguration=Oe.parseDate=Oe.parse=Oe.strict=Oe.casual=void 0;var w0=zt(),jm=_t(),M0=ot(_m()),D0=ot(Tm()),O0=ot(Lr()),P0=ot(bm()),A0=ot(vm()),k0=ot(Em()),N0=ot(Om()),C0=ot(Nm()),x0=ot(Fm()),S0=ot(Wm()),I0=ot(Ym()),U0=ot($m());Oe.casual=new jm.Chrono(Bm());Oe.strict=new jm.Chrono(ml(!0));function F0(r,e,t){return Oe.casual.parse(r,e,t)}Oe.parse=F0;function q0(r,e,t){return Oe.casual.parseDate(r,e,t)}Oe.parseDate=q0;function Bm(r=!0){let e=ml(!1,r);return e.parsers.unshift(new M0.default),e.parsers.unshift(new D0.default),e.parsers.unshift(new U0.default),e}Oe.createCasualConfiguration=Bm;function ml(r=!0,e=!0){return w0.includeCommonConfiguration({parsers:[new O0.default(e),new x0.default,new P0.default,new C0.default,new S0.default,new I0.default,new N0.default],refiners:[new A0.default,new k0.default]},r)}Oe.createConfiguration=ml});var Hm=h(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.toHankaku=void 0;function W0(r){return String(r).replace(/\u2019/g,"'").replace(/\u201D/g,'"').replace(/\u3000/g," ").replace(/\uFFE5/g,"\xA5").replace(/[\uFF01\uFF03-\uFF06\uFF08\uFF09\uFF0C-\uFF19\uFF1C-\uFF1F\uFF21-\uFF3B\uFF3D\uFF3F\uFF41-\uFF5B\uFF5D\uFF5E]/g,L0)}zs.toHankaku=W0;function L0(r){return String.fromCharCode(r.charCodeAt(0)-65248)}});var Km=h(ci=>{"use strict";var Y0=ci&&ci.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ci,"__esModule",{value:!0});var yl=Hm(),$0=Se(),j0=Y0(K()),B0=/(?:(?:([同今本])|((昭和|平成|令和)?([0-90-9]{1,4}|元)))年\s*)?([0-90-9]{1,2})月\s*([0-90-9]{1,2})日/i,zm=1,G0=2,gl=3,H0=4,z0=5,K0=6,_l=class{pattern(){return B0}extract(e,t){let n=parseInt(yl.toHankaku(t[z0])),i=parseInt(yl.toHankaku(t[K0])),s=e.createParsingComponents({day:i,month:n});if(t[zm]&&t[zm].match("\u540C|\u4ECA|\u672C")){let a=j0.default(e.refDate);s.assign("year",a.year())}if(t[G0]){let a=t[H0],o=a=="\u5143"?1:parseInt(yl.toHankaku(a));t[gl]=="\u4EE4\u548C"?o+=2018:t[gl]=="\u5E73\u6210"?o+=1988:t[gl]=="\u662D\u548C"&&(o+=1925),s.assign("year",o)}else{let a=$0.findYearClosestToRef(e.refDate,i,n);s.imply("year",a)}return s}};ci.default=_l});var Vm=h(di=>{"use strict";var V0=di&&di.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(di,"__esModule",{value:!0});var Z0=V0(Ct()),Tl=class extends Z0.default{patternBetween(){return/^\s*(から|ー|-)\s*$/i}};di.default=Tl});var Xm=h(Et=>{"use strict";var X0=Et&&Et.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),Q0=Et&&Et.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),J0=Et&&Et.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&X0(e,r,t);return Q0(e,r),e},eR=Et&&Et.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Et,"__esModule",{value:!0});var tR=eR(K()),Zm=Ee(),bl=J0(Vt()),rR=/今日|当日|昨日|明日|今夜|今夕|今晩|今朝/i,vl=class{pattern(){return rR}extract(e,t){let n=t[0],i=tR.default(e.refDate),s=e.createParsingComponents();switch(n){case"\u6628\u65E5":return bl.yesterday(e.reference);case"\u660E\u65E5":return bl.tomorrow(e.reference);case"\u4ECA\u65E5":case"\u5F53\u65E5":return bl.today(e.reference)}return n=="\u4ECA\u591C"||n=="\u4ECA\u5915"||n=="\u4ECA\u6669"?(s.imply("hour",22),s.assign("meridiem",Zm.Meridiem.PM)):n.match("\u4ECA\u671D")&&(s.imply("hour",6),s.assign("meridiem",Zm.Meridiem.AM)),s.assign("day",i.date()),s.assign("month",i.month()+1),s.assign("year",i.year()),s}};Et.default=vl});var ey=h(Pe=>{"use strict";var El=Pe&&Pe.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.createConfiguration=Pe.createCasualConfiguration=Pe.parseDate=Pe.parse=Pe.strict=Pe.casual=void 0;var nR=El(Km()),iR=El(Vm()),sR=El(Xm()),Qm=_t();Pe.casual=new Qm.Chrono(Jm());Pe.strict=new Qm.Chrono(Rl());function aR(r,e,t){return Pe.casual.parse(r,e,t)}Pe.parse=aR;function oR(r,e,t){return Pe.casual.parseDate(r,e,t)}Pe.parseDate=oR;function Jm(){let r=Rl();return r.parsers.unshift(new sR.default),r}Pe.createCasualConfiguration=Jm;function Rl(){return{parsers:[new nR.default],refiners:[new iR.default]}}Pe.createConfiguration=Rl});var Ks=h(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.parseYear=St.YEAR_PATTERN=St.MONTH_DICTIONARY=St.WEEKDAY_DICTIONARY=void 0;St.WEEKDAY_DICTIONARY={domingo:0,dom:0,segunda:1,"segunda-feira":1,seg:1,ter\u00E7a:2,"ter\xE7a-feira":2,ter:2,quarta:3,"quarta-feira":3,qua:3,quinta:4,"quinta-feira":4,qui:4,sexta:5,"sexta-feira":5,sex:5,s\u00E1bado:6,sabado:6,sab:6};St.MONTH_DICTIONARY={janeiro:1,jan:1,"jan.":1,fevereiro:2,fev:2,"fev.":2,mar\u00E7o:3,mar:3,"mar.":3,abril:4,abr:4,"abr.":4,maio:5,mai:5,"mai.":5,junho:6,jun:6,"jun.":6,julho:7,jul:7,"jul.":7,agosto:8,ago:8,"ago.":8,setembro:9,set:9,"set.":9,outubro:10,out:10,"out.":10,novembro:11,nov:11,"nov.":11,dezembro:12,dez:12,"dez.":12};St.YEAR_PATTERN="[0-9]{1,4}(?![^\\s]\\d)(?:\\s*[a|d]\\.?\\s*c\\.?|\\s*a\\.?\\s*d\\.?)?";function uR(r){if(r.match(/^[0-9]{1,4}$/)){let e=parseInt(r);return e<100&&(e>50?e=e+1900:e=e+2e3),e}return r.match(/a\.?\s*c\.?/i)?(r=r.replace(/a\.?\s*c\.?/i,""),-parseInt(r)):parseInt(r)}St.parseYear=uR});var ry=h(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});var ty=Ks(),lR=J(),cR=R(),dR=Wr(),fR=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:(este|esta|passado|pr[o\xF3]ximo)\\s*)?(${lR.matchAnyPattern(ty.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(este|esta|passado|pr[\xF3o]ximo)\\s*semana)?(?=\\W|\\d|$)`,"i"),pR=1,hR=2,mR=3,wl=class extends cR.AbstractParserWithWordBoundaryChecking{innerPattern(){return fR}innerExtract(e,t){let n=t[hR].toLowerCase(),i=ty.WEEKDAY_DICTIONARY[n];if(i===void 0)return null;let s=t[pR],a=t[mR],o=s||a||"";o=o.toLowerCase();let u=null;o=="passado"?u="this":o=="pr\xF3ximo"||o=="proximo"?u="next":o=="este"&&(u="this");let l=dR.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};Ml.default=wl});var ny=h(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});var yR=Fr(),Dl=class extends yR.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:ao?|\xE0s?|das|da|de|do)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|a(?:o)?|\\?)\\s*"}};Ol.default=Dl});var iy=h(fi=>{"use strict";var gR=fi&&fi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(fi,"__esModule",{value:!0});var _R=gR(Ht()),Pl=class extends _R.default{patternBetween(){return new RegExp("^\\s*(?:,|\xE0)?\\s*$")}};fi.default=Pl});var sy=h(pi=>{"use strict";var TR=pi&&pi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(pi,"__esModule",{value:!0});var bR=TR(Ct()),Al=class extends bR.default{patternBetween(){return/^\s*(?:-)\s*$/i}};pi.default=Al});var dy=h(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var vR=Se(),ly=Ks(),cy=Ks(),ER=J(),RR=R(),wR=new RegExp(`([0-9]{1,2})(?:\xBA|\xAA|\xB0)?(?:\\s*(?:desde|de|\\-|\\\u2013|ao?|\\s)\\s*([0-9]{1,2})(?:\xBA|\xAA|\xB0)?)?\\s*(?:de)?\\s*(?:-|/|\\s*(?:de|,)?\\s*)(${ER.matchAnyPattern(ly.MONTH_DICTIONARY)})(?:\\s*(?:de|,)?\\s*(${cy.YEAR_PATTERN}))?(?=\\W|$)`,"i"),ay=1,oy=2,MR=3,uy=4,kl=class extends RR.AbstractParserWithWordBoundaryChecking{innerPattern(){return wR}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=ly.MONTH_DICTIONARY[t[MR].toLowerCase()],s=parseInt(t[ay]);if(s>31)return t.index=t.index+t[ay].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[uy]){let a=cy.parseYear(t[uy]);n.start.assign("year",a)}else{let a=vR.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[oy]){let a=parseInt(t[oy]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};Nl.default=kl});var fy=h(Zt=>{"use strict";var DR=Zt&&Zt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),OR=Zt&&Zt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),PR=Zt&&Zt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&DR(e,r,t);return OR(e,r),e};Object.defineProperty(Zt,"__esModule",{value:!0});var AR=R(),Vs=PR(Vt()),Cl=class extends AR.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(agora|hoje|amanha|amanhã|ontem)(?=\W|$)/i}innerExtract(e,t){let n=t[0].toLowerCase(),i=e.createParsingComponents();switch(n){case"agora":return Vs.now(e.reference);case"hoje":return Vs.today(e.reference);case"amanha":case"amanh\xE3":return Vs.tomorrow(e.reference);case"ontem":return Vs.yesterday(e.reference)}return i}};Zt.default=Cl});var py=h(hi=>{"use strict";var kR=hi&&hi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(hi,"__esModule",{value:!0});var Zs=Ee(),NR=R(),CR=st(),xR=kR(K()),xl=class extends NR.AbstractParserWithWordBoundaryChecking{innerPattern(){return/(?:esta\s*)?(manha|manhã|tarde|meia-noite|meio-dia|noite)(?=\W|$)/i}innerExtract(e,t){let n=xR.default(e.refDate),i=e.createParsingComponents();switch(t[1].toLowerCase()){case"tarde":i.imply("meridiem",Zs.Meridiem.PM),i.imply("hour",15);break;case"noite":i.imply("meridiem",Zs.Meridiem.PM),i.imply("hour",22);break;case"manha":case"manh\xE3":i.imply("meridiem",Zs.Meridiem.AM),i.imply("hour",6);break;case"meia-noite":CR.assignTheNextDay(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"meio-dia":i.imply("meridiem",Zs.Meridiem.AM),i.imply("hour",12);break}return i}};hi.default=xl});var yy=h(Ae=>{"use strict";var Rr=Ae&&Ae.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.createConfiguration=Ae.createCasualConfiguration=Ae.parseDate=Ae.parse=Ae.strict=Ae.casual=void 0;var SR=zt(),hy=_t(),IR=Rr(Lr()),UR=Rr(ry()),FR=Rr(ny()),qR=Rr(iy()),WR=Rr(sy()),LR=Rr(dy()),YR=Rr(fy()),$R=Rr(py());Ae.casual=new hy.Chrono(my());Ae.strict=new hy.Chrono(Sl(!0));function jR(r,e,t){return Ae.casual.parse(r,e,t)}Ae.parse=jR;function BR(r,e,t){return Ae.casual.parseDate(r,e,t)}Ae.parseDate=BR;function my(r=!0){let e=Sl(!1,r);return e.parsers.push(new YR.default),e.parsers.push(new $R.default),e}Ae.createCasualConfiguration=my;function Sl(r=!0,e=!0){return SR.includeCommonConfiguration({parsers:[new IR.default(e),new UR.default,new FR.default,new LR.default],refiners:[new qR.default,new WR.default]},r)}Ae.createConfiguration=Sl});var gy=h(mi=>{"use strict";var GR=mi&&mi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mi,"__esModule",{value:!0});var HR=GR(Ct()),Il=class extends HR.default{patternBetween(){return/^\s*(tot|-)\s*$/i}};mi.default=Il});var _y=h(yi=>{"use strict";var zR=yi&&yi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(yi,"__esModule",{value:!0});var KR=zR(Ht()),Ul=class extends KR.default{patternBetween(){return new RegExp("^\\s*(om|na|voor|in de|,|-)?\\s*$")}};yi.default=Ul});var Ty=h(Xt=>{"use strict";var VR=Xt&&Xt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),ZR=Xt&&Xt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),XR=Xt&&Xt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&VR(e,r,t);return ZR(e,r),e};Object.defineProperty(Xt,"__esModule",{value:!0});var QR=R(),Xs=XR(Vt()),Fl=class extends QR.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(nu|vandaag|morgen|morgend|gisteren)(?=\W|$)/i}innerExtract(e,t){let n=t[0].toLowerCase(),i=e.createParsingComponents();switch(n){case"nu":return Xs.now(e.reference);case"vandaag":return Xs.today(e.reference);case"morgen":case"morgend":return Xs.tomorrow(e.reference);case"gisteren":return Xs.yesterday(e.reference)}return i}};Xt.default=Fl});var by=h(gi=>{"use strict";var JR=gi&&gi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(gi,"__esModule",{value:!0});var Qs=Ee(),ew=R(),tw=JR(K()),rw=st(),nw=1,iw=2,ql=class extends ew.AbstractParserWithWordBoundaryChecking{innerPattern(){return/(deze)?\s*(namiddag|avond|middernacht|ochtend|middag|'s middags|'s avonds|'s ochtends)(?=\W|$)/i}innerExtract(e,t){let n=tw.default(e.refDate),i=e.createParsingComponents();switch(t[nw]==="deze"&&(i.assign("day",e.refDate.getDate()),i.assign("month",e.refDate.getMonth()+1),i.assign("year",e.refDate.getFullYear())),t[iw].toLowerCase()){case"namiddag":case"'s namiddags":i.imply("meridiem",Qs.Meridiem.PM),i.imply("hour",15);break;case"avond":case"'s avonds'":i.imply("meridiem",Qs.Meridiem.PM),i.imply("hour",20);break;case"middernacht":rw.assignTheNextDay(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"ochtend":case"'s ochtends":i.imply("meridiem",Qs.Meridiem.AM),i.imply("hour",6);break;case"middag":case"'s middags":i.imply("meridiem",Qs.Meridiem.AM),i.imply("hour",12);break}return i}};gi.default=ql});var Je=h($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.parseTimeUnits=$.TIME_UNITS_PATTERN=$.parseYear=$.YEAR_PATTERN=$.parseOrdinalNumberPattern=$.ORDINAL_NUMBER_PATTERN=$.parseNumberPattern=$.NUMBER_PATTERN=$.TIME_UNIT_DICTIONARY=$.ORDINAL_WORD_DICTIONARY=$.INTEGER_WORD_DICTIONARY=$.MONTH_DICTIONARY=$.WEEKDAY_DICTIONARY=void 0;var Js=J(),sw=Se();$.WEEKDAY_DICTIONARY={zondag:0,zon:0,"zon.":0,zo:0,"zo.":0,maandag:1,ma:1,"ma.":1,dinsdag:2,din:2,"din.":2,di:2,"di.":2,woensdag:3,woe:3,"woe.":3,wo:3,"wo.":3,donderdag:4,dond:4,"dond.":4,do:4,"do.":4,vrijdag:5,vrij:5,"vrij.":5,vr:5,"vr.":5,zaterdag:6,zat:6,"zat.":6,za:6,"za.":6};$.MONTH_DICTIONARY={januari:1,jan:1,"jan.":1,februari:2,feb:2,"feb.":2,maart:3,mar:3,"mar.":3,april:4,apr:4,"apr.":4,mei:5,juni:6,jun:6,"jun.":6,juli:7,jul:7,"jul.":7,augustus:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,oktober:10,okt:10,"okt.":10,november:11,nov:11,"nov.":11,december:12,dec:12,"dec.":12};$.INTEGER_WORD_DICTIONARY={een:1,twee:2,drie:3,vier:4,vijf:5,zes:6,zeven:7,acht:8,negen:9,tien:10,elf:11,twaalf:12};$.ORDINAL_WORD_DICTIONARY={eerste:1,tweede:2,derde:3,vierde:4,vijfde:5,zesde:6,zevende:7,achtste:8,negende:9,tiende:10,elfde:11,twaalfde:12,dertiende:13,veertiende:14,vijftiende:15,zestiende:16,zeventiende:17,achttiende:18,negentiende:19,twintigste:20,eenentwintigste:21,twee\u00EBntwintigste:22,drieentwintigste:23,vierentwintigste:24,vijfentwintigste:25,zesentwintigste:26,zevenentwintigste:27,achtentwintig:28,negenentwintig:29,dertigste:30,eenendertigste:31};$.TIME_UNIT_DICTIONARY={sec:"second",second:"second",seconden:"second",min:"minute",mins:"minute",minute:"minute",minuut:"minute",minuten:"minute",minuutje:"minute",h:"hour",hr:"hour",hrs:"hour",uur:"hour",u:"hour",uren:"hour",dag:"d",dagen:"d",week:"week",weken:"week",maand:"month",maanden:"month",jaar:"year",jr:"year",jaren:"year"};$.NUMBER_PATTERN=`(?:${Js.matchAnyPattern($.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+[\\.,][0-9]+|halve?|half|paar)`;function Ey(r){let e=r.toLowerCase();return $.INTEGER_WORD_DICTIONARY[e]!==void 0?$.INTEGER_WORD_DICTIONARY[e]:e==="paar"?2:e==="half"||e.match(/halve?/)?.5:parseFloat(e.replace(",","."))}$.parseNumberPattern=Ey;$.ORDINAL_NUMBER_PATTERN=`(?:${Js.matchAnyPattern($.ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:ste|de)?)`;function aw(r){let e=r.toLowerCase();return $.ORDINAL_WORD_DICTIONARY[e]!==void 0?$.ORDINAL_WORD_DICTIONARY[e]:(e=e.replace(/(?:ste|de)$/i,""),parseInt(e))}$.parseOrdinalNumberPattern=aw;$.YEAR_PATTERN="(?:[1-9][0-9]{0,3}\\s*(?:voor Christus|na Christus)|[1-2][0-9]{3}|[5-9][0-9])";function ow(r){if(/voor Christus/i.test(r))return r=r.replace(/voor Christus/i,""),-parseInt(r);if(/na Christus/i.test(r))return r=r.replace(/na Christus/i,""),parseInt(r);let e=parseInt(r);return sw.findMostLikelyADYear(e)}$.parseYear=ow;var Ry=`(${$.NUMBER_PATTERN})\\s{0,5}(${Js.matchAnyPattern($.TIME_UNIT_DICTIONARY)})\\s{0,5}`,vy=new RegExp(Ry,"i");$.TIME_UNITS_PATTERN=Js.repeatedTimeunitPattern("(?:(?:binnen|in)\\s*)?",Ry);function uw(r){let e={},t=r,n=vy.exec(t);for(;n;)lw(e,n),t=t.substring(n[0].length),n=vy.exec(t);return e}$.parseTimeUnits=uw;function lw(r,e){let t=Ey(e[1]),n=$.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var My=h(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var wy=Je(),cw=he(),dw=R(),Wl=class extends dw.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp("(?:binnen|in|binnen de|voor)\\s*("+wy.TIME_UNITS_PATTERN+")(?=\\W|$)","i")}innerExtract(e,t){let n=wy.parseTimeUnits(t[1]);return cw.ParsingComponents.createRelativeFromReference(e.reference,n)}};Ll.default=Wl});var Oy=h($l=>{"use strict";Object.defineProperty($l,"__esModule",{value:!0});var Dy=Je(),fw=J(),pw=R(),hw=Wr(),mw=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:op\\s*?)?(?:(deze|vorige|volgende)\\s*(?:week\\s*)?)?(${fw.matchAnyPattern(Dy.WEEKDAY_DICTIONARY)})(?=\\W|$)`,"i"),yw=1,gw=2,_w=3,Yl=class extends pw.AbstractParserWithWordBoundaryChecking{innerPattern(){return mw}innerExtract(e,t){let n=t[gw].toLowerCase(),i=Dy.WEEKDAY_DICTIONARY[n],s=t[yw],a=t[_w],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o=="vorige"?u="last":o=="volgende"?u="next":o=="deze"&&(u="this");let l=hw.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};$l.default=Yl});var xy=h(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var Tw=Se(),Ny=Je(),ea=Je(),Cy=Je(),bw=J(),vw=R(),Ew=new RegExp(`(?:on\\s*?)?(${ea.ORDINAL_NUMBER_PATTERN})(?:\\s*(?:tot|\\-|\\\u2013|until|through|till|\\s)\\s*(${ea.ORDINAL_NUMBER_PATTERN}))?(?:-|/|\\s*(?:of)?\\s*)(`+bw.matchAnyPattern(Ny.MONTH_DICTIONARY)+`)(?:(?:-|/|,?\\s*)(${Cy.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),Rw=3,Py=1,Ay=2,ky=4,jl=class extends vw.AbstractParserWithWordBoundaryChecking{innerPattern(){return Ew}innerExtract(e,t){let n=Ny.MONTH_DICTIONARY[t[Rw].toLowerCase()],i=ea.parseOrdinalNumberPattern(t[Py]);if(i>31)return t.index=t.index+t[Py].length,null;let s=e.createParsingComponents({day:i,month:n});if(t[ky]){let u=Cy.parseYear(t[ky]);s.assign("year",u)}else{let u=Tw.findYearClosestToRef(e.refDate,i,n);s.imply("year",u)}if(!t[Ay])return s;let a=ea.parseOrdinalNumberPattern(t[Ay]),o=e.createParsingResult(t.index,t[0]);return o.start=s,o.end=s.clone(),o.end.assign("day",a),o}};Bl.default=jl});var Fy=h(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});var Iy=Je(),ww=Se(),Mw=J(),Uy=Je(),Dw=R(),Ow=new RegExp(`(${Mw.matchAnyPattern(Iy.MONTH_DICTIONARY)})\\s*(?:[,-]?\\s*(${Uy.YEAR_PATTERN})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,"i"),Pw=1,Sy=2,Gl=class extends Dw.AbstractParserWithWordBoundaryChecking{innerPattern(){return Ow}innerExtract(e,t){let n=e.createParsingComponents();n.imply("day",1);let i=t[Pw],s=Iy.MONTH_DICTIONARY[i.toLowerCase()];if(n.assign("month",s),t[Sy]){let a=Uy.parseYear(t[Sy]);n.assign("year",a)}else{let a=ww.findYearClosestToRef(e.refDate,1,s);n.imply("year",a)}return n}};Hl.default=Gl});var qy=h(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var Aw=R(),kw=new RegExp("([0-9]|0[1-9]|1[012])/([0-9]{4})","i"),Nw=1,Cw=2,zl=class extends Aw.AbstractParserWithWordBoundaryChecking{innerPattern(){return kw}innerExtract(e,t){let n=parseInt(t[Cw]),i=parseInt(t[Nw]);return e.createParsingComponents().imply("day",1).assign("month",i).assign("year",n)}};Kl.default=zl});var Wy=h(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var xw=Fr(),Vl=class extends xw.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:om)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|om|\\?)\\s*"}primarySuffix(){return"(?:\\s*(?:uur))?(?!/)(?=\\W|$)"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}};Zl.default=Vl});var $y=h(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var Yy=Je(),Sw=J(),Iw=R(),Uw=new RegExp(`([0-9]{4})[\\.\\/\\s](?:(${Sw.matchAnyPattern(Yy.MONTH_DICTIONARY)})|([0-9]{1,2}))[\\.\\/\\s]([0-9]{1,2})(?=\\W|$)`,"i"),Fw=1,qw=2,Ly=3,Ww=4,Xl=class extends Iw.AbstractParserWithWordBoundaryChecking{innerPattern(){return Uw}innerExtract(e,t){let n=t[Ly]?parseInt(t[Ly]):Yy.MONTH_DICTIONARY[t[qw].toLowerCase()];if(n<1||n>12)return null;let i=parseInt(t[Fw]);return{day:parseInt(t[Ww]),month:n,year:i}}};Ql.default=Xl});var jy=h(_i=>{"use strict";var Lw=_i&&_i.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(_i,"__esModule",{value:!0});var Yw=R(),ta=Ee(),Jl=st(),$w=Lw(K()),jw=1,Bw=2,ec=class extends Yw.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(gisteren|morgen|van)(ochtend|middag|namiddag|avond|nacht)(?=\W|$)/i}innerExtract(e,t){let n=t[jw].toLowerCase(),i=t[Bw].toLowerCase(),s=e.createParsingComponents(),a=$w.default(e.refDate);switch(n){case"gisteren":Jl.assignSimilarDate(s,a.add(-1,"day"));break;case"van":Jl.assignSimilarDate(s,a);break;case"morgen":Jl.assignTheNextDay(s,a);break}switch(i){case"ochtend":s.imply("meridiem",ta.Meridiem.AM),s.imply("hour",6);break;case"middag":s.imply("meridiem",ta.Meridiem.AM),s.imply("hour",12);break;case"namiddag":s.imply("meridiem",ta.Meridiem.PM),s.imply("hour",15);break;case"avond":s.imply("meridiem",ta.Meridiem.PM),s.imply("hour",20);break}return s}};_i.default=ec});var Gy=h(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var By=Je(),Gw=he(),Hw=R(),zw=at(),Kw=new RegExp(`(deze|vorige|afgelopen|komende|over|\\+|-)\\s*(${By.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),tc=class extends Hw.AbstractParserWithWordBoundaryChecking{innerPattern(){return Kw}innerExtract(e,t){let n=t[1].toLowerCase(),i=By.parseTimeUnits(t[2]);switch(n){case"vorige":case"afgelopen":case"-":i=zw.reverseTimeUnits(i);break}return Gw.ParsingComponents.createRelativeFromReference(e.reference,i)}};rc.default=tc});var Ky=h(Ti=>{"use strict";var Vw=Ti&&Ti.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ti,"__esModule",{value:!0});var zy=Je(),Hy=he(),Zw=Vw(K()),Xw=R(),Qw=J(),Jw=new RegExp(`(dit|deze|komende|volgend|volgende|afgelopen|vorige)\\s*(${Qw.matchAnyPattern(zy.TIME_UNIT_DICTIONARY)})(?=\\s*)(?=\\W|$)`,"i"),eM=1,tM=2,nc=class extends Xw.AbstractParserWithWordBoundaryChecking{innerPattern(){return Jw}innerExtract(e,t){let n=t[eM].toLowerCase(),i=t[tM].toLowerCase(),s=zy.TIME_UNIT_DICTIONARY[i];if(n=="volgend"||n=="volgende"||n=="komende"){let u={};return u[s]=1,Hy.ParsingComponents.createRelativeFromReference(e.reference,u)}if(n=="afgelopen"||n=="vorige"){let u={};return u[s]=-1,Hy.ParsingComponents.createRelativeFromReference(e.reference,u)}let a=e.createParsingComponents(),o=Zw.default(e.reference.instant);return i.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):i.match(/maand/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):i.match(/jaar/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}};Ti.default=nc});var Vy=h(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var sc=Je(),rM=he(),nM=R(),iM=at(),sM=new RegExp("("+sc.TIME_UNITS_PATTERN+")(?:geleden|voor|eerder)(?=(?:\\W|$))","i"),aM=new RegExp("("+sc.TIME_UNITS_PATTERN+")geleden(?=(?:\\W|$))","i"),ic=class extends nM.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?aM:sM}innerExtract(e,t){let n=sc.parseTimeUnits(t[1]),i=iM.reverseTimeUnits(n);return rM.ParsingComponents.createRelativeFromReference(e.reference,i)}};ac.default=ic});var Zy=h(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var uc=Je(),oM=he(),uM=R(),lM=new RegExp("("+uc.TIME_UNITS_PATTERN+")(later|na|vanaf nu|voortaan|vooruit|uit)(?=(?:\\W|$))","i"),cM=new RegExp("("+uc.TIME_UNITS_PATTERN+")(later|vanaf nu)(?=(?:\\W|$))","i"),dM=1,oc=class extends uM.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?cM:lM}innerExtract(e,t){let n=uc.parseTimeUnits(t[dM]);return oM.ParsingComponents.createRelativeFromReference(e.reference,n)}};lc.default=oc});var eg=h(ke=>{"use strict";var Ue=ke&&ke.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ke,"__esModule",{value:!0});ke.createConfiguration=ke.createCasualConfiguration=ke.parseDate=ke.parse=ke.strict=ke.casual=void 0;var fM=zt(),Xy=_t(),pM=Ue(gy()),hM=Ue(_y()),mM=Ue(Ty()),yM=Ue(by()),gM=Ue(Lr()),_M=Ue(My()),TM=Ue(Oy()),bM=Ue(xy()),Qy=Ue(Fy()),vM=Ue(qy()),EM=Ue(Wy()),RM=Ue($y()),wM=Ue(jy()),MM=Ue(Gy()),DM=Ue(Ky()),OM=Ue(Vy()),PM=Ue(Zy());ke.casual=new Xy.Chrono(Jy());ke.strict=new Xy.Chrono(cc(!0));function AM(r,e,t){return ke.casual.parse(r,e,t)}ke.parse=AM;function kM(r,e,t){return ke.casual.parseDate(r,e,t)}ke.parseDate=kM;function Jy(r=!0){let e=cc(!1,r);return e.parsers.unshift(new mM.default),e.parsers.unshift(new yM.default),e.parsers.unshift(new wM.default),e.parsers.unshift(new Qy.default),e.parsers.unshift(new DM.default),e.parsers.unshift(new MM.default),e}ke.createCasualConfiguration=Jy;function cc(r=!0,e=!0){return fM.includeCommonConfiguration({parsers:[new gM.default(e),new _M.default,new bM.default,new Qy.default,new TM.default,new RM.default,new vM.default,new EM.default(r),new OM.default(r),new PM.default(r)],refiners:[new hM.default,new pM.default]},r)}ke.createConfiguration=cc});var ig=h(bi=>{"use strict";var NM=bi&&bi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(bi,"__esModule",{value:!0});var CM=NM(K()),xM=R(),SM=1,tg=2,IM=3,rg=4,ng=5,UM=6,dc=class extends xM.AbstractParserWithWordBoundaryChecking{innerPattern(e){return new RegExp("(\u800C\u5BB6|\u7ACB(?:\u523B|\u5373)|\u5373\u523B)|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s|,|\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?","i")}innerExtract(e,t){let n=t.index,i=e.createParsingResult(n,t[0]),s=CM.default(e.refDate),a=s;if(t[SM])i.start.imply("hour",s.hour()),i.start.imply("minute",s.minute()),i.start.imply("second",s.second()),i.start.imply("millisecond",s.millisecond());else if(t[tg]){let o=t[tg],u=t[IM];o=="\u660E"||o=="\u807D"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u5F8C"?a=a.add(2,"day"):o=="\u5927\u5F8C"&&(a=a.add(3,"day")),u=="\u65E9"||u=="\u671D"?i.start.imply("hour",6):u=="\u665A"&&(i.start.imply("hour",22),i.start.imply("meridiem",1))}else if(t[rg]){let u=t[rg][0];u=="\u65E9"||u=="\u671D"||u=="\u4E0A"?i.start.imply("hour",6):u=="\u4E0B"||u=="\u664F"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):u=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):u=="\u591C"||u=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):u=="\u51CC"&&i.start.imply("hour",0)}else if(t[ng]){let o=t[ng];o=="\u660E"||o=="\u807D"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u5F8C"?a=a.add(2,"day"):o=="\u5927\u5F8C"&&(a=a.add(3,"day"));let u=t[UM];if(u){let l=u[0];l=="\u65E9"||l=="\u671D"||l=="\u4E0A"?i.start.imply("hour",6):l=="\u4E0B"||l=="\u664F"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):l=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):l=="\u591C"||l=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):l=="\u51CC"&&i.start.imply("hour",0)}}return i.start.assign("day",a.date()),i.start.assign("month",a.month()+1),i.start.assign("year",a.year()),i}};bi.default=dc});var gn=h(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.zhStringToYear=He.zhStringToNumber=He.WEEKDAY_OFFSET=He.NUMBER=void 0;He.NUMBER={\u96F6:0,\u4E00:1,\u4E8C:2,\u5169:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10,\u5EFF:20,\u5345:30};He.WEEKDAY_OFFSET={\u5929:0,\u65E5:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6};function FM(r){let e=0;for(let t=0;t{"use strict";var WM=vi&&vi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(vi,"__esModule",{value:!0});var LM=WM(K()),YM=R(),jr=gn(),fc=1,sg=2,pc=3,hc=class extends YM.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp("(\\d{2,4}|["+Object.keys(jr.NUMBER).join("")+"]{4}|["+Object.keys(jr.NUMBER).join("")+"]{2})?(?:\\s*)(?:\u5E74)?(?:[\\s|,|\uFF0C]*)(\\d{1,2}|["+Object.keys(jr.NUMBER).join("")+"]{1,2})(?:\\s*)(?:\u6708)(?:\\s*)(\\d{1,2}|["+Object.keys(jr.NUMBER).join("")+"]{1,2})?(?:\\s*)(?:\u65E5|\u865F)?")}innerExtract(e,t){let n=LM.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=parseInt(t[sg]);if(isNaN(s)&&(s=jr.zhStringToNumber(t[sg])),i.start.assign("month",s),t[pc]){let a=parseInt(t[pc]);isNaN(a)&&(a=jr.zhStringToNumber(t[pc])),i.start.assign("day",a)}else i.start.imply("day",n.date());if(t[fc]){let a=parseInt(t[fc]);isNaN(a)&&(a=jr.zhStringToYear(t[fc])),i.start.assign("year",a)}else i.start.imply("year",n.year());return i}};vi.default=hc});var ug=h(Ei=>{"use strict";var $M=Ei&&Ei.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ei,"__esModule",{value:!0});var jM=$M(K()),BM=R(),og=gn(),GM=new RegExp("(\\d+|["+Object.keys(og.NUMBER).join("")+"]+|\u534A|\u5E7E)(?:\\s*)(?:\u500B)?(\u79D2(?:\u9418)?|\u5206\u9418|\u5C0F\u6642|\u9418|\u65E5|\u5929|\u661F\u671F|\u79AE\u62DC|\u6708|\u5E74)(?:(?:\u4E4B|\u904E)?\u5F8C|(?:\u4E4B)?\u5167)","i"),mc=1,HM=2,yc=class extends BM.AbstractParserWithWordBoundaryChecking{innerPattern(){return GM}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=parseInt(t[mc]);if(isNaN(i)&&(i=og.zhStringToNumber(t[mc])),isNaN(i)){let u=t[mc];if(u==="\u5E7E")i=3;else if(u==="\u534A")i=.5;else return null}let s=jM.default(e.refDate),o=t[HM][0];return o.match(/[日天星禮月年]/)?(o=="\u65E5"||o=="\u5929"?s=s.add(i,"d"):o=="\u661F"||o=="\u79AE"?s=s.add(i*7,"d"):o=="\u6708"?s=s.add(i,"month"):o=="\u5E74"&&(s=s.add(i,"year")),n.start.assign("year",s.year()),n.start.assign("month",s.month()+1),n.start.assign("day",s.date()),n):(o=="\u79D2"?s=s.add(i,"second"):o=="\u5206"?s=s.add(i,"minute"):(o=="\u5C0F"||o=="\u9418")&&(s=s.add(i,"hour")),n.start.imply("year",s.year()),n.start.imply("month",s.month()+1),n.start.imply("day",s.date()),n.start.assign("hour",s.hour()),n.start.assign("minute",s.minute()),n.start.assign("second",s.second()),n)}};Ei.default=yc});var cg=h(Ri=>{"use strict";var zM=Ri&&Ri.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ri,"__esModule",{value:!0});var KM=zM(K()),VM=R(),lg=gn(),ZM=new RegExp("(?\u4E0A|\u4ECA|\u4E0B|\u9019|\u5462)(?:\u500B)?(?:\u661F\u671F|\u79AE\u62DC|\u9031)(?"+Object.keys(lg.WEEKDAY_OFFSET).join("|")+")"),gc=class extends VM.AbstractParserWithWordBoundaryChecking{innerPattern(){return ZM}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=lg.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=null,o=t.groups.prefix;o=="\u4E0A"?a="last":o=="\u4E0B"?a="next":(o=="\u4ECA"||o=="\u9019"||o=="\u5462")&&(a="this");let u=KM.default(e.refDate),l=!1,c=u.day();return a=="last"||a=="past"?(u=u.day(s-7),l=!0):a=="next"?(u=u.day(s+7),l=!0):a=="this"?u=u.day(s):Math.abs(s-7-c){"use strict";var XM=wi&&wi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(wi,"__esModule",{value:!0});var QM=XM(K()),JM=R(),lt=gn(),eD=new RegExp("(?:\u7531|\u5F9E|\u81EA)?(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(lt.NUMBER).join("")+"]+)(?:\\s*)(?:\u9EDE|\u6642|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(lt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(lt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),tD=new RegExp("(?:^\\s*(?:\u5230|\u81F3|\\-|\\\u2013|\\~|\\\u301C)\\s*)(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(lt.NUMBER).join("")+"]+)(?:\\s*)(?:\u9EDE|\u6642|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(lt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(lt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),ra=1,na=2,ia=3,sa=4,aa=5,oa=6,ut=7,_n=8,ua=9,_c=class extends JM.AbstractParserWithWordBoundaryChecking{innerPattern(){return eD}innerExtract(e,t){if(t.index>0&&e.text[t.index-1].match(/\w/))return null;let n=QM.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=n.clone();if(t[ra]){var a=t[ra];a=="\u660E"||a=="\u807D"?n.hour()>1&&s.add(1,"day"):a=="\u6628"||a=="\u5C0B"||a=="\u7434"?s.add(-1,"day"):a=="\u524D"?s.add(-2,"day"):a=="\u5927\u524D"?s.add(-3,"day"):a=="\u5F8C"?s.add(2,"day"):a=="\u5927\u5F8C"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else if(t[sa]){var o=t[sa];o=="\u660E"||o=="\u807D"?s.add(1,"day"):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?s.add(-1,"day"):o=="\u524D"?s.add(-2,"day"):o=="\u5927\u524D"?s.add(-3,"day"):o=="\u5F8C"?s.add(2,"day"):o=="\u5927\u5F8C"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else i.start.imply("day",s.date()),i.start.imply("month",s.month()+1),i.start.imply("year",s.year());let u=0,l=0,c=-1;if(t[_n]){var d=parseInt(t[_n]);if(isNaN(d)&&(d=lt.zhStringToNumber(t[_n])),d>=60)return null;i.start.assign("second",d)}if(u=parseInt(t[oa]),isNaN(u)&&(u=lt.zhStringToNumber(t[oa])),t[ut]?t[ut]=="\u534A"?l=30:t[ut]=="\u6B63"||t[ut]=="\u6574"?l=0:(l=parseInt(t[ut]),isNaN(l)&&(l=lt.zhStringToNumber(t[ut]))):u>100&&(l=u%100,u=Math.floor(u/100)),l>=60||u>24)return null;if(u>=12&&(c=1),t[ua]){if(u>12)return null;var f=t[ua][0].toLowerCase();f=="a"&&(c=0,u==12&&(u=0)),f=="p"&&(c=1,u!=12&&(u+=12))}else if(t[na]){var p=t[na],y=p[0];y=="\u671D"||y=="\u65E9"?(c=0,u==12&&(u=0)):y=="\u665A"&&(c=1,u!=12&&(u+=12))}else if(t[ia]){var m=t[ia],_=m[0];_=="\u4E0A"||_=="\u671D"||_=="\u65E9"||_=="\u51CC"?(c=0,u==12&&(u=0)):(_=="\u4E0B"||_=="\u664F"||_=="\u665A")&&(c=1,u!=12&&(u+=12))}else if(t[aa]){var A=t[aa],I=A[0];I=="\u4E0A"||I=="\u671D"||I=="\u65E9"||I=="\u51CC"?(c=0,u==12&&(u=0)):(I=="\u4E0B"||I=="\u664F"||I=="\u665A")&&(c=1,u!=12&&(u+=12))}if(i.start.assign("hour",u),i.start.assign("minute",l),c>=0?i.start.assign("meridiem",c):u<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),t=tD.exec(e.text.substring(i.index+i.text.length)),!t)return i.text.match(/^\d+$/)?null:i;let C=s.clone();if(i.end=e.createParsingComponents(),t[ra]){var a=t[ra];a=="\u660E"||a=="\u807D"?n.hour()>1&&C.add(1,"day"):a=="\u6628"||a=="\u5C0B"||a=="\u7434"?C.add(-1,"day"):a=="\u524D"?C.add(-2,"day"):a=="\u5927\u524D"?C.add(-3,"day"):a=="\u5F8C"?C.add(2,"day"):a=="\u5927\u5F8C"&&C.add(3,"day"),i.end.assign("day",C.date()),i.end.assign("month",C.month()+1),i.end.assign("year",C.year())}else if(t[sa]){var o=t[sa];o=="\u660E"||o=="\u807D"?C.add(1,"day"):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?C.add(-1,"day"):o=="\u524D"?C.add(-2,"day"):o=="\u5927\u524D"?C.add(-3,"day"):o=="\u5F8C"?C.add(2,"day"):o=="\u5927\u5F8C"&&C.add(3,"day"),i.end.assign("day",C.date()),i.end.assign("month",C.month()+1),i.end.assign("year",C.year())}else i.end.imply("day",C.date()),i.end.imply("month",C.month()+1),i.end.imply("year",C.year());if(u=0,l=0,c=-1,t[_n]){var d=parseInt(t[_n]);if(isNaN(d)&&(d=lt.zhStringToNumber(t[_n])),d>=60)return null;i.end.assign("second",d)}if(u=parseInt(t[oa]),isNaN(u)&&(u=lt.zhStringToNumber(t[oa])),t[ut]?t[ut]=="\u534A"?l=30:t[ut]=="\u6B63"||t[ut]=="\u6574"?l=0:(l=parseInt(t[ut]),isNaN(l)&&(l=lt.zhStringToNumber(t[ut]))):u>100&&(l=u%100,u=Math.floor(u/100)),l>=60||u>24)return null;if(u>=12&&(c=1),t[ua]){if(u>12)return null;var f=t[ua][0].toLowerCase();f=="a"&&(c=0,u==12&&(u=0)),f=="p"&&(c=1,u!=12&&(u+=12)),i.start.isCertain("meridiem")||(c==0?(i.start.imply("meridiem",0),i.start.get("hour")==12&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),i.start.get("hour")!=12&&i.start.assign("hour",i.start.get("hour")+12)))}else if(t[na]){var p=t[na],y=p[0];y=="\u671D"||y=="\u65E9"?(c=0,u==12&&(u=0)):y=="\u665A"&&(c=1,u!=12&&(u+=12))}else if(t[ia]){var m=t[ia],_=m[0];_=="\u4E0A"||_=="\u671D"||_=="\u65E9"||_=="\u51CC"?(c=0,u==12&&(u=0)):(_=="\u4E0B"||_=="\u664F"||_=="\u665A")&&(c=1,u!=12&&(u+=12))}else if(t[aa]){var A=t[aa],I=A[0];I=="\u4E0A"||I=="\u671D"||I=="\u65E9"||I=="\u51CC"?(c=0,u==12&&(u=0)):(I=="\u4E0B"||I=="\u664F"||I=="\u665A")&&(c=1,u!=12&&(u+=12))}return i.text=i.text+t[0],i.end.assign("hour",u),i.end.assign("minute",l),c>=0?i.end.assign("meridiem",c):i.start.isCertain("meridiem")&&i.start.get("meridiem")==1&&i.start.get("hour")>u?i.end.imply("meridiem",0):u>12&&i.end.imply("meridiem",1),i.end.date().getTime(){"use strict";var rD=Mi&&Mi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mi,"__esModule",{value:!0});var nD=rD(K()),iD=R(),fg=gn(),sD=new RegExp("(?:\u661F\u671F|\u79AE\u62DC|\u9031)(?"+Object.keys(fg.WEEKDAY_OFFSET).join("|")+")"),Tc=class extends iD.AbstractParserWithWordBoundaryChecking{innerPattern(){return sD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=fg.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=nD.default(e.refDate),o=!1,u=a.day();return Math.abs(s-7-u){"use strict";var aD=Di&&Di.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Di,"__esModule",{value:!0});var oD=aD(Ct()),bc=class extends oD.default{patternBetween(){return/^\s*(至|到|\-|\~|~|-|ー)\s*$/i}};Di.default=bc});var mg=h(Oi=>{"use strict";var uD=Oi&&Oi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Oi,"__esModule",{value:!0});var lD=uD(Ht()),vc=class extends lD.default{patternBetween(){return/^\s*$/i}};Oi.default=vc});var yg=h(Te=>{"use strict";var Qt=Te&&Te.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Te,"__esModule",{value:!0});Te.createConfiguration=Te.createCasualConfiguration=Te.parseDate=Te.parse=Te.strict=Te.casual=Te.hant=void 0;var Ec=_t(),cD=Qt(qs()),dD=zt(),fD=Qt(ig()),pD=Qt(ag()),hD=Qt(ug()),mD=Qt(cg()),yD=Qt(dg()),gD=Qt(pg()),_D=Qt(hg()),TD=Qt(mg());Te.hant=new Ec.Chrono(Rc());Te.casual=new Ec.Chrono(Rc());Te.strict=new Ec.Chrono(wc());function bD(r,e,t){return Te.casual.parse(r,e,t)}Te.parse=bD;function vD(r,e,t){return Te.casual.parseDate(r,e,t)}Te.parseDate=vD;function Rc(){let r=wc();return r.parsers.unshift(new fD.default),r}Te.createCasualConfiguration=Rc;function wc(){let r=dD.includeCommonConfiguration({parsers:[new pD.default,new mD.default,new gD.default,new yD.default,new hD.default],refiners:[new _D.default,new TD.default]});return r.refiners=r.refiners.filter(e=>!(e instanceof cD.default)),r}Te.createConfiguration=wc});var bg=h(Pi=>{"use strict";var ED=Pi&&Pi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Pi,"__esModule",{value:!0});var RD=ED(K()),wD=R(),MD=1,gg=2,DD=3,_g=4,Tg=5,OD=6,Mc=class extends wD.AbstractParserWithWordBoundaryChecking{innerPattern(e){return new RegExp("(\u73B0\u5728|\u7ACB(?:\u523B|\u5373)|\u5373\u523B)|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s|,|\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?","i")}innerExtract(e,t){let n=t.index,i=e.createParsingResult(n,t[0]),s=RD.default(e.refDate),a=s;if(t[MD])i.start.imply("hour",s.hour()),i.start.imply("minute",s.minute()),i.start.imply("second",s.second()),i.start.imply("millisecond",s.millisecond());else if(t[gg]){let o=t[gg],u=t[DD];o=="\u660E"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u540E"?a=a.add(2,"day"):o=="\u5927\u540E"&&(a=a.add(3,"day")),u=="\u65E9"?i.start.imply("hour",6):u=="\u665A"&&(i.start.imply("hour",22),i.start.imply("meridiem",1))}else if(t[_g]){let u=t[_g][0];u=="\u65E9"||u=="\u4E0A"?i.start.imply("hour",6):u=="\u4E0B"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):u=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):u=="\u591C"||u=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):u=="\u51CC"&&i.start.imply("hour",0)}else if(t[Tg]){let o=t[Tg];o=="\u660E"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u540E"?a=a.add(2,"day"):o=="\u5927\u540E"&&(a=a.add(3,"day"));let u=t[OD];if(u){let l=u[0];l=="\u65E9"||l=="\u4E0A"?i.start.imply("hour",6):l=="\u4E0B"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):l=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):l=="\u591C"||l=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):l=="\u51CC"&&i.start.imply("hour",0)}}return i.start.assign("day",a.date()),i.start.assign("month",a.month()+1),i.start.assign("year",a.year()),i}};Pi.default=Mc});var Tn=h(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.zhStringToYear=ze.zhStringToNumber=ze.WEEKDAY_OFFSET=ze.NUMBER=void 0;ze.NUMBER={\u96F6:0,"\u3007":0,\u4E00:1,\u4E8C:2,\u4E24:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10};ze.WEEKDAY_OFFSET={\u5929:0,\u65E5:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6};function PD(r){let e=0;for(let t=0;t{"use strict";var kD=Ai&&Ai.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ai,"__esModule",{value:!0});var ND=kD(K()),CD=R(),Br=Tn(),Dc=1,vg=2,Oc=3,Pc=class extends CD.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp("(\\d{2,4}|["+Object.keys(Br.NUMBER).join("")+"]{4}|["+Object.keys(Br.NUMBER).join("")+"]{2})?(?:\\s*)(?:\u5E74)?(?:[\\s|,|\uFF0C]*)(\\d{1,2}|["+Object.keys(Br.NUMBER).join("")+"]{1,3})(?:\\s*)(?:\u6708)(?:\\s*)(\\d{1,2}|["+Object.keys(Br.NUMBER).join("")+"]{1,3})?(?:\\s*)(?:\u65E5|\u53F7)?")}innerExtract(e,t){let n=ND.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=parseInt(t[vg]);if(isNaN(s)&&(s=Br.zhStringToNumber(t[vg])),i.start.assign("month",s),t[Oc]){let a=parseInt(t[Oc]);isNaN(a)&&(a=Br.zhStringToNumber(t[Oc])),i.start.assign("day",a)}else i.start.imply("day",n.date());if(t[Dc]){let a=parseInt(t[Dc]);isNaN(a)&&(a=Br.zhStringToYear(t[Dc])),i.start.assign("year",a)}else i.start.imply("year",n.year());return i}};Ai.default=Pc});var wg=h(ki=>{"use strict";var xD=ki&&ki.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ki,"__esModule",{value:!0});var SD=xD(K()),ID=R(),Rg=Tn(),UD=new RegExp("(\\d+|["+Object.keys(Rg.NUMBER).join("")+"]+|\u534A|\u51E0)(?:\\s*)(?:\u4E2A)?(\u79D2(?:\u949F)?|\u5206\u949F|\u5C0F\u65F6|\u949F|\u65E5|\u5929|\u661F\u671F|\u793C\u62DC|\u6708|\u5E74)(?:(?:\u4E4B|\u8FC7)?\u540E|(?:\u4E4B)?\u5185)","i"),Ac=1,FD=2,kc=class extends ID.AbstractParserWithWordBoundaryChecking{innerPattern(){return UD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=parseInt(t[Ac]);if(isNaN(i)&&(i=Rg.zhStringToNumber(t[Ac])),isNaN(i)){let u=t[Ac];if(u==="\u51E0")i=3;else if(u==="\u534A")i=.5;else return null}let s=SD.default(e.refDate),o=t[FD][0];return o.match(/[日天星礼月年]/)?(o=="\u65E5"||o=="\u5929"?s=s.add(i,"d"):o=="\u661F"||o=="\u793C"?s=s.add(i*7,"d"):o=="\u6708"?s=s.add(i,"month"):o=="\u5E74"&&(s=s.add(i,"year")),n.start.assign("year",s.year()),n.start.assign("month",s.month()+1),n.start.assign("day",s.date()),n):(o=="\u79D2"?s=s.add(i,"second"):o=="\u5206"?s=s.add(i,"minute"):(o=="\u5C0F"||o=="\u949F")&&(s=s.add(i,"hour")),n.start.imply("year",s.year()),n.start.imply("month",s.month()+1),n.start.imply("day",s.date()),n.start.assign("hour",s.hour()),n.start.assign("minute",s.minute()),n.start.assign("second",s.second()),n)}};ki.default=kc});var Dg=h(Ni=>{"use strict";var qD=Ni&&Ni.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ni,"__esModule",{value:!0});var WD=qD(K()),LD=R(),Mg=Tn(),YD=new RegExp("(?\u4E0A|\u4E0B|\u8FD9)(?:\u4E2A)?(?:\u661F\u671F|\u793C\u62DC|\u5468)(?"+Object.keys(Mg.WEEKDAY_OFFSET).join("|")+")"),Nc=class extends LD.AbstractParserWithWordBoundaryChecking{innerPattern(){return YD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Mg.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=null,o=t.groups.prefix;o=="\u4E0A"?a="last":o=="\u4E0B"?a="next":o=="\u8FD9"&&(a="this");let u=WD.default(e.refDate),l=!1,c=u.day();return a=="last"||a=="past"?(u=u.day(s-7),l=!0):a=="next"?(u=u.day(s+7),l=!0):a=="this"?u=u.day(s):Math.abs(s-7-c){"use strict";var $D=Ci&&Ci.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ci,"__esModule",{value:!0});var jD=$D(K()),BD=R(),dt=Tn(),GD=new RegExp("(?:\u4ECE|\u81EA)?(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(dt.NUMBER).join("")+"]+)(?:\\s*)(?:\u70B9|\u65F6|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(dt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(dt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),HD=new RegExp("(?:^\\s*(?:\u5230|\u81F3|\\-|\\\u2013|\\~|\\\u301C)\\s*)(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(dt.NUMBER).join("")+"]+)(?:\\s*)(?:\u70B9|\u65F6|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(dt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(dt.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),la=1,ca=2,da=3,fa=4,pa=5,ha=6,ct=7,bn=8,ma=9,Cc=class extends BD.AbstractParserWithWordBoundaryChecking{innerPattern(){return GD}innerExtract(e,t){if(t.index>0&&e.text[t.index-1].match(/\w/))return null;let n=jD.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=n.clone();if(t[la]){let c=t[la];c=="\u660E"?n.hour()>1&&s.add(1,"day"):c=="\u6628"?s.add(-1,"day"):c=="\u524D"?s.add(-2,"day"):c=="\u5927\u524D"?s.add(-3,"day"):c=="\u540E"?s.add(2,"day"):c=="\u5927\u540E"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else if(t[fa]){let c=t[fa];c=="\u660E"?s.add(1,"day"):c=="\u6628"?s.add(-1,"day"):c=="\u524D"?s.add(-2,"day"):c=="\u5927\u524D"?s.add(-3,"day"):c=="\u540E"?s.add(2,"day"):c=="\u5927\u540E"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else i.start.imply("day",s.date()),i.start.imply("month",s.month()+1),i.start.imply("year",s.year());let a=0,o=0,u=-1;if(t[bn]){let c=parseInt(t[bn]);if(isNaN(c)&&(c=dt.zhStringToNumber(t[bn])),c>=60)return null;i.start.assign("second",c)}if(a=parseInt(t[ha]),isNaN(a)&&(a=dt.zhStringToNumber(t[ha])),t[ct]?t[ct]=="\u534A"?o=30:t[ct]=="\u6B63"||t[ct]=="\u6574"?o=0:(o=parseInt(t[ct]),isNaN(o)&&(o=dt.zhStringToNumber(t[ct]))):a>100&&(o=a%100,a=Math.floor(a/100)),o>=60||a>24)return null;if(a>=12&&(u=1),t[ma]){if(a>12)return null;let c=t[ma][0].toLowerCase();c=="a"&&(u=0,a==12&&(a=0)),c=="p"&&(u=1,a!=12&&(a+=12))}else if(t[ca]){let d=t[ca][0];d=="\u65E9"?(u=0,a==12&&(a=0)):d=="\u665A"&&(u=1,a!=12&&(a+=12))}else if(t[da]){let d=t[da][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}else if(t[pa]){let d=t[pa][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}if(i.start.assign("hour",a),i.start.assign("minute",o),u>=0?i.start.assign("meridiem",u):a<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),t=HD.exec(e.text.substring(i.index+i.text.length)),!t)return i.text.match(/^\d+$/)?null:i;let l=s.clone();if(i.end=e.createParsingComponents(),t[la]){let c=t[la];c=="\u660E"?n.hour()>1&&l.add(1,"day"):c=="\u6628"?l.add(-1,"day"):c=="\u524D"?l.add(-2,"day"):c=="\u5927\u524D"?l.add(-3,"day"):c=="\u540E"?l.add(2,"day"):c=="\u5927\u540E"&&l.add(3,"day"),i.end.assign("day",l.date()),i.end.assign("month",l.month()+1),i.end.assign("year",l.year())}else if(t[fa]){let c=t[fa];c=="\u660E"?l.add(1,"day"):c=="\u6628"?l.add(-1,"day"):c=="\u524D"?l.add(-2,"day"):c=="\u5927\u524D"?l.add(-3,"day"):c=="\u540E"?l.add(2,"day"):c=="\u5927\u540E"&&l.add(3,"day"),i.end.assign("day",l.date()),i.end.assign("month",l.month()+1),i.end.assign("year",l.year())}else i.end.imply("day",l.date()),i.end.imply("month",l.month()+1),i.end.imply("year",l.year());if(a=0,o=0,u=-1,t[bn]){let c=parseInt(t[bn]);if(isNaN(c)&&(c=dt.zhStringToNumber(t[bn])),c>=60)return null;i.end.assign("second",c)}if(a=parseInt(t[ha]),isNaN(a)&&(a=dt.zhStringToNumber(t[ha])),t[ct]?t[ct]=="\u534A"?o=30:t[ct]=="\u6B63"||t[ct]=="\u6574"?o=0:(o=parseInt(t[ct]),isNaN(o)&&(o=dt.zhStringToNumber(t[ct]))):a>100&&(o=a%100,a=Math.floor(a/100)),o>=60||a>24)return null;if(a>=12&&(u=1),t[ma]){if(a>12)return null;let c=t[ma][0].toLowerCase();c=="a"&&(u=0,a==12&&(a=0)),c=="p"&&(u=1,a!=12&&(a+=12)),i.start.isCertain("meridiem")||(u==0?(i.start.imply("meridiem",0),i.start.get("hour")==12&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),i.start.get("hour")!=12&&i.start.assign("hour",i.start.get("hour")+12)))}else if(t[ca]){let d=t[ca][0];d=="\u65E9"?(u=0,a==12&&(a=0)):d=="\u665A"&&(u=1,a!=12&&(a+=12))}else if(t[da]){let d=t[da][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}else if(t[pa]){let d=t[pa][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}return i.text=i.text+t[0],i.end.assign("hour",a),i.end.assign("minute",o),u>=0?i.end.assign("meridiem",u):i.start.isCertain("meridiem")&&i.start.get("meridiem")==1&&i.start.get("hour")>a?i.end.imply("meridiem",0):a>12&&i.end.imply("meridiem",1),i.end.date().getTime(){"use strict";var zD=xi&&xi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(xi,"__esModule",{value:!0});var KD=zD(K()),VD=R(),Pg=Tn(),ZD=new RegExp("(?:\u661F\u671F|\u793C\u62DC|\u5468)(?"+Object.keys(Pg.WEEKDAY_OFFSET).join("|")+")"),xc=class extends VD.AbstractParserWithWordBoundaryChecking{innerPattern(){return ZD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Pg.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=KD.default(e.refDate),o=!1,u=a.day();return Math.abs(s-7-u){"use strict";var XD=Si&&Si.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Si,"__esModule",{value:!0});var QD=XD(Ct()),Sc=class extends QD.default{patternBetween(){return/^\s*(至|到|-|~|~|-|ー)\s*$/i}};Si.default=Sc});var Ng=h(Ii=>{"use strict";var JD=Ii&&Ii.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ii,"__esModule",{value:!0});var eO=JD(Ht()),Ic=class extends eO.default{patternBetween(){return/^\s*$/i}};Ii.default=Ic});var Cg=h(be=>{"use strict";var Jt=be&&be.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(be,"__esModule",{value:!0});be.createConfiguration=be.createCasualConfiguration=be.parseDate=be.parse=be.strict=be.casual=be.hans=void 0;var Uc=_t(),tO=Jt(qs()),rO=zt(),nO=Jt(bg()),iO=Jt(Eg()),sO=Jt(wg()),aO=Jt(Dg()),oO=Jt(Og()),uO=Jt(Ag()),lO=Jt(kg()),cO=Jt(Ng());be.hans=new Uc.Chrono(Fc());be.casual=new Uc.Chrono(Fc());be.strict=new Uc.Chrono(qc());function dO(r,e,t){return be.casual.parse(r,e,t)}be.parse=dO;function fO(r,e,t){return be.casual.parseDate(r,e,t)}be.parseDate=fO;function Fc(){let r=qc();return r.parsers.unshift(new nO.default),r}be.createCasualConfiguration=Fc;function qc(){let r=rO.includeCommonConfiguration({parsers:[new iO.default,new aO.default,new uO.default,new oO.default,new sO.default],refiners:[new lO.default,new cO.default]});return r.refiners=r.refiners.filter(e=>!(e instanceof tO.default)),r}be.createConfiguration=qc});var Sg=h(et=>{"use strict";var xg=et&&et.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),pO=et&&et.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),hO=et&&et.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&xg(e,r,t)},mO=et&&et.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&xg(e,r,t);return pO(e,r),e};Object.defineProperty(et,"__esModule",{value:!0});et.hans=void 0;hO(yg(),et);et.hans=mO(Cg())});var Ke=h(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.parseTimeUnits=q.TIME_UNITS_PATTERN=q.parseYear=q.YEAR_PATTERN=q.parseOrdinalNumberPattern=q.ORDINAL_NUMBER_PATTERN=q.parseNumberPattern=q.NUMBER_PATTERN=q.TIME_UNIT_DICTIONARY=q.ORDINAL_WORD_DICTIONARY=q.INTEGER_WORD_DICTIONARY=q.MONTH_DICTIONARY=q.FULL_MONTH_NAME_DICTIONARY=q.WEEKDAY_DICTIONARY=q.REGEX_PARTS=void 0;var ya=J(),yO=Se();q.REGEX_PARTS={leftBoundary:"([^\\p{L}\\p{N}_]|^)",rightBoundary:"(?=[^\\p{L}\\p{N}_]|$)",flags:"iu"};q.WEEKDAY_DICTIONARY={\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435:0,\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F:0,\u0432\u0441\u043A:0,"\u0432\u0441\u043A.":0,\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A:1,\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430:1,\u043F\u043D:1,"\u043F\u043D.":1,\u0432\u0442\u043E\u0440\u043D\u0438\u043A:2,\u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430:2,\u0432\u0442:2,"\u0432\u0442.":2,\u0441\u0440\u0435\u0434\u0430:3,\u0441\u0440\u0435\u0434\u044B:3,\u0441\u0440\u0435\u0434\u0443:3,\u0441\u0440:3,"\u0441\u0440.":3,\u0447\u0435\u0442\u0432\u0435\u0440\u0433:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430:4,\u0447\u0442:4,"\u0447\u0442.":4,\u043F\u044F\u0442\u043D\u0438\u0446\u0430:5,\u043F\u044F\u0442\u043D\u0438\u0446\u0443:5,\u043F\u044F\u0442\u043D\u0438\u0446\u044B:5,\u043F\u0442:5,"\u043F\u0442.":5,\u0441\u0443\u0431\u0431\u043E\u0442\u0430:6,\u0441\u0443\u0431\u0431\u043E\u0442\u0443:6,\u0441\u0443\u0431\u0431\u043E\u0442\u044B:6,\u0441\u0431:6,"\u0441\u0431.":6};q.FULL_MONTH_NAME_DICTIONARY={\u044F\u043D\u0432\u0430\u0440\u044C:1,\u044F\u043D\u0432\u0430\u0440\u044F:1,\u044F\u043D\u0432\u0430\u0440\u0435:1,\u0444\u0435\u0432\u0440\u044F\u043B\u044C:2,\u0444\u0435\u0432\u0440\u044F\u043B\u044F:2,\u0444\u0435\u0432\u0440\u044F\u043B\u0435:2,\u043C\u0430\u0440\u0442:3,\u043C\u0430\u0440\u0442\u0430:3,\u043C\u0430\u0440\u0442\u0435:3,\u0430\u043F\u0440\u0435\u043B\u044C:4,\u0430\u043F\u0440\u0435\u043B\u044F:4,\u0430\u043F\u0440\u0435\u043B\u0435:4,\u043C\u0430\u0439:5,\u043C\u0430\u044F:5,\u043C\u0430\u0435:5,\u0438\u044E\u043D\u044C:6,\u0438\u044E\u043D\u044F:6,\u0438\u044E\u043D\u0435:6,\u0438\u044E\u043B\u044C:7,\u0438\u044E\u043B\u044F:7,\u0438\u044E\u043B\u0435:7,\u0430\u0432\u0433\u0443\u0441\u0442:8,\u0430\u0432\u0433\u0443\u0441\u0442\u0430:8,\u0430\u0432\u0433\u0443\u0441\u0442\u0435:8,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C:9,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F:9,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u0435:9,\u043E\u043A\u0442\u044F\u0431\u0440\u044C:10,\u043E\u043A\u0442\u044F\u0431\u0440\u044F:10,\u043E\u043A\u0442\u044F\u0431\u0440\u0435:10,\u043D\u043E\u044F\u0431\u0440\u044C:11,\u043D\u043E\u044F\u0431\u0440\u044F:11,\u043D\u043E\u044F\u0431\u0440\u0435:11,\u0434\u0435\u043A\u0430\u0431\u0440\u044C:12,\u0434\u0435\u043A\u0430\u0431\u0440\u044F:12,\u0434\u0435\u043A\u0430\u0431\u0440\u0435:12};q.MONTH_DICTIONARY=Object.assign(Object.assign({},q.FULL_MONTH_NAME_DICTIONARY),{\u044F\u043D\u0432:1,"\u044F\u043D\u0432.":1,\u0444\u0435\u0432:2,"\u0444\u0435\u0432.":2,\u043C\u0430\u0440:3,"\u043C\u0430\u0440.":3,\u0430\u043F\u0440:4,"\u0430\u043F\u0440.":4,\u0430\u0432\u0433:8,"\u0430\u0432\u0433.":8,\u0441\u0435\u043D:9,"\u0441\u0435\u043D.":9,\u043E\u043A\u0442:10,"\u043E\u043A\u0442.":10,\u043D\u043E\u044F:11,"\u043D\u043E\u044F.":11,\u0434\u0435\u043A:12,"\u0434\u0435\u043A.":12});q.INTEGER_WORD_DICTIONARY={\u043E\u0434\u0438\u043D:1,\u043E\u0434\u043D\u0430:1,\u043E\u0434\u043D\u043E\u0439:1,\u043E\u0434\u043D\u0443:1,\u0434\u0432\u0435:2,\u0434\u0432\u0430:2,\u0434\u0432\u0443\u0445:2,\u0442\u0440\u0438:3,\u0442\u0440\u0435\u0445:3,\u0442\u0440\u0451\u0445:3,\u0447\u0435\u0442\u044B\u0440\u0435:4,\u0447\u0435\u0442\u044B\u0440\u0435\u0445:4,\u0447\u0435\u0442\u044B\u0440\u0451\u0445:4,\u043F\u044F\u0442\u044C:5,\u043F\u044F\u0442\u0438:5,\u0448\u0435\u0441\u0442\u044C:6,\u0448\u0435\u0441\u0442\u0438:6,\u0441\u0435\u043C\u044C:7,\u0441\u0435\u043C\u0438:7,\u0432\u043E\u0441\u0435\u043C\u044C:8,\u0432\u043E\u0441\u0435\u043C\u044C\u043C\u0438:8,\u0434\u0435\u0432\u044F\u0442\u044C:9,\u0434\u0435\u0432\u044F\u0442\u0438:9,\u0434\u0435\u0441\u044F\u0442\u044C:10,\u0434\u0435\u0441\u044F\u0442\u0438:10,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u044C:11,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u0438:11,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u044C:12,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u0438:12};q.ORDINAL_WORD_DICTIONARY={\u043F\u0435\u0440\u0432\u043E\u0435:1,\u043F\u0435\u0440\u0432\u043E\u0433\u043E:1,\u0432\u0442\u043E\u0440\u043E\u0435:2,\u0432\u0442\u043E\u0440\u043E\u0433\u043E:2,\u0442\u0440\u0435\u0442\u044C\u0435:3,\u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E:3,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E:4,\u043F\u044F\u0442\u043E\u0435:5,\u043F\u044F\u0442\u043E\u0433\u043E:5,\u0448\u0435\u0441\u0442\u043E\u0435:6,\u0448\u0435\u0441\u0442\u043E\u0433\u043E:6,\u0441\u0435\u0434\u044C\u043C\u043E\u0435:7,\u0441\u0435\u0434\u044C\u043C\u043E\u0433\u043E:7,\u0432\u043E\u0441\u044C\u043C\u043E\u0435:8,\u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E:8,\u0434\u0435\u0432\u044F\u0442\u043E\u0435:9,\u0434\u0435\u0432\u044F\u0442\u043E\u0433\u043E:9,\u0434\u0435\u0441\u044F\u0442\u043E\u0435:10,\u0434\u0435\u0441\u044F\u0442\u043E\u0433\u043E:10,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:11,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:11,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:12,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:12,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:13,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:13,\u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:14,\u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:14,\u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:15,\u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:15,\u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:16,\u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:16,\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:17,\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:17,\u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:18,\u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:18,\u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:19,\u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:19,\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u043E\u0435:20,\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:20,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435":21,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0433\u043E":21,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0435":22,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0433\u043E":22,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0442\u0440\u0435\u0442\u044C\u0435":23,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E":23,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435":24,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E":24,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u044F\u0442\u043E\u0435":25,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u044F\u0442\u043E\u0433\u043E":25,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0448\u0435\u0441\u0442\u043E\u0435":26,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0448\u0435\u0441\u0442\u043E\u0433\u043E":26,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0441\u0435\u0434\u044C\u043C\u043E\u0435":27,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0441\u0435\u0434\u044C\u043C\u043E\u0433\u043E":27,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u043E\u0435":28,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E":28,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0434\u0435\u0432\u044F\u0442\u043E\u0435":29,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0434\u0435\u0432\u044F\u0442\u043E\u0433\u043E":29,\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u043E\u0435:30,\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u043E\u0433\u043E:30,"\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435":31,"\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0433\u043E":31};q.TIME_UNIT_DICTIONARY={\u0441\u0435\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0430:"second",\u0441\u0435\u043A\u0443\u043D\u0434:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u044B:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0443:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0430:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0438:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u0435\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0443:"second",\u043C\u0438\u043D:"minute",\u043C\u0438\u043D\u0443\u0442\u0430:"minute",\u043C\u0438\u043D\u0443\u0442:"minute",\u043C\u0438\u043D\u0443\u0442\u044B:"minute",\u043C\u0438\u043D\u0443\u0442\u0443:"minute",\u043C\u0438\u043D\u0443\u0442\u043E\u043A:"minute",\u043C\u0438\u043D\u0443\u0442\u043A\u0438:"minute",\u043C\u0438\u043D\u0443\u0442\u043A\u0443:"minute",\u0447\u0430\u0441:"hour",\u0447\u0430\u0441\u043E\u0432:"hour",\u0447\u0430\u0441\u0430:"hour",\u0447\u0430\u0441\u0443:"hour",\u0447\u0430\u0441\u0438\u043A\u043E\u0432:"hour",\u0447\u0430\u0441\u0438\u043A\u0430:"hour",\u0447\u0430\u0441\u0438\u043A\u0435:"hour",\u0447\u0430\u0441\u0438\u043A:"hour",\u0434\u0435\u043D\u044C:"d",\u0434\u043D\u044F:"d",\u0434\u043D\u0435\u0439:"d",\u0441\u0443\u0442\u043E\u043A:"d",\u0441\u0443\u0442\u043A\u0438:"d",\u043D\u0435\u0434\u0435\u043B\u044F:"week",\u043D\u0435\u0434\u0435\u043B\u0435:"week",\u043D\u0435\u0434\u0435\u043B\u0438:"week",\u043D\u0435\u0434\u0435\u043B\u044E:"week",\u043D\u0435\u0434\u0435\u043B\u044C:"week",\u043D\u0435\u0434\u0435\u043B\u044C\u043A\u0435:"week",\u043D\u0435\u0434\u0435\u043B\u044C\u043A\u0438:"week",\u043D\u0435\u0434\u0435\u043B\u0435\u043A:"week",\u043C\u0435\u0441\u044F\u0446:"month",\u043C\u0435\u0441\u044F\u0446\u0435:"month",\u043C\u0435\u0441\u044F\u0446\u0435\u0432:"month",\u043C\u0435\u0441\u044F\u0446\u0430:"month",\u043A\u0432\u0430\u0440\u0442\u0430\u043B:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u0435:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u043E\u0432:"quarter",\u0433\u043E\u0434:"year",\u0433\u043E\u0434\u0430:"year",\u0433\u043E\u0434\u0443:"year",\u0433\u043E\u0434\u043E\u0432:"year",\u043B\u0435\u0442:"year",\u0433\u043E\u0434\u0438\u043A:"year",\u0433\u043E\u0434\u0438\u043A\u0430:"year",\u0433\u043E\u0434\u0438\u043A\u043E\u0432:"year"};q.NUMBER_PATTERN=`(?:${ya.matchAnyPattern(q.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|\u043F\u043E\u043B|\u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E|\u043F\u0430\u0440(?:\u044B|\u0443)|\\s{0,3})`;function Ug(r){let e=r.toLowerCase();return q.INTEGER_WORD_DICTIONARY[e]!==void 0?q.INTEGER_WORD_DICTIONARY[e]:e.match(/несколько/)?3:e.match(/пол/)?.5:e.match(/пар/)?2:e===""?1:parseFloat(e)}q.parseNumberPattern=Ug;q.ORDINAL_NUMBER_PATTERN=`(?:${ya.matchAnyPattern(q.ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:\u0433\u043E|\u043E\u0433\u043E|\u0435|\u043E\u0435)?)`;function gO(r){let e=r.toLowerCase();return q.ORDINAL_WORD_DICTIONARY[e]!==void 0?q.ORDINAL_WORD_DICTIONARY[e]:(e=e.replace(/(?:st|nd|rd|th)$/i,""),parseInt(e))}q.parseOrdinalNumberPattern=gO;var Wc="(?:\\s+(?:\u0433\u043E\u0434\u0443|\u0433\u043E\u0434\u0430|\u0433\u043E\u0434|\u0433|\u0433.))?";q.YEAR_PATTERN=`(?:[1-9][0-9]{0,3}${Wc}\\s*(?:\u043D.\u044D.|\u0434\u043E \u043D.\u044D.|\u043D. \u044D.|\u0434\u043E \u043D. \u044D.)|[1-2][0-9]{3}${Wc}|[5-9][0-9]${Wc})`;function _O(r){if(/(год|года|г|г.)/i.test(r)&&(r=r.replace(/(год|года|г|г.)/i,"")),/(до н.э.|до н. э.)/i.test(r))return r=r.replace(/(до н.э.|до н. э.)/i,""),-parseInt(r);if(/(н. э.|н.э.)/i.test(r))return r=r.replace(/(н. э.|н.э.)/i,""),parseInt(r);let e=parseInt(r);return yO.findMostLikelyADYear(e)}q.parseYear=_O;var Fg=`(${q.NUMBER_PATTERN})\\s{0,3}(${ya.matchAnyPattern(q.TIME_UNIT_DICTIONARY)})`,Ig=new RegExp(Fg,"i");q.TIME_UNITS_PATTERN=ya.repeatedTimeunitPattern("(?:(?:\u043E\u043A\u043E\u043B\u043E|\u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E)\\s{0,3})?",Fg);function TO(r){let e={},t=r,n=Ig.exec(t);for(;n;)bO(e,n),t=t.substring(n[0].length).trim(),n=Ig.exec(t);return e}q.parseTimeUnits=TO;function bO(r,e){let t=Ug(e[1]),n=q.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Wg=h(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});var Ui=Ke(),vO=he(),EO=R(),qg=`(?:(?:\u043E\u043A\u043E\u043B\u043E|\u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E)\\s*(?:~\\s*)?)?(${Ui.TIME_UNITS_PATTERN})${Ui.REGEX_PARTS.rightBoundary}`,RO=new RegExp(`(?:\u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435|\u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0438)\\s*${qg}`,Ui.REGEX_PARTS.flags),wO=new RegExp(qg,"i"),Lc=class extends EO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Ui.REGEX_PARTS.leftBoundary}innerPattern(e){return e.option.forwardDate?wO:RO}innerExtract(e,t){let n=Ui.parseTimeUnits(t[1]);return vO.ParsingComponents.createRelativeFromReference(e.reference,n)}};Yc.default=Lc});var Bg=h(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});var MO=Se(),Fi=Ke(),jg=Ke(),ga=Ke(),DO=J(),OO=R(),PO=new RegExp(`(?:\u0441)?\\s*(${ga.ORDINAL_NUMBER_PATTERN})(?:\\s{0,3}(?:\u043F\u043E|-|\u2013|\u0434\u043E)?\\s{0,3}(${ga.ORDINAL_NUMBER_PATTERN}))?(?:-|\\/|\\s{0,3}(?:of)?\\s{0,3})(${DO.matchAnyPattern(Fi.MONTH_DICTIONARY)})(?:(?:-|\\/|,?\\s{0,3})(${jg.YEAR_PATTERN}(?![^\\s]\\d)))?${Fi.REGEX_PARTS.rightBoundary}`,Fi.REGEX_PARTS.flags),Lg=1,Yg=2,AO=3,$g=4,$c=class extends OO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Fi.REGEX_PARTS.leftBoundary}innerPattern(){return PO}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Fi.MONTH_DICTIONARY[t[AO].toLowerCase()],s=ga.parseOrdinalNumberPattern(t[Lg]);if(s>31)return t.index=t.index+t[Lg].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[$g]){let a=jg.parseYear(t[$g]);n.start.assign("year",a)}else{let a=MO.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[Yg]){let a=ga.parseOrdinalNumberPattern(t[Yg]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};jc.default=$c});var zg=h(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});var qi=Ke(),kO=Se(),NO=J(),Hg=Ke(),CO=R(),xO=new RegExp(`((?:\u0432)\\s*)?(${NO.matchAnyPattern(qi.MONTH_DICTIONARY)})\\s*(?:[,-]?\\s*(${Hg.YEAR_PATTERN})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,qi.REGEX_PARTS.flags),SO=2,Gg=3,Bc=class extends CO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return qi.REGEX_PARTS.leftBoundary}innerPattern(){return xO}innerExtract(e,t){let n=t[SO].toLowerCase();if(t[0].length<=3&&!qi.FULL_MONTH_NAME_DICTIONARY[n])return null;let i=e.createParsingResult(t.index,t.index+t[0].length);i.start.imply("day",1);let s=qi.MONTH_DICTIONARY[n];if(i.start.assign("month",s),t[Gg]){let a=Hg.parseYear(t[Gg]);i.start.assign("year",a)}else{let a=kO.findYearClosestToRef(e.refDate,1,s);i.start.imply("year",a)}return i}};Gc.default=Bc});var Vg=h(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});var _a=Ee(),IO=Fr(),Kg=Ke(),Hc=class extends IO.AbstractTimeExpressionParser{constructor(e){super(e)}patternFlags(){return Kg.REGEX_PARTS.flags}primaryPatternLeftBoundary(){return"(^|\\s|T|(?:[^\\p{L}\\p{N}_]))"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|\u0434\u043E|\u0438|\u043F\u043E|\\?)\\s*"}primaryPrefix(){return"(?:(?:\u0432|\u0441)\\s*)??"}primarySuffix(){return`(?:\\s*(?:\u0443\u0442\u0440\u0430|\u0432\u0435\u0447\u0435\u0440\u0430|\u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u043B\u0443\u0434\u043D\u044F))?(?!\\/)${Kg.REGEX_PARTS.rightBoundary}`}extractPrimaryTimeComponents(e,t){let n=super.extractPrimaryTimeComponents(e,t);if(n){if(t[0].endsWith("\u0432\u0435\u0447\u0435\u0440\u0430")){let i=n.get("hour");i>=6&&i<12?(n.assign("hour",n.get("hour")+12),n.assign("meridiem",_a.Meridiem.PM)):i<6&&n.assign("meridiem",_a.Meridiem.AM)}if(t[0].endsWith("\u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u043B\u0443\u0434\u043D\u044F")){n.assign("meridiem",_a.Meridiem.PM);let i=n.get("hour");i>=0&&i<=6&&n.assign("hour",n.get("hour")+12)}t[0].endsWith("\u0443\u0442\u0440\u0430")&&(n.assign("meridiem",_a.Meridiem.AM),n.get("hour")<12&&n.assign("hour",n.get("hour")))}return n}};zc.default=Hc});var Zg=h(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});var Ta=Ke(),UO=he(),FO=R(),qO=at(),WO=new RegExp(`(${Ta.TIME_UNITS_PATTERN})\\s{0,5}\u043D\u0430\u0437\u0430\u0434(?=(?:\\W|$))`,Ta.REGEX_PARTS.flags),Kc=class extends FO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Ta.REGEX_PARTS.leftBoundary}innerPattern(){return WO}innerExtract(e,t){let n=Ta.parseTimeUnits(t[1]),i=qO.reverseTimeUnits(n);return UO.ParsingComponents.createRelativeFromReference(e.reference,i)}};Vc.default=Kc});var Xg=h(Wi=>{"use strict";var LO=Wi&&Wi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Wi,"__esModule",{value:!0});var YO=LO(Ct()),Zc=class extends YO.default{patternBetween(){return/^\s*(и до|и по|до|по|-)\s*$/i}};Wi.default=Zc});var Qg=h(Li=>{"use strict";var $O=Li&&Li.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Li,"__esModule",{value:!0});var jO=$O(Ht()),Xc=class extends jO.default{patternBetween(){return new RegExp("^\\s*(T|\u0432|,|-)?\\s*$")}};Li.default=Xc});var Jg=h(er=>{"use strict";var BO=er&&er.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),GO=er&&er.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),HO=er&&er.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&BO(e,r,t);return GO(e,r),e};Object.defineProperty(er,"__esModule",{value:!0});var zO=R(),Yi=HO(Vt()),Qc=Ke(),KO=new RegExp(`(?:\u0441|\u0441\u043E)?\\s*(\u0441\u0435\u0433\u043E\u0434\u043D\u044F|\u0432\u0447\u0435\u0440\u0430|\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430)${Qc.REGEX_PARTS.rightBoundary}`,Qc.REGEX_PARTS.flags),Jc=class extends zO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Qc.REGEX_PARTS.leftBoundary}innerPattern(e){return KO}innerExtract(e,t){let n=t[1].toLowerCase(),i=e.createParsingComponents();switch(n){case"\u0441\u0435\u0433\u043E\u0434\u043D\u044F":return Yi.today(e.reference);case"\u0432\u0447\u0435\u0440\u0430":return Yi.yesterday(e.reference);case"\u0437\u0430\u0432\u0442\u0440\u0430":return Yi.tomorrow(e.reference);case"\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430":return Yi.theDayAfter(e.reference,2);case"\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430":return Yi.theDayBefore(e.reference,2)}return i}};er.default=Jc});var e_=h(Rt=>{"use strict";var VO=Rt&&Rt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),ZO=Rt&&Rt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),XO=Rt&&Rt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&VO(e,r,t);return ZO(e,r),e},QO=Rt&&Rt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Rt,"__esModule",{value:!0});var JO=R(),Gr=XO(Vt()),eP=st(),tP=QO(K()),ed=Ke(),rP=new RegExp(`(\u0441\u0435\u0439\u0447\u0430\u0441|\u043F\u0440\u043E\u0448\u043B\u044B\u043C\\s*\u0432\u0435\u0447\u0435\u0440\u043E\u043C|\u043F\u0440\u043E\u0448\u043B\u043E\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u0441\u0435\u0433\u043E\u0434\u043D\u044F\\s*\u043D\u043E\u0447\u044C\u044E|\u044D\u0442\u043E\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u043D\u043E\u0447\u044C\u044E|\u044D\u0442\u0438\u043C \u0443\u0442\u0440\u043E\u043C|\u0443\u0442\u0440\u043E\u043C|\u0443\u0442\u0440\u0430|\u0432\\s*\u043F\u043E\u043B\u0434\u0435\u043D\u044C|\u0432\u0435\u0447\u0435\u0440\u043E\u043C|\u0432\u0435\u0447\u0435\u0440\u0430|\u0432\\s*\u043F\u043E\u043B\u043D\u043E\u0447\u044C)${ed.REGEX_PARTS.rightBoundary}`,ed.REGEX_PARTS.flags),td=class extends JO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return ed.REGEX_PARTS.leftBoundary}innerPattern(){return rP}innerExtract(e,t){let n=tP.default(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();if(i==="\u0441\u0435\u0439\u0447\u0430\u0441")return Gr.now(e.reference);if(i==="\u0432\u0435\u0447\u0435\u0440\u043E\u043C"||i==="\u0432\u0435\u0447\u0435\u0440\u0430")return Gr.evening(e.reference);if(i.endsWith("\u0443\u0442\u0440\u043E\u043C")||i.endsWith("\u0443\u0442\u0440\u0430"))return Gr.morning(e.reference);if(i.match(/в\s*полдень/))return Gr.noon(e.reference);if(i.match(/прошлой\s*ночью/))return Gr.lastNight(e.reference);if(i.match(/прошлым\s*вечером/))return Gr.yesterdayEvening(e.reference);if(i.match(/следующей\s*ночью/)){let a=n.hour()<22?1:2;n=n.add(a,"day"),eP.assignSimilarDate(s,n),s.imply("hour",0)}return i.match(/в\s*полночь/)||i.endsWith("\u043D\u043E\u0447\u044C\u044E")?Gr.midnight(e.reference):s}};Rt.default=td});var t_=h(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var $i=Ke(),nP=J(),iP=R(),sP=Wr(),aP=new RegExp(`(?:(?:,|\\(|\uFF08)\\s*)?(?:\u0432\\s*?)?(?:(\u044D\u0442\u0443|\u044D\u0442\u043E\u0442|\u043F\u0440\u043E\u0448\u043B\u044B\u0439|\u043F\u0440\u043E\u0448\u043B\u0443\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E)\\s*)?(${nP.matchAnyPattern($i.WEEKDAY_DICTIONARY)})(?:\\s*(?:,|\\)|\uFF09))?(?:\\s*\u043D\u0430\\s*(\u044D\u0442\u043E\u0439|\u043F\u0440\u043E\u0448\u043B\u043E\u0439|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439)\\s*\u043D\u0435\u0434\u0435\u043B\u0435)?${$i.REGEX_PARTS.rightBoundary}`,$i.REGEX_PARTS.flags),oP=1,uP=2,lP=3,rd=class extends iP.AbstractParserWithWordBoundaryChecking{innerPattern(){return aP}patternLeftBoundary(){return $i.REGEX_PARTS.leftBoundary}innerExtract(e,t){let n=t[uP].toLowerCase(),i=$i.WEEKDAY_DICTIONARY[n],s=t[oP],a=t[lP],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o=="\u043F\u0440\u043E\u0448\u043B\u044B\u0439"||o=="\u043F\u0440\u043E\u0448\u043B\u0443\u044E"||o=="\u043F\u0440\u043E\u0448\u043B\u043E\u0439"?u="last":o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E"?u="next":(o=="\u044D\u0442\u043E\u0442"||o=="\u044D\u0442\u0443"||o=="\u044D\u0442\u043E\u0439")&&(u="this");let l=sP.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};nd.default=rd});var n_=h(Bi=>{"use strict";var cP=Bi&&Bi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Bi,"__esModule",{value:!0});var ji=Ke(),r_=he(),dP=cP(K()),fP=R(),pP=J(),hP=new RegExp(`(\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C|\u043D\u0430 \u043F\u0440\u043E\u0448\u043B\u043E\u0439|\u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439|\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C|\u043D\u0430 \u044D\u0442\u043E\u0439|\u0432 \u044D\u0442\u043E\u043C)\\s*(${pP.matchAnyPattern(ji.TIME_UNIT_DICTIONARY)})(?=\\s*)${ji.REGEX_PARTS.rightBoundary}`,ji.REGEX_PARTS.flags),mP=1,yP=2,id=class extends fP.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return ji.REGEX_PARTS.leftBoundary}innerPattern(){return hP}innerExtract(e,t){let n=t[mP].toLowerCase(),i=t[yP].toLowerCase(),s=ji.TIME_UNIT_DICTIONARY[i];if(n=="\u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439"||n=="\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C"){let u={};return u[s]=1,r_.ParsingComponents.createRelativeFromReference(e.reference,u)}if(n=="\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C"||n=="\u043D\u0430 \u043F\u0440\u043E\u0448\u043B\u043E\u0439"){let u={};return u[s]=-1,r_.ParsingComponents.createRelativeFromReference(e.reference,u)}let a=e.createParsingComponents(),o=dP.default(e.reference.instant);return s.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):s.match(/month/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):s.match(/year/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}};Bi.default=id});var i_=h(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var Gi=Ke(),gP=he(),_P=R(),TP=at(),bP=new RegExp(`(\u044D\u0442\u0438|\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435|\u043F\u0440\u043E\u0448\u043B\u044B\u0435|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435|\u043F\u043E\u0441\u043B\u0435|\u0447\u0435\u0440\u0435\u0437|\\+|-)\\s*(${Gi.TIME_UNITS_PATTERN})${Gi.REGEX_PARTS.rightBoundary}`,Gi.REGEX_PARTS.flags),sd=class extends _P.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Gi.REGEX_PARTS.leftBoundary}innerPattern(){return bP}innerExtract(e,t){let n=t[1].toLowerCase(),i=Gi.parseTimeUnits(t[2]);switch(n){case"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435":case"\u043F\u0440\u043E\u0448\u043B\u044B\u0435":case"-":i=TP.reverseTimeUnits(i);break}return gP.ParsingComponents.createRelativeFromReference(e.reference,i)}};ad.default=sd});var o_=h(Ne=>{"use strict";var tt=Ne&&Ne.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.createConfiguration=Ne.createCasualConfiguration=Ne.parseDate=Ne.parse=Ne.strict=Ne.casual=void 0;var vP=tt(Wg()),EP=tt(Bg()),RP=tt(zg()),wP=tt(Vg()),MP=tt(Zg()),DP=tt(Xg()),OP=tt(Qg()),PP=zt(),AP=tt(Jg()),kP=tt(e_()),NP=tt(t_()),CP=tt(n_()),s_=_t(),xP=tt(Lr()),SP=tt(i_());Ne.casual=new s_.Chrono(a_());Ne.strict=new s_.Chrono(od(!0));function IP(r,e,t){return Ne.casual.parse(r,e,t)}Ne.parse=IP;function UP(r,e,t){return Ne.casual.parseDate(r,e,t)}Ne.parseDate=UP;function a_(){let r=od(!1);return r.parsers.unshift(new AP.default),r.parsers.unshift(new kP.default),r.parsers.unshift(new RP.default),r.parsers.unshift(new CP.default),r.parsers.unshift(new SP.default),r}Ne.createCasualConfiguration=a_;function od(r=!0){return PP.includeCommonConfiguration({parsers:[new xP.default(!0),new vP.default,new EP.default,new NP.default,new wP.default(r),new MP.default],refiners:[new OP.default,new DP.default]},r)}Ne.createConfiguration=od});var Ee=h(L=>{"use strict";var FP=L&&L.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),qP=L&&L.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),wr=L&&L.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&FP(e,r,t);return qP(e,r),e};Object.defineProperty(L,"__esModule",{value:!0});L.parseDate=L.parse=L.casual=L.strict=L.ru=L.zh=L.nl=L.pt=L.ja=L.fr=L.de=L.Meridiem=L.Chrono=L.en=void 0;var ud=wr(Mu());L.en=ud;var WP=_t();Object.defineProperty(L,"Chrono",{enumerable:!0,get:function(){return WP.Chrono}});var LP;(function(r){r[r.AM=0]="AM",r[r.PM=1]="PM"})(LP=L.Meridiem||(L.Meridiem={}));var YP=wr(ym());L.de=YP;var $P=wr(Gm());L.fr=$P;var jP=wr(ey());L.ja=jP;var BP=wr(yy());L.pt=BP;var GP=wr(eg());L.nl=GP;var HP=wr(Sg());L.zh=HP;var zP=wr(o_());L.ru=zP;L.strict=ud.strict;L.casual=ud.casual;function KP(r,e,t){return L.casual.parse(r,e,t)}L.parse=KP;function VP(r,e,t){return L.casual.parseDate(r,e,t)}L.parseDate=VP});var Ut=h(Or=>{"use strict";Or.__esModule=!0;var nA;(function(r){r.AND="AND",r.OR="OR",r.XOR="XOR",r.NOT="NOT"})(nA=Or.Operators||(Or.Operators={}));var iA;(function(r){r.OPEN_PARENTHESIS="(",r.CLOSE_PARENTHESIS=")"})(iA=Or.StructuralCharacters||(Or.StructuralCharacters={}));var sA;(function(r){r.IDENTIFIER="IDENTIFIER",r.OPERATOR="OPERATOR",r.STRUCTURAL_CHARACTER="STRUCTURAL_CHARACTER",r.EOF="EOF",r.COMMENT="COMMENT"})(sA=Or.Tokens||(Or.Tokens={}))});var bd=h(xa=>{"use strict";xa.__esModule=!0;var me=Ut();xa.OPERATOR_PRECEDENCE={NOT:0,XOR:1,AND:2,OR:3};xa.VALID_TOKENS={identifierOnly:[{name:me.Tokens.IDENTIFIER},{name:me.Tokens.STRUCTURAL_CHARACTER,value:me.StructuralCharacters.OPEN_PARENTHESIS}],identifierOrNot:[{name:me.Tokens.IDENTIFIER},{name:me.Tokens.STRUCTURAL_CHARACTER,value:me.StructuralCharacters.OPEN_PARENTHESIS},{name:me.Tokens.OPERATOR,value:me.Operators.NOT}],binaryOperator:[{name:me.Tokens.OPERATOR,value:me.Operators.AND},{name:me.Tokens.OPERATOR,value:me.Operators.OR},{name:me.Tokens.OPERATOR,value:me.Operators.XOR}],binaryOperatorOrClose:[{name:me.Tokens.OPERATOR,value:me.Operators.AND},{name:me.Tokens.OPERATOR,value:me.Operators.OR},{name:me.Tokens.OPERATOR,value:me.Operators.XOR},{name:me.Tokens.STRUCTURAL_CHARACTER,value:me.StructuralCharacters.CLOSE_PARENTHESIS}]}});var vd=h(nr=>{"use strict";nr.__esModule=!0;var Mn=Ut();nr.STRUCTURAL_CHARACTERS={"(":Mn.StructuralCharacters.OPEN_PARENTHESIS,")":Mn.StructuralCharacters.CLOSE_PARENTHESIS};nr.OPERATORS={AND:Mn.Operators.AND,OR:Mn.Operators.OR,XOR:Mn.Operators.XOR,NOT:Mn.Operators.NOT};nr.SEPARATORS=new Set([32,9,10,13].map(function(r){return String.fromCodePoint(r)}));nr.QUOTED_IDENTIFIER_DELIMITER=String.fromCodePoint(34);nr.COMMENT_DELIMITER=String.fromCodePoint(35);nr.EOL=String.fromCodePoint(10);nr.ESCAPE_CHARACTER=String.fromCodePoint(92)});var __=h(ir=>{"use strict";var Ed=ir&&ir.__assign||function(){return Ed=Object.assign||function(r){for(var e,t=1,n=arguments.length;t{"use strict";Rd.__esModule=!0;var Dn=Ut(),rt=vd(),On=__();Rd.lex=function(r){for(var e=null,t=null,n=null,i=0;i{"use strict";var aA=sr&&sr.__spreadArrays||function(){for(var r=0,e=0,t=arguments.length;e{"use strict";var An=Qi&&Qi.__spreadArrays||function(){for(var r=0,e=0,t=arguments.length;e{"use strict";ar.__esModule=!0;var R_=Ut();ar.andUtil=function(r,e){return r&&e};ar.orUtil=function(r,e){return r||e};ar.xorUtil=function(r,e){return r!==e};ar.notUtil=function(r){return!r};ar.isIdentifier=function(r){var e=r.name,t=r.value;return e===R_.Tokens.IDENTIFIER&&typeof t=="string"};ar.isOperator=function(r){var e=r.name,t=r.value;return e===R_.Tokens.OPERATOR&&typeof t=="string"};ar.throwInvalidExpression=function(r){throw new TypeError("Invalid postfix expression: "+r)}});var w_=h(Ad=>{"use strict";var Ji;Ad.__esModule=!0;var Od=Ut(),Pd=Dd();Ad.OPERATOR_MAP=(Ji={},Ji[Od.Operators.AND]=Pd.andUtil,Ji[Od.Operators.OR]=Pd.orUtil,Ji[Od.Operators.XOR]=Pd.xorUtil,Ji)});var D_=h(Vr=>{"use strict";var kd=Vr&&Vr.__spreadArrays||function(){for(var r=0,e=0,t=arguments.length;e{"use strict";es.__esModule=!0;var O_=D_();es.getEvaluator=O_.getEvaluator;es.evaluate=O_.evaluate;var cA=Md();es.parse=cA.parse});var gA={};L_(gA,{default:()=>Xa});module.exports=Y_(gA);var C_=require("obsidian");var Rs=require("obsidian");var TA=new Error("timeout while waiting for mutex to become available"),bA=new Error("mutex already locked"),$_=new Error("request for lock canceled"),df=function(r,e,t,n){function i(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(c){try{l(n.next(c))}catch(d){a(d)}}function u(c){try{l(n.throw(c))}catch(d){a(d)}}function l(c){c.done?s(c.value):i(c.value).then(o,u)}l((n=n.apply(r,e||[])).next())})},ro=class{constructor(e,t=$_){if(this._maxConcurrency=e,this._cancelError=t,this._queue=[],this._waiters=[],e<=0)throw new Error("semaphore must be initialized to a positive value");this._value=e}acquire(){let e=this.isLocked(),t=new Promise((n,i)=>this._queue.push({resolve:n,reject:i}));return e||this._dispatch(),t}runExclusive(e){return df(this,void 0,void 0,function*(){let[t,n]=yield this.acquire();try{return yield e(t)}finally{n()}})}waitForUnlock(){return df(this,void 0,void 0,function*(){return this.isLocked()?new Promise(t=>this._waiters.push({resolve:t})):Promise.resolve()})}isLocked(){return this._value<=0}release(){if(this._maxConcurrency>1)throw new Error("this method is unavailable on semaphores with concurrency > 1; use the scoped release returned by acquire instead");if(this._currentReleaser){let e=this._currentReleaser;this._currentReleaser=void 0,e()}}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatch(){let e=this._queue.shift();if(!e)return;let t=!1;this._currentReleaser=()=>{t||(t=!0,this._value++,this._resolveWaiters(),this._dispatch())},e.resolve([this._value--,this._currentReleaser])}_resolveWaiters(){this._waiters.forEach(e=>e.resolve()),this._waiters=[]}},j_=function(r,e,t,n){function i(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(c){try{l(n.next(c))}catch(d){a(d)}}function u(c){try{l(n.throw(c))}catch(d){a(d)}}function l(c){c.done?s(c.value):i(c.value).then(o,u)}l((n=n.apply(r,e||[])).next())})},hs=class{constructor(e){this._semaphore=new ro(1,e)}acquire(){return j_(this,void 0,void 0,function*(){let[,e]=yield this._semaphore.acquire();return e})}runExclusive(e){return this._semaphore.runExclusive(()=>e())}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.release()}cancel(){return this._semaphore.cancel()}};var Tp=require("obsidian");var pf=require("obsidian");var ff=[{index:9999,internalName:"INTERNAL_TESTING_ENABLED_BY_DEFAULT",displayName:"Test Item. Used to validate the Feature Framework.",description:"Description",enabledByDefault:!0,stable:!1}];var wt=class{constructor(e,t,n,i,s,a){this.internalName=e;this.index=t;this.description=n;this.displayName=i;this.enabledByDefault=s;this.stable=a}static get values(){let e=[];return ff.forEach(t=>{e=[...e,new wt(t.internalName,t.index,t.description,t.displayName,t.enabledByDefault,t.stable)]}),e}static get settingsFlags(){let e={};return wt.values.forEach(t=>{e[t.internalName]=t.enabledByDefault}),e}static fromString(e){for(let t of wt.values)if(e===t.internalName)return t;throw new RangeError(`Illegal argument passed to fromString(): ${e} does not correspond to any available Feature ${this.prototype.constructor.name}`)}};var G_={globalFilter:"",removeGlobalFilter:!1,setDoneDate:!0,autoSuggestInEditor:!0,autoSuggestMinMatch:0,autoSuggestMaxItems:6,features:wt.settingsFlags},In=$e({},G_),ie=()=>{for(let r in wt.settingsFlags)In.features[r]===void 0&&(In.features[r]=wt.settingsFlags[r]);return $e({},In)},Lt=r=>(In=$e($e({},In),r),ie());var no,io,hf=({metadataCache:r,vault:e})=>{no=r,io=e},ms=t=>ne(void 0,[t],function*({originalTask:r,newTasks:e}){if(io===void 0||no===void 0){console.error("Tasks: cannot use File before initializing it.");return}Array.isArray(e)||(e=[e]),mf({originalTask:r,newTasks:e,vault:io,metadataCache:no,previousTries:0})}),mf=s=>ne(void 0,[s],function*({originalTask:r,newTasks:e,vault:t,metadataCache:n,previousTries:i}){let a=()=>{if(i>10){console.error("Tasks: Too many retries. File update not possible ...");return}let _=Math.min(Math.pow(10,i),100);setTimeout(()=>{mf({originalTask:r,newTasks:e,vault:t,metadataCache:n,previousTries:i+1})},_)},o=t.getAbstractFileByPath(r.path);if(!(o instanceof pf.TFile))return console.warn(`Tasks: No file found for task ${r.description}. Retrying ...`),a();if(o.extension!=="md"){console.error("Tasks: Only supporting files with the .md file extension.");return}let u=n.getFileCache(o);if(u==null||u===null)return console.warn(`Tasks: No file cache found for file ${o.path}. Retrying ...`),a();let l=u.listItems;if(l===void 0||l.length===0)return console.warn(`Tasks: No list items found in file cache of ${o.path}. Retrying ...`),a();let d=(yield t.read(o)).split(` -`),{globalFilter:f}=ie(),p,y=0;for(let _ of l){if(_.position.start.line_.toFileLineString()),...d.slice(p.position.start.line+1)];yield t.modify(o,m.join(` -`))});var Qr=class{constructor(){this.hideTaskCount=!1;this.hideBacklinks=!1;this.hidePriority=!1;this.hideStartDate=!1;this.hideScheduledDate=!1;this.hideDoneDate=!1;this.hideDueDate=!1;this.hideRecurrenceRule=!1;this.hideEditButton=!1;this.hideUrgency=!0;this.shortMode=!1}};var ys=["MO","TU","WE","TH","FR","SA","SU"],ge=function(){function r(e,t){if(t===0)throw new Error("Can't create weekday with n == 0");this.weekday=e,this.n=t}return r.fromStr=function(e){return new r(ys.indexOf(e))},r.prototype.nth=function(e){return this.n===e?this:new r(this.weekday,e)},r.prototype.equals=function(e){return this.weekday===e.weekday&&this.n===e.n},r.prototype.toString=function(){var e=ys[this.weekday];return this.n&&(e=(this.n>0?"+":"")+String(this.n)+e),e},r.prototype.getJsWeekday=function(){return this.weekday===6?0:this.weekday+1},r}();var ae=function(r){return r!=null},Ze=function(r){return typeof r=="number"},so=function(r){return typeof r=="string"&&ys.includes(r)},xe=Array.isArray,nt=function(r,e){e===void 0&&(e=r),arguments.length===1&&(e=r,r=0);for(var t=[],n=r;n>0,n.length>e?String(n):(e=e-n.length,e>t.length&&(t+=j(t,e/t.length)),t.slice(0,e)+String(n))}var gf=function(r,e,t){var n=r.split(e);return t?n.slice(0,t).concat([n.slice(t).join(e)]):n},qe=function(r,e){var t=r%e;return t*e<0?t+e:t},gs=function(r,e){return{div:Math.floor(r/e),mod:qe(r,e)}},Xe=function(r){return!ae(r)||r.length===0},ye=function(r){return!Xe(r)},G=function(r,e){return ye(r)&&r.indexOf(e)!==-1};var pr;(function(r){r.MONTH_DAYS=[31,28,31,30,31,30,31,31,30,31,30,31],r.ONE_DAY=1e3*60*60*24,r.MAXYEAR=9999,r.ORDINAL_BASE=new Date(Date.UTC(1970,0,1)),r.PY_WEEKDAYS=[6,0,1,2,3,4,5],r.getYearDay=function(e){var t=new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate());return Math.ceil((t.valueOf()-new Date(e.getUTCFullYear(),0,1).valueOf())/r.ONE_DAY)+1},r.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},r.isDate=function(e){return e instanceof Date},r.isValidDate=function(e){return r.isDate(e)&&!isNaN(e.getTime())},r.tzOffset=function(e){return e.getTimezoneOffset()*60*1e3},r.daysBetween=function(e,t){var n=e.getTime()-r.tzOffset(e),i=t.getTime()-r.tzOffset(t),s=n-i;return Math.round(s/r.ONE_DAY)},r.toOrdinal=function(e){return r.daysBetween(e,r.ORDINAL_BASE)},r.fromOrdinal=function(e){return new Date(r.ORDINAL_BASE.getTime()+e*r.ONE_DAY)},r.getMonthDays=function(e){var t=e.getUTCMonth();return t===1&&r.isLeapYear(e.getUTCFullYear())?29:r.MONTH_DAYS[t]},r.getWeekday=function(e){return r.PY_WEEKDAYS[e.getUTCDay()]},r.monthRange=function(e,t){var n=new Date(Date.UTC(e,t,1));return[r.getWeekday(n),r.getMonthDays(n)]},r.combine=function(e,t){return t=t||e,new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))},r.clone=function(e){var t=new Date(e.getTime());return t},r.cloneDates=function(e){for(var t=[],n=0;nthis.maxDate;if(this.method==="between"){if(t)return!0;if(n)return!1}else if(this.method==="before"){if(n)return!1}else if(this.method==="after")return t?!0:(this.add(e),!1);return this.add(e)},r.prototype.add=function(e){return this._result.push(e),!0},r.prototype.getValue=function(){var e=this._result;switch(this.method){case"all":case"between":return e;case"before":case"after":default:return e.length?e[e.length-1]:null}},r.prototype.clone=function(){return new r(this.method,this.args)},r}(),Yt=H_;var Lf=ps(Wf(),1),{__extends:en,__assign:je,__rest:WA,__decorate:LA,__param:YA,__metadata:$A,__awaiter:jA,__generator:BA,__exportStar:GA,__createBinding:HA,__values:zA,__read:KA,__spread:VA,__spreadArrays:ZA,__spreadArray:b,__await:XA,__asyncGenerator:QA,__asyncDelegator:JA,__asyncValues:ek,__makeTemplateObject:tk,__importStar:rk,__importDefault:nk,__classPrivateFieldGet:ik,__classPrivateFieldSet:sk,__classPrivateFieldIn:ak}=Lf.default;var z_=function(r){en(e,r);function e(t,n,i){var s=r.call(this,t,n)||this;return s.iterator=i,s}return e.prototype.add=function(t){return this.iterator(t,this._result.length)?(this._result.push(t),!0):!1},e}(Yt),oo=z_;var K_={dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],tokens:{SKIP:/^[ \r\n\t]+|^\.$/,number:/^[1-9][0-9]*/,numberAsText:/^(one|two|three)/i,every:/^every/i,"day(s)":/^days?/i,"weekday(s)":/^weekdays?/i,"week(s)":/^weeks?/i,"hour(s)":/^hours?/i,"minute(s)":/^minutes?/i,"month(s)":/^months?/i,"year(s)":/^years?/i,on:/^(on|in)/i,at:/^(at)/i,the:/^the/i,first:/^first/i,second:/^second/i,third:/^third/i,nth:/^([1-9][0-9]*)(\.|th|nd|rd|st)/i,last:/^last/i,for:/^for/i,"time(s)":/^times?/i,until:/^(un)?til/i,monday:/^mo(n(day)?)?/i,tuesday:/^tu(e(s(day)?)?)?/i,wednesday:/^we(d(n(esday)?)?)?/i,thursday:/^th(u(r(sday)?)?)?/i,friday:/^fr(i(day)?)?/i,saturday:/^sa(t(urday)?)?/i,sunday:/^su(n(day)?)?/i,january:/^jan(uary)?/i,february:/^feb(ruary)?/i,march:/^mar(ch)?/i,april:/^apr(il)?/i,may:/^may/i,june:/^june?/i,july:/^july?/i,august:/^aug(ust)?/i,september:/^sep(t(ember)?)?/i,october:/^oct(ober)?/i,november:/^nov(ember)?/i,december:/^dec(ember)?/i,comma:/^(,\s*|(and|or)\s*)+/i}},Nr=K_;var Yf=function(r,e){return r.indexOf(e)!==-1},V_=function(r){return r.toString()},Z_=function(r,e,t){return"".concat(e," ").concat(t,", ").concat(r)},X_=function(){function r(e,t,n,i){if(t===void 0&&(t=V_),n===void 0&&(n=Nr),i===void 0&&(i=Z_),this.text=[],this.language=n||Nr,this.gettext=t,this.dateFormatter=i,this.rrule=e,this.options=e.options,this.origOptions=e.origOptions,this.origOptions.bymonthday){var s=[].concat(this.options.bymonthday),a=[].concat(this.options.bynmonthday);s.sort(function(c,d){return c-d}),a.sort(function(c,d){return d-c}),this.bymonthday=s.concat(a),this.bymonthday.length||(this.bymonthday=null)}if(ae(this.origOptions.byweekday)){var o=xe(this.origOptions.byweekday)?this.origOptions.byweekday:[this.origOptions.byweekday],u=String(o);this.byweekday={allWeeks:o.filter(function(c){return!c.n}),someWeeks:o.filter(function(c){return Boolean(c.n)}),isWeekdays:u.indexOf("MO")!==-1&&u.indexOf("TU")!==-1&&u.indexOf("WE")!==-1&&u.indexOf("TH")!==-1&&u.indexOf("FR")!==-1&&u.indexOf("SA")===-1&&u.indexOf("SU")===-1,isEveryDay:u.indexOf("MO")!==-1&&u.indexOf("TU")!==-1&&u.indexOf("WE")!==-1&&u.indexOf("TH")!==-1&&u.indexOf("FR")!==-1&&u.indexOf("SA")!==-1&&u.indexOf("SU")!==-1};var l=function(c,d){return c.weekday-d.weekday};this.byweekday.allWeeks.sort(l),this.byweekday.someWeeks.sort(l),this.byweekday.allWeeks.length||(this.byweekday.allWeeks=null),this.byweekday.someWeeks.length||(this.byweekday.someWeeks=null)}else this.byweekday=null}return r.isFullyConvertible=function(e){var t=!0;if(!(e.options.freq in r.IMPLEMENTED)||e.origOptions.until&&e.origOptions.count)return!1;for(var n in e.origOptions){if(Yf(["dtstart","wkst","freq"],n))return!0;if(!Yf(r.IMPLEMENTED[e.options.freq],n))return!1}return t},r.prototype.isFullyConvertible=function(){return r.isFullyConvertible(this.rrule)},r.prototype.toString=function(){var e=this.gettext;if(!(this.options.freq in r.IMPLEMENTED))return e("RRule error: Unable to fully convert this rrule to text");if(this.text=[e("every")],this[D.FREQUENCIES[this.options.freq]](),this.options.until){this.add(e("until"));var t=this.options.until;this.add(this.dateFormatter(t.getUTCFullYear(),this.language.monthNames[t.getUTCMonth()],t.getUTCDate()))}else this.options.count&&this.add(e("for")).add(this.options.count.toString()).add(this.plural(this.options.count)?e("times"):e("time"));return this.isFullyConvertible()||this.add(e("(~ approximate)")),this.text.join("")},r.prototype.HOURLY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("hours"):e("hour"))},r.prototype.MINUTELY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("minutes"):e("minute"))},r.prototype.DAILY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.byweekday&&this.byweekday.isWeekdays?this.add(this.plural(this.options.interval)?e("weekdays"):e("weekday")):this.add(this.plural(this.options.interval)?e("days"):e("day")),this.origOptions.bymonth&&(this.add(e("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday?this._byweekday():this.origOptions.byhour&&this._byhour()},r.prototype.WEEKLY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()).add(this.plural(this.options.interval)?e("weeks"):e("week")),this.byweekday&&this.byweekday.isWeekdays?this.options.interval===1?this.add(this.plural(this.options.interval)?e("weekdays"):e("weekday")):this.add(e("on")).add(e("weekdays")):this.byweekday&&this.byweekday.isEveryDay?this.add(this.plural(this.options.interval)?e("days"):e("day")):(this.options.interval===1&&this.add(e("week")),this.origOptions.bymonth&&(this.add(e("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday())},r.prototype.MONTHLY=function(){var e=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()).add(e("months")),this.plural(this.options.interval)&&this.add(e("in"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("months"):e("month"))),this.bymonthday?this._bymonthday():this.byweekday&&this.byweekday.isWeekdays?this.add(e("on")).add(e("weekdays")):this.byweekday&&this._byweekday()},r.prototype.YEARLY=function(){var e=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()),this.add(e("years"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("years"):e("year"))),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday(),this.options.byyearday&&this.add(e("on the")).add(this.list(this.options.byyearday,this.nth,e("and"))).add(e("day")),this.options.byweekno&&this.add(e("in")).add(this.plural(this.options.byweekno.length)?e("weeks"):e("week")).add(this.list(this.options.byweekno,void 0,e("and")))},r.prototype._bymonthday=function(){var e=this.gettext;this.byweekday&&this.byweekday.allWeeks?this.add(e("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext,e("or"))).add(e("the")).add(this.list(this.bymonthday,this.nth,e("or"))):this.add(e("on the")).add(this.list(this.bymonthday,this.nth,e("and")))},r.prototype._byweekday=function(){var e=this.gettext;this.byweekday.allWeeks&&!this.byweekday.isWeekdays&&this.add(e("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext)),this.byweekday.someWeeks&&(this.byweekday.allWeeks&&this.add(e("and")),this.add(e("on the")).add(this.list(this.byweekday.someWeeks,this.weekdaytext,e("and"))))},r.prototype._byhour=function(){var e=this.gettext;this.add(e("at")).add(this.list(this.origOptions.byhour,void 0,e("and")))},r.prototype._bymonth=function(){this.add(this.list(this.options.bymonth,this.monthtext,this.gettext("and")))},r.prototype.nth=function(e){e=parseInt(e.toString(),10);var t,n=this.gettext;if(e===-1)return n("last");var i=Math.abs(e);switch(i){case 1:case 21:case 31:t=i+n("st");break;case 2:case 22:t=i+n("nd");break;case 3:case 23:t=i+n("rd");break;default:t=i+n("th")}return e<0?t+" "+n("last"):t},r.prototype.monthtext=function(e){return this.language.monthNames[e-1]},r.prototype.weekdaytext=function(e){var t=Ze(e)?(e+1)%7:e.getJsWeekday();return(e.n?this.nth(e.n)+" ":"")+this.language.dayNames[t]},r.prototype.plural=function(e){return e%100!==1},r.prototype.add=function(e){return this.text.push(" "),this.text.push(e),this},r.prototype.list=function(e,t,n,i){var s=this;i===void 0&&(i=","),xe(e)||(e=[e]);var a=function(u,l,c){for(var d="",f=0;fe[0].length)&&(e=s,t=i)}if(e!=null&&(this.text=this.text.substr(e[0].length),this.text===""&&(this.done=!0)),e==null){this.done=!0,this.symbol=null,this.value=null;return}}while(t==="SKIP");return this.symbol=t,this.value=e,!0},r.prototype.accept=function(e){if(this.symbol===e){if(this.value){var t=this.value;return this.nextSymbol(),t}return this.nextSymbol(),!0}return!1},r.prototype.acceptNumber=function(){return this.accept("number")},r.prototype.expect=function(e){if(this.accept(e))return!0;throw new Error("expected "+e+" but found "+this.symbol)},r}();function Un(r,e){e===void 0&&(e=Nr);var t={},n=new Q_(e.tokens);if(!n.start(r))return null;return i(),t;function i(){n.expect("every");var f=n.acceptNumber();if(f&&(t.interval=parseInt(f[0],10)),n.isDone())throw new Error("Unexpected end");switch(n.symbol){case"day(s)":t.freq=D.DAILY,n.nextSymbol()&&(a(),d());break;case"weekday(s)":t.freq=D.WEEKLY,t.byweekday=[D.MO,D.TU,D.WE,D.TH,D.FR],n.nextSymbol(),d();break;case"week(s)":t.freq=D.WEEKLY,n.nextSymbol()&&(s(),d());break;case"hour(s)":t.freq=D.HOURLY,n.nextSymbol()&&(s(),d());break;case"minute(s)":t.freq=D.MINUTELY,n.nextSymbol()&&(s(),d());break;case"month(s)":t.freq=D.MONTHLY,n.nextSymbol()&&(s(),d());break;case"year(s)":t.freq=D.YEARLY,n.nextSymbol()&&(s(),d());break;case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":t.freq=D.WEEKLY;var p=n.symbol.substr(0,2).toUpperCase();if(t.byweekday=[D[p]],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var y=u();if(!y)throw new Error("Unexpected symbol "+n.symbol+", expected weekday");t.byweekday.push(D[y]),n.nextSymbol()}c(),d();break;case"january":case"february":case"march":case"april":case"may":case"june":case"july":case"august":case"september":case"october":case"november":case"december":if(t.freq=D.YEARLY,t.bymonth=[o()],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var m=o();if(!m)throw new Error("Unexpected symbol "+n.symbol+", expected month");t.bymonth.push(m),n.nextSymbol()}s(),d();break;default:throw new Error("Unknown symbol")}}function s(){var f=n.accept("on"),p=n.accept("the");if(!!(f||p))do{var y=l(),m=u(),_=o();if(y)m?(n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(D[m].nth(y))):(t.bymonthday||(t.bymonthday=[]),t.bymonthday.push(y),n.accept("day(s)"));else if(m)n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(D[m]);else if(n.symbol==="weekday(s)")n.nextSymbol(),t.byweekday||(t.byweekday=[D.MO,D.TU,D.WE,D.TH,D.FR]);else if(n.symbol==="week(s)"){n.nextSymbol();var A=n.acceptNumber();if(!A)throw new Error("Unexpected symbol "+n.symbol+", expected week number");for(t.byweekno=[parseInt(A[0],10)];n.accept("comma");){if(A=n.acceptNumber(),!A)throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.byweekno.push(parseInt(A[0],10))}}else if(_)n.nextSymbol(),t.bymonth||(t.bymonth=[]),t.bymonth.push(_);else return}while(n.accept("comma")||n.accept("the")||n.accept("on"))}function a(){var f=n.accept("at");if(!!f)do{var p=n.acceptNumber();if(!p)throw new Error("Unexpected symbol "+n.symbol+", expected hour");for(t.byhour=[parseInt(p[0],10)];n.accept("comma");){if(p=n.acceptNumber(),!p)throw new Error("Unexpected symbol "+n.symbol+"; expected hour");t.byhour.push(parseInt(p[0],10))}}while(n.accept("comma")||n.accept("at"))}function o(){switch(n.symbol){case"january":return 1;case"february":return 2;case"march":return 3;case"april":return 4;case"may":return 5;case"june":return 6;case"july":return 7;case"august":return 8;case"september":return 9;case"october":return 10;case"november":return 11;case"december":return 12;default:return!1}}function u(){switch(n.symbol){case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":return n.symbol.substr(0,2).toUpperCase();default:return!1}}function l(){switch(n.symbol){case"last":return n.nextSymbol(),-1;case"first":return n.nextSymbol(),1;case"second":return n.nextSymbol(),n.accept("last")?-2:2;case"third":return n.nextSymbol(),n.accept("last")?-3:3;case"nth":var f=parseInt(n.value[1],10);if(f<-366||f>366)throw new Error("Nth out of range: "+f);return n.nextSymbol(),n.accept("last")?-f:f;default:return!1}}function c(){n.accept("on"),n.accept("the");var f=l();if(!!f)for(t.bymonthday=[f],n.nextSymbol();n.accept("comma");){if(f=l(),!f)throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.bymonthday.push(f),n.nextSymbol()}}function d(){if(n.symbol==="until"){var f=Date.parse(n.text);if(!f)throw new Error("Cannot parse until date:"+n.text);t.until=new Date(f)}else n.accept("for")&&(t.count=parseInt(n.value[0],10),n.expect("number"))}}var Y;(function(r){r[r.YEARLY=0]="YEARLY",r[r.MONTHLY=1]="MONTHLY",r[r.WEEKLY=2]="WEEKLY",r[r.DAILY=3]="DAILY",r[r.HOURLY=4]="HOURLY",r[r.MINUTELY=5]="MINUTELY",r[r.SECONDLY=6]="SECONDLY"})(Y||(Y={}));function Fn(r){return r12){var n=Math.floor(this.month/12),i=qe(this.month,12);this.month=i,this.year+=n,this.month===0&&(this.month=12,--this.year)}},e.prototype.addWeekly=function(t,n){n>this.getWeekday()?this.day+=-(this.getWeekday()+1+(6-n))+t*7:this.day+=-(this.getWeekday()-n)+t*7,this.fixDay()},e.prototype.addDaily=function(t){this.day+=t,this.fixDay()},e.prototype.addHours=function(t,n,i){for(n&&(this.hour+=Math.floor((23-this.hour)/t)*t);;){this.hour+=t;var s=gs(this.hour,24),a=s.div,o=s.mod;if(a&&(this.hour=o,this.addDaily(a)),Xe(i)||G(i,this.hour))break}},e.prototype.addMinutes=function(t,n,i,s){for(n&&(this.minute+=Math.floor((1439-(this.hour*60+this.minute))/t)*t);;){this.minute+=t;var a=gs(this.minute,60),o=a.div,u=a.mod;if(o&&(this.minute=u,this.addHours(o,!1,i)),(Xe(i)||G(i,this.hour))&&(Xe(s)||G(s,this.minute)))break}},e.prototype.addSeconds=function(t,n,i,s,a){for(n&&(this.second+=Math.floor((86399-(this.hour*3600+this.minute*60+this.second))/t)*t);;){this.second+=t;var o=gs(this.second,60),u=o.div,l=o.mod;if(u&&(this.second=l,this.addMinutes(u,!1,i,s)),(Xe(i)||G(i,this.hour))&&(Xe(s)||G(s,this.minute))&&(Xe(a)||G(a,this.second)))break}},e.prototype.fixDay=function(){if(!(this.day<=28)){var t=pr.monthRange(this.year,this.month-1)[1];if(!(this.day<=t))for(;this.day>t;){if(this.day-=t,++this.month,this.month===13&&(this.month=1,++this.year,this.year>pr.MAXYEAR))return;t=pr.monthRange(this.year,this.month-1)[1]}}},e.prototype.add=function(t,n){var i=t.freq,s=t.interval,a=t.wkst,o=t.byhour,u=t.byminute,l=t.bysecond;switch(i){case Y.YEARLY:return this.addYears(s);case Y.MONTHLY:return this.addMonths(s);case Y.WEEKLY:return this.addWeekly(s,a);case Y.DAILY:return this.addDaily(s);case Y.HOURLY:return this.addHours(s,n,o);case Y.MINUTELY:return this.addMinutes(s,n,o,u);case Y.SECONDLY:return this.addSeconds(s,n,o,u,l)}},e}(rn);function uo(r){for(var e=[],t=Object.keys(r),n=0,i=t;n=-366&&n<=366))throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}}if(!(Boolean(e.byweekno)||ye(e.byweekno)||ye(e.byyearday)||Boolean(e.bymonthday)||ye(e.bymonthday)||ae(e.byweekday)||ae(e.byeaster)))switch(e.freq){case D.YEARLY:e.bymonth||(e.bymonth=e.dtstart.getUTCMonth()+1),e.bymonthday=e.dtstart.getUTCDate();break;case D.MONTHLY:e.bymonthday=e.dtstart.getUTCDate();break;case D.WEEKLY:e.byweekday=[N.getWeekday(e.dtstart)];break}if(ae(e.bymonth)&&!xe(e.bymonth)&&(e.bymonth=[e.bymonth]),ae(e.byyearday)&&!xe(e.byyearday)&&Ze(e.byyearday)&&(e.byyearday=[e.byyearday]),!ae(e.bymonthday))e.bymonthday=[],e.bynmonthday=[];else if(xe(e.bymonthday)){for(var i=[],s=[],t=0;t0?i.push(n):n<0&&s.push(n)}e.bymonthday=i,e.bynmonthday=s}else e.bymonthday<0?(e.bynmonthday=[e.bymonthday],e.bymonthday=[]):(e.bynmonthday=[],e.bymonthday=[e.bymonthday]);if(ae(e.byweekno)&&!xe(e.byweekno)&&(e.byweekno=[e.byweekno]),!ae(e.byweekday))e.bynweekday=null;else if(Ze(e.byweekday))e.byweekday=[e.byweekday],e.bynweekday=null;else if(so(e.byweekday))e.byweekday=[ge.fromStr(e.byweekday).weekday],e.bynweekday=null;else if(e.byweekday instanceof ge)!e.byweekday.n||e.freq>D.MONTHLY?(e.byweekday=[e.byweekday.weekday],e.bynweekday=null):(e.bynweekday=[[e.byweekday.weekday,e.byweekday.n]],e.byweekday=null);else{for(var a=[],o=[],t=0;tD.MONTHLY?a.push(u.weekday):o.push([u.weekday,u.n])}e.byweekday=ye(a)?a:null,e.bynweekday=ye(o)?o:null}return ae(e.byhour)?Ze(e.byhour)&&(e.byhour=[e.byhour]):e.byhour=e.freq=4?(c=0,l=o.yearlen+qe(a-e.wkst,7)):l=n-c;for(var d=Math.floor(l/7),f=qe(l,7),p=Math.floor(d+f/4),y=0;y0&&m<=p){var _=void 0;m>1?(_=c+(m-1)*7,c!==u&&(_-=7-u)):_=c;for(var A=0;A<7&&(o.wnomask[_]=1,_++,o.wdaymask[_]!==e.wkst);A++);}}if(G(e.byweekno,1)){var _=c+p*7;if(c!==u&&(_-=7-u),_=4?(z=0,fe=re+qe(C-e.wkst,7)):fe=n-c,I=Math.floor(52+qe(fe,7)/4)}if(G(e.byweekno,I))for(var _=0;_s)return $t(r);if(I>=t){var C=dp(I,e);if(!r.accept(C)||o&&(--o,!o))return $t(r)}}else for(var A=p;As)return $t(r);if(I>=t){var C=dp(I,e);if(!r.accept(C)||o&&(--o,!o))return $t(r)}}}if(e.interval===0||(u.add(e,m),u.year>N.MAXYEAR))return $t(r);Fn(n)||(c=l.gettimeset(n)(u.hour,u.minute,u.second,0)),l.rebuild(u.year,u.month)}}function cT(r,e,t){var n=t.bymonth,i=t.byweekno,s=t.byweekday,a=t.byeaster,o=t.bymonthday,u=t.bynmonthday,l=t.byyearday;return ye(n)&&!G(n,r.mmask[e])||ye(i)&&!r.wnomask[e]||ye(s)&&!G(s,r.wdaymask[e])||ye(r.nwdaymask)&&!r.nwdaymask[e]||a!==null&&!G(r.eastermask,e)||(ye(o)||ye(u))&&!G(o,r.mdaymask[e])&&!G(u,r.nmdaymask[e])||ye(l)&&(e=r.yearlen&&!G(l,e+1-r.yearlen)&&!G(l,-r.nextyearlen+e-r.yearlen))}function dp(r,e){return new Cr(r,e.tzid).rezonedDate()}function $t(r){return r.getValue()}function dT(r,e,t,n,i){for(var s=!1,a=e;a=D.HOURLY&&ye(i)&&!G(i,e.hour)||n>=D.MINUTELY&&ye(s)&&!G(s,e.minute)||n>=D.SECONDLY&&ye(a)&&!G(a,e.second)?[]:r.gettimeset(n)(e.hour,e.minute,e.second,e.millisecond)}var it={MO:new ge(0),TU:new ge(1),WE:new ge(2),TH:new ge(3),FR:new ge(4),SA:new ge(5),SU:new ge(6)},qn={freq:Y.YEARLY,dtstart:null,interval:1,wkst:it.MO,count:null,until:null,tzid:null,bysetpos:null,bymonth:null,bymonthday:null,bynmonthday:null,byyearday:null,byweekno:null,byweekday:null,bynweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null},Kf=Object.keys(qn),D=function(){function r(e,t){e===void 0&&(e={}),t===void 0&&(t=!1),this._cache=t?null:new Xf,this.origOptions=uo(e);var n=Hf(e).parsedOptions;this.options=n}return r.parseText=function(e,t){return Un(e,t)},r.fromText=function(e,t){return $f(e,t)},r.fromString=function(e){return new r(r.parseString(e)||void 0)},r.prototype._iter=function(e){return vs(e,this.options)},r.prototype._cacheGet=function(e,t){return this._cache?this._cache._cacheGet(e,t):!1},r.prototype._cacheAdd=function(e,t,n){if(!!this._cache)return this._cache._cacheAdd(e,t,n)},r.prototype.all=function(e){if(e)return this._iter(new oo("all",{},e));var t=this._cacheGet("all");return t===!1&&(t=this._iter(new Yt("all",{})),this._cacheAdd("all",t)),t},r.prototype.between=function(e,t,n,i){if(n===void 0&&(n=!1),!N.isValidDate(e)||!N.isValidDate(t))throw new Error("Invalid date passed in to RRule.between");var s={before:t,after:e,inc:n};if(i)return this._iter(new oo("between",s,i));var a=this._cacheGet("between",s);return a===!1&&(a=this._iter(new Yt("between",s)),this._cacheAdd("between",a,s)),a},r.prototype.before=function(e,t){if(t===void 0&&(t=!1),!N.isValidDate(e))throw new Error("Invalid date passed in to RRule.before");var n={dt:e,inc:t},i=this._cacheGet("before",n);return i===!1&&(i=this._iter(new Yt("before",n)),this._cacheAdd("before",i,n)),i},r.prototype.after=function(e,t){if(t===void 0&&(t=!1),!N.isValidDate(e))throw new Error("Invalid date passed in to RRule.after");var n={dt:e,inc:t},i=this._cacheGet("after",n);return i===!1&&(i=this._iter(new Yt("after",n)),this._cacheAdd("after",i,n)),i},r.prototype.count=function(){return this.all().length},r.prototype.toString=function(){return Yn(this.origOptions)},r.prototype.toText=function(e,t,n){return jf(this,e,t,n)},r.prototype.isFullyConvertibleToText=function(){return Bf(this)},r.prototype.clone=function(){return new r(this.origOptions)},r.FREQUENCIES=["YEARLY","MONTHLY","WEEKLY","DAILY","HOURLY","MINUTELY","SECONDLY"],r.YEARLY=Y.YEARLY,r.MONTHLY=Y.MONTHLY,r.WEEKLY=Y.WEEKLY,r.DAILY=Y.DAILY,r.HOURLY=Y.HOURLY,r.MINUTELY=Y.MINUTELY,r.SECONDLY=Y.SECONDLY,r.MO=it.MO,r.TU=it.TU,r.WE=it.WE,r.TH=it.TH,r.FR=it.FR,r.SA=it.SA,r.SU=it.SU,r.parseString=Ln,r.optionsToString=Yn,r}();function fp(r,e,t,n,i,s){var a={},o=r.accept;function u(f,p){t.forEach(function(y){y.between(f,p,!0).forEach(function(m){a[Number(m)]=!0})})}i.forEach(function(f){var p=new Cr(f,s).rezonedDate();a[Number(p)]=!0}),r.accept=function(f){var p=Number(f);return isNaN(p)?o.call(this,f):!a[p]&&(u(new Date(p-1),new Date(p+1)),!a[p])?(a[p]=!0,o.call(this,f)):!0},r.method==="between"&&(u(r.args.after,r.args.before),r.accept=function(f){var p=Number(f);return a[p]?!0:(a[p]=!0,o.call(this,f))});for(var l=0;l1||i.length||s.length||a.length){var c=new fo(l);return c.dtstart(o),c.tzid(u||void 0),n.forEach(function(f){c.rrule(new D(co(f,o,u),l))}),i.forEach(function(f){c.rdate(f)}),s.forEach(function(f){c.exrule(new D(co(f,o,u),l))}),a.forEach(function(f){c.exdate(f)}),e.compatible&&e.dtstart&&c.rdate(o),c}var d=n[0]||{};return new D(co(d,d.dtstart||e.dtstart||o,d.tzid||e.tzid||u),l)}function Es(r,e){return e===void 0&&(e={}),hT(r,mT(e))}function co(r,e,t){return je(je({},r),{dtstart:e,tzid:t})}function mT(r){var e=[],t=Object.keys(r),n=Object.keys(pp);if(t.forEach(function(i){G(n,i)||e.push(i)}),e.length)throw new Error("Invalid options: "+e.join(", "));return je(je({},pp),r)}function yT(r){if(r.indexOf(":")===-1)return{name:"RRULE",value:r};var e=gf(r,":",1),t=e[0],n=e[1];return{name:t,value:n}}function gT(r){var e=yT(r),t=e.name,n=e.value,i=t.split(";");if(!i)throw new Error("empty property name");return{name:i[0].toUpperCase(),parms:i.slice(1),value:n}}function _T(r,e){if(e===void 0&&(e=!1),r=r&&r.trim(),!r)throw new Error("Invalid empty string");if(!e)return r.split(/\s/);for(var t=r.split(` -`),n=0;n0&&i[0]===" "?(t[n-1]+=i.slice(1),t.splice(n,1)):n+=1:t.splice(n,1)}return t}function TT(r){r.forEach(function(e){if(!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(e))throw new Error("unsupported RDATE/EXDATE parm: "+e)})}function hp(r,e){return TT(e),r.split(",").map(function(t){return N.untilStringToDate(t)})}function mp(r){var e=this;return function(t){if(t!==void 0&&(e["_".concat(r)]=t),e["_".concat(r)]!==void 0)return e["_".concat(r)];for(var n=0;ne in r?Wn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Le=(r,e)=>{for(var t in e||(e={}))cf.call(e,t)&&lf(r,t,e[t]);if(uf)for(var t of uf(e))$_.call(e,t)&&lf(r,t,e[t]);return r},$t=(r,e)=>U_(r,W_(e));var p=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),j_=(r,e)=>{for(var t in e)Wn(r,t,{get:e[t],enumerable:!0})},df=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of L_(e))!cf.call(r,i)&&i!==t&&Wn(r,i,{get:()=>e[i],enumerable:!(n=q_(e,i))||n.enumerable});return r};var ys=(r,e,t)=>(t=r!=null?F_(Y_(r)):{},df(e||!r||!r.__esModule?Wn(t,"default",{value:r,enumerable:!0}):t,r)),B_=r=>df(Wn({},"__esModule",{value:!0}),r);var se=(r,e,t)=>new Promise((n,i)=>{var s=u=>{try{o(t.next(u))}catch(l){i(l)}},a=u=>{try{o(t.throw(u))}catch(l){i(l)}},o=u=>u.done?n(u.value):Promise.resolve(u.value).then(s,a);o((t=t.apply(r,e)).next())});var Lf=p((YA,ws)=>{var Tf,bf,vf,Ef,wf,Rf,Mf,Df,Of,vs,oo,Pf,Af,kf,rn,Nf,Cf,Sf,xf,If,Ff,Uf,qf,Wf,Es;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof ws=="object"&&typeof ws.exports=="object"?r(t(e,t(ws.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(s,a){return n[s]=i?i(s,a):a}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])};Tf=function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");e(n,i);function s(){this.constructor=n}n.prototype=i===null?Object.create(i):(s.prototype=i.prototype,new s)},bf=Object.assign||function(n){for(var i,s=1,a=arguments.length;s=0;c--)(l=n[c])&&(u=(o<3?l(u):o>3?l(i,s,u):l(i,s))||u);return o>3&&u&&Object.defineProperty(i,s,u),u},wf=function(n,i){return function(s,a){i(s,a,n)}},Rf=function(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)},Mf=function(n,i,s,a){function o(u){return u instanceof s?u:new s(function(l){l(u)})}return new(s||(s=Promise))(function(u,l){function c(h){try{f(a.next(h))}catch(g){l(g)}}function d(h){try{f(a.throw(h))}catch(g){l(g)}}function f(h){h.done?u(h.value):o(h.value).then(c,d)}f((a=a.apply(n,i||[])).next())})},Df=function(n,i){var s={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},a,o,u,l;return l={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function c(f){return function(h){return d([f,h])}}function d(f){if(a)throw new TypeError("Generator is already executing.");for(;s;)try{if(a=1,o&&(u=f[0]&2?o.return:f[0]?o.throw||((u=o.return)&&u.call(o),0):o.next)&&!(u=u.call(o,f[1])).done)return u;switch(o=0,u&&(f=[f[0]&2,u.value]),f[0]){case 0:case 1:u=f;break;case 4:return s.label++,{value:f[1],done:!1};case 5:s.label++,o=f[1],f=[0];continue;case 7:f=s.ops.pop(),s.trys.pop();continue;default:if(u=s.trys,!(u=u.length>0&&u[u.length-1])&&(f[0]===6||f[0]===2)){s=0;continue}if(f[0]===3&&(!u||f[1]>u[0]&&f[1]=n.length&&(n=void 0),{value:n&&n[a++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")},oo=function(n,i){var s=typeof Symbol=="function"&&n[Symbol.iterator];if(!s)return n;var a=s.call(n),o,u=[],l;try{for(;(i===void 0||i-- >0)&&!(o=a.next()).done;)u.push(o.value)}catch(c){l={error:c}}finally{try{o&&!o.done&&(s=a.return)&&s.call(a)}finally{if(l)throw l.error}}return u},Pf=function(){for(var n=[],i=0;i1||c(y,_)})})}function c(y,_){try{d(a[y](_))}catch(P){g(u[0][3],P)}}function d(y){y.value instanceof rn?Promise.resolve(y.value.v).then(f,h):g(u[0][2],y)}function f(y){c("next",y)}function h(y){c("throw",y)}function g(y,_){y(_),u.shift(),u.length&&c(u[0][0],u[0][1])}},Cf=function(n){var i,s;return i={},a("next"),a("throw",function(o){throw o}),a("return"),i[Symbol.iterator]=function(){return this},i;function a(o,u){i[o]=n[o]?function(l){return(s=!s)?{value:rn(n[o](l)),done:o==="return"}:u?u(l):l}:u}},Sf=function(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],s;return i?i.call(n):(n=typeof vs=="function"?vs(n):n[Symbol.iterator](),s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s);function a(u){s[u]=n[u]&&function(l){return new Promise(function(c,d){l=n[u](l),o(c,d,l.done,l.value)})}}function o(u,l,c,d){Promise.resolve(d).then(function(f){u({value:f,done:c})},l)}},xf=function(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n};var t=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};If=function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var s in n)s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)&&Es(i,n,s);return t(i,n),i},Ff=function(n){return n&&n.__esModule?n:{default:n}},Uf=function(n,i,s,a){if(s==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!a:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return s==="m"?a:s==="a"?a.call(n):a?a.value:i.get(n)},qf=function(n,i,s,a,o){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!o:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?o.call(n,s):o?o.value=s:i.set(n,s),s},Wf=function(n,i){if(i===null||typeof i!="object"&&typeof i!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof n=="function"?i===n:n.has(i)},r("__extends",Tf),r("__assign",bf),r("__rest",vf),r("__decorate",Ef),r("__param",wf),r("__metadata",Rf),r("__awaiter",Mf),r("__generator",Df),r("__exportStar",Of),r("__createBinding",Es),r("__values",vs),r("__read",oo),r("__spread",Pf),r("__spreadArrays",Af),r("__spreadArray",kf),r("__await",rn),r("__asyncGenerator",Nf),r("__asyncDelegator",Cf),r("__asyncValues",Sf),r("__makeTemplateObject",xf),r("__importStar",If),r("__importDefault",Ff),r("__classPrivateFieldGet",Uf),r("__classPrivateFieldSet",qf),r("__classPrivateFieldIn",Wf)})});var ne=p(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.matchAnyPattern=Tr.extractTerms=Tr.repeatedTimeunitPattern=void 0;function FT(r,e){let t=e.replace(/\((?!\?)/g,"(?:");return`${r}${t}\\s{0,5}(?:,?\\s{0,5}${t}){0,10}`}Tr.repeatedTimeunitPattern=FT;function xp(r){let e;return r instanceof Array?e=[...r]:r instanceof Map?e=Array.from(r.keys()):e=Object.keys(r),e}Tr.extractTerms=xp;function UT(r){return`(?:${xp(r).sort((t,n)=>n.length-t.length).join("|").replace(/\./g,"\\.")})`}Tr.matchAnyPattern=UT});var Z=p((bo,vo)=>{(function(r,e){typeof bo=="object"&&typeof vo!="undefined"?vo.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self).dayjs=e()})(bo,function(){"use strict";var r=1e3,e=6e4,t=36e5,n="millisecond",i="second",s="minute",a="hour",o="day",u="week",l="month",c="quarter",d="year",f="date",h="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},P=function(O,b,T){var v=String(O);return!v||v.length>=b?O:""+Array(b+1-v.length).join(T)+O},A={s:P,z:function(O){var b=-O.utcOffset(),T=Math.abs(b),v=Math.floor(T/60),E=T%60;return(b<=0?"+":"-")+P(v,2,"0")+":"+P(E,2,"0")},m:function O(b,T){if(b.date(){"use strict";var qT=br&&br.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(br,"__esModule",{value:!0});br.findYearClosestToRef=br.findMostLikelyADYear=void 0;var WT=qT(Z());function LT(r){return r<100&&(r>50?r=r+1900:r=r+2e3),r}br.findMostLikelyADYear=LT;function YT(r,e,t){let n=WT.default(r),i=n;i=i.month(t-1),i=i.date(e),i=i.year(n.year());let s=i.add(1,"y"),a=i.add(-1,"y");return Math.abs(s.diff(n)){"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.parseTimeUnits=W.TIME_UNITS_PATTERN=W.parseYear=W.YEAR_PATTERN=W.parseOrdinalNumberPattern=W.ORDINAL_NUMBER_PATTERN=W.parseNumberPattern=W.NUMBER_PATTERN=W.TIME_UNIT_DICTIONARY=W.ORDINAL_WORD_DICTIONARY=W.INTEGER_WORD_DICTIONARY=W.MONTH_DICTIONARY=W.FULL_MONTH_NAME_DICTIONARY=W.WEEKDAY_DICTIONARY=void 0;var Ns=ne(),$T=Se();W.WEEKDAY_DICTIONARY={sunday:0,sun:0,"sun.":0,monday:1,mon:1,"mon.":1,tuesday:2,tue:2,"tue.":2,wednesday:3,wed:3,"wed.":3,thursday:4,thurs:4,"thurs.":4,thur:4,"thur.":4,thu:4,"thu.":4,friday:5,fri:5,"fri.":5,saturday:6,sat:6,"sat.":6};W.FULL_MONTH_NAME_DICTIONARY={january:1,february:2,march:3,april:4,may:5,june:6,july:7,august:8,september:9,october:10,november:11,december:12};W.MONTH_DICTIONARY=Object.assign(Object.assign({},W.FULL_MONTH_NAME_DICTIONARY),{jan:1,"jan.":1,feb:2,"feb.":2,mar:3,"mar.":3,apr:4,"apr.":4,jun:6,"jun.":6,jul:7,"jul.":7,aug:8,"aug.":8,sep:9,"sep.":9,sept:9,"sept.":9,oct:10,"oct.":10,nov:11,"nov.":11,dec:12,"dec.":12});W.INTEGER_WORD_DICTIONARY={one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12};W.ORDINAL_WORD_DICTIONARY={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty first":21,"twenty-first":21,"twenty second":22,"twenty-second":22,"twenty third":23,"twenty-third":23,"twenty fourth":24,"twenty-fourth":24,"twenty fifth":25,"twenty-fifth":25,"twenty sixth":26,"twenty-sixth":26,"twenty seventh":27,"twenty-seventh":27,"twenty eighth":28,"twenty-eighth":28,"twenty ninth":29,"twenty-ninth":29,thirtieth:30,"thirty first":31,"thirty-first":31};W.TIME_UNIT_DICTIONARY={sec:"second",second:"second",seconds:"second",min:"minute",mins:"minute",minute:"minute",minutes:"minute",h:"hour",hr:"hour",hrs:"hour",hour:"hour",hours:"hour",day:"d",days:"d",week:"week",weeks:"week",month:"month",months:"month",qtr:"quarter",quarter:"quarter",quarters:"quarter",y:"year",yr:"year",year:"year",years:"year"};W.NUMBER_PATTERN=`(?:${Ns.matchAnyPattern(W.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s{0,2}an?)?|an?\\b(?:\\s{0,2}few)?|few|several|a?\\s{0,2}couple\\s{0,2}(?:of)?)`;function Fp(r){let e=r.toLowerCase();return W.INTEGER_WORD_DICTIONARY[e]!==void 0?W.INTEGER_WORD_DICTIONARY[e]:e==="a"||e==="an"?1:e.match(/few/)?3:e.match(/half/)?.5:e.match(/couple/)?2:e.match(/several/)?7:parseFloat(e)}W.parseNumberPattern=Fp;W.ORDINAL_NUMBER_PATTERN=`(?:${Ns.matchAnyPattern(W.ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:st|nd|rd|th)?)`;function jT(r){let e=r.toLowerCase();return W.ORDINAL_WORD_DICTIONARY[e]!==void 0?W.ORDINAL_WORD_DICTIONARY[e]:(e=e.replace(/(?:st|nd|rd|th)$/i,""),parseInt(e))}W.parseOrdinalNumberPattern=jT;W.YEAR_PATTERN="(?:[1-9][0-9]{0,3}\\s{0,2}(?:BE|AD|BC|BCE|CE)|[1-2][0-9]{3}|[5-9][0-9])";function BT(r){if(/BE/i.test(r))return r=r.replace(/BE/i,""),parseInt(r)-543;if(/BCE?/i.test(r))return r=r.replace(/BCE?/i,""),-parseInt(r);if(/(AD|CE)/i.test(r))return r=r.replace(/(AD|CE)/i,""),parseInt(r);let e=parseInt(r);return $T.findMostLikelyADYear(e)}W.parseYear=BT;var Up=`(${W.NUMBER_PATTERN})\\s{0,3}(${Ns.matchAnyPattern(W.TIME_UNIT_DICTIONARY)})`,Ip=new RegExp(Up,"i");W.TIME_UNITS_PATTERN=Ns.repeatedTimeunitPattern("(?:(?:about|around)\\s{0,3})?",Up);function GT(r){let e={},t=r,n=Ip.exec(t);for(;n;)HT(e,n),t=t.substring(n[0].length).trim(),n=Ip.exec(t);return e}W.parseTimeUnits=GT;function HT(r,e){let t=Fp(e[1]),n=W.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var qp=p((Eo,wo)=>{(function(r,e){typeof Eo=="object"&&typeof wo!="undefined"?wo.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self).dayjs_plugin_quarterOfYear=e()})(Eo,function(){"use strict";var r="month",e="quarter";return function(t,n){var i=n.prototype;i.quarter=function(o){return this.$utils().u(o)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(o-1))};var s=i.add;i.add=function(o,u){return o=Number(o),this.$utils().p(u)===e?this.add(3*o,r):s.bind(this)(o,u)};var a=i.startOf;i.startOf=function(o,u){var l=this.$utils(),c=!!l.u(u)||u;if(l.p(o)===e){var d=this.quarter()-1;return c?this.month(3*d).startOf(r).startOf("day"):this.month(3*d+2).endOf(r).endOf("day")}return a.bind(this)(o,u)}}})});var ut=p(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.implySimilarTime=St.assignSimilarTime=St.assignSimilarDate=St.assignTheNextDay=void 0;var Wp=Ee();function zT(r,e){e=e.add(1,"day"),Lp(r,e),Yp(r,e)}St.assignTheNextDay=zT;function Lp(r,e){r.assign("day",e.date()),r.assign("month",e.month()+1),r.assign("year",e.year())}St.assignSimilarDate=Lp;function KT(r,e){r.assign("hour",e.hour()),r.assign("minute",e.minute()),r.assign("second",e.second()),r.assign("millisecond",e.millisecond()),r.get("hour")<12?r.assign("meridiem",Wp.Meridiem.AM):r.assign("meridiem",Wp.Meridiem.PM)}St.assignSimilarTime=KT;function Yp(r,e){r.imply("hour",e.hour()),r.imply("minute",e.minute()),r.imply("second",e.second()),r.imply("millisecond",e.millisecond())}St.implySimilarTime=Yp});var $p=p(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.toTimezoneOffset=Ur.TIMEZONE_ABBR_MAP=void 0;Ur.TIMEZONE_ABBR_MAP={ACDT:630,ACST:570,ADT:-180,AEDT:660,AEST:600,AFT:270,AKDT:-480,AKST:-540,ALMT:360,AMST:-180,AMT:-240,ANAST:720,ANAT:720,AQTT:300,ART:-180,AST:-240,AWDT:540,AWST:480,AZOST:0,AZOT:-60,AZST:300,AZT:240,BNT:480,BOT:-240,BRST:-120,BRT:-180,BST:60,BTT:360,CAST:480,CAT:120,CCT:390,CDT:-300,CEST:120,CET:60,CHADT:825,CHAST:765,CKT:-600,CLST:-180,CLT:-240,COT:-300,CST:-360,CVT:-60,CXT:420,ChST:600,DAVT:420,EASST:-300,EAST:-360,EAT:180,ECT:-300,EDT:-240,EEST:180,EET:120,EGST:0,EGT:-60,EST:-300,ET:-300,FJST:780,FJT:720,FKST:-180,FKT:-240,FNT:-120,GALT:-360,GAMT:-540,GET:240,GFT:-180,GILT:720,GMT:0,GST:240,GYT:-240,HAA:-180,HAC:-300,HADT:-540,HAE:-240,HAP:-420,HAR:-360,HAST:-600,HAT:-90,HAY:-480,HKT:480,HLV:-210,HNA:-240,HNC:-360,HNE:-300,HNP:-480,HNR:-420,HNT:-150,HNY:-540,HOVT:420,ICT:420,IDT:180,IOT:360,IRDT:270,IRKST:540,IRKT:540,IRST:210,IST:330,JST:540,KGT:360,KRAST:480,KRAT:480,KST:540,KUYT:240,LHDT:660,LHST:630,LINT:840,MAGST:720,MAGT:720,MART:-510,MAWT:300,MDT:-360,MESZ:120,MEZ:60,MHT:720,MMT:390,MSD:240,MSK:180,MST:-420,MUT:240,MVT:300,MYT:480,NCT:660,NDT:-90,NFT:690,NOVST:420,NOVT:360,NPT:345,NST:-150,NUT:-660,NZDT:780,NZST:720,OMSST:420,OMST:420,PDT:-420,PET:-300,PETST:720,PETT:720,PGT:600,PHOT:780,PHT:480,PKT:300,PMDT:-120,PMST:-180,PONT:660,PST:-480,PT:-480,PWT:540,PYST:-180,PYT:-240,RET:240,SAMT:240,SAST:120,SBT:660,SCT:240,SGT:480,SRT:-180,SST:-660,TAHT:-600,TFT:300,TJT:300,TKT:780,TLT:540,TMT:300,TVT:720,ULAT:480,UTC:0,UYST:-120,UYT:-180,UZT:300,VET:-210,VLAST:660,VLAT:660,VUT:660,WAST:120,WAT:60,WEST:60,WESZ:60,WET:0,WEZ:0,WFT:720,WGST:-120,WGT:-180,WIB:420,WIT:540,WITA:480,WST:780,WT:0,YAKST:600,YAKT:600,YAPT:600,YEKST:360,YEKT:360};function VT(r){var e;return r==null?null:typeof r=="number"?r:(e=Ur.TIMEZONE_ABBR_MAP[r])!==null&&e!==void 0?e:null}Ur.toTimezoneOffset=VT});var pe=p(xt=>{"use strict";var jp=xt&&xt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(xt,"__esModule",{value:!0});xt.ParsingResult=xt.ParsingComponents=xt.ReferenceWithTimezone=void 0;var ZT=jp(qp()),Cs=jp(Z()),Ro=ut(),XT=$p();Cs.default.extend(ZT.default);var Mo=class{constructor(e){var t;e=e!=null?e:new Date,e instanceof Date?this.instant=e:(this.instant=(t=e.instant)!==null&&t!==void 0?t:new Date,this.timezoneOffset=XT.toTimezoneOffset(e.timezone))}};xt.ReferenceWithTimezone=Mo;var qr=class{constructor(e,t){if(this.reference=e,this.knownValues={},this.impliedValues={},t)for(let i in t)this.knownValues[i]=t[i];let n=Cs.default(e.instant);this.imply("day",n.date()),this.imply("month",n.month()+1),this.imply("year",n.year()),this.imply("hour",12),this.imply("minute",0),this.imply("second",0),this.imply("millisecond",0)}get(e){return e in this.knownValues?this.knownValues[e]:e in this.impliedValues?this.impliedValues[e]:null}isCertain(e){return e in this.knownValues}getCertainComponents(){return Object.keys(this.knownValues)}imply(e,t){return e in this.knownValues?this:(this.impliedValues[e]=t,this)}assign(e,t){return this.knownValues[e]=t,delete this.impliedValues[e],this}delete(e){delete this.knownValues[e],delete this.impliedValues[e]}clone(){let e=new qr(this.reference);e.knownValues={},e.impliedValues={};for(let t in this.knownValues)e.knownValues[t]=this.knownValues[t];for(let t in this.impliedValues)e.impliedValues[t]=this.impliedValues[t];return e}isOnlyDate(){return!this.isCertain("hour")&&!this.isCertain("minute")&&!this.isCertain("second")}isOnlyTime(){return!this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")}isOnlyWeekdayComponent(){return this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")}isOnlyDayMonthComponent(){return this.isCertain("day")&&this.isCertain("month")&&!this.isCertain("year")}isValidDate(){let e=this.dateWithoutTimezoneAdjustment();return!(e.getFullYear()!==this.get("year")||e.getMonth()!==this.get("month")-1||e.getDate()!==this.get("day")||this.get("hour")!=null&&e.getHours()!=this.get("hour")||this.get("minute")!=null&&e.getMinutes()!=this.get("minute"))}toString(){return`[ParsingComponents {knownValues: ${JSON.stringify(this.knownValues)}, impliedValues: ${JSON.stringify(this.impliedValues)}}, reference: ${JSON.stringify(this.reference)}]`}dayjs(){return Cs.default(this.date())}date(){let e=this.dateWithoutTimezoneAdjustment();return new Date(e.getTime()+this.getSystemTimezoneAdjustmentMinute(e)*6e4)}dateWithoutTimezoneAdjustment(){let e=new Date(this.get("year"),this.get("month")-1,this.get("day"),this.get("hour"),this.get("minute"),this.get("second"),this.get("millisecond"));return e.setFullYear(this.get("year")),e}getSystemTimezoneAdjustmentMinute(e){var t,n;(!e||e.getTime()<0)&&(e=new Date);let i=-e.getTimezoneOffset(),s=(n=(t=this.get("timezoneOffset"))!==null&&t!==void 0?t:this.reference.timezoneOffset)!==null&&n!==void 0?n:i;return i-s}static createRelativeFromReference(e,t){let n=Cs.default(e.instant);for(let s in t)n=n.add(t[s],s);let i=new qr(e);return t.hour||t.minute||t.second?(Ro.assignSimilarTime(i,n),Ro.assignSimilarDate(i,n),e.timezoneOffset!==null&&i.assign("timezoneOffset",-e.instant.getTimezoneOffset())):(Ro.implySimilarTime(i,n),e.timezoneOffset!==null&&i.imply("timezoneOffset",-e.instant.getTimezoneOffset()),t.d?(i.assign("day",n.date()),i.assign("month",n.month()+1),i.assign("year",n.year())):(t.week&&i.imply("weekday",n.day()),i.imply("day",n.date()),t.month?(i.assign("month",n.month()+1),i.assign("year",n.year())):(i.imply("month",n.month()+1),t.year?i.assign("year",n.year()):i.imply("year",n.year())))),i}};xt.ParsingComponents=qr;var Zn=class{constructor(e,t,n,i,s){this.reference=e,this.refDate=e.instant,this.index=t,this.text=n,this.start=i||new qr(e),this.end=s}clone(){let e=new Zn(this.reference,this.index,this.text);return e.start=this.start?this.start.clone():null,e.end=this.end?this.end.clone():null,e}date(){return this.start.date()}toString(){return`[ParsingResult {index: ${this.index}, text: '${this.text}', ...}]`}};xt.ParsingResult=Zn});var R=p(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.AbstractParserWithWordBoundaryChecking=void 0;var Do=class{constructor(){this.cachedInnerPattern=null,this.cachedPattern=null}patternLeftBoundary(){return"(\\W|^)"}pattern(e){let t=this.innerPattern(e);return t==this.cachedInnerPattern?this.cachedPattern:(this.cachedPattern=new RegExp(`${this.patternLeftBoundary()}${t.source}`,t.flags),this.cachedInnerPattern=t,this.cachedPattern)}extract(e,t){var n;let i=(n=t[1])!==null&&n!==void 0?n:"";t.index=t.index+i.length,t[0]=t[0].substring(i.length);for(let s=2;s{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});var Po=xe(),QT=pe(),JT=R(),eb=new RegExp(`(?:within|in|for)\\s*(?:(?:about|around|roughly|approximately|just)\\s*(?:~\\s*)?)?(${Po.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),tb=new RegExp(`(?:(?:about|around|roughly|approximately|just)\\s*(?:~\\s*)?)?(${Po.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),Oo=class extends JT.AbstractParserWithWordBoundaryChecking{innerPattern(e){return e.option.forwardDate?tb:eb}innerExtract(e,t){let n=Po.parseTimeUnits(t[1]);return QT.ParsingComponents.createRelativeFromReference(e.reference,n)}};Ao.default=Oo});var Zp=p(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});var rb=Se(),Kp=xe(),Vp=xe(),xs=xe(),nb=ne(),ib=R(),sb=new RegExp(`(?:on\\s{0,3})?(${xs.ORDINAL_NUMBER_PATTERN})(?:\\s{0,3}(?:to|\\-|\\\u2013|until|through|till)?\\s{0,3}(${xs.ORDINAL_NUMBER_PATTERN}))?(?:-|/|\\s{0,3}(?:of)?\\s{0,3})(${nb.matchAnyPattern(Kp.MONTH_DICTIONARY)})(?:(?:-|/|,?\\s{0,3})(${Vp.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),Gp=1,Hp=2,ab=3,zp=4,ko=class extends ib.AbstractParserWithWordBoundaryChecking{innerPattern(){return sb}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Kp.MONTH_DICTIONARY[t[ab].toLowerCase()],s=xs.parseOrdinalNumberPattern(t[Gp]);if(s>31)return t.index=t.index+t[Gp].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[zp]){let a=Vp.parseYear(t[zp]);n.start.assign("year",a)}else{let a=rb.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[Hp]){let a=xs.parseOrdinalNumberPattern(t[Hp]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};No.default=ko});var th=p(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});var ob=Se(),Jp=xe(),Is=xe(),eh=xe(),ub=ne(),lb=R(),cb=new RegExp(`(${ub.matchAnyPattern(Jp.MONTH_DICTIONARY)})(?:-|/|\\s*,?\\s*)(${Is.ORDINAL_NUMBER_PATTERN})(?!\\s*(?:am|pm))\\s*(?:(?:to|\\-)\\s*(${Is.ORDINAL_NUMBER_PATTERN})\\s*)?(?:(?:-|/|\\s*,?\\s*)(${eh.YEAR_PATTERN}))?(?=\\W|$)(?!\\:\\d)`,"i"),db=1,fb=2,Xp=3,Qp=4,Co=class extends lb.AbstractParserWithWordBoundaryChecking{innerPattern(){return cb}innerExtract(e,t){let n=Jp.MONTH_DICTIONARY[t[db].toLowerCase()],i=Is.parseOrdinalNumberPattern(t[fb]);if(i>31)return null;let s=e.createParsingComponents({day:i,month:n});if(t[Qp]){let u=eh.parseYear(t[Qp]);s.assign("year",u)}else{let u=ob.findYearClosestToRef(e.refDate,i,n);s.imply("year",u)}if(!t[Xp])return s;let a=Is.parseOrdinalNumberPattern(t[Xp]),o=e.createParsingResult(t.index,t[0]);return o.start=s,o.end=s.clone(),o.end.assign("day",a),o}};So.default=Co});var ih=p(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});var xo=xe(),pb=Se(),hb=ne(),nh=xe(),mb=R(),yb=new RegExp(`((?:in)\\s*)?(${hb.matchAnyPattern(xo.MONTH_DICTIONARY)})\\s*(?:[,-]?\\s*(${nh.YEAR_PATTERN})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,"i"),gb=1,_b=2,rh=3,Io=class extends mb.AbstractParserWithWordBoundaryChecking{innerPattern(){return yb}innerExtract(e,t){let n=t[_b].toLowerCase();if(t[0].length<=3&&!xo.FULL_MONTH_NAME_DICTIONARY[n])return null;let i=e.createParsingResult(t.index+(t[gb]||"").length,t.index+t[0].length);i.start.imply("day",1);let s=xo.MONTH_DICTIONARY[n];if(i.start.assign("month",s),t[rh]){let a=nh.parseYear(t[rh]);i.start.assign("year",a)}else{let a=pb.findYearClosestToRef(e.refDate,1,s);i.start.imply("year",a)}return i}};Fo.default=Io});var oh=p(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});var ah=xe(),Tb=ne(),bb=R(),vb=new RegExp(`([0-9]{4})[\\.\\/\\s](?:(${Tb.matchAnyPattern(ah.MONTH_DICTIONARY)})|([0-9]{1,2}))[\\.\\/\\s]([0-9]{1,2})(?=\\W|$)`,"i"),Eb=1,wb=2,sh=3,Rb=4,Uo=class extends bb.AbstractParserWithWordBoundaryChecking{innerPattern(){return vb}innerExtract(e,t){let n=t[sh]?parseInt(t[sh]):ah.MONTH_DICTIONARY[t[wb].toLowerCase()];if(n<1||n>12)return null;let i=parseInt(t[Eb]);return{day:parseInt(t[Rb]),month:n,year:i}}};qo.default=Uo});var uh=p(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});var Mb=R(),Db=new RegExp("([0-9]|0[1-9]|1[012])/([0-9]{4})","i"),Ob=1,Pb=2,Wo=class extends Mb.AbstractParserWithWordBoundaryChecking{innerPattern(){return Db}innerExtract(e,t){let n=parseInt(t[Pb]),i=parseInt(t[Ob]);return e.createParsingComponents().imply("day",1).assign("month",i).assign("year",n)}};Lo.default=Wo});var Wr=p(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.AbstractTimeExpressionParser=void 0;var $e=Ee();function Ab(r,e,t,n){return new RegExp(`${r}${e}(\\d{1,4})(?:(?:\\.|:|\uFF1A)(\\d{1,2})(?:(?::|\uFF1A)(\\d{2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(a\\.m\\.|p\\.m\\.|am?|pm?))?${t}`,n)}function kb(r,e){return new RegExp(`^(${r})(\\d{1,4})(?:(?:\\.|\\:|\\\uFF1A)(\\d{1,2})(?:(?:\\.|\\:|\\\uFF1A)(\\d{1,2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(a\\.m\\.|p\\.m\\.|am?|pm?))?${e}`,"i")}var lh=2,ln=3,Fs=4,Us=5,Xn=6,Yo=class{constructor(e=!1){this.cachedPrimaryPrefix=null,this.cachedPrimarySuffix=null,this.cachedPrimaryTimePattern=null,this.cachedFollowingPhase=null,this.cachedFollowingSuffix=null,this.cachedFollowingTimePatten=null,this.strictMode=e}patternFlags(){return"i"}primaryPatternLeftBoundary(){return"(^|\\s|T|\\b)"}primarySuffix(){return"(?=\\W|$)"}followingSuffix(){return"(?=\\W|$)"}pattern(e){return this.getPrimaryTimePatternThroughCache()}extract(e,t){let n=this.extractPrimaryTimeComponents(e,t);if(!n)return t.index+=t[0].length,null;let i=t.index+t[1].length,s=t[0].substring(t[1].length),a=e.createParsingResult(i,s,n);t.index+=t[0].length;let o=e.text.substring(t.index),l=this.getFollowingTimePatternThroughCache().exec(o);return s.match(/^\d{3,4}/)&&l&&l[0].match(/^\s*([+-])\s*\d{2,4}$/)?null:!l||l[0].match(/^\s*([+-])\s*\d{3,4}$/)?this.checkAndReturnWithoutFollowingPattern(a):(a.end=this.extractFollowingTimeComponents(e,l,a),a.end&&(a.text+=l[0]),this.checkAndReturnWithFollowingPattern(a))}extractPrimaryTimeComponents(e,t,n=!1){let i=e.createParsingComponents(),s=0,a=null,o=parseInt(t[lh]);if(o>100){if(this.strictMode||t[ln]!=null)return null;s=o%100,o=Math.floor(o/100)}if(o>24)return null;if(t[ln]!=null){if(t[ln].length==1&&!t[Xn])return null;s=parseInt(t[ln])}if(s>=60)return null;if(o>12&&(a=$e.Meridiem.PM),t[Xn]!=null){if(o>12)return null;let u=t[Xn][0].toLowerCase();u=="a"&&(a=$e.Meridiem.AM,o==12&&(o=0)),u=="p"&&(a=$e.Meridiem.PM,o!=12&&(o+=12))}if(i.assign("hour",o),i.assign("minute",s),a!==null?i.assign("meridiem",a):o<12?i.imply("meridiem",$e.Meridiem.AM):i.imply("meridiem",$e.Meridiem.PM),t[Us]!=null){let u=parseInt(t[Us].substring(0,3));if(u>=1e3)return null;i.assign("millisecond",u)}if(t[Fs]!=null){let u=parseInt(t[Fs]);if(u>=60)return null;i.assign("second",u)}return i}extractFollowingTimeComponents(e,t,n){let i=e.createParsingComponents();if(t[Us]!=null){let u=parseInt(t[Us].substring(0,3));if(u>=1e3)return null;i.assign("millisecond",u)}if(t[Fs]!=null){let u=parseInt(t[Fs]);if(u>=60)return null;i.assign("second",u)}let s=parseInt(t[lh]),a=0,o=-1;if(t[ln]!=null?a=parseInt(t[ln]):s>100&&(a=s%100,s=Math.floor(s/100)),a>=60||s>24)return null;if(s>=12&&(o=$e.Meridiem.PM),t[Xn]!=null){if(s>12)return null;let u=t[Xn][0].toLowerCase();u=="a"&&(o=$e.Meridiem.AM,s==12&&(s=0,i.isCertain("day")||i.imply("day",i.get("day")+1))),u=="p"&&(o=$e.Meridiem.PM,s!=12&&(s+=12)),n.start.isCertain("meridiem")||(o==$e.Meridiem.AM?(n.start.imply("meridiem",$e.Meridiem.AM),n.start.get("hour")==12&&n.start.assign("hour",0)):(n.start.imply("meridiem",$e.Meridiem.PM),n.start.get("hour")!=12&&n.start.assign("hour",n.start.get("hour")+12)))}return i.assign("hour",s),i.assign("minute",a),o>=0?i.assign("meridiem",o):n.start.isCertain("meridiem")&&n.start.get("hour")>12?n.start.get("hour")-12>s?i.imply("meridiem",$e.Meridiem.AM):s<=12&&(i.assign("hour",s+12),i.assign("meridiem",$e.Meridiem.PM)):s>12?i.imply("meridiem",$e.Meridiem.PM):s<=12&&i.imply("meridiem",$e.Meridiem.AM),i.date().getTime()24)return null}return e}checkAndReturnWithFollowingPattern(e){if(e.text.match(/^\d+-\d+$/))return null;let t=e.text.match(/[^\d:.](\d[\d.]+)\s*-\s*(\d[\d.]+)$/);if(t){if(this.strictMode)return null;let n=t[1],i=t[2];if(i.includes(".")&&!i.match(/\d(\.\d{2})+$/))return null;let s=parseInt(i),a=parseInt(n);if(s>24||a>24)return null}return e}getPrimaryTimePatternThroughCache(){let e=this.primaryPrefix(),t=this.primarySuffix();return this.cachedPrimaryPrefix===e&&this.cachedPrimarySuffix===t?this.cachedPrimaryTimePattern:(this.cachedPrimaryTimePattern=Ab(this.primaryPatternLeftBoundary(),e,t,this.patternFlags()),this.cachedPrimaryPrefix=e,this.cachedPrimarySuffix=t,this.cachedPrimaryTimePattern)}getFollowingTimePatternThroughCache(){let e=this.followingPhase(),t=this.followingSuffix();return this.cachedFollowingPhase===e&&this.cachedFollowingSuffix===t?this.cachedFollowingTimePatten:(this.cachedFollowingTimePatten=kb(e,t),this.cachedFollowingPhase=e,this.cachedFollowingSuffix=t,this.cachedFollowingTimePatten)}};qs.AbstractTimeExpressionParser=Yo});var ch=p(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});var Ws=Ee(),Nb=Wr(),$o=class extends Nb.AbstractTimeExpressionParser{constructor(e){super(e)}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|to|\\?)\\s*"}primaryPrefix(){return"(?:(?:at|from)\\s*)??"}primarySuffix(){return"(?:\\s*(?:o\\W*clock|at\\s*night|in\\s*the\\s*(?:morning|afternoon)))?(?!/)(?=\\W|$)"}extractPrimaryTimeComponents(e,t){let n=super.extractPrimaryTimeComponents(e,t);if(n){if(t[0].endsWith("night")){let i=n.get("hour");i>=6&&i<12?(n.assign("hour",n.get("hour")+12),n.assign("meridiem",Ws.Meridiem.PM)):i<6&&n.assign("meridiem",Ws.Meridiem.AM)}if(t[0].endsWith("afternoon")){n.assign("meridiem",Ws.Meridiem.PM);let i=n.get("hour");i>=0&&i<=6&&n.assign("hour",n.get("hour")+12)}t[0].endsWith("morning")&&(n.assign("meridiem",Ws.Meridiem.AM),n.get("hour")<12&&n.assign("hour",n.get("hour")))}return n}};jo.default=$o});var lt=p(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.addImpliedTimeUnits=cn.reverseTimeUnits=void 0;function Cb(r){let e={};for(let t in r)e[t]=-r[t];return e}cn.reverseTimeUnits=Cb;function Sb(r,e){let t=r.clone(),n=r.dayjs();for(let i in e)n=n.add(e[i],i);return("day"in e||"d"in e||"week"in e||"month"in e||"year"in e)&&(t.imply("day",n.date()),t.imply("month",n.month()+1),t.imply("year",n.year())),("second"in e||"minute"in e||"hour"in e)&&(t.imply("second",n.second()),t.imply("minute",n.minute()),t.imply("hour",n.hour())),t}cn.addImpliedTimeUnits=Sb});var dh=p(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});var Go=xe(),xb=pe(),Ib=R(),Fb=lt(),Ub=new RegExp(`(${Go.TIME_UNITS_PATTERN})\\s{0,5}(?:ago|before|earlier)(?=(?:\\W|$))`,"i"),qb=new RegExp(`(${Go.TIME_UNITS_PATTERN})\\s{0,5}ago(?=(?:\\W|$))`,"i"),Bo=class extends Ib.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?qb:Ub}innerExtract(e,t){let n=Go.parseTimeUnits(t[1]),i=Fb.reverseTimeUnits(n);return xb.ParsingComponents.createRelativeFromReference(e.reference,i)}};Ho.default=Bo});var fh=p(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});var Ko=xe(),Wb=pe(),Lb=R(),Yb=new RegExp(`(${Ko.TIME_UNITS_PATTERN})\\s{0,5}(?:later|after|from now|henceforth|forward|out)(?=(?:\\W|$))`,"i"),$b=new RegExp("("+Ko.TIME_UNITS_PATTERN+")(later|from now)(?=(?:\\W|$))","i"),jb=1,zo=class extends Lb.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?$b:Yb}innerExtract(e,t){let n=Ko.parseTimeUnits(t[jb]);return Wb.ParsingComponents.createRelativeFromReference(e.reference,n)}};Vo.default=zo});var fn=p(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.MergingRefiner=dn.Filter=void 0;var Zo=class{refine(e,t){return t.filter(n=>this.isValid(e,n))}};dn.Filter=Zo;var Xo=class{refine(e,t){if(t.length<2)return t;let n=[],i=t[0],s=null;for(let a=1;a{console.log(`${this.constructor.name} merged ${u} and ${l} into ${c}`)}),i=c}}return i!=null&&n.push(i),n}};dn.MergingRefiner=Xo});var It=p(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});var Bb=fn(),Qo=class extends Bb.MergingRefiner{shouldMergeResults(e,t,n){return!t.end&&!n.end&&e.match(this.patternBetween())!=null}mergeResults(e,t,n){if(!t.start.isOnlyWeekdayComponent()&&!n.start.isOnlyWeekdayComponent()&&(n.start.getCertainComponents().forEach(s=>{t.start.isCertain(s)||t.start.assign(s,n.start.get(s))}),t.start.getCertainComponents().forEach(s=>{n.start.isCertain(s)||n.start.assign(s,t.start.get(s))})),t.start.date().getTime()>n.start.date().getTime()){let s=t.start.dayjs(),a=n.start.dayjs();t.start.isOnlyWeekdayComponent()&&s.add(-7,"days").isBefore(a)?(s=s.add(-7,"days"),t.start.imply("day",s.date()),t.start.imply("month",s.month()+1),t.start.imply("year",s.year())):n.start.isOnlyWeekdayComponent()&&a.add(7,"days").isAfter(s)?(a=a.add(7,"days"),n.start.imply("day",a.date()),n.start.imply("month",a.month()+1),n.start.imply("year",a.year())):[n,t]=[t,n]}let i=t.clone();return i.start=t.start,i.end=n.start,i.index=Math.min(t.index,n.index),t.index{"use strict";var Gb=Qn&&Qn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Qn,"__esModule",{value:!0});var Hb=Gb(It()),eu=class extends Hb.default{patternBetween(){return/^\s*(to|-)\s*$/i}};Qn.default=eu});var hh=p(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.mergeDateTimeComponent=pn.mergeDateTimeResult=void 0;var zb=Ee();function Kb(r,e){let t=r.clone(),n=r.start,i=e.start;if(t.start=tu(n,i),r.end!=null||e.end!=null){let s=r.end==null?r.start:r.end,a=e.end==null?e.start:e.end,o=tu(s,a);r.end==null&&o.date().getTime(){"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var Vb=fn(),mh=hh(),ru=class extends Vb.MergingRefiner{shouldMergeResults(e,t,n){return(t.start.isOnlyDate()&&n.start.isOnlyTime()||n.start.isOnlyDate()&&t.start.isOnlyTime())&&e.match(this.patternBetween())!=null}mergeResults(e,t,n){let i=t.start.isOnlyDate()?mh.mergeDateTimeResult(t,n):mh.mergeDateTimeResult(n,t);return i.index=t.index,i.text=t.text+e+n.text,i}};nu.default=ru});var yh=p(Jn=>{"use strict";var Zb=Jn&&Jn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jn,"__esModule",{value:!0});var Xb=Zb(Kt()),iu=class extends Xb.default{patternBetween(){return new RegExp("^\\s*(T|at|after|before|on|of|,|-)?\\s*$")}};Jn.default=iu});var gh=p(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});var Qb=new RegExp("^\\s*,?\\s*\\(?([A-Z]{2,4})\\)?(?=\\W|$)","i"),Jb={ACDT:630,ACST:570,ADT:-180,AEDT:660,AEST:600,AFT:270,AKDT:-480,AKST:-540,ALMT:360,AMST:-180,AMT:-240,ANAST:720,ANAT:720,AQTT:300,ART:-180,AST:-240,AWDT:540,AWST:480,AZOST:0,AZOT:-60,AZST:300,AZT:240,BNT:480,BOT:-240,BRST:-120,BRT:-180,BST:60,BTT:360,CAST:480,CAT:120,CCT:390,CDT:-300,CEST:120,CET:60,CHADT:825,CHAST:765,CKT:-600,CLST:-180,CLT:-240,COT:-300,CST:-360,CVT:-60,CXT:420,ChST:600,DAVT:420,EASST:-300,EAST:-360,EAT:180,ECT:-300,EDT:-240,EEST:180,EET:120,EGST:0,EGT:-60,EST:-300,ET:-300,FJST:780,FJT:720,FKST:-180,FKT:-240,FNT:-120,GALT:-360,GAMT:-540,GET:240,GFT:-180,GILT:720,GMT:0,GST:240,GYT:-240,HAA:-180,HAC:-300,HADT:-540,HAE:-240,HAP:-420,HAR:-360,HAST:-600,HAT:-90,HAY:-480,HKT:480,HLV:-210,HNA:-240,HNC:-360,HNE:-300,HNP:-480,HNR:-420,HNT:-150,HNY:-540,HOVT:420,ICT:420,IDT:180,IOT:360,IRDT:270,IRKST:540,IRKT:540,IRST:210,IST:330,JST:540,KGT:360,KRAST:480,KRAT:480,KST:540,KUYT:240,LHDT:660,LHST:630,LINT:840,MAGST:720,MAGT:720,MART:-510,MAWT:300,MDT:-360,MESZ:120,MEZ:60,MHT:720,MMT:390,MSD:240,MSK:240,MST:-420,MUT:240,MVT:300,MYT:480,NCT:660,NDT:-90,NFT:690,NOVST:420,NOVT:360,NPT:345,NST:-150,NUT:-660,NZDT:780,NZST:720,OMSST:420,OMST:420,PDT:-420,PET:-300,PETST:720,PETT:720,PGT:600,PHOT:780,PHT:480,PKT:300,PMDT:-120,PMST:-180,PONT:660,PST:-480,PT:-480,PWT:540,PYST:-180,PYT:-240,RET:240,SAMT:240,SAST:120,SBT:660,SCT:240,SGT:480,SRT:-180,SST:-660,TAHT:-600,TFT:300,TJT:300,TKT:780,TLT:540,TMT:300,TVT:720,ULAT:480,UTC:0,UYST:-120,UYT:-180,UZT:300,VET:-210,VLAST:660,VLAT:660,VUT:660,WAST:120,WAT:60,WEST:60,WESZ:60,WET:0,WEZ:0,WFT:720,WGST:-120,WGT:-180,WIB:420,WIT:540,WITA:480,WST:780,WT:0,YAKST:600,YAKT:600,YAPT:600,YEKST:360,YEKT:360},su=class{constructor(e){this.timezone=Object.assign(Object.assign({},Jb),e)}refine(e,t){var n;let i=(n=e.option.timezones)!==null&&n!==void 0?n:{};return t.forEach(s=>{var a,o;let u=e.text.substring(s.index+s.text.length),l=Qb.exec(u);if(!l)return;let c=l[1].toUpperCase(),d=(o=(a=i[c])!==null&&a!==void 0?a:this.timezone[c])!==null&&o!==void 0?o:null;if(d===null)return;e.debug(()=>{console.log(`Extracting timezone: '${c}' into: ${d} for: ${s.start}`)});let f=s.start.get("timezoneOffset");f!==null&&d!=f&&(s.start.isCertain("timezoneOffset")||c!=l[1])||s.start.isOnlyDate()&&c!=l[1]||(s.text+=l[0],s.start.isCertain("timezoneOffset")||s.start.assign("timezoneOffset",d),s.end!=null&&!s.end.isCertain("timezoneOffset")&&s.end.assign("timezoneOffset",d))}),t}};au.default=su});var Ls=p(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var e1=new RegExp("^\\s*(?:\\(?(?:GMT|UTC)\\s?)?([+-])(\\d{1,2})(?::?(\\d{2}))?\\)?","i"),t1=1,r1=2,n1=3,ou=class{refine(e,t){return t.forEach(function(n){if(n.start.isCertain("timezoneOffset"))return;let i=e.text.substring(n.index+n.text.length),s=e1.exec(i);if(!s)return;e.debug(()=>{console.log(`Extracting timezone: '${s[0]}' into : ${n}`)});let a=parseInt(s[r1]),o=parseInt(s[n1]||"0"),u=a*60+o;u>14*60||(s[t1]==="-"&&(u=-u),n.end!=null&&n.end.assign("timezoneOffset",u),n.start.assign("timezoneOffset",u),n.text+=s[0])}),t}};uu.default=ou});var _h=p(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var lu=class{refine(e,t){if(t.length<2)return t;let n=[],i=t[0];for(let s=1;si.text.length&&(i=a):(n.push(i),i=a)}return i!=null&&n.push(i),n}};cu.default=lu});var Th=p(ei=>{"use strict";var i1=ei&&ei.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ei,"__esModule",{value:!0});var s1=i1(Z()),du=class{refine(e,t){return e.option.forwardDate&&t.forEach(function(n){let i=s1.default(e.refDate);if(n.start.isOnlyDayMonthComponent()&&i.isAfter(n.start.dayjs()))for(let s=0;s<3&&i.isAfter(n.start.dayjs());s++)n.start.imply("year",n.start.get("year")+1),e.debug(()=>{console.log(`Forward yearly adjusted for ${n} (${n.start})`)}),n.end&&!n.end.isCertain("year")&&(n.end.imply("year",n.end.get("year")+1),e.debug(()=>{console.log(`Forward yearly adjusted for ${n} (${n.end})`)}));n.start.isOnlyWeekdayComponent()&&i.isAfter(n.start.dayjs())&&(i.day()>=n.start.get("weekday")?i=i.day(n.start.get("weekday")+7):i=i.day(n.start.get("weekday")),n.start.imply("day",i.date()),n.start.imply("month",i.month()+1),n.start.imply("year",i.year()),e.debug(()=>{console.log(`Forward weekly adjusted for ${n} (${n.start})`)}),n.end&&n.end.isOnlyWeekdayComponent()&&(i.day()>n.end.get("weekday")?i=i.day(n.end.get("weekday")+7):i=i.day(n.end.get("weekday")),n.end.imply("day",i.date()),n.end.imply("month",i.month()+1),n.end.imply("year",i.year()),e.debug(()=>{console.log(`Forward weekly adjusted for ${n} (${n.end})`)})))}),t}};ei.default=du});var bh=p(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var a1=fn(),fu=class extends a1.Filter{constructor(e){super(),this.strictMode=e}isValid(e,t){return t.text.replace(" ","").match(/^\d*(\.\d*)?$/)?(e.debug(()=>{console.log(`Removing unlikely result '${t.text}'`)}),!1):t.start.isValidDate()?t.end&&!t.end.isValidDate()?(e.debug(()=>{console.log(`Removing invalid result: ${t} (${t.end})`)}),!1):this.strictMode?this.isStrictModeValid(e,t):!0:(e.debug(()=>{console.log(`Removing invalid result: ${t} (${t.start})`)}),!1)}isStrictModeValid(e,t){return t.start.isOnlyWeekdayComponent()?(e.debug(()=>{console.log(`(Strict) Removing weekday only component: ${t} (${t.end})`)}),!1):t.start.isOnlyTime()&&(!t.start.isCertain("hour")||!t.start.isCertain("minute"))?(e.debug(()=>{console.log(`(Strict) Removing uncertain time component: ${t} (${t.end})`)}),!1):!0}};pu.default=fu});var yu=p(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var o1=R(),u1=new RegExp("([0-9]{4})\\-([0-9]{1,2})\\-([0-9]{1,2})(?:T([0-9]{1,2}):([0-9]{1,2})(?::([0-9]{1,2})(?:\\.(\\d{1,4}))?)?(?:Z|([+-]\\d{2}):?(\\d{2})?)?)?(?=\\W|$)","i"),l1=1,c1=2,d1=3,vh=4,f1=5,Eh=6,wh=7,Rh=8,Mh=9,hu=class extends o1.AbstractParserWithWordBoundaryChecking{innerPattern(){return u1}innerExtract(e,t){let n={};if(n.year=parseInt(t[l1]),n.month=parseInt(t[c1]),n.day=parseInt(t[d1]),t[vh]!=null)if(n.hour=parseInt(t[vh]),n.minute=parseInt(t[f1]),t[Eh]!=null&&(n.second=parseInt(t[Eh])),t[wh]!=null&&(n.millisecond=parseInt(t[wh])),t[Rh]==null)n.timezoneOffset=0;else{let i=parseInt(t[Rh]),s=0;t[Mh]!=null&&(s=parseInt(t[Mh]));let a=i*60;a<0?a-=s:a+=s,n.timezoneOffset=a}return n}};mu.default=hu});var Dh=p(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var p1=fn(),gu=class extends p1.MergingRefiner{mergeResults(e,t,n){let i=n.clone();return i.index=t.index,i.text=t.text+e+i.text,i.start.assign("weekday",t.start.get("weekday")),i.end&&i.end.assign("weekday",t.start.get("weekday")),i}shouldMergeResults(e,t,n){return t.start.isOnlyWeekdayComponent()&&!t.start.isCertain("hour")&&n.start.isCertain("day")&&e.match(/^,?\s*$/)!=null}};_u.default=gu});var Vt=p(hn=>{"use strict";var Lr=hn&&hn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(hn,"__esModule",{value:!0});hn.includeCommonConfiguration=void 0;var h1=Lr(gh()),m1=Lr(Ls()),Oh=Lr(_h()),y1=Lr(Th()),g1=Lr(bh()),_1=Lr(yu()),T1=Lr(Dh());function b1(r,e=!1){return r.parsers.unshift(new _1.default),r.refiners.unshift(new T1.default),r.refiners.unshift(new h1.default),r.refiners.unshift(new m1.default),r.refiners.unshift(new Oh.default),r.refiners.push(new Oh.default),r.refiners.push(new y1.default),r.refiners.push(new g1.default(e)),r}hn.includeCommonConfiguration=b1});var Xt=p(te=>{"use strict";var v1=te&&te.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(te,"__esModule",{value:!0});te.noon=te.morning=te.midnight=te.yesterdayEvening=te.evening=te.lastNight=te.tonight=te.theDayAfter=te.tomorrow=te.theDayBefore=te.yesterday=te.today=te.now=void 0;var Ft=pe(),mn=v1(Z()),Zt=ut(),ti=Ee();function E1(r){let e=mn.default(r.instant),t=new Ft.ParsingComponents(r,{});return Zt.assignSimilarDate(t,e),Zt.assignSimilarTime(t,e),r.timezoneOffset!==null&&t.assign("timezoneOffset",e.utcOffset()),t}te.now=E1;function w1(r){let e=mn.default(r.instant),t=new Ft.ParsingComponents(r,{});return Zt.assignSimilarDate(t,e),Zt.implySimilarTime(t,e),t}te.today=w1;function R1(r){return Ph(r,1)}te.yesterday=R1;function Ph(r,e){return Tu(r,-e)}te.theDayBefore=Ph;function M1(r){return Tu(r,1)}te.tomorrow=M1;function Tu(r,e){let t=mn.default(r.instant),n=new Ft.ParsingComponents(r,{});return t=t.add(e,"day"),Zt.assignSimilarDate(n,t),Zt.implySimilarTime(n,t),n}te.theDayAfter=Tu;function D1(r,e=22){let t=mn.default(r.instant),n=new Ft.ParsingComponents(r,{});return n.imply("hour",e),n.imply("meridiem",ti.Meridiem.PM),Zt.assignSimilarDate(n,t),n}te.tonight=D1;function O1(r,e=0){let t=mn.default(r.instant),n=new Ft.ParsingComponents(r,{});return t.hour()<6&&(t=t.add(-1,"day")),Zt.assignSimilarDate(n,t),n.imply("hour",e),n}te.lastNight=O1;function P1(r,e=20){let t=new Ft.ParsingComponents(r,{});return t.imply("meridiem",ti.Meridiem.PM),t.imply("hour",e),t}te.evening=P1;function A1(r,e=20){let t=mn.default(r.instant),n=new Ft.ParsingComponents(r,{});return t=t.add(-1,"day"),Zt.assignSimilarDate(n,t),n.imply("hour",e),n.imply("meridiem",ti.Meridiem.PM),n}te.yesterdayEvening=A1;function k1(r){let e=new Ft.ParsingComponents(r,{});return e.imply("hour",0),e.imply("minute",0),e.imply("second",0),e}te.midnight=k1;function N1(r,e=6){let t=new Ft.ParsingComponents(r,{});return t.imply("meridiem",ti.Meridiem.AM),t.imply("hour",e),t}te.morning=N1;function C1(r){let e=new Ft.ParsingComponents(r,{});return e.imply("meridiem",ti.Meridiem.AM),e.imply("hour",12),e}te.noon=C1});var Ah=p(Tt=>{"use strict";var S1=Tt&&Tt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),x1=Tt&&Tt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),I1=Tt&&Tt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&S1(e,r,t);return x1(e,r),e},F1=Tt&&Tt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Tt,"__esModule",{value:!0});var U1=F1(Z()),q1=R(),W1=ut(),ri=I1(Xt()),L1=/(now|today|tonight|tomorrow|tmr|tmrw|yesterday|last\s*night)(?=\W|$)/i,bu=class extends q1.AbstractParserWithWordBoundaryChecking{innerPattern(e){return L1}innerExtract(e,t){let n=U1.default(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();switch(i){case"now":return ri.now(e.reference);case"today":return ri.today(e.reference);case"yesterday":return ri.yesterday(e.reference);case"tomorrow":case"tmr":case"tmrw":return ri.tomorrow(e.reference);case"tonight":return ri.tonight(e.reference);default:i.match(/last\s*night/)&&(n.hour()>6&&(n=n.add(-1,"day")),W1.assignSimilarDate(s,n),s.imply("hour",0));break}return s}};Tt.default=bu});var kh=p(ni=>{"use strict";var Y1=ni&&ni.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ni,"__esModule",{value:!0});var Ys=Ee(),$1=R(),j1=Y1(Z()),B1=ut(),G1=/(?:this)?\s{0,3}(morning|afternoon|evening|night|midnight|noon)(?=\W|$)/i,vu=class extends $1.AbstractParserWithWordBoundaryChecking{innerPattern(){return G1}innerExtract(e,t){let n=j1.default(e.refDate),i=e.createParsingComponents();switch(t[1].toLowerCase()){case"afternoon":i.imply("meridiem",Ys.Meridiem.PM),i.imply("hour",15);break;case"evening":case"night":i.imply("meridiem",Ys.Meridiem.PM),i.imply("hour",20);break;case"midnight":B1.assignTheNextDay(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"morning":i.imply("meridiem",Ys.Meridiem.AM),i.imply("hour",6);break;case"noon":i.imply("meridiem",Ys.Meridiem.AM),i.imply("hour",12);break}return i}};ni.default=vu});var Yr=p(vr=>{"use strict";var H1=vr&&vr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(vr,"__esModule",{value:!0});vr.toDayJSClosestWeekday=vr.toDayJSWeekday=void 0;var Nh=H1(Z());function z1(r,e,t){if(!t)return Ch(r,e);let n=Nh.default(r);switch(t){case"this":n=n.day(e);break;case"next":n=n.day(e+7);break;case"last":n=n.day(e-7);break}return n}vr.toDayJSWeekday=z1;function Ch(r,e){let t=Nh.default(r),n=t.day();return Math.abs(e-7-n){"use strict";Object.defineProperty(wu,"__esModule",{value:!0});var Sh=xe(),K1=ne(),V1=R(),Z1=Yr(),X1=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:on\\s*?)?(?:(this|last|past|next)\\s*)?(${K1.matchAnyPattern(Sh.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(this|last|past|next)\\s*week)?(?=\\W|$)`,"i"),Q1=1,J1=2,ev=3,Eu=class extends V1.AbstractParserWithWordBoundaryChecking{innerPattern(){return X1}innerExtract(e,t){let n=t[J1].toLowerCase(),i=Sh.WEEKDAY_DICTIONARY[n],s=t[Q1],a=t[ev],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o=="last"||o=="past"?u="last":o=="next"?u="next":o=="this"&&(u="this");let l=Z1.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};wu.default=Eu});var Uh=p(ii=>{"use strict";var tv=ii&&ii.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ii,"__esModule",{value:!0});var Fh=xe(),Ih=pe(),rv=tv(Z()),nv=R(),iv=ne(),sv=new RegExp(`(this|last|past|next|after\\s*this)\\s*(${iv.matchAnyPattern(Fh.TIME_UNIT_DICTIONARY)})(?=\\s*)(?=\\W|$)`,"i"),av=1,ov=2,Ru=class extends nv.AbstractParserWithWordBoundaryChecking{innerPattern(){return sv}innerExtract(e,t){let n=t[av].toLowerCase(),i=t[ov].toLowerCase(),s=Fh.TIME_UNIT_DICTIONARY[i];if(n=="next"||n.startsWith("after")){let u={};return u[s]=1,Ih.ParsingComponents.createRelativeFromReference(e.reference,u)}if(n=="last"||n=="past"){let u={};return u[s]=-1,Ih.ParsingComponents.createRelativeFromReference(e.reference,u)}let a=e.createParsingComponents(),o=rv.default(e.reference.instant);return i.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):i.match(/month/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):i.match(/year/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}};ii.default=Ru});var bt=p(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.ParsingContext=_n.Chrono=void 0;var yn=pe(),uv=Mu(),gn=class{constructor(e){e=e||uv.createCasualConfiguration(),this.parsers=[...e.parsers],this.refiners=[...e.refiners]}clone(){return new gn({parsers:[...this.parsers],refiners:[...this.refiners]})}parseDate(e,t,n){let i=this.parse(e,t,n);return i.length>0?i[0].start.date():null}parse(e,t,n){let i=new $s(e,t,n),s=[];return this.parsers.forEach(a=>{let o=gn.executeParser(i,a);s=s.concat(o)}),s.sort((a,o)=>a.index-o.index),this.refiners.forEach(function(a){s=a.refine(i,s)}),s}static executeParser(e,t){let n=[],i=t.pattern(e),s=e.text,a=e.text,o=i.exec(a);for(;o;){let u=o.index+s.length-a.length;o.index=u;let l=t.extract(e,o);if(!l){a=s.substring(o.index+1),o=i.exec(a);continue}let c=null;l instanceof yn.ParsingResult?c=l:l instanceof yn.ParsingComponents?(c=e.createParsingResult(o.index,o[0]),c.start=l):c=e.createParsingResult(o.index,o[0],l),e.debug(()=>console.log(`${t.constructor.name} extracted result ${c}`)),n.push(c),a=s.substring(u+c.text.length),o=i.exec(a)}return n}};_n.Chrono=gn;var $s=class{constructor(e,t,n){this.text=e,this.reference=new yn.ReferenceWithTimezone(t),this.option=n!=null?n:{},this.refDate=this.reference.instant}createParsingComponents(e){return e instanceof yn.ParsingComponents?e:new yn.ParsingComponents(this.reference,e)}createParsingResult(e,t,n,i){let s=typeof t=="string"?t:this.text.substring(e,t),a=n?this.createParsingComponents(n):null,o=i?this.createParsingComponents(i):null;return new yn.ParsingResult(this.reference,e,s,a,o)}debug(e){this.option.debug&&(this.option.debug instanceof Function?this.option.debug(e):this.option.debug.debug(e))}};_n.ParsingContext=$s});var $r=p(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var qh=Se(),lv=new RegExp("([^\\d]|^)([0-3]{0,1}[0-9]{1})[\\/\\.\\-]([0-3]{0,1}[0-9]{1})(?:[\\/\\.\\-]([0-9]{4}|[0-9]{2}))?(\\W|$)","i"),js=1,Wh=5,Lh=2,Yh=3,Du=4,Ou=class{constructor(e){this.groupNumberMonth=e?Yh:Lh,this.groupNumberDay=e?Lh:Yh}pattern(){return lv}extract(e,t){if(t[js]=="/"||t[Wh]=="/"){t.index+=t[0].length;return}let n=t.index+t[js].length,i=t[0].substr(t[js].length,t[0].length-t[js].length-t[Wh].length);if(i.match(/^\d\.\d$/)||i.match(/^\d\.\d{1,2}\.\d{1,2}\s*$/)||!t[Du]&&t[0].indexOf("/")<0)return;let s=e.createParsingResult(n,i),a=parseInt(t[this.groupNumberMonth]),o=parseInt(t[this.groupNumberDay]);if((a<1||a>12)&&a>12)if(o>=1&&o<=12&&a<=31)[o,a]=[a,o];else return null;if(o<1||o>31)return null;if(s.start.assign("day",o),s.start.assign("month",a),t[Du]){let u=parseInt(t[Du]),l=qh.findMostLikelyADYear(u);s.start.assign("year",l)}else{let u=qh.findYearClosestToRef(e.refDate,o,a);s.start.imply("year",u)}return s}};Pu.default=Ou});var jh=p(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var $h=xe(),cv=pe(),dv=R(),fv=lt(),pv=new RegExp(`(this|last|past|next|after|\\+|-)\\s*(${$h.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),Au=class extends dv.AbstractParserWithWordBoundaryChecking{innerPattern(){return pv}innerExtract(e,t){let n=t[1].toLowerCase(),i=$h.parseTimeUnits(t[2]);switch(n){case"last":case"past":case"-":i=fv.reverseTimeUnits(i);break}return cv.ParsingComponents.createRelativeFromReference(e.reference,i)}};ku.default=Au});var Gh=p(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var hv=fn(),Nu=pe(),mv=xe(),yv=lt();function Bh(r){return r.text.match(/\s+(before|from)$/i)!=null}function gv(r){return r.text.match(/\s+(after|since)$/i)!=null}var Cu=class extends hv.MergingRefiner{patternBetween(){return/^\s*$/i}shouldMergeResults(e,t,n){return!e.match(this.patternBetween())||!Bh(t)&&!gv(t)?!1:!!n.start.get("day")&&!!n.start.get("month")&&!!n.start.get("year")}mergeResults(e,t,n){let i=mv.parseTimeUnits(t.text);Bh(t)&&(i=yv.reverseTimeUnits(i));let s=Nu.ParsingComponents.createRelativeFromReference(new Nu.ReferenceWithTimezone(n.start.date()),i);return new Nu.ParsingResult(n.reference,t.index,`${t.text}${e}${n.text}`,s)}};Su.default=Cu});var Mu=p(ge=>{"use strict";var Me=ge&&ge.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ge,"__esModule",{value:!0});ge.createConfiguration=ge.createCasualConfiguration=ge.parseDate=ge.parse=ge.GB=ge.strict=ge.casual=void 0;var _v=Me(Bp()),Tv=Me(Zp()),bv=Me(th()),vv=Me(ih()),Ev=Me(oh()),wv=Me(uh()),Rv=Me(ch()),Mv=Me(dh()),Dv=Me(fh()),Ov=Me(ph()),Pv=Me(yh()),Av=Vt(),kv=Me(Ah()),Nv=Me(kh()),Cv=Me(xh()),Sv=Me(Uh()),xu=bt(),xv=Me($r()),Iv=Me(jh()),Fv=Me(Gh());ge.casual=new xu.Chrono(Hh(!1));ge.strict=new xu.Chrono(Bs(!0,!1));ge.GB=new xu.Chrono(Bs(!1,!0));function Uv(r,e,t){return ge.casual.parse(r,e,t)}ge.parse=Uv;function qv(r,e,t){return ge.casual.parseDate(r,e,t)}ge.parseDate=qv;function Hh(r=!1){let e=Bs(!1,r);return e.parsers.unshift(new kv.default),e.parsers.unshift(new Nv.default),e.parsers.unshift(new vv.default),e.parsers.unshift(new Sv.default),e.parsers.unshift(new Iv.default),e}ge.createCasualConfiguration=Hh;function Bs(r=!0,e=!1){return Av.includeCommonConfiguration({parsers:[new xv.default(e),new _v.default,new Tv.default,new bv.default,new Cv.default,new Ev.default,new wv.default,new Rv.default(r),new Mv.default(r),new Dv.default(r)],refiners:[new Fv.default,new Pv.default,new Ov.default]},r)}ge.createConfiguration=Bs});var zh=p(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});var Wv=Wr(),Iu=class extends Wv.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:um|von)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|bis)\\s*"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}};Fu.default=Iu});var si=p(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.parseTimeUnits=ie.TIME_UNITS_PATTERN=ie.parseYear=ie.YEAR_PATTERN=ie.parseNumberPattern=ie.NUMBER_PATTERN=ie.TIME_UNIT_DICTIONARY=ie.INTEGER_WORD_DICTIONARY=ie.MONTH_DICTIONARY=ie.WEEKDAY_DICTIONARY=void 0;var Uu=ne(),Lv=Se();ie.WEEKDAY_DICTIONARY={sonntag:0,so:0,montag:1,mo:1,dienstag:2,di:2,mittwoch:3,mi:3,donnerstag:4,do:4,freitag:5,fr:5,samstag:6,sa:6};ie.MONTH_DICTIONARY={januar:1,j\u00E4nner:1,janner:1,jan:1,"jan.":1,februar:2,feber:2,feb:2,"feb.":2,m\u00E4rz:3,maerz:3,m\u00E4r:3,"m\xE4r.":3,mrz:3,"mrz.":3,april:4,apr:4,"apr.":4,mai:5,juni:6,jun:6,"jun.":6,juli:7,jul:7,"jul.":7,august:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,oktober:10,okt:10,"okt.":10,november:11,nov:11,"nov.":11,dezember:12,dez:12,"dez.":12};ie.INTEGER_WORD_DICTIONARY={eins:1,eine:1,einem:1,einen:1,einer:1,zwei:2,drei:3,vier:4,f\u00FCnf:5,fuenf:5,sechs:6,sieben:7,acht:8,neun:9,zehn:10,elf:11,zw\u00F6lf:12,zwoelf:12};ie.TIME_UNIT_DICTIONARY={sek:"second",sekunde:"second",sekunden:"second",min:"minute",minute:"minute",minuten:"minute",h:"hour",std:"hour",stunde:"hour",stunden:"hour",tag:"d",tage:"d",tagen:"d",woche:"week",wochen:"week",monat:"month",monate:"month",monaten:"month",monats:"month",quartal:"quarter",quartals:"quarter",quartale:"quarter",quartalen:"quarter",a:"year",j:"year",jr:"year",jahr:"year",jahre:"year",jahren:"year",jahres:"year"};ie.NUMBER_PATTERN=`(?:${Uu.matchAnyPattern(ie.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s*an?)?|an?\\b(?:\\s*few)?|few|several|a?\\s*couple\\s*(?:of)?)`;function Vh(r){let e=r.toLowerCase();return ie.INTEGER_WORD_DICTIONARY[e]!==void 0?ie.INTEGER_WORD_DICTIONARY[e]:e==="a"||e==="an"?1:e.match(/few/)?3:e.match(/half/)?.5:e.match(/couple/)?2:e.match(/several/)?7:parseFloat(e)}ie.parseNumberPattern=Vh;ie.YEAR_PATTERN="(?:[0-9]{1,4}(?:\\s*[vn]\\.?\\s*(?:C(?:hr)?|(?:u\\.?|d\\.?(?:\\s*g\\.?)?)?\\s*Z)\\.?|\\s*(?:u\\.?|d\\.?(?:\\s*g\\.)?)\\s*Z\\.?)?)";function Yv(r){if(/v/i.test(r))return-parseInt(r.replace(/[^0-9]+/gi,""));if(/n/i.test(r))return parseInt(r.replace(/[^0-9]+/gi,""));if(/z/i.test(r))return parseInt(r.replace(/[^0-9]+/gi,""));let e=parseInt(r);return Lv.findMostLikelyADYear(e)}ie.parseYear=Yv;var Zh=`(${ie.NUMBER_PATTERN})\\s{0,5}(${Uu.matchAnyPattern(ie.TIME_UNIT_DICTIONARY)})\\s{0,5}`,Kh=new RegExp(Zh,"i");ie.TIME_UNITS_PATTERN=Uu.repeatedTimeunitPattern("",Zh);function $v(r){let e={},t=r,n=Kh.exec(t);for(;n;)jv(e,n),t=t.substring(n[0].length),n=Kh.exec(t);return e}ie.parseTimeUnits=$v;function jv(r,e){let t=Vh(e[1]),n=ie.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Qh=p(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});var Xh=si(),Bv=ne(),Gv=R(),Hv=Yr(),zv=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:a[mn]\\s*?)?(?:(diese[mn]|letzte[mn]|n(?:\xE4|ae)chste[mn])\\s*)?(${Bv.matchAnyPattern(Xh.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(diese|letzte|n(?:\xE4|ae)chste)\\s*woche)?(?=\\W|$)`,"i"),Kv=1,Vv=3,Zv=2,qu=class extends Gv.AbstractParserWithWordBoundaryChecking{innerPattern(){return zv}innerExtract(e,t){let n=t[Zv].toLowerCase(),i=Xh.WEEKDAY_DICTIONARY[n],s=t[Kv],a=t[Vv],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o.match(/letzte/)?u="last":o.match(/chste/)?u="next":o.match(/diese/)&&(u="this");let l=Hv.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};Wu.default=qu});var rm=p(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var Er=Ee(),Xv=new RegExp("(^|\\s|T)(?:(?:um|von)\\s*)?(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s)?)?(?:\\s*Uhr)?(?:\\s*(morgens|vormittags|nachmittags|abends|nachts|am\\s+(?:Morgen|Vormittag|Nachmittag|Abend)|in\\s+der\\s+Nacht))?(?=\\W|$)","i"),Qv=new RegExp("^\\s*(\\-|\\\u2013|\\~|\\\u301C|bis(?:\\s+um)?|\\?)\\s*(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s)?)?(?:\\s*Uhr)?(?:\\s*(morgens|vormittags|nachmittags|abends|nachts|am\\s+(?:Morgen|Vormittag|Nachmittag|Abend)|in\\s+der\\s+Nacht))?(?=\\W|$)","i"),Jv=2,Jh=3,em=4,tm=5,Tn=class{pattern(e){return Xv}extract(e,t){let n=e.createParsingResult(t.index+t[1].length,t[0].substring(t[1].length));if(n.text.match(/^\d{4}$/)||(n.start=Tn.extractTimeComponent(n.start.clone(),t),!n.start))return t.index+=t[0].length,null;let i=e.text.substring(t.index+t[0].length),s=Qv.exec(i);return s&&(n.end=Tn.extractTimeComponent(n.start.clone(),s),n.end&&(n.text+=s[0])),n}static extractTimeComponent(e,t){let n=0,i=0,s=null;if(n=parseInt(t[Jv]),t[Jh]!=null&&(i=parseInt(t[Jh])),i>=60||n>24)return null;if(n>=12&&(s=Er.Meridiem.PM),t[tm]!=null){if(n>12)return null;let a=t[tm].toLowerCase();a.match(/morgen|vormittag/)&&(s=Er.Meridiem.AM,n==12&&(n=0)),a.match(/nachmittag|abend/)&&(s=Er.Meridiem.PM,n!=12&&(n+=12)),a.match(/nacht/)&&(n==12?(s=Er.Meridiem.AM,n=0):n<6?s=Er.Meridiem.AM:(s=Er.Meridiem.PM,n+=12))}if(e.assign("hour",n),e.assign("minute",i),s!==null?e.assign("meridiem",s):n<12?e.imply("meridiem",Er.Meridiem.AM):e.imply("meridiem",Er.Meridiem.PM),t[em]!=null){let a=parseInt(t[em]);if(a>=60)return null;e.assign("second",a)}return e}};Lu.default=Tn});var nm=p(ai=>{"use strict";var eE=ai&&ai.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ai,"__esModule",{value:!0});var tE=eE(It()),Yu=class extends tE.default{patternBetween(){return/^\s*(bis(?:\s*(?:am|zum))?|-)\s*$/i}};ai.default=Yu});var im=p(oi=>{"use strict";var rE=oi&&oi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(oi,"__esModule",{value:!0});var nE=rE(Kt()),$u=class extends nE.default{patternBetween(){return new RegExp("^\\s*(T|um|am|,|-)?\\s*$")}};oi.default=$u});var ju=p(li=>{"use strict";var iE=li&&li.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(li,"__esModule",{value:!0});var sE=iE(Z()),jr=Ee(),aE=R(),oE=ut(),uE=lt(),ui=class extends aE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(diesen)?\s*(morgen|vormittag|mittags?|nachmittag|abend|nacht|mitternacht)(?=\W|$)/i}innerExtract(e,t){let n=sE.default(e.refDate),i=t[2].toLowerCase(),s=e.createParsingComponents();return oE.implySimilarTime(s,n),ui.extractTimeComponents(s,i)}static extractTimeComponents(e,t){switch(t){case"morgen":e.imply("hour",6),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",jr.Meridiem.AM);break;case"vormittag":e.imply("hour",9),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",jr.Meridiem.AM);break;case"mittag":case"mittags":e.imply("hour",12),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",jr.Meridiem.AM);break;case"nachmittag":e.imply("hour",15),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",jr.Meridiem.PM);break;case"abend":e.imply("hour",18),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",jr.Meridiem.PM);break;case"nacht":e.imply("hour",22),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",jr.Meridiem.PM);break;case"mitternacht":e.get("hour")>1&&(e=uE.addImpliedTimeUnits(e,{day:1})),e.imply("hour",0),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",jr.Meridiem.AM);break}return e}};li.default=ui});var om=p(vt=>{"use strict";var lE=vt&&vt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),cE=vt&&vt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),dE=vt&&vt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&lE(e,r,t);return cE(e,r),e},am=vt&&vt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(vt,"__esModule",{value:!0});var fE=am(Z()),pE=R(),Br=ut(),hE=am(ju()),sm=dE(Xt()),mE=new RegExp("(jetzt|heute|morgen|\xFCbermorgen|uebermorgen|gestern|vorgestern|letzte\\s*nacht)(?:\\s*(morgen|vormittag|mittags?|nachmittag|abend|nacht|mitternacht))?(?=\\W|$)","i"),yE=1,gE=2,Bu=class extends pE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return mE}innerExtract(e,t){let n=fE.default(e.refDate),i=(t[yE]||"").toLowerCase(),s=(t[gE]||"").toLowerCase(),a=e.createParsingComponents();switch(i){case"jetzt":a=sm.now(e.reference);break;case"heute":a=sm.today(e.reference);break;case"morgen":Br.assignTheNextDay(a,n);break;case"\xFCbermorgen":case"uebermorgen":n=n.add(1,"day"),Br.assignTheNextDay(a,n);break;case"gestern":n=n.add(-1,"day"),Br.assignSimilarDate(a,n),Br.implySimilarTime(a,n);break;case"vorgestern":n=n.add(-2,"day"),Br.assignSimilarDate(a,n),Br.implySimilarTime(a,n);break;default:i.match(/letzte\s*nacht/)&&(n.hour()>6&&(n=n.add(-1,"day")),Br.assignSimilarDate(a,n),a.imply("hour",0));break}return s&&(a=hE.default.extractTimeComponents(a,s)),a}};vt.default=Bu});var pm=p(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});var _E=Se(),dm=si(),fm=si(),TE=ne(),bE=R(),vE=new RegExp(`(?:am\\s*?)?(?:den\\s*?)?([0-9]{1,2})\\.(?:\\s*(?:bis(?:\\s*(?:am|zum))?|\\-|\\\u2013|\\s)\\s*([0-9]{1,2})\\.?)?\\s*(${TE.matchAnyPattern(dm.MONTH_DICTIONARY)})(?:(?:-|/|,?\\s*)(${fm.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),um=1,lm=2,EE=3,cm=4,Gu=class extends bE.AbstractParserWithWordBoundaryChecking{innerPattern(){return vE}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=dm.MONTH_DICTIONARY[t[EE].toLowerCase()],s=parseInt(t[um]);if(s>31)return t.index=t.index+t[um].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[cm]){let a=fm.parseYear(t[cm]);n.start.assign("year",a)}else{let a=_E.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[lm]){let a=parseInt(t[lm]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};Hu.default=Gu});var hm=p(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});var Gs=si(),wE=pe(),RE=R(),ME=lt(),DE=ne(),zu=class extends RE.AbstractParserWithWordBoundaryChecking{constructor(){super()}innerPattern(){return new RegExp(`(?:\\s*((?:n\xE4chste|kommende|folgende|letzte|vergangene|vorige|vor(?:her|an)gegangene)(?:s|n|m|r)?|vor|in)\\s*)?(${Gs.NUMBER_PATTERN})?(?:\\s*(n\xE4chste|kommende|folgende|letzte|vergangene|vorige|vor(?:her|an)gegangene)(?:s|n|m|r)?)?\\s*(${DE.matchAnyPattern(Gs.TIME_UNIT_DICTIONARY)})`,"i")}innerExtract(e,t){let n=t[2]?Gs.parseNumberPattern(t[2]):1,i=Gs.TIME_UNIT_DICTIONARY[t[4].toLowerCase()],s={};s[i]=n;let a=t[1]||t[3]||"";if(a=a.toLowerCase(),!!a)return(/vor/.test(a)||/letzte/.test(a)||/vergangen/.test(a))&&(s=ME.reverseTimeUnits(s)),wE.ParsingComponents.createRelativeFromReference(e.reference,s)}};Ku.default=zu});var gm=p(De=>{"use strict";var Et=De&&De.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(De,"__esModule",{value:!0});De.createConfiguration=De.createCasualConfiguration=De.parseDate=De.parse=De.strict=De.casual=void 0;var OE=Vt(),mm=bt(),PE=Et($r()),AE=Et(yu()),kE=Et(zh()),NE=Et(Qh()),CE=Et(rm()),SE=Et(nm()),xE=Et(im()),IE=Et(om()),FE=Et(ju()),UE=Et(pm()),qE=Et(hm());De.casual=new mm.Chrono(ym());De.strict=new mm.Chrono(Vu(!0));function WE(r,e,t){return De.casual.parse(r,e,t)}De.parse=WE;function LE(r,e,t){return De.casual.parseDate(r,e,t)}De.parseDate=LE;function ym(r=!0){let e=Vu(!1,r);return e.parsers.unshift(new FE.default),e.parsers.unshift(new IE.default),e.parsers.unshift(new qE.default),e}De.createCasualConfiguration=ym;function Vu(r=!0,e=!0){return OE.includeCommonConfiguration({parsers:[new AE.default,new PE.default(e),new kE.default,new CE.default,new UE.default,new NE.default],refiners:[new SE.default,new xE.default]},r)}De.createConfiguration=Vu});var Tm=p(wt=>{"use strict";var YE=wt&&wt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),$E=wt&&wt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),jE=wt&&wt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&YE(e,r,t);return $E(e,r),e},BE=wt&&wt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(wt,"__esModule",{value:!0});var GE=BE(Z()),HE=Ee(),zE=R(),_m=ut(),Hs=jE(Xt()),Zu=class extends zE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(maintenant|aujourd'hui|demain|hier|cette\s*nuit|la\s*veille)(?=\W|$)/i}innerExtract(e,t){let n=GE.default(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();switch(i){case"maintenant":return Hs.now(e.reference);case"aujourd'hui":return Hs.today(e.reference);case"hier":return Hs.yesterday(e.reference);case"demain":return Hs.tomorrow(e.reference);default:i.match(/cette\s*nuit/)?(_m.assignSimilarDate(s,n),s.imply("hour",22),s.imply("meridiem",HE.Meridiem.PM)):i.match(/la\s*veille/)&&(n=n.add(-1,"day"),_m.assignSimilarDate(s,n),s.imply("hour",0))}return s}};wt.default=Zu});var bm=p(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});var ci=Ee(),KE=R(),Xu=class extends KE.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(cet?)?\s*(matin|soir|après-midi|aprem|a midi|à minuit)(?=\W|$)/i}innerExtract(e,t){let n=t[2].toLowerCase(),i=e.createParsingComponents();switch(n){case"apr\xE8s-midi":case"aprem":i.imply("hour",14),i.imply("minute",0),i.imply("meridiem",ci.Meridiem.PM);break;case"soir":i.imply("hour",18),i.imply("minute",0),i.imply("meridiem",ci.Meridiem.PM);break;case"matin":i.imply("hour",8),i.imply("minute",0),i.imply("meridiem",ci.Meridiem.AM);break;case"a midi":i.imply("hour",12),i.imply("minute",0),i.imply("meridiem",ci.Meridiem.AM);break;case"\xE0 minuit":i.imply("hour",0),i.imply("meridiem",ci.Meridiem.AM);break}return i}};Qu.default=Xu});var vm=p(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});var VE=Wr(),Ju=class extends VE.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:[\xE0a])\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|[\xE0a]|\\?)\\s*"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}};el.default=Ju});var Em=p(di=>{"use strict";var ZE=di&&di.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(di,"__esModule",{value:!0});var XE=ZE(Kt()),tl=class extends XE.default{patternBetween(){return new RegExp("^\\s*(T|\xE0|a|vers|de|,|-)?\\s*$")}};di.default=tl});var wm=p(fi=>{"use strict";var QE=fi&&fi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(fi,"__esModule",{value:!0});var JE=QE(It()),rl=class extends JE.default{patternBetween(){return/^\s*(à|a|-)\s*$/i}};fi.default=rl});var wr=p(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.parseTimeUnits=X.TIME_UNITS_PATTERN=X.parseYear=X.YEAR_PATTERN=X.parseOrdinalNumberPattern=X.ORDINAL_NUMBER_PATTERN=X.parseNumberPattern=X.NUMBER_PATTERN=X.TIME_UNIT_DICTIONARY=X.INTEGER_WORD_DICTIONARY=X.MONTH_DICTIONARY=X.WEEKDAY_DICTIONARY=void 0;var nl=ne();X.WEEKDAY_DICTIONARY={dimanche:0,dim:0,lundi:1,lun:1,mardi:2,mar:2,mercredi:3,mer:3,jeudi:4,jeu:4,vendredi:5,ven:5,samedi:6,sam:6};X.MONTH_DICTIONARY={janvier:1,jan:1,"jan.":1,f\u00E9vrier:2,f\u00E9v:2,"f\xE9v.":2,fevrier:2,fev:2,"fev.":2,mars:3,mar:3,"mar.":3,avril:4,avr:4,"avr.":4,mai:5,juin:6,jun:6,juillet:7,juil:7,jul:7,"jul.":7,ao\u00FBt:8,aout:8,septembre:9,sep:9,"sep.":9,sept:9,"sept.":9,octobre:10,oct:10,"oct.":10,novembre:11,nov:11,"nov.":11,d\u00E9cembre:12,decembre:12,dec:12,"dec.":12};X.INTEGER_WORD_DICTIONARY={un:1,deux:2,trois:3,quatre:4,cinq:5,six:6,sept:7,huit:8,neuf:9,dix:10,onze:11,douze:12,treize:13};X.TIME_UNIT_DICTIONARY={sec:"second",seconde:"second",secondes:"second",min:"minute",mins:"minute",minute:"minute",minutes:"minute",h:"hour",hr:"hour",hrs:"hour",heure:"hour",heures:"hour",jour:"d",jours:"d",semaine:"week",semaines:"week",mois:"month",trimestre:"quarter",trimestres:"quarter",ans:"year",ann\u00E9e:"year",ann\u00E9es:"year"};X.NUMBER_PATTERN=`(?:${nl.matchAnyPattern(X.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|une?\\b|quelques?|demi-?)`;function Mm(r){let e=r.toLowerCase();return X.INTEGER_WORD_DICTIONARY[e]!==void 0?X.INTEGER_WORD_DICTIONARY[e]:e==="une"||e==="un"?1:e.match(/quelques?/)?3:e.match(/demi-?/)?.5:parseFloat(e)}X.parseNumberPattern=Mm;X.ORDINAL_NUMBER_PATTERN="(?:[0-9]{1,2}(?:er)?)";function e0(r){let e=r.toLowerCase();return e=e.replace(/(?:er)$/i,""),parseInt(e)}X.parseOrdinalNumberPattern=e0;X.YEAR_PATTERN="(?:[1-9][0-9]{0,3}\\s*(?:AC|AD|p\\.\\s*C(?:hr?)?\\.\\s*n\\.)|[1-2][0-9]{3}|[5-9][0-9])";function t0(r){if(/AC/i.test(r))return r=r.replace(/BC/i,""),-parseInt(r);if(/AD/i.test(r)||/C/i.test(r))return r=r.replace(/[^\d]+/i,""),parseInt(r);let e=parseInt(r);return e<100&&(e>50?e=e+1900:e=e+2e3),e}X.parseYear=t0;var Dm=`(${X.NUMBER_PATTERN})\\s{0,5}(${nl.matchAnyPattern(X.TIME_UNIT_DICTIONARY)})\\s{0,5}`,Rm=new RegExp(Dm,"i");X.TIME_UNITS_PATTERN=nl.repeatedTimeunitPattern("",Dm);function r0(r){let e={},t=r,n=Rm.exec(t);for(;n;)n0(e,n),t=t.substring(n[0].length),n=Rm.exec(t);return e}X.parseTimeUnits=r0;function n0(r,e){let t=Mm(e[1]),n=X.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Pm=p(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});var Om=wr(),i0=ne(),s0=R(),a0=Yr(),o0=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:(?:ce)\\s*)?(${i0.matchAnyPattern(Om.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(dernier|prochain)\\s*)?(?=\\W|\\d|$)`,"i"),u0=1,l0=2,il=class extends s0.AbstractParserWithWordBoundaryChecking{innerPattern(){return o0}innerExtract(e,t){let n=t[u0].toLowerCase(),i=Om.WEEKDAY_DICTIONARY[n];if(i===void 0)return null;let s=t[l0];s=s||"",s=s.toLowerCase();let a=null;s=="dernier"?a="last":s=="prochain"&&(a="next");let o=a0.toDayJSWeekday(e.refDate,i,a);return e.createParsingComponents().assign("weekday",i).imply("day",o.date()).imply("month",o.month()+1).imply("year",o.year())}};sl.default=il});var Cm=p(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});var pi=Ee(),c0=new RegExp("(^|\\s|T)(?:(?:[\xE0a])\\s*)?(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s|:)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),d0=new RegExp("^\\s*(\\-|\\\u2013|\\~|\\\u301C|[\xE0a]|\\?)\\s*(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s|:)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),f0=2,Am=3,km=4,Nm=5,bn=class{pattern(e){return c0}extract(e,t){let n=e.createParsingResult(t.index+t[1].length,t[0].substring(t[1].length));if(n.text.match(/^\d{4}$/)||(n.start=bn.extractTimeComponent(n.start.clone(),t),!n.start))return t.index+=t[0].length,null;let i=e.text.substring(t.index+t[0].length),s=d0.exec(i);return s&&(n.end=bn.extractTimeComponent(n.start.clone(),s),n.end&&(n.text+=s[0])),n}static extractTimeComponent(e,t){let n=0,i=0,s=null;if(n=parseInt(t[f0]),t[Am]!=null&&(i=parseInt(t[Am])),i>=60||n>24)return null;if(n>=12&&(s=pi.Meridiem.PM),t[Nm]!=null){if(n>12)return null;let a=t[Nm][0].toLowerCase();a=="a"&&(s=pi.Meridiem.AM,n==12&&(n=0)),a=="p"&&(s=pi.Meridiem.PM,n!=12&&(n+=12))}if(e.assign("hour",n),e.assign("minute",i),s!==null?e.assign("meridiem",s):n<12?e.imply("meridiem",pi.Meridiem.AM):e.imply("meridiem",pi.Meridiem.PM),t[km]!=null){let a=parseInt(t[km]);if(a>=60)return null;e.assign("second",a)}return e}};al.default=bn});var qm=p(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});var p0=Se(),Fm=wr(),Um=wr(),zs=wr(),h0=ne(),m0=R(),y0=new RegExp(`(?:on\\s*?)?(${zs.ORDINAL_NUMBER_PATTERN})(?:\\s*(?:au|\\-|\\\u2013|jusqu'au?|\\s)\\s*(${zs.ORDINAL_NUMBER_PATTERN}))?(?:-|/|\\s*(?:de)?\\s*)(${h0.matchAnyPattern(Fm.MONTH_DICTIONARY)})(?:(?:-|/|,?\\s*)(${Um.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),Sm=1,xm=2,g0=3,Im=4,ol=class extends m0.AbstractParserWithWordBoundaryChecking{innerPattern(){return y0}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Fm.MONTH_DICTIONARY[t[g0].toLowerCase()],s=zs.parseOrdinalNumberPattern(t[Sm]);if(s>31)return t.index=t.index+t[Sm].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[Im]){let a=Um.parseYear(t[Im]);n.start.assign("year",a)}else{let a=p0.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[xm]){let a=zs.parseOrdinalNumberPattern(t[xm]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};ul.default=ol});var Lm=p(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});var Wm=wr(),_0=pe(),T0=R(),b0=lt(),ll=class extends T0.AbstractParserWithWordBoundaryChecking{constructor(){super()}innerPattern(){return new RegExp(`il y a\\s*(${Wm.TIME_UNITS_PATTERN})(?=(?:\\W|$))`,"i")}innerExtract(e,t){let n=Wm.parseTimeUnits(t[1]),i=b0.reverseTimeUnits(n);return _0.ParsingComponents.createRelativeFromReference(e.reference,i)}};cl.default=ll});var $m=p(fl=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});var Ym=wr(),v0=pe(),E0=R(),dl=class extends E0.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp(`(?:dans|en|pour|pendant|de)\\s*(${Ym.TIME_UNITS_PATTERN})(?=\\W|$)`,"i")}innerExtract(e,t){let n=Ym.parseTimeUnits(t[1]);return v0.ParsingComponents.createRelativeFromReference(e.reference,n)}};fl.default=dl});var jm=p(hl=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});var Ks=wr(),w0=pe(),R0=R(),M0=lt(),D0=ne(),pl=class extends R0.AbstractParserWithWordBoundaryChecking{constructor(){super()}innerPattern(){return new RegExp(`(?:les?|la|l'|du|des?)\\s*(${Ks.NUMBER_PATTERN})?(?:\\s*(prochaine?s?|derni[e\xE8]re?s?|pass[\xE9e]e?s?|pr[\xE9e]c[\xE9e]dents?|suivante?s?))?\\s*(${D0.matchAnyPattern(Ks.TIME_UNIT_DICTIONARY)})(?:\\s*(prochaine?s?|derni[e\xE8]re?s?|pass[\xE9e]e?s?|pr[\xE9e]c[\xE9e]dents?|suivante?s?))?`,"i")}innerExtract(e,t){let n=t[1]?Ks.parseNumberPattern(t[1]):1,i=Ks.TIME_UNIT_DICTIONARY[t[3].toLowerCase()],s={};s[i]=n;let a=t[2]||t[4]||"";if(a=a.toLowerCase(),!!a)return(/derni[eè]re?s?/.test(a)||/pass[ée]e?s?/.test(a)||/pr[ée]c[ée]dents?/.test(a))&&(s=M0.reverseTimeUnits(s)),w0.ParsingComponents.createRelativeFromReference(e.reference,s)}};hl.default=pl});var Hm=p(Oe=>{"use strict";var ct=Oe&&Oe.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.createConfiguration=Oe.createCasualConfiguration=Oe.parseDate=Oe.parse=Oe.strict=Oe.casual=void 0;var O0=Vt(),Bm=bt(),P0=ct(Tm()),A0=ct(bm()),k0=ct($r()),N0=ct(vm()),C0=ct(Em()),S0=ct(wm()),x0=ct(Pm()),I0=ct(Cm()),F0=ct(qm()),U0=ct(Lm()),q0=ct($m()),W0=ct(jm());Oe.casual=new Bm.Chrono(Gm());Oe.strict=new Bm.Chrono(ml(!0));function L0(r,e,t){return Oe.casual.parse(r,e,t)}Oe.parse=L0;function Y0(r,e,t){return Oe.casual.parseDate(r,e,t)}Oe.parseDate=Y0;function Gm(r=!0){let e=ml(!1,r);return e.parsers.unshift(new P0.default),e.parsers.unshift(new A0.default),e.parsers.unshift(new W0.default),e}Oe.createCasualConfiguration=Gm;function ml(r=!0,e=!0){return O0.includeCommonConfiguration({parsers:[new k0.default(e),new F0.default,new N0.default,new I0.default,new U0.default,new q0.default,new x0.default],refiners:[new C0.default,new S0.default]},r)}Oe.createConfiguration=ml});var zm=p(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.toHankaku=void 0;function $0(r){return String(r).replace(/\u2019/g,"'").replace(/\u201D/g,'"').replace(/\u3000/g," ").replace(/\uFFE5/g,"\xA5").replace(/[\uFF01\uFF03-\uFF06\uFF08\uFF09\uFF0C-\uFF19\uFF1C-\uFF1F\uFF21-\uFF3B\uFF3D\uFF3F\uFF41-\uFF5B\uFF5D\uFF5E]/g,j0)}Vs.toHankaku=$0;function j0(r){return String.fromCharCode(r.charCodeAt(0)-65248)}});var Vm=p(hi=>{"use strict";var B0=hi&&hi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(hi,"__esModule",{value:!0});var yl=zm(),G0=Se(),H0=B0(Z()),z0=/(?:(?:([同今本])|((昭和|平成|令和)?([0-90-9]{1,4}|元)))年\s*)?([0-90-9]{1,2})月\s*([0-90-9]{1,2})日/i,Km=1,K0=2,gl=3,V0=4,Z0=5,X0=6,_l=class{pattern(){return z0}extract(e,t){let n=parseInt(yl.toHankaku(t[Z0])),i=parseInt(yl.toHankaku(t[X0])),s=e.createParsingComponents({day:i,month:n});if(t[Km]&&t[Km].match("\u540C|\u4ECA|\u672C")){let a=H0.default(e.refDate);s.assign("year",a.year())}if(t[K0]){let a=t[V0],o=a=="\u5143"?1:parseInt(yl.toHankaku(a));t[gl]=="\u4EE4\u548C"?o+=2018:t[gl]=="\u5E73\u6210"?o+=1988:t[gl]=="\u662D\u548C"&&(o+=1925),s.assign("year",o)}else{let a=G0.findYearClosestToRef(e.refDate,i,n);s.imply("year",a)}return s}};hi.default=_l});var Zm=p(mi=>{"use strict";var Q0=mi&&mi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mi,"__esModule",{value:!0});var J0=Q0(It()),Tl=class extends J0.default{patternBetween(){return/^\s*(から|ー|-)\s*$/i}};mi.default=Tl});var Qm=p(Rt=>{"use strict";var ew=Rt&&Rt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),tw=Rt&&Rt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),rw=Rt&&Rt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&ew(e,r,t);return tw(e,r),e},nw=Rt&&Rt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Rt,"__esModule",{value:!0});var iw=nw(Z()),Xm=Ee(),bl=rw(Xt()),sw=/今日|当日|昨日|明日|今夜|今夕|今晩|今朝/i,vl=class{pattern(){return sw}extract(e,t){let n=t[0],i=iw.default(e.refDate),s=e.createParsingComponents();switch(n){case"\u6628\u65E5":return bl.yesterday(e.reference);case"\u660E\u65E5":return bl.tomorrow(e.reference);case"\u4ECA\u65E5":case"\u5F53\u65E5":return bl.today(e.reference)}return n=="\u4ECA\u591C"||n=="\u4ECA\u5915"||n=="\u4ECA\u6669"?(s.imply("hour",22),s.assign("meridiem",Xm.Meridiem.PM)):n.match("\u4ECA\u671D")&&(s.imply("hour",6),s.assign("meridiem",Xm.Meridiem.AM)),s.assign("day",i.date()),s.assign("month",i.month()+1),s.assign("year",i.year()),s}};Rt.default=vl});var ty=p(Pe=>{"use strict";var El=Pe&&Pe.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.createConfiguration=Pe.createCasualConfiguration=Pe.parseDate=Pe.parse=Pe.strict=Pe.casual=void 0;var aw=El(Vm()),ow=El(Zm()),uw=El(Qm()),Jm=bt();Pe.casual=new Jm.Chrono(ey());Pe.strict=new Jm.Chrono(wl());function lw(r,e,t){return Pe.casual.parse(r,e,t)}Pe.parse=lw;function cw(r,e,t){return Pe.casual.parseDate(r,e,t)}Pe.parseDate=cw;function ey(){let r=wl();return r.parsers.unshift(new uw.default),r}Pe.createCasualConfiguration=ey;function wl(){return{parsers:[new aw.default],refiners:[new ow.default]}}Pe.createConfiguration=wl});var Zs=p(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.parseYear=Ut.YEAR_PATTERN=Ut.MONTH_DICTIONARY=Ut.WEEKDAY_DICTIONARY=void 0;Ut.WEEKDAY_DICTIONARY={domingo:0,dom:0,segunda:1,"segunda-feira":1,seg:1,ter\u00E7a:2,"ter\xE7a-feira":2,ter:2,quarta:3,"quarta-feira":3,qua:3,quinta:4,"quinta-feira":4,qui:4,sexta:5,"sexta-feira":5,sex:5,s\u00E1bado:6,sabado:6,sab:6};Ut.MONTH_DICTIONARY={janeiro:1,jan:1,"jan.":1,fevereiro:2,fev:2,"fev.":2,mar\u00E7o:3,mar:3,"mar.":3,abril:4,abr:4,"abr.":4,maio:5,mai:5,"mai.":5,junho:6,jun:6,"jun.":6,julho:7,jul:7,"jul.":7,agosto:8,ago:8,"ago.":8,setembro:9,set:9,"set.":9,outubro:10,out:10,"out.":10,novembro:11,nov:11,"nov.":11,dezembro:12,dez:12,"dez.":12};Ut.YEAR_PATTERN="[0-9]{1,4}(?![^\\s]\\d)(?:\\s*[a|d]\\.?\\s*c\\.?|\\s*a\\.?\\s*d\\.?)?";function dw(r){if(r.match(/^[0-9]{1,4}$/)){let e=parseInt(r);return e<100&&(e>50?e=e+1900:e=e+2e3),e}return r.match(/a\.?\s*c\.?/i)?(r=r.replace(/a\.?\s*c\.?/i,""),-parseInt(r)):parseInt(r)}Ut.parseYear=dw});var ny=p(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});var ry=Zs(),fw=ne(),pw=R(),hw=Yr(),mw=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:(este|esta|passado|pr[o\xF3]ximo)\\s*)?(${fw.matchAnyPattern(ry.WEEKDAY_DICTIONARY)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(este|esta|passado|pr[\xF3o]ximo)\\s*semana)?(?=\\W|\\d|$)`,"i"),yw=1,gw=2,_w=3,Rl=class extends pw.AbstractParserWithWordBoundaryChecking{innerPattern(){return mw}innerExtract(e,t){let n=t[gw].toLowerCase(),i=ry.WEEKDAY_DICTIONARY[n];if(i===void 0)return null;let s=t[yw],a=t[_w],o=s||a||"";o=o.toLowerCase();let u=null;o=="passado"?u="this":o=="pr\xF3ximo"||o=="proximo"?u="next":o=="este"&&(u="this");let l=hw.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};Ml.default=Rl});var iy=p(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});var Tw=Wr(),Dl=class extends Tw.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:ao?|\xE0s?|das|da|de|do)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|a(?:o)?|\\?)\\s*"}};Ol.default=Dl});var sy=p(yi=>{"use strict";var bw=yi&&yi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(yi,"__esModule",{value:!0});var vw=bw(Kt()),Pl=class extends vw.default{patternBetween(){return new RegExp("^\\s*(?:,|\xE0)?\\s*$")}};yi.default=Pl});var ay=p(gi=>{"use strict";var Ew=gi&&gi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(gi,"__esModule",{value:!0});var ww=Ew(It()),Al=class extends ww.default{patternBetween(){return/^\s*(?:-)\s*$/i}};gi.default=Al});var fy=p(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var Rw=Se(),cy=Zs(),dy=Zs(),Mw=ne(),Dw=R(),Ow=new RegExp(`([0-9]{1,2})(?:\xBA|\xAA|\xB0)?(?:\\s*(?:desde|de|\\-|\\\u2013|ao?|\\s)\\s*([0-9]{1,2})(?:\xBA|\xAA|\xB0)?)?\\s*(?:de)?\\s*(?:-|/|\\s*(?:de|,)?\\s*)(${Mw.matchAnyPattern(cy.MONTH_DICTIONARY)})(?:\\s*(?:de|,)?\\s*(${dy.YEAR_PATTERN}))?(?=\\W|$)`,"i"),oy=1,uy=2,Pw=3,ly=4,kl=class extends Dw.AbstractParserWithWordBoundaryChecking{innerPattern(){return Ow}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=cy.MONTH_DICTIONARY[t[Pw].toLowerCase()],s=parseInt(t[oy]);if(s>31)return t.index=t.index+t[oy].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[ly]){let a=dy.parseYear(t[ly]);n.start.assign("year",a)}else{let a=Rw.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[uy]){let a=parseInt(t[uy]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};Nl.default=kl});var py=p(Qt=>{"use strict";var Aw=Qt&&Qt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),kw=Qt&&Qt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),Nw=Qt&&Qt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&Aw(e,r,t);return kw(e,r),e};Object.defineProperty(Qt,"__esModule",{value:!0});var Cw=R(),Xs=Nw(Xt()),Cl=class extends Cw.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(agora|hoje|amanha|amanhã|ontem)(?=\W|$)/i}innerExtract(e,t){let n=t[0].toLowerCase(),i=e.createParsingComponents();switch(n){case"agora":return Xs.now(e.reference);case"hoje":return Xs.today(e.reference);case"amanha":case"amanh\xE3":return Xs.tomorrow(e.reference);case"ontem":return Xs.yesterday(e.reference)}return i}};Qt.default=Cl});var hy=p(_i=>{"use strict";var Sw=_i&&_i.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(_i,"__esModule",{value:!0});var Qs=Ee(),xw=R(),Iw=ut(),Fw=Sw(Z()),Sl=class extends xw.AbstractParserWithWordBoundaryChecking{innerPattern(){return/(?:esta\s*)?(manha|manhã|tarde|meia-noite|meio-dia|noite)(?=\W|$)/i}innerExtract(e,t){let n=Fw.default(e.refDate),i=e.createParsingComponents();switch(t[1].toLowerCase()){case"tarde":i.imply("meridiem",Qs.Meridiem.PM),i.imply("hour",15);break;case"noite":i.imply("meridiem",Qs.Meridiem.PM),i.imply("hour",22);break;case"manha":case"manh\xE3":i.imply("meridiem",Qs.Meridiem.AM),i.imply("hour",6);break;case"meia-noite":Iw.assignTheNextDay(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"meio-dia":i.imply("meridiem",Qs.Meridiem.AM),i.imply("hour",12);break}return i}};_i.default=Sl});var gy=p(Ae=>{"use strict";var Rr=Ae&&Ae.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.createConfiguration=Ae.createCasualConfiguration=Ae.parseDate=Ae.parse=Ae.strict=Ae.casual=void 0;var Uw=Vt(),my=bt(),qw=Rr($r()),Ww=Rr(ny()),Lw=Rr(iy()),Yw=Rr(sy()),$w=Rr(ay()),jw=Rr(fy()),Bw=Rr(py()),Gw=Rr(hy());Ae.casual=new my.Chrono(yy());Ae.strict=new my.Chrono(xl(!0));function Hw(r,e,t){return Ae.casual.parse(r,e,t)}Ae.parse=Hw;function zw(r,e,t){return Ae.casual.parseDate(r,e,t)}Ae.parseDate=zw;function yy(r=!0){let e=xl(!1,r);return e.parsers.push(new Bw.default),e.parsers.push(new Gw.default),e}Ae.createCasualConfiguration=yy;function xl(r=!0,e=!0){return Uw.includeCommonConfiguration({parsers:[new qw.default(e),new Ww.default,new Lw.default,new jw.default],refiners:[new Yw.default,new $w.default]},r)}Ae.createConfiguration=xl});var _y=p(Ti=>{"use strict";var Kw=Ti&&Ti.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ti,"__esModule",{value:!0});var Vw=Kw(It()),Il=class extends Vw.default{patternBetween(){return/^\s*(tot|-)\s*$/i}};Ti.default=Il});var Ty=p(bi=>{"use strict";var Zw=bi&&bi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(bi,"__esModule",{value:!0});var Xw=Zw(Kt()),Fl=class extends Xw.default{patternBetween(){return new RegExp("^\\s*(om|na|voor|in de|,|-)?\\s*$")}};bi.default=Fl});var by=p(Jt=>{"use strict";var Qw=Jt&&Jt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),Jw=Jt&&Jt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),eR=Jt&&Jt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&Qw(e,r,t);return Jw(e,r),e};Object.defineProperty(Jt,"__esModule",{value:!0});var tR=R(),Js=eR(Xt()),Ul=class extends tR.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(nu|vandaag|morgen|morgend|gisteren)(?=\W|$)/i}innerExtract(e,t){let n=t[0].toLowerCase(),i=e.createParsingComponents();switch(n){case"nu":return Js.now(e.reference);case"vandaag":return Js.today(e.reference);case"morgen":case"morgend":return Js.tomorrow(e.reference);case"gisteren":return Js.yesterday(e.reference)}return i}};Jt.default=Ul});var vy=p(vi=>{"use strict";var rR=vi&&vi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(vi,"__esModule",{value:!0});var ea=Ee(),nR=R(),iR=rR(Z()),sR=ut(),aR=1,oR=2,ql=class extends nR.AbstractParserWithWordBoundaryChecking{innerPattern(){return/(deze)?\s*(namiddag|avond|middernacht|ochtend|middag|'s middags|'s avonds|'s ochtends)(?=\W|$)/i}innerExtract(e,t){let n=iR.default(e.refDate),i=e.createParsingComponents();switch(t[aR]==="deze"&&(i.assign("day",e.refDate.getDate()),i.assign("month",e.refDate.getMonth()+1),i.assign("year",e.refDate.getFullYear())),t[oR].toLowerCase()){case"namiddag":case"'s namiddags":i.imply("meridiem",ea.Meridiem.PM),i.imply("hour",15);break;case"avond":case"'s avonds'":i.imply("meridiem",ea.Meridiem.PM),i.imply("hour",20);break;case"middernacht":sR.assignTheNextDay(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"ochtend":case"'s ochtends":i.imply("meridiem",ea.Meridiem.AM),i.imply("hour",6);break;case"middag":case"'s middags":i.imply("meridiem",ea.Meridiem.AM),i.imply("hour",12);break}return i}};vi.default=ql});var tt=p(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.parseTimeUnits=B.TIME_UNITS_PATTERN=B.parseYear=B.YEAR_PATTERN=B.parseOrdinalNumberPattern=B.ORDINAL_NUMBER_PATTERN=B.parseNumberPattern=B.NUMBER_PATTERN=B.TIME_UNIT_DICTIONARY=B.ORDINAL_WORD_DICTIONARY=B.INTEGER_WORD_DICTIONARY=B.MONTH_DICTIONARY=B.WEEKDAY_DICTIONARY=void 0;var ta=ne(),uR=Se();B.WEEKDAY_DICTIONARY={zondag:0,zon:0,"zon.":0,zo:0,"zo.":0,maandag:1,ma:1,"ma.":1,dinsdag:2,din:2,"din.":2,di:2,"di.":2,woensdag:3,woe:3,"woe.":3,wo:3,"wo.":3,donderdag:4,dond:4,"dond.":4,do:4,"do.":4,vrijdag:5,vrij:5,"vrij.":5,vr:5,"vr.":5,zaterdag:6,zat:6,"zat.":6,za:6,"za.":6};B.MONTH_DICTIONARY={januari:1,jan:1,"jan.":1,februari:2,feb:2,"feb.":2,maart:3,mar:3,"mar.":3,april:4,apr:4,"apr.":4,mei:5,juni:6,jun:6,"jun.":6,juli:7,jul:7,"jul.":7,augustus:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,oktober:10,okt:10,"okt.":10,november:11,nov:11,"nov.":11,december:12,dec:12,"dec.":12};B.INTEGER_WORD_DICTIONARY={een:1,twee:2,drie:3,vier:4,vijf:5,zes:6,zeven:7,acht:8,negen:9,tien:10,elf:11,twaalf:12};B.ORDINAL_WORD_DICTIONARY={eerste:1,tweede:2,derde:3,vierde:4,vijfde:5,zesde:6,zevende:7,achtste:8,negende:9,tiende:10,elfde:11,twaalfde:12,dertiende:13,veertiende:14,vijftiende:15,zestiende:16,zeventiende:17,achttiende:18,negentiende:19,twintigste:20,eenentwintigste:21,twee\u00EBntwintigste:22,drieentwintigste:23,vierentwintigste:24,vijfentwintigste:25,zesentwintigste:26,zevenentwintigste:27,achtentwintig:28,negenentwintig:29,dertigste:30,eenendertigste:31};B.TIME_UNIT_DICTIONARY={sec:"second",second:"second",seconden:"second",min:"minute",mins:"minute",minute:"minute",minuut:"minute",minuten:"minute",minuutje:"minute",h:"hour",hr:"hour",hrs:"hour",uur:"hour",u:"hour",uren:"hour",dag:"d",dagen:"d",week:"week",weken:"week",maand:"month",maanden:"month",jaar:"year",jr:"year",jaren:"year"};B.NUMBER_PATTERN=`(?:${ta.matchAnyPattern(B.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+[\\.,][0-9]+|halve?|half|paar)`;function wy(r){let e=r.toLowerCase();return B.INTEGER_WORD_DICTIONARY[e]!==void 0?B.INTEGER_WORD_DICTIONARY[e]:e==="paar"?2:e==="half"||e.match(/halve?/)?.5:parseFloat(e.replace(",","."))}B.parseNumberPattern=wy;B.ORDINAL_NUMBER_PATTERN=`(?:${ta.matchAnyPattern(B.ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:ste|de)?)`;function lR(r){let e=r.toLowerCase();return B.ORDINAL_WORD_DICTIONARY[e]!==void 0?B.ORDINAL_WORD_DICTIONARY[e]:(e=e.replace(/(?:ste|de)$/i,""),parseInt(e))}B.parseOrdinalNumberPattern=lR;B.YEAR_PATTERN="(?:[1-9][0-9]{0,3}\\s*(?:voor Christus|na Christus)|[1-2][0-9]{3}|[5-9][0-9])";function cR(r){if(/voor Christus/i.test(r))return r=r.replace(/voor Christus/i,""),-parseInt(r);if(/na Christus/i.test(r))return r=r.replace(/na Christus/i,""),parseInt(r);let e=parseInt(r);return uR.findMostLikelyADYear(e)}B.parseYear=cR;var Ry=`(${B.NUMBER_PATTERN})\\s{0,5}(${ta.matchAnyPattern(B.TIME_UNIT_DICTIONARY)})\\s{0,5}`,Ey=new RegExp(Ry,"i");B.TIME_UNITS_PATTERN=ta.repeatedTimeunitPattern("(?:(?:binnen|in)\\s*)?",Ry);function dR(r){let e={},t=r,n=Ey.exec(t);for(;n;)fR(e,n),t=t.substring(n[0].length),n=Ey.exec(t);return e}B.parseTimeUnits=dR;function fR(r,e){let t=wy(e[1]),n=B.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Dy=p(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var My=tt(),pR=pe(),hR=R(),Wl=class extends hR.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp("(?:binnen|in|binnen de|voor)\\s*("+My.TIME_UNITS_PATTERN+")(?=\\W|$)","i")}innerExtract(e,t){let n=My.parseTimeUnits(t[1]);return pR.ParsingComponents.createRelativeFromReference(e.reference,n)}};Ll.default=Wl});var Py=p($l=>{"use strict";Object.defineProperty($l,"__esModule",{value:!0});var Oy=tt(),mR=ne(),yR=R(),gR=Yr(),_R=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:op\\s*?)?(?:(deze|vorige|volgende)\\s*(?:week\\s*)?)?(${mR.matchAnyPattern(Oy.WEEKDAY_DICTIONARY)})(?=\\W|$)`,"i"),TR=1,bR=2,vR=3,Yl=class extends yR.AbstractParserWithWordBoundaryChecking{innerPattern(){return _R}innerExtract(e,t){let n=t[bR].toLowerCase(),i=Oy.WEEKDAY_DICTIONARY[n],s=t[TR],a=t[vR],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o=="vorige"?u="last":o=="volgende"?u="next":o=="deze"&&(u="this");let l=gR.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};$l.default=Yl});var xy=p(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var ER=Se(),Cy=tt(),ra=tt(),Sy=tt(),wR=ne(),RR=R(),MR=new RegExp(`(?:on\\s*?)?(${ra.ORDINAL_NUMBER_PATTERN})(?:\\s*(?:tot|\\-|\\\u2013|until|through|till|\\s)\\s*(${ra.ORDINAL_NUMBER_PATTERN}))?(?:-|/|\\s*(?:of)?\\s*)(`+wR.matchAnyPattern(Cy.MONTH_DICTIONARY)+`)(?:(?:-|/|,?\\s*)(${Sy.YEAR_PATTERN}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),DR=3,Ay=1,ky=2,Ny=4,jl=class extends RR.AbstractParserWithWordBoundaryChecking{innerPattern(){return MR}innerExtract(e,t){let n=Cy.MONTH_DICTIONARY[t[DR].toLowerCase()],i=ra.parseOrdinalNumberPattern(t[Ay]);if(i>31)return t.index=t.index+t[Ay].length,null;let s=e.createParsingComponents({day:i,month:n});if(t[Ny]){let u=Sy.parseYear(t[Ny]);s.assign("year",u)}else{let u=ER.findYearClosestToRef(e.refDate,i,n);s.imply("year",u)}if(!t[ky])return s;let a=ra.parseOrdinalNumberPattern(t[ky]),o=e.createParsingResult(t.index,t[0]);return o.start=s,o.end=s.clone(),o.end.assign("day",a),o}};Bl.default=jl});var qy=p(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});var Fy=tt(),OR=Se(),PR=ne(),Uy=tt(),AR=R(),kR=new RegExp(`(${PR.matchAnyPattern(Fy.MONTH_DICTIONARY)})\\s*(?:[,-]?\\s*(${Uy.YEAR_PATTERN})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,"i"),NR=1,Iy=2,Gl=class extends AR.AbstractParserWithWordBoundaryChecking{innerPattern(){return kR}innerExtract(e,t){let n=e.createParsingComponents();n.imply("day",1);let i=t[NR],s=Fy.MONTH_DICTIONARY[i.toLowerCase()];if(n.assign("month",s),t[Iy]){let a=Uy.parseYear(t[Iy]);n.assign("year",a)}else{let a=OR.findYearClosestToRef(e.refDate,1,s);n.imply("year",a)}return n}};Hl.default=Gl});var Wy=p(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var CR=R(),SR=new RegExp("([0-9]|0[1-9]|1[012])/([0-9]{4})","i"),xR=1,IR=2,zl=class extends CR.AbstractParserWithWordBoundaryChecking{innerPattern(){return SR}innerExtract(e,t){let n=parseInt(t[IR]),i=parseInt(t[xR]);return e.createParsingComponents().imply("day",1).assign("month",i).assign("year",n)}};Kl.default=zl});var Ly=p(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var FR=Wr(),Vl=class extends FR.AbstractTimeExpressionParser{primaryPrefix(){return"(?:(?:om)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|om|\\?)\\s*"}primarySuffix(){return"(?:\\s*(?:uur))?(?!/)(?=\\W|$)"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}};Zl.default=Vl});var jy=p(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var $y=tt(),UR=ne(),qR=R(),WR=new RegExp(`([0-9]{4})[\\.\\/\\s](?:(${UR.matchAnyPattern($y.MONTH_DICTIONARY)})|([0-9]{1,2}))[\\.\\/\\s]([0-9]{1,2})(?=\\W|$)`,"i"),LR=1,YR=2,Yy=3,$R=4,Xl=class extends qR.AbstractParserWithWordBoundaryChecking{innerPattern(){return WR}innerExtract(e,t){let n=t[Yy]?parseInt(t[Yy]):$y.MONTH_DICTIONARY[t[YR].toLowerCase()];if(n<1||n>12)return null;let i=parseInt(t[LR]);return{day:parseInt(t[$R]),month:n,year:i}}};Ql.default=Xl});var By=p(Ei=>{"use strict";var jR=Ei&&Ei.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ei,"__esModule",{value:!0});var BR=R(),na=Ee(),Jl=ut(),GR=jR(Z()),HR=1,zR=2,ec=class extends BR.AbstractParserWithWordBoundaryChecking{innerPattern(e){return/(gisteren|morgen|van)(ochtend|middag|namiddag|avond|nacht)(?=\W|$)/i}innerExtract(e,t){let n=t[HR].toLowerCase(),i=t[zR].toLowerCase(),s=e.createParsingComponents(),a=GR.default(e.refDate);switch(n){case"gisteren":Jl.assignSimilarDate(s,a.add(-1,"day"));break;case"van":Jl.assignSimilarDate(s,a);break;case"morgen":Jl.assignTheNextDay(s,a);break}switch(i){case"ochtend":s.imply("meridiem",na.Meridiem.AM),s.imply("hour",6);break;case"middag":s.imply("meridiem",na.Meridiem.AM),s.imply("hour",12);break;case"namiddag":s.imply("meridiem",na.Meridiem.PM),s.imply("hour",15);break;case"avond":s.imply("meridiem",na.Meridiem.PM),s.imply("hour",20);break}return s}};Ei.default=ec});var Hy=p(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var Gy=tt(),KR=pe(),VR=R(),ZR=lt(),XR=new RegExp(`(deze|vorige|afgelopen|komende|over|\\+|-)\\s*(${Gy.TIME_UNITS_PATTERN})(?=\\W|$)`,"i"),tc=class extends VR.AbstractParserWithWordBoundaryChecking{innerPattern(){return XR}innerExtract(e,t){let n=t[1].toLowerCase(),i=Gy.parseTimeUnits(t[2]);switch(n){case"vorige":case"afgelopen":case"-":i=ZR.reverseTimeUnits(i);break}return KR.ParsingComponents.createRelativeFromReference(e.reference,i)}};rc.default=tc});var Vy=p(wi=>{"use strict";var QR=wi&&wi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(wi,"__esModule",{value:!0});var Ky=tt(),zy=pe(),JR=QR(Z()),eM=R(),tM=ne(),rM=new RegExp(`(dit|deze|komende|volgend|volgende|afgelopen|vorige)\\s*(${tM.matchAnyPattern(Ky.TIME_UNIT_DICTIONARY)})(?=\\s*)(?=\\W|$)`,"i"),nM=1,iM=2,nc=class extends eM.AbstractParserWithWordBoundaryChecking{innerPattern(){return rM}innerExtract(e,t){let n=t[nM].toLowerCase(),i=t[iM].toLowerCase(),s=Ky.TIME_UNIT_DICTIONARY[i];if(n=="volgend"||n=="volgende"||n=="komende"){let u={};return u[s]=1,zy.ParsingComponents.createRelativeFromReference(e.reference,u)}if(n=="afgelopen"||n=="vorige"){let u={};return u[s]=-1,zy.ParsingComponents.createRelativeFromReference(e.reference,u)}let a=e.createParsingComponents(),o=JR.default(e.reference.instant);return i.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):i.match(/maand/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):i.match(/jaar/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}};wi.default=nc});var Zy=p(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var sc=tt(),sM=pe(),aM=R(),oM=lt(),uM=new RegExp("("+sc.TIME_UNITS_PATTERN+")(?:geleden|voor|eerder)(?=(?:\\W|$))","i"),lM=new RegExp("("+sc.TIME_UNITS_PATTERN+")geleden(?=(?:\\W|$))","i"),ic=class extends aM.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?lM:uM}innerExtract(e,t){let n=sc.parseTimeUnits(t[1]),i=oM.reverseTimeUnits(n);return sM.ParsingComponents.createRelativeFromReference(e.reference,i)}};ac.default=ic});var Xy=p(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var uc=tt(),cM=pe(),dM=R(),fM=new RegExp("("+uc.TIME_UNITS_PATTERN+")(later|na|vanaf nu|voortaan|vooruit|uit)(?=(?:\\W|$))","i"),pM=new RegExp("("+uc.TIME_UNITS_PATTERN+")(later|vanaf nu)(?=(?:\\W|$))","i"),hM=1,oc=class extends dM.AbstractParserWithWordBoundaryChecking{constructor(e){super(),this.strictMode=e}innerPattern(){return this.strictMode?pM:fM}innerExtract(e,t){let n=uc.parseTimeUnits(t[hM]);return cM.ParsingComponents.createRelativeFromReference(e.reference,n)}};lc.default=oc});var tg=p(ke=>{"use strict";var Ie=ke&&ke.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ke,"__esModule",{value:!0});ke.createConfiguration=ke.createCasualConfiguration=ke.parseDate=ke.parse=ke.strict=ke.casual=void 0;var mM=Vt(),Qy=bt(),yM=Ie(_y()),gM=Ie(Ty()),_M=Ie(by()),TM=Ie(vy()),bM=Ie($r()),vM=Ie(Dy()),EM=Ie(Py()),wM=Ie(xy()),Jy=Ie(qy()),RM=Ie(Wy()),MM=Ie(Ly()),DM=Ie(jy()),OM=Ie(By()),PM=Ie(Hy()),AM=Ie(Vy()),kM=Ie(Zy()),NM=Ie(Xy());ke.casual=new Qy.Chrono(eg());ke.strict=new Qy.Chrono(cc(!0));function CM(r,e,t){return ke.casual.parse(r,e,t)}ke.parse=CM;function SM(r,e,t){return ke.casual.parseDate(r,e,t)}ke.parseDate=SM;function eg(r=!0){let e=cc(!1,r);return e.parsers.unshift(new _M.default),e.parsers.unshift(new TM.default),e.parsers.unshift(new OM.default),e.parsers.unshift(new Jy.default),e.parsers.unshift(new AM.default),e.parsers.unshift(new PM.default),e}ke.createCasualConfiguration=eg;function cc(r=!0,e=!0){return mM.includeCommonConfiguration({parsers:[new bM.default(e),new vM.default,new wM.default,new Jy.default,new EM.default,new DM.default,new RM.default,new MM.default(r),new kM.default(r),new NM.default(r)],refiners:[new gM.default,new yM.default]},r)}ke.createConfiguration=cc});var sg=p(Ri=>{"use strict";var xM=Ri&&Ri.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ri,"__esModule",{value:!0});var IM=xM(Z()),FM=R(),UM=1,rg=2,qM=3,ng=4,ig=5,WM=6,dc=class extends FM.AbstractParserWithWordBoundaryChecking{innerPattern(e){return new RegExp("(\u800C\u5BB6|\u7ACB(?:\u523B|\u5373)|\u5373\u523B)|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s|,|\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?","i")}innerExtract(e,t){let n=t.index,i=e.createParsingResult(n,t[0]),s=IM.default(e.refDate),a=s;if(t[UM])i.start.imply("hour",s.hour()),i.start.imply("minute",s.minute()),i.start.imply("second",s.second()),i.start.imply("millisecond",s.millisecond());else if(t[rg]){let o=t[rg],u=t[qM];o=="\u660E"||o=="\u807D"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u5F8C"?a=a.add(2,"day"):o=="\u5927\u5F8C"&&(a=a.add(3,"day")),u=="\u65E9"||u=="\u671D"?i.start.imply("hour",6):u=="\u665A"&&(i.start.imply("hour",22),i.start.imply("meridiem",1))}else if(t[ng]){let u=t[ng][0];u=="\u65E9"||u=="\u671D"||u=="\u4E0A"?i.start.imply("hour",6):u=="\u4E0B"||u=="\u664F"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):u=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):u=="\u591C"||u=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):u=="\u51CC"&&i.start.imply("hour",0)}else if(t[ig]){let o=t[ig];o=="\u660E"||o=="\u807D"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u5F8C"?a=a.add(2,"day"):o=="\u5927\u5F8C"&&(a=a.add(3,"day"));let u=t[WM];if(u){let l=u[0];l=="\u65E9"||l=="\u671D"||l=="\u4E0A"?i.start.imply("hour",6):l=="\u4E0B"||l=="\u664F"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):l=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):l=="\u591C"||l=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):l=="\u51CC"&&i.start.imply("hour",0)}}return i.start.assign("day",a.date()),i.start.assign("month",a.month()+1),i.start.assign("year",a.year()),i}};Ri.default=dc});var vn=p(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.zhStringToYear=ze.zhStringToNumber=ze.WEEKDAY_OFFSET=ze.NUMBER=void 0;ze.NUMBER={\u96F6:0,\u4E00:1,\u4E8C:2,\u5169:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10,\u5EFF:20,\u5345:30};ze.WEEKDAY_OFFSET={\u5929:0,\u65E5:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6};function LM(r){let e=0;for(let t=0;t{"use strict";var $M=Mi&&Mi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mi,"__esModule",{value:!0});var jM=$M(Z()),BM=R(),Gr=vn(),fc=1,ag=2,pc=3,hc=class extends BM.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp("(\\d{2,4}|["+Object.keys(Gr.NUMBER).join("")+"]{4}|["+Object.keys(Gr.NUMBER).join("")+"]{2})?(?:\\s*)(?:\u5E74)?(?:[\\s|,|\uFF0C]*)(\\d{1,2}|["+Object.keys(Gr.NUMBER).join("")+"]{1,2})(?:\\s*)(?:\u6708)(?:\\s*)(\\d{1,2}|["+Object.keys(Gr.NUMBER).join("")+"]{1,2})?(?:\\s*)(?:\u65E5|\u865F)?")}innerExtract(e,t){let n=jM.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=parseInt(t[ag]);if(isNaN(s)&&(s=Gr.zhStringToNumber(t[ag])),i.start.assign("month",s),t[pc]){let a=parseInt(t[pc]);isNaN(a)&&(a=Gr.zhStringToNumber(t[pc])),i.start.assign("day",a)}else i.start.imply("day",n.date());if(t[fc]){let a=parseInt(t[fc]);isNaN(a)&&(a=Gr.zhStringToYear(t[fc])),i.start.assign("year",a)}else i.start.imply("year",n.year());return i}};Mi.default=hc});var lg=p(Di=>{"use strict";var GM=Di&&Di.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Di,"__esModule",{value:!0});var HM=GM(Z()),zM=R(),ug=vn(),KM=new RegExp("(\\d+|["+Object.keys(ug.NUMBER).join("")+"]+|\u534A|\u5E7E)(?:\\s*)(?:\u500B)?(\u79D2(?:\u9418)?|\u5206\u9418|\u5C0F\u6642|\u9418|\u65E5|\u5929|\u661F\u671F|\u79AE\u62DC|\u6708|\u5E74)(?:(?:\u4E4B|\u904E)?\u5F8C|(?:\u4E4B)?\u5167)","i"),mc=1,VM=2,yc=class extends zM.AbstractParserWithWordBoundaryChecking{innerPattern(){return KM}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=parseInt(t[mc]);if(isNaN(i)&&(i=ug.zhStringToNumber(t[mc])),isNaN(i)){let u=t[mc];if(u==="\u5E7E")i=3;else if(u==="\u534A")i=.5;else return null}let s=HM.default(e.refDate),o=t[VM][0];return o.match(/[日天星禮月年]/)?(o=="\u65E5"||o=="\u5929"?s=s.add(i,"d"):o=="\u661F"||o=="\u79AE"?s=s.add(i*7,"d"):o=="\u6708"?s=s.add(i,"month"):o=="\u5E74"&&(s=s.add(i,"year")),n.start.assign("year",s.year()),n.start.assign("month",s.month()+1),n.start.assign("day",s.date()),n):(o=="\u79D2"?s=s.add(i,"second"):o=="\u5206"?s=s.add(i,"minute"):(o=="\u5C0F"||o=="\u9418")&&(s=s.add(i,"hour")),n.start.imply("year",s.year()),n.start.imply("month",s.month()+1),n.start.imply("day",s.date()),n.start.assign("hour",s.hour()),n.start.assign("minute",s.minute()),n.start.assign("second",s.second()),n)}};Di.default=yc});var dg=p(Oi=>{"use strict";var ZM=Oi&&Oi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Oi,"__esModule",{value:!0});var XM=ZM(Z()),QM=R(),cg=vn(),JM=new RegExp("(?\u4E0A|\u4ECA|\u4E0B|\u9019|\u5462)(?:\u500B)?(?:\u661F\u671F|\u79AE\u62DC|\u9031)(?"+Object.keys(cg.WEEKDAY_OFFSET).join("|")+")"),gc=class extends QM.AbstractParserWithWordBoundaryChecking{innerPattern(){return JM}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=cg.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=null,o=t.groups.prefix;o=="\u4E0A"?a="last":o=="\u4E0B"?a="next":(o=="\u4ECA"||o=="\u9019"||o=="\u5462")&&(a="this");let u=XM.default(e.refDate),l=!1,c=u.day();return a=="last"||a=="past"?(u=u.day(s-7),l=!0):a=="next"?(u=u.day(s+7),l=!0):a=="this"?u=u.day(s):Math.abs(s-7-c){"use strict";var eD=Pi&&Pi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Pi,"__esModule",{value:!0});var tD=eD(Z()),rD=R(),ft=vn(),nD=new RegExp("(?:\u7531|\u5F9E|\u81EA)?(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ft.NUMBER).join("")+"]+)(?:\\s*)(?:\u9EDE|\u6642|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ft.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ft.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),iD=new RegExp("(?:^\\s*(?:\u5230|\u81F3|\\-|\\\u2013|\\~|\\\u301C)\\s*)(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ft.NUMBER).join("")+"]+)(?:\\s*)(?:\u9EDE|\u6642|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ft.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ft.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),ia=1,sa=2,aa=3,oa=4,ua=5,la=6,dt=7,En=8,ca=9,_c=class extends rD.AbstractParserWithWordBoundaryChecking{innerPattern(){return nD}innerExtract(e,t){if(t.index>0&&e.text[t.index-1].match(/\w/))return null;let n=tD.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=n.clone();if(t[ia]){var a=t[ia];a=="\u660E"||a=="\u807D"?n.hour()>1&&s.add(1,"day"):a=="\u6628"||a=="\u5C0B"||a=="\u7434"?s.add(-1,"day"):a=="\u524D"?s.add(-2,"day"):a=="\u5927\u524D"?s.add(-3,"day"):a=="\u5F8C"?s.add(2,"day"):a=="\u5927\u5F8C"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else if(t[oa]){var o=t[oa];o=="\u660E"||o=="\u807D"?s.add(1,"day"):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?s.add(-1,"day"):o=="\u524D"?s.add(-2,"day"):o=="\u5927\u524D"?s.add(-3,"day"):o=="\u5F8C"?s.add(2,"day"):o=="\u5927\u5F8C"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else i.start.imply("day",s.date()),i.start.imply("month",s.month()+1),i.start.imply("year",s.year());let u=0,l=0,c=-1;if(t[En]){var d=parseInt(t[En]);if(isNaN(d)&&(d=ft.zhStringToNumber(t[En])),d>=60)return null;i.start.assign("second",d)}if(u=parseInt(t[la]),isNaN(u)&&(u=ft.zhStringToNumber(t[la])),t[dt]?t[dt]=="\u534A"?l=30:t[dt]=="\u6B63"||t[dt]=="\u6574"?l=0:(l=parseInt(t[dt]),isNaN(l)&&(l=ft.zhStringToNumber(t[dt]))):u>100&&(l=u%100,u=Math.floor(u/100)),l>=60||u>24)return null;if(u>=12&&(c=1),t[ca]){if(u>12)return null;var f=t[ca][0].toLowerCase();f=="a"&&(c=0,u==12&&(u=0)),f=="p"&&(c=1,u!=12&&(u+=12))}else if(t[sa]){var h=t[sa],g=h[0];g=="\u671D"||g=="\u65E9"?(c=0,u==12&&(u=0)):g=="\u665A"&&(c=1,u!=12&&(u+=12))}else if(t[aa]){var y=t[aa],_=y[0];_=="\u4E0A"||_=="\u671D"||_=="\u65E9"||_=="\u51CC"?(c=0,u==12&&(u=0)):(_=="\u4E0B"||_=="\u664F"||_=="\u665A")&&(c=1,u!=12&&(u+=12))}else if(t[ua]){var P=t[ua],A=P[0];A=="\u4E0A"||A=="\u671D"||A=="\u65E9"||A=="\u51CC"?(c=0,u==12&&(u=0)):(A=="\u4E0B"||A=="\u664F"||A=="\u665A")&&(c=1,u!=12&&(u+=12))}if(i.start.assign("hour",u),i.start.assign("minute",l),c>=0?i.start.assign("meridiem",c):u<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),t=iD.exec(e.text.substring(i.index+i.text.length)),!t)return i.text.match(/^\d+$/)?null:i;let N=s.clone();if(i.end=e.createParsingComponents(),t[ia]){var a=t[ia];a=="\u660E"||a=="\u807D"?n.hour()>1&&N.add(1,"day"):a=="\u6628"||a=="\u5C0B"||a=="\u7434"?N.add(-1,"day"):a=="\u524D"?N.add(-2,"day"):a=="\u5927\u524D"?N.add(-3,"day"):a=="\u5F8C"?N.add(2,"day"):a=="\u5927\u5F8C"&&N.add(3,"day"),i.end.assign("day",N.date()),i.end.assign("month",N.month()+1),i.end.assign("year",N.year())}else if(t[oa]){var o=t[oa];o=="\u660E"||o=="\u807D"?N.add(1,"day"):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?N.add(-1,"day"):o=="\u524D"?N.add(-2,"day"):o=="\u5927\u524D"?N.add(-3,"day"):o=="\u5F8C"?N.add(2,"day"):o=="\u5927\u5F8C"&&N.add(3,"day"),i.end.assign("day",N.date()),i.end.assign("month",N.month()+1),i.end.assign("year",N.year())}else i.end.imply("day",N.date()),i.end.imply("month",N.month()+1),i.end.imply("year",N.year());if(u=0,l=0,c=-1,t[En]){var d=parseInt(t[En]);if(isNaN(d)&&(d=ft.zhStringToNumber(t[En])),d>=60)return null;i.end.assign("second",d)}if(u=parseInt(t[la]),isNaN(u)&&(u=ft.zhStringToNumber(t[la])),t[dt]?t[dt]=="\u534A"?l=30:t[dt]=="\u6B63"||t[dt]=="\u6574"?l=0:(l=parseInt(t[dt]),isNaN(l)&&(l=ft.zhStringToNumber(t[dt]))):u>100&&(l=u%100,u=Math.floor(u/100)),l>=60||u>24)return null;if(u>=12&&(c=1),t[ca]){if(u>12)return null;var f=t[ca][0].toLowerCase();f=="a"&&(c=0,u==12&&(u=0)),f=="p"&&(c=1,u!=12&&(u+=12)),i.start.isCertain("meridiem")||(c==0?(i.start.imply("meridiem",0),i.start.get("hour")==12&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),i.start.get("hour")!=12&&i.start.assign("hour",i.start.get("hour")+12)))}else if(t[sa]){var h=t[sa],g=h[0];g=="\u671D"||g=="\u65E9"?(c=0,u==12&&(u=0)):g=="\u665A"&&(c=1,u!=12&&(u+=12))}else if(t[aa]){var y=t[aa],_=y[0];_=="\u4E0A"||_=="\u671D"||_=="\u65E9"||_=="\u51CC"?(c=0,u==12&&(u=0)):(_=="\u4E0B"||_=="\u664F"||_=="\u665A")&&(c=1,u!=12&&(u+=12))}else if(t[ua]){var P=t[ua],A=P[0];A=="\u4E0A"||A=="\u671D"||A=="\u65E9"||A=="\u51CC"?(c=0,u==12&&(u=0)):(A=="\u4E0B"||A=="\u664F"||A=="\u665A")&&(c=1,u!=12&&(u+=12))}return i.text=i.text+t[0],i.end.assign("hour",u),i.end.assign("minute",l),c>=0?i.end.assign("meridiem",c):i.start.isCertain("meridiem")&&i.start.get("meridiem")==1&&i.start.get("hour")>u?i.end.imply("meridiem",0):u>12&&i.end.imply("meridiem",1),i.end.date().getTime(){"use strict";var sD=Ai&&Ai.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ai,"__esModule",{value:!0});var aD=sD(Z()),oD=R(),pg=vn(),uD=new RegExp("(?:\u661F\u671F|\u79AE\u62DC|\u9031)(?"+Object.keys(pg.WEEKDAY_OFFSET).join("|")+")"),Tc=class extends oD.AbstractParserWithWordBoundaryChecking{innerPattern(){return uD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=pg.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=aD.default(e.refDate),o=!1,u=a.day();return Math.abs(s-7-u){"use strict";var lD=ki&&ki.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ki,"__esModule",{value:!0});var cD=lD(It()),bc=class extends cD.default{patternBetween(){return/^\s*(至|到|\-|\~|~|-|ー)\s*$/i}};ki.default=bc});var yg=p(Ni=>{"use strict";var dD=Ni&&Ni.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ni,"__esModule",{value:!0});var fD=dD(Kt()),vc=class extends fD.default{patternBetween(){return/^\s*$/i}};Ni.default=vc});var gg=p(_e=>{"use strict";var er=_e&&_e.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(_e,"__esModule",{value:!0});_e.createConfiguration=_e.createCasualConfiguration=_e.parseDate=_e.parse=_e.strict=_e.casual=_e.hant=void 0;var Ec=bt(),pD=er(Ls()),hD=Vt(),mD=er(sg()),yD=er(og()),gD=er(lg()),_D=er(dg()),TD=er(fg()),bD=er(hg()),vD=er(mg()),ED=er(yg());_e.hant=new Ec.Chrono(wc());_e.casual=new Ec.Chrono(wc());_e.strict=new Ec.Chrono(Rc());function wD(r,e,t){return _e.casual.parse(r,e,t)}_e.parse=wD;function RD(r,e,t){return _e.casual.parseDate(r,e,t)}_e.parseDate=RD;function wc(){let r=Rc();return r.parsers.unshift(new mD.default),r}_e.createCasualConfiguration=wc;function Rc(){let r=hD.includeCommonConfiguration({parsers:[new yD.default,new _D.default,new bD.default,new TD.default,new gD.default],refiners:[new vD.default,new ED.default]});return r.refiners=r.refiners.filter(e=>!(e instanceof pD.default)),r}_e.createConfiguration=Rc});var vg=p(Ci=>{"use strict";var MD=Ci&&Ci.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ci,"__esModule",{value:!0});var DD=MD(Z()),OD=R(),PD=1,_g=2,AD=3,Tg=4,bg=5,kD=6,Mc=class extends OD.AbstractParserWithWordBoundaryChecking{innerPattern(e){return new RegExp("(\u73B0\u5728|\u7ACB(?:\u523B|\u5373)|\u5373\u523B)|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s|,|\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?","i")}innerExtract(e,t){let n=t.index,i=e.createParsingResult(n,t[0]),s=DD.default(e.refDate),a=s;if(t[PD])i.start.imply("hour",s.hour()),i.start.imply("minute",s.minute()),i.start.imply("second",s.second()),i.start.imply("millisecond",s.millisecond());else if(t[_g]){let o=t[_g],u=t[AD];o=="\u660E"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u540E"?a=a.add(2,"day"):o=="\u5927\u540E"&&(a=a.add(3,"day")),u=="\u65E9"?i.start.imply("hour",6):u=="\u665A"&&(i.start.imply("hour",22),i.start.imply("meridiem",1))}else if(t[Tg]){let u=t[Tg][0];u=="\u65E9"||u=="\u4E0A"?i.start.imply("hour",6):u=="\u4E0B"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):u=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):u=="\u591C"||u=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):u=="\u51CC"&&i.start.imply("hour",0)}else if(t[bg]){let o=t[bg];o=="\u660E"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u540E"?a=a.add(2,"day"):o=="\u5927\u540E"&&(a=a.add(3,"day"));let u=t[kD];if(u){let l=u[0];l=="\u65E9"||l=="\u4E0A"?i.start.imply("hour",6):l=="\u4E0B"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):l=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):l=="\u591C"||l=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):l=="\u51CC"&&i.start.imply("hour",0)}}return i.start.assign("day",a.date()),i.start.assign("month",a.month()+1),i.start.assign("year",a.year()),i}};Ci.default=Mc});var wn=p(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.zhStringToYear=Ke.zhStringToNumber=Ke.WEEKDAY_OFFSET=Ke.NUMBER=void 0;Ke.NUMBER={\u96F6:0,"\u3007":0,\u4E00:1,\u4E8C:2,\u4E24:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10};Ke.WEEKDAY_OFFSET={\u5929:0,\u65E5:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6};function ND(r){let e=0;for(let t=0;t{"use strict";var SD=Si&&Si.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Si,"__esModule",{value:!0});var xD=SD(Z()),ID=R(),Hr=wn(),Dc=1,Eg=2,Oc=3,Pc=class extends ID.AbstractParserWithWordBoundaryChecking{innerPattern(){return new RegExp("(\\d{2,4}|["+Object.keys(Hr.NUMBER).join("")+"]{4}|["+Object.keys(Hr.NUMBER).join("")+"]{2})?(?:\\s*)(?:\u5E74)?(?:[\\s|,|\uFF0C]*)(\\d{1,2}|["+Object.keys(Hr.NUMBER).join("")+"]{1,3})(?:\\s*)(?:\u6708)(?:\\s*)(\\d{1,2}|["+Object.keys(Hr.NUMBER).join("")+"]{1,3})?(?:\\s*)(?:\u65E5|\u53F7)?")}innerExtract(e,t){let n=xD.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=parseInt(t[Eg]);if(isNaN(s)&&(s=Hr.zhStringToNumber(t[Eg])),i.start.assign("month",s),t[Oc]){let a=parseInt(t[Oc]);isNaN(a)&&(a=Hr.zhStringToNumber(t[Oc])),i.start.assign("day",a)}else i.start.imply("day",n.date());if(t[Dc]){let a=parseInt(t[Dc]);isNaN(a)&&(a=Hr.zhStringToYear(t[Dc])),i.start.assign("year",a)}else i.start.imply("year",n.year());return i}};Si.default=Pc});var Mg=p(xi=>{"use strict";var FD=xi&&xi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(xi,"__esModule",{value:!0});var UD=FD(Z()),qD=R(),Rg=wn(),WD=new RegExp("(\\d+|["+Object.keys(Rg.NUMBER).join("")+"]+|\u534A|\u51E0)(?:\\s*)(?:\u4E2A)?(\u79D2(?:\u949F)?|\u5206\u949F|\u5C0F\u65F6|\u949F|\u65E5|\u5929|\u661F\u671F|\u793C\u62DC|\u6708|\u5E74)(?:(?:\u4E4B|\u8FC7)?\u540E|(?:\u4E4B)?\u5185)","i"),Ac=1,LD=2,kc=class extends qD.AbstractParserWithWordBoundaryChecking{innerPattern(){return WD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=parseInt(t[Ac]);if(isNaN(i)&&(i=Rg.zhStringToNumber(t[Ac])),isNaN(i)){let u=t[Ac];if(u==="\u51E0")i=3;else if(u==="\u534A")i=.5;else return null}let s=UD.default(e.refDate),o=t[LD][0];return o.match(/[日天星礼月年]/)?(o=="\u65E5"||o=="\u5929"?s=s.add(i,"d"):o=="\u661F"||o=="\u793C"?s=s.add(i*7,"d"):o=="\u6708"?s=s.add(i,"month"):o=="\u5E74"&&(s=s.add(i,"year")),n.start.assign("year",s.year()),n.start.assign("month",s.month()+1),n.start.assign("day",s.date()),n):(o=="\u79D2"?s=s.add(i,"second"):o=="\u5206"?s=s.add(i,"minute"):(o=="\u5C0F"||o=="\u949F")&&(s=s.add(i,"hour")),n.start.imply("year",s.year()),n.start.imply("month",s.month()+1),n.start.imply("day",s.date()),n.start.assign("hour",s.hour()),n.start.assign("minute",s.minute()),n.start.assign("second",s.second()),n)}};xi.default=kc});var Og=p(Ii=>{"use strict";var YD=Ii&&Ii.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ii,"__esModule",{value:!0});var $D=YD(Z()),jD=R(),Dg=wn(),BD=new RegExp("(?\u4E0A|\u4E0B|\u8FD9)(?:\u4E2A)?(?:\u661F\u671F|\u793C\u62DC|\u5468)(?"+Object.keys(Dg.WEEKDAY_OFFSET).join("|")+")"),Nc=class extends jD.AbstractParserWithWordBoundaryChecking{innerPattern(){return BD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Dg.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=null,o=t.groups.prefix;o=="\u4E0A"?a="last":o=="\u4E0B"?a="next":o=="\u8FD9"&&(a="this");let u=$D.default(e.refDate),l=!1,c=u.day();return a=="last"||a=="past"?(u=u.day(s-7),l=!0):a=="next"?(u=u.day(s+7),l=!0):a=="this"?u=u.day(s):Math.abs(s-7-c){"use strict";var GD=Fi&&Fi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Fi,"__esModule",{value:!0});var HD=GD(Z()),zD=R(),ht=wn(),KD=new RegExp("(?:\u4ECE|\u81EA)?(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ht.NUMBER).join("")+"]+)(?:\\s*)(?:\u70B9|\u65F6|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ht.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ht.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),VD=new RegExp("(?:^\\s*(?:\u5230|\u81F3|\\-|\\\u2013|\\~|\\\u301C)\\s*)(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ht.NUMBER).join("")+"]+)(?:\\s*)(?:\u70B9|\u65F6|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ht.NUMBER).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ht.NUMBER).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),da=1,fa=2,pa=3,ha=4,ma=5,ya=6,pt=7,Rn=8,ga=9,Cc=class extends zD.AbstractParserWithWordBoundaryChecking{innerPattern(){return KD}innerExtract(e,t){if(t.index>0&&e.text[t.index-1].match(/\w/))return null;let n=HD.default(e.refDate),i=e.createParsingResult(t.index,t[0]),s=n.clone();if(t[da]){let c=t[da];c=="\u660E"?n.hour()>1&&s.add(1,"day"):c=="\u6628"?s.add(-1,"day"):c=="\u524D"?s.add(-2,"day"):c=="\u5927\u524D"?s.add(-3,"day"):c=="\u540E"?s.add(2,"day"):c=="\u5927\u540E"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else if(t[ha]){let c=t[ha];c=="\u660E"?s.add(1,"day"):c=="\u6628"?s.add(-1,"day"):c=="\u524D"?s.add(-2,"day"):c=="\u5927\u524D"?s.add(-3,"day"):c=="\u540E"?s.add(2,"day"):c=="\u5927\u540E"&&s.add(3,"day"),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else i.start.imply("day",s.date()),i.start.imply("month",s.month()+1),i.start.imply("year",s.year());let a=0,o=0,u=-1;if(t[Rn]){let c=parseInt(t[Rn]);if(isNaN(c)&&(c=ht.zhStringToNumber(t[Rn])),c>=60)return null;i.start.assign("second",c)}if(a=parseInt(t[ya]),isNaN(a)&&(a=ht.zhStringToNumber(t[ya])),t[pt]?t[pt]=="\u534A"?o=30:t[pt]=="\u6B63"||t[pt]=="\u6574"?o=0:(o=parseInt(t[pt]),isNaN(o)&&(o=ht.zhStringToNumber(t[pt]))):a>100&&(o=a%100,a=Math.floor(a/100)),o>=60||a>24)return null;if(a>=12&&(u=1),t[ga]){if(a>12)return null;let c=t[ga][0].toLowerCase();c=="a"&&(u=0,a==12&&(a=0)),c=="p"&&(u=1,a!=12&&(a+=12))}else if(t[fa]){let d=t[fa][0];d=="\u65E9"?(u=0,a==12&&(a=0)):d=="\u665A"&&(u=1,a!=12&&(a+=12))}else if(t[pa]){let d=t[pa][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}else if(t[ma]){let d=t[ma][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}if(i.start.assign("hour",a),i.start.assign("minute",o),u>=0?i.start.assign("meridiem",u):a<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),t=VD.exec(e.text.substring(i.index+i.text.length)),!t)return i.text.match(/^\d+$/)?null:i;let l=s.clone();if(i.end=e.createParsingComponents(),t[da]){let c=t[da];c=="\u660E"?n.hour()>1&&l.add(1,"day"):c=="\u6628"?l.add(-1,"day"):c=="\u524D"?l.add(-2,"day"):c=="\u5927\u524D"?l.add(-3,"day"):c=="\u540E"?l.add(2,"day"):c=="\u5927\u540E"&&l.add(3,"day"),i.end.assign("day",l.date()),i.end.assign("month",l.month()+1),i.end.assign("year",l.year())}else if(t[ha]){let c=t[ha];c=="\u660E"?l.add(1,"day"):c=="\u6628"?l.add(-1,"day"):c=="\u524D"?l.add(-2,"day"):c=="\u5927\u524D"?l.add(-3,"day"):c=="\u540E"?l.add(2,"day"):c=="\u5927\u540E"&&l.add(3,"day"),i.end.assign("day",l.date()),i.end.assign("month",l.month()+1),i.end.assign("year",l.year())}else i.end.imply("day",l.date()),i.end.imply("month",l.month()+1),i.end.imply("year",l.year());if(a=0,o=0,u=-1,t[Rn]){let c=parseInt(t[Rn]);if(isNaN(c)&&(c=ht.zhStringToNumber(t[Rn])),c>=60)return null;i.end.assign("second",c)}if(a=parseInt(t[ya]),isNaN(a)&&(a=ht.zhStringToNumber(t[ya])),t[pt]?t[pt]=="\u534A"?o=30:t[pt]=="\u6B63"||t[pt]=="\u6574"?o=0:(o=parseInt(t[pt]),isNaN(o)&&(o=ht.zhStringToNumber(t[pt]))):a>100&&(o=a%100,a=Math.floor(a/100)),o>=60||a>24)return null;if(a>=12&&(u=1),t[ga]){if(a>12)return null;let c=t[ga][0].toLowerCase();c=="a"&&(u=0,a==12&&(a=0)),c=="p"&&(u=1,a!=12&&(a+=12)),i.start.isCertain("meridiem")||(u==0?(i.start.imply("meridiem",0),i.start.get("hour")==12&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),i.start.get("hour")!=12&&i.start.assign("hour",i.start.get("hour")+12)))}else if(t[fa]){let d=t[fa][0];d=="\u65E9"?(u=0,a==12&&(a=0)):d=="\u665A"&&(u=1,a!=12&&(a+=12))}else if(t[pa]){let d=t[pa][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}else if(t[ma]){let d=t[ma][0];d=="\u4E0A"||d=="\u65E9"||d=="\u51CC"?(u=0,a==12&&(a=0)):(d=="\u4E0B"||d=="\u665A")&&(u=1,a!=12&&(a+=12))}return i.text=i.text+t[0],i.end.assign("hour",a),i.end.assign("minute",o),u>=0?i.end.assign("meridiem",u):i.start.isCertain("meridiem")&&i.start.get("meridiem")==1&&i.start.get("hour")>a?i.end.imply("meridiem",0):a>12&&i.end.imply("meridiem",1),i.end.date().getTime(){"use strict";var ZD=Ui&&Ui.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ui,"__esModule",{value:!0});var XD=ZD(Z()),QD=R(),Ag=wn(),JD=new RegExp("(?:\u661F\u671F|\u793C\u62DC|\u5468)(?"+Object.keys(Ag.WEEKDAY_OFFSET).join("|")+")"),Sc=class extends QD.AbstractParserWithWordBoundaryChecking{innerPattern(){return JD}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Ag.WEEKDAY_OFFSET[i];if(s===void 0)return null;let a=XD.default(e.refDate),o=!1,u=a.day();return Math.abs(s-7-u){"use strict";var eO=qi&&qi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(qi,"__esModule",{value:!0});var tO=eO(It()),xc=class extends tO.default{patternBetween(){return/^\s*(至|到|-|~|~|-|ー)\s*$/i}};qi.default=xc});var Cg=p(Wi=>{"use strict";var rO=Wi&&Wi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Wi,"__esModule",{value:!0});var nO=rO(Kt()),Ic=class extends nO.default{patternBetween(){return/^\s*$/i}};Wi.default=Ic});var Sg=p(Te=>{"use strict";var tr=Te&&Te.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Te,"__esModule",{value:!0});Te.createConfiguration=Te.createCasualConfiguration=Te.parseDate=Te.parse=Te.strict=Te.casual=Te.hans=void 0;var Fc=bt(),iO=tr(Ls()),sO=Vt(),aO=tr(vg()),oO=tr(wg()),uO=tr(Mg()),lO=tr(Og()),cO=tr(Pg()),dO=tr(kg()),fO=tr(Ng()),pO=tr(Cg());Te.hans=new Fc.Chrono(Uc());Te.casual=new Fc.Chrono(Uc());Te.strict=new Fc.Chrono(qc());function hO(r,e,t){return Te.casual.parse(r,e,t)}Te.parse=hO;function mO(r,e,t){return Te.casual.parseDate(r,e,t)}Te.parseDate=mO;function Uc(){let r=qc();return r.parsers.unshift(new aO.default),r}Te.createCasualConfiguration=Uc;function qc(){let r=sO.includeCommonConfiguration({parsers:[new oO.default,new lO.default,new dO.default,new cO.default,new uO.default],refiners:[new fO.default,new pO.default]});return r.refiners=r.refiners.filter(e=>!(e instanceof iO.default)),r}Te.createConfiguration=qc});var Ig=p(rt=>{"use strict";var xg=rt&&rt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),yO=rt&&rt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),gO=rt&&rt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&xg(e,r,t)},_O=rt&&rt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&xg(e,r,t);return yO(e,r),e};Object.defineProperty(rt,"__esModule",{value:!0});rt.hans=void 0;gO(gg(),rt);rt.hans=_O(Sg())});var Ve=p(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.parseTimeUnits=U.TIME_UNITS_PATTERN=U.parseYear=U.YEAR_PATTERN=U.parseOrdinalNumberPattern=U.ORDINAL_NUMBER_PATTERN=U.parseNumberPattern=U.NUMBER_PATTERN=U.TIME_UNIT_DICTIONARY=U.ORDINAL_WORD_DICTIONARY=U.INTEGER_WORD_DICTIONARY=U.MONTH_DICTIONARY=U.FULL_MONTH_NAME_DICTIONARY=U.WEEKDAY_DICTIONARY=U.REGEX_PARTS=void 0;var _a=ne(),TO=Se();U.REGEX_PARTS={leftBoundary:"([^\\p{L}\\p{N}_]|^)",rightBoundary:"(?=[^\\p{L}\\p{N}_]|$)",flags:"iu"};U.WEEKDAY_DICTIONARY={\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435:0,\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F:0,\u0432\u0441\u043A:0,"\u0432\u0441\u043A.":0,\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A:1,\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430:1,\u043F\u043D:1,"\u043F\u043D.":1,\u0432\u0442\u043E\u0440\u043D\u0438\u043A:2,\u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430:2,\u0432\u0442:2,"\u0432\u0442.":2,\u0441\u0440\u0435\u0434\u0430:3,\u0441\u0440\u0435\u0434\u044B:3,\u0441\u0440\u0435\u0434\u0443:3,\u0441\u0440:3,"\u0441\u0440.":3,\u0447\u0435\u0442\u0432\u0435\u0440\u0433:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430:4,\u0447\u0442:4,"\u0447\u0442.":4,\u043F\u044F\u0442\u043D\u0438\u0446\u0430:5,\u043F\u044F\u0442\u043D\u0438\u0446\u0443:5,\u043F\u044F\u0442\u043D\u0438\u0446\u044B:5,\u043F\u0442:5,"\u043F\u0442.":5,\u0441\u0443\u0431\u0431\u043E\u0442\u0430:6,\u0441\u0443\u0431\u0431\u043E\u0442\u0443:6,\u0441\u0443\u0431\u0431\u043E\u0442\u044B:6,\u0441\u0431:6,"\u0441\u0431.":6};U.FULL_MONTH_NAME_DICTIONARY={\u044F\u043D\u0432\u0430\u0440\u044C:1,\u044F\u043D\u0432\u0430\u0440\u044F:1,\u044F\u043D\u0432\u0430\u0440\u0435:1,\u0444\u0435\u0432\u0440\u044F\u043B\u044C:2,\u0444\u0435\u0432\u0440\u044F\u043B\u044F:2,\u0444\u0435\u0432\u0440\u044F\u043B\u0435:2,\u043C\u0430\u0440\u0442:3,\u043C\u0430\u0440\u0442\u0430:3,\u043C\u0430\u0440\u0442\u0435:3,\u0430\u043F\u0440\u0435\u043B\u044C:4,\u0430\u043F\u0440\u0435\u043B\u044F:4,\u0430\u043F\u0440\u0435\u043B\u0435:4,\u043C\u0430\u0439:5,\u043C\u0430\u044F:5,\u043C\u0430\u0435:5,\u0438\u044E\u043D\u044C:6,\u0438\u044E\u043D\u044F:6,\u0438\u044E\u043D\u0435:6,\u0438\u044E\u043B\u044C:7,\u0438\u044E\u043B\u044F:7,\u0438\u044E\u043B\u0435:7,\u0430\u0432\u0433\u0443\u0441\u0442:8,\u0430\u0432\u0433\u0443\u0441\u0442\u0430:8,\u0430\u0432\u0433\u0443\u0441\u0442\u0435:8,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C:9,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F:9,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u0435:9,\u043E\u043A\u0442\u044F\u0431\u0440\u044C:10,\u043E\u043A\u0442\u044F\u0431\u0440\u044F:10,\u043E\u043A\u0442\u044F\u0431\u0440\u0435:10,\u043D\u043E\u044F\u0431\u0440\u044C:11,\u043D\u043E\u044F\u0431\u0440\u044F:11,\u043D\u043E\u044F\u0431\u0440\u0435:11,\u0434\u0435\u043A\u0430\u0431\u0440\u044C:12,\u0434\u0435\u043A\u0430\u0431\u0440\u044F:12,\u0434\u0435\u043A\u0430\u0431\u0440\u0435:12};U.MONTH_DICTIONARY=Object.assign(Object.assign({},U.FULL_MONTH_NAME_DICTIONARY),{\u044F\u043D\u0432:1,"\u044F\u043D\u0432.":1,\u0444\u0435\u0432:2,"\u0444\u0435\u0432.":2,\u043C\u0430\u0440:3,"\u043C\u0430\u0440.":3,\u0430\u043F\u0440:4,"\u0430\u043F\u0440.":4,\u0430\u0432\u0433:8,"\u0430\u0432\u0433.":8,\u0441\u0435\u043D:9,"\u0441\u0435\u043D.":9,\u043E\u043A\u0442:10,"\u043E\u043A\u0442.":10,\u043D\u043E\u044F:11,"\u043D\u043E\u044F.":11,\u0434\u0435\u043A:12,"\u0434\u0435\u043A.":12});U.INTEGER_WORD_DICTIONARY={\u043E\u0434\u0438\u043D:1,\u043E\u0434\u043D\u0430:1,\u043E\u0434\u043D\u043E\u0439:1,\u043E\u0434\u043D\u0443:1,\u0434\u0432\u0435:2,\u0434\u0432\u0430:2,\u0434\u0432\u0443\u0445:2,\u0442\u0440\u0438:3,\u0442\u0440\u0435\u0445:3,\u0442\u0440\u0451\u0445:3,\u0447\u0435\u0442\u044B\u0440\u0435:4,\u0447\u0435\u0442\u044B\u0440\u0435\u0445:4,\u0447\u0435\u0442\u044B\u0440\u0451\u0445:4,\u043F\u044F\u0442\u044C:5,\u043F\u044F\u0442\u0438:5,\u0448\u0435\u0441\u0442\u044C:6,\u0448\u0435\u0441\u0442\u0438:6,\u0441\u0435\u043C\u044C:7,\u0441\u0435\u043C\u0438:7,\u0432\u043E\u0441\u0435\u043C\u044C:8,\u0432\u043E\u0441\u0435\u043C\u044C\u043C\u0438:8,\u0434\u0435\u0432\u044F\u0442\u044C:9,\u0434\u0435\u0432\u044F\u0442\u0438:9,\u0434\u0435\u0441\u044F\u0442\u044C:10,\u0434\u0435\u0441\u044F\u0442\u0438:10,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u044C:11,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u0438:11,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u044C:12,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u0438:12};U.ORDINAL_WORD_DICTIONARY={\u043F\u0435\u0440\u0432\u043E\u0435:1,\u043F\u0435\u0440\u0432\u043E\u0433\u043E:1,\u0432\u0442\u043E\u0440\u043E\u0435:2,\u0432\u0442\u043E\u0440\u043E\u0433\u043E:2,\u0442\u0440\u0435\u0442\u044C\u0435:3,\u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E:3,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E:4,\u043F\u044F\u0442\u043E\u0435:5,\u043F\u044F\u0442\u043E\u0433\u043E:5,\u0448\u0435\u0441\u0442\u043E\u0435:6,\u0448\u0435\u0441\u0442\u043E\u0433\u043E:6,\u0441\u0435\u0434\u044C\u043C\u043E\u0435:7,\u0441\u0435\u0434\u044C\u043C\u043E\u0433\u043E:7,\u0432\u043E\u0441\u044C\u043C\u043E\u0435:8,\u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E:8,\u0434\u0435\u0432\u044F\u0442\u043E\u0435:9,\u0434\u0435\u0432\u044F\u0442\u043E\u0433\u043E:9,\u0434\u0435\u0441\u044F\u0442\u043E\u0435:10,\u0434\u0435\u0441\u044F\u0442\u043E\u0433\u043E:10,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:11,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:11,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:12,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:12,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:13,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:13,\u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:14,\u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:14,\u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:15,\u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:15,\u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:16,\u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:16,\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:17,\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:17,\u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:18,\u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:18,\u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:19,\u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:19,\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u043E\u0435:20,\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:20,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435":21,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0433\u043E":21,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0435":22,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0433\u043E":22,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0442\u0440\u0435\u0442\u044C\u0435":23,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E":23,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435":24,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E":24,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u044F\u0442\u043E\u0435":25,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u044F\u0442\u043E\u0433\u043E":25,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0448\u0435\u0441\u0442\u043E\u0435":26,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0448\u0435\u0441\u0442\u043E\u0433\u043E":26,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0441\u0435\u0434\u044C\u043C\u043E\u0435":27,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0441\u0435\u0434\u044C\u043C\u043E\u0433\u043E":27,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u043E\u0435":28,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E":28,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0434\u0435\u0432\u044F\u0442\u043E\u0435":29,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0434\u0435\u0432\u044F\u0442\u043E\u0433\u043E":29,\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u043E\u0435:30,\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u043E\u0433\u043E:30,"\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435":31,"\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0433\u043E":31};U.TIME_UNIT_DICTIONARY={\u0441\u0435\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0430:"second",\u0441\u0435\u043A\u0443\u043D\u0434:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u044B:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0443:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0430:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0438:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u0435\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0443:"second",\u043C\u0438\u043D:"minute",\u043C\u0438\u043D\u0443\u0442\u0430:"minute",\u043C\u0438\u043D\u0443\u0442:"minute",\u043C\u0438\u043D\u0443\u0442\u044B:"minute",\u043C\u0438\u043D\u0443\u0442\u0443:"minute",\u043C\u0438\u043D\u0443\u0442\u043E\u043A:"minute",\u043C\u0438\u043D\u0443\u0442\u043A\u0438:"minute",\u043C\u0438\u043D\u0443\u0442\u043A\u0443:"minute",\u0447\u0430\u0441:"hour",\u0447\u0430\u0441\u043E\u0432:"hour",\u0447\u0430\u0441\u0430:"hour",\u0447\u0430\u0441\u0443:"hour",\u0447\u0430\u0441\u0438\u043A\u043E\u0432:"hour",\u0447\u0430\u0441\u0438\u043A\u0430:"hour",\u0447\u0430\u0441\u0438\u043A\u0435:"hour",\u0447\u0430\u0441\u0438\u043A:"hour",\u0434\u0435\u043D\u044C:"d",\u0434\u043D\u044F:"d",\u0434\u043D\u0435\u0439:"d",\u0441\u0443\u0442\u043E\u043A:"d",\u0441\u0443\u0442\u043A\u0438:"d",\u043D\u0435\u0434\u0435\u043B\u044F:"week",\u043D\u0435\u0434\u0435\u043B\u0435:"week",\u043D\u0435\u0434\u0435\u043B\u0438:"week",\u043D\u0435\u0434\u0435\u043B\u044E:"week",\u043D\u0435\u0434\u0435\u043B\u044C:"week",\u043D\u0435\u0434\u0435\u043B\u044C\u043A\u0435:"week",\u043D\u0435\u0434\u0435\u043B\u044C\u043A\u0438:"week",\u043D\u0435\u0434\u0435\u043B\u0435\u043A:"week",\u043C\u0435\u0441\u044F\u0446:"month",\u043C\u0435\u0441\u044F\u0446\u0435:"month",\u043C\u0435\u0441\u044F\u0446\u0435\u0432:"month",\u043C\u0435\u0441\u044F\u0446\u0430:"month",\u043A\u0432\u0430\u0440\u0442\u0430\u043B:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u0435:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u043E\u0432:"quarter",\u0433\u043E\u0434:"year",\u0433\u043E\u0434\u0430:"year",\u0433\u043E\u0434\u0443:"year",\u0433\u043E\u0434\u043E\u0432:"year",\u043B\u0435\u0442:"year",\u0433\u043E\u0434\u0438\u043A:"year",\u0433\u043E\u0434\u0438\u043A\u0430:"year",\u0433\u043E\u0434\u0438\u043A\u043E\u0432:"year"};U.NUMBER_PATTERN=`(?:${_a.matchAnyPattern(U.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|\u043F\u043E\u043B|\u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E|\u043F\u0430\u0440(?:\u044B|\u0443)|\\s{0,3})`;function Ug(r){let e=r.toLowerCase();return U.INTEGER_WORD_DICTIONARY[e]!==void 0?U.INTEGER_WORD_DICTIONARY[e]:e.match(/несколько/)?3:e.match(/пол/)?.5:e.match(/пар/)?2:e===""?1:parseFloat(e)}U.parseNumberPattern=Ug;U.ORDINAL_NUMBER_PATTERN=`(?:${_a.matchAnyPattern(U.ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:\u0433\u043E|\u043E\u0433\u043E|\u0435|\u043E\u0435)?)`;function bO(r){let e=r.toLowerCase();return U.ORDINAL_WORD_DICTIONARY[e]!==void 0?U.ORDINAL_WORD_DICTIONARY[e]:(e=e.replace(/(?:st|nd|rd|th)$/i,""),parseInt(e))}U.parseOrdinalNumberPattern=bO;var Wc="(?:\\s+(?:\u0433\u043E\u0434\u0443|\u0433\u043E\u0434\u0430|\u0433\u043E\u0434|\u0433|\u0433.))?";U.YEAR_PATTERN=`(?:[1-9][0-9]{0,3}${Wc}\\s*(?:\u043D.\u044D.|\u0434\u043E \u043D.\u044D.|\u043D. \u044D.|\u0434\u043E \u043D. \u044D.)|[1-2][0-9]{3}${Wc}|[5-9][0-9]${Wc})`;function vO(r){if(/(год|года|г|г.)/i.test(r)&&(r=r.replace(/(год|года|г|г.)/i,"")),/(до н.э.|до н. э.)/i.test(r))return r=r.replace(/(до н.э.|до н. э.)/i,""),-parseInt(r);if(/(н. э.|н.э.)/i.test(r))return r=r.replace(/(н. э.|н.э.)/i,""),parseInt(r);let e=parseInt(r);return TO.findMostLikelyADYear(e)}U.parseYear=vO;var qg=`(${U.NUMBER_PATTERN})\\s{0,3}(${_a.matchAnyPattern(U.TIME_UNIT_DICTIONARY)})`,Fg=new RegExp(qg,"i");U.TIME_UNITS_PATTERN=_a.repeatedTimeunitPattern("(?:(?:\u043E\u043A\u043E\u043B\u043E|\u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E)\\s{0,3})?",qg);function EO(r){let e={},t=r,n=Fg.exec(t);for(;n;)wO(e,n),t=t.substring(n[0].length).trim(),n=Fg.exec(t);return e}U.parseTimeUnits=EO;function wO(r,e){let t=Ug(e[1]),n=U.TIME_UNIT_DICTIONARY[e[2].toLowerCase()];r[n]=t}});var Lg=p(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});var Li=Ve(),RO=pe(),MO=R(),Wg=`(?:(?:\u043E\u043A\u043E\u043B\u043E|\u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E)\\s*(?:~\\s*)?)?(${Li.TIME_UNITS_PATTERN})${Li.REGEX_PARTS.rightBoundary}`,DO=new RegExp(`(?:\u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435|\u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0438)\\s*${Wg}`,Li.REGEX_PARTS.flags),OO=new RegExp(Wg,"i"),Lc=class extends MO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Li.REGEX_PARTS.leftBoundary}innerPattern(e){return e.option.forwardDate?OO:DO}innerExtract(e,t){let n=Li.parseTimeUnits(t[1]);return RO.ParsingComponents.createRelativeFromReference(e.reference,n)}};Yc.default=Lc});var Gg=p(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});var PO=Se(),Yi=Ve(),Bg=Ve(),Ta=Ve(),AO=ne(),kO=R(),NO=new RegExp(`(?:\u0441)?\\s*(${Ta.ORDINAL_NUMBER_PATTERN})(?:\\s{0,3}(?:\u043F\u043E|-|\u2013|\u0434\u043E)?\\s{0,3}(${Ta.ORDINAL_NUMBER_PATTERN}))?(?:-|\\/|\\s{0,3}(?:of)?\\s{0,3})(${AO.matchAnyPattern(Yi.MONTH_DICTIONARY)})(?:(?:-|\\/|,?\\s{0,3})(${Bg.YEAR_PATTERN}(?![^\\s]\\d)))?${Yi.REGEX_PARTS.rightBoundary}`,Yi.REGEX_PARTS.flags),Yg=1,$g=2,CO=3,jg=4,$c=class extends kO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Yi.REGEX_PARTS.leftBoundary}innerPattern(){return NO}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Yi.MONTH_DICTIONARY[t[CO].toLowerCase()],s=Ta.parseOrdinalNumberPattern(t[Yg]);if(s>31)return t.index=t.index+t[Yg].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[jg]){let a=Bg.parseYear(t[jg]);n.start.assign("year",a)}else{let a=PO.findYearClosestToRef(e.refDate,s,i);n.start.imply("year",a)}if(t[$g]){let a=Ta.parseOrdinalNumberPattern(t[$g]);n.end=n.start.clone(),n.end.assign("day",a)}return n}};jc.default=$c});var Kg=p(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});var $i=Ve(),SO=Se(),xO=ne(),zg=Ve(),IO=R(),FO=new RegExp(`((?:\u0432)\\s*)?(${xO.matchAnyPattern($i.MONTH_DICTIONARY)})\\s*(?:[,-]?\\s*(${zg.YEAR_PATTERN})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,$i.REGEX_PARTS.flags),UO=2,Hg=3,Bc=class extends IO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return $i.REGEX_PARTS.leftBoundary}innerPattern(){return FO}innerExtract(e,t){let n=t[UO].toLowerCase();if(t[0].length<=3&&!$i.FULL_MONTH_NAME_DICTIONARY[n])return null;let i=e.createParsingResult(t.index,t.index+t[0].length);i.start.imply("day",1);let s=$i.MONTH_DICTIONARY[n];if(i.start.assign("month",s),t[Hg]){let a=zg.parseYear(t[Hg]);i.start.assign("year",a)}else{let a=SO.findYearClosestToRef(e.refDate,1,s);i.start.imply("year",a)}return i}};Gc.default=Bc});var Zg=p(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});var ba=Ee(),qO=Wr(),Vg=Ve(),Hc=class extends qO.AbstractTimeExpressionParser{constructor(e){super(e)}patternFlags(){return Vg.REGEX_PARTS.flags}primaryPatternLeftBoundary(){return"(^|\\s|T|(?:[^\\p{L}\\p{N}_]))"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|\u0434\u043E|\u0438|\u043F\u043E|\\?)\\s*"}primaryPrefix(){return"(?:(?:\u0432|\u0441)\\s*)??"}primarySuffix(){return`(?:\\s*(?:\u0443\u0442\u0440\u0430|\u0432\u0435\u0447\u0435\u0440\u0430|\u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u043B\u0443\u0434\u043D\u044F))?(?!\\/)${Vg.REGEX_PARTS.rightBoundary}`}extractPrimaryTimeComponents(e,t){let n=super.extractPrimaryTimeComponents(e,t);if(n){if(t[0].endsWith("\u0432\u0435\u0447\u0435\u0440\u0430")){let i=n.get("hour");i>=6&&i<12?(n.assign("hour",n.get("hour")+12),n.assign("meridiem",ba.Meridiem.PM)):i<6&&n.assign("meridiem",ba.Meridiem.AM)}if(t[0].endsWith("\u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u043B\u0443\u0434\u043D\u044F")){n.assign("meridiem",ba.Meridiem.PM);let i=n.get("hour");i>=0&&i<=6&&n.assign("hour",n.get("hour")+12)}t[0].endsWith("\u0443\u0442\u0440\u0430")&&(n.assign("meridiem",ba.Meridiem.AM),n.get("hour")<12&&n.assign("hour",n.get("hour")))}return n}};zc.default=Hc});var Xg=p(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});var va=Ve(),WO=pe(),LO=R(),YO=lt(),$O=new RegExp(`(${va.TIME_UNITS_PATTERN})\\s{0,5}\u043D\u0430\u0437\u0430\u0434(?=(?:\\W|$))`,va.REGEX_PARTS.flags),Kc=class extends LO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return va.REGEX_PARTS.leftBoundary}innerPattern(){return $O}innerExtract(e,t){let n=va.parseTimeUnits(t[1]),i=YO.reverseTimeUnits(n);return WO.ParsingComponents.createRelativeFromReference(e.reference,i)}};Vc.default=Kc});var Qg=p(ji=>{"use strict";var jO=ji&&ji.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ji,"__esModule",{value:!0});var BO=jO(It()),Zc=class extends BO.default{patternBetween(){return/^\s*(и до|и по|до|по|-)\s*$/i}};ji.default=Zc});var Jg=p(Bi=>{"use strict";var GO=Bi&&Bi.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Bi,"__esModule",{value:!0});var HO=GO(Kt()),Xc=class extends HO.default{patternBetween(){return new RegExp("^\\s*(T|\u0432|,|-)?\\s*$")}};Bi.default=Xc});var e_=p(rr=>{"use strict";var zO=rr&&rr.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),KO=rr&&rr.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),VO=rr&&rr.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&zO(e,r,t);return KO(e,r),e};Object.defineProperty(rr,"__esModule",{value:!0});var ZO=R(),Gi=VO(Xt()),Qc=Ve(),XO=new RegExp(`(?:\u0441|\u0441\u043E)?\\s*(\u0441\u0435\u0433\u043E\u0434\u043D\u044F|\u0432\u0447\u0435\u0440\u0430|\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430)${Qc.REGEX_PARTS.rightBoundary}`,Qc.REGEX_PARTS.flags),Jc=class extends ZO.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Qc.REGEX_PARTS.leftBoundary}innerPattern(e){return XO}innerExtract(e,t){let n=t[1].toLowerCase(),i=e.createParsingComponents();switch(n){case"\u0441\u0435\u0433\u043E\u0434\u043D\u044F":return Gi.today(e.reference);case"\u0432\u0447\u0435\u0440\u0430":return Gi.yesterday(e.reference);case"\u0437\u0430\u0432\u0442\u0440\u0430":return Gi.tomorrow(e.reference);case"\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430":return Gi.theDayAfter(e.reference,2);case"\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430":return Gi.theDayBefore(e.reference,2)}return i}};rr.default=Jc});var t_=p(Mt=>{"use strict";var QO=Mt&&Mt.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),JO=Mt&&Mt.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),eP=Mt&&Mt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&QO(e,r,t);return JO(e,r),e},tP=Mt&&Mt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mt,"__esModule",{value:!0});var rP=R(),zr=eP(Xt()),nP=ut(),iP=tP(Z()),ed=Ve(),sP=new RegExp(`(\u0441\u0435\u0439\u0447\u0430\u0441|\u043F\u0440\u043E\u0448\u043B\u044B\u043C\\s*\u0432\u0435\u0447\u0435\u0440\u043E\u043C|\u043F\u0440\u043E\u0448\u043B\u043E\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u0441\u0435\u0433\u043E\u0434\u043D\u044F\\s*\u043D\u043E\u0447\u044C\u044E|\u044D\u0442\u043E\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u043D\u043E\u0447\u044C\u044E|\u044D\u0442\u0438\u043C \u0443\u0442\u0440\u043E\u043C|\u0443\u0442\u0440\u043E\u043C|\u0443\u0442\u0440\u0430|\u0432\\s*\u043F\u043E\u043B\u0434\u0435\u043D\u044C|\u0432\u0435\u0447\u0435\u0440\u043E\u043C|\u0432\u0435\u0447\u0435\u0440\u0430|\u0432\\s*\u043F\u043E\u043B\u043D\u043E\u0447\u044C)${ed.REGEX_PARTS.rightBoundary}`,ed.REGEX_PARTS.flags),td=class extends rP.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return ed.REGEX_PARTS.leftBoundary}innerPattern(){return sP}innerExtract(e,t){let n=iP.default(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();if(i==="\u0441\u0435\u0439\u0447\u0430\u0441")return zr.now(e.reference);if(i==="\u0432\u0435\u0447\u0435\u0440\u043E\u043C"||i==="\u0432\u0435\u0447\u0435\u0440\u0430")return zr.evening(e.reference);if(i.endsWith("\u0443\u0442\u0440\u043E\u043C")||i.endsWith("\u0443\u0442\u0440\u0430"))return zr.morning(e.reference);if(i.match(/в\s*полдень/))return zr.noon(e.reference);if(i.match(/прошлой\s*ночью/))return zr.lastNight(e.reference);if(i.match(/прошлым\s*вечером/))return zr.yesterdayEvening(e.reference);if(i.match(/следующей\s*ночью/)){let a=n.hour()<22?1:2;n=n.add(a,"day"),nP.assignSimilarDate(s,n),s.imply("hour",0)}return i.match(/в\s*полночь/)||i.endsWith("\u043D\u043E\u0447\u044C\u044E")?zr.midnight(e.reference):s}};Mt.default=td});var r_=p(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var Hi=Ve(),aP=ne(),oP=R(),uP=Yr(),lP=new RegExp(`(?:(?:,|\\(|\uFF08)\\s*)?(?:\u0432\\s*?)?(?:(\u044D\u0442\u0443|\u044D\u0442\u043E\u0442|\u043F\u0440\u043E\u0448\u043B\u044B\u0439|\u043F\u0440\u043E\u0448\u043B\u0443\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E)\\s*)?(${aP.matchAnyPattern(Hi.WEEKDAY_DICTIONARY)})(?:\\s*(?:,|\\)|\uFF09))?(?:\\s*\u043D\u0430\\s*(\u044D\u0442\u043E\u0439|\u043F\u0440\u043E\u0448\u043B\u043E\u0439|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439)\\s*\u043D\u0435\u0434\u0435\u043B\u0435)?${Hi.REGEX_PARTS.rightBoundary}`,Hi.REGEX_PARTS.flags),cP=1,dP=2,fP=3,rd=class extends oP.AbstractParserWithWordBoundaryChecking{innerPattern(){return lP}patternLeftBoundary(){return Hi.REGEX_PARTS.leftBoundary}innerExtract(e,t){let n=t[dP].toLowerCase(),i=Hi.WEEKDAY_DICTIONARY[n],s=t[cP],a=t[fP],o=s||a;o=o||"",o=o.toLowerCase();let u=null;o=="\u043F\u0440\u043E\u0448\u043B\u044B\u0439"||o=="\u043F\u0440\u043E\u0448\u043B\u0443\u044E"||o=="\u043F\u0440\u043E\u0448\u043B\u043E\u0439"?u="last":o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E"?u="next":(o=="\u044D\u0442\u043E\u0442"||o=="\u044D\u0442\u0443"||o=="\u044D\u0442\u043E\u0439")&&(u="this");let l=uP.toDayJSWeekday(e.refDate,i,u);return e.createParsingComponents().assign("weekday",i).imply("day",l.date()).imply("month",l.month()+1).imply("year",l.year())}};nd.default=rd});var i_=p(Ki=>{"use strict";var pP=Ki&&Ki.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ki,"__esModule",{value:!0});var zi=Ve(),n_=pe(),hP=pP(Z()),mP=R(),yP=ne(),gP=new RegExp(`(\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C|\u043D\u0430 \u043F\u0440\u043E\u0448\u043B\u043E\u0439|\u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439|\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C|\u043D\u0430 \u044D\u0442\u043E\u0439|\u0432 \u044D\u0442\u043E\u043C)\\s*(${yP.matchAnyPattern(zi.TIME_UNIT_DICTIONARY)})(?=\\s*)${zi.REGEX_PARTS.rightBoundary}`,zi.REGEX_PARTS.flags),_P=1,TP=2,id=class extends mP.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return zi.REGEX_PARTS.leftBoundary}innerPattern(){return gP}innerExtract(e,t){let n=t[_P].toLowerCase(),i=t[TP].toLowerCase(),s=zi.TIME_UNIT_DICTIONARY[i];if(n=="\u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439"||n=="\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C"){let u={};return u[s]=1,n_.ParsingComponents.createRelativeFromReference(e.reference,u)}if(n=="\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C"||n=="\u043D\u0430 \u043F\u0440\u043E\u0448\u043B\u043E\u0439"){let u={};return u[s]=-1,n_.ParsingComponents.createRelativeFromReference(e.reference,u)}let a=e.createParsingComponents(),o=hP.default(e.reference.instant);return s.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):s.match(/month/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):s.match(/year/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}};Ki.default=id});var s_=p(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var Vi=Ve(),bP=pe(),vP=R(),EP=lt(),wP=new RegExp(`(\u044D\u0442\u0438|\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435|\u043F\u0440\u043E\u0448\u043B\u044B\u0435|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435|\u043F\u043E\u0441\u043B\u0435|\u0447\u0435\u0440\u0435\u0437|\\+|-)\\s*(${Vi.TIME_UNITS_PATTERN})${Vi.REGEX_PARTS.rightBoundary}`,Vi.REGEX_PARTS.flags),sd=class extends vP.AbstractParserWithWordBoundaryChecking{patternLeftBoundary(){return Vi.REGEX_PARTS.leftBoundary}innerPattern(){return wP}innerExtract(e,t){let n=t[1].toLowerCase(),i=Vi.parseTimeUnits(t[2]);switch(n){case"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435":case"\u043F\u0440\u043E\u0448\u043B\u044B\u0435":case"-":i=EP.reverseTimeUnits(i);break}return bP.ParsingComponents.createRelativeFromReference(e.reference,i)}};ad.default=sd});var u_=p(Ne=>{"use strict";var nt=Ne&&Ne.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.createConfiguration=Ne.createCasualConfiguration=Ne.parseDate=Ne.parse=Ne.strict=Ne.casual=void 0;var RP=nt(Lg()),MP=nt(Gg()),DP=nt(Kg()),OP=nt(Zg()),PP=nt(Xg()),AP=nt(Qg()),kP=nt(Jg()),NP=Vt(),CP=nt(e_()),SP=nt(t_()),xP=nt(r_()),IP=nt(i_()),a_=bt(),FP=nt($r()),UP=nt(s_());Ne.casual=new a_.Chrono(o_());Ne.strict=new a_.Chrono(od(!0));function qP(r,e,t){return Ne.casual.parse(r,e,t)}Ne.parse=qP;function WP(r,e,t){return Ne.casual.parseDate(r,e,t)}Ne.parseDate=WP;function o_(){let r=od(!1);return r.parsers.unshift(new CP.default),r.parsers.unshift(new SP.default),r.parsers.unshift(new DP.default),r.parsers.unshift(new IP.default),r.parsers.unshift(new UP.default),r}Ne.createCasualConfiguration=o_;function od(r=!0){return NP.includeCommonConfiguration({parsers:[new FP.default(!0),new RP.default,new MP.default,new xP.default,new OP.default(r),new PP.default],refiners:[new kP.default,new AP.default]},r)}Ne.createConfiguration=od});var Ee=p(L=>{"use strict";var LP=L&&L.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),YP=L&&L.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),Mr=L&&L.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&LP(e,r,t);return YP(e,r),e};Object.defineProperty(L,"__esModule",{value:!0});L.parseDate=L.parse=L.casual=L.strict=L.ru=L.zh=L.nl=L.pt=L.ja=L.fr=L.de=L.Meridiem=L.Chrono=L.en=void 0;var ud=Mr(Mu());L.en=ud;var $P=bt();Object.defineProperty(L,"Chrono",{enumerable:!0,get:function(){return $P.Chrono}});var jP;(function(r){r[r.AM=0]="AM",r[r.PM=1]="PM"})(jP=L.Meridiem||(L.Meridiem={}));var BP=Mr(gm());L.de=BP;var GP=Mr(Hm());L.fr=GP;var HP=Mr(ty());L.ja=HP;var zP=Mr(gy());L.pt=zP;var KP=Mr(tg());L.nl=KP;var VP=Mr(Ig());L.zh=VP;var ZP=Mr(u_());L.ru=ZP;L.strict=ud.strict;L.casual=ud.casual;function XP(r,e,t){return L.casual.parse(r,e,t)}L.parse=XP;function QP(r,e,t){return L.casual.parseDate(r,e,t)}L.parseDate=QP});var Wt=p(Pr=>{"use strict";Pr.__esModule=!0;var aA;(function(r){r.AND="AND",r.OR="OR",r.XOR="XOR",r.NOT="NOT"})(aA=Pr.Operators||(Pr.Operators={}));var oA;(function(r){r.OPEN_PARENTHESIS="(",r.CLOSE_PARENTHESIS=")"})(oA=Pr.StructuralCharacters||(Pr.StructuralCharacters={}));var uA;(function(r){r.IDENTIFIER="IDENTIFIER",r.OPERATOR="OPERATOR",r.STRUCTURAL_CHARACTER="STRUCTURAL_CHARACTER",r.EOF="EOF",r.COMMENT="COMMENT"})(uA=Pr.Tokens||(Pr.Tokens={}))});var vd=p(xa=>{"use strict";xa.__esModule=!0;var he=Wt();xa.OPERATOR_PRECEDENCE={NOT:0,XOR:1,AND:2,OR:3};xa.VALID_TOKENS={identifierOnly:[{name:he.Tokens.IDENTIFIER},{name:he.Tokens.STRUCTURAL_CHARACTER,value:he.StructuralCharacters.OPEN_PARENTHESIS}],identifierOrNot:[{name:he.Tokens.IDENTIFIER},{name:he.Tokens.STRUCTURAL_CHARACTER,value:he.StructuralCharacters.OPEN_PARENTHESIS},{name:he.Tokens.OPERATOR,value:he.Operators.NOT}],binaryOperator:[{name:he.Tokens.OPERATOR,value:he.Operators.AND},{name:he.Tokens.OPERATOR,value:he.Operators.OR},{name:he.Tokens.OPERATOR,value:he.Operators.XOR}],binaryOperatorOrClose:[{name:he.Tokens.OPERATOR,value:he.Operators.AND},{name:he.Tokens.OPERATOR,value:he.Operators.OR},{name:he.Tokens.OPERATOR,value:he.Operators.XOR},{name:he.Tokens.STRUCTURAL_CHARACTER,value:he.StructuralCharacters.CLOSE_PARENTHESIS}]}});var Ed=p(sr=>{"use strict";sr.__esModule=!0;var kn=Wt();sr.STRUCTURAL_CHARACTERS={"(":kn.StructuralCharacters.OPEN_PARENTHESIS,")":kn.StructuralCharacters.CLOSE_PARENTHESIS};sr.OPERATORS={AND:kn.Operators.AND,OR:kn.Operators.OR,XOR:kn.Operators.XOR,NOT:kn.Operators.NOT};sr.SEPARATORS=new Set([32,9,10,13].map(function(r){return String.fromCodePoint(r)}));sr.QUOTED_IDENTIFIER_DELIMITER=String.fromCodePoint(34);sr.COMMENT_DELIMITER=String.fromCodePoint(35);sr.EOL=String.fromCodePoint(10);sr.ESCAPE_CHARACTER=String.fromCodePoint(92)});var v_=p(ar=>{"use strict";var wd=ar&&ar.__assign||function(){return wd=Object.assign||function(r){for(var e,t=1,n=arguments.length;t{"use strict";Rd.__esModule=!0;var Nn=Wt(),it=Ed(),Cn=v_();Rd.lex=function(r){for(var e=null,t=null,n=null,i=0;i{"use strict";var lA=or&&or.__spreadArrays||function(){for(var r=0,e=0,t=arguments.length;e{"use strict";var xn=rs&&rs.__spreadArrays||function(){for(var r=0,e=0,t=arguments.length;e{"use strict";ur.__esModule=!0;var D_=Wt();ur.andUtil=function(r,e){return r&&e};ur.orUtil=function(r,e){return r||e};ur.xorUtil=function(r,e){return r!==e};ur.notUtil=function(r){return!r};ur.isIdentifier=function(r){var e=r.name,t=r.value;return e===D_.Tokens.IDENTIFIER&&typeof t=="string"};ur.isOperator=function(r){var e=r.name,t=r.value;return e===D_.Tokens.OPERATOR&&typeof t=="string"};ur.throwInvalidExpression=function(r){throw new TypeError("Invalid postfix expression: "+r)}});var O_=p(kd=>{"use strict";var ns;kd.__esModule=!0;var Pd=Wt(),Ad=Od();kd.OPERATOR_MAP=(ns={},ns[Pd.Operators.AND]=Ad.andUtil,ns[Pd.Operators.OR]=Ad.orUtil,ns[Pd.Operators.XOR]=Ad.xorUtil,ns)});var A_=p(Xr=>{"use strict";var Nd=Xr&&Xr.__spreadArrays||function(){for(var r=0,e=0,t=arguments.length;e{"use strict";is.__esModule=!0;var k_=A_();is.getEvaluator=k_.getEvaluator;is.evaluate=k_.evaluate;var pA=Dd();is.parse=pA.parse});var bA={};j_(bA,{default:()=>Qa});module.exports=B_(bA);var I_=require("obsidian");var Ds=require("obsidian");var EA=new Error("timeout while waiting for mutex to become available"),wA=new Error("mutex already locked"),G_=new Error("request for lock canceled"),ff=function(r,e,t,n){function i(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(c){try{l(n.next(c))}catch(d){a(d)}}function u(c){try{l(n.throw(c))}catch(d){a(d)}}function l(c){c.done?s(c.value):i(c.value).then(o,u)}l((n=n.apply(r,e||[])).next())})},no=class{constructor(e,t=G_){if(this._maxConcurrency=e,this._cancelError=t,this._queue=[],this._waiters=[],e<=0)throw new Error("semaphore must be initialized to a positive value");this._value=e}acquire(){let e=this.isLocked(),t=new Promise((n,i)=>this._queue.push({resolve:n,reject:i}));return e||this._dispatch(),t}runExclusive(e){return ff(this,void 0,void 0,function*(){let[t,n]=yield this.acquire();try{return yield e(t)}finally{n()}})}waitForUnlock(){return ff(this,void 0,void 0,function*(){return this.isLocked()?new Promise(t=>this._waiters.push({resolve:t})):Promise.resolve()})}isLocked(){return this._value<=0}release(){if(this._maxConcurrency>1)throw new Error("this method is unavailable on semaphores with concurrency > 1; use the scoped release returned by acquire instead");if(this._currentReleaser){let e=this._currentReleaser;this._currentReleaser=void 0,e()}}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatch(){let e=this._queue.shift();if(!e)return;let t=!1;this._currentReleaser=()=>{t||(t=!0,this._value++,this._resolveWaiters(),this._dispatch())},e.resolve([this._value--,this._currentReleaser])}_resolveWaiters(){this._waiters.forEach(e=>e.resolve()),this._waiters=[]}},H_=function(r,e,t,n){function i(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(c){try{l(n.next(c))}catch(d){a(d)}}function u(c){try{l(n.throw(c))}catch(d){a(d)}}function l(c){c.done?s(c.value):i(c.value).then(o,u)}l((n=n.apply(r,e||[])).next())})},gs=class{constructor(e){this._semaphore=new no(1,e)}acquire(){return H_(this,void 0,void 0,function*(){let[,e]=yield this._semaphore.acquire();return e})}runExclusive(e){return this._semaphore.runExclusive(()=>e())}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.release()}cancel(){return this._semaphore.cancel()}};var bp=require("obsidian");var hf=require("obsidian");var pf=[{index:9999,internalName:"INTERNAL_TESTING_ENABLED_BY_DEFAULT",displayName:"Test Item. Used to validate the Feature Framework.",description:"Description",enabledByDefault:!0,stable:!1}];var Dt=class{constructor(e,t,n,i,s,a){this.internalName=e;this.index=t;this.description=n;this.displayName=i;this.enabledByDefault=s;this.stable=a}static get values(){let e=[];return pf.forEach(t=>{e=[...e,new Dt(t.internalName,t.index,t.description,t.displayName,t.enabledByDefault,t.stable)]}),e}static get settingsFlags(){let e={};return Dt.values.forEach(t=>{e[t.internalName]=t.enabledByDefault}),e}static fromString(e){for(let t of Dt.values)if(e===t.internalName)return t;throw new RangeError(`Illegal argument passed to fromString(): ${e} does not correspond to any available Feature ${this.prototype.constructor.name}`)}};var K_={globalFilter:"",removeGlobalFilter:!1,setDoneDate:!0,autoSuggestInEditor:!0,autoSuggestMinMatch:0,autoSuggestMaxItems:6,features:Dt.settingsFlags},Ln=Le({},K_),ae=()=>{for(let r in Dt.settingsFlags)Ln.features[r]===void 0&&(Ln.features[r]=Dt.settingsFlags[r]);return Le({},Ln)},jt=r=>(Ln=Le(Le({},Ln),r),ae());var io,so,mf=({metadataCache:r,vault:e})=>{io=r,so=e},_s=t=>se(void 0,[t],function*({originalTask:r,newTasks:e}){if(so===void 0||io===void 0){console.error("Tasks: cannot use File before initializing it.");return}Array.isArray(e)||(e=[e]),yf({originalTask:r,newTasks:e,vault:so,metadataCache:io,previousTries:0})}),yf=s=>se(void 0,[s],function*({originalTask:r,newTasks:e,vault:t,metadataCache:n,previousTries:i}){let a=()=>{if(i>10){console.error("Tasks: Too many retries. File update not possible ...");return}let _=Math.min(Math.pow(10,i),100);setTimeout(()=>{yf({originalTask:r,newTasks:e,vault:t,metadataCache:n,previousTries:i+1})},_)},o=t.getAbstractFileByPath(r.path);if(!(o instanceof hf.TFile))return console.warn(`Tasks: No file found for task ${r.description}. Retrying ...`),a();if(o.extension!=="md"){console.error("Tasks: Only supporting files with the .md file extension.");return}let u=n.getFileCache(o);if(u==null||u===null)return console.warn(`Tasks: No file cache found for file ${o.path}. Retrying ...`),a();let l=u.listItems;if(l===void 0||l.length===0)return console.warn(`Tasks: No list items found in file cache of ${o.path}. Retrying ...`),a();let d=(yield t.read(o)).split(` +`),{globalFilter:f}=ae(),h,g=0;for(let _ of l){if(_.position.start.line_.toFileLineString()),...d.slice(h.position.start.line+1)];yield t.modify(o,y.join(` +`))});var tn=class{constructor(){this.hideTaskCount=!1;this.hideBacklinks=!1;this.hidePriority=!1;this.hideStartDate=!1;this.hideScheduledDate=!1;this.hideDoneDate=!1;this.hideDueDate=!1;this.hideRecurrenceRule=!1;this.hideEditButton=!1;this.hideUrgency=!0;this.shortMode=!1}};var Ts=["MO","TU","WE","TH","FR","SA","SU"],ye=function(){function r(e,t){if(t===0)throw new Error("Can't create weekday with n == 0");this.weekday=e,this.n=t}return r.fromStr=function(e){return new r(Ts.indexOf(e))},r.prototype.nth=function(e){return this.n===e?this:new r(this.weekday,e)},r.prototype.equals=function(e){return this.weekday===e.weekday&&this.n===e.n},r.prototype.toString=function(){var e=Ts[this.weekday];return this.n&&(e=(this.n>0?"+":"")+String(this.n)+e),e},r.prototype.getJsWeekday=function(){return this.weekday===6?0:this.weekday+1},r}();var ue=function(r){return r!=null},Qe=function(r){return typeof r=="number"},ao=function(r){return typeof r=="string"&&Ts.includes(r)},Ce=Array.isArray,at=function(r,e){e===void 0&&(e=r),arguments.length===1&&(e=r,r=0);for(var t=[],n=r;n>0,n.length>e?String(n):(e=e-n.length,e>t.length&&(t+=G(t,e/t.length)),t.slice(0,e)+String(n))}var _f=function(r,e,t){var n=r.split(e);return t?n.slice(0,t).concat([n.slice(t).join(e)]):n},Ue=function(r,e){var t=r%e;return t*e<0?t+e:t},bs=function(r,e){return{div:Math.floor(r/e),mod:Ue(r,e)}},Je=function(r){return!ue(r)||r.length===0},me=function(r){return!Je(r)},K=function(r,e){return me(r)&&r.indexOf(e)!==-1};var mr;(function(r){r.MONTH_DAYS=[31,28,31,30,31,30,31,31,30,31,30,31],r.ONE_DAY=1e3*60*60*24,r.MAXYEAR=9999,r.ORDINAL_BASE=new Date(Date.UTC(1970,0,1)),r.PY_WEEKDAYS=[6,0,1,2,3,4,5],r.getYearDay=function(e){var t=new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate());return Math.ceil((t.valueOf()-new Date(e.getUTCFullYear(),0,1).valueOf())/r.ONE_DAY)+1},r.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},r.isDate=function(e){return e instanceof Date},r.isValidDate=function(e){return r.isDate(e)&&!isNaN(e.getTime())},r.tzOffset=function(e){return e.getTimezoneOffset()*60*1e3},r.daysBetween=function(e,t){var n=e.getTime()-r.tzOffset(e),i=t.getTime()-r.tzOffset(t),s=n-i;return Math.round(s/r.ONE_DAY)},r.toOrdinal=function(e){return r.daysBetween(e,r.ORDINAL_BASE)},r.fromOrdinal=function(e){return new Date(r.ORDINAL_BASE.getTime()+e*r.ONE_DAY)},r.getMonthDays=function(e){var t=e.getUTCMonth();return t===1&&r.isLeapYear(e.getUTCFullYear())?29:r.MONTH_DAYS[t]},r.getWeekday=function(e){return r.PY_WEEKDAYS[e.getUTCDay()]},r.monthRange=function(e,t){var n=new Date(Date.UTC(e,t,1));return[r.getWeekday(n),r.getMonthDays(n)]},r.combine=function(e,t){return t=t||e,new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))},r.clone=function(e){var t=new Date(e.getTime());return t},r.cloneDates=function(e){for(var t=[],n=0;nthis.maxDate;if(this.method==="between"){if(t)return!0;if(n)return!1}else if(this.method==="before"){if(n)return!1}else if(this.method==="after")return t?!0:(this.add(e),!1);return this.add(e)},r.prototype.add=function(e){return this._result.push(e),!0},r.prototype.getValue=function(){var e=this._result;switch(this.method){case"all":case"between":return e;case"before":case"after":default:return e.length?e[e.length-1]:null}},r.prototype.clone=function(){return new r(this.method,this.args)},r}(),Bt=V_;var Yf=ys(Lf(),1),{__extends:nn,__assign:Ye,__rest:$A,__decorate:jA,__param:BA,__metadata:GA,__awaiter:HA,__generator:zA,__exportStar:KA,__createBinding:VA,__values:ZA,__read:XA,__spread:QA,__spreadArrays:JA,__spreadArray:w,__await:ek,__asyncGenerator:tk,__asyncDelegator:rk,__asyncValues:nk,__makeTemplateObject:ik,__importStar:sk,__importDefault:ak,__classPrivateFieldGet:ok,__classPrivateFieldSet:uk,__classPrivateFieldIn:lk}=Yf.default;var Z_=function(r){nn(e,r);function e(t,n,i){var s=r.call(this,t,n)||this;return s.iterator=i,s}return e.prototype.add=function(t){return this.iterator(t,this._result.length)?(this._result.push(t),!0):!1},e}(Bt),uo=Z_;var X_={dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],tokens:{SKIP:/^[ \r\n\t]+|^\.$/,number:/^[1-9][0-9]*/,numberAsText:/^(one|two|three)/i,every:/^every/i,"day(s)":/^days?/i,"weekday(s)":/^weekdays?/i,"week(s)":/^weeks?/i,"hour(s)":/^hours?/i,"minute(s)":/^minutes?/i,"month(s)":/^months?/i,"year(s)":/^years?/i,on:/^(on|in)/i,at:/^(at)/i,the:/^the/i,first:/^first/i,second:/^second/i,third:/^third/i,nth:/^([1-9][0-9]*)(\.|th|nd|rd|st)/i,last:/^last/i,for:/^for/i,"time(s)":/^times?/i,until:/^(un)?til/i,monday:/^mo(n(day)?)?/i,tuesday:/^tu(e(s(day)?)?)?/i,wednesday:/^we(d(n(esday)?)?)?/i,thursday:/^th(u(r(sday)?)?)?/i,friday:/^fr(i(day)?)?/i,saturday:/^sa(t(urday)?)?/i,sunday:/^su(n(day)?)?/i,january:/^jan(uary)?/i,february:/^feb(ruary)?/i,march:/^mar(ch)?/i,april:/^apr(il)?/i,may:/^may/i,june:/^june?/i,july:/^july?/i,august:/^aug(ust)?/i,september:/^sep(t(ember)?)?/i,october:/^oct(ober)?/i,november:/^nov(ember)?/i,december:/^dec(ember)?/i,comma:/^(,\s*|(and|or)\s*)+/i}},Cr=X_;var $f=function(r,e){return r.indexOf(e)!==-1},Q_=function(r){return r.toString()},J_=function(r,e,t){return"".concat(e," ").concat(t,", ").concat(r)},eT=function(){function r(e,t,n,i){if(t===void 0&&(t=Q_),n===void 0&&(n=Cr),i===void 0&&(i=J_),this.text=[],this.language=n||Cr,this.gettext=t,this.dateFormatter=i,this.rrule=e,this.options=e.options,this.origOptions=e.origOptions,this.origOptions.bymonthday){var s=[].concat(this.options.bymonthday),a=[].concat(this.options.bynmonthday);s.sort(function(c,d){return c-d}),a.sort(function(c,d){return d-c}),this.bymonthday=s.concat(a),this.bymonthday.length||(this.bymonthday=null)}if(ue(this.origOptions.byweekday)){var o=Ce(this.origOptions.byweekday)?this.origOptions.byweekday:[this.origOptions.byweekday],u=String(o);this.byweekday={allWeeks:o.filter(function(c){return!c.n}),someWeeks:o.filter(function(c){return Boolean(c.n)}),isWeekdays:u.indexOf("MO")!==-1&&u.indexOf("TU")!==-1&&u.indexOf("WE")!==-1&&u.indexOf("TH")!==-1&&u.indexOf("FR")!==-1&&u.indexOf("SA")===-1&&u.indexOf("SU")===-1,isEveryDay:u.indexOf("MO")!==-1&&u.indexOf("TU")!==-1&&u.indexOf("WE")!==-1&&u.indexOf("TH")!==-1&&u.indexOf("FR")!==-1&&u.indexOf("SA")!==-1&&u.indexOf("SU")!==-1};var l=function(c,d){return c.weekday-d.weekday};this.byweekday.allWeeks.sort(l),this.byweekday.someWeeks.sort(l),this.byweekday.allWeeks.length||(this.byweekday.allWeeks=null),this.byweekday.someWeeks.length||(this.byweekday.someWeeks=null)}else this.byweekday=null}return r.isFullyConvertible=function(e){var t=!0;if(!(e.options.freq in r.IMPLEMENTED)||e.origOptions.until&&e.origOptions.count)return!1;for(var n in e.origOptions){if($f(["dtstart","wkst","freq"],n))return!0;if(!$f(r.IMPLEMENTED[e.options.freq],n))return!1}return t},r.prototype.isFullyConvertible=function(){return r.isFullyConvertible(this.rrule)},r.prototype.toString=function(){var e=this.gettext;if(!(this.options.freq in r.IMPLEMENTED))return e("RRule error: Unable to fully convert this rrule to text");if(this.text=[e("every")],this[D.FREQUENCIES[this.options.freq]](),this.options.until){this.add(e("until"));var t=this.options.until;this.add(this.dateFormatter(t.getUTCFullYear(),this.language.monthNames[t.getUTCMonth()],t.getUTCDate()))}else this.options.count&&this.add(e("for")).add(this.options.count.toString()).add(this.plural(this.options.count)?e("times"):e("time"));return this.isFullyConvertible()||this.add(e("(~ approximate)")),this.text.join("")},r.prototype.HOURLY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("hours"):e("hour"))},r.prototype.MINUTELY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("minutes"):e("minute"))},r.prototype.DAILY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.byweekday&&this.byweekday.isWeekdays?this.add(this.plural(this.options.interval)?e("weekdays"):e("weekday")):this.add(this.plural(this.options.interval)?e("days"):e("day")),this.origOptions.bymonth&&(this.add(e("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday?this._byweekday():this.origOptions.byhour&&this._byhour()},r.prototype.WEEKLY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()).add(this.plural(this.options.interval)?e("weeks"):e("week")),this.byweekday&&this.byweekday.isWeekdays?this.options.interval===1?this.add(this.plural(this.options.interval)?e("weekdays"):e("weekday")):this.add(e("on")).add(e("weekdays")):this.byweekday&&this.byweekday.isEveryDay?this.add(this.plural(this.options.interval)?e("days"):e("day")):(this.options.interval===1&&this.add(e("week")),this.origOptions.bymonth&&(this.add(e("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday())},r.prototype.MONTHLY=function(){var e=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()).add(e("months")),this.plural(this.options.interval)&&this.add(e("in"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("months"):e("month"))),this.bymonthday?this._bymonthday():this.byweekday&&this.byweekday.isWeekdays?this.add(e("on")).add(e("weekdays")):this.byweekday&&this._byweekday()},r.prototype.YEARLY=function(){var e=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()),this.add(e("years"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("years"):e("year"))),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday(),this.options.byyearday&&this.add(e("on the")).add(this.list(this.options.byyearday,this.nth,e("and"))).add(e("day")),this.options.byweekno&&this.add(e("in")).add(this.plural(this.options.byweekno.length)?e("weeks"):e("week")).add(this.list(this.options.byweekno,void 0,e("and")))},r.prototype._bymonthday=function(){var e=this.gettext;this.byweekday&&this.byweekday.allWeeks?this.add(e("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext,e("or"))).add(e("the")).add(this.list(this.bymonthday,this.nth,e("or"))):this.add(e("on the")).add(this.list(this.bymonthday,this.nth,e("and")))},r.prototype._byweekday=function(){var e=this.gettext;this.byweekday.allWeeks&&!this.byweekday.isWeekdays&&this.add(e("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext)),this.byweekday.someWeeks&&(this.byweekday.allWeeks&&this.add(e("and")),this.add(e("on the")).add(this.list(this.byweekday.someWeeks,this.weekdaytext,e("and"))))},r.prototype._byhour=function(){var e=this.gettext;this.add(e("at")).add(this.list(this.origOptions.byhour,void 0,e("and")))},r.prototype._bymonth=function(){this.add(this.list(this.options.bymonth,this.monthtext,this.gettext("and")))},r.prototype.nth=function(e){e=parseInt(e.toString(),10);var t,n=this.gettext;if(e===-1)return n("last");var i=Math.abs(e);switch(i){case 1:case 21:case 31:t=i+n("st");break;case 2:case 22:t=i+n("nd");break;case 3:case 23:t=i+n("rd");break;default:t=i+n("th")}return e<0?t+" "+n("last"):t},r.prototype.monthtext=function(e){return this.language.monthNames[e-1]},r.prototype.weekdaytext=function(e){var t=Qe(e)?(e+1)%7:e.getJsWeekday();return(e.n?this.nth(e.n)+" ":"")+this.language.dayNames[t]},r.prototype.plural=function(e){return e%100!==1},r.prototype.add=function(e){return this.text.push(" "),this.text.push(e),this},r.prototype.list=function(e,t,n,i){var s=this;i===void 0&&(i=","),Ce(e)||(e=[e]);var a=function(u,l,c){for(var d="",f=0;fe[0].length)&&(e=s,t=i)}if(e!=null&&(this.text=this.text.substr(e[0].length),this.text===""&&(this.done=!0)),e==null){this.done=!0,this.symbol=null,this.value=null;return}}while(t==="SKIP");return this.symbol=t,this.value=e,!0},r.prototype.accept=function(e){if(this.symbol===e){if(this.value){var t=this.value;return this.nextSymbol(),t}return this.nextSymbol(),!0}return!1},r.prototype.acceptNumber=function(){return this.accept("number")},r.prototype.expect=function(e){if(this.accept(e))return!0;throw new Error("expected "+e+" but found "+this.symbol)},r}();function Yn(r,e){e===void 0&&(e=Cr);var t={},n=new tT(e.tokens);if(!n.start(r))return null;return i(),t;function i(){n.expect("every");var f=n.acceptNumber();if(f&&(t.interval=parseInt(f[0],10)),n.isDone())throw new Error("Unexpected end");switch(n.symbol){case"day(s)":t.freq=D.DAILY,n.nextSymbol()&&(a(),d());break;case"weekday(s)":t.freq=D.WEEKLY,t.byweekday=[D.MO,D.TU,D.WE,D.TH,D.FR],n.nextSymbol(),d();break;case"week(s)":t.freq=D.WEEKLY,n.nextSymbol()&&(s(),d());break;case"hour(s)":t.freq=D.HOURLY,n.nextSymbol()&&(s(),d());break;case"minute(s)":t.freq=D.MINUTELY,n.nextSymbol()&&(s(),d());break;case"month(s)":t.freq=D.MONTHLY,n.nextSymbol()&&(s(),d());break;case"year(s)":t.freq=D.YEARLY,n.nextSymbol()&&(s(),d());break;case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":t.freq=D.WEEKLY;var h=n.symbol.substr(0,2).toUpperCase();if(t.byweekday=[D[h]],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var g=u();if(!g)throw new Error("Unexpected symbol "+n.symbol+", expected weekday");t.byweekday.push(D[g]),n.nextSymbol()}c(),d();break;case"january":case"february":case"march":case"april":case"may":case"june":case"july":case"august":case"september":case"october":case"november":case"december":if(t.freq=D.YEARLY,t.bymonth=[o()],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var y=o();if(!y)throw new Error("Unexpected symbol "+n.symbol+", expected month");t.bymonth.push(y),n.nextSymbol()}s(),d();break;default:throw new Error("Unknown symbol")}}function s(){var f=n.accept("on"),h=n.accept("the");if(!!(f||h))do{var g=l(),y=u(),_=o();if(g)y?(n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(D[y].nth(g))):(t.bymonthday||(t.bymonthday=[]),t.bymonthday.push(g),n.accept("day(s)"));else if(y)n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(D[y]);else if(n.symbol==="weekday(s)")n.nextSymbol(),t.byweekday||(t.byweekday=[D.MO,D.TU,D.WE,D.TH,D.FR]);else if(n.symbol==="week(s)"){n.nextSymbol();var P=n.acceptNumber();if(!P)throw new Error("Unexpected symbol "+n.symbol+", expected week number");for(t.byweekno=[parseInt(P[0],10)];n.accept("comma");){if(P=n.acceptNumber(),!P)throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.byweekno.push(parseInt(P[0],10))}}else if(_)n.nextSymbol(),t.bymonth||(t.bymonth=[]),t.bymonth.push(_);else return}while(n.accept("comma")||n.accept("the")||n.accept("on"))}function a(){var f=n.accept("at");if(!!f)do{var h=n.acceptNumber();if(!h)throw new Error("Unexpected symbol "+n.symbol+", expected hour");for(t.byhour=[parseInt(h[0],10)];n.accept("comma");){if(h=n.acceptNumber(),!h)throw new Error("Unexpected symbol "+n.symbol+"; expected hour");t.byhour.push(parseInt(h[0],10))}}while(n.accept("comma")||n.accept("at"))}function o(){switch(n.symbol){case"january":return 1;case"february":return 2;case"march":return 3;case"april":return 4;case"may":return 5;case"june":return 6;case"july":return 7;case"august":return 8;case"september":return 9;case"october":return 10;case"november":return 11;case"december":return 12;default:return!1}}function u(){switch(n.symbol){case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":return n.symbol.substr(0,2).toUpperCase();default:return!1}}function l(){switch(n.symbol){case"last":return n.nextSymbol(),-1;case"first":return n.nextSymbol(),1;case"second":return n.nextSymbol(),n.accept("last")?-2:2;case"third":return n.nextSymbol(),n.accept("last")?-3:3;case"nth":var f=parseInt(n.value[1],10);if(f<-366||f>366)throw new Error("Nth out of range: "+f);return n.nextSymbol(),n.accept("last")?-f:f;default:return!1}}function c(){n.accept("on"),n.accept("the");var f=l();if(!!f)for(t.bymonthday=[f],n.nextSymbol();n.accept("comma");){if(f=l(),!f)throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.bymonthday.push(f),n.nextSymbol()}}function d(){if(n.symbol==="until"){var f=Date.parse(n.text);if(!f)throw new Error("Cannot parse until date:"+n.text);t.until=new Date(f)}else n.accept("for")&&(t.count=parseInt(n.value[0],10),n.expect("number"))}}var j;(function(r){r[r.YEARLY=0]="YEARLY",r[r.MONTHLY=1]="MONTHLY",r[r.WEEKLY=2]="WEEKLY",r[r.DAILY=3]="DAILY",r[r.HOURLY=4]="HOURLY",r[r.MINUTELY=5]="MINUTELY",r[r.SECONDLY=6]="SECONDLY"})(j||(j={}));function $n(r){return r12){var n=Math.floor(this.month/12),i=Ue(this.month,12);this.month=i,this.year+=n,this.month===0&&(this.month=12,--this.year)}},e.prototype.addWeekly=function(t,n){n>this.getWeekday()?this.day+=-(this.getWeekday()+1+(6-n))+t*7:this.day+=-(this.getWeekday()-n)+t*7,this.fixDay()},e.prototype.addDaily=function(t){this.day+=t,this.fixDay()},e.prototype.addHours=function(t,n,i){for(n&&(this.hour+=Math.floor((23-this.hour)/t)*t);;){this.hour+=t;var s=bs(this.hour,24),a=s.div,o=s.mod;if(a&&(this.hour=o,this.addDaily(a)),Je(i)||K(i,this.hour))break}},e.prototype.addMinutes=function(t,n,i,s){for(n&&(this.minute+=Math.floor((1439-(this.hour*60+this.minute))/t)*t);;){this.minute+=t;var a=bs(this.minute,60),o=a.div,u=a.mod;if(o&&(this.minute=u,this.addHours(o,!1,i)),(Je(i)||K(i,this.hour))&&(Je(s)||K(s,this.minute)))break}},e.prototype.addSeconds=function(t,n,i,s,a){for(n&&(this.second+=Math.floor((86399-(this.hour*3600+this.minute*60+this.second))/t)*t);;){this.second+=t;var o=bs(this.second,60),u=o.div,l=o.mod;if(u&&(this.second=l,this.addMinutes(u,!1,i,s)),(Je(i)||K(i,this.hour))&&(Je(s)||K(s,this.minute))&&(Je(a)||K(a,this.second)))break}},e.prototype.fixDay=function(){if(!(this.day<=28)){var t=mr.monthRange(this.year,this.month-1)[1];if(!(this.day<=t))for(;this.day>t;){if(this.day-=t,++this.month,this.month===13&&(this.month=1,++this.year,this.year>mr.MAXYEAR))return;t=mr.monthRange(this.year,this.month-1)[1]}}},e.prototype.add=function(t,n){var i=t.freq,s=t.interval,a=t.wkst,o=t.byhour,u=t.byminute,l=t.bysecond;switch(i){case j.YEARLY:return this.addYears(s);case j.MONTHLY:return this.addMonths(s);case j.WEEKLY:return this.addWeekly(s,a);case j.DAILY:return this.addDaily(s);case j.HOURLY:return this.addHours(s,n,o);case j.MINUTELY:return this.addMinutes(s,n,o,u);case j.SECONDLY:return this.addSeconds(s,n,o,u,l)}},e}(an);function lo(r){for(var e=[],t=Object.keys(r),n=0,i=t;n=-366&&n<=366))throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}}if(!(Boolean(e.byweekno)||me(e.byweekno)||me(e.byyearday)||Boolean(e.bymonthday)||me(e.bymonthday)||ue(e.byweekday)||ue(e.byeaster)))switch(e.freq){case D.YEARLY:e.bymonth||(e.bymonth=e.dtstart.getUTCMonth()+1),e.bymonthday=e.dtstart.getUTCDate();break;case D.MONTHLY:e.bymonthday=e.dtstart.getUTCDate();break;case D.WEEKLY:e.byweekday=[C.getWeekday(e.dtstart)];break}if(ue(e.bymonth)&&!Ce(e.bymonth)&&(e.bymonth=[e.bymonth]),ue(e.byyearday)&&!Ce(e.byyearday)&&Qe(e.byyearday)&&(e.byyearday=[e.byyearday]),!ue(e.bymonthday))e.bymonthday=[],e.bynmonthday=[];else if(Ce(e.bymonthday)){for(var i=[],s=[],t=0;t0?i.push(n):n<0&&s.push(n)}e.bymonthday=i,e.bynmonthday=s}else e.bymonthday<0?(e.bynmonthday=[e.bymonthday],e.bymonthday=[]):(e.bynmonthday=[],e.bymonthday=[e.bymonthday]);if(ue(e.byweekno)&&!Ce(e.byweekno)&&(e.byweekno=[e.byweekno]),!ue(e.byweekday))e.bynweekday=null;else if(Qe(e.byweekday))e.byweekday=[e.byweekday],e.bynweekday=null;else if(ao(e.byweekday))e.byweekday=[ye.fromStr(e.byweekday).weekday],e.bynweekday=null;else if(e.byweekday instanceof ye)!e.byweekday.n||e.freq>D.MONTHLY?(e.byweekday=[e.byweekday.weekday],e.bynweekday=null):(e.bynweekday=[[e.byweekday.weekday,e.byweekday.n]],e.byweekday=null);else{for(var a=[],o=[],t=0;tD.MONTHLY?a.push(u.weekday):o.push([u.weekday,u.n])}e.byweekday=me(a)?a:null,e.bynweekday=me(o)?o:null}return ue(e.byhour)?Qe(e.byhour)&&(e.byhour=[e.byhour]):e.byhour=e.freq=4?(c=0,l=o.yearlen+Ue(a-e.wkst,7)):l=n-c;for(var d=Math.floor(l/7),f=Ue(l,7),h=Math.floor(d+f/4),g=0;g0&&y<=h){var _=void 0;y>1?(_=c+(y-1)*7,c!==u&&(_-=7-u)):_=c;for(var P=0;P<7&&(o.wnomask[_]=1,_++,o.wdaymask[_]!==e.wkst);P++);}}if(K(e.byweekno,1)){var _=c+h*7;if(c!==u&&(_-=7-u),_=4?(H=0,oe=Y+Ue(N-e.wkst,7)):oe=n-c,A=Math.floor(52+Ue(oe,7)/4)}if(K(e.byweekno,A))for(var _=0;_s)return Gt(r);if(A>=t){var N=fp(A,e);if(!r.accept(N)||o&&(--o,!o))return Gt(r)}}else for(var P=h;Ps)return Gt(r);if(A>=t){var N=fp(A,e);if(!r.accept(N)||o&&(--o,!o))return Gt(r)}}}if(e.interval===0||(u.add(e,y),u.year>C.MAXYEAR))return Gt(r);$n(n)||(c=l.gettimeset(n)(u.hour,u.minute,u.second,0)),l.rebuild(u.year,u.month)}}function pT(r,e,t){var n=t.bymonth,i=t.byweekno,s=t.byweekday,a=t.byeaster,o=t.bymonthday,u=t.bynmonthday,l=t.byyearday;return me(n)&&!K(n,r.mmask[e])||me(i)&&!r.wnomask[e]||me(s)&&!K(s,r.wdaymask[e])||me(r.nwdaymask)&&!r.nwdaymask[e]||a!==null&&!K(r.eastermask,e)||(me(o)||me(u))&&!K(o,r.mdaymask[e])&&!K(u,r.nmdaymask[e])||me(l)&&(e=r.yearlen&&!K(l,e+1-r.yearlen)&&!K(l,-r.nextyearlen+e-r.yearlen))}function fp(r,e){return new Sr(r,e.tzid).rezonedDate()}function Gt(r){return r.getValue()}function hT(r,e,t,n,i){for(var s=!1,a=e;a=D.HOURLY&&me(i)&&!K(i,e.hour)||n>=D.MINUTELY&&me(s)&&!K(s,e.minute)||n>=D.SECONDLY&&me(a)&&!K(a,e.second)?[]:r.gettimeset(n)(e.hour,e.minute,e.second,e.millisecond)}var ot={MO:new ye(0),TU:new ye(1),WE:new ye(2),TH:new ye(3),FR:new ye(4),SA:new ye(5),SU:new ye(6)},jn={freq:j.YEARLY,dtstart:null,interval:1,wkst:ot.MO,count:null,until:null,tzid:null,bysetpos:null,bymonth:null,bymonthday:null,bynmonthday:null,byyearday:null,byweekno:null,byweekday:null,bynweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null},Vf=Object.keys(jn),D=function(){function r(e,t){e===void 0&&(e={}),t===void 0&&(t=!1),this._cache=t?null:new Qf,this.origOptions=lo(e);var n=zf(e).parsedOptions;this.options=n}return r.parseText=function(e,t){return Yn(e,t)},r.fromText=function(e,t){return jf(e,t)},r.fromString=function(e){return new r(r.parseString(e)||void 0)},r.prototype._iter=function(e){return Rs(e,this.options)},r.prototype._cacheGet=function(e,t){return this._cache?this._cache._cacheGet(e,t):!1},r.prototype._cacheAdd=function(e,t,n){if(!!this._cache)return this._cache._cacheAdd(e,t,n)},r.prototype.all=function(e){if(e)return this._iter(new uo("all",{},e));var t=this._cacheGet("all");return t===!1&&(t=this._iter(new Bt("all",{})),this._cacheAdd("all",t)),t},r.prototype.between=function(e,t,n,i){if(n===void 0&&(n=!1),!C.isValidDate(e)||!C.isValidDate(t))throw new Error("Invalid date passed in to RRule.between");var s={before:t,after:e,inc:n};if(i)return this._iter(new uo("between",s,i));var a=this._cacheGet("between",s);return a===!1&&(a=this._iter(new Bt("between",s)),this._cacheAdd("between",a,s)),a},r.prototype.before=function(e,t){if(t===void 0&&(t=!1),!C.isValidDate(e))throw new Error("Invalid date passed in to RRule.before");var n={dt:e,inc:t},i=this._cacheGet("before",n);return i===!1&&(i=this._iter(new Bt("before",n)),this._cacheAdd("before",i,n)),i},r.prototype.after=function(e,t){if(t===void 0&&(t=!1),!C.isValidDate(e))throw new Error("Invalid date passed in to RRule.after");var n={dt:e,inc:t},i=this._cacheGet("after",n);return i===!1&&(i=this._iter(new Bt("after",n)),this._cacheAdd("after",i,n)),i},r.prototype.count=function(){return this.all().length},r.prototype.toString=function(){return Hn(this.origOptions)},r.prototype.toText=function(e,t,n){return Bf(this,e,t,n)},r.prototype.isFullyConvertibleToText=function(){return Gf(this)},r.prototype.clone=function(){return new r(this.origOptions)},r.FREQUENCIES=["YEARLY","MONTHLY","WEEKLY","DAILY","HOURLY","MINUTELY","SECONDLY"],r.YEARLY=j.YEARLY,r.MONTHLY=j.MONTHLY,r.WEEKLY=j.WEEKLY,r.DAILY=j.DAILY,r.HOURLY=j.HOURLY,r.MINUTELY=j.MINUTELY,r.SECONDLY=j.SECONDLY,r.MO=ot.MO,r.TU=ot.TU,r.WE=ot.WE,r.TH=ot.TH,r.FR=ot.FR,r.SA=ot.SA,r.SU=ot.SU,r.parseString=Gn,r.optionsToString=Hn,r}();function pp(r,e,t,n,i,s){var a={},o=r.accept;function u(f,h){t.forEach(function(g){g.between(f,h,!0).forEach(function(y){a[Number(y)]=!0})})}i.forEach(function(f){var h=new Sr(f,s).rezonedDate();a[Number(h)]=!0}),r.accept=function(f){var h=Number(f);return isNaN(h)?o.call(this,f):!a[h]&&(u(new Date(h-1),new Date(h+1)),!a[h])?(a[h]=!0,o.call(this,f)):!0},r.method==="between"&&(u(r.args.after,r.args.before),r.accept=function(f){var h=Number(f);return a[h]?!0:(a[h]=!0,o.call(this,f))});for(var l=0;l1||i.length||s.length||a.length){var c=new po(l);return c.dtstart(o),c.tzid(u||void 0),n.forEach(function(f){c.rrule(new D(fo(f,o,u),l))}),i.forEach(function(f){c.rdate(f)}),s.forEach(function(f){c.exrule(new D(fo(f,o,u),l))}),a.forEach(function(f){c.exdate(f)}),e.compatible&&e.dtstart&&c.rdate(o),c}var d=n[0]||{};return new D(fo(d,d.dtstart||e.dtstart||o,d.tzid||e.tzid||u),l)}function Ms(r,e){return e===void 0&&(e={}),gT(r,_T(e))}function fo(r,e,t){return Ye(Ye({},r),{dtstart:e,tzid:t})}function _T(r){var e=[],t=Object.keys(r),n=Object.keys(hp);if(t.forEach(function(i){K(n,i)||e.push(i)}),e.length)throw new Error("Invalid options: "+e.join(", "));return Ye(Ye({},hp),r)}function TT(r){if(r.indexOf(":")===-1)return{name:"RRULE",value:r};var e=_f(r,":",1),t=e[0],n=e[1];return{name:t,value:n}}function bT(r){var e=TT(r),t=e.name,n=e.value,i=t.split(";");if(!i)throw new Error("empty property name");return{name:i[0].toUpperCase(),parms:i.slice(1),value:n}}function vT(r,e){if(e===void 0&&(e=!1),r=r&&r.trim(),!r)throw new Error("Invalid empty string");if(!e)return r.split(/\s/);for(var t=r.split(` +`),n=0;n0&&i[0]===" "?(t[n-1]+=i.slice(1),t.splice(n,1)):n+=1:t.splice(n,1)}return t}function ET(r){r.forEach(function(e){if(!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(e))throw new Error("unsupported RDATE/EXDATE parm: "+e)})}function mp(r,e){return ET(e),r.split(",").map(function(t){return C.untilStringToDate(t)})}function yp(r){var e=this;return function(t){if(t!==void 0&&(e["_".concat(r)]=t),e["_".concat(r)]!==void 0)return e["_".concat(r)];for(var n=0;ne(t,n)*-1}static makeCompositeComparator(e){return(t,n)=>{for(let i of e){let s=i(t,n);if(s!==0)return s}return 0}}static compareByUrgency(e,t){return t.urgency-e.urgency}static compareByStatus(e,t){return e.statust.status?-1:0}static compareByPriority(e,t){return e.priority.localeCompare(t.priority)}static compareByStartDate(e,t){return H.compareByDate(e.startDate,t.startDate)}static compareByScheduledDate(e,t){return H.compareByDate(e.scheduledDate,t.scheduledDate)}static compareByDueDate(e,t){return H.compareByDate(e.dueDate,t.dueDate)}static compareByDoneDate(e,t){return H.compareByDate(e.doneDate,t.doneDate)}static compareByTag(e,t){if(e.tags.length===0&&t.tags.length===0)return 0;if(e.tags.length===0)return 1;if(t.tags.length===0)return-1;let n=H.tagPropertyInstance-1;return e.tags.length=H.tagPropertyInstance?1:t.tags.length=H.tagPropertyInstance?-1:e.tags.lengtht.tags[n]?1:0}static compareByDate(e,t){return e!==null&&t===null?-1:e===null&&t!==null?1:e!==null&&t!==null?e.isAfter(t)?1:e.isBefore(t)?-1:0:0}static compareByPath(e,t){return e.patht.path?1:0}static compareByDescription(e,t){return H.cleanDescription(e.description).localeCompare(H.cleanDescription(t.description))}static cleanDescription(e){let t=ie().globalFilter;e=e.replace(t,"").trim();let n=/^\[\[?([^\]]*)\]/,i=e.match(n);if(i!==null){let l=i[1];e=l.substring(l.indexOf("|")+1)+e.replace(n,"")}let s=/^\*\*?([^*]*)\*/,a=e.match(s);a!==null&&(e=a[1]+e.replace(n,""));let o=/^==?([^=]*)==/,u=e.match(o);return u!==null&&(e=u[1]+e.replace(o,"")),e}},Ge=H;Ge.tagPropertyInstance=1,Ge.comparators={urgency:H.compareByUrgency,description:H.compareByDescription,priority:H.compareByPriority,start:H.compareByStartDate,scheduled:H.compareByScheduledDate,due:H.compareByDueDate,done:H.compareByDoneDate,path:H.compareByPath,status:H.compareByStatus,tag:H.compareByTag};var Re=class{constructor({rrule:e,baseOnToday:t,referenceDate:n,startDate:i,scheduledDate:s,dueDate:a}){this.rrule=e,this.baseOnToday=t,this.referenceDate=n,this.startDate=i,this.scheduledDate=s,this.dueDate=a}static fromText({recurrenceRuleText:e,startDate:t,scheduledDate:n,dueDate:i}){try{let s=e.match(/^([a-zA-Z0-9, !]+?)( when done)?$/i);if(s==null)return null;let a=s[1].trim(),o=s[2]!==void 0,u=D.parseText(a);if(u!==null){let l=null;i?l=window.moment(i):n?l=window.moment(n):t&&(l=window.moment(t)),!o&&l!==null?u.dtstart=window.moment(l).startOf("day").utc(!0).toDate():u.dtstart=window.moment().startOf("day").utc(!0).toDate();let c=new D(u);return new Re({rrule:c,baseOnToday:o,referenceDate:l,startDate:t,scheduledDate:n,dueDate:i})}}catch(s){}return null}toText(){let e=this.rrule.toText();return this.baseOnToday&&(e+=" when done"),e}next(){var t;let e;if(this.baseOnToday){let n=window.moment(),i=new D(Wt($e({},this.rrule.origOptions),{dtstart:n.startOf("day").utc(!0).toDate()}));e=this.nextAfter(n.endOf("day"),i)}else{let n=window.moment((t=this.referenceDate)!=null?t:void 0).endOf("day");e=this.nextAfter(n,this.rrule)}if(e!==null){let n=null,i=null,s=null;if(this.referenceDate){if(this.startDate){let a=window.moment.duration(this.startDate.diff(this.referenceDate));n=window.moment(e),n.add(Math.round(a.asDays()),"days")}if(this.scheduledDate){let a=window.moment.duration(this.scheduledDate.diff(this.referenceDate));i=window.moment(e),i.add(Math.round(a.asDays()),"days")}if(this.dueDate){let a=window.moment.duration(this.dueDate.diff(this.referenceDate));s=window.moment(e),s.add(Math.round(a.asDays()),"days")}}return{startDate:n,scheduledDate:i,dueDate:s}}return null}identicalTo(e){return this.baseOnToday!==e.baseOnToday||Ge.compareByDate(this.startDate,e.startDate)!==0||Ge.compareByDate(this.scheduledDate,e.scheduledDate)!==0||Ge.compareByDate(this.dueDate,e.dueDate)!==0?!1:this.toText()===e.toText()}nextAfter(e,t){e.utc(!0);let n=window.moment(t.after(e.toDate())),i=this.toText(),s=i.match(/every( \d+)? month(s)?(.*)?/);s!==null&&(i.includes(" on ")||(n=Re.nextAfterMonths(e,n,t,s[1])));let a=i.match(/every( \d+)? year(s)?(.*)?/);return a!==null&&(n=Re.nextAfterYears(e,n,t,a[1])),Re.addTimezone(n).toDate()}static nextAfterMonths(e,t,n,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));Re.isSkippingTooManyMonths(e,t,s);)t=Re.fromOneDayEarlier(e,n);return t}static isSkippingTooManyMonths(e,t,n){let i=t.month()-e.month();return i+=(t.year()-e.year())*12,i>n}static nextAfterYears(e,t,n,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));Re.isSkippingTooManyYears(e,t,s);)t=Re.fromOneDayEarlier(e,n);return t}static isSkippingTooManyYears(e,t,n){return t.year()-e.year()>n}static fromOneDayEarlier(e,t){e.subtract(1,"days").endOf("day");let n=t.origOptions;return n.dtstart=e.startOf("day").toDate(),t=new D(n),window.moment(t.after(e.toDate()))}static addTimezone(e){return window.moment.utc(e).local(!0).startOf("day")}};var Bt=class{static calculate(e){let t=0;if(e.dueDate!==null){let n=Math.round(window.moment().diff(e.dueDate)/Bt.milliSecondsPerDay),i;n>=7?i=1:n>=-14?i=(n+14)*.8/21+.2:i=.2,t+=i*Bt.dueCoefficient}switch(e.scheduledDate!==null&&window.moment().isSameOrAfter(e.scheduledDate)&&(t+=1*Bt.scheduledCoefficient),e.startDate!==null&&window.moment().isBefore(e.startDate)&&(t+=1*Bt.startedCoefficient),e.priority){case"1":t+=1*Bt.priorityCoefficient;break;case"2":t+=.65*Bt.priorityCoefficient;break;case"3":t+=.325*Bt.priorityCoefficient;break}return t}},jt=Bt;jt.dueCoefficient=12,jt.scheduledCoefficient=5,jt.startedCoefficient=-3,jt.priorityCoefficient=6,jt.milliSecondsPerDay=1e3*60*60*24;var we={High:"\u23EB",Medium:"\u{1F53C}",Low:"\u{1F53D}",None:""},Dt="\u{1F501}",Ot="\u{1F6EB}",Pt="\u23F3",At="\u{1F4C5}",po="\u2705",Qe=class{},M=Qe;M.dateFormat="YYYY-MM-DD",M.indentationRegex=/^([\s\t>]*)/,M.listMarkerRegex=/[-*]/,M.checkboxRegex=/\[(.)\]/u,M.afterCheckboxRegex=/ *(.*)/u,M.taskRegex=new RegExp(Qe.indentationRegex.source+Qe.listMarkerRegex.source+" +"+Qe.checkboxRegex.source+Qe.afterCheckboxRegex.source,"u"),M.nonTaskRegex=new RegExp(Qe.indentationRegex.source+Qe.listMarkerRegex.source+"? *("+Qe.checkboxRegex.source+")?"+Qe.afterCheckboxRegex.source,"u"),M.listItemRegex=new RegExp(Qe.indentationRegex.source+"("+Qe.listMarkerRegex.source+")"),M.blockLinkRegex=/ \^[a-zA-Z0-9-]+$/u,M.priorityRegex=/([⏫🔼🔽])$/u,M.startDateRegex=/🛫 *(\d{4}-\d{2}-\d{2})$/u,M.scheduledDateRegex=/[⏳⌛] *(\d{4}-\d{2}-\d{2})$/u,M.dueDateRegex=/[📅📆🗓] *(\d{4}-\d{2}-\d{2})$/u,M.doneDateRegex=/✅ *(\d{4}-\d{2}-\d{2})$/u,M.recurrenceRegex=/🔁 ?([a-zA-Z0-9, !]+)$/iu,M.hashTags=/(^|\s)#[^ !@#$%^&*(),.?":{}|<>]*/g,M.hashTagsFromEnd=new RegExp(Qe.hashTags.source+"$");var oe=class{constructor({status:e,description:t,path:n,indentation:i,sectionStart:s,sectionIndex:a,originalStatusCharacter:o,precedingHeader:u,priority:l,startDate:c,scheduledDate:d,dueDate:f,doneDate:p,recurrence:y,blockLink:m,tags:_}){this._urgency=null;this.status=e,this.description=t,this.path=n,this.indentation=i,this.sectionStart=s,this.sectionIndex=a,this.originalStatusCharacter=o,this.precedingHeader=u,this.tags=_,this.priority=l,this.startDate=c,this.scheduledDate=d,this.dueDate=f,this.doneDate=p,this.recurrence=y,this.blockLink=m}static fromLine({line:e,path:t,sectionStart:n,sectionIndex:i,precedingHeader:s}){let a=e.match(M.taskRegex);if(a===null)return null;let o=a[3].trim(),{globalFilter:u}=ie();if(!o.includes(u))return null;let l=o,c=a[1],d=a[2],f;switch(d){case" ":f="Todo";break;default:f="Done"}let p=l.match(M.blockLinkRegex),y=p!==null?p[0]:"";y!==""&&(l=l.replace(M.blockLinkRegex,"").trim());let m,_="3",A=null,I=null,C=null,z=null,re="",fe=null,ee=[],x="",le=20,pe=0;do{m=!1;let v=l.match(M.priorityRegex);if(v!==null){switch(v[1]){case we.Low:_="4";break;case we.Medium:_="2";break;case we.High:_="1";break}l=l.replace(M.priorityRegex,"").trim(),m=!0}let T=l.match(M.doneDateRegex);T!==null&&(z=window.moment(T[1],M.dateFormat),l=l.replace(M.doneDateRegex,"").trim(),m=!0);let P=l.match(M.dueDateRegex);P!==null&&(C=window.moment(P[1],M.dateFormat),l=l.replace(M.dueDateRegex,"").trim(),m=!0);let E=l.match(M.scheduledDateRegex);E!==null&&(I=window.moment(E[1],M.dateFormat),l=l.replace(M.scheduledDateRegex,"").trim(),m=!0);let U=l.match(M.startDateRegex);U!==null&&(A=window.moment(U[1],M.dateFormat),l=l.replace(M.startDateRegex,"").trim(),m=!0);let O=l.match(M.recurrenceRegex);O!==null&&(re=O[1].trim(),l=l.replace(M.recurrenceRegex,"").trim(),m=!0);let F=l.match(M.hashTagsFromEnd);if(F!=null){l=l.replace(M.hashTagsFromEnd,"").trim(),m=!0;let X=F[0].trim();x=x.length>0?[X,x].join(" "):X}pe++}while(m&&pe<=le);re.length>0&&(fe=Re.fromText({recurrenceRuleText:re,startDate:A,scheduledDate:I,dueDate:C})),x.length>0&&(l+=" "+x);let w=l.match(M.hashTags);return w!==null&&(ee=w.filter(v=>v!==u).map(v=>v.trim())),new oe({status:f,description:l,path:t,indentation:c,sectionStart:n,sectionIndex:i,originalStatusCharacter:d,precedingHeader:s,priority:_,startDate:A,scheduledDate:I,dueDate:C,doneDate:z,recurrence:fe,blockLink:y,tags:ee})}toLi(s){return ne(this,arguments,function*({parentUlElement:e,listIndex:t,layoutOptions:n,isFilenameUnique:i}){let a=e.createEl("li");a.addClasses(["task-list-item","plugin-tasks-list-item"]);let o=this.toString(n),{globalFilter:u,removeGlobalFilter:l}=ie();l&&(o=o.replace(u,"").trim());let c=a.createSpan();c.addClass("tasks-list-text"),yield Tp.MarkdownRenderer.renderMarkdown(o,c,this.path,null);let d=c.querySelector("blockquote"),f=d!=null?d:c,p=f.querySelector("p");if(p!==null){for(;p.firstChild;)f.insertBefore(p.firstChild,p);p.remove()}c.findAll("p").forEach(m=>{m.hasChildNodes()||m.remove()}),c.findAll(".footnotes").forEach(m=>{m.remove()});let y=a.createEl("input");return y.addClass("task-list-item-checkbox"),y.type="checkbox",this.status!=="Todo"&&(y.checked=!0,a.addClass("is-checked")),y.onClickEvent(m=>{m.preventDefault(),m.stopPropagation(),y.disabled=!0;let _=this.toggle();ms({originalTask:this,newTasks:_})}),a.prepend(y),a.setAttr("data-task",this.originalStatusCharacter.trim()),a.setAttr("data-line",t),y.setAttr("data-line",t),n!=null&&n.shortMode&&this.addTooltip({element:c,isFilenameUnique:i}),a})}toString(e){var i;e=e!=null?e:new Qr;let t=this.description;if(!e.hidePriority){let s="";this.priority==="1"?s=" "+we.High:this.priority==="2"?s=" "+we.Medium:this.priority==="4"&&(s=" "+we.Low),t+=s}return!e.hideRecurrenceRule&&this.recurrence&&(t+=e.shortMode?" "+Dt:` ${Dt} ${this.recurrence.toText()}`),!e.hideStartDate&&this.startDate&&(t+=e.shortMode?" "+Ot:` ${Ot} ${this.startDate.format(M.dateFormat)}`),!e.hideScheduledDate&&this.scheduledDate&&(t+=e.shortMode?" "+Pt:` ${Pt} ${this.scheduledDate.format(M.dateFormat)}`),!e.hideDueDate&&this.dueDate&&(t+=e.shortMode?" "+At:` ${At} ${this.dueDate.format(M.dateFormat)}`),!e.hideDoneDate&&this.doneDate&&(t+=e.shortMode?" "+po:` ${po} ${this.doneDate.format(M.dateFormat)}`),t+=(i=this.blockLink)!=null?i:"",t}toFileLineString(){return`${this.indentation}- [${this.originalStatusCharacter}] ${this.toString()}`}toggle(){let e=this.status==="Todo"?"Done":"Todo",t=null,n=null;if(e!=="Todo"){let{setDoneDate:a}=ie();a&&(t=window.moment()),this.recurrence!==null&&(n=this.recurrence.next())}let i=new oe(Wt($e({},this),{status:e,doneDate:t,originalStatusCharacter:e==="Done"?"x":" "})),s=[];if(n!==null){let a=new oe(Wt($e($e({},this),n),{blockLink:""}));s.push(a)}return s.push(i),s}get urgency(){return this._urgency===null&&(this._urgency=jt.calculate(this)),this._urgency}get filename(){let e=this.path.match(/([^/]+)\.md$/);return e!==null?e[1]:null}getLinkText({isFilenameUnique:e}){let t;return e?t=this.filename:t="/"+this.path,t===null?null:(this.precedingHeader!==null&&this.precedingHeader!==t&&(t=t+" > "+this.precedingHeader),t)}static tasksListsIdentical(e,t){return e.length!==t.length?!1:e.every((n,i)=>n.identicalTo(t[i]))}identicalTo(e){let t=["status","description","path","indentation","sectionStart","sectionIndex","originalStatusCharacter","precedingHeader","priority","blockLink"];for(let s of t)if(this[s]!==e[s])return!1;if(this.tags.length!==e.tags.length||!this.tags.every(function(s,a){return s===e.tags[a]}))return!1;t=["startDate","scheduledDate","dueDate","doneDate"];for(let s of t){let a=this[s],o=e[s];if(Ge.compareByDate(a,o)!==0)return!1}let n=this.recurrence,i=e.recurrence;return n===null&&i!==null||n!==null&&i===null?!1:!(n&&i&&!n.identicalTo(i))}addTooltip({element:e,isFilenameUnique:t}){e.addEventListener("mouseenter",()=>{let n=e.createDiv();n.addClasses(["tooltip","mod-right"]),this.recurrence&&n.createDiv().setText(`${Dt} ${this.recurrence.toText()}`),this.startDate&&n.createDiv().setText(oe.toTooltipDate({signifier:Ot,date:this.startDate})),this.scheduledDate&&n.createDiv().setText(oe.toTooltipDate({signifier:Pt,date:this.scheduledDate})),this.dueDate&&n.createDiv().setText(oe.toTooltipDate({signifier:At,date:this.dueDate})),this.doneDate&&n.createDiv().setText(oe.toTooltipDate({signifier:po,date:this.doneDate}));let i=this.getLinkText({isFilenameUnique:t});i&&n.createDiv().setText(`\u{1F517} ${i}`),e.addEventListener("mouseleave",()=>{n.remove()})})}static toTooltipDate({signifier:e,date:t}){return`${e} ${t.format(M.dateFormat)} (${t.from(window.moment().startOf("day"))})`}escapeRegExp(e){return e.replace(/([.*+?^${}()|[\]/\\])/g,"\\$1")}getDescriptionWithoutGlobalFilter(){let{globalFilter:e}=ie(),t=this.description;if(e.length===0)return t;let n=RegExp("(^|\\s)"+this.escapeRegExp(e)+"($|\\s)","ug");return this.description.search(n)>-1&&(t=t.replace(n,"$1$2").replace(" "," ").trim()),t}};var yr=class{constructor({metadataCache:e,vault:t,events:n}){this.metadataCache=e,this.metadataCacheEventReferences=[],this.vault=t,this.vaultEventReferences=[],this.events=n,this.eventsEventReferences=[],this.tasksMutex=new hs,this.state="Cold",this.tasks=[],this.loadedAfterFirstResolve=!1,this.subscribeToCache(),this.subscribeToVault(),this.subscribeToEvents(),this.loadVault()}unload(){for(let e of this.metadataCacheEventReferences)this.metadataCache.offref(e);for(let e of this.vaultEventReferences)this.vault.offref(e);for(let e of this.eventsEventReferences)this.events.off(e)}getTasks(){return this.tasks}getState(){return this.state}notifySubscribers(){this.events.triggerCacheUpdate({tasks:this.tasks,state:this.state})}subscribeToCache(){let e=this.metadataCache.on("resolved",()=>ne(this,null,function*(){this.loadedAfterFirstResolve||(this.loadedAfterFirstResolve=!0,this.loadVault())}));this.metadataCacheEventReferences.push(e);let t=this.metadataCache.on("changed",n=>{this.tasksMutex.runExclusive(()=>{this.indexFile(n)})});this.metadataCacheEventReferences.push(t)}subscribeToVault(){let e=this.vault.on("create",i=>{i instanceof Rs.TFile&&this.tasksMutex.runExclusive(()=>{this.indexFile(i)})});this.vaultEventReferences.push(e);let t=this.vault.on("delete",i=>{i instanceof Rs.TFile&&this.tasksMutex.runExclusive(()=>{this.tasks=this.tasks.filter(s=>s.path!==i.path),this.notifySubscribers()})});this.vaultEventReferences.push(t);let n=this.vault.on("rename",(i,s)=>{i instanceof Rs.TFile&&this.tasksMutex.runExclusive(()=>{this.tasks=this.tasks.map(a=>a.path===s?new oe(Wt($e({},a),{path:i.path})):a),this.notifySubscribers()})});this.vaultEventReferences.push(n)}subscribeToEvents(){let e=this.events.onRequestCacheUpdate(t=>{t({tasks:this.tasks,state:this.state})});this.eventsEventReferences.push(e)}loadVault(){return this.tasksMutex.runExclusive(()=>ne(this,null,function*(){this.state="Initializing",yield Promise.all(this.vault.getMarkdownFiles().map(e=>this.indexFile(e))),this.state="Warm",this.notifySubscribers()}))}indexFile(e){return ne(this,null,function*(){let t=this.metadataCache.getFileCache(e);if(t==null)return;let n=this.tasks.filter(a=>a.path===e.path),i=t.listItems,s=[];if(i!==void 0){let a=yield this.vault.cachedRead(e);s=yr.getTasksFromFileContent(a,i,t,e)}oe.tasksListsIdentical(n,s)||(this.getState()=="Warm"&&console.debug(`At least one task, its line number or its heading has changed in ${e.path}: triggering a refresh of all active Tasks blocks in Live Preview and Reading mode views.`),this.tasks=this.tasks.filter(a=>a.path!==e.path),this.tasks.push(...s),this.notifySubscribers())})}static getTasksFromFileContent(e,t,n,i){let s=[],a=e.split(` -`),o=null,u=0;for(let l of t)if(l.task!==void 0){if((o===null||o.position.end.line=e)return n;return null}static getPrecedingHeader(e,t){if(t===void 0)return null;let n=null;for(let i of t){if(i.position.start.line>e)return n;n=i.heading}return n}};var fd=require("obsidian");var c_=require("obsidian");function nn(){}function yo(r){return r()}function vp(){return Object.create(null)}function Sr(r){r.forEach(yo)}function Rp(r){return typeof r=="function"}function wp(r,e){return r!=r?e==e:r!==e||r&&typeof r=="object"||typeof r=="function"}function Mp(r){return Object.keys(r).length===0}var Dp=!1;function bT(){Dp=!0}function vT(){Dp=!1}function g(r,e){r.appendChild(e)}function go(r,e,t){r.insertBefore(e,t||null)}function Ps(r){r.parentNode.removeChild(r)}function k(r){return document.createElement(r)}function ET(r){return document.createElementNS("http://www.w3.org/2000/svg",r)}function gr(r){return document.createTextNode(r)}function B(){return gr(" ")}function Gt(r,e,t,n){return r.addEventListener(e,t,n),()=>r.removeEventListener(e,t,n)}function Op(r){return function(e){return e.preventDefault(),r.call(this,e)}}function S(r,e,t){t==null?r.removeAttribute(e):r.getAttribute(e)!==t&&r.setAttribute(e,t)}function RT(r){return Array.from(r.childNodes)}function Pp(r,e){e=""+e,r.wholeText!==e&&(r.data=e)}function yt(r,e){r.value=e==null?"":e}function _o(r,e){for(let t=0;t{let u=s.map(yo).filter(Rp);a?a.push(...u):Sr(u),r.$$.on_mount=[]}),o.forEach(Gn)}function Np(r,e){let t=r.$$;t.fragment!==null&&(Sr(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function NT(r,e){r.$$.dirty[0]===-1&&($n.push(r),DT(),r.$$.dirty.fill(0)),r.$$.dirty[e/31|0]|=1<{let y=p.length?p[0]:f;return l.ctx&&i(l.ctx[d],l.ctx[d]=y)&&(!l.skip_bound&&l.bound[d]&&l.bound[d](y),c&&NT(r,d)),f}):[],l.update(),c=!0,Sr(l.before_update),l.fragment=n?n(l.ctx):!1,e.target){if(e.hydrate){bT();let d=RT(e.target);l.fragment&&l.fragment.l(d),d.forEach(Ps)}else l.fragment&&l.fragment.c();e.intro&&AT(r.$$.fragment),kT(r,e.target,e.anchor,e.customElement),vT(),kp()}jn(u)}var CT;typeof HTMLElement=="function"&&(CT=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:r}=this.$$;this.$$.on_disconnect=r.map(yo).filter(Rp);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(r,e,t){this[r]=t}disconnectedCallback(){Sr(this.$$.on_disconnect)}$destroy(){Np(this,1),this.$destroy=nn}$on(r,e){let t=this.$$.callbacks[r]||(this.$$.callbacks[r]=[]);return t.push(e),()=>{let n=t.indexOf(e);n!==-1&&t.splice(n,1)}}$set(r){this.$$set&&!Mp(r)&&(this.$$.skip_bound=!0,this.$$set(r),this.$$.skip_bound=!1)}});var Os=class{$destroy(){Np(this,1),this.$destroy=nn}$on(e,t){let n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{let i=n.indexOf(t);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!Mp(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Hi=ps(Ee());var ZP={td:"today",tm:"tomorrow",yd:"yesterday",tw:"this week",nw:"next week",weekend:"sat",we:"sat"};function vn(r){for(let[e,t]of Object.entries(ZP))r=r.replace(RegExp(`\\b${e}\\s`,"i"),t);return r}function XP(r){let e,t,n,i,s,a,o,u,l,c,d,f,p,y,m,_,A,I,C,z,re,fe,ee,x,le,pe,w,v,T,P,E,U,O,F,X,ue,se,pt,Ye,ur,lr,ht,Ce,mt,Zr,Ve,ts,xd,Ft,Sd,Nn,Id,Ud,rs,Fd,qd,Wd,cr,ns,Ld,qt,Yd,Cn,$d,jd,is,Bd,Gd,Hd,ss,xn,as,zd,dr,Kd,Vd,Zd,Xr,Ar,os,Xd,fr,us,Qd,Qa,ls=r[0].status+"",Ja,Jd,cs,ef,ds,tf,rf,nf,eo,sf,fs,to,af;return{c(){e=k("div"),t=k("form"),n=k("div"),i=k("label"),i.textContent="Description",s=B(),a=k("input"),o=B(),u=k("hr"),l=B(),c=k("div"),d=k("label"),d.textContent="Priority",f=B(),p=k("select"),y=k("option"),y.textContent="None",m=k("option"),m.textContent=`${we.High} High`,_=k("option"),_.textContent=`${we.Medium} Medium`,A=k("option"),A.textContent=`${we.Low} Low`,I=B(),C=k("hr"),z=B(),re=k("div"),fe=k("label"),fe.textContent="Recurrence",ee=B(),x=k("input"),le=B(),pe=k("code"),w=gr(Dt),v=B(),T=new xr(!1),P=B(),E=k("hr"),U=B(),O=k("div"),F=k("div"),X=k("label"),X.textContent="Due",ue=B(),se=k("input"),pt=B(),Ye=k("code"),ur=gr(At),lr=B(),ht=new xr(!1),Ce=B(),mt=k("hr"),Zr=B(),Ve=k("div"),ts=k("label"),ts.textContent="Scheduled",xd=B(),Ft=k("input"),Sd=B(),Nn=k("code"),Id=gr(Pt),Ud=B(),rs=new xr(!1),Fd=B(),qd=k("hr"),Wd=B(),cr=k("div"),ns=k("label"),ns.textContent="Start",Ld=B(),qt=k("input"),Yd=B(),Cn=k("code"),$d=gr(Ot),jd=B(),is=new xr(!1),Bd=B(),Gd=k("hr"),Hd=B(),ss=k("div"),xn=k("div"),as=k("label"),as.textContent="Only future dates:",zd=B(),dr=k("input"),Kd=B(),Vd=k("hr"),Zd=B(),Xr=k("div"),Ar=k("div"),os=k("label"),os.textContent="Status:",Xd=B(),fr=k("input"),Qd=B(),Qa=k("code"),Ja=gr(ls),Jd=B(),cs=k("div"),ef=gr(`Done on: - `),ds=k("code"),tf=B(),rf=k("hr"),nf=B(),eo=k("div"),sf=B(),fs=k("div"),fs.innerHTML='',S(i,"for","description"),S(a,"id","description"),S(a,"type","text"),S(a,"class","tasks-modal-description"),S(a,"placeholder","Take out the trash"),S(n,"class","tasks-modal-section"),S(d,"for","priority"),y.__value="none",y.value=y.__value,m.__value="high",m.value=m.__value,_.__value="medium",_.value=_.__value,A.__value="low",A.value=A.__value,S(p,"id","priority"),S(p,"class","dropdown"),r[0].priority===void 0&&Gn(()=>r[14].call(p)),S(c,"class","tasks-modal-section"),S(fe,"for","recurrence"),S(x,"id","description"),S(x,"type","text"),S(x,"placeholder","Try 'every 2 weeks on Thursday'."),T.a=null,S(re,"class","tasks-modal-section"),S(X,"for","due"),S(se,"id","due"),S(se,"type","text"),S(se,"placeholder",ld),ht.a=null,S(F,"class","tasks-modal-date"),S(ts,"for","scheduled"),S(Ft,"id","scheduled"),S(Ft,"type","text"),S(Ft,"placeholder",ld),rs.a=null,S(Ve,"class","tasks-modal-date"),S(ns,"for","start"),S(qt,"id","start"),S(qt,"type","text"),S(qt,"placeholder",ld),is.a=null,S(cr,"class","tasks-modal-date"),S(as,"for","forwardOnly"),S(dr,"id","forwardOnly"),S(dr,"type","checkbox"),S(dr,"class","task-list-item-checkbox tasks-modal-checkbox"),S(ss,"class","tasks-modal-date"),S(O,"class","tasks-modal-section"),S(os,"for","status"),S(fr,"id","status"),S(fr,"type","checkbox"),S(fr,"class","task-list-item-checkbox tasks-modal-checkbox"),fr.checked=us=r[0].status==="Done",fr.disabled=!0,S(Xr,"class","tasks-modal-section"),S(eo,"class","tasks-modal-section"),S(fs,"class","tasks-modal-section"),S(e,"class","tasks-modal")},m(de,Fe){go(de,e,Fe),g(e,t),g(t,n),g(n,i),g(n,s),g(n,a),yt(a,r[0].description),r[13](a),g(t,o),g(t,u),g(t,l),g(t,c),g(c,d),g(c,f),g(c,p),g(p,y),g(p,m),g(p,_),g(p,A),_o(p,r[0].priority),g(t,I),g(t,C),g(t,z),g(t,re),g(re,fe),g(re,ee),g(re,x),yt(x,r[0].recurrenceRule),g(re,le),g(re,pe),g(pe,w),g(pe,v),T.m(r[5],pe),g(t,P),g(t,E),g(t,U),g(t,O),g(O,F),g(F,X),g(F,ue),g(F,se),yt(se,r[0].dueDate),g(F,pt),g(F,Ye),g(Ye,ur),g(Ye,lr),ht.m(r[4],Ye),g(O,Ce),g(O,mt),g(O,Zr),g(O,Ve),g(Ve,ts),g(Ve,xd),g(Ve,Ft),yt(Ft,r[0].scheduledDate),g(Ve,Sd),g(Ve,Nn),g(Nn,Id),g(Nn,Ud),rs.m(r[3],Nn),g(O,Fd),g(O,qd),g(O,Wd),g(O,cr),g(cr,ns),g(cr,Ld),g(cr,qt),yt(qt,r[0].startDate),g(cr,Yd),g(cr,Cn),g(Cn,$d),g(Cn,jd),is.m(r[2],Cn),g(O,Bd),g(O,Gd),g(O,Hd),g(O,ss),g(ss,xn),g(xn,as),g(xn,zd),g(xn,dr),dr.checked=r[0].forwardOnly,g(t,Kd),g(t,Vd),g(t,Zd),g(t,Xr),g(Xr,Ar),g(Ar,os),g(Ar,Xd),g(Ar,fr),g(Ar,Qd),g(Ar,Qa),g(Qa,Ja),g(Xr,Jd),g(Xr,cs),g(cs,ef),g(cs,ds),ds.innerHTML=r[6],g(t,tf),g(t,rf),g(t,nf),g(t,eo),g(t,sf),g(t,fs),to||(af=[Gt(a,"input",r[12]),Gt(p,"change",r[14]),Gt(x,"input",r[15]),Gt(se,"input",r[16]),Gt(Ft,"input",r[17]),Gt(qt,"input",r[18]),Gt(dr,"change",r[19]),Gt(t,"submit",Op(r[7]))],to=!0)},p(de,[Fe]){Fe&1&&a.value!==de[0].description&&yt(a,de[0].description),Fe&1&&_o(p,de[0].priority),Fe&1&&x.value!==de[0].recurrenceRule&&yt(x,de[0].recurrenceRule),Fe&32&&T.p(de[5]),Fe&1&&se.value!==de[0].dueDate&&yt(se,de[0].dueDate),Fe&16&&ht.p(de[4]),Fe&1&&Ft.value!==de[0].scheduledDate&&yt(Ft,de[0].scheduledDate),Fe&8&&rs.p(de[3]),Fe&1&&qt.value!==de[0].startDate&&yt(qt,de[0].startDate),Fe&4&&is.p(de[2]),Fe&1&&(dr.checked=de[0].forwardOnly),Fe&1&&us!==(us=de[0].status==="Done")&&(fr.checked=us),Fe&1&&ls!==(ls=de[0].status+"")&&Pp(Ja,ls),Fe&64&&(ds.innerHTML=de[6])},i:nn,o:nn,d(de){de&&Ps(e),r[13](null),to=!1,Sr(af)}}}var ld="Try 'Monday' or 'tomorrow', or [td|tm|yd|tw|nw|we] then space.";function QP(r,e,t){var n,i;let{task:s}=e,{onSubmit:a}=e,o,u={description:"",status:"Todo",priority:"none",recurrenceRule:"",startDate:"",scheduledDate:"",dueDate:"",doneDate:"",forwardOnly:!0},l="",c="",d="",f="",p="",y=!1;function m(le,pe,w=void 0){if(!pe)return`no ${le} date`;let v=Hi.parseDate(pe,w,{forwardDate:w!=null});return v!==null?window.moment(v).format("YYYY-MM-DD"):`invalid ${le} date`}To(()=>{let{globalFilter:le}=ie(),pe=s.getDescriptionWithoutGlobalFilter();(pe!=s.description||pe.indexOf(le)==-1)&&(y=!0);let w="none";s.priority==="4"?w="low":s.priority==="2"?w="medium":s.priority==="1"&&(w="high"),t(0,u={description:pe,status:s.status,priority:w,recurrenceRule:s.recurrence?s.recurrence.toText():"",startDate:s.startDate?s.startDate.format("YYYY-MM-DD"):"",scheduledDate:s.scheduledDate?s.scheduledDate.format("YYYY-MM-DD"):"",dueDate:s.dueDate?s.dueDate.format("YYYY-MM-DD"):"",doneDate:s.doneDate?s.doneDate.format("YYYY-MM-DD"):"",forwardOnly:!0}),setTimeout(()=>{o.focus()},10)});let _=()=>{let{globalFilter:le}=ie(),pe=u.description.trim();y&&(pe=le+" "+pe);let w=null,v=Hi.parseDate(u.startDate,new Date,{forwardDate:u.forwardOnly});v!==null&&(w=window.moment(v));let T=null,P=Hi.parseDate(u.scheduledDate,new Date,{forwardDate:u.forwardOnly});P!==null&&(T=window.moment(P));let E=null,U=Hi.parseDate(u.dueDate,new Date,{forwardDate:u.forwardOnly});U!==null&&(E=window.moment(U));let O=null;u.recurrenceRule&&(O=Re.fromText({recurrenceRuleText:u.recurrenceRule,startDate:w,scheduledDate:T,dueDate:E}));let F;switch(u.priority){case"low":F="4";break;case"medium":F="2";break;case"high":F="1";break;default:F="3"}let X=new oe(Object.assign(Object.assign({},s),{description:pe,status:u.status,priority:F,recurrence:O,startDate:w,scheduledDate:T,dueDate:E,doneDate:window.moment(u.doneDate,"YYYY-MM-DD").isValid()?window.moment(u.doneDate,"YYYY-MM-DD"):null}));a([X])};function A(){u.description=this.value,t(0,u)}function I(le){Ds[le?"unshift":"push"](()=>{o=le,t(1,o)})}function C(){u.priority=Ap(this),t(0,u)}function z(){u.recurrenceRule=this.value,t(0,u)}function re(){u.dueDate=this.value,t(0,u)}function fe(){u.scheduledDate=this.value,t(0,u)}function ee(){u.startDate=this.value,t(0,u)}function x(){u.forwardOnly=this.checked,t(0,u)}return r.$$set=le=>{"task"in le&&t(8,s=le.task),"onSubmit"in le&&t(9,a=le.onSubmit)},r.$$.update=()=>{if(r.$$.dirty&1){e:t(0,u.startDate=vn(u.startDate),u),t(2,l=m("start",u.startDate,u.forwardOnly?new Date:void 0))}if(r.$$.dirty&1){e:t(0,u.scheduledDate=vn(u.scheduledDate),u),t(3,c=m("scheduled",u.scheduledDate,u.forwardOnly?new Date:void 0))}if(r.$$.dirty&1){e:t(0,u.dueDate=vn(u.dueDate),u),t(4,d=m("due",u.dueDate,u.forwardOnly?new Date:void 0))}if(r.$$.dirty&3073){e:u.recurrenceRule?t(5,f=t(11,i=t(10,n=Re.fromText({recurrenceRuleText:u.recurrenceRule,startDate:null,scheduledDate:null,dueDate:null}))===null||n===void 0?void 0:n.toText())!==null&&i!==void 0?i:"invalid recurrence rule"):t(5,f="not recurring")}if(r.$$.dirty&1){e:t(6,p=m("done",u.doneDate))}},[u,o,l,c,d,f,p,_,s,a,n,i,A,I,C,z,re,fe,ee,x]}var cd=class extends Os{constructor(e){super(),Cp(this,e,QP,XP,wp,{task:8,onSubmit:9})}},l_=cd;var En=class extends c_.Modal{constructor({app:t,task:n,onSubmit:i}){super(t);this.task=n,this.onSubmit=s=>{i(s),this.close()}}onOpen(){this.titleEl.setText("Create or edit Task");let{contentEl:t}=this;new l_({target:t,props:{task:this.task,onSubmit:this.onSubmit}})}onClose(){let{contentEl:t}=this;t.empty()}};var d_=(r,e,t,n)=>{var d;if(r)return t instanceof fd.MarkdownView;if(!(t instanceof fd.MarkdownView))return;let i=(d=t.file)==null?void 0:d.path;if(i===void 0)return;let a=e.getCursor().line,o=e.getLine(a),u=JP({line:o,path:i}),l=f=>{let p=f.map(y=>y.toFileLineString()).join(` -`);e.setLine(a,p)};new En({app:n,task:u,onSubmit:l}).open()},JP=({line:r,path:e})=>{var c;let t=oe.fromLine({line:r,path:e,sectionStart:0,sectionIndex:0,precedingHeader:null});if(t!==null)return t;let n=r.match(M.nonTaskRegex);if(n===null)return console.error("Tasks: Cannot create task on line:",r),new oe({status:"Todo",description:"",path:e,indentation:"",originalStatusCharacter:" ",priority:"3",startDate:null,scheduledDate:null,dueDate:null,doneDate:null,recurrence:null,sectionStart:0,sectionIndex:0,precedingHeader:null,blockLink:"",tags:[]});let i=n[1],s=(c=n[3])!=null?c:" ",a=s===" "?"Todo":"Done",o=n[4],u=r.match(M.blockLinkRegex),l=u!==null?u[0]:"";return l!==""&&(o=o.replace(M.blockLinkRegex,"")),new oe({status:a,description:o,path:e,indentation:i,originalStatusCharacter:s,blockLink:l,priority:"3",startDate:null,scheduledDate:null,dueDate:null,doneDate:null,recurrence:null,sectionStart:0,sectionIndex:0,precedingHeader:null,tags:[]})};var pd=require("obsidian");var f_=(r,e,t)=>{var u;if(r)return t instanceof pd.MarkdownView;if(!(t instanceof pd.MarkdownView))return;let n=(u=t.file)==null?void 0:u.path;if(n===void 0)return;let i=e.getCursor(),s=i.line,a=e.getLine(s),o=eA(a,n);e.setLine(s,o),e.setCursor({line:i.line,ch:rA(i.ch,a,o)})},eA=(r,e)=>{let t=r,n=oe.fromLine({line:r,path:e,sectionStart:0,sectionIndex:0,precedingHeader:null});if(n!==null)t=tA(n);else{let i=r.match(M.taskRegex);if(i!==null){let a=i[2].toLowerCase()===" "?"x":" ";t=r.replace(M.taskRegex,`$1- [${a}] $3`)}else M.listItemRegex.test(r)?t=r.replace(M.listItemRegex,"$1$2 [ ]"):t=r.replace(M.indentationRegex,"$1- ")}return t},tA=r=>r.toggle().map(n=>n.toFileLineString()).join(` -`),rA=(r,e,t)=>{let n=t.length;if(n<=e.length)return r>=t.length?n:r;let i=13;if(t.match(M.doneDateRegex)&&n-e.length>=i&&(n-=i),n>=2*e.length&&t.search(`.+ -.+`)!==-1)return r+n-e.length;let s=t.search(/[-*]/);return rd_(t,n,i,this.app)}),e.addCommand({id:"toggle-done",name:"Toggle task done",icon:"check-in-circle",editorCheckCallback:f_})}};var va=class{constructor({obsidianEvents:e}){this.obsidianEvents=e}onCacheUpdate(e){return this.obsidianEvents.on("obsidian-tasks-plugin:cache-update",e)}triggerCacheUpdate(e){this.obsidianEvents.trigger("obsidian-tasks-plugin:cache-update",e)}onRequestCacheUpdate(e){return this.obsidianEvents.on("obsidian-tasks-plugin:request-cache-update",e)}triggerRequestCacheUpdate(e){this.obsidianEvents.trigger("obsidian-tasks-plugin:request-cache-update",e)}off(e){this.obsidianEvents.offref(e)}};var Ea=class{constructor({plugin:e}){this.markdownPostProcessor=this._markdownPostProcessor.bind(this);e.registerMarkdownPostProcessor(this._markdownPostProcessor.bind(this))}_markdownPostProcessor(e,t){return ne(this,null,function*(){var c;let{globalFilter:n}=ie(),i=e.findAll(".task-list-item").filter(d=>{var y;let f=(y=d.textContent)==null?void 0:y.split(` -`);if(f===void 0)return!1;let p=null;for(let m=0;mp_.ViewPlugin.fromClass(hd),hd=class{constructor(e){this.view=e,this.handleClickEvent=this.handleClickEvent.bind(this),this.view.dom.addEventListener("click",this.handleClickEvent)}destroy(){this.view.dom.removeEventListener("click",this.handleClickEvent)}handleClickEvent(e){let{target:t}=e;if(!t||!(t instanceof HTMLInputElement)||t.type!=="checkbox")return!1;let n=t.closest("ul.plugin-tasks-query-result, div.callout-content");if(n){if(n.matches("div.callout-content")){let f=`obsidian-tasks-plugin warning: Tasks cannot add or remove completion dates or make the next copy of a recurring task for tasks written inside a callout when you click their checkboxes in Live Preview. -If you wanted Tasks to do these things, please undo your change, then either click the line of the task and use the "Toggle Task Done" command, or switch to Reading View to click the checkbox.`;console.warn(f),new h_.Notice(f,45e3)}return!1}let{state:i}=this.view,s=this.view.posAtDOM(t),a=i.doc.lineAt(s),o=oe.fromLine({line:a.text,path:"",sectionStart:0,sectionIndex:0,precedingHeader:null});if(console.debug(`Live Preview Extension: toggle called. Position: ${s} Line: ${a.text}`),o===null)return!1;e.preventDefault();let l=o.toggle().map(f=>f.toFileLineString()).join(i.lineBreak),c=i.update({changes:{from:a.from,to:a.to,insert:l}});this.view.dispatch(c);let d=t.checked;return setTimeout(()=>{t.checked=d},1),!0}};var Ka=require("obsidian");var Rn=class{matchesAnyOf(e){return e.some(t=>this.matches(t))}};var Hr=class extends Rn{constructor(t){super();this.stringToFind=t}matches(t){return Hr.stringIncludesCaseInsensitive(t,this.stringToFind)}static stringIncludesCaseInsensitive(t,n){return t.toLocaleLowerCase().includes(n.toLocaleLowerCase())}};var wn=class extends Rn{constructor(t){super();this.regex=t}static validateAndConstruct(t){let n=/\/((?![*+?])(?:[^\r\n[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*])+)\/((?:g(?:im?|mi?)?|i(?:gm?|mg?)?|m(?:gi?|ig?)?)?)/,i=t.match(n);if(i!==null){let s=new RegExp(i[1],i[2]);return new wn(s)}else return null}matches(t){return t.match(this.regex)!==null}};var ve=class{canCreateFilterForLine(e){return ve.lineMatchesFilter(this.filterRegExp(),e)}static lineMatchesFilter(e,t){return e?e.test(t):!1}static getMatch(e,t){return e?t.match(e):null}};var ce=class{static fromFilter(e){let t=new ce;return t.filter=e,t}static fromError(e){let t=new ce;return t.error=e,t}};var ft=class extends ve{createFilterOrErrorMessage(e){let t=ve.getMatch(this.filterRegExp(),e);if(t===null)return ce.fromError(`do not understand query filter (${this.fieldName()})`);let[n,i,s]=t,a=null;if(i.includes("include"))a=new Hr(s);else if(i.includes("regex")&&(a=wn.validateAndConstruct(s),a===null))return ce.fromError(`cannot parse regex (${this.fieldName()}); check your leading and trailing slashes for your query`);if(a===null)return ce.fromError(`do not understand query filter (${this.fieldName()})`);let o=i.match(/not/)!==null;return ce.fromFilter(this.getFilter(a,o))}static stringIncludesCaseInsensitive(e,t){return Hr.stringIncludesCaseInsensitive(e,t)}fieldPattern(){return this.fieldName()}filterOperatorPattern(){return"includes|does not include|regex matches|regex does not match"}filterRegExp(){return new RegExp(`^(?:${this.fieldPattern()}) (${this.filterOperatorPattern()}) (.*)`)}getFilter(e,t){return n=>{let i=e.matches(this.value(n));return t?!i:i}}};var Ra=class extends ft{fieldName(){return"description"}value(e){let t=ie().globalFilter;return e.description.replace(t,"").trim()}};var y_=ps(Ee()),tr=class{static parseDate(e,t=!1){return window.moment(y_.parseDate(e,void 0,{forwardDate:t})).startOf("day")}};var It=class extends ve{constructor(){super(...arguments);this.instructionForFieldPresence=`has ${this.fieldName()} date`;this.instructionForFieldAbsence=`no ${this.fieldName()} date`}canCreateFilterForLine(t){return t===this.instructionForFieldPresence||t===this.instructionForFieldAbsence?!0:super.canCreateFilterForLine(t)}createFilterOrErrorMessage(t){let n=new ce;if(t===this.instructionForFieldPresence)return n.filter=s=>this.date(s)!==null,n;if(t===this.instructionForFieldAbsence)return n.filter=s=>this.date(s)===null,n;let i=ve.getMatch(this.filterRegExp(),t);if(i!==null){let s=tr.parseDate(i[2]);s.isValid()?i[1]==="before"?n.filter=a=>{let o=this.date(a);return o?o.isBefore(s):this.filterResultIfFieldMissing()}:i[1]==="after"?n.filter=a=>{let o=this.date(a);return o?o.isAfter(s):this.filterResultIfFieldMissing()}:n.filter=a=>{let o=this.date(a);return o?o.isSame(s):this.filterResultIfFieldMissing()}:n.error="do not understand "+this.fieldName()+" date"}else n.error="do not understand query filter ("+this.fieldName()+" date)";return n}};var md=class extends It{filterRegExp(){return md.doneRegexp}fieldName(){return"done"}date(e){return e.doneDate}filterResultIfFieldMissing(){return!1}},zi=md;zi.doneRegexp=/^done (before|after|on)? ?(.*)/;var yd=class extends It{filterRegExp(){return yd.dueRegexp}fieldName(){return"due"}date(e){return e.dueDate}filterResultIfFieldMissing(){return!1}},Ki=yd;Ki.dueRegexp=/^due (before|after|on)? ?(.*)/;var wa=class{constructor(e,t){this._instruction=e,this._filter=t}canCreateFilterForLine(e){return e==this._instruction}createFilterOrErrorMessage(e){let t=new ce;return e===this._instruction?(t.filter=this._filter,t):(t.error=`do not understand filter: ${e}`,t)}};var Ma=class{constructor(){this._filters=[]}add(e,t){this._filters.push(new wa(e,t))}canCreateFilterForLine(e){for(let t of this._filters)if(t.canCreateFilterForLine(e))return!0;return!1}createFilterOrErrorMessage(e){for(let n of this._filters){let i=n.createFilterOrErrorMessage(e);if(i.error===void 0)return i}let t=new ce;return t.error=`do not understand filter: ${e}`,t}};var Mr=class extends ve{constructor(){super(...arguments);this._filters=new Ma}canCreateFilterForLine(t){return this._filters.canCreateFilterForLine(t)}createFilterOrErrorMessage(t){return this._filters.createFilterOrErrorMessage(t)}filterRegExp(){return null}};var Da=class extends Mr{constructor(){super(),this._filters.add("exclude sub-items",e=>{if(e.indentation==="")return!0;let t=e.indentation.lastIndexOf(">");return t===-1?!1:/^ ?$/.test(e.indentation.slice(t+1))})}fieldName(){return"exclude"}};var Oa=class extends ft{fieldName(){return"heading"}value(e){return e.precedingHeader?e.precedingHeader:""}};var Pa=class extends ft{fieldName(){return"path"}value(e){return e.path}};var gd=class extends ve{createFilterOrErrorMessage(e){let t=new ce,n=ve.getMatch(this.filterRegExp(),e);if(n!==null){let i=n[3],s=null;switch(i){case"low":s="4";break;case"none":s="3";break;case"medium":s="2";break;case"high":s="1";break}if(s===null)return t.error="do not understand priority",t;let a;n[2]==="above"?a=o=>o.priority?o.priority.localeCompare(s)<0:!1:n[2]==="below"?a=o=>o.priority?o.priority.localeCompare(s)>0:!1:a=o=>o.priority?o.priority===s:!1,t.filter=a}else t.error="do not understand query filter (priority)";return t}fieldName(){return"priority"}filterRegExp(){return gd.priorityRegexp}},Vi=gd;Vi.priorityRegexp=/^priority (is )?(above|below)? ?(low|none|medium|high)/;var _d=class extends It{filterRegExp(){return _d.scheduledRegexp}fieldName(){return"scheduled"}date(e){return e.scheduledDate}filterResultIfFieldMissing(){return!1}},Zi=_d;Zi.scheduledRegexp=/^scheduled (before|after|on)? ?(.*)/;var Td=class extends It{filterRegExp(){return Td.startRegexp}fieldName(){return"start"}date(e){return e.startDate}filterResultIfFieldMissing(){return!0}},Xi=Td;Xi.startRegexp=/^starts (before|after|on)? ?(.*)/;var Dr=class extends ve{canCreateFilterForLine(e){return e===Dr.instructionForFieldPresence||e===Dr.instructionForFieldAbsence?!0:super.canCreateFilterForLine(e)}createFilterOrErrorMessage(e){let t=new ce;if(e===Dr.instructionForFieldPresence){let i=new ce;return i.filter=s=>this.dates(s).some(a=>a!==null),i}if(e===Dr.instructionForFieldAbsence){let i=new ce;return i.filter=s=>!this.dates(s).some(a=>a!==null),i}let n=ve.getMatch(this.filterRegExp(),e);if(n!==null){let i=tr.parseDate(n[2]);i.isValid()?n[1]==="before"?t.filter=s=>this.dates(s).some(a=>a&&a.isBefore(i)):n[1]==="after"?t.filter=s=>this.dates(s).some(a=>a&&a.isAfter(i)):t.filter=s=>this.dates(s).some(a=>a&&a.isSame(i)):t.error="do not understand happens date"}else t.error="do not understand query filter (happens date)";return t}earliestDate(e){return new Dr().dates(e).sort(Ge.compareByDate)[0]}filterRegExp(){return Dr.happensRegexp}dates(e){return Array.of(e.startDate,e.scheduledDate,e.dueDate)}fieldName(){return"happens"}},rr=Dr;rr.happensRegexp=/^happens (before|after|on)? ?(.*)/,rr.instructionForFieldPresence="has happens date",rr.instructionForFieldAbsence="no happens date";var Aa=class extends Mr{constructor(){super(),this._filters.add("is recurring",e=>e.recurrence!==null),this._filters.add("is not recurring",e=>e.recurrence===null)}fieldName(){return"recurring"}};var ka=class extends Mr{constructor(){super(),this._filters.add("done",e=>e.status==="Done"),this._filters.add("not done",e=>e.status!=="Done")}fieldName(){return"status"}};var Na=class extends ft{fieldNamePlural(){return this.fieldNameSingular()+"s"}fieldName(){return`${this.fieldNameSingular()}/${this.fieldNamePlural()}`}fieldPattern(){return`${this.fieldNameSingular()}|${this.fieldNamePlural()}`}filterOperatorPattern(){return`${super.filterOperatorPattern()}|include|do not include`}value(e){return this.values(e).join(", ")}getFilter(e,t){return n=>{let i=e.matchesAnyOf(this.values(n));return t?!i:i}}};var Ca=class extends Na{fieldNameSingular(){return"tag"}values(e){return e.tags}};var A_=ps(P_());var Ua=class extends ve{constructor(){super(...arguments);this.basicBooleanRegexp=/(.*(AND|OR|XOR|NOT)\s*[("].*|\(.+\))/g;this.supportedOperators=["AND","OR","XOR","NOT"];this.subFields={}}filterRegExp(){return this.basicBooleanRegexp}createFilterOrErrorMessage(t){return this.parseLine(t)}fieldName(){return"boolean query"}parseLine(t){let n=new ce;if(t.length===0)return n.error="empty line",n;let i=this.preprocessExpression(t);try{let s=(0,A_.parse)(i);for(let a of s)if(a.name==="IDENTIFIER"&&a.value){let o=a.value.trim();if(!(o in this.subFields)){let u=Fa(o);if(u===null)return n.error=`couldn't parse sub-expression '${o}'`,n;if(u.error)return n.error=`couldn't parse sub-expression '${o}': ${u.error}`,n;u.filter&&(this.subFields[o]=u.filter)}}else if(a.name==="OPERATOR"){if(a.value==null)return n.error="empty operator in boolean query",n;if(!this.supportedOperators.includes(a.value))return n.error=`unknown boolean operator '${a.value}'`,n}return n.filter=a=>this.filterTaskWithParsedQuery(a,s),n}catch(s){let a=s instanceof Error?s.message:"unknown error type";return n.error=`malformed boolean query -- ${a} (check the documentation for guidelines)`,n}return n}preprocessExpression(t){return t.replace(/\(([^()]+)\)/g,'("$1")')}filterTaskWithParsedQuery(t,n){let i=o=>o==="true",s=o=>o?"true":"false",a=[];for(let o of n)if(o.name==="IDENTIFIER"){if(o.value==null)throw Error("null token value");let u=this.subFields[o.value.trim()],l=u(t);a.push(s(l))}else if(o.name==="OPERATOR")if(o.value==="NOT"){let u=i(a.pop());a.push(s(!u))}else if(o.value==="OR"){let u=i(a.pop()),l=i(a.pop());a.push(s(u||l))}else if(o.value==="AND"){let u=i(a.pop()),l=i(a.pop());a.push(s(u&&l))}else if(o.value==="XOR"){let u=i(a.pop()),l=i(a.pop());a.push(s(u&&!l||!u&&l))}else throw Error("Unsupported operator: "+o.value);else throw Error("Unsupported token type: "+o);return i(a[0])}};var qa=class extends ft{fieldName(){return"filename"}value(e){let t=e.filename;return t===null?"":t+".md"}};var dA=[()=>new ka,()=>new Aa,()=>new Vi,()=>new rr,()=>new Xi,()=>new Zi,()=>new Ki,()=>new zi,()=>new Pa,()=>new Ra,()=>new Ca,()=>new Oa,()=>new Da,()=>new Ua,()=>new qa];function Fa(r){for(let e of dA){let t=e();if(t.canCreateFilterForLine(r))return t.createFilterOrErrorMessage(r)}return null}var Wa=class{constructor(e,t){this.nestingLevel=e,this.name=t}};var La=class{constructor(e){this.lastHeadingAtLevel=new Array;let n=e.keys().next().value.length;for(let i=0;it.set(o,a)),e.pop();return t}};var $a=class extends Map{},ja=class extends Ya{},Ba=class{constructor(e,t){this.groups=new $a;let n=this.buildGroupingTree(e,t);this.groups=n.generateAllPaths(),this.groups=this.getSortedGroups()}buildGroupingTree(e,t){let n=new ja(t),i=[n];for(let s of e){let a=[];for(let o of i)for(let u of o.values){let l=Pr.getGroupNamesForTask(s.property,u);for(let c of l){let d=o.children.get(c);d===void 0&&(d=new ja([]),o.children.set(c,d),a.push(d)),d.values.push(u)}}i=a}return n}getSortedGroups(){return new $a([...this.groups.entries()].sort())}};var Ga=class{constructor(e,t,n){this.groups=e,this.groupHeadings=t,this.tasks=n}tasksAsStringOfLines(){let e="";for(let t of this.tasks)e+=t.toFileLineString()+` +`).map(function(i){return i.replace(/^RRULE:/,"EXRULE:")}).filter(function(i){return!/^DTSTART/.test(i)}))}),this._rdate.length&&t.push(Tp("RDATE",this._rdate,this.tzid())),this._exdate.length&&t.push(Tp("EXDATE",this._exdate,this.tzid())),t},e.prototype.toString=function(){return this.valueOf().join(` +`)},e.prototype.clone=function(){var t=new e(!!this._cache);return this._rrule.forEach(function(n){return t.rrule(n.clone())}),this._exrule.forEach(function(n){return t.exrule(n.clone())}),this._rdate.forEach(function(n){return t.rdate(new Date(n.getTime()))}),this._exdate.forEach(function(n){return t.exdate(new Date(n.getTime()))}),t},e}(D);function gp(r,e){if(!(r instanceof D))throw new TypeError(String(r)+" is not RRule instance");K(e.map(String),String(r))||e.push(r)}function _p(r,e){if(!(r instanceof Date))throw new TypeError(String(r)+" is not Date instance");K(e.map(Number),Number(r))||(e.push(r),C.sort(e))}function Tp(r,e,t){var n=!t||t.toUpperCase()==="UTC",i=n?"".concat(r,":"):"".concat(r,";TZID=").concat(t,":"),s=e.map(function(a){return C.timeToUntilString(a.valueOf(),n)}).join(",");return"".concat(i).concat(s)}var V=class{static by(e,t){let n=[V.compareByUrgency,V.compareByStatus,V.compareByDueDate,V.compareByPriority,V.compareByPath],i=[];for(let{property:s,reverse:a,propertyInstance:o}of e.sorting){let u=V.comparators[s];i.push(a?V.makeReversedComparator(u):u),s==="tag"&&(V.tagPropertyInstance=o)}return t.sort(V.makeCompositeComparator([...i,...n]))}static makeReversedComparator(e){return(t,n)=>e(t,n)*-1}static makeCompositeComparator(e){return(t,n)=>{for(let i of e){let s=i(t,n);if(s!==0)return s}return 0}}static compareByUrgency(e,t){return t.urgency-e.urgency}static compareByStatus(e,t){return e.statust.status?-1:0}static compareByPriority(e,t){return e.priority.localeCompare(t.priority)}static compareByStartDate(e,t){return V.compareByDate(e.startDate,t.startDate)}static compareByScheduledDate(e,t){return V.compareByDate(e.scheduledDate,t.scheduledDate)}static compareByDueDate(e,t){return V.compareByDate(e.dueDate,t.dueDate)}static compareByDoneDate(e,t){return V.compareByDate(e.doneDate,t.doneDate)}static compareByTag(e,t){if(e.tags.length===0&&t.tags.length===0)return 0;if(e.tags.length===0)return 1;if(t.tags.length===0)return-1;let n=V.tagPropertyInstance-1;return e.tags.length=V.tagPropertyInstance?1:t.tags.length=V.tagPropertyInstance?-1:e.tags.lengtht.tags[n]?1:0}static compareByDate(e,t){return e!==null&&t===null?-1:e===null&&t!==null?1:e!==null&&t!==null?e.isValid()&&!t.isValid()?-1:!e.isValid()&&t.isValid()||e.isAfter(t)?1:e.isBefore(t)?-1:0:0}static compareByPath(e,t){return e.patht.path?1:0}static compareByDescription(e,t){return V.cleanDescription(e.description).localeCompare(V.cleanDescription(t.description))}static cleanDescription(e){let t=ae().globalFilter;e=e.replace(t,"").trim();let n=/^\[\[?([^\]]*)\]/,i=e.match(n);if(i!==null){let l=i[1];e=l.substring(l.indexOf("|")+1)+e.replace(n,"")}let s=/^\*\*?([^*]*)\*/,a=e.match(s);a!==null&&(e=a[1]+e.replace(n,""));let o=/^==?([^=]*)==/,u=e.match(o);return u!==null&&(e=u[1]+e.replace(o,"")),e}},He=V;He.tagPropertyInstance=1,He.comparators={urgency:V.compareByUrgency,description:V.compareByDescription,priority:V.compareByPriority,start:V.compareByStartDate,scheduled:V.compareByScheduledDate,due:V.compareByDueDate,done:V.compareByDoneDate,path:V.compareByPath,status:V.compareByStatus,tag:V.compareByTag};var Re=class{constructor({rrule:e,baseOnToday:t,referenceDate:n,startDate:i,scheduledDate:s,dueDate:a}){this.rrule=e,this.baseOnToday=t,this.referenceDate=n,this.startDate=i,this.scheduledDate=s,this.dueDate=a}static fromText({recurrenceRuleText:e,startDate:t,scheduledDate:n,dueDate:i}){try{let s=e.match(/^([a-zA-Z0-9, !]+?)( when done)?$/i);if(s==null)return null;let a=s[1].trim(),o=s[2]!==void 0,u=D.parseText(a);if(u!==null){let l=null;i?l=window.moment(i):n?l=window.moment(n):t&&(l=window.moment(t)),!o&&l!==null?u.dtstart=window.moment(l).startOf("day").utc(!0).toDate():u.dtstart=window.moment().startOf("day").utc(!0).toDate();let c=new D(u);return new Re({rrule:c,baseOnToday:o,referenceDate:l,startDate:t,scheduledDate:n,dueDate:i})}}catch(s){}return null}toText(){let e=this.rrule.toText();return this.baseOnToday&&(e+=" when done"),e}next(){var t;let e;if(this.baseOnToday){let n=window.moment(),i=new D($t(Le({},this.rrule.origOptions),{dtstart:n.startOf("day").utc(!0).toDate()}));e=this.nextAfter(n.endOf("day"),i)}else{let n=window.moment((t=this.referenceDate)!=null?t:void 0).endOf("day");e=this.nextAfter(n,this.rrule)}if(e!==null){let n=null,i=null,s=null;if(this.referenceDate){if(this.startDate){let a=window.moment.duration(this.startDate.diff(this.referenceDate));n=window.moment(e),n.add(Math.round(a.asDays()),"days")}if(this.scheduledDate){let a=window.moment.duration(this.scheduledDate.diff(this.referenceDate));i=window.moment(e),i.add(Math.round(a.asDays()),"days")}if(this.dueDate){let a=window.moment.duration(this.dueDate.diff(this.referenceDate));s=window.moment(e),s.add(Math.round(a.asDays()),"days")}}return{startDate:n,scheduledDate:i,dueDate:s}}return null}identicalTo(e){return this.baseOnToday!==e.baseOnToday||He.compareByDate(this.startDate,e.startDate)!==0||He.compareByDate(this.scheduledDate,e.scheduledDate)!==0||He.compareByDate(this.dueDate,e.dueDate)!==0?!1:this.toText()===e.toText()}nextAfter(e,t){e.utc(!0);let n=window.moment(t.after(e.toDate())),i=this.toText(),s=i.match(/every( \d+)? month(s)?(.*)?/);s!==null&&(i.includes(" on ")||(n=Re.nextAfterMonths(e,n,t,s[1])));let a=i.match(/every( \d+)? year(s)?(.*)?/);return a!==null&&(n=Re.nextAfterYears(e,n,t,a[1])),Re.addTimezone(n).toDate()}static nextAfterMonths(e,t,n,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));Re.isSkippingTooManyMonths(e,t,s);)t=Re.fromOneDayEarlier(e,n);return t}static isSkippingTooManyMonths(e,t,n){let i=t.month()-e.month();return i+=(t.year()-e.year())*12,i>n}static nextAfterYears(e,t,n,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));Re.isSkippingTooManyYears(e,t,s);)t=Re.fromOneDayEarlier(e,n);return t}static isSkippingTooManyYears(e,t,n){return t.year()-e.year()>n}static fromOneDayEarlier(e,t){e.subtract(1,"days").endOf("day");let n=t.origOptions;return n.dtstart=e.startOf("day").toDate(),t=new D(n),window.moment(t.after(e.toDate()))}static addTimezone(e){return window.moment.utc(e).local(!0).startOf("day")}};var zt=class{static calculate(e){let t=0;if(e.dueDate!==null){let n=Math.round(window.moment().diff(e.dueDate)/zt.milliSecondsPerDay),i;n>=7?i=1:n>=-14?i=(n+14)*.8/21+.2:i=.2,t+=i*zt.dueCoefficient}switch(e.scheduledDate!==null&&window.moment().isSameOrAfter(e.scheduledDate)&&(t+=1*zt.scheduledCoefficient),e.startDate!==null&&window.moment().isBefore(e.startDate)&&(t+=1*zt.startedCoefficient),e.priority){case"1":t+=1*zt.priorityCoefficient;break;case"2":t+=.65*zt.priorityCoefficient;break;case"3":t+=.325*zt.priorityCoefficient;break}return t}},Ht=zt;Ht.dueCoefficient=12,Ht.scheduledCoefficient=5,Ht.startedCoefficient=-3,Ht.priorityCoefficient=6,Ht.milliSecondsPerDay=1e3*60*60*24;var ve={High:"\u23EB",Medium:"\u{1F53C}",Low:"\u{1F53D}",None:""},Pt="\u{1F501}",At="\u{1F6EB}",kt="\u23F3",Nt="\u{1F4C5}",ho="\u2705",et=class{},M=et;M.dateFormat="YYYY-MM-DD",M.indentationRegex=/^([\s\t>]*)/,M.listMarkerRegex=/[-*]/,M.checkboxRegex=/\[(.)\]/u,M.afterCheckboxRegex=/ *(.*)/u,M.taskRegex=new RegExp(et.indentationRegex.source+et.listMarkerRegex.source+" +"+et.checkboxRegex.source+et.afterCheckboxRegex.source,"u"),M.nonTaskRegex=new RegExp(et.indentationRegex.source+et.listMarkerRegex.source+"? *("+et.checkboxRegex.source+")?"+et.afterCheckboxRegex.source,"u"),M.listItemRegex=new RegExp(et.indentationRegex.source+"("+et.listMarkerRegex.source+")"),M.blockLinkRegex=/ \^[a-zA-Z0-9-]+$/u,M.priorityRegex=/([⏫🔼🔽])$/u,M.startDateRegex=/🛫 *(\d{4}-\d{2}-\d{2})$/u,M.scheduledDateRegex=/[⏳⌛] *(\d{4}-\d{2}-\d{2})$/u,M.dueDateRegex=/[📅📆🗓] *(\d{4}-\d{2}-\d{2})$/u,M.doneDateRegex=/✅ *(\d{4}-\d{2}-\d{2})$/u,M.recurrenceRegex=/🔁 ?([a-zA-Z0-9, !]+)$/iu,M.hashTags=/(^|\s)#[^ !@#$%^&*(),.?":{}|<>]*/g,M.hashTagsFromEnd=new RegExp(et.hashTags.source+"$");var le=class{constructor({status:e,description:t,path:n,indentation:i,sectionStart:s,sectionIndex:a,originalStatusCharacter:o,precedingHeader:u,priority:l,startDate:c,scheduledDate:d,dueDate:f,doneDate:h,recurrence:g,blockLink:y,tags:_,originalMarkdown:P}){this._urgency=null;this.status=e,this.description=t,this.path=n,this.indentation=i,this.sectionStart=s,this.sectionIndex=a,this.originalStatusCharacter=o,this.precedingHeader=u,this.tags=_,this.priority=l,this.startDate=c,this.scheduledDate=d,this.dueDate=f,this.doneDate=h,this.recurrence=g,this.blockLink=y,this.originalMarkdown=P}static fromLine({line:e,path:t,sectionStart:n,sectionIndex:i,precedingHeader:s}){let a=e.match(M.taskRegex);if(a===null)return null;let o=a[3].trim(),{globalFilter:u}=ae();if(!o.includes(u))return null;let l=o,c=a[1],d=a[2],f;switch(d){case" ":f="Todo";break;default:f="Done"}let h=l.match(M.blockLinkRegex),g=h!==null?h[0]:"";g!==""&&(l=l.replace(M.blockLinkRegex,"").trim());let y,_="3",P=null,A=null,N=null,H=null,Y="",oe=null,Q=[],$="",yt=20,st=0;do{y=!1;let b=l.match(M.priorityRegex);if(b!==null){switch(b[1]){case ve.Low:_="4";break;case ve.Medium:_="2";break;case ve.High:_="1";break}l=l.replace(M.priorityRegex,"").trim(),y=!0}let T=l.match(M.doneDateRegex);T!==null&&(H=window.moment(T[1],M.dateFormat),l=l.replace(M.doneDateRegex,"").trim(),y=!0);let v=l.match(M.dueDateRegex);v!==null&&(N=window.moment(v[1],M.dateFormat),l=l.replace(M.dueDateRegex,"").trim(),y=!0);let E=l.match(M.scheduledDateRegex);E!==null&&(A=window.moment(E[1],M.dateFormat),l=l.replace(M.scheduledDateRegex,"").trim(),y=!0);let x=l.match(M.startDateRegex);x!==null&&(P=window.moment(x[1],M.dateFormat),l=l.replace(M.startDateRegex,"").trim(),y=!0);let I=l.match(M.recurrenceRegex);I!==null&&(Y=I[1].trim(),l=l.replace(M.recurrenceRegex,"").trim(),y=!0);let F=l.match(M.hashTagsFromEnd);if(F!=null){l=l.replace(M.hashTagsFromEnd,"").trim(),y=!0;let re=F[0].trim();$=$.length>0?[re,$].join(" "):re}st++}while(y&&st<=yt);Y.length>0&&(oe=Re.fromText({recurrenceRuleText:Y,startDate:P,scheduledDate:A,dueDate:N})),$.length>0&&(l+=" "+$);let O=l.match(M.hashTags);return O!==null&&(Q=O.filter(b=>b!==u).map(b=>b.trim())),new le({status:f,description:l,path:t,indentation:c,sectionStart:n,sectionIndex:i,originalStatusCharacter:d,precedingHeader:s,priority:_,startDate:P,scheduledDate:A,dueDate:N,doneDate:H,recurrence:oe,blockLink:g,tags:Q,originalMarkdown:e})}toLi(s){return se(this,arguments,function*({parentUlElement:e,listIndex:t,layoutOptions:n,isFilenameUnique:i}){let a=e.createEl("li");a.addClasses(["task-list-item","plugin-tasks-list-item"]);let o=this.toString(n),{globalFilter:u,removeGlobalFilter:l}=ae();l&&(o=o.replace(u,"").trim());let c=a.createSpan();c.addClass("tasks-list-text"),yield bp.MarkdownRenderer.renderMarkdown(o,c,this.path,null);let d=c.querySelector("blockquote"),f=d!=null?d:c,h=f.querySelector("p");if(h!==null){for(;h.firstChild;)f.insertBefore(h.firstChild,h);h.remove()}c.findAll("p").forEach(y=>{y.hasChildNodes()||y.remove()}),c.findAll(".footnotes").forEach(y=>{y.remove()});let g=a.createEl("input");return g.addClass("task-list-item-checkbox"),g.type="checkbox",this.status!=="Todo"&&(g.checked=!0,a.addClass("is-checked")),g.onClickEvent(y=>{y.preventDefault(),y.stopPropagation(),g.disabled=!0;let _=this.toggle();_s({originalTask:this,newTasks:_})}),a.prepend(g),a.setAttr("data-task",this.originalStatusCharacter.trim()),a.setAttr("data-line",t),g.setAttr("data-line",t),n!=null&&n.shortMode&&this.addTooltip({element:c,isFilenameUnique:i}),a})}toString(e){var i;e=e!=null?e:new tn;let t=this.description;if(!e.hidePriority){let s="";this.priority==="1"?s=" "+ve.High:this.priority==="2"?s=" "+ve.Medium:this.priority==="4"&&(s=" "+ve.Low),t+=s}return!e.hideRecurrenceRule&&this.recurrence&&(t+=e.shortMode?" "+Pt:` ${Pt} ${this.recurrence.toText()}`),!e.hideStartDate&&this.startDate&&(t+=e.shortMode?" "+At:` ${At} ${this.startDate.format(M.dateFormat)}`),!e.hideScheduledDate&&this.scheduledDate&&(t+=e.shortMode?" "+kt:` ${kt} ${this.scheduledDate.format(M.dateFormat)}`),!e.hideDueDate&&this.dueDate&&(t+=e.shortMode?" "+Nt:` ${Nt} ${this.dueDate.format(M.dateFormat)}`),!e.hideDoneDate&&this.doneDate&&(t+=e.shortMode?" "+ho:` ${ho} ${this.doneDate.format(M.dateFormat)}`),t+=(i=this.blockLink)!=null?i:"",t}toFileLineString(){return`${this.indentation}- [${this.originalStatusCharacter}] ${this.toString()}`}toggle(){let e=this.status==="Todo"?"Done":"Todo",t=null,n=null;if(e!=="Todo"){let{setDoneDate:a}=ae();a&&(t=window.moment()),this.recurrence!==null&&(n=this.recurrence.next())}let i=new le($t(Le({},this),{status:e,doneDate:t,originalStatusCharacter:e==="Done"?"x":" "})),s=[];if(n!==null){let a=new le($t(Le(Le({},this),n),{blockLink:""}));s.push(a)}return s.push(i),s}get urgency(){return this._urgency===null&&(this._urgency=Ht.calculate(this)),this._urgency}get filename(){let e=this.path.match(/([^/]+)\.md$/);return e!==null?e[1]:null}getLinkText({isFilenameUnique:e}){let t;return e?t=this.filename:t="/"+this.path,t===null?null:(this.precedingHeader!==null&&this.precedingHeader!==t&&(t=t+" > "+this.precedingHeader),t)}static tasksListsIdentical(e,t){return e.length!==t.length?!1:e.every((n,i)=>n.identicalTo(t[i]))}identicalTo(e){let t=["status","description","path","indentation","sectionStart","sectionIndex","originalStatusCharacter","precedingHeader","priority","blockLink"];for(let s of t)if(this[s]!==e[s])return!1;if(this.tags.length!==e.tags.length||!this.tags.every(function(s,a){return s===e.tags[a]}))return!1;t=["startDate","scheduledDate","dueDate","doneDate"];for(let s of t){let a=this[s],o=e[s];if(He.compareByDate(a,o)!==0)return!1}let n=this.recurrence,i=e.recurrence;return n===null&&i!==null||n!==null&&i===null?!1:!(n&&i&&!n.identicalTo(i))}addTooltip({element:e,isFilenameUnique:t}){e.addEventListener("mouseenter",()=>{let n=e.createDiv();n.addClasses(["tooltip","mod-right"]),this.recurrence&&n.createDiv().setText(`${Pt} ${this.recurrence.toText()}`),this.startDate&&n.createDiv().setText(le.toTooltipDate({signifier:At,date:this.startDate})),this.scheduledDate&&n.createDiv().setText(le.toTooltipDate({signifier:kt,date:this.scheduledDate})),this.dueDate&&n.createDiv().setText(le.toTooltipDate({signifier:Nt,date:this.dueDate})),this.doneDate&&n.createDiv().setText(le.toTooltipDate({signifier:ho,date:this.doneDate}));let i=this.getLinkText({isFilenameUnique:t});i&&n.createDiv().setText(`\u{1F517} ${i}`),e.addEventListener("mouseleave",()=>{n.remove()})})}static toTooltipDate({signifier:e,date:t}){return`${e} ${t.format(M.dateFormat)} (${t.from(window.moment().startOf("day"))})`}escapeRegExp(e){return e.replace(/([.*+?^${}()|[\]/\\])/g,"\\$1")}getDescriptionWithoutGlobalFilter(){let{globalFilter:e}=ae(),t=this.description;if(e.length===0)return t;let n=RegExp("(^|\\s)"+this.escapeRegExp(e)+"($|\\s)","ug");return this.description.search(n)>-1&&(t=t.replace(n,"$1$2").replace(" "," ").trim()),t}};var _r=class{constructor({metadataCache:e,vault:t,events:n}){this.metadataCache=e,this.metadataCacheEventReferences=[],this.vault=t,this.vaultEventReferences=[],this.events=n,this.eventsEventReferences=[],this.tasksMutex=new gs,this.state="Cold",this.tasks=[],this.loadedAfterFirstResolve=!1,this.subscribeToCache(),this.subscribeToVault(),this.subscribeToEvents(),this.loadVault()}unload(){for(let e of this.metadataCacheEventReferences)this.metadataCache.offref(e);for(let e of this.vaultEventReferences)this.vault.offref(e);for(let e of this.eventsEventReferences)this.events.off(e)}getTasks(){return this.tasks}getState(){return this.state}notifySubscribers(){this.events.triggerCacheUpdate({tasks:this.tasks,state:this.state})}subscribeToCache(){let e=this.metadataCache.on("resolved",()=>se(this,null,function*(){this.loadedAfterFirstResolve||(this.loadedAfterFirstResolve=!0,this.loadVault())}));this.metadataCacheEventReferences.push(e);let t=this.metadataCache.on("changed",n=>{this.tasksMutex.runExclusive(()=>{this.indexFile(n)})});this.metadataCacheEventReferences.push(t)}subscribeToVault(){let e=this.vault.on("create",i=>{i instanceof Ds.TFile&&this.tasksMutex.runExclusive(()=>{this.indexFile(i)})});this.vaultEventReferences.push(e);let t=this.vault.on("delete",i=>{i instanceof Ds.TFile&&this.tasksMutex.runExclusive(()=>{this.tasks=this.tasks.filter(s=>s.path!==i.path),this.notifySubscribers()})});this.vaultEventReferences.push(t);let n=this.vault.on("rename",(i,s)=>{i instanceof Ds.TFile&&this.tasksMutex.runExclusive(()=>{this.tasks=this.tasks.map(a=>a.path===s?new le($t(Le({},a),{path:i.path})):a),this.notifySubscribers()})});this.vaultEventReferences.push(n)}subscribeToEvents(){let e=this.events.onRequestCacheUpdate(t=>{t({tasks:this.tasks,state:this.state})});this.eventsEventReferences.push(e)}loadVault(){return this.tasksMutex.runExclusive(()=>se(this,null,function*(){this.state="Initializing",yield Promise.all(this.vault.getMarkdownFiles().map(e=>this.indexFile(e))),this.state="Warm",this.notifySubscribers()}))}indexFile(e){return se(this,null,function*(){let t=this.metadataCache.getFileCache(e);if(t==null)return;let n=this.tasks.filter(a=>a.path===e.path),i=t.listItems,s=[];if(i!==void 0){let a=yield this.vault.cachedRead(e);s=_r.getTasksFromFileContent(a,i,t,e)}le.tasksListsIdentical(n,s)||(this.getState()=="Warm"&&console.debug(`At least one task, its line number or its heading has changed in ${e.path}: triggering a refresh of all active Tasks blocks in Live Preview and Reading mode views.`),this.tasks=this.tasks.filter(a=>a.path!==e.path),this.tasks.push(...s),this.notifySubscribers())})}static getTasksFromFileContent(e,t,n,i){let s=[],a=e.split(` +`),o=null,u=0;for(let l of t)if(l.task!==void 0){if((o===null||o.position.end.line=e)return n;return null}static getPrecedingHeader(e,t){if(t===void 0)return null;let n=null;for(let i of t){if(i.position.start.line>e)return n;n=i.heading}return n}};var fd=require("obsidian");var p_=require("obsidian");function on(){}function _o(r){return r()}function Ep(){return Object.create(null)}function Ir(r){r.forEach(_o)}function Rp(r){return typeof r=="function"}function Mp(r,e){return r!=r?e==e:r!==e||r&&typeof r=="object"||typeof r=="function"}function Dp(r){return Object.keys(r).length===0}var Op=!1;function wT(){Op=!0}function RT(){Op=!1}function m(r,e){r.appendChild(e)}function un(r,e,t){r.insertBefore(e,t||null)}function Fr(r){r.parentNode.removeChild(r)}function Pp(r,e){for(let t=0;tr.removeEventListener(e,t,n)}function Ap(r){return function(e){return e.preventDefault(),r.call(this,e)}}function S(r,e,t){t==null?r.removeAttribute(e):r.getAttribute(e)!==t&&r.setAttribute(e,t)}function DT(r){return Array.from(r.childNodes)}function kp(r,e){e=""+e,r.wholeText!==e&&(r.data=e)}function _t(r,e){r.value=e==null?"":e}var xr=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,n=null){this.e||(this.is_svg?this.e=MT(t.nodeName):this.e=k(t.nodeName),this.t=t,this.c(e)),this.i(n)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.childNodes)}i(e){for(let t=0;t{let u=s.map(_o).filter(Rp);a?a.push(...u):Ir(u),r.$$.on_mount=[]}),o.forEach(go)}function Cp(r,e){let t=r.$$;t.fragment!==null&&(Ir(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function xT(r,e){r.$$.dirty[0]===-1&&(zn.push(r),AT(),r.$$.dirty.fill(0)),r.$$.dirty[e/31|0]|=1<{let g=h.length?h[0]:f;return l.ctx&&i(l.ctx[d],l.ctx[d]=g)&&(!l.skip_bound&&l.bound[d]&&l.bound[d](g),c&&xT(r,d)),f}):[],l.update(),c=!0,Ir(l.before_update),l.fragment=n?n(l.ctx):!1,e.target){if(e.hydrate){wT();let d=DT(e.target);l.fragment&&l.fragment.l(d),d.forEach(Fr)}else l.fragment&&l.fragment.c();e.intro&&CT(r.$$.fragment),ST(r,e.target,e.anchor,e.customElement),RT(),Np()}Kn(u)}var IT;typeof HTMLElement=="function"&&(IT=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:r}=this.$$;this.$$.on_disconnect=r.map(_o).filter(Rp);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(r,e,t){this[r]=t}disconnectedCallback(){Ir(this.$$.on_disconnect)}$destroy(){Cp(this,1),this.$destroy=on}$on(r,e){let t=this.$$.callbacks[r]||(this.$$.callbacks[r]=[]);return t.push(e),()=>{let n=t.indexOf(e);n!==-1&&t.splice(n,1)}}$set(r){this.$$set&&!Dp(r)&&(this.$$.skip_bound=!0,this.$$set(r),this.$$.skip_bound=!1)}});var ks=class{$destroy(){Cp(this,1),this.$destroy=on}$on(e,t){let n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{let i=n.indexOf(t);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!Dp(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Zi=ys(Ee());var JP={td:"today",tm:"tomorrow",yd:"yesterday",tw:"this week",nw:"next week",weekend:"sat",we:"sat"};function Mn(r){for(let[e,t]of Object.entries(JP))r=r.replace(RegExp(`\\b${e}\\s`,"i"),t);return r}function l_(r,e,t){let n=r.slice();return n[25]=e[t].value,n[26]=e[t].label,n[27]=e[t].symbol,n}function c_(r){let e,t,n,i,s,a,o,u,l,c,d=r[27]+"",f,h,g,y=r[26]+"",_,P,A,N,H;return{c(){e=k("span"),t=q(),n=k("span"),i=k("input"),u=q(),l=k("label"),c=k("span"),f=gt(d),h=q(),g=k("span"),_=gt(y),A=q(),S(i,"type","radio"),S(i,"id",s="priority-"+r[25]),i.__value=a=r[25],i.value=i.__value,S(i,"accesskey",o=r[26].charAt(0).toLowerCase()),r[17][0].push(i),S(l,"for",P="priority-"+r[25]),S(n,"class","tasks-modal-priority")},m(Y,oe){un(Y,e,oe),un(Y,t,oe),un(Y,n,oe),m(n,i),i.checked=i.__value===r[0].priority,m(n,u),m(n,l),m(l,c),m(c,f),m(l,h),m(l,g),m(g,_),m(n,A),N||(H=Ct(i,"change",r[16]),N=!0)},p(Y,oe){oe&1&&(i.checked=i.__value===Y[0].priority)},d(Y){Y&&Fr(e),Y&&Fr(t),Y&&Fr(n),r[17][0].splice(r[17][0].indexOf(i),1),N=!1,H()}}}function eA(r){let e,t,n,i,s,a,o,u,l,c,d,f,h,g,y,_,P,A,N,H,Y,oe,Q,$,yt,st,O,b,T,v,E,x,I,F,re,J,ce,Ze,je,cr,dr,Lt,fe,Xe,Qr,Be,xd,Fn,Id,Fd,ss,Ud,qd,Wd,fr,as,Ld,Yt,Yd,Un,$d,jd,os,Bd,Gd,Hd,us,qn,ls,zd,pr,Kd,Vd,Zd,Jr,kr,cs,Xd,hr,ds,Qd,Ja,fs=r[0].status+"",eo,Jd,ps,ef,hs,tf,rf,nf,to,sf,ms,ro,af,en=r[7],Ge=[];for(let z=0;zApply',S(i,"for","description"),S(a,"id","description"),S(a,"type","text"),S(a,"class","tasks-modal-description"),S(a,"placeholder","Take out the trash"),S(n,"class","tasks-modal-section"),S(d,"for",h="priority-"+r[0].priority),S(c,"class","tasks-modal-section"),S(N,"for","recurrence"),S(Y,"id","description"),S(Y,"type","text"),S(Y,"placeholder","Try 'every 2 weeks on Thursday'."),st.a=null,S(A,"class","tasks-modal-section"),S(x,"for","due"),S(F,"id","due"),S(F,"type","text"),S(F,"placeholder",ld),je.a=null,S(E,"class","tasks-modal-date"),S(Xe,"for","scheduled"),S(Be,"id","scheduled"),S(Be,"type","text"),S(Be,"placeholder",ld),ss.a=null,S(fe,"class","tasks-modal-date"),S(as,"for","start"),S(Yt,"id","start"),S(Yt,"type","text"),S(Yt,"placeholder",ld),os.a=null,S(fr,"class","tasks-modal-date"),S(ls,"for","forwardOnly"),S(pr,"id","forwardOnly"),S(pr,"type","checkbox"),S(pr,"class","task-list-item-checkbox tasks-modal-checkbox"),S(us,"class","tasks-modal-date"),S(v,"class","tasks-modal-section"),S(cs,"for","status"),S(hr,"id","status"),S(hr,"type","checkbox"),S(hr,"class","task-list-item-checkbox tasks-modal-checkbox"),hr.checked=ds=r[0].status==="Done",hr.disabled=!0,S(Jr,"class","tasks-modal-section"),S(to,"class","tasks-modal-section"),S(ms,"class","tasks-modal-section"),S(e,"class","tasks-modal")},m(z,we){un(z,e,we),m(e,t),m(t,n),m(n,i),m(n,s),m(n,a),_t(a,r[0].description),r[15](a),m(t,o),m(t,u),m(t,l),m(t,c),m(c,d),m(d,f),m(c,g);for(let Fe=0;Feno ${b} date`;let E=Zi.parseDate(T,v,{forwardDate:v!=null});return E!==null?window.moment(E).format("YYYY-MM-DD"):`invalid ${b} date`}To(()=>{let{globalFilter:b}=ae(),T=s.getDescriptionWithoutGlobalFilter();(T!=s.description||T.indexOf(b)==-1)&&(g=!0);let v="none";s.priority==="4"?v="low":s.priority==="2"?v="medium":s.priority==="1"&&(v="high"),t(0,u={description:T,status:s.status,priority:v,recurrenceRule:s.recurrence?s.recurrence.toText():"",startDate:s.startDate?s.startDate.format("YYYY-MM-DD"):"",scheduledDate:s.scheduledDate?s.scheduledDate.format("YYYY-MM-DD"):"",dueDate:s.dueDate?s.dueDate.format("YYYY-MM-DD"):"",doneDate:s.doneDate?s.doneDate.format("YYYY-MM-DD"):"",forwardOnly:!0}),setTimeout(()=>{o.focus()},10)});let P=b=>{if(b.key&&!b.altKey&&!b.ctrlKey){let T=y.find(v=>v.label.charAt(0).toLowerCase()==b.key);T&&t(0,u.priority=T.value,u)}},A=()=>{let{globalFilter:b}=ae(),T=u.description.trim();g&&(T=b+" "+T);let v=null,E=Zi.parseDate(u.startDate,new Date,{forwardDate:u.forwardOnly});E!==null&&(v=window.moment(E));let x=null,I=Zi.parseDate(u.scheduledDate,new Date,{forwardDate:u.forwardOnly});I!==null&&(x=window.moment(I));let F=null,re=Zi.parseDate(u.dueDate,new Date,{forwardDate:u.forwardOnly});re!==null&&(F=window.moment(re));let J=null;u.recurrenceRule&&(J=Re.fromText({recurrenceRuleText:u.recurrenceRule,startDate:v,scheduledDate:x,dueDate:F}));let ce;switch(u.priority){case"low":ce="4";break;case"medium":ce="2";break;case"high":ce="1";break;default:ce="3"}let Ze=new le(Object.assign(Object.assign({},s),{description:T,status:u.status,priority:ce,recurrence:J,startDate:v,scheduledDate:x,dueDate:F,doneDate:window.moment(u.doneDate,"YYYY-MM-DD").isValid()?window.moment(u.doneDate,"YYYY-MM-DD"):null}));a([Ze])},N=[[]];function H(){u.description=this.value,t(0,u)}function Y(b){As[b?"unshift":"push"](()=>{o=b,t(1,o)})}function oe(){u.priority=this.__value,t(0,u)}function Q(){u.recurrenceRule=this.value,t(0,u)}function $(){u.dueDate=this.value,t(0,u)}function yt(){u.scheduledDate=this.value,t(0,u)}function st(){u.startDate=this.value,t(0,u)}function O(){u.forwardOnly=this.checked,t(0,u)}return r.$$set=b=>{"task"in b&&t(10,s=b.task),"onSubmit"in b&&t(11,a=b.onSubmit)},r.$$.update=()=>{if(r.$$.dirty&1){e:t(0,u.startDate=Mn(u.startDate),u),t(2,l=_("start",u.startDate,u.forwardOnly?new Date:void 0))}if(r.$$.dirty&1){e:t(0,u.scheduledDate=Mn(u.scheduledDate),u),t(3,c=_("scheduled",u.scheduledDate,u.forwardOnly?new Date:void 0))}if(r.$$.dirty&1){e:t(0,u.dueDate=Mn(u.dueDate),u),t(4,d=_("due",u.dueDate,u.forwardOnly?new Date:void 0))}if(r.$$.dirty&12289){e:u.recurrenceRule?t(5,f=t(13,i=t(12,n=Re.fromText({recurrenceRuleText:u.recurrenceRule,startDate:null,scheduledDate:null,dueDate:null}))===null||n===void 0?void 0:n.toText())!==null&&i!==void 0?i:"invalid recurrence rule"):t(5,f="not recurring")}if(r.$$.dirty&1){e:t(6,h=_("done",u.doneDate))}},[u,o,l,c,d,f,h,y,P,A,s,a,n,i,H,Y,oe,N,Q,$,yt,st,O]}var cd=class extends ks{constructor(e){super(),Sp(this,e,tA,eA,Mp,{task:10,onSubmit:11})}},f_=cd;var Dn=class extends p_.Modal{constructor({app:t,task:n,onSubmit:i}){super(t);this.task=n,this.onSubmit=s=>{i(s),this.close()}}onOpen(){this.titleEl.setText("Create or edit Task");let{contentEl:t}=this;new f_({target:t,props:{task:this.task,onSubmit:this.onSubmit}})}onClose(){let{contentEl:t}=this;t.empty()}};var h_=(r,e,t,n)=>{var d;if(r)return t instanceof fd.MarkdownView;if(!(t instanceof fd.MarkdownView))return;let i=(d=t.file)==null?void 0:d.path;if(i===void 0)return;let a=e.getCursor().line,o=e.getLine(a),u=rA({line:o,path:i}),l=f=>{let h=f.map(g=>g.toFileLineString()).join(` +`);e.setLine(a,h)};new Dn({app:n,task:u,onSubmit:l}).open()},rA=({line:r,path:e})=>{var c;let t=le.fromLine({line:r,path:e,sectionStart:0,sectionIndex:0,precedingHeader:null});if(t!==null)return t;let n=r.match(M.nonTaskRegex);if(n===null)return console.error("Tasks: Cannot create task on line:",r),new le({status:"Todo",description:"",path:e,indentation:"",originalStatusCharacter:" ",priority:"3",startDate:null,scheduledDate:null,dueDate:null,doneDate:null,recurrence:null,sectionStart:0,sectionIndex:0,precedingHeader:null,blockLink:"",tags:[],originalMarkdown:""});let i=n[1],s=(c=n[3])!=null?c:" ",a=s===" "?"Todo":"Done",o=n[4],u=r.match(M.blockLinkRegex),l=u!==null?u[0]:"";return l!==""&&(o=o.replace(M.blockLinkRegex,"")),new le({status:a,description:o,path:e,indentation:i,originalStatusCharacter:s,blockLink:l,priority:"3",startDate:null,scheduledDate:null,dueDate:null,doneDate:null,recurrence:null,sectionStart:0,sectionIndex:0,precedingHeader:null,tags:[],originalMarkdown:""})};var pd=require("obsidian");var m_=(r,e,t)=>{var u;if(r)return t instanceof pd.MarkdownView;if(!(t instanceof pd.MarkdownView))return;let n=(u=t.file)==null?void 0:u.path;if(n===void 0)return;let i=e.getCursor(),s=i.line,a=e.getLine(s),o=nA(a,n);e.setLine(s,o),e.setCursor({line:i.line,ch:sA(i.ch,a,o)})},nA=(r,e)=>{let t=r,n=le.fromLine({line:r,path:e,sectionStart:0,sectionIndex:0,precedingHeader:null});if(n!==null)t=iA(n);else{let i=r.match(M.taskRegex);if(i!==null){let a=i[2].toLowerCase()===" "?"x":" ";t=r.replace(M.taskRegex,`$1- [${a}] $3`)}else M.listItemRegex.test(r)?t=r.replace(M.listItemRegex,"$1$2 [ ]"):t=r.replace(M.indentationRegex,"$1- ")}return t},iA=r=>r.toggle().map(n=>n.toFileLineString()).join(` +`),sA=(r,e,t)=>{let n=t.length;if(n<=e.length)return r>=t.length?n:r;let i=13;if(t.match(M.doneDateRegex)&&n-e.length>=i&&(n-=i),n>=2*e.length&&t.search(`.+ +.+`)!==-1)return r+n-e.length;let s=t.search(/[-*]/);return rh_(t,n,i,this.app)}),e.addCommand({id:"toggle-done",name:"Toggle task done",icon:"check-in-circle",editorCheckCallback:m_})}};var wa=class{constructor({obsidianEvents:e}){this.obsidianEvents=e}onCacheUpdate(e){return this.obsidianEvents.on("obsidian-tasks-plugin:cache-update",e)}triggerCacheUpdate(e){this.obsidianEvents.trigger("obsidian-tasks-plugin:cache-update",e)}onRequestCacheUpdate(e){return this.obsidianEvents.on("obsidian-tasks-plugin:request-cache-update",e)}triggerRequestCacheUpdate(e){this.obsidianEvents.trigger("obsidian-tasks-plugin:request-cache-update",e)}off(e){this.obsidianEvents.offref(e)}};var Ra=class{constructor({plugin:e}){this.markdownPostProcessor=this._markdownPostProcessor.bind(this);e.registerMarkdownPostProcessor(this._markdownPostProcessor.bind(this))}_markdownPostProcessor(e,t){return se(this,null,function*(){var c;let{globalFilter:n}=ae(),i=e.findAll(".task-list-item").filter(d=>{var g;let f=(g=d.textContent)==null?void 0:g.split(` +`);if(f===void 0)return!1;let h=null;for(let y=0;yy_.ViewPlugin.fromClass(hd),hd=class{constructor(e){this.view=e,this.handleClickEvent=this.handleClickEvent.bind(this),this.view.dom.addEventListener("click",this.handleClickEvent)}destroy(){this.view.dom.removeEventListener("click",this.handleClickEvent)}handleClickEvent(e){let{target:t}=e;if(!t||!(t instanceof HTMLInputElement)||t.type!=="checkbox")return!1;let n=t.closest("ul.plugin-tasks-query-result, div.callout-content");if(n){if(n.matches("div.callout-content")){let f=`obsidian-tasks-plugin warning: Tasks cannot add or remove completion dates or make the next copy of a recurring task for tasks written inside a callout when you click their checkboxes in Live Preview. +If you wanted Tasks to do these things, please undo your change, then either click the line of the task and use the "Toggle Task Done" command, or switch to Reading View to click the checkbox.`;console.warn(f),new g_.Notice(f,45e3)}return!1}let{state:i}=this.view,s=this.view.posAtDOM(t),a=i.doc.lineAt(s),o=le.fromLine({line:a.text,path:"",sectionStart:0,sectionIndex:0,precedingHeader:null});if(console.debug(`Live Preview Extension: toggle called. Position: ${s} Line: ${a.text}`),o===null)return!1;e.preventDefault();let l=o.toggle().map(f=>f.toFileLineString()).join(i.lineBreak),c=i.update({changes:{from:a.from,to:a.to,insert:l}});this.view.dispatch(c);let d=t.checked;return setTimeout(()=>{t.checked=d},1),!0}};var Va=require("obsidian");var On=class{matchesAnyOf(e){return e.some(t=>this.matches(t))}};var Kr=class extends On{constructor(t){super();this.stringToFind=t}matches(t){return Kr.stringIncludesCaseInsensitive(t,this.stringToFind)}static stringIncludesCaseInsensitive(t,n){return t.toLocaleLowerCase().includes(n.toLocaleLowerCase())}};var Pn=class extends On{constructor(t){super();this.regex=t}static validateAndConstruct(t){let n=/\/((?![*+?])(?:[^\r\n[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*])+)\/((?:g(?:im?|mi?)?|i(?:gm?|mg?)?|m(?:gi?|ig?)?)?)/,i=t.match(n);if(i!==null){let s=new RegExp(i[1],i[2]);return new Pn(s)}else return null}matches(t){return t.match(this.regex)!==null}};var be=class{canCreateFilterForLine(e){return be.lineMatchesFilter(this.filterRegExp(),e)}static lineMatchesFilter(e,t){return e?e.test(t):!1}static getMatch(e,t){return e?t.match(e):null}};var md=class{constructor(e,t){this.instruction=e,this.filterFunction=t}},de=class{constructor(e){this.instruction=e}get filter(){return this._filter}get filterFunction(){if(this._filter)return this._filter.filterFunction}set filterFunction(e){e?this._filter=new md(this.instruction,e):this._filter=void 0}static fromFilter(e,t){let n=new de(e);return n.filterFunction=t,n}static fromError(e,t){let n=new de(e);return n.error=t,n}};var mt=class extends be{createFilterOrErrorMessage(e){let t=be.getMatch(this.filterRegExp(),e);if(t===null)return de.fromError(e,`do not understand query filter (${this.fieldName()})`);let[n,i,s]=t,a=null;if(i.includes("include"))a=new Kr(s);else if(i.includes("regex")&&(a=Pn.validateAndConstruct(s),a===null))return de.fromError(e,`cannot parse regex (${this.fieldName()}); check your leading and trailing slashes for your query`);if(a===null)return de.fromError(e,`do not understand query filter (${this.fieldName()})`);let o=i.match(/not/)!==null;return de.fromFilter(e,this.getFilter(a,o))}static stringIncludesCaseInsensitive(e,t){return Kr.stringIncludesCaseInsensitive(e,t)}fieldPattern(){return this.fieldName()}filterOperatorPattern(){return"includes|does not include|regex matches|regex does not match"}filterRegExp(){return new RegExp(`^(?:${this.fieldPattern()}) (${this.filterOperatorPattern()}) (.*)`)}getFilter(e,t){return n=>{let i=e.matches(this.value(n));return t?!i:i}}};var Ma=class extends mt{fieldName(){return"description"}value(e){let t=ae().globalFilter;return e.description.replace(t,"").trim()}};var T_=ys(Ee()),nr=class{static parseDate(e,t=!1){return window.moment(T_.parseDate(e,void 0,{forwardDate:t})).startOf("day")}};var Da=class{constructor(e,t){this._instruction=e,this._filter=t}canCreateFilterForLine(e){return e==this._instruction}createFilterOrErrorMessage(e){let t=new de(e);return e===this._instruction?(t.filterFunction=this._filter,t):(t.error=`do not understand filter: ${e}`,t)}};var An=class{constructor(){this._filters=[]}add(e,t){this._filters.push(new Da(e,t))}canCreateFilterForLine(e){for(let t of this._filters)if(t.canCreateFilterForLine(e))return!0;return!1}createFilterOrErrorMessage(e){for(let n of this._filters){let i=n.createFilterOrErrorMessage(e);if(i.error===void 0)return i}let t=new de(e);return t.error=`do not understand filter: ${e}`,t}};var qt=class extends be{constructor(){super();this.filterInstructions=new An,this.filterInstructions.add(`has ${this.fieldName()} date`,t=>this.date(t)!==null),this.filterInstructions.add(`no ${this.fieldName()} date`,t=>this.date(t)===null),this.filterInstructions.add(`${this.fieldName()} date is invalid`,t=>{let n=this.date(t);return n!==null&&!n.isValid()})}canCreateFilterForLine(t){return this.filterInstructions.canCreateFilterForLine(t)?!0:super.canCreateFilterForLine(t)}createFilterOrErrorMessage(t){let n=this.filterInstructions.createFilterOrErrorMessage(t);if(n.filter!==void 0)return n;let i=new de(t),s=be.getMatch(this.filterRegExp(),t);if(s!==null){let a=nr.parseDate(s[2]);a.isValid()?s[1]==="before"?i.filterFunction=o=>{let u=this.date(o);return u?u.isBefore(a):this.filterResultIfFieldMissing()}:s[1]==="after"?i.filterFunction=o=>{let u=this.date(o);return u?u.isAfter(a):this.filterResultIfFieldMissing()}:i.filterFunction=o=>{let u=this.date(o);return u?u.isSame(a):this.filterResultIfFieldMissing()}:i.error="do not understand "+this.fieldName()+" date"}else i.error="do not understand query filter ("+this.fieldName()+" date)";return i}};var yd=class extends qt{filterRegExp(){return yd.doneRegexp}fieldName(){return"done"}date(e){return e.doneDate}filterResultIfFieldMissing(){return!1}},Xi=yd;Xi.doneRegexp=/^done (before|after|on)? ?(.*)/;var gd=class extends qt{filterRegExp(){return gd.dueRegexp}fieldName(){return"due"}date(e){return e.dueDate}filterResultIfFieldMissing(){return!1}},Qi=gd;Qi.dueRegexp=/^due (before|after|on)? ?(.*)/;var Dr=class extends be{constructor(){super(...arguments);this._filters=new An}canCreateFilterForLine(t){return this._filters.canCreateFilterForLine(t)}createFilterOrErrorMessage(t){return this._filters.createFilterOrErrorMessage(t)}filterRegExp(){return null}};var Oa=class extends Dr{constructor(){super(),this._filters.add("exclude sub-items",e=>{if(e.indentation==="")return!0;let t=e.indentation.lastIndexOf(">");return t===-1?!1:/^ ?$/.test(e.indentation.slice(t+1))})}fieldName(){return"exclude"}};var Pa=class extends mt{fieldName(){return"heading"}value(e){return e.precedingHeader?e.precedingHeader:""}};var Aa=class extends mt{fieldName(){return"path"}value(e){return e.path}};var _d=class extends be{createFilterOrErrorMessage(e){let t=new de(e),n=be.getMatch(this.filterRegExp(),e);if(n!==null){let i=n[3],s=null;switch(i){case"low":s="4";break;case"none":s="3";break;case"medium":s="2";break;case"high":s="1";break}if(s===null)return t.error="do not understand priority",t;let a;n[2]==="above"?a=o=>o.priority?o.priority.localeCompare(s)<0:!1:n[2]==="below"?a=o=>o.priority?o.priority.localeCompare(s)>0:!1:a=o=>o.priority?o.priority===s:!1,t.filterFunction=a}else t.error="do not understand query filter (priority)";return t}fieldName(){return"priority"}filterRegExp(){return _d.priorityRegexp}},Ji=_d;Ji.priorityRegexp=/^priority (is )?(above|below)? ?(low|none|medium|high)/;var Td=class extends qt{filterRegExp(){return Td.scheduledRegexp}fieldName(){return"scheduled"}date(e){return e.scheduledDate}filterResultIfFieldMissing(){return!1}},es=Td;es.scheduledRegexp=/^scheduled (before|after|on)? ?(.*)/;var bd=class extends qt{filterRegExp(){return bd.startRegexp}fieldName(){return"start"}date(e){return e.startDate}filterResultIfFieldMissing(){return!0}},ts=bd;ts.startRegexp=/^starts (before|after|on)? ?(.*)/;var Or=class extends be{canCreateFilterForLine(e){return e===Or.instructionForFieldPresence||e===Or.instructionForFieldAbsence?!0:super.canCreateFilterForLine(e)}createFilterOrErrorMessage(e){let t=new de(e);if(e===Or.instructionForFieldPresence){let i=new de(e);return i.filterFunction=s=>this.dates(s).some(a=>a!==null),i}if(e===Or.instructionForFieldAbsence){let i=new de(e);return i.filterFunction=s=>!this.dates(s).some(a=>a!==null),i}let n=be.getMatch(this.filterRegExp(),e);if(n!==null){let i=nr.parseDate(n[2]);i.isValid()?n[1]==="before"?t.filterFunction=s=>this.dates(s).some(a=>a&&a.isBefore(i)):n[1]==="after"?t.filterFunction=s=>this.dates(s).some(a=>a&&a.isAfter(i)):t.filterFunction=s=>this.dates(s).some(a=>a&&a.isSame(i)):t.error="do not understand happens date"}else t.error="do not understand query filter (happens date)";return t}earliestDate(e){return new Or().dates(e).sort(He.compareByDate)[0]}filterRegExp(){return Or.happensRegexp}dates(e){return Array.of(e.startDate,e.scheduledDate,e.dueDate)}fieldName(){return"happens"}},ir=Or;ir.happensRegexp=/^happens (before|after|on)? ?(.*)/,ir.instructionForFieldPresence="has happens date",ir.instructionForFieldAbsence="no happens date";var ka=class extends Dr{constructor(){super(),this._filters.add("is recurring",e=>e.recurrence!==null),this._filters.add("is not recurring",e=>e.recurrence===null)}fieldName(){return"recurring"}};var Na=class extends Dr{constructor(){super(),this._filters.add("done",e=>e.status==="Done"),this._filters.add("not done",e=>e.status!=="Done")}fieldName(){return"status"}};var Ca=class extends mt{fieldNamePlural(){return this.fieldNameSingular()+"s"}fieldName(){return`${this.fieldNameSingular()}/${this.fieldNamePlural()}`}fieldPattern(){return`${this.fieldNameSingular()}|${this.fieldNamePlural()}`}filterOperatorPattern(){return`${super.filterOperatorPattern()}|include|do not include`}value(e){return this.values(e).join(", ")}getFilter(e,t){return n=>{let i=e.matchesAnyOf(this.values(n));return t?!i:i}}};var Sa=class extends Ca{fieldNameSingular(){return"tag"}values(e){return e.tags}};var C_=ys(N_());var Ua=class extends be{constructor(){super(...arguments);this.basicBooleanRegexp=/(.*(AND|OR|XOR|NOT)\s*[("].*|\(.+\))/g;this.supportedOperators=["AND","OR","XOR","NOT"];this.subFields={}}filterRegExp(){return this.basicBooleanRegexp}createFilterOrErrorMessage(t){return this.parseLine(t)}fieldName(){return"boolean query"}parseLine(t){let n=new de(t);if(t.length===0)return n.error="empty line",n;let i=this.preprocessExpression(t);try{let s=(0,C_.parse)(i);for(let a of s)if(a.name==="IDENTIFIER"&&a.value){let o=a.value.trim();if(!(o in this.subFields)){let u=qa(o);if(u===null)return n.error=`couldn't parse sub-expression '${o}'`,n;if(u.error)return n.error=`couldn't parse sub-expression '${o}': ${u.error}`,n;u.filter&&(this.subFields[o]=u.filter)}}else if(a.name==="OPERATOR"){if(a.value==null)return n.error="empty operator in boolean query",n;if(!this.supportedOperators.includes(a.value))return n.error=`unknown boolean operator '${a.value}'`,n}return n.filterFunction=a=>this.filterTaskWithParsedQuery(a,s),n}catch(s){let a=s instanceof Error?s.message:"unknown error type";return n.error=`malformed boolean query -- ${a} (check the documentation for guidelines)`,n}return n}preprocessExpression(t){return t.replace(/\(([^()]+)\)/g,'("$1")')}filterTaskWithParsedQuery(t,n){let i=o=>o==="true",s=o=>o?"true":"false",a=[];for(let o of n)if(o.name==="IDENTIFIER"){if(o.value==null)throw Error("null token value");let l=this.subFields[o.value.trim()].filterFunction(t);a.push(s(l))}else if(o.name==="OPERATOR")if(o.value==="NOT"){let u=i(a.pop());a.push(s(!u))}else if(o.value==="OR"){let u=i(a.pop()),l=i(a.pop());a.push(s(u||l))}else if(o.value==="AND"){let u=i(a.pop()),l=i(a.pop());a.push(s(u&&l))}else if(o.value==="XOR"){let u=i(a.pop()),l=i(a.pop());a.push(s(u&&!l||!u&&l))}else throw Error("Unsupported operator: "+o.value);else throw Error("Unsupported token type: "+o);return i(a[0])}};var Wa=class extends mt{fieldName(){return"filename"}value(e){let t=e.filename;return t===null?"":t+".md"}};var hA=[()=>new Na,()=>new ka,()=>new Ji,()=>new ir,()=>new ts,()=>new es,()=>new Qi,()=>new Xi,()=>new Aa,()=>new Ma,()=>new Sa,()=>new Pa,()=>new Oa,()=>new Ua,()=>new Wa];function qa(r){for(let e of hA){let t=e();if(t.canCreateFilterForLine(r))return t.createFilterOrErrorMessage(r)}return null}var La=class{constructor(e,t){this.nestingLevel=e,this.name=t}};var Ya=class{constructor(e){this.lastHeadingAtLevel=new Array;let n=e.keys().next().value.length;for(let i=0;it.set(o,a)),e.pop();return t}};var ja=class extends Map{},Ba=class extends $a{},Ga=class{constructor(e,t){this.groups=new ja;let n=this.buildGroupingTree(e,t);this.groups=n.generateAllPaths(),this.groups=this.getSortedGroups()}buildGroupingTree(e,t){let n=new Ba(t),i=[n];for(let s of e){let a=[];for(let o of i)for(let u of o.values){let l=Ar.getGroupNamesForTask(s.property,u);for(let c of l){let d=o.children.get(c);d===void 0&&(d=new Ba([]),o.children.set(c,d),a.push(d)),d.values.push(u)}}i=a}return n}getSortedGroups(){return new ja([...this.groups.entries()].sort())}};var Ha=class{constructor(e,t,n){this.groups=e,this.groupHeadings=t,this.tasks=n}tasksAsStringOfLines(){let e="";for(let t of this.tasks)e+=t.toFileLineString()+` `;return e}toString(){let e=` `;e+=`Group names: [${this.groups}] `;for(let t of this.groupHeadings)e+=`${"#".repeat(4+t.nestingLevel)} ${t.name} -`;return e+=this.tasksAsStringOfLines(),e}};var Ha=class{constructor(e,t){this._groups=new Array;this._totalTaskCount=0;this._totalTaskCount=t.length;let n=new Ba(e,t);this.addTasks(n)}get groups(){return this._groups}totalTasksCount(){return this._totalTaskCount}toString(){let e="";for(let n of this.groups)e+=n.toString(),e+=` +`;return e+=this.tasksAsStringOfLines(),e}};var za=class{constructor(e,t){this._groups=new Array;this._totalTaskCount=0;this._totalTaskCount=t.length;let n=new Ga(e,t);this.addTasks(n)}get groups(){return this._groups}totalTasksCount(){return this._totalTaskCount}toString(){let e="";for(let n of this.groups)e+=n.toString(),e+=` --- `;return e+=` ${this.totalTasksCount()} tasks -`,e}addTasks(e){let t=new La(e.groups);for(let[n,i]of e.groups){let s=t.getHeadingsForTaskGroup(n),a=new Ga(n,s,i);this.add(a)}}add(e){this._groups.push(e)}};var Z=class{static by(e,t){return new Ha(e,t)}static getGroupNamesForTask(e,t){let n=Z.groupers[e];return n(t)}static escapeMarkdownCharacters(e){return e.replace(/\\/g,"\\\\").replace(/_/g,"\\_")}static groupByPriority(e){let t="ERROR";switch(e.priority){case"1":t="High";break;case"2":t="Medium";break;case"3":t="None";break;case"4":t="Low";break}return[`Priority ${e.priority}: ${t}`]}static groupByRecurrence(e){return e.recurrence!==null?[e.recurrence.toText()]:["None"]}static groupByRecurring(e){return e.recurrence!==null?["Recurring"]:["Not Recurring"]}static groupByStartDate(e){return[Z.stringFromDate(e.startDate,"start")]}static groupByScheduledDate(e){return[Z.stringFromDate(e.scheduledDate,"scheduled")]}static groupByDueDate(e){return[Z.stringFromDate(e.dueDate,"due")]}static groupByDoneDate(e){return[Z.stringFromDate(e.doneDate,"done")]}static groupByHappensDate(e){let t=new rr().earliestDate(e);return[Z.stringFromDate(t,"happens")]}static stringFromDate(e,t){return e===null?"No "+t+" date":e.format(Z.groupDateFormat)}static groupByPath(e){return[Z.escapeMarkdownCharacters(e.path.replace(".md",""))]}static groupByFolder(e){let t=e.path,n=e.filename+".md",i=t.substring(0,t.lastIndexOf(n));return i===""?["/"]:[Z.escapeMarkdownCharacters(i)]}static groupByFileName(e){let t=e.filename;return t===null?["Unknown Location"]:[Z.escapeMarkdownCharacters(t)]}static groupByRoot(e){let t=e.path.replace(/\\/g,"/"),n=t.indexOf("/");return n==-1?["/"]:[Z.escapeMarkdownCharacters(t.substring(0,n+1))]}static groupByBacklink(e){if(e.getLinkText({isFilenameUnique:!0})===null)return["Unknown Location"];let n=Z.groupByFileName(e)[0];if(e.precedingHeader===null||e.precedingHeader.length===0)return[n];let i=Z.groupByHeading(e)[0];return n===i?[n]:[`${n} > ${i}`]}static groupByStatus(e){return[e.status]}static groupByHeading(e){return e.precedingHeader===null||e.precedingHeader.length===0?["(No heading)"]:[e.precedingHeader]}static groupByTags(e){return e.tags.length==0?["(No tags)"]:e.tags}},Pr=Z;Pr.groupDateFormat="YYYY-MM-DD dddd",Pr.groupers={backlink:Z.groupByBacklink,done:Z.groupByDoneDate,due:Z.groupByDueDate,filename:Z.groupByFileName,folder:Z.groupByFolder,happens:Z.groupByHappensDate,heading:Z.groupByHeading,path:Z.groupByPath,priority:Z.groupByPriority,recurrence:Z.groupByRecurrence,recurring:Z.groupByRecurring,root:Z.groupByRoot,scheduled:Z.groupByScheduledDate,start:Z.groupByStartDate,status:Z.groupByStatus,tags:Z.groupByTags};var kn=class{constructor({source:e}){this._limit=void 0;this._layoutOptions=new Qr;this._filters=[];this._error=void 0;this._sorting=[];this._grouping=[];this.sortByRegexp=/^sort by (urgency|status|priority|start|scheduled|due|done|path|description|tag)( reverse)?[\s]*(\d+)?/;this.groupByRegexp=/^group by (backlink|done|due|filename|folder|happens|heading|path|priority|recurrence|recurring|root|scheduled|start|status|tags)/;this.hideOptionsRegexp=/^(hide|show) (task count|backlink|priority|start date|scheduled date|done date|due date|recurrence rule|edit button|urgency)/;this.shortModeRegexp=/^short/;this.limitRegexp=/^limit (to )?(\d+)( tasks?)?/;this.commentRegexp=/^#.*/;this.source=e,e.split(` -`).map(t=>t.trim()).forEach(t=>{switch(!0){case t==="":break;case this.shortModeRegexp.test(t):this._layoutOptions.shortMode=!0;break;case this.limitRegexp.test(t):this.parseLimit({line:t});break;case this.sortByRegexp.test(t):this.parseSortBy({line:t});break;case this.groupByRegexp.test(t):this.parseGroupBy({line:t});break;case this.hideOptionsRegexp.test(t):this.parseHideOptions({line:t});break;case this.commentRegexp.test(t):break;case this.parseFilter(t):break;default:this._error=`do not understand query: ${t}`}})}get limit(){return this._limit}get layoutOptions(){return this._layoutOptions}get filters(){return this._filters}get sorting(){return this._sorting}get grouping(){return this._grouping}get error(){return this._error}applyQueryToTasks(e){this.filters.forEach(n=>{e=e.filter(n)});let t=Ge.by(this,e).slice(0,this.limit);return Pr.by(this.grouping,t)}parseHideOptions({line:e}){let t=e.match(this.hideOptionsRegexp);if(t!==null){let n=t[1]==="hide";switch(t[2]){case"task count":this._layoutOptions.hideTaskCount=n;break;case"backlink":this._layoutOptions.hideBacklinks=n;break;case"priority":this._layoutOptions.hidePriority=n;break;case"start date":this._layoutOptions.hideStartDate=n;break;case"scheduled date":this._layoutOptions.hideScheduledDate=n;break;case"due date":this._layoutOptions.hideDueDate=n;break;case"done date":this._layoutOptions.hideDoneDate=n;break;case"recurrence rule":this._layoutOptions.hideRecurrenceRule=n;break;case"edit button":this._layoutOptions.hideEditButton=n;break;case"urgency":this._layoutOptions.hideUrgency=n;break;default:this._error="do not understand hide/show option"}}}parseFilter(e){let t=Fa(e);return t!=null?(t.filter?this._filters.push(t.filter):this._error=t.error,!0):!1}parseLimit({line:e}){let t=e.match(this.limitRegexp);t!==null?this._limit=Number.parseInt(t[2],10):this._error="do not understand query limit"}parseSortBy({line:e}){let t=e.match(this.sortByRegexp);t!==null?this._sorting.push({property:t[1],reverse:!!t[2],propertyInstance:isNaN(+t[3])?1:+t[3]}):this._error="do not understand query sorting"}parseGroupBy({line:e}){let t=e.match(this.groupByRegexp);t!==null?this._grouping.push({property:t[1]}):this._error="do not understand query grouping"}};var za=class{constructor({plugin:e,events:t}){this.addQueryRenderChild=this._addQueryRenderChild.bind(this);this.app=e.app,this.events=t,e.registerMarkdownCodeBlockProcessor("tasks",this._addQueryRenderChild.bind(this))}_addQueryRenderChild(e,t,n){return ne(this,null,function*(){n.addChild(new Nd({app:this.app,events:this.events,container:t,source:e,filePath:n.sourcePath}))})}},Nd=class extends Ka.MarkdownRenderChild{constructor({app:t,events:n,container:i,source:s,filePath:a}){super(i);switch(this.app=t,this.events=n,this.source=s,this.filePath=a,this.containerEl.className){case"block-language-tasks":this.query=new kn({source:s}),this.queryType="tasks";break;default:this.query=new kn({source:s}),this.queryType="tasks";break}}onload(){this.events.triggerRequestCacheUpdate(this.render.bind(this)),this.renderEventRef=this.events.onCacheUpdate(this.render.bind(this)),this.reloadQueryAtMidnight()}onunload(){this.renderEventRef!==void 0&&this.events.off(this.renderEventRef),this.queryReloadTimeout!==void 0&&clearTimeout(this.queryReloadTimeout)}reloadQueryAtMidnight(){let t=new Date;t.setHours(24,0,0,0);let n=new Date,i=t.getTime()-n.getTime();this.queryReloadTimeout=setTimeout(()=>{this.query=new kn({source:this.source}),this.events.triggerRequestCacheUpdate(this.render.bind(this)),this.reloadQueryAtMidnight()},i+1e3)}render(i){return ne(this,arguments,function*({tasks:t,state:n}){var a;let s=this.containerEl.createEl("div");if(n==="Warm"&&this.query.error===void 0){console.debug(`Render ${this.queryType} called for a block in active file "${this.filePath}", to select from ${t.length} tasks: plugin state: ${n}`);let o=this.query.applyQueryToTasks(t);for(let l of o.groups){this.addGroupHeadings(s,l.groupHeadings);let{taskList:c}=yield this.createTasksList({tasks:l.tasks,content:s});s.appendChild(c)}let u=o.totalTasksCount();console.debug(`${u} of ${t.length} tasks displayed in a block in "${this.filePath}"`),this.addTaskCount(s,u)}else this.query.error!==void 0?s.setText(`Tasks query: ${this.query.error}`):s.setText("Loading Tasks ...");(a=this.containerEl.firstChild)==null||a.replaceWith(s)})}createTasksList(i){return ne(this,arguments,function*({tasks:t,content:n}){let s=t.length,a=n.createEl("ul");a.addClasses(["contains-task-list","plugin-tasks-query-result"]);for(let o=0;op.remove());let f=this.query.layoutOptions.shortMode;this.query.layoutOptions.hideUrgency||this.addUrgency(c,u),this.query.layoutOptions.hideBacklinks||this.addBacklinks(c,u,f,l),this.query.layoutOptions.hideEditButton||this.addEditButton(c,u),a.appendChild(c)}return{taskList:a,tasksCount:s}})}addEditButton(t,n){t.createEl("a",{cls:"tasks-edit"}).onClickEvent(s=>{s.preventDefault();let a=u=>{ms({originalTask:n,newTasks:u})};new En({app:this.app,task:n,onSubmit:a}).open()})}addUrgency(t,n){let i=new Intl.NumberFormat().format(n.urgency);t.createSpan({text:i,cls:"tasks-urgency"})}addGroupHeadings(t,n){for(let i of n)this.addGroupHeading(t,i)}addGroupHeading(t,n){return ne(this,null,function*(){let i;n.nestingLevel===0?i=t.createEl("h4",{cls:"tasks-group-heading"}):n.nestingLevel===1?i=t.createEl("h5",{cls:"tasks-group-heading"}):i=t.createEl("h6",{cls:"tasks-group-heading"}),yield Ka.MarkdownRenderer.renderMarkdown(n.name,i,this.filePath,this)})}addBacklinks(t,n,i,s){var l;let a=t.createSpan({cls:"tasks-backlink"});i||a.append(" (");let o=a.createEl("a");if(o.href=n.path,o.setAttribute("data-href",n.path),o.rel="noopener",o.target="_blank",o.addClass("internal-link"),i&&o.addClass("internal-link-short-mode"),n.precedingHeader!==null){let c=n.precedingHeader.replace(/#/g,"");o.href=o.href+"#"+c,o.setAttribute("data-href",o.getAttribute("data-href")+"#"+c)}let u;i?u=" \u{1F517}":u=(l=n.getLinkText({isFilenameUnique:s}))!=null?l:"",o.setText(u),i||a.append(")")}addTaskCount(t,n){this.query.layoutOptions.hideTaskCount||t.createDiv({text:`${n} task${n!==1?"s":""}`,cls:"tasks-count"})}isFilenameUnique({task:t}){let n=t.path.match(/([^/]*)\..+$/i);if(n===null)return;let i=n[1];return this.app.vault.getMarkdownFiles().filter(a=>{if(a.basename===i)return!0}).length<2}};var or=require("obsidian");var Va=class extends or.PluginSettingTab{constructor({plugin:t}){super(t.app,t);this.plugin=t}display(){let{containerEl:t}=this;t.empty(),t.createEl("h2",{text:"Tasks Settings"}),t.createEl("p",{cls:"tasks-setting-important",text:"Changing any settings requires a restart of obsidian."}),new or.Setting(t).setName("Global task filter").setDesc("The global filter will be applied to all checklist items.").addText(n=>{let i=ie();n.setPlaceholder("#task").setValue(i.globalFilter).onChange(s=>ne(this,null,function*(){Lt({globalFilter:s}),yield this.plugin.saveSettings()}))}),t.createEl("div",{cls:"setting-item-description",text:'The global filter will be applied to all checklist items to filter out "non-task" checklist items.\nA checklist item must include the specified string in its description in order to be considered a task.\nFor example, if you set the global filter to `#task`, the Tasks plugin will only handle checklist items tagged with `#task`.\nOther checklist items will remain normal checklist items and not appear in queries or get a done date set.\nLeave empty if you want all checklist items from your vault to be tasks managed by this plugin.'}),new or.Setting(t).setName("Remove global filter from description").setDesc("Enabling this removes the string that you set as global filter from the task description when displaying a task.").addToggle(n=>{let i=ie();n.setValue(i.removeGlobalFilter).onChange(s=>ne(this,null,function*(){Lt({removeGlobalFilter:s}),yield this.plugin.saveSettings()}))}),new or.Setting(t).setName("Set done date on every completed task").setDesc("Enabling this will add a timestamp \u2705 YYYY-MM-DD at the end when a task is toggled to done").addToggle(n=>{let i=ie();n.setValue(i.setDoneDate).onChange(s=>ne(this,null,function*(){Lt({setDoneDate:s}),yield this.plugin.saveSettings()}))}),new or.Setting(t).setName("Auto-suggest task content").setDesc("Enabling this will open an intelligent suggest menu while typing inside a recognized task line.").addToggle(n=>{let i=ie();n.setValue(i.autoSuggestInEditor).onChange(s=>ne(this,null,function*(){Lt({autoSuggestInEditor:s}),yield this.plugin.saveSettings()}))}),new or.Setting(t).setName("Minimum match length for auto-suggest").setDesc("If higher than 0, auto-suggest will be triggered only when the beginning of any supported keywords is recognized.").addSlider(n=>{let i=ie();n.setLimits(0,3,1).setValue(i.autoSuggestMinMatch).setDynamicTooltip().onChange(s=>ne(this,null,function*(){Lt({autoSuggestMinMatch:s}),yield this.plugin.saveSettings()}))}),new or.Setting(t).setName("Maximum number of auto-suggestions to show").setDesc('How many suggestions should be shown when an auto-suggest menu pops up (including the "\u23CE" option).').addSlider(n=>{let i=ie();n.setLimits(3,12,1).setValue(i.autoSuggestMaxItems).setDynamicTooltip().onChange(s=>ne(this,null,function*(){Lt({autoSuggestMaxItems:s}),yield this.plugin.saveSettings()}))})}};var N_=require("obsidian");var fA=`${Ot}${Pt}${At}`;function k_(r,e,t){let n=[];n=n.concat(mA(r,e,t)),n=n.concat(yA(r,e,t));let i=hA(r,t),s=Cd(r,/([a-zA-Z'_-]*)/g,e),a=!1;if(s&&s.length>0){let o=s[0];if(o.length>=Math.max(1,t.autoSuggestMinMatch)){let u=i.filter(l=>l.displayText.toLowerCase().includes(o.toLowerCase()));for(let l of u)n.push({suggestionType:"match",displayText:l.displayText,appendText:l.appendText,insertAt:s.index,insertSkip:o.length}),a=!0}}return!a&&t.autoSuggestMinMatch===0&&(n=n.concat(i)),n.length>0&&!n.some(o=>o.suggestionType==="match")&&n.unshift({suggestionType:"empty",displayText:"\u23CE",appendText:` -`}),n=n.slice(0,t.autoSuggestMaxItems),n}function pA(r){if(Object.values(we).some(e=>e.length>0&&r.includes(e)))return!0}function hA(r,e){let t=[];return r.includes(At)||t.push({displayText:`${At} due date`,appendText:`${At} `}),r.includes(Ot)||t.push({displayText:`${Ot} start date`,appendText:`${Ot} `}),r.includes(Pt)||t.push({displayText:`${Pt} scheduled date`,appendText:`${Pt} `}),pA(r)||(t.push({displayText:`${we.High} high priority`,appendText:`${we.High} `}),t.push({displayText:`${we.Medium} medium priority`,appendText:`${we.Medium} `}),t.push({displayText:`${we.Low} low priority`,appendText:`${we.Low} `})),r.includes(Dt)||t.push({displayText:`${Dt} recurring (repeat)`,appendText:`${Dt} `}),t}function mA(r,e,t){let n=["today","tomorrow","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","next week","next month","next year"],i=[],s=new RegExp(`([${fA}])\\s*([0-9a-zA-Z ]*)`,"ug"),a=Cd(r,s,e);if(a&&a.length>=2){let o=a[1],u=a[2];if(u.length1?tr.parseDate(vn(u),!0):null;l&&l.isValid()&&i.push({displayText:`${l.format(M.dateFormat)}`,appendText:`${o} ${l.format(M.dateFormat)} `,insertAt:a.index,insertSkip:a[0].length});let c=1,d=5,f=n.filter(p=>u&&u.length>=c&&p.toLowerCase().includes(u.toLowerCase())).slice(0,d);f.length===0&&(f=n.slice(0,d));for(let p of f){let m=`${tr.parseDate(p,!0).format(M.dateFormat)}`;i.push({suggestionType:"match",displayText:`${p} (${m})`,appendText:`${o} ${m} `,insertAt:a.index,insertSkip:a[0].length})}}return i}function yA(r,e,t){var o;let n=["every","every day","every week","every month","every month on the","every year","every week on Sunday","every week on Monday","every week on Tuesday","every week on Wednesday","every week on Thursday","every week on Friday","every week on Saturday"],i=[],s=new RegExp(`(${Dt})\\s*([0-9a-zA-Z ]*)`,"ug"),a=Cd(r,s,e);if(a&&a.length>=2){let u=a[1],l=a[2];if(l.length0){let p=(o=Re.fromText({recurrenceRuleText:l,startDate:null,scheduledDate:null,dueDate:null}))==null?void 0:o.toText();if(p){let y=`${u} ${p} `;if(i.push({suggestionType:"match",displayText:`\u2705 ${p}`,appendText:y,insertAt:a.index,insertSkip:a[0].length}),a[0]==y)return[]}}let c=1,d=t.autoSuggestMaxItems/2,f=n.filter(p=>l&&l.length>=c&&p.toLowerCase().includes(l.toLowerCase())).slice(0,d);f.length===0&&l.trim().length===0&&(f=n.slice(0,d));for(let p of f)i.push({suggestionType:"match",displayText:`${p}`,appendText:`${u} ${p} `,insertAt:a.index,insertSkip:a[0].length})}return i}function Cd(r,e,t){let n=r.matchAll(e);for(let i of n)if((i==null?void 0:i.index)&&i.index<=t&&t<=i.index+i[0].length)return i;return[]}var Za=class extends N_.EditorSuggest{constructor(t,n){super(t);this.settings=n}onTrigger(t,n,i){if(!this.settings.autoSuggestInEditor)return null;let s=n.getLine(t.line);return s.contains(this.settings.globalFilter)&&s.match(M.taskRegex)?{start:{line:t.line,ch:0},end:{line:t.line,ch:s.length},query:s}:null}getSuggestions(t){let n=t.query,i=t.editor.getCursor(),s=k_(n,i.ch,this.settings),a=[];for(let o of s)a.push(Wt($e({},o),{context:t}));return a}renderSuggestion(t,n){n.setText(t.displayText)}selectSuggestion(t,n){var u,l,c;let i=t.context.editor;if(t.suggestionType==="empty"){this.close();let d=new KeyboardEvent("keydown",{code:"Enter",key:"Enter"});(l=(u=i==null?void 0:i.cm)==null?void 0:u.contentDOM)==null||l.dispatchEvent(d);return}let s=t.context.editor.getCursor(),a={line:s.line,ch:(c=t.insertAt)!=null?c:s.ch},o=t.insertSkip?{line:s.line,ch:a.ch+t.insertSkip}:void 0;t.context.editor.replaceRange(t.appendText,a,o),t.context.editor.setCursor({line:s.line,ch:a.ch+t.appendText.length})}};var Xa=class extends C_.Plugin{onload(){return ne(this,null,function*(){console.log('loading plugin "tasks"'),yield this.loadSettings(),this.addSettingTab(new Va({plugin:this})),hf({metadataCache:this.app.metadataCache,vault:this.app.vault});let t=new va({obsidianEvents:this.app.workspace});this.cache=new yr({metadataCache:this.app.metadataCache,vault:this.app.vault,events:t}),this.inlineRenderer=new Ea({plugin:this}),this.queryRenderer=new za({plugin:this,events:t}),this.registerEditorExtension(m_()),this.registerEditorSuggest(new Za(this.app,ie())),new ba({plugin:this})})}onunload(){var t;console.log('unloading plugin "tasks"'),(t=this.cache)==null||t.unload()}loadSettings(){return ne(this,null,function*(){let t=yield this.loadData();Lt(t)})}saveSettings(){return ne(this,null,function*(){yield this.saveData(ie())})}}; +`,e}addTasks(e){let t=new Ya(e.groups);for(let[n,i]of e.groups){let s=t.getHeadingsForTaskGroup(n),a=new Ha(n,s,i);this.add(a)}}add(e){this._groups.push(e)}};var ee=class{static by(e,t){return new za(e,t)}static getGroupNamesForTask(e,t){let n=ee.groupers[e];return n(t)}static escapeMarkdownCharacters(e){return e.replace(/\\/g,"\\\\").replace(/_/g,"\\_")}static groupByPriority(e){let t="ERROR";switch(e.priority){case"1":t="High";break;case"2":t="Medium";break;case"3":t="None";break;case"4":t="Low";break}return[`Priority ${e.priority}: ${t}`]}static groupByRecurrence(e){return e.recurrence!==null?[e.recurrence.toText()]:["None"]}static groupByRecurring(e){return e.recurrence!==null?["Recurring"]:["Not Recurring"]}static groupByStartDate(e){return[ee.stringFromDate(e.startDate,"start")]}static groupByScheduledDate(e){return[ee.stringFromDate(e.scheduledDate,"scheduled")]}static groupByDueDate(e){return[ee.stringFromDate(e.dueDate,"due")]}static groupByDoneDate(e){return[ee.stringFromDate(e.doneDate,"done")]}static groupByHappensDate(e){let t=new ir().earliestDate(e);return[ee.stringFromDate(t,"happens")]}static stringFromDate(e,t){return e===null?"No "+t+" date":e.format(ee.groupDateFormat)}static groupByPath(e){return[ee.escapeMarkdownCharacters(e.path.replace(".md",""))]}static groupByFolder(e){let t=e.path,n=e.filename+".md",i=t.substring(0,t.lastIndexOf(n));return i===""?["/"]:[ee.escapeMarkdownCharacters(i)]}static groupByFileName(e){let t=e.filename;return t===null?["Unknown Location"]:[ee.escapeMarkdownCharacters(t)]}static groupByRoot(e){let t=e.path.replace(/\\/g,"/"),n=t.indexOf("/");return n==-1?["/"]:[ee.escapeMarkdownCharacters(t.substring(0,n+1))]}static groupByBacklink(e){if(e.getLinkText({isFilenameUnique:!0})===null)return["Unknown Location"];let n=ee.groupByFileName(e)[0];if(e.precedingHeader===null||e.precedingHeader.length===0)return[n];let i=ee.groupByHeading(e)[0];return n===i?[n]:[`${n} > ${i}`]}static groupByStatus(e){return[e.status]}static groupByHeading(e){return e.precedingHeader===null||e.precedingHeader.length===0?["(No heading)"]:[e.precedingHeader]}static groupByTags(e){return e.tags.length==0?["(No tags)"]:e.tags}},Ar=ee;Ar.groupDateFormat="YYYY-MM-DD dddd",Ar.groupers={backlink:ee.groupByBacklink,done:ee.groupByDoneDate,due:ee.groupByDueDate,filename:ee.groupByFileName,folder:ee.groupByFolder,happens:ee.groupByHappensDate,heading:ee.groupByHeading,path:ee.groupByPath,priority:ee.groupByPriority,recurrence:ee.groupByRecurrence,recurring:ee.groupByRecurring,root:ee.groupByRoot,scheduled:ee.groupByScheduledDate,start:ee.groupByStartDate,status:ee.groupByStatus,tags:ee.groupByTags};var In=class{constructor({source:e}){this._limit=void 0;this._layoutOptions=new tn;this._filters=[];this._error=void 0;this._sorting=[];this._grouping=[];this.sortByRegexp=/^sort by (urgency|status|priority|start|scheduled|due|done|path|description|tag)( reverse)?[\s]*(\d+)?/;this.groupByRegexp=/^group by (backlink|done|due|filename|folder|happens|heading|path|priority|recurrence|recurring|root|scheduled|start|status|tags)/;this.hideOptionsRegexp=/^(hide|show) (task count|backlink|priority|start date|scheduled date|done date|due date|recurrence rule|edit button|urgency)/;this.shortModeRegexp=/^short/;this.limitRegexp=/^limit (to )?(\d+)( tasks?)?/;this.commentRegexp=/^#.*/;this.source=e,e.split(` +`).map(t=>t.trim()).forEach(t=>{switch(!0){case t==="":break;case this.shortModeRegexp.test(t):this._layoutOptions.shortMode=!0;break;case this.limitRegexp.test(t):this.parseLimit({line:t});break;case this.sortByRegexp.test(t):this.parseSortBy({line:t});break;case this.groupByRegexp.test(t):this.parseGroupBy({line:t});break;case this.hideOptionsRegexp.test(t):this.parseHideOptions({line:t});break;case this.commentRegexp.test(t):break;case this.parseFilter(t):break;default:this._error=`do not understand query: ${t}`}})}get limit(){return this._limit}get layoutOptions(){return this._layoutOptions}get filters(){return this._filters}get sorting(){return this._sorting}get grouping(){return this._grouping}get error(){return this._error}applyQueryToTasks(e){this.filters.forEach(n=>{e=e.filter(n.filterFunction)});let t=He.by(this,e).slice(0,this.limit);return Ar.by(this.grouping,t)}parseHideOptions({line:e}){let t=e.match(this.hideOptionsRegexp);if(t!==null){let n=t[1]==="hide";switch(t[2]){case"task count":this._layoutOptions.hideTaskCount=n;break;case"backlink":this._layoutOptions.hideBacklinks=n;break;case"priority":this._layoutOptions.hidePriority=n;break;case"start date":this._layoutOptions.hideStartDate=n;break;case"scheduled date":this._layoutOptions.hideScheduledDate=n;break;case"due date":this._layoutOptions.hideDueDate=n;break;case"done date":this._layoutOptions.hideDoneDate=n;break;case"recurrence rule":this._layoutOptions.hideRecurrenceRule=n;break;case"edit button":this._layoutOptions.hideEditButton=n;break;case"urgency":this._layoutOptions.hideUrgency=n;break;default:this._error="do not understand hide/show option"}}}parseFilter(e){let t=qa(e);return t!=null?(t.filter?this._filters.push(t.filter):this._error=t.error,!0):!1}parseLimit({line:e}){let t=e.match(this.limitRegexp);t!==null?this._limit=Number.parseInt(t[2],10):this._error="do not understand query limit"}parseSortBy({line:e}){let t=e.match(this.sortByRegexp);t!==null?this._sorting.push({property:t[1],reverse:!!t[2],propertyInstance:isNaN(+t[3])?1:+t[3]}):this._error="do not understand query sorting"}parseGroupBy({line:e}){let t=e.match(this.groupByRegexp);t!==null?this._grouping.push({property:t[1]}):this._error="do not understand query grouping"}};var Ka=class{constructor({plugin:e,events:t}){this.addQueryRenderChild=this._addQueryRenderChild.bind(this);this.app=e.app,this.events=t,e.registerMarkdownCodeBlockProcessor("tasks",this._addQueryRenderChild.bind(this))}_addQueryRenderChild(e,t,n){return se(this,null,function*(){n.addChild(new Cd({app:this.app,events:this.events,container:t,source:e,filePath:n.sourcePath}))})}},Cd=class extends Va.MarkdownRenderChild{constructor({app:t,events:n,container:i,source:s,filePath:a}){super(i);switch(this.app=t,this.events=n,this.source=s,this.filePath=a,this.containerEl.className){case"block-language-tasks":this.query=new In({source:s}),this.queryType="tasks";break;default:this.query=new In({source:s}),this.queryType="tasks";break}}onload(){this.events.triggerRequestCacheUpdate(this.render.bind(this)),this.renderEventRef=this.events.onCacheUpdate(this.render.bind(this)),this.reloadQueryAtMidnight()}onunload(){this.renderEventRef!==void 0&&this.events.off(this.renderEventRef),this.queryReloadTimeout!==void 0&&clearTimeout(this.queryReloadTimeout)}reloadQueryAtMidnight(){let t=new Date;t.setHours(24,0,0,0);let n=new Date,i=t.getTime()-n.getTime();this.queryReloadTimeout=setTimeout(()=>{this.query=new In({source:this.source}),this.events.triggerRequestCacheUpdate(this.render.bind(this)),this.reloadQueryAtMidnight()},i+1e3)}render(i){return se(this,arguments,function*({tasks:t,state:n}){var a;let s=this.containerEl.createEl("div");if(n==="Warm"&&this.query.error===void 0){console.debug(`Render ${this.queryType} called for a block in active file "${this.filePath}", to select from ${t.length} tasks: plugin state: ${n}`);let o=this.query.applyQueryToTasks(t);for(let l of o.groups){this.addGroupHeadings(s,l.groupHeadings);let{taskList:c}=yield this.createTasksList({tasks:l.tasks,content:s});s.appendChild(c)}let u=o.totalTasksCount();console.debug(`${u} of ${t.length} tasks displayed in a block in "${this.filePath}"`),this.addTaskCount(s,u)}else this.query.error!==void 0?s.setText(`Tasks query: ${this.query.error}`):s.setText("Loading Tasks ...");(a=this.containerEl.firstChild)==null||a.replaceWith(s)})}createTasksList(i){return se(this,arguments,function*({tasks:t,content:n}){let s=t.length,a=n.createEl("ul");a.addClasses(["contains-task-list","plugin-tasks-query-result"]);for(let o=0;oh.remove());let f=this.query.layoutOptions.shortMode;this.query.layoutOptions.hideUrgency||this.addUrgency(c,u),this.query.layoutOptions.hideBacklinks||this.addBacklinks(c,u,f,l),this.query.layoutOptions.hideEditButton||this.addEditButton(c,u),a.appendChild(c)}return{taskList:a,tasksCount:s}})}addEditButton(t,n){t.createEl("a",{cls:"tasks-edit"}).onClickEvent(s=>{s.preventDefault();let a=u=>{_s({originalTask:n,newTasks:u})};new Dn({app:this.app,task:n,onSubmit:a}).open()})}addUrgency(t,n){let i=new Intl.NumberFormat().format(n.urgency);t.createSpan({text:i,cls:"tasks-urgency"})}addGroupHeadings(t,n){for(let i of n)this.addGroupHeading(t,i)}addGroupHeading(t,n){return se(this,null,function*(){let i;n.nestingLevel===0?i=t.createEl("h4",{cls:"tasks-group-heading"}):n.nestingLevel===1?i=t.createEl("h5",{cls:"tasks-group-heading"}):i=t.createEl("h6",{cls:"tasks-group-heading"}),yield Va.MarkdownRenderer.renderMarkdown(n.name,i,this.filePath,this)})}addBacklinks(t,n,i,s){var l;let a=t.createSpan({cls:"tasks-backlink"});i||a.append(" (");let o=a.createEl("a");if(o.href=n.path,o.setAttribute("data-href",n.path),o.rel="noopener",o.target="_blank",o.addClass("internal-link"),i&&o.addClass("internal-link-short-mode"),n.precedingHeader!==null){let c=n.precedingHeader.replace(/#/g,"");o.href=o.href+"#"+c,o.setAttribute("data-href",o.getAttribute("data-href")+"#"+c)}let u;i?u=" \u{1F517}":u=(l=n.getLinkText({isFilenameUnique:s}))!=null?l:"",o.setText(u),i||a.append(")")}addTaskCount(t,n){this.query.layoutOptions.hideTaskCount||t.createDiv({text:`${n} task${n!==1?"s":""}`,cls:"tasks-count"})}isFilenameUnique({task:t}){let n=t.path.match(/([^/]*)\..+$/i);if(n===null)return;let i=n[1];return this.app.vault.getMarkdownFiles().filter(a=>{if(a.basename===i)return!0}).length<2}};var lr=require("obsidian");var Za=class extends lr.PluginSettingTab{constructor({plugin:t}){super(t.app,t);this.plugin=t}display(){let{containerEl:t}=this;t.empty(),t.createEl("h2",{text:"Tasks Settings"}),t.createEl("p",{cls:"tasks-setting-important",text:"Changing any settings requires a restart of obsidian."}),new lr.Setting(t).setName("Global task filter").setDesc("The global filter will be applied to all checklist items.").addText(n=>{let i=ae();n.setPlaceholder("#task").setValue(i.globalFilter).onChange(s=>se(this,null,function*(){jt({globalFilter:s}),yield this.plugin.saveSettings()}))}),t.createEl("div",{cls:"setting-item-description",text:'The global filter will be applied to all checklist items to filter out "non-task" checklist items.\nA checklist item must include the specified string in its description in order to be considered a task.\nFor example, if you set the global filter to `#task`, the Tasks plugin will only handle checklist items tagged with `#task`.\nOther checklist items will remain normal checklist items and not appear in queries or get a done date set.\nLeave empty if you want all checklist items from your vault to be tasks managed by this plugin.'}),new lr.Setting(t).setName("Remove global filter from description").setDesc("Enabling this removes the string that you set as global filter from the task description when displaying a task.").addToggle(n=>{let i=ae();n.setValue(i.removeGlobalFilter).onChange(s=>se(this,null,function*(){jt({removeGlobalFilter:s}),yield this.plugin.saveSettings()}))}),new lr.Setting(t).setName("Set done date on every completed task").setDesc("Enabling this will add a timestamp \u2705 YYYY-MM-DD at the end when a task is toggled to done").addToggle(n=>{let i=ae();n.setValue(i.setDoneDate).onChange(s=>se(this,null,function*(){jt({setDoneDate:s}),yield this.plugin.saveSettings()}))}),new lr.Setting(t).setName("Auto-suggest task content").setDesc("Enabling this will open an intelligent suggest menu while typing inside a recognized task line.").addToggle(n=>{let i=ae();n.setValue(i.autoSuggestInEditor).onChange(s=>se(this,null,function*(){jt({autoSuggestInEditor:s}),yield this.plugin.saveSettings()}))}),new lr.Setting(t).setName("Minimum match length for auto-suggest").setDesc("If higher than 0, auto-suggest will be triggered only when the beginning of any supported keywords is recognized.").addSlider(n=>{let i=ae();n.setLimits(0,3,1).setValue(i.autoSuggestMinMatch).setDynamicTooltip().onChange(s=>se(this,null,function*(){jt({autoSuggestMinMatch:s}),yield this.plugin.saveSettings()}))}),new lr.Setting(t).setName("Maximum number of auto-suggestions to show").setDesc('How many suggestions should be shown when an auto-suggest menu pops up (including the "\u23CE" option).').addSlider(n=>{let i=ae();n.setLimits(3,12,1).setValue(i.autoSuggestMaxItems).setDynamicTooltip().onChange(s=>se(this,null,function*(){jt({autoSuggestMaxItems:s}),yield this.plugin.saveSettings()}))})}};var x_=require("obsidian");var mA=`${At}${kt}${Nt}`;function S_(r,e,t){let n=[];n=n.concat(_A(r,e,t)),n=n.concat(TA(r,e,t));let i=gA(r,t),s=Sd(r,/([a-zA-Z'_-]*)/g,e),a=!1;if(s&&s.length>0){let o=s[0];if(o.length>=Math.max(1,t.autoSuggestMinMatch)){let u=i.filter(l=>l.displayText.toLowerCase().includes(o.toLowerCase()));for(let l of u)n.push({suggestionType:"match",displayText:l.displayText,appendText:l.appendText,insertAt:s.index,insertSkip:o.length}),a=!0}}return!a&&t.autoSuggestMinMatch===0&&(n=n.concat(i)),n.length>0&&!n.some(o=>o.suggestionType==="match")&&n.unshift({suggestionType:"empty",displayText:"\u23CE",appendText:` +`}),n=n.slice(0,t.autoSuggestMaxItems),n}function yA(r){if(Object.values(ve).some(e=>e.length>0&&r.includes(e)))return!0}function gA(r,e){let t=[];return r.includes(Nt)||t.push({displayText:`${Nt} due date`,appendText:`${Nt} `}),r.includes(At)||t.push({displayText:`${At} start date`,appendText:`${At} `}),r.includes(kt)||t.push({displayText:`${kt} scheduled date`,appendText:`${kt} `}),yA(r)||(t.push({displayText:`${ve.High} high priority`,appendText:`${ve.High} `}),t.push({displayText:`${ve.Medium} medium priority`,appendText:`${ve.Medium} `}),t.push({displayText:`${ve.Low} low priority`,appendText:`${ve.Low} `})),r.includes(Pt)||t.push({displayText:`${Pt} recurring (repeat)`,appendText:`${Pt} `}),t}function _A(r,e,t){let n=["today","tomorrow","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","next week","next month","next year"],i=[],s=new RegExp(`([${mA}])\\s*([0-9a-zA-Z ]*)`,"ug"),a=Sd(r,s,e);if(a&&a.length>=2){let o=a[1],u=a[2];if(u.length1?nr.parseDate(Mn(u),!0):null;l&&l.isValid()&&i.push({displayText:`${l.format(M.dateFormat)}`,appendText:`${o} ${l.format(M.dateFormat)} `,insertAt:a.index,insertSkip:a[0].length});let c=1,d=5,f=n.filter(h=>u&&u.length>=c&&h.toLowerCase().includes(u.toLowerCase())).slice(0,d);f.length===0&&(f=n.slice(0,d));for(let h of f){let y=`${nr.parseDate(h,!0).format(M.dateFormat)}`;i.push({suggestionType:"match",displayText:`${h} (${y})`,appendText:`${o} ${y} `,insertAt:a.index,insertSkip:a[0].length})}}return i}function TA(r,e,t){var o;let n=["every","every day","every week","every month","every month on the","every year","every week on Sunday","every week on Monday","every week on Tuesday","every week on Wednesday","every week on Thursday","every week on Friday","every week on Saturday"],i=[],s=new RegExp(`(${Pt})\\s*([0-9a-zA-Z ]*)`,"ug"),a=Sd(r,s,e);if(a&&a.length>=2){let u=a[1],l=a[2];if(l.length0){let h=(o=Re.fromText({recurrenceRuleText:l,startDate:null,scheduledDate:null,dueDate:null}))==null?void 0:o.toText();if(h){let g=`${u} ${h} `;if(i.push({suggestionType:"match",displayText:`\u2705 ${h}`,appendText:g,insertAt:a.index,insertSkip:a[0].length}),a[0]==g)return[]}}let c=1,d=t.autoSuggestMaxItems/2,f=n.filter(h=>l&&l.length>=c&&h.toLowerCase().includes(l.toLowerCase())).slice(0,d);f.length===0&&l.trim().length===0&&(f=n.slice(0,d));for(let h of f)i.push({suggestionType:"match",displayText:`${h}`,appendText:`${u} ${h} `,insertAt:a.index,insertSkip:a[0].length})}return i}function Sd(r,e,t){let n=r.matchAll(e);for(let i of n)if((i==null?void 0:i.index)&&i.index<=t&&t<=i.index+i[0].length)return i;return[]}var Xa=class extends x_.EditorSuggest{constructor(t,n){super(t);this.settings=n}onTrigger(t,n,i){if(!this.settings.autoSuggestInEditor)return null;let s=n.getLine(t.line);return s.contains(this.settings.globalFilter)&&s.match(M.taskRegex)?{start:{line:t.line,ch:0},end:{line:t.line,ch:s.length},query:s}:null}getSuggestions(t){let n=t.query,i=t.editor.getCursor(),s=S_(n,i.ch,this.settings),a=[];for(let o of s)a.push($t(Le({},o),{context:t}));return a}renderSuggestion(t,n){n.setText(t.displayText)}selectSuggestion(t,n){var u,l,c;let i=t.context.editor;if(t.suggestionType==="empty"){this.close();let d=new KeyboardEvent("keydown",{code:"Enter",key:"Enter"});(l=(u=i==null?void 0:i.cm)==null?void 0:u.contentDOM)==null||l.dispatchEvent(d);return}let s=t.context.editor.getCursor(),a={line:s.line,ch:(c=t.insertAt)!=null?c:s.ch},o=t.insertSkip?{line:s.line,ch:a.ch+t.insertSkip}:void 0;t.context.editor.replaceRange(t.appendText,a,o),t.context.editor.setCursor({line:s.line,ch:a.ch+t.appendText.length})}};var Qa=class extends I_.Plugin{onload(){return se(this,null,function*(){console.log('loading plugin "tasks"'),yield this.loadSettings(),this.addSettingTab(new Za({plugin:this})),mf({metadataCache:this.app.metadataCache,vault:this.app.vault});let t=new wa({obsidianEvents:this.app.workspace});this.cache=new _r({metadataCache:this.app.metadataCache,vault:this.app.vault,events:t}),this.inlineRenderer=new Ra({plugin:this}),this.queryRenderer=new Ka({plugin:this,events:t}),this.registerEditorExtension(__()),this.registerEditorSuggest(new Xa(this.app,ae())),new Ea({plugin:this})})}onunload(){var t;console.log('unloading plugin "tasks"'),(t=this.cache)==null||t.unload()}loadSettings(){return se(this,null,function*(){let t=yield this.loadData();jt(t)})}saveSettings(){return se(this,null,function*(){yield this.saveData(ae())})}}; diff --git a/.obsidian/plugins/obsidian-tasks-plugin/manifest.json b/.obsidian/plugins/obsidian-tasks-plugin/manifest.json index 0f5f5e0a..211c3654 100644 --- a/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +++ b/.obsidian/plugins/obsidian-tasks-plugin/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-tasks-plugin", "name": "Tasks", - "version": "1.15.1", + "version": "1.16.0", "minAppVersion": "0.14.6", "description": "Task management for Obsidian", "author": "Martin Schenck and Clare Macrae", diff --git a/.obsidian/plugins/obsidian-tasks-plugin/styles.css b/.obsidian/plugins/obsidian-tasks-plugin/styles.css index e44aa0ad..90589ac3 100644 --- a/.obsidian/plugins/obsidian-tasks-plugin/styles.css +++ b/.obsidian/plugins/obsidian-tasks-plugin/styles.css @@ -1,71 +1,106 @@ -.tasks-count { - color: var(--text-faint); - padding-left: 20px; -} - -/* Pencil icon. */ -.tasks-edit { - background-color: var(--text-faint); - mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E"); - -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E"); - -webkit-mask-size: contain; - display: inline-block; - width: 1em; - height: 1em; - vertical-align: middle; - margin-left: 0.5em; - cursor: pointer; -} - -/* Urgency score */ -.tasks-urgency { - font-size: var(--font-ui-smaller); - font-family: var(--font-interface); - padding: 2px 6px; - border-radius: var(--radius-s); - color: var(--text-normal); - background-color: var(--background-secondary); - margin-left: 0.5em; - line-height: 1; -} - -.internal-link.internal-link-short-mode { - text-decoration: none; -} - -.tasks-list-text { - position: relative; -} - -.tasks-list-text .tooltip { - position: absolute; - top: 0px; - left: 0px; - white-space: nowrap; -} - -.tasks-setting-important { - color: red; - font-weight: bold; -} - -.tasks-modal label { - margin: 5px 0 5px 0; -} - -.tasks-modal input[type=text] { - width: 100%; -} - -.tasks-modal hr { - margin: 10px 0 10px 0; -} - -.tasks-modal-date { - margin-bottom: 10px; -} - -.tasks-modal label + input[type=checkbox] { - margin-left: 0.67em; -} - +.tasks-count { + color: var(--text-faint); + padding-left: 20px; +} + +/* Pencil icon. */ +.tasks-edit { + background-color: var(--text-faint); + mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E"); + -webkit-mask-size: contain; + display: inline-block; + width: 1em; + height: 1em; + vertical-align: middle; + margin-left: 0.5em; + cursor: pointer; +} + +/* Urgency score */ +.tasks-urgency { + font-size: var(--font-ui-smaller); + font-family: var(--font-interface); + padding: 2px 6px; + border-radius: var(--radius-s); + color: var(--text-normal); + background-color: var(--background-secondary); + margin-left: 0.5em; + line-height: 1; +} + +.internal-link.internal-link-short-mode { + text-decoration: none; +} + +.tasks-list-text { + position: relative; +} + +.tasks-list-text .tooltip { + position: absolute; + top: 0px; + left: 0px; + white-space: nowrap; +} + +.tasks-setting-important { + color: red; + font-weight: bold; +} + +.tasks-modal label { + margin: 5px 0 5px 0; +} + +.tasks-modal input[type="text"] { + width: 100%; +} + +.tasks-modal hr { + margin: 10px 0 10px 0; +} + +.tasks-modal-date { + margin-bottom: 10px; +} + +.tasks-modal label + input[type="checkbox"] { + margin-left: 0.67em; +} + +.tasks-modal-priority { + line-height: 1.41; + white-space: nowrap; +} + +.tasks-modal-priority input { + margin-left: 1.5em; +} + +.tasks-modal-priority label { + border-radius: var(--input-radius); + padding: 2px 3px; +} + +.tasks-modal-priority input:focus + label { + box-shadow: 0 0 0 2px var(--background-modifier-border-focus); + border-color: var(--background-modifier-border-focus); +} + +.tasks-modal-priority label > span:nth-child(2) { + display: inline-block; +} + +.tasks-modal-priority input:not(:checked) + label > span:first-child { + filter: grayscale(100%) opacity(60%); +} + +.tasks-modal-priority label > span:nth-child(2)::first-letter { + text-decoration: underline; + text-underline-offset: 1pt; +} + +.tasks-modal-priority input:checked + label > span:nth-child(2) { + text-shadow: 0px 0px 1px var(--text-normal); +} diff --git a/.obsidian/plugins/obsidian42-brat/main.js b/.obsidian/plugins/obsidian42-brat/main.js index 1c3bdc78..db86a97f 100644 --- a/.obsidian/plugins/obsidian42-brat/main.js +++ b/.obsidian/plugins/obsidian42-brat/main.js @@ -1,7 +1,7 @@ var He=Object.create;var V=Object.defineProperty;var je=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var Qe=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports),Ge=(s,t)=>{for(var e in t)V(s,e,{get:t[e],enumerable:!0})},ce=(s,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of qe(t))!We.call(s,i)&&i!==e&&V(s,i,{get:()=>t[i],enumerable:!(n=je(t,i))||n.enumerable});return s};var Ke=(s,t,e)=>(e=s!=null?He(Je(s)):{},ce(t||!s||!s.__esModule?V(e,"default",{value:s,enumerable:!0}):e,s)),Ze=s=>ce(V({},"__esModule",{value:!0}),s);var a=(s,t,e)=>new Promise((n,i)=>{var o=g=>{try{l(e.next(g))}catch(c){i(c)}},r=g=>{try{l(e.throw(g))}catch(c){i(c)}},l=g=>g.done?n(g.value):Promise.resolve(g.value).then(o,r);l((e=e.apply(s,t)).next())});var ze=Qe(u=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});var p=require("obsidian"),se="YYYY-MM-DD",oe="gggg-[W]ww",Ce="YYYY-MM",Ee="YYYY-[Q]Q",Ie="YYYY";function R(s){var e,n;let t=window.app.plugins.getPlugin("periodic-notes");return t&&((n=(e=t.settings)==null?void 0:e[s])==null?void 0:n.enabled)}function k(){var s,t,e,n;try{let{internalPlugins:i,plugins:o}=window.app;if(R("daily")){let{format:c,folder:h,template:d}=((t=(s=o.getPlugin("periodic-notes"))==null?void 0:s.settings)==null?void 0:t.daily)||{};return{format:c||se,folder:(h==null?void 0:h.trim())||"",template:(d==null?void 0:d.trim())||""}}let{folder:r,format:l,template:g}=((n=(e=i.getPluginById("daily-notes"))==null?void 0:e.instance)==null?void 0:n.options)||{};return{format:l||se,folder:(r==null?void 0:r.trim())||"",template:(g==null?void 0:g.trim())||""}}catch(i){console.info("No custom daily note settings found!",i)}}function M(){var s,t,e,n,i,o,r;try{let l=window.app.plugins,g=(s=l.getPlugin("calendar"))==null?void 0:s.options,c=(e=(t=l.getPlugin("periodic-notes"))==null?void 0:t.settings)==null?void 0:e.weekly;if(R("weekly"))return{format:c.format||oe,folder:((n=c.folder)==null?void 0:n.trim())||"",template:((i=c.template)==null?void 0:i.trim())||""};let h=g||{};return{format:h.weeklyNoteFormat||oe,folder:((o=h.weeklyNoteFolder)==null?void 0:o.trim())||"",template:((r=h.weeklyNoteTemplate)==null?void 0:r.trim())||""}}catch(l){console.info("No custom weekly note settings found!",l)}}function O(){var t,e,n,i;let s=window.app.plugins;try{let o=R("monthly")&&((e=(t=s.getPlugin("periodic-notes"))==null?void 0:t.settings)==null?void 0:e.monthly)||{};return{format:o.format||Ce,folder:((n=o.folder)==null?void 0:n.trim())||"",template:((i=o.template)==null?void 0:i.trim())||""}}catch(o){console.info("No custom monthly note settings found!",o)}}function $(){var t,e,n,i;let s=window.app.plugins;try{let o=R("quarterly")&&((e=(t=s.getPlugin("periodic-notes"))==null?void 0:t.settings)==null?void 0:e.quarterly)||{};return{format:o.format||Ee,folder:((n=o.folder)==null?void 0:n.trim())||"",template:((i=o.template)==null?void 0:i.trim())||""}}catch(o){console.info("No custom quarterly note settings found!",o)}}function x(){var t,e,n,i;let s=window.app.plugins;try{let o=R("yearly")&&((e=(t=s.getPlugin("periodic-notes"))==null?void 0:t.settings)==null?void 0:e.yearly)||{};return{format:o.format||Ie,folder:((n=o.folder)==null?void 0:n.trim())||"",template:((i=o.template)==null?void 0:i.trim())||""}}catch(o){console.info("No custom yearly note settings found!",o)}}function Le(...s){let t=[];for(let n=0,i=s.length;n{let ee=n(),te=s.clone().set({hour:ee.get("hour"),minute:ee.get("minute"),second:ee.get("second")});return w&&te.add(parseInt(f,10),P),y?te.format(y.substring(1).trim()):te.format(o)}).replace(/{{\s*yesterday\s*}}/gi,s.clone().subtract(1,"day").format(o)).replace(/{{\s*tomorrow\s*}}/gi,s.clone().add(1,"d").format(o)));return t.foldManager.save(d,g),d}catch(d){console.error(`Failed to create file: '${h}'`,d),new p.Notice("Unable to create new file.")}})}function at(s,t){var e;return(e=t[N(s,"day")])!=null?e:null}function rt(){let{vault:s}=window.app,{folder:t}=k(),e=s.getAbstractFileByPath(p.normalizePath(t));if(!e)throw new ae("Failed to find daily notes folder");let n={};return p.Vault.recurseChildren(e,i=>{if(i instanceof p.TFile){let o=I(i,"day");if(o){let r=N(o,"day");n[r]=i}}}),n}var re=class extends Error{};function lt(){let{moment:s}=window,t=s.localeData()._week.dow,e=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];for(;t;)e.push(e.shift()),t--;return e}function ut(s){return lt().indexOf(s.toLowerCase())}function ke(s){return a(this,null,function*(){let{vault:t}=window.app,{template:e,format:n,folder:i}=M(),[o,r]=yield E(e),l=s.format(n),g=yield U(i,l);try{let c=yield t.create(g,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,d,b,T,w,f)=>{let P=window.moment(),y=s.clone().set({hour:P.get("hour"),minute:P.get("minute"),second:P.get("second")});return b&&y.add(parseInt(T,10),w),f?y.format(f.substring(1).trim()):y.format(n)}).replace(/{{\s*title\s*}}/gi,l).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*(sunday|monday|tuesday|wednesday|thursday|friday|saturday)\s*:(.*?)}}/gi,(h,d,b)=>{let T=ut(d);return s.weekday(T).format(b.trim())}));return window.app.foldManager.save(c,r),c}catch(c){console.error(`Failed to create file: '${g}'`,c),new p.Notice("Unable to create new file.")}})}function gt(s,t){var e;return(e=t[N(s,"week")])!=null?e:null}function ct(){let s={};if(!Oe())return s;let{vault:t}=window.app,{folder:e}=M(),n=t.getAbstractFileByPath(p.normalizePath(e));if(!n)throw new re("Failed to find weekly notes folder");return p.Vault.recurseChildren(n,i=>{if(i instanceof p.TFile){let o=I(i,"week");if(o){let r=N(o,"week");s[r]=i}}}),s}var le=class extends Error{};function Me(s){return a(this,null,function*(){let{vault:t}=window.app,{template:e,format:n,folder:i}=O(),[o,r]=yield E(e),l=s.format(n),g=yield U(i,l);try{let c=yield t.create(g,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,d,b,T,w,f)=>{let P=window.moment(),y=s.clone().set({hour:P.get("hour"),minute:P.get("minute"),second:P.get("second")});return b&&y.add(parseInt(T,10),w),f?y.format(f.substring(1).trim()):y.format(n)}).replace(/{{\s*date\s*}}/gi,l).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,l));return window.app.foldManager.save(c,r),c}catch(c){console.error(`Failed to create file: '${g}'`,c),new p.Notice("Unable to create new file.")}})}function dt(s,t){var e;return(e=t[N(s,"month")])!=null?e:null}function mt(){let s={};if(!$e())return s;let{vault:t}=window.app,{folder:e}=O(),n=t.getAbstractFileByPath(p.normalizePath(e));if(!n)throw new le("Failed to find monthly notes folder");return p.Vault.recurseChildren(n,i=>{if(i instanceof p.TFile){let o=I(i,"month");if(o){let r=N(o,"month");s[r]=i}}}),s}var ue=class extends Error{};function pt(s){return a(this,null,function*(){let{vault:t}=window.app,{template:e,format:n,folder:i}=$(),[o,r]=yield E(e),l=s.format(n),g=yield U(i,l);try{let c=yield t.create(g,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,d,b,T,w,f)=>{let P=window.moment(),y=s.clone().set({hour:P.get("hour"),minute:P.get("minute"),second:P.get("second")});return b&&y.add(parseInt(T,10),w),f?y.format(f.substring(1).trim()):y.format(n)}).replace(/{{\s*date\s*}}/gi,l).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,l));return window.app.foldManager.save(c,r),c}catch(c){console.error(`Failed to create file: '${g}'`,c),new p.Notice("Unable to create new file.")}})}function ft(s,t){var e;return(e=t[N(s,"quarter")])!=null?e:null}function ht(){let s={};if(!xe())return s;let{vault:t}=window.app,{folder:e}=$(),n=t.getAbstractFileByPath(p.normalizePath(e));if(!n)throw new ue("Failed to find quarterly notes folder");return p.Vault.recurseChildren(n,i=>{if(i instanceof p.TFile){let o=I(i,"quarter");if(o){let r=N(o,"quarter");s[r]=i}}}),s}var ge=class extends Error{};function bt(s){return a(this,null,function*(){let{vault:t}=window.app,{template:e,format:n,folder:i}=x(),[o,r]=yield E(e),l=s.format(n),g=yield U(i,l);try{let c=yield t.create(g,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,d,b,T,w,f)=>{let P=window.moment(),y=s.clone().set({hour:P.get("hour"),minute:P.get("minute"),second:P.get("second")});return b&&y.add(parseInt(T,10),w),f?y.format(f.substring(1).trim()):y.format(n)}).replace(/{{\s*date\s*}}/gi,l).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,l));return window.app.foldManager.save(c,r),c}catch(c){console.error(`Failed to create file: '${g}'`,c),new p.Notice("Unable to create new file.")}})}function wt(s,t){var e;return(e=t[N(s,"year")])!=null?e:null}function yt(){let s={};if(!Ue())return s;let{vault:t}=window.app,{folder:e}=x(),n=t.getAbstractFileByPath(p.normalizePath(e));if(!n)throw new ge("Failed to find yearly notes folder");return p.Vault.recurseChildren(n,i=>{if(i instanceof p.TFile){let o=I(i,"year");if(o){let r=N(o,"year");s[r]=i}}}),s}function Tt(){var n,i;let{app:s}=window,t=s.internalPlugins.plugins["daily-notes"];if(t&&t.enabled)return!0;let e=s.plugins.getPlugin("periodic-notes");return e&&((i=(n=e.settings)==null?void 0:n.daily)==null?void 0:i.enabled)}function Oe(){var e,n;let{app:s}=window;if(s.plugins.getPlugin("calendar"))return!0;let t=s.plugins.getPlugin("periodic-notes");return t&&((n=(e=t.settings)==null?void 0:e.weekly)==null?void 0:n.enabled)}function $e(){var e,n;let{app:s}=window,t=s.plugins.getPlugin("periodic-notes");return t&&((n=(e=t.settings)==null?void 0:e.monthly)==null?void 0:n.enabled)}function xe(){var e,n;let{app:s}=window,t=s.plugins.getPlugin("periodic-notes");return t&&((n=(e=t.settings)==null?void 0:e.quarterly)==null?void 0:n.enabled)}function Ue(){var e,n;let{app:s}=window,t=s.plugins.getPlugin("periodic-notes");return t&&((n=(e=t.settings)==null?void 0:e.yearly)==null?void 0:n.enabled)}function Pt(s){let t={day:k,week:M,month:O,quarter:$,year:x}[s];return t()}function vt(s,t){return{day:Re,month:Me,week:ke}[s](t)}u.DEFAULT_DAILY_NOTE_FORMAT=se;u.DEFAULT_MONTHLY_NOTE_FORMAT=Ce;u.DEFAULT_QUARTERLY_NOTE_FORMAT=Ee;u.DEFAULT_WEEKLY_NOTE_FORMAT=oe;u.DEFAULT_YEARLY_NOTE_FORMAT=Ie;u.appHasDailyNotesPluginLoaded=Tt;u.appHasMonthlyNotesPluginLoaded=$e;u.appHasQuarterlyNotesPluginLoaded=xe;u.appHasWeeklyNotesPluginLoaded=Oe;u.appHasYearlyNotesPluginLoaded=Ue;u.createDailyNote=Re;u.createMonthlyNote=Me;u.createPeriodicNote=vt;u.createQuarterlyNote=pt;u.createWeeklyNote=ke;u.createYearlyNote=bt;u.getAllDailyNotes=rt;u.getAllMonthlyNotes=mt;u.getAllQuarterlyNotes=ht;u.getAllWeeklyNotes=ct;u.getAllYearlyNotes=yt;u.getDailyNote=at;u.getDailyNoteSettings=k;u.getDateFromFile=I;u.getDateFromPath=ot;u.getDateUID=N;u.getMonthlyNote=dt;u.getMonthlyNoteSettings=O;u.getPeriodicNoteSettings=Pt;u.getQuarterlyNote=ft;u.getQuarterlyNoteSettings=$;u.getTemplateInfo=E;u.getWeeklyNote=gt;u.getWeeklyNoteSettings=M;u.getYearlyNote=wt;u.getYearlyNoteSettings=x});var St={};Ge(St,{default:()=>X});module.exports=Ze(St);var Ye=require("obsidian");var v=require("obsidian");var W=require("obsidian");var de=require("obsidian");var S=class extends de.FuzzySuggestModal{constructor(e){super(e.app);this.scope.register(["Shift"],"Enter",n=>this.enterTrigger(n)),this.scope.register(["Ctrl"],"Enter",n=>this.enterTrigger(n))}setSuggesterData(e){this.data=e}display(e){return a(this,null,function*(){this.callbackFunction=e,this.open()})}getItems(){return this.data}getItemText(e){return e.display}onChooseItem(){}renderSuggestion(e,n){n.createEl("div",{text:e.item.display})}enterTrigger(e){let n=document.querySelector(".suggestion-item.is-selected div").textContent,i=this.data.find(o=>o.display===n);i&&(this.invokeCallback(i,e),this.close())}onChooseSuggestion(e,n){this.invokeCallback(e.item,n)}invokeCallback(e,n){this.callbackFunction(e,n)}};var F=require("obsidian");var Xe="https://raw.githubusercontent.com/",Y=(s,t,e,n=!0)=>a(void 0,null,function*(){let i=`https://github.com/${s}/releases/download/${t}/${e}`;try{let o=yield(0,F.request)({url:i});return o==="Not Found"||o==='{"error":"Not Found"}'?null:o}catch(o){return n&&console.log("error in grabReleaseFileFromRepository",i,o),null}}),me=(s,t=!0,e=!0)=>a(void 0,null,function*(){let n=Xe+s+(t===!0?"/HEAD/manifest.json":"/HEAD/manifest-beta.json");try{let i=yield(0,F.request)({url:n});return i==="404: Not Found"?null:yield JSON.parse(i)}catch(i){return i!="Error: Request failed, status 404"&&e&&console.log(`error in grabManifestJsonFromRepository for ${n}`,i),null}}),pe=(s=!0)=>a(void 0,null,function*(){let t="https://raw.githubusercontent.com/obsidianmd/obsidian-releases/HEAD/community-plugins.json";try{let e=yield(0,F.request)({url:t});return e==="404: Not Found"?null:yield JSON.parse(e)}catch(e){return s&&console.log("error in grabCommmunityPluginList",e),null}}),H=(s=!0)=>a(void 0,null,function*(){let t="https://raw.githubusercontent.com/obsidianmd/obsidian-releases/HEAD/community-css-themes.json";try{let e=yield(0,F.request)({url:t});return e==="404: Not Found"?null:yield JSON.parse(e)}catch(e){return s&&console.log("error in grabCommmunityThemesList",e),null}}),ne=(s,t=!0)=>a(void 0,null,function*(){let e=`https://raw.githubusercontent.com/${s}/HEAD/obsidian.css`;try{let n=yield(0,F.request)({url:e});return n==="404: Not Found"?null:n}catch(n){return t&&console.log("error in grabCommmunityThemesList",n),null}}),et=(s,t,e=!0)=>a(void 0,null,function*(){let n=`https://api.github.com/repos/${s}/commits?path=${t}&page=1&per_page=1`;try{let i=yield(0,F.request)({url:n});return i==="404: Not Found"?null:JSON.parse(i)}catch(i){return e&&console.log("error in grabCommmunityThemesList",i),null}}),j=(s,t)=>a(void 0,null,function*(){let e=yield et(s,t);return e[0].commit.committer.date?e[0].commit.committer.date:""});var fe={pluginList:[],pluginSubListFrozenVersion:[],themesList:[],updateAtStartup:!1,updateThemesAtStartup:!1,ribbonIconEnabled:!0,loggingEnabled:!1,loggingPath:"BRAT-log",loggingVerboseEnabled:!1,debuggingMode:!0,notificationsEnabled:!0};function he(s,t,e=""){return a(this,null,function*(){let n=!1;s.settings.pluginList.contains(t)||(s.settings.pluginList.unshift(t),n=!0),e!==""&&s.settings.pluginSubListFrozenVersion.filter(i=>i.repo===t).length===0&&(s.settings.pluginSubListFrozenVersion.unshift({repo:t,version:e}),n=!0),n&&s.saveSettings()})}function be(s,t){return a(this,null,function*(){return s.settings.pluginList.contains(t)})}function we(s,t){return a(this,null,function*(){let e={repo:t,lastUpdate:yield j(t,"obsidian.css")};s.settings.themesList.unshift(e),s.saveSettings()})}function ye(s,t){return a(this,null,function*(){return!!s.settings.themesList.find(n=>n.repo===t)})}function Te(s,t,e){s.settings.themesList.forEach(n=>{n.repo===t&&(n.lastUpdate=e,s.saveSettings())})}var q=require("obsidian");function m(s,t,e=10,n=null){if(s.settings.notificationsEnabled===!1)return;let i=n?q.Platform.isDesktop?"(click=dismiss, right-click=Info)":"(click=dismiss)":"",o=new q.Notice(`BRAT ${t} ${i}`,e*1e3);n&&(o.noticeEl.oncontextmenu=()=>a(this,null,function*(){n()}))}function J(){return a(this,null,function*(){try{let s=yield fetch("https://obsidian.md/?"+Math.random());return s.status>=200&&s.status<300}catch(s){return!1}})}var Pe=s=>(0,W.normalizePath)(s.app.vault.configDir+"/themes")+"/",ie=(s,t,e="")=>a(void 0,null,function*(){let n=yield ne(t,s.settings.debuggingMode);if(!n)return m(s,"There is no obsidian.css file in the root path of this repository, so there is no theme to install."),!1;yield ve(s,e,n);let i=`${e} theme installed from ${t}. `;return s.log(i+`[Theme Info](https://github.com/${t})`,!1),m(s,`${i}`,10,()=>a(void 0,null,function*(){window.open(`https://github.com/${t}`)})),setTimeout(()=>{s.app.customCss.setTheme(e)},500),!0}),ve=(s,t,e)=>a(void 0,null,function*(){let n=Pe(s),i=s.app.vault.adapter;(yield i.exists(n))===!1&&(yield i.mkdir(n)),yield i.write(n+t+".css",e)}),Se=s=>a(void 0,null,function*(){let t=yield H(s.settings.debuggingMode),e=Object.values(t).map(i=>({display:`Theme: ${i.name} (${i.repo})`,info:i})),n=new S(s);n.setSuggesterData(e),yield n.display(i=>a(void 0,null,function*(){yield ie(s,i.info.repo,i.info.name)}))}),Q=s=>("BRAT-"+s.replace("/","----")).substr(0,100),Ne=(s,t)=>a(void 0,null,function*(){s.settings.themesList=s.settings.themesList.filter(n=>n.repo!=t),s.saveSettings(),yield s.app.vault.adapter.remove(Pe(s)+Q(t)+".css");let e=`Removed ${t} from BRAT themes list and deleted from vault`;s.log(e,!0),m(s,`${e}`)}),G=(s,t)=>a(void 0,null,function*(){if((yield J())===!1){console.log("BRAT: No internet detected.");return}let e,n="Checking for beta theme updates STARTED";s.log(n,!0),t&&s.settings.notificationsEnabled&&(e=new W.Notice(`BRAT -${n}`,3e4));for(let o of s.settings.themesList){let r=yield j(o.repo,"obsidian.css");r!==o.lastUpdate&&(yield tt(s,o.repo,o.lastUpdate,r))}let i="Checking for beta theme updates COMPLETED";s.log(i,!0),t&&(s.settings.notificationsEnabled&&e.hide(),m(s,i))}),tt=(s,t,e="",n="")=>a(void 0,null,function*(){let i=yield ne(t,s.settings.debuggingMode);if(!i)return m(s,"There is no obsidian.css file in the root path of the ${cssGithubRepository} repository, so this theme cannot be updated."),!1;let o=Q(t);yield ve(s,o,i),Te(s,t,n);let r=`${o} theme updated from ${t}. From date: ${e} to ${n} `;return s.log(r+`[Theme Info](https://github.com/${t})`,!1),m(s,`${r}`,20,()=>a(void 0,null,function*(){window.open(`https://github.com/${t}`)})),!0});var K=require("obsidian");var C=class extends K.Modal{constructor(e,n=!1){super(e.app);this.plugin=e,this.address="",this.openSettingsTabAfterwards=n}submitForm(){return a(this,null,function*(){if(this.address==="")return;let e=this.address.replace("https://github.com/","");if(yield ye(this.plugin,e)){m(this.plugin,"This plugin is already in the list for beta testing",10);return}(yield ie(this.plugin,e,Q(e)))&&(yield we(this.plugin,e),this.close())})}onOpen(){this.contentEl.createEl("h4",{text:"Github repository for beta theme:"}),this.contentEl.createEl("form",{},e=>{new K.Setting(e).addText(n=>{n.setPlaceholder("Repository (example: GitubUserName/repository-name"),n.onChange(i=>{this.address=i.trim()}),n.inputEl.addEventListener("keydown",i=>a(this,null,function*(){i.key==="Enter"&&this.address!==" "&&(i.preventDefault(),yield this.submitForm())})),n.inputEl.style.width="100%",window.setTimeout(()=>{let i=document.querySelector(".setting-item-info");i&&i.remove(),n.inputEl.focus()},10)}),e.createDiv("modal-button-container",n=>{n.createEl("button",{attr:{type:"button"},text:"Never mind"}).addEventListener("click",()=>this.close()),n.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:"Add Theme"})}),e.addEventListener("submit",n=>a(this,null,function*(){n.preventDefault(),this.address!==""&&(yield this.submitForm())}))})}onClose(){return a(this,null,function*(){this.openSettingsTabAfterwards&&(yield this.plugin.app.setting.open(),yield this.plugin.app.setting.openTabById("obsidian42-brat"))})}};var Z=class extends v.PluginSettingTab{constructor(e,n){super(e,n);this.plugin=n}display(){let{containerEl:e}=this;e.empty(),e.createEl("h2",{text:this.plugin.appName}),new v.Setting(e).setName("Auto-update plugins at startup").setDesc("If enabled all beta plugins will be checked for updates each time Obsidian starts. Note: this does not update frozen version plugins.").addToggle(i=>{i.setValue(this.plugin.settings.updateAtStartup),i.onChange(o=>a(this,null,function*(){this.plugin.settings.updateAtStartup=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Auto-update themes at startup").setDesc("If enabled all beta themes will be checked for updates each time Obsidian starts.").addToggle(i=>{i.setValue(this.plugin.settings.updateThemesAtStartup),i.onChange(o=>a(this,null,function*(){this.plugin.settings.updateThemesAtStartup=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Ribbon Button").setDesc("Toggle ribbon button off and on.").addToggle(i=>{i.setValue(this.plugin.settings.ribbonIconEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.ribbonIconEnabled=o,this.plugin.settings.ribbonIconEnabled===!1?this.plugin.ribbonIcon.remove():this.plugin.showRibbonButton(),yield this.plugin.saveSettings()}))}),e.createEl("hr"),e.createEl("h2",{text:"Beta Plugin List"}),e.createEl("div",{text:'The following is a list of beta plugins added via the command palette "Add a beta plugin for testing" or "Add a beta plugin with frozen version for testing". A frozen version is a specific release of a plugin based on its releease tag. '}),e.createEl("p"),e.createEl("div",{text:"Click the x button next to a plugin to remove it from the list."}),e.createEl("p"),e.createEl("span").createEl("b",{text:"Note: "}),e.createSpan({text:"This does not delete the plugin, this should be done from the Community Plugins tab in Settings."}),new v.Setting(e).addButton(i=>{i.setButtonText("Add Beta plugin"),i.onClick(()=>a(this,null,function*(){this.plugin.app.setting.close(),yield this.plugin.betaPlugins.displayAddNewPluginModal(!0,!1)}))});let n=new Set(this.plugin.settings.pluginSubListFrozenVersion.map(i=>i.repo));for(let i of this.plugin.settings.pluginList)n.has(i)||new v.Setting(e).setName(i).addButton(o=>{o.setIcon("cross"),o.setTooltip("Delete this beta plugin"),o.onClick(()=>a(this,null,function*(){o.buttonEl.textContent===""?o.setButtonText("Click once more to confirm removal"):(o.buttonEl.parentElement.parentElement.remove(),yield this.plugin.betaPlugins.deletePlugin(i))}))});new v.Setting(e).addButton(i=>{i.setButtonText("Add Beta plugin with frozen version"),i.onClick(()=>a(this,null,function*(){this.plugin.app.setting.close(),yield this.plugin.betaPlugins.displayAddNewPluginModal(!0,!0)}))});for(let i of this.plugin.settings.pluginSubListFrozenVersion)new v.Setting(e).setName(`${i.repo} (version ${i.version})`).addButton(o=>{o.setIcon("cross"),o.setTooltip("Delete this beta plugin"),o.onClick(()=>a(this,null,function*(){o.buttonEl.textContent===""?o.setButtonText("Click once more to confirm removal"):(o.buttonEl.parentElement.parentElement.remove(),yield this.plugin.betaPlugins.deletePlugin(i.repo))}))});e.createEl("hr"),e.createEl("h2",{text:"Beta Themes List"}),new v.Setting(e).addButton(i=>{i.setButtonText("Add Beta Theme"),i.onClick(()=>a(this,null,function*(){this.plugin.app.setting.close(),new C(this.plugin).open()}))});for(let i of this.plugin.settings.themesList)new v.Setting(e).setName(i.repo).addButton(o=>{o.setIcon("cross"),o.setTooltip("Delete this beta theme"),o.onClick(()=>a(this,null,function*(){o.buttonEl.textContent===""?o.setButtonText("Click once more to confirm removal"):(o.buttonEl.parentElement.parentElement.remove(),yield Ne(this.plugin,i.repo))}))});e.createEl("hr"),e.createEl("h2",{text:"Monitoring"}),new v.Setting(e).setName("Enable Notifications").setDesc("BRAT will provide popup notifications for its various activities. Turn this off means no notifications from BRAT.").addToggle(i=>{i.setValue(this.plugin.settings.notificationsEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.notificationsEnabled=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Enable Logging").setDesc("Plugin updates will be logged to a file in the log file.").addToggle(i=>{i.setValue(this.plugin.settings.loggingEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.loggingEnabled=o,yield this.plugin.saveSettings()}))}),new v.Setting(this.containerEl).setName("BRAT Log File Location").setDesc("Logs will be saved to this file. Don't add .md to the file name.").addSearch(i=>{i.setPlaceholder("Example: BRAT-log").setValue(this.plugin.settings.loggingPath).onChange(o=>a(this,null,function*(){this.plugin.settings.loggingPath=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Enable Verbose Logging").setDesc("Get a lot more information in the log.").addToggle(i=>{i.setValue(this.plugin.settings.loggingVerboseEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.loggingVerboseEnabled=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Debugging Mode").setDesc("Atomic Bomb level console logging. Can be used for troubleshoting and development.").addToggle(i=>{i.setValue(this.plugin.settings.debuggingMode),i.onChange(o=>a(this,null,function*(){this.plugin.settings.debuggingMode=o,yield this.plugin.saveSettings()}))})}};var L=require("obsidian");var B=class extends L.Modal{constructor(e,n,i=!1,o=!1){super(e.app);this.plugin=e,this.betaPlugins=n,this.address="",this.openSettingsTabAfterwards=i,this.useFrozenVersion=o,this.version=""}submitForm(){return a(this,null,function*(){if(this.address==="")return;let e=this.address.replace("https://github.com/","");if(yield be(this.plugin,e)){m(this.plugin,"This plugin is already in the list for beta testing",10);return}(yield this.betaPlugins.addPlugin(e,!1,!1,!1,this.version))&&this.close()})}onOpen(){this.contentEl.createEl("h4",{text:"Github repository for beta plugin:"}),this.contentEl.createEl("form",{},e=>{new L.Setting(e).addText(n=>{n.setPlaceholder("Repository (example: TfTHacker/obsidian-brat)"),n.onChange(i=>{this.address=i.trim()}),n.inputEl.addEventListener("keydown",i=>a(this,null,function*(){i.key==="Enter"&&this.address!==" "&&(this.useFrozenVersion&&this.version!==""||!this.useFrozenVersion)&&(i.preventDefault(),yield this.submitForm())})),n.inputEl.style.width="100%",window.setTimeout(()=>{let i=document.querySelector(".setting-item-info");i&&i.remove(),n.inputEl.focus()},10)}),this.useFrozenVersion&&new L.Setting(e).addText(n=>{n.setPlaceholder("Specify the release version tag (example: 1.0.0)"),n.onChange(i=>{this.version=i.trim()}),n.inputEl.style.width="100%",window.setTimeout(()=>{let i=document.querySelector(".setting-item-info");i&&i.remove()},10)}),e.createDiv("modal-button-container",n=>{n.createEl("button",{attr:{type:"button"},text:"Never mind"}).addEventListener("click",()=>this.close()),n.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:"Add Plugin"})}),e.addEventListener("submit",n=>a(this,null,function*(){n.preventDefault(),this.address!==""&&(this.useFrozenVersion&&this.version!==""||!this.useFrozenVersion)&&(yield this.submitForm())}))})}onClose(){return a(this,null,function*(){this.openSettingsTabAfterwards&&(yield this.plugin.app.setting.open(),yield this.plugin.app.setting.openTabById("obsidian42-brat"))})}};var A=require("obsidian");var D=class{constructor(t){this.plugin=t}displayAddNewPluginModal(t=!1,e=!1){return a(this,null,function*(){new B(this.plugin,this,t,e).open()})}validateRepository(t,e=!1,n=!1){return a(this,null,function*(){let o=yield me(t,!e,this.plugin.settings.debuggingMode);return o?"id"in o?"version"in o?o:(n&&m(this.plugin,`${t} +${n}`,3e4));for(let o of s.settings.themesList){let r=yield j(o.repo,"obsidian.css");r!==o.lastUpdate&&(yield tt(s,o.repo,o.lastUpdate,r))}let i="Checking for beta theme updates COMPLETED";s.log(i,!0),t&&(s.settings.notificationsEnabled&&e.hide(),m(s,i))}),tt=(s,t,e="",n="")=>a(void 0,null,function*(){let i=yield ne(t,s.settings.debuggingMode);if(!i)return m(s,"There is no obsidian.css file in the root path of the ${cssGithubRepository} repository, so this theme cannot be updated."),!1;let o=Q(t);yield ve(s,o,i),Te(s,t,n);let r=`${o} theme updated from ${t}. From date: ${e} to ${n} `;return s.log(r+`[Theme Info](https://github.com/${t})`,!1),m(s,`${r}`,20,()=>a(void 0,null,function*(){window.open(`https://github.com/${t}`)})),!0});var K=require("obsidian");var C=class extends K.Modal{constructor(e,n=!1){super(e.app);this.plugin=e,this.address="",this.openSettingsTabAfterwards=n}submitForm(){return a(this,null,function*(){if(this.address==="")return;let e=this.address.replace("https://github.com/","");if(yield ye(this.plugin,e)){m(this.plugin,"This plugin is already in the list for beta testing",10);return}(yield ie(this.plugin,e,Q(e)))&&(yield we(this.plugin,e),this.close())})}onOpen(){this.contentEl.createEl("h4",{text:"Github repository for beta theme:"}),this.contentEl.createEl("form",{},e=>{new K.Setting(e).addText(n=>{n.setPlaceholder("Repository (example: https://github.com/GitubUserName/repository-name"),n.onChange(i=>{this.address=i.trim()}),n.inputEl.addEventListener("keydown",i=>a(this,null,function*(){i.key==="Enter"&&this.address!==" "&&(i.preventDefault(),yield this.submitForm())})),n.inputEl.style.width="100%",window.setTimeout(()=>{let i=document.querySelector(".setting-item-info");i&&i.remove(),n.inputEl.focus()},10)}),e.createDiv("modal-button-container",n=>{n.createEl("button",{attr:{type:"button"},text:"Never mind"}).addEventListener("click",()=>this.close()),n.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:"Add Theme"})}),e.addEventListener("submit",n=>a(this,null,function*(){n.preventDefault(),this.address!==""&&(yield this.submitForm())}))})}onClose(){return a(this,null,function*(){this.openSettingsTabAfterwards&&(yield this.plugin.app.setting.open(),yield this.plugin.app.setting.openTabById("obsidian42-brat"))})}};var Z=class extends v.PluginSettingTab{constructor(e,n){super(e,n);this.plugin=n}display(){let{containerEl:e}=this;e.empty(),e.createEl("h2",{text:this.plugin.appName}),new v.Setting(e).setName("Auto-update plugins at startup").setDesc("If enabled all beta plugins will be checked for updates each time Obsidian starts. Note: this does not update frozen version plugins.").addToggle(i=>{i.setValue(this.plugin.settings.updateAtStartup),i.onChange(o=>a(this,null,function*(){this.plugin.settings.updateAtStartup=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Auto-update themes at startup").setDesc("If enabled all beta themes will be checked for updates each time Obsidian starts.").addToggle(i=>{i.setValue(this.plugin.settings.updateThemesAtStartup),i.onChange(o=>a(this,null,function*(){this.plugin.settings.updateThemesAtStartup=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Ribbon Button").setDesc("Toggle ribbon button off and on.").addToggle(i=>{i.setValue(this.plugin.settings.ribbonIconEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.ribbonIconEnabled=o,this.plugin.settings.ribbonIconEnabled===!1?this.plugin.ribbonIcon.remove():this.plugin.showRibbonButton(),yield this.plugin.saveSettings()}))}),e.createEl("hr"),e.createEl("h2",{text:"Beta Plugin List"}),e.createEl("div",{text:'The following is a list of beta plugins added via the command palette "Add a beta plugin for testing" or "Add a beta plugin with frozen version for testing". A frozen version is a specific release of a plugin based on its releease tag. '}),e.createEl("p"),e.createEl("div",{text:"Click the x button next to a plugin to remove it from the list."}),e.createEl("p"),e.createEl("span").createEl("b",{text:"Note: "}),e.createSpan({text:"This does not delete the plugin, this should be done from the Community Plugins tab in Settings."}),new v.Setting(e).addButton(i=>{i.setButtonText("Add Beta plugin"),i.onClick(()=>a(this,null,function*(){this.plugin.app.setting.close(),yield this.plugin.betaPlugins.displayAddNewPluginModal(!0,!1)}))});let n=new Set(this.plugin.settings.pluginSubListFrozenVersion.map(i=>i.repo));for(let i of this.plugin.settings.pluginList)n.has(i)||new v.Setting(e).setName(i).addButton(o=>{o.setIcon("cross"),o.setTooltip("Delete this beta plugin"),o.onClick(()=>a(this,null,function*(){o.buttonEl.textContent===""?o.setButtonText("Click once more to confirm removal"):(o.buttonEl.parentElement.parentElement.remove(),yield this.plugin.betaPlugins.deletePlugin(i))}))});new v.Setting(e).addButton(i=>{i.setButtonText("Add Beta plugin with frozen version"),i.onClick(()=>a(this,null,function*(){this.plugin.app.setting.close(),yield this.plugin.betaPlugins.displayAddNewPluginModal(!0,!0)}))});for(let i of this.plugin.settings.pluginSubListFrozenVersion)new v.Setting(e).setName(`${i.repo} (version ${i.version})`).addButton(o=>{o.setIcon("cross"),o.setTooltip("Delete this beta plugin"),o.onClick(()=>a(this,null,function*(){o.buttonEl.textContent===""?o.setButtonText("Click once more to confirm removal"):(o.buttonEl.parentElement.parentElement.remove(),yield this.plugin.betaPlugins.deletePlugin(i.repo))}))});e.createEl("hr"),e.createEl("h2",{text:"Beta Themes List"}),new v.Setting(e).addButton(i=>{i.setButtonText("Add Beta Theme"),i.onClick(()=>a(this,null,function*(){this.plugin.app.setting.close(),new C(this.plugin).open()}))});for(let i of this.plugin.settings.themesList)new v.Setting(e).setName(i.repo).addButton(o=>{o.setIcon("cross"),o.setTooltip("Delete this beta theme"),o.onClick(()=>a(this,null,function*(){o.buttonEl.textContent===""?o.setButtonText("Click once more to confirm removal"):(o.buttonEl.parentElement.parentElement.remove(),yield Ne(this.plugin,i.repo))}))});e.createEl("hr"),e.createEl("h2",{text:"Monitoring"}),new v.Setting(e).setName("Enable Notifications").setDesc("BRAT will provide popup notifications for its various activities. Turn this off means no notifications from BRAT.").addToggle(i=>{i.setValue(this.plugin.settings.notificationsEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.notificationsEnabled=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Enable Logging").setDesc("Plugin updates will be logged to a file in the log file.").addToggle(i=>{i.setValue(this.plugin.settings.loggingEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.loggingEnabled=o,yield this.plugin.saveSettings()}))}),new v.Setting(this.containerEl).setName("BRAT Log File Location").setDesc("Logs will be saved to this file. Don't add .md to the file name.").addSearch(i=>{i.setPlaceholder("Example: BRAT-log").setValue(this.plugin.settings.loggingPath).onChange(o=>a(this,null,function*(){this.plugin.settings.loggingPath=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Enable Verbose Logging").setDesc("Get a lot more information in the log.").addToggle(i=>{i.setValue(this.plugin.settings.loggingVerboseEnabled),i.onChange(o=>a(this,null,function*(){this.plugin.settings.loggingVerboseEnabled=o,yield this.plugin.saveSettings()}))}),new v.Setting(e).setName("Debugging Mode").setDesc("Atomic Bomb level console logging. Can be used for troubleshoting and development.").addToggle(i=>{i.setValue(this.plugin.settings.debuggingMode),i.onChange(o=>a(this,null,function*(){this.plugin.settings.debuggingMode=o,yield this.plugin.saveSettings()}))})}};var L=require("obsidian");var B=class extends L.Modal{constructor(e,n,i=!1,o=!1){super(e.app);this.plugin=e,this.betaPlugins=n,this.address="",this.openSettingsTabAfterwards=i,this.useFrozenVersion=o,this.version=""}submitForm(){return a(this,null,function*(){if(this.address==="")return;let e=this.address.replace("https://github.com/","");if(yield be(this.plugin,e)){m(this.plugin,"This plugin is already in the list for beta testing",10);return}(yield this.betaPlugins.addPlugin(e,!1,!1,!1,this.version))&&this.close()})}onOpen(){this.contentEl.createEl("h4",{text:"Github repository for beta plugin:"}),this.contentEl.createEl("form",{},e=>{new L.Setting(e).addText(n=>{n.setPlaceholder("Repository (example: https://github.com/GitubUserName/repository-name)"),n.onChange(i=>{this.address=i.trim()}),n.inputEl.addEventListener("keydown",i=>a(this,null,function*(){i.key==="Enter"&&this.address!==" "&&(this.useFrozenVersion&&this.version!==""||!this.useFrozenVersion)&&(i.preventDefault(),yield this.submitForm())})),n.inputEl.style.width="100%",window.setTimeout(()=>{let i=document.querySelector(".setting-item-info");i&&i.remove(),n.inputEl.focus()},10)}),this.useFrozenVersion&&new L.Setting(e).addText(n=>{n.setPlaceholder("Specify the release version tag (example: 1.0.0)"),n.onChange(i=>{this.version=i.trim()}),n.inputEl.style.width="100%",window.setTimeout(()=>{let i=document.querySelector(".setting-item-info");i&&i.remove()},10)}),e.createDiv("modal-button-container",n=>{n.createEl("button",{attr:{type:"button"},text:"Never mind"}).addEventListener("click",()=>this.close()),n.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:"Add Plugin"})}),e.addEventListener("submit",n=>a(this,null,function*(){n.preventDefault(),this.address!==""&&(this.useFrozenVersion&&this.version!==""||!this.useFrozenVersion)&&(yield this.submitForm())}))})}onClose(){return a(this,null,function*(){this.openSettingsTabAfterwards&&(yield this.plugin.app.setting.open(),yield this.plugin.app.setting.openTabById("obsidian42-brat"))})}};var A=require("obsidian");var D=class{constructor(t){this.plugin=t}displayAddNewPluginModal(t=!1,e=!1){return a(this,null,function*(){new B(this.plugin,this,t,e).open()})}validateRepository(t,e=!1,n=!1){return a(this,null,function*(){let o=yield me(t,!e,this.plugin.settings.debuggingMode);return o?"id"in o?"version"in o?o:(n&&m(this.plugin,`${t} The version attribute for the release is missing from the manifest file`,15),null):(n&&m(this.plugin,`${t} The plugin id attribute for the release is missing from the manifest file`,15),null):(n&&m(this.plugin,`${t} This does not seem to be an obsidian plugin, as there is no manifest.json file.`,15),null)})}getAllReleaseFiles(t,e,n,i=""){return a(this,null,function*(){let o=i===""?e.version:i,r=n||i!=="";return{mainJs:yield Y(t,o,"main.js",this.plugin.settings.debuggingMode),manifest:r?yield Y(t,o,"manifest.json",this.plugin.settings.debuggingMode):"",styles:yield Y(t,o,"styles.css",this.plugin.settings.debuggingMode)}})}writeReleaseFilesToPluginFolder(t,e){return a(this,null,function*(){let n=(0,A.normalizePath)(this.plugin.app.vault.configDir+"/plugins/"+t)+"/",i=this.plugin.app.vault.adapter;((yield i.exists(n))===!1||!(yield i.exists(n+"manifest.json")))&&(yield i.mkdir(n)),yield i.write(n+"main.js",e.mainJs),yield i.write(n+"manifest.json",e.manifest),e.styles&&(yield i.write(n+"styles.css",e.styles))})}addPlugin(t,e=!1,n=!1,i=!1,o=""){return a(this,null,function*(){var h;let l=yield this.validateRepository(t,!0,!1),g=!!l;if(g===!1&&(l=yield this.validateRepository(t,!1,!0)),l===null){let d=`${t} diff --git a/.obsidian/plugins/obsidian42-brat/manifest.json b/.obsidian/plugins/obsidian42-brat/manifest.json index fd44f6f7..cb329e74 100644 --- a/.obsidian/plugins/obsidian42-brat/manifest.json +++ b/.obsidian/plugins/obsidian42-brat/manifest.json @@ -1,8 +1,8 @@ { "id": "obsidian42-brat", "name": "Obsidian42 - BRAT", - "version": "0.6.35", - "minAppVersion": "0.15.9", + "version": "0.6.36", + "minAppVersion": "1.0.0", "description": "Easily install a beta version of a plugin for testing.", "author": "TfTHacker", "authorUrl": "https://github.com/TfTHacker/obsidian42-brat", diff --git a/.obsidian/plugins/podnotes/data.json b/.obsidian/plugins/podnotes/data.json index 6f9d483e..2d50f8a9 100644 --- a/.obsidian/plugins/podnotes/data.json +++ b/.obsidian/plugins/podnotes/data.json @@ -250,6 +250,16 @@ "shouldEpisodeRemoveAfterPlay": true, "shouldRepeat": false, "episodes": [ + { + "title": "'The Run-Up': The Stacey Abrams Playbook", + "streamUrl": "https://dts.podtrac.com/redirect.mp3/chrt.fm/track/8DB4DB/pdst.fm/e/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/c43e2889-a20a-4166-b570-2f8f8ff555e7/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=c43e2889-a20a-4166-b570-2f8f8ff555e7&feed=54nAGcIl", + "url": "https://www.nytimes.com/2022/10/13/podcasts/run-up-stacey-abrams-georgia.html", + "description": "

When Georgia flipped blue in the 2020 election, it gave Democrats new hope for the future. Credit for that success goes to Stacey Abrams and the playbook she developed for the state. It cemented her role as a national celebrity, in politics and pop culture. But, unsurprisingly, that celebrity has also made her a target of Republicans, who say she’s a losing candidate. On today’s episode: the Stacey Abrams playbook, and why the Georgia governor’s race means more to Democrats than a single elected office.

The Run-Up” is a new politics podcast from The New York Times. Leading up to the 2022 midterms, we’ll be sharing the latest episode here every Saturday. If you want to hear episodes when they first drop on Thursdays, follow “The Run-Up” wherever you get your podcasts, including on Apple, Spotify, Google, Stitcher and Amazon Music.

\n", + "podcastName": "The Daily", + "artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts115/v4/1c/ac/04/1cac0421-4483-ff09-4f80-19710d9feda4/mza_12421371692158516891.jpeg/100x100bb.jpg", + "episodeDate": "2022-10-15T10:00:00.000Z", + "feedUrl": "https://feeds.simplecast.com/54nAGcIl" + }, { "title": "Florida After Hurricane Ian", "streamUrl": "https://dts.podtrac.com/redirect.mp3/chrt.fm/track/8DB4DB/pdst.fm/e/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/2f1eb124-5655-40cc-a59a-c5e22a568e04/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=2f1eb124-5655-40cc-a59a-c5e22a568e04&feed=54nAGcIl", @@ -374,14 +384,14 @@ "skipBackwardLength": 15, "skipForwardLength": 15, "currentEpisode": { - "title": "'The Run-Up': The Stacey Abrams Playbook", - "streamUrl": "https://dts.podtrac.com/redirect.mp3/chrt.fm/track/8DB4DB/pdst.fm/e/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/c43e2889-a20a-4166-b570-2f8f8ff555e7/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=c43e2889-a20a-4166-b570-2f8f8ff555e7&feed=54nAGcIl", - "url": "https://www.nytimes.com/2022/10/13/podcasts/run-up-stacey-abrams-georgia.html", - "description": "

When Georgia flipped blue in the 2020 election, it gave Democrats new hope for the future. Credit for that success goes to Stacey Abrams and the playbook she developed for the state. It cemented her role as a national celebrity, in politics and pop culture. But, unsurprisingly, that celebrity has also made her a target of Republicans, who say she’s a losing candidate. On today’s episode: the Stacey Abrams playbook, and why the Georgia governor’s race means more to Democrats than a single elected office.

The Run-Up” is a new politics podcast from The New York Times. Leading up to the 2022 midterms, we’ll be sharing the latest episode here every Saturday. If you want to hear episodes when they first drop on Thursdays, follow “The Run-Up” wherever you get your podcasts, including on Apple, Spotify, Google, Stitcher and Amazon Music.

\n", - "podcastName": "The Daily", - "artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts115/v4/1c/ac/04/1cac0421-4483-ff09-4f80-19710d9feda4/mza_12421371692158516891.jpeg/100x100bb.jpg", - "episodeDate": "2022-10-15T10:00:00.000Z", - "feedUrl": "https://feeds.simplecast.com/54nAGcIl" + "title": "MARK TILDESLEY - Production Designer", + "streamUrl": "https://traffic.libsyn.com/secure/teamdeakins/S2-8_Mark_Tildesley-Camtec.mp3?dest-id=2018942", + "url": "https://teamdeakins.libsyn.com/season-2-episode-8-mark-tildesley-production-designer", + "description": "

Season 2 - Episode 8

Team Deakins is so pleased to welcome the fabulous production designer Mark Tildesley (NO TIME TO DIE, PHANTOM THREAD, SUNSHINE) to the podcast for a delightful conversation. Mark unpacks the role of the production designer, and delves into how he works with hyper visual directors like Danny Boyle, and more contemplative, internal directors like Michael Winterbottom. He also sheds some light on how the role of the production designer differs on a small, personal movie compared to a mega blockbuster franchise like James Bond. This is a delightful conversation that drills down on the real world nuts and bolts of filmmaking. Don’t miss it!

", + "podcastName": "Team Deakins", + "artworkUrl": "https://ssl-static.libsyn.com/p/assets/f/f/a/9/ffa908ea24d3c672/TeamDeakins_PodcastCover_Art_FA_1400x1400.jpg", + "episodeDate": "2022-10-26T11:00:00.000Z", + "feedUrl": "https://teamdeakins.libsyn.com/rss" }, "timestamp": { "template": "- {{linktime}} " diff --git a/.obsidian/plugins/templater-obsidian/main.js b/.obsidian/plugins/templater-obsidian/main.js index d7c5a176..96607999 100644 --- a/.obsidian/plugins/templater-obsidian/main.js +++ b/.obsidian/plugins/templater-obsidian/main.js @@ -2580,7 +2580,8 @@ var InternalModuleFile = class extends InternalModule { } generate_exists() { return (filename) => __async(this, null, function* () { - return yield app.vault.exists(filename); + const path = (0, import_obsidian8.normalizePath)(filename); + return yield app.vault.exists(path); }); } generate_find_tfile() { @@ -3992,7 +3993,11 @@ var Templater = class { } yield templater.write_template_to_file(template_file, file); } else { - yield templater.overwrite_file_commands(file); + if (file.stat.size <= 1e4) { + yield templater.overwrite_file_commands(file); + } else { + console.log(`Templater skipped parsing ${file.path} because file size exceeds 10000`); + } } }); } @@ -4184,6 +4189,10 @@ var CursorJumper = class { yield app.vault.modify(active_file, new_content); this.set_cursor_location(positions); } + if (app.vault.getConfig("vimMode")) { + const cm = active_view.editor.cm.cm; + window.CodeMirrorAdapter.Vim.handleKey(cm, "i", "mapping"); + } }); } get_editor_position_from_index(content, index) { @@ -4248,7 +4257,7 @@ var CursorJumper = class { var import_obsidian16 = __toModule(require("obsidian")); // toml:/home/runner/work/Templater/Templater/docs/documentation.toml -var tp = { config: { name: "config", description: "This module exposes Templater's running configuration.\n\nThis is mostly useful when writing scripts requiring some context information.\n", functions: { template_file: { name: "template_file", description: "The `TFile` object representing the template file.", definition: "tp.file.template_file" }, target_file: { name: "target_file", description: "The `TFile` object representing the target file where the template will be inserted.", definition: "tp.config.target_file" }, run_mode: { name: "run_mode", description: "The `RunMode`, representing the way Templater was launched (Create new from template, Append to active file, ...)", definition: "tp.config.run_mode" }, active_file: { name: "active_file", description: "The active file (if existing) when launching Templater.", definition: "tp.config.active_file?" } } }, date: { name: "date", description: "This module contains every internal function related to dates.", functions: { now: { name: "now", description: "Retrieves the date.", definition: 'tp.date.now(format: string = "YYYY-MM-DD", offset?: number\u23AEstring, reference?: string, reference_format?: string)', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" }, offset: { name: "offset", description: "Offset for the day, e.g. set this to `-7` to get last week's date. You can also specify the offset as a string using the ISO 8601 format" }, reference: { name: "reference", description: "The date referential, e.g. set this to the note's title" }, reference_format: { name: "reference_format", description: "The date reference format." } } }, tomorrow: { name: "tomorrow", description: "Retrieves tomorrow's date.", definition: 'tp.date.tomorrow(format: string = "YYYY-MM-DD")', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" } } }, yesterday: { name: "yesterday", description: "Retrieves yesterday's date.", definition: 'tp.date.yesterday(format: string = "YYYY-MM-DD")', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" } } }, weekday: { name: "weekday", description: "", definition: 'tp.date.weekday(format: string = "YYYY-MM-DD", weekday: number, reference?: string, reference_format?: string)', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" }, weekday: { name: "weekday", description: "Week day number. If the locale assigns Monday as the first day of the week, `0` will be Monday, `-7` will be last week's day." }, reference: { name: "reference", description: "The date referential, e.g. set this to the note's title" }, reference_format: { name: "reference_format", description: "The date reference format." } } } } }, file: { name: "file", description: "This module contains every internal function related to files.", functions: { content: { name: "content", description: "Retrieves the file's content", definition: "tp.file.content" }, create_new: { name: "create_new", description: "Creates a new file using a specified template or with a specified content.", definition: "tp.file.create_new(template: TFile \u23AE string, filename?: string, open_new: boolean = false, folder?: TFolder)", args: { template: { name: "template", description: "Either the template used for the new file content, or the file content as a string. If it is the template to use, you retrieve it with `tp.file.find_tfile(TEMPLATENAME)`" }, filename: { name: "filename", description: 'The filename of the new file, defaults to "Untitled".' }, open_new: { name: "open_new", description: "Whether to open or not the newly created file. Warning: if you use this option, since commands are executed asynchronously, the file can be opened first and then other commands are appended to that new file and not the previous file." }, folder: { name: "folder", description: 'The folder to put the new file in, defaults to obsidian\'s default location. If you want the file to appear in a different folder, specify it with `app.vault.getAbstractFileByPath("FOLDERNAME")`' } } }, creation_date: { name: "creation_date", description: "Retrieves the file's creation date.", definition: 'tp.file.creation_date(format: string = "YYYY-MM-DD HH:mm")', args: { format: { name: "format", description: "Format for the date, refer to format reference" } } }, cursor: { name: "cursor", description: "Sets the cursor to this location after the template has been inserted. \n\nYou can navigate between the different tp.file.cursor using the configured hotkey in obsidian settings.\n", definition: "tp.file.cursor(order?: number)", args: { order: { name: "order", description: "The order of the different cursors jump, e.g. it will jump from 1 to 2 to 3, and so on.\nIf you specify multiple tp.file.cursor with the same order, the editor will switch to multi-cursor.\n" } } }, cursor_append: { name: "cursor_append", description: "Appends some content after the active cursor in the file.", definition: "tp.file.cursor_append(content: string)", args: { content: { name: "content", description: "The content to append after the active cursor" } } }, exists: { name: "exists", description: "Checks if a file exists or not. Returns a true / false boolean.", definition: "tp.file.exists(filename: string)", args: { filename: { name: "filename", description: "The filename of the file we want to check existence, e.g. MyFile." } } }, find_tfile: { name: "find_tfile", description: "Search for a file and returns its `TFile` instance", definition: "tp.file.find_tfile(filename: string)", args: { filename: { name: "filename", description: "The filename we want to search and resolve as a `TFile`" } } }, folder: { name: "folder", description: "Retrieves the file's folder name.", definition: "tp.file.folder(relative: boolean = false)", args: { relative: { name: "relative", description: "If set to true, appends the vault relative path to the folder name." } } }, include: { name: "include", description: "Includes the file's link content. Templates in the included content will be resolved.", definition: "tp.file.include(include_link: string \u23AE TFile)", args: { include_link: { name: "include_link", description: "The link to the file to include, e.g. [[MyFile]], or a TFile object. Also supports sections or blocks inclusions, e.g. [[MyFile#Section1]]" } } }, last_modified_date: { name: "last_modified_date", description: "Retrieves the file's last modification date.", definition: 'tp.file.last_modified_date(format: string = "YYYY-MM-DD HH:mm")', args: { format: { name: "format", description: "Format for the date, refer to format reference." } } }, move: { name: "functions.move", description: "Moves the file to the desired vault location.", definition: "tp.file.move(new_path: string, file_to_move?: TFile)", args: { new_path: { name: "new_path", description: "The new vault relative path of the file, without the file extension. Note: the new path needs to include the folder and the filename, e.g. /Notes/MyNote" } } }, path: { name: "path", description: "Retrieves the file's absolute path on the system.", definition: "tp.file.path(relative: boolean = false)", args: { relative: { name: "relative", description: "If set to true, only retrieves the vault's relative path." } } }, rename: { name: "rename", description: "Renames the file (keeps the same file extension).", definition: "tp.file.rename(new_title: string)", args: { new_title: { name: "new_title", description: "The new file title." } } }, selection: { name: "selection", description: "Retrieves the active file's text selection.", definition: "tp.file.selection()" }, tags: { name: "tags", description: "Retrieves the file's tags (array of string)", definition: "tp.file.tags" }, title: { name: "title", definition: "tp.file.title", description: "Retrieves the file's title." } } }, frontmatter: { name: "frontmatter", description: "This modules exposes all the frontmatter variables of a file as variables." }, obsidian: { name: "obsidian", description: "This module exposes all the functions and classes from the obsidian API." }, system: { name: "system", description: "This module contains system related functions.", functions: { clipboard: { name: "clipboard", description: "Retrieves the clipboard's content", definition: "tp.system.clipboard()" }, prompt: { name: "prompt", description: "Spawns a prompt modal and returns the user's input.", definition: "tp.system.prompt(prompt_text?: string, default_value?: string, throw_on_cancel: boolean = false, multiline?: boolean = false)", args: { prompt_text: { name: "prompt_text", description: "Text placed above the input field" }, default_value: { name: "default_value", description: "A default value for the input field" }, throw_on_cancel: { name: "throw_on_cancel", description: "Throws an error if the prompt is canceled, instead of returning a `null` value" }, multiline: { name: "multiline", description: "If set to true, the input field will be a multiline textarea" } } }, suggester: { name: "suggester", description: "Spawns a suggester prompt and returns the user's chosen item.", definition: 'tp.system.suggester(text_items: string[] \u23AE ((item: T) => string), items: T[], throw_on_cancel: boolean = false, placeholder: string = "", limit?: number = undefined)', args: { text_items: { name: "text_items", description: "Array of strings representing the text that will be displayed for each item in the suggester prompt. This can also be a function that maps an item to its text representation." }, items: { name: "items", description: "Array containing the values of each item in the correct order." }, throw_on_cancel: { name: "throw_on_cancel", description: "Throws an error if the prompt is canceled, instead of returning a `null` value" }, placeholder: { name: "placeholder", description: "Placeholder string of the prompt" }, limit: { name: "limit", description: "Limit the number of items rendered at once (useful to improve performance when displaying large lists)" } } } } }, web: { name: "web", description: "This modules contains every internal function related to the web (making web requests).", functions: { daily_quote: { name: "daily_quote", description: "Retrieves and parses the daily quote from the API https://api.quotable.io", definition: "tp.web.daily_quote()" }, random_picture: { name: "random_picture", description: "Gets a random image from https://unsplash.com/", definition: "tp.web.random_picture(size?: string, query?: string, include_size?: boolean)", args: { size: { name: "size", description: "Image size in the format `x`" }, query: { name: "query", description: "Limits selection to photos matching a search term. Multiple search terms can be passed separated by a comma `,`" }, include_dimensions: { name: "include_size", description: "Optional argument to include the specified size in the image link markdown. Defaults to false" } } } } } }; +var tp = { config: { name: "config", description: "This module exposes Templater's running configuration.\n\nThis is mostly useful when writing scripts requiring some context information.\n", functions: { template_file: { name: "template_file", description: "The `TFile` object representing the template file.", definition: "tp.file.template_file" }, target_file: { name: "target_file", description: "The `TFile` object representing the target file where the template will be inserted.", definition: "tp.config.target_file" }, run_mode: { name: "run_mode", description: "The `RunMode`, representing the way Templater was launched (Create new from template, Append to active file, ...)", definition: "tp.config.run_mode" }, active_file: { name: "active_file", description: "The active file (if existing) when launching Templater.", definition: "tp.config.active_file?" } } }, date: { name: "date", description: "This module contains every internal function related to dates.", functions: { now: { name: "now", description: "Retrieves the date.", definition: 'tp.date.now(format: string = "YYYY-MM-DD", offset?: number\u23AEstring, reference?: string, reference_format?: string)', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" }, offset: { name: "offset", description: "Offset for the day, e.g. set this to `-7` to get last week's date. You can also specify the offset as a string using the ISO 8601 format" }, reference: { name: "reference", description: "The date referential, e.g. set this to the note's title" }, reference_format: { name: "reference_format", description: "The date reference format." } } }, tomorrow: { name: "tomorrow", description: "Retrieves tomorrow's date.", definition: 'tp.date.tomorrow(format: string = "YYYY-MM-DD")', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" } } }, yesterday: { name: "yesterday", description: "Retrieves yesterday's date.", definition: 'tp.date.yesterday(format: string = "YYYY-MM-DD")', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" } } }, weekday: { name: "weekday", description: "", definition: 'tp.date.weekday(format: string = "YYYY-MM-DD", weekday: number, reference?: string, reference_format?: string)', args: { format: { name: "format", description: "Format for the date, refer to [format reference](https://momentjs.com/docs/#/displaying/format/)" }, weekday: { name: "weekday", description: "Week day number. If the locale assigns Monday as the first day of the week, `0` will be Monday, `-7` will be last week's day." }, reference: { name: "reference", description: "The date referential, e.g. set this to the note's title" }, reference_format: { name: "reference_format", description: "The date reference format." } } } } }, file: { name: "file", description: "This module contains every internal function related to files.", functions: { content: { name: "content", description: "Retrieves the file's content", definition: "tp.file.content" }, create_new: { name: "create_new", description: "Creates a new file using a specified template or with a specified content.", definition: "tp.file.create_new(template: TFile \u23AE string, filename?: string, open_new: boolean = false, folder?: TFolder)", args: { template: { name: "template", description: "Either the template used for the new file content, or the file content as a string. If it is the template to use, you retrieve it with `tp.file.find_tfile(TEMPLATENAME)`" }, filename: { name: "filename", description: 'The filename of the new file, defaults to "Untitled".' }, open_new: { name: "open_new", description: "Whether to open or not the newly created file. Warning: if you use this option, since commands are executed asynchronously, the file can be opened first and then other commands are appended to that new file and not the previous file." }, folder: { name: "folder", description: 'The folder to put the new file in, defaults to obsidian\'s default location. If you want the file to appear in a different folder, specify it with `app.vault.getAbstractFileByPath("FOLDERNAME")`' } } }, creation_date: { name: "creation_date", description: "Retrieves the file's creation date.", definition: 'tp.file.creation_date(format: string = "YYYY-MM-DD HH:mm")', args: { format: { name: "format", description: "Format for the date, refer to format reference" } } }, cursor: { name: "cursor", description: "Sets the cursor to this location after the template has been inserted. \n\nYou can navigate between the different tp.file.cursor using the configured hotkey in obsidian settings.\n", definition: "tp.file.cursor(order?: number)", args: { order: { name: "order", description: "The order of the different cursors jump, e.g. it will jump from 1 to 2 to 3, and so on.\nIf you specify multiple tp.file.cursor with the same order, the editor will switch to multi-cursor.\n" } } }, cursor_append: { name: "cursor_append", description: "Appends some content after the active cursor in the file.", definition: "tp.file.cursor_append(content: string)", args: { content: { name: "content", description: "The content to append after the active cursor" } } }, exists: { name: "exists", description: "The filename of the file we want to check existence. The fullpath to the file, relative to the Vault and containing the extension, must be provided. e.g. MyFolder/SubFolder/MyFile.", definition: "tp.file.exists(filename: string)", args: { filename: { name: "filename", description: "The filename of the file we want to check existence, e.g. MyFile." } } }, find_tfile: { name: "find_tfile", description: "Search for a file and returns its `TFile` instance", definition: "tp.file.find_tfile(filename: string)", args: { filename: { name: "filename", description: "The filename we want to search and resolve as a `TFile`" } } }, folder: { name: "folder", description: "Retrieves the file's folder name.", definition: "tp.file.folder(relative: boolean = false)", args: { relative: { name: "relative", description: "If set to true, appends the vault relative path to the folder name." } } }, include: { name: "include", description: "Includes the file's link content. Templates in the included content will be resolved.", definition: "tp.file.include(include_link: string \u23AE TFile)", args: { include_link: { name: "include_link", description: "The link to the file to include, e.g. [[MyFile]], or a TFile object. Also supports sections or blocks inclusions, e.g. [[MyFile#Section1]]" } } }, last_modified_date: { name: "last_modified_date", description: "Retrieves the file's last modification date.", definition: 'tp.file.last_modified_date(format: string = "YYYY-MM-DD HH:mm")', args: { format: { name: "format", description: "Format for the date, refer to format reference." } } }, move: { name: "functions.move", description: "Moves the file to the desired vault location.", definition: "tp.file.move(new_path: string, file_to_move?: TFile)", args: { new_path: { name: "new_path", description: "The new vault relative path of the file, without the file extension. Note: the new path needs to include the folder and the filename, e.g. /Notes/MyNote" } } }, path: { name: "path", description: "Retrieves the file's absolute path on the system.", definition: "tp.file.path(relative: boolean = false)", args: { relative: { name: "relative", description: "If set to true, only retrieves the vault's relative path." } } }, rename: { name: "rename", description: "Renames the file (keeps the same file extension).", definition: "tp.file.rename(new_title: string)", args: { new_title: { name: "new_title", description: "The new file title." } } }, selection: { name: "selection", description: "Retrieves the active file's text selection.", definition: "tp.file.selection()" }, tags: { name: "tags", description: "Retrieves the file's tags (array of string)", definition: "tp.file.tags" }, title: { name: "title", definition: "tp.file.title", description: "Retrieves the file's title." } } }, frontmatter: { name: "frontmatter", description: "This modules exposes all the frontmatter variables of a file as variables." }, obsidian: { name: "obsidian", description: "This module exposes all the functions and classes from the obsidian API." }, system: { name: "system", description: "This module contains system related functions.", functions: { clipboard: { name: "clipboard", description: "Retrieves the clipboard's content", definition: "tp.system.clipboard()" }, prompt: { name: "prompt", description: "Spawns a prompt modal and returns the user's input.", definition: "tp.system.prompt(prompt_text?: string, default_value?: string, throw_on_cancel: boolean = false, multiline?: boolean = false)", args: { prompt_text: { name: "prompt_text", description: "Text placed above the input field" }, default_value: { name: "default_value", description: "A default value for the input field" }, throw_on_cancel: { name: "throw_on_cancel", description: "Throws an error if the prompt is canceled, instead of returning a `null` value" }, multiline: { name: "multiline", description: "If set to true, the input field will be a multiline textarea" } } }, suggester: { name: "suggester", description: "Spawns a suggester prompt and returns the user's chosen item.", definition: 'tp.system.suggester(text_items: string[] \u23AE ((item: T) => string), items: T[], throw_on_cancel: boolean = false, placeholder: string = "", limit?: number = undefined)', args: { text_items: { name: "text_items", description: "Array of strings representing the text that will be displayed for each item in the suggester prompt. This can also be a function that maps an item to its text representation." }, items: { name: "items", description: "Array containing the values of each item in the correct order." }, throw_on_cancel: { name: "throw_on_cancel", description: "Throws an error if the prompt is canceled, instead of returning a `null` value" }, placeholder: { name: "placeholder", description: "Placeholder string of the prompt" }, limit: { name: "limit", description: "Limit the number of items rendered at once (useful to improve performance when displaying large lists)" } } } } }, web: { name: "web", description: "This modules contains every internal function related to the web (making web requests).", functions: { daily_quote: { name: "daily_quote", description: "Retrieves and parses the daily quote from the API https://api.quotable.io", definition: "tp.web.daily_quote()" }, random_picture: { name: "random_picture", description: "Gets a random image from https://unsplash.com/", definition: "tp.web.random_picture(size?: string, query?: string, include_size?: boolean)", args: { size: { name: "size", description: "Image size in the format `x`" }, query: { name: "query", description: "Limits selection to photos matching a search term. Multiple search terms can be passed separated by a comma `,`" }, include_dimensions: { name: "include_size", description: "Optional argument to include the specified size in the image link markdown. Defaults to false" } } } } } }; var documentation_default = { tp }; // src/editor/TpDocumentation.ts @@ -5640,6 +5649,7 @@ var Autocomplete = class extends import_obsidian16.EditorSuggest { }); // src/editor/Editor.ts +var import_language = __toModule(require("@codemirror/language")); var TP_CMD_TOKEN_CLASS = "templater-command"; var TP_INLINE_CLASS = "templater-inline"; var TP_OPENING_TAG_TOKEN_CLASS = "templater-opening-tag"; @@ -5655,7 +5665,10 @@ var Editor2 = class { setup() { return __async(this, null, function* () { yield this.registerCodeMirrorMode(); - this.plugin.registerEditorSuggest(new Autocomplete(app)); + this.plugin.registerEditorSuggest(new Autocomplete()); + if (import_obsidian17.Platform.isDesktopApp && this.plugin.settings.syntax_highlighting) { + this.plugin.registerEditorExtension(import_language.StreamLanguage.define(window.CodeMirror.getMode({}, { name: "templater" }))); + } }); } jump_to_next_cursor_location(file = null, auto_jump = false) { diff --git a/.obsidian/plugins/templater-obsidian/manifest.json b/.obsidian/plugins/templater-obsidian/manifest.json index d7f73fd1..3af8d574 100644 --- a/.obsidian/plugins/templater-obsidian/manifest.json +++ b/.obsidian/plugins/templater-obsidian/manifest.json @@ -1,7 +1,7 @@ { "id": "templater-obsidian", "name": "Templater", - "version": "1.14.3", + "version": "1.15.2", "description": "Create and use templates", "minAppVersion": "0.11.13", "author": "SilentVoid", diff --git a/.obsidian/themes/AnuPpuccin/manifest.json b/.obsidian/themes/AnuPpuccin/manifest.json new file mode 100644 index 00000000..d9508b12 --- /dev/null +++ b/.obsidian/themes/AnuPpuccin/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "AnuPpuccin", + "version": "1.1.4", + "minAppVersion": "0.16.0", + "author": "Anubis", + "authorUrl": "https://github.com/AnubisNekhet" +} diff --git a/.obsidian/themes/AnuPpuccin/theme.css b/.obsidian/themes/AnuPpuccin/theme.css new file mode 100644 index 00000000..f3787554 --- /dev/null +++ b/.obsidian/themes/AnuPpuccin/theme.css @@ -0,0 +1,3139 @@ +@charset "UTF-8"; +/* @settings +name: AnuPpuccin +id: anuppuccin-theme-settings +settings: + - + id: anuppuccin-theme-credits-link + title: Source Code + description: View and contribute to the theme at github.com/anubisnekhet/anuppuccin + type: heading + level: 1 + collapsed: true + - + id: anp-colors-section-header + title: Colors + type: heading + level: 1 + collapsed: true + - + id: anuppuccin-theme-light + title: Light theme flavor + description: Select your preferred light mode flavor + type: class-select + allowEmpty: false + default: ctp-latte + options: + - + label: Latte + value: ctp-latte + - + label: Rosé Pine + value: ctp-rosepine-light + - + id: anuppuccin-theme-dark + title: Dark theme flavor + description: Select your preferred dark mode flavor + type: class-select + allowEmpty: false + default: ctp-mocha + options: + - + label: Frappe + value: ctp-frappe + - + label: Macchiato + value: ctp-macchiato + - + label: Mocha + value: ctp-mocha + - + label: Mocha Old + value: ctp-mocha-old + - + id: anuppuccin-accent-toggle + title: Force catppuccin accents + description: Forces catppuccin accents to be utilised instead of default obsidian accent + type: class-toggle + default: true + - + id: anuppuccin-theme-accents + title: Theme accent + description: Select your preferred accent + type: class-select + allowEmpty: false + default: ctp-accent-rosewater + options: + - + label: Rosewater + value: ctp-accent-rosewater + - + label: Flamingo + value: ctp-accent-flamingo + - + label: Pink + value: ctp-accent-pink + - + label: Mauve + value: ctp-accent-mauve + - + label: Red + value: ctp-accent-red + - + label: Maroon + value: ctp-accent-maroon + - + label: Peach + value: ctp-accent-peach + - + label: Yellow + value: ctp-accent-yellow + - + label: Green + value: ctp-accent-green + - + label: Teal + value: ctp-accent-teal + - + label: Sky + value: ctp-accent-sky + - + label: Sapphire + value: ctp-accent-sapphire + - + label: Blue + value: ctp-accent-blue + - + label: Lavender + value: ctp-accent-lavender + - + id: anuppuccin-extended-colorschemes-link + title: Extended colorschemes + description: "Download and use the extended colorschemes snippet if you haven't already! (https://github.com/AnubisNekhet/AnuPpuccin/blob/main/snippets/extended-colorschemes.css)" + type: heading + level: 2 + collapsed: true + - + id: anp-components-section-header + title: Components + type: heading + level: 1 + collapsed: true + - + id: colorful-frame + title: Colorful Frame + type: heading + level: 2 + collapsed: true + - + id: anp-colorful-frame + title: "Toggle colorful frame (WIP)" + type: class-toggle + - + id: anp-colorful-frame-opacity + title: Colorful frame opacity + type: variable-number-slider + default: 1 + min: 0 + max: 1 + step: 0.05 + - + id: anp-colorful-frame-color + title: Custom colorful frame color + type: variable-themed-color + format: "rgb-values" + opacity: false + default-light: '#' + default-dark: '#' + alt-format: + - + id: anp-colorful-frame-color-hsl + format: "hsl-values" + - + id: anp-callout-header + title: Callouts + type: heading + level: 2 + collapsed: true + - + id: anp-callout-toggle + title: Toggle callout styling + type: class-toggle + - + id: anp-callout-select + title: Select callout style + type: class-select + default: anp-callout-default + allowEmpty: false + options: + - + label: Default + value: anp-callout-default + - + label: Sleek + value: anp-callout-sleek + - + label: Block + value: anp-callout-block + - + label: Willemstad + value: anp-callout-willemstad + - + id: anp-callout-normal-toggle + title: Toggle callout styling to non-collapsible callouts + type: class-toggle + - + id: anp-callout-color-toggle + title: Toggle custom callout colors + type: class-toggle + - + id: callout-radius + title: Callout Radius + description: Format is px + type: variable-number + default: 4 + format: px + - + id: anp-callout-fold-position + title: Callout fold position + type: class-toggle + - + id: anp-custom-checkboxes-header + title: Custom checkboxes + type: heading + level: 2 + collapsed: true + - + id: anp-custom-checkboxes + title: Enable custom checkboxes + type: class-toggle + - + id: anp-speech-bubble + title: Enable speech bubbles + type: class-toggle + - + id: anp-editor-header + title: Editor + type: heading + level: 2 + collapsed: true + - + id: anp-editor-font-toggle + title: Enable custom source editor font + type: class-toggle + - + id: anp-editor-font + title: Editor font + type: variable-text + default: Iosevka Comfy Duo + - + id: anp-active-line + title: Active line highlight + type: class-select + allowEmpty: false + default: anp-no-highlight + options: + - + label: None + value: anp-no-highlight + - + label: Highlight + value: anp-current-line + - + label: Highlight + Border + value: anp-current-line-border + - + id: anp-preview-header + title: File preview + type: heading + level: 2 + collapsed: true + - + id: anp-toggle-preview + title: Enable custom preview margins + type: class-toggle + - + id: file-margins + title: File margins + type: variable-number + default: 32 + format: px + - + id: anp-preview-width-pct + title: Preview width + description: In percentage + type: variable-number + default: 80 + format: "%" + - + id: file-line-width + title: Maximum preview width + description: In px + type: variable-number + default: 700 + format: px + - + id: anp-tab-stacked-pane-width + title: Stacked tabs pane width + description: In percentage + type: variable-number + default: 100 + format: "%" + - + id: anp-ui-header + title: General UI + type: heading + level: 2 + collapsed: true + - + id: anp-toggle-metadata + title: Hide metadata + type: class-toggle + - + id: anp-hide-status-bar + title: Hide status bar + type: class-toggle + - + id: anp-tooltip-toggle + title: Disable tooltips + type: class-toggle + - + id: anp-toggle-scrollbars + title: Disable scrollbars + type: class-toggle + - + id: anp-header-header + title: Headers + type: heading + level: 2 + collapsed: true + - + id: anp-header-toggle + title: Toggle to enable custom header + type: class-toggle + - + id: anp-header-font + title: Heading Font + type: variable-text + default: Noto Serif + - + id: anp-header-color-toggle + title: Toggle to enable custom header colors + type: class-toggle + - + id: anp-header-margin-toggle + title: Toggle to enable custom header margin + type: class-toggle + - + id: anp-header-margin-value + title: Header margin value + description: Size unit is px + type: variable-number-slider + min: 0 + max: 30 + step: 2 + default: 20 + format: px + - + id: anp-header-size-value + title: Header font sizes + type: heading + level: 4 + collapsed: false + - + id: h1-size + title: H1 Size + description: Size unit is em + type: variable-number + default: 2 + format: em + - + id: h2-size + title: H2 Size + description: Size unit is em + type: variable-number + default: 1.6 + format: em + - + id: h3-size + title: H3 Size + description: Size unit is em + type: variable-number + default: 1.37 + format: em + - + id: h4-size + title: H4 Size + description: Size unit is em + type: variable-number + default: 1.25 + format: em + - + id: h5-size + title: H5 Size + description: Size unit is em + type: variable-number + default: 1.12 + format: em + - + id: h6-size + title: H6 Size + description: Size unit is em + type: variable-number + default: 1.12 + format: em + - + id: anp-layout-header + title: Layout + type: heading + level: 2 + collapsed: true + - + id: anp-layout-select + title: Layout variant + type: class-select + allowEmpty: false + default: anp-default-layout + options: + - + label: Default + value: anp-default-layout + - + label: Cards + value: anp-card-layout + - + id: anp-disable-borders + title: Disable borders + type: class-toggle + - + id: anp-layout-card + title: Card layout settings + type: heading + level: 3 + collapsed: true + - + id: anp-card-layout-padding + title: Card padding + description: Size unit is px + type: variable-number + default: 10 + format: px + - + id: anp-card-shadows + title: Enable shadows + type: class-toggle + - + id: anp-card-layout-actions + title: Enable card format for actions + type: class-toggle + - + id: anp-card-layout-filebrowser + title: Enable card format for file browser + type: class-toggle + - + id: anp-list-header + title: Lists + type: heading + level: 2 + collapsed: true + - + id: anp-list-toggle + title: Toggle list styling + type: class-toggle + - + id: list-indent + title: List indent + description: Size unit is em + type: variable-number + default: 2 + format: em + - + id: list-spacing + title: List spacing + description: Size unit is em + type: variable-number + default: 0.075 + format: em + - + id: anp-markdown-embed-header + title: Markdown embeds + type: heading + level: 2 + collapsed: true + - + id: anp-embed-toggle + title: Enable custom internal embeds + type: class-toggle + - + id: anp-embed-animated-toggle + title: Enable custom animated internal embeds + type: class-toggle + - + id: anp-misc-element-header + title: Misc. element settings + description: Values in this category may be shifted to their own category in the future + type: heading + level: 2 + collapsed: true + - + id: anp-button-metadata-toggle + title: Enable custom metadata button + type: class-toggle + - + id: anp-floating-header + title: Enable floating vault title + type: class-toggle + - + id: anp-custom-vault-toggle + title: Enable custom vault title + type: class-toggle + - + id: anp-color-transition-toggle + title: Color transition toggle (WIP) + description: "Adds a transition when switching palettes, looks really neat :)" + type: class-toggle + - + id: anp-plugin-header + title: Plugin integrations + type: heading + level: 2 + collapsed: true + - + id: anp-plugin-style-settings + title: Style settings + type: heading + level: 3 + collapsed: true + - + id: anp-plugin-style-settings-header-color + title: Toggle to enable colored headers in style settings menu + type: class-toggle + - + id: anp-rainbow-section-header + title: Rainbow folder + type: heading + level: 2 + collapsed: true + - + id: anp-alt-rainbow-style + title: Rainbow style + type: class-select + allowEmpty: false + default: anp-default-rainbow + options: + - + label: None + value: anp-default-rainbow + - + label: Full + value: anp-full-rainbow-color-toggle + - + label: Simple + value: anp-simple-rainbow-color-toggle + - + id: anp-full-rainbow-folder-settings + title: Full folder theme settings + type: heading + level: 3 + collapsed: true + - + id: anp-rainbow-file-toggle + title: File recolor toggle + desc: Recolors files to match the folders + type: class-toggle + - + id: anp-rainbow-folder-bg-opacity + title: Folder background color opacity + description: Uses decimal + type: variable-number + default: 0.7 + - + id: anp-rainbow-folder-border-opacity + title: Folder border opacity + description: Uses decimal + type: variable-number + default: 1 + - + id: anp-simple-rainbow-folder-settings + title: Simple folder theme settings + type: heading + level: 3 + collapsed: true + - + id: anp-simple-rainbow-title-toggle + title: Toggle to enable title recolor + type: class-toggle + - + id: anp-simple-rainbow-icon-folder-toggle + title: Toggle to enable icon recolor (For icon folder users) + type: class-toggle + - + id: anp-simple-rainbow-indentation-toggle + title: Toggle to enable collpase indent recolor + type: class-toggle + - + id: anp-simple-rainbow-collapse-toggle + title: Toggle to enable collpase indicator + type: class-toggle + - + id: anp-simple-rainbow-icon-toggle + title: Toggle to enable circular file + type: class-toggle + - + id: anp-stacked-tabs-header + title: Stacked Tabs + type: heading + level: 2 + collapsed: true + - + id: anp-stacked-header-width + title: Stacked tabs header width + type: variable-number + default: 40 + format: px + - + id: anp-table-header + title: Tables + type: heading + level: 2 + collapsed: true + - + id: anp-table-toggle + title: Enable table redesign + type: class-toggle + - + id: anp-table-auto + title: Center tables + description: Use anp-table-auto for yaml syntax + type: class-toggle + - + id: anp-table-width + title: Enable custom table width + description: Use anp-table-width for yaml syntax + type: class-toggle + - + id: anp-table-width-pct + title: Custom table width + description: Size unit is in percentage + type: variable-number + default: 100 + format: "%" + - + id: anp-alt-tab-header + title: Tabs + type: heading + level: 2 + collapsed: true + - + id: anp-alt-tab-style + title: Tab style + type: class-select + allowEmpty: false + default: anp-default-tab + options: + - + label: Default + value: anp-default-tab + - + label: Minimalistic + value: anp-mini-tab-toggle + - + label: Safari-style + value: anp-alternate-tab-toggle + - + id: anp-alt-tab-custom-height + title: Custom tab height + type: variable-number + allowEmpty: false + default: 40 + format: px + - + id: anp-mini-tab-header + title: Minimalistic Tab settings + type: heading + level: 3 + collapsed: true + - + id: anp-safari-tab-header + title: Safari-style Tab settings + description: Adapted from github.com/chuckharmston's snippets + type: heading + level: 3 + collapsed: true + - + id: anp-decor-header + title: Text decorations + type: heading + level: 2 + collapsed: true + - + id: anp-decoration-toggle + title: Enable decoration recolors + type: class-toggle + - + id: anp-italic-custom + title: Italic color + type: class-select + allowEmpty: true + default: anp-italic-green + options: + - + label: Rosewater + value: anp-italic-rosewater + - + label: Flamingo + value: anp-italic-flamingo + - + label: Pink + value: anp-italic-pink + - + label: Mauve + value: anp-italic-mauve + - + label: Red + value: anp-italic-red + - + label: Maroon + value: anp-italic-maroon + - + label: Peach + value: anp-italic-peach + - + label: Yellow + value: anp-italic-yellow + - + label: Green + value: anp-italic-green + - + label: Teal + value: anp-italic-teal + - + label: Sky + value: anp-italic-sky + - + label: Sapphire + value: anp-italic-sapphire + - + label: Blue + value: anp-italic-blue + - + label: Lavender + value: anp-italic-lavender + - + id: anp-bold-custom + title: Bold color + type: class-select + allowEmpty: true + default: anp-bold-red + options: + - + label: Rosewater + value: anp-bold-rosewater + - + label: Flamingo + value: anp-bold-flamingo + - + label: Pink + value: anp-bold-pink + - + label: Mauve + value: anp-bold-mauve + - + label: Red + value: anp-bold-red + - + label: Maroon + value: anp-bold-maroon + - + label: Peach + value: anp-bold-peach + - + label: Yellow + value: anp-bold-yellow + - + label: Green + value: anp-bold-green + - + label: Teal + value: anp-bold-teal + - + label: Sky + value: anp-bold-sky + - + label: Sapphire + value: anp-bold-sapphire + - + label: Blue + value: anp-bold-blue + - + label: Lavender + value: anp-bold-lavender + - + id: anp-translucency-header + title: Translucency + type: heading + level: 2 + collapsed: true + - + id: anp-translucent-left + title: Enable translucency styling + type: class-toggle + - + id: anp-translucency-opacity + title: Window opacity + description: In decimal + type: variable-number + default: 0.15 +*/ +/*------------------Defining Colorschemes-------------------*/ +.theme-light, .theme-light.ctp-latte { + --ctp-rosewater: 222, 149, 132; + --ctp-flamingo: 221, 120, 120; + --ctp-pink: 236, 131, 208; + --ctp-mauve: 136, 57, 239; + --ctp-red: 210, 15, 57; + --ctp-maroon: 230, 69, 83; + --ctp-peach: 254, 100, 11; + --ctp-yellow: 228, 147, 32; + --ctp-green: 64, 160, 43; + --ctp-teal: 23, 146, 153; + --ctp-sky: 4, 165, 229; + --ctp-sapphire: 32, 159, 181; + --ctp-blue: 42, 110, 245; + --ctp-lavender: 114, 135, 253; + --ctp-text: 76, 79, 105; + --ctp-subtext1: 92, 95, 119; + --ctp-subtext0: 108, 111, 133; + --ctp-overlay2: 124, 127, 147; + --ctp-overlay1: 140, 143, 161; + --ctp-overlay0: 156, 160, 176; + --ctp-surface2: 172, 176, 190; + --ctp-surface1: 188, 192, 204; + --ctp-surface0: 204, 208, 218; + --ctp-base: 239, 241, 245; + --ctp-mantle: 230, 233, 239; + --ctp-crust: 220, 224, 232; +} + +.theme-light.ctp-rosepine-light { + --ctp-rosewater: 214, 129, 125; + --ctp-flamingo: 214, 129, 125; + --ctp-pink: 144, 122, 169; + --ctp-mauve: 144, 122, 169; + --ctp-red: 180, 99, 122; + --ctp-maroon: 180, 99, 122; + --ctp-peach: 214, 129, 125; + --ctp-yellow: 234, 157, 52; + --ctp-green: 86, 148, 159; + --ctp-teal: 86, 148, 159; + --ctp-sky: 40, 105, 131; + --ctp-sapphire: 40, 105, 131; + --ctp-blue: 40, 105, 131; + --ctp-lavender: 144, 122, 169; + --ctp-text: 87, 82, 121; + --ctp-subtext1: 97, 92, 132; + --ctp-subtext0: 121, 117, 147; + --ctp-overlay2: 128, 124, 153; + --ctp-overlay1: 152, 147, 165; + --ctp-overlay0: 161, 156, 173; + --ctp-surface2: 202, 193, 185; + --ctp-surface1: 209, 201, 194; + --ctp-surface0: 220, 211, 203; + --ctp-crust: 229, 220, 212; + --ctp-mantle: 235, 227, 219; + --ctp-base: 239, 231, 222; +} + +.theme-dark.ctp-frappe { + --ctp-rosewater: 242, 213, 207; + --ctp-flamingo: 238, 190, 190; + --ctp-pink: 244, 184, 228; + --ctp-mauve: 202, 158, 230; + --ctp-red: 231, 130, 132; + --ctp-maroon: 234, 153, 156; + --ctp-peach: 239, 159, 118; + --ctp-yellow: 229, 200, 144; + --ctp-green: 166, 209, 137; + --ctp-teal: 129, 200, 190; + --ctp-sky: 153, 209, 219; + --ctp-sapphire: 133, 193, 220; + --ctp-blue: 140, 170, 238; + --ctp-lavender: 186, 187, 241; + --ctp-text: 198, 206, 239; + --ctp-subtext1: 181, 189, 220; + --ctp-subtext0: 165, 172, 201; + --ctp-overlay2: 148, 155, 183; + --ctp-overlay1: 131, 138, 164; + --ctp-overlay0: 115, 120, 145; + --ctp-surface2: 98, 103, 126; + --ctp-surface1: 81, 86, 108; + --ctp-surface0: 65, 69, 89; + --ctp-base: 48, 52, 70; + --ctp-mantle: 41, 44, 60; + --ctp-crust: 35, 38, 52; +} + +.theme-dark.ctp-macchiato { + --ctp-rosewater: 244, 219, 214; + --ctp-flamingo: 240, 198, 198; + --ctp-pink: 245, 189, 230; + --ctp-mauve: 198, 160, 246; + --ctp-red: 237, 135, 150; + --ctp-maroon: 238, 153, 160; + --ctp-peach: 245, 169, 127; + --ctp-yellow: 238, 212, 159; + --ctp-green: 166, 218, 149; + --ctp-teal: 139, 213, 202; + --ctp-sky: 145, 215, 227; + --ctp-sapphire: 125, 196, 228; + --ctp-blue: 138, 173, 244; + --ctp-lavender: 183, 189, 248; + --ctp-text: 197, 207, 245; + --ctp-subtext1: 179, 188, 224; + --ctp-subtext0: 161, 170, 203; + --ctp-overlay2: 143, 151, 183; + --ctp-overlay1: 125, 132, 162; + --ctp-overlay0: 108, 114, 141; + --ctp-surface2: 90, 95, 120; + --ctp-surface1: 72, 76, 100; + --ctp-surface0: 54, 58, 79; + --ctp-base: 36, 39, 58; + --ctp-mantle: 30, 32, 48; + --ctp-crust: 24, 25, 38; +} + +.theme-dark.ctp-mocha, .theme-dark { + --ctp-rosewater: 245, 224, 220; + --ctp-flamingo: 242, 205, 205; + --ctp-pink: 245, 194, 231; + --ctp-mauve: 203, 166, 247; + --ctp-red: 243, 139, 168; + --ctp-maroon: 235, 160, 172; + --ctp-peach: 250, 179, 135; + --ctp-yellow: 249, 226, 175; + --ctp-green: 166, 227, 161; + --ctp-teal: 148, 226, 213; + --ctp-sky: 137, 220, 235; + --ctp-sapphire: 116, 199, 236; + --ctp-blue: 135, 176, 249; + --ctp-lavender: 180, 190, 254; + --ctp-text: 198, 208, 245; + --ctp-subtext1: 179, 188, 223; + --ctp-subtext0: 161, 168, 201; + --ctp-overlay2: 142, 149, 179; + --ctp-overlay1: 123, 129, 157; + --ctp-overlay0: 105, 109, 134; + --ctp-surface2: 86, 89, 112; + --ctp-surface1: 67, 70, 90; + --ctp-surface0: 49, 50, 68; + --ctp-base: 30, 30, 46; + --ctp-mantle: 24, 24, 37; + --ctp-crust: 17, 17, 27; +} + +.theme-dark.ctp-mocha-old { + --ctp-rosewater: 245, 224, 220; + --ctp-flamingo: 242, 205, 205; + --ctp-pink: 245, 194, 231; + --ctp-mauve: 203, 166, 247; + --ctp-red: 243, 139, 168; + --ctp-maroon: 235, 160, 172; + --ctp-peach: 250, 179, 135; + --ctp-yellow: 249, 226, 175; + --ctp-green: 166, 227, 161; + --ctp-teal: 148, 226, 213; + --ctp-sky: 137, 220, 235; + --ctp-sapphire: 116, 199, 236; + --ctp-blue: 135, 176, 249; + --ctp-lavender: 180, 190, 254; + --ctp-text: 217, 224, 238; + --ctp-subtext1: 211, 205, 214; + --ctp-subtext0: 190, 179, 193; + --ctp-overlay2: 167, 156, 176; + --ctp-overlay1: 152, 139, 162; + --ctp-overlay0: 109, 107, 125; + --ctp-surface2: 87, 82, 105; + --ctp-surface1: 45, 40, 72; + --ctp-surface0: 48, 45, 65; + --ctp-base: 30, 30, 46; + --ctp-mantle: 26, 24, 38; + --ctp-crust: 22, 19, 32; +} + +/*------------------Selecting Accents-------------------*/ +.anuppuccin-accent-toggle.ctp-accent-rosewater { + --ctp-accent: var(--ctp-rosewater); +} + +.anuppuccin-accent-toggle.ctp-accent-flamingo { + --ctp-accent: var(--ctp-flamingo); +} + +.anuppuccin-accent-toggle.ctp-accent-pink { + --ctp-accent: var(--ctp-pink); +} + +.anuppuccin-accent-toggle.ctp-accent-mauve { + --ctp-accent: var(--ctp-mauve); +} + +.anuppuccin-accent-toggle.ctp-accent-red { + --ctp-accent: var(--ctp-red); +} + +.anuppuccin-accent-toggle.ctp-accent-maroon { + --ctp-accent: var(--ctp-maroon); +} + +.anuppuccin-accent-toggle.ctp-accent-peach { + --ctp-accent: var(--ctp-peach); +} + +.anuppuccin-accent-toggle.ctp-accent-yellow { + --ctp-accent: var(--ctp-yellow); +} + +.anuppuccin-accent-toggle.ctp-accent-green { + --ctp-accent: var(--ctp-green); +} + +.anuppuccin-accent-toggle.ctp-accent-teal { + --ctp-accent: var(--ctp-teal); +} + +.anuppuccin-accent-toggle.ctp-accent-sky { + --ctp-accent: var(--ctp-sky); +} + +.anuppuccin-accent-toggle.ctp-accent-sapphire { + --ctp-accent: var(--ctp-sapphire); +} + +.anuppuccin-accent-toggle.ctp-accent-blue { + --ctp-accent: var(--ctp-blue); +} + +.anuppuccin-accent-toggle.ctp-accent-lavender { + --ctp-accent: var(--ctp-lavender); +} + +/*------------------------Bold/Italic Colors------------------------*/ +.anp-bold-rosewater { + --anp-bold-color: var(--ctp-rosewater); +} + +.anp-bold-flamingo { + --anp-bold-color: var(--ctp-flamingo); +} + +.anp-bold-pink { + --anp-bold-color: var(--ctp-pink); +} + +.anp-bold-mauve { + --anp-bold-color: var(--ctp-mauve); +} + +.anp-bold-red { + --anp-bold-color: var(--ctp-red); +} + +.anp-bold-maroon { + --anp-bold-color: var(--ctp-maroon); +} + +.anp-bold-peach { + --anp-bold-color: var(--ctp-peach); +} + +.anp-bold-yellow { + --anp-bold-color: var(--ctp-yellow); +} + +.anp-bold-green { + --anp-bold-color: var(--ctp-green); +} + +.anp-bold-teal { + --anp-bold-color: var(--ctp-teal); +} + +.anp-bold-sky { + --anp-bold-color: var(--ctp-sky); +} + +.anp-bold-sapphire { + --anp-bold-color: var(--ctp-sapphire); +} + +.anp-bold-blue { + --anp-bold-color: var(--ctp-blue); +} + +.anp-bold-lavender { + --anp-bold-color: var(--ctp-lavender); +} + +.anp-italic-rosewater { + --anp-italic-color: var(--ctp-rosewater); +} + +.anp-italic-flamingo { + --anp-italic-color: var(--ctp-flamingo); +} + +.anp-italic-pink { + --anp-italic-color: var(--ctp-pink); +} + +.anp-italic-mauve { + --anp-italic-color: var(--ctp-mauve); +} + +.anp-italic-red { + --anp-italic-color: var(--ctp-red); +} + +.anp-italic-maroon { + --anp-italic-color: var(--ctp-maroon); +} + +.anp-italic-peach { + --anp-italic-color: var(--ctp-peach); +} + +.anp-italic-yellow { + --anp-italic-color: var(--ctp-yellow); +} + +.anp-italic-green { + --anp-italic-color: var(--ctp-green); +} + +.anp-italic-teal { + --anp-italic-color: var(--ctp-teal); +} + +.anp-italic-sky { + --anp-italic-color: var(--ctp-sky); +} + +.anp-italic-sapphire { + --anp-italic-color: var(--ctp-sapphire); +} + +.anp-italic-blue { + --anp-italic-color: var(--ctp-blue); +} + +.anp-italic-lavender { + --anp-italic-color: var(--ctp-lavender); +} + +/*------------------Actual Configs--------------------*/ +.anuppuccin-accent-toggle { + --color-accent: rgb(var(--ctp-accent)); + --color-accent-1: rgb(var(--ctp-accent)); + --color-accent-2: rgba(var(--ctp-accent), 0.9); + --text-selection: rgba(var(--ctp-accent), 0.25); + --interactive-accent: rgb(var(--ctp-accent)); + --interactive-accent-hover: rgba(var(--ctp-accent), 0.9); + --text-accent: rgb(var(--ctp-accent)); + --text-accent-hover: rgb(var(--ctp-accent)); + --text-highlight-bg: rgba(var(--ctp-accent), 0.4); + --text-highlight-bg-active: rgba(var(--ctp-accent), 0.6); + --interactive-accent: rgb(var(--ctp-accent)); + --interactive-accent-rgb: var(--ctp-accent); + --interactive-accent-hover: rgb(var(--ctp-accent)); + --blockquote-border-color: rgb(var(--ctp-accent)); + --background-modifier-active-hover: rgba(var(--ctp-accent), 0.15); + --link-unresolved-decoration-color: rgba(var(--ctp-accent), 0.3); + --tag-background: rgba(var(--ctp-accent), 0.1); + --tag-background-hover: rgba(var(--ctp-accent), 0.2); + --tag-border-color: rgba(var(--ctp-accent), 0.15); + --tag-border-color-hover: rgba(var(--ctp-accent), 0.15); + --nav-item-background-selected: rgba(var(--ctp-accent), 0.2); + --heading-formatting: rgb(var(--ctp-accent)); + --icon-color-focused: rgb(var(--ctp-accent)); +} + +.theme-dark, .theme-light { + --mono-rgb-0: var(--ctp-crust); + --mono-rgb-100: var(--ctp-text); + --color-red-rgb: var(--ctp-red); + --color-red: rgb(var(--ctp-red)); + --color-green-rgb: var(--ctp-green); + --color-green: rgb(var(--ctp-green)); + --color-orange: rgb(var(--ctp-peach)); + --color-yellow: rgb(var(--ctp-yellow)); + --color-cyan: rgb(var(--ctp-sky)); + --color-blue: rgb(var(--ctp-blue)); + --color-purple: rgb(var(--ctp-lavender)); + --color-pink: rgb(var(--ctp-pink)); + --color-base-00: rgb(var(--ctp-crust)); + --color-base-10: rgb(var(--ctp-mantle)); + --color-base-20: rgb(var(--ctp-base)); + --color-base-25: rgb(var(--ctp-surface0)); + --color-base-30: rgb(var(--ctp-surface1)); + --color-base-35: rgb(var(--ctp-surface2)); + --color-base-40: rgb(var(--ctp-overlay0)); + --color-base-50: rgb(var(--ctp-overlay1)); + --color-base-60: rgb(var(--ctp-overlay2)); + --color-base-70: rgb(var(--ctp-subtext0)); + --color-base-100: rgb(var(--ctp-text)); + --text-highlight-bg: rgba(var(--ctp-yellow), 0.2); + --text-highlight-bg-active: rgba(var(--ctp-yellow), 0.4); + --input-shadow: inset 0 0.5px 0.5px 0.5px rgba(var(--ctp-text), 0.09), + 0 2px 4px 0 rgba(var(--ctp-crust),.15), + 0 1px 1.5px 0 rgba(var(--ctp-crust),.1), + 0 1px 2px 0 rgba(var(--ctp-crust),.2), + 0 0 0 0 transparent; + --input-shadow-hover: inset 0 0.5px 1px 0.5px rgba(var(--ctp-text), 0.16), + 0 2px 3px 0 rgba(var(--ctp-crust),.3), + 0 1px 1.5px 0 rgba(var(--ctp-crust),.2), + 0 1px 2px 0 rgba(var(--ctp-crust),.4), + 0 0 0 0 transparent; + --shadow-s: 0px 1px 2px rgba(var(--ctp-crust), 0.121), + 0px 3.4px 6.7px rgba(var(--ctp-crust), 0.179), + 0px 15px 30px rgba(var(--ctp-crust), 0.3); + --shadow-l: 0px 1.8px 7.3px rgba(var(--ctp-crust), 0.071), + 0px 6.3px 24.7px rgba(var(--ctp-crust), 0.112), + 0px 30px 90px rgba(var(--ctp-crust), 0.2); + --background-primary: rgb(var(--ctp-base)); + --background-primary-alt: rgb(var(--ctp-mantle)); + --background-secondary: rgb(var(--ctp-mantle)); + --background-secondary-alt: rgb(var(--ctp-crust)); + --background-modifier-hover: rgba(var(--ctp-text), 0.075); + --background-modifier-form-field: rgba(var(--ctp-crust), 0.3); + --background-modifier-success: rgba(var(--ctp-green), 1); + --background-modifier-success-hover: rgba(var(--ctp-green), 0.9); + --background-modifier-success-rgb: var(--ctp-green); + --background-modifier-error: rgba(var(--ctp-red), 1); + --background-modifier-error-rgb: var(--ctp-red); + --background-modifier-error-hover: rgba(var(--ctp-red), 0.9); + --background-modifier-cover: rgba(var(--ctp-mantle), 0.4); + --background-modifier-message: rgba(var(--ctp-crust), 0.9); + --modal-border-color:rgb(var(--ctp-surface0)); + --text-normal: rgb(var(--ctp-text)); + --text-muted: rgb(var(--ctp-overlay2)); + --text-muted-rgb: var(--ctp-overlay2); + --text-faint: rgb(var(--ctp-subtext0)); + --text-error: rgb(var(--ctp-red)); + --text-error-hover: rgba(var(--ctp-red), 0.8); + --text-success: rgb(var(--ctp-green)); + --text-on-accent: rgb(var(--ctp-base)); + --interactive-normal: rgb(var(--ctp-surface0)); + --interactive-hover: rgb(var(--ctp-surface1)); + --interactive-success: rgb(var(--ctp-green)); + --workspace-background-translucent: rgba(var(--ctp-crust), 0.6); + --blockquote-background-color: rgba(var(--ctp-crust), 0.5); + --width-image-gallery: 200px; + --min-width-image: 50%; + --max-width-image: 90%; + --drag-ghost-background: rgb(var(--ctp-text)); + --drag-ghost-text-color: rgb(var(--ctp-crust)); + --nav-indentation-guide-color: rgba(var(--ctp-crust), 0.4); + --titlebar-text-color-focused: var(--color-accent); + --callout-title-padding: var(--size-4-2); +} + +.theme-dark { + color-scheme: dark; + --highlight-mix-blend-mode: none; + --background-modifier-border: rgb(var(--ctp-surface0)); + --background-modifier-border-hover: rgb(var(--ctp-surface1)); + --background-modifier-border-focus: rgb(var(--ctp-surface2)); + --anp-speech-bubble-opacity: var(--anp-sp-op-dark, 0.9); +} + +.theme-light { + color-scheme: light; + --highlight-mix-blend-mode: none; + --background-modifier-border: rgb(var(--ctp-surface1)); + --background-modifier-border-hover: rgb(var(--ctp-surface2)); + --background-modifier-border-focus: rgb(var(--ctp-overlay0)); + --anp-speech-bubble-opacity: var(--anp-sp-op-light, 0.5); +} + +body { + --anp-rainbow-folder-bg-opacity: 1; + --anp-rainbow-folder-border-opacity: 1; + --anp-rainbow-folder-collapse-border-custom: #00000044; + --anp-preview-width-pct: 95%; + --anp-preview-width-max: 800px; + --anp-header-margin-value: 10px; + --anp-header-font: "Noto Serif"; + --tab-stacked-pane-width: var(--file-line-width); + --anp-table-width-pct: 100%; +} + +/*-Highlight current line-*/ +.anp-current-line .markdown-source-view .cm-active.cm-line { + background-color: rgba(var(--ctp-surface1), 0.4); +} + +.anp-current-line-border .markdown-source-view .cm-active.cm-line { + border-left: 2px solid var(--interactive-accent); + margin-left: -2px !important; + background-color: rgba(var(--ctp-surface1), 0.4); +} + +/*-Custom editor font-*/ +.anp-editor-font-toggle .markdown-source-view.mod-cm6:not(.is-live-preview) .cm-scroller { + font-family: var(--anp-editor-font); +} + +/*-Highlighted gutter number-*/ +.cm-lineNumbers .cm-gutterElement.cm-active { + color: var(--interactive-accent) !important; +} + +/*-ZWSP Highlight-*/ +.ͼ2 .cm-specialChar { + color: rgb(var(--ctp-red)); +} + +/*----------FILE PREVIEW MARGINS--------------*/ +.anp-toggle-preview .markdown-preview-section { + width: var(--anp-preview-width-pct); + margin: 0 auto; +} + +/*-Slider checkboxes-*/ +.checkbox-container.is-enabled:after { + background-color: var(--background-primary); +} + +/*-Notices-*/ +.notice { + color: rgb(var(--ctp-text)); +} + +/*-Recolor copy code button-*/ +.markdown-rendered button.copy-code-button { + background-color: rgb(var(--ctp-crust)); +} + +/*-Banners are always sharp-*/ +.banner-image { + border-radius: 0px !important; +} + +/*-Padding for banner pages-*/ +.obsidian-banner-wrapper .frontmatter-container { + margin-top: 20px; +} + +/*-Disable scrollbars-*/ +.anp-toggle-scrollbars *::-webkit-scrollbar { + display: none; +} + +/*-Smoother popover transition-*/ +.popover.hover-popover.is-loaded { + animation: fade 0.2s; +} + +/*-Recolor tooltips-*/ +.tooltip { + color: rgb(var(--text)); +} + +/*-Disable tooltips-*/ +.anp-tooltip-toggle .tooltip { + display: none; +} + +/*-Tab icons-*/ +.mod-left-split .workspace-tab-header.has-active-menu, +.mod-right-split .workspace-tab-header.has-active-menu, +.mod-left-split .workspace-tab-header.is-active, +.mod-right-split .workspace-tab-header.is-active { + background-color: var(--background-modifier-active-hover); +} + +.mod-left-split .workspace-tab-header.has-active-menu:hover, .mod-right-split .workspace-tab-header.has-active-menu:hover, .mod-left-split .workspace-tab-header.is-active:hover, .mod-right-split .workspace-tab-header.is-active:hover { + background-color: var(--background-modifier-active-hover); +} + +.anp-hide-status-bar .status-bar { + display: none; +} + +.workspace, .horizontal-main-container, +.anp-card-layout .mod-vertical .workspace-tabs { + background-color: var(--background-secondary-alt); +} + +.workspace-split:not(.mod-root) .graph-controls.is-close, +.workspace-split:not(.mod-root) .graph-controls, +.workspace-split:not(.mod-root) .graph-controls:not(.is-close) { + background-color: rgb(var(--ctp-crust)); +} + +.anp-card-layout .workspace-split:not(.mod-root) .graph-controls.is-close, +.anp-card-layout .workspace-split:not(.mod-root) .graph-controls, +.anp-card-layout .workspace-split:not(.mod-root) .graph-controls:not(.is-close), +.workspace-leaf .graph-controls.is-close, +.workspace-leaf .graph-controls, +.workspace-leaf .graph-controls:not(.is-close) { + background-color: rgb(var(--ctp-mantle)); +} + +body.anp-card-layout, +.anp-card-layout .sidebar-toggle-button, +.anp-card-layout .workspace-tabs.mod-top { + --tab-container-background: rgb(var(--ctp-crust)); + --file-header-border: var(--border-width) dashed var(--background-modifier-border); +} + +body.is-focused.anp-card-layout, +body.is-focused.anp-card-layout .sidebar-toggle-button, +body.is-focused.anp-card-layout .workspace-tabs.mod-top { + --tab-container-background: rgb(var(--ctp-crust)); +} + +.anp-card-layout .mod-left-split .workspace-tab-header-container { + border-bottom: none; +} + +.anp-card-layout .mod-left-split .workspace-tabs .workspace-leaf, +.anp-card-layout .mod-right-split .workspace-tabs .workspace-leaf, +.anp-card-layout .mod-left-split, +.anp-card-layout .mod-vertical .workspace-tab-container, +.anp-card-layout .mod-vertical, +.anp-card-layout .workspace-split.mod-vertical, +.anp-card-layout .workspace-fake-target-overlay:not(.is-in-sidebar) .workspace-tabs .workspace-leaf, +.anp-card-layout .mod-root .workspace-tabs .workspace-leaf { + background-color: var(--tab-container-background); +} + +.anp-card-layout .workspace-ribbon.mod-left { + padding: 0; + background-color: var(--tab-container-background); + border: none; +} + +.anp-card-layout-actions.anp-card-layout .workspace-ribbon.mod-left { + margin-right: var(--anp-card-layout-padding, 10px); +} + +.anp-card-layout .workspace-ribbon.mod-left:before { + border-bottom: none; + background-color: var(--tab-container-background) !important; +} + +.anp-card-layout .side-dock-actions { + padding: var(--ribbon-padding); +} + +.anp-card-layout-actions.anp-card-layout .side-dock-actions { + border-radius: 0px var(--radius-xl) var(--radius-xl) 0px; + border: 1px solid var(--tab-outline-color); + background-color: var(--background-primary); + margin-top: 2px; +} + +.anp-card-layout-actions.anp-card-layout .side-dock-settings { + border-radius: 0px var(--radius-xl) 0px 0px; + border: 1px solid var(--tab-outline-color); + background-color: var(--background-primary); +} + +.anp-card-layout .side-dock-settings { + padding: var(--ribbon-padding); +} + +.anp-card-layout .workspace-ribbon.mod-left { + margin-top: calc(var(--header-height) - 1px) !important; +} + +.anp-card-layout .workspace-tab-header-container { + border-bottom: none; +} + +.anp-card-layout .mod-vertical .workspace-tab-header-container { + padding-left: 20px; +} + +.anp-card-layout .mod-vertical .workspace-tab-header-container-inner { + margin: 6px -5px calc(var(--tab-outline-width) * -1); + z-index: 1; +} + +.anp-card-layout .mod-vertical .workspace-tabs { + padding-left: var(--anp-card-layout-padding, 10px); + padding-right: var(--anp-card-layout-padding, 10px); +} + +.anp-card-layout .mod-left-split .workspace-tab-container, +.anp-card-layout .mod-right-split .workspace-tab-container { + padding-left: var(--anp-card-layout-padding, 10px); + padding-right: var(--anp-card-layout-padding, 10px); + background-color: var(--tab-container-background); +} + +.anp-card-layout .workspace-split.mod-left-split > .workspace-leaf-resize-handle, +.anp-card-layout .workspace-split.mod-right-split > .workspace-leaf-resize-handle { + border-style: solid; + border-width: 2px; + border-color: transparent; +} + +.anp-card-layout .workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle { + border-style: solid; + border-color: transparent; + border-width: 2px; +} + +.anp-card-layout .workspace-split .workspace-leaf-content { + border-radius: var(--radius-xl); + background-color: var(--background-primary); + border: 1px solid var(--tab-outline-color); + margin-bottom: var(--anp-card-layout-padding, 10px); +} + +.anp-card-layout.anp-card-shadows .workspace-split .workspace-leaf-content { + box-shadow: 0 5px 5px 0px rgba(0, 0, 0, 0.2); +} + +.anp-card-layout .workspace-split .workspace-leaf-content[data-type=file-explorer] { + background-color: var(--tab-container-background); + box-shadow: none; + border-width: 0px; +} + +.anp-card-layout.anp-card-layout-filebrowser.anp-card-shadows .workspace-split .workspace-leaf-content[data-type=file-explorer] { + box-shadow: 0 5px 5px 0px rgba(0, 0, 0, 0.2); +} + +.anp-card-layout.anp-card-layout-filebrowser .workspace-split .workspace-leaf-content[data-type=file-explorer] { + background-color: var(--background-primary); + border-width: 1px; +} + +.anp-card-layout .workspace-split .mod-stacked .workspace-leaf-content { + border-radius: 0; + border: none; + margin-bottom: 0px; + border-left: none; +} + +.anp-card-layout .workspace-split.mod-horizontal > * { + width: unset; +} + +.anp-card-layout .mod-stacked .workspace-tab-header { + border-style: solid; + border-radius: var(--radius-xl) 0px 0px var(--radius-xl) !important; + border-width: var(--tab-outline-width); + border-color: var(--tab-outline-color); + border-right: var(--tab-outline-width) dashed var(--tab-outline-color); +} + +.anp-card-layout .mod-stacked .workspace-leaf { + border-left-width: 0px; + border-top-width: var(--tab-outline-width); + border-bottom-width: var(--tab-outline-width); + border-style: solid; + border-color: var(--tab-outline-color); + border-radius: 0 var(--radius-xl) var(--radius-xl) 0; +} + +.anp-card-layout .mod-stacked .workspace-tab-container { + padding-bottom: var(--anp-card-layout-padding, 10px); +} + +.anp-card-layout .mod-top .workspace-leaf-resize-handle { + border-color: transparent; +} + +body.anp-disable-borders { + --divider-color: transparent; +} + +.anp-card-layout .workspace-drop-overlay:before { + width: calc(100% - 6px - var(--anp-card-layout-padding, 0) * 2); + height: calc(100% - 6px - var(--anp-card-layout-padding, 0) * 2); + margin: auto; +} + +.mod-community-theme summary h1:first-child, .mod-community-theme summary h2:first-child, .mod-community-theme summary h3:first-child, .mod-community-theme summary h4:first-child, .mod-community-theme summary h5:first-child, .mod-community-theme summary h6:first-child { + margin-top: -24px !important; + margin-left: 24px !important; +} + +body { + --tab-stacked-header-width: var(--anp-stacked-header-width, 40px); +} + +.anp-card-layout .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-leaf { + background-color: var(--background-primary); +} + +body.is-translucent { + background-color: transparent; + --workspace-background-translucent: rgba(var(--ctp-crust), var(--anp-translucency-opacity)); +} + +.is-translucent:not(.is-fullscreen) { + --nav-collapse-icon-color: rgba(var(--mono-rgb-100), 0.3); + --nav-collapse-icon-color-collapsed: rgba(var(--mono-rgb-100), 0.3); + --divider-color: rgba(var(--ctp-surface0), 0.15); +} + +.is-translucent.anp-translucent-left:not(.is-fullscreen) .workspace-ribbon.mod-left, +.is-translucent.anp-translucent-center:not(.is-fullscreen) .workspace-tabs, +.is-translucent.anp-translucent-left:not(.is-fullscreen) .mod-left-split .workspace-tab-header-container, +.is-translucent.anp-translucent-right:not(.is-fullscreen) .mod-right-split .workspace-tab-header-container, +.is-translucent.anp-translucent-center:not(.is-fullscreen) .mod-top .workspace-tab-header-container, +.is-translucent.anp-translucent-center:not(.is-fullscreen) .workspace-tabs .workspace-leaf, +.is-translucent.anp-translucent-left:not(.is-fullscreen) .workspace-ribbon.mod-left:before, +.is-translucent.anp-translucent-center:not(.is-fullscreen) .workspace-split.mod-root, +.is-translucent.anp-translucent-center:not(.is-fullscreen) .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header, +.is-translucent.anp-translucent-center:not(.is-fullscreen) .workspace-split.mod-root .view-content, +.is-translucent.anp-translucent-center:not(.is-fullscreen) .view-header { + background-color: transparent; +} + +.is-translucent .workspace { + background-color: transparent; +} + +.is-translucent.anp-translucent-center:not(.is-fullscreen) .view-header-title-container:not(.mod-at-end):after { + background-image: none; +} + +.is-translucent .workspace-split.mod-left-split.is-sidedock-collapsed .workspace-tabs, +.is-translucent .workspace-split.mod-right-split.is-sidedock-collapsed .workspace-tabs { + visibility: hidden; +} + +/*-Blockquote spacing-*/ +.markdown-rendered blockquote { + padding: 5px 5px 5px 10px; +} + +/*-Decorations for bold and italics-*/ +.anp-decoration-toggle { + --italic-color: rgb(var(--anp-italic-color, var(--ctp-green))); + --bold-color: rgb(var(--anp-bold-color, var(--ctp-red))); +} + +/*-Make it so that mark overwrites italic and bold colors-*/ +.markdown-rendered mark { + --italic-color: rgb(var(--ctp-text)); + --bold-color: rgb(var(--ctp-text)); + border-radius: 4px; + padding: 2px; +} + +.markdown-rendered .internal-link { + text-decoration-line: none; +} +.markdown-rendered .internal-link:hover, .markdown-rendered .internal-link:active, .markdown-rendered .internal-link.is-unresolved:hover, .markdown-rendered .internal-link.is-unresolved { + text-decoration-line: none; +} + +.cm-formatting-link-string { + color: var(--text-normal); +} + +.external-link, +.external-link:hover { + background-image: none; + padding-right: 0px; +} + +.cm-s-obsidian span.cm-formatting-strong, .cm-s-obsidian span.cm-strong { + color: var(--bold-color); +} +.cm-s-obsidian span.cm-formatting-em, .cm-s-obsidian span.cm-em { + color: var(--italic-color); +} + +span[alt=anp-embed-animated] .markdown-embed, .anp-embed-animated-toggle .markdown-embed { + border-width: 0px; + border-color: var(--color-accent); + border-style: solid; + transition: border-width 0.2s, background-color 0.2s; +} +span[alt=anp-embed-animated] .markdown-embed .markdown-embed-title, .anp-embed-animated-toggle .markdown-embed .markdown-embed-title { + width: fit-content; + position: absolute; + left: unset; + right: 33px; + top: 5px; +} +span[alt=anp-embed-animated] .markdown-embed .markdown-embed-link, span[alt=anp-embed-animated] .markdown-embed .file-embed-link, span[alt=anp-embed-animated] .markdown-embed .markdown-embed-title, .anp-embed-animated-toggle .markdown-embed .markdown-embed-link, .anp-embed-animated-toggle .markdown-embed .file-embed-link, .anp-embed-animated-toggle .markdown-embed .markdown-embed-title { + opacity: 0; + transition: opacity 0.2s, display 0.2s; +} +span[alt=anp-embed-animated] .markdown-embed:hover, .anp-embed-animated-toggle .markdown-embed:hover { + transition: border-width 0.2s, background-color 0.2s; + border-left-width: 4px; + background-color: var(--background-secondary); +} +span[alt=anp-embed-animated] .markdown-embed:hover .markdown-embed-link, span[alt=anp-embed-animated] .markdown-embed:hover .file-embed-link, span[alt=anp-embed-animated] .markdown-embed:hover .markdown-embed-title, .anp-embed-animated-toggle .markdown-embed:hover .markdown-embed-link, .anp-embed-animated-toggle .markdown-embed:hover .file-embed-link, .anp-embed-animated-toggle .markdown-embed:hover .markdown-embed-title { + opacity: 1; + transition: opacity 0.2s, display 0.2s; +} + +span[alt=anp-embed] .markdown-embed .markdown-preview-section, .anp-embed-toggle .markdown-embed .markdown-preview-section, +.anp-embed-animated-toggle .markdown-embed .markdown-preview-section, span[alt=anp-embed-animated] .markdown-embed .markdown-preview-section { + padding-left: 10px; +} + +span[alt=anp-embed] .markdown-embed, .anp-embed-toggle .markdown-embed { + border-width: 0px; + border-style: solid; +} +span[alt=anp-embed] .markdown-embed .markdown-embed-title, .anp-embed-toggle .markdown-embed .markdown-embed-title { + width: fit-content; + position: absolute; + left: unset; + right: 33px; + top: 5px; +} + +/*--------------HEADERS----------------*/ +/*-Custom header font-*/ +.anp-header-toggle .markdown-reading-view, .anp-header-toggle .is-live-preview { + --h1-font: var(--anp-header-font); + --h2-font: var(--anp-header-font); + --h3-font: var(--anp-header-font); + --h4-font: var(--anp-header-font); + --h5-font: var(--anp-header-font); + --h6-font: var(--anp-header-font); +} + +/*-Custom header colors-*/ +.anp-header-toggle.anp-header-color-toggle, +.markdown-rendered.anp-header-color-toggle, +.markdown-source-view.anp-header-color-toggle { + --h1-color: var(--anp-h1-color, rgba(var(--ctp-red))); + --h2-color: var(--anp-h2-color, rgba(var(--ctp-peach))); + --h3-color: var(--anp-h3-color, rgba(var(--ctp-green))); + --h4-color: var(--anp-h4-color, rgba(var(--ctp-teal))); + --h5-color: var(--anp-h5-color, rgba(var(--ctp-lavender))); + --h6-color: var(--anp-h6-color, rgba(var(--ctp-mauve))); +} + +/*-Source editor recolor application-*/ +.cm-formatting-header-1 { + color: var(--h1-color); +} + +.cm-formatting-header-2 { + color: var(--h2-color); +} + +.cm-formatting-header-3 { + color: var(--h3-color); +} + +.cm-formatting-header-4 { + color: var(--h4-color); +} + +.cm-formatting-header-5 { + color: var(--h5-color); +} + +.cm-formatting-header-6 { + color: var(--h6-color); +} + +.anp-header-toggle.anp-header-margin-toggle h1, +.anp-header-toggle.anp-header-margin-toggle h2, +.anp-header-toggle.anp-header-margin-toggle h3, +.anp-header-toggle.anp-header-margin-toggle h4, +.anp-header-toggle.anp-header-margin-toggle h5, +.anp-header-toggle.anp-header-margin-toggle h6 { + margin-block-start: var(--anp-header-margin-value); + margin-block-end: var(--anp-header-margin-value); +} + +/*-Custom hr margins-*/ +hr { + margin-block-start: 5px; + margin-block-end: 5px; +} + +.anp-toggle-metadata .frontmatter-container { + display: none; +} + +/*-Recolor table borders-*/ +.anp-table-toggle .markdown-rendered table { + background-color: rgba(var(--ctp-mantle), 0.5); +} +.anp-table-toggle .markdown-rendered table, .anp-table-toggle .markdown-rendered td, .anp-table-toggle .markdown-rendered th, .anp-table-toggle .markdown-rendered thead tr > th:first-child, .anp-table-toggle .markdown-rendered thead tr > th, .anp-table-toggle .markdown-rendered thead tr > th:last-child { + text-align: center; + border: 2px solid var(--table-border-color); +} + +.anp-table-toggle .table-view-table > tbody > tr:hover { + background-color: rgba(var(--ctp-surface1), 0.1) !important; +} + +.anp-table-auto.markdown-rendered table { + margin: 0 auto; +} + +.anp-table-width.markdown-rendered table { + width: var(--anp-table-width-pct); +} + +.anp-table-auto .markdown-rendered table { + margin: 0 auto; +} + +.anp-table-width .markdown-rendered table { + width: var(--anp-table-width-pct); +} + +.anp-alternate-tab-toggle, .anp-default-tab { + --header-height: var(--anp-alt-tab-custom-height, 40px); + --tab-stacked-header-width: var(--anp-stacked-header-width, 40px); +} + +.anp-alternate-tab-toggle .workspace-tabs:not(.mod-stacked) { + --tab-background: var(--background-secondary); + --tab-background-active: var(--background-primary); + --tab-font-size: 12px; + --tab-height: calc(var(--header-height)*0.7); + --tab-max-width: 200px; + --tab-max-width-active: 300px ; +} + +.anp-alternate-tab-toggle .workspace-ribbon.mod-left { + margin-top: var(--header-height); +} + +.anp-alternate-tab-toggle .workspace-ribbon.mod-left:before { + padding-bottom: 0px; +} + +.anp-alternate-tab-toggle .workspace-tabs:not(.mod-stacked) .workspace-tab-header::before, +.anp-alternate-tab-toggle .workspace-tabs:not(.mod-stacked) .workspace-tab-header::after, +.anp-alternate-tab-toggle .workspace .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner::after { + display: none; +} + +.anp-alternate-tab-toggle .mod-vertical:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container-inner, +.anp-alternate-tab-toggle .mod-horizontal:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container-inner { + align-items: center; + justify-content: center; + margin: 0; + width: 100%; +} + +.anp-alternate-tab-toggle .mod-vertical:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header, +.anp-alternate-tab-toggle .mod-horizontal:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header { + background: var(--tab-background); + border-radius: 6px; + box-shadow: none !important; + height: var(--tab-height); + margin-left: 12px; + padding: 0 !important; + transition: 400ms, background-color 150ms ease-in-out; +} + +.anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header { + max-width: var(--tab-max-width) !important; +} + +.anp-alternate-tab-toggle.anp-alt-tab-anim-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header { + transition: 400ms; +} + +.anp-alternate-tab-toggle .workspace-tabs:not(.mod-stacked) .workspace-tab-header:first-child { + margin-left: 0; +} + +.anp-alternate-tab-toggle .mod-root:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner { + padding: 7px 8px; +} + +.anp-alternate-tab-toggle .mod-root:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner { + padding: 0 4px 0 8px; + transition: 400ms; +} +.anp-alternate-tab-toggle .mod-root:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner, .anp-alternate-tab-toggle .mod-root:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner-close-button, .anp-alternate-tab-toggle .mod-root:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner-icon { + color: var(--text-muted); +} + +.anp-alternate-tab-toggle .workspace .mod-root .workspace-tab-header-inner::after { + display: none; +} + +.anp-alternate-tab-toggle .mod-root:not(.mod-left-split):not(.mod-right-split) .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active { + flex-grow: 1.67 !important; + max-width: var(--tab-max-width-active) !important; + background-color: var(--background-primary); +} + +.anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-title { + color: var(--color-accent); +} + +.anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner, .anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-title, .anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-close-button, .anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-icon { + color: var(--text-faint); +} +.anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner:hover { + background-color: rgba(var(--ctp-surface1), 0.4); +} + +.anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked).mod-active .workspace-tab-header.is-active .workspace-tab-header-inner, .anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked).mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title, .anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked).mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-close-button, .anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked).mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon { + color: var(--color-accent) !important; +} + +.anp-alternate-tab-toggle .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active:hover { + background-color: var(--background-modifier-border); +} + +.anp-alternate-tab-toggle .sidebar-toggle-button.mod-left, +.anp-alternate-tab-toggle .sidebar-toggle-button.mod-right { + align-items: center; +} + +.anp-alternate-tab-toggle .sidebar-toggle-button.mod-left .clickable-icon, +.anp-alternate-tab-toggle .sidebar-toggle-button.mod-right .clickable-icon { + height: var(--tab-height); +} + +.is-focused:not(.anp-mini-tab-toggle.anp-colorful-frame) .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon, .is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title { + color: var(--color-accent); +} + +.anp-mini-tab-toggle { + --header-height: var(--anp-alt-tab-custom-height, 40px); + --tab-stacked-header-width: var(--anp-stacked-header-width, 40px); +} +.anp-mini-tab-toggle .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header { + background-color: transparent; + box-shadow: none; +} +.anp-mini-tab-toggle .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header::before, .anp-mini-tab-toggle .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header::after { + display: none; +} +.anp-mini-tab-toggle .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header.is-active { + border-bottom: 2px solid var(--color-accent); + margin-bottom: 0px; + padding-bottom: 0px; +} +.anp-mini-tab-toggle .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header.is-active .workspace-tab-header-inner { + border-radius: var(--tab-radius) var(--tab-radius) 0px 0px; + margin-top: 0.5px; + padding-bottom: 4px; +} +.anp-mini-tab-toggle .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header ::after { + display: none; +} +.anp-mini-tab-toggle .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header:hover .workspace-tab-header-inner { + background-color: var(--background-modifier-hover); +} + +/*----------------CALLOUTS-------------------*/ +.anp-callout-fold-position { + --anp-callout-fold-position: 1; +} + +.anp-callout-toggle.anp-callout-sleek:not(.anp-callout-normal-toggle) .callout:not(.is-collapsible) { + padding: 0px; +} +.anp-callout-toggle.anp-callout-sleek:not(.anp-callout-normal-toggle) .callout:not(.is-collapsible) .callout-content { + padding: 0 var(--callout-title-padding) var(--callout-title-padding) var(--callout-title-padding); +} +.anp-callout-toggle.anp-callout-sleek:not(.anp-callout-normal-toggle) .callout:not(.is-collapsible) .callout-title { + background-color: rgba(var(--callout-color), 0 0.5); + padding: var(--callout-title-padding); + cursor: pointer; +} +.anp-callout-toggle.anp-callout-sleek:not(.anp-callout-normal-toggle) .callout:not(.is-collapsible) .callout-title .callout-title-inner { + font-weight: normal; +} +.anp-callout-toggle.anp-callout-sleek.anp-callout-normal-toggle .callout:not(.is-collapsible) { + border-color: rgba(var(--callout-color), 0.4); + border-width: 1px; + border-radius: var(--callout-radius); + background-color: rgba(var(--ctp-mantle), 0.4); +} +.anp-callout-toggle.anp-callout-sleek.anp-callout-normal-toggle .callout-content { + padding: var(--callout-title-padding) var(--callout-title-padding) var(--callout-title-padding) calc(var(--callout-title-padding) * 1.5); + border-top: 1px dashed rgba(var(--callout-color), 0.4); +} +.anp-callout-toggle.anp-callout-sleek.anp-callout-normal-toggle .callout-fold { + padding-right: 0px; +} +.anp-callout-toggle.anp-callout-sleek.anp-callout-normal-toggle .callout-title-inner { + flex-grow: var(--anp-callout-fold-position, unset); +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible { + border-color: rgba(var(--callout-color), 0.4); + border-width: 1px; + border-radius: var(--callout-radius); + background-color: rgba(var(--ctp-mantle), 0.4); + --bold-weight: bolder; +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible .callout-fold { + padding-right: 0px; +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible .callout-title-inner { + flex-grow: var(--anp-callout-fold-position, unset); +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible.is-collapsed { + padding: 0; +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible.is-collapsed .callout-title { + background-color: rgba(var(--callout-color), 0.1); + padding: var(--callout-title-padding); + cursor: pointer; +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible.is-collapsed .callout-content { + display: none; +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible:not(.is-collapsed) { + padding: 0px 0px var(--callout-title-padding) 0px; +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible:not(.is-collapsed) .callout-title { + background-color: rgba(var(--callout-color), 0.1); + padding: var(--callout-title-padding); + border-color: rgba(var(--callout-color), 0.4); + cursor: pointer; +} +.anp-callout-toggle.anp-callout-sleek .callout.is-collapsible:not(.is-collapsed) .callout-content { + padding: var(--callout-title-padding) var(--callout-title-padding) 0 calc(var(--callout-title-padding) * 1.5); + border-top: 1px dashed rgba(var(--callout-color), 0.4); +} +.anp-callout-toggle.anp-callout-sleek .callout:not(.is-collapsible) { + padding: 0px; +} +.anp-callout-toggle.anp-callout-sleek .callout:not(.is-collapsible) .callout-title { + background-color: rgba(var(--callout-color), 0.1); + padding: var(--callout-title-padding) 0px var(--callout-title-padding) var(--callout-title-padding); + border-color: rgba(var(--callout-color), 0.4); +} +.anp-callout-toggle.anp-callout-sleek .callout .list-collapse-indicator { + margin-left: -35px; + padding-right: 3px; +} + +.callout-title-inner { + flex-grow: 1; +} + +.anp-callout-toggle.anp-callout-block .callout { + border-left: 4px solid rgb(var(--callout-color)); + --callout-radius: 0px; +} + +.anp-callout-toggle.anp-callout-willemstad .callout { + border-left: 0px solid rgb(var(--callout-color)); + transition: border-left-width 0.1s; + --callout-padding: 0px; + --callout-title-padding: var(--size-4-2) var(--size-4-2) var(--size-4-2) var(--size-4-3); + --callout-content-padding: 0 var(--size-4-2) var(--size-4-2) var(--size-4-3); + background-color: transparent; +} +.anp-callout-toggle.anp-callout-willemstad .callout:hover { + border-left-width: 4px; +} +.anp-callout-toggle.anp-callout-willemstad .callout .callout-content { + background-color: rgba(var(--ctp-mantle), 0.4); +} +.anp-callout-toggle.anp-callout-willemstad .callout .callout-title { + background-color: rgba(var(--callout-color), 0.1); +} + +.callout-title { + --bold-color: currentColor; + --italic-color: currentColor; +} + +.theme-light.anp-callout-toggle .callout-title-inner, +.theme-light.anp-callout-toggle.anp-callout-normal-toggle .callout:not(.is-collapsible) .callout-title-inner { + color: var(--text-normal); + --bold-color: var(--text-normal); + --italic-color: var(--text-normal); +} + +.anp-callout-toggle .callout-content > p:first-child, .anp-callout-toggle .callout-content > ul:first-child, .anp-callout-toggle .callout-content > ol:first-child { + margin-top: 0px; +} +.anp-callout-toggle .callout-content > p:last-child, .anp-callout-toggle .callout-content > ul:last-child, .anp-callout-toggle .callout-content > ol:last-child { + margin-bottom: 0px; +} + +/*---------------CALLOUT COLORS----------------*/ +.anp-callout-color-toggle .callout[data-callout=note] { + --callout-color: var(--ctp-blue); +} +.anp-callout-color-toggle .callout[data-callout=abstract], .anp-callout-color-toggle .callout[data-callout=summary], .anp-callout-color-toggle .callout[data-callout=tldr], .anp-callout-color-toggle .callout[data-callout=seealso] { + --callout-color: var(--ctp-blue); +} +.anp-callout-color-toggle .callout[data-callout=info], .anp-callout-color-toggle .callout[data-callout=todo], .anp-callout-color-toggle .callout[data-callout=tip], .anp-callout-color-toggle .callout[data-callout=hint], .anp-callout-color-toggle .callout[data-callout=important] { + --callout-color: var(--ctp-teal); +} +.anp-callout-color-toggle .callout[data-callout=success], .anp-callout-color-toggle .callout[data-callout=check], .anp-callout-color-toggle .callout[data-callout=done], .anp-callout-color-toggle .callout[data-callout=question], .anp-callout-color-toggle .callout[data-callout=help], .anp-callout-color-toggle .callout[data-callout=faq] { + --callout-color: var(--ctp-green); +} +.anp-callout-color-toggle .callout[data-callout=warning], .anp-callout-color-toggle .callout[data-callout=caution], .anp-callout-color-toggle .callout[data-callout=attention] { + --callout-color: var(--ctp-yellow); +} +.anp-callout-color-toggle .callout[data-callout=failure], .anp-callout-color-toggle .callout[data-callout=fail], .anp-callout-color-toggle .callout[data-callout=missing] { + --callout-color: var(--ctp-maroon); +} +.anp-callout-color-toggle .callout[data-callout=danger], .anp-callout-color-toggle .callout[data-callout=error], .anp-callout-color-toggle .callout[data-callout=bug] { + --callout-color: var(--ctp-red); +} +.anp-callout-color-toggle .callout[data-callout=example] { + --callout-color: var(--ctp-mauve); +} +.anp-callout-color-toggle .callout[data-callout=quote], .anp-callout-color-toggle .callout[data-callout=cite] { + --callout-color: var(--ctp-surface2); +} +.anp-callout-color-toggle.anuppuccin-accent-toggle .callout[data-callout=note] { + --callout-color: var(--ctp-accent); +} + +/*-Custom folder title-*/ +.anp-custom-vault-toggle .nav-folder.mod-root > .nav-folder-title > .nav-folder-title-content { + font-size: 130%; + font-weight: bold; + text-align: center; + margin-left: 30px; +} + +.anp-custom-vault-toggle .nav-folder.mod-root > .nav-folder-title > .nav-folder-title-content:before { + content: " "; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z'/%3E%3C/svg%3E"); + -webkit-mask-repeat: no-repeat; + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z'/%3E%3C/svg%3E"); + mask-repeat: no-repeat; + text-align: center; + width: 26px; + height: 26px; + margin-left: -30px; + margin-top: -5px; + color: rgb(var(--ctp-yellow)); + position: absolute; + cursor: pointer; + background-color: rgb(var(--ctp-yellow)); +} + +.anp-custom-vault-toggle .nav-folder.mod-root > .nav-folder-title > .nav-folder-title-content:active:before { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z'/%3E%3C/svg%3E"); + width: 30px; + height: 30px; +} + +.anp-color-transition-toggle .horizontal-tab-content, +.anp-color-transition-toggle .vertical-tab-content, +.anp-color-transition-toggle .vertical-tab-header, +.anp-color-transition-toggle .workspace-tab-header-container, +.anp-color-transition-toggle .workspace-fake-target-overlay:not(.is-in-sidebar) .workspace-tabs .workspace-leaf, +.anp-color-transition-toggle .mod-root .workspace-tabs .workspace-leaf, +.anp-color-transition-toggle .setting-item-name { + transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out, border-color 0.5s ease-in-out !important; +} + +/*-Button for metadata-*/ +.anp-button-metadata-toggle .frontmatter-container { + padding: 0; +} +.anp-button-metadata-toggle .frontmatter-container .frontmatter-container-header { + width: 32px !important; + z-index: 1; + height: 32px !important; + text-overflow: clip; + overflow: hidden; + color: transparent !important; + position: absolute; + background-color: rgba(var(--ctp-accent), 0.8); + left: calc(100% - 32px); + border-radius: 6px; +} +.anp-button-metadata-toggle .frontmatter-container .frontmatter-container-header:after { + position: absolute; + width: 18px; + content: " "; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z'/%3E%3C/svg%3E"); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: var(--background-primary); + color: var(--background-secondary); + height: 20px; + margin-left: 7px; + margin-top: 5px; +} +.anp-button-metadata-toggle .frontmatter-container .frontmatter-container-header:hover { + background-color: rgba(var(--ctp-accent), 0.7); +} +.anp-button-metadata-toggle .frontmatter-container .frontmatter-container-header:active { + background-color: rgba(var(--ctp-accent), 0.6); +} + +.anp-colorful-frame.anuppuccin-accent-toggle:not(.anp-card-layout) .mod-top .workspace-tab-header-container, +.anp-colorful-frame.anuppuccin-accent-toggle:not(.anp-card-layout) .workspace-ribbon.mod-left:before, +.anp-colorful-frame.anuppuccin-accent-toggle.anp-card-layout, +.anp-colorful-frame.anuppuccin-accent-toggle.anp-card-layout .workspace-tabs.mod-top, +.anp-colorful-frame.anuppuccin-accent-toggle.anp-card-layout .sidebar-toggle-button, +.anp-colorful-frame.anuppuccin-accent-toggle.anp-card-layout .workspace-ribbon.mod-left:before { + --tab-container-background: rgba(var(--anp-colorful-frame-color, var(--ctp-accent)), var(--anp-colorful-frame-opacity, 1)); + --titlebar-background: rgba(var(--anp-colorful-frame-color, var(--ctp-accent)), var(--anp-colorful-frame-opacity, 1)); +} + +.anp-colorful-frame:not(.anp-card-layout) .mod-top .workspace-tab-header-container, +body.anp-colorful-frame.anp-card-layout, +body.anp-colorful-frame.anp-card-layout .workspace-tabs.mod-top, +body.anp-colorful-frame.anp-card-layout .sidebar-toggle-button, +body.anp-colorful-frame.anp-card-layout .workspace-ribbon.mod-left:before, +.anp-colorful-frame:not(.anp-card-layout) .workspace-ribbon.mod-left:before { + --tab-container-background: hsla(var(--anp-colorful-frame-color-hsl, var(--color-accent-hsl)), var(--anp-colorful-frame-opacity, 1)); + --titlebar-background: hsla(var(--anp-colorful-frame-color-hsl, var(--color-accent-hsl)), var(--anp-colorful-frame-opacity, 1)); +} + +.anp-colorful-frame.anp-card-layout { + --divider-color-hover: var(--background-secondary-alt); +} + +.anp-colorful-frame:not(.anp-card-layout) .mod-top:not(.mod-stacked) .workspace-tab-header, +.anp-colorful-frame:not(.anp-card-layout) .mod-top:not(.mod-stacked) .workspace-tab-header.is-active, +.anp-colorful-frame:not(.anp-card-layout) .mod-top:not(.mod-stacked) .is-focused.workspace-tab-header, +.anp-colorful-frame:not(.anp-card-layout) .mod-top:not(.mod-stacked) .workspace-tab-header-container, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top:not(.mod-stacked) .workspace-tab-header, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top:not(.mod-stacked) .workspace-tab-header.is-active, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top:not(.mod-stacked) .is-focused.workspace-tab-header, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top:not(.mod-stacked) .workspace-tab-header-container { + --tab-text-color: var(--background-secondary-alt); + --icon-color: var(--background-secondary-alt); + --icon-color-hover: var(--background-secondary); + --tab-text-color-focused: var(--background-secondary-alt); +} +.anp-colorful-frame:not(.anp-card-layout) .mod-top.mod-stacked .workspace-tab-header-new-tab .clickable-icon, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top.mod-stacked .workspace-tab-header-new-tab .clickable-icon { + --icon-color: var(--background-secondary-alt); + --icon-color-hover: var(--background-secondary); +} +.anp-colorful-frame:not(.anp-card-layout) .mod-top .workspace-tab-header-tab-list .clickable-icon, .anp-colorful-frame:not(.anp-card-layout) .mod-top .workspace-tab-header-tab-list .clickable-icon:hover, .anp-colorful-frame:not(.anp-card-layout) .mod-top .workspace-tab-header-new-tab .clickable-icon, .anp-colorful-frame:not(.anp-card-layout) .mod-top .workspace-tab-header-new-tab .clickable-icon:hover, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top .workspace-tab-header-tab-list .clickable-icon, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top .workspace-tab-header-tab-list .clickable-icon:hover, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top .workspace-tab-header-new-tab .clickable-icon, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-top .workspace-tab-header-new-tab .clickable-icon:hover { + color: var(--background-secondary-alt); +} +.anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle .mod-top, .anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-top, +.anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-top, +.anp-colorful-frame:not(.anp-card-layout).is-focused.is-focused.anp-mini-tab-toggle .mod-top { + --tab-text-color-focused-active-current: var(--background-secondary-alt); +} +.anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle .mod-top .workspace-tab-header, .anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle .mod-top .workspace-tab-header.is-active, .anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-top .workspace-tab-header, .anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-top .workspace-tab-header.is-active, +.anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-top .workspace-tab-header, +.anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-top .workspace-tab-header.is-active, +.anp-colorful-frame:not(.anp-card-layout).is-focused.is-focused.anp-mini-tab-toggle .mod-top .workspace-tab-header, +.anp-colorful-frame:not(.anp-card-layout).is-focused.is-focused.anp-mini-tab-toggle .mod-top .workspace-tab-header.is-active { + --tab-text-color-focused-active: var(--background-secondary-alt); + --tab-text-color-active: var(--background-secondary-alt); + --tab-text-color-focused: var(--background-secondary-alt); +} + +.anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle .workspace-tab-header.is-active, +.anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle .workspace-tab-header.is-active .workspace-tab-header-inner-close-button { + --tab-text-color-focused: var(--background-secondary-alt); + --tab-text-color-focused-active-current: var(--background-secondary-alt); +} + +.anp-colorful-frame:not(.anp-card-layout) .mod-right-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon, +.anp-colorful-frame:not(.anp-card-layout) .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon, +.anp-colorful-frame:not(.anp-card-layout) .mod-top .workspace-tab-header-container .clickable-icon.has-active-menu, +.anp-colorful-frame:not(.anp-card-layout) .mod-top .workspace-tab-header-container .clickable-icon:active { + --icon-color-focused: var(--background-secondary-alt); +} + +.anp-card-layout.anp-colorful-frame .mod-vertical .workspace-tabs { + background-color: var(--tab-container-background); +} + +.anp-colorful-frame:not(.anp-card-layout) .workspace-tab-header, +.anp-colorful-frame:not(.anp-card-layout) .workspace-tab-header .workspace-tab-header-inner-close-button { + --tab-text-color-focused: var(--background-secondary-alt); + --tab-text-color-focused-active-current: var(--background-secondary-alt); +} + +.anp-colorful-frame:not(.anp-card-layout) .workspace-tab-header.is-active, +.anp-colorful-frame:not(.anp-card-layout) .workspace-tab-header.is-active .workspace-tab-header-inner-close-button { + --tab-text-color-focused: var(--text-faint); + --tab-text-color-focused-active-current: var(--text-normal); +} + +.anp-colorful-frame:not(.anp-card-layout) .mod-left-split .mod-top .workspace-tab-header.is-active, +.anp-colorful-frame:not(.anp-card-layout) .mod-right-split .mod-top .workspace-tab-header.is-active { + background-color: rgba(var(--ctp-crust), 0.3); +} + +.anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon, +.anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title, +.anp-colorful-frame:not(.anp-card-layout).is-focused .mod-active:not(.mod-stacked).mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon, +.anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title, +.anp-colorful-frame:not(.anp-card-layout) .mod-left-split .mod-top .workspace-tab-header:active .workspace-tab-header-inner-icon, +.anp-colorful-frame:not(.anp-card-layout) .mod-right-split .mod-top .workspace-tab-header:active .workspace-tab-header-inner-icon { + color: var(--background-secondary-alt); +} + +.anp-colorful-frame:not(.anp-card-layout).is-focused.anp-mini-tab-toggle .mod-top:not(.mod-stacked) .workspace-tab-header:not(.is-active), +.anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle .mod-top:not(.mod-stacked) .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner-close-button { + color: var(--background-secondary-alt); + --tab-text-color-focused-active-current: var(--background-secondary-alt); +} + +.anp-colorful-frame:not(.anp-card-layout) .workspace-split.mod-vertical > * > .workspace-leaf-resize-handle, +.anp-colorful-frame:not(.anp-card-layout) .workspace-split.mod-left-split > .workspace-leaf-resize-handle, +.anp-colorful-frame:not(.anp-card-layout) .workspace-split.mod-right-split > .workspace-leaf-resize-handle { + height: calc(100% - var(--header-height)); +} + +.anp-colorful-frame .sidebar-toggle-button { + padding: var(--size-4-1) !important; + background-color: var(--background-primary); + --tab-container-background: var(--background-primary) !important; + height: calc(var(--header-height) - 5px); + margin-right: 0; + border-radius: 0 0 var(--radius-m) var(--radius-m); + border-width: 0 1px 1px 1px; + border-style: solid; + border-color: var(--tab-outline-color); + --icon-color: var(--text-muted); + --icon-color-hover: var(--text-muted); + --icon-color-active: var(--text-accent); + --icon-color-focused: var(--text-normal); +} +.anp-colorful-frame .sidebar-toggle-button .clickable-icon { + --icon-color: var(--text-muted) !important; + --icon-color-hover: var(--text-muted) !important; + --icon-color-active: var(--text-accent) !important; + --icon-color-focused: var(--text-normal) !important; +} + +.anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle.is-focused .mod-active.mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon, +.anp-colorful-frame:not(.anp-card-layout).anp-mini-tab-toggle.is-focused .mod-active.mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-title { + color: var(--background-primary); +} + +.anp-colorful-frame.mod-macos .sidebar-toggle-button.mod-right { + border-radius: 0 0 0 var(--radius-m); +} + +.anp-colorful-frame.is-fullscreen:not(.is-popout-window) .sidebar-toggle-button.mod-left { + border-radius: 0 0 var(--radius-m) 0; +} + +body.anp-colorful-frame.anp-card-layout .workspace, +.anp-colorful-frame.anuppuccin-accent-toggle.anp-card-layout .workspace-tabs { + background-color: var(--tab-container-background); +} + +.anp-colorful-frame.anp-card-layout, +.anp-colorful-frame.anp-card-layout .workspace-tab-container, +.anp-colorful-frame.anp-card-layout.anp-mini-tab-toggle .mod-vertical .workspace-tab-header.is-active, +.anp-colorful-frame.anp-card-layout:not(.anp-card-layout-filebrowser) .workspace-leaf-content[data-type=file-explorer] { + --tab-text-color: var(--background-secondary-alt); + --tab-text-color-focused: var(--background-secondary-alt); + --tab-text-color-focused-active: var(--background-secondary-alt); + --tab-text-color-focused-highlighted: var(--background-secondary-alt); + --tab-text-color-focused-active-current: var(--background-secondary-alt); + --icon-color: var(--background-secondary-alt); + --icon-color-hover: var(--background-secondary-alt); + --icon-color-active: var(--background-secondary-alt); + --icon-color-focused: var(--background-secondary-alt); +} + +.anp-colorful-frame.anp-card-layout.anp-card-layout-actions .workspace-ribbon, +.anp-colorful-frame.anp-card-layout .workspace-tab-container, +.anp-colorful-frame.anp-card-layout .modal, +.anp-colorful-frame.anp-card-layout .mod-vertical .workspace-tab-header.is-active, +.anp-colorful-frame.anp-card-layout.anp-alternate-tab-toggle .mod-vertical .workspace-tab-header { + --tab-text-color: var(--text-faint); + --tab-text-color-active: var(--text-muted); + --tab-text-color-focused: var(--text-muted); + --tab-text-color-focused-active: var(--text-muted); + --tab-text-color-focused-highlighted: var(--text-accent); + --tab-text-color-focused-active-current: var(--text-normal); + --icon-color: var(--text-muted); + --icon-color-hover: var(--text-muted); + --icon-color-active: var(--text-accent); + --icon-color-focused: var(--text-normal); +} + +.anp-colorful-frame.anp-card-layout:not(.anp-alternate-layout) .workspace-tab-header-status-icon { + color: var(--icon-color); +} + +.anp-colorful-frame.anp-card-layout.is-focused:not(.anp-mini-tab-toggle) .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon, +.anp-colorful-frame.anp-card-layout.is-focused:not(.anp-mini-tab-toggle) .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title { + color: var(--color-accent); +} + +.anp-colorful-frame.anp-card-layout.is-focused .mod-left-split .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon, +.anp-colorful-frame.anp-card-layout.anp-mini-tab-toggle .mod-vertical .workspace-tab-header .workspace-tab-header-inner-title, +.anp-colorful-frame.anp-card-layout.anp-mini-tab-toggle .mod-vertical .workspace-tab-header .workspace-tab-header-inner-title, +.anp-colorful-frame.anp-card-layout.is-focused .mod-right-split .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon { + color: var(--background-secondary-alt); +} + +.anp-colorful-frame.anp-card-layout .mod-right-split .workspace-tab-header.is-active, +.anp-colorful-frame.anp-card-layout .mod-left-split .workspace-tab-header.is-active { + background-color: rgba(var(--ctp-crust), 0.3); +} + +.mod-top .workspace-tab-header-inner::after { + display: none; +} + +.anp-colorful-frame.anp-card-layout:not(.anp-mini-tab-toggle) .mod-vertical .workspace-tab-header.is-active { + --tab-text-color-focused: var(--text-muted); + --tab-text-color-focused-active: var(--text-normal); +} + +.anp-mini-tab-toggle.anp-colorful-frame .workspace-split:not(.mod-left-split):not(.mod-right-split) .workspace-tab-header-container-inner .workspace-tab-header.is-active { + border-bottom: 2px solid var(--background-secondary-alt); +} + +.anp-colorful-frame.anp-card-layout .workspace-drop-overlay:before { + background-color: var(--background-secondary-alt); + border-radius: var(--radius-m); + opacity: 0.5; +} + +.anp-colorful-frame { + --titlebar-background: var(--color-accent); + --titlebar-background-focused: var(--color-accent); + --titlebar-text-color: var(--background-primary); + --titlebar-text-color-focused: var(--background-secondary-alt); +} + +.anp-colorful-frame.is-frameless:not(.is-hidden-frameless) .sidebar-toggle-button.mod-right, .anp-colorful-frame.is-frameless:not(.is-hidden-frameless) .sidebar-toggle-button.mod-left { + border-radius: var(--radius-m); +} + +.anp-colorful-frame:not(.is-frameless) .sidebar-toggle-button.mod-right, .anp-colorful-frame:not(.is-frameless) .sidebar-toggle-button.mod-left { + border-radius: var(--radius-m); +} + +.anp-custom-checkboxes [data-task=x] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=x][type=checkbox]:checked { + --checkbox-color: rgb(var(--ctp-green)); + --checkbox-color-hover: rgb(var(--ctp-green)) ; +} +.anp-custom-checkboxes [data-task="!"] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task="!"][type=checkbox]:checked { + --checkbox-color: rgb(var(--ctp-yellow)); + --checkbox-color-hover: rgb(var(--ctp-yellow)); +} +.anp-custom-checkboxes [data-task="!"] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task="!"][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M96 64c0-17.7-14.3-32-32-32S32 46.3 32 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM64 480c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40z'/%3E%3C/svg%3E"); + -webkit-mask-size: 20%; +} + +.anp-custom-checkboxes [data-task="?"] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task="?"][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task="?"] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task="?"][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-peach)); + left: 0px; +} + +.anp-custom-checkboxes [data-task="-"] { + text-decoration: var(--checklist-done-decoration); + color: var(--checklist-done-color); +} +.anp-custom-checkboxes [data-task="-"] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task="-"][type=checkbox]:checked { + --checkbox-color: rgb(var(--ctp-red)); + --checkbox-color-hover: rgb(var(--ctp-red)); +} +.anp-custom-checkboxes [data-task="-"] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task="-"][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z'/%3E%3C/svg%3E"); + -webkit-mask-size: 50%; +} + +.anp-custom-checkboxes [data-task=b] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=b][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=b] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=b][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-red)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=I] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=I][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=I] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=I][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-yellow)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=p] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=p][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=p] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=p][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 25.3-19.5 46-44.3 47.9c7.7 8.5 12.3 19.8 12.3 32.1c0 23.4-16.8 42.9-38.9 47.1c4.4 7.2 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48H294.5c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3V320 272 247.1c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192H96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-green)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=c] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=c][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=c] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=c][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M313.4 479.1c26-5.2 42.9-30.5 37.7-56.5l-2.3-11.4c-5.3-26.7-15.1-52.1-28.8-75.2H464c26.5 0 48-21.5 48-48c0-25.3-19.5-46-44.3-47.9c7.7-8.5 12.3-19.8 12.3-32.1c0-23.4-16.8-42.9-38.9-47.1c4.4-7.3 6.9-15.8 6.9-24.9c0-21.3-13.9-39.4-33.1-45.6c.7-3.3 1.1-6.8 1.1-10.4c0-26.5-21.5-48-48-48H294.5c-19 0-37.5 5.6-53.3 16.1L202.7 73.8C176 91.6 160 121.6 160 153.7V192v48 24.9c0 29.2 13.3 56.7 36 75l7.4 5.9c26.5 21.2 44.6 51 51.2 84.2l2.3 11.4c5.2 26 30.5 42.9 56.5 37.7zM32 320H96c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64V288c0 17.7 14.3 32 32 32z'/%3E%3C/svg%3E"); + -webkit-mask-size: 100%; + background-color: rgb(var(--ctp-red)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=i] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=i][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=i] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=i][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-144c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-blue)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=l] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=l][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=l] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=l][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 256c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-mauve)); + left: 0px; +} + +.anp-custom-checkboxes [data-task="*"] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task="*"][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task="*"] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task="*"][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-yellow)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=n] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=n][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=n] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=n][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-maroon)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=S] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=S][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=S] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=S][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M320 96H192L144.6 24.9C137.5 14.2 145.1 0 157.9 0H354.1c12.8 0 20.4 14.2 13.3 24.9L320 96zM192 128H320c3.8 2.5 8.1 5.3 13 8.4C389.7 172.7 512 250.9 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96C0 250.9 122.3 172.7 179 136.4l0 0 0 0c4.8-3.1 9.2-5.9 13-8.4zm84.1 96c0-11.1-9-20.1-20.1-20.1s-20.1 9-20.1 20.1v6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.8 4.1c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9l0 0 0 0 0 0 0 0c-2.2-.8-4.3-1.5-6.3-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1V416c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1v-5.5c5.4-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4V224z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-green)); + left: 0px; +} + +.anp-custom-checkboxes [data-task="/"] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task="/"][type=checkbox]:checked { + --checkbox-color: rgba(var(--ctp-subtext0), 0.3); + --checkbox-color-hover: rgba(var(--ctp-subtext0), 0.3); + border-color: rgb(var(--ctp-subtext0)) !important; +} +.anp-custom-checkboxes [data-task="/"] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task="/"][type=checkbox]:checked:after { + background-color: transparent; +} + +.anp-custom-checkboxes [data-task="<"] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task="<"][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task="<"] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task="<"][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-teal)); + left: 0px; +} + +.anp-custom-checkboxes [data-task=">"] input[type=checkbox]:checked, .anp-custom-checkboxes [data-task=">"][type=checkbox]:checked { + --checkbox-color: transparent; + --checkbox-color-hover: transparent; + border-width: 0; +} +.anp-custom-checkboxes [data-task=">"] input[type=checkbox]:checked:after, .anp-custom-checkboxes [data-task=">"][type=checkbox]:checked:after { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z'/%3E%3C/svg%3E"); + -webkit-mask-size: contain; + background-color: rgb(var(--ctp-sapphire)); + left: 0px; +} + +.anp-speech-bubble [data-task="0"], +.anp-speech-bubble [data-task="1"], +.anp-speech-bubble [data-task="2"], +.anp-speech-bubble [data-task="3"], +.anp-speech-bubble [data-task="4"], +.anp-speech-bubble [data-task="5"], +.anp-speech-bubble [data-task="6"], +.anp-speech-bubble [data-task="7"], +.anp-speech-bubble [data-task="8"], +.anp-speech-bubble [data-task="9"] { + margin-inline-start: -15px; + padding: 3px 10px !important; + border-radius: 3px 10px 10px 10px; + margin-top: 8px; + margin-bottom: 8px; + max-width: fit-content; + color: var(--text-normal); + --bold-color: var(--text-normal); + --italic-color: var(--text-normal); +} +.anp-speech-bubble [data-task="0"] p, +.anp-speech-bubble [data-task="1"] p, +.anp-speech-bubble [data-task="2"] p, +.anp-speech-bubble [data-task="3"] p, +.anp-speech-bubble [data-task="4"] p, +.anp-speech-bubble [data-task="5"] p, +.anp-speech-bubble [data-task="6"] p, +.anp-speech-bubble [data-task="7"] p, +.anp-speech-bubble [data-task="8"] p, +.anp-speech-bubble [data-task="9"] p { + margin-top: 0; + margin-bottom: 0; +} +.anp-speech-bubble [data-task="0"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="1"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="2"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="3"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="4"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="5"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="6"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="7"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="8"] .task-list-item-checkbox, +.anp-speech-bubble [data-task="9"] .task-list-item-checkbox { + display: none; +} +.anp-speech-bubble [data-task="0"]::selection, +.anp-speech-bubble [data-task="1"]::selection, +.anp-speech-bubble [data-task="2"]::selection, +.anp-speech-bubble [data-task="3"]::selection, +.anp-speech-bubble [data-task="4"]::selection, +.anp-speech-bubble [data-task="5"]::selection, +.anp-speech-bubble [data-task="6"]::selection, +.anp-speech-bubble [data-task="7"]::selection, +.anp-speech-bubble [data-task="8"]::selection, +.anp-speech-bubble [data-task="9"]::selection { + background-color: rgba(var(--ctp-text), 0.2); +} + +.theme-dark.anp-speech-bubble [data-task="0"], +.theme-dark.anp-speech-bubble [data-task="1"], +.theme-dark.anp-speech-bubble [data-task="2"], +.theme-dark.anp-speech-bubble [data-task="3"], +.theme-dark.anp-speech-bubble [data-task="4"], +.theme-dark.anp-speech-bubble [data-task="5"], +.theme-dark.anp-speech-bubble [data-task="6"], +.theme-dark.anp-speech-bubble [data-task="7"], +.theme-dark.anp-speech-bubble [data-task="8"], +.theme-dark.anp-speech-bubble [data-task="9"] { + --text-normal: var(--background-primary); +} +.theme-dark.anp-speech-bubble [data-task="0"]::selection, +.theme-dark.anp-speech-bubble [data-task="1"]::selection, +.theme-dark.anp-speech-bubble [data-task="2"]::selection, +.theme-dark.anp-speech-bubble [data-task="3"]::selection, +.theme-dark.anp-speech-bubble [data-task="4"]::selection, +.theme-dark.anp-speech-bubble [data-task="5"]::selection, +.theme-dark.anp-speech-bubble [data-task="6"]::selection, +.theme-dark.anp-speech-bubble [data-task="7"]::selection, +.theme-dark.anp-speech-bubble [data-task="8"]::selection, +.theme-dark.anp-speech-bubble [data-task="9"]::selection { + background-color: rgba(var(--ctp-crust), 0.2); +} + +.anp-speech-bubble [data-task="0"] { + background-color: rgba(var(--ctp-red), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="1"] { + background-color: rgba(var(--ctp-peach), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="2"] { + background-color: rgba(var(--ctp-yellow), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="3"] { + background-color: rgba(var(--ctp-green), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="4"] { + background-color: rgba(var(--ctp-teal), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="5"] { + background-color: rgba(var(--ctp-sky), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="6"] { + background-color: rgba(var(--ctp-blue), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="7"] { + background-color: rgba(var(--ctp-mauve), var(--anp-speech-bubble-opacity)); +} + +.anp-speech-bubble [data-task="8"] { + background: linear-gradient(to right, rgba(var(--ctp-red), var(--anp-speech-bubble-opacity)), rgba(var(--ctp-yellow), var(--anp-speech-bubble-opacity))); +} + +.anp-speech-bubble [data-task="9"] { + background: linear-gradient(to left, rgba(var(--ctp-lavender), var(--anp-speech-bubble-opacity)), rgba(var(--ctp-mauve), var(--anp-speech-bubble-opacity))); +} + +.anp-floating-header .nav-folder.mod-root > .nav-folder-title { + background-color: var(--background-secondary); + position: fixed; + z-index: 1; + width: calc(100% - 2 * var(--size-4-3)); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); +} + +.anp-floating-header .nav-folder.mod-root > .nav-folder-title:hover { + background-color: var(--background-secondary); + width: calc(100% - 2 * var(--size-4-3)); +} + +.anp-floating-header .nav-folder.mod-root > .nav-folder-children { + padding-top: 32px; +} + +.anp-floating-header.anp-custom-vault-toggle .nav-folder.mod-root > .nav-folder-title { + padding-top: 10px; +} +.anp-floating-header.anp-custom-vault-toggle .nav-folder.mod-root > .nav-folder-children { + padding-top: 45px; +} + +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="1"] .setting-item-name { + color: rgb(var(--ctp-red)); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="1"].style-settings-heading { + border-bottom: 1px solid rgba(var(--ctp-red), 0.5); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="2"] .setting-item-name { + color: rgb(var(--ctp-green)); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="2"].style-settings-heading { + border-bottom: 1px solid rgba(var(--ctp-green), 0.5); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="3"] .setting-item-name { + color: rgb(var(--ctp-blue)); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="3"].style-settings-heading { + border-bottom: 1px solid rgba(var(--ctp-blue), 0.5); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="4"] .setting-item-name { + color: rgb(var(--ctp-mauve)); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-level="4"].style-settings-heading { + border-bottom: 1px solid rgba(var(--ctp-mauve), 0.5); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-rainbow-section-header], .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-full-rainbow-folder-settings], .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-simple-rainbow-folder-settings] { + background: linear-gradient(to right, rgba(var(--ctp-red), 1), rgba(var(--ctp-peach), 1), rgba(var(--ctp-yellow), 1), rgba(var(--ctp-green), 1), rgba(var(--ctp-teal), 1), rgba(var(--ctp-blue), 1), rgba(var(--ctp-mauve), 1), rgba(var(--ctp-pink), 1)) !important; + padding-bottom: 3px; + padding-top: 0px; + height: 37px; + border-bottom-width: 0 !important; + margin-top: 3px; +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-rainbow-section-header] .setting-item-info, .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-full-rainbow-folder-settings] .setting-item-info, .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-simple-rainbow-folder-settings] .setting-item-info { + background-color: var(--background-primary); +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-rainbow-section-header] .setting-item-name, .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-full-rainbow-folder-settings] .setting-item-name, .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-simple-rainbow-folder-settings] .setting-item-name { + line-height: 37px; +} +.anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-rainbow-section-header] .setting-item-control, .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-full-rainbow-folder-settings] .setting-item-control, .anp-plugin-style-settings-header-color .style-settings-container .setting-item-heading[data-id=anp-simple-rainbow-folder-settings] .setting-item-control { + background-color: var(--background-primary); + height: 37px; +} + +.style-settings-heading[data-level="0"] { + margin-bottom: 15px; +} +.style-settings-heading[data-level="0"].is-collapsed { + margin-bottom: 0px; +} +.style-settings-heading[data-id=anuppuccin-theme-credits-link] { + margin-bottom: 0px; + border-bottom: none; + cursor: default; + padding-bottom: 0px; +} +.style-settings-heading[data-id=anuppuccin-theme-credits-link] .style-settings-collapse-indicator, .style-settings-heading[data-id=anuppuccin-theme-credits-link] .setting-editor-extra-setting-button { + display: none; +} +.style-settings-heading[data-id=anuppuccin-theme-credits-link] .setting-item-name { + color: var(--background-primary) !important; + background: linear-gradient(to right, rgb(var(--ctp-pink)), rgb(var(--ctp-mauve))); + width: fit-content; + padding: 4px 6px; + border-radius: 5px; +} +.style-settings-heading[data-id=anuppuccin-theme-settings], .style-settings-heading[data-id=anuppuccin-theme-settings-extended] { + border-color: hsla(var(--color-accent-hsl), 0.5); +} +.style-settings-heading[data-id=anuppuccin-theme-settings] .setting-item-name, .style-settings-heading[data-id=anuppuccin-theme-settings-extended] .setting-item-name { + color: var(--color-accent); +} +.style-settings-heading[data-id=anuppuccin-extended-colorschemes-link] { + margin-bottom: 0px; + border-bottom: none; + cursor: default; + padding-bottom: 0px; +} +.style-settings-heading[data-id=anuppuccin-extended-colorschemes-link] .style-settings-collapse-indicator, .style-settings-heading[data-id=anuppuccin-extended-colorschemes-link] .setting-editor-extra-setting-button { + display: none; +} + +.anuppuccin-accent-toggle .style-settings-heading[data-id=anuppuccin-theme-settings], .anuppuccin-accent-toggle .style-settings-heading[data-id=anuppuccin-theme-settings-extended] { + border-color: rgba(var(--ctp-accent), 0.5); +} + +.style-settings-container:empty { + display: none; +} + +/*-Fix dataview table header size-*/ +.table-view-table > thead > tr > th { + font-size: medium; + color: var(--text-muted); +} + +.dataview.inline-field-standalone-value, .dataview.inline-field-key, .dataview.inline-field-value { + padding-left: 0px; + padding-right: 0px; + font-family: inherit; + background-color: transparent; + color: var(--text-normal); +} + +.dataview.inline-field-standalone-value, .dataview.inline-field-value { + text-decoration: underline; + text-decoration-line: underline; + text-decoration-color: rgba(var(--ctp-yellow), 0.4); +} + +.dataview.inline-field-key { + font-weight: bold; + color: var(--bold-color); + padding-right: 8px; +} + +.kanban-plugin__lane-items > .kanban-plugin__placeholder:only-child { + border: 2px dashed rgba(var(--text-muted-rgb), 0.1); +} +.kanban-plugin__new-item-button, .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover, .kanban-plugin__lane-settings-button:hover { + box-shadow: none; + background-color: rgb(var(--ctp-crust)); +} +.kanban-plugin button { + box-shadow: none; +} +.kanban-plugin__lane-grip { + background-color: rgb(var(--ctp-crust)); + padding-top: 5px; + padding-bottom: 5px; + border-radius: 4px; +} + +.theme-dark .excalidraw, .theme-dark .excalidraw.theme--dark, .theme-light .excalidraw, .theme-light .excalidraw.theme--dark { + --button-destructive-bg-color: rgba(var(--ctp-red), 0.2); + --button-destructive-color: rgb(var(--ctp-red)); + --button-gray-1: rgb(var(--ctp-base)); + --button-gray-2: rgb(var(--ctp-mantle)); + --button-gray-3: rgb(var(--ctp-crust)); + --button-special-active-bg-color: rgb(var(--ctp-base)); + --dialog-border-color: rgb(var(--ctp-surface1)); + --focus-highlight-color: rgb(var(--ctp-accent, --ctp-teal)); + --icon-fill-color: var(--text-normal); + --icon-green-fill-color: rgb(var(--ctp-green)); + --default-bg-color: rgb(var(--ctp-base)); + --input-bg-color: rgb(var(--ctp-mantle)); + --input-border-color: rgb(var(--ctp-surface1)); + --input-hover-bg-color: rgb(var(--ctp-surface0)); + --input-label-color: rgb(var(--ctp-text)); + --island-bg-color: rgba(var(--ctp-base), 0.96); + --keybinding-color: rgb(var(--ctp-crust)); + --link-color: var(--color-accent); + --overlay-bg-color: rgba(var(--ctp-base), 0.88); + --popup-bg-color: rgb(var(--ctp-base)); + --popup-secondary-bg-color: rgb(var(--ctp-mantle)); + --popup-text-color: rgb(var(--ctp-text)); + --popup-text-inverted-color: rgb(var(--ctp-base)); + --select-highlight-color: var(--color-accent); + --shadow-island: 0 0 0 1px rgba(var(--ctp-text), 0.01), 1px 1px 5px rgb(var(--ctp-text) / 12%); + --text-primary-color: rgb(var(--ctp-text)); + --color-primary: var(--color-accent); + --color-primary-darker: var(--color-accent); + --color-primary-darkest: var(--color-accent); + --color-primary-light: rgb(var(--ctp-base)); +} + +.excalidraw .ToolIcon--plain, +.excalidraw .reset-zoom-button, +.excalidraw .ToolIcon[aria-label="Zoom in"], +.excalidraw .ToolIcon[aria-label="Zoom out"], +.excalidraw .ToolIcon[aria-label="Reset the canvas"] { + background-color: rgb(var(--ctp-crust)) !important; +} + +[data-type=excalidraw] .view-header { + margin: 0; +} + +.obsidian-icon-folder-icon { + margin-top: -5px; +} + +.anp-simple-rainbow-color-toggle.anp-simple-rainbow-icon-folder-toggle .obsidian-icon-folder-icon { + color: rgb(var(--rainbow-folder-color)); +} + +.obsidian-icon-folder-modal.prompt-results .suggestion-item { + color: var(--text-normal); +} + +.prompt .obsidian-icon-folder-subheadline { + color: var(--text-muted); +} + +.workspace-leaf-content[data-type=advanced-tables-toolbar] .nav-buttons-container { + border-style: solid; + border-color: var(--background-modifier-border); + border-width: 0px 0px 1px 0px; + margin-top: 10px; + gap: 10px; +} + +#cMenuModalBar { + border: 2px solid rgba(var(--ctp-crust), 0.2); +} +#cMenuModalBar .cMenuCommandItem { + background-color: rgba(var(--ctp-mantle), 0.4); +} +#cMenuModalBar .cMenuCommandItem:hover { + background-color: rgba(var(--ctp-mantle), 0.6); +} + +#cMenuModalBar button.cMenuCommandItem:hover { + background-color: rgba(var(--ctp-mantle), 0.6); +} + +.status-bar-item.plugin-obsidian-discordrpc { + width: 0px; + height: 0px; + text-overflow: clip; + overflow: hidden; + margin-right: 20px; + padding: 0px; +} + +.status-bar-item.plugin-obsidian-discordrpc:after { + position: absolute; + margin-top: 18px; + content: " "; + height: 18px; + width: 20px; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z'/%3E%3C/svg%3E"); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: var(--text-normal); +} + +#calendar-container h3 { + font-family: var(--font-interface); + font-weight: bold; +} + +#calendar-container .right-nav .reset-button { + margin: auto; +} + +/*------------RAINBOW FOLDERS-------------*/ +/* Rainbow colors */ +.nav-folder-children > .nav-folder:nth-child(11n+2) { + --rainbow-folder-color: var(--ctp-red); +} +.nav-folder-children > .nav-folder:nth-child(11n+3) { + --rainbow-folder-color: var(--ctp-maroon); +} +.nav-folder-children > .nav-folder:nth-child(11n+4) { + --rainbow-folder-color: var(--ctp-peach); +} +.nav-folder-children > .nav-folder:nth-child(11n+5) { + --rainbow-folder-color: var(--ctp-yellow); +} +.nav-folder-children > .nav-folder:nth-child(11n+6) { + --rainbow-folder-color: var(--ctp-green); +} +.nav-folder-children > .nav-folder:nth-child(11n+7) { + --rainbow-folder-color: var(--ctp-teal); +} +.nav-folder-children > .nav-folder:nth-child(11n+8) { + --rainbow-folder-color: var(--ctp-sky); +} +.nav-folder-children > .nav-folder:nth-child(11n+9) { + --rainbow-folder-color: var(--ctp-sapphire); +} +.nav-folder-children > .nav-folder:nth-child(11n+10) { + --rainbow-folder-color: var(--ctp-blue); +} +.nav-folder-children > .nav-folder:nth-child(11n+11) { + --rainbow-folder-color: var(--ctp-lavender); +} +.nav-folder-children > .nav-folder:nth-child(11n+12) { + --rainbow-folder-color: var(--ctp-mauve); +} + +/*-Full rainbow theme-*/ +.anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-title, .anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-title, .anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-file-title, .anp-full-rainbow-color-toggle .nav-folder-collapse-indicator svg, .anp-full-rainbow-color-toggle .is-collapsed .nav-folder-collapse-indicator svg { + color: var(--background-primary); +} +.anp-full-rainbow-color-toggle.anp-rainbow-file-toggle .nav-folder.mod-root > .nav-folder-children > .nav-file .nav-file-title { + color: var(--background-primary); +} +.anp-full-rainbow-color-toggle.anp-rainbow-file-toggle.theme-dark .nav-folder.mod-root > .nav-folder-children > .nav-file { + background-color: rgba(var(--ctp-text), var(--anp-rainbow-folder-bg-opacity)); +} +.anp-full-rainbow-color-toggle.anp-rainbow-file-toggle.theme-light .nav-folder.mod-root > .nav-folder-children > .nav-file { + background-color: rgba(var(--ctp-overlay1), var(--anp-rainbow-folder-bg-opacity)); +} +.anp-full-rainbow-color-toggle.anp-rainbow-file-toggle .nav-folder.mod-root > .nav-folder-children > .nav-file { + border-radius: 5px; + margin-bottom: 2px; +} +.anp-full-rainbow-color-toggle:not(.is-grabbing) .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-title:hover { + background-color: rgba(var(--ctp-text), 0.1); +} +.anp-full-rainbow-color-toggle:not(.is-grabbing) .nav-folder.mod-root > .nav-folder-children > .nav-file .nav-file-title:hover { + background-color: rgba(255, 255, 255, 0.1); +} +.anp-full-rainbow-color-toggle:not(.is-grabbing) .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-file-title.is-active { + border-color: rgba(var(--ctp-text), 0.2); + background-color: rgba(var(--ctp-text), 0.2); +} +.anp-full-rainbow-color-toggle .nav-file { + overflow-y: hidden; +} +.anp-full-rainbow-color-toggle .nav-file-title-content.is-being-renamed, .anp-full-rainbow-color-toggle .nav-folder-title-content.is-being-renamed { + cursor: text; + border-color: var(--interactive-accent); + background-color: rgba(var(--ctp-crust), 0.2); +} +.anp-full-rainbow-color-toggle .nav-file-title-content.is-being-renamed::selection, .anp-full-rainbow-color-toggle .nav-folder-title-content.is-being-renamed::selection { + background-color: hsla(var(--color-accent-hsl), 0.2); +} +.anp-full-rainbow-color-toggle .nav-file-title-content.is-being-renamed::selection { + background-color: rgba(var(--ctp-accent), 0.2); +} +.anp-full-rainbow-color-toggle .nav-folder.mod-root .nav-folder > .nav-folder-children { + padding: 0 5px 0 5px; +} +.anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-folder { + transition: background-color 0.4s; + background-color: rgba(var(--rainbow-folder-color), var(--anp-rainbow-folder-bg-opacity)); + border-color: rgba(var(--rainbow-folder-color), var(--anp-rainbow-folder-border-opacity)); + margin-bottom: 2px; + border-radius: 5px; +} +.anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-children { + border-color: rgba(var(--ctp-crust), 0.4); +} +.anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-file.has-focus { + background-color: rgba(var(--ctp-text), var(--anp-rainbow-folder-bg-opacity)); + border-left: none; + border-color: rgb(var(--ctp-accent)); +} +.anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-file.has-focus > .nav-file-title, .anp-full-rainbow-color-toggle .nav-folder.mod-root > .nav-folder-children > .nav-file > .nav-file-title { + margin-bottom: 0; +} +.anp-full-rainbow-color-toggle .workspace-leaf.mod-active .nav-folder.has-focus > .nav-folder-title:focus-within, .anp-full-rainbow-color-toggle .workspace-leaf.mod-active .nav-file.has-focus > .nav-file-title:focus-within, .anp-full-rainbow-color-toggle .workspace-leaf.mod-active .nav-folder.has-focus > .nav-folder-title, .anp-full-rainbow-color-toggle .workspace-leaf.mod-active .nav-file.has-focus > .nav-file-title { + box-shadow: none; +} + +/*-Simple rainbow theme-*/ +.anp-simple-rainbow-color-toggle.anp-simple-rainbow-title-toggle .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-title { + transition: color 0.4s; + color: rgb(var(--rainbow-folder-color)); +} +.anp-simple-rainbow-color-toggle.anp-simple-rainbow-icon-toggle .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-title:after { + transition: color 0.4s; + color: rgb(var(--rainbow-folder-color)); + content: "⬤"; + position: relative; + margin-left: 4px; + top: 1px; + opacity: 0.5; +} +.anp-simple-rainbow-color-toggle.anp-simple-rainbow-indentation-toggle .nav-folder.mod-root .nav-folder > .nav-folder-children { + transition: color 0.4s; + border-color: rgba(var(--rainbow-folder-color), 0.5); +} +.anp-simple-rainbow-color-toggle.anp-simple-rainbow-collapse-toggle .nav-folder.is-collapsed .collapse-icon svg.svg-icon, .anp-simple-rainbow-color-toggle.anp-simple-rainbow-collapse-toggle .nav-folder-collapse-indicator.collapse-icon svg.svg-icon { + transition: color 0.4s; + color: rgb(var(--rainbow-folder-color)); +} + +/*--------------DISABLING IN-FRONTMATTER---------------*/ +.header-normal-toggle { + --h1-color: var(--text-normal) !important; + --h2-color: var(--text-normal) !important; + --h3-color: var(--text-normal) !important; + --h4-color: var(--text-normal) !important; + --h5-color: var(--text-normal) !important; + --h6-color: var(--text-normal) !important; +} + +.decorations-normal-toggle { + --bold-color: var(--text-normal) !important; + --italic-color: var(--text-normal) !important; +} + +/*# sourceMappingURL=theme.css.map */ diff --git a/.obsidian/themes/Atom/manifest.json b/.obsidian/themes/Atom/manifest.json new file mode 100644 index 00000000..d0d338f2 --- /dev/null +++ b/.obsidian/themes/Atom/manifest.json @@ -0,0 +1,6 @@ +{ + "name": "Atom", + "version": "0.0.0", + "minAppVersion": "0.16.0", + "author": "kognise" +} \ No newline at end of file diff --git a/.obsidian/themes/Atom/theme.css b/.obsidian/themes/Atom/theme.css new file mode 100644 index 00000000..b2c7efb4 --- /dev/null +++ b/.obsidian/themes/Atom/theme.css @@ -0,0 +1,472 @@ +.theme-dark { + --background-primary: #272b34; + --background-primary-alt: #20242b; + --background-secondary: #20242b; + --background-secondary-alt: #1a1e24; + --background-accent: #000; + --background-modifier-border: #424958; + --background-modifier-form-field: rgba(0, 0, 0, 0.3); + --background-modifier-form-field-highlighted: rgba(0, 0, 0, 0.22); + --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); + --background-modifier-success: #539126; + --background-modifier-error: #3d0000; + --background-modifier-error-rgb: 61, 0, 0; + --background-modifier-error-hover: #470000; + --background-modifier-cover: rgba(0, 0, 0, 0.6); + --text-accent: #61afef; + --text-accent-hover: #69bafd; + --text-normal: #dcddde; + --text-muted: #888; + --text-faint: rgb(81, 86, 99); + --text-error: #e16d76; + --text-error-hover: #c9626a; + --text-highlight-bg: rgba(255, 255, 0, 0.4); + --text-selection: rgba(0, 122, 255, 0.2); + --text-on-accent: #dcddde; + --interactive-normal: #20242b; + --interactive-hover: #353b47; + --interactive-accent: #4c78cc; + --interactive-accent-rgb: 76, 120, 204; + --interactive-accent-hover: #5082df; + --scrollbar-active-thumb-bg: rgba(255, 255, 255, 0.2); + --scrollbar-bg: rgba(255, 255, 255, 0.05); + --scrollbar-thumb-bg: rgba(255, 255, 255, 0.1); + --panel-border-color: #18191e; + --gray-1: #5C6370; + --gray-2: #abb2bf; + --red: #e06c75; + --orange: #d19a66; + --green: #98c379; + --aqua: #56b6c2; + --purple: #c678dd; + --blue: #61afef; + --yellow: #e5c07b; +} + +.theme-light { + --background-primary: #fafafa; + --background-primary-alt: #eaeaeb; + --background-secondary: #eaeaeb; + --background-secondary-alt: #dbdbdc; + --background-accent: #fff; + --background-modifier-border: #dbdbdc; + --background-modifier-form-field: #fff; + --background-modifier-form-field-highlighted: #fff; + --background-modifier-box-shadow: rgba(0, 0, 0, 0.1); + --background-modifier-success: #A4E7C3; + --background-modifier-error: #e68787; + --background-modifier-error-rgb: 230, 135, 135; + --background-modifier-error-hover: #FF9494; + --background-modifier-cover: rgba(0, 0, 0, 0.8); + --text-accent: #1592ff; + --text-accent-hover: #2d9dff; + --text-normal: #383a42; + --text-muted: #8e8e90; + --text-faint: #999999; + --text-error: #e75545; + --text-error-hover: #f86959; + --text-highlight-bg: rgba(255, 255, 0, 0.4); + --text-selection: rgba(0, 122, 255, 0.15); + --text-on-accent: #f2f2f2; + --interactive-normal: #eaeaeb; + --interactive-hover: #dbdbdc; + --interactive-accent-rgb: 21, 146, 255; + --interactive-accent: #5871ef; + --interactive-accent-hover: #445bd1; + --scrollbar-active-thumb-bg: rgba(0, 0, 0, 0.2); + --scrollbar-bg: rgba(0, 0, 0, 0.05); + --scrollbar-thumb-bg: rgba(0, 0, 0, 0.1); + --panel-border-color: #dbdbdc; + --gray-1: #383a42; + --gray-2: #383a42; + --red: #e75545; + --green: #4ea24c; + --blue: #3d74f6; + --purple: #a625a4; + --aqua: #0084bc; + --yellow: #e35649; + --orange: #986800; +} + +body { + -webkit-font-smoothing: auto; +} + +.titlebar { + background-color: var(--background-secondary-alt); +} + +.titlebar-inner { + color: var(--text-normal); +} + +.tooltip { + background-color: var(--background-secondary-alt); + color: var(--text-muted); +} + +.tooltip:not(.mod-right):not(.mod-left):not(.mod-top) .tooltip-arrow { + border-bottom-color: var(--background-secondary-alt) !important; +} + +.mod-right .tooltip-arrow { + border-right-color: var(--background-secondary-alt) !important; +} + +.mod-left .tooltip-arrow { + border-left-color: var(--background-secondary-alt) !important; +} + +.mod-top .tooltip-arrow { + border-top-color: var(--background-secondary-alt) !important; +} + +.dropdown { + cursor: pointer; + background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234c78cc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E); +} + +.dropdown:hover { + background-color: var(--background-modifier-form-field); +} + +.search-result-file-title { + color: var(--blue); +} + +li { + padding-top: 0.5px; + padding-bottom: 0.5px; +} + +a.tag, a.tag:hover { + color: var(--yellow); + background-color: var(--background-primary-alt); + padding: 2px 4px; + border-radius: 4px; +} + +.markdown-preview-view .task-list-item-checkbox { + -webkit-appearance: none; + box-sizing: border-box; + border: 1px solid var(--text-muted); + border-radius: 2px; + position: relative; + width: 1.3em; + height: 1.3em; + margin: 0; + filter: none; + outline: none; + margin-right: 4px; + margin-bottom: 2px; + cursor: pointer; + vertical-align: baseline; +} + +.markdown-preview-view .task-list-item-checkbox:checked { + border: none; + background-color: var(--interactive-accent); +} + +.markdown-preview-view .task-list-item-checkbox:checked::before { + content: ' '; + position: absolute; + background-color: white; + left: 2px; + top: 2px; + right: 2px; + bottom: 2px; + -webkit-mask-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 14 14\'%3E%3Cpolygon points=\'5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039\'%3E%3C/polygon%3E%3C/svg%3E'); +} + +.markdown-preview-view .task-list-item.is-checked a { + filter: saturate(0.8) brightness(0.7); +} + +.cm-formatting-task { + font-family: var(--font-monospace); +} + +.nav-file, .nav-folder { + padding: 1px 2px; +} + +.nav-file-title, .nav-folder-title { + width: 100%; + cursor: default; + display: flex; + align-items: baseline; + flex-direction: row; + --text-normal: var(--text-muted); +} + +body:not(.is-grabbing) .nav-file .nav-file-title:hover:not(.is-active), body:not(.is-grabbing) .nav-folder .nav-folder-title:hover:not(.is-active) { + --background-secondary-alt: transparent; +} + +.nav-file .is-active { + --background-secondary-alt: var(--interactive-accent); + --text-normal: #ffffff; +} + +.nav-file-title-content, .nav-folder-title-content { + text-indent: 0; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + display: block; +} + +.markdown-preview-view.is-readable-line-width .markdown-preview-section, .markdown-source-view.is-readable-line-width .CodeMirror { + max-width: 900px !important; + line-height: 26px; +} + +blockquote { + margin: 20px 0; + border-radius: 4px !important; +} + +body { + --font-monospace: 'Fira Code', 'Source Code Pro', monospace; +} + +mjx-container[jax='CHTML'] { + text-align: left; + outline: none; +} + +.math-block { + font-size: 1.25em; +} + +.cm-s-obsidian pre.HyperMD-codeblock, .cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math:not(.cm-formatting-math-begin):not(.cm-formatting-math-end), .markdown-preview-view code { + /* fix `` tag color */ + color: #98c379; +} + +.cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math, .cm-s-obsidian span.hmd-fold-math-placeholder { + /* fix tag size */ + font-weight: 100; + font-style: normal; +} + +.markdown-preview-view code { + vertical-align: 0; + word-break: break-word; +} + +.markdown-preview-section:not(:first-child) h1, .markdown-preview-section:not(:first-child) h2, .markdown-preview-section:not(:first-child) h3, .markdown-preview-section:not(:first-child) h4, .markdown-preview-section:not(:first-child) h5, .markdown-preview-section:not(:first-child) h6 { + margin-top: 40px !important; +} + +.markdown-preview-section h1, .markdown-preview-section h2, .markdown-preview-section h3, .markdown-preview-section h4, .markdown-preview-section h5, .markdown-preview-section h6 { + line-height: 1.2; +} + +h1, h2, h3, h4, h5, h6, strong, b, .view-header-title { + font-weight: 600; +} + +.workspace>.workspace-split>.workspace-leaf:first-of-type:last-of-type .view-header { + border: none; +} + +.status-bar, .side-dock.mod-right, .side-dock.mod-left { + border-color: var(--panel-border-color); + border-width: 1px; +} + +.status-bar { + --bar-vertical-padding: 4px; + --bar-height: calc(22px + (var(--bar-vertical-padding) * 2)); + line-height: 20px; + padding: 0 20px; + height: var(--bar-height); + max-height: var(--bar-height); + min-height: var(--bar-height); + overflow: hidden; +} + +.status-bar-item { + margin: auto 0; +} + +.status-bar-item>* { + padding-top: var(--bar-vertical-padding) !important; + padding-bottom: var(--bar-vertical-padding) !important; +} + +.side-dock-plugin-panel-inner { + padding-left: 6px; +} + +a, .markdown-preview-view .internal-link { + text-decoration: none; +} + +a:hover, .markdown-preview-view .internal-link:hover { + text-decoration: underline; +} + +.theme-dark :not(pre)>code[class*='language-'], .theme-dark pre[class*='language-'] { + background: var(--background-primary-alt); +} + +.theme-light :not(pre)>code[class*='language-'], .theme-light pre[class*='language-'] { + background: var(--background-primary); + box-shadow: inset 0 0 0 1px var(--background-primary-alt); + border-radius: 4px; +} + +.markdown-embed:not(.hover-popover .markdown-embed), .file-embed { + margin: 0; + border-radius: 4px; + margin: 0 !important; + margin-inline-start: 30px !important; + margin-inline-end: 30px !important; +} + +.markdown-embed { + border: 1px solid var(--background-modifier-border); + border-left-width: 5px; +} + +.markdown-embed .markdown-preview-view { + padding: 0 20px; +} + +.markdown-embed-link, .file-embed-link { + left: 8px; + right: unset; +} + +.theme-light .token.operator, .theme-light .token.entity, .theme-light .token.url, .theme-light .language-css .token.string, .theme-light .style .token.string { + background: transparent; +} + +/* Source: https://github.com/AGMStudio/prism-theme-one-dark */ + +code[class*='language-'], pre[class*='language-'] { + text-align: left !important; + white-space: pre !important; + word-spacing: normal !important; + word-break: normal !important; + word-wrap: normal !important; + line-height: 1.5 !important; + -moz-tab-size: 4 !important; + -o-tab-size: 4 !important; + tab-size: 4 !important; + -webkit-hyphens: none !important; + -moz-hyphens: none !important; + -ms-hyphens: none !important; + hyphens: none !important; +} + +/* Code blocks */ + +pre[class*='language-'] { + padding: 1em !important; + margin: .5em 0 !important; + overflow: auto !important; +} + +/* Inline code */ + +:not(pre)>code[class*='language-'] { + padding: .1em !important; + border-radius: .3em !important; + white-space: normal !important; +} + +.token.comment, .token.prolog, .token.doctype, .token.cdata { + color: var(--gray-1) !important; +} + +.token.punctuation { + color: var(--gray-2) !important; +} + +.token.selector, .token.tag { + color: var(--red) !important; +} + +.token.property, .token.boolean, .token.number, .token.constant, .token.symbol, .token.attr-name, .token.deleted { + color: var(--orange) !important; +} + +.token.string, .token.char, .token.attr-value, .token.builtin, .token.inserted { + color: var(--green) !important; +} + +.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string { + color: var(--aqua) !important; +} + +.token.atrule, .token.keyword { + color: var(--purple) !important; +} + +.token.function, .token.macro.property { + color: var(--blue) !important; +} + +.token.class-name { + color: var(--yellow) !important; +} + +.token.regex, .token.important, .token.variable { + color: var(--purple) !important; +} + +.token.important, .token.bold { + font-weight: bold !important; +} + +.token.italic { + font-style: italic !important; +} + +.token.entity { + cursor: help !important; +} + +pre.line-numbers { + position: relative !important; + padding-left: 3.8em !important; + counter-reset: linenumber !important; +} + +pre.line-numbers>code { + position: relative !important; +} + +.line-numbers .line-numbers-rows { + position: absolute !important; + pointer-events: none !important; + top: 0 !important; + font-size: 100% !important; + left: -3.8em !important; + width: 3em !important; + /* works for line-numbers below 1000 lines */ + letter-spacing: -1px !important; + border-right: 0 !important; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} + +.line-numbers-rows>span { + pointer-events: none !important; + display: block !important; + counter-increment: linenumber !important; +} + +.line-numbers-rows>span:before { + content: counter(linenumber) !important; + color: var(--syntax-gray-1) !important; + display: block !important; + padding-right: 0.8em !important; + text-align: right !important; +} diff --git a/.obsidian/themes/GitHub theme/manifest.json b/.obsidian/themes/GitHub theme/manifest.json new file mode 100644 index 00000000..3feb61c9 --- /dev/null +++ b/.obsidian/themes/GitHub theme/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "GitHub theme", + "version": "1.0.1", + "minAppVersion": "1.0.0", + "author": "@krios2146", + "authorUrl": "https://github.com/krios2146" +} diff --git a/.obsidian/themes/GitHub theme/theme.css b/.obsidian/themes/GitHub theme/theme.css new file mode 100644 index 00000000..73c7550f --- /dev/null +++ b/.obsidian/themes/GitHub theme/theme.css @@ -0,0 +1,659 @@ +body { + /* Animations */ + --anim-duration-none: 0; + --anim-duration-superfast: 70ms; + --anim-duration-fast: 140ms; + --anim-duration-moderate: 300ms; + --anim-duration-slow: 560ms; + --anim-motion-smooth: cubic-bezier(0.45, 0.05, 0.55, 0.95); + --anim-motion-delay: cubic-bezier(0.65, 0.05, 0.36, 1); + --anim-motion-jumpy: cubic-bezier(0.68, -0.55, 0.27, 1.55); + --anim-motion-swing: cubic-bezier(0, 0.55, 0.45, 1); + /* Blockquotes */ + --blockquote-border-thickness: 2px; + --blockquote-border-color: var(--interactive-accent); + --blockquote-font-style: normal; + --blockquote-color: inherit; + --blockquote-background-color: transparent; + /* Bold */ + --bold-weight: var(--font-semibold); + --bold-color: inherit; + /* Borders */ + --border-width: 1px; + /* Buttons */ + --button-radius: var(--input-radius); + /* Callouts */ + --callout-border-width: 0px; + --callout-border-opacity: 0.25; + --callout-padding: var(--size-4-3) var(--size-4-3) var(--size-4-3) var(--size-4-6); + --callout-radius: var(--radius-s); + --callout-blend-mode: var(--highlight-mix-blend-mode); + --callout-title-padding: 0; + --callout-title-size: inherit; + --callout-content-padding: 0; + /* Checkboxes */ + --checkbox-radius: var(--radius-s); + --checkbox-size: 15px; + --checkbox-marker-color: var(--background-primary); + --checkbox-color: var(--interactive-accent); + --checkbox-color-hover: var(--interactive-accent-hover); + --checkbox-border-color: var(--text-faint); + --checkbox-border-color-hover: var(--text-muted); + --checklist-done-decoration: line-through; + --checklist-done-color: var(--text-muted); + /* Code */ + --code-size: var(--font-smaller); + --code-background: var(--background-primary-alt); + --code-normal: var(--text-muted); + --code-comment: var(--text-faint); + --code-function: var(--color-orange); + --code-important: var(--color-orange); + --code-keyword: var(--color-red); + --code-property: var(--color-blue); + --code-punctuation: var(--text-muted); + --code-string: var(--color-cyan); + --code-tag: var(--color-red); + --code-value: var(--color-purple); + /* Collapse icons */ + --collapse-icon-color: var(--text-faint); + --collapse-icon-color-collapsed: var(--text-accent); + /* Cursor */ + --cursor: default; + --cursor-link: pointer; + /* Dialogs - e.g. small modals, confirmations */ + --dialog-width: 560px; + --dialog-max-width: 80vw; + --dialog-max-height: 85vh; + /* Dividers — between panes */ + --divider-color: var(--background-modifier-border); + --divider-color-hover: var(--interactive-accent); + --divider-width: 1px; + --divider-width-hover: 3px; + --divider-vertical-height: calc(100% - var(--header-height)); + /* Dragging */ + --drag-ghost-background: rgba(0, 0, 0, 0.85); + --drag-ghost-text-color: #fff; + /* Embeds */ + --embed-background: inherit; + --embed-border-left: 2px solid var(--interactive-accent); + --embed-border-right: none; + --embed-border-top: none; + --embed-border-bottom: none; + --embed-padding: 0 0 0 var(--size-4-6); + --embed-font-style: inherit; + /* Blocks */ + --embed-block-shadow-hover: 0 0 0 1px var(--background-modifier-border), + inset 0 0 0 1px var(--background-modifier-border); + /* File layout */ + --file-line-width: 700px; + --file-folding-offset: 24px; + --file-margins: var(--size-4-8); + --file-header-font-size: var(--font-ui-small); + --file-header-font-weight: 400; + --file-header-border: var(--border-width) solid transparent; + --file-header-justify: center; + /* Relative font sizes */ + --font-smallest: 0.8em; + --font-smaller: 0.875em; + --font-small: 0.933em; + /* UI font sizes */ + --font-ui-smaller: 12px; + --font-ui-small: 13px; + --font-ui-medium: 15px; + --font-ui-large: 20px; + /* Font weights */ + --font-thin: 100; + --font-extralight: 200; + --font-light: 300; + --font-normal: 400; + --font-medium: 500; + --font-semibold: 600; + --font-bold: 700; + --font-extrabold: 800; + --font-black: 900; + /* Footnotes */ + --footnote-size: var(--font-smaller); + /* Graphs */ + --graph-controls-width: 240px; + --graph-text: var(--text-normal); + --graph-line: var(--color-base-35, var(--background-modifier-border-focus)); + --graph-node: var(--text-muted); + --graph-node-unresolved: var(--text-faint); + --graph-node-focused: var(--text-accent); + --graph-node-tag: var(--color-green); + --graph-node-attachment: var(--color-yellow); + /* Headings */ + --heading-formatting: var(--text-faint); + --h1-color: #7ee787; + --h2-color: #7ee787; + --h3-color: #7ee787; + --h4-color: #7ee787; + --h5-color: #7ee787; + --h6-color: #7ee787; + --h1-font: inherit; + --h2-font: inherit; + --h3-font: inherit; + --h4-font: inherit; + --h5-font: inherit; + --h6-font: inherit; + --h1-line-height: 1.2; + --h2-line-height: 1.2; + --h3-line-height: 1.3; + --h4-line-height: 1.4; + --h5-line-height: var(--line-height-normal); + --h6-line-height: var(--line-height-normal); + --h1-size: 2em; + --h2-size: 1.6em; + --h3-size: 1.37em; + --h4-size: 1.25em; + --h5-size: 1.12em; + --h6-size: 1.12em; + --h1-style: normal; + --h2-style: normal; + --h3-style: normal; + --h4-style: normal; + --h5-style: normal; + --h6-style: normal; + --h1-variant: normal; + --h2-variant: normal; + --h3-variant: normal; + --h4-variant: normal; + --h5-variant: normal; + --h6-variant: normal; + --h1-weight: 700; + --h2-weight: 600; + --h3-weight: 600; + --h4-weight: 600; + --h5-weight: 600; + --h6-weight: 600; + /* View header */ + --header-height: 40px; + /* Horizontal rules */ + --hr-color: var(--background-modifier-border); + --hr-thickness: 2px; + /* Icons */ + --icon-size: var(--icon-m); + --icon-stroke: var(--icon-m-stroke-width); + --icon-xs: 14px; + --icon-s: 16px; + --icon-m: 18px; + --icon-l: 18px; + --icon-xs-stroke-width: 2px; + --icon-s-stroke-width: 2px; + --icon-m-stroke-width: 1.75px; + --icon-l-stroke-width: 1.75px; + --icon-color: var(--text-muted); + --icon-color-hover: var(--text-muted); + --icon-color-active: var(--text-accent); + --icon-color-focused: var(--text-normal); + --icon-opacity: 0.85; + --icon-opacity-hover: 1; + --icon-opacity-active: 1; + --clickable-icon-radius: var(--radius-s); + /* Indentation guide */ + --indentation-guide-width: 1px; + --indentation-guide-color: rgba(var(--mono-rgb-100), 0.12); + --indentation-guide-color-active: rgba(var(--mono-rgb-100), 0.3); + /* Inline title */ + --inline-title-color: var(--h1-color); + --inline-title-font: var(--h1-font); + --inline-title-line-height: var(--h1-line-height); + --inline-title-size: var(--h1-size); + --inline-title-style: var(--h1-style); + --inline-title-variant: var(--h1-variant); + --inline-title-weight: var(--h1-weight); + /* Inputs */ + --input-height: 30px; + --input-radius: 5px; + --input-font-weight: var(--font-normal); + --input-border-width: 1px; + /* Italic */ + --italic-color: inherit; + /* Z-index */ + --layer-cover: 5; + --layer-sidedock: 10; + --layer-status-bar: 15; + --layer-popover: 30; + --layer-slides: 45; + --layer-modal: 50; + --layer-notice: 60; + --layer-menu: 65; + --layer-tooltip: 70; + --layer-dragged-item: 80; + /* Line heights */ + --line-height-normal: 1.5; + --line-height-tight: 1.3; + /* Links */ + --link-color: var(--text-accent); + --link-color-hover: var(--text-accent-hover); + --link-decoration: none; + --link-decoration-hover: underline; + --link-decoration-thickness: auto; + --link-external-color: var(--text-accent); + --link-external-color-hover: var(--text-accent-hover); + --link-external-decoration: none; + --link-external-decoration-hover: underline; + --link-external-filter: none; + --link-unresolved-color: var(--text-accent); + --link-unresolved-opacity: 0.7; + --link-unresolved-filter: none; + --link-unresolved-decoration-style: solid; + --link-unresolved-decoration-color: hsla(var(--interactive-accent-hsl), 0.3); + /* Lists */ + --list-indent: 2em; + --list-spacing: 0.075em; + --list-marker-color: var(--text-faint); + --list-marker-color-hover: var(--text-muted); + --list-marker-color-collapsed: var(--text-accent); + --list-bullet-border: none; + --list-bullet-radius: 50%; + --list-bullet-size: 5px; + --list-bullet-transform: none; + /* File navigator */ + --nav-item-size: var(--font-ui-small); + --nav-item-color: var(--text-muted); + --nav-item-color-hover: var(--text-normal); + --nav-item-color-active: var(--text-normal); + --nav-item-color-selected: var(--text-normal); + --nav-item-color-highlighted: var(--text-accent-hover); + --nav-item-background-hover: var(--background-modifier-hover); + --nav-item-background-active: var(--background-modifier-hover); + --nav-item-background-selected: hsla(var(--color-accent-hsl), 0.2); + --nav-item-padding: var(--size-4-1) var(--size-4-2); + --nav-item-weight: inherit; + --nav-item-weight-hover: inherit; + --nav-item-weight-active: inherit; + --nav-item-white-space: nowrap; + --nav-indentation-guide-width: var(--indentation-guide-width); + --nav-indentation-guide-color: var(--indentation-guide-color); + --nav-collapse-icon-color: var(--collapse-icon-color); + --nav-collapse-icon-color-collapsed: var(--text-faint); + /* Modals - e.g. settings, community themes, community plugins */ + --modal-background: var(--background-primary); + --modal-width: 90vw; + --modal-height: 85vh; + --modal-max-width: 1100px; + --modal-max-height: 1000px; + --modal-max-width-narrow: 800px; + --modal-border-width: var(--border-width); + --modal-border-color: var(--color-base-30, var(--background-modifier-border-focus)); + --modal-radius: var(--radius-l); + --modal-community-sidebar-width: 280px; + /* Popovers - file previews */ + --popover-width: 450px; + --popover-height: 400px; + --popover-max-height: 70vh; + --popover-pdf-width: 600px; + --popover-pdf-height: 800px; + --popover-font-size: var(--font-text-size); + /* Prompts - e.g. quick switcher, command palette */ + --prompt-width: 700px; + --prompt-max-width: 80vw; + --prompt-max-height: 70vh; + --prompt-border-width: var(--border-width); + --prompt-border-color: var(--color-base-40, var(--background-modifier-border-focus)); + /* Radiuses */ + --radius-s: 4px; + --radius-m: 8px; + --radius-l: 10px; + --radius-xl: 16px; + /* Ribbon */ + --ribbon-background: var(--background-secondary); + --ribbon-background-collapsed: var(--background-primary); + --ribbon-width: 44px; + --ribbon-padding: var(--size-4-2) var(--size-4-1) var(--size-4-3); + /* Scrollbars */ + --scrollbar-active-thumb-bg: rgba(var(--mono-rgb-100), 0.2); + --scrollbar-bg: rgba(var(--mono-rgb-100), 0.05); + --scrollbar-thumb-bg: rgba(var(--mono-rgb-100), 0.1); + /* Search */ + --search-clear-button-color: var(--text-muted); + --search-clear-button-size: 13px; + --search-icon-color: var(--text-muted); + --search-icon-size: 18px; + --search-result-background: var(--background-primary); + /* Layout sizing - for padding and margins */ + --size-2-1: 2px; + --size-2-2: 4px; + --size-2-3: 6px; + --size-4-1: 4px; + --size-4-2: 8px; + --size-4-3: 12px; + --size-4-4: 16px; + --size-4-5: 20px; + --size-4-6: 24px; + --size-4-8: 32px; + --size-4-9: 36px; + --size-4-12: 48px; + --size-4-16: 64px; + --size-4-18: 72px; + /* Sidebar */ + --sidebar-markdown-font-size: calc(var(--font-text-size) * 0.9); + --sidebar-tab-text-display: none; + /* Sliders */ + --slider-thumb-border-width: 1px; + --slider-thumb-border-color: var(--background-modifier-border-hover); + --slider-thumb-height: 18px; + --slider-thumb-width: 18px; + --slider-thumb-y: -6px; + --slider-thumb-radius: 50%; + --slider-s-thumb-size: 15px; + --slider-s-thumb-position: -5px; + --slider-track-background: var(--background-modifier-border); + --slider-track-height: 3px; + /* Status bar */ + --status-bar-background: var(--background-secondary); + --status-bar-border-color: var(--divider-color); + --status-bar-border-width: 1px 0 0 1px; + --status-bar-font-size: var(--font-ui-smaller); + --status-bar-text-color: var(--text-muted); + --status-bar-position: fixed; + --status-bar-radius: var(--radius-m) 0 0 0; + /* Swatch for color inputs */ + --swatch-radius: 14px; + --swatch-height: 24px; + --swatch-width: 24px; + --swatch-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.15); + /* Tabs */ + --tab-background-active: var(--background-primary); + --tab-text-color: var(--text-faint); + --tab-text-color-focused: var(--text-muted); + --tab-text-color-focused-active: var(--text-normal); + --tab-font-size: var(--font-ui-small); + --tab-font-weight: inherit; + --tab-container-background: var(--background-secondary); + --tab-divider-color: var(--background-modifier-border-hover); + --tab-outline-color: var(--divider-color); + --tab-outline-width: 1px; + --tab-curve: 6px; + --tab-radius: var(--radius-s); + --tab-radius-active: 6px 6px 0 0; + --tab-width: 200px; + --tab-max-width: 320px; + /* Stacked tabs */ + --tab-stacked-pane-width: 700px; + --tab-stacked-header-width: var(--header-height); + --tab-stacked-font-size: var(--font-ui-small); + --tab-stacked-font-weight: 400; + --tab-stacked-text-align: left; + --tab-stacked-text-transform: rotate(0deg); + --tab-stacked-text-writing-mode: vertical-lr; + --tab-stacked-shadow: -8px 0 8px 0 rgba(0, 0, 0, 0.05); + /* Tables */ + --table-background: transparent; + --table-border-width: 1px; + --table-border-color: var(--background-modifier-border); + --table-white-space: normal; + --table-header-background: var(--table-background); + --table-header-background-hover: inherit; + --table-header-border-width: var(--table-border-width); + --table-header-border-color: var(--table-border-color); + --table-header-font: inherit; + --table-header-size: var(--font-smaller); + --table-header-weight: var(--font-normal); + --table-header-color: var(--text-muted); + --table-text-size: inherit; + --table-text-color: inherit; + --table-column-max-width: none; + --table-column-alt-background: var(--table-background); + --table-column-first-border-width: var(--table-border-width); + --table-column-last-border-width: var(--table-border-width); + --table-row-background-hover: var(--table-background); + --table-row-alt-background: var(--table-background); + --table-row-last-border-width: var(--table-border-width); + /* Tags */ + --tag-size: var(--font-smaller); + --tag-color: var(--text-accent); + --tag-color-hover: var(--text-accent); + --tag-decoration: none; + --tag-decoration-hover: none; + --tag-background: hsla(var(--interactive-accent-hsl), 0.1); + --tag-background-hover: hsla(var(--interactive-accent-hsl), 0.2); + --tag-border-color: hsla(var(--interactive-accent-hsl), 0.15); + --tag-border-color-hover: hsla(var(--interactive-accent-hsl), 0.15); + --tag-border-width: 0px; + --tag-padding-x: 0.65em; + --tag-padding-y: 0.25em; + --tag-radius: 2em; + /* Window frame */ + --titlebar-background: var(--background-secondary); + --titlebar-background-focused: var(--background-secondary-alt); + --titlebar-border-width: 0px; + --titlebar-border-color: var(--background-modifier-border); + --titlebar-text-color: var(--text-muted); + --titlebar-text-color-focused: var(--text-normal); + --titlebar-text-color-highlighted: var(--text-accent-hover); + --titlebar-text-weight: var(--font-bold); + /* Toggles */ + --toggle-border-width: 2px; + --toggle-width: 40px; + --toggle-radius: 18px; + --toggle-thumb-color: white; + --toggle-thumb-radius: 18px; + --toggle-thumb-height: 18px; + --toggle-thumb-width: 18px; + --toggle-s-border-width: 2px; + --toggle-s-width: 34px; + --toggle-s-thumb-height: 15px; + --toggle-s-thumb-width: 15px; + /* Vault name */ + --vault-name-font-size: var(--font-ui-small); + --vault-name-font-weight: var(--font-medium); + --vault-name-color: var(--text-normal); + /* Workspace */ + --workspace-background-translucent: rgba(var(--mono-rgb-0), 0.6); + /* Color mappings ------------------------ */ + /* Accent HSL values */ + --accent-h: 212; + --accent-s: 100%; + --accent-l: 67%; + /* Backgrounds */ + --background-primary: var(--color-base-00); + --background-primary-alt: var(--color-base-10); + --background-secondary: var(--color-base-20); + --background-modifier-hover: rgba(var(--mono-rgb-100), 0.12); + --background-modifier-active-hover: hsla(var(--interactive-accent-hsl), 0.15); + --background-modifier-border: var(--color-base-30); + --background-modifier-border-hover: var(--color-base-30); + --background-modifier-border-focus: var(--color-accent); + --background-modifier-error-rgb: var(--color-red-rgb); + --background-modifier-error: var(--color-red); + --background-modifier-error-hover: var(--color-red); + --background-modifier-success-rgb: var(--color-green-rgb); + --background-modifier-success: var(--color-green); + --background-modifier-message: rgba(0, 0, 0, 0.9); + /* Inputs */ + --background-modifier-form-field: var(--color-base-00); + /* Text */ + --text-normal: var(--color-base-100); + --text-muted: var(--color-base-70); + --text-faint: var(--color-base-50); + --text-on-accent: white; + --text-error: var(--color-red); + --text-success: var(--color-green); + --text-selection: hsla(var(--color-accent-hsl), 0.2); + --text-accent: var(--color-accent); + --text-accent-hover: var(--color-accent-2); + --interactive-normal: var(--color-base-00); + --interactive-hover: var(--color-base-10); + --interactive-accent-hsl: var(--color-accent-hsl); + --interactive-accent: var(--color-accent-1); + --interactive-accent-hover: var(--color-accent-2); +} + +.theme-dark { + color-scheme: dark; + --highlight-mix-blend-mode: lighten; + --mono-rgb-0: 0, 0, 0; + --mono-rgb-100: 177, 186, 196; + --color-red-rgb: 248, 81, 73; + --color-red: #F47067; + --color-green-rgb: 126, 231, 135; + --color-green: #7ee787; + --color-orange: #FFA657; + --color-yellow: #d29922; + --color-cyan: #A5D6FF; + --color-blue: #6CB6FF; + --color-purple: #D2A8FF; + --color-pink: #f778ba; + --color-base-00: #0d1117; + --color-base-10: #161b22; + --color-base-20: #161b22; + --color-base-25: #010409; + --color-base-30: #30363d; + --color-base-35: #21262d; + --color-base-40: #30363d; + --color-base-50: #6e7681; + --color-base-60: #999; + --color-base-70: #8b949e; + --color-base-100: #c9d1d9; + --color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l); + --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); + --color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 3.8%)); + --color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 3.8%)); + --background-modifier-form-field: var(--color-base-25); + --background-secondary-alt: var(--color-base-25); + --interactive-normal: var(--color-base-35); + --interactive-hover: var(--color-base-40); + --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); + --background-modifier-cover: rgba(10, 10, 10, 0.4); + --text-highlight-bg: rgba(255, 208, 0, 0.4); + --text-highlight-bg-active: rgba(255, 128, 0, 0.4); + --text-selection: hsla(var(--interactive-accent-hsl), 0.4); + --input-shadow: none; + --input-shadow-hover: none; + --shadow-s: none; + --shadow-l: none; +} +.is-mobile.theme-dark { + --color-base-00: #0d1117; + --color-base-10: #161b22; + --color-base-20: #161b22; + --tag-background: hsla(var(--interactive-accent-hsl), 0.2); + --modal-background: var(--background-secondary); + --search-result-background: var(--background-secondary); + --background-modifier-form-field: var(--background-modifier-border); + --background-modifier-cover: rgba(0, 0, 0, 0.5); + --background-modifier-hover: rgba(var(--mono-rgb-100), 0.15); + --settings-home-background: var(--background-primary); +} + +/* Tables */ +.markdown-rendered th { + color: var(--text-normal); + font-weight: 600; +} +.markdown-rendered td, +.markdown-rendered th { + padding: var(--size-2-3) var(--size-4-3); +} +.markdown-rendered tbody tr:nth-child(2n) { + background-color: var(--background-secondary); +} + +/* Buttons */ +button { + border: 1px solid #f0f6fc1a; + transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); +} +.theme-dark .dropdown { + border: 1px solid #f0f6fc1a; +} +.theme-dark .dropdown:hover { + border: 1px solid var(--color-base-70); +} +button:hover { + border: 1px solid var(--color-base-70); + cursor: pointer; +} +button.mod-cta { + background-color: #238636; + color: var(--text-on-accent); +} +button.mod-cta:hover { + border-color: #f0f6fc1a; + background-color: #2ea043; +} + + +/* Kanban */ +.kanban-plugin { + background-color: var(--background-primary); +} +.kanban-plugin__lane { + background-color: var(--background-secondary-alt); + border: 1px solid var(--color-base-35); +} +.kanban-plugin__lane-title { + flex-grow: 0; + width: fit-content; +} +.kanban-plugin__item-content-wrapper, +.kanban-plugin__item-title-wrapper { + background: var(--background-primary-alt); +} +.kanban-plugin__icon>svg { + transform: rotate(90deg); +} +.kanban-plugin__lane-settings-button-wrapper { + margin-left: auto; +} +div.kanban-plugin__lane-title-count { + background-color: var(--color-base-35); + border-radius: 1em; + padding: 2px 5px; +} +.kanban-plugin__item button.kanban-plugin__item-prefix-button, +.kanban-plugin__item button.kanban-plugin__item-postfix-button, +.kanban-plugin__lane button.kanban-plugin__lane-settings-button { + padding: 0 5px; + height: 24px; +} +.kanban-plugin__item button.kanban-plugin__item-prefix-button:hover, +.kanban-plugin__item button.kanban-plugin__item-postfix-button:hover, +.kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover { + background-color: var(--color-base-30); + cursor: pointer; +} +button.kanban-plugin__new-item-button { + border: none; + justify-content: flex-start; +} +.kanban-plugin__new-item-button:hover { + color: var(--text-normal); + background-color: inherit; +} +.kanban-plugin__lane-items { + padding: 8px 15px; +} + +/* fix: input borders */ +textarea:active, +input[type='text']:active, +input[type='search']:active, +input[type='email']:active, +input[type='password']:active, +input[type='number']:active, +textarea:focus, +input[type='text']:focus, +input[type='search']:focus, +input[type='email']:focus, +input[type='password']:focus, +input[type='number']:focus, +textarea:focus-visible, +input[type='text']:focus-visible, +input[type='search']:focus-visible, +input[type='email']:focus-visible, +input[type='password']:focus-visible, +input[type='number']:focus-visible, +select:focus, .dropdown:focus { + box-shadow: 0 0 0 1px var(--background-modifier-border-focus); +} + +/* inline code block */ +.markdown-rendered :not(pre) > code { + background-color: #6e768166; + padding: 0.2em 0.4em; + border-radius: 6px; + color: var(--color-base-100); +} \ No newline at end of file diff --git a/.obsidian/themes/Minimal/manifest.json b/.obsidian/themes/Minimal/manifest.json index c429e6f6..6a017705 100644 --- a/.obsidian/themes/Minimal/manifest.json +++ b/.obsidian/themes/Minimal/manifest.json @@ -1,6 +1,6 @@ { "name": "Minimal", - "version": "6.0.12", + "version": "6.1.9", "minAppVersion": "0.16.0", "author": "@kepano", "authorUrl": "https://twitter.com/kepano" diff --git a/.obsidian/themes/Minimal/theme.css b/.obsidian/themes/Minimal/theme.css index 3544539d..f6989920 100644 --- a/.obsidian/themes/Minimal/theme.css +++ b/.obsidian/themes/Minimal/theme.css @@ -1,6 +1,6 @@ /* --------------------------------------------------------------------------- -Minimal Obsidian 6.0.0 alpha by @kepano +Minimal Theme by @kepano User interface replacement for Obsidian. @@ -38,7 +38,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -body{--font-text-theme:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,sans-serif;--font-editor-theme:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,sans-serif;--font-monospace-theme:Menlo,SFMono-Regular,Consolas,"Roboto Mono",monospace;--font-interface-theme:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,sans-serif;--font-editor:var(--font-editor-override),var(--font-text-override),var(--font-editor-theme);--minimal-version:"You are currently using Minimal 6.0\a\aIf you run into any issues, try updating to the latest version of the theme. It is also highly recommended to install Minimal Theme Settings and Contextual Typography plugins.\a\a Full documentation:\a minimal.guide\a\a Support my work:\a buymeacoffee.com/kepano"}body{--blockquote-style:normal;--blockquote-color:var(--text-muted);--blockquote-border-thickness:1px;--blockquote-border-color:var(--quote-opening-modifier);--embed-block-shadow-hover:none;--font-ui-smaller:12px;--normal-weight:400;--bold-weight:600;--link-weight:inherit;--h1-size:1.125em;--h2-size:1.05em;--h3-size:1em;--h4-size:0.90em;--h5-size:0.85em;--h6-size:0.85em;--h1-weight:600;--h2-weight:600;--h3-weight:500;--h4-weight:500;--h5-weight:500;--h6-weight:400;--h1-variant:normal;--h2-variant:normal;--h3-variant:normal;--h4-variant:small-caps;--h5-variant:small-caps;--h6-variant:small-caps;--h1-style:normal;--h2-style:normal;--h3-style:normal;--h4-style:normal;--h5-style:normal;--h6-style:normal;--line-width:40rem;--line-height:1.5;--max-width:88%;--max-col-width:18em;--icon-muted:0.5;--border-width:1px;--nested-padding:1.1em;--folding-offset:10px;--list-edit-offset:1em;--list-indent:2em;--list-spacing:0.075em;--input-height:32px;--header-height:40px;--mobile-left-sidebar-width:280pt;--mobile-right-sidebar-width:240pt;--tag-radius:14px;--tag-border-width:1px;--top-left-padding-y:0px;--image-muted:0.7;--spacing-p:0.75em}.mod-macos{--top-left-padding-y:24px}body{--base-h:0;--base-s:0%;--base-l:96%;--accent-h:201;--accent-s:17%;--accent-l:50%;--red:#d04255;--yellow:#e5b567;--green:#a8c373;--orange:#d5763f;--cyan:#73bbb2;--blue:#6c99bb;--purple:#9e86c8;--pink:#b05279}.theme-light,.theme-light.minimal-default-light,body .excalidraw{--bg1:white;--bg2:hsl( var(--base-h), var(--base-s), var(--base-l) );--bg3:hsla( var(--base-h), var(--base-s), calc(var(--base-l) - 50%), 0.12 );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 6%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 12%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 20%) );--tx1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 90%) );--tx2:hsl( var(--base-h), calc(var(--base-s) - 20%), calc(var(--base-l) - 45%) );--tx3:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) - 25%) );--tx4:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) - 60%) );--ax1:hsl( var(--accent-h), var(--accent-s), var(--accent-l) );--ax2:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) - 10%) );--ax3:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) + 10%) );--hl1:hsla( var(--accent-h), 50%, calc(var(--base-l) - 20%), 30% );--hl2:rgba(255, 225, 0, 0.5)}.excalidraw.theme--dark,.theme-dark,.theme-dark.minimal-default-dark,.theme-light.minimal-light-contrast .titlebar,.theme-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-l:60%;--base-l:15%;--bg1:hsl( var(--base-h), var(--base-s), var(--base-l) );--bg2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 2%) );--bg3:hsla( var(--base-h), var(--base-s), calc(var(--base-l) + 40%), 0.12 );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 6%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 12%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 20%) );--tx1:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 67%) );--tx2:hsl( var(--base-h), calc(var(--base-s) - 20%), calc(var(--base-l) + 45%) );--tx3:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 20%) );--tx4:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 50%) );--ax1:hsl( var(--accent-h), var(--accent-s), var(--accent-l) );--ax2:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) + 12%) );--ax3:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) - 12%) );--hl1:hsla( var(--accent-h), 50%, 40%, 30% );--hl2:rgba(255, 177, 80, 0.3);--sp1:#fff}.theme-light.minimal-light-white{--background-primary:white;--background-secondary:white;--background-secondary-alt:white;--ribbon-background:white}.theme-dark.minimal-dark-black{--base-d:0%;--titlebar-background:black;--background-primary:black;--background-secondary:black;--background-secondary-alt:black;--ribbon-background:black;--background-modifier-hover:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 10%));--tx1:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 75%) );--tx2:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 50%) );--tx3:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 25%) );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 12%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 20%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 30%) )}.theme-light{--mono100:black;--mono0:white}.theme-dark{--mono100:white;--mono0:black}.excalidraw.theme--dark,.theme-dark,.theme-light,.theme-light.minimal-light-contrast .titlebar,.theme-light.minimal-light-contrast.is-mobile .workspace-drawer.mod-left,.theme-light.minimal-light-contrast.minimal-status-off .status-bar,body .excalidraw{--background-modifier-accent:var(--ax3);--background-modifier-border-focus:var(--ui3);--background-modifier-border-hover:var(--ui2);--background-modifier-border:var(--ui1);--background-modifier-form-field-highlighted:var(--bg1);--background-modifier-form-field:var(--bg1);--background-modifier-success:var(--green);--background-modifier-hover:var(--bg3);--background-modifier-active-hover:var(--bg3);--background-primary:var(--bg1);--background-primary-alt:var(--bg2);--background-secondary:var(--bg2);--background-secondary-alt:var(--bg1);--background-table-rows:var(--bg2);--code-normal:var(--tx1);--divider-color:var(--ui1);--frame-divider-color:var(--ui1);--icon-color-active:var(--tx1);--icon-color-focused:var(--tx1);--icon-color-hover:var(--tx2);--icon-color:var(--tx2);--icon-hex:var(--mono0);--interactive-accent-hover:var(--ax3);--interactive-accent:var(--ax3);--interactive-hover:var(--ui1);--list-marker-color:var(--tx3);--modal-border-color:var(--ui2);--nav-item-background-active:var(--bg3);--nav-item-background-hover:var(--bg3);--nav-item-color:var(--tx2);--nav-item-color-active:var(--tx1);--nav-item-color-hover:var(--tx1);--nav-collapse-icon-color:var(--tx2);--nav-collapse-icon-color-collapsed:var(--tx2);--nav-indentation-guide-color:var(--ui1);--prompt-border-color:var(--ui3);--quote-opening-modifier:var(--ui2);--ribbon-background:var(--bg2);--scrollbar-active-thumb-bg:var(--ui3);--scrollbar-bg:transparent;--scrollbar-thumb-bg:var(--ui1);--tab-text-color-focused-active:var(--tx1);--tab-outline-color:var(--ui1);--text-accent-hover:var(--ax2);--text-accent:var(--ax1);--text-blockquote:var(--tx2);--text-bold:var(--tx1);--text-code:var(--tx4);--text-error:var(--red);--text-faint:var(--tx3);--text-highlight-bg:var(--hl2);--text-italic:var(--tx1);--text-muted:var(--tx2);--text-normal:var(--tx1);--text-on-accent:white;--text-selection:var(--hl1);--title-color-inactive:var(--tx2);--title-color:var(--tx1);--titlebar-background:var(--bg2);--titlebar-background-focused:var(--bg2);--titlebar-text-color-focused:var(--tx1);--tag-color:var(--tx2);--tag-bg:transparent;--tag-bg2:transparent}.theme-light.minimal-light-contrast .theme-dark{--tab-container-background:var(--bg2)}.theme-light,body .excalidraw{--interactive-normal:var(--bg1);--interactive-accent-rgb:220,220,220;--active-line-bg:rgba(0,0,0,0.035);--background-modifier-cover:hsla(var(--base-h),calc(var(--base-s) - 70%),calc(var(--base-l) - 20%),0.5);--text-highlight-bg-active:rgba(0, 0, 0, 0.1);--background-modifier-error:rgba(255,0,0,0.14);--background-modifier-error-hover:rgba(255,0,0,0.08);--shadow-color:rgba(0, 0, 0, 0.1);--btn-shadow-color:rgba(0, 0, 0, 0.05)}.excalidraw.theme--dark,.theme-dark{--interactive-normal:var(--bg3);--interactive-accent-rgb:66,66,66;--active-line-bg:rgba(255,255,255,0.04);--background-modifier-cover:hsla(var(--base-h),var(--base-s), calc(var(--base-l) - 12%), 0.5);--text-highlight-bg-active:rgba(255, 255, 255, 0.1);--background-modifier-error:rgba(255,20,20,0.12);--background-modifier-error-hover:rgba(255,20,20,0.18);--background-modifier-box-shadow:rgba(0, 0, 0, 0.3);--shadow-color:rgba(0, 0, 0, 0.3);--btn-shadow-color:rgba(0, 0, 0, 0.2)}.theme-light.minimal-light-white{--background-table-rows:var(--bg2)}.theme-light.minimal-light-tonal{--background-primary:var(--bg2);--background-primary-alt:var(--bg3);--background-table-rows:var(--bg3)}.theme-dark.minimal-dark-tonal{--ribbon-background:var(--bg1);--background-secondary:var(--bg1);--background-table-rows:var(--bg3)}.theme-dark.minimal-dark-black{--background-primary-alt:var(--bg3);--background-table-rows:var(--bg3);--modal-border:var(--ui2);--active-line-bg:rgba(255,255,255,0.085);--background-modifier-form-field:var(--bg3);--background-modifier-cover:hsla(var(--base-h),var(--base-s),calc(var(--base-d) + 8%),0.9);--background-modifier-box-shadow:rgba(0, 0, 0, 1)}body{--font-adaptive-normal:var(--font-text-size,var(--editor-font-size));--font-adaptive-small:var(--font-ui-medium);--font-adaptive-smaller:var(--font-ui-small);--font-adaptive-smallest:11px;--line-width-adaptive:var(--line-width);--line-width-wide:calc(var(--line-width) + 12.5%);--font-code:calc(var(--font-adaptive-normal) * 0.9);--table-text-size:calc(var(--font-adaptive-normal) * 0.875)}@media (max-width:400pt){.is-mobile{--font-adaptive-small:calc(var(--font-ui-medium) + 2px);--font-adaptive-smaller:calc(var(--font-ui-smaller) + 2px);--font-adaptive-smallest:calc(var(--font-ui-smaller) + 2px);--max-width:88%}}@media (min-width:400pt){.is-mobile{--font-adaptive-small:calc(var(--font-ui-medium) + 3px);--font-adaptive-smaller:calc(var(--font-ui-smaller) + 2px);--font-adaptive-smallest:calc(var(--font-ui-smallest) + 2px);--line-width-adaptive:calc(var(--line-width) + 6rem);--max-width:90%}}.minimal-dev-block-width .mod-root .workspace-leaf-content:after{display:flex;align-items:flex-end;content:"\00a0pane\00a0";font-size:12px;color:gray;font-family:var(--font-monospace);width:100%;max-width:100%;height:100vh;top:0;z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable .mod-root .view-header:after{display:flex;align-items:flex-end;color:green;font-size:12px;font-family:var(--font-monospace);content:" ";width:var(--folding-offset);height:100vh;border-left:1px solid green;border-right:1px solid green;background-color:rgba(0,128,0,.1);top:0;left:max(calc(50% - var(--line-width-adaptive)/ 2 - 1px),calc(50% - var(--max-width)/ 2 - 1px));z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable-off .mod-root .view-header:after{display:flex;align-items:flex-end;color:green;font-size:12px;font-family:var(--font-monospace);content:" ";width:var(--folding-offset);height:100vh;border-left:1px solid green;border-right:1px solid green;background-color:rgba(0,128,0,.1);top:0;left:calc(50% - var(--max-width)/ 2 - 1px);z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width .mod-root .view-content:before{display:flex;align-items:flex-end;content:"\00a0max\00a0";font-size:12px;color:red;width:var(--max-width);height:100vh;border-left:1px solid red;border-right:1px solid red;top:0;left:50%;transform:translate(-50%,0);z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable .mod-root .view-header:before{display:flex;align-items:flex-end;content:"\00a0wide\00a0";font-size:12px;color:orange;font-family:var(--font-monospace);width:var(--line-width-wide);max-width:var(--max-width);height:100vh;border-left:1px solid orange;border-right:1px solid orange;background-color:rgba(255,165,0,.05);top:0;left:50%;transform:translate(-50%,0);z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable .mod-root .view-content:after{display:flex;align-items:flex-end;color:#00f;font-size:12px;font-family:var(--font-monospace);content:"\00a0normal";width:var(--line-width-adaptive);max-width:var(--max-width);height:100vh;border-left:1px solid #00f;border-right:1px solid #00f;background-color:rgba(0,0,255,.08);top:0;left:50%;transform:translate(-50%,0);z-index:999;position:fixed;pointer-events:none}.CodeMirror-wrap>div>textarea{opacity:0}.markdown-source-view.mod-cm6 hr{border-width:2px}.mod-cm6 .cm-editor .cm-line{padding:0}.cm-editor .cm-content{padding-top:.5em}.markdown-source-view{color:var(--text-normal)}.markdown-reading-view>.markdown-preview-view{padding-top:18px}.markdown-source-view.mod-cm6 .cm-scroller{padding-top:18px;padding-left:0;padding-right:0}body:not(.is-mobile) .markdown-source-view.mod-cm6 .cm-gutters{position:absolute!important;z-index:0;margin-left:0}.cm-editor .cm-lineNumbers .cm-gutterElement{min-width:25px}@media (max-width:400pt){.cm-editor .cm-lineNumbers .cm-gutterElement{padding-right:4px;padding-left:8px}}.cm-editor .cm-lineNumbers .cm-gutterElement{font-variant-numeric:tabular-nums}.cm-editor .cm-gutterElement.cm-active .cm-heading-marker,.cm-editor .cm-lineNumbers .cm-gutterElement.cm-active{color:var(--text-muted)}.markdown-source-view.mod-cm6 .edit-block-button{cursor:var(--cursor);color:var(--text-faint);background-color:var(--background-primary);top:0;right:auto;left:0;opacity:0;transition:opacity .2s;padding:4px 4px 4px 9px}.markdown-source-view.mod-cm6 .edit-block-button svg{margin:0!important}.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.edit-block-button{width:30px!important;padding-left:7px!important;transform:none!important;margin-left:0!important}.is-live-preview:not(.is-readable-line-width) .cm-embed-block>.edit-block-button{padding-left:0!important;margin-left:0!important;transform:none!important;right:0;left:auto;padding:4px}.markdown-source-view.mod-cm6 .edit-block-button:hover{background-color:var(--background-primary);color:var(--text-muted)}.markdown-source-view.mod-cm6 .edit-block-button svg{opacity:1}.markdown-source-view.mod-cm6 .edit-block-button:hover svg{opacity:1}.markdown-source-view.mod-cm6 .cm-embed-block{padding:0;border:0;border-radius:0}.markdown-source-view.mod-cm6 .cm-embed-block:hover{border:0}.markdown-source-view.mod-cm6 .cm-foldPlaceholder{color:var(--text-faint)}.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote{background-color:transparent;border-left-width:1px}.cm-editor .cm-foldPlaceholder,.markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator{cursor:var(--cursor)}.markdown-source-view.mod-cm6 .HyperMD-list-line.HyperMD-list-line-1 .cm-fold-indicator .collapse-indicator{right:8px}.markdown-source-view.mod-cm6 .HyperMD-list-line.HyperMD-task-line:not(.HyperMD-list-line-1) .cm-fold-indicator .collapse-indicator{right:8px;width:auto}.markdown-source-view.mod-cm6 .HyperMD-list-line:not(.HyperMD-list-line-1) .cm-fold-indicator .collapse-indicator{right:-8px;top:1px;width:26px}.markdown-source-view.mod-cm6 .is-collapsed~.cm-formatting-list .list-bullet:after,ul>li.is-collapsed::marker{color:var(--text-accent)}.cm-gutterElement .collapse-indicator,.markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator,.markdown-source-view.mod-cm6 .fold-gutter{opacity:0}.cm-gutterElement .is-collapsed .collapse-indicator,.cm-gutterElement:hover .collapse-indicator,.markdown-source-view.mod-cm6 .cm-fold-indicator.is-collapsed .collapse-indicator,.markdown-source-view.mod-cm6 .cm-fold-indicator.is-collapsed .collapse-indicator svg,.markdown-source-view.mod-cm6 .cm-line:hover .cm-fold-indicator .collapse-indicator,.markdown-source-view.mod-cm6 .fold-gutter.is-collapsed,.markdown-source-view.mod-cm6 .fold-gutter:hover{opacity:1}body .markdown-source-view.mod-cm6.is-readable-line-width:not(.is-rtl) .cm-contentContainer{max-width:100%}body:not(.is-mobile).minimal-folding .markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer{max-width:100%}.theme-light .cm-link,.theme-light .cm-operator,.theme-light .cm-string,.theme-light .cm-string-2,.theme-light .language-css .token.string,.theme-light .style .token.string,.theme-light .token.entity,.theme-light .token.operator,.theme-light .token.url{background-color:transparent}.markdown-source-view,.markdown-source-view.mod-cm5,.markdown-source-view.mod-cm6{padding:0}.cm-s-obsidian .CodeMirror-code{padding-right:0}.CodeMirror-lines{padding-bottom:170px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding-left:0;padding-right:0}.cm-s-obsidian pre.HyperMD-list-line{padding-top:0}.workspace .markdown-preview-view .markdown-embed{margin:0}.workspace .markdown-preview-view .markdown-embed-content{max-height:none}.internal-embed .markdown-preview-section,.markdown-embed-title{max-width:100%}.CodeMirror-linenumber{font-size:var(--font-adaptive-small)!important;font-feature-settings:'tnum';color:var(--text-faint);padding-top:3px}.cm-s-obsidian .cm-active span.cm-link.cm-hmd-barelink.cm-formatting-link-start,.cm-s-obsidian .cm-formatting-link+span.cm-link.cm-formatting.cm-formatting-link-end,.cm-s-obsidian span.cm-footref.cm-formatting.cm-formatting-link.cm-formatting-link-end,.cm-s-obsidian span.cm-formatting-link,.cm-s-obsidian span.cm-link.cm-hmd-barelink.cm-formatting-link-start,span.cm-image-marker{color:var(--text-faint)}.cm-s-obsidian span.cm-footref{font-size:var(--font-adaptive-normal)}.cm-s-obsidian pre.HyperMD-footnote{font-size:var(--font-adaptive-small);padding-left:20px}.cm-formatting-quote{color:var(--text-faint)!important}.markdown-preview-view blockquote,.markdown-preview-view ol,.markdown-preview-view p,.markdown-preview-view ul{margin-block-start:var(--spacing-p);margin-block-end:var(--spacing-p)}.markdown-preview-view ol ol,.markdown-preview-view ol ul,.markdown-preview-view ul ol,.markdown-preview-view ul ul{margin-block-start:0em;margin-block-end:0em}.markdown-preview-view h1,.markdown-preview-view h2,.markdown-preview-view h3,.markdown-preview-view h4,.markdown-preview-view h5,.markdown-preview-view h6{margin-block-start:1em;margin-block-end:var(--spacing-p)}.markdown-preview-view .mod-highlighted{transition:background-color .3s ease;background-color:var(--text-selection);color:inherit}.workspace-leaf-content>.view-content{--file-margins:0}.inline-title{padding-top:16px}.minimal-status-off .status-bar{--status-bar-position:static;--status-bar-radius:0;--status-bar-border-width:1px 0 0 0;--status-bar-background:var(--background-secondary);--status-bar-border-color:var(--ui1)}body:not(.minimal-status-off) .status-bar{background-color:var(--background-primary);--status-bar-border-width:0}.status-bar{transition:color .2s linear;color:var(--text-faint);font-size:var(--font-adaptive-smallest)}.status-bar .sync-status-icon.mod-success,.status-bar .sync-status-icon.mod-working{color:var(--text-faint)}.status-bar:hover,.status-bar:hover .sync-status-icon.mod-success,.status-bar:hover .sync-status-icon.mod-working{color:var(--text-muted);transition:color .2s linear}.status-bar .plugin-sync:hover .sync-status-icon.mod-success,.status-bar .plugin-sync:hover .sync-status-icon.mod-working{color:var(--text-normal)}.status-bar .status-bar-item{cursor:var(--cursor)!important}.status-bar .status-bar-item.cMenu-statusbar-button:hover,.status-bar .status-bar-item.mod-clickable:hover,.status-bar .status-bar-item.plugin-editor-status:hover,.status-bar .status-bar-item.plugin-sync:hover{text-align:center;background-color:var(--background-modifier-hover)!important}.tab-stack-top-flipped{--tab-stacked-text-transform:rotate(180deg);--tab-stacked-text-align:right}.tab-stack-bottom{--tab-stacked-text-transform:rotate(180deg)}.tab-stack-bottom-flipped{--tab-stacked-text-align:right}body:not(.is-mobile) .view-actions .view-action:last-child{margin-left:-1px}.minimal-focus-mode .workspace-ribbon:not(.is-collapsed)~.mod-root .view-header:hover .view-actions,.mod-right.is-collapsed~.mod-root .view-header:hover .view-actions,.view-action.is-active:hover,.workspace-ribbon.mod-left.is-collapsed~.mod-root .view-header:hover .view-actions,body:not(.minimal-focus-mode) .workspace-ribbon:not(.is-collapsed)~.mod-root .view-actions{opacity:1;transition:opacity .25s ease-in-out}.minimal-tab-title-hover .view-header-title-container{opacity:0;transition:opacity .1s ease-in-out}.minimal-tab-title-hover .view-header:hover .view-header-title-container,.minimal-tab-title-hover .workspace-tab-header-container:hover+.workspace-tab-container .view-header-title-container{opacity:1;transition:opacity .1s ease-in-out}.minimal-tab-title-hidden .view-header-title-container{opacity:0}body.window-title-off .titlebar-text{display:none}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame),.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame){--titlebar-background:var(--bg1)}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .sidebar-toggle-button.mod-right,.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .workspace-ribbon.mod-left.is-collapsed,.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .workspace-tabs.mod-top,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame).is-focused .sidebar-toggle-button.mod-right,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame).is-focused .workspace-ribbon.mod-left.is-collapsed,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame).is-focused .workspace-tabs.mod-top{--titlebar-background-focused:var(--bg1)}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame):not(.minimal-light-white) .workspace-ribbon.mod-left:not(.is-collapsed),.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame):not(.minimal-light-white) .workspace-ribbon.mod-left:not(.is-collapsed){--titlebar-background:var(--bg2)}.mod-macos.is-hidden-frameless:not(.is-popout-window) .sidebar-toggle-button.mod-right{right:0;padding-right:var(--size-4-2)}body.is-focused{--titlebar-background-focused:var(--background-secondary)}body .mod-right-split{--background-secondary:var(--background-primary)}body .mod-right-split :not(.mod-top) .workspace-tab-header-container{--tab-container-background:var(--background-primary)}.is-hidden-frameless:not(.colorful-frame) .mod-left-split .mod-top .workspace-tab-header-container{--tab-container-background:var(--background-secondary)}.modal button:not(.mod-warning),.modal.mod-settings button:not(.mod-cta):not(.mod-warning),.modal.mod-settings button:not(.mod-warning){white-space:nowrap;transition:background-color .2s ease-out,border-color .2s ease-out}button.mod-warning{border:1px solid var(--background-modifier-error);color:var(--text-error);box-shadow:0 1px 1px 0 var(--btn-shadow-color);transition:background-color .2s ease-out}button.mod-warning:hover{border:1px solid var(--background-modifier-error);color:var(--text-error);box-shadow:0 2px 3px 0 var(--btn-shadow-color);transition:background-color .2s ease-out}.document-replace,.document-search{max-width:100%}.document-search-container{margin:0 auto;max-width:var(--max-width);width:var(--line-width-adaptive)}.minimal-focus-mode .document-search-container{margin-top:var(--header-height)}.is-mobile .CodeMirror-foldgutter-open:after,.is-mobile span[title="Fold line"]:after{transform:translateX(-2px)!important}body.is-mobile .CodeMirror-foldgutter-folded:after,body.is-mobile span[title="Unfold line"]:after{content:"›";font-family:sans-serif;transform:translateY(-2px);transform:rotate(-90deg) translateY(2px) translateX(-.45em)}body.is-mobile .CodeMirror-foldgutter-open:after,body.is-mobile span[title="Fold line"]:after{content:"›";font-family:sans-serif;transform:rotate(360deg)}body{--ig-adjust-reading:-0.65em;--ig-adjust-edit:-1px}.markdown-rendered.show-indentation-guide li.task-list-item>ol::before,.markdown-rendered.show-indentation-guide li.task-list-item>ul::before,.markdown-rendered.show-indentation-guide li>ol::before,.markdown-rendered.show-indentation-guide li>ul::before{left:var(--ig-adjust-reading)}.markdown-source-view.mod-cm6 .cm-indent::before{transform:translateX(var(--ig-adjust-edit))}.is-mobile .markdown-rendered.show-indentation-guide li>ol::before,.is-mobile .markdown-rendered.show-indentation-guide li>ul::before{left:calc(0em + var(--ig-adjust-reading))}.is-mobile .markdown-source-view.mod-cm6 .cm-indent::before{transform:translateX(calc(2px + var(--ig-adjust-edit)))}.modal-container.mod-confirmation .modal{width:480px;min-width:0}.modal-container.mod-confirmation .modal-content{margin-top:10px}.modal-container.mod-confirmation .modal-content .setting-item{margin-top:10px}.modal-container.mod-confirmation .modal-button-container{display:flex}.modal-container.mod-confirmation .modal-button-container>.mod-warning:nth-last-child(3){background:0 0;border:none;font-weight:500;color:var(--text-error);cursor:pointer;margin-right:auto;box-shadow:none;padding-left:0;padding-right:0}.modal-container.mod-confirmation .modal-button-container>.mod-warning:nth-last-child(3):hover{text-decoration:underline}.modal-container.mod-confirmation .modal-button-container>.mod-warning:nth-last-child(2){margin-left:auto}.theme-light{--progress-outline:rgba(0,0,0,0.05)}.theme-dark{--progress-outline:rgba(255,255,255,0.04)}.markdown-preview-view progress,.markdown-rendered progress,.markdown-source-view.is-live-preview progress{width:220px}.markdown-preview-view progress[value]::-webkit-progress-bar,.markdown-rendered progress[value]::-webkit-progress-bar,.markdown-source-view.is-live-preview progress[value]::-webkit-progress-bar{box-shadow:inset 0 0 0 var(--border-width) var(--progress-outline)}.markdown-preview-view progress[value^='1']::-webkit-progress-value,.markdown-preview-view progress[value^='2']::-webkit-progress-value,.markdown-preview-view progress[value^='3']::-webkit-progress-value,.markdown-rendered progress[value^='1']::-webkit-progress-value,.markdown-rendered progress[value^='2']::-webkit-progress-value,.markdown-rendered progress[value^='3']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='1']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='2']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='3']::-webkit-progress-value{background-color:var(--red)}.markdown-preview-view progress[value^='4']::-webkit-progress-value,.markdown-preview-view progress[value^='5']::-webkit-progress-value,.markdown-rendered progress[value^='4']::-webkit-progress-value,.markdown-rendered progress[value^='5']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='4']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='5']::-webkit-progress-value{background-color:var(--orange)}.markdown-preview-view progress[value^='6']::-webkit-progress-value,.markdown-preview-view progress[value^='7']::-webkit-progress-value,.markdown-rendered progress[value^='6']::-webkit-progress-value,.markdown-rendered progress[value^='7']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='6']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='7']::-webkit-progress-value{background-color:var(--yellow)}.markdown-preview-view progress[value^='8']::-webkit-progress-value,.markdown-preview-view progress[value^='9']::-webkit-progress-value,.markdown-rendered progress[value^='8']::-webkit-progress-value,.markdown-rendered progress[value^='9']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='8']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='9']::-webkit-progress-value{background-color:var(--green)}.markdown-preview-view progress[value='1']::-webkit-progress-value,.markdown-preview-view progress[value='100']::-webkit-progress-value,.markdown-rendered progress[value='1']::-webkit-progress-value,.markdown-rendered progress[value='100']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='1']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='100']::-webkit-progress-value{background-color:var(--text-accent)}.markdown-preview-view progress[value='0']::-webkit-progress-value,.markdown-preview-view progress[value='2']::-webkit-progress-value,.markdown-preview-view progress[value='3']::-webkit-progress-value,.markdown-preview-view progress[value='4']::-webkit-progress-value,.markdown-preview-view progress[value='5']::-webkit-progress-value,.markdown-preview-view progress[value='6']::-webkit-progress-value,.markdown-preview-view progress[value='7']::-webkit-progress-value,.markdown-preview-view progress[value='8']::-webkit-progress-value,.markdown-preview-view progress[value='9']::-webkit-progress-value,.markdown-rendered progress[value='0']::-webkit-progress-value,.markdown-rendered progress[value='2']::-webkit-progress-value,.markdown-rendered progress[value='3']::-webkit-progress-value,.markdown-rendered progress[value='4']::-webkit-progress-value,.markdown-rendered progress[value='5']::-webkit-progress-value,.markdown-rendered progress[value='6']::-webkit-progress-value,.markdown-rendered progress[value='7']::-webkit-progress-value,.markdown-rendered progress[value='8']::-webkit-progress-value,.markdown-rendered progress[value='9']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='0']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='2']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='3']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='4']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='5']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='6']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='7']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='8']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='9']::-webkit-progress-value{background-color:var(--red)}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar,body:not(.native-scrollbars) ::-webkit-scrollbar{width:11px;background-color:transparent}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar:horizontal,body:not(.native-scrollbars) ::-webkit-scrollbar:horizontal{height:11px}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-corner,body:not(.native-scrollbars) ::-webkit-scrollbar-corner{background-color:transparent}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-track,body:not(.native-scrollbars) ::-webkit-scrollbar-track{background-color:transparent}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-thumb,body:not(.native-scrollbars) ::-webkit-scrollbar-thumb{background-clip:padding-box;border-radius:20px;border:3px solid transparent;background-color:var(--background-modifier-border);border-width:3px 3px 3px 3px;min-height:45px}body:not(.hider-scrollbars).styled-scrollbars .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:hover,body:not(.hider-scrollbars).styled-scrollbars .modal .vertical-tab-header::-webkit-scrollbar-thumb:hover,body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-thumb:hover,body:not(.native-scrollbars) .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:hover,body:not(.native-scrollbars) .modal .vertical-tab-header::-webkit-scrollbar-thumb:hover,body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:hover{background-color:var(--background-modifier-border-hover)}body:not(.hider-scrollbars).styled-scrollbars .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:active,body:not(.hider-scrollbars).styled-scrollbars .modal .vertical-tab-header::-webkit-scrollbar-thumb:active,body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-thumb:active,body:not(.native-scrollbars) .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:active,body:not(.native-scrollbars) .modal .vertical-tab-header::-webkit-scrollbar-thumb:active,body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:active{background-color:var(--background-modifier-border-focus)}.tooltip{transition:none;animation:none}.tooltip.mod-left,.tooltip.mod-right{transform:none;animation:none}.tooltip.mod-error{color:var(--text-error)}.markdown-preview-view blockquote{padding:0 0 0 var(--nested-padding);font-size:var(--blockquote-size)}.markdown-source-view.mod-cm6 .HyperMD-quote,.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote{font-size:var(--blockquote-size)}.is-live-preview .cm-hmd-indent-in-quote{color:var(--text-faint)}.is-live-preview.is-readable-line-width>.cm-callout .callout{max-width:var(--max-width);margin:0 auto}body{--checkbox-size:17px;--checkbox-icon:20px;--checkbox-radius:50%;--checkbox-top:2px;--checkbox-left:0px;--checkbox-margin:0px 6px 0px -1.35em}.checkbox-square{--checkbox-size:15px;--checkbox-icon:17px;--checkbox-radius:4px;--checkbox-top:1px;--checkbox-left:0px;--checkbox-margin:0px 8px 0px -1.35em}body.minimal-strike-lists{--checklist-done-decoration:line-through}body:not(.minimal-strike-lists){--checklist-done-decoration:none;--checklist-done-color:var(--text-normal)}input[type=checkbox]{padding:0;margin:0 6px 0 0}.markdown-preview-section>.contains-task-list{padding-bottom:.5em}ul>li.task-list-item .task-list-item-checkbox{margin-left:-1.35em}.mod-cm6 .HyperMD-task-line[data-task] .task-list-item-checkbox{margin:-2px 1px 0 -.6em}.markdown-preview-view .task-list-item-checkbox{position:relative;top:var(--checkbox-top);left:var(--checkbox-left);line-height:0;margin:var(--checkbox-margin)}.markdown-preview-view ul>li.task-list-item{text-indent:0;line-height:var(--line-height)}.markdown-preview-view .task-list-item{padding-inline-start:0}.is-mobile .mod-cm6 .HyperMD-task-line[data-task] .task-list-item-checkbox{margin-left:-.4em}.is-mobile .markdown-preview-view input[type=checkbox].task-list-item-checkbox{top:.2em}.embed-strict .internal-embed .markdown-embed{padding:0;border:none}.embed-strict .internal-embed .markdown-embed .markdown-embed-title{display:none}.embed-strict .internal-embed:not([src*="#^"]) .markdown-embed-link{width:24px;opacity:0}.contextual-typography .embed-strict .internal-embed .markdown-preview-view .markdown-preview-sizer>div,.embed-strict.contextual-typography .internal-embed .markdown-preview-view .markdown-preview-sizer>div{margin:0;width:100%}.markdown-embed .markdown-preview-view .markdown-preview-sizer{padding-bottom:0!important}.markdown-preview-view.is-readable-line-width .markdown-embed .markdown-preview-sizer,.markdown-preview-view.markdown-embed .markdown-preview-sizer{max-width:100%;width:100%;min-height:0!important;padding-bottom:0!important}.markdown-embed .markdown-preview-section div:last-child p,.markdown-embed .markdown-preview-section div:last-child ul{margin-block-end:2px}.markdown-preview-view .markdown-embed{margin-top:var(--nested-padding);padding:0 calc(var(--nested-padding)/ 2) 0 var(--nested-padding)}.markdown-embed-title{line-height:18px;height:24px}.internal-embed:not([src*="#^"]) .markdown-embed-link{right:0;width:100%}.file-embed-link,.markdown-embed-link{top:0;right:0;text-align:right;justify-content:flex-end}.file-embed-link svg,.markdown-embed-link svg{width:16px;height:16px}.markdown-embed .file-embed-link,.markdown-embed .markdown-embed-link{opacity:.6;transition:opacity .1s linear}.markdown-embed .file-embed-link:hover,.markdown-embed .markdown-embed-link:hover{opacity:1}.markdown-embed .file-embed-link:hover:hover,.markdown-embed .markdown-embed-link:hover:hover{background-color:transparent;--icon-color:var(--text-accent)}.file-embed-link:hover,.markdown-embed-link:hover{color:var(--text-muted)}.markdown-preview-view .markdown-embed-content>.markdown-preview-view{max-height:none!important}.markdown-embed-content{max-height:none!important}.markdown-embed .markdown-preview-view{padding:0}.internal-embed .markdown-embed{border:0;border-left:1px solid var(--quote-opening-modifier);border-radius:0}a[href*="obsidian://search"]{background-image:url("data:image/svg+xml,")}.theme-dark a[href*="obsidian://search"]{background-image:url("data:image/svg+xml,")}div>ol,div>ul{padding-inline-start:1.4em}ul>li{min-height:1.4em}ol>li{margin-left:0}ol{margin-left:0;list-style:default}.markdown-source-view.mod-cm6 .cm-content .HyperMD-list-line{margin-left:var(--list-edit-offset)!important}.markdown-preview-view ol>li,.markdown-preview-view ul>li,.markdown-source-view ol>li,.markdown-source-view ul>li,.mod-cm6 .HyperMD-list-line.cm-line{padding-top:var(--list-spacing);padding-bottom:var(--list-spacing)}body:not(.is-mobile) .markdown-source-view.mod-cm6 .list-bullet:after{left:-5px}body:not(.is-mobile) .markdown-source-view.mod-cm6 span.cm-formatting.cm-formatting-list.cm-formatting-list-ol{margin-left:-5px}.is-mobile ul>li:not(.task-list-item)::marker{font-size:.8em}.is-mobile .markdown-rendered ol,.is-mobile .markdown-rendered ul{padding-inline-start:var(--list-indent)}.is-mobile .markdown-rendered div>ol,.is-mobile .markdown-rendered div>ul{padding-inline-start:2em}.is-mobile .el-ol>ol,.is-mobile .el-ul>ul{margin-left:0}.is-mobile .workspace-leaf-content:not([data-type=search]) .workspace-leaf-content[data-type=markdown] .nav-buttons-container{border-bottom:none;padding-top:5px}.is-mobile .mod-root .workspace-leaf-content[data-type=markdown] .search-input-container{width:calc(100% - 160px)}.embedded-backlinks .nav-header~.search-input-container{width:calc(100% - 140px);margin-top:12px}.embedded-backlinks .nav-buttons-container{position:absolute;right:0;top:14px}.embedded-backlinks .backlink-pane>.tree-item-self,.embedded-backlinks .backlink-pane>.tree-item-self:hover{text-transform:none;color:var(--text-normal);font-size:var(--font-adaptive-normal);font-weight:500;letter-spacing:unset}.markdown-source-view.mod-cm6 table{border-collapse:collapse}.markdown-preview-view table{margin-block-start:1em}.markdown-preview-view .dataview.table-view-table thead.table-view-thead tr th,.markdown-preview-view td,.markdown-preview-view th,.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th,.markdown-source-view.mod-cm6 td,.markdown-source-view.mod-cm6 th{padding:4px 10px}.markdown-preview-view .dataview.table-view-table thead.table-view-thead tr th:first-child,.markdown-preview-view td:first-child,.markdown-preview-view th:first-child,.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th:first-child,.markdown-source-view.mod-cm6 td:first-child,.markdown-source-view.mod-cm6 th:first-child{padding-left:0}body{--table-header-border-width:0 1px;--table-column-first-border-width:0;--table-column-last-border-width:0;--table-row-last-border-width:0}.is-live-preview .el-table{width:100%;max-width:100%}.cm-hmd-table-sep-dummy,.cm-s-obsidian .HyperMD-table-row span.cm-hmd-table-sep{color:var(--text-faint);font-weight:400}body.minimal-unstyled-tags .cm-s-obsidian span.cm-hashtag,body.minimal-unstyled-tags .frontmatter-container .tag,body.minimal-unstyled-tags a.tag{color:var(--tag-color);font-weight:var(--link-weight);text-decoration:none}body.minimal-unstyled-tags .cm-s-obsidian span.cm-hashtag:hover,body.minimal-unstyled-tags .frontmatter-container .tag:hover,body.minimal-unstyled-tags a.tag:hover{color:var(--text-normal)}body:not(.minimal-unstyled-tags) .frontmatter-container .tag,body:not(.minimal-unstyled-tags) a.tag{background-color:var(--tag-bg);border:var(--tag-border-width) solid var(--background-modifier-border);color:var(--tag-color);font-size:calc(var(--font-adaptive-normal) * .8);font-weight:var(--link-weight);font-family:var(--font-interface);vertical-align:middle;display:inline-block;margin:1px 0;border-radius:var(--tag-radius)}body:not(.minimal-unstyled-tags) a.tag:hover{color:var(--text-normal);border-color:var(--background-modifier-border-hover);background-color:var(--tag-bg2)}body:not(.minimal-unstyled-tags) .cm-s-obsidian span.cm-hashtag{background-color:var(--tag-bg);border:var(--tag-border-width) solid var(--background-modifier-border);color:var(--tag-color);font-size:calc(var(--font-adaptive-normal) * .8);font-family:var(--font-interface);font-weight:var(--link-weight);text-align:center;text-decoration:none;margin:0;vertical-align:text-bottom;padding-top:2px;border-left:none;border-right:none;padding-bottom:3px;cursor:text}body:not(.minimal-unstyled-tags) .cm-s-obsidian span.cm-hashtag:hover{background-color:var(--tag-bg2)}body:not(.minimal-unstyled-tags) span.cm-hashtag.cm-hashtag-begin{border-top-left-radius:var(--tag-radius);border-bottom-left-radius:var(--tag-radius);padding-left:8px;border-right:none;border-left:var(--tag-border-width) solid var(--background-modifier-border)}body:not(.minimal-unstyled-tags) span.cm-hashtag.cm-hashtag-end{border-top-right-radius:var(--tag-radius);border-bottom-right-radius:var(--tag-radius);border-left:none;padding-right:8px;border-right:var(--tag-border-width) solid var(--background-modifier-border)}h1,h2,h3,h4{letter-spacing:-.02em}body,button,input{font-family:var(--font-interface)}.cm-s-obsidian span.cm-error{color:var(--red)}.markdown-preview-view,.popover,.workspace-leaf-content[data-type=markdown]{font-family:var(--font-text)}.cm-s-obsidian,.cm-s-obsidian .cm-formatting-hashtag,.markdown-preview-view,.markdown-source-view.mod-cm6.is-live-preview .cm-scroller,body{font-size:var(--font-adaptive-normal);font-weight:var(--normal-weight);line-height:var(--line-height)}.cm-s-obsidian,.cm-s-obsidian .cm-formatting-hashtag,.cm-s-obsidian span.cm-formatting-task,.markdown-source-view,.markdown-source-view.mod-cm6 .cm-scroller{line-height:var(--line-height);font-family:var(--font-editor)}.cm-s-obsidian span.cm-formatting-task{font-family:var(--font-editor);line-height:var(--line-height)}.mod-cm6 .cm-editor .HyperMD-header-1,.mod-cm6 .cm-editor .HyperMD-header-2,.mod-cm6 .cm-editor .HyperMD-header-3,.mod-cm6 .cm-editor .HyperMD-header-4,.mod-cm6 .cm-editor .HyperMD-header-5,.mod-cm6 .cm-editor .HyperMD-header-6{padding-top:.5em}.active-line-on .cm-line.cm-active,.active-line-on .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote.cm-active{background-color:var(--active-line-bg);box-shadow:-25vw 0 var(--active-line-bg),25vw 0 var(--active-line-bg)}.borders-none{--divider-width:0px}:root{--cards-min-width:180px;--cards-max-width:1fr;--cards-mobile-width:120px;--cards-image-height:400px;--cards-padding:1.2em;--cards-image-fit:contain;--cards-background:transparent;--cards-border-width:1px;--cards-aspect-ratio:auto;--cards-columns:repeat(auto-fit, minmax(var(--cards-min-width), var(--cards-max-width)))}@media (max-width:400pt){:root{--cards-min-width:var(--cards-mobile-width)}}.cards.table-100 table.dataview tbody,.table-100 .cards table.dataview tbody{padding:.25rem .75rem}.cards table.dataview tbody{clear:both;padding:.5rem 0;display:grid;grid-template-columns:var(--cards-columns);grid-column-gap:0.75rem;grid-row-gap:0.75rem}.cards table.dataview>tbody>tr{background-color:var(--cards-background);border:var(--cards-border-width) solid var(--background-modifier-border);display:flex;flex-direction:column;margin:0;padding:0 0 calc(var(--cards-padding)/3) 0;border-radius:6px;overflow:hidden;transition:box-shadow .15s linear}.cards table.dataview>tbody>tr:hover{border:var(--cards-border-width) solid var(--background-modifier-border-hover);box-shadow:0 4px 6px 0 rgba(0,0,0,.05),0 1px 3px 1px rgba(0,0,0,.025);transition:box-shadow .15s linear}.cards table.dataview tbody>tr>td:first-child{font-weight:var(--bold-weight)}.cards table.dataview tbody>tr>td:first-child a{padding:0 0 calc(var(--cards-padding)/3);display:block}.cards table.dataview tbody>tr>td:not(:first-child){font-size:90%;color:var(--text-muted)}.cards table.dataview tbody>tr>td .el-p{display:block;width:100%}.cards table.dataview tbody>tr>td>:not(.el-embed-image){padding:calc(var(--cards-padding)/3) 0}.cards table.dataview tbody>tr>td:not(:last-child):not(:first-child)>.el-p:not(.el-embed-image){border-bottom:1px solid var(--background-modifier-border);width:100%}.cards table.dataview tbody>tr>td a{text-decoration:none}.cards table.dataview tbody>tr>td>button{width:100%;margin:calc(var(--cards-padding)/2) 0}.cards table.dataview tbody>tr>td:last-child>button{margin-bottom:calc(var(--cards-padding)/6)}.cards table.dataview tbody>tr>td>ul{width:100%;padding:.25em 0!important;margin:0 auto!important}.cards table.dataview tbody>tr>td:not(:last-child)>ul{border-bottom:1px solid var(--background-modifier-border)}.cards table.dataview tbody>tr>td .el-embed-image{background-color:var(--background-secondary);display:block;margin:0 calc(var(--cards-padding)/-2) 0 calc(var(--cards-padding)/-2);width:calc(100% + var(--cards-padding))}.cards table.dataview tbody>tr>td img{aspect-ratio:var(--cards-aspect-ratio);width:100%;object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.markdown-source-view.mod-cm6.cards .dataview.table-view-table>tbody>tr>td,.trim-cols .cards table.dataview tbody>tr>td{white-space:normal}.cards .dataview.table-view-table>tbody>tr>td,.cards table.dataview tbody>tr>td,.markdown-source-view.mod-cm6.cards .dataview.table-view-table>tbody>tr>td,.markdown-source-view.mod-cm6.cards table.dataview tbody>tr>td{border-bottom:none;padding:0!important;line-height:1.2;width:calc(100% - var(--cards-padding));margin:0 auto;overflow:visible!important;max-width:100%;display:flex}.links-int-on .cards table.dataview tbody>tr>td a{text-decoration:none}.markdown-source-view.mod-cm6.cards .edit-block-button{top:0}.cards.table-100 table.dataview thead>tr,.table-100 .cards table.dataview thead>tr{right:.75rem}.cards.table-100 table.dataview thead:before,.table-100 .cards table.dataview thead:before{margin-right:.75rem}.theme-light .cards table.dataview thead:before{background-image:url('data:image/svg+xml;utf8,')}.cards .el-pre+.el-lang-dataview .table-view-thead{padding-top:8px}.cards table.dataview thead{user-select:none;width:180px;display:block;float:right;position:relative;text-align:right;height:24px;padding-bottom:4px}.cards table.dataview thead:hover:before{opacity:.5;background-color:var(--background-modifier-hover)}.cards table.dataview thead:before{content:'';position:absolute;right:0;top:0;width:10px;height:16px;background-repeat:no-repeat;cursor:var(--cursor);text-align:right;padding:var(--size-4-1) var(--size-4-2);margin-bottom:2px;border-radius:var(--radius-s);font-weight:500;font-size:var(--font-adaptive-small);opacity:.25;background-position:center center;background-size:16px;background-image:url('data:image/svg+xml;utf8,')}.cards table.dataview thead>tr{top:-1px;position:absolute;display:none;z-index:9;border:1px solid var(--background-modifier-border-hover);background-color:var(--background-secondary);box-shadow:var(--shadow-s);padding:6px;border-radius:var(--radius-m);flex-direction:column;margin:26px 0 0 0;width:100%}.cards table.dataview thead:hover>tr{display:flex}.cards table.dataview thead>tr>th{display:block;padding:3px 30px 3px 6px!important;border-radius:var(--radius-s);width:100%;font-weight:400;color:var(--text-normal);cursor:var(--cursor);border:none;font-size:var(--font-ui-small)}.cards table.dataview thead>tr>th[sortable-style=sortable-asc],.cards table.dataview thead>tr>th[sortable-style=sortable-desc]{color:var(--text-normal)}.cards table.dataview thead>tr>th:hover{color:var(--text-normal);background-color:var(--background-modifier-hover)}.cards.cards-16-9{--cards-aspect-ratio:16/9}.cards.cards-1-1{--cards-aspect-ratio:1/1}.cards.cards-2-1{--cards-aspect-ratio:2/1}.cards.cards-2-3{--cards-aspect-ratio:2/3}.cards.cards-cols-1{--cards-columns:repeat(1, minmax(0, 1fr))}.cards.cards-cols-2{--cards-columns:repeat(2, minmax(0, 1fr))}.cards.cards-cover table.dataview tbody>tr>td img{object-fit:cover}.cards.cards-align-bottom table.dataview tbody>tr>td:last-child{align-items:flex-end;flex-grow:1}@media (max-width:400pt){.cards table.dataview tbody>tr>td:not(:first-child){font-size:80%}}@media (min-width:400pt){.cards-cols-3{--cards-columns:repeat(3, minmax(0, 1fr))}.cards-cols-4{--cards-columns:repeat(4, minmax(0, 1fr))}.cards-cols-5{--cards-columns:repeat(5, minmax(0, 1fr))}.cards-cols-6{--cards-columns:repeat(6, minmax(0, 1fr))}.cards-cols-7{--cards-columns:repeat(7, minmax(0, 1fr))}.cards-cols-8{--cards-columns:repeat(8, minmax(0, 1fr))}}.cm-formatting.cm-formatting-task.cm-property{font-family:var(--font-monospace);font-size:90%}input[data-task="!"]:checked,input[data-task="*"]:checked,input[data-task="-"]:checked,input[data-task="<"]:checked,input[data-task=">"]:checked,input[data-task="I"]:checked,input[data-task="b"]:checked,input[data-task="c"]:checked,input[data-task="d"]:checked,input[data-task="f"]:checked,input[data-task="k"]:checked,input[data-task="l"]:checked,input[data-task="p"]:checked,input[data-task="u"]:checked,input[data-task="w"]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked,li[data-task="*"]>input:checked,li[data-task="*"]>p>input:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked,li[data-task="<"]>input:checked,li[data-task="<"]>p>input:checked,li[data-task=">"]>input:checked,li[data-task=">"]>p>input:checked,li[data-task="I"]>input:checked,li[data-task="I"]>p>input:checked,li[data-task="b"]>input:checked,li[data-task="b"]>p>input:checked,li[data-task="c"]>input:checked,li[data-task="c"]>p>input:checked,li[data-task="d"]>input:checked,li[data-task="d"]>p>input:checked,li[data-task="f"]>input:checked,li[data-task="f"]>p>input:checked,li[data-task="k"]>input:checked,li[data-task="k"]>p>input:checked,li[data-task="l"]>input:checked,li[data-task="l"]>p>input:checked,li[data-task="p"]>input:checked,li[data-task="p"]>p>input:checked,li[data-task="u"]>input:checked,li[data-task="u"]>p>input:checked,li[data-task="w"]>input:checked,li[data-task="w"]>p>input:checked{--checkbox-marker-color:transparent;border:none;border-radius:0;background-image:none;background-color:currentColor;-webkit-mask-size:var(--checkbox-icon);-webkit-mask-position:50% 50%}input[data-task=">"]:checked,li[data-task=">"]>input:checked,li[data-task=">"]>p>input:checked{color:var(--text-faint);transform:rotate(90deg);-webkit-mask-position:50% 100%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z' /%3E%3C/svg%3E")}input[data-task="<"]:checked,li[data-task="<"]>input:checked,li[data-task="<"]>p>input:checked{color:var(--text-faint);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z' clip-rule='evenodd' /%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="?"]:checked,li[data-task="?"]>input:checked,li[data-task="?"]>p>input:checked{--checkbox-marker-color:transparent;background-color:var(--yellow);border-color:var(--yellow);background-position:50% 50%;background-size:200% 90%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"%3E%3Cpath fill="white" fill-rule="evenodd" d="M4.475 5.458c-.284 0-.514-.237-.47-.517C4.28 3.24 5.576 2 7.825 2c2.25 0 3.767 1.36 3.767 3.215c0 1.344-.665 2.288-1.79 2.973c-1.1.659-1.414 1.118-1.414 2.01v.03a.5.5 0 0 1-.5.5h-.77a.5.5 0 0 1-.5-.495l-.003-.2c-.043-1.221.477-2.001 1.645-2.712c1.03-.632 1.397-1.135 1.397-2.028c0-.979-.758-1.698-1.926-1.698c-1.009 0-1.71.529-1.938 1.402c-.066.254-.278.461-.54.461h-.777ZM7.496 14c.622 0 1.095-.474 1.095-1.09c0-.618-.473-1.092-1.095-1.092c-.606 0-1.087.474-1.087 1.091S6.89 14 7.496 14Z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="?"]:checked,.theme-dark li[data-task="?"]>input:checked,.theme-dark li[data-task="?"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"%3E%3Cpath fill="black" fill-opacity="0.8" fill-rule="evenodd" d="M4.475 5.458c-.284 0-.514-.237-.47-.517C4.28 3.24 5.576 2 7.825 2c2.25 0 3.767 1.36 3.767 3.215c0 1.344-.665 2.288-1.79 2.973c-1.1.659-1.414 1.118-1.414 2.01v.03a.5.5 0 0 1-.5.5h-.77a.5.5 0 0 1-.5-.495l-.003-.2c-.043-1.221.477-2.001 1.645-2.712c1.03-.632 1.397-1.135 1.397-2.028c0-.979-.758-1.698-1.926-1.698c-1.009 0-1.71.529-1.938 1.402c-.066.254-.278.461-.54.461h-.777ZM7.496 14c.622 0 1.095-.474 1.095-1.09c0-.618-.473-1.092-1.095-1.092c-.606 0-1.087.474-1.087 1.091S6.89 14 7.496 14Z"%2F%3E%3C%2Fsvg%3E')}input[data-task="/"]:checked,li[data-task="/"]>input:checked,li[data-task="/"]>p>input:checked{background-image:none;background-color:transparent;position:relative;overflow:hidden}input[data-task="/"]:checked:after,li[data-task="/"]>input:checked:after,li[data-task="/"]>p>input:checked:after{top:0;left:0;content:" ";display:block;position:absolute;background-color:var(--background-modifier-accent);width:calc(50% - .5px);height:100%;-webkit-mask-image:none}input[data-task="!"]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked{color:var(--orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="\""]:checked,input[data-task="“"]:checked,li[data-task="\""]>input:checked,li[data-task="\""]>p>input:checked,li[data-task="“"]>input:checked,li[data-task="“"]>p>input:checked{--checkbox-marker-color:transparent;background-position:50% 50%;background-color:var(--cyan);border-color:var(--cyan);background-size:75%;background-repeat:no-repeat;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"%3E%3Cpath fill="white" d="M6.5 10c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.318.142-.686.238-1.028.466c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.945c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 6.5 10zm11 0c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.317.143-.686.238-1.028.467c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.944c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 17.5 10z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="\""]:checked,.theme-dark input[data-task="“"]:checked,.theme-dark li[data-task="\""]>input:checked,.theme-dark li[data-task="\""]>p>input:checked,.theme-dark li[data-task="“"]>input:checked,.theme-dark li[data-task="“"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"%3E%3Cpath fill="black" fill-opacity="0.7" d="M6.5 10c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.318.142-.686.238-1.028.466c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.945c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 6.5 10zm11 0c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.317.143-.686.238-1.028.467c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.944c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 17.5 10z"%2F%3E%3C%2Fsvg%3E')}input[data-task="-"]:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked{color:var(--text-faint);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}body:not(.tasks) .markdown-preview-view ul li[data-task="-"].task-list-item.is-checked,body:not(.tasks) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task="-"]),body:not(.tasks) li[data-task="-"].task-list-item.is-checked{color:var(--text-faint);text-decoration:line-through solid var(--text-faint) 1px}input[data-task="*"]:checked,li[data-task="*"]>input:checked,li[data-task="*"]>p>input:checked{color:var(--yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z' /%3E%3C/svg%3E")}input[data-task="l"]:checked,li[data-task="l"]>input:checked,li[data-task="l"]>p>input:checked{color:var(--red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="i"]:checked,li[data-task="i"]>input:checked,li[data-task="i"]>p>input:checked{--checkbox-marker-color:transparent;background-color:var(--blue);border-color:var(--blue);background-position:50%;background-size:100%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="none" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="40" d="M196 220h64v172"%2F%3E%3Cpath fill="none" stroke="white" stroke-linecap="round" stroke-miterlimit="10" stroke-width="40" d="M187 396h138"%2F%3E%3Cpath fill="white" d="M256 160a32 32 0 1 1 32-32a32 32 0 0 1-32 32Z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="i"]:checked,.theme-dark li[data-task="i"]>input:checked,.theme-dark li[data-task="i"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="none" stroke="black" stroke-opacity="0.8" stroke-linecap="round" stroke-linejoin="round" stroke-width="40" d="M196 220h64v172"%2F%3E%3Cpath fill="none" stroke="black" stroke-opacity="0.8" stroke-linecap="round" stroke-miterlimit="10" stroke-width="40" d="M187 396h138"%2F%3E%3Cpath fill="black" fill-opacity="0.8" d="M256 160a32 32 0 1 1 32-32a32 32 0 0 1-32 32Z"%2F%3E%3C%2Fsvg%3E')}input[data-task="S"]:checked,li[data-task="S"]>input:checked,li[data-task="S"]>p>input:checked{--checkbox-marker-color:transparent;border-color:var(--green);background-color:var(--green);background-size:100%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 48 48"%3E%3Cpath fill="white" fill-rule="evenodd" d="M26 8a2 2 0 1 0-4 0v2a8 8 0 1 0 0 16v8a4.002 4.002 0 0 1-3.773-2.666a2 2 0 0 0-3.771 1.332A8.003 8.003 0 0 0 22 38v2a2 2 0 1 0 4 0v-2a8 8 0 1 0 0-16v-8a4.002 4.002 0 0 1 3.773 2.666a2 2 0 0 0 3.771-1.332A8.003 8.003 0 0 0 26 10V8Zm-4 6a4 4 0 0 0 0 8v-8Zm4 12v8a4 4 0 0 0 0-8Z" clip-rule="evenodd"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="S"]:checked,.theme-dark li[data-task="S"]>input:checked,.theme-dark li[data-task="S"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 48 48"%3E%3Cpath fill-opacity="0.8" fill="black" fill-rule="evenodd" d="M26 8a2 2 0 1 0-4 0v2a8 8 0 1 0 0 16v8a4.002 4.002 0 0 1-3.773-2.666a2 2 0 0 0-3.771 1.332A8.003 8.003 0 0 0 22 38v2a2 2 0 1 0 4 0v-2a8 8 0 1 0 0-16v-8a4.002 4.002 0 0 1 3.773 2.666a2 2 0 0 0 3.771-1.332A8.003 8.003 0 0 0 26 10V8Zm-4 6a4 4 0 0 0 0 8v-8Zm4 12v8a4 4 0 0 0 0-8Z" clip-rule="evenodd"%2F%3E%3C%2Fsvg%3E')}input[data-task="I"]:checked,li[data-task="I"]>input:checked,li[data-task="I"]>p>input:checked{color:var(--yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M11 3a1 1 0 10-2 0v1a1 1 0 102 0V3zM15.657 5.757a1 1 0 00-1.414-1.414l-.707.707a1 1 0 001.414 1.414l.707-.707zM18 10a1 1 0 01-1 1h-1a1 1 0 110-2h1a1 1 0 011 1zM5.05 6.464A1 1 0 106.464 5.05l-.707-.707a1 1 0 00-1.414 1.414l.707.707zM5 10a1 1 0 01-1 1H3a1 1 0 110-2h1a1 1 0 011 1zM8 16v-1h4v1a2 2 0 11-4 0zM12 14c.015-.34.208-.646.477-.859a4 4 0 10-4.954 0c.27.213.462.519.476.859h4.002z' /%3E%3C/svg%3E")}input[data-task="f"]:checked,li[data-task="f"]>input:checked,li[data-task="f"]>p>input:checked{color:var(--red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12.395 2.553a1 1 0 00-1.45-.385c-.345.23-.614.558-.822.88-.214.33-.403.713-.57 1.116-.334.804-.614 1.768-.84 2.734a31.365 31.365 0 00-.613 3.58 2.64 2.64 0 01-.945-1.067c-.328-.68-.398-1.534-.398-2.654A1 1 0 005.05 6.05 6.981 6.981 0 003 11a7 7 0 1011.95-4.95c-.592-.591-.98-.985-1.348-1.467-.363-.476-.724-1.063-1.207-2.03zM12.12 15.12A3 3 0 017 13s.879.5 2.5.5c0-1 .5-4 1.25-4.5.5 1 .786 1.293 1.371 1.879A2.99 2.99 0 0113 13a2.99 2.99 0 01-.879 2.121z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="k"]:checked,li[data-task="k"]>input:checked,li[data-task="k"]>p>input:checked{color:var(--yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="u"]:checked,li[data-task="u"]>input:checked,li[data-task="u"]>p>input:checked{color:var(--green);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12 7a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0V8.414l-4.293 4.293a1 1 0 01-1.414 0L8 10.414l-4.293 4.293a1 1 0 01-1.414-1.414l5-5a1 1 0 011.414 0L11 10.586 14.586 7H12z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="d"]:checked,li[data-task="d"]>input:checked,li[data-task="d"]>p>input:checked{color:var(--red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12 13a1 1 0 100 2h5a1 1 0 001-1V9a1 1 0 10-2 0v2.586l-4.293-4.293a1 1 0 00-1.414 0L8 9.586 3.707 5.293a1 1 0 00-1.414 1.414l5 5a1 1 0 001.414 0L11 9.414 14.586 13H12z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="w"]:checked,li[data-task="w"]>input:checked,li[data-task="w"]>p>input:checked{color:var(--purple);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M6 3a1 1 0 011-1h.01a1 1 0 010 2H7a1 1 0 01-1-1zm2 3a1 1 0 00-2 0v1a2 2 0 00-2 2v1a2 2 0 00-2 2v.683a3.7 3.7 0 011.055.485 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0A3.7 3.7 0 0118 12.683V12a2 2 0 00-2-2V9a2 2 0 00-2-2V6a1 1 0 10-2 0v1h-1V6a1 1 0 10-2 0v1H8V6zm10 8.868a3.704 3.704 0 01-4.055-.036 1.704 1.704 0 00-1.89 0 3.704 3.704 0 01-4.11 0 1.704 1.704 0 00-1.89 0A3.704 3.704 0 012 14.868V17a1 1 0 001 1h14a1 1 0 001-1v-2.132zM9 3a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm3 0a1 1 0 011-1h.01a1 1 0 110 2H13a1 1 0 01-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="p"]:checked,li[data-task="p"]>input:checked,li[data-task="p"]>p>input:checked{color:var(--green);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M2 10.5a1.5 1.5 0 113 0v6a1.5 1.5 0 01-3 0v-6zM6 10.333v5.43a2 2 0 001.106 1.79l.05.025A4 4 0 008.943 18h5.416a2 2 0 001.962-1.608l1.2-6A2 2 0 0015.56 8H12V4a2 2 0 00-2-2 1 1 0 00-1 1v.667a4 4 0 01-.8 2.4L6.8 7.933a4 4 0 00-.8 2.4z' /%3E%3C/svg%3E")}input[data-task="c"]:checked,li[data-task="c"]>input:checked,li[data-task="c"]>p>input:checked{color:var(--orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M18 9.5a1.5 1.5 0 11-3 0v-6a1.5 1.5 0 013 0v6zM14 9.667v-5.43a2 2 0 00-1.105-1.79l-.05-.025A4 4 0 0011.055 2H5.64a2 2 0 00-1.962 1.608l-1.2 6A2 2 0 004.44 12H8v4a2 2 0 002 2 1 1 0 001-1v-.667a4 4 0 01.8-2.4l1.4-1.866a4 4 0 00.8-2.4z' /%3E%3C/svg%3E")}input[data-task="b"]:checked,li[data-task="b"]>input:checked,li[data-task="b"]>p>input:checked{color:var(--orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M5 4a2 2 0 012-2h6a2 2 0 012 2v14l-5-2.5L5 18V4z' /%3E%3C/svg%3E")}.colorful-active{--sp1:#fff}.colorful-active .nav-files-container{--nav-item-background-active:var(--ax3);--nav-item-color-active:var(--sp1)}.colorful-active #calendar-container .active,.colorful-active #calendar-container .active.today,.colorful-active #calendar-container .active:hover,.colorful-active #calendar-container .day:active{background-color:var(--ax3);color:var(--sp1)}.colorful-active #calendar-container .active .dot,.colorful-active #calendar-container .day:active .dot,.colorful-active #calendar-container .today.active .dot{fill:var(--sp1)}body:not(.colorful-active) .horizontal-tab-nav-item.is-active,body:not(.colorful-active) .vertical-tab-nav-item.is-active{background-color:var(--background-modifier-hover);color:var(--text-normal)}body{--frame-background:hsl( var(--frame-background-h), var(--frame-background-s), var(--frame-background-l))}.theme-light{--frame-background-h:var(--accent-h);--frame-background-s:var(--accent-s);--frame-background-l:calc(var(--accent-l) + 30%);--frame-outline-color:hsla( var(--frame-background-h), var(--frame-background-s), calc(var(--frame-background-l) - 6.5%), 1 );--frame-muted-color:hsl( var(--frame-background-h), calc(var(--frame-background-s) - 10%), calc(var(--frame-background-l) - 35%))}.theme-dark{--frame-background-h:var(--accent-h);--frame-background-s:var(--accent-s);--frame-background-l:calc(var(--accent-l) - 25%);--frame-outline-color:hsla( var(--frame-background-h), calc(var(--frame-background-s) - 2%), calc(var(--frame-background-l) + 6.5%), 1 );--frame-muted-color:hsl( var(--frame-background-h), calc(var(--frame-background-s) - 10%), calc(var(--frame-background-l) + 25%))}.colorful-frame.theme-dark{--tab-outline-width:0px}.colorful-frame,.colorful-frame.is-focused{--frame-divider-color:var(--frame-outline-color);--titlebar-background:var(--frame-background);--titlebar-background-focused:var(--frame-background)}.colorful-frame .mod-top .workspace-tab-header-container,.colorful-frame .sidebar-toggle-button.mod-left,.colorful-frame .titlebar,.colorful-frame .workspace-ribbon.mod-left:before,.colorful-frame.is-focused .mod-top .workspace-tab-header-container,.colorful-frame.is-focused .sidebar-toggle-button.mod-left,.colorful-frame.is-focused .titlebar,.colorful-frame.is-focused .workspace-ribbon.mod-left:before{--titlebar-text-color:var(--frame-muted-color);--tab-outline-color:var(--frame-outline-color);--tab-divider-color:var(--frame-outline-color);--background-modifier-hover:var(--frame-outline-color);--icon-color:var(--frame-muted-color);--icon-color-hover:var(--frame-muted-color);--icon-color-focus:var(--text-normal);--tab-text-color:var(--frame-muted-color);--tab-text-color-hover:var(--frame-muted-color);--tab-text-color-focused:var(--frame-muted-color)}.workspace-leaf-resize-handle{transition:none}.colorful-frame.is-hidden-frameless .workspace-split.mod-left-split>.workspace-leaf-resize-handle,.colorful-frame.is-hidden-frameless .workspace-split.mod-right-split>.workspace-leaf-resize-handle,.colorful-frame.is-hidden-frameless .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle{-webkit-app-region:no-drag;border:0;z-index:15}.colorful-frame.is-hidden-frameless .workspace-split.mod-left-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless .workspace-split.mod-right-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:after{content:"";height:100%;width:1px;background:linear-gradient(180deg,var(--frame-outline-color) var(--header-height),var(--divider-color) var(--header-height));top:0;position:absolute}.colorful-frame.is-hidden-frameless .workspace-split.mod-left-split>.workspace-leaf-resize-handle:hover:after,.colorful-frame.is-hidden-frameless .workspace-split.mod-right-split>.workspace-leaf-resize-handle:hover:after,.colorful-frame.is-hidden-frameless .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:hover:after{background:var(--divider-color-hover)}.colorful-frame.is-hidden-frameless .workspace-split.mod-right-split>.workspace-leaf-resize-handle:after{left:0}.colorful-frame.is-hidden-frameless .workspace-split.mod-left-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:after{right:0}body.colorful-headings{--h1-color:var(--red);--h2-color:var(--orange);--h3-color:var(--yellow);--h4-color:var(--green);--h5-color:var(--blue);--h6-color:var(--purple)}body.colorful-headings .modal{--h1-color:var(--text-normal);--h2-color:var(--text-normal);--h3-color:var(--text-normal);--h4-color:var(--text-normal);--h5-color:var(--text-normal);--h6-color:var(--text-normal)}.is-mobile .tree-item-self .collapse-icon{width:20px}body:not(.minimal-icons-off) svg.calendar-day,body:not(.minimal-icons-off) svg.excalidraw-icon,body:not(.minimal-icons-off) svg.globe,body:not(.minimal-icons-off) svg.longform,body:not(.minimal-icons-off) svg.obsidian-leaflet-plugin-icon-map{background-color:currentColor}body:not(.minimal-icons-off) svg.excalidraw-icon path{display:none}body:not(.minimal-icons-off) svg.bar-graph{-webkit-mask-image:url('data:image/svg+xml;utf8,')}body:not(.minimal-icons-off) svg.excalidraw-icon{-webkit-mask-image:url('data:image/svg+xml;utf8,')}body:not(.minimal-icons-off) svg.longform{-webkit-mask-image:url('data:image/svg+xml;utf8,')}.fancy-cursor .CodeMirror-cursor{border:none;border-left:2px solid var(--text-accent)}.cm-fat-cursor .CodeMirror-cursor{background-color:var(--text-accent);opacity:.5;width:5px}.cm-animate-fat-cursor{background-color:var(--text-accent);opacity:.5;width:5px}body .markdown-source-view.mod-cm6 .cm-content{caret-color:unset}body.fancy-cursor .markdown-source-view.mod-cm6 .cm-content,body.fancy-cursor .mod-cm6 .cm-line{caret-color:var(--text-accent)}.fancy-cursor input.prompt-input{caret-color:var(--text-accent)}.workspace-ribbon.mod-left{border-left:0;transition:none}.minimal-focus-mode .workspace-ribbon.mod-left{transition:background-color 0s linear 0s}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed{border-color:transparent;background-color:var(--background-primary)}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:before{background-color:var(--background-primary);border-color:transparent}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed .side-dock-actions,.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed .side-dock-settings{opacity:0;transition:opacity .1s ease-in-out .1s}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:hover .side-dock-actions,.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:hover .side-dock-settings{opacity:1;transition:opacity .1s ease-in-out .1s}.minimal-focus-mode.borders-title .workspace-ribbon.mod-left.is-collapsed{border-right:none}.minimal-focus-mode:not(.minimal-status-off) .status-bar{opacity:0;transition:opacity .2s ease-in-out}.minimal-focus-mode .status-bar:hover{opacity:1;transition:opacity .2s ease-in-out}.minimal-focus-mode .mod-root .workspace-tabs{position:relative}.minimal-focus-mode .mod-root .workspace-tabs:before:hover{background-color:#00f}.minimal-focus-mode .mod-root .workspace-tab-header-container{height:0;transition:all .1s linear .6s;--tab-outline-width:0px}.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-container-inner,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-new-tab,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-tab-list{opacity:0;transition:opacity .1s linear .6s}.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-spacer:before{width:100%;content:" ";background-color:transparent;height:15px;position:absolute;z-index:100;top:0;left:0}.minimal-focus-mode .mod-root .workspace-tab-header-container:hover{height:var(--header-height);--tab-outline-width:1px;transition:all .1s linear 50ms}.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-container-inner,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-new-tab,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-tab-list{opacity:1;transition:opacity .1s linear 50ms}.minimal-focus-mode.mod-macos:not(.is-fullscreen) .workspace:not(.is-left-sidedock-open) .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner{padding-top:30px}body.show-view-header .app-container .workspace-split.mod-root>.workspace-leaf .view-header{transition:height .1s linear .1s}body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header{height:0;transition:all .1s linear .5s}body.minimal-focus-mode.show-view-header .view-header::after{width:100%;content:" ";background-color:transparent;height:40px;position:absolute;z-index:-9;top:0}body.minimal-focus-mode.show-view-header .view-actions,body.minimal-focus-mode.show-view-header .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header-title-container{opacity:0;transition:all .1s linear .5s}body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header:focus-within,body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header:hover,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header{height:calc(var(--header-height) + 2px);transition:all .1s linear .1s}body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-actions,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-header-title-container,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-actions,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-header-title-container,body.minimal-focus-mode.show-view-header .view-header:hover .view-actions,body.minimal-focus-mode.show-view-header .view-header:hover .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header:hover .view-header-title-container{opacity:1;transition:all .1s linear .1s}body.minimal-focus-mode.show-view-header .view-content{height:100%}.full-width-media .image-embed img:not(.emoji):not([width]),.full-width-media .markdown-preview-view .image-embed img:not(.emoji):not([width]),.full-width-media .markdown-preview-view audio,.full-width-media .markdown-preview-view video{width:100%}.table-small table:not(.calendar){--table-text-size:85%}.table-tiny table:not(.calendar){--table-text-size:75%}.row-alt table:not(.calendar) tbody>tr>td:first-child,.row-alt table:not(.calendar) th:first-child,.row-alt.markdown-source-view.mod-cm6 td:first-child,.row-alt.markdown-source-view.mod-cm6 th:first-child,.row-hover th:first-child,.table-lines table:not(.calendar) tbody>tr>td:first-child,.table-lines table:not(.calendar) thead>tr>th:first-child,.table-lines.markdown-source-view.mod-cm6 td:first-child,.table-lines.markdown-source-view.mod-cm6 th:first-child{padding-left:10px}.row-alt{--table-row-alt-background:var(--background-table-rows)}.col-alt{--table-column-alt-background:var(--background-table-rows)}.table-tabular table:not(.calendar){font-variant-numeric:tabular-nums}.table-lines{--table-header-border-width:1px;--table-column-first-border-width:1px;--table-column-last-border-width:1px;--table-row-last-border-width:1px}.table-nowrap{--table-white-space:nowrap}.table-nowrap .table-wrap,.trim-cols{--table-white-space:normal}.table-numbers table:not(.calendar){counter-reset:section}.table-numbers table:not(.calendar)>thead>tr>th:first-child::before{content:" ";padding-right:.5em;display:inline-block;min-width:2em}.table-numbers table:not(.calendar)>tbody>tr>td:first-child::before{counter-increment:section;content:counter(section) " ";text-align:center;padding-right:.5em;display:inline-block;min-width:2em;color:var(--text-faint);font-variant-numeric:tabular-nums}.row-lines .table-view-table>tbody>tr>td,.row-lines table:not(.calendar) tbody>tr>td{border-bottom:1px solid var(--background-modifier-border)}.row-lines table:not(.calendar) tbody>tr:last-child>td{border-bottom:none}.col-lines .table-view-table thead>tr>th:not(:last-child),.col-lines .table-view-table>tbody>tr>td:not(:last-child),.col-lines table:not(.calendar) tbody>tr>td:not(:last-child){border-right:1px solid var(--background-modifier-border)}.row-hover{--table-row-background-hover:hsla( var(--accent-h), 50%, 80%, 20% )}.theme-dark .row-hover,.theme-dark.row-hover{--table-row-background-hover:hsla( var(--accent-h), 30%, 40%, 20% )}.theme-dark .markdown-preview-view img,.theme-dark .markdown-source-view img{opacity:var(--image-muted);transition:opacity .25s linear}.theme-dark .markdown-preview-view img:hover,.theme-dark .markdown-source-view img:hover,.theme-dark .print-preview img{opacity:1;transition:opacity .25s linear}.theme-dark div[src$="#invert"] img,.theme-dark img[src$="#invert"],.theme-dark span[src$="#invert"] img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.theme-dark div[src$="#invert"]{background-color:var(--background-primary)}.theme-light div[src$="#invertW"] img,.theme-light img[src$="#invertW"],.theme-light span[src$=invertW] img{filter:invert(1) hue-rotate(180deg)}img[src$="#circle"],span[src$="#circle"] img,span[src$="#round"] img{border-radius:50%;aspect-ratio:1/1}img[src$="#outline"],span[src$="#outline"] img{border:1px solid var(--ui1)}img[src$="#interface"],span[src$="#interface"] img{border:1px solid var(--ui1);box-shadow:0 .5px .9px rgba(0,0,0,.021),0 1.3px 2.5px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.039),0 10px 20px rgba(0,0,0,.06);margin-top:10px;margin-bottom:15px;border-radius:var(--radius-m)}div:not(.el-embed-image)+.el-embed-image{margin-top:1rem}.el-embed-image{margin-top:.5rem}.contextual-typography .markdown-preview-section>.el-embed-image>p{margin-block-start:0;margin-block-end:0}.img-grid .markdown-preview-section .el-embed-image img:not(.emoji):not([width]),.img-grid .markdown-preview-section video{width:100%}.img-grid .markdown-preview-section>.el-embed-image>p{display:grid;grid-column-gap:0.5rem;grid-row-gap:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.img-grid .markdown-preview-section>.el-embed-image>p>br{display:none}.img-grid .markdown-preview-section>.el-embed-image>p>img{object-fit:cover;align-self:stretch}.img-grid .markdown-preview-section>.el-embed-image>p>.internal-embed img{object-fit:cover;height:100%}.img-grid .img-grid-ratio .markdown-preview-section>.el-embed-image>p>.internal-embed img,.img-grid.img-grid-ratio .markdown-preview-section>.el-embed-image>p>.internal-embed img{object-fit:contain;height:100%;align-self:center}@media (max-width:400pt){.el-embed-image{margin-top:.25rem}.img-grid .markdown-preview-section>.el-embed-image>p{grid-column-gap:0.25rem}}body:not(.zoom-off) .view-content img{max-width:100%;cursor:zoom-in}body:not(.zoom-off) .view-content img:active{cursor:zoom-out}body:not(.zoom-off) .view-content .markdown-preview-view img[referrerpolicy=no-referrer]:active{background-color:var(--background-primary);padding:10px}body:not(.zoom-off) .view-content .image-embed:active,body:not(.zoom-off) .view-content .markdown-preview-view img[referrerpolicy=no-referrer]:active{aspect-ratio:unset;cursor:zoom-out;display:block;z-index:200;position:fixed;max-height:calc(100% + 1px);max-width:100%;height:calc(100% + 1px);width:100%;object-fit:contain;margin:-.5px auto 0!important;text-align:center;padding:0;left:0;right:0;bottom:0}body:not(.zoom-off) .view-content .image-embed:active:after{background-color:var(--background-primary);opacity:.9;content:" ";height:calc(100% + 1px);width:100%;position:fixed;left:0;right:1px;z-index:0}body:not(.zoom-off) .view-content .image-embed:active img{aspect-ratio:unset;top:50%;z-index:99;transform:translateY(-50%);padding:0;margin:0 auto;width:calc(100% - 20px);max-height:95vh;object-fit:contain;left:0;right:0;bottom:0;position:absolute;opacity:1}.labeled-nav.is-translucent .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-header-container-inner{background-color:transparent}.labeled-nav.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .workspace-tabs.mod-top-left-space .workspace-tab-header-container{padding-left:0}.labeled-nav.mod-macos .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav.mod-macos.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .mod-top .workspace-tab-header-container:before{-webkit-app-region:drag;position:absolute;width:calc(100% - var(--divider-width));height:calc(var(--header-height) - var(--tab-outline-width));border-bottom:var(--labeled-nav-outline-width) solid var(--tab-outline-color)}.labeled-nav.mod-macos .workspace-ribbon.mod-left:not(.is-collapsed),.labeled-nav.mod-macos.is-hidden-frameless:not(.is-fullscreen) .workspace-ribbon.mod-left:not(.is-collapsed){border:none;--tab-outline-width:0px}.labeled-nav.colorful-frame.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav.mod-macos:not(.hider-ribbon) .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav:not(.is-hidden-frameless) .mod-left-split .mod-top .workspace-tab-header-container:before{border-bottom:var(--tab-outline-width) solid var(--tab-outline-color)}.labeled-nav:not(.is-hidden-frameless) .mod-left-split .mod-top .workspace-tab-header-container:before{position:absolute;top:0;content:" "}.labeled-nav.hider-ribbon.mod-macos.is-hidden-frameless:not(.is-fullscreen):not(.is-popout-window) .mod-left-split:not(.is-sidedock-collapsed) .workspace-tabs.mod-top-left-space .workspace-tab-header-container{padding-left:0}.labeled-nav:not(.is-grabbing):not(.is-fullscreen).is-hidden-frameless .mod-top .workspace-tab-header-container{-webkit-app-region:no-drag}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-spacer{display:none}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-inner-title{display:inline-block;font-weight:500;font-size:var(--font-adaptive-smaller)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container{position:relative;flex-direction:column-reverse!important;height:auto;width:100%}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .sidebar-toggle-button.mod-left{position:absolute;justify-content:flex-end;padding-right:var(--size-4-2);top:0;right:0}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-header-container-inner{padding-top:var(--size-4-2);margin-top:var(--header-height);flex-direction:column!important;background-color:var(--background-secondary)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-container-inner{flex-grow:1;gap:0;padding:var(--size-4-2) var(--size-4-3)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header{--icon-color:var(--text-muted);--tab-text-color:var(--text-muted);--tab-text-color-focused:var(--text-muted);padding:0;margin-bottom:2px;border:none;height:auto}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:not(:hover){background-color:transparent}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover{opacity:1;--tab-text-color-focused:var(--text-normal);--icon-color:var(--text-normal)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header .workspace-tab-header-inner{gap:var(--size-2-3);padding:var(--size-4-1) var(--size-4-2);box-shadow:none;border:none}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.has-active-menu:hover,.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:hover{background-color:transparent}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:hover .workspace-tab-header-inner,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:var(--nav-item-background-hover)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover .workspace-tab-header-inner-icon{color:var(--icon-color-active)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container{border:none;padding:0}body{--table-max-width:var(--max-width);--left-margin-table:auto}.maximize-tables-auto{--table-max-width:auto;--left-margin-table:max( calc(50% + var(--folding-offset)/2 - var(--line-width-adaptive)/2), calc(50% + var(--folding-offset)/2 - var(--max-width)/2) )}.maximize-tables-auto.table-100,.maximize-tables-auto.table-max,.maximize-tables-auto.table-wide{--table-max-width:var(--max-width);--left-margin-table:auto}.maximize-tables-off{--table-max-width:auto;--left-margin-table:max( calc(50% + var(--folding-offset)/2 - var(--line-width-adaptive)/2), calc(50% + var(--folding-offset)/2 - var(--max-width)/2))}.maximize-tables-off.table-wide{--left-margin-table:max( calc(50% + var(--folding-offset)/2 - var(--line-width-wide)/2), calc(50% + var(--folding-offset)/2 - var(--max-width)/2))}.maximize-tables-off.table-max{--left-margin-table:calc(50% + var(--folding-offset)/2 - var(--max-width)/2)}.maximize-tables-off.table-100{--left-margin-table:0}.contextual-typography .markdown-preview-view.markdown-preview-view.is-readable-line-width .markdown-preview-sizer{display:flex;flex-direction:column;width:100%;max-width:100%;padding-left:0;padding-top:0}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer{align-items:center;padding-left:0}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div{margin-left:auto;margin-right:auto;max-width:var(--max-width);width:var(--line-width-adaptive)}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-embed .markdown-preview-sizer>div{max-width:100%}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataview,.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataviewjs,.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-table{width:100%;max-width:100%;overflow-x:auto}.el-lang-dataview .block-language-dataview .contains-task-list,.el-lang-dataviewjs .block-language-dataviewjs .contains-task-list{max-width:100%}.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.is-readable-line-width .el-table table{width:var(--table-max-width);max-width:var(--line-width-adaptive);margin:0 auto .5rem}.markdown-embed .el-lang-dataview .dataview.table-view-table,.markdown-embed .el-table table{width:100%}.markdown-preview-view.table-100.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.markdown-preview-view.table-100.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.markdown-preview-view.table-100.is-readable-line-width .el-table table,.table-100 .el-lang-dataview .dataview.table-view-table,.table-100 .el-lang-dataviewjs .dataview.table-view-table,.table-100 .el-table table{max-width:100%!important;width:100%!important}.markdown-preview-view.table-max .el-lang-dataview .dataview.table-view-table,.markdown-preview-view.table-max .el-lang-dataviewjs .dataview.table-view-table,.markdown-preview-view.table-max .el-table table,.table-max .el-lang-dataview .dataview.table-view-table,.table-max .el-lang-dataviewjs .dataview.table-view-table,.table-max .el-table table{max-width:100%!important}.markdown-preview-view.is-readable-line-width.table-wide .el-lang-dataview .dataview.table-view-table,.markdown-preview-view.is-readable-line-width.table-wide .el-lang-dataviewjs .dataview.table-view-table,.markdown-preview-view.is-readable-line-width.table-wide .el-table table,.table-wide .markdown-preview-view.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.table-wide .markdown-preview-view.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.table-wide .markdown-preview-view.is-readable-line-width .el-table table{max-width:var(--line-width-wide)!important}.table-100 .dataview.table-view-table td:first-child,.table-100 .dataview.table-view-table th:first-child,.table-100 .markdown-source-view.mod-cm6 td:first-child,.table-100 .markdown-source-view.mod-cm6 th:first-child,.table-100 table td:first-child,.table-100 table th:first-child{padding-left:20px}.table-100 .dataview.table-view-table td:last-child,.table-100 .dataview.table-view-table th:last-child,.table-100 table td:last-child,.table-100 table th:last-child{padding-right:20px}.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet{width:100%}.contextual-typography .markdown-preview-view.is-readable-line-width.chart-wide .markdown-preview-sizer>.el-lang-chart,.contextual-typography .markdown-preview-view.is-readable-line-width.iframe-wide .markdown-preview-sizer>.el-iframe,.contextual-typography .markdown-preview-view.is-readable-line-width.img-wide .markdown-preview-sizer>.el-embed-image,.contextual-typography .markdown-preview-view.is-readable-line-width.map-wide .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.chart-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.iframe-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.img-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.map-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet{width:var(--line-width-wide)}.contextual-typography .markdown-preview-view.iframe-100 .markdown-preview-sizer>.el-iframe,.contextual-typography .markdown-preview-view.img-100 .markdown-preview-sizer>.el-embed-image,.contextual-typography .markdown-preview-view.is-readable-line-width.chart-100 .markdown-preview-sizer>.el-lang-chart,.contextual-typography .markdown-preview-view.is-readable-line-width.map-100 .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.chart-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.iframe-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.img-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.map-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet{width:100%;max-width:100%}.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.is-readable-line-width .el-table table{max-width:calc(var(--line-width-adaptive) - var(--folding-offset));margin-left:var(--left-margin-table)!important}.chart-100 .el-lang-chart,.chart-max .el-lang-chart,.chart-wide .el-lang-chart,.embed-strict .el-embed-page p,.iframe-100 .el-iframe,.iframe-max .el-iframe,.iframe-wide .el-iframe,.img-100 .el-embed-image,.img-max .el-embed-image,.img-wide .el-embed-image,.map-100 .el-lang-leaflet,.map-max .el-lang-leaflet,.map-wide .el-lang-leaflet,.table-100 .el-lang-dataview,.table-100 .el-lang-dataviewjs,.table-100 .el-table,.table-max .el-lang-dataview,.table-max .el-lang-dataviewjs,.table-max .el-table,.table-wide .el-lang-dataview,.table-wide .el-lang-dataviewjs,.table-wide .el-table{--folding-offset:0px}.chart-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.chart-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.img-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.img-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.map-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.map-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table,.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table{width:var(--max-width)!important;max-width:var(--max-width)!important;transform:none!important;padding-left:0;margin:0 auto!important}.chart-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.chart-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.img-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.img-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.map-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.map-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table,.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table{width:var(--line-width-wide)!important;max-width:var(--max-width);transform:none!important;padding-left:0;margin:0 auto!important}.chart-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.chart-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.img-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.img-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.map-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.map-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width table,.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width table{width:100%!important;max-width:100%!important;transform:none!important;margin:0 auto!important;padding-left:0}@media (max-width:400pt){.markdown-preview-view .el-lang-dataview td:first-child .markdown-preview-view .el-lang-dataviewjs th:first-child,.markdown-preview-view .el-lang-dataview th:first-child,.markdown-preview-view .el-lang-dataviewjs td:first-child,.markdown-preview-view .el-table td:first-child,.markdown-preview-view .el-table th:first-child{padding-left:6vw}.markdown-preview-view .el-lang-dataview td:last-child,.markdown-preview-view .el-lang-dataview th:last-child,.markdown-preview-view .el-lang-dataviewjs td:last-child,.markdown-preview-view .el-lang-dataviewjs th:last-child,.markdown-preview-view .el-table td:last-child,.markdown-preview-view .el-table th:last-child{padding-right:6vw}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataview .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataviewjs,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-table{padding-left:0;padding-right:0}.markdown-preview-view .table-view-table table,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataview .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataviewjs,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-table{width:100%}}@media (max-width:400pt){.is-mobile{--folding-offset:0px}}.markdown-preview-view.wide,.markdown-source-view.wide{--line-width-adaptive:var(--line-width-wide)}.markdown-preview-view.max,.markdown-source-view.max{--line-width-adaptive:300em;--line-width-wide:300em}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer{max-width:var(--max-width);width:var(--line-width-adaptive);padding-left:0}.markdown-source-view.is-readable-line-width .CodeMirror{padding-left:0;padding-right:0;margin:0 auto 0 auto;width:var(--line-width-adaptive);max-width:var(--max-width)}.markdown-reading-view .markdown-preview-view:not(.is-readable-line-width)>.markdown-preview-sizer{max-width:var(--max-width);margin:0 auto;padding-left:var(--folding-offset)}.is-mobile .markdown-source-view.mod-cm6 .cm-gutters{padding-right:0}.minimal-readable-off .view-header-title-container{width:var(--max-width)}.markdown-source-view.mod-cm6:not(.is-readable-line-width) .cm-contentContainer,.markdown-source-view.mod-cm6:not(.is-readable-line-width) .inline-title{max-width:var(--max-width);margin:0 0 0 calc(50% - var(--max-width)/ 2)!important;padding-left:var(--folding-offset)}.markdown-source-view.mod-cm6 .cm-content>.cm-embed-block[contenteditable=false]{overflow-x:auto}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div[data-block-language=dataview],.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div[data-block-language=dataviewjs]{padding-left:var(--folding-offset)}.internal-embed>.markdown-embed,.popover:not(.hover-editor){--folding-offset:0}.markdown-source-view.mod-cm6.is-readable-line-width .inline-title{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-right:auto;margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-content,.markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer{max-width:100%}.markdown-source-view.mod-cm6.is-readable-line-width .cm-line:not(.HyperMD-table-row){max-width:calc(var(--max-width) - var(--folding-offset))}.is-live-preview.is-readable-line-width .cm-embed-block table.dataview,.is-live-preview.is-readable-line-width.embed-strict .internal-embed .markdown-preview-sizer,.is-readable-line-width .block-language-dataview table.dataview,.is-readable-line-width .block-language-dataviewjs table.dataview,.markdown-preview-view.is-readable-line-width .dataview.result-group .contains-task-list,.markdown-source-view.is-live-preview.is-readable-line-width table.NLT__table{width:100%;max-width:100%;transform:none;margin-left:auto!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-list-line .internal-embed.image-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line>.internal-embed{margin-left:0!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-content>.image-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-content>img:not([width]),.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block.cm-callout>.callout,.markdown-source-view.mod-cm6.is-readable-line-width .cm-html-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-codeblock,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-quote,.markdown-source-view.mod-cm6.is-readable-line-width .embedded-backlinks,.markdown-source-view.mod-cm6.is-readable-line-width .internal-embed,.markdown-source-view.mod-cm6.is-readable-line-width table{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-right:auto;margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-line>.cm-html-embed{--folding-offset:0}.markdown-source-view.mod-cm6.is-readable-line-width .cm-content>img[width]{max-width:var(--max-width);margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block>div,.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block>mjx-container,.markdown-source-view.mod-cm6.is-readable-line-width .mod-empty{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-right:auto;margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .HyperMD-list-line{width:calc(var(--line-width-adaptive) - var(--folding-offset) - var(--list-edit-offset));max-width:calc(var(--max-width) - var(--folding-offset) - var(--list-edit-offset));margin-right:auto;margin-left:max(calc(50% + var(--list-edit-offset) + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--list-edit-offset) + var(--folding-offset) - var(--max-width)/ 2))!important}body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.dataview-container>.contains-task-list,body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.list-view-ul,body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.result-group>.contains-task-list,body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview>h4{max-width:100%;margin-right:auto;margin-left:auto;transform:none}body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataview h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataview>h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h1,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h2,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h3,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>p,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.dataview-container>.contains-task-list,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.dataview-error,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.list-view-ul,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.result-group{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:var(--max-width);margin-right:auto;margin-left:auto}.is-live-preview.is-readable-line-width .block-language-dataviewjs h4,.is-live-preview.is-readable-line-width .dataview .contains-task-list,.is-live-preview.is-readable-line-width .dataview.dataview-container .contains-task-list,.is-live-preview.is-readable-line-width .dataview.list-view-ul,.is-live-preview.is-readable-line-width .dataview>h4{--folding-offset:10px;width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(100% - var(--folding-offset));transform:translateX(calc(var(--folding-offset)/2));margin-right:auto;margin-left:auto}.table-100 .is-live-preview.is-readable-line-width .dataview .contains-task-list,.table-100 .is-live-preview.is-readable-line-width .dataview.list-view-ul,.table-100 .is-live-preview.is-readable-line-width .dataview>h4,.table-100.is-live-preview.is-readable-line-width .dataview .contains-task-list,.table-100.is-live-preview.is-readable-line-width .dataview.list-view-ul,.table-100.is-live-preview.is-readable-line-width .dataview>h4{max-width:calc(var(--max-width) - var(--folding-offset))}.markdown-preview-view.is-readable-line-width .block-language-dataview h4,.markdown-preview-view.is-readable-line-width .block-language-dataview>h4,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs h4,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h1,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h2,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h3,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h4,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>p,.markdown-preview-view.is-readable-line-width .dataview .contains-task-list,.markdown-preview-view.is-readable-line-width .dataview.dataview-error,.markdown-preview-view.is-readable-line-width .dataview.list-view-ul,.markdown-preview-view.is-readable-line-width .dataview.result-group{--folding-offset:10px;width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-left:auto;margin-right:max(calc(50% - var(--line-width-adaptive)/ 2),calc(50% - var(--max-width)/ 2))}body:not(.links-int-on){--link-decoration:none}body:not(.links-ext-on){--link-external-decoration:none}.tabs-square .mod-root{--tab-curve:0;--tab-radius:0;--tab-radius-active:0}.tabs-underline .mod-root{--tab-curve:0;--tab-radius:0;--tab-radius-active:0;--tab-outline-width:0px;--tab-background-active:transparent}.tabs-underline .mod-root .workspace-tab-header-container{border-bottom:1px solid var(--divider-color)}.tabs-underline .mod-root .workspace-tab-header{border-bottom:2px solid transparent}.tabs-underline .mod-root .workspace-tab-header:hover{border-bottom:2px solid var(--ui2)}.tabs-underline .mod-root .workspace-tab-header:hover .workspace-tab-header-inner{background-color:transparent}.tabs-underline .mod-root .workspace-tab-header.is-active{border-bottom:2px solid var(--ax3)}.tabs-underline .mod-root .workspace-tab-header-inner:hover{background-color:transparent}.workspace>.workspace-split:not(.mod-root) .workspace-tabs:not(.mod-top) .workspace-tab-header-container{--tab-outline-width:0}.full-file-names{--nav-item-white-space:normal}body:not(.full-file-names) .tree-item-inner{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.theme-dark,.theme-light{--h1l:var(--ui1);--h2l:var(--ui1);--h3l:var(--ui1);--h4l:var(--ui1);--h5l:var(--ui1);--h6l:var(--ui1)}.h1-l .markdown-reading-view h1:not(.embedded-note-title),.h1-l .mod-cm6 .cm-editor .HyperMD-header-1{border-bottom:1px solid var(--h1l);padding-bottom:.4em;margin-block-end:0.6em}.h2-l .markdown-reading-view h2,.h2-l .mod-cm6 .cm-editor .HyperMD-header-2{border-bottom:1px solid var(--h2l);padding-bottom:.4em;margin-block-end:0.6em}.h3-l .markdown-reading-view h3,.h3-l .mod-cm6 .cm-editor .HyperMD-header-3{border-bottom:1px solid var(--h3l);padding-bottom:.4em;margin-block-end:0.6em}.h4-l .markdown-reading-view h4,.h4-l .mod-cm6 .cm-editor .HyperMD-header-4{border-bottom:1px solid var(--h4l);padding-bottom:.4em;margin-block-end:0.6em}.h5-l .markdown-reading-view h5,.h5-l .mod-cm6 .cm-editor .HyperMD-header-5{border-bottom:1px solid var(--h5l);padding-bottom:.4em;margin-block-end:0.6em}.h6-l .markdown-reading-view h6,.h6-l .mod-cm6 .cm-editor .HyperMD-header-6{border-bottom:1px solid var(--h6l);padding-bottom:.4em;margin-block-end:0.6em}.is-tablet .workspace-drawer:not(.is-pinned){margin:30px 16px 0;height:calc(100vh - 48px);border-radius:15px;border:none}.is-tablet .workspace-drawer-ribbon{background-color:var(--background-primary);border-right:1px solid var(--background-modifier-border)}.backlink-pane>.tree-item-self,.backlink-pane>.tree-item-self:hover,.outgoing-link-pane>.tree-item-self,.outgoing-link-pane>.tree-item-self:hover{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-adaptive-smallest);font-weight:500}.is-mobile .nav-folder.mod-root>.nav-folder-title .nav-folder-title-content{display:none}body:not(.is-mobile) .nav-folder.mod-root>.nav-folder-title .nav-folder-title-content{font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:var(--font-adaptive-smallest)}.nav-buttons-container{justify-content:flex-start}.is-mobile .mod-publish .modal-content{display:unset;padding:10px 10px 10px;margin-bottom:120px;overflow-x:hidden}.is-mobile .mod-publish .button-container,.is-mobile .modal.mod-publish .modal-button-container{padding:10px 15px 30px;margin-left:0;left:0}.is-mobile .modal.mod-publish .modal-title{padding:10px 20px;margin:0 -10px;border-bottom:1px solid var(--background-modifier-border)}.is-mobile .publish-site-settings-container{margin-right:0;padding:0}.is-mobile .modal.mod-publish .modal-content .publish-sections-container{margin-right:0;padding-right:0}@media (max-width:400pt){.is-mobile .publish-changes-info,.is-mobile .publish-section-header{flex-wrap:wrap;border:none}.is-mobile .publish-changes-info .publish-changes-add-linked-btn{flex-basis:100%;margin-top:10px}.is-mobile .publish-section-header-text{flex-basis:100%;margin-bottom:10px;margin-left:20px;margin-top:-8px}.is-mobile .publish-section{background:var(--background-secondary);border-radius:10px;padding:12px 12px 1px}.is-mobile .publish-changes-switch-site{flex-grow:0;margin-right:10px}}.release-notes-view .cm-scroller.is-readable-line-width{width:var(--line-width-adaptive);max-width:var(--max-width);margin:0 auto}@media (max-width:400pt){.is-mobile .modal.mod-sync-log{width:100vw;height:100vh;max-height:calc(100vh - 32px);box-shadow:0 -32px 0 32px var(--background-primary);bottom:0;padding-bottom:10px}}.obsidian-banner.solid{border-bottom:var(--divider-width) solid var(--divider-color)}.contextual-typography .markdown-preview-view div.has-banner-icon.obsidian-banner-wrapper{overflow:visible}.theme-dark .markdown-preview-view img.emoji{opacity:1}body.theme-dark .button-default,body.theme-light .button-default{border:none;box-shadow:none;height:var(--input-height);background:var(--background-modifier-hover);color:var(--text-normal);font-size:revert;font-weight:500;transform:none;transition:all .1s linear;padding:0 20px}body.theme-dark .button-default:hover,body.theme-light .button-default:hover{border:none;background:var(--background-modifier-border-hover);box-shadow:none;transform:none;transition:all .1s linear}body.theme-dark .button-default:active,body.theme-dark .button-default:focus,body.theme-light .button-default:active,body.theme-light .button-default:focus{box-shadow:none}body .button-default.blue{background-color:var(--blue)!important}.button-default.red{background-color:var(--red)!important}.button-default.green{background-color:var(--green)!important}.button-default.yellow{background-color:var(--yellow)!important}.button-default.purple{background-color:var(--purple)!important}.workspace-leaf-content[data-type=calendar] .view-content{padding:5px 0 0 0}#calendar-container{padding:0 var(--size-4-4) var(--size-4-1);--color-background-day-empty:var(--background-secondary-alt);--color-background-day-active:var(--background-modifier-hover);--color-background-day-hover:var(--background-modifier-hover);--color-dot:var(--text-faint);--color-text-title:var(--text-normal);--color-text-heading:var(--text-muted);--color-text-day:var(--text-normal);--color-text-today:var(--text-normal);--color-arrow:var(--text-faint);--color-background-day-empty:transparent}#calendar-container .table{border-collapse:separate;table-layout:fixed}#calendar-container h2{font-weight:400;font-size:var(--h2)}.mod-root #calendar-container{width:var(--line-width-adaptive);max-width:var(--max-width);margin:0 auto;padding:0}#calendar-container .arrow{cursor:var(--cursor);width:22px;border-radius:4px;padding:3px 7px}#calendar-container .arrow svg{width:12px;height:12px;color:var(--text-faint);opacity:.7}#calendar-container .arrow:hover{fill:var(--text-muted);color:var(--text-muted);background-color:var(--background-modifier-hover)}#calendar-container .arrow:hover svg{color:var(--text-muted);opacity:1}#calendar-container tr th{padding:2px 0 4px;font-weight:500;letter-spacing:.1em;font-size:var(--font-adaptive-smallest)}#calendar-container tr td{padding:2px 0 0 0;border-radius:var(--radius-m);cursor:var(--cursor);border:1px solid transparent;transition:none}#calendar-container .nav{padding:0;margin:var(--size-4-2) var(--size-4-1)}#calendar-container .dot{margin:0}#calendar-container .month,#calendar-container .title,#calendar-container .year{font-size:var(--font-adaptive-normal);font-weight:400;color:var(--text-normal)}#calendar-container .today,#calendar-container .today.active{color:var(--text-accent);font-weight:600}#calendar-container .today .dot,#calendar-container .today.active .dot{fill:var(--text-accent)}#calendar-container .active .task{stroke:var(--text-faint)}#calendar-container .active{color:var(--text-normal)}#calendar-container .reset-button{text-transform:none;letter-spacing:0;font-size:var(--font-adaptive-smaller);font-weight:500;color:var(--text-muted);border-radius:4px;margin:0;padding:2px 8px}#calendar-container .reset-button:hover{color:var(--text-normal);background-color:var(--background-modifier-hover)}#calendar-container .day,#calendar-container .reset-button{cursor:var(--cursor)}#calendar-container .day.adjacent-month{color:var(--text-faint);opacity:1}#calendar-container .day{padding:2px 4px 4px;font-size:calc(var(--font-adaptive-normal) - 2px)}#calendar-container .active,#calendar-container .active.today,#calendar-container .day:hover,#calendar-container .week-num:hover{background-color:var(--color-background-day-active)}#calendar-container .active .dot{fill:var(--text-faint)}#calendar-container .active .task{stroke:var(--text-faint)}.block-language-chart canvas,.block-language-dataviewjs canvas{margin:1em 0}.theme-dark,.theme-light{--chart-color-1:var(--blue);--chart-color-2:var(--red);--chart-color-3:var(--yellow);--chart-color-4:var(--green);--chart-color-5:var(--orange);--chart-color-6:var(--purple);--chart-color-7:var(--cyan);--chart-color-8:var(--pink)}.checklist-plugin-main .group .classic,.checklist-plugin-main .group .compact,.checklist-plugin-main .group .page,.checklist-plugin-main .group svg{cursor:var(--cursor)}.workspace .view-content .checklist-plugin-main{padding:10px 10px 15px 15px;--todoList-togglePadding--compact:2px;--todoList-listItemMargin--compact:2px}.checklist-plugin-main .title{font-weight:400;color:var(--text-muted);font-size:var(--font-adaptive-small)}.checklist-plugin-main .group svg{fill:var(--text-faint)}.checklist-plugin-main .group svg:hover{fill:var(--text-normal)}.checklist-plugin-main .group .title:hover{color:var(--text-normal)}.checklist-plugin-main .group:not(:last-child){border-bottom:1px solid var(--background-modifier-border)}.checklist-plugin-main .group{padding:0 0 2px 0}.checklist-plugin-main .group .classic:last-child,.checklist-plugin-main .group .compact:last-child{margin-bottom:10px}.checklist-plugin-main .group .classic,.checklist-plugin-main .group .compact{font-size:var(--font-adaptive-small)}.checklist-plugin-main .group .classic,.checklist-plugin-main .group .compact{background:0 0;border-radius:0;margin:1px auto;padding:0}.checklist-plugin-main .group .classic .content{padding:0}.checklist-plugin-main .group .classic:hover,.checklist-plugin-main .group .compact:hover{background:0 0}.markdown-preview-view.checklist-plugin-main ul>li:not(.task-list-item)::before{display:none}.checklist-plugin-main .group .compact>.toggle .checked{background:var(--text-accent);top:-1px;left:-1px;height:18px;width:18px}.checklist-plugin-main .compact .toggle:hover{opacity:1!important}.checklist-plugin-main .group .count{font-size:var(--font-adaptive-smaller);padding:0;background:0 0;font-weight:400;color:var(--text-faint)}.checklist-plugin-main .group .group-header:hover .count{color:var(--text-muted)}.checklist-plugin-main .group .checkbox{border:1px solid var(--background-modifier-border-hover);min-height:18px;min-width:18px;height:18px;width:18px}.checklist-plugin-main .group .checkbox:hover{border:1px solid var(--background-modifier-border-focus)}.checklist-plugin-main button:active,.checklist-plugin-main button:focus,.checklist-plugin-main button:hover{box-shadow:none!important}.checklist-plugin-main button.collapse{padding:0}body:not(.is-mobile) .checklist-plugin-main button.collapse svg{width:18px;height:18px}.is-mobile .checklist-plugin-main .group-header .title{flex-grow:1;flex-shrink:0}.is-mobile .checklist-plugin-main button{width:auto}.is-mobile .checklist-plugin-main.markdown-preview-view ul{padding-inline-start:0}.is-mobile .workspace .view-content .checklist-plugin-main{padding-bottom:50px}body #cMenuModalBar{box-shadow:0 2px 20px var(--shadow-color)}body #cMenuModalBar .cMenuCommandItem{cursor:var(--cursor)}body #cMenuModalBar button.cMenuCommandItem:hover{background-color:var(--background-modifier-hover)}.MiniSettings-statusbar-button{padding-top:0;padding-bottom:0}.el-hr hr{margin:1rem 0}.el-p+.el-h1,.el-p+.el-h2{margin-top:.75rem}.el-h1+.el-h1,.el-h1+.el-h2,.el-h2+.el-h2,.el-hr+.el-h1,.el-hr+.el-h2{margin-top:0}.el-lang-dataview+.el-p,.el-lang-dataviewjs+.el-p,.el-ol+.el-lang-dataview,.el-ol+.el-lang-dataviewjs,.el-ol+.el-table,.el-p+.el-table,.el-p:not(.el-lang-dataview)+.el-lang-dataview,.el-p:not(.el-lang-dataviewjs)+.el-lang-dataviewjs,.el-ul+.el-lang-dataview,.el-ul+.el-lang-dataviewjs,.el-ul+.el-table{margin-top:var(--spacing-p)}.el-div+.el-h1,.el-embed-image+.el-p:not(.el-embed-image),.el-iframe+.el-p,.el-lang-leaflet,.el-lang-leaflet+*,.el-p+.el-iframe,.el-p:not(.el-embed-image)+.el-embed-image,.el-pre+.el-h1{margin-top:1rem}.markdown-preview-view .table-view-table>thead>tr>th,body .table-view-table>thead>tr>th{font-weight:400;font-size:var(--table-text-size);color:var(--text-muted);border-bottom:1px solid var(--background-modifier-border);cursor:var(--cursor)}table.dataview ul.dataview-ul{list-style:none;padding-inline-start:0;margin-block-start:0em!important;margin-block-end:0em!important}.markdown-preview-view .table-view-table>tbody>tr>td,.markdown-source-view.mod-cm6 .table-view-table>tbody>tr>td{max-width:var(--max-col-width)}body .dataview.small-text{color:var(--text-faint)}body:not(.row-hover) .dataview.task-list-basic-item:hover,body:not(.row-hover) .dataview.task-list-item:hover,body:not(.row-hover) .table-view-table>tbody>tr:hover{background-color:transparent!important;box-shadow:none}body.row-hover .dataview.task-list-basic-item:hover,body.row-hover .dataview.task-list-item:hover,body.row-hover .table-view-table>tbody>tr:hover{background-color:var(--table-row-background-hover)!important}body .dataview-error{margin-top:16px;background-color:transparent}.dataview.dataview-error,.markdown-source-view.mod-cm6 .cm-content .dataview.dataview-error{color:var(--text-muted)}body div.dataview-error-box{min-height:0;border:none;background-color:transparent;font-size:var(--table-text-size);border-radius:var(--radius-m);padding:15px 0}body div.dataview-error-box p{margin-block-start:0;margin-block-end:0;color:var(--text-faint)}.markdown-source-view div.dataview-error-box{margin-top:15px}.trim-cols .markdown-preview-view .table-view-table>tbody>tr>td,.trim-cols .markdown-source-view.mod-cm6 .table-view-table>tbody>tr>td,.trim-cols .markdown-source-view.mod-cm6 .table-view-table>thead>tr>th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ul .dataview .task-list-basic-item:hover,ul .dataview .task-list-item:hover{background-color:transparent;box-shadow:none}body .dataview.result-group{padding-left:0}body .dataview .inline-field-standalone-value,body .dataview.inline-field-key,body .dataview.inline-field-value{font-family:var(--font-text);font-size:calc(var(--font-adaptive-normal) - 2px);background:0 0;color:var(--text-muted)}body .dataview.inline-field-key{padding:0}body .dataview .inline-field-standalone-value{padding:0}body .dataview.inline-field-key::after{margin-left:3px;content:"|";color:var(--background-modifier-border)}body .dataview.inline-field-value{padding:0 1px 0 3px}.markdown-preview-view .block-language-dataview table.calendar th{border:none;cursor:default;background-image:none}.markdown-preview-view .block-language-dataview table.calendar .day{font-size:var(--font-adaptive-small)}.workspace-leaf-content .view-content.dictionary-view-content{padding:0}div[data-type=dictionary-view] .contents{padding-bottom:2rem}div[data-type=dictionary-view] .results>.container{background-color:transparent;margin-top:0;max-width:none;padding:0 10px}div[data-type=dictionary-view] .error,div[data-type=dictionary-view] .errorDescription{text-align:left;font-size:var(--font-adaptive-small);padding:10px 12px 0;margin:0}div[data-type=dictionary-view] .results>.container h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:var(--font-adaptive-smallest);font-weight:500;padding:5px 7px 0 2px;margin-bottom:6px}div[data-type=dictionary-view] .container .main{border-radius:0;background-color:transparent;font-size:var(--font-adaptive-smaller);line-height:1.3;color:var(--text-muted);padding:5px 0 0}div[data-type=dictionary-view] .main .definition{padding:10px;border:1px solid var(--background-modifier-border);border-radius:5px;margin:10px 0 5px;background-color:var(--background-primary)}div[data-type=dictionary-view] .main .definition:last-child{border:1px solid var(--background-modifier-border)}div[data-type=dictionary-view] .main .synonyms{padding:10px 0 0}div[data-type=dictionary-view] .main .synonyms p{margin:0}div[data-type=dictionary-view] .main .definition>blockquote{margin:0}div[data-type=dictionary-view] .main .label{color:var(--text-normal);margin-bottom:2px;font-size:var(--font-adaptive-smaller);font-weight:500}div[data-type=dictionary-view] .main .mark{color:var(--text-normal);background-color:var(--text-selection);box-shadow:none}div[data-type=dictionary-view] .main>.opener{font-size:var(--font-adaptive-small);color:var(--text-normal);padding-left:5px}body .excalidraw,body .excalidraw.theme--dark{--color-primary-light:var(--text-selection);--color-primary:var(--interactive-accent);--color-primary-chubb:var(--interactive-accent-hover);--color-primary-darker:var(--interactive-accent-hover);--color-primary-darkest:var(--interactive-accent-hover);--ui-font:var(--font-interface);--island-bg-color:var(--background-secondary);--button-gray-1:var(--background-modifier-hover);--button-gray-2:var(--background-modifier-hover);--focus-highlight-color:var(--background-modifier-border-focus);--default-bg-color:var(--background-primary);--input-border-color:var(--background-modifier-border);--link-color:var(--text-accent);--overlay-bg-color:rgba(255, 255, 255, 0.88);--text-primary-color:var(--text-normal)}.workspace-leaf-content[data-type=excalidraw] .view-header .view-header-title-container{width:auto}body .excalidraw .App-toolbar-container .ToolIcon_type_floating:not(.is-mobile) .ToolIcon__icon{box-shadow:none}body .excalidraw .buttonList label,body .excalidraw button{cursor:var(--cursor)}body .excalidraw .Dialog__title{font-variant:normal}body .excalidraw .HintViewer,body .excalidraw .reset-zoom-button{color:var(--text-muted);font-size:var(--font-adaptive-smaller)}body .excalidraw .reset-zoom-button{padding-left:1em;padding-right:1em}body .excalidraw .HintViewer>span{background-color:transparent}body .excalidraw button:hover{box-shadow:none}body .excalidraw .Island{box-shadow:none;border:1px solid var(--background-modifier-border)}body .excalidraw .ToolIcon{cursor:var(--cursor);font-family:var(--font-interface);background-color:transparent}body .excalidraw label.ToolIcon{cursor:var(--cursor);background-color:transparent}.git-view-body .opener{text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-adaptive-smallest);font-weight:500;padding:5px 7px 5px 10px;margin-bottom:6px}.git-view-body .file-view .opener{text-transform:none;letter-spacing:normal;font-size:var(--font-adaptive-smallest);font-weight:400;padding:initial;margin-bottom:0}.git-view-body .file-view .opener .collapse-icon{display:flex!important;margin-left:-7px}.git-view-body{margin-top:6px}.git-view-body .file-view{margin-left:4px}.git-view-body .file-view main:hover{color:var(--text-normal)}.git-view-body .file-view .tools .type{display:none!important}.git-view-body .file-view .tools{opacity:0;transition:opacity .1s}.git-view-body .file-view main:hover>.tools{opacity:1}.git-view-body .staged{margin-bottom:12px}.git-view-body .opener.open{color:var(--text-normal)}div[data-type=git-view] .search-input-container{margin-left:0;width:100%}.git-view-body .opener .collapse-icon{display:none!important}.git-view-body main{background-color:var(--background-primary)!important;width:initial!important}.git-view-body .file-view>main:not(.topLevel){margin-left:7px}div[data-type=git-view] .commit-msg{min-height:2.5em!important;height:2.5em!important;padding:6.5px 8px!important}div[data-type=git-view] .search-input-clear-button{bottom:5.5px}.mod-macos.hider-frameless .workspace-ribbon{border:none}.hider-ribbon:not(.is-mobile) .workspace-ribbon-collapse-btn{display:none}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-right{pointer-events:none}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left{position:absolute;border-right:0px;margin:0;height:var(--header-height);overflow:visible;flex-basis:0;bottom:0;top:auto;display:flex!important;flex-direction:row;z-index:17;opacity:0;transition:opacity .25s ease-in-out;filter:drop-shadow(2px 10px 30px rgba(0,0,0,.2));gap:0}.hider-ribbon:not(.is-mobile) .side-dock-actions,.hider-ribbon:not(.is-mobile) .side-dock-settings{flex-direction:row;display:flex;border-top:var(--border-width) solid var(--background-modifier-border);background:var(--background-secondary);margin:0;position:relative;gap:var(--size-2-2)}.hider-ribbon:not(.is-mobile) .side-dock-actions{padding-left:8px}.hider-ribbon:not(.is-mobile) .side-dock-settings{border-right:var(--border-width) solid var(--background-modifier-border);border-top-right-radius:var(--radius-m);padding:0 var(--size-2-2)}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left .side-dock-ribbon-action{display:flex;margin:7px 0 8px}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left:hover{opacity:1;transition:opacity .25s ease-in-out}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left .workspace-ribbon-collapse-btn{opacity:0}.hider-ribbon:not(.is-mobile) .workspace-split.mod-left-split{margin:0}.hider-ribbon:not(.is-mobile) .workspace-leaf-content .item-list{padding-bottom:40px}.hider-ribbon .workspace-ribbon{padding:0}.popover.hover-editor{--folding-offset:10px}.theme-dark,.theme-light{--he-title-bar-inactive-bg:var(--background-secondary);--he-title-bar-inactive-pinned-bg:var(--background-secondary);--he-title-bar-active-pinned-bg:var(--background-secondary);--he-title-bar-active-bg:var(--background-secondary);--he-title-bar-inactive-fg:var(--text-muted);--he-title-bar-active-fg:var(--text-normal);--he-title-bar-font-size:14px}.theme-light{--popover-shadow:0px 2.7px 3.1px rgba(0, 0, 0, 0.032),0px 5.9px 8.7px rgba(0, 0, 0, 0.052),0px 10.4px 18.1px rgba(0, 0, 0, 0.071),0px 20px 40px rgba(0, 0, 0, 0.11)}.theme-dark{--popover-shadow:0px 2.7px 3.1px rgba(0, 0, 0, 0.081),0px 5.9px 8.7px rgba(0, 0, 0, 0.131),0px 10.4px 18.1px rgba(0, 0, 0, 0.18),0px 20px 40px rgba(0, 0, 0, 0.28)}.popover.hover-editor:not(.snap-to-viewport){--max-width:92%}.popover.hover-editor:not(.snap-to-viewport) .markdown-preview-view,.popover.hover-editor:not(.snap-to-viewport) .markdown-source-view .cm-content{font-size:90%}body .popover.hover-editor:not(.is-loaded){box-shadow:var(--popover-shadow)}body .popover.hover-editor:not(.is-loaded) .markdown-preview-view{padding:15px 0 0 0}body .popover.hover-editor:not(.is-loaded) .view-content{height:100%;background-color:var(--background-primary)}body .popover.hover-editor:not(.is-loaded) .view-actions{height:auto}body .popover.hover-editor:not(.is-loaded) .popover-content{border:1px solid var(--background-modifier-border-hover)}body .popover.hover-editor:not(.is-loaded) .popover-titlebar{padding:0 4px}body .popover.hover-editor:not(.is-loaded) .popover-titlebar .popover-title{padding-left:4px;letter-spacing:-.02em;font-weight:var(--title-weight)}body .popover.hover-editor:not(.is-loaded) .markdown-embed{height:auto;font-size:unset;line-height:unset}body .popover.hover-editor:not(.is-loaded) .markdown-embed .markdown-preview-view{padding:0}body .popover.hover-editor:not(.is-loaded).show-navbar .popover-titlebar{border-bottom:var(--border-width) solid var(--background-modifier-border)}body .popover.hover-editor:not(.is-loaded) .popover-action,body .popover.hover-editor:not(.is-loaded) .popover-header-icon{cursor:var(--cursor);margin:4px 0;padding:4px 3px;border-radius:var(--radius-m);color:var(--icon-color)}body .popover.hover-editor:not(.is-loaded) .popover-action.mod-pin-popover,body .popover.hover-editor:not(.is-loaded) .popover-header-icon.mod-pin-popover{padding:4px 2px}body .popover.hover-editor:not(.is-loaded) .popover-action svg,body .popover.hover-editor:not(.is-loaded) .popover-header-icon svg{opacity:var(--icon-muted)}body .popover.hover-editor:not(.is-loaded) .popover-action:hover,body .popover.hover-editor:not(.is-loaded) .popover-header-icon:hover{background-color:var(--background-modifier-hover);color:var(--icon-color-hover)}body .popover.hover-editor:not(.is-loaded) .popover-action:hover svg,body .popover.hover-editor:not(.is-loaded) .popover-header-icon:hover svg{opacity:1;transition:opacity .1s ease-in-out}body .popover.hover-editor:not(.is-loaded) .popover-action.is-active,body .popover.hover-editor:not(.is-loaded) .popover-header-icon.is-active{color:var(--icon-color)}body.minimal-dark-black.theme-dark,body.minimal-dark-tonal.theme-dark,body.minimal-light-tonal.theme-light,body.minimal-light-white.theme-light,body.theme-dark{--kanban-border:0px}body:not(.is-mobile) .kanban-plugin__grow-wrap>textarea:focus{box-shadow:none}body:not(.minimal-icons-off) .kanban-plugin svg.cross{height:14px;width:14px}body .kanban-plugin{--kanban-border:var(--border-width);--interactive-accent:var(--text-selection);--interactive-accent-hover:var(--background-modifier-hover);--text-on-accent:var(--text-normal);background-color:var(--background-primary)}body .kanban-plugin__markdown-preview-view{font-family:var(----text)}body .kanban-plugin__board>div{margin:0 auto}body .kanban-plugin__checkbox-label{font-size:var(--font-adaptive-small);color:var(--text-muted)}body .kanban-plugin__item-markdown ul{margin:0}body .kanban-plugin__item-content-wrapper{box-shadow:none}body .kanban-plugin__grow-wrap::after,body .kanban-plugin__grow-wrap>textarea{padding:0;border:0;border-radius:0}body .kanban-plugin__grow-wrap::after,body .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__item-title p,body .kanban-plugin__markdown-preview-view{font-size:calc(var(--font-adaptive-normal) - 2px);line-height:1.3}body .kanban-plugin__item-input-actions button,body .kanban-plugin__lane-input-actions button{font-size:var(--font-adaptive-small)}body .kanban-plugin__item{background-color:var(--background-primary)}body .kanban-plugin__item-title-wrapper{align-items:center}body .kanban-plugin__lane-form-wrapper{border:1px solid var(--background-modifier-border)}body .kanban-plugin__lane-header-wrapper{border-bottom:0}body .kanban-plugin__lane-header-wrapper .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__lane-input-wrapper .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__lane-title p{background:0 0;color:var(--text-normal);font-size:calc(var(--font-adaptive-normal) - 2px);font-weight:500}body .kanban-plugin__item-input-wrapper .kanban-plugin__grow-wrap>textarea{padding:0;border-radius:0;height:auto}body .kanban-plugin__item-form .kanban-plugin__grow-wrap{padding:6px 8px;border-radius:6px;border:1px solid var(--background-modifier-border);background-color:var(--background-primary)}body .kanban-plugin__item-input-wrapper .kanban-plugin__grow-wrap>textarea::placeholder{color:var(--text-faint)}body .kanban-plugin__item .kanban-plugin__item-edit-archive-button,body .kanban-plugin__item button.kanban-plugin__item-edit-button,body .kanban-plugin__item-settings-actions>button,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled,body .kanban-plugin__lane-action-wrapper>button{background:0 0;transition:color .1s ease-in-out}body .kanban-plugin__item .kanban-plugin__item-edit-archive-button:hover,body .kanban-plugin__item button.kanban-plugin__item-edit-button.is-enabled,body .kanban-plugin__item button.kanban-plugin__item-edit-button:hover,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{color:var(--text-normal);transition:color .1s ease-in-out;background:0 0}body .kanban-plugin__new-lane-button-wrapper{position:fixed;bottom:30px}body .kanban-plugin__lane-items>.kanban-plugin__placeholder:only-child{border:1px dashed var(--background-modifier-border);height:2em}body .kanban-plugin__item-postfix-button-wrapper{align-self:flex-start}body .kanban-plugin__item button.kanban-plugin__item-postfix-button.is-enabled,body .kanban-plugin__item button.kanban-plugin__item-prefix-button.is-enabled,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled{color:var(--text-muted)}body .kanban-plugin button{box-shadow:none;cursor:var(--cursor);height:auto}body .kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,body .kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{background-color:var(--background-modifier-hover)}body .kanban-plugin__item-button-wrapper>button{font-size:var(--font-adaptive-small);color:var(--text-muted);font-weight:400;background:0 0;height:32px}body .kanban-plugin__item-button-wrapper>button:hover{color:var(--text-normal);background:var(--background-modifier-hover)}body .kanban-plugin__item-button-wrapper>button:focus{box-shadow:none}body .kanban-plugin__item-button-wrapper{padding:1px 6px 5px;border-top:none}body .kanban-plugin__lane-setting-wrapper>div:last-child{border:none;margin:0}body .kanban-plugin.something-is-dragging{cursor:grabbing;cursor:-webkit-grabbing}body .kanban-plugin__item.is-dragging{box-shadow:0 5px 30px rgba(0,0,0,.15),0 0 0 2px var(--text-selection)}body .kanban-plugin__lane{background:0 0;padding:0;border:var(--border-width) solid transparent}body .kanban-plugin__lane.is-dragging{box-shadow:0 5px 30px rgba(0,0,0,.15);border:1px solid var(--background-modifier-border)}body .kanban-plugin__lane-items{border:var(--kanban-border) solid var(--background-modifier-border);border-bottom:none;padding:0 4px;border-top-left-radius:8px;border-top-right-radius:8px;margin:0;background-color:var(--background-secondary)}body .kanban-plugin__item-input-wrapper{border:0;padding-top:1px;flex-grow:1}body .kanban-plugin__item-button-wrapper,body .kanban-plugin__item-form{background-color:var(--background-secondary);border:var(--kanban-border) solid var(--background-modifier-border);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px}body .kanban-plugin__item-form{padding:0 4px 5px}body .kanban-plugin__markdown-preview-view ol,body .kanban-plugin__markdown-preview-view ol.contains-task-list .contains-task-list,body .kanban-plugin__markdown-preview-view ul,body .kanban-plugin__markdown-preview-view ul.contains-task-list .contains-task-list{padding-inline-start:1.8em!important}@media (max-width:400pt){.kanban-plugin__board{flex-direction:column!important}.kanban-plugin__lane{width:100%!important;margin-bottom:1rem!important}}body .cm-heading-marker{cursor:var(--cursor);padding-left:10px}.theme-light{--leaflet-buttons:var(--bg1);--leaflet-borders:rgba(0,0,0,0.1)}.theme-dark{--leaflet-buttons:var(--bg2);--leaflet-borders:rgba(255,255,255,0.1)}.leaflet-top{transition:top .1s linear}.mod-macos.minimal-focus-mode .mod-root .map-100 .markdown-preview-sizer.markdown-preview-section .el-lang-leaflet:nth-child(3) .leaflet-top{top:calc(18px + var(--ewt-traffic-light-y));transition:top .1s linear}body .leaflet-container{background-color:var(--background-secondary);font-family:var(--font-interface)}.map-100 .markdown-preview-sizer.markdown-preview-section .el-lang-leaflet:nth-child(3){margin-top:-16px}.leaflet-control-attribution{display:none}.leaflet-popup-content{margin:10px}.block-language-leaflet{border-radius:var(--radius-m);overflow:hidden;border:var(--border-width) solid var(--background-modifier-border)}.map-wide .block-language-leaflet{border-radius:var(--radius-l)}.map-max .block-language-leaflet{border-radius:var(--radius-xl)}.workspace-leaf-content[data-type=obsidian-leaflet-map-view] .block-language-leaflet{border-radius:0;border:none}.map-100 .block-language-leaflet{border-radius:0;border-left:none;border-right:none}.block-language-leaflet .leaflet-control-expandable-list .input-container .input-item>input{appearance:none}body .block-language-leaflet .leaflet-bar.disabled>a{background-color:transparent;opacity:.3}body .leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}body .leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}body .leaflet-control-layers-toggle{border-radius:4px}body .block-language-leaflet .leaflet-control-expandable,body .block-language-leaflet .leaflet-control-has-actions .control-actions.expanded,body .block-language-leaflet .leaflet-distance-control,body .leaflet-bar,body .leaflet-bar a,body .leaflet-control-layers-expanded,body .leaflet-control-layers-toggle{background-color:var(--leaflet-buttons);color:var(--text-muted);border:none;user-select:none}body .leaflet-bar a.leaflet-disabled,body .leaflet-bar a.leaflet-disabled:hover{background-color:var(--leaflet-buttons);color:var(--text-faint);opacity:.6;cursor:not-allowed}body .leaflet-control a{cursor:var(--cursor);color:var(--text-normal)}body .leaflet-bar a:hover{background-color:var(--background-modifier-hover);color:var(--text-normal);border:none}body .leaflet-touch .leaflet-control-layers{background-color:var(--leaflet-buttons)}body .leaflet-touch .leaflet-bar,body .leaflet-touch .leaflet-control-layers{border-radius:5px;box-shadow:2px 0 8px 0 rgba(0,0,0,.1);border:1px solid var(--ui1)}body .block-language-leaflet .leaflet-control-has-actions .control-actions{box-shadow:0;border:1px solid var(--ui1)}body .leaflet-control-expandable-list .leaflet-bar{box-shadow:none;border-radius:0}body .block-language-leaflet .leaflet-distance-control{padding:4px 10px;height:auto;cursor:var(--cursor)!important}body .block-language-leaflet .leaflet-marker-link-popup>.leaflet-popup-content-wrapper>*{font-size:var(--font-adaptive-small);font-family:var(--font-interface)}body .block-language-leaflet .leaflet-marker-link-popup>.leaflet-popup-content-wrapper{padding:4px 10px!important}.leaflet-marker-icon svg path{stroke:var(--background-primary);stroke-width:18px}.map-view-marker-name{font-weight:400}.workspace-leaf-content[data-type=map] .graph-controls{background-color:var(--background-primary)}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-split.mod-root .workspace-leaf-content[data-type=map] .view-header{position:fixed;background:0 0!important;width:100%;z-index:99}body:not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .view-header-title{display:none}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .view-actions{background:0 0}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .view-content{height:100%}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .leaflet-top.leaflet-right{top:var(--header-height)}.obsidian-metatable{--metatable-font-size:calc(var(--font-adaptive-normal) - 2px);--metatable-font-family:var(--font-interface);--metatable-background:transparent;--metatable-foreground:var(--text-faint);--metatable-key-background:transparent;--metatable-key-border-width:0;--metatable-key-border-color:transparent;--metatable-value-background:transparent;padding-bottom:.5rem}.obsidian-metatable::part(key),.obsidian-metatable::part(value){border-bottom:0 solid var(--background-modifier-border);padding:.1rem 0;text-overflow:ellipsis;overflow:hidden}.obsidian-metatable::part(key){font-weight:400;color:var(--tx3);font-size:calc(var(--font-adaptive-normal) - 2px)}.obsidian-metatable::part(value){font-size:calc(var(--font-adaptive-normal) - 2px);color:var(--tx1)}body .NLT__header-menu-header-container{font-size:85%}body .NLT__button{background:0 0;box-shadow:none;color:var(--text-muted)}body .NLT__button:active,body .NLT__button:focus,body .NLT__button:hover{background:0 0;color:var(--text-normal);box-shadow:none}.NLT__app .NLT__button{background:0 0;border:1px solid var(--background-modifier-border);box-shadow:0 .5px 1px 0 var(--btn-shadow-color);color:var(--text-muted);padding:2px 8px}.NLT__app .NLT__button:active,.NLT__app .NLT__button:focus,.NLT__app .NLT__button:hover{background:0 0;border-color:var(--background-modifier-border-hover);color:var(--text-normal);box-shadow:0 .5px 1px 0 var(--btn-shadow-color)}.NLT__td:nth-last-child(2),.NLT__th:nth-last-child(2){border-right:0}.NLT__app .NLT__td:last-child,.NLT__app .NLT__th:last-child{padding-right:0}.NLT__app .NLT__th{background-image:none!important}.NLT__app th.NLT__selectable:hover{background-color:transparent;cursor:var(--cursor)}.NLT__menu .NLT__menu-container{background-color:var(--background-secondary)}.NLT__menu .NLT__header-menu-item{font-size:var(--font-adaptive-small)}.NLT__menu .NLT__header-menu{padding:6px 4px}.NLT__menu .NLT__drag-menu{font-size:var(--font-adaptive-small);padding:6px 4px}.NLT__menu svg{color:var(--text-faint);margin-right:6px}.NLT__menu .NLT__selectable:hover,.NLT__menu .NLT__selected{background:0 0}.NLT__menu .NLT__selected>.NLT__selectable{background-color:var(--background-modifier-hover)}.NLT__menu .NLT__selectable{cursor:var(--cursor)}.NLT__menu div.NLT__selectable{min-width:110px;border-radius:var(--radius-m);padding:3px 8px 3px 4px;margin:1px 2px 1px;cursor:var(--cursor);height:auto;line-height:20px}.NLT__menu div.NLT__selectable:hover{background-color:var(--background-modifier-hover)}.NLT__menu .NLT__textarea{font-size:var(--table-text-size)}.NLT__tfoot tr:hover td{background-color:transparent}.modal .quickAddPrompt>h1,.modal .quickAddYesNoPrompt h1{margin-top:0;text-align:left!important;font-size:var(--h1);font-weight:600}.modal .quickAddYesNoPrompt p{text-align:left!important}.modal .quickAddYesNoPrompt button{font-size:var(--font-ui-small)}.modal .yesNoPromptButtonContainer{font-size:var(--font-ui-small);justify-content:flex-end}.quickAddModal .modal-content{padding:20px 2px 5px}div#quick-explorer{display:flex}div#quick-explorer span.explorable{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-adaptive-smaller);line-height:16px}div#quick-explorer span.explorable:last-of-type{font-size:var(--font-adaptive-smaller)}div#quick-explorer span.explorable.selected,div#quick-explorer span.explorable:hover{background-color:unset!important}div#quick-explorer span.explorable.selected .explorable-name,div#quick-explorer span.explorable:hover .explorable-name{color:var(--text-normal)}div#quick-explorer span.explorable.selected .explorable-separator,div#quick-explorer span.explorable:hover .explorable-separator{color:var(--text-normal)}div#quick-explorer .explorable-name{padding:0 4px;border-radius:4px}div#quick-explorer .explorable-separator::before{content:"\00a0›"!important;font-size:1.3em;font-weight:400;margin:0}body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label).selected,body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label):hover{background-color:var(--background-modifier-hover);color:var(--text-normal)}body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label).selected .menu-item-icon,body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label):hover .menu-item-icon{color:var(--text-normal)}.workspace-leaf-content[data-type=recent-files] .view-content{padding-top:10px}.mod-root .workspace-leaf-content[data-type=reminder-list] main{max-width:var(--max-width);margin:0 auto;padding:0}.modal .reminder-actions .later-select{font-size:var(--font-settings-small);vertical-align:bottom;margin-left:3px}.modal .reminder-actions .icon{line-height:1}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main{margin:0 auto;padding:15px}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .group-name{font-weight:500;color:var(--text-muted);font-size:var(--font-adaptive-small);padding-bottom:.5em;border-bottom:1px solid var(--background-modifier-border)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .reminder-list-item{line-height:1.3;font-size:var(--font-adaptive-small)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .no-reminders{color:var(--text-faint)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .reminder-time{font-family:var(--font-text);font-size:var(--font-adaptive-small)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .reminder-file{color:var(--text-faint)}body .modal .dtchooser{background-color:transparent}body .modal .dtchooser .reminder-calendar .year-month{font-weight:400;font-size:var(--font-adaptive-normal);padding-bottom:10px}body .modal .dtchooser .reminder-calendar .year-month .month,body .modal .dtchooser .reminder-calendar .year-month .year{color:var(--text-normal)}body .modal .dtchooser .reminder-calendar .year-month .month-nav:first-child{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E")}body .modal .dtchooser .reminder-calendar .year-month .month-nav:last-child{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E")}body .modal .dtchooser .reminder-calendar .year-month .month-nav{-webkit-mask-size:20px 20px;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;color:var(--text-faint);cursor:var(--cursor);border-radius:var(--radius-m);padding:0;width:30px;display:inline-block}body .modal .dtchooser .reminder-calendar .year-month .month-nav:hover{color:var(--text-muted)}body .modal .dtchooser .reminder-calendar th{padding:.5em 0;font-size:var(--font-adaptive-smallest);font-weight:500;text-transform:uppercase;letter-spacing:.1em}body .modal .dtchooser .reminder-calendar .calendar-date{transition:background-color .1s ease-in;padding:.3em 0;border-radius:var(--radius-m)}body .modal .dtchooser .reminder-calendar .calendar-date.is-selected,body .modal .dtchooser .reminder-calendar .calendar-date:hover{transition:background-color .1s ease-in;background-color:var(--background-modifier-hover)!important}body .modal .dtchooser .reminder-calendar .calendar-date.is-selected{font-weight:var(--bold-weight);color:var(--text-accent)!important}body .markdown-preview-view th,body .markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th,body .table-view-table>thead>tr>th{cursor:var(--cursor);background-image:none}.markdown-source-view.mod-cm6 th{background-repeat:no-repeat;background-position:right}.style-settings-container[data-level="2"]{background:var(--background-secondary);border:1px solid var(--ui1);border-radius:5px;padding:10px 20px;margin:2px 0 2px -20px}.workspace-leaf-content[data-type=style-settings] .view-content{padding:var(--size-4-4) 0 var(--size-4-4) var(--folding-offset)}.workspace-leaf-content[data-type=style-settings] .view-content>div{width:var(--line-width-adaptive);max-width:var(--max-width);margin:0 auto}.workspace-leaf-content[data-type=style-settings] .style-settings-heading[data-level="0"] .setting-item-name{padding-left:17px}.workspace-leaf-content[data-type=style-settings] .setting-item{max-width:100%;margin:0 auto}.workspace-leaf-content[data-type=style-settings] .setting-item-name{position:relative}.workspace-leaf-content[data-type=style-settings] .style-settings-collapse-indicator{position:absolute;left:0}.setting-item-heading.style-settings-heading,.style-settings-container .style-settings-heading{cursor:var(--cursor)}.modal.mod-settings .setting-item .pickr button.pcr-button{box-shadow:none;border-radius:40px;height:24px;width:24px}.setting-item .pickr .pcr-button:after,.setting-item .pickr .pcr-button:before{border-radius:40px;box-shadow:none;border:none}.setting-item.setting-item-heading.style-settings-heading.is-collapsed{border-bottom:1px solid var(--background-modifier-border)}.setting-item.setting-item-heading.style-settings-heading{border:0;padding:10px 0 5px;margin-bottom:0}.mod-root .workspace-leaf-content[data-type=style-settings] .style-settings-container .setting-item:not(.setting-item-heading){flex-direction:row;align-items:center;padding:.5em 0}.workspace-split:not(.mod-root) .workspace-leaf-content[data-type=style-settings] .setting-item-name{font-size:var(--font-adaptive-smaller)}.setting-item .style-settings-export,.setting-item .style-settings-import{text-decoration:none;font-size:var(--font-ui-small);font-weight:500;color:var(--text-muted);margin:0;padding:2px 8px;border-radius:5px;cursor:var(--cursor)}.style-settings-export:hover,.style-settings-import:hover{background-color:var(--background-modifier-hover);color:var(--text-normal);cursor:var(--cursor)}.themed-color-wrapper>div+div{margin-top:0;margin-left:6px}.theme-light .themed-color-wrapper>.theme-light{background-color:transparent}.theme-light .themed-color-wrapper>.theme-dark{background-color:rgba(0,0,0,.8)}.theme-dark .themed-color-wrapper>.theme-dark{background-color:transparent}body .todoist-query-title{display:inline;font-size:var(--h4);font-variant:var(--h4-variant);letter-spacing:.02em;color:var(--h4-color);font-weight:var(--h4-weight);font-style:var(--h4-style)}body .is-live-preview .block-language-todoist{padding-left:0}ul.todoist-task-list>li.task-list-item .task-list-item-checkbox{margin:0}body .todoist-refresh-button{display:inline;float:right;background:0 0;padding:5px 6px 0;margin-right:0}body .is-live-preview .todoist-refresh-button{margin-right:30px}body .todoist-refresh-button:hover{box-shadow:none;background-color:var(--background-modifier-hover)}.todoist-refresh-button svg{width:15px;height:15px;opacity:var(--icon-muted)}ul.todoist-task-list{margin-left:-.25em}.is-live-preview ul.todoist-task-list{padding-left:0;margin-left:.5em;margin-block-start:0;margin-block-end:0}.contains-task-list.todoist-task-list .task-metadata{font-size:var(--font-adaptive-small);display:flex;color:var(--text-muted);justify-content:space-between;margin-left:.1em;margin-bottom:.25rem}.is-live-preview .contains-task-list.todoist-task-list .task-metadata{padding-left:calc(var(--checkbox-size) + .6em)}.todoist-task-list .task-date.task-overdue{color:var(--orange)}body .todoist-p1>input[type=checkbox]{border:1px solid var(--red)}body .todoist-p1>input[type=checkbox]:hover{opacity:.8}body .todoist-p2>input[type=checkbox]{border:1px solid var(--yellow)}body .todoist-p2>input[type=checkbox]:hover{opacity:.8}body .todoist-p3>input[type=checkbox]{border:1px solid var(--blue)}body .todoist-p3>input[type=checkbox]:hover{opacity:.8}body.theme-light{--color-axis-label:var(--tx1);--color-tick-label:var(--tx2);--color-dot-fill:var(--ax1);--color-line:var(--ui1)}.tracker-axis-label{font-family:var(--font-interface)}.tracker-axis{color:var(--ui2)}.theme-dark.minimal-atom-dark{--red:#e16d76;--orange:#d19a66;--yellow:#cec167;--green:#98c379;--cyan:#58b6c2;--blue:#62afef;--purple:#c678de;--pink:#e16d76}.theme-light.minimal-atom-light{--red:#e45749;--orange:#b76b02;--yellow:#c18302;--green:#50a150;--cyan:#0d97b3;--blue:#62afef;--purple:#a626a4;--pink:#e45749}.theme-light.minimal-atom-light{--base-h:106;--base-s:0%;--base-l:98%;--accent-h:209;--accent-s:100%;--accent-l:55%;--bg1:#fafafa;--bg2:#eaeaeb;--bg3:#dbdbdc;--ui1:#dbdbdc;--ui2:#d8d8d9;--tx1:#232324;--tx2:#8e8e90;--tx3:#a0a1a8;--ax1:#1a92ff;--ax3:#566de8;--hl1:rgba(180,180,183,0.3);--hl2:rgba(209,154,102,0.35)}.theme-light.minimal-atom-light.minimal-light-white{--bg3:#eaeaeb}.theme-dark.minimal-atom-dark,.theme-light.minimal-atom-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-atom-light.minimal-light-contrast .titlebar,.theme-light.minimal-atom-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-atom-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-atom-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:220;--base-s:12%;--base-l:18%;--accent-h:220;--accent-s:86%;--accent-l:65%;--bg1:#282c34;--bg2:#21252c;--bg3:#3a3f4b;--divider-color:#181a1f;--tab-outline-color:#181a1f;--tx1:#d8dae1;--tx2:#898f9d;--tx3:#5d6370;--ax1:#578af2;--ax3:#578af2;--hl1:rgba(114,123,141,0.3);--hl2:rgba(209,154,102,0.3);--sp1:#fff}.theme-dark.minimal-atom-dark.minimal-dark-black{--base-d:5%;--bg3:#282c34;--divider-color:#282c34;--tab-outline-color:#282c34}.theme-dark.minimal-dracula-dark{--red:#ff5555;--yellow:#f1fa8c;--green:#50fa7b;--orange:#ffb86c;--purple:#bd93f9;--pink:#ff79c6;--cyan:#8be9fd;--blue:#6272a4}.theme-dark.minimal-dracula-dark,.theme-light.minimal-dracula-light.minimal-light-contrast .titlebar,.theme-light.minimal-dracula-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-dracula-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:232;--base-s:16%;--base-l:19%;--accent-h:265;--accent-s:89%;--accent-l:78%;--bg1:#282a37;--bg2:#21222c;--ui2:#44475a;--ui3:#6272a4;--tx1:#f8f8f2;--tx2:#949FBE;--tx3:#6272a4;--hl1:rgba(134, 140, 170, 0.3);--hl2:rgba(189, 147, 249, 0.35)}.theme-dark.minimal-dracula-dark.minimal-dark-black{--ui1:#282a36}.theme-light.minimal-everforest-light{--red:#f85552;--orange:#f57d26;--yellow:#dfa000;--green:#8da101;--purple:#df69ba;--pink:#df69ba;--cyan:#35a77c;--blue:#7fbbb3}.theme-dark.minimal-everforest-dark{--red:#e67e80;--orange:#e69875;--yellow:#dbbc7f;--green:#a7c080;--purple:#d699b6;--pink:#d699b6;--cyan:#83c092;--blue:#7fbbb3}.theme-light.minimal-everforest-light{--base-h:46;--base-s:87%;--base-l:94%;--accent-h:81;--accent-s:37%;--accent-l:52%;--bg1:#FDF7E3;--bg2:#EEEAD5;--bg3:rgba(206,207,182,.5);--ui1:#dfdbc8;--ui2:#bdc3af;--ui3:#bdc3af;--tx1:#5C6A72;--tx2:#829181;--tx3:#a6b0a0;--ax1:#93b259;--ax2:#738555;--ax3:#93b259;--hl1:rgba(198,214,152,.4);--hl2:rgba(222,179,51,.3)}.theme-light.minimal-everforest-light.minimal-light-tonal{--bg2:#EEEAD5}.theme-light.minimal-everforest-light.minimal-light-white{--bg3:#f3efda;--ui1:#edead5}.theme-dark.minimal-everforest-dark,.theme-light.minimal-everforest-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-everforest-light.minimal-light-contrast .titlebar,.theme-light.minimal-everforest-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-everforest-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-everforest-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:203;--base-s:15%;--base-l:23%;--accent-h:81;--accent-s:34%;--accent-l:63%;--bg1:#323D44;--bg2:#2A343A;--bg3:#414C54;--bg3:rgba(78,91,100,0.5);--ui1:#404c51;--ui2:#4A555C;--ui3:#525c62;--tx1:#d3c6aa;--tx2:#9da9a0;--tx3:#7a8478;--ax1:#A7C080;--ax2:#c7cca3;--ax3:#93b259;--hl1:rgba(134,70,93,.5);--hl2:rgba(147,185,96,.3)}.theme-dark.minimal-everforest-dark.minimal-dark-black{--hl1:rgba(134,70,93,.4);--ui1:#2b3339}.theme-dark.minimal-gruvbox-dark,.theme-light.minimal-gruvbox-light{--red:#cc241d;--yellow:#d79921;--green:#98971a;--orange:#d65d0e;--purple:#b16286;--pink:#b16286;--cyan:#689d6a;--blue:#458588}.theme-light.minimal-gruvbox-light{--base-h:49;--base-s:92%;--base-l:89%;--accent-h:24;--accent-s:88%;--accent-l:45%;--bg1:#fcf2c7;--bg2:#f2e6bd;--bg3:#ebd9b3;--ui1:#ebdbb2;--ui2:#d5c4a1;--ui3:#bdae93;--tx1:#282828;--tx2:#7c7065;--tx3:#a89a85;--ax1:#d65d0e;--ax2:#af3a03;--ax3:#d65d0d;--hl1:rgba(192,165,125,.3);--hl2:rgba(215,153,33,.4)}.theme-light.minimal-gruvbox-light.minimal-light-tonal{--bg2:#fcf2c7}.theme-light.minimal-gruvbox-light.minimal-light-white{--bg3:#faf5d7;--ui1:#f2e6bd}.theme-dark.minimal-gruvbox-dark,.theme-light.minimal-gruvbox-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-gruvbox-light.minimal-light-contrast .titlebar,.theme-light.minimal-gruvbox-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-gruvbox-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-gruvbox-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-h:24;--accent-s:88%;--accent-l:45%;--bg1:#282828;--bg2:#1e2021;--bg3:#3d3836;--bg3:rgba(62,57,55,0.5);--ui1:#3c3836;--ui2:#504945;--ui3:#665c54;--tx1:#fbf1c7;--tx2:#bdae93;--tx3:#7c6f64;--ax1:#d65d0e;--ax2:#fe8019;--ax3:#d65d0e;--hl1:rgba(173,149,139,0.3);--hl2:rgba(215,153,33,.4)}.theme-dark.minimal-gruvbox-dark.minimal-dark-black{--hl1:rgba(173,149,139,0.4);--ui1:#282828}.theme-dark.minimal-macos-dark,.theme-light.minimal-macos-light{--red:#ff3b31;--yellow:#ffcc00;--green:#2acd41;--orange:#ff9502;--purple:#b051de;--pink:#ff2e55;--cyan:#02c7be;--blue:#027aff}.theme-light.minimal-macos-light{--base-h:106;--base-s:0%;--base-l:94%;--accent-h:212;--accent-s:100%;--accent-l:50%;--bg1:#fff;--bg2:#f0f0f0;--bg3:#d7d7d7;--ui1:#e7e7e7;--tx1:#454545;--tx2:#808080;--tx3:#b0b0b0;--ax1:#027aff;--ax2:#0463cc;--ax3:#007bff;--hl1:#b3d7ff}.theme-light.minimal-macos-light.minimal-light-tonal{--bg1:#f0f0f0;--bg2:#f0f0f0}.theme-dark.minimal-macos-dark,.theme-light.minimal-macos-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-macos-light.minimal-light-contrast .titlebar,.theme-light.minimal-macos-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-macos-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-macos-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:106;--base-s:0%;--base-l:12%;--accent-h:212;--accent-s:100%;--accent-l:50%;--bg1:#1e1e1e;--bg2:#282828;--bg3:rgba(255,255,255,0.11);--divider-color:#000;--tab-outline-color:#000;--ui1:#373737;--ui2:#515151;--ui3:#595959;--tx1:#dcdcdc;--tx2:#8c8c8c;--tx3:#686868;--ax1:#027aff;--ax2:#3f9bff;--ax3:#007bff;--hl1:rgba(98,169,252,0.5);--sp1:#fff}.theme-dark.minimal-macos-dark.minimal-dark-black{--divider-color:#1e1e1e;--tab-outline-color:#1e1e1e}.theme-dark.minimal-nord-dark,.theme-light.minimal-nord-light{--red:#BF616A;--yellow:#EBCB8B;--green:#A3BE8C;--orange:#D08770;--purple:#B48EAD;--pink:#B48EAD;--cyan:#88C0D0;--blue:#81A1C1}.theme-light.minimal-nord-light{--base-h:221;--base-s:27%;--base-l:94%;--accent-h:213;--accent-s:32%;--accent-l:52%;--bg1:#fff;--bg2:#eceff4;--bg3:rgba(157,174,206,0.25);--ui1:#d8dee9;--ui2:#BBCADC;--ui3:#81a1c1;--tx1:#2e3440;--tx2:#7D8697;--tx3:#ADB1B8;--ax1:#5e81ac;--ax2:#81a1c1;--hl2:rgba(208, 135, 112, 0.35)}.theme-dark.minimal-nord-dark,.theme-light.minimal-nord-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-nord-light.minimal-light-contrast .titlebar,.theme-light.minimal-nord-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-nord-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-nord-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:220;--base-s:16%;--base-l:22%;--accent-h:213;--accent-s:32%;--accent-l:52%;--bg1:#2e3440;--bg2:#3b4252;--bg3:rgba(135,152,190,0.15);--ui1:#434c5e;--ui2:#58647b;--ui3:#5e81ac;--tx1:#d8dee9;--tx2:#9eafcc;--tx3:#4c566a;--ax3:#5e81ac;--hl1:rgba(129,142,180,0.3);--hl2:rgba(208, 135, 112, 0.35)}.theme-dark.minimal-nord-dark.minimal-dark-black{--ui1:#2e3440}.theme-light.minimal-notion-light{--base-h:39;--base-s:18%;--base-d:96%;--accent-h:197;--accent-s:65%;--accent-l:71%;--bg2:#f7f6f4;--bg3:#e8e7e4;--ui1:#ededec;--ui2:#dbdbda;--ui3:#aaa9a5;--tx1:#37352f;--tx2:#72706c;--tx3:#aaa9a5;--ax1:#37352f;--ax2:#000;--ax3:#2eaadc;--hl1:rgba(131,201,229,0.3);--link-weight:500}.theme-dark.minimal-notion-dark,.theme-light.minimal-notion-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-notion-light.minimal-light-contrast .titlebar,.theme-light.minimal-notion-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-notion-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-notion-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:203;--base-s:8%;--base-d:20%;--accent-h:197;--accent-s:48%;--accent-l:43%;--bg1:#2f3437;--bg2:#373c3f;--bg3:#4b5053;--ui1:#3e4245;--ui2:#585d5f;--ui3:#585d5f;--tx1:#ebebeb;--tx2:#909295;--tx3:#585d5f;--ax1:#ebebeb;--ax2:#fff;--ax3:#2eaadc;--hl1:rgba(57,134,164,0.3);--link-weight:500}.theme-dark.minimal-notion-dark.minimal-dark-black{--base-d:5%;--bg3:#232729;--ui1:#2f3437}.theme-dark.minimal-solarized-dark,.theme-light.minimal-solarized-light{--red:#dc322f;--orange:#cb4b16;--yellow:#b58900;--green:#859900;--cyan:#2aa198;--blue:#268bd2;--purple:#6c71c4;--pink:#d33682}.theme-light.minimal-solarized-light{--base-h:44;--base-s:87%;--base-l:94%;--accent-h:205;--accent-s:70%;--accent-l:48%;--bg1:#fdf6e3;--bg2:#eee8d5;--bg3:rgba(0,0,0,0.062);--ui1:#e9e1c8;--ui2:#d0cab8;--ui3:#d0cab8;--tx1:#073642;--tx2:#586e75;--tx3:#ABB2AC;--tx4:#586e75;--ax1:#268bd2;--hl1:rgba(202,197,182,0.3);--hl2:rgba(203,75,22,0.3)}.theme-light.minimal-solarized-light.minimal-light-tonal{--bg2:#fdf6e3}.theme-dark.minimal-solarized-dark,.theme-light.minimal-solarized-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-solarized-light.minimal-light-contrast .titlebar,.theme-light.minimal-solarized-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-solarized-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-solarized-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-h:205;--accent-s:70%;--accent-l:48%;--base-h:193;--base-s:98%;--base-l:11%;--bg1:#002b36;--bg2:#073642;--bg3:rgba(255,255,255,0.062);--ui1:#19414B;--ui2:#274850;--ui3:#31535B;--tx1:#93a1a1;--tx2:#657b83;--tx3:#31535B;--tx4:#657b83;--ax1:#268bd2;--ax3:#268bd2;--hl1:rgba(15,81,98,0.3);--hl2:rgba(203, 75, 22, 0.35)}.theme-dark.minimal-solarized-dark.minimal-dark-black{--hl1:rgba(15,81,98,0.55);--ui1:#002b36}.theme-dark.minimal-things-dark,.theme-light.minimal-things-light{--red:#FF306C;--yellow:#FFD500;--green:#4BBF5E;--orange:#ff9502;--purple:#b051de;--pink:#ff2e55;--cyan:#49AEA4}.theme-light.minimal-things-light{--blue:#1b61c2}.theme-dark.minimal-things-dark{--blue:#4d95f7}.theme-light.minimal-things-light{--accent-h:215;--accent-s:76%;--accent-l:43%;--bg1:white;--bg2:#f5f6f8;--bg3:rgba(162,177,187,0.25);--ui1:#eef0f4;--ui2:#D8DADD;--ui3:#c1c3c6;--tx1:#26272b;--tx2:#7D7F84;--tx3:#a9abb0;--ax1:#1b61c2;--ax2:#1C88DD;--ax3:#1b61c2;--hl1:#cae2ff}.theme-light.minimal-things-light.minimal-light-tonal{--ui1:#e6e8ec}.theme-light.minimal-things-light.minimal-light-white{--bg3:#f5f6f8}.theme-dark.minimal-things-dark,.theme-light.minimal-things-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-things-light.minimal-light-contrast .titlebar,.theme-light.minimal-things-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-things-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-things-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:218;--base-s:9%;--base-l:15%;--accent-h:215;--accent-s:91%;--accent-l:64%;--bg1:#24262a;--bg2:#202225;--bg3:#3d3f41;--divider-color:#17191c;--tab-outline-color:#17191c;--ui1:#3A3B3F;--ui2:#45464a;--ui3:#6c6e70;--tx1:#fbfbfb;--tx2:#CBCCCD;--tx3:#6c6e70;--ax1:#4d95f7;--ax2:#79a9ec;--ax3:#4d95f7;--hl1:rgba(40,119,236,0.35);--sp1:#fff}.theme-dark.minimal-things-dark.minimal-dark-black{--base-d:5%;--bg3:#24262a;--divider-color:#24262a;--tab-outline-color:#24262a} +body{--font-text-theme:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,sans-serif;--font-editor-theme:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,sans-serif;--font-monospace-theme:Menlo,SFMono-Regular,Consolas,"Roboto Mono",monospace;--font-interface-theme:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,sans-serif;--font-editor:var(--font-editor-override),var(--font-text-override),var(--font-editor-theme)}body{--blockquote-style:normal;--blockquote-color:var(--text-muted);--blockquote-border-thickness:1px;--blockquote-border-color:var(--quote-opening-modifier);--embed-block-shadow-hover:none;--font-ui-smaller:12px;--normal-weight:400;--bold-weight:600;--link-weight:inherit;--h1-size:1.125em;--h2-size:1.05em;--h3-size:1em;--h4-size:0.90em;--h5-size:0.85em;--h6-size:0.85em;--h1-weight:600;--h2-weight:600;--h3-weight:500;--h4-weight:500;--h5-weight:500;--h6-weight:400;--h1-variant:normal;--h2-variant:normal;--h3-variant:normal;--h4-variant:small-caps;--h5-variant:small-caps;--h6-variant:small-caps;--h1-style:normal;--h2-style:normal;--h3-style:normal;--h4-style:normal;--h5-style:normal;--h6-style:normal;--line-width:40rem;--line-height:1.5;--max-width:88%;--max-col-width:18em;--icon-muted:0.5;--border-width:1px;--nested-padding:1.1em;--folding-offset:10px;--list-edit-offset:1em;--list-indent:2em;--list-spacing:0.075em;--input-height:32px;--header-height:40px;--mobile-left-sidebar-width:280pt;--mobile-right-sidebar-width:240pt;--top-left-padding-y:0px;--image-muted:0.7;--spacing-p:0.75em}.mod-macos{--top-left-padding-y:24px}body{--base-h:0;--base-s:0%;--base-l:96%;--accent-h:201;--accent-s:17%;--accent-l:50%;--color-red:#d04255;--color-yellow:#e5b567;--color-green:#a8c373;--color-orange:#d5763f;--color-cyan:#73bbb2;--color-blue:#6c99bb;--color-purple:#9e86c8;--color-pink:#b05279}.theme-light,.theme-light.minimal-default-light,body .excalidraw{--bg1:white;--bg2:hsl( var(--base-h), var(--base-s), var(--base-l) );--bg3:hsla( var(--base-h), var(--base-s), calc(var(--base-l) - 50%), 0.12 );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 6%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 12%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 20%) );--tx1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 90%) );--tx2:hsl( var(--base-h), calc(var(--base-s) - 20%), calc(var(--base-l) - 45%) );--tx3:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) - 25%) );--tx4:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) - 60%) );--ax1:hsl( var(--accent-h), var(--accent-s), var(--accent-l) );--ax2:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) - 8%) );--ax3:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) + 6%) );--hl1:hsla( var(--accent-h), 50%, calc(var(--base-l) - 20%), 30% );--hl2:rgba(255, 225, 0, 0.5);--sp1:white}.excalidraw.theme--dark,.theme-dark,.theme-dark.minimal-default-dark,.theme-light.minimal-light-contrast .titlebar,.theme-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-l:60%;--base-l:15%;--bg1:hsl( var(--base-h), var(--base-s), var(--base-l) );--bg2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 2%) );--bg3:hsla( var(--base-h), var(--base-s), calc(var(--base-l) + 40%), 0.12 );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 6%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 12%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 20%) );--tx1:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 67%) );--tx2:hsl( var(--base-h), calc(var(--base-s) - 20%), calc(var(--base-l) + 45%) );--tx3:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 20%) );--tx4:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 50%) );--ax1:hsl( var(--accent-h), var(--accent-s), var(--accent-l) );--ax2:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) + 8%) );--ax3:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) - 5%) );--hl1:hsla( var(--accent-h), 50%, 40%, 30% );--hl2:rgba(255, 177, 80, 0.3);--sp1:white}.theme-light.minimal-light-white{--background-primary:white;--background-secondary:white;--background-secondary-alt:white;--ribbon-background:white;--bg1:white}.theme-dark.minimal-dark-black{--base-d:0%;--titlebar-background:black;--background-primary:black;--background-secondary:black;--background-secondary-alt:black;--ribbon-background:black;--background-modifier-hover:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 10%));--tx1:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 75%) );--tx2:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 50%) );--tx3:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 25%) );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 12%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 20%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 30%) )}.theme-light{--mono100:black;--mono0:white}.theme-dark{--mono100:white;--mono0:black}.excalidraw.theme--dark,.theme-dark,.theme-light,.theme-light.minimal-light-contrast .titlebar,.theme-light.minimal-light-contrast.is-mobile .workspace-drawer.mod-left,.theme-light.minimal-light-contrast.minimal-status-off .status-bar,body .excalidraw{--background-modifier-accent:var(--ax3);--background-modifier-border-focus:var(--ui3);--background-modifier-border-hover:var(--ui2);--background-modifier-border:var(--ui1);--background-modifier-form-field-highlighted:var(--bg1);--background-modifier-form-field:var(--bg1);--background-modifier-success:var(--color-green);--background-modifier-hover:var(--bg3);--background-modifier-active-hover:var(--bg3);--background-primary:var(--bg1);--background-primary-alt:var(--bg2);--background-secondary:var(--bg2);--background-secondary-alt:var(--bg1);--background-table-rows:var(--bg2);--checkbox-color:var(--ax3);--code-normal:var(--tx1);--divider-color:var(--ui1);--frame-divider-color:var(--ui1);--icon-color-active:var(--tx1);--icon-color-focused:var(--tx1);--icon-color-hover:var(--tx2);--icon-color:var(--tx2);--icon-hex:var(--mono0);--interactive-accent-hover:var(--ax1);--interactive-accent:var(--ax3);--interactive-hover:var(--ui1);--list-marker-color:var(--tx3);--modal-border-color:var(--ui2);--nav-item-background-active:var(--bg3);--nav-item-background-hover:var(--bg3);--nav-item-color:var(--tx2);--nav-item-color-active:var(--tx1);--nav-item-color-hover:var(--tx1);--nav-collapse-icon-color:var(--tx2);--nav-collapse-icon-color-collapsed:var(--tx2);--nav-indentation-guide-color:var(--ui1);--prompt-border-color:var(--ui3);--quote-opening-modifier:var(--ui2);--ribbon-background:var(--bg2);--scrollbar-active-thumb-bg:var(--ui3);--scrollbar-bg:transparent;--scrollbar-thumb-bg:var(--ui1);--search-result-background:var(--bg1);--tab-text-color-focused-active:var(--tx1);--tab-outline-color:var(--ui1);--text-accent-hover:var(--ax2);--text-accent:var(--ax1);--text-blockquote:var(--tx2);--text-bold:var(--tx1);--text-code:var(--tx4);--text-error:var(--color-red);--text-faint:var(--tx3);--text-highlight-bg:var(--hl2);--text-italic:var(--tx1);--text-muted:var(--tx2);--text-normal:var(--tx1);--text-on-accent:var(--sp1);--text-selection:var(--hl1);--title-color-inactive:var(--tx2);--title-color:var(--tx1);--titlebar-background:var(--bg2);--titlebar-background-focused:var(--bg2);--titlebar-text-color-focused:var(--tx1);--workspace-background-translucent:hsla(var(--base-h),var(--base-s), var(--base-l), 0.7)}.theme-light.minimal-light-contrast{--workspace-background-translucent:rgba(0,0,0,0.6)}.theme-light.minimal-light-contrast .theme-dark{--tab-container-background:var(--bg2);--ribbon-background-collapsed:var(--bg2)}.theme-light,body .excalidraw{--interactive-normal:var(--bg1);--interactive-accent-rgb:220,220,220;--active-line-bg:rgba(0,0,0,0.035);--background-modifier-cover:hsla(var(--base-h),calc(var(--base-s) - 70%),calc(var(--base-l) - 20%),0.5);--text-highlight-bg-active:rgba(0, 0, 0, 0.1);--background-modifier-error:rgba(255,0,0,0.14);--background-modifier-error-hover:rgba(255,0,0,0.08);--shadow-color:rgba(0, 0, 0, 0.1);--btn-shadow-color:rgba(0, 0, 0, 0.05)}.excalidraw.theme--dark,.theme-dark{--interactive-normal:var(--bg3);--interactive-accent-rgb:66,66,66;--active-line-bg:rgba(255,255,255,0.04);--background-modifier-cover:hsla(var(--base-h),var(--base-s), calc(var(--base-l) - 12%), 0.5);--text-highlight-bg-active:rgba(255, 255, 255, 0.1);--background-modifier-error:rgba(255,20,20,0.12);--background-modifier-error-hover:rgba(255,20,20,0.18);--background-modifier-box-shadow:rgba(0, 0, 0, 0.3);--shadow-color:rgba(0, 0, 0, 0.3);--btn-shadow-color:rgba(0, 0, 0, 0.2)}.theme-light.minimal-light-white{--background-table-rows:var(--bg2)}.theme-light.minimal-light-tonal{--background-primary:var(--bg2);--background-primary-alt:var(--bg3);--background-table-rows:var(--bg3)}.theme-dark.minimal-dark-tonal{--ribbon-background:var(--bg1);--background-secondary:var(--bg1);--background-table-rows:var(--bg3)}.theme-dark.minimal-dark-black{--background-primary-alt:var(--bg3);--background-table-rows:var(--bg3);--modal-border:var(--ui2);--active-line-bg:rgba(255,255,255,0.085);--background-modifier-form-field:var(--bg3);--background-modifier-cover:hsla(var(--base-h),var(--base-s),calc(var(--base-d) + 8%),0.9);--background-modifier-box-shadow:rgba(0, 0, 0, 1)}body{--font-adaptive-normal:var(--font-text-size,var(--editor-font-size));--font-adaptive-small:var(--font-ui-medium);--font-adaptive-smaller:var(--font-ui-small);--font-adaptive-smallest:11px;--line-width-adaptive:var(--line-width);--line-width-wide:calc(var(--line-width) + 12.5%);--font-code:calc(var(--font-adaptive-normal) * 0.9);--table-text-size:calc(var(--font-adaptive-normal) * 0.875)}.minimal-dev-block-width .mod-root .workspace-leaf-content:after{display:flex;align-items:flex-end;content:"\00a0pane\00a0";font-size:12px;color:gray;font-family:var(--font-monospace);width:100%;max-width:100%;height:100vh;top:0;z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable .mod-root .view-header:after{display:flex;align-items:flex-end;color:green;font-size:12px;font-family:var(--font-monospace);content:" ";width:var(--folding-offset);height:100vh;border-left:1px solid green;border-right:1px solid green;background-color:rgba(0,128,0,.1);top:0;left:max(calc(50% - var(--line-width-adaptive)/ 2 - 1px),calc(50% - var(--max-width)/ 2 - 1px));z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable-off .mod-root .view-header:after{display:flex;align-items:flex-end;color:green;font-size:12px;font-family:var(--font-monospace);content:" ";width:var(--folding-offset);height:100vh;border-left:1px solid green;border-right:1px solid green;background-color:rgba(0,128,0,.1);top:0;left:calc(50% - var(--max-width)/ 2 - 1px);z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width .mod-root .view-content:before{display:flex;align-items:flex-end;content:"\00a0max\00a0";font-size:12px;color:red;width:var(--max-width);height:100vh;border-left:1px solid red;border-right:1px solid red;top:0;left:50%;transform:translate(-50%,0);z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable .mod-root .view-header:before{display:flex;align-items:flex-end;content:"\00a0wide\00a0";font-size:12px;color:orange;font-family:var(--font-monospace);width:var(--line-width-wide);max-width:var(--max-width);height:100vh;border-left:1px solid orange;border-right:1px solid orange;background-color:rgba(255,165,0,.05);top:0;left:50%;transform:translate(-50%,0);z-index:999;position:fixed;pointer-events:none}.minimal-dev-block-width.minimal-readable .mod-root .view-content:after{display:flex;align-items:flex-end;color:#00f;font-size:12px;font-family:var(--font-monospace);content:"\00a0normal";width:var(--line-width-adaptive);max-width:var(--max-width);height:100vh;border-left:1px solid #00f;border-right:1px solid #00f;background-color:rgba(0,0,255,.08);top:0;left:50%;transform:translate(-50%,0);z-index:999;position:fixed;pointer-events:none}.CodeMirror-wrap>div>textarea{opacity:0}.markdown-source-view.mod-cm6 hr{border-width:2px}.mod-cm6 .cm-editor .cm-line{padding:0}.cm-editor .cm-content{padding-top:.5em}.markdown-source-view{color:var(--text-normal)}.markdown-reading-view>.markdown-preview-view{padding-top:18px}.markdown-source-view.mod-cm6 .cm-scroller{padding-top:18px;padding-left:0;padding-right:0}body:not(.is-mobile) .markdown-source-view.mod-cm6 .cm-gutters{position:absolute!important;z-index:0;margin-left:0}.cm-editor .cm-lineNumbers .cm-gutterElement{min-width:25px}@media (max-width:400pt){.cm-editor .cm-lineNumbers .cm-gutterElement{padding-right:4px;padding-left:8px}}.cm-editor .cm-lineNumbers .cm-gutterElement{font-variant-numeric:tabular-nums}.cm-editor .cm-gutterElement.cm-active .cm-heading-marker,.cm-editor .cm-lineNumbers .cm-gutterElement.cm-active{color:var(--text-muted)}.markdown-source-view.mod-cm6 .edit-block-button{cursor:var(--cursor);color:var(--text-faint);background-color:var(--background-primary);top:0;right:auto;left:0;opacity:0;transition:opacity .2s;padding:4px 4px 4px 9px}.markdown-source-view.mod-cm6 .edit-block-button svg{margin:0!important}.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.edit-block-button{width:30px!important;padding-left:7px!important;transform:none!important;margin-left:0!important}.is-live-preview:not(.is-readable-line-width) .cm-embed-block>.edit-block-button{padding-left:0!important;margin-left:0!important;transform:none!important;right:0;left:auto;padding:4px}.markdown-source-view.mod-cm6 .edit-block-button:hover{background-color:var(--background-primary);color:var(--text-muted)}.markdown-source-view.mod-cm6 .edit-block-button svg{opacity:1}.markdown-source-view.mod-cm6 .edit-block-button:hover svg{opacity:1}.markdown-source-view.mod-cm6 .cm-embed-block{padding:0;border:0;border-radius:0}.markdown-source-view.mod-cm6 .cm-embed-block:hover{border:0}.theme-light .cm-link,.theme-light .cm-operator,.theme-light .cm-string,.theme-light .cm-string-2,.theme-light .language-css .token.string,.theme-light .style .token.string,.theme-light .token.entity,.theme-light .token.operator,.theme-light .token.url{background-color:transparent}.markdown-source-view,.markdown-source-view.mod-cm5,.markdown-source-view.mod-cm6{padding:0}.cm-s-obsidian .CodeMirror-code{padding-right:0}.CodeMirror-lines{padding-bottom:170px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding-left:0;padding-right:0}.cm-s-obsidian pre.HyperMD-list-line{padding-top:0}.workspace .markdown-preview-view .markdown-embed{margin:0}.workspace .markdown-preview-view .markdown-embed-content{max-height:none}.internal-embed .markdown-preview-section,.markdown-embed-title{max-width:100%}.CodeMirror-linenumber{font-size:var(--font-adaptive-small)!important;font-feature-settings:'tnum';color:var(--text-faint);padding-top:3px}.cm-s-obsidian .cm-active span.cm-link.cm-hmd-barelink.cm-formatting-link-start,.cm-s-obsidian .cm-formatting-link+span.cm-link.cm-formatting.cm-formatting-link-end,.cm-s-obsidian span.cm-footref.cm-formatting.cm-formatting-link.cm-formatting-link-end,.cm-s-obsidian span.cm-formatting-link,.cm-s-obsidian span.cm-link.cm-hmd-barelink.cm-formatting-link-start,span.cm-image-marker{color:var(--text-faint)}.cm-s-obsidian span.cm-footref{font-size:var(--font-adaptive-normal)}.cm-s-obsidian pre.HyperMD-footnote{font-size:var(--font-adaptive-small);padding-left:20px}.cm-formatting-quote{color:var(--text-faint)!important}.markdown-preview-view blockquote,.markdown-preview-view ol,.markdown-preview-view p,.markdown-preview-view ul{margin-block-start:var(--spacing-p);margin-block-end:var(--spacing-p)}.markdown-preview-view ol ol,.markdown-preview-view ol ul,.markdown-preview-view ul ol,.markdown-preview-view ul ul{margin-block-start:0em;margin-block-end:0em}.markdown-preview-view h1,.markdown-preview-view h2,.markdown-preview-view h3,.markdown-preview-view h4,.markdown-preview-view h5,.markdown-preview-view h6{margin-block-start:1em;margin-block-end:var(--spacing-p)}.markdown-preview-view .mod-highlighted{transition:background-color .3s ease;background-color:var(--text-selection);color:inherit}.workspace-leaf-content>.view-content{--file-margins:0}.inline-title{padding-top:16px}.minimal-status-off .status-bar{--status-bar-position:static;--status-bar-radius:0;--status-bar-border-width:1px 0 0 0;--status-bar-background:var(--background-secondary);--status-bar-border-color:var(--ui1)}body:not(.minimal-status-off) .status-bar{background-color:var(--background-primary);--status-bar-border-width:0}.status-bar{transition:color .2s linear;color:var(--text-faint);font-size:var(--font-adaptive-smallest)}.status-bar .sync-status-icon.mod-success,.status-bar .sync-status-icon.mod-working{color:var(--text-faint)}.status-bar:hover,.status-bar:hover .sync-status-icon.mod-success,.status-bar:hover .sync-status-icon.mod-working{color:var(--text-muted);transition:color .2s linear}.status-bar .plugin-sync:hover .sync-status-icon.mod-success,.status-bar .plugin-sync:hover .sync-status-icon.mod-working{color:var(--text-normal)}.status-bar .status-bar-item{cursor:var(--cursor)!important}.status-bar .status-bar-item.cMenu-statusbar-button:hover,.status-bar .status-bar-item.mod-clickable:hover,.status-bar .status-bar-item.plugin-editor-status:hover,.status-bar .status-bar-item.plugin-sync:hover{text-align:center;background-color:var(--background-modifier-hover)!important}.tab-stack-top-flipped{--tab-stacked-text-transform:rotate(180deg);--tab-stacked-text-align:right}.tab-stack-center{--tab-stacked-text-align:center}.tab-stack-center-flipped{--tab-stacked-text-transform:rotate(180deg);--tab-stacked-text-align:center}.tab-stack-bottom{--tab-stacked-text-transform:rotate(180deg)}.tab-stack-bottom-flipped{--tab-stacked-text-align:right}.view-header-title,.view-header-title-parent{text-overflow:ellipsis}.view-header-title-container:not(.mod-at-end):after{display:none}body:not(.is-mobile) .view-actions .view-action:last-child{margin-left:-1px}.minimal-focus-mode .workspace-ribbon:not(.is-collapsed)~.mod-root .view-header:hover .view-actions,.mod-right.is-collapsed~.mod-root .view-header:hover .view-actions,.view-action.is-active:hover,.workspace-ribbon.mod-left.is-collapsed~.mod-root .view-header:hover .view-actions,body:not(.minimal-focus-mode) .workspace-ribbon:not(.is-collapsed)~.mod-root .view-actions{opacity:1;transition:opacity .25s ease-in-out}.view-header-title-container{opacity:0;transition:opacity .1s ease-in-out}.view-header-title-container:focus-within{opacity:1;transition:opacity .1s ease-in-out}.view-header:hover .view-header-title-container,.workspace-tab-header-container:hover+.workspace-tab-container .view-header-title-container{opacity:1;transition:opacity .1s ease-in-out}.is-phone .view-header-title-container,.minimal-tab-title-visible .view-header-title-container{opacity:1}.minimal-tab-title-hidden .view-header-title-container{opacity:0}.minimal-tab-title-hidden .view-header-title-container:focus-within{opacity:1;transition:opacity .1s ease-in-out}.minimal-tab-title-hidden .view-header:hover .view-header-title-container,.minimal-tab-title-hidden .workspace-tab-header-container:hover+.workspace-tab-container .view-header-title-container{opacity:0}body.window-title-off .titlebar-text{display:none}.titlebar-button-container.mod-right{background-color:transparent!important}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame),.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame){--titlebar-background:var(--bg1)}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .sidebar-toggle-button.mod-right,.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .workspace-ribbon.mod-left.is-collapsed,.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .workspace-tabs.mod-top,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame).is-focused .sidebar-toggle-button.mod-right,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame).is-focused .workspace-ribbon.mod-left.is-collapsed,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame).is-focused .workspace-tabs.mod-top{--titlebar-background-focused:var(--bg1)}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame):not(.minimal-light-white) .workspace-ribbon.mod-left:not(.is-collapsed),.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame):not(.minimal-light-white) .workspace-ribbon.mod-left:not(.is-collapsed){--titlebar-background:var(--bg2)}.mod-macos.is-hidden-frameless:not(.is-popout-window) .sidebar-toggle-button.mod-right{right:0;padding-right:var(--size-4-2)}body.is-focused{--titlebar-background-focused:var(--background-secondary)}.is-hidden-frameless:not(.colorful-frame) .mod-left-split .mod-top .workspace-tab-header-container{--tab-container-background:var(--background-secondary)}.mod-root .workspace-tab-header-status-icon{color:var(--text-muted)}.modal button:not(.mod-warning),.modal.mod-settings button:not(.mod-cta):not(.mod-warning),.modal.mod-settings button:not(.mod-warning){white-space:nowrap;transition:background-color .2s ease-out,border-color .2s ease-out}button.mod-warning{border:1px solid var(--background-modifier-error);color:var(--text-error);box-shadow:0 1px 1px 0 var(--btn-shadow-color);transition:background-color .2s ease-out}button.mod-warning:hover{border:1px solid var(--background-modifier-error);color:var(--text-error);box-shadow:0 2px 3px 0 var(--btn-shadow-color);transition:background-color .2s ease-out}.document-replace,.document-search{max-width:100%}.document-search-container{margin:0 auto;max-width:var(--max-width);width:var(--line-width-adaptive)}.is-mobile .CodeMirror-foldgutter-open:after,.is-mobile span[title="Fold line"]:after{transform:translateX(-2px)!important}body.is-mobile .CodeMirror-foldgutter-folded:after,body.is-mobile span[title="Unfold line"]:after{content:"›";font-family:sans-serif;transform:translateY(-2px);transform:rotate(-90deg) translateY(2px) translateX(-.45em)}body.is-mobile .CodeMirror-foldgutter-open:after,body.is-mobile span[title="Fold line"]:after{content:"›";font-family:sans-serif;transform:rotate(360deg)}body{--ig-adjust-reading:-0.65em;--ig-adjust-edit:-1px}.markdown-rendered.show-indentation-guide li.task-list-item>ol::before,.markdown-rendered.show-indentation-guide li.task-list-item>ul::before,.markdown-rendered.show-indentation-guide li>ol::before,.markdown-rendered.show-indentation-guide li>ul::before{left:var(--ig-adjust-reading)}.markdown-source-view.mod-cm6 .cm-indent::before{transform:translateX(var(--ig-adjust-edit))}.is-mobile .markdown-rendered.show-indentation-guide li>ol::before,.is-mobile .markdown-rendered.show-indentation-guide li>ul::before{left:calc(0em + var(--ig-adjust-reading))}.is-mobile .markdown-source-view.mod-cm6 .cm-indent::before{transform:translateX(calc(2px + var(--ig-adjust-edit)))}.modal-button-container .mod-checkbox{--checkbox-radius:4px}.modal-container.mod-confirmation .modal{width:480px;min-width:0}.modal-container.mod-confirmation .modal-content{margin-top:10px}.modal-container.mod-confirmation .modal-content .setting-item{margin-top:10px}.modal-container.mod-confirmation .modal-button-container{display:flex}.modal-container.mod-confirmation .modal-button-container>.mod-warning:nth-last-child(3){background:0 0;border:none;font-weight:500;color:var(--text-error);cursor:pointer;margin-right:auto;box-shadow:none;padding-left:0;padding-right:0}.modal-container.mod-confirmation .modal-button-container>.mod-warning:nth-last-child(3):hover{text-decoration:underline}.modal-container.mod-confirmation .modal-button-container>.mod-warning:nth-last-child(2){margin-left:auto}.theme-light{--progress-outline:rgba(0,0,0,0.05)}.theme-dark{--progress-outline:rgba(255,255,255,0.04)}.markdown-preview-view progress,.markdown-rendered progress,.markdown-source-view.is-live-preview progress{width:220px}.markdown-preview-view progress[value]::-webkit-progress-bar,.markdown-rendered progress[value]::-webkit-progress-bar,.markdown-source-view.is-live-preview progress[value]::-webkit-progress-bar{box-shadow:inset 0 0 0 var(--border-width) var(--progress-outline)}.markdown-preview-view progress[value^='1']::-webkit-progress-value,.markdown-preview-view progress[value^='2']::-webkit-progress-value,.markdown-preview-view progress[value^='3']::-webkit-progress-value,.markdown-rendered progress[value^='1']::-webkit-progress-value,.markdown-rendered progress[value^='2']::-webkit-progress-value,.markdown-rendered progress[value^='3']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='1']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='2']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='3']::-webkit-progress-value{background-color:var(--color-red)}.markdown-preview-view progress[value^='4']::-webkit-progress-value,.markdown-preview-view progress[value^='5']::-webkit-progress-value,.markdown-rendered progress[value^='4']::-webkit-progress-value,.markdown-rendered progress[value^='5']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='4']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='5']::-webkit-progress-value{background-color:var(--color-orange)}.markdown-preview-view progress[value^='6']::-webkit-progress-value,.markdown-preview-view progress[value^='7']::-webkit-progress-value,.markdown-rendered progress[value^='6']::-webkit-progress-value,.markdown-rendered progress[value^='7']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='6']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='7']::-webkit-progress-value{background-color:var(--color-yellow)}.markdown-preview-view progress[value^='8']::-webkit-progress-value,.markdown-preview-view progress[value^='9']::-webkit-progress-value,.markdown-rendered progress[value^='8']::-webkit-progress-value,.markdown-rendered progress[value^='9']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='8']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^='9']::-webkit-progress-value{background-color:var(--color-green)}.markdown-preview-view progress[value='1']::-webkit-progress-value,.markdown-preview-view progress[value='100']::-webkit-progress-value,.markdown-rendered progress[value='1']::-webkit-progress-value,.markdown-rendered progress[value='100']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='1']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='100']::-webkit-progress-value{background-color:var(--text-accent)}.markdown-preview-view progress[value='0']::-webkit-progress-value,.markdown-preview-view progress[value='2']::-webkit-progress-value,.markdown-preview-view progress[value='3']::-webkit-progress-value,.markdown-preview-view progress[value='4']::-webkit-progress-value,.markdown-preview-view progress[value='5']::-webkit-progress-value,.markdown-preview-view progress[value='6']::-webkit-progress-value,.markdown-preview-view progress[value='7']::-webkit-progress-value,.markdown-preview-view progress[value='8']::-webkit-progress-value,.markdown-preview-view progress[value='9']::-webkit-progress-value,.markdown-rendered progress[value='0']::-webkit-progress-value,.markdown-rendered progress[value='2']::-webkit-progress-value,.markdown-rendered progress[value='3']::-webkit-progress-value,.markdown-rendered progress[value='4']::-webkit-progress-value,.markdown-rendered progress[value='5']::-webkit-progress-value,.markdown-rendered progress[value='6']::-webkit-progress-value,.markdown-rendered progress[value='7']::-webkit-progress-value,.markdown-rendered progress[value='8']::-webkit-progress-value,.markdown-rendered progress[value='9']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='0']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='2']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='3']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='4']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='5']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='6']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='7']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='8']::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value='9']::-webkit-progress-value{background-color:var(--color-red)}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar,body:not(.native-scrollbars) ::-webkit-scrollbar{width:11px;background-color:transparent}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar:horizontal,body:not(.native-scrollbars) ::-webkit-scrollbar:horizontal{height:11px}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-corner,body:not(.native-scrollbars) ::-webkit-scrollbar-corner{background-color:transparent}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-track,body:not(.native-scrollbars) ::-webkit-scrollbar-track{background-color:transparent}body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-thumb,body:not(.native-scrollbars) ::-webkit-scrollbar-thumb{background-clip:padding-box;border-radius:20px;border:3px solid transparent;background-color:var(--background-modifier-border);border-width:3px 3px 3px 3px;min-height:45px}body:not(.hider-scrollbars).styled-scrollbars .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:hover,body:not(.hider-scrollbars).styled-scrollbars .modal .vertical-tab-header::-webkit-scrollbar-thumb:hover,body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-thumb:hover,body:not(.native-scrollbars) .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:hover,body:not(.native-scrollbars) .modal .vertical-tab-header::-webkit-scrollbar-thumb:hover,body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:hover{background-color:var(--background-modifier-border-hover)}body:not(.hider-scrollbars).styled-scrollbars .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:active,body:not(.hider-scrollbars).styled-scrollbars .modal .vertical-tab-header::-webkit-scrollbar-thumb:active,body:not(.hider-scrollbars).styled-scrollbars ::-webkit-scrollbar-thumb:active,body:not(.native-scrollbars) .mod-left-split .workspace-tabs ::-webkit-scrollbar-thumb:active,body:not(.native-scrollbars) .modal .vertical-tab-header::-webkit-scrollbar-thumb:active,body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:active{background-color:var(--background-modifier-border-focus)}.tooltip{transition:none;animation:none}.tooltip.mod-left,.tooltip.mod-right{transform:none;animation:none}.tooltip.mod-error{color:var(--text-error)}.markdown-preview-view blockquote{padding:0 0 0 var(--nested-padding);font-size:var(--blockquote-size)}.markdown-source-view.mod-cm6 .HyperMD-quote,.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote{font-size:var(--blockquote-size)}.is-live-preview .cm-hmd-indent-in-quote{color:var(--text-faint)}.is-live-preview.is-readable-line-width>.cm-callout .callout{max-width:var(--max-width);margin:0 auto}body{--checkbox-size:17px;--checkbox-icon:20px;--checkbox-radius:50%;--checkbox-top:2px;--checkbox-left:0px;--checkbox-margin:0px 6px 0px -1.35em}.checkbox-square{--checkbox-size:15px;--checkbox-icon:17px;--checkbox-radius:4px;--checkbox-top:1px;--checkbox-left:0px;--checkbox-margin:0px 8px 0px -1.35em}body.minimal-strike-lists{--checklist-done-decoration:line-through}body:not(.minimal-strike-lists){--checklist-done-decoration:none;--checklist-done-color:var(--text-normal)}input[type=checkbox]{padding:0;margin:0 6px 0 0}.markdown-preview-section>.contains-task-list{padding-bottom:.5em}ul>li.task-list-item .task-list-item-checkbox{margin-left:-1.35em}.mod-cm6 .HyperMD-task-line[data-task] .task-list-item-checkbox{margin:1px 1px 1px -.4em}.mod-cm6 .HyperMD-task-line[data-task] .cm-formatting-list-ol~.task-list-label .task-list-item-checkbox{margin:1px}.markdown-preview-view .task-list-item-checkbox{position:relative;top:var(--checkbox-top);left:var(--checkbox-left);line-height:0}.markdown-preview-view ul>li.task-list-item{text-indent:0;line-height:var(--line-height)}.is-mobile .mod-cm6 .HyperMD-task-line[data-task] .task-list-item-checkbox{margin-left:-.4em}.is-mobile .markdown-preview-view input[type=checkbox].task-list-item-checkbox{top:.2em}.minimal-code-scroll{--code-white-space:pre}.minimal-code-scroll .HyperMD-codeblock.HyperMD-codeblock-bg{overflow-y:scroll;white-space:pre}.minimal-code-scroll .cm-hmd-codeblock{white-space:pre!important}.embed-strict .internal-embed .markdown-embed{padding:0;border:none}.embed-strict .internal-embed .markdown-embed .markdown-embed-title{display:none}.embed-strict .internal-embed:not([src*="#^"]) .markdown-embed-link{width:24px;opacity:0}.contextual-typography .embed-strict .internal-embed .markdown-preview-view .markdown-preview-sizer>div,.embed-strict.contextual-typography .internal-embed .markdown-preview-view .markdown-preview-sizer>div{margin:0;width:100%}.markdown-embed .markdown-preview-view .markdown-preview-sizer{padding-bottom:0!important}.markdown-preview-view.is-readable-line-width .markdown-embed .markdown-preview-sizer,.markdown-preview-view.markdown-embed .markdown-preview-sizer{max-width:100%;width:100%;min-height:0!important;padding-bottom:0!important}.markdown-embed .markdown-preview-section div:last-child p,.markdown-embed .markdown-preview-section div:last-child ul{margin-block-end:2px}.markdown-preview-view .markdown-embed{margin-top:var(--nested-padding);padding:0 calc(var(--nested-padding)/ 2) 0 var(--nested-padding)}.markdown-embed-title{line-height:18px;height:24px}.internal-embed:not([src*="#^"]) .markdown-embed-link{right:0;width:100%}.file-embed-link,.markdown-embed-link{top:0;right:0;text-align:right;justify-content:flex-end}.file-embed-link svg,.markdown-embed-link svg{width:16px;height:16px}.markdown-embed .file-embed-link,.markdown-embed .markdown-embed-link{opacity:.6;transition:opacity .1s linear}.markdown-embed .file-embed-link:hover,.markdown-embed .markdown-embed-link:hover{opacity:1}.markdown-embed .file-embed-link:hover:hover,.markdown-embed .markdown-embed-link:hover:hover{background-color:transparent;--icon-color:var(--text-accent)}.file-embed-link:hover,.markdown-embed-link:hover{color:var(--text-muted)}.markdown-preview-view .markdown-embed-content>.markdown-preview-view{max-height:none!important}.markdown-embed-content{max-height:none!important}.markdown-embed .markdown-preview-view{padding:0}.internal-embed .markdown-embed{border:0;border-left:1px solid var(--quote-opening-modifier);border-radius:0}a[href*="obsidian://search"]{background-image:url("data:image/svg+xml,")}.theme-dark a[href*="obsidian://search"]{background-image:url("data:image/svg+xml,")}div>ol,div>ul{padding-inline-start:1.4em}ul>li{min-height:1.4em}ol>li{margin-left:0}ol{margin-left:0;list-style:default}.markdown-source-view.mod-cm6 .cm-content .HyperMD-list-line{margin-left:var(--list-edit-offset)!important}.markdown-preview-view ol>li,.markdown-preview-view ul>li,.markdown-source-view ol>li,.markdown-source-view ul>li,.mod-cm6 .HyperMD-list-line.cm-line{padding-top:var(--list-spacing);padding-bottom:var(--list-spacing)}body:not(.is-mobile) .markdown-source-view.mod-cm6 .list-bullet:after{left:-3px}.is-mobile ul>li:not(.task-list-item)::marker{font-size:.8em}.is-mobile .markdown-rendered ol,.is-mobile .markdown-rendered ul{padding-inline-start:var(--list-indent)}.is-mobile .markdown-rendered div>ol,.is-mobile .markdown-rendered div>ul{padding-inline-start:2em}.is-mobile .el-ol>ol,.is-mobile .el-ul>ul{margin-left:0}.is-mobile .workspace-leaf-content:not([data-type=search]) .workspace-leaf-content[data-type=markdown] .nav-buttons-container{border-bottom:none;padding-top:5px}.is-mobile .mod-root .workspace-leaf-content[data-type=markdown] .search-input-container{width:calc(100% - 160px)}.embedded-backlinks .nav-header~.search-input-container{width:calc(100% - 140px);margin-top:12px}.embedded-backlinks .nav-buttons-container{position:absolute;right:0;top:14px}.embedded-backlinks .backlink-pane>.tree-item-self,.embedded-backlinks .backlink-pane>.tree-item-self:hover{text-transform:none;color:var(--text-normal);font-size:var(--font-adaptive-normal);font-weight:500;letter-spacing:unset}.markdown-source-view.mod-cm6 table{border-collapse:collapse}.markdown-preview-view table{margin-block-start:1em}.markdown-preview-view .dataview.table-view-table thead.table-view-thead tr th,.markdown-preview-view td,.markdown-preview-view th,.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th,.markdown-source-view.mod-cm6 td,.markdown-source-view.mod-cm6 th{padding:4px 10px}.markdown-preview-view .dataview.table-view-table thead.table-view-thead tr th:first-child,.markdown-preview-view td:first-child,.markdown-preview-view th:first-child,.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th:first-child,.markdown-source-view.mod-cm6 td:first-child,.markdown-source-view.mod-cm6 th:first-child{padding-left:0}body{--table-header-border-width:0 1px;--table-column-first-border-width:0;--table-column-last-border-width:0;--table-row-last-border-width:0}.is-live-preview .el-table{width:100%;max-width:100%}.cm-hmd-table-sep-dummy,.cm-s-obsidian .HyperMD-table-row span.cm-hmd-table-sep{color:var(--text-faint);font-weight:400}body.minimal-unstyled-tags{--tag-background:transparent;--tag-background-hover:transparent;--tag-border-width:0px;--tag-padding-x:0;--tag-padding-y:0;--tag-size:inherit;--tag-color-hover:var(--text-accent-hover)}body.minimal-unstyled-tags.is-mobile.theme-dark{--tag-background:transparent}body:not(.minimal-unstyled-tags){--tag-size:0.8em;--tag-padding-y:0.2em;--tag-background:transparent;--tag-background-hover:transparent;--tag-color:var(--text-muted);--tag-border-width:1px;--tag-border-color:var(--background-modifier-border);--tag-border-color-hover:var(--background-modifier-border-hover);--tag-color-hover:var(--text-normal)}h1,h2,h3,h4{letter-spacing:-.02em}body,button,input{font-family:var(--font-interface)}.cm-s-obsidian span.cm-error{color:var(--color-red)}.markdown-preview-view,.popover,.workspace-leaf-content[data-type=markdown]{font-family:var(--font-text)}.cm-s-obsidian,.markdown-preview-view,.markdown-source-view.mod-cm6.is-live-preview .cm-scroller,body{font-size:var(--font-adaptive-normal);font-weight:var(--normal-weight);line-height:var(--line-height)}.cm-s-obsidian,.cm-s-obsidian span.cm-formatting-task,.markdown-source-view,.markdown-source-view.mod-cm6 .cm-scroller{line-height:var(--line-height);font-family:var(--font-editor)}.cm-s-obsidian span.cm-formatting-task{font-family:var(--font-editor);line-height:var(--line-height)}.mod-cm6 .cm-editor .HyperMD-header-1,.mod-cm6 .cm-editor .HyperMD-header-2,.mod-cm6 .cm-editor .HyperMD-header-3,.mod-cm6 .cm-editor .HyperMD-header-4,.mod-cm6 .cm-editor .HyperMD-header-5,.mod-cm6 .cm-editor .HyperMD-header-6{padding-top:.5em}.active-line-on .cm-line.cm-active,.active-line-on .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote.cm-active{background-color:var(--active-line-bg);box-shadow:-25vw 0 var(--active-line-bg),25vw 0 var(--active-line-bg)}.borders-none{--divider-width:0px;--tab-outline-width:0px}:root{--cards-min-width:180px;--cards-max-width:1fr;--cards-mobile-width:120px;--cards-image-height:400px;--cards-padding:1.2em;--cards-image-fit:contain;--cards-background:transparent;--cards-border-width:1px;--cards-aspect-ratio:auto;--cards-columns:repeat(auto-fit, minmax(var(--cards-min-width), var(--cards-max-width)))}@media (max-width:400pt){:root{--cards-min-width:var(--cards-mobile-width)}}.cards.table-100 table.dataview tbody,.table-100 .cards table.dataview tbody{padding:.25rem .75rem}.cards table.dataview tbody{clear:both;padding:.5rem 0;display:grid;grid-template-columns:var(--cards-columns);grid-column-gap:0.75rem;grid-row-gap:0.75rem}.cards table.dataview>tbody>tr{background-color:var(--cards-background);border:var(--cards-border-width) solid var(--background-modifier-border);display:flex;flex-direction:column;margin:0;padding:0 0 calc(var(--cards-padding)/3) 0;border-radius:6px;overflow:hidden;transition:box-shadow .15s linear;max-width:var(--cards-max-width)}.cards table.dataview>tbody>tr:hover{border:var(--cards-border-width) solid var(--background-modifier-border-hover);box-shadow:0 4px 6px 0 rgba(0,0,0,.05),0 1px 3px 1px rgba(0,0,0,.025);transition:box-shadow .15s linear}.cards table.dataview tbody>tr>td:first-child{font-weight:var(--bold-weight)}.cards table.dataview tbody>tr>td:first-child a{padding:0 0 calc(var(--cards-padding)/3);display:block}.cards table.dataview tbody>tr>td:not(:first-child){font-size:90%;color:var(--text-muted)}.cards table.dataview tbody>tr>td .el-p{display:block;width:100%}.cards table.dataview tbody>tr>td>:not(.el-embed-image){padding:calc(var(--cards-padding)/3) 0}.cards table.dataview tbody>tr>td:not(:last-child):not(:first-child)>.el-p:not(.el-embed-image){border-bottom:1px solid var(--background-modifier-border);width:100%}.cards table.dataview tbody>tr>td a{text-decoration:none}.cards table.dataview tbody>tr>td>button{width:100%;margin:calc(var(--cards-padding)/2) 0}.cards table.dataview tbody>tr>td:last-child>button{margin-bottom:calc(var(--cards-padding)/6)}.cards table.dataview tbody>tr>td>ul{width:100%;padding:.25em 0!important;margin:0 auto!important}.cards table.dataview tbody>tr>td:not(:last-child)>ul{border-bottom:1px solid var(--background-modifier-border)}.cards table.dataview tbody>tr>td .el-embed-image{background-color:var(--background-secondary);display:block;margin:0 calc(var(--cards-padding)/-2) 0 calc(var(--cards-padding)/-2);width:calc(100% + var(--cards-padding))}.cards table.dataview tbody>tr>td img{aspect-ratio:var(--cards-aspect-ratio);width:100%;object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.markdown-source-view.mod-cm6.cards .dataview.table-view-table>tbody>tr>td,.trim-cols .cards table.dataview tbody>tr>td{white-space:normal}.cards .dataview.table-view-table>tbody>tr>td,.cards table.dataview tbody>tr>td,.markdown-source-view.mod-cm6.cards .dataview.table-view-table>tbody>tr>td,.markdown-source-view.mod-cm6.cards table.dataview tbody>tr>td{border-bottom:none;padding:0!important;line-height:1.2;width:calc(100% - var(--cards-padding));margin:0 auto;overflow:visible!important;max-width:100%;display:flex}.links-int-on .cards table.dataview tbody>tr>td a{text-decoration:none}.markdown-source-view.mod-cm6.cards .edit-block-button{top:0}.cards.table-100 table.dataview thead>tr,.table-100 .cards table.dataview thead>tr{right:.75rem}.cards.table-100 table.dataview thead:before,.table-100 .cards table.dataview thead:before{margin-right:.75rem}.theme-light .cards table.dataview thead:before{background-image:url('data:image/svg+xml;utf8,')}.cards .el-pre+.el-lang-dataview .table-view-thead{padding-top:8px}.cards table.dataview thead{user-select:none;width:180px;display:block;float:right;position:relative;text-align:right;height:24px;padding-bottom:4px}.cards table.dataview thead:hover:before{opacity:.5;background-color:var(--background-modifier-hover)}.cards table.dataview thead:before{content:'';position:absolute;right:0;top:0;width:10px;height:16px;background-repeat:no-repeat;cursor:var(--cursor);text-align:right;padding:var(--size-4-1) var(--size-4-2);margin-bottom:2px;border-radius:var(--radius-s);font-weight:500;font-size:var(--font-adaptive-small);opacity:.25;background-position:center center;background-size:16px;background-image:url('data:image/svg+xml;utf8,')}.cards table.dataview thead>tr{top:-1px;position:absolute;display:none;z-index:9;border:1px solid var(--background-modifier-border-hover);background-color:var(--background-secondary);box-shadow:var(--shadow-s);padding:6px;border-radius:var(--radius-m);flex-direction:column;margin:26px 0 0 0;width:100%}.cards table.dataview thead:hover>tr{display:flex}.cards table.dataview thead>tr>th{display:block;padding:3px 30px 3px 6px!important;border-radius:var(--radius-s);width:100%;font-weight:400;color:var(--text-normal);cursor:var(--cursor);border:none;font-size:var(--font-ui-small)}.cards table.dataview thead>tr>th[sortable-style=sortable-asc],.cards table.dataview thead>tr>th[sortable-style=sortable-desc]{color:var(--text-normal)}.cards table.dataview thead>tr>th:hover{color:var(--text-normal);background-color:var(--background-modifier-hover)}.cards.cards-16-9{--cards-aspect-ratio:16/9}.cards.cards-1-1{--cards-aspect-ratio:1/1}.cards.cards-2-1{--cards-aspect-ratio:2/1}.cards.cards-2-3{--cards-aspect-ratio:2/3}.cards.cards-cols-1{--cards-columns:repeat(1, minmax(0, 1fr))}.cards.cards-cols-2{--cards-columns:repeat(2, minmax(0, 1fr))}.cards.cards-cover table.dataview tbody>tr>td img{object-fit:cover}.cards.cards-align-bottom table.dataview tbody>tr>td:last-child{align-items:flex-end;flex-grow:1}@media (max-width:400pt){.cards table.dataview tbody>tr>td:not(:first-child){font-size:80%}}@media (min-width:400pt){.cards-cols-3{--cards-columns:repeat(3, minmax(0, 1fr))}.cards-cols-4{--cards-columns:repeat(4, minmax(0, 1fr))}.cards-cols-5{--cards-columns:repeat(5, minmax(0, 1fr))}.cards-cols-6{--cards-columns:repeat(6, minmax(0, 1fr))}.cards-cols-7{--cards-columns:repeat(7, minmax(0, 1fr))}.cards-cols-8{--cards-columns:repeat(8, minmax(0, 1fr))}}.cm-formatting.cm-formatting-task.cm-property{font-family:var(--font-monospace);font-size:90%}input[data-task="!"]:checked,input[data-task="*"]:checked,input[data-task="-"]:checked,input[data-task="<"]:checked,input[data-task=">"]:checked,input[data-task="I"]:checked,input[data-task="b"]:checked,input[data-task="c"]:checked,input[data-task="d"]:checked,input[data-task="f"]:checked,input[data-task="k"]:checked,input[data-task="l"]:checked,input[data-task="p"]:checked,input[data-task="u"]:checked,input[data-task="w"]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked,li[data-task="*"]>input:checked,li[data-task="*"]>p>input:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked,li[data-task="<"]>input:checked,li[data-task="<"]>p>input:checked,li[data-task=">"]>input:checked,li[data-task=">"]>p>input:checked,li[data-task="I"]>input:checked,li[data-task="I"]>p>input:checked,li[data-task="b"]>input:checked,li[data-task="b"]>p>input:checked,li[data-task="c"]>input:checked,li[data-task="c"]>p>input:checked,li[data-task="d"]>input:checked,li[data-task="d"]>p>input:checked,li[data-task="f"]>input:checked,li[data-task="f"]>p>input:checked,li[data-task="k"]>input:checked,li[data-task="k"]>p>input:checked,li[data-task="l"]>input:checked,li[data-task="l"]>p>input:checked,li[data-task="p"]>input:checked,li[data-task="p"]>p>input:checked,li[data-task="u"]>input:checked,li[data-task="u"]>p>input:checked,li[data-task="w"]>input:checked,li[data-task="w"]>p>input:checked{--checkbox-marker-color:transparent;border:none;border-radius:0;background-image:none;background-color:currentColor;-webkit-mask-size:var(--checkbox-icon);-webkit-mask-position:50% 50%}input[data-task=">"]:checked,li[data-task=">"]>input:checked,li[data-task=">"]>p>input:checked{color:var(--text-faint);transform:rotate(90deg);-webkit-mask-position:50% 100%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z' /%3E%3C/svg%3E")}input[data-task="<"]:checked,li[data-task="<"]>input:checked,li[data-task="<"]>p>input:checked{color:var(--text-faint);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z' clip-rule='evenodd' /%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="?"]:checked,li[data-task="?"]>input:checked,li[data-task="?"]>p>input:checked{--checkbox-marker-color:transparent;background-color:var(--color-yellow);border-color:var(--color-yellow);background-position:50% 50%;background-size:200% 90%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"%3E%3Cpath fill="white" fill-rule="evenodd" d="M4.475 5.458c-.284 0-.514-.237-.47-.517C4.28 3.24 5.576 2 7.825 2c2.25 0 3.767 1.36 3.767 3.215c0 1.344-.665 2.288-1.79 2.973c-1.1.659-1.414 1.118-1.414 2.01v.03a.5.5 0 0 1-.5.5h-.77a.5.5 0 0 1-.5-.495l-.003-.2c-.043-1.221.477-2.001 1.645-2.712c1.03-.632 1.397-1.135 1.397-2.028c0-.979-.758-1.698-1.926-1.698c-1.009 0-1.71.529-1.938 1.402c-.066.254-.278.461-.54.461h-.777ZM7.496 14c.622 0 1.095-.474 1.095-1.09c0-.618-.473-1.092-1.095-1.092c-.606 0-1.087.474-1.087 1.091S6.89 14 7.496 14Z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="?"]:checked,.theme-dark li[data-task="?"]>input:checked,.theme-dark li[data-task="?"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"%3E%3Cpath fill="black" fill-opacity="0.8" fill-rule="evenodd" d="M4.475 5.458c-.284 0-.514-.237-.47-.517C4.28 3.24 5.576 2 7.825 2c2.25 0 3.767 1.36 3.767 3.215c0 1.344-.665 2.288-1.79 2.973c-1.1.659-1.414 1.118-1.414 2.01v.03a.5.5 0 0 1-.5.5h-.77a.5.5 0 0 1-.5-.495l-.003-.2c-.043-1.221.477-2.001 1.645-2.712c1.03-.632 1.397-1.135 1.397-2.028c0-.979-.758-1.698-1.926-1.698c-1.009 0-1.71.529-1.938 1.402c-.066.254-.278.461-.54.461h-.777ZM7.496 14c.622 0 1.095-.474 1.095-1.09c0-.618-.473-1.092-1.095-1.092c-.606 0-1.087.474-1.087 1.091S6.89 14 7.496 14Z"%2F%3E%3C%2Fsvg%3E')}input[data-task="/"]:checked,li[data-task="/"]>input:checked,li[data-task="/"]>p>input:checked{background-image:none;background-color:transparent;position:relative;overflow:hidden}input[data-task="/"]:checked:after,li[data-task="/"]>input:checked:after,li[data-task="/"]>p>input:checked:after{top:0;left:0;content:" ";display:block;position:absolute;background-color:var(--background-modifier-accent);width:calc(50% - .5px);height:100%;-webkit-mask-image:none}input[data-task="!"]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked{color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="\""]:checked,input[data-task="“"]:checked,li[data-task="\""]>input:checked,li[data-task="\""]>p>input:checked,li[data-task="“"]>input:checked,li[data-task="“"]>p>input:checked{--checkbox-marker-color:transparent;background-position:50% 50%;background-color:var(--color-cyan);border-color:var(--color-cyan);background-size:75%;background-repeat:no-repeat;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"%3E%3Cpath fill="white" d="M6.5 10c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.318.142-.686.238-1.028.466c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.945c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 6.5 10zm11 0c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.317.143-.686.238-1.028.467c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.944c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 17.5 10z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="\""]:checked,.theme-dark input[data-task="“"]:checked,.theme-dark li[data-task="\""]>input:checked,.theme-dark li[data-task="\""]>p>input:checked,.theme-dark li[data-task="“"]>input:checked,.theme-dark li[data-task="“"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"%3E%3Cpath fill="black" fill-opacity="0.7" d="M6.5 10c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.318.142-.686.238-1.028.466c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.945c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 6.5 10zm11 0c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.317.143-.686.238-1.028.467c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.944c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 17.5 10z"%2F%3E%3C%2Fsvg%3E')}input[data-task="-"]:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked{color:var(--text-faint);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}body:not(.tasks) .markdown-preview-view ul li[data-task="-"].task-list-item.is-checked,body:not(.tasks) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task="-"]),body:not(.tasks) li[data-task="-"].task-list-item.is-checked{color:var(--text-faint);text-decoration:line-through solid var(--text-faint) 1px}input[data-task="*"]:checked,li[data-task="*"]>input:checked,li[data-task="*"]>p>input:checked{color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z' /%3E%3C/svg%3E")}input[data-task="l"]:checked,li[data-task="l"]>input:checked,li[data-task="l"]>p>input:checked{color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="i"]:checked,li[data-task="i"]>input:checked,li[data-task="i"]>p>input:checked{--checkbox-marker-color:transparent;background-color:var(--color-blue);border-color:var(--color-blue);background-position:50%;background-size:100%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="none" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="40" d="M196 220h64v172"%2F%3E%3Cpath fill="none" stroke="white" stroke-linecap="round" stroke-miterlimit="10" stroke-width="40" d="M187 396h138"%2F%3E%3Cpath fill="white" d="M256 160a32 32 0 1 1 32-32a32 32 0 0 1-32 32Z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="i"]:checked,.theme-dark li[data-task="i"]>input:checked,.theme-dark li[data-task="i"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="none" stroke="black" stroke-opacity="0.8" stroke-linecap="round" stroke-linejoin="round" stroke-width="40" d="M196 220h64v172"%2F%3E%3Cpath fill="none" stroke="black" stroke-opacity="0.8" stroke-linecap="round" stroke-miterlimit="10" stroke-width="40" d="M187 396h138"%2F%3E%3Cpath fill="black" fill-opacity="0.8" d="M256 160a32 32 0 1 1 32-32a32 32 0 0 1-32 32Z"%2F%3E%3C%2Fsvg%3E')}input[data-task="S"]:checked,li[data-task="S"]>input:checked,li[data-task="S"]>p>input:checked{--checkbox-marker-color:transparent;border-color:var(--color-green);background-color:var(--color-green);background-size:100%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 48 48"%3E%3Cpath fill="white" fill-rule="evenodd" d="M26 8a2 2 0 1 0-4 0v2a8 8 0 1 0 0 16v8a4.002 4.002 0 0 1-3.773-2.666a2 2 0 0 0-3.771 1.332A8.003 8.003 0 0 0 22 38v2a2 2 0 1 0 4 0v-2a8 8 0 1 0 0-16v-8a4.002 4.002 0 0 1 3.773 2.666a2 2 0 0 0 3.771-1.332A8.003 8.003 0 0 0 26 10V8Zm-4 6a4 4 0 0 0 0 8v-8Zm4 12v8a4 4 0 0 0 0-8Z" clip-rule="evenodd"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="S"]:checked,.theme-dark li[data-task="S"]>input:checked,.theme-dark li[data-task="S"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 48 48"%3E%3Cpath fill-opacity="0.8" fill="black" fill-rule="evenodd" d="M26 8a2 2 0 1 0-4 0v2a8 8 0 1 0 0 16v8a4.002 4.002 0 0 1-3.773-2.666a2 2 0 0 0-3.771 1.332A8.003 8.003 0 0 0 22 38v2a2 2 0 1 0 4 0v-2a8 8 0 1 0 0-16v-8a4.002 4.002 0 0 1 3.773 2.666a2 2 0 0 0 3.771-1.332A8.003 8.003 0 0 0 26 10V8Zm-4 6a4 4 0 0 0 0 8v-8Zm4 12v8a4 4 0 0 0 0-8Z" clip-rule="evenodd"%2F%3E%3C%2Fsvg%3E')}input[data-task="I"]:checked,li[data-task="I"]>input:checked,li[data-task="I"]>p>input:checked{color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M11 3a1 1 0 10-2 0v1a1 1 0 102 0V3zM15.657 5.757a1 1 0 00-1.414-1.414l-.707.707a1 1 0 001.414 1.414l.707-.707zM18 10a1 1 0 01-1 1h-1a1 1 0 110-2h1a1 1 0 011 1zM5.05 6.464A1 1 0 106.464 5.05l-.707-.707a1 1 0 00-1.414 1.414l.707.707zM5 10a1 1 0 01-1 1H3a1 1 0 110-2h1a1 1 0 011 1zM8 16v-1h4v1a2 2 0 11-4 0zM12 14c.015-.34.208-.646.477-.859a4 4 0 10-4.954 0c.27.213.462.519.476.859h4.002z' /%3E%3C/svg%3E")}input[data-task="f"]:checked,li[data-task="f"]>input:checked,li[data-task="f"]>p>input:checked{color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12.395 2.553a1 1 0 00-1.45-.385c-.345.23-.614.558-.822.88-.214.33-.403.713-.57 1.116-.334.804-.614 1.768-.84 2.734a31.365 31.365 0 00-.613 3.58 2.64 2.64 0 01-.945-1.067c-.328-.68-.398-1.534-.398-2.654A1 1 0 005.05 6.05 6.981 6.981 0 003 11a7 7 0 1011.95-4.95c-.592-.591-.98-.985-1.348-1.467-.363-.476-.724-1.063-1.207-2.03zM12.12 15.12A3 3 0 017 13s.879.5 2.5.5c0-1 .5-4 1.25-4.5.5 1 .786 1.293 1.371 1.879A2.99 2.99 0 0113 13a2.99 2.99 0 01-.879 2.121z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="k"]:checked,li[data-task="k"]>input:checked,li[data-task="k"]>p>input:checked{color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="u"]:checked,li[data-task="u"]>input:checked,li[data-task="u"]>p>input:checked{color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12 7a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0V8.414l-4.293 4.293a1 1 0 01-1.414 0L8 10.414l-4.293 4.293a1 1 0 01-1.414-1.414l5-5a1 1 0 011.414 0L11 10.586 14.586 7H12z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="d"]:checked,li[data-task="d"]>input:checked,li[data-task="d"]>p>input:checked{color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12 13a1 1 0 100 2h5a1 1 0 001-1V9a1 1 0 10-2 0v2.586l-4.293-4.293a1 1 0 00-1.414 0L8 9.586 3.707 5.293a1 1 0 00-1.414 1.414l5 5a1 1 0 001.414 0L11 9.414 14.586 13H12z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="w"]:checked,li[data-task="w"]>input:checked,li[data-task="w"]>p>input:checked{color:var(--color-purple);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M6 3a1 1 0 011-1h.01a1 1 0 010 2H7a1 1 0 01-1-1zm2 3a1 1 0 00-2 0v1a2 2 0 00-2 2v1a2 2 0 00-2 2v.683a3.7 3.7 0 011.055.485 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0A3.7 3.7 0 0118 12.683V12a2 2 0 00-2-2V9a2 2 0 00-2-2V6a1 1 0 10-2 0v1h-1V6a1 1 0 10-2 0v1H8V6zm10 8.868a3.704 3.704 0 01-4.055-.036 1.704 1.704 0 00-1.89 0 3.704 3.704 0 01-4.11 0 1.704 1.704 0 00-1.89 0A3.704 3.704 0 012 14.868V17a1 1 0 001 1h14a1 1 0 001-1v-2.132zM9 3a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm3 0a1 1 0 011-1h.01a1 1 0 110 2H13a1 1 0 01-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="p"]:checked,li[data-task="p"]>input:checked,li[data-task="p"]>p>input:checked{color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M2 10.5a1.5 1.5 0 113 0v6a1.5 1.5 0 01-3 0v-6zM6 10.333v5.43a2 2 0 001.106 1.79l.05.025A4 4 0 008.943 18h5.416a2 2 0 001.962-1.608l1.2-6A2 2 0 0015.56 8H12V4a2 2 0 00-2-2 1 1 0 00-1 1v.667a4 4 0 01-.8 2.4L6.8 7.933a4 4 0 00-.8 2.4z' /%3E%3C/svg%3E")}input[data-task="c"]:checked,li[data-task="c"]>input:checked,li[data-task="c"]>p>input:checked{color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M18 9.5a1.5 1.5 0 11-3 0v-6a1.5 1.5 0 013 0v6zM14 9.667v-5.43a2 2 0 00-1.105-1.79l-.05-.025A4 4 0 0011.055 2H5.64a2 2 0 00-1.962 1.608l-1.2 6A2 2 0 004.44 12H8v4a2 2 0 002 2 1 1 0 001-1v-.667a4 4 0 01.8-2.4l1.4-1.866a4 4 0 00.8-2.4z' /%3E%3C/svg%3E")}input[data-task="b"]:checked,li[data-task="b"]>input:checked,li[data-task="b"]>p>input:checked{color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M5 4a2 2 0 012-2h6a2 2 0 012 2v14l-5-2.5L5 18V4z' /%3E%3C/svg%3E")}.colorful-active{--sp1:#fff;--text-on-accent:var(--sp1)}.colorful-active .nav-files-container{--nav-item-background-active:var(--interactive-accent);--nav-item-color-active:var(--sp1)}.colorful-active #calendar-container .active,.colorful-active #calendar-container .active.today,.colorful-active #calendar-container .active:hover,.colorful-active #calendar-container .day:active{background-color:var(--interactive-accent);color:var(--sp1)}.colorful-active #calendar-container .active .dot,.colorful-active #calendar-container .day:active .dot,.colorful-active #calendar-container .today.active .dot{fill:var(--sp1)}body:not(.colorful-active) .horizontal-tab-nav-item.is-active,body:not(.colorful-active) .vertical-tab-nav-item.is-active{background-color:var(--background-modifier-hover);color:var(--text-normal)}body{--frame-background:hsl( var(--frame-background-h), var(--frame-background-s), var(--frame-background-l));--frame-icon-color:var(--frame-muted-color)}.theme-light{--frame-background-h:var(--accent-h);--frame-background-s:var(--accent-s);--frame-background-l:calc(var(--accent-l) + 30%);--frame-outline-color:hsla( var(--frame-background-h), var(--frame-background-s), calc(var(--frame-background-l) - 6.5%), 1 );--frame-muted-color:hsl( var(--frame-background-h), calc(var(--frame-background-s) - 10%), calc(var(--frame-background-l) - 35%))}.theme-dark{--frame-background-h:var(--accent-h);--frame-background-s:var(--accent-s);--frame-background-l:calc(var(--accent-l) - 25%);--frame-outline-color:hsla( var(--frame-background-h), calc(var(--frame-background-s) - 2%), calc(var(--frame-background-l) + 6.5%), 1 );--frame-muted-color:hsl( var(--frame-background-h), calc(var(--frame-background-s) - 10%), calc(var(--frame-background-l) + 25%))}.colorful-frame.theme-dark{--tab-outline-width:0px}.colorful-frame,.colorful-frame.is-focused{--frame-divider-color:var(--frame-outline-color);--titlebar-background:var(--frame-background);--titlebar-background-focused:var(--frame-background);--titlebar-text-color:var(--frame-muted-color);--minimal-tab-text-color:var(--frame-muted-color)}.colorful-frame .workspace-tabs:not(.mod-stacked),.colorful-frame.is-focused .workspace-tabs:not(.mod-stacked){--tab-text-color:var(--minimal-tab-text-color);--tab-text-color-focused:var(--minimal-tab-text-color)}.colorful-frame .mod-top .workspace-tab-header-container,.colorful-frame .titlebar,.colorful-frame .workspace-ribbon.mod-left:before,.colorful-frame.is-focused .mod-top .workspace-tab-header-container,.colorful-frame.is-focused .titlebar,.colorful-frame.is-focused .workspace-ribbon.mod-left:before{--tab-outline-color:var(--frame-outline-color);--tab-divider-color:var(--frame-outline-color)}.colorful-frame .mod-root .workspace-tab-header .workspace-tab-header-inner-icon,.colorful-frame.is-focused .mod-root .workspace-tab-header .workspace-tab-header-inner-icon{--icon-color:var(--minimal-tab-text-color-active);--icon-color-hover:var(--minimal-tab-text-color-active);--icon-color-active:var(--minimal-tab-text-color-active);--icon-color-focused:var(--minimal-tab-text-color-active)}.colorful-frame .mod-left-split .mod-top .workspace-tab-header,.colorful-frame .mod-right-split .mod-top .workspace-tab-header,.colorful-frame .sidebar-toggle-button,.colorful-frame .workspace-tab-header-new-tab,.colorful-frame .workspace-tab-header-tab-list,.colorful-frame .workspace-tab-header:not(.is-active),.colorful-frame.is-focused .mod-left-split .mod-top .workspace-tab-header,.colorful-frame.is-focused .mod-right-split .mod-top .workspace-tab-header,.colorful-frame.is-focused .sidebar-toggle-button,.colorful-frame.is-focused .workspace-tab-header-new-tab,.colorful-frame.is-focused .workspace-tab-header-tab-list,.colorful-frame.is-focused .workspace-tab-header:not(.is-active){--background-modifier-hover:var(--frame-outline-color);--icon-color:var(--frame-icon-color);--icon-color-hover:var(--frame-icon-color);--icon-color-active:var(--frame-icon-color);--icon-color-focused:var(--frame-icon-color);--icon-color-focus:var(--frame-icon-color)}.colorful-frame .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.colorful-frame .mod-right-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.colorful-frame.is-focused .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.colorful-frame.is-focused .mod-right-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon{color:var(--frame-icon-color)}.workspace-leaf-resize-handle{transition:none}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle{-webkit-app-region:no-drag;border:0;z-index:15}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:after{content:"";height:100%;width:1px;background:linear-gradient(180deg,var(--frame-outline-color) var(--header-height),var(--divider-color) var(--header-height));top:0;position:absolute}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle:hover:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle:hover:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:hover:after{background:var(--divider-color-hover)}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle:after{left:0}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:after{right:0}body.colorful-headings{--h1-color:var(--color-red);--h2-color:var(--color-orange);--h3-color:var(--color-yellow);--h4-color:var(--color-green);--h5-color:var(--color-blue);--h6-color:var(--color-purple)}body.colorful-headings .modal{--h1-color:var(--text-normal);--h2-color:var(--text-normal);--h3-color:var(--text-normal);--h4-color:var(--text-normal);--h5-color:var(--text-normal);--h6-color:var(--text-normal)}.is-mobile .tree-item-self .collapse-icon{width:20px}body:not(.minimal-icons-off) svg.calendar-day,body:not(.minimal-icons-off) svg.excalidraw-icon,body:not(.minimal-icons-off) svg.globe,body:not(.minimal-icons-off) svg.longform,body:not(.minimal-icons-off) svg.obsidian-leaflet-plugin-icon-map{background-color:currentColor}body:not(.minimal-icons-off) svg.excalidraw-icon path{display:none}body:not(.minimal-icons-off) svg.bar-graph{-webkit-mask-image:url('data:image/svg+xml;utf8,')}body:not(.minimal-icons-off) svg.excalidraw-icon{-webkit-mask-image:url('data:image/svg+xml;utf8,')}body:not(.minimal-icons-off) svg.longform{-webkit-mask-image:url('data:image/svg+xml;utf8,')}.fancy-cursor .CodeMirror-cursor{border:none;border-left:2px solid var(--text-accent)}.cm-fat-cursor .CodeMirror-cursor{background-color:var(--text-accent);opacity:.5;width:5px}.cm-animate-fat-cursor{background-color:var(--text-accent);opacity:.5;width:5px}body .markdown-source-view.mod-cm6 .cm-content{caret-color:unset}body.fancy-cursor .markdown-source-view.mod-cm6 .cm-content,body.fancy-cursor .mod-cm6 .cm-line{caret-color:var(--text-accent)}.fancy-cursor input.prompt-input{caret-color:var(--text-accent)}.workspace-ribbon.mod-left{border-left:0;transition:none}.minimal-focus-mode.is-translucent .workspace-ribbon.mod-left.is-collapsed,.minimal-focus-mode.is-translucent .workspace-ribbon.mod-left.is-collapsed:before{background-color:var(--background-primary)!important}.minimal-focus-mode .workspace-ribbon.mod-left{transition:background-color 0s linear 0s}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed{border-color:transparent;background-color:var(--background-primary)}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:before{background-color:var(--background-primary);border-color:transparent}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed .side-dock-actions,.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed .side-dock-settings{opacity:0;transition:opacity .1s ease-in-out .1s}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:hover .side-dock-actions,.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:hover .side-dock-settings{opacity:1;transition:opacity .1s ease-in-out .1s}.minimal-focus-mode.borders-title .workspace-ribbon.mod-left.is-collapsed{border-right:none}.minimal-focus-mode .mod-top-right-space .sidebar-toggle-button.mod-right{opacity:0}.minimal-focus-mode:not(.minimal-status-off) .status-bar{opacity:0;transition:opacity .2s ease-in-out}.minimal-focus-mode .status-bar:hover{opacity:1;transition:opacity .2s ease-in-out}.minimal-focus-mode .mod-root .workspace-tabs{position:relative}.minimal-focus-mode .mod-root .workspace-tabs:before:hover{background-color:#00f}.minimal-focus-mode .mod-root .workspace-tab-header-container{height:0;transition:all .1s linear .6s;--tab-outline-width:0px}.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-container-inner,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-new-tab,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-tab-list{opacity:0;transition:opacity .1s linear .6s}.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-spacer:before{width:100%;content:" ";background-color:transparent;height:15px;position:absolute;z-index:100;top:0;left:0}.minimal-focus-mode .mod-root .workspace-tab-header-container:hover{height:var(--header-height);--tab-outline-width:1px;transition:all .1s linear 50ms}.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-container-inner,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-new-tab,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-tab-list{opacity:1;transition:opacity .1s linear 50ms}.minimal-focus-mode.mod-macos:not(.is-fullscreen) .workspace:not(.is-left-sidedock-open) .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner{padding-top:30px}body.show-view-header .app-container .workspace-split.mod-root>.workspace-leaf .view-header{transition:height .1s linear .1s}body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header{height:0;transition:all .1s linear .5s}body.minimal-focus-mode.show-view-header .view-header::after{width:100%;content:" ";background-color:transparent;height:40px;position:absolute;z-index:-9;top:0}body.minimal-focus-mode.show-view-header .view-actions,body.minimal-focus-mode.show-view-header .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header-title-container{opacity:0;transition:all .1s linear .5s}body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header:focus-within,body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header:hover,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header{height:calc(var(--header-height) + 2px);transition:all .1s linear .1s}body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-actions,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-header-title-container,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-actions,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-header-title-container,body.minimal-focus-mode.show-view-header .view-header:hover .view-actions,body.minimal-focus-mode.show-view-header .view-header:hover .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header:hover .view-header-title-container{opacity:1;transition:all .1s linear .1s}body.minimal-focus-mode.show-view-header .view-content{height:100%}.full-width-media .image-embed img:not(.emoji):not([width]),.full-width-media .markdown-preview-view .image-embed img:not(.emoji):not([width]),.full-width-media .markdown-preview-view audio,.full-width-media .markdown-preview-view video{width:100%}.table-small table:not(.calendar){--table-text-size:85%}.table-tiny table:not(.calendar){--table-text-size:75%}.row-alt table:not(.calendar) tbody>tr>td:first-child,.row-alt table:not(.calendar) th:first-child,.row-alt.markdown-source-view.mod-cm6 td:first-child,.row-alt.markdown-source-view.mod-cm6 th:first-child,.row-hover th:first-child,.table-lines table:not(.calendar) tbody>tr>td:first-child,.table-lines table:not(.calendar) thead>tr>th:first-child,.table-lines.markdown-source-view.mod-cm6 td:first-child,.table-lines.markdown-source-view.mod-cm6 th:first-child{padding-left:10px}.row-alt{--table-row-alt-background:var(--background-table-rows)}.col-alt{--table-column-alt-background:var(--background-table-rows)}.table-tabular table:not(.calendar){font-variant-numeric:tabular-nums}.table-lines{--table-border-width:1px;--table-header-border-width:1px;--table-column-first-border-width:1px;--table-column-last-border-width:1px;--table-row-last-border-width:1px}.table-nowrap{--table-white-space:nowrap}.table-nowrap .table-wrap,.trim-cols{--table-white-space:normal}.table-numbers table:not(.calendar){counter-reset:section}.table-numbers table:not(.calendar)>thead>tr>th:first-child::before{content:" ";padding-right:.5em;display:inline-block;min-width:2em}.table-numbers table:not(.calendar)>tbody>tr>td:first-child::before{counter-increment:section;content:counter(section) " ";text-align:center;padding-right:.5em;display:inline-block;min-width:2em;color:var(--text-faint);font-variant-numeric:tabular-nums}.row-lines .table-view-table>tbody>tr>td,.row-lines table:not(.calendar) tbody>tr>td{border-bottom:1px solid var(--background-modifier-border)}.row-lines table:not(.calendar) tbody>tr:last-child>td{border-bottom:none}.col-lines .table-view-table thead>tr>th:not(:last-child),.col-lines .table-view-table>tbody>tr>td:not(:last-child),.col-lines table:not(.calendar) tbody>tr>td:not(:last-child){border-right:1px solid var(--background-modifier-border)}.row-hover{--table-row-background-hover:hsla( var(--accent-h), 50%, 80%, 20% )}.theme-dark .row-hover,.theme-dark.row-hover{--table-row-background-hover:hsla( var(--accent-h), 30%, 40%, 20% )}.theme-dark .markdown-preview-view img,.theme-dark .markdown-source-view img{opacity:var(--image-muted);transition:opacity .25s linear}@media print{body{--image-muted:1}}.theme-dark .markdown-preview-view img:hover,.theme-dark .markdown-source-view img:hover,.theme-dark .print-preview img{opacity:1;transition:opacity .25s linear}.theme-dark div[src$="#invert"] img,.theme-dark img[src$="#invert"],.theme-dark span[src$="#invert"] img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.theme-dark div[src$="#invert"]{background-color:var(--background-primary)}.theme-light div[src$="#invertW"] img,.theme-light img[src$="#invertW"],.theme-light span[src$=invertW] img{filter:invert(1) hue-rotate(180deg)}img[src$="#circle"],span[src$="#circle"] img,span[src$="#round"] img{border-radius:50%;aspect-ratio:1/1}img[src$="#outline"],span[src$="#outline"] img{border:1px solid var(--ui1)}img[src$="#interface"],span[src$="#interface"] img{border:1px solid var(--ui1);box-shadow:0 .5px .9px rgba(0,0,0,.021),0 1.3px 2.5px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.039),0 10px 20px rgba(0,0,0,.06);margin-top:10px;margin-bottom:15px;border-radius:var(--radius-m)}div:not(.el-embed-image)+.el-embed-image{margin-top:1rem}.el-embed-image{margin-top:.5rem}.contextual-typography .markdown-preview-section>.el-embed-image>p{margin-block-start:0;margin-block-end:0}.img-grid .markdown-preview-section .el-embed-image img:not(.emoji):not([width]),.img-grid .markdown-preview-section video{width:100%}.img-grid .markdown-preview-section>.el-embed-image>p{display:grid;grid-column-gap:0.5rem;grid-row-gap:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.img-grid .markdown-preview-section>.el-embed-image>p>br{display:none}.img-grid .markdown-preview-section>.el-embed-image>p>img{object-fit:cover;align-self:stretch}.img-grid .markdown-preview-section>.el-embed-image>p>.internal-embed img{object-fit:cover;height:100%}.img-grid .img-grid-ratio .markdown-preview-section>.el-embed-image>p>.internal-embed img,.img-grid.img-grid-ratio .markdown-preview-section>.el-embed-image>p>.internal-embed img{object-fit:contain;height:100%;align-self:center}@media (max-width:400pt){.el-embed-image{margin-top:.25rem}.img-grid .markdown-preview-section>.el-embed-image>p{grid-column-gap:0.25rem}}body:not(.zoom-off) .view-content img{max-width:100%;cursor:zoom-in}body:not(.zoom-off) .view-content img:active{cursor:zoom-out}body:not(.zoom-off) .view-content .markdown-preview-view img[referrerpolicy=no-referrer]:active{background-color:var(--background-primary);padding:10px}body:not(.zoom-off) .view-content .image-embed:active,body:not(.zoom-off) .view-content .markdown-preview-view img[referrerpolicy=no-referrer]:active{aspect-ratio:unset;cursor:zoom-out;display:block;z-index:200;position:fixed;max-height:calc(100% + 1px);max-width:100%;height:calc(100% + 1px);width:100%;object-fit:contain;margin:-.5px auto 0!important;text-align:center;padding:0;left:0;right:0;bottom:0}body:not(.zoom-off) .view-content .image-embed:active:after{background-color:var(--background-primary);opacity:.9;content:" ";height:calc(100% + 1px);width:100%;position:fixed;left:0;right:1px;z-index:0}body:not(.zoom-off) .view-content .image-embed:active img{aspect-ratio:unset;top:50%;z-index:99;transform:translateY(-50%);padding:0;margin:0 auto;width:calc(100% - 20px);max-height:95vh;object-fit:contain;left:0;right:0;bottom:0;position:absolute;opacity:1}.labeled-nav.is-fullscreen:not(.colorful-frame){--labeled-nav-top-margin:0}.labeled-nav{--labeled-nav-top-margin:var(--header-height)}.labeled-nav.is-translucent .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-header-container-inner{background-color:transparent}.labeled-nav.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .workspace-tabs.mod-top-left-space .workspace-tab-header-container{padding-left:0}.labeled-nav.mod-macos .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav.mod-macos.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .mod-top .workspace-tab-header-container:before{-webkit-app-region:drag;position:absolute;width:calc(100% - var(--divider-width));height:calc(var(--header-height) - var(--tab-outline-width));border-bottom:0 solid var(--tab-outline-color)}.labeled-nav.mod-macos.is-hidden-frameless:not(.is-fullscreen) .workspace-ribbon.mod-left:not(.is-collapsed){border:none;--tab-outline-width:0px}.labeled-nav.colorful-frame.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav.mod-macos:not(.hider-ribbon) .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav:not(.is-hidden-frameless) .mod-left-split .mod-top .workspace-tab-header-container:before{border-bottom:var(--tab-outline-width) solid var(--tab-outline-color)}.labeled-nav.colorful-frame.is-hidden-frameless:not(.is-fullscreen) .workspace-ribbon.mod-left:not(.is-collapsed),.labeled-nav.mod-macos:not(.hider-ribbon) .workspace-ribbon.mod-left:not(.is-collapsed),.labeled-nav:not(.is-hidden-frameless) .workspace-ribbon.mod-left:not(.is-collapsed){--tab-outline-width:1px}.labeled-nav:not(.is-hidden-frameless) .mod-left-split .mod-top .workspace-tab-header-container:before{position:absolute;top:0;content:" "}.labeled-nav.hider-ribbon.mod-macos.is-hidden-frameless:not(.is-fullscreen):not(.is-popout-window) .mod-left-split:not(.is-sidedock-collapsed) .workspace-tabs.mod-top-left-space .workspace-tab-header-container{padding-left:0}.labeled-nav:not(.is-grabbing):not(.is-fullscreen).is-hidden-frameless .mod-top .workspace-tab-header-container{-webkit-app-region:no-drag}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-spacer{display:none}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-inner-title{display:inline-block;font-weight:500;font-size:var(--font-adaptive-smaller)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container{position:relative;flex-direction:column-reverse!important;height:auto;width:100%}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .sidebar-toggle-button.mod-left{position:absolute;justify-content:flex-end;padding-right:var(--size-4-2);top:0;right:0}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-header-container-inner{padding-top:var(--size-4-2);margin-top:var(--labeled-nav-top-margin);flex-direction:column!important;background-color:var(--background-secondary)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-container-inner{flex-grow:1;gap:0;padding:var(--size-4-2) var(--size-4-3)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header{--icon-color:var(--text-muted);--tab-text-color:var(--text-muted);--tab-text-color-focused:var(--text-muted);padding:0;margin-bottom:2px;border:none;height:auto}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:not(:hover){background-color:transparent}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover{opacity:1;--tab-text-color-active:var(--text-normal);--tab-text-color-focused:var(--text-normal);--tab-text-color-focused-active:var(--text-normal);--tab-text-color-focused-active-current:var(--text-normal);--icon-color:var(--text-normal)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header .workspace-tab-header-inner{gap:var(--size-2-3);padding:var(--size-4-1) var(--size-4-2);box-shadow:none;border:none}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.has-active-menu:hover,.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:hover{background-color:transparent}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:hover .workspace-tab-header-inner,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:var(--nav-item-background-hover)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover .workspace-tab-header-inner-icon{color:var(--icon-color-active)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container{border:none;padding:0}body{--table-max-width:var(--max-width);--left-margin-table:auto}.maximize-tables-auto{--table-max-width:auto;--left-margin-table:max( calc(50% + var(--folding-offset)/2 - var(--line-width-adaptive)/2), calc(50% + var(--folding-offset)/2 - var(--max-width)/2) )}.maximize-tables-auto.table-100,.maximize-tables-auto.table-max,.maximize-tables-auto.table-wide{--table-max-width:var(--max-width);--left-margin-table:auto}.maximize-tables-off{--table-max-width:auto;--left-margin-table:max( calc(50% + var(--folding-offset)/2 - var(--line-width-adaptive)/2), calc(50% + var(--folding-offset)/2 - var(--max-width)/2))}.maximize-tables-off.table-wide{--left-margin-table:max( calc(50% + var(--folding-offset)/2 - var(--line-width-wide)/2), calc(50% + var(--folding-offset)/2 - var(--max-width)/2))}.maximize-tables-off.table-max{--left-margin-table:calc(50% + var(--folding-offset)/2 - var(--max-width)/2)}.maximize-tables-off.table-100{--left-margin-table:0}.contextual-typography .markdown-preview-view.markdown-preview-view.is-readable-line-width .markdown-preview-sizer{display:flex;flex-direction:column;width:100%;max-width:100%;padding-left:0;padding-top:0}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer{align-items:center;padding-left:0}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div{margin-left:auto;margin-right:auto;max-width:var(--max-width);width:var(--line-width-adaptive)}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-embed .markdown-preview-sizer>div{max-width:100%}.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataview,.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataviewjs,.contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-table{width:100%;max-width:100%;overflow-x:auto}.el-lang-dataview .block-language-dataview .contains-task-list,.el-lang-dataviewjs .block-language-dataviewjs .contains-task-list{max-width:100%}.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.is-readable-line-width .el-table table{width:var(--table-max-width);max-width:var(--line-width-adaptive);margin:0 auto .5rem}.markdown-embed .el-lang-dataview .dataview.table-view-table,.markdown-embed .el-table table{width:100%}.markdown-preview-view.table-100.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.markdown-preview-view.table-100.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.markdown-preview-view.table-100.is-readable-line-width .el-table table,.table-100 .el-lang-dataview .dataview.table-view-table,.table-100 .el-lang-dataviewjs .dataview.table-view-table,.table-100 .el-table table{max-width:100%!important;width:100%!important}.markdown-preview-view.table-max .el-lang-dataview .dataview.table-view-table,.markdown-preview-view.table-max .el-lang-dataviewjs .dataview.table-view-table,.markdown-preview-view.table-max .el-table table,.table-max .el-lang-dataview .dataview.table-view-table,.table-max .el-lang-dataviewjs .dataview.table-view-table,.table-max .el-table table{max-width:100%!important}.markdown-preview-view.is-readable-line-width.table-wide .el-lang-dataview .dataview.table-view-table,.markdown-preview-view.is-readable-line-width.table-wide .el-lang-dataviewjs .dataview.table-view-table,.markdown-preview-view.is-readable-line-width.table-wide .el-table table,.table-wide .markdown-preview-view.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.table-wide .markdown-preview-view.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.table-wide .markdown-preview-view.is-readable-line-width .el-table table{max-width:var(--line-width-wide)!important}.table-100 .dataview.table-view-table td:first-child,.table-100 .dataview.table-view-table th:first-child,.table-100 .markdown-source-view.mod-cm6 td:first-child,.table-100 .markdown-source-view.mod-cm6 th:first-child,.table-100 table td:first-child,.table-100 table th:first-child{padding-left:20px}.table-100 .dataview.table-view-table td:last-child,.table-100 .dataview.table-view-table th:last-child,.table-100 table td:last-child,.table-100 table th:last-child{padding-right:20px}.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .chart-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .iframe-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .img-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography .map-max.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.chart-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.iframe-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.img-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.map-max .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet{width:100%}.contextual-typography .markdown-preview-view.is-readable-line-width.chart-wide .markdown-preview-sizer>.el-lang-chart,.contextual-typography .markdown-preview-view.is-readable-line-width.iframe-wide .markdown-preview-sizer>.el-iframe,.contextual-typography .markdown-preview-view.is-readable-line-width.img-wide .markdown-preview-sizer>.el-embed-image,.contextual-typography .markdown-preview-view.is-readable-line-width.map-wide .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.chart-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.iframe-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.img-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.map-wide .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet{width:var(--line-width-wide)}.contextual-typography .markdown-preview-view.iframe-100 .markdown-preview-sizer>.el-iframe,.contextual-typography .markdown-preview-view.img-100 .markdown-preview-sizer>.el-embed-image,.contextual-typography .markdown-preview-view.is-readable-line-width.chart-100 .markdown-preview-sizer>.el-lang-chart,.contextual-typography .markdown-preview-view.is-readable-line-width.map-100 .markdown-preview-sizer>.el-lang-leaflet,.contextual-typography.chart-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-chart,.contextual-typography.iframe-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-iframe,.contextual-typography.img-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-embed-image,.contextual-typography.map-100 .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-leaflet{width:100%;max-width:100%}.is-readable-line-width .el-lang-dataview .dataview.table-view-table,.is-readable-line-width .el-lang-dataviewjs .dataview.table-view-table,.is-readable-line-width .el-table table{max-width:calc(var(--line-width-adaptive) - var(--folding-offset));margin-left:var(--left-margin-table)!important}.chart-100 .el-lang-chart,.chart-max .el-lang-chart,.chart-wide .el-lang-chart,.embed-strict .el-embed-page p,.iframe-100 .el-iframe,.iframe-max .el-iframe,.iframe-wide .el-iframe,.img-100 .el-embed-image,.img-max .el-embed-image,.img-wide .el-embed-image,.map-100 .el-lang-leaflet,.map-max .el-lang-leaflet,.map-wide .el-lang-leaflet,.table-100 .el-lang-dataview,.table-100 .el-lang-dataviewjs,.table-100 .el-table,.table-max .el-lang-dataview,.table-max .el-lang-dataviewjs,.table-max .el-table,.table-wide .el-lang-dataview,.table-wide .el-lang-dataviewjs,.table-wide .el-table{--folding-offset:0px}.chart-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.chart-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.img-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.img-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.map-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.map-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-max .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table,.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-max.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table{width:var(--max-width)!important;max-width:var(--max-width)!important;transform:none!important;padding-left:0;margin:0 auto!important}.chart-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.chart-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.img-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.img-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.map-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.map-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-wide .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table,.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-wide.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-table-widget>table{width:var(--line-width-wide)!important;max-width:var(--max-width);transform:none!important;padding-left:0;margin:0 auto!important}.chart-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.chart-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-chart,.img-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.img-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>.image-embed,.img-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-content>img,.map-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.map-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .block-language-leaflet,.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-100 .markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width table,.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block.cm-table-widget>div:not(.edit-block-button),.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataview,.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.block-language-dataviewjs,.table-100.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width table{width:100%!important;max-width:100%!important;transform:none!important;margin:0 auto!important;padding-left:0}@media (max-width:400pt){.markdown-preview-view .el-lang-dataview td:first-child .markdown-preview-view .el-lang-dataviewjs th:first-child,.markdown-preview-view .el-lang-dataview th:first-child,.markdown-preview-view .el-lang-dataviewjs td:first-child,.markdown-preview-view .el-table td:first-child,.markdown-preview-view .el-table th:first-child{padding-left:6vw}.markdown-preview-view .el-lang-dataview td:last-child,.markdown-preview-view .el-lang-dataview th:last-child,.markdown-preview-view .el-lang-dataviewjs td:last-child,.markdown-preview-view .el-lang-dataviewjs th:last-child,.markdown-preview-view .el-table td:last-child,.markdown-preview-view .el-table th:last-child{padding-right:6vw}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataview .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataviewjs,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-table{padding-left:0;padding-right:0}.markdown-preview-view .table-view-table table,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataview .markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-lang-dataviewjs,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.el-table{width:100%}}@media (max-width:400pt){.is-mobile{--folding-offset:0px}}.markdown-preview-view.wide,.markdown-source-view.wide{--line-width-adaptive:var(--line-width-wide)}.markdown-preview-view.max,.markdown-source-view.max{--line-width-adaptive:300em;--line-width-wide:300em}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer{max-width:var(--max-width);width:var(--line-width-adaptive);padding-left:0}.markdown-source-view.is-readable-line-width .CodeMirror{padding-left:0;padding-right:0;margin:0 auto 0 auto;width:var(--line-width-adaptive);max-width:var(--max-width)}.markdown-reading-view .markdown-preview-view:not(.is-readable-line-width)>.markdown-preview-sizer{max-width:var(--max-width);margin:0 auto;padding-left:var(--folding-offset)}.is-mobile .markdown-source-view.mod-cm6 .cm-gutters{padding-right:0}.minimal-readable-off .view-header-title-container{width:var(--max-width)}.markdown-source-view.mod-cm6:not(.is-readable-line-width) .cm-contentContainer,.markdown-source-view.mod-cm6:not(.is-readable-line-width) .inline-title{max-width:var(--max-width);margin:0 0 0 calc(50% - var(--max-width)/ 2)!important;padding-left:var(--folding-offset)}.markdown-source-view.mod-cm6 .cm-content>.cm-embed-block[contenteditable=false]{overflow-x:auto}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div[data-block-language=dataview],.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div[data-block-language=dataviewjs]{padding-left:var(--folding-offset)}.internal-embed>.markdown-embed,.popover:not(.hover-editor){--folding-offset:0}.markdown-source-view.mod-cm6.is-readable-line-width .inline-title{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-right:auto;margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-content,.markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer{max-width:100%}.markdown-source-view.mod-cm6.is-readable-line-width .cm-line:not(.HyperMD-table-row){max-width:calc(var(--max-width) - var(--folding-offset))}.is-live-preview.is-readable-line-width .cm-embed-block table.dataview,.is-live-preview.is-readable-line-width.embed-strict .internal-embed .markdown-preview-sizer,.is-readable-line-width .block-language-dataview table.dataview,.is-readable-line-width .block-language-dataviewjs table.dataview,.markdown-preview-view.is-readable-line-width .dataview.result-group .contains-task-list,.markdown-source-view.is-live-preview.is-readable-line-width table.NLT__table{width:100%;max-width:100%;transform:none;margin-left:auto!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-list-line .internal-embed.image-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line>.internal-embed{margin-left:0!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-content>.image-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-content>img:not([width]),.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block.cm-callout>.callout,.markdown-source-view.mod-cm6.is-readable-line-width .cm-html-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-codeblock,.markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-quote,.markdown-source-view.mod-cm6.is-readable-line-width .embedded-backlinks,.markdown-source-view.mod-cm6.is-readable-line-width .internal-embed,.markdown-source-view.mod-cm6.is-readable-line-width table{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-right:auto;margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-line>.cm-html-embed{--folding-offset:0}.markdown-source-view.mod-cm6.is-readable-line-width .cm-content>img[width]{max-width:var(--max-width);margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block>div,.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block>mjx-container,.markdown-source-view.mod-cm6.is-readable-line-width .mod-empty{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-right:auto;margin-left:max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important}.markdown-source-view.mod-cm6.is-readable-line-width .HyperMD-list-line{width:calc(var(--line-width-adaptive) - var(--folding-offset) - var(--list-edit-offset));max-width:calc(var(--max-width) - var(--folding-offset) - var(--list-edit-offset));margin-right:auto;margin-left:max(calc(50% + var(--list-edit-offset) + var(--folding-offset) - var(--line-width-adaptive)/ 2),calc(50% + var(--list-edit-offset) + var(--folding-offset) - var(--max-width)/ 2))!important}body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.dataview-container>.contains-task-list,body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.list-view-ul,body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.result-group>.contains-task-list,body:not(.table-100):not(.table-max):not(.table-wide) .is-live-preview.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview>h4{max-width:100%;margin-right:auto;margin-left:auto;transform:none}body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataview h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataview>h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h1,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h2,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h3,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>h4,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .block-language-dataviewjs>p,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.dataview-container>.contains-task-list,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.dataview-error,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.list-view-ul,body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) .dataview.result-group{width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:var(--max-width);margin-right:auto;margin-left:auto}.is-live-preview.is-readable-line-width .block-language-dataviewjs h4,.is-live-preview.is-readable-line-width .dataview .contains-task-list,.is-live-preview.is-readable-line-width .dataview.dataview-container .contains-task-list,.is-live-preview.is-readable-line-width .dataview.list-view-ul,.is-live-preview.is-readable-line-width .dataview>h4{--folding-offset:10px;width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(100% - var(--folding-offset));transform:translateX(calc(var(--folding-offset)/2));margin-right:auto;margin-left:auto}.table-100 .is-live-preview.is-readable-line-width .dataview .contains-task-list,.table-100 .is-live-preview.is-readable-line-width .dataview.list-view-ul,.table-100 .is-live-preview.is-readable-line-width .dataview>h4,.table-100.is-live-preview.is-readable-line-width .dataview .contains-task-list,.table-100.is-live-preview.is-readable-line-width .dataview.list-view-ul,.table-100.is-live-preview.is-readable-line-width .dataview>h4{max-width:calc(var(--max-width) - var(--folding-offset))}.markdown-preview-view.is-readable-line-width .block-language-dataview h4,.markdown-preview-view.is-readable-line-width .block-language-dataview>h4,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs h4,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h1,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h2,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h3,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>h4,.markdown-preview-view.is-readable-line-width .block-language-dataviewjs>p,.markdown-preview-view.is-readable-line-width .dataview .contains-task-list,.markdown-preview-view.is-readable-line-width .dataview.dataview-error,.markdown-preview-view.is-readable-line-width .dataview.list-view-ul,.markdown-preview-view.is-readable-line-width .dataview.result-group{--folding-offset:10px;width:calc(var(--line-width-adaptive) - var(--folding-offset));max-width:calc(var(--max-width) - var(--folding-offset));margin-left:auto;margin-right:max(calc(50% - var(--line-width-adaptive)/ 2),calc(50% - var(--max-width)/ 2))}body:not(.links-int-on){--link-decoration:none}body:not(.links-ext-on){--link-external-decoration:none}body:not(.sidebar-color) .mod-right-split{--background-secondary:var(--background-primary)}body:not(.sidebar-color) .mod-right-split :not(.mod-top) .workspace-tab-header-container{--tab-container-background:var(--background-primary)}body{--minimal-tab-text-color:var(--text-muted);--minimal-tab-text-color-active:var(--text-normal)}.workspace-tabs:not(.mod-stacked){--tab-text-color:var(--minimal-tab-text-color);--tab-text-color-focused:var(--minimal-tab-text-color);--tab-text-color-active:var(--minimal-tab-text-color-active);--tab-text-color-focused-active:var(--minimal-tab-text-color-active);--tab-text-color-focused-active-current:var(--minimal-tab-text-color-active)}.tabs-square .mod-root{--tab-curve:0;--tab-radius:0;--tab-radius-active:0}.tabs-underline .mod-root{--tab-curve:0;--tab-radius:0;--tab-radius-active:0;--tab-outline-width:0px;--tab-background-active:transparent}.tabs-underline .mod-root .workspace-tab-header-container{border-bottom:1px solid var(--divider-color)}.tabs-underline .mod-root .workspace-tab-header{border-bottom:2px solid transparent}.tabs-underline .mod-root .workspace-tab-header:hover{border-bottom:2px solid var(--ui2)}.tabs-underline .mod-root .workspace-tab-header:hover .workspace-tab-header-inner{background-color:transparent}.tabs-underline .mod-root .workspace-tab-header.is-active{border-bottom:2px solid var(--ax3)}.tabs-underline .mod-root .workspace-tab-header-inner:hover{background-color:transparent}body:not(.sidebar-tabs-underline):not(.sidebar-tabs-index):not(.sidebar-tabs-square) .workspace>.workspace-split:not(.mod-root) .workspace-tabs:not(.mod-top) .workspace-tab-header-container{--tab-outline-width:0}.tabs-modern.colorful-frame .mod-root .mod-top.workspace-tabs:not(.mod-stacked){--tab-background:var(--frame-outline-color);--tab-outline-width:1px}.tabs-modern.colorful-frame .mod-root .mod-top.workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-close-button,.tabs-modern.colorful-frame .mod-root .mod-top.workspace-tabs:not(.mod-stacked) .workspace-tab-header:hover .workspace-tab-header-inner-close-button{color:var(--minimal-tab-text-color-active)}.tabs-modern.minimal-focus-mode .mod-root .workspace-tab-header-container:hover{--tab-outline-width:0px}.tabs-modern .mod-root{--tab-container-background:var(--background-primary)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked){--tab-background:var(--background-modifier-hover);--tab-height:calc(var(--header-height) - 14px);--tab-outline-width:0px}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner::after,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header::after,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header::before{display:none}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container-inner{align-items:center;margin:0;padding:2px var(--size-4-2) 0 var(--size-4-1)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner-title{text-overflow:ellipsis;-webkit-mask-image:none}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{background:0 0;border-radius:5px;border:none;box-shadow:none;height:var(--tab-height);margin-left:var(--size-4-1);padding:0}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-title{color:var(--tab-text-color-active)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active.mod-active,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:hover{opacity:1;background-color:var(--tab-background)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-new-tab{margin-right:0}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner{padding:0 var(--size-4-1) 0 var(--size-4-2);border:1px solid transparent}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:transparent}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active:not(.mod-active) .workspace-tab-header-inner,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:not(:hover):not(.mod-active) .workspace-tab-header-inner{border:1px solid var(--tab-outline-color)}.tabs-modern.sidebar-tabs-default .mod-right-split,.tabs-modern.sidebar-tabs-wide .mod-right-split{--tab-outline-width:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-spacer,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-spacer,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-spacer{display:none}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container{padding-right:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner{padding:0;margin:0;flex-grow:1;gap:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header{flex-grow:1;border-radius:0;max-width:100px}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header.is-active,.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header:hover,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header.is-active,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header:hover,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header.is-active,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header:hover{background-color:transparent}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header:hover .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header:hover .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header:hover .workspace-tab-header-inner{background-color:transparent}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner{border-bottom:2px solid transparent;border-radius:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner:hover,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner:hover,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner:hover{border-color:var(--ui2)}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner{border-color:var(--ax3);padding-top:1px}.sidebar-tabs-square .mod-left-split,.sidebar-tabs-square .mod-right-split{--tab-radius:0px}.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top),.sidebar-tabs-index:not(.labeled-nav) .mod-left-split,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top),.sidebar-tabs-square:not(.labeled-nav) .mod-left-split{--tab-background-active:var(--background-secondary)}.sidebar-tabs-index .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-index:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner,.sidebar-tabs-square .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-square:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner{padding:1px var(--size-4-2) 0;margin:6px 0 calc(var(--tab-outline-width) * -1);flex-grow:1}.sidebar-tabs-index .mod-right-split .workspace-tab-header,.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header,.sidebar-tabs-index:not(.labeled-nav) .mod-left-split .workspace-tab-header,.sidebar-tabs-square .mod-right-split .workspace-tab-header,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header,.sidebar-tabs-square:not(.labeled-nav) .mod-left-split .workspace-tab-header{flex-grow:1;max-width:100px;border-radius:var(--tab-radius) var(--tab-radius) 0 0}.sidebar-tabs-index .mod-right-split .workspace-tab-header.is-active,.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header.is-active,.sidebar-tabs-index:not(.labeled-nav) .mod-left-split .workspace-tab-header.is-active,.sidebar-tabs-square .mod-right-split .workspace-tab-header.is-active,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header.is-active,.sidebar-tabs-square:not(.labeled-nav) .mod-left-split .workspace-tab-header.is-active{box-shadow:0 0 0 var(--tab-outline-width) var(--tab-outline-color);color:var(--tab-text-color-active);background-color:var(--tab-background-active)}.sidebar-tabs-wide .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner{flex-grow:1;border:1px solid var(--tab-outline-color);padding:3px;margin:6px 8px 6px;border-radius:4px}.sidebar-tabs-wide .mod-right-split .workspace-tab-header,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header{flex-grow:1}.sidebar-tabs-wide .mod-right-split .workspace-tab-header.is-active,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header.is-active,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header.is-active{border-color:transparent}.sidebar-tabs-wide .mod-right-split .workspace-tab-header-container,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header-container{padding-right:0}.sidebar-tabs-wide .mod-right-split .workspace-tab-header-spacer,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-spacer,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header-spacer{display:none}.full-file-names{--nav-item-white-space:normal}body:not(.full-file-names) .tree-item-inner{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.theme-dark,.theme-light{--h1l:var(--ui1);--h2l:var(--ui1);--h3l:var(--ui1);--h4l:var(--ui1);--h5l:var(--ui1);--h6l:var(--ui1)}.h1-l .markdown-reading-view h1:not(.embedded-note-title),.h1-l .mod-cm6 .cm-editor .HyperMD-header-1{border-bottom:1px solid var(--h1l);padding-bottom:.4em;margin-block-end:0.6em}.h2-l .markdown-reading-view h2,.h2-l .mod-cm6 .cm-editor .HyperMD-header-2{border-bottom:1px solid var(--h2l);padding-bottom:.4em;margin-block-end:0.6em}.h3-l .markdown-reading-view h3,.h3-l .mod-cm6 .cm-editor .HyperMD-header-3{border-bottom:1px solid var(--h3l);padding-bottom:.4em;margin-block-end:0.6em}.h4-l .markdown-reading-view h4,.h4-l .mod-cm6 .cm-editor .HyperMD-header-4{border-bottom:1px solid var(--h4l);padding-bottom:.4em;margin-block-end:0.6em}.h5-l .markdown-reading-view h5,.h5-l .mod-cm6 .cm-editor .HyperMD-header-5{border-bottom:1px solid var(--h5l);padding-bottom:.4em;margin-block-end:0.6em}.h6-l .markdown-reading-view h6,.h6-l .mod-cm6 .cm-editor .HyperMD-header-6{border-bottom:1px solid var(--h6l);padding-bottom:.4em;margin-block-end:0.6em}.is-tablet .workspace-drawer{padding-top:0}.is-tablet .workspace-drawer:not(.is-pinned){margin:30px 16px 0;height:calc(100vh - 48px);border-radius:15px;border:none}.is-tablet .workspace-drawer-ribbon{background-color:var(--background-primary);border-right:1px solid var(--background-modifier-border)}.is-tablet .workspace-drawer-header{padding-top:var(--size-4-4)}.is-mobile .markdown-source-view.mod-cm6 .cm-gutters{margin-left:0}.backlink-pane>.tree-item-self,.backlink-pane>.tree-item-self:hover,.outgoing-link-pane>.tree-item-self,.outgoing-link-pane>.tree-item-self:hover{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-adaptive-smallest);font-weight:500}.is-mobile .nav-folder.mod-root>.nav-folder-title .nav-folder-title-content{display:none}body:not(.is-mobile) .nav-folder.mod-root>.nav-folder-title .nav-folder-title-content{font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:var(--font-adaptive-smallest)}.nav-buttons-container{justify-content:flex-start}input.prompt-input,input.prompt-input:focus,input.prompt-input:focus-visible,input.prompt-input:hover{border-color:rgba(var(--mono-rgb-100),.05)}.is-mobile .mod-publish .modal-content{display:unset;padding:10px 10px 10px;margin-bottom:120px;overflow-x:hidden}.is-mobile .mod-publish .button-container,.is-mobile .modal.mod-publish .modal-button-container{padding:10px 15px 30px;margin-left:0;left:0}.is-mobile .modal.mod-publish .modal-title{padding:10px 20px;margin:0 -10px;border-bottom:1px solid var(--background-modifier-border)}.is-mobile .publish-site-settings-container{margin-right:0;padding:0}.is-mobile .modal.mod-publish .modal-content .publish-sections-container{margin-right:0;padding-right:0}@media (max-width:400pt){.is-mobile .publish-changes-info,.is-mobile .publish-section-header{flex-wrap:wrap;border:none}.is-mobile .publish-changes-info .publish-changes-add-linked-btn{flex-basis:100%;margin-top:10px}.is-mobile .publish-section-header-text{flex-basis:100%;margin-bottom:10px;margin-left:20px;margin-top:-8px}.is-mobile .publish-section{background:var(--background-secondary);border-radius:10px;padding:12px 12px 1px}.is-mobile .publish-changes-switch-site{flex-grow:0;margin-right:10px}}.release-notes-view .cm-scroller.is-readable-line-width{width:var(--line-width-adaptive);max-width:var(--max-width);margin:0 auto}@media (max-width:400pt){.is-mobile .modal.mod-sync-log{width:100vw;height:100vh;max-height:calc(100vh - 32px);box-shadow:0 -32px 0 32px var(--background-primary);bottom:0;padding-bottom:10px}}.obsidian-banner.solid{border-bottom:var(--divider-width) solid var(--divider-color)}.contextual-typography .markdown-preview-view div.has-banner-icon.obsidian-banner-wrapper{overflow:visible}.theme-dark .markdown-preview-view img.emoji{opacity:1}body.theme-dark .button-default,body.theme-light .button-default{border:none;box-shadow:none;height:var(--input-height);background:var(--background-modifier-hover);color:var(--text-normal);font-size:revert;font-weight:500;transform:none;transition:all .1s linear;padding:0 20px}body.theme-dark .button-default:hover,body.theme-light .button-default:hover{border:none;background:var(--background-modifier-border-hover);box-shadow:none;transform:none;transition:all .1s linear}body.theme-dark .button-default:active,body.theme-dark .button-default:focus,body.theme-light .button-default:active,body.theme-light .button-default:focus{box-shadow:none}body .button-default.blue{background-color:var(--color-blue)!important}.button-default.red{background-color:var(--color-red)!important}.button-default.green{background-color:var(--color-green)!important}.button-default.yellow{background-color:var(--color-yellow)!important}.button-default.purple{background-color:var(--color-purple)!important}.workspace-leaf-content[data-type=calendar] .view-content{padding:5px 0 0 0}#calendar-container{padding:0 var(--size-4-4) var(--size-4-1);--color-background-day-empty:var(--background-secondary-alt);--color-background-day-active:var(--background-modifier-hover);--color-background-day-hover:var(--background-modifier-hover);--color-dot:var(--text-faint);--color-text-title:var(--text-normal);--color-text-heading:var(--text-muted);--color-text-day:var(--text-normal);--color-text-today:var(--text-normal);--color-arrow:var(--text-faint);--color-background-day-empty:transparent}#calendar-container .table{border-collapse:separate;table-layout:fixed}#calendar-container h2{font-weight:400;font-size:var(--h2)}.mod-root #calendar-container{width:var(--line-width-adaptive);max-width:var(--max-width);margin:0 auto;padding:0}#calendar-container .arrow{cursor:var(--cursor);width:22px;border-radius:4px;padding:3px 7px}#calendar-container .arrow svg{width:12px;height:12px;color:var(--text-faint);opacity:.7}#calendar-container .arrow:hover{fill:var(--text-muted);color:var(--text-muted);background-color:var(--background-modifier-hover)}#calendar-container .arrow:hover svg{color:var(--text-muted);opacity:1}#calendar-container tr th{padding:2px 0 4px;font-weight:500;letter-spacing:.1em;font-size:var(--font-adaptive-smallest)}#calendar-container tr td{padding:2px 0 0 0;border-radius:var(--radius-m);cursor:var(--cursor);border:1px solid transparent;transition:none}#calendar-container .nav{padding:0;margin:var(--size-4-2) var(--size-4-1)}#calendar-container .dot{margin:0}#calendar-container .month,#calendar-container .title,#calendar-container .year{font-size:var(--font-adaptive-normal);font-weight:400;color:var(--text-normal)}#calendar-container .today,#calendar-container .today.active{color:var(--text-accent);font-weight:600}#calendar-container .today .dot,#calendar-container .today.active .dot{fill:var(--text-accent)}#calendar-container .active .task{stroke:var(--text-faint)}#calendar-container .active{color:var(--text-normal)}#calendar-container .reset-button{text-transform:none;letter-spacing:0;font-size:var(--font-adaptive-smaller);font-weight:500;color:var(--text-muted);border-radius:4px;margin:0;padding:2px 8px}#calendar-container .reset-button:hover{color:var(--text-normal);background-color:var(--background-modifier-hover)}#calendar-container .day,#calendar-container .reset-button{cursor:var(--cursor)}#calendar-container .day.adjacent-month{color:var(--text-faint);opacity:1}#calendar-container .day{padding:2px 4px 4px;font-size:calc(var(--font-adaptive-normal) - 2px)}#calendar-container .active,#calendar-container .active.today,#calendar-container .day:hover,#calendar-container .week-num:hover{background-color:var(--color-background-day-active)}#calendar-container .active .dot{fill:var(--text-faint)}#calendar-container .active .task{stroke:var(--text-faint)}.block-language-chart canvas,.block-language-dataviewjs canvas{margin:1em 0}.theme-dark,.theme-light{--chart-color-1:var(--color-blue);--chart-color-2:var(--color-red);--chart-color-3:var(--color-yellow);--chart-color-4:var(--color-green);--chart-color-5:var(--color-orange);--chart-color-6:var(--color-purple);--chart-color-7:var(--color-cyan);--chart-color-8:var(--color-pink)}.checklist-plugin-main .group .classic,.checklist-plugin-main .group .compact,.checklist-plugin-main .group .page,.checklist-plugin-main .group svg{cursor:var(--cursor)}.workspace .view-content .checklist-plugin-main{padding:10px 10px 15px 15px;--todoList-togglePadding--compact:2px;--todoList-listItemMargin--compact:2px}.checklist-plugin-main .title{font-weight:400;color:var(--text-muted);font-size:var(--font-adaptive-small)}.checklist-plugin-main .group svg{fill:var(--text-faint)}.checklist-plugin-main .group svg:hover{fill:var(--text-normal)}.checklist-plugin-main .group .title:hover{color:var(--text-normal)}.checklist-plugin-main .group:not(:last-child){border-bottom:1px solid var(--background-modifier-border)}.checklist-plugin-main .group{padding:0 0 2px 0}.checklist-plugin-main .group .classic:last-child,.checklist-plugin-main .group .compact:last-child{margin-bottom:10px}.checklist-plugin-main .group .classic,.checklist-plugin-main .group .compact{font-size:var(--font-adaptive-small)}.checklist-plugin-main .group .classic,.checklist-plugin-main .group .compact{background:0 0;border-radius:0;margin:1px auto;padding:0}.checklist-plugin-main .group .classic .content{padding:0}.checklist-plugin-main .group .classic:hover,.checklist-plugin-main .group .compact:hover{background:0 0}.markdown-preview-view.checklist-plugin-main ul>li:not(.task-list-item)::before{display:none}.checklist-plugin-main .group .compact>.toggle .checked{background:var(--text-accent);top:-1px;left:-1px;height:18px;width:18px}.checklist-plugin-main .compact .toggle:hover{opacity:1!important}.checklist-plugin-main .group .count{font-size:var(--font-adaptive-smaller);padding:0;background:0 0;font-weight:400;color:var(--text-faint)}.checklist-plugin-main .group .group-header:hover .count{color:var(--text-muted)}.checklist-plugin-main .group .checkbox{border:1px solid var(--background-modifier-border-hover);min-height:18px;min-width:18px;height:18px;width:18px}.checklist-plugin-main .group .checkbox:hover{border:1px solid var(--background-modifier-border-focus)}.checklist-plugin-main button:active,.checklist-plugin-main button:focus,.checklist-plugin-main button:hover{box-shadow:none!important}.checklist-plugin-main button.collapse{padding:0}body:not(.is-mobile) .checklist-plugin-main button.collapse svg{width:18px;height:18px}.is-mobile .checklist-plugin-main .group-header .title{flex-grow:1;flex-shrink:0}.is-mobile .checklist-plugin-main button{width:auto}.is-mobile .checklist-plugin-main.markdown-preview-view ul{padding-inline-start:0}.is-mobile .workspace .view-content .checklist-plugin-main{padding-bottom:50px}body #cMenuModalBar{box-shadow:0 2px 20px var(--shadow-color)}body #cMenuModalBar .cMenuCommandItem{cursor:var(--cursor)}body #cMenuModalBar button.cMenuCommandItem:hover{background-color:var(--background-modifier-hover)}.MiniSettings-statusbar-button{padding-top:0;padding-bottom:0}.el-hr hr{margin:1rem 0}.el-p+.el-h1,.el-p+.el-h2{margin-top:.75rem}.el-h1+.el-h1,.el-h1+.el-h2,.el-h2+.el-h2,.el-hr+.el-h1,.el-hr+.el-h2{margin-top:0}.el-lang-dataview+.el-p,.el-lang-dataviewjs+.el-p,.el-ol+.el-lang-dataview,.el-ol+.el-lang-dataviewjs,.el-ol+.el-table,.el-p+.el-table,.el-p:not(.el-lang-dataview)+.el-lang-dataview,.el-p:not(.el-lang-dataviewjs)+.el-lang-dataviewjs,.el-ul+.el-lang-dataview,.el-ul+.el-lang-dataviewjs,.el-ul+.el-table{margin-top:var(--spacing-p)}.el-div+.el-h1,.el-embed-image+.el-p:not(.el-embed-image),.el-iframe+.el-p,.el-lang-leaflet,.el-lang-leaflet+*,.el-p+.el-iframe,.el-p:not(.el-embed-image)+.el-embed-image,.el-pre+.el-h1{margin-top:1rem}.markdown-preview-view .table-view-table>thead>tr>th,body .table-view-table>thead>tr>th{font-weight:400;font-size:var(--table-text-size);color:var(--text-muted);border-bottom:1px solid var(--background-modifier-border);cursor:var(--cursor)}table.dataview ul.dataview-ul{list-style:none;padding-inline-start:0;margin-block-start:0em!important;margin-block-end:0em!important}.markdown-preview-view .table-view-table>tbody>tr>td,.markdown-source-view.mod-cm6 .table-view-table>tbody>tr>td{max-width:var(--max-col-width)}body .dataview.small-text{color:var(--text-faint)}body:not(.row-hover) .dataview.task-list-basic-item:hover,body:not(.row-hover) .dataview.task-list-item:hover,body:not(.row-hover) .table-view-table>tbody>tr:hover{background-color:transparent!important;box-shadow:none}body.row-hover .dataview.task-list-basic-item:hover,body.row-hover .dataview.task-list-item:hover,body.row-hover .table-view-table>tbody>tr:hover{background-color:var(--table-row-background-hover)!important}body .dataview-error{margin-top:16px;background-color:transparent}.dataview.dataview-error,.markdown-source-view.mod-cm6 .cm-content .dataview.dataview-error{color:var(--text-muted)}body div.dataview-error-box{min-height:0;border:none;background-color:transparent;font-size:var(--table-text-size);border-radius:var(--radius-m);padding:15px 0}body div.dataview-error-box p{margin-block-start:0;margin-block-end:0;color:var(--text-faint)}.markdown-source-view div.dataview-error-box{margin-top:15px}.trim-cols .markdown-preview-view .table-view-table>tbody>tr>td,.trim-cols .markdown-source-view.mod-cm6 .table-view-table>tbody>tr>td,.trim-cols .markdown-source-view.mod-cm6 .table-view-table>thead>tr>th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ul .dataview .task-list-basic-item:hover,ul .dataview .task-list-item:hover{background-color:transparent;box-shadow:none}body .dataview.result-group{padding-left:0}body .dataview .inline-field-standalone-value,body .dataview.inline-field-key,body .dataview.inline-field-value{font-family:var(--font-text);font-size:calc(var(--font-adaptive-normal) - 2px);background:0 0;color:var(--text-muted)}body .dataview.inline-field-key{padding:0}body .dataview .inline-field-standalone-value{padding:0}body .dataview.inline-field-key::after{margin-left:3px;content:"|";color:var(--background-modifier-border)}body .dataview.inline-field-value{padding:0 1px 0 3px}.markdown-preview-view .block-language-dataview table.calendar th{border:none;cursor:default;background-image:none}.markdown-preview-view .block-language-dataview table.calendar .day{font-size:var(--font-adaptive-small)}.database-plugin__navbar,.database-plugin__scroll-container,.database-plugin__table{width:100%}.dbfolder-table-container{--font-adaptive-normal:var(--table-text-size);--font-size-text:12px}.database-plugin__cell_size_wide .database-plugin__td{padding:.15rem}.database-plugin__table{border-spacing:0!important}.MuiPaper-root{background-color:transparent!important}.workspace-leaf-content .view-content.dictionary-view-content{padding:0}div[data-type=dictionary-view] .contents{padding-bottom:2rem}div[data-type=dictionary-view] .results>.container{background-color:transparent;margin-top:0;max-width:none;padding:0 10px}div[data-type=dictionary-view] .error,div[data-type=dictionary-view] .errorDescription{text-align:left;font-size:var(--font-adaptive-small);padding:10px 12px 0;margin:0}div[data-type=dictionary-view] .results>.container h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:var(--font-adaptive-smallest);font-weight:500;padding:5px 7px 0 2px;margin-bottom:6px}div[data-type=dictionary-view] .container .main{border-radius:0;background-color:transparent;font-size:var(--font-adaptive-smaller);line-height:1.3;color:var(--text-muted);padding:5px 0 0}div[data-type=dictionary-view] .main .definition{padding:10px;border:1px solid var(--background-modifier-border);border-radius:5px;margin:10px 0 5px;background-color:var(--background-primary)}div[data-type=dictionary-view] .main .definition:last-child{border:1px solid var(--background-modifier-border)}div[data-type=dictionary-view] .main .synonyms{padding:10px 0 0}div[data-type=dictionary-view] .main .synonyms p{margin:0}div[data-type=dictionary-view] .main .definition>blockquote{margin:0}div[data-type=dictionary-view] .main .label{color:var(--text-normal);margin-bottom:2px;font-size:var(--font-adaptive-smaller);font-weight:500}div[data-type=dictionary-view] .main .mark{color:var(--text-normal);background-color:var(--text-selection);box-shadow:none}div[data-type=dictionary-view] .main>.opener{font-size:var(--font-adaptive-small);color:var(--text-normal);padding-left:5px}body .excalidraw,body .excalidraw.theme--dark{--color-primary-light:var(--text-selection);--color-primary:var(--interactive-accent);--color-primary-chubb:var(--interactive-accent-hover);--color-primary-darker:var(--interactive-accent-hover);--color-primary-darkest:var(--interactive-accent-hover);--ui-font:var(--font-interface);--island-bg-color:var(--background-secondary);--button-gray-1:var(--background-modifier-hover);--button-gray-2:var(--background-modifier-hover);--focus-highlight-color:var(--background-modifier-border-focus);--default-bg-color:var(--background-primary);--input-border-color:var(--background-modifier-border);--link-color:var(--text-accent);--overlay-bg-color:rgba(255, 255, 255, 0.88);--text-primary-color:var(--text-normal)}.workspace-leaf-content[data-type=excalidraw] .view-header .view-header-title-container{width:auto}body .excalidraw .App-toolbar-container .ToolIcon_type_floating:not(.is-mobile) .ToolIcon__icon{box-shadow:none}body .excalidraw .buttonList label,body .excalidraw button{cursor:var(--cursor)}body .excalidraw .Dialog__title{font-variant:normal}body .excalidraw .HintViewer,body .excalidraw .reset-zoom-button{color:var(--text-muted);font-size:var(--font-adaptive-smaller)}body .excalidraw .reset-zoom-button{padding-left:1em;padding-right:1em}body .excalidraw .HintViewer>span{background-color:transparent}body .excalidraw button:hover{box-shadow:none}body .excalidraw .Island{box-shadow:none;border:1px solid var(--background-modifier-border)}body .excalidraw .ToolIcon{cursor:var(--cursor);font-family:var(--font-interface);background-color:transparent}body .excalidraw label.ToolIcon{cursor:var(--cursor);background-color:transparent}.git-view-body .opener{text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-adaptive-smallest);font-weight:500;padding:5px 7px 5px 10px;margin-bottom:6px}.git-view-body .file-view .opener{text-transform:none;letter-spacing:normal;font-size:var(--font-adaptive-smallest);font-weight:400;padding:initial;margin-bottom:0}.git-view-body .file-view .opener .collapse-icon{display:flex!important;margin-left:-7px}.git-view-body{margin-top:6px}.git-view-body .file-view{margin-left:4px}.git-view-body .file-view main:hover{color:var(--text-normal)}.git-view-body .file-view .tools .type{display:none!important}.git-view-body .file-view .tools{opacity:0;transition:opacity .1s}.git-view-body .file-view main:hover>.tools{opacity:1}.git-view-body .staged{margin-bottom:12px}.git-view-body .opener.open{color:var(--text-normal)}div[data-type=git-view] .search-input-container{margin-left:0;width:100%}.git-view-body .opener .collapse-icon{display:none!important}.git-view-body main{background-color:var(--background-primary)!important;width:initial!important}.git-view-body .file-view>main:not(.topLevel){margin-left:7px}div[data-type=git-view] .commit-msg{min-height:2.5em!important;height:2.5em!important;padding:6.5px 8px!important}div[data-type=git-view] .search-input-clear-button{bottom:5.5px}.mod-macos.hider-frameless .workspace-ribbon{border:none}.hider-ribbon:not(.is-mobile) .workspace-ribbon-collapse-btn{display:none}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-right{pointer-events:none}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left{position:absolute;border-right:0px;margin:0;height:var(--header-height);overflow:visible;flex-basis:0;bottom:0;top:auto;display:flex!important;flex-direction:row;z-index:17;opacity:0;transition:opacity .25s ease-in-out;filter:drop-shadow(2px 10px 30px rgba(0,0,0,.2));gap:0}.hider-ribbon:not(.is-mobile) .side-dock-actions,.hider-ribbon:not(.is-mobile) .side-dock-settings{flex-direction:row;display:flex;border-top:var(--border-width) solid var(--background-modifier-border);background:var(--background-secondary);margin:0;position:relative;gap:var(--size-2-2)}.hider-ribbon:not(.is-mobile) .side-dock-actions{padding-left:8px}.hider-ribbon:not(.is-mobile) .side-dock-settings{border-right:var(--border-width) solid var(--background-modifier-border);border-top-right-radius:var(--radius-m);padding:0 var(--size-2-2)}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left .side-dock-ribbon-action{display:flex;margin:7px 0 8px}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left:hover{opacity:1;transition:opacity .25s ease-in-out}.hider-ribbon:not(.is-mobile) .workspace-ribbon.mod-left .workspace-ribbon-collapse-btn{opacity:0}.hider-ribbon:not(.is-mobile) .workspace-split.mod-left-split{margin:0}.hider-ribbon:not(.is-mobile) .workspace-leaf-content .item-list{padding-bottom:40px}.hider-ribbon .workspace-ribbon{padding:0}.popover.hover-editor{--folding-offset:10px}.theme-dark,.theme-light{--he-title-bar-inactive-bg:var(--background-secondary);--he-title-bar-inactive-pinned-bg:var(--background-secondary);--he-title-bar-active-pinned-bg:var(--background-secondary);--he-title-bar-active-bg:var(--background-secondary);--he-title-bar-inactive-fg:var(--text-muted);--he-title-bar-active-fg:var(--text-normal);--he-title-bar-font-size:14px}.theme-light{--popover-shadow:0px 2.7px 3.1px rgba(0, 0, 0, 0.032),0px 5.9px 8.7px rgba(0, 0, 0, 0.052),0px 10.4px 18.1px rgba(0, 0, 0, 0.071),0px 20px 40px rgba(0, 0, 0, 0.11)}.theme-dark{--popover-shadow:0px 2.7px 3.1px rgba(0, 0, 0, 0.081),0px 5.9px 8.7px rgba(0, 0, 0, 0.131),0px 10.4px 18.1px rgba(0, 0, 0, 0.18),0px 20px 40px rgba(0, 0, 0, 0.28)}.popover.hover-editor:not(.snap-to-viewport){--max-width:92%}.popover.hover-editor:not(.snap-to-viewport) .markdown-preview-view,.popover.hover-editor:not(.snap-to-viewport) .markdown-source-view .cm-content{font-size:90%}body .popover.hover-editor:not(.is-loaded){box-shadow:var(--popover-shadow)}body .popover.hover-editor:not(.is-loaded) .markdown-preview-view{padding:15px 0 0 0}body .popover.hover-editor:not(.is-loaded) .view-content{height:100%;background-color:var(--background-primary)}body .popover.hover-editor:not(.is-loaded) .view-actions{height:auto}body .popover.hover-editor:not(.is-loaded) .popover-content{border:1px solid var(--background-modifier-border-hover)}body .popover.hover-editor:not(.is-loaded) .popover-titlebar{padding:0 4px}body .popover.hover-editor:not(.is-loaded) .popover-titlebar .popover-title{padding-left:4px;letter-spacing:-.02em;font-weight:var(--title-weight)}body .popover.hover-editor:not(.is-loaded) .markdown-embed{height:auto;font-size:unset;line-height:unset}body .popover.hover-editor:not(.is-loaded) .markdown-embed .markdown-preview-view{padding:0}body .popover.hover-editor:not(.is-loaded).show-navbar .popover-titlebar{border-bottom:var(--border-width) solid var(--background-modifier-border)}body .popover.hover-editor:not(.is-loaded) .popover-action,body .popover.hover-editor:not(.is-loaded) .popover-header-icon{cursor:var(--cursor);margin:4px 0;padding:4px 3px;border-radius:var(--radius-m);color:var(--icon-color)}body .popover.hover-editor:not(.is-loaded) .popover-action.mod-pin-popover,body .popover.hover-editor:not(.is-loaded) .popover-header-icon.mod-pin-popover{padding:4px 2px}body .popover.hover-editor:not(.is-loaded) .popover-action svg,body .popover.hover-editor:not(.is-loaded) .popover-header-icon svg{opacity:var(--icon-muted)}body .popover.hover-editor:not(.is-loaded) .popover-action:hover,body .popover.hover-editor:not(.is-loaded) .popover-header-icon:hover{background-color:var(--background-modifier-hover);color:var(--icon-color-hover)}body .popover.hover-editor:not(.is-loaded) .popover-action:hover svg,body .popover.hover-editor:not(.is-loaded) .popover-header-icon:hover svg{opacity:1;transition:opacity .1s ease-in-out}body .popover.hover-editor:not(.is-loaded) .popover-action.is-active,body .popover.hover-editor:not(.is-loaded) .popover-header-icon.is-active{color:var(--icon-color)}body.minimal-dark-black.theme-dark,body.minimal-dark-tonal.theme-dark,body.minimal-light-tonal.theme-light,body.minimal-light-white.theme-light,body.theme-dark{--kanban-border:0px}body:not(.is-mobile) .kanban-plugin__grow-wrap>textarea:focus{box-shadow:none}body:not(.minimal-icons-off) .kanban-plugin svg.cross{height:14px;width:14px}body .kanban-plugin{--kanban-border:var(--border-width);--interactive-accent:var(--text-selection);--interactive-accent-hover:var(--background-modifier-hover);--text-on-accent:var(--text-normal);background-color:var(--background-primary)}body .kanban-plugin__markdown-preview-view{font-family:var(--font-text)}body .kanban-plugin__board>div{margin:0 auto}body .kanban-plugin__checkbox-label{font-size:var(--font-adaptive-small);color:var(--text-muted)}body .kanban-plugin__item-markdown ul{margin:0}body .kanban-plugin__item-content-wrapper{box-shadow:none}body .kanban-plugin__grow-wrap::after,body .kanban-plugin__grow-wrap>textarea{padding:0;border:0;border-radius:0}body .kanban-plugin__grow-wrap::after,body .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__item-title p,body .kanban-plugin__markdown-preview-view{font-size:calc(var(--font-adaptive-normal) - 2px);line-height:1.3}body .kanban-plugin__item-input-actions button,body .kanban-plugin__lane-input-actions button{font-size:var(--font-adaptive-small)}body .kanban-plugin__item{background-color:var(--background-primary)}body .kanban-plugin__item-title-wrapper{align-items:center}body .kanban-plugin__lane-form-wrapper{border:1px solid var(--background-modifier-border)}body .kanban-plugin__lane-header-wrapper{border-bottom:0}body .kanban-plugin__lane-header-wrapper .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__lane-input-wrapper .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__lane-title p{background:0 0;color:var(--text-normal);font-size:calc(var(--font-adaptive-normal) - 2px);font-weight:500}body .kanban-plugin__item-input-wrapper .kanban-plugin__grow-wrap>textarea{padding:0;border-radius:0;height:auto}body .kanban-plugin__item-form .kanban-plugin__grow-wrap{padding:6px 8px;border-radius:6px;border:1px solid var(--background-modifier-border);background-color:var(--background-primary)}body .kanban-plugin__item-input-wrapper .kanban-plugin__grow-wrap>textarea::placeholder{color:var(--text-faint)}body .kanban-plugin__item .kanban-plugin__item-edit-archive-button,body .kanban-plugin__item button.kanban-plugin__item-edit-button,body .kanban-plugin__item-settings-actions>button,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled,body .kanban-plugin__lane-action-wrapper>button{background:0 0;transition:color .1s ease-in-out}body .kanban-plugin__item .kanban-plugin__item-edit-archive-button:hover,body .kanban-plugin__item button.kanban-plugin__item-edit-button.is-enabled,body .kanban-plugin__item button.kanban-plugin__item-edit-button:hover,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{color:var(--text-normal);transition:color .1s ease-in-out;background:0 0}body .kanban-plugin__new-lane-button-wrapper{position:fixed;bottom:30px}body .kanban-plugin__lane-items>.kanban-plugin__placeholder:only-child{border:1px dashed var(--background-modifier-border);height:2em}body .kanban-plugin__item-postfix-button-wrapper{align-self:flex-start}body .kanban-plugin__item button.kanban-plugin__item-postfix-button.is-enabled,body .kanban-plugin__item button.kanban-plugin__item-prefix-button.is-enabled,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled{color:var(--text-muted)}body .kanban-plugin button{box-shadow:none;cursor:var(--cursor);height:auto}body .kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,body .kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{background-color:var(--background-modifier-hover)}body .kanban-plugin__item-button-wrapper>button{font-size:var(--font-adaptive-small);color:var(--text-muted);font-weight:400;background:0 0;height:32px}body .kanban-plugin__item-button-wrapper>button:hover{color:var(--text-normal);background:var(--background-modifier-hover)}body .kanban-plugin__item-button-wrapper>button:focus{box-shadow:none}body .kanban-plugin__item-button-wrapper{padding:1px 6px 5px;border-top:none}body .kanban-plugin__lane-setting-wrapper>div:last-child{border:none;margin:0}body .kanban-plugin.something-is-dragging{cursor:grabbing;cursor:-webkit-grabbing}body .kanban-plugin__item.is-dragging{box-shadow:0 5px 30px rgba(0,0,0,.15),0 0 0 2px var(--text-selection)}body .kanban-plugin__lane{background:0 0;padding:0;border:var(--border-width) solid transparent}body .kanban-plugin__lane.is-dragging{box-shadow:0 5px 30px rgba(0,0,0,.15);border:1px solid var(--background-modifier-border)}body .kanban-plugin__lane-items{border:var(--kanban-border) solid var(--background-modifier-border);border-bottom:none;padding:0 4px;border-top-left-radius:8px;border-top-right-radius:8px;margin:0;background-color:var(--background-secondary)}body .kanban-plugin__item-input-wrapper{border:0;padding-top:1px;flex-grow:1}body .kanban-plugin__item-button-wrapper,body .kanban-plugin__item-form{background-color:var(--background-secondary);border:var(--kanban-border) solid var(--background-modifier-border);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px}body .kanban-plugin__item-form{padding:0 4px 5px}body .kanban-plugin__markdown-preview-view ol,body .kanban-plugin__markdown-preview-view ol.contains-task-list .contains-task-list,body .kanban-plugin__markdown-preview-view ul,body .kanban-plugin__markdown-preview-view ul.contains-task-list .contains-task-list{padding-inline-start:1.8em!important}@media (max-width:400pt){.kanban-plugin__board{flex-direction:column!important}.kanban-plugin__lane{width:100%!important;margin-bottom:1rem!important}}body .cm-heading-marker{cursor:var(--cursor);padding-left:10px}.theme-light{--leaflet-buttons:var(--bg1);--leaflet-borders:rgba(0,0,0,0.1)}.theme-dark{--leaflet-buttons:var(--bg2);--leaflet-borders:rgba(255,255,255,0.1)}.leaflet-top{transition:top .1s linear}.mod-macos.minimal-focus-mode .mod-root .map-100 .markdown-preview-sizer.markdown-preview-section .el-lang-leaflet:nth-child(3) .leaflet-top{top:calc(18px + var(--ewt-traffic-light-y));transition:top .1s linear}body .leaflet-container{background-color:var(--background-secondary);font-family:var(--font-interface)}.map-100 .markdown-preview-sizer.markdown-preview-section .el-lang-leaflet:nth-child(3){margin-top:-16px}.leaflet-control-attribution{display:none}.leaflet-popup-content{margin:10px}.block-language-leaflet{border-radius:var(--radius-m);overflow:hidden;border:var(--border-width) solid var(--background-modifier-border)}.map-wide .block-language-leaflet{border-radius:var(--radius-l)}.map-max .block-language-leaflet{border-radius:var(--radius-xl)}.workspace-leaf-content[data-type=obsidian-leaflet-map-view] .block-language-leaflet{border-radius:0;border:none}.map-100 .block-language-leaflet{border-radius:0;border-left:none;border-right:none}.block-language-leaflet .leaflet-control-expandable-list .input-container .input-item>input{appearance:none}body .block-language-leaflet .leaflet-bar.disabled>a{background-color:transparent;opacity:.3}body .leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}body .leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}body .leaflet-control-layers-toggle{border-radius:4px}body .block-language-leaflet .leaflet-control-expandable,body .block-language-leaflet .leaflet-control-has-actions .control-actions.expanded,body .block-language-leaflet .leaflet-distance-control,body .leaflet-bar,body .leaflet-bar a,body .leaflet-control-layers-expanded,body .leaflet-control-layers-toggle{background-color:var(--leaflet-buttons);color:var(--text-muted);border:none;user-select:none}body .leaflet-bar a.leaflet-disabled,body .leaflet-bar a.leaflet-disabled:hover{background-color:var(--leaflet-buttons);color:var(--text-faint);opacity:.6;cursor:not-allowed}body .leaflet-control a{cursor:var(--cursor);color:var(--text-normal)}body .leaflet-bar a:hover{background-color:var(--background-modifier-hover);color:var(--text-normal);border:none}body .leaflet-touch .leaflet-control-layers{background-color:var(--leaflet-buttons)}body .leaflet-touch .leaflet-bar,body .leaflet-touch .leaflet-control-layers{border-radius:5px;box-shadow:2px 0 8px 0 rgba(0,0,0,.1);border:1px solid var(--ui1)}body .block-language-leaflet .leaflet-control-has-actions .control-actions{box-shadow:0;border:1px solid var(--ui1)}body .leaflet-control-expandable-list .leaflet-bar{box-shadow:none;border-radius:0}body .block-language-leaflet .leaflet-distance-control{padding:4px 10px;height:auto;cursor:var(--cursor)!important}body .block-language-leaflet .leaflet-marker-link-popup>.leaflet-popup-content-wrapper>*{font-size:var(--font-adaptive-small);font-family:var(--font-interface)}body .block-language-leaflet .leaflet-marker-link-popup>.leaflet-popup-content-wrapper{padding:4px 10px!important}.leaflet-marker-icon svg path{stroke:var(--background-primary);stroke-width:18px}.map-view-marker-name{font-weight:400}.workspace-leaf-content[data-type=map] .graph-controls{background-color:var(--background-primary)}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-split.mod-root .workspace-leaf-content[data-type=map] .view-header{position:fixed;background:0 0!important;width:100%;z-index:99}body:not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .view-header-title{display:none}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .view-actions{background:0 0}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .view-content{height:100%}body:not(.is-mobile):not(.plugin-sliding-panes-rotate-header) .workspace-leaf-content[data-type=map] .leaflet-top.leaflet-right{top:var(--header-height)}.obsidian-metatable{--metatable-font-size:calc(var(--font-adaptive-normal) - 2px);--metatable-font-family:var(--font-interface);--metatable-background:transparent;--metatable-foreground:var(--text-faint);--metatable-key-background:transparent;--metatable-key-border-width:0;--metatable-key-border-color:transparent;--metatable-value-background:transparent;padding-bottom:.5rem}.obsidian-metatable::part(key),.obsidian-metatable::part(value){border-bottom:0 solid var(--background-modifier-border);padding:.1rem 0;text-overflow:ellipsis;overflow:hidden}.obsidian-metatable::part(key){font-weight:400;color:var(--tx3);font-size:calc(var(--font-adaptive-normal) - 2px)}.obsidian-metatable::part(value){font-size:calc(var(--font-adaptive-normal) - 2px);color:var(--tx1)}body .NLT__header-menu-header-container{font-size:85%}body .NLT__button{background:0 0;box-shadow:none;color:var(--text-muted)}body .NLT__button:active,body .NLT__button:focus,body .NLT__button:hover{background:0 0;color:var(--text-normal);box-shadow:none}.NLT__app .NLT__button{background:0 0;border:1px solid var(--background-modifier-border);box-shadow:0 .5px 1px 0 var(--btn-shadow-color);color:var(--text-muted);padding:2px 8px}.NLT__app .NLT__button:active,.NLT__app .NLT__button:focus,.NLT__app .NLT__button:hover{background:0 0;border-color:var(--background-modifier-border-hover);color:var(--text-normal);box-shadow:0 .5px 1px 0 var(--btn-shadow-color)}.NLT__td:nth-last-child(2),.NLT__th:nth-last-child(2){border-right:0}.NLT__app .NLT__td:last-child,.NLT__app .NLT__th:last-child{padding-right:0}.NLT__app .NLT__th{background-image:none!important}.NLT__app th.NLT__selectable:hover{background-color:transparent;cursor:var(--cursor)}.NLT__menu .NLT__menu-container{background-color:var(--background-secondary)}.NLT__menu .NLT__header-menu-item{font-size:var(--font-adaptive-small)}.NLT__menu .NLT__header-menu{padding:6px 4px}.NLT__menu .NLT__drag-menu{font-size:var(--font-adaptive-small);padding:6px 4px}.NLT__menu svg{color:var(--text-faint);margin-right:6px}.NLT__menu .NLT__selectable:hover,.NLT__menu .NLT__selected{background:0 0}.NLT__menu .NLT__selected>.NLT__selectable{background-color:var(--background-modifier-hover)}.NLT__menu .NLT__selectable{cursor:var(--cursor)}.NLT__menu div.NLT__selectable{min-width:110px;border-radius:var(--radius-m);padding:3px 8px 3px 4px;margin:1px 2px 1px;cursor:var(--cursor);height:auto;line-height:20px}.NLT__menu div.NLT__selectable:hover{background-color:var(--background-modifier-hover)}.NLT__menu .NLT__textarea{font-size:var(--table-text-size)}.NLT__tfoot tr:hover td{background-color:transparent}.modal .quickAddPrompt>h1,.modal .quickAddYesNoPrompt h1{margin-top:0;text-align:left!important;font-size:var(--h1);font-weight:600}.modal .quickAddYesNoPrompt p{text-align:left!important}.modal .quickAddYesNoPrompt button{font-size:var(--font-ui-small)}.modal .yesNoPromptButtonContainer{font-size:var(--font-ui-small);justify-content:flex-end}.quickAddModal .modal-content{padding:20px 2px 5px}div#quick-explorer{display:flex}div#quick-explorer span.explorable{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-adaptive-smaller);line-height:16px}div#quick-explorer span.explorable:last-of-type{font-size:var(--font-adaptive-smaller)}div#quick-explorer span.explorable.selected,div#quick-explorer span.explorable:hover{background-color:unset!important}div#quick-explorer span.explorable.selected .explorable-name,div#quick-explorer span.explorable:hover .explorable-name{color:var(--text-normal)}div#quick-explorer span.explorable.selected .explorable-separator,div#quick-explorer span.explorable:hover .explorable-separator{color:var(--text-normal)}div#quick-explorer .explorable-name{padding:0 4px;border-radius:4px}div#quick-explorer .explorable-separator::before{content:"\00a0›"!important;font-size:1.3em;font-weight:400;margin:0}body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label).selected,body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label):hover{background-color:var(--background-modifier-hover);color:var(--text-normal)}body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label).selected .menu-item-icon,body:not(.colorful-active) .qe-popup-menu .menu-item:not(.is-disabled):not(.is-label):hover .menu-item-icon{color:var(--text-normal)}.workspace-leaf-content[data-type=recent-files] .view-content{padding-top:10px}.mod-root .workspace-leaf-content[data-type=reminder-list] main{max-width:var(--max-width);margin:0 auto;padding:0}.modal .reminder-actions .later-select{font-size:var(--font-settings-small);vertical-align:bottom;margin-left:3px}.modal .reminder-actions .icon{line-height:1}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main{margin:0 auto;padding:15px}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .group-name{font-weight:500;color:var(--text-muted);font-size:var(--font-adaptive-small);padding-bottom:.5em;border-bottom:1px solid var(--background-modifier-border)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .reminder-list-item{line-height:1.3;font-size:var(--font-adaptive-small)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .no-reminders{color:var(--text-faint)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .reminder-time{font-family:var(--font-text);font-size:var(--font-adaptive-small)}:not(.mod-root) .workspace-leaf-content[data-type=reminder-list] main .reminder-group .reminder-file{color:var(--text-faint)}body .modal .dtchooser{background-color:transparent}body .modal .dtchooser .reminder-calendar .year-month{font-weight:400;font-size:var(--font-adaptive-normal);padding-bottom:10px}body .modal .dtchooser .reminder-calendar .year-month .month,body .modal .dtchooser .reminder-calendar .year-month .year{color:var(--text-normal)}body .modal .dtchooser .reminder-calendar .year-month .month-nav:first-child{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E")}body .modal .dtchooser .reminder-calendar .year-month .month-nav:last-child{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E")}body .modal .dtchooser .reminder-calendar .year-month .month-nav{-webkit-mask-size:20px 20px;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;color:var(--text-faint);cursor:var(--cursor);border-radius:var(--radius-m);padding:0;width:30px;display:inline-block}body .modal .dtchooser .reminder-calendar .year-month .month-nav:hover{color:var(--text-muted)}body .modal .dtchooser .reminder-calendar th{padding:.5em 0;font-size:var(--font-adaptive-smallest);font-weight:500;text-transform:uppercase;letter-spacing:.1em}body .modal .dtchooser .reminder-calendar .calendar-date{transition:background-color .1s ease-in;padding:.3em 0;border-radius:var(--radius-m)}body .modal .dtchooser .reminder-calendar .calendar-date.is-selected,body .modal .dtchooser .reminder-calendar .calendar-date:hover{transition:background-color .1s ease-in;background-color:var(--background-modifier-hover)!important}body .modal .dtchooser .reminder-calendar .calendar-date.is-selected{font-weight:var(--bold-weight);color:var(--text-accent)!important}body .markdown-preview-view th,body .markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th,body .table-view-table>thead>tr>th{cursor:var(--cursor);background-image:none}.markdown-source-view.mod-cm6 th{background-repeat:no-repeat;background-position:right}.style-settings-container[data-level="2"]{background:var(--background-secondary);border:1px solid var(--ui1);border-radius:5px;padding:10px 20px;margin:2px 0 2px -20px}.workspace-leaf-content[data-type=style-settings] .view-content{padding:var(--size-4-4) 0 var(--size-4-4) var(--folding-offset)}.workspace-leaf-content[data-type=style-settings] .view-content>div{width:var(--line-width-adaptive);max-width:var(--max-width);margin:0 auto}.workspace-leaf-content[data-type=style-settings] .style-settings-heading[data-level="0"] .setting-item-name{padding-left:17px}.workspace-leaf-content[data-type=style-settings] .setting-item{max-width:100%;margin:0 auto}.workspace-leaf-content[data-type=style-settings] .setting-item-name{position:relative}.workspace-leaf-content[data-type=style-settings] .style-settings-collapse-indicator{position:absolute;left:0}.setting-item-heading.style-settings-heading,.style-settings-container .style-settings-heading{cursor:var(--cursor)}.modal.mod-settings .setting-item .pickr button.pcr-button{box-shadow:none;border-radius:40px;height:24px;width:24px}.setting-item .pickr .pcr-button:after,.setting-item .pickr .pcr-button:before{border-radius:40px;box-shadow:none;border:none}.setting-item.setting-item-heading.style-settings-heading.is-collapsed{border-bottom:1px solid var(--background-modifier-border)}.setting-item.setting-item-heading.style-settings-heading{border:0;padding:10px 0 5px;margin-bottom:0}.mod-root .workspace-leaf-content[data-type=style-settings] .style-settings-container .setting-item:not(.setting-item-heading){flex-direction:row;align-items:center;padding:.5em 0}.workspace-split:not(.mod-root) .workspace-leaf-content[data-type=style-settings] .setting-item-name{font-size:var(--font-adaptive-smaller)}.setting-item .style-settings-export,.setting-item .style-settings-import{text-decoration:none;font-size:var(--font-ui-small);font-weight:500;color:var(--text-muted);margin:0;padding:2px 8px;border-radius:5px;cursor:var(--cursor)}.style-settings-export:hover,.style-settings-import:hover{background-color:var(--background-modifier-hover);color:var(--text-normal);cursor:var(--cursor)}.themed-color-wrapper>div+div{margin-top:0;margin-left:6px}.theme-light .themed-color-wrapper>.theme-light{background-color:transparent}.theme-light .themed-color-wrapper>.theme-dark{background-color:rgba(0,0,0,.8)}.theme-dark .themed-color-wrapper>.theme-dark{background-color:transparent}body .todoist-query-title{display:inline;font-size:var(--h4);font-variant:var(--h4-variant);letter-spacing:.02em;color:var(--h4-color);font-weight:var(--h4-weight);font-style:var(--h4-style)}body .is-live-preview .block-language-todoist{padding-left:0}ul.todoist-task-list>li.task-list-item .task-list-item-checkbox{margin:0}body .todoist-refresh-button{display:inline;float:right;background:0 0;padding:5px 6px 0;margin-right:0}body .is-live-preview .todoist-refresh-button{margin-right:30px}body .todoist-refresh-button:hover{box-shadow:none;background-color:var(--background-modifier-hover)}.todoist-refresh-button svg{width:15px;height:15px;opacity:var(--icon-muted)}ul.todoist-task-list{margin-left:-.25em}.is-live-preview ul.todoist-task-list{padding-left:0;margin-left:.5em;margin-block-start:0;margin-block-end:0}.contains-task-list.todoist-task-list .task-metadata{font-size:var(--font-adaptive-small);display:flex;color:var(--text-muted);justify-content:space-between;margin-left:.1em;margin-bottom:.25rem}.is-live-preview .contains-task-list.todoist-task-list .task-metadata{padding-left:calc(var(--checkbox-size) + .6em)}.todoist-task-list .task-date.task-overdue{color:var(--color-orange)}body .todoist-p1>input[type=checkbox]{border:1px solid var(--color-red)}body .todoist-p1>input[type=checkbox]:hover{opacity:.8}body .todoist-p2>input[type=checkbox]{border:1px solid var(--color-yellow)}body .todoist-p2>input[type=checkbox]:hover{opacity:.8}body .todoist-p3>input[type=checkbox]{border:1px solid var(--color-blue)}body .todoist-p3>input[type=checkbox]:hover{opacity:.8}body.theme-light{--color-axis-label:var(--tx1);--color-tick-label:var(--tx2);--color-dot-fill:var(--ax1);--color-line:var(--ui1)}.tracker-axis-label{font-family:var(--font-interface)}.tracker-axis{color:var(--ui2)}.theme-dark.minimal-atom-dark{--color-red:#e16d76;--color-orange:#d19a66;--color-yellow:#cec167;--color-green:#98c379;--color-cyan:#58b6c2;--color-blue:#62afef;--color-purple:#c678de;--color-pink:#e16d76}.theme-light.minimal-atom-light{--color-red:#e45749;--color-orange:#b76b02;--color-yellow:#c18302;--color-green:#50a150;--color-cyan:#0d97b3;--color-blue:#62afef;--color-purple:#a626a4;--color-pink:#e45749}.theme-light.minimal-atom-light{--base-h:106;--base-s:0%;--base-l:98%;--accent-h:231;--accent-s:76%;--accent-l:62%;--bg1:#fafafa;--bg2:#eaeaeb;--bg3:rgba(0,0,0,.1);--ui1:#dbdbdc;--ui2:#d8d8d9;--tx1:#232324;--tx2:#8e8e90;--tx3:#a0a1a8;--hl1:rgba(180,180,183,0.3);--hl2:rgba(209,154,102,0.35)}.theme-light.minimal-atom-light.minimal-light-white{--bg3:#eaeaeb}.theme-dark.minimal-atom-dark,.theme-light.minimal-atom-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-atom-light.minimal-light-contrast .titlebar,.theme-light.minimal-atom-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-atom-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-atom-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:220;--base-s:12%;--base-l:18%;--accent-h:220;--accent-s:86%;--accent-l:65%;--bg1:#282c34;--bg2:#21252c;--bg3:#3a3f4b;--divider-color:#181a1f;--tab-outline-color:#181a1f;--tx1:#d8dae1;--tx2:#898f9d;--tx3:#5d6370;--hl1:rgba(114,123,141,0.3);--hl2:rgba(209,154,102,0.3);--sp1:#fff}.theme-dark.minimal-atom-dark.minimal-dark-black{--base-d:5%;--bg3:#282c34;--divider-color:#282c34;--tab-outline-color:#282c34}.theme-light.minimal-catppuccin-light{--color-red:#E64553;--color-orange:#FE640C;--color-yellow:#DF8E1D;--color-green:#40A02B;--color-purple:#8938EF;--color-pink:#EA77CB;--color-cyan:#17929A;--color-blue:#2166F6}.theme-dark.minimal-catppuccin-dark{--color-red:#EB999C;--color-orange:#EFA076;--color-yellow:#E5C890;--color-green:#A6D18A;--color-purple:#CA9EE6;--color-pink:#F4B9E5;--color-cyan:#81C8BE;--color-blue:#8CAAEE}.theme-light.minimal-catppuccin-light{--base-h:228;--base-s:20%;--base-l:95%;--accent-h:11;--accent-s:59%;--accent-l:67%;--bg1:#F0F1F5;--bg2:#DCE0E8;--bg3:hsla(228,11%,65%,.25);--ui1:#CCD0DA;--ui2:#BCC0CC;--ui3:#ACB0BE;--tx1:#4D4F69;--tx2:#5D5F77;--tx3:#8D8FA2;--hl1:rgba(172,176,190,.3);--hl2:rgba(223,142,29,.3)}.theme-light.minimal-catppuccin-light.minimal-light-tonal{--bg2:#DCE0E8}.theme-light.minimal-catppuccin-light.minimal-light-white{--bg3:#F0F1F5;--ui1:#DCE0E8}.theme-dark.minimal-catppuccin-dark,.theme-light.minimal-catppuccin-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-catppuccin-light.minimal-light-contrast .titlebar,.theme-light.minimal-catppuccin-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-catppuccin-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-catppuccin-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:229;--base-s:19%;--base-l:23%;--accent-h:10;--accent-s:57%;--accent-l:88%;--bg1:#303446;--bg2:#242634;--bg3:hsla(229,13%,52%,0.25);--ui1:#41455A;--ui2:#51576D;--ui3:#626880;--tx1:#C6D0F5;--tx2:#A6ADCE;--tx3:#848BA7;--sp1:#242634;--hl1:rgba(98,104,128,.5);--hl2:rgba(223,142,29,.4)}.theme-dark.minimal-catppuccin-dark.minimal-dark-black{--ui1:#303446;--hl2:rgba(223,142,29,.5)}.theme-dark.minimal-dracula-dark{--color-red:#ff5555;--color-yellow:#f1fa8c;--color-green:#50fa7b;--color-orange:#ffb86c;--color-purple:#bd93f9;--color-pink:#ff79c6;--color-cyan:#8be9fd;--color-blue:#6272a4}.theme-dark.minimal-dracula-dark,.theme-light.minimal-dracula-light.minimal-light-contrast .titlebar,.theme-light.minimal-dracula-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-dracula-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:232;--base-s:16%;--base-l:19%;--accent-h:265;--accent-s:89%;--accent-l:78%;--bg1:#282a37;--bg2:#21222c;--ui2:#44475a;--ui3:#6272a4;--tx1:#f8f8f2;--tx2:#949FBE;--tx3:#6272a4;--hl1:rgba(134, 140, 170, 0.3);--hl2:rgba(189, 147, 249, 0.35)}.theme-dark.minimal-dracula-dark.minimal-dark-black{--ui1:#282a36}.theme-light.minimal-everforest-light{--color-red:#f85552;--color-orange:#f57d26;--color-yellow:#dfa000;--color-green:#8da101;--color-purple:#df69ba;--color-pink:#df69ba;--color-cyan:#35a77c;--color-blue:#7fbbb3}.theme-dark.minimal-everforest-dark{--color-red:#e67e80;--color-orange:#e69875;--color-yellow:#dbbc7f;--color-green:#a7c080;--color-purple:#d699b6;--color-pink:#d699b6;--color-cyan:#83c092;--color-blue:#7fbbb3}.theme-light.minimal-everforest-light{--base-h:46;--base-s:87%;--base-l:94%;--accent-h:81;--accent-s:37%;--accent-l:52%;--bg1:#FDF7E3;--bg2:#EEEAD5;--bg3:rgba(206,207,182,.5);--ui1:#dfdbc8;--ui2:#bdc3af;--ui3:#bdc3af;--tx1:#5C6A72;--tx2:#829181;--tx3:#a6b0a0;--hl1:rgba(198,214,152,.4);--hl2:rgba(222,179,51,.3)}.theme-light.minimal-everforest-light.minimal-light-tonal{--bg2:#EEEAD5}.theme-light.minimal-everforest-light.minimal-light-white{--bg3:#f3efda;--ui1:#edead5}.theme-dark.minimal-everforest-dark,.theme-light.minimal-everforest-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-everforest-light.minimal-light-contrast .titlebar,.theme-light.minimal-everforest-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-everforest-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-everforest-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:203;--base-s:15%;--base-l:23%;--accent-h:81;--accent-s:34%;--accent-l:63%;--bg1:#323D44;--bg2:#2A343A;--bg3:#414C54;--bg3:rgba(78,91,100,0.5);--ui1:#404c51;--ui2:#4A555C;--ui3:#525c62;--tx1:#d3c6aa;--tx2:#9da9a0;--tx3:#7a8478;--ax1:#A7C080;--ax2:#c7cca3;--ax3:#93b259;--hl1:rgba(134,70,93,.5);--hl2:rgba(147,185,96,.3)}.theme-dark.minimal-everforest-dark.minimal-dark-black{--hl1:rgba(134,70,93,.4);--ui1:#2b3339}.theme-dark.minimal-gruvbox-dark,.theme-light.minimal-gruvbox-light{--color-red:#cc241d;--color-yellow:#d79921;--color-green:#98971a;--color-orange:#d65d0e;--color-purple:#b16286;--color-pink:#b16286;--color-cyan:#689d6a;--color-blue:#458588}.theme-light.minimal-gruvbox-light{--base-h:49;--base-s:92%;--base-l:89%;--accent-h:24;--accent-s:88%;--accent-l:45%;--bg1:#fcf2c7;--bg2:#f2e6bd;--bg3:#ebd9b3;--ui1:#ebdbb2;--ui2:#d5c4a1;--ui3:#bdae93;--tx1:#282828;--tx2:#7c7065;--tx3:#a89a85;--hl1:rgba(192,165,125,.3);--hl2:rgba(215,153,33,.4)}.theme-light.minimal-gruvbox-light.minimal-light-tonal{--bg2:#fcf2c7}.theme-light.minimal-gruvbox-light.minimal-light-white{--bg3:#faf5d7;--ui1:#f2e6bd}.theme-dark.minimal-gruvbox-dark,.theme-light.minimal-gruvbox-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-gruvbox-light.minimal-light-contrast .titlebar,.theme-light.minimal-gruvbox-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-gruvbox-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-gruvbox-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-h:24;--accent-s:88%;--accent-l:45%;--bg1:#282828;--bg2:#1e2021;--bg3:#3d3836;--bg3:rgba(62,57,55,0.5);--ui1:#3c3836;--ui2:#504945;--ui3:#665c54;--tx1:#fbf1c7;--tx2:#bdae93;--tx3:#7c6f64;--hl1:rgba(173,149,139,0.3);--hl2:rgba(215,153,33,.4)}.theme-dark.minimal-gruvbox-dark.minimal-dark-black{--hl1:rgba(173,149,139,0.4);--ui1:#282828}.theme-dark.minimal-macos-dark,.theme-light.minimal-macos-light{--color-red:#ff3b31;--color-yellow:#ffcc00;--color-green:#2acd41;--color-orange:#ff9502;--color-purple:#b051de;--color-pink:#ff2e55;--color-cyan:#02c7be;--color-blue:#027aff}.theme-light.minimal-macos-light{--base-h:106;--base-s:0%;--base-l:94%;--accent-h:212;--accent-s:100%;--accent-l:50%;--bg1:#fff;--bg2:#f0f0f0;--bg3:rgba(0,0,0,.1);--ui1:#e7e7e7;--tx1:#454545;--tx2:#808080;--tx3:#b0b0b0;--hl1:#b3d7ff}.theme-light.minimal-macos-light.minimal-light-tonal{--bg1:#f0f0f0;--bg2:#f0f0f0}.theme-dark.minimal-macos-dark,.theme-light.minimal-macos-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-macos-light.minimal-light-contrast .titlebar,.theme-light.minimal-macos-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-macos-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-macos-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:106;--base-s:0%;--base-l:12%;--accent-h:212;--accent-s:100%;--accent-l:50%;--bg1:#1e1e1e;--bg2:#282828;--bg3:rgba(255,255,255,0.11);--divider-color:#000;--tab-outline-color:#000;--ui1:#373737;--ui2:#515151;--ui3:#595959;--tx1:#dcdcdc;--tx2:#8c8c8c;--tx3:#686868;--hl1:rgba(98,169,252,0.5);--sp1:#fff}.theme-dark.minimal-macos-dark.minimal-dark-black{--divider-color:#1e1e1e;--tab-outline-color:#1e1e1e}.theme-dark.minimal-nord-dark,.theme-light.minimal-nord-light{--color-red:#BF616A;--color-yellow:#EBCB8B;--color-green:#A3BE8C;--color-orange:#D08770;--color-purple:#B48EAD;--color-pink:#B48EAD;--color-cyan:#88C0D0;--color-blue:#81A1C1}.theme-light.minimal-nord-light{--base-h:221;--base-s:27%;--base-l:94%;--accent-h:213;--accent-s:32%;--accent-l:52%;--bg1:#fff;--bg2:#eceff4;--bg3:rgba(157,174,206,0.25);--ui1:#d8dee9;--ui2:#BBCADC;--ui3:#81a1c1;--tx1:#2e3440;--tx2:#7D8697;--tx3:#ADB1B8;--hl2:rgba(208, 135, 112, 0.35)}.theme-dark.minimal-nord-dark,.theme-light.minimal-nord-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-nord-light.minimal-light-contrast .titlebar,.theme-light.minimal-nord-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-nord-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-nord-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:220;--base-s:16%;--base-l:22%;--accent-h:213;--accent-s:32%;--accent-l:52%;--bg1:#2e3440;--bg2:#3b4252;--bg3:rgba(135,152,190,0.15);--ui1:#434c5e;--ui2:#58647b;--ui3:#58647b;--tx1:#d8dee9;--tx2:#9eafcc;--tx3:#4c566a;--hl1:rgba(129,142,180,0.3);--hl2:rgba(208, 135, 112, 0.35)}.theme-dark.minimal-nord-dark.minimal-dark-black{--ui1:#2e3440}.theme-light.minimal-notion-light{--base-h:39;--base-s:18%;--base-d:96%;--accent-h:197;--accent-s:71%;--accent-l:52%;--bg2:#f7f6f4;--bg3:#e8e7e4;--ui1:#ededec;--ui2:#dbdbda;--ui3:#aaa9a5;--tx1:#37352f;--tx2:#72706c;--tx3:#aaa9a5;--hl1:rgba(131,201,229,0.3);--link-weight:500}.theme-dark.minimal-notion-dark,.theme-light.minimal-notion-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-notion-light.minimal-light-contrast .titlebar,.theme-light.minimal-notion-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-notion-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-notion-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:203;--base-s:8%;--base-d:20%;--accent-h:197;--accent-s:71%;--accent-l:52%;--bg1:#2f3437;--bg2:#373c3f;--bg3:#4b5053;--ui1:#3e4245;--ui2:#585d5f;--ui3:#585d5f;--tx1:#ebebeb;--tx2:#909295;--tx3:#585d5f;--hl1:rgba(57,134,164,0.3);--link-weight:500}.theme-dark.minimal-notion-dark.minimal-dark-black{--base-d:5%;--bg3:#232729;--ui1:#2f3437}.theme-dark.minimal-solarized-dark,.theme-light.minimal-solarized-light{--color-red:#dc322f;--color-orange:#cb4b16;--color-yellow:#b58900;--color-green:#859900;--color-cyan:#2aa198;--color-blue:#268bd2;--color-purple:#6c71c4;--color-pink:#d33682}.theme-light.minimal-solarized-light{--base-h:44;--base-s:87%;--base-l:94%;--accent-h:205;--accent-s:70%;--accent-l:48%;--bg1:#fdf6e3;--bg2:#eee8d5;--bg3:rgba(0,0,0,0.062);--ui1:#e9e1c8;--ui2:#d0cab8;--ui3:#d0cab8;--tx1:#073642;--tx2:#586e75;--tx3:#ABB2AC;--tx4:#586e75;--hl1:rgba(202,197,182,0.3);--hl2:rgba(203,75,22,0.3)}.theme-light.minimal-solarized-light.minimal-light-tonal{--bg2:#fdf6e3}.theme-dark.minimal-solarized-dark,.theme-light.minimal-solarized-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-solarized-light.minimal-light-contrast .titlebar,.theme-light.minimal-solarized-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-solarized-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-solarized-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-h:205;--accent-s:70%;--accent-l:48%;--base-h:193;--base-s:98%;--base-l:11%;--bg1:#002b36;--bg2:#073642;--bg3:rgba(255,255,255,0.062);--ui1:#19414B;--ui2:#274850;--ui3:#31535B;--tx1:#93a1a1;--tx2:#657b83;--tx3:#31535B;--tx4:#657b83;--hl1:rgba(15,81,98,0.3);--hl2:rgba(203, 75, 22, 0.35)}.theme-dark.minimal-solarized-dark.minimal-dark-black{--hl1:rgba(15,81,98,0.55);--ui1:#002b36}.theme-dark.minimal-things-dark,.theme-light.minimal-things-light{--color-red:#FF306C;--color-yellow:#FFD500;--color-green:#4BBF5E;--color-orange:#ff9502;--color-purple:#b051de;--color-pink:#ff2e55;--color-cyan:#49AEA4}.theme-light.minimal-things-light{--color-blue:#1b61c2}.theme-dark.minimal-things-dark{--color-blue:#4d95f7}.theme-light.minimal-things-light{--accent-h:215;--accent-s:76%;--accent-l:43%;--bg1:white;--bg2:#f5f6f8;--bg3:rgba(162,177,187,0.25);--ui1:#eef0f4;--ui2:#D8DADD;--ui3:#c1c3c6;--tx1:#26272b;--tx2:#7D7F84;--tx3:#a9abb0;--hl1:#cae2ff}.theme-light.minimal-things-light.minimal-light-tonal{--ui1:#e6e8ec}.theme-light.minimal-things-light.minimal-light-white{--bg3:#f5f6f8}.theme-dark.minimal-things-dark,.theme-light.minimal-things-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-things-light.minimal-light-contrast .titlebar,.theme-light.minimal-things-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-things-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-things-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:218;--base-s:9%;--base-l:15%;--accent-h:215;--accent-s:91%;--accent-l:64%;--bg1:#24262a;--bg2:#202225;--bg3:#3d3f41;--divider-color:#17191c;--tab-outline-color:#17191c;--ui1:#3A3B3F;--ui2:#45464a;--ui3:#6c6e70;--tx1:#fbfbfb;--tx2:#CBCCCD;--tx3:#6c6e70;--hl1:rgba(40,119,236,0.35);--sp1:#fff}.theme-dark.minimal-things-dark.minimal-dark-black{--base-d:5%;--bg3:#24262a;--divider-color:#24262a;--tab-outline-color:#24262a} /* Plugin compatibility */ /* @plugins @@ -101,7 +101,7 @@ settings: type: heading level: 2 collapsed: true - - + - id: base title: Base color description: Defines all background and border colors unless overridden in more granular settings @@ -109,7 +109,7 @@ settings: format: hsl-split default-light: '#' default-dark: '#' - - + - id: bg1 title: Primary background description: Background color for the main window @@ -117,7 +117,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: bg2 title: Secondary background description: Background color for left sidebar and menus @@ -125,7 +125,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: bg3 title: Active background description: Background color for hovered buttons and currently selected file @@ -134,7 +134,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: ui1 title: Border color type: variable-themed-color @@ -143,7 +143,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: ui2 title: Highlighted border color description: Used when hovering over buttons, dividers, and outlined elements @@ -152,7 +152,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: ui3 title: Active border color description: Used when clicking buttons and outlined elements @@ -161,14 +161,52 @@ settings: format: hex default-light: '#' default-dark: '#' + - + id: accent-color + title: Accent color + type: heading + level: 2 + collapsed: true + - + id: ax1 + title: Accent color + type: variable-themed-color + description: Used primarily for links + format: hex + default-light: '#' + default-dark: '#' + - + id: ax2 + title: Accent color (hover) + type: variable-themed-color + description: Used primarily for hovered links + format: hex + default-light: '#' + default-dark: '#' + - + id: ax3 + title: Accent color interactive + type: variable-themed-color + description: Used for buttons, checklists, toggles + format: hex + default-light: '#' + default-dark: '#' + - + id: sp1 + title: Text on accent + type: variable-themed-color + description: Used primarily for text on accented buttons + format: hex + default-light: '#' + default-dark: '#' - id: extended-palette - title: Interface extended palette + title: Extended colors type: heading level: 2 collapsed: true - - - id: red + - + id: color-red title: Red description: Extended palette colors are defaults used for progress bar status, syntax highlighting, colorful headings, and graph nodes type: variable-themed-color @@ -176,56 +214,56 @@ settings: format: hex default-light: '#' default-dark: '#' - - - id: orange + - + id: color-orange title: Orange type: variable-themed-color opacity: true format: hex default-light: '#' default-dark: '#' - - - id: yellow + - + id: color-yellow title: Yellow type: variable-themed-color opacity: true format: hex default-light: '#' default-dark: '#' - - - id: green + - + id: color-green title: Green type: variable-themed-color opacity: true format: hex default-light: '#' default-dark: '#' - - - id: cyan + - + id: color-cyan title: Cyan type: variable-themed-color opacity: true format: hex default-light: '#' default-dark: '#' - - - id: blue + - + id: color-blue title: Blue type: variable-themed-color opacity: true format: hex default-light: '#' default-dark: '#' - - - id: purple + - + id: color-purple title: Purple type: variable-themed-color opacity: true format: hex default-light: '#' default-dark: '#' - - - id: pink + - + id: color-pink title: Pink type: variable-themed-color opacity: true @@ -244,7 +282,7 @@ settings: description: Adds a background to current line in editor type: class-toggle default: false - - + - id: active-line-bg title: Active line background description: Using a low opacity color is recommended to avoid conflicting with highlights @@ -259,45 +297,94 @@ settings: type: heading level: 2 collapsed: true - - + - id: blockquote-color title: Blockquotes text color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - + id: blockquote-background-color + title: Blockquotes background color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: blockquote-border-color + title: Blockquotes border color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: blockquote-border-thickness + title: Blockquote border thickness + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 5 + step: 1 + - id: blockquote-size title: Blockquotes font size description: Accepts any CSS font-size value type: variable-text default: '' - - + - id: blockquote-font-style title: Blockquotes font style type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Italic value: italic + - + id: callouts + title: Callouts + type: heading + level: 2 + collapsed: true + - + id: callout-blend-mode + title: Color blending + description: Blend the color of nested callouts + type: variable-select + allowEmpty: false + default: var(--highlight-mix-blend-mode) + options: + - + label: On + value: var(--highlight-mix-blend-mode) + - + label: Off + value: normal - id: code-blocks title: Code and syntax highlighting type: heading level: 2 collapsed: true - - + - id: code-size title: Code font size description: Accepts any CSS font-size value type: variable-text default: 13px - - + - + id: minimal-code-scroll + title: Scroll long lines + description: Turns off line wrap for code + type: class-toggle + default: false + - id: code-background title: Code background color description: Background for code blocks @@ -305,7 +392,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-normal title: Code text color description: Color of code when syntax highlighting is not present @@ -313,13 +400,13 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: syntax-highlighting title: Syntax highlighting type: heading level: 3 collapsed: false - - + - id: code-comment title: "Syntax: comments" description: Syntax highlighting for comments @@ -327,7 +414,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-function title: "Syntax: functions" description: Syntax highlighting for functions @@ -335,7 +422,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-keyword title: "Syntax: keywords" description: Syntax highlighting for keywords @@ -343,7 +430,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-important title: "Syntax: important" description: Syntax highlighting for important text @@ -351,7 +438,15 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - + id: code-operator + title: "Syntax: operators" + description: Syntax highlighting for operators + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - id: code-property title: "Syntax: properties" description: Syntax highlighting for properties @@ -359,7 +454,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-punctuation title: "Syntax: punctuation" description: Syntax highlighting for punctuation @@ -367,7 +462,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-string title: "Syntax: strings" description: Syntax highlighting for strings @@ -375,7 +470,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-tag title: "Syntax: tags" description: Syntax highlighting for tags @@ -383,7 +478,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: code-value title: "Syntax: values" description: Syntax highlighting for values @@ -442,21 +537,21 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: graph-node-tag title: Tag node color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: graph-node-attachment title: Attachment node color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: graph-node-unresolved title: Unresolved node color type: variable-themed-color @@ -469,25 +564,25 @@ settings: type: heading level: 2 collapsed: true - - + - id: level-1-headings title: Level 1 Headings type: heading level: 3 collapsed: true - - + - id: h1-font title: H1 font description: Name of the font as it appears on your system type: variable-text default: '' - - + - id: h1-size title: H1 font size description: Accepts any CSS font-size value type: variable-text default: 1.125em - - + - id: h1-weight title: H1 font weight type: variable-number-slider @@ -495,40 +590,40 @@ settings: min: 100 max: 900 step: 100 - - + - id: h1-color title: H1 text color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: h1-variant title: H1 font variant type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Small caps value: small-caps - label: All small caps value: all-small-caps - - + - id: h1-style title: H1 font style type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Italic value: italic - @@ -543,19 +638,19 @@ settings: type: heading level: 3 collapsed: true - - + - id: h2-font title: H2 font description: Name of the font as it appears on your system type: variable-text default: '' - - + - id: h2-size title: H2 font size description: Accepts any CSS font-size value type: variable-text default: 1em - - + - id: h2-weight title: H2 font weight type: variable-number-slider @@ -563,40 +658,40 @@ settings: min: 100 max: 900 step: 100 - - + - id: h2-color title: H2 text color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: h2-variant title: H2 font variant type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Small caps value: small-caps - label: All small caps value: all-small-caps - - + - id: h2-style title: H2 font style type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Italic value: italic - @@ -611,19 +706,19 @@ settings: type: heading level: 3 collapsed: true - - + - id: h3-font title: H3 font description: Name of the font as it appears on your system type: variable-text default: '' - - + - id: h3-size title: H3 font size description: Accepts any CSS font-size value type: variable-text default: 1em - - + - id: h3-weight title: H3 font weight type: variable-number-slider @@ -631,40 +726,40 @@ settings: min: 100 max: 900 step: 100 - - + - id: h3-color title: H3 text color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: h3-variant title: H3 font variant type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Small caps value: small-caps - label: All small caps value: all-small-caps - - + - id: h3-style title: H3 font style type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Italic value: italic - @@ -679,19 +774,19 @@ settings: type: heading level: 3 collapsed: true - - + - id: h4-font title: H4 font description: Name of the font as it appears on your system type: variable-text default: '' - - + - id: h4-size title: H4 font size description: Accepts any CSS font-size value type: variable-text default: 0.9em - - + - id: h4-weight title: H4 font weight type: variable-number-slider @@ -699,40 +794,40 @@ settings: min: 100 max: 900 step: 100 - - + - id: h4-color title: H4 text color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: h4-variant title: H4 font variant type: variable-select allowEmpty: false default: small-caps options: - - + - label: Normal value: normal - - + - label: Small caps value: small-caps - label: All small caps value: all-small-caps - - + - id: h4-style title: H4 font style type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Italic value: italic - @@ -741,25 +836,25 @@ settings: description: Adds a border below the heading type: class-toggle default: false - - + - id: level-5-headings title: Level 5 Headings type: heading level: 3 collapsed: true - - + - id: h5-font title: H5 font description: Name of the font as it appears on your system type: variable-text default: '' - - + - id: h5-size title: H5 font size description: Accepts any CSS font-size value type: variable-text default: 0.85em - - + - id: h5-weight title: H5 font weight type: variable-number-slider @@ -774,33 +869,33 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: h5-variant title: H5 font variant type: variable-select allowEmpty: false default: small-caps options: - - + - label: Normal value: normal - - + - label: Small caps value: small-caps - label: All small caps value: all-small-caps - - + - id: h5-style title: H5 font style type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Italic value: italic - @@ -815,19 +910,19 @@ settings: type: heading level: 3 collapsed: true - - + - id: h6-font title: H6 font description: Name of the font as it appears on your system type: variable-text default: '' - - + - id: h6-size title: H6 font size description: Accepts any CSS font-size value type: variable-text default: 0.85em - - + - id: h6-weight title: H6 font weight type: variable-number-slider @@ -842,33 +937,33 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: h6-variant title: H6 font variant type: variable-select allowEmpty: false default: small-caps options: - - + - label: Normal value: normal - - + - label: Small caps value: small-caps - label: All small caps value: all-small-caps - - + - id: h6-style title: H6 font style type: variable-select allowEmpty: false default: normal options: - - + - label: Normal value: normal - - + - label: Italic value: italic - @@ -883,7 +978,7 @@ settings: type: heading level: 2 collapsed: true - - + - id: icon-muted title: Icon opacity (inactive) type: variable-number-slider @@ -891,7 +986,7 @@ settings: min: 0.25 max: 1 step: 0.05 - - + - id: icon-color title: Icon color type: variable-themed-color @@ -899,7 +994,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: icon-color-hover title: Icon color (hover) type: variable-themed-color @@ -907,7 +1002,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: icon-color-active title: Icon color (active) type: variable-themed-color @@ -915,7 +1010,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: icon-color-focused title: Icon color (focused) type: variable-themed-color @@ -929,7 +1024,7 @@ settings: type: heading level: 2 collapsed: true - - + - id: image-muted title: Image opacity in dark mode description: Level of fading for images in dark mode. Hover over images to display at full brightness. @@ -967,59 +1062,116 @@ settings: max: 10 step: 1 format: px + - + id: indentation-guide-color + title: Indentation guide color + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: indentation-guide-color-active + title: Indentation guide color (active) + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' - id: links title: Links type: heading level: 2 collapsed: true - - - id: ax1 - title: Link color + - + id: links-internal + title: Internal links + type: heading + level: 3 + collapsed: true + - + id: link-color + title: Internal link color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - - id: ax2 - title: Link color (hovering) + - + id: link-color-hover + title: Internal link color (hover) type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - - id: link-weight - title: Link font weight + - + id: link-unresolved-opacity + title: Unresolved link opacity type: variable-number-slider - default: 400 - min: 100 - max: 900 - step: 100 + default: 0.7 + min: 0.25 + max: 1 + step: 0.05 + - + id: link-unresolved-color + title: Unresolved link color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-unresolved-decoration-color + title: Unresolved link underline color + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: links-external + title: External links + type: heading + level: 3 + collapsed: true + - + id: link-external-color + title: External link color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-external-color-hover + title: External link color (hover) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' - id: lists title: Lists and tasks type: heading level: 2 collapsed: true - - - id: ax3 + - + id: checkbox-color title: Checkbox color description: Background color for completed tasks type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: checkbox-shape title: Checkbox shape type: class-select allowEmpty: false default: checkbox-circle options: - - + - label: Circle value: checkbox-circle - - + - label: Square value: checkbox-square - @@ -1059,14 +1211,36 @@ settings: title: Disable sidebar relationship lines description: Turns off lines in file navigation type: class-toggle - - + - + id: sidebar-tabs-style + title: Sidebar tab style + type: class-select + allowEmpty: false + default: sidebar-tabs-default + options: + - + label: Index round + value: sidebar-tabs-index + - + label: Index square + value: sidebar-tabs-square + - + label: Modern compact + value: sidebar-tabs-default + - + label: Modern wide + value: sidebar-tabs-wide + - + label: Underline + value: sidebar-tabs-underline + - id: mobile-left-sidebar-width title: Mobile left sidebar width description: Maximum width for pinned left sidebar on mobile type: variable-number default: 280 format: pt - - + - id: mobile-right-sidebar-width title: Mobile right sidebar width description: Maximum width for pinned right sidebar on mobile @@ -1093,7 +1267,7 @@ settings: allowEmpty: false default: maximize-tables options: - - + - label: Always value: maximize-tables - @@ -1156,7 +1330,7 @@ settings: description: Highlight rows on hover type: class-toggle default: false - - + - id: table-row-background-hover title: Active row background description: Background color for hovered tables rows @@ -1171,41 +1345,60 @@ settings: type: heading level: 2 collapsed: true - - + - id: header-height title: Tab bar height type: variable-text default: 40px - - + - id: tabs-style title: Tab style type: class-select allowEmpty: false default: tabs-default options: - - - label: Default + - + label: Index round value: tabs-default - - label: Square + label: Index square value: tabs-square + - + label: Modern + value: tabs-modern - label: Underline value: tabs-underline + - + id: minimal-tab-text-color + title: Tab text color + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: minimal-tab-text-color-active + title: Tab text color (active) + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' - id: tab-stacks title: Tab stacks type: heading level: 2 collapsed: true - - + - id: tab-stacked-pane-width title: Stacked width type: variable-number description: Width of a stacked tab in pixels default: 700 format: px - - + - id: tab-stacked-header-width title: Spine width type: variable-number @@ -1218,18 +1411,24 @@ settings: type: class-select default: tab-stack-top options: - - - label: Top aligned + - + label: Top value: tab-stack-top - - - label: Top aligned flipped + - + label: Top flipped value: tab-stack-top-flipped - - - label: Bottom aligned + - + label: Bottom value: tab-stack-bottom - - - label: Bottom aligned flipped + - + label: Bottom flipped value: tab-stack-bottom-flipped + - + label: Center + value: tab-stack-center + - + label: Center flipped + value: tab-stack-center-flipped - id: tags title: Tags @@ -1248,13 +1447,13 @@ settings: type: variable-select default: 14px options: - - + - label: Pill value: 14px - - + - label: Rounded value: 4px - - + - label: Square value: 0px - @@ -1263,16 +1462,16 @@ settings: type: variable-select default: 1px options: - - + - label: None value: 0 - - + - label: Thin value: 1px - - + - label: Thick value: 2px - - + - id: tag-color title: Tag text color type: variable-themed-color @@ -1280,16 +1479,16 @@ settings: format: hex default-light: '#' default-dark: '#' - - - id: tag-bg + - + id: tag-background title: Tag background color type: variable-themed-color opacity: true format: hex default-light: '#' default-dark: '#' - - - id: tag-bg2 + - + id: tag-background-hover title: Tag background color (hover) type: variable-themed-color opacity: true @@ -1302,7 +1501,7 @@ settings: type: heading level: 2 collapsed: true - - + - id: tx1 title: Normal text color type: variable-themed-color @@ -1311,7 +1510,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: hl1 title: Selected text background type: variable-themed-color @@ -1319,7 +1518,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: hl2 title: Highlighted text background type: variable-themed-color @@ -1327,7 +1526,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: tx2 title: Muted text color description: Secondary text such as sidebar note titles and table headings @@ -1336,7 +1535,7 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: tx3 title: Faint text color description: tertiary text such as input placeholders, empty checkboxes, and disabled statuses @@ -1345,21 +1544,21 @@ settings: format: hex default-light: '#' default-dark: '#' - - + - id: italic-color title: Italic text color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: bold-color title: Bold text color type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: bold-weight title: Bold text weight type: variable-number-slider @@ -1367,7 +1566,7 @@ settings: min: 100 max: 900 step: 100 - - + - id: spacing-p title: Paragraph spacing description: Space between paragraphs in reading mode @@ -1391,24 +1590,24 @@ settings: title: Tab title visibility description: Visibility of the tab title text type: class-select - default: minimal-tab-title-visible + default: minimal-tab-title-hover options: - - - label: Visible - value: minimal-tab-title-visible - - - label: Hidden - value: minimal-tab-title-hidden - - + - label: Hover only value: minimal-tab-title-hover - - + - + label: Hidden + value: minimal-tab-title-hidden + - + label: Visible + value: minimal-tab-title-visible + - id: file-header-font-size title: Tab title font size description: Accepts any CSS font-size value type: variable-text default: 0.9em - - + - id: file-header-font-weight title: Tab title font weight type: variable-number-slider @@ -1422,20 +1621,20 @@ settings: type: variable-select default: center options: - - + - label: Center value: center - - + - label: Left value: left - - + - id: title-color title: Tab title text color (active) type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: title-color-inactive title: Tab title color (inactive) type: variable-themed-color @@ -1449,19 +1648,19 @@ settings: type: heading level: 3 collapsed: true - - + - id: inline-title-font title: Inline title font description: Name of the font as it appears on your system type: variable-text default: '' - - + - id: inline-title-size title: Inline title font size description: Accepts any CSS font-size value type: variable-text default: 1.125em - - + - id: inline-title-weight title: Inline title font weight type: variable-number-slider @@ -1469,7 +1668,7 @@ settings: min: 100 max: 900 step: 100 - - + - id: inline-title-color title: Inline title text color (active) type: variable-themed-color @@ -1498,21 +1697,29 @@ settings: collapsed: true - id: window-title-off - title: Hide window title + title: Hide window frame title description: Hide title in the custom title bar type: class-toggle - - + - id: frame-background - title: Window frame background + title: Frame background description: Requires colorful window frame type: variable-themed-color opacity: true format: hsl-split default-light: '#' default-dark: '#' + - + id: frame-icon-color + title: Frame icon color + description: Requires colorful frame + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' - id: titlebar-text-color-focused - title: Window title color (focused) + title: Frame title color (focused) description: Requires custom title bar type: variable-themed-color format: hex @@ -1520,15 +1727,15 @@ settings: default-dark: '#' - id: titlebar-text-color - title: Window title color (inactive) + title: Frame title color (inactive) description: Requires custom title bar type: variable-themed-color format: hex default-light: '#' default-dark: '#' - - + - id: titlebar-text-weight - title: Window title font weight + title: Frame title font weight description: Requires custom title bar type: variable-number-slider default: 600 @@ -1541,38 +1748,38 @@ settings: name: Minimal Cards id: minimal-cards-style settings: - - + - id: cards-min-width title: Card minimum width type: variable-text default: 180px - - + - id: cards-max-width title: Card maximum width description: Default fills the available width, accepts valid CSS units type: variable-text default: 1fr - - + - id: cards-mobile-width title: Card minimum width on mobile type: variable-text default: 120px - - + - id: cards-padding title: Card padding type: variable-text default: 1.2em - - + - id: cards-image-height title: Card maximum image height type: variable-text default: 400px - - + - id: cards-border-width title: Card border width type: variable-text default: 1px - - + - id: cards-background title: Card background color type: variable-themed-color @@ -1609,30 +1816,30 @@ settings: type: variable-select default: default options: - - + - label: Default value: default - - + - label: Pointer value: pointer - - + - label: Crosshair value: crosshair - - + - id: font-ui-small title: Small font size description: Font size in px of smaller text type: variable-number default: 13 format: px - - + - id: font-ui-smaller title: Smaller font size description: Font size in px of smallest text type: variable-number default: 11 format: px - - + - id: folding-offset title: Folding offset description: Width of the left margin used for folding indicators diff --git a/.obsidian/themes/Primary/manifest.json b/.obsidian/themes/Primary/manifest.json new file mode 100644 index 00000000..cb8604cf --- /dev/null +++ b/.obsidian/themes/Primary/manifest.json @@ -0,0 +1,6 @@ +{ + "name": "Primary", + "version": "0.0.0", + "minAppVersion": "0.16.0", + "author": "Cecilia May" +} \ No newline at end of file diff --git a/.obsidian/themes/Primary/theme.css b/.obsidian/themes/Primary/theme.css new file mode 100644 index 00000000..9bc0816b --- /dev/null +++ b/.obsidian/themes/Primary/theme.css @@ -0,0 +1,11061 @@ +@charset "UTF-8"; +/* + +✦ P R I M A R Y ✦ + +an Obsidian Theme by Cecilia May + +──────────────────────────────────── + +A combination of Bauhaus, Scandinavian +and yellowing magazine pages as palette +inspiration—Primary is a theme for people +looking for a certain nostalgic warmness. + +It is toppled with functional pop +of red blue yellow colors. +The perfect mix of loud and reserved. + +Playful, reminiscing, productive. + +──────────────────────────────────── + +Support my Work ++ Premium Palettes (soon™) ++ Guides (soon™): https://ko-fi.com/ceciliamay + +Primary Roadmap: https://tinyurl.com/primary-board + +Forum Thread: https://forum.obsidian.md/t/primary-theme/26687 + +README: https://github.com/ceciliamay/obsidianmd-theme-primary + +License: GNU General Public License v3.0 + +Icons: Flaticon UIcons Rounded Regular + +────────────────────────────────────*/ +/* + +TABLE OF CONTENTS + + * General (Containers, Paddings, etc.) -> + * Specific (Icons, Colors, etc.) -> + * Light Theme Specific (Base then Style Settings, etc.) -> + * Dark Theme Specific (Base then Style Settings, etc.) + +Fonts + Karla (sans-serif #1) + Inter (sans-serif #2) + Lora (sans-serif) + Cascadia Code (monospace) + +Variables + Font Families + Font Weight + Typographic Scale + Tracking (Letter Spacing) + Layout Sizing + Multiples of 2 + Multiples of 8 + Duration, Transitions & Animations + Theme Colors + Light Theme + Dark Theme + +Workspace + Title Bar + Side Dock Ribbon + Tab Header + Nav Header + Tab Content + File Explorer + Status Bar + +Content / Active Note + Note Header + Typography + Base & Reset + Note Colors + Note Markdown + Headings + Emphasis + Bold + Italic + Strikethrough + Highlight + Comments + Mixed Emphasis + Markdown Formatting + Links + Blockquotes + Tags/Tag Pill + Lists + Checkboxes + Inline Code/Codeblocks + Aside/Sidenotes + Gutter Line Numbers + Horizontal Rule + Embeds + Images + Markdown Embed + Live Preview Embed + Mermaid JS (Diagram Generator) + Markdown Table + YAML/Metadata + Slides + Publish + +Other Components + Modals + Modal Close + Settings Modal + Command, Quick Switcher etc. Modals + Menu/More Options Modal + Community Plugin Search Modal + File Explorer Search Modal + Buttons + Search Input Component + Toggle (Checkboxes in Modals) + Slider + Dropdown + Empty Page + Notification + Popover + Resize Handles + Vertical Handles + Horizontal Handles + Scrollbar + Tooltips + Vault Launch Progress + +Mobile + +Core Plugins (other than Workspace Tab Plugins) + Graph View + Graph View Nodes + Graph View Controls + +Community Plugins + Calendar by Liam Cain + Sliding Pane (Andy's Mode) by death_au + Dataview by Michael Brenan + +Custom Icons + +*/ +/*──────────────────────────────────── +++++++++++++Fonts (base64)++++++++++++ +────────────────────────────────────*/ +/*──────────Karla Regular──────────*/ +@font-face { + font-family: "Karla"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"), url("data:font/woff;charset=utf-8;base64,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") format("woff"); + font-style: normal; + font-display: swap; +} +/*──────────Karla Italic──────────*/ +@font-face { + font-family: "Karla"; + src: url("data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAEjYABAAAAAAnUwAAEh3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGjYbtCAckkQGYACINhEICoGxcIGXDwuGfgABNgIkA414BCAFix0HlFkMBxtRizfCdru3ouC2AQCf2tUd51Yw3dyhwHkAlej2spEIc8qIIfv//89NKjJmGyBpt8EABK/Kf0dAI1REZqmlsllluJgXK25JWl+tWc5utaiUl9jQtuw1aUcvzYqLmmmrwmIht4xD2RfHR55Msa3cr9mThz3TCq3kLpfGCCEVSKJLguTQnwZf4pu2uJjcp8BT9JdRRUhfSEISkpO4R7rcWWCMck/6fIMX/FYNlX8BOo3Tu+scUgnEg7ATRReQ3RL97b7BtdmzDb+6EO1XU4kZff6usu1Xtzr4F3+Ga4xm6wz+4U7i8nD3GBs8A9tG/iQnL/Tx79Sfs3slAylATtoqLsEDZPxCIiesH3i39T64m5hnOBrbFqUtbem5jmyZeTaW4sKNiiMcGSjODAnnwIn6McSFiKNtNOTKHOuQiqa2aEq8tAbvvCR3nx1ylakEdkQKUUhRoWkX+mr4rXtm3+wRYnnqlCUKGX3K5VEKJ5EW+3eI5ux/KGSTzSZYSCmF4oFCsRIgSJEkxJyYQAIhhABJkGAaNEgFKFKBilKVq5zbk7Oetq9n/v+hCic2MI4cSC5es6XWdoxAKxliUlp73b3i83PaH7NdfTtX63ZxSqkFEe3gQ0zb5lPBzXBztZjJhH+oe/ZnX7XaTAIllBZZos0EBRpLlMCX9L+rfPstlEjLlCZW/XVoX327nTSk/eH66QbA1aXHMd/t12fCpVqEQv4WzASodKYDbUyKKQQ6Om68EvLnd9Lf3f/PR6NoFI2iURRFURRFURRFURRFURSNRqPRaDQajUZRtPty64NrVZoMf8VGsp9vKtVdgc5MGEkYlUCvzRXefddhReVmGsiqzO/+3/fZ70+j0Wi04zt+6dKlKIqiKIqiKIqiKIqiKIqiKIqiKNq/ACLAOfUKC0h99rt70j+PoiiKoiiKbn7zA755FEVRFEXRoyiKoiiKoiiKvhucexRN0RRFUzRMDvdFxBoCYMp2f4eDb1+c85i0rNzJ2DsQprQtI9byKHOuN2g89Jfblx2etsQe4xdhLlVD0p6fK23miFPiFHfdXZVFX6N+crTvfgk2JUyKuSstlFgYZKHqKCVOEcARSGBLirQkW9VaU1kjq0zh6ztR0/l2KzcY5pIloc6r3FKo5hUtMdbKpWL9MRulajw8kCxDLqcUbbqw5+ATmo/SUfBC+XxL0xemudH4ZHel3r2gtmkVkLPTWQgOQLt/ZutodFX3vJLWReemJ1e5p247Z6XUgkpnrXVkFhRWWWkwxmmEhgUG4lADivK/05Ra/tK7odvKWk7nJlwtQx7/LlHsn7Wc6aQzm3Us6LKDBwsLYOmaqAWkgJQAXhN/6nOSRwdkWKFqYswyqr/emr4bFX5fBBdgp8c1LIMMQUREUhEJQcT2X+cwOmOD9J2QPPyl18+LUB21jDRXtFkEHxkBfbzj/ZuTtQD45KCLNwH49MnK8xCgDMwDGBHSThDt0gasbGWCKNEkMEq2E4QAGCCgyLoiYVd+0RxC77OjCrH2K6oFdlIDyDIOCHMpfa93SkDvG6oBw6+DvgJWyy2LRZVz8zuBiDLtjK1FgCGPmEMNkCtRB9T1EhokkO5ngIf6B0iNx6WcXFM4oaLpQ8FnP1AD2lSWt+2vvXWkzha5wotVeVVRtdVaPdVfY/WqvrYadnmvbULbtku7djha7lB+rQqTKkqquKe4KWkapE1Gn5Qfo4UilYdgQJ9lV3KoszDqYBFbwZF4NZCRXEi9jKnpNm0SOuhhMMPIECW/aoXGmEUJFRdPE1et4Qh/heWh9JbzQ0rE7wJRbZVhNWfkAatI2HnBUZ1bCd6SJNskFV1WCBVMcvJWFI0yJ9Q1EG3WSlcefZUMLd6BSPVJbrYoJ7eEPiZgg0Ncs86rmizHlNdP0RQlx2cpGV3g0Ie+yq3U3ZTIKUU2Gy+5KWlV4a/K5QpRyJ0RG6sUbIADrs4rHImSFJChAnIooDRXJaYuiaYGWnHXVUJfHsN28gD5uVJYjRuxWsJ/gRHqL3ynwIY0sA8ydyEIKbkMO7FU4vWUkJQVx6bBzhC9KDW/WaNZAz/cBvnjBhIuSQ8lAgkXvnxR9smI+cWhD308hUeJKOFP0WTGIzTHX0ataLEWrxFQE5BCUjkPV1l8RB9cXAB5yauhkJK1oYRzZOm8ZgnYgBRC3Oa3j5LCZCghQ0FlSI/YWyb8RpCuBsywn1RvkvUvyx9ZrgAU+dAKFYMxsOBx8AUTEgkjYbCZ3+Gd0Hz8D5+xVt79AwKDgkMIDSM8gsio6JhY4uJJSISk5JTUNEjPgMw0yT8JLDxcQGAIFBY4IkhU+MDwReGHCUeDxgSLC54QIikAmUKlhc4IkxU2h8sgVNb4x9HRD8AAZASNCTwIdDD4EMih0BgsbnjCiKSRKWNmGSsbOwfnuLjHQx2Nd5T2K+CZD/ikDl+M4Zu9q7d/AFxc3QRCkVgilckVSpVao9XpDUaT2QJWm93htOkooObz/GKJVCZXKFVCOsrVJv5t1BqtTm8wmgSzxWqzO5wut8froIDLUW8vcBA6ipwmlkhlcoVSpdZodXqD0WS2OLvM1c3dw9PL28dq8/WfwkrP+vSrXrdxy/Zde/ffpSvdCgqLiktKy8orKquqa2rr6hsam5pbWtvaOzrbLPJora+XouKUlJaVV1RWFWWn6tZNr+3X1NalviGNTSk0p6U1be3p6ExXd3p607fjKE32+kBDsDHUFI5EY/FEMpXOZHP5woqllStrbllr29o71tm17p5Va71VbHjsbM++6XMXr1y/dff+W7ZuG2BwiOERRscYn2ByiukZZueYX2BxCZZXYHUN1jdgc032/xq8F+8Ad2g4I6MZG5+YnBrGzbSdl92a6ZnMzmV+IYtLGSxnZTVr69nYzNZ2dnazd+NB+X/n513SyUHS4DCZx1GyJMdIpxhOkBTNsBwviJKsmC1Wm93hdLk9vWr9VS+/bvcM3A19cM/kwr1SCfdOK9wH/d1ydVvgYORw4mjmeOFkBeB00zrXuzDi0owrK67tuHG6z/++Awu+O/6xyT5Po00DkIUuJYh6AOQ56EGs6JZ3EbW2xVx0sxgy20xgaewzyKQJhLtaOuTbfIKpDa2tIbAxbDDJEj0c7jOstewZftwUZncZOnGD0LI2tJRVmiY9JMi0NCJRmY5PoXPWROU3mApKzOU8UQeDp97XojTn2Qjd++HeRDx4HY+0GcGeKwnZY8lV/xC6zVv6TMU/CtsVcslkvJBGhxybV2Acurl0y4VJdNBmZiLOa/k1165RFPerB7F3VKcfOXdDlhOkB6X86FG2i/ZC8M+LtbMQnhkjn0Av2oCex+BQcEhKUVQKHvrQIgOz73+6PhWtem49/FyzqwfzKorf7oRee82p9gk3gKqZgRsqmWnUPBJ0c/hIPHNupxObi6kaJ9xCqmgGCGXONKge/kj8CTeVKpkBoOyZBrXDX9h74/iRmJ/6MeE2U69ngNDETKMvIwGfht8x8MixGuEmVLMzQOj1TKNfw6/sjKIORQ9RESo4XIfIaUExYaOoMAAzT9zYTZOjrWdrvjHzDunQO7dqhSXAyTBGyg7R3lv6i0soJi2AFcZs3LBtqa6FaAAVHS6h0LSgpLABM4yetRQvxBmg8sMlxE4L4oZBQsYU3Mw84peqGEuDKf/gRqKahhcHtMR2FmFvlvC9Ei0mEsKd4vF9UC6zQs9fRpbTUml/fixeAKNQvtRWLModS2UbnFJUzaBx4Bx6b1XfrJkbQtyRIcdUnswMz5AQJHYV8VN9Q0IYOnfYAja6e/GMtlRgsRFE4apeY+r6WM4nQQlOv70NQmWEHgd1g3YWZNk1WC3LiXEXD80MPnRH0XZdltf7SOXEyxL11Ow4MtS73Zy7dO27zedrx/ym3P8a2WtoVs6XcS2/Zl8ystTLklSu4trX6DteowK08KivSj6W81VFBGdF9W0exlFKitnfA5vmE4mmxywYr+aj8SlswKY5CE9lX6tGSl6+I1xvYTSZkdxOlJVID65TawAKJtOVyny/8OvVAqn0L/RnOV1qYbVnseoup96N5ZIQWcHNmJFraszFEZonCOLXQU2KOxtlZxtqLlljNhW/04KazK1Vl9btsUcuGD7bxvPwNL6HkaNvUJe3h04JHNwCh48hb7zw438Xcr9dgw6/lttlc6cGLocm/MqXhsjs92aAyxrq3DqAgrPFYewR5RPeWFgGnNgwr7MqnXpWb8tCYjje3BmAiUBSArAKg62qr8UctUfPVc8hj7OYz1Ms0P15LTRoVJFxi6iWHCSx5jilky7Qu+S6Gjc9o959b3J5O8MDf9CDIOtoyAY3MyB77RkU0aO80HEdGVda18ekCvuYUvtS/gfz8+wtoAbi3JWFrEnWJ5uSrcmOZHeyLzmYHLnP8RBObZwNw+KVt4ZT8vgBgl90giI976drAxXTwh7WdFvY4z3CrTTKEBUPobPjbMsFht3Nx4iZAUORhD7jH0OmeftN851AtPgxEWRNTdivKYjWiTWpkiXJ8mRVsjbZkGxOtiU7kz3J/uRQcjQ58V94etv9TLO8OM98ElfFPgrv58llrjH9rfXZxABFdEvyi4cLJCd+vDJ1K623hRlzB9ly4MjFeYjNV7PMs4Ak2ry4OmxpttDl1mUqyVaVfzYb+Wri+LIUEz0c1KWii8Qq9HqslIEFAYvr6p/SxzuHotKL9mtDdHdvLCv/njiBMhWq1Ejg6NJBGz8eEmCSggit2BQ9ntCExgpvSwTYv9wfjn1er+TmfczXRM2+yrdFrb7bG/cbF6aiwgWJ6YTkTkj+hBROSHFepe2z5BMaalA/Y1GM6M+FjED/0kUZkr6yORTsrxpZiByiRbSC1lKUCl9E9E1LpNCzn7IE7u4/eVBID/KEDdn/S24IQ8jFIxMHc1nFrxEqvVYmAJfCQ1n/Qku0SAs0R2Ma0Tyt0U7aTSu0TKsft4cRc1aInJxF4isEDV0Ktjxlk/vdtevhPk8ZQc5bvvoTDWShyPoXYHcEXnsfs4KS4KbkJ3ufV810HWbMVrK1zIRtYduZObNi51kk45RyRAQu6OqVYEzSjNUsEJc/Y5ZysHdkiNrOrwAMV3LIdWus1dUib5hPgJikEJBCYpJqmje9Zrt1lpruBk3c6CZ5ciwxWa7FFkjHGoknb+20xMLYqoSaiUFywFudBFYm3hjyUsayMKzkL9rUODgh1mMUFENeEbA0LegjpwM9CGvSSng7bVZaZbV1drBm56iTlVyv+ObJqPK0RxvRQRYgC5EQQ42RLqNrJZhsing9vPl0r5sh2xtyzDLbXPPMt8Ci7ulLLLXcCrlWWd2Fz65Ong02yrfJmzYrtNU22xXZCcKFdKhbz8xBDlyQBKJhUldH1JFabqirspDvQ3SWLbm+L2GQglK+H+GQORJ8f0mQmZL8AN0h0ap+oB6Q9SL8ID0hWfJ9il6QZXKrwXrP9H7aLSNeE632kUgIey1cx7G5b8U3aIehjw4Hw3HnCCZrbdbFpkWMn7TZJd8WVAmqWAZCGERa9sdexHIEQaxzZZwbjg93fKNOR25ECxMeku566KmX3vEdWWSVrTaba5Z8G8yw/M2O1GGlLQrMMVPUelmW1S0eBbngbeUwDDlrPBI8aXeLdTfLWiy3yuW3+a2K6NolVzq+Hb+FRbHMNMcyK60XVWCLHSDE2c5IH0HlgXXSdTtjKrtmkuOnWshJoQHMFHwCcRtLu/i1rGrl7BBeDzEePuT1AK8HeO67pDYX3ghRz73t9QBvBHjVKUJMQbfT4LZtNvPMtmmos62Yi6J8dBpGpyBEmBPr3bT7i76l8AwYMmJs2Qzrbj25omT2spTfLfkeXFs/iTaTyER8aTWXyEIdovaFnjeyzk8HqUSY1UHAShBcHYsFvx74c3msfA/vt8Nqb3QquGrBSGluumSAfBWz6hq4CIA/tpSA8AD8nVgmPjankHq8dTVbDHC8OBpAhWOjiSzRyDU/1rRp6h4P+m+I5/TWz1jZZVR7SlR3arTVsFrY+VjdNmlO17SoJY/OLXI/kZrW04lpI52Wzp8uma5Mmkg7GfOrfV6wun/b202rs/re6oeNjka9MbExu7H6rem2+uGlEczcrv5hUyXRQfRd7no3SXC3Fv6tg45e1NfAjuKPfrsGGzzG6vSuJ449S7q0O+1LU7rEHs2kj7Hcau4WYsnp/6/nvma93rrrqrOO2mrpZk2hNVZfXTVVxWmRn0Zp8NguB1mGyJ9rufG8/8IU+o1+b6qkogorKK/0SEX9h7eJVxP3J+5MOH2rNi3q2dlUq6JQKEHsInorZuLnfX+8zILUI4pANrkT4j2yfh8qN855YLfUZCsF0WLstL0SJCJJkmy7FKl2SJMuQ6YsO2Ujy5Er73eSkIKdc5FdipUoVYaKhq4cAxMLGwcXD5+AkIiYhJRMBTkFJRU1DS0dPQPjVMuVGxLgNElSpOHIVaxCOa4qlarV4qlTrwGqEV8TAaFmLdq06iQi1pUzhPLkxTfnuKxMMP9QieAXBsnyEwd1Mjw9WWQuG22U/3h1T9u521GjA52HoFxxvXSAfcXmPO4YmHLMCbSBTrp4ypM60x4mPVqhq6Fe9JKJJnkWWv71tBdIcE28dKlYMrBdlyUbcIlCRQq80lZ3EJJtbteUqOzUTAIIyrYagJ4AwI8GtCjQ+gUgvQ6UUyCfAkAAAMA+nHYnwlHWTmLKU0VAjXmCY3Z8Rcz6IorYj8ll1siy9AUxLsPNLrwHbhBjoTIHNjUuzpCcfgqCpHRp9n0b1krOnPxjBqWm6egf9T4sQgwkRlCiGoQzw/PjfeuiQvZYSzlMVlKHSoY0ChKXUEyqoYd1VBX2SGiZf+pVfKoIxBcreVbDCQ6ogrAyw0HECfKdHKW07CV3bf1m6vapv4uVhYX5xsjMAIQ1Py6/XYxLVaYbUdi02zNmXNDjTbpgjEkgB5d7a7Wsa13o5M9tQLAQx362fpmU7jYfBJtB2uE11tfnDKQoILrsd2Sty+BXyGMmocBAoJqz/n9ymjtqqRW2RuF29aqXZgpQGWcF5UeKQQ1YI4m87+iVLPKmduxmCAHzJWRGnjOSCHTTtqvJxELSW2pkYrY0Xyz0V38X3Jq2xz2mXNn1ufE+5zI2M9lyW6V8jYla/mKumv8ff4yS8PP/HNvOmjYYuVXTVRfW2P4AjEbXklysgVFEV6RGAgNoy9XCO3u5Rayix5T6zLszEU9yUJMSnMqVKEXxRSXSW45kpp5R+km2lTG1m2WhGrlSIqs3ymDt/yaRwWjhn55wp9hY1Eq85ruRUkolSmkK5iS1kny++uEYz/lV6wCRmvKwMPKtzlxiwF4qNXi4ZmSOT/cHil1TUsv/xEmQKrkxNfiW4qYjp/3BvLOoSUbifRZTKoOuIKvWM2Mh1efKvTF31ResdW1VI/ZZELIm6gqTs0IajMZKpGoMPLVqrGpZj0A1T2PvqcG8hW38sfodm9pq43HNRAmzMDUEjeYI5khwHs1VAO5YkPafaO12W2fYYESildPC760mM6HbLd8my32zi2h2CZF4BFqpFX6QFhiPVR6cBJuYDGcpAqf8zHQsj1xRqtWtuDknI8txB4Hr6ozJb6Gn0lODRsyFI9WZGrMeZUbaHvllTZQnNXIyoGnWNmV8OQOrmZCnqITa3NcsF6rdyKkv0MvZvmdZ2UC5+kGH+7cHhKjiuLq5rAI0yW08ReAbAE1d4f7EQi1GkNXAMhTExOl5KNFKpOk1UhzvE+RQ7j6EC1CllYFqUrUXT4Ci5h9gmWhFFLsBGpsy7pIfwaQlLx3jkjDU/Ye5e2de7mPhwaKW3hADDXq2jxH4GS9PRFv5y+KMh6i5UTv9As4OwTC5AEYENQoMjGW1sjw6VSuOqaneRsBSANenxyEoH766Uq0Yzg/Hvk35fLe8prP0FsK4QN+aIegBb5wbs0UD5EVGJW40BSgcUxa1C2NxlqwK8qaFa2nXR5X3ToVfAEeGcWgEB4cgHBD+QLpbHrIZF4K/BkkjCCKkcgXLxGiARaRHsBsKA5KvIcMB9bJ3+fRUAfug9WVaXMBLopTOmHUDRWDQo9BCCn9YT9KLGAQIp6hfzutWOsHDSnoR98CrUnnM57vXWyLqtcQpqdwh3YP2zMXe0uE99inaDgxjlEXb6Yn89fnK2CEkiMAEqsDNjeUP0vL2DzekKuh5Ogy04Z7XRueBCfHHK9LKPTqD1eAOX+jL2HAgR/mCNOGaasyhjaj9gVFLRM9vWzUX+H0yNrMhuRCbJRwYQhhSvwuptkhIV+wNZxzJ0iNxQ6AnSSKitZ28ObiLqa4pJyreiFjapHLLTmnpYWIkx/vF/PJ0mGkRz8p/NFuOYpQtor7Vo4zNwa4Ejyz8qL0BeLSX83cD4zmN7gFB1lkvUbBXfvLAwwvkeRuNETDLg7K97u9Cj/e8pRDzJRwIoDCQb9lGspUrEYDcp0JesNimWUFTGY5zopMUYx16q7Hr2rdZew+N4ZjL/zzV3vQ7Jr2417h+ZmfJDL7lQad7NvAUP1YCUI+1QhJYcWwl2xUTd3TDFMkFUgJQwtIoYNuQKmiQIKtsStgL3Sbw2ywqlmOS7cMi/tzC0u3lfUyGbbc8IA/QNLdC7gQmR57zdEnp8mbG+d8zdE2m60I17j9CzZkayNZNSk1tYKwqbkwaPXJf8W0X9PpMRnVlUOoeIQ8FcPX5NUIRcZZagzZlZpw5D82S9LgRy02zlLnoXbC7L6F3W2fdkr8fLg5uEb4GTzZ2b4JVyQk5gJIcyAUUIppfckurrLYOcn3EqA5dHTvXzvDbbAuZJySiLUf1QZmKCxUbpEwHpZV1t1XgcskVahJiXVEo3oK7JhK1/rOEwcQBQUFCJds5Nib/k7PZ+DHFtp1drqGUYS01I/MG/aQkS1o1P9d+1LDJnvAO2Oc0vbOfHG/ZY99AFPC3+l6FxpxQZkqxhuRlWEkKel60gx/P3A01Sc6YCGSGYrvmJXSnceLcB3x7QIqUuZB0UXX609fYWLaef6kqi+oL77yxdWv6ODCqJEOXAGrKMO3MZ3CBKqYqYBw70BVChC7eGI8nhwArz0gvTkvpW9KL89ZjymSUlgPimPjEIcs8N5mk63PrBBfoCIf1W1NffN2QWF8BspGvexFe2YlYwlmaELTx8LddNAzcizHnTK9IHEMyZRUNI7d2ha8hn20yFDU6fV3JWfkJ1r2uDtCCnV2BiOyFv05/LxX3cmB9LgRdzsSWCWLBaH/If1uxKqUQB/QfGazUbn1JiQRqoxFAyD83z2LRsm3d6TZ3XLaVeMSq7G5KVb/RBRmpvMlGYA5nrkYzw5ylNi4DeWoH5dLeX7hcVP15NyHbn1JGhl82XwvVlnEyHrQL0l0uJ/PUPy9RILltyhCklrcOSX3+3LsIYrB86rzBaGZczcjRpWOT1+1qwhnnKTq+nD+CQ4PQk+uGEaeAY6Sr8DvOb9B0GmEZ/vpz9XlPzsnpablHb5rzQLTbn5scYGOWMfC0Vh1/svAt03uer2KzxSPoIQGFQvurdwY6wwuDIlFw/9mkSatS2YKJCUe6wIlP6Rm5d9anymX8ppBFAO5dDGc8oadKWmdNFSOXpEF/N2zIx2J5FqPvtl0gHa4ysFAB3tmh6RA1ApJsW++/1d8uyHoSU/6cvNGXCa4cgE+ATxtqkWMTDXWyeZ0d2Bn96IOjjp8AVCt2R10A6kLL9/nXTJ7Lucp6vuIz7eDp8Uf+V34/MNtLOXem7fQbe7Apm7M1ts722D474gIeGQPoI3sgWQWdMzOXXlRcRs/KyqUJBWVUELW2n3h1T/HV7nyA38Vk4iWC/RLdfIVgu0ImjCQhTBhyXJs6rq0wLmW/tstIIP64iJz+MLo5DDy9jF+zwUeMquNYzzjc0tXegKS/3zKVM+nDDSIjz188j8PvbcLPL+CWTkGjkxDXaFTgks+0p7emdS0hfRiZZfFyzSAGfyhypxvb04Hhobj8Gm7kb/rzCWPVsLsOxUeVUyW8KBD1LNB1z+EncZMLM7riyjJyD0aP0fN6HdRsWx5bhdFhdPkVednsiv2EVaHr+/I+f8yhBDw+kNwSNYP3GRZn9JqOmZ5lbX5GZMuxi1gdVCOHzKkgRt/iAhVQE/vuVpqPwVb8yPV9x7a13yncA0nQssqhdb6j2idgDKIlcOPy2XWuP5Epa3k7K0xflNXT+RlXzeD80Lgjjc/DKUfCpkdXXDvoYU8YtP9qZO/obROaQ+WsknTWZKivEa2DTWPjjzj69FpFhkqCYqmN4soGB4ojJ1X9DDCP5ohX9xZfBRtQ54ySJtehX40onBcZSUO5ftO6HCJby1BwTjJ+YfOX/0EB41OjaB+/iSOIF7/aSlbPT5zb/OVOqE++GgxCH2E4govnXxTl2i/a/f/p/M+9IMb+vmj6vFzQ+TqIfvQeK/mYCxluJh3zkXbHDhj70FygEXG+H9rJ4zzJWB8RziwsSjUK5cDth/c+xntBfkhGDk0opJZlpHdTS+lUoJwlPceeIX3JBiHE4avTkriwD0MHR2PfnR4Zvj4tjSV8QHgxHvfedMv03Bl0+E/hP/ZAu30bEDP+fduLBlsTv3WhLd9OQuXZH1kS7uOXvE2ZgPCqdgaZjQ66DtfzZ7uN0vivzCqS2QNpsEZHu902YyFULQfVN89fF7Y1rBlk67AtcO7Apb7cp9XqJL0VEIjyRbKrpmABNu+B5LSWniJZ5z4vbDZmmVsLLAP4blX/IRemCqNt6HQpfcKY2j2kja/n55uOq5T7MWa4yjVpIVnjWpew7dj65iP3dcATkclG2lMTpAMBj8of4r0PI7f5nThMUYI/iPbjFZojWI8Pbhxy2zyLh5EObPOgZyzLbm7GTz+m2q6a4OTrD64EX0A6Wu4/EwQiwkevH5FFBV0gvOVL//TgbM2snL8APBZQarlN03z5kpmJ/ncYo35hrkxUs2ARnoddiNt59orJMlu7ewh2Yd0dgzV0J5XdiGLAro4hQN4+JNXh5zfhZ5M+V4EE4vB9nfkQXIPtOLjSEhphlBW0oUUYk3PffflQ2zmtdgU2Y6rH19vD/t1Kbp1C2mFzx753Knqn505bIRmqTKhibnsgc+L2DqKlcP2R1pdZtZsWWmE9xjDa6uF35ghUchSNI2TEgL+IzvVq6Xmscx/G2eStO3Bix5a/kjaVhxPtFt80U16zYBGcx7qwbueZy0bnwO392oiQO4TXu9LfXjPspjVVPbYZTsvcICcho/meN5veWMrbxdiZmUcTFlOpteZMMr2oqHjW5s4cuqCYRgXX6dLCoEl+wV8Z+YUqiAYx9L5Nb1ObUOSX9VsQZDz0SNrSVz6et7bjX0XGQKNTinilmWgpMiYFV0WS9pT5f69Y25DXkTFwjopWYzTp9QoBPaVKVJTOJgUoag1We6eFIF0In33/8pn2VSVnL6RFielNZpHxXU5+ohBioAVmZXYWXSD8v5056dQdWdRSUORXdz8r8tV/nU8KOht8eTbzyUfbaBv7f6xbv8X7He9DOmXPdkzMcLh8BXsTrTSJ22zScTxy6hJshS2iE509+xgie9M0fnZbZu7HiesUORJb8RJcg1+y//pF+vE9fzhu33P/jfcRXvClZx7/2HmAXaPPVoe8jZGnS0oLB6SVCxgbUqtqBhkxDx83BJc/3kMtvd9bunHT0+sAV9CWx8e7lzTUvRgVxtZx0BFFRyplmR2ocmN2R2XVUkEjfmxLf3sLRo81OF0tW8g7k09srh1xYqoxlY5GOygg7nv+iCI59EHo48Xor3ePXnnpRcPSlbjw5qnxGvXBpoaPA9fxe7O/Hhpq8J5eRfoWkJH+u2/VgND1x8LTT5caI0Juh9w5shVZOs0PshhQD96RXHnY6/kvbgo3Kfz36Z5ecAlteXwjyJuafASLDGOTT6Xhx6p7cJ7De+OTD/2NeP8mU0ApceTV/bVRoQ8CD9t/W6t6vsI+dNtTMDBFJkv7hILqy11d3wQdxk2X/NfXbZf4hLq1gK4o7uhhNh62HqU4mks2deEupPUdmc60hi83JS1Fm0EPPfaRKWlxN2SZMSjGr93tyCw2atqRRhS9xyerjB/VnZgR6njtmSD04WNWLiOT8TBhx8uXr3UzOrtTnp+J2QhaN/2OVFl7Rbe3IiolvZD2jKHy3JDoi/OmMNnpeMjCAhdqHkejPyc9hSzxue3M5Zj17B+h8kxAJU695quKDfuQMLQY99g3NfX6jCWO8AFxeCnm8VTP9OqbIPz38J8Paa0eeA0T/nP47wchm8dPQ9chI+ss0hp09sPX2j9Kny4I+KR5ZBjTiHXXjzV/AiiHhJI2TYaCNTzu99KMKTrs/d/bdCvus/zStEzl6blPs5wi0EGn1rnBgudzwo/f8QcXXwuuxE0du7cnggBf+cXvuUykoPH7voxxuAHrbB72/A0iic6LmsrzmIFxtJLW1J7Hk3bnc/VstEhgkkXflYzkDPiQwcDZf1+/eeb8eZA56a9wmuqbhh1oGaq8XCze9qm6Ob3nIDKAMTcefNYAuqChqia8N5HrbgpYxOfe+Bj2OOBRYrq4LDo7vTzQf3q5j7+wsmC5++2XfQE89HhPYEDS1vWkfbGPbQ+0Ax6vIgFhmx/NmZAH+7YmblmOtTzeh11LDHuQyAEuLzbK2k8S/LR+Jx+0GZ0Xwn/R/wLWM/15X5z8g+qgHv33F37qYAiZylh7bgqFny7Dd6YD4l+GnxuwIBPvYRh17715AFMwR3qO7dODTvzLuLUgmPSrHD9Rg0AD4MQ33Sca/jpRdOyp31PAA1hvBeIF86E01sQUvNMMNoiWfln+EMSGTebOlV2G0p6tHqQd36duqsrXJxRyuatwXX334TzN2vHTIXcKrB0pfsLtWdoVNb2dM8iuGAZnK1uIucpuLsaAYvArQSlRMWCM1mceq8KgpL5cUqZoRik37LOqbvdrcl6s21hraJ4QNohZ/XF76GO9K5VlbqbQizFhrBh12lSVBDwi+p7wKD/F7w9c7f/oToud5cgSytId9dP4QInRyKG3SWQHsC2wI+OwTcXXuOsg0xy6yrJ0WAW+Jrrtt6nu9lblvlh3aqW2Vt0lixeR43wYlLTZ/0CWek6bPZHvLJV60IqQB1u0YH6xpSqbInRI6P0xs6Xj3YfBKDH4SJvoo8D9gcvtn97wNMk8JfyGuOkASSCG4eoEiDXueE2lRuJWESrmNhvrRxaZsTGKJD+kgrinQieXtmqY+4DOoBi2T+JnMSaBp6WAnsBDBKTOCcfWbWPbqQ789AXYfgHlL54MeCQGl58M3hQbxiE5JKlpEoZFpavIKIZOXxbUk9QDCbC1tuUj8qqy+kRXIINd6yhkblvia8qx/MVwqx5jrV89oarJUIbnMm+a9E+0Qk9/E7oGMo6feepY6G46w6hpEGYZigyqhip/pr9o1Pb9b81cssuOosFWS39lVVc/xgpbqkaBEEfbi8LINuyvrarxWnbdQPpzdk6Sd+JHbZOVknYd7wziSXkAwitWd1zekc9NT3u+6MBgYNgqau2OT9YPwP+8avKoeP/Ijh3v8QtbI/LGS5ykQcLYp5XJ2QJNNa4FGmL6ZGZIf8VyHxMEJv/RaSXN+nKcTMDa5ge9z52ptspLINOOAJdQa7c6Mvx0mdnVy3ZL01RbuIPcst5YW+M1F93ADZB3TubsRIZrpi1il7r8GL4l5fVyuo7ZJ4ztC68FC0Jc4rJ+1zvla0YTdBRigb4mhp1ySj4KOhy03vXRM8HNLSfc0jPh8Hf2jtPh7V66H1wdfLLpfnfXvmeCediG5LUaFfC+ixmea0704yRmy2bk0uq1VuXHgcv45YFPbrfVituYsTQKJ55X2iXWHETasK7cA/YKdomzjN+N0QUfgxR5bZYSkH/vfzSSfDlwJnJnisSrV9Yc8Sg+wS8FLvd/fKPVIh/URavSV6qgdQOKhucXEZ7/al9QCd+DlhOe9ZMVNBnyC5gdMtkBxI14ig42isAlAvxgQy6nVXcZJcTNHcTF4+OR/GpTwVm4JWkDDBEpywLhKKQaRVW0GEzGLgWaZhMW08MPFdeQbL2wHi3QupdKa1YOTKMc4zFGqpiu2P4RtYbPpBGPlFrimjywAWIZeo4KwU0iy1aQ3YbWFnh81/G2y1HReb7ovK4ixFYUWNQKsQvYxfHskENwI1oXAf4b4jYmoh7GdhUYfRQZ0qZrN4t7jZJjsH3Hm77KLthtsnnFDtBrtw4ia5vDHm0uifS/tXz+Tdkz9hv+RY/37ZDyTb5w+q1x78o/RwEI7v9GjJ9924q3nm75OGL09Ns2xAbOPKGQEkLw0/PyhKw8Mbew2ZhQGWy+tXrzN8JvM4afdySatCNNDGCCe4tu/onv3Y/vJd/8Ee4FHMLkkifvLZw36CpGHs6Ki8bPRyckMDGKoMs4r+Hti+2TyNhQz4ngtZplXUn91fDhlAasLuh64CH9iWFQ+BOW+YZPVLCNYMk0cBJ3eELUhmMQIVnORjBIXIFYgOs29zXjx7r2GuknmojbNgdd9UsPzJmILCZ7PImJ3nbg/du89KS6ehctjh9OjWFGUzdHcPKcrNwUu9NKixRHUiPLY8rCt0Y/BLGyK6TrI0nXCe/ok655Uy/BzUjJH0QiMpbNYKkgDeH9w3DjOuFD3IDu+nKVo2f3AmpuHBLIBaUqZx/eR/yQDTeyCa9DNJJ+nK9US0MV+4hTB4+cB/ue2k7U6jbQdeha19krtnr7sVrtWcgG2Vs2rlg/yXGQvnKLJ8PcOXBOKTt84VwL3VXGafCnB5QXOmwltHInlV0fQDt79MoWTh2/ppKevHFEK5I+e1EgA7mfLi3DlavbcCu4quWLUk2YbOWngN2BPrH3Jz8I2I33zRJse9e/Q7upQwVRa3nFzC2UnbYHNpzz6uoMqn482kgT05RfGeKdbViBfYmtC1891bQsEIyieOTiIu6704uoTZ1mlFlhEYxFwY14eGPbU1N4yd+kmny4cwNvMfmEpVsbDCLD/zWvbHC/wg/hhzq/ut/4o3noav46JM1vKY4v1r+EuBA39cXRxXuKZncXfGLBzo24qC+N/fvSe0znMedcxLYhPfozk2pZQ2dHUKUxDM9UVJTkmcrpXowZo42eFIvp0loTWqCDJMLmvmLwt+d0hsydiPn7UjW2pfpAwMX4v7qdQ1gbWl3XaQja4Dcvs3qiWYlTi1KdEsWE2JwKwUFgcPEtZkN5oRvFRDGFro5yJstR+Lj2K5HbU16ip9UYAmgomlxHp1sMUBmKpjSA6Hei07dmFiDDhRHpvq3pudjhvFrrnyHDf4LwR6/3SXH80PM/vCGNw48l0tr3fgx/8XmkoBARsQHI8wY21mvoztgUuAseLpnKxASa8GO34+oXrgjmnE93M/+Y6End/EOYD9CeIS2cSL57yU9YrEPd1ea6NCOJ5NCSSAxrWnV1XeovZ7rCo01t8ZsMc4e/o6+3I2ejSmJMRzc3j4zAjbCrYdxF5ID7xO0NW3nhvZe1kalZ6tQC6S5KtpRD55Zms9J3UsQsEUVTyKo06Ki1FHof1oFyz42jdp/C9ddeOm6sl3uyeOKEymwmxcaSUlik+DReGVeYbWWqFBNzYjCPoDVVXctUA3U09p+5FfyAokGbq00o4nJXMfbG7oO58uaZOmyXorDucotd3FrCb4iZQYsdm+jNEK4u9qSlSrWi6lDZHNHQ4J1nyuRDDKUzhLa1qPPtntqKXg5tYKXCwftvSEqpzZAq0zoCuKce9kXm5xiiSzncc66fYWnERIVcJGs10ZfBC+LpBbH+aF+r6NbA8AGmKNMcLRfkjtkPhn/HdW0k9XZ30QdGFrdQk5Zf1Sbsu3ZRzvZoB13MC6Y+V7dCPlQv2LA6rT7M2qVMHZu/Uwe872JrXpvO+F+EmXm/RV291qb8SPdmKHaWCqLpg46h5bme6o7bhwXjlYUXPejsNgLegAx+gq9/nOK8rmZLFge8wSXznpyWHTc8grpNxY+MC289RmwFd6yjR040i1s715lRbNR74CYUvWcCldCDG9WdmBXq+J5M+uWArGFfUVxFA6hrflJMsaMWlSwwWuDW0qu4Yeu0WdSh45/Gtqc88Nk5GXKsy7Ygb3UtpI961coS+m9k9tMEB5yO1Lmkj9i2mELTofcmOaNCEvSVUqj6exMyCtqbC/xyS2D7K6n/wfYnzluVoEHma5AczQlpnCc7ukiNphanGYUVIC7pDdIeo+Dd93+/f0IAAo+symOqdTZKuL9RuIcYSW1ZychXUTNjI73OP8WhkXUg5Z2Ssk8DkBMIBL8jjzXfhTMmwJJLBrHAQEmimATvvA+hOcvyWJuumhJOLMYdDdsmGFvJyFdTM+LDbRvYspCoOhB0OaQprK8JxOzp6xn0BTX0wwymgF6uEcCMfsR5agLovXNj+zeUdRtZ8YSisudOg1JfnFBjOokcGUvNQ2//MEx3eke8KTqRkQ2iwugUTV5uclB8Bk0uhcKUKCXzhrxGUjYpKUWRspNuMEh4h1GBiyz3hKXmKOBgVnswyCE+LvNXLMhMpPKTW2F6csKmR4aErYU31Oi8sx4NobugjJdVICvvD5uKAGBvjZFKq1rVIlHv7p5Mc1Jjen91UTorhZxRFX0PZMQOfX0r7Oevy0P2pEbmpNLhYQFmGGyJEu5ltM6UfoJeQt49FL9p9/LS07mO+JD3gvv3od/qsQeIWeNdVV9hDwT/eVvtzKWPQhZ9Bx8u/8LTTn/QgG64Bf5cf7kA4xzePK1kncH0bactJtNgb0uznnyuO4B8aykYiI/ytYcbyAvc8EO8M3jvNqgCeYuyeK08r0iLoooyTWJZl75Az+cEDRJ4hd8C3KNyfZFewPln29TCvzNI+eFMQUmGQVIBbv2F/CK/GTj8OdEWxpsP4VfxePPhoFsub0XMrzoUuBrYs/zFP3P3xNlKqspyemFD9mH6XUpEW7Etl6eE9AIlRw5TDms/3ChUga8tutPvnrYJznVjGT3goaWOc64nn9nj4ehOg19gF4lVv4vBAiGJo3Dlt0gl+1KZFSq7gDaexmn1C2fNw7jbP73U8h1sbFhanw9xHoeNBxHtuHPsBdcfwsb/w6Y6yCS4gql0IJWydn6A+Qn7kdqKc0gdYu/auFlbb18rbDcQO1LXec7VVC0aE+j6McKrsaSvTSASjcO3b/n6PYL8n/Kpux7YCspA5LtB0B1f0OY7+wNrHAM3qkYXsMNr/HcIw5dmoZZkbyEEHT9OehBIy1ZfVgZhKaZ9G94EqS9AiYURuhlb76nilKSYiXTFLLC+LRwpZQ0HWgNr64cWSoW7WrcbzGHKmHRlh3lwe5FoqJQ9tD75QKtjeL5UVNS2XWcmdudzYHt4tXK1YVdza2Rzb4MyrzqVpYLLr3qmUp3aUYSwlUFZqlJ5iiNCMaLWCJybI3W+vBQZSw3PpBWjmr+EDGJPbwF/uwyZuClmUAVpUQbJhgRv/chLT66rc3FimRH0bczoK1uSyshPWbmp9Y6a8igqURQnjGsJSzxEPTeETWRF0OyeC99QlvO/KLvD6ktD9UYDGV3ViLc687/VyHg1/+PQ3ujM0J+iwdNMz9egMSZS6s7+lmL7zJurETZrb3FiC+viW3mKxAQHETf2cuedM3Gve7+7Pd497+4Yk/M+BYnFgPfRP1sysXu2B2OC+JZKDu4rqR7iorV7mrt4Dfn5VQajopqHT+LEcpVoPqw/6O5Sa+1Ucv7mC+1kJlovoUN0K7e3vszPyFVr5Fwey8KiFr5xEWwlDt/TmQ9hXvvDIEIitO+DdJoVzFgVxdgqMlvQ4m6BFlsxryE8kWbLzbdCXDXEkLGpPFMNxIM4Uq78Dq17DKPOTvn00uWI5nYnthHic9rbGGDbW5ICLh2G0z28EvIA5EG3HWjeOkGSie3AVHSE3C6DUfGtgJz49xsYPv5JZh8ZVH6oPAwMiKyaUnIjxDSgmAw53Wy7GbS8ZSsmzNJqFpvcY7AdWz87WCdpNRVsIK2h95c/sy2X6FQoKsTiS8tKNVJlcSg8KUB/0hjz63Z7Fb/hjnXTzA4iGn6NyA6QpVGVrN7/go8xJTK3gc+RWRzKfPB9l6HYBQ3pSnxVICd9ikt8K3edALPnQjva8BlGM3QFtL/r2fBJ4XK3lXwebgx99vxHoyZ7MzAYKbnUfLarqfjlgDFCZ5+Ba2weh+uw9bPDVRqqtoF/Kdh8SVmpXhVAhVgCKdgZPnrjiCwq+FOUtpzI8hTM3nBoqR4SVVYIBbqKBi1PaJBgBBRxNZuvYghYeaosAlW/2TFnMNh6PWh9PUv1flkYxwTxITrb6ikAlE93RWjei3kb2tOXux+t+RF2Y2oqbYLYmeKaEl6+vZxPp2pKblfBdLahOYvLqC7MqYFoGI25SRy3u9RTWAYWgq5j6vkzPUZpwsdHrPtg01zoo5RBiz9dTg+YELsGXgrtD7l/6qXu7qG7HKd/+iW3WmdfD1wInBeu6dSOtZ5hJIvWwV8fTS0FBwHUptGAd56BUAgwAJDkZxgFdH5+HwIAAiHBq08Rcd/DZrbxdEPVPXW4qpoQgvjbVAaZp9tAKOp4pSzSEnMQScaXrFIWZCX/eeBSfNR7Qbbq652TXC2SuXmyEQhKbqZyVJuzSP+AD+LJw4p/KGHTFu5IIPQICQfA2RACHbVIJ1Q6s1t3LqvIe5DsNA0BKIVgTaSAmkghAbAcnIT0Vsi40BFIp+y48oxH2RLhVyJXhm8FGY4LcnqBdObtqvOLHXtLKigDv4kCOC0K0odIOf9PxbLhd8bYmQgcyhPZzveBJkrRyVsh/Zh6lyurQBEWxDOONWldBEVhg3NSg8j7JvB1J5xF4m/13jbtCmzeLwSpYgZJ9kz3B23IZ1gvNfspedd6X8JRzVZiniNMElrOWL8F4g80a95PInVhOMjVUghXp9Z8KucY10v2gD7vSwKpVXCNIC2srgx36jqc6CYC6xXdegswlCwmdM4gVk14grxuytBNJp2Zk8lE8gpE259wMWTj7TXkRcWtEOw2khKsEUd+qtW1mf7GoJn/ZZzofAHvY32Z39GW0aAQO4IdSnlIPGry4nVTqm46dqpKC1BFgYz/6WcsvuiFfcB4gmatO3RVQfZ6bX7K1DZ6WWyNgdSzD9MFrfanMPzWUftmOvZS3frKoFNmZSgiUQCEKIskGyTGevzo4E9UJQNGJ1JtGXoGVc1ZJIOCRGzooY0vHsYuWg18NI7MIIUKIWmd6j8iG55FvrMqzz/ghUg6CnsTIo/dvlBAllqFbUtag8EeV4DkuAxStimA5PbhHSj+loXgK5xlgKdnpjyZYMYU1kwtxp6qKgXIui9KlIxyhX0OUQrBJlI2Da8ARTXZSBlUifgTBdDHlXYD8p3GI+BVFSg/AxK4qvyq54Rkz/4HzQtferzuJQTAWDdFTWkl3IzU/WQ7I9uHRK1A18ILDj1pi55490RXYAD+7AAMFMWkyBzQKuJyVEwSKtNbM/W5V84qlXQWVggDTCDppvOdxgs+oIUb7K+JMl64RcpgvRZ/CnSJQIeZgQv1CxhE6CyZvS35bet/37gsuLcZyewkqx4ffhHXtdbnLgDz6Q+KFEhK2qBpXuB1tG06yl93/Vd16bZOONxVDZh3ySw0ViD4s3PSSWXdp9eQcpYyt0l3CR6LSfLln9lR7lq6x+NQYGXVogHLGyTEVsPod7ydLUTjyetYBPsYF/KJemS118F7ex9PmrAV7gRC+63BU3Vcg0LnM9V1f1B1XwbV89Kgqt9qqt5/oPoeDoYTUh/LxFxYi66lxQuU+eulXREMb8Wq59EtTjapPev4iDZG3H5JDf+84ISUfZa5umw7vA7rlG8A6+9cQOiwHtUVsZMTdnz3S9cuv0I33I1VjyiZyQ8W3cS5ThfZ/p+SEwm9eYdMV3nODDTKvHEBSaBhY8EVsQzpX4jjSbtXYz7/56/8JioruowwfjuqrJErnF2Bg79LTiTk75PqKwGaQLDr+54EjLB4y9f+7Fea9w/n5+XJuv4+Lpauf7oa37xXHP4zv7+tcH8nvu89emgObEfN5oJXdibn95ldCjK2sstaRhrP4XYX1MJg/CsFRWC1X3CgeVejQeCujJc0CPwW/q3h9BK6wn7ZYmhp90wVsHit0og5iRTmrg+Eb2W3t4yzPIfSXS4/c6dxAtRVi5jj5e80h8Kmfac3rlEIwD+boTfql5lp+2zrFkfC0W9uBE5Zq3EK8DDw71oQfMYDhkdRioEdUnOEwL52LIA96ZQBu/hXTSBcOBIYWzlxM+T4TGHrjoCj3QEeMBQrEp9xgfAs95NAWH4r6O1MeG61Kb0hySHYgv6uASLXqmktIwImrMUnkwJ0JKejdBKAbVVzxMBedFYAu8VJAnak3/rK92GPYCY8ZzotGJKcBPtFOiZIvbMLRnafv9+3ogVJ9Ar5jfQztfR+OekN6RR/PpYtrHKDA/FaGo3FV1c0jktJxgp6oGUk4IxxmhkiV2+nNwTUlx5AbvyVA1EiAOFEi3PWYR8yvnNLOeLQsierMcERoGNhPZhcMbJLmV3WTMtc/NvGx+LsKEf5KY/hgV/X2JtYJ1CLnl3T4vrzN1CSgf8YJzKBHTmWcIAtF9yZXH7pXsrzWs00HRYCZSeKc9Z0aEtZUVN3mgSYnhkkNrZjuakm1qyVxfQNXbbxxHd5UZMrgRMEbCPUKs2MdrS3zK6p3wNXXZptWUxuPP3Y2mrcWI6YcE48tIuTi4GBXiTHUMtqzYW5pVkrE7KtVtR2yVsa88By2SSW6ahrzHDFVFl/lLlW/TXAcWvblJaR0YUPI4ChYnJ2qZWyUaJ1u8wCj1hK5cKQJFD+W4lWIkvNRThX3AgNOPHQKs4ull3KP1zRaGPFsEB869aFBqJ1I7ekS6jZBqYH7fUZYcmZwXV11/QC0LaNQ5cbP3ZQyx5hi7AwVMaW7Ok/d76aR7Oj5NvEtVli+TrtikLn+9hUcgZYtVghMMnPsauYFPMyWKoMyoLx11l87s1WlF6cIeI5MSN6BUrcJp2yrRxtdWtXfKhFK7zzc0/TiB5y2raUSw5LBYXCBZfLzomIZy3CYmCJ/X4MeEx9xut1EDg6b0q0fiPRs7qz3tCQsboXBI6JvKJDZsEneowxbn23razyng9HA23S2rAnsMtaD09GEi3G0mGtS9Sk6DVn9/2yGK0zkysv3pq54NGhilzX+1oUvTF1GcqeR1aGqDyfk4KkzpA0NEzH92Dn0qRMY081CGvGAyfrvJD4jDmaWCx8J2X3Lw4TEvfjkvI0O9OyRYFGONvXbu5CalkXkLodxjhsL5d13wtFPErPq1kMtnLOB3RMWXdqSB6p081JOCqO3b4iEQF/qcsQA+sX/8pBvH1f6UykIvaQUmrFjgb2tGll3S2hoELua830cJ2u9Qng+FYOKcCLQCioLYcC4dbl1qVO9/n4GltWXZog4kCYP6D9yrqLQmEGqSKRRNPCVordEqS3JAhgnPT3VLw52/8/M0/z8T/zuZhh/zyUwM0FQx4DQPDXAzqOrQT9+j46HhbyPpeeWJrwk25XAuF+QHcD+o+sWk/BkImdEG4chvTGFIQ+S684GiqOtaVA6gKIobG+qFBjjUXrwOZDgFHOCEcP6pgQ2e9xaBWpowUn9zHI40Tk6HMjJQRmEJc2g9aBVLQZXk2HdRbAHh2YN64Ix5GEqUTQnxE0inCSYIwAYVQIaxC9ISJsB4THV4TzmKZJgdEKmiYLxjgiHCsymwl18uD3V3JOB1gTj0uPkDSbiK+9JLQOPFyQ/dPrcToMOVK7kfhHMsYYYRcROQQ4XURE+VLdKvBjhbAMEdfuY9UqGaYnG8EcRNDPCLdSUptKq4Zy/TVxpSpIGWv4nQLtwEPrPAhNPlPtgmtRaY+KoqJ2VYtI6zv1Z89zrWLtoNBkKvFJ9iO8yp6+yANzaWo2aTV6R5x6t7IGhV2jriWcqkHQGqWu1N8GG0Jp0vGxgVa2LE4PEokLw+Hsibp8ROruQ7z0q2zq+SWTPhWOxxgDRhAhA16xM4hYrC6bSnwpFo2Wsf/EGCIE8HFVL1LWUqJrnGpwoTMwV0R/GZJAxGTF6qRZBGeNIB7VQExOjCFCAMaFE22iViyhbdSOJegS2uAtO/MY/YCkVATtQj/xJAU63TI5KjLLEA4K5+vCeS10Bo0D0HkmJ1vJ4r2gvqP1eCI9hIoRoH2TChdjG6caHGYTaNUkFuXlWgf6jSXYCZqOI+k/zpx1KsB60D8AWBaEDWLPG4ziWNSC3fjWa47AqRGaerfzMcN8SwBfy5bvVcyqYiOodfwEDAN+I/yC3/EDBoo3P2FItgSrjB9RQeLdP0EQjlUEWqaakHS5HT0VrSa2UMsFzjEylU6OGCkpPz9rINvUIKwaqzkonzBjcT4RMbZYXCDSa2LSRD+b2eMWK/WVSnTdQmI9NNQaYuqzuj9CVC/wTs928uf41iiehD2IAlmyqE94r5/w0UcWHFkUumg8h1y2PXmZc0CRC9Gwv5A6KK4iGKc471uAR0251FcfeNarO7+L8OhAmDwjszZjoSvJmniqhyQiymfIMYGnoOGulDpOrqPLLDBKiYcdBq1yI8VkrbHfo0IZj8wfGVBxkZ6Zpv46KKR67ehrTso8Q7GmKme+obyHa+I4ctzvBH0ofUwMyKXU20cL2QSKZcqHFDcmGlEQI+gXjF6mesjzo4dgo4RfIRECeoLTNNmZBuK9634NdGYhF6yn5NJExKhmxFqsOV35RwuUdVmLqKjMjcHuazlm1EatQFJUrcIFXfPqVXonFCwK2gDXAmiiyF+aURZGc+ZlqRboziUtoh6mG4OhWo7181wrkJaTVtHqSnj1KovOPdgoyPiovL/suEb4/QtZm38QhgvCt25QFdL4dF0lfc4S/Vyqrku+SsriM66v43D6LF984XhRw9I0P2FRRowv5dgMud2fU+jki6DOwhdwhJaE0BMkOj/81Q2nQqpfg6nRXsfzOjUNOXQaS83/uC+Ey1eTr4Di4i8ohQSTJlDTxaahxzCJNUObv3zyfT34LwaVztUrBmGXD5K233nf37/G2M3S4Kg+eISx50E4yhRSHPNa4tVBliStoIwGZ38+kXzKNKXXJDj5WoWWxaNPbhCK0pb1RF1aJa4UTRx4oknLIq/hhRHmku6hxJ6li9Cj2CXhSiXAJgEdXUzkUJU7gU5ykKua3ueScPFRFLXJRTK6FtdSUR6pSic6qxxIoHZJkDFehGtnUjhCTbbEVj0xxUZ0/qQ0wzXqhrP0qeUaif9LFdHVRX237P3txEVfkr2xA6MWyn3gSUrXrxGEcnIJTEJOv81x9o4AFSOhJr21YnmWbgghpcmqslpTf3iOaM4d2upCQzvnXWXKyKTrIMupkascyvXGBTobO6DMpTFy3Ee4Sge3iqjcRCnS82saZINyw3sy4/Gv+n9tQJgw4KNR75SChZvES9ApyyuY0qUqVKMianCmIRhuRB3RgHOiCafrZUxacK1aX3z2VZl697hDAxJ3LB4e4Oku93lEPw+R8hovAzzmCY28fZThGTL+g+wN70jmy4efAP4ClQgSjNL78R3/9OEiKIlEc1mUGNFalboi1osTx1Xeei/L44sz1nEb8ye21xzFJIJPodLoDCYrle9p53B5fIFQJJb0w/MkSSx5pkqtacr/yRi5erHRFP/eFqvN7giFr7rcHq+Pr1w//SI3HZqCopKyiqqauoamlraOrp6+QR1ujIxNUnip0oOZuYWlVYMmDRsxasIL4zHYxIuuukmn+IJK1kdf/fQ3wECDyA/FYEMMlWqY4UYYSZObhFr0IdDsFnQ9JKpzG7EuolyWZpTRxhjrFeO8KgtFMkf55lIScpjupyYnLPLk+qAMuNgKVLmOI1MbCd1yFIRsksEcqSmDha4qczsrXVnvKtSVAle1uEJGyqcS26XEbnvstc9b3q5fYP9g2tKDiw/5d2aDCdOleeWalRSegTSAnF8RvlGgll45SJd3baqEsUIUYjdbMKm9QXZuQDE4MmntjUJ3S92MJaZ5fjFRIuvlusFknudjUKKXfH8xUcHvdXi2gwkcFsmoehq+uLcK1tJTnqlqnPOewK6IGfOdmqfWMicI9+YL1aazKyIfNByDNt5AUVlqOsbCoGKtc6nNz1wq2MlDSR5+ke4US5u7cWlqt8xa3oxBn/dAVVEz6k59oGoMBngDk4rBqAsNgeqRy7BmejQb5dOR60gnkJFrurukHuVqrlRvsWpOHC4pJ9PftJYZ7OJyfxk4G3Acg3lO6eliYt6e8zgFmGGyZJXvhvhD9fR42bHri8Sd0a0pdI3nTBFzFEfi7W5NdXxQ68CMOQtWrPN7xoQCDQODSp4zKid6wyRLY7DflybFpvvb80mkNKv/cb4/IdrgefLQDFke93ix9MXOIVtMmTFnkc+ZwWwyMGGLKTPmLPJZrRhq/E5w2SbFUEYLpXyJuBwwSZtWqZROMW3J1D/RF+OzVsT2Tr+1mwozSVM+t7T5/2d8PRD1FGNKNW8648XDfmFoWWqDYuQS1y8FjlCwZRcpkvNu0tfMM4SpSQbGXpkl5GEZQIX8clRxQiAR8Hq3bhk5CAAgDXOmrjgza7Gtcu8mxq3x+7xROxVj4amD9U6xlSbEi7LUdZ0XwxEvIgv8JAAAHH1jcCZUEgVHHoyCtJRQJwfFGo1r3p46WAkp0XY482bhpjBE9XAA1BLa3+Ao2AN0zJfJ7PtranMp2pyjiLOg5wDYTW8dIgEAHaNw5O9xrWO4zU+iqAAD7X/ZMOAc") format("woff2"), url("data:font/woff;charset=utf-8;base64,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") format("woff"); + font-style: italic; + font-display: swap; +} +@font-face { + font-family: "Lora"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: normal; + font-style: italic; + font-display: swap; +} +@font-face { + font-family: "Lora"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: normal; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Lora"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: bold; + font-style: italic; + font-display: swap; +} +@font-face { + font-family: "Lora"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: bold; + font-style: normal; + font-display: swap; +} +/*──────────Inter Italic──────────*/ +@font-face { + font-family: "Inter"; + src: url("data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAZtMAA8AAAAGGxAAAZroAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGoNaG4XCGByG+WIGYACdMBEICojdGIefBAvPWAABNgIkA89UBCAFjxgHgckvWyCTtRr6L8b29vpDFhhWItIdp0UDBuSQWFqpHlGSh5p2G7yLkQUlh3hfaYIMutpsHNJX16lg2K/yBnLuB1krnbcpCc/qzKbs//////////////////9vNfnxZJsz82/fn/l/d2/v9lqHg+4FUAQRDGCJIopKii2axJJqRJBXyXyIlFJGZiynKqlSQbV6Xg3M81qdlw1Wd2hKvtXuxG6PxcTl1BNAyMDLfn0wDCMWwpi3SbWqfGATMyF4P53wIc1oieUsUK/rlCVveU4rQrc+HueDfnSuMrAp1UlX5RpbY+vphvu8LMs2D8ndDCFsDNlW8rbFxo0sy2jSpjSRC8kGrCCLjmDfSaAdCQTaFffoJsBmW1V/i23WWq3GfL+zPhS3IVZR8dt1qpVgvYNA+zzMDn0TrESkTa7kDwRPHiJc7/gWxKO7QlbocWEnNIgxxhi5pSIgAo73cofvT4X9M1Wlc4KZKRlXFQERcOxFB0j3Gw88GxMW+rB9v8Zz91B1fAQH/CBMHz8ZFXZAWAkhWOCWioCYwfGi+hSivxSGd4JnLcIzHSkZ1ygCIuD4PHe4GgijkaoKqqq0wlVFQAQct6IDpO6wO1AqCUMzpQHX1BlwfJG3IHqp3TPPCsJce0rGo2yo0MvMYeqFbk87Sj2CmSkZD7KZCDi+Sh2a10Knr6rUJfTNlixwMxEQAccfswVE/5Ow2NzTwtqEEELYHHIzERABxy1KhUOIT+ky0+c/BxZWaYmU6V16+cyYCaC8Bg7vHYZUCM/Or385Zjm1xSsk6KG4eH2d5qw0BoDOVaHCTB+THrGR2Vi879j00htfk9avRCOQ5568AJp5wVMzgt6SJy+nPvPvYOqlFiH4gbb0faAYlpkZhTTsjGIs0wXIfg1UNJgv5Q98l3/46Hz1opQaBOkjwWVFrPLfqNcWeo0hqXnmIRq85CF570WDoNih1560O6ZH70nBl1l1q8ZUXhanPZXmPQcvT9jvcPxDfvopOSYuKhQTMZTfJr3fAHirr8o8jeABCJAGMDAFQB7kEZR7Nqd+1FDsnVE1D6Nijc2NRzpUcQJhNPEiIGLNv2Md9q4nge2Wn3k4oS/Nr5H2vopLEgil5L2XvDQV6zm7dPhcLKEOOrHEfayNCX8SYrO7BD0hgyqbKvuLHbIzVQpV6q+GsB93GinVjRk7pnd0ESJ1WIsO6HR5xG7wYQW+yKjczbtDQemMP6Rjh/OKhQqOy0/drxRokti/j9wzJOaVGJDneT5rUOQXHHQpofLH/9wgsPYuuwnmHXL5luwr31umxuyIWfIGYtn/l9L6NouV68hw/08cnY7H+ZjH5IYQpP3Epg2zbHvKjhLXfcKbPOPfnotwCIGmdEDGrmdHpFQTTsmL63JD3G7VvUsvSR8OFxcMSuhQZBrglFPGlYNDrKbB6fYGrbCwNWqbAE8R8vDeoXLrx0vjll+2jN6gxlFMCxOKsgoJrCuAvHTU9UlbW2eTzSKrxE7l74jp7Y2t/EE1p6xyq+6oQJqmke8keN4Qv4kRyf0/ac+Ihtx9ywRIiSVaO8TWtqXlrLnc4vHWZ+YXnv6/zf//WVWru9dqGmgIIYQQAoSIkb2z1XLERMb/lc877peIPTEJ/0+/t357nZ43Xfd/gqOQCIMRIUk0LqsQFUKhUCiJcDhDLp953trL/uySebmhSwfOIjzCgpBVeWT51bk2wNvt33t3zh0NlSRrVypzZ80zspOvpYyZSneSrJBfMuY564zYl7FHhHTOHBl3/0NM076GAQZ5qsyqVCHOnEN8rMrqcS7RET2eS5SplnOoyjk8ldUSnapSh6gT7Zw9UVll7GO9Ex/V4xxO4RziIyrLTrRUR32swiqcHs/HKpxCHayjelOFqqzCqhOVKDzdRDvRUYe6WIYWLUqGpY9CuRcxViUAAsF895XZOqok+/ckb3EWIB5AwZ49LWnRVpbUAFi22pFsaccB7413J+EDjRVsF7oAwhMX5dHc/zMOmBVgAy7zKeCAb4CTliX+Fz99Pffu7t190geFPybsFwBwChjwZDwZh92gy24INa0LHAQHiN2GyClhEBS09fS0Z8g5ctx+ytb3TFOWEbCceFRPPIp4IvYTqe0NSZ8ylVozAUABOWR2XYqG+Lr9uGrXrt3brj3srres88yx68pZhBx37kIIkXMdIWdFKEKOUIqiKGJLoSiSTpJQVFup/Nqu39AcLdSpnujcHpNEptEgUaO0CCWqDKyLKvVaHYLLY0p4V6Iy/k95fc250zML8CpcqaQrC+g24OG+ME7ffqiqfJSSao0wMI+6Z6l9lHn+/+/Tff779w0RyIpgsCCdgTJY1StcwmJXRYKi2/spoQhKw9YYaNUAldsF6GXQ2CGo7u91WlqEIEiWpRfri75JjhQ0/bUF6x+DHCnU7ajTgvYAuLwq1TFVuSuvwhKL3t3hNVWf3J5+O5fZBbnUKaW79B3QW0L9eHAbt+xrUEGuOYNh5/dfikbRaDSKRtEoOopG0Sg6io6iUTSKRtEoGkWjKIqiKIqi96P/j4ve8/bX1GxMghYKMMYDeNuvX+vfG5A0MuGWkS1X3vKBrqcSPkJ2wrLlylMVS6d8YEI8IR6xPx9oP/GE7HvwpYtH3/h861k7iSoFlyBaygqin++hnv72362HgWgTJc3v+viPoqWhpaGloaWh+5372/t50VK0FC1FS9FSFEVRFEVRFEVRFEVRFA3MeRkgMMDzuItaawsoCDzKI/qADzDA2w5Ob2RueyhdRRErlcSIgUXVyMGwBIAgBFEUVa3ucs13X2uyrJmmBEEUgICbAmn66KMYnJgwboVA0QX/WQCr4D+0qKILkYNWNM4r0HxED54khmWHQr3k++2ptsoiEcNkniyYSCBzA9s12AZjrU5IQPDgfqNXokHE8BU5DAbZNjDIcSmdN5j14GydIYINJW8aQlWnUEKnUEJRCOUTIEoKHq+kf+djCDmN1YQwVs1prOopvuppfNXGJ9DnDxO5kycecNux2LYS7S9duhzk1i5X4YN8Gky6dOnS/fty+j1sz7m3AzAW9fGLExern8P+dJ+G23KDQEJI9pOtxO17JnmL5L969gRLsl+KuaGp4if7Vc1yFptPsblLpZnaGPI47f7734kuRUuHlg4tHVo6tNTe96FoKboULUVLURRFURRFURRFURRFURTdP5F4nvCotEgji5T2UiLnotF6IeYPQkVk8cVXvSpswGU4BTyVAEBGhJk2iS8w3vhOFChFU0HknGfUVNXUQyBQiIoqTOQyjZqfTuCcdEZWTc1kBFICfZOqL4Agf/xSPXBL+5+QsYUZqy2oszzwroGJXMbRgb9FRbsljH+Cw8ZDVK4IoycDGx0ZckdvHlgUbMClEAU2DeK29To4rJpMp0uXwcG6C8ZiwFNjsX+9zYYduWC8YBAxihjlY/g/n2claZo2HVSpUmH+0BllIb3RiW/lN3v2cU/QDdKNPgEeHtrmP28U5RAMFQ0Nz8zUPM5UBIRAFAQ5BIVEDkXFGxOPGw3zyEpLy0pNmy0tLSubWlp2WFrZasstu7flVlttuV/7/abzBQC/u493F1tfDpKTT+xvOVUnF9kFYBfG8lRlKn6aMkXWXiAaCcCNOSK1rveRhoZXAT7Av7cemxny+c634Zl/X5VKnc9mGyppvlFkRA07kcXIePv4lSJR84nRQo5aWZ06ss2mdU2hVa+iFIlSp6JzV7CNQbY/CsiJOvHXMHCAkOdd++V6YvL67/0DmU5o204TPtEACZjLmuX6K80c4aQ8R8itbsVaJHuPnJXU/2/ePOyAqWrrn1dKZgZLucysAoMTxOf/6W/EWqAcvzufF3QlOBl4DeWAZHOOiM8ABxtt/ykOGFe0Nms3CQoSGmIgZKUbHFkcx3E8z/M8Hwfw+Oy353RCCJYCTaNYo1qJYvZNtruHeBjx8Pz50w3sntF9GNjm2PdPz/JoABqVByKRW/D//X592t53Db1+ps9v87qiJi4VlYowQNJ+4DPYZ7DPEHW1mgCpdId6AFUAHRuBoEalfIwGMibCiehU/P9s+pX6dRnGrU8a9MwCBdEGmcdfXuZ8g3Rcqtb9csvjcyzDAkG85+h1va5ul/rbkr4+4BIkGWA4UbZhvlHSLS9oACNgHr7O5ExpA/SAMKDZ9KZguMft8HGndIEUOwWzIhcc6v+Xqn1bQHRg++e8+hPiYie5+8fdX8/s/mZD3HqFYlUBoAiQlAhQFg3Jbku03bZo2XkGBVI+IEV7KLf7H8uTurMnhCR1e0JOy1nnvNiN//979ZOe/eu5f5o/k6fKTB5kz8zik0pAEHr3yOXtK71Z78oletIUSdP0pkpfs2a5pHRcKiEVMMtpstOsn9JY7QSVyngHMDCAhdDQEB5EAs/X0tm75P3Q3oc+HuWYKFgpb3YprVoiHEZ6fL6pJZ2xNO+NbkeXvVoc5D10h0JbBywENulrRuNRc1lrr3Rfac2W216pMC8oLygABrWOWmFBgQEANV4RDfRPV6ld9hcXsHFwgFfpuGrPJJZQcB8OtoclPP+19JO+U7Wqmt5swNTMIQkwR8g18+VwS06Sc2zmEFmMKDPihWsWCTI88WupnRfcXyDVyrhWVriEpe3O7mZv8g8CdCW+pkwBRFVjQetaXw2Xs89fSxhLyjYKHDj7K4wpHYeiDv5+rdLeu39dE6BfXVsTUHOIwuyyC6FnYW7e9uzPvzf/OkCb3q4J8ITnCLoH9noxgEc+RC6KwAGRilDoEF0U+7jdg19zpEIsDKJLRag4HxWr43+ZWqYz8/rXNqYHEoAhzpBniJWmQMi4IDpmuqzlUYqUhGCje5sA+q+BWWoJYA24ZyxX1pByA1nIU8YGkYLQ2CBRpEhBpiRWpPkvnXadEXae0kduT97OZouyFe/hVGo/7uH250uy/p8xDgjwSrSMMIkFJPZIchmEGxLFreGY5pTaVEx2BPhF4CZEdxqQ1oCURmorl+Pu3k7p/X7ew3GPe6ynUv1ov1ZP553uXUiEktnZnT+YWKK5pkiFSkriJZCzaU1EeiVA4PnsJG4mmdcU/oJ5s+3gqR2oHAAdFTJJceKdKlJ8ZYYBX1YA2IO3FFJWWlSC3HkaSKqHDxZoSUu4RZA+WjzQHyrwB7SM9TIWrYGJBYNjK45pwXisVIyVLVexCnJbmGAOMSb8OxuYl7D8S3sIpYg4kVLE446Dz1n+f32q+P0mZHHRwohGGOEJcZUiPL+9X//12t7XzFTNq+eSj0YKCSIhSJCMBBGRjUgozuc8mrsnFSTpvf/cF6vGqKqqiIiIiPE9i/+Xdvt3313N4hrjGWNURUVFRBwRdyer7xtdmt39uvflu4oUkUFESgghBJEgQ5l/50v/f2ZypT+9dNVataqqIiJGjDFiRFTs23vf+3woO4oPiphxmPCEBvgX5cfY+n+HGt27bh2LxQAEfVHxY1uqGXM62BsjWUDx5fPsEu296PQfjcn6yV/pJm1ZBhvwlmxpn3SSR6syprYo7NwA1gffbbC5aoMDW4sdCCbQpSh2gihpJOz+rqJlC9kNelyKCq1ovwIE8JO0APDr0/Lj5V5F5ySD/BirI4h/1/Y/7v78pyLJKn4rXSVukOxGN8l2s02XFrdqc49e9+pzvwEPGPSwEY8Y9agxjxn3ilWvxpqpeQLYKicQDAYOuxv3IqRupam2SnX2Yj+5dOnLjABthr5j6N/3ssYUK6AfBDZ0E8Z0L7wdm05S2l0p6e6Udk9KuneKvs741VlzPXOenKMklKCGOoNAcl7CxXThRpkKGjTR2+iTshikNIZT+ka7KQGOIizk5UNNRWh5aqdQqEiYtwrATRnTqXJSPQrJCZoapnpFva7CkC/qsoA3Sm/tjQ3zHV3cKbb8MqQczh20+uZkA5eufM8VwAEOsEYGCEod7MArG/6B6Xk+4R+YPuZT/oFp9bVd8AVVwPiFtgCWf+8aeAII/HISjweenKWtCfrfLvWcd/4VHBC3HkhKRI4LqC/jw0+AICG33HaHsLvuuU+EKDHiJEiSIk2GLDnyFCjCJLnReDIFM34OBVGSFXWBltoKG6a1tjfkAaM4SbO8KKu6abt+GKd5Wbf9OK/79XwkhJhEkkiQghSlLBU6k83lC8VSEEZxUq5Ua/VGs8XmcAsEgcGRKDQOTyCSKTQ6g8PlC0QSmVyp0emNJrPV7nDz1hTAmxNIFAtLKzqTjXC4Dk4uKE8gFEtlcqVaq7el7JGKbVU7RLtq9tTtazggOdR0pOWY7ISy3Z3sdOdzJRQFIRgEh2ggBISE6KAL0K3j9VW3HhcAQjCC4QRJ0QzLC6IkK6qmG6ZlO67nv55MARRlFRnrDdm5+8PxdL5c6c27+0EYxUma5UVZ1U3b9QAIwQiK4QRJ0QzL8YIoyQpaAIFBQME0w3K8ICJV0w3Tsh0XCKM4SbO8KKu6abt+GCdZUTXdMK/7eb0/2dEE8FCUVaRhw7KJ8/fns1WdkSiD0Wy1OVyaYTleECUAESayomq6YVq24wJhFCdplhdlVTdt1w/jNC/rth/ndT+v9yc7mgAVaZgJy5JSBCvSVmU8kLUmZ13ehoKHijaVbCl7pGJb1Q7Rrpo9dfsaDkgONR1pOSY7ofhYrS8jrsRMzVnDmjbH5to8m28LuDy+QCgSYzhByuQKpcFoMlus7kCgMDyBSCJTqDStTm8wmswWdw9PDBZnZEwkkSlUC8jSmm2D2KJuPHe+UqXWeEu3Hr36jJswacp0Y8acQZ69RfXqHNP/aHDXLwju1vEA3CJw0VOBS5wNXPouwOUuBa54D3CV2wFwNXD7J4E7Ohnc6XXAcVbOIuwNA+AAJKOhOX6gLf4gFYbuCPTFwECcyMaNoXgxEiKAcVwOgqtBAVzHQrRYjm0UYw8bcYitOMF2jOCkITwDMuQXMuU3suYvcuQ/ufJD3vySP3/E5B9x+U/h5CmWGiXToUx6lM8SoBJAjwCq0m7W6SCbdJwKPckzUsh9FQF8HsBGPFgXHq4Hj9aHx2vjydr5Wh18vS6+VQ8vFuR7hTlVLj8onzeq5q2q8E7VeL8kPiqZTwufddLbRgb6IBf7JJf6Jpf7lSvdZKK7zPQEZA4QVhZ6yZ0GstRIlpvIalNZ71w2e5DtFmWvG3LYLTnptqByzIBTmHYw72LZw7qPbQm0Al6DbEC3YDvwCcgp6BnYORveRrARbSQb2UaxUW009A1k+/Lku0BEBPuM8PxY4eA44fAoODp+wHE9wEmngdekgdcNAm/JAy4KAe+JAVO6gA/0ATesAbesAHesAfeVgEfKwFM7wLOhsN4ZNrDN2MXtwC5tN3Z5e8GuzA02MR/YzAJgc2PBFhYCuzMAbGkI2DIAE3YAYFlg68uBbW4A254ItrcG2OFaYCdrgz0NIE0C9e8TurAPNLRfaGR/0Fgu0NW8oKn8oNkY0Hwc6HZhoLvJQPezgFY6Aa0VAz2sBz2qCtqtDjqoCTpOAT0pZ6wJRIRGLrW41uZWh3tdovpPXHeSeiOtB1k9kStQqlBr0OrQGzCaMFuw2rA7cNYsYfsfA9sGc2xIDGUM5xlJM5puLNN4ykSWyQBTQaZDzISaTW4ug/kEi0mWU6ymMeiPAKENp1iAM+AFcMFr/PBD/HkLxHtgPoLwGZSvYHwHpwhJFZomLF14hohMkYGFNRp7DO4RyAVDuFx2uO5y2+O+D0TA/0DMO5DskO6SAZ/jFJNU0zSzdPMMi0zLLKts6xybfB+0Z1/Duvqsr9/GaptqbS6zR4UtNWyt055126te20qB7WDajjJ2lrWrnN3zLCyytMzKKmu1oA5IKKdsyBkyk0t+5Jo/8iH/cksk98TySII8ESqvZPIOFxEpKlpMrLh4CRklZZaSVVp2GXmSU3630ktKx3506lfn/nTpX9dG+t9Y9yZ6a6pHMz3jJJKk0mSy5PIUipTKVKrU6jSaeu8MQr+EXX/s++fYzamXcxsfHVx6cO2Tz7756pdbi9zb4NEHnh3y6pZ3e2AARqbOLF3ZRGIFCtKpTed66FIf0JXWurTVTajuwvUQqadovcTqLV4CJEEKpGXKypVXqKhUWaWqWnXQ0F6BcCAGa0vH1q5tPdv7hlqG20Y6RrvGesYTJlOmM2Zz5gsWS5YrYNVa3UbT3kPo+CXs7sf+/sARiAA4EQNnkttIbye7k/wWxV2Ud6MC4E59D5p7Ai2v63jrMRgxmbFYsd2F3oGG7nSbO/cDd+GW3tzal9v65hDu3tg9mrhnU9zLsX7jOE44eQqnnTnr3HlcwEWXOuMKrrrWHTfcfuELAcgLAuU4D3KSdTayyWV+5Iog5L/g2ULmIFQe85dnuIhIRCFaTCziEC8hUdJkpEidhnRkIBN5l1+g6ddgNx/7+YEjEHGaBc4kM0DKZS5wJZ9HMR8ouY0C7kANPIAGeNLORTc3/QRgZJrMMhXY+L32V1Cop256Pg+9nA96peu5dDs3Reeu+DxQgj6Vnpey81ZegUpUoRo1qEUd6jWciCY0owWtaEM7OtAd/R/lKQwEgYm+iMT5WCEGISzEcBQxGj8xHoeYjFNciyfiOiKIuIXgEYsiGqpIIFLhigeIXKSiGA9EBbEjaoj9kMRRyOI0IM6QqOxNIwdyJi/mQV7Km7ycr7ySi5xA+uRM3uVcvuRCfuWdBHIpkVxOglxFZpHryAJyE1lGbiNF5J5s5KFs5Yls5xScNQqvQBlqgTJBDUFZqZF6oMaUqy4or5qqG2oWxaDmUZy6Xf/qbsmo+6ikWqmTWqtYPaxePaqq2q26OqimOi5FPalrpFH3daTP90oP9kkPd0GPQjv1eB96sk99rZ/6en/0rf7pxYb6XmOdalc/aF9vdK23uqJ3uqb3W9JHLevTps82ZCuwW3CPho3QjvA+kR3RPWK74vsk9kvuJrW79B4ye8ruJbe3/AbFTcpbVLfpkfIYGFxj0yw2z8uW2Wydy7a5GZq74XkYmafReRmbt/ERJkeZHmN2nPkJFidZnmJ1mvUZtk+WKRUZ1L6J9PwkHZyLDs9DR+ej47Pp5Ox6bQ69PpfemkcXB+q9wZoaVx+MrxtTA7qlldkBtKb7I+nRyHo69GxzvWvcwB7cxT25S3tzl/d1V7a5ie1uZqeb23ILu9ydBW5pkVte4laXuvXN3eYObntFt7cNd7gtd7JtB+GRCVOcOpy7XHpc+9xKooq4JmlIW7KOPEGZos7Q5ugLjCXmCmuNvcG9CkYFoTB1ydI1W7cc3XMVZSnOVpKjNFdZnvIKlVWqa9TWqW/QmKQ5RWua9gydob8ryoMD8I5DOXyQcCTDsTxOpHEqnTOZnEtxIYvLgKuQ64ibqNtydw3uCx5Lniteaw7lEYfFp68L+Pz1Bb583cDXrxf4FslRFMfRnMRwGstZnPPCZeW6cdu5HzxOnhevm/fD94HuIBymLzm+5vqW53u+oyzH2U5ynOY6y3Me4TLKdYzbOPcJHpM8p3hN857hMxy6/whEUA8NGkI6hPUR0UZUOzGdxLVI6CLZRqqddAeZTrJd5LrJFyiWKFeo1ugbxjE4ZdP3BWz+/gJbvm9g6/cLbHvJ0CuGXzPyhtG3jL0zPmFyyvSM2TnzCxaXLK9YXbO+YfvyJBAoIAg6ghbQCbSCztrqaa8vVEu4tkgd0bpi9cRLSJaSLiNbTr6CYiXlKqrV1GtoFq1U/heYoB0aLIRsgDDQDESAHkAUaAFiQCtxKxK2SA6kRtITmansudyD/EHxpHxRvalc1NMwmojpz8RcyGCGcjEjeZixjLmaK2YK48fMYhjMPIbD3MaEzd3I5n4ss5KTWUtsHqY3jzJtdiPNQYI5zj7zJFlk0PZNZM/DGmEHYS2ww7B22FFYJ3Z8Djs5J/YalrbX52NvzQ+7iI3ae4NtalzsA2zObkxtt2bc7gzY/TH2aLr2dL4927DJgAx62GAYchj2MeIw6mHMZdzHhJ9JAVMipiXMSJk1Z86BeQOLJpYtrNrY91rmefjKT38W8POfF/jlzwZ+/XOB337y6BePf/PkD0//8uyf5y+8fOX1G2/xDu/xAR/xCZ/xBV+/+f7D758LNBjDH15u6/B624e32zm8367Rt4y/bfId0++afY/5kOWY9S7bffbXHB/nPHDdAHfgATzhd/i3XAAOdb1r3MDO3MU9uEt7w12Go3BXcG7cBM6Hm8EF3Ny+3MJ+3Z0FbmkRbtkJe3DZDV1hW1feSScuucY619o9ro17igfwGo838IYuvKkf3trgHf3iXf5qr/gp7+/DM317rn8+XN7HqvlkHZ+p5/Mtfamj+KrfrfQHDf64+/yTFvQ3MAYXW+zUr537s0v/du0f9t9wbyN9jPY11s/4hMkpTJuZNTdvYdFSZytdsWa9h81mv5DFQRx2+FA4ajjucdJw2uGs5bzHRZ/LAFchriPcRLkt566B+wKPJZ4rvNb4A+UhC0rRpEOzLi16tOrTpiSkIqwmoiGqJaYjLkFSirQMWTnyChSVKKtQVaOuQbtimcyg0C4VMRZPTMAvTMwfTMk/TNc3ZuE7c/SDufrF3vpjwUH7GrbUXMvLN2K1NVex/mo2nWSkZNuNUc7TbXimOPA8ceLvxY2Xi5fXjMajo/P2MXnnKN43Fh848FEjnzjx2VNfeu7rH3z3oh+/4Rdv+c3bHr7DdmjFJx8++/LFj6/+fHNy5OLYzYmHUy9nPs4tuLTi2oZbO+4deHTi2YVXN949+O6C+A7O4fsyy9fZvs3xfa6jWY5nO5njdK6zeTh3cenq2s2tu3sPj54m48XrNO8zfA7/fbY6BwcOeZ8/H7P5lMvnNP7I4EsOvubJn3nzV758uwK+c/3DlADEgLX/gC7gAIjJBCCu8gCIHgMg7tUBkEjiAEQtA5DI+ACI9gYgzuEAiAbFAHR+B0AsMwCJhA5ALDoAidiOJCD8ZwCi7gdAoqADICYRgLj4AyD6KwBRvwMgzikA2V4J6uZGCsVkJTC3rF8YepkXSHETDgPmESyWJv1TjkM2aBGirbGfVeHQ8nXzumfAQHgxESUzo2osun3PeqFFtUIxQwqYSlrWYydVxj5q9RUcM6XoSFrbMN3r6UZ0OuHy57+KO1CX3IxdW9fI9vqpNPCDKrXR4TYaaatqDnHNIPKCQyiFGSTq6fzBSqxWFaoO9MaOVBvDvogiz4sOHg4irOuU3povoVTDSm9+7SlNc0xtwWmkZxcjsxKJHkgc8jXz5v5GJg5kDtTkGQp41iMf7wgdyAeEBJaVYgJ0z10+P34AWuTZCmC6avJ4KkP6luz35CZAztrzd1CdzVxVGDC0IS/PssiVs2drHbF1ZIjlWRwZ8vaGrVltLx+iWW4iQ+Nc+LrKk74FeXgWR0K2KFsH0UvG2y+qvsCN697N6szZmFYoeLX/J3DWMVGsBy1zSUqOcHfmXmVBHhhwRI2qvKLn0z1t3NBh+mLWhQad9K734OKf8g97pMG5EW8D8nHxUaUTe3D3cvTA8XDi2BjoM0nrFOBnzIrOcUmTAwYxZ5AbnoJnB1V+NIAAEyFSQNw+W3FefTpAgLnuIVmw4HSL8PXhueNPQF+/h5UbkIZY2DPgYE9JcecMxXr16QnpQNjjeaqOprmSxtBwrSpjHDRE9TdrcV28MpXE9Ll1r8dmHg7cVKqA8LOYQap0vYCnsy7S1ZcKq0niRNqxyybm8ma01PEm7JDLLeSeITa8PfCETmnHSqo77RnCHlLngWeDzR4Mbp0SQubJNXckD+RDWh6aPmlOfNJi7AxqjMl0UdhIZC55cpwsnAa2S85chodTTbkNCWnSQcpLy2sZw9gO4gDgEp5aUJHhnrYuuE9z1+HccM7iBOzH3U56Ns9fFIOQ4q05o3EOCysFvqOy/WZOSj6M+LGEzlwYoZK54cSlHPf86dM9wwwhC/zSI0RaY6MEFOj2LNEKQZBXJA4I6ks3Fo+1oD4+ChSp4CiXmp+UVx36kbp1oXv7l9cu+ga28P7DMvh+NLVwq/s/+uKzvyRO7iJm4vggqHbVfgrkJQ3XaNhDh4hUQ/WKj+vXse8e5fV6pJhsJBqQJsyY7zqbm2sb7MElCLsqBoBWHGZRDu/wPzHRG3FzR4OJz6+8/sR1IifdCFXBrvoRdZzWxXXF/qcQFRbVschRhqp2V32BvC0BjVbbOMtLMXsMY1ARFe55UZ3ptxUGbVeOpDSFzihbgH9GPXlE4E4cN2vsTdGWZNVF4jCHWDo7aGhuJgK8hvVrCjp1LU2oznTRXFdO/5Gpe70q0lXbGs011w8KkiEijIU6QCQWBvXl6gKHXtME48pXkQyQInsCIPBUzEOGn/iNLkp8yIyB5M6rUw9F/MDC1n4isAw+MXn14q2HXj941SIAu0FylJrBIrzBUCUaINYDDnDjDnnF40oqdzheUhPphqhnUc3ZvrA3bDIIGhKRzcTe5xuARx25UcRpOHe5e4otZw1Ur6Q2HfHVNbETqqN1tHm2VVvaxgWBYwzU5fffJ3S8pX/9lBo71zZh17l8L0PLB27ar2tqz7C55QiF+Fx5Z3ZxlNrYISOhpPiaoYLSteGaRX3nZ8CvrtGqvU1KRAuowRInp8jV4dkFzZwnnIc9GC3C87jlE6rtZ6VGrtCqSzS+4829TVcCzy47yx7RcqpUUNQpHyxw9Gqbojh4Z3+WIeqtPhq2t0qSproDCIkTxIZRIlHnURAo+Q72wICv+/Isxa3ouQhHb6Nx2a1IQmN2CjRgx6mOG9M8rHBkc89hRxKoCxSTLPMoeJaVfe4veLpS2XP1AWj1z4aFk/ODlgdoKNUTy8M0XqqEIb+YxS335Mc76QXkNtOD9twhHSh+qknyPlINrh/IpowHdrGUdH7Z9emi1rnDcsfGFuRDjSPUijW1qAKqHjPXiqA0g1nla6Hac6em0aiigmqonQ6xVk2jqJDqxOGmrKqoOC9KGtU5++wivAXCrjotIEUMalAuDZRU5lg4lD+o11SZFY3YxSzp6ygH5pHXJQo17lATrmkVZQjCNXVG6ZVIDg0ZnX30OwTKX6cBat3DIslILHkGfFnGo4saaJGnqzF1k0XHpa46G9RHuK/YG6lMIRHpSsCTbNxJrj1l1wNkESWkCSXH6q8/07Wpgon9gW9HLVuLsRlCFbcPRZzpdVpWS0UszPO9uFHbSIoIJMXEXbVpJpXe6EiT4FCbCtdVg3IHzE2oCQmPAYV7FGnVaLWtpqOKPgdoQ0jmkAu3GSKs9+o71j5HOg4OODDiASO+3/1nC0Do5cESYEhQoOc4m6b0mjuoDSPxiGkaGVvVnJi+UMVR7QSMQq0hxBI7WrM56Q89jDAuROiYC/rKSl+zTddjmzc8e3Dx6FqjZ32hb/MUj+dbqdTagJvo4mk6agOji2q+9mqpQeebWdMgxwVSpk9z+v6IpA8PQswxTyKm00QGt1SzpM6qOMp8DCfPGeqqh8W0O9IHSLJe7y/3sjeg61XZdNqTJP2SAYTWSsVda8p4qXr0WmhX0JrcK/S836xRG1lEuZQm4yNG+iUoqu1DXJ9NQDqs6XEfT44ekSMMVKsZsfIHK1+mPXRX1SLN66HSOcuyAysLqAHxMpWzeykJXHLTgp1zTMaRgdF4aGcMlA8ahjKsTKgDtasGG35Q6x1X/WqBPB8Q0chvGUso+4pxfju+QEpQg42ucCY4+YwI/puaDd1nWgfqvoGwC2QHdlkMR++3Flxo9S3g8vqWcPO/0lZwf8IOr7/9xcvee+X2wlfu++Frf/j8R7Pdqy38qWvl5jpuzVGl1kbUqbcVLXptM7ClDhgtdQi91BGzrY6Pgf4n/WPDplP2HDvTJ58C9c0XYOCr+GEa0I0HRP/kW6i4r0UugeUqSBswQ9ai3+ws+Os/QrInDg7qro6Uv+rmRKjCHuJcg74J9BuuSB8T5OzmjXLHOrq8cY2lYPxTUbQ7RtnuBsp3f3oqJmlUTTZwYvIzVz01I2FaJE4nkDT9GUqesZE2NLhZBtJnN3v4ORiZ+4+sPSF7yeSsB8KGSTz/Vc/wpmd52wtXvOulCF/1crxvDpROflooftFS8ysmvy1sf2hI/flc8dcMf/9n/PPr/PvNov9+o1feezHg/e8aH53g45ezTw6f7n36Cr3PT/fki/nZN2qi9W0OsR/fyNqvyW/lzh+aLnui/cee6inO9PH8CNwX1GM/eS/EfvEHofarf5ba/vRmuP35v+g37K9MH7O/EdFHvdBXXe37h7vWL/9i7L/zmKtYxGztyOhh0KYTRfoMwmGEGxWWCNnGVmz82aMm8KjqPkHckFAeVxLGEy/hfMmzvW9D0zI7jCOr3554BWpjoh4ujo7LCsbHi07gxdzG47zNpr83HWwxwfa1jmhvto98H3aa9lKCxIlhLw3OFCQtE+5y4C0P/rQIVof1dNisOWC79n1lt33Go/XisD4ebyjguOEV+W9jxvNdKPa/kBebnPNTH2cQSM64giYloaRRldHd2I1sLWwR2Q6p+5n9ULu6uwSI0m51rwc+Ghjbx/7xf4L9MJaxjm3si1SJ2E7sJQ4GRxLHg1Ops6kLicuJa4mbiTuJ+8Gj5O/DEZidC7k3/3oE7M/xMZ+3/f/d+1fL1oMbz2QMjuztCFz3n/B3gzu3WrIF8JUP/x2im5czX3SIozieC/kYiRG8FMtwZ95fZ1E6X+YZmfKJvry+UOu6PfB3a3qtVruw7g73jHvD/feiUAY1IEAI5oIBy1CEpz4T5CCZ3xkNDLSFvqq9uAEfwHG8An0lehDJGClDGXlEM0A/tdzqdEgfOEn2yZhV/lGohV6APqawmUxnVzSfYutf1SP2wZIHZZYXkMMLvIuPlLbw7XxvrSaYwtvfoLWfF8SV4j6uabpQxv0PokwelcVkF1DyCJe6eOljz6DPumhV8rf353w2Ck4fzfjBhux3HBHHDWI6PQJlp/HZSrmIyWZKfZ3SuTfOT36EjGFng0pLXd2updvlyycMUgvSUHcD514Xkx6b59M9pCKV/BHA8PK+q/Skj/G985c86/5evT8V6A8MIyDDeyGHmNg+HPYebirOC3xhSki29fMLBIPNfJ7ocbZmXWRsFSsogsmh7AbklFIRsXpLQfRi9CEMojSbeV1IOZJAT0pOjrN0IPMBU5AmnZJSM2QzYz5ahQ/ENuJYZlYsRy4AuEp9R3FMdCCNVtxk1HDI4pZXp2Krpgpn9Tb690UgZiMS6xc5ua7lTLI7B+BF5FosQ1pDNEo1EhjrZbiB6T0HISVBHFyIqPQ0Wak8NtX60NdL8ZWewD3c0LtOIcM/0l9zu6/xSJaxbznbFucnP5Yp/amsR0whY20XK8E/2jOJ2daksrx+e1wxyXH9san+HS6jVvwYNQ20sFTv+ZemlBeAwTWLymUYgRzc0L/p3huYd7bRFXygQh75ZLuwqtThwIgb3rSLhqeYKat2C4SDZspuO4N37tuZf4vu0rl3KaWPvmXNUWUwcKrstNp0UlWzQwiC3isnU5QWeV38H92fwFSlII0Iq47FMd9Vutwb1f6sqxZrZZ8biAfoWEj9J1FWb1W2OHGmZZK2wP28KnNOvED9GjhZNfqxuvTK9hGpoopTyhESUM6QAkNhHCPTpaLjxqCoMmORGDLBGkD786A005lOq8C/c5fyeKMWL2A1xgES4xjSjN/YID1bZdGaZedZk31cRMd+RKdqf5erPq6goKhaDQ86IIoc9AxxETQSuAdSoEwqAzzmrgMN5uQzExFjGYDnJTyqycTGv0mU253GsB55Wf9d2eP7Xfisx5jEBb5aOjAVuGc5BPMz77XyrODKUd6/PR2uDwLml7wnXarMdPMx1jJq15fOZicV0q0oXPoUGcvqClsJ7afMkGssc7+07obCHI4a6466V2+WhpjhZiM3mdIam++51g6b4513TK3Cwp5lR9fDF6ASsNT5na5+ZGnqs2TPuhP+45DefFRfgzgULc3Ej9PPuWcCqrDD3AU5BTZT3FBQa0w1RmGqPxXdxLyWNILInpISSjCkNGlGrhlPQjKKOGmX8SK/7ll/Uaj6rjPnR77oElcimYzVWnd9oJOU6bKGhgqotG1iEgb7Wb3yYXuxnRdo7W/TrKN0eQNtqFOCbimzVhvz/pRoRkluWaCJK7zDRL9Fm+xzdBbiuQVPLRQG2Nj/OzmzH/PxUYF79aOcrCWa0OGlpSgaYGtAyV1DinaOgbhDMOfI8D9fvxB9IOXe4Aa7TUvNOFAiuSOlRtuUYex+VRmcAz5ibh8CZAqPwGg7jN5l74PW29vhxyAMFjMWYqSwpBKonow1iMZpWJkUMVlMtbMLZmJJumHnKbUzC/GC+APBSKKknpHmkklkYy7k0utmvWv3IU27K/dWo9S5VOfy4vCSlT2qc1uBrVM7cNCj8x0SsAQ67cLBzApduMIiLiuyczHuJhfNr6lmwrxbwv3md7W4SdlDOSiMI6fhLspD8RSv7o3lw9drft546x1/73sgr4+JkMiQquWQZcWqNeu1MXXXobvVd9j6s3WX7JM3TLhpvjAyxGQiS/bmHvHG8I33c9ajFLV9AAgCA0cDgfG/hvMfQRik6xie+8GrCjDkw/9f6OmYoZrES+In2zHXjuukB/XBxGG5vA6gOoDfRMBlYm7ssxUQQZVLK3sOHDkJRLYaDlmv6f3c7uN3G9Ne+5BhJbFTzRd8m6Ku8CCpYflLCk9t6h4xQPUTesp2B8thlWLXpkakgvdH3wezGPWuGUyxN3wXko8Fxd4LHAVqLk5LIpBZWPPWa36nDR6P43Uanw1qVfkdIFDLIBFi/rDGmpvJ3wJ9e98U/ZMMuLggAw022tgxPqSN0ZVgxTzs+EcJ8kmwEKEdz0KgVZvLhK70diZ58hX4MUoEQKmUqwgRP1WqHs0ZLWeRpjZDOjJMeqzPgCEjxkyYMmPWbwv++NvXBMCGrc3D3BEUNWVwFWNnI+XAhafrMDXgmBdV8AcjM6NYfpWUpCItuJQOLyNZkiM/P1CmItU7NalFXRpI49KUZmlJ2zMdMXoOkD5lgDGFLhDS3rIVa9nAlp2c9DljTd370F5lkJSOEsMUbriJFRt2HLjcIhm1k2GYjbU5cKonr4t8/uAsuimah2hldINJHjuOcPLUC85ecuHFh6/X3noPI0CgMPGXL8y5q1nGVSZsmsGS5aySja4fkDl05CSndX0uwN88LKcIMmDUbVhrN7yz9Um+XvPzJu/2eS9Yn0X60kvZxDLlKrI/deC8qIcDAoYGLRR6F112xfXBK0BQxQMatIY5eR7Cig27D0axTkx2vqdYceIlSJQkWYpUaXDS4WXIlCVbDoJcefLHD+YpQokyFX6qUqNJizYduvToM2DIiDET9h04dOTYPydO+1mePucoRW0FgCCwDqdmaSDQQkLhwo0HLz78BAgSIUqMOAmStOnQpUefAUNGLFmxZs+Bk6eeee4FZy+94tJds7px58GTF28+CbYQocISjs8iRIoVJ16CREmSe0rWVGlw0lOOCkSVqgwZzghGjU172dEfUHc1empcbuZQYTNRZ8Ph8vgCoUgskcrkCqVKrdHpDUaT2WK9/INweTGISLpsZn/me3/BwArwQaCPgnwSLESoMOE+ixApyhfR/vfVNzG+ixUnXoLEv1bDjTogkfWMR807ATR4QTa7w+lywwiK4QRJ0WXQ/gQ+/P8F/bD5n9UfJMSqPTGYlOQ2YOiGosg37fCg3mQjYY2sGn1/co03MgWVU8mozu62Jv6vBTSNHQQNGjekaQ0mfhC8SD5XknYb+rZCCihp3umy001649F2ermk9y6bMotzidr8pRh3EbZitma+L9hO86jXPFNELsnUSjeJTrt6n5lkkF+WmBuzi9bucPaEa1l9kgZIlXCFv0rZs3LgyKm78/LkzZeft/w7BipgM1CrCVHBQjtJq7e8U++1fsrT649yxw4uEb35YNLeDJKJLNmdAJMr78/2aE9P/HCNL8AgvpZlxkdBPgkWIlSz1mpvRkqFg1etVqNmpDqZxrBFiRZdJkVs682XX+23EyNWvETJUuHgZcpGkOfMOUpRWwEgCIwrN+48ePLizUeKVGlwla7ylxRoMD3+w6w5+MoelxBbfmF6Jt88MnXHn7uNv0tEgOOl/7zLS1eAmDjbRD5q6t6AiJcKKZJ6DqX8r1igA6zjaR+7v4PiCosnqvvxL4sGg/Hcq4oeHf8gzxvgcE1PbvBnM8I63UkWpjJ1V/FOHDgwq7T5WSsySjZJ8/1q95JZqeE0keThPdYg6oFvGxztTmuyV7Y/aScv5/p7ux34yO9tHAfDoxPOGj1gYWlbyPaYuCP/clIL6uPbqNdyB8DYm5S4i7NCqMJUjnt/EE8opkM+GHBwPAn/mhMX7prRLfgNsn5J9hCHnRgfpw9lYdQxsYCyeuXPKdQJIb1nWxGKCfdGQvtpN0cvUaFOkELZ5V25ywIMbQlJuSX0adeBiZs4yZOXIsfIU5SdREQtR36VPSO1afU7nXtGDzAHwHgXgBls0sPSNmqiHFhhG5500Z+0sylvR+QXgl2GqbkuSzf0gWn3slFqLn8ML1+xKuLb8Ln0gHcSqiWoXqfBviIXjgUr9ruNu7amzGO5fPP9GMfIl7KIiLh1PIInLx9FWrZirTYu0R2uu0v0IB2uqQ0j4uL1ZjKQKUv2k3vkRT5G8LwuL/1wkdq5Ri3MKFdhcsdQAXOszIZtd6YSdxttWpSUvUxS2V8xmtjRhwMMhAEjEYAwoYjoMTSmHjt41d7Y8WNRunJOapxXq85FfPUaNPY/kIAixZtlYKGfxpl+meS+Bx56ZdIbb/sXAHsONo8EIwigLUh0LvSLVHrZFdc6E0iYsXxE8XErd3DXfaLEhwxNLdPuaGEQs25O057EPEKAOFQfy6c6qUM394z6NiOeFQ3/r37D70EcCSSRSTZ5FKRYGKScXgWW1NNrP32oABlxFMZ3qpOr6brZZDt7NA/2u+N7SqPUwBdDD7T1oi+XdzUMpZyfyrsQRUxxkFDBKKLUbCfuARlDzHcK1tXmIvzmXKhX7onP7HP7KrsHLT6+ke8WWD4kQRhc4olpEs9O8brlXZ4pUo1LrvXWcZHWSPdP37RMnxlZmVCZnDsVmt20Ob/NW/THX6SxwrIum9li7ABuF/v5R87qmiIYDxw8BNiAU21pQN+ZyWUJK9jDQUS7SIo0eaoe0KJD70lDUp2L6TzmWlS5PJdXXHkGs08IwhK+EsE+qiAw9rhtElJyBsYnuQFFYoiDgmSQJkueIuWoTKIGdZrRgR4DRkyYfqwymKezPDdnr/auxYcxxtiWXoeE0JBGa9aadnTq1qvfoGGjxk2a9suceYuW+jI7K9Zq4yplANkVV13D6DomN7oUWWkyZMmRjwIUKVGmElWoecCWI1+v+XnjrXf8vZeDIFeefE2atWjTrkNnH8dO2KmDN1xOULTLuMJjV4gZY3tTPYkQDVo9CQkpWUr/AVYqVKRYiVJlylUg+qkyIlg11xqWtdmry7RRh34EDRE0V2QfXde7hD3oGJnAGmWqk/8PyI6FDmExslJPBMLAriFK74UaDzAZoG5wB5iEN3vhjmcnVxJr2Ci34I7tjh05UtGLYlq3L+CCLul5u8D9Xgz/AXd44q34b8cnfnLdPRnk/WhY6kA3O8KAw6GMkxiIAFMCU0O31SvWJzhQBj7mPMo9OHQZfHjLvsE8vPPLSq01OBwrdopMmXvom+/ipFdGo/HgBeuDjyItW7HmfmsDo7+jiMD6eBWRGFnDVx+i8PM1vborbfW3tbA765HdIJvtt9FQB3u2S+WgFLrnFiCy7VUZnOJrB6YYmh8/4aAO0yCE/TpqV1T5WqsmtDe7wdpQF2/Qip8gabKL7OKiuIm3abtFmc6lZnVWrNlxQFCiU1cNPnhZ8g59C7OybGXPgSOnuBNPErhCAtlqrbfu0r3eofqgTYZMWbLXe+w/HDPE7mEMv2F4CGbXfpeF6DORBqCDxt6yTGozeREixP12h39Zyfy9jhOCSJNcFetYsmRpv5RXJDpzJFQ5oVqNWqdMuGfKA4uWLNdqE32GjJkiIQuX4JCzWl3W4aob/vLAQx/M++RzrTSHt0eEi5p0kJK7X6PNW1ptj5PKVDhd/7Vgxk8AAqIBg6SGKNz3wEMjHhurJ8228LbVNtv5eFLqFg/IqMwm1BMhWugHMfrbv/Iisndgv+CDAId9yLzZ7tSP6KlZt54lFtWRj93PS1gXb6m4ZaG8Kq7UO8w+uMqoiKlxNofL4wuEIrFEKpMrlCq1Rqc3GE1mi3X9gf1q2D0RH4CQze5wutwwgmI4QVI008OmnKMSpaitAIAgMHA0EBh7DfnbTJg0bdYycq0cKdWWaeJ7mTXUglyPE5/Vd1AT5RT3gQIbBxdPSfChKffxghRD6XfeGISl0qiydZuCy4bVlZGUqQEc8KhGLRrRbFDsKomSGU7MFgWZz6WqYzgReVaU0tsiowVNYg2WIVGw88lCGZG4Z+0y3VwDZkRKxVaU8lQtecTz1PoGvwQQHPC/t08BNNzSMawTMAKZJ2aSWMRLlCwVDl6mbAR5nSQP2ar1nOEcpaiHAgBBYFy5cefBkxdvPlKkSoPbp6fCcvFAiKj+VygRWDfXkqdQ7sIPoxQ6sMizmg8tNp42pLlEX5nnTjL/SqFrQgNO5KT+adpPaao/RKwz6WqyEUsEgFyl97lK7osVdcdpfbHiQJLQ60qTlJ7q94yRrBNQusop4bPTVREIycjBqqy7dvluBDylOFKvuNY/HLK0TMCrObhMeYkr4fkS6xz5rEkUqSwmgWmQjA0cuPAoYRApQ/J9MO8mV00hUAr/xSXl3nxtkbLUAAeeampppFlXY0uGxIlQgkG2TSRF3pSMFvqY6NrMDgi5wojpidFSwTUgPSJayZtc38BP9odbWwxjLKi3YEMKFSNWvETJUuHgZcpGkOfMOUpRWwEgCIwrN+48ePLizUeKVGlw0t+wQ3Qv/xyY05GStqbubsGPRg3RC35YB5pjLcrMfXfpzRvtcS/kDF4plLyEOw71Oxg6McUeF4pjd9vhIPsO5QwRcy6h7TzEdyGH2RtewEADloAKAl4vV9zYYMuO8Hovlw/apyQaYjL7E0UA0yqpxxK46urD+Z2ir6hcm0T/BeNwb8RIlMsPE1F/UuRiBYESOv2gIEnTIiLSJW4dnkeTB9NYlzSNdmP7MDA3cK+RWQEAAHinNi7XIkpNfXWaFmSTMHEh6MR/xR4kg0nc+SDZpG1yNNUvcfIPfE4+ZHqu3vtjrXWy4yVgUH6p/+mTCOaLiqwjH9LGNVYuqssSZk0DGcZOdsUcVCZlLwRAZYAJIN6QQrGAc/8exSI2XN4Si5jbD0L9iz/5bL/yEXjXOecrGn5QIHjp7njJQYqULyR/gmr8OcION/jgBQ5FlXhQCbXVEi910NCjG7g6OcywDTDUrhSNwVAuB3pN6QGhomwwmaJiSKmyUnSKDYEAIiJylcUkWm35FJHy9q15HbI6yphnl3IxUDLVZYekfzS3ME+TK1Ujz+7Ua2bIDp6q+zW0McEk08zaHLLc8cnIytAYrGH3OTfIEqOpsCswanKIjB46b8cRc8QPDIp5I4pa+srguHXNHNBiU1FKB7J4y24wl1zUscZButyivRlIQYOHCEHqz28JA57k6z0Mw4Evswxs6JrJOUa85ghkZJ0+RxL/nzks038zZhQPzu2zYgZ19ERkBa24n81INiPz8ZaAxgwCQ4wwTnLZ1opkms+a5bIDkWkOyUDHkPuJuW2quvTJHXf9dZLjzhB2jwgxEuQpUubhtRix4iVKNmai/rYB8LtPhA7jMmnnmRdecuG25MU+JQRhpsyY9duCP/f8LaKe1InSrSJPT7X9UDXaDJowadrsToxEzwp3dhmZnph4g8UUDDpLwHsG5UOujqpNGV7JsVM7wo87UcFdyu6hGZrXktdnxcrHEOSTYCFCP22Wf2Bwl1Zpf/ow3zLVEokAAABgK6Q6WaY/CXkMT1hYIlHLu2GrmEQKaxEP6w1ffr2UvmXKVfxqn2DvcGKUWImXKFkqHLxM2QjynDlHKWorAASBceXGnQdPXrz5SJEqDU5638u39GhPrbLZlwEA2AIodfNgNJkt1r5R//zDRRpeT/gACNnsDqfLDSMohhMkRZd50Zv8MBCjEaPGjJvxy1xWqTWRw5cy3iSMsLIK5j/Vcfa9cEDtSBPzZpU/LXgVHn10AkuvSxNtZgGCrc/URnAEpnFWhJzU6KO6vOenziXPcsOGThyUGlbTpq1RF2pMPlBEmddT/9UWVUsIPfXFuG9y4w91q2xDkXtjUAAbjVGSoE0Tj8jBzdtOpcYe60/32jACgLOuVGBYzQX1ls50EqTrLIn1lWZV5YylEispuj6yhVi50sr8V46+9awBOa5U7EhXBYAL7WiiaMJcZ5aOU6GOzHkgryVwUyvgaxHszBW1uBg+Pv42pKMfh0FcRnh8LCyE8PHx8fHxN3nQGlAEggEOZSpRgzpNWrTp0GPAlpOdXAQpVqJUmXIVKjU5Q2DGnCeeeWHBW2vWvbPhK5Gffvvjr//rX9MADBkxZsKMOSgbGHZikNDQcfEIJBOSqdeoiV6rISeddd4Fc667acl9P3vqFx/rv6ZpxJQlFDfuvHjX1oYIQEC1Ax1DAqZEbFw8Rxx1wqCTThl11phzJlxw0aQp02ZcNeua6xbcteie+5ZrvSENmLKA5itAkDDRYpDEoqJJJZZOQSVbngKlGjQa8I9P1v3rfz7X/5sWYMiYKQgLlmAQrG2AYcuOPSwHjjbCceLClRt3Hjxt5mULb1v58OVnmwBBQoSJEImKJk48pkS77XXKaaPOGnfeBZdcrqmGsmXHHpYDRxvhVKhUpVqNWnXqfeu0EaN1p2k7SqfVRK9Zr6OOOW7Q6fq7oZ1tgkdBJXLUMcf1GXDCoCEnfWPYqbp0F1zwVowhe7/Q0wgjH+GxU9ciLAAAVri9wEzuUUDxr1sgIlnJagD/9uKn1fvMiE/FYQ+HjAA+SVN8gj7CgmFi7nu4Q2NPsRy5D6eIuZ8EoUS4BCE0OIqGQNRoDROQRhvjpnQb6lDJa540tmZ6LZrVyRW8BrN9ZVerMCXeruIPBONKjFw93VWbXhmK3GUFgRI6ZdDdxmLpZo8DjuLU+VCB9SW4WlWVsYgaA42BqyDeok5oBBujcay/jJs6dsJau2E66stFAe2wVbQfhpCmJGgnHSwQ1QPhGkfXMjL2yziIOlKnUGSvtAcSWBvhXQXMSo5iRj1X1zxD2nO9BcVjTRcLGVLKNTmAzOPnNahkmPMFJZSPMEmR9UGHM1m23dXARD6pJw62hMCPIC64MS0U56wgUEKnDDpvLJYu2OOAozgFcW9FUJzfuLi+Hvbjkak80lxLnPWhYsenQdGm+3bN5km6lnTnvCfO/N2y0KX+A0LZ7MU62QJ2OLhVxjDp1qM137qa9zkr23/aseqk8fm2fuFhO5OXzC7otosn2LvXp9NX+i38fR/qDSNwc4JuKdwy5VXxUYQz4JRTmwYItJBQuHDjwYsPPwGCmjFUO9DQxWGIlyBZqnQNdBo12U2v2R7jzjnvgovuue+BZQ8/BCoe04bWF8ws/4mGb9CO/irREiwGEQlZLAqqHWjo4jDES8DEkogjCRcPn0Ay4fqWZvAhT0919lIQXX6AAwAAAAAAAAAAgAU/83sdo3HOV865K57/WsQqcWsv0S6R+MlW8+PwD4QFzcUuLM6ReNM2v12ISb3xRwt96N/2KDxr3ioxlztibstL6wiENLdbMZeXYGIugD39E0div3mVnmSfqItYdw/KpeINxKC7HUd9CT9J6CZPxqqBDpfHFwhFYolUJlcoVWqNTm8wmswW6xbGys4uzBkoyGZ3OF1uGEExnCApuswswZhgjG3x6QtANHTlHTBg93ohAfH+gaT25xhtaZOA1SmLwX6bVLkXOX1uQdOCOp0yxYRrLsJw48GLDz8BguyVq0BUWVWP0uSbvkmBz/P2cFiNDTuOJYPguPzuMF6gnVf31u07/LY4//rB9+hAbLjRBBFoIaGi3cfQOtClR58BQ0ax3nMSLESoMOE+i0gkhgwbMVpjrhg+7nml9n94OZMUxCm4PE667X1TvhIu5+AEPZVXxa7ivqiYJEmSJEmSJEmStFWrxyUBQMhmdzhdbhhBMZwgKbrMj+kq95LXFQm+sXtSXuS13k4mHQKVzOIIh0W1zeHy+AKhSCyRyuQKpUqt0ekNRpPZsl8BM88gIiIiIiIiIiIirNunAoIWJV3w/a1hBQPUXdPDLs7wXUxQGPhTgXz/u8WKzxqSCnc7YJ4fKzNPYwvtUXpRSAgpqTt7DIluHVnv3nY3dfvoxzrO5tFk4Q3wNmvoaY27Aejo6GYfaMMEJjGN2QQpnyRLVnaR0OxkXbcWttV70eojm7Zz2x+Jhw4hSZ1+CzcsdslzXbTF/JjtNrlPMo0lvS/fhTq54it7JC7GK49vUOnMFw88gtaGl2/5pm1h7nOf/5dt3Yz0SWRlbjwMs2XLTR4KFCpSnFKUa9zrEBbejxUew40wYw9AFoBdsWi8sDG+btPKnHY1N3HbXfc99MxzL778UkRf+bTaWX746bc//vpX/5sAEBg4GrRQ6F13w01q1OnS2yGfBdxCCOEiowXeQoBtiEaQuy+GuAArACwSXEAuwJMOJ8wFWGS6SPQKVo020YFeDIhRMIZmysLDfQLUBQAAAAAAgF3h5v7j3VkALwAAhBBCCCGEEEIIAQBAAQAAAAC7ymZAdKTCBH4CBAm55bY7hN11b1G+iGRERYwEKTLkKFCiTZc+Q8bQwn1VoFCxUuWIKlWrVae+Gpoxu4kFKzbsOHDCwArwQaCPgnzyQ6EixdXXIjsn74T5LEIanHR4OQrroCVuPHhp0Wb7EQ0NDunwMmTJloMgV578ewtwMylW9U8oMlrTXZscvy4AgJb0ulO0wREQMLHJqQ6lGwImRpVUlyqC1qaK2utT+WiN6qCLdaoiR1pVAU696kIfMc2KEiqjW2kRkI7V2ZFEw9Kbm0KHWpZCDWWGNQgIJpymBWHYsb61FoRtSGbmEpv6aJoDmwg6ERERfbyxboaIiFOiAcgovdWw4PzMJr21kM/Mlu7ulM7EBKGpt1MjBKPbrguRwgiqb5BoR5PCJPHghYKh0gEcRYqMgolkmDAUWsGEixgVBrglV15lsi1Y6U0p2+dJIA/m4APt8VGFNwr8Z6AtNgTQxTpXTlYtjt4V2HzfeDaBCtl7BRWpSLRV7/z06bQarUYAK9HNRURERERERERh8rvj17ixkqiaDBU5QUEWqcdMOWb1wCWECkAZVeOrm5Ni3H6CuXEsYgEEpjHqnL/BJRGrWuxUKa6SSjwHRxaF+CBBHX7j49WTAq5WEZg5eKCDD9QJt2g0D744byWYImVvXoHjGwoNky5QGTex/w10S8EUnmdiII6PRkk2bfx4eJh9zFQPYXwLrr44+nLgBqzo1lTDaINgbi0BQfa3oo5gRTNNwXxD5xsd9Yzkf0sJJoRPRLsoM7jleEeFNzBGz+RHqugLLn2jTE4/VsV6N5a/K7jT08M1C/gMb7aa5hsV3b5d/O4QfkjLA8cWeE7uTbhaehpwJOXJDbqk3wb/lLdPxm1nbG/y4vwoe9P98oguSU81fDY4x8IHvO1WXs/ZbbuQ2LcJg9s/2m6Tf9zfgrz99/MjPOcFJ1HaYUxRzKmR8PJIujJS66NJl3xlnBlZV2a80bOetcb/MuqSSJR9ZIJD64RzpqT0MFdaHpfxFsuXktpKAimFjURcJppWrMfF93jCd6SAHCDXc+R9kEB+bRQ4QGFtFO0Viu1Q8n6iAolAJkM2j+03hRx1EODmcUjCRQeuEi5OwiXmI1fC5QpIsAVHcAVPlIhSiIHvEAtxEA+JkGQkGylGqpHmOHLC3RJSMSQU0A290A9zMA+LsASHWV3Ey3gFr+Et845517xvipripuRIO2WdchGkEEFKEaSF2miG5p4O+BjdTW+nb4yKlP/jN/O7GWcmmElmqsRJvMzEbMzDAizHalkr67FRNste7MdRc9xcykwkuYrruInbuOs8kacM3AbZweeSG0NFvjArKQ+IuouWoh/jY0hMFHNi7eLgkkjSSB4prM1EpZV0kC6XbjJCJjKbzCyLtxysIYt2a+bWW+ur9dNi2HA2go1i97Vn3AfXQzGGkyvMGm1zxth1Y715L7iFcbu10O5UeCcLFuV+EllOMqkIWUk6q8nkQUptVe5RlbartpPYbrX2qt/+Ne7gpDu85h291jt+8uv2rLMUifpXgAqqkApTpag0laGyVI7KU1fVTXVXPVRP1Uv1Vn3UFDVVTVNxarra5drtOk4n6Fqfvddn78/+L/7hunI9uBnezfRulnezvdt9wu8v3yWf8Lvuuxu+u+m7W74nwhPlqZ7wV9339GI0mleT4toefuuRygio1Jyw4U3ZwWgjbxTDdJbAwCEgD+SBPijg4A/iQfOgddDGRdfp86STdRwgAgAsARKAAAVQAQ3QgSyQBzYTAl01XbmuPFd7rh4Lih0nbrxKKuN5XuBFXuJlU8K5fdgOR/27pIa2AADAyuOEhf3AT7/98de/+t9AAAQGjgYtFHrX3XCTGnW69Fh4yIo1G098EirM5xEJP/mSUoMDvhPgCuYqRVTZq+EntRo199aEwPbdpDAhQoS2hLRDtp+TVecHCCYIF1wjQNAdd937oCFUnAQYTCmp0qIdHegxYMQ4Jj00UxYeSoVLNnLkKlCsVJmKEM/8VKlKjXoNGjVr0aZdr34DGcKw0TpucBACHUYiJEiRo0KNOk3adNl7xMkzL7nw4NW9oeJ9+eUtgoXKyv7ToSPH/uUEp0U50AAGgUNAonPBJQyuYnIDs5tYsGLDjgMnrt3UMIZhGIZhGIZhGIZhGIZhGEaIECFChAhx3dJj4BdixUuULBUOXqZsBHkpsELFKUU5okrVatXnDOcoRT0YABAE1pnBEDexYMWGHQfO7goVc+POgycv3nyCAVaADwJ9FJRPJAWp0uCk50eXQilSXH2Nlp2Td8J8FiENTjq8HIV10JDcePDSos0WTjq8DFmy5SDIlSdfgSN0D+Ord/VDfoXV+HbSEtWyHPy2BVaGpuOonptxXMeHCYflXokAlRInBf/1Z8enNccwpSVnH9lrb8W1t6q/z7Vi33Xn34Zrviw/BPUV+MjkAMJMVp/h5x5mj47zDpGVwxCxTwg8QgTGjbR+IEqdE4PH4rFFG5ISaZGuz8T00Ydo/OA+Hn32GYhTn47S+XJoM4r23AjwPz6IPwUnAjwFlCJDEIxgcZEWPlcIkMBCmppb1FmTZOsRfY89Zuw/Tkw884ypl9yZ8eTFmg8ftl57w46/9xx8MMTRiBVl1mzotmWvPgf9a9gpeuBnuQgyRg4T2bYxI7eDBaVdbGjt4SDfPi7MDvDgdki1rjKyKa+zY9Ben+hCyc6NzUsG0hC6ttnGrdMs8U5efeFu4eGeF69JULwl04tgsirCyOvkHxT1IHJQacAzQzUNa8SEAFNmXl6d8/srXXIk4U4UkLcHh+Bg1hAQCszeRYjBuV2j4uKuV3TvRgFDzymXdOkc0+XxEgZA175N3fDuTZfgSMzAnfMt3Xn8KIxrgl761D/UN3AM0eA5E0PHOo4bObbO6Fe19I96Ltke91IZ+7E3iK2caYlZzX2b+p66FWWv3YG9X06zpA93fDllHzlI22dOVPs/F5ep58OZeRUF8SnNyq+mK8KExSxeYjelwsUGDx+nbLlxKVAQn0Jl8V8rberOc7XdVe9XV5jT7n5r9vb4OZOqxxGlkosjAyc9IJ71Xh1tq0+LSX8bqDnEMSQTTrK452RfKW0bvsomyaNiR5oY4KaDlcthNkGOsCNOr8f2shz3H1n6PKfMCc5yMsidNqe8V5VKwb6k1jeTdt+lQ1whnRIkpUsKXHq9QQZlFjOkVEWG7TvIuCOTSf+CTDk9vfzYYTQwqOlB3RY03IKmHWjZg7Z96BgE6LpjFno+Ymd0zPUVuideqp5EE9GvyGWuy3tSS0DVF3QDsWkwGxoCpmE/gm0jWsSuWd3jVqubTrZdLabR8RLp9kKrGPRy6xj1SluY9Fr7mPVeJ9j1z+5x6t898qz/9oRzv5a+N1OS70GpfuY4efFzHsuBbZuuxAXPRNKil0gzzoR2n8Npfe+cJtNx6qbR/vmBvXE6h6Fr4STsSyfxvE2HSUtdnuQVQu46ydsM+SNTsNXAj61vS+H2jNIdULbjovLP7VTgTQUiiKYSFZNqHvwTTA1aaKcWXfRSjy22acSfqjRRQ02osUnjAf434wdDTrFwNMgllu4Sco21u4zc4Chi4DwgaFh3GXWZhn/XxngCC1vECa161Se81rXd3Y1s8u5venMnucWRTk56989h3+PJb187Y3j2jdOFjj/5ZDztrq7VU9cqN9dvcar6+dTFJ8swRdAzpBzkONenZP23sIBwgNvtyZhg+bgQSd587VipZeARu1F5gxd+kRJaankxcaGk1lO7X1qTm4P+8raQ6FrDnXBo+5DkNttt3eC2V6uK9ulx0cWCSrjWPG2yV+YFu4lpE7rOz2ECm5CaCw6l7PAArP6nEhRx26qWhdFvgZuIwDl5unr4if80FByq76cPHmBhVfKUowHHRonH34LLMuEfpQV5I8Mq/rMZZ7GvsD5gJ56XJ8RaMfK4nUf1nucSxpexpn1JT6pc21rapkHjII/SCh0s9sUlK3qOn10QtEdrute1I7wLC2ZHYe2djelmrEley5+8L9Tv+k5ZkVpvp/3Y2XeBAiztNXrNnN/Jsz6mrC0CHh0Wb7SYLYWSL1z2zBNNUh61MfV18uiA0RULoMfDtArOhl9mT6NVXbS1i7vb1HzgznOoKbfMU4jO+y69uzSwLMsQU6cwSH6BlnRgvXqnlZp4+mCyjMNN1zUpQa4sGp1w8E5pkz1H58/P7zHUrg4cLiUcztMuP/tDS50rjsHR9i4+ewOegsudjRlIwQaJYKJ5Wgz6krPtJJ6Cv4xtHE6jrNPW5LRfGp/oSxmHlRee6uIPuZPBvTKxw+iyDoz6ljCC6rSdXY688ZH0ZuxSD1PlY8DNnDxbkps0YKXps9omjrs5EENMHweg0c2Ey+7KMFIokwnFcZZaR+XX5A6X+8MK5tQqOadc2Iuc09X4m7ebr1Mu0I93ji3YNiJ648iCwakLsiDYXdrZQ9zUj/d3Le29KsxmY0kH4ptCONsjZFUVi246RWm+F4yjniGOeyePzj7lFnNQeXkQHeqzRbh0xoGwQlFHFzfPN0kQOdcuBBuvhU4clETwxp3sGvkVs+38h1J9/ityDHLy0CemFQuvuQfcvDn/Yu7L0ePj8RLuA8nDVKsLzH3cZDO9RZTm05Ynj2QL3tbjOSe1xMh3O7k+nFzCYp+czuRah083QpzBUFZuZg/b/QW7HMIOMO8E05wH/1Wsahqq4vLEyS1VLlDKqT9repi3dUJz70/hTcOCi059YrLXc1VNKLnTmIaqpI1RPMUsbaZY5LTiF+t3nikasdqNkL55+sF4/Hpq/+rbEXUeh7F4GR12ZxePz30hA0W555CGKyLjiLR9VHeZkcJ3We15LQsuznxRFKf3BMQ+4hzJtQ1N/uXgBr8QVXoLbYloSOwLjfMizHyIQyySH1B+YSl4W3qrIylcRN4P7od5T2ynWbQiqw9Pe+ApeLrjPuDplUf5OfpoR090too/j1dunJ7U/2/wFR7XvPLz9M2Z5emPW36qX8XVlzp76QoPnlcGFxlVHNeVcSROW5R7Ke1trGw9qh4DV9lVv2vL/ivwk/QPXsQeMDo8/fEK7v3jNSqoSXtc9W8oT1WewZX/Lz3uzn7j223A1Mbo04PIPU1+Gtj4MGkHbk9d/o9lko4rOcEnLuone+/4s05Bfj+EgXprOk6jWtdqJkftEIHzXev2cH2LaLmOjZ3Wxq2bdwxtc6cFG/Y52sHY7/Hahu3bjRGK/hvPVCexsw8dUhPTV8SZdVpjmdRgqV02uTXKYfP/nvZyBm+hIQoKOiCEUo2S4cAUzc0UjW6FzUMAdYw4i6t8aHe3O0aOmANjQ+HFA8Ho0SnRTADodXHAdQInXfsyqEknr+5Zoc95JbTTkLLqIlU4Istt1h3nHJx0wsNy+w0TJNybD0MBUppgNDgNNq+gQBdwFDMlWiVY7thwOBNWOGXdLs2VFcOTo0lQtQlQrlxwNgg7nf5AOAV5AMAwdjKfVVUbsfAgczNZhFO2kAvzwFSGRY7+cChYT4o4YIWMpQxWuXwyIDHBGBFrJcVzi4QnvD4XjyvvFQbPg2A7llEwne4fdWJZvpT+FRlPdoPgHIgY7nE6M9x1a6m+UlNBt5sPY8g70upiXaYKgEYSiqhYKQ+oEglcYSeJrsWAON3Soz4ZilEIMmAL9Y8C+IgokFDDmsOeyMZHWCnYv/W5O3xleQt92M8CqWRkYwLcKVO1gfDMhXIScAUTETiYHTpTdsG8MfOyHOdqk/ukTtvNA0WlK4AqTHZPHAqX6nUrc+OVNNXNoCqobtM9+omEypw3A72UUmKiPWJpALQZPs+ahrMh7TjnuyQMT0185hApGFLZPKMbXqQs7BwsF4ZFgXxlJKfqwy0JT9VyPBQ5QBhDIgLrANSqGgIN+IRi/QvMZFicQMsCpanVgpqZdUYu0A3CFSyTp4B7p6zoem7PQIiV7IIHaCdqeqHCC6gfi41ji4LlwLrm57dNoR+xDhI64oWA7ryC2sp6OIvh1Ddff7S7K56/Ac8NyS8nIszE1liLrRfI3GOYOxcmBwJUAJ+EE0+DKwokfZuiWRAtL1O3IVBA1l0H6hQG2HmkW4VsqCtfP4K64XNFvrBgjlFr64pPeBMKK5ujoqSGMlhOWdHv6svnYiI/BBMoC8VVi6OwFnbFmVEurlIc4RzMBArWfJXyMmOOeX2QS0rBm58jhuxFCGYE+Fiof5aQdFG+HHbPpr0vuYhBY7aN9FdotVz0IHNWyrrd3L8dPnZOnuRTvxJjQxzspsvqwyrrl9RsfA2qd7cKaPwiGgfJAQxoVxxNH4KmjcSqEWTYCUDSagBcjqUWHVlubPL91QJKMptnTsAKiaDgIKSB0pWoNkpBf0x4PQZhESg+NpBHCs6YEjguCOIqLGm8VESZswFoPTiRci/cQpeFhoJb1uyrXlQyDQXEh94C8MTyOMTjkQPElro4KFla97pP3LjLYas9Y5HQtytQLVyAgONiWuwrgUPRGeveZWj0rRYN0E4GXdDrV1RbQsCs9YmWp7xgvBkMg1gs3b2STmdLxdB6k4UK7Ha8TaFdDl7c7G/1ogAmyM2g42bxCNZtibLrugmGlFXjE9QFdCpRftxABJFkSt+1SQEoQTKECbr2BJqiCqhpPm2C0uzAhEub2H8+MeQYLkpXGLzbHe+3E6PDUA+DQ1GCT0zWqjtG1DoDi921LEoxT9BwoeiJrOizXCyWQQAyIUxRzVhKwyqZKYS5Du0WzAF1LFy8Y3JGgx2WlvFYRsH0RABHWJZIkVY0MxNU2g5VlFQWXbAfo0jTacHIYmy7spQLuDD0UK3MKozPlAy2TZFKHzWmVcEZmmj6zlymYXu3cwSGaahtgmDQBAWUbhOneolgVtyc12R2Lq/Yev072tkD5rKoEHd7NzLnL4mTgbKIEMcfM9pCWER4y++WOXa0uVH2WYSbMmjNESVt+PsrUGlLpsOrYPVCeHMVhnhh1bLIefIoGYaBQwN2p7cfmAQjs7VryLYzR64wcAFJJXI4iZmKUZPjQ2U7fBrqtMOFaRLergKQW1biqLwlUSuOxFPYbEw0K+l2c9TYIA3fjYc3kcZrYSp91WmeRTHazBROFr1qSOPWmt0VJPGER2GDULOiaPLlz+q3aZBYanGfQ8zY9IR+xAoYRikdBMy3yzEwNUcPgMNedzkGAl+SU0f/MiUDjfm7WTu9ULvrVHsMOUBSZx2GuNtAC0zVdWid0pjuPJJWyBb1BcCfFKnxIBm3dIQ7Z5iWz7gKTod41wQeEoeasmHalZW63NBDftv1CaxQzsZtACsUrKlg7fmyO8tCeanKSJvXntjO1CZglogZ7TBcYeGIa354JrzCRhZDPAoOuzK/4SU7BXWg7hKG5vmWzTl8oJHyAGtqH6fgcHsINqGgqGNSVJkryZVWEmK9ZI3ugFdeNfYwRU1kqH1oaslBJdu4dINoKIK0OMekNIBrar1QVrGShGOj2Yo34VzFKasGU/EbSNtddkgySkHfXPtLX4iXHWcN8eQhCu85KidqoNGzJWhM95Dss5ZmEiH37Q4u/G+4FDShLza5EmbJuq2j4To4ti5c9T1bosSJUPqNqM9JNUt0KKW/n1p/39jqQdb0OHFi4iUXaG7cmfPk46HX3rDh7z17geI5SJTmtXRD3hu1V6GD/tXvFMCPAoH0wC9yEVTuT1SpYWJDHTM7em7awQAHF0Y4uUHj4uEhbj5s8IviL2c4cmFRcK88PF2IVEzg0WKS+JF0mUMOeRSlvFb8cVSK6L9KCvDcI5zliDK3zDfDlJsML99TTsRkej/d5KzKnFRTq7qUfM0OctZnefo1kjpv1DWOCSaZZsbm/ITfmv9q97doT3u9v35tv7fsjIq34iPHKmtan42yVxn8uoeGYFafrWGwR99j03LuhelgHtGY4fNqfOXzOe6r3xvnGuxwwC2+Rde4rVUW/2okPeixbCVtK2udP26db/Kb8tFMEBDaLw4M2EcHhjGM/tgSRChhhPP50VFRjJJjvOPOj41e9IyL7kOnU8APCimx0jyjgp/UHuhMUIV7feToY4JJpjR9LsezyeVbTE5+irySklR6s9IBBw6jr8T3zflNMc+EwTZ/dIjLMIr/Wx24KwCKKKGMCqqY8BgXeWZdfDzfeAeGEKL4nxjuE/fo+DKVKYlA0h1TKl6JpH6cTHBVrGLwVQ4y+KmGrlMaafLmygustXg3Iq100EkX40ww6VOeb0wzx2/mWWAJEsuQH70KGnTWQRvZmE23N8QPSEKq5pQgxym3psImqgf0xkhz5guOswAeHrBZPc3ZrrE5uzU3Z7+2uEcucHLozt7Tbc6c/50r4oDZmghv7m7kDquZ88/MC1IFmaKSsrwyXB9pjDbHWuPtiU63lsKcji0Nd+1JSecf/+A71/4qPvzXHijjM3guMnPQf/vYGv9aQli86bwC8u0gcE7MCDC2xQTSFM4M2Zy8BXbnUe0FQPvvIsMPMxMxhQ+LMmdq/3NM7sa0Pyl1xp7y6qmen/ncMr/P7YuDDPPFrz4LrhP017CIr02xZ1+/JoFq3UiDsdZXinM3YXkLK25VfeI3j1ivrVPzXtbMHyR3dSwTIU7ChEEm6AzNx/k4/zc/5yPnch7ncwEXchEXcwmXchnHaumnFKlixIQZCzYcuPDgI0DI7WEvAyWKWhwpJ7P8yY8DTrPLidjp7tkZhO1Mt+1sACdxIsevn/DMQP7nigKIAVeYNI9su2OAeJABGZMybdtY0YVmzZEzT28FCvdVIrw8pao16zZs2qJVu3KiEEQHXR1l7KlPf2azmf7MZjvnee7tAls4hMuNg4B7pCjRFI8rlVyOYhUaRImVKlshonrtZpFVlT2OWHRmA4U2YdV04bzu5/3+BDImJ9/IAwFZ9wMwQLZ9DAhA5v4CAQnrwQHZ+TM0gCSE4IAkQsEB2fDC3+o8U/JuNj+X4lcnf+5TvIvlPkfz6eAod6H1USCWEqZXWfg23kZKP6dHB3rKaqHgXMjaS0XPKb2Fsn4hf7dQ+X7v2NszzQqfmZ+vNn96/1sX+jkLJBC3lT/h5sgX7/vX5d/l1flm5WJ3Gwu0JnL/+tM/Qgu0oJJKKc3i45aavJyKq6ihqGJLLbvCiNXX3mzUalV7OhJlKR2HQEx1Q26X7ZTcJmvicdkmZP9CcoCH5DxRrm29cpNXx/La6vxHxrO9PpRMDR71xskyby3ibcLmYzX2oSQcGVdf2CBeLJakdRYZI5zUcffgBsjz1gxCBRbZg+tzwYVv3/I+2YgibHPNAwy4u31bcgKSefBsGGKJQ2mQSRtFq5DKHX3gfeMEvPT7CxfhMwPgdBvwUj7RWDO+wpG+/JkeV/j6eTHesFf8/ifT3/DHW1bPs+1fDt3j7GWutD34ztLpTZsCmYmy9TJOpq/Ivpu8HW//RtFdlNlYpWfVeFqDdTV7T7uW/03r/LGeR/t2XwOvMOwXRj9v/NHi2hLey9yhOJVPM+9EXjJ/LAuW50J/fC0LF8Se3JNFOzKZxQNML5lLIC11V42mDVcjzHd1/ElM5Sbem6Pwfwx169kLP5+2SmnE0ZHQemhX9pGZ25S+SIpeC7tkbE06tN9PJGxxPq7H9xdrzqWPbt2kShu7X/G3+YMoATPfghZ0W9FjQmCR5fm7k+WRCUaHL6mBOO3E0ti+cJAYv7AlLjUzpGcvJZyhcNG0x7CtK935HiHZt2J1qdGj7drYqWEyx6ugWp+ox9oZ0btXPdf63DfPcYDUz4T+uQ49EsC/7wn02DA0A3MbejQQsmPPoMfGmTI4915boUF2z7nHuhnTN5fLU29qlOck0SQ8FctmUSr/ONa0ScgMaRFQpRbWHV5+XJrplOv8NGxubRvcVDnt60xHmUVk7HFneO1Y/23ci+pxz41rWvNaVNlQoUndba+znbtwrl5TGjTmWPAQS8wwxQprbCRS89Xa3rjHrNrZbvkx5kg1DZsGfeGRLZWyx7EAwjnqutKslU1c1S5tDSys+mwfhanPK/MvjnwyqbtB2jv6aZskUrYJXQ+ZIx3ln4aChGz3JXxnRom4r4ExiZSqihG17BjHYYlacWKo/M6OOTk51Vc2xKM2Tp15HdnUS62yNNEt/Ad9SjPEqArUQC1L/IXEMmRWWGWNdTZanKY14W2T2+rAXdlRTBEllFJGORUUQ+QnlVRZ0QoSRSctpsf8WN7QG/FFGoMzOpMz5QeFj7zgOLLJgUAW6eDJIJNc8sinIDxzPcb/9h9ANggHbXzHwnfn7t79Ex0XZ+smyhDDNNFMC6200U4HnXTRzQij9Ek5ZWV5FC/1NW/T1FGnErGZU9LQs0i4vgyo3te2bv4YhO6DCyKO00vcxzSu7TrWoR+NHl1SmRenNYUrfurP/LHfZIttv+N3/Z7f9wf+0B/5E/8PymunwdLi2FGnyUvcqSLCKZg0sNpkMzzxiuPzvb2m5amjngYaZzyToWdKH/0MMDiXuc5t7hK5uhGjWk0N8BtJM/fRTO2e057s2VZ0eWdVhg5Fj6JFnnuKpyaEhYJQMBQcRYNCoFBy0Ek8JCAq09rWkY6b2k7EJNuY9/gV+3GfUTQ202ndGoZszcfQc8kYk984kTwVpMLLgSN2b7iS0goss37cjPRttOpEFxIwnnnmTIQF3cembXawk13s5nE+hxPpX8L7noN1PngDwuAIEBKFxmAhODyBL4CCiSQyhUqjM5gsNofLm0ilzzVVOo9D81LPclgZcmU1xHP+bf/qgKur9q3OQiS0iVSeRjd4jl2UJqu7wWHelufharGrtTq9RiKTK6TNzj2zg5chU5ZsOVq06UiUNOlqNGmxfI3fB1HU9f2KuxKupCvlSrvSr4wr68q5cq/8S3FmsY2WWTK0WXrOTygQ6GLGX5y985nuuNTboIbVrUpVq9YHVa9GNatV7epUn0X+1IgpppmpMb+YrVlK0a15LfqwljWpFXMpq3VtUp4KfhfNPAvVkxZ3lcKkKi9wS2Q65Z4WLsl6r7JVZ8nF5QjNz8y0dHjztjvc6S53u8e9jp/TycxfSZBEknU1DVLbmHAerewQy/17rzQ1DCq7d6v2nDNE6IRPGy5U3Qc51PoxbA8MayWdav7c9QSLdjrSmaQ06Ulv+rL/rE491BdgzPkG5JCdoJL9Dm1sw2ulitazm9nUptdBMHehda13Petb/xa3vPX93eo2N7lfG9/IRte9PyNvY6StbWtLW5EYiNOQlqpF6OauTdLO889zg9d89Vgjqz/z7zQ+S66Xo5ztbHd7O9NfnS25693oZrcQQwVV1HiAOhq1mdfZjzze4ACMHv4ilQ/2xBYc95hWjZ3ShBH6kQImAolCsxElVQzCSuigZoTT0rFT3KhaSrIUiByaqSixo3/GIkncF+2jY0CJIXuuMKKkKlSPj2Hm90/rpsu80P0MMT+maFFplvPABvVJE9jgcou8HSzZQsFrs9JiS7elDnp1NNagrCgCdrciDme5VyKQuTkGOWhnOBN42Gufoqvk/LXii76autSd7dFALLv/rEQeBW1IDY3aNEq+YcLlUW87shWrVLnKV0x3uNFNLVHJStlQ7waVrQITTCY7OSGGkNz8TJ7dK27P5Ds9BVXOjxQu2F7GpyjFKfFrZ9gvlZV3ur3Sue6kk9vKpjaGkANGcrpSyAXTMkRHY5KQHotWK1Emp3JgIbhqtJii3VpyH5RzrEmr1qZDn9KZYzpsJjapwyfvRdN3pYfVtVhwOps2t9RJvWCIc+CRbC/Rz+UhTH7iXUelVhXqBo3/xy2K5HXVcnXdirbXZgZeevcarwjwrPgVR4lXdGcCNqtZNMBlSvOsDjbQq0pNkzhKTY86hnmrjnGScB8oyvNXu9cW28yejajvlWYv7bPiWPWWxdvAYA4ixi1ANMhliv6sTjbQrIddmGTh5HXgqLMU6qvk2PMXFS05FjxuEyFFYdpeqjbuaS2b146Xn0+XewmDwvKnFuRV771BSfe/ERTI0ZBRw4bP7fUhGJ01G5hw13/qjwu/zw+/v2rp6prh3mg3rFbaVaovQ4QcdYYsOXrFF0awKLFSZStEVLu28gq+ZtZswXoct//dJt9H2qDlxoODss3M/Gf/cyaMuaEoqYyrSa3HnMiDxU3dz8kRg+HJMfd+0mJ4CK+7OdTf0Njg46eBeCZwjYlPha/k4v9HBf3nUaMr1kWQeWZ2cuApSCyCar3mbBsBnPeuw0N9FziqGQ3/1KFV1FcGVIWiU7vglhBoZ6CMAiziDhE1hPRjF/wxepTGJjhjgTp9ZmacGlQMDoNDwuhcgjG4fpN18yYX3DeNzt16UP1Qo+6hRdvdqefe2uySgMn7DEw+ZKDXz0BveAusltjUSR1DcsdRyAkx8rNRJ2avOGHaZwJgvxkVpy0wvgMBA+MYdvcZfUsDVf/9CcOE6XouCE61UeuBgyy02bDkzF+EZHkqtRqMHnn7WUWgmAxeD6SPKpLG4iH2D7Goj/18LJZEfxKLxNEXx/5R3B/Ffi7mXfRb3LTo00jq1wOQ8kNUS62js8TWlLD/tKDwpk6TFm260MxYcCpGXzxBrjz5CvxQqlwFop8qVZepH26XHn0GDBkxZsKUGbN+W/DH31wCGeAQ0MhjUuDAgKMXgkX5KqWMfT4ZsuTI90OZCjXqNJS0b1SbDn0GTFmwbMWaDVt25Fj+yZlQVQvRQ1dG2PNWGWnkb/Aoo442+uTHnMGsZj2HtdD0ZILJkPVYGrkMmQoUKT6xZEW5Kp9lpC/i+HMh3rjCiiBqO+jAoSMnThfNC2N6PuWW7bjcHq/ngqT80+/NP6Imi7fd6WPeQAimaIbllOP/Am73IEqyonoKIRhBMZwgKdq8rNt+nFfqCAtmFi1ZYRurNVqd3gMEEoXGYHF0BpPFF4ilMrlCqVJrvDMFzPDmIIFmBdMZTJbXtBsybMSosT7r3h/b9NU1/EmO2z/Z59vPGZ2uKdPef0hQe51cEWcnhBvsKf5/eViWkt3hH6LJrUx6RobNlZnNo2njX0FwL07WBAfTV8ommNiWadvwXC2PcQ80sBlCoYiBkVHpjmclQ9BE10B3cr18bWHiUmLvy6zikDUcWYCLeRkIRsEY5Wsy1u8Yo62ilAP5JG0OZIFd4cGSZI79guCbgmpy3smMJZqRfd4c0jk0P81l6QNZhsnceVx4zw1eY7k4PLY5LMlHvpFjj4+j9Ytx+3e03wW1PjlvBYkSD68AUaNuo+aQ7XYGATKgYNNkzIo+Cw6cecMI9VWybMWqteo3adG6QwU0hRgnP+XpzmzbZzzrOc11fgtcxGKHW96CbbnFuDzur7z48faYo/84eeKpZ557wZmP13x5SoOTDi9DpizZchDkypOvwA+FihQrUapMuQpEP731DoY/rPfeCPDBS6+4cOV2uH9JrrFWeZRn3S3RKvlnibVwmBXmY9EI7IdBci3ac5SmLiQABIGBN81CWbJm1eYLSQtpKCfMEZ4qmFJQiWpJo9XpDUYXU89rownyiR0b9mx99IgDQ0aMmUBvIMD0oQbbiUllAKdApVa95mwDpIpN33YWnvKDsYWjZGZCMaJalp36jfsVZ9tyrIDG0AWIkZ45JUXpbtt40xx6lrOfE5H27zfMgha1+DdErFYCyXnT9bOvJwZIuAC7eiPzzL65M3T7E1E09VWsAaeBbvi6Om2oUg05C/SvX01UrrocB1rApq3y1ZNPDU0VqwpLbHIeLgA+tTTrjlblL1tQwkUgSYtubDVIbHtq9gE+dbTqpn7AMjsBCFeATz1tlag6ZHYDiGJQkvZKVoMV9gKEuiKfBjoqVU1W2Q8w1FUl6ax0tVjjIMBR15SkqzLVZp3DQINilE8j3ZWtDhscBQTqunQGGVE0Y1WoPicBBdg0MsGibJqY5I9c/HVlZddIWjlMSYvItLQIzEgrt8bS+skvaeUxK93uNZNlrOIplW5PdKWVX3NZcE6vhbQK+lCW8SrXUubO+lETaRXWSjrBzMlSZK+USTe+1tIqqo20ilMurZJUSPdrfstmyhlFS7cf89KqZEHRTFa+evwLSEAzuZ+SQIhQyn4qSx/HoZTXUMpdKOWD/WWP7gk67dTSGxgaluiEnHoM/i5H98fFpiEF+3scPZAiNk3uU5kxzpnTg2lzsj+WOqX6CqXKiqQCaPVaNaVUnlCqNRyGHfWWeTaOUyanQpVFlhiwzEEcxuH/FY4g1397PLjcX/grfyQXmOht4/myv+JvOhfgAnE/y3O+gjuJJQrRMlazls3rL4gMchKER9r2iHbbC3ef+tIdzXkxYl7N1/P/WX2+2/+9+rrvm7avWLtp+4Ve9nq3/PXhVn4Zzhhshb1fGxoZHRs/tr0YvZdIpR/kNopbTz7/l3+99Iads8oOpu2na5mvbuPw1rTU25tPy5LndkpUs+JbzRXc1o7TKnW1k+OLDXqxFtNs4d63P0jWodmGNHYGRmjCA5E97a3dSLX225sPtqremGwh1l2QNffRmgrsNPappy0Fe+f4cliitv/quXUf59Ohd4x3h1XMOOT9OdSbHXWnolNhg78hoj8GCy4ChGuLOmuDnwiRF5SwHgDFB5O88gYRfodPveKpW8cIEi5arGR4BIXKVWusSvY2EjeWbyitRrfWeoAcNq446KUXclgKql2yzV2wNeT8q53J0hr9AqY1mR2NQxmNIlnyCOQz4SMQF1397bTDuiEbHkKZEkUQYL08LGSnXV/iIloE5jV3sWbeJD9YH0uuGDNlZxJdc9kbKXiKYWj/C6jRZsiMNX9RPBrKptVHqza7dBdaOmtffJeGtpPUJrCu1W5L0XwpUf1xsVf1/6M7A3H8++WzFRKlLHQRiPGVDYHjcawilh0T0Ynfg3I7Og/z05xLuowyTOYSwS52OoVK8inEyFCiXkoTCi7nikylctAIRaKNNtDE+7cSf5yFFCWaDFmw95TrB4hhjEQ43VqBUpXqteo2aNwvi9WtxSPo1K6VJnXupaMW7OTpnMrrcJPtatf6WgvbV6tejblgs0hvlox+epVnJP9bryszPS7XLio2m/telmKysbjiPF6shc8OEekmlfbRppCVvaSkKDfeMETfhzMzqJvZ6wZ7XN+G+vwzpsSPKetg2ns6ZnmoyS0SYeaTcc6dwjnrT+zZjNVNrB8PkxJHHLD36QTwF95HxUyM3OeS3yeaNUfPufL21q6jXCU53LlXUihp1HkaJby6veION/mO7kzDn9uHnuaicSyjsWmLKZPhGyWJJ4moPLqf3e6KVO6EW5KQ6imCkUzSIrpnsXK/WIs9eMapvxVRfoPO+Ua25x0k3WK8B1wI84qO6Hj9BHJUaNJf4RRj60bJKmSRsnGBXPsuXclaJ2lrLu1iTYS8SCKCFZTNlFhwhXjJHWqKtUrn4iMZs2A7rTTW9SwX90ET9JqmRo46klQLNbVY4Bt64rIrPAut9JMojfBdEF8m0Eo7iVLA9iLUVA08x1E6IWWaWkgyuZCQIWglX6L6T26T3R1y3HRDlqmEjFTCBbtUxs6mBsop/+77iCv00UPX/eVCCw0wQKibh8YbwAtoohGqCuUnFaUsQon0FPFDl3PzuZhf9B2WgDqJYpWVilVHDl1b02SWGaaYYMwLCiRfef3GUnsn3v81rlNBjv529fCHBX5PjPJwhpyzecLKTW7wm+XlllIaoh39i/vCzUbGLQThJ5d/EzO7KE9+P7xof+8EIBCKn8UK2tmRuRjFJGv48sQbGsooIo8sVdCBBLG57AVrYqW7epR2vdWjDbro4I63qIIm11JCsd19WWOql+pAypdKC1u0WhsngrY1CNM6KX0h3xD11Xpd7fZg8EsAkQrK9fPlLVW2LvQeiA7uGGHACEOwwHx5TFy3bJqgePncFpQvL8x9KsZ5wLkqQByvpxkbDZVk554Ix3885pHPJEJgJ1/7evGMMWpGEKbkZpqXS0pd0fn0Ijf3rE0xUcZ2S/aDWhKnyatNdbESeRVKIknEZHGRlsU9FxaHOmpLTe32PevdC/CYWB8qze69v9S77NjrpoVPkbp+b9L4B/6EfWVH9Nyu6DpWROX6hnmxxoqWs3GR2fRx0GGPfk2GBjVdrNNy/YhMhOhTNlNmxRXjJb+tiZgLBwHv3g3ipP6cus0ZNMydVQijm887LmSdKH1UXe9HD12KHvS2JUbdBsUUlcJ2a/3xirq/Epvly5ix+ZPifDTQhznTYDauH8eCeMoYIwzd9wCrLDLP3H3/4g1/WOD39Cx/Kn5Zb0e9TNtCn4Xrr5Dr3y7HRxzAJooYqNN3kyFTPMzZERIqlKhEicQQEIirVk1Cuw6S9tpLOjwqyWQPx2QTzyP5/JAjFFvBLTglYPNXkNS3hgfDx/Hf/qnZs7rPqyTDk79g0RJlKlSpWa9x81btR4EEr6JR+s/ohm0YsszhV3wF5HCMVIQcrtVuMIeXbDrOwy9ATGNO1U912qt5z58TzkrweOPZ+Bw1vy05xx+ByhFb9ZwuWIg6oAxBXPIgTnMCACCEEKKMBHVAGRQwDMOw6MoejuttI1kqXQAxjLTWVxntkZGZ1R/fPn5CErk5jcMYl6JUQ9a+p4t2rxf4Zm44QLiYvEuCUrXaDZq2ZNMxCLwAMmFSpc+CPTRbTl7x5i9IhBjJMuWd6mJt6UZql6XSBRCDIQNHMYgjCgBEkwJJUSSKAIRRUZCxJxcvrxg5i4uLyciQFKHc8+cGywi/dsPwMkSDe/HGNZzgUr0z/zsiwhxUqlchqpO0KJ3ScmRfXp9T8gt4XhX8m7b1cxDcaoePfbBijqfb7/k1TKnzaf9s+7ardVCr086OnWk0HZ+S0WZ23faLut1DPZOa9RXA37FsaDaZq9sRUABEQGJR2ljnQRriItZ6c7dxpKjyPcLhB7LhImU3H6/vZMP18get+uX8pgDflhUgKos7WLpQbfXEQ2wnodrrBk1bsmkC7b+prInojgeinfbnGxE7NO1J2c3H+9iNYRpPYdhk69oXue0hz1BZDnylwSzJfWfTFFqnMxhz7XPdz/v9w7XJl+Nb0Uoa30bco8dZJ+DqAmQGF5LMlRudXuGpDI6LUOmBJDKFSqOTQJFvvICINFlyK2TEmAlTZsyZV+GjBscO2aQ1b5SyNc45ApUjNh5bCFrUAWUI4hzKpjkBABBCCFEGRj0CZVDEMAzDYmOWGPzGIEegDEEcTx74oUegDJrznRsAJEldOBmgCwNmZlZ7xhh7Gy0DAAAAAAAAAIAkSZIkSZIkSZIkSZKkLiIiIi5zpAuTEwAkSV24cZAHN24cNDOzF83MzMzMzMzMzMzMzMzMzMzMrNrjvfzlh9cw130gqaHOGThtGEha6qMDgCSpsLSgQiBpEOtXIVSIjTdjySHVk3pSv77mEhKeJsqyRA4O/Yf3RpNvIvHxQPSblgxyMg6vsmmYgr0IyI+WGp/BoKXnWC9pA5QGUwA4QBldEekYY2KHfY+dRBWBEwVZ9VTqTc5m/xxa9oZWLQANtZU6SE/yX/wMGTFmAs2UGXMWHrJkxZoNW3bSGfeeFipSrESpMst9YNeoVadeg0ZNpLutZSv7hXzLDj/oKHiigcMjQCRIB15g3koVFNL7ZsmmRJkqdZq06dJnyJgpc1w8qtRp0mHAkAVrNmw94sjJUy+89IorDz5ee+sdDKwAwcJEiBLtqxix4iVKZmHKjVOkWIbrq4rTpQeHcaeiM2Zi0FDOdvgFf/xV4vH3ZF8O5FCOqBh5KB57cP+h/5JQU9dMpdHJWMb+ClMAhGAExXCClMkVSpVao9XpDUaT2WK12R1OFwAIAkOgMDgCiUJjsDg8gUgiU6g0OoPJYnO4PL5AKNJqpCdLniJlGWWmKqvsclLzIUrSn0kzpyWVTkZOQanQ4f1iVLJky6GWK0++AoUc/fWW2KWUVplyFSpV+SBQkE/ChPss05P/++a7WJ2eTJAkVbpQB3bhVPq6LFuxao1hOV5Q1hfdabIdu1X32Gufs5vty3V6HM5JeqZvGgpqNRtYDrajcXZxc/cCj4hEDhUdtHs69PD5GTFhyhyXJSIyih3oun0cC1sSHgGhe6fvV5eSU8qUJUeufAXezWrPfRIizLyT8IU4x07fb0uadBkyHTjyT094ATh1HOKS2K4fxinElLvsWbf9OK/7yeIJgkJaD46/seMFUZIVVdMN07Idl9vjJTeezvg5FERJVhZ0PmVNh+cv5obleEGUZEXVdMNE6c/1SsWoNDqDyWJLpAAIwQhK6w+2ze5wugBAELGn2hwuj9lPeCgSS6T9obLa7A6ni6ubuJ+fnaOTs4urWCKVXR3jaJ5q1qJV4A/dodPgky3TjWqRXXY6KAwk+7KgaysQdnSMmfT2MtT1b8XilONmYZYaD7/K0NDJFQ6u9VCpmMyxp4U6NYVit57zdnw+low+1s3P3Qxt2rvif/jKbxuc297Ed98N0m5OCedlveL/HWgiITDR2Tz/uev5QRjFSZoXZdW0XT/My7of5ytuPJkhDeuGaa3tD8ww6odxmpd1P049p/yUy7yo6m6c5mU/7lGM8IOLTeaTIwSVrjLKyGBGpx+vVgXFQNyzHSnoXJDVcH71DcazDzkoARcHSonou5V1mfJD/8/N1cBiCMH3uB01bbwAlCTwy92g+Oqjvu1H28YC+DSpP3dXB4sZHw0fvVHTxhRqhM4BrO+uFlGsRFqyPQKSbFNdD/RKVBjXkW35OrNj3NLRd4vg/9doNXD69SuG0y+iOOxfr0b2q8T8L0cDqQI6rRrB9zSflgZS6zVtkv6/aeFqICWAq6zUmZUVPPiNX2sw7/NCovcrVAMVud5wxGaH1aAxLIWEBPhpf8LVSHSWFKi5bHYHoQq6V0Av73aaa8DJ/HL0a6r1e7/LmM3t9mnRsPYVog4oO7d1dBMjDGkMNKuLBS2vWVtuwtl5qYjFyO8+fPrz36oVjTv2ox+dnF1cjetAYZIiFuX1ZtTvlaedlRvFyqjl9ZagI+RZAzX2zeJVA6kjbG3NRUxHWOYsMwiAXz4JAtskRYU5w7nRKOT19qCnLIBUlyX5eKQ+7GBHr+EssafVAOdWk5FRi3N6O4OGs4ifdhMNt5uOnFNOMK93hRk8qXV7eys9+jKLbbtbt7lvxasQL+g4r/cEXWeR9Gi8zHc2tzfoScuwT6VltXN4+4KetNCfVwuCO/2KgnpnyoF5vT/M2EmtKRTx7fqBjdi1PaAnPaoxplgv5QRbXq8GfWkh9WjOpj/MbO6goGst1T7V2Kw3P4d3cNC1koHzbqPlbnNR0oCiXLPCvD4kzNhJrWVUDLCRTgzDHNc9gACHSpBD05DWFv+OVKWmag52pTRlaehOd7vXgx72qJRS54kkYCBzKLcgJNSflgAMoTWKA7KC9qZb8JT5luJk8xfMl7ep7FoHcjKKJLmV0NocZ2SjQ40TEAfk9r6cDmtZuThCe9IuxEYMHZ75/rU8umiYYnQhToVyOqJF5RJVpEfdU2iad0otpyNbW76O0Jm9BIzNuI8edbEmFDDFNgHjdCino1tZvlFF+jQ9h1aHu+E0l9Mx05gp+etQWWjdwcsZG2FBixI7Mb45RUvrcMtVjsBujW8Zp/V1RstcYRbfmkdL63DKFqiTIbStdXWiGCGYt0uG7R9GwhnRaNsb5y60o5V1CBbYp0Jo57SmEyUPAYEaAXZ9+ApnxBFdIuBoNHB093jq/6MjXZfRpmts+JT4/J85xf0+urU90h8NugA4/nO6hg+4Hg6ZfwlIPx0hQN4JgBgP0HEBiAADFgE4iM4OBMg+DoYAi2CkEJ0dPBILkFmAhFmYaGu5OG7RPEWiUmK3RIVEs8RryQbJX1oGXDs8PYi+m76Xvo8eTY+lJ9Pr6ZfoffRvDHOsHTaQsZsRxYhhxDIOMAoYNxhSxigDZiwwvjJ+MvWYLvbxzEzmaWY9s5/5ivme+bnzzy0WNrKFfdkJNsUKrMQqLGZN1sEIU0JJII8SKqhhkGFG+c1fllktiIvc5DY3zc1zEkfKoZ40LGXqS4kpKfVIh/TnHhhe/sYMzKp48yzzp3U22WGPA5LcWmAAJfyEg32yuFwTJ8RunBKarZzcaemVZtEDD/al+r3x51DPv+cPxZJ60cKHDyX5zFKJDjCpcd6Bm/vIDzgX4aJchtv2TbMEFEgArpF2Rg30szCZwWTYh5nhiorDVQwio52xx/iQcRr+HgERBqYWMz5SGGlj4pgzAWQAk4+z80UzZ2RNNLkUU0Z1KJhjCSz8GE6hNPTz/SEC7qxKJVpto612h+K1IAAOStobcCbM/7P2eitvXpPEfz/vn0H3DPhLLZdJWzNcs77fF0Mt2ALM3/zM2zzN1ShG4i8n7LPLNpucOHJgjwMowh+/fPPFJ68saVKnRpk8ObJEiRAmSDKJxP4ZE0k4IfjigD22cDFGBTYQDBAMej091X+66EI5utWZjrWuJU1qTM5ykjeZykgCkiD7Rf3/+X80Pr3iumL4Jmc5bTlxOWE5djl6OXI5fDlk2XnZZln/jfbr36+fvp57feq18mvFybWlF0uZS65LTi95Lw1easAP5qde7HhhcKg72DVIwTVMea/yb67rXZ1cQRse7j4iQ/qwUQXy5neH1Au/7eKAYOd6utN4pr6JtVvIfkSl3qg+XR+OEI4Sjhb+KhSjA9T976XbBYDk0AAAXgfQAXA3AAPeBcihAZwPkMMD5BsBUgCQbwZYO0AeCrBugN0SoL8LsNsD7J4A2xxgDwbY4wG2MyBowSLe5315IEo6dRkqWZ6qmqBbDVZtgevYRoOnHGKDA7XUz9Lcn+CZZy8pT/Cs0+wP5ks2LTpyGDCQx4ixfGhoP1iwVMiGjRKOniiVLBkRDs5PNWpUanCgqs4a5/XabpzMxd4QdLhoYKDNgBRjDymwYkWdDRsa7NjR9Mh7WgKUe4qoVZJ2I/KMm1Fp1pZ6u/YNOUTZHA3gAjiAi94sBoJW3K9HjRbkzoMYb1EkREtmBKeBrRlz/JGRBdi2PbrAH44uQDQQCAEhiBaUT3ToCGHKVCgLGGFWA33m3J0ZmD33eKz8b23W4puNNorhw8d3u+0WK1SoOBQU8fYrkeCMCzq16zCsxzWjRG4a96c+U0aMmPHYY7+MGTPrlQlz3npn3owZiz74UH+OPc12xhItWv5CdRRjugxjGEiMY4Jl1qytWG21VR48rCEjW5cgwYYkybV5nES0M7Zp0bLDkqVdOC72ePBwiIXlCA/PsXLl/nlIVSfHPggzziRIda63VM0jfPBhcB2YukRawK1DBz7XifDrJSboz9VdA+65Q7qSu0/pPhUVUdOmiVmwUOLHaQBmSNCCImmHHaQdcoiMZMlkXXKp5I4zpjBDHgaGgkiRFCVJooRVJU1g2nNbSy5RxoGTUnnoDqI9IDVx1TVa2LCVzlHYH2bowsKW3kN3qTAh9c/eY56QBmezL5mQhmdzOCGNzuZuOCGNT89jhgnVhnaGsw250hvG6pNpYcmEutEWLLOj+9gX8Peh6lrh0YB//2kKT7X/fykv42n/+3+8GfhPy+QwvOVyV9RXjv95LMz4muMdjyPp6yGUDpFSfDOQ9oJ+Jhog6brNkiNx7fZGTny8VRtIUqJMRQsY9Q/OlRpl75FxoXkAPCxEmM++iZcqA16mbFly5MqXp8APRQoVK1GmQjmiSj/VqlGnvv/Dk5MnXvRT/KRz93J8yZfz2ChU4ljNS3dvsJ55PZbe5Zd0ed/XesW/2UdQ7YP/uI4Vpvf1SzcX7zsV5wv0SVyuIWj6UN+ASsd2RtW8X1Nk77L3qDs97QUAiP+bN30vPkog4EERPooU7q/JRh25YgrwomTn0gbdUl9Us5LpTmckz4dpKscByBopQPg3QBj6B4j/MuDaH+BbTwAc/g0s/QEAEQCga6QYEYa8HVIn2otUmaGddwHa2myrFpzTRoXUJ+l4rNT3g4YuRTPgc2n0MZCNtaV3e43DoRzuYGsmFTvopDx23k5wb46uZGTlWECFwzhkh8P4iD8YzX1WcmlhbgRTB3akeYWc0DJHA/xhLkg5IBBvntA9y6KSx6BcQXFZL72lbFrJUgQzsT1mlDEUvS8xXFgSq/tk11M/0TyjSCJh36RKNhbQNmCzD06S6bsViKScVoJqGG6vcRV4LiXPA/Tr0wo8e09CYa4TBBk5pyaERyBxdLSBydsTcYLalWQmkhkSa6N5AXktxi6quZ61VRcwUGmFhGyXvIfIZFF7klkgGFm5XIklgW9lgmbT0UsWqTf7DmR6TwOFPvtLARFpMEsWxa05GY+1aMMKi2gaalyxfn1EZbMJVdffuLqSxxtPf2lFcFyowmp5zE4EF66M2x7stNmNEDWgEyirepjv2cqDrIj2Pgtqz9fqQ2DQR/EF86QFNssuY7dOLvf0xdZ+enKhVYWpy11XN/isbJkErUGP4LGmh+9ATEL5j/uikDoXljqUmj/7mElC0TByvMfiN6U3W7xrBEkhXSKXowR7rynnIgkLyZq0J6MnlhxTAHew38Gg7pXKJFusbOOruiNx8SuPaHJ5i4wF0X924njubVOifsbyQvLvpCZ84kApbemon0vUUS3mIdbXqyTD3TMOQ1ZWMMtFaPQYSTcnyEqABayvMw7255kampL7nL0O9mZNWAbUXLF+bQB1P0Le0VixvKKXWvOovaodAoFkznek5gR1JUZMoo2tE1u3yCXzs8N/CB1RGeGFsAygujuF0upFQDgWnL7c+TobLl5aLLL5IwAu8p+BUDFvjoQPgdJnJmaeYizpW6zRlBkBEeBWNjo12mF38zWIiIdbbdZoo9WjT2hSyQbbCHLJ74cNAH+aSIzLxBitIDARGN6hLQwLXQQlSgAvBgNjs1K1zAW930qRW1HKLyV2KHJrDwtioa9rtCJdhMumTlT6vXIbNyMqJmblTo0vun2+FT6R506XSnr8bPdvk75U4/XRd9ZaF5rY0lUr+vZ+kZu9Vpf5Mduy7+vL/XgtPXT4vttmvbnHWh/qn/rUEKLf/AU4bLdHVDufDt64PP18mZuG8wiw4BlWu2lNAQa4lSlOtul2dzfdtacOX/j5R918729Rv1y9fZnULqy32/f7Lr11fYNYhaVaylJJ6adl3Xzft/znjlbR0PFDl2na6uYbn+362PVH/VLewhf/pE/1HnH9qBeVsrwUZAFYVceBHRkJzC5EAZVCYgMQpXZwSJchYpYhATATOSfSXIdixloVWpQHgzKzh+UqKoANRyLVBhaeeukBCsymRiQl9QcRKZIIBn8DTZxyENUwmYTFGhKMplBvm+xCu3kGYAYoXVPzKcf+kWI/0i08t1qJRv22q8IRQ91Pssz3YvZyuCUhVem7yoJth8obb3F7BCPqe78Ot4Ej96JsefoSH8qeSJKYsjAIX0taxIiymPSD+V4Qq5YNjnEdCUg93ZPdht6WniJdZFsjR3q7yUnO8RTPM4ynHbbTd/RGRqugVYpV/Ezuo+ANV7xMEessS9prfa63SKUOAbGr66JQHZ/FU836Ps20YNP1w8jruvQMkE8SpZImX8RfvXPX1lgPSUoi+Bhov81atcVcmlHE7tiah8u3ws38loqpmPziIfOBB2quRslNUl3n7ffBmm9NNbEIRTjcHKbkqKtf475GURwCZyyS6MEZGTVJhDMKTzRV5ksAy6QzvAgq0U4ylaD4VdJEAZBEFBYxwVZJsb5wcI0UMzsOszYQpuW/O6+jx0nk4gUArKgBvHT5cb3n+N3zOWYT93Pvlj18vHv+jO1RWfDflJcsyy+YtQBtN9P6tzLCPN296zp6zsxt0iIMLKoQzVHjhiz3h2DmMYzEKHxCOE7/bSKRWSheHBFt25WlLrEuAqvISDJVooaB3uVoWzUha5ocNE1iAEsYnUMP9KiqrtBFBEqWZfC7c07u2vPZyOk25ZQJwpy7k6kvVQ1OCwKoDCK2jzl1k6YIkzN83P0Ekl1jfHZgAbS51noD87icFtliEGug2/NbaTTFylk7yxrDj4JYrJZ88iA14iCC/Yc7L6PgRWR0+LFgqpN6Dzl3yZbSRBZZBiAN9YiIjW8UWGszDa2gIQg6aJwPqmC9AsAkieSmzIIwzUEg5UnNQYpKcpiAOZdCyhTj4hN7JirDewGjUPePscYLETXAQP/z/+H705a81pkFVbIJ4YwlEArYmnkCQaFm6hhQ/I4aFNWK7PvsneKbFelFVFk8Iyp5QIwwxRTgGmEaWZiCoQtk/KiMB8FTnawAKDBnwgxCU+BVTESQu+EyK3ij8wwSTBuXLgLclVVz4ioqI+XKxFi08gw0KplwUUJbFYVZ2FiiaAOt0WZieQhmRJyMUwiy6JgscAHSsSoV/LfK86aGtiB/qdQV4r8rbLpxf4V7BqkfdXu0kmxlHvognKTgyZAKmQB84w6xUMA90CCIYucO22bRCaul583pg+jkWkRg1POB4CzvIEopTwJAWwy24VK7LeB8I4R84jJCVSX5YsQ48oKwOweHQWVn1jUsWmnBYJcBtNKMq8zAPJY6BSlijO0Gney6o1lWmf/thMghcLBweOnR+rcwD6phPKqw66Qv1UjIou6Ew+ryHmEZ8H6Fao1S8hhNPlAPZye6R6n/qxkEZYRV0hdNozAirU4xUKGFvCaa2bOBuvFMrRTsikZOhuvkcEosy9KQ5JstkMcxdHaK1XQzjb+X+88jAe78pydbqk96eIpgEbBjBayIz4AKEfUXW5hSZ32RZqjnrc3g/FpUQOKV5SX5SUR0o8qA/QxrxM/Sb8K0Ki56hG9d2LJWKgLLgF9tCj1XPQlvzL8foSuyqswiDkLYcnMv/sSWeh66LT2JZlEFgsTqcC3OO62k0tchD0MaHnbnKTTUulwDq1lh596YB3rI2hB4NZrWXOVBerEWkuhmAT2uwM6+DSX6zso8dANJv6kqy9mF7hcAEJBxbRKSih4p/J3OJawqX9RifZNWu7KgqDXROQW5yvefZ1l1UU0A3kyfOB4lIZsmrVEa3ZRXaOxpYSFPWYjBBHEKVQi4FuXWVdYZjw4kThqgz1R+WlLmQEC5IxTb+KHq1BYflGq4sOtKsR5qUyhJ+IQmoJfr0tHuHLZeOUnyQ9VWA2IH6NApCwifmdnfIj8MJrxcTB31NBT8ZL/QzavPAmVzJcG1FiyYrBPqeaVNJ1BA4FnCRegOkEl6BjPs27/x+kmBMxxJBXolUG2uBRuiwviwbKYJkyK+iei00yP04GTx67R3jpGfQHvNk4H3Hz5mZhZ3C+j68giVdqIYOXJKdaWdKikE1OsyodqccjwyqBRt6kCnzj7jmmlNJwNKU6lwCR5Eha1PrgVwcDQLNQ7yEwqL2o/jyRGRo+kDkP9YK1UntvutxKP72GYK2DlCV+Q6IXQvOcmeim7khVNMkKe6TTprs0LUmTavju2O7q+bQEHMSCYcA0OkUJsxM3jYJTNettVowjPwY4829fRIDdbV3MbyhI7y1MxI7BephZEqSwHVyTZCuHCojSkJ+evNIoZtApA4MaePUNYZ8SWlzzETvEjnIdCQ1RJpa0YUt3EsKfG+cSn0lo/wW4XVMtVOWE6X8C+mnM3Nym2ZQqEUESdoSz64AtSROozZceXCQ1x1t8uCWFxBR9kXCngf5hNCirnXr1DMUR2uKo5IfCYRxQKLt542rcMGOKRptJVEKtSfNjZOtSr3F1bVFrRdFfVe4eWnE6j8jsqLrhgnMfbVm6emXx3oMVXnv4DgurYk9Plwaj/nPCG6TwLdex02bVI3cVUT6I2KgeTU8EZpDaZIr82eJ7QFAGltNHCn4s9r9bSXzCWjQVp04PEDcPLouR4X4ge9J4SkOGCZuLpTmwvZvlqOTNZQAy+y4jL8uoOZFmYXPm9DAWCqGgrShSxBD8Uaa7CxsDYX6n94ZMjsM5IPHgFbFhLeUYOQsJrc1K1sBpm8iEQcRYTEtQ4cfYaHOqY0n3gSrkbk1Qatf5USwzEcLD0hfSQ0r3NRBI5y/8iVUqlUNaidekHdTLhZqAu0hdWr3UVn4v/pVka6hsyfpG5X47DNVFMakiOH7rskvo7CRab31zIviW+UN0k/wy1J3on8OT/Z2vl4Z41Xd6Lzq72YZ7oB9RGlM1yJRkeGhqXXudRo69jqLJAW5YsJ1Lrkp1FULK+poYquY19Fe39JWEE4VH+5CVkpbmyxvlNicza11p6bOIReNGyuC6oUla8tVH6OXHZuTbgOVTKSicN0X9qdruhWyGb8b3cBZxq7cf9LQp6i6luNfkvybrjrnCDHWwSLpGg3Ur3vUIa0IsqokG1YlhHOXeG5Ce1UmYEwZoLU02J1kGwaskgatFgfBKKsY75bqzBcwL818vKBikac4pxO9/oByH5SmbQh1YSqaINCbYiIN66O65CmoZ8e5cv/tpxXz2cEtIq8/UHYKzPDuelE3FR7psPIN4wPeMuT8QWjaQ5VdkNk7+vaBrcOwC+hEvs4vkIvEmvkm5amgfRveTJHyJhI/ElJWc2Lv0v2L8JAVXQ3WP6wzAQnXjSKwjw9+wvheBDnwaeY3b8ygUvIbTzDzcD9z8SBrJIzPTVXGU2B0rZm/ttG9OLDIue40F9PN8LgUt754RpdntQh394I+pqt5ftib1xpSzd2WcB1m6mhHe3Xde4xQhWfDnIFcQ9EF7B/l7K7elDQGqCyqW+E+98RX1TS6seOp4PqBV2vV+MwC96gOGw2LLctqkDa4xYl6XO4drpQ8rTMM7LfA8XqoL+dIBjn6oOn2QmOElYlEfWh/5hCipZLrvID6ZlZQARXOVijd5uTGSraprA+OYcurzPd3N6uU7ygY76L5F9E7QLiowUJrt9HeCWxGnxSd+Y7hlOYN4frJWLukWQjXFN6RV8C7JqxV9U3KAHDIy8wXmhAgAXsPZ0LUT6dkUx3D5Pjj4/OKou73H9yUsQ/O/ghHVZLeVXlduH1NHXfRRvHRAqLbKjcUDjADEoPSPlFFXgjqMak0XFWZDtJFoxJGTuec1l1wxb1ucTVHU979FGVkW3O1aBuZ9XA6xk0ybZmkhZf/zA7Eg7X3TLVPa1a9uo/1dt1wHxC2OwaSLw2srsHG0VOAutDb9xJD46xDOEdRoOGFV9t6A8qVZY7e7g0erqBbuESqukBCjrAJ2rdAisauqucLZWIHo8sniW6DkTaMwVxZewYPU9TWnhrcepOWFjP/H83J/x7imfWFkEHvuKkfV467NUnOUnNY8SxwTYMG3nmv0ZIVhL2xiweCPFJDVcCrCCV3PUDLDscsKCiP88i0pJin0iOcFNmExof1FblbSVd1cw20OoxKhpfzS/dFLsqZIuaGx7WDBImT+bS7Ud3iCicZGXUcj+9juyfuXMwbE47TYdSaP7C3LTHB9Taj52sNdpkYmlZuizX3YeWNrhOQWOJOBovYlyn8936BjNZCCIAkZ+k0s/Ao3exE0Ce9wGUhx9iJc4A6+TRaxmklaroUK+v6VOSloRftgxc30pLYhvm33wBN63rUlKcqYXowQ+ZTJShlr5Dl2ZWYqZPgB09Ul8wVhy5QEvs5kzAIwEgN6o45WlS6Lfccj2VuRySeHQ0QGD2y8z6mHCm73vtg9WbKqvkmeePYxay5g4rY76B4rAgNQl7uZFvL5MqNRUV/Qnt93HD8EKLTIf8/UHTe2pq6Pqg+lUS5/l7E5tFA6iuDAGlmY+hkmDa+X9tjL4hp7LlFFhzQpmGLst3WXFFUwvL/kmGBsDquNMFQz5NTz8EpgdowMQiuGuQMxKf0AuP+IynnIiedLjfNj5tnFyjNyT+CLnDJhIjS/4FKhrtfBaxVajIM24TS4Ro6JNj0uNI4xx1xzLt0UijXic1kshuKvu+HIea19TQ2wSYL5SNG7NMS5mUmlUzGpCy4aZvyjgv0z52uuyMNzKCrzN8Kqmc2mObq9Kd+NMmZboztJsx6E6CPWOGvt4gaQUCBVPVDvmeTDL50CbV684PthfJDCyvQ22KLG2uf2h+XKjaIh7WNe3voVrgdWEA4OLGFFWN5Fb0eT0+WWcGyOkZsxIX9O4dg38bQlpYj8nO0Tn9gvXACxIVZBFlIN5lXBvLQsqOO2EAdT881q0lMgH6yMtiIwkCJA0qgSkblYUm8aT1b0RbnypNXjQs82sitGbdTaCn+JoPkuh2iy3kHcktTaKGdJKZjYocZ11k0mUMgHjDdO+6RvnkAp8TA4T/cyOVLNiGQu218ysdbRsrkw5FF7LoJwNEj85nTV3VRbPgVfJxKa4UpfWgHRT1nOQb5+jSIj3GJrpWvk41Z3rUvlVGbSyDLwxXO05o4EjnC+9uIJmLycnV19Q/4vs7Z5mwWx1nwRhqpU60I8PEFrZNZHRhDQI5XDCRUW3iu4sFXI+/Ypq59VtF5i6LuvOlJm6ArjOtCwH2g0UN7pQc/qpMlkIZHwYjgKMfyXKkAEKQt2vXyX6LTcGXHJRK6ianRS93VQ/p7pNvT43ktTJbXTp7ukAMR8cuwE/nw7Jw3ZpaMcN7FnDJXTj2tpTQh3nlvehiE/7zifqc6ZaXuz8OYvG2Ey5PZU/ekveDIBJRpyYK0kxfV4NqDOUeaPk6vcUKRXnvGj8yzjaqtvUzogLGLaLk4pY4f+7kbtCTp0eXT5Fdwopa/c1pJ1cSuWqfaf2ZLNVLD4IVZsO0Z5REABwjTNiT1HdNQk4QV6FwtW8M7RTBQ76wIgrAuGCsFdKni6rX37kzdLfsiEEp9vfcQHXabdwo9QBVXGDSCNvjpYAybuA87blIavRTyuUwvm0jSNIo4E2DyroNepp82C/MwLwKDXIkmQhrh4IJVXmt9YqcKHCnt7oCB3DdtH7JGjDGYyIf4YZOfjxQh/yb6HzZaEJIY92fyA+/elPh/cuFVIUZVTPNQikp5DdbFtQqdYOiilRLz/IDfmHE8GXSIfcYD2WMfSwYrVrnAXq1IcN0dHz+tkzT3CcksaS8UXM2/jlslPdSEH+id14yUqUSJVeu9j3RomudhsBS+CnZtc1WmG+rlADOM/1j7WP1OLjBUj1IqEWAP57G/mqib9GeMRzm4uHYGyS5/eIpqxT3R4jjnOyadkDv+Du6+jYCpU08LA3viMv5fC0C4IEfRSB5yWN4lgbsWVGSkeaHSqq2ulanXjO61IXmIatMAN7pYiZUtOtIzMrrVq1Ri86q1HhctasfTCCdB5cIaJV5G/HJoF6AAmrG1tjWH0xZ6Xk01pqow3QYuDBzesWZUCUxa1XSkqNJ7BemNdqkTruRKNyzx2qDwIHww990NuMJJ6sb87/tXjQCqWhH/eHM7VYawgbyd9Y4Uz6o7NsvUygCQZPNSOsRkufTXw5gi7HZ6XbKzFZ9nyVRzg5BG1ydh/HTtxZIgUsOg+1EIIz1xYanegdLtERp7KHmnO5zJhQEL2wLGLUB1eyEdRhykUldLZT6PWjYRgpJOm0IYBOkyEBpU3+QnPdo76360o0S3I5cHouWCz0tkMhjm+ZFTLoIBMEM1mAKTDWxJt+2zbhBQ3UDdGgFvRPnvOYaZTg7hAL4V3s44Pw7aeQCihQs8x/0f352UxgeajJ9/TLS7FF9Tgu1b0H8D2eVH89vtgN3b+m3LtJm3jQPIFBkwzemeLmoxsgIq5/jspzh7ZuhUK5DfhdaiPyr2RfiqlOQelZLlmiTsd0Be/OsCPNIL432oNQe8I47cPLjyn0L9tB9QldGSU1n94OBIL78rQQfEtZ1j4cVBywnSnd8GkiFH5gI+VFFGGd1f7Ikut4D+pXeD/nrPdcpQ8JKR27XXE5Ioc8ddrF+Uxq3ozPLgwNhrCAxi/YXq8LMqJAW5XYvDYVSlz8cMT5gqS2hwWua+CpYZiAdlYoMPhuE2g+fhH2ND+uUU+AMiYx/Dey4JXSWonMCOy1vcXwX53ImpnVuilutR1w+RDoJ7Biia4j3B8GOMsLnR0bnNIFppKMfCSFjH4CAx4QARwtTxMyHIhnZcSjNCLfJQ02LCJnqse07KXIreXE6dJiOxByL9gBSLz30neGtX+8cgWKF8r8oMV+tyKLrY9nUGt2DkYD8edwn2OluRRew53qC3/dfJXBN07VPHy2o6IZGJWvf/QlxTjX30PYQ4zL4AdQdKeolkhPAWVmYO7yh8FNT84NtB1h6RLyzQkypSKkXcfNaUwkF/IYWVXFr1uDbH9ryGXQRG0yrCdTYBR/vbTPu2KEuRb2U+xyv8AWCrdRP5YTE5zEARddkhbguL2NTRR8U9eD9YZrBGN2UNYsPVCFK/LXA5BSEKscf3+vB1BCja8OUo4Ad5sY7dqiAAOVd/q36fQR8HriOdh5W3NoSVln8JLJxunnTmDQPlcPS8zyMx8nUXE+puZrJ1Ja2omUFxWYIrZN5TpgCy0Um6GrxLk2WGOrMiFwvnW9aBYxfsARqbuzNYpe40rha/EfXmjChYx7ZUjSvn/wVFwwbb181sKUO7PAaPdtHdnyGCJYJLNWvr1LAgxhA/qYc9Tq0t818WSONFq7tquXhKJg+tbL2ipuHxH6OD5b2X/1q3wnVmcqG8ei3X+49HiLg73irWjpRJPgfv+qRy8K0aoxSvhM3GT1KMb9KTWducESXb3MCT2z+Z26L3cWJDT8Wyaxoe9jxy7bgh3jUL9AN4ISnwF0erlLsmKMdj1oTGpcs2vJr+72B8BSRbSj93Zq118zn3toQmimLk8Mp9ggcUCkex9SLFcS/0WfMuoMiOqS9CLdZ1RF4VgL/EPZsvdfea/qwJTjhWFaw516P/FnkH5YWJMbCq3pH8AP8fj0TqVPV9Fq7O7erwmHYex0aenX3/lgpBL62JDEQHc2LGDzyQNWrMFqvuq5WdMO/LVhZK6+JDAUyRb4RPEqjm7mrehCYyCfMjFR06gVhPnjJjUbAZLeegrn3nmrvbXNU8+jsrxAkMv/6gn+vd97KSDYTENvB3Qhk+NUhgjOYoER3h4sYYxsKgqojFFhlmv5aDxS3ZGC9VkjBlAOgasi3emD6gSoBQxlovZdApU/jPizvMrD1KVMGoE3ilHdf6uZFT2XIi9ZH/eHB26trqB1SQGKjaUVwoIbTjayclxaF/7Yy3bi6gxCt1QYFHBumMqbGgtmlhS+BLYxv4GlTMGruSuJtQxv5M5xt0bRtdwWVlZXCJEQBzvwg/RMrwdcTiHoHwE4RDP3Q0ORx6eQ91P9UqcRRSmqBiPpZIWz8UJN72sDijqgvRxcLjZ6wfkzL4Oa396lEL2N6TOnTQPjibWVxri6Zlm12jX2bhcsJg63EPANjA3tK2oOQ+rAQGwVY93SraVyKa9Hhtn7uDg2DAOFrmeYhyMowZN+xIU/qSC/cFkROQBUjTZkpm8YzAgM9rYfzYzX4Grl4/zjTDU4vOYErxwYai1+EWoyaQjAQL4int4i4XxtMl5n2opyWUllMHiGsRZLmDQOQhmr6aXKp1ATfUArIbEBs+od/fHJQMKfP43IilY1yf4tViYB58yK8Oio8pe77Kbp/GnEJi5Zfq8xedvOFYFKfyKggIPgFk6mUPn/om49SOTMz7lgwHeKBjy1PB7zkfXjGCsq5wFe9/BI8h0UIN+tQ9LgQtAE5s2iEhpOiNEl3g3xkjg3aLLZYtn7Xz8dD1w308g9olHVoRXODkdlcjbSckgKYWhZHvVw5r24orlCR0jgJr7oShQYAjmMA4GZIX+LJrGTAG9Rmd/fORo68Kv6ssbwpchlIeua8tXvZ0AIT96YNY0FsS143rNApun9kqSRdAdjLyi0xkjFrvfvVhDR0ePUAC9jRHoHio581IFOZhyEvFzjy0e0dmjME+b6pqnHjPbgU1wZfrvzxSY5Y5gSHaJNk/nTvsrptFvUaKzNteIlLk6EE8qfDivWUhkKsUdhkKR2p+mGD+VO5xvW08cX8UamuPYIokb+wBUi58DISPBjy62TEhuBpGrAI38ZVwr91XFAYaBDZmo1l0WgwgqcbuH8j0vs/SVis/Yy7O/8haTwduVVwnUUb2xxMb8TatC6eFpwlhp/89UN4+VuHeyv1fUc4ZfO5v3KsE7fk+tYe39KgpBU2zq62Dx5rjMpb8tCP0RPyKBQBXeEihmRVQRouVjTqsBbRX8i2x+RJieXreX0oukNj+V7YGA85h5yk4nRCCjg8DwlT+n2+Q1SwwX1tT+d9zQP8+Oii7MGpmj3Ars+uAKqjV7q8ew4QzaGiDxeTDO16x0jdmskPcclmKJ7MJY9WYhoERungw02dUMfCxTyc4MRjPilPnERX9KGi0YJ7PvljwDi0W9b+KAgG/7h/h+oQL1JhrmiZGxY68FSxKym4WwHdK9ydh4bjb6GTUmZ/ulfYr9dCfp/ZMoW6duQQOxmlwLe7GnDYoj+iloOYEQh1OnupVTYLo3emNClJR8ypEzR2pOCme/5/KWb5ZXsQTSkmwaYwCQ4JEpFQQglFVVHHvomy0KpZ/hVUSOEbuv9bbArTC9VAVezAtOlUM49avCApNAJ39MLENXjPp9dIHrxVS9m6FDIRvakEFihzm3NnmI8dnwjXp0ENik9eaBtAUxCCJRdWErG3/Fu1J1Y+1p0A3MICas7ZwtGn4Tu/oScRTAhRXfI1LXl2W4jNOQNfMyl10QOci6nesvCuBVWymjan+mUxWheBgONy/r9ha6aSqnUWkEfTmbVACI047GG8g2ByZkyu4Rw9FqDaSYW0JLyz3MrELPjiRA+glQWC9wwfCx6xHe/D6nZ8hgAiES5Z6DZDHBRJROyOwTUyva64zPyKqvg0zjrTIeC1dg+1UAqRUUzI03wZwTCknxuNJVrFx7YSTRbLGfBkqBQ2cqVztt4BUgy8X0+0j4WaWo1KoeuObftZ6hlIWNGVkdZRMem1vvEVdmLpwYmCqfb+3iq71ZG5iHUQtzid2ZBdHqIV013/WarCqUPnjYee2fpOCKDcZ/yoBA/41sixDiQNT3eEk2HLNzn0TI9seBYhO50bNKNDF6XXPyQd4jLNqA/e+dpiIV9fmSbTGZ3SqRPfF+rJFgX4oKkV7ZyCQ2s8VKSbJU+Xw0RTfp+ND2DTDuT0n7hDMXszAa5vEFsyzypnFq1VqS3YoFjohqIuNAjsOSfFyvm0V2eJvsnucCkilaVMC8GSozopwWJ3AUY2dxaRlW/SYptw2ySaK7/H3/EhRrheVfZ0lE4SAvmr5uDJCYICW6avu0uayOlRfrjVXqYUx7Ug0D+N6N7GXsyjIF4BzQu91VOBGyrpKtojYIGD5YFiTx/0aGUA9Qr3hm97Y+qR8wDYR8yDkkCcBrSUiH9vQa7DGiI3iJl1rmbTg3OGHLvmD3N5Upvq9vjdP7Zf4R7lK/zTnjW4K5E/QZB+Lh1G5+JWP7LxMGq6DrfJG2WyISdHrES4FvOoYtr2q6PyQatHIh4ZK47gMeB0lBjJ4STugRYalMBK2ref8FnIk40wRmmAAnNqIY215u6fBqq4hjTlIhs7tShnkH30+oBvHoZCnRwvbjQrNAsuwSEd5q3O7MIuyMxUap1K9pgmjp4Ql8voRjWaYBRThygPGZn4jk+fKYsFRfLIRPtEjPTK/eoEkTRvm/2KE0tEsBXHfXB7ql5S6IUsOFwrOU8aQqgQKePqoQJAJ71ZmUxtDJXZOfOqHD6OCAoYIa0M3bqJqqPVBcOADq6qlqYazcvxe14kPpyNnWZ4m3ODpRk4Xo1VDUdRpd25AvwbFkUYaQpMYHUsb6pX8yYGCYk2GY/hMOZ0kmnG9pq6VJowZwxLqUPELnqMc1c7zYE9RCIF2q85KoBoDO7eW5J7U/GzoUdJe22cixVk5vK+Od5LFzvr59gzfyJpzgSqM0SS4tPaSweFiNal5SXfmXPzaiCuf94t3oMUEMDdlF+GxxhhwB5SZMj46i6ALMaXh9542vesVUQ0+4fjdTU9ltXzcIzyoyha9p/VeoiUvicjkQOO5Etb7DDjEyHQnt9VhXEEnhIJdDLR2uxXLTfEC22gg3riTLM6Hy0C4JdQ4/dHzw8/LrzMgTwl2VRegCM4LKa1b7+1R1TGB3+q8E7BhcYXLhARElYa83gpvl7vTjk2h6aeF39xSTXKzrjeUw340aaTEtzNbh70Qx0Z+NWtVQk8m0b6tCNIft5x979HXsDo3kl2/FrRCIeibw7s/s1/R1+k+tUPp16tBVx30fkVjhz7qNG2ouODGzoo3NC0PPglsi4TcW6oUfHvqc+Gb7TSBJbf9S8HWF+d6vw0DLjeGK+QN7vOrtwm7gB8BIDDIpU6r7FFSU6yRUJwkkvR9cyox4XuADStcai5PNl1Nr0+c4VGhCZqOoBKlEqTw6NLrkpwV/QyePTNcF8bFbT8eAGP2xVelSDznjCaPvY2zGMrnUsnwo+Cs7avrAf5UmRTF/D075XNQ0zq7mc1f04h9uQ0my8giN+qU/Wrk1cZe2l4Dg7it8MK8fQZ/fgoYdb5agIbMTsWj8LyBWO/PBI9uPSO/uGzt/ShzSgbqw2fPoftPAINhDrwmzrydLFE+51iQE2Pg0/ZNxN7oqiHqxUyeYbinubDegWuW8ueIIH/qFG/k4MIhHNoumV/EeknGNMR7q3AW95f5ftm0eN2klz81XT9tF0RPoDFHlzz1xbxQ8ULZj/spEcIgwuC9TZHgpT/vaK/63tXk4dDhT4MKlVaUheqfF6C0+jh4XcfdOzyPfNk6RNButcV4moRd/tSmkwp3r1adDOJLgztE7TIbAVH8WAbXCn6oT7Hi+ui2qwTo1YVj6FW4Cn8NksPeoSN7llrBwn69kfXQcxo1oZJLeb3xFyhnqg7MA2lpu9igjlvcDpxs/e5MxnifqISMMbiTpm9eMn+2MPBVWP0aKDMbjKmKO3bMXnMpBFwzJD5tuW1vhRd5ZK3LvUxJYjdbWl6NIsZXvnln77G2GWB00wvTp87CNPMppo9E7SR2ENw21Zx6D1566enWpxTdevqRnjGN2+I08JslrOJ+9R1/Ki10mKh9UFecBp8p2vkf4+DVbthx/4ngoy8GK3NLxeb0eSGFJAD3rQwA+Y/IFGzsTOYif4vaHuVZ5C3v77omLlNP7d7BGvddcflcvtOeXR3T+ZsYi5Opc+zfeu7b4rbLaN3DnYXysabFWud2lG3w/cgem7lyHMvNKHT0jLVTyXecms3r/8ariC2DhU7NERRDIE7q9yGL2lW8hakYvsJIxT4gGbUPBVjpunnSf/hQ2eW0X1QZIxYtpx7U18b6qCTwr7cjMEoneq6doWzF5cvctxIkG9EUM0swdGWmtL0a8E/AD87c7GnPku6cdAWFab4dSHs0AqpvScX5IIE0KA2XU0xZ8k+D5tgnF/Kb1Ayd3XU/yAyHpz9zbzI3ObE9pJ/HJlOAqXuDWAO++Dv3ILBErQ2MfHmBvYb2FwfzpCyi9b6KH92M7KE+GdXF60L0mM3TUo1ZqGbkXMpPHQTGBIblh32c+/yH+r5XFzuDcsq2R1RZxCLQIfcPpXG4hqGwdwN6q7H0vSMPPTqDAuWaW/hMv5KL30cWmVjBETM2+Zdp8S8/ECgcQbCXDUfQ3rAUgztMEgydYao0D7+ku0pmrkgdUE9iIAyYoqyG96/2PogYP00d8mm51t+g+pQnMDMjRco1AVHTwu6fLkXwtrwK27dTGJ3hTzhahXCyzi0iRCEeugaQCcKoXyCM5iuLFzEj09vx1no5Aj+DEqGiYGEDBQkpMSYMZV0FWaW4ErMchyt9swngUoYZnFiw9FtUqTsq8tMDb1SKhJ42DIbBVSzSEZc0EEqZUFzZVJSXtbyOcWTaEkF8x4NfHPeRKt2oFr/OTg9ltpjm7TvfVzykjJVtx7SGVOQ1SB3rz4O8H89Kp7VtPRRk1GjUekfmUukIpbIzNyo5zJNM2PFD8imah0WqVndQlcmYRx+hjlnYguWMXGlACoRndvEHxcjEwuSVUsdhlUfPPjn9P1Qks86j2EOfETRNK8/iVzhuEkJAJXL5sBTMNlYjpn+j2sV+GdUR2f00ESIOgZzZWtsSTp9ik6mswhXRgEniywtBp5Coi7ro5xmqZn9jTPBMFxOAW0cT6r0gCmaVwJiiV2/1rSIyc7OU+c0KyVgBuu74NBWnfBSThdpb2GdZ+WR0aM/yrzuFFw///r5PnlLZcWBp3MaCvHZRVcoXMzPESnyX+CFLd3BtCgONLWFut+iIQTkeJf7DJ0tpzBFueEIPlu/IaViKLoK5MJHrbYAeAEFzvguiIX0liV4nEe/4CfeLSeepMvFuJzv/BDIqulc+WhXj8QwCZZtidrLmqwf7Oxb6QykXPGWuOx3n+4VgtunXzXOAgDY0SWexJ/YmQB+UKG9gPSIv4ZXz7quBkzTBQJitGGBTa9AkCABCJD5uXnG2nSjQTkE6KoyWFd1rq/Q9r13ogMkwYIKjopXTJBcxJ8AxU3rYNMew/sYiqu+KzCua/alQa/Q88TYBj4CwMtIkkYgYUYFjFt49c3qo2zpaIz6QI6w4ZBxgz5aOEIXcFRYvuZCpTo8df63p688U3EZTkoNV5A0uOKwvAhDhOOA/TlApQpesDLNJOlTjbZQ4eaVfaqnq0I/VWMSf2Rb0BGNZXf01zntsDLUiQiC2pDqhKM+PoqIFG02IqOK0AGZCS2wFEkO0+m+caQbpRa1oKBjhEgttBY/uSG8WIubUwgxdXD3/Nh6z0zTIpJB+CjBLYxT866CVmOPldkSGn/OgJCnwmQCyNt15nP6Pc4P5z4MX/73D/a8Xkx+qp+el3W5nRyTxOzof1/k4U4ijuflpd4X9jquS0wW613/X7bzusmBkGu9wibTkT3q8bMkXyB0qE0rqlpnbB9YshpyZAgRFog7ki+IAzcdkw+vVpB1gsvFLz1DLUR4sHZwBIkWjwQ28Fp9+QCR0bGtClJVhy0KRjaVTMeg98jGojScjRmvsJUPR6UfWS/XOcPuJvB+dgA+OeuWSsS1RdaI/fC06EXEUEeTPVTG4uktDjKYYBFJuHg2pmaInNztidj2UrOpt2ARJDp2fHOvN+8dvV9/ENV0YAiG5ROJzzNa6CkUGVVwbaHArzrojBOnlbjrr9EOeolgigi04y1L1XWv/X+wh0PwM7zccvKLbq47eitu4XLF1c1sF7Garwj3QRebpH1kjGTtSeBYUoY86zE/VF1W+lG3zIoF0KmsStKfkHFggb3MDg8txEzwjUVvVt2+g3iIei2BcR7N4tvsRVTMcEFUW4w7TtmqIAfcW2LMzr7WNAUaBHtsw55oHUcO7Uwp7xAsy0ZebV+cg02gG2yskksXtjfjoWkpMFXpAx0K9qVxTplqZ6tsAInabTK4DVvMLsPW1nzTXU/9Ndao7iTaFXJ7ddmNJad9K/HYsexzLtVZcbwnh/GLtP5wL/+Z0jlRJdFdlbvlVDytM7FgdC3d1kiimfgaqH9lxgCKEJRjticY+wLT3Kf8KuuyMU6kT0VixlnUzWh4g6Am+YZesDkB1SkQIYO7YDrPqhZzrya4qMYFEJCxgPXlWE+TGe0aWccPKTwDRTxvIOQoatJViYfGuYwpXuP8h3CV9mKl7K6UZDya7S9PIjzO5zb0poaHqJAJOXv7844Rjpa//6iSe1qTWKtvelYyb9oV5we3ZrVmdRGiN7suJ1+nJuXHDakOWvOv89XbO8QnHRX3rROaGSyKupyS/OydrQM/amb9G5yWb8kYdY6AKhkgyKPTqzX7BiuklsOo4qywABe9gWeeWrpn+1Jel7xJZx+H2wtsNgaONWz6GvY8gXcWjNHF/QVv8bkn6e4/empcNvMPTgtxzDVzgzpw/4ZYZviu0jNbtdQwn5UWNQ43CF9QvpqUgSRsuVpGs3rzk9yfBuegkl1swGmygzSAsiwo+c7sHaVWU4wcsXQgiextPvNGYT1GSaxRX85h7kPgJGw+DYrk1t3rXO6WcAIsKeZzujbrbnWPzelhC77IU5tziWyT9UiuS/UtdBRBJN81H/SSfpv5cY/2aRW+eFy4L7dGEl6SMxRXQLeQsR4/Cu7Hfikf4xmaYL/xtY+ElOvaox95YzlA5/bpnLhI8tBKVfAk8wDulE2ohHauRNB9vQBvbqzPoDwwTa4LzLT983avfVnjVQdEU0ihz28zFMc+iHTubyBW9kPJQ5vf/0N1q52h8onqJXKVW3G57pe7me5Q6Xsq+tQ/VQVYKacFpwkMOqvnLCBVab4LsNxhUFqqnyWvSmS34vEGj8bR7og2ZHdjnMP90k2G0klYsAOWLzh9DoO/qWyQs7CBlKAcDTTFEETuQUEoSPd6donv5mDyaVF+fzo/0yteo+fBI2kfDqZLcvHgXA0/SKFC4+jA3fzw9Yto2122gDjErDHXc8sneHYTnqECwaIfU1FeKkD0eDqhdjT8R2n/jYz4V/U+lXjt28Z4ZGG7GfuO4dogt60tE+TLw4nFNBkCDt+2pq+3KuaTu6tE8hhuWU4AQoAJnyVgbZPuJ+DfJcDHBO8W1Af2u2Qys4/BlKdU7VwyE0Qik7eJa2Oz2K+z9NL/x6IFY3ZS+pOfzdC7U9G2cWYZmcJta7HMiLEQv/HXNqN77pzizCTQLagByFIM42KOez7F4j1v+RXU3xbBVXvzf0PM6YadPiIxUsgtgtdeZQQBbC2MRZlSB5U/zxMDZ1eIx1rHLYgUupplScyYKWISnfrsrrLnYb8IiTedm3Y0EORLJkTP3VPKvoxaV6MuJplyovpy9vX7Ag7ngXeUTVZvwOqx3HcGeawFhP0kBmJlaravTMbimR0Ud2PMLerqy1F7ucnB+2pmo66vHksa+MRRYhn6m1baW+HS+XzTA1y7bR+2sSaLF3HxmEmQsMSyrNeagdl9AfeHOn45tqbdjx9wHNKawKkGYG6GF20gBrd1r5rA5LaEuZnYWRhSSM7sM8OMcZ79dfYaTp2oPU7eXQKg2D8aW+ydyy3ksIImPzAVGWPwi6NJ6fhxkr2cEWdk+JQOt1hkuTt6RxWG3DAlUmbCv4OJTMmG8LHKhTcpymCvmqh6+d0zSAudGHiP8ZsMfjrDeFRWVdFV1UobfN0UE+Rsztqw9SFOtPviaHdOg5nH/4CmDUZndFy77+DXjB10jn4maURuXcOrUHShOrcowuFrOVlub7KbhCshzat3ICHcxU7Z0JP4hpKNVyfO2f5CnAO/aW+452i/5DRIbsnA3/Q7ZBmTm4ehEtvcRyBEI34CYgqH2PEnt4yOoHzeiJmroilSdD+MKsqKjEml/Hma5yaPl6nvp2w4cuq2Ehqxr5vj9/v1wOea7qqyfZ8ZePMJMz35n5aCnr/6Im6KLVDjETA4PR+1HS2deLWc4BWof978UbNDEuuR8Uh/C3HmLpN9f0W/3PtVPP4l/2qfI/+N2BMY+XkLe6FXTDL802iutSr+9Bn/U2jFnT9cx2zxrFk49B9yGIpkh4rJGOqPmIxnK6Ejuf0+VDaPZyh94SH7/ytcBITsb74WHr9q/5ENjgIA2sQHPGzqNdhKBhiOYB2lNYBAG+0KjxKjAUdamIN1GClGAY6pUUAYYYQeCQV/AyjXjfundWW1VjUuhE6A5sMa/h/M/x8MFP5zmoNMXDZYzAHkxcnWU+j8bztJUzbCf5F+Sv3YV9eaCxjn962K7y4hVipPbGDqNqp62k+ij485E4IJYofGLI87pEo5/q1/demPUE6vHAT9eJ1R0nlssl/2BZdI+vpsWnpNB+HNVUIRJjk455QzIKEIhtEYevr1sXh+bl38tj8xdLQKrU4bvB3HHz3z1cB0Dk8jUAmuj8bzcxviTf8k0PE0fMahwZvaWVO8WZ+Fg3G6PdhApPRl/uM5nvnZmL3xx4R2lMikyknScd23X0xpmDieDok9ztAgzRptwnFQQ72PqE4Qw7bRbiM15Onu2UErRB7zoQnw+tS9g5638Jmkqv4nJQFn9+9hbNrlOIBJXYWeH5fAOyx60o5dSArXpRpmF+50N7oYkTvsgxbbt7WGpy1uIajXhAYZF+RgUxGM+GNxO/N2eqZ2y4S7XQCcEpDYv4DtB+AlwRa56nkr0iNeIV3M894JcfTrnI/Ss54tDnkzR6Tj0oAmYmMb75Dz3ySefm3WOXi+X3/NB+v2lsnIyfR2lw9GYoFXf+UHO5uIqRiMl/hCONwEtB96wwhcCJaPwBoJpEGZcRLZb1j4viCnh7vF8DwGHWyXLEAwn3IFDMO9yNQBLbE6UvUMvoEPVIosLuw/1y+zKntd5d33bbhvziithV/zeizLtVlv3+Ii98b8VcfuHmBXAohkIMJx/yA9QtRWjCjAAyvSGVwtybl+M6oTfYDSfP1Gx6U/j+ldQrroCXp7bV/fzxq6mF0DPjP58VfUwyHqHPcWBAMdgKZgcyu+EppFyKrJris5yz4nz2FzSE1T0x86ILj+qsx96hVydWNvZ8wD52NHcckb8k1Pv24puXjzVyMNkKopV169a9JeNcTsIGPvUbse/08qBtEChtJOqk3doI1PAWFKYIvQpkURRoTbYDZL9Y2AaWqPRHnONyx/A1Z6+0p91rPk4/eJEJGz61H/ofyAB9tI6lNUE/yGMgh7n/dDUnSHeHuHYNeTDB1kDMmS7p4eoM2iscCXoO5FXqaWXQx5ysrz3K+ikq9iTULJ8obe1k+hJywP/0t9jy+t65MRZZs4DDNuP9El942+5K/knJ4ncvC5Tnc7U9Jy3xU0vsAX4I87TV7IBFXOW9G+9iDsBoD7jNM4GfhMfax8sQhuc5lQcOTxWEUCHl2qlIfECekXb36EuD1Xt1Zl/KE00TpWhMchdDSx8aTdsiyb0vL0F7lsZP45dYTSQel4PHOjYGVv9TUcg3zp7nVZ0VTP7ylqC5Xfdb79iuiOXDO5vucysFJsi7vA7pe8NK3VMdQp61ceNsWahVKV9b1tH8OqLYuKr8OV1r9Lm9w7uvitsk8/z8PdC+n1LLetLtmQtNTZXNGzzojlw6qoTV5WRzm/rEyeM7ZmPlX7BboloHoGUm9fdp0aQNjgzCqhRl65NbxBzfnl0HwUfOB62/954GVzUZRJvEFNJ5ZBqjrbVebWap11TO74H6h94ottYXPPx5LIb3J8SuuQsGJHhWv5LabISORyxLxmMEhLopwNCeBy8jRjVIvleFfXDffkMf8mnXFWgUSPahq3n1HLDBdLQvpEzhWfk+qUUl611sbepYv6CTpna9B1KJk/jIBE0efgUBGC4pDte/KE+dYImtDM9+4/YtznbR/+abMGu93/XnfT2D+v0qkTSxVby6n03rG0QmnDc1/dllVWTov6DvQeTL6Nz8IXyk/mFoMpSYI9AHYKIJlmbXZsvkl6qh4DpJqTwdSTv1UHvsvVMGVrNwsgr1ipkyl+r+Sa5S5c+c+24uv4vPDb/BCJi05x7unZVyCC1FPxo155jWgaiVs3NDUHMrWqNqVOFdx8EZo/7C74kq2mr6aVEL514mrpVur9mwanRA4PZd3TGu5JZ0seWTQgGfhuGBn8JTli3TCoCoj45mRQqlr8s1Zl4K/n4y599vUiHJ05ct0i3yJdvjnqROr4cxC8kNhb7+X1if1CpZOYIuaI1D1FKry2CsRy+HTFh/eLV90Gv8eq6ajp7IvdMjl8Qb3qvox9L90FRrrAnP/xx+smN43o/05MGOD18Lrq4X+oZzYdV9URdyJLEMGhozboIlqSVVQVUIdvaVFRwFAAETpQoIU7YGDQ9SM9cYXEF+J49TXlrYvTzH7/0ykNicgEiXUbLr5eFRmm7ggNaGHpNXA9Xpv96Yw2fKBsjWol77RY2cdbxxAJZltJN0kaEsIo6j3IjS/lhgHKnmA0ZC9azkl0TnQGWYj3RZfDtV/iBRmKPjaJYLmUuXoHpDKUifvftyHbGaJod5Muus3Z0/1JkP5B2lTR//23iN5Lv93x5Wdf1MeS+qr3jWcPy+djpFvvh67GcZjbNg9ghuGsqP6d7NexxRwvMLbk5OYwqh+s+x81VdYE/E6miYTFovbDKEzdVnD9+7e5JOfsenlSBQRutD07d32KNECqQoaZZu93ztY+OG7UqKgKte0ZIvG00HGXEWYFoLLiqsft08o3/BvOYum3F+ELdg0V/+idb4D76dtjcqeP/MI2AzyPDcLBAODhfLw2uwK8AuIVQITS2qXw6Df58NCXL7ZDZfY7PauKSOadMTj5zRE4j2B3rJNqgAIaEIhDZO+hocPGEViTUYA/cG4+wdPqybpbekC+/jEmAwAlBmPWEIMBmwzIeA+Mm8SDvVEK6GzAPpI2ZbJhb0ICeSkASAWgWUmGyGvwQ7Tt0j6YxFlEIkAfK/LckusPwd48QN0k20VAYSOlDLhiJfGyJanxsylgeRm+q5oVywBMyMHur/FKS4MVoGCMMSJ4dbxE5nwJyABhVwDwMDBBzaxNEwTTgARWze/fO0uqkYXyWocCX2imIfdgr+FjNGphmKrM1uaO15UGlGmXXSUr9T8tsh2vKbREuz2n90pDm0JIhfySmznmYvmodDaWfwEdD6mxR2hsQj6KE4AY0j8WJSMg5DVmgFRzMhCmfyMsJWSMhFTf2nJvXyjnC2dxKWz7LUFVU4hjlomty1zePzd41/bHVa/qK6RtBHLNhsiu2upnxJ3AKOMZQRkdrvhOcXYtwufezFdHbUm1EJ7a0FxXvFZ+WtymS0N3jPfoyHyZYYFQjXfzGf4kOMm4JzW4L4yzqPxlKdTu5q3qhhC7DI5ZwTchkQxWOXM0neQsQYjPo8csoipSVaPX/NmJ+dojktbNFIGebkc9eMp4yZAmhCjNKc2tRfncm0596XLmMhcHPkFTA1Stnr1eLH+Wwkt5yt13Ifwx5FUfwxocADdzlgpOTQMeETDkfjIPjedlvhkvMeQ/HUfxUG33nNd+rygqM3SS2Kx3/FAyIVOOD0Lju9Y8S0qh0Ed5h5xiTrmWXSOKmP1a3mY/EtJGAqsH4d0HXDgLSnOLgXaCW9VNIQ4ZHEuXxVUMUd1eNi/yzZYYc56Ts3f7qbx8Zbu65kVN4T+rJM5ChxZAl9TDoXphkZf9M4GUslEifv/Fep2rrvWMUBoxQO+tn2i7CH8OvI1QQCiCyLggbUMCrKyCbaenXEDkAiEWFQ+NSf27qA3C6mlpWYRsWko8DuMdwzQis7uoGwK62N+POWbtV5c+G64N4gIqDT2YAmUSZVvlLBAIacKi6uorRVAeZneKpL5takHMU19aKjmPKlt3NB3Nan54k1QjDa1v6CFtzaCyxkL/7pDMLixd2mhgi9ThbAUp6b/yP9Y27NbhgIKodrLtPKiPh4wx+nBStNIXxbnlQDfB1BztfnKM0qLi7Kq/q2D8UfOntiq0VQOpRk+zs+FU80Z7NdZyMs26wLl6sNXXwtVvlbNIW4rPEIRU35K6F11LZa/DbKkzIQ7JzNB56vp3eKq8wJOqxfqjlBHyPPn8pLLUjIZJ1c10krJuhlQJpAb3hnEWOV9e7X/ubN0WV4nvedDiE3Kt++Dz5urqpdoyyli3S1VMzWIG45P5X1kZNQRYuSxcdkf6XvkzSeFLIx4AT+TQK9Ob25JSeVFl03xUIoobG8lnwka8ML3t5tC1aRbj8kfsA9jgByPjJaW2+VJUIr3lpf6iqVK35SGlkVjUN47LbF59PQa4dXQ2O8HZfDRVNdGbucnF8g16tMMXFxDWvTugm8iBTwneMuRrZnShGR3YFyfBa0vLXS5UQ2B+Tuz4xWdrzYgirBuv9L7tc+oaCEMBPS7YwHPBdxnpBMaFMAH6ZIhABGPXYuyltX9gyHMYB2SVSIMI1mHSerIDoR4wuWBr1tNEDP1fHBVD7/7IHZPyL5IKTuPu2I9DB03vIrIw2THcLMsUPDFCcqoJTElvn14M6QedQB0rspKUcHdBcAajj5fvzU2DYPC0UalXwtPUy9e6dV9xh6TLguSV+iOUNj1fT9NVEs5YycWGZkqPdQUu70hXH2uHkLm3C5dnXUHviWy+CIx0qxT+VlZgRQII5OAoLnKTQXJt5XcFfhERdd4BgZ889bdEHUzHMp6R2spu3/SMiKj2CQz45K+6JexQHAECatpkO7FbBhw1pI4OMmCn8SoYcPP42EOZfOy2Q2FE4dkDT4NHQwT32VbV2WniIoBLhbDYtBMH8foeeSnIqSPamULuvZ0yb1Hu0y5jMpsY3awVDacZpXdFWoC3H/AYABDsarYvRbspnTG3xJl6YlBNfbbI2HSqflisx0vWt3aea5difbTS0Td4xPfYkFy1XvUqZ+oFfQ5BNbtWdg8YAbSqzRAf7we9ee2PB/RToV+ykaRzObAD+xrHBtubbh9wgfFLyjb8fNzW7hW2f5g0OaqiRaqSrUj93zPy1OBI+7Erh7zJSfvnW1X+mGbbddOvxUFfLrS2qnRNQ3bX6N1x7C8XARYaYKem8LjFKYK7VDKBKhrarjAioIpuOQyKHAaHqSKBwgOmzy2qKJhIkAQrnBdwSccCR4cPl7QuwCWtwGuI9pbAijxXVnisFBWMEqRWWKrEr7w8GGd/gchE7AirPJ7gQkJ+4rSi4knV3cM//PM/Spk6L6yTqmrrC+Oux2AzEHTdJC/bQeA38Tcnwb4bz0RQgk4cS95NQmt61aPiiczTgo/7y9cW5I3Y5gae/rlRX/QOpescSZdho8TBaZbqoU+98rQyk8GuFGAVE4mgXAx1NQnxCEPQioI9c6289sFJ5eGOGgD2CcznoS3fFJKy2M/Yz1ey3FgXWl7Mh7RssKhZCs8Vni0PhEIJ+9bO87K3Pu9RtW6nduxUvfOaUHi+06KgLqvaSq/seKJbJrKwWcbWgikZl6bW8oVD6bPi7K/iKUdyUkKG/QqbMUdRIrO2oojQpHt5Sslfldn9s79yy1u/NmbJAINWFf3jViFt1edIFaS6LZc/liLwpO563wRbBGENjymVvDnad2OYfseuG+Evuatk01/3fFlqml8JjtFoxNQ5C7yQHCxNPGGFsJ0azZkDPP+Fsyzm/Hw66/LZdNbzeQXm2TYFSzSDBc+zmK0jHXhBKx5o73B6E0HHSdIMqMbNBO0/Dr0+qHFI1ycVlSBD94kJjKRf9/p5xvWHWWYNM8YSToATbbVsLwI3NGDIO/RRBtqtqdkz6ekz2dnpMzPp2cu1zBqPqamJ+e4A4PFF0AQxoGaJu+JnOhWRstG58oF7EgMIAiDxqU2ZQTn5iGCUIHnv3oiGOJR4jtJKenJ3avIpiY8IcTnceCIvVGsKlkTtBsqSjfGvClLjM8Te7JCY1J5EFBvFLQkuDCM1BSefjUNQUGy/oLjQS6Eo9gyedrzxiVfa9MwUqQpLq0vLJKALCGVnsNnYIzV1a7uBhvMIV0WApsFWXws0TwiHSum3b74TCGRm6bfPv42ZM4WkpHzNzskaz1ZhICEQG1A2WWIvIZCe2S9wl2MU7G4zxFMK5I4XYUQyAN1bpYzQHYicfYRsAutz8zSeH5C7Tc8GQQrQyYQBeSSQhr5Kxz+ERvc+nUFKpwBGVo+mkU7VzL/LPL74EAeOoWnQmLLB/OJjFOi3OyHk+TelJpc1EfIKiuHdckJ6rAVsg4aM7G8fWDxTuHcbmWzvVGefJM1qjfUxZD+Qr4emc04N4E9is/pqEr34uy1OISnYY1dqEyvME90a6qyjY2LHoV2N9VYewJhiD4L8QKvykK0GWb+Kt2aMMk9Ij0sSfll9+C81mUSa5XvLq/+jFnPzayp7qfaspEUdPr7SUmJDdCf2EL3XacHglXtNZHB5eVHykJZjjMYnrZ7B5U9p6HEySZ2qgtRnveChPjcL4owqsyCEnliah4UYgONzaHh4sPX+P84OqAogsm0vfkFojJfGNss1j0uTGl6UO4yIIurKHoMb9C561+07j0tAquG1TdvOke8s9oXzm1lJH8itlN6FtzU6XgO4h1vBp5TW4b/sM1eWIHi1dUVAOk9u6L1/pQ+a4Ie3RES3omJlK0+Pt51+P0CqQss22yf51ut1LefMTsV5PcF55OS1UVQlPP5AY09QRER1kHMjPB4ujj950Ue+7U8GL6sqRFZ5HEyEUWC04FQPj4OpMBqMEpwI9g4wR7BXtE/DPSKGKkS7Cyzy8Cc8nw6HfmZLlPLRsERUVUvqgsuZy7wWTqf0bwtSD4vnUyxJSt7dmmbSdSJlXDy1lzk4AASF81nH7xNP+TXMIu0EDdmSb/kUSdQ7fQWl1Gvz6m83E7YEcZaWAp0H7j2QuRvrxBqHns07Gdw+l9TkEpKSTrBgpFLzSvjnOdV6peq5Hts5ULu7Zkuag8P+Fi1exvH5wiNvSKfwRVq/2nIbjs+fOPIfqZLI0/3UUdXiyLcm0TnzglDoKDThCoArc+/KruBEmQQEIS7A3ikwQYaBIMUGol4iw3wSpFkwwv7AjPnFS8fDSPGB4LN7YWRZh9NeA3e7m5kqbvZYRM6pvMjyTqd9Bh62vZkrcOrh0TCFDesEJbvNizLWB+Yw8rtQVKqPJ+jDyClmiBZUvNsUoCha8hthjk5Un/eQiibgx3DTIOwzoEmfb9N2XokMfGTLXobqLKqN3y2HRQ41x1yrXbcIrM3bvigqG3VDm7ajA+zlViuG2JIiEDK2HrJqVUkc31oDHkSwr+hIRY6zTsA/1n9iotvHYmOPEYxQAARxQJ/bPhhKawCCe+BZFbNWfV+d4Q96RXDEIaAVCKjd792kO/4K4aKW926M7jU3+OwFIWzUHQQCoCMPb7qTmiFQlCDVnRBJvJGhXE4iJpR4k3KAOoE7QZCCDBZQBSwZfLyD/V+7EoacwB+jXTI0cGJKd8NGr7UPRv5HRV/equm0sYC5bN895jT+ei/nC2dh3174zXGwBbJniFd0vduAyGHhnPS8QzN52WFVQTJOiPN0N1Z+Vd71VaZ9Uu7GPnpq1BnS/6RJBq/x2b8NnMAQwRi1T/kfZWBROx792XqyzjH1RCURAmyTJXZhyu4aVDyCvo7nYX7PGLgXm+dKmiC2Bma+3BCdDYtT3uGpS7s2gSaffLnyFHZqLj7nMpoqVzU89wgGhCkABFd5kRxc680qkQzEAgHMpTMrAfIyv9iR7K001R2euvRrd9GkkwsAt8SegGCFcOP8z7CKufjcy2gqqerG3CxQKOHxukf64XHFznluFfWtyVREMqU72igPxiUkL9tNnxkufjd9GqygQ+a5i/xcAj98yGfDSAfLvPAMEMDWh/WGcQ4I7O/90XRz5mJefhanjOUw2fhib2IOEPF1EVIkVozQoeR7ETh7s/zYUPaYtDUs4ZBjApfwPDQ9Y+De/nxm2hRbWbgldmWqB0Fll42QPGU79R8AfxxV96rrquvW2jguBXFvQDMzbNRGyqulxy9mSFVoqt7V0/vKAeQK8EHHNMJC68YsmlStyWa7g27tVT4hEwFP03gEGg1+7BIQFOmemX3lp5vMBr6pw9Ssn/3o7Ky0JMqPNWWKEQhkt9waJx0ToJP3Lyy7JmwheZhiGlR/VFcWF41WpPwkNZhiWqK/uFv8someLshcAJFo4Ef5a4NBAu2T1dO8U5pONp27BcB9a7x47Ta6SLdI30EVZuIbdJr0+8fqPm1PqyZ1M+ubF/7Q8DEWsRyXZ1rvxanBAHLClFqwP1LaaN2vf+87fPsek1P4g9ZOw1T0XxZMfR6Uq0VFGzQ2h1Yt4Y9hf1/qM6URirwarzqkvv5/hFRFs1d+14g/JBjWP974mznMGHj9y69TD1QBawg9Nou7/oyhXK6iRpW545iAx5mBlGQD2yjFacTXWVXiVpWR2t5/i3VYXiGO4TvzI4KUIkyt0j/ywHUTLuG3+KfEGPZ3FW1SrZeov1uapQGHsuZxnPaW9a0wwqFyLzyDKYHrAmg0gLSISNK7mYSM4nYQQjnQVqc8peYGSvPyhYsXOy5QmqX9PZuOr0VedFXfk+1/0i0o23BLiJV/CLNaoUgc8HbbbnegitpEF1n1Z3F35P9aePI9sB1SCSGVyyuFiCTig/KH+X5k8CW1idEvuFTyYTDv08mwA8EvzVO1oHnm9R8pw0fv6k7EoZo8WTA6P+7+W4jh8sR7mTLp8Q42WXwIkv9wTSj3IjAYcvHkaMJUr7q8ggnFAzuXS5w5G7LJNy9UDHLrejv4v2HWvgSF3UlUJsLI1NHJUHu9Vqba7dhcxRlsIpupqM+/DKmI0XAcLyeAGgls7T97pou39lSNpzgSnT+itS4R4IEiUO/Za8VrnzlryNHlzTCGzjFyAs2efVa8s/fbDNgYZ32MORlIml5y934devzE3VRQKjU12NilNEOgOvbxXrtWOOwfhlI8G59Y4kVkgALYOaHC2By2S2cbi0Fi3DPJWuxNqCA0KQNfOUgEZ/1mUwkbSlqg/3Fyo2K9/zBnRYGyof612NOfExwjfWhBbYZaDo9/2oDYtwS0BPJYWdnp1zJR7/MuauNsOgF1g6fl1e43+BbsQW+34hNzVHc/guURbdV2z9yPRtti3uYo5i1u32kf1wLihJoBd5yz2anx2w7LNYH4aUC8wsOYoBb695jE+TATgmCa5md/H/q4UWUpjOdTITsfLhfcc7d0YpebtPG4ScznDiPAZDPgped4iBVQPdq4HxCqUqAfjcaAvGxJhA7bGCNcSCRqx74d6i1cftAQEAfQvfwk6+onjv3jy1CvBknqFUOOy8b9fsjROyK7YfW/dyemHNTA2FuUZ+423rwBh737R05mwzy+l7F+9bftzbBRT6ap+iBcasZ89N9jch1F2DS5nAEUhsCG/MWFbyGlY7cVT5cDWifroeW/39tKiaPLXQqyMclYeuTZWf+y9EX75mpaFuAIl/5Gly0ItRuyEfZtpMoTd+5lPXRwI6iNQvFSx/oCbDq56qlgcpAiBGhCh1sLW77a/CEhYZxYRG5cm32ho2P6Ud+qBZ14rrRNMfXHYyPyqMek8PKvlKRpIqTnIwz9aHSKVRkuw8MktvLLT3WWqIUCPLEUX9Q4+y4jlz+c4T+LL8JxhbIV9vt9cYG2kBpxEOEiqflPaRalFRCikpw7nOU9d8fLqzgGm4GlRcR5+ZbEYWnYjMgYV/6hZW5yLwiHL2FJ4U80wUNIrvKB7/d3PovPc++PmaHwhdZH3L7IUplIBH0Jz6CJwKthoCX7g6DhQCVGRyKVkOfhYeZAQFqD8LO9OHJghRf3nlyDdxdD4pXS+hRxu2YCVHllJuCAfLD0EFVMbEMn8ANxJ0A+VYBn5NkFO0NwUXyvv88VIpsqxGuz2Tjs8QxUTGSsq2pt8fyXrqPHSOjx6cuymm4hnXUHxBBtZliPbr99jdb7mo5PaEmVLrTdOXvCE8a2VsgDSGhCy9FT+ILPvQrBz7Qw5UaIt4M8Rj9rPMEHfvvWLefJZR/WOKPfhdf/Nt1oHeYpBHdxRZl157Qc14EbBm7+j0an/396AHyjPtSuKVNzeo3ipNJQPsXpqWd375KfKk7DJX2yvKDoaD05BMOiUb7iOdGW7YD9+n/P5CqAQwOalWiIvGMhs1U1tsAmaNySXqqA91SD+Hqz2lz6xYBpN2LRv8qfQDoRYkzopx6M5Wfs5Bu0+7Toh8m7H8hr8j6rf1k7vleyE5Ci/siUpTxaPVh5Ua7tOsW2hynPgqyb7tZCKl1NASNaccIPAEeRgeNX/Gv41udFyZzPykuIosr5/17YdZ81BqJY3hoPUFuLuxc2g+ZLc5SXOJ8ljue+WIWbRnyji/wAcJ3wZnj3s1S1d3c2LkL2clqPL2Wq7WKldM7wI2YZ8PMDnPb1L4HZ/fdZ/HyMzR+0jlkZ75ZLW7E3a+iiIQiOYlyIZMlbb/xKLhjGZcjfXb053IsXqPIB4TDoogqjXw7R7t4nn2fKHIaA/gOVMymIHWh5UXyZW4t2/kHZFIwp89IS5/QY3HSJqaSJLP6W23ZX6YwfSoRkJPnUblA7fablQ7c2OwNrwn8c2F0A4rcc/CicwbfaveHMtd4eq4f8rP9e2LhbfF1qFuO8TDrb8IFSOhs8YnB+v9NZHB2BMcs4kV/YduUsgUWAsltOJh/3BDyNZpnoqCg77Q8pURbNhJMKKjSolNlOJfhQMaAS5SBH7tVODXDc1RftbcLF0ojQ5bvkzIsTv04fXiYWEPQj3VKP6u6pvJQElLSCvLxe+RcPvxlx2818DcdzjJwOvV7j+enFEUxLzP5DDm15ZhLfv0K1U8HxhErNLyfOFqX0RJuFAzU8llyYDhBKZL6Slx4I4cwpzq1Hed+bgWe+M2dwvEWAbM1chvxF7tzVT7CoGXua1JRr0cdCo+oZcnFcOOagPhWFiqNBo1fwaFr+OH8U+Uj5IPdiuUxEqZXZGiKJiRjRz1Iipx8pILCQoXGN0fZCWSJKN6XrFdkS4RN15qEQ3xRjL+b17fymQGDmaLAeXucRH3TK7zc/Wyyz75p5RlgjpbWbw4DmuS3SYJeaHtyQKkTIM4qTqjR97dnduz+eKk3D8aki/DNV433trkBZARIFLouHgnvMz8vEKi7/GM6Nfv5be8u2BKb1fZ74/DcT8vh2DaW6ATpeb8sY+xe87CwQU0Gqj6VGR7Ts7W5evXNz5GevRSXNpv35z9DCqTEFXrEUtk+2/MTv5JgIR9etTsOcxV9++Z++NTlsxU3Zc9/cZONVNdR0IyJuZL29AZ4zHJTxHj2aWBk+PzO/oORqOf4ExunF7i1Wy6gfCuMKj0f62ip1vY6PWgUXQWo5H1rn6DebdvlbVnsrvGMLgFeAmZkZqU9xdubxWuqyYYKWifMjjDkZYPTdgrU+W7CHdWvq1JxeR12cTxBczsYpp7YOjdFaqc2/7l5rbjtKOvxqNLsumrvGxigY49FX+5rmEWxy4F4n+72+cFKD6b7n9+I4wDb2jPHJF6o1RbLlRCi6PJ0Jqqu3TiVFL9M6ad3DL4pMsp32/6RdVRj9YZFR9IT5hFd0iuDwiPaH4PfpkCSTnBe0bmpn/7J0dvVWUH2YWVcuC5HK9xZNqhZ9YD5jSRSULOVq/1PmM4VbrIdMxcotYIG8nbW4ra6WWE6piW5O0wWVlVIvCyJF9Gu0a3dWS81zHRJ/03ug0f8saJfygltykgA+ol+/8+dMUIp57irtepLYNRGCWyMFKgt0m5spNURyXDu5LX/rE+ZTVTlTydQLHn/GHNdQMNdirYk1BNjwXKJ+il7+7tZTRxGKsQoNgXFDmzO+hAUZQJR/9KzhxNs6SgJwcss5US7+SRO2j1CnBLMj7+07MDzgWQKQQz2Ay+t4T+XAheuOrZjm/25eaunbuyHl5+sNf15WaUMFZrfSLFlQkiSNTpUnQ0hQCiMhPlDoHHBRtSMl2R7KgUvXsa32zf+7eUkw0GGTsjrP7M6IhODNHVQV2Sb4BIs1IoiEVKoy2YIEpbAS4gOTnQFbHg8kzR7HvJMKz9zZvmH7GvvWr8N1gv69G1J+UacRwiq7c6Rjh+lhkDEn7SQOgYy08FYdB9LiyfnxUKY+PDbDg6F3EHKAyj0yUA2hTZ1eTwVoy298OnhWtuwP8sLlK78GP457BbBfmzrM3wvU6R/cTOmMPUFIO37x7Cb5c3twtqnVBYUfFdUlKVfiuDHJd1gJ5QczSgRHE0V7mb2m5hcYy8VnjmRfTbXckzjMiq1ISC25WZn0E8hqmmWPX2zfyNjZn4O9yk2rMpd6+/4vxtxIvZWeSWPbkpUvpJh6NZ4bm3jzm5alZMqyrqZ8yCgr5mjcQc+eQZL21Zom408k06xPUqn2q4ga0cRjXZX1+SjxRWfz2+BWje+Y1WC9f+i10L+AF3Er+WJO7Qt9P355TjoeKccVe3vBuXzXWQbi9iYyJ+Sii+GGm//tpiZDNQWeztc8Kxu2S/vd/CkLvnp2cua93EAEGTiS/c2TxsQLhPDDlrbst3i83D5wZiqZEWySjeBgJT88JIj90kUzYJgnyQlxYgq5zaVz+VquRnXefBcYlHBubYJTi/IhmMCTeFsogQZhT6rIVdp/TLTWytpunUtM9APHgJfzOU97mbBzdifPqmwptozlNql3+u7KP9lhfv5Sn3qoZGYkzEWycN6s9kZi0nm387sTLU2SVM9wm9TbfEN9D7i55DpU+ueWue33GFr3HEA23az+1rHIt4STLCUhnzF9vPJU9VQ3sxKJbbr5B6y6vIpQ+bsxpSwl7Wqrjs6TKwr+5cyUOCAzdVvLlqoLiK1yXmdrr1inTkPBY4TkSH5D0wj5AuVS6FzdsWsTtA5QaNNKEohtCdF/PRiG/CNliKOn/EWwRX97YJFbOV5gr+cdneijrx/Ans/V6801xhcBkRwZAGWQZJHEXgie3SbyaeUnzcSXp//rcYmXyRIwczIIPC7xwyulrN6g0HlGVr9nCx/Fg7tSbdV10dS9+BkHPFUPmNqHoliloO2ClGp+SJi34qR3x22YJ9kJqYLMF1313K4g7Odl0whKQ4tzKvJzmpSpyUgllxmQNwFI6FYcI8FrDyH7K0M+4SDuKrz9mCFzWcOkngseeAB89Ztf6W3bsM7lSS9S8zH7pnYz2ctnu1x/Vhe+mqQ+TXtnnbw2/3zEfPxpotJH1f/3JPwYB76a0R03H9NleKqWh9mPpKxbIVUCycF90Jrk9R3AEspN9nlqRH+kui6uYrg8PBXLSPAKJmYvM+TPHMTffBsnE1WQKhqd5k+rl2rLJa2aqQJj3Yv14CiMwvwITXySbo1YHSALJaIKelai1XYdkXZ27CdvsIV2o+WEuYBGajEEWhsTyVZZIFBqzxC/UELu93UMs94fwiEKjj6MzWCpV//3nf3ak/3Sc/3+/Zei/TCA5RAb22tFzKtGugz+mFWH657QbyhAE//UATUMiZjmSNh+zkfo9Qs/3p2hZ8+/uN0GdTVLeLzkZuLGkmzO/n7N12SKrpY4gdq3vbfoYELG89o6pF2XXLMBUFmVdGAws/JG5AQ9GISDwXAyc/Z2lNaDW0X9e/UTDXvWEa2BhDxdoqrl4sTfKOz6uPhQ6TyvqNf7y4dW+ndZmVro2OJ50GRBQV5ef4FlVGwD43BxXlrhzcaDW4GOHxNIzwVL5Lupxmua5Qofx+AjqF0Dfx8wgItaEpV9prnyuKA+doNQgKDL8uSXjzZWNt2dUGyUBNuHpbDV/S/FR7x9FVSIEKbsgZvtg7mLm2WMFTDKOL8S7uC/yzon0aK8Qrq61N9F/4bStOK7tVCfuzPfHLWl1EJYakNzPcfbgWQ5aHpZiE1x190zNyk1xNKBCVxag29YgaB4lo9KRNCCbfQycRXUHGVVgVWJRrQqkHUrxDHVmBS1g8FkP2Im3qUlojWyijGQiUx5kUNuD2j0z5cpL5aYuMIK2TIEKa/cRCdUOuEZWGLRqtIc3QqqvrOe66PHZKIaUk2jy/xp9WJtmaRNs5zASPd8PeDanL/nzj+sGDSYbRDZGp9zD27u9mgZz2DD1z04gxPXZW9kBGr8quGB553drhMFTTLqtvlTh1pSQ4ZJKXrmx9/C6moJ/7prkdW4DZo9Ws/jbL5tFR4LkFt/LDlIrUHiAA9pbsnkLG562vedXdgY3L4TeoSIsrg0iOV2XagrfBC/w7My23+/yo1/n94oMjIMYN3MSeG3iVl66oLQCTn+QEd/IlqMOXo2v6HuYbZqiog3s+/9Fm27TwpjFyyKi/YfZGSzMpLlShqI7FvjKhm9WDdN6acibagxu+PiWh6Whk1rrW4ZqMjnCgE1tlmuWnKDRjJqjBfuyCYsbxV6qSUcSAnUqJeI/UDdVVxapph/i+umRhBvWhRso7bUeBVukqe/NQqxdWfyaz7LObsDGpYdVmvty3c9QPgQCCse5f1RyWtFKmRL/z7pxGHWiyNesgyTwKoA5X95vkdz3Y/R0JuApQzMKV3JVXWQQBOMe285+9sezP6Bjq7AK0VSFVePn+e/STo9hmdCE8QCr4mbSUXNi977ODP5EAwC4i+ev0BtzjDLi37rK7fpkaQZKFUGpZIbW58meJBIYhp3avOrC+Y5jjG+hxPjog237LJIi1dgKWaKAbK0tuK8m+ujrEMne986Xy8ZlHp3KqU9y3Dv+PkRO+7aHUftqq9ldJqG0EgWdxQUqBjZisVzly90npOtQMVEjGcN6gaWnv7JXHPCttLNxlprP9eu1CTKoTze8reBt48/kgUcA8Kir/MMDYFAZg3Gu1J8obwMyeQ2ILWeuBNAPRVY2rzAyhgCRZmUj7hGirxkGYCIAkIkko2lRZj6ribJ2IATsMM4ctmpS9BLYMaZ0caH0m/Jqs7QBcF3K0K+8wN7ibGLrUjsaJ4QVm18YX+nt3srPpNU93P2upeVXITUmnSWkGNqUY7w5x7y4FL9ywedvOyBjY0Ax0j0CpLNntUAuDtPmFIPrKsb1wFNAYQe/xw4RZU1XCTFGK9pZD+0xAlrvtf4I8jVffz8vryXo4w55jBjePbNqACSh0ZyNWXa2POgsgDEmG/o4gJ4sFrt8zdnoSyaB5IGwHHpud1x2gict9BHyhadkS6iAfsUFKTST84pEF1KBATiorpdLODtgT+R6Kn+8Fyu3HnMknnSGVxgAPZcBpRiXYFgT9ALs9+rV2A7u0dyZ1ACnkFqfv0H6olZlDxmN2s8mzW+sNt1fCZ9lVrPh9TK+JoeCL60/TxBC+HkuVdqHyK24N4J/jfiqWxSpfbiqeoin2oE4DJEMNxTKRBt2WItwOeF/mp+9Da71sEM73r6T1trzWB2wEPMv/g8iqDR0GS5svrdPDq8s5dt14vPQb+MPBGf8OABZ1kNgfFAUNo05Yk+zvE1J/xW8Tn0Xje2TTuY/sC1H+q3lH18kbHvB2bfD5HmszM67svauGpJfNzDiEQjItF9jJFZZ0vjaS62zwMq0NPzsC/Xv8kO9xm4Cr0bUL35cFffdmcDZkQQpX+ZsZ+zYnCcnd8dZRSN5VYTLNA8pE2Dze6B0CRqoAzQDvDuGJplShn9pxcvxKEEOLpvZBL6GREr7nDZEg+quqDHr2Wn0p7Gjdb4xg8HZJ/BpJgCg7hAIVd45zFTRhXcmP00YKUHLifRe+C5BjbzSGQ+ETp+5UFAPFx//xWkwm0ySWj2JGSDSu48dqiLkJ3vGYy7gQNVHW7SG3/vDth9hQgBWdlMKvaXGFNGqrj+4oS+0VHl/7kZQVwzq2paYVlNFSoSxT1QWx8GhKno+hlCPDd9mOs6sTdf79gL0mnm4G5JA9HO+bD61pOoGBQ7vLIMuNBNtCzRW03A+lo/HIxNQyRYhMfL+6GfEUFlh9MW5867D5kyoNVmayPdfvf4Sx94vznc4oY/3EY2cSnq0dtACKpBUOb+l8FbKRZdWnOXHLyZB1UASbOpy91d5EI1GcDDE3EWm397+eu+SGm2YP9mU5Sxp8QlzmSApPbBcH/7+afHV0yKgbl7DQi+Z7wOywUAj5/oO3bXL2OpU3Rp7o51g2OP8VSbQugGf/jB4x/mbZCnptnqmq+XKCE8jirnNrds3xvFKeKYx7gCicCbdI/VUPmA5I5w2YLeI42bs6Do59DREoHsTJJ4EoTzKn/PJslGLOPEnyEUB7RE5zIn8nGfRF5rN3blaa3d4rGDT1zgMR5/ed3mN9P6J0tdEdDcBEtzGcLstiFv1FlQYtyyZTnz9BM4mLkfQYswJ5gT7fPi7OI8LqFLYPLUhfOX3ZIeP9JJajix6QHqMLKUNSLaTauG0s0JC3yEExZuv0Yn55hkx1jQ6a2iDsZRq9Qmy2aHij4W6JvntccoRjcIGHArf5/4iM27oPRlEvobt70yxQ58qdl+6TgG1Fenf1+M8s/OTzlRJPvXMEETBt3SJCsw6Mm0AswRKflKHAIPfXq/55nF4pYtslyiudlBaueiAdAB6IEzrA/ED/rrTF+7fcKEiyimarA5EcJUCkY/npHiFIy+94ah7HDZ4tx5hyQ3yWWV6a2C9LQSLnT3ykDH6d6ff5cOp1R0X5WtkCZ4NzZXfPXFwlW9U+Xovek7jDYmDF8EFCLoo4pqajBXsfMd+37JnqK0JtWUFbQ0Fh+O81Q4eu7Ux9DUEQJPrlli+F7+lFttspuV+m5EHCbF/WpffK6AIY+MxKSxn+DvW1rc51fEFu2CE+AEX98mzYMHB3lAb7Hp4s366M+kvEFyAfVT1an6/BcNzGxJx6J7r5nlDavSf3u7cqSDCj0dBqseXZOPY9nvJyEAbD/zKnNoznyjfdcIWzrhant/+fLn8uhNfK2kPnR88MSpW/V7P8kyRwjHcBMHG7MwdzK/AXGOR0bCeULoy07WwGOzjTZ/4JkM2YSb44PVno9HYzYxNZI6rPLhE3VjDbEbeCaeSSigfj5WD3yg/JcN9GxJbNHka1Z5w6rUA083pjyhhTV0d5fDg+XLn/YR2PsF9FjHhqtPjdZHfyaeTGghFJI/V1wEKTbXt9D540Toov2RE8nZTBqDup9QfAEai/4Ei6SfN02yyD97VXclbqD5aQ2WhqVdyetYI/hrWblpDCh+PDmVh6WhxOWJHQMkPgiFNv9oqSMUr+RatS25WTlErIo4bstjiFOYCVlBBAbwJYIJdYylhGVWmWkR+jYiYKQZLYRNqZtZ5UAep3CJwYgw1UWVLyuh9jdv1pwO2Z5BsvVY9LBf0SfDif2nCXaaPzuxVFshaddMEejrdtZXPaYRgfW9Vg4s7yBnOsh1XWAt0ywJd5gCejMvAAEDgPK7v5dpY8c7pd2A7eXxb5c76CF5Shf0ma7a3QPRU6tE/nEw6za8A63Yndwhw8iI+U3o/g9JEqpJYB7Gmq5Ky3TxQ2n/o2MN4nG1s2Ldq+KMifaO3Nm4oivYI2ip09VrSdUTkDp7csrpFhvwGVYVEKTBMuwXmdiGw1TWWX/5kxQMfXZI441XQzqnnC4lukm5qndv3ze6AWtG32yjl1Uk/gDc0A73kmCanXSuTi+d+sN6xCGkvEl4cJPxb/P3bLudh0OfGpf44MviXwZ3vo0O3JepdeRrGfX233U1b+IGiWx+5svwyYwqZXEiAs4P0ACOFID2oWJsa93+MRRCkYf1aHm4KRN+giKVDCydhGJZLAgNaRaBC6lvnZRwUAnD30aaF/4LG01w+Yk0HQCpCeLxHKJNBVHx5n316LwUUVRwcUDgloQ5r1XuYHuukR3MsXsTp1sX0n720uE5TBWGc/E2KvNI3WIClSKOvOOcMWh4+xH4HC6ol167ISeXhT2iw8knQrKzrBgtkX7J2me13NpiwNJoRokLsy96fjNeGXHsRR3/Zt4yd2j8t4r0ZVQhGsqtOLrn4KF6KAPGrREN4pEh69MJaqzV8nBu4uF87EmzzQWCG5Cb+zX/wJ3kc3WpZq3g4Vas3HKfiG5swIPxnK88kQC2JYBEuGAtlmR7EjFzpDESwmV0h7uJ+6hpLdsaOUqyWpHrSbCfp2xt42Li4ghwkzihiU5LkZrLN7xkeYmkUQjRYUoUkAUDOgAZDg83X0uGSAvzC97Ye/DGyS7Ij84KuKTHwmDWzJTCQjTvS8b++MN6vWs8BaXJtangWWq9HjqR9EHBjqLrUETYUtaQQ60AqCYFYx0GHfihZPz3PyKoFN/6jY/3YONQlEKxDAvkLPGMLLW436bn9wzcdOxSdywr1EhVmlYqPVQFNqMlW+13kA+y+Md7rrm9TJz8otJjKhMKONRMWiQEZfpFhvCeVJkzVh2UCPdyn1mOxto6AkQFWIYS4uy7H3Y0bbHprEHoxDMSJlHSufUBRJ9Nu0i+vkGRfD4zDCCQwEIKFrCdEB9RbzKH5SMeKQiRHqpBpiqkwAyR6vX1YN4FL43CnPz8B8p2nrHkG+9rFjFIwFwCr7UAyXZjiITYHyR7oD4Ji223cZkbPAQNqg7rxlS6f9xZFhtDAx5Q1drGZ6JfzLN+cslyijvB9CGegO+EiysH7sg2mm3zH0guFkAJLXR+BrBFAjMCeEz8DCN9nqN/hvl+fubABi95jyCkR+Cd2j/e2jZkkOmY7+lD8WFbkmxXt+K3QGyJW14qIdtMMyf3gA3s90YIjK2+EQZgZM5enwnQuHepTK9gp8mX0Ayvr8CRzIES8a/kEAYJBipgQoeekdphpIRBkQDGEWGYoansSQiBmBSKKixq7kHmoTVXOgCn5PXkPR3WDHTpdE8RqjIiNcmC0E1gRwBSiQsoRM6MXZF1Bf6PVI0qdPl50eO6z9a9X7ygosKy/LBRuBBVCU9BHEwVpqtzMh2ZILHE5cWuuEz1gfrrmApqGkKDUa/8fBEP+sUotM/nxBaXV/hCTMfB//3bNXT92gxAwQeE+fdgBcEBV7pcFioXlLYSe+JbQJe+1ABjrvS4LNTMKezEdpR37gvb/LtACNWlSQWRbpayVO/ZiJeXDYkvwSaES5fifa3KXOop5cGWDiKnB6i+s6uQles8Nlki9FkCB6bVYiGCnBjPaNkW+kCuLbF1NIDXAoLCt7j+kS2GSwqdYR2YxD+RL8tH/b1HeEDQEl10OkCnPVpidHYhzsoBHq8UUQICGqzYNxvembnbd0cO3RXL3cSijIzsIuBMAizweXMjnuLoGS+rk2GnywRlwtFAZiz8OBYjZKcRBjpgAvqDRgMUuBfGzDBdd68W7UqLkkRRQ1P4LSNwTPfdiSIyy+2erVvotv184MXt0g5Cxtqz3AeN1YMAukRVSsTDN1qB3U5lSrjD862j7dFW3unK1C37zBMAlhtB1/12q0XRXT5w69VQlu7XG4J69xchC8Cb8D7oCRpEugW/W0aEOqGzT9ZUV2tq0NmkSHnrX5ZSZzP6E9f9v7kTvDgMVbCzyD3Uig3cSjkwMmcZFsgBxKGPs3Bj/aHkXYlQkuA0DTYM6YXi35EqLI5fmpg7XLYI16q5nNwUDyUhd+5xFOBLHRkHkImY1l96xcPfdQAnNOisxUKrtSsvjF4M8tx5q62IR59BFIpqyJapM6qbDqFZaFbCgT2F4bwvcue6nJp/c7ov1zT088fC5obbabLzqAIQrb2Mls+ZmXDX0/FPXssNinKlsaHRurdyHWJZOg7rOjtA2SBzf7InSW3DJ2LeWTesA//JBRyM1JdcQuiOS4Kg4peBoSXSDC28R4d/BnBRy4t3U/M+Tdp+HDMc7JQbYyeboRChEYETN5cWMBUS988k6Jx3qUynYoqVi0iG19fCx9ZnAtK9g5q3Y7whaYdptEP0m44rOh3wiXornF5XN5IjxXUDhAutevBIQ9ybrZjOxd5AGAHR3QnEC1j+7c5ABAHW2YipbTWDRxtigV4oUtZXLZeUV5N/MOVQhUReUrFbWRNK8PeOINXURBG8/UNJwHdgtQ51cmfiZGyS2zM73yL5UxNm9t2L00VxkqjUKGpoKh/AUerBFIDrdwHmD6EuxDHJMUahQF6rQwsBwadLwIhD7BIaDzzRe/miIR9xeTPEB8H31m2EQ1TpJVMaiBoIww6+sA5579X7ovdzLR14oKNnO9+71wIImXvXlR0ZsmLf/LWvbmDqUKOgu2NJedZtZpinr+abhrqkeHWUSYp3a32xXzK+c/FSJZKBlLWlMKHAb3pGqNoStFj837SbcBFsRV0mMaJW62Y+vFn1rdYADNGrYTy5jTPnH9k3r8D2koszMlTFMOaKfavxXR2eE8yehNLETGp8DL9lSsgBZJTE/hi4NzPwJy4JtZZnqXZBGSAw8JTekTu2mduOmSbLTRgtgXxJqESoWJyOHeTgpjne8RIPDliD6UnwBXuhIEECigN+Cl7B1pnRUlgsMJI3AkEl4lntJGmbTsFMk/+EqQK1i2jvELfX777OboyzgECPbA2spYpd6HJgFjXb+TULKnQlQGsiK+XWBuRxnRsfsgBR/uuyPWzbh2nmHRmUcIP+dMbbDTTcJlU0Q3oCJkHlARcpg8SA5ijQGobjz0uu50kSq1hvhiBf2uyLLj0Q6NdTB2MkpZBTpCkwRp2RsbQDjZ9MVq/MGqZyfoLdF0X763AIpXr3BCAXR2CY1bZyLfAv9r0ciPzOW7FvNbr73cClMfvGlcdGk4rlGepdQPyrYkBT3gzuzKzevwHL/8v5NdxmpXZGaEZF58S4V0vmHDCCPLx238x7UwgqI84sYBydgC0lyumNp5r5ILG4R+i1BYG8Tvdf4KNMomEzAAC5L56bOIptb8ZU3Tx/ppeUlZF1ZK/+fBDabBWsefYo8OaeUute37h8v6+8/+brYbr+9fxlZW/54G3gz0XYCLzvBQT/c+HhBkoZTHRKXhcFdT7pFNhbcQIR5UD8jRoYK5ZBWKSi3A0kUx9BjJ9kKZxuraLA/c0x+prmzYezSzANIJbYw4MPkXwpPAViASI0LxiFHuIzBAc41NLmiQxFs4Yt0xVsC93Pnyqng7UzfEtG8ZECtqSmDVpapQDQ6LkxU0zdvUsnyRy3Z9vdQtClI9Dy3rl6Mi49Ki2KGirgb1wuiRPGx5P5Uy0STjydwCn7wwaPJbyTajuaA2DojV44Mm++6aRI4s3xpgWJolrHzNB5c+0n42Q+Uh9aaBLR7V2vHrJwfnc81Iez4ATE1hHW58y2iVBvaf6OyI8C9gHrHW/9Q32GzN7W9b0dWvSJ8h+CvtMBkZofi2Jatk5ThVocFmsjfPYacJCJivQdaAZSM9N72zQFfssFIjcCIHn1dSYwI6cYylQd5mbFKVMiPn0L5PoUIeuo8QElYFlRu/Jd/ZVO6PDVn/5a1jVIGGwUzS/6emfdTsB9SvX5/IoOL3gTRZtVUcSLvXKQWlSILl0YOtlCzUTWhpCq24aRDLRmoe9kO1UOrzaMPHb0lWgaKWlkcrZYDyFQdg7CnSuERlIalZyRFN5CTCdTM9OBB3ltqPATW1n3s7YAU/mfFYHC/3J78S+v04r/GQpMWXk4lrGRduRo2K71/SDaFbBU4TPNszAQyR3X420oDR1XhcU1qQ5Nm3mbIx1KpQNMN26rj1up2bcXv1vynDQSeTZLexIAmShZOaNS4xj9/WG7P8adWUlRhU62Fqz+fDTvyyB48fl94ac4BMAzc1aB8+KGwh/QnzxyzSUkFhWWIpUw1TVNr67WmllQbx0/CIWFTNXtrmtrRnP9vSNNRa0XNqy112i0TyEIrHlaP3VAC3BDSU73LNk3htv3/zp/6krNY/vG6XfQ+EQFn57il5Eg7D0kfb7oB4HahYh5TcCuNEv7qU/7CSE68q+/14Um7pC/13vgTpT0nrjn2IWw6/ntflNL38OFaMeb5dLqlKxKpAqBzIiuShmoKmSG/7ToSuBw/v6xE8EJJfn77bvo0+P0WYfu+rxAAd9uXPupKKI9allz5tZTcKkW07X0XHy+qR+ac2rL9n1UXrYOJtbC0oh1vKikyLUufWJG4cFY4IWS7Kn/0b4VYddx8/EZbmRQTNM4lBTdY0AQJLE7CimZWzHYVC0rqzYdMGlR1+BxQjMnrlxb0GXfQZkchwso0yOVnhXE4W8INDUQaqV3LCmIccKjaLiCzEMhLlg5dFcXBUmMM/DpUanrs4PYPMy49lM+QAZlYQffvjU5FiDjGGzDAdUsuVwZQHQB+NJCTIcugmatJsLTEzGtNY2bj8U0oLMjCpow1bsdxRc2igFeXgS/UJQvHe34NEd8YQrgg7J4b4fnVlwYY5WPpe/GFh57FA5qQDqyzP3FN/PqWgdzsqGDubQBbDHTe1mKKkxNS3HRYCcexpk7PzMQ+LrJIXgCKIYCHhY7SH+ZcNR6ib0MfGlipv0sRgM74Rwg1q6o4H8BXpLbtqIATPM+r3xhvwBcI/hrgNBLpwX009DQ/jBUqW+cpy1GYx7wDbbW5t1ym084S9Xx9UeP76NwyxXzHLvxrb4zcaK+7Sk26cROSY0khVAKGvrefvrS8+sf9x79QmgyhlVUzHZemDuSti7L02zQYZaPHump/XnQDjLG6hfWHE5bfSA0iviMhBj+kdMSfnx8JD8NgyItt1fVcdIPzQahH47S4drV87geY+eTiyZgx5GXxknVIW3pxbWFPekvjvwfH8M/fUTCZyRE8o+cFvEBZqir8gF4+wAIkB/lqRGLcfpwNEEiiI+PEUAIUymcKQWZ4wesT4v4Z1N4eoV/WfO1mWhmX8jXAft9BxtLx9gScVkrIcacVYR4CuOwCv8kmAYXuMEzM71MBjAxs+vCGGkuZ193wEFaW4XJOTFlclwCBB52RaekLlKBdc6MNwB4lbaEYA/RwFEPAPAzr1788Bn9DLzQQF3/lThxuNaF/ZI9IRmWP/xGPEEbV08rkoHDVTuhF9BLWFiBYKkoQf0X6be0/yVj5J3nlD5K2Lg5WR9na6uEPtTznlLP+fBPBVLIQARDIJ3ffwmJGJ7D7dsUuX27j3O5m7dD6T0MgYQ7cF16Qfybon9HY9laa45Rt5q7LQEhbo8f0sNvaAe7fZ6RttB43M/vmFzxgR46FFXP4izRDn99Ph3yQ5aD/b1k+aBriUsA2/ICrWtGdnPL1bhJN17SjwMwfLBbSUjM6LOcvvNzFVIfTwTuj88pEysJVuYrNvVWJDz9sqPviMcW8X+jIm7t6ZP9scUYwwubVDt73F1rdQkB4CI8ei14NDbQzP9F1m8IwBL8hJ4zGf+ub2TSWqFIyGUu8rbR4dRSX2SsO4OS6Jusbpf2LFvbJAx6MLd9+42ZOem+CFvW3+6US23w95cz6ZgTujk3xamHTE1LVacriwsLBYUpK6TSXXi66fOqpgMk3lj5oXdgm+aSGH3gzNMaHA1DG8y70Hkv2wjaMFenS1hfl6Lzxwl362XVyVlk4pyn2bdit6JsZ7c8EiFTO7JONczm4Wgy4vLE9gFAVIBaarcpteDY8NPUZ8xzxKSQmkD5bqNLesJWzEGU+NyznMD09JpS/GHbPTt8qQzotnEfBndNobUYNyZ1pmx8PIr2ec73HyONiBgX5aNy8Q6J58APmcVZ3PHkzBDT3vyO0M67R2e6maBJt+1DIU3XWndT885LFyl7qLlNOUXTaLqbrgZevIQ+CHYNyGbVFslVSAvqMThpPdDFvaIWsRrL3WsVMCpOAn4HfrsfDldykLHLbJWeLlr1EpBNuQDAOJJGzZPPXUtUIph2fKFFIQWBjo4HAfJVp6dderxrb47LcmXLJqunb3fpNIfbQPsF+4VcQ+3jDpUa6C+N0znYdFxy59uM4LKU2DDevtDTrrx4Mgnt4yfiuH5nT8KdnvEqTU4/I50lnbr32JwxGjVEB2K4AIJfwkUdCJIyyZHk6hAoQ4Zg2FFZcln1Jcg1wVnmHHseaOrxSA/wPgZSe1U1nnpoX+m590cVkMr+aQqq7lsZ3BIU94UYxyQuIN52bz2o9fexstKC0eJDqySeqWWPMqamubj0TkvST0IR2MYlIGBbPFZJ2nQcHargzxwt/58uqJH/YwE2x61TvuiumdiNP3H9/QH3Q+nB/tYhe+BEZ4MT1NKToTq1KrMvgrffBnVPs1l/zznYj8xgQJi/38cfwt42tRM95AaNz87C5BG7zb9lkyqVF6uqi4tuVaZ+I1VmE3mq01Wl48TSg2+B9/aWHqYj6UFHQWRrlJMTiXaS0eeoW0wLqM++YSZv/QDBgEgEwoRHSlKNaQ/f2SXn1ek6hHWbXAe7QblDRKPIr4jZmXMUHt2Jt1td+4H08MKDRu4BZUMiOLc7GhpTnP+YO5oS3Vsc3Ylx7CWdttAau3qJpCdpZNU6Vt0yhL2fHqj4kjH0OCh7jWkWx0HroW7KGnbX/ySyibU80HGqSP/9dkDyXbvJ41MzLVQp0ApN2YaDtx0rUItKU84e5YBT+v9qbsLMD5AIF+3RpG1g2F2ZcnQCO2PE1AmxnXr+/6emTCo8DN66XFiM1n9nOi8zbiimIXqrvuHzyb2UsyodfxQLqOcUJxmye37x6xRMaqowKsWbHFprfRLIXwbI/NYKsaA3hDw1/UMq5/JG19mvnCYJIZPsVwfXc6vnVTz0CXlir0w0bFqR9Z429RYFEZ2Su02C2h12SPzQaVFg0wCUyEAa+v7tjR4eE21WXa88FlbzI+V8vwsLrCX+G9dIMycDEC1D9vyqyJBz+BtSzeoTz83agI+ub9BUvZ1z76Nlv/a/uUG/LROVdO5F/FmfGWqufuAlxenwcGyB3XyEIKC4n8iBHmZLLkytSYIPmYoTs51hIcp8xo7jsSGlJVaRB5KGMkCEkydG7ctIk3Ye0Vl70gZx+f86mtzqu06TmJBJ+ds1j9uqH4wxFdCzURb6fpypvcwIN6WzMjM3A3P9xwu3GISplwgXw1Tt5Aft5sfgy0yt+6qJQAeMqmyMaFpO1TCRHUbDnHC0LzUnWpU/Otk96Zx1oihHOxg15/WKutY9kLOoCF6HISyAPG6synNZe1WKO/Rc4emaa/iDZUIU9r0X9iXB4eFBV4Wn7Bdr7uHTq4RYFdMZPhJZUkdcOtv4U/aMwrNJG+VzkUjjklOy35obNmXPyJ5x/HFDCCq2AIpwhumSFrbgjZp2p39msXfB83vqvcUx5ar6qSrn8m6/g16aMwgAMy/5XW71gkoO5P/skND0rAer7D8fwRaDZSti98dpKCG1chzKZWhShJve+Upvscvp6X+rBtCmhsHIOEbxB2YB5yOlSWlafnmMFYO6AamlcCZp1ftlKzBH6B1yiehN55AH4RTEGfEckEUAOq5G/SXIWfp+zrIvZ5K2US9DoOPmhTdU3/onbUn/VzcB4dV0EmNlJq9fdxr8GKums+YdwOm/M3hRp+flsvAu3OfOzAxZdiBc+wypJ3Yoq/rkoiEz7ELDmzNlW60ukC4Y6HS3NDSstZTBB/B8gjHU7jkDrItpuJmTCGPa3vS29srQ2dBgzoKmtUFz1ZsfO4mheF9bzTfXHwvEQ2KM9nAWbLvzSq401hlx2vFMcp3EPfAagZtyDbc8ics8To9wX7WQ7FLVRMcrTs7vdOy/K2m8wwEladxadevY9V9Y1x/oePrN1Jmz+sfjClUP1xDyaX9I3QFeSKa7xEt9Uiwb2XPQKQh+nNDr4gKcIELI5AJn8d+5uVSMucIsCVJ7eOKBLxW+xmzjTswuDCrML+wQs8b05biOuuMjXmVkHD6UNWPpDh/Dv40hBJNp+sbJQYdS1fAmao7X+cspliMYWh3rDDG4+C0wJwN5qGkIHaIgJfwnD7Kvo0MhpDpAQb5lruNfVkR/CDqysLPU6bCtBYNUac7YoflNf4fbr7cHv/58ysjMO2zWZcTiH7QrxnHc1s3BaWT7AQ/rUxIdo5LHdQEi7xmaVyP4b06YBEZp+77geYYEDXfTj7xZhZAR68vmHjOhw1YHtENGeAdYBingwfAcbDFItmL//v2afZCaHIdyHZwW4aZd3hrge5URTLQ11UOq1dnuQxDifgSbZu3FSODsWLGEoZ1zK6MNcLR/Bt4y2YdJkDLxsX/7xG/nrYePpAZD/ZhvTa377+hsunbr5EKmXWhHzN3rMYmUx2233HDnNelemvWUUaPS0czkaUyuqUWj8vKxyqKiiYp0kWyjqVGulupEZrP45DBtc4sHxJkM059nOrtNWz6bHbq5xt/+Dpycb1VEkJUtQ16uLFVN4oSz/a1le2lK+g/GjlNz6CBM10tWkx9NARKvFQ7sv05NV3AA6ezXvnMssbgVmgSrWwd8bFiyFOX3HRs7wWorMG2OUm2t9Ua/BgQ99maXtwYDWOlu7OFjhBrSHIAfxNScaPj0BE/i627HzTHuafsO3xh/8nHNcpLp1beqGd2zDKzfH2rVsMLNaFii206si01Qr2ZpAskKAMGHY6ui6A/lKa52O7Rw67CX7SwZ8DRuhN5L738yPz82aqyz0k+M3ZKHIBjosWjvzT7ltagbYfu1VlvdPvlrY1q5pVzT4pGkXmnk2PC+Qy0U8YQ1Z1QNnNKwV3qZjF06zf+4t+cOkye55uFPjyNNwN5lyphy2Dbhcvh23V/IvIUB2KK/6JtjSCUNaRP9Okcw6uUY9wkROGoR7VGIOFtmGJt+N7m0qcJW2kgR8CgIk0IQeXEhbE8RR1fjrzlqbjLa9XXceSGmU652V9fg9vxG5bVlSrruy0LcEpsJwUkYcHIaGvAg5fgun0UqlXCgVLHSlCqh3QcMKPycOJm/07xxuSrDDKc3GizAa7PnE8eFLh98ecBlQU8pMhqy3yyBtruMLYGoEgDPKv2tKilVXw89k2cr21rhS1XmWATHHE+olLyJrW4jmVPHNPFP8dBThyGkKcAm5rIzIVLhjZcbZg3sxRTYbwD0AFDAd/2BS7r4XiuHT40xg1KVdyLyVdgZwNhlyozV0ZIWa7pmVd7CErEn8p80pO1v2TGK+7gMVqim/vlxJRnqwWohNBRzlSxSpMEWwX5D9ZnEH24ZD60H20lItzWYZQ2M81sLZWk0Z0FxQSo97/4q20NPpKan/JY3We4BpmRb0vPvj8xLBVmq66voLvCkPFax60WYRraWvaWKvrruPE8KHBwQVk4Dlyk/0KfGgJPT7AnIulITAHk02NUQIxtMYFEnYDnA3U6OaKb0yXURH4AjgoWKkU2XlfyobWPA40Qla364ov06R1SLf53MgRneigIjzAmxaev7GI/bxjIoMwT76T+ozAbi6mtrP7t0+y+YOvapgLCyDzi60+pF38VV+CfLOaAnea0ddfHtr8D17FYtK3BOy0qnufDtp01cT7omEMgCIhieOUA5A+FZ9jjRzgGrIk17pfyNW9Q9zZ/7KGYAjMK+8fP7IuMWXXzx0Q/AUcELqnCxFhi8R5yS+geG3UZWNkuuUOE19YoLExw4XzifVwLchu4bbrxp00kVSEul+7EjbkApG3Sh1qv9ZxU2uWsqr9zCP35AM/VcUdUYNgC8jVAg6fs/aWkvqWKkJo8ShmgLcm7HM+g9Wh/eTz/dZJ5OQqURGEmFqZsMZVVZfzJKho0/GldWBVyHAARPyMjY8xgUAB39cZV8O15MS/DWwCc1QTMyHPZ8XKXQrj/erh9dvYog2MMUebyN/BQAW4dAznyzrK7gR1cIQWQ4IU99Wy1B2tZWphKgPX5qeiUw4f2Bp5yKLilfSCIU449VlJbCwFFYRV02Wow5nJlRWDCeSjwoIjO7h6XTmr6K/pO/SSjqakxg+RbCtA9IlbLl/Q9Iv3e2fNp3cBhkx25jt2KMUECIJLRuI7QSFiohdH7H1dXX1GnPrDAQtPXlhXPRhUAbhI3jDkUE4TZrlLSDzdMnI2NvyoK8VioiXl44B8z9eZoEgXZErmrUkTUCfPgFZPaFAhAYA2wiiK1eAlzjhDEVSwTnymSCB6LBkyABHQgvgREVES0yQiq3y0Q95gcxFUmWGKr0sVlGeIMICyt14ww8C1kP9bnz0PUDnuSMNK5o/CizvCBn2tPSSJGWgoOx4U1LGVx3Id+mHbI9KCBzk61OnBS6fG7NnJdBRIAeAkIvUiT5FiVtC9RqjVXoByGKpPW0nz22d4AaQ0ZL6AFELjZJ0Ezh3iQyAMBu3kJh5aZdfwIfJLYxIElbAkDba+wk6hPW/hGptG1Jht2X7zmldUJwLQxE+1DryqaOY7MJeadqi4F8FhKMLMaUC+QI5tctUYRrO8K9pR7HOBRcdMnORYauo6kZ/YMVL90TZsGjQD+WMoV1f9bf7tGjdmFVzE9y3bpMpEN1ub83OARMHCl9ysg2A2ET5AHb+zU5gE4EcU3FBo/XDQLP3awEGefjO+sZeW863qt8X14K82zDcW4uX4Q3I+PqpuLASkWOZtZzuUaFUetvP1MxKCDltWvnfG3J5WwsHZeelpkBzBhdsgopZC9CrpRvkEipS+MtmwMM8B4QrIicHv/WWzZfZsBoTAmeEdbNE9L92CjOHLfd2g9DusaTABwb4/b3qLxDZR0D2rxSHrFw4Zy3QpWoDreEUPfXIe7tUmpR39/50qVML6GnjdWM+zfkyd8YXyZcMmwPipdCuacOtVqbTaYZhneWRBBQuk53Jpc96hSN7efKOnNyVspC7x/9a1XQVDwZbJDoE7IZXLYBswHaXyGQ9vNCgKkqKQ1OvlfKGuP780vj9vrk9tP9z2LWQJB6vGvQ26D8xxv/AVC2iRUre1NEQK5LDi5GoZeWVUSPb/I9rE3ggLrMgV94IsqXQ99cQuc2CSLBWhhsLY2SvtMeJHQJT8liPtta4kR30T9qF/d5sVT3rIYHP6lr7RcZrp46va03GH5T+FoE+ubGc4ubD7mN/aoaD0XoMflXU+f0G97rb58Ee57BDmdP7UjBWp+O8lyfmnKCO5QTzqttUK2bkS+P7ifCXQNgD+VFqDsBDXxXlcIOUAZEJFeAIuHB2KpWVFVA/0BJhVUJJqDk9MsS8ubAGaEsZ4bNxnxsLwlrhx0BHDRAtgqUXQgCP0Oxw0ncHPUk1Cv7BsMxAfUsCoRPAs/yfssSoWXJlSclGIONHUxbk4JX15YzveqEsiigXxXVHfkUmW+cD5i2lN/GoVWk31ysTOujBUDdqx47Rj2RjHKdcP/NpPxWmuxoGKs7DJNsp6G/+b7uG33ZoDSpvzEV83+vK2BjBsKG/oGyBnDPAU8+IAyIr1oibd4JwqGzTGm6pOn8dinJDgI1SIJ9caxJabo1fPdrGUCDDODV9TFxJf22DeMdan0Txcn2kMWGGOQQDVbKyzlVcB1qUS6jgrLqEx4AIoKk/mX1/kTbfSN5fYPidHHIeFOkhJlzvqccFU8OLYhIz8fD6Xjco10BTSO44lwhpYnS/OKL8LfLxjXf5e/Qb89t+a1s2GZfpCeChKCYJvpb+Jf17lI8l+bag2fQeqhXHxvfeHeP2kHvHR2eu50IqMLb8wujpEpyTd2l0SY6nib/TF0QMLpSijQYDACFApp6/kSkXcHn4DJbLuTqmkaooYnsvjkGs99mnFxL4d8LLek97Vj/kcCldSPEb8zODx/CZXG+8DtXt65tOgVzhCGzaSIh5Ic/y4WamS3HdEkU3gnKF3JPLChyjsHZvIW2vCuXyrYWWT9p5R8pfZ594gkIdWaH3Rx/3GijOMUMd9lnkGR4Oer5DOGs6trfI0snMLaSfP9rM6cjNELQw9ZPc7vYEVbZyoSeDWCNXme/WaZu0csSaHls8DAdOIqcp4Cv1qFXr6mb9TJv6riv8zAZqEDMUZ3eSMp57DdnKNbDE15KH7clfaufVsZqZC+bqJbDY55K89sSv9RPqTi9BtbcVOxRSdeVs1tI0NO7O1UeXiGb8wiYs+tGz0/pbdy4KbH+l6FJjsQ1slVTBqX37IFPslwCF1rI6jhAXd1HsGlvMr2nb3tL/pafdrmpxSnA1Z6DZpJvDDMVMISRc5xyK/no4056V5A1Ld7a9FHbWZY6fAsOVpTaZ9r8tjiEAKrYm83bM/QXT75K0MvyS9ySd7LpbVFYVvKo0XtnGlHEjhrbiM1OXNE5zWXo+PjG8RA0ozvZJP5YxcldRTpl3DadYK9QJ29eaC4JWieVn/CMifcGgW2SIPz4g9xaK/9KLVuy7Pjh0T3ah1z3vN1T8Hhddp2tf6WmVaDcOAQH93TSuiwr6T0pZ4OTr5aSqgx8zTb7YqpyS5ODe89q8AS1aUjrvJFnZifmpV7ROcXN1dnhuz/5dyXK1Y2VtynUKZWG7iEsJMS5Du8Wcy8BIjRnid5V2pmTs94p9AhvooSM/tt/rQuajtzbo3/Id8/3PWUbW23WYb0qzMD6zuSyOd9wckwPiR+D508wukVAkTND0M3bIFXFl8btbS4VegRtqovFx1wLVk9wDX4TDBLorsQLDy3NTzxey7srnKZP7fwDFAYmUp7SKL+HbH4tj0UovrauUf35IyP1kfCZfnuFpv0QzV6+9PnemlqQph2+ht7rROqvLwcGgCB5mkD518wxOGdjaNmTwnj+KMTx4fT5T5X7pBzaJa0bT00czR1pPAgIVSnYAtbnovpC4MD2jv4c+SG7O/oDV7xRAVI/pN9RZKxby+vNGe1GhJVq10efvPNgqxw5T+3c1CNtkKo3gBppwIx+VaeJW6cTdrL6GKmmd8hIz87GmrtXsOv7riYeYA79EZnaCCXBfqMmgCVjTE3j/aIbqf0wAMUbWGCIN7aH6hzkFupQuQU8FM3oTi+B+7Z5Ez16I6vFLzmK7wdCZMyjyMyz7TpdQzsys6fRbx+dGpu4MXhnPTLzXHudruYdVe8dEUjjk87fG9ZpvF9fmHSuB51xdl9dXWM7+pVemutPgWP7dHV1XnXV+0ZQqfFJqsQDPciMc211upo2oQUZRnFqRm0ZZmQGK6Tjf4HJNtSmaCpVGJVO5wDZIGl4EMO7LcZNV1chfqHK0KlcZjyycnn070WYgtSiusM1AVabc7ubr7MtmjYcEKh0qIlHIeKm6xfChFdQ6Tp/jfQu7axMeLu7oRbQ5csgPI+mutwacNbn161KHGqD1zyy6xsvGKmHpquY3YUDkAq+5sE0o/p1g3vTjPatv4wN/UoOYx2Hi2VObjaQD/4TSRREyfcqnI4K/cYefLJcOzjRWXNmP+OkGMqDs/Gtd9lQ5O6kO6hsYZNhrhofktK5biX9mTBboc+vq/seoPcJdmuXSXkLpEPMnUhmy3K2EAen7+KE1e7YfruGMXOrS412pqq9dmfLi4fhYqfplQ8LM/Re7EoDbZnghXeUxJ3Y5eRJAHYEgLaAytQBxJUA/ElzYpkwsW61QyQf174V8wLuvTz4CPoLDORg5MKTOfqpVOlAul83DOwjkRMEb3w2euifY7vkhkNoOerOUoHBijvUgtNTSzHjQJ0pYKyzcTCykF0jFVXE4Q6UWet+X69hvyuoRIYIrvTcfbanxg4cHVkHL2CqbDiK2cUjDR703qbsi6a0gTlw7pROQI6vbPPPmicA77+yUW99L5Tb0mKz3+spl4WYGwPnHO1EXhgHZQT5rxujifHw3fn5WpfXpvH4h2MRTvNdHU+vRnDxP3GZ+AcPaT019U4MXbdkKQzbH1Xo9mu5HZs/1FDxC6Y6PMV5KYsIJH4LeDjzsUe0W5LXZZ/DC1ZqVZ7rKzQdd/Ebt6/n2vCwVU1e+qxNLlyNHaBYfdtYETmVnc33cvgD2+3Y2Qn56UBJ48nj4RZ2XViR3YUGS6ki2yGKxYvTrmxgYcWOXfE/8JIPLNg3YsWY04JfgUIB8DBAcKPvKwWP32+C3TvYy88wSnLxZGghdbUtyYrbmlhiMT12cGmyXNLxQshTz6OOnU9Fp+GWVIrNAqJe6O+0MkA4bN55b3J6N/19vqvfktwPItikyIoYk3LbJRgCISR+BTOZGKKJw6kVWDzGjJPcfrYqjkgwZ7P7FJjtuUDu19V1W7U1Z2nVPJffv9PR2/L7iYIffosLM6TNYfgvUVnbPFYl2mcZhhRuw6qCwl1Iva2ldwn70MxbG/9ENxS81fpsHfF+8ztJuS0MgEl7nqLY8s4Ww5Dra+472yZVQBzFt6OW18uImMefkMOm96IEfag7dy8e+Kq1QKgqxHvqcMjGwNbg/eE7+9pDsPCY4WrPZXUjzSBYG3y2v5PkUqq1//SGz2czDByOY2pGvph3nLazkZxxnl82K3Xs+eNneAdNB4R+oN7D5XaC7XS8Y/n9mdVkUyp83qbIXN6pROYAFgDwTLfXsl9nN+PNumVLc3k6NKMwLI9DRGQNkFwdvDLhdfd97Eyz7J50tejU38ZfuZOZPd5WNp1JS8C2ztYi+4dXBeMdf8cynXCqh3W/vdN1Cl+IZNoNRhle7712CdF+Bg8Ufj3jv+q7NuM6SL+DTKdO3y+a6sfLQxWIdPyTIdbPMwndZgbNh2DYk9iup4iInrvnbQu7/gQBfuoaQvuqeG7pEp8U2BZ8fbG1keZ7h1RgU1A2dyOn0ZcEDfdSr8eZWm7TMtidBtmbHNK0891qNtB9vfXrsjkZhM0ojc1gB/pWlfxBrlrc/saZun3Fh/uL5k2E7uvU88TktQQC/pGlepDwSn2i1/TTyAb+BqjjEnDAr+1uO4ipwdT8oe9BFkD30LcYoZmMZF5yRfzQLGYr9K/+YNbpWP4+VFbB5AKWDykeaetUf9OKpKG0nVXWJT87WpY2UtIAVApggZxlHgbiyRisrsgdKqK9wbZ7rsjaiCu0dchgS+wk28y+X3xdWzJ8DVNj3yi5UVEyeAXESMESrs9yG3eopOTMZTu3b0r/EGxvVJdVI3dDhJhlWQTf/oh0Tltx/IZ9I6ZGca1Ee2wWuOHX3qhwzrNy/CO//8apuLmi5/YOgX9ghNmr6a9j6ag506h1GX93KBQWaE1Jd1bWxHGApU/caNVTzePf7WVI8/vUSA3uAcyTMZytHb8IPH/KNe9/uXgiV1upRbMhuNk5XSnCflDxTm6U9uS4fSOmTnlVW9I3h6myb5WdBVBkPmcCYmpsNT2y/PiyX8z63+s5sjAJF9UeHtdpuYXdL5VnVGdABJZbBGMZ6g79RfvmgpFllR4mZqhSpEVlMK6qdkHVChMkZPNYjflIpUoL3BBrD5+BzgtKszoOcNXA7j1rmGq3BQNwqJ098hBTg6mT3a3Qjt4rO4F0AagLYdeq9LlMgnRjfFOtrTumD50lnfL8KWsrri7RIUkQcbg5sbG8vfcvAVjBDXE4lEQM8jVJeg4VwDA1VYZHsllMymvDClo9Fuc8FkFIYJdhl7nCCFEf3HPK/AO9XGkKBUiZtDz59LIWxCmAMwG8RyLBqhnERNsaOYHGYD/N31UifDXi6jwt19D7++/QmfFb1w1aJ3iyrOSS8Sv2zfat6qvaZH2WI/eGZ6vZLRCgAFjBfciUaBkyKmrHCtrgYsz+OwdPhiYii4h9n10gWwgmBBZIgIF0s8EAtdsY01owCUFjO4EHpGy+3R7h5fqOIXZ914f7t6Sl7Y6e4rouEhLNpY09qKu77TaltazleP63EdXreFHwma0u6p4tDHiSo+c7591rP7AhBElSX0Nhy5SEQ48ncPyz/UL9RUl0VgyVtSMQPtQR2hk33fmJmKh6B1KTO3kmBN6H0amYWTw5CUroL9jYeIDuN0fAt+EDU0jMxEziVhZmkW4ZPHBTuEnJJbskwWIsvNEiqLuiAfKtlT6J7JxkGQPdarZj/+MUpyRxrAfPgWjjFRrom7hxDpiSJfQRuj/xtq57tQ0IIw7hVDTmvC+tE/gPdUx1rveS01QhIIJXiL9dK+l836EEMVlEXcd9FGz0NhBMHHrUuT7qyQhcVtu5olt88QHEEIfMOvnSJ32wb3ynbe2HRx/A7LCNECu2PhYgDUkYFxMbzQTlSn+iNQAoUkQZiT2foGYoKQ+xKCsjswjKcABYVFfc6QRPdiHuNlmPEVOUAWNW+QLOhwAK7UGujosiskMMHCI1HHAU/zgCFeBL0Axb/+TMdKD+8FPFcOWC9Gn6SCWIYYkuT/O0xLiAOC+al697WEBFh88vF1/M5cQV+2f6h/kytpKcCsIBfahrL0oowMcTDFEaSVM5Mg8m0NUXSZOVyJxpI/dEJLteLEMVSDWVMDFM1FIslyfnwRhQUgPw1B7yaImmNSMzkYrqIxf58uErT+37nVVjgGFZOg5bzbObTumcxnaiIbE+JbkiC8bdND0ZNwFXKdKwQF2eOqSnRkXkIbUX0KXT9To9MY4V17q7pR1dcEq/GJEH7LiSvHaRA3MzuVO8k4bb6mAML5PXNFTRP1vwFiPv9U3xuKr7WD+TfFS4pz93YQHa8CXlkTM70FC7ADGvMdSWltkhduQYeFIOSaXmetJNEKgFHb22LQSqYpTc2Yx5M18Zy+lgUEXUVSWASWo0e3FDtAQ2rLXqf750HwdBOd35+ZSrRaJMGb0FSoASalhFZmJfLjPZ+m9OTLMd9Xs0m/J7L2J68GIH8LyvTtHn4S6eE0Kxx6BEZEHl6Lm09INn5zGVSFrZsVGBhBW72ZZ5sGPijEcUjpacuQsmgLJj1SmcXVqkBkrEBz5OFTsJUy6n4elD/EhuyGtZdiQtx/pgCGWQ50U5EH9k/nxoj1zqMvv4/ihPkqogPMvLn5odB+MeTk6q3d31o31rlHFmwemBNJE+IhGTeFT7BplZsftspPaIpWDLL4Zkd2ZRSm4tkhaFpEXWAk+i8vi5C5gqbCem6uOF3uMtHRBVP/85T6reiS6Hq5CyqOx8aqojAaU+hamWBNMfLFGAu+7lfbtjYz9/myP4/je2INotTXb/qw9KogL8/b6+hNHjAC2HYTpc0LX6N3J6gTspRKxeGTm7xTFwMejKgHKh43q1vgCxP1D98618goZIzsnOF3zFxW7gb8A3B5TkTa0+HotndWltjdXoTGSRNvqkE/UIlMg0oJ6xvEBAJbsaQq0bD3zfcStoF6G+PtrP9xbwVvT5UJv3bQtQ11QhM6yYebtiNlfYGc90eqUGZiZBKTX9m9dHOQIGj8RdEmO+siORcVAKTDZVVKHrbYalDW05Ty+EJjTFuBOQDfjKNJgSnbeUV9F74AgybghCyPQOKgQuxMJxSK0NpmG8UW17LtCj/PlLE/fd26EEYKMNIXWIULqbT3IwHSRU7cxTYCtR2dG6YN8Ybid68OY8WRzcbhfTL8RbsP0RXgjNsb+d0y2zk7MTWyNiAmF+m9aRg0MP5LYiGeHIVFI+iCIWlq85oZFDrW+rP5KKsW5d+PHM2e2R6JhHlZyM42n/tb2KUxybtcXCuQDgyqp0x/VIhiWDlxWNS9pIb4TzMft/ONYSmGKX7R98w4K4jDpes+dUlAE7Mi/ZJ+bcxk5YGpdD5Q9aJkQc3lA5FU8lR5TTkEqwGSUZ0j7GNE6/hcbFZ/IrkoR04bXDB4oYOwq3u/P7LQJxOwTqGCzi7AZoHYYEXbrqAlDTsntqsiBiGs415tsMBLqUW79Fr6FthxIsiAATJKFgoIT0lCgDQ3SogaH8fwEUVEu6JAYA05Rx8qCJibyTOwneEpweY2qCkRoby2+PzvzkTkWMiYmJeJzUBwxWRwJ2WjM/YogKbC9nCLovCPEWvrnXEnJhCUKvNd+8DJkz+UKDSvg5YAW7MuwmlZ5ryrc1H+BYG70mOAxKYjwgD2/Z3Des47oNt6tTZfHQCNxjo6/bSu4Pk8zgBAH+Qn0lnrlwVBMU72V7HwB9XvOTp1e8J3hRE0/HQz+VEifhch/5g8kK3qc+3ASC8ybcb5SFRioY6PedrWdTTKgvQ82X5cm1X1pHD/lAvZQY6r9++EjMQ18vnL8nc86EboxktolC4U/Fip79FfjKf715mCY7/oNZrxdXxnKcaEeOBgZ/2k8IXAnIDptsy/t55Wju/68DFY05rP2t3cxsohgR/xgE3dzmWMw0hi1vx0RQqrlmJ2zqNniW1C3n/vDXMGMVwGK1vXWrJ6vtogP5gR2rJjxgxia4zAkIMS1K3jnP/xMTa02ckGhZqKiXhIhWH9BDMLwiXINU743uKz95rBol3aUHt9lJOT/YfkMLVBkAqQZk18TJpGWdm4mZnCgNY6vNHtoMyUvk7uKJgGuMOChr3u6oWuLt7yqaCPe7zqlQl2RW8hY7BaT+5nG1wS2rXlAasYwvRJFdQaicCcIWRpdthAiWnCBUzKGdJoRgJX/eLgB0pcHRr86oTEwFqdrd1MVlBxi3zRelvmaYmJciQiB1IV9okvUMtU57JdAm8ppxNFVEv2b5pZLpf35+mtkvx7d9XJkd/Fiz6xY23nvKlVvXNrMJpxFRQetKCw1kvzqpjjmZkba/si3GXNOddLBmqjz5AarIpvDY8q8na6glbqtU6ZCWjh21W41UoXNkubzk5lzxA6lSqIEfEZhDIrNQp5f2QSHagMEHk2eqQFubIpSbqnS2B+zlD4gUyYsMmSNvq89F2lcWe65WWqPUSM3AtVp/IfuPxHZkIlwxveg/NWjvA40hcyslBfgTnjr3yWksP4pfxJogUk0BbnZhv0cemejP9A9bs5d0bouhGMrIPyMKVxHFKowOLgU9XCX+eqMh6Di0ZuBalb+YTYhMbIelwRXDk/6sD2Ph9oD2Bm7zJwxPtyVFJhQJ5gcPZ5fYNPitG9Hy4D/dyA06/lehaPnFkSTcsUbKcAgNf3YYB/JOwdIOdYxI8mcvupt0fKHFIZvayT+t5msiIYQUASs+UgAhTAp48awYHvAl5yOvOiVgl0z2aB10BQiw2m14+jo6pcudY/v/tWwVYee130djS3QC2FzEOniqN25BnNrvjnlNDDrFJT3WfNIuwakbGiLTdERauO81QCYejSfwp4rhl94xCovhTR4e77yQe/+XHgzMtUPKS9eqf9pJaJ3iFYfUF/sdnCiTtgDt8kzw60EnH84EsCXlzBIU4lfw8AHWZSZ5EeAtORvQkwvJX8LlPNvgWnyGCJ036lAqVilogoqryAzcBHBXAKzIOu+cA1esVjAEpVetIZxdCVidQbVFbL+qFdOqUIrZDug8tOGtBiToTji/toOwhf4AexnIekPUSASo85Y5Rq54WFF32dbRcAoHwhFAGxcsP2VsvGvcCLzSlF/S8hfRTFRx+/SD3OLyC2WCuyimdfHemQd0oFebE6sOTgMryDWKxY+Pt8FR0zhA86/SK2dGqi/dyq1RtnFdqNupw1xlzVAuWcMcqnry5mmwqp3nSo2gfsPLqDmRS7q0DYfUVSfGIkI1Ep1ImcOaljkkJ7hc4xySGVu7t2IZkVUK2ywS9mZkVe0NyA7WXadzKsXrL93OLVe1cFzI4eSTHJWqfZXHhsd+s0j5ydwd6SXrDk55VnuSCyWcMpSUBRYtH8ylppwslVZXtw4nd32L6it97+XuzVRpFVl7VZk1e9Ptw3JM8E3JEct4rwbvjWrPVOXgMEIFtIvAOMz+p5bYpwAvY171mUACvSqv2vdGtMs+tPfdtb+D2Scj66Iwhv6fvJaeUYEYfka1UTi8ARqvjjHofMH8oujYvKW8VWQxL2t5W5Q9P9PHF0nuFBA41KooNEGUzsWKOpipHFb8ds4H2mnR8dVrO9/KeO0DmVJdAh9gfLVnu+YTe9fduOzGi5hSZDq1o2UHV/vbIbcexean7rftyZ/kLtiLnqGq2LtZ2dkbGNg9vaOAaawhg7VGx+T/XE7KG1ZpxHtqabSHTXyBSiXLCBwbzAZNJ0Sl8Lefh6C6yLvT25X2O9cnNdMgdnAG/9TMZ1D46g/OJ1082aQEpAYy/y4dVgibTsqj4iyfPTXU4uR3+/xHfOG7/JZQv6KzSp/4Sp+Gz7r4DbW8U5TMfelzGu13uFXxLV/x/c0Ou0L+hVT4RhK54A98xQ83zjr9VD4asPjdgSPYSBcYAQxrSjEgXCJg9MdLExfiGRJXXUTg2uCaiUC4xnuaAJqwCcF9RDISbaqtDbz5oefkyfALkt0ACHuOvRKtYCeWvz2lEHT2BXi3xnFctwaz1pKn6ZIEwWI6o32z8ylPf+Q+BdkzEAzgkr4wZce1ay3XYLhaLvoSN5RUxOj56NsqvIIYJWKrd7fhv0ukiptGO3nuQ1BlaLqlSpR0mkAp6zWUqs0EwcU7hUNavMd4sIIAJKAAiqABmuAEOAVOgtPgj2QgSb4cfKPqPSIxxPT9xsiK5E+1iJQVn6NzoX6PqoVcNjVhkBH4T2ZH1uXE09nDiaL8k7HsEOKIKPC35Db1pcSTy7qXpJyKBZFAEwLK/reXkNGqKhcM7qHRLtR2iXUKbd62s/vkIFGzOfDO527d/MfgvTOhYXZ/R+ucV0Jwk7zrH7prp5kOj7scGmf3MboWs+gNkGfx8PH09pXs9r2zUzT5DjGO12sRncElkhlci+jeTN6kY5H4sffkSRsyKS7nDN5lIASeiF9+fxa6zetbeTz9938esn1wG9eSmY/GTs2+dZ6C1ElvdOy5186T0Njev7qh8XK9JzclNEds3+vmGcTw9w2KSOUnhAEEex0j9IYiVkEqjduxnSfdZmacZ2idaRQzIy4EuOPfj/6kMGtchsZVpyVrT7ciaUhVna4oosZveATs1AJsN1UlhXz9fMInbqnMeeTunPxVBTzx7wse7pJC8T8w+gfcV9qPf/f4llbd3NDAQeU/bmODPjHXBRkTt17ZdaGy2s8/U+oGS87tRaYi04rr1Mw9JGG+CRGiytUCKynwkRK8r2K7m7EiX6QtUMa/P3pfoOyG70TmzQyx0GgZRnUQmQxP0bc/ZFfUTHNT9sIFSOXxAzkYSBUJGkYz4MJDB9b4ld3Vp8ugNJiovLioaKIYxoSJNMU/BlOPZcAYMG6mMktyVO554mZnqYB/yWqDepfMHP+Ica/N7df/uDzx/S2tuhmWLDm54/4fbpODWymzYvWl+dd2Pcj01nPPVLpB7ZkuWBpSVabNYO4hCwtMyBBlYSlwRYqC6GLs2M4g+nhAyE7cmDiADuhcEW6sEDsGNhBzsWMhWFGwfxtWFGAjAmhnT+f5Gy1HphdYOw9gft9ux8dUmoaEWHtRF0TngxqBp7PTnscBRxfYOw+g6SG2tXZ807AwC6/kBdHFUL7cOOXTBtxN33Q0XU0cGEelYXwTS5v1eOFGM6LNoUe6Q79jLmgdz139D9SWHp9pDfhb7gKG9xwUs+vyJQ2Cel0rgfl7BbX3VbhxavJu7fcgsGifoCpxld8MTrJ6VHfiz94cLK4Pp7Rv+txxcGk88cXoP9JP0QYfl6TR/NI5FBO/iGeGXT+SnSahv8RJNqJ19bj+etosyBoGqRt7GVNeiPsfjXPSRphBjk+2dtHBJ9Zj6+Trhg6s/u+gsa/qiK/yzaSb2Ihao3Tq/eLpD6HxfptN7rSYrmGIL3WI2Jd5hukOCcYRjybtNs+/807pDY72/BIlVuoax8/If+cmcI4D+e9OXrRkGXCAEJwyLzq/sXCiiP8Al6JqIiJseu4wLHJ8SHM/1nB/a/q/kxOGeF28gXr0n+m+ReOAquZDkc6Y/KvJQedBYayqjknky9onujqVLUI1bYx9UHFezy4/08MKQAAABCzAmQr7bZ+geTZdmr1CFS2RRM+oosdKWKu7szJbKntQ/3GcFzaN0z0P15ru87y8u6ANz1DEoqgicQvRT6roP2kKUqT2R/cmcCEu1SDq8xSI/BsH3TfpfdKQUCgNbeIZDkdyTPzqp+5SmqUR0o3wv/z2DXXpJ5CVvz/etycsd4BYAK+tGpdKibH+Rfw+j5CYqgA18uwBcETKDCt/qDQzUyvsr9sIqjuDREDTRzSTgROF9A8bZXOxaFN5yxNMJCvOEJlrr9PWeAof4zf66zEvsw3Vpw4I3ZcC+EC+AAzSfkLs6P7HWvlryLnZQNKauprQHM7GJa+qKocmZzHCJ+Fh9kImmatuz4MJYIyQMpnTWHDztmOraAjF0C/+Wni88gTbL8YsR2rzVPq6HkS+8NpArf7or4PKku1c11iRvR80/kkCUqnYXVHXVgkTI0VBXBpmntu87eQf6FLrdJnvJXDoQq7oLFyKlDqd31t4CIAOMhX/5EOmkZ8PErtRDyjlPvZByeU5+Ce6NojfmkB38MSXSLGlx4RtwATUdeKLn5ibt3rOFuHqhkBlGR20azdG5RgdMgEWNmKMmBhM3zFbQzQzD3HMzhANSHr+4gLYO+c1P86yH8es1DcnC6N/h738R1qKWYZB+kaLynrSUtiyEdu19gHs4agzx9V7DhzgPX/ufkOwP6XQ9/OFYSGOXFVKiGrSSf3fy+EJxJTxq64HDjT9jhyfcn9P2Rvde79RPN0nPHva1fN+WM69AJjsf+DP7oLgX07UGXXHrGu6DunVImlwZBsIm6IfeYjIqwsmCA+bbXgPEMiZg0ZzyxUeHz5G/PyKg5Oiw/uOFEOZT4z3AylzjwXbDjJaqMtrsMOP1j59wHqHGeVuTJVcbqL5mTu43mYQSSIg0ewg9F3tDBYIPzR/oOBpQHCei96qUi8Srx3TwRlGa+GAoTQRFzQIT1P6+Mxar63n3u8HAVHQLNxfXvXA2kQsKO7bY7w/ccnz24L17vOHK2pFE+d8IRhPV5zxDkZdf69HE69zXx3belDrwfGykoKx4rRVPA/uT+Ira1c1FpeONya/w6YfZDULeEpn7MSFroPlJuHc8EDvckBzRsRITAjkd03QfOwM/PGvZCvwDP79F5n1rV3Zun/jj2PTk8UfBbZ93w3oIvgEgkKq+HNVEpBO+wCp7ZglOK+QYDcECcHY0ly07YBlUMXczqR/06XI4i2N3nn4jXUbIgib4ZPq4VWQis2Q4ZAGUdFGBWwgf3s+BN/neO+OnYHgv7EdvrOSt9NWRHqtwb8g+Jcx7U+gXn5jdkljRlgdMKfgTo9jfZSmB5C7VdNA6c3dY4rpMTuNnTOAVylQnBagsd1NDMQAoP45PXosR2fpIjmw4pd/c5jZVRncu1al9xsW/vCKO7rr1m+0kp+CL+Jx0zsenSE7Dc96cxbMMkVNyzQBOIVBner9ny7EAnC2JAi3UURMQNrUXgjBXvqI7xB8NhZChkMRNBAJga0Q/L0UkSFxSQsh8Wzea578fR6EDc7cdbF0yZKmEbKbCy42vysg1SHdtEt/0+2dvynNIgj25TXTEOwnAGxEVf9IK4GLNOedFipWLZO0vyjNlhvmrz31As7NqJ/fIWkCNvPYka2bDTMDaNu2FnnErU1t6Xf4EtpoOvgaccdzuxsi23FJh/DWG9JbKJx9Rw5A197T2WB4VvdOSvyDo1I5P+og4/6eDuJ8VV4M8Fq+2YQFgpSZMyjpuqJiBj1Onoh8DsHPwnHkgvyDMzGWBi8o1dTfLbkG9MMZ7qm/1jweMddup2J8qMDt3h/rmoHalzbKcboW4JQc/+HPoGMP3ip0pxKtLjCt+c3zq3df9hG46PjQvDsBOYobImGuztPU7p+gwdSuV0A6dYcbsROOOSuQv+VAgpw52yIEMInNURmmpl+mo4NPwk4ZjnbIYS/X9IM1dCEyLN7Fv2aXTIJNJyEXS7OI4m6nmLcoeUtd3uf4uzP1bLA00ygr7SBVIGGID8H5aK1WkUD5W0yYWNXhuFsBIVwabe2RMm/4pVHRqy0OEjPfrU4QnySMufoj34trSFv7gDjWXtAEuwAIKa92AaCasRGP2QcqgTEabEt4cFttafI2BLNvnKWpUZgpug53clzDAyXa8VzyXgK3VCoZjsqyKe6QWh6RWh55mLE64vwQWHGZq1xsH4PAgmqGEBFEZJePjKbOmsQ19iJEdeO7aVYt5pJXXi8guNlV2nbNuH2ohCLW6lhvx51BuojSKP3genN7ppbMukZvW41Gea+RqPfDLkSKi1pKNjaz+diant8CqbycG72LG+teMrzdwxbsA8BHtRU9nxt7BSq60AORLqgcV91wRG9bhq58Vzf5fCru+zR9k59I33eDx+p/reuBPZ73hNE/BsFjti0icFYQbHUkrBqttTR7dWoV2RaCt2mjtg3hA9qq5h8/24QpQorw3PyzObAbX7UQc/S7wRZyTPlCgF7ujh6io5yh9Df/98qDOQgOAwAPa1/OPBSewn6j40iu+eCpjXvB+czevMXc5cuCtvMjn+Fuve3L0KNdtERnkPxLlapynQw4M2plvFBtojvaP5mDGo6K/j39QePWGlsw7giMkTqsWUN5lEG2JSTpDMW/DbXR99f3We3TtSB7wE9g7s+GkCGt9crlLzCbodp2LW0r7hIHNKy3xdUFZNzVAfyt7bpeWW01rbdOtzYAgiBeR2U3VcgImTGJ8r4BwNDxbtqaR88hwfpNHnDWZzBXEfapgkamsH3ffijMD2hMC6xduN0uI7Yt2KZjo2IiLcoSl2Iu2jFq2SjTVDEq0a0VCvQHJqAp5sQuLSuwDDqj9mtHhKwf8cRblW9w44GOnrdMxaDcpW4vuY23omTLmLe974t5RVRmn9tOLB/EpmokapdogbRsvA0VItvMyLJfjTlRZEfkQolfFp+Lg2MkHi2urDm/+BgI2ZrXx5OPVBHyJgGW4VOZmlpWKYBByA+oqrVmKKNgS9MeCp5n2TKYNsC14K90WMb0nWaJcw73hDzCM4rxGTh6d9nedqXZbSk1WiH2BYd1Q9QvApoCdG3iOv3pNu3QKxjukXXszXVxy7O3//5lX/Fr8Zf92eFR/3swPG2Z4gSc6luMOHAZm4kWK/WdS7/aB8JLkWesz9tlatjL1Oa5RrK1JKsZoNNbObQ785bqkacvzB3Fvl6X7VKJHBfI4int9n0wKntT1fsda3Oo8RlqO45hcB0Yypi5r+qPUHfa1B96xXfb1P5qU7zptonXyj10EJuRdOTp7mYs9RAWj0iQScHERiHYMjtPx6SDTI2CBGx6UlGwa5VMDIIWjQuVeaxoK0IndyQA4zZm7isBns6T7xczpQOWioelN4XHLS0Q3oMrampI+ZEgEwd2cpgxIX7Uo76E6pM4ym0QS3SFlpZBQZiiR2/zS8dy7dBu0Seckoey1lWQgxiZARIhWYekzMXC2lfA3R9jWplph6MUTrBHCgKhUUpjO+nLI/yJwiHCvSwXaFzCksIMGbUg9LnF5CD2Ivb1Rjzy93HkFq5zy01JF91BOBroO7e34siYba+SLrziK3VyD5xPMskajC4/LAlLntanDSeWFiPeIPYFg0MTHXi6soMa4OlAy2WH6YKtHmDxFlj8mj7vn2IACSawSEB/C+7mLGGpb4T6+npM15UUmA1MQTg7SpEYZmxs04Fn+E33ZtfWFmeTVTsIj+HjuJRQP8XCrEjFwFAjk01WncexKWE+7IKgYaHGQBYwfSWqKFsWiB7DHQ71VTwJwYut+yb2Lb303o/vW1xsi74bbcVi73AJeIpnYhOV2FzfffkG7BxJ/X1PYV7/J3PvCEsh+ySK7+rs4mfGKrLNEL1/AtxYINj62NvqHq11xjTdDc7Xr7yVPid9JKIu624os/Y6XI/grRiPbBSp7+GTl29wEEs3jHh1xGC/rlthwrb0Sb1Eg2IbImBsZo4G2rrRb2t7dNcZ03TW4kQ3129ROzOtBhGhCh8qZs7fFNtUcp7MB3aNp032XIKZF5IgdRsr/k3UqkhNVz0nDRxnN/BiAYJu9NuaSzprjWm665yuC9bpZiFyFG4r/RaXaF9/Om53ZoVESOM0ma9niAgD1HnQbjlzMj0Z6kAsxKmP1+tDux8+NUHPlkX5TJc8ZcKmSemNaSCASQAeNAsX7iIk9daMfs5H6JEt71nftecfNv0eEDZJFjX3dL2UCF7PatbEuHzUtNJqPvoWLJF7MtVl8u2xY4ujEHXehESvPeYfbQv/8N6mNatZ4RbUMdrNVetgUe5qpqbeKEbVvDk/IHOjk8d6pLhAH9DCj94StP85HLgdeg6oyCiJqxiilplRpN5/Y3WjXESrUE3SA9jmrlVzl7xa26GLs6rVwTleGV6lTYwAu4snTA7I8c3pcoXqtua8YZROpJqrMYMmuUNbf1FwHpndh6XPijUMkOtlosj8JwPPxc2Y57N5g1gma7b84flPav4VfhLsXdJkGR4i3jQY/MFY56zWdujgrGp1cY5Xelel9yZIOiWjGHD8mG512eXZxTc5IFtjJ4mGOukGu9Vwxgy6bEze/WLfdfGaJAIkmS3Cvv0tBNrDbdq6i8MgjIB82HRNrqHs2PDy2ut5utP5ZQ87blGzNqME8Wd118hR0OHg+bVnSGP69fPLDx/gIcaAy1/dWDDyr5A5EOCIZCpX0lSeWwQxOcRNmprHsl9AALJrJXzLUH5Zy9PYcABc4SgAsDzgZoyKeXUo52SQXjNcOonNnS0D8LwEcELbjqwsK4hyBVBThRtxgvcutc0AbAfD2LL3pEyuLDnMt8Sa6IZGiVYOZZ4EihBS3+nrV5aab8YuvlLXCOEgCzSKFdV53Ax8RfXXlU31Ak7lg8LVTaSc88L/N+uUsFbAt7TmZ9esHAptAmlwSs1dfC4h13O8NyUtAoIj+lHX+Wqre+m9K+rBvf2hfIBlgG1UXC9KxFfPgGziqnrQpasT46H5gycnfkJ4I73bFxLaxNG5l2ry52vmST3qP9eAELD+HWuMlfBKJgGIad/HsLZc3ioAqVBPTA/0GD/20RHA4IwR5GtsZRrXTGCFFD7WlaKjlgDTTce2d/JlfG1ltq4Dql1nAF4tpq+//hb4NW/9uGuMxXzFew8y8dMd5rJcAAJkW+Kr+bh71/X8Bh/bRCmcb7NG549R7fYcefgg+shvdofyNz1YsGmLw19YgeefGAzOByunQOu2jHVx/OafJg2BmWUMMsGlgvJBir8NY/AWdNe96LY+8eMs/NjK/8X4B+yXdWk7Hj/1GbLifFOGP1h1J12p5DqBm1OTS51chQLhEn0kIOlC/VkO+oHp8g2qutTlkHe4psqhiWwwW9I1BKsDEUz5y2uAmQZjrHes11GFfNy8j/ufPs7z3uz/ngF5P5HXUeqFA/loML/dm64BQSTEoVDOfxKuMs7GYq8B/d7p6mISi5luTEn+Ly0JRx9jKUDsfxoGq6ubIsHdg3Ur4BKObpc2JVj0gyqpzxIlMV6jAsqSfgLbDvVLhZKNYOVCj46/V0Kl7Glg8arcUZ6EiKsAXZ4huC9tgAhOWdGiJJILnY6wmTmRnzHjluwEf8J2umbYYoi3C/tsFAZN8Pzv9f6wt/cfo/sjdjjfyXacvu6zvXv2SZmkvOAOklFpo/OaPlHR2DjfX2Rr1wUXOoZDHTIgxvNUpqtEuT8gn7YTDDn8fBaQO7Dnj1QuG/Kcp4C8IMqCDGxasS3DG/974Zt3vP0vCZ9jHHoAcW7qf3a1sBSnk56EEDxy7pjPFtgY1ByrD409hKr6bh1TCxc5DoEyMrANckJboEk3gNHOCgQmdOHhPeA2rHRGr73wvzmP+kYDPOznwb5sxQh/cFkTJokrcP82AXAjRDQcCDov3EBWgiVLqsQU/wRs5TQff6vbzQZBgblHp68L2EA30LW2l7VuXos42PqvYXXtwFrDbqZRUGzuUUKsVMD82tBy6F1H0b/QC/DOtnWTqqhNLujarsk6+bcCCqEmIfVZ8XZ2T6T/EYGc38ndubdwNRnScOGyTnpSQCN8cWB/XxCWuBDuf1QgTT7I3dkGyLX4p+LT98IpmNBR21Rz66uKUzihqds7wq+G+EH4Z64yWW7ivqJmCtx1tx99sXRBMp0oTY8l0739YooqEIWPNz5+sXxJMMjMzz+Y4h3xp+viUyGOCGA4g6XLIUL8o0vjmh0eNe50RbCIdiLKmxMAChrFNiURltwXtz1Sst10zXUJ4xaOeI1ulgGEIUbhFk5XlmKN3puATw7gjKR2dIZL9N0l+g2d3nxwkbKa9CwKhCPIeO8r15SMFrHnrHNQmn3XHh8v+YXQ/ovmTCFnLgTGbP/c42xNyQejNcP11XGwODsq6dd4okcBes2C15rR4qRrqJxW8AGA2TLE9Q29awafc+AaZ1p/+8uvZUUdFDVIJKe1iAyrJEErNX09aKQcobBKSm4X/09xBrPCdUlGGwTsaO5Em0qEgkuqW78/KdHLlNwqji7bzlf0boVIewntewFW2wUPE5xn2GdcO56cvSFhZSpih7X3KZmGBQKRgEYAiksr6VUgDO/iKXAZjgoqsGxXB3x21+zJ6tI5hPStspWn75wBbae6oytl0QBxmZo9TqsMRzMJB8qotRoWOqNOAAJVMjG7nOfwbIHJC8LfsMecqoKMCV59sZH4SI2eIl32B8cM/XwZZpJXucJHQwZdnMBON+9yMEDD0AJx8WjO9Om/QpysLq/q0qiPEp+9zJqeIaB9Gkc6fZuuQn1CIDMi/pH8W3GUE3BK2hjYurFk0wNLfZUEuMKBun+N2FlG7PxFUSADABRJ3woF4EG9UJbWx00WCyYivXwN6vl2/Om+Hj4Aa21s+TN4pTI6EsMt6caQm/FBRbzLITDMMm6m+BwacGidcUITnZwA5OGhqtDUquks1ElW1EeBh9Y7kPLLvgyUyoB5UtTiaUr/8qSxCrABDY4CEFFSZQpc5K2uuAW7/f9o659Zk+wnA8PE5UqbNffzRgEYMwY7OdGxINJSr/yexrYktwDEH4y6TZsknwBzNtgiBUu2BOCNBMs9rp+eaI3+OgpQ/XQHhNGQP0idqR1/hJ4vy7v6fviJ+tM5iV6UZ+Uky/lQH3igKTlbxJlH5aJ2HZj/8Xhp6VhR0tps6JpfOS4YyTrfjaAhc6q7stRnuqwzkKqKbiB8E5E/UcpbGMCvV/fCs7wK4KBn4Xme4nPkSK/ORjPrZmb8zZwlte7TCEUTjboAj9foQhXPQIE614ztl0SxqsA0imG4BjsPBIJiWMBzBRtJ6kH8JSx4AvKi5Gigo5NOberr0xN3vDXenDLWB79Onng0oaDDn4ylMk44n3HqmbCFsmxvhnx4viZr925rmUv7bok14LS51Vheak/SEfdo2koZTH+Wclde7eHa9l0Mlj9TUSrTYGMayC2lO2IWotkFErbkMeTRdlLkjrktL82SOETY/zl+tGveL8yoRY4lfmRu2OAQ5VLJZK20IcZZuzaeuS1Rsaugtrug4hO3EVrCoS5JrVoQnXYSRMwCNsT/mDdoi6z7n1GebUm3YiSrGPGVKigDShdkA7SkSdg68tWoTGodTCYtg4Il4YodLsEywI5RaL8UB0lIMJbwNmGEEmsSPUh5R5mitxp1zfjk+ujhhBcJdHIAdojUB63d+O++6rw3YwOEOaFp+jMnyYUB111Nw845epLAIRY/EQqyuWbl9BCYt09Ov3k/O+0XDtWHQkc9nJwOz+n0Gzj+oPDEntDf5m1dRpyNTkpzVGE6AsCnLofTLD7eTncCBoFnp7QG1yf1eWROCp+aMmOh9YIoQz0+r4To4x/HDKAW85W93AZd3cH9uiluZZaGsTV6vWwfdiSP31fdqZPyQ/mwLgi2KEYDtsNZ44Ehg6fottjdleYNR+zb4OohBEUqw2PlzluxVywwYRkB6DyI0TpzK2k4OTK5EVD0bdvUcxAsEfSdsj8yxJ3dRyfL16tsc8UPJ07T6oKD86ySjnoEb4vg+3YDDM8Q0tuodyg8imQsdBftO3HWvCt/m/cN7ScQoL3skgOz48Jsf3njJJ+ztKxzsUDZBaFsjUkusWZ2wE4B/wGR5uiC3e+7zrIb9i6y9+z6d4le9O7OhsLTo5DKU3dA90h9fvc7ilE9b7EXCfazTTN6AY2tfENpuCLpFruLO8W5Bt+ljtnKw4oP0ZtIbWCKIDzBAUH/ekAdgA+Uc3vU/rFjaGoL8hrA3v//l596Iyf/pztNVc/6X3ho5TjiA8JM3X6wBP0hXXY4uBJUxeTi5ksDB22j5nZorg9ZZ8vl/Tg5zi3COiVM5P/Kd6VWVbL249kEjwWdkpSXv8CMg0sl9RDNoFcs4gRVNdeCbj0Uhq0aUhOEC39CoMZI1nmQTNLrE5+HA7ziNGtYsn5sdwL81Z+P/u1x4kFpb5sk2T0KK96uU9CmIwo9Q5RSycigNapv9D6mDpmpP3EzObcDliRZQzk98RMquhR4buXN6/mFX/cGZfBatUR2NFeq6wX2ihGnTBcyBydkGF5tMDe8DYmH+Q/tPm/fqu3dsv6aKMvaMGZa4ujvCMm6pEpCnAMHscbLfDOM/sGgrrmZFsBSLAiRJlT2/XVzD7H21YjDj+9EMPJ4mg/2cVWTEfZWH54MuHLG4eTxNdxW76y8ZqzTdKrmTXr599hOZCpTJ5RQhHusEiS5xNC23KKIY9ZZ+LuOK7+fUpM9KxcPc8najovFMCUiJbtmR2SuUhWsh6daJdHlIjYjE8bD7D+0p7pjcnpU4UWHUWMeBeKM9qu+hQWaWPkqukYYHh8aC4jWmRostwvhcTJ2JuA4bjHlEqe2ID5liIsejgucsCpoM7o+FzGprFzLqNQPHMAn0KqDS/kL3yzrB8KFCHeEbU48YvOfJsPJno53x4vFI3ff9kuXjU8f8DUbow9eWx4vuZmru25T6HR16Ov4Gav3AKnVjDEhOElI3cy/QwcyWCjJANQJIAjRyyi1KWnBfyeptZJD8ff1IVXWJJIAzvmKehBecwvYbogfdyw9q+f4TYcuzYPlzBEkLV0rle6rAvNPjbk993GSr1Ycwj/zwgA/scSzwckFNFkM0P/HbQzz6r7nOt0tZl7u8OwTG09TT12vLYPnj307g3/IvC2/ll905oqTjNmvmAf/wBERFu5nnEf1xEtQQjSA2HS+VchoRflQApQml6Qk706DMRcwNQZXLv15aQ5dBUvrOjtW/nUM7YIVgmF42RWmdB8yeQlKKuIlZxzKhJKglCq6mo/qYMoPiqC0qSRmcsqBZCjphtWBmvbr7MLZi3+hWbC0I0oZFMIn5LciM6xYjbr7LGAmwQp0j4wZD/ZhhF04yZSjhCFMfGcqeYsEOuGnn5w1q1uA7FUmc6THc5FpSGVZZkpovl9on3ttuJQktI0Nh/SWhocNn7qNqbRvtX4CRuAVc/nJ71l9WMFe09ddF09f/Q7dNGVIEtLpdWd/cLqt8WGcE8gHzty259vXQW9daMrorYCJoAxZnlxyssJEZCKSpwEHd6gNIsEMRmCEm6Eu0AevGU3Y2QRPQsrGOwuREBlaoodxrVhV1XP0wol735hlw7htehUakoOsOYiMt0pq0a+wsjsyDqmglEmVOkvSlwYlwbilkpF3yXt2QgkXUuUpnDYujNmYmgbwUo+6uQLuB0a/XdM+w1+66gZujGvtnaIK6PF1Z1ecejU+jIsCee/ETfsa+0aLhXNN0sO7YAKYKCMzRT5YacKGzgN7JNiRvyGu1Pc7ZzK7gJ93QQ6WSaAAhZsIo16YHZjOaM/1eGO2XxUj12AAW2KhogemEyADbYmPYZNCq8GA9RDZv9TKZSGhfFTmNO0oCk2jlC4Iuvx3AXeUU3Q1zHUhoerbVPxteldEOkmzwN0fFAnw2kzFsTTKC+xJC+tQaa7jtyO/nrbBm1JxD5YJluToRKQSwIJuqJHjh+rEPg48n7BVO5WtcyZ+tJXWXhcJnQhvsmX0AjJqnaHswrr/EeVRGzffycphopxfRs7aIuelyZLxxc5n455fRsLVwhw8K3wdTpyLaLCNKNKA0nRP9aSzIoWTwg6skQq2GG7ffXdCGZ3jP+3dQrfECfVjZvZdtwYNK5P2ultv7FA6SSCRrIQVJeQHU2mTHMBRHop6jWyzvGtRCWWcH5nUOyxoSl++ZgjHiAqfG9xOw1uAhdEdwaNv/q183pvP7ncP1YLGVnEzTbYAi8e0Puwok9e4JdFHSlj2QVEJMY1QSvIuAA/6UiPGGfd14MUogzIyNMuFvzIV5T48IyrC+FTbIhGNJjGiFr2E18fyYqKy17nYLhCY4rvwMLO0sI7QEhLb1RmJVT/7z895VstVA0YpU+PaEVDVhe4AQprbf7VckI9JSie0mUwRRvDCqOC7TqmoGmnX4W7DMI93w+kY8A5a7pt5OzNv1KQdwjIRD7Lzc5dEUa95U/D3pHRmNweYqYKfkuMtrFnVtWgGcOX8Xn1xBMVAZo+3FdR0n0HlILPPtRbotifGd3cRWZERhxg9B2OYW/748umL1xJIKLEUqpymH5iNOqmipz/Uqhae0oBPkPHw+RfD88HVXlfcXXwYtyH+YgFdKdcyEXit4blfoYBRBai62G285cilrV4S76Uk0VlRwyai6KZw1azg85nZWVmzVGG1hSzKysgQmabOwifhhsB7qGNF5cFTtQ4eJCrGhBERBqFep44Q0u3JhjdegEMmd++X01j+FP+INUHUGjUOlnagRx7J8Uv0C1uzm7gNmy9VhUYnaQhHUGwShJCxm8ootEcUbX3ts/+KaELVPTyEFbNNuE7N4nR3Fq52/NgupAwm0DJJEBBNWl4xY/1zYuY7yQkz1koLSZKRIZP031fjYbJD7ecNqQbLdPMXtvFj+y1fYOh6tBRbSt8i0QfN8wHgFeCY4llo8/CLHRhnO0aoSrgmRt2j6swgpZPySSaFVLNI73Vt8Oh8MCClg8GpujCultjinIve2uFgj/QuLBrEKCzpCesfHniMih4ldIhVOBizq0FC2uHzdcSdEsVWYKHMzt2SkDhvmneAOyUc8LSXH5sV/Hnmu0tTx9AFj1uIIrk8XRSTfBnbnWYodGwQFDgn4wpunkuDcaGMRhINAtBDZthuK7ZwsKDJhqeNZIe2wbjYviHmsrpJcTCGvykpSbfcgKrH4nCIJ2VAVyclaQGVnySjPywscbNzLoiXy9zagXl7PqZOcb2kpH8WWBEvP1CtCFVOs48Qo32LX08TWwEi3vDqp+vcy0TNv9SUihnfrXhdh2OKN53uJdc5WamUE6yBj/CayT//ImBoHv5Jl+v2sfw1dHSoePN0VxqAytPxT/5vyFp5rSEm6KhP1FlvB+C8OZxqE3rgKh8IkcqhD5wBPFPTldjh1YyCz4OhtJUP93Mc4kBCpbJLUPzDMUeDd33aD0bwWBViXQ7k2y1RAz8LP5e4u1BOtf8j6GINmQtMwOIHnCoc+QgfY9IEW7U40Puan6r3+o1FOv8ySGh6DDb27ZDVCbTe1/MHi9re25Vb0mR9bUH6+M6yPrgUIY3t69iZXrBQDaYUHWbuI4LxVE226Kpmk06C6fHayY1i3O2FSUGbvsGkrAbSXre45X8NrR/bfDhVbsdP1QIy7ZTAkl0/tIFrU2iX9f4Qe2s0gni1nqVVwrhtwEsTKln6u3ZaO+YdPa0cy1wFYHsUABe1serAjDVxmb0ekinrDU4evwYPvDA2knhAJeT8MRtfiqGVm6mLJWSZAQo880dD5PJU0vZHQozDkfa7RIznreL37IgNl+Y+sMwDpyh3vM4QIaN1/M03N/WXa0e+8SULyuQnxpVmXalzjxmo6gEyFm/Soam63E/rqu7q5tcSz09TTdhN+yaZ/FVnAha/zn0YSPePuHDWnaTJ+AGZiZsGKDjx9hrss68bf2YTA5yHJ6JeASa2lbmScwBI96rBVXfgEO7TgwBccsEsL5MBd8Fb7s8+n1oEIwenoxUp+bQ9KTSYzrONb5nOdMCm+7ID8BuvvZ6WUVSwtETmu5BgWbqsm5cxJEIH3KdFKgwbIECA8wQ8gtm3/nvtBQKpHBRIcUigCq/MrUd3v0RfIMkSZ8AosRLGkcBKEcZRwyqILBMCJpJBL8sYkEcyrH437ckKXnCM1U86OPD7ZZ25WDb8TqV8GnqgRZKPRC2/T8RAHslrRLBMBBs8SNAdAGdtJXnDMsm7hNY+ybGBbpx8ThRZouWK5Mm4W/YPtN/f5zufNPo0DiMrHZk7eSyJUDF3UAT3kXi577ayiYfsJHkRFuVQFlKOE65FhBUhTLXXWLOJTfQEd1lPkJP1kBAKYZFoMLqa1E91O2EVOeheV4KuFwbDcUERQYkAo0TKm249QWf1BDnqSnJh6ElS6QqREeWQPOFM7uJs1BA9GAd6vGr0eBzpCe6SlqB9bV2kptGh01MTXmFpr/qpoqI5ZNJeKkH455knA8WglZzjQBP0WxDTY7ogzo0uJJ5XH0fi877J70rSualPXkAS1L+WgAW+al0GWVuAPXc0KSznSzKVya9V3mblmLAF1yhJsFqaMMwe0LDqhUbsHRql5521HbUjN0jhrjxN7LOzTzGnXzfVddYzHgfUwvK6fhrc2hcF1jMDT/e3ErwDseJMsxS7jEEv0bLovpyighLWKmQWRGsBxBvOR4zhuBPZ8KpfKB+TztkjPIt9xFcdPYZ/hAsb4bLohr2xOVeapMe1oyngPsUAY6ZEStAP7A9BCBVhoh6sVMQM98S7XUPgxw6doJBYZyOa8KDsuz4b/oBT8lEkAwr58UPX2roFncCTSKKEjCBYJD/y+H6RpHeAGieBLSzzplwfb7OYPkGwmpLbIlSI8YoQGKUd+4PVMN8FC7w6YJnDFKp3Bck5zQ3D3TL6HGH8BQ/vn3ITVFK9WhrKvIYt5yrLjmMbhrBDHkVIoxh7e9UA660B+caTnT0fxAGmGuFjy/DbHJXQ7NpOrkk4ybnbFz3KsQWDKuQStRtks5IjPKVJ6LqcXLmTjKK1aWzQdYXIkuYhWA8IJrwCYQAu2gMGl2iYjqAiDCWtNX+eU5CmEM2fohO1Mbb6urpp2rfNDVtbPi6rvS1tfhD7tUgs8KuU7eyrONA1YrQlYgFAeMYSDd/V8BYJ+giNlqDWaObMoTijBg5Y6eO6cMccxO+TB+73NPmfM+FGkvuZ+/MLOBUQcYjXShVWLKEdUTfKubLjk5DIoXFw2rIZFGYDLgk6ftqyGlGhLStZCHri9/JEZ6++nn8r0l3/JvGB/74BS15PGwiLoTi3ypKGLYFhBKNEsEmAfiK4J9Caj+/qgLOgwkUxeNSvIS0wxwhyqzz0AQdEkRZ5ZZOiE3ygc34EQ6KjQooMKOs+J2SgvN/nQpTV4f+Nu/ELLhSJUkz0JAo+Le0PiUMMMu+h2KQKDr851AZDUGRsbYwRhQ/4VDvm1d4vJGwBepP4MCyokg5wrpGAqUVxS1hKIiJUWC6pTv4JrZI0Duktb/abZQPXbPhz6lPZrVIBdzy/niOws+HsZ63MZAqNKvZxkR73jQ6+Z7rtp+cpejPTl+tka4V+SvADMOQcbkZSNXnwiv8sB/zb594awckz8crz4PtUi9G1CGhcgApSvdl7jSRvjjW70ID4L9NkSe3lcJpd1GZo2r8aCcgOBENv70kNy0l7N6kiOhvfy/jHe6Ijh1slQ2TVLAMVayySnhTAk4qCaXK14oXNylv4ayOhF+1AEnsorNdDa8thKdkL9WH0E2i87010QLnnmaEaSdXtQLDVg5lgK6bnqSut79WVOtlK7FZmsGVSTz9jYZmxrqzQvpvcDfaCHTrByk6YY6osvFRXxdmsqsyVVDbvnDj26CJrJfLbKsVK/zFa/W6rb901Z2as9V/OfOaFj71Bl6VR0vNOkNITD8u0p58gxX0P5Jha/+cWwmqaXjaqWMHs8OdUbPnW52LLkDfjQsf1ddNkHBvM/3cEsuvdN5XCka8rn/+9L7ZKQKBzY4KyJcn06K1KEY/vqBRom+JhiImPK7Ekh6+H9E1uM36SW5pMXtqjUswuEBL4g1cBSAOsIIFQ0NDBZCliYfqr5bTI1jab+ooT/pXEnJIKMde6Ox0ag3SndvNYpbjqdvgLd0t0+1OIMgrP5hD9xxncIvTRTUjijbE75OcxW4RyL3coOizOO0ZBG2oj508c4gjCSJuF108F+53equ8Cu0PO6ZipfIFIlb6a96hGBG5mvx+SowsrUYiQx1qUI14hrDwcTYxhc16Wi4QfJ/d4/KykSqUTgXnuHqBb1mROsFJZIAsBxch0RfbPHAYCH4Ff/7m9X02xsoIKSDiY38AOQKMtz+l68OJkYPj+h7IP0mSe3QE2Ph4590LiPVeYYf/uY9YliVRlN1b5t5k7H6nJRtV9MuxZJsF8JfmJoEfmYykqpUKv2avbNQOTLXGQYwfS8z0kinQy+upQtQ+ezdPY6rfERQCgON9LHSIaKnJr75e/qn04umziUHo0CckmpNSHM6SJxYD+EVg6ecvPFTffa+n574ChOGJ5m1qLPKtNduw9UT1/AqslKHp6mD661qy5Geba/pkZgfI+/psN4Re/nHhl9qgpFfs/b0WYIfzJZjPnNYVnro3EuwHdQeK1P/wfSSYhLVT4GUk9M0PqQ6F/jHzn7HSpKh15cCI0FUPiUJrVbfNVvybODZ76E2/gme/krde4uSE3WeCQSyRN82k87trs8V0QqWcHInHz+wNJOrMPkx9jM4/lDAd5DJE3X5ejI9O3GKVgZprBV9XXZxvzX/9x0s7cJ4aNOfyT5aiI/59M0eNv6s5qpu8G4vDS4NtP+46QSsohkZfgxCogEkLNgtJbFmzvCQ1o7YmDHf7bgXpYMvyrdTcl/MhlWnzWdDK7DHJp4MPkaaLWqtuQzIf8K0C8+JTgQOJn42C89mjFSVZChnhlaInJO5XgOQwsR86kpZ0ypWBBSY7TuRzzXOVyU550zxcsD1XLBXgLqqIYC6EsBuep28OyKJxVuVls0zEp6he0F3TvLJgezooinuaWGSwcxXYs7MOacjWkuWaoBdwIyFkDDXLKbjRI936WJVug8BsYnFUOuJublrZwDJ+MM9fWOdaLijot4TZd2xjUTlyPFbsYo9WT6QnuYp6AySAlU0a3dw8WfgCeN9D9RhOkaxwi2rEyuK/1JZql17bS16Od11MgkPKisDd8xuzo1F0gDHSa3+sZ2NuTKa6l2MtKtFDYBV5WsgFtdrGw6oVE8OTI33WjtB3PTZ+uo7SOyOK30LcseXHLL22vr1kkX/O3gnYApSm+bvGQ254VH2NNeYGdhWSEAyjrXumQrrUGLs50LUQ/9AUL6lsxoG8Z11yLHp/TvofWDcxwUSr0yrpqX063LCesZgPueuGWwF4smOBsDmBEbM0gi70WfAdrjexQHrdFp4pTm4So7nl4wUdQ2voCH3dyII5E5jV+80CDOohyYWcsrnfVYy7ARZXFWiWb+y10yhGHZN5KJ2QmXN2v+NQ7odzuzJ7OsW7bm4txYUn0GrgnVNwow921EILQt6yibwVOX7N8vhYCMFqLEaWuwtcXzaxvRlrftKi+Fh1ba+a3GajCmfA3fZu2ZlzVaEvSAiC5NMyAR/STIS4dGh3RV+ZOlk+grA7CtrUpJree6KmWyP5b6X4rMA0tEvt9JMGPhljZdIPSXkgciHwh5tfNk1sPTjWYcwjJUAiamPieGZY/1igsl0YZFHx1Z+jknTsLVoOzIot/NresboGVmghxr3pspOWIeaKWQihKplDZxSgN8SgUq5zp3zdeTLfGOwvWhjMIgG91RaeaRKVmNJz7DXQhUlfU0kCXpZBDqOShcdRuPS6rCS8tSwNpWnOqIxjYG9DUWf/ZUM6XnInTOn4I1uN9A52SxBSstYnP3PtV9qssdCUqVi4gh+fgwcklc/yAzKHsLc6P610TeLgODdc6qRsMiU1lZWKlDBjG4+iUyfQGwwmAF0QJEOCkIMkEAcxEkBGgkBMk2ZiARhAhQhsIBhR7w3eVB9YyArPb1AXk2RZEBX40hoAx3Q6LAqtYYJoc3A740A11K9MUoJ8wfhA0OZsw2kTxUGAlIUGTLwicKeLjtFAlWTySP5k2Mpa4tomsu1kWq5/DMQ9/SIPHP9vJUlZwUzkGH43DJ44N2F30LcTavZJUFR80s9GjSl/DfWIxIL6WvEQsUvQ10MSWHgT04CPx8Tk8wdonRTYjDA85rQ+aHIYvN1l0mxgSW5UwuVLFSqiMsLTH8JZVjSeZ/RQNXkm8ZbV/iYycLIF3d2vqUbhYKl70BjG0yySMTKNR/BX4U9Ptrz/7ywbH9sXptzgzCdG5sl/nyc5dPnphndpc7ErqNIcMzSFDcwjSHAgxJ1Hra98hEOFkctbA2+CYRDk247wwoFFKBvvPEb6Scf9i5DS3eM7FglGKE4MGMWgQgwwx7MQmGRgxCBITefqafSg9J75jkGtweFCumnEC/ozrH6Az7vcgKJ5aaUvnHd78mG94Y2XcHk3CYMQi2fLIkkyZA2TOe/RSerYaqLdI8gaL4rSOJKIj4ZrIxS1sxsJWLGUaHWnO4MmgUi8YLFJOPLIElDlA4qFHL5XJeYOcz7I6xldRPKaFv25hMSZX1LGWo7igGTb7ngFQ0tripl4pMeXhtRY3lSh0EyW6iRLdRJRuwixuKsh0Ez66Gdn6o59QiDz5xdJyVKTxtLG5HRmHCFRi439k9oZ0p+ZhkW7LI0uUMgdIXfLopW5oq0FPbJzKTYk3Km6kx3RmLOUJ2uMGRKJo4jK2UqzJlesgmtxZhmuLJ3eVxApeemE7U6AwezooIcQfL87IDgDnhp3mcJcYMMQkm5m+JMk5OTQGT98ZVMptL3dmRMwHYyKPwYEV8YZyE+IN5dI2Hs3+4TJ+Rzq1Ag7UDJBcOwBqCEAtsYCaAlBbkkGNMQwrX2vwQM0BqD2JT9SgMAYDW0dl0jSIIBOIOTPA/gW1AK+oCAB1gYPqAFAjknj3BsFQLxi8anSmY97zthqoHXM5b6SKaGqWPsaJOb/fXlU0fqq6aLxcldEMh1K1AaZszA03E7y/WD5gkssIQDkByWUFoLwAlJlkUG5AYtnR6PQklx/turdShprZNDuxE5jHBnZ4LxSnyOXFilSEnypWOEkULW4SixfGqhEY3+DyWQqccfB1lD3w3rJQjwwfb/HZejSPA/x/+TousDEuIM9vXkbb9mRrKKyaaP+ggidemy0hw0BW/NNKolOBZzM3uNyjza1NacVFEtcLuJ3rLm2bLohz9a00/VlGRh8g1s7KNUDI9jozOX52xtw2N1eJqAxCDK4S1JB4eOsxiJG2cUiUPfkApPXXm9r9r/PNFCIbbsaoUBaWlMVz5qn6bQS6iv8eJWIuQOciK3T5+cGPcsHO1i7rOLvuK5rnPWTpmjGuwQJV5+d0NBAOjiL2mgvLygrbbI5FaSc1eCaCfj7/Flwlu5xUTbOxWWXvjhPYE4/fajf/o5tp6a8w31EwfOhI22se76tJjmGoE8pD8x83gbGojGKw21RA78AhJFRGcQJncIy0MO06tKQVtCknV3DSMUgHbIItpsHVuBD3QidxkjnvBy+RUsVa5WFTZJhUnEp+7HRt3iC6pdqKP8gMUVJ5GJEI5n6AiEmrGG4UaE1iagZHG97LaqKkCgCVFWm1FFr2Lph3eVfSJ3TAfDzL4tvaIRNEXgmBmK5G6PA61+xErdjItQn3L0d1uzvTSpAkRZoMWXLkKVYFpUSzyU0k48xdyBdJFy1IrfIagAtJisxY0c2V1DIZUvLb0LVwhfqovA9ks+I4TXMOrqpd6y6VWoriNJ/Ycrb8Va9td9FnQzd6s4pipZ+ZD7jVHNgd8GNA/yA2HV3id/TL3EprHc1UuNmKIHipN3ljHfaaSXScKxla7oIuLgWYQRs+vUHmz1KHPoMtG2nHT+YDAbmB+ItWTbyX2FwPB8nTaQBH1R7iCSFiQ2lqii4G00xseNkwSmdqCsTf9SEUIy6tKG4GcT0pHZygJEpHkRUqD/jBDZ+DyoPN5lxqQzJhkgmCTEFMio5XWZ3zghhrKwO7I7BrtiadRWUULwQ71uO+CUHf/G5W4Qp9ycz4g1PRQeXBZrPp25ACBFkAKCKoBmUUjRyerLVXBvXOy+i6T2PUZ37c0WI8+XDMWx33pBMu7aQfc8qbnfZFZ7zDWT8i7yTT3qrgFrfIQwaxuOSvmHFhJXdPZFZlv5Ape6l6WU1L6o4Xu6BZfzfLrZn3JgveatEPZMbRLDnZZZ3T9KSWB1e8jan1ET/slpOqYbJWwDqmiGcx3vATdx290eNVoyW4S21dpK7iCAkJ8Tc0vOSxYmF6HClp8xTq3g941XSCnnJuI5uhavkQKJNVLcFgNxKMsYvJQL30GG49HuNPJikw3UiCzOshGPu+gRDSHrILKrS7QkdNk4XQ1/Zw6tV8/9FZC5kGx6MoV844p+DLuM6FP+O+AQnF84BSSeddfuMv4Ft+3dH8sW0IqCn/p1GhcV3gPU/M+84jhgMRei7BJqwuJB6HT+qU8OuodJt1fcGipGKlrYs6yMEDkdmkuby/y9Vg4wZTkcmLcZ/FDqjiazIfqqNK58x1hpM9v9Kh/5MQLUFT1ObcFJj3Ofc4ayJ7XoBykqLLYjCZ7JAbuJJEPUazmeQidtwcxby1TJS0295RimoerUzqJ0gykqwPJprCIF7hS8LdP291bHMWkLt8XxjqutvfvrUcGry5j79ha7BbX1KGpXVmOinzgvRtT77mpdL3b6U4TgySX/3ibrB6eoSrsDePojX/bA+FOxDaCdgDNBd85OzEDN/y6mZkDDdGlnACowLWeGx7GY+3fk8nkE5unk6tmk5/L51ZvzK76hirCdzGaoWYYHUyrk+SNowljbtw5S30p0MYz0HkvF9GNKcRZsJCP6tEnrrgRF7jJ1qZ2MTxm3wssZIz/iJZRrZi1Zr1Nn7paKnyFeQb6i37oKMyq2L0v2FLeOABCdmqdRuPJaRcyV8ky8hWrFqzLk/ZuMsaEp/x6w7TLCStCsxgVV/4pQaKiVbp/3cdHNViwH3f2910kj/0PCW/GDlpfHJBw2kvHMNfB9K/dVl3/Qh/5zUxeaxX+b8aiuFQeX6hrq7/XT3FAofWRy+1DRXWt53AmpNhgbUawwIrXw/DAltQ6CwZlmEZlmGBLW4hgNXWHoYFtj+6uPUhvM3+ntUPP/Ao2VcuMCzDMiywtkewn2NjGIbJMWo3r7r52/Lp95IEay7V7zffUrKJuriXPzdjfPV1+h8nfqtj2v7DjoE1jGHH2LkrMSywNgWs3WFYhgXWHo2xc3cArAUZlmEZFlgjGRZYrXmA7RHXJYRS6SFYsW+5pz1iHfhuhAs44kO6SKu0Tru0v5uCJpYOzToMeI3WaGP3FE/4IcPEMu31THNW1XIIzm2MD5kO7SaMOKKt3Q2Y8OeLcAsWgdftwYHiX3YvsS9TezAVDOCRTFe9rZ2BPsMeZLqaTPtrhqmT92KA1Gh2qMGmh7//6Qj1B7KnGdvfcQljp7XrAeUPfzczs8CfwnJzEPSc1uZyWLc6/fRCvfLfumf0fMOYeJQXBk+VhLNYfLYzCDPubgyGUvsot2bfNXz8E5JH14SZ32ztrTtffEFi7mdtfnzzCHtxz6npC03CzWyNE/MB5vcfSkB+ZsdL+OsPjJ1K2PAeZCO+lpPPUeDPg7j22/y7TfxW/Wb95ktfXuHn8Va72v7yeG5GXhww2cPwBwVghgmfEQBCYT/+2ubz/7EfPPu8dIqOuKN6/pc7/zmI/wN7PHr2fuqI/yTslOdXbt8D2H7yKOaXmpwBj66Gx94MFQXPPA1+LjvDM4fxK7Z8ZmtBAQnwRsbfia/Z3TeRygezzBZA/+m97SJVCYom4fh5whYgOqGmWmPmPQwGdhG+HVOGT0+mbSM1zfBvJgjRD7p4PI1AOQ+iP5ISCcQGEbXwFUPF3h30P+8kG3OV8Q9Lz1dHAuzOk3ek8S1Qv9MV14ip4xUz8hGhm2y8Nhl8enqOIbq3a4VHBn4ORH8eleMqgbIcczkvbNhp3jBQyiSrsjKxe175Suk5+JsUt8DcSP6hBSSaaKKIIrovxY2YIqKfjaj93Bt4htcNUjFw8FUhURElKyMNB7kE098RbXcZ1N02loBpAgKiIkqWLzM5bjMsEzQ4v9egFczdyLaBdXiD7XC77AZsfuK6CW3x5XgkevQnnv9BZaRs4Kc43rTzbuyGtXh3mlHsOjBSJZ84tNQ9HNr07Y51maOT8rFwt/DBdPIquLcwc+UtW0DpbsngaySh7B/MpKUJ3HSStu1oHmT3ZGf3mJX+jugrWmfQ0rcDDZ7Jiq/ZCXMfTlZkvipxIjn/jE2X4Q70YI8X/NPA3rTlGcl5S0EP/U1WRprsZU/fX3qM7krZ93DagHvuajuySEBu+g1GtocuG3DWvGIJtjUCAgICIVZ1fnhqUXtkZQ+IJv4l4BoQAmhivTTSgoIw7QFMW6ynga1eh4Y/0bIglC0AUUT1PHDroxkDjpq2pJKNG47JuDBySYVSn/u/YhLzAsuv2ug0waxHCjA8tjnODhS345V45eUfjiJNLcznZm3B1Q2a1mLlQaNjn4kjU5rsa3T6Rfaysydz0HkE6PDI0tJP9bV2+8iMZ3pPssA0OKpw2BraoM4JTf0W2ME9NbkDQ2n1dtTgYEYNZtbe9pXu5g2lMc+yrf447aUnur9zFgtD0/78e5XReL5fZV6QZ5eR166pmvD2rZkcPLdgXotDAobZJHxTwXL9HfPN0710SEIv3zY92SB2EnoG09OrmSjxlIIc9DoSWAAKjoKeZCJzUMq5zWmJ8pd2sPm/zJFwJeo4SNeDVo6mHSA4+MudlcRHjGsU7HnpL5t1E9912bNvxcP9MVY911vdaUSd7+12N/UDFtQGqo5rOdqJ3Ylap54uP91dSxIYa1mPjNaWcc548A4SBgHIbGnCSs9CL3dv83dKH1zRYSh9Yi7AaGf2F7hjr6CNbjveg57WzK8KrIp9itwquKRGIO5MS3qanLznaAaSZurBSNgveip+p+qke0eoRizLPttH6EmJ75iFx5I6m0mnV8hJW689B9vptU8Fg+33iZZnP1+ybCSofMPHLO7lirzg/Z6b8lMx6Iqtdx2iNJjwWUMhRNCfjhXAMNufbISvmP6/nQjZFdTf34IcJIWvE9bLRpfGcfl49cS939Mjvp3cmtxItXPpuvgz9v1uMdX7PPZdr3ybJ/yNPPtFTQz//qDy9WjR7x9X5iMvbznL3+zE/s/2dItjf7fEcjsu88GR8E2q4xMv5nPqM7w9xbZrfNtY4qhb4Cn6XP0+fnIopBS2v/etfq/i4PMtlPIsoTJ/clXsdj1R/vnM/LfvdUg5O+LHWESTk/y2XGLWt0knO/PTDZ28d5Dq1QTG1Ep/9CVVzRJhv88ykNAVd30qzhil12Fgu0b2eCIjN44svxXt7HotQ51oXp+d2SEUIQCiUNNAajGt5JyzLUWnGXNsdoiKRZOx3cGp+dHI9pnOvirzpNuNCNrrsYNCoWURC3cU6R219jBKjsNIlFYgrlYlYmKtn8ywF1Mw8yFa5rXvpYwenzIzsuq/YXia0OkI2AV2u4CdmgJfFmhATWbvmtriOVsy5amX5FUn3l49uCDdtUcTU3E5O0qrNWTj5CR6gfk8O3GfIijixMtytcr+d6Xvod2bG5WAUSpjyLs7tHxyKJ2KhA7vrja710NmgxT6Uk8LuH8wkFAeKzDt+AQpRZcEnvjZkx4YVgQ/jc/T7R4DLszVTnH1ptJZEDoGVaJE1YOtykwlZwRZlHqqh6k5lrMzAUOP5PKik5gTLiyWO6WZijS2BaSmlSKjokpfgknPzSeRASdL4aA8Uop5zBKbbyhpcDSRkQUB10w2Q/dXmzhlaVd2Kw1VPqMy4KsvZdM/O6vcBKP2aMNeQN0ASpbXb+acqSooqxWiZuwS2/7TmPpjrfVteKlKpfNr+x7sIJgAhw0ZFylcgr81pkE1aPX6FBDVs3vixyaZrQxPhYZwAl9AN1/gq1wpJebLYinmACcC0jXMs7m6jTtRpHkCPbOoknVHJNmSGUIk0BWIQQRWPQGoxsiChhOK5hi1K6PWUXx754Bf+dJI7tFaVppTlFE3QEWt51CbxXfkbsTRlX84TV/SllIaU5RRjLI8B+bs0bglxyn22qGdKA2MQYgxLR3/tQWFrVu78dhqpZAdeBZw12RVqg6LhVY5gWITsEm/X9h3J3lVSH1kMX1lbQ3hU4fjmgP/l3H4UjyuVKpSia1K4AV8U8juwU4x5g24LCZ1UOpQGhVbyC1U4hK1Ees9KsGHrpNtFbUcc48t31j55u1SoiUG0ovD36OQwcdwE5mpSqJn0ahoFJylO3OpWSZxsjezwGezsEKrDMecwe45BpJcr3tXNQFosAOg6OlnEGuvMhiy1CiiVOa2Dx/Bq/Z42057M8AHo0Jb8KpjYA7miLGqPPukMQnWNmjiKVo955B3kyXS6lYCpJfLVePFC5bIqOBUoUt76CrNKMkFM8Uy16mj2Q5R4liJMtNawtyhLYjD5l0Axj+MrCKOHMtoyC0goywqOdlN+Omgos+WG5No70TmEnf1vAZAVfCUquiUsptPamzsGDcnW6YWuyna9adiU7mpyl6i1mu7EL8YN/DGVoksx+1YwuV2zOk+m56TLbH8uORAq12hivsqtZZholE770lC76rJ+DgZCRu7DVu0raNsM78YT8Ab01WfCTciAKMegeLXIGd5pOVFYlP3TBTIiNKeqN8K1NsBoVuNVf+xxrzKHJaDjMBS4JbbvNyh1f5ZXqqqtVmmZG0CK/YB/6+eScXW49LGbOTMDl6xE3w7JQ65YrFJmlku89p2PDruZ9irc4/Cvqi0fXa26appQr8dFKlMZcSW5Y7NAoRViztPA2Y9UOCzAo9Isg1tbZWoQ9JnWGryKZF9OIlLx33X7NO5yR7sq7JNp4muuKPBSD4/3wQG9aN8oMhkr0Wqiah8p8ZmB7d0gm8nfo58hrtN3hFp6XzquKFpbDfZg312tmk2MWl61hz3Fl6F2UITB88bb8wW2dCj6Th4TFXQci4mpIUYHuF0cTa38DwYtyAOrp8yG7HxkrlDvLG8nBZgQixYkjRkC7Nc6+CQN/6U2WKbdIa1rDS3MHfN7GJYATRYwRpGrU0b8nZWpxvPIevQ6uptgIRiIP08toGLG4QxUaSXFFkDaapKdsO5U7O4sGTgmuoikWrYvpJBFiA5v94Pzaoxt+mfQxuoQNK7Gq12ETt7wQ0G53AkbShTwUyQUK7c7Nj4Em0XxUTcW3i38A5hPhFkEdrCLDwEFamztbzxHGwU9tn8NGPHpAbgOQL42eekxLnu5hkZVL3qDedEgHC9OafaRZpb9SlAETc4TZJ+TsSmmCVvZw98C3NyXxfX9C1IYZOcUJksOA0T9aUWoYEonTN5uyR15nYWR+WiRuWOJjjbJALXlEqlRqVCo2LtYCNTvqs0PGZ20UllQcZgBa+NuaxNG/J2Me4Ex1XoGxcWG3A1NKTdyGnMAsEVEV+fh8RD4iHxABKcsSjfkAAa4pN4ANjOiZEF95iYJThrUT4YDYMUUmzHRel1LqQNO2v0nsHCCm7GnmVqXYMdF6WXudOGwQ2wfITsQIoa5D6QLDpfSaDhMsgVMS0wmqKw74CRdSPpmlQm608wtY7GRT9N9ZtNbrgyafQWjuSwpfC1tT6YkzEsrDznw6bJPzcja0ieQglcm7up4ZNJ2rE2xDhe1B33leKJcY0AaUKenR0XBfoKpA17vEE5IvOcVBTS8dauTC4ocJWFBSlbaZ6QZGhXcI3PNxcB1zQdaS3GSjserr2bg4COmp9VWwz0DPLN1zvrBuwzyn4kL6/pRts7x7u33DiLBq2yiv/GGdyu0Kgo+OhoZSX4Kfc0Cu+vlWZccLiB9evtO2vZvRFT+NsxDANmpmYQ/FtGV6u01Qt5CnLWlmzN6mqnU1WTNthk9s87Yq4nxOUWJPEwEa9cZcYidcwwWINKl35E1K6paKlPxaeDdlbz4VPE8BXg7K6rDxfUcmmNLowUL2uTzIzd/mB1rqPKjWwe49HqcAuaG0KqzD/n0dO262KHG/73gpgtrYyWUZvngZ+dJt4nfoc3MQ1vo3SbPcnn7cLrht7nIFMOz5/fMWfdKGpud3qND8jnI+MQ/i16RtN8ciZ5t/KL+WxoX4PrNKCZMKHxqiv5ViI7o+QvTfEDV5y/NOAtJ39Irttx/sKEof+djtHPv8ErC9KqZixCVqQ4bzRlDySNaNjEXDJvmU/GaylSRFHL5xS3LNJq74wpbZp8bZOuWRNIphYRnzipQcSFZi3wK9UQqdW8RT5vwIfEeVo8tBx2yBpoNcfXghHq/uOR/I80z2BUnUDP7vN/7cc/oR9/fsJLXZ/XTzr/4H8T7lP6mUyo2yjTvjsNvD1NKg0aBoTi5btXIteY4E3KCRAmIHP4I6xqMcCfeWkn22XckmLRcyLbljJbRCNy57NrQizKTE6VUcYO8oM3z5JwMTSsCR1JavbipCTMTeE5UQMt08BmXOcic+4dxsJluhGZidnwFgyLH0kftWJuJPgtxQbe6F2N2QpWtmNPMb2LzSZDGF0il3G43czOBLW3uyGhQt3SZ11fBcNZkMAdlUFYdttvursHVxKbdpdYr2ucWVGYtrpMF8iig6PsGmZaePZzSdiYYUm9Wh0ZLqEXD7RDDgw0a3LBaJYkAPc5zJhou/XQVBOdWlgwojQt+ASSikISKFEcP+GDJNkFTk6NtgTf6SSmMM58fL4yncNH5xAbcgK0cC6/PeGmHsn5U1vBkbnWWFH3yAWp5D9UPW+QqWMtaTK1xntEGWoztpme3Hsrd9JFJKWV9Y5q27W5rWZpQa9Rj0xrskVoj2azU0btKMfMMq8NIRxbpMXqlN/fLF52JhkKDM0WO6Yfjg7IzsjYaKV05foNxrjbCf0uBsMdfwpjxn751uiyKfAo868mPELSezA8Pp0fNutiVWSynaELqnKpbUI/wQTRvfYZWNfW/KE9rBj4L39MnzVFURX/pr2sXvymWaGxaM/KzB+Y4FRVegwGnE2cr1JmNDdvYCxNGXArZ8Et5Z9Zz8MOkzifb05YBJvcqtB3KjZlObp/h4J6oErDDdvy/keFrSaEpfdP3TJYqk7+7tYguVqYXVy4RZFTbMwwfqv2/4nAHQ/zsYKenVj9hptZiXG8oxaVhq33/DMg5ByhTwRwDWxc+n434gohiQJy9z8R9dN2HeK8ZAmD3nuL8zo3rmk9jin6+nC9uLqghQt9aalzs3zy2qBm4y2xtQs1XC5WkBc+pdjBvvo3RnUbq1LSh4ScLjDob1R9+yu6AB9ssVbKiqLSaNIv4Jpdei1FiYJ/JReP+yUyemPeca8SOeM6POtsv2q+N7723v4PsEFJsfa9Wfs1oh/+t2H+eDr+x86dgz+O/sZ+Pf0J/Yq/e0Qhfethm/iP0Zsv/b3Rv/B3UuAbTHq34p8aCjrRPQgY5ia4YazMpWCCKHwrFKwTgyF59p4unvELwJLztLUUZyp9ZCeoKAbfVTkxSNxxUmRl8BJwBgkY5FhGgzRcxFGBQYOUr4X1SKlfjqen1j2O0uvmX5FNhWbq2vjFbMEhDoNVLBomynPMO7DQ0ok1ZqWnK0o/KXRSIkpsNlEYJSG7zTwmK3JzNmIRqdIjsiRs2kVEWzLxDWfSzWStQ59zI1M2KNTgYGIOe9Bg+Kp2kEEeI3h8koS1dt5u6H7VM4YD9peK8Ro20sE6s0bi8xIeA9yDAGEYkUKB5Ao7MObY27BoF35NENp7FymqaS9bYOK739LONhzA4EyRcYHg98APxyb4yBR01KLlqMqvhn6apojvBRldFFlLkrcCZefGbtXTQYJDxeB1UaDXeV2YClquwJ9JWsfK0Vkg4/Gcpryn8NPEOQRnoEXSBWGGU8h5pDiIAOlz6CLgRAU08nAp7yX8WCA4gy4BCkod8cBPgCK2k5Ie9IxoGboQ0EJeDpyJVYUXzsbqvjAirr8LTYRrBbxgt4EatAw99YXQObS2PaJktc9qkoJEGM++mI34eP5gKp+i9ZDgboc9oFFYBDo9CQpYWO/lNSPBJTqFzwpHjvmQEDz21SAnOC3EihPirdOE9aB/iVOZp7AjLNFXg1VhlyKMxnQCqYaCsDmsBgCEdoflCq91olDvVMMdNaFaK5ztvwAbVKGgEYCJCJFCQeJ9uC4ttDP/gfqcZ4UVcVyMv/d5bvC2PRV38FMP1MlP8kmd16WVBgNw3tBpI4W+MZDz3TEd4LERYY5N8Fre4du7/Y7ICNXkdio4730H+SbO7pPNrsiFicEV5IWqFOS4qfbZmo9RJxx+Epf/Kcsy1nGOT0NsvKP2Dp/GEcOu8K99+RzEWHYFbwWfwVEjIhPRJJ5mVrz//FcD7qahHw9Oqlqqf1HwU9ydOIzYQulNa2Eo0rwmGBiLwWNg80ILKO1iPv1e9kcXTmprWpj0zedVwn3DEf5Qu6GwpNfCFfAi+EHhDoUWfdPSwibJlM5Ul9a1gsJWhOD68IQrcFnbr/tMbEGnGY7YJtkrKrDuolf2c4U6b2v5Nitl271p89IuZL7yO2Z9YgAugSl1WNMgQXGnc1zG6gpO9d4HLGMOMyYqMKz0ZqGHfKEURyAGY+jCbGTC9BHyTt6A6TbuEYPvQUEDee9X8DJMCSHvokygNuxSlwqs3gWnLyb44nrqi7jEv9tyYCWMZh8ULCGK5OTZ5QmX8QZ7XWpiIsPoF2fSQPYtSVAUfBJtcBnjzc9xH4TbtUA258v/MBVshnQBI983MiXVAo5O9MyeDj0+qdOTqrpJIwS5j5fy/0zh7TYeuYvHBvNxgkVkwaw3veY/wxgpgiS+HhQQw4Iyl/NwH0n+tSuCme+FfGGL/3Q2DUtZPcMoTSyBxqdiTN5l3VzFtH6+3ELa33I3P+HQZ2FuKngIgkh0UEiCDBQ22YZPtM9G3XRTZ0h9C5J7zqhtKSUF3CIKWMUlbW4YhKNmpkUQPR2ihyI4wiLkMCkFLRZEhYKT33YQEZXFZWJ5Qa5zfR8M9opH0ZNHcZYbKTTca28osHuZWKXAoV9SRFBUQYjOVn5nCGIeVi/M4A+cV3ASIh8i7aslrn1HJJHTrnqGwxgRv+gYkJgcRITgAK42E/MVoTyCRSZBVQUJ78c0eL3iSKc1s+WnORRUzFcY8rAICtXKgtqmed311tCRfOxmk7/qzZaK9gmtf0srh6sxOBmneeQTezkhSztyotno+h3uzKkEmx2anBbeRZ2I2NrzrZSAdmux+kA8FL0KP97Dd3gKlDHBhf+CAOzNi3GGrs0WxCG9bCEqxkUPrFuQWBeClS6zfk/zsypu3Oe3xEgw+QHNT4RhAs2AJK3dllbZCCDrsf9vM+v6wEjLTkysvS298WilatW59K1/2pY4Y1SokkuOm6/0tItXhC/Bi8/RuUcAIlsgE9hWJnU6h7S2sm3RD6S+xUqpLxRcWWzv+LLxpad+T7HnMkf4mJ8wNA3/yQu/CsV6PrvigiKkwOMjF3miicFrEdDDcn5UQwbwwjUD8+btMGVcw21a+hsVZOAKFZigghA6ewQ7mjcPTLFcP/oR04v7YB61nnln3RdTFvO5R8EQ9tPacJ66hLTmmwMvkbr3aoxluS4bKd83/C3c8DzB/hJckV3GRPeWW6P2+sKBw5FIpBV2kiHzqshQPXtul332obAtfj8OvkGXJmwn2AYrB4N7qaAUflbAgpuKePP3JYiUkZ0FJKg8UeAO4V4+No83PsSWhk1hPdDZxvKzcRb42XLdvBU84OOBiYrxaDRl577j4Vsx+nbSqn/LbjOFh3mmJfuy4ABNmnm8LptQG9LdGs5w+WFttdSe2e+OZFaXTkxvJJvtYWDzHo08aaCTqiLjm4unvD+5JHv7cKELF/3cvUa6fiyx3eF51fevdRxGIEXSvV9NQzrO8pIsonyPVhmKGFQ26dgysBppvD3qEo382g3x1erIbt/3sBd5KEP4aCM91jDk/df/w1DYgiXtmtThsa5O3AIa9et1STyrbrdhBoqm3Tdbu9gaWz01S7wTFW6jC1LXxg8LF0pE1zLvCtNZmsID9QxorKdPaOTQ1T915oZ8Rd+ms81sgvzDaaQr/+I7fbgNLUlqnuX5LJEWETDLG2ScJ0lR+5Trc8LEGTEaHfkesuHbMWQkM12Z3NGJbr83DcefR1Cvopj0xr/JbxJsceltofDRkeKfEjYqLNAIFnam/kQpj1wFlmOyxHO7UDBf/UwbJo9Z2OdFKRR0YlLlB9vpUkwvacG9rF4uD/tbiFa7FyuiwlA4FAw29+twcHnGtFmhMaIX6DSSSrw+Tzx5KtJo2thbkqk3M2SfaRbyEvMmuVC0rNVtlMXq3ssZM72b5swepps3eW3sV5dC8Ik04ApKEilsnU1yJJ36dV4Jol2/arMQtzhFi7FmXt61CDEjyCFMzljeqyUrZRRoWUftmFlYj5SqQiTSHPcwmX2+KEU6zwqmYL828WOmG/qwOkwpYWcN5kFDHLH6j9C2pOTqDKvBcsXPOZb8uu532dVfvGi8qM/MLYPlqiRiFTZFZXgN49AOGBzNf3a5XpUOIDGH1fvM6mbMaGAcF/G5rB4r9Qj76ln/2WfmPpaFipYuzWIG9jTsMuNKbs1AkCA0skLtopcQkydlwxDMvVLm6fUKFq1XXOME9+airdKNHqBQRqFjaIJSQjcURbrGNWSm7hpD1jk4xw0ui3aTLM8pXcJxsowhSvcYDH3VFGHv2JdGgnNCjAiDD/KrQjsoaR69xiT50ppB7v0mF80o6NDMHAyZcsbDFRp+jInCs1JazWASnkVfTIY31UaJ0jXCF9oFhQfE4HtAQYOskm1+ocXsKW/BDtralvo3mlyXcFogdVyfvmU8m9pb08JR5JwwjdLyBrwnDVpdBaXoxEOYurFTPv31CqVTBDUQT/tNKC04h568RRrgM6SBY/KEUyB1XIRFm9u3VCQOVW982zk3T9SUueXtX86u4EsLJ6emCYdm4bAk004FacKUhykMUxIeTcer9g63HOkZvm6w4J8NHU+/ZzLiIw8et/5siyLefg1L2NsXxRv55BMxXnYbdX8zSm6852kN8WfGF5x5yp4h88fURC3URfWZpWeoW+eEz4Q/NSmiW/6F54/eCZ/SltcQ8oHtlbHN6sP8GomvOrgunZpPTYFyVIToPCRDQaHX82y2PWG+AJjDA8+bwF2Wa4lLrRGNlWIUCDjABgV2/F77J00Xm5rTah0axYqC9MKkWMMJqz+dVVGrmKVFv1n7La9CEVa9Eq3o0Kr7GHw38atVl62GYdZfHdUIQ8uCilAilV/lT1g1FYZVQVn9eCoNIzfGdUHdbyeSYhRsr3EejsGq1GP4bo/XDneZvGYULC3pDT2KtiZR9ynodN7v0KfSczcUZlyRsB7TpwK5SjTFcw+RTIRpMVe3QaQg+PNsTRXAEwlZsbHZwNd5rCHNYRUKFucnlqVmThqW13iWA2vIHOdMlVHR+T5jxk6/+np+rh4uWzKiFSJZJTWL5yPLRjFnOpZXssqn1sDpc1RFKow8mhmz/JG1ceCxsfkbw5/HPfrEgqkaId2SIuyM/WWKJKpdVqUMrlVEb8D5AbgIwYRIYs8AvuCwPi64xwl3WOzRgMNeuvRAsQJDQvafCp9pgJMdVMLC96740zKxgD5cynVNl501EkIIPuCWn/Ywi3VpmPso+Vzs/g78l+D0wo3RvXuF+DnmXo+k0TPPu2mQiamAup1+tttkuLdO/Nnu0aAga+U0vHxJ6B/fdCiII4g1CPZvidtHge3Q7Fwcbj9DtK4GrrsI3J4PoGHlsIdPRfIoWI+vPqJNfehPSv+5nP1NWmuSZGJ9pLeDdSSsWQnSaw7t+FiTRnHJFYisuT6kV7sV0dc9bEU0nWvGav4LvMtjKCNbK1F+0ZSY1FdcX6ZKESouucOtw2sodIBToLP7q2Sr2Dh8VC/sOyPeU/3HPXuq/r2ne5FELpFtVIWWafYFwVBwhPcqrWvUUL9GKj0ZDvU0Qo3aOxGws0qWMHmifx93HESVuHWH7XF5yH4uRkmhWYMH7VGdo5T76Ye/DEkeI4NLPLgU/L4Ww/81moelAuxjLj7+ecchiNzzLqy6cgzgvoYZElry4wnr3Hpj5PoAnAt/CT86Cd5tDt2S+s7xYsS+CkoUqz9/DCllTu7QDLPXwVCYPQfvbuA3tRg7jt/GYjH5mn+4wm3pNiBhW9AzezxPFvSkR4HeFRh4NCjeBvzLSb0qk8CAvlKxIzQJGSqiEafT2Q5KuMEqKcCGz+tpjZquojZC/iXrzIn1eAkun6KyQncEYuNRb8FcCmFhtLOl3Cte7+7r1FfTa1wGqmYzQNZHOKmPnYSXC/NvxI2RW3ft+thsysAasugb9bmUwgMb1VOtkZQO0hHDO2CwI2UVOBLZpk/msBGU+oimHux5TTfCd094rmyJdWNZkwqVaz6TxVM3ex5bLNtSRG+RZK+jd2DAbOZwRqSomCaHKWPAVAN4R1Slm17Ul2cx85vmoF/rkOZO1xxc8LKIisISKbnsSknzU82+S1PKL8qRBRg2FYlzKU/wzLEuWVlR8sqK8r5SVB4pq0plV3oSVH0ObypWfey+jPvek/PQMvWhOPKxsV1vKwh5GZUFfdI0C9RDrgVab9mY8gNMG2bIAB22R1p+mjW0PzYXgN0MAy1kXxQGK52BE/5omgX8kEObP9qvZjQux6uIjUKH0SC3RF7NV5eFXsNpWvLt7b7LZ6cXFzZ7xPO/GKh7/BuFgL6x/P1Th/t8k/FcaxHWXUFOh/Pqer3n7Nig+s7HFnB1FKN4QLuRbVpHOttV9FN76XeDJncLKNX/EEcawSH7KHjxTzIUAnrFHiM41q58AmUjIp0onAvNOG7+vRNIzmOgEb2wCKu+jgWUltaKZ4srq8Gmpk1pWI7OhepNuoCLGAEidkddTuwO1JnIgB/RqUj4YZXavKhfJfRfXjZHl45ucum4fz3wmFlxH6Z+U70zn009exCiSGq09ehWmP/fe81JIIR/ww8dl6BFvlvmp9DPVddynsVXIUQ8VSgx7xXGmPnCkQnTYUQ1fnFM/xcJ89ksPE5vFYF8cx0UoLw4o6tFkWfbyutKNPce869lIRqnEKAUFRUKjFfigwZMFj7Ym3SoZzgRQCGk3FcoGS8UxmaEwtFwdhh1WSAJxNWkFAknJrXweOUsAp1Nc1CA9sQZVcmi0PjrS2zc094MBKjXcAECrTpWQMD2MvpYGHDw3tODb4dyfMn0/KeMSMzhf5G3hD+hzTeNjWvfCu5GtdKyXLTtUlJrHbr9zPcyXj5gEfBylOrPG2jebxMjc9K6LHrJeSu3CElqeIm7hzlSxtCAg4ZHtMhoPdAfSSkDK0VAdmlN9JB8lZxXT0CNuIn/uxKyG4geCjWew3mMAzwB2AVL8ssy+Ufj7YYIhuOo+FKderacczL/ntsNEQzHkXH1xqPVD9ZN6eSWbX6/QkhEYtBTyY/S9jIMyZwqUqaiXdozCi9zBA3Fprff/84FdFE2xLxdKDxZaddSTnkiioLrHsCK7Gqfm3qWgwNTokVYXXL29sSfixAtUVmAPjksq6ge/djYRSGcVuJ0BLyROsvtKz7HprjcMEGgPwoBjZRra+/1EQYL6SVHWWKGpBZA2v5g6Dtdl2uWkz6Zq8IZqY5OYlu1fPOwAqy57QzKM1tl8iDbRsa2wlN5ZMiAKfJMni3PlaU1EtBQLyHacmUlAY+mdHTDDmW01j/3YQJ43BKs7OnyI73LRJcZDy0ar78nbCVNgpypoF1Dng8aV8kfkYg3wn03tyXnn5dt0418Tizn4fMqZTD+uHwJ5h8TKMPQiak3NB2T5JQjk174jozMVJduSnKhM032Y/r1hbz7lIChP10eGt1ImaQYQx4c1WAkbc33yQFSqI1ZyJKRAhmT5K2PTjVQjnGjPWlvD+hTSxlvZmZZu3hyUiBXriJopg4FtUFOA3X8L27AGf29XSWO8x+6hMXr+52/3JqomDiJJJZEvARJpSCZFKUkZcmpNDqDyWJzuDy+QCgSS6QACMEIiuEEKZMrlCq1RqvTG4wms8Vqszt+fbiqELeRMI3OJ3Y/Busw56sjTVwI+WhvMqTjZtClLClV063JnD9MLvS25HSBmSNh3H4GizMqCF2a2nwCCfkrf74yhWoBWdKsYDqDqTT9X5INwcHlwIkLVO7a6i2GdCNSSKagoqEDAAIBg4CCgUNAQkHDwMLBIyAiIaOgoqHjiyk8uTFhsuyfxZt3IcV5AzJFpumXx1wdnKWptKjRe5gsNocLvSHwNZFYIsVgcUbGJqaAGd4cJBBJZArVArKkWTkL9Jks38G2QWw5dlx7B0cnZxdX1I3nzhcIRWKJVCZXKFVqjVZ345jRLg0ZNmLUmHETJnuE2ItWm7eQ0d4fIMIkRft1aDleECVZUTXdMC3bcbk9Xp/fYDSZLVab3eF0uT1eHy4gIJFEplC5aXQGk6VquhEVtG87mp5/0mivj+IkBRBhQhkXMsuLsqqbtusHkNafLuu2H6dxyHZ0W7ktjcLho17ar5VhZK3tzgV/YOvQiHy2e6uhLwNhBMUIRBItPSOTZxdYYYMdDrjCDe7wgBd4hTd4hw94wucVqg3+ojftwjA5zcu61aIO5zgAQvA5qgXscYKkaIbleEGUZOUg1fq64b5lO67nB2GEdSclp6SmpRfTqzWzsnNy5c4TlhETADwQERkVhAbGwMKGyDnL7Vulxt7wcqWRUhOFUgdhFAm1l2ZeLWqPhvqd2q4HQAhGUAwnSIpmWI4XRElWVE03TMt2XM8PwihO0iwvyqpu2q4fxumKQ8JqL3PmP7b7ee/SxEsMajSZLVZvm93hdKmabpiW7bieH4RRnKQAIkwo40JmeVFWddN2/TBO87Ju+3FeAAjBCIrhBEnRDMvxgijJiqrphmnZjuv5QRjFSZrlRVnVTdv1wzjNy7rtx3m53u6PJ8Nyo/FkCsjHqSA0MNepBhY2BAeXAycuUDx8QmJSckpqWnpAYFBwSGhYeERkVHRMbFx8QmJSckpqWno7vk4YofISVCxceRQjJ+ES5chJuRRB8oIuycZ3mHny8TVq3svJl9R5tCUneR6NyU2f14pQXpkV0FPOf0E8zd5BGjbrW/JVAqFIHFYAMX21rU4PD5u1YnqAxeEBYjMpE37TLDaHy+MLhCKxRCqTK5SgK2danR6XxN+cEiXGhu5K5K8xSTIlg1PPcCbpHylUGjLTTz6rmm6Ylu0I66mgO/bxOPH/EUCECWVcyCwvyqpu2iSuyOmqt6au25+xQVG3lRK3/nAcL4iS3LNVGTFbn9yuqFDLVqy3NE5kTf42dbmrTjw8xrWnR1ubgtnuNYeCKMnX1/bI4qtbaqvACn9+G7J1du7+cDydL1d68+5+EEZxkmZ5UVZpSP982q4HQAhGUAwnSIpmWI4XRElWVE03cCK1ln7X8wP+vZ8uTtIsL8oqhGgO0JHeVj3Vdz9vFlF58sxfxKw2uwOny+3x+vyGqumGadmO6/lBGMVJCiDChDIuZCbHp8t98abt+oEEJVk3FJTRM6ioQmtqHyF+CTTDcrwgSnKKUqrH/Aq243p+plJRpZTnkx02LinPULr5dn88q5NuHo0n0wKlf5xzKIiSrKgLtNRWWDdMa21vSKVlb5+0VOQqRbfRe+9+mmX+PmUlqatbdhQJk9EpluLC4qWvJmLCohjswHylg5MqW8fhSWLlwdWTe8fpZlFweAXlbVcHCZeBo+BoOIZKozOYLDaHe8tuN/2RWCIFQAhGUAwnSJlcoVSpNVqd3mA0mS1Wm93hdAGAIDAECoMjkCg0BlvFdNplCpVGZzBZbA6Xx69MykbDqZXnCmUd04YbjCazxWqzO5wurm7uHp4YLM7I2MQUMMObg4QD+KQzV6gW0EePKaYzmN9wa7YNYsux49o7ODo5u7iibjx3vkAoEkukMrkCIQbe3lvmyqus16vWGFZf5Q1n+wxGk9litdkdTpfb4/WNew83dw9PL4e3D2KcatlUGp3BZLE5XB5fIBSJJVIAhGAExXCClMkVSpVao9XpDUaT2WK12R1OFwAIAkOgMDgCiUJjsDg8gUgiU6g0OoPJYnO4PL5AKBJLpDK5QqlSa7Q6vcFoMlusNrvD6eLq5u7hicHijIxNTAEzvDlIIJLIFKoFZEmzgukMJsuabYPYcuy49g6OTs4urqgbz50vEIrEEqlMrlCq1BqtTg8AgsAQKAyOQKLQGCwOTyCSyBQqjc5gstgcLo8vEIrEEqlMrlCq1BqtTm/Hrr3D52/+txSA4He+oyHChDIuPKm0sd0YIMKEMi48qbSx3QQgwoQyLjyptLHdFCDChDIuPKm0sd0MIMKEMi48qbSx3RwgwoQyLjyptGmXABEmlHHhSaWN7VYAESaUceFJpY3t1gARJpRx4Umlje02ABEmlHHhSaWN7bYAESaUceFJpY3tdgARJpRx4UmljT3uG3WHGYgwoYwLTyptbDcEiDChjAtPKm1sNwKIMKGMC08qbWw3BogwoYwLTyptbDcBiDChjAuptLHdXesghBBCCCGEEEIIIYQQQgghhBBCCJ9AhAllXHhSaWO7BUCECWVceFJpY7s9gAgTyrjwpNLGdkuACBPKuPCk0sZ2K4AIE8q48KTSxnZrgAhTxoUnlTa22wBEmFDGhSeVNvbGWmuttdZaa621Fr8BgD5kRPACIkwo48KTShvbDQEiTCjjwpNKG9uNACJMKOPCk0ob240BIkwo48KTShvbTQAiTCjjwpNKG9vdNd+eAgAAAAAAcD4AAAAAAAAAAAAAAAAAAAAAAAAAAADAE+hOZEIZF55U2thuAxBhQhkXnlTa2G4LEGFCGReeVNrYbgcQYUIZF55U2tjjLgaACBPKuPCk0sZ2Q4AIE8q48KTSph0hwoQyLjyptLHdGCDChDIuPKm0sd0EIMKEMi48qbSx3RQgwoQyLjyptLHdDCDChDIuPKm0sd0cIMKEMi6VNrZbCGVceFLb7q7VGGOMMcYYY4wxxvgJJpRx4Umlje1WABEmlHEhlTa2WwNEmFDGhSeVNrbbAESYUMaFJ5U2tttCuAOIMKGMC08qbeyLD4EXEGFCGReeVNrYbggQYUIZF55U2thuBBBhQhkXnlTa2G4MEGFCGReeVNrYbgIQYUIZF55U2tjurp2EEEIIIYQQQgghhBBCCCGEEEIIIYQQQgh5IjyptLHdAiDChDIuPKm0sd0eQIQJZVx4UulmCRBhQhkXnlTa2G4FEGFCGReeVNrYbg0QYUIZF55U2thuAxBhQhkXnlTa2G4LEGFCGReeVNrY7q71hBBCCCGEEEII+avE5/IXjjAXnummgBgX1YwwSc/XZ8KqujVAhAllXHhSaWO7DUCECWVceFJpY7stQIQJZVx4Umljux1AhAnVxh53LQBEmFDGhSeVNrYbAkSYUMaFJ5U2thsBRJhQxoUnlTa2GwNEmFDGhSeVNrabAESYUMaFJ5U2tpsCRJhQxoUnlTa2mwFEmFDGhSeVNrabA0SYUMaFJ5U2tlsARJhQxoUnlTa22wOIMKGMC08qbWy3BIgwoYwLTyptbLcCiDChjAtPKm1stwaIMKGMC08qbWy3AYgwoYwLTyptbLcFiDChjAtPKm1stwOIMKGMC08qbexx1wFAhAllXHhSaWO7IUCECRWeVLoZAUSYUMaFJ5U2thsDRJhQxoUnlTa2mwBEmFDhSaWbKUCECWXcUyaG37UZAAAA/KnFAAAAAAAAT6cLDhEmjAtPKm1stwaIMGFceFJpY7sNQIQZF55UxnZbgAgTyrjwpNLGdjvChHHhSaXN+34RAECECWVceLIaAkSYUMaFJ5U2thsBRJhQxrsxQIQJZVx4UmljuwlAhAllXHhSaWO7KUCECWVceFJpY7s5QEIZF55U2thuARBhQhkXnlTatHsAESaUceFJVS8BIkwo48KTShvbrQAiTCjjwpNKG9ttSpv23Pg8+IkAMWW9ITNuuxFAhKVqx1RNppuyVNrYbgYQYUIZF55U2thuDhBhQhkXnlTa2G4BEGFCGS/2ACJMKOOi9yPLFUBMqKw2gIjttkL5kRcB0W6ISLYn1SkxA3LoxcDpiTFSxqsF8Gq9x32LXswAIkwo48XKuPCk0sZ2a4AIE8q48KTSxnb3Gf/TBCAqV4Ql180aIONSdVurxPi2DCAUkzsN0dPkzZHBVRsYcC9Pw8Ij4o1zs8ASKbhy3874nGsjoJ+0d+h3+kr80f7ZvAknQ5hQxoUnlTa2GwJEmFDGhSeVNrYbAUSYUMaFJ5U2thsDRJhQxoUnlTa2mwBEmFDGhSeVNrabAkSYUMaFJ5U2tpsBRJhQxoUnlTa2mwNEmFDGhSeVNrY7A/aY0OyFtdZaa6211lprrbXWWmuttU/WABEmlHHhSaWN7TYAESaUceFJpY3ttgARJjTbMaGMC08qbexxFwJAhAllXHhSaWO7IUCECWVceFJp240AIkwo48KTShvbjQEiTCjjwpNKG9tNACJMKOPCk0ob2901CUIIIYQQQgghhBBCCO+ZJGut/X/WLNcSQIQJZVx4UmlI5vvuEz+wrM/nlwwgBCMohhM8kqIZdnwKgBCMoBhOjJ+Wo9oMhWf6KvzrA3/92/f/2iC3FT7e+Fb82qB/vvsZpG9HK53CoZlvC4Da+9vOyCiVbzL2de1PGMUZO9JxujaZwCEAZx23a3c7ELVFycbnMlYD3Ub6HTeKW1kWdsS/K81055TOq29/7P7lz1//XyaoJOF/X1lrH//855dfR+oLrDJN9P/PYb0FHxDhxoD35T7BXYExd0rBg86h2TaHTDDywBwpOnTulDK61F0jW8H+mZA/pouHfzrxG1L/W6CPYZ+cZfeGcLb96TOjnTRZ7Xq9Ame8+JiWP3YKQz7iDPcvAA==") format("woff2"); + font-weight: normal; + font-style: italic; + font-display: swap; +} +/*──────────Inter Regular──────────*/ +@font-face { + font-family: "Inter"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: normal; + font-style: normal; + font-display: swap; +} +/*──────────Inter Bold──────────*/ +@font-face { + font-family: "Inter"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: 800; + font-style: normal; + font-display: swap; +} +/*──────────Inter Bold Italic──────────*/ +@font-face { + font-family: "Inter"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: 800; + font-style: italic; + font-display: swap; +} +/*──────────Quicksand Regular──────────*/ +@font-face { + font-family: "Quicksand"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: 500; + font-display: swap; +} +/*──────────Quicksand Bold──────────*/ +@font-face { + font-family: "Quicksand"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-weight: bold; + font-display: swap; +} +@font-face { + font-family: "Roboto Slab"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"); + font-display: swap; +} +/*──────────Cascadia Code Regular──────────*/ +@font-face { + font-family: "Cascadia Code"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"), url("data:font/woff;charset=utf-8;base64,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") format("woff"); + font-style: normal; + font-display: swap; +} +/*──────────Cascadia Code Italic──────────*/ +@font-face { + font-family: "Cascadia Code"; + src: url("data:font/woff2;charset=utf-8;base64,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") format("woff2"), url("data:font/woff;charset=utf-8;base64,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") format("woff"); + font-style: italic; + font-display: swap; +} +/*──────────────────────────────────── +++++++++++++Variables+++++++++++++++++ +────────────────────────────────────*/ +:root, +body { + /*──────────Font Families──────────*/ + --font-preview: var(--font-text); + --font-preview-header: var(--font-text); + --font-editor: var(--font-text); + --font-editor-header: var(--font-text); + /* Original Obsidian Font Variables */ + --font-interface-theme: "Karla", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif; + --font-text-theme: "Karla", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif; + --font-monospace-theme: "Cascadia Code", Inconsolata, Courier, monospace; + --font-mermaid: var(--font-preview); + --default-font: var(--font-interface-theme); + --font-code: var(--font-monospace-theme); + /*──────────Font Weight──────────*/ + --font-thin: 100; + --font-extra-light: 200; + --font-light: 300; + --font-regular: 400; + --font-medium: 500; + --font-semi-bold: 600; + --font-bold: 700; + --font-extra-bold: 800; + /*──────────Typography Modular Scale──────────*/ + /* Based on Standard 16px, Ratio 1.388 */ + --line-width: 700px; + --font-scale-000: 0.547em; + --font-scale-00: 0.676em; + --font-scale-0: 0.81em; + --font-scale-0-5: 0.875em; + --font-scale-1: 1em; + --font-scale-2: 1.188em; + --font-scale-3: 1.388em; + --font-scale-4: 1.648em; + --font-scale-5: 1.927em; + --font-scale-6: 2.288em; + --font-scale-7: 2.678em; + --line-height-0: 1em; + --line-height-0-5: 1.2em; + --line-height-1: 1.53em; + --font-text-size: var(--editor-font-size); + /*──────────Tracking (Letter Spacing)──────────*/ + --tracking-0: 0px; + --tracking-1: 0.16px; + --tracking-2: 0.32px; + --tracking-3: 0.64px; + --tracking-4: 1.28px; + --tracking-5: 2.56px; + /*──────────Layout Sizing──────────*/ + /* Obsidian Defaults */ + --border-width: 1px; + --scale-0-0: 0px; + /* Multiples of 2 */ + --scale-2-1: 2px; + --scale-2-2: 4px; + --scale-2-3: 6px; + --scale-2-4: 8px; + --scale-2-5: 10px; + --scale-2-6: 12px; + --scale-2-8: 16px; + --scale-2-9: 18px; + --scale-2-10: 20px; + --scale-2-18: 36px; + /* Multiples of 8 */ + --scale-8-1: 8px; + --scale-8-2: 16px; + --scale-8-3: 24px; + --scale-8-4: 32px; + --scale-8-5: 40px; + --scale-8-6: 48px; + --scale-8-7: 54px; + --scale-8-8: 64px; + --scale-8-9: 72px; + --scale-8-10: 80px; + --scale-8-12: 96px; + --scale-8-18: 144px; + --scale-8-36: 288px; + /*──────────Shadow Sizing──────────*/ + --shadow-xs: 0px 0px 3px 1px; + --shadow-s: 0px 2px 8px -1px; + --shadow-m: 0px 4px 16px -2px; + --shadow-l: 0px 8px 24px -3px; + --shadow-xl: 0px 12px 32px -4px; + /*──────────Duration, Transitions & Animations──────────*/ + /* Duration */ + --duration-none: 0; + --duration-superfast: 70ms; + --duration-fast-1: 140ms; + --duration-fast-2: 260ms; + --duration-moderate-1: 300ms; + --duration-moderate-2: 440ms; + --duration-slow-1: 560ms; + --duration-slow-2: 600ms; + /* Transitions & Animations */ + --motion-smooth: cubic-bezier(0.45,0.05,0.55,0.95); /* easeInOutSine */ + --motion-delay: cubic-bezier(0.65,0.05,0.36,1); /* easeInOutCubic */ + --motion-jumpy: cubic-bezier(0.68,-0.55,0.27,1.55); /* easeInOutBack */ +} /* End of Variables (:root) */ +/*──────────────────────────────────── +++++++++++++Theme Colors++++++++++++++ +────────────────────────────────────*/ +/*──────────────────────────────────── + Light Theme +────────────────────────────────────*/ +.theme-light { + /*─────────Original Obsidian Variables──────────*/ + --background-primary: var(--color-l-white); + --background-primary-alt: var(--color-l-gray-10); + --background-secondary: var(--color-l-gray-20); + --background-secondary-alt: var(--color-l-gray-20); + --background-modifier-border: var(--color-l-gray-40); + --background-modifier-form-field: var(--color-l-gray-30); + --background-modifier-form-field-highlighted: var(--color-l-gray-40); + --background-modifier-box-shadow: var(--color-l-shadow-100); + --background-modifier-success: var(--color-l-green-300); + --background-modifier-error: var(--color-l-red-300); + --background-modifier-error-hover: var(--color-l-red-500); + --background-modifier-cover: var(--color-l-shadow-cover); + --text-normal: var(--color-l-black); + --text-muted: var(--color-l-gray-60); + --text-faint: var(--color-l-gray-50); + --text-accent: var(--color-l-yellow-900); + --text-accent-hover:var(--color-l-yellow-500); + --text-error: var(--color-l-red); + --text-error-hover: var(--color-l-red-900); + --text-highlight-bg: var(--color-l-highlight-yellow); + --text-highlight-bg-active: var(--color-l-highlight-yellow); + --highlight-mix-blend-mode: darken; + --text-selection: var(--color-l-gray-40); + --text-on-accent: var(--color-l-gray-10); + --interactive-hover: var(--color-l-gray-10); + --interactive-accent: var(--color-l-gray-60); + --interactive-accent-rgb: 207, 182, 150; + --interactive-accent-hover: var(--color-l-gray-70); + --interactive-success: var(--color-l-green-500); + --scrollbar-bg: transparent; + --scrollbar-thumb-bg: var(--background-modifier-border); + --scrollbar-active-thumb-bg: var(--interactive-accent); + /*──────────The PRIMARY Color Palette for Light Theme──────────*/ + --color-l-whiter: hsl(36, 36%, 96.9%); + --color-l-white: hsl(35, 36%, 95%); + --color-l-gray: var(--color-l-gray-50); + --color-l-gray-10: hsl(36, 37%, 92%); + --color-l-gray-20: hsl(35, 35%, 90%); + --color-l-gray-30: hsl(34, 36%, 88%); + --color-l-gray-40: hsl(36, 37%, 83%); + --color-l-gray-50: hsl(34, 37%, 70%); + --color-l-gray-60: hsl(34, 28%, 60%); + --color-l-gray-70: hsl(31, 23%, 50%); + --color-l-gray-80: hsl(34, 27%, 40%); + --color-l-gray-90: hsl(34, 30%, 37%); + --color-l-gray-100: hsl(35, 32%, 30%); + --color-l-black: hsl(31, 45%, 20%); + --color-l-blacker: hsl(32, 55%, 12%); + --color-l-shadow-10: rgba(168, 160, 148, 0.8); + --color-l-shadow-50: rgba(180, 172, 161, 0.3); + --color-l-shadow-100: rgba(75, 70, 64, 0.2); + --color-l-shadow-cover: rgba(177, 171, 164, 0.5); + --color-l-yellow: var(--color-l-yellow-500); + --color-l-yellow-300: hsl(43, 71%, 67%); + --color-l-yellow-500: hsl(43, 78%, 52%); + --color-l-yellow-700: hsl(43, 100%, 42%); + --color-l-yellow-900: hsl(43, 89%, 38%); + --color-l-red: var(--color-l-red-500); + --color-l-red-300: hsl(4, 54%, 61%); + --color-l-red-500: hsl(4, 72%, 55%); + --color-l-red-700: hsl(4, 56%, 48%); + --color-l-red-900: hsl(4, 66%, 30%); + --color-l-blue: var(--color-l-blue-500); + --color-l-blue-300: hsl(198, 39%, 56%); + --color-l-blue-500: hsl(205, 66%, 46%); + --color-l-blue-700: hsl(205, 63%, 39%); + --color-l-blue-900: hsl(205, 95%, 25%); + --color-l-orange: var(--color-l-orange-500); + --color-l-orange-300: hsl(26, 66%, 57%); + --color-l-orange-500: hsl(21, 82%, 55%); + --color-l-orange-700: hsl(18, 69%, 50%); + --color-l-orange-900: hsl(24, 96%, 35%); + --color-l-orange-a: hsl(27, 81%, 46%); + --color-l-green: var(--color-l-green-500); + --color-l-green-300: hsl(154, 58%, 65%); + --color-l-green-500: hsl(154, 47%, 49%); + --color-l-green-700: hsl(155, 52%, 38%); + --color-l-green-900: hsl(165, 63%, 29%); + --color-l-violet: var(--color-l-violet-500); + --color-l-violet-300: hsl(270, 50%, 74%); + --color-l-violet-500: hsl(266, 31%, 57%); + --color-l-violet-700: hsl(267, 37%, 43%); + --color-l-violet-900: hsl(266, 70%, 30%); + /*~ Highlights */ + --ui-color-highlight-text: var(--color-l-black); + --ui-color-highlight-bg: hsl(43, 85%, 79%); + --color-highlight-yellow: rgba(255, 187, 0, 0.2); + --color-highlight-red: rgba(240, 79, 106, 0.2); + --color-highlight-blue: rgba(40, 178, 194, 0.2); + --color-highlight-orange: rgba(255, 115, 0, 0.2); + --color-highlight-green: rgba(153, 189, 36, 0.2); + --color-highlight-violet: rgba(113, 122, 255, 0.2); + /*~ Graph View */ + --graph-color-node-resolved: var(--color-l-blue-500); + --graph-color-node-unresolved: var(--color-l-yellow-500); + --graph-color-node-unresolved-opacity: 1; + --graph-color-node-tag: var(--color-l-red-500); + --graph-color-node-attachment: var(--color-l-green-300); + --graph-color-node-focused: var(--color-l-gray-80); + --graph-color-node-border-hover: var(--color-l-gray-50); + --graph-color-node-arrow: var(--color-l-gray-60); + --graph-color-node-line: var(--color-l-gray-40); + --graph-color-node-line-hover: var(--color-l-gray-50); + --graph-color-node-text: var(--color-l-black); +} + +/*──────────────────────────────────── + Dark Theme +────────────────────────────────────*/ +.theme-dark { + /*─────────Original Obsidian Variables──────────*/ + --background-primary: var(--color-d-gray-70); + --background-primary-alt: var(--color-d-gray-90); + --background-secondary: var(--color-d-black); + --background-secondary-alt: var(--color-d-black); + --background-modifier-border: var(--color-d-gray-50); + --background-modifier-form-field: var(--color-d-blacker); + --background-modifier-form-field-highlighted: var(--color-d-black); + --background-modifier-box-shadow: var(--color-d-shadow-100); + --background-modifier-success: var(--color-d-green-300); + --background-modifier-error: var(--color-d-red-500); + --background-modifier-error-hover: var(--color-d-red-700); + --background-modifier-cover: var(--color-d-shadow-cover); + --text-normal: var(--color-d-white); + --text-muted: var(--color-d-gray-20); + --text-faint: var(--color-d-gray-30); + --text-accent: var(--color-d-yellow-500); + --text-accent-hover:var(--color-d-yellow-300) ; + --text-error: var(--color-d-red-500); + --text-error-hover: var(--color-d-red-300); + --text-highlight-bg: var(--color-d-highlight-yellow); + --text-highlight-bg-active: var(--color-d-highlight-yellow); + --highlight-mix-blend-mode: lighten; + --text-selection: var(--color-d-gray-50); + --text-on-accent: var(--color-d-white); + --interactive-hover: var(--color-d-gray-60); + --interactive-accent: var(--color-d-gray-40); + --interactive-accent-rgb: 92, 78, 61; + --interactive-accent-hover: var(--color-d-gray-50); + --interactive-success: var(--color-d-green-700); + --scrollbar-bg: transparent; + --scrollbar-thumb-bg: var(--background-modifier-border); + --scrollbar-active-thumb-bg: var(--interactive-accent); + /*──────────The PRIMARY Color Palette for Dark Theme──────────*/ + --color-d-whiter: hsl(33, 66%, 90%); + --color-d-white: hsl(34, 50%, 80%); + --color-d-gray: var(--color-d-gray-50); + --color-d-gray-10: hsl(34, 18%, 62%); + --color-d-gray-20: hsl(35, 27%, 55%); + --color-d-gray-30: hsl(34, 24%, 30%); + --color-d-gray-40: hsl(33, 22%, 30%); + --color-d-gray-50: hsl(33, 20%, 20%); + --color-d-gray-60: hsl(30, 19%, 17%); + --color-d-gray-70: hsl(27, 14%, 15%); + --color-d-gray-80: hsl(32, 19%, 13%); + --color-d-gray-90: hsl(30, 15%, 13%); + --color-d-gray-100: hsl(30, 20%, 8%); + --color-d-black: hsl(27, 15%, 12%); + --color-d-blacker: hsl(26, 16%, 9%); + --color-d-shadow-10: rgba(29, 21, 13, 0.45); + --color-d-shadow-50: rgba(29, 26, 22, 0.75); + --color-d-shadow-100: rgba(19, 16, 13, 0.95); + --color-d-shadow-cover: rgba(37, 34, 29, 0.74); + --color-d-yellow: var(--color-d-yellow-500); + --color-d-yellow-300: hsl(46, 91%, 69%); + --color-d-yellow-500: hsl(50, 100%, 46%); + --color-d-yellow-700: hsl(43, 100%, 42%); + --color-d-yellow-900: hsl(39, 92%, 33%); + --color-d-yellow-a: hsl(43, 75%, 52%); + --color-d-red: var(--color-d-red-500); + --color-d-red-300: hsl(4, 100%, 68%); + --color-d-red-500: hsl(4, 65%, 60%); + --color-d-red-700: hsl(4, 90%, 61%); + --color-d-red-900: hsl(4, 77%, 38%); + --color-d-red-a: hsl(4, 61%, 53%); + --color-d-blue: var(--color-d-blue-500); + --color-d-blue-300: hsl(198, 39%, 56%); + --color-d-blue-500: hsl(198, 62%, 57%); + --color-d-blue-700: hsl(198, 57%, 55%); + --color-d-blue-900: hsl(198, 75%, 35%); + --color-d-blue-a: hsl(197, 58%, 48%); + --color-d-orange: var(--color-d-orange-500); + --color-d-orange-300: hsl(22, 92%, 64%); + --color-d-orange-500: hsl(22, 92%, 57%); + --color-d-orange-700: hsl(21, 88%, 51%); + --color-d-orange-900: hsl(20, 80%, 41%); + --color-d-orange-a: hsl(27, 77%, 51%); + --color-d-green: var(--color-d-green-500); + --color-d-green-300: hsl(150, 66%, 53%); + --color-d-green-500: hsl(154, 52%, 46%); + --color-d-green-700: hsl(154, 61%, 39%); + --color-d-green-900: hsl(155, 81%, 24%); + --color-d-green-a: hsl(96, 50%, 49%); + --color-d-violet: var(--color-d-violet-500); + --color-d-violet-300: hsl(256, 63%, 74%); + --color-d-violet-500: hsl(263, 60%, 67%); + --color-d-violet-700: hsl(256, 52%, 57%); + --color-d-violet-900: hsl(256, 44%, 50%); + --color-d-violet-a: hsl(246, 53%, 67%); + /*~ Highlights */ + --ui-color-highlight-text: var(--color-d-black); + --ui-color-highlight-bg: hsl(43, 61%, 56%); + --color-highlight-yellow: rgba(255, 187, 0, 0.2); + --color-highlight-red: rgba(240, 79, 106, 0.2); + --color-highlight-blue: rgba(40, 178, 194, 0.2); + --color-highlight-orange: rgba(255, 115, 0, 0.2); + --color-highlight-green: rgba(153, 189, 36, 0.2); + --color-highlight-violet: rgba(113, 122, 255, 0.2); + /*~ Graph View */ + --graph-color-node-resolved: var(--color-d-blue-900); + --graph-color-node-unresolved: var(--color-d-yellow-700); + --graph-color-node-unresolved-opacity: 1; + --graph-color-node-tag: var(--color-d-red-500); + --graph-color-node-attachment: var(--color-d-green-500); + --graph-color-node-focused: var(--color-d-white); + --graph-color-node-border-hover: var(--color-d-gray-10); + --graph-color-node-arrow: var(--color-d-gray-40); + --graph-color-node-line: var(--color-d-gray-50); + --graph-color-node-line-hover: var(--color-d-gray-40); + --graph-color-node-text: var(--color-d-gray-10); +} + +/*──────────────────────────────────── +++++++++++++Workspace++++++++++++++++ +────────────────────────────────────*/ +/*──────────────────────────────────── + Title Bar +────────────────────────────────────*/ +.titlebar-button-container.mod-left, +.titlebar-text, +.titlebar-button-container.mod-right, +.titlebar-left { + margin-top: var(--scale-0-0); +} + +/*─────────Titlebar for Light Theme──────────*/ +.theme-light .titlebar { + background: var(--color-l-white); + border-bottom: none; +} +.theme-light .titlebar-text { + color: var(--color-l-gray-50); + margin-top: 1px; +} +.theme-light .titlebar-button { + color: var(--color-l-gray-50); + display: inline-block; + -webkit-app-region: no-drag; +} +.theme-light .titlebar-button.mod-back:hover, .theme-light .titlebar-button.mod-forward:hover { + color: var(--color-l-gray-80); + background: var(--color-l-gray-40); +} +.theme-light .titlebar-button.mod-back:active, .theme-light .titlebar-button.mod-forward:active { + color: var(--color-l-gray-50); + background: var(--color-l-gray-20); +} +.theme-light .titlebar-button.mod-minimize:hover { + color: var(--color-l-whiter); + background: var(--color-l-blue-500); +} +.theme-light .titlebar-button.mod-maximize:hover { + color: var(--color-l-whiter); + background: var(--color-l-yellow-500); +} +.theme-light .titlebar-button.mod-close:hover { + color: var(--color-l-whiter); + background: var(--color-l-red-500); +} + +/*─────────Titlebar for Dark Theme──────────*/ +.theme-dark .titlebar { + background: var(--color-d-gray-70); + border-bottom: none; +} +.theme-dark .titlebar-text { + color: var(--color-d-gray-20); + margin-top: 1px; +} +.theme-dark .titlebar-button { + color: var(--color-d-gray-20); + display: inline-block; + -webkit-app-region: no-drag; +} +.theme-dark .titlebar-button.mod-back:hover, .theme-dark .titlebar-button.mod-forward:hover { + color: var(--color-d-gray-10); + background: var(--color-d-gray-50); +} +.theme-dark .titlebar-button.mod-back:active, .theme-dark .titlebar-button.mod-forward:active { + color: var(--color-d-gray-40); + background: var(--color-d-gray-80); +} +.theme-dark .titlebar-button.mod-minimize:hover { + color: var(--color-d-whiter); + background: var(--color-d-blue-700); +} +.theme-dark .titlebar-button.mod-maximize:hover { + color: var(--color-d-whiter); + background: var(--color-d-yellow-700); +} +.theme-dark .titlebar-button.mod-close:hover { + color: var(--color-d-whiter); + background: var(--color-d-red-700); +} + +/*──────────────────────────────────── + Side Dock Ribbon +────────────────────────────────────*/ +.side-dock-ribbon { + flex: 0 0 var(--scale-2-18); + display: flex; + flex-direction: column; +} + +.workspace-ribbon { + overflow: hidden; + width: var(--scale-8-5); + transition: var(--duration-fast-1) var(--motion-smooth); +} +.workspace-ribbon.is-collapsed, .workspace-ribbon.is-collapsed.side-dock-ribbon-action { + transition: var(--duration-fast-1) var(--motion-smooth); +} +.workspace-ribbon.mod-left.is-collapsed { + border-right: 1px solid transparent; +} +.workspace-ribbon.mod-right.is-collapsed { + border-left: 1px solid transparent; +} + +.side-dock-ribbon.is-collapsed .mod-left-split, +.side-dock-ribbon.is-collapsed .mod-right-split { + opacity: 0; +} + +/* Side Dock Ribbon Icons Sizing */ +.side-dock-ribbon-action { + display: flex; + align-items: center; + justify-content: center; + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-2-6) var(--scale-0-0); +} + +.workspace-ribbon.side-dock-ribbon .workspace-ribbon-collapse-btn { + margin-top: var(--scale-0-0); + padding: var(--scale-2-4) var(--scale-2-5); +} +.workspace-ribbon.side-dock-ribbon .side-dock-settings { + margin-bottom: var(--scale-0-0); +} + +/*─────────Side Dock Ribbon for Light Theme──────────*/ +.theme-light .workspace-ribbon { + background: var(--color-l-gray-20); + border-left: 1px solid var(--color-l-gray-40); + border-right: 1px solid var(--color-l-gray-40); +} +.theme-light .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+1):hover { + color: var(--color-l-yellow-500); +} +.theme-light .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+1):active { + color: var(--color-l-yellow-300); +} +.theme-light .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+2):hover { + color: var(--color-l-red-500); +} +.theme-light .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+2):active { + color: var(--color-l-red-300); +} +.theme-light .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+3):hover { + color: var(--color-l-blue-500); +} +.theme-light .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+3):active { + color: var(--color-l-blue-300); +} +.theme-light .workspace-ribbon.is-collapsed { + background: var(--color-l-white); +} +.theme-light .workspace-ribbon.is-collapsed .side-dock-ribbon-action { + color: var(--color-l-gray-50); +} + +/*─────────Side Dock Ribbon for Dark Theme──────────*/ +.theme-dark .workspace-ribbon { + background: var(--color-d-black); + border-left: 1px solid var(--color-d-gray-50); + border-right: 1px solid var(--color-d-gray-50); +} +.theme-dark .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+1):hover { + color: var(--color-d-yellow-700); +} +.theme-dark .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+1):active { + color: var(--color-d-yellow-900); +} +.theme-dark .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+2):hover { + color: var(--color-d-red-700); +} +.theme-dark .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+2):active { + color: var(--color-d-red-900); +} +.theme-dark .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+3):hover { + color: var(--color-d-blue-700); +} +.theme-dark .workspace-ribbon .side-dock-ribbon-action:nth-child(3n+3):active { + color: var(--color-d-blue-900); +} +.theme-dark .workspace-ribbon.is-collapsed { + background: var(--color-d-gray-70); +} +.theme-dark .workspace-ribbon.is-collapsed .side-dock-ribbon-action { + color: var(--color-d-gray-40); +} + +/*──────────────────────────────────── + Tab Header +────────────────────────────────────*/ +/*─────────Tab Header Container──────────*/ +.workspace-split.mod-left-split .workspace-tab-header-container { + display: flex; + flex-direction: row; + justify-content: flex-start; +} +.workspace-split.mod-right-split .workspace-tab-header-container { + display: flex; + flex-direction: row; + justify-content: flex-end; +} + +.workspace-tabs { + padding-right: 0; +} + +/*─────────Tab Header Icons──────────*/ +.workspace-tab-header-container { + height: unset; + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + margin: var(--scale-2-6) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); +} + +.workspace-tab-header { + /* + Applied for All + Tab Header Icon Container + */ + height: var(--scale-2-18); + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); + margin: var(--scale-0-0) var(--scale-2-2) var(--scale-2-2) var(--scale-2-2); + border-radius: var(--scale-2-4); + transition: var(--duration-superfast) var(--motion-smooth); +} + +.workspace-tab-header-inner { + background: transparent !important; +} +.workspace-tab-header-inner, .workspace-tab-header-inner-icon { + padding: var(--scale-0-0); +} +.workspace-tab-header.is-active { + border-radius: var(--scale-2-4); +} +.workspace-tab-container-before.is-before-active, .workspace-tab-container-after.is-after-active, .workspace-tab-header.is-before-active, .workspace-tab-header.is-after-active { + background: transparent; +} + +.workspace-tab-container-before, .workspace-tab-container-after { + margin: calc(-1 * var(--scale-2-3)); +} + +/*─────────Tab Header Icon Sizing──────────*/ +body .workspace-tab-header .workspace-tab-header-inner-icon svg { + height: var(--scale-8-2); + width: var(--scale-8-2); + display: flex; + align-items: center; + justify-content: center; +} + +/*─────────Tab Header for Light Mode──────────*/ +.theme-light .workspace-tab-header.is-active { + background: var(--color-l-white); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.15) inset; +} +.theme-light .workspace-tab-header:not(.workspace-tab-header.is-active) { + border: 1px solid var(--color-l-gray-50); +} +.theme-light .workspace-tab-header:not(.workspace-tab-header.is-active):hover { + border: 1px solid var(--color-l-gray-60); + transform: translateY(-2px); + box-shadow: 0px 3px 3px -1px rgba(100, 100, 100, 0.15); + cursor: pointer; +} +.theme-light .workspace-tab-header:not(.workspace-tab-header.is-active):hover .workspace-tab-header-inner-icon { + color: var(--color-l-gray-60); +} +.theme-light .workspace-tab-header:not(.workspace-tab-header.is-active):active { + transform: translateY(2px); + box-shadow: 0px 0px 0px 2px rgba(150, 150, 150, 0.15) inset; +} +.theme-light .mod-left-split .workspace-tab-header.is-active:nth-child(3n+1) { + color: var(--color-l-yellow-500); + border: 1px solid var(--color-l-yellow-500); +} +.theme-light .mod-left-split .workspace-tab-header.is-active:nth-child(3n+2) { + color: var(--color-l-red-500); + border: 1px solid var(--color-l-red-500); +} +.theme-light .mod-left-split .workspace-tab-header.is-active:nth-child(3n+3) { + color: var(--color-l-blue-500); + border: 1px solid var(--color-l-blue-500); +} +.theme-light .mod-right-split .workspace-tab-header.is-active:nth-last-child(3n+1) { + color: var(--color-l-yellow-500); + border: 1px solid var(--color-l-yellow-500); +} +.theme-light .mod-right-split .workspace-tab-header.is-active:nth-last-child(3n+2) { + color: var(--color-l-red-500); + border: 1px solid var(--color-l-red-500); +} +.theme-light .mod-right-split .workspace-tab-header.is-active:nth-last-child(3n+3) { + color: var(--color-l-blue-500); + border: 1px solid var(--color-l-blue-500); +} + +/*─────────Tab Header for Dark Mode──────────*/ +.theme-dark .workspace-tab-header { + transition: var(--duration-superfast) var(--motion-smooth) !important; +} +.theme-dark .workspace-tab-header.is-active { + background: var(--color-d-gray-70); + box-shadow: 0px -3px 0px 0px rgba(0, 0, 0, 0.25) inset; +} +.theme-dark .workspace-tab-header:not(.workspace-tab-header.is-active) { + border: 1px solid var(--color-d-gray-50); +} +.theme-dark .workspace-tab-header:not(.workspace-tab-header.is-active):hover { + border: 1px solid var(--color-d-gray-30); + transform: translateY(-1.5px); + box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.25); + cursor: pointer; +} +.theme-dark .workspace-tab-header:not(.workspace-tab-header.is-active):hover .workspace-tab-header-inner-icon { + color: var(--color-d-gray-30); +} +.theme-dark .workspace-tab-header:not(.workspace-tab-header.is-active):active { + transform: translateY(1.5px); + box-shadow: 0px 0px 0px 2.5px rgba(0, 0, 0, 0.2) inset; +} +.theme-dark .mod-left-split .workspace-tab-header.is-active:nth-child(3n+1) { + color: var(--color-d-yellow-700); + border: 1px solid var(--color-d-yellow-700); +} +.theme-dark .mod-left-split .workspace-tab-header.is-active:nth-child(3n+2) { + color: var(--color-d-red-700); + border: 1px solid var(--color-d-red-700); +} +.theme-dark .mod-left-split .workspace-tab-header.is-active:nth-child(3n+3) { + color: var(--color-d-blue-700); + border: 1px solid var(--color-d-blue-700); +} +.theme-dark .mod-right-split .workspace-tab-header.is-active:nth-last-child(3n+1) { + color: var(--color-d-yellow-700); + border: 1px solid var(--color-d-yellow-700); +} +.theme-dark .mod-right-split .workspace-tab-header.is-active:nth-last-child(3n+2) { + color: var(--color-d-red-700); + border: 1px solid var(--color-d-red-700); +} +.theme-dark .mod-right-split .workspace-tab-header.is-active:nth-last-child(3n+3) { + color: var(--color-d-blue-700); + border: 1px solid var(--color-d-blue-700); +} + +/*──────────────────────────────────── + Nav Header +────────────────────────────────────*/ +/*─────────Nav Header Container──────────*/ +.workspace-split.mod-left-split .nav-header, +.workspace-split.mod-right-split .nav-header { + padding: var(--scale-2-1) var(--scale-2-2) var(--scale-2-1) var(--scale-2-2); + margin: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); +} +.workspace-split.mod-left-split .nav-header .nav-buttons-container, +.workspace-split.mod-right-split .nav-header .nav-buttons-container { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; + vertical-align: middle; +} + +/*─────────Nav Header Buttons──────────*/ +.nav-action-button { + background: none; + height: var(--scale-8-4); + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); + margin: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + border-radius: var(--scale-2-3); + opacity: 1; + display: flex; + align-items: center; +} +.theme-light .nav-action-button { + color: var(--color-l-gray-60); +} +.theme-light .nav-action-button.is-active { + color: var(--color-l-black); + background-color: transparent; +} +.theme-light .nav-action-button.is-active:hover { + color: var(--color-l-gray-80); +} +.theme-light .nav-action-button.is-active:active { + color: var(--color-l-gray-50); +} +.theme-light .nav-action-button:not(.nav-action-button.is-active):hover { + color: var(--color-l-gray-80); + background-color: transparent; +} +.theme-light .nav-action-button:not(.nav-action-button.is-active):active { + color: var(--color-l-gray-50); +} +.theme-dark .nav-action-button { + color: var(--color-d-gray-40); +} +.theme-dark .nav-action-button.is-active { + color: var(--color-d-gray-20); + background-color: transparent; +} +.theme-dark .nav-action-button.is-active:hover { + color: var(--color-d-white); +} +.theme-dark .nav-action-button.is-active:active { + color: var(--color-d-gray-50); +} +.theme-dark .nav-action-button:not(.nav-action-button.is-active):hover { + color: var(--color-d-gray-20); + background-color: transparent; +} +.theme-dark .nav-action-button:not(.nav-action-button.is-active):active { + color: var(--color-d-gray-50); +} + +/*──────────────────────────────────── + Tab Content +────────────────────────────────────*/ +.workspace-tabs .workspace-leaf.mod-active, +.workspace-tabs .workspace-leaf.mod-active:active { + border-color: transparent; +} + +.workspace-split.mod-right-split .workspace-tabs:last-child { + padding-bottom: calc(-4px + var(--scale-8-3)); +} + +/*─────────View Content──────────*/ +.workspace-leaf-content .view-content { + padding: var(--scale-8-2) var(--scale-8-2); +} + +.workspace-split.mod-left-split .view-content, +.workspace-split.mod-right-split .view-content { + height: 100%; + overflow: auto; + padding: var(--scale-2-3) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); +} + +.workspace-leaf-content[data-type=backlink] .view-content, .workspace-leaf-content[data-type=outgoing-link] .view-content { + padding: var(--scale-2-3) var(--scale-0-0) var(--scale-2-4) var(--scale-0-0); +} +.workspace-leaf-content[data-type=starred] { + padding: var(--scale-0-0) var(--scale-2-4) var(--scale-0-0) var(--scale-2-4); +} + +.pane-empty { + color: var(--text-faint); + font-style: italic; + margin: auto auto; + width: 17ch; +} + +/*─────────Node Insert Event──────────*/ +.workspace-split.mod-left-split .node-insert-event, +.workspace-split.mod-right-split .node-insert-event { + padding: var(--scale-0-0) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); +} +.workspace-split.mod-left-split .nav-files-container, +.workspace-split.mod-right-split .nav-files-container { + padding: var(--scale-0-0) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); +} + +/*─────────Tags Tab──────────*/ +.tag-container { + font-size: var(--font-scale-0-5); + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); + overflow: auto; +} + +/*─────────Search Results──────────*/ +.search-result-container:not(.mod-global-search) { + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + border-left: 1px solid var(--background-modifier-border); + margin: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-2-8); +} +.search-result.search-result { + margin-bottom: 0; +} +.search-results-children { + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); +} +[data-type=search] .search-result .search-result-file-matches { + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + border-left: 1px solid var(--background-modifier-border); + margin: var(--scale-0-0) var(--scale-2-2) var(--scale-0-0) var(--scale-2-8); +} +.search-result-file-match { + width: 100%; + padding: var(--scale-2-2) var(--scale-2-10) var(--scale-2-2) var(--scale-2-4); + border-radius: var(--scale-2-2); + margin: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + transition: var(--duration-superfast) var(--motion-smooth); +} +.search-result-file-match:last-child { + margin-bottom: var(--scale-2-2); +} +.theme-light .search-result-file-match:hover { + color: var(--color-l-gray-80); + background: var(--color-l-gray-10); +} +.theme-light .search-result-file-match:active { + color: var(--text-faint); + background: var(--color-l-gray-40); +} +.theme-dark .search-result-file-match:hover { + color: var(--color-d-gray-20); + background: var(--color-d-gray-60); +} +.theme-dark .search-result-file-match:active { + color: var(--color-d-gray-40); + background: var(--color-d-gray-60); +} +.search-result-file-matched-text { + padding-left: 1px; + padding-right: 1px; + border-radius: calc(1px + var(--scale-2-1)); +} +.theme-light .search-result-file-matched-text, .theme-dark .search-result-file-matched-text { + color: var(--ui-color-highlight-text); + font-weight: var(--font-bold); + background: var(--ui-color-highlight-bg); +} +.backlink-pane .search-result .search-result-file-title { + margin: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-2-2); +} + +.search-input-container .search-input-clear-button { + top: 9px; +} + +/*─────────Tree Items for Tabs──────────*/ +.tree-item-self { + line-height: var(--line-height-0-5); + padding: calc(1px + var(--scale-2-2)) var(--scale-2-2) calc(1px + var(--scale-2-2)) var(--scale-2-6); + border-radius: var(--scale-2-2); + transition: var(--duration-superfast) var(--motion-smooth); +} +.tree-item-self.is-clickable .tree-item-flair { + font-family: var(--font-monospace-theme); + font-size: var(--font-scale-0); +} +.tree-item-self .tree-item-icon { + align-self: initial; + padding-left: var(--scale-0-0); + margin-left: calc(-1 * var(--scale-2-2)); +} + +.tree-item-children:not(.graph-control-section .tree-item-children) { + margin-left: var(--scale-2-8); + border-left: 1px solid var(--background-modifier-border); +} +.tree-item-children:not(.graph-control-section .tree-item-children) .tree-item { + margin-left: var(--scale-2-2); +} + +/*~ Tree Items for Tabs for Light Mode ~*/ +.theme-light .tree-item-self { + color: var(--color-l-gray-80); + background: transparent; +} +.theme-light .tree-item-self.is-clickable:hover { + color: var(--color-l-gray-80); + background: var(--color-l-gray-10); +} +.theme-light .tree-item-self.is-clickable:hover .tree-item-flair { + color: var(--color-gray-50); + background: var(--color-l-whiter); +} +.theme-light .tree-item-self.is-clickable .tree-item-flair { + color: var(--color-l-gray-80); + background: var(--color-l-gray-40); +} +.theme-light .tree-item-self.is-clickable:active { + color: var(--color-l-gray-50); + background: var(--color-l-gray-40); +} +.theme-light .tree-item-self.is-clickable:active .tree-item-flair { + color: var(--color-l-gray-60); + background: var(--color-l-gray-30); +} + +/*~ Tree Items for Tabs for Dark Mode ~*/ +.theme-dark .tree-item-self { + color: var(--color-d-gray-20); + background: transparent; +} +.theme-dark .tree-item-self.is-clickable:hover { + color: var(--color-d-gray-20); + background: var(--color-d-gray-60); +} +.theme-dark .tree-item-self.is-clickable:hover .tree-item-flair { + color: var(--color-d-white); + background: var(--color-d-gray-40); +} +.theme-dark .tree-item-self.is-clickable .tree-item-flair { + color: var(--color-d-gray-20); + background: var(--color-d-gray-60); +} +.theme-dark .tree-item-self.is-clickable:active { + color: var(--color-d-gray-40); + background: var(--color-d-blacker); +} +.theme-dark .tree-item-self.is-clickable:active .tree-item-flair { + color: var(--color-d-gray-40); + background: var(--color-d-gray-80); +} + +/* Tree Item Self Light and Dark Mode for Backlink and Outgoing Pane */ +body.theme-light .backlink-pane .tree-item-self, +body.theme-light .outgoing-link-pane .tree-item-self, +body.theme-dark .backlink-pane .tree-item-self, +body.theme-dark .outgoing-link-pane .tree-item-self { + color: var(--md-color-text-muted); + background: transparent; +} +body.theme-light .backlink-pane .tree-item-self.is-clickable:hover, +body.theme-light .outgoing-link-pane .tree-item-self.is-clickable:hover, +body.theme-dark .backlink-pane .tree-item-self.is-clickable:hover, +body.theme-dark .outgoing-link-pane .tree-item-self.is-clickable:hover { + color: var(--md-color-text-normal); + background: transparent; +} +body.theme-light .backlink-pane .tree-item-self.is-clickable:hover .tree-item-flair, +body.theme-light .outgoing-link-pane .tree-item-self.is-clickable:hover .tree-item-flair, +body.theme-dark .backlink-pane .tree-item-self.is-clickable:hover .tree-item-flair, +body.theme-dark .outgoing-link-pane .tree-item-self.is-clickable:hover .tree-item-flair { + color: var(--md-color-text-normal); + background: transparent; +} +body.theme-light .backlink-pane .tree-item-self.is-clickable .tree-item-flair, +body.theme-light .outgoing-link-pane .tree-item-self.is-clickable .tree-item-flair, +body.theme-dark .backlink-pane .tree-item-self.is-clickable .tree-item-flair, +body.theme-dark .outgoing-link-pane .tree-item-self.is-clickable .tree-item-flair { + color: var(--md-color-text-muted); + background: transparent; +} +body.theme-light .backlink-pane .tree-item-self.is-clickable:active, +body.theme-light .outgoing-link-pane .tree-item-self.is-clickable:active, +body.theme-dark .backlink-pane .tree-item-self.is-clickable:active, +body.theme-dark .outgoing-link-pane .tree-item-self.is-clickable:active { + color: var(--md-color-text-faint); + background: transparent; +} +body.theme-light .backlink-pane .tree-item-self.is-clickable:active .tree-item-flair, +body.theme-light .outgoing-link-pane .tree-item-self.is-clickable:active .tree-item-flair, +body.theme-dark .backlink-pane .tree-item-self.is-clickable:active .tree-item-flair, +body.theme-dark .outgoing-link-pane .tree-item-self.is-clickable:active .tree-item-flair { + color: var(--md-color-text-faint); + background: transparent; +} + +/*──────────────────────────────────── + File Explorer +────────────────────────────────────*/ +/*─────────Vault Title──────────*/ +.nav-folder.mod-root > .nav-folder-title[data-path="/"] { + color: var(--text-muted); + font-size: var(--font-scale-0-5); + background: var(--background-secondary); + top: 0; + width: 100%; + position: sticky; + justify-content: center; + border: 1px solid var(--background-modifier-border); + margin-bottom: var(--scale-2-2); + z-index: 2; +} +.nav-folder.mod-root > .nav-folder-title[data-path="/"]:hover { + color: var(--text-muted); + background: var(--background-secondary); +} + +.nav-folder-title, .nav-file-title { + font-size: var(--font-scale-0-5); + line-height: var(--line-height-0-5); + width: 100%; + padding: calc(1px + var(--scale-2-1)) var(--scale-2-2) calc(1px + var(--scale-2-1)) var(--scale-2-4); + border-radius: var(--scale-2-2); + transition: var(--duration-superfast) var(--motion-smooth); +} +.nav-folder-title-content { + display: flex; + align-items: center; + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-2-2); +} +.nav-file-title-content { + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-2-2); +} +.nav-folder-title, .nav-file-title-content { + text-overflow: unset; + white-space: normal; +} +.nav-folder-collapse-indicator { + align-items: flex-start; +} +.nav-folder-collapse-indicator.collapse-icon { + margin-top: var(--scale-2-1); + margin-left: var(--scale-0-0); +} +.nav-file-tag { + align-self: start; + line-height: 2; +} + +.workspace-leaf.mod-active .nav-folder.has-focus > .nav-folder-title, +.workspace-leaf.mod-active .nav-file.has-focus { + border-color: transparent; + background-color: none; +} + +body:not(.is-grabbing) .nav-folder-title:hover .nav-folder-collapse-indicator { + color: unset; +} + +/* File Explorer for Light Mode */ +.theme-light .nav-folder-title:not([data-path="/"]), .theme-light .nav-file-title { + color: var(--color-l-gray-80); + background: transparent; +} +.theme-light .nav-folder-title:not([data-path="/"]):hover, .theme-light .nav-file-title:hover { + color: var(--color-l-gray-80) !important; + background: var(--color-l-gray-10) !important; +} +.theme-light .nav-folder-title:not([data-path="/"]):active, .theme-light .nav-file-title:active { + color: var(--color-l-gray-50) !important; + background: var(--color-l-gray-40) !important; +} +.theme-light .nav-file-title.is-active { + background: var(--color-l-gray-10); + border: 1px solid rgba(100, 100, 100, 0.3); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.1) inset, 0px 2px 4px 0px rgba(100, 100, 100, 0.1); +} +.theme-light .nav-file-tag { + background: var(--color-l-gray-10); +} +.theme-light .nav-folder-children .nav-folder-children { + padding-left: var(--scale-2-2); + margin-left: var(--scale-2-8); + border-left: 1px solid var(--background-modifier-border); +} + +/* File Explorer for Dark Mode */ +.theme-dark .nav-folder-title:not([data-path="/"]), .theme-dark .nav-file-title { + color: var(--color-d-gray-20); + background: transparent; +} +.theme-dark .nav-folder-title:not([data-path="/"]):hover, .theme-dark .nav-file-title:hover { + color: var(--color-d-gray-20) !important; + background: var(--color-d-gray-60) !important; +} +.theme-dark .nav-folder-title:not([data-path="/"]):active, .theme-dark .nav-file-title:active { + color: var(--color-d-gray-40) !important; + background: var(--color-d-blacker) !important; +} +.theme-dark .nav-file-title.is-active { + background: var(--color-d-gray-70); + border: 1px solid rgba(0, 0, 0, 0.45); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.2) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} +.theme-dark .nav-file-tag { + background: var(--color-d-gray-50); +} +.theme-dark .nav-folder-children .nav-folder-children { + padding-left: var(--scale-2-2); + border-left: 1px solid var(--background-modifier-border); + margin-left: var(--scale-2-8); +} + +/*──────────────────────────────────── + Status Bar +────────────────────────────────────*/ +.status-bar { + font-size: var(--font-scale-0-5); + max-height: unset; + display: flex; + justify-content: flex-end; + align-items: center; + position: absolute; + margin: auto; + right: 0; + bottom: 0; + padding: var(--scale-2-1) var(--scale-2-3) var(--scale-2-1) var(--scale-2-3); + border-top-left-radius: var(--scale-2-4); +} +.status-bar-item { + padding: var(--scale-0-0) var(--scale-2-3) var(--scale-0-0) var(--scale-2-3); + display: flex; + align-items: center; +} +.status-bar-item-icon { + line-height: 1; +} + +/*─────────Status Bar for Light Mode──────────*/ +.theme-light .status-bar { + color: var(--color-l-gray-50); + background-color: var(--color-l-gray-10); + border: 1px solid var(--color-l-gray-40); + border-bottom: none; +} +.theme-light .status-bar-item { + color: var(--color-l-gray-60); +} +.theme-light .status-bar-item:hover { + color: var(--color-l-gray-90); +} +.theme-light .status-bar .sync-status-icon .mod-working svg { + color: var(--color-l-red-300); + height: var(--scale-8-2); + width: var(--scale-8-2); +} +.theme-light .status-bar .sync-status-icon .mod-success svg { + color: var(--color-l-gray-60); + height: var(--scale-8-2); + width: var(--scale-8-2); +} +.theme-light .status-bar .sync-status-icon .mod-success:hover svg { + color: var(--color-l-green-500); +} + +/*─────────Status Bar for Dark Mode──────────*/ +.theme-dark .status-bar { + color: var(--color-d-gray-30); + background-color: var(--color-d-gray-80); + border: 1px solid var(--color-d-gray-50); + border-bottom: none; +} +.theme-dark .status-bar-item { + color: var(--color-d-gray-30); +} +.theme-dark .status-bar-item:hover { + color: var(--color-d-gray-10); +} +.theme-dark .status-bar .sync-status-icon .mod-working svg { + color: var(--color-d-red-900); + height: var(--scale-8-2); + width: var(--scale-8-2); + vertical-align: -3px; +} +.theme-dark .status-bar .sync-status-icon .mod-success svg { + color: var(--color-d-gray-30); + height: var(--scale-8-2); + width: var(--scale-8-2); + vertical-align: -3px; +} +.theme-dark .status-bar .sync-status-icon .mod-success:hover svg { + color: var(--color-d-green-500); +} + +/*──────────────────────────────────── +++++++++++++++++++++++++++++++++++++++ +Content / Active Note / Opened Notes +++++++++++++++++++++++++++++++++++++++ +──────────────────────────────────────*/ +/* Curved Top Corners in Active Note Pane Fix */ +.workspace-split.mod-root > .workspace-leaf:first-of-type .workspace-leaf-content, .workspace-split.mod-root > .workspace-leaf:last-of-type .workspace-leaf-content { + border-radius: 0 !important; +} + +/* Active Note Panel -> is Highlighted (Unlink Pane) */ +.workspace-leaf.is-highlighted::before { + background: var(--text-highlight-bg); + opacity: 0.5; +} + +/*──────────────────────────────────── + Note Header +────────────────────────────────────*/ +.workspace-leaf.mod-active .view-header, .workspace-split.mod-root > .workspace-leaf:first-of-type:last-of-type .view-header { + height: var(--scale-2-18); +} +.workspace-leaf .view-header .view-header-title-container:after { + display: none; +} +.view-header-icon, .view-header-title-container, .view-header .view-actions { + display: flex; + align-items: center; +} +.view-header .view-action { + font-size: 0; + top: unset; + display: flex; +} +.view-header-title { + overflow: unset; + text-overflow: ellipsis; +} +.view-header-icon { + top: unset; +} + +/* Some Fixes on Tiny Padding Issues */ +.workspace-split.mod-vertical.mod-root .workspace-leaf { + padding-right: 0; +} + +/*─────────Note Header for Light Mode─────────*/ +/* don't remove !important */ +.theme-light { + /* Non-active Notes Colors */ + /* Non-active Notes "Drag to Rearrange Icon on Hover */ +} +.theme-light .view-header, .theme-light .workspace-leaf.mod-active .view-header, .theme-light .worksapce-split.mod-root > .theme-light .workspace-leaf:first-of-type:last-of-type .view-header { + border-top: none; + border-left: none !important; + border-right: none; + border-bottom: 1px solid var(--color-l-gray-40) !important; + background: var(--color-l-white) !important; +} +.theme-light .view-header .view-header-title { + color: var(--color-l-gray-50); +} +.theme-light .workspace-leaf:not(.workspace-leaf.mod-active) .view-header-title { + color: var(--color-l-gray-50); +} +.theme-light .workspace-leaf:not(.workspace-leaf.mod-active) .view-header .view-header-icon, .theme-light .workspace-leaf:not(.workspace-leaf.mod-active) .view-header .view-action { + color: var(--color-l-gray-50); +} +.theme-light .workspace-leaf:not(.workspace-leaf.mod-active) .view-header .view-header-icon:hover { + color: var(--color-l-gray-80); +} +.theme-light .workspace-leaf.mod-active .view-header-title, .theme-light .workspace-leaf.mod-active .view-action { + color: var(--color-l-gray-80); +} +.theme-light .workspace-leaf .view-header .view-action:nth-child(3n+1):hover { + color: var(--color-l-yellow-500); +} +.theme-light .workspace-leaf .view-header .view-action:nth-child(3n+1):active { + color: var(--color-l-yellow-300); +} +.theme-light .workspace-leaf .view-header .view-action:nth-child(3n+2):hover { + color: var(--color-l-red-500); +} +.theme-light .workspace-leaf .view-header .view-action:nth-child(3n+2):active { + color: var(--color-l-red-300); +} +.theme-light .workspace-leaf .view-header .view-action:nth-child(3n+3):hover { + color: var(--color-l-blue-500); +} +.theme-light .workspace-leaf .view-header .view-action:nth-child(3n+3):active { + color: var(--color-l-blue-300); +} + +/*─────────Note Header for Dark Mode─────────*/ +.theme-dark { + /* Non-active Notes Colors */ + /* Non-active Notes "Drag to Rearrange Icon on Hover */ +} +.theme-dark .view-header, .theme-dark .workspace-leaf.mod-active .view-header, .theme-dark .worksapce-split.mod-root > .theme-dark .workspace-leaf:first-of-type:last-of-type .view-header { + border-top: none; + border-left: none !important; + border-right: none; + border-bottom: 1px solid var(--color-d-gray-50) !important; + background: var(--color-d-gray-70) !important; +} +.theme-dark .view-header .view-header-title { + color: var(--color-d-gray-20); +} +.theme-dark .workspace-leaf:not(.workspace-leaf.mod-active) .view-header-title { + color: var(--color-d-gray-30); +} +.theme-dark .workspace-leaf:not(.workspace-leaf.mod-active) .view-header .view-header-icon, .theme-dark .workspace-leaf:not(.workspace-leaf.mod-active) .view-header .view-action { + color: var(--color-d-gray-30); +} +.theme-dark .workspace-leaf:not(.workspace-leaf.mod-active) .view-header .view-header-icon:hover { + color: var(--color-d-gray-20); +} +.theme-dark .workspace-leaf.mod-active .view-header-title, .theme-dark .workspace-leaf.mod-active .view-action { + color: var(--color-d-gray-20); +} +.theme-dark .workspace-leaf .view-header .view-action:nth-child(3n+1):hover { + color: var(--color-d-yellow-700); +} +.theme-dark .workspace-leaf .view-header .view-action:nth-child(3n+1):active { + color: var(--color-d-yellow-900); +} +.theme-dark .workspace-leaf .view-header .view-action:nth-child(3n+2):hover { + color: var(--color-d-red-700); +} +.theme-dark .workspace-leaf .view-header .view-action:nth-child(3n+2):active { + color: var(--color-d-red-900); +} +.theme-dark .workspace-leaf .view-header .view-action:nth-child(3n+3):hover { + color: var(--color-d-blue-700); +} +.theme-dark .workspace-leaf .view-header .view-action:nth-child(3n+3):active { + color: var(--color-d-blue-900); +} + +/*──────────────────────────────────── + Typography +────────────────────────────────────*/ +/*──────────Base & Reset──────────*/ +* { + font-optical-sizing: auto; +} + +body *, +.app-container * { + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + font-variant-ligatures: common-ligatures; + text-shadow: none; +} + +/* Editor */ +.CodeMirror pre.CodeMirror-line, +.markdown-source-view .cm-line, +.cm-s-obsidian .cm-line { + font-optical-sizing: auto; + font-family: var(--font-editor); + line-height: var(--line-height-1); + letter-spacing: var(--tracking-0); +} + +.markdown-source-view.mod-cm6 .cm-content.cm-content > [contenteditable=false] { + contain: unset !important; +} + +/* Preview */ +.markdown-preview-view { + font-optical-sizing: auto; + font-family: var(--font-preview); + line-height: var(--line-height-1); + letter-spacing: var(--tracking-0); + padding: var(--scale-8-3) 30px; +} + +/* Caret Cursor */ +.theme-light, .theme-dark { + --color-caret: var(--text-muted); +} +.theme-light .CodeMirror-cursor, .theme-light .cm-s-obsidian .cm-cursor, .theme-light .cm-s-obsidian .cm-cursor-primary, .theme-dark .CodeMirror-cursor, .theme-dark .cm-s-obsidian .cm-cursor, .theme-dark .cm-s-obsidian .cm-cursor-primary { + border-image: none; + border-color: var(--color-caret); + border-left-width: 2px; +} + +/*──────────Note Colors──────────*/ +.theme-light { + --md-color-text: var(--text-normal); + --md-color-text-muted: var(--text-muted); + --md-color-text-faint: var(--text-faint); + --md-color-bold: var(--color-l-red-500); + --md-color-italic: var(--color-l-blue-500); + --md-color-bolditalic: var(--color-l-blacker); + --md-color-strikethrough: var(--text-faint); + --md-color-highlight-text: var(--text-normal); + --md-color-highlight-bg: var(--color-highlight-yellow); + --md-color-bold-highlight-text: var(--text-normal); + --md-color-bold-highlight-bg: var(--color-highlight-red); + --md-color-italic-highlight-text: var(--text-normal); + --md-color-italic-highlight-bg: var(--color-highlight-blue); + --md-color-bi-highlight-text: var(--text-normal); + --md-color-bi-highlight-bg: var(--color-highlight-green); + --md-color-comment: var(--text-muted); + --md-color-footnote: var(--text-normal); + --md-color-footnote-link: var(--color-l-green-700); + --md-color-footnote-link-hover: var(--color-l-green-500); + --md-color-footnote-link-active: var(--color-l-green-900); + --md-color-reslink: var(--color-l-yellow-700); + --md-color-reslink-hover: var(--color-l-yellow-500); + --md-color-reslink-active: var(--color-l-yellow-900); + --md-color-unreslink: var(--text-muted); + --md-color-unreslink-hover: var(--color-l-yellow-700); + --md-color-unreslink-active: var(--color-l-yellow-900); + --md-color-extlink: var(--color-l-yellow-700); + --md-color-extlink-hover: var(--color-l-yellow-500); + --md-color-extlink-active: var(--color-l-yellow-900); + --md-color-blockquotes: var(--text-normal); + --md-color-blockquotes-formatting: var(--text-faint); + --md-color-blockquotes-border: var(--background-modifier-border); + --md-color-blockquotes-bg: var(--color-l-whiter); + --md-color-tag: var(--color-l-blue-700); + --md-color-tag-hover: var(--color-l-blue-500); + --md-color-tag-active: var(--color-l-blue-900); + --md-color-code-yellow-1: var(--color-l-yellow-500); + --md-color-code-yellow-2: var(--color-l-yellow-700); + --md-color-code-red-1: var(--color-l-red-300); + --md-color-code-red-2: var(--color-l-red-500); + --md-color-code-blue-1: var(--color-l-blue-500); + --md-color-code-blue-2: var(--color-l-blue-700); + --md-color-code-gray: var(--color-l-gray-50); + --md-color-code-white: var(--color-l-blacker); + --md-color-formatting: var(--color-l-gray-50); + --md-color-border: var(--background-modifier-border); + --md-embed-bg: var(--color-l-gray-10); + --md-color-bullet: var(--md-color-text-faint); + --md-find-highlight-bg: var(--color-highlight-violet); + --md-unchecked-bg-color: rgba(255, 255, 255, 0.4); + --md-unchecked-bg-color-hover: var(--color-l-gray-whiter); + --md-unchecked-bg-color-active: var(--color-l-gray-20); + --md-checked-bg-color: var(--color-l-green-500); +} + +.theme-dark { + --md-color-text: var(--text-normal); + --md-color-text-muted: var(--text-muted); + --md-color-text-faint: var(--text-faint); + --md-color-bold: var(--color-d-red-700); + --md-color-italic: var(--color-d-blue-700); + --md-color-bolditalic: var(--color-d-whiter); + --md-color-strikethrough: var(--text-faint); + --md-color-highlight-text: var(--text-normal); + --md-color-highlight-bg: var(--color-highlight-yellow); + --md-color-bold-highlight-text: var(--text-normal); + --md-color-bold-highlight-bg: var(--color-highlight-red); + --md-color-italic-highlight-text: var(--text-normal); + --md-color-italic-highlight-bg: var(--color-highlight-blue); + --md-color-bi-highlight-text: var(--text-normal); + --md-color-bi-highlight-bg: var(--color-highlight-green); + --md-color-comment: var(--text-muted); + --md-color-footnote: var(--text-normal); + --md-color-footnote-link: var(--color-d-green-700); + --md-color-footnote-link-hover: var(--color-d-green-500); + --md-color-footnote-link-active: var(--color-d-green-900); + --md-color-reslink: var(--color-d-yellow-500); + --md-color-reslink-hover: var(--color-d-yellow-300); + --md-color-reslink-active: var(--color-d-yellow-700); + --md-color-unreslink: var(--text-muted); + --md-color-unreslink-hover: var(--color-d-yellow-500); + --md-color-unreslink-active: var(--color-d-yellow-700); + --md-color-extlink: var(--color-d-yellow-500); + --md-color-extlink-hover: var(--color-d-yellow-300); + --md-color-extlink-active: var(--color-d-yellow-700); + --md-color-blockquotes: var(--text-normal); + --md-color-blockquotes-formatting: var(--text-faint); + --md-color-blockquotes-border: var(--background-modifier-border); + --md-color-blockquotes-bg: var(--color-d-blacker); + --md-color-tag: var(--color-d-blue-700); + --md-color-tag-hover: var(--color-d-blue-300); + --md-color-tag-active: var(--color-d-blue-900); + --md-color-code-yellow-1: var(--color-d-yellow-700); + --md-color-code-yellow-2: var(--color-d-yellow-500); + --md-color-code-red-1: var(--color-d-red-500); + --md-color-code-red-2: var(--color-d-red-300); + --md-color-code-blue-1: var(--color-d-blue-300); + --md-color-code-blue-2: var(--color-d-blue-500); + --md-color-code-gray: var(--text-faint); + --md-color-code-white: var(--color-d-whiter); + --md-color-formatting: var(--color-d-gray-40); + --md-color-border: var(--background-modifier-border); + --md-embed-bg: var(--color-d-gray-90); + --md-color-bullet: var(--md-color-text-faint); + --md-find-highlight-bg: var(--color-highlight-violet); + --md-unchecked-bg-color: rgba(0, 0, 0, 0.2); + --md-unchecked-bg-color-hover: var(--color-d-gray-100); + --md-unchecked-bg-color-active: var(--color-d-gray-70); + --md-checked-bg-color: var(--color-d-green-900); +} + +.theme-light .markdown-source-view, +.theme-light .markdown-preview-view { + color: var(--md-color-text); +} +.theme-dark .markdown-source-view, +.theme-dark .markdown-preview-view { + color: var(--md-color-text); +} + +/*──────────────────────────────────── + Note Markdown +────────────────────────────────────*/ +/*──────────Headings──────────*/ +:root body { + /* 1.388 Scale Ratio */ + --h1: var(--font-scale-7); + --h2: var(--font-scale-6); + --h3: var(--font-scale-5); + --h4: var(--font-scale-4); + --h5: var(--font-scale-3); + --h6: var(--font-scale-2); + --header-line-height: 1.18; + /* Normal Colors */ + --h1-text-color: var(--text-normal); + --h2-text-color: var(--text-normal); + --h3-text-color: var(--text-normal); + --h4-text-color: var(--text-normal); + --h5-text-color: var(--text-normal); + --h6-text-color: var(--text-muted); + /* Font Weight */ + --h1-weight: var(--font-bold); + --h2-weight: var(--font-bold); + --h3-weight: var(--font-bold); + --h4-weight: var(--font-bold); + --h5-weight: var(--font-bold); + --h6-weight: var(--font-bold); + /* Font Style */ + --h1-style: normal; + --h2-style: normal; + --h3-style: normal; + --h4-style: normal; + --h5-style: normal; + --h6-style: normal; +} + +.markdown-preview-view .heading-collapse-indicator { + padding-right: 0; + padding-left: var(--scale-2-4); +} + +/* General Headings */ +h1, h2, h3, h4, h5, h6 { + font-family: var(--font-preview-header); + line-height: var(--header-line-height); +} + +h1 { + color: var(--h1-text-color); + font-size: var(--h1); + font-weight: var(--h1-weight); + font-style: var(--h1-style); +} + +h2 { + color: var(--h2-text-color); + font-size: var(--h2); + font-weight: var(--h2-weight); + font-style: var(--h2-style); +} + +h3 { + color: var(--h3-text-color); + font-size: var(--h3); + font-weight: var(--h3-weight); + font-style: var(--h3-style); +} + +h4 { + color: var(--h4-text-color); + font-size: var(--h4); + font-weight: var(--h4-weight); + font-style: var(--h4-style); +} + +h5 { + color: var(--h5-text-color); + font-size: var(--h5); + font-weight: var(--h5-weight); + font-style: var(--h5-style); +} + +h6 { + color: var(--h6-text-color); + font-size: var(--h6); + font-weight: var(--h6-weight); + font-style: var(--h6-style); +} + +/* Source View Headings */ +body .cm-s-obsidian .HyperMD-header { + line-height: var(--header-line-height); + padding-bottom: 0; +} + +.cm-s-obsidian .cm-header-1, .cm-s-obsidian .cm-header-2, .cm-s-obsidian .cm-header-3, .cm-s-obsidian .cm-header-4, .cm-s-obsidian .cm-header-5, .cm-s-obsidian .cm-header-6 { + font-family: var(--font-editor-header); +} +.cm-s-obsidian .cm-header-1 { + color: var(--h1-text-color); + font-size: var(--h1); + font-weight: var(--h1-weight); + font-style: var(--h1-style); +} +.cm-s-obsidian .cm-header-2 { + color: var(--h2-text-color); + font-size: var(--h2); + font-weight: var(--h2-weight); + font-style: var(--h2-style); +} +.cm-s-obsidian .cm-header-3 { + color: var(--h3-text-color); + font-size: var(--h3); + font-weight: var(--h3-weight); + font-style: var(--h3-style); +} +.cm-s-obsidian .cm-header-4 { + color: var(--h4-text-color); + font-size: var(--h4); + font-weight: var(--h4-weight); + font-style: var(--h4-style); +} +.cm-s-obsidian .cm-header-5 { + color: var(--h5-text-color); + font-size: var(--h5); + font-weight: var(--h5-weight); + font-style: var(--h5-style); +} +.cm-s-obsidian .cm-header-6 { + color: var(--h6-text-color); + font-size: var(--h6); + font-weight: var(--h6-weight); + font-style: var(--h6-style); +} + +/* Inline Code in Headers Fix */ +.cm-s-obsidian .cm-inline-code.cm-header { + font-family: var(--font-monospace-theme); +} +.cm-s-obsidian .cm-inline-code.cm-header-1 { + font-size: calc(0.65 * var(--h1)); + font-weight: var(--h1-weight); + font-style: var(--h1-style); +} +.cm-s-obsidian .cm-inline-code.cm-header-2 { + font-size: calc(0.65 * var(--h2)); + font-weight: var(--h2-weight); + font-style: var(--h2-style); +} +.cm-s-obsidian .cm-inline-code.cm-header-3 { + font-size: calc(0.65 * var(--h3)); + font-weight: var(--h3-weight); + font-style: var(--h3-style); +} +.cm-s-obsidian .cm-inline-code.cm-header-4 { + font-size: calc(0.65 * var(--h4)); + font-weight: var(--h4-weight); + font-style: var(--h4-style); +} +.cm-s-obsidian .cm-inline-code.cm-header-5 { + font-size: calc(0.65 * var(--h5)); + font-weight: var(--h5-weight); + font-style: var(--h5-style); +} +.cm-s-obsidian .cm-inline-code.cm-header-6 { + font-size: calc(0.65 * var(--h6)); + font-weight: var(--h6-weight); + font-style: var(--h6-style); +} + +.markdown-preview-view h1 code, .markdown-preview-view h2 code, .markdown-preview-view h3 code, .markdown-preview-view h4 code, .markdown-preview-view h5 code, .markdown-preview-view h6 code { + font-family: var(--font-monospace-theme); +} +.markdown-preview-view h1 code { + font-weight: var(--h1-weight); + font-style: var(--h1-style); +} +.markdown-preview-view h2 code { + font-weight: var(--h2-weight); + font-style: var(--h2-style); +} +.markdown-preview-view h3 code { + font-weight: var(--h3-weight); + font-style: var(--h3-style); +} +.markdown-preview-view h4 code { + font-weight: var(--h4-weight); + font-style: var(--h4-style); +} +.markdown-preview-view h5 code { + font-weight: var(--h5-weight); + font-style: var(--h5-style); +} +.markdown-preview-view h6 code { + font-weight: var(--h6-weight); + font-style: var(--h6-style); +} + +/* Preview View Headings */ +.markdown-preview-view h1, .markdown-preview-view h2, .markdown-preview-view h3, .markdown-preview-view h4, .markdown-preview-view h5, .markdown-preview-view h6 { + font-family: var(--font-preview-header); + line-height: var(--header-line-height); +} +.markdown-preview-view h1 { + color: var(--h1-text-color); + font-size: var(--h1); + font-weight: var(--h1-weight); + font-style: var(--h1-style); +} +.markdown-preview-view h2 { + color: var(--h2-text-color); + font-size: var(--h2); + font-weight: var(--h2-weight); + font-style: var(--h2-style); +} +.markdown-preview-view h3 { + color: var(--h3-text-color); + font-size: var(--h3); + font-weight: var(--h3-weight); + font-style: var(--h3-style); +} +.markdown-preview-view h4 { + color: var(--h4-text-color); + font-size: var(--h4); + font-weight: var(--h4-weight); + font-style: var(--h4-style); +} +.markdown-preview-view h5 { + color: var(--h5-text-color); + font-size: var(--h5); + font-weight: var(--h5-weight); + font-style: var(--h5-style); +} +.markdown-preview-view h6 { + color: var(--h6-text-color); + font-size: var(--h6); + font-weight: var(--h6-weight); + font-style: var(--h6-style); +} + +/*──────────Emphasis──────────*/ +/* Bold */ +strong, +.cm-strong, +.cm-s-obsidian span.cm-quote.cm-strong, +.markdown-preview-view strong { + color: var(--md-color-bold); +} + +/* Italic */ +em, +.cm-em, +.cm-s-obsidian span.cm-quote.cm-em, +.markdown-preview-view em { + color: var(--md-color-italic); +} + +/* Bold & Italic */ +strong em, em strong, +.cm-strong.cm-em, +.markdown-preview-view strong em { + color: var(--md-color-bolditalic); +} + +/* Strikethrough */ +del, +.cm-strikethrough, +.cm-s-obsidian span.cm-quote.cm-strikethrough, +.markdown-preview-view del { + color: var(--md-color-strikethrough); +} +del:hover, +.cm-strikethrough:hover, +.cm-s-obsidian span.cm-quote.cm-strikethrough:hover, +.markdown-preview-view del:hover { + text-decoration: none; +} + +.markdown-preview-view h1 del, .markdown-preview-view h2 del, .markdown-preview-view h3 del, .markdown-preview-view h4 del, .markdown-preview-view h5 del, .markdown-preview-view h6 del { + color: var(--md-color-strikethrough); +} + +/* Highlight [Highlight] */ +mark, +.cm-s-obsidian span.cm-highlight, +.markdown-source-view.is-live-preview .cm-header.cm-formatting-highlight, +.cm-s-obsidian span.cm-quote.cm-highlight, +.callout mark, +.markdown-preview-view mark, +.popover mark, +.markdown-embed mark { + color: var(--md-color-highlight-text); + background: var(--md-color-highlight-bg); + padding: 2px 2px; + border-radius: var(--scale-2-1); +} + +/* Highlight [Bold + Highlight] */ +.cm-s-obsidian span.cm-highlight.cm-strong, +.cm-s-obsidian span.cm-quote.cm-highlight.cm-strong { + color: var(--md-color-bold-highlight-text); + background: var(--md-color-bold-highlight-bg); +} + +.markdown-preview-view.markdown-preview-view mark strong, +.markdown-embed.markdown-embed mark strong, +.reveal mark strong { + color: var(--md-color-bold-highlight-text); +} + +.callout strong > mark, +.markdown-preview-view.markdown-preview-view strong > mark, +.popover strong > mark, +.markdown-embed.markdown-embed strong > mark, +.reveal strong > mark { + background: var(--md-color-bold-highlight-bg); +} + +/* Highlight [Italic + Highlight] */ +.cm-s-obsidian span.cm-highlight.cm-em, +.cm-s-obsidian span.cm-quote.cm-highlight.cm-em { + color: var(--md-color-italic-highlight-text); + background: var(--md-color-italic-highlight-bg); +} + +.callout em > mark, +.markdown-preview-view mark em, +.popover mark em, +.markdown-embed mark em, +.reveal mark em { + color: var(--md-color-italic-highlight-text); +} + +.callout em > mark, +.markdown-preview-view.markdown-preview-view em > mark, +.popover em > mark, +.markdown-embed.markdown-embed em > mark, +.reveal em > mark { + background: var(--md-color-italic-highlight-bg); +} + +/* Highlight [Bold + Italic + Highlight] */ +.cm-s-obsidian span.cm-highlight.cm-strong.cm-em, +.cm-s-obsidian span.cm-quote.cm-highlight.cm-strong.cm-em { + color: var(--md-color-bi-highlight-text); + background: var(--md-color-bi-highlight-bg); +} + +.callout strong > em > mark, +.markdown-preview-view.markdown-preview-view strong > em > mark, +.popover strong > em > mark, +.markdown-embed.markdown-embed strong > em > mark, +.reveal strong > em > mark { + background: var(--md-color-bi-highlight-bg); +} + +/* Comments */ +.cm-s-obsidian span.cm-comment, +.cm-s-obsidian span.cm-comment.cm-quote { + color: var(--md-color-comment); +} + +/*──────────Blockquotes──────────*/ +/* Source View Blockquotes */ +.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote { + font-style: italic; + background: var(--md-color-blockquotes-bg); + padding: var(--scale-2-6) var(--scale-2-6) var(--scale-2-6) var(--scale-2-6); + border-left: 2px solid var(--md-color-blockquotes-border); +} +.markdown-source-view.mod-cm6 .cm-blockquote-border { + border-left: 2px solid var(--md-color-blockquotes-border); +} + +/* Source View Emphasis in Blockquotes Fix */ +.cm-s-obsidian span.cm-quote { + color: var(--md-color-blockquotes); +} +.cm-s-obsidian span.cm-formatting-quote { + color: var(--md-color-blockquotes-formatting); +} + +/* Preview View Blockquotes */ +.markdown-preview-view blockquote { + font-style: italic; + background: var(--md-color-blockquotes-bg); + padding: var(--scale-2-8) var(--scale-2-18) var(--scale-2-8) var(--scale-2-18); + border-radius: var(--scale-2-4); + border: 1px solid var(--md-color-blockquotes-border); + margin-left: var(--scale-0-0); + margin-right: var(--scale-0-0); +} + +/*──────────Internal & External Links──────────*/ +/* Opacity of Unresolved Links Fix */ +.markdown-source-view.mod-cm6 .is-unresolved, +.markdown-preview-view .internal-link.is-unresolved { + opacity: 1; +} + +/* Source View Resolved Links */ +.markdown-source-view.mod-cm6 span:where(.cm-url.cm-url, .cm-blockid, .cm-inline-code.cm-link, .cm-hmd-internal-link, .cm-header.cm-hmd-internal-link, .cm-hmd-internal-link .cm-underline) { + color: var(--md-color-reslink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +.markdown-source-view.mod-cm6 span:where(.cm-url.cm-url, .cm-blockid, .cm-inline-code.cm-link, .cm-hmd-internal-link, .cm-header.cm-hmd-internal-link, .cm-hmd-internal-link .cm-underline):hover { + color: var(--md-color-reslink-hover); + text-decoration: underline solid 1px; +} +.markdown-source-view.mod-cm6 span:where(.cm-url.cm-url, .cm-blockid, .cm-inline-code.cm-link, .cm-hmd-internal-link, .cm-header.cm-hmd-internal-link, .cm-hmd-internal-link .cm-underline):active { + color: var(--md-color-reslink-active); + text-decoration: underline solid 1px; +} +.no-link-underline.no-link-underline .markdown-source-view.mod-cm6 span:where(.cm-url.cm-url, .cm-blockid, .cm-inline-code.cm-link, .cm-hmd-internal-link, .cm-header.cm-hmd-internal-link, .cm-hmd-internal-link .cm-underline) { + text-decoration: none; +} + +/* Source View Unresolved Links */ +.markdown-source-view.mod-cm6 span.is-unresolved span:where(.cm-url, .cm-blockid, .cm-link, .cm-underline) { + color: var(--md-color-unreslink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +.markdown-source-view.mod-cm6 span.is-unresolved span:where(.cm-url, .cm-blockid, .cm-link, .cm-underline):hover { + color: var(--md-color-unreslink-hover); +} +.markdown-source-view.mod-cm6 span.is-unresolved span:where(.cm-url, .cm-blockid, .cm-link, .cm-underline):active { + color: var(--md-color-unreslink-active); +} +.no-link-underline.no-link-underline .markdown-source-view.mod-cm6 span.is-unresolved { + text-decoration: none; +} + +.markdown-source-view.mod-cm6 span.is-unresolved .cm-hmd-internal-link { + color: var(--md-color-unreslink); +} +.markdown-source-view.mod-cm6 span.is-unresolved .cm-hmd-internal-link:hover { + text-decoration: none; +} + +.no-link-underline .cm-s-obsidian span.cm-hmd-internal-link:hover { + text-decoration: none; +} + +/* Legacy Editor Fix */ +.markdown-source-view:not(.mod-cm6) .cm-hmd-internal-link { + color: var(--md-color-unreslink); + transition: var(--duration-superfast) var(--motion-smooth); +} +.markdown-source-view:not(.mod-cm6) .cm-hmd-internal-link:hover { + color: var(--md-color-reslink-hover); + cursor: pointer; +} +.markdown-source-view:not(.mod-cm6) .cm-hmd-internal-link:active { + color: var(--md-color-reslink-active); +} +.no-link-underline.no-link-underline .markdown-source-view:not(.mod-cm6) .cm-hmd-internal-link { + text-decoration: none; +} + +/* Source View External Links */ +.markdown-source-view.mod-cm6 span:where(.cm-link, .cm-link .cm-underline, .cm-url) { + color: var(--md-color-extlink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +.markdown-source-view.mod-cm6 span:where(.cm-link, .cm-link .cm-underline, .cm-url):hover { + color: var(--md-color-extlink-hover); +} +.markdown-source-view.mod-cm6 span:where(.cm-link, .cm-link .cm-underline, .cm-url):active { + color: var(--md-color-extlink-active); +} +.no-link-underline.no-link-underline .markdown-source-view.mod-cm6 span:where(.cm-link, .cm-link .cm-underline, .cm-url) { + text-decoration: none; +} + +/* Preview Resolved Links */ +.modal a, .view-content a, +.modal a code, +.view-content a code { + color: var(--md-color-reslink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +.modal a:hover, .view-content a:hover, +.modal a code:hover, +.view-content a code:hover { + color: var(--md-color-reslink-hover); + cursor: pointer; +} +.modal a:active, .view-content a:active, +.modal a code:active, +.view-content a code:active { + color: var(--md-color-reslink-active); +} +.no-link-underline .modal a, .no-link-underline .view-content a, +.no-link-underline .modal a code, +.no-link-underline .view-content a code { + text-decoration: none; +} +.no-link-underline a, +.no-link-underline a code { + text-decoration: none; +} + +a:where(a.tag, button.mod-cta a, a.is-unresolved) { + color: var(--md-color-reslink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +a:where(a.tag, button.mod-cta a, a.is-unresolved):hover { + color: var(--md-color-reslink-hover); + cursor: pointer; +} +a:where(a.tag, button.mod-cta a, a.is-unresolved):active { + color: var(--md-color-reslink-active); +} + +.cm-s-obsidian .internal-link, +.markdown-rendered.cm-embed-block .internal-link, +.markdown-preview-view .internal-link, +div.node-insert-event .internal-link, +.reveal a.internal-link { + color: var(--md-color-reslink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +.cm-s-obsidian .internal-link:hover, +.markdown-rendered.cm-embed-block .internal-link:hover, +.markdown-preview-view .internal-link:hover, +div.node-insert-event .internal-link:hover, +.reveal a.internal-link:hover { + color: var(--md-color-reslink-hover); + cursor: pointer; +} +.cm-s-obsidian .internal-link:active, +.markdown-rendered.cm-embed-block .internal-link:active, +.markdown-preview-view .internal-link:active, +div.node-insert-event .internal-link:active, +.reveal a.internal-link:active { + color: var(--md-color-reslink-active); +} +.cm-s-obsidian .internal-link:where(.is-unresolved), +.markdown-rendered.cm-embed-block .internal-link:where(.is-unresolved), +.markdown-preview-view .internal-link:where(.is-unresolved), +div.node-insert-event .internal-link:where(.is-unresolved), +.reveal a.internal-link:where(.is-unresolved) { + color: var(--md-color-unreslink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +.cm-s-obsidian .internal-link:where(.is-unresolved):hover, +.markdown-rendered.cm-embed-block .internal-link:where(.is-unresolved):hover, +.markdown-preview-view .internal-link:where(.is-unresolved):hover, +div.node-insert-event .internal-link:where(.is-unresolved):hover, +.reveal a.internal-link:where(.is-unresolved):hover { + color: var(--md-color-unreslink-hover); + cursor: pointer; +} +.cm-s-obsidian .internal-link:where(.is-unresolved):active, +.markdown-rendered.cm-embed-block .internal-link:where(.is-unresolved):active, +.markdown-preview-view .internal-link:where(.is-unresolved):active, +div.node-insert-event .internal-link:where(.is-unresolved):active, +.reveal a.internal-link:where(.is-unresolved):active { + color: var(--md-color-unreslink-active); +} +.no-link-underline.no-link-underline .cm-s-obsidian .internal-link, +.no-link-underline.no-link-underline .markdown-rendered.cm-embed-block .internal-link, +.no-link-underline.no-link-underline .markdown-preview-view .internal-link, +.no-link-underline.no-link-underline div.node-insert-event .internal-link, +.no-link-underline.no-link-underline .reveal a.internal-link { + text-decoration: none; +} + +/* Preview External Links */ +.markdown-rendered.cm-embed-block .external-link, +.markdown-preview-view .external-link, +div.node-insert-event .external-link, +.reveal .external-link { + color: var(--md-color-extlink); + text-decoration: underline solid 1px; + text-underline-position: under; + transition: var(--duration-superfast) var(--motion-smooth); +} +.markdown-rendered.cm-embed-block .external-link:hover, +.markdown-preview-view .external-link:hover, +div.node-insert-event .external-link:hover, +.reveal .external-link:hover { + color: var(--md-color-extlink-hover); + cursor: pointer; +} +.markdown-rendered.cm-embed-block .external-link:active, +.markdown-preview-view .external-link:active, +div.node-insert-event .external-link:active, +.reveal .external-link:active { + color: var(--md-color-extlink-active); +} +.no-link-underline.no-link-underline .markdown-rendered.cm-embed-block .external-link, +.no-link-underline.no-link-underline .markdown-preview-view .external-link, +.no-link-underline.no-link-underline div.node-insert-event .external-link, +.no-link-underline.no-link-underline .reveal .external-link { + text-decoration: none; +} + +/* External Link Icon Position Fix */ +.external-link { + background-image: linear-gradient(transparent, transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(136, 136, 136)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'%3E%3C/line%3E%3Cpolyline points='7 7 17 7 17 17'%3E%3C/polyline%3E%3C/svg%3E"); + background-size: 16px; + background-position-y: initial; +} + +/*──────────Tags──────────*/ +.popover span.cm-hashtag, +.popover .tag, +.cm-s-obsidian span.cm-hashtag, +.tag:not(.token) { + color: var(--md-color-tag); + background: transparent; + font-weight: var(--font-bold); + line-height: var(--line-height-1); + vertical-align: baseline; + text-decoration: none; + display: inline; + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-light .popover span.cm-hashtag, +.theme-light .popover .tag, +.theme-light .cm-s-obsidian span.cm-hashtag, +.theme-light .tag:not(.token) { + border-top: 1px solid rgba(100, 100, 100, 0.3); + border-bottom: 1px solid rgba(100, 100, 100, 0.3); + box-shadow: 0px -1px 0px 0px rgba(100, 100, 100, 0.1) inset, 0px 1px 1px 0px rgba(100, 100, 100, 0.1); +} +.theme-dark .popover span.cm-hashtag, +.theme-dark .popover .tag, +.theme-dark .cm-s-obsidian span.cm-hashtag, +.theme-dark .tag:not(.token) { + border-top: 1px solid rgba(0, 0, 0, 0.3); + border-bottom: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.15) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} +.popover span.cm-hashtag:hover, +.popover .tag:hover, +.cm-s-obsidian span.cm-hashtag:hover, +.tag:not(.token):hover { + color: var(--md-color-tag-hover); + background: transparent; +} +.popover span.cm-hashtag:active, +.popover .tag:active, +.cm-s-obsidian span.cm-hashtag:active, +.tag:not(.token):active { + color: var(--md-color-tag-active); +} + +/* Font Sizing for Tags */ +.cm-s-obsidian span.cm-hashtag:not(.cm-header), +.tag:not(.token, h1, h2, h3, h4, h5, h6) { + font-size: var(--font-scale-0-5); +} + +/* Font Family for Tags */ +.cm-s-obsidian span.cm-hashtag { + font-family: var(--font-editor); +} + +.tag:not(.token) { + font-family: var(--font-preview); +} + +.workspace .cm-s-obsidian span.cm-hashtag-begin { + border-top-left-radius: var(--scale-8-4); + border-bottom-left-radius: var(--scale-8-4); + padding-left: 0.55em; + padding-right: 0; + border-right: none; +} +.theme-light .workspace .cm-s-obsidian span.cm-hashtag-begin { + border-left: 1px solid rgba(100, 100, 100, 0.3); +} +.theme-dark .workspace .cm-s-obsidian span.cm-hashtag-begin { + border-left: 1px solid rgba(0, 0, 0, 0.3); +} +.workspace .cm-s-obsidian span.cm-hashtag-end { + border-top-right-radius: var(--scale-8-4); + border-bottom-right-radius: var(--scale-8-4); + padding-left: 0; + padding-right: 0.55em; + border-left: none; +} +.theme-light .workspace .cm-s-obsidian span.cm-hashtag-end { + border-right: 1px solid rgba(100, 100, 100, 0.3); +} +.theme-dark .workspace .cm-s-obsidian span.cm-hashtag-end { + border-right: 1px solid rgba(0, 0, 0, 0.3); +} + +.tag:not(.token) { + padding: 0 0.55em 0 0.55em; + border-radius: var(--scale-8-4); +} +.theme-light .tag:not(.token) { + border: 1px solid rgba(100, 100, 100, 0.3); +} +.theme-dark .tag:not(.token) { + border: 1px solid rgba(0, 0, 0, 0.3); +} + +/*──────────Lists──────────*/ +/* Removed Weird padding-top on Source View */ +.cm-s-obsidian .HyperMD-list-line { + padding-top: 0; +} + +.markdown-source-view.mod-cm6 .list-bullet:after { + top: initial; +} + +.markdown-source-view.mod-cm6 .list-bullet:after { + content: "-"; + font-family: var(--font-monospace-theme); + font-size: 1.25em; +} +.markdown-source-view.mod-cm6 .cm-list-2 .list-bullet:after { + content: "•"; +} +.markdown-source-view.mod-cm6 .cm-list-3 .list-bullet:after { + content: "◦"; +} + +span.cm-formatting.cm-formatting-list, +span.list-bullet, +li::marker { + color: var(--md-color-bullet); + font-size: var(--font-scale-0); + font-family: var(--font-monospace-theme); + font-variant-numeric: tabular-nums; + text-align: left; + vertical-align: 0px; +} + +.markdown-preview-view .list-collapse-indicator { + padding-left: 0; + padding-right: 0; +} + +/* Ordered List / Number List */ +ol, +ol ol ol, +ol ol ol ol ol, +ol ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol { + list-style-type: decimal; + padding-left: 2ch; + margin-left: var(--scale-0-0); +} + +ol ol, +ol ol ol ol, +ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol ol ol ol ol, +ol ol ol ol ol ol ol ol ol ol ol ol ol ol { + list-style-type: lower-alpha; +} + +/* Unordered List / Bullet List */ +ul, +ul ul ul ul, +ul ul ul ul ul ul ul, +ul ul ul ul ul ul ul ul ul ul, +ul ul ul ul ul ul ul ul ul ul ul ul ul { + list-style-type: "– "; + padding-left: 2ch; + margin-left: var(--scale-0-0); +} + +ul ul, +ul ul ul ul ul, +ul ul ul ul ul ul ul ul, +ul ul ul ul ul ul ul ul ul ul ul, +ul ul ul ul ul ul ul ul ul ul ul ul ul ul { + list-style-type: disc; +} + +ul ul ul, +ul ul ul ul ul ul, +ul ul ul ul ul ul ul ul ul, +ul ul ul ul ul ul ul ul ul ul ul ul, +ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul { + list-style-type: circle; +} + +/*──────────Footnotes──────────*/ +/* Source View */ +.cm-s-obsidian span.cm-footref { + color: var(--md-color-footnote-link); + font-size: 70% !important; + text-decoration: none !important; + vertical-align: super; +} +.cm-s-obsidian span.cm-footref:hover { + color: var(--md-color-footnote-link-hover); +} +.cm-s-obsidian span.cm-footref:active { + color: var(--md-color-footnote-link-active); +} + +/* Section */ +.cm-s-obsidian span:where(.cm-hmd-footnote.cm-link) .cm-underline { + color: var(--md-color-footnote-link); + text-decoration: none !important; +} +.cm-s-obsidian span:where(.cm-hmd-footnote.cm-link) .cm-underline:hover { + color: var(--md-color-footnote-link-hover); +} +.cm-s-obsidian span:where(.cm-hmd-footnote.cm-link) .cm-underline:active { + color: var(--md-color-footnote-link-active); +} + +section.footnotes { + font-size: var(--font-scale-0-5); + line-height: 1.4; +} +section.footnotes a.footnote-link { + color: var(--md-color-text-muted); + background: var(--background-primary-alt); + padding: 0 2px; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-8-4); + margin: 0 2px; + vertical-align: middle; +} +section.footnotes a.footnote-link:hover { + color: var(--md-color-footnote-link-hover); +} +section.footnotes a.footnote-link:active { + color: var(--md-color-footnote-link-active); +} + +/* Preview View */ +a.footnote-link { + color: var(--md-color-footnote-link); + font-size: 70%; + text-decoration: none !important; +} +h1 a.footnote-link, h2 a.footnote-link, h3 a.footnote-link, h4 a.footnote-link, h5 a.footnote-link, h6 a.footnote-link { + font-size: 70%; + text-decoration: none !important; +} +a.footnote-link:hover { + color: var(--md-color-footnote-link-hover); +} +a.footnote-link:active { + color: var(--md-color-footnote-link-active); +} + +/*──────────Checkboxes──────────*/ +input[type=checkbox] { + -webkit-appearance: none; + appearance: none; + filter: none; + height: calc(3px + var(--font-text-size)); + width: calc(3px + var(--font-text-size)); + border-radius: var(--ch-radius); + border: 1px solid var(--text-faint); + padding: 0; + margin: 0; + margin-left: 6px; + margin-right: 0.5ch; +} +input[type=checkbox]:hover { + cursor: pointer; + transition: var(--duration-fast-1) var(--motion-smooth); +} +input[type=checkbox]:checked { + background-position: center; + background-size: 72%; + background-repeat: no-repeat; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='fill: %23fff' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z'/%3E%3C/svg%3E"); +} +.theme-light input[type=checkbox] { + background-color: var(--md-unchecked-bg-color); +} +.theme-light input[type=checkbox]:hover { + background-color: var(--md-unchecked-bg-color-hover); + box-shadow: 0px 0px 0px 2px var(--color-l-gray-30); +} +.theme-light input[type=checkbox]:active, .theme-light input[type=checkbox]:checked:active { + background-color: var(--md-unchecked-bg-color-active); + box-shadow: 0px 0px 0px 2px var(--color-l-gray-30); +} +.theme-light input[type=checkbox]:checked { + background-color: var(--md-checked-bg-color); + border: 1px solid rgba(0, 0, 0, 0.15); +} +.theme-dark input[type=checkbox] { + background-color: var(--md-unchecked-bg-color); +} +.theme-dark input[type=checkbox]:hover { + background-color: var(--md-unchecked-bg-color-hover); + box-shadow: 0px 0px 0px 2px var(--text-faint); +} +.theme-dark input[type=checkbox]:active, .theme-dark input[type=checkbox]:checked:active { + background-color: var(--md-unchecked-bg-color-active); + box-shadow: 0px 0px 0px 2px var(--text-faint); +} +.theme-dark input[type=checkbox]:checked { + background-color: var(--md-checked-bg-color); + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.markdown-source-view .HyperMD-task-line:is([data-task=x], [data-task=X]):hover, +.task-list-item.is-checked:hover { + text-decoration: unset; +} + +/* Source View Checkbox Fix */ +.markdown-source-view input.task-list-item-checkbox { + margin-top: -3px; +} + +.cm-s-obsidian span.cm-formatting-task { + font-family: var(--font-monospace-theme); +} + +.cm-s-obsidian .task-list-item-checkbox { + margin-left: 0; +} + +/*──────────────────────────────────── + Inline Code/Codeblocks +────────────────────────────────────*/ +.theme-light pre[class*=language-], +.theme-dark pre[class*=language-] { + color: var(--md-color-code-red-1); + padding: var(--scale-2-8) var(--scale-2-8) var(--scale-2-8) var(--scale-2-8); +} +.theme-light code.is-loaded, +.theme-dark code.is-loaded { + padding: 0; + text-shadow: none; +} + +.cm-s-obsidian .cm-inline-code, +.cm-s-obsidian .cm-hmd-codeblock, +.cm-s-obsidian .cm-math, +.cm-s-obsidian .cm-attribute, +.cm-s-obsidian .cm-string:not(.cm-url), +.cm-s-obsidian .cm-tag, +div[data-tag-name=pre] code, +pre code, +code, +.markdown-preview-view code { + font-family: var(--font-monospace-theme); +} + +.cm-s-obsidian .HyperMD-codeblock { + line-height: 1.5; + padding: 0 var(--scale-2-8); +} + +pre code { + font-size: var(--font-scale-0-5); +} + +.cm-s-obsidian .cm-math { + font-size: 90%; +} + +code, +.cm-s-obsidian span.cm-inline-code:not(.cm-formatting-code), +.markdown-preview-view pre code { + padding: var(--scale-2-1) var(--scale-2-3); + border-radius: var(--scale-2-2); +} + +.cm-s-obsidian span.cm-inline-code.cm-formatting-code { + padding: var(--scale-2-1) 0; +} + +.cm-s-obsidian div.HyperMD-codeblock-begin-bg { + border-top-left-radius: var(--scale-2-3); + border-top-right-radius: var(--scale-2-3); + border: none; +} +.cm-s-obsidian div.HyperMD-codeblock-end-bg { + border-bottom-left-radius: var(--scale-2-3); + border-bottom-right-radius: var(--scale-2-3); + border: none; +} + +.markdown-preview-view pre { + border-radius: var(--scale-2-3); +} + +/*──────────Inline Code/Codeblocks +Syntax Highlighting──────────*/ +.theme-light .markdown-preview-view pre code.is-loaded, .theme-dark .markdown-preview-view pre code.is-loaded { + background: var(--background-primary-alt); + border: var(--background-modifier-border); +} + +.markdown-preview-view code { + padding: var(--scale-2-1) var(--scale-2-3); + border-radius: var(--scale-2-2); +} + +.cm-s-obsidian span.cm-formatting-math.cm-math.cm-math, +.cm-s-obsidian span.cm-meta:not(.cm-hashtag) { + color: var(--md-color-text-faint); +} + +.cm-s-obsidian span.cm-tag, +.cm-s-obsidian span.cm-property, +.markdown-preview-view span.token.property, +.markdown-preview-view span.token.property-access { + color: var(--md-color-code-yellow-1); +} + +.cm-s-obsidian span.cm-number, +.cm-s-obsidian span.cm-string:not(.cm-url), +.markdown-preview-view span.token.string, +.markdown-preview-view span.token.number { + color: var(--md-color-code-yellow-2); +} + +code, +pre code, +.cm-s-obsidian .cm-inline-code:not(.cm-formatting-code), +.cm-s-obsidian span.cm-bracket, +.cm-s-obsidian span.cm-math, +.cm-s-obsidian .cm-hmd-codeblock, +.markdown-preview-view pre code.is-loaded, +.markdown-preview-view pre code, +.markdown-preview-view code, +.markdown-rendered code { + color: var(--md-color-code-red-1); +} + +.cm-s-obsidian span.cm-error, +.cm-s-obsidian span.cm-def, +.cm-s-obsidian span.cm-attribute, +.markdown-preview-view span.token.function, +.markdown-preview-view span.token.parameter, +.markdown-preview-view span.token.attr-name { + color: var(--md-color-code-red-2); +} + +.cm-s-obsidian span.cm-variable-2, +.cm-s-obsidian span.cm-math.cm-variable-2, +.cm-s-obsidian span.cm-keyword, +.markdown-preview-view span.token.keyword, +.markdown-preview-view span.token.url, +.markdown-preview-view span.token.class-name, +.markdown-preview-view span.token.tag { + color: var(--md-color-code-blue-1); +} + +.cm-s-obsidian span.cm-variable, +.markdown-preview-view span.token.important { + color: var(--md-color-code-blue-2); +} + +.cm-s-obsidian span.cm-formatting-code, +.cm-s-obsidian .cm-formatting-code-block, +.markdown-preview-view span.token.punctuation, +.markdown-preview-view span.token.operator { + color: var(--md-color-code-gray); +} + +mjx-math { + color: var(--md-color-code-white); +} + +.markdown-source-view.mod-cm6 span.code-block-flair[aria-label=Copy] { + color: var(--md-color-code-gray); + font-family: var(--font-monospace-theme); + font-size: var(--font-scale-1); + padding: 0; + margin-top: var(--scale-2-1); + margin-right: var(--scale-2-2); +} + +/*──────────Horizontal Rule──────────*/ +.theme-light span.cm-hr, +.theme-dark span.cm-hr { + font-family: var(--font-monospace-theme); + color: var(--md-color-comment); +} + +.markdown-preview-view hr { + font-family: var(--font-monospace-theme); + color: var(--md-color-border); + border-width: 1px; +} + +/*──────────────────────────────────── + Embeds +────────────────────────────────────*/ +/*──────────Live Preview──────────*/ +.markdown-source-view.mod-cm6 .file-embed { + border-width: 1px; + border-radius: var(--scale-2-4); + padding: 15px 20px; +} +.markdown-source-view.mod-cm6 .cm-embed-block { + font-family: var(--font-editor); + border: 1px solid transparent; + border-radius: 0; + transition: var(--duration-superfast) var(--motion-smooth); +} +.markdown-source-view.mod-cm6 .cm-embed-block:hover { + border: 1px solid var(--background-modifier-border); +} +.markdown-source-view.mod-cm6 .cm-embed-block .edit-block-button { + top: var(--scale-2-2); + left: var(--scale-2-2); + right: unset; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-2); + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-light .markdown-source-view.mod-cm6 .cm-embed-block .edit-block-button { + color: var(--color-l-gray-60); + background: var(--color-l-gray-20); +} +.theme-light .markdown-source-view.mod-cm6 .cm-embed-block .edit-block-button:hover { + background: var(--color-l-gray-10); +} +.theme-light .markdown-source-view.mod-cm6 .cm-embed-block .edit-block-button:active { + color: var(--color-l-gray-50); + background: var(--color-l-gray-40); +} +.theme-dark .markdown-source-view.mod-cm6 .cm-embed-block .edit-block-button { + color: var(--color-d-gray-30); + background: var(--color-d-gray-90); +} +.theme-dark .markdown-source-view.mod-cm6 .cm-embed-block .edit-block-button:hover { + background: var(--color-d-gray-60); +} +.theme-dark .markdown-source-view.mod-cm6 .cm-embed-block .edit-block-button:active { + color: var(--color-d-gray-50); + background: var(--color-d-black); +} + +/*────────── Media ──────────*/ +.workspace-leaf-content video[src], +.view-content .markdown-preview-view video[src], +.popover video[src], +.reveal video[src], +.workspace-leaf-content img[src], +.view-content .markdown-preview-view img[src], +.popover img[src], +.reveal img[src] { + padding: 0; + border: 1px solid rgba(100, 100, 100, 0.25); + border-radius: var(--scale-2-4); + margin: 0; + transition: var(--duration-fast-1) var(--motion-smooth); +} +.workspace-leaf-content video[src]:hover, +.view-content .markdown-preview-view video[src]:hover, +.popover video[src]:hover, +.reveal video[src]:hover, +.workspace-leaf-content img[src]:hover, +.view-content .markdown-preview-view img[src]:hover, +.popover img[src]:hover, +.reveal img[src]:hover { + border-radius: var(--scale-0-0); + box-shadow: var(--shadow-m) var(--background-modifier-box-shadow); + transform: translateY(-2px); +} + +/*──────────Markdown Embed──────────*/ +.popover .markdown-embed, +.markdown-embed { + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-6); + padding: 0; + overflow: hidden; +} +.popover .markdown-embed .markdown-preview-view, +.markdown-embed .markdown-preview-view { + /* Markdown Embed Padding with Readable Line Width OFF */ + padding: var(--scale-0-0) var(--scale-8-4) var(--scale-0-0) var(--scale-8-4); +} +.is-live-preview .popover .markdown-embed, +.is-live-preview .markdown-embed { + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + border: 1px solid var(--background-modifier-border); +} +.popover .markdown-embed-title, +.markdown-embed-title { + height: auto; + color: var(--text-muted); + font-size: var(--font-scale-1); + line-height: var(--line-height-1); + text-align: left; + padding: var(--scale-2-3) var(--scale-8-5) var(--scale-2-3) var(--scale-2-6); + border-bottom: 1px solid var(--background-modifier-border); +} +.popover .markdown-embed-link, +.markdown-embed-link { + top: 0; + right: 0; + margin: var(--scale-2-4) var(--scale-2-6) var(--scale-8-1) var(--scale-0-0); +} +.theme-light .popover .markdown-embed, +.theme-light .markdown-embed { + background: var(--md-embed-bg); +} +.theme-dark .popover .markdown-embed, +.theme-dark .markdown-embed { + background: var(--md-embed-bg); +} + +.markdown-source-view .markdown-embed-title { + font-family: var(--font-editor); + line-height: 1.3; +} + +.markdown-preview-view .markdown-embed-title { + font-family: var(--font-preview); + line-height: 1.4; +} + +/*──────────Mermaid JS (Diagram Generator)──────────*/ +.mermaid line { + stroke: var(--md-color-text-faint) !important; + fill: var(--md-color-text-faint) !important; +} +.mermaid rect.actor { + stroke: var(--md-color-border) !important; + fill: var(--background-secondary) !important; +} +.mermaid tspan, .mermaid text.messageText { + font-size: var(--font-scale-1) !important; + font-family: var(--font-monospace-theme) !important; + font-weight: var(--font-regular); + stroke: none !important; + fill: var(--color-gray-10) !important; +} +.mermaid .node .label { + font-size: var(--font-scale-0); + text-align: left; +} + +/*──────────────────────────────────── + Callouts +────────────────────────────────────*/ +/* Sizing Fixes */ +.markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout { + padding: 0; +} +.markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote, .markdown-source-view.mod-cm6 .HyperMD-quote.HyperMD-callout + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote + .HyperMD-quote { + padding: 0; +} + +/* space for shadow */ +.markdown-source-view.mod-cm6 .cm-embed-block.cm-callout { + padding: 0; + padding-bottom: 6px; +} + +.callout { + line-height: var(--line-height-1); + border-radius: var(--scale-2-4); + transition: var(--duration-superfast) var(--motion-smooth); +} +.markdown-source-view .callout { + font-family: var(--font-editor); +} +.markdown-source-view.mod-cm6 .callout { + margin: 0 0; + border-top-right-radius: var(--scale-2-4); + border-bottom-right-radius: var(--scale-2-4); +} +.markdown-preview-view .callout { + font-family: var(--font-preview); +} +.callout-title { + padding: var(--scale-2-4) 1em; + border-top-right-radius: var(--scale-2-4); + border-top-left-radius: var(--scale-2-4); +} +.callout.is-collapsed .callout-title { + border-bottom-left-radius: var(--scale-2-4); + border-bottom-right-radius: var(--scale-2-4); +} +.callout-content { + padding: var(--scale-0-0) 1em; + border-bottom-right-radius: var(--scale-2-4); + border-bottom-left-radius: var(--scale-2-4); +} + +/* Nested Markdown Fixes */ +.markdown-source-view.mod-cm6 .callout .callout { + margin: var(--scale-8-2) var(--scale-0-0); +} + +.callout .callout .callout-content { + border-right: none; + border-bottom: none; +} + +.callout-icon svg, +.callout-fold svg { + height: var(--font-text-size); + width: var(--font-text-size); +} + +.callout-icon, +.callout-fold { + display: flex; + justify-content: center; + align-items: center; +} + +/* General Styling */ +.callout { + border: 1px solid rgba(var(--callout-color), 0.2); + overflow: hidden; +} +.theme-light .callout { + box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1); +} +.theme-dark .callout { + box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2); +} +.theme-light .callout-title { + background: rgba(var(--callout-color), 0.2); +} +.theme-dark .callout-title { + background: rgba(var(--callout-color), 0.2); +} +.theme-light .callout-title .callout-icon { + filter: brightness(0.75); +} +.theme-dark .callout-title .callout-icon { + filter: brightness(1); +} +.theme-light .callout.is-collapsed .callout-title { + box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.05) inset; +} +.theme-dark .callout.is-collapsed .callout-title { + box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.175) inset; +} +.callout-fold { + color: rgba(var(--callout-color), 1); +} +.theme-light .callout-fold { + filter: brightness(0.75); +} +.theme-dark .callout-fold { + filter: brightness(1); +} +.theme-light .callout-content { + background: var(--color-l-gray-10); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.05) inset; +} +.theme-dark .callout-content { + background: var(--color-d-black); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.175) inset; +} + +/* Callout Colors */ +.theme-light, +.theme-dark { + --callout-color-general: 200, 175, 155; + --callout-color-note: 145, 125, 105; + --callout-color-abstract: 34, 152, 225; + --callout-color-summary: 255, 221, 88; + --callout-color-tldr: 240, 180, 225; + --callout-color-info: 0, 171, 197; + --callout-color-todo: 0, 171, 197; + --callout-color-tip: 70, 206, 185; + --callout-color-hint: 70, 206, 185; + --callout-color-important: 244, 87, 93; + --callout-color-success: 100, 175, 255; + --callout-color-success-bg: linear-gradient(45deg, #ef92af70, #7bd7e970, #81e1a570, #ffda2b70); + --callout-color-check: 0, 200, 83; + --callout-color-done: 0, 200, 83; + --callout-color-question: 130, 190, 235; + --callout-color-help: 150, 95, 255; + --callout-color-faq: 130, 190, 235; + --callout-color-warning: 255, 161, 32; + --callout-color-caution: 255, 161, 32; + --callout-color-attention: 255, 161, 32; + --callout-color-failure: 226, 72, 86; + --callout-color-missing: 226, 72, 86; + --callout-color-danger: 226, 72, 86; + --callout-color-error: 226, 72, 86; + --callout-color-bug: 206, 91, 124; + --callout-color-example: 173, 102, 234; + --callout-color-quote: 158, 158, 158; + --callout-color-cite: 158, 158, 158; + /* Primary Custom Callouts */ + --callout-color-pro: 147, 241, 62; + --callout-color-con: 255, 75, 75; + --callout-color-idea: 247, 141, 25; + --callout-color-morning: 149, 197, 194; + --callout-color-meditate: 149, 197, 194; + --callout-color-money: 144, 194, 120; + --callout-color-backlog: 79, 160, 178; + --callout-color-inprogress: 226, 183, 35; + --callout-color-currently: 57, 210, 169; + --callout-color-target: 247, 87, 87; + --callout-color-btc: 236, 136, 25; + --callout-color-resources: 206, 91, 124; + --callout-color-links: 57, 175, 222; + --callout-color-related: 124, 126, 255; + --callout-color-world: 185, 208, 57; + --callout-color-backstory: 72, 108, 231; + --callout-color-feature: 255, 161, 32; + --callout-color-conflict: 232, 101, 101; + --callout-color-translate: 100, 214, 255; + --callout-color-shop: 237, 160, 200; +} + +/* Callout Type Styling */ +div.callout { + --callout-color: var(--callout-color-general); +} +div.callout[data-callout=note] { + --callout-color: var(--callout-color-note); +} +div.callout[data-callout=note] .callout-title { + background: rgb(var(--callout-color), 0.03); +} +div.callout[data-callout=abstract] { + --callout-icon: loader; + --callout-color: var(--callout-color-abstract); +} +div.callout[data-callout=summary] { + --callout-icon: align-justify; + --callout-color: var(--callout-color-summary); +} +div.callout[data-callout=tldr] { + --callout-icon: clock-4; + --callout-color: var(--callout-color-tldr); +} +div.callout[data-callout=tldr] .callout-title { + text-transform: uppercase; +} +div.callout[data-callout=info] { + --callout-color: var(--callout-color-info); +} +div.callout[data-callout=todo] { + --callout-icon: check-square; + --callout-color: var(--callout-color-todo); +} +div.callout[data-callout=tip] { + --callout-icon: clover; + --callout-color: var(--callout-color-tip); +} +div.callout[data-callout=hint] { + --callout-icon: search; + --callout-color: var(--callout-color-hint); +} +div.callout[data-callout=important] { + --callout-icon: asterisk; + --callout-color: var(--callout-color-important); +} +div.callout[data-callout=check] { + --callout-icon: check; + --callout-color: var(--callout-color-check); +} +div.callout[data-callout=done] { + --callout-icon: check; + --callout-color: var(--callout-color-done); +} +div.callout[data-callout=question] { + --callout-color: var(--callout-color-question); +} +div.callout[data-callout=help] { + --callout-color: var(--callout-color-help); +} +div.callout[data-callout=faq] { + --callout-color: var(--callout-color-faq); +} +div.callout[data-callout=warning] { + --callout-color: var(--callout-color-warning); +} +div.callout[data-callout=caution] { + --callout-color: var(--callout-color-caution); +} +div.callout[data-callout=attention] { + --callout-color: var(--callout-color-attention); +} +div.callout[data-callout=fail], div.callout[data-callout=failure] { + --callout-color: var(--callout-color-failure); +} +div.callout[data-callout=missing] { + --callout-color: var(--callout-color-missing); +} +div.callout[data-callout=danger] { + --callout-color: var(--callout-color-danger); +} +div.callout[data-callout=error] { + --callout-icon: alert-circle; + --callout-color: var(--callout-color-error); +} +div.callout[data-callout=bug] { + --callout-color: var(--callout-color-bug); +} +div.callout[data-callout=example] { + --callout-color: var(--callout-color-example); +} +div.callout[data-callout=quote] { + --callout-color: var(--callout-color-quote); +} +div.callout[data-callout=cite] { + --callout-color: var(--callout-color-cite); +} +div.callout[data-callout=pro] { + --callout-icon: thumbs-up; + --callout-color: var(--callout-color-pro); +} +div.callout[data-callout=con] { + --callout-icon: thumbs-down; + --callout-color: var(--callout-color-con); +} +div.callout[data-callout=idea] { + --callout-icon: lightbulb; + --callout-color: var(--callout-color-idea); +} +div.callout[data-callout=coffee], div.callout[data-callout=morning] { + --callout-icon: coffee; + --callout-color: var(--callout-color-morning); +} +div.callout[data-callout=meditation], div.callout[data-callout=meditate] { + --callout-icon: sprout; + --callout-color: var(--callout-color-meditate); +} +div.callout[data-callout*=celebrate], div.callout[data-callout*=success] { + --callout-icon: flag; + --callout-color: var(--callout-color-success); +} +div.callout[data-callout*=celebrate] .callout-title, div.callout[data-callout*=success] .callout-title { + background: var(--callout-color-success-bg); + background-size: 800% 800%; + -webkit-animation: animateCelebrate 15s ease infinite; +} +div.callout[data-callout*=celebrate] .callout-icon, div.callout[data-callout*=success] .callout-icon { + transform: rotate(-20deg); +} +div.callout[data-callout*=celebrate] .callout-icon, div.callout[data-callout*=celebrate] .callout-fold, div.callout[data-callout*=success] .callout-icon, div.callout[data-callout*=success] .callout-fold { + color: var(--md-color-text); +} +div.callout[data-callout=money] { + --callout-icon: banknote; + --callout-color: var(--callout-color-money); +} +div.callout[data-callout=backlog] { + --callout-icon: inbox; + --callout-color: var(--callout-color-backlog); +} +div.callout[data-callout=doing], div.callout[data-callout=in-progress] { + --callout-icon: rocket; + --callout-color: var(--callout-color-inprogress); +} +div.callout[data-callout=currently] { + --callout-icon: haze; + --callout-color: var(--callout-color-currently); +} +div.callout[data-callout=target] { + --callout-icon: target; + --callout-color: var(--callout-color-target); +} +div.callout[data-callout=btc] { + --callout-icon: bitcoin; + --callout-color: var(--callout-color-btc); +} +div.callout[data-callout=resources] { + --callout-icon: bookmark; + --callout-color: var(--callout-color-resources); +} +div.callout[data-callout=links] { + --callout-icon: link-2; + --callout-color: var(--callout-color-links); +} +div.callout[data-callout=related] { + --callout-icon: shuffle; + --callout-color: var(--callout-color-related); +} +div.callout[data-callout=world], div.callout[data-callout=worlds] { + --callout-icon: globe-2; + --callout-color: var(--callout-color-world); +} +div.callout[data-callout=backstory] { + --callout-icon: feather; + --callout-color: var(--callout-color-backstory); +} +div.callout[data-callout=feature], div.callout[data-callout=features] { + --callout-icon: zap; + --callout-color: var(--callout-color-feature); +} +div.callout[data-callout=conflict], div.callout[data-callout=encounter], div.callout[data-callout=challenge] { + --callout-icon: mountain-snow; + --callout-color: var(--callout-color-conflict); +} +div.callout[data-callout=translate], div.callout[data-callout=translation] { + --callout-icon: lucide-languages; + --callout-color: var(--callout-color-translate); +} +div.callout[data-callout=buy], div.callout[data-callout=shopping], div.callout[data-callout=shop] { + --callout-icon: shopping-cart; + --callout-color: var(--callout-color-shop); +} + +/* animation for celebrate callout */ +@-webkit-keyframes animateCelebrate { + 0% { + background-position: 0% 47%; + } + 50% { + background-position: 100% 54%; + } + 100% { + background-position: 0% 47%; + } +} +/*──────────────────────────────────── + Markdown Table +────────────────────────────────────*/ +.cm-embed-block table { + font-family: var(--font-editor); +} + +.cm-s-obsidian .HyperMD-table-row { + font-family: var(--font-monospace-theme); + font-size: var(--font-scale-0-5); +} +.cm-s-obsidian .HyperMD-table-row-0 { + color: var(--md-color-code-yellow-2); + text-shadow: none; +} + +.markdown-source-view .cm-embed-block.cm-table-widget { + padding: 0 0; +} + +.markdown-preview-view table { + font-family: var(--font-preview); +} + +.markdown-preview-view table, +.markdown-source-view .cm-embed-block table { + width: 100%; +} +.markdown-preview-view table th, .markdown-preview-view table td, +.markdown-source-view .cm-embed-block table th, +.markdown-source-view .cm-embed-block table td { + border-color: var(--md-color-border); +} +.markdown-preview-view table thead, +.markdown-source-view .cm-embed-block table thead { + color: var(--md-color-code-red-1); + background: var(--background-secondary); +} +.theme-light .markdown-preview-view table tr > td, +.theme-light .markdown-source-view .cm-embed-block table tr > td { + background: var(--color-l-whiter); +} +.theme-dark .markdown-preview-view table tr > td, +.theme-dark .markdown-source-view .cm-embed-block table tr > td { + background: var(--color-d-blacker); +} + +/*──────────Active Line──────────*/ +:root .theme-light { + --md-color-activeline: rgba(255, 255, 255, 0.4); +} +:root .theme-dark { + --md-color-activeline: rgba(0, 0, 0, 0.18); +} + +.no-md-activeline.theme-light, +.no-md-activeline.theme-dark { + --md-color-activeline: transparent !important; +} + +.workspace-leaf:not(.workspace-leaf.mod-active) .cm-active, .workspace-leaf:not(.workspace-leaf.mod-active) .CodeMirror-activeline .CodeMirror-linebackground, .workspace-leaf:not(.workspace-leaf.mod-active) .CodeMirror-activeline-gutter { + background: transparent; +} + +.CodeMirror-activeline .CodeMirror-linebackground, +.CodeMirror-activeline-gutter, +.cm-active:not(.cm-gutterElement) { + background: var(--md-color-activeline); +} + +.theme-light .cm-active.cm-gutterElement { + color: var(--color-l-gray-70); +} +.theme-dark .cm-active.cm-gutterElement { + color: var(--color-d-gray-20); +} + +/*──────────Gutter Line Numbers──────────*/ +.CodeMirror-gutter.CodeMirror-linenumbers, +.CodeMirror-gutter.CodeMirror-foldgutter { + background: transparent; +} + +.markdown-source-view.mod-cm6 .cm-gutters { + padding-right: var(--scale-2-6); +} + +.CodeMirror-linenumber, +.cm-lineNumbers, +div.cm-gutterElement { + font-family: var(--font-monospace-theme); + font-size: var(--font-scale-1); + font-variant-numeric: tabular-nums; + vertical-align: super; +} + +/*──────────────────────────────────── + YAML/Metadata +────────────────────────────────────*/ +/*──────────YAML──────────*/ +pre.frontmatter.language-yaml { + border-radius: var(--scale-2-4); + border: none; +} + +.markdown-source-view .cm-hmd-frontmatter, +code.language-yaml { + font-family: var(--font-monospace-theme); + font-size: var(--font-scale-0); + font-variant-numeric: tabular-nums; +} + +/* YAML Code Colors */ +.theme-light:not(pre) > code[class*=language-], .theme-light pre[class*=language-], +.theme-dark:not(pre) > code[class*=language-], +.theme-dark pre[class*=language-] { + background: var(--background-primary-alt); +} + +.cm-s-obsidian .cm-hmd-frontmatter, +.markdown-preview-view code.language-yaml.is-loaded { + color: var(--md-color-code-red-1); +} + +.cm-s-obsidian div .cm-hmd-frontmatter.cm-string, +.markdown-preview-view code.language-yaml span.token.string { + color: var(--md-color-code-yellow-1); +} + +.cm-s-obsidian div .cm-hmd-frontmatter.cm-atom, +.markdown-preview-view code.language-yaml span.key.atrule { + color: var(--md-color-code-blue-1); +} + +.cm-s-obsidian div .cm-hmd-frontmatter.cm-def, +.cm-s-obsidian div .cm-hmd-frontmatter.cm-meta, +.markdown-preview-view code.language-yaml span.token.punctuation { + color: var(--md-color-code-gray); +} + +/*──────────Metadata──────────*/ +.frontmatter-container { + border: 1px solid var(--md-color-border); + border-radius: var(--scale-2-4); +} +.frontmatter-container .frontmatter-container-header { + border: none; + margin-bottom: var(--scale-8-1); +} +.theme-light .frontmatter-container .frontmatter-container-header:hover { + color: var(--color-l-gray-70); +} +.theme-dark .frontmatter-container .frontmatter-container-header:hover { + color: var(--color-d-white); +} +.theme-light .frontmatter-container .frontmatter-container-header:active { + color: var(--color-l-gray-50); +} +.theme-dark .frontmatter-container .frontmatter-container-header:active { + color: var(--color-d-gray-30); +} +.frontmatter-container .frontmatter-section { + border-top: 1px solid var(--md-color-border); + margin-top: 0; + padding-top: var(--scale-8-1); +} +.frontmatter-container .frontmatter-alias { + line-height: 1.2; + word-break: break-all; + white-space: unset; + padding: var(--scale-2-1) var(--scale-2-4) var(--scale-2-1) var(--scale-8-3); + border: 1px solid var(--md-color-border); + background: var(--background-secondary); +} +.frontmatter-container .frontmatter-alias-icon { + margin-left: -16px; + position: absolute; +} + +span.frontmatter-section-label { + font-family: var(--font-interface-theme); + font-size: var(--font-scale-0-5); + font-weight: var(--font-bold); + text-transform: uppercase; + margin-left: var(--scale-8-1); +} + +/*──────────Document Search and Replace──────────*/ +.markdown-reading-view.is-searching, +.markdown-source-view.is-replacing, +.markdown-source-view.is-searching { + flex-direction: column-reverse; +} + +.document-search-container { + height: 44px; + width: 97%; + max-width: 600px; + padding: 1px 2px; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-4); + margin: var(--scale-2-4) auto; +} +.document-search-container.mod-replace-mode { + height: 82px; + padding: 0; +} +.theme-light .document-search-container { + background: var(--color-l-gray-10); +} +.theme-dark .document-search-container { + background: var(--color-d-gray-80); +} +.document-replace { + border-top: 1px solid var(--background-modifier-border); +} +.document-search-input.document-search-input, .document-replace-input.document-replace-input { + width: 20%; + margin: var(--scale-2-3) var(--scale-2-3) var(--scale-2-3) var(--scale-2-3); +} +.document-search-button.document-search-button { + line-height: 0; + border-radius: var(--scale-2-2); + padding: var(--scale-2-2) var(--scale-2-3) var(--scale-2-3) var(--scale-2-3) !important; + margin: calc(1px + var(--scale-2-3)) var(--scale-2-1) var(--scale-0-0) var(--scale-2-1); +} +.document-search-button.document-search-button:last-child { + margin-right: var(--scale-2-3); +} +body.theme-light .workspace .document-search-button.document-search-button { + color: var(--text-on-accent); + background: var(--interactive-accent); +} +body.theme-light .workspace .document-search-button.document-search-button:hover { + background: var(--interactive-accent-hover); +} +body.theme-dark .workspace .document-search-button.document-search-button { + color: var(--text-on-accent); + background: var(--interactive-accent); +} +body.theme-dark .workspace .document-search-button.document-search-button:hover { + background: var(--interactive-accent-hover); +} + +.document-search-close-button { + font-family: Inter, sans-serif; + font-weight: 300; + font-size: var(--scale-8-3); + height: var(--scale-2-8); + width: var(--scale-2-8); + top: 2px; + margin-right: 2px; + transition: var(--duration-superfast) var(--motion-smooth); +} +.document-search-close-button:before:hover { + color: var(--text-muted); +} +.document-search-close-button:before:active { + color: var(--text-faint); +} + +.cm-s-obsidian span.obsidian-search-match-highlight, +.markdown-preview-view .search-highlight.search-highlight div.is-active, +.is-flashing.is-flashing { + color: var(--md-color-text); + background: var(--md-find-highlight-bg); + border-radius: var(--scale-2-2); + border-bottom: 2px solid rgba(100, 100, 100, 0.2); + box-shadow: 0px 0px 0px 1px rgba(120, 120, 120, 0.2) inset; +} + +/*──────────────────────────────────── +++++++++++++++++++++++++++++++++++++++ + Custom Icons +++++++++++++++++++++++++++++++++++++++ +──────────────────────────────────────*/ +body:not(.no-svg-replace) svg.any-key, +body:not(.no-svg-replace) svg.blocks, +body:not(.no-svg-replace) svg.bar-graph, +body:not(.no-svg-replace) svg.breadcrumbs-trail-icon, +body:not(.no-svg-replace) svg.audio-file, +body:not(.no-svg-replace) svg.bold-glyph, +body:not(.no-svg-replace) svg.italic-glyph, +body:not(.no-svg-replace) svg.bracket-glyph, +body:not(.no-svg-replace) svg.broken-link, +body:not(.no-svg-replace) svg.bullet-list-glyph, +body:not(.no-svg-replace) svg.bullet-list, +body:not(.no-svg-replace) svg.calendar-with-checkmark, +body:not(.no-svg-replace) svg.check-in-circle, +body:not(.no-svg-replace) svg.check-small, +body:not(.no-svg-replace) svg.checkbox-glyph, +body:not(.no-svg-replace) svg.checkmark, +body:not(.no-svg-replace) svg.clock, +body:not(.no-svg-replace) svg.cloud, +body:not(.no-svg-replace) svg.code-glyph, +body:not(.no-svg-replace) svg.create-new, +body:not(.no-svg-replace) svg.cross-in-box, +body:not(.no-svg-replace) svg.cross, +body:not(.no-svg-replace) svg.crossed-star, +body:not(.no-svg-replace) svg.dice, +body:not(.no-svg-replace) svg.document, +body:not(.no-svg-replace) svg.documents, +body:not(.no-svg-replace) svg.dot-network, +body:not(.no-svg-replace) svg.double-down-arrow-glyph, +body:not(.no-svg-replace) svg.double-up-arrow-glyph, +body:not(.no-svg-replace) svg.down-arrow-with-tail, +body:not(.no-svg-replace) svg.down-chevron-glyph, +body:not(.no-svg-replace) svg.enter, +body:not(.no-svg-replace) svg.exit-fullscreen, +body:not(.no-svg-replace) svg.expand-vertically, +body:not(.no-svg-replace) svg.filled-pin, +body:not(.no-svg-replace) svg.folder, +body:not(.no-svg-replace) svg.fullscreen, +body:not(.no-svg-replace) svg.gear, +body:not(.no-svg-replace) svg.hashtag, +body:not(.no-svg-replace) svg.heading-glyph, +body:not(.no-svg-replace) svg.go-to-file, +body:not(.no-svg-replace) svg.help .widget-icon, +body:not(.no-svg-replace) svg.help, +body:not(.no-svg-replace) svg.highlight-glyph, +body:not(.no-svg-replace) svg.horizontal-split, +body:not(.no-svg-replace) svg.image-file, +body:not(.no-svg-replace) svg.image-glyph, +body:not(.no-svg-replace) svg.indent-glyph, +body:not(.no-svg-replace) svg.info, +body:not(.no-svg-replace) svg.install, +body:not(.no-svg-replace) svg.keyboard-glyph, +body:not(.no-svg-replace) svg.left-arrow-with-tail, +body:not(.no-svg-replace) svg.left-arrow, +body:not(.no-svg-replace) svg.left-chevron-glyph, +body:not(.no-svg-replace) svg.lines-of-text, +body:not(.no-svg-replace) svg.link-glyph, +body:not(.no-svg-replace) svg.link, +body:not(.no-svg-replace) svg.magnifying-glass, +body:not(.no-svg-replace) svg.microphone-filled, +body:not(.no-svg-replace) svg.microphone, +body:not(.no-svg-replace) svg.minus-with-circle, +body:not(.no-svg-replace) svg.note-glyph, +body:not(.no-svg-replace) svg.number-list-glyph, +body:not(.no-svg-replace) svg.open-vault, +body:not(.no-svg-replace) svg.pane-layout, +body:not(.no-svg-replace) svg.paper-plane, +body:not(.no-svg-replace) svg.paused, +body:not(.no-svg-replace) svg.pdf-file, +body:not(.no-svg-replace) svg.pencil, +body:not(.no-svg-replace) svg.pin, +body:not(.no-svg-replace) svg.plus-with-circle, +body:not(.no-svg-replace) svg.popup-open, +body:not(.no-svg-replace) svg.presentation, +body:not(.no-svg-replace) svg.price-tag-glyph, +body:not(.no-svg-replace) svg.quote-glyph, +body:not(.no-custom-icons) svg.reading-glasses, +body:not(.no-svg-replace) svg.redo-glyph, +body:not(.no-svg-replace) svg.reset, +body:not(.no-svg-replace) svg.right-arrow-with-tail, +body:not(.no-svg-replace) svg.right-arrow, +body:not(.no-svg-replace) svg.right-chevron-glyph, +body:not(.no-svg-replace) svg.right-triangle, +body:not(.no-svg-replace) svg.run-command, +body:not(.no-svg-replace) svg.search, +body:not(.no-svg-replace) svg.sheets-in-box, +body:not(.no-svg-replace) svg.spreadsheet, +body:not(.no-svg-replace) svg.stacked-levels, +body:not(.no-svg-replace) svg.star-list, +body:not(.no-svg-replace) svg.star, +body:not(.no-svg-replace) svg.strikethrough-glyph, +body:not(.no-svg-replace) svg.switch, +body:not(.no-svg-replace) svg.sync-small, +body:not(.no-svg-replace) svg.sync, +body:not(.no-svg-replace) svg.tag-glyph, +body:not(.no-svg-replace) svg.three-horizontal-bars, +body:not(.no-svg-replace) svg.trash, +body:not(.no-svg-replace) svg.undo-glyph, +body:not(.no-svg-replace) svg.unindent-glyph, +body:not(.no-svg-replace) svg.up-and-down-arrows, +body:not(.no-svg-replace) svg.up-arrow-with-tail, +body:not(.no-svg-replace) svg.up-chevron-glyph, +body:not(.no-svg-replace) svg.uppercase-lowercase-a, +body:not(.no-svg-replace) svg.vault, +body:not(.no-svg-replace) svg.vertical-split, +body:not(.no-svg-replace) svg.vertical-three-dots, +body:not(.no-svg-replace) svg.wrench-screwdriver-glyph, +body:not(.no-svg-replace) svg.clock-glyph, +body:not(.no-svg-replace) svg.command-glyph, +body:not(.no-svg-replace) svg.add-note-glyph, +body:not(.no-svg-replace) svg.calendar-glyph, +body:not(.no-svg-replace) svg.duplicate-glyph, +body:not(.no-svg-replace) svg.file-explorer-glyph, +body:not(.no-svg-replace) svg.graph-glyph, +body:not(.no-svg-replace) svg.import-glyph, +body:not(.no-svg-replace) svg.languages, +body:not(.no-svg-replace) svg.links-coming-in, +body:not(.no-svg-replace) svg.links-going-out, +body:not(.no-svg-replace) svg.merge-files-glyph, +body:not(.no-svg-replace) svg.merge-files, +body:not(.no-svg-replace) svg.minus-with-circle, +body:not(.no-svg-replace) svg.navigate-glyph, +body:not(.no-svg-replace) svg.open-elsewhere-glyph, +body:not(.no-svg-replace) svg.paper-plane-glyph, +body:not(.no-svg-replace) svg.paste-text, +body:not(.no-svg-replace) svg.paste, +body:not(.no-svg-replace) svg.percent-sign-glyph, +body:not(.no-svg-replace) svg.play-audio-glyph, +body:not(.no-svg-replace) svg.plus-minus-glyph, +body:not(.no-svg-replace) svg.presentation-glyph, +body:not(.no-svg-replace) svg.question-mark-glyph, +body:not(.no-svg-replace) svg.restore-file-glyph, +body:not(.no-svg-replace) svg.scissors-glyph, +body:not(.no-svg-replace) svg.scissors, +body:not(.no-svg-replace) svg.search-glyph, +body:not(.no-svg-replace) svg.select-all-text, +body:not(.no-svg-replace) svg.split, +body:not(.no-svg-replace) svg.star-glyph, +body:not(.no-svg-replace) svg.stop-audio-glyph, +body:not(.no-svg-replace) svg.sweep, +body:not(.no-svg-replace) svg.two-blank-pages, +body:not(.no-svg-replace) svg.tomorrow-glyph, +body:not(.no-svg-replace) svg.yesterday-glyph, +body:not(.no-svg-replace) svg.workspace-glyph, +body:not(.no-svg-replace) svg.box-glyph, +body:not(.no-svg-replace) svg.wand, +body:not(.no-svg-replace) svg.longform, +body:not(.no-svg-replace) svg.changelog { + height: var(--scale-8-2); + width: var(--scale-8-2); + background-color: currentColor; +} + +body:not(.no-svg-replace) svg.any-key > path, +body:not(.no-svg-replace) svg.blocks > path, +body:not(.no-svg-replace) svg.bar-graph > path, +body:not(.no-svg-replace) svg.breadcrumbs-trail-icon > path, +body:not(.no-svg-replace) svg.audio-file > path, +body:not(.no-svg-replace) svg.bold-glyph > path, +body:not(.no-svg-replace) svg.italic-glyph > path, +body:not(.no-svg-replace) svg.bracket-glyph > path, +body:not(.no-svg-replace) svg.broken-link > path, +body:not(.no-svg-replace) svg.bullet-list-glyph > path, +body:not(.no-svg-replace) svg.bullet-list > path, +body:not(.no-svg-replace) svg.calendar-with-checkmark > path, +body:not(.no-svg-replace) svg.check-in-circle > path, +body:not(.no-svg-replace) svg.check-small > path, +body:not(.no-svg-replace) svg.checkbox-glyph > path, +body:not(.no-svg-replace) svg.checkmark > path, +body:not(.no-svg-replace) svg.clock > path, +body:not(.no-svg-replace) svg.cloud > path, +body:not(.no-svg-replace) svg.code-glyph > path, +body:not(.no-svg-replace) svg.create-new > path, +body:not(.no-svg-replace) svg.cross-in-box > path, +body:not(.no-svg-replace) svg.cross > path, +body:not(.no-svg-replace) svg.crossed-star > path, +body:not(.no-svg-replace) svg.dice > path, +body:not(.no-svg-replace) svg.document > path, +body:not(.no-svg-replace) svg.documents > path, +body:not(.no-svg-replace) svg.dot-network > path, +body:not(.no-svg-replace) svg.double-down-arrow-glyph > path, +body:not(.no-svg-replace) svg.double-up-arrow-glyph > path, +body:not(.no-svg-replace) svg.down-arrow-with-tail > path, +body:not(.no-svg-replace) svg.down-chevron-glyph > path, +body:not(.no-svg-replace) svg.enter > path, +body:not(.no-svg-replace) svg.exit-fullscreen > path, +body:not(.no-svg-replace) svg.expand-vertically > path, +body:not(.no-svg-replace) svg.filled-pin > path, +body:not(.no-svg-replace) svg.folder > path, +body:not(.no-svg-replace) svg.fullscreen > path, +body:not(.no-svg-replace) svg.gear > path, +body:not(.no-svg-replace) svg.hashtag > path, +body:not(.no-svg-replace) svg.heading-glyph > path, +body:not(.no-svg-replace) svg.go-to-file > path, +body:not(.no-svg-replace) svg.help .widget-icon > path, +body:not(.no-svg-replace) svg.help > path, +body:not(.no-svg-replace) svg.highlight-glyph > path, +body:not(.no-svg-replace) svg.horizontal-split > path, +body:not(.no-svg-replace) svg.image-file > path, +body:not(.no-svg-replace) svg.image-glyph > path, +body:not(.no-svg-replace) svg.indent-glyph > path, +body:not(.no-svg-replace) svg.info > path, +body:not(.no-svg-replace) svg.install > path, +body:not(.no-svg-replace) svg.keyboard-glyph > path, +body:not(.no-svg-replace) svg.left-arrow-with-tail > path, +body:not(.no-svg-replace) svg.left-arrow > path, +body:not(.no-svg-replace) svg.left-chevron-glyph > path, +body:not(.no-svg-replace) svg.lines-of-text > path, +body:not(.no-svg-replace) svg.link-glyph > path, +body:not(.no-svg-replace) svg.link > path, +body:not(.no-svg-replace) svg.magnifying-glass > path, +body:not(.no-svg-replace) svg.microphone-filled > path, +body:not(.no-svg-replace) svg.microphone > path, +body:not(.no-svg-replace) svg.minus-with-circle > path, +body:not(.no-svg-replace) svg.navigate-glyph > path, +body:not(.no-svg-replace) svg.note-glyph > path, +body:not(.no-svg-replace) svg.number-list-glyph > path, +body:not(.no-svg-replace) svg.open-vault > path, +body:not(.no-svg-replace) svg.pane-layout > path, +body:not(.no-svg-replace) svg.paper-plane > path, +body:not(.no-svg-replace) svg.paused > path, +body:not(.no-svg-replace) svg.pdf-file > path, +body:not(.no-svg-replace) svg.pencil > path, +body:not(.no-svg-replace) svg.pin > path, +body:not(.no-svg-replace) svg.plus-with-circle > path, +body:not(.no-svg-replace) svg.popup-open > path, +body:not(.no-svg-replace) svg.presentation > path, +body:not(.no-svg-replace) svg.price-tag-glyph > path, +body:not(.no-svg-replace) svg.quote-glyph > path, +body:not(.no-custom-icons) svg.reading-glasses > path, +body:not(.no-svg-replace) svg.redo-glyph > path, +body:not(.no-svg-replace) svg.reset > path, +body:not(.no-svg-replace) svg.right-arrow-with-tail > path, +body:not(.no-svg-replace) svg.right-arrow > path, +body:not(.no-svg-replace) svg.right-chevron-glyph > path, +body:not(.no-svg-replace) svg.right-triangle > path, +body:not(.no-svg-replace) svg.run-command > path, +body:not(.no-svg-replace) svg.search > path, +body:not(.no-svg-replace) svg.sheets-in-box > path, +body:not(.no-svg-replace) svg.spreadsheet > path, +body:not(.no-svg-replace) svg.stacked-levels > path, +body:not(.no-svg-replace) svg.star-list > path, +body:not(.no-svg-replace) svg.star > path, +body:not(.no-svg-replace) svg.strikethrough-glyph > path, +body:not(.no-svg-replace) svg.switch > path, +body:not(.no-svg-replace) svg.sync-small > path, +body:not(.no-svg-replace) svg.sync > path, +body:not(.no-svg-replace) svg.tag-glyph > path, +body:not(.no-svg-replace) svg.three-horizontal-bars > path, +body:not(.no-svg-replace) svg.trash > path, +body:not(.no-svg-replace) svg.undo-glyph > path, +body:not(.no-svg-replace) svg.unindent-glyph > path, +body:not(.no-svg-replace) svg.up-and-down-arrows > path, +body:not(.no-svg-replace) svg.up-arrow-with-tail > path, +body:not(.no-svg-replace) svg.up-chevron-glyph > path, +body:not(.no-svg-replace) svg.uppercase-lowercase-a > path, +body:not(.no-svg-replace) svg.vault > path, +body:not(.no-svg-replace) svg.vertical-split > path, +body:not(.no-svg-replace) svg.vertical-three-dots > path, +body:not(.no-svg-replace) svg.wrench-screwdriver-glyph > path, +body:not(.no-svg-replace) svg.clock-glyph > path, +body:not(.no-svg-replace) svg.command-glyph > path, +body:not(.no-svg-replace) svg.add-note-glyph > path, +body:not(.no-svg-replace) svg.calendar-glyph > path, +body:not(.no-svg-replace) svg.duplicate-glyph > path, +body:not(.no-svg-replace) svg.file-explorer-glyph > path, +body:not(.no-svg-replace) svg.graph-glyph > path, +body:not(.no-svg-replace) svg.import-glyph > path, +body:not(.no-svg-replace) svg.languages > path, +body:not(.no-svg-replace) svg.links-coming-in > path, +body:not(.no-svg-replace) svg.links-going-out > path, +body:not(.no-svg-replace) svg.merge-files-glyph > path, +body:not(.no-svg-replace) svg.merge-files > path, +body:not(.no-svg-replace) svg.open-elsewhere-glyph > path, +body:not(.no-svg-replace) svg.paper-plane-glyph > path, +body:not(.no-svg-replace) svg.paste-text > path, +body:not(.no-svg-replace) svg.paste > path, +body:not(.no-svg-replace) svg.percent-sign-glyph > path, +body:not(.no-svg-replace) svg.play-audio-glyph > path, +body:not(.no-svg-replace) svg.plus-minus-glyph > path, +body:not(.no-svg-replace) svg.presentation-glyph > path, +body:not(.no-svg-replace) svg.question-mark-glyph > path, +body:not(.no-svg-replace) svg.restore-file-glyph > path, +body:not(.no-svg-replace) svg.scissors-glyph > path, +body:not(.no-svg-replace) svg.scissors > path, +body:not(.no-svg-replace) svg.search-glyph > path, +body:not(.no-svg-replace) svg.select-all-text > path, +body:not(.no-svg-replace) svg.split > path, +body:not(.no-svg-replace) svg.star-glyph > path, +body:not(.no-svg-replace) svg.stop-audio-glyph > path, +body:not(.no-svg-replace) svg.sweep > path, +body:not(.no-svg-replace) svg.two-blank-pages > path, +body:not(.no-svg-replace) svg.tomorrow-glyph > path, +body:not(.no-svg-replace) svg.yesterday-glyph > path, +body:not(.no-svg-replace) svg.workspace-glyph > path, +body:not(.no-svg-replace) svg.box-glyph > path, +body:not(.no-svg-replace) svg.wand > path, +body:not(.no-svg-replace) svg.longform > path, +body:not(.no-svg-replace) svg.changelog > path { + display: none; +} + +/* Add Note (Outgoing Link, Backlink etc.) */ +body:not(.no-svg-replace) svg.add-note-glyph { + vertical-align: -3px; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m16 16a1 1 0 0 1 -1 1h-2v2a1 1 0 0 1 -2 0v-2h-2a1 1 0 0 1 0-2h2v-2a1 1 0 0 1 2 0v2h2a1 1 0 0 1 1 1zm6-5.515v8.515a5.006 5.006 0 0 1 -5 5h-10a5.006 5.006 0 0 1 -5-5v-14a5.006 5.006 0 0 1 5-5h4.515a6.958 6.958 0 0 1 4.95 2.05l3.484 3.486a6.951 6.951 0 0 1 2.051 4.949zm-6.949-7.021a5.01 5.01 0 0 0 -1.051-.78v4.316a1 1 0 0 0 1 1h4.316a4.983 4.983 0 0 0 -.781-1.05zm4.949 7.021c0-.165-.032-.323-.047-.485h-4.953a3 3 0 0 1 -3-3v-4.953c-.162-.015-.321-.047-.485-.047h-4.515a3 3 0 0 0 -3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3z'/%3E%3C/svg%3E"); +} + +/* Audio File */ +body:not(.no-svg-replace) svg.audio-file { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M22.554.923A3.978 3.978 0 0 0 19.263.07L10.079 1.792A5 5 0 0 0 6 6.706v9.85A3.959 3.959 0 0 0 4 16a4 4 0 1 0 4 4V10.876A2 2 0 0 1 9.632 8.91l11.183-2.1A1 1 0 0 1 22 7.8v5.76A3.959 3.959 0 0 0 20 13a4 4 0 1 0 4 4V4A3.987 3.987 0 0 0 22.554.923ZM4 22a2 2 0 1 1 2-2A2 2 0 0 1 4 22ZM20.447 4.848 9.263 6.944A4 4 0 0 0 8 7.416v-.71a3 3 0 0 1 2.447-2.949l9.185-1.722A2 2 0 0 1 22 4v.984A2.955 2.955 0 0 0 20.447 4.848ZM20 19a2 2 0 1 1 2-2A2 2 0 0 1 20 19Z'/%3E%3C/svg%3E"); +} + +/* Customize Hotkey, Shortcut */ +body:not(.no-svg-replace) svg.any-key { + vertical-align: -1px; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%' viewBox='0 0 24 24' width='100%' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m20.537 12.7-1.13-.7 1.131-.7a4.126 4.126 0 0 0 1.729-2.031 3.919 3.919 0 0 0 -3.28-5.272 4.124 4.124 0 0 0 -2.586.654l-.401.249v-.728a4.116 4.116 0 0 0 -3.607-4.153 4 4 0 0 0 -4.393 3.981v.9l-.4-.25a4.122 4.122 0 0 0 -2.587-.657 3.918 3.918 0 0 0 -3.283 5.27 4.123 4.123 0 0 0 1.73 2.031l1.133.706-1.131.7a4.126 4.126 0 0 0 -1.729 2.031 3.918 3.918 0 0 0 3.286 5.272 4.124 4.124 0 0 0 2.581-.651l.4-.252v.9a4 4 0 0 0 8 0v-.9l.4.251a4.126 4.126 0 0 0 2.58.653 3.918 3.918 0 0 0 3.284-5.272 4.128 4.128 0 0 0 -1.727-2.032zm-.311 4.418a1.916 1.916 0 0 1 -2.639.613l-2.059-1.282a1 1 0 0 0 -1.528.851v2.7a2 2 0 0 1 -4 0v-2.7a1 1 0 0 0 -1.528-.849l-2.059 1.284a1.915 1.915 0 1 1 -2.025-3.252l2.625-1.634a1 1 0 0 0 0-1.7l-2.625-1.633a1.915 1.915 0 0 1 2.025-3.252l2.059 1.282a1 1 0 0 0 1.528-.846v-2.593a2.075 2.075 0 0 1 1.664-2.08 2 2 0 0 1 2.336 1.973v2.7a1 1 0 0 0 1.528.848l2.059-1.281a1.915 1.915 0 1 1 2.025 3.252l-2.625 1.634a1 1 0 0 0 0 1.7l2.625 1.634a1.914 1.914 0 0 1 .614 2.638z'/%3E%3C/svg%3E"); +} + +/* Markdown Importer */ +body:not(.no-svg-replace) svg.blocks { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M9.878 18.122a3 3 0 0 0 4.244 0l3.211-3.211A1 1 0 0 0 15.919 13.5l-2.926 2.927L13 1a1 1 0 0 0-1-1h0a1 1 0 0 0-1 1l-.009 15.408L8.081 13.5a1 1 0 0 0-1.414 1.415Z'/%3E%3Cpath d='M23 16h0a1 1 0 0 0-1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V17a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3H21a3 3 0 0 0 3-3V17A1 1 0 0 0 23 16Z'/%3E%3C/svg%3E"); +} + +/* Bar Graph */ +body:not(.no-svg-replace) svg.bar-graph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23 22H5a3 3 0 0 1-3-3V1A1 1 0 0 0 0 1V19a5.006 5.006 0 0 0 5 5H23a1 1 0 0 0 0-2Z'/%3E%3Cpath d='M6 20a1 1 0 0 0 1-1V12a1 1 0 0 0-2 0v7A1 1 0 0 0 6 20Z'/%3E%3Cpath d='M10 10v9a1 1 0 0 0 2 0V10a1 1 0 0 0-2 0Z'/%3E%3Cpath d='M15 13v6a1 1 0 0 0 2 0V13a1 1 0 0 0-2 0Z'/%3E%3Cpath d='M20 9V19a1 1 0 0 0 2 0V9a1 1 0 0 0-2 0Z'/%3E%3Cpath d='M6 9a1 1 0 0 0 .707-.293l3.586-3.586a1.025 1.025 0 0 1 1.414 0l2.172 2.172a3 3 0 0 0 4.242 0l5.586-5.586A1 1 0 0 0 22.293.293L16.707 5.878a1 1 0 0 1-1.414 0L13.121 3.707a3 3 0 0 0-4.242 0L5.293 7.293A1 1 0 0 0 6 9Z'/%3E%3C/svg%3E"); +} + +/* Bold Glyph */ +body:not(.no-svg-replace) svg.bold-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M17.954 10.663A6.986 6.986 0 0 0 12 0H5A2 2 0 0 0 3 2V22a2 2 0 0 0 2 2H15a6.994 6.994 0 0 0 2.954-13.337ZM7 4h5a3 3 0 0 1 0 6H7Zm8 16H7V14h8a3 3 0 0 1 0 6Z'/%3E%3C/svg%3E"); +} + +/* Box Glyph */ +body:not(.no-svg-replace) svg.box-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M9 14h6a1 1 0 0 0 0-2H9a1 1 0 0 0 0 2Z'/%3E%3Cpath d='M19 0H5A5.006 5.006 0 0 0 0 5V6A3 3 0 0 0 1 8.234V19a5.006 5.006 0 0 0 5 5H18a5.006 5.006 0 0 0 5-5V8.234A3 3 0 0 0 24 6V5A5.006 5.006 0 0 0 19 0ZM2 5A3 3 0 0 1 5 2H19a3 3 0 0 1 3 3V6a1 1 0 0 1-1 1H3A1 1 0 0 1 2 6ZM21 19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9H21Z'/%3E%3C/svg%3E"); +} + +/* Bracket Glyph */ +body:not(.no-svg-replace) svg.bracket-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 17.5V18.9999C2 19.7955 2.31607 20.5586 2.87868 21.1212C3.44129 21.6838 4.20435 21.9999 5 21.9999H7C7.26522 21.9999 7.51957 22.1052 7.70711 22.2928C7.89464 22.4803 8 22.7346 8 22.9999C8 23.2651 7.89464 23.5194 7.70711 23.707C7.51957 23.8945 7.26522 23.9999 7 23.9999H5C3.67441 23.9983 2.40356 23.471 1.46622 22.5336C0.528882 21.5963 0.00158786 20.3255 0 18.9999V17.5V16.9999V5C0.00158786 3.67441 0.528882 2.40356 1.46622 1.46622C2.40356 0.528882 3.67441 0.00158786 5 0H7C7.26522 0 7.51957 0.105357 7.70711 0.292893C7.89464 0.48043 8 0.734784 8 1C8 1.26522 7.89464 1.51957 7.70711 1.70711C7.51957 1.89464 7.26522 2 7 2H5C4.20435 2 3.44129 2.31607 2.87868 2.87868C2.31607 3.44129 2 4.20435 2 5V16.9999V17.5Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M23.9998 17.5V18.9999C23.9982 20.3255 23.471 21.5963 22.5336 22.5336C21.5963 23.471 20.3254 23.9983 18.9998 23.9999H16.9998C16.7346 23.9999 16.4803 23.8945 16.2927 23.707C16.1052 23.5194 15.9998 23.2651 15.9998 22.9999C15.9998 22.7346 16.1052 22.4803 16.2927 22.2928C16.4803 22.1052 16.7346 21.9999 16.9998 21.9999H18.9998C19.7955 21.9999 20.5586 21.6838 21.1212 21.1212C21.6838 20.5586 21.9998 19.7955 21.9998 18.9999V17.5V16.9999V5C21.9998 4.20435 21.6838 3.44129 21.1212 2.87868C20.5586 2.31607 19.7955 2 18.9998 2H16.9998C16.7346 2 16.4803 1.89464 16.2927 1.70711C16.1052 1.51957 15.9998 1.26522 15.9998 1C15.9998 0.734784 16.1052 0.48043 16.2927 0.292893C16.4803 0.105357 16.7346 0 16.9998 0H18.9998C20.3254 0.00158786 21.5963 0.528882 22.5336 1.46622C23.471 2.40356 23.9982 3.67441 23.9998 5V16.9999V17.5Z' fill='black'/%3E%3C/svg%3E"); +} + +/* Breadcrumbs Trail */ +body:not(.no-svg-replace) svg.breadcrumbs-trail-icon { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M17 23H7a5.006 5.006 0 0 1-5-5V10.446a1.119 1.119 0 0 0-.391-.792A4.989 4.989 0 0 1 .066 5.179C.482 2.6 2.85 1 6.242 1H18.848a5.122 5.122 0 0 1 5.086 4.179h0a4.99 4.99 0 0 1-1.546 4.478 1.115 1.115 0 0 0-.388.789V18A5.006 5.006 0 0 1 17 23ZM6.242 3c-2.414 0-3.945.911-4.2 2.5a2.951 2.951 0 0 0 .924 2.685A3.072 3.072 0 0 1 4 10.446V18a3 3 0 0 0 3 3H17a3 3 0 0 0 3-3V10.446a3.061 3.061 0 0 1 1.034-2.261A2.952 2.952 0 0 0 21.959 5.5h0A3.106 3.106 0 0 0 18.848 3ZM8 12a1 1 0 0 0 0 2A1 1 0 0 0 8 12Zm4 4a1 1 0 0 0 0 2A1 1 0 0 0 12 16ZM8 16a1 1 0 0 0 0 2A1 1 0 0 0 8 16Z'/%3E%3C/svg%3E"); +} + +/* Broken Link */ +body:not(.no-svg-replace) svg.broken-link { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_537:16)'%3E%3Cpath d='M13.845 17.2669L10.583 20.5289C9.63594 21.4507 8.36403 21.9625 7.04247 21.9537C5.72091 21.9448 4.45597 21.416 3.52133 20.4816C2.58669 19.5472 2.05751 18.2825 2.04829 16.9609C2.03906 15.6393 2.55052 14.3673 3.47202 13.4199L6.73402 10.155C6.92153 9.96731 7.02682 9.71287 7.02672 9.4476C7.02663 9.18233 6.92116 8.92796 6.73352 8.74046C6.54588 8.55295 6.29144 8.44766 6.02617 8.44775C5.7609 8.44785 5.50653 8.55332 5.31902 8.74096L2.05802 12.0059C0.740293 13.3243 0.00026379 15.1122 0.000732645 16.9762C0.0012015 18.8402 0.74213 20.6277 2.06052 21.9454C3.37891 23.2632 5.16677 24.0032 7.03079 24.0027C8.89481 24.0022 10.6823 23.2613 12 21.9429L15.262 18.6809C15.4442 18.4923 15.545 18.2397 15.5427 17.9775C15.5404 17.7153 15.4352 17.4645 15.2498 17.2791C15.0644 17.0937 14.8136 16.9885 14.5514 16.9863C14.2892 16.984 14.0366 17.0848 13.848 17.2669H13.845Z' fill='black'/%3E%3Cpath d='M21.9441 2.06139C21.2934 1.40621 20.5191 0.88667 19.6662 0.532887C18.8132 0.179104 17.8985 -0.00189024 16.9751 0.000390852V0.000390852C16.0522 -0.00206088 15.1379 0.178469 14.2852 0.531542C13.4324 0.884615 12.6582 1.40323 12.0071 2.05739L8.7401 5.32039C8.55246 5.5079 8.44699 5.76227 8.4469 6.02754C8.44681 6.29281 8.55209 6.54725 8.7396 6.73489C8.92711 6.92253 9.18148 7.028 9.44675 7.02809C9.71202 7.02819 9.96646 6.9229 10.1541 6.73539L13.4191 3.47339C13.8847 3.00504 14.4385 2.63369 15.0485 2.38085C15.6586 2.12801 16.3127 1.99869 16.9731 2.00039V2.00039C17.9674 2.00072 18.9392 2.29582 19.7658 2.84839C20.5924 3.40096 21.2366 4.18619 21.6169 5.10481C21.9973 6.02344 22.0968 7.03421 21.9028 8.00937C21.7088 8.98452 21.2301 9.88028 20.5271 10.5834L17.2651 13.8454C17.0775 14.033 16.972 14.2875 16.972 14.5529C16.972 14.8183 17.0775 15.0728 17.2651 15.2604C17.4527 15.448 17.7072 15.5534 17.9726 15.5534C18.238 15.5534 18.4925 15.448 18.6801 15.2604L21.9421 12.0004C23.2581 10.6815 23.9974 8.89449 23.9978 7.03131C23.9982 5.16812 23.2596 3.38082 21.9441 2.06139V2.06139Z' fill='black'/%3E%3Cpath d='M14.2932 8.29316L8.2932 14.2932C8.19769 14.3854 8.12151 14.4957 8.0691 14.6177C8.01669 14.7397 7.98911 14.871 7.98795 15.0037C7.9868 15.1365 8.0121 15.2682 8.06238 15.3911C8.11266 15.514 8.18692 15.6257 8.28081 15.7195C8.3747 15.8134 8.48635 15.8877 8.60925 15.938C8.73215 15.9882 8.86382 16.0136 8.9966 16.0124C9.12938 16.0112 9.2606 15.9837 9.38261 15.9312C9.50461 15.8788 9.61496 15.8027 9.7072 15.7071L15.7072 9.70716C15.8894 9.51856 15.9902 9.26596 15.9879 9.00376C15.9856 8.74156 15.8804 8.49075 15.695 8.30534C15.5096 8.11994 15.2588 8.01477 14.9966 8.01249C14.7344 8.01021 14.4818 8.111 14.2932 8.29316Z' fill='black'/%3E%3C/g%3E%3Cpath d='M6 1V5C6 5.26522 5.89463 5.51959 5.70709 5.70712C5.51956 5.89466 5.26522 6 5 6H1C0.734784 6 0.480444 5.89466 0.292908 5.70712C0.105371 5.51959 0 5.26522 0 5C0 4.73478 0.105371 4.48044 0.292908 4.29291C0.480444 4.10537 0.734784 4 1 4H4V1C4 0.734784 4.10537 0.480444 4.29291 0.292908C4.48044 0.105371 4.73478 0 5 0C5.26522 0 5.51956 0.105371 5.70709 0.292908C5.89463 0.480444 6 0.734784 6 1Z' fill='black'/%3E%3Cpath d='M18 23V19C18 18.7348 18.1054 18.4804 18.2929 18.2929C18.4804 18.1053 18.7348 18 19 18H23C23.2652 18 23.5196 18.1053 23.7071 18.2929C23.8946 18.4804 24 18.7348 24 19C24 19.2652 23.8946 19.5196 23.7071 19.7071C23.5196 19.8946 23.2652 20 23 20H20V23C20 23.2652 19.8946 23.5196 19.7071 23.7071C19.5196 23.8946 19.2652 24 19 24C18.7348 24 18.4804 23.8946 18.2929 23.7071C18.1054 23.5196 18 23.2652 18 23Z' fill='black'/%3E%3Cdefs%3E%3CclipPath id='clip0_537:16'%3E%3Crect width='24' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E"); +} + +/* Bullet List, Outline, Collapse Results */ +body:not(.no-svg-replace) svg.bullet-list { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M7 6H23a1 1 0 0 0 0-2H7A1 1 0 0 0 7 6Z'/%3E%3Cpath d='M23 11H7a1 1 0 0 0 0 2H23a1 1 0 0 0 0-2Z'/%3E%3Cpath d='M23 18H7a1 1 0 0 0 0 2H23a1 1 0 0 0 0-2Z'/%3E%3Ccircle cx='2' cy='5' r='2'/%3E%3Ccircle cx='2' cy='12' r='2'/%3E%3Ccircle cx='2' cy='19' r='2'/%3E%3C/svg%3E"); +} + +/* Bullet List 2 */ +body:not(.no-svg-replace) svg.bullet-list-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M7 6H23a1 1 0 0 0 0-2H7A1 1 0 0 0 7 6Z'/%3E%3Cpath d='M23 11H7a1 1 0 0 0 0 2H23a1 1 0 0 0 0-2Z'/%3E%3Cpath d='M23 18H7a1 1 0 0 0 0 2H23a1 1 0 0 0 0-2Z'/%3E%3Ccircle cx='2' cy='5' r='2'/%3E%3Ccircle cx='2' cy='12' r='2'/%3E%3Ccircle cx='2' cy='19' r='2'/%3E%3C/svg%3E"); +} + +/* Calendar */ +body:not(.no-svg-replace) svg.calendar-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19 2H18V1a1 1 0 0 0-2 0V2H8V1A1 1 0 0 0 6 1V2H5A5.006 5.006 0 0 0 0 7V19a5.006 5.006 0 0 0 5 5H19a5.006 5.006 0 0 0 5-5V7A5.006 5.006 0 0 0 19 2ZM2 7A3 3 0 0 1 5 4H19a3 3 0 0 1 3 3V8H2ZM19 22H5a3 3 0 0 1-3-3V10H22v9A3 3 0 0 1 19 22Z'/%3E%3Ccircle cx='12' cy='15' r='1.5'/%3E%3Ccircle cx='7' cy='15' r='1.5'/%3E%3Ccircle cx='17' cy='15' r='1.5'/%3E%3C/svg%3E"); +} + +/* Calendar with Checkmark, Daily Note */ +body:not(.no-svg-replace) svg.calendar-with-checkmark { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_521:13)'%3E%3Cpath d='M19 2H18V1C18 0.734784 17.8946 0.48043 17.7071 0.292893C17.5196 0.105357 17.2652 0 17 0C16.7348 0 16.4804 0.105357 16.2929 0.292893C16.1054 0.48043 16 0.734784 16 1V2H8V1C8 0.734784 7.89464 0.48043 7.70711 0.292893C7.51957 0.105357 7.26522 0 7 0C6.73478 0 6.48043 0.105357 6.29289 0.292893C6.10536 0.48043 6 0.734784 6 1V2H5C3.67441 2.00159 2.40356 2.52888 1.46622 3.46622C0.528882 4.40356 0.00158786 5.67441 0 7L0 19C0.00158786 20.3256 0.528882 21.5964 1.46622 22.5338C2.40356 23.4711 3.67441 23.9984 5 24H19C20.3256 23.9984 21.5964 23.4711 22.5338 22.5338C23.4711 21.5964 23.9984 20.3256 24 19V7C23.9984 5.67441 23.4711 4.40356 22.5338 3.46622C21.5964 2.52888 20.3256 2.00159 19 2ZM2 7C2 6.20435 2.31607 5.44129 2.87868 4.87868C3.44129 4.31607 4.20435 4 5 4H19C19.7956 4 20.5587 4.31607 21.1213 4.87868C21.6839 5.44129 22 6.20435 22 7V8H2V7ZM19 22H5C4.20435 22 3.44129 21.6839 2.87868 21.1213C2.31607 20.5587 2 19.7956 2 19V10H22V19C22 19.7956 21.6839 20.5587 21.1213 21.1213C20.5587 21.6839 19.7956 22 19 22Z' fill='black'/%3E%3Cpath d='M15.1699 13.2932L10.9819 17.4932L8.73791 15.1532C8.64785 15.0548 8.539 14.9753 8.41777 14.9196C8.29654 14.8638 8.16537 14.8329 8.03201 14.8287C7.89864 14.8244 7.76577 14.8468 7.64121 14.8947C7.51666 14.9426 7.40295 15.0149 7.30678 15.1074C7.21061 15.1999 7.13393 15.3107 7.08124 15.4333C7.02856 15.5559 7.00094 15.6878 7.00002 15.8213C6.9991 15.9547 7.0249 16.087 7.07589 16.2103C7.12687 16.3336 7.20202 16.4454 7.29691 16.5392L9.60291 18.9393C9.77489 19.125 9.98275 19.2739 10.2139 19.3771C10.4451 19.4802 10.6948 19.5354 10.9479 19.5393H10.9809C11.229 19.5401 11.4747 19.4916 11.7039 19.3967C11.9331 19.3017 12.1411 19.1622 12.3159 18.9863L16.5879 14.7142C16.6812 14.6211 16.7553 14.5106 16.8058 14.3888C16.8564 14.2671 16.8825 14.1366 16.8826 14.0048C16.8828 13.873 16.857 13.7424 16.8066 13.6206C16.7563 13.4988 16.6825 13.388 16.5894 13.2947C16.4963 13.2014 16.3857 13.1274 16.264 13.0768C16.1423 13.0262 16.0118 13.0001 15.88 13C15.7482 12.9999 15.6176 13.0257 15.4958 13.076C15.3739 13.1263 15.2632 13.2001 15.1699 13.2932Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_521:13'%3E%3Crect width='24' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E"); +} + +/* Changelog */ +body:not(.no-svg-replace) svg.changelog { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12 0A12 12 0 1 0 24 12 12.013 12.013 0 0 0 12 0Zm0 22A10 10 0 1 1 22 12 10.011 10.011 0 0 1 12 22Z'/%3E%3Cpath d='M12 10H11a1 1 0 0 0 0 2h1v6a1 1 0 0 0 2 0V12A2 2 0 0 0 12 10Z'/%3E%3Ccircle cx='12' cy='6.5' r='1.5'/%3E%3C/svg%3E"); +} + +/* Checkbox */ +body:not(.no-svg-replace) svg.checkbox-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19 0H5A5.006 5.006 0 0 0 0 5V19a5.006 5.006 0 0 0 5 5H19a5.006 5.006 0 0 0 5-5V5A5.006 5.006 0 0 0 19 0Zm3 19a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5A3 3 0 0 1 5 2H19a3 3 0 0 1 3 3Z'/%3E%3Cpath d='M9.333 15.919 5.414 12A1 1 0 0 0 4 12H4a1 1 0 0 0 0 1.414l3.919 3.919a2 2 0 0 0 2.829 0L20 8.081a1 1 0 0 0 0-1.414h0a1 1 0 0 0-1.414 0Z'/%3E%3C/svg%3E"); +} + +/* Check in Circle */ +body:not(.no-svg-replace) svg.check-in-circle { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.5 17a2 2 0 0 1-1.416-.586L5.3 12.715a1 1 0 0 1 1.4-1.43l3.793 3.707 6.806-6.7a1 1 0 0 1 1.4 1.424l-6.793 6.707A1.983 1.983 0 0 1 10.5 17ZM24 19V12.34A12.209 12.209 0 0 0 12.836.028 12 12 0 0 0 .029 12.854C.471 19.208 6.082 24 13.083 24H19A5.006 5.006 0 0 0 24 19ZM12.7 2.024A10.2 10.2 0 0 1 22 12.34V19a3 3 0 0 1-3 3H13.083C7.049 22 2.4 18.1 2.025 12.716A10 10 0 0 1 12.016 2C12.243 2 12.472 2.009 12.7 2.024Z'/%3E%3C/svg%3E"); +} + +/* Checkmark */ +body:not(.no-svg-replace) svg.checkmark { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M22.319 4.431 8.5 18.249a1 1 0 0 1-1.417 0L1.739 12.9a1 1 0 0 0-1.417 0h0a1 1 0 0 0 0 1.417l5.346 5.345a3.008 3.008 0 0 0 4.25 0L23.736 5.847a1 1 0 0 0 0-1.416h0A1 1 0 0 0 22.319 4.431Z'/%3E%3C/svg%3E"); +} + +/* Check Small, Obsidian Sync */ +body:not(.no-svg-replace) svg.check-small { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.5,17a2,2,0,0,1-1.416-.586L5.3,12.715a1,1,0,0,1,1.4-1.43l3.793,3.707,6.806-6.7a1,1,0,0,1,1.4,1.424l-6.793,6.707A1.983,1.983,0,0,1,10.5,17ZM24,19V12.34A12.209,12.209,0,0,0,12.836.028,12,12,0,0,0,.029,12.854C.471,19.208,6.082,24,13.083,24H19A5.006,5.006,0,0,0,24,19ZM12.7,2.024A10.2,10.2,0,0,1,22,12.34V19a3,3,0,0,1-3,3H13.083C7.049,22,2.4,18.1,2.025,12.716A10,10,0,0,1,12.016,2C12.243,2,12.472,2.009,12.7,2.024Z'/%3E%3C/svg%3E"); +} + +/* Clock, Recent Files Community Plugin */ +body:not(.no-svg-replace) svg.clock { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12 0A11.972 11.972 0 0 0 4 3.073V1A1 1 0 0 0 2 1V4A3 3 0 0 0 5 7H8A1 1 0 0 0 8 5H5a.854.854 0 0 1-.1-.021A9.987 9.987 0 1 1 2 12a1 1 0 0 0-2 0A12 12 0 1 0 12 0Z'/%3E%3Cpath d='M12 6a1 1 0 0 0-1 1v5a1 1 0 0 0 .293.707l3 3a1 1 0 0 0 1.414-1.414L13 11.586V7A1 1 0 0 0 12 6Z'/%3E%3C/svg%3E"); +} + +/* Clock 2 */ +body:not(.no-svg-replace) svg.clock-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12 0A12 12 0 1 0 24 12 12.013 12.013 0 0 0 12 0Zm0 22A10 10 0 1 1 22 12 10.011 10.011 0 0 1 12 22Z'/%3E%3Cpath d='M12 6a1 1 0 0 0-1 1v4.325L7.629 13.437a1 1 0 0 0 1.062 1.7l3.84-2.4A1 1 0 0 0 13 11.879V7A1 1 0 0 0 12 6Z'/%3E%3C/svg%3E"); +} + +/* Cloud */ +body:not(.no-svg-replace) svg.cloud { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M17.792,7.212A8,8,0,0,0,2,9a7.915,7.915,0,0,0,.9,3.671A5.49,5.49,0,0,0,5.5,23H16A8,8,0,0,0,17.792,7.212ZM16,21H5.5a3.491,3.491,0,0,1-.872-6.874,1,1,0,0,0,.554-1.564A5.936,5.936,0,0,1,4,9a6,6,0,0,1,11.94-.8,1,1,0,0,0,.858.86A6,6,0,0,1,16,21Z'/%3E%3C/svg%3E%0A"); +} + +/* Code */ +body:not(.no-svg-replace) svg.code-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19,6H13V3a1,1,0,0,0-2,0V6H5a5.006,5.006,0,0,0-5,5v4a5.006,5.006,0,0,0,5,5H19a5.006,5.006,0,0,0,5-5V11A5.006,5.006,0,0,0,19,6Zm3,9a3,3,0,0,1-3,3H5a3,3,0,0,1-3-3V11A3,3,0,0,1,5,8H19a3,3,0,0,1,3,3Z'/%3E%3Cpath d='M15,14H9a1,1,0,0,0,0,2h6a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M10,12h1a1,1,0,0,0,0-2H10a1,1,0,0,0,0,2Z'/%3E%3Cpath d='M19,10H15a1,1,0,0,0,0,2h4a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M6,10H5a1,1,0,0,0,0,2H6a1,1,0,0,0,0-2Z'/%3E%3Ccircle cx='5' cy='15' r='1'/%3E%3Ccircle cx='19' cy='15' r='1'/%3E%3C/svg%3E"); +} + +/* Command, Hotkey */ +body:not(.no-svg-replace) svg.command-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%' viewBox='0 0 24 24' width='100%' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m20.537 12.7-1.13-.7 1.131-.7a4.126 4.126 0 0 0 1.729-2.031 3.919 3.919 0 0 0 -3.28-5.272 4.124 4.124 0 0 0 -2.586.654l-.401.249v-.728a4.116 4.116 0 0 0 -3.607-4.153 4 4 0 0 0 -4.393 3.981v.9l-.4-.25a4.122 4.122 0 0 0 -2.587-.657 3.918 3.918 0 0 0 -3.283 5.27 4.123 4.123 0 0 0 1.73 2.031l1.133.706-1.131.7a4.126 4.126 0 0 0 -1.729 2.031 3.918 3.918 0 0 0 3.286 5.272 4.124 4.124 0 0 0 2.581-.651l.4-.252v.9a4 4 0 0 0 8 0v-.9l.4.251a4.126 4.126 0 0 0 2.58.653 3.918 3.918 0 0 0 3.284-5.272 4.128 4.128 0 0 0 -1.727-2.032zm-.311 4.418a1.916 1.916 0 0 1 -2.639.613l-2.059-1.282a1 1 0 0 0 -1.528.851v2.7a2 2 0 0 1 -4 0v-2.7a1 1 0 0 0 -1.528-.849l-2.059 1.284a1.915 1.915 0 1 1 -2.025-3.252l2.625-1.634a1 1 0 0 0 0-1.7l-2.625-1.633a1.915 1.915 0 0 1 2.025-3.252l2.059 1.282a1 1 0 0 0 1.528-.846v-2.593a2.075 2.075 0 0 1 1.664-2.08 2 2 0 0 1 2.336 1.973v2.7a1 1 0 0 0 1.528.848l2.059-1.281a1.915 1.915 0 1 1 2.025 3.252l-2.625 1.634a1 1 0 0 0 0 1.7l2.625 1.634a1.914 1.914 0 0 1 .614 2.638z'/%3E%3C/svg%3E"); +} + +/* Create New */ +body:not(.no-svg-replace) svg.create-new { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m12 0a12 12 0 1 0 12 12 12.013 12.013 0 0 0 -12-12zm0 22a10 10 0 1 1 10-10 10.011 10.011 0 0 1 -10 10zm5-10a1 1 0 0 1 -1 1h-3v3a1 1 0 0 1 -2 0v-3h-3a1 1 0 0 1 0-2h3v-3a1 1 0 0 1 2 0v3h3a1 1 0 0 1 1 1z'/%3E%3C/svg%3E"); +} + +/* Cross, Global Close Icon (except Title Bar) */ +body:not(.no-svg-replace) svg.cross { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M18,6h0a1,1,0,0,0-1.414,0L12,10.586,7.414,6A1,1,0,0,0,6,6H6A1,1,0,0,0,6,7.414L10.586,12,6,16.586A1,1,0,0,0,6,18H6a1,1,0,0,0,1.414,0L12,13.414,16.586,18A1,1,0,0,0,18,18h0a1,1,0,0,0,0-1.414L13.414,12,18,7.414A1,1,0,0,0,18,6Z'/%3E%3C/svg%3E%0A"); +} + +/* Cross, Active Note -> Close */ +body:not(.no-svg-replace) .view-header .view-actions .view-action.mod-close-leaf[aria-label=Close] svg.cross { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M16,8a1,1,0,0,0-1.414,0L12,10.586,9.414,8A1,1,0,0,0,8,9.414L10.586,12,8,14.586A1,1,0,0,0,9.414,16L12,13.414,14.586,16A1,1,0,0,0,16,14.586L13.414,12,16,9.414A1,1,0,0,0,16,8Z'/%3E%3Cpath d='M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z'/%3E%3C/svg%3E%0A"); +} + +/* Crossed Star */ +body:not(.no-svg-replace) svg.crossed-star { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M18,6h0a1,1,0,0,0-1.414,0L12,10.586,7.414,6A1,1,0,0,0,6,6H6A1,1,0,0,0,6,7.414L10.586,12,6,16.586A1,1,0,0,0,6,18H6a1,1,0,0,0,1.414,0L12,13.414,16.586,18A1,1,0,0,0,18,18h0a1,1,0,0,0,0-1.414L13.414,12,18,7.414A1,1,0,0,0,18,6Z'/%3E%3C/svg%3E%0A"); +} + +/* Cross in Box */ +body:not(.no-svg-replace) svg.cross-in-box { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M16,8a1,1,0,0,0-1.414,0L12,10.586,9.414,8A1,1,0,0,0,8,9.414L10.586,12,8,14.586A1,1,0,0,0,9.414,16L12,13.414,14.586,16A1,1,0,0,0,16,14.586L13.414,12,16,9.414A1,1,0,0,0,16,8Z'/%3E%3Cpath d='M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z'/%3E%3C/svg%3E%0A"); +} + +/* Dice, Random Note */ +body:not(.no-svg-replace) svg.dice { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 24h-14a5.006 5.006 0 0 1 -5-5v-14a5.006 5.006 0 0 1 5-5h14a5.006 5.006 0 0 1 5 5v14a5.006 5.006 0 0 1 -5 5zm-14-22a3 3 0 0 0 -3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-14a3 3 0 0 0 -3-3zm6 10a1 1 0 1 0 1-1 1 1 0 0 0 -1 1zm-5-5a1 1 0 1 0 1-1 1 1 0 0 0 -1 1zm10 0a1 1 0 1 0 1-1 1 1 0 0 0 -1 1zm-10 10a1 1 0 1 0 1-1 1 1 0 0 0 -1 1zm10 0a1 1 0 1 0 1-1 1 1 0 0 0 -1 1z'/%3E%3C/svg%3E"); +} + +/* Document (General) */ +body:not(.no-svg-replace) svg.document { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19.949,5.536,16.465,2.05A6.958,6.958,0,0,0,11.515,0H7A5.006,5.006,0,0,0,2,5V19a5.006,5.006,0,0,0,5,5H17a5.006,5.006,0,0,0,5-5V10.485A6.951,6.951,0,0,0,19.949,5.536ZM18.535,6.95A4.983,4.983,0,0,1,19.316,8H15a1,1,0,0,1-1-1V2.684a5.01,5.01,0,0,1,1.051.78ZM20,19a3,3,0,0,1-3,3H7a3,3,0,0,1-3-3V5A3,3,0,0,1,7,2h4.515c.164,0,.323.032.485.047V7a3,3,0,0,0,3,3h4.953c.015.162.047.32.047.485Z'/%3E%3C/svg%3E%0A"); +} + +/* Document, File Explorer New Note */ +body:not(.no-svg-replace) .workspace-leaf-content[data-type=file-explorer] .nav-header .nav-action-button svg.document { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m16 16a1 1 0 0 1 -1 1h-2v2a1 1 0 0 1 -2 0v-2h-2a1 1 0 0 1 0-2h2v-2a1 1 0 0 1 2 0v2h2a1 1 0 0 1 1 1zm6-5.515v8.515a5.006 5.006 0 0 1 -5 5h-10a5.006 5.006 0 0 1 -5-5v-14a5.006 5.006 0 0 1 5-5h4.515a6.958 6.958 0 0 1 4.95 2.05l3.484 3.486a6.951 6.951 0 0 1 2.051 4.949zm-6.949-7.021a5.01 5.01 0 0 0 -1.051-.78v4.316a1 1 0 0 0 1 1h4.316a4.983 4.983 0 0 0 -.781-1.05zm4.949 7.021c0-.165-.032-.323-.047-.485h-4.953a3 3 0 0 1 -3-3v-4.953c-.162-.015-.321-.047-.485-.047h-4.515a3 3 0 0 0 -3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3z'/%3E%3C/svg%3E"); +} + +/* Document, Active Note (Markdown) */ +body:not(.no-svg-replace) .workspace-leaf-content[data-type=markdown] .view-header .view-header-icon svg.document { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%' viewBox='0 0 24 24' width='100%' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m17 14a1 1 0 0 1 -1 1h-8a1 1 0 0 1 0-2h8a1 1 0 0 1 1 1zm-4 3h-5a1 1 0 0 0 0 2h5a1 1 0 0 0 0-2zm9-6.515v8.515a5.006 5.006 0 0 1 -5 5h-10a5.006 5.006 0 0 1 -5-5v-14a5.006 5.006 0 0 1 5-5h4.515a6.958 6.958 0 0 1 4.95 2.05l3.484 3.486a6.951 6.951 0 0 1 2.051 4.949zm-6.949-7.021a5.01 5.01 0 0 0 -1.051-.78v4.316a1 1 0 0 0 1 1h4.316a4.983 4.983 0 0 0 -.781-1.05zm4.949 7.021c0-.165-.032-.323-.047-.485h-4.953a3 3 0 0 1 -3-3v-4.953c-.162-.015-.321-.047-.485-.047h-4.515a3 3 0 0 0 -3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3z'/%3E%3C/svg%3E"); +} + +/* Document, Active Note ( ) */ +body:not(.no-svg-replace) .workspace-leaf-content[data-type=" "] .view-header .view-header-icon svg.document { + -webkit-mask-image: url(""); +} + +/* Multiple Document, Insert Template */ +body:not(.no-svg-replace) svg.documents { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m13 20a5.006 5.006 0 0 0 5-5v-8.757a3.972 3.972 0 0 0 -1.172-2.829l-2.242-2.242a3.972 3.972 0 0 0 -2.829-1.172h-4.757a5.006 5.006 0 0 0 -5 5v10a5.006 5.006 0 0 0 5 5zm-9-5v-10a3 3 0 0 1 3-3s4.919.014 5 .024v1.976a2 2 0 0 0 2 2h1.976c.01.081.024 9 .024 9a3 3 0 0 1 -3 3h-6a3 3 0 0 1 -3-3zm18-7v11a5.006 5.006 0 0 1 -5 5h-9a1 1 0 0 1 0-2h9a3 3 0 0 0 3-3v-11a1 1 0 0 1 2 0z'/%3E%3C/svg%3E"); +} + +/* Multiple Document, Search Files -> Copy Search Results */ +body:not(.no-svg-replace) .workspace-leaf-content[data-type=search] .nav-header .nav-action-button svg.documents { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m15 20h-10a5.006 5.006 0 0 1 -5-5v-10a5.006 5.006 0 0 1 5-5h10a5.006 5.006 0 0 1 5 5v10a5.006 5.006 0 0 1 -5 5zm-10-18a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-10a3 3 0 0 0 -3-3zm19 17v-13a1 1 0 0 0 -2 0v13a3 3 0 0 1 -3 3h-13a1 1 0 0 0 0 2h13a5.006 5.006 0 0 0 5-5z'/%3E%3C/svg%3E"); +} + +/* Dot Network, Graph View, Open Graph */ +body:not(.no-svg-replace) svg.dot-network { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M20,12a3.994,3.994,0,0,0-3.172,1.566l-.07-.03a5,5,0,0,0-6.009-6.377l-.091-.172A3.995,3.995,0,1,0,8.879,7.9l.073.137a4.992,4.992,0,0,0-1.134,6.7L5.933,16.5a4,4,0,1,0,1.455,1.377l1.838-1.718a4.993,4.993,0,0,0,6.539-.871l.279.119A4,4,0,1,0,20,12ZM6,4A2,2,0,1,1,8,6,2,2,0,0,1,6,4ZM4,22a2,2,0,1,1,2-2A2,2,0,0,1,4,22Zm8-7a3,3,0,0,1-1.6-5.534l.407-.217A3,3,0,1,1,12,15Zm8,3a2,2,0,1,1,2-2A2,2,0,0,1,20,18Z'/%3E%3C/svg%3E%0A"); +} + +/* Double Down Arrow */ +body:not(.no-svg-replace) svg.double-down-arrow-glyph { + transform: rotate(-90deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.48,19a1,1,0,0,1-.7-.29L5.19,14.12a3,3,0,0,1,0-4.24L9.78,5.29a1,1,0,0,1,1.41,0,1,1,0,0,1,0,1.42L6.6,11.29a1,1,0,0,0,0,1.42l4.59,4.58a1,1,0,0,1,0,1.42A1,1,0,0,1,10.48,19Z'/%3E%3Cpath d='M17.48,19a1,1,0,0,1-.7-.29l-6-6a1,1,0,0,1,0-1.42l6-6a1,1,0,0,1,1.41,0,1,1,0,0,1,0,1.42L12.9,12l5.29,5.29a1,1,0,0,1,0,1.42A1,1,0,0,1,17.48,19Z'/%3E%3C/svg%3E%0A"); +} + +/* Double Up Arrow */ +body:not(.no-svg-replace) svg.double-up-arrow-glyph { + transform: rotate(90deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.48,19a1,1,0,0,1-.7-.29L5.19,14.12a3,3,0,0,1,0-4.24L9.78,5.29a1,1,0,0,1,1.41,0,1,1,0,0,1,0,1.42L6.6,11.29a1,1,0,0,0,0,1.42l4.59,4.58a1,1,0,0,1,0,1.42A1,1,0,0,1,10.48,19Z'/%3E%3Cpath d='M17.48,19a1,1,0,0,1-.7-.29l-6-6a1,1,0,0,1,0-1.42l6-6a1,1,0,0,1,1.41,0,1,1,0,0,1,0,1.42L12.9,12l5.29,5.29a1,1,0,0,1,0,1.42A1,1,0,0,1,17.48,19Z'/%3E%3C/svg%3E%0A"); +} + +/* Down Arrow with Tail */ +body:not(.no-svg-replace) svg.down-arrow-with-tail { + transform: rotate(-90deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M.88,14.09,4.75,18a1,1,0,0,0,1.42,0h0a1,1,0,0,0,0-1.42L2.61,13H23a1,1,0,0,0,1-1h0a1,1,0,0,0-1-1H2.55L6.17,7.38A1,1,0,0,0,6.17,6h0A1,1,0,0,0,4.75,6L.88,9.85A3,3,0,0,0,.88,14.09Z'/%3E%3C/svg%3E%0A"); +} + +/* Down Chevron */ +body:not(.no-svg-replace) svg.down-chevron-glyph { + transform: rotate(-90deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.6,12.71a1,1,0,0,1,0-1.42l4.59-4.58a1,1,0,0,0,0-1.42,1,1,0,0,0-1.41,0L9.19,9.88a3,3,0,0,0,0,4.24l4.59,4.59a1,1,0,0,0,.7.29,1,1,0,0,0,.71-.29,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E"); +} + +/* Duplicate, Copy */ +body:not(.no-svg-replace) svg.duplicate-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m15 20h-10a5.006 5.006 0 0 1 -5-5v-10a5.006 5.006 0 0 1 5-5h10a5.006 5.006 0 0 1 5 5v10a5.006 5.006 0 0 1 -5 5zm-10-18a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-10a3 3 0 0 0 -3-3zm19 17v-13a1 1 0 0 0 -2 0v13a3 3 0 0 1 -3 3h-13a1 1 0 0 0 0 2h13a5.006 5.006 0 0 0 5-5z'/%3E%3C/svg%3E"); +} + +/* Enter */ +body:not(.no-svg-replace) svg.enter { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M18.9,0H5.1A5.055,5.055,0,0,0,0,5V8A1,1,0,0,0,2,8V5A3.054,3.054,0,0,1,5.1,2H18.9A3.054,3.054,0,0,1,22,5V19a3.054,3.054,0,0,1-3.1,3H5.1A3.054,3.054,0,0,1,2,19V16a1,1,0,0,0-2,0v3a5.055,5.055,0,0,0,5.1,5H18.9A5.055,5.055,0,0,0,24,19V5A5.055,5.055,0,0,0,18.9,0Z'/%3E%3Cpath d='M3,12a1,1,0,0,0,1,1H4l13.188-.03-4.323,4.323a1,1,0,1,0,1.414,1.414l4.586-4.586a3,3,0,0,0,0-4.242L14.281,5.293a1,1,0,0,0-1.414,1.414l4.262,4.263L4,11A1,1,0,0,0,3,12Z'/%3E%3C/svg%3E"); +} + +/* Exit Fullscreen */ +body:not(.no-svg-replace) svg.exit-fullscreen { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M7.293,2.091,5.4,3.985,1.707.293A1,1,0,0,0,.293,1.707L3.985,5.4,2.091,7.293A1,1,0,0,0,2.8,9H7.564A1.436,1.436,0,0,0,9,7.564V2.8A1,1,0,0,0,7.293,2.091Z'/%3E%3Cpath d='M20.015,18.6l1.894-1.894A1,1,0,0,0,21.2,15H16.436A1.436,1.436,0,0,0,15,16.436V21.2a1,1,0,0,0,1.707.708L18.6,20.015l3.692,3.692a1,1,0,0,0,1.414-1.414Z'/%3E%3Cpath d='M16.436,9H21.2a1,1,0,0,0,.708-1.707L20.015,5.4l3.692-3.692A1,1,0,0,0,22.293.293L18.6,3.985,16.707,2.091A1,1,0,0,0,15,2.8V7.564A1.436,1.436,0,0,0,16.436,9Z'/%3E%3Cpath d='M7.564,15H2.8a1,1,0,0,0-.708,1.707L3.985,18.6.293,22.293a1,1,0,1,0,1.414,1.414L5.4,20.015l1.894,1.894A1,1,0,0,0,9,21.2V16.436A1.436,1.436,0,0,0,7.564,15Z'/%3E%3C/svg%3E"); +} + +/* Expand Vertically, Show More Context */ +body:not(.no-svg-replace) svg.expand-vertically { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10,6H23a1,1,0,0,0,0-2H10a1,1,0,0,0,0,2Z'/%3E%3Cpath d='M23,11H10a1,1,0,0,0,0,2H23a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M23,18H10a1,1,0,0,0,0,2H23a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M6.087,6a.5.5,0,0,0,.353-.854L4,2.707a1,1,0,0,0-1.414,0L.147,5.146A.5.5,0,0,0,.5,6H2.294V18H.5a.5.5,0,0,0-.354.854l2.44,2.439a1,1,0,0,0,1.414,0L6.44,18.854A.5.5,0,0,0,6.087,18H4.294V6Z'/%3E%3C/svg%3E%0A"); +} + +/* File Explorer */ +body:not(.no-svg-replace) svg.file-explorer-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19,3H12.472a1.019,1.019,0,0,1-.447-.1L8.869,1.316A3.014,3.014,0,0,0,7.528,1H5A5.006,5.006,0,0,0,0,6V18a5.006,5.006,0,0,0,5,5H19a5.006,5.006,0,0,0,5-5V8A5.006,5.006,0,0,0,19,3ZM5,3H7.528a1.019,1.019,0,0,1,.447.1l3.156,1.579A3.014,3.014,0,0,0,12.472,5H19a3,3,0,0,1,2.779,1.882L2,6.994V6A3,3,0,0,1,5,3ZM19,21H5a3,3,0,0,1-3-3V8.994l20-.113V18A3,3,0,0,1,19,21Z'/%3E%3C/svg%3E%0A"); +} + +/* Filled Pin */ +body:not(.no-svg-replace) svg.filled-pin { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M1,24a1,1,0,0,0,.707-.293l6.619-6.619L9.574,18.38a5.169,5.169,0,0,0,3.605,1.614,3.991,3.991,0,0,0,1.339-.227,3.63,3.63,0,0,0,2.435-3.122,8.486,8.486,0,0,0-.222-3.027l-.214-1.042a1,1,0,0,1,.264-.943l1.587-1.588a.34.34,0,0,1,.236-.1.17.17,0,0,1,.167.065,3.077,3.077,0,0,0,3.971.432,3,3,0,0,0,.379-4.565L18.2.954a3.085,3.085,0,0,0-3.938-.4,3,3,0,0,0-.38,4.565l.076.076a.308.308,0,0,1,0,.434l-1.6,1.6a1,1,0,0,1-.954.261l-.817-.209a8.632,8.632,0,0,0-3.082-.233A3.863,3.863,0,0,0,4.25,9.634a4,4,0,0,0,.928,4.2l1.758,1.82L.293,22.293A1,1,0,0,0,1,24ZM6.135,10.3A1.856,1.856,0,0,1,7.713,9.036,6.7,6.7,0,0,1,8.406,9a6.622,6.622,0,0,1,1.681.217l.823.21a3.01,3.01,0,0,0,2.862-.785l1.6-1.6a2.31,2.31,0,0,0,0-3.262l-.076-.076a1,1,0,0,1,.134-1.528,1.084,1.084,0,0,1,1.356.19l4.924,4.924h0a1,1,0,0,1-.134,1.528,1.085,1.085,0,0,1-1.368-.2,2.212,2.212,0,0,0-1.584-.672,2.4,2.4,0,0,0-1.667.684l-1.586,1.587a3,3,0,0,0-.8,2.8l.219,1.058a6.646,6.646,0,0,1,.181,2.366,1.655,1.655,0,0,1-1.115,1.444,2.8,2.8,0,0,1-2.85-.9l-4.4-4.55A2.027,2.027,0,0,1,6.135,10.3Z'/%3E%3C/svg%3E%0A"); +} + +/* Folder */ +body:not(.no-svg-replace) svg.folder { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19,3H12.472a1.019,1.019,0,0,1-.447-.1L8.869,1.316A3.014,3.014,0,0,0,7.528,1H5A5.006,5.006,0,0,0,0,6V18a5.006,5.006,0,0,0,5,5H19a5.006,5.006,0,0,0,5-5V8A5.006,5.006,0,0,0,19,3ZM5,3H7.528a1.019,1.019,0,0,1,.447.1l3.156,1.579A3.014,3.014,0,0,0,12.472,5H19a3,3,0,0,1,2.779,1.882L2,6.994V6A3,3,0,0,1,5,3ZM19,21H5a3,3,0,0,1-3-3V8.994l20-.113V18A3,3,0,0,1,19,21Z'/%3E%3C/svg%3E%0A"); +} + +/* Folder, Workspace Tab Header -> File Explorer */ +body:not(.no-svg-replace) .workspace-tab-header[aria-label="File explorer"] .workspace-tab-header-inner-icon svg.folder { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.121,9.069,15.536,1.483a5.008,5.008,0,0,0-7.072,0L.879,9.069A2.978,2.978,0,0,0,0,11.19v9.817a3,3,0,0,0,3,3H21a3,3,0,0,0,3-3V11.19A2.978,2.978,0,0,0,23.121,9.069ZM15,22.007H9V18.073a3,3,0,0,1,6,0Zm7-1a1,1,0,0,1-1,1H17V18.073a5,5,0,0,0-10,0v3.934H3a1,1,0,0,1-1-1V11.19a1.008,1.008,0,0,1,.293-.707L9.878,2.9a3.008,3.008,0,0,1,4.244,0l7.585,7.586A1.008,1.008,0,0,1,22,11.19Z'/%3E%3C/svg%3E%0A"); +} + +/* Folder, File Explorer -> Add Folder */ +body:not(.no-svg-replace) .nav-action-button[aria-label="New folder"] svg.folder { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m16 15a1 1 0 0 1 -1 1h-2v2a1 1 0 0 1 -2 0v-2h-2a1 1 0 0 1 0-2h2v-2a1 1 0 0 1 2 0v2h2a1 1 0 0 1 1 1zm8-7v10a5.006 5.006 0 0 1 -5 5h-14a5.006 5.006 0 0 1 -5-5v-12a5.006 5.006 0 0 1 5-5h2.528a3.014 3.014 0 0 1 1.341.316l3.156 1.584a1.016 1.016 0 0 0 .447.1h6.528a5.006 5.006 0 0 1 5 5zm-22-2v1h19.816a3 3 0 0 0 -2.816-2h-6.528a3.014 3.014 0 0 1 -1.341-.316l-3.156-1.579a1.016 1.016 0 0 0 -.447-.105h-2.528a3 3 0 0 0 -3 3zm20 12v-9h-20v9a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3z'/%3E%3C/svg%3E"); +} + +/* Fullscreen */ +body:not(.no-svg-replace) svg.fullscreen { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19,24H17a1,1,0,0,1,0-2h2a3,3,0,0,0,3-3V17a1,1,0,0,1,2,0v2A5.006,5.006,0,0,1,19,24Z'/%3E%3Cpath d='M1,8A1,1,0,0,1,0,7V5A5.006,5.006,0,0,1,5,0H7A1,1,0,0,1,7,2H5A3,3,0,0,0,2,5V7A1,1,0,0,1,1,8Z'/%3E%3Cpath d='M7,24H5a5.006,5.006,0,0,1-5-5V17a1,1,0,0,1,2,0v2a3,3,0,0,0,3,3H7a1,1,0,0,1,0,2Z'/%3E%3Cpath d='M23,8a1,1,0,0,1-1-1V5a3,3,0,0,0-3-3H17a1,1,0,0,1,0-2h2a5.006,5.006,0,0,1,5,5V7A1,1,0,0,1,23,8Z'/%3E%3C/svg%3E%0A"); +} + +/* Gear, Side Dock Settings, Graph View Settings */ +body:not(.no-svg-replace) svg.gear { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,8a4,4,0,1,0,4,4A4,4,0,0,0,12,8Zm0,6a2,2,0,1,1,2-2A2,2,0,0,1,12,14Z'/%3E%3Cpath d='M21.294,13.9l-.444-.256a9.1,9.1,0,0,0,0-3.29l.444-.256a3,3,0,1,0-3-5.2l-.445.257A8.977,8.977,0,0,0,15,3.513V3A3,3,0,0,0,9,3v.513A8.977,8.977,0,0,0,6.152,5.159L5.705,4.9a3,3,0,0,0-3,5.2l.444.256a9.1,9.1,0,0,0,0,3.29l-.444.256a3,3,0,1,0,3,5.2l.445-.257A8.977,8.977,0,0,0,9,20.487V21a3,3,0,0,0,6,0v-.513a8.977,8.977,0,0,0,2.848-1.646l.447.258a3,3,0,0,0,3-5.2Zm-2.548-3.776a7.048,7.048,0,0,1,0,3.75,1,1,0,0,0,.464,1.133l1.084.626a1,1,0,0,1-1,1.733l-1.086-.628a1,1,0,0,0-1.215.165,6.984,6.984,0,0,1-3.243,1.875,1,1,0,0,0-.751.969V21a1,1,0,0,1-2,0V19.748a1,1,0,0,0-.751-.969A6.984,6.984,0,0,1,7.006,16.9a1,1,0,0,0-1.215-.165l-1.084.627a1,1,0,1,1-1-1.732l1.084-.626a1,1,0,0,0,.464-1.133,7.048,7.048,0,0,1,0-3.75A1,1,0,0,0,4.79,8.992L3.706,8.366a1,1,0,0,1,1-1.733l1.086.628A1,1,0,0,0,7.006,7.1a6.984,6.984,0,0,1,3.243-1.875A1,1,0,0,0,11,4.252V3a1,1,0,0,1,2,0V4.252a1,1,0,0,0,.751.969A6.984,6.984,0,0,1,16.994,7.1a1,1,0,0,0,1.215.165l1.084-.627a1,1,0,1,1,1,1.732l-1.084.626A1,1,0,0,0,18.746,10.125Z'/%3E%3C/svg%3E%0A"); +} + +/* Quick Switcher / Go to File... */ +body:not(.no-svg-replace) svg.go-to-file { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%' viewBox='0 0 24 24' width='100%' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m16 6a1 1 0 0 1 0 2h-8a1 1 0 0 1 0-2zm7.707 17.707a1 1 0 0 1 -1.414 0l-2.407-2.407a4.457 4.457 0 0 1 -2.386.7 4.5 4.5 0 1 1 4.5-4.5 4.457 4.457 0 0 1 -.7 2.386l2.407 2.407a1 1 0 0 1 0 1.414zm-6.207-3.707a2.5 2.5 0 1 0 -2.5-2.5 2.5 2.5 0 0 0 2.5 2.5zm-4.5 2h-6a3 3 0 0 1 -3-3v-14a3 3 0 0 1 3-3h12a1 1 0 0 1 1 1v8a1 1 0 0 0 2 0v-8a3 3 0 0 0 -3-3h-12a5.006 5.006 0 0 0 -5 5v14a5.006 5.006 0 0 0 5 5h6a1 1 0 0 0 0-2z'/%3E%3C/svg%3E"); +} + +/* Graph Glyph (Not used in Open Graph View or Graph View */ +body:not(.no-svg-replace) svg.graph-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M20,12a3.994,3.994,0,0,0-3.172,1.566l-.07-.03a5,5,0,0,0-6.009-6.377l-.091-.172A3.995,3.995,0,1,0,8.879,7.9l.073.137a4.992,4.992,0,0,0-1.134,6.7L5.933,16.5a4,4,0,1,0,1.455,1.377l1.838-1.718a4.993,4.993,0,0,0,6.539-.871l.279.119A4,4,0,1,0,20,12ZM6,4A2,2,0,1,1,8,6,2,2,0,0,1,6,4ZM4,22a2,2,0,1,1,2-2A2,2,0,0,1,4,22Zm8-7a3,3,0,0,1-1.6-5.534l.407-.217A3,3,0,1,1,12,15Zm8,3a2,2,0,1,1,2-2A2,2,0,0,1,20,18Z'/%3E%3C/svg%3E%0A"); +} + +/* Hashtag, Tag Pane */ +body:not(.no-svg-replace) svg.hashtag { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23,7H18.191l.8-5.865a1,1,0,1,0-1.982-.27L16.173,7H9.191l.8-5.865A1,1,0,1,0,8.009.865L7.173,7H2A1,1,0,0,0,2,9H6.9l-.818,6H1a1,1,0,0,0,0,2H5.809l-.8,5.865a1,1,0,0,0,1.982.27L7.827,17h6.982l-.8,5.865a1,1,0,0,0,1.982.27L16.827,17H22a1,1,0,0,0,0-2H17.1l.818-6H23A1,1,0,0,0,23,7Zm-7.918,8H8.1l.818-6H15.9Z'/%3E%3C/svg%3E"); +} + +/* Heading Glyph, Burger Menu */ +body:not(.no-svg-replace) svg.heading-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Crect y='11' width='24' height='2' rx='1'/%3E%3Crect y='4' width='24' height='2' rx='1'/%3E%3Crect y='18' width='24' height='2' rx='1'/%3E%3C/svg%3E"); +} + +/* Help, Widget Icon */ +body:not(.no-svg-replace) svg.help .widget-icon { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z'/%3E%3Cpath d='M12.717,5.063A4,4,0,0,0,8,9a1,1,0,0,0,2,0,2,2,0,0,1,2.371-1.967,2.024,2.024,0,0,1,1.6,1.595,2,2,0,0,1-1,2.125A3.954,3.954,0,0,0,11,14.257V15a1,1,0,0,0,2,0v-.743a1.982,1.982,0,0,1,.93-1.752,4,4,0,0,0-1.213-7.442Z'/%3E%3Crect x='11' y='17' width='2' height='2' rx='1'/%3E%3C/svg%3E%0A"); +} + +/* Help, Side Dock Ribbon -> Obsidian Help */ +body:not(.no-svg-replace) svg.help { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z'/%3E%3Cpath d='M12.717,5.063A4,4,0,0,0,8,9a1,1,0,0,0,2,0,2,2,0,0,1,2.371-1.967,2.024,2.024,0,0,1,1.6,1.595,2,2,0,0,1-1,2.125A3.954,3.954,0,0,0,11,14.257V15a1,1,0,0,0,2,0v-.743a1.982,1.982,0,0,1,.93-1.752,4,4,0,0,0-1.213-7.442Z'/%3E%3Crect x='11' y='17' width='2' height='2' rx='1'/%3E%3C/svg%3E%0A"); +} + +/* Highlight, Fill */ +body:not(.no-svg-replace) svg.highlight-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m22.327 18.422c.728 1.034 1.673 2.229 1.673 3.078a2.5 2.5 0 0 1 -5 0c0-.775.961-2.008 1.692-3.069a1 1 0 0 1 1.635-.009zm-.877-4.558-8.672 8.672a5.006 5.006 0 0 1 -7.071 0l-4.242-4.243a5 5 0 0 1 0-7.071l5.709-5.71-2.856-2.89a1 1 0 0 1 1.422-1.406l2.848 2.884 1.548-1.55-.843-.843a1 1 0 0 1 1.414-1.414l13 13a1 1 0 1 1 -1.414 1.414zm-1.414-1.414-8.486-8.486-1.557 1.558 4.718 4.778a1 1 0 1 1 -1.422 1.4l-4.709-4.765-5.7 5.7a3 3 0 0 0 0 4.243l4.242 4.243a3.005 3.005 0 0 0 4.243 0z'/%3E%3C/svg%3E"); +} + +/* Horizontal Split / Split Horizontally */ +body:not(.no-svg-replace) svg.horizontal-split { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg version='1.0' xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 512 512' preserveAspectRatio='xMidYMid meet'%3E%3Cg transform='translate(0.000000,512.000000) scale(0.100000,-0.100000)'%0Afill='%23000000' stroke='none'%3E%3Cpath d='M2015 4466 c-37 -17 -70 -52 -84 -89 -8 -19 -11 -290 -11 -843 l0%0A-814 -527 0 -528 0 282 283 c304 304 305 306 288 394 -9 49 -69 109 -118 118%0A-91 17 -76 30 -549 -443 -383 -384 -438 -442 -443 -475 -17 -92 -30 -76 443%0A-549 473 -473 458 -460 549 -443 49 9 109 69 118 118 17 88 16 90 -288 395%0Al-282 282 528 0 527 0 2 -829 c3 -820 3 -830 24 -857 39 -53 71 -69 134 -69%0A63 0 95 16 134 69 l21 27 0 1819 0 1819 -21 27 c-11 15 -32 37 -46 47 -34 25%0A-113 32 -153 13z'/%3E%3Cpath d='M2975 4466 c-41 -18 -83 -69 -90 -109 -3 -18 -4 -838 -3 -1824 l3%0A-1792 21 -27 c39 -53 71 -69 134 -69 63 0 95 16 134 69 21 27 21 37 24 857 l2%0A829 527 0 528 0 -282 -282 c-304 -305 -305 -307 -288 -395 9 -49 69 -109 118%0A-118 91 -17 76 -30 549 443 473 473 460 457 443 549 -5 33 -60 91 -443 475%0A-384 383 -442 438 -474 443 -61 11 -108 -3 -149 -44 -41 -41 -55 -88 -44 -148%0A6 -33 45 -77 288 -320 l282 -283 -528 0 -527 0 -2 829 c-3 820 -3 830 -24 857%0A-11 15 -32 37 -46 47 -33 25 -113 32 -153 13z'/%3E%3C/g%3E%3C/svg%3E"); + transform: rotate(90deg); +} + +/* Image File */ +body:not(.no-svg-replace) svg.image-file { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19,0H5A5.006,5.006,0,0,0,0,5V19a5.006,5.006,0,0,0,5,5H19a5.006,5.006,0,0,0,5-5V5A5.006,5.006,0,0,0,19,0ZM5,2H19a3,3,0,0,1,3,3V19a2.951,2.951,0,0,1-.3,1.285l-9.163-9.163a5,5,0,0,0-7.072,0L2,14.586V5A3,3,0,0,1,5,2ZM5,22a3,3,0,0,1-3-3V17.414l4.878-4.878a3,3,0,0,1,4.244,0L20.285,21.7A2.951,2.951,0,0,1,19,22Z'/%3E%3Cpath d='M16,10.5A3.5,3.5,0,1,0,12.5,7,3.5,3.5,0,0,0,16,10.5Zm0-5A1.5,1.5,0,1,1,14.5,7,1.5,1.5,0,0,1,16,5.5Z'/%3E%3C/svg%3E%0A"); +} + +/* Image Glyph */ +body:not(.no-svg-replace) svg.image-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19,0H5A5.006,5.006,0,0,0,0,5V19a5.006,5.006,0,0,0,5,5H19a5.006,5.006,0,0,0,5-5V5A5.006,5.006,0,0,0,19,0ZM5,2H19a3,3,0,0,1,3,3V19a2.951,2.951,0,0,1-.3,1.285l-9.163-9.163a5,5,0,0,0-7.072,0L2,14.586V5A3,3,0,0,1,5,2ZM5,22a3,3,0,0,1-3-3V17.414l4.878-4.878a3,3,0,0,1,4.244,0L20.285,21.7A2.951,2.951,0,0,1,19,22Z'/%3E%3Cpath d='M16,10.5A3.5,3.5,0,1,0,12.5,7,3.5,3.5,0,0,0,16,10.5Zm0-5A1.5,1.5,0,1,1,14.5,7,1.5,1.5,0,0,1,16,5.5Z'/%3E%3C/svg%3E%0A"); +} + +/* Import Glyph */ +body:not(.no-svg-replace) svg.import-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M9.878 18.122a3 3 0 0 0 4.244 0l3.211-3.211A1 1 0 0 0 15.919 13.5l-2.926 2.927L13 1a1 1 0 0 0-1-1h0a1 1 0 0 0-1 1l-.009 15.408L8.081 13.5a1 1 0 0 0-1.414 1.415Z'/%3E%3Cpath d='M23 16h0a1 1 0 0 0-1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V17a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3H21a3 3 0 0 0 3-3V17A1 1 0 0 0 23 16Z'/%3E%3C/svg%3E"); +} + +/* Indent Glyph */ +body:not(.no-svg-replace) svg.indent-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M1,6H23a1,1,0,0,0,0-2H1A1,1,0,0,0,1,6Z'/%3E%3Cpath d='M23,9H9a1,1,0,0,0,0,2H23a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M23,19H1a1,1,0,0,0,0,2H23a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M23,14H9a1,1,0,0,0,0,2H23a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M1.707,16.245l2.974-2.974a1.092,1.092,0,0,0,0-1.542L1.707,8.755A1,1,0,0,0,0,9.463v6.074A1,1,0,0,0,1.707,16.245Z'/%3E%3C/svg%3E%0A"); +} + +/* Info */ +body:not(.no-svg-replace) svg.info { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z'/%3E%3Cpath d='M12,10H11a1,1,0,0,0,0,2h1v6a1,1,0,0,0,2,0V12A2,2,0,0,0,12,10Z'/%3E%3Ccircle cx='12' cy='6.5' r='1.5'/%3E%3C/svg%3E%0A"); +} + +/* Install */ +body:not(.no-svg-replace) svg.install { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M9.878 18.122a3 3 0 0 0 4.244 0l3.211-3.211A1 1 0 0 0 15.919 13.5l-2.926 2.927L13 1a1 1 0 0 0-1-1h0a1 1 0 0 0-1 1l-.009 15.408L8.081 13.5a1 1 0 0 0-1.414 1.415Z'/%3E%3Cpath d='M23 16h0a1 1 0 0 0-1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V17a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3H21a3 3 0 0 0 3-3V17A1 1 0 0 0 23 16Z'/%3E%3C/svg%3E"); +} + +/* Italic Glyph */ +body:not(.no-svg-replace) svg.italic-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M20,0H7A1,1,0,0,0,7,2h5.354L9.627,22H4a1,1,0,0,0,0,2H17a1,1,0,0,0,0-2H11.646L14.373,2H20a1,1,0,0,0,0-2Z'/%3E%3C/svg%3E%0A"); +} + +/* Keyboard Glyph */ +body:not(.no-svg-replace) svg.keyboard-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19,6H13V3a1,1,0,0,0-2,0V6H5a5.006,5.006,0,0,0-5,5v4a5.006,5.006,0,0,0,5,5H19a5.006,5.006,0,0,0,5-5V11A5.006,5.006,0,0,0,19,6Zm3,9a3,3,0,0,1-3,3H5a3,3,0,0,1-3-3V11A3,3,0,0,1,5,8H19a3,3,0,0,1,3,3Z'/%3E%3Cpath d='M15,14H9a1,1,0,0,0,0,2h6a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M10,12h1a1,1,0,0,0,0-2H10a1,1,0,0,0,0,2Z'/%3E%3Cpath d='M19,10H15a1,1,0,0,0,0,2h4a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M6,10H5a1,1,0,0,0,0,2H6a1,1,0,0,0,0-2Z'/%3E%3Ccircle cx='5' cy='15' r='1'/%3E%3Ccircle cx='19' cy='15' r='1'/%3E%3C/svg%3E"); +} + +/* Languages, Standing Globe */ +body:not(.no-svg-replace) svg.languages { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m13 16a8 8 0 1 0 -8-8 8.009 8.009 0 0 0 8 8zm0-14a6 6 0 1 1 -6 6 6.006 6.006 0 0 1 6-6zm9.907 12.773a11.992 11.992 0 0 1 -8.907 5.166v2.061h4a1 1 0 0 1 0 2h-10a1 1 0 0 1 0-2h4v-2.051a11.994 11.994 0 0 1 -8.257-19.586 1 1 0 0 1 1.542 1.274 10 10 0 1 0 15.971 12.006 1 1 0 0 1 1.651 1.13z'/%3E%3C/svg%3E"); +} + +/* Left Arrow, Collapse Arrows */ +body:not(.no-svg-replace) svg.left-arrow { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.6,12.71a1,1,0,0,1,0-1.42l4.59-4.58a1,1,0,0,0,0-1.42,1,1,0,0,0-1.41,0L9.19,9.88a3,3,0,0,0,0,4.24l4.59,4.59a1,1,0,0,0,.7.29,1,1,0,0,0,.71-.29,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E"); +} + +/* Left Arrow with Tail, Title Bar -> Left Arrow */ +body:not(.no-svg-replace) svg.left-arrow-with-tail { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M.88,14.09,4.75,18a1,1,0,0,0,1.42,0h0a1,1,0,0,0,0-1.42L2.61,13H23a1,1,0,0,0,1-1h0a1,1,0,0,0-1-1H2.55L6.17,7.38A1,1,0,0,0,6.17,6h0A1,1,0,0,0,4.75,6L.88,9.85A3,3,0,0,0,.88,14.09Z'/%3E%3C/svg%3E%0A"); +} + +/* Left Chevron */ +body:not(.no-svg-replace) svg.left-chevron-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.6,12.71a1,1,0,0,1,0-1.42l4.59-4.58a1,1,0,0,0,0-1.42,1,1,0,0,0-1.41,0L9.19,9.88a3,3,0,0,0,0,4.24l4.59,4.59a1,1,0,0,0,.7.29,1,1,0,0,0,.71-.29,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E"); +} + +/* Lines of Text, Active Note -> Preview Mode */ +body:not(.no-svg-replace) svg.lines-of-text { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m20 0a4 4 0 0 0 -4 4 1 1 0 0 0 2 0 2 2 0 0 1 4 0v11.026a4.948 4.948 0 0 0 -3-1.026 5 5 0 0 0 -4.145 2.207 3.98 3.98 0 0 0 -5.71 0 5 5 0 0 0 -4.145-2.207 4.948 4.948 0 0 0 -3 1.026v-11.026a2 2 0 0 1 4 0 1 1 0 0 0 2 0 4 4 0 0 0 -8 0v15a5 5 0 0 0 10 0 2 2 0 0 1 4 0 5 5 0 0 0 10 0v-15a4 4 0 0 0 -4-4zm-15 22a3 3 0 1 1 3-3 3 3 0 0 1 -3 3zm14 0a3 3 0 1 1 3-3 3 3 0 0 1 -3 3z'/%3E%3C/svg%3E"); +} + +/* Link Global Icon */ +body:not(.no-svg-replace) svg.link { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M13.845,17.267l-3.262,3.262A5.028,5.028,0,0,1,3.472,13.42l3.262-3.265A1,1,0,0,0,5.319,8.741L2.058,12.006A7.027,7.027,0,0,0,12,21.943l3.262-3.262a1,1,0,0,0-1.414-1.414Z'/%3E%3Cpath d='M21.944,2.061A6.979,6.979,0,0,0,16.975,0h0a6.983,6.983,0,0,0-4.968,2.057L8.74,5.32a1,1,0,0,0,1.414,1.415l3.265-3.262A4.993,4.993,0,0,1,16.973,2h0a5.028,5.028,0,0,1,3.554,8.583l-3.262,3.262A1,1,0,1,0,18.68,15.26L21.942,12A7.037,7.037,0,0,0,21.944,2.061Z'/%3E%3Cpath d='M14.293,8.293l-6,6a1,1,0,1,0,1.414,1.414l6-6a1,1,0,0,0-1.414-1.414Z'/%3E%3C/svg%3E%0A"); +} + +/* Link Glyph */ +body:not(.no-svg-replace) svg.link-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M13.845,17.267l-3.262,3.262A5.028,5.028,0,0,1,3.472,13.42l3.262-3.265A1,1,0,0,0,5.319,8.741L2.058,12.006A7.027,7.027,0,0,0,12,21.943l3.262-3.262a1,1,0,0,0-1.414-1.414Z'/%3E%3Cpath d='M21.944,2.061A6.979,6.979,0,0,0,16.975,0h0a6.983,6.983,0,0,0-4.968,2.057L8.74,5.32a1,1,0,0,0,1.414,1.415l3.265-3.262A4.993,4.993,0,0,1,16.973,2h0a5.028,5.028,0,0,1,3.554,8.583l-3.262,3.262A1,1,0,1,0,18.68,15.26L21.942,12A7.037,7.037,0,0,0,21.944,2.061Z'/%3E%3Cpath d='M14.293,8.293l-6,6a1,1,0,1,0,1.414,1.414l6-6a1,1,0,0,0-1.414-1.414Z'/%3E%3C/svg%3E%0A"); +} + +/* Links Coming In, Backlinks Tab Header */ +body:not(.no-svg-replace) svg.links-coming-in { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M7,22H5a3,3,0,0,1-3-3V5A3,3,0,0,1,5,2H7A1,1,0,0,0,7,0H5A5.006,5.006,0,0,0,0,5V19a5.006,5.006,0,0,0,5,5H7a1,1,0,0,0,0-2Z'/%3E%3Cpath d='M23,11h0l-15.777.032a2.018,2.018,0,0,1,.326-.446l3.879-3.879a1,1,0,1,0-1.414-1.414L6.133,9.172a4,4,0,0,0,0,5.656l3.879,3.879a1,1,0,1,0,1.414-1.414L7.547,13.414a2.01,2.01,0,0,1-.291-.382L23,13a1,1,0,0,0,0-2Z'/%3E%3C/svg%3E"); +} + +/* Links Going Out, Outgoing Tab Header */ +body:not(.no-svg-replace) svg.links-going-out { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M22.829,9.172,18.95,5.293a1,1,0,0,0-1.414,1.414l3.879,3.879a2.057,2.057,0,0,1,.3.39c-.015,0-.027-.008-.042-.008h0L5.989,11a1,1,0,0,0,0,2h0l15.678-.032c.028,0,.051-.014.078-.016a2,2,0,0,1-.334.462l-3.879,3.879a1,1,0,1,0,1.414,1.414l3.879-3.879a4,4,0,0,0,0-5.656Z'/%3E%3Cpath d='M7,22H5a3,3,0,0,1-3-3V5A3,3,0,0,1,5,2H7A1,1,0,0,0,7,0H5A5.006,5.006,0,0,0,0,5V19a5.006,5.006,0,0,0,5,5H7a1,1,0,0,0,0-2Z'/%3E%3C/svg%3E%0A"); +} + +/* Longform, Book */ +body:not(.no-svg-replace) svg.longform { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M17,0H7A5.006,5.006,0,0,0,2,5V20a4,4,0,0,0,4,4H17a5.006,5.006,0,0,0,5-5V5A5.006,5.006,0,0,0,17,0Zm3,5V16H8V2h9A3,3,0,0,1,20,5ZM6,2.172V16a3.98,3.98,0,0,0-2,.537V5A3,3,0,0,1,6,2.172ZM17,22H6a2,2,0,0,1,0-4H20v1A3,3,0,0,1,17,22Z'/%3E%3C/svg%3E%0A"); +} + +/* Magnifying Glass */ +body:not(.no-svg-replace) svg.magnifying-glass { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.707,22.293l-5.969-5.969a10.016,10.016,0,1,0-1.414,1.414l5.969,5.969a1,1,0,0,0,1.414-1.414ZM10,18a8,8,0,1,1,8-8A8.009,8.009,0,0,1,10,18Z'/%3E%3C/svg%3E%0A"); +} + +/* Merge Files */ +body:not(.no-svg-replace) svg.merge-files { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M21.155,3.272,18.871.913A3.02,3.02,0,0,0,16.715,0H12A5.009,5.009,0,0,0,7.1,4H7A5.006,5.006,0,0,0,2,9V19a5.006,5.006,0,0,0,5,5h6a5.006,5.006,0,0,0,5-5v-.1A5.009,5.009,0,0,0,22,14V5.36A2.988,2.988,0,0,0,21.155,3.272ZM13,22H7a3,3,0,0,1-3-3V9A3,3,0,0,1,7,6v8a5.006,5.006,0,0,0,5,5h4A3,3,0,0,1,13,22Zm4-5H12a3,3,0,0,1-3-3V5a3,3,0,0,1,3-3h4V4a2,2,0,0,0,2,2h2v8A3,3,0,0,1,17,17Z'/%3E%3C/svg%3E%0A"); +} + +/* Merge Files Glyph */ +body:not(.no-svg-replace) svg.merge-files-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M21.155,3.272,18.871.913A3.02,3.02,0,0,0,16.715,0H12A5.009,5.009,0,0,0,7.1,4H7A5.006,5.006,0,0,0,2,9V19a5.006,5.006,0,0,0,5,5h6a5.006,5.006,0,0,0,5-5v-.1A5.009,5.009,0,0,0,22,14V5.36A2.988,2.988,0,0,0,21.155,3.272ZM13,22H7a3,3,0,0,1-3-3V9A3,3,0,0,1,7,6v8a5.006,5.006,0,0,0,5,5h4A3,3,0,0,1,13,22Zm4-5H12a3,3,0,0,1-3-3V5a3,3,0,0,1,3-3h4V4a2,2,0,0,0,2,2h2v8A3,3,0,0,1,17,17Z'/%3E%3C/svg%3E%0A"); +} + +/* Microphone, Side Dock -> Record */ +body:not(.no-svg-replace) svg.microphone { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,20a8.009,8.009,0,0,0,8-8V8A8,8,0,0,0,4,8v4A8.009,8.009,0,0,0,12,20ZM12,2a6.006,6.006,0,0,1,5.91,5H15a1,1,0,0,0,0,2h3v2H15a1,1,0,0,0,0,2h2.91A5.993,5.993,0,0,1,6.09,13H9a1,1,0,0,0,0-2H6V9H9A1,1,0,0,0,9,7H6.09A6.006,6.006,0,0,1,12,2Z'/%3E%3Cpath d='M23,12a1,1,0,0,0-1,1,9.01,9.01,0,0,1-9,9H11a9.011,9.011,0,0,1-9-9,1,1,0,0,0-2,0A11.013,11.013,0,0,0,11,24h2A11.013,11.013,0,0,0,24,13,1,1,0,0,0,23,12Z'/%3E%3C/svg%3E%0A"); +} + +/* Microphone Filled */ +body:not(.no-svg-replace) svg.microphone-filled { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,20a8.009,8.009,0,0,0,8-8V8A8,8,0,0,0,4,8v4A8.009,8.009,0,0,0,12,20ZM12,2a6.006,6.006,0,0,1,5.91,5H15a1,1,0,0,0,0,2h3v2H15a1,1,0,0,0,0,2h2.91A5.993,5.993,0,0,1,6.09,13H9a1,1,0,0,0,0-2H6V9H9A1,1,0,0,0,9,7H6.09A6.006,6.006,0,0,1,12,2Z'/%3E%3Cpath d='M23,12a1,1,0,0,0-1,1,9.01,9.01,0,0,1-9,9H11a9.011,9.011,0,0,1-9-9,1,1,0,0,0-2,0A11.013,11.013,0,0,0,11,24h2A11.013,11.013,0,0,0,24,13,1,1,0,0,0,23,12Z'/%3E%3C/svg%3E%0A"); +} + +/* Minus with Circle */ +body:not(.no-svg-replace) svg.minus-with-circle { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' standalone='no'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20010904//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'%3E%3Csvg version='1.0' xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 512.000000 512.000000' preserveAspectRatio='xMidYMid meet'%3E%3Cg transform='translate(0.000000,512.000000) scale(0.100000,-0.100000)'%0Afill='%23000000' stroke='none'%3E%3Cpath d='M2330 5110 c-494 -48 -950 -230 -1350 -538 -195 -150 -448 -432 -594%0A-662 -63 -99 -186 -351 -230 -471 -49 -134 -102 -340 -128 -499 -31 -195 -31%0A-565 0 -760 45 -276 116 -498 237 -745 132 -269 269 -460 489 -681 221 -220%0A412 -357 681 -489 247 -121 469 -192 745 -237 195 -31 565 -31 760 0 276 45%0A498 116 745 237 269 132 460 269 681 489 220 221 357 412 489 681 88 179 132%0A296 180 476 63 240 78 371 78 649 0 278 -15 409 -78 649 -48 180 -92 297 -180%0A476 -132 269 -269 460 -489 681 -221 220 -412 357 -681 489 -246 121 -474 193%0A-740 235 -147 23 -475 34 -615 20z m468 -401 c488 -53 934 -270 1288 -623 415%0A-415 634 -943 634 -1526 0 -583 -219 -1111 -634 -1526 -415 -415 -943 -634%0A-1526 -634 -583 0 -1111 219 -1526 634 -415 415 -634 943 -634 1526 0 583 219%0A1111 634 1526 349 349 800 569 1276 623 110 12 376 13 488 0z'/%3E%3Cpath d='M1515 2765 c-59 -16 -118 -73 -136 -133 -26 -88 19 -190 103 -231%0Al44 -21 1034 0 1034 0 44 21 c84 41 129 143 102 232 -19 63 -83 122 -148 136%0A-83 17 -2010 14 -2077 -4z'/%3E%3C/g%3E%3C/svg%3E%0A"); +} + +/* Navigate Glyph */ +body:not(.no-svg-replace) svg.navigate-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M13.987,6.108c-.039.011-7.228,2.864-7.228,2.864a2.76,2.76,0,0,0,.2,5.212l2.346.587.773,2.524A2.739,2.739,0,0,0,12.617,19h.044a2.738,2.738,0,0,0,2.532-1.786s2.693-7.165,2.7-7.2a3.2,3.2,0,0,0-3.908-3.907ZM15.97,9.467,13.322,16.51a.738.738,0,0,1-.692.49c-.1-.012-.525-.026-.675-.378l-.908-2.976a1,1,0,0,0-.713-.679l-2.818-.7a.762.762,0,0,1-.027-1.433l7.06-2.8a1.149,1.149,0,0,1,1.094.32A1.19,1.19,0,0,1,15.97,9.467ZM12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z'/%3E%3C/svg%3E%0A"); +} + +/* Note Glyph */ +body:not(.no-svg-replace) svg.note-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M19.949,5.536,16.465,2.05A6.958,6.958,0,0,0,11.515,0H7A5.006,5.006,0,0,0,2,5V19a5.006,5.006,0,0,0,5,5H17a5.006,5.006,0,0,0,5-5V10.485A6.951,6.951,0,0,0,19.949,5.536ZM18.535,6.95A4.983,4.983,0,0,1,19.316,8H15a1,1,0,0,1-1-1V2.684a5.01,5.01,0,0,1,1.051.78ZM20,19a3,3,0,0,1-3,3H7a3,3,0,0,1-3-3V5A3,3,0,0,1,7,2h4.515c.164,0,.323.032.485.047V7a3,3,0,0,0,3,3h4.953c.015.162.047.32.047.485Z'/%3E%3C/svg%3E%0A"); +} + +/* Number List Glyph */ +body:not(.no-svg-replace) svg.number-list-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M7 6H23a1 1 0 0 0 0-2H7A1 1 0 0 0 7 6Z'/%3E%3Cpath d='M23 11H7a1 1 0 0 0 0 2H23a1 1 0 0 0 0-2Z'/%3E%3Cpath d='M23 18H7a1 1 0 0 0 0 2H23a1 1 0 0 0 0-2Z'/%3E%3Ccircle cx='2' cy='5' r='2'/%3E%3Ccircle cx='2' cy='12' r='2'/%3E%3Ccircle cx='2' cy='19' r='2'/%3E%3C/svg%3E"); +} + +/* Open Elsewhere Glyph */ +body:not(.no-svg-replace) svg.open-elsewhere-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 0h-8a5.006 5.006 0 0 0 -5 5v6h-1a5.006 5.006 0 0 0 -5 5v3a5.006 5.006 0 0 0 5 5h3a5.006 5.006 0 0 0 5-5v-1h6a5.006 5.006 0 0 0 5-5v-8a5.006 5.006 0 0 0 -5-5zm-8 16a3 3 0 0 1 -3-3 3 3 0 0 1 3 3zm0 3a3 3 0 0 1 -3 3h-3a3 3 0 0 1 -3-3v-3a3 3 0 0 1 3-3h1a5.006 5.006 0 0 0 5 5zm11-6a3 3 0 0 1 -3 3h-6a4.969 4.969 0 0 0 -.833-2.753l5.833-5.833v2.586a1 1 0 0 0 2 0v-3a3 3 0 0 0 -3-3h-3a1 1 0 0 0 0 2h2.586l-5.833 5.833a4.969 4.969 0 0 0 -2.753-.833v-6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3z'/%3E%3C/svg%3E"); +} + +/* Side Dock Ribbon -> Open Vault */ +body:not(.no-svg-replace) svg.open-vault { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M4.5,17.5H2a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2H4.5a2,2,0,0,0,2-2V19.5A2,2,0,0,0,4.5,17.5Zm0,4.5H2V19.5H4.5Z'/%3E%3Cpath d='M22,17.5H19.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V19.5A2,2,0,0,0,22,17.5ZM22,22H19.5V19.5H22Z'/%3E%3Cpath d='M4.5,8.75H2a2,2,0,0,0-2,2v2.5a2,2,0,0,0,2,2H4.5a2,2,0,0,0,2-2v-2.5A2,2,0,0,0,4.5,8.75Zm0,4.5H2v-2.5H4.5Z'/%3E%3Cpath d='M22,8.75H19.5a2,2,0,0,0-2,2v2.5a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2v-2.5A2,2,0,0,0,22,8.75Zm0,4.5H19.5v-2.5H22Z'/%3E%3Cpath d='M4.5,0H2A2,2,0,0,0,0,2V4.5a2,2,0,0,0,2,2H4.5a2,2,0,0,0,2-2V2A2,2,0,0,0,4.5,0Zm0,4.5H2V2H4.5Z'/%3E%3Cpath d='M13.25,17.5h-2.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h2.5a2,2,0,0,0,2-2V19.5A2,2,0,0,0,13.25,17.5Zm0,4.5h-2.5V19.5h2.5Z'/%3E%3Cpath d='M13.25,8.75h-2.5a2,2,0,0,0-2,2v2.5a2,2,0,0,0,2,2h2.5a2,2,0,0,0,2-2v-2.5A2,2,0,0,0,13.25,8.75Zm0,4.5h-2.5v-2.5h2.5Z'/%3E%3Cpath d='M13.25,0h-2.5a2,2,0,0,0-2,2V4.5a2,2,0,0,0,2,2h2.5a2,2,0,0,0,2-2V2A2,2,0,0,0,13.25,0Zm0,4.5h-2.5V2h2.5Z'/%3E%3Cpath d='M22,0H19.5a2,2,0,0,0-2,2V4.5a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V2A2,2,0,0,0,22,0Zm0,4.5H19.5V2H22Z'/%3E%3C/svg%3E%0A"); +} + +/* Pane Layout */ +body:not(.no-svg-replace) svg.pane-layout { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M2,11H13a2,2,0,0,0,2-2V2a2,2,0,0,0-2-2H2A2,2,0,0,0,0,2V9A2,2,0,0,0,2,11ZM2,2H13V9H2Z'/%3E%3Cpath d='M22,0H19a2,2,0,0,0-2,2V9a2,2,0,0,0,2,2h3a2,2,0,0,0,2-2V2A2,2,0,0,0,22,0Zm0,9H19V2h3Z'/%3E%3Cpath d='M5,13H2a2,2,0,0,0-2,2v7a2,2,0,0,0,2,2H5a2,2,0,0,0,2-2V15A2,2,0,0,0,5,13Zm0,9H2V15H5Z'/%3E%3Cpath d='M22,13H11a2,2,0,0,0-2,2v7a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V15A2,2,0,0,0,22,13Zm0,9H11V15H22Z'/%3E%3C/svg%3E%0A"); +} + +/* Paper Plane, Obsidian Publish */ +body:not(.no-svg-replace) svg.paper-plane { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.119.882a2.966,2.966,0,0,0-2.8-.8l-16,3.37a4.995,4.995,0,0,0-2.853,8.481L3.184,13.65a1,1,0,0,1,.293.708v3.168a2.965,2.965,0,0,0,.3,1.285l-.008.007.026.026A3,3,0,0,0,5.157,20.2l.026.026.007-.008a2.965,2.965,0,0,0,1.285.3H9.643a1,1,0,0,1,.707.292l1.717,1.717A4.963,4.963,0,0,0,15.587,24a5.049,5.049,0,0,0,1.605-.264,4.933,4.933,0,0,0,3.344-3.986L23.911,3.715A2.975,2.975,0,0,0,23.119.882ZM4.6,12.238,2.881,10.521a2.94,2.94,0,0,1-.722-3.074,2.978,2.978,0,0,1,2.5-2.026L20.5,2.086,5.475,17.113V14.358A2.978,2.978,0,0,0,4.6,12.238Zm13.971,7.17a3,3,0,0,1-5.089,1.712L11.762,19.4a2.978,2.978,0,0,0-2.119-.878H6.888L21.915,3.5Z'/%3E%3C/svg%3E%0A"); +} + +/* Paper Plane 2 */ +body:not(.no-svg-replace) svg.paper-plane-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.119.882a2.966,2.966,0,0,0-2.8-.8l-16,3.37a4.995,4.995,0,0,0-2.853,8.481L3.184,13.65a1,1,0,0,1,.293.708v3.168a2.965,2.965,0,0,0,.3,1.285l-.008.007.026.026A3,3,0,0,0,5.157,20.2l.026.026.007-.008a2.965,2.965,0,0,0,1.285.3H9.643a1,1,0,0,1,.707.292l1.717,1.717A4.963,4.963,0,0,0,15.587,24a5.049,5.049,0,0,0,1.605-.264,4.933,4.933,0,0,0,3.344-3.986L23.911,3.715A2.975,2.975,0,0,0,23.119.882ZM4.6,12.238,2.881,10.521a2.94,2.94,0,0,1-.722-3.074,2.978,2.978,0,0,1,2.5-2.026L20.5,2.086,5.475,17.113V14.358A2.978,2.978,0,0,0,4.6,12.238Zm13.971,7.17a3,3,0,0,1-5.089,1.712L11.762,19.4a2.978,2.978,0,0,0-2.119-.878H6.888L21.915,3.5Z'/%3E%3C/svg%3E%0A"); +} + +/* Paste */ +body:not(.no-svg-replace) svg.paste { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m15 20h-10a5.006 5.006 0 0 1 -5-5v-10a5.006 5.006 0 0 1 5-5h10a5.006 5.006 0 0 1 5 5v10a5.006 5.006 0 0 1 -5 5zm-10-18a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-10a3 3 0 0 0 -3-3zm19 17v-13a1 1 0 0 0 -2 0v13a3 3 0 0 1 -3 3h-13a1 1 0 0 0 0 2h13a5.006 5.006 0 0 0 5-5z'/%3E%3C/svg%3E"); +} + +/* Paste Text */ +body:not(.no-svg-replace) svg.paste-text { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m15 20h-10a5.006 5.006 0 0 1 -5-5v-10a5.006 5.006 0 0 1 5-5h10a5.006 5.006 0 0 1 5 5v10a5.006 5.006 0 0 1 -5 5zm-10-18a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-10a3 3 0 0 0 -3-3zm19 17v-13a1 1 0 0 0 -2 0v13a3 3 0 0 1 -3 3h-13a1 1 0 0 0 0 2h13a5.006 5.006 0 0 0 5-5z'/%3E%3C/svg%3E"); +} + +/* Paused */ +body:not(.no-svg-replace) svg.paused { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M6.5,0A3.5,3.5,0,0,0,3,3.5v17a3.5,3.5,0,0,0,7,0V3.5A3.5,3.5,0,0,0,6.5,0ZM8,20.5a1.5,1.5,0,0,1-3,0V3.5a1.5,1.5,0,0,1,3,0Z'/%3E%3Cpath d='M17.5,0A3.5,3.5,0,0,0,14,3.5v17a3.5,3.5,0,0,0,7,0V3.5A3.5,3.5,0,0,0,17.5,0ZM19,20.5a1.5,1.5,0,0,1-3,0V3.5a1.5,1.5,0,0,1,3,0Z'/%3E%3C/svg%3E%0A"); +} + +/* PDF File */ +body:not(.no-svg-replace) svg.pdf-file { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%' viewBox='0 0 24 24' width='100%' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m17 14a1 1 0 0 1 -1 1h-8a1 1 0 0 1 0-2h8a1 1 0 0 1 1 1zm-4 3h-5a1 1 0 0 0 0 2h5a1 1 0 0 0 0-2zm9-6.515v8.515a5.006 5.006 0 0 1 -5 5h-10a5.006 5.006 0 0 1 -5-5v-14a5.006 5.006 0 0 1 5-5h4.515a6.958 6.958 0 0 1 4.95 2.05l3.484 3.486a6.951 6.951 0 0 1 2.051 4.949zm-6.949-7.021a5.01 5.01 0 0 0 -1.051-.78v4.316a1 1 0 0 0 1 1h4.316a4.983 4.983 0 0 0 -.781-1.05zm4.949 7.021c0-.165-.032-.323-.047-.485h-4.953a3 3 0 0 1 -3-3v-4.953c-.162-.015-.321-.047-.485-.047h-4.515a3 3 0 0 0 -3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3z'/%3E%3C/svg%3E"); +} + +/* Pencil */ +body:not(.no-svg-replace) svg.pencil { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M22.853,1.148a3.626,3.626,0,0,0-5.124,0L1.465,17.412A4.968,4.968,0,0,0,0,20.947V23a1,1,0,0,0,1,1H3.053a4.966,4.966,0,0,0,3.535-1.464L22.853,6.271A3.626,3.626,0,0,0,22.853,1.148ZM5.174,21.122A3.022,3.022,0,0,1,3.053,22H2V20.947a2.98,2.98,0,0,1,.879-2.121L15.222,6.483l2.3,2.3ZM21.438,4.857,18.932,7.364l-2.3-2.295,2.507-2.507a1.623,1.623,0,1,1,2.295,2.3Z'/%3E%3C/svg%3E%0A"); +} + +/* Pencil, Active Note -> Edit Mode */ +body:not(.no-svg-replace) .workspace-leaf-content .view-actions .view-action[aria-label="Edit (Ctrl+Click to edit in new pane)"] svg.pencil { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M18.656.93,6.464,13.122A4.966,4.966,0,0,0,5,16.657V18a1,1,0,0,0,1,1H7.343a4.966,4.966,0,0,0,3.535-1.464L23.07,5.344a3.125,3.125,0,0,0,0-4.414A3.194,3.194,0,0,0,18.656.93Zm3,3L9.464,16.122A3.02,3.02,0,0,1,7.343,17H7v-.343a3.02,3.02,0,0,1,.878-2.121L20.07,2.344a1.148,1.148,0,0,1,1.586,0A1.123,1.123,0,0,1,21.656,3.93Z'/%3E%3Cpath d='M23,8.979a1,1,0,0,0-1,1V15H18a3,3,0,0,0-3,3v4H5a3,3,0,0,1-3-3V5A3,3,0,0,1,5,2h9.042a1,1,0,0,0,0-2H5A5.006,5.006,0,0,0,0,5V19a5.006,5.006,0,0,0,5,5H16.343a4.968,4.968,0,0,0,3.536-1.464l2.656-2.658A4.968,4.968,0,0,0,24,16.343V9.979A1,1,0,0,0,23,8.979ZM18.465,21.122a2.975,2.975,0,0,1-1.465.8V18a1,1,0,0,1,1-1h3.925a3.016,3.016,0,0,1-.8,1.464Z'/%3E%3C/svg%3E "); +} + +/* Percent Sign */ +body:not(.no-svg-replace) svg.percent-sign-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg 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'%3E%3Cline x1='19' y1='5' x2='5' y2='19'%3E%3C/line%3E%3Ccircle cx='6.5' cy='6.5' r='2.5'%3E%3C/circle%3E%3Ccircle cx='17.5' cy='17.5' r='2.5'%3E%3C/circle%3E%3C/svg%3E"); +} + +/* Pin */ +body:not(.no-svg-replace) svg.pin { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M1,24a1,1,0,0,0,.707-.293l6.619-6.619L9.574,18.38a5.169,5.169,0,0,0,3.605,1.614,3.991,3.991,0,0,0,1.339-.227,3.63,3.63,0,0,0,2.435-3.122,8.486,8.486,0,0,0-.222-3.027l-.214-1.042a1,1,0,0,1,.264-.943l1.587-1.588a.34.34,0,0,1,.236-.1.17.17,0,0,1,.167.065,3.077,3.077,0,0,0,3.971.432,3,3,0,0,0,.379-4.565L18.2.954a3.085,3.085,0,0,0-3.938-.4,3,3,0,0,0-.38,4.565l.076.076a.308.308,0,0,1,0,.434l-1.6,1.6a1,1,0,0,1-.954.261l-.817-.209a8.632,8.632,0,0,0-3.082-.233A3.863,3.863,0,0,0,4.25,9.634a4,4,0,0,0,.928,4.2l1.758,1.82L.293,22.293A1,1,0,0,0,1,24ZM6.135,10.3A1.856,1.856,0,0,1,7.713,9.036,6.7,6.7,0,0,1,8.406,9a6.622,6.622,0,0,1,1.681.217l.823.21a3.01,3.01,0,0,0,2.862-.785l1.6-1.6a2.31,2.31,0,0,0,0-3.262l-.076-.076a1,1,0,0,1,.134-1.528,1.084,1.084,0,0,1,1.356.19l4.924,4.924h0a1,1,0,0,1-.134,1.528,1.085,1.085,0,0,1-1.368-.2,2.212,2.212,0,0,0-1.584-.672,2.4,2.4,0,0,0-1.667.684l-1.586,1.587a3,3,0,0,0-.8,2.8l.219,1.058a6.646,6.646,0,0,1,.181,2.366,1.655,1.655,0,0,1-1.115,1.444,2.8,2.8,0,0,1-2.85-.9l-4.4-4.55A2.027,2.027,0,0,1,6.135,10.3Z'/%3E%3C/svg%3E%0A"); +} + +/* Play Audio Glyph */ +body:not(.no-svg-replace) svg.play-audio-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M20.494,7.968l-9.54-7A5,5,0,0,0,3,5V19a5,5,0,0,0,7.957,4.031l9.54-7a5,5,0,0,0,0-8.064Zm-1.184,6.45-9.54,7A3,3,0,0,1,5,19V5A2.948,2.948,0,0,1,6.641,2.328,3.018,3.018,0,0,1,8.006,2a2.97,2.97,0,0,1,1.764.589l9.54,7a3,3,0,0,1,0,4.836Z'/%3E%3C/svg%3E%0A"); +} + +/* Plus Minus */ +body:not(.no-svg-replace) svg.plus-minus-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M352 448H32c-17.69 0-32 14.31-32 32s14.31 31.1 32 31.1h320c17.69 0 32-14.31 32-31.1S369.7 448 352 448zM48 208H160v111.1c0 17.69 14.31 31.1 32 31.1s32-14.31 32-31.1V208h112c17.69 0 32-14.32 32-32.01s-14.31-31.99-32-31.99H224v-112c0-17.69-14.31-32.01-32-32.01S160 14.33 160 32.01v112H48c-17.69 0-32 14.31-32 31.99S30.31 208 48 208z'/%3E%3C/svg%3E"); +} + +/* Plus with Circle */ +body:not(.no-svg-replace) svg.plus-with-circle { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m12 0a12 12 0 1 0 12 12 12.013 12.013 0 0 0 -12-12zm0 22a10 10 0 1 1 10-10 10.011 10.011 0 0 1 -10 10zm5-10a1 1 0 0 1 -1 1h-3v3a1 1 0 0 1 -2 0v-3h-3a1 1 0 0 1 0-2h3v-3a1 1 0 0 1 2 0v3h3a1 1 0 0 1 1 1z'/%3E%3C/svg%3E"); +} + +/* Popup Open */ +body:not(.no-svg-replace) svg.popup-open { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 0h-8a5.006 5.006 0 0 0 -5 5v6h-1a5.006 5.006 0 0 0 -5 5v3a5.006 5.006 0 0 0 5 5h3a5.006 5.006 0 0 0 5-5v-1h6a5.006 5.006 0 0 0 5-5v-8a5.006 5.006 0 0 0 -5-5zm-8 16a3 3 0 0 1 -3-3 3 3 0 0 1 3 3zm0 3a3 3 0 0 1 -3 3h-3a3 3 0 0 1 -3-3v-3a3 3 0 0 1 3-3h1a5.006 5.006 0 0 0 5 5zm11-6a3 3 0 0 1 -3 3h-6a4.969 4.969 0 0 0 -.833-2.753l5.833-5.833v2.586a1 1 0 0 0 2 0v-3a3 3 0 0 0 -3-3h-3a1 1 0 0 0 0 2h2.586l-5.833 5.833a4.969 4.969 0 0 0 -2.753-.833v-6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3z'/%3E%3C/svg%3E"); +} + +/* Presentation */ +body:not(.no-svg-replace) svg.presentation { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m23 14h-1v-9a5.006 5.006 0 0 0 -5-5h-10a5.006 5.006 0 0 0 -5 5v9h-1a1 1 0 0 0 0 2h10v4h-2a3 3 0 0 0 -3 3 1 1 0 0 0 2 0 1 1 0 0 1 1-1h6a1 1 0 0 1 1 1 1 1 0 0 0 2 0 3 3 0 0 0 -3-3h-2v-4h10a1 1 0 0 0 0-2zm-19-9a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v9h-16z'/%3E%3C/svg%3E"); +} + +/* Presentation */ +body:not(.no-svg-replace) svg.presentation-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m23 14h-1v-9a5.006 5.006 0 0 0 -5-5h-10a5.006 5.006 0 0 0 -5 5v9h-1a1 1 0 0 0 0 2h10v4h-2a3 3 0 0 0 -3 3 1 1 0 0 0 2 0 1 1 0 0 1 1-1h6a1 1 0 0 1 1 1 1 1 0 0 0 2 0 3 3 0 0 0 -3-3h-2v-4h10a1 1 0 0 0 0-2zm-19-9a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v9h-16z'/%3E%3C/svg%3E"); +} + +/* Price Tag Glyph */ +body:not(.no-svg-replace) svg.price-tag-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M20.457,4.555,12.486.126a1,1,0,0,0-.972,0L3.543,4.555A3,3,0,0,0,2,7.177V19a5.006,5.006,0,0,0,5,5H17a5.006,5.006,0,0,0,5-5V7.177A3,3,0,0,0,20.457,4.555ZM20,19a3,3,0,0,1-3,3H7a3,3,0,0,1-3-3V7.177A1,1,0,0,1,4.515,6.3L12,2.144,19.486,6.3A1,1,0,0,1,20,7.177Z'/%3E%3Ccircle cx='12' cy='7' r='1.5'/%3E%3C/svg%3E%0A"); +} + +/* Question Mark Glyph */ +body:not(.no-svg-replace) svg.question-mark-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z'/%3E%3Cpath d='M12.717,5.063A4,4,0,0,0,8,9a1,1,0,0,0,2,0,2,2,0,0,1,2.371-1.967,2.024,2.024,0,0,1,1.6,1.595,2,2,0,0,1-1,2.125A3.954,3.954,0,0,0,11,14.257V15a1,1,0,0,0,2,0v-.743a1.982,1.982,0,0,1,.93-1.752,4,4,0,0,0-1.213-7.442Z'/%3E%3Crect x='11' y='17' width='2' height='2' rx='1'/%3E%3C/svg%3E%0A"); +} + +/* Quote Glyph */ +body:not(.no-svg-replace) svg.quote-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M8,4H4A4,4,0,0,0,0,8v4a2,2,0,0,0,2,2H7.91A6.006,6.006,0,0,1,2,19a1,1,0,0,0,0,2,8.009,8.009,0,0,0,8-8V6A2,2,0,0,0,8,4Z'/%3E%3Cpath d='M22,4H18a4,4,0,0,0-4,4v4a2,2,0,0,0,2,2h5.91A6.006,6.006,0,0,1,16,19a1,1,0,0,0,0,2,8.009,8.009,0,0,0,8-8V6A2,2,0,0,0,22,4Z'/%3E%3C/svg%3E%0A"); +} + +/* Reading Glasses */ +body:not(.no-custom-icons) svg.reading-glasses { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m20 0a4 4 0 0 0 -4 4 1 1 0 0 0 2 0 2 2 0 0 1 4 0v11.026a4.948 4.948 0 0 0 -3-1.026 5 5 0 0 0 -4.145 2.207 3.98 3.98 0 0 0 -5.71 0 5 5 0 0 0 -4.145-2.207 4.948 4.948 0 0 0 -3 1.026v-11.026a2 2 0 0 1 4 0 1 1 0 0 0 2 0 4 4 0 0 0 -8 0v15a5 5 0 0 0 10 0 2 2 0 0 1 4 0 5 5 0 0 0 10 0v-15a4 4 0 0 0 -4-4zm-15 22a3 3 0 1 1 3-3 3 3 0 0 1 -3 3zm14 0a3 3 0 1 1 3-3 3 3 0 0 1 -3 3z'/%3E%3C/svg%3E"); +} + +/* Redo Glyph */ +body:not(.no-svg-replace) svg.redo-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M16.9,14.723a1,1,0,0,0,1.414,0l4.949-4.95a2.5,2.5,0,0,0,0-3.536l-4.95-4.949A1,1,0,0,0,16.9,2.7L21.2,7,5,7H5a5,5,0,0,0-5,5v7a5.006,5.006,0,0,0,5,5H19a1,1,0,0,0,0-2H5a3,3,0,0,1-3-3V12A3,3,0,0,1,5,9H5L21.212,9,16.9,13.309A1,1,0,0,0,16.9,14.723Z'/%3E%3C/svg%3E%0A"); +} + +/* Reset, Refresh */ +body:not(.no-svg-replace) svg.reset { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,2a10.032,10.032,0,0,1,7.122,3H16a1,1,0,0,0-1,1h0a1,1,0,0,0,1,1h4.143A1.858,1.858,0,0,0,22,5.143V1a1,1,0,0,0-1-1h0a1,1,0,0,0-1,1V3.078A11.981,11.981,0,0,0,.05,10.9a1.007,1.007,0,0,0,1,1.1h0a.982.982,0,0,0,.989-.878A10.014,10.014,0,0,1,12,2Z'/%3E%3Cpath d='M22.951,12a.982.982,0,0,0-.989.878A9.986,9.986,0,0,1,4.878,19H8a1,1,0,0,0,1-1H9a1,1,0,0,0-1-1H3.857A1.856,1.856,0,0,0,2,18.857V23a1,1,0,0,0,1,1H3a1,1,0,0,0,1-1V20.922A11.981,11.981,0,0,0,23.95,13.1a1.007,1.007,0,0,0-1-1.1Z'/%3E%3C/svg%3E%0A"); +} + +/* Restore File Glyph */ +body:not(.no-svg-replace) svg.restore-file-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12 0A11.972 11.972 0 0 0 4 3.073V1A1 1 0 0 0 2 1V4A3 3 0 0 0 5 7H8A1 1 0 0 0 8 5H5a.854.854 0 0 1-.1-.021A9.987 9.987 0 1 1 2 12a1 1 0 0 0-2 0A12 12 0 1 0 12 0Z'/%3E%3Cpath d='M12 6a1 1 0 0 0-1 1v5a1 1 0 0 0 .293.707l3 3a1 1 0 0 0 1.414-1.414L13 11.586V7A1 1 0 0 0 12 6Z'/%3E%3C/svg%3E"); +} + +/* Right Arrow, Collapse Right Sidebar */ +body:not(.no-svg-replace) svg.right-arrow { + transform: rotate(180deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.6,12.71a1,1,0,0,1,0-1.42l4.59-4.58a1,1,0,0,0,0-1.42,1,1,0,0,0-1.41,0L9.19,9.88a3,3,0,0,0,0,4.24l4.59,4.59a1,1,0,0,0,.7.29,1,1,0,0,0,.71-.29,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E"); +} + +/* Right Arrow with Tail, Title Bar -> Forward */ +body:not(.no-svg-replace) svg.right-arrow-with-tail { + transform: rotate(180deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M.88,14.09,4.75,18a1,1,0,0,0,1.42,0h0a1,1,0,0,0,0-1.42L2.61,13H23a1,1,0,0,0,1-1h0a1,1,0,0,0-1-1H2.55L6.17,7.38A1,1,0,0,0,6.17,6h0A1,1,0,0,0,4.75,6L.88,9.85A3,3,0,0,0,.88,14.09Z'/%3E%3C/svg%3E%0A"); +} + +/* Right Chevron */ +body:not(.no-svg-replace) svg.right-chevron-glyph { + transform: rotate(180deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.6,12.71a1,1,0,0,1,0-1.42l4.59-4.58a1,1,0,0,0,0-1.42,1,1,0,0,0-1.41,0L9.19,9.88a3,3,0,0,0,0,4.24l4.59,4.59a1,1,0,0,0,.7.29,1,1,0,0,0,.71-.29,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E"); +} + +/* Right Triangle, Triangle for File Explorer */ +body:not(.no-svg-replace) svg.right-triangle { + height: var(--scale-2-8); + width: var(--scale-2-8); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M18.71,8.21a1,1,0,0,0-1.42,0l-4.58,4.58a1,1,0,0,1-1.42,0L6.71,8.21a1,1,0,0,0-1.42,0,1,1,0,0,0,0,1.41l4.59,4.59a3,3,0,0,0,4.24,0l4.59-4.59A1,1,0,0,0,18.71,8.21Z'/%3E%3C/svg%3E%0A"); +} + +/* Side Dock Ribbon -> Run Command */ +body:not(.no-svg-replace) svg.run-command { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%' viewBox='0 0 24 24' width='100%' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m20.537 12.7-1.13-.7 1.131-.7a4.126 4.126 0 0 0 1.729-2.031 3.919 3.919 0 0 0 -3.28-5.272 4.124 4.124 0 0 0 -2.586.654l-.401.249v-.728a4.116 4.116 0 0 0 -3.607-4.153 4 4 0 0 0 -4.393 3.981v.9l-.4-.25a4.122 4.122 0 0 0 -2.587-.657 3.918 3.918 0 0 0 -3.283 5.27 4.123 4.123 0 0 0 1.73 2.031l1.133.706-1.131.7a4.126 4.126 0 0 0 -1.729 2.031 3.918 3.918 0 0 0 3.286 5.272 4.124 4.124 0 0 0 2.581-.651l.4-.252v.9a4 4 0 0 0 8 0v-.9l.4.251a4.126 4.126 0 0 0 2.58.653 3.918 3.918 0 0 0 3.284-5.272 4.128 4.128 0 0 0 -1.727-2.032zm-.311 4.418a1.916 1.916 0 0 1 -2.639.613l-2.059-1.282a1 1 0 0 0 -1.528.851v2.7a2 2 0 0 1 -4 0v-2.7a1 1 0 0 0 -1.528-.849l-2.059 1.284a1.915 1.915 0 1 1 -2.025-3.252l2.625-1.634a1 1 0 0 0 0-1.7l-2.625-1.633a1.915 1.915 0 0 1 2.025-3.252l2.059 1.282a1 1 0 0 0 1.528-.846v-2.593a2.075 2.075 0 0 1 1.664-2.08 2 2 0 0 1 2.336 1.973v2.7a1 1 0 0 0 1.528.848l2.059-1.281a1.915 1.915 0 1 1 2.025 3.252l-2.625 1.634a1 1 0 0 0 0 1.7l2.625 1.634a1.914 1.914 0 0 1 .614 2.638z'/%3E%3C/svg%3E"); +} + +/* Scissors */ +body:not(.no-svg-replace) svg.scissors { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 14a4.929 4.929 0 0 0 -2.352.615l-3.348-4.015 7.467-8.96a1 1 0 0 0 -1.536-1.28l-7.231 8.678-7.232-8.678a1 1 0 0 0 -1.536 1.28l7.468 8.96-3.348 4.015a4.941 4.941 0 0 0 -2.352-.615 5 5 0 1 0 5 5 4.947 4.947 0 0 0 -1.112-3.1l3.112-3.738 3.111 3.738a4.955 4.955 0 0 0 -1.111 3.1 5 5 0 1 0 5-5zm-14 8a3 3 0 1 1 3-3 3 3 0 0 1 -3 3zm14 0a3 3 0 1 1 3-3 3 3 0 0 1 -3 3z'/%3E%3C/svg%3E"); +} + +/* Scissors 2 */ +body:not(.no-svg-replace) svg.scissors-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 14a4.929 4.929 0 0 0 -2.352.615l-3.348-4.015 7.467-8.96a1 1 0 0 0 -1.536-1.28l-7.231 8.678-7.232-8.678a1 1 0 0 0 -1.536 1.28l7.468 8.96-3.348 4.015a4.941 4.941 0 0 0 -2.352-.615 5 5 0 1 0 5 5 4.947 4.947 0 0 0 -1.112-3.1l3.112-3.738 3.111 3.738a4.955 4.955 0 0 0 -1.111 3.1 5 5 0 1 0 5-5zm-14 8a3 3 0 1 1 3-3 3 3 0 0 1 -3 3zm14 0a3 3 0 1 1 3-3 3 3 0 0 1 -3 3z'/%3E%3C/svg%3E"); +} + +/* Global Search */ +body:not(.no-svg-replace) svg.search { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.707,22.293l-5.969-5.969a10.016,10.016,0,1,0-1.414,1.414l5.969,5.969a1,1,0,0,0,1.414-1.414ZM10,18a8,8,0,1,1,8-8A8.009,8.009,0,0,1,10,18Z'/%3E%3C/svg%3E%0A"); +} + +/* Search, Tab Header -> Obsidian Search */ +body:not(.no-svg-replace) .workspace-tab-header[aria-label=Search] .workspace-tab-header-inner-icon svg.search { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%' viewBox='0 0 24 24' width='100%' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m16 6a1 1 0 0 1 0 2h-8a1 1 0 0 1 0-2zm7.707 17.707a1 1 0 0 1 -1.414 0l-2.407-2.407a4.457 4.457 0 0 1 -2.386.7 4.5 4.5 0 1 1 4.5-4.5 4.457 4.457 0 0 1 -.7 2.386l2.407 2.407a1 1 0 0 1 0 1.414zm-6.207-3.707a2.5 2.5 0 1 0 -2.5-2.5 2.5 2.5 0 0 0 2.5 2.5zm-4.5 2h-6a3 3 0 0 1 -3-3v-14a3 3 0 0 1 3-3h12a1 1 0 0 1 1 1v8a1 1 0 0 0 2 0v-8a3 3 0 0 0 -3-3h-12a5.006 5.006 0 0 0 -5 5v14a5.006 5.006 0 0 0 5 5h6a1 1 0 0 0 0-2z'/%3E%3C/svg%3E"); +} + +/* Search 2 */ +body:not(.no-svg-replace) svg.search-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.707,22.293l-5.969-5.969a10.016,10.016,0,1,0-1.414,1.414l5.969,5.969a1,1,0,0,0,1.414-1.414ZM10,18a8,8,0,1,1,8-8A8.009,8.009,0,0,1,10,18Z'/%3E%3C/svg%3E%0A"); +} + +/* Select All Text */ +body:not(.no-svg-replace) svg.select-all-text { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M22,17.351V6.649A3.492,3.492,0,1,0,17.351,2H6.649A3.492,3.492,0,1,0,2,6.649v10.7A3.492,3.492,0,1,0,6.649,22h10.7A3.492,3.492,0,1,0,22,17.351ZM17.051,20H6.949A3.485,3.485,0,0,0,4,17.051V6.949A3.485,3.485,0,0,0,6.949,4h10.1A3.485,3.485,0,0,0,20,6.949v10.1A3.485,3.485,0,0,0,17.051,20ZM20.5,2A1.5,1.5,0,1,1,19,3.5,1.5,1.5,0,0,1,20.5,2ZM3.5,2A1.5,1.5,0,1,1,2,3.5,1.5,1.5,0,0,1,3.5,2Zm0,20A1.5,1.5,0,1,1,5,20.5,1.5,1.5,0,0,1,3.5,22Zm17,0A1.5,1.5,0,1,1,22,20.5,1.5,1.5,0,0,1,20.5,22ZM13,9v3h1a1,1,0,0,1,0,2H13v1a1,1,0,0,0,1,1,1,1,0,0,1,0,2,2.981,2.981,0,0,1-2-.78A2.981,2.981,0,0,1,10,18a1,1,0,0,1,0-2,1,1,0,0,0,1-1V14H10a1,1,0,0,1,0-2h1V9a1,1,0,0,0-1-1,1,1,0,0,1,0-2,2.981,2.981,0,0,1,2,.78A2.981,2.981,0,0,1,14,6a1,1,0,0,1,0,2A1,1,0,0,0,13,9Z'/%3E%3C/svg%3E%0A"); +} + +/* Sheets in a Box, File Tree Alternative Tab Header Icon */ +body:not(.no-svg-replace) svg.sheets-in-box { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M21,12H18a2,2,0,0,0-2,2,2,2,0,0,1-2,2H10a2,2,0,0,1-2-2,2,2,0,0,0-2-2H3a3,3,0,0,0-3,3v4a5.006,5.006,0,0,0,5,5H19a5.006,5.006,0,0,0,5-5V15A3,3,0,0,0,21,12Zm1,7a3,3,0,0,1-3,3H5a3,3,0,0,1-3-3V15a1,1,0,0,1,1-1H6a4,4,0,0,0,4,4h4a4,4,0,0,0,4-4h3a1,1,0,0,1,1,1Z'/%3E%3Cpath d='M3,10H21a1,1,0,0,0,0-2H3a1,1,0,0,0,0,2Z'/%3E%3Cpath d='M3,6H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,6Z'/%3E%3C/svg%3E%0A"); +} + +/* Split */ +body:not(.no-svg-replace) svg.split { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 14a4.929 4.929 0 0 0 -2.352.615l-3.348-4.015 7.467-8.96a1 1 0 0 0 -1.536-1.28l-7.231 8.678-7.232-8.678a1 1 0 0 0 -1.536 1.28l7.468 8.96-3.348 4.015a4.941 4.941 0 0 0 -2.352-.615 5 5 0 1 0 5 5 4.947 4.947 0 0 0 -1.112-3.1l3.112-3.738 3.111 3.738a4.955 4.955 0 0 0 -1.111 3.1 5 5 0 1 0 5-5zm-14 8a3 3 0 1 1 3-3 3 3 0 0 1 -3 3zm14 0a3 3 0 1 1 3-3 3 3 0 0 1 -3 3z'/%3E%3C/svg%3E"); +} + +/* Spreadsheet, Advanced Tables Plugin Icon for Side Dock + Tab Header */ +body:not(.no-svg-replace) svg.spreadsheet { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 0h-14a5.006 5.006 0 0 0 -5 5v14a5.006 5.006 0 0 0 5 5h14a5.006 5.006 0 0 0 5-5v-14a5.006 5.006 0 0 0 -5-5zm3 19a3 3 0 0 1 -3 3h-14a3 3 0 0 1 -3-3v-14a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3zm-4-10a1 1 0 0 1 -2 0 1 1 0 0 0 -1-1h-2v8h1a1 1 0 0 1 0 2h-4a1 1 0 0 1 0-2h1v-8h-2a1 1 0 0 0 -1 1 1 1 0 0 1 -2 0 3 3 0 0 1 3-3h6a3 3 0 0 1 3 3z'/%3E%3C/svg%3E"); +} + +/* Stacked Levels, Layers */ +body:not(.no-svg-replace) svg.stacked-levels { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M22.485,10.975,12,17.267,1.515,10.975A1,1,0,1,0,.486,12.69l11,6.6a1,1,0,0,0,1.03,0l11-6.6a1,1,0,1,0-1.029-1.715Z'/%3E%3Cpath d='M22.485,15.543,12,21.834,1.515,15.543A1,1,0,1,0,.486,17.258l11,6.6a1,1,0,0,0,1.03,0l11-6.6a1,1,0,1,0-1.029-1.715Z'/%3E%3Cpath d='M12,14.773a2.976,2.976,0,0,1-1.531-.425L.485,8.357a1,1,0,0,1,0-1.714L10.469.652a2.973,2.973,0,0,1,3.062,0l9.984,5.991a1,1,0,0,1,0,1.714l-9.984,5.991A2.976,2.976,0,0,1,12,14.773ZM2.944,7.5,11.5,12.633a.974.974,0,0,0,1,0L21.056,7.5,12.5,2.367a.974.974,0,0,0-1,0h0Z'/%3E%3C/svg%3E%0A"); +} + +/* Star. Starred Files, Star/Unstar File */ +body:not(.no-svg-replace) svg.star { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.836,8.794a3.179,3.179,0,0,0-3.067-2.226H16.4L15.073,2.432a3.227,3.227,0,0,0-6.146,0L7.6,6.568H3.231a3.227,3.227,0,0,0-1.9,5.832L4.887,15,3.535,19.187A3.178,3.178,0,0,0,4.719,22.8a3.177,3.177,0,0,0,3.8-.019L12,20.219l3.482,2.559a3.227,3.227,0,0,0,4.983-3.591L19.113,15l3.56-2.6A3.177,3.177,0,0,0,23.836,8.794Zm-2.343,1.991-4.144,3.029a1,1,0,0,0-.362,1.116L18.562,19.8a1.227,1.227,0,0,1-1.895,1.365l-4.075-3a1,1,0,0,0-1.184,0l-4.075,3a1.227,1.227,0,0,1-1.9-1.365L7.013,14.93a1,1,0,0,0-.362-1.116L2.507,10.785a1.227,1.227,0,0,1,.724-2.217h5.1a1,1,0,0,0,.952-.694l1.55-4.831a1.227,1.227,0,0,1,2.336,0l1.55,4.831a1,1,0,0,0,.952.694h5.1a1.227,1.227,0,0,1,.724,2.217Z'/%3E%3C/svg%3E%0A"); +} + +/* Star 2 */ +body:not(.no-svg-replace) svg.star-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.836,8.794a3.179,3.179,0,0,0-3.067-2.226H16.4L15.073,2.432a3.227,3.227,0,0,0-6.146,0L7.6,6.568H3.231a3.227,3.227,0,0,0-1.9,5.832L4.887,15,3.535,19.187A3.178,3.178,0,0,0,4.719,22.8a3.177,3.177,0,0,0,3.8-.019L12,20.219l3.482,2.559a3.227,3.227,0,0,0,4.983-3.591L19.113,15l3.56-2.6A3.177,3.177,0,0,0,23.836,8.794Zm-2.343,1.991-4.144,3.029a1,1,0,0,0-.362,1.116L18.562,19.8a1.227,1.227,0,0,1-1.895,1.365l-4.075-3a1,1,0,0,0-1.184,0l-4.075,3a1.227,1.227,0,0,1-1.9-1.365L7.013,14.93a1,1,0,0,0-.362-1.116L2.507,10.785a1.227,1.227,0,0,1,.724-2.217h5.1a1,1,0,0,0,.952-.694l1.55-4.831a1.227,1.227,0,0,1,2.336,0l1.55,4.831a1,1,0,0,0,.952.694h5.1a1.227,1.227,0,0,1,.724,2.217Z'/%3E%3C/svg%3E%0A"); +} + +/* Star List, Star Current Search */ +body:not(.no-svg-replace) svg.star-list { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve' width='100%25' height='100%25'%3E%3Cpath d='M506.02,475.743L378.865,348.588c74.591-91.227,61.105-225.649-30.122-300.239S123.095-12.757,48.504,78.47 S-12.601,304.119,78.626,378.71c78.578,64.249,191.54,64.249,270.118,0l127.155,127.155c8.463,8.173,21.949,7.939,30.122-0.524 C513.993,497.086,513.993,483.998,506.02,475.743z M43.604,213.87c0-94.121,76.3-170.421,170.421-170.421 s170.421,76.3,170.421,170.421s-76.3,170.421-170.421,170.421C119.948,384.185,43.71,307.947,43.604,213.87z M256.631,128.659 c-15.914,0.072-31.183,6.301-42.605,17.383c-11.422-11.081-26.691-17.311-42.605-17.383c-36.433,1.262-64.997,31.73-63.908,68.168 c0,42.605,43.479,86.553,79.97,115.886c15.533,12.371,37.553,12.371,53.086,0c36.491-29.334,79.97-73.281,79.97-115.886 C321.627,160.389,293.064,129.921,256.631,128.659z M214.153,279.482c-39.495-31.741-64.036-63.482-64.036-82.654 c-1.063-12.906,8.416-24.282,21.303-25.563c12.886,1.281,22.366,12.657,21.303,25.563c0,11.765,9.537,21.303,21.303,21.303 c11.765,0,21.303-9.537,21.303-21.303c-1.063-12.906,8.416-24.282,21.303-25.563c12.886,1.281,22.366,12.657,21.303,25.563 C277.933,216,253.393,247.741,214.153,279.482L214.153,279.482z'/%3E%3C/svg%3E%0A"); +} + +/* Stop Audio */ +body:not(.no-svg-replace) svg.stop-audio-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M384 128v255.1c0 35.35-28.65 64-64 64H64c-35.35 0-64-28.65-64-64V128c0-35.35 28.65-64 64-64H320C355.3 64 384 92.65 384 128z'/%3E%3C/svg%3E"); +} + +/* Strikethrough Glyph */ +body:not(.no-svg-replace) svg.strikethrough-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_403:2956)'%3E%3Cpath d='M7.40006 5.55269C7.30779 5.3977 7.17684 5.26934 7.02003 5.1802C6.86322 5.09106 6.68594 5.04419 6.50556 5.04419C6.32518 5.04419 6.1479 5.09106 5.99109 5.1802C5.83428 5.26934 5.70333 5.3977 5.61106 5.55269L0.111059 16.5527C0.0511452 16.6703 0.0151011 16.7986 0.00500536 16.9302C-0.00509038 17.0618 0.0109619 17.1941 0.0522367 17.3194C0.0935115 17.4448 0.159192 17.5607 0.245492 17.6606C0.331792 17.7604 0.439004 17.8422 0.555062 17.9012C0.673119 17.9602 0.801687 17.9952 0.933353 18.0043C1.06502 18.0134 1.19718 17.9963 1.32221 17.954C1.44724 17.9118 1.56267 17.8452 1.66185 17.7581C1.76103 17.6711 1.84199 17.5652 1.90006 17.4467L3.61906 13.9997H9.38306L11.1071 17.4467C11.1651 17.5652 11.2461 17.6711 11.3453 17.7581C11.4444 17.8452 11.5599 17.9118 11.6849 17.954C11.8099 17.9963 11.9421 18.0134 12.0738 18.0043C12.2054 17.9952 12.334 17.9602 12.4521 17.9012C12.5701 17.8422 12.6753 17.7604 12.7616 17.6606C12.8479 17.5607 12.9136 17.4448 12.9549 17.3194C12.9962 17.1941 13.0122 17.0618 13.0021 16.9302C12.992 16.7986 12.956 16.6703 12.8961 16.5527L7.40006 5.55269ZM4.61906 11.9997L6.50006 8.2357L8.38306 11.9997H4.61906Z' fill='black'/%3E%3Cpath d='M22.9999 7.99963C22.7346 7.99963 22.4803 8.10499 22.2927 8.29253C22.1052 8.48006 21.9999 8.73442 21.9999 8.99963V9.02563C21.1395 8.36383 20.0853 8.00331 18.9999 7.99963C17.6738 7.99963 16.402 8.52642 15.4643 9.4641C14.5267 10.4018 13.9999 11.6736 13.9999 12.9996C13.9999 14.3257 14.5267 15.5975 15.4643 16.5352C16.402 17.4728 17.6738 17.9996 18.9999 17.9996C20.0853 17.996 21.1395 17.6354 21.9999 16.9736V16.9996C21.9999 17.2649 22.1052 17.5192 22.2927 17.7067C22.4803 17.8943 22.7346 17.9996 22.9999 17.9996C23.2651 17.9996 23.5194 17.8943 23.707 17.7067C23.8945 17.5192 23.9998 17.2649 23.9998 16.9996V8.99963C23.9998 8.73442 23.8945 8.48006 23.707 8.29253C23.5194 8.10499 23.2651 7.99963 22.9999 7.99963ZM18.9999 15.9996C18.4065 15.9996 17.8265 15.8237 17.3332 15.494C16.8398 15.1644 16.4553 14.6959 16.2282 14.1477C16.0012 13.5995 15.9418 12.9963 16.0575 12.4144C16.1733 11.8324 16.459 11.2979 16.8785 10.8783C17.2981 10.4588 17.8327 10.173 18.4146 10.0573C18.9965 9.94152 19.5997 10.0009 20.1479 10.228C20.6961 10.4551 21.1646 10.8396 21.4943 11.3329C21.8239 11.8263 21.9999 12.4063 21.9999 12.9996C21.9999 13.7953 21.6838 14.5583 21.1212 15.121C20.5586 15.6836 19.7955 15.9996 18.9999 15.9996Z' fill='black'/%3E%3Cg clip-path='url(%23clip1_403:2956)'%3E%3Cpath d='M23 11.9998H1C0.447715 11.9998 0 12.4475 0 12.9998C0 13.552 0.447715 13.9998 1 13.9998H23C23.5523 13.9998 24 13.552 24 12.9998C24 12.4475 23.5523 11.9998 23 11.9998Z' fill='black'/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_403:2956'%3E%3Crect width='24' height='24' fill='white'/%3E%3C/clipPath%3E%3CclipPath id='clip1_403:2956'%3E%3Crect width='24' height='24' fill='white' transform='translate(0 1)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E"); +} + +/* Sweep */ +body:not(.no-svg-replace) svg.sweep { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23.715,2.285a1.013,1.013,0,0,0-1.43,0L17.521,7.049l-.32-.313a5.008,5.008,0,0,0-6.429-.479A16.618,16.618,0,0,1,6.224,8.685L4.15,9.293a5.036,5.036,0,0,0-3.113,2.635A4.973,4.973,0,0,0,.9,15.947a12.95,12.95,0,0,0,12.112,8.064h.924a1.011,1.011,0,0,0,.578-.182A15.288,15.288,0,0,0,21.224,13.62a5.029,5.029,0,0,0-1.453-4.374l-.8-.784,4.747-4.747A1.013,1.013,0,0,0,23.715,2.285Zm-10.107,19.7h-.6A11.3,11.3,0,0,1,8.7,21.138l.011-.006a11.546,11.546,0,0,0,4.351-3.8l.518-.761a1.01,1.01,0,0,0-1.67-1.138l-.518.761A9.535,9.535,0,0,1,7.8,19.327l-1.251.63a10.757,10.757,0,0,1-2.583-2.57,11.625,11.625,0,0,0,4.377-2.664,1.011,1.011,0,0,0-1.414-1.446,9.617,9.617,0,0,1-3.98,2.32c-.061-.135-.127-.267-.182-.406a2.906,2.906,0,0,1,.085-2.381,3.023,3.023,0,0,1,1.864-1.578l2.073-.608a15.364,15.364,0,0,0,3.426-1.588l7.915,7.712A14.192,14.192,0,0,1,13.608,21.989Zm5.62-8.683a12.421,12.421,0,0,1-.309,1.387L11.948,7.9l0,0a3.011,3.011,0,0,1,1.755-.566,2.973,2.973,0,0,1,2.084.849l2.569,2.509A3.01,3.01,0,0,1,19.228,13.306Z'/%3E%3C/svg%3E%0A"); +} + +/* Switch */ +body:not(.no-svg-replace) svg.switch { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,2a10.032,10.032,0,0,1,7.122,3H16a1,1,0,0,0-1,1h0a1,1,0,0,0,1,1h4.143A1.858,1.858,0,0,0,22,5.143V1a1,1,0,0,0-1-1h0a1,1,0,0,0-1,1V3.078A11.981,11.981,0,0,0,.05,10.9a1.007,1.007,0,0,0,1,1.1h0a.982.982,0,0,0,.989-.878A10.014,10.014,0,0,1,12,2Z'/%3E%3Cpath d='M22.951,12a.982.982,0,0,0-.989.878A9.986,9.986,0,0,1,4.878,19H8a1,1,0,0,0,1-1H9a1,1,0,0,0-1-1H3.857A1.856,1.856,0,0,0,2,18.857V23a1,1,0,0,0,1,1H3a1,1,0,0,0,1-1V20.922A11.981,11.981,0,0,0,23.95,13.1a1.007,1.007,0,0,0-1-1.1Z'/%3E%3C/svg%3E%0A"); +} + +/* Sync */ +body:not(.no-svg-replace) svg.sync { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,2a10.032,10.032,0,0,1,7.122,3H16a1,1,0,0,0-1,1h0a1,1,0,0,0,1,1h4.143A1.858,1.858,0,0,0,22,5.143V1a1,1,0,0,0-1-1h0a1,1,0,0,0-1,1V3.078A11.981,11.981,0,0,0,.05,10.9a1.007,1.007,0,0,0,1,1.1h0a.982.982,0,0,0,.989-.878A10.014,10.014,0,0,1,12,2Z'/%3E%3Cpath d='M22.951,12a.982.982,0,0,0-.989.878A9.986,9.986,0,0,1,4.878,19H8a1,1,0,0,0,1-1H9a1,1,0,0,0-1-1H3.857A1.856,1.856,0,0,0,2,18.857V23a1,1,0,0,0,1,1H3a1,1,0,0,0,1-1V20.922A11.981,11.981,0,0,0,23.95,13.1a1.007,1.007,0,0,0-1-1.1Z'/%3E%3C/svg%3E%0A"); +} + +/* Sync Small, Obsidian Sync -> Sync In Progress */ +body:not(.no-svg-replace) svg.sync-small { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,2a10.032,10.032,0,0,1,7.122,3H16a1,1,0,0,0-1,1h0a1,1,0,0,0,1,1h4.143A1.858,1.858,0,0,0,22,5.143V1a1,1,0,0,0-1-1h0a1,1,0,0,0-1,1V3.078A11.981,11.981,0,0,0,.05,10.9a1.007,1.007,0,0,0,1,1.1h0a.982.982,0,0,0,.989-.878A10.014,10.014,0,0,1,12,2Z'/%3E%3Cpath d='M22.951,12a.982.982,0,0,0-.989.878A9.986,9.986,0,0,1,4.878,19H8a1,1,0,0,0,1-1H9a1,1,0,0,0-1-1H3.857A1.856,1.856,0,0,0,2,18.857V23a1,1,0,0,0,1,1H3a1,1,0,0,0,1-1V20.922A11.981,11.981,0,0,0,23.95,13.1a1.007,1.007,0,0,0-1-1.1Z'/%3E%3C/svg%3E%0A"); +} + +/* Tag Glyph */ +body:not(.no-svg-replace) svg.tag-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23,7H18.191l.8-5.865a1,1,0,1,0-1.982-.27L16.173,7H9.191l.8-5.865A1,1,0,1,0,8.009.865L7.173,7H2A1,1,0,0,0,2,9H6.9l-.818,6H1a1,1,0,0,0,0,2H5.809l-.8,5.865a1,1,0,0,0,1.982.27L7.827,17h6.982l-.8,5.865a1,1,0,0,0,1.982.27L16.827,17H22a1,1,0,0,0,0-2H17.1l.818-6H23A1,1,0,0,0,23,7Zm-7.918,8H8.1l.818-6H15.9Z'/%3E%3C/svg%3E"); +} + +/* Three Horizontal Bars, Burger Menu */ +body:not(.no-svg-replace) svg.three-horizontal-bars { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Crect y='11' width='24' height='2' rx='1'/%3E%3Crect y='4' width='24' height='2' rx='1'/%3E%3Crect y='18' width='24' height='2' rx='1'/%3E%3C/svg%3E"); +} + +/* Tomorrow, Calendar with Plus Sign */ +body:not(.no-svg-replace) svg.tomorrow-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 16C17 16.2652 16.8946 16.5196 16.7071 16.7071C16.5196 16.8946 16.2652 17 16 17H13V20C13 20.2652 12.8946 20.5196 12.7071 20.7071C12.5196 20.8946 12.2652 21 12 21C11.7348 21 11.4804 20.8946 11.2929 20.7071C11.1054 20.5196 11 20.2652 11 20V17H8C7.73478 17 7.48043 16.8946 7.29289 16.7071C7.10536 16.5196 7 16.2652 7 16C7 15.7348 7.10536 15.4804 7.29289 15.2929C7.48043 15.1054 7.73478 15 8 15H11V12C11 11.7348 11.1054 11.4804 11.2929 11.2929C11.4804 11.1054 11.7348 11 12 11C12.2652 11 12.5196 11.1054 12.7071 11.2929C12.8946 11.4804 13 11.7348 13 12V15H16C16.2652 15 16.5196 15.1054 16.7071 15.2929C16.8946 15.4804 17 15.7348 17 16Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 2H19C20.3256 2.00159 21.5964 2.52888 22.5338 3.46622C23.4711 4.40356 23.9984 5.67441 24 7V19C23.9984 20.3256 23.4711 21.5964 22.5338 22.5338C21.5964 23.4711 20.3256 23.9984 19 24H5C3.67441 23.9984 2.40356 23.4711 1.46622 22.5338C0.528882 21.5964 0.00158786 20.3256 0 19V7C0.00158786 5.67441 0.528882 4.40356 1.46622 3.46622C2.40356 2.52888 3.67441 2.00159 5 2H6V1C6 0.734784 6.10536 0.48043 6.29289 0.292893C6.48043 0.105357 6.73478 0 7 0C7.26522 0 7.51957 0.105357 7.70711 0.292893C7.89464 0.48043 8 0.734784 8 1V2H16V1C16 0.734784 16.1054 0.48043 16.2929 0.292893C16.4804 0.105357 16.7348 0 17 0C17.2652 0 17.5196 0.105357 17.7071 0.292893C17.8946 0.48043 18 0.734784 18 1V2ZM2.87868 4.87868C2.31607 5.44129 2 6.20435 2 7V8H22V7C22 6.20435 21.6839 5.44129 21.1213 4.87868C20.5587 4.31607 19.7956 4 19 4H5C4.20435 4 3.44129 4.31607 2.87868 4.87868ZM2.87868 21.1213C3.44129 21.6839 4.20435 22 5 22H19C19.7956 22 20.5587 21.6839 21.1213 21.1213C21.6839 20.5587 22 19.7956 22 19V10H2V19C2 19.7956 2.31607 20.5587 2.87868 21.1213Z' fill='black'/%3E%3C/svg%3E%0A"); +} + +/* Trash */ +body:not(.no-svg-replace) svg.trash { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M21,4H17.9A5.009,5.009,0,0,0,13,0H11A5.009,5.009,0,0,0,6.1,4H3A1,1,0,0,0,3,6H4V19a5.006,5.006,0,0,0,5,5h6a5.006,5.006,0,0,0,5-5V6h1a1,1,0,0,0,0-2ZM11,2h2a3.006,3.006,0,0,1,2.829,2H8.171A3.006,3.006,0,0,1,11,2Zm7,17a3,3,0,0,1-3,3H9a3,3,0,0,1-3-3V6H18Z'/%3E%3Cpath d='M10,18a1,1,0,0,0,1-1V11a1,1,0,0,0-2,0v6A1,1,0,0,0,10,18Z'/%3E%3Cpath d='M14,18a1,1,0,0,0,1-1V11a1,1,0,0,0-2,0v6A1,1,0,0,0,14,18Z'/%3E%3C/svg%3E%0A"); +} + +/* Two Blank Pages */ +body:not(.no-svg-replace) svg.two-blank-pages { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M21.155,3.272,18.871.913A3.02,3.02,0,0,0,16.715,0H12A5.009,5.009,0,0,0,7.1,4H7A5.006,5.006,0,0,0,2,9V19a5.006,5.006,0,0,0,5,5h6a5.006,5.006,0,0,0,5-5v-.1A5.009,5.009,0,0,0,22,14V5.36A2.988,2.988,0,0,0,21.155,3.272ZM13,22H7a3,3,0,0,1-3-3V9A3,3,0,0,1,7,6v8a5.006,5.006,0,0,0,5,5h4A3,3,0,0,1,13,22Zm4-5H12a3,3,0,0,1-3-3V5a3,3,0,0,1,3-3h4V4a2,2,0,0,0,2,2h2v8A3,3,0,0,1,17,17Z'/%3E%3C/svg%3E%0A"); +} + +/* Undo Glyph */ +body:not(.no-svg-replace) svg.undo-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M22.535,8.46A4.965,4.965,0,0,0,19,7h0L2.8,7,7.1,2.7A1,1,0,0,0,5.682,1.288L.732,6.237a2.5,2.5,0,0,0,0,3.535l4.95,4.951A1,1,0,1,0,7.1,13.309L2.788,9,19,9h0a3,3,0,0,1,3,3v7a3,3,0,0,1-3,3H5a1,1,0,0,0,0,2H19a5.006,5.006,0,0,0,5-5V12A4.969,4.969,0,0,0,22.535,8.46Z'/%3E%3C/svg%3E%0A"); +} + +/* Unindent Glyph */ +body:not(.no-svg-replace) svg.unindent-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.00024H23C23.2652 6.00024 23.5196 5.89488 23.7071 5.70735C23.8946 5.51981 24 5.26546 24 5.00024C24 4.73503 23.8946 4.48067 23.7071 4.29314C23.5196 4.1056 23.2652 4.00024 23 4.00024H1C0.734784 4.00024 0.48043 4.1056 0.292893 4.29314C0.105357 4.48067 0 4.73503 0 5.00024C0 5.26546 0.105357 5.51981 0.292893 5.70735C0.48043 5.89488 0.734784 6.00024 1 6.00024Z' fill='black'/%3E%3Cpath d='M23.0002 8.99994H9.00015C8.73494 8.99994 8.48058 9.1053 8.29305 9.29283C8.10551 9.48037 8.00015 9.73472 8.00015 9.99994C8.00015 10.2652 8.10551 10.5195 8.29305 10.707C8.48058 10.8946 8.73494 10.9999 9.00015 10.9999H23.0002C23.2654 10.9999 23.5197 10.8946 23.7073 10.707C23.8948 10.5195 24.0002 10.2652 24.0002 9.99994C24.0002 9.73472 23.8948 9.48037 23.7073 9.29283C23.5197 9.1053 23.2654 8.99994 23.0002 8.99994Z' fill='black'/%3E%3Cpath d='M23 19.0003H1C0.734784 19.0003 0.48043 19.1056 0.292893 19.2932C0.105357 19.4807 0 19.735 0 20.0003C0 20.2655 0.105357 20.5198 0.292893 20.7074C0.48043 20.8949 0.734784 21.0003 1 21.0003H23C23.2652 21.0003 23.5196 20.8949 23.7071 20.7074C23.8946 20.5198 24 20.2655 24 20.0003C24 19.735 23.8946 19.4807 23.7071 19.2932C23.5196 19.1056 23.2652 19.0003 23 19.0003Z' fill='black'/%3E%3Cpath d='M23.0002 13.9996H9.00015C8.73494 13.9996 8.48058 14.105 8.29305 14.2925C8.10551 14.4801 8.00015 14.7344 8.00015 14.9996C8.00015 15.2648 8.10551 15.5192 8.29305 15.7067C8.48058 15.8943 8.73494 15.9996 9.00015 15.9996H23.0002C23.2654 15.9996 23.5197 15.8943 23.7073 15.7067C23.8948 15.5192 24.0002 15.2648 24.0002 14.9996C24.0002 14.7344 23.8948 14.4801 23.7073 14.2925C23.5197 14.105 23.2654 13.9996 23.0002 13.9996Z' fill='black'/%3E%3Cpath d='M3.29269 8.75488L0.318688 11.7289C0.114607 11.9336 7.53082e-06 12.2108 7.50555e-06 12.4999C7.48028e-06 12.7889 0.114607 13.0662 0.318688 13.2709L3.29269 16.2449C3.4326 16.3848 3.61086 16.48 3.8049 16.5185C3.99895 16.5571 4.20006 16.5372 4.3828 16.4614C4.56555 16.3856 4.7217 16.2573 4.83151 16.0927C4.94131 15.9282 4.99984 15.7347 4.99969 15.5369L4.99969 9.46289C4.99984 9.26505 4.94132 9.07161 4.83151 8.90705C4.7217 8.74249 4.56555 8.61419 4.38281 8.5384C4.20007 8.4626 3.99895 8.44272 3.8049 8.48125C3.61086 8.51979 3.4326 8.61501 3.29269 8.75488Z' fill='black'/%3E%3C/svg%3E%0A"); +} + +/* Up and Down Arrows, Global Sort */ +body:not(.no-svg-replace) svg.up-and-down-arrows { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 25 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.05 17.79C12.9571 17.6963 12.8465 17.6219 12.7246 17.5711C12.6028 17.5203 12.472 17.4942 12.34 17.4942C12.208 17.4942 12.0773 17.5203 11.9555 17.5711C11.8336 17.6219 11.723 17.6963 11.63 17.79L8.00004 21.42V1C8.00004 0.734783 7.89468 0.480429 7.70714 0.292893C7.51961 0.105357 7.26525 0 7.00004 0C6.73482 0 6.48047 0.105357 6.29293 0.292893C6.10539 0.480429 6.00004 0.734783 6.00004 1V21.41L2.38004 17.79C2.29432 17.6728 2.18412 17.5757 2.05708 17.5054C1.93005 17.4351 1.78922 17.3933 1.6444 17.3829C1.49958 17.3725 1.35424 17.3938 1.21847 17.4452C1.0827 17.4967 0.959765 17.5771 0.858208 17.6809C0.756651 17.7846 0.678907 17.9093 0.630381 18.0461C0.581855 18.183 0.563709 18.3287 0.577206 18.4733C0.590703 18.6178 0.635518 18.7577 0.708537 18.8832C0.781555 19.0087 0.881026 19.1168 1.00004 19.2L4.92004 23.12C5.48254 23.6818 6.24503 23.9974 7.04004 23.9974C7.83504 23.9974 8.59754 23.6818 9.16004 23.12L13.08 19.2C13.2624 19.0087 13.3615 18.753 13.3559 18.4888C13.3503 18.2246 13.2403 17.9734 13.05 17.79Z' fill='black'/%3E%3Cpath d='M12 6.20998C12.1874 6.39623 12.4409 6.50078 12.705 6.50078C12.9692 6.50078 13.2227 6.39623 13.41 6.20998L17 2.57998V23C17 23.2652 17.1054 23.5196 17.2929 23.7071C17.4805 23.8946 17.7348 24 18 24C18.2653 24 18.5196 23.8946 18.7071 23.7071C18.8947 23.5196 19 23.2652 19 23V2.58998L22.62 6.20998C22.713 6.30371 22.8236 6.37811 22.9455 6.42887C23.0673 6.47964 23.198 6.50578 23.33 6.50578C23.462 6.50578 23.5928 6.47964 23.7146 6.42887C23.8365 6.37811 23.9471 6.30371 24.04 6.20998C24.2263 6.02262 24.3308 5.76917 24.3308 5.50498C24.3308 5.2408 24.2263 4.98734 24.04 4.79998L20.13 0.879976C19.5675 0.318174 18.805 0.00261514 18.01 0.00261514C17.215 0.00261514 16.4525 0.318174 15.89 0.879976L12 4.79998C11.8138 4.98734 11.7092 5.2408 11.7092 5.50498C11.7092 5.76917 11.8138 6.02262 12 6.20998Z' fill='black'/%3E%3C/svg%3E%0A"); +} + +/* Up Arrow with Tail */ +body:not(.no-svg-replace) svg.up-arrow-with-tail { + transform: rotate(90deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M.88,14.09,4.75,18a1,1,0,0,0,1.42,0h0a1,1,0,0,0,0-1.42L2.61,13H23a1,1,0,0,0,1-1h0a1,1,0,0,0-1-1H2.55L6.17,7.38A1,1,0,0,0,6.17,6h0A1,1,0,0,0,4.75,6L.88,9.85A3,3,0,0,0,.88,14.09Z'/%3E%3C/svg%3E%0A"); +} + +/* Up Chevron */ +body:not(.no-svg-replace) svg.up-chevron-glyph { + transform: rotate(90deg); + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M10.6,12.71a1,1,0,0,1,0-1.42l4.59-4.58a1,1,0,0,0,0-1.42,1,1,0,0,0-1.41,0L9.19,9.88a3,3,0,0,0,0,4.24l4.59,4.59a1,1,0,0,0,.7.29,1,1,0,0,0,.71-.29,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E"); +} + +/* Uppercase Lowercase A */ +body:not(.no-svg-replace) svg.uppercase-lowercase-a { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M7.4,5.553a1.041,1.041,0,0,0-1.789,0l-5.5,11a1,1,0,1,0,1.789.894L3.619,14H9.383l1.724,3.447a1,1,0,1,0,1.789-.894ZM4.619,12,6.5,8.236,8.383,12Z'/%3E%3Cpath d='M23,8a1,1,0,0,0-1,1v.026A4.948,4.948,0,0,0,19,8a5,5,0,0,0,0,10,4.948,4.948,0,0,0,3-1.026V17a1,1,0,0,0,2,0V9A1,1,0,0,0,23,8Zm-4,8a3,3,0,1,1,3-3A3,3,0,0,1,19,16Z'/%3E%3C/svg%3E%0A"); +} + +/* Vault, Side Dock Ribbon -> Vault (Normal State) */ +body:not(.no-svg-replace) svg.vault { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m19 0h-14a5.006 5.006 0 0 0 -5 5v14a5.006 5.006 0 0 0 5 5h14a5.006 5.006 0 0 0 5-5v-14a5.006 5.006 0 0 0 -5-5zm-3 11h-3v-3h3zm2-3h4v3h-4zm-5-2v-4h3v4zm-2 0h-3v-4h3zm0 2v3h-3v-3zm-5 3h-4v-3h4zm-4 2h4v3h-4zm6 0h3v3h-3zm3 5v4h-3v-4zm2 0h3v4h-3zm0-2v-3h3v3zm5-3h4v3h-4zm4-8v1h-4v-4h1a3 3 0 0 1 3 3zm-17-3h1v4h-4v-1a3 3 0 0 1 3-3zm-3 17v-1h4v4h-1a3 3 0 0 1 -3-3zm17 3h-1v-4h4v1a3 3 0 0 1 -3 3z'/%3E%3C/svg%3E"); +} + +/* Vertical Split / Split Vertically */ +body:not(.no-svg-replace) svg.vertical-split { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg version='1.0' xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 512 512' preserveAspectRatio='xMidYMid meet'%3E%3Cg transform='translate(0.000000,512.000000) scale(0.100000,-0.100000)'%0Afill='%23000000' stroke='none'%3E%3Cpath d='M2015 4466 c-37 -17 -70 -52 -84 -89 -8 -19 -11 -290 -11 -843 l0%0A-814 -527 0 -528 0 282 283 c304 304 305 306 288 394 -9 49 -69 109 -118 118%0A-91 17 -76 30 -549 -443 -383 -384 -438 -442 -443 -475 -17 -92 -30 -76 443%0A-549 473 -473 458 -460 549 -443 49 9 109 69 118 118 17 88 16 90 -288 395%0Al-282 282 528 0 527 0 2 -829 c3 -820 3 -830 24 -857 39 -53 71 -69 134 -69%0A63 0 95 16 134 69 l21 27 0 1819 0 1819 -21 27 c-11 15 -32 37 -46 47 -34 25%0A-113 32 -153 13z'/%3E%3Cpath d='M2975 4466 c-41 -18 -83 -69 -90 -109 -3 -18 -4 -838 -3 -1824 l3%0A-1792 21 -27 c39 -53 71 -69 134 -69 63 0 95 16 134 69 21 27 21 37 24 857 l2%0A829 527 0 528 0 -282 -282 c-304 -305 -305 -307 -288 -395 9 -49 69 -109 118%0A-118 91 -17 76 -30 549 443 473 473 460 457 443 549 -5 33 -60 91 -443 475%0A-384 383 -442 438 -474 443 -61 11 -108 -3 -149 -44 -41 -41 -55 -88 -44 -148%0A6 -33 45 -77 288 -320 l282 -283 -528 0 -527 0 -2 829 c-3 820 -3 830 -24 857%0A-11 15 -32 37 -46 47 -33 25 -113 32 -153 13z'/%3E%3C/g%3E%3C/svg%3E"); +} + +/* Vertical Three Dots, Active Note -> More Options */ +body:not(.no-svg-replace) svg.vertical-three-dots { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Ccircle cx='2' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='22' cy='12' r='2'/%3E%3C/svg%3E%0A"); +} + +/* Magic Wand, Graph View Timelapse Animation Button Icon */ +body:not(.no-svg-replace) svg.wand { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' height='100%25' viewBox='0 0 24 24' width='100%25' xmlns='http://www.w3.org/2000/svg' data-name='Layer 1'%3E%3Cpath d='m18 9.064a3.049 3.049 0 0 0 -.9-2.164 3.139 3.139 0 0 0 -4.334 0l-11.866 11.869a3.064 3.064 0 0 0 4.33 4.331l11.87-11.869a3.047 3.047 0 0 0 .9-2.167zm-14.184 12.624a1.087 1.087 0 0 1 -1.5 0 1.062 1.062 0 0 1 0-1.5l7.769-7.77 1.505 1.505zm11.872-11.872-2.688 2.689-1.5-1.505 2.689-2.688a1.063 1.063 0 1 1 1.5 1.5zm-10.825-6.961 1.55-.442.442-1.55a1.191 1.191 0 0 1 2.29 0l.442 1.55 1.55.442a1.191 1.191 0 0 1 0 2.29l-1.55.442-.442 1.55a1.191 1.191 0 0 1 -2.29 0l-.442-1.55-1.55-.442a1.191 1.191 0 0 1 0-2.29zm18.274 14.29-1.55.442-.442 1.55a1.191 1.191 0 0 1 -2.29 0l-.442-1.55-1.55-.442a1.191 1.191 0 0 1 0-2.29l1.55-.442.442-1.55a1.191 1.191 0 0 1 2.29 0l.442 1.55 1.55.442a1.191 1.191 0 0 1 0 2.29zm-5.382-14.645 1.356-.387.389-1.358a1.042 1.042 0 0 1 2 0l.387 1.356 1.356.387a1.042 1.042 0 0 1 0 2l-1.356.387-.387 1.359a1.042 1.042 0 0 1 -2 0l-.387-1.355-1.358-.389a1.042 1.042 0 0 1 0-2z'/%3E%3C/svg%3E"); +} + +/* Workspace Glyph */ +body:not(.no-svg-replace) svg.workspace-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M2,11H13a2,2,0,0,0,2-2V2a2,2,0,0,0-2-2H2A2,2,0,0,0,0,2V9A2,2,0,0,0,2,11ZM2,2H13V9H2Z'/%3E%3Cpath d='M22,0H19a2,2,0,0,0-2,2V9a2,2,0,0,0,2,2h3a2,2,0,0,0,2-2V2A2,2,0,0,0,22,0Zm0,9H19V2h3Z'/%3E%3Cpath d='M5,13H2a2,2,0,0,0-2,2v7a2,2,0,0,0,2,2H5a2,2,0,0,0,2-2V15A2,2,0,0,0,5,13Zm0,9H2V15H5Z'/%3E%3Cpath d='M22,13H11a2,2,0,0,0-2,2v7a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V15A2,2,0,0,0,22,13Zm0,9H11V15H22Z'/%3E%3C/svg%3E%0A"); +} + +/* Wrench Screwdriver Glyph */ +body:not(.no-svg-replace) svg.wrench-screwdriver-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M12,8a4,4,0,1,0,4,4A4,4,0,0,0,12,8Zm0,6a2,2,0,1,1,2-2A2,2,0,0,1,12,14Z'/%3E%3Cpath d='M21.294,13.9l-.444-.256a9.1,9.1,0,0,0,0-3.29l.444-.256a3,3,0,1,0-3-5.2l-.445.257A8.977,8.977,0,0,0,15,3.513V3A3,3,0,0,0,9,3v.513A8.977,8.977,0,0,0,6.152,5.159L5.705,4.9a3,3,0,0,0-3,5.2l.444.256a9.1,9.1,0,0,0,0,3.29l-.444.256a3,3,0,1,0,3,5.2l.445-.257A8.977,8.977,0,0,0,9,20.487V21a3,3,0,0,0,6,0v-.513a8.977,8.977,0,0,0,2.848-1.646l.447.258a3,3,0,0,0,3-5.2Zm-2.548-3.776a7.048,7.048,0,0,1,0,3.75,1,1,0,0,0,.464,1.133l1.084.626a1,1,0,0,1-1,1.733l-1.086-.628a1,1,0,0,0-1.215.165,6.984,6.984,0,0,1-3.243,1.875,1,1,0,0,0-.751.969V21a1,1,0,0,1-2,0V19.748a1,1,0,0,0-.751-.969A6.984,6.984,0,0,1,7.006,16.9a1,1,0,0,0-1.215-.165l-1.084.627a1,1,0,1,1-1-1.732l1.084-.626a1,1,0,0,0,.464-1.133,7.048,7.048,0,0,1,0-3.75A1,1,0,0,0,4.79,8.992L3.706,8.366a1,1,0,0,1,1-1.733l1.086.628A1,1,0,0,0,7.006,7.1a6.984,6.984,0,0,1,3.243-1.875A1,1,0,0,0,11,4.252V3a1,1,0,0,1,2,0V4.252a1,1,0,0,0,.751.969A6.984,6.984,0,0,1,16.994,7.1a1,1,0,0,0,1.215.165l1.084-.627a1,1,0,1,1,1,1.732l-1.084.626A1,1,0,0,0,18.746,10.125Z'/%3E%3C/svg%3E%0A"); +} + +/* Yesterday Glyph, Calendar with Minus */ +body:not(.no-svg-replace) svg.yesterday-glyph { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 2H19C20.3256 2.00159 21.5964 2.52888 22.5338 3.46622C23.4711 4.40356 23.9984 5.67441 24 7V19C23.9984 20.3256 23.4711 21.5964 22.5338 22.5338C21.5964 23.4711 20.3256 23.9984 19 24H5C3.67441 23.9984 2.40356 23.4711 1.46622 22.5338C0.528882 21.5964 0.00158786 20.3256 0 19V7C0.00158786 5.67441 0.528882 4.40356 1.46622 3.46622C2.40356 2.52888 3.67441 2.00159 5 2H6V1C6 0.734784 6.10536 0.48043 6.29289 0.292893C6.48043 0.105357 6.73478 0 7 0C7.26522 0 7.51957 0.105357 7.70711 0.292893C7.89464 0.48043 8 0.734784 8 1V2H16V1C16 0.734784 16.1054 0.48043 16.2929 0.292893C16.4804 0.105357 16.7348 0 17 0C17.2652 0 17.5196 0.105357 17.7071 0.292893C17.8946 0.48043 18 0.734784 18 1V2ZM2.87868 4.87868C2.31607 5.44129 2 6.20435 2 7V8H22V7C22 6.20435 21.6839 5.44129 21.1213 4.87868C20.5587 4.31607 19.7956 4 19 4H5C4.20435 4 3.44129 4.31607 2.87868 4.87868ZM2.87868 21.1213C3.44129 21.6839 4.20435 22 5 22H19C19.7956 22 20.5587 21.6839 21.1213 21.1213C21.6839 20.5587 22 19.7956 22 19V10H2V19C2 19.7956 2.31607 20.5587 2.87868 21.1213Z' fill='black'/%3E%3Cpath d='M8.13379 15L16.1338 15C16.6861 15 17.1338 15.4477 17.1338 16C17.1338 16.5523 16.6861 17 16.1338 17L8.13379 17C7.58151 17 7.13379 16.5523 7.13379 16C7.13379 15.4477 7.58151 15 8.13379 15Z' fill='black'/%3E%3C/svg%3E%0A"); +} + +/*──────────────────────────────────── + Alternative Checkboxes +──────────────────────────────────────*/ +/*────────── Checkbox Radius ──────────*/ +body { + --ch-radius: var(--scale-2-2); + --ach-radius-noborder: var(--scale-0-0); + --ach-radius-curved: var(--scale-2-2); + --ach-radius-squircle: var(--scale-2-3); + --ach-radius-round: var(--scale-8-2); +} + +/*────────── Checkbox List Text ──────────*/ +/* Normal Text */ +.markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task="!"], [data-task="/"], [data-task="?"], [data-task=n], [data-task="*"], [data-task=l], [data-task=i], [data-task="<"], [data-task=S], [data-task='"'], [data-task=I], [data-task=p], [data-task=c], [data-task=b]), +ul > li.task-list-item.is-checked[data-task]:is([data-task="!"], [data-task="/"], [data-task="?"], [data-task=n], [data-task="*"], [data-task=l], [data-task=i], [data-task="<"], [data-task=S], [data-task='"'], [data-task=I], [data-task=p], [data-task=c], [data-task=b]) { + color: var(--md-color-text); + text-decoration: none; +} + +/* Muted Text */ +.markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task=">"], [data-task="-"]), +ul > li.task-list-item.is-checked[data-task]:is([data-task=">"], [data-task="-"]) { + color: var(--md-color-text-muted); + text-decoration: none; +} + +/*────────── Icons & Background Color ──────────*/ +:root .theme-light { + --ach-color-resched: var(--color-l-blue-300); + --ach-color-sched: var(--color-l-gray-90); + --ach-color-important: var(--color-l-red-500); + --ach-color-cancelled: var(--color-l-black); + --ach-color-inprogress: var(--color-l-gray-50); + --ach-color-question: var(--color-l-yellow-700); + --ach-color-note: var(--color-l-red-700); + --ach-color-star: var(--color-l-orange-500); + --ach-color-location: var(--color-l-red-500); + --ach-color-info: var(--color-l-blue-700); + --ach-color-amount: var(--color-l-yellow-900); + --ach-color-quote: var(--color-l-violet-700); + --ach-color-idea: var(--color-l-yellow-700); + --ach-color-pro: var(--color-l-green-700); + --ach-color-con: var(--color-l-red-700); + --ach-color-bookmark: var(--color-l-red-700); + --ach-color-fire: var(--color-l-orange-500); + --ach-color-win: var(--color-l-yellow-700); + --ach-color-key: var(--color-l-yellow-500); + --ach-color-up: var(--color-l-green-900); + --ach-color-down: var(--color-l-red-700); + --ach-color-law: var(--color-l-gray-90); + --ach-color-measure: var(--color-l-blue-500); + --ach-color-medical: var(--color-l-blue-300); + --ach-color-time: var(--color-l-violet-300); + --ach-color-telephone: var(--color-l-red-300); + --ach-color-person: var(--color-l-blue-900); + --ach-color-tags: var(--color-l-blue-900); + --ach-color-feature: var(--color-l-orange-700); + --ach-color-language: var(--color-l-blue-300); + --ach-color-world: var(--color-l-blue-700); + --ach-color-universe: var(--color-l-violet-900); +} + +:root .theme-dark { + --ach-color-resched: var(--color-d-blue-300); + --ach-color-sched: var(--color-d-gray-20); + --ach-color-important: var(--color-d-red-900); + --ach-color-cancelled: var(--color-d-black); + --ach-color-inprogress: var(--color-d-gray-30); + --ach-color-question: var(--color-d-yellow-700); + --ach-color-note: var(--color-d-red-700); + --ach-color-star: var(--color-d-orange-500); + --ach-color-location: var(--color-d-red-700); + --ach-color-info: var(--color-d-blue-700); + --ach-color-amount: var(--color-d-yellow-900); + --ach-color-quote: var(--color-d-violet-700); + --ach-color-idea: var(--color-d-yellow-700); + --ach-color-pro: var(--color-d-green-700); + --ach-color-con: var(--color-d-red-700); + --ach-color-bookmark: var(--color-d-red-900); + --ach-color-fire: var(--color-d-orange-700); + --ach-color-win: var(--color-d-yellow-500); + --ach-color-key: var(--color-d-yellow-700); + --ach-color-up: var(--color-d-green-700); + --ach-color-down: var(--color-d-red-900); + --ach-color-law: var(--color-d-gray-40); + --ach-color-measure: var(--color-d-blue-500); + --ach-color-medical: var(--color-d-blue-300); + --ach-color-time: var(--color-d-violet-500); + --ach-color-telephone: var(--color-d-red-500); + --ach-color-person: var(--color-d-blue-900); + --ach-color-tags: var(--color-d-blue-900); + --ach-color-feature: var(--color-d-orange-700); + --ach-color-language: var(--color-d-blue-300); + --ach-color-world: var(--color-d-blue-700); + --ach-color-universe: var(--color-d-violet-900); +} + +/* x — Checked */ +input[data-task=x], +li[data-task=x] > input, +li[data-task=x] > p > input { + border-radius: var(--ch-radius); +} +input[data-task=x]:checked, +li[data-task=x] > input:checked, +li[data-task=x] > p > input:checked { + background-position: center center; + background-size: 75%; + background-repeat: no-repeat; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); +} + +/* > — Rescheduled/Moved */ +input[data-task=">"], +li[data-task=">"] > input, +li[data-task=">"] > p > input { + border-radius: var(--ach-radius-noborder); +} +input[data-task=">"]:checked, +li[data-task=">"] > input:checked, +li[data-task=">"] > p > input:checked { + cursor: default; + background-position: center; + background: none; + -webkit-mask-size: 110%; + -webkit-mask-position: 50% 50%; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: rgba(0, 0, 0, 1);transform: ;msFilter:;'%3E%3Cpath d='m21.426 11.095-17-8A1 1 0 0 0 3.03 4.242l1.212 4.849L12 12l-7.758 2.909-1.212 4.849a.998.998 0 0 0 1.396 1.147l17-8a1 1 0 0 0 0-1.81z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=">"]:checked, .theme-dark input[data-task=">"]:checked, +.theme-light li[data-task=">"] > input:checked, +.theme-dark li[data-task=">"] > input:checked, +.theme-light li[data-task=">"] > p > input:checked, +.theme-dark li[data-task=">"] > p > input:checked { + background-color: var(--ach-color-resched); + box-shadow: none; +} + +/* < — Schedule */ +input[data-task="<"], +li[data-task="<"] > input, +li[data-task="<"] > p > input { + border-radius: var(--ach-radius-noborder); +} +input[data-task="<"]:checked, +li[data-task="<"] > input:checked, +li[data-task="<"] > p > input:checked { + cursor: default; + background: none; + -webkit-mask-size: 110%; + -webkit-mask-position: 50% 50%; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: rgba(255, 255, 255, 1);transform: ;msFilter:;'%3E%3Cpath d='M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 7h14v2H5V7z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task="<"]:checked, .theme-dark input[data-task="<"]:checked, +.theme-light li[data-task="<"] > input:checked, +.theme-dark li[data-task="<"] > input:checked, +.theme-light li[data-task="<"] > p > input:checked, +.theme-dark li[data-task="<"] > p > input:checked { + background-color: var(--ach-color-sched); + box-shadow: none; +} + +/* ! — Important */ +input[data-task="!"], +li[data-task="!"] > input, +li[data-task="!"] > p > input { + border-radius: var(--ch-radius); +} +input[data-task="!"]:checked, +li[data-task="!"] > input:checked, +li[data-task="!"] > p > input:checked { + cursor: default; + background-position: center; + background-size: 22%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='fill: %23fff' viewBox='0 0 128 512'%3E%3C!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M64 352c17.69 0 32-14.32 32-31.1V64.01c0-17.67-14.31-32.01-32-32.01S32 46.34 32 64.01v255.1C32 337.7 46.31 352 64 352zM64 400c-22.09 0-40 17.91-40 40s17.91 39.1 40 39.1s40-17.9 40-39.1S86.09 400 64 400z'/%3E%3C/svg%3E"); +} +.theme-light input[data-task="!"]:checked, .theme-dark input[data-task="!"]:checked, +.theme-light li[data-task="!"] > input:checked, +.theme-dark li[data-task="!"] > input:checked, +.theme-light li[data-task="!"] > p > input:checked, +.theme-dark li[data-task="!"] > p > input:checked { + background-color: var(--ach-color-important); + box-shadow: none; +} + +/* - — Cancelled */ +input[data-task="-"], +li[data-task="-"] > input, +li[data-task="-"] > p > input { + border-radius: var(--ch-radius); +} +input[data-task="-"]:checked, +li[data-task="-"] > input:checked, +li[data-task="-"] > p > input:checked { + cursor: default; + background-position: center; + background-size: 67%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='fill: %23fff' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M400 288h-352c-17.69 0-32-14.32-32-32.01s14.31-31.99 32-31.99h352c17.69 0 32 14.3 32 31.99S417.7 288 400 288z'/%3E%3C/svg%3E"); +} +.theme-light input[data-task="-"]:checked, .theme-dark input[data-task="-"]:checked, +.theme-light li[data-task="-"] > input:checked, +.theme-dark li[data-task="-"] > input:checked, +.theme-light li[data-task="-"] > p > input:checked, +.theme-dark li[data-task="-"] > p > input:checked { + background-color: var(--ach-color-cancelled); + box-shadow: none; +} + +/* / — In Progress */ +input[data-task="/"], +li[data-task="/"] > input, +li[data-task="/"] > p > input { + border-radius: var(--ch-radius); +} +input[data-task="/"]:checked, +li[data-task="/"] > input:checked, +li[data-task="/"] > p > input:checked { + background-image: none; +} +.theme-light input[data-task="/"]:checked, .theme-dark input[data-task="/"]:checked, +.theme-light li[data-task="/"] > input:checked, +.theme-dark li[data-task="/"] > input:checked, +.theme-light li[data-task="/"] > p > input:checked, +.theme-dark li[data-task="/"] > p > input:checked { + background: var(--ach-color-inprogress); +} + +/* ? — Question */ +input[data-task="?"], +li[data-task="?"] > input, +li[data-task="?"] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task="?"]:checked, +li[data-task="?"] > input:checked, +li[data-task="?"] > p > input:checked { + cursor: default; + background-position: center; + background-size: 48%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='fill: %23fff' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M204.3 32.01H96c-52.94 0-96 43.06-96 96c0 17.67 14.31 31.1 32 31.1s32-14.32 32-31.1c0-17.64 14.34-32 32-32h108.3C232.8 96.01 256 119.2 256 147.8c0 19.72-10.97 37.47-30.5 47.33L127.8 252.4C117.1 258.2 112 268.7 112 280v40c0 17.67 14.31 31.99 32 31.99s32-14.32 32-31.99V298.3L256 251.3c39.47-19.75 64-59.42 64-103.5C320 83.95 268.1 32.01 204.3 32.01zM144 400c-22.09 0-40 17.91-40 40s17.91 39.1 40 39.1s40-17.9 40-39.1S166.1 400 144 400z'/%3E%3C/svg%3E"); +} +.theme-light input[data-task="?"]:checked, .theme-dark input[data-task="?"]:checked, +.theme-light li[data-task="?"] > input:checked, +.theme-dark li[data-task="?"] > input:checked, +.theme-light li[data-task="?"] > p > input:checked, +.theme-dark li[data-task="?"] > p > input:checked { + background-color: var(--ach-color-question); + box-shadow: none; +} + +/* n — Note */ +input[data-task=n], +li[data-task=n] > input, +li[data-task=n] > p > input { + border-radius: var(--ach-radius-noborder); +} +input[data-task=n]:checked, +li[data-task=n] > input:checked, +li[data-task=n] > p > input:checked { + cursor: default; + background-position: center; + background: none; + transform: rotate(45deg); + -webkit-mask-size: 120%; + -webkit-mask-position: 50% 50%; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M15 11.586V6h2V4a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v2h2v5.586l-2.707 1.707A.996.996 0 0 0 6 14v2a1 1 0 0 0 1 1h4v3l1 2 1-2v-3h4a1 1 0 0 0 1-1v-2a.996.996 0 0 0-.293-.707L15 11.586z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=n]:checked, .theme-dark input[data-task=n]:checked, +.theme-light li[data-task=n] > input:checked, +.theme-dark li[data-task=n] > input:checked, +.theme-light li[data-task=n] > p > input:checked, +.theme-dark li[data-task=n] > p > input:checked { + background-color: var(--ach-color-note); + box-shadow: none; +} + +/* * — Star */ +input[data-task="*"], +li[data-task="*"] > input, +li[data-task="*"] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task="*"]:checked, +li[data-task="*"] > input:checked, +li[data-task="*"] > p > input:checked { + cursor: default; + background-position: center; + background-size: 80%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M21.947 9.179a1.001 1.001 0 0 0-.868-.676l-5.701-.453-2.467-5.461a.998.998 0 0 0-1.822-.001L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.213 4.107-1.49 6.452a1 1 0 0 0 1.53 1.057L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082c.297-.268.406-.686.278-1.065z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task="*"]:checked, .theme-dark input[data-task="*"]:checked, +.theme-light li[data-task="*"] > input:checked, +.theme-dark li[data-task="*"] > input:checked, +.theme-light li[data-task="*"] > p > input:checked, +.theme-dark li[data-task="*"] > p > input:checked { + background-color: var(--ach-color-star); + box-shadow: none; +} + +/* l — Location */ +input[data-task=l], +li[data-task=l] > input, +li[data-task=l] > p > input { + border-radius: var(--ach-radius-noborder); +} +input[data-task=l]:checked, +li[data-task=l] > input:checked, +li[data-task=l] > p > input:checked { + cursor: default; + background-position: center; + background-size: 100%; + background: none; + -webkit-mask-size: 110%; + -webkit-mask-position: 50% 50%; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='white'%3E%3Cpath fill-rule='evenodd' d='M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z' clip-rule='evenodd' /%3E%3C/svg%3E"); +} +.theme-light input[data-task=l]:checked, .theme-dark input[data-task=l]:checked, +.theme-light li[data-task=l] > input:checked, +.theme-dark li[data-task=l] > input:checked, +.theme-light li[data-task=l] > p > input:checked, +.theme-dark li[data-task=l] > p > input:checked { + background-color: var(--ach-color-location); + box-shadow: none; +} + +/* i — Info */ +input[data-task=i], +li[data-task=i] > input, +li[data-task=i] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task=i]:checked, +li[data-task=i] > input:checked, +li[data-task=i] > p > input:checked { + cursor: default; + background-position: center; + background-size: 26%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='fill: %23fff' viewBox='0 0 192 512'%3E%3C!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M160 448h-32V224c0-17.69-14.33-32-32-32L32 192c-17.67 0-32 14.31-32 32s14.33 31.1 32 31.1h32v192H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h128c17.67 0 32-14.31 32-32S177.7 448 160 448zM96 128c26.51 0 48-21.49 48-48S122.5 32.01 96 32.01s-48 21.49-48 48S69.49 128 96 128z'/%3E%3C/svg%3E"); +} +.theme-light input[data-task=i]:checked, .theme-dark input[data-task=i]:checked, +.theme-light li[data-task=i] > input:checked, +.theme-dark li[data-task=i] > input:checked, +.theme-light li[data-task=i] > p > input:checked, +.theme-dark li[data-task=i] > p > input:checked { + background-color: var(--ach-color-info); + box-shadow: none; +} + +/* S — Amount */ +input[data-task=S], +li[data-task=S] > input, +li[data-task=S] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task=S]:checked, +li[data-task=S] > input:checked, +li[data-task=S] > p > input:checked { + cursor: default; + background-position: center; + background-size: 100%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M15.999 8.5h2c0-2.837-2.755-4.131-5-4.429V2h-2v2.071c-2.245.298-5 1.592-5 4.429 0 2.706 2.666 4.113 5 4.43v4.97c-1.448-.251-3-1.024-3-2.4h-2c0 2.589 2.425 4.119 5 4.436V22h2v-2.07c2.245-.298 5-1.593 5-4.43s-2.755-4.131-5-4.429V6.1c1.33.239 3 .941 3 2.4zm-8 0c0-1.459 1.67-2.161 3-2.4v4.799c-1.371-.253-3-1.002-3-2.399zm8 7c0 1.459-1.67 2.161-3 2.4v-4.8c1.33.239 3 .941 3 2.4z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=S]:checked, .theme-dark input[data-task=S]:checked, +.theme-light li[data-task=S] > input:checked, +.theme-dark li[data-task=S] > input:checked, +.theme-light li[data-task=S] > p > input:checked, +.theme-dark li[data-task=S] > p > input:checked { + background-color: var(--ach-color-amount); + box-shadow: none; +} + +/* " — Quote */ +input[data-task='"']:checked, +li[data-task='"'] > p > input:checked { + cursor: default; + background-position: center; + background-size: 80%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' style='fill: rgba(255, 255, 255, 1);transform: ;msFilter:;'%3E%3Cpath d='m21.95 8.721-.025-.168-.026.006A4.5 4.5 0 1 0 17.5 14c.223 0 .437-.034.65-.065-.069.232-.14.468-.254.68-.114.308-.292.575-.469.844-.148.291-.409.488-.601.737-.201.242-.475.403-.692.604-.213.21-.492.315-.714.463-.232.133-.434.28-.65.35l-.539.222-.474.197.484 1.939.597-.144c.191-.048.424-.104.689-.171.271-.05.56-.187.882-.312.317-.143.686-.238 1.028-.467.344-.218.741-.4 1.091-.692.339-.301.748-.562 1.05-.944.33-.358.656-.734.909-1.162.293-.408.492-.856.702-1.299.19-.443.343-.896.468-1.336.237-.882.343-1.72.384-2.437.034-.718.014-1.315-.028-1.747a7.028 7.028 0 0 0-.063-.539zm-11 0-.025-.168-.026.006A4.5 4.5 0 1 0 6.5 14c.223 0 .437-.034.65-.065-.069.232-.14.468-.254.68-.114.308-.292.575-.469.844-.148.291-.409.488-.601.737-.201.242-.475.403-.692.604-.213.21-.492.315-.714.463-.232.133-.434.28-.65.35l-.539.222c-.301.123-.473.195-.473.195l.484 1.939.597-.144c.191-.048.424-.104.689-.171.271-.05.56-.187.882-.312.317-.143.686-.238 1.028-.467.344-.218.741-.4 1.091-.692.339-.301.748-.562 1.05-.944.33-.358.656-.734.909-1.162.293-.408.492-.856.702-1.299.19-.443.343-.896.468-1.336.237-.882.343-1.72.384-2.437.034-.718.014-1.315-.028-1.747a7.571 7.571 0 0 0-.064-.537z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task='"']:checked, .theme-dark input[data-task='"']:checked, +.theme-light li[data-task='"'] > p > input:checked, +.theme-dark li[data-task='"'] > p > input:checked { + background-color: var(--ach-color-quote); + box-shadow: none; +} + +/* I — Idea / Lightbulb */ +input[data-task=I], +li[data-task=I] > input, +li[data-task=I] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task=I]:checked, +li[data-task=I] > input:checked, +li[data-task=I] > p > input:checked { + cursor: default; + background-position: center; + background-size: 90%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='9' y1='18' x2='15' y2='18'%3E%3C/line%3E%3Cline x1='10' y1='22' x2='14' y2='22'%3E%3C/line%3E%3Cpath d='M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=I]:checked, .theme-dark input[data-task=I]:checked, +.theme-light li[data-task=I] > input:checked, +.theme-dark li[data-task=I] > input:checked, +.theme-light li[data-task=I] > p > input:checked, +.theme-dark li[data-task=I] > p > input:checked { + background-color: var(--ach-color-idea); + box-shadow: none; +} + +/* p - Pro */ +input[data-task=p], +li[data-task=p] > input, +li[data-task=p] > p > input { + border-radius: var(--ach-radius-curved); +} +input[data-task=p]:checked, +li[data-task=p] > input:checked, +li[data-task=p] > p > input:checked { + cursor: default; + background-position: center; + background-size: 90%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E<!--! Atomicons Free 1.00 by @atisalab License - https://atomicons.com/license/ (Icons: CC BY 4.0) Copyright 2021 Atomicons -->%3Cpath d='M7,9l4-7h.69a2,2,0,0,1,2,2.28L13,9h6.67a2,2,0,0,1,2,2.3l-1.39,9a2,2,0,0,1-2,1.7H7Z'%3E%3C/path%3E%3Cpath d='M2,11v9a2,2,0,0,0,2,2H7V9H4A2,2,0,0,0,2,11Z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=p]:checked, .theme-dark input[data-task=p]:checked, +.theme-light li[data-task=p] > input:checked, +.theme-dark li[data-task=p] > input:checked, +.theme-light li[data-task=p] > p > input:checked, +.theme-dark li[data-task=p] > p > input:checked { + background-color: var(--ach-color-pro); + box-shadow: none; +} + +/* c - Con */ +input[data-task=c], +li[data-task=c] > input, +li[data-task=c] > p > input { + border-radius: var(--ach-radius-curved); +} +input[data-task=c]:checked, +li[data-task=c] > input:checked, +li[data-task=c] > p > input:checked { + cursor: default; + background-position: center; + background-size: 90%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E<!--! Atomicons Free 1.00 by @atisalab License - https://atomicons.com/license/ (Icons: CC BY 4.0) Copyright 2021 Atomicons -->%3Cpath d='M7,9l4-7h.69a2,2,0,0,1,2,2.28L13,9h6.67a2,2,0,0,1,2,2.3l-1.39,9a2,2,0,0,1-2,1.7H7Z'%3E%3C/path%3E%3Cpath d='M2,11v9a2,2,0,0,0,2,2H7V9H4A2,2,0,0,0,2,11Z'%3E%3C/path%3E%3C/svg%3E"); + transform: scaleY(-1); +} +.theme-light input[data-task=c]:checked, .theme-dark input[data-task=c]:checked, +.theme-light li[data-task=c] > input:checked, +.theme-dark li[data-task=c] > input:checked, +.theme-light li[data-task=c] > p > input:checked, +.theme-dark li[data-task=c] > p > input:checked { + background-color: var(--ach-color-con); + box-shadow: none; +} + +/* b - Bookmark */ +input[data-task=b], +li[data-task=b] > input, +li[data-task=b] > p > input { + border-radius: var(--ach-radius-curved); +} +input[data-task=b]:checked, +li[data-task=b] > input:checked, +li[data-task=b] > p > input:checked { + cursor: default; + background-position: center; + background-size: 90%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M19 10.132v-6c0-1.103-.897-2-2-2H7c-1.103 0-2 .897-2 2V22l7-4.666L19 22V10.132z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=b]:checked, .theme-dark input[data-task=b]:checked, +.theme-light li[data-task=b] > input:checked, +.theme-dark li[data-task=b] > input:checked, +.theme-light li[data-task=b] > p > input:checked, +.theme-dark li[data-task=b] > p > input:checked { + background-color: var(--ach-color-bookmark); + box-shadow: none; +} + +/* f - Fire */ +input[data-task=f]:checked, +li[data-task=f] > input:checked, +li[data-task=f] > p > input:checked { + cursor: default; + background-position: center; + background-size: 100%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M16.5 8c0 1.5-.5 3.5-2.9 4.3.7-1.7.8-3.4.3-5-.7-2.1-3-3.7-4.6-4.6-.4-.3-1.1.1-1 .7 0 1.1-.3 2.7-2 4.4C4.1 10 3 12.3 3 14.5 3 17.4 5 21 9 21c-4-4-1-7.5-1-7.5.8 5.9 5 7.5 7 7.5 1.7 0 5-1.2 5-6.4 0-3.1-1.3-5.5-2.4-6.9-.3-.5-1-.2-1.1.3'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=f]:checked, .theme-dark input[data-task=f]:checked, +.theme-light li[data-task=f] > input:checked, +.theme-dark li[data-task=f] > input:checked, +.theme-light li[data-task=f] > p > input:checked, +.theme-dark li[data-task=f] > p > input:checked { + background-color: var(--ach-color-fire); + box-shadow: none; +} + +/* w - Win */ +input[data-task=w], +li[data-task=w] > input, +li[data-task=w] > p > input { + border-radius: var(--ach-radius-noborder); +} +input[data-task=w]:checked, +li[data-task=w] > input:checked, +li[data-task=w] > p > input:checked { + cursor: default; + background-position: center; + background: none; + -webkit-mask-size: 100%; + -webkit-mask-position: 50% 50%; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M21 4h-3V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1H3a1 1 0 0 0-1 1v3c0 4.31 1.8 6.91 4.82 7A6 6 0 0 0 11 17.91V20H9v2h6v-2h-2v-2.09A6 6 0 0 0 17.18 15c3-.1 4.82-2.7 4.82-7V5a1 1 0 0 0-1-1zM4 8V6h2v6.83C4.22 12.08 4 9.3 4 8zm14 4.83V6h2v2c0 1.3-.22 4.08-2 4.83z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=w]:checked, .theme-dark input[data-task=w]:checked, +.theme-light li[data-task=w] > input:checked, +.theme-dark li[data-task=w] > input:checked, +.theme-light li[data-task=w] > p > input:checked, +.theme-dark li[data-task=w] > p > input:checked { + background-color: var(--ach-color-win); + box-shadow: none; +} + +/* k - Key */ +input[data-task=k]:checked, +li[data-task=k] > input:checked, +li[data-task=k] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 100%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: rotate(45deg);msFilter:;'%3E%3Cpath d='M7 17a5.007 5.007 0 0 0 4.898-4H14v2h2v-2h2v3h2v-3h1v-2h-9.102A5.007 5.007 0 0 0 7 7c-2.757 0-5 2.243-5 5s2.243 5 5 5zm0-8c1.654 0 3 1.346 3 3s-1.346 3-3 3-3-1.346-3-3 1.346-3 3-3z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=k]:checked, .theme-dark input[data-task=k]:checked, +.theme-light li[data-task=k] > input:checked, +.theme-dark li[data-task=k] > input:checked, +.theme-light li[data-task=k] > p > input:checked, +.theme-dark li[data-task=k] > p > input:checked { + background-color: var(--ach-color-key); + box-shadow: none; +} + +/* u - Up */ +input[data-task=u]:checked, +li[data-task=u] > input:checked, +li[data-task=u] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 85%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='transform: rotate(-10deg);' fill='white' viewBox='0 0 576 512'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M384 160C366.3 160 352 145.7 352 128C352 110.3 366.3 96 384 96H544C561.7 96 576 110.3 576 128V288C576 305.7 561.7 320 544 320C526.3 320 512 305.7 512 288V205.3L342.6 374.6C330.1 387.1 309.9 387.1 297.4 374.6L191.1 269.3L54.63 406.6C42.13 419.1 21.87 419.1 9.372 406.6C-3.124 394.1-3.124 373.9 9.372 361.4L169.4 201.4C181.9 188.9 202.1 188.9 214.6 201.4L320 306.7L466.7 159.1L384 160z'/%3E%3C/svg%3E"); +} +.theme-light input[data-task=u]:checked, .theme-dark input[data-task=u]:checked, +.theme-light li[data-task=u] > input:checked, +.theme-dark li[data-task=u] > input:checked, +.theme-light li[data-task=u] > p > input:checked, +.theme-dark li[data-task=u] > p > input:checked { + background-color: var(--ach-color-up); + box-shadow: none; +} + +/* d - Down */ +input[data-task=d]:checked, +li[data-task=d] > input:checked, +li[data-task=d] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 85%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='transform: rotate(10deg) scaleY(-1);' fill='white' viewBox='0 0 576 512'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M384 160C366.3 160 352 145.7 352 128C352 110.3 366.3 96 384 96H544C561.7 96 576 110.3 576 128V288C576 305.7 561.7 320 544 320C526.3 320 512 305.7 512 288V205.3L342.6 374.6C330.1 387.1 309.9 387.1 297.4 374.6L191.1 269.3L54.63 406.6C42.13 419.1 21.87 419.1 9.372 406.6C-3.124 394.1-3.124 373.9 9.372 361.4L169.4 201.4C181.9 188.9 202.1 188.9 214.6 201.4L320 306.7L466.7 159.1L384 160z'/%3E%3C/svg%3E"); +} +.theme-light input[data-task=d]:checked, .theme-dark input[data-task=d]:checked, +.theme-light li[data-task=d] > input:checked, +.theme-dark li[data-task=d] > input:checked, +.theme-light li[data-task=d] > p > input:checked, +.theme-dark li[data-task=d] > p > input:checked { + background-color: var(--ach-color-down); + box-shadow: none; +} + +/* r - Rule/Law */ +input[data-task=r], +li[data-task=r] > input, +li[data-task=r] > p > input { + border-radius: var(--ach-radius-curved); +} +input[data-task=r]:checked, +li[data-task=r] > input:checked, +li[data-task=r] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 92%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 16 3-8 3.001 8A5.002 5.002 0 0 1 16 16z'%3E%3C/path%3E%3Cpath d='m2 16 3-8 3.001 8A5.002 5.002 0 0 1 2 16z'%3E%3C/path%3E%3Cpath d='M7 21h10'%3E%3C/path%3E%3Cpath d='M12 3v18'%3E%3C/path%3E%3Cpath d='M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=r]:checked, .theme-dark input[data-task=r]:checked, +.theme-light li[data-task=r] > input:checked, +.theme-dark li[data-task=r] > input:checked, +.theme-light li[data-task=r] > p > input:checked, +.theme-dark li[data-task=r] > p > input:checked { + background-color: var(--ach-color-law); + box-shadow: none; +} + +/* m - Measure */ +input[data-task=m], +li[data-task=m] > input, +li[data-task=m] > p > input { + border-radius: var(--ach-radius-curved); +} +input[data-task=m]:checked, +li[data-task=m] > input:checked, +li[data-task=m] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 92%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 2 6 6L8 22l-6-6L16 2'%3E%3C/path%3E%3Cpath d='m7.5 10.5 2 2'%3E%3C/path%3E%3Cpath d='m10.5 7.5 2 2'%3E%3C/path%3E%3Cpath d='m13.5 4.5 2 2'%3E%3C/path%3E%3Cpath d='m4.5 13.5 2 2'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=m]:checked, .theme-dark input[data-task=m]:checked, +.theme-light li[data-task=m] > input:checked, +.theme-dark li[data-task=m] > input:checked, +.theme-light li[data-task=m] > p > input:checked, +.theme-dark li[data-task=m] > p > input:checked { + background-color: var(--ach-color-measure); + box-shadow: none; +} + +/* M - Medical */ +input[data-task=M]:checked, +li[data-task=M] > input:checked, +li[data-task=M] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 75%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M15 2.013H9V9H2v6h7v6.987h6V15h7V9h-7z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=M]:checked, .theme-dark input[data-task=M]:checked, +.theme-light li[data-task=M] > input:checked, +.theme-dark li[data-task=M] > input:checked, +.theme-light li[data-task=M] > p > input:checked, +.theme-dark li[data-task=M] > p > input:checked { + background-color: var(--ach-color-medical); + box-shadow: none; +} + +/* t - Time */ +input[data-task=t], +li[data-task=t] > input, +li[data-task=t] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task=t]:checked, +li[data-task=t] > input:checked, +li[data-task=t] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 90%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); +} +.theme-light input[data-task=t]:checked, .theme-dark input[data-task=t]:checked, +.theme-light li[data-task=t] > input:checked, +.theme-dark li[data-task=t] > input:checked, +.theme-light li[data-task=t] > p > input:checked, +.theme-dark li[data-task=t] > p > input:checked { + background-color: var(--ach-color-time); + box-shadow: none; +} + +/* T - Telephone */ +input[data-task=T], +li[data-task=T] > input, +li[data-task=T] > p > input { + border-radius: var(--ach-radius-curved); +} +input[data-task=T]:checked, +li[data-task=T] > input:checked, +li[data-task=T] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 85%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=T]:checked, .theme-dark input[data-task=T]:checked, +.theme-light li[data-task=T] > input:checked, +.theme-dark li[data-task=T] > input:checked, +.theme-light li[data-task=T] > p > input:checked, +.theme-dark li[data-task=T] > p > input:checked { + background-color: var(--ach-color-telephone); + box-shadow: none; +} + +/* P - Person */ +input[data-task=P], +li[data-task=P] > input, +li[data-task=P] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task=P]:checked, +li[data-task=P] > input:checked, +li[data-task=P] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 90%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E"); +} +.theme-light input[data-task=P]:checked, .theme-dark input[data-task=P]:checked, +.theme-light li[data-task=P] > input:checked, +.theme-dark li[data-task=P] > input:checked, +.theme-light li[data-task=P] > p > input:checked, +.theme-dark li[data-task=P] > p > input:checked { + background-color: var(--ach-color-person); + box-shadow: none; +} + +/* # - Tags */ +input[data-task="#"], +li[data-task="#"] > input, +li[data-task="#"] > p > input { + border-radius: var(--ach-radius-squircle); +} +input[data-task="#"]:checked, +li[data-task="#"] > input:checked, +li[data-task="#"] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 80%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12V2h10l9.44 9.44a2 2 0 0 1 0 2.82l-7.18 7.18a2 2 0 0 1-2.82 0L2 12Z'%3E%3C/path%3E%3Cpath d='M7 7h.01'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task="#"]:checked, .theme-dark input[data-task="#"]:checked, +.theme-light li[data-task="#"] > input:checked, +.theme-dark li[data-task="#"] > input:checked, +.theme-light li[data-task="#"] > p > input:checked, +.theme-dark li[data-task="#"] > p > input:checked { + background-color: var(--ach-color-tags); + box-shadow: none; +} + +/* F - Feature */ +input[data-task=F], +li[data-task=F] > input, +li[data-task=F] > p > input { + border-radius: var(--ach-radius-squircle); +} +input[data-task=F]:checked, +li[data-task=F] > input:checked, +li[data-task=F] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 75%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'%3E%3C/polygon%3E%3C/svg%3E"); +} +.theme-light input[data-task=F]:checked, .theme-dark input[data-task=F]:checked, +.theme-light li[data-task=F] > input:checked, +.theme-dark li[data-task=F] > input:checked, +.theme-light li[data-task=F] > p > input:checked, +.theme-dark li[data-task=F] > p > input:checked { + background-color: var(--ach-color-feature); + box-shadow: none; +} + +/* L - Translate/Language */ +input[data-task=L]:checked, +li[data-task=L] > input:checked, +li[data-task=L] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 90%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 6 6'%3E%3C/path%3E%3Cpath d='m4 14 6-6 2-3'%3E%3C/path%3E%3Cpath d='M2 5h12'%3E%3C/path%3E%3Cpath d='M7 2h1'%3E%3C/path%3E%3Cpath d='m22 22-5-10-5 10'%3E%3C/path%3E%3Cpath d='M14 18h6'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=L]:checked, .theme-dark input[data-task=L]:checked, +.theme-light li[data-task=L] > input:checked, +.theme-dark li[data-task=L] > input:checked, +.theme-light li[data-task=L] > p > input:checked, +.theme-dark li[data-task=L] > p > input:checked { + background-color: var(--ach-color-language); + box-shadow: none; +} + +/* W - World/Country */ +input[data-task=W], +li[data-task=W] > input, +li[data-task=W] > p > input { + border-radius: var(--ach-radius-round); +} +input[data-task=W]:checked, +li[data-task=W] > input:checked, +li[data-task=W] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 100%; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM4 12c0-.899.156-1.762.431-2.569L6 11l2 2v2l2 2 1 1v1.931C7.061 19.436 4 16.072 4 12zm14.33 4.873C17.677 16.347 16.687 16 16 16v-1a2 2 0 0 0-2-2h-4v-3a2 2 0 0 0 2-2V7h1a2 2 0 0 0 2-2v-.411C17.928 5.778 20 8.65 20 12a7.947 7.947 0 0 1-1.67 4.873z'%3E%3C/path%3E%3C/svg%3E"); +} +.theme-light input[data-task=W]:checked, .theme-dark input[data-task=W]:checked, +.theme-light li[data-task=W] > input:checked, +.theme-dark li[data-task=W] > input:checked, +.theme-light li[data-task=W] > p > input:checked, +.theme-dark li[data-task=W] > p > input:checked { + background-color: var(--ach-color-world); + box-shadow: none; +} + +/* U - Universe */ +input[data-task=U], +li[data-task=U] > input, +li[data-task=U] > p > input { + border-radius: var(--ach-radius-curved); +} +input[data-task=U]:checked, +li[data-task=U] > input:checked, +li[data-task=U] > p > input:checked { + cursor: default; + background-position: center center; + background-size: 95%; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAADKklEQVRYhe2XXWhPcRjHv8fbZLa2yLu8LVaSvNzRyIW0xPJyQYgiN7hCwiQpbsgNygWSQlIkRYrVWiJvIZrCYt5aFPs3NrOPi/Mc/2f//ue/s9mdPTfn/3x/3+f7fc7L7znnL/3vEXS1EJgiaZGkMkmlkook/ZaUknRf0mlJV4MgoBv6/GsaAIuAuySLC0Df7jIfA9zMMEgBT4Aa4BHQkqWJQ91hvgD4boK/gRPAPCAvg9cfWA18dQ20AiX/Yr4a+GViT4GZCWpmmXEUu7tqXu7MrwOFnag96xq40xXzUqDRBK4CfdzafOAiUG/3/Q2wwz9wwFLXwHvDhlre0JF5H+Ceke8D+YYPIHyy4+Ko05jh8GbDSix/11ED24yYAiYalgdU5TAHaHQacxz+1bDplr+MeL2ymA+StNPSXUEQvAQCSSclzcnZueQv7Xj3+4sdx9nxR2wDkrYpnGq1ko4ZtlfSSseplTRV0qSM2tPud4X7/diOpXZ8k8VXAvJJ7+Hlhs0m3PtRvAZG2Np8hz/C5oLd62a3tsnwM5YfiGtggxFeAb2BfsAzJ/QRmGDcycBnwx/arYt0/MRsBgYb/tywlXENRA/ZVsu3O6FfQJnh04AGwx8AxU5jJ+3jlOEjLW8DhmUzH0Z4qVuBEYRbsd4JVRpvCPDe4ZOcxhoziCIFjLS1zYY9iTv7FUaotnyJE2ogPQvOZ5xhGVAMVNJ+/AKsd/rRXKmMa+C4EfZYfskJHXS8FMniuKuJZkILMDyugWojLbD8nRNb7HgfEpgfIZwd0TdEpH0uq7kRPxlptOV+G811vMM5jD8CyzJ0N9paEzA2VwM/jdjf8i9OeJXj5QH7gTqrqSN8U64DBmZoVpD+SNkTax7T0C3XwJVOFevvQxxdxSo6+2kGbHENtGGTMUFdPnCM9HZsN6Q600CB3dMoWoF9uKGTwS8ifIu+dTU34vhR5PwsB8olXZbkL1+TpBpJLxS+1QolzZA0zfGaFL7ADgVB0JbgfHM2sZD0zO8ovhFuwVFJ9RP9MQEKJK2VVC5psqThkholtUiqk/RA0m1J14Ig+BGn0xM9kS3+AIVhhF9MAbHFAAAAAElFTkSuQmCC"); +} +.theme-light input[data-task=U]:checked, .theme-dark input[data-task=U]:checked, +.theme-light li[data-task=U] > input:checked, +.theme-dark li[data-task=U] > input:checked, +.theme-light li[data-task=U] > p > input:checked, +.theme-dark li[data-task=U] > p > input:checked { + background-color: var(--ach-color-universe); + box-shadow: none; +} + +/*──────────Markdown Formatting──────────*/ +.gray-md-formatting span.cm-formatting:not(.cm-header, .cm-formatting-hashtag, .cm-formatting-list), +.gray-md-formatting .cm-s-obsidian span.cm-formatting-math.cm-keyword, +.gray-md-formatting .cm-s-obsidian span.cm-formatting-link.cm-link, +.gray-md-formatting .cm-s-obsidian span.cm-formatting-escape, +.gray-md-formatting .cm-s-obsidian span.cm-formatting-link-string.cm-string.cm-url, +.gray-md-formatting .cm-s-obsidian span.cm-bracket, +.gray-md-formatting span.cm-formatting-code.cm-inline-code, +.gray-md-formatting span.cm-formatting-header, +.gray-md-formatting span.cm-header.cm-formatting-link-start, +.gray-md-formatting span.cm-header.cm-formatting-link-end, +.gray-md-formatting span.cm-header.cm-formatting.cm-link, +.gray-md-formatting span.cm-header.cm-formatting.cm-string.cm-url, +.gray-md-formatting span.cm-formatting.cm-highlight, +.gray-md-formatting .markdown-source-view.is-live-preview .cm-header.cm-formatting-highlight, +.gray-md-formatting .markdown-source-view .cm-header.cm-formatting-strong, +.gray-md-formatting .markdown-source-view .cm-header.cm-formatting-strikethrough, +.gray-md-formatting .markdown-source-view .cm-header.cm-formatting-em, +.gray-md-formatting span.cm-quote.cm-formatting.cm-strong, +.gray-md-formatting span.cm-quote.cm-formatting.cm-em, +.gray-md-formatting span.cm-quote.cm-formatting.cm-highlight, +.gray-md-formatting span.cm-quote.cm-formatting.cm-strikethrough, +.gray-md-formatting .cm-s-obsidian span.cm-quote.cm-formatting-quote { + filter: initial; + color: var(--md-color-formatting); + background: initial; + text-decoration: none; +} + +/*──────────────────────────────────── + Translucency +────────────────────────────────────*/ +.theme-light.is-translucent.is-translucent.is-translucent { + --opacity-translucency: 0.8; +} +.theme-light.is-translucent.is-translucent.is-translucent .workspace-split.mod-left-split, .theme-light.is-translucent.is-translucent.is-translucent .workspace-split.mod-right-split, .theme-light.is-translucent.is-translucent.is-translucent .side-dock-ribbon { + --opacity-translucency: 0.8; +} +.theme-light.is-translucent.is-translucent.is-translucent .titlebar, .theme-light.is-translucent.is-translucent.is-translucent .workspace-split.mod-root { + --opacity-translucency: 0.9; +} +.theme-light.is-translucent.is-translucent.is-translucent .status-bar { + margin: 0; +} + +.theme-dark.is-translucent.is-translucent.is-translucent { + --opacity-translucency: 0.6; +} +.theme-dark.is-translucent.is-translucent.is-translucent .workspace-split.mod-left-split, .theme-dark.is-translucent.is-translucent.is-translucent .workspace-split.mod-right-split, .theme-dark.is-translucent.is-translucent.is-translucent .side-dock-ribbon { + --opacity-translucency: 0.6; +} +.theme-dark.is-translucent.is-translucent.is-translucent .titlebar, .theme-dark.is-translucent.is-translucent.is-translucent .workspace-split.mod-root { + --opacity-translucency: 0.9; +} +.theme-dark.is-translucent.is-translucent.is-translucent .status-bar { + margin: 0; +} + +progress { + -webkit-appearance: none; + appearance: none; + width: calc(var(--font-text-size) + 220px); + height: calc(var(--font-text-size) - 8px); + margin-right: var(--scale-2-4); + vertical-align: 2px; +} +progress[value]::-webkit-progress-bar { + background: var(--background-secondary); + box-shadow: 0px 0px 0px 1px var(--background-modifier-border) inset; + border-radius: var(--scale-8-2); + overflow: hidden; +} +progress[value]::-webkit-progress-value { + border-radius: var(--scale-8-2); +} +progress[value="1"]::-webkit-progress-value, progress[value="2"]::-webkit-progress-value, progress[value="3"]::-webkit-progress-value, progress[value="4"]::-webkit-progress-value, progress[value="5"]::-webkit-progress-value, progress[value="6"]::-webkit-progress-value, progress[value="7"]::-webkit-progress-value, progress[value="8"]::-webkit-progress-value, progress[value="9"]::-webkit-progress-value, progress[value="10"]::-webkit-progress-value, progress[value="11"]::-webkit-progress-value, progress[value="12"]::-webkit-progress-value, progress[value="13"]::-webkit-progress-value, progress[value="14"]::-webkit-progress-value, progress[value="15"]::-webkit-progress-value, progress[value="16"]::-webkit-progress-value, progress[value="17"]::-webkit-progress-value, progress[value="18"]::-webkit-progress-value, progress[value="19"]::-webkit-progress-value { + background: var(--color-progress-10); +} +progress[value="20"]::-webkit-progress-value, progress[value="21"]::-webkit-progress-value, progress[value="22"]::-webkit-progress-value, progress[value="23"]::-webkit-progress-value, progress[value="24"]::-webkit-progress-value, progress[value="25"]::-webkit-progress-value, progress[value="26"]::-webkit-progress-value, progress[value="27"]::-webkit-progress-value, progress[value="28"]::-webkit-progress-value, progress[value="29"]::-webkit-progress-value { + background: var(--color-progress-20); +} +progress[value="30"]::-webkit-progress-value, progress[value="31"]::-webkit-progress-value, progress[value="32"]::-webkit-progress-value, progress[value="33"]::-webkit-progress-value, progress[value="34"]::-webkit-progress-value, progress[value="35"]::-webkit-progress-value, progress[value="36"]::-webkit-progress-value, progress[value="37"]::-webkit-progress-value, progress[value="38"]::-webkit-progress-value, progress[value="39"]::-webkit-progress-value { + background: var(--color-progress-30); +} +progress[value="40"]::-webkit-progress-value, progress[value="41"]::-webkit-progress-value, progress[value="42"]::-webkit-progress-value, progress[value="43"]::-webkit-progress-value, progress[value="44"]::-webkit-progress-value, progress[value="45"]::-webkit-progress-value, progress[value="46"]::-webkit-progress-value, progress[value="47"]::-webkit-progress-value, progress[value="48"]::-webkit-progress-value, progress[value="49"]::-webkit-progress-value { + background: var(--color-progress-40); +} +progress[value="50"]::-webkit-progress-value, progress[value="51"]::-webkit-progress-value, progress[value="52"]::-webkit-progress-value, progress[value="53"]::-webkit-progress-value, progress[value="54"]::-webkit-progress-value, progress[value="55"]::-webkit-progress-value, progress[value="56"]::-webkit-progress-value, progress[value="57"]::-webkit-progress-value, progress[value="58"]::-webkit-progress-value, progress[value="59"]::-webkit-progress-value { + background: var(--color-progress-50); +} +progress[value="60"]::-webkit-progress-value, progress[value="61"]::-webkit-progress-value, progress[value="62"]::-webkit-progress-value, progress[value="63"]::-webkit-progress-value, progress[value="64"]::-webkit-progress-value, progress[value="65"]::-webkit-progress-value, progress[value="66"]::-webkit-progress-value, progress[value="67"]::-webkit-progress-value, progress[value="68"]::-webkit-progress-value, progress[value="69"]::-webkit-progress-value { + background: var(--color-progress-60); +} +progress[value="70"]::-webkit-progress-value, progress[value="71"]::-webkit-progress-value, progress[value="72"]::-webkit-progress-value, progress[value="73"]::-webkit-progress-value, progress[value="74"]::-webkit-progress-value, progress[value="75"]::-webkit-progress-value, progress[value="76"]::-webkit-progress-value, progress[value="77"]::-webkit-progress-value, progress[value="78"]::-webkit-progress-value, progress[value="79"]::-webkit-progress-value { + background: var(--color-progress-70); +} +progress[value="80"]::-webkit-progress-value, progress[value="81"]::-webkit-progress-value, progress[value="82"]::-webkit-progress-value, progress[value="83"]::-webkit-progress-value, progress[value="84"]::-webkit-progress-value, progress[value="85"]::-webkit-progress-value, progress[value="86"]::-webkit-progress-value, progress[value="87"]::-webkit-progress-value, progress[value="88"]::-webkit-progress-value, progress[value="89"]::-webkit-progress-value { + background: var(--color-progress-80); +} +progress[value="90"]::-webkit-progress-value, progress[value="91"]::-webkit-progress-value, progress[value="92"]::-webkit-progress-value, progress[value="93"]::-webkit-progress-value, progress[value="94"]::-webkit-progress-value, progress[value="95"]::-webkit-progress-value, progress[value="96"]::-webkit-progress-value, progress[value="97"]::-webkit-progress-value, progress[value="98"]::-webkit-progress-value, progress[value="99"]::-webkit-progress-value { + background: var(--color-progress-90); +} +progress[value="100"]::-webkit-progress-value { + background: var(--color-progress-100); +} + +.theme-light progress { + --color-progress-10: var(--color-l-red-700); + --color-progress-20: var(--color-l-red-700); + --color-progress-30: var(--color-l-orange-500); + --color-progress-40: var(--color-l-orange-500); + --color-progress-50: var(--color-l-yellow-500); + --color-progress-60: var(--color-l-yellow-500); + --color-progress-70: var(--color-l-green-700); + --color-progress-80: var(--color-l-blue-700); + --color-progress-90: var(--color-l-violet-700); + --color-progress-100: linear-gradient(45deg, #ef92af95, #7bd7e995, #ffda2b95); +} + +.theme-dark progress { + --color-progress-10: var(--color-d-red-900); + --color-progress-20: var(--color-d-red-900); + --color-progress-30: var(--color-d-orange-700); + --color-progress-40: var(--color-d-orange-700); + --color-progress-50: var(--color-d-yellow-700); + --color-progress-60: var(--color-d-yellow-700); + --color-progress-70: var(--color-d-green-900); + --color-progress-80: var(--color-d-blue-900); + --color-progress-90: var(--color-d-violet-900); + --color-progress-100: linear-gradient(45deg, #ef92af95, #7bd7e995, #ffda2b95); +} + +/*──────────────────────────────────── +++++++++++++++++++++++++++++++++++++++ + Other Components +++++++++++++++++++++++++++++++++++++++ +──────────────────────────────────────*/ +/*──────────────────────────────────── + Modals +────────────────────────────────────*/ +/*─────────All Modals──────────*/ +.modal { + width: clamp(200px, 90vw, 960px); + height: auto; + border-radius: var(--scale-2-8); + overflow-y: hidden; + background: var(--background-primary); + border: 1px solid var(--background-modifier-border); + /*─────────Settings Modal──────────*/ + /*─────────Command, Quick Switcher etc. Modals──────────*/ +} +.modal.mod-settings, .modal.mod-settings .vertical-tab-container { + width: clamp(200px, 90vw, 960px); + min-height: 20vh; + height: auto; + max-height: 70vh; + border-radius: var(--scale-2-8); + overflow-y: hidden; + border: 1px solid var(--background-modifier-border); +} +.theme-light .modal.mod-settings, .theme-light .modal.mod-settings .vertical-tab-container { + box-shadow: var(--shadow-xl) var(--color-l-shadow-100); +} +.theme-dark .modal.mod-settings, .theme-dark .modal.mod-settings .vertical-tab-container { + box-shadow: var(--shadow-xl) var(--color-d-shadow-100); +} +.modal.mod-settings .setting-item-control button.clickable-icon, .modal.mod-settings .vertical-tab-container .setting-item-control button.clickable-icon { + padding: 0; + margin-right: var(--scale-2-4); +} +.modal.mod-community-theme.mod-community-theme, .modal.mod-community-plugin { + width: clamp(200px, 90vw, 960px); + min-height: 90vh; + overflow: hidden; +} +.modal.mod-image-lightbox { + width: clamp(200px, 95vw, 1920px); + min-height: 20vh; + height: auto; + max-height: 90vh; + border-radius: var(--scale-2-8); + overflow-y: hidden; +} +.modal .vertical-tab-nav-item { + text-transform: capitalize; +} +.modal-title { + text-transform: capitalize; + text-align: left; +} +.modal.mod-community-theme .modal-title { + margin-left: var(--scale-8-3); +} +.modal .setting-hotkey { + display: flex; + align-items: center; + align-self: center; +} +.modal .setting-hotkey .setting-delete-hotkey { + margin-right: 0; + margin-left: var(--scale-2-6); +} +.modal .modal-content .vertical-tab-header, .modal .modal-content .vertical-tab-header-group, .modal .modal-content .vertical-tab-content-container { + padding: 0; +} +.modal .modal-content .vertical-tab-content { + padding: var(--scale-8-4) var(--scale-8-4) var(--scale-8-4) var(--scale-8-4); +} +.modal .modal-content .vertical-tab-header, .modal .modal-content .vertical-tab-content-container .vertical-tab-content { + flex: 0 0 220px; +} +.theme-light .modal .modal-content .vertical-tab-header, .theme-light .modal .modal-content .vertical-tab-content-container .vertical-tab-content { + background: var(--color-l-white); +} +.theme-dark .modal .modal-content .vertical-tab-header, .theme-dark .modal .modal-content .vertical-tab-content-container .vertical-tab-content { + background: var(--color-d-gray-70); +} +.modal .modal-content .vertical-tab-header-group, .modal .modal-content .vertical-tab-nav-item { + background: var(--background-secondary); +} +.modal .modal-content .vertical-tab-header-group-title { + font-weight: var(--font-bold); +} +.modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item { + background: transparent; + padding: var(--scale-2-2) var(--scale-2-4) var(--scale-2-2) var(--scale-2-8); + border: 1px solid transparent; + border-radius: var(--scale-2-2); + border-left: none; + margin: var(--scale-0-0) var(--scale-2-4) var(--scale-0-0) var(--scale-2-4); + transition: var(--duration-superfast) var(--motion-smooth); +} +.modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:last-of-type { + margin-bottom: var(--scale-2-5); +} +.modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item.is-active { + font-weight: var(--font-bold); + z-index: 2; +} +.theme-light .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:hover { + color: var(--color-l-gray-80); + background: var(--color-l-gray-10); +} +.theme-light .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:active { + color: var(--color-l-gray-50); + background: var(--color-l-gray-40); +} +.theme-light .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item.is-active { + color: var(--color-l-whiter); + border: 1px solid rgba(100, 100, 100, 0.3); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.15) inset, 0px 1px 4px 0px rgba(100, 100, 100, 0.25); +} +.theme-light .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:nth-child(3n+1).is-active { + background: var(--color-l-yellow-500); +} +.theme-light .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:nth-child(3n+2).is-active { + background: var(--color-l-red-300); +} +.theme-light .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:nth-child(3n+3).is-active { + background: var(--color-l-blue-300); +} +.theme-dark .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:hover { + color: var(--color-d-gray-20); + background: var(--color-d-gray-60); +} +.theme-dark .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:active { + color: var(--color-d-gray-40); + background: var(--color-d-blacker); +} +.theme-dark .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item.is-active { + color: var(--color-d-black); + border: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.2) inset, 0px 1px 4px 0px rgba(0, 0, 0, 0.3); +} +.theme-dark .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:nth-child(3n+1).is-active { + background: var(--color-d-yellow-700); +} +.theme-dark .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:nth-child(3n+2).is-active { + background: var(--color-d-red-500); +} +.theme-dark .modal .modal-content .vertical-tab-header-group-items .vertical-tab-nav-item:nth-child(3n+3).is-active { + background: var(--color-d-blue-300); +} +.modal-container .suggestion-item { + font-size: var(--font-scale-1); + line-height: var(--line-height-0-5); + padding: var(--scale-2-3) var(--scale-2-3) var(--scale-2-3) var(--scale-8-1); + border-radius: var(--scale-2-2); + border: 1px solid transparent; +} +.modal-container .suggestion-item span.suggestion-prefix { + color: var(--text-muted); + font-size: 90%; + font-style: italic; + text-transform: uppercase; + margin-right: var(--scale-8-1); +} +.modal-container .suggestion-item span.suggestion-prefix::after { + display: none; +} +.theme-light .modal-container .suggestion-item.is-selected { + background: var(--color-l-gray-20); + border: 1px solid var(--color-l-gray-40); +} +.theme-light .modal-container .suggestion-item.is-selected kbd.suggestion-hotkey { + background: var(--color-l-whiter); +} +.theme-light .modal-container .suggestion-item.is-selected:active { + color: var(--text-muted); + background: var(--color-l-gray-40); + border: 1px solid var(--color-l-gray-50); +} +.theme-light .modal-container .suggestion-item.is-selected:active kbd.suggestion-hotkey { + background: var(--color-l-gray-20); + padding-top: 3px; + padding-bottom: 1px; + box-shadow: none; +} +.theme-light .modal-container .suggestion-item.is-selected:active .suggestion-flair, .theme-light .modal-container .suggestion-item.is-selected:active .suggestion-note { + color: var(--text-faint); +} +.theme-dark .modal-container .suggestion-item.is-selected { + background: var(--color-d-gray-50); + border: 1px solid var(--color-d-gray-40); +} +.theme-dark .modal-container .suggestion-item.is-selected kbd.suggestion-hotkey { + background: var(--color-d-gray-70); +} +.theme-dark .modal-container .suggestion-item.is-selected:active { + color: var(--text-faint); + background: var(--color-d-gray-90); + border: 1px solid var(--color-d-gray-50); +} +.theme-dark .modal-container .suggestion-item.is-selected:active kbd.suggestion-hotkey { + background: var(--color-d-gray-100); + padding-top: 3px; + padding-bottom: 1px; + box-shadow: none; +} +.theme-dark .modal-container .suggestion-item.is-selected:active .suggestion-flair, .theme-dark .modal-container .suggestion-item.is-selected:active .suggestion-note { + color: var(--text-faint); +} +.modal-container .suggestion-flair { + position: relative; + left: initial; + top: initial; + margin-right: var(--scale-2-3); +} +.modal-container .prompt .suggestion-flair { + float: left; + margin-top: 1px; +} + +/* Modal Close Close Buttons */ +.slides-close-btn, +.modal-close-button { + right: var(--scale-2-5); + top: var(--scale-2-4); + font-family: Inter, sans-serif; + font-weight: 200; + font-size: var(--scale-8-3); + height: var(--scale-8-3); + width: var(--scale-8-3); + border-radius: var(--scale-8-3); + z-index: 9; +} +.slides-close-btn:before, +.modal-close-button:before { + position: absolute; + right: 4px; + top: -2px; +} +.theme-light .slides-close-btn:before, +.theme-light .modal-close-button:before { + color: var(--color-l-gray-20); +} +.theme-dark .slides-close-btn:before, +.theme-dark .modal-close-button:before { + color: var(--color-d-gray-80); +} +.theme-light .slides-close-btn, +.theme-light .modal-close-button { + background: var(--color-l-red-300); + box-shadow: 0px 1px 2px 0px rgba(100, 100, 100, 0.5), 0px -2px 0px 0px rgba(100, 20, 20, 0.18) inset; +} +.theme-light .slides-close-btn:hover, +.theme-light .modal-close-button:hover { + background: var(--color-l-red-500); +} +.theme-light .slides-close-btn:active, +.theme-light .modal-close-button:active { + background: var(--color-l-red-700); + box-shadow: 0px 0px 0px 2px rgba(150, 20, 20, 0.55) inset; +} +.theme-light .slides-close-btn:active:before, +.theme-light .modal-close-button:active:before { + color: var(--color-l-red-900); +} +.theme-dark .slides-close-btn, +.theme-dark .modal-close-button { + background: var(--color-d-red-500); + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.25), 0px -2px 0px 0px rgba(50, 10, 10, 0.35) inset; +} +.theme-dark .slides-close-btn:hover, +.theme-dark .modal-close-button:hover { + background: var(--color-d-red-300); +} +.theme-dark .slides-close-btn:active, +.theme-dark .modal-close-button:active { + background: var(--color-d-red-700); + box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.45) inset; +} +.theme-dark .slides-close-btn:active:before, +.theme-dark .modal-close-button:active:before { + color: var(--color-d-red-900); +} + +/*─────────Menu/More Options Modal──────────*/ +.menu { + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-4); +} +.theme-light .menu { + box-shadow: var(--shadow-s) var(--color-l-shadow-100); +} +.theme-dark .menu { + box-shadow: var(--shadow-m) var(--color-d-shadow-100); +} +.theme-light .menu .menu-item.selected:active { + color: var(--color-l-gray-50); + background: var(--color-l-gray-40); +} +.theme-light .menu .menu-item.selected:active .menu-item-icon svg { + background: var(--color-l-gray-50); +} +.theme-dark .menu .menu-item.selected:active { + color: var(--color-d-gray-40); + background: var(--color-d-blacker); +} +.theme-dark .menu .menu-item.selected:active .menu-item-icon svg { + background: var(--color-d-gray-40); +} +.menu .menu-item.menu-item-icon { + vertical-align: -1px; +} + +/*─────────File Explorer Search Modal─────────*/ +.suggestion-container.mod-search-suggestion { + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + border-radius: var(--scale-2-4); + overflow-x: hidden; +} +.suggestion-container.mod-search-suggestion .suggestion { + padding: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); +} +.theme-light .suggestion-container.mod-search-suggestion { + box-shadow: var(--shadow-m) var(--color-l-shadow-100); +} +.theme-dark .suggestion-container.mod-search-suggestion { + box-shadow: var(--shadow-m) var(--color-d-shadow-100); +} +.suggestion-item.search-suggest-item.mod-complex:not(.mod-group) { + line-height: var(--line-height-0-5); + white-space: pre-wrap; + word-wrap: break-word; + padding: var(--scale-2-3) var(--scale-2-8) var(--scale-2-3) var(--scale-2-8); + border-radius: 0; + margin: 0; +} +.suggestion-item.search-suggest-item.mod-complex:not(.mod-group):nth-of-child(6) { + margin-bottom: var(--scale-2-2); +} +.suggestion-item.search-suggest-item.mod-complex:not(.mod-group):last-child { + margin-bottom: var(--scale-2-2); +} +.suggestion-item.search-suggest-item.mod-complex:not(.mod-group):active { + color: var(--color-l-gray-50); + background: var(--color-l-gray-40); +} +.suggestion-item.search-suggest-item.mod-group { + font-size: var(--font-scale-0-5); + border-radius: 0; + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: var(--scale-2-2); +} +.suggestion-item .search-suggest-info-text { + color: var(--text-muted); +} +.suggestion-item .search-suggest-info-text:active { + color: var(--text-faint); +} + +.list-item-part.search-suggest-icon.clickable-icon { + margin: 0; +} + +/*─────────Prompts──────────*/ +.prompt { + border-radius: var(--scale-2-8); + overflow-y: hidden; + border: 1px solid var(--background-modifier-border); +} +.prompt-results { + padding-right: var(--scale-2-4); +} +.theme-light .prompt { + box-shadow: var(--shadow-xl) var(--color-l-shadow-100); +} +.theme-dark .prompt { + box-shadow: var(--shadow-xl) var(--color-d-shadow-100); +} + +.prompt-instructions { + font-size: var(--font-scale-0-5); + display: flex; + justify-content: center; + padding: var(--scale-2-3) var(--scale-2-4) var(--scale-2-3) var(--scale-2-4); + border-top: 1px solid var(--background-modifier-border); +} + +.prompt-instruction:last-child { + margin-right: 0; +} + +/*───────── Loading Progress Status in Modals ──────────*/ +.is-loading:before { + border-radius: var(--scale-2-4); + border: 1px solid var(--background-modifier-border); +} +.theme-light .is-loading:before { + background: var(--color-l-green-500); +} +.theme-dark .is-loading:before { + background: var(--color-d-green-900); +} + +/*─────────Community Themes and Plugins Modals──────────*/ +body:not(.is-mobile) .theme-list { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 0rem 0rem; +} +body:not(.is-mobile) .theme-list .community-theme { + align-self: stretch; + justify-self: center; +} +body:not(.is-mobile) .theme-list .community-theme .community-theme-remove-button { + display: block; +} + +.community-theme-filters-container { + padding: 1rem 1rem 0rem 1rem; +} + +.modal { + /*─────────Community Themes Modal──────────*/ + /*─────────Community Plugins Modal──────────*/ +} +.modal.mod-community-theme { + background: var(--background-primary); + padding: 0; +} +.modal.mod-community-theme .modal-content { + padding: var(--scale-8-4) var(--scale-8-4) var(--scale-8-4) var(--scale-8-4); + margin-top: 0; +} +.modal .community-theme { + width: 100%; + border: 1px solid var(--background-modifier-border); + transition: var(--duration-superfast) var(--motion-smooth); +} +.modal .community-theme-title { + font-size: var(--font-scale-2); + margin-bottom: 8px; +} +.modal .community-theme-filters-container .setting-item-control { + justify-content: flex-end; +} +.modal .community-theme-filters-container .setting-item-control .search-input-container { + width: 100%; +} +.modal .community-theme-filters-container .setting-item-control button { + margin: 0; + margin-right: var(--scale-2-4); +} +.modal .community-theme-info { + flex-grow: 0; + align-items: center; + justify-content: center; + flex-wrap: wrap; +} +.modal .community-theme-info + div { + display: flex; + align-items: center; + flex-grow: 1; +} +.modal .community-theme-info.u-center-text, .modal .community-theme span.community-theme-downloads { + color: var(--text-muted); +} +.theme-light .modal .community-theme { + background: var(--background-primary-alt); +} +.theme-light .modal .community-theme:hover { + border: 1px solid var(--text-faint); +} +.theme-light .modal .community-theme.is-selected { + color: var(--text-normal); + background: var(--color-l-whiter); + border: 1px solid var(--text-faint); + box-shadow: var(--shadow-m) var(--color-l-shadow-100); +} +.theme-dark .modal .community-theme { + background: var(--background-primary-alt); +} +.theme-dark .modal .community-theme:hover { + border: 1px solid var(--text-faint); +} +.theme-dark .modal .community-theme.is-selected { + color: var(--text-normal); + background: var(--color-d-gray-100); + border: 1px solid var(--text-faint); + box-shadow: var(--shadow-m) var(--color-d-shadow-100); +} +.modal .community-plugin { + background: var(--background-primary); +} +.modal .community-plugin-info { + padding: var(--scale-8-2) var(--scale-0-0) var(--scale-0-0) var(--scale-8-3); + margin: 0; +} +.modal .community-plugin-readme { + padding: var(--scale-0-0) var(--scale-8-3) var(--scale-0-0) var(--scale-0-0); + margin: 0; +} +.modal .community-plugin-name { + font-weight: var(--font-bold); +} +.modal .community-plugin-item { + margin: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); + border-bottom: 1px solid var(--background-modifier-border); + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-light .modal .community-plugin-item:hover, .theme-light .modal .community-plugin-itemspan:hover { + color: var(--color-l-gray-80); + background: var(--color-l-gray-10); +} +.theme-light .modal .community-plugin-item:active, .theme-light .modal .community-plugin-itemspan:active { + color: var(--color-l-gray-50); + background: var(--color-l-gray-40); +} +.theme-light .modal .community-plugin-item:active .flair.mod-pop, .theme-light .modal .community-plugin-itemspan:active .flair.mod-pop { + color: var(--color-l-gray-50); + background: var(--color-l-gray-20); +} +.theme-dark .modal .community-plugin-item:hover, .theme-dark .modal .community-plugin-itemspan:hover { + color: var(--color-d-gray-20); + background: var(--color-d-gray-60); +} +.theme-dark .modal .community-plugin-item:active, .theme-dark .modal .community-plugin-itemspan:active { + color: var(--color-d-gray-40); + background: var(--color-d-blacker); +} +.theme-dark .modal .community-plugin-item:active .flair.mod-pop, .theme-dark .modal .community-plugin-itemspan:active .flair.mod-pop { + color: var(--color-d-gray-40); + background: var(--color-d-gray-80); +} +.modal .community-plugin-search { + padding: var(--scale-2-4) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); +} +.modal .community-plugin-search .setting-item { + display: initial; + align-self: flex-start; +} +.modal .community-plugin .flair.mod-pop { + vertical-align: middle; + font-weight: var(--font-semi-bold); +} +.theme-light .modal .community-plugin .flair.mod-pop { + background: var(--color-l-whiter); + color: var(--color-l-red-300); +} +.theme-dark .modal .community-plugin .flair.mod-pop { + background: var(--color-d-blacker); + color: var(--color-d-red-500); +} + +/* Selected Theme */ +body:not(.is-mobile) .community-theme.is-selected { + border-radius: var(--scale-8-3); + /* for theme-list grid */ + grid-column: 1/4; + grid-row: 1; + max-width: 96%; + /* for inside elements */ + display: grid; + grid-template-columns: 1.2fr 2fr; + padding: 20px 20px; + /* Notes and Link to Documentation */ +} +body:not(.is-mobile) .community-theme.is-selected .community-theme-title { + grid-column: 1/3; + grid-row: 1/2; + text-align: left; + font-size: 2rem; + margin: 1rem 1.2rem; +} +body:not(.is-mobile) .community-theme.is-selected .community-theme-info { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: 30px 50px 440px; + margin: 0; +} +body:not(.is-mobile) .community-theme.is-selected .community-theme-info .community-theme-downloads { + margin: 0; +} +body:not(.is-mobile) .community-theme.is-selected .community-theme-screenshot { + grid-column: 2/3; + grid-row: 1/3; + max-width: 100%; +} +body:not(.is-mobile) .community-theme.is-selected .modal-button-container { + grid-column: 1/2; + grid-row: 1/2; + margin-top: 6px; + margin-left: 6rem; +} +body:not(.is-mobile) .community-theme.is-selected .community-theme-remove-button { + top: 36px; + right: 24px; + width: 48px; + height: 28px; + border-radius: 32px; +} +body:not(.is-mobile) .community-theme.is-selected.is-selected .community-theme-info::after { + grid-column: 1/3; + grid-row: 3/4; + align-self: center; + justify-self: center; + content: "Hello there! Cecil here. 🦊 \aWelcome to Primary. \aI hope you have a cozy time. \a\aIf you want to toggle exclusive features, tweak some colors and fonts — download the Style Settings Plugin. \a Check it out, you might like some of the presets there! \a\aRemember to update the theme from time to time to get the latest fixes, improvements, etc. \a\a💛 Support its development at \ako-fi.com/ceciliamay \a\a🎯 Follow its development at \atinyurl.com/primary-board"; + color: var(--text-normal); + line-height: 1.4; + width: 88%; + position: relative; + white-space: pre-wrap; + text-align: left; + border: none; +} + +.community-theme.is-selected .clickable-icon[aria-label="Visit on GitHub"] { + grid-column: 1/3; + grid-row: 2/3; + align-self: center; + justify-self: center; + margin: 0 2rem; + width: auto; + color: var(--text-normal); + background: var(--background-primary); + border-radius: var(--scale-8-4); + display: flex; + padding: var(--scale-2-2) var(--scale-2-6) calc(1px + var(--scale-2-2)) var(--scale-2-6); +} +.community-theme.is-selected .clickable-icon[aria-label="Visit on GitHub"] svg { + width: 24px; + height: 24px; +} +.community-theme.is-selected .clickable-icon[aria-label="Visit on GitHub"]:after { + content: "How to Use Primary"; + width: 100%; + display: block; + margin-left: var(--scale-8-1); + margin-top: 1px; +} +.theme-light .community-theme.is-selected .clickable-icon[aria-label="Visit on GitHub"] { + border: 1px solid rgba(100, 100, 100, 0.3); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.2) inset, 0px 2px 4px 0px rgba(100, 100, 100, 0.1); +} +.theme-light .community-theme.is-selected .clickable-icon[aria-label="Visit on GitHub"]:active { + box-shadow: 0px 0px 0px 2px rgba(100, 100, 100, 0.1) inset, 0px 1px 1px 0px rgba(100, 100, 100, 0.1); + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-dark .community-theme.is-selected .clickable-icon[aria-label="Visit on GitHub"] { + border: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.3) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} +.theme-dark .community-theme.is-selected .clickable-icon[aria-label="Visit on GitHub"]:active { + box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.2) inset, 0px 1px 1px 0px rgba(0, 0, 0, 0.1); + transition: var(--duration-superfast) var(--motion-smooth); +} + +.modal-content .community-theme-container .theme-list .community-theme .modal-button-container button:not(.mod-cta) { + display: none; +} + +.community-theme.is-selected button.mod-cta { + color: var(--text-on-accent); + background-color: var(--interactive-accent); +} + +/*──────────────────────────────────── + Buttons Component +────────────────────────────────────*/ +/* don't remove !important */ +.theme-light button, +.theme-dark button { + font-family: var(--font-interface-theme) !important; + padding: var(--scale-2-3) var(--scale-2-8) var(--scale-2-4) var(--scale-2-8) !important; + margin-top: var(--scale-2-3); + margin-bottom: var(--scale-2-3); + margin-right: var(--scale-2-4); + border-radius: var(--scale-2-10); + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-light button:last-child, +.theme-dark button:last-child { + margin-right: 0; +} +.theme-light button:only-child, +.theme-dark button:only-child { + margin-left: 0; + margin-right: 0; +} +.mod-community-plugin .setting-item-control .theme-light button, +.mod-community-plugin .setting-item-control .theme-dark button { + box-shadow: none; +} +.graph-controls .theme-light button, +.graph-controls .theme-dark button { + font-size: var(--font-scale-0); +} +.theme-light button.copy-code-button, +.theme-dark button.copy-code-button { + padding: var(--scale-2-1) var(--scale-2-4) var(--scale-2-3) var(--scale-2-4) !important; + border-radius: var(--scale-2-2); + margin-top: var(--scale-2-2); + margin-right: var(--scale-2-2); +} + +.theme-light .modal button, +.theme-light .graph-controls button, +.theme-light .workspace button, +.theme-light .popover button { + border: 1px solid rgba(100, 100, 100, 0.4); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.4) inset, 0px 2px 4px 0px rgba(100, 100, 100, 0.3); +} +.theme-light .modal button:active, +.theme-light .graph-controls button:active, +.theme-light .workspace button:active, +.theme-light .popover button:active { + box-shadow: 0px 0px 0px 2px rgba(100, 100, 100, 0.3) inset, 0px 1px 1px 0px rgba(100, 100, 100, 0.1); + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-dark .modal button, +.theme-dark .graph-controls button, +.theme-dark .workspace button, +.theme-dark .popover button { + color: var(--color-d-white); + border: 1px solid rgba(0, 0, 0, 0.55); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.28) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} +.theme-dark .modal button:active, +.theme-dark .graph-controls button:active, +.theme-dark .workspace button:active, +.theme-dark .popover button:active { + box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.15) inset, 0px 1px 1px 0px rgba(0, 0, 0, 0.1); + transition: var(--duration-superfast) var(--motion-smooth); +} + +.theme-light .modal button:not(.mod-cta, .mod-warning), +.theme-light .modal.mod-settings button:not(.mod-cta, .mod-warning), +.theme-light .workspace button:not(.graph-controls button, .document-search-button), +.theme-light .popover button:not(.graph-controls button, .document-search-button), +.theme-light .search-result-file-match-destination-file { + color: var(--color-l-gray-80); + background: var(--color-l-whiter); + border: 1px solid rgba(100, 100, 100, 0.3); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.2) inset, 0px 2px 4px 0px rgba(100, 100, 100, 0.1); +} +.theme-light .modal button:not(.mod-cta, .mod-warning):hover, .theme-light .modal button:not(.mod-cta, .mod-warning):focus, +.theme-light .modal.mod-settings button:not(.mod-cta, .mod-warning):hover, +.theme-light .modal.mod-settings button:not(.mod-cta, .mod-warning):focus, +.theme-light .workspace button:not(.graph-controls button, .document-search-button):hover, +.theme-light .workspace button:not(.graph-controls button, .document-search-button):focus, +.theme-light .popover button:not(.graph-controls button, .document-search-button):hover, +.theme-light .popover button:not(.graph-controls button, .document-search-button):focus, +.theme-light .search-result-file-match-destination-file:hover, +.theme-light .search-result-file-match-destination-file:focus { + background: var(--color-l-gray-10); +} +.theme-light .modal button:not(.mod-cta, .mod-warning):active, +.theme-light .modal.mod-settings button:not(.mod-cta, .mod-warning):active, +.theme-light .workspace button:not(.graph-controls button, .document-search-button):active, +.theme-light .popover button:not(.graph-controls button, .document-search-button):active, +.theme-light .search-result-file-match-destination-file:active { + box-shadow: 0px 0px 0px 2px rgba(100, 100, 100, 0.1) inset, 0px 1px 1px 0px rgba(100, 100, 100, 0.1); + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-dark .modal button:not(.mod-cta, .mod-warning), +.theme-dark .modal.mod-settings button:not(.mod-cta, .mod-warning), +.theme-dark .workspace button:not(.graph-controls button, .document-search-button), +.theme-dark .popover button:not(.graph-controls button, .document-search-button), +.theme-dark .search-result-file-match-destination-file { + color: var(--color-d-white); + background: var(--color-d-black); + border: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.3) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} +.theme-dark .modal button:not(.mod-cta, .mod-warning):hover, +.theme-dark .modal.mod-settings button:not(.mod-cta, .mod-warning):hover, +.theme-dark .workspace button:not(.graph-controls button, .document-search-button):hover, +.theme-dark .popover button:not(.graph-controls button, .document-search-button):hover, +.theme-dark .search-result-file-match-destination-file:hover { + background: var(--color-d-blacker); +} +.theme-dark .modal button:not(.mod-cta, .mod-warning):active, +.theme-dark .modal.mod-settings button:not(.mod-cta, .mod-warning):active, +.theme-dark .workspace button:not(.graph-controls button, .document-search-button):active, +.theme-dark .popover button:not(.graph-controls button, .document-search-button):active, +.theme-dark .search-result-file-match-destination-file:active { + box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.2) inset, 0px 1px 1px 0px rgba(0, 0, 0, 0.1); + transition: var(--duration-superfast) var(--motion-smooth); +} + +button.clickable-icon[aria-label="Change sort order"] { + margin-left: 0; + margin-right: var(--scale-2-4); +} + +span.community-theme-remove-button.clickable-icon { + top: 6px; + right: -3px; + color: var(--text-on-accent); + padding: var(--scale-2-2) var(--scale-2-2) var(--scale-0-0) var(--scale-2-2); +} +.theme-light span.community-theme-remove-button.clickable-icon { + color: var(--color-l-gray-20); + background: var(--color-l-red-300); + box-shadow: 0px 1px 2px 0px rgba(100, 100, 100, 0.5), 0px -2px 0px 0px rgba(100, 20, 20, 0.18) inset; +} +.theme-light span.community-theme-remove-button.clickable-icon:hover { + background: var(--color-l-red-500); +} +.theme-light span.community-theme-remove-button.clickable-icon:active { + color: var(--color-l-red-900); + background: var(--color-l-red-700); + box-shadow: 0px 0px 0px 2px rgba(150, 20, 20, 0.55) inset; + transition: var(--duration-superfast) var(--motion-smooth); +} +.theme-dark span.community-theme-remove-button.clickable-icon { + color: var(--color-d-white); + background: var(--color-d-red-500); + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.25), 0px -2px 0px 0px rgba(85, 8, 8, 0.38) inset; +} +.theme-dark span.community-theme-remove-button.clickable-icon:hover { + background: var(--color-d-red-300); +} +.theme-dark span.community-theme-remove-button.clickable-icon:active { + color: var(--color-d-red-900); + background: var(--color-d-red-700); + box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.45) inset; + transition: var(--duration-superfast) var(--motion-smooth); +} + +/*──────────────────────────────────── + Search Input Component +────────────────────────────────────*/ +/*~ Global Search Input */ +.search-input-container.search-input-container { + margin: var(--scale-2-2) var(--scale-2-6) var(--scale-2-2) var(--scale-2-6); +} +.search-input-container.search-input-container input { + padding: var(--scale-2-4) var(--scale-8-4) var(--scale-2-4) var(--scale-2-4); +} + +.hotkey-search-container { + margin: var(--scale-2-2) var(--scale-2-2); +} + +textarea, +input[type=text], +input[type=search], +input[type=email], +input[type=password], +input[type=number] { + font-family: var(--font-interface-theme); + font-size: var(--font-scale-1); + border-radius: var(--scale-2-3); + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); + margin: var(--scale-2-2); + transition: var(--duration-fast-1) var(--motion-delay); +} +.theme-light textarea, +.theme-light input[type=text], +.theme-light input[type=search], +.theme-light input[type=email], +.theme-light input[type=password], +.theme-light input[type=number] { + background: var(--color-l-gray-10); + border: 1px solid var(--background-modifier-border); +} +.theme-light textarea:focus, +.theme-light input[type=text]:focus, +.theme-light input[type=search]:focus, +.theme-light input[type=email]:focus, +.theme-light input[type=password]:focus, +.theme-light input[type=number]:focus { + background: var(--color-l-white); + border: 1px solid var(--color-l-gray-60); + box-shadow: 0px 0px 0px 3px var(--color-l-gray-40); +} +.theme-dark textarea, +.theme-dark input[type=text], +.theme-dark input[type=search], +.theme-dark input[type=email], +.theme-dark input[type=password], +.theme-dark input[type=number] { + background: var(--color-d-gray-90); + border: 1px solid var(--background-modifier-border); +} +.theme-dark textarea:focus, +.theme-dark input[type=text]:focus, +.theme-dark input[type=search]:focus, +.theme-dark input[type=email]:focus, +.theme-dark input[type=password]:focus, +.theme-dark input[type=number]:focus { + background: var(--color-d-blacker); + border: 1px solid var(--color-d-gray-50); + box-shadow: 0px 0px 0px 3px var(--color-d-gray-60); +} + +.search-empty-state { + font-size: inherit; + font-style: italic; + color: var(--text-faint); + margin-bottom: var(--scale-2-2); +} + +.search-input-clear-button { + right: 8px; + top: 8px; + font-family: Inter, sans-serif; + font-weight: 300; + font-size: var(--scale-2-8); + height: var(--scale-2-8); + width: var(--scale-2-8); + border-radius: var(--scale-8-3); + z-index: 9; + transition: var(--duration-superfast) var(--motion-smooth); +} +.search-input-clear-button:before { + position: absolute; + right: 3px; + top: -3px; +} +.search-input-clear-button:hover { + color: var(--text-muted); +} +.search-input-clear-button:active { + color: var(--text-faint); +} + +/*~ Command Palette & Quick Switcher Search Input ~*/ +.prompt { + padding: 0; + border: 1px solid var(--background-modifier-border); +} +.prompt-results { + padding: var(--scale-2-6); + border-top: 1px solid var(--background-modifier-border); +} +.prompt input.prompt-input { + font-size: var(--font-scale-2); + background: var(--background-primary); + padding: var(--scale-8-3); + border: none; +} +.prompt input.prompt-input:focus { + background: var(--background-primary); + border: none; + box-shadow: none; +} + +/*────────KBD──────────*/ +kbd, +.setting-hotkey { + font-family: var(--font-monospace-theme); +} +.markdown-soure-view kbd, .cm-s-obsidian kbd, .markdown-preview-view kbd, +.markdown-soure-view .setting-hotkey, +.cm-s-obsidian .setting-hotkey, +.markdown-preview-view .setting-hotkey { + padding: 3px 8px; +} +.theme-light kbd, +.theme-light .setting-hotkey { + font-size: var(--font-scale-0); + color: var(--color-l-red-300); + background: var(--color-l-gray-20); + border: 1px solid rgba(100, 100, 100, 0.1); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.1) inset, 0px 2px 4px 0px rgba(100, 100, 100, 0.1); +} +.theme-dark kbd, +.theme-dark .setting-hotkey { + font-size: var(--font-scale-0); + color: var(--color-d-red-500); + background: var(--color-d-gray-90); + border: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.15) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} + +.suggestion-hotkey { + padding: 1px 8px 3px 8px; + margin-top: -3px; +} + +.prompt-instruction-command { + font-family: var(--font-monospace); + font-size: var(--font-scale-0); + background: var(--background-secondary); + padding: var(--scale-2-1) var(--scale-2-2) calc(1px + var(--scale-2-1)) var(--scale-2-2); + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-2); +} +.theme-light .prompt-instruction-command { + font-size: var(--font-scale-0); + color: var(--color-l-red-300); + background: var(--color-l-gray-20); + border: 1px solid rgba(100, 100, 100, 0.1); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.1) inset, 0px 2px 4px 0px rgba(100, 100, 100, 0.1); +} +.theme-dark .prompt-instruction-command { + color: var(--color-d-red-500); + background: var(--color-d-gray-90); + border: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.15) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} + +/*──────────────────────────────────── + Toggle (Checkboxes for Modals) +────────────────────────────────────*/ +.checkbox-container { + height: calc(3px + var(--scale-8-3)); + width: calc(2px + var(--scale-8-6)); + border-radius: var(--scale-8-4); +} +.checkbox-container:after { + height: calc(4px + var(--scale-8-2)); + width: calc(4px + var(--scale-8-2)); + border-radius: var(--scale-8-4); + margin: 2.5px 0 0 0px; +} +.checkbox-container:active::after { + width: calc(4px + var(--scale-8-3)); +} +.checkbox-container.is-enabled { + transition: var(--duration-fast-2) var(--motion-smooth); +} +.checkbox-container.is-enabled:after { + transform: translate3d(24px, 0, 0); + margin-left: 1px; +} +.checkbox-container.is-enabled:active::after { + left: -8px; +} +.theme-light .checkbox-container { + background: var(--color-l-gray-40); + border: 1px solid var(--color-l-gray-40); + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5), 0px 0px 2px 1px rgba(100, 100, 100, 0.35) inset; +} +.theme-light .checkbox-container::after { + background: var(--color-l-whiter); + box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.45), 0px -2px 0px 0px rgba(100, 100, 100, 0.15) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.9) inset; +} +.theme-light .checkbox-container.is-enabled { + border: 1px solid var(--color-l-green-300); + background: var(--color-l-green-500); +} +.theme-dark .checkbox-container { + background: var(--color-d-gray-40); + border: 1px solid var(--color-d-gray-30); + box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.1), 0px 0px 2px 1px rgba(0, 0, 0, 0.35) inset; +} +.theme-dark .checkbox-container::after { + background: var(--color-d-white); + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.45), 0px -2px 0px 0px rgba(0, 0, 0, 0.15) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.35) inset; +} +.theme-dark .checkbox-container.is-enabled { + border: 1px solid var(--color-d-green-700); + background: var(--color-d-green-900); +} + +/*──────────────────────────────────── + Slider +────────────────────────────────────*/ +input[type=range] { + min-width: 150px; + background-color: transparent; + padding: 0px; + -webkit-appearance: none; + cursor: default; +} +input[type=range]::-webkit-slider-runnable-track { + height: var(--scale-2-3); + border-radius: var(--scale-2-3); +} +.theme-light input[type=range]::-webkit-slider-runnable-track { + background: var(--background-modifier-border); + border-radius: var(--scale-2-2); + border: 1px solid rgba(100, 100, 100, 0.2); +} +.theme-dark input[type=range]::-webkit-slider-runnable-track { + background: var(--background-modifier-border); + border-radius: var(--scale-2-2); + border: 1px solid rgba(0, 0, 0, 0.4); +} +input[type=range]::-webkit-slider-thumb { + height: var(--scale-2-10); + width: var(--scale-2-4); + margin-top: -4px; + cursor: ew-resize; + transition: var(--duration-fast-1) var(--motion-jumpy); + border-radius: var(--scale-8-2); +} +.theme-light input[type=range]::-webkit-slider-thumb { + background: var(--color-l-blue-300); + border: 1px solid rgba(100, 100, 100, 0.5); + box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.45), 0px -2px 0px 0px rgba(100, 100, 100, 0.15) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.35) inset; +} +.theme-dark input[type=range]::-webkit-slider-thumb { + background: var(--color-d-blue-700); + border: 1px solid rgba(0, 0, 0, 0.5); + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.45), 0px -2px 0px 0px rgba(0, 0, 0, 0.15) inset, 0px 2px 0px 0px rgba(255, 255, 255, 0.35) inset; +} + +/*──────────────────────────────────── + Dropdown +────────────────────────────────────*/ +.dropdown { + font-family: var(--font-interface-theme); + font-size: var(--font-scale-0-5); + line-height: var(--line-height-1); + width: 215px; + padding: var(--scale-2-2) var(--scale-2-8) var(--scale-2-2) var(--scale-2-8); + margin: var(--scale-2-2) 0; + transition: var(--duration-fast-1) var(--motion-smooth); + cursor: pointer; + background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M18.71,8.21a1,1,0,0,0-1.42,0l-4.58,4.58a1,1,0,0,1-1.42,0L6.71,8.21a1,1,0,0,0-1.42,0,1,1,0,0,0,0,1.41l4.59,4.59a3,3,0,0,0,4.24,0l4.59-4.59A1,1,0,0,0,18.71,8.21Z'/%3E%3C/svg%3E%0A"); +} +.theme-light .dropdown { + color: var(--color-l-gray-80); + background-color: var(--color-l-whiter); + border: 1px solid rgba(100, 100, 100, 0.5); + border-radius: var(--scale-2-2); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.1) inset, 0px 2px 4px 0px rgba(100, 100, 100, 0.1); +} +.theme-light .dropdown:hover { + background-color: var(--color-l-gray-20); + transition: var(--duration-fast-1) var(--motion-delay); +} +.theme-dark .dropdown { + color: var(--color-d-gray-10); + background-color: var(--color-d-gray-90); + border: 1px solid rgba(0, 0, 0, 0.5); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.15) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} +.theme-dark .dropdown:hover { + background-color: var(--color-d-blacker); + transition: var(--duration-fast-1) var(--motion-delay); +} + +/*──────────────────────────────────── + Empty Page +────────────────────────────────────*/ +.empty-state-title { + display: none; +} + +.empty-state-action, +.is-mobile .empty-state-action { + font-size: var(--font-scale-0-5); + font-weight: bold; + text-transform: uppercase; + text-align: center; + line-height: 1.2; + width: 26ch; + background: var(--background-primary-alt); + padding: var(--scale-2-6) 0; + border-radius: var(--scale-8-4); + border: 1px solid var(--background-modifier-border); + margin-bottom: var(--scale-2-4); + transition: var(--duration-superfast) var(--motion-smooth); +} +.empty-state-action:hover, +.is-mobile .empty-state-action:hover { + transform: translateY(-2px); +} +.empty-state-action:active, +.is-mobile .empty-state-action:active { + transform: translateY(0.5px); +} +.theme-light .empty-state-action, +.theme-light .is-mobile .empty-state-action { + box-shadow: 0px 2px 4px 0px rgba(100, 100, 100, 0.1), 0px -2px 0px 0px rgba(100, 100, 100, 0.15) inset; +} +.theme-light .empty-state-action:active, +.theme-light .is-mobile .empty-state-action:active { + background: var(--background-secondary); + box-shadow: 0px 0px 0px 3px rgba(150, 150, 150, 0.15) inset; +} +.theme-light .empty-state-action:nth-child(3n+1):hover, .theme-light .empty-state-action:nth-child(3n+1) :focus, +.theme-light .is-mobile .empty-state-action:nth-child(3n+1):hover, +.theme-light .is-mobile .empty-state-action:nth-child(3n+1) :focus { + color: var(--color-l-yellow-500); + border: 1px solid var(--color-l-yellow-500); +} +.theme-light .empty-state-action:nth-child(3n+1):active, +.theme-light .is-mobile .empty-state-action:nth-child(3n+1):active { + color: var(--color-l-yellow-700); + border: 1px solid var(--color-l-yellow-700); +} +.theme-light .empty-state-action:nth-child(3n+2):hover, .theme-light .empty-state-action:nth-child(3n+2) :focus, +.theme-light .is-mobile .empty-state-action:nth-child(3n+2):hover, +.theme-light .is-mobile .empty-state-action:nth-child(3n+2) :focus { + color: var(--color-l-red-500); + border: 1px solid var(--color-l-red-500); +} +.theme-light .empty-state-action:nth-child(3n+2):active, +.theme-light .is-mobile .empty-state-action:nth-child(3n+2):active { + color: var(--color-l-red-700); + border: 1px solid var(--color-l-red-700); +} +.theme-light .empty-state-action:nth-child(3n+3):hover, .theme-light .empty-state-action:nth-child(3n+3) :focus, +.theme-light .is-mobile .empty-state-action:nth-child(3n+3):hover, +.theme-light .is-mobile .empty-state-action:nth-child(3n+3) :focus { + color: var(--color-l-blue-500); + border: 1px solid var(--color-l-blue-500); +} +.theme-light .empty-state-action:nth-child(3n+3):active, +.theme-light .is-mobile .empty-state-action:nth-child(3n+3):active { + color: var(--color-l-blue-700); + border: 1px solid var(--color-l-blue-700); +} +.theme-dark .empty-state-action, +.theme-dark .is-mobile .empty-state-action { + box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1), 0px -3px 0px 0px rgba(0, 0, 0, 0.25) inset; +} +.theme-dark .empty-state-action:active, +.theme-dark .is-mobile .empty-state-action:active { + background: var(--background-secondary); + box-shadow: 0px 0px 0px 3px rgba(0, 0, 0, 0.3) inset; +} +.theme-dark .empty-state-action:nth-child(3n+1):hover, .theme-dark .empty-state-action:nth-child(3n+1) :focus, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+1):hover, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+1) :focus { + color: var(--color-d-yellow-700); + border: 1px solid var(--color-d-yellow-700); +} +.theme-dark .empty-state-action:nth-child(3n+1):active, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+1):active { + color: var(--color-d-yellow-900); + border: 1px solid var(--color-d-yellow-900); +} +.theme-dark .empty-state-action:nth-child(3n+2):hover, .theme-dark .empty-state-action:nth-child(3n+2) :focus, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+2):hover, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+2) :focus { + color: var(--color-d-red-700); + border: 1px solid var(--color-d-red-700); +} +.theme-dark .empty-state-action:nth-child(3n+2):active, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+2):active { + color: var(--color-d-red-900); + border: 1px solid var(--color-d-red-900); +} +.theme-dark .empty-state-action:nth-child(3n+3):hover, .theme-dark .empty-state-action:nth-child(3n+3) :focus, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+3):hover, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+3) :focus { + color: var(--color-d-blue-700); + border: 1px solid var(--color-d-blue-700); +} +.theme-dark .empty-state-action:nth-child(3n+3):active, +.theme-dark .is-mobile .empty-state-action:nth-child(3n+3):active { + color: var(--color-d-blue-900); + border: 1px solid var(--color-d-blue-900); +} + +.workspace-leaf-content[data-type=empty] .empty-state::after { + content: "Primary by Cecilia May"; + color: var(--text-faint); + letter-spacing: var(--tracking-4); + text-transform: uppercase; + font-size: var(--font-scale-0); + white-space: pre; + text-align: center; + position: absolute; + bottom: var(--scale-8-4); + opacity: 0.75; +} +.popover.hover-popover .workspace-leaf-content[data-type=empty] .empty-state::after { + display: none; +} + +/*──────────────────────────────────── + Notifacation +────────────────────────────────────*/ +.notice { + font-family: var(--font-monospace-theme); + border-radius: var(--scale-2-4); + transition: var(--duration-moderate-2) var(--motion-jumpy); +} +.theme-light .notice { + color: var(--color-l-black); + background: var(--color-l-yellow-300); + box-shadow: 0px 1px 0px rgba(17, 17, 26, 0.05), 0px 0px 8px rgba(17, 17, 26, 0.1); +} +.theme-dark .notice { + color: var(--color-d-black); + background: var(--color-d-yellow-700); + box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.05), 0px 0px 8px rgba(0, 0, 0, 0.1); +} + +/*──────────────────────────────────── + Popovers +────────────────────────────────────*/ +:root { + --popover-min: 150px; + --popover-default: 40vw; + --popover-max: 600px; +} + +.popover.hover-popover { + width: clamp(var(--popover-min), var(--popover-default), var(--popover-max)); + border-radius: var(--scale-2-6); + border: 1px solid var(--background-modifier-border); + box-shadow: var(--shadow-l) var(--background-modifier-box-shadow); +} +.popover.hover-popover .markdown-embed { + border: none; +} +.popover.hover-popover .markdown-preview-view { + background: var(--background-primary); + padding: var(--scale-8-1) var(--scale-8-6) var(--scale-8-1) var(--scale-8-6); +} +.popover.hover-popover::-webkit-scrollbar { + display: none; +} + +/*──────────────────────────────────── + Resize Handles +────────────────────────────────────*/ +.workspace-split.mod-vertical > * > .workspace-leaf-resize-handle, .workspace-split.mod-left-split > .workspace-leaf-resize-handle, .workspace-split.mod-right-split > .workspace-leaf-resize-handle { + width: 1px; + height: 105%; + top: -24px; + border-color: var(--background-modifier-border); + transition: var(--duration-fast-2) var(--motion-smooth); +} +.workspace-split.mod-vertical > * > .workspace-leaf-resize-handle:hover, .workspace-split.mod-left-split > .workspace-leaf-resize-handle:hover, .workspace-split.mod-right-split > .workspace-leaf-resize-handle:hover { + width: 4px; + border-color: var(--background-modifier-border); + transition: var(--duration-fast-2) var(--motion-smooth); +} +.workspace-split.mod-vertical > * > .workspace-leaf-resize-handle:active, .workspace-split.mod-left-split > .workspace-leaf-resize-handle:active, .workspace-split.mod-right-split > .workspace-leaf-resize-handle:active { + width: 5px; + transition: var(--duration-fast-2) var(--motion-smooth); +} +.theme-light .workspace-split.mod-vertical > * > .workspace-leaf-resize-handle:active, .theme-light .workspace-split.mod-left-split > .workspace-leaf-resize-handle:active, .theme-light .workspace-split.mod-right-split > .workspace-leaf-resize-handle:active { /* VH for Light Mode */ + border-color: var(--color-l-gray-50); +} +.theme-dark .workspace-split.mod-vertical > * > .workspace-leaf-resize-handle:active, .theme-dark .workspace-split.mod-left-split > .workspace-leaf-resize-handle:active, .theme-dark .workspace-split.mod-right-split > .workspace-leaf-resize-handle:active { /* VH for Dark Mode */ + border-color: var(--color-d-gray-30); +} +.workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle { + height: 1px; + background: var(--background-modifier-border); + transition: var(--duration-fast-1) var(--motion-smooth); +} +.workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle:hover { + height: 4px; + transition: var(--duration-fast-1) var(--motion-smooth); +} +.workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle:active { + height: 5px; + transition: var(--duration-fast-1) var(--motion-smooth); +} +.theme-light .workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle:active { /* HH for Light Mode */ + background: var(--color-l-gray-50); +} +.theme-dark .workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle:active { /* HH for Dark Mode */ + background: var(--color-d-gray-30); +} + +.workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle, +.workspace-leaf-resize-handle { + border: none; +} + +/*──────────────────────────────────── + Scrollbars +────────────────────────────────────*/ +body:not(.native-scrollbars) ::-webkit-scrollbar, +body:not(.native-scrollbars) .graph-controls::-webkit-scrollbar { + visibility: visible; + width: var(--scale-2-2); + height: var(--scale-2-2); + border-radius: 0; + display: inherit; + background: var(--scrollbar-bg); +} + +body:not(.native-scrollbars) ::-webkit-scrollbar-thumb { + visibility: visible; + background: var(scrollbar-thumb-bg); + border-radius: 0; +} +body:not(.native-scrollbars) ::-webkit-scrollbar-thumb:active { + background: var(--scrollbar-active-thumb-bg); + border-radius: 0; +} + +/* Thin Scrollbar */ +.scrollbar__thin.scrollbar__thin:not(.native-scrollbars) ::-webkit-scrollbar, .scrollbar__thin.scrollbar__thin:not(.native-scrollbars) .graph-controls::-webkit-scrollbar { + visibility: visible; + width: var(--scale-2-2); + height: var(--scale-2-2); + border-radius: 0; + display: inherit; + background: var(--scrollbar-bg); +} +.scrollbar__thin.scrollbar__thin:not(.native-scrollbars) ::-webkit-scrollbar-thumb { + visibility: visible; + background: var(scrollbar-thumb-bg); + border-radius: 0; +} +.scrollbar__thin.scrollbar__thin:not(.native-scrollbars) ::-webkit-scrollbar-thumb:active { + background: var(--scrollbar-active-thumb-bg); + border-radius: 0; +} + +/* Mac (Grabbable) Scrollbar */ +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) ::-webkit-scrollbar { + background: var(--scrollbar-bg); + visibility: visible; + width: 12px; + height: 12px; + border-radius: 0; +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) ::-webkit-scrollbar-thumb, .scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .node-insert-event ::-webkit-scrollbar-thumb { + visibility: visible; + background: var(scrollbar-thumb-bg); + border: 5px solid var(--background-primary); + border-radius: 24px; +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) ::-webkit-scrollbar-thumb:hover, .scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .node-insert-event ::-webkit-scrollbar-thumb:hover { + background: var(--interactive-accent); + border-width: 3px; + border-radius: 24px; +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) ::-webkit-scrollbar-thumb:active, .scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .node-insert-event ::-webkit-scrollbar-thumb:active { + border-radius: 24px; +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .workspace-tabs ::-webkit-scrollbar-thumb { + background: var(--background-modifier-border); + border: 5px solid var(--background-secondary); +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .workspace-tabs ::-webkit-scrollbar-thumb:hover { + background: var(--interactive-accent); + border-width: 3px; + border-radius: 24px; +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .workspace-tabs ::-webkit-scrollbar-thumb:active { + border-radius: 24px; +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .markdown-embed:not(.hover-popover .markdown-embed) ::-webkit-scrollbar-thumb { + border: 5px solid var(--background-primary-alt); +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .markdown-embed:not(.hover-popover .markdown-embed) ::-webkit-scrollbar-thumb:hover { + background: var(--scrollbar-active-thumb-bg); + border-width: 3px; + border-radius: 24px; +} +.scrollbar__mac.scrollbar__mac:not(.native-scrollbars) .markdown-embed:not(.hover-popover .markdown-embed) ::-webkit-scrollbar-thumb:active { + border-radius: 24px; +} + +body.plugin-sliding-panes.scrollbar__mac .workspace-split.mod-vertical.mod-root { + background: var(--background-primary); +} + +body.plugin-sliding-panes-rotate-header .workspace > .mod-root > .workspace-leaf > .workspace-leaf-content > .view-content { + border-bottom: 1px solid var(--background-modifier-border); +} + +/* Hidden Scrollbar */ +.scrollbar__hidden:not(.native-scrollbars) ::-webkit-scrollbar { + display: none; +} + +/*──────────────────────────────────── + Tooltips +────────────────────────────────────*/ +.tooltip { + background: var(--text-normal); + color: var(--background-primary); + box-shadow: var(--shadow-s) var(--background-modifier-box-shadow); +} +.tooltip .tooltip-arrow { + border-bottom: 5px solid var(--text-normal); +} +.tooltip.mod-top .tooltip-arrow { + border-top: 5px solid var(--text-normal); +} +.tooltip.mod-right .tooltip-arrow { + border-right: 5px solid var(--text-normal); +} +.mod-error .tooltip.mod-right .tooltip-arrow { + border-right-color: var(--background-modifier-error); + border-bottom: 5px solid transparent; +} +.tooltip.mod-left .tooltip-arrow { + border-left: 5px solid var(--text-normal); +} +.mod-error .tooltip.mod-left .tooltip-arrow { + border-left-color: var(--background-modifier-error); + border-bottom: 5px solid transparent; +} + +/*──────────────────────────────────── + Vault Launch Progress +────────────────────────────────────*/ +.is-loading:before, +.search-result-container.is-loading:before { + background-color: var(--background-primary); + animation: var(--duration-slow-2) var(--motion-smooth) infinite progress-bar; +} + +.progress-bar { + background: var(--background-primary); +} +.progress-bar-indicator { + width: 35%; + overflow: hidden; + height: var(--scale-2-6); + border-radius: var(--scale-2-6); + border: 1px solid var(--background-modifier-border); +} +.is-mobile .progress-bar-indicator { + width: 65%; +} +.progress-bar-line { + height: var(--scale-2-6); + position: absolute; + background: var(--background-secondary); + border-radius: var(--scale-2-6); +} +.progress-bar-subline { + height: var(--scale-2-5); + border-radius: var(--scale-2-6); +} +.theme-light .progress-bar-subline { /* VLP for Light Mode */ + background: var(--color-l-green-500); +} +.theme-dark .progress-bar-subline { /* VLP for Dark Mode */ + background: var(--color-d-green-900); +} +.progress-bar-message { + display: none; +} + +/*──────────────────────────────────── ++++++++++++++++Workspace++++++++++++++ +────────────────────────────────────*/ +/*──────────────────────────────────── + Side Dock Ribbon +────────────────────────────────────*/ +.is-mobile .workspace-drawer-ribbon { + width: var(--scale-8-8); + border-right: 1px solid var(--background-modifier-border); +} +.is-mobile .workspace-drawer-ribbon .side-dock-ribbon-action { + padding-bottom: var(--scale-0-0); +} + +/*──────────────────────────────────── + Tab Header in Workspace Drawer +────────────────────────────────────*/ +.is-mobile .workspace-drawer-header { + padding: var(--scale-8-3) var(--scale-8-3) var(--scale-0-0) var(--scale-8-3); +} +.is-mobile .workspace-drawer-active-tab-header { + padding: var(--scale-2-4) var(--scale-2-2) var(--scale-2-4) var(--scale-2-8); + margin: 0; +} +.is-mobile .workspace-drawer-tab-container > * { + padding: var(--scale-0-0) var(--scale-8-1) var(--scale-0-0) var(--scale-8-1); +} + +/*──────────────────────────────────── + Nav Header in Workspace Drawer +────────────────────────────────────*/ +.is-mobile .workspace-drawer-actions, .is-mobile .nav-buttons-container { + margin: var(--scale-2-6) var(--scale-0-0) var(--scale-0-0) var(--scale-0-0); +} +.is-mobile .nav-action-button { + padding: 0; + margin: var(--scale-0-0) var(--scale-2-6) var(--scale-0-0) var(--scale-2-6); +} + +/*──────────────────────────────────── + Tab Content +────────────────────────────────────*/ +.is-mobile .workspace-drawer { + width: 100%; +} +.is-mobile .workspace-drawer.mod-left .workspace-drawer-inner { + padding-left: var(--scale-8-8); + padding-right: var(--scale-0-0); +} +.is-mobile .workspace-drawer .workspace-drawer-inner { + background: var(--background-secondary); +} +.is-mobile .workspace-drawer .workspace-drawer-tab-options { + padding: var(--scale-0-0) var(--scale-8-1) var(--scale-0-0) var(--scale-8-1); +} +.is-mobile .workspace-drawer .search-input-suggest-button { + top: 8px; +} + +/* Workspace Drawer Items Fix */ +:root { + --mobile-fileexplorer-font-size: 16px; + --mobile-fileexplorer-line-height: 1.2; +} + +.is-mobile .theme-light .nav-folder-title, .is-mobile .theme-light .nav-file-title, +.is-mobile .theme-dark .nav-folder-title, +.is-mobile .theme-dark .nav-file-title { + font-size: var(--mobile-fileexplorer-font-size); + line-height: var(--mobile-fileexplorer-line-height); + padding: var(--scale-2-2) var(--scale-2-4); +} + +/*──────────────────────────────────── ++++++++++Content / Active Note++++++++ +────────────────────────────────────*/ +/*──────────────────────────────────── + Note Header +────────────────────────────────────*/ +.is-mobile .view-header, .is-mobile .workspace-leaf.mod-active .view-header, .is-mobile .workspace-split.mod-root > .workspace-leaf:first-of-type:last-of-type .view-header { + height: var(--scale-2-24); +} +.is-mobile .view-header .view-header-icon { + top: 4px; + margin-left: 6px; +} +.is-mobile .view-header-title { + line-height: 50px; +} +.is-mobile .view-header .view-actions a { + top: 6px; +} + +/*──────────────────────────────────── + Backlinks in Document +────────────────────────────────────*/ +.is-mobile .mod-root .workspace-leaf-content[data-type=markdown] .nav-buttons-container { + position: relative; + margin-top: var(--scale-2-4); + margin-bottom: var(--scale-0-0); +} +.is-mobile .mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks .search-input-container { + width: 98%; + margin-left: auto; + margin-right: auto; + margin-bottom: var(--scale-2-4); +} + +/*──────────────────────────────────── ++++++++++++Other Components+++++++++++ +────────────────────────────────────*/ +/*──────────────────────────────────── + Modals +────────────────────────────────────*/ +/*─────────Settings Modal──────────*/ +.is-mobile .workspace { + transform: none !important; +} +.is-mobile .modal, .is-mobile .prompt { + overflow-y: hidden; + border: 1px solid rgba(100, 100, 100, 0.25); +} +.is-mobile .modal { + padding: var(--scale-8-2) var(--scale-8-4); +} +.is-mobile .prompt { + padding-left: 0; + padding-right: 0; +} +.is-mobile .prompt input.prompt-input { + padding-top: var(--scale-2-4); + padding-bottom: var(--scale-2-6); +} +.is-mobile .menu { + padding: 0; +} +.is-mobile ::-webkit-scrollbar { + display: none; +} +.is-mobile .modal .vertical-tab-header-group { + background: var(--background-primary); +} +.is-mobile .modal .modal-content .vertical-tab-content { + border: none; +} +.is-mobile .modal .modal-content .vertical-tab-header-group:nth-child(2) { + border-top: 1px solid var(--background-modifier-border); +} +.is-mobile .modal-setting-back-button { + border-bottom: 1px solid var(--background-modifier-border); +} +.is-mobile .modal-content { + padding: var(--scale-0-0) var(--scale-0-0); +} +.is-mobile .modal-close-button { + top: var(--scale-2-1); +} +.is-mobile .community-theme-screenshot { + max-width: 100%; +} + +/*─────────Modal CLose Button──────────*/ +.is-mobile .modal .vertical-tab-header::before { + content: "Settings"; + font-family: var(--font-interface-theme); + font-weight: var(--font-semi-bold); + color: var(--text-muted); + background: var(--background-secondary); + position: sticky; + top: 0; + right: 0; + left: 0; + height: 47px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + border-bottom: 1px solid var(--background-modifier-border); + z-index: 1; +} +.is-mobile .modal-setting-back-button { + box-shadow: none; +} +.is-mobile .modal-setting-back-button span { + font-weight: var(--font-semi-bold); + color: var(--text-muted); +} +.is-mobile .modal-close-button { + margin: var(--scale-2-4); + display: block; + z-index: 2; +} + +/*──────────────────────────────────── + Buttons +────────────────────────────────────*/ +.is-mobile button { + margin: 5px; +} + +/*──────────────────────────────────── + Vault Launch Progress +────────────────────────────────────*/ +.is-mobile .progress-bar-message { + font-size: var(--font-scale-1); +} + +/* Phone */ +@media (max-width: 400pt) { + /*──────────────────────────────────── + ++++++++++++++Variables+++++++++++++++ + ────────────────────────────────────*/ + .is-mobile { + /*──────────Typography Modular Scale──────────*/ + /* Based on Standard 16px */ + --line-width: 400pt; + --scale-ratio: 1.23; + --font-scale-000: 0.652em; + --font-scale-00: 0.694em; + --font-scale-0: 0.783em; + --font-scale-0-5: 0.875em; + --font-scale-1: 1em; + --font-scale-2: 1.12em; + --font-scale-3: 1.23em; + --font-scale-4: 1.378em; + --font-scale-5: 1.513em; + --font-scale-6: 1.695em; + --font-scale-7: 1.861em; + --font-scale-8: 2.085em; + --font-scale-9: 2.289em; + --font-scale-10: 2.564em; + /*──────────────────────────────────── + +++++++++Content / Active Note++++++++ + ────────────────────────────────────*/ + /*──────────────────────────────────── + Editor + ────────────────────────────────────*/ + /* iOS Modal extending to Status Bar fix */ + } + .is-mobile .modal:not(.modal.mod-settings), .is-mobile .prompt, .is-mobile .suggestion-container, .is-mobile .menu { + border-top-left-radius: var(--scale-2-8); + border-top-right-radius: var(--scale-2-8); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.3); + } + .is-mobile .modal:not(.modal.mod-settings), .is-mobile .prompt { + bottom: 0; + width: 100%; + max-width: 100%; + } + .is-mobile .suggestion-container { + left: 0; + width: 100%; + max-width: 100%; + max-height: 200px; + overflow-y: auto; + } + .is-mobile .modal.mod-settings { + top: 0; + bottom: 0; + width: 100%; + max-width: 100%; + height: 100%; + max-height: 100%; + border-radius: 0; + } + .is-mobile .modal.mod-community-theme .modal-content { + padding: var(--scale-0-0) var(--scale-2-3); + } + .is-mobile .prompt kbd { + display: none; + } + .is-mobile.is-ios .modal.mod-settings { + top: auto; + bottom: 0; + max-height: calc(100% - 42px); + box-shadow: none; + } + .is-mobile.is-ios .modal-bg { + background: var(--background-secondary); + opacity: 1; + } +} +@media (min-width: 400pt) { + /*──────────────────────────────────── + ++++++++++++++Variables+++++++++++++++ + ────────────────────────────────────*/ + .is-mobile { + /*──────────Typography Modular Scale──────────*/ + /* Based on Standard 16px */ + --line-width: 400pt; + --scale-ratio: 1.32; + --font-scale-000: 0.652em; + --font-scale-00: 0.694em; + --font-scale-0: 0.783em; + --font-scale-0-5: 0.875em; + --font-scale-1: 1em; + --font-scale-2: 1.179em; + --font-scale-3: 1.32em; + --font-scale-4: 1.557em; + --font-scale-5: 1.742em; + --font-scale-6: 2.055em; + --font-scale-7: 2.3em; + --font-scale-8: 2.712em; + --font-scale-9: 3.036em; + --font-scale-10: 3.58em; + /*──────────────────────────────────── + +++++++++++++++Workspace++++++++++++++ + ────────────────────────────────────*/ + /*──────────────────────────────────── + Workspace Sidebar + ────────────────────────────────────*/ + /*──────────────────────────────────── + +++++++++Content / Active Note++++++++ + ────────────────────────────────────*/ + /*──────────────────────────────────── + +++++++++++Other Components+++++++++++ + ────────────────────────────────────*/ + /*──────────────────────────────────── + Modals + ────────────────────────────────────*/ + /*─────────Settings Modal──────────*/ + /*─────────Menu/Options Modal──────────*/ + /*──────────────────────────────────── + Pull Down Action + ────────────────────────────────────*/ + } + .is-mobile .workspace-drawer:not(.is-pinned) { + width: 100vw; + max-width: 360pt; + height: calc(100vh - var(--scale-8-6)); + margin: var(--scale-8-3) var(--scale-8-3); + border-radius: var(--scale-2-8); + border: 1px solid var(--background-modifier-border); + box-shadow: 0px 0px 16px 0px var(--background-modifier-box-shadow); + } + .is-mobile .modal, .is-mobile .prompt { + top: auto; + bottom: auto; + width: 100%; + max-width: 75%; + border-radius: var(--scale-2-8); + box-shadow: var(--shadow-m) var(--background-modifier-box-shadow); + } + .is-mobile .modal.mod-settings { + height: 100%; + } + .is-mobile .setting-item:not(.mod-toggle):not(.setting-item-heading) { + flex-direction: unset; + } + .is-mobile .setting-item:not(.mod-toggle):not(.setting-item-heading) .setting-item-control { + width: 300px; + } + .is-mobile .menu { + border-top-left-radius: var(--scale-2-8); + border-top-right-radius: var(--scale-2-8); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + box-shadow: var(--shadow-m) var(--background-modifier-box-shadow); + } + .is-mobile .pull-down-action { + top: 0; + left: 0; + right: 0; + width: 75%; + margin: var(--scale-2-8) auto; + padding: var(--scale-2-8) var(--scale-2-8) var(--scale-2-8) var(--scale-2-8); + text-align: center; + border-radius: var(--scale-2-8); + border: none; + } +} +@media (min-width: 1000pt) { + .is-mobile { + /*──────────Aside HTML / Sidenotes──────────*/ + } +} +/*──────────────────────────────────── +++++++++++++++++++++++++++++++++++++++ + Graph View +++++++++++++++++++++++++++++++++++++++ +──────────────────────────────────────*/ +.workspace-leaf-content[data-type=graph] .view-content { + padding: 0; +} + +.graph-controls { + max-width: initial; + padding: var(--scale-8-1) var(--scale-8-3) var(--scale-8-2) var(--scale-8-1); + margin-top: var(--scale-2-2); + margin-left: var(--scale-2-2); + border-radius: var(--scale-2-4); + transition: var(--duration-fast-2) var(--motion-smooth); +} +.graph-controls.is-close { + padding: var(--scale-8-1) var(--scale-8-1) var(--scale-8-1) var(--scale-8-1); + margin-top: var(--scale-2-2); + margin-left: var(--scale-2-2); + border-radius: var(--scale-2-4); + opacity: 1; +} +.graph-controls.is-close .graph-controls-buttons.mod-open, .graph-controls.is-close .graph-controls-buttons.mod-animate { + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-4) var(--scale-2-4); + margin: 0; +} + +/*─────────Graph View Colors──────────*/ +.theme-light .graph-view.color-fill, +.theme-dark .graph-view.color-fill { + color: var(--graph-color-node-resolved); +} +.theme-light .graph-view.color-fill-unresolved, +.theme-dark .graph-view.color-fill-unresolved { + color: var(--graph-color-node-unresolved); + opacity: var(--graph-color-node-unresolved-opacity); +} +.theme-light .graph-view.color-fill-tag, +.theme-dark .graph-view.color-fill-tag { + color: var(--graph-color-node-tag); +} +.theme-light .graph-view.color-fill-attachment, +.theme-dark .graph-view.color-fill-attachment { + color: var(--graph-color-node-attachment); +} +.theme-light .graph-view.color-fill-focused, +.theme-dark .graph-view.color-fill-focused { /* Focused Node */ + color: var(--graph-color-node-focused); +} +.theme-light .graph-view.color-circle, +.theme-dark .graph-view.color-circle { /* Node Cirle on Hover (Border) */ + color: var(--graph-color-node-border-hover); +} +.theme-light .graph-view.color-arrow, +.theme-dark .graph-view.color-arrow { + color: var(--graph-color-node-arrow); +} +.theme-light .graph-view.color-line, +.theme-dark .graph-view.color-line { + color: var(--graph-color-node-line); +} +.theme-light .graph-view.color-line-highlight, +.theme-dark .graph-view.color-line-highlight { /* Node Line on Hover */ + color: var(--graph-color-node-line-hover); +} +.theme-light .graph-view.color-text, +.theme-dark .graph-view.color-text { + color: var(--graph-color-node-text); +} + +/*~ Graph View Controls for Light Theme ~*/ +.theme-light .graph-controls { + background-color: var(--color-l-white); + color: var(--color-l-gray-60); + border: 1px solid var(--background-modifier-border); + box-shadow: var(--shadow-s) var(--color-l-shadow-100); +} +.theme-light .graph-controls.is-close { + min-width: inherit; + box-shadow: none; +} +.theme-light .graph-controls .setting-item-name { + color: var(--color-l-gray-80); +} + +/*~ Graph View Controls for Dark Theme ~*/ +.theme-dark .graph-controls { + background-color: var(--color-d-gray-70); + color: var(--color-d-gray-50); + border: 1px solid var(--background-modifier-border); + box-shadow: var(--shadow-s) var(--color-d-shadow-100); +} +.theme-dark .graph-controls.is-close { + min-width: inherit; + box-shadow: none; +} +.theme-dark .graph-controls .setting-item-name { + color: var(--color-d-gray-10); +} + +/*──────────────────────────────────── + Backlinks and Outgoing Links +────────────────────────────────────*/ +/* Backlink Pane */ +.popover .backlink-pane, +.backlink-pane { + padding-left: 0; +} +.popover .backlink-pane > .tree-item-self, +.backlink-pane > .tree-item-self { + flex-direction: row-reverse; + color: var(--md-color-text-normal); + font-weight: var(--font-bold); + margin-top: 3px; + transition: var(--duration-superfast) var(--motion-smooth); +} +.popover .backlink-pane > .tree-item-self:hover, +.backlink-pane > .tree-item-self:hover { + background: transparent; +} +.popover .backlink-pane > .tree-item-self.is-collapsed, +.backlink-pane > .tree-item-self.is-collapsed { + color: var(--md-color-text-muted); +} +.popover .backlink-pane > .tree-item-self.is-collapsed:active, +.backlink-pane > .tree-item-self.is-collapsed:active { + color: var(--md-color-text-faint); +} +.popover .backlink-pane > .tree-item-self span.tree-item-icon.collapse-icon, +.backlink-pane > .tree-item-self span.tree-item-icon.collapse-icon { + display: none; +} +.popover .backlink-pane > .tree-item-self .tree-item-inner, +.backlink-pane > .tree-item-self .tree-item-inner { + flex: auto 1 1; + text-transform: capitalize; +} +.popover .backlink-pane > .tree-item-self .tree-item-flair-outer, +.backlink-pane > .tree-item-self .tree-item-flair-outer { + align-items: center; +} +.popover .backlink-pane > .tree-item-self .tree-item-flair, +.backlink-pane > .tree-item-self .tree-item-flair { + font-family: inherit; + font-size: inherit; + padding: 0; + margin-right: var(--scale-2-2); +} +.popover .backlink-pane .search-result-container, +.backlink-pane .search-result-container { + background: var(--background-secondary); + padding: 0; + border: none; + border-radius: var(--scale-2-4); + margin: var(--scale-2-2) var(--scale-2-3) var(--scale-2-3) var(--scale-2-3); +} +.popover .backlink-pane .search-result-container .tree-item.search-result, +.backlink-pane .search-result-container .tree-item.search-result { + background: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-3); + margin-bottom: var(--scale-2-4); +} +.popover .backlink-pane .search-result-container .tree-item-self, +.backlink-pane .search-result-container .tree-item-self { + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-4) var(--scale-2-8); + border-bottom: 1px solid var(--background-modifier-border); + border-radius: 0; + margin: 0; + margin-bottom: var(--scale-2-4); +} +.popover .backlink-pane .search-result-container .search-result-file-matches, +.backlink-pane .search-result-container .search-result-file-matches { + padding-bottom: var(--scale-2-1); + border-bottom: none; +} +.popover .backlink-pane .search-result-container .search-result-file-match, +.backlink-pane .search-result-container .search-result-file-match { + width: calc(100% - var(--scale-8-1)); + left: 0; +} + +/* Outgoing Link Pane */ +.outgoing-link-pane > .tree-item-self { + flex-direction: row-reverse; + font-size: var(--font-scale-1); + font-weight: var(--font-bold); + margin-top: 3px; +} +.outgoing-link-pane > .tree-item-self:hover { + background: transparent; +} +.outgoing-link-pane > .tree-item-self span.tree-item-icon.collapse-icon { + display: none; +} +.outgoing-link-pane > .tree-item-self .tree-item-inner { + flex: auto 1 1; + text-transform: capitalize; +} +.outgoing-link-pane > .tree-item-self.is-clickable .tree-item-flair { + font-family: inherit; + font-size: inherit; + background: transparent; + padding: 0; + margin-right: var(--scale-2-2); +} +.outgoing-link-pane .search-result-container { + background: var(--background-primary); + padding: 0; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-4); + margin: var(--scale-2-2) var(--scale-0-0) var(--scale-2-2) var(--scale-2-1); +} +.outgoing-link-pane .search-result-container .tree-item-self { + font-size: var(--font-scale-0-5); + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-4) var(--scale-2-8); + border-bottom: 1px solid var(--background-modifier-border); + border-radius: 0; + margin: 0; +} +.outgoing-link-pane .search-result-container .tree-item-self:last-of-type { + border-bottom: none; + border-bottom-left-radius: var(--scale-2-4); + border-bottom-right-radius: var(--scale-2-4); +} +.outgoing-link-pane .search-result-container .tree-item-self.tree-item-self.tree-item-self:active { + color: var(--text-faint); + background: var(--background-primary-alt); +} +.outgoing-link-pane .search-result-container .search-result-file-matches { + padding-bottom: var(--scale-2-1); + border-bottom: none; +} +.outgoing-link-pane .search-result-container .search-result-file-match { + width: calc(100% - var(--scale-2-6)); + margin: var(--scale-2-3) var(--scale-2-1) var(--scale-2-4) var(--scale-2-1); +} +.outgoing-link-pane .search-result-container .search-result-file-match:last-of-type { + margin-bottom: var(--scale-0-0); +} +.outgoing-link-pane .search-result-container .search-result-file-match-destination-file { + background: var(--background-primary); + color: var(--text-normal); + border-radius: var(--scale-2-8); + padding: var(--scale-2-1) var(--scale-2-5) var(--scale-2-2) var(--scale-2-5); + margin: 0; +} + +/* Backlinks on Document */ +.popover .workspace-leaf-content[data-type=markdown] .nav-header, +.mod-root .workspace-leaf-content[data-type=markdown] .nav-header { + border-top: 1px solid var(--background-modifier-border); + padding: 0; + padding-bottom: var(--scale-2-4); + margin-top: 0; + position: relative; +} +.popover .workspace-leaf-content[data-type=markdown] .nav-buttons-container, +.mod-root .workspace-leaf-content[data-type=markdown] .nav-buttons-container { + position: absolute; + right: 0; + top: var(--scale-2-4); +} +.popover .workspace-leaf-content[data-type=markdown] .embedded-backlinks, +.mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks { + margin-top: 3em; + margin-bottom: 1em; +} +.popover .workspace-leaf-content[data-type=markdown] .embedded-backlinks .search-input-container, +.mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks .search-input-container { + margin-right: calc(4 * var(--scale-8-5) - 24px); + margin-left: 0; +} +.popover .workspace-leaf-content[data-type=markdown] .embedded-backlinks .search-input-container .search-input-clear-button:before, +.mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks .search-input-container .search-input-clear-button:before { + top: -10px; +} +.popover .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane, +.mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane { + padding-left: 0; +} +.popover .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane > .tree-item-self, +.mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane > .tree-item-self { + font-size: var(--font-scale-2); + margin-top: 3px; +} +.popover .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane .search-result-container, +.mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane .search-result-container { + background: var(--background-secondary); + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-1) var(--scale-2-4); + border: none; + border-radius: var(--scale-2-4); + margin-top: var(--scale-2-2); + margin-left: 0; +} +.popover .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane .search-result-container .tree-item-self, +.mod-root .workspace-leaf-content[data-type=markdown] .embedded-backlinks .backlink-pane .search-result-container .tree-item-self { + font-size: var(--font-scale-1); +} + +/* Font for Source View */ +.cm-s-obsidian .backlink-pane > .tree-item-self { + font-family: var(--font-editor-header); +} + +/* Font for Preview View */ +.markdown-preview-view .backlink-pane > .tree-item-self { + font-family: var(--font-preview-header); +} + +/* "Link" Button */ +.search-result-file-match-replace-button.search-result-file-match-replace-button { + padding: var(--scale-2-1) var(--scale-2-3) var(--scale-2-2) var(--scale-2-3) !important; + border-radius: var(--scale-2-2); + margin-top: auto; + margin-bottom: auto; + margin-right: var(--scale-2-5); + opacity: 1; +} + +/*──────────────────────────────────── + Outline Pane +────────────────────────────────────*/ +.outline { + font-size: var(--font-scale-0-5); +} + +.workspace-leaf-content[data-type=outline] .tree-item-self { + padding: calc(1px + var(--scale-2-2)) var(--scale-2-2) calc(1px + var(--scale-2-2)) calc(5px + var(--scale-8-3)); +} +.workspace-leaf-content[data-type=outline] .tree-item-self .tree-item-icon { + margin-left: -21px; +} + +/*──────────────────────────────────── +++++++++++++++++++++++++++++++++++++++ + Slides +++++++++++++++++++++++++++++++++++++++ +──────────────────────────────────────*/ +.reveal { + color: var(--md-color-text); + background: var(--background-primary); +} +.reveal .progress { + height: var(--scale-8-1); + border-top: 1px solid var(--background-modifier-border); +} +.theme-light .reveal .progress { + background: var(--color-l-gray-30); + color: var(--color-l-blue-300); +} +.theme-dark .reveal .progress { + background: var(--color-d-black); + color: var(--color-d-blue-900); +} +.theme-light .reveal .controls { + color: var(--color-l-gray-50); +} +.theme-dark .reveal .controls { + color: var(--color-d-gray-30); +} +.reveal p { + color: var(--md-color-text); + margin-left: var(--scale-8-4); + margin-right: var(--scale-8-4); +} +.reveal h1 { + color: var(--h1-text-color); + font-size: var(--h1); + line-height: var(--header-line-height); + text-align: center; + margin-bottom: 0; + text-transform: unset; +} +.reveal h2 { + color: var(--h2-text-color); + font-size: var(--h2); + line-height: var(--header-line-height); + text-align: center; + margin-bottom: 0; + text-transform: unset; +} +.reveal h3 { + color: var(--h3-text-color); + font-size: var(--h3); + line-height: var(--header-line-height); + text-align: center; + margin-bottom: 0; + text-transform: unset; +} +.reveal h4 { + color: var(--h4-text-color); + font-size: var(--h4); + line-height: var(--header-line-height); + text-align: center; + margin-bottom: 0; + text-transform: unset; +} +.reveal h5 { + color: var(--h5-text-color); + font-size: var(--h5); + line-height: var(--header-line-height); + text-align: center; + margin-bottom: 0; + text-transform: unset; +} +.reveal h6 { + color: var(--h6-text-color); + font-size: var(--h6); + line-height: var(--header-line-height); + text-align: center; + margin-bottom: 0; + text-transform: unset; +} +.reveal img { + height: clamp(200px, 60vh, 960px); + margin-top: 0; +} + +.reveal .slides > section { + padding: 0 0; +} + +.slides-close-btn { + top: var(--scale-8-2); + right: var(--scale-8-2); +} +.slides-close-btn svg { + display: none; +} +.slides-close-btn::before { + content: "×"; +} + +/*──────────────────────────────────── +++++++++++++++++++++++++++++++++++++++ + Community Plugins +++++++++++++++++++++++++++++++++++++++ +──────────────────────────────────────*/ +/*──────────────────────────────────── + Calendar Plugin +────────────────────────────────────*/ +#calendar-container { + padding: var(--scale-0-0) var(--scale-2-4) var(--scale-0-0) var(--scale-2-4); +} +#calendar-container .nav { + margin: var(--scale-2-4) var(--scale-0-0) var(--scale-2-2) var(--scale-0-0); +} +#calendar-container .day, #calendar-container .week-num { + padding: var(--scale-0-0) var(--scale-2-2) var(--scale-2-2) var(--scale-2-2); +} +#calendar-container .day { + margin: var(--scale-0-0) var(--scale-0-0) var(--scale-0-0) var(--scale-2-2); +} +#calendar-container .today { + font-weight: var(--font-bold); +} +#calendar-container .week-num { + margin: var(--scale-0-0) var(--scale-2-2) var(--scale-0-0) var(--scale-0-0); +} +#calendar-container thead { + border-top: 1px solid var(--background-modifier-border); +} +#calendar-container .arrow svg { + background-color: currentColor; + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='icon' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 32 32' style='enable-background:new 0 0 32 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;%7D%0A%3C/style%3E%3Cpolygon points='10,16 20,6 21.4,7.4 12.8,16 21.4,24.6 20,26 '/%3E%3Crect id='_x3C_Transparent_Rectangle_x3E_' class='st0' width='32' height='32'/%3E%3C/svg%3E"); +} +#calendar-container .arrow svg > path { + display: none; +} +.theme-light #calendar-container { + --color-background-day-empty: transparent; + --color-background-day-active: transparent; + --color-background-day-hover: var(--color-l-gray-40); + --color-dot: var(--color-l-blue-300); + --color-text-title: var(--text-normal); + --color-text-heading: var(--color-l-gray-60); + --color-text-day: var(--color-l-gray-80); + --color-text-today: var(--text-normal); + --color-text-weeknum: var(--text-muted); + --color-arrow: var(--color-l-gray-50); + --color-arrow-hover: var(--color-l-gray-60); +} +.theme-light #calendar-container .active, .theme-light #calendar-container .active.today { + background: var(--color-l-gray-10); + color: var(--color-l-black); + font-weight: var(--font-semi-bold); + border: 1px inset rgba(100, 100, 100, 0.2); + box-shadow: 0px -2px 0px 0px rgba(100, 100, 100, 0.1) inset, 0px 1px 2px 0px rgba(100, 100, 100, 0.1); +} +.theme-light #calendar-container .week-num:hover, .theme-light #calendar-container .day:hover { + color: var(--color-l-black); + background: var(--color-l-gray-10); + box-shadow: 0px 0px 0px 1px rgba(209, 209, 209, 0.5) inset; +} +.theme-light #calendar-container .week-num:active, .theme-light #calendar-container .day:active { + background: var(--color-l-gray-40); +} +.theme-light #calendar-container .reset-button:hover, .theme-light #calendar-container .arrow:hover > svg { + color: var(--color-l-gray-70); +} +.theme-dark #calendar-container { + --color-background-day-empty: transparent; + --color-background-day-active: transparent; + --color-background-day-hover: var(--color-d-gray-50); + --color-dot: var(--color-d-blue-900); + --color-text-title: var(--text-normal); + --color-text-heading: var(--color-d-gray-40); + --color-text-day: var(--color-d-gray-20); + --color-text-today: var(--text-normal); + --color-text-weeknum: var(--text-muted); + --color-arrow: var(--color-d-gray-30); + --color-arrow-hover: var(--color-d-gray-10); +} +.theme-dark #calendar-container .active, .theme-dark #calendar-container .active.today { + background: var(--color-d-gray-70); + color: var(--color-d-white); + font-weight: var(--font-semi-bold); + border: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.15) inset, 0px 2px 4px 0px rgba(0, 0, 0, 0.1); +} +.theme-dark #calendar-container .week-num:hover, .theme-dark #calendar-container .day:hover { + color: var(--color-d-white); + background: var(--color-d-gray-70); + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.3) inset; +} +.theme-dark #calendar-container .week-num:active, .theme-dark #calendar-container .day:active { + background: var(--color-d-gray-100); +} +.theme-dark #calendar-container .reset-button:hover, .theme-dark #calendar-container .arrow:hover > svg { + color: var(--color-d-gray-20); +} + +/* Removes Scrollbar in Calendar */ +.workspace-leaf-content[data-type=calendar] ::-webkit-scrollbar { + display: none; +} + +/*──────────────────────────────────── + Sliding Panes (Andy's Mode) +────────────────────────────────────*/ +body.plugin-sliding-panes:not(.plugin-sliding-panes-rotate-header) .mod-root .workspace-leaf:not(:first-of-type) { + border-left: 1px solid var(--background-modifier-border) !important; +} +body.plugin-sliding-panes-rotate-header { + /* don't remove !important */ + /* Removes shadow inside of Note Header Title */ +} +body.plugin-sliding-panes-rotate-header .workspace .mod-root .workspace-leaf.mod-active .workspace-leaf-content .view-header, body.plugin-sliding-panes-rotate-header .workspace .mod-root .workspace-leaf:not(.workspace-leaf.mod-active) .workspace-leaf-content .view-header { + border-right: 1px solid var(--background-modifier-border) !important; + border-left: 1px solid var(--background-modifier-border) !important; +} +body.plugin-sliding-panes-rotate-header .view-header-title-container::before { + display: none; +} +body.plugin-sliding-panes-rotate-header .view-header { + /* Alignment Fixes for 36px width */ +} +body.plugin-sliding-panes-rotate-header .view-header .view-action[aria-label="More options"] svg { + transform: rotate(90deg); + margin-bottom: var(--scale-2-2); +} +body.plugin-sliding-panes-rotate-header .view-header .view-header-icon { + left: 3px; +} +body.plugin-sliding-panes-rotate-header .view-header .view-actions { + margin-left: 3px; +} +body.plugin-sliding-panes-stacking .workspace > .mod-root > .workspace-leaf { + box-shadow: none !important; +} + +/*──────────────────────────────────── + Dataview +────────────────────────────────────*/ +/* Dataview Tables */ +table.dataview { + word-break: normal; + overflow-wrap: normal; +} + +/* padding fix for LP */ +.block-language-dataview.node-insert-event > div.markdown-rendered.cm-embed-block { + padding: 0; +} + +.markdown-source-view.mod-cm6 .dataview { + /* Source View */ +} +.markdown-source-view.mod-cm6 .dataview.table-view-table { + margin-bottom: 0; + border: 1px solid var(--background-modifier-border); +} +.markdown-source-view.mod-cm6 .dataview.table-view-table > thead > tr > th { + font-size: var(--font-scale-1); + border-width: 0px; + border-bottom: 1px solid var(--background-modifier-border); + border-right: 1px solid var(--background-modifier-border); +} +.markdown-source-view.mod-cm6 .dataview.table-view-table thead, .markdown-source-view.mod-cm6 .dataview.table-view-table tr, .markdown-source-view.mod-cm6 .dataview.table-view-table td, .markdown-source-view.mod-cm6 .dataview.table-view-table th { + padding: 4px 10px; +} +.markdown-source-view.mod-cm6 .dataview.table-view-table thead { + border: none; + margin: 0; +} +.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th { + font-size: var(--font-scale-1); + color: var(--md-color-code-red-1); + background: var(--background-secondary); +} +.markdown-source-view.mod-cm6 .dataview.table-view-table .table-view-tbody tr { + border-bottom: 1px solid var(--background-modifier-border); +} +.markdown-source-view.mod-cm6 .dataview.table-view-table .table-view-tbody td { + padding: 4px 10px; + border-right: 1px solid var(--background-modifier-border); +} +.theme-light .markdown-source-view.mod-cm6 .dataview.table-view-table .table-view-tbody tr { + background: var(--color-l-whiter); +} +.theme-dark .markdown-source-view.mod-cm6 .dataview.table-view-table .table-view-tbody tr { + background: var(--color-d-blacker); +} +.markdown-source-view.mod-cm6 .dataview.table-view-table .table-view-tbody td:not(td:last-of-type) { + padding: 4px 10px; +} +.markdown-source-view.mod-cm6 .dataview.table-view-table ul.dataview-ul { + list-style: none; +} +.markdown-preview-view .dataview { + /* Preview View */ +} +.markdown-preview-view .dataview.table-view-table { + border: 1px solid var(--background-modifier-border); +} +.markdown-preview-view .dataview.table-view-table > thead > tr > th { + font-size: var(--font-scale-1); + border-width: 0px; + border-bottom: 1px solid var(--background-modifier-border); + border-right: 1px solid var(--background-modifier-border); +} +.markdown-preview-view .dataview.table-view-table .table-view-tbody tr { + border-bottom: 1px solid var(--background-modifier-border); +} +.markdown-preview-view .dataview.table-view-table .table-view-tbody td { + padding: 4px 10px; + border-right: 1px solid var(--background-modifier-border); +} +.markdown-preview-view .dataview.table-view-table ul.dataview-ul { + list-style: none; +} + +/* Dataview Task List */ +.markdown-source-view.mod-cm6 .cm-embed-block .block-language-dataview h4 { + margin: 15px 0; +} +.markdown-source-view.mod-cm6 .cm-embed-block .block-language-dataview h4:first-of-type { + margin-top: 0; +} +.markdown-source-view.mod-cm6 .cm-embed-block .block-language-dataview .dataview.result-group input.task-list-item-checkbox { + margin-right: var(--scale-2-3); +} + +/* Dataview List */ +.markdown-source-view.mod-cm6 .cm-embed-block .block-language-dataview ul.dataview.list-view-ul { + margin-top: 0; + margin-bottom: 0; +} + +/*──────────────────────────────────── + Supercharged Links +────────────────────────────────────*/ +/* Supercharged Links Reset for Source View */ +.cm-s-obsidian span.cm-hmd-internal-link span[data-link-tags], .cm-s-obsidian span[data-link-tags] .cm-underline { + color: inherit; + text-decoration: inherit; + text-underline-position: inherit; + text-decoration-thickness: inherit; + transition: var(--duration-superfast) var(--motion-smooth); +} + +/* Supercharged Links Reset for Preview View */ +.internal-link.data-link-icon { + color: inherit; + transition: var(--duration-superfast) var(--motion-smooth); +} + +/*──────────────────────────────────── + Map View +────────────────────────────────────*/ +.workspace-leaf-content[data-type=map] img { + border: none; + border-radius: 0; +} +.workspace-leaf-content[data-type=map] button { + background: var(--interactive-accent); + color: var(--text-on-accent); + margin-top: var(--scale-2-2); + margin-bottom: var(--scale-2-3); +} +.workspace-leaf-content[data-type=map] input[type=checkbox] { + vertical-align: text-top; + margin-left: 0; + border-radius: 100%; +} +.workspace-leaf-content[data-type=map] input[type=checkbox]:checked { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='fill: white;transform: ;msFilter:;'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2z'%3E%3C/path%3E%3C/svg%3E"); +} +.workspace-leaf-content[data-type=map] .graph-controls { + max-width: 242px; + padding: var(--scale-2-6) var(--scale-2-6) var(--scale-2-6) var(--scale-2-6); + margin-right: var(--scale-8-2); +} +.workspace-leaf-content[data-type=map] .graph-control-content { + margin-top: var(--scale-2-3); +} +.workspace-leaf-content[data-type=map] .extra-marker .svg-inline--fa, .workspace-leaf-content[data-type=map] .extra-marker i.fa, .workspace-leaf-content[data-type=map] .extra-marker i.fab, .workspace-leaf-content[data-type=map] .extra-marker i.fas, .workspace-leaf-content[data-type=map] .extra-marker i.far, .workspace-leaf-content[data-type=map] .extra-marker i.fal { + margin-top: 11px; + margin-left: 1px; +} + +/*──────────────────────────────────── + Hover Editor +────────────────────────────────────*/ +.hover-editor.popover { + --he-popover-border-radius: var(--scale-2-4); + --he-title-bar-height: 24px; + border: 1px solid var(--background-modifier-border) !important; +} +.hover-editor.popover .popover-titlebar .popover-title.popover-title { + font-weight: var(--font-bold); +} +.hover-editor.popover.show-navbar .popover-titlebar { + box-shadow: 0px -1px 0px 0px var(--background-modifier-border) inset; +} +.hover-editor.popover.is-minimized { + box-shadow: var(--shadow-s) var(--background-modifier-box-shadow); +} +.theme-light .hover-editor.popover { + --he-title-bar-inactive-pinned-bg: var(--background-primary); + --he-title-bar-inactive-fg: var(--text-faint); + --he-title-bar-active-action: var(--he-title-bar-inactive-fg); + --he-title-bar-inactive-action: var(--text-faint); + --he-title-bar-active-pinned-bg: var(--background-primary-alt); + --he-title-bar-active-fg: var(--color-l-gray-80); +} +.theme-light .hover-editor.popover.is-active { + --he-title-bar-active-action: var(--he-title-bar-active-fg); + --he-title-bar-inactive-action: var(--he-title-bar-active-fg); +} +.theme-light .hover-editor.popover.is-active .popover-titlebar { + --he-title-bar-active-bg: var(--background-primary); +} +.theme-light .hover-editor.popover:not(.is-pinned) { + --he-title-bar-inactive-bg: var(--background-primary); + --he-title-bar-inactive-action: var(--text-faint); + --he-title-bar-active-fg: var(--color-l-gray-80); + border: 1px solid var(--background-modifier-error) !important; +} +.theme-light .hover-editor.popover .popover-action { + margin: 0; + padding: 0 var(--scale-2-4); +} +.theme-light .hover-editor.popover .popover-action.mod-show-navbar:hover { + background: var(--color-l-blue-300); + color: var(--color-l-whiter); +} +.theme-light .hover-editor.popover .popover-action.mod-minimize:hover { + background: var(--color-l-blue-500); + color: var(--color-l-whiter); +} +.theme-light .hover-editor.popover .popover-action.mod-maximize:hover { + background: var(--color-l-yellow-500); + color: var(--color-l-whiter); +} +.theme-light .hover-editor.popover .popover-action.mod-close:hover { + background: var(--color-l-red-500); + color: var(--color-l-whiter); +} +.theme-dark .hover-editor.popover { + --he-title-bar-inactive-pinned-bg: var(--background-primary); + --he-title-bar-inactive-fg: var(--text-faint); + --he-title-bar-active-action: var(--he-title-bar-inactive-fg); + --he-title-bar-inactive-action: var(--text-faint); + --he-title-bar-active-pinned-bg: var(--background-primary-alt); + --he-title-bar-active-fg: var(--color-d-gray-20); +} +.theme-dark .hover-editor.popover.is-active { + --he-title-bar-active-action: var(--he-title-bar-active-fg); + --he-title-bar-inactive-action: var(--he-title-bar-active-fg); +} +.theme-dark .hover-editor.popover.is-active .popover-titlebar { + --he-title-bar-active-bg: var(--background-primary); +} +.theme-dark .hover-editor.popover:not(.is-pinned) { + --he-title-bar-inactive-bg: var(--background-primary); + --he-title-bar-inactive-action: var(--text-faint); + --he-title-bar-active-fg: var(--color-d-gray-20); + border: 1px solid var(--background-modifier-error) !important; +} +.theme-dark .hover-editor.popover .popover-action { + margin: 0; + padding: 0 var(--scale-2-4); +} +.theme-dark .hover-editor.popover .popover-action.mod-show-navbar:hover { + background: var(--color-d-blue-300); + color: var(--color-d-whiter); +} +.theme-dark .hover-editor.popover .popover-action.mod-minimize:hover { + background: var(--color-d-blue-700); + color: var(--color-d-whiter); +} +.theme-dark .hover-editor.popover .popover-action.mod-maximize:hover { + background: var(--color-d-yellow-700); + color: var(--color-d-whiter); +} +.theme-dark .hover-editor.popover .popover-action.mod-close:hover { + background: var(--color-d-red-700); + color: var(--color-d-whiter); +} +.hover-editor.popover .workspace-leaf { + padding-right: 0; +} + +/*──────────────────────────────────── + Full Calendar Plugin +────────────────────────────────────*/ +.fc { + --fc-button-active-bg-color: var(--interactive-accent) !important; + --fc-event-bg-color: var(--text-highlight-bg) !important; + --fc-now-indicator-color: var(--interactive-accent) !important; + --fc-highlight-color: var(--background-primary-alt) !important; + --fc-today-bg-color: var(--background-primary-alt) !important; +} + +.fc-button-active { + background-color: var(--fc-button-active-bg-color) !important; +} + +.fc th { + background: var(--background-primary-alt); +} + +.fc .fc-button-primary:not(:disabled):active, +.fc .fc-button-primary:not(:disabled).fc-button-active { + border-color: transparent; + border-color: transparent; +} + +.fc .fc-button-primary:not(:disabled):active:focus, +.fc .fc-button-primary:not(:disabled).fc-button-active:focus { + box-shadow: initial !important; +} + +.fc .fc-highlight { + background: transparent !important; + background: transparent !important; +} + +.fc .fc-daygrid-body-natural .fc-daygrid-day-events { + margin-bottom: 0em !important; +} + +.fc-v-event .fc-event-title { + display: inline-block !important; +} + +.fc .fc-timegrid-divider { + background: var(--fc-border-color) !important; +} + +.fc .fc-timegrid-now-indicator-line { + border-color: black !important; + border-color: var(--fc-now-indicator-color, black) !important; + border-width: 2px 0 0 !important; +} + +.fc-theme-standard .fc-list-day-cushion { + background-color: var(--background-primary-alt) !important; +} + +/*──────────────────────────────────── + Style Settings Plugin Styling +────────────────────────────────────*/ +div.style-settings-container { + padding-bottom: 0; +} +div.style-settings-container[data-level="0"] { + margin-left: 4px; +} +div.style-settings-container .setting-item:not(:first-child) { + padding-top: var(--scale-8-1); + padding-bottom: var(--scale-8-1); +} +div.style-settings-container .setting-item:first-child:not(.style-settings-heading) { + padding-top: var(--scale-8-1); + padding-bottom: var(--scale-8-1); +} +div.style-settings-container .setting-item-description { + line-height: var(--line-height-0-5); +} +div.style-settings-container .setting-item-description strong { + color: var(--text-muted); +} +div.style-settings-container[data-level="1"], div.style-settings-container[data-level="2"], div.style-settings-container[data-level="3"], div.style-settings-container[data-level="4"], div.style-settings-container[data-level="5"], div.style-settings-container[data-level="6"] { + padding-top: var(--scale-8-1); + border-left: 1px solid var(--background-modifier-border); + margin-left: var(--scale-2-2); +} +div.style-settings-container[data-level="1"] .style-settings-heading, div.style-settings-container[data-level="2"] .style-settings-heading, div.style-settings-container[data-level="3"] .style-settings-heading, div.style-settings-container[data-level="4"] .style-settings-heading, div.style-settings-container[data-level="5"] .style-settings-heading, div.style-settings-container[data-level="6"] .style-settings-heading { + padding-top: var(--scale-2-4); + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--background-modifier-border); +} +div.style-settings-heading { + margin-bottom: 0; +} +div.style-settings-heading.setting-item { + padding-top: var(--scale-8-1); +} +div.style-settings-heading .setting-item-description { + font-weight: normal; + line-height: 1.5; + padding-left: 26px; +} +div.style-settings-heading[data-level="0"][data-id=primary-ceciliamay] .style-settings-collapse-indicator svg.right-triangle { + transform: initial; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24' width='100%25' height='100%25'%3E%3Cpath d='M23,3H13a1,1,0,0,0-1,1V7.27L9.6,3.11a2,2,0,0,0-3.47,0h0L.13,13.5a1,1,0,0,0,0,1A1,1,0,0,0,1,15H5.29A6.91,6.91,0,0,0,5,17a7,7,0,0,0,14,0,6.91,6.91,0,0,0-.29-2H23a1,1,0,0,0,1-1V4A1,1,0,0,0,23,3ZM2.73,13,7.86,4.11,11.29,10a7,7,0,0,0-5,3ZM12,22a5,5,0,1,1,5-5A5,5,0,0,1,12,22Zm10-9H17.74A7.07,7.07,0,0,0,14,10.29V5h8Z'/%3E%3C/svg%3E"); +} +div.style-settings-heading[data-level="0"] { + border-top: unset; + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: 0; +} +div.style-settings-heading[data-level="0"] + .style-settings-container { + padding-left: var(--scale-8-2); + border-left: 1px solid var(--background-modifier-border); + margin-left: 0; +} +div.style-settings-heading[data-level="0"] + .style-settings-container .style-settings-collapse-indicator { + margin-left: 0; +} +div.style-settings-heading[data-level="1"] + .style-settings-container, div.style-settings-heading[data-level="2"] + .style-settings-container, div.style-settings-heading[data-level="3"] + .style-settings-container, div.style-settings-heading[data-level="4"] + .style-settings-container, div.style-settings-heading[data-level="5"] + .style-settings-container, div.style-settings-heading[data-level="6"] + .style-settings-container { + padding-top: 0; + padding-left: var(--scale-8-2); + margin-left: 0; +} +div.style-settings-heading[data-id=primary-wiki][data-level="1"], div.style-settings-heading[data-id=primary-wiki][data-level="2"], div.style-settings-heading[data-id=primary-wiki][data-level="3"] { + border-bottom: none; + padding-bottom: 0; +} +div.style-settings-heading[data-id=primary-wiki] .style-settings-collapse-indicator, div.style-settings-heading[data-id=primary-wiki] .setting-editor-extra-setting-button { + display: none; +} + +.style-settings-collapse-indicator svg { + vertical-align: middle; +} + +.vertical-tab-content > .setting-item.setting-item-heading.style-settings-heading { + border-bottom: 1px solid var(--background-modifier-border); +} + +.setting-item.setting-item-heading.style-settings-heading:hover .style-settings-collapse-indicator { + color: var(--interactive-accent-hover); +} + +.setting-item.setting-item-heading.style-settings-heading:hover .setting-item-name { + color: var(--interactive-accent-text); +} + +.setting-item.setting-item-heading.style-settings-heading:not(.is-collapsed) .style-settings-collapse-indicator { + color: var(--interactive-accent-text); +} + +div.workspace-leaf-content[data-type=style-settings] .view-content { + padding: 20px 35px; +} + +div.workspace-leaf-content[data-type=style-settings] .view-content .style-settings-container div.setting-item:not(.setting-item-heading) { + flex-direction: row; +} + +/* vertically center toggles, dropdowns, etc. */ +.view-content .style-settings-container .setting-item:not(.setting-item-heading) { + align-items: center; +} + +/* removes padding-top on toggles, dropdowns, etc. */ +.view-content .style-settings-container .setting-item:not(.setting-item-heading) .setting-item-control { + padding-top: unset; +} + +div.themed-color-wrapper > div { + margin-right: var(--scale-2-6); +} +.modal div.themed-color-wrapper > div { + margin-right: 0; +} +div.themed-color-wrapper > div + div { + margin-top: 0; + margin-right: var(--scale-2-2); +} +.modal div.themed-color-wrapper > div + div { + margin-top: var(--scale-2-5); + margin-right: 0; +} +.theme-light div.themed-color-wrapper > div.theme-light { + background: var(--color-l-whiter); + border: 1px solid var(--color-l-gray-40); + box-shadow: 0px 0px 0px 3px var(--color-l-gray-20); +} +.theme-light div.themed-color-wrapper > div.theme-dark { + background: var(--color-l-gray-100); + border: 1px solid var(--color-l-gray-80); + box-shadow: 0px 0px 0px 3px var(--color-l-black); +} +.theme-dark div.themed-color-wrapper > div.theme-light { + background: var(--color-d-whiter); + border: 1px solid var(--color-d-gray-20); + box-shadow: 0px 0px 0px 3px var(--color-d-gray-10); + margin-right: var(--scale-8-2); +} +.theme-dark div.themed-color-wrapper > div.theme-dark { + background: var(--color-d-black); + border: 1px solid var(--color-d-gray-50); + box-shadow: 0px 0px 0px 3px var(--color-d-blacker); + margin-right: var(--scale-2-2); +} + +.pickr-reset.pickr-reset.pickr-reset button[aria-label="Restore default"] { + color: var(--text-muted); + background: transparent; + border: none; + box-shadow: none; + padding: 0; +} +.pickr-reset.pickr-reset.pickr-reset button[aria-label="Restore default"]:hover, .pickr-reset.pickr-reset.pickr-reset button[aria-label="Restore default"]:focus { + color: var(--text-normal); + background: transparent; + border: none; + box-shadow: none; + padding: 0; +} +.pickr-reset.pickr-reset.pickr-reset button[aria-label="Restore default"]:active { + color: var(--text-muted); + background: transparent; + border: none; + box-shadow: none; + padding: 0; +} + +button.pcr-button.pcr-button.pcr-button[type=button][aria-label="toggle color picker dialog"] { + background: transparent; + border: 1px solid gray; + box-shadow: none; +} + +/*────────── fonts ──────────*/ +/* inter alternative version */ +.inter-alt { + -webkit-font-feature-settings: "cv01", "cv05", "cv06", "cv11"; +} + +/* tabular nums */ +.tabular-nums * { + font-variant-numeric: tabular-nums; +} + +/* scroll__scalable-fonts */ +body.scroll__scalable-fonts div:where(.workspace:not(.workspace .workspace-tab-container-inner), .modal, .prompt) { + font-size: var(--font-scale-1); + /*──────────Typography Modular Scale──────────*/ + /* Based on Standard 16px, Ratio 1.388 */ + --font-scale-000: calc(var(--font-text-size) * 0.547); + --font-scale-00: calc(var(--font-text-size) * 0.676); + --font-scale-0: calc(var(--font-text-size) * 0.81); + --font-scale-0-5: calc(var(--font-text-size) * 0.875); + --font-scale-1: calc(var(--font-text-size) * 1); + --font-scale-2: calc(var(--font-text-size) * 1.188); + --font-scale-3: calc(var(--font-text-size) * 1.388); + --font-scale-4: calc(var(--font-text-size) * 1.648); + --font-scale-5: calc(var(--font-text-size) * 1.927); + --font-scale-6: calc(var(--font-text-size) * 2.288); + --font-scale-7: calc(var(--font-text-size) * 2.678); +} + +/*────────── workspace-components ──────────*/ +/* vault title */ +.vault-title__titlebar .titlebar-text, .vault-title__file-explorer .nav-folder-title[data-path="/"] { + display: none; +} + +/* hide note header, show on hover */ +.hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .workspace-leaf .view-header.view-header.view-header { + height: var(--scale-8-1) !important; + border-bottom: 1px solid transparent !important; + transition: var(--duration-fast-2) var(--motion-delay); +} +.hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .workspace-leaf .view-header.view-header.view-header:hover { + height: var(--scale-2-18) !important; + border-bottom: 1px solid var(--background-modifier-border) !important; + opacity: 1; +} +.hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-content { + height: 100%; +} +.hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header-title, .hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header-icon, .hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header .view-actions { + opacity: 0; + transition: opacity var(--duration-fast-2) var(--motion-delay); +} +.hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header-title:hover, .hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header-icon:hover, .hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header .view-actions:hover { + transition: none; +} +.hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header:hover .view-header-title, .hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header:hover .view-header-icon, .hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .view-header:hover .view-actions { + opacity: 1; +} +.hide__note-header:not(.plugin-sliding-panes, .plugin-sliding-panes-rotate-header, .plugin-sliding-panes-stacking, .plugin-sliding-select-orientation-sideway, .is-mobile) .graph-controls.is-close { + margin-top: 36px; +} + +/* unwrap file titles in file explorer */ +.linewrap-file__file-explorer .nav-file-title { + width: max-content; + padding-right: var(--scale-8-1); +} +.linewrap-file__file-explorer .nav-file-title-content { + white-space: unset; +} + +/* unwrap folder titles in file explorer */ +.linewrap-folder__file-explorer .nav-folder-title { + width: max-content; + padding-right: var(--scale-8-1); +} +.linewrap-folder__file-explorer .nav-folder-title { + white-space: unset; +} + +/* hide side dock ribbon */ +.hide__sidedockribbon-full:not(.is-mobile) .side-dock-ribbon { + display: none; +} + +.hide__sidedockribbon-hover:not(.is-mobile) { + --sdr-left-height: clamp(150px, 20vh, 1200px); + --sdr-left-height-hover: clamp(150px, 40vh, 1200px); + --sdr-right-height: 45px; +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon { + position: fixed; + overflow-y: hidden; + background: var(--background-secondary); + border: 1px solid var(--background-modifier-border); +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon:hover { + background: var(--background-primary); + transform: scale(1.15); +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon:not(.is-collapsed) { + background: var(--background-primary); +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon.mod-left { + left: -28px; + top: calc(50% - var(--sdr-left-height) / 2); + height: var(--sdr-left-height); + border-top-right-radius: var(--scale-2-4); + border-bottom-right-radius: var(--scale-2-4); +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon.mod-left:hover { + left: 0; + top: calc(50% - var(--sdr-left-height-hover) / 2); + height: var(--sdr-left-height-hover); + overflow-y: scroll; +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon.mod-right { + right: -28px; + top: calc(50% - var(--sdr-right-height) / 2); + height: var(--sdr-right-height); + border-top-left-radius: var(--scale-2-4); + border-bottom-left-radius: var(--scale-2-4); +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon.mod-right:hover { + right: 0; +} +.hide__sidedockribbon-hover:not(.is-mobile) .side-dock-ribbon.side-dock-ribbon::-webkit-scrollbar { + display: none; +} + +.hide__sidedockribbon-minifloating:not(.is-mobile) { + /* hide status bar fix */ +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .side-dock-ribbon { + background: var(--background-primary); + opacity: 0.5; + transition: opacity var(--duration-superfast) var(--motion-smooth); +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .side-dock-ribbon:hover { + opacity: 1; +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .side-dock-ribbon.is-collapsed { + opacity: 1; +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .mod-left.side-dock-ribbon { + width: 36px; + display: block; + position: absolute; + bottom: 0; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-4); + margin-left: var(--scale-2-6); + margin-bottom: var(--scale-2-6); + transition: var(--duration-fast-2) var(--motion-smooth); +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .mod-left.side-dock-ribbon:hover { + flex: 0 0 var(--scale-2-18); +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .mod-left.side-dock-ribbon .side-dock-actions { + display: none; +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .mod-left.side-dock-ribbon .side-dock-ribbon-action { + padding-bottom: var(--scale-2-6); +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .mod-left.side-dock-ribbon .workspace-ribbon-collapse-btn { + justify-items: flex-end; + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-2) var(--scale-2-4); + margin: 0; +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .mod-right.side-dock-ribbon { + transition: var(--duration-fast-2) var(--motion-smooth); + width: 36px; + display: block; + position: absolute; + right: 0; + bottom: 0; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-4); + margin-right: var(--scale-8-2); + margin-bottom: var(--scale-8-5); +} +.hide__sidedockribbon-minifloating:not(.is-mobile) .mod-right.side-dock-ribbon .workspace-ribbon-collapse-btn { + display: flex; + align-items: center; + justify-content: center; + margin: 0; +} +.hide__sidedockribbon-minifloating:not(.is-mobile).hider-status .mod-right.side-dock-ribbon, .hide__sidedockribbon-minifloating:not(.is-mobile).hide__status-bar .mod-right.side-dock-ribbon { + margin-bottom: var(--scale-8-2); +} + +.hide__sidedockribbon-fullfloating:not(.is-mobile) { + /* hide status bar fix */ +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .side-dock-ribbon { + background: var(--background-primary); + opacity: 0.5; + transition: opacity var(--duration-superfast) var(--motion-smooth); +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .side-dock-ribbon:hover { + opacity: 1; +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .side-dock-ribbon.is-collapsed { + opacity: 1; +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .mod-left.side-dock-ribbon { + width: 36px; + display: block; + position: absolute; + bottom: 0; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-4); + margin-left: var(--scale-2-6); + margin-bottom: var(--scale-2-6); + transition: var(--duration-fast-2) var(--motion-smooth); +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .mod-left.side-dock-ribbon:hover { + flex: 0 0 var(--scale-2-18); +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .mod-left.side-dock-ribbon .side-dock-ribbon-action { + padding-bottom: var(--scale-2-6); +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .mod-left.side-dock-ribbon .workspace-ribbon-collapse-btn { + justify-items: flex-end; + padding: var(--scale-2-4) var(--scale-2-4) var(--scale-2-2) var(--scale-2-4); + margin: 0; +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .mod-right.side-dock-ribbon { + transition: var(--duration-fast-2) var(--motion-smooth); + width: 36px; + display: block; + position: absolute; + right: 0; + bottom: 0; + border: 1px solid var(--background-modifier-border); + border-radius: var(--scale-2-4); + margin-right: var(--scale-2-6); + margin-bottom: var(--scale-8-4); +} +.hide__sidedockribbon-fullfloating:not(.is-mobile) .mod-right.side-dock-ribbon .workspace-ribbon-collapse-btn { + display: flex; + align-items: center; + justify-content: center; + margin: 0; +} +.hide__sidedockribbon-fullfloating:not(.is-mobile).hider-status .mod-right.side-dock-ribbon, .hide__sidedockribbon-fullfloating:not(.is-mobile).hide__status-bar .mod-right.side-dock-ribbon { + margin-bottom: var(--scale-2-6); +} + +/* hide status bar */ +.hide__status-bar .status-bar { + display: none; +} + +/* only show sync status bar */ +.sync-only-status-bar .status-bar .status-bar-item:not(.plugin-sync) { + display: none; +} + +/* tab header */ +/* Size */ +.tab-header__size-small .workspace-tab-header { + height: var(--scale-8-4); + padding: var(--scale-2-3) calc(1px + var(--scale-2-3)) var(--scale-2-3) calc(1px + var(--scale-2-3)); + margin: var(--scale-0-0) var(--scale-2-1) var(--scale-2-1) var(--scale-2-1); + border-radius: calc(1px + var(--scale-2-3)); +} +.tab-header__size-small .workspace-tab-header-container { + margin-top: var(--scale-2-4); +} +.tab-header__size-small .workspace-tab-header-inner-icon { + display: flex; + align-items: center; +} +.tab-header__size-small .workspace-tab-header-inner-icon svg { + width: 15px !important; + height: 15px !important; +} + +/* Style */ +.tab-header__style-minimal .workspace-tab-header { + height: calc(-1px + var(--scale-8-4)); + margin-top: var(--scale-2-1); + margin-bottom: var(--scale-2-1); +} +.tab-header__style-minimal .workspace-tab-header .workspace-tab-header-inner-icon svg { + vertical-align: top; +} +.tab-header__style-minimal .workspace-tab-header-container { + margin-top: var(--scale-0-0); + border-bottom: 1px solid var(--background-modifier-border); +} +.tab-header__style-minimal .workspace-tab-header.is-active.is-active:nth-child(3n+1), .tab-header__style-minimal .workspace-tab-header.is-active.is-active:nth-child(3n+2), .tab-header__style-minimal .workspace-tab-header.is-active.is-active:nth-child(3n+3) { + background: transparent; + border: 1px solid transparent !important; + box-shadow: none; +} +.tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+1), .tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+2), .tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+3) { + border: 1px solid transparent !important; +} +.tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+1):hover, .tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+1):active, .tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+2):hover, .tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+2):active, .tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+3):hover, .tab-header__style-minimal .workspace-tab-header:not(.is-active):nth-child(3n+3):active { + border: 1px solid transparent !important; + box-shadow: none; + translate: initial; +} + +/* Alignment */ +/** Left **/ +.tab-header__align-modleft-center .mod-left-split .workspace-tab-header-container { + justify-content: center; +} +.tab-header__align-modleft-center .mod-left-split .workspace-tab-header-container .workspace-tab-container-inner { + justify-content: center; +} +.tab-header__align-modleft-right .mod-left-split .workspace-tab-header-container { + justify-content: flex-end; +} +.tab-header__align-modleft-right .mod-left-split .workspace-tab-header-container .workspace-tab-container-inner { + justify-content: flex-end; +} + +/** Right **/ +.tab-header__align-modright-center .mod-right-split .workspace-tab-header-container { + justify-content: center; +} +.tab-header__align-modright-center .mod-right-split .workspace-tab-header-container .workspace-tab-container-inner { + justify-content: center; +} +.tab-header__align-modright-left .mod-right-split .workspace-tab-header-container { + justify-content: flex-start; +} +.tab-header__align-modright-left .mod-right-split .workspace-tab-header-container .workspace-tab-container-inner { + justify-content: flex-start; +} + +/* Color Alignment */ +/** Left Sidebar **/ +/*** Right to Left */ +body.tab-header__left-color-rtl.theme-light .mod-left-split .workspace-tab-header.is-active:nth-child(3n+1) { + color: var(--color-l-blue-500); + border: 1px solid var(--color-l-blue-500); +} +body.tab-header__left-color-rtl.theme-light .mod-left-split .workspace-tab-header.is-active:nth-child(3n+2) { + color: var(--color-l-red-500); + border: 1px solid var(--color-l-red-500); +} +body.tab-header__left-color-rtl.theme-light .mod-left-split .workspace-tab-header.is-active:nth-child(3n+3) { + color: var(--color-l-yellow-500); + border: 1px solid var(--color-l-yellow-500); +} +body.tab-header__left-color-rtl.theme-dark .mod-left-split .workspace-tab-header.is-active:nth-child(3n+1) { + color: var(--color-d-blue-700); + border: 1px solid var(--color-d-blue-700); +} +body.tab-header__left-color-rtl.theme-dark .mod-left-split .workspace-tab-header.is-active:nth-child(3n+2) { + color: var(--color-d-red-700); + border: 1px solid var(--color-d-red-700); +} +body.tab-header__left-color-rtl.theme-dark .mod-left-split .workspace-tab-header.is-active:nth-child(3n+3) { + color: var(--color-d-yellow-700); + border: 1px solid var(--color-d-yellow-700); +} + +/** Right Sidebar **/ +/*** Left to Right ***/ +body.tab-header__right-color-ltr.theme-light .mod-right-split .workspace-tab-header.is-active.is-active:nth-child(3n+1) { + color: var(--color-l-yellow-500); + border: 1px solid var(--color-l-yellow-500); +} +body.tab-header__right-color-ltr.theme-light .mod-right-split .workspace-tab-header.is-active.is-active:nth-child(3n+2) { + color: var(--color-l-red-500); + border: 1px solid var(--color-l-red-500); +} +body.tab-header__right-color-ltr.theme-light .mod-right-split .workspace-tab-header.is-active.is-active:nth-child(3n+3) { + color: var(--color-l-blue-500); + border: 1px solid var(--color-l-blue-500); +} +body.tab-header__right-color-ltr.theme-dark .mod-right-split .workspace-tab-header.is-active.is-active:nth-child(3n+1) { + color: var(--color-d-yellow-700); + border: 1px solid var(--color-d-yellow-700); +} +body.tab-header__right-color-ltr.theme-dark .mod-right-split .workspace-tab-header.is-active.is-active:nth-child(3n+2) { + color: var(--color-d-red-700); + border: 1px solid var(--color-d-red-700); +} +body.tab-header__right-color-ltr.theme-dark .mod-right-split .workspace-tab-header.is-active.is-active:nth-child(3n+3) { + color: var(--color-d-blue-700); + border: 1px solid var(--color-d-blue-700); +} + +/* Wrap */ +.tab-header__wrap .workspace-tab-header { + margin-left: var(--scale-2-1); + margin-right: var(--scale-2-1); +} +.tab-header__wrap .workspace-tab-container-inner { + margin-left: var(--scale-2-1); + margin-right: var(--scale-2-1); + flex-wrap: wrap; +} +.tab-header__wrap.tab-header__size-small .workspace-tab-container-inner { + margin-left: var(--scale-0-0); + margin-right: var(--scale-0-0); + flex-wrap: wrap; +} + +/* Animation */ +.tab-header__anim-none .workspace-tab-header.workspace-tab-header.workspace-tab-header:not(.is-active):hover, .tab-header__anim-none .workspace-tab-header.workspace-tab-header.workspace-tab-header:active { + box-shadow: none; + transform: none; + transition: none; +} + +/*────────── header-size__preset ──────────*/ +body.header-size__medium { /* 1.24 Scale Ratio */ + --h1: 1.907em; + --h2: 1.707em; + --h3: 1.538em; + --h4: 1.377em; + --h5: 1.24em; + --h6: 1.11em; +} +body.header-size__small { /* 1.12 Scale Ratio */ + --h1: 1.405em; + --h2: 1.33em; + --h3: 1.254em; + --h4: 1.187em; + --h5: 1.12em; + --h6: 1.06em; +} + +/*────────── header-color__preset ──────────*/ +.theme-light.header-color__yrb { /* YRB Light Mode Colors */ + --h1-text-color: var(--color-l-yellow-700); + --h2-text-color: var(--color-l-red-700); + --h3-text-color: var(--color-l-blue-700); + --h4-text-color: var(--color-l-yellow-700); + --h5-text-color: var(--color-l-red-700); + --h6-text-color: var(--color-l-blue-700); +} +.theme-light.header-color__ogv { /* OGV Light Mode Colors */ + --h1-text-color: var(--color-l-orange-700); + --h2-text-color: var(--color-l-green-700); + --h3-text-color: var(--color-l-violet-700); + --h4-text-color: var(--color-l-orange-700); + --h5-text-color: var(--color-l-green-700); + --h6-text-color: var(--color-l-violet-700); +} +.theme-light.header-color__rainbow { /* Rainbow Light Mode Colors */ + --h1-text-color: var(--color-l-red-700); + --h2-text-color: var(--color-l-orange-500); + --h3-text-color: var(--color-l-yellow-700); + --h4-text-color: var(--color-l-green-700); + --h5-text-color: var(--color-l-blue-700); + --h6-text-color: var(--color-l-violet-700); +} + +.theme-dark.header-color__yrb { /* YRB Dark Mode Colors */ + --h1-text-color: var(--color-d-yellow-300); + --h2-text-color: var(--color-d-red-300); + --h3-text-color: var(--color-d-blue-500); + --h4-text-color: var(--color-d-yellow-300); + --h5-text-color: var(--color-d-red-300); + --h6-text-color: var(--color-d-blue-500); +} +.theme-dark.header-color__ogv { /* OGV Dark Mode Colors */ + --h1-text-color: var(--color-d-orange-300); + --h2-text-color: var(--color-d-green-300); + --h3-text-color: var(--color-d-violet-500); + --h4-text-color: var(--color-d-orange-300); + --h5-text-color: var(--color-d-green-300); + --h6-text-color: var(--color-d-violet-500); +} +.theme-dark.header-color__rainbow { /* Rainbow Dark Mode Colors */ + --h1-text-color: var(--color-d-red-300); + --h2-text-color: var(--color-d-orange-300); + --h3-text-color: var(--color-d-yellow-300); + --h4-text-color: var(--color-d-green-500); + --h5-text-color: var(--color-d-blue-500); + --h6-text-color: var(--color-d-violet-300); +} + +/*────────── header features ──────────*/ +body { + --h1-bg-color: var(--color-highlight-red); + --h2-bg-color: var(--color-highlight-orange); + --h3-bg-color: var(--color-highlight-yellow); + --h4-bg-color: var(--color-highlight-green); + --h5-bg-color: var(--color-highlight-blue); + --h6-bg-color: var(--color-highlight-violet); + --h1-border-width: 1px; + --h2-border-width: 1px; + --h3-border-width: 1px; + --h4-border-width: 1px; + --h5-border-width: 1px; + --h6-border-width: 1px; + --h1-border-color: var(--background-modifier-border); + --h2-border-color: var(--background-modifier-border); + --h3-border-color: var(--background-modifier-border); + --h4-border-color: var(--background-modifier-border); + --h5-border-color: var(--background-modifier-border); + --h6-border-color: var(--background-modifier-border); + --h1-border-radius: 0px; + --h2-border-radius: 0px; + --h3-border-radius: 0px; + --h4-border-radius: 0px; + --h5-border-radius: 0px; + --h6-border-radius: 0px; + --h1-text-align: left; + --h2-text-align: left; + --h3-text-align: left; + --h4-text-align: left; + --h5-text-align: left; + --h6-text-align: left; +} + +.CodeMirror-line.HyperMD-header-1, +.cm-line.HyperMD-header-1 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h1-text-align); +} +.h1-background .CodeMirror-line.HyperMD-header-1, +.h1-background .cm-line.HyperMD-header-1 { + background: var(--h1-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h1-border-radius); +} +.h1-border .CodeMirror-line.HyperMD-header-1, +.h1-border .cm-line.HyperMD-header-1 { + padding-bottom: var(--scale-2-4); + border-bottom: var(--h1-border-width) solid var(--h1-border-color); + border-radius: var(--h1-border-radius); +} +.CodeMirror-line.HyperMD-header-2, +.cm-line.HyperMD-header-2 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h2-text-align); +} +.h2-background .CodeMirror-line.HyperMD-header-2, +.h2-background .cm-line.HyperMD-header-2 { + background: var(--h2-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h2-border-radius); +} +.h2-border .CodeMirror-line.HyperMD-header-2, +.h2-border .cm-line.HyperMD-header-2 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h2-border-color); + border-radius: var(--h2-border-radius); +} +.CodeMirror-line.HyperMD-header-3, +.cm-line.HyperMD-header-3 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h3-text-align); +} +.h3-background .CodeMirror-line.HyperMD-header-3, +.h3-background .cm-line.HyperMD-header-3 { + background: var(--h3-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h3-border-radius); +} +.h3-border .CodeMirror-line.HyperMD-header-3, +.h3-border .cm-line.HyperMD-header-3 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h3-border-color); + border-radius: var(--h3-border-radius); +} +.CodeMirror-line.HyperMD-header-4, +.cm-line.HyperMD-header-4 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h4-text-align); +} +.h4-background .CodeMirror-line.HyperMD-header-4, +.h4-background .cm-line.HyperMD-header-4 { + background: var(--h4-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h4-border-radius); +} +.h4-border .CodeMirror-line.HyperMD-header-4, +.h4-border .cm-line.HyperMD-header-4 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h4-border-color); + border-radius: var(--h4-border-radius); +} +.CodeMirror-line.HyperMD-header-5, +.cm-line.HyperMD-header-5 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h5-text-align); +} +.h5-background .CodeMirror-line.HyperMD-header-5, +.h5-background .cm-line.HyperMD-header-5 { + background: var(--h5-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h5-border-radius); +} +.h5-border .CodeMirror-line.HyperMD-header-5, +.h5-border .cm-line.HyperMD-header-5 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h5-border-color); + border-radius: var(--h5-border-radius); +} +.CodeMirror-line.HyperMD-header-6, +.cm-line.HyperMD-header-6 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h6-text-align); +} +.h6-background .CodeMirror-line.HyperMD-header-6, +.h6-background .cm-line.HyperMD-header-6 { + background: var(--h6-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h6-border-radius); +} +.h6-border .CodeMirror-line.HyperMD-header-6, +.h6-border .cm-line.HyperMD-header-6 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h6-border-color); + border-radius: var(--h6-border-radius); +} + +h1 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h1-text-align); +} +.h1-background h1 { + background: var(--h1-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h1-border-radius); +} +.h1-border h1 { + padding-bottom: var(--scale-2-4); + border-bottom: var(--h1-border-width) solid var(--h1-border-color); + border-radius: var(--h1-border-radius); +} + +h2 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h2-text-align); +} +.h2-background h2 { + background: var(--h2-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h2-border-radius); +} +.h2-border h2 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h2-border-color); + border-radius: var(--h2-border-radius); +} + +h3 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h3-text-align); +} +.h3-background h3 { + background: var(--h3-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h3-border-radius); +} +.h3-border h3 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h3-border-color); + border-radius: var(--h3-border-radius); +} + +h4 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h4-text-align); +} +.h4-background h4 { + background: var(--h4-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h4-border-radius); +} +.h4-border h4 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h4-border-color); + border-radius: var(--h4-border-radius); +} + +h5 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h5-text-align); +} +.h5-background h5 { + background: var(--h5-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h5-border-radius); +} +.h5-border h5 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h5-border-color); + border-radius: var(--h5-border-radius); +} + +h6 { + /* add background */ + /* add border at the bottom */ + /* text align */ + text-align: var(--h6-text-align); +} +.h6-background h6 { + background: var(--h6-bg-color); + padding: var(--scale-2-2) var(--scale-2-4); + border-radius: var(--h6-border-radius); +} +.h6-border h6 { + padding-bottom: var(--scale-2-4); + border-bottom: 1px solid var(--h6-border-color); + border-radius: var(--h6-border-radius); +} + +/*────────── note ──────────*/ +/* multicolor highlight */ +.no-multicolor-highlight { + --md-color-highlight-text: var(--text-normal); + --md-color-highlight-bg: var(--color-highlight-yellow); + --md-color-bold-highlight-text: var(--text-normal); + --md-color-bold-highlight-bg: var(--color-highlight-yellow); + --md-color-italic-highlight-text: var(--text-normal); + --md-color-italic-highlight-bg: var(--color-highlight-yellow); + --md-color-bi-highlight-text: var(--text-normal); + --md-color-bi-highlight-bg: var(--color-highlight-yellow); +} + +/* bullet color */ +.md-bullet-color-muted.theme-light span.cm-formatting.cm-formatting-list, .md-bullet-color-muted.theme-light span.list-bullet, .md-bullet-color-muted.theme-light li::marker, .md-bullet-color-muted.theme-dark span.cm-formatting.cm-formatting-list, .md-bullet-color-muted.theme-dark span.list-bullet, .md-bullet-color-muted.theme-dark li::marker { + color: var(--md-color-text-muted); +} + +.md-bullet-color-normal.theme-light span.cm-formatting.cm-formatting-list, .md-bullet-color-normal.theme-light span.list-bullet, .md-bullet-color-normal.theme-light li::marker, .md-bullet-color-normal.theme-dark span.cm-formatting.cm-formatting-list, .md-bullet-color-normal.theme-dark span.list-bullet, .md-bullet-color-normal.theme-dark li::marker { + color: var(--md-color-text); +} + +/* center embeds */ +body.center-embeds img { + display: block !important; + margin-left: auto !important; + margin-right: auto !important; +} +body.center-embeds .markdown-source-view.mod-cm6 .cm-content > * { + margin: auto auto !important; +} + +/* embed styling */ +.note-embeds__style-minimal .popover .markdown-embed, +.note-embeds__style-minimal .markdown-embed { + border: 0px solid transparent; +} +.note-embeds__style-minimal .popover .markdown-embed .markdown-preview-view, +.note-embeds__style-minimal .markdown-embed .markdown-preview-view { + padding: 0 var(--scale-8-3); +} +.note-embeds__style-minimal .popover .markdown-embed-title, +.note-embeds__style-minimal .markdown-embed-title { + display: none; +} + +.note-embeds__style-clean .popover .markdown-embed, +.note-embeds__style-clean .markdown-embed { + --md-embed-bg: transparent; + background: var(--md-embed-bg); + border: 0px solid transparent; + border-radius: 0; +} +.note-embeds__style-clean .popover .markdown-embed-content.markdown-embed-content.markdown-embed-content.markdown-embed-content.markdown-embed-content::-webkit-scrollbar-thumb, +.note-embeds__style-clean .markdown-embed-content.markdown-embed-content.markdown-embed-content.markdown-embed-content.markdown-embed-content::-webkit-scrollbar-thumb { + border-color: var(--md-embed-bg); +} +.note-embeds__style-clean .popover .markdown-embed-title, +.note-embeds__style-clean .markdown-embed-title { + display: none; +} +.note-embeds__style-clean .popover .markdown-embed .markdown-preview-view, +.note-embeds__style-clean .markdown-embed .markdown-preview-view { + padding: 0 var(--scale-2-4) 0 var(--scale-2-4); +} + +.full-height-embeds .markdown-embed-content { + max-height: unset; +} +.full-height-embeds .markdown-preview-sizer.markdown-preview-section { + padding-bottom: 0 !important; +} + +/* hide metadata box in preview */ +.hide__metadata-box .frontmatter-container { + display: none; +} + +/* checkbox border radius style */ +.squircle__checkbox { + --ch-radius: var(--scale-2-3); + --ach-radius-noborder: var(--scale-0-0); + --ach-radius-curved: var(--scale-2-3); + --ach-radius-squircle: var(--scale-2-3); + --ach-radius-round: var(--scale-2-3); +} + +.circle__checkbox { + --ch-radius: var(--scale-8-2); + --ach-radius-noborder: var(--scale-0-0); + --ach-radius-curved: var(--scale-2-2); + --ach-radius-squircle: var(--scale-8-2); + --ach-radius-round: var(--scale-8-2); +} + +.square__checkbox { + --ch-radius: var(--scale-0-0); + --ach-radius-noborder: var(--scale-0-0); + --ach-radius-curved: var(--scale-0-0); + --ach-radius-squircle: var(--scale-0-0); + --ach-radius-round: var(--scale-0-0); +} + +/* @settings + +name: Primary Theme Settings +id: primary-ceciliamay +settings: + - + id: preset-fonts + title: 🔤 Fonts & Typography + description: Adjust global font settings. Includes settings for Header fonts, Body fonts, Line Height, and other features. + type: heading + level: 1 + collapsed: true + - + id: font-preview-header + title: Preset Preview Header Font + type: variable-select + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + options: + - + label: Karla + value: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Lora + value: '"Lora", Georgia, Times New Roman, serif' + - + label: Inter + value: '"Inter", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Quicksand + value: '"Quicksand", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Roboto Slab + value: '"Roboto Slab", Georgia, Times New Roman, serif' + - + id: font-preview + title: Preset Preview Body Font + type: variable-select + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + options: + - + label: Karla + value: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Lora + value: '"Lora", Georgia, Times New Roman, serif' + - + label: Inter + value: '"Inter", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Quicksand + value: '"Quicksand", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Roboto Slab + value: '"Roboto Slab", Georgia, Times New Roman, serif' + - + id: font-editor-header + title: Preset Editor Header Font + type: variable-select + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + options: + - + label: Karla + value: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Lora + value: '"Lora", Georgia, Times New Roman, serif' + - + label: Inter + value: '"Inter", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Quicksand + value: '"Quicksand", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Roboto Slab + value: '"Roboto Slab", Georgia, Times New Roman, serif' + - + id: font-editor + title: Preset Editor Body Font + type: variable-select + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + options: + - + label: Karla + value: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Lora + value: '"Lora", Georgia, Times New Roman, serif' + - + label: Inter + value: '"Inter", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Quicksand + value: '"Quicksand", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Roboto Slab + value: '"Roboto Slab", Georgia, Times New Roman, serif' + - + id: font-interface-theme + title: Preset Interface Font + type: variable-select + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + options: + - + label: Karla + value: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Lora + value: '"Lora", Georgia, Times New Roman, serif' + - + label: Inter + value: '"Inter", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Quicksand + value: '"Quicksand", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + label: Roboto Slab + value: '"Roboto Slab", Georgia, Times New Roman, serif' + - + id: inter-alt + title: Enable Inter's Alternative Font Settings + description: Recommended if you're using Inter. This will enable you to use alternative font settings from Inter that better fit with Primary. + type: class-toggle + - + id: tabular-nums + title: Use Tabular Numbers + description: Evenly spaces out numbers. + type: class-toggle + - + id: scroll__scalable-fonts + title: Scale UI Font Size on Scroll + description: Obsidian allows you to change a note's font sizes on scroll. Toggling this on will allow you to change all of Obsidian's font sizes on scroll. + type: class-toggle + - + id: global-fonts__custom + title: Custom Fonts + type: heading + level: 2 + collapsed: true + - + id: font-preview-header + title: Custom Preview Header Font + description: + type: variable-text + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + id: font-preview + title: Custom Preview Body Font + description: + type: variable-text + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + id: font-editor-header + title: Custom Edit Header Font + description: + type: variable-text + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + id: font-editor + title: Custom Edit Body Font + description: + type: variable-text + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + id: font-monospace-theme + title: Code Font + description: + type: variable-text + default: '"Cascadia Code", Inconsolata, Courier, monospace' + - + id: font-interface-theme + title: Interface Font + description: + type: variable-text + default: '"Karla", -apple-system, + BlinkMacSystemFont, Helvetica, Arial, sans-serif' + - + id: line-height-1 + title: Line Height + type: variable-text + default: '1.53em' + - + id: workspace-components + title: ⬛ Workspace Components + description: Adjust parts of Obsidian such as the sidebars, tabs, titlebars, and more. + type: heading + level: 1 + collapsed: true + - + id: vault-title__titlebar + title: Hide Vault Title on Titlebar + type: class-toggle + - + id: vault-title__file-explorer + title: Hide Vault Title on File Explorer + type: class-toggle + - + id: linewrap-file__file-explorer + title: Unwrap File Titles in the File Explorer + description: Toggling this on will unwrap file titles in the File Explorer, meaning long titles will not go to the next line. + type: class-toggle + - + id: linewrap-folder__file-explorer + title: Unwrap Folder Titles in the File Explorer + description: Toggling this on will unwrap folder titles in the File Explorer, meaning long titles will not go to the next line. + type: class-toggle + - + id: hide__note-header + title: Hide Note Header Bar, Show on Hover (Desktop Only) + description: Note Header Bars are the bars at the top of a note where the note title, and menu options are located. Toggle on to hide note header bar on default. When hovered, note header bar will show. + type: class-toggle + - + id: hide__metadata-box + title: Hide Metadata Box + description: Different from the "Show Frontmatter" option in Obsidian. This setting removes the metadata box (one with aliases and tags only, not YAML). + type: class-toggle + - + id: hide__sidedockribbon + title: Side Dock Ribbon Style (Desktop Only) + description: Side Dock Ribbons are the narrow columns at the utmost left and right of Obsidian. Choose your preferred style. + type: class-select + allowEmpty: false + default: show__sidedockribbon + options: + - + label: Show Side Dock Ribbon + value: show__sidedockribbon + - + label: Mini Floating Side Dock Ribbon + value: hide__sidedockribbon-minifloating + - + label: Full Floating Side Dock Ribbon + value: hide__sidedockribbon-fullfloating + - + label: Show on Hover Side Dock Ribbon + value: hide__sidedockribbon-hover + - + label: Hide Side Dock Ribbon + value: hide__sidedockribbon-full + - + id: statusbar + title: Status Bar Style + type: class-select + allowEmpty: false + default: show__status-bar + options: + - + label: Show Full Status Bar + value: show__status-bar + - + label: Only Obsidian Sync Icon + value: sync-only-status-bar + - + label: Hide Status Bar + value: hide__status-bar + - + id: tab-header + title: ⏹️ Tab Headers + type: heading + level: 2 + collapsed: true + - + id: tab-header-size + title: Tab Header Size + description: Select your preferred tab header size. + type: class-select + allowEmpty: false + default: tab-header__size-regular + options: + - + label: Regular Size + value: tab-header__size-regular + - + label: Small Size + value: tab-header__size-small + - + id: tab-header-style + title: Tab Header Style + description: Select your preferred tab header style. + type: class-select + allowEmpty: false + default: tab-header__style-original + options: + - + label: Original + value: tab-header__style-original + - + label: Minimal + value: tab-header__style-minimal + - + id: tab-header-align-modleft + title: Tab Header Alignment for Left Sidebar + description: Select your preferred tab header alignment for the left sidebar. + type: class-select + allowEmpty: false + default: tab-header__align-modleft-left + options: + - + label: Left + value: tab-header__align-modleft-left + - + label: Center + value: tab-header__align-modleft-center + - + label: Right + value: tab-header__align-modleft-right + - + id: tab-header-align-modright + title: Tab Header Alignment for Right Sidebar + description: Select your preferred tab header alignment for the right sidebar. + type: class-select + allowEmpty: false + default: tab-header__align-modright-right + options: + - + label: Left + value: tab-header__align-modright-left + - + label: Center + value: tab-header__align-modright-center + - + label: Right + value: tab-header__align-modright-right + - + id: tab-header-color-modleft + title: Tab Header Color Movement for Left Sidebar + description: Select your preferred tab header color arrangement for the right sidebar. + type: class-select + allowEmpty: false + default: tab-header__left-color-ltr + options: + - + label: Left to Right + value: tab-header__left-color-ltr + - + label: Right to Left + value: tab-header__left-color-rtl + - + id: tab-header-color-modright + title: Tab Header Color Movement for Right Sidebar + description: Select your preferred tab header color arrangement for the right sidebar. + type: class-select + allowEmpty: false + default: tab-header__right-color-rtl + options: + - + label: Left to Right + value: tab-header__right-color-ltr + - + label: Right to Left + value: tab-header__right-color-rtl + - + id: tab-header__wrap + title: Allow Multiple Tab Header Rows + description: Toggle on to wrap tab headers and allow multiple rows. This a good option for those whose tabs get cut off due to overflow. It also reduces horizontal margins for the tab headers. + type: class-toggle + - + id: tab-header__anim-none + title: Turn Off Tab Header Animation + description: Toggle on to turn off the fun jumpy tab header animation. + type: class-toggle + - + id: header + title: 🅰️ Header Styling + description: Adjust how your header looks. Includes settings for font weight, style, size, line height, color, background color, and borders. + type: heading + level: 1 + collapsed: true + - + id: header-size__preset + title: Preset Header Sizes + type: class-select + allowEmpty: false + default: header-size__original + options: + - + label: Original Size + value: header-size__original + - + label: Medium Size + value: header-size__medium + - + label: Small Size + value: header-size__small + - + id: header-color__preset + title: Preset Header Colors + description: + type: class-select + allowEmpty: false + default: header-color__normal + options: + - + label: Text Colors Header + value: header-color__normal + - + label: Primary Colors Header + value: header-color__yrb + - + label: Secondary Colors Header + value: header-color__ogv + - + label: Rainbow Colors Header + value: header-color__rainbow + - + id: header__custom + title: Custom Headers + description: Includes settings for Header text alignment, borders, background, and more. + type: heading + level: 2 + collapsed: true + - + id: header-1 + title: Heading 1 + type: heading + level: 3 + collapsed: true + - + id: h1 + title: Header 1 Size + type: variable-text + default: '2.678em' + - + id: h1-weight + title: Header 1 Font Weight + description: You can put a number from 100 to 900. Or in lowercase letters, you can put normal, bold, lighter, or bolder. + type: variable-text + default: 'bold' + - + id: h1-style + title: Header 1 Font Style + description: In lowercase letters, choose between normal, italic, or oblique. + type: variable-text + default: 'normal' + - + id: h1-text-align + title: Header 1 Text Alignment + type: variable-select + default: 'left' + options: + - + label: Left + value: left + - + label: Center + value: center + - + label: Right + value: right + - + id: h1-text-color + title: Header 1 Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: h1-background + title: Enable Header 1 Background Color + type: class-toggle + default: false + - + id: h1-bg-color + title: Header 1 Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'rgba(240, 79, 106, 0.2)' + default-dark: 'rgba(240, 79, 106, 0.2)' + - + id: h1-border + title: Enable Header 1 Border + type: class-toggle + default: false + - + id: h1-border-width + title: Header 1 Border Width (in pixels) + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 16 + step: 1 + - + id: h1-border-color + title: Header 1 Border Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: h1-border-radius + title: Header 1 Border Radius (in pixels) + description: Recommended values are multiples of 2 + type: variable-number-slider + format: px + default: 0 + min: 0 + max: 32 + step: 1 + - + id: header-2 + title: Heading 2 + type: heading + level: 3 + collapsed: true + - + id: h2 + title: Header 2 Size + type: variable-text + default: '2.288em' + - + id: h2-weight + title: Header 2 Font Weight + description: You can put a number from 100 to 900. Or in lowercase letters, you can put normal, bold, lighter, or bolder. + type: variable-text + default: 'bold' + - + id: h2-style + title: Header 2 Font Style + description: In lowercase letters, choose between normal, italic, or oblique. + type: variable-text + default: 'normal' + - + id: h2-text-align + title: Header 2 Text Alignment + type: variable-select + default: 'left' + options: + - + label: Left + value: left + - + label: Center + value: center + - + label: Right + value: right + - + id: h2-text-color + title: Header 2 Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: h2-background + title: Enable Header 2 Background Color + type: class-toggle + default: false + - + id: h2-bg-color + title: Header 2 Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'rgba(255, 115, 0, 0.2)' + default-dark: 'rgba(255, 115, 0, 0.2)' + - + id: h2-border + title: Enable Header 2 Border + type: class-toggle + default: false + - + id: h2-border-width + title: Header 2 Border Width (in pixels) + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 16 + step: 1 + - + id: h2-border-color + title: Header 2 Border Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: h2-border-radius + title: Header 2 Border Radius (in pixels) + description: Recommended values are multiples of 2 + type: variable-number-slider + format: px + default: 0 + min: 0 + max: 32 + step: 1 + - + id: header-3 + title: Heading 3 + type: heading + level: 3 + collapsed: true + - + id: h3 + title: Header 3 Size + type: variable-text + default: '1.927em' + - + id: h3-weight + title: Header 3 Font Weight + description: You can put a number from 100 to 900. Or in lowercase letters, you can put normal, bold, lighter, or bolder. + type: variable-text + default: 'bold' + - + id: h3-style + title: Header 3 Font Style + description: In lowercase letters, choose between normal, italic, or oblique. + type: variable-text + default: 'normal' + - + id: h3-text-align + title: Header 3 Text Alignment + type: variable-select + default: 'left' + options: + - + label: Left + value: left + - + label: Center + value: center + - + label: Right + value: right + - + id: h3-text-color + title: Header 3 Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: h3-background + title: Enable Header 3 Background Color + type: class-toggle + default: false + - + id: h3-bg-color + title: Header 3 Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'rgba(255, 187, 0, 0.2)' + default-dark: 'rgba(255, 187, 0, 0.2)' + - + id: h3-border + title: Enable Header 3 Border + type: class-toggle + default: false + - + id: h3-border-width + title: Header 3 Border Width (in pixels) + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 16 + step: 1 + - + id: h3-border-color + title: Header 3 Border Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: h3-border-radius + title: Header 3 Border Radius (in pixels) + description: Recommended values are multiples of 2 + type: variable-number-slider + format: px + default: 0 + min: 0 + max: 32 + step: 1 + - + id: header-4 + title: Heading 4 + type: heading + level: 3 + collapsed: true + - + id: h4 + title: Header 4 Size + type: variable-text + default: '1.648em' + - + id: h4-weight + title: Header 4 Font Weight + description: You can put a number from 100 to 900. Or in lowercase letters, you can put normal, bold, lighter, or bolder. + type: variable-text + default: 'bold' + - + id: h4-style + title: Header 4 Font Style + description: In lowercase letters, choose between normal, italic, or oblique. + type: variable-text + default: 'normal' + - + id: h4-text-align + title: Header 4 Text Alignment + type: variable-select + default: 'left' + options: + - + label: Left + value: left + - + label: Center + value: center + - + label: Right + value: right + - + id: h4-text-color + title: Header 4 Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: h4-background + title: Enable Header 4 Background Color + type: class-toggle + default: false + - + id: h4-bg-color + title: Header 4 Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'rgba(153, 189, 36, 0.2)' + default-dark: 'rgba(153, 189, 36, 0.2)' + - + id: h4-border + title: Enable Header 4 Border + type: class-toggle + default: false + - + id: h4-border-width + title: Header 4 Border Width (in pixels) + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 16 + step: 1 + - + id: h4-border-color + title: Header 4 Border Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: h4-border-radius + title: Header 4 Border Radius (in pixels) + description: Recommended values are multiples of 2 + type: variable-number-slider + format: px + default: 0 + min: 0 + max: 32 + step: 1 + - + id: header-5 + title: Heading 5 + type: heading + level: 3 + collapsed: true + - + id: h5 + title: Header 5 Size + type: variable-text + default: '1.388em' + - + id: h5-weight + title: Header 5 Font Weight + description: You can put a number from 100 to 900. Or in lowercase letters, you can put normal, bold, lighter, or bolder. + type: variable-text + default: 'bold' + - + id: h5-style + title: Header 5 Font Style + description: In lowercase letters, choose between normal, italic, or oblique. + type: variable-text + default: 'normal' + - + id: h5-text-align + title: Header 5 Text Alignment + type: variable-select + default: 'left' + options: + - + label: Left + value: left + - + label: Center + value: center + - + label: Right + value: right + - + id: h5-text-color + title: Header 5 Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: h5-background + title: Enable Header 5 Background Color + type: class-toggle + default: false + - + id: h5-bg-color + title: Header 5 Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'rgba(40, 178, 194, 0.2)' + default-dark: 'rgba(40, 178, 194, 0.2)' + - + id: h5-border + title: Enable Header 5 Border Color + type: class-toggle + default: false + - + id: h5-border-width + title: Header 5 Border Width (in pixels) + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 16 + step: 1 + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: h5-border-color + title: Header 5 Border Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: h5-border-radius + title: Header 5 Border Radius (in pixels) + description: Recommended values are multiples of 2 + type: variable-number-slider + format: px + default: 0 + min: 0 + max: 32 + step: 1 + - + id: header-6 + title: Heading 6 + type: heading + level: 3 + collapsed: true + - + id: h6 + title: Header 6 Size + type: variable-text + default: '1.188em' + - + id: h6-weight + title: Header 6 Font Weight + description: You can put a number from 100 to 900. Or in lowercase letters, you can put normal, bold, lighter, or bolder. + type: variable-text + default: 'bold' + - + id: h6-style + title: Header 6 Font Style + description: In lowercase letters, choose between normal, italic, or oblique. + type: variable-text + default: 'normal' + - + id: h6-text-align + title: Header 6 Text Alignment + type: variable-select + default: 'left' + options: + - + label: Left + value: left + - + label: Center + value: center + - + label: Right + value: right + - + id: h6-text-color + title: Header 6 Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(34, 28%, 60%)' + default-dark: 'hsl(35, 27%, 55%)' + - + id: h6-background + title: Enable Header 6 Background Color + type: class-toggle + default: false + - + id: h6-bg-color + title: Header 6 Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'rgba(113, 122, 255, 0.2' + default-dark: 'rgba(113, 122, 255, 0.2' + - + id: h6-border + title: Enable Header 6 Border + type: class-toggle + default: false + - + id: h6-border-width + title: Header 6 Border Width (in pixels) + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 16 + step: 1 + - + id: h6-border-color + title: Header 6 Border Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: h6-border-radius + title: Header 6 Border Radius (in pixels) + description: Recommended values are multiples of 2 + type: variable-number-slider + format: px + default: 0 + min: 0 + max: 32 + step: 1 + - + id: header-line-height + title: Headers Line Height + type: variable-text + default: '1.18' + - + id: note + title: ✏️ Note + description: Adjust colors and features in notes. Includes settings for blockquotes, links, highlights, embeds, popovers and more. + type: heading + level: 1 + collapsed: true + - + id: no-md-activeline + title: Disable Activeline Highlighting + description: Toggle on to remove activeline highlighting. Keep it off to show it. + type: class-toggle + - + id: gray-md-formatting + title: Gray Out Markdown Formatting + description: Makes markdown formatting less noticeable in Editor View. + type: class-toggle + - + id: emphasis + title: 🖍️ Emphasis + type: heading + level: 2 + collapsed: true + - + id: md-color-bold + title: Bold Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(4, 72%, 55%)' + default-dark: 'hsl(4, 90%, 61%)' + - + id: md-color-italic + title: Italic Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(205, 66%, 46%)' + default-dark: 'hsl(198, 57%, 55%)' + - + id: md-color-bolditalic + title: Bold and Italic Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(32, 55%, 12%)' + default-dark: 'hsl(33, 66%, 90%)' + - + id: md-color-strikethrough + title: Strikethrough Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(34, 37%, 70%)' + default-dark: 'hsl(34, 24%, 30%)' + - + id: md-color-comment + title: Hidden Comments Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(34, 28%, 60%)' + default-dark: 'hsl(35, 27%, 55%)' + - + id: md-color-comment + title: Footnote (at the end of the note, not the links) Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: Links + title: 🔗 Links + type: heading + level: 2 + collapsed: true + - + id: no-link-underline + title: Remove Link Underline + description: When toggled on, underlines on internal and external links will be removed. + type: class-toggle + - + id: Links + title: ❗ Resolved Links + type: heading + level: 3 + collapsed: true + - + id: md-color-reslink + title: Resolved Links + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 100%, 42%)' + default-dark: 'hsl(50, 100%, 46%)' + - + id: md-color-reslink-hover + title: Resolved Links on Hover + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 78%, 52%)' + default-dark: 'hsl(46, 91%, 69%)' + - + id: md-color-reslink-active + title: Resolved Links on Click + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 89%, 38%)' + default-dark: 'hsl(43, 100%, 42%)' + - + id: Links + title: ❔ Unresolved Links + type: heading + level: 3 + collapsed: true + - + id: md-color-unreslink + title: Unresolved Links + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(34, 28%, 60%)' + default-dark: 'hsl(35, 27%, 55%)' + - + id: md-color-unreslink-hover + title: Unresolved Links on Hover + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 100%, 42%)' + default-dark: 'hsl(50, 100%, 46%)' + - + id: md-color-unreslink-active + title: Unresolved Links on Click + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 89%, 38%)' + default-dark: 'hsl(43, 100%, 42%)' + - + id: Links + title: 🌐 External Links + type: heading + level: 3 + collapsed: true + - + id: md-color-extlink + title: External Links + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 100%, 42%)' + default-dark: 'hsl(50, 100%, 46%)' + - + id: md-color-extlink-hover + title: External Links on Hover + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 78%, 52%)' + default-dark: 'hsl(46, 91%, 69%)' + - + id: md-color-extlink-active + title: External Links on Click + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(43, 89%, 38%)' + default-dark: 'hsl(43, 100%, 42%)' + - + id: blockquotes + title: 👉 Blockquotes + type: heading + level: 2 + collapsed: true + - + id: md-color-blockquotes + title: Blockquotes Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: md-color-blockquotes-formatting + title: Blockquotes Syntax Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(34, 37%, 70%)' + default-dark: 'hsl(34, 24%, 30%)' + - + id: md-color-blockquotes-border + title: Blockquotes Border Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 83%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: md-color-blockquotes-bg + title: Blockquotes Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 36%, 96.9%)' + default-dark: 'hsl(26, 16%, 9%)' + - + id: highlight + title: ⚡ Highlight + type: heading + level: 2 + collapsed: true + - + id: no-multicolor-highlight + title: Disable Multicolor Highlight + description: Turn off to disable multicolored highlighting. + type: class-toggle + - + id: custom-highlight + title: Custom Highlight + type: heading + level: 3 + collapsed: true + - + id: md-color-highlight-text + title: Highlight-only Text Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: md-color-highlight-bg + title: Highlight-only Background Color + type: variable-themed-color + format: rgb + opacity: true + default-light: 'rgba(255, 187, 0, 0.2)' + default-dark: 'rgba(255, 187, 0, 0.2)' + - + id: md-color-bold-highlight-text + title: Bold and Highlight Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: md-color-bold-highlight-bg + title: Bold and Highlight Background Color + type: variable-themed-color + format: rgb + opacity: true + default-light: 'rgba(240, 79, 106, 0.2)' + default-dark: 'rgba(240, 79, 106, 0.2)' + - + id: md-color-italic-highlight-text + title: Italic and Highlight Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: md-color-italic-highlight-bg + title: Italic and Highlight Background Color + type: variable-themed-color + format: rgb + opacity: true + default-light: 'rgba(40, 178, 194, 0.2)' + default-dark: 'rgba(40, 178, 194, 0.2)' + - + id: md-color-bi-highlight-text + title: Bold, Italic, and Highlight Text Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: md-color-bi-highlight-bg + title: Bold, Italic, and Highlight Background Color + type: variable-themed-color + format: rgb + opacity: true + default-light: 'rgba(153, 189, 36, 0.2)' + default-dark: 'rgba(153, 189, 36, 0.2)' + - + id: lists + title: 📃 Lists + type: heading + level: 2 + collapsed: true + - + id: md-bullet-color + title: Preset Bullet Color + description: Select your preferred bullet color (applied to all bullets, ordered and unordered) + type: class-select + allowEmpty: false + default: md-bullet-color-faint + options: + - + label: Like Body Text + value: md-bullet-color-normal + - + label: Muted + value: md-bullet-color-muted + - + label: Faint + value: md-bullet-color-faint + - + id: checkboxes + title: ✅ Checkboxes + type: heading + level: 2 + collapsed: true + - + id: checkbox-style + title: Checkbox Style + description: Note for Circle Checkboxes - Most of the checkboxes are circular, but some alternative checkboxes are kept square-ish because of the size of the inner icons. + type: class-select + allowEmpty: false + default: original__checkbox + options: + - + label: Original Checkboxes + value: original__checkbox + - + label: Squircle Checkboxes + value: squircle__checkbox + - + label: Circle Checkboxes + value: circle__checkbox + - + label: Square Checkboxes + value: square__checkbox + - + id: md-checked-bg-color + title: Checked Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(154, 47%, 49%)' + default-dark: 'hsl(155, 81%, 24%)' + - + id: note-embeds + title: 📍 Embeds + type: heading + level: 2 + collapsed: true + - + id: center-embeds + title: Center Embeds + description: When toggled on, all embeds (including images and other attachments) will be centered. + type: class-toggle + - + id: full-height-embeds + title: Full Height Markdown Embeds + description: Toggle on to remove scrolling and embed the whole note. + type: class-toggle + - + id: note-embeds__style + title: Markdown Embeds Style + description: Choose your preferred embedded note style. + type: class-select + allowEmpty: false + default: note-embeds__style-original + options: + - + label: Original + value: note-embeds__style-original + - + label: Minimal + value: note-embeds__style-minimal + - + label: Clean + value: note-embeds__style-clean + - + id: md-embed-bg + title: Markdown Embed Background Color + type: variable-themed-color + format: hsl + opacity: true + default-light: 'hsl(36, 37%, 92%)' + default-dark: 'hsl(30, 15%, 13%)' + - + id: md-popover + title: 📤 Popovers + type: heading + level: 2 + collapsed: true + - + id: popover-default + title: Usual Popover Size (in view widths) + description: This variable is in view widths (percentage of the width of Obsidian's window). Being default at 40vw means that it has a width of 40% of the window's current width size. This allows the popover to dynamically resize depending on the window size. Changing the values of this variable will show you instant changes. + type: variable-number-slider + format: vw + default: 40 + min: 10 + max: 90 + step: 1 + - + id: popover-min + title: Minimum Popover Size (in pixels) + description: This variable is in pixels. Being the minimum width at 150px means that the dynamic resizing of the popover in relation to the window's width will not be smaller than this "Maximum Popover Size" value. + type: variable-number-slider + format: px + default: 150 + min: 100 + max: 1000 + step: 1 + - + id: popover-max + title: Maximum Popover Size (in pixels) + description: This variable is in pixels. Being the maximum width at 600px means that the dynamic resizing of the popover in relation to the window's width will not be bigger than this "Maximum Popover Size" value. + type: variable-number-slider + format: px + default: 600 + min: 100 + max: 1000 + step: 1 + - + id: graph-view + title: 🌐 Graph View + description: Adjust colors of your graph view. + type: heading + level: 1 + collapsed: true + - + id: graph-color-node-resolved + title: Resolved Note Node Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(205, 66%, 46%)' + default-dark: 'hsl(198, 75%, 35%)' + - + id: graph-color-node-unresolved + title: Unresolved Note Node Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(43, 78%, 52%)' + default-dark: 'hsl(43, 100%, 42%)' + - + id: graph-color-node-unresolved-opacity + title: Unresolved Note Node Opacity + type: variable-text + default: '1' + - + id: graph-color-node-tag + title: Tag Node Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(4, 74%, 53%)' + default-dark: 'hsl(4, 65%, 60%)' + - + id: graph-color-node-attachment + title: Attachment Node Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(154, 50%, 58%)' + default-dark: 'hsl(154, 52%, 46%)' + - + id: graph-color-node-focused + title: Focused Node (Opened Note) Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(34, 27%, 40%)' + default-dark: 'hsl(34, 50%, 80%)' + - + id: graph-color-node-border-hover + title: Node (on hover) Border Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(34, 37%, 70%)' + default-dark: 'hsl(34, 18%, 62%)' + - + id: graph-color-node-arrow + title: Graph View Arrow Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(34, 28%, 60%)' + default-dark: 'hsl(33, 20%, 30%)' + - + id: graph-color-node-line + title: Graph View Line Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(36, 34%, 85%)' + default-dark: 'hsl(33, 20%, 20%)' + - + id: graph-color-node-line-hover + title: Graph View Line (on hover) Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(34, 37%, 70%)' + default-dark: 'hsl(33, 20%, 30%)' + - + id: graph-color-node-text + title: Graph View Text Color + type: variable-themed-color + format: hsl + opacity: false + default-light: 'hsl(31, 45%, 20%)' + default-dark: 'hsl(34, 18%, 62%)' + - + id: interface-components + title: 🖱️ Interface Components + description: Adjust non-Obsidian native UI components (i.e. scrollbars). + type: heading + level: 1 + collapsed: true + - + id: scrollbar-style + title: Scrollbar Style + description: + type: class-select + allowEmpty: false + default: scrollbar__thin + options: + - + label: Thin + value: scrollbar__thin + - + label: Mac (Grabbable) + value: scrollbar__mac + - + label: Hidden + value: scrollbar__hidden + - + id: primary-wiki + title: 💛 Support Primary's Development + description: Consider supporting Primary's Development by donating coffees at ko-fi.com/ceciliamay + type: heading + level: 1 + collapsed: false + - + id: primary-wiki + title: 🎯 Follow Primary's Roadmap + description: Look into Primary's grand development through its roadmap at tinyurl.com/primary-board + type: heading + level: 1 + collapsed: false +*/ + +/*# sourceMappingURL=obsidian.css.map */ diff --git a/.obsidian/themes/Things/manifest.json b/.obsidian/themes/Things/manifest.json index e57aa4d4..b2bf51d3 100644 --- a/.obsidian/themes/Things/manifest.json +++ b/.obsidian/themes/Things/manifest.json @@ -1,6 +1,6 @@ { "name": "Things", - "version": "2.0.0", + "version": "2.0.1", "minAppVersion": "0.16.0", "author": "@colineckert", "authorUrl": "https://twitter.com/colineckert" diff --git a/.obsidian/themes/Things/theme.css b/.obsidian/themes/Things/theme.css index 1d8d35e0..7141a868 100644 --- a/.obsidian/themes/Things/theme.css +++ b/.obsidian/themes/Things/theme.css @@ -1,6 +1,6 @@ /*─────────────────────────────────────────────────────── THINGS -Version 2.0.0 +Version 2.0.1 Created by @colineckert Readme: @@ -241,6 +241,14 @@ body { --atom-blue: #61afef; --atom-yellow: #e5c07b; } +/* Make exported PDFs render correctly */ +@media print { + .theme-dark { + --highlight-mix-blend-mode: darken; + --color-base-30: #ebedf0; + --h1-color: var(--color-base-00); + } +} /* H2 styling */ h2, @@ -640,7 +648,7 @@ settings: format: hex default: '#3EB4BF' - - id: code-color-l + id: code-normal title: Inline code blocks font color (Light mode) type: variable-color format: hex diff --git a/.obsidian/workspace-mobile.json b/.obsidian/workspace-mobile.json index 27421782..6157fe5b 100644 --- a/.obsidian/workspace-mobile.json +++ b/.obsidian/workspace-mobile.json @@ -28,7 +28,7 @@ } }, { - "id": "da877def56210a62", + "id": "f7fdc0a8802fe560", "type": "leaf", "state": { "type": "markdown", @@ -40,12 +40,12 @@ } }, { - "id": "f7fdc0a8802fe560", + "id": "f03bab0670c8329a", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "03.04 Cinematheque/@Cinematheque.md", + "file": "01.02 Home/@Main Dashboard.md", "mode": "preview", "source": false } @@ -166,7 +166,7 @@ } }, { - "id": "654459b462fd367e", + "id": "806df709746c7fa3", "type": "leaf", "state": { "type": "DICE_ROLLER_VIEW", @@ -178,15 +178,15 @@ }, "active": "39b552e8799bcf68", "lastOpenFiles": [ - "03.04 Cinematheque/TRON - Legacy (2010).md", - "03.04 Cinematheque/There Will Be Blood (2007).md", - "03.04 Cinematheque/Thunderball (1965).md", "01.02 Home/@Main Dashboard.md", - "00.01 Admin/Calendars/2022-10-26.md", - "01.02 Home/@Shopping list.md", - "00.01 Admin/Calendars/2022-10-25.md", - "00.03 News/What Happened to Maya.md", - "00.01 Admin/Templates/Template Place.md", - "00.01 Admin/Calendars/2022-10-24.md" + "03.04 Cinematheque/@Cinematheque.md", + "00.01 Admin/Calendars/2022-10-30.md", + "00.03 News/The Night Warren Zevon Left the ‘Late Show’ Building.md", + "00.03 News/Mississippi's Welfare Mess—And America's.md", + "00.03 News/What ‘The Trump Tapes’ reveal about Bob Woodward.md", + "00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md", + "00.03 News/The Story Matthew Perry Can’t Believe He Lived to Tell.md", + "00.03 News/Liz Truss’ empty ambition put her in power — and shattered her.md", + "00.01 Admin/Calendars/2022-10-29.md" ] } \ No newline at end of file diff --git a/00.01 Admin/Calendars/2022-10-18.md b/00.01 Admin/Calendars/2022-10-18.md index 34ac4aa1..12443a0e 100644 --- a/00.01 Admin/Calendars/2022-10-18.md +++ b/00.01 Admin/Calendars/2022-10-18.md @@ -81,7 +81,7 @@ style: number This section does serve for quick memos.   -- [ ] 17:35 :shoe: [[@life admin]]: pick up shoes @Nick Schumacher   PAID   📅 2022-10-28 +- [ ] 17:35 :shoe: [[@life admin]]: pick up shoes @Nick Schumacher   PAID   📅 2022-10-31 %% --- %% diff --git a/00.01 Admin/Calendars/2022-10-26.md b/00.01 Admin/Calendars/2022-10-26.md index f5e9af8a..f5c8d879 100644 --- a/00.01 Admin/Calendars/2022-10-26.md +++ b/00.01 Admin/Calendars/2022-10-26.md @@ -18,7 +18,7 @@ EarHeadBar: 30 BackHeadBar: 20 Water: 4.15 Coffee: 5 -Steps: +Steps: 11123 Ski: Riding: Racket: diff --git a/00.01 Admin/Calendars/2022-10-27.md b/00.01 Admin/Calendars/2022-10-27.md new file mode 100644 index 00000000..5a483c6a --- /dev/null +++ b/00.01 Admin/Calendars/2022-10-27.md @@ -0,0 +1,115 @@ +--- + +title: "🗒 Daily Note" +allDay: true +date: 2022-10-27 +Date: 2022-10-27 +DocType: Note +Hierarchy: +TimeStamp: +location: +CollapseMetaTable: true +Sleep: 8 +Happiness: 90 +Gratefulness: 90 +Stress: 25 +FrontHeadBar: 5 +EarHeadBar: 30 +BackHeadBar: 20 +Water: 2.15 +Coffee: 4 +Steps: 11970 +Ski: +Riding: +Racket: +Football: +Swim: + +--- + +%% Parent:: [[@Life Admin]] %% + +--- + +[[2022-10-26|<< 🗓 Previous ]]       [[@Main Dashboard|Back]]       [[2022-10-28|🗓 Next >>]] + +--- + +  + +```button +name Record today's health +type command +action MetaEdit: Run MetaEdit +id EditMetaData +``` +^button-2022-10-27Edit + +```button +name Save +type command +action Save current file +id Save +``` +^button-2022-10-27NSave + +  + +# 2022-10-27 + +  + +> [!summary]+ +> Daily note for 2022-10-27 + +  + +```toc +style: number +``` + +  + +--- + +  + +### 📝 Memos + +  + +This section does serve for quick memos. + +  +- 20:06 [[Game of Thrones (2011–2019)]] with [[@@MRCK|Meggi-mo]] [[2022-10-27|today]] + + +%% --- %% +  + +--- + +  + +### 🗒 Notes + +  + +Loret ipsum + +  + +--- + +  + +### :link: Linked activity + +  + +```dataview +Table from [[2022-10-27]] +``` + +  +  \ No newline at end of file diff --git a/00.01 Admin/Calendars/2022-10-28.md b/00.01 Admin/Calendars/2022-10-28.md new file mode 100644 index 00000000..abc8b46e --- /dev/null +++ b/00.01 Admin/Calendars/2022-10-28.md @@ -0,0 +1,114 @@ +--- + +title: "🗒 Daily Note" +allDay: true +date: 2022-10-28 +Date: 2022-10-28 +DocType: Note +Hierarchy: +TimeStamp: +location: +CollapseMetaTable: true +Sleep: 8 +Happiness: 90 +Gratefulness: 90 +Stress: 25 +FrontHeadBar: 5 +EarHeadBar: 30 +BackHeadBar: 20 +Water: 1.25 +Coffee: 4 +Steps: 15832 +Ski: +Riding: +Racket: +Football: +Swim: + +--- + +%% Parent:: [[@Life Admin]] %% + +--- + +[[2022-10-27|<< 🗓 Previous ]]       [[@Main Dashboard|Back]]       [[2022-10-29|🗓 Next >>]] + +--- + +  + +```button +name Record today's health +type command +action MetaEdit: Run MetaEdit +id EditMetaData +``` +^button-2022-10-28Edit + +```button +name Save +type command +action Save current file +id Save +``` +^button-2022-10-28NSave + +  + +# 2022-10-28 + +  + +> [!summary]+ +> Daily note for 2022-10-28 + +  + +```toc +style: number +``` + +  + +--- + +  + +### 📝 Memos + +  + +This section does serve for quick memos. + +  + + +%% --- %% +  + +--- + +  + +### 🗒 Notes + +  + +Loret ipsum + +  + +--- + +  + +### :link: Linked activity + +  + +```dataview +Table from [[2022-10-28]] +``` + +  +  \ No newline at end of file diff --git a/00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md b/00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md new file mode 100644 index 00000000..fb2108ca --- /dev/null +++ b/00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md @@ -0,0 +1,13 @@ +--- + +title: ⚽ PSG - Troyes (4-3) +allDay: false +startTime: 17:00 +endTime: 19:00 +date: 2022-10-29 +CollapseMetaTable: true + +--- + +[[2022-10-29|ce jour]], [[Paris SG]] - ESTAC: 4-3 +Buteurs:: ⚽ Soler
⚽ Messi
⚽ Neymar
⚽ M’Bappé
⚽⚽ Baldé (ESTAC)
⚽ Palaversa (ESTAC) \ No newline at end of file diff --git a/00.01 Admin/Calendars/2022-10-29.md b/00.01 Admin/Calendars/2022-10-29.md new file mode 100644 index 00000000..5de64243 --- /dev/null +++ b/00.01 Admin/Calendars/2022-10-29.md @@ -0,0 +1,115 @@ +--- + +title: "🗒 Daily Note" +allDay: true +date: 2022-10-29 +Date: 2022-10-29 +DocType: Note +Hierarchy: +TimeStamp: +location: +CollapseMetaTable: true +Sleep: 8 +Happiness: 90 +Gratefulness: 90 +Stress: 25 +FrontHeadBar: 5 +EarHeadBar: 30 +BackHeadBar: 20 +Water: 2.55 +Coffee: 3 +Steps: 13757 +Ski: +Riding: +Racket: +Football: +Swim: + +--- + +%% Parent:: [[@Life Admin]] %% + +--- + +[[2022-10-28|<< 🗓 Previous ]]       [[@Main Dashboard|Back]]       [[2022-10-30|🗓 Next >>]] + +--- + +  + +```button +name Record today's health +type command +action MetaEdit: Run MetaEdit +id EditMetaData +``` +^button-2022-10-29Edit + +```button +name Save +type command +action Save current file +id Save +``` +^button-2022-10-29NSave + +  + +# 2022-10-29 + +  + +> [!summary]+ +> Daily note for 2022-10-29 + +  + +```toc +style: number +``` + +  + +--- + +  + +### 📝 Memos + +  + +This section does serve for quick memos. + +  +- 19:37 [[2022-10-29|today]], [[Crispy Salmon with Bulgur]] + + +%% --- %% +  + +--- + +  + +### 🗒 Notes + +  + +Loret ipsum + +  + +--- + +  + +### :link: Linked activity + +  + +```dataview +Table from [[2022-10-29]] +``` + +  +  \ No newline at end of file diff --git a/00.01 Admin/Calendars/2022-10-30.md b/00.01 Admin/Calendars/2022-10-30.md new file mode 100644 index 00000000..c074650d --- /dev/null +++ b/00.01 Admin/Calendars/2022-10-30.md @@ -0,0 +1,115 @@ +--- + +title: "🗒 Daily Note" +allDay: true +date: 2022-10-30 +Date: 2022-10-30 +DocType: Note +Hierarchy: +TimeStamp: +location: +CollapseMetaTable: true +Sleep: 8.5 +Happiness: 90 +Gratefulness: 90 +Stress: 25 +FrontHeadBar: 5 +EarHeadBar: 30 +BackHeadBar: 20 +Water: 2 +Coffee: 1 +Steps: +Ski: +Riding: +Racket: +Football: +Swim: + +--- + +%% Parent:: [[@Life Admin]] %% + +--- + +[[2022-10-29|<< 🗓 Previous ]]       [[@Main Dashboard|Back]]       [[2022-10-31|🗓 Next >>]] + +--- + +  + +```button +name Record today's health +type command +action MetaEdit: Run MetaEdit +id EditMetaData +``` +^button-2022-10-30Edit + +```button +name Save +type command +action Save current file +id Save +``` +^button-2022-10-30NSave + +  + +# 2022-10-30 + +  + +> [!summary]+ +> Daily note for 2022-10-30 + +  + +```toc +style: number +``` + +  + +--- + +  + +### 📝 Memos + +  + +This section does serve for quick memos. + +  +- 16:42 [[Game of Thrones (2011–2019)]] with [[@@MRCK|Meggi]] [[2022-10-30|this day]] + + +%% --- %% +  + +--- + +  + +### 🗒 Notes + +  + +Loret ipsum + +  + +--- + +  + +### :link: Linked activity + +  + +```dataview +Table from [[2022-10-30]] +``` + +  +  \ No newline at end of file diff --git a/00.03 News/Cuban missile crisis The man who saw too much - Deseret News.md b/00.03 News/Cuban missile crisis The man who saw too much - Deseret News.md index 4ef6c2dd..a5daa201 100644 --- a/00.03 News/Cuban missile crisis The man who saw too much - Deseret News.md +++ b/00.03 News/Cuban missile crisis The man who saw too much - Deseret News.md @@ -12,7 +12,7 @@ CollapseMetaTable: true --- Parent:: [[@News|News]] -Read:: No +Read:: [[2022-10-29]] --- diff --git a/00.03 News/How a Chinese American Gangster Transformed Money Laundering for Drug Cartels.md b/00.03 News/How a Chinese American Gangster Transformed Money Laundering for Drug Cartels.md index b5cc1c8c..16057ded 100644 --- a/00.03 News/How a Chinese American Gangster Transformed Money Laundering for Drug Cartels.md +++ b/00.03 News/How a Chinese American Gangster Transformed Money Laundering for Drug Cartels.md @@ -12,7 +12,7 @@ CollapseMetaTable: true --- Parent:: [[@News|News]] -Read:: No +Read:: [[2022-10-27]] --- diff --git a/00.03 News/Liz Truss’ empty ambition put her in power — and shattered her.md b/00.03 News/Liz Truss’ empty ambition put her in power — and shattered her.md new file mode 100644 index 00000000..351ab08e --- /dev/null +++ b/00.03 News/Liz Truss’ empty ambition put her in power — and shattered her.md @@ -0,0 +1,79 @@ +--- + +Tag: ["Politics", "🇬🇧", "Truss"] +Date: 2022-10-30 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-30 +Link: https://www.politico.eu/article/liz-truss-uk-prime-minister-ambition-tory-conservatives/ +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]] +Read:: No + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-LizTrussemptyambitionshatteredherNSave + +  + +# Liz Truss’ empty ambition put her in power — and shattered her + +Press play to listen to this article + +*Tanya Gold is a freelance journalist.* + +Liz Truss resigned as prime minister on the 45th day of her tenure. As I write, the day after, the Tory Party — Britain’s “natural party of government” for two centuries — is polling at 14 percent. They may go lower, and they will not unite behind any candidate. Like alcoholics who cannot stop drinking because they are already insane, the party is beyond the point of renewal.  + +But why is Truss, 47, a former accountant, the crucible of apocalypse?  + +Many narratives meet in her. Some of it is not her fault, much of it is absolutely her fault. No child looks in the mirror and longs to be a paradigm when grown, but sometimes fate demands it. Her rise was undeserved, and so is the brutality of her fall.   + +### You may like + +I met Truss at university, long before she entered real politics, and she mirrors and watches, as if trying to learn a new language. That is why she is stilted and ethereal: that is why she cannot speak easily or from the heart.  + +She is at her most expressive on Instagram, a medium both vapid and vivid. There is nothing to her beyond ambition, which explains the need for mirroring, and, I think, rage: the Britain she dreams of is not a kind place.  + +Born in Oxford to a mathematics professor and a teacher, she was raised in Leeds in the north of England. Her parents are left-wing and do not share her politics: I sense an oedipal drama there. She went to a good state school, but with her tendency to rewrite her life for advancement, she trashed its reputation during the summer race to lead the Tory Party, though it got her to Oxford University, the nursery for Tory prime ministers. There she studied politics, philosophy and economics, which gives the young politician the appearance, rather than the actuality, of knowledge.  + +She was, notoriously, a Liberal Democrat then, and she gave it her all, advocating for the abolition of the monarchy at their party conference in 1994. Whatever line Truss takes, she gives it her all, as compensation, I suspect, for uncertainty within. She smiled as she resigned. I don’t think I ever met a more isolated woman.  + +She became a hard right Tory — presumably to distance herself from her youthful Liberal Democracy, and because Margaret Thatcher is the obvious person to mirror in the Tory Party — worked under three prime ministers and spent eight years in the Cabinet. The niceties and collusions of a liberal democracy do not interest her. She notoriously did not defend the judiciary from a powerful tabloid’s “enemies of the people” headline when Britain was puzzling over how to leave the EU and she was lord chancellor, and she prefers to summon Britain’s fantasy of exceptionalism by insisting, for example, that we eat more British cheese. There is something intensely prosaic and unimaginative about Truss: if she were a year, she would be 1951. Nor can she unite people: when she won, she did not even shake Rishi Sunak’s hand, and she largely excluded his supporters from her cabinet.  + +A scandal — she had an affair with her mentor, the former Tory MP Mark Field, though both were married at the time — did not damage her reputation or, apparently, her marriage and this is interesting too: the betrayal of her most intimate relationship. (She likewise betrayed Kwasi Kwarteng, her chancellor and closest friend in politics, sacking him last Friday to try to save herself when the markets rejected her unfunded taxation, and her poll ratings collapsed.) Her husband, Hugh O’Leary, stood outside Downing Street as she resigned, but as they went in, they did not touch each other.  + +When Boris Johnson fell, two things put Truss in his place: the Tory Party membership, and Johnson himself. Truss was Johnson’s choice — though he did not say so explicitly, leaving his most avid lieutenants to back her — and his sin-eater. She never repudiated him personally, though she tore up his 2019 manifesto and offered tax cuts and public services cuts, the opposite of his promise to “level up” opportunity across the country. Dominic Cummings — Johnson’s chief strategist, who left politics after losing a power struggle with Johnson’s third wife — says Truss is obsessed with optics and has no idea how to be prime minister. He also says that Johnson chose her aware she would self-destruct, and he might plausibly return. That was the first trap. + +Then there is the Tory Party membership, largely affluent, male, southern and white. They were offered Sunak and Truss by the parliamentary party, who preferred Sunak. The membership disliked Sunak for destroying Johnson (his resignation was blamed by Johnson acolytes for triggering the former prime minister’s downfall) and raising taxes and loved Truss because she mirrored them. She spoke to their self-absorption, and their desire for low taxes and a smaller state — being affluent, they do not think they need one. She told them mad things which thrilled them, reanimating the empire: she would ignore Scotland’s first minister; she was ready to bomb Russia if she could find it. (She once told the Russian foreign minister parts of Russia were not in Russia.) A long leadership contest enabled her to impress the party membership and, equally, enabled the wider country to despise her. You can only mirror so many people at once. That was the second trap.  + +## UK NATIONAL PARLIAMENT ELECTION POLL OF POLLS + + + +*For more polling data from across Europe visit* [POLITICO](https://www.politico.eu/europe-poll-of-polls/) *[Poll of Polls](https://www.politico.eu/europe-poll-of-polls/).* + +Then Queen Elizabeth II, a far more experienced and successful mirror than Truss, died. Britain was grieved and unwilling to tolerate Truss’ tinny authoritarianism, avoidable errors, and superficial arrogance: humility was required from Johnson’s successor, especially if she were to tear up his manifesto. When she has no one to guide her, she does not know how to do the simplest things. When she entered Westminster Abbey for the queen’s funeral she smirked, presumably because she had precedence over other living prime ministers. That was the third trap.  + +Beyond her obvious inability to do the job, Truss is largely a victim of circumstance and bad actors. I see her as a character in a gothic novel: perhaps the second Mrs. de Winter of Daphne du Maurier’s “Rebecca,” a nameless girl fleeing through Manderley (the burning Tory Party), obsessed with Rebecca, the first Mrs. de Winter, who in this conceit is either Boris Johnson or Margaret Thatcher, or both: more powerful ghosts overshadow her. She has no identity and is better understood as a paradigm than an autonomous figure. + +She is a paradigm of the Tory Party membership’s distance from the rest of the country, which is an abyss after 12 years in power; a paradigm of the political class’ tendency toward optics above substance; a paradigm of common narcissism, which is thriving; a paradigm of the paranoia, taste for culture war and will to power that Brexit incited in its supporters — Truss was typically a late and fervent convert — when they realized they were wrong.  + +All these threads met in Truss in a combustible fashion that has left her — and the Tory Party — in ruins. I think I see hope for our democracy because these are all endings. Truss did not fall: it is worse than that. Rather, and obediently, she shattered. + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.03 News/Mississippi's Welfare Mess—And America's.md b/00.03 News/Mississippi's Welfare Mess—And America's.md new file mode 100644 index 00000000..69f73837 --- /dev/null +++ b/00.03 News/Mississippi's Welfare Mess—And America's.md @@ -0,0 +1,79 @@ +--- + +Tag: ["Society", "🇺🇸", "Welfare"] +Date: 2022-10-30 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-30 +Link: https://www.theatlantic.com/ideas/archive/2022/10/mississippi-welfare-tanf-fraud/671922/ +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]] +Read:: No + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-MississippisWelfareMessNSave + +  + +# Mississippi's Welfare Mess—And America's + +## Mississippi Shows What’s Wrong With Welfare in America + +Public officials plundered a system built on contempt for poor people. + +![Collage of Phil Bryant, Brett Favre, and a map of Mississippi](https://cdn.theatlantic.com/thumbor/jkRfdP1B4CUmaDGhqCgImWVa2dA=/0x0:4800x2700/960x540/media/img/mt/2022/10/mississippi_welfare_2/original.jpg) + +AP; CBPP; Getty; Joanne Imperio / The Atlantic + +October 29, 2022, 6 AM ET + +Writing out what happened in Mississippi, I am not quite sure whether to laugh or cry. Just before the coronavirus pandemic hit, then-Governor Phil Bryant [schemed](https://mississippitoday.org/2022/09/13/phil-bryant-brett-favre-welfare/) to loot money from a government program for destitute children and redirect it to Brett Favre, the legendary Green Bay Packers quarterback, as part of a ploy to get a new volleyball facility built at the university attended by Favre’s daughter. + +That is just one of any number of jaw-dropping stories emerging from a massive state-welfare-fraud scandal, bird-dogged by tenacious reporters, including [Anna Wolfe](https://mississippitoday.org/author/awolfe/) and [Ashton Pittman](https://www.mississippifreepress.org/author/ashton-pittman). Over the years, Mississippi officials took tens of millions of dollars from Temporary Assistance for Needy Families—the federal program frequently known simply as “welfare”—and wasted it on pointless [initiatives](https://mississippitoday.org/2021/12/23/anna-wolfe-mississippi-welfare-fraud-case/) run by their political cronies. Money meant to feed poor kids and promote their parents’ employment instead went to [horse ranches](https://mississippitoday.org/2020/03/18/sports-legends-madison-county-horse-ranch-being-paid-for-by-nonprofit-at-center-of-welfare-embezzlement-firestorm/), sham leadership-training schemes, fatherhood-promotion projects, motivational speeches that never happened, and those volleyball courts. + +The scandal is a Robin Hood in reverse, with officials caught fleecing the poor to further enrich the wealthy, in the [poorest state in the country](https://www.usnews.com/news/best-states/slideshows/us-states-with-the-highest-poverty-rates?slide=11). It is also an argument for [ending welfare as we know it](https://www.theatlantic.com/business/archive/2016/04/the-end-of-welfare-as-we-know-it/476322/)—really, this time, and not just in Mississippi. I’m not talking about telling needy families to fend for themselves. I mean that the United States should abandon its stingy, difficult means-tested programs and move to a system of generous, simple-to-access social supports—ones that would also be harder for politicians to plunder. + +[Danté Stewart](https://www.theatlantic.com/ideas/archive/2022/10/brett-favre-welfare-funds-poor-mississippi-residents/671634/)[: The irony of Brett Favre](https://www.theatlantic.com/ideas/archive/2022/10/brett-favre-welfare-funds-poor-mississippi-residents/671634/) + +Politicians and administrators looted the Mississippi TANF program in part because they had so much discretion over the funds to begin with. Doing so was easy. Up until the Clinton administration, welfare was a cash entitlement. To sign up, families needed to meet [relatively straightforward](https://www.census.gov/content/dam/Census/library/publications/1995/demo/afdc.pdf) standards; anyone who qualified got the cash from the government. Then—motivated in no small part by racist concerns about Black mothers abusing the program, typified by the mythic [welfare queen](http://www.slate.com/articles/news_and_politics/history/2013/12/linda_taylor_welfare_queen_ronald_reagan_made_her_a_notorious_american_villain.html)—Republicans and Democrats joined together in 1996 to get rid of the entitlement and replace it with a block grant. Uncle Sam would give each state a pool of cash to spend on programs for very poor kids and families, as they saw fit. + +Some states kept a robust cash-assistance program. Others, including Mississippi, diverted the money to education, child care, and workforce development—and, in Mississippi’s case, to more esoteric policy priorities including marriage promotion and leadership training. Federal and state oversight was loose, and money flowed to programs that were ineffective or even outright shams. “How is it that money that is supposed to be targeted to struggling families is being siphoned off for political patronage?” Oleta Fitzgerald, the director of the southern regional office of the Children’s Defense Fund, told me in a recent interview. “Block-granting gives you the ability to misspend money, and do contracts with your friends and family, and do stupid contracts for things that you want.” + +[Zach Parolin: Welfare money is paying for a lot of things besides welfare](https://www.theatlantic.com/ideas/archive/2019/06/through-welfare-states-are-widening-racial-divide/591559/) + +In Mississippi’s case, the state [misspent millions](https://vicksburgnews.com/downright-sinful-as-mississippi-is-mired-in-welfare-scandal-advocates-say-the-state-still-isnt-aiding-the-poor/): roughly $80 million from 2016 to 2020, and perhaps much more, according to a forensic audit commissioned by the state after the scandal broke. Even now, it continues to fritter away taxpayer dollars, using $30 million a year in TANF money to fill budget holes; disbursing $35 million a year to vendors and nonprofits, many without reliable track records of helping anyone; and letting $20 million go unused. Remarkably, the program does next to nothing to end poverty, experts think. According to the Center for Budget and Policy Priorities, [only 4 percent](https://www.cbpp.org/sites/default/files/atoms/files/tanf_trends_ms.pdf) of poor Mississippians received cash benefits. “I don’t know any family who has gotten TANF in the past five years,” Aisha Nyandoro, who runs the Jackson-based nonprofit Springboard to Opportunities, told me. Indeed, the state typically rejects [more than 90 percent](https://mississippitoday.org/2022/10/05/mississippi-reject-most-welfare-applicants/) of applicants, and in some years more than 98 percent. + +Both Nyandoro and Fitzgerald noted the irony that the state treated the poor people who applied for TANF as if *they* were the ones defrauding the taxpayers: The program was not just stingy, but onerous and invasive for applicants. “If someone provided information on their income level that was $100 off” or “misunderstood the rules or the paperwork,” they might be threatened with sanctions or kicked out of the program, Fitzgerald [told me](https://www.thenation.com/article/archive/a-cruel-new-bill-is-about-to-become-law-in-mississippi/). + +Some [state](https://www.cnn.com/2022/09/22/us/mississippi-john-davis-welfare-fraud-guilty-plea) and [nonprofit](https://mississippitoday.org/2022/04/22/nancy-new-zach-new-plead-guilty-welfare-scandal/) officials involved in the scandal have pleaded guilty to criminal charges. But what was legal and permissible for TANF in Mississippi is just as scandalous. The *whole program nationwide* should be understood as an outrage: Mississippi is offering just the most extreme outgrowth of a punitive, racist, stingy, poorly designed, and ineffective system, one that fails the children it purports to help. + +For one, TANF is too small to accomplish its goal of getting kids out of poverty. The federal government’s total disbursement to states is stuck at its 1996 level—with no budgetary changes to account for the growth of the population, the ravages of recessions, or even inflation. An initiative that once aided the majority of poor families now aids just a sliver of them: [437,000 adults and 1.6 million kids](https://www.acf.hhs.gov/ofa/data/ofa-releases-fy-2019-characteristics-and-financial-circumstances-tanf-recipients-data) nationwide as of 2019, a year in which 23 million adults and 11 million children were [living in poverty](https://www.childrensdefense.org/wp-content/uploads/2020/12/Child-Poverty-in-America-2019-National-Factsheet.pdf). (The American Rescue Plan, President Joe Biden’s COVID-response package, included some new TANF funding, but just $1 billion of it and on a [temporary basis](https://www.cbpp.org/research/family-income-support/temporary-assistance-for-needy-families).) + +After the 1996 reforms, the whole program “was regulated by tougher rules and requirements, and stronger modes of surveillance and punishment,” the University of Minnesota sociologist Joe Soss told me. “You see these programs reconstructed to focus on reforming the individual, enforcing work, promoting heterosexual marriage, and encouraging ‘self-discipline.’ These developments have all been significantly more pronounced in states where Black people make up a higher percentage of the population.” Moreover, the program is too lax in terms of oversight. In many states, TANF [money has become a slush fund](https://www.pewtrusts.org/en/research-and-analysis/blogs/stateline/2020/07/24/states-raid-fund-meant-for-needy-families-to-pay-for-other-programs). + +[Annie Lowrey: Is this the end of welfare as we know it?](https://www.theatlantic.com/ideas/archive/2021/08/cash-kids-end-welfare-we-know-it/619898/) + +Many good proposals would reform TANF to steer more cash benefits to poor kids and help usher at-risk young parents into the workforce. Perhaps the best option? Just getting rid of it and using its $16.5 billion a year to help bring back the beefed-up child tax credit payments that Congress let expire. Those no-strings-attached transfers—which were available to every low- and middle-income American with a dependent under 18 and were disbursed in monthly increments—slashed child poverty in half, after all, and were beloved by the parents of the 61 million children who got them. “It was drastically different,” Nyandoro told me. “There was no bureaucracy. It was run by the federal government, not the state. You knew when the check was coming. And we saw immediately how the child tax credit payments gave families the economic breathing room that they needed, cutting child poverty in half in six months. Why do we keep using \[the TANF\] system when we have the proof of a system that actually does work?” + +The best way to help families would be more like social insurance than a “safety net”—a concept [popularized in the 1980s](https://www.marketplace.org/2013/04/02/how-did-social-safety-net-get-its-name/), when Ronald Reagan was shrinking the New Deal and Great Society programs. “The idea of those \[older\] programs is that we’re socializing risk, and that everybody is at risk of getting ill and getting old and maybe we should have something there to support you that we’ve constructed together,” Soss told me, contrasting Social Security and unemployment insurance with “stingier and stigmatized” programs such as TANF and food stamps. + +Mississippi shows the limits of a system grounded not in solidarity with recipients but in contempt for them. The U.S. should end that version of welfare and start again. + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md b/00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md index bcb7e9bd..7aec8f2e 100644 --- a/00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md +++ b/00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md @@ -12,7 +12,7 @@ CollapseMetaTable: true --- Parent:: [[@News|News]] -Read:: No +Read:: [[2022-10-30]] --- diff --git a/00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md b/00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md new file mode 100644 index 00000000..426b750e --- /dev/null +++ b/00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md @@ -0,0 +1,151 @@ +--- + +Tag: ["Society", "🇺🇸", "🔫", "🤠"] +Date: 2022-10-30 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-30 +Link: https://www.nytimes.com/2022/10/26/us/texas-guns-permitless.html?unlocked_article_code=psgcmzKvTTXPLsW6-4PgeIP0YjgP3g-gX5NKlRhI9ZuDveStllhQG21U_UNI9iSZcw_6SpxCCey28sJBDcyDkkwrFH35xq53NpxN4MPeIBqGgTHml5OzpGdC9fXvaXX7rQUCykfnPk9B0XVxsUKl9Z__CJxEpyoaXXWFHpVPMjqCcn4wyp2NmT4qANoaXxWnlEAVdkmjjdOjSKzsAUpCBPbwlbaIAQJEZ_N3USFcEgNTqb26ToQ-QP9TO1hYXtAQy6Zvh7s7FwRk9XNpU_kn_KcFk8wB-6utoMeUGVwij-cNrrTM7mGOUeTwM2i_viGW6ISK2LQ5uVKceA&smid=share-url +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]] +Read:: No + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-TexasGoesPermitlessonGunsNSave + +  + +# Texas Goes Permitless on Guns, and Police Face an Armed Public + +![Big city police departments and major law enforcement groups opposed the new handgun law when it came before the State Legislature last spring, worried in part about the loss of training requirements necessary for a permit and more dangers for officers.](https://static01.nyt.com/images/2022/10/24/us/00texas-permitless-top-4/merlin_188389698_3afcdb23-71b5-42fb-98fd-470c023e154b-articleLarge.jpg?quality=75&auto=webp&disable=upscale) + +Credit...Matthew Busch for The New York Times + +A new law allowing people to carry handguns without a license has led to more spontaneous shootings, many in law enforcement say. + +Big city police departments and major law enforcement groups opposed the new handgun law when it came before the State Legislature last spring, worried in part about the loss of training requirements necessary for a permit and more dangers for officers.Credit...Matthew Busch for The New York Times + +- Published Oct. 26, 2022Updated Oct. 28, 2022 + +### Listen to This Article + +*To hear more audio stories from publications like The New York Times,* [*download Audm for iPhone or Android*](https://www.audm.com/?utm_source=nyt&utm_medium=embed&utm_campaign=nat_texas_permitless_guns)*.* + +HOUSTON — Tony Earls hung his head before a row of television cameras, staring down, his life upended. Days before, Mr. Earls had pulled out his handgun and opened fire, hoping to strike a man who had just robbed him and his wife at an A.T.M. in Houston. + +Instead, he struck Arlene Alvarez, a 9-year-old girl seated in a passing pickup, killing her. + +“Is Mr. Earls licensed to carry?” a reporter asked during the February news conference, in which his lawyer spoke for him. + +He didn’t need one, the lawyer replied. “Everything about that situation, we believe and contend, was justified under Texas law.” A grand jury later agreed, declining to indict Mr. Earls for any crime. + +The shooting was part of what many sheriffs, police leaders and district attorneys in urban areas of Texas say has been an increase in people carrying weapons and in spur-of-the-moment gunfire in the year since the state began allowing most adults 21 or over to carry a handgun without a license. + +At the same time, mainly in rural counties, other sheriffs said they had seen little change, and proponents of gun rights said more people lawfully carrying guns could be part of why shootings have declined in some parts of the state. + +Image + +Credit...the family of Arlene Alvarez, via Associated Press + +Far from an outlier, Texas, with its new law, joined what has been an expanding effort to remove nearly all restrictions on carrying handguns. When Alabama’s “permitless carry” law goes into effect in January, half of the states in the nation, [from Maine to Arizona](https://www.usconcealedcarry.com/resources/terminology/types-of-concealed-carry-licensurepermitting-policies/unrestricted/#:~:text=Constitutional%20carry%3A%20Constitutional%20carry%20means,no%20state%20permit%20is%20required.), will not require a license to carry a handgun. + +The state-by-state legislative push has coincided with a federal judiciary that has increasingly ruled in favor of carrying guns and against state efforts to regulate them. + +But Texas is the most populous state to do away with handgun permit requirements. Five of the nation’s 15 biggest cities are in Texas, making the permitless approach to handguns a new fact of life in urban areas to an extent not seen in other states. + +In the border town of Eagle Pass, drunken arguments have flared into shootings. In El Paso, revelers who legally bring their guns to parties have opened fire to stop fights. In and around Houston, prosecutors have received a growing stream of cases involving guns brandished or fired over parking spots, bad driving, loud music and love triangles. + +“It seems like now there’s been a tipping point where just everybody is armed,” said Sheriff Ed Gonzalez of Harris County, which includes Houston. + +No statewide shooting statistics have been released since the law went into effect last September. After a particularly violent 2021 in many parts of the state, the picture of crime in Texas has been mixed this year, with homicides and assaults up in some places and down in others. + +But what has been clear is that far fewer people are getting new licenses for handguns even as many in law enforcement say the number of guns they encounter on the street has been increasing. + +Big city police departments and major law enforcement groups opposed the new handgun law when it came before the State Legislature last spring, worried in part about the loss of training requirements necessary for a permit and more dangers for officers. + +But gun rights proponents prevailed in the Republican-dominated Capitol, arguing that Texans should not need the state’s permission to exercise their Second Amendment rights. + +Recent debates over gun laws in Texas have not been limited to handgun licensing. After the elementary school shooting in Uvalde, gun control advocates have pushed to raise the age to purchase an AR-15-style rifle. And after the Supreme Court struck down New York’s restrictive licensing program, a federal court in Texas found that a state law barring adults under 21 from carrying a handgun was unconstitutional. Gov. Greg Abbott has suggested he agreed, even as the Texas Department of Public Safety, which oversees the state police, is appealing. + +Image + +![Family members of the victims killed in the shooting at Robb Elementary School marching from the school to the town square in Uvalde, Texas, in July.](https://static01.nyt.com/images/2022/10/24/us/00texas-permitless-3b/merlin_210234810_699f63ba-7198-42e4-8758-3653d3b9ac65-articleLarge.jpg?quality=75&auto=webp&disable=upscale) + +Credit...Tamir Kalifa for The New York Times + +“What I believe in is that the Second Amendment provides certain rights, and it provides those rights to adults,” Mr. Abbott said in a recent news conference. “I think that the court ruling is going to be upheld.” + +The loosening of regulations also landed in the middle of a [national debate over crime](https://www.nytimes.com/2022/09/23/briefing/crime-rates-murder-robberies-us.html). Researchers have long argued over the effect of allowing more people to legally own and carry guns. But a series of recent studies has found a link between laws that make it easier to carry a handgun and increases in crime, and some have raised the possibility that more guns in circulation [lead to more thefts of weapons](https://www.nber.org/papers/w30190) and [to more shootings by the police](https://jhu.pure.elsevier.com/en/publications/officer-involved-shootings-and-concealed-carry-weapons-permitting). + +“The weight of the evidence has shifted in the direction that more guns equals more crime,” said John J. Donohue III, a Stanford Law School professor and the author of several recent studies looking at gun regulations and crime. + +Much of the research has been around the effects of making handgun licenses easier to obtain, part of what are known as right-to-carry laws, and Mr. Donohue cautioned that only limited data is available on laws that in most cases require no licenses at all. + +“I think most people are reasoning by analogy: If you thought that right-to-carry was harmful, this will be worse,” he said. + +But John R. Lott Jr., a longtime researcher whose 1998 book, “More Guns, Less Crime,” has been influential among proponents of gun rights, said the newer studies did not take into account differences between state handgun regulations that might account for increases in crime. He also pointed to some recent crime declines in Texas cities after the permitless carry law went into effect, and to what he saw as the importance of increasing lawful gun ownership in high-crime areas. + +“If my research convinces me of anything,” Mr. Lott said, “it’s that you’re going to get the biggest reduction in crime if the people who are most likely victims of violent crime, predominantly poor Blacks, are the ones who are getting the permits.” + +In Dallas, there has been a rise in the number of homicides deemed to be justifiable, such as those conducted in self-defense, even as overall shootings have declined from last year’s high levels. + +“We’ve had justifiable shootings where potential victims have defended themselves,” said the Dallas police chief, Eddie Garcia. “It cuts both ways.” + +Last October in Port Arthur, Texas, a man with a handgun, who had a license, saw two armed robbers at a Church’s Chicken and fired through the drive-through window, fatally striking one of the men and wounding the other. His actions were praised by the local district attorney. + +Michael Mata, the president of the local police union in Dallas, said that he and his fellow officers had seen no increase in violent crime tied to the new permitless carry law, though there were “absolutely” more guns on the street. + +Sheriff David Soward of Atascosa County, a rural area south of San Antonio, said he had also seen no apparent increase in shootings. “Only a small percentage of people actually take advantage of the law,” he said. + +But for many law enforcement officers, the connection between the new law and spontaneous shootings has been readily apparent. + +“Now that everybody can carry a weapon, we have people who drink and start shooting each other,” said Sheriff Tom Schmerber of Maverick County, which includes Eagle Pass. “People get emotional,” he said, “and instead of reaching for a fist, they reach for a weapon. We’ve had several shootings like that.” + +Handgun licenses are still available. The process involves a background check and a roughly five-hour training course, including on a shooting range, that covers the legal troubles that can arise when opening fire. + +The number of new permits sought by Texans surged with the pandemic, but then sharply declined through 2021, as the permitless carry bill moved through the Legislature. An average of fewer than 5,000 a month were issued in 2022, lower than at any point going back to 2017. + +Many Texans still seek the license [because of the benefits it affords](https://www.dps.texas.gov/section/handgun-licensing/ltc-benefits), including the ability to carry a concealed handgun into a government meeting. But it is no longer necessary. + +“Somebody could go into Academy Sporting Goods here in El Paso and purchase a handgun and walk out with it after their background check,” said Ryan Urrutia, a commander at the El Paso Sheriff’s office. “It really puts law enforcement at a disadvantage because it puts more guns on the street that can be used against us.” + +Image + +Credit...Matthew Busch for The New York Times + +The law still bars carrying a handgun for those convicted of a felony, who are intoxicated or committing another crime. In Harris County, criminal cases involving illegal weapons possession have sharply increased since the new law went into effect: 3,500 so far this year, as of the middle of October, versus 2,300 in all of 2021 and an average of about 1,000 cases in prior years going back to 2012. + +“It’s shocking,” said Kim Ogg, the Harris County district attorney. “We’ve seen more carrying weapons, which by itself would be legal. But people are carrying the weapons while committing other crimes, and I’m not talking just about violent crimes. I’m talking about intoxication crimes or driving crimes or property crimes, carrying weapons on school property or in another prohibited place,” including bars and school grounds. + +Her office provided a sampling of arrests in the last few weeks: a 21-year-old man carrying a pistol and a second magazine while walking through the grounds of an elementary school during school hours; a man jumping from his car and opening fire at the driver of Tesla in a fit of road rage; a woman, while helping her little brother into a car, turning to shoot at another woman after an argument over a social media video. + +In the case of Mr. Earls, the man accused of fatally shooting 9-year-old Arlene Alvarez while shooting at a fleeing robber, Ms. Ogg’s office presented evidence to a grand jury of charges ranging from negligent homicide to murder. The grand jury rejected those charges. + +A lawyer for Mr. Earls declined to make him available to comment. The man who robbed Mr. Earls and his wife remains unidentified, Ms. Ogg said. + +In May, a committee of the Texas House heard testimony from gun rights advocates who praised the passage of permitless carry and argued that it may be time to go further. + +Rachel Malone, of Gun Owners of America, outlined some of her group’s priorities for the next legislative session. + +“I think it would be appropriate to move the age for permitless carry to 18,” she told the committee. “There’s really no reason why a legal adult should not be able to defend themselves.” + +Audio produced by Jack D’Isidoro. + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md b/00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md new file mode 100644 index 00000000..d18f6f67 --- /dev/null +++ b/00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md @@ -0,0 +1,403 @@ +--- + +Tag: ["Crime", "🇺🇸", "🇨🇳", "💸", "🕵🏼"] +Date: 2022-10-27 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-27 +Link: https://www.propublica.org/article/liu-tao-trump-meeting-china-investigation +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]] +Read:: [[2022-10-30]] + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-TheGlobetrottingConManWhoMetWithTrumpNSave + +  + +# The Globetrotting Con Man and Suspected Spy Who Met With President Trump + +ProPublica is a nonprofit newsroom that investigates abuses of power. Sign up to receive [our biggest stories](https://www.propublica.org/newsletters/the-big-story?source=www.propublica.org&placement=top-note®ion=national) as soon as they’re published. + +This is part two of an investigation into a revolutionary money laundering system involving Chinese organized crime, Latin American drug cartels and Chinese officials, and how a major figure in the scheme managed to meet former President Donald Trump. Read part one: "[How a Chinese American Gangster Transformed Money Laundering for Drug Cartels](https://www.propublica.org/article/china-cartels-xizhi-li-money-laundering).” + +In July 2018, President Donald Trump met at his New Jersey golf club with a Chinese businessman who should have never gotten anywhere near the most powerful man in the world. + +Tao Liu had recently rented a luxurious apartment in Trump Tower in New York and boasted of joining the exclusive Trump National Golf Club in Bedminster, New Jersey. + +But Liu was also a fugitive from Chinese justice. Media reports published overseas three years before the meeting had described him as the mastermind of a conspiracy that defrauded thousands of investors. He had ties to Chinese and Latin American organized crime. Perhaps most worrisome, the FBI was monitoring him because of suspicions that he was working with Chinese spies on a covert operation to buy access to U.S. political figures. + +Yet there he sat with Trump at a table covered with sandwiches and soft drinks, the tall windows behind them looking onto a green landscape. + +A longtime Trump associate who accompanied Liu was vague about what was discussed, telling ProPublica that they talked about the golf club, among other things. + +“He was a climber,” said the associate, Joseph Cinque. “He wanted to meet Trump. He wanted to meet high rollers, people of importance.” + +Documented by photos and interviews, the previously unreported sit-down reveals the workings of a Chinese underworld where crime, business, politics and espionage blur together. It also raises new questions about whether the Trump administration weakened the government’s system for protecting the president against national security risks. + +For years, Liu had caromed around the globe a step ahead of the law. He changed names, homes and scams the way most people change shoes. In Mexico, he befriended a Chinese American gangster named Xizhi Li, aiding Li’s rise as a top cartel money launderer, according to prosecution documents and interviews with former national security officials. + +“I’ve been doing illegal business for over 10 years,” Liu said in a conversation recorded by the Drug Enforcement Administration in 2020. “Which country haven’t I done it in?” + +Liu surfaced in the U.S. political scene after Trump took office. In early 2018, he launched a high-rolling quest for influence in New York. He courted political figures at gatherings fueled by Taittinger champagne and Macanudo cigars, at meals in Michelin-starred restaurants and in offices in Rockefeller Center. He may have made at least one illegal donation to the GOP, according to interviews. + +By the summer, Liu had achieved his fervent goal of meeting Trump. Two months later, he met the president again at Bedminster. + +On both occasions, Liu apparently found a loophole in a phalanx of defenses designed to protect the president. The Secret Service screens all presidential visitors on official business, subjecting foreigners to intense scrutiny. In addition to their top priority of detecting physical threats, agents check databases for people with ties to espionage or crime who could pose a risk to national security or a president’s reputation. + +Asked about Liu’s encounters with the president, the Secret Service’s chief of communications, Anthony Guglielmi, said, “There were no protective or safety concerns associated with these dates. The Bedminster Club is a private facility, and you will have to refer to organizers when it comes to who may have been allowed access to their facilities.” + +The Secret Service does not have a record of Liu meeting Trump on the president’s official schedule, a Secret Service official said. Instead, the encounters apparently occurred during periods when the president did not have official business, according to the official, who spoke on condition of anonymity. While staying at his clubs at Mar-a-Lago and Bedminster as president, Trump often left his living quarters to mingle with members and their guests in public areas. The Secret Service screened those people for weapons, but did not do background checks on them, current and former officials said. + +“Did the Secret Service know every name involved?” the Secret Service official said. “No. Those are called ‘off-the-record movements,’ and we are worried about physical safety in those situations. We don’t have the time to do workups on everybody in that environment.” + +As a member or a member’s guest, Liu could have entered the club without showing identification to the Secret Service and met with Trump, the official said. It appears, in short, that Liu avoided Secret Service background screening. + +During both visits, Liu accompanied Cinque, with whom he had cultivated a friendship and explored business ventures. Cinque said that he and his guests had easy access to the president at Bedminster. + +“I just go in every time I want,” Cinque said in an interview with ProPublica. “I’m with Donald 44 years. … The Secret Service, they trust me. Because I got a great relation with the Secret Service and I’m not gonna bring anybody bad next to Trump.” + +But Cinque now regrets ever having met Liu. + +“He’s a professional con man,” Cinque said. “There was a lot of flimflam with him. He conned me pretty good.” + +Cinque has given conflicting accounts about the July 2018 meeting. In an interview with a Chinese media outlet that year, he said Liu had spent three hours with the president. Last week, though, he told ProPublica that he had exaggerated the length of the conversation and Liu’s role in it. + +A spokesperson for Trump and officials at the Trump Organization and Bedminster club did not respond to requests for comment. The Chinese embassy also did not respond to a request for comment. + +Liu’s case is one of several incidents in which [Chinese nationals sought access to Trump](https://www.motherjones.com/politics/2019/03/head-of-asian-gop-group-says-he-wouldnt-rule-out-illegal-foreign-donations-to-trump/) in murky circumstances, [raising concerns in Congress](https://www.democrats.senate.gov/imo/media/doc/FBI.ltr.Yang.3.15.19.pdf), law enforcement and the media about espionage and illegal campaign financing. + +Liu did catch the attention of other federal agencies. His political activity in New York caused FBI counterintelligence agents to begin monitoring him in 2018, ProPublica has learned, before his encounters with Trump at Bedminster. His meetings with the president only heightened their interest, national security sources said. + +Then, in early 2020, DEA agents came across Liu as they dismantled the global money laundering network of his friend Li. Reconstructing Liu’s trail, the DEA grew to suspect he was a kind of spy: an ostentatious criminal who made himself useful to Chinese intelligence agencies in exchange for protection. + +The DEA agents thought Liu could answer big questions: What was he doing with the president? Was he conducting an operation on behalf of Chinese intelligence? And what did he know about the murky alliance between Chinese organized crime and the Chinese state? + +But the DEA clashed with the FBI over strategy. And by the time DEA agents zeroed in on Liu, he had holed up in Hong Kong. The pandemic had shut down travel. + +If the agents wanted to solve the walking mystery that was Tao Liu, they would have to figure out a way to go get him. + +This account is based on interviews with more than two dozen current and former national security officials based in the U.S. and overseas, as well as lawyers, associates of Liu and others. ProPublica also reviewed court documents, social media, press accounts and other sources. ProPublica granted anonymity to some sources because they did not have authorization to speak to the press or because of concerns about their safety and the sensitivity of the topic. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27600%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Credit: For ProPublica + +### Prowling the World + +Liu grew up in comfort and privilege. + +Born in 1975 in Zhejiang province, he studied business in Shanghai and began prowling the world. He accumulated wealth and left behind a trail of dubious ventures, failed romances and children, according to court documents, associates and former national security officials. He lived in Poland and Hong Kong before moving in 2011 to Mexico City, where he dabbled in the gambling and entertainment fields. + +Soon he met Li, the Chinese American money launderer, who also sold fraudulent identity documents. Liu bought fraudulent Guatemalan and Surinamese documents from Li and acquired a Mexican passport, according to prosecution documents and interviews. He played a crucial early role helping Li build his criminal empire, according to former investigators. + +Both men had links to the 14K triad, a powerful Chinese criminal syndicate, according to former investigators and law enforcement documents. Moving between Mexico and Guatemala, they were on the vanguard of the Chinese takeover of the underworld that launders money for the cartels. + +But in 2014, Liu embarked on a caper in China. He touted a cryptocurrency with an ex-convict, Du Ling, known as the “queen of underground banking,” according to interviews, media reports and Chinese court documents. + +It was all a fraud, authorities said. Chinese courts convicted the banking queen and others on charges of swindling more than 34,000 investors from whom they raised over $200 million. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27180%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27180%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Stills from a promotional clip posted to the video-sharing site Tencent Video show Liu at his company’s lavish launch event in Hong Kong. There, Liu told investors about planned resorts in Fiji and the Americas, where guests would soon be able to spend cryptocurrency like “actual money.” + +Although accused of being the mastermind, Liu eluded arrest, according to court documents, associates and other sources. He popped up in Fiji as a private company executive promising infrastructure projects inspired by President Xi Jinping’s visit months earlier to promote China’s development initiative, according to news reports and interviews. Liu even hosted a reception for the Chinese ambassador, according to news reports. + +Liu’s activities in Fiji fit a pattern of Chinese criminals aligning themselves with China’s foreign development efforts for mutual benefit, national security veterans say. Liu claims corrupt Chinese officials were his partners in Fiji, “but then they threw him under the bus,” said his lawyer, Jonathan Simms. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27244%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Liu discussed development and tourism projects with Solomon Islands officials, including Prime Minister Manasseh Sogavare (second from right). Those deals fell through after an alleged victim of Liu’s Chinese cryptocurrency scam sent emails to local embassies and media organizations calling for Liu’s arrest. Credit: Solomon Islands Office of the Prime Minister and Cabinet + +After allegations surfaced about his role in the cryptocurrency scandal in China, Liu fled to Australia. Airport police there downloaded his phone and found discussions about fraudulent passports from countries in Africa, Asia and Latin America, according to Simms and other sources. + +In 2016, Liu returned to Mexico. He soon obtained a U.S. business/tourist visa by making false statements to U.S. authorities about whether he was involved in crime, prosecution documents say. + +Now known as Antony Liu, he was ready to make a name for himself. + +### Money and Politics + +Yuxiang Min is an entrepreneur in Manhattan’s Chinatown. For years, he has nurtured a “Chinese American dream”: to prosper in the herbal medicine industry by planting 16,000 acres of licorice in a desert in China’s Gansu province. + +After meeting Min in early 2018, Liu promised to make the dream a reality, Min said. + +“He made me believe he was very well-connected in China,” Min said. “And I think he was. He showed me photos of himself with top Chinese officials.” + +Min said one photo appeared to show Liu with Xi, China’s president, before he took office. Between 2002 and 2007, Xi served in senior government positions in two places where Liu had lived, Zhejiang and Shanghai. But Min said he did not have the photo, and ProPublica has not confirmed its existence. + +Liu rented Chinatown offices from Min, who said he helped the wealthy newcomer buy a top-of-the-line BMW and find a translator. Despite his weak English, Liu was charismatic and persuasive, associates said. He bankrolled dinners, a concert, an outing on a yacht; he flaunted the flashy details on his social media. He founded Blue Ocean Capital, an investment firm that did little actual business, according to associates, former national security officials and court documents. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27541%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27541%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Liu posted dozens of images of his high-rolling lifestyle to social media, including these from Manhattan’s Club Macanudo (first image) and a gala at Oheka Castle, a mansion-turned-hotel on Long Island. The second image is a still from a video in which an unseen man calls Liu “China’s organized crime boss.” In response, Liu laughs. + +He even gained access to the United Nations diplomatic community, sharing his office suite in Rockefeller Center with the Foundation for the Support of the United Nations. The foundation’s website says it is a nongovernmental organization founded in 1988 and that it is affiliated with the UN. A UN spokesperson confirmed that the foundation had “consultative status,” which gave its representatives entry to UN premises and activities. + +Liu became a financial benefactor of the foundation and was named its “honorary vice chairman.” Through the foundation, he was able to organize a conference at UN headquarters with speakers including publishing executive Steve Forbes and former Mexican President Felipe Calderón, according to interviews, photos and media accounts. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27395%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27395%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Credit: Photos of Liu with Steve Forbes (first image) and Felipe Calderón at the UN that Liu posted to Facebook + +The Bulgarian mission to the UN helped secure the venue for the event, and ambassadors from seven countries attended, according to online posts and interviews. The mission did not respond to a request for comment. + +Although it is startling that someone with Liu’s background could play a role in hosting an event at the UN, it is not unprecedented. In past cases, wealthy Chinese nationals suspected of links to crime and Chinese intelligence have [infiltrated UN-affiliated organizations](https://news.yahoo.com/china-wants-new-world-order-u-n-china-linked-ngos-secretly-paid-cash-promote-beijings-vision-145746181.html?guccounter=1) as part of alleged bribery and influence operations. + +Janet Salazar, the president of the foundation, did not respond to phone calls, texts or emails. Efforts to reach foundation board members were unsuccessful. Emails to Salazar and the foundation in New York bounced back. + +UN officials did not respond to queries from ProPublica about what vetting Liu received, if any. + +“We are not aware of the story of Mr. Tao Liu,” the UN spokesperson said. + +Calderón said in an email that he was invited through a speakers bureau to give a talk on sustainable development. The event included Asian participants who did not appear to speak English, Calderón said, and he had little interaction with them other than posing for photos. + +Forbes’ staff did not respond to requests for comment. + +Liu also met U.S. political figures through his latest romantic partner: a Chinese immigrant with contacts of her own. She introduced him to Félix W. Ortiz, then the assistant speaker of the New York State Assembly, who socialized with the couple on several occasions. + +Ortiz, a Democrat who formerly represented Brooklyn, did not respond to requests for comment. + +Because Liu was not a legal resident, U.S. law barred him from contributing to political campaigns. But he attended political events, according to photos, social media and associates. He also met with two veteran GOP fundraisers in the Asian community, Daniel Lou and Jimmy Chue. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27293%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27541%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Photos Liu posted to social media show him spending time with Daniel Lou and Jimmy Chue. Both were with him at a diner after a Trump rally they all attended in fall 2018 (first image; Lou is on the far left, Chue is second from right next to Liu). Liu also shared a picture (second image) with Chue and Lt. Steven Rogers (center), then a Trump campaign advisory board member, at a Manhattan restaurant in spring 2019. Rogers did not respond to requests for comment. + +“He was interested in political donations and fundraising,” Lou said in an interview. “He wanted to participate. He was willing to help politicians here. That’s for sure.” + +Lou said he did not engage in fundraising with Liu. In an email, Chue said he knew of “no illegal activities” related to Liu. He declined to comment further. + +On April 27, 2018, Liu’s friend Min contributed $5,000 to the New York Republican Federal Campaign Committee, campaign records show. In reality, Liu told Min to make the donation and paid him back, Min said in an interview. + +Min said he received the money in cash and did not have evidence of the alleged reimbursement. But if his account is true, it appears that Liu funneled a political donation illegally through Min, a U.S. citizen. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27333%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Photos on Liu’s social media show him rubbing elbows with political figures. Among them (clockwise from top left): U.S. Transportation Secretary Elaine Chao; Assistant Speaker of the New York State Assembly Félix W. Ortiz; New York Mayor Bill de Blasio; and Chair of the New York Republican Party Edward F. Cox and Lara Trump. Ortiz gave Liu an award at Blue Ocean’s launch ceremony. + +The New York GOP did not respond to emails, phone calls, or a fax seeking comment. + +### A Sit-Down With the President + +As he built his profile in Manhattan, Liu made it clear to associates that he was eager to meet Trump. For help, he turned to Cinque, the longtime Trump associate, according to interviews, photos and social media posts. + +Cinque, 86, heads the American Academy of Hospitality Sciences, which gives international awards to hotels, restaurants and other entities. It has given at least 22 awards to Trump ventures, including the Bedminster club, and it once billed Trump as its Ambassador Extraordinaire. + +Cinque has a colorful past. In 1990, he pleaded guilty to receiving stolen property, a valuable art collection, according to press reports. A profile in New York Magazine in 1995 quoted him discussing his interactions with “wiseguys” and a shooting that left him with three bullet wounds. + +In 2016, Trump told the Associated Press that he didn’t know Cinque well and was unaware of his criminal record. In an article in Buzzfeed, Cinque’s lawyer said his client had no connection to the mob. + +Liu dined with Cinque in May 2018 and they hit it off, according to photos and Liu’s associates. Cinque said he could make an introduction to the president, a close associate of Liu said. + +Cinque told ProPublica that people in the Chinese American community introduced him to Liu, describing him as a wealthy entrepreneur and a “good person.” Liu impressed Cinque with his luxury car and entrepreneurial energy. He said they could make a lot of money by pursuing a lucrative cryptocurrency venture, Cinque said. + +Liu and Cinque [got together](https://www.youtube.com/watch?v=cPw1NunVAMc) more than a [dozen times](https://www.youtube.com/watch?v=_OfVBMNCcO8), according to social media photos and interviews. At a June gala at the Harvard Club to launch Liu’s company, Cinque gave him a Six Star Diamond Award for lifetime achievement — an award he had [previously bestowed on Trump](https://www.youtube.com/watch?v=BamTC8qG69M). + +“He was gonna pay me big money for giving him the award,” Cinque said. “So I did an award. I didn’t check his background, I’m not gonna lie to you.” + +Liu indicated he would pay as much as $50,000 for the honor, but he never actually paid up, Cinque said. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27266%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27300%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Liu with Cinque at a United Nations conference (first image) and at the Bedminster golf club. + +Liu followed a familiar playbook for well-heeled foreigners seeking access to Trump, according to national security officials: pour money into his properties. + +In July, Cinque helped Liu rent a one-bedroom apartment above the 50th floor in Trump Tower by providing a credit report to the landlord as a guarantor, according to Cinque, a person involved in the rental and documents viewed by ProPublica. Liu paid a year’s worth of the $6,000 monthly rent upfront. Cinque believes Liu chose Trump Tower in an effort to gain favor with the president. + +Liu also told friends he joined the Bedminster golf club, three associates said. Liu told Min he paid $190,000 for a VIP membership, Min said. + +But Cinque doesn’t think Liu genuinely became a member. In fact, he said he brought Liu to Bedminster partly because Cinque hoped to impress Trump by persuading his well-heeled new friend to join the club. + +“I was trying to get him to join, where I look good in Trump’s eyes if he joined,” Cinque said. But he said Liu “never gave 5 cents. He was a deadbeat.” + +On July 20, CNBC aired an interview with Trump in which he complained about the trade deficit with China. + +“We have been ripped off by China for a long time,” Trump said. + +By the next day, Liu’s efforts to gain access to the president had paid off. He met Trump at Bedminster, according to interviews and photos obtained by ProPublica. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27519%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27519%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Liu posted a video on Facebook of Trump arriving by helicopter at Bedminster (first image). The second image is a photo obtained by ProPublica of Liu and Cinque meeting with Trump. + +The images show the president with Liu and Cinque at a table covered with food, drinks and papers. Three other men are at the table. Trump also posed for photos with Liu and Cinque. + +Liu was discreet about the conversation, according to Min. Cinque did most of the talking because of Liu’s limited English, Liu’s close associate said. + +ProPublica found a few details in an interview of Cinque by SINA Finance, a Chinese media outlet. In the video posted that September, Cinque and a manager of his company announced a business partnership with Liu involving blockchain technology and the hospitality industry. And then Cinque said he had introduced Liu to the president at Bedminster. + +“Antony Liu played a big role,” Cinque told the SINA interviewer. “Donald met him, and he wound up staying with him for three hours, just enjoying every moment.” + +The video displayed a photo of the president with Liu and Cinque during the visit. + +Cinque and Liu’s companies posted a shorter version of the interview on their social media pages. That video omitted the reference to Liu meeting Trump and the photo of the three of them. + +In the interview with ProPublica, Cinque gave a distinctly different version than the one he gave to the Chinese outlet. He said he brought Liu along because Liu implored him for the opportunity of a meeting and photo with Trump. Cinque also said he “exaggerated the truth” when he said Liu spent three hours with the president. + +The meeting lasted “maybe twenty minutes, a half hour,” Cinque said. + +Cinque was vague about the topic of the conversation with the president, indicating it had to do with the golf club and the awards he gives. + +Changing his account once again, he insisted that Liu did not say much. + +“He just sat there,” said Cinque, who also denied discussing Liu’s business deals with Trump. “How I could tell anything good to Donald about him where he’s gonna do a deal? First I wanted to see if I could earn anything with him.” + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27345%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +A still from Cinque’s interview with SINA Finance in which he says the two of them spent three hours with Trump at Bedminster. Credit: SINA + +Liu and Cinque met the president again that Sept. 22 during an event at Bedminster, according to interviews and photos. One photo shows Trump smiling with Liu, Cinque and three men who, according to a close associate, were visiting Liu from China for the occasion. + +The photos appeared on the Chinese website of the Long Innovations International Group, also known as the Longchuang International Group. The consulting firm owned by Lou, the GOP fundraiser, has organized events [allowing Chinese elites to meet U.S. leaders](https://www.motherjones.com/politics/2019/05/another-chinese-american-trump-donor-tried-to-sell-mar-a-lago-access-to-overseas-clients/). A caption with the photos said: “Longchuang Group and Blue Ocean expert consultant team Trump luncheon.” + +But Lou insists he didn’t know anything about such an event. He said colleagues in China controlled his company’s Chinese website. + +“I categorically deny I was involved in this,” Lou said. “I was not there. I did not know about it. Tao Liu did offer to me at one point: You are the pro-Trump leader in the community. How about organizing an event at Bedminster? ... But I did not.” + +Cinque, meanwhile, said he brought Liu and his visitors to the club. He disagreed with the company website’s description of an event with the president. + +“There’s no political — it’s a golf situation there,” he said. “And people love being in \[Trump’s\] company.” + +Although Cinque denied receiving money from Liu for himself or the president, he said he didn’t know if other visitors paid Liu for the chance to meet Trump, or if Liu made campaign donations through others. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27529%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27245%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Liu met Trump again at Bedminster in September 2018. The photos appeared on the Chinese-language website of the Longchuang International Group. + +Much about the two Bedminster meetings remains unclear. Did Liu arrange a political event for Trump in September? Or did he bring a group of visitors to the club and manage to encounter the president? Either scenario raises once again the question of vetting. + +The Secret Service screens all official presidential visitors for weapons and, along with White House staff, checks them in law enforcement and intelligence databases. Foreign nationals require added scrutiny that can include reviewing raw intelligence from overseas. If questions arise, the Secret Service can consult with the FBI and other agencies, said a former acting undersecretary for intelligence at the Department of Homeland Security, John Cohen, who worked on presidential protection issues. + +It is not clear if databases available to the Secret Service held information about the charges against Liu in China and his other alleged illicit activities. But by 2018, Chinese media reports and court documents had described the fraud case complete with photos of Liu. English-language press had also detailed his troubles in the South Pacific and China. Despite Liu’s use of different first names, a diligent web search could have found some of that information. + +But Liu apparently avoided background screening altogether, according to Secret Service officials, Cinque and other sources. Although visitors cannot schedule an official meeting with the president without being vetted, it is possible that they could communicate through the private club to set up an informal meeting, Secret Service officials said. Cinque said he took Liu to Bedminster on days he knew Trump would be there. + +The case is another example, national security veterans said, of unique vulnerabilities caused by the freewheeling atmosphere at Trump’s clubs. + +“Trump has chosen to reside in places that are open to the public,” Cohen said. “He has provided an opportunity to people who join these clubs to get access to him. We have seen that the president enjoys making himself available to people in these settings. A top priority for foreign intelligence is that kind of setting: infiltrating, gaining access. If the former president decides to allow access to criminals and spies, there is not much the Secret Service can do.” + +A week after the Bedminster visit, Liu accompanied the Chinese American GOP fundraisers to West Virginia to see Trump speak at a rally. Liu sat in the VIP section. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27520%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27297%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Liu attended a Trump rally and posted photos of it on Facebook. + +### In the Fall + +A year later, Liu’s American spree was in shambles. + +His romantic partner had a child, but they broke up. Liu accumulated angry business associates, including Min, who says Liu owes him $83,000. Liu owed another $2 million in a legal settlement with an investor who sued him for fraud in New York over a cryptocurrency deal, according to court documents. + +In the fall of 2019, Liu stopped paying rent at Trump Tower, according to associates and other sources. His family left behind a crib and a bronze statuette of Trump. Liu went to California and departed the country on foot via Tijuana, later saying he “snuck out” to travel with his Mexican passport, according to his associates, national security officials and court documents. + +By early 2020, Liu was back in Hong Kong. He set himself up in a high-rise hotel with a waterfront view. Then the pandemic shut down the world. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27586%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27540%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27540%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Liu’s Instagram documented his life in Hong Kong in the summer of 2020. + +Meanwhile, the DEA had filed charges against his friend Li. Agents scouring a trove of communications, photos and other data realized that Liu had been an important figure in Li’s criminal activity. + +The agents believed that Liu could tell them more about the money laundering for Latin American drug cartels and the alleged alliance between Chinese organized crime and the Chinese state. And his U.S. political activity intrigued and baffled them. They suspected that he had been operating in a gray area where crime and espionage mix. + +“The theory is he was gathering information and feeding it back to Chinese intelligence in order to keep him in good graces to allow him to do his criminality,” a former national security official said. “His currency was influence. And the Chinese would use him as necessary based on his influence. And he was a willing participant in that. The DEA thought it could use him to get at targets in mainland China.” + +But the pandemic had prompted Hong Kong to close its borders, and the authorities there were generally obedient allies of Beijing. + +The Special Operations Division of the DEA often goes overseas to capture desperados with elaborate undercover stings. In that tradition, the agents came up with a plan. + +In April 2020, Liu received a phone call. The caller spoke Chinese. He said he was a money launderer in New York. He said he had gotten the number from Li, their mutual friend in Mexico, court documents say. + +The name apparently did the trick. + +“Tao is in his apartment on lockdown,” Simms said. “He can’t go anywhere. He’s bored, talkative. He just talks and talks.” + +Liu talked about teaching Li the tricks of the money laundering trade, according to Simms and court documents. He reminisced about Li’s casino in Guatemala. He boasted about using five different passports to slip across borders. + +Soon, his new phone friend made a proposal, court documents say. He knew a crooked State Department official with a precious commodity to sell: bona fide U.S. passports. + +Agreeing to a price of $150,000 each, Liu requested passports for himself and associates, according to prosecution documents and former national security officials. One of the associates was linked to the 14K triad, the former national security officials said. + +By July, Liu had wired a total of $10,000 in advance payments. He received a realistic mock-up of his passport. He showed it off during a video call to Min. + +“I’ll be back in America soon,” Liu exulted, according to Min. + +In reality, the phone friend was an undercover DEA agent. Liu had taken the bait. DEA agents recorded their phone conversations over six months, court documents say. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27225%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Credit: For ProPublica + +But a complication arose. The DEA learned that the FBI was conducting a separate investigation of Liu, national security sources told ProPublica. + +FBI counterintelligence agents in New York became aware of him soon after he began spreading money around and cultivating political contacts in early 2018, national security sources said. Then his contact with Trump spurred an investigation to determine if Chinese intelligence was working with Liu to gain political access, the sources said. + +His years as a fugitive gave credence to that idea. Although Chinese authorities had been pursuing him in relation to the cryptocurrency scandal since 2015, China did not issue an Interpol notice for him until 2020. Chinese authorities apparently made little effort to arrest him while he sheltered in Hong Kong for nearly a year. + +The DEA and the FBI clashed over the imperatives of counterintelligence and law enforcement. FBI agents wanted to keep monitoring Liu to trace his contacts; DEA agents favored capturing him. + +The DEA prevailed. That October, the undercover agent told Liu he had arranged for a private jet to pick him up in Hong Kong, according to court documents and former national security officials. It would take him to Australia, where they would seal the passport deal in person. Agents sent Liu a menu for the flight complete with a choice of cocktail. He thought that was “very high class,” his close associate said. + +The stakes were high too. If Chinese authorities learned of the clandestine foray, a diplomatic uproar was likely. + +On Oct. 13, the weather was warm and rainy. The DEA’s private jet landed in Hong Kong. Liu came aboard without hesitation, according to an associate and former national security officials. + +Hours later, the plane touched down in Guam, which is a U.S. territory. DEA agents arrested Liu. + +“He was surprised,” the close associate said. “So many police cars. He said it was like a 007 movie.” + +### Epilogue + +On April 14 of last year, Liu pleaded guilty in a federal courtroom in Virginia to conspiracy to bribe a U.S. official in the passport sting and to conspiracy to commit money laundering. A judge sentenced him to seven years in prison. + +![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27529%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) + +Tao Liu Credit: Alexandria (Virginia) Sheriff’s Office + +But two explosive questions remain unanswered: why he had contact with Trump and other politicians, and whether he worked with Chinese spy agencies. + +The government has kept most of the story secret. Liu’s public court file does not mention his political activity. The DEA and Justice Department declined to discuss Liu with ProPublica. An FBI spokesperson said the agency could not confirm or deny conducting specific investigations. + +Liu, meanwhile, accepted an interview request. But the Bureau of Prisons refused to allow ProPublica to talk to him in person or by phone, citing “safety and security reasons.” + +The FBI investigation of Liu apparently focused on political and counterintelligence matters. Last year, agents questioned Min and at least two other associates of Liu. The agents asked Min about Liu’s interactions with Cinque and former Assemblyman Ortiz, and if Liu gave them money. Min said he told the agents he did not know. + +In an interview with the close associate of Liu, FBI agents asked about Liu’s contact with Trump, whether he raised money for Trump and Ortiz, his relationship with Cinque, and his contacts with politicians in China. They also asked about money laundering in Mexico, the close associate said. + +“I think the FBI thought he was a spy,” the close associate said. “I don’t think he’s a spy. His English is very bad. He just wanted to show off to Chinese people. This is the way a lot of Chinese business guys operate. A lot of American business guys, too. Getting close to politicians, taking photos with them.” + +Cinque said federal agents have not questioned him about Liu. + +“I just think he was a fraudulent hustler,” Cinque said. “I don’t think he would do anything against the country, but then I could be wrong. Look, he did a lot of things.” + +As often happens in counterintelligence cases, Liu remains an ambiguous figure: a con man, or a spy, or possibly both. People familiar with the case are suspicious about his ability to roam the world for years and his success at infiltrating high-level U.S. politics. + +“Guys like this never do this kind of thing on their own,” a national security source said. “They always do it for someone else.” + +Do You Have a Tip for ProPublica? Help Us Do Journalism. + +Got a story we should hear? Are you down to be a background source on a story about your community, your schools or your workplace? Get in touch. + +[Expand](https://www.propublica.org/article/liu-tao-trump-meeting-china-investigation#) + +[Jeff Kao](https://www.propublica.org/people/jeff-kao) and [Cezary Podkul](https://www.propublica.org/people/cezary-podkul) contributed reporting. + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.03 News/The Night Warren Zevon Left the ‘Late Show’ Building.md b/00.03 News/The Night Warren Zevon Left the ‘Late Show’ Building.md new file mode 100644 index 00000000..86a112e2 --- /dev/null +++ b/00.03 News/The Night Warren Zevon Left the ‘Late Show’ Building.md @@ -0,0 +1,138 @@ +--- + +Tag: ["Art", "🎶", "🪦"] +Date: 2022-10-30 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-30 +Link: https://www.theringer.com/music/2022/10/28/23426969/warren-zevon-late-show-david-letterman-anniversary +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]] +Read:: No + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-TheNightZevonLefttheLateShowBuildingNSave + +  + +# The Night Warren Zevon Left the ‘Late Show’ Building + +David Letterman, 20 years later, still thinks about the interview. “It was the only time in my talk show history that I did anything like that,” he says. “I’ve never sat down and talked to anybody on television where we both understood they were about to die.” + +[Warren Zevon](https://www.theringer.com/music/2018/9/7/17830460/warren-zevon-career-music-albums) appeared on *Late Show With David Letterman* on October 30, 2002. That summer, [he had been diagnosed](https://www.sun-sentinel.com/news/fl-xpm-2002-09-14-0209140082-story.html) with terminal lung cancer. Doctors gave him a few months to live. To say goodbye to the musician who had graced his stage dozens of times over the previous two decades, Letterman devoted a full episode to him. There were no Hollywood stars promoting a movie, no musical guests debuting a new single. It was just Zevon. He and Letterman chatted, and then he played three songs. + +“There are two things at work here, and only one of them I know for a fact: that when people get to be on television, they raise their game because they get to be on television,” Letterman says. “The other thing is, we guessed maybe that there was some pharmaceutical help. But it was stunning. And again, from my standpoint, do you expect a guy to be good-natured about it? I mean, God. It was weird.” + +The singer-songwriter’s final hour with Letterman unfolded into one of the most memorable moments of their careers. Like a classic Zevon track, their conversation was shockingly funny and casually profound. “David didn’t make it like a whole long greeting card,” says comedian Richard Lewis, a buddy of Zevon’s and a frequent Letterman guest. “It was just like two guys bullshitting on a park bench.” + +When Letterman asked his friend how his work had changed after learning that he was sick, he replied, “You’re reminded to enjoy every sandwich.” As soon as he heard it, Letterman’s longtime band leader Paul Shaffer knew the line would become famous. “Man, if I had only said that in my life,” he says, “I think my life would’ve been worth something.” + +Looking back on it now, Letterman can’t believe the send-off happened at all. “If I was dying, I’m not going to go and talk to anybody on TV about me and my impending death,” he says. “Selfishly, and of course under the circumstances, why would I think about anything other than myself? That’s all you need to know about what I am.” Zevon, however, seemed to savor the chance to give himself over to Letterman and his audience one last time. “He was kind of on a mission,” says *Late Show* producer and booker Sheila Rogers. “He knew what he was doing. He was almost revitalized a little bit. It was so important, this appearance.” + +Letterman admits that the idea of asking someone he revered questions about his mortality threw him off. “I just wasn’t grounded,” he says. But as “ill-equipped” as he claims that he was, he knows that his discomfort was a natural byproduct of the extraordinarily emotional circumstances. + +“One of the rare cases where I give myself a bit of a break,” Letterman says. “Because, holy shit!” + +When Letterman found out that Zevon was sick, he felt optimistic about his friend’s chances. “In the beginning, it seemed like something that he would outlive, that he would get by because it was described as ‘cancer,’” he says. “At some point the idea of lung cancer stopped being a death sentence. … So I think that in that little loophole, there was hope that, ‘Oh, well, he’s a young guy, he’ll still be all right.’” + +Then Letterman learned that the 55-year-old Zevon’s illness was [pleural mesothelioma](https://cancerwellness.com/entertainment/warren-jordan-zevon-mesothelioma/), an aggressive disease that affects the lining of the lungs. Yet despite his dire prognosis, Zevon wasn’t yet ready to publicly lapse into sentimentality. “I’m OK with it,” [he said in a September 2002 statement](https://www.billboard.com/music/music-news/zevon-diagnosed-with-untreatable-cancer-74245/). “But it’ll be a drag if I don’t make it till the next James Bond movie comes out.” + +The acerbic artist may have turned his death into an ironic joke, but he approached his dual role as a musician and provider with sincerity. Without much time left, he began work on a new album and went on a press [tour](https://www.rollingstone.com/music/music-news/warren-zevon-and-the-art-of-dying-38326/). He also made a plan to visit the *Late Show*. Technically it was to promote the release of a [new best-of record](https://en.wikipedia.org/wiki/Genius:_The_Best_of_Warren_Zevon), but it was really a going-away party. “Warren wanted to do the show,” Rogers says. “There was no question about it. I think the bigger issue was, would he be up for such a big undertaking? And then when we told Dave he was gonna come do the show, Dave said, ‘It should be his show.’” + +TV send-offs had happened before—Letterman points out that [Johnny Carson interviewed Michael Landon](https://www.youtube.com/watch?v=fl49E8JXpRk) on *The Tonight Show* in 1991 two months before the actor died of pancreatic cancer—but showcasing an artist who hadn’t had a Top 40 hit since [“Werewolves of London”](https://en.wikipedia.org/wiki/Werewolves_of_London) in 1978, even one whose days were numbered, was a fairly bold move in the hyper-topical late-night world. “Like so many nights that ventured from the normal, I sat in my office, watching the taping, worried whether or not we would make it,” *Late Show* writer Bill Scheft says via email. “And by that I mean: Can we make it through an entire taping? So often, we fall in love with the idea rather than the reality. And the reality, let’s face it, rarely measures up. Of course, it was an inspired idea, but it was so intensely personal to Dave. Could the reality possibly match?” + +Letterman had been an obsessive Zevon fan since his girlfriend recommended that he read [Paul Nelson’s 1981 *Rolling Stone* cover story](https://www.rollingstone.com/music/music-news/the-crackup-and-resurrection-of-warren-zevon-243661/) about the singer-songwriter. The profile, published three years after the release of his breakthrough third album, *Excitable Boy*, is a compendium of the artist’s self-destructive behavior. “I became interested in the guy because the story at the time was crazy and fascinating, not atypical as it turns out of artists,” the host says. “And it was that that caused me to start listening to his music.” + +He quickly realized that Zevon’s music was more interesting than his sordid image. His songs could be romantic, angry, self-loathing, political, violent, and funny—or a mix of all those. “I had the good fortune to go see him live in New York,” Letterman says. “I just thought, ‘Now wait a minute, this guy is a poet.’ He’s a historian. His music is unusual. It’s rock ’n’ roll, but nobody talks about these things.” + +Letterman is particularly fond of [“Desperados Under the Eaves,”](https://en.wikipedia.org/wiki/Desperados_Under_the_Eaves) the chronicle of a man’s descent into alcoholism while holed up in a Los Angeles hotel, and [“Roland the Headless Thompson Gunner,”](https://en.wikipedia.org/wiki/Roland_the_Headless_Thompson_Gunner) the tale of a Norwegian mercenary who seeks revenge against the man who killed him. “Jesus, I think he’s unique,” Letterman says. “He can take these ideas and sit down at the piano … it’s like a magic trick.” + +In the summer of 1982, just months after *Late Night With David Letterman* premiered on NBC, Zevon made his first appearance on the show in support of his album *The Envoy*. He returned five years later, shortly after getting sober, to promote his next record, [*Sentimental Hygiene*](https://en.wikipedia.org/wiki/Sentimental_Hygiene). Zevon started to come back more regularly in the early ’90s, following Letterman to CBS and occasionally filling in for Shaffer as band leader. The host was so fond of Zevon that during one of those stints, he sent a cooler full of steaks to the musician’s hotel room. “Dad gave them all to us because he couldn’t do anything with them in the hotel,” his daughter Ariel says in [*I’ll Sleep When I’m Dead*](https://bookshop.org/p/books/i-ll-sleep-when-i-m-dead-the-dirty-life-and-times-of-warren-zevon-crystal-zevon/8822879), her mother Crystal’s biography of Zevon. “So we went back with this enormous quantity of very high end steaks.” + +In 2001, Zevon asked Letterman to visit him in *his* studio. The musician had written a ballad with sportswriter Mitch Albom and wanted the host’s voice on it. That’s Letterman shouting the titular line on “Hit Somebody! (The Hockey Song),” an ode to the game’s goons. “It’s a bad acting job on my part,” Letterman says. “He’s standing in the God-dang room and I had to do it and then I realized years later when I heard it again, ‘Oh, that’s not what he wanted.’ I know exactly what he wanted, and I’m not sure I could accomplish that now. But listening to it after the fact, I realized, ‘Oh, you can tell I don’t know what I’m doing.’” + +But even if he wasn’t happy with his performance, Letterman concedes that he’s “pleased to have been in the song.” There was no way he was saying no to Warren Zevon. + + ![](https://cdn.vox-cdn.com/thumbor/l_DW2am7tUlR1ezTXaNOg5sbZK4=/0x0:2000x1310/1200x0/filters:focal(0x0:2000x1310):no_upscale()/cdn.vox-cdn.com/uploads/chorus_asset/file/24148354/GettyImages_470467388.jpeg)CBS via Getty Images + +*Keep the jokes coming.* Before the rehearsal, that was Zevon’s main request. “I don’t want any weird questions or anybody to say, ‘How are you feeling?’” Shaffer remembers him saying on that day in October 2002. “None of that.” + +Zevon wanted the performance to feel normal, but Shaffer knew it would be anything but. After all, the musician wanted to play three songs; artists on *Late Show* usually performed only one. “And it’s hard enough to do one, and sometimes when you finish the rehearsal, you’re almost tired,” says Shaffer, who recalls that Zevon used to fly into New York for *Late Show* a day early to make sure that he’d have time to clear his inevitable headache. “Forget about being sick with cancer.” + +The singer-songwriter’s mood during the warm-up eased Shaffer’s fears. “The band starts, the drums kick in, and he’s no different than any other musician, sick as he was,” he says. “He was getting into it in the rehearsal. And so obviously anybody would’ve been exhausted after that, but he went on and did that amazing show.” + +Leading up to the taping, it was Letterman—not Zevon—who was the most nervous person at the Ed Sullivan Theater. “I remember being uncomfortable about it from the very beginning,” he says. His 20-year relationship with Zevon made it difficult for the host to focus. “If I had not known the guy, it would’ve been easier for me to approach, to execute, to take care of,” he says. “But the fact that I knew the guy and knew what he was doing and thinking …” + +When the show started, Letterman succeeded in not succumbing to his self-consciousness. After beginning with [a traditional monologue](https://www.oocities.org/davidletterman82/LateShowTranscriptWarrenZevonsFinalAppearance.html) that featured jokes about disgraced celebrity publicist Lizzie Grubman and the murder charges against Robert Blake, he sat down at his desk and told the audience about the evening’s guest. With Shaffer’s help, he spoke of his own Zevon fandom, the musician’s history with the show, and the singer’s catalog. “This guy is the real deal,” the host said. “You know, he’s not one of these pretty-faced, phony rock ’n’ roll guys.” + +In hindsight, Letterman thinks that the introduction sounded stitled. “On paper, it just couldn’t be more, ‘OK, and your first guest would be somebody who only has a few months to live,’” he says. + +Lewis isn’t surprised that Letterman is so hard on himself. “I never would think David would feel good about much of anything,” the comedian says. “As magnificent as he was for such a long stretch, he’s just not the type of guy to go on about himself. That’s why he was so great. He was a perfectionist, and he would never feel that satisfied.” + +What Letterman saw as awkwardness came off as admiration. The episode was a tribute to a musician who’d been underappreciated; giving people a primer on his work was appropriate. Following a Halloween-themed Top 10 list, Letterman finally brought out the guest of honor. “A brilliant songwriter and a musician who has been a friend of ours for 20 years, and believe me it’s a thrill to have him here with us,” he said. “Ladies and gentlemen, please welcome Warren Zevon. Warren!” + +The well-tanned singer, wearing his signature dark glasses and a gray pinstripe suit with an open collar, came out with a smile on his face. After the two friends shook hands, they sat down at Letterman’s desk. “I guess a couple of months ago,” the host began, “we all learned that your life has changed radically, hasn’t it?” + +“You mean you heard about the flu?” Zevon joked. Then he let out a laugh that cut through the tension in the room like a machete. “When he laughed, his eyes would almost roll up like in a slot machine just as it’s coming to an end,” Lewis says. “And then each one would stop.” + +Letterman served as straight man to Zevon throughout the interview, deftly guiding him with straightforward questions that resulted in poignant (and often funny) answers. “Dave did an amazing job of not making it as awkward as it could have been,” says Shaffer, who during the show played several Zevon songs with his CBS Orchestra. “Warren’s days were numbered and he was here to talk about it. Not ignore it, but talk about it.” + +Zevon told the story of his diagnosis, which came after he experienced shortness of breath for months. “First of all, let me say that I might have made a tactical error in not going to a physician for 20 years,” said the singer-songwriter, whose trusty dentist, “Dr. Stan,” finally convinced him to see a medical doctor. + +When Letterman complimented him on looking “remarkably healthy,” Zevon quipped, “Don’t be fooled by cosmetics.” The host still marvels at how *on* the musician was that day: “He was vibrant, for God’s sake. And he had more energy than did I.” + +Eventually, things turned serious. Zevon told Letterman that he wanted to make the most of whatever time he had left. “I really always enjoyed myself. But it’s more valuable now,” he said, before dispensing his most famous piece of advice. “You’re reminded to enjoy every sandwich and every minute playing with the guys, and being with the kids.” + +The line was so good that it practically worried Scheft. “My memory is when he said that, I thought, ‘This will not get better,’” the *Late Show* writer recalls. “That line is positively Zen-like. Nobody can follow that.” + +It’s unclear whether Zevon had used it before, but it was perfect for the occasion. “It certainly encapsulates his overall presentation and seemingly upbeat mood about things,” Letterman says. “But yet signaling what he was up against.” + +The night confirmed the obvious about Letterman and Zevon: Their admiration was mutual. The singer-songwriter thanked the host for his support over the years, correctly pointing out that “Dave’s the best friend my music has ever had.” As the conversation wound down, Zevon owned up to the reality that having “lived like Jim Morrison” had consequences. “And then,” he said, “you have to live with the consequences.” He also acknowledged that after his diagnosis, the streak of gallows humor running through his work made songs like “I’ll Sleep When I’m Dead,” “Mr. Bad Example,” and “My Ride’s Here” feel prophetic. + + +One of the last things that Letterman asked Zevon was whether he now knew something about life and death that the host didn’t. And once again, the musician responded by talking about savoring every last bite of life. “Not unless I know how much you’re supposed to enjoy every sandwich,” he said. + +“I think Zevon probably really appreciated the way that David pursued the truth and how he was feeling,” Lewis says. “He enabled Warren to get all the information out on his terms. He wasn’t feeding him softballs for comments that would be either too dark or too depressing. It was just a mano a mano kind of thing. It was great.” + +As moving as the night was, it wasn’t a funeral. Zevon wanted to put on a show, and that’s what he did. With Shaffer and his band backing him, the musician, as promised, played three songs. The first, the title track off his 1995 album [*Mutineer*](https://en.wikipedia.org/wiki/Mutineer_(album)), was written from the perspective of a romantic rabble-rouser. “I was born to rock the boat / Some will sink but we will float,” Zevon sang, “Grab your coat, let’s get out of here / You’re my witness / I’m your mutineer.” + +Zevon’s next song, “Genius”—“modestly titled,” he deadpanned to Letterman—was also the name of his 2002 greatest-hits album. The self-referential cut, which name-checks several cultural icons, features one of Shaffer’s favorite lines: “Albert Einstein was a ladies’ man / While he was working on his universal plan / He was making out like Charlie Sheen / He was a genius.” + +“He *was* a genius, as far as I’m concerned,” Lewis says. “I hate that word. Now it’s thrown around like a rag doll. But he was clearly a genius.” + +Though Letterman never convinced him to play “Desperados Under the Eaves,” Zevon closed the show with another one of the host’s favorites, “Roland the Headless Thompson Gunner.” The haunting song ends with the titular ghost showing up in conflict zones around the world. “In Ireland, in Lebanon, in Palestine, and Berkeley,” Zevon belted out. “Patty Hearst heard the burst of Roland’s Thompson gun and bought it.” + +“At the end, he invokes Patty Hearst,” Letterman says. “And it’s just, I don’t know. It’s like a card trick.” + +The moment Zevon played the final note, the host walked to the piano and shouted, “Yes sir! There you go! Warren Zevon, everybody!” Letterman shook the musician’s hand. “Warren,” he said, pulling him close, “enjoy every sandwich.” + +He knew that there was no other way to end the evening. “It just seemed like for a lack of anything better to say,” Letterman says, “I will repeat what seemed perfect.” + +When the taping ended, Letterman and Zevon met in the musician’s dressing room. The host didn’t typically socialize with his guests after a show, but on this night he made an exception. “While we’re talking he just perfunctorily is taking his guitar, taking the strap off, doing whatever you do to a guitar,” Letterman remembers. “He gets out the case, and we’re continuing to talk and who knows what we’re saying. It was small talk. Just fill the air with something while he’s going through the business of putting the guitar in the thing. He puts it in, closes the lid, snaps it closed, hands it to me, and he says, ‘Take good care of this for me.’ And I burst into tears. Uncontrollable. I had no idea that I would be bursting into tears, but I did. And I hugged him and I said, ‘I just love your music.’ And that was it.” + +As emotional as Letterman was, it was the most grounded that he felt all day. “The only part of it that felt normal to me,” he says, “was after the show upstairs in his dressing room.” + +That was the last time Letterman saw or spoke to Zevon. Zevon outlived his prognosis by 10 months, getting to see the birth of his twin grandchildren and the release of his final album, *The Wind.* He died on [September 7, 2003](https://www.nytimes.com/2003/09/08/obituaries/warren-zevon-singersongwriter-dies-at-56.html), almost a year after his last public appearance—on the *Late Show.* + +To this day, Letterman is still the best friend Zevon’s music has ever had. In 2017, he inducted Pearl Jam into the Rock & Roll Hall of Fame. [He ended his speech](https://variety.com/2017/music/news/watch-david-lettermans-epic-pearl-jam-speech-at-the-rock-hall-of-fame-1202026963/) by stumping for an old pal: “I would just like to say one day I hope to come back here for the induction for my friend Warren Zevon.” When [Letterman was being awarded](https://www.vanityfair.com/hollywood/2017/10/david-letterman-bill-murray-kennedy-center-mark-twain) the Mark Twain Prize for American Humor later that year, Eddie Vedder honored him by singing Zevon’s bittersweet [“Keep Me in Your Heart.”](https://www.youtube.com/watch?v=tJHms53I_1o) At the end of the performance, Letterman caught up with the Pearl Jam lead singer. “He says, ‘Thanks for calling Warren to my attention,’” Letterman recalls. “And I thought, ‘You’re kidding me. You’re kidding me!’ Really? Am I the only one that knows about this guy?” + +At home, the retired host has a wall covered in guitars given to him by artists who played the *Late Show*. Gifts from Foo Fighters, U2, and Pearl Jam are all special. But Zevon’s stands apart. “It’s just my favorite,” Letterman says. “The others were sort of, ‘Hey, thanks. Enjoyed the gig,’ kinds of things. This was, ‘Thank you, and goodbye.’” + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.03 News/The Story Matthew Perry Can’t Believe He Lived to Tell.md b/00.03 News/The Story Matthew Perry Can’t Believe He Lived to Tell.md new file mode 100644 index 00000000..af05548b --- /dev/null +++ b/00.03 News/The Story Matthew Perry Can’t Believe He Lived to Tell.md @@ -0,0 +1,235 @@ +--- + +Tag: ["Art", "🎥", "🇺🇸"] +Date: 2022-10-30 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-30 +Link: https://www.gq.com/story/matthew-perry-men-of-the-year-2022 +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]] +Read:: No + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-TheStoryMattPerryCantBelieveHeLivedtoTellNSave + +  + +# The Story Matthew Perry Can’t Believe He Lived to Tell + +**To give a sense** ​​of what it might be like to read Matthew Perry’s remarkable, startling, and heartfelt memoir, *Friends, Lovers, and the Big Terrible Thing*, I’d like to share one particular reader’s experience: + +A few months after completing the book, Perry was scheduled to record the audiobook version. That was when it struck him that although he had written the book—and he really had written it himself, double thumbing the first half in the Notes app on his phone before finishing the rest on his iPad—he had never actually allowed himself to read it from start to finish. The following day, he would be expected to perform these words into a microphone. Perhaps he should take steps to prepare himself. So he lay on his bed, iPad in front of him, and dove in. + +Writing the book had felt *freeing.* “I was completely honest,” he says. “It just fell out of me. It just fell onto the page.” But this was the moment when its author discovered that it was one thing to have written the true story of Matthew Perry. It was quite another thing to read it. + +“I read it,” he says, “and cried and cried and cried. I went, ‘Oh, my God, this person has had the worst life imaginable!’ And then I realized, ‘This is me I’m talking about.…’ ” + +That night, Perry couldn’t even bear to be in the same room as his words. + +“Because I had to go to sleep,” he says, “I actually took the iPad and put it outside my room. Because it was too close, too painful.” + +Shirt, $1,290, by Zegna at Neiman Marcus. T-shirt, $78, by Hiro Clark. + +--- + +**Yes, this is** that Matthew Perry. The one who, a quarter of a century ago, played the endlessly charming, sarcastic, and needy Chandler on the most successful sitcom of its time, *Friends* (and thus, in a sense, the one who, in the never-ending loop of streaming TV’s eternal present, still plays Chandler on *Friends*). So what on earth could he be talking about? I mean, I daresay you may well have heard a few things about him over the years. That he’d had a bit of a drink problem? Taken a few pills? Gotten a little bit plump? Gotten a little bit skinny? Had an onward career that, in aggregate, more sputtered than soared? But none of that, let’s be frank, would be too far from the usual course of such things. In that case, if he’s now written a book, won’t it just be one more cuddly celeb memoir lightly seeded with guarded feel-good revelations about navigating fame’s tightrope and transcending one’s demons? + +Sure. Absolutely. Well, sort of. Not really. As in, yes, but only in a parallel universe where cuddly celeb memoirs include passages like this: + +*I’ve been in therapy since I was 18 years old, and honestly, by this point, I didn’t need any more therapy—what I needed was two front teeth and a colostomy bag that didn’t break. When I say that I woke up covered in my own shit, I’m talking 50 to 60 times.* + +--- + +**“I have to order** something healthy,” Perry announces. We have arranged to meet for dinner at the private members’ club Soho House in West Hollywood, not far from where Perry is renting a home in the hills, while a multi-year renovation of a house he’s bought in the Pacific Palisades—“gorgeous view of the ocean, kind of a dream house kind of thing,” he explains—is being completed. + +Whatever his other woes, Perry remains untouched by poverty. Toward the end of *Friends*’ run, each of its six stars were paid more than $1 million each per episode, and he still has plenty left. “I’m not the kind of guy that’s going to go blow a million dollars on something pointless,” he explains. Though he’ll also tell me—we’ve known each other for just under three minutes at this point—about one time he did do something financially reckless on a much bigger scale. This involved a previous property purchase, a 10,400-square-foot Los Angeles penthouse totally unsuited to his needs in almost every way other than that it resembled the apartment occupied by Christian Bale’s Batman in *The Dark Knight.* Perry’s reasoning, if that is the correct word, was: “Bruce Wayne had a penthouse—I’m going to have one.” It didn’t take him long to realize “what a stupid mistake that was.” + +I ask whether it was even fun for a while. + +“Maybe the first few days, when you got lost in it. But after that it was like: Why did I do this?” + +Perry’s phone, lying on the table between us, has a decal of the traditional Batman wingspan logo on it. Perry has, it turns out, a Batman thing. He is a big fan, particularly of the three Christopher Nolan movies, and mentions that he is building a dedicated Batman room in the new house (“a Matt cave,” he deadpans), with pool table, big TV, and black couch surrounded by shelves of his Batman paraphernalia. When I press him further about this preoccupation with Batman, Perry simply responds with a surprising assertion. + +“I am Batman,” he says. + +A little confused, I ask him to explain. + +“Well, he’s a rich loner,” he answers. “We both drive black, cool cars.” (Perry drove himself here in a 2021 Aston Martin Vantage V8 Roadster, a model he selected for its Batmobile-esque qualities.) “I don’t solve crime,” he adds. “But I’ve saved people’s lives.” + +Perry orders the meatball starter, and a burger with no bun, no fries—just a patty and some ketchup—and begins to explain. There’s a lot to explain. + +Shirt, $600, by Tom Ford at Neiman Marcus. T-shirt, $78, by Hiro Clark. Jeans, $218, by 7 for All Mankind at Neiman Marcus. His own sneakers, by John Varvatos. + +The “big terrible thing” that appears in the title of Perry’s book, and which lies at its center, is his addiction. “In the dictionary under the word *addict,*” he writes, “there should be a picture of me looking around, very confused.” + +“It’s a book about the rise and rise of my fame, all while battling this horrible addiction,” he says. “It’s dedicated to ‘all of the sufferers out there. You know who you are.’ And the point of it is to teach that addiction can hit everybody, and make people feel less alone.…” That’s the saving lives he’s talking about, the work he has done both in public and one-on-one for many years now, helping others with addiction even as his own struggles have persisted. “There has to be some reason why I’m still here, having done all of this crazy stuff, and I came to the conclusion it’s to write a book that will help people who are going through the same thing that I am, or did,” he tells me. “Plus, I wanted the general public to realize how hard it was to quit and not be judgmental for people who are using. Because it is really, really hard.” + +Or, as he puts it in the book: “My mind is out to kill me, and I know it.” + +“It’s not an ego journey or anything like that,” he says. “It’s the cold, hard truth about being an addict. Who made it. Who has to make it every day. The work you have to put in every day to save yourself from this monster that lives in your brain is a baffling thing to live with.” + +--- + +**The bravery of Perry’s** book is not just in what he says, or how he says it, and how unflinching he is in his commitment to say it, but that he chose to say it at all. + +It was only about 18 months ago that Perry started to write, sitting in the back of a car, traveling to a facility in Florida where he was to undergo trauma therapy—“trauma camp,” he calls it. He notes in the book’s prologue, “I have lived half my life in one form or another of treatment center or sober-living house,” and that is just one of the many alarming empirical measures he supplies of the troubles he’s faced. For instance: “I have spent upward of $7 million trying to get sober. I have been to six thousand AA meetings…I’ve been to rehab 15 times. I’ve been in a mental institution, gone to therapy twice a week for 30 years.…” Likewise: “I’ve detoxed over 65 times in my life….” Or: “My weight varied between 128 pounds and 225 pounds during the years of *Friends.* You can track the trajectory of my addiction if you gauge my weight from season to season—when I’m carrying weight, it’s alcohol; when I’m skinny, it’s pills. When I have a *goatee,* it’s *lots* of pills.” And also: “People would be surprised to know that I have mostly been sober since 2001. Save for about 60 or 70 little mishaps over the years.” + +What Perry details is the incremental progress of an unraveling beyond his control. For instance, there was that first drink in his backyard with friends at the age of 14 when his friends ended up vomiting but he discovered something else: “I realized that for the first time in my life, nothing bothered me. The world made sense; it wasn’t bent and crazy. I was complete, at peace.… I thought; *this is what I’ve been missing. This must be how normal people feel all the time.*” Then there was the Jet Ski accident on Lake Mead between *Friends*’ second and third season, after which a doctor gave him a single pill. “As the pill kicked in, something clicked in me,” he writes. “And it’s been that click I’ve been chasing the rest of my life.” Eighteen months later he was taking 55 Vicodin a day. + +Aside from anything else, Perry tells me, what he faced was a logistical challenge—each morning he would wake and wonder how he would get that day’s pills: “I had, like, eight doctors going at the time. A fake headache here and there, a fake back pain. But I had to do it every day.” And it is when we are at our most desperate that we are sometimes at our most inventive. Popular culture is saturated with tales detailing the desperate strategies that those without means sometimes adopt to find the drugs they need, but those with greater privilege have other options; Perry pioneered a particularly ingenious one. + +Let’s take just this one story to represent the levels of surreal distortion and subterfuge in this period of his life. Over a period of about five years, during peak *Friends,* he would often make appointments on the weekends to see high-end properties, ostensibly with a view to buying them. Perhaps he was interested in the house, perhaps he wasn’t—either way, he had a parallel covert agenda. Finding an opportune moment, at some time during the visit he would slip away. “I would just go into the bathroom when they were somewhere else,” he explains. “Because if I said, ‘Could I go to the bathroom?’ everybody knew that I was in the bathroom.” There, he would take an inventory of the current occupier’s medicine cabinet, and assess the possibilities. Sometimes there was nothing, but often enough he found the kind of fruit he was seeking. Now he had to decide which, and how much, was ripe for harvest. In his own way, he was careful. He’d check the labels. Best of all were if the pills were out of date—he felt safe taking a whole bunch of those. A brand-new prescription, he wouldn’t chance taking more than a couple. “But you do what you need to do,” he says. “I counted on the fact that no one would think that Chandler went through my medicine cabinet and stole from me.” + +As far as he knows, he always got away with that, and he kept doing what he could to hide his wider dissolution—whether pills or drinking. “It was a secret,” he says. “Because there was something wrong with me, and I didn’t know what. And I couldn’t stop or I thought I would go crazy.” Still, if he imagined that the fraying seams weren’t showing, he was fooling himself. “Everybody knew,” he reflects. “The cast of *Friends* knew. Jennifer Aniston took me aside once and said, ‘We know you’re drinking’. And I said, ‘How do you know?’ And she said, ‘We can smell it.’ And that didn’t stop me.” + +Soon came another of many rehabs, and onward into the decades of yo-yoing summarized in the statistics above. Along the way, there have been sustained periods of relative well-being, but everything crescendoed with a calamitous series of events that kicked off in July 2018 when, after being raced from his latest rehab to the hospital in excruciating pain, Perry’s colon exploded. (He had been constipated for 10 days from his body’s reaction to drugs taken as both abuse and treatment.) His family was told that he had a two percent chance of surviving the night, and he was in a coma for two weeks. He would remain hospitalized for five months. It was while he was unconscious that he was fitted with a colostomy bag—“a look even I couldn’t pull off”—which facilitated the safe routing of solid waste out of his body while his intestines healed. When it worked, anyway. “I would wake up,” he tells me, “the bag would have broken again and I had shit all over my face, all over my body, in the bed next door. When it breaks, it breaks. You have to get nurses.” + +After nine months with the colostomy bag, an operation was scheduled to remove it. (Perry notes that he has had 14 surgeries to date relating to this hospitalization. Perry also lost his front teeth in this period after biting into a piece of peanut-butter-covered toast, and ultimately had to have *all* of his teeth replaced.) But this first attempt at removing his colostomy bag didn’t work. Instead, Perry had to be given a temporary replacement: an ileostomy bag. “Ten times worse. You have to deal with an ileostomy bag 18, 19 times a day. A lot of suicides with an ileostomy bag. People can’t take it.” The next surgery, soon afterward, thankfully fixed things. “And I’ve lived without it now for a long time,” he says, “and I’m very grateful.” + +Inevitably, he has been left with plenty of scars. “I’m just getting used to how my body looks,” he says. “I look at them with gratitude, because it helped me stay alive. But I have to live my life 24/7 with all of this scar tissue I’m constantly aware of. It feels like I’m doing a sit-up at full stretch all the time.” + +--- + +**Are you presuming** by now that you know how the rest of this story goes? That, after such a brutal and harrowing experience, sidestepping death by a slither, Perry left the hospital and returned into the world finally cleansed of the impulses that had long tormented him? + +If only stories like this had such clean, pure contours. Here is how, in his book, Perry describes what actually happened: + +*The first time I took my shirt off in my bathroom after returning from the hospital after my first surgery I burst into tears. I was so disturbed by it. I thought my life was over. After about half an hour I got my shit together enough to call my drug dealer.…* + +When I ask Perry about this, he repeats what one of his therapists likes to say: “Reality is an acquired taste.” He knew what he’d survived. But he still wanted drugs. “It didn’t matter,” he says. “I needed to take them.” + +That’s why he would soon enough end up in yet another rehab, in Switzerland. There, he says, he nearly died for a second time. He tells me that, during a surgical procedure, he’d been given propofol—notorious, Perry notes, as “the drug that killed Michael Jackson”—and his heart stopped. For, he was told afterward, *five minutes*. + +“This huge, strong guy leaped on top of me,” Perry says, “and did CPR, and broke eight of my ribs and saved my life.” + +More recently, Perry says, things have gotten much better. He now insists, for instance, that he will never take OxyContin again because it is lodged in his brain that, if he does, he will end up with a colostomy bag for life. + +I inquire whether it’s appropriate to ask him how long it now is since he slipped. + +“I’m going to keep that to myself,” he replies. “It’s been a little while.” + +I ask whether there’s anything more he can add to that. + +“Just that it’s going well now. I understand more now. I’m less ruled by fear now. One of the things I learned is I can handle when bad things happen now. I’m resilient, I am strong, and those things should come very clearly to the reader in the book as well. I am a strong man and I never gave myself credit for that, ever. But now I’m slowly starting to.” + +Perry will leave Soho House at the end of tonight’s conversation carrying the two portions of sticky toffee pudding—“the best dessert I’ve ever had in my life”—that he is taking back to people waiting at his house. His plan is to watch this year’s *The Batman* (to his surprise, he has accepted this into his approved Batman canon) for maybe the sixth time, though in the end he’ll settle down with the John Grisham book he’s reading. On the way out, he passes some other guests heading in the opposite direction. In their wake, their muttered words hang in the air. + +“It’s Chandler…it’s Chandler…” + +“That happens every day,” he says, evidently bristling. + +Exactly how Perry feels about the way he’s perceived by the world, it’s not simple. When he says to me at one point, “It’s a very serious book—maybe people will take me more seriously,” I ask him whether he doesn’t think people take him seriously. He gives the following answer, one maybe offering a snapshot of the twisting, turning contortions inside: + +“I do, but maybe more so when they hear all this. You know, the Chandler show, the Matthew Perry show, the ‘Ah! Ah! Ah!,’ the song-and-dance man, the guy who’s funny all the time—I don’t have to be that anymore. And I’ve known that for about 10 years. I don’t have to do that. In fact, it’s probably pretty annoying to people, so I don’t do it anymore. I’m funny when I want to be, but I don’t feel the need to be funny.” + +--- + +**A whole other** seam of Perry’s book, as signaled by the …*Lovers*… in its title, relates to the relationships he has had. This, too, often makes for uncomfortable reading. Perry clarifies to me that only once has a partner dumped him, a circumstance he didn’t take too well: “I lit candles in my house and drank and drank and drank over that, for about two years.” Instead, his practiced routine has always been to preempt this possibility by breaking up with people before they can do the same to him, to obviate the rejection he fears will leave him—the word he chooses—“annihilated.” + +Perry spells out to me how it goes: “I break up with them because I’m deathly afraid that they will find out that I’m not enough, that I don’t matter, and that I’m too needy, and they’ll break up with me and that will annihilate me and I’ll have to take drugs and that will kill me. That’s why I break up with these wonderful women that have crossed my path. You know, I’m not being dramatic when I say there’s 10 women on the face of the planet that I would kill to be married to. Who I’ve gone out with and broken up with. And now they’ve all moved on, all of them, and are married and have kids. And you’re not supposed to look in the rearview mirror because then you’ll crash your car. But I looked in the rearview mirror and I was like, they’re all gone. They’re all happy, which is great, but I’m the one who’s sitting in a screening room by myself. And there’s no lonelier moment than that.” + +In the book he doesn’t name most of the women who have slipped in, and then out, of his life, but there are exceptions. For instance, he refers in passing to a brief encounter he says took place the summer before *Friends* was first broadcast: “a make-out session in a closet with Gwyneth Paltrow.” When I mention this circumstance to Perry over dinner, he says, “hopefully, she’ll find it to be a cute story…it’d be bad if Gwyneth Paltrow hated me; I wouldn’t like that.” *Friends*\-centric readers will presumably be interested in one relationship that did not occur. In the book, he reveals that he and Jennifer Aniston had first met through people they knew three years before *Friends,* and that he had asked her out but been rebuffed. Finding himself on the same show, his interest rekindled. “I realized that I was still crushing badly on Jennifer Aniston,” he writes. “Our hellos and goodbyes became awkward. And then I’d ask myself, *How long can I look at her? Is three seconds too long*?” + +“That was a fun crush that never really was taken seriously,” Perry tells me, “because of a ridiculous disinterest from her. And it wasn’t like I *longed* for her. I just thought she was beautiful and great, and so I had this kind of little-kid crush on her. And then it waned, you know. After she got married, I was like, well, that’s it, I’m ending this crush right here and now.” (Historical fact: Aniston started dating her future husband, Brad Pitt, before *Friends*’ fifth season.) + +I ask Perry whether he’s ever told Aniston how he felt? + +“No.” + +I ask what she’ll think to discover it? + +“She’ll be flattered,” he suggests, “and she’ll understand.” + +Lisa Kudrow wrote his book’s introduction—“the first time I’m hearing what living with and surviving his addiction really was,” she explains—but he says his other costars haven’t read it. “Nor do I think that they will,” he tells me. I express my incredulity. “Why would they read it?” he asks. “I don’t know. Because, you know, who cares? Addicts are going to care about this, and fans of *Friends* are going to care about this. But the cast is not going to really care about this.” + +The relationship on which Perry lingers longest is with Julia Roberts. He describes their extended initial flirtation by fax—as he summarizes it to me, “the courtship is *unbelievably* romantic”—and refers to a day they spent together on New Year’s Eve 1995 in Taos as “the day I wish I could live over and over again.” But eventually, as ever, Perry called things off. “I can’t begin to describe,” he writes, “the look of confusion on her face.” + +I ask him how he actually told Roberts. + +“We were driving in a car and being chased by paparazzi,” he answers, “and I said, ‘I want to break up with you.’ Because I think she fancied herself slumming it with TV Boy. And then TV Boy just broke up with her. And you know that the reason I did that was purely out of fear. I needed to get out.” + +And what was her immediate reaction? + +“She was upset. And couldn’t believe it.” + +Have you discussed it with her since? + +“No.” + +Do you run into her? + +“No, I have not run into her. I assume she would be falsely nice. And, you know, I’m sure she’s, of course, moved on.” + +I ask whether Roberts knows he’ll be saying any of this in the book. + +“No. But I think she’ll be flattered because I say nothing but wonderful things about her. And the reason I broke up with her is out of sheer fear. I was like, She’s going to dump me any minute, so I should probably dump her first. And that was fear-based and probably stupid. But that’s what I did.” + +--- + +**It is essential** to Perry’s hard-fought understanding of what afflicts him that it is not a character flaw or a weakness, it is a disease. + +“That’s what alcoholism is,” he says. “It doesn’t decipher between the super wealthy or the guy who lives in the rent-controlled apartment. It doesn’t care. It just goes randomly to whoever has the gene. And that’s a message I want out there.” In a way, the most painful parts to read of his book are when he repeatedly returns to the theme of what he would renounce to not be as he is: “I would give up all the money, all the fame, all the stuff…to not have this disease, this addiction.” I think he keeps saying it in different ways because he knows full well how hard it will be for people to believe him, and he wishes they would. + +When I ask him whether it feels unfair to him that this is the brain he ended up with, his answer comes quickly, and firmly. “Yes,” he says. “It does.” + +I further ask Perry what people misunderstand about him. + +“That I’m weak,” he replies. “That I want to party all the time. That I have no will. You know, all the misconceptions people have about addicts.” He likes to imagine a world where he will be remembered less for *Friends*—“*Friends* being an absolutely wonderful experience”—than for helping others get sober. + +These days, he plays a lot of pickleball, hangs out with friends, gets into shape, goes to the movies. And sometimes he writes. Aside from this book—which, I suspect, may make more of a mark than he yet realizes—he has written for TV and wrote a play that was produced in London and New York. He recently wrote a movie script, *One Year Later,* that he wants to direct, in which a couple break up and the girl is about to marry “the wrong guy.” When he wrote it, he imagined that he’d play the right guy. “And then realized I was 20 years too old to play the part,” he says, laughing. “Because these are mistakes that 30-year-olds make, not that 53-year-olds make.” Not typical 53-year-olds, he means. “I make them!” he clarifies. + +Though in his own life he believes that he’s now worked out enough of “these core fears” that the mistakes of his past need not determine his future. “It took decades to do it, but I have,” he says. “I believe that I am enough, and I believe that I’m not too needy, and I believe that I do matter.” And so he can now say this: “I know that the next person I date, if it’s good, will be significant, because I’m no longer mired in those kinds of fears. So I’m looking forward to that. I’m not out on the hunt for it or anything, but if it happens it’d be nice.” He’d like to start a family. “I think I’d be a great dad. And now I think I’d be a good husband. But not back then.” + +Perry tells me that he could say that this is the happiest he’s ever been, and then quantifies it as a 7 on a scale of 1 to 10. “Which’ll probably be the highest I’ll ever get,” he says. “Maybe if I had a kid it would move me up.” + +Conversely, he clues me in on some of the signs that might indicate that things were heading in the wrong direction. + +“There’s little hints,” he says. “If somebody says, ‘How are you?’ and I say, ‘I’m fine,’ that’s how you know that I’m in trouble. If I have a big goatee, I’m in trouble.” + +*What are the other telltale signs?* + +“Being too thin. Being too fat. Falling down flights of stairs. Those kinds of things.” + +He starts to describe what could happen. “Like, if I decided to take OxyContin now—first of all, I wouldn’t do it because of the colostomy bag fear—but if I decided to take opiates now, narcos, Vicodin, any of those, I’d have a really, really good month, because it gives you energy and it makes you feel good. I’d have a good month. And then I’d be completely fucked up.” + +Just hearing Perry spell this out so methodically is sufficiently alarming enough that I reflexively blurt out: Please don’t. + +“I won’t,” he replies. + +**Chris Heath** *is a GQ correspondent.* + +--- + +**Watch Now:** + +**10 Things Matthew Perry Can't Live Without** + +--- + +**PRODUCTION CREDITS:** +*Photographs by **Ryan Pfluger*** +*Styling by **Andrew Vottero*** +*Hair by **Sierra Kener** for 901 Artists* +*Grooming by **Sonia Lee** for Exclusive Artists using La Mer and Oribe* +*Tailoring by **Yelena Travkina*** +*Produced by **Annee Elliot Productions*** + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.03 News/The mysterious reappearance of China’s missing mega-influencer.md b/00.03 News/The mysterious reappearance of China’s missing mega-influencer.md index 6b4a93dc..699a98c1 100644 --- a/00.03 News/The mysterious reappearance of China’s missing mega-influencer.md +++ b/00.03 News/The mysterious reappearance of China’s missing mega-influencer.md @@ -12,7 +12,7 @@ CollapseMetaTable: true --- Parent:: [[@News|News]] -Read:: No +Read:: [[2022-10-27]] --- diff --git a/00.03 News/What Happened to Maya.md b/00.03 News/What Happened to Maya.md index 0651837e..eb6f9534 100644 --- a/00.03 News/What Happened to Maya.md +++ b/00.03 News/What Happened to Maya.md @@ -12,7 +12,7 @@ CollapseMetaTable: true --- Parent:: [[@News|News]] -Read:: No +Read:: [[2022-10-27]] --- diff --git a/00.03 News/What ‘The Trump Tapes’ reveal about Bob Woodward.md b/00.03 News/What ‘The Trump Tapes’ reveal about Bob Woodward.md new file mode 100644 index 00000000..21296106 --- /dev/null +++ b/00.03 News/What ‘The Trump Tapes’ reveal about Bob Woodward.md @@ -0,0 +1,113 @@ +--- + +Tag: ["Politics", "🇺🇸", "Trump", "📖"] +Date: 2022-10-30 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-30 +Link: https://www.washingtonpost.com/media/2022/10/25/trump-tapes-bob-woodward-reporting/ +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]] +Read:: No + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-WhatTheTrumpTapesrevealaboutWoodwardNSave + +  + +# What ‘The Trump Tapes’ reveal about Bob Woodward + +In June 2020, Bob Woodward received one of his many unexpected phone calls from Donald Trump. When their conversation turned to the rapidly growing protests following the police murder of George Floyd weeks earlier, the journalist took a personal tack in pressing the president of the United States on the nationwide outpouring of grief and anger. + +“I mean, we share one thing in common,” Woodward told Trump. “We’re White, privileged. … Do you have any sense that that privilege has isolated and put you in a cave, to a certain extent, as it put me — and I think lots of White, privileged people — in a cave? And that we have to work our way out of it to understand the anger and the pain, particularly, Black people feel in this country? Do you see —” + +Trump cut him off. + +“No,” he said sharply. “You really drank the Kool-Aid, didn’t you? Just listen to *you*. Wow. No, I don’t feel that at all.” + +The exchange is captured within “[The Trump Tapes](https://amzn.to/3F7cocN),” Woodward’s new audiobook centered on 20 interviews he conducted with Trump for his 2020 book “Rage.” Woodward, an associate editor at The Washington Post, said he took the unusual step of releasing the audio because he felt it offered new insight into Trump’s worldview. “When you get the voice out there, it’s a total, completely different experience,” Woodward told The Post. In the Kool-Aid exchange, Trump holds forth in a mocking tone, with a hint of a sneer. At other points, he sounds meanderingly repetitive, or blazingly defiant. + +The warrant authorizing the search of former president Donald Trump’s home said agents were seeking documents possessed in violation of the Espionage Act. (Video: Adriana Usero/The Washington Post) + +Yet “The Trump Tapes” also offers a surprising window into the legendary investigative reporter’s process — a perennial focus of both mystique and critique. At various points, Woodward argued with Trump, sympathized with him, and — in one phone call that Woodward’s own wife suggested crossed an ethical line for a journalist — seemed to advise the president on how to manage the pandemic. + +Woodward, 79, has written books about U.S. presidents since Nixon. “In my process I do deep background interviews with dozens, hundreds of sources,” he said, though all of his interviews with sitting presidents, going back to George W. Bush, have been on-the-record. Yet the experienced interviewer said that in re-listening to his Trump interviews, he regretted some of his choices. + +When Woodward asked Trump in another June 2020 conversation if he would refuse to leave the White House if the election was close or contested, Trump refused to comment — a rarity in their conversations — and changed the subject. + +“As I listen to that again, I fault myself for not following up on that,” Woodward told The Post. + +Listening to “The Trump Tapes” may be a jarring experience for audiences accustomed to more polished radio or television news interviews, in which broadcast journalists ask rigorously crafted questions meant to inform the audience as well as prompt the subject — and then respond to their subjects in the moment by fact-checking, pushing back or calling attention to shocking comments. + +Woodward, though, did not audibly react to many of Trump’s more startling quotes. (Even when, as he described of one exchange in the voice-over commentary that provides an overlay of fact-checking throughout the audiobook, he was “absolutely stunned.”) And he did not take a confrontational stance — which he says was intentional. Arguing would have proved counterproductive, he said, for interviews that were designed simply for his own information-gathering. + +The tapes also show Woodward struggling to extract basic information from Trump, as the former president spins off on tangents or repeats himself about unrelated matters. Yet Trump would often initiate phone conversations at unexpected hours and talk at length, Woodward told The Post — even as Trump claimed that he didn’t have time to sit down with the White House’s top infectious-disease expert, Anthony S. Fauci. + +In one exchange, Woodward highlighted for Trump their shared disdain for the [Steele dossier](https://www.washingtonpost.com/national-security/2022/10/18/igor-danchenko-john-durham-verdict/?itid=lk_inline_manual_26) — a compilation of memos by a former British intelligence agent suggesting Trump ties to Russia. + +In early 2017, Trump had happily tweeted about Woodward [calling the dossier “a garbage document” during a “Fox News Sunday” appearance](https://nypost.com/2017/01/15/bob-woodward-calls-trump-dossier-garbage/), and Woodward reminded Trump of this in a 2019 conversation. “You tweeted a thing, ‘thank you,’ and everyone piled on me: *How can you say that?! This is a holy document!*'” the journalist added with a tinge of sarcasm aimed at his naysayers. + +Woodward told The Post that his past comments about the dossier may have encouraged Trump to speak with him. But he thinks Trump was also influenced by Sen. Lindsey O. Graham (R-S.C.), who reassured him that Woodward would not put words in his mouth. + +Meanwhile, the audiotapes suggest that Trump was determined he could win Woodward’s esteem, repeatedly referring to his prowess as a leader in terms like “nobody else” or “I’m the only one.” + +Woodward’s interviewing style turned more confrontational during an April 2020 call, amid the growing pandemic crisis — to the point that he found himself lecturing Trump. The tapes show the journalist pushing Trump to take a more forceful government response. + +“If you come out and say ‘This is a full mobilization, this is a Manhattan Project, we are going — pardon the expression — balls to the wall,’ that’s what people want,” Woodward told Trump, sometimes shouting and interrupting the president to make his argument. + +“I’m going to do what you would like me to do, which I am doing,” Trump later replied, after hearing Woodward’s case. + +“No, no, that’s not — ” Woodward said, apparently aware that his comments had come across like advocacy, but Trump cut him off. + +In his interview with The Post, Woodward acknowledged that his approach in that conversation was “really unusual for a reporter.” But he had previously spent several weeks talking to top health experts in the government who said they couldn’t get through to Trump about the seriousness of the crisis, and he felt an obligation to present their list of recommended actions to Trump, to make sure the president knew what the experts were saying. + +“We were in a different world,” Woodward told The Post, citing the accelerating death toll. “You have to take the public interest first in this case.” + +Though Woodward repeatedly told Trump that the recommendations were “based on my reporting” and that he was speaking “as a reporter,” after the call, his wife, journalist Elsa Walsh, told him it sounded as if he were telling the president what to do. + +In July, Woodward pressed Trump again on his plan for tackling the pandemic. “You will see the plan. Bob — I’ve got 106 days. That’s a long time.” By mentioning the 106 days until the election, Trump seemed to be viewing questions about the crisis through the lens of his reelection bid. In his voice-over commentary, Woodward noted: “I did not know what to say.” + +In the audiobook, Woodward also revisits an interview that previously generated criticism of his reporting methods. + +When “Rage” was released in September 2020, some readers were shocked by Woodward’s revelation that Trump — who had spent months downplaying the threat of [coronavirus](https://www.washingtonpost.com/coronavirus/?itid=lk_inline_manual_48) — [had told the author in February](https://www.washingtonpost.com/politics/bob-woodward-rage-book-trump/2020/09/09/0368fe3c-efd2-11ea-b4bc-3a2098fc73d4_story.html?itid=lk_inline_manual_48) of that year that the coronavirus was far deadlier than the flu. + +Woodward found himself on the defensive from critics who asked why he hadn’t published that interview as soon as it happened — along with a later interview in which Trump said he downplayed the virus “because I don’t want to create a panic.” + +The writer [explained at the time](https://www.washingtonpost.com/lifestyle/media/should-bob-woodward-have-reported-trumps-virus-revelations-sooner-heres-how-he-defends-his-decision/2020/09/09/6bd7fc32-f2d1-11ea-b796-2dd09962649c_story.html?itid=lk_inline_manual_52) that he was aware that Trump frequently uttered falsehoods during their interviews and that it took him months of additional reporting to corroborate Trump’s comments on the coronavirus and perceive their relevance. + +“The Trump Tapes” makes Woodward’s reporting journey more clear with its chronological presentation. When Trump told him covid was deadlier than the flu, both men were talking about it as a problem confined mostly to China. But in May and June, several top officials told Woodward they had warned Trump as early as January that coronavirus would be the top national security threat the president would ever face. + +Woodward says that it was only when he viewed the February conversation in hindsight that he decided that “what this shows is the coverup.” + +On Friday, after news of the project broke, Trump [told Fox News host Brian Kilmeade](https://podcasts.apple.com/us/podcast/donald-trump-herschel-walker-on-the-brian-kilmeade-show/id219258773?i=1000583456460) that he had no objection to the content of the audiobook but hinted vaguely that he might attempt to assert rights over the project, arguing he hadn’t agreed to their release and that “the tapes belong to me.” Woodward said that he had not informed Trump about the closely guarded plan to release their interviews in audiobook form and said he didn’t need to “because it was all on the record.” + +For both Woodward and his publisher, Simon and Schuster, the audiobook is something of an experiment. It’s unusual for a journalist to make raw reporting so public. And while research materials and interview transcripts often find welcoming homes in library archives, “The Trump Tapes” also aims to be a commercial product. + +Will it sell? Interest in Trump books remains high; “[Confidence Man](https://amzn.to/3TvdqUr),” the new biography of the former president by New York Times journalist Maggie Haberman, debuted at the top of the bestseller lists this month. And if “The Trump Tapes” is a success, other journalists might consider releasing their tapes, said Chris Lynch, president of Simon and Schuster’s audio division. On Monday, it was already the No. 1 seller on the Audible platform. + +“Because I’ve heard it and I think it’s compelling listening, I think there’s going to be a market for anybody who’s interested in politics, history and Trump in particular,” said Lynch, adding that the insight into Woodward’s techniques could also make the audiobook useful to journalism educators. + +But “The Trump Tapes” raises another question: Does it demystify the Woodward reporting process or expose too much of his tactics? If so, what does that mean for his future reporting projects? + +Woodward said he may yet write another presidential book, but “I’m just not sure.” He does, however, want to write a book about the process of reporting stories. + +“It’s an endless process,” he said, “learning about reporting.” + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md b/00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md new file mode 100644 index 00000000..f039a627 --- /dev/null +++ b/00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md @@ -0,0 +1,1731 @@ +--- + +Tag: ["Economy", "Tech", "🪙"] +Date: 2022-10-28 +DocType: "WebClipping" +Hierarchy: +TimeStamp: 2022-10-28 +Link: https://www.bloomberg.com/features/2022-the-crypto-story/?ref=Weekly+Filet-newsletter +location: +CollapseMetaTable: true + +--- + +Parent:: [[@News|News]], [[Crypto Investments|Crypto Investment]], [[@Investment master|Investment]] +Read:: No + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-WhyDoesCryptoMatterNSave + +  + +# Why Does Crypto Matter? Matt Levine on BTC, ETH, Blockchain + +There was a moment not so long ago when I thought, “What if I’ve had this crypto thing all wrong?” I’m a doubting normie who, if I’m being honest, hasn’t always understood this alternate universe that’s been percolating and expanding for more than a decade now. If you’re a disciple, this new dimension is the future. If you’re a skeptic, this upside-down world is just a modern Ponzi scheme that’s going to end badly—and the recent “crypto winter” is evidence of its long-overdue ending. But crypto has dug itself into finance, into technology, and into our heads. And if crypto isn’t going away, we’d better attempt to [understand it](https://www.bloomberg.com/news/features/2022-10-25/10-takeaways-from-matt-levine-s-the-crypto-story). Which is why we asked the finest finance writer around, Matt Levine of [Bloomberg Opinion](https://www.bloomberg.com/opinion), to write a cover-to-cover issue of *Bloomberg Businessweek*, something a single author has done only one other time in the magazine’s 93-year history (“[What *Is* Code?](https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/),” by Paul Ford). What follows is his brilliant explanation of what this maddening, often absurd, and always fascinating technology means, and where it might go. —*Joel Weber, Editor,* Bloomberg Businessweek + +![Bloomberg Businessweek cover image](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iKwsFM2Qox1Y/v0/-1x-1.jpg) + +Featured in *Bloomberg Businessweek*, Oct. 31, 2022. [Subscribe now](https://www.bloomberg.com/subscriptions). + +## I +Ledgers, Bitcoin, Blockchains + +![vintage photo of man typing on computer](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ioIz_KLlfJpY/v0/-1x-1.jpg) + +MODERN LIFE CONSISTS IN LARGE PART OF ENTRIES IN DATABASES. + +If you have money, what you have is an entry in your bank’s database saying how much money you have. If you have a share of stock, what you have is generally an entry on a list—kept by the company or, more likely, some central intermediary1—of who owns stock. + +If you own a house, things are slightly different. There’s a house involved. But your ownership of that house is probably written down in some database; in the US this often means there’s a record of you buying the house—your title—in a filing cabinet in the basement of some county clerk’s office. (It’s not a very *good* database.) In many ways the important thing here is the house: You have a key to the front door; your stuff is there; your neighbors will be unsurprised to see you leaving the house in the morning and would be surprised to see someone else coming back in. But in many other ways the important thing is the entry in the database. A bank will want to make sure you have the title before giving you a mortgage; a buyer will want to do the proper procedures to that record before paying you for the house. The key will not suffice. + +Lots of other stuff. Much of modern life occurs online. It’s not quite true that your social life and your career and your reputation consist of entries in the databases of Meta Platforms and Google and Microsoft, but it’s not quite false, either. + +Some of this stuff has to do with computers. It’s far more convenient for the money to be computer entries than sacks of gold or even paper bills. Some of it is deeper than that, though. What *could* it mean to own a house? One possibility is the state of nature: Owning a house means 1) you’re in the house, and 2) if someone else tries to move in, you’re bigger than them, so you can kick them out. But if they’re bigger than you, now they own the house. + +Another possibility is what you might think of as a village. Owning a house means you live there and your neighbors all know you live there, and if someone else tries to move in, then you and your neighbors combined are bigger than them. Homeownership is mediated socially by a high-trust network of peers. + +![photo of suburban neighborhood](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iZC0KjPmJ89I/v0/-1x-1.jpg) + +Neighborhoods, where everybody knows your name. + +A third possibility is what you might think of as a government. Owning a house means the government thinks you own the house, and if someone else tries to move in, then the government will kick them out.2 Homeownership is mediated socially by a government. The database is a way for the government to keep track. You don’t have to trust any particular person; you have to trust the rule of law. + +Money is a bit like that, too. Sacks of gold are a fairly straightforward form of it, but they’re heavy. A system in which your trusted banker holds on to your sacks for you and writes you letters of credit, and you can draw on those letters at branches of the bank run by your banker’s cousin—that’s pretty good, though it relies on trust between you and the banker, as well as the banker and the banker’s cousin. A system of impersonal banking in which the tellers are strangers and you probably use an ATM anyway requires trust in *the system*, trust that the banks are constrained by government regulation or reputation or market forces and so will behave properly. + +Saying that modern life is lived in databases means, most of all, that modern life involves a lot of trust. + +![Jamie Dimon](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iW7vesxsTfGU/v0/-1x-1.jpg) + +WE TRUST THE KEEPERS OF THE DATABASES. + +Sometimes this is because we know them and consider them to be trustworthy. More often it means we have an abstract sense of trust in the broader system, the system of laws and databases and trust itself. We assume that we can trust the systems we use, because doing so makes life much easier than *not* trusting them and because that assumption mostly works out. It’s a towering and underappreciated achievement of modernity that we mostly do trust the database-keepers, + + ![Mark Zuckerberg, Sundar Pichai, Christine Lagarde, Cathie Wood](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iksjnh_pk2O4/v0/-1x-1.jpg) + +and that they mostly are trustworthy. + + ![Bernie Madoff](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iJrb_PVyQqIg/v0/-1x-1.jpg) + +B. + +What If You Don’t Like It? + +i. Distrust + +But we don’t always trust them, and they’re not always trustworthy. + +Sometimes they just aren’t. There are banks you can’t trust to hold your money for you and places where you can’t trust the rule of law to regulate them. There are governments you can’t trust not to seize your money from the banks, or falsify election results, or change the property registry and take your house. There are social media companies you can’t trust not to freeze your account arbitrarily. Most people in the US, most days, live in a high-trust world, where it’s easy and reasonable to trust that the intermediaries who run the databases that shape our lives will behave properly. But not everyone everywhere lives like that. + +Even in the US, trust can be fragile. The 2008 financial crisis caused huge and lasting damage to a lot of people’s trust in the banking system. People trusted banks to do nice, safe, socially productive things, and it turned out they were doing wild, risky things that caused an economic crisis. After that it became harder for many people to trust banks to hold their savings. + +Also, though, you might have a philosophical objection to trust. Even if your bank has an absolutely unblemished record of keeping track of your money, that might not be good enough for you. Your bank is, to you, a black box. “How do I know you’ll give me my money back?” you could ask the bank. And the bank will say things like “Here are our audited financial statements” and “We are regulated by the Federal Reserve and insured by the Federal Deposit Insurance Corp.” and “We have never *not* given back anyone’s money.” And you’ll say, “Yes, yes, that’s all fine, but how do I *know*?” You don’t. Trust is built into the system, a prerequisite. You might want proof.3 + +![City skyline](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iU04YGFs0xjk/v0/-1x-1.jpg) + +Can you name this bank? Doesn’t matter, it’s still a black box! + +ii. Composability + +Even if you’re generally cool with trusting the keepers of modern databases, you might have a more technical objection. These databases aren’t always very good. Lots of the banking system is written in a very old computer language called Cobol; in the US people still frequently make payments—electronic transfers between electronic databases of money—by writing paper checks and putting them in the mail. US stock trades take [two business days](https://www.sec.gov/news/press-release/2017-68-0) to settle: If I buy stock from you on a Monday, you deliver the stock (and I pay you) on Wednesday. This isn’t because your broker has to put stock certificates in a sack and bring them over to my broker’s office, while my broker puts dollar bills in a sack and brings them over to your broker’s office, but because the actual process is a descendant of that. It’s slow and manual and sometimes gets messed up; lots of stock trades “fail.” + +Don’t even get me started on the property registry. If you buy a house, you have to go to a ceremony—a “closing”—where a bunch of people with jobs like “title company lawyer” mutter incantations that let you own the house. It can take hours. + +If your model of how a database should work comes from modern computers, the hours of incantations seem insane. “There should be an API,” you might think: There should be an application programming interface allowing each of these databases to interact with the others. If your bank is thinking about giving you a mortgage, it should be able to query the property database automatically and find out that you own your house, rather than send a lawyer to the county clerk’s office. And it should be able to query the Department of Motor Vehicles registry automatically and get your driver’s license for identification purposes, and query your brokerage account automatically and examine your assets. + +Modern life +consists of entries +in databases: + +![filing cabinet](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iS2K7d_jy6b8/v0/-1x-1.jpg) + +What if we +updated +them? + +What if we rewrote all the databases from scratch, in modern computer languages using modern software engineering principles, with the goal of making them interact with one another seamlessly? + +If you did that, it would be almost like having one database, the database of life: I could send you money in exchange for your house, or you could send me social reputation in exchange for my participation in an online class, or whatever, all in the same computer system. + +That would be convenient and powerful, but it would also be scary. It would put even *more* pressure on trust. Whoever runs that one database would, in a sense, run the world. Whom could you trust to do that? + +![solar eclipse](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iw3rwYgRkGb8/v0/-1x-1.jpg) + +What if there was one database, and everyone ran it? + +In 2008, Satoshi Nakamoto published a method for everyone to run a database, thus inventing “crypto.” + +Well, I’m not sure that’s what Satoshi thought he was doing. Most immediately he was inventing *Bitcoin: A Peer-to-Peer Electronic Cash System*, which is the title of his famous [white paper](https://bitcoin.org/bitcoin.pdf). + +What Satoshi said he’d invented was a sort of cash for internet transactions, “an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party.” If I want to buy something from you for digital cash—Bitcoin—I just send you the Bitcoin and you send me the thing; no “trusted third party” such as a bank is involved. + +When I put it like that, it sounds as if Satoshi invented a system in which I can send you Bitcoin and *nobody* else is involved. What he actually invented was a system in which *lots* of other people are involved. + +i. Digression: What are you even reading? Why are you reading it? Why am I writing it? + +Hi! [I’m Matt](https://twitter.com/matt_levine). I’m a former lawyer and investment banker. Now I’m a columnist at Bloomberg Opinion. In my day job, I write about finance. I like finance. It’s fun to write about. It’s a peculiar way of looking at the world, a series of puzzles, a set of structures that people have imposed on economic reality. Often those structures are arcane and off-putting, and it’s satisfying to understand what they’re up to. Everything in finance is accreted on top of a lot of other things in finance. Everything is weird and counterintuitive, and you often have to have a sense of financial history and market practice to understand why anyone is doing any of the things they’re doing. + +For the past few years the most polarizing thing in finance has been crypto. Crypto is a set of ideas and products and technologies that grew out of the Bitcoin white paper. But it’s also, let’s be clear, a set of lines on charts that went up. When Satoshi invented Bitcoin, one Bitcoin was worth zero dollars: It was just an idea he made up. At its peak last November, one Bitcoin was worth more than $67,000, and the total value of all the crypto in circulation was something like $3 trillion. Many people who got into crypto early got very rich very fast and were very annoying about it. They bought Lamborghinis and islands. They were pleased with themselves: They thought crypto was the future, and they were building the future and being properly and amply rewarded for it. They said things like “Have fun staying poor” and “NGMI” (“not gonna make it”) to people who didn’t own crypto. They were right and rich and wanted you to know it. + +Many other people weren’t into crypto. They got the not-entirely unjustified impression that it was mostly useful for crime or for Ponzi schemes. They asked questions like “What is this for?” or “Where did all this money come from?” or “If you’re building the future, what is the actual *work* you’re doing?” or “If you’re building the future, why does it seem so grim and awful?” And the crypto people, often, replied: “Have fun staying poor.” + +And then, this year, those lines on charts went down. The price of one Bitcoin fell below $20,000; the total value of crypto fell from $3 trillion to $1 trillion; some big crypto companies failed. If you’re a crypto skeptic, this was very satisfying, not just as a matter of schadenfreude but also because maybe now everyone will shut up about crypto and you can go back to not paying attention to it. For crypto enthusiasts, this was just a reason to double down on grinding: The crash would shake out the casual fans and leave the true believers to build the future together. + +In a sense it’s a dumb time to be talking about crypto, because the lines went down. But really it’s a good time to be talking about crypto. There’s a pause; there’s some repose. Whatever is left in crypto is not *just* speculation and get-rich-quick schemes. We can think about what crypto means—divorced, a little bit, from the lines going up. + +I don’t have strong feelings either way about the value of crypto. I like finance. I think it’s interesting. And if you like finance—if you like understanding the structures that people build to organize economic reality—crypto is amazing. It’s a laboratory for financial intuitions. In the past 14 years, crypto has built a whole financial system from scratch. Crypto constantly reinvented or rediscovered things that finance had been doing for centuries. Sometimes it found new and better ways to do things. + +![Matt Damon at chalkboard in Good Will Hunting](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iRmRaizNH7Ik/v0/-1x-1.jpg) + +Often it found worse ways, heading down dead ends that traditional finance tried decades ago, with hilarious results. + +![Matt Damon](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ivmbaBpAOdFg/v0/-1x-1.jpg) + +Often it hit on more or less the same solutions that traditional finance figured out, but with new names and new explanations. You can look at some crypto thing and figure out which traditional finance thing it replicates. If you do that, you can learn something about the crypto financial system—you can, for instance, make an informed guess about how the crypto thing might go wrong—but you can also learn something about the traditional financial system: The crypto replication gives you a new insight into the financial original. + +Also, I have to say, as someone who writes about finance, I have a soft spot for stories of fraud and market manipulation and smart people putting one over on slightly less smart people. Often those stories are interesting and illuminating and, especially, funny. Crypto has a very high density of stories like that. + +And so, now, I write a lot about crypto. Including quite a lot right here. + +I need to give you some warnings. First, I don’t write about crypto as a deeply embedded crypto expert. I’m not a true believer. I didn’t own any crypto until I started working on this article; now I own roughly $100 worth. I write about crypto as a person who enjoys human ingenuity and human folly and who finds a lot of both in crypto. + +Conversely, I didn’t sit down and write 40,000 words to tell you that crypto is dumb and worthless and will now vanish without a trace. That would be an odd use of time. My goal here is not to convince you that crypto is building the future and that if you don’t get on board you’ll stay poor. My goal is to convince you that crypto is interesting, that it has found some new things to say about some old problems, and that even when those things are wrong, they’re wrong in illuminating ways. + +Also, I’m a finance person. It seems to me that, 14 years on, crypto has a pretty well-developed financial system, and I’m going to talk about it a fair bit, because it’s pretty well-developed and because I like finance. + +![A crowd at a Bitcoin conference in Miami, April 2022](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/igkMd6UJklHY/v0/-1x-1.jpg) + +BUT NO ONE SHOULD CARE *THAT* MUCH ABOUT A FINANCIAL SYSTEM. + +Riveted: A crowd at a Bitcoin conference in Miami, April 2022. + +A financial system is, well, a series of databases. It’s a way to shuffle around claims on tangible stuff; it’s an adjunct to the real world. A financial system is good if it makes it easier for farmers to grow food and families to own houses and businesses to make awesome computer games, if it helps to create and distribute abundance in real life. A financial system is bad if it trades abstract claims in ways that enrich the people doing the trading but don’t help anyone else. + +I … ehhh … uh. A salient question in crypto, for the past 14 years, has been: What is it good for? If you ask for an example of a business that actually uses crypto, the answers you’ll get are mostly financial businesses: “Well, we built a really great exchange for trading crypto.” Cool, OK. Sometimes these answers are plausibly about creating or distributing abundance: “Crypto lets emigrants send remittances cheaply and quickly.” That’s good. Often they’re about efficient gambling. Gambling is fun, nothing against it. But a financial system that was purely about gambling would be kind of limited. + +Meanwhile, crypto’s most ardent boosters say crypto is about building real, useful things. Crypto will redefine social relationships, and gaming, and computers. It will build the metaverse. Crypto is the vital component of the next leap in the internet; crypto will build “web3” to replace our current “web2.” Maybe? If you ask for an example of a business that actually uses crypto, you’ll get a ton of real, lucrative financial businesses, then some vague theoretical musings like “Well, maybe we could build a social media network on web3?” + +It’s still early. Maybe someone will build a really good social media network on web3. Maybe in 10 years, crypto and blockchains and tokens will be central to everything that’s done on the internet, and the internet will be (even more than it is now) central to everything that’s done in human life, and the crypto early adopters will all be right and rich while the rest of us will have fun staying poor, and schoolchildren will say, “I can’t believe anyone ever doubted the importance of Dogecoin.” + +I don’t want to discount that possibility, and I do want to speculate about it a little bit, maybe sketch a picture of what that might mean. I’m not going to give you a road map for how we’ll get there. I’m not a tech person, and I’m not a true believer. But it is worth trying to understand what crypto could mean for the future of the internet, because the implications are sometimes utopian and sometimes dystopian and sometimes just a modestly more efficient base layer for stuff you do anyway. Plus the finance is cool, and it’s cool now. + +ii. Digression: Names and people + +Before we go on, let me say some things about some names. First, “crypto.” This thing I’m writing about here: There’s not a great *name* for it. The standard name, which I’ll use a lot, is crypto, which I guess is short for “cryptocurrency.” This is not a great name, because 1) it emphasizes *currency*, and a lot of crypto is not particularly about currency, and 2) it emphasizes *cryptography*, and while crypto *is* in some deep sense about cryptography, most people in crypto are not doing a ton of cryptography. You can be a crypto expert or a crypto billionaire or a leading figure in crypto without knowing much about cryptography, and people who *are* cryptography experts sometimes get a bit snippy about the crypto people stealing their prefix. + +There are other names for various topics in crypto— + + ![“blockchain” “DeFi” “web3” “tokens” “the metaverse”](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P1-TERMINOLOGY-CLOUD-DESKTOP.svg) + +—and they’re sometimes used broadly to refer to a lot of what’s going on in crypto, but it’s not like they’re great either. So I’ll mostly stick with “crypto” as the general term. + +Second, “Satoshi Nakamoto.” That’s a pseudonym, and whoever wrote his white paper has done a reasonably good job of keeping himself, herself, or themselves pseudonymous ever since. (There’s a lot of speculation about who the author might be. Some of the funnier suggestions include [Elon Musk](https://medium.com/@sahil50) and a random computer engineer named, uh, [Satoshi Nakamoto](https://www.newsweek.com/2014/03/14/face-behind-bitcoin-247957.html). I’m going to call Satoshi Nakamoto “Satoshi” and use he/him pronouns, because most people do.) + +A related point. Other than (maybe?) Satoshi, basically everyone involved in cryptocurrency is a hilariously outsize personality. It’s a good bet that if you read an article about crypto, it will feature wild characters. ([One story in *Bloomberg Businessweek*](https://www.bloomberg.com/news/features/2021-10-07/crypto-mystery-where-s-the-69-billion-backing-the-stablecoin-tether) last year mentioned “sending billions of perfectly good US dollars to the *Inspector Gadget* co-creator’s Bahamian bank in exchange for digital tokens conjured by the *Mighty Ducks* guy and run by executives who are targets of a US criminal investigation.”) Except this one! There won’t be a single exciting person in this whole story. My goal here is to explain crypto, so that when you read about a duck guy doing crypto you can understand what it is that he’s doing. + +iii. Digression: The “crypto” in crypto + +Cryptography is the study of secret messages, of coding and decoding. Most of what I talk about in this article won’t be about cryptography; it will be about, you know, Ponzis. But the base layer of crypto really is about cryptography, so it will be helpful to know a bit about it. + +The basic thing that happens in cryptography is that you have an input (a number, a word, a string of text), and you run some function on it, and it produces a different number or word or whatever as an output. The function might be the [Caesar cipher](https://en.wikipedia.org/wiki/Caesar_cipher) (shift each letter of a word by one or more spots in the alphabet, so “Caesar” becomes “Dbftbs”), or [pig Latin](https://en.wikipedia.org/wiki/Pig_Latin) (shift the first consonants of the word to the end and add “-ay,” so “Caesar” becomes “Aesar-say”), or something more complicated. + + ![“pig latin”](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P1-CRYPTOGRAPHY-DESKTOP.svg) + +A useful property in a cryptographic function is that it be “one-way.”4 This means it’s easy to turn the input string into the output string, but hard to do it in reverse; it’s easy to compute the function in one direction but impossible in the other. (The classic example is that multiplying two large prime numbers is quite straightforward; factoring an enormous number into two large primes is hard.) The Caesar cipher is easy to apply and easy to reverse, but some forms of encoding are easy to apply and much more difficult to reverse. That makes them better for secret codes. + +One example of this is a [“hashing” function](https://en.wikipedia.org/wiki/Cryptographic_hash_function), which takes some input text and turns it into a long number of a fixed size. So I could run a hashing function on this article—a popular one is called SHA-256, which was invented by the National Security Agency5—and generate a long, incomprehensible number from it. (To make it more incomprehensible, it’s customary to write this number in hexadecimal, so that it will have the digits zero through 9 but also “a” through “f.”) I could send you the number and say, “I wrote an article and ran it through a SHA-256 hashing algorithm, and this number was the result.” You’d have the number, but you wouldn’t be able to make heads or tails of it. In particular, you couldn’t plop it into a computer program and *decode* it, turning the hash back into this article. + +The hashing function is one-way; the hash tells you nothing about the article, even if you know the hashing function. The hashing function basically shuffles the data in the article: It takes each letter of the article, represented as a binary number (a series of bits, 0s and 1s), and then shuffles around the 0s and 1s lots of times, mashing them together until they are all jumbled up and unrecognizable. The hashing function gives clear step-by-step instructions for how to shuffle the bits together, but they don’t work in reverse.6 It’s like stirring cream into coffee: easy to do, hard to undo. + +Applying a SHA-256 algorithm will create a 64-digit number for data of any size you can imagine. Here’s a hash of the entire text of James Joyce’s 730-page novel *Ulysses*: + +3f120ea0d42bb6af2c3b858a08be9f737dd422f5e92c04f82cb9c40f06865d0e + +It fits in the same space as the hash of “Hi! I’m Matt”: + +86d5e02e7e3d0a012df389f727373b1f0b1828e07eb757a2269fe73870bbd044 + +But what if I wrote “Hi, I’m Matt” with a comma? Then: + +9f53386fc98a51b78135ff88d19f1ced2aa153846aa492851db84dc6946f558b + +There’s no apparent relationship between the numbers for “Hi! I’m Matt” and “Hi, I’m Matt.” The two original inputs were almost exactly identical; the hash outputs are wildly different. This is a critical part of the hashing function being one-way: If similar inputs mapped to similar outputs, then it would be too easy to reverse the function and decipher messages. But for practical purposes, each input maps to a *random* output.7 + +What’s the point of a secret code that can’t be decoded? For one thing, it’s a way to verify. If I sent you a hash of this article, it wouldn’t give you the information you need to re-create the article.8 But if I then sent you the *article*, you could plop *that* into a computer program (the SHA-256 algorithm) and generate a hash. And the hash you generate will exactly match the number I sent you. And you’ll say, “Aha, yes, you hashed that article all right.” It’s impossible for you to *decode* the hash, but it’s easy for you to *check* that I had *encoded* it correctly. + +This would be dumb to do with this article, but the principle has uses. A simple, everyday one is passwords. If I have a computer system and you have a password to log in to the system, I need to be able to check that your password is correct. One way to do this is for my system to store your password and check what you type against what I’ve stored: I have a little text file with all the passwords, and it has “Password123” written next to your username, and you type “Password123” on the login screen, and my system checks what you type against the file and sees that they match and lets you log in. But this is a dangerous system: If someone steals the file, they would have everyone’s password. It’s better practice for me to *hash* the passwords. You type “Password123” as your password when setting up the account, and I run it through a hash function and get back + +008c70392e3abfbd0fa47bbc2ed96aa99bd49e159727fcba0f2e6abeb3a9d601 + +and I store *that* on my list. When you try to log in, you type your password, and I hash it again, and if it matches the hash on my list, I let you in. If someone steals the list, they can’t decode your password from the hash, so they can’t log in to the system.9 + +There are other, more crypto-nerdy uses for hashing. One is a sort of time stamping. Let’s say you predict some future event, and you want to get credit when it does happen. But you don’t want to just go on Twitter now and say, “I predict that the Jets will win the Super Bowl in 2024,” to avoid being embarrassed or influencing the outcome or whatever. One thing you could do is write “the Jets will win the Super Bowl in 2024” on a piece of paper, put it in an envelope, seal the envelope, and ask me to keep it until the 2024 Super Bowl, after which you’ll tell me either to open the envelope or burn it. But this requires you and everyone else to trust me. + +Another, trustless thing you could do is type “the Jets will win the Super Bowl in 2024” into a cryptographic hash generator, and it will spit out: + +64b70b0494580b278d7f1f551d482a3fb952a4b018b43090ffeb87b662d34847 + +and then you can tweet, + + ![Matt Levine’s tweet “Here is a SHA-256 hash of a prediction I am making: 64b70b0494580b278d7f1f551d482a3fb952a4b018b43090ffeb87b662d34847.”](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i5T6YoMHh.A8/v0/-1x-1.jpg) + +Not a real tweet! But you can follow me on Twitter at [@matt\_levine](https://twitter.com/matt_levine). + +Everyone will say, “Well, aren’t you annoying,” but they won’t be able to decode your prediction. And then in a while, when the Jets win the Super Bowl, you can say, “See, I called it!” You retweet the hashed tweet and the plain text of your prediction. If anyone is so inclined, they can go to a [hash calculator](https://xorbin.com/tools/sha256-hash-calculator) and check that the hash really matches your prediction. Then all the glory will accrue to you. + +![a key](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ixwTgtMyCcGE/v0/-1x-1.jpg) + +Aside from hashing, another important one-way function is public-key encryption. I have two numbers, called a “public key” and a “private key.” These numbers are long and random-looking, but they’re related to each other: Using a publicly available algorithm, one number can be used to lock a message, and the other can unlock it. The two-key system solves a classic problem with codes: If the key I use to encrypt a message is the same one you’ll need to decode it, at some point I’ll have to have sent you that key. Anyone who steals the key in transit can read our messages. + +With public-key encryption, no one needs to share the secret key. The public key is public: I can send it to everyone, post it on my Twitter feed, whatever. The private key is private, and I don’t give it to anyone. You want to send me a secret message. You write the message and run it through the encryption algorithm, which uses 1) the message and 2) my public key (which you have) to generate an encrypted message that you send to me. Then I run the message through a decryption program that uses 1) the encrypted message and 2) my *private* key (which only I have) to generate the original message, which I can read. You can encrypt the message using my public key, but nobody can *decrypt* it using the public key. Only I can decrypt it using my private key. (The function is one-way as far as you’re concerned, but I can reverse it with my private key.) + +![mini keychain](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/intM5537HirU/v0/-1x-1.jpg) + +A related idea is a “digital signature.” Again, I have a public key and a private key. My public key is posted in my Twitter bio. I want to send you a message, and I want you to know that I wrote it. I run the message through an encryption program that uses 1) the message and 2) my private key. Then I send you 1) the original message and 2) the encrypted message. + +You use a decryption program that uses 1) the encrypted message and 2) my public key to decrypt the message. The decrypted message matches the original message. This proves to you that I encrypted the message. So you know that I wrote it. I could’ve just sent you a Twitter DM instead, but this is more cryptographic. + +Imagine a simple banking system in which bank accounts are public: There’s a public list of accounts, and each one has a (public) balance and public key. I say to you: “I control account No. 00123456789, which has $250 in it, and I’m going to send you $50.” I send you a digitally signed message saying “here’s $50,” and you decode that message using the public key for the account, and then you know that I do in fact control that account and everything checks out. That’s the basic idea at the heart of Bitcoin, though there are also more complicated ideas. + +![big keychain](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/id5_Y0wW26pg/v0/-1x-1.jpg) + +iv. How Bitcoin works + +The simple form of Bitcoin goes like this. There’s a big public list of addresses, each with a unique label that looks like random numbers and letters, and some balance of Bitcoin in it. An address might have the label “1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa”10 and a balance of [68.6](https://www.blockchain.com/btc/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa) Bitcoin. The address acts as a public key.11 If I “own” those Bitcoin, what that means is I possess the private key corresponding to that address, effectively the password accessing the account. + +Because I have the private key, I can send you a Bitcoin by signing a message to you with my private key. You can check that signature against my public key and against the public list of addresses and Bitcoin balances. That information is enough for you to confirm that I control the Bitcoin that I’m sending you, but not enough for you to figure out my private key and steal the rest of my Bitcoin. + +That kind of means I can send you a Bitcoin without you trusting me, or me trusting you, or either of us trusting a bank to verify that I have the money. “We define an electronic coin as a chain of digital signatures,” Satoshi wrote. The combination of public address and private key is enough to define a coin. Cryptocurrency is called cryptocurrency because it’s a currency derived from cryptography. + +![interdepartmental envelope](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iIl4IFMS_uV0/v0/-1x-1.jpg) + +Satoshi said a Bitcoin is essentially a chain of signatures. + +You’ll notice that all we’ve done here is exchange a message, and somehow called the result of that a currency. The traditional financial system isn’t so different: Banks don’t move around sacks of gold or even very many paper bills. They’re keepers of databases. What happens, roughly, when I make a $100 payment to you is my bank sends a message to your bank telling it to update its ledger. + +Similarly, in Bitcoin the messages change a (public) ledger of who holds what. But who maintains *that*? The rough answer is that the Bitcoin network—thousands of people who use Bitcoin and run its software on their computers—keeps the ledger, collaboratively and redundantly. There are thousands of copies of the ledger; every node on the network has its own list of how many Bitcoin are in each address. + +Then, when we do a transaction—when I send you a Bitcoin—we don’t just do it privately; we broadcast it to the entire network so everyone can update their lists. If I send you a Bitcoin from my address, and my signature on the transaction is valid, everyone will update their ledgers to add one Bitcoin to your address and subtract one from mine. + +The ledger is not really just a list of addresses and their balances; it’s actually a record of *every single transaction*.12 The ledger is maintained by everyone on the network keeping track of every transaction for themselves.13 + +That’s nice! But now, instead of trusting a bank to keep the ledger of your money, you’re trusting thousands of anonymous strangers. + +What have we accomplished? + +Well it’s not quite as bad as that. Each transaction is provably correct: If I send a Bitcoin from my address to yours and sign it with my private key, the network will include the transaction; if I try to send a Bitcoin from someone else’s address to yours and don’t have the private key, everyone on the network can see that it’s fake and won’t include the transaction. Everyone runs open-source software to update the ledger for transactions that are verifiable. Everyone keeps the ledger, but you can prove that every transaction in the ledger is valid, so you don’t have to trust them *too* much. + +Incidentally, I am saying that “everyone” keeps the ledger, and that was probably roughly true early in Bitcoin’s life, but no longer. There are thousands of people running “full nodes,” which download and maintain and verify the entire Bitcoin ledger themselves, using open-source official Bitcoin software. But there are millions more not doing that, just having some Bitcoin and trusting that everybody else will maintain the system correctly. Their basis for this trust, though, is slightly different from the basis for your trust in your bank. They could, in principle, verify that everyone verifying the transactions is verifying them correctly. + + ![](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P1-TRUST-PHILOSOPHY.svg) + +Notice, too, that there’s a financial incentive for everyone to be honest: If everyone is honest, then this is a working payment system that might be valuable. If lots of people are dishonest and put fake transactions in their ledgers, then no one will trust Bitcoin and it will be worthless. What’s the point of stealing Bitcoin if the value of Bitcoin is zero? + +This is a standard approach in crypto: Crypto systems try to use economic incentives to make people act honestly, rather than *trusting* them to act honestly. + +That’s most of the story, but it leaves some small problems. Where did all the Bitcoin come from? It’s fine to say that everyone on the network keeps a ledger of every Bitcoin transaction that ever happened, and your Bitcoin can be traced back through a series of previous transactions. But traced back to what? How do you start the ledger? + +Another problem is that the *order* of transactions matters: If I have one Bitcoin in my account and I send it to you, and then I send it to someone else, who actually has the Bitcoin? This seems almost trivial, but it’s tricky. Bitcoin is a decentralized network that works by broadcasting transactions to thousands of nodes, and there’s no guarantee they’ll all arrive in the same order everywhere. And if everyone doesn’t agree on the order, bad things—“double spending,” or people sending the same Bitcoin to two different places—can happen. “Transactions must be publicly announced,” wrote Satoshi, “and we need a system for participants to agree on a single history of the order in which they were received.” + +That system, I’m sorry to say, is the blockchain. + +v. Oh, the blockchain + +Every Bitcoin transaction is broadcast to the network. Some computers on the network—they’re called “miners”—compile the transactions as they arrive into a group called a “block.” At some point, a version of a block becomes, as it were, official: The list of transactions in that block, in the order in which they’re listed, becomes canonical, part of the official Bitcoin record. We say that the block has been “mined.”14 In Bitcoin, a new block is mined roughly every 10 minutes.15 + +The miners then start compiling a new block, which will also eventually be mined and become official. Here’s where hashing becomes important. That new block will refer to the block before it by containing a hash of that block—this confirms that the block before it 1) is correct and accepted by the network and 2) came before it in time. Each block will refer to the previous block in a chain—oh, yes, a blockchain. The blockchain creates an official record of what transactions the network has agreed on and in what order. The hashes are time stamps; they create an agreed order of transactions. + +You could imagine a simple system for doing this. Every 10 minutes a miner proposes a list of transactions, and all the computers on the Bitcoin network vote on it. If it gets a majority, it becomes official and is entered into the blockchain. + +Unfortunately this is a bit too simple. There are no *rules* about who can join the Bitcoin network: Anyone who hooks up a computer and runs the open-source Bitcoin software can do it. You don’t have to prove you’re a good person, or even a person. You can hook up a thousand computers if you want. + +![What mining looks like, in Nadvoitsy, Russia](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iQFvId5feKQw/v0/-1x-1.jpg) + +What mining looks like, in Nadvoitsy, Russia. + +This creates a risk of what’s sometimes called a “[Sybil attack](https://en.wikipedia.org/wiki/Sybil_attack),” named not after the ancient Greek prophetesses but, rather, after the 1973 book about a woman who claimed to have multiple personalities. The idea of a Sybil attack is that, in a system where the ledger is collectively maintained by the group and anyone can join the group without permission, you can spin up a bunch of computer nodes so that you look like thousands of people. Then you verify bad transactions to yourself, and everyone is like, “Ah, well, look at all of these people verifying the transactions,” and they accept your transactions as the majority consensus, and either you manage to steal some money or you at least throw the whole system into chaos. + +![Sybil (1973)](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iX0F5fW8YNkE/v0/-1x-1.jpg) + +*Sybil* (1973). + +The solution to this is to make it *expensive* to verify transactions. + +To mine a block, Bitcoin miners do an absurd and costly thing. Again, it involves hashing. Each miner takes a summary of the list of transactions in the block, along with a hash of the previous block. Then the miner sticks another arbitrary number—called a “nonce”—on the end of the list. The miner runs the whole thing (list plus nonce) through a SHA-256 hashing algorithm. This generates a 64-digit hexadecimal number. If that number is small enough, then the miner has mined the block. If not, the miner tries again with a different nonce. + +What “small enough” means is set by the Bitcoin software and can be adjusted to make it easier or harder to mine a block. (The goal is an average of one block every 10 minutes; the more miners there are and the faster their computers are, the harder it gets.) Right now, “small enough” means that the hash has to start with 19 zeros. A recent successful one looked like this: + +It’s like a game of 20 questions where you’re constantly guessing a number that will work. Except you get no clues, and it’s many, many, many times more than 20 guesses. It is vanishingly, vanishingly unlikely that any particular input—any list of transactions plus a nonce—will hash to a number that starts with 19 zeros. The odds are roughly [75 sextillion-to-1](https://www.wolframalpha.com/input?i=16%5E19) against. So the miners run the hash algorithm over and over again, trillions of times, guessing a different nonce each time, until they get a hash with the right number of zeros.16 The total hash rate of the Bitcoin network is something north of 200 million terahashes per second—that is, 200 quintillion hash calculations per second, which is 1) a lot but 2) a lot fewer than 75 sextillion. It takes many seconds—600 on average—at 200 quintillion hashes per second to guess the right nonce and mine a block. + +This is a race. Only one miner gets to mine a block, and that miner gets rewarded with Bitcoin. To mine a block is also to “mine” new coins—to pry them out of the system after much computational work, like finding a seam of gold after picking through rock. Hence the metaphor. + +![An old-fashioned prospector, circa 1860](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iNq0_GEZdDVk/v0/-1x-1.jpg) + +An old-fashioned prospector, circa 1860. + +When miners find the right number of zeros, they publish the block and its hash to the Bitcoin network. Everyone else reviews the block and decides if it’s valid. (“Valid” means all the transactions on the list are valid, the hash is correct, it has the right number of zeros, etc.) If they do, then they start work on the next block: They take the hash of the previous block, plus the transactions that have come in since then, plus a new nonce, and try to find a new hash. Each block builds on the one before. + +vi. Mining + +All of this is incredibly costly: Miners need special hardware to do all of these hashing calculations over and over again, and these days run [huge farms](https://www.google.com/maps/@30.5725011,-97.0775994,3a,75y,90t/data=!3m7!1e2!3m5!1sAF1QipOsjebRpr4JjgYrvCXS4BceKQ5uYMkao-YFd7ma!2e10!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipOsjebRpr4JjgYrvCXS4BceKQ5uYMkao-YFd7ma%3Dw462-h260-k-no!7i5280!8i2970?shorturl=1) of always-on computers. Mining Bitcoin uses as much electricity as [various medium-size countries](https://www.nytimes.com/interactive/2021/09/03/climate/bitcoin-carbon-footprint-electricity.html). This is not great for the environment. The most famous [description of Bitcoin](https://kottke.org/21/03/cryptocurrency-explained), attributed to a Twitter poster, might be: + + ![“Imagine if keeping your car idling 24/7 produced solved Sudokus you could trade for heroin.”](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P1-HEROIN-QUOTE-DESKTOP.svg) + +And it is in some sense purely wasteful. People sometimes say Bitcoin miners are, like, solving difficult math problems to do their mining, but they aren’t, really. They’re brute-force guessing quintillions of numbers per second to try to get the right hash. No math problems are being solved, and nothing is added to the world’s knowledge, by those quintillions of guesses. + +But the miners *are* solving an important problem for Bitcoin, which is the problem of keeping its network and its ledger of transactions secure. It’s *demonstrably costly* to confirm Bitcoin transactions, so it’s hard to fake, hard to run a Sybil attack. That’s why Satoshi, and everyone else, calls this method of confirming transactions “proof of work.” If you produce the right hash for a block, it proves you did a lot of costly computer work. You wouldn’t do that lightly. + +Proof-of-work mining is a mechanism for *creating consensus among people with an economic stake in a system*, without knowing anything else about them. You’d never mine Bitcoin if you didn’t want Bitcoin to be valuable. If you’re a Bitcoin miner, you’re invested in Bitcoin in some way; you’ve bought computers and paid for electricity and made an expensive, exhausting bet on Bitcoin. You have proven that you care, so you get a say in verifying the Bitcoin ledger. And you get paid. You get paid Bitcoin, which gives you even more of a stake in the system. + +These Bitcoin come out of nowhere; they’re generated by this mining, by the core Bitcoin software. In fact, all Bitcoin are generated by mining; there was never an initial allocation of Bitcoin to Satoshi Nakamoto or to early investors or anyone else. This is the answer to the question of where Bitcoin come from: They were all mined. + +Originally the mining reward, which is set by the software, was 50 Bitcoin per block; currently it’s [6.25 Bitcoin](https://www.blockchain.com/btc/block/00000000000000000008de28dab492b18fb4a50b9dabf1bc87f122d1ee5bd749). One important point about these mining rewards is that they cost Bitcoin users money. Every block—roughly every 10 minutes—6.25 new Bitcoin are produced out of nowhere and paid to miners for providing security to the network. That works out to more than $6 billion per year.17 This cost is indirect: It is a form of inflation, and as the supply of Bitcoin grows,18 each coin in theory becomes worth a little less, all else being equal. Right now, the Bitcoin network is paying around 1.5% of its value per year to miners. + +That’s lower than the inflation rate of the US dollar. Still, it’s worth noting. Every year, the miners who keep the Bitcoin system secure capture a small but meaningful chunk of the total value of Bitcoin. Bitcoin users get something for that $6 billion:19 + + ![Security and decentralization](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P1-SECURITY-AND-DECENTRALIZATION.svg) + +If you can make a lot of money mining Bitcoin, a lot of people will want to mine Bitcoin. This will make it harder for one person to accumulate most of the mining power in Bitcoin. If one person or group got a majority of the mining power, they could do bad things: They could mine a bad block—double-spending coins, reversing recent transactions, etc. (This is called a “51% attack.”) When there are billions of dollars up for grabs for miners, people will invest a lot of money in mining, and it will be expensive to compete with them. And if you invested billions of dollars to accumulate a majority of the mining power in Bitcoin, you would probably care a lot about maintaining the value of Bitcoin, and so you’d be unlikely to use your powers for evil. + +## II +What Does It Mean? + +So, huh, that’s neat. OK, then. I’ve described in some detail the workings of the thing, Bitcoin, that Satoshi Nakamoto invented. But let’s take a step back: What exactly is it that he invented? + +The simplest answer is that he invented Bitcoin. + +![photo of Mount Everest](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i31bebrHBI7Y/v0/-1x-1.jpg) + +BITCOIN IS A BIG THING. + +At its peak, the total value of Bitcoin in the world was more than $1 trillion. There are thousands of articles about it; it has lots of investors and fans and believers. Some of these people are called “Bitcoin maximalists”; they believe that the only really interesting and valuable thing in the world of crypto is Bitcoin. Those people could stop here, I guess. There it is, Bitcoin. + +Here, though, I want to keep going. I want to talk about different ways that you might *generalize* Satoshi’s invention. There are different ways to interpret what Satoshi was up to and what he accomplished, and each interpretation points you to a different direction for crypto. + +A minimal generalization of Bitcoin is something like: Satoshi invented a technology for people to send numbers to one another. That’s not nothing. Before Satoshi, I could’ve written you an email that said “132.51,” but you’d have no way of knowing whether I had the 132.51 on my computer or whether I’d already sent the 132.51 to someone else, and you’d have no way of proving to other people that you now had the 132.51 on your computer and could send it to them. + +I realize that paragraph sounds very stupid, because it is. You definitely have 132.51 on your computer, as well as every other conceivable number; computers can generate numbers arbitrarily and more or less for free. Open a spreadsheet, type “132.51,” and there you go. In a sense, the technological accomplishment of Bitcoin is that it invented a decentralized way to *create scarcity on computers*. Bitcoin demonstrated a way for me to send you a computer message so that you’d have it and I wouldn’t, to move items of computer information between us in a way that limited their *supply* and transferred *possession*. + +But the technological accomplishment is not the whole story, arguably not even the most important part. The wild thing about Bitcoin is not that Satoshi invented a particular way for people to send numbers to one another and call them payments. It’s that people accepted the numbers as payments. + +There’s nothing inherent in the technology that would make that happen. People might have read the Bitcoin white paper and said, “Huh, this is a cool way to send payments, but your problem is that you aren’t sending *dollars*, you’re sending this thing you just made up, and who wants that?” Well, most of them did say that, initially. But lots of people eventually decided that Bitcoin was valuable. + +That’s weird! Satoshi was like, + +![cartoon illustration: I have invented a payment system that works great, the only problem is that instead of getting paid in dollars, you get paid in this thing I just made up, is that cool?](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iCZcdpU7IFDc/v0/-999x-999.gif) + +And enough people were like, + +![cartoon illustration: Yeah, that’s cool.](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/itAVV3.fODk8/v0/-1x-1.jpg) + +*Illustration: C.W. Moss* + +that now crypto is a trillion-dollar business. That social fact, that Bitcoin was *accepted* by many millions of people as having a lot of value, might be the most impressive thing about Bitcoin, much more than the stuff about hashing. + +i. Shitcoins + +Here’s another extremely simple generalization of Bitcoin: + +1. You can make up an arbitrary token that trades electronically. +2. If you do that, people might pay a nonzero amount of money for it. +3. Worth a shot, no? + +As Bitcoin became more visible and valuable, people just … did … that? There was a rash of cryptocurrencies that were sometimes subtle variations on Bitcoin and sometimes just lazy knockoffs. “Shitcoins” is the mean name for them. + +![Bloomberg Businessweek cover](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ignfSap4HpX8/v0/-1x-1.jpg) + +See what we did there? + +In 2013 two software engineers threw together [a cryptocurrency](https://en.wikipedia.org/wiki/Dogecoin) and gave it a logo of Doge, the talking shiba inu meme. They called it Dogecoin, and it was a parody of the coin boom. It’s worth about $8 billion today. I’m not going to explain that to you. Nobody is going to explain that to you. Certainly the guys who invented Dogecoin don’t understand it; one of them has taken to Twitter to say he [hates it](https://www.marketwatch.com/story/dogecoin-co-creator-blasts-crypto-as-a-scam-to-help-the-rich-get-richer-11626310808). It’s just, like, if you’re making up an arbitrary token that trades electronically, and you hope people will buy it for no particular reason, you might as well make it fun. Slap a talking dog on it; give people stuff to make jokes about online. + +![Shiba Inu dog](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i9_KoxlyN7rE/v0/-1x-1.jpg) + +Incidentally, here’s a fun argument that was made against Bitcoin early in its life: + +1. There’s a limited supply of Bitcoin. +2. But the Bitcoin software is open-source and can be cloned trivially. +3. So if the price of Bitcoin gets above, you know, $100, someone will just invent Blitcoin, which will be an exact copy of Bitcoin. +4. Bitcoin is arbitrary, and Blitcoin is arbitrary, so there’s no reason that Blitcoin should trade at much of a discount to Bitcoin. +5. This will dilute the value of Bitcoin: any sensible person would rather pay $90 for Blitcoin than $105 for Bitcoin, since they’re the same thing but one is cheaper. +6. Therefore, there’s an infinite supply of Bitcoin or things that are exactly like it, so the value of Bitcoin cannot get too high. + +This argument turned out to be mostly wrong. Socially, cryptocurrency is a coordination game; people want to have the coin that other people want to have, and some sort of abstract technical equivalence doesn’t make one cryptocurrency a good substitute for another. Social acceptance—legitimacy—is what makes a cryptocurrency valuable, and you can’t just copy the code for that. + +That’s a revealing fact: What makes Bitcoin valuable isn’t the elegance of its code, but its social acceptance.20 A thing that worked exactly like Bitcoin but didn’t have Bitcoin’s lineage—didn’t descend from Satoshi’s genesis block and was just made up by some copycat—would have the same technology but none of the value. + +ii. An uncorrelated asset + +Here’s another generalization of Bitcoin: + +1. Satoshi made up an arbitrary token that trades electronically for some price. + +2. The price turns out to be high and volatile. + +3. The price of an arbitrary token is … arbitrary? + + +This may not sound that great to you. But it’s very interesting as a matter of finance theory. [Modern portfolio theory](https://en.wikipedia.org/wiki/Modern_portfolio_theory) demonstrates that adding an uncorrelated asset to a portfolio can improve returns and reduce risk. Big institutions will invest in timberland or highway tolls or hurricane insurance, because they think that those things *won’t* act just like stocks or bonds, that they’ll diversify their portfolios, that they’ll hold up even in a world where stocks go down. + +To the extent that the price of Bitcoin 1) mostly goes up, though with lots of ups and downs along the way, and 2) goes up and down for reasons that are arbitrary and mysterious and *not* tied to, like, corporate earnings or the global economy, then Bitcoin is interesting to institutional investors. + +![Adena Friedman and Larry Fink](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iAmQ8hMSn6Vg/v0/-1x-1.jpg) + +There are variations. For instance: + +1. Bitcoin is not just *uncorrelated* to regular financial stuff—it’s a *hedge to inflation*. If the Federal Reserve is printing money recklessly, the dollar will lose value, but Bitcoin is in limited supply and will maintain its value even as the dollar is inflated away. + +2. Bitcoin is like gold but more convenient. The value of gold is also somewhat arbitrary and mysterious, but it’s a store of value that’s not tied to corporate earnings and central bank policy. Investors who like gold should buy Bitcoin. + + +Well, those are some things that people said. In practice, it turns out that the price of Bitcoin is pretty correlated with the stock market, especially tech stocks. Bitcoin *hasn’t* been a particularly effective inflation hedge: Its price rose during years when US inflation was low, and it’s fallen this year as inflation has increased. The right model of crypto prices might be that they go up during broad speculative bubbles when stock prices go up, and then they go down when those bubbles pop. That’s not a particularly appealing story for investors looking to diversify. You want stuff that goes up when the broad bubbles pop! + +iii. GameStop + +![Shiba Inu dog with GameStop gear](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ilybpy8ZEH5o/v0/-1x-1.jpg) + +The simple story of GameStop is that some people on the internet liked the stock. + +I’m not going to dwell on the meme-stock phenomenon here—I [dwelt on it in this publication](https://www.bloomberg.com/news/features/2021-12-01/meme-stocks-gamestop-gme-amc-and-dogecoin-bloomberg-50-2021) last December. But one important possibility is that the first generalization of Bitcoin, that an arbitrary tradeable electronic token can become valuable just because people want it to, permanently broke everyone’s brains about all of finance. + +Before the rise of Bitcoin, the conventional thing to say about a share of stock was that its price represented the market’s expectation of the present value of the future cash flows of the business. But Bitcoin has no cash flows; its price represents what people are willing to pay for it. Still, it has a high and fluctuating market price; people have gotten rich buying Bitcoin. So people copied that model, and the creation of and speculation on pure, abstract, scarce electronic tokens became a big business. + +A share of stock is a scarce electronic token. It’s also something else! A claim on cash flows or whatever. But one thing that it is is an electronic token that’s in more or less limited supply. If you and your friends online want to make jokes and invest based on those jokes, then, depending on your sense of humor and which online chat group you’re in, you might buy either Dogecoin or GameStop Corp. stock, and for *your* purposes those things are not *that* different. + +B. + +A Distributed Computer + +Here’s another, very different generalization of Bitcoin. In its sharpest form, it’s mostly attributed to programmer Vitalik Buterin, another colorful character whom we won’t discuss.21 It goes like this: + +1. Look, this thing you made is a big, sprawling *computer*. The blockchain is doing the functions of a computer. Specifically, it’s keeping a database of Bitcoin transactions. + +2. This computer has some fascinating properties. It’s *distributed*: The computer’s data aren’t kept on any one particular machine but spread out among lots of nodes. The blockchain creates a mechanism to make sure they all agree on what the database says. It’s *decentralized*: Different people run the database on their own separate machines. It’s *secure* and *final*: Because of how transactions are encoded into blocks, it’s more or less impossible for someone to reach back into the database and change a transaction from last week. And it’s *trustless* and *permissionless*: Anyone who wants to can download the blockchain or mine Bitcoin. The mining mechanism gives people incentives to collaborate and compete with one another to keep the database secure and up to date. + +3. But it’s not a very *good* computer. Mostly it just keeps a list of payments. + + +![Vitalik Buterin at ETHDenver in February](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i7wHSn0J8638/v0/-1x-1.jpg) + +4\. LET’S DO THE SAME THING, BUT MAKE IT A GOOD COMPUTER. + +   Vitalik at ETHDenver in February. Told you he was colorful! + +i. Ethereum + +The computer that Vitalik22 invented is generally called Ethereum, or the Ethereum Virtual Machine: It’s a *virtual* computer, distributed among thousands of redundant nodes. Each node knows the “state” of the computer—what’s in its memory—and each transaction on the system updates that state. + +Ethereum works a lot like Bitcoin: People create transactions, they broadcast them to the network, the transactions are included in a block, the blocks get chained together, everyone can see every transaction, etc. The currency of the Ethereum blockchain is called … I dunno, it’s common to call it “Ether,” though sometimes people say “Ethereum,” and often they just write “ETH.” (Similarly, Bitcoin is sometimes written “BTC.”) In conversation it’s mostly shortened to “Eth,” pronounced “Eeth.” + +But whereas Bitcoin transactions are mostly about sending payments,23 actions on Ethereum are conceived of more generally: Ethereum is a big virtual computer, and you send it instructions to do stuff on the computer. Some of those instructions are “Send 10 Ether from Address X to Address Y”: One thing in the computer’s memory is a database of Ethereum addresses and how much Ether is in each of them, and you can tell the computer to update the database. + +But you can also write *programs* to run on the computer to do things automatically. One sort of program might be: Send 10 Ether to Address Y *if* something happens. Alice and Bob might want to bet on a football game, or on a presidential election, or on the price of Ether.24 They might write a computer program on the Ethereum Virtual Machine to do that. The program would have its own Ethereum account where it could keep Ether, and its programming logic would say something like “if the Jets win on Sunday”—or “if Joe Biden wins the election,” or “if Ether trades above $1,500 on November 1”—“then send the money in this account to Alice; otherwise send it to Bob.” Alice and Bob might then each send one Ether to the account, and it would whir along for a bit checking the football scores or the election results or the Ether price,25 and then when it had an answer to its question—who won the game or the election or is Ether above $1,500—it would automatically resolve the bet and send two Ether to the winner. + +Or you could have a program that says: “If anyone sends one Ether to this program, the program will send them back something nice.” “Something nice” is pretty hazy there, and frankly it’s pretty hazy in actual practice, but in concept anything that you can put into a computer program could be the reward here. So “send me one Ether and I will send you back a digital picture of a monkey” would be one possible program, and I guess it sounds like I’m joking, but for a while digital pictures of monkeys were selling for millions of dollars on Ethereum. Or there’s a thing called the Ethereum Name Service, or ENS, which allows people to register domain names like “matthewlevine.eth” and use them across various Ethereum functions. You send Ether to the ENS program, and it registers that name to you—you send in money, and it sends you back a domain. + +![Vending machine](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/isMTUt.EzW_0/v0/-1x-1.jpg) + +Funny, that doesn’t look like a contract. + +The standard analogy here is a vending machine: A vending machine is a computer in the real world, where you put in a dollar and you get back something that you want. You don’t negotiate with the vending machine, or make small talk about the weather while it rings you up. The vending machine’s side of the transaction is entirely automated. Its programming makes it respond deterministically to you putting in money and pressing buttons. + +In the crypto world, these programs are called “smart contracts.” The name is a bit unfortunate. A smart contract is a computer program that runs on the blockchain. Some smart contracts look like contracts: Alice and Bob’s bet on the price of Ethereum looks a lot like a financial derivative, which is definitely a contract. Some smart contracts look like vending machines: They sit around in public waiting for people to put money in, and then they spit out goods. A vending machine is not exactly a normal contract, but it is a *transaction*, and people who are into philosophizing about contracts like thinking about vending machines. + +But some smart contracts just look like, you know, computer programs. The concept is more general than the name. In the Ethereum white paper, Vitalik Buterin wrote: + +> Note that “contracts” in Ethereum should not be seen as something that should be “fulfilled” or “complied with”; rather, they are more like “autonomous agents” that live inside of the Ethereum execution environment, always executing a specific piece of code when “poked” by a message or transaction, and having direct control over their own ether balance and their own key/value store to keep track of persistent variables. + +There are limits: Ethereum is a distributed computer, but it doesn’t have a keyboard and a monitor. It would be hard to play *Call of Duty* on the Ethereum Virtual Machine. But Ethereum’s blockchain and smart contracts can serve as sort of a back end to other types of programs. Developers build + +or decentralized apps, on Ethereum and other blockchains. These are computer programs that mostly run on the web (perhaps on some centralized or cloud server) but keep some of their essential data on the blockchain. You play a computer game, and your character’s attributes are stored on the blockchain. A normal program on the game company’s servers renders the character’s sword on your screen, but the fact that she has the sword is stored on the blockchain. + +One other limit is that it’s a *slow* computer. The way Ethereum executes programs is that you broadcast the instructions to thousands of nodes on the network, and they each execute the instructions and reach consensus on the results of the instructions. That all takes time. Your program needs to run thousands of times on thousands of computers. + +Computers and network connections are pretty fast these days, and the Ethereum computer is fast *enough* for many purposes (such as transferring Ether, or keeping a database of computer game characters). But you wouldn’t want to use this sort of computer architecture for extremely time-sensitive, computation-intensive applications. You wouldn’t want, like, a self-driving car running on the Ethereum Virtual Machine. You wouldn’t want thousands of computers around the world redundantly calculating how far you are from hitting someone before you could brake. + +ii. Proof of stake + +This distributed computer, the Ethereum Virtual Machine, takes its basic design from Bitcoin. There are blocks, everyone can see them, they are chained together, transactions are signed with private keys, everything is hashed, etc. It’s just that, in addition to sending money to people, you can send computer instructions to the blockchain, and the blockchain will execute them. + +What that means is that there are thousands of computers each running nodes of the Ethereum network, and all those computers will agree about what happens on that network, who sent money to whom, and what computer instructions executed when. The fact that Ethereum is a distributed, virtual computer means that all those actual computers can come to a *consensus* about what operations executed when. And the reason this was possible is that Bitcoin showed how a decentralized computer network could reach consensus. The stuff with the hashing and the mining and the nonces and the electricity: That is Bitcoin’s consensus mechanism, proof of work (or PoW). + +Until last month, it was also Ethereum’s. There were some technical differences, but the basic mechanics were pretty similar. Miners did a bunch of hashes of block data, and whoever found the right hash first mined the block and got a reward. Because this was expensive and wasted a lot of resources, it demonstrated a commitment to the Ethereum ecosystem. But the waste itself was bad. + +And so, on Sept. 15, after years of planning, Ethereum switched to a new consensus mechanism: Ethereum now uses something called proof of stake (or PoS). The basic ideas remain the same. People do transactions and broadcast them to the Ethereum network. A bunch of computers—in PoW they’re called “miners,” in PoS they’re called “validators”—work to compile these transactions into an official ordered list, called the blockchain. Anyone with a computer can be a miner/validator; the protocol is open to everyone. But the miners/validators have to prove their commitment to the system to mine/validate blocks. In PoW, the way you prove that is by using a lot of electricity to do hashes. In PoS, the way you prove that is by having a lot of Ether. + +Oversimplifying a bit, the [general mechanics](https://vitalik.ca/general/2017/12/31/pos_faq.html) are: + +1. ANYONE CAN VOLUNTEER TO BE A VALIDATOR BY “STAKING” SOME OF THE NETWORK’S CURRENCY, DEPOSITING IT INTO A SPECIAL SMART CONTRACT. THE STAKED CURRENCY CAN’T BE WITHDRAWN FOR SOME PERIOD.26 ON ETHEREUM, YOU NEED TO STAKE 32 ETHER—CURRENTLY $40,000 OR SO—TO BE A VALIDATOR. + +2. VALIDATORS GET TRANSACTIONS AS THEY COME IN AND COMPILE THEM INTO BLOCKS.27 + +3. AT FIXED INTERVALS (SAY, EVERY 12 SECONDS), ONE VALIDATOR IS RANDOMLY CHOSEN TO PROPOSE A BLOCK, AND SOME OTHER SET OF VALIDATORS IS CHOSEN TO REVIEW THE PROPOSED BLOCK AND VOTE ON IT. + +4. THE RANDOMLY CHOSEN VALIDATORS AGREE ON WHETHER TO ADD THE BLOCK TO THE CHAIN. IF EVERYONE IS DOING THEIR JOB HONESTLY AND CONSCIENTIOUSLY, THEY’LL MOSTLY AGREE, AND THE BLOCK WILL BE ADDED. + +5. THE VALIDATORS GET PAID FEES IN ETHER. + +6. IF A VALIDATOR ACTS DISHONESTLY OR LAZILY—IF IT PROPOSES WRONG BLOCKS, OR IF IT FAILS TO PROPOSE OR VOTE ON BLOCKS, OR IF SOMEONE TURNS OFF THE COMPUTER RUNNING THE VALIDATOR—IT CAN HAVE SOME OR ALL OF ITS STAKE TAKEN AWAY AS A PENALTY. + + +I mean, [that’s the concept](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/), but when I write it out like that, it sounds more manual than it is. Nobody is sitting around reviewing every transaction and agonizing over whether it’s legitimate. The validators are just running the official open-source Ethereum software. It is all pretty automatic, and you can run it on a laptop with good backup power and a solid internet connection. The big outlay may be the $40,000 to buy Ether. It’s not hard to contribute to the consensus. It’s hard to *override* it. But being an honest validator is pretty easy. + +When we discussed proof-of-work mining, I said that crypto systems are designed to operate on consensus among people with an economic stake in the system. PoW systems demonstrate economic stake in a cleverly indirect way: You buy a bunch of computer hardware and pay for a lot of electricity and do a bunch of calculations to prove you really care about Bitcoin. PoS systems demonstrate the economic stake directly: You just invest a lot of money in Ethereum and post it as a bond, which proves you care. + +![historical illustration](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/idzRi7AOgcJw/v0/-1x-1.jpg) + +Making coins is a lot of work. + +This is more efficient, in two ways. First, it uses less electricity. Burning lots of electricity to do trillions of pointless math calculations a second, in a warming world, seems dumb. Proof of stake uses, to a first approximation, no electricity. You’re simply keeping a list of transactions, and you just have to compile the list once, not 200 quintillion times. The transition to PoS cut Ethereum’s energy usage by [something like 99.95%](https://blog.ethereum.org/2021/05/18/country-power-no-more). + +Second, PoS more directly measures your stake in the system. You demonstrate your stake in Ethereum by 1) owning Ether and 2) putting it at risk28 to validate transactions. To take control of the PoS system and abuse it for your own nefarious purposes, you need to own a *lot* of Ether, and the more you own, the less nefarious you’ll want to be. “Proof of stake can buy something like 20 times more security for the same cost,” Vitalik has argued. + +• Staking + +Here’s how a Bitcoin miner makes money: + +1. Spend dollars to buy computers and electricity. + +2. Use the computers and electricity to generate Bitcoin. + +3. Sell the Bitcoin, or hold them and hope they go up. + + +![photo of closet](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iUKyIpuTm_9Y/v0/-1x-1.jpg) + +Here’s how an Ethereum validator makes money: + +1. Buy Ether. +2. Lock it up. +3. Get paid fees in Ether that are, roughly, a percentage of the Ether you’ve locked up. Currently the fees are around 4%. + +![hammock on beach](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/isZwxoSRyZf4/v0/-1x-1.jpg) + +There’s still some computer hardware involved—you have to run software to compile and check transactions—but not much of it; again, it can be a laptop. The capital investment isn’t in computers but in the relevant cryptocurrency. The transaction is very close to: “Invest a lot of cryptocurrency and then get paid *interest* on that cryptocurrency.” + +You can make it even easier on yourself. Instead of downloading the software to run a full Ethereum validator node, and depositing 32 Ether, you can hand your Ether over to someone else and let *them* be a validator. It doesn’t need to be 32 Ether: If you have 1 Ether, and 31 other people each have 1 Ether, and you all pool your Ether together, then you have enough to stake, validate transactions, and earn fees. And then you each can have a cut of the fees. The work of validating transactions can be completely separated from the actual staking of Ether. + +And in fact a lot of Ethereum validation [runs through crypto *exchanges*](https://www.coindesk.com/layer2/2022/05/18/will-a-proof-of-stake-ethereum-lead-to-more-centralization/) such as Coinbase, Kraken, and Binance, which offer staking as a product to their customers. (The biggest is a thing called Lido Finance, which isn’t an exchange but a sort of decentralized staking pool.) The customers keep their Ether with the exchange anyway, so they might as well let the exchange stake it for them and earn some interest. + +Yes: interest. If you’re putting crypto into a staking pool, what it looks like to you is simply earning *interest* on your crypto: You have 100 tokens, you lock them up for a bit, you get back 103 tokens. The stuff about validating transactions occurs in the background, and you don’t really have to worry about it. You just get a percentage return on your money—around 4% now, but maybe less after fees—from locking it up. (Before you compare that to the passive income you might earn on, say, a bond, remember this is paid in volatile Ether.) + +Crypto has found a novel way to *create yield*. We’ll talk about others later—crypto has a whole business of “yield farming”—but this is one. You can deposit your crypto into an account, and it will pay you interest. It will pay you interest not for the reason banks generally do—because they’re lending your money to some other customer who will make use of it—but because you are, in your small way, helping to maintain the security of the transaction ledger. + +iii. Gas + +Another difference between Ethereum and Bitcoin is that transaction fees are much more important in Ethereum. + +The basic reason is that every transaction in Bitcoin is more or less the same: “X sends Y Bitcoin to Z.” In Ethereum, though, there are transactions like “Run this complicated computer program with 10,000 steps.” That takes longer. Thousands of nodes on the Ethereum network have to run and validate each computational step of each contract. If a contract requires a lot of steps, then it will use a lot more of validators’ time and computer resources. If it requires infinite steps, it would crash the whole thing. + +To address this issue, Ethereum has “gas,” which is a fee that people and smart contracts pay for computation. Each transaction specifies 1) a maximum gas limit (basically a number of computational steps) and 2) a price per unit of gas. If the transaction uses up all its gas—if it takes more steps to execute than the gas limit—it fails (and still pays the gas fee). This deters people from sending superlong transactions that clog the network, and it absolutely prevents them from clogging the network forever. + +![Vintage image of gas station pump](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ioK5Pmqmz0HM/v0/-1x-1.jpg) + +In early Ethereum, the gas fees, as well as built-in mining rewards, were paid to the miner who mined a block. Since the move to PoS, the built-in rewards are lower (because it’s much less expensive to be a validator than a miner, so you don’t need to get paid as much). And now [some of the gas fees are “burned”](https://notes.ethereum.org/@vbuterin/eip-1559-faq) (the Ether just vanishes) instead of being paid to validators. The basic result is that Ether as a whole is paying less for security under PoS than it used to. + +There are still gas fees, though, and some of them still go to validators. And generally speaking, the more you offer to pay for gas, the faster your transaction will be executed: If Ethereum is busy, paying more for gas gets you priority for executing your transactions. It is a shared computer where you can pay more to go first. + +iv. Tokens + +● ERC-20 + +One thing a smart contract can do in Ethereum is create new cryptocurrencies. These cryptocurrencies are generally called “tokens.” + +Why would you want to do this? One reason we already talked about: + +1. You can make up an arbitrary token that trades electronically. + +2. If you do that, people might pay a nonzero amount of money for it. + +3. Worth a shot, no? + + +This is extremely *easy* to do in Ethereum. (The Ethereum white paper includes a four-line code snippet “for implementing a token system” on Ethereum.) And so there’s the [Shiba token](https://shibatoken.com/), which calls itself “a decentralized meme token that evolved into a vibrant ecosystem.” It’s Dogecoin but on Ethereum, easy. It has a “Woof Paper.” + +But there are lots of other reasons to create cryptocurrencies. If you set up some sort of app that does a thing on the Ethereum system and you want to charge people money for doing that thing, what sort of money should you charge them? Or if you set up a two-sided marketplace that connects people who do a thing with people who want the thing done, what sort of money should the people who want the thing use to pay the people who do the thing? + +Dollars are a possible answer, though an oddly hard one: US dollars don’t live on the blockchain, but in bank accounts. Ether is the most obvious answer: You’ve set up an app in Ethereum, so you should take payment in the currency of Ethereum. But a persistently popular answer is: You should take payment in *your own currency*. People who add value to your service should be paid in your own special token; people who make use of the service should pay for it in that token. And then if the service takes off, the token might become more valuable. + +![coin](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/inyM0CgzMVpg/v0/-1x-1.jpg) + +An asset class? + +We’ll discuss this idea in more detail later. For now, I’ll just say that Ethereum has a standard for how these sorts of tokens should be implemented, and it’s called [ERC-20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/). And when there are decentralized apps on the Ethereum blockchain, there’s a good chance that they’ll say they have an ERC-20 token. + +One essential property of an ERC-20 token is that it’s fungible—like dollars, or Bitcoin, or Ether. If I create an ERC-20 token called Mattcoin and mint a billion Mattcoins, each of those billion tokens works exactly the same and is exactly interchangeable. They all trade at the same price, and nobody wants, or gets, any particular identified Mattcoin. + +● ERC-721 + +There’s another way to do a token, though. You could have a series of tokens, each with a number. Token No. 1 in the series is different from Token No. 99, in the sense that Token No. 1 has the number 1 and Token No. 99 has the number 99. This is generally referred to as a nonfungible token, or NFT. The most popular Ethereum standard for NFTs is called [ERC-721](https://ethereum.org/en/developers/docs/standards/tokens/erc-721/), and you’ll see that name sometimes. + +Let me quote a bit of the ERC-721 standard: + +> The ERC-721 introduces a standard for NFT, in other words, this type of Token is unique and can have different value than another Token from the same Smart Contract, maybe due to its age, rarity or even something else like its visual. Wait, visual? + +> Yes! All NFTs have a \[numerical\] variable called tokenId, so for any ERC-721 Contract, the pair contract address, \[numerical\] tokenId must be globally unique. That said, a dapp can have a “converter” that uses the tokenId as input and outputs an image of something cool, like zombies, weapons, skills or amazing kitties! + +Look how minimal this standard is, despite the zombies and kitties. An NFT consists of a series of numbered tokens, and the thing that makes it an NFT is that it has a different number in its tokenId field from the other tokens in its series. + +*If you’d like to imagine that this different number makes it something cool, like a zombie, or a kitty, you can! Go right ahead!* Or if there’s a computer program—or an Ethereum dapp—that looks at your number and says, “Ah, right, *this* number corresponds to a zombie with green hair and a fetching scar on his right cheek,” then the computer program is free to say that—and even serve you up a picture of that zombie—and you are free to believe it. + +We’ll come back to this. + +![Apefest billboard: It gets weird.](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i2Cn0Euj2b3o/v0/-1x-1.jpg) + +IT GETS WEIRD. + +v. An ICO + +Here’s another important difference between Ethereum and Bitcoin. Bitcoin never raised money; Ethereum did. + +You can think of Bitcoin as more or less the open-source passion product of one anonymous guy who really likes cryptography. The cost of building the basic system of Bitcoin was Satoshi’s time, which he donated. Then he mined the first Bitcoins and got super rich, probably, but that came later. + +Ethereum was a bit more complicated to build. Vitalik Buterin is the intellectual leader of Ethereum, but there were a bunch of co-founders. There were legal entities. There were programmers. They spent a lot of time on it. They had to pay for food deliveries. + +You could imagine Vitalik saying: “OK, we are a company, we’re Ethereum Inc., we’re going to start the Ethereum blockchain and make money from it, and we’ll sell shares in Ethereum Inc. to raise the money to build the blockchain. Sell 20% of Ethereum Inc. for cash, get the cash, build the blockchain and, I don’t know, collect royalties. Ethereum Inc. collects 0.01% of every Ethereum transaction forever.” Ethereum was a well-known and much-hyped project even before it launched, and they could easily have found investors. + +They didn’t do that, for philosophical and economic reasons. They wanted a decentralized blockchain ecosystem, and having it owned by a corporation would defeat the purpose.29 So they didn’t sell shares. They sold tokens. In July 2014 [they sold Ether](https://ethereum.org/en/whitepaper/#notes) “at the price of 1000-2000 ether per BTC, a mechanism intended to fund the Ethereum organization and pay for development,” according to Ethereum’s white paper. In all, they sold about 60 million Ether for about $18.3 million, all before the technology itself went live. Ethereum’s genesis block was mined in [July 2015](https://consensys.net/blog/blockchain-explained/a-short-history-of-ethereum/). Today there is a total of about 122 million Ether outstanding. Some of that, like Bitcoin, comes from mining or, now, validating. But almost half of it was purchased, before Ethereum was launched, by people who wanted to bet on its success. + +Camila Russo, in her book about Ethereum, [wrote](https://www.coindesk.com/markets/2020/07/11/sale-of-the-century-the-inside-story-of-ethereums-2014-premine/): + +> A whole new financing model had been tested. One where a ragtag group of feuding hackers with no business plan and no live product, let alone users or revenue, could raise millions of dollars from thousands of people from all over the world. Before, anyone who wanted to buy stock in big tech firms like Facebook or Google would need a U.S. bank account; things got even more complicated for those who wanted to invest in startups that hadn’t gone to the public markets to raise funds. Now anyone could be an investor in one of the most cutting-edge technology companies out there. All they needed was an internet connection and at least 0.01 Bitcoin. + +![screenshots of movie](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iqvUUPAzBtC8/v0/-1x-1.jpg) + +Which of these ragtag groups’ tokens would you choose? + +It worked out well for those investors; that 60 million Ether is worth billions of dollars today. + +But as a “whole new financing model,” it’s a mixed bag. Many people, particularly securities regulators, think it’s *good* that startups usually can’t raise money from the general public without at least a business plan. And there’s a sense in which this sale—the Ether “pre-mine,” or “initial coin offering” (ICO)—was the original sin of crypto as a financing tool. A lot of other crypto teams copied Ethereum’s approach, writing up vague plans to build some project and then raising money by preselling tokens that would be useful if the project ever happened. The [analogy](https://twitter.com/matt_levine/status/902617398620168196) I’ve tweeted is that ICOs are “like if the Wright Brothers sold air miles to finance inventing the airplane.” + +NOT EVERYONE GOT AROUND TO INVENTING THE AIRPLANE. + +There was a 2017 ICO boom in which a lot of projects raised a lot of money by selling tokens that never turned out to be useful. When ragtag groups of hackers with no business plan can raise millions of dollars from anyone with an internet connection, they all will. The odds that any particular one of those non-business-plans will succeed are low. The odds that any particular one will be a scam are high. + +vi. Other chains + +● Layers, trilemmas + +The basic ideas of Ethereum—a distributed computer, smart contracts, dapps, new tokens, etc.—caught on broadly within crypto. Ether is now the [second-biggest cryptocurrency](https://coinmarketcap.com/) (well behind Bitcoin, well ahead of everything else). + +But it has a lot of competition: If you’re building smart contracts, there are a lot of other blockchains where you can run them, including + +**BNB Chain, +Solana, +Avalanche, +Cardano, +Tezos, +Polkadot, +Algorand, +Tron, +and Terra 2.0.** + +These platforms, like Bitcoin and Ethereum, are called “Layer 1 blockchains,” meaning they’re entirely separate from one another; each Layer 1 blockchain maintains its own ledger. They compete with one another much like other tech platforms do, arguing that they offer better performance, a better environment for developers, a different programming style, better tools. + +A famous problem in crypto is the “[blockchain trilemma](https://vitalik.ca/general/2021/04/07/sharding.html)”: Blockchains want to be scalable (they can process a lot of transactions quickly), decentralized (they don’t depend on a few trusted parties), and secure (a minority of computers on the network can’t successfully attack it). But, says the trilemma, you can only choose two of those three. + + ![Pick any two triangle](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P2-TRILEMMA.svg) + +Bitcoin and Ethereum chose decentralization and security, which makes them fairly slow computers. Other blockchains are faster but more centralized: If your consensus mechanism is “We trust six computers to verify all transactions,” that’s going to be faster than Bitcoin’s proof-of-work algorithm. But if someone hacks those six computers, look out. + +People on the decentralized-and-secure blockchains spend a lot of time thinking about scaling. Often this involves so-called Layer 2 systems, which are built on top of Layer 1 technology such as Bitcoin and Ethereum. For instance, Bitcoin has the [Lightning Network](https://lightning.network/lightning-network-paper.pdf), a Layer 2 payment system that basically lets people on the Bitcoin blockchain set up payments to each other without running all of them through the blockchain. This makes the payments faster and cheaper, and they periodically settle on the blockchain for security. + +Much of the thought in Ethereum these days is about how to scale it so that it can execute large numbers of transactions quickly and cheaply—a prerequisite for building a universal world computer, or frankly even a payments system that can compete with credit cards. Much of the action here is about Layer 2 systems that specialize in doing some sorts of transactions off the main Ethereum blockchain (where space is somewhat scarce and expensive) and then saving the results to that blockchain (where transactions are secure and immutable).30 + +● Bridges, wrapping + +Some people in crypto are faithful to a single blockchain: They are Bitcoin maximalists, or Ethereum or Avalanche or Solana loyalists. Many people are generalist dabblers, though. They like buying lots of tokens on lots of blockchains, because they see merit in many blockchain platforms, or because they like it when lines go up. + +![image of people with laser eyes](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iR.r6Z01EFhI/v0/-1x-1.jpg) + +One result of this is that sometimes you will want to own the token of one blockchain on another blockchain. This comes up a lot in decentralized finance, or DeFi, the system of crypto exchanges and financial products that live on blockchains. If you’re writing smart contracts to trade tokens on the blockchain, those smart contracts—computer programs—will have to run on one particular blockchain. But you might not want to limit yourself to the tokens of that blockchain. (You are, after all, building an exchange.) You might want to write programs on the Ethereum blockchain that trade Bitcoin or write programs on Solana that trade Ether. Say you want to write a smart contract on Solana to swap some Ether for SOL (the Solana token). How do you do that? + +You don’t. Your Ether lives on the Ethereum blockchain. “You have Ether” is a fact about the ledger on that blockchain. The Solana blockchain has no record of that. Nor does Ethereum have any record of Solana tokens. It’s all incompatible, separate systems. It’s separate banks and property registers and DMVs all over again. + +That’s an annoying answer and can’t really be right, so there are workarounds. The principal one is called a “bridge.” A bridge is, generally, a smart contract on one blockchain, a smart contract on another blockchain, and some sort of trusted computer program that sits between them and passes messages. If you want to swap some Ether for SOL, you find a bridge. You send your Ether to the bridge’s smart contract in Ethereum, which locks it up: As far as the Ethereum blockchain is concerned, your Ether belongs to the bridge now. The bridge’s off-chain computer program sees this and alerts its Solana smart contract, which gives you the equivalent of the Ether on the Solana blockchain. + +“The equivalent of the Ether” could, I suppose, be some amount of SOL at whatever the current Ether/SOL exchange rate is. (The bridge could also be an exchange.) But the normal approach is to take Ether on Ethereum and give you back “wrapped Ether” (sometimes “wETH”) on Solana. Wrapped Ether is a token issued by the bridge’s smart contract on the Solana blockchain, representing a claim on the bridge’s Ether on the Ethereum blockchain. It is, as it were, Ether on the Solana network. + +![pig in a blanket appetizer](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i2zq9gEhk.m8/v0/-1x-1.jpg) + +1+1=3? + +Bridges are notorious sites of risk in crypto: A big bridge contract will have a lot of crypto locked up in it, will need to regularly send and receive crypto from strangers, and will have to interoperate between different environments. If you can find a bug in a bridge, you can make a lot of money. People do that pretty regularly. An actual big Solana/Ethereum bridge is called Wormhole; it was [hacked this year](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/) for about $320 million of wETH. + +![tightrope walker in the mountains](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i_6nkdj.N.44/v0/-1x-1.jpg) + +Here’s a slightly different generalization of Bitcoin: + +1. Look, you’ve built a distributed *database*. + +2. This database has some fascinating properties. It’s distributed, decentralized, secure, trustless, and permissionless. + +3. Your database happens to track the ownership of electronic coins. + +4. What if we built a database like that to track the ownership of *other* things? + + +i. Map and territory + +“Modern life consists in large part of entries in databases,” I said, and then I listed a few, starting with money. There’s a reason I started with money, and why Satoshi did, too. A dollar *is* an entry on a list of dollars. If you have dollars, what you have is an entry in your bank’s database saying how many dollars you have. This entry is the dollars. The bank doesn’t have sacks of gold or a big box of paper currency that the database refers to. It just has the database. + +This is even more true for Bitcoin. There are no paper Bitcoins at all. If the Bitcoin ledger says you have a Bitcoin, then you have a Bitcoin. That’s all a Bitcoin is. + +Almost nothing *else* works quite that way, though. If you own a house, in some legal sense the main thing that you own is an entry in a property register. But in some much more important sense, the main thing that you own is *the house*. If your house burned down, you could not sleep in your deed. + +Conversely, if someone snuck into the property registry at night and slipped in a new deed saying that *they* owned your house, and then they showed up at your house to kick you out, you might reasonably raise objections like “But all my stuff is here,” or “But I have the keys to the locks,” or “But all my neighbors know I live here,” or “But this is the address on my driver’s license,” and you might convince everyone—the sheriff, the courts, your mortgage lender—that in fact you own the house and the deed is wrong. The property registry is not *definitive* for house ownership the way the Bitcoin ledger is definitive for Bitcoin ownership. + +But the idea of putting important databases of real-world stuff “on the blockchain”—for some reason the definite article is always used with this stuff, and one shouldn’t worry too much about *which* blockchain—has a lot of appeal. People are always talking about moving real estate registries or cargo manifests or carbon emissions onto the blockchain. + +This is appealing because, as a database, the blockchain has some nice properties. The important public blockchains such as Bitcoin and Ethereum are secure, open, and permissionless. Anyone can prove they own a Bitcoin, and that ownership can’t be reversed arbitrarily. + +And anyone can *build* on these systems. + +![lego scene](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ishLA5BUfQNg/v0/-1x-1.jpg) + +If you want to build an exchange for trading Ethereum, you can just do it; the blockchain is public, and the standards for building Ethereum programs are open. Building a new system for buying *houses* is overwhelmingly difficult. You’d need to get lots of banks and county property registries and appraisers on board. But if, somehow, the houses were moved to the blockchain, that would permanently allow for permissionless innovation: Everyone could build programs and exchanges and derivatives and interfaces for house buying, and the best ones could win. + +The problem is that houses can’t live on the blockchain. They live in the real world. They can burn down and stuff. Connecting the electronic artifact on the blockchain—the house token?—to its real-world referent—the house—is philosophically and practically tricky. + +How to make this connection is largely an unsolved problem, and quite possibly an *unsolvable* one, but also an important one. Crypto’s *financial* system is well-developed and has some advantages in openness and permissionless innovation over the traditional financial system. If you could ingest the physical world into that financial system, you’d have something cool. + +ii. Enterprise blockchain + +A less ambitious version of this is: Look, banks are already keeping lots of databases to track lots of things. Dollars in bank accounts but also loans, tradable securities, derivative contracts, trade financing, all sorts of stuff. Some of those databases are slow, some are written in Cobol, and some require an exchange of faxes to settle transactions. It would be nice if those databases were faster, if they could talk to each other efficiently. It would be nice if JPMorgan Chase’s database could talk to Goldman Sachs’s database, if there weren’t a manual and contentious process of reconciling trades between banks. + +In 2010, if you were a loan trader at a bank, and you thought, + + + +**“Ugh, our systems for trading loans are so slow and kludgy,”** + +and you walked into the CEO’s office and said, + + + +**“We should spend tens of millions of dollars hiring top-notch programmers to build a new loan-trading system, and we should start a consortium with our competitors and clients where we all agree to use the same loan-trading system, because that will make my life easier and eliminate a lot of back-office costs,”** + +the CEO would probably say things like + + + + + + +But in 2017, if you were a loan trader at a bank, or a blockchain consultant, or frankly a person off the street, and you walked into the office of a bank CEO and shouted the word + +the CEO would hand you a sack of money. Lots and lots and lots of people took advantage of this. “Blockchain” was for a while the sexiest word in finance, and banks were tripping over themselves to announce blockchain initiatives.31 + +The idea here was sometimes vague, to be honest, but broadly speaking we’re talking about *permissioned* blockchains, or *private* blockchains. Big public blockchains are generally not something a banker is going to like. Having all transactions be public is good for security (everyone can verify that everything is correct) but also bad (if your transactions are meant to be secret). It’s also just sort of *icky* for regulation. “Who makes sure that your transaction records are correct?” a bank regulator will ask, and the bank will answer, “Well, we don’t really know, but we think it’s some mining pools in Russia,” and the regulators will get nervous. + +But many of the basic ideas of a blockchain—a ledger of every transaction that’s demonstrably shared by every computer on the network—can be implemented *privately*. If you get together with 11 of your friends and agree that the 12 of you will do transactions with one another, keep a ledger, verify all the transactions, and use cryptographic hash functions to make sure the ledger isn’t changed, then you can just do that. If you all trust each other and don’t let anyone else join the network—or if you let only people you trust join the network—then you don’t have to worry about malicious miners taking over your network. It’s just you and your friends. + +This has advantages for security, particularly for *explaining* security to bank regulators. You also don’t have to make the blockchain public if you don’t want to, and there are efficiency advantages. It’s only 12 of you confirming transactions, so you can do it faster. Presumably you’re doing this for a reason—you want the ability to do these transactions with each other—so you don’t have to get paid for confirming transactions. You don’t need mining or staking: Those are ways for public blockchains to reach a consensus among people who have to prove they have a commitment to the system. The 12 of you all know one another and built the system, so your consensus is good enough without any further proof. You can just vote on it. + +![archival boardroom image](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iLQhRvXzGO9M/v0/-1x-1.jpg) + +An important fact about Bitcoin is that it’s both a technological method of sending money and the money itself. That is, Bitcoin is a computer system for sending Bitcoins, and a Bitcoin is the thing that the Bitcoin system sends. + +Some of what goes on in crypto is *about the technology*: People use the ideas of blockchains and smart contracts and so forth to build software. Some of what goes on in crypto is *about the money*: People call up their brokers to place bets on the prices of crypto tokens going up. + +But a lot of what goes on in crypto is *about both*: + + ![Crypto technology runs on crypto tokens, and crypto tokens get their value from crypto technology.](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P2-TOKEN-VALUE.svg) + +Broadly speaking, the name for this is “web3.” The [idea](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) is that the original web was the early development of the internet, when people built decentralized open community-controlled protocols for the internet. “Web 2.0,” or “web2,” was when big tech companies more or less took over the internet; now your experience of the internet is largely mediated through Facebook and Google and Apple and Amazon, and they make tons of money from controlling the internet. No open decentralized project is going to compete with them. But web3 will be when people build decentralized open community-controlled protocols for the internet again *and also make lots of money*. Because the decentralized protocols won’t be owned by big tech companies, but they won’t be free and owned by no one, either. They’ll be owned by their users. + +Just kidding: They’ll be owned by venture capitalists who buy tokens in these projects early on and who are the [biggest boosters of web3](https://www.bloomberg.com/news/articles/2022-06-28/web3-is-the-big-idea-customers-didn-t-ask-for). But also by their users. + +![](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/imBRqyA3Q6WI/v0/-1x-1.jpg) + +i. Tokens and tokenomics + +Think about what you get when you buy a Bitcoin. One thing you get is a unit of “digital cash”: You can send the Bitcoin to someone else to buy a sandwich or whatever. If this digital cash thing takes off, then lots of people will accept Bitcoin for sandwiches, and this currency that you bought will be very useful. + +But another thing you get is a *share* in the Bitcoin project. Not a share of actual stock, but still a chance to profit from the success of Bitcoin. If this digital cash thing takes off, then lots of people will want Bitcoin to use to buy sandwiches, and there will be a lot of demand for Bitcoin. But only 21 million Bitcoin will ever exist. So each Bitcoin will be more valuable as more people decide to use Bitcoin as their way to transfer digital cash. + +That logic never quite made sense. A convenient currency for digital cash transfer has a stable value, and the *rising* value of Bitcoin makes it *less* useful as a currency: If your Bitcoin keep going up in value, you should not spend them on sandwiches. Bitcoin as an appreciating asset will be a bad currency.32 Still, it worked well *enough*. Bitcoin is used enough for digital transfers of value that it became valuable, and early adopters got rich. + +This is a key financial innovation of crypto: + +Crypto built an efficient system to make *the customers of a business also its shareholders*. + +Lots of crypto projects have this basic structure. Filecoin is a decentralized system for storing files, where you can pay to store files or get paid for storing files for someone else. You pay, or get paid, in Filecoin. Helium is a decentralized system for wireless hotspots, where you can get paid for running a hotspot or pay for access. You pay, or get paid, in Helium’s tokens. And there are play-to-earn video games such as *Axie Infinity*, where you pay for tokens to play the game, and get rewarded in the game’s tokens. Participating—storing files, providing Wi-Fi, playing the game—makes you an investor as well as a user. + +This is potentially powerful because crypto is in the network-effects business. Many crypto projects are useful mainly if lots of other people use them. Bitcoin is a useful payment system if lots of people have Bitcoin and accept it for payments. Ethereum is a useful computing system if lots of people build apps on Ethereum. If you build a decentralized financial exchange or a peer-to-peer marketplace or whatever else on Ethereum, it’s useful if lots of people use it. + +It’s hard to build a network-effects business from scratch. Early users of a network-effects business won’t get much out of it, because there’s no network yet. You might as well just wait until there are more users. The economics of crypto tokens reverse that. Early users of a crypto network get tokens cheap, and if the network takes off later, then their tokens will be worth a lot. Now there’s an advantage to being early. “[Token effects](https://www.bloomberg.com/opinion/articles/2021-12-21/there-s-inside-information-in-sec-filings?sref=1kJVNqnU),” people sometimes call this. + +Many claims made about web3 are just about taking this basic idea at face value, assuming that it’s good, and applying it in vague ambitious ways. One issue for web3 is that for most consumers, the process of even signing up is going to be baffling—you generally don’t just take out your credit card and start playing a game. You might need to buy Ether on an exchange, then use a bridge to connect to the game’s own special wallet, then trade your Ether for another token you need to buy characters or fight battles or whatever. + +Another problem is the urge to tokenize businesses with no obvious network effects. In July, *Esquire* [published an article](https://www.esquire.com/entertainment/books/a40654712/crypto-books-future/) about how “The Crypto Revolution Wants to Reimagine Books”: + +> What if you could own a stake in Harry Potter? + +> What if the book series functioned like a publicly traded company where individuals could “buy stock” in it, and as the franchise grows, those “stocks” become more valuable? If this were the case, someone who purchased just three percent of *Harry Potter* back when there was only one book would be a billionaire now. + +> Just imagine how that would affect the reading experience. Suddenly a trip to Barnes & Noble becomes an investment opportunity. Early readers could spot “the next big thing” and make a $100 contribution that becomes $10,000 or even $100,000 if the book’s popularity grows. If readers could own a percentage of the franchise, they might then be incentivized to help that book succeed. They could start a TikTok account to promote the book via BookTok, or use their talents as filmmakers to adapt it to the screen. All of this stands to increase the value of their original investment. + +You’d feel like a chump reading poetry, wouldn’t you? + +![There’s grief of want, and grief of cold, – A sort they call ‘despair;’](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iaB4uw.jXM_Q/v0/-1x-1.jpg) + +The bad way to put this is that every web3 project is simultaneously a Ponzi.33 + +Why would you buy some tokens to join a web3 Facebook competitor? Well, if you like the product, go right ahead. But probably it’s at least in part because you want to get rich off the tokens by selling them to someone else. Why do you think someone else will buy the tokens? Is it because you think they like the product? Or is it because you think *they* are planning to get rich by selling to a bigger sucker? Where does that end? + +Dror Poleg, a writer on business and technology, [wrote a blog post about web3](https://www.drorpoleg.com/in-praise-of-ponzis/) that I think about all the time. The title is “In Praise of Ponzis.” It goes like this: + + ![This is, essentially, a pyramid scheme. A Ponzi. But it makes sense. It will be the dominant marketing method of the next decade and beyond. “Nonsense,” you might say. “At the end of the day, you need to sell something; narratives are not enough.” But aren’t they? Another difference between the old world and ours is that we no longer sell things. In the past, the content was used to sell stuff: executives from manufacturing companies got their TV channel buddies to produce soap operas in order to see more soap. But today, content is not used to sell anything beyond itself. Everything is content, including your actions and behaviors. Why give them away for free?](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P2-PYRAMID-MOBILEC.svg) + +ii. DAOs + +I should mention some other web3-ish concepts here. One is a DAO, usually pronounced “dow,” which stands for “decentralized autonomous organization.” DAOs aren’t decentralized autonomous organizations. In the early days, people sometimes thought that’s what they were. “This company runs automatically through smart contracts with no human intervention,” they would say. “It’s never been seen before in human history.” But, no. The thing that runs automatically through smart contracts with no human intervention is a *smart contract*. A DAO is a way for *people* to get together to *vote* to control a pot of money or a protocol on the blockchain. + +In other words, a DAO is a … company? Like, just a regular company? It has shareholders, who put in money and control it. (Actually, they put in money and get back tokens that give them rights to govern the DAO.) And the shareholders can vote. DAOs are unlike regular companies in that the shareholders (token holders) tend to vote on more stuff: Often there’s a chat room on an app called Discord, and people can propose ideas for the DAO, and there are procedures for holding a vote. Whereas US public companies let shareholders vote in only very constrained and symbolic ways, DAOs tend to let token holders vote on all sorts of stuff and often give them a fair amount of real control of the company. In this, DAOs look more like *partnerships* than public corporations.34 + + ![](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/itWwWhNxY_8k/v0/-1x-1.jpg) + +Some DAOs are the governance mechanisms for big decentralized finance, or DeFi, applications like crypto exchanges and are responsible for setting policies and parameters for how they work. Other DAOs are just weird larks. [ConstitutionDAO](https://www.constitutiondao.com/) made some headlines in 2021 for raising a bunch of money from crypto investors to buy a copy of the US Constitution. They failed to buy it, did some DAO voting stuff on what to do next, and ultimately returned most of the money (minus gas fees), and shut down. It was a quick way for people to pool their money online to have fun together. It was a Discord chat with a pool of money. + +iii. Identity, reputation, credentials + +In the Bitcoin white paper, Satoshi makes a privacy recommendation: “A new key pair should be used for each transaction to keep them from being linked to a common owner.” It’s free and easy to generate new Bitcoin addresses, so every time you accept a payment in Bitcoin, you should do it in a different address. The Bitcoin blockchain is public, sure, so everyone can see every transaction. But the goal is for all of *your* Bitcoin transactions to be separate, unlinkable, so no one can ever get a full picture of what you’re up to on the blockchain. + +Meanwhile, in Ethereum there’s the [Ethereum Name Service](https://ens.domains/), or ENS, which we talked about earlier. This lets you register a domain name like “matthewlevine.eth” and use it across various Ethereum functions. “Use your ENS name to store all of your addresses and receive any cryptocurrency, token, or NFT,” says its homepage. Venture capitalists sometimes use their ENS domain as their Twitter display name. + +These are very different philosophies about what you’re doing in the crypto world. Bitcoin is, philosophically, digital cash, anonymous and transactional. Ethereum is, philosophically, something like an open-source programming community, where *reputation* is what’s valued. And to accumulate reputation, you need a consistent identity. You do all your Ethereum stuff under your real name, or at least your vanity plate. + +![vanity plates](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iwBvoAR.uBfE/v0/-1x-1.jpg) + +Many of the grand claims that people make about web3 are about reputation and identity. The idea is that you can keep your identity on the blockchain in some immutable, decentralized, transparent, provable form, and then do good stuff with it. You have some crypto wallet that contains not just tokens that you *bought*, but also tokens you received for *doing* things. When you graduate from college, your college sends you a Bachelor’s Degree Token, or a series of tokens specifying the courses you took and your grades and maybe what you learned. When you pass your driving test, the DMV sends you a Driver’s License Token. When you go to a professional conference, the conference organization sends you an Attended a Conference Token. When you get promoted at your job, your employer sends you a Senior Blockchain Developer Token. When you help out on an open-source project, the leaders of the project send you a Thanks for Helping With Our Open-Source Project Token. When you post a lot on Reddit, other Reddit users send you Good Post on Reddit Tokens ([these exist](https://www.reddit.com/community-points/), and they’re called Community Points). When you help your friend move, your friend sends you a Thanks for Helping Me Move Token. All of these tokens are verifiably signed by their issuers (your college, the DMV, Reddit, your friend), and the issuers have varying degrees of credibility and importance. (These tokens will also, in the general case, be *nontransferable*: You can’t sell your college degree to someone else.) + +And then if you’re looking for a job, you’ll show prospective employers your degree tokens and conference tokens and Reddit tokens and whatever else seems relevant.35 And if you go on a decentralized dating app, perhaps you’ll show prospective romantic partners your degree tokens and your cool-hobby tokens and the I’m a Good Romantic Partner in Many Ways Tokens that your exes sent you when you were together.36 I don’t know. These things are more often described as loose utopian sketches than specific programs. When I write them down they sound extremely *dystopian* to me, but perhaps you disagree. + +Sometimes they’re spelled out a bit more. In May, Vitalik Buterin [published a paper](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4105763), with E. Glen Weyl and Puja Ohlhaver, called *Decentralized Society: Finding Web3’s Soul*. It called for a set of “non-transferable ‘soulbound’ tokens (SBTs) representing the commitments, credentials and affiliations of ‘Souls.’” A soul, in this terminology, is not quite a *person*, though it is more like a person than it is like a Bitcoin address. A soul could be a person, or an institution (a university, etc.), but a person could also have multiple souls for multiple contexts. + +“When issuing a tradeable NFT, an artist could issue the NFT from their Soul,” says the paper, beautifully. It would be amazing if theology could be replaced, or perhaps *solved*, by cryptography. A person’s soul is nothing more than the things and people that she loves, the people who love her, and the impact that she has on the world, and we’ve encoded it on the blockchain, here it is. It would be a bummer to lose the private key to your soul.37 + +*For what shall it profit a man to gain a lot of Bitcoin and lose his own soul?* + +Here’s another way to describe what Satoshi did: He created a way to do *irreversible transactions* on computers. + +i. Censorship resistance + +Ordinarily, if there’s some database on a computer somewhere, and it changes some data field, it can just change that field back to what it was; those are equivalent, easy things for a computer to do. But the blockchain makes it *hard* to change things back. If a Bitcoin moves from one address to another address, and that transaction is included in a block, and then a few more blocks are added afterward “confirming” the transaction, then it would take an unfathomable amount of computer *work*—running hash functions trillions and trillions of times—to rewind the blockchain to remove that transaction. Blockchain is one-way; its ledger is permanent. + +This is nice if you want your ledger to be really secure, hard to hack, backed up in multiple places, though honestly it’s probably an overkill for those purposes. But it’s *really* nice if you want your ledger to be immune from *government meddling*. Or, really, anyone’s meddling. Crypto people call any interference with transactions “censorship.” Bitcoin is “censorship-resistant.” You might not trust the government, because, for instance, you live in a repressive dictatorship that controls the banking system and will seize your money from you unjustly. + +![security cameras](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iVXdY6JDtRlM/v0/-1x-1.jpg) + +Or you might have other objections. US banks, often though not always in conjunction with US government agencies, are very much in the business of *blocking payments*. They’ll block payments to organizations designated as terrorists by the government, or to countries sanctioned by the government. But they’ll also block payments to pornographic websites in response to [public pressure campaigns](https://www.foxbusiness.com/technology/mastercard-banks-consent-porn-sites). If you’d like to finance terrorism or do business in Iran or consume internet porn, this sort of thing might drive you to embrace crypto. But even if you don’t like terrorism or Iran or porn, this sort of thing might make you *nervous*. What *other* forms of commerce might be shut down by the government, or by banks acting independently of the government?38 + +ii. Or not + +The practical problem with censorship resistance is that the crypto world touches the real world at various points, and those contacts make it hard to be totally free from the pressures of outside influence. A meme in crypto is the “$5 wrench attack,” named for an [*xkcd* web cartoon](https://xkcd.com/538/) pointing out that the way to steal someone’s cryptocurrency isn’t by using sophisticated methods to hack his laptop but rather by “hitting him with this $5 wrench until he tells us the password.” + +![wrench](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i2.YCCpcVGQA/v0/-1x-1.jpg) + +The other problem is that, while crypto generally creates decentralized and irreversible transactions, it also creates a *permanent public record* of those transactions. The government can just look at that record! It can’t *reverse* the transactions, but it can do its best to make life unpleasant for the recipients. + +You can send Bitcoin to anyone without anyone’s permission. But at some point you’ll want to *do* something with Bitcoin. You’ll want to spend it; if you have a lot of it, you’ll want to spend it on real estate or yachts or jewelry or art.39 A financial system cannot be *entirely* self-contained; you have to be able to turn your money into actual stuff. + +And that’s where they get you. The normal way to turn your Bitcoin into dollars is through a centralized crypto exchange, such as the apps for buying and selling crypto that you saw advertised during the Super Bowl. They’re the main “fiat off-ramp,” the place that lets you sell your Bitcoin (which are hard to spend) for dollars (which are easy to spend). Centralized crypto exchanges are *extremely* censorable, since they tend to be run by wealthy CEOs who would prefer to remain wealthy and not in prison, and so they’ll do things like ask you for your driver’s license before letting you open an account. If you’re on the government’s “do not open an account” list, they won’t open an account for you. + +Also, if your *Bitcoin* are on a bad list, they won’t turn them into dollars for you. If you come by 100,000 Bitcoin in the wrong way—by hacking someone’s Bitcoin account, or by doing a ransomware attack, or by getting them from an address that the government has blacklisted for some good or bad reason—and transfer them into an exchange, the exchange will ask you where they came from. Also the government, and the exchange, can trace the provenance of your Bitcoin and see if any of them were involved in known bad transactions (hacks, ransomware, etc.). And if they were, the exchange can block you from taking your money out and can call the police. + +![courtroom sketch](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iLqY7doQwzUg/v0/-1x-1.jpg) + +*Forbes* contributor and rapper (left). + +Earlier this year [a couple were arrested](https://www.bloomberg.com/opinion/articles/2022-02-09/business-rapper-was-bad-at-bitcoin-laundering) and accused of trying to launder 119,754 Bitcoin stolen from the Bitfinex exchange in a [2016 hack](https://www.bloomberg.com/news/features/2022-06-30/how-the-world-s-biggest-bitcoin-btc-hack-at-bitfinex-got-botched). (She was a YouTube rapper and a *Forbes* contributor—colorful character!) That’s billions of dollars of Bitcoin at today’s prices. But these people were not living particularly large, because it turns out billions of dollars of stolen Bitcoin can be extremely difficult to spend and extremely easy to track. Most of the allegedly stolen Bitcoin never left the account where they first landed after the hack. Some were sent to crypto exchanges and converted into dollars, but the exchanges kept meticulous records of who was opening the accounts and withdrawing the money and quickly froze withdrawals. Some were exchanged for gold at a precious-metals dealer, but they had to show a driver’s license and give a real home address for that transaction, so the FBI saw who got the gold. Some of the money was spent on a Walmart gift card, and if you’re buying a Walmart gift card with your billions of dollars of stolen censorship-resistant currency, then your money laundering is not going well. + +We’ve talked about how Satoshi’s essential technological innovation was that he found a way to make numbers on computers *scarce*. And a weirdly important generalization of Bitcoin is that it is a way to create electronic scarcity. + +i. Wait, what? + +Is that good? For digital cash it is, sure. Dollars are electronic ledger entries that are scarce because a complicated system of banking regulation makes them scarce; banks *can* make new dollars just by changing a number in a database, but there’s a lot of ceremony involved in making sure they do that in the right way. If you want a decentralized permissionless system of money without trust or regulation, you need some way to limit how much money there is, and Bitcoin solved that problem. + +The broader idea of scarce digital assets is weirder, though. The normal condition of human existence is that good stuff is scarce, and companies make money selling it to us because we can’t get infinite amounts of it for free. This isn’t always true of everything, but it’s generally true of the things that you notice paying for. (In general you can breathe as much air as you want for free, though science fiction occasionally has fun imagining dystopian worlds where air is scarce, expensive, and controlled by corporations. Crypto people sometimes have fun imagining those worlds, too, but thinking they’re utopias.) + +It’s hard to mine coal + +![coal mine](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iDDIH66n1MJ8/v0/-1x-1.jpg) + +or make a chair + +![designer chair](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iDz7VZrVHYs4/v0/-1x-1.jpg) + +or train a tax accountant. + +![archival accountant photo](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iC09x8NMDvYw/v0/-1x-1.jpg) + +There isn’t an unlimited supply of those things, so they cost money. Every so often a scarce thing becomes abundant—a vast oil field is discovered, a robot is invented that can make 100 chairs per hour—and prices drop, and the people who were previously in the business go broke. + +So there’s a natural intuition that scarcity creates value and abundance destroys it. This is, of course, wrong. You’d rather have more stuff than less. As a consumer, abundance is good. But you can’t get rich selling stuff that’s infinitely available for free. And you want to get rich. + +The modern world has developed ways to get rich by selling stuff that, in theory, is infinitely available because it’s electronic. Microsoft Word is not *really* scarce: The amount of physical resources (electricity, computing power, disk space) involved in making one more copy of that computer program and putting it on my computer is tiny in the scheme of things, and when I pay for a copy of Word, I’m paying Microsoft Corp. for the effort involved in coming up with Word in the first place, not for the marginal copy. And Microsoft is, in part, in the business of making those copies scarce—of making it *not* trivial to copy its programs, with copy-protection schemes and subscription plans—so that it can charge for them. + +Or, if you regularly read Bloomberg online, thank you for paying to get past our paywall. Some of your money is going toward paying for our servers to deliver one more impression of an article to your browser. Not very much of it, though. Most of it is going to me, haha, thanks! + +One possible future is that the world will be increasingly like that, at least for some people.40 Technological progress will make the basic necessities increasingly abundant and also less fun, the physical world will become more homogenous and boring, and everyone will spend more of their time online. Their friendships and romances and family life will occur on computers; their lives will get meaning from stuff that happens on computers. + +One possibility here is that this will just be nice and egalitarian: Everyone can find their own communities and live in the limitless abundance of the internet. The other possibility is that in an internet world the essential goods will be *positional*. Being in the *cool* internet chat room will be desirable the way living in a fancy house in a good neighborhood is desirable now. Having a *cool* online avatar will be desirable in the way that wearing a nice watch is desirable now. And if crypto is a way to make those things *scarce*, to make the desirable avatars a limited edition available only to trendsetting early adopters and rich people, then you can make money selling them. + +This all seems bad to me, + +***BUT WHAT DO I KNOW?*** + +![video game](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iYYJR.wmmUfc/v0/-1x-1.jpg) + +ii. Rare monkey JPEGs + +I guess we have to talk about NFTs again. + +Remember, an NFT is just a token with a number. If you buy a Bitcoin, your Bitcoin is identical to anyone else’s Bitcoin.41 If you buy an NFT, it has a number. There will be some series of NFTs—some ERC-721 token series with a name, let’s call them Tedious Tamarins—and each NFT in that series will have a number, and Tedious Tamarin No. 63 will be distinguished from Tedious Tamarin No. 64 by having a different number. + +I’m being as trivial as possible, but of course everything on the internet is distinguished from everything else on the internet by having a different series of numbers. That’s all internet culture is, numbers encoding pictures and sounds and text and arguments. There’s no reason in principle why the number 63 should not encode a tamarin who looks bored but *really cool*, while the number 64 encodes a tamarin who looks bored and kinda schlubby. And so you might pay more for No. 63 because he looks cooler. + +What this means *technically* is interesting. The paradigmatic NFT is some piece of digital art: Tedious Tamarins is a series of 1,000 digital drawings of slightly different monkeys with bored expressions, and different tamarins will be worth more depending on how cool they look. (Commonly an NFT series will have a handful of possible attributes—a tamarin might be smoking a cigarette, or wearing a funny hat, or yawning, or closing its eyes, and tamarins will be worth more depending on how many attributes they have and how rare those attributes are. You could imagine the value of different NFTs within a series being based on purely aesthetic considerations, but, mostly not.) + +But what does it mean to say that the NFT *is* a piece of digital art? The art does not live on the blockchain. As the well-known software engineer and hacker who goes by the name Moxie Marlinspike wrote in a [blog post](https://moxie.org/2022/01/07/web3-first-impressions.html): + +> Instead of storing the data on-chain, NFTs instead contain a URL that points to the data. What surprised me about the standards was that there’s no hash commitment for the data located at the URL. Looking at many of the NFTs on popular marketplaces being sold for tens, hundreds, or millions of dollars, that URL often just points to some VPS running Apache somewhere. Anyone with access to that machine, anyone who buys that domain name in the future, or anyone who compromises that machine can change the image, title, description, etc for the NFT to whatever they’d like at any time (regardless of whether or not they “own” the token). There’s nothing in the NFT spec that tells you what the image “should” be, or even allows you to confirm whether something is the “correct” image. + +If you buy an NFT, what you own is a notation on the blockchain that says you own a pointer to some web server. On that web server there’s *probably* a picture of a monkey, but that’s none of the blockchain’s business. + +![broken image](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iGVERZXhC4mY/v0/-1x-1.jpg) + +Meanwhile the intellectual-property rights to that picture of a monkey are *certainly* none of the blockchain’s business. It’s not uncommon for the person or company selling the NFT series to 1) own the IP rights to the pictures of the monkeys and 2) promise to transfer those rights, or some of them, to individual holders of the NFTs. But if that happens, it happens off the blockchain; those promises are or aren’t enforceable through the normal legal system. And it’s not all that uncommon for the person selling the NFT series *not* to own the IP rights. Early in the NFT boom, it was common for people to make NFTs “of” the *Mona Lisa* or the Brooklyn Bridge. It’s just a token with a number; why can’t that number refer to “the Brooklyn Bridge”? + +![magazine stand with Mona Lisa image](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iFVUXldFDHnk/v0/-1x-1.jpg) + +In some ways this technical silliness makes NFTs more culturally interesting. If you buy an NFT, all you’re getting is a very thin signifier, some fragile pointer to some piece of digital art. And yet people do pay a lot of money for NFTs with the right sort of monkey picture. These NFTs may not represent ownership in any particularly binding sense, but they represent a *feeling* of ownership. And they also represent a form of *community*. + +![Bored Ape Yacht Club images](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i3snN4wAJEFg/v0/-1x-1.jpg) + +Worth a shot, no? + +The most famous NFT collection is of course the [Bored Ape Yacht Club](https://boredapeyachtclub.com/#/), a series of 10,000 JPEG images of monkeys on Ethereum, some of which sell for millions of dollars. There’s no physical yacht club, but there are (IRL) *parties* for Bored Ape owners. Various celebrities, art dealers, and venture capitalists own apes, and owning an ape is a way to join an exclusive club. And that club has its norms, and those norms include “It is cool to use a picture of your ape as your Twitter profile picture” and “It is *not* cool to use a picture of an ape you *don’t* own as your Twitter profile picture.” The technological and legal connections between blockchain and JPEG and ownership are a bit thin, but the connections are enforced culturally. + +iii. The metaverse + +I plan to go to my grave not knowing what “the metaverse” is, so I’m certainly not going to explain it to you. But one thing it is is that you can buy some real estate on the internet. Like, there will be a picture of a house on the internet, and you can have an avatar on the internet that lives in the house, and the avatar can walk from your internet house to the internet store, where it can buy some internet groceries. It will be like a computer game, but more all-consuming and much more boring. + +How much should your house in the metaverse cost? Two plausible answers might be “It should cost as much as a house, it’s a house,” or “It should be basically free, it’s just a file on a computer, there’s essentially infinite space in the metaverse, and nobody has to actually nail together the house.” The second answer strikes me as correct, but that’s no fun for the people selling houses on the internet. + +![Mark Zuckerberg avatar](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iehEuTJN4ols/v0/-1x-1.jpg) + +So, scarcity. The internet houses are NFTs. The goal is to make some of them scarce and prestigious. Having an internet house next door to Elon Musk’s internet house is desirable, let’s assume, and only a couple of internet houses can be next door to Elon Musk’s internet house. Why? They’re all on computers; you could put a million internet houses next door to Elon’s internet house, but you don’t. You make the positional goods scarce. + +This is dumb, but, I mean, look at Facebook (Meta, now). What are the odds that, 50 years from now, the center of the world economy will be digital goods? What are the odds that we will all spend most of our time and money seeking status and romance and connection and entertainment on the internet? If most goods end up being digital, if most people make their money by producing digital goods, then monitoring and metering the distribution of those goods will be an important economic function. Digital scarcity. + +I’m sorry to be This Type of Guy, but it’s hard not to think of the movie *The Matrix*. You know the premise: Everyone is a sack of meat in a bath of nutrients with their brains plugged into a remarkably realistic simulation of late-’90s America. Why a remarkably realistic simulation of late-’90s America? Why does Neo, the main character, have to go work at a boring desk job if he’s just a brain in a vat being fed a soothing simulation by the machines? [Agent Smith explains](https://matrix.fandom.com/wiki/Paradise_Matrix): + +![Agent Smith](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ibDdqHWDUYL8/v0/-1x-1.jpg) + +DID YOU KNOW THAT THE FIRST MATRIX WAS DESIGNED TO BE A PERFECT HUMAN WORLD WHERE NONE SUFFERED, WHERE EVERYONE WOULD BE HAPPY? IT WAS A DISASTER. NO ONE WOULD ACCEPT THE PROGRAM. ENTIRE CROPS WERE LOST. SOME BELIEVED THAT WE LACKED THE PROGRAMMING LANGUAGE TO DESCRIBE YOUR “PERFECT WORLD.” BUT I BELIEVE THAT, AS A SPECIES, HUMAN BEINGS DEFINE THEIR REALITY THROUGH MISERY AND SUFFERING. SO THE PERFECT WORLD WAS A DREAM THAT YOUR PRIMITIVE CEREBRUM KEPT TRYING TO WAKE UP FROM. + +So they simulated late capitalism instead. Even in a world where all the goods are digital and available in limitless abundance, you still have to have a (simulated) desk job to pay for them. Digital scarcity. + +## III +The Crypto Financial System + +Let’s step back a bit and abstract from what we’ve discussed so far. Crypto is: + +1. A set of tokens, which are worth fluctuating amounts of money. We can say that these tokens are financial assets, like stocks and bonds.42 + +2. A novel set of ways to create new tokens and distribute them and try to make them worth money. + +3. A novel way of *holding* financial assets: Instead of the databases that people use to hold stocks and bonds, you can own your crypto on the blockchain. + +4. A novel way to write contracts and computer programs (computer programs that are contracts, and contracts that are computer programs). + + +If you read only that description, you might object: “Yes, fine, but what is crypto *for*? What do these tokens *do*? *Why* are they worth money?” Nothing in that description answers those objections. I suppose the last one does, in a sense—“Crypto tokens are for building smart contracts for trading crypto tokens”—but it’s not a very *good* answer, because it’s entirely self-referential. “Yes, fine, but why are you trading the tokens in the first place?” + +![image of a mirror](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i3uqZsPI2_tY/v0/-1x-1.jpg) + +What *are* you? What do you *do*? + +But for now I want to set this objection to the side. If you’re a certain sort of financial person—a financial engineer, an arbitrageur, a market-structure enthusiast, a builder of high-frequency trading systems—this abstract set of facts is incredibly, incredibly beautiful. You wake up one day, and there’s just a whole other financial system. It’s full of smart people building interesting things, and it’s full of idiots making terrible mistakes. People have built brilliant new ways to make financial bets that you can use, and they’ve built insane new ways to make financial bets that you can exploit. How can you not want to join in? It’s so *interesting*, so intellectually appealing, such a blank canvas for all of your aesthetic views about how markets should work. Also, *so many idiots are getting rich; why shouldn’t* *you?* + +There are other appealing properties when you compare this system to traditional finance. The crypto system is, philosophically, one of *permissionless innovation*. The workings of the major blockchains are public and open-source; if you want to build a derivatives exchange or margin-lending protocol or whatever in Ethereum, you just do it. You don’t need to set up a meeting with Vitalik Buterin to get his approval. You don’t need to negotiate access and fees with the Ethereum Corp.; there is no Ethereum Corp. Anyone can try anything and see if it works. + + ![a grid](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P3-GRID.svg) + +If you’re a smart young person coming from traditional finance, this feels liberating. If you’re used to spending months negotiating credit agreements with prime brokers and setting up direct access to trade on a stock exchange, the idea that you can just *do* stuff in crypto, with no preliminaries, is amazing. Obviously it’s a bit alarming as well: Some of those long, slow processes in traditional finance are there to prevent money laundering or fraud or ill-considered risk-taking. But, empirically, a lot of them aren’t really preventing any of those things, or aren’t doing so in an optimal way. A lot of them are just How It’s Always Been Done. Nothing in crypto is How It’s Always Been Done; it’s all too new. + +And so people invented a financial system for crypto. It runs alongside the traditional financial system, though they touch at many points. In some ways it looks a lot like a copy of the traditional financial system. In other ways it looks totally different. In some ways it’s a streamlined and modernized and innovative evolution of the traditional system. In other ways it’s a chaotic and stupid devolution of the traditional system, a version of traditional finance (“TradFi,” as crypto people call it) that unlearned important historic lessons about fraud and leverage and risk and regulation. + + ![It’s so fun. Let’s talk about it.](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P3-ITS-SO-FUN-DESKTOP.svg) + +A. + +Your Keys, Your Coins, Your Hard Drive in a Garbage Dump + +i. Holding crypto + +Maybe the first thing to say about the crypto financial system is that the traditional financial system is deeply *intermediated*, and the crypto system is not. If you have money, your bank tracks your money for you; if you have stock, your broker tracks your stock for you; etc. + +One dumb, simple thing that this means: If you have money in the bank, your bank has to give it to you. If you forget the PIN code for your ATM card or if you forget the password for your online banking, you’ll have a hard time taking out money, and that will be inconvenient for you. But the bank owes you the money; they can’t just be like, “Aha, got you, the money is ours now.” There’s some process by which you can go into the bank and prove that you are who you say you are, and they’re like, “Fine, we’ll reset your password, it’s Test1234, don’t forget this time.” + +![password word cloud](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iQGTtI.WZVU4/v0/-1x-1.jpg) + +Crypto doesn’t *necessarily* work like that. Owning Bitcoin means 1) having a public Bitcoin address with some Bitcoin in it and 2) possessing the private key to that address. If you have the public address/private key pair, then you own the Bitcoin; you can transfer them to someone else on the blockchain. If you don’t have that pair, then you can’t. If you lose your private key or lose track of your public address, there’s no one to recover your password for you or give you back your Bitcoin. They’re just gone. + +![a cloud](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iH0M.sDXT02A/v0/-1x-1.jpg) + +There are ways to, you know, not lose your keys. Mainly people use “software wallets,” which generate and keep track of their addresses and private keys and allow them to sign transactions and send and receive crypto online. The wallets may be desktop or phone apps, or extensions on a browser. Most modern wallets require you to keep track not of private keys, but rather a “seed phrase” of, typically, 12 random-looking words. Maybe: “army truth speak average” and so on. + +The phrase can be used as a seed to generate lots of public-private key pairs, so the wallet can create lots of different addresses that can all be recovered from a single seed phrase. (People often speak of wallets “holding” crypto, but really what they have are these keys for various addresses; the crypto is only ever on the blockchain.) Then you write the seed phrase down on a piece of paper, which is easier to write than a long random number. + +![James Howells](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iTpfa5ZHXaUQ/v0/-1x-1.jpg) + +There’s still hope, maybe? + +But this is a developing technology, and there’s a long history of people losing, forgetting, or throwing away their private keys or seed phrases. A guy in Wales named James Howells periodically pops up in the news, because he threw away a hard drive with the private key for 8,000 Bitcoin. He’s pretty sure he knows the garbage dump that has his hard drive, and for years he’s been waging a campaign to dig up the dump and sift through the garbage. If he finds the hard drive and if it still works, then he’ll have Bitcoin worth about $150 million, which he can use to pay all the garbage diggers. In one sense it would be much, much better to have a financial system in which the bank could reset his password and give him back the 8,000 Bitcoin, instead of digging up a garbage dump. In another sense + +![an image of garbage](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i6u_TxIkvDhk/v0/-1x-1.jpg) + +THIS IS AN EXTREMELY FUNNY FINANCIAL SYSTEM, AND THERE’S A CHARM TO THAT. + +ii. *Not* holding crypto + +If you’re a portfolio manager at an institutional investor, and you want to buy Bitcoin, and you go to your compliance and operations people and say, “I want to buy Bitcoin, and I will write our private keys down on a Post-it that I will keep next to my computer,” they will say no. If you propose better security measures, they might still say no: This stuff is too new, too scary. If you say, “MegaBank Custody Services will hold our Bitcoin for us, and we’ll just have a book entry on their ledger saying we have Bitcoin,” then compliance might be a bit more comfortable, but that requires MegaBank to offer that service. + +But what if you go to compliance and say, “I’m just going to enter into a bet with a hedge fund on the price of Bitcoin. For every dollar that Bitcoin goes up, the hedge fund will pay us $5; for every dollar that it goes down, we’ll pay them $5.” Then you *don’t have to own crypto at all*. All you have is an over-the-counter derivative with a hedge fund. Compliance knows what that is; that’s an understandable thing. There are no weird custody issues there, because there’s nothing to keep custody of. There are no weird “coins” to worry about, just a contract with a hedge fund to pay you money. You can write contracts on the price of corn, + +![rows of corn](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ikA0DxsDJX08/v0/-1x-1.jpg) + +on interest rates, + +![Jerome Powell walking through a door](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/imRswQu4hGoc/v0/-1x-1.jpg) + +and on hurricane damage, + +![a hurricane](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/icLX2ZnvZRn8/v0/-1x-1.jpg) + +so why not Bitcoin? You do due diligence on the hedge fund, you get comfortable with the credit and collateral terms, and then you sign the contract. And then, *economically*, you own some Bitcoin—your investment goes up when Bitcoin goes up, and down when Bitcoin goes down—without the worries of *really* owning Bitcoin. No keys to lose. + +And so, in traditional finance there’s a big business offering those instruments. CME Group Inc. offers [Bitcoin futures](https://www.cmegroup.com/markets/cryptocurrencies/bitcoin/bitcoin.contractSpecs.html), which are basically the bet that I outlined above: You pay me $5 for every dollar that Bitcoin goes up, and I pay you $5 for every dollar it goes down. It’s a trusted, centralized, traditional-finance way to bet on the price movements of Bitcoin. + +Still, not everyone can buy futures, which require a lot of money and are not offered by some retail brokerages. In the US financial system, pretty much the easiest thing to invest in is *stocks*. So wrapping Bitcoin in a *stock* would increase its appeal. The easiest way to do this would be a cash Bitcoin exchange-traded fund, a pot of money that trades like stock on a stock exchange and invests the money in Bitcoin. People keep trying to do this, but the US Securities and Exchange Commission remains skeptical and hasn’t approved cash Bitcoin ETFs, though they [exist in some other countries](https://www.bloomberg.com/news/articles/2022-06-22/mystery-surrounds-asset-plunge-in-biggest-canadian-bitcoin-etf). The US has, however, approved [Bitcoin *futures* ETFs](https://www.bloomberg.com/opinion/articles/2021-10-15/bitcoin-etfs-are-almost-here), which invest in Bitcoin through futures contracts. Two layers of abstraction: a Bitcoin, wrapped in a futures contract, wrapped in a stock, and delivered to your brokerage account. + +![sushi](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iPKXu6l36Oiw/v0/-1x-1.jpg) + +i. Fiat on-ramps + +OK, I said one way to own a Bitcoin is to write your private key on a Post-it note. But where did you *get* that Bitcoin?43 The main way people in most of the world get into crypto is that they exchange dollars (or euros, pounds, yuan, etc.—what crypto people call “fiat”) for crypto. And how they do that is a tricky question. + +![cars](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iMrhJAM80NMA/v0/-1x-1.jpg) + +One simple way is for you to find someone with crypto and say, “Hey, can I buy some of your crypto?” They say sure, and you arrange a deal. In researching this article, I set up an Ethereum wallet and texted a friend to ask if he had any Ether that I could buy. He replied sure, and I said, “Send me $20 worth” and gave him my public address. He sent me $20 of Ether, and then he texted me to say, “Done, Venmo me $20.” I did, and our transaction was complete.44 He sent me the Ether before I sent him the dollars, so he took some credit risk, and in fact I was away from my phone when he sent it, so he ended up taking my credit risk for several hours. When I did get his text, I briefly considered that it would be *very* funny if, as part of my research for this article, I *stole* $20 of Ether from him, but that seemed mean. + +I’m not going to lie: This was fun to do and fun to write about—it felt sillier and more exciting than my automatic monthly Vanguard investments—but it’s not a good way to run a financial system.45 *In general*, if you get a text asking you to send crypto to a string of letters and numbers, you should throw your phone into the ocean. + +Instead, the main way that normal people buy crypto is through *crypto exchanges*, specifically *centralized* crypto exchanges. Crypto exchanges are companies—Coinbase, Gemini, Binance, FTX, Kraken, and Bitfinex are some big ones—that accept regular money for crypto. You wire an exchange $100, and it gives you $100 worth of Bitcoin, perhaps minus a fee. + +In the olden days, the stereotype was that a lot of crypto exchanges were run by criminals or incompetent teenagers, or incompetent teenage criminals. The standard crypto-exchange transaction was 1) you exchanged your dollars for Bitcoin to buy heroin, and then 2) the exchange got hacked and lost your Bitcoin before you could even buy the heroin. + +Modern crypto exchanges are less like that. For one thing, they’re more careful and technically adept, so they’re less likely to lose your Bitcoin. For another thing, though, they’re big companies, regulators are aware of them, and they try to be good corporate citizens. In their role as on-ramps and off-ramps between traditional currencies and crypto, they do the same sorts of anti-money-laundering and know-your-customer checks that traditional banks and brokerages do. If you show up at Coinbase—a US public company!—with a sack of dollar bills that you got from dealing heroin and try to convert them into Bitcoin, Coinbase will turn you away and probably report you to the police. The centralized exchanges are very much part of the regulated financial system these days. The days of crypto being a zone of utter lawlessness are mostly gone. + +This is a series of trade-offs. Roughly speaking, the crypto exchanges of the olden days let you trade dollars for Bitcoin without asking any questions, but they might steal your Bitcoin: When the exchanges were unregulated and crime-positive, the odds of them *doing crime to you* (or having crime done to them) were pretty high. The modern crypto exchanges ask a lot of questions and make it difficult for you to move tons of money in secret, but they probably won’t steal your Bitcoin. + +ii. Custodians + +So you’ve opened an account at an exchange and sent the exchange $100 to buy $100 worth of Bitcoin. What does the exchange give you for your $100? One possibility: It gives you 0.005215 Bitcoin. It sends you some instructions on how to set up a Bitcoin wallet, it asks you for a public Bitcoin address, it converts $100 to Bitcoin at the current market price, and it sends you that number of Bitcoin at your public address. And then you access those Bitcoin using your private key for that address. + +This is suboptimal for the exchange. For one thing, dollar and Bitcoin transactions have different time frames and finality. If you fund your account with a bank transfer or a credit card, and then you buy $100 of Bitcoin, and then you call your bank and say, “I’ve been defrauded, I don’t recognize that charge,” there’s a decent chance the bank will take the $100 from the exchange and give it back to you.46 Meanwhile, the Bitcoin transfer to your wallet is fast and irreversible. + +For another thing, you know the exchange will get some customers who don’t write down their wallet’s seed phrase (or lose it or forget it) and then can’t access the Bitcoin. And they’ll call the exchange’s customer service number and say, “I lost the password to my Bitcoin account, can you reset it?” And the exchange will say, “No, it doesn’t work that way, also we don’t have a customer service number.” And the customers won’t like it. “I paid you $100 for Bitcoin, and I don’t have the Bitcoin,” they’ll say, and blame the exchange and complain to regulators and law enforcement and the press.47 + +![a woman using a headset](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i2vBlSm9lhq4/v0/-1x-1.jpg) + +Now, these problems are annoying but solvable, and modern crypto exchanges do some amount of this, acquiring crypto for “self-custodying” customers. But there’s a simpler possibility that is also quite popular. The exchange could hang on to your Bitcoin for you. Instead of sending you 0.005215 Bitcoin on the Bitcoin blockchain, it could go out and buy 0.005215 Bitcoin and put them into its own Bitcoin wallet. Being a professional Bitcoin exchange, it could put in the effort to keep these Bitcoin safe and not lose the keys. + +And then instead of sending you 0.005215 Bitcoin, the exchange just keeps a database of its customers and their account balances. And your entry in the database includes your name, your driver’s license number, your account number, your email address, your phone number, your password,48 your mother’s maiden name, and your account balance, and the exchange writes 0.005215 in the balance field. + +And then when you log in to your account, it displays “0.005215 Bitcoin” as your account balance, and you think you own 0.005215 Bitcoin. And you’re not exactly wrong. But really what you own is a claim on the exchange for 0.005215 Bitcoin. You don’t own them directly, and you don’t control the private key. You just have an entry on the ledger of the exchange. + +If you have a bank account, the bank owes you money, and you trust it to keep a record of that; if you have a crypto exchange account, it’s the same, but the exchange owes you Bitcoin. One thing this means is that if you lose your password, you can call the exchange, and it can reset it for you. The customer service can be a bit better. + +There are some obvious downsides. One big one: It’s like a bank! If you got into Bitcoin because you don’t trust banks and you want to be in control of your own money, it’s somewhat weird, philosophically, to just go and trust a crypto exchange to keep your money for you. + +These days the big crypto exchanges seem to be mostly law-abiding, and you can get rich enough running a legitimate crypto exchange that it seems silly to steal the money instead. But another downside is hackers. A crypto exchange has a giant pot of money, and it has to move that money around a lot to deal with customer transactions. It’s an appealing target for hackers looking to steal private keys. Again, modern crypto exchanges spend a lot of money on information security, but that wasn’t always the case, and there’s a long history of Bitcoin exchanges being hacked. Or “hacked.” When all the Bitcoin in an exchange’s wallet get stolen, it can be hard to tell, sometimes, whether they were stolen by outside hackers or by the exchange’s CEO. + +Also, while I suppose an exchange is less likely to lose its private keys than the average customer is, it can happen. In 2018 the CEO of Quadriga Fintech Solutions Corp. died in somewhat mysterious circumstances while on vacation in India. At the time, the company’s QuadrigaCX was Canada’s largest crypto exchange, and it was apparently run entirely off of its CEO’s laptop. When he died, he took all of Quadriga’s private keys with him, meaning its customers’ Bitcoin were lost forever. Or that’s what it would’ve meant, except that before he died he also stole all the customers’ Bitcoin, so the wallets whose keys disappeared with him were empty anyway. When crypto exchanges are bad, they tend to be bad in all ways at once. + +iii. Also exchanges, though + +Centralized crypto exchanges are on-ramps to crypto for people with dollars and other traditional currencies, but they’re also exchanges. If you have some Bitcoin in your Coinbase account, and you’d rather have Ether, you can sell your Bitcoin for Ether. If you want to actively trade among cryptocurrencies, to make bets on which will go up more, you can do that on an exchange. + +In traditional finance there tends to be a division between “exchanges” and “brokerages.” If you want to buy stock, you open an account at a brokerage such as Charles Schwab, Fidelity, or Robinhood, and you send your broker an order to buy stock. The stock exchange is a place for big brokerages and institutions to trade stock; retail customers need an account with a broker to access the exchange.49 There are many layers of intermediation. + +In crypto that’s not generally true: Big crypto exchanges such as Coinbase or FTX let anyone open an account and trade crypto directly on the exchange, and you wouldn’t normally connect to the exchange through a broker.50 Every step that goes into making a trade happen—getting your money into your account, taking your buy order, matching your order with someone’s sell order, settling the trade, putting the crypto in your account, keeping track of your account—is done by the exchange. + +Let me spend a bit more time on one of those functions: providing leverage. If Bitcoin isn’t exciting enough for you, you can find an exchange that will let you borrow money to buy more of it. You put in $100, the exchange lends you $900, you get $1,000 worth of Bitcoin. If Bitcoin goes up 10%, you double your money; if Bitcoin goes down 10%, you lose everything. Bitcoin goes up and down by 10% a lot, so this is an exciting way to gamble. + +![gambling](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iNOuoyyT6p6c/v0/-1x-1.jpg) + +Traditional finance also provides leverage, but it’s a complex and intermediated system involving brokers and clearinghouses. Crypto exchanges are more integrated, so in many cases a crypto exchange is basically in the business of managing market risk. Say instead of Bitcoin going down 10%, it falls 15%; you’re not only down your original $100, but now you *owe* $50. Crypto exchanges have to decide when to make you post collateral—put up more money—to ensure that you’re good for your losses and when to liquidate your position so you don’t lose more than you can pay back. + +A crypto exchange may have customers with big leveraged bets on Bitcoin rising (they’re “long,” in the language of finance) and customers with big leveraged bets against Bitcoin (they’re “short”). If Bitcoin moves too far in one direction too quickly, then the long (or short) customers will be out of money, which means there won’t be money to pay back the short (or long) customers on the other side. The exchange has to think about how volatile its assets are, set leverage limits so blowups are unlikely, and monitor leverage levels to ensure no one is in imminent danger of blowing up. If someone *is* likely to blow up, the exchange has to seize their collateral and sell it, ideally in an intelligent way that doesn’t destabilize the market too much. And in periods of high volatility the exchange might shut down trading rather than deal with all this. That’s a lot of centralized decision-making. + +Bitcoin is good at keeping track of who has Bitcoin. This is technologically interesting and also useful insofar as Bitcoin are a store of wealth. And if Bitcoin were the dominant currency in the world—if it were “digital cash,” and you could use it to buy stuff and the prices of things were set in Bitcoin—then it would be even more useful. But it isn’t. You use dollars or pounds or yen or euros to buy stuff, and the price of Bitcoin in dollars (etc.) is very volatile. + +One thing that would be cool is if crypto could keep track of *who has dollars*. Then you could get the benefits of crypto (decentralization, smart contracts, skirting the law) along with the benefits of dollars (your bank account isn’t incredibly volatile, you can buy a sandwich). A stablecoin is a crypto token that’s supposed to always be worth $1.51 If you have a stablecoin, then you have $1 on the blockchain. You hope. + +i. Collateralized + +The simplest sort of stablecoin is what’s sometimes called a “fully backed” stablecoin; popular examples include USDC and Tether. The idea here is: + +1. SOME REASONABLY TRUSTWORTHY INSTITUTION SETS UP A STABLECOIN FACTORY TO ISSUE STABLECOINS ON ONE OR MORE POPULAR BLOCKCHAINS. + +2. YOU GIVE THE ISSUER $1. + +3. IT GIVES YOU BACK ONE STABLECOIN. + +4. IT PUTS THE DOLLAR SOMEWHERE SAFE. + +5. IF YOU EVER WANT YOUR DOLLAR BACK, YOU GIVE THE ISSUER ONE STABLECOIN, AND IT GIVES YOU BACK THE DOLLAR.52 + + +Your stablecoin lives on some blockchain53 and can be traded and used like any other token on that blockchain. If you have 10,000 dollar stablecoins on the Ethereum blockchain and you want to buy some Ether, you can buy $10,000 worth of Ether with your stablecoins without putting more dollars in. And if you have $10,000 worth of Ether, you can sell it for 10,000 dollar stablecoins. Having 10,000 dollar stablecoins is like having $10,000, but the stablecoins live on the blockchain—in your crypto wallet—rather than in a bank account. + +This is useful if, for instance, you don’t have a bank account. Or if you don’t live in the US, and it’s hard for you to set up a dollar-denominated bank account. Or if you plan to use the $10,000 to buy more crypto later, and you don’t want to move it back and forth between the regular and crypto financial systems. Or if you want to send the $10,000 to a smart contract, which can deal directly with your crypto wallet but which has a hard time talking to a bank. Banks are suspicious of crypto, and crypto is suspicious of banks, so it’s always a bit painful to connect the crypto system to a bank. “This smart contract will send me dollars if the Jets win this weekend”: no, bad, doesn’t work. “This smart contract will send me stablecoins if the Jets win”: yes, fine. Stablecoins are “wrapped” dollars, dollars that live on the blockchain. + +More generally, this is useful if you think the crypto financial system is *better* than the traditional one. If sending tokens over a crypto blockchain is faster and cheaper than sending dollars by interbank transfer, then stablecoins are a better way to send dollars. If the blockchain lets you develop interesting derivatives contracts and trading applications in a quick and permissionless way and the traditional financial system doesn’t, you’ll want to use stablecoins instead of regular old dollars. + +![a bank teller](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/itIfhNpuXBr0/v0/-1x-1.jpg) + +One important point about the collateralized-stablecoin model is that it requires you to trust the issuer. The *dollar-ness* of the stablecoin happens, as it were, entirely off the blockchain. As a crypto matter, what you have is a receipt for $1 from some institution that you trust. If that institution incinerates all the dollars, that receipt shouldn’t be worth a dollar. + +![Brock Pierce](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iE3HzRe4VKgw/v0/-1x-1.jpg) + +You may remember Brock Pierce as a young Gordon Bombay in *D2: The Mighty Ducks*. + +One of the longest-running and funniest controversies in crypto is about where Tether, the biggest stablecoin, keeps its money. Tether is replete with colorful characters (the *Mighty Ducks* guy, etc.), and they go around boasting about how transparent they are without actually saying where the money is. They also go around promising to publish an audit but never do it. They probably have the money, [more or less](https://www.bloomberg.com/news/articles/2022-08-19/tether-s-second-quarter-lays-bare-impact-of-terra-collapse#xj4y7vzkg), but they seem to be going out of their way to *seem* untrustworthy. Still, people trust them. + +● You can collateralize other things + +The collateralized-stablecoin model is a way to *wrap* noncrypto assets and put them on the blockchain. You could imagine all sorts of assets getting wrapped. + +For instance, what if you wanted to trade stocks, but in crypto? You might want to do this for reasons similar to why you might want to have dollars, but in crypto. You *like* the crypto system, the smart contracts, the permissionless innovation, the decentralized exchanges, frankly the lack of regulation. But you also like stocks, which represent ownership in productive enterprises and are also a very popular tool for speculation. The crypto system doesn’t talk all that well to the stocks system. Your broker is suspicious of crypto, and crypto is suspicious of your broker (less and less so, but still). Putting the stocks on the blockchain lets you trade the things you want (stocks) the way you want (in crypto). + +![wrap sandwich](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i6EGtVeDjlnQ/v0/-1x-1.jpg) + +Conceptually, one way to do this is that some fairly trustworthy institution buys a bunch of Tesla Inc. stock and holds it in its vault. And then it issues “wrapped Tesla” tokens on some blockchain: Each wTSLA token corresponds to one share of Tesla that the institution has in its vault, and you can trade them on the blockchain exactly as you would Ether. + +![wrap sandwich](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i7iEwOYuBg9Y/v0/-1x-1.jpg) + +And in fact this exists. FTX, a leading centralized crypto exchange, offers “[tokenized stocks](https://help.ftx.com/hc/en-us/articles/360051229472-Equities)” on the [Solana blockchain](https://www.coindesk.com/markets/2021/06/24/ftx-follows-binances-lead-with-move-into-tokenized-stocks/), though not to US customers; Binance, another leading exchange, offered tokenized stocks for a while but then [stopped](https://www.binance.com/en/support/announcement/3a0304f3ee1c43668959c1b01f610d59). If you’re going to try this, you’ll want to run it by your [local securities regulator](https://www.cnbc.com/2021/07/16/crypto-exchange-binance-halts-stock-tokens-as-regulators-circle.html). It’s legally sensitive to find new ways to sell people new, not-quite stocks. + +![wrap sandwich](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iqAKYtT7jw.k/v0/-1x-1.jpg) + +But if it works it’s interesting. For a crypto exchange, it’s a way to keep your retail gamblers gambling on your platform: Someone who wants to bet on Bitcoin and Ether and Tesla stock can do all of it on one crypto exchange. + +![wrap sandwich](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iBKqSKE6ICv8/v0/-1x-1.jpg) + +More broadly, though, it’s a way for the crypto financial system to *ingest* the traditional financial system. Have a financial asset? Put it in a box and issue tokens about it. Now it’s a crypto asset. If the crypto financial system is *good*—if the computer programs, payment rails, and institutional structures of crypto have competitive advantages against the programs, rails, and structures of traditional finance—then some people will prefer to trade their stocks or bonds or other financial assets in the crypto system. + +ii. Algorithmic + +The fully backed stablecoin model has problems. One is that you might not trust the issuer of a backed stablecoin. Another is that you might not *want* to trust any issuer. An issuer of a fully backed stablecoin is, by necessity, using the US dollar financial system. It’s keeping the backing dollars in a bank or in other traditional-finance dollar instruments. It might be subject to the regulatory pressures of that system. + +What you want is something that’s worth a dollar but exists purely on the blockchain. Can that be done? + +● Good algorithmic + +Sure! And with a fairly simple and traditional bit of financial engineering. + +It starts with leverage, or just borrowing money. Leverage is a way to amplify the risks and returns of betting on crypto: Instead of putting in $100 and buying $100 worth of Bitcoin and making $10 if Bitcoin goes up 10%, I put in $100 and borrow $100 and buy $200 worth of Bitcoin and make $20 if Bitcoin goes up 10%. Or I lose $20 if Bitcoin goes down 10%. Or I lose everything if Bitcoin goes down 50%. + +For me, that’s a high-risk, high-reward proposition. But what if I borrowed the money from you? What does that proposition look like for you? Well, if Bitcoin goes up 10%, you get back $100: I sell my Bitcoin for $220, give you back $100 and keep the rest. And likewise: + +If Bitcoin goes up 20%, you get back $100. (I sell for $240, give you back $100, and keep $140.) + + + +If Bitcoin goes down 20%, you get back $100. (I sell for $160, give you back $100 and keep $60.) + + + +If Bitcoin goes down 49.5%, you get back $100. (I sell for $101, give you back $100 and keep $1.) + + + +Let’s stop there, for no particular reason. + +At every point that I’ve named so far, you get back $100. You put in $100, and you get back $100, no matter what. For me this trade is very risky. (If Bitcoin fell 49.5%, I lost 99%.) For you this trade is very safe. Very stable. What you have is a stablecoin. You put in $100 and get back $100. + +This basic idea is called an “algorithmic stablecoin.” You put in $100 and get back a thing that’s worth $100, with that value guaranteed by a larger amount of a volatile cryptocurrency. I’ve described this as just a direct loan from you to me (a contract), but ordinarily this would be done as a smart contract, a computer program on a blockchain. + +Vitalik describes a rudimentary form of this in the original Ethereum white paper, calling it a “hedging contract.” Here’s a slightly different example that involves no dollars at all: Say you and I each put 1,000 Ether into a smart contract, and that when we do it, 1,000 Ether is worth $1 million. On some preset maturity date, the contract will send you $1 million worth of Ether, and I will get whatever Ether is left. If Ether doubled in value in that time, that means you’ll get 500 Ether worth $1 million, and I’ll get 1,500 Ether worth $3 million. On the other hand, if Ether’s dollar value fell 50%, you get all the Ether in the pool so you get your $1 million back, and I get nothing. You get back $1 million no matter what. The smart contract, though, *never held any dollars at all*. There’s no bank account, no Treasury bills, no trusted central intermediary, but you have a claim with a steady value in US dollars. We have in a way manufactured dollars purely out of crypto. + +A few points. First, I’m being far too cute here: In my original example, if the price of Bitcoin falls by 51%, my $200 worth of Bitcoin will be worth $98, and I won’t have enough money to pay you back. Your supposed stablecoin is worth 98¢. + + ![Can the price of Bitcoin fall by more than 50%? Oh yes, absolutely; it did that this year.](https://www.bloomberg.com/features/2022-the-crypto-story/svg/BW-CRYPTO-P3-BITCOIN-CHART-DESKTOPB.svg) + +It’s not easy to manufacture stablecoins out of extremely unstable assets. Your algorithmic stablecoin has some risk of becoming unstable. But you can do a little better than the crude version I’ve proposed here. You could have margin calls, for instance, so that if Bitcoin falls by more than 20%, the smart contract sells the remaining Bitcoin to pay you back immediately.54 (Actual algorithmic stablecoins—Dai, the stablecoin of MakerDAO, is a big one—work this way.) + +Second, I am omitting *interest*. In the real world, if I’m borrowing $100 from you to buy Bitcoin, I’m not just paying you back $100; I’m paying you back with interest, $101 or whatever. An algorithmic stablecoin—much like a dollar in a bank account—can potentially generate interest.55 + +Third, note that there are two sides to this trade. Some people want stablecoins and will put money (or Ether, Bitcoin, etc.) into this sort of smart contract to get stablecoins; others want leverage and will borrow money from this sort of smart contract to take leveraged positions in risky crypto assets. There are different appetites for risk, so there’s a trade to be done. + +![small dog and big dog](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iJgtBfZzitKI/v0/-1x-1.jpg) + +Fourth: Do you know what a bank is? Not in crypto, just in the world. Here’s what a bank is. Some people want to borrow money to make investments. The main investments are 1) starting or expanding a business and 2) buying real estate. They borrow money from a bank; they get leverage. If their business does well or their house’s price goes up, they pay back the money to the bank, with interest. The bank has the *senior claim* on their business or house—if there isn’t enough money for everyone, the bank gets paid first. Sometimes the bank loses money, but mostly it gets paid back on most of its loans. + +The bank, then, is just a pool of these loans, just a lot of senior claims on a lot of businesses and houses. These loans are called the bank’s “assets.” Then the bank itself goes and borrows money. A bank with $10 billion of assets—$10 billion of mortgages and business loans—might have $1 billion of its shareholders’ money (“equity” or, for a bank, “capital”) and borrow the other $9 billion. It borrows the $9 billion from its customers in the form of deposits. A bank deposit is, formally, a loan to the bank; if you deposit $100, the bank owes you that $100. And it uses that $100 to fund loans to businesses and homebuyers. + +Wait, though. I said (way, way) earlier that a dollar is just an entry in the bank’s database. When you have a dollar, what you have is an entry on the books of the bank—that deposit is the dollar. The deposit *is* the dollar, and yet it’s also the *debt* of the bank. Your entry on the bank’s database shows both that the bank owes you a dollar and *is* the dollar that you own. Isn’t that incoherent? How can the bank owe you the dollar, if you have it already, right there in your account? + +![a dollar bill](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i1tuAB8FJ9rs/v0/-1x-1.jpg) + +[The modern banking system is a machine](https://www.bloomberg.com/opinion/articles/2021-10-07/matt-levine-s-money-stuff-looking-for-tether-s-money) that takes in risky assets at one end, takes senior claims on them (lending money against those assets, with the right to be paid back first), repeats that move a few times (taking and issuing senior claims on the senior claims56), and spits out *dollars* at the other end. A dollar is distilled from risky assets. + +The stablecoin thing is nothing new. It’s just *banking*, but banking in a particularly clear way,57 purified in smart contracts on the blockchain. + +● Bad algorithmic + +To summarize the previous section: If you have a large quantity of risky tokens, you can with a little financial engineering issue a smaller quantity of claims on those tokens and call them stablecoins. But recall also one of the simplest lessons of Bitcoin, which is that you can make up an arbitrary token that trades electronically, and people might pay you money for it. (Worth a shot, no?) + +These two insights—you can make up a token and it will be worth money and you can use claims on risky tokens to make a stablecoin—can be combined in a natural way to create a disaster. Here’s the disaster: + +1. I make up a cryptocurrency. Call it Sharecoin. I list it on exchanges and try to sell it to people for some money. (Maybe Bitcoin or Ether or dollars or Korean won—it doesn’t matter.) + +2. I make up another cryptocurrency. Call it Dollarcoin. I set up a smart contract saying that one Dollarcoin can always be exchanged for *$1 worth of Sharecoin*. I can do this, because I just made up Sharecoin, and the smart contract can issue any old amount of it. If Sharecoin trades at $20, the smart contract will give you 0.05 Sharecoins per Dollarcoin. If it trades at $0.001, the smart contract will give you 1,000 Sharecoins. It doesn’t care; it can make all the Sharecoins it wants. + +3. Conversely, if you want Dollarcoins, you buy $1 worth of Sharecoins and deliver them to the smart contract to get back a Dollarcoin. + +4. As long as there’s *some* price for Sharecoin, the smart contract can issue a dollar’s worth of Sharecoins for any Dollarcoin that someone brings to exchange. + +5. “See, a Dollarcoin should always be worth a dollar,” I say, “through the power of algorithms.” + + +The flaw in this logic is in Step 4: There’s absolutely no reason for Sharecoin to be worth anything at all—I just made it up!—and so no reason for a Dollarcoin to be worth a dollar. But of course everything in crypto was made up, by somebody, in the recent past, so this objection is not as compelling as you might think. People might believe in this story or just in the general vibe of Sharecoin and Dollarcoin. They might buy Dollarcoin and treat it as worth a dollar, and buy Sharecoin and treat it as a valuable component of a thriving ecosystem. + +At some point the process reverses. People start to want dollars rather than Dollarcoins, so some of them sell Dollarcoins for dollars on the open market. This pushes the price of Dollarcoin slightly below $1, perhaps to 99¢. Other people get nervous, so they go to the smart contract —which is supposed to keep the price of a Dollarcoin at $1—and trade Dollarcoins in for $1 worth of Sharecoins. Then they sell those Sharecoins, which pushes down the price of Sharecoin, which makes more people nervous. They trade even more Dollarcoins for Sharecoins and sell those. This pushes the price of Sharecoin lower, which creates more nervousness, which leads to more redemptions at lower Sharecoin prices and even more Sharecoin supply flooding the market. This is a well-known phenomenon in traditional finance (it happens when companies issue debt and commit to paying it back with stock), and it has the technical name “[death spiral](https://www.bloomberg.com/opinion/articles/2021-06-17/titanium-got-crushed).” It’s as bad as it sounds. + +![historical photo of crowd standing outside bank](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ieEViEn6g6NE/v0/-1x-1.jpg) + +A couple of algorithmic stablecoins have death-spiraled, the most famous one being TerraUSD. Terra was a blockchain ecosystem with a native currency (like our Sharecoin) called Luna and a stablecoin called TerraUSD. Billions of dollars of TerraUSD were issued, backed by algorithmic conversion into $1 worth of Luna. TerraUSD was popular, because stablecoins are popular and also, to be fair, because you could get [20% interest rates on TerraUSD](https://www.bloomberg.com/news/articles/2022-03-23/terra-s-promise-of-20-defi-return-raises-sustainability-concern). The total amount of TerraUSD reached $18.5 billion, the market capitalization of Luna rose above $40 billion, the system all worked, and then it didn’t. A [quick death spiral](https://www.bloomberg.com/opinion/articles/2022-05-11/terra-flops) hit in May, and Terra unraveled completely. By the end of the month, TerraUSD was trading below 2¢, zillions of Luna had been issued and were trading at essentially zero, and the whole Terra blockchain had burned to the ground. Terra’s founder, Do Kwon (colorful character!), was tweeting in September that he wasn’t “on the run” from South Korean authorities. [Those authorities responded](https://www.bloomberg.com/news/articles/2022-09-17/luna-and-terra-s-do-kwon-not-in-singapore-local-police-say) that he was “obviously on the run.” + +The thing about centralized crypto exchanges is that they’re *centralized*. Broadly speaking, you have to trust the people running the exchange to run it in a good way: not to steal customer money, not to get hacked, not to take advantage of their knowledge of customer orders to trade ahead, not to blow up by allowing too much leverage, etc. Sometimes that trust is misplaced and the exchange does steal the money. Sometimes the exchange is honest, careful, and well-regulated by the responsible national authorities, but still, you’re in *crypto*: + +![crowded call center](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iMZINbqhDoPQ/v0/-1x-1.jpg) + +YOU WANT TO *AVOID* TRUSTING CENTRALIZED INTERMEDIARIES AND NATIONAL REGULATION. + +Also, you’re in crypto: You want *smart contracts*. A financial-products exchange can be thought of as a computer program. Most stock exchanges long ago got rid of trading floors with human traders and are now just computer servers matching electronic buy and sell orders. Certainly every crypto exchange works like that. A centralized crypto exchange is fully electronic; it has computers that keep ledgers of customer assets and run the programs matching orders and moving assets between customers. + +The blockchain is already designed to keep a ledger of customer assets, so why keep your assets on an exchange’s ledger? And you can run computer programs on Ethereum or most other modern blockchains: Why not run the exchange programs there? + +A venue for trading tokens that isn’t a company but is instead a set of smart contracts on a blockchain is called a decentralized exchange, or DEX. And the broader idea—of having a financial system, with lending and derivatives and everything else, that runs as smart contracts on a blockchain—is called decentralized finance, or DeFi. + +A few more points of terminology. Decentralized finance is DeFi, so centralized finance—meaning specifically the bits of *crypto* that use centralized trusted intermediaries, mainly exchanges and lenders—is + +And I will sometimes refer to DeFi things as protocols. A protocol is a set of smart contracts—the computer programs that run on the blockchain and do stuff—or at least a set of rules for creating them. A decentralized exchange isn’t an exchange in the traditional sense: It certainly isn’t a building in New York where traders meet in person to shout orders at each other, and it also isn’t a data center in New Jersey where an exchange company keeps its computer servers to match orders with each other. It’s a protocol, a set of smart contracts that let people move cryptocurrencies around. There might be a company involved, and surely someone is making money somewhere. But even if the company goes away, the smart contracts will keep running as long as the blockchain does. + +i. Some background on exchanges and market makers + +● CLOB + +Here’s what an exchange is. People send it orders: “Buy 100 shares at $100,” “Sell 100 shares for $102,” etc. The exchange is, at its heart, a system for matching those orders, finding a buyer for each seller and vice versa. The orders come in at different times. When the exchange gets an order to buy 100 shares at $100, it puts the order on its order book—just an electronic list of orders that haven’t executed yet. When it gets its next order, to sell 100 shares for $102, it looks at its order book to see if there are any orders to buy 100 shares at $102. Nope, not yet; the $100 buyer doesn’t want to pay $102, and the $102 seller doesn’t want to accept $100. It puts the sell order on the order book, too. The $100 buy order and the $102 sell order “rest” on the order book. Then another order comes in, to buy 100 shares at $102. The exchange sees in the order book that, aha, yes, there’s an order to sell 100 shares at $102. So the matching engine matches the $102 buy and the $102 sell order; they pair off with each other and do their trade. And then the orders are removed from the order book—they’ve been filled—and the exchange waits for the next order. + +In general, a centralized exchange will have lots of orders resting on its order book at any time. All the resting buy orders will have lower prices than all the resting sell orders: If a buy order has a higher price than a resting sell order, those two orders will pair off and execute with each other. (If I want to pay $103 and you’ll accept $102, the exchange has found a mutually beneficial trade.) And this way of running an exchange is usually called a central limit order book, or CLOB. + +You could certainly build a smart contract to do this on the blockchain: The contract would take orders, keep them on a central limit order book, and execute them against each other. And smart contracts like this do exist. But most DEXes don’t work this way. + +● Market makers + +You may ask: “Where do all these resting orders come from—who’s going around thinking up these specific prices they want to pay for a stock or prices they want to sell for?” Ordinary people might not bother with this. If they think a stock is a good investment, they will often send in *market orders*, just: “Buy from whoever’s selling at whatever the best price is.” + +Resting orders come mainly from professional investors called market makers, who help make fast and efficient trading possible. Their job is to sell stock or crypto or whatever to people who want to buy, and buy from people who want to sell, and collect the “spread,” the difference between their bid (or buying) price and their offer (or selling) price. If you send a market order to buy, you buy immediately—but you pay a bit of money (the spread) to the market maker for that service. The market maker, meanwhile, is in the business of providing that service and collecting that spread; it’s not really betting that prices will go up or down. + +In modern stock and crypto markets, market makers are *also* largely computer programs, and their programs are pretty simple:58 + +1. POST A BID AND AN OFFER FOR A STOCK. + +2. IF SOMEONE SELLS YOU STOCK AT YOUR BID PRICE, LOWER YOUR BID AND OFFER SLIGHTLY: IF SOMEONE IMMEDIATELY “HITS YOUR BID,” THEN YOU MIGHT WORRY THAT YOUR BID WAS ACTUALLY TOO HIGH AND YOU COULD’VE PAID LESS. ANYWAY, NOW YOU OWN SOME STOCK AND WANT TO GET RID OF IT, SO YOU MIGHT AS WELL PUT IT ON SALE. + +3. IF SOMEONE BUYS STOCK FROM YOU AT YOUR OFFER PRICE, RAISE YOUR BID AND OFFER SLIGHTLY, FOR SIMILAR REASONS. + +4. KEEP DOING THIS. THE SYSTEM IS SELF-CORRECTING: THE MORE STOCK PEOPLE WANT TO SELL YOU, THE LESS YOU PAY THEM FOR IT; THE MORE THEY WANT TO BUY FROM YOU, THE MORE YOU CHARGE THEM. HOPEFULLY IT ALL BALANCES OUT, AND YOU END UP *FLAT*; YOU SELL ALL THE STOCK YOU BOUGHT AND BUY ALL THE STOCK YOU SOLD. AND YOU COLLECT THE SPREAD ALONG THE WAY. + +5. ALSO, YOU’RE PROBABLY KEEPING AN EYE ON GENERAL MARKET CONDITIONS, AND RAISING AND LOWERING YOUR BIDS AND OFFERS BASED ON WHAT’S HAPPENING IN OTHER MARKETS. + + +Market makers in US stocks are often called high-frequency traders, or sometimes even flash boys, and part of what that means is that they’re constantly changing the prices of their orders as their information changes. And the result is that, when you want to buy a share of stock, you can send in a market order, and you will quickly trade with a market maker at a price that’s pretty much the market price, one that’s updated continuously to reflect supply and demand and all available information. + +● Nope! + +This [doesn’t work on the blockchain](https://twitter.com/FabiusMercurius/status/1452349324466089984). The problem with the blockchain is that it’s a slow computer: Ethereum runs computer programs by sending them to thousands of nodes to confirm transactions, and that takes time. You wouldn’t want to run a self-driving car on the Ethereum Virtual Machine. It turns out you wouldn’t want to run a high-frequency trading platform there either. + +![do not enter sign](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iSttaFMCmz.Y/v0/-1x-1.jpg) + +Centralized exchanges—in traditional finance and in crypto—have lots of very fast computers with very fast connections that allow market makers to constantly update their prices in response to trades and new information. Traders build fancy fiber-optic lines to get their orders to the exchange a few milliseconds faster than the competition. Speed matters, and they update their orders many times a second. This is harder when the computers are on the blockchain; it’s also more expensive. Every action in Ethereum requires gas fees, and sending a message to a smart contract saying, “Cancel my buy order at $100.001 and put in a new order at $100.002,” would use Ethereum’s computer power and cost gas. + +It turns out this is nearly fatal for CLOB market-making in Ethereum. “Market making is very expensive,” [Vitalik Buterin wrote](https://www.reddit.com/r/ethereum/comments/55m04x/lets_run_onchain_decentralized_exchanges_the_way/), “as creating an order and removing an order both take gas fees, even if the orders are never ‘finalized.’” + +ii. Automated market makers + +● Mechanics + +So Vitalik proposed a different idea. Here it is: + +> The mechanism would be a smart contract that holds A tokens of type T1, and B tokens of type T2, and maintains the invariant that A \* B = k for some constant k (in the version where people can invest, k can change, but only during investment/withdrawal transactions, NOT trades). Anyone can buy or sell by selecting a new point on the xy=k curve, and supplying the missing A tokens and in exchange receiving the extra B tokens (or vice versa). The “marginal price” is simply the implicit derivative of the curve xy=k, or y/x. + +That’s just a comment that he wrote on Reddit; later a whole business model grew out of it. Here’s the simplified version. I decide to be a market maker in some token pair, say Ethereum and USDC (a dollar-denominated stablecoin). Let’s say one Ether currently trades for 1,600 USDC ($1,600). I set up a smart contract—again, that’s a computer program on the blockchain, but in this case it might be easier to think of it as a pot of money, *managed* by the computer program. I can deposit both Ether and USDC into this pot. Anyone who wants to buy Ether (with USDC) or sell Ether (for USDC) can come to my smart contract and make that trade with it, and the contract will adjust its prices to reflect supply and demand. + +But it will do it in an absurdly simple manner that doesn’t require much in the way of computation or updating prices. It will just try to keep one number constant. + +When I set up the contract, I deposited *equal values* of Ether and USDC. If one Ether was worth 1,600 USDC, I put in 100 Ether and 160,000 USDC (each set of tokens worth $160,000). The program *multiplies* those two numbers: 100 times 160,000 is 16 million. And then it will just hold that product constant. That is, the number of Ether multiplied by the number of USDC will always be 16 million. + +A trader will try to buy, say, 10 Ether. That would leave 90 Ether in the fund. Sixteen million divided by 90 is 177,777.78. The pot has 160,000 USDC now, so it will need 17,777.78 more USDC to keep the product constant. That’s what my smart contract charges. The trader has to pay me 17,777.78 USDC—1,777.778 USDC per Ether—to do this trade. Someone wants to buy Ether from my smart contract, so my smart contract automatically raises its price for Ether. But it doesn’t have to go around constantly updating prices and posting new prices on central limit order books: It just advertises its constant product, and that updates prices on its own.59 It’s an automated market maker (AMM). + +That’s cool! I don’t know, it’s cool. This isn’t a thing that really exists in traditional finance. It was developed, almost by accident, as a workaround to a novel *problem*—that the computers are too expensive—in decentralized finance.60 + +● LPs + +In my description above, I assume that I want to be a market maker in some currency pair, so I set up a smart contract to do it on my own. In reality, the way DEXes normally work is that AMM smart contracts *pool* liquidity. If you want to be a market maker in stocks, it helps to be a large financial institution. In crypto, anyone who wants to be a market maker in a pair of tokens can contribute that pair to a liquidity pool (and get back “liquidity tokens” representing their stake in that pool); they’re called “liquidity providers.” They collect fees in crypto for providing liquidity in the pool. + +There’s a risk, though. In general, if you provide liquidity in an asset (in DeFi or centralized finance, in crypto or otherwise), and the asset price steadily goes down, you’ll find yourself buying more and more of it, and it will be worth less and less. In an AMM liquidity pool, if the price of one token keeps going up against the other token, the pool will have more and more of the token worth less and less. This is a risk that all market makers take; in traditional finance it’s sometimes called “adverse selection.” + +In DeFi, though, it delights in the name “impermanent loss.” I don’t know why, but I love it. There’s nothing particularly impermanent about it—unless the price bounces back, of course—but that’s what it’s called. + +![historical photo of kids playing at pool](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iriqlY2hWkMQ/v0/-1x-1.jpg) + +CRYPTO IS SO OPTIMISTIC. + +HOW CAN YOU NOT BE CHARMED? + +iii. Lending + +Exchanges—providing liquidity between different tokens—are a key function of DeFi, but there are others. One important function is lending. + +● Secured + +Most DeFi lending is what you would call, in traditional finance, *margin lending*. You have a volatile asset (Ether, say), and you want to borrow some money (a dollarlike USDC stablecoin, say), using that volatile asset as collateral. Perhaps you’re borrowing that money to buy more volatile assets, or perhaps you’re borrowing against your Ether to buy a sandwich or a house without selling your Ether. + +If you went to a broker for a margin loan against $100 of stock, the broker might lend you $50. It’s “overcollateralized,” because the stock is worth more than the loan, which makes the broker feel safe. If the stock then fell to $70, the broker might send you a margin call: “Pay down $15 of this loan, or I’ll liquidate your stock.” That way it’s less likely the broker will end up holding the bag for your loss if the stock keeps falling. If you failed to meet the margin call, the broker would sell your stock, clear, say, $65 for it, keep enough money to repay the loan, and give you what’s left. + +This is pretty straightforward to automate with smart contracts. There are robust DeFi lending systems, such as Compound: Lenders put up tokens and earn interest, borrowers borrow tokens (overcollateralized by other tokens) and pay interest, and automatic liquidation provisions make sure that if the value of the collateral goes down, it’s sold to pay back the loans. + +● Unsecured + +What’s much harder in DeFi are the main businesses of traditional finance: *unsecured* lending and lending secured by physical assets (such as houses). DeFi is good at lending crypto secured by crypto. The collateral lives on the blockchain; the loan lives on the blockchain; they’re connected by smart contracts on the blockchain. It’s all pretty neat. + +But this sort of lending crypto against crypto doesn’t *do* much. It’s mostly useful for crypto speculation—you lend Ether, get USDC, and use it to buy even more Ether. By contrast, a mortgage lets you buy a house and then pay for it with your future income. An unsecured business loan helps you build a business and then pay off the loan with the business’s future earnings. + +Finance, at its heart, is about moving future wealth into the present by borrowing, or moving present wealth into the future by saving. + +There are deep philosophical reasons that crypto is bad at this. An unsecured loan is essentially about *trust*. It’s about the lender trusting that she’ll be repaid not out of a pool of collateral but out of the borrower’s future income. She has to trust that the borrower will have future income and that he will pay. + +Relatedly, an unsecured loan requires *identity*. You need to know who’s borrowing the money, what their payment history looks like, what their income is. The default approach in much of crypto is pseudonymity: Anyone can set up any number of crypto wallets or Bitcoin account numbers, and they’re generally not tied to a name. If you borrow money against crypto collateral, all your lender needs to know is that the collateral is on the blockchain. If you borrow money against your future income, your lender needs to know who you are. + +![McLovin in Superbad](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/irozNfdLO.TA/v0/-1x-1.jpg) + +That said, there’s nothing in principle to *prevent* unsecured lending in DeFi, and there are projects such as [Goldfinch](https://medium.com/goldfinch-fi/introducing-goldfinch-crypto-loans-without-collateral-fc0cad9d13e) that do it. You get together a smart contract, where people deposit money in exchange for tokens, and a DAO, a decentralized autonomous organization that controls the money. The tokens give them a share in the DAO’s profits and the right to vote on who gets the money. People propose potential borrowers, token holders consider them and vote, and if the holders vote yes then they make a loan. As with any DAO, the token holders can get together in a chat room and consider “off-chain” information if they want. (They could make the borrower send in a driver’s license and two bank statements.) You can build some incentive mechanism to punish members for proposing borrowers who default and reward them for proposing good borrowers. Decentralized finance is made up of smart contracts, but it’s also made up of people, and if they want to do unsecured lending, they can. + +We’ve talked about web3 as a source of online reputation, about “soulbound” tokens that could be used to verify a person’s actions, connections, and characteristics. A soul, in this terminology, is something close to a credit report: It’s a list of stuff that a person has done that should make you trust them, a decentralized and blockchained source of reputation information. The right assortment of degrees and endorsements might make you feel good enough about a person—or rather, a “soul,” an address on the blockchain—that you give them an unsecured loan. And then I suppose if they default you can take their soul. + +iv. Tokenomics of DeFi + +The basic mechanism of DeFi is that you put some tokens up in a smart contract to generate fees or interest. You put your tokens in an automated market-making contract to get liquidity-provider fees, you put your tokens in a lending protocol to get interest, etc. Generally this is referred to as “locking” your tokens—because they’re being used for lending or whatever, you can’t get them back for some period—and people often talk about DeFi protocols in terms of their TVL, or “total value locked.” Mechanically, the way this generally works is that you send your tokens to the smart contract, and it sends you back other tokens that are, basically, receipts for the tokens you locked up. Instead of having Ether and USDC, you have liquidity-provider tokens saying you’ve put some Ether and USDC into a smart contract. + +What do you do with those liquidity-provider tokens? Well, in theory, you hold them until you want your locked tokens back, and then you hand them in and get back the underlying tokens. The liquidity-provider tokens are just a receipt. But at some point people realized that those tokens represent something of value; we can do something with them. If you have a token representing a receipt on some Ether that you locked into a smart contract, then that’s *almost* as good as having some Ether, and someone might give you some money for it. Now you can borrow against those receipt tokens in DeFi, too. + +Everything is like this. In proof-of-stake Ethereum, you can stake Ether to earn staking rewards. A protocol called Lido runs a big staking pool. If you stake your Ether with Lido, it will give you back a token called [stETH](https://help.lido.fi/en/articles/5230610-what-is-steth), basically a receipt for your staked Ether. The Ether that you staked with Lido will earn staking rewards, while the stETH that you get back can be sold or invested in other DeFi protocols to earn more money. + +More broadly, the business of DeFi is about reusing tokens as much as possible. You have some tokens, you lock them up in a smart contract that does a thing and pays you a return, the smart contract gives you some sort of receipt token, and you turn around and lock up those receipt tokens in another smart contract that does another thing and pays you some more. People talk about “yield farming,” the process of bouncing between DeFi protocols to try to earn the maximum yield, reusing tokens, and getting paid in the protocols’ own tokens to make as much money as possible. + +![agricultural illustration](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i708ERa0lHHg/v0/-1x-1.jpg) + +This can create a self-reinforcing cycle, by which I kind of mean a Ponzi. It goes like this: + +1\. There’s a protocol that does some stuff with Ether or stablecoins or whatever. + +2\. If you put your Ether or stablecoins or whatever into the protocol (for lending or liquidity provision or whatever), it will give you some of its own tokens. This is no problem; it can print those tokens for free. + +3\. If you put *those* tokens back into the protocol, locking them up rather than selling them, it will give you even more of those tokens. It’ll pay you 10% interest every hour, if you want. Who cares, the tokens are free. + +4\. “Buy this token, it pays 10% interest every hour,” the promoters of the protocol can say, more or less accurately. They can quote an APY—an annual percentage yield, a normal finance concept that’s much beloved in DeFi yield farming—with an enormous number of digits, and people will get very excited. + +5\. So they’ll buy the token, and it will go up. Or they’ll put their Ether or stablecoins into the protocol to earn its tokens, and the protocol’s total value locked will go up. + +6\. “Look at this protocol, its TVL is huge and rising, its token has doubled in price this week,” people will say, and they’ll buy more of it. + +7\. People keep getting paid comical interest rates \*in the token\*, which is fine as long as the token price keeps going up, or stays flat, or goes down at a slower rate than the interest rate. Even though the market is being flooded with tokens, people still seem to be making money, and will do so as long as new money comes in. + +8\. The amount of tokens issued rises inexorably toward infinity, the amount of new money coming in does not, and tragedy ensues. + +The greatest of these protocols is probably OlympusDAO, which is run by a pseudonymous founder called Zeus (colorful character!), has a group of loyal investors called OHMies, and at its peak offered yields of 7,000% and was worth $3 billion, according to [a *CoinDesk* article](https://www.coindesk.com/policy/2021/12/05/olympus-dao-might-be-the-future-of-money-or-it-might-be-a-ponzi/) titled “Olympus DAO Might Be the Future of Money (or It Might Be a Ponzi).”61 Since then it’s [lost about 99% of its value](https://coinmarketcap.com/currencies/olympus/), so there’s your answer. + +![crumbling statue head](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/izypaxe3bYa0/v0/-1x-1.jpg) + +Olympus became particularly famous for the “(3, 3)” meme, based on the notation of game theory. The idea is that the payoff in a two-player game can be written as “(X, Y),” where X is what I get, and Y is what you get. These outcomes could be dollars, but often they’re written as abstract utility numbers: A payoff of (3, 3) is better for both of us than a payoff of (2, -1), without worrying too much about what those numbers mean. Olympus’s pitch was that if everybody buys OHM and locks it up, then everybody’s payoff will be good—i.e., (3, 3)—while if everybody does bad things like *sell* their OHM, then everybody’s payoff will be (-3, -3). (Those numbers are abstract and unitless, and actually the payoff was (-99%, -99%).) + +This, of course, exactly describes any Ponzi: As long as people keep investing new money and not withdrawing it, everyone will get richer (on paper), but it will unravel when people start taking their money out. Olympus always struck me as charmingly forthright about what it was up to. It’s the future of money, because as long as everyone keeps buying, it will keep going up! People have tried that one before. + +![painting of man with head in hand](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iamO_YbFW340/v0/-1x-1.jpg) + +v. Some arbitrages + +In traditional finance, people devote their careers to finding arbitrages, circumstances in which they can buy something at a low price and instantly sell the same thing at a high price. This is hard to do, because traditional finance is very competitive, and people aren’t regularly leaving $20 bills on the sidewalk. Even if you think you’ve spotted an arbitrage—the same thing trading at different prices in different places—you have to worry about some legal or operational reason that you can’t actually move between those places. (Maybe there’s a 5% tax to move the stock offshore. Maybe short selling isn’t allowed, etc.) + +Most of what people call arbitrage in traditional finance is buying one thing at a low price, simultaneously selling a slightly different thing at a higher price, and hoping they turn out to be the same thing. Or buying one thing at a low price, selling the same thing a bit later, and hoping it turns out to be at a higher price. + +Meanwhile, decentralized finance is new enough that pricing anomalies exist, but efficient enough that everything happens visibly on a virtual computer running public code, so you can reliably exploit them. There are magical possibilities. + +● Flash loans + +Let’s say you’re a smart young person and you discover an arbitrage. Stock XYZ is trading at $10 on Exchange A and $11 on Exchange B. You can buy it on Exchange A for $10 and sell it on Exchange B for $11, making an easy $1 profit. + +That’s fine, now you have $1. But you want to buy 10 million shares on Exchange A for $100 million and sell 10 million on Exchange B for $110 million. Then you would have $10 million, which is much more worth doing. + +The only problem with this plan is, while you’re a smart young person, you don’t have $100 million. Why would you? + +In financial theory the solution is simple: You borrow the $100 million at the market rate of interest, buy the stock, sell it, pay back a little interest, and keep your profits. In practice no one is going to lend you $100 million. I mean, if you really have found a perfect arbitrage, maybe you’ll be able to raise $100 million. You can work your connections, cold-call some hedge funds, maybe get some meetings where you present your strategy and say, “See, it’s a perfect arbitrage. I just need $100 million. Are you in?” And they’ll just do the strategy and leave you out. Maybe they’ll pay you a small finder’s fee. + +Or you could start small—do your arbitrage for $1,000, make $100, do it again for $1,100, etc.—until you have a huge bankroll, but that’s not great either. The longer it takes you, the more likely it is that the clever arbitrage you’ve spotted will go away. In particular, the more you *do* the trade, the more likely someone else is to notice and do it in big size and make the arbitrage go away. + +In crypto finance the situation is different. If, say, you spot Ether trading at two different prices on different decentralized exchanges, you can just write a program that does the following: + +1. Borrows $100 million from some decentralized lending protocol, [such as Aave](https://docs.aave.com/faq/flash-loans) + +2. Uses the $100 million to buy a token on Decentralized Exchange A + +3. Sells the token on Decentralized Exchange B for $110 million + +4. Returns the $100 million to the lending protocol (plus a small fee) + +5. Sends the leftover $10 million to you … + +6. *… all in the same transaction that executes all at once.* + + +The lender in Step 1 can make the return in Step 4 a *condition* of the loan; the loan and the payback occur simultaneously, in the same computer program executing in the same block of the blockchain. As far as the lending protocol is concerned, there’s no credit risk: If any of the intermediate steps fail—if it turns out you’re wrong about the arbitrage, and you can’t sell the token for more than you paid for it, etc.—then the whole thing never happens, and the loan isn’t made. The lending protocol isn’t evaluating your creditworthiness, your résumé, or your track record as an investor. It’s just making sure that the code works. + +This is clever and neat and feels like a good way to build a financial system. It’s an egalitarian, decentralized, permissionless, computerized way for anyone who spots an arbitrage to be able to exploit and close it. It should make markets more efficient and prices more accurate. + +The problem is, in crypto, “an arbitrage” often means “a mistake in a smart contract.”62 Somebody writes some contract that has some bug that occasionally lets a user put in one token and get back two. Then somebody notices and writes a program to use flash loans to put in 1 billion tokens and get back 2 billion tokens and blow up the smart contract entirely. People sometimes leave money lying around in crypto, and crypto has built very efficient ways for other people to [take their money](https://www.bloomberg.com/news/features/2022-05-19/crypto-platform-hack-rocks-blockchain-community). It’s not clear that *that* is a good way to build a financial system. + +![$20 bill on street](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iGT6oVXfcQxs/v0/-1x-1.jpg) + +● MEV + +It gets stranger. Let’s say you notice that a token is trading at $10 on Decentralized Exchange A and $11 on Decentralized Exchange B. So you send an order to Exchange A to buy 1,000 tokens for $10,000 and a simultaneous order to sell 1,000 tokens for $11,000. What happens to those orders? + +In the US stock market, [whole books](https://www.goodreads.com/book/show/24724602-flash-boys) have been written about that question. People get really mad about it. Your order goes to your broker, who routes it to different exchanges at different times through different pipes. High-frequency electronic traders who see your order execute on one exchange might “race ahead” to another exchange to push up the prices. There are controversies about “co-location,” where the high-frequency traders pay fees to the stock exchanges to keep their computers in the same room as the exchange’s computers, so they can get a tiny speed advantage by connecting to the exchange through a fairly short wire. + +In crypto the answer is different. It’s easiest to understand if you start with how trades worked on Ethereum, before the switch to proof of stake. When you made a trade, your transaction would be broadcast to the entire network and included in the list of transactions that miners were working on executing but that hadn’t yet made it into a block. + +When a block was finalized, miners would include your transaction in the block. But the miners decided which transactions got included in a block and in what order, and they also earned gas fees for executing transactions. Users could specify how much they wanted to pay for gas, and transactions with higher gas fees were usually prioritized.63 This created a trade: + +1. You find an arbitrage and send some orders to decentralized exchanges to do that arbitrage. + +2. I see those orders on the network and think, “Hey, that’s a good trade.” + +3. I send *the same orders* to the exchanges to do the same transaction. + +4. I pay a higher gas fee to get priority over you, so that I can do the trade ahead of you. + +5. By the time *you* get to do the trade, it’s no longer available. I bought everything available at the good price. Ha ha. + + +![superheros](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/in.r.VyHeeos/v0/-1x-1.jpg) + +NOT these Flash boys. + +This is usually [called MEV](https://ethereum.org/en/developers/docs/mev/), which originally stood for “miner-extractable value,” because one winner in this scenario was the miner who got to charge higher gas prices to people who wanted to front-run trades or avoid getting front-run. It’s the subject of a [2019 paper](https://arxiv.org/pdf/1904.05234.pdf), by Philip Daian et al., titled “Flash Boys 2.0,” a reference to the high-frequency traders in US stock markets who purportedly race ahead of other traders’ orders to extract value from them. + +Rather than *solve* this concern about traditional markets, crypto *made it explicit*: Time priority was subject to an explicit “gas auction,” where whoever paid the most to the transaction orderers got to go first. Sure, yes, in crypto you could get front-run all the time by more sophisticated electronic traders, but in a transparent and decentralized way. + +As Ethereum moved to proof of stake, MEV was rebranded “maximal extractable value.” There’s still money to be squeezed from traders by the people maintaining the network, but the mechanics have changed. In today’s Ethereum, there’s a division of labor between block builders (who compile and order transactions) and validators (the replacement for miners, who do the proof-of-stake work to make blocks official), and if you’re doing arbitrages you can send your transactions privately to block builders. You can still pay for speed and priority, but you can’t see everyone else’s trades to front-run them. + +In 2008, Satoshi Nakamoto invented Bitcoin. One thing that seems to have motivated him was a distrust of banks and financial intermediaries. This was understandable, because it was 2008. The modern banking system was at a low ebb. Banks had taken risks that few people understood and ended up losing tons of money on supposedly safe investments. High levels of leverage in the banking system—and in the more opaque and less regulated “shadow banking” system—made those systems fragile; a bank that borrowed $30 for every $1 of shareholders’ equity would go bust if the value of its assets fell 4%. + +The high leverage and lack of transparency caused contagion. An asset’s price would fall, the highly leveraged banks and funds that held it would get margin calls, and they’d have to sell whatever they had on hand. That would cause more prices to fall, which would lead to more margin calls, which would bankrupt some of the banks and funds, which would lead to more fire sales and more price drops. Meanwhile, the lenders to those banks and funds, who thought their money was safe, would have losses; many were also highly leveraged and might go bust. All of this was opaque enough that even banks and funds that *hadn’t* taken big risks or lost a lot of money were treated with suspicion by lenders, which could cause them to fail, too. Ultimately the banking system was bailed out by massive infusions of money from central banks. + +![Hank Paulson, Ben Bernanke, Sheila Bair](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i2Z3LJ0sHBhQ/v0/-1x-1.jpg) + +Satoshi didn’t like it, and he built a new payment mechanism that escaped the need to trust banks. It was irreversible and decentralized: Everyone was responsible for their own mistakes; no one could be bailed out by central banks printing money. It was transparent: Every transaction was recorded on the blockchain; there were no hidden chains of leverage. + +In a deep sense it wasn’t built on debt at all. To some Bitcoiners, the central sin of the banking system is that every bank deposit is a liability—it’s a debt, payable on demand, from the bank to its depositors—and so every dollar that you keep in the bank *necessarily* adds to the leverage of the system.64 Dollars *are* *debt*, and debt got kind of a bad rap after 2008. Meanwhile, Bitcoin are *not debt*. They’re just Bitcoin. They exist in themselves, on the blockchain, rather than being liabilities of banks. + +In early 2009, when Satoshi mined Bitcoin’s genesis block, this message resonated with a lot of people. A new financial system with transparent and irreversible transactions, with no special power for governments or big banks, had an appeal. + +Over time, though, there was another, much more obvious appeal to Bitcoin. Its price kept going up. If you bought a Bitcoin for $100, you could soon sell it for $1,000. This got a lot of people very interested in crypto, not for philosophical or monetary-structure reasons but because getting rich is nice. + +Many of these people came from traditional finance, because they saw that crypto finance was fun, it was wide open, it allowed for permissionless innovation, and everyone was getting rich. + +![](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i8JC3EaIEQF0/v0/-1x-1.jpg) + +These people—the people who left TradFi for crypto because the money was better—didn’t necessarily have strong philosophical commitments to all that Satoshi stuff. They weren’t like, “Leverage is bad, banks are evil, monetary soundness is what matters.” Some came from banks. They were there to make money. One way to make money is by finding good trades, finding cheap ways to borrow money, and then borrowing as much as possible to put into those trades. + +![Bloomberg Businessweek cover](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iFdXTQl6ujD0/v0/-1x-1.jpg) + +Back in the ~$850 halcyon days. + +And so somehow crypto had itself a 2008! In 2022 the crypto financial system rediscovered what the traditional system had discovered in 2008. It was honestly kind of impressive. + +i. Terra + +In May 2022, you’ll recall, the algorithmic stablecoin TerraUSD collapsed. If you had money in Terra/Luna, odds are that you lost roughly all of it. Many of the people who lost money were regular retail savers who’d been suckered by TerraUSD’s promises of stability (and of a safe 20% interest rate) or regular retail cryptocurrency investors who speculated on Luna and lost. But not all of them. + +![Kyle Davies and Su Zhu](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ieJYERyPC3I8/v0/-1x-1.jpg) + +Kyle Davies and Su Zhu. + +One victim of the Terra collapse was a hedge fund called [Three Arrows Capital](https://www.bloomberg.com/news/features/2022-07-13/how-crypto-hedge-fund-three-arrows-capital-fell-apart-3ac), run by two former Credit Suisse Group AG currency traders. (Colorful characters, and also former TradFi guys.) “Speaking from an undisclosed location” in July, [3AC’s founders explained to Bloomberg News](https://www.bloomberg.com/news/articles/2022-07-22/three-arrows-founders-en-route-to-dubai-describe-ltcm-moment) that what they’d “failed to realize was that Luna was capable of falling to effective zero in a matter of days and that this would catalyze a credit squeeze across the industry that would put significant pressure on all of our illiquid positions.” + +Meanwhile, the Federal Reserve was raising rates, and speculative assets generally were losing value. It turns out that crypto is basically a speculative asset and that it’s not particularly a hedge for stock market volatility. Everything in crypto went down. Bitcoin was worth more than $67,000 at the peak in October 2021; it fell below $20,000 in June 2022. Ether went from $4,800 to less than $1,000. The [total market value of all cryptocurrencies](https://coinmarketcap.com/charts/) fell from about $3 trillion in late 2021 to about $1 trillion in June 2022. Two-thirds of all crypto wealth just vanished. + +That’s just a very traditional story, isn’t it? Leveraged hedge funds piled into crowded trades that seemed, on the basis of a fairly short series of historical data, to be safe. This made the trades unsafe, so the hedge funds lost money. So their lenders sent them margin calls. So they were forced to sell off other, better assets—assets that were more liquid and could be sold to meet the margin calls—which made those better assets bad, too. “In a crisis, correlations go to 1,” traders say. Losses on bad trades force leveraged hedge funds to sell good assets, and so everything goes down at once. + +![rugby scrum](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iEAtYvAcvU2g/v0/-1x-1.jpg) + +ii. Contagion + +3AC was a leveraged hedge fund. When it blew up, the people who loaned it money didn’t get their money back. 3AC went into a complicated cross-border insolvency process that will presumably *eventually* recover some money for its creditors, but they’ll lose at least some of their money, and it will take a while to get back the rest. Who are these creditors? + +Well! A little of everyone, really. Documents filed in 3AC’s [insolvency process](https://www.docdroid.net/xKIqrjq/20220709-3ac-bvi-liquidation-recognition-1st-affidavit-of-russell-crumpler-filed-pdf) reveal that the hedge fund was borrowing from DeFi platforms but also from an assortment of big-name centralized, or CeFi, crypto lenders, borrowing platforms, and exchanges. + +The DeFi platforms mostly did fine: They had collateral, they had automatic liquidation mechanisms, they liquidated the collateral, and they got their money back. The centralized lenders did less well. It turns out a lot were less strict about demanding collateral than you might have wanted. 3AC was one of the biggest and best-known hedge funds in crypto. Working with 3AC was a stamp of approval for many lending platforms. It was prestigious to say, “Our customers include Three Arrows.” Also, 3AC was viewed as a smart fund, doing clever low-volatility arbitrage trades with good risk management rather than taking wild gambles. So if 3AC came to a lending platform and said, “Hey, we’d like to borrow $500 million unsecured,” the platform might say yes. + +Oh boy, did they. Voyager Digital, a crypto brokerage that let customers buy, sell, borrow, and lend crypto, is a public company listed in Canada. It had $2.3 billion of assets at the end of June, about [$650 million of which](https://www.bloomberg.com/opinion/articles/2022-07-06/voyager-has-some-tokens) was unsecured loans of USDC and Bitcoin to 3AC. Oops! It went bankrupt, too. + +Celsius Network is the same basic idea but worse. It offered customers willing to lend out their crypto up to 18% interest on deposits, with pretty vague descriptions of how it earned that yield. CEO Alex Mashinsky (colorful character) once explained to [*Bloomberg Businessweek*](https://www.bloomberg.com/news/articles/2022-01-27/celsius-s-18-yields-on-crypto-are-tempting-and-drawing-scrutiny#xj4y7vzkg) that it’s ridiculous that banks take deposits, use them to make loans, and then *don’t* pay 18% interest. “Somebody is lying,” Mashinsky said. “Either the bank is lying or Celsius is lying.” Only one possible answer! Celsius had also loaned 3AC money, though that was the least of its problems, and it was in some of the same trades as 3AC, which blew up when 3AC did. It also went bankrupt. + +The [leverage of these platforms](https://www.bloomberg.com/opinion/articles/2022-06-29/crypto-loves-its-shadow-banks) is pretty astonishing. Celsius was levered about 19 to 1: It had almost $95 of debt (mostly customer deposits) and about $5 of equity for every $100 of assets. Voyager was levered 23 to 1. A fairly small loss could wipe it out entirely, and did. That some banks were levered 30 to 1 going into the 2008 financial crisis became a matter of intense scandal, and post-crisis reforms require much higher capital levels for banks. Also, banks mostly invest in mortgages and stuff! These guys were investing in crypto loans, hugely volatile stuff with nothing in the way of long-term, through-the-cycle history! And they were doing it with 5% capital ratios. + +iii. Non-contagion + +In many ways this looks like 2008. But it’s striking how *little* effect the loss of $2 trillion of crypto wealth had on anything else. The 2008 crisis in the banking and shadow banking system led to a global recession, a foreclosure crisis, and real political instability. The 2022 crisis in crypto seems to have been pretty walled-off from real-world effects. Two trillion dollars of market capitalization were lost without much of a visible impact outside crypto. + +![someone leaving office carrying box](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iRorvEyk1MN8/v0/-1x-1.jpg) + +Why? Part of the answer is about who lost money and how they thought of the money they lost. A lot of people who put money into crypto were using their gambling money, and when their bets didn’t pay off, they thought, “Ah, well, that was fun, too bad.” Almost everything about the world of crypto screams “high risk” to anyone who knows at all what to look out for. And so, if you do know what to look for, you take your crypto risks with money that you can afford to lose and in ways that account for the risks. You don’t take your life savings, lever them up 10 to 1, and invest everything in Dogecoin. + +The great lesson of 2008 is that the real systemic risk is in the *safest* assets. The problem isn’t banks and investors buying insane risky securities that promise 50% returns and then go to zero. The problem is banks and investors buying AAA rated bonds that promise an extra 0.03% of yield and borrowing 95% of the money they use to buy those bonds—then finding out those securities shouldn’t have been rated AAA. People invest money they can’t afford to lose—and often money they borrowed—in safe assets, and when those assets lose money, the system breaks. + +By 2022 the crypto financial system was working on creating safe assets. That’s what Celsius and Voyager and TerraUSD promised, safe and stable ways to earn high returns without a lot of volatility, but in crypto. Some people were taken in by those promises and invested their life savings; some hedge funds bet on those promises and levered up those bets. But mostly, look, the guy who promises 18% yields and says, “Either the bank is lying or Celsius is lying” isn’t going to persuade *that* many people to entrust him with their life savings. + +Part of the answer, though, is about the traditional financial system. Traditional big financial companies *have* been dipping their toe into crypto, but for the most part the traditional and crypto financial systems have stayed pretty separate. You don’t hear a lot about *banks* keeping 20% of their assets in Bitcoin, and in fact banking regulators [have been rather stern](https://www.bloomberg.com/opinion/articles/2021-06-10/maybe-gamestop-is-good-now?sref=1kJVNqnU) about letting banks own crypto. So when crypto prices collapsed, banks and other financial institutions weren’t particularly harmed. + +This matters a lot. If you want to buy a house or open a store, you go to a bank for a loan. When banks are in crisis, as they were in 2008, they will be less likely to lend you money. So you won’t buy a house or open a store. There will be less credit, less economic activity, less growth in the real economy. Governments bailed out banks in 2008, not because they love bankers but because banks matter for the rest of the economy. + +The crypto financial system is very fun and cool and has invented a lot of interesting stuff. But it’s mostly not where people go to get money to buy a house or open a store. Bitcoin and Ethereum and DeFi could all vanish tomorrow without a trace, and most businesses that make stuff in the physical world would be just fine. + +## IV +Trust, Money, Community + +Let me tell a couple of stories about crypto and society. + +One story goes like this. We live in a world of trust. That trust pervades everything we do. We’re spoiled; the institutions we deal with every day are trustworthy. Not all of them, not all the time, not in every way, but quite a lot of them to a high degree. We put money in the bank, and when we go to take it out, it’s there. + +Crypto—Satoshi Nakamoto and his disciples—said: + +![No, No, No. Trust is bad. Don't trust your bank. Use immutable code. Verify every transaction for yourself, or download open-source code and verify that it works correctly, and then use it to verify every transaction for yourself, or at least use a network in which that's possible and in which economic incentives demonstrably make it likely that it will happen. And do all of this in a system that's resistant to changes, that can't be controlled by governments or banks, that's immune to the rules of wider society.](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i9m9NR9YOeNU/v0/-1x-1.jpg) + +This had an appeal, and crypto became very valuable, and people looked to put their money to work in crypto—and they trusted people. Over and over again, they trusted Quadriga and Terra and Voyager and Celsius and dozens of other projects that failed or ran off with their money or got hacked. They just fell over themselves to trust people. + +![Gerald Cotten, Do Kwon, Stephen Ehrlich, Alex Mashinksy](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iss1ON_jPfzY/v0/-1x-1.jpg) + +Clockwise: Gerald Cotten (Quadriga), Do Kwon (Terra), Stephen Ehrlich (Voyager), and Alex Mashinsky (Celsius). + +Why did they do this? Well, there’s a common thread in these kinds of things. The people who are easiest to pull in are often the ones who think they’re the most independent-minded and cynical. “Either the bank is lying or Celsius is lying,” Celsius told people, flattering their unjustified belief that they knew the real score. + +But there’s something else, too. The people who trusted Celsius weren’t tripped up *only* by their belief that they were outsmarting the system, though there was that. They also…they thought Celsius was a bank? It looked sort of like a bank. It did things, with crypto, that were banklike. They were familiar with how banks work. They understood that *banks are safe*, that if you put money in a bank you can get it back. They looked at Celsius and thought, “Well, this is a big thing, it has a nice website, it’s available to Americans. Surely if it was a problem someone *would’ve done something about it*.”65 + +There’s something a bit alarming about this. Crypto is in a way *about* rejecting the institutions of society, about being trustless and censorship-resistant. But it quietly free-rides on people’s deep reservoir of trust in those institutions. People are so used to trusting banks that, when Celsius told them not to trust banks, they said, “Ah, yes, OK,” then trusted Celsius to work like a bank, to be regulated like a bank. They didn’t worry about Celsius’s opacity and leverage. They didn’t do their own due diligence on its loans and audit its DeFi positions and demand irrefutable proof of its soundness. It promised to pay them back, and that was good enough for them. + +But there’s something hopeful about it, too. Trust in institutions is so strong and resilient that all of crypto’s bluster can’t stamp it out. “Not your keys, not your coins, put your trust only in verifiable code,” crypto evangelists yelled, and people heard them and said, “Yes, that is nice, but I’m busy, I’m going to trust these nice strangers with my Bitcoin.” + +Crypto, in its origins, was about abandoning the system of social trust that’s been built up over centuries and replacing it with cryptographic proof. And then it got going and rebuilt systems of trust all over again. What a nice vote of confidence in *the idea of trust*. + +![handshake](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/igQFNuRkqSKE/v0/-1x-1.jpg) + +ONE THING CRYPTO HAS DONE IS SHOW JUST HOW VALUABLE TRUST IS. + +There’s a related story about money. One way to think of money is that it’s a system of social credit. Society has mechanisms—capitalism, politics, etc.—to allocate resources, with a rough heuristic of: “The more good stuff you do for society, the more good stuff you get for yourself.” Money is a rough way of keeping track of that. If you do good stuff for other people, they give you money, which you can use to buy good stuff for yourself. + +Another way to think about money is that it’s some sort of external objective fact. If you have money, it’s *your* money, and society has nothing to say about whether you can keep it or what you can do with it. + +Crypto starts from the second view: Your Bitcoin are yours immutably; they’re controlled only by your private key, and no government or bank can take them away from you. But the history of crypto since Satoshi has undermined this view. If you got your Bitcoin illegitimately, the government can trace them and stop you from spending them. There are still gatekeepers—crypto exchanges and fiat off-ramps and banks—that decide what you can do with your money. Crypto might be immutable and “censorship-resistant,” but its interactions with the real world are not. + +Not just that. Crypto isn’t even immutable, not really. In 2016 an important smart contract on the Ethereum blockchain called the DAO [got hacked](https://www.bloomberg.com/opinion/articles/2016-06-17/blockchain-company-s-smart-contracts-were-dumb). (DAO is now a generic term, but this was *the* DAO, the first of its name.) There was a flaw in the contract that allowed a hacker to drain a lot of money from it, and he did. Ethereum was a new technology, so the hack was a big deal. + +This hack was controversial; there was controversy about whether it was even a “hack.” Some people said: “Look, if the code of the smart contract allowed the hacker to do this, then it was allowed. There’s no external standard of validity, just the code, and if it happened in the code, it’s fine. If we reverse this transaction, we will destroy the essence of the blockchain, which is the irreversibility of transactions.” + +Other people said: “No, that’s nuts. This was a big hack, and lots of people lost money.” It was clear enough—to humans, anyway—that this was not how people intended the smart contract to work, even if it was in fact how it worked. *Sometimes the code is wrong.* + +The Ethereum network decided to roll back the blockchain and reverse the hack. That’s hard to do. You couldn’t just amass a bunch of computer power yourself and hack the Ethereum blockchain and reverse transactions. But if *everyone in Ethereum* agrees to do it, they can.66 Cryptocurrency isn’t money that’s *totally immune to censorship*, that’s atomic and individual and immutable. It’s money that’s *controlled by consensus*, much like dollars are. It’s a different form of consensus—proof-of-work mining, proof-of-stake validation, decentralized communities, DAOs, Discord chats—but the thing that gives you the money and makes the money valuable is that consensus. + +![](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i0yl_tj2c4z0/v0/-1x-1.jpg) + +MONEY IS A SOCIAL FACT, EVEN WHEN THE MONEY IS BITCOIN OR ETHER. + +Here’s another, more speculative story. + +The most valuable thing in human life, this story begins, is connection. Being with your friends, making friends, feeling esteemed by your peers: These are the things that give life meaning. + +“Sure, sure, sure, whatever,” you say, because this feels fuzzy and fake. But look how rich [Mark Zuckerberg](https://www.bloomberg.com/billionaires/profiles/mark-e-zuckerberg/) is! In 1999, if you’d said, “A giant contributor to US gross domestic product is the friends we made along the way,” that wouldn’t have made any sense. Now, Facebook is worth almost half a trillion dollars—though, to be fair, it’s changed its name to Meta Platforms Inc. to mark its pivot away from friendships. + +And to mark its pivot to the metaverse. I don’t know what the metaverse is. But I gather that it means something like: Our lives, our social lives, our intellectual lives, our professional lives, our aesthetic lives, the things that we do all day that give our lives meaning, will take place increasingly on interconnected computers. Our reality will be intermediated increasingly by computers and the internet. + +![Kim Kardashian and friend taking selfie](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iF7iwHOoElQY/v0/-1x-1.jpg) + +Human social life moving to the internet has economic value, it turns out, though if you explain the mechanism, it seems remarkably trivial. “If people talk to their friends about vacuums, and you show them an ad about vacuums, they’ll probably buy a vacuum.” “If we intermediate between people’s friendships, we can serve ads.” + +A key lesson of crypto is: A bunch of people can get together online and *make their community have economic value, and then capture that value for themselves.* If you explain the mechanism for *that*, it sounds even worse. “Well, see, there’s this token of membership in the community, and it’s up 400% this week. Also the tokens are JPEGs of monkeys.” + +But look, pretty soon, what *are* we going to sell to each other? Online communities are valuable. There’s money to be made. + +![Group of people dressed up as superheroes](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i9eMi5WGXP4s/v0/-1x-1.jpg) + +WHY SHOULDN’T THE COMMUNITY MEMBERS GET THE MONEY? + +There are lots of online communities, though. One is Bored Ape Yacht Club, a self-selected club where you become a member by buying an expensive membership token. The value of that community is, I guess, you feel cool and exclusive? Maybe you befriend a celebrity or a venture capitalist, bonding over your apes. + +Or there’s social networking. Facebook is valuable; make a Neo-Facebook; give people a token; let them keep the value for themselves. “Advertisers can get your data only if they pay you in tokens,” you tell them, or “You can earn tokens for posting, which you can then use to pay other people for posting.” Why not? + +Or gaming. “If you buy a laser in this game, it’s an NFT, and it’s yours to keep forever. Maybe you can use it in another game.” Why not? These are standard claims about web3 that leave me mostly cold. I don’t want to be in the advertising-data-selling or computer-game-arms-dealing businesses. + +But other online communities are DeFi? Like, in some crude sense, what decentralized finance is is a big community of people who get together to pretend to trade financial assets—or, rather, who trade financial assets in a sort of virtual world. They’ve built derivatives exchanges and secured lending protocols and new ways to do market-making, but instead of trading stocks or bonds they trade tokens that they made up. And those tokens are valuable, in part because they’re linked to other online communities (you can use DeFi to buy Ether that you then use to buy NFTs to become a Bored Ape owner), but also in part because DeFi is itself an online community, or cluster of communities, and the tokens it trades are points in that community. If you build a cool trading platform or execute a cool trade, you’ll earn tokens, which you can spend on other cool trading platforms or trades. Talented financial traders are willing to work on projects to get those tokens. If you had some of those tokens, you could hire those traders. + +A problem, and an advantage, of crypto is that it financializes everything. “What if reading your favorite book made you an investor in its stock.” Feh, it’s a story that only a venture capitalist could love. On the other hand, it’s a story that venture capitalists love. A minimalist case for crypto is: + +***“It’s an efficient way to get venture capitalists to put money into software projects.”*** + +Or it’s a Ponzi. The web3 vision of having the customers of every project also be its investors works well in times of speculative excess, but it’s disastrous in a crash. “All our customers have a stake in our success” is great when token prices go up, but it also means that all your customers become poorer when token prices go down, which makes it hard to attract customers. + +But we’ve only really seen the boom. The problem with making every product also a Ponzi is that you can’t be sure if your customers are there for the product or the Ponzi. When it collapses, you can. If they’re still there–if they still use your product without getting rich off the token–then that means your product is promising. If not, well, you ran a Ponzi. + +The great speculative frenzy of crypto and web3 over the past few years drew a lot of money and attention and talent into the crypto world. A great deal of that money and attention and talent went strictly to optimizing the speculative frenzy, to tweaking the tokenomics and leveraging the bets so people could make as much money as possible without actually building anything. Some of it probably went into building, though. + +Now the speculative frenzy has, if not disappeared, at least cooled. Now if you’re trying to raise money for a web3 project, it should probably do something, besides issuing a token that goes up. If it creates value for people, if the product is something people want, then the tokens will take care of themselves. Crypto people have a lot to prove on that front. One reason the 2022 crisis in crypto didn’t spark a contagion is that crypto has so few connections to things that matter to people. They play games and gamble on the blockchain, but they don’t have mortgages there. + +Perhaps this is all a self-referential sinkhole for smart finance people, but honestly it would be weird if that’s all it ever turned out to be. If so many smart finance people have moved into the crypto financial system, if they find it so much more enjoyable and functional and productive than the traditional financial system, surely they’ll eventually figure out how to make it, you know, *useful*. + +Here’s another way to tell this story. There’s the real world, and people do stuff in the real world. They grow food and build houses. + +![architectural drawing](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ihn2Szja..4E/v0/-1x-1.jpg) + +Over many centuries a financial system grew up, as an adjunct to the real world. That financial system enabled people to do more stuff in the real world. They could build railroads or semiconductor factories or electric cars, because they could raise money from strangers to fund their activities. They could buy bigger houses, because they could borrow money from banks. They could also trade out-of-the-money call options on GameStop, because that’s fun and you can make memes about it, but that’s an accidental feature of a financial system that mostly does serious stuff in the real world. + +By 2008, or 2022, that system looked pretty abstract. When you think about modern finance, you often think about things like those GameStop options, or the system of payment for order flow that enables their trading, or synthetic collateralized debt obligations referencing other CDOs referencing pools of mortgage-backed securities. There’s a house there somewhere, under the CDO-squareds. All the sophisticated modern finance can be traced back, step by step, to the real world. Sure, it’s a lot of steps now. But the important point is that sophisticated modern finance was built *up*, step by step, from the real world. The real world came first, then finance, then the more complicated epiphenomena of finance. + +![image of tornado approaching house](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iB3G5zynYF8Q/v0/-1x-1.jpg) + +Crypto, meanwhile, has built a financial system from first principles, pure and pleasing on its own, unsullied by contact with the real world. (I exaggerate: The basic function of *sending money* using crypto, Satoshi’s original goal, is fairly practical. But, otherwise.) That’s interesting as an object of aesthetic contemplation, and I’ve enjoyed contemplating it, and I hope you have, too. And it’s attracted a lot of finance people who also enjoy contemplating it, and getting rich. And their task is to build back down, step by step, to connect the elegant financial system of crypto to the real world. You’ve built a derivatives exchange, cool, cool. But can a real company use it to hedge a real risk facing its real factory? You’ve built a decentralized lending platform, awesome. But can a young family use it to buy a house? + +And the answer is, you know, maybe, give it time. The crypto system has attracted a lot of smart people who want to solve these problems, in part because they’re intellectually interesting problems and in part because solving them will make these people rich. + +But another part of the answer might be that the real world—growing food, building houses—is a smaller part of economic life than it used to be, and that manipulating symbolic objects in online databases is a bigger part. Modern life is lived in databases. And crypto is *about* a new way of keeping databases (on the blockchain). + +If you build a financial system that has trouble with houses but is particularly suited to financing video games—one that lets you keep your character on the blockchain, and borrow money from a decentralized platform to buy a cool hat for her, or whatever, I don’t know—then that system might be increasingly valuable as video games become an increasingly important part of life. If you build a financial system whose main appeal is its database, it will be well-suited to a world lived in databases. If the world is increasingly software and advertising and online social networking and, good Lord, the metaverse, then the crypto financial system doesn’t have to build all the way back down to the real world to be valuable. The world can come to crypto. + +![roller coaster](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iz6.CG9h7Y2o/v0/-1x-1.jpg) + +WORTH A SHOT, NO? + +[ + +**Want more? +Subscribe to Matt Levine’s *Money Stuff*, a daily newsletter on all things Wall Street and finance.** + +](https://www.bloomberg.com/account/newsletters/money-stuff) + +**Editor**: Pat Regnier + +**Development**: Peru Dayani, James Singleton + +**Production**: Emily Engelman, Steph Davidson, Thomas Houston, Michael Frazer, Justin McLean, Bernadette Walker + +**Designers**: Albert Hicks IV, Alexander Shoukas + +**Photo editors**: Aeriel Brown, Donna Cohen, Ryan Duffin, Dietmar Liz-Lepiorz, Leonor Mamanna + +**Audio**: Mark Leydorf + +**Copy editors**: William Elstrom, Nicholas Mullan, Minette Valeriano + +**Editorial assistance**: Jim Aley, stacy-marie ishmael, Olga Kharif, Margaret Sutherlin, Folder Studio + +**Photos**: Alamy (21), AP Images (1), Bloomberg (5), Classic Stock (1), Everett Collection (1), Getty Images (64), Juliana Tan (1), Library of Congress (1), Nasa (1), Netflix/Everett Collection (1), Reuters (2), Shutterstock (4), Trunk Archive (1), YouTube (1). Videos: Getty Images (3) + +  +  + +--- +`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))` \ No newline at end of file diff --git a/00.08 Bookmarks/Bookmarks - Admin & services.md b/00.08 Bookmarks/Bookmarks - Admin & services.md index 8d241f5e..3bd02e2c 100644 --- a/00.08 Bookmarks/Bookmarks - Admin & services.md +++ b/00.08 Bookmarks/Bookmarks - Admin & services.md @@ -127,7 +127,8 @@ image: https://cdn.sanity.io/images/rizm0do5/production/03de4f90a9b3ff63a729a3e1   -- [ ] :label: [[Bookmarks - Admin & services]]: Review bookmarks 🔁 every 3 months 📅 2022-10-30 +- [ ] :label: [[Bookmarks - Admin & services]]: Review bookmarks 🔁 every 3 months 📅 2023-01-30 +- [x] :label: [[Bookmarks - Admin & services]]: Review bookmarks 🔁 every 3 months 📅 2022-10-30 ✅ 2022-10-29     \ No newline at end of file diff --git a/00.08 Bookmarks/Bookmarks - Media.md b/00.08 Bookmarks/Bookmarks - Media.md index 3a25f3e0..9fe4a5c4 100644 --- a/00.08 Bookmarks/Bookmarks - Media.md +++ b/00.08 Bookmarks/Bookmarks - Media.md @@ -60,6 +60,16 @@ image: https://opengraph.githubassets.com/55888ed4c924334dad78ba089c1d6239deb7b6   +```cardlink +url: https://fivebooks.com/category/best-books-of-2022/ +title: "The Best Books of 2022 - Five Books Expert Recommendations" +description: "The best books of 2022, as recommended by experts, with selections of both the best fiction and nonfiction. Ideal books to read in 2022." +host: fivebooks.com +image: https://fivebooks.com/app/uploads/2022/01/best-2022-books-category-share-image.jpg +``` + +  + ---   diff --git a/00.08 Bookmarks/Bookmarks - Obsidian.md b/00.08 Bookmarks/Bookmarks - Obsidian.md index 1d78c239..5b4c099b 100644 --- a/00.08 Bookmarks/Bookmarks - Obsidian.md +++ b/00.08 Bookmarks/Bookmarks - Obsidian.md @@ -11,7 +11,7 @@ CollapseMetaTable: true --- -Parent:: [[@Bookmarks]] +Parent:: [[@Bookmarks]], [[@Computer Set Up|Computer Setup]] --- @@ -50,6 +50,50 @@ style: number   +```cardlink +url: https://forum.obsidian.md/t/mobile-automatic-sync-with-github-on-ios-for-free-via-a-shell/46150?ref=Obsidian+Roundup-newsletter +title: "[Mobile] Automatic sync with GitHub on iOS (for free) via a-shell" +description: "I recently started using Obsidian and didn’t want to pay for Sync or Working Copy, so I thought I’d try to figure out a way to sync my vault everywhere for free. I saw in the comments of this post by rsteele and this post from ForceBru that people were able to get GitHub to sync with their iOS device using the a-shell app, but the way to do it was not really discussed. I hope that this tutorial will be useful for other non-tech-savvy people like myself who would like to get their vault synced ac..." +host: forum.obsidian.md +favicon: https://forum.obsidian.md/uploads/default/optimized/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5_2_32x32.png +image: https://forum.obsidian.md/uploads/default/original/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png +``` + +  + +```cardlink +url: https://github.com/erykwalder/obsidian-list-style?ref=Obsidian+Roundup-newsletter +title: "GitHub - erykwalder/obsidian-list-style at Obsidian Roundup-newsletter" +description: "Contribute to erykwalder/obsidian-list-style development by creating an account on GitHub." +host: github.com +favicon: https://github.githubassets.com/favicons/favicon.svg +image: https://opengraph.githubassets.com/7e4396d8f6f76c516510fcd28d7aa93102c1ebc686b587c295c277b0ae80aae1/erykwalder/obsidian-list-style +``` + +  + +```cardlink +url: https://github.com/rien7/obsidian-colorful-tag?ref=Obsidian+Roundup-newsletter +title: "GitHub - rien7/obsidian-colorful-tag at Obsidian Roundup-newsletter" +description: "A simple plugin to beauty your tags in obsidian! Contribute to rien7/obsidian-colorful-tag development by creating an account on GitHub." +host: github.com +favicon: https://github.githubassets.com/favicons/favicon.svg +image: https://opengraph.githubassets.com/a5b75730ac26e4e54fe8dff35cf1c3a48fbd8275f26e32ebdf339d88eb7b94b9/rien7/obsidian-colorful-tag +``` + +  + +```cardlink +url: https://github.com/cloudhao1999/obsidian-scroll-to-top-plugin?ref=Obsidian+Roundup-newsletter +title: "GitHub - cloudhao1999/obsidian-scroll-to-top-plugin at Obsidian Roundup-newsletter" +description: "This is a plugin for Obsidian that adds a button to scroll to the top of the current note. - GitHub - cloudhao1999/obsidian-scroll-to-top-plugin at Obsidian Roundup-newsletter" +host: github.com +favicon: https://github.githubassets.com/favicons/favicon.svg +image: https://opengraph.githubassets.com/3cfb1af22d40f2726f5a9683cfba5d04eeca9dbcf9977952b051f49fefd19128/cloudhao1999/obsidian-scroll-to-top-plugin +``` + +  + ```cardlink url: https://gist.github.com/etd2w/6587a93776222b519da5bd48ce25cbdb title: "dataview_shows_db.js" @@ -71,8 +115,6 @@ favicon: https://publish-01.obsidian.md/access/342b33803baa5ad0055c9141648edad3/   -  - ```cardlink url: https://github.com/remotely-save/remotely-save title: "GitHub - remotely-save/remotely-save" diff --git a/01.02 Home/@Shopping list.md b/01.02 Home/@Shopping list.md index cfa7e533..e2978b83 100644 --- a/01.02 Home/@Shopping list.md +++ b/01.02 Home/@Shopping list.md @@ -75,7 +75,7 @@ hide task count - [x] ☕ Coffee ✅ 2022-03-01 - [x] 🍶 Coke 0 ✅ 2022-03-14 - [x] 🧃 Apfelschorle ✅ 2022-05-07 -- [x] 🍊 Morning juice ✅ 2022-10-24 +- [x] 🍊 Morning juice ✅ 2022-10-29 - [x] 🍺 Beer ✅ 2022-02-06 - [x] 🍷 Wine ✅ 2022-08-05 @@ -83,16 +83,17 @@ hide task count #### Snacks & Sweets -- [x] 🍿 Snacks ✅ 2022-03-04 -- [x] 🍦 Dessert ✅ 2022-09-18 +- [x] 🍿 Snacks ✅ 2022-10-29 +- [x] 🍦 Dessert ✅ 2022-10-29   #### Dairy -- [x] 🧈 Beurre ✅ 2022-09-18 -- [x] 🧀 Fromage ✅ 2022-09-18 -- [x] 🧀 Fromage rapé ✅ 2022-09-18 +- [x] 🧈 Beurre ✅ 2022-10-29 +- [x] 🧀 Fromage ✅ 2022-10-29 +- [x] 🧀 Fromage rapé ✅ 2022-10-29 +- [x] 🍦 Sour Cream ✅ 2022-10-29   @@ -101,31 +102,35 @@ hide task count - [x] 🥯 Bread ✅ 2022-10-24 - [x] 🍯 Honey/Jam ✅ 2022-03-31 - [x] 🍫 Nutella ✅ 2022-02-15 -- [x] 🥚 Eggs ✅ 2022-09-18 +- [x] 🥚 Eggs ✅ 2022-10-29   #### Fresh -- [x] 🍐 Fruit ✅ 2022-10-24 -- [x] 🍌 Bananas ✅ 2022-09-05 -- [x] 🍅 vegetables ✅ 2022-10-24 -- [x] 🧅 onions ✅ 2022-03-31 -- [x] 🧄 garlic ✅ 2022-09-18 +- [x] 🍐 Fruit ✅ 2022-10-29 +- [x] 🍌 Bananas ✅ 2022-10-29 +- [x] 🍅 Vegetables ✅ 2022-10-29 +- [x] 🥦 Fennel ✅ 2022-10-29 +- [x] 🥦 Radish ✅ 2022-10-29 +- [x] 🧅 Onions ✅ 2022-03-31 +- [x] 🧄 Garlic ✅ 2022-09-18   #### Meat & Fish -- [x] 🥩 Cured meat ✅ 2022-10-24 -- [ ] 🍖 Fresh meat +- [x] 🥩 Cured meat ✅ 2022-10-29 +- [x] 🍖 Fresh meat ✅ 2022-10-29 +- [x] 🐟 Salmon fillet ✅ 2022-10-29   #### Bases -- [x] 🍝 Pasta ✅ 2022-10-24 -- [x] 🍚 Rice ✅ 2022-03-31 +- [x] 🍝 Pasta ✅ 2022-10-29 +- [x] 🌾 Bulgur ✅ 2022-10-29 +- [x] 🍚 Rice ✅ 2022-10-29 - [x] 🥔 Potatoes ✅ 2022-10-24   @@ -151,7 +156,7 @@ hide task count #### Herbs - [x] 🌿 Thyme ✅ 2022-03-14 -- [x] 🌿 Dill ✅ 2022-03-14 +- [x] 🌿 Dill ✅ 2022-10-29 - [x] 🌿 Bay leaves ✅ 2022-08-05 - [x] 🌿 Oregano ✅ 2022-03-14 - [x] 🌿 Herbes de Provence ✅ 2022-03-14 @@ -167,7 +172,7 @@ hide task count - [x] 🥣 Beef broth ✅ 2022-08-05 - [x] 🥣 Vegetable broth ✅ 2022-08-05 - [x] 🧂 Salt ✅ 2022-10-19 -- [x] 🧂 Pepper black ✅ 2022-10-19 +- [x] 🧂 Pepper (black) ✅ 2022-10-19 - [x] 🧂 Pepper (white) ✅ 2022-10-19   diff --git a/01.02 Home/Household.md b/01.02 Home/Household.md index d810f966..506f36d5 100644 --- a/01.02 Home/Household.md +++ b/01.02 Home/Household.md @@ -89,7 +89,8 @@ style: number #### 🏠 House chores -- [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-10-03 📅 2022-10-29 +- [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-10-31 📅 2022-11-26 +- [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-10-03 📅 2022-10-29 ✅ 2022-10-29 - [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-08-29 📅 2022-09-24 ✅ 2022-09-23 - [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-08-01 📅 2022-08-27 ✅ 2022-08-27 - [ ] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-10-31 @@ -102,7 +103,8 @@ style: number - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-09-12 ✅ 2022-09-09 - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-09-05 ✅ 2022-09-02 - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-08-29 ✅ 2022-08-27 -- [ ] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-29 +- [ ] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-11-12 +- [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-29 ✅ 2022-10-29 - [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-15 ✅ 2022-10-14 - [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-01 ✅ 2022-10-03 - [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-09-17 ✅ 2022-09-19 diff --git a/03.02 Travels/New York.md b/03.02 Travels/New York.md new file mode 100644 index 00000000..75749075 --- /dev/null +++ b/03.02 Travels/New York.md @@ -0,0 +1,126 @@ +--- + +Alias: ["New York City", "NY", "NYC"] +Tag: ["🇺🇸", "🗽"] +Date: 2022-10-28 +DocType: "Place" +Hierarchy: "NonRoot" +TimeStamp: +location: [40.7127281,-74.0060152] +Place: + Type: Region + SubType: City + Style: "Big Apple" + Location: "East Coast" + Country: USA + Status: Recommended +CollapseMetaTable: true + +--- + +Parent:: [[@United States|United States]], [[@@Travels|Travels]] + +  + +`= elink("https://waze.com/ul?ll=" + this.location[0] + "%2C" + this.location[1] + "&navigate=yes", "Launch Waze")` + +--- + +  + +```button +name Save +type command +action Save current file +id Save +``` +^button-NewYorkSave + +  + +# New York + +  + +```ad-abstract +title: Summary +collapse: open +Note Description +``` + +  + +```toc +style: number +``` + +  + +--- + +  + +### Accommodation + +  + + +  + +--- + +  + +### Restaurants + +  + +```cardlink +url: https://www.bonappetit.com/story/katz-new-york-delis-fashion-delicore?utm_term=article-4&utm_source=nl&utm_brand=ba&utm_mailing=BA_ROTD_102922&utm_campaign=aud-dev&utm_medium=email&bxid=61ddd2c7059cbc783c6c7d3f&cndid=68077058&hasha=64abb2b2ab92f1441348f3e30ec6a058&hashb=440287f702803098e28a3a992505b1cd41eb0555&hashc=a227b6d0abc4582c10e807450b6dd0b76d4445a555fab00cb5771287e13d3e00&esrc=subscribe-page +title: "The Old School Deli Is the Newest Hot Girl Hangout" +description: "A Batsheva Hay show at Ben's. A Diplo set at Katz's. New York’s downtown scene has fallen hard for delicore." +host: www.bonappetit.com +image: https://assets.bonappetit.com/photos/632b3d5641f230cc60951d0f/16:9/w_1280,c_limit/h_15427109.jpg +``` + + +  + +--- + +  + +### Shopping + +  + + +  + +--- + +  + +### A visiter + +  + + +  + +--- + +  + +### Other activity + +  + +```dataview +Table DocType as "Doc type" from [[New York]] +where !contains(file.name, "@@Travel") +sort DocType asc +``` + +  +  \ No newline at end of file diff --git a/03.02 Travels/Skiing in Switzerland.md b/03.02 Travels/Skiing in Switzerland.md index 3d91e337..27796710 100644 --- a/03.02 Travels/Skiing in Switzerland.md +++ b/03.02 Travels/Skiing in Switzerland.md @@ -79,12 +79,14 @@ style: number   -1. Interlaken -2. Arosa -3. Zermatt -4. Crans Montana -5. Verbier -6. Gstaad +1. Interlaken (Grinenwald) +2. Davos +3. Laax +4. Arosa +5. Zermatt +6. Crans Montana +7. Verbier +8. Gstaad   diff --git a/03.03 Food & Wine/Crispy Salmon with Bulgur.md b/03.03 Food & Wine/Crispy Salmon with Bulgur.md index 88eeb7a3..49b4065f 100644 --- a/03.03 Food & Wine/Crispy Salmon with Bulgur.md +++ b/03.03 Food & Wine/Crispy Salmon with Bulgur.md @@ -1,8 +1,8 @@ --- -ServingSize: 4 +ServingSize: 2 cssclass: recipeTable -Tag: ["🧘🏼‍♂️", "NotYetTested"] +Tag: ["🧘🏼‍♂️", "⏲️"] Date: 2021-09-21 DocType: "Recipe" Hierarchy: "NonRoot" @@ -10,7 +10,7 @@ location: [51.514678599999996, -0.18378583926867909] CollapseMetaTable: true Meta: IsFavourite: False - Rating: + Rating: 4 Recipe: Courses: "Main dish" Categories: "Fish" diff --git a/03.04 Cinematheque/@Cinematheque.md b/03.04 Cinematheque/@Cinematheque.md index b574cdc3..e86babde 100644 --- a/03.04 Cinematheque/@Cinematheque.md +++ b/03.04 Cinematheque/@Cinematheque.md @@ -11,7 +11,7 @@ location: CollapseMetaTable: true TVShow: Name: "Game of Thrones" - Season: 7 + Season: 8 Episode: 2 Source: Internal banner: "![[img_1924.jpg]]" diff --git a/03.04 Cinematheque/Hail Caesar! (2016).md b/03.04 Cinematheque/Hail Caesar! (2016).md new file mode 100644 index 00000000..b5c81753 --- /dev/null +++ b/03.04 Cinematheque/Hail Caesar! (2016).md @@ -0,0 +1,94 @@ +--- +type: "movie" +subType: null +title: "Hail, Caesar!" +englishTitle: "Hail, Caesar!" +year: "2016" +dataSource: "OMDbAPI" +url: "https://www.imdb.com/title/tt0475290/" +id: "tt0475290" +genres: + - "Comedy" + - "Drama" + - "Mystery" +producer: "Ethan Coen, Joel Coen" +duration: "106 min" +onlineRating: 6.3 +image: "https://m.media-amazon.com/images/M/MV5BOTI1M2FlMzItY2VjYS00Y2VkLWI5OTQtMzA0MWMyNmQzZmQ0XkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_SX300.jpg" +released: true +premiere: "05/02/2016" +watched: true +lastWatched: "2022/10/27" +personalRating: 6 +tags: "mediaDB/tv/movie" +CollapseMetaTable: true + +--- + +Parent:: [[@Cinematheque]] + +--- + +```dataviewjs +dv.paragraph(`> [!${dv.current().watched ? 'SUCCESS' : 'WARNING'}] ${dv.current().watched ? 'last watched on ' + dv.current().lastWatched : 'not yet watched'}`) +``` + +  + +# `$= dv.current().title` + +  + +`$= dv.current().watched ? '**Rating**: ' + dv.current().personalRating + ' out of 10' : ''` + +```toc +``` + +  + +### Details + +  + +**Genres**: +`$= dv.current().genres.length === 0 ? ' - none' : dv.list(dv.current().genres)` + +`$= !dv.current().released ? '**Not released** The movie is not yet released.' : ''` + +  + +```dataview +list without id + "" + + + "" ++ + "" + + + "" + + + "" + + + "" + + + "" + + + "" + + + "" + + + "
Type" + this.type + "
Online Rating" + this.onlineRating + "
Duration" + this.duration + "
Premiered" + this.premiere + "
Producer" + this.producer + "
" +FROM "03.04 Cinematheque/Hail Caesar! (2016)" +``` + +  + +--- + +  + +### Poster + +  + +`$= '![Image|360](' + dv.current().image + ')'` \ No newline at end of file diff --git a/04.03 Creative snippets/2021-12-04 MRCK - lil dialogue.md b/04.03 Creative snippets/2021-12-04 MRCK - lil dialogue.md index e0ff5cac..04eefcc1 100644 --- a/04.03 Creative snippets/2021-12-04 MRCK - lil dialogue.md +++ b/04.03 Creative snippets/2021-12-04 MRCK - lil dialogue.md @@ -48,17 +48,16 @@ style: number   -```chat +```dialogue left: Boubinou right: Mel-mo titleMode: all -messageMaxWidth: 40% -< Boubinou | ohlala, i am so sick in my tummy +< ohlala, i am so sick in my tummy # Boubinou looks full of beans < i need to go home! delimiter -> Mel-mo | I can smell a lil' rat! Somebody does not seem to want to finish her French class +> I can smell a lil' rat! Somebody does not seem to want to finish her French class < heho < I am sooo sick! It happens everytime i forget to take my pill. < Pass me the biscuits!! -``` +``` \ No newline at end of file diff --git a/05.02 Networks/Configuring UFW.md b/05.02 Networks/Configuring UFW.md index a5ef45cc..2e1fd7de 100644 --- a/05.02 Networks/Configuring UFW.md +++ b/05.02 Networks/Configuring UFW.md @@ -237,7 +237,8 @@ sudo bash /etc/addip4ban/addip4ban.sh #### Ban List Tasks -- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-29 +- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-11-05 +- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-29 ✅ 2022-10-29 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-22 ✅ 2022-10-21 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-16 ✅ 2022-10-15 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-15 ✅ 2022-10-15 @@ -277,7 +278,8 @@ sudo bash /etc/addip4ban/addip4ban.sh - [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-10-02 ✅ 2022-10-01 - [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-10-16 ✅ 2022-10-01 - [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-10-15 ✅ 2022-10-15 -- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-29 +- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-11-05 +- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-29 ✅ 2022-10-29 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-22 ✅ 2022-10-21 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-16 ✅ 2022-10-15 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-15 ✅ 2022-10-15 diff --git a/06.02 Investments/Crypto Tasks.md b/06.02 Investments/Crypto Tasks.md index 7cf816d9..584a16d3 100644 --- a/06.02 Investments/Crypto Tasks.md +++ b/06.02 Investments/Crypto Tasks.md @@ -72,7 +72,8 @@ All tasks and to-dos Crypto-related. [[#^Top|TOP]]   -- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 +- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-11-04 +- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 ✅ 2022-10-28 - [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-21 ✅ 2022-10-21 - [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-14 ✅ 2022-10-14 - [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-07 ✅ 2022-10-07 diff --git a/06.02 Investments/Equity Tasks.md b/06.02 Investments/Equity Tasks.md index 7b2fcafd..b91020a8 100644 --- a/06.02 Investments/Equity Tasks.md +++ b/06.02 Investments/Equity Tasks.md @@ -72,7 +72,8 @@ Note summarising all tasks and to-dos for Listed Equity investments. [[#^Top|TOP]]   -- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 +- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-11-04 +- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 ✅ 2022-10-28 - [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-21 ✅ 2022-10-21 - [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-14 ✅ 2022-10-14 - [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-07 ✅ 2022-10-07 diff --git a/06.02 Investments/VC Tasks.md b/06.02 Investments/VC Tasks.md index ea583587..7917e9a6 100644 --- a/06.02 Investments/VC Tasks.md +++ b/06.02 Investments/VC Tasks.md @@ -72,7 +72,8 @@ Tasks and to-dos for VC investments. [[#^Top|TOP]]   -- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 +- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-11-04 +- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 ✅ 2022-10-28 - [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-21 ✅ 2022-10-21 - [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-14 ✅ 2022-10-14 - [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-07 ✅ 2022-10-07