vault backup: 2026-09-29 23:28:16

This commit is contained in:
ben committed 2026-09-29 23:28:16 -07:00
1 parent c82807bc68
commit ffa27be971
19 files changed
+4324 -1982

No files matched your search

+44 -5
View File
@@ -1,14 +1,23 @@
{
"showTabTitlebarButtons": true,
"copyLinkToElemenetAnchorTo100": false,
"copyFrameLinkByName": false,
"disableDoubleClickTextEditing": false,
"phoneFooterSafeAreaPadding": false,
"tabletFooterSafeAreaPadding": false,
"folder": "Excalidraw",
"libraryFolderPath": "Excalidraw/Libraries",
"libraryFileName": "local-library",
"libraryStorageMode": "data-json",
"libraryMigrationStatus": "pending",
"libraryMigrationSnoozeUntil": 0,
"cropFolder": "",
"annotateFolder": "",
"embedUseExcalidrawFolder": false,
"templateFilePath": "Excalidraw/Template.excalidraw",
"scriptFolderPath": "Excalidraw/Scripts",
"allowJavaScriptFiles": false,
"storeScriptFilesAsJavaScript": false,
"fontAssetsPath": "Excalidraw/CJK Fonts",
"loadChineseFonts": false,
"loadJapaneseFonts": false,
@@ -16,8 +25,6 @@
"compress": true,
"decompressForMDView": false,
"onceOffCompressFlagReset": true,
"onceOffGPTVersionReset": true,
"autosave": true,
"autosaveIntervalDesktop": 60000,
"autosaveIntervalMobile": 30000,
"drawingFilenamePrefix": "Drawing ",
@@ -55,7 +62,6 @@
"penModeDoubleTapEraser": true,
"penModeSingleFingerPanning": true,
"penModeCrosshairVisible": true,
"panWithRightMouseButton": false,
"renderImageInMarkdownReadingMode": false,
"renderImageInHoverPreviewForMDNotes": false,
"renderImageInMarkdownToPDF": false,
@@ -85,7 +91,7 @@
"pageTransclusionCharLimit": 200,
"wordWrappingDefault": 0,
"removeTransclusionQuoteSigns": true,
"iframelyAllowed": true,
"oEmbedAllowed": false,
"pngExportScale": 1,
"exportWithTheme": true,
"exportWithBackground": false,
@@ -99,6 +105,7 @@
"embedType": "excalidraw",
"embedMarkdownCommentLinks": true,
"embedWikiLink": true,
"embedPlaceholderImage": true,
"syncExcalidraw": false,
"experimentalFileType": false,
"experimentalFileTag": "✏️",
@@ -111,6 +118,7 @@
"zoteroCompatibility": false,
"fieldSuggester": true,
"enableOnloadScripts": false,
"enableCommandLinks": false,
"compatibilityMode": false,
"drawingOpenCount": 0,
"library": "deprecated",
@@ -6807,9 +6815,36 @@
"mdFontColor": "Black",
"mdBorderColor": "Black",
"mdCSS": "",
"markdownImageSettings": {
"defaults": {
"width": 500,
"paddingBottom": 10,
"fontFamily": "Virgil",
"fontColor": "Black",
"border": {
"enabled": false,
"color": "Black"
},
"css": "",
"transclusion": {
"enabled": false,
"fontFamily": "Cascadia",
"fontColor": "Black",
"border": {
"enabled": false,
"color": "Black"
},
"css": ""
}
}
},
"markdownImageDeletionPreference": "ask",
"scriptEngineSettings": {},
"previousRelease": "2.23.3",
"autostartScripts": {},
"autostartScriptFailures": {},
"previousRelease": "2.28.1",
"showReleaseNotes": true,
"useDeclarativeSettings": true,
"excalidrawMasteryPromoCollapsed": false,
"compareManifestToPluginVersion": true,
"showNewVersionNotification": true,
@@ -7340,6 +7375,7 @@
}
},
"aiDefaultTextModel": "gpt-5-mini",
"aiDefaultMultimodalModel": "gpt-5-mini",
"aiDefaultImageGenerationModel": "gpt-image-1",
"aiDefaultMaxOutgoingTokens": 0,
"aiDefaultMaxResponseTokens": 4096,
@@ -7664,5 +7700,8 @@
"margin": "normal"
},
"disableContextMenu": false,
"onceOffGPTVersionReset": true,
"autosave": true,
"panWithRightMouseButton": false,
"isDebugMode": false
}
+34 -7
View File
@@ -1,10 +1,37 @@
"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
let {react, reactDOM } = new Function(`${REACT_PACKAGES}; return {react: React, reactDOM: ReactDOM};`)();
"use strict";var obsidian_module=require("obsidian"),commands=require("@codemirror/commands"),lr=require("@lezer/lr"),highlight=require("@lezer/highlight"),language=require("@codemirror/language"),common=require("@lezer/common"),state=require("@codemirror/state"),view=require("@codemirror/view");;const INITIAL_TIMESTAMP=Date.now();
const pako = (function() {
const module = { exports: {} };
const exports = module.exports;
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).pako={})}(this,(function(e){"use strict";var t=(e,t,i,n)=>{let a=65535&e|0,r=e>>>16&65535|0,o=0;for(;0!==i;){o=i>2e3?2e3:i,i-=o;do{a=a+t[n++]|0,r=r+a|0}while(--o);a%=65521,r%=65521}return a|r<<16|0};const i=new Uint32Array((()=>{let e,t=[];for(var i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t})());var n=(e,t,n,a)=>{const r=i,o=a+n;e^=-1;for(let i=a;i<o;i++)e=e>>>8^r[255&(e^t[i])];return-1^e};const a=16209;var r=function(e,t){let i,n,r,o,s,l,d,f,c,h,u,w,b,m,k,_,g,p,v,x,y,E,R,A;const Z=e.state;i=e.next_in,R=e.input,n=i+(e.avail_in-5),r=e.next_out,A=e.output,o=r-(t-e.avail_out),s=r+(e.avail_out-257),l=Z.dmax,d=Z.wsize,f=Z.whave,c=Z.wnext,h=Z.window,u=Z.hold,w=Z.bits,b=Z.lencode,m=Z.distcode,k=(1<<Z.lenbits)-1,_=(1<<Z.distbits)-1;e:do{w<15&&(u+=R[i++]<<w,w+=8,u+=R[i++]<<w,w+=8),g=b[u&k];t:for(;;){if(p=g>>>24,u>>>=p,w-=p,p=g>>>16&255,0===p)A[r++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=b[(65535&g)+(u&(1<<p)-1)];continue t}if(32&p){Z.mode=16191;break e}e.msg="invalid literal/length code",Z.mode=a;break e}v=65535&g,p&=15,p&&(w<p&&(u+=R[i++]<<w,w+=8),v+=u&(1<<p)-1,u>>>=p,w-=p),w<15&&(u+=R[i++]<<w,w+=8,u+=R[i++]<<w,w+=8),g=m[u&_];i:for(;;){if(p=g>>>24,u>>>=p,w-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=m[(65535&g)+(u&(1<<p)-1)];continue i}e.msg="invalid distance code",Z.mode=a;break e}if(x=65535&g,p&=15,w<p&&(u+=R[i++]<<w,w+=8,w<p&&(u+=R[i++]<<w,w+=8)),x+=u&(1<<p)-1,x>l){e.msg="invalid distance too far back",Z.mode=a;break e}if(u>>>=p,w-=p,p=r-o,x>p){if(p=x-p,p>f&&Z.sane){e.msg="invalid distance too far back",Z.mode=a;break e}if(y=0,E=h,0===c){if(y+=d-p,p<v){v-=p;do{A[r++]=h[y++]}while(--p);y=r-x,E=A}}else if(c<p){if(y+=d+c-p,p-=c,p<v){v-=p;do{A[r++]=h[y++]}while(--p);if(y=0,c<v){p=c,v-=p;do{A[r++]=h[y++]}while(--p);y=r-x,E=A}}}else if(y+=c-p,p<v){v-=p;do{A[r++]=h[y++]}while(--p);y=r-x,E=A}for(;v>2;)A[r++]=E[y++],A[r++]=E[y++],A[r++]=E[y++],v-=3;v&&(A[r++]=E[y++],v>1&&(A[r++]=E[y++]))}else{y=r-x;do{A[r++]=A[y++],A[r++]=A[y++],A[r++]=A[y++],v-=3}while(v>2);v&&(A[r++]=A[y++],v>1&&(A[r++]=A[y++]))}break}}break}}while(i<n&&r<s);v=w>>3,i-=v,w-=v<<3,u&=(1<<w)-1,e.next_in=i,e.next_out=r,e.avail_in=i<n?n-i+5:5-(i-n),e.avail_out=r<s?s-r+257:257-(r-s),Z.hold=u,Z.bits=w};const o=15,s=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),l=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),d=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),f=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var c=(e,t,i,n,a,r,c,h)=>{const u=h.bits;let w,b,m,k,_,g,p=0,v=0,x=0,y=0,E=0,R=0,A=0,Z=0,S=0,T=0,O=null;const U=new Uint16Array(16),D=new Uint16Array(16);let I,B,N,C=null;for(p=0;p<=o;p++)U[p]=0;for(v=0;v<n;v++)U[t[i+v]]++;for(E=u,y=o;y>=1&&0===U[y];y--);if(E>y&&(E=y),0===y)return a[r++]=20971520,a[r++]=20971520,h.bits=1,0;for(x=1;x<y&&0===U[x];x++);for(E<x&&(E=x),Z=1,p=1;p<=o;p++)if(Z<<=1,Z-=U[p],Z<0)return-1;if(Z>0&&(0===e||1!==y))return-1;for(D[1]=0,p=1;p<o;p++)D[p+1]=D[p]+U[p];for(v=0;v<n;v++)0!==t[i+v]&&(c[D[t[i+v]]++]=v);if(0===e?(O=C=c,g=20):1===e?(O=s,C=l,g=257):(O=d,C=f,g=0),T=0,v=0,p=x,_=r,R=E,A=0,m=-1,S=1<<E,k=S-1,1===e&&S>852||2===e&&S>592)return 1;for(;;){I=p-A,c[v]+1<g?(B=0,N=c[v]):c[v]>=g?(B=C[c[v]-g],N=O[c[v]-g]):(B=96,N=0),w=1<<p-A,b=1<<R,x=b;do{b-=w,a[_+(T>>A)+b]=I<<24|B<<16|N|0}while(0!==b);for(w=1<<p-1;T&w;)w>>=1;if(0!==w?(T&=w-1,T+=w):T=0,v++,0==--U[p]){if(p===y)break;p=t[i+c[v]]}if(p>E&&(T&k)!==m){for(0===A&&(A=E),_+=x,R=p-A,Z=1<<R;R+A<y&&(Z-=U[R+A],!(Z<=0));)R++,Z<<=1;if(S+=1<<R,1===e&&S>852||2===e&&S>592)return 1;m=T&k,a[m]=E<<24|R<<16|_-r|0}}return 0!==T&&(a[_+T]=p-A<<24|64<<16|0),h.bits=E,0},h={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{Z_FINISH:u,Z_BLOCK:w,Z_TREES:b,Z_OK:m,Z_STREAM_END:k,Z_NEED_DICT:_,Z_STREAM_ERROR:g,Z_DATA_ERROR:p,Z_MEM_ERROR:v,Z_BUF_ERROR:x,Z_DEFLATED:y}=h,E=16180,R=16190,A=16191,Z=16192,S=16194,T=16199,O=16200,U=16206,D=16209,I=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function B(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,thLine truncated
return module.exports;
})();
const unpackBase64Deflate = (b64) => {
const binStr = atob(b64);
const len = binStr.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) bytes[i] = binStr.charCodeAt(i);
return new TextDecoder().decode(pako.inflate(bytes));
};
window.unpackBase64Deflate = unpackBase64Deflate;
let REACT_PACKAGES = unpackBase64Deflate("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 Line truncated
const unpackExcalidraw = () => unpackBase64Deflate("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 Line truncated
const evaluateRuntimeInstructions = (win, instruction) => win.eval.call(win, instruction);
const reactRuntimeInstructions = `(function() {${REACT_PACKAGES}; return {React, ReactDOM, ReactJSXRuntime, ReactJSXDevRuntime};})()`;
let {React, ReactDOM, ReactJSXRuntime, ReactJSXDevRuntime} = evaluateRuntimeInstructions(window, reactRuntimeInstructions);
REACT_PACKAGES = "";
let react = React;
let 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.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
const PLUGIN_LANGUAGES = {"ru": "eNrsvet2W9eVJvr3jIzzENtIZVCKQEhOVdKnWbIyIBAiUQIBFABKli8NURIss02RapKKnXY0hijakV1yJFvldLkd31NVqR7pdEMQIYE3aIw8wcYr9AucfoRT87LWmuuyN0BaqVRO149KyRL2uq+55uWb33zrhbcbxWazVJlptKbzzXyrVDmXL5empzLFty4vLC1eWV14M4oH8eO4H2/Fnbg3vB3FO/FgeGt4K+7FO8Pb8f7wbrwdDd+JO/F2vBtdWVhfyP3HtZXlXBR/Ej+J9+JevI//1x/ej+L9uDPcGN4e3ooH8D38RS+KHw43463h5vB2NNyIB8N3h7fiDn01vJuN4qfxIN6JO6YT8RUNqRsPhhvQMH43iLvxLnwdxf14N+5HcXd4lz96Gvdw6E/iTvx0uInf9Ie3415UvbS2eGVxYTmCD/C33eHd+CH9Hn8x3IgfwsiHG95EcpmsvZD1Yi1fqhenW2fq1bnWXHGuWr8wlYm/jAfx7nBzeIeGp0YwiLf1WPfj3vAOjqkT9+I9e3m9BTT7RAs1/AU2tzfchH3bh1W6C98NhrfjnXgX/m74Ubyfi+IPcfv6cRe3sGc3vR3vwFhwleL+cAPWFdZwgCvQgX2PB1G8Fe/CriYsP265ORD+EhWq54r14vRUJv57np84dvpDPQdeLblS8RZ2fXu4CTsL86UhDe/AjtEQchEs+3ADB7UV7w/vw5hhUk/xoHVx5jiN3vDWcCPhpCZNshNBG7TquDJ92N3hBqygnDNP90JrrtRolCozrWapWS6KuafsLe7fcAOuCI6gO9yEM5nW+nSxUZjKxJ/DveEzEdH60QZTO7DvPfzLD+j4jFwlvj1wK/TC7cQDPCb+suWi+IG3bnTf4t7wI7WV5mYNP8B/lFPfoXPYjQfxFi1rvOef1k68Bxs9vKXO7c7w1vAunvC+WoFH8QAlDB7j941UGi1JYBXTJh7c6EK1Xp+vNQ+20SDsutjX43gLrmpay7zJuuFD3pBsNGp+ES1B+kEKntFcFH/9LDZXz2nAu9Pl1oxsfAgTgN9Zz068LZ4QZ387uL8gAzss44OvmxBFfehha3hruAmnCU8UXBJYl+Ed7G4n7hz2IMqFEWfyMby9dEWhPZzbcFNPPO4ET1+92GhW68XW6Xzh7HxtKhO+iNCo2uV7Cc0U4aCdyc+Xm42pjNlN9bn3boSaOZ8vNVtnqvXWmRLehf9i5pR05WzNIpMtVCvnivVma75ebjWrqqGvhcLAA4IDwA9V/JgPQY+2br5ejuJuhA8hHKvd4QdeP/OVl0q1VmG+Xi9Wmqqbr2CS8VPYThwijR2v0M5wc/g+nDNzFM1GZrK1+dPlUmO21Tg30yrMFgtnpzJa1ajduLS0uPb6FL5QKGx3+G7FHTyD3eF7cX/4bjT8RbyD/cPhhCfmFo2Clmn4btQ4NwOKS60yM6nPxSDuZrLFudPF6en86XKxVatXa8V6s1SkbeyK2ws3gzexo+4D6B7UNewHnbrbXqP1YjnfLJ0rtl6qVuemMvFneBrew918aA20r3Uq3i4a+QE6Btk1iJ4/ceJ7pNDsq2MY92gn4VqZLenR9dyzRtSJhu+iEoaLnMlWa8VKqzSXnym2GtX5egE2+wtQlujWwibfQb0A2n1s7Sx+mm+0ii8WQGmu58973+Ih2wHZCkJiE8/3jtVIszozUy625qrTRdQPST3diXeH90hLpHXb4wdhM+K3oQ/zivfiviU1+tHcwuobV1beXDb3pVJtFuHCWMP8FDRB1njEebKkDM5kE+7L8B04eKzf9HQf8E+i9+nVhTcXl6+anq0ev8SBq3v5xDoW8shG38+1xYy6+h+Hd6Pv565dyWQL9WK+WWxViufp/sdPjDBBAUIXWmybGRJc59bZYrHWKr7YnMpYfb1wyuqb+pLf1Yu1cr5QTPr02pXoCEr1Lq4emhbxHj+/H0TDjai8cnWt/Z+OZrLT1fOVcjU/3SqXTtfzaBr8Tt5weMz68UN8nAZ0pOH1wGsC68E2Cd4Js0LW8JcWL2Wy3HxrrjRTzzdL1YpWRtRJ21cjDXQ53LQOVzcykhZ+Blcs1AVpJfLLPbQh4TFzZXWoT5gU/NeWudagc6gz0vOHgQ+7WvOBZYT+Dv+G2mIL1jUy6QhuKJHFffbiHuguJEmURjO8h6K+5wgnMI2MEYuH/G9Q9eorMxZ23xV+oNS4D9GevAt7f2kffmtzcT/YdHxMpi0YazswuNv4Tj22bWu81o9QdXlMgwLtXNu4pJX//rf4FD2Bn/x+N0tqIswHZiCFIioynhIDPYKMJqWOzmsudEYaFyqF1vl8vVKqzExl4o9JJ92ABcOtGWBrT+LO8OekOEkJEbwccVdLTT2Vr732HEnXHW6Q5kq7r3YBl7AfPx3e/f0uHkdPIR2+axwGjZ8uXw5OEuUM2rp/1ahW8HFg3VUd/645q6EGyvlmsc5uA9yS0I/oT+Pf6eB2zBcKxQboBR95S9tx7BPRhzKAQ5IhuCJn8qUyGvyfwxpvolNpl0wDp+nE4YNjabiBj/iWslMeBgYtlPZ9Vv+EWSBPJcv2/HSrWK9X60mjQ62XPTN0B4Tl4Z3HqejtWr45e9N0A+o4qBmV/Bxs1j+4CxZsxv/ctvngXgakIYu74b2DiLuscgHsoIL0AQnj0NriutMO9NHcQ+8JLLN097gjPwcmBB5TElSd0NCPsP4z4M3aIjMS+jgaWAxzucR+P0VR/wilL7ToatS9uCfaOlMtTxfralvM4NK3g7/i3RBfsU/MEuwkpYNSq+/JZdaLpcTLRWK//XYi1DN6tNu3SN1FSad22345clH8Gy3VQRaRoYmmEyrkfNjJKmej1lHSlPDLBuXulzz5J8O7rqxVgtVqbgwp695X3q5P4j14OLQpPO7CO63xNnJrt/Dt7pCDFDemhyoMmu0H7ioXkfXo7Am8k2CPgL07vK/OeLoz0RaoxValen58VQ7F9fbwDowl2JQ5zG576NZx1CD433BH4iZ2XWeXa9YHRICYJ0hQ5dEEFRndLLfJz0UqtZkSiXl3pOzVC79PbEjQVfZtCVao4MW0ftkqVCtnSvW5lC+ik5dOkfw/efzSqR+7DVSK54r11lypop5C9EVtxQP3hxfQVv8YDFX7H8yDLaTphhoNNGceIPvLtCfYtODMJ6kx3KBSQ3lJPgcBi02Qxr+vVMRwm/DcRDJigfsK5w1FYXgz1ckxQ0I7vPhiqQE+JzALW7V8JWDHbwR1edtSjCaj+EEUfx5/ET+Iv4j/K3hmPow/j38Z/yr+xO0qX0DPx7fu7Zv4l/Gn8a/j/xb/Enr8MP40/ib+JH6Aw3CH0KznK41CeR79BQ8chdI2es1PW3PVRhO8ccVK0/oMnyzL8a/cJgO8s5YgND4nJQyNX2MHzig7M8rFM83ZfGW6OJ3k12D1d5fOC/tPSUvfp1XSXg7daqNWzjdmG4V6sVhhndh7Y56QsKGpsSnJLgF4UsXqwOOSyZ4pl2rk/fE38B0cDrkT9hwXDlqktj0H4i3oexzej9rC4QPns1SRxzTZhWG7jeiwfB1/EX8d/zL+GI/EZ1H8Rfwp/NFquZk/feCGxZn/Jv4w/giOW/yPomH7uB+scXnEP3OPeGAStWqtOt9snS9VpqvnD9zbF/E38afxV/Fv4wfxh/H/oF7jr+P/GV4tmFELfZqyJ/VO77Mm5B/4ETsC/9xn/6a5bN1IXSgOvW6TKrAz3FTuBHcr/bGlObtGbKc3Km2Kjj8ucRLGGNu3OA/PYrDWUTrkcEcfqG81UiU3qxAdSHQCs4JFgAF9Im0veSfVVZwo0EFI1fPnoyMqiKZk2ENGDvSPYnihXjxXKsLPnnIMaI/eCXBpFstFUAxIE/g16xVqFcaSlPTXu8LdI1zNEL7RLhdfawRXbe1Cq1guzkHYplyqnMVdVsEt6fZ5+WUMON2Nd2EbXn3VABmcYYYW+Ag0dJS7A982aAKp3T1n9xexz0Q+VGYMMkLovK6lSgNc0dAX+vNpqlMX0Zn/1Iu1yF7jzgFniQf34XBz+A4cRjwPbJB3ctGfvb20cKm9VGjWy0eO3jxWKJcKZ3XrO/5g0LWnh9KPJq6urty4/sKEbqkxWzrTPFxTC6vthRcmchcTVqc1U69i9FNszXAz3kZLVY3D3qFnulZJu9bK14v5xBPDs/pjjOtMnQzrhIG9trpwrf1HHFmrUC7VaizBgyO8vLR4/Xr7yh9xoJVqfS5fHkv6/MsMSLk1ydk/wO+c+EpSX8ON4c/JFZDYOnhOIYD1tZlUFP8tPpmggXyI76JEoey700AXvJmI1VPIyPGEqQne85eF6txcHq1r92N2LXbItShQf10M1pK7hREtUtLoppW14DWc/qAlRYAZUgKH4z02vUKPW2muVq03AURAbiodKGycExF/Wlf26EUQ88Z+30WXnejzCAJittDvdyt+jFuGCIIBOCJZ0pLi0clGzeKLTenKiQfD+xjwwXj+LQzY39f4StmuRtaw+9bMAnwo0O5csTI/IjiMA+vK2fSjSYyn+aPtD++DoqM3a27as3bFYl2zlIvgsnMz+fpZCNkmbn6iy9AEyyfDBySTLU6XAj18FdLUsK+RDdpttRrFcrHgCgET8RvRHN5eAqWRjc7oPfirp4hrQgeZ0ydHmQ86VF7utDCMq2AftIt8rVbM1/MVBnooYMNu4gfnS9PN2alM/E+4DX0SUKHfKPep+CG5Vm4z+EzCJnR0uD/8Ofq5bVSK0/7parNZnWvV8tPT5An9PO6jew1cJYy7Q9k64ks1xI/xWRrEuxSIF+9ATwW6FCZnn6XhgO+2cgz1GelgYtnW9J5C0ADds7vD++BpccZ1poqOqH/Clt4BGyjwg1ahWsaD8I+IVLkNMoB/H1ykOrlxv0JrZyfxJ36zt/iLvvdFAXyshUYj9A+8moVGgwLxGDIzsGihyaceUkQoh9RTFHz7uNPmGj Line truncated
const getCaretRangeFromPoint = (doc, x, y) => doc.caretRangeFromPoint?.(x, y);
const mainDocument = document;
const deliberateFetch = async (payload, init) => await fetch(payload, init);
const PLUGIN_VERSION="2.28.1";
const STARTUP_SCRIPT_BASE64="LyoKI2V4Y2x1ZGUKYGBganMqLwovKioKICogU3RhcnR1cCBzY3JpcHRzIHJlY2VpdmUgdGhlIHBsdWdpbi1nbG9iYWwgRUEgZm9yIHRoZSBwbHVnaW4gbGlmZXRpbWUgYW5kCiAqIHV0aWxzLmV4ZWN1dGlvblNvdXJjZSA9PT0gInBsdWdpbi1zdGFydHVwIi4gUmVnaXN0ZXIgY2xlYW51cCBmb3IgcmVzb3VyY2VzCiAqIG91dHNpZGUgRUEgc28gcGx1Z2luIHJlbG9hZC91bmxvYWQgY2Fubm90IGFjY3VtdWxhdGUgdGhlbS4KICovCi8vIGNvbnN0IHJlZiA9IGFwcC53b3Jrc3BhY2Uub24oImZpbGUtb3BlbiIsIChmaWxlKSA9PiB7fSk7Ci8vIGVhLnJlZ2lzdGVyQ2xlYW51cCgoKSA9PiBhcHAud29ya3NwYWNlLm9mZnJlZihyZWYpKTsKLy8KLy8gY29uc3QgaW50ZXJ2YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge30sIDEwMDApOwovLyBlYS5yZWdpc3RlckNsZWFudXAoKCkgPT4gd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpKTsKCi8qKgogKiBJZiBzZXQsIHRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHVzZXIgY2xvc2VzIGFuIEV4Y2FsaWRyYXcgdmlldy4KICogICBvblZpZXdVbmxvYWRIb29rOiAodmlldzogRXhjYWxpZHJhd1ZpZXcpID0+IHZvaWQgPSBudWxsOwogKi8KLy9lYS5vblZpZXdVbmxvYWRIb29rID0gKHZpZXcpID0+IHt9OwoKLyoqCiAqIElmIHNldCwgdGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQsIHdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgdmlldyBtb2RlLgogKiBZb3UgY2FuIHVzZSB0aGlzIGNhbGxiYWNrIGluIGNhc2UgeW91IHdhbnQgdG8gZG8gc29tZXRoaW5nIGFkZGl0aW9uYWwgd2hlbiB0aGUgdXNlciBzd2l0Y2hlcyB0byB2aWV3IG1vZGUgYW5kIGJhY2suCiAqICAgb25WaWV3TW9kZUNoYW5nZUhvb2s6IChpc1ZpZXdNb2RlRW5hYmxlZDpib29sZWFuLCB2aWV3OiBFeGNhbGlkcmF3VmlldywgZWE6IEV4Y2FsaWRyYXdBdXRvbWF0ZSkgPT4gdm9pZCA9IG51bGw7CiAqLwovL2VhLm9uVmlld01vZGVDaGFuZ2VIb29rID0gKGlzVmlld01vZGVFbmFibGVkLCB2aWV3LCBlYSkgPT4ge307CgovKioKICogSWYgc2V0LCB0aGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCwgd2hlbiB0aGUgdXNlciBob3ZlcnMgYSBsaW5rIGluIHRoZSBzY2VuZS4KICogWW91IGNhbiB1c2UgdGhpcyBjYWxsYmFjayBpbiBjYXNlIHlvdSB3YW50IHRvIGRvIHNvbWV0aGluZyBhZGRpdGlvbmFsIHdoZW4gdGhlIG9uTGlua0hvdmVyIGV2ZW50IG9jY3Vycy4KICogVGhpcyBjYWxsYmFjayBtdXN0IHJldHVybiBhIGJvb2xlYW4gdmFsdWUuCiAqIEluIGNhc2UgeW91IHdhbnQgdG8gcHJldmVudCB0aGUgZXhjYWxpZHJhdyBvbkxpbmtIb3ZlciBhY3Rpb24geW91IG11c3QgcmV0dXJuIGZhbHNlLCBpdCB3aWxsIHN0b3AgdGhlIG5hdGl2ZSBleGNhbGlkcmF3IG9uTGlua0hvdmVyIG1hbmFnZW1lbnQgZmxvdy4KICogICBvbkxpbmtIb3Zlckhvb2s6ICgKICogICAgIGVsZW1lbnQ6IE5vbkRlbGV0ZWRFeGNhbGlkcmF3RWxlbWVudCwKICogICAgIGxpbmtUZXh0OiBzdHJpbmcsCiAqICAgICB2aWV3OiBFeGNhbGlkcmF3VmlldywKICogICAgIGVhOiBFeGNhbGlkcmF3QXV0b21hdGUKICogICApID0+IGJvb2xlYW4gPSBudWxsOwogKi8KLy9lYS5vbkxpbmtIb3Zlckhvb2sgPSAoZWxlbWVudCwgbGlua1RleHQsIHZpZXcsIGVhKSA9PiB7fTsKICAgCi8qKgogKiBJZiBzZXQsIHRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkLCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBhIGxpbmsgaW4gdGhlIHNjZW5lLgogKiBZb3UgY2FuIHVzZSB0aGlzIGNhbGxiYWNrIGluIGNhc2UgeW91IHdhbnQgdG8gZG8gc29tZXRoaW5nIGFkZGl0aW9uYWwgd2hlbiB0aGUgb25MaW5rQ2xpY2sgZXZlbnQgb2NjdXJzLgogKiBUaGlzIGNhbGxiYWNrIG11c3QgcmV0dXJuIGEgYm9vbGVhbiB2YWx1ZS4KICogSW4gY2FzZSB5b3Ugd2FudCB0byBwcmV2ZW50IHRoZSBleGNhbGlkcmF3IG9uTGlua0NsaWNrIGFjdGlvbiB5b3UgbXVzdCByZXR1cm4gZmFsc2UsIGl0IHdpbGwgc3RvcCB0aGUgbmF0aXZlIGV4Y2FsaWRyYXcgb25MaW5rQ2xpY2sgbWFuYWdlbWVudCBmbG93LgogKiAgIG9uTGlua0NsaWNrSG9vazooCiAqICAgICBlbGVtZW50OiBFeGNhbGlkcmF3RWxlbWVudCwKICogICAgIGxpbmtUZXh0OiBzdHJpbmcsCiAqICAgICBldmVudDogTW91c2VFdmVudCwKICogICAgIHZpZXc6IEV4Y2FsaWRyYXdWaWV3LAogKiAgICAgZWE6IEV4Y2FsaWRyYXdBdXRvbWF0ZQogKiAgICkgPT4gYm9vbGVhbiA9IG51bGw7CiAqLwovL2VhLm9uTGlua0NsaWNrSG9vayA9IChlbGVtZW50LGxpbmtUZXh0LGV2ZW50LCB2aWV3LCBlYSkgPT4ge307CiAgIAovKioKICogSWYgc2V0LCB0aGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCwgd2hlbiBFeGNhbGlkcmF3IHJlY2VpdmVzIGFuIG9uRHJvcCBldmVudC4gCiAqIFlvdSBjYW4gdXNlIHRoaXMgY2FsbGJhY2sgaW4gY2FzZSB5b3Ugd2FudCB0byBkbyBzb21ldGhpbmcgYWRkaXRpb25hbCB3aGVuIHRoZSBvbkRyb3AgZXZlbnQgb2NjdXJzLgogKiBUaGlzIGNhbGxiYWNrIG11c3QgcmV0dXJuIGEgYm9vbGVhbiB2YWx1ZS4KICogSW4gY2FzZSB5b3Ugd2FudCB0byBwcmV2ZW50IHRoZSBleGNhbGlkcmF3IG9uRHJvcCBhY3Rpb24geW91IG11c3QgcmV0dXJuIGZhbHNlLCBpdCB3aWxsIHN0b3AgdGhlIG5hdGl2ZSBleGNhbGlkcmF3IG9uRHJvcCBtYW5hZ2VtZW50IGZsb3cuCiAqICAgb25Ecm9wSG9vazogKGRhdGE6IHsKICogICAgIGVhOiBFeGNhbGlkcmF3QXV0b21hdGU7CiAqICAgICBldmVudDogUmVhY3QuRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PjsKICogICAgIGRyYWdnYWJsZTogYW55OyAvL09ic2lkaWFuIGRyYWdnYWJsZSBvYmplY3QKICogICAgIHR5cGU6ICJmaWxlIiB8ICJ0ZXh0IiB8ICJ1bmtub3duIjsKICogICAgIHBheWxvYWQ6IHsKICogICAgICAgZmlsZXM6IFRGaWxlW107IC8vVEZpbGVbXSBhcnJheSBvZiBkcm9wcGVkIGZpbGVzCiAqICAgICAgIHRleHQ6IHN0cmluZzsgLy9zdHJpbmcKICogICAgIH07CiAqICAgICBleGNhbGlkcmF3RmlsZTogVEZpbGU7IC8vdGhlIGZpbGUgcmVjZWl2aW5nIHRoZSBkcm9wIGV2ZW50CiAqICAgICB2aWV3OiBFeGNhbGlkcmF3VmlldzsgLy90aGUgZXhjYWxpZHJhdyB2aWV3IHJlY2VpdmluZyB0aGUgZHJvcAogKiAgICAgcG9pbnRlclBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07IC8vdGhlIHBvaW50ZXIgcG9zaXRpb24gb24gY2FudmFzIGF0IHRoZSB0aW1lIG9mIGRyb3AKICogICB9KSA9PiBib29sZWFuID0gbnVsbDsKICovCi8vZWEub25Ecm9wSG9vayA9IChkYXRhKSA9PiB7fTsKIAovKioKICogSWYgc2V0LCB0aGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCwgd2hlbiBFeGNhbGlkcmF3IHJlY2VpdmVzIGFuIG9uUGFzdGUgZXZlbnQuCiAqIFlvdSBjYW4gdXNlIHRoaXMgY2FsbGJhY2sgaW4gY2FzZSB5b3Ugd2FudCB0byBkbyBzb21ldGhpbmcgYWRkaXRpb25hbCB3aGVuIHRoZQogKiBvblBhc3RlIGV2ZW50IG9jY3Vycy4KICogVGhpcyBjYWxsYmFjayBtdXN0IHJldHVybiBhIGJvb2xlYW4gdmFsdWUuCiAqIEluIGNhc2UgeW91IHdhbnQgdG8gcHJldmVudCB0aGUgZXhjYWxpZHJhdyBvblBhc3RlIGFjdGlvbiB5b3UgbXVzdCByZXR1cm4gZmFsc2UsCiAqIGl0IHdpbGwgc3RvcCB0aGUgbmF0aXZlIGV4Y2FsaWRyYXcgb25QYXN0ZSBtYW5hZ2VtZW50IGLine truncated
const consoleLog = console["log"].bind(console);
const deliberateCreateElement = (doc, tagName) => doc.createElement(tagName);
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 urlAlphabet="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",random$3=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,t,i)=>{let a=256-256%e.length;if(256===a){let a=e.length-1;return(n=t)=>{if(!n)return"";let r="";for(;;){let t=i(n),s=n;for(;s--;)if(r+=e[t[s]&a],r.length>=n)return r}}}let n=Math.ceil(409.6*t/a);return(r=t)=>{if(!r)return"";let s="";for(;;){let t=i(n),o=n;for(;o--;)if(t[o]<a&&(s+=e[t[o]%e.length],s.length>=r))return s}}},customAlphabet=(e,t=21)=>customRandom(e,0|t,random$3),nanoid$1=(e=21)=>{let t="",i=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+=urlAlphabet[63&i[e]];return t};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"},PLUGIN_REPOSITORY_RAW_BASE_URL="https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master",PLUGIN_REPOSITORY_BLOB_BASE_URL="https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master",encodeRepositoryPath=e=>e.split("/").filter(Boolean).map(e=>encodeURIComponent(e)).join("/"),getPluginRepositoryRawUrl=e=>`${PLUGIN_REPOSITORY_RAW_BASE_URL}/${encodeRepositoryPath(e)}`,getPluginRepositoryBlobUrl=e=>`${PLUGIN_REPOSITORY_BLOB_BASE_URL}/${encodeRepositoryPath(e)}`,defineUrl=(e,t)=>({url:e,purpose:t}),URL_REGISTRY={RAW_GITHUBUSERCONTENT_COM_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_MASTER_EA_SCRIPTS_DIRECTORY_INFO_JSON:defineUrl("https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/directory-info.json",UrlPurpose.APP_LOGIC),RAW_GITHUBUSERCONTENT_COM_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_MASTER_EA_SCRIPTS_SCRIPT_STORE_JSON:defineUrl("https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/script-store.json",UrlPurpose.APP_LOGIC),GITHUB_COM_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_BLOB_MASTER_DOCS_EA_SCRIPTING_MD:defineUrl("https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/docs/ea-scripting.md",UrlPurpose.DOCS),RAW_GITHUBUSERCONTENT_COM_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_MASTER_IMAGE_BANNER_AUTOMATE_ANYTHING_PNG:defineUrl("https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/banner-automate-anything.png",UrlPurpose.APP_LOGIC),API_GITHUB_COM_REPOS_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_PLUGIN_RELEASES:defineUrl("https://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("https://github.com/zsviczian/obsidian-excalidraw-plugin/issues",UrlPurpose.DOCS),GITHUB_COM_ZSVICZIAN_OBSIDIAN_EXCALIDRAW_EXTRAS_ISSUES:defineUrl("https://github.com/zsviczian/obsidian-excalidraw-extras/issues",UrlPurpose.RELEASE_LOG),API_OPENAI_COM_V1:defineUrl("https://api.openai.com/v1",UrlPurpose.AI_API),API_ANTHROPIC_COM_V1:defineUrl("https://api.anthropic.com/v1",UrlPurpose.AI_API),GENERATIVELANGUAGE_GOOGLEAPLine truncated
/* nosourcemap */
+12 -12
View File
@@ -1,12 +1,12 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.23.3",
"minAppVersion": "1.5.7",
"description": "Sketch Your Mind. Edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian",
"authorUrl": "https://excalidraw-obsidian.online",
"fundingUrl": "https://ko-fi.com/zsolt",
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
"isDesktopOnly": false
}
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.28.1",
"minAppVersion": "1.8.7",
"description": "Sketch Your Mind. Edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian",
"authorUrl": "https://community.sketch-your-mind.com/em",
"fundingUrl": "https://ko-fi.com/zsolt",
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
"isDesktopOnly": false
}
+1 -1
View File
@@ -1 +1 @@
@font-face{font-family:Assistant;font-weight:400;src:url(https://unpkg.com/@zsviczian/excalidraw@0.17.6-2/dist/excalidraw-assets/Assistant-Regular.woff2) format("woff2");style:normal;display:swap}@font-face{font-family:Assistant;font-weight:500;src:url(https://unpkg.com/@zsviczian/excalidraw@0.17.6-2/dist/excalidraw-assets/Assistant-Medium.woff2) format("woff2");style:normal;display:swap}@font-face{font-family:Assistant;font-weight:600;src:url(https://unpkg.com/@zsviczian/excalidraw@0.17.6-2/dist/excalidraw-assets/Assistant-SemiBold.woff2) format("woff2");style:normal;display:swap}@font-face{font-family:Assistant;font-weight:700;src:url(https://unpkg.com/@zsviczian/excalidraw@0.17.6-2/dist/excalidraw-assets/Assistant-Bold.woff2) format("woff2");style:normal;display:swap}.excalidraw .github-corner{display:none}.excalidraw .context-menu-option-separator{margin:4px!important}.excalidraw .context-menu-option{box-shadow:none}.excalidraw .popover{background-color:transparent!important;border:0!important;overflow-y:auto!important;padding:0!important;position:fixed!important}.excalidraw .disable-zen-mode--visible{color:var(--text-primary-color)}.excalidraw .Island .scrollbar{--scrollbar-thumb-bg:silver}.excalidraw .ToolIcon__icon img{height:1rem}.ToolIcon button,.excalidraw button{box-shadow:none;justify-content:normal}.excalidraw{--default-button-size:2rem!important;--default-icon-size:1rem!important;--lg-button-size:1.8rem!important;--lg-icon-size:1rem!important;--editor-container-padding:var(--size-4-2)}.excalidraw .tray-zoom{height:var(--default-button-size);padding-bottom:.05rem;padding-top:.05rem;pointer-events:auto}.excalidraw.excalidraw-container.theme--dark{background-color:#121212;color:#fff}.excalidraw .color-picker-content{max-height:10rem;overflow-y:auto}.excalidraw .ToolIcon__keybinding{font-size:.45rem!important}.excalidraw label.color-input-container>input{max-width:5rem}.excalidraw .App-mobile-menu .panelColumn,.excalidraw .App-toolbar-content .dropdown-menu,.excalidraw .selected-shape-actions .panelColumn{max-height:70vh;overflow-y:auto}.excalidraw .App-mobile-menu{width:12.5rem!important}.excalidraw .panelColumn .buttonList{max-width:13rem}.excalidraw input[type=color]{height:1.65rem;width:1.65rem}.excalidraw input[type=color]::-webkit-color-swatch{height:1.65rem}.excalidraw input[type=color]::-webkit-color-swatch-wrapper{padding:0}.excalidraw :where(.mobile-misc-tools-container,.tray-misc-tools-container) .sidebar-trigger{background-color:unset;border-radius:0;box-shadow:none;--lg-button-size:var(--button-height,var(--default-button-size))}.excalidraw :where(.mobile-misc-tools-container,.tray-misc-tools-container) .sidebar-trigger:hover{background-color:var(--button-hover-bg)}.excalidraw :where(.mobile-misc-tools-container,.tray-misc-tools-container) .sidebar-trigger:active{background-color:var(--button-hover-bg);border:1px solid var(--button-active-border);box-shadow:none}.excalidraw .welcome-screen-center__logo svg{width:5rem!important}.excalidraw .Modal{background-color:initial;border:initial;height:auto;max-height:none;max-width:none;width:auto}.excalidraw .ttd-dialog-content textarea,.excalidraw input,.excalidraw textarea.ttd-dialog-input{caret-color:var(--excalidraw-caret-color)!important}.excalidraw .color-picker-content input[type=color]{filter:var(--theme-filter)}.excalidraw .ExcTextField__input input::placeholder{color:var(--select-highlight-color)}.excalidraw textarea::placeholder{color:var(--color-gray-50)}.excalidraw .ToolIcon_type_button{color:var(--text-primary-color)}.excalidraw .picker-content{grid-gap:.2rem!important}.excalidraw .picker-content button.picker-option{height:1.85rem!important;width:1.85rem!important}.excalidraw .picker{padding:.2rem!important}.excalidraw .context-menu{height:-moz-fit-content;height:fit-content}.excalidraw .App-bottom-bar .App-toolbar{justify-content:start}.excalidraw-left-handed .excalidraw .App-bottom-bar{justify-content:flex-end!important;left:auto!important;right:0!important;transform:none!important}.excalidraw-left-handed .excalidraw .App-bottom-bar .App-toolbar{justify-content:end}.excalidraw .excalidraw-ui-top-right.library-and-pen,.excalidraw.excalidraw--mobile .excalidraw-ui-top-right{align-items:center;flex-direction:row;flex-wrap:wrap;gap:var(--size-4-1);justify-content:center}.excalidraw .excalidraw-ui-top-right.library-and-pen .ToolIcon__penMode{margin:auto}.excalidraw :is(.mobile-misc-tools-container,.tray-misc-tools-container){margin-right:unset}.excalidraw :is(.mobile-misc-tools-container,.tray-misc-tools-container).layer-ui__wrapper__top-right--compact{gap:0}.excalidraw .FixedSideContainer_side_top{padding-top:0!important}.excalidraw .ToolIcon.ToolIcon__penMode{height:-moz-fit-content;height:fit-content}.excalidraw svg.svg-icon{color:var(--icon-fill-color)}.excalidraw input[type=radio]:active,.excalidraw input[type=radio]:checked,.excalidraw input[type=radio]:focus,.excalidraw input[type=radio]:focus-visible{background-color:reverLine truncated
.excalidraw .ToolIcon{align-items:center;border-radius:var(--border-radius-lg);cursor:pointer;display:inline-flex;position:relative;-webkit-tap-highlight-color:transparent;user-select:none}.excalidraw .ToolIcon__hidden{display:none!important}.excalidraw .ToolIcon.fillable.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon{--icon-fill-color:var(--color-on-primary-container)}.excalidraw .ToolIcon.fillable.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon svg{fill:var(--icon-fill-color)}.excalidraw .ToolIcon.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon{background:var(--color-surface-primary-container);--keybinding-color:var(--color-on-primary-container);--icon-fill-color:var(--color-on-primary-container)}.excalidraw .ToolIcon.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__keybinding{bottom:2px;right:3px}.excalidraw .ToolIcon .ToolIcon__icon:hover{background:var(--button-hover-bg)}.excalidraw .ToolIcon .ToolIcon__icon:active{background:var(--button-hover-bg);border:1px solid var(--button-active-border)}.excalidraw .ToolIcon .ToolIcon__icon:active svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true]{background:initial;border:none}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] svg{color:var(--color-disabled)}.excalidraw .ToolIcon.ToolIcon_type_toggle:disabled{cursor:default;--keybinding-color:var(--color-disabled)}.excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon svg{color:var(--color-disabled)}.excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:active,.excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:hover{background:initial;border:none}.excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:active svg,.excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:hover svg{color:var(--color-disabled)}.excalidraw .ToolIcon--plain{background-color:transparent}.excalidraw .ToolIcon--plain .ToolIcon__icon{height:2rem;width:2rem}.excalidraw .ToolIcon_type_toggle{appearance:none;background-color:transparent;border:none;color:inherit;font:inherit;margin:0;padding:0;text-align:inherit}.excalidraw .ToolIcon_type_toggle:focus-visible{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .ToolIcon__icon{align-items:center;border-radius:var(--border-radius-lg);box-sizing:border-box;color:var(--icon-fill-color);display:flex;height:var(--default-button-size);justify-content:center;width:var(--default-button-size)}.excalidraw .ToolIcon__icon+.ToolIcon__label{margin-inline-start:0}.excalidraw .ToolIcon__icon svg{color:var(--icon-fill-color);height:var(--default-icon-size);position:relative;width:var(--default-icon-size)}.excalidraw .ToolIcon__label{align-items:center;color:var(--icon-fill-color);display:flex;font-family:var(--ui-font);margin:0 .8em;text-overflow:ellipsis}.excalidraw .ToolIcon__label .Spinner{margin-left:.6em}.excalidraw .ToolIcon_size_small .ToolIcon__icon{font-size:.8em;height:2rem;width:2rem}.excalidraw .Modal .ToolIcon_type_button,.excalidraw .ToolIcon_type_button{background-color:initial;border:none;font-size:inherit;margin:0;padding:0}.excalidraw .Modal .ToolIcon_type_button:focus-visible,.excalidraw .ToolIcon_type_button:focus-visible{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .Modal .ToolIcon_type_button:active,.excalidraw .ToolIcon_type_button:active{background-color:var(--button-gray-3)}.excalidraw .Modal .ToolIcon_type_button:disabled,.excalidraw .ToolIcon_type_button:disabled{cursor:default}.excalidraw .Modal .ToolIcon_type_button:disabled:active,.excalidraw .Modal .ToolIcon_type_button:disabled:focus-visible,.excalidraw .Modal .ToolIcon_type_button:disabled:hover,.excalidraw .ToolIcon_type_button:disabled:active,.excalidraw .ToolIcon_type_button:disabled:focus-visible,.excalidraw .ToolIcon_type_button:disabled:hover{background-color:initial;border:none;box-shadow:none}.excalidraw .Modal .ToolIcon_type_button:disabled svg,.excalidraw .ToolIcon_type_button:disabled svg{color:var(--color-disabled)}.excalidraw .Modal .ToolIcon_type_button--show,.excalidraw .ToolIcon_type_button--show{visibility:visible}.excalidraw .Modal .ToolIcon_type_button--hide,.excalidraw .ToolIcon_type_button--hide{display:none!important}.excalidraw .ToolIcon_type_floating,.excalidraw .ToolIcon_type_floating:active,.excalidraw .ToolIcon_type_floating:hover{background-color:transparent}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{background-color:var(--button-gray-1)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{height:2rem;width:2rem}.excalidraw .ToolIcon__keybinding{bottom:2px;color:var(--keybinding-color);font-family:var(--ui-font);font-size:.625rem;position:absolute;riLine truncated