vault backup: 2026-05-21 12:19:18

This commit is contained in:
ben committed 2026-05-21 12:19:18 -07:00
1 parent 264b9771bb
commit 72ff3cd626
8 files changed
+245 -57

No files matched your search

+4 -4
View File
@@ -1,10 +1,10 @@
"use strict";var obsidian_module=require("obsidian"),view=require("@codemirror/view"),commands=require("@codemirror/commands"),lr=require("@lezer/lr"),language=require("@codemirror/language"),state=require("@codemirror/state");;const INITIAL_TIMESTAMP=Date.now();var LZString=function(){var r=String.fromCharCode,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",e={};function t(r,o){if(!e[r]){e[r]={};for(var n=0;n<r.length;n++)e[r][r.charAt(n)]=n}return e[r][o]}var i={compressToBase64:function(r){if(null==r)return"";var n=i._compress(r,6,function(r){return o.charAt(r)});switch(n.length%4){default:case 0:return n;case 1:return n+"===";case 2:return n+"==";case 3:return n+"="}},decompressFromBase64:function(r){return null==r?"":""==r?null:i._decompress(r.length,32,function(n){return t(o,r.charAt(n))})},compressToUTF16:function(o){return null==o?"":i._compress(o,15,function(o){return r(o+32)})+" "},decompressFromUTF16:function(r){return null==r?"":""==r?null:i._decompress(r.length,16384,function(o){return r.charCodeAt(o)-32})},compressToUint8Array:function(r){for(var o=i.compress(r),n=new Uint8Array(2*o.length),e=0,t=o.length;e<t;e++){var s=o.charCodeAt(e);n[2*e]=s>>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null==o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;e<t;e++)n[e]=256*o[2*e]+o[2*e+1];var s=[];return n.forEach(function(o){s.push(r(o))}),i.decompress(s.join(""))},compressToEncodedURIComponent:function(r){return null==r?"":i._compress(r,6,function(r){return n.charAt(r)})},decompressFromEncodedURIComponent:function(r){return null==r?"":""==r?null:(r=r.replace(/ /g,"+"),i._decompress(r.length,32,function(o){return t(n,r.charAt(o))}))},compress:function(o){return i._compress(o,16,function(o){return r(o)})},_compress:function(r,o,n){if(null==r)return"";var e,t,i,s={},u={},a="",p="",c="",l=2,f=3,h=2,d=[],m=0,v=0;for(i=0;i<r.length;i+=1)if(a=r.charAt(i),Object.prototype.hasOwnProperty.call(s,a)||(s[a]=f++,u[a]=!0),p=c+a,Object.prototype.hasOwnProperty.call(s,p))c=p;else{if(Object.prototype.hasOwnProperty.call(u,c)){if(c.charCodeAt(0)<256){for(e=0;e<h;e++)m<<=1,v==o-1?(v=0,d.push(n(m)),m=0):v++;for(t=c.charCodeAt(0),e=0;e<8;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;e<h;e++)m=m<<1|t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=c.charCodeAt(0),e=0;e<16;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e<h;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++),s[p]=f++,c=String(a)}if(""!==c){if(Object.prototype.hasOwnProperty.call(u,c)){if(c.charCodeAt(0)<256){for(e=0;e<h;e++)m<<=1,v==o-1?(v=0,d.push(n(m)),m=0):v++;for(t=c.charCodeAt(0),e=0;e<8;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;e<h;e++)m=m<<1|t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=c.charCodeAt(0),e=0;e<16;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e<h;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;e<h;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==o-1){d.push(n(m));break}v++}return d.join("")},decompress:function(r){return null==r?"":""==r?null:i._decompress(r.length,32768,function(o){return r.charCodeAt(o)})},_decompress:function(o,n,e){var t,i,s,u,a,p,c,l=[],f=4,h=4,d=3,m="",v=[],g={val:e(0),position:n,index:1};for(t=0;t<3;t+=1)l[t]=t;for(s=0,a=Math.pow(2,2),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 2:return""}for(l[3]=c,i=c,v.push(c);;){if(g.index>o)return"";for(s=0,a=Math.pow(2,d),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(c=s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 2:return v.join("")}if(0==f&&(f=Math.pow(2,d),d++),l[c])m=l[c];else{if(c!==h)return null;m=i+i.charAt(0)}v.push(m),l[h++]=i+m.charAt(0),i=m,0==--f&&(f=Math.pow(2,d),d++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&Line truncated
let REACT_PACKAGES = `!function(){var e,t;e=this,t=function(e){function M(e){return null!==e&&"object"==typeof e&&"function"==typeof(e=te&&e[te]||e["@@iterator"])?e:null}function t(e,t,n){this.props=e,this.context=t,this.refs=oe,this.updater=n||ne}function n(){}function r(e,t,n){this.props=e,this.context=t,this.refs=oe,this.updater=n||ne}function o(e,t,n){var r,o={},u=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(u=""+t.key),t)ae.call(t,r)&&!ie.hasOwnProperty(r)&&(o[r]=t[r]);var i=arguments.length-2;if(1===i)o.children=n;else if(1<i){for(var l=Array(i),c=0;c<i;c++)l[c]=arguments[c+2];o.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps)void 0===o[r]&&(o[r]=i[r]);return{$$typeof:g,type:e,key:u,ref:a,props:o,_owner:w.current}}function D(e,t){return{$$typeof:g,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function c(e){return"object"==typeof e&&null!==e&&e.$$typeof===g}function U(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}function f(e,t){return"object"==typeof e&&null!==e&&null!=e.key?U(""+e.key):t.toString(36)}function s(e,t,n,r,o){var u=!1;if(null===(e="undefined"!==(i=typeof e)&&"boolean"!==i?e:null))u=!0;else switch(i){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case g:case H:u=!0}}if(u)return o=o(u=e),e=""===r?"."+f(u,0):r,ue(o)?(n="",s(o,t,n=null!=e?e.replace(le,"$&/")+"/":n,"",function(e){return e})):null!=o&&(c(o)&&(o=D(o,n+(!o.key||u&&u.key===o.key?"":(""+o.key).replace(le,"$&/")+"/")+e)),t.push(o)),1;if(u=0,r=""===r?".":r+":",ue(e))for(var a=0;a<e.length;a++){var i,l=r+f(i=e[a],a);u+=s(i,t,n,l,o)}else if("function"==typeof(l=M(e)))for(e=l.call(e),a=0;!(i=e.next()).done;)u+=s(i=i.value,t,n,l=r+f(i,a++),o);else if("object"===i)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return u}function u(e,t,n){var r;return null==e||(r=0,s(e,e=[],"","",function(e){return t.call(n,e,r++)})),e}function V(t){var e;if(-1===t._status&&((e=(e=t._result)()).then(function(e){0!==t._status&&-1!==t._status||(t._status=1,t._result=e)},function(e){0!==t._status&&-1!==t._status||(t._status=2,t._result=e)}),-1===t._status)&&(t._status=0,t._result=e),1===t._status)return t._result.default;throw t._result}function a(e,t){var n=e.length;for(e.push(t);0<n;){var r=n-1>>>1,o=e[r];if(!(0<p(o,t)))break;e[r]=t,e[n]=o,n=r}}function i(e){return 0===e.length?null:e[0]}function l(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;for(var r=0,o=e.length,u=o>>>1;r<u;){var a=2*(r+1)-1,i=e[a],l=a+1,c=e[l];if(p(i,n)<0)r=l<o&&p(c,i)<0?(e[r]=c,e[l]=n,l):(e[r]=i,e[a]=n,a);else{if(!(l<o&&p(c,n)<0))break;e[r]=c,e[l]=n,r=l}}}return t}function p(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}function y(e){for(var t=i(E);null!==t;){if(null===t.callback)l(E);else{if(!(t.startTime<=e))break;l(E),t.sortIndex=t.expirationTime,a(C,t)}t=i(E)}}function d(e){var t;j=!1,y(e),I||(null!==i(C)?(I=!0,m(b)):null!==(t=i(E))&&_(d,t.startTime-e))}function b(e,t){I=!1,j&&(j=!1,se(L),L=-1),$=!0;var n=P;try{for(y(t),R=i(C);null!==R&&(!(R.expirationTime>t)||e&&!q());){var r,o=R.callback;"function"==typeof o?(R.callback=null,P=R.priorityLevel,r=o(R.expirationTime<=t),t=v(),"function"==typeof r?R.callback=r:R===i(C)&&l(C),y(t)):l(C),R=i(C)}var u,a=null!==R||(null!==(u=i(E))&&_(d,u.startTime-t),!1);return a}finally{R=null,P=n,$=!1}}function q(){return!(v()-de<ye)}function m(e){O=e,T||(T=!0,be())}function _(e,t){L=fe(function(){e(v())},t)}function A(e){throw Error("act(...) is not supported in production builds of React.")}var N,h,B,v,z,g=Symbol.for("react.element"),H=Symbol.for("react.portal"),W=Symbol.for("react.fragment"),Y=Symbol.for("react.strict_mode"),G=Symbol.for("react.profiler"),J=Symbol.for("react.provider"),K=Symbol.for("react.context"),Q=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),Z=Symbol.for("react.memo"),ee=Symbol.for("react.lazy"),te=Symbol.iterator,ne={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){},enqueueReplaceState:function(e,t,n,r){},enqueueSetState:function(e,t,n,r){}},re=Object.assign,oe={},k=(t.prototype.isReactComponent={},t.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},t.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},n.prototype=t.prototype,r.prototype=new n),ue=(k.constructor=r,re(k,t.prototype),k.isPureReactComponent=!0,Array.isArray),ae=Object.prototype.hasOwnProperty,w={current:null},ie={key:!0,ref:!0,__self:!0,__source:!0},le=/\\/+/g,S={current:null},x={transition:null},C=(v="object"==typeof performance&&"function"==typeof p Line truncated
const unpackExcalidraw = () => LZString.decompressFromBase64("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 truncated
const unpackExcalidraw = () => LZString.decompressFromBase64("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 truncated
let {react, reactDOM } = new Function(`${REACT_PACKAGES}; return {react: React, reactDOM: ReactDOM};`)();
let excalidrawLib = {};
const loadMathjaxToSVG = () => new Function(`${LZString.decompressFromBase64("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 truncated
const PLUGIN_LANGUAGES = {"ru": "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 truncated
const PLUGIN_VERSION="2.22.3";function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(i){if("default"!==i){var a=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,a.get?a:{enumerable:!0,get:function(){return e[i]}})}}),t.default=e,Object.freeze(t)}var obsidian_module__namespace=_interopNamespace(obsidian_module),React__default=_interopDefaultLegacy(React),React__namespace=_interopNamespace(React);let random$3=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,t,i)=>{let a=(2<<Math.log(e.length-1)/Math.LN2)-1,n=-~(1.6*a*t/e.length);return(r=t)=>{let s="";for(;;){let t=i(n),o=n;for(;o--;)if(s+=e[t[o]&a]||"",s.length===r)return s}}},customAlphabet=(e,t=21)=>customRandom(e,t,random$3),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_"),"");const durationTreshold=0;function setDebugging(e){DEBUGGING=!1}let DEBUGGING=!1;const log$2=console.log.bind(window.console),debug=(e,t,...i)=>{console.log(t,...i)};class CustomMutationObserver{originalCallback;observer;name;constructor(e,t){this.originalCallback=e,this.observer=null,this.name=t}observe(e,t){this.observer=new MutationObserver(async(e,t)=>{const i=performance.now();await this.originalCallback(e,t);const a=performance.now()-i;a>durationTreshold&&console.log(`Excalidraw ${this.name} MutationObserver callback took ${a}ms to execute`,t)}),this.observer.observe(e,t)}disconnect(){this.observer&&(this.observer.disconnect(),this.observer=null)}}class ErrorHandler{static instance;errorLog=[];errorNoticeTimeout=1e4;maxLogEntries=100;constructor(){}static getInstance(){return ErrorHandler.instance||(ErrorHandler.instance=new ErrorHandler),ErrorHandler.instance}handleError(e,t,i=!0,a){const n="string"==typeof e?new Error(e):e;if(console.error(`[Excalidraw Error] in ${t}:`,n),this.errorLog.push({error:n,context:t,timestamp:Date.now()}),this.errorLog.length>this.maxLogEntries&&(this.errorLog=this.errorLog.slice(this.errorLog.length-this.maxLogEntries)),i){const e=this.formatErrorForUser(n,t);new obsidian_module.Notice(e,a||this.errorNoticeTimeout)}}safeEval(e,t,i,a){try{return i.eval.call(i,e)}catch(e){if(this.handleError(e,`SafeEval in ${t}`),void 0!==a)return a;throw e}}wrapWithTryCatch(e,t,i){try{return e()}catch(e){if(this.handleError(e,t),void 0!==i)return i;throw e}}formatErrorForUser(e,t){let i=e.message;return i.includes("Cannot read properties of undefined")?i="A required object was not available. This might be due to a plugin loading issue.":i.includes("is not a function")?i="A required function was not available. This might be due to a plugin version mismatch.":i.length>100&&(i=i.substring(0,100)+"..."),`Excalidraw Error: ${i} (in ${t})`}getErrorLog(){return[...this.errorLog]}clearErrorLog(){this.errorLog=[]}}const errorHandler=ErrorHandler.getInstance();let EXCALIDRAW_PLUGIN=null;const setExcalidrawPlugin=e=>{EXCALIDRAW_PLUGIN=e},THEME={LIGHT:"light",DARK:"dark"},MD_EXCALIDRAW="# Excalidraw Data",MD_TEXTELEMENTS="## Text Elements",MD_ELEMENTLINKS="## Element Links",MD_EMBEDFILES="## Embedded Files",MD_DRAWING="## Drawing",MD_EX_SECTIONS=[MD_EXCALIDRAW,MD_TEXTELEMENTS,MD_ELEMENTLINKS,MD_EMBEDFILES,MD_DRAWING],ERROR_IFRAME_CONVERSION_CANCELED="iframe conversion canceled",LOCALE=localStorage.getItem("language")?.toLowerCase()||"en",CJK_FONTS="CJK Fonts",obsidianToExcalidrawMap={en:"en-US",af:"af-ZA",am:"am-ET",ar:"ar-SA",eu:"eu-ES",be:"be-BY",bg:"bg-BG",bn:"bn-BD",ca:"ca-ES",cs:"cs-CZ",da:"da-DK",de:"de-DE",el:"el-GR",eo:"eo-EO",es:"es-ES",fa:"fa-IR","fi-fi":"fi-FI",fr:"fr-FR",gl:"gl-ES",he:"he-IL",hi:"hi-IN",hu:"hu-HU",id:"id-ID",it:"it-IT",ja:"ja-JP",ko:"ko-KR",lv:"lv-LV",ml:"ml-IN",ms:"ms-MY",nl:"nl-NL",no:"nb-NO",oc:"oc-FR",pl:"pl-PL",pt:"pt-PT","pt-BR":"pt-BR",ro:"ro-RO",ru:"ru-RU",sr:"sr-RS",se:"sv-SE",sk:"sk-SK",sq:"sq-AL",ta:"ta-IN",te:"te-IN",th:"th-TH",tr:"tr-TR",uk:"uk-UA",ur:"ur-PK",vi:"vi-VN",zh:"zh-CN","zh-tw":"zh-TW"};let{sceneCoordsToViewportCoords:sceneCoordsToViewportCoords,viewportCoordsToSceneCoords:viewportCoordsToSceneCoords,intersectElementWithLine:intersectElementWithLine,getCommonBoundingBox:getCommonBoundingBox,getMaximumGroups:getMaximumGroups,measureText:measureText,getLineHeight:getLineHeight,wrapText:wrapText,getFontString:getFontString,getBoundTextMaxWidth:getBoundTextMaxWidth,exportToSvg:exportToSvg,exportToBlob:exportToBlob,mutateElement:mutateElement,restoreElements:restoreElements,mermaidToExcalidraw:mermaidToExcalidraw,getFontFamilyString:getFontFamilyString,getContainerElement:getContainerElement,refreshTextDimensions:refreshTextDimensions,getCSSFontDefinition:getCSSFontDefinition,loadSceneFonts:loadSceneFonts,loadMermaid:loadMermaid,syncInvalidIndices:syncInvalidIndices,getDefaultColorPalette:getDefaultColorPalette}=excalidrawLib;function updatLine truncated
const loadMathjaxToSVG = () => new Function(`${LZString.decompressFromBase64("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 truncated
const PLUGIN_LANGUAGES = {"ru": "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 truncated
const PLUGIN_VERSION="2.23.3";function _interopNamespaceDefault(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(i){if("default"!==i){var a=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,a.get?a:{enumerable:!0,get:function(){return e[i]}})}}),t.default=e,Object.freeze(t)}var obsidian_module__namespace=_interopNamespaceDefault(obsidian_module),React__namespace=_interopNamespaceDefault(React);let random$3=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,t,i)=>{let a=(2<<Math.log(e.length-1)/Math.LN2)-1,n=-~(1.6*a*t/e.length);return(s=t)=>{let r="";for(;;){let t=i(n),o=n;for(;o--;)if(r+=e[t[o]&a]||"",r.length===s)return r}}},customAlphabet=(e,t=21)=>customRandom(e,t,random$3),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_"),"");class ErrorHandler{static instance;errorLog=[];errorNoticeTimeout=1e4;maxLogEntries=100;constructor(){}static getInstance(){return ErrorHandler.instance||(ErrorHandler.instance=new ErrorHandler),ErrorHandler.instance}handleError(e,t,i=!0,a){const n="string"==typeof e?new Error(e):e;if(console.error(`[Excalidraw Error] in ${t}:`,n),this.errorLog.push({error:n,context:t,timestamp:Date.now()}),this.errorLog.length>this.maxLogEntries&&(this.errorLog=this.errorLog.slice(this.errorLog.length-this.maxLogEntries)),i){const e=this.formatErrorForUser(n,t);new obsidian_module.Notice(e,a||this.errorNoticeTimeout)}}safeEval(e,t,i,a){try{return i.eval.call(i,e)}catch(e){if(this.handleError(e,`SafeEval in ${t}`),void 0!==a)return a;throw e}}wrapWithTryCatch(e,t,i){try{return e()}catch(e){if(this.handleError(e,t),void 0!==i)return i;throw e}}formatErrorForUser(e,t){let i=e.message;return i.includes("Cannot read properties of undefined")?i="A required object was not available. This might be due to a plugin loading issue.":i.includes("is not a function")?i="A required function was not available. This might be due to a plugin version mismatch.":i.length>100&&(i=`${i.substring(0,100)}...`),`Excalidraw Error: ${i} (in ${t})`}getErrorLog(){return[...this.errorLog]}clearErrorLog(){this.errorLog=[]}}const errorHandler=ErrorHandler.getInstance(),UrlPurpose={AI_API:"AI API Endpoint (User Opt-in)",TASKBONE:"Taskbone OCR Endpoint",SUPPORT:"Support link, contact, or Ko-Fi button",DOCS:"Background information in Settings or Code Suggester",RELEASE_LOG:"Referencing issues, changes, or contributors in release log",VIDEO:"Supporting video tutorial or thumbnail",APP_LOGIC:"Internal application logic (embeddables, UI renders, asset fetching)",TRANSLATION:"One-time support message translation"};function buildSafeUrl(e,t=[]){return`https://${e.join(".")}${t.length>0?`/${t.join("/")}`:""}`}const defineUrl=(e,t)=>({url:e,purpose:t}),URL_REGISTRY={RAW_GITHUBUSERCONTENT_COM_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_MASTER_EA_SCRIPTS_DIRECTORY_INFO_JSON:defineUrl(buildSafeUrl(["raw","githubusercontent","com"],["zsviczian","obsidian-excalidraw-plugin","master","ea-scripts","directory-info.json"]),UrlPurpose.APP_LOGIC),API_GITHUB_COM_REPOS_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_RELEASES:defineUrl(buildSafeUrl(["api","github","com"],["repos","zsviczian","obsidian-excalidraw-plugin","releases?per_page=15&page=1"]),UrlPurpose.APP_LOGIC),GITHUB_COM_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_ISSUES:defineUrl(buildSafeUrl(["github","com"],["zsviczian","obsidian-excalidraw-plugin","issues"]),UrlPurpose.DOCS),API_OPENAI_COM_V1:defineUrl(buildSafeUrl(["api","openai","com"],["v1"]),UrlPurpose.AI_API),API_ANTHROPIC_COM_V1:defineUrl(buildSafeUrl(["api","anthropic","com"],["v1"]),UrlPurpose.AI_API),GENERATIVELANGUAGE_GOOGLEAPIS_COM_V1BETA:defineUrl(buildSafeUrl(["generativelanguage","googleapis","com"],["v1beta"]),UrlPurpose.AI_API),API_X_AI_V1:defineUrl(buildSafeUrl(["api","x","ai"],["v1"]),UrlPurpose.AI_API),API_OPENAI_COM_V1_CHAT_COMPLETIONS:defineUrl(buildSafeUrl(["api","openai","com"],["v1","chat","completions"]),UrlPurpose.AI_API),API_OPENAI_COM_V1_IMAGES_GENERATIONS:defineUrl(buildSafeUrl(["api","openai","com"],["v1","images","generations"]),UrlPurpose.AI_API),API_OPENAI_COM_V1_IMAGES_EDITS:defineUrl(buildSafeUrl(["api","openai","com"],["v1","images","edits"]),UrlPurpose.AI_API),API_OPENAI_COM_V1_IMAGES_VARIATIONS:defineUrl(buildSafeUrl(["api","openai","com"],["v1","images","variations"]),UrlPurpose.AI_API),NOTEBOOKLM_GOOGLE_COM_NOTEBOOK_42D76A2F_C11D_4002_9286_1683C43D0AB0:defineUrl(buildSafeUrl(["notebooklm","google","com"],["notebook","42d76a2f-c11d-4002-9286-1683c43d0ab0"]),UrlPurpose.DOCS),COMMUNITY_SKETCH_YOUR_MIND_COM_EM:defineUrl(buildSafeUrl(["community","sketch-your-mind","com"],["em"]),UrlPurpose.SUPPORT),KO_FI_COM_ZSOLT:defineUrl(buildSafeUrl(["ko-fi","com"],["zsolt"]),UrlPurpose.SUPPORT),CDN_KO_FI_COM_CDN_KOFI3_PNG:defineUrl(buildSafeUrl(["cdn","ko-fi","com"],["cdn","kofi3.png?v=3"]),UrlPurpose.SUPPORT),COMMUNITY_SKETCH_YOUR_MIND_COM_WIKI:defineUrl(buildSafeUrl(["community","sketchLine truncated
/* nosourcemap */