for-any-project-min
code:script.js
var BR=Object.defineProperty;var io=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)r}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Ds=(e,t)=>{for(var r in t)BR(e,r,{get:tr,enumerable:!0})};function ve(e){if(e)return HR(e)}function HR(e){for(var t in ve.prototype)et=ve.prototypet;return e}ve.prototype.on=ve.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks"$"+e=this._callbacks"$"+e||[]).push(t),this};ve.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this};ve.prototype.off=ve.prototype.removeListener=ve.prototype.removeAllListeners=ve.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var r=this._callbacks"$"+e;if(!r)return this;if(arguments.length==1)return delete this._callbacks"$"+e,this;for(var o,n=0;n<r.length;n++)if(o=rn,o===t||o.fn===t){r.splice(n,1);break}return r.length===0&&delete this._callbacks"$"+e,this};ve.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),r=this._callbacks"$"+e,o=1;o<arguments.length;o++)to-1=argumentso;if(r){r=r.slice(0);for(var o=0,n=r.length;o<n;++o)ro.apply(this,t)}return this};ve.prototype.emitReserved=ve.prototype.emit;ve.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks"$"+e||[]};ve.prototype.hasListeners=function(e){return!!this.listeners(e).length};var or=Object.create(null);or.open="0";or.close="1";or.ping="2";or.pong="3";or.message="4";or.upgrade="5";or.noop="6";var Bs=Object.create(null);Object.keys(or).forEach(e=>{Bs[ore]=e});var Fc={type:"error",data:"parser error"},Zu=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="object BlobConstructor",em=typeof ArrayBuffer=="function",tm=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,Hs=({type:e,data:t},r,o)=>Zu&&t instanceof Blob?r?o(t):Yu(t,o):em&&(t instanceof ArrayBuffer||tm(t))?r?o(t):Yu(new Blob(t),o):o(ore+(t||"")),Yu=(e,t)=>{let r=new FileReader;return r.onload=function(){let o=r.result.split(",")1;t("b"+(o||""))},r.readAsDataURL(e)};function Ju(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var Ic;function WR(e,t){if(Zu&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ju).then(t);if(em&&(e.data instanceof ArrayBuffer||tm(e.data)))return t(Ju(e.data));Hs(e,!1,r=>{Ic||(Ic=new TextEncoder),t(Ic.encode(r))})}var Qu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Fn=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e<Qu.length;e++)FnQu.charCodeAt(e)=e;var GR=e=>{let t=e.length*.75,r=e.length,o,n=0,s,i,a,c;ee.length-1==="="&&(t--,ee.length-2==="="&&t--);let l=new ArrayBuffer(t),u=new Uint8Array(l);for(o=0;o<r;o+=4)s=Fne.charCodeAt(o),i=Fne.charCodeAt(o+1),a=Fne.charCodeAt(o+2),c=Fne.charCodeAt(o+3),un++=s<<2|i>>4,un++=(i&15)<<4|a>>2,un++=(a&3)<<6|c&63;return l},VR=typeof ArrayBuffer=="function",Ws=(e,t)=>{if(typeof e!="string")return{type:"message",data:rm(e,t)};let r=e.charAt(0);return r==="b"?{type:"message",data:zR(e.substring(1),t)}:Bsr?e.length>1?{type:Bsr,data:e.substring(1)}:{type:Bsr}:Fc},zR=(e,t)=>{if(VR){let r=GR(e);return rm(r,t)}else return{base64:!0,data:e}},rm=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob(e);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},om="",nm=(e,t)=>{let r=e.length,o=new Array(r),n=0;e.forEach((s,i)=>{Hs(s,!1,a=>{oi=a,++n===r&&t(o.join(om))})})},sm=(e,t)=>{let r=e.split(om),o=[];for(let n=0;n<r.length;n++){let s=Ws(rn,t);if(o.push(s),s.type==="error")break}return o};function im(){return new TransformStream({transform(e,t){WR(e,r=>{let o=r.length,n;if(o<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,o);else if(o<65536){n=new Uint8Array(3);let s=new DataView(n.buffer);s.setUint8(0,126),s.setUint16(1,o)}else{n=new Uint8Array(9);let s=new DataView(n.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(o))}e.data&&typeof e.data!="string"&&(n0|=128),t.enqueue(n),t.enqueue(r)})}})}var Uc;function $s(e){return e.reduce((t,r)=>t+r.length,0)}function js(e,t){if(e0.length===t)return e.shift();let r=new Uint8Array(t),o=0;for(let n=0;n<t;n++)rn=e0o++,o===e0.length&&(e.shift(),o=0);return e.length&&o<e0.length&&(e0=e0.slice(o)),r}function am(e,t){Uc||(Uc=new TextDecoder);let r=[],o=0,n=-1,s=!1;return new TransformStream({transform(i,a){for(r.push(i);;){if(o===0){if($s(r)<1)break;let c=js(r,1);s=(c0&128)===128,n=c0&127,n<126?o=3:n===126?o=1:o=2}else if(o===1){if($s(r)<2)break;let c=js(r,2);n=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),o=3}else if(o===2){if($s(r)<8)break;let c=js(r,8),l=new DataView(c.buffer,c.byteOffset,c.length),u=l.getUint32(0);if(u>Math.pow(2,21)-1){a.enqueue(Fc);break}n=u*Math.pow(2,32)+l.getUint32(4),o=3}else{if($s(r)<n)break;let c=js(r,n);a.enqueue(Ws(s?c:Uc.decode(c),t)),o=0}if(n===0||n>e){a.enqueue(Fc);break}}}})}var Dc=4;var Dn=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0),It=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),qR="arraybuffer";function lm(e,...t){return t.reduce((r,o)=>(e.hasOwnProperty(o)&&(ro=eo),r),{})}var KR=It.setTimeout,XR=It.clearTimeout;function $n(e,t){t.useNativeTimers?(e.setTimeoutFn=KR.bind(It),e.clearTimeoutFn=XR.bind(It)):(e.setTimeoutFn=It.setTimeout.bind(It),e.clearTimeoutFn=It.clearTimeout.bind(It))}var YR=1.33;function JR(e){return typeof e=="string"?QR(e):Math.ceil((e.byteLength||e.size)*YR)}function QR(e){let t=0,r=0;for(let o=0,n=e.length;o<n;o++)t=e.charCodeAt(o),t<128?r+=1:t<2048?r+=2:t<55296||t>=57344?r+=3:(o++,r+=4);return r}function pm(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function ZR(e){let t="";for(let r in e)e.hasOwnProperty(r)&&(t.length&&(t+="&"),t+=encodeURIComponent(r)+"="+encodeURIComponent(er));return t}function ek(e){let t={},r=e.split("&");for(let o=0,n=r.length;o<n;o++){let s=ro.split("=");t[decodeURIComponent(s0)]=decodeURIComponent(s1)}return t}var tk=class extends Error{constructor(e,t,r){super(e),this.description=t,this.context=r,this.type="TransportError"}},Bc=class extends ve{constructor(e){super(),this.writable=!1,$n(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,r){return super.emitReserved("error",new tk(e,t,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=Ws(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:""+e+""}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=ZR(e);return t.length?"?"+t:""}},rk=class extends Bc{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let r=0;this._polling&&(r++,this.once("pollComplete",function(){--r||t()})),this.writable||(r++,this.once("drain",function(){--r||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){let t=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};sm(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){let e=()=>{this.write({type:"close"})};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,nm(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(tthis.opts.timestampParam=pm()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}},um=!1;try{um=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}var ok=um;function nk(){}var sk=class extends rk{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",r=location.port;r||(r=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||r!==e.port}}doWrite(e,t){let r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",(o,n)=>{this.onError("xhr post error",o,n)})}doPoll(){let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,r)=>{this.onError("xhr poll error",t,r)}),this.pollXhr=e}},Go=class Gs extends ve{constructor(t,r,o){super(),this.createRequest=t,$n(this,o),this._opts=o,this._method=o.method||"GET",this._uri=r,this._data=o.data!==void 0?o.data:null,this._create()}_create(){var t;let r=lm(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this._opts.xd;let o=this._xhr=this.createRequest(r);try{o.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0);for(let n in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(n)&&o.setRequestHeader(n,this._opts.extraHeadersn)}}catch{}if(this._method==="POST")try{o.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{o.setRequestHeader("Accept","*/*")}catch{}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(o),"withCredentials"in o&&(o.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(o.timeout=this._opts.requestTimeout),o.onreadystatechange=()=>{var n;o.readyState===3&&((n=this._opts.cookieJar)===null||n===void 0||n.parseCookies(o.getResponseHeader("set-cookie"))),o.readyState===4&&(o.status===200||o.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof o.status=="number"?o.status:0)},0))},o.send(this._data)}catch(n){this.setTimeoutFn(()=>{this._onError(n)},0);return}typeof document<"u"&&(this._index=Gs.requestsCount++,Gs.requeststhis._index=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=nk,t)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Gs.requeststhis._index,this._xhr=null}}_onLoad(){let t=this._xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};Go.requestsCount=0;Go.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",cm);else if(typeof addEventListener=="function"){let e="onpagehide"in It?"pagehide":"unload";addEventListener(e,cm,!1)}}function cm(){for(let e in Go.requests)Go.requests.hasOwnProperty(e)&&Go.requestse.abort()}var ik=function(){let e=mm({xdomain:!1});return e&&e.responseType!==null}(),Hc=class extends sk{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=ik&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Go(mm,this.uri(),e)}};function mm(e){let t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||ok))return new XMLHttpRequest}catch{}if(!t)try{return new It["Active".concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}var fm=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",ak=class extends Bc{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,r=fm?{}:lm(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,r)}catch(o){return this.emitReserved("error",o)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let r=et,o=t===e.length-1;Hs(r,this.supportsBinary,n=>{try{this.doWrite(r,n)}catch{}o&&Dn(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(tthis.opts.timestampParam=pm()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},$c=It.WebSocket||It.MozWebSocket,Wc=class extends ak{createSocket(e,t,r){return fm?new $c(e,t,r):t?new $c(e,t):new $c(e)}doWrite(e,t){this.ws.send(t)}},dm=class extends Bc{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptionsthis.name)}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=am(Number.MAX_SAFE_INTEGER,this.socket.binaryType),r=e.readable.pipeThrough(t).getReader(),o=im();o.readable.pipeTo(e.writable),this._writer=o.writable.getWriter();let n=()=>{r.read().then(({done:i,value:a})=>{i||(this.onPacket(a),n())}).catch(i=>{})};n();let s={type:"open"};this.query.sid&&(s.data={"sid":"${this.query.sid}"}),this._writer.write(s).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let r=et,o=t===e.length-1;this._writer.write(r).then(()=>{o&&Dn(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}},ck={websocket:Wc,webtransport:dm,polling:Hc},lk=/^(?:(?!^:@\/?#+:^:@\/*@)(http|https|ws|wss):\/\/)?((?:((^:@\/?#*)(?::(^:@\/?#*))?)?@)?((?:a-f0-9{0,4}:){2,7}a-f0-9{0,4}|^:\/?#*)(?::(\d*))?)(((\/(?:^?#(?!^?#\/*\.^?#\/.+(?:?#|$)))*\/?)?(^?#\/*))(?:\?(^#*))?(?:#(.*))?)/,pk="source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor";function Ks(e){if(e.length>8e3)throw"URI too long";let t=e,r=e.indexOf(""),o=e.indexOf("");r!=-1&&o!=-1&&(e=e.substring(0,r)+e.substring(r,o).replace(/:/g,";")+e.substring(o,e.length));let n=lk.exec(e||""),s={},i=14;for(;i--;)s[pki]=ni||"";return r!=-1&&o!=-1&&(s.source=t,s.host=s.host.substring(1,s.host.length-1).replace(/;/g,":"),s.authority=s.authority.replace("","").replace("","").replace(/;/g,":"),s.ipv6uri=!0),s.pathNames=uk(s,s.path),s.queryKey=mk(s,s.query),s}function uk(e,t){let r=/\/{2,9}/g,o=t.replace(r,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&o.splice(0,1),t.slice(-1)=="/"&&o.splice(o.length-1,1),o}function mk(e,t){let r={};return t.replace(/(?:^|&)(^&=*)=?(^&*)/g,function(o,n,s){n&&(rn=s)}),r}var jc=typeof addEventListener=="function"&&typeof removeEventListener=="function",Vs=[];jc&&addEventListener("offline",()=>{Vs.forEach(e=>e())},!1);var zs=class qs extends ve{constructor(t,r){if(super(),this.binaryType=qR,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&typeof t=="object"&&(r=t,t=null),t){let o=Ks(t);r.hostname=o.host,r.secure=o.protocol==="https"||o.protocol==="wss",r.port=o.port,o.query&&(r.query=o.query)}else r.host&&(r.hostname=Ks(r.host).host);$n(this,r),this.secure=r.secure!=null?r.secure:typeof location<"u"&&location.protocol==="https:",r.hostname&&!r.port&&(r.port=this.secure?"443":"80"),this.hostname=r.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=r.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},r.transports.forEach(o=>{let n=o.prototype.name;this.transports.push(n),this._transportsByNamen=o}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},r),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=ek(this.opts.query)),jc&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Vs.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){let r=Object.assign({},this.opts.query);r.EIO=Dc,r.transport=t,this.id&&(r.sid=this.id);let o=Object.assign({},this.opts,{query:r,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptionst);return new this._transportsByNamet(o)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let t=this.opts.rememberUpgrade&&qs.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports0;this.readyState="opening";let r=this.createTransport(t);r.open(),this.setTransport(r)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",r=>this._onClose("transport close",r))}onOpen(){this.readyState="open",qs.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let r=new Error("server error");r.code=t.data,this._onError(r);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data);break}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let r=0;r<this.writeBuffer.length;r++){let o=this.writeBufferr.data;if(o&&(t+=JR(o)),r>0&&t>this._maxPayload)return this.writeBuffer.slice(0,r);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,Dn(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),t}write(t,r,o){return this._sendPacket("message",t,r,o),this}send(t,r,o){return this._sendPacket("message",t,r,o),this}_sendPacket(t,r,o,n){if(typeof r=="function"&&(n=r,r=void 0),typeof o=="function"&&(n=o,o=null),this.readyState==="closing"||this.readyState==="closed")return;o=o||{},o.compress=o.compress!==!1;let s={type:t,data:r,options:o};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),n&&this.once("flush",n),this.flush()}close(){let t=()=>{this._onClose("forced close"),this.transport.close()},r=()=>{this.off("upgrade",r),this.off("upgradeError",r),t()},o=()=>{this.once("upgrade",r),this.once("upgradeError",r)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?o():t()}):this.upgrading?o():t()),this}_onError(t){if(qs.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,r){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),jc&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let o=Vs.indexOf(this._offlineEventListener);o!==-1&&Vs.splice(o,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,r),this.writeBuffer=[],this._prevBufferLen=0}}};zs.protocol=Dc;var fk=class extends zs{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgradese)}_probe(e){let t=this.createTransport(e),r=!1;zs.priorWebsocketSuccess=!1;let o=()=>{r||(t.send({type:"ping",data:"probe"}),t.once("packet",u=>{if(!r)if(u.type==="pong"&&u.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;zs.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(l(),this.setTransport(t),t.send({type:"upgrade"}),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{let p=new Error("probe error");p.transport=t.name,this.emitReserved("upgradeError",p)}}))};function n(){r||(r=!0,l(),t.close(),t=null)}let s=u=>{let p=new Error("probe error: "+u);p.transport=t.name,n(),this.emitReserved("upgradeError",p)};function i(){s("transport closed")}function a(){s("socket closed")}function c(u){t&&u.name!==t.name&&n()}let l=()=>{t.removeListener("open",o),t.removeListener("error",s),t.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};t.once("open",o),t.once("error",s),t.once("close",i),this.once("close",a),this.once("upgrading",c),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{r||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let r=0;r<e.length;r++)~this.transports.indexOf(er)&&t.push(er);return t}},Gc=class extends fk{constructor(e,t={}){let r=typeof e=="object"?e:t;(!r.transports||r.transports&&typeof r.transports0=="string")&&(r.transports=(r.transports||"polling","websocket","webtransport").map(o=>cko).filter(o=>!!o)),super(e,r)}};var S1=Gc.protocol;var Kc={};Ds(Kc,{Decoder:()=>Rk,Encoder:()=>wk,PacketType:()=>se,protocol:()=>ym});var dk=typeof ArrayBuffer=="function",hk=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,gm=Object.prototype.toString,gk=typeof Blob=="function"||typeof Blob<"u"&&gm.call(Blob)==="object BlobConstructor",yk=typeof File=="function"||typeof File<"u"&&gm.call(File)==="object FileConstructor";function qc(e){return dk&&(e instanceof ArrayBuffer||hk(e))||gk&&e instanceof Blob||yk&&e instanceof File}function Xs(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let r=0,o=e.length;r<o;r++)if(Xs(er))return!0;return!1}if(qc(e))return!0;if(e.toJSON&&typeof e.toJSON=="function"&&arguments.length===1)return Xs(e.toJSON(),!0);for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&Xs(er))return!0;return!1}function xk(e){let t=[],r=e.data,o=e;return o.data=Vc(r,t),o.attachments=t.length,{packet:o,buffers:t}}function Vc(e,t){if(!e)return e;if(qc(e)){let r={_placeholder:!0,num:t.length};return t.push(e),r}else if(Array.isArray(e)){let r=new Array(e.length);for(let o=0;o<e.length;o++)ro=Vc(eo,t);return r}else if(typeof e=="object"&&!(e instanceof Date)){let r={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(ro=Vc(eo,t));return r}return e}function bk(e,t){return e.data=zc(e.data,t),delete e.attachments,e}function zc(e,t){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num=="number"&&e.num>=0&&e.num<t.length)return te.num;throw new Error("illegal attachments")}else if(Array.isArray(e))for(let r=0;r<e.length;r++)er=zc(er,t);else if(typeof e=="object")for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(er=zc(er,t));return e}var Ek="connect","connect_error","disconnect","disconnecting","newListener","removeListener",ym=5,se;(function(e){ee.CONNECT=0="CONNECT",ee.DISCONNECT=1="DISCONNECT",ee.EVENT=2="EVENT",ee.ACK=3="ACK",ee.CONNECT_ERROR=4="CONNECT_ERROR",ee.BINARY_EVENT=5="BINARY_EVENT",ee.BINARY_ACK=6="BINARY_ACK"})(se||(se={}));var wk=class{constructor(e){this.replacer=e}encode(e){return(e.type===se.EVENT||e.type===se.ACK)&&Xs(e)?this.encodeAsBinary({type:e.type===se.EVENT?se.BINARY_EVENT:se.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):this.encodeAsString(e)}encodeAsString(e){let t=""+e.type;return(e.type===se.BINARY_EVENT||e.type===se.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=xk(e),r=this.encodeAsString(t.packet),o=t.buffers;return o.unshift(r),o}};function hm(e){return Object.prototype.toString.call(e)==="object Object"}var Rk=class xm extends ve{constructor(t){super(),this.reviver=t}add(t){let r;if(typeof t=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");r=this.decodeString(t);let o=r.type===se.BINARY_EVENT;o||r.type===se.BINARY_ACK?(r.type=o?se.EVENT:se.ACK,this.reconstructor=new kk(r),r.attachments===0&&super.emitReserved("decoded",r)):super.emitReserved("decoded",r)}else if(qc(t)||t.base64)if(this.reconstructor)r=this.reconstructor.takeBinaryData(t),r&&(this.reconstructor=null,super.emitReserved("decoded",r));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+t)}decodeString(t){let r=0,o={type:Number(t.charAt(0))};if(seo.type===void 0)throw new Error("unknown packet type "+o.type);if(o.type===se.BINARY_EVENT||o.type===se.BINARY_ACK){let s=r+1;for(;t.charAt(++r)!=="-"&&r!=t.length;);let i=t.substring(s,r);if(i!=Number(i)||t.charAt(r)!=="-")throw new Error("Illegal attachments");o.attachments=Number(i)}if(t.charAt(r+1)==="/"){let s=r+1;for(;++r&&!(t.charAt(r)===","||r===t.length););o.nsp=t.substring(s,r)}else o.nsp="/";let n=t.charAt(r+1);if(n!==""&&Number(n)==n){let s=r+1;for(;++r;){let i=t.charAt(r);if(i==null||Number(i)!=i){--r;break}if(r===t.length)break}o.id=Number(t.substring(s,r+1))}if(t.charAt(++r)){let s=this.tryParse(t.substr(r));if(xm.isPayloadValid(o.type,s))o.data=s;else throw new Error("invalid payload")}return o}tryParse(t){try{return JSON.parse(t,this.reviver)}catch{return!1}}static isPayloadValid(t,r){switch(t){case se.CONNECT:return hm(r);case se.DISCONNECT:return r===void 0;case se.CONNECT_ERROR:return typeof r=="string"||hm(r);case se.EVENT:case se.BINARY_EVENT:return Array.isArray(r)&&(typeof r0=="number"||typeof r0=="string"&&Ek.indexOf(r0)===-1);case se.ACK:case se.BINARY_ACK:return Array.isArray(r)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}},kk=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=bk(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function vk(e,t="",r){let o=e;r=r||typeof location<"u"&&location,e==null&&(e=r.protocol+"//"+r.host),typeof e=="string"&&(e.charAt(0)==="/"&&(e.charAt(1)==="/"?e=r.protocol+e:e=r.host+e),/^(https?|wss?):\/\//.test(e)||(typeof r<"u"?e=r.protocol+"//"+e:e="https://"+e),o=Ks(e)),o.port||(/^(http|ws)$/.test(o.protocol)?o.port="80":/^(http|ws)s$/.test(o.protocol)&&(o.port="443")),o.path=o.path||"/";let n=o.host.indexOf(":")!==-1?""+o.host+"":o.host;return o.id=o.protocol+"://"+n+":"+o.port+t,o.href=o.protocol+"://"+n+(r&&r.port===o.port?"":":"+o.port),o}function zt(e,t,r){return e.on(t,r),function(){e.off(t,r)}}var _k=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),bm=class extends ve{constructor(e,t,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=zt(e,"open",this.onopen.bind(this)),zt(e,"packet",this.onpacket.bind(this)),zt(e,"error",this.onerror.bind(this)),zt(e,"close",this.onclose.bind(this))}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var r,o,n;if(_k.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let s={type:se.EVENT,data:t};if(s.options={},s.options.compress=this.flags.compress!==!1,typeof tt.length-1=="function"){let c=this.ids++,l=t.pop();this._registerAckCallback(c,l),s.id=c}let i=(o=(r=this.io.engine)===null||r===void 0?void 0:r.transport)===null||o===void 0?void 0:o.writable,a=this.connected&&!(!((n=this.io.engine)===null||n===void 0)&&n._hasPingExpired());return this.flags.volatile&&!i||(a?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s)),this.flags={},this}_registerAckCallback(e,t){var r;let o=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(o===void 0){this.ackse=t;return}let n=this.io.setTimeoutFn(()=>{delete this.ackse;for(let i=0;i<this.sendBuffer.length;i++)this.sendBufferi.id===e&&this.sendBuffer.splice(i,1);t.call(this,new Error("operation has timed out"))},o),s=(...i)=>{this.io.clearTimeoutFn(n),t.apply(this,i)};s.withError=!0,this.ackse=s}emitWithAck(e,...t){return new Promise((r,o)=>{let n=(s,i)=>s?o(s):r(i);n.withError=!0,t.push(n),this.emit(e,...t)})}_addToQueue(e){let t;typeof ee.length-1=="function"&&(t=e.pop());let r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((o,...n)=>r!==this._queue0?void 0:(o!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(o)):(this._queue.shift(),t&&t(null,...n)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue0;t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:se.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){let t=this.ackse;delete this.ackse,t.withError&&t.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case se.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case se.EVENT:case se.BINARY_EVENT:this.onevent(e);break;case se.ACK:case se.BINARY_ACK:this.onack(e);break;case se.DISCONNECT:this.ondisconnect();break;case se.CONNECT_ERROR:this.destroy();let t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t);break}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let r of t)r.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof ee.length-1=="string"&&(this._lastOffset=ee.length-1)}ack(e){let t=this,r=!1;return function(...o){r||(r=!0,t.packet({type:se.ACK,id:e,data:o}))}}onack(e){let t=this.ackse.id;typeof t=="function"&&(delete this.ackse.id,t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:se.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let r=0;r<t.length;r++)if(e===tr)return t.splice(r,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let r=0;r<t.length;r++)if(e===tr)return t.splice(r,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let r of t)r.apply(this,e.data)}}};function zo(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}zo.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),r=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+r:e-r}return Math.min(e,this.max)|0};zo.prototype.reset=function(){this.attempts=0};zo.prototype.setMin=function(e){this.ms=e};zo.prototype.setMax=function(e){this.max=e};zo.prototype.setJitter=function(e){this.jitter=e};var Xc=class extends ve{constructor(e,t){var r;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,$n(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((r=t.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new zo({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let o=t.parser||Kc;this.encoder=new o.Encoder,this.decoder=new o.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Gc(this.uri,this.opts);let t=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;let o=zt(t,"open",function(){r.onopen(),e&&e()}),n=i=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",i),e?e(i):this.maybeReconnectOnOpen()},s=zt(t,"error",n);if(this._timeout!==!1){let i=this._timeout,a=this.setTimeoutFn(()=>{o(),n(new Error("timeout")),t.close()},i);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}return this.subs.push(o),this.subs.push(s),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push(zt(e,"ping",this.onping.bind(this)),zt(e,"data",this.ondata.bind(this)),zt(e,"error",this.onerror.bind(this)),zt(e,"close",this.onclose.bind(this)),zt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){Dn(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let r=this.nspse;return r?this._autoConnect&&!r.active&&r.connect():(r=new bm(this,e,t),this.nspse=r),r}_destroy(e){let t=Object.keys(this.nsps);for(let r of t)if(this.nspsr.active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let r=0;r<t.length;r++)this.engine.write(tr,e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var r;this.cleanup(),(r=this.engine)===null||r===void 0||r.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let r=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(o=>{o?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",o)):e.onreconnect()}))},t);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}},jn={};function Vo(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};let r=vk(e,t.path||"/socket.io"),o=r.source,n=r.id,s=r.path,i=jnn&&s in jnn.nsps,a=t.forceNew||t"force new connection"||t.multiplex===!1||i,c;return a?c=new Xc(o,t):(jnn||(jnn=new Xc(o,t)),c=jnn),r.query&&!t.query&&(t.query=r.queryKey),c.socket(r.path,t)}Object.assign(Vo,{Manager:Xc,Socket:bm,io:Vo,connect:Vo});function et(e){return e.val}function at(e){return e.err}var Em=" must not return ",Tk="transformer",Pk="recoverer",Sk="defaultValue",qo=Tk+Em,gr="called with ",Ko=Sk+" must not be ",Xo=Pk+Em;var Ok="Ok",wm="Err",Rm=gr+wm,km=gr+Ok,Lk="Carrying E in "+wm+" instead of throwing it directly. See .cause",Yc="an instance of Error of the current realm.",gM="The thrown value is not "+Yc,yM="The contained E should be "+Yc,Nk="This .cause is not "+Yc;function Le(e){return e.ok}function te(e){return{ok:!0,val:e,err:null}}function G(e){return!e.ok}function ge(e){return{ok:!1,val:null,err:e}}function X(e){return vm(e,Rm)}function Yo(e){return _m(e,km)}function vm(e,t){if(G(e))throw new TypeError(t);return e.val}function _m(e,t){if(Le(e))throw new TypeError(t);return e.err}async function Jc(e,t){if(G(e))return e;let r=et(e);return await t(r)}function ao(e,t){if(G(e))return e;let r=et(e),o=t(r);return te(o)}async function we(e,t){if(G(e))return e;let r=et(e),o=await t(r);return te(o)}async function ke(e,t){if(Le(e))return e;let r=at(e),o=await t(r);return ge(o)}async function Ys(e,t){if(Le(e))return e;let r=at(e);return await t(r)}var Js="null",OI=qo+Js,Mk=gr+Js,LI=Ko+Js,NI=Xo+Js;var Qs="undefined",UI=qo+Qs,Ik=gr+Qs,FI=Ko+Qs,DI=Xo+Qs;var Re=e=>e.ok?te(e):ge({name:"HTTPError",message:${e.status} ${e.statusText},response:e});var Pm=async(e,t)=>{let r=new Request(e,t);try{return te(await globalThis.fetch(r))}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return ge({name:"AbortError",message:o.message,request:r});if(o instanceof TypeError)return ge({name:"NetworkError",message:o.message,request:r});throw o}};var pe=e=>{let{fetch:t=Pm,hostName:r="scrapbox.io",...o}=e;return{fetch:t,hostName:r,...o}};var Sm=e=>{let{sid:t,hostName:r}=pe(e??{});return new Request(https://${r}/api/users/me,t?{headers:{Cookie:ue(t)}}:void 0)},Om=e=>we(Re(e),async t=>await t.json()),Zs=(()=>{let e=async t=>{let{fetch:r,...o}=pe(t??{}),n=await r(Sm(o));return G(n)?n:Om(X(n))};return e.toRequest=Sm,e.fromResponse=Om,e})();var ue=e=>connect.sid=${e},nr=async e=>{let t=e?.csrf??globalThis._csrf;return t?te(t):ao(await Zs(e),r=>r.csrfToken)};var ct=(e,t)=>{if(e?.connected)return Promise.resolve(te(e));e??=Vo("https://scrapbox.io",{reconnectionDelay:5e3,transports:["websocket"],...t?{rejectUnauthorized:!1,extraHeaders:{Cookie:ue(t),Host:"scrapbox.io",Referer:"https://scrapbox.io/"}}:{}});let r=new Promise(o=>{let n=s=>o(ge(s));e.once("connect",()=>{e.off("disconnect",n),o(te(e))}),e.once("disconnect",n)});return e.connect(),r},lt=e=>{if(e.disconnected)return Promise.resolve(te(void 0));let t=new Promise(r=>{let o=n=>{if(n!=="io client disconnect"){r(ge(n));return}r(te(void 0)),e.off("disconnect",o)};e.on("disconnect",o)});return e.disconnect(),t};var Lm=e=>Fk.includes(e.name),Fk="SocketIOError","DuplicateTitleError","NotFastForwardError";var Nm=(e,t,r,o)=>{if(t==="cursor")return e.emit(t,r),Promise.resolve(te(void 0));let{resolve:n,promise:s,reject:i}=Promise.withResolvers(),a=()=>{e.off("disconnect",c),clearTimeout(u)},c=f=>{if(f==="io client disconnect"){a(),i(new Error("io client disconnect"));return}if(f==="io server disconnect"){a(),n(ge({name:"SocketIOError"}));return}};e.on("disconnect",c);let l=o?.timeout??9e4,u=setTimeout(()=>{a(),n(ge({name:"TimeoutError",message:exceeded ${l} (ms)}))},l),p=t==="commit"?{method:"commit",data:r}:{method:"room:join",data:r};return e.emit("socket.io-request",p,f=>{if(a(),"error"in f){n(ge(Lm(f.error)?f.error:{name:"UnexpectedRequestError",...f}));return}n(te(f.data))}),s};function ei(e,t={}){if(e===null)return"null";if(Array.isArray(e))return Dk(e,t);switch(typeof e){case"string":return JSON.stringify(e);case"bigint":return${e}n;case"object":return e.constructor?.name!=="Object"?e.constructor?.name:$k(e,t);case"function":return e.name||"(anonymous)"}return e?.toString()??"undefined"}function Dk(e,t){let{threshold:r=20}=t,o=e.map(i=>ei(i,t)),n=o.join(", ");if(n.length<=r)return[${n}];let s=o.join(`, );return[
${Cm(2,s)}
]}function $k(e,t){let{threshold:r=20}=t,o=[...Object.keys(e),...Object.getOwnPropertySymbols(e)].map(i=>${i.toString()}: ${ei(ei,t)}),n=o.join(", ");if(n.length<=r)return{${n}};let s=o.join(, );return{
${Cm(2,s)}
}}function Cm(e,t){let r=" ".repeat(e);return t.split(
).map(o=>${r}${o}).join(
)}function Ge(e,t,...r){let o;return Object.defineProperties(e,{name:{get:()=>o||(o=${t}(${r.map(n=>ei(n)).join(", ")}),o)}})}function yr(e){return Array.isArray(e)}function Qc(e){return Ge(t=>yr(t)&&t.every(r=>e(r)),"isArrayOf",e)}function ti(e){let t=new Set(e);return Ge(r=>t.has(r),"isLiteralOneOf",e)}function Bn(e){return e!=null&&!Array.isArray(e)&&typeof e=="object"}function De(e){return typeof e=="string"}var Me=async(e,t)=>{let r=e.response.clone(),o=ti(t);try{let n=await r.json();if(!Bn(n))return;if(r.status===422){if(!De(n.message))return;for(let s of["NoQueryError","InvalidURLError"])if(t.includes(s))return{name:s,message:n.message}}return!o(n.name)||!De(n.message)?void 0:n.name==="NotLoggedInError"?!Bn(n.detals)||!De(n.detals.project)||!Qc(jk)(n.detals.loginStrategies)?void 0:{name:n.name,message:n.message,details:{project:n.detals.project,loginStrategies:n.detals.loginStrategies}}:{name:n.name,message:n.message}}catch(n){if(n instanceof SyntaxError)return;throw n}},jk=ti(["google","github","microsoft","gyazo","email","saml","easy-trial"]);var ne=e=>e.replaceAll(" ","_").toLowerCase();var ae=e=>[...e].map((t,r)=>t===" "?"_":!Bk.includes(t)||r===e.length-1&&Hk.includes(t)?encodeURIComponent(t):t).join(""),Bk='@$&+=:;",',Hk=':;",';var ri="null or undefined",Jo=qo+ri,Wk=gr+ri,oi=Ko+ri,ni=Xo+ri;function Ut(e){return e!=null}function sr(e){return e==null}function qt(e,t){if(Ut(e))return e;throw new TypeError(t)}function si(e){return sr(e)?ge(void 0):te(e)}function Zc(e,t){return Ut(e)?e:qt(t,oi)}var Am=(e,t,r)=>{let{sid:o,hostName:n,followRename:s,projects:i}=pe(r??{}),a=new URLSearchParams([["followRename",${s??!0}],...i?.map?.(c=>["projects",c])??[]]);return new Request(https://${n}/api/pages/${e}/${ae(t)}?${a},o?{headers:{Cookie:ue(o)}}:void 0)},Mm=async e=>ke(await we(Re(e),t=>t.json()),async t=>t.response.status===414?{name:"TooLongURIError",message:"project ids may be too much."}:Zc(await Me(t,["NotFoundError","NotLoggedInError","NotMemberError"]),t)),Ft=(()=>{let e=async(t,r,o)=>Jc(await pe(o??{}).fetch(Am(t,r,o)),n=>Mm(n));return e.toRequest=Am,e.fromResponse=Mm,e})();var Im=(e,t)=>{let{sid:r,hostName:o}=pe(t??{});return new Request(https://${o}/api/projects/${e},r?{headers:{Cookie:ue(r)}}:void 0)},Um=async e=>we(await ke(Re(e),async t=>await Me(t,["NotFoundError","NotLoggedInError","NotMemberError"])??t),t=>t.json()),xr=(()=>{let e=async(t,r)=>{let{fetch:o}=pe(r??{}),n=Im(t,r),s=await o(n);return G(s)?s:Um(X(s))};return e.toRequest=Im,e.fromResponse=Um,e})(),Fm=(e,t)=>{let{sid:r,hostName:o}=pe(t??{}),n=new URLSearchParams(e.map(s=>["ids",s]));return new Request(https://${o}/api/projects?${n},r?{headers:{Cookie:ue(r)}}:void 0)},Dm=async e=>we(await ke(Re(e),async t=>await Me(t,["NotLoggedInError"])??t),t=>t.json()),ii=(()=>{let e=async(t,r)=>{let{fetch:o}=pe(r??{}),n=await o(Fm(t,r));return G(n)?n:Dm(X(n))};return e.toRequest=Fm,e.fromResponse=Dm,e})();var tl=async(e,t,r)=>{let[o,n,s]=await Promise.all([Ft(e,t,r),Gk(r),Vk(e,r)]);return G(o)?o:G(n)?n:G(s)?s:te({...X(o),projectId:X(s),userId:X(n)})},el,Gk=async e=>{if(el)return te(el);let t=await Zs(e);if(G(t))return t;let r=X(t);return"id"in r?(el=r.id,te(r.id)):ge({name:"NotLoggedInError",message:"This script cannot be used without login"})},$m=new Map,Vk=async(e,t)=>{let r=$m.get(e);return r?te(r):ao(await xr(e,t),({id:o})=>($m.set(e,o),o))};function Ie(e,t={}){let{signal:r,persistent:o=!0}=t;return r?.aborted?Promise.reject(r.reason):new Promise((n,s)=>{let i=()=>{clearTimeout(c),s(r?.reason)},c=setTimeout(()=>{r?.removeEventListener("abort",i),n()},e);if(r?.addEventListener("abort",i,{once:!0}),o===!1)try{Deno.unrefTimer(c)}catch(l){if(!(l instanceof ReferenceError))throw l;console.error("persistent option is only available in Deno")}})}var co=async(e,t,r,o)=>{let n=await ct(o?.socket,o?.sid);if(G(n))return ge({name:"UnexpectedRequestError",error:Yo(n)});let s=X(n),i=await tl(e,t,o);if(G(i))return i;let a=X(i);try{let c=0,l=[],u;for(;o?.maxAttempts===void 0||c<o.maxAttempts;){let p=r(a,c,l,u);if(l=p instanceof Promise?await p:p,c++,l.length===0)return te(a.commitId);let f={kind:"page",projectId:a.projectId,pageId:a.id,parentId:a.commitId,userId:a.userId,changes:l,cursor:null,freeze:!0};for(;;){let m=await Nm(s,"commit",f);if(Le(m))return a.commitId=X(m).commitId,te(a.commitId);let h=Yo(m),g=h.name;if(g==="SocketIOServerDisconnectError"||g==="UnexpectedRequestError")return ge(h);if(g==="TimeoutError"||g==="SocketIOError"){await Ie(3e3);continue}if(g==="NotFastForwardError"){await Ie(1e3);let y=await tl(e,t,o);if(G(y))return y;a=X(y)}u=g;break}}return ge({name:"RetryError",attempts:c,message:Retrying exceeded the maxAttempts (${c}).})}finally{o?.socket||await lt(s)}};var rl=(e,t)=>{let r=e.length>t.length,o=r?t:e,n=r?e:t,s=o.length+1,i=o.length+n.length+3,a=new Array(i);a.fill(-1);let c=[];function l(g,y,x){let E=Math.max(y,x),k=E-g;for(;k<o.length&&E<n.length&&o[k]===n[E];)++k,++E;return a[g+s]=c.length,c.push([{x:k,y:E},a[g+(y>x?-1:1)+s]]),E}let u=new Array(i);u.fill(-1);let p=-1,f=n.length-o.length;do{++p;for(let g=-p;g<=f-1;++g)u[g+s]=l(g,u[g-1+s]+1,u[g+1+s]);for(let g=f+p;g>=f+1;--g)u[g+s]=l(g,u[g-1+s]+1,u[g+1+s]);u[f+s]=l(f,u[f-1+s]+1,u[f+1+s])}while(u[f+s]!==n.length);let m=[],h=a[f+s];for(;h!==-1;)m.push(c[h][0]),h=c[h][1];return{from:e,to:t,editDistance:f+p*2,buildSES:function*(){let g=0,y=0;for(let{x,y:E}of zk(m))for(;g<x||y<E;)E-x>y-g?(yield{value:n[y],type:r?"deleted":"added"},++y):E-x<y-g?(yield{value:o[g],type:r?"added":"deleted"},++g):(yield{value:o[g],type:"common"},++g,++y)}}};function*ol(e){let t=[],r=[];function*o(){if(t.length>r.length){for(let n=0;n<r.length;n++)yield jm(t[n],r[n]);for(let n=r.length;n<t.length;n++)yield t[n]}else{for(let n=0;n<t.length;n++)yield jm(t[n],r[n]);for(let n=t.length;n<r.length;n++)yield r[n]}t=[],r=[]}for(let n of e)switch(n.type){case"added":t.push(n);break;case"deleted":r.push(n);break;case"common":yield*o(),yield n;break}yield*o()}var jm=(e,t)=>({value:e.value,oldValue:t.value,type:"replaced"});function*zk(e){for(let t=e.length-1;t>=0;t--)yield e[t]}var Bm=e=>e.padStart(8,"0"),nl=e=>{let t=Math.floor(new Date().getTime()/1e3).toString(16),r=Math.floor(16777214*Math.random()).toString(16);return${Bm(t).slice(-8)}${e.slice(-6)}0000${Bm(r)}};function*sl(e,t,{userId:r}){let{buildSES:o}=rl(e.map(({text:i})=>i),t),n=0,s=e[0].id;for(let i of ol(o())){switch(i.type){case"added":yield{_insert:s,lines:{id:nl(r),text:i.value}};continue;case"deleted":yield{_delete:s,lines:-1};break;case"replaced":yield{_update:s,lines:{text:i.value}};break}n++,s=e[n]?.id??"_end"}}var qk=(e,t)=>(e.type==="codeBlock"||e.type==="table")&&t.indent>(e.rows[0]?.indent??0),Hm=(e,t)=>{let r=e[e.length-1];return r!==void 0&&qk(r,t)?(r.rows.push(t),e):(e.push({type:/^\s*code:/.test(t.text)?"codeBlock":/^\s*table:/.test(t.text)?"table":"line",rows:[t]}),e)},Wm=(e,t)=>{if(t.hasTitle??!0){let[r,...o]=e;return r===void 0?[]:[{type:"title",rows:[r]},...o.reduce(Hm,[])]}return e.reduce(Hm,[])};var Gm=e=>e.split( ).map(t=>({indent:/^\s+/.exec(t)?.[0]?.length??0,text:t}));var Vm=e=>{let{rows:[t,...r]}=e,{indent:o=0,text:n=""}=t??{},s=n.replace(/^\s*code:/,"");return{indent:o,type:"codeBlock",fileName:s,content:r.map(i=>i.text.substring(o+1)).join(
)}};var ie=(e,{parseOnNested:t,parseOnQuoted:r,patterns:o})=>(n,s,i)=>{if(!t&&s.nested)return i?.()??[];if(!r&&s.quoted)return i?.()??[];for(let a of o){let c=a.exec(n);if(c===null)continue;let l=n.substring(0,c.index),u=n.substring(c.index+(c[0]?.length??0)),p=e(c[0]??"",s);return[...yt(l,s),...p,...yt(u,s)]}return i?.()??[]};var de=e=>[{type:"plain",raw:e,text:e}],zm=ie(de,{parseOnNested:!0,parseOnQuoted:!0,patterns:[/^()(.*)()$/]});var Kk=/\[\s+\]/,Xk=(e,t)=>t.context==="table"?de(e,t):[{type:"blank",raw:e,text:e.substring(1,e.length-1)}],qm=ie(Xk,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Kk]});var Yk=/.*?/,Jk=(e,t)=>t.context==="table"?de(e,t):[{type:"code",raw:e,text:e.substring(1,e.length-1)}],Km=ie(Jk,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Yk]});var Qk=/^[$%] .+$/,Zk=(e,t)=>{if(t.context==="table")return de(e,t);let r=e[0]??"",o=e.substring(2);return[{type:"commandLine",raw:e,symbol:r,text:o}]},Xm=ie(Zk,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Qk]});var ev=/\[[!"#%&'()*+,\-./{|}<>_~]+ (?:\[[^[\]]+\]|[^\]])+\]/,tv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.indexOf(" "),o=e.substring(1,r),n=e.substring(r+1,e.length-1),s=new Set(o);if(s.has("*")){let i=o.split("*").length-1;s.delete("*"),s.add(*-${Math.min(i,10)})}return[{type:"decoration",raw:e,rawDecos:o,decos:Array.from(s),nodes:yt(n,{...t,nested:!0})}]},Ym=ie(tv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[ev]});var rv=/\[https?:\/\/[^\s\]]+\s+[^\]]*[^\s]\]/,ov=/\[[^[\]]*[^\s]\s+https?:\/\/[^\s\]]+\]/,nv=/\[https?:\/\/[^\s\]]+\]/,sv=/https?:\/\/[^\s]+/,iv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.startsWith("[")&&e.endsWith("]")?e.substring(1,e.length-1):e,o=/^https?:\/\/[^\s\]]/.test(r),n=(o?/^https?:\/\/[^\s\]]+/:/https?:\/\/[^\s\]]+$/).exec(r);if(n?.[0]===void 0)return[];let s=o?r.substring(n[0].length):r.substring(0,n.index-1);return[{type:"link",raw:e,pathType:"absolute",href:n[0],content:s.trim()}]},Jm=ie(iv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[rv,ov,nv,sv]});var av=/\[\$ .+? \]/,cv=/\[\$ [^\]]+\]/,lv=(e,t)=>t.context==="table"?de(e,t):[{type:"formula",raw:e,formula:e.substring(3,e.length-(e.endsWith(" ]")?2:1))}],Qm=ie(lv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[av,cv]});var Zm=/\[([^\]]*[^\s])\s+([NS]\d+(?:\.\d+)?,[EW]\d+(?:\.\d+)?(?:,Z\d+)?)\]/,ef=/\[([NS]\d+(?:\.\d+)?,[EW]\d+(?:\.\d+)?(?:,Z\d+)?)(?:\s+([^\]]*[^\s]))?\]/,pv=e=>{let[t="",r="",o=""]=e.split(","),n=Number.parseFloat(t.replace(/^N/,"").replace(/^S/,"-")),s=Number.parseFloat(r.replace(/^E/,"").replace(/^W/,"-")),i=/^Z\d+$/.test(o)?Number.parseInt(o.replace(/^Z/,""),10):14;return{latitude:n,longitude:s,zoom:i}},uv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.match(Zm)??e.match(ef);if(r===null)return[];let o=e.startsWith("[N")||e.startsWith("[S"),[,n="",s=""]=o?r:[r[0],r[2],r[1]],{latitude:i,longitude:a,zoom:c}=pv(n),l=s!==""?https://www.google.com/maps/place/${encodeURIComponent(s)}/@${i},${a},${c}z:https://www.google.com/maps/@${i},${a},${c}z;return[{type:"googleMap",raw:e,latitude:i,longitude:a,zoom:c,place:s,url:l}]},tf=ie(uv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Zm,ef]});var mv=/(?:^|\s)#\S+/,fv=(e,t)=>{if(t.context==="table")return de(e,t);if(e.startsWith("#"))return[{type:"hashTag",raw:e,href:e.substring(1)}];let r=e.substring(0,1),o=e.substring(1);return[...de(r,t),{type:"hashTag",raw:o,href:o.substring(1)}]},rf=ie(fv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[mv]});var dv=/^\? .+$/,hv=(e,t)=>t.context==="table"?de(e,t):[{type:"helpfeel",raw:e,text:e.substring(2)}],of=ie(hv,{parseOnNested:!1,parseOnQuoted:!1,patterns:[dv]});var gv=/\[[^[\]]*\.icon(?:\*[1-9]\d*)?\]/,yv=e=>{let t=e.substring(1,e.length-1),r=t.lastIndexOf(".icon"),o=t.substring(0,r),n=o.startsWith("/")?"root":"relative",s=t.substring(r+5,t.length),i=s.startsWith("*")?Number.parseInt(s.substring(1),10):1;return new Array(i).fill({}).map(()=>({path:o,pathType:n,type:"icon",raw:e}))},nf=ie(yv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[gv]});var xv=/\[https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)(?:\?[^\]\s]+)?(?:\s+https?:\/\/[^\s\]]+)?\]/i,bv=/\[https?:\/\/[^\s\]]+\s+https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)(?:\?[^\]\s]+)?\]/i,Ev=/\[https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}(?:\/raw)?(?:\s+https?:\/\/[^\s\]]+)?\]/,wv=/\[https?:\/\/[^\s\]]+\s+https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}(?:\/raw)?\]/,Rv=e=>/^https?:\/\/[^\s\]]+\.(png|jpe?g|gif|svg|webp)(\?[^\]\s]+)?$/i.test(e)||kv(e),kv=e=>/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}(\/raw)?$/.test(e),vv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.search(/\s/),o=r!==-1?e.substring(1,r):e.substring(1,e.length-1),n=r!==-1?e.substring(r,e.length-1).replace(/^\s+/,""):"",[s,i]=Rv(n)?[n,o]:[o,n];return[{type:"image",raw:e,src:/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}$/.test(s)?${s}/thumb/1000:s,link:i}]},sf=ie(vv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[xv,bv,Ev,wv]});var _v=/\[\/?[^[\]]+\]/,Tv=e=>{let t=e.substring(1,e.length-1);return[{type:"link",raw:e,pathType:t.startsWith("/")?"root":"relative",href:t,content:""}]},af=ie(Tv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[_v]});var Pv=/^[0-9]+\. .*$/,Sv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.indexOf(" "),o=e.substring(0,r-1),n=Number.parseInt(o,10),s=e.substring(r+1,e.length);return[{type:"numberList",raw:e,rawNumber:o,number:n,nodes:yt(s,{...t,nested:!1})}]},cf=ie(Sv,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Pv]});var Ov=/^>.*$/,Lv=(e,t)=>t.context==="table"?de(e,t):[{type:"quote",raw:e,nodes:yt(e.substring(1),{...t,quoted:!0})}],lf=ie(Lv,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Ov]});var Nv=/\[\[[^[\]]*\.icon(?:\*\d+)?\]\]/,Cv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.substring(2,e.length-2),o=r.lastIndexOf(".icon"),n=r.substring(0,o),s=n.startsWith("/")?"root":"relative",i=r.substring(o+5,r.length),a=i.startsWith("*")?Number.parseInt(i.substring(1),10):1;return new Array(a).fill({}).map(()=>({path:n,pathType:s,type:"strongIcon",raw:e}))},pf=ie(Cv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Nv]});var Av=/\[\[https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)\]\]/i,Mv=/\[\[https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}\]\]/,Iv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.substring(2,e.length-2),o=/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}$/.test(r);return[{type:"strongImage",raw:e,src:o?${r}/thumb/1000:r}]},uf=ie(Iv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Av,Mv]});var Uv=/\[\[(?:[^[]|\[[^[]).*?\]*\]\]/,Fv=(e,t)=>t.context==="table"?de(e,t):[{type:"strong",raw:e,nodes:yt(e.substring(2,e.length-2),{...t,nested:!0})}],mf=ie(Fv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Uv]});var Dv=(e,t,r)=>e===""?[]:r?.()??[],$v=(...e)=>(t,r)=>e.reduceRight((o,n)=>()=>n(t,r,o),()=>zm(t,r))(),yt=$v(Dv,lf,of,cf,Km,Xm,Qm,qm,Ym,uf,pf,mf,sf,Jm,nf,tf,af,rf);var ff=e=>{let{indent:t,text:r}=e.rows[0];return{indent:t,type:"line",nodes:yt(r.substring(t),{nested:!1,quoted:!1,context:"line"})}};var df=e=>{let{rows:[t,...r]}=e,{indent:o=0,text:n=""}=t??{},s=n.replace(/^\s*table:/,"");return{indent:o,type:"table",fileName:s,cells:r.map(i=>i.text.substring(o+1)).map(i=>i.split(" ").map(a=>yt(a,{nested:!1,quoted:!1,context:"table"})))}};var hf=e=>({type:"title",text:e.rows[0].text});var gf=e=>{switch(e.type){case"title":return hf(e);case"codeBlock":return Vm(e);case"table":return df(e);case"line":return ff(e)}};var Be=(e,t)=>{let r=Gm(e);return Wm(r,{hasTitle:t?.hasTitle??!0}).map(gf)},yf=e=>/^\s*\S.*$/m.exec(e)?.[0]?.trim()??"Untitled";var jv=/https?:\/\/(?:www\.|music\.|)youtube\.com\/watch/,Bv=/https?:\/\/youtu\.be\/([a-zA-Z\d_-]+)(?:\?([^\s]{0,100})|)/,Hv=/https?:\/\/(?:www\.|)youtube\.com\/shorts\/([a-zA-Z\d_-]+)(?:\?([^\s]+)|)/,Wv=/https?:\/\/(?:www\.|music\.|)youtube\.com\/playlist\?((?:[^\s]+&|)list=([a-zA-Z\d_-]+)(?:&[^\s]+|))/,ai=e=>{if(jv.test(e)){let t=new URL(e).searchParams,r=t.get("v");if(r)return{pathType:"com",videoId:r,params:t}}{let t=e.match(Bv);if(t){let[,r,o]=t;return{videoId:r,params:new URLSearchParams(o),pathType:"dotbe"}}}{let t=e.match(Hv);if(t){let[,r,o]=t;return{videoId:r,params:new URLSearchParams(o),pathType:"short"}}}{let t=e.match(Wv);if(t){let[,r,o]=t;return{listId:o,params:new URLSearchParams(r),pathType:"list"}}}};var Ef=e=>{let t=Be(e,{hasTitle:!0}),r="",o=new Map,n=[],s=new Set,i=[],a=new Set,c=[],l=null,u=[],p=new Set,f=new Set,m=new RegExp(${globalThis.location?.origin??"https://scrapbox.io"}/files/([a-z0-9]{24})(?:|\\.[a-zA-Z0-9]+)(?:|\\?[^\\s]*)$),h=x=>{switch(x.type){case"hashTag":if(o.has(ne(x.href)))return;o.set(ne(x.href),!1),n.push(x.href);return;case"link":switch(x.pathType){case"relative":{let E=bf(x.href);if(o.get(ne(E)))return;o.set(ne(E),!0),n.push(E);return}case"root":{let E=bf(x.href);if(/^\/[\w\d-]+\/?$/.test(E)||s.has(ne(E)))return;s.add(ne(E)),i.push(E);return}case"absolute":{if(x.content)return;let E=ai(x.href);if(E&&E.pathType!=="list"){l??=https://i.ytimg.com/vi/${E.videoId}/mqdefault.jpg;return}let k=x.href.match(m)?.[1];k&&p.add(k);return}default:return}case"icon":case"strongIcon":{if(x.pathType==="root"||a.has(ne(x.path)))return;a.add(ne(x.path)),c.push(x.path);return}case"image":case"strongImage":{l??=x.src.endsWith("/thumb/1000")?x.src.replace(/\/thumb\/1000$/,"/raw"):x.src;{let E=x.src.match(m)?.[1];E&&p.add(E)}if(x.type==="image"){let E=x.link.match(m)?.[1];E&&p.add(E)}return}case"helpfeel":f.add(x.text);return;case"numberList":case"strong":case"quote":case"decoration":{for(let E of x.nodes)h(E);return}default:return}},g=[];for(let x of t)switch(x.type){case"title":{r=x.text;continue}case"line":u.length<5&&x.nodes.length>0&&u.push(x.nodes[0].type==="helpfeel"||x.nodes[0].type==="commandLine"?xf(x.nodes[0].raw):x.nodes.map(E=>E.raw).join("").trim().slice(0,200));for(let E of x.nodes)h(E);continue;case"codeBlock":u.length<5&&u.push(xf(x.content));continue;case"table":{for(let E of x.cells)for(let k of E)for(let b of k)h(b);if(!["infobox","cosense"].includes(x.fileName))continue;g.push(...x.cells.map(E=>E.map(k=>k.map(b=>b.raw).join("")).join(" ").trim()));continue}}let y=e.split( );return[r,n,i,c,l,u,[...p],[...f],g,y.length,y.reduce((x,E)=>x+[...E].length,0)]},xf=e=>\${e.trim().replaceAll("","\\").slice(0,198)}\`,bf=e=>e.replace(/#a-f\d{24,32}$/,"");var Ur=(e,t)=>e.length===t.length&&e.every(r=>t.includes(r));var wf=e=>e.flatMap(({text:t})=>/^\s*\? .*$/.test(t)?t.trimStart().slice(2):[]);function*Rf(e,t,r){let o=t.flatMap(g=>(De(g)?g:g.text).split(` ));for(let g of sl(e.lines,o,{userId:r}))yield g;let[n,s,i,a,c,l,u,p,f,m,h]=Ef(o.join(
));(e.title!==n||!e.persistent)&&(yield{title:n}),Ur(e.links,s)||(yield{links:s}),Ur(e.projectLinks,i)||(yield{projectLinks:i}),Ur(e.icons,a)||(yield{icons:a}),e.image!==c&&(yield{image:c}),Ur(e.descriptions,l)||(yield{descriptions:l}),Ur(e.files,u)||(yield{files:u}),Ur(wf(e.lines),p)||(yield{helpfeels:p}),Ur(e.infoboxDefinition,f)||(yield{infoboxDefinition:f}),yield{linesCount:m},yield{charsCount:h}}var kf=e=>{let t=e.match(/(.+?)(?:_(\d+))?$/),r=t?.[1]??e,o=t?.[2]?parseInt(t[2])+1:2;return${r}_${o}};var vf=()=>Number.MAX_SAFE_INTEGER-Math.floor(Date.now()/1e3);var Se=(e,t,r,o)=>co(e,t,async(n,s,i,a)=>{if(a==="DuplicateTitleError"){let m=kf(t);return i.map(h=>("title"in h&&(h.title=m),h))}let c=r(n.lines,{...n,attempts:s}),l=c instanceof Promise?await c:c;if(l===void 0)return[];let[u,p]=Array.isArray(l)?[l,void 0]:[l.lines,l.pin];if(u.length===0)return[{deleted:!0}];let f=n.lines===u?[]:[...Rf(n,u,n.userId)];return p!==void 0&&(p&&n.pin===0||!p&&n.pin>0)&&f.push({pin:p?vf():0}),f},o);var _f=(e,t,r)=>co(e,t,o=>o.persistent?[{deleted:!0}]:[],r);var ci=async(e,t,r,o)=>{let{sid:n,hostName:s,fetch:i}=pe(o??{}),a=await nr(o);if(G(a))return a;let c=new Request(https://${s}/api/pages/${e}/replace/links,{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(a),...n?{Cookie:ue(n)}:{}},body:JSON.stringify({from:t,to:r})}),l=await i(c);return G(l)?l:we(await ke(Re(X(l)),async u=>await Me(u,["NotFoundError","NotLoggedInError","NotMemberError"])??u),async u=>{let{message:p}=await u.json();return parseInt(p.match(/\d+/)?.[0]??"0")})};var Tf=(e,t)=>{let{sid:r,hostName:o,followingId:n}=pe(t??{});return new Request(https://${o}/api/pages/${e}/search/titles${n??followingId=${n}:""},r?{headers:{Cookie:ue(r)}}:void 0)},Pf=async e=>we(await ke(Re(e),async t=>t.response.status===422?{name:"InvalidFollowingIdError",message:await t.response.text()}:await Me(t,["NotFoundError","NotLoggedInError"])??t),t=>t.json().then(r=>({pages:r,followingId:t.headers.get("X-following-id")??""}))),zv=(()=>{let e=async(t,r)=>{let o=await pe(r??{}).fetch(Tf(t,r));return G(o)?o:Pf(X(o))};return e.toRequest=Tf,e.fromResponse=Pf,e})();async function*Sf(e,t){let r;do{let o=await zv(e,{followingId:r,...t});if(G(o)){yield o;return}let n=X(o);yield te(n.pages),r=n.followingId}while(r)}var Of=async(e,t,r)=>{let{sid:o,hostName:n,fetch:s}=pe(r??{}),i=new Request(https://${n}/api/pages/${t}/search/query?q=${encodeURIComponent(e)},o?{headers:{Cookie:ue(o)}}:void 0),a=await s(i);return G(a)?a:we(await ke(Re(X(a)),async c=>await Me(c,["NotFoundError","NotLoggedInError","NotMemberError","NoQueryError"])??c),c=>c.json())};var Lf=async(e,t)=>{let{sid:r,hostName:o,fetch:n}=pe(t??{}),s=await nr(t);if(G(s))return s;let i=new Request(https://${o}/api/embed-text/url?url=${encodeURIComponent(${e})},{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(s),...r?{Cookie:ue(r)}:{}},body:JSON.stringify({timeout:3e3})}),a=await n(i);return G(a)?a:we(await ke(Re(X(a)),async c=>await Me(c,["SessionError","BadRequestError","InvalidURLError"])??c),async c=>{let{title:l}=await c.json();return l})};var Nf=async(e,t)=>{let{sid:r,hostName:o,fetch:n}=pe(t??{}),s=await nr(t);if(G(s))return s;let i=new Request(https://${o}/api/embed-text/twitter?url=${encodeURIComponent(${e})},{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(s),...r?{Cookie:ue(r)}:{}},body:JSON.stringify({timeout:3e3})}),a=await n(i);return G(a)?a:ke(await we(Re(X(a)),c=>c.json()),async c=>c.response.status===422?{name:"InvalidURLError",message:(await c.response.json()).message}:await Me(c,["SessionError","BadRequestError"])??c)};var Cf=async e=>{let{fetch:t,sid:r,hostName:o,gyazoTeamsName:n}=pe(e??{}),s=new Request(https://${o}/api/login/gyazo/oauth-upload/token${n??gyazoTeamsName=${n}:""},r?{headers:{Cookie:ue(r)}}:void 0),i=await t(s);return G(i)?i:we(await ke(Re(X(i)),async a=>await Me(a,["NotLoggedInError"])??a),a=>a.json().then(c=>c.token))};var Af=(e,t,r,o)=>{let{sid:n,hostName:s}=pe(o??{});return new Request(https://${s}/api/code/${e}/${ae(t)}/${ae(r)},n?{headers:{Cookie:ue(n)}}:void 0)},Mf=async e=>we(await ke(Re(e),async t=>t.response.status===404&&t.response.headers.get("Content-Type")?.includes?.("text/plain")?{name:"NotFoundError",message:"Code block is not found"}:await Me(t,["NotLoggedInError","NotMemberError"])??t),t=>t.text()),li=(()=>{let e=async(t,r,o,n)=>{let s=Af(t,r,o,n),i=await pe(n??{}).fetch(s);return G(i)?i:Mf(X(i))};return e.toRequest=Af,e.fromResponse=Mf,e})();var Ff=e=>{let t=typeof e=="string"?new TextEncoder().encode(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r=[1732584193,4023233417,2562383102,271733878],o=new Uint8Array(il),n=0,s=0,i=0;[r,o,n,s,i]=Uf(r,o,n,s,i,t);let a=il-n;a<9&&(a+=il);let c=new Uint8Array(a);c[0]=128,[s,i]=[s<<3,i<<3|s>>>29],c[c.length-8]=s&255,c[c.length-7]=s>>>8&255,c[c.length-6]=s>>>16&255,c[c.length-5]=s>>>24&255,c[c.length-4]=i&255,c[c.length-3]=i>>>8&255,c[c.length-2]=i>>>16&255,c[c.length-1]=i>>>24&255,[r,o,n,s,i]=Uf(r,o,n,s,i,new Uint8Array(c.buffer));let l=new ArrayBuffer(16),u=new DataView(l);return u.setUint32(0,r[0],!0),u.setUint32(4,r[1],!0),u.setUint32(8,r[2],!0),u.setUint32(12,r[3],!0),l},il=64,B=(e,t)=>e<<t|e>>>32-t,pt=(e,t)=>e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24,If=(e,t)=>{let[r,o,n,s]=e,i=pt(t,0),a=pt(t,4),c=pt(t,8),l=pt(t,12),u=pt(t,16),p=pt(t,20),f=pt(t,24),m=pt(t,28),h=pt(t,32),g=pt(t,36),y=pt(t,40),x=pt(t,44),E=pt(t,48),k=pt(t,52),b=pt(t,56),v=pt(t,60);return r=o+B(((n^s)&o^s)+r+i+3614090360,7),s=r+B(((o^n)&r^n)+s+a+3905402710,12),n=s+B(((r^o)&s^o)+n+c+606105819,17),o=n+B(((s^r)&n^r)+o+l+3250441966,22),r=o+B(((n^s)&o^s)+r+u+4118548399,7),s=r+B(((o^n)&r^n)+s+p+1200080426,12),n=s+B(((r^o)&s^o)+n+f+2821735955,17),o=n+B(((s^r)&n^r)+o+m+4249261313,22),r=o+B(((n^s)&o^s)+r+h+1770035416,7),s=r+B(((o^n)&r^n)+s+g+2336552879,12),n=s+B(((r^o)&s^o)+n+y+4294925233,17),o=n+B(((s^r)&n^r)+o+x+2304563134,22),r=o+B(((n^s)&o^s)+r+E+1804603682,7),s=r+B(((o^n)&r^n)+s+k+4254626195,12),n=s+B(((r^o)&s^o)+n+b+2792965006,17),o=n+B(((s^r)&n^r)+o+v+1236535329,22),r=o+B(((o^n)&s^n)+r+a+4129170786,5),s=r+B(((r^o)&n^o)+s+f+3225465664,9),n=s+B(((s^r)&o^r)+n+x+643717713,14),o=n+B(((n^s)&r^s)+o+i+3921069994,20),r=o+B(((o^n)&s^n)+r+p+3593408605,5),s=r+B(((r^o)&n^o)+s+y+38016083,9),n=s+B(((s^r)&o^r)+n+v+3634488961,14),o=n+B(((n^s)&r^s)+o+u+3889429448,20),r=o+B(((o^n)&s^n)+r+g+568446438,5),s=r+B(((r^o)&n^o)+s+b+3275163606,9),n=s+B(((s^r)&o^r)+n+l+4107603335,14),o=n+B(((n^s)&r^s)+o+h+1163531501,20),r=o+B(((o^n)&s^n)+r+k+2850285829,5),s=r+B(((r^o)&n^o)+s+c+4243563512,9),n=s+B(((s^r)&o^r)+n+m+1735328473,14),o=n+B(((n^s)&r^s)+o+E+2368359562,20),r=o+B((o^n^s)+r+p+4294588738,4),s=r+B((r^o^n)+s+h+2272392833,11),n=s+B((s^r^o)+n+x+1839030562,16),o=n+B((n^s^r)+o+b+4259657740,23),r=o+B((o^n^s)+r+a+2763975236,4),s=r+B((r^o^n)+s+u+1272893353,11),n=s+B((s^r^o)+n+m+4139469664,16),o=n+B((n^s^r)+o+y+3200236656,23),r=o+B((o^n^s)+r+k+681279174,4),s=r+B((r^o^n)+s+i+3936430074,11),n=s+B((s^r^o)+n+l+3572445317,16),o=n+B((n^s^r)+o+f+76029189,23),r=o+B((o^n^s)+r+g+3654602809,4),s=r+B((r^o^n)+s+E+3873151461,11),n=s+B((s^r^o)+n+v+530742520,16),o=n+B((n^s^r)+o+c+3299628645,23),r=o+B((n^(o|~s))+r+i+4096336452,6),s=r+B((o^(r|~n))+s+m+1126891415,10),n=s+B((r^(s|~o))+n+b+2878612391,15),o=n+B((s^(n|~r))+o+p+4237533241,21),r=o+B((n^(o|~s))+r+E+1700485571,6),s=r+B((o^(r|~n))+s+l+2399980690,10),n=s+B((r^(s|~o))+n+y+4293915773,15),o=n+B((s^(n|~r))+o+a+2240044497,21),r=o+B((n^(o|~s))+r+h+1873313359,6),s=r+B((o^(r|~n))+s+v+4264355552,10),n=s+B((r^(s|~o))+n+f+2734768916,15),o=n+B((s^(n|~r))+o+k+1309151649,21),r=o+B((n^(o|~s))+r+u+4149444226,6),s=r+B((o^(r|~n))+s+x+3174756917,10),n=s+B((r^(s|~o))+n+c+718787259,15),o=n+B((s^(n|~r))+o+g+3951481745,21),[e[0]+r>>>0,e[1]+o>>>0,e[2]+n>>>0,e[3]+s>>>0]},Uf=(e,t,r,o,n,s)=>{let i=64-r;if(s.length<i)t.set(s,r),r+=s.length;else{t.set(s.slice(0,i),r),e=If(e,t);let a=i;for(;a+64<=s.length;)e=If(e,s.slice(a,a+64)),a+=64;t.fill(0).set(s.slice(a),0),r=s.length-a}return[o,n]=qv(o,n,s.length),[e,t,r,o,n]},qv=(e,t,r)=>(e+=r,e>4294967295&&(t+=1),[e>>>0,t]);var Kv=new TextEncoder().encode("0123456789abcdef"),Df=new Uint8Array(128).fill(16);Kv.forEach((e,t)=>Df[e]=t);new TextEncoder().encode("ABCDEF").forEach((e,t)=>Df[e]=t+10);function $f(e){return e*2}function jf(e,t,r,o){for(;t<e.length;++t){let n=e[t];e[r++]=o[n>>4],e[r++]=o[n&15]}return r}function Bf(e,t){let r=e.length;if(e.byteOffset){let o=new Uint8Array(e.buffer);o.set(e),e=o.subarray(0,r)}return e=new Uint8Array(e.buffer.transfer(t)),e.set(e.subarray(0,r),t-r),[e,t-r]}var Hf=new TextEncoder().encode("0123456789abcdef"),Wf=new Uint8Array(128).fill(16);Hf.forEach((e,t)=>Wf[e]=t);new TextEncoder().encode("ABCDEF").forEach((e,t)=>Wf[e]=t+10);function Gf(e){typeof e=="string"?e=new TextEncoder().encode(e):e instanceof ArrayBuffer?e=new Uint8Array(e).slice():e=e.slice();let[t,r]=Bf(e,$f(e.length));return jf(t,r,0,Hf),new TextDecoder().decode(t)}var Vf=async(e,t,r)=>{let o=${Gf(Ff(await e.arrayBuffer()))},n=await Xv(e,t,o,r);if(G(n))return n;let s=X(n);if("embedUrl"in s)return te(s);let i=await Yv(s.signedUrl,e,r);return G(i)?i:Jv(t,s.fileId,o,r)},Xv=async(e,t,r,o)=>{let{sid:n,hostName:s,fetch:i,csrf:a}=pe(o??{}),c={md5:r,size:e.size,contentType:e.type,name:e.name},l=await Ys(si(a),()=>nr(o));if(G(l))return l;let u=new Request(https://${s}/api/gcs/${t}/upload-request,{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(l),...n?{Cookie:ue(n)}:{}}}),p=await i(u);return G(p)?p:we(await ke(Re(X(p)),async f=>f.response.status===402?{name:"FileCapacityError",message:(await f.response.json()).message}:f),f=>f.json())},Yv=async(e,t,r)=>{let{sid:o,fetch:n}=pe(r??{}),s=await n(e,{method:"PUT",body:t,headers:{"Content-Type":t.type,...o?{Cookie:ue(o)}:{}}});return G(s)?s:ao(await ke(Re(X(s)),async i=>i.response.headers.get("Content-Type")?.includes?.("/xml")?{name:"GCSError",message:await i.response.text()}:i),()=>{})},Jv=async(e,t,r,o)=>{let{sid:n,hostName:s,fetch:i,csrf:a}=pe(o??{}),c=await Ys(si(a),()=>nr(o));if(G(c))return c;let l=new Request(https://${s}/api/gcs/${e}/verify,{method:"POST",body:JSON.stringify({md5:r,fileId:t}),headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(c),...n?{Cookie:ue(n)}:{}}}),u=await i(l);return G(u)?u:we(await ke(Re(X(u)),async p=>p.response.status===404?{name:"NotFoundError",message:(await p.response.json()).message}:p),p=>p.json())};function ut(e){return e.val}function Rt(e){return e.err}var zf=" must not return ",Qv="transformer",Zv="recoverer",e_="defaultValue",pi=Qv+zf,lo="called with ",ui=e_+" must not be ",mi=Zv+zf;var t_="Ok",qf="Err",Kf=lo+qf,Xf=lo+t_,r_="Carrying E in "+qf+" instead of throwing it directly. See .cause",al="an instance of Error of the current realm.",m3="The thrown value is not "+al,f3="The contained E should be "+al,o_="This .cause is not "+al;function Ne(e){return e.ok}function ce(e){return{ok:!0,val:e,err:null}}function H(e){return!e.ok}function Q(e){return{ok:!1,val:null,err:e}}function W(e){return Yf(e,Kf)}function re(e){return Jf(e,Xf)}function Yf(e,t){if(H(e))throw new TypeError(t);return e.val}function Jf(e,t){if(Ne(e))throw new TypeError(t);return e.err}async function _t(e,t){if(H(e))return e;let r=ut(e),o=await t(r);return ce(o)}function cl(e,t,r){if(Ne(e)){let n=ut(e);return r(n)}let o=Rt(e);return t(o)}var fi="null",bV=pi+fi,i_=lo+fi,EV=ui+fi,wV=mi+fi;var di="undefined",TV=pi+di,a_=lo+di,PV=ui+di,SV=mi+di;var Zf=async e=>{let t=e.title??".watchlistrc",r="projectsLastAccessed.json",o=await li(e.project,t,r),n=H(o)?{}:JSON.parse(W(o)||"{}"),s=JSON.parse(localStorage.getItem("projectsLastAccessed")??"{}"),i=new Set([...Object.keys(n),...Object.keys(s)]),a=Object.fromEntries([...i].map(l=>[l,Math.max(n[l]??0,s[l]??0)]).sort((l,u)=>u[1]-l[1])),c=JSON.stringify(a);localStorage.setItem("projectsLastAccessed",c),await Se(e.project,t,()=>[t,"This page is automatically generated. DO NOT EDIT ANYTHING, WHITCH WILL BE OVERWRITTEN.","",code:${r}, ${c},""])};var Tt=!1,hi=e=>{Tt=typeof e=="boolean"?e:new Set(e)},Fr=e=>Object.fromEntries([...Object.entries(console)].map(([t,r])=>{if(typeof r!="function")return[t,r];switch(t){case"warn":case"error":return[t,(...o)=>r(%c${e},ll,...o)];case"log":case"info":case"debug":return[t,(...o)=>{Tt!==!0&&(!Tt||!Tt.has(e))||r(%c${e},ll,...o)}];case"assert":return[t,(o,...n)=>{Tt!==!0&&(!Tt||!Tt.has(e))||r(o,%c${e},ll,...n)}];case"time":case"timeEnd":return[t,o=>{Tt!==!0&&(!Tt||!Tt.has(e))||r(${e} ${o})}];default:return[t,(...o)=>{if(!(Tt!==!0&&(!Tt||!Tt.has(e))))return r(...o)}]}})),ll="color: gray";var br=globalThis.scrapbox;var gi=e=>{let{fetch:t=globalThis.fetch,...r}=e;return{fetch:t,...r}};var ed=e=>{let{accessToken:t,fetch:r,page:o,per:n}=gi(e??{}),i=https://api.gyazo.com/api/images?${new URLSearchParams({access_token:t,...n!==void 0?{per_page:${Math.max(1,Math.min(100,Math.round(n)))}}:{},...o!==void 0?{page:${o}}:{}})};return r(i)};var Qo="Gyazo Viewer",td=e=>{let t=Promise.resolve(),r=globalThis.GM_fetch;br.PageMenu.addMenu({title:r?Qo:"Open Gyazo",icon:"kamon kamon-gyazo",onClick:r?()=>{t=t.then(()=>l_({per:e.maxCount??10,accessToken:e.accessToken,fetch:r,onClick:e.onClick}))}:()=>globalThis.open("https://gyazo.com/captures")})},l_=async e=>{let t;try{let r=ed({page:0,...e});t=setTimeout(()=>{br.PageMenu(Qo).addItem({title:"Loading...",icon:"fas fa-spinner",onClick:()=>{}})},100);let o=await r;if(!o.ok)throw new Error(${o.status} ${o.statusText});let n=await o.json();clearTimeout(t),br.PageMenu(Qo).removeAllItems();for(let s of n)s.image_id&&br.PageMenu(Qo).addItem({title:s.metadata?.title||"Untitled",image:s.url,onClick:i=>e.onClick?.(s,i)??navigator?.clipboard?.writeText?.(s.permalink_url)?.catch?.(a=>{alert(${a}),console.error(a)})})}catch(r){clearTimeout(t),br.PageMenu(Qo).removeAllItems(),br.PageMenu(Qo).addItem({title:"Failed to load the image list.",icon:"fas fa-exclamation-triangle",onClick:()=>{}}),console.error("Failed to load the image list",r)}};import{GYAZO_ACCESS_TOKEN as p1}from"https://scrapbox.io/api/code/takker-memex/GYAZO_ACCESS_TOKEN/auth.js";var Ei,Z,sd,p_,po,rd,id,ad,cd,fl,pl,ul,ld,Hn={},pd=[],u_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Wn=Array.isArray;function Er(e,t){for(var r in t)e[r]=t[r];return e}function dl(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function wr(e,t,r){var o,n,s,i={};for(s in t)s=="key"?o=t[s]:s=="ref"?n=t[s]:i[s]=t[s];if(arguments.length>2&&(i.children=arguments.length>3?Ei.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(s in e.defaultProps)i[s]==null&&(i[s]=e.defaultProps[s]);return xi(e,i,o,n,null)}function xi(e,t,r,o,n){var s={type:e,props:t,key:r,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:n??++sd,__i:-1,__u:0};return n==null&&Z.vnode!=null&&Z.vnode(s),s}function Y(e){return e.children}function Kt(e,t){this.props=e,this.context=t}function Zo(e,t){if(t==null)return e.__?Zo(e.__,e.__i+1):null;for(var r;t<e.__k.length;t++)if((r=e.__k[t])!=null&&r.__e!=null)return r.__e;return typeof e.type=="function"?Zo(e):null}function ud(e){var t,r;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((r=e.__k[t])!=null&&r.__e!=null){e.__e=e.__c.base=r.__e;break}return ud(e)}}function ml(e){(!e.__d&&(e.__d=!0)&&po.push(e)&&!bi.__r++||rd!=Z.debounceRendering)&&((rd=Z.debounceRendering)||id)(bi)}function bi(){for(var e,t,r,o,n,s,i,a=1;po.length;)po.length>a&&po.sort(ad),e=po.shift(),a=po.length,e.__d&&(r=void 0,n=(o=(t=e).__v).__e,s=[],i=[],t.__P&&((r=Er({},o)).__v=o.__v+1,Z.vnode&&Z.vnode(r),hl(t.__P,r,o,t.__n,t.__P.namespaceURI,32&o.__u?[n]:null,s,n??Zo(o),!!(32&o.__u),i),r.__v=o.__v,r.__.__k[r.__i]=r,dd(s,r,i),r.__e!=n&&ud(r)));bi.__r=0}function md(e,t,r,o,n,s,i,a,c,l,u){var p,f,m,h,g,y,x=o&&o.__k||pd,E=t.length;for(c=m_(r,t,x,c,E),p=0;p<E;p++)(m=r.__k[p])!=null&&(f=m.__i==-1?Hn:x[m.__i]||Hn,m.__i=p,y=hl(e,m,f,n,s,i,a,c,l,u),h=m.__e,m.ref&&f.ref!=m.ref&&(f.ref&&gl(f.ref,null,m),u.push(m.ref,m.__c||h,m)),g==null&&h!=null&&(g=h),4&m.__u||f.__k===m.__k?c=fd(m,c,e):typeof m.type=="function"&&y!==void 0?c=y:h&&(c=h.nextSibling),m.__u&=-7);return r.__e=g,c}function m_(e,t,r,o,n){var s,i,a,c,l,u=r.length,p=u,f=0;for(e.__k=new Array(n),s=0;s<n;s++)(i=t[s])!=null&&typeof i!="boolean"&&typeof i!="function"?(c=s+f,(i=e.__k[s]=typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?xi(null,i,null,null,null):Wn(i)?xi(Y,{children:i},null,null,null):i.constructor==null&&i.__b>0?xi(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,a=null,(l=i.__i=f_(i,r,c,p))!=-1&&(p--,(a=r[l])&&(a.__u|=2)),a==null||a.__v==null?(l==-1&&(n>u?f--:n<u&&f++),typeof i.type!="function"&&(i.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,i.__u|=4))):e.__k[s]=null;if(p)for(s=0;s<u;s++)(a=r[s])!=null&&!(2&a.__u)&&(a.__e==o&&(o=Zo(a)),gd(a,a));return o}function fd(e,t,r){var o,n;if(typeof e.type=="function"){for(o=e.__k,n=0;o&&n<o.length;n++)o[n]&&(o[n].__=e,t=fd(o[n],t,r));return t}e.__e!=t&&(t&&e.type&&!r.contains(t)&&(t=Zo(e)),r.insertBefore(e.__e,t||null),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function Dr(e,t){return t=t||[],e==null||typeof e=="boolean"||(Wn(e)?e.some(function(r){Dr(r,t)}):t.push(e)),t}function f_(e,t,r,o){var n,s,i=e.key,a=e.type,c=t[r];if(c===null&&e.key==null||c&&i==c.key&&a==c.type&&!(2&c.__u))return r;if(o>(c!=null&&!(2&c.__u)?1:0))for(n=r-1,s=r+1;n>=0||s<t.length;){if(n>=0){if((c=t[n])&&!(2&c.__u)&&i==c.key&&a==c.type)return n;n--}if(s<t.length){if((c=t[s])&&!(2&c.__u)&&i==c.key&&a==c.type)return s;s++}}return-1}function od(e,t,r){t[0]=="-"?e.setProperty(t,r??""):e[t]=r==null?"":typeof r!="number"||u_.test(t)?r:r+"px"}function yi(e,t,r,o,n){var s;e:if(t=="style")if(typeof r=="string")e.style.cssText=r;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)r&&t in r||od(e.style,t,"");if(r)for(t in r)o&&r[t]==o[t]||od(e.style,t,r[t])}else if(t[0]=="o"&&t[1]=="n")s=t!=(t=t.replace(cd,"$1")),t=t.toLowerCase()in e||t=="onFocusOut"||t=="onFocusIn"?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+s]=r,r?o?r.u=o.u:(r.u=fl,e.addEventListener(t,s?ul:pl,s)):e.removeEventListener(t,s?ul:pl,s);else{if(n=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=r??"";break e}catch{}typeof r=="function"||(r==null||r===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&r==1?"":r))}}function nd(e){return function(t){if(this.l){var r=this.l[t.type+e];if(t.t==null)t.t=fl++;else if(t.t<r.u)return;return r(Z.event?Z.event(t):t)}}}function hl(e,t,r,o,n,s,i,a,c,l){var u,p,f,m,h,g,y,x,E,k,b,v,R,O,L,N,P,_=t.type;if(t.constructor!=null)return null;128&r.__u&&(c=!!(32&r.__u),s=[a=t.__e=r.__e]),(u=Z.__b)&&u(t);e:if(typeof _=="function")try{if(x=t.props,E="prototype"in _&&_.prototype.render,k=(u=_.contextType)&&o[u.__c],b=u?k?k.props.value:u.__:o,r.__c?y=(p=t.__c=r.__c).__=p.__E:(E?t.__c=p=new _(x,b):(t.__c=p=new Kt(x,b),p.constructor=_,p.render=h_),k&&k.sub(p),p.props=x,p.state||(p.state={}),p.context=b,p.__n=o,f=p.__d=!0,p.__h=[],p._sb=[]),E&&p.__s==null&&(p.__s=p.state),E&&_.getDerivedStateFromProps!=null&&(p.__s==p.state&&(p.__s=Er({},p.__s)),Er(p.__s,_.getDerivedStateFromProps(x,p.__s))),m=p.props,h=p.state,p.__v=t,f)E&&_.getDerivedStateFromProps==null&&p.componentWillMount!=null&&p.componentWillMount(),E&&p.componentDidMount!=null&&p.__h.push(p.componentDidMount);else{if(E&&_.getDerivedStateFromProps==null&&x!==m&&p.componentWillReceiveProps!=null&&p.componentWillReceiveProps(x,b),!p.__e&&p.shouldComponentUpdate!=null&&p.shouldComponentUpdate(x,p.__s,b)===!1||t.__v==r.__v){for(t.__v!=r.__v&&(p.props=x,p.state=p.__s,p.__d=!1),t.__e=r.__e,t.__k=r.__k,t.__k.some(function(T){T&&(T.__=t)}),v=0;v<p._sb.length;v++)p.__h.push(p._sb[v]);p._sb=[],p.__h.length&&i.push(p);break e}p.componentWillUpdate!=null&&p.componentWillUpdate(x,p.__s,b),E&&p.componentDidUpdate!=null&&p.__h.push(function(){p.componentDidUpdate(m,h,g)})}if(p.context=b,p.props=x,p.__P=e,p.__e=!1,R=Z.__r,O=0,E){for(p.state=p.__s,p.__d=!1,R&&R(t),u=p.render(p.props,p.state,p.context),L=0;L<p._sb.length;L++)p.__h.push(p._sb[L]);p._sb=[]}else do p.__d=!1,R&&R(t),u=p.render(p.props,p.state,p.context),p.state=p.__s;while(p.__d&&++O<25);p.state=p.__s,p.getChildContext!=null&&(o=Er(Er({},o),p.getChildContext())),E&&!f&&p.getSnapshotBeforeUpdate!=null&&(g=p.getSnapshotBeforeUpdate(m,h)),N=u,u!=null&&u.type===Y&&u.key==null&&(N=hd(u.props.children)),a=md(e,Wn(N)?N:[N],t,r,o,n,s,i,a,c,l),p.base=t.__e,t.__u&=-161,p.__h.length&&i.push(p),y&&(p.__E=p.__=null)}catch(T){if(t.__v=null,c||s!=null)if(T.then){for(t.__u|=c?160:128;a&&a.nodeType==8&&a.nextSibling;)a=a.nextSibling;s[s.indexOf(a)]=null,t.__e=a}else for(P=s.length;P--;)dl(s[P]);else t.__e=r.__e,t.__k=r.__k;Z.__e(T,t,r)}else s==null&&t.__v==r.__v?(t.__k=r.__k,t.__e=r.__e):a=t.__e=d_(r.__e,t,r,o,n,s,i,c,l);return(u=Z.diffed)&&u(t),128&t.__u?void 0:a}function dd(e,t,r){for(var o=0;o<r.length;o++)gl(r[o],r[++o],r[++o]);Z.__c&&Z.__c(t,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(s){s.call(n)})}catch(s){Z.__e(s,n.__v)}})}function hd(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:Wn(e)?e.map(hd):Er({},e)}function d_(e,t,r,o,n,s,i,a,c){var l,u,p,f,m,h,g,y=r.props,x=t.props,E=t.type;if(E=="svg"?n="http://www.w3.org/2000/svg":E=="math"?n="http://www.w3.org/1998/Math/MathML":n||(n="http://www.w3.org/1999/xhtml"),s!=null){for(l=0;l<s.length;l++)if((m=s[l])&&"setAttribute"in m==!!E&&(E?m.localName==E:m.nodeType==3)){e=m,s[l]=null;break}}if(e==null){if(E==null)return document.createTextNode(x);e=document.createElementNS(n,E,x.is&&x),a&&(Z.__m&&Z.__m(t,s),a=!1),s=null}if(E==null)y===x||a&&e.data==x||(e.data=x);else{if(s=s&&Ei.call(e.childNodes),y=r.props||Hn,!a&&s!=null)for(y={},l=0;l<e.attributes.length;l++)y[(m=e.attributes[l]).name]=m.value;for(l in y)if(m=y[l],l!="children"){if(l=="dangerouslySetInnerHTML")p=m;else if(!(l in x)){if(l=="value"&&"defaultValue"in x||l=="checked"&&"defaultChecked"in x)continue;yi(e,l,null,m,n)}}for(l in x)m=x[l],l=="children"?f=m:l=="dangerouslySetInnerHTML"?u=m:l=="value"?h=m:l=="checked"?g=m:a&&typeof m!="function"||y[l]===m||yi(e,l,m,y[l],n);if(u)a||p&&(u.__html==p.__html||u.__html==e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(p&&(e.innerHTML=""),md(t.type=="template"?e.content:e,Wn(f)?f:[f],t,r,o,E=="foreignObject"?"http://www.w3.org/1999/xhtml":n,s,i,s?s[0]:r.__k&&Zo(r,0),a,c),s!=null)for(l=s.length;l--;)dl(s[l]);a||(l="value",E=="progress"&&h==null?e.removeAttribute("value"):h!=null&&(h!==e[l]||E=="progress"&&!h||E=="option"&&h!=y[l])&&yi(e,l,h,y[l],n),l="checked",g!=null&&g!=e[l]&&yi(e,l,g,y[l],n))}return e}function gl(e,t,r){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(n){Z.__e(n,r)}}function gd(e,t,r){var o,n;if(Z.unmount&&Z.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||gl(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(s){Z.__e(s,t)}o.base=o.__P=null}if(o=e.__k)for(n=0;n<o.length;n++)o[n]&&gd(o[n],t,r||typeof e.type!="function");r||dl(e.__e),e.__c=e.__=e.__e=void 0}function h_(e,t,r){return this.constructor(e,r)}function mt(e,t,r){var o,n,s,i;t==document&&(t=document.documentElement),Z.__&&Z.__(e,t),n=(o=typeof r=="function")?null:r&&r.__k||t.__k,s=[],i=[],hl(t,e=(!o&&r||t).__k=wr(Y,null,[e]),n||Hn,Hn,t.namespaceURI,!o&&r?[r]:n?null:t.firstChild?Ei.call(t.childNodes):null,s,!o&&r?r:n?n.__e:t.firstChild,o,i),dd(s,e,i)}function Gn(e){function t(r){var o,n;return this.getChildContext||(o=new Set,(n={})[t.__c]=this,this.getChildContext=function(){return n},this.componentWillUnmount=function(){o=null},this.shouldComponentUpdate=function(s){this.props.value!=s.value&&o.forEach(function(i){i.__e=!0,ml(i)})},this.sub=function(s){o.add(s);var i=s.componentWillUnmount;s.componentWillUnmount=function(){o&&o.delete(s),i&&i.call(s)}}),r.children}return t.__c="__cC"+ld++,t.__=e,t.Provider=t.__l=(t.Consumer=function(r,o){return r.children(o)}).contextType=t,t}Ei=pd.slice,Z={__e:function(e,t,r,o){for(var n,s,i;t=t.__;)if((n=t.__c)&&!n.__)try{if((s=n.constructor)&&s.getDerivedStateFromError!=null&&(n.setState(s.getDerivedStateFromError(e)),i=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(e,o||{}),i=n.__d),i)return n.__E=n}catch(a){e=a}throw e}},sd=0,p_=function(e){return e!=null&&e.constructor==null},Kt.prototype.setState=function(e,t){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=Er({},this.state),typeof e=="function"&&(e=e(Er({},r),this.props)),e&&Er(r,e),e!=null&&this.__v&&(t&&this._sb.push(t),ml(this))},Kt.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ml(this))},Kt.prototype.render=Y,po=[],id=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,ad=function(e,t){return e.__v.__b-t.__v.__b},bi.__r=0,cd=/(PointerCapture)$|Capture$/i,fl=0,pl=nd(!1),ul=nd(!0),ld=0;var uo,Ce,yl,yd,Vn=0,_d=[],$e=Z,xd=$e.__b,bd=$e.__r,Ed=$e.diffed,wd=$e.__c,Rd=$e.unmount,kd=$e.__;function zn(e,t){$e.__h&&$e.__h(Ce,e,Vn||t),Vn=0;var r=Ce.__H||(Ce.__H={__:[],__h:[]});return e>=r.__.length&&r.__.push({}),r.__[e]}function J(e){return Vn=1,$r(Td,e)}function $r(e,t,r){var o=zn(uo++,2);if(o.t=e,!o.__c&&(o.__=[r?r(t):Td(void 0,t),function(a){var c=o.__N?o.__N[0]:o.__[0],l=o.t(c,a);c!==l&&(o.__N=[l,o.__[1]],o.__c.setState({}))}],o.__c=Ce,!Ce.__f)){var n=function(a,c,l){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(f){return!!f.__c});if(u.every(function(f){return!f.__N}))return!s||s.call(this,a,c,l);var p=o.__c.props!==a;return u.forEach(function(f){if(f.__N){var m=f.__[0];f.__=f.__N,f.__N=void 0,m!==f.__[0]&&(p=!0)}}),s&&s.call(this,a,c,l)||p};Ce.__f=!0;var s=Ce.shouldComponentUpdate,i=Ce.componentWillUpdate;Ce.componentWillUpdate=function(a,c,l){if(this.__e){var u=s;s=void 0,n(a,c,l),s=u}i&&i.call(this,a,c,l)},Ce.shouldComponentUpdate=n}return o.__N||o.__}function oe(e,t){var r=zn(uo++,3);!$e.__s&&bl(r.__H,t)&&(r.__=e,r.u=t,Ce.__H.__h.push(r))}function Ri(e,t){var r=zn(uo++,4);!$e.__s&&bl(r.__H,t)&&(r.__=e,r.u=t,Ce.__h.push(r))}function Ve(e){return Vn=5,C(function(){return{current:e}},[])}function C(e,t){var r=zn(uo++,7);return bl(r.__H,t)&&(r.__=e(),r.__H=t,r.__h=e),r.__}function U(e,t){return Vn=8,C(function(){return e},t)}function Rr(e){var t=Ce.context[e.__c],r=zn(uo++,9);return r.c=e,t?(r.__==null&&(r.__=!0,t.sub(Ce)),t.props.value):e.__}function g_(){for(var e;e=_d.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(wi),e.__H.__h.forEach(xl),e.__H.__h=[]}catch(t){e.__H.__h=[],$e.__e(t,e.__v)}}$e.__b=function(e){Ce=null,xd&&xd(e)},$e.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),kd&&kd(e,t)},$e.__r=function(e){bd&&bd(e),uo=0;var t=(Ce=e.__c).__H;t&&(yl===Ce?(t.__h=[],Ce.__h=[],t.__.forEach(function(r){r.__N&&(r.__=r.__N),r.u=r.__N=void 0})):(t.__h.forEach(wi),t.__h.forEach(xl),t.__h=[],uo=0)),yl=Ce},$e.diffed=function(e){Ed&&Ed(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(_d.push(t)!==1&&yd===$e.requestAnimationFrame||((yd=$e.requestAnimationFrame)||y_)(g_)),t.__H.__.forEach(function(r){r.u&&(r.__H=r.u),r.u=void 0})),yl=Ce=null},$e.__c=function(e,t){t.some(function(r){try{r.__h.forEach(wi),r.__h=r.__h.filter(function(o){return!o.__||xl(o)})}catch(o){t.some(function(n){n.__h&&(n.__h=[])}),t=[],$e.__e(o,r.__v)}}),wd&&wd(e,t)},$e.unmount=function(e){Rd&&Rd(e);var t,r=e.__c;r&&r.__H&&(r.__H.__.forEach(function(o){try{wi(o)}catch(n){t=n}}),r.__H=void 0,t&&$e.__e(t,r.__v))};var vd=typeof requestAnimationFrame=="function";function y_(e){var t,r=function(){clearTimeout(o),vd&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(r,100);vd&&(t=requestAnimationFrame(r))}function wi(e){var t=Ce,r=e.__c;typeof r=="function"&&(e.__c=void 0,r()),Ce=t}function xl(e){var t=Ce;e.__c=e.__(),Ce=t}function bl(e,t){return!e||e.length!==t.length||t.some(function(r,o){return r!==e[o]})}function Td(e,t){return typeof t=="function"?t(e):t}function ze(e){return typeof e=="number"}var x_=(e,t,r)=>{let o=t.name||"anonymous predicate",n=typeof e,s=JSON.stringify(e,null,2);returnExpected ${r??"a value"} that satisfies the predicate ${o}, got ${n}: ${s}},b_=x_,El=class e extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,e),this.name=this.constructor.name}};function Pd(e,t,r={}){if(!t(e))throw new El(r.message??b_(e,t,r.name))}function Sd(e,t,r={}){return Pd(e,t,r),e}function Pt(e){return typeof e>"u"}var ki=!1,Od=null,Ld=()=>{scrapbox.addListener("lines:changed",()=>ki=!1),scrapbox.addListener("layout:changed",()=>ki=!1),Ld=void 0},Nd=()=>(Ld?.(),ki||(Od=scrapbox.Page.lines,ki=!0),Od);var Cd=(e,t)=>{if(!(e instanceof HTMLDivElement))throw new TypeError("${t}" must be HTMLDivElememt but actual is "${e}")};var Ad=(e,t)=>{if(!(e instanceof HTMLTextAreaElement))throw new TypeError("${t}" must be HTMLTextAreaElement but actual is "${e}")};var Md=()=>vi(document.getElementById("editor"),"div#editor"),qn=()=>vi(document.getElementsByClassName("lines").item(0),"div.lines");var qe=()=>{let e=document.getElementById("text-input");if(e)return Ad(e,"textarea#text-input"),e};var Id=()=>vi(document.getElementsByClassName("popup-menu")?.[0],"div.popup-menu");var Ud=()=>vi(document.getElementsByClassName("status-bar")?.[0],"div.status-bar"),vi=(e,t)=>{if(e)return Cd(e,t),e};var ft=()=>{let e=qn();if(!e)throw Error("div.lines is not found.");let t=Object.keys(e).find(r=>r.startsWith("__reactFiber"));if(!t)throw Error('div.lines must has the property whose name starts with "__reactFiber"');return e[t].return.stateNode.props.lines};var kr=e=>e.match(/^(\s*)/)?.[1]?.length??0,mo=(e,t)=>{let r=kr(Fd(e,t)),o=0;for(;e+o+1<t.length&&kr(Fd(e+o+1,t))>r;)o++;return o},Fd=(e,t)=>{let r=t[e];return De(r)?r:r.text};var wl=e=>{if(Pt(e))return;if(ze(e))return _i(e)?.id;if(De(e))return e.startsWith("L")?e.slice(1):e;if(e.classList.contains("line"))return e.id.slice(1);let t=e.closest(".line");if(t)return t.id.slice(1)},Dd=e=>{if(Pt(e))return;if(ze(e))return e;let t=wl(e);return t?ft().findIndex(r=>r.id===t):-1};var _i=e=>{if(Pt(e))return;if(ze(e))return ft()[e];let t=wl(e);return t?ft().find(r=>r.id===t):void 0},vr=e=>{if($d(e))return e;let t=wl(e);if(Pt(t))return t;let r=document.getElementById(L${t});if(!Pt(r))return r},$d=e=>e instanceof HTMLDivElement&&e.classList.contains("line");var jr=()=>Sd(Nd(),yr),tt=e=>{if(Pt(e))return;if(ze(e)||De(e))return _i(e)?.text;if(!(e instanceof HTMLElement))return;if($d(e))return _i(e)?.text;if(e.classList.contains("char-index"))return e.textContent??void 0;if(e.classList.contains("line")||e.getElementsByClassName("lines")?.[0])return ft().map(({text:o})=>o).join( );let t=[],r=_i(e);if(!Pt(r)){for(let o of w_(e))t.push(R_(o));return r.text.slice(Math.min(...t),Math.max(...t)+1)}};var jd=()=>{let e=qn()?.firstElementChild;if(!Pt(e))return e},Bd=()=>{let e=qn()?.lastElementChild;if(!Pt(e))return e};var Rl=e=>{let t=Dd(e);if(!Pt(t))return mo(t,jr())};function*w_(e){let t=e.getElementsByClassName("char-index");for(let r=0;r<t.length;r++)yield t[0]}var kl=e=>e instanceof HTMLSpanElement&&e.classList.contains("char-index"),R_=e=>{if(!kl(e))throw Error("A char DOM is required.");let t=e.className.match(/c-(\d+)/)?.[1];if(Pt(t))throw Error('.char-index must have ".c-{\\d}"');return parseInt(t)},Hd=e=>{let t=e?.getElementsByClassName?.("c-0")?.[0];return kl(t)?t:void 0};var Kn=(e,t)=>{let r=vr(e)?.getElementsByClassName?.(c-${t})?.[0];return kl(r)?r:void 0};var rt=(e,t)=>{let{noModifiedKeys:r=!1,...o}=t??{},n={bubbles:!0,cancelable:!0,keyCode:k_[e],...r?{}:{...o}},s=qe();if(!s)throw Error("#text-input must exist.");s.dispatchEvent(new KeyboardEvent("keydown",n)),s.dispatchEvent(new KeyboardEvent("keyup",n))},k_={Backspace:8,Tab:9,Enter:13,Delete:46,Escape:27," ":32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,a:65,A:65,b:66,B:66,c:67,C:67,d:68,D:68,e:69,E:69,f:70,F:70,g:71,G:71,h:72,H:72,i:73,I:73,j:74,J:74,k:75,K:75,l:76,L:76,m:77,M:77,n:78,N:78,o:79,O:79,p:80,P:80,q:81,Q:81,r:82,R:82,s:83,S:83,t:84,T:84,u:85,U:85,v:86,V:86,w:87,W:87,x:88,X:88,y:89,Y:89,z:90,Z:90,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,F1:113,F2:114,F3:115,F4:116,F5:117,F6:118,F7:119,F8:120,F9:121,F10:122,F11:123,F12:124,":":186,"*":186,";":187,"+":187,"-":189,"=":189,".":190,">":190,"/":191,"?":191,"@":192,"":192,"":219,"{":219,"\\":220,"|":220,"":221,"}":221,"^":222,"~":222,_:226};var vl=async(e,t)=>{let r={button:t.button??0,clientX:t.X,clientY:t.Y,bubbles:!0,cancelable:!0,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey,view:window};e.dispatchEvent(new MouseEvent("mousedown",r)),e.dispatchEvent(new MouseEvent("mouseup",r)),e.dispatchEvent(new MouseEvent("click",r)),await Ie(10)};var Ke=()=>{let e=qe();if(!e)throw Error("#text-input is not found.");let t=Object.keys(e).find(r=>r.startsWith("__reactFiber"));if(!t)throw Error('div.cursor must has the property whose name starts with "__reactFiber"');return et.return.return.stateNode.props};var _l=e=>{let{top:t,bottom:r}=e.getBoundingClientRect();return t>=0&&r<=globalThis.innerHeight};function St(e,t,r){if(r??=e>t?-1:1,!Number.isFinite(e))throw new RangeError(start must be finite, but got ${e}.);if(!Number.isFinite(r))throw new RangeError(step must be finite, but got ${r}.);if(r===0)throw new RangeError("step must not be 0.");if(!Number.isFinite(t))throw new RangeError(stop must be finite, but got ${t}.);if(r>0&&e>t)throw new RangeError("start must be less than stop for positive step.");if(r<0&&e<t)throw new RangeError("start must be greater than stop for negative step.");return function*(){if(r>=0)for(let o=e;o<=t;o+=r)yield o;else for(let o=e;o>=t;o+=r)yield o}()}var Wd=()=>{rt("Home"),rt("Home")};var Gd=async()=>{let e=jd();if(!e)throw Error(".line:first-of-type can't be found.");_l(e)||e.scrollIntoView({block:"center"});let t=Hd(e);if(!t)throw Error(".line:first-of-type .c-0 can't be found.");let{left:r,top:o}=t.getBoundingClientRect();await vl(e,{X:r,Y:o})},Vd=async()=>{await qd(Bd())},zd=async e=>{await qd(vr(e))},qd=async e=>{if(!e)throw Error("The target line DOM is failed to find.");_l(e)||e.scrollIntoView({block:"center"});let{right:t,top:r,height:o}=e.getElementsByClassName("text")0.getBoundingClientRect();await vl(e,{X:t+1,Y:r+o/2})};var Kd=(e=1)=>{for(let t of St(1,e))rt("z",{ctrlKey:!0})},Xd=(e=1)=>{for(let t of St(1,e))rt("z",{shiftKey:!0,ctrlKey:!0})};var Yd=async(e,t,r)=>{await zd(e),Wd();for(let o of St(e,t))rt("ArrowDown",{shiftKey:!0});rt("End",{shiftKey:!0}),await He(r)};var Ti=(e=1)=>{for(let t of St(1,e))rt("ArrowRight",{ctrlKey:!0})},Pi=(e=1)=>{for(let t of St(1,e))rt("ArrowLeft",{ctrlKey:!0})};var Si=(e=1)=>{for(let t of St(1,e))rt("ArrowUp",{ctrlKey:!0})},Oi=(e=1)=>{for(let t of St(1,e))rt("ArrowDown",{ctrlKey:!0})},Li=(e=1)=>{for(let t of St(1,e))rt("ArrowRight",{altKey:!0})},Ni=(e=1)=>{for(let t of St(1,e))rt("ArrowLeft",{altKey:!0})};var Ci=(e=1)=>{for(let t of St(1,e))rt("ArrowUp",{altKey:!0})},Ai=(e=1)=>{for(let t of St(1,e))rt("ArrowDown",{altKey:!0})},He=e=>{let t=qe();if(!t)throw Error("#text-input is not ditected.");t.focus(),t.value=e;let r=new InputEvent("input",{bubbles:!0});return t.dispatchEvent(r),scrapbox.Page.waitForSave()};var Oe=()=>{let e=Ud();if(!e)throw new Error("div.status-bar can't be found");let t=document.createElement("div");return e.append(t),{render:(...r)=>{t.textContent="";let o=Jd(...r);o&&t.append(o)},dispose:()=>t.remove(),Symbol.dispose:()=>t.remove()}},Jd=(...e)=>{let t=e.flatMap(o=>{switch(o.type){case"spinner":return__();case"check-circle":returnT_();case"exclamation-triangle":returnP_();case"text":returnMi(o.text);case"group":{let n=Jd(...o.items);return n?n:[]}}});if(t.length===0)return;if(t.length===1)return t0;let r=document.createElement("span");return r.classList.add("item-group"),r.append(...t),r},Mi=e=>{let t=document.createElement("span");return t.classList.add("item"),t.append(e),t},__=()=>{let e=document.createElement("i");return e.classList.add("fa","fa-spinner"),Mi(e)},T_=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-check-circle"),Mi(e)},P_=()=>{let e=document.createElement("i");return e.classList.add("fas","fa-exclamation-triangle"),Mi(e)};var en=e=>{let t=JSON.parse(localStorage.getItem("pageTransitionContext")??""),r=e.type==="page"?e.from.project===e.to.project?e.from.title===e.to.title?{titleHint:e.to.title}:{linkFrom:e.from.title}:{linkFrom:/${e.from.project}/${e.from.title}}:{searchQuery:e.query};t[page_${ne(e.to.title)}]=r,localStorage.setItem("pageTransitionContext",JSON.stringify(t))};var S_=(e,t,r)=>{let o=new URL(/${e}/${ae(t)},location.href);if(r?.body&&(o.search=?body=${encodeURIComponent(r.body)}),r?.id&&(o.hash=#${r.id}),r?.context&&en({...r?.context,to:{project:e,title:t}}),r?.newTab!==!1&&(r?.newTab===!0||e!==scrapbox.Project.name)){globalThis.open(o);return}if(r?.reload!==!1&&(r?.reload===!0||e!==scrapbox.Project.name)){globalThis.open(o,"_self");return}let n=document.createElement("a");n.href=o.toString(),document.body.append(n),n.click(),n.remove()},Tl=(e,t,r)=>S_(e,t,{newTab:!1,reload:!1,body:r});var Br=async(e,t)=>{let r=await globalThis.caches.keys();for(let o of r.sort().reverse()){let s=await(await caches.open(o)).match(e,t);if(s)return s}},Ii=async(e,t)=>{let r=t.clone();return await(await caches.open(O_(new Date))).put(e,r)},O_=e=>api-${e.getFullYear()}-${${e.getMonth()+1}.padStart(2,"0")}-${${e.getDate()}.padStart(2,"0")};var xt=()=>{let e=qe();if(!e)throw Error("#text-input is not found.");let t=Object.keys(e).find(s=>s.startsWith("__reactFiber"));if(!t)throw Error('#text-input must has the property whose name starts with "__reactFiber"');let r=et.return.return.stateNode._stores,o=r.find(s=>s.constructor.name==="Cursor");if(!o)throw Error('#text-input must has a "Cursor" store.');let n=r.find(s=>s.constructor.name==="Selection");if(!n)throw Error('#text-input must has a "Selection" store.');return{cursor:o,selection:n}};var Hr=()=>xt().cursor;var Ui=()=>xt().selection;var Xn=e=>e===void 0?0:typeof e=="boolean"?Number(e):(e.capture?1:0)|(e.once?2:0)|(e.passive?4:0),Qd=e=>{if(e===0)return;let t={};return e&1&&(t.capture=!0),e&2&&(t.once=!0),e&4&&(t.passive=!0),t};var Fi=new Map,Pl=new Map,Sl=()=>{scrapbox.on("layout:changed",()=>{let e=qe();if(e)for(lett,rof Fi)for(leto,nof r)for(let s of n)e.addEventListener(t,o,Qd(s))}),Sl=void 0},Zd=(e,t,r)=>{Sl?.();let o=Fi.get(e)??new Map,n=o.get(t)??new Set;if(n.has(Xn(r)))return;if(n.add(Xn(r)),o.set(t,n),Fi.set(e,o),typeof r=="object"&&r?.once){let i=Pl.get(t)??new Map,a=Xn(r),c=function(u){return Ol(e,t,r),i.delete(a),t.call(this,u)};i.set(a,c),Pl.set(t,i);let l=qe();if(!l)return;l.addEventListener(e,c,r)}let s=qe();s&&s.addEventListener(e,t,r)},Ol=(e,t,r)=>{Sl?.();let o=Fi.get(e);if(!o)return;let n=o.get(t);if(!n)return;let s=Xn(r);if(n.delete(s),typeof r=="object"&&r?.once){let a=Pl.get(t);if(!a)return;let c=a.get(s);if(!c)return;let l=qe();if(!l)return;l.removeEventListener(e,c,r),a.delete(s);return}let i=qe();i&&i.removeEventListener(e,t,r)};var eh={"&":"\\x26","!":"\\x21","#":"\\x23",$:"\\$","%":"\\x25","*":"\\*","+":"\\+",",":"\\x2c",".":"\\.",":":"\\x3a",";":"\\x3b","<":"\\x3c","=":"\\x3d",">":"\\x3e","?":"\\?","@":"\\x40","^":"\\^","":"\\x60","~":"\\x7e","(":"\\(",")":"\\)","[":"\\[","]":"\\]","{":"\\{","}":"\\}","/":"\\/","-":"\\x2d","\\":"\\\\","|":"\\|"},L_=new RegExp(${Object.values(eh).join("")},"gu");function th(e){return e.replaceAll(L_,t=>eh[t]).replace(/^[0-9a-zA-Z]/,t=>\\x${t.codePointAt(0).toString(16)})}var N_=0,U5=Array.isArray;function d(e,t,r,o,n,s){t||(t={});var i,a,c=t;if("ref"in c)for(a in c={},t)a=="ref"?i=t[a]:c[a]=t[a];var l={type:e,props:c,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--N_,__i:-1,__u:0,__source:n,__self:s};if(typeof e=="function"&&(i=e.defaultProps))for(a in i)c[a]===void 0&&(c[a]=i[a]);return Z.vnode&&Z.vnode(l),l}var rh=({project:e,title:t,words:r,lines:o,query:n,close:s})=>{let i=U(c=>{en({type:"search",query:n,to:{project:e,title:t}}),!(c.metaKey||c.ctrlKey||c.altKey||c.shiftKey)&&s()},[e,t,n,s]),a=C(()=>{let c=new RegExp((${r.map(l=>th(l)).join("|")}),"i");return o.flatMap(l=>{let u=l.split(c);return d("span",{children:u.map((p,f)=>f%2===0?p:d("strong",{children:p}))})})},[o,r]);return d("a",{href:/${e}/${ae(t)},target:${e===scrapbox.Project.name?"":"_blank"},rel:${e===scrapbox.Project.name?"route":"noopener noreferrer"},onClick:i,children:[t,d("div",{className:"description",children:a})]})};var oh=e=>{let[t,r]=J(e),o=U(()=>r(!0),[]),n=U(()=>r(!1),[]),s=U(()=>r(i=>!i),[]);return[t,{open:o,close:n,toggle:s}]};var nh=(e,t)=>{let[r,o]=J(),[n,s]=J(!1),i=Ve(Promise.resolve());return oe(()=>{if(t===""){o(void 0);return}let a=!1;return i.current=(async()=>{if(await i.current,!a){s(!0);try{let c=await Of(t,e);if(a)return;o(Le(c)?X(c):void 0)}finally{s(!1)}}})(),()=>a=!0},[t,e]),{loading:n,result:r}};var sh=()=>d("style",{children:.modal { position:fixed;
inset:0;
z-index:1050;
background-color:#000c;
display: flex;
flex-direction: column;
align-items: center;
row-gap: 10px;
padding: 10px;
}
.closed {
display: none;
}
.modal > * {
border-radius: 4px;
padding: 5px;
width: calc(var(--item-width, 100%) - 10px);
}
@media (min-width: 768px) {
.modal {
padding: 30px;
}
}
.controller {
display: flex;
gap: 0.2em;
flex-direction: column;
}
input {
border-radius: 5px;
padding: 0 10px;
height: 32px;
border: transparent;
box-shadow: none;
color: var(--search-form-text-color, rgba(255, 255, 255, 0.35));
background-color: var(--search-form-bg, rgba(255, 255, 255, 0.15))
}
.result {
flex-direction: column;
width: 100%;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 14px;
font-weight: normal;
line-height: 28px;
text-align: left;
border: 1px solid rgba(0,0,0,0.15);
border-radius: 4px;
background-clip: padding-box;
white-space: nowrap;
overflow-x: hidden;
overflow-y: auto;
}
a {
display: block;
padding: 3px 20px;
clear: both;
align-items: center;
user-select: none;
text-decoration: none;
overflow: hidden;
text-overflow: ellipsis;
color: inherit;
}
.description {
margin-top: 0.5em;
color: var(--incremental-fulltext-search-description-text-color, #c4c4c4); font-size: 12px;
line-height: 14px;
max-height: 28px;
overflow: hidden;
text-overflow: ellipsis;
}
.description strong {
}
.spinner::before {
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
content: "\f110";
font-family: "Font Awesome 5 Free";
font-weight: 900;
margin: 0;
padding: 0;
box-sizing: border-box;
animation: fa-spin 2s linear infinite;
}});var C_=()=>d("i",{className:"spinner"}),ih=({exportOps:e})=>{let[t,r]=J(""),o=scrapbox.Project.name,{loading:n,result:s}=nh(o,t),i=U(m=>{r(m.currentTarget.value)},[]),[a,{open:c,close:l,toggle:u}]=oh(!1),p=Ve({open:c,close:l,toggle:u});oe(()=>{Object.assign(p.current,{open:c,close:l,toggle:u})},[]),oe(()=>e(p.current),[e]);let f=U(m=>{m.target instanceof HTMLElement&&m.target.id==="background"&&l()},[]);return d(Y,{children:[d(sh,{}),d("div",{id:"background",className:modal${a?"":" closed"},onClick:f,children:[d("div",{className:"controller",children:[d("input",{type:"text",value:t,onInput:i}),d("div",{className:"info",children:[n&&d(C_,{}),${s?.pages?.length??0} pages]})]}),s?.pages&&s.pages.length>0&&d("ul",{className:"result",children:s.pages.map(m=>d("li",{children:d(rh,{...m,project:o,query:t,close:l})},m.title))})]})]})};var ah=()=>{let e=document.createElement("div"),t=e.attachShadow({mode:"open"});return document.body.append(e),new Promise(r=>{mt(d(ih,{exportOps:r}),t)})};var Di=(e,t)=>Object.hasOwn(e,t),ch={left:"ArrowLeft",right:"ArrowRight",up:"ArrowUp",down:"ArrowDown",bs:"Backspace",menu:"ContextMenu",apps:"ContextMenu",del:"Delete",return:"Enter",cr:"Enter",esc:"Escape",pgup:"PageUp",pgdn:"PageDown",lt:"<",less:"<",lesser:"<",gt:">",greater:">"},mh=e=>{let t=e.toLowerCase();return Di(ch,t)?ch[t]:e},lh={Backquote:["","~"],Digit1:"1","!",Digit2:"2","@",Digit3:"3","#",Digit4:"4","$",Digit5:"5","%",Digit6:"6","^",Digit7:"7","&",Digit8:"8","*",Digit9:"9","(",Digit0:"0",")",Minus:"-","_",Equal:"=","+",Backslash:"\\","|",BracketLeft:["","{",BracketRight:"","}"],Semicolon:";",":",Quote:"'",'"',Comma:",","<",Period:".",">",Slash:"/","?"},A_=(e,t)=>{if(e.startsWith("Key")){let r=e.slice(3);return t||(r=r.toLowerCase()),r}return Di(lh,e)?lhet?1:0:e},ph={"<":"lt",">":"gt"},M_=/^($|Unidentified$|Process$|Dead$|Alt|Control|Hyper|Meta|Shift|Super|OS)/,Ll=e=>{let t=e.shiftKey,r=e.key||"Unidentified";if(r==="Unidentified"?r=A_(e.code||"",t):(r=mh(r),r===" "&&(r="Space")),M_.test(r))return"";r.length===1?t=!1:r=r.toLowerCase();let o="";return e.altKey&&(o+="a-"),e.ctrlKey&&(o+="c-"),e.metaKey&&(o+="m-"),t&&(o+="s-"),Di(ph,r)&&(r=phr),o||r.length>1?<${o}${r}>:r},uh={a:"altKey",c:"ctrlKey",m:"metaKey",s:"shiftKey"},I_=e=>{if(e.length===1)return/\s/.test(e)?{ok:!1,value:{name:"InvalidKeyError",key:e,message:Invalid key: ${e}}}:{ok:!0,value:{key:e}};let t=e.match(/^<((?:a-z-)*)(a-z\d+|^<>\s)>$/i);if(!t)return{ok:!1,value:{name:"InvalidKeyError",key:e,message:Invalid key: ${e}}};let,r,o=t,n={key:mh(o)};for(let s of r.split("-").slice(0,-1)){let i=s.toLowerCase();if(!Di(uh,i))return{ok:!1,value:{name:"UnknownModifierError",modifier:s,context:e,message:${e}: Unknown modifier: ${s}}};let a=uhi;if(na!==void 0)return{ok:!1,value:{name:"DuplicateModifierError",modifier:s,context:e,message:${e}: Duplicate modifier: ${s}}};if(na=!0,n.key.length===1&&n.shiftKey)return{ok:!1,value:{name:"DisallowedModifierError",modifier:s,context:e,message:${e}: Unusable modifier with single-character keys: ${s}}}}return{ok:!0,value:n}},fh=e=>{let t=I_(e);return t.ok?{ok:!0,value:Ll(t.value)}:t},dh=e=>e.match(/<^<>\s+>|\s\S|^$/g);var Dt=!1;var hh=e=>Object.fromEntries(...Object.entries(console).map((t,r)=>{if(typeof r!="function")returnt,r;switch(t){case"warn":case"error":return[t,(...o)=>r(%c${e},"color: gray",...o)];case"log":case"info":case"debug":return[t,(...o)=>{Dt!==!0&&(!Dt||!Dt.has(e))||r(%c${e},"color: gray",...o)}];case"assert":return[t,(o,...n)=>{Dt!==!0&&(!Dt||!Dt.has(e))||r(o,%c${e},"color: gray",...n)}];case"time":case"timeEnd":return[t,o=>{Dt!==!0&&(!Dt||!Dt.has(e))||r(${e} ${o})}];default:returnt,(...o)=>{if(!(Dt!==!0&&(!Dt||!Dt.has(e))))return r(...o)}}}));var fo=hh("ScrapBindings:mod.ts"),$i=class{constructor(t,r){this.target=t;this.onSequenceUpdate=r?.onSequenceUpdate,this.flushInterval=r?.flushInterval??1e3}bind(t,r){let o=new Map,n=[];for(lets,iof t instanceof Map?t.entries():typeof t=="string"?t,r:Object.entries(t)){let a=gh(s);if(!a.ok){for(let l of a.value)fo.error(${s}: ${l.message});o.set(s,a.value);continue}let c=a.value;this.bindings.set(c,i),c.startsWith(this.currentSequence)&&this.filtered.add(c),n.push(c)}return fo.debug("Binded the following commands:",n),this.emitChange(),o}unbind(...t){for(let r of t){let o=gh(r);if(!o.ok)continue;let n=o.value;this.bindings.delete(n),this.filtered.delete(n)}this.emitChange()}reset(){this.bindings.clear(),this.emitChange()}bindings=new Map;onSequenceUpdate;flushInterval;_sequence="";set currentSequence(t){let r=this._sequence!==t;this._sequence=t,r&&this.onSequenceUpdate?.(t)}get currentSequence(){return this._sequence}prevBestMatchCommand;filtered=new Set;timer;backToInitial=()=>{clearTimeout(this.timer),this.currentSequence="",this.prevBestMatchCommand=void 0,this.filtered=new Set(this.bindings.keys()),fo.debug("reset the sequence")};handleKeydown=t=>{if(!t.isTrusted)return;let r=Ll(t);if(!r)return;if(clearTimeout(this.timer),t.isComposing){this.backToInitial();return}this.currentSequence+=r,fo.debug("sequence",this.currentSequence);let o;for(let s of this.filtered){if(s.startsWith(this.currentSequence)||this.filtered.delete(s),this.currentSequence!==s)continue;let i=this.bindings.get(s);if(!i){this.filtered.delete(s);continue}o=()=>{fo.debug(run ${s});try{i(t)}catch(a){fo.error(a)}finally{this.backToInitial()}}}let n=this.filtered.size;if(fo.debug(${n} candidates: ${[...this.filtered.keys()].join(", ")}),n>0&&(this.prevBestMatchCommand=o),this.prevBestMatchCommand&&n<2){if(this.prevBestMatchCommand(),n===0){this.handleKeydown(t);return}return}if(n===0){this.backToInitial();return}t.preventDefault(),t.stopPropagation(),this.timer=setTimeout(this.prevBestMatchCommand??this.backToInitial,this.flushInterval)};emitChange=()=>{if(this.bindings.size===0){this.backToInitial(),this.target.removeEventListener("keydown",this.handleKeydown);return}this.target.addEventListener("keydown",this.handleKeydown)}},U_={name:"InvalidSequenceError",message:"cannot parse the sequence"},gh=e=>{let t=dh(e);if(!t)return{ok:!1,value:U_};let r="",o=[];for(let n of t){let s=fh(n);if(!s.ok){o.push(s.value);continue}r+=s.value}return o.length>0?{ok:!1,value:o}:{ok:!0,value:r}};var yh=()=>{if(scrapbox.Layout!=="page")return{selectionRange:{start:{line:0,char:0},end:{line:0,char:0}},selectedText:""};let{selectionRange:e,selectedText:t,position:r}=Ke();if(!t){let u=Rl(r.line)??0,p={start:{line:r.line,char:0},end:{line:r.line+u,char:tt(r.line+u)?.length??0}};return{selectionRange:p,selectedText:scrapbox.Page.lines.slice(p.start.line,p.end.line+1).map(f=>f.text).join(` )}}let{start:o,end:n}=e,s=o.line>n.line,i=s?n.line:o.line,a=s?n.char:o.char,c=s?o.line:n.line,l=s?o.char:n.char;return{selectedText:t,selectionRange:{start:{line:i,char:a},end:{line:c,char:l}}}};var Nl=(e,{title:t,projectTo:r,mode:o})=>{let[n,...s]=e.split(
),i=n.replaceAll("[","").replaceAll("]","").trim(),a=Math.min(...[n,...s].map(l=>kr(l))),c=[from ${t},n.slice(a),...s.map(l=>l.slice(a))];return{text:${i},pages:[{project:r,title:i,lines:c,mode:o}]}};Nl.hookName="default-hook";var _r=e=>{let{project:t=scrapbox.Project.name,mode:r="newtab"}=e??{},o=[...e?.hooks??[],Nl],{selectionRange:{start:n,end:s},selectedText:i}=yh();if(!i||scrapbox.Layout!=="page")return;let a=(()=>{for(let p of o){let f=p(i,{title:scrapbox.Page.title,projectFrom:scrapbox.Project.name,projectTo:t,lines:ft().slice(n.line,s.line+1),mode:r});if(f)return[p.hookName,f]}})();if(!a)return;let[c,l]=a,u=async()=>{let p=l instanceof Promise?await l:l;if(p.pages.length===0&&p.text===i)return;let f,{render:m,dispose:h}=Oe();try{if(p.pages.length>0){let y=p.pages.length;m({type:"spinner"},{type:"text",text:Create new ${y} pages...});let x=await ct(e?.socket);if(H(x))throw re(x);f=W(x);let E=0;await Promise.all(p.pages.map(async k=>{let b=Array.isArray(k.lines)?v=>[...v.map(R=>R.text),...k.lines]:k.lines;await Se(k.project,k.title,b,{socket:f}),m({type:"spinner"},{type:"text",text:Create ${y-++E} pages...})}))}m({type:"spinner"},{type:"text",text:${p.pages.length>0?"Created. ":""}Removing cut text...});let g=p.text;if(i===g)return;await Se(scrapbox.Project.name,scrapbox.Page.title,y=>{let x=y.map(E=>E.text);return[...x.slice(0,n.line),...${xn.line.slice(0,n.char)}${g}${x.slice(s.line).join(` ).slice(s.char)}.split(`
)]}),m({type:"check-circle"},{type:"text",text:"Removed."});for(let y of p.pages)switch(y.mode){case"self":y.project===scrapbox.Project.name?Tl(y.project,y.title):globalThis.open(https://scrapbox.io/${y.project}/${ae(y.title)},"_self");break;case"newtab":globalThis.open(https://scrapbox.io/${y.project}/${ae(y.title)});break}}catch(g){m({type:"exclamation-triangle"},{type:"text",text:"Failed to create new pages (see console)."}),console.error(g)}finally{let g=Ie(1e3);f&&await lt(f),await g,h()}};return u.hookName=c,u};var F_=Math.pow(10,8)*24*60*60*1e3,f6=-F_,xh=6048e5,bh=864e5,ji=6e4,Eh=36e5;var D_=3600;var wh=D_*24,d6=wh*7,$_=wh*365.2425,j_=$_/12,h6=j_*3,Cl=Symbol.for("constructDateFrom");function fe(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Cl in e?e[Cl](t):e instanceof Date?new e.constructor(t):new Date(t)}function D(e,t){return fe(t||e,e)}var B_={};function ho(){return B_}function dt(e,t){let r=ho(),o=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,n=D(e,t?.in),s=n.getDay(),i=(s<o?7:0)+s-o;return n.setDate(n.getDate()-i),n.setHours(0,0,0,0),n}function ir(e,t){let r=D(e,t?.in);return r.setHours(0,0,0,0),r}function Wr(e,...t){let r=fe.bind(null,e||t.find(o=>typeof o=="object"));return t.map(r)}function Bi(e,t){let[r,o]=Wr(e,t.start,t.end);return{start:r,end:o}}function Hi(e,t){let{start:r,end:o}=Bi(t?.in,e),n=+r>+o,s=n?+r:+o,i=n?o:r;i.setHours(0,0,0,0);let a=t?.step??1;if(!a)return[];a<0&&(a=-a,n=!n);let c=[];for(;+i<=s;)c.push(fe(r,i)),i.setDate(i.getDate()+a),i.setHours(0,0,0,0);return n?c.reverse():c}function ht(e,t,r){let[o,n]=Wr(r?.in,e,t);return+ir(o)==+ir(n)}function Tr(e,t){let r=e<0?"-":"",o=Math.abs(e).toString().padStart(t,"0");return r+o}var Rh={y(e,t){let r=e.getFullYear(),o=r>0?r:1-r;return Tr(t==="yy"?o%100:o,t.length)},M(e,t){let r=e.getMonth();return t==="M"?String(r+1):Tr(r+1,2)},d(e,t){return Tr(e.getDate(),t.length)},a(e,t){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];case"aaaa":default:return r==="am"?"a.m.":"p.m."}},h(e,t){return Tr(e.getHours()%12||12,t.length)},H(e,t){return Tr(e.getHours(),t.length)},m(e,t){return Tr(e.getMinutes(),t.length)},s(e,t){return Tr(e.getSeconds(),t.length)},S(e,t){let r=t.length,o=e.getMilliseconds(),n=Math.trunc(o*Math.pow(10,r-3));return Tr(n,t.length)}};function kh(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Gr(e){return!(!kh(e)&&typeof e!="number"||isNaN(+D(e)))}var H_=/(\w)\1*|''|'(''|[^'])+('|$)|./g,W_=/^'([^]*?)'?$/,G_=/''/g,V_=/[a-zA-Z]/;function he(e,t){let r=D(e);if(!Gr(r))throw new RangeError("Invalid time value");let o=t.match(H_);return o?o.map(n=>{if(n==="''")return"'";let s=n[0];if(s==="'")return z_(n);let i=Rh[s];if(i)return i(r,n);if(s.match(V_))throw new RangeError("Format string contains an unescaped latin alphabet character "+s+"");return n}).join(""):""}function z_(e){let t=e.match(W_);return t?t[1].replace(G_,"'"):e}function Ue(e,t,r){let o=D(e,r?.in);return isNaN(t)?fe(r?.in||e,NaN):(t&&o.setDate(o.getDate()+t),o)}function Xt(e,t,r){return Ue(e,-t,r)}function Wi(e,t,r){return fe(r?.in||e,+D(e)+t)}function Gi(e,t,r){return Wi(e,t*1e3,r)}function tn(e,t,r){return Ue(e,t*7,r)}function Vi(e,t){return D(e,t?.in).getDate()}function zi(e,t){let r=D(e,t?.in),o=r.getFullYear(),n=ho(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=fe(t?.in||e,0);i.setFullYear(o+1,0,s),i.setHours(0,0,0,0);let a=dt(i,t),c=fe(t?.in||e,0);c.setFullYear(o,0,s),c.setHours(0,0,0,0);let l=dt(c,t);return+r>=+a?o+1:+r>=+l?o:o-1}function vh(e,t){let r=ho(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,n=zi(e,t),s=fe(t?.in||e,0);return s.setFullYear(n,0,o),s.setHours(0,0,0,0),dt(s,t)}function go(e,t){let r=D(e,t?.in),o=+dt(r,t)-+vh(r,t);return Math.round(o/xh)+1}function _h(e,t){return D(e,t?.in).getMonth()}function yo(e,t){return D(e,t?.in).getFullYear()}var Th=e=>{let t=new Map;for(let r of e){let o=${yo(r)}-${_h(r)}-${Vi(r)},n=t.get(o);n&&n.getTime()>r.getTime()||t.set(o,r)}return[...t.values()]};function Ph(e,t,r){let o=D(e,r?.in);if(isNaN(t))return fe(r?.in||e,NaN);if(!t)return o;let n=o.getDate(),s=fe(r?.in||e,o.getTime());s.setMonth(o.getMonth()+t+1,0);let i=s.getDate();return n>=i?s:(o.setFullYear(s.getFullYear(),s.getMonth(),n),o)}function Sh(e,t,r){let{years:o=0,months:n=0,weeks:s=0,days:i=0,hours:a=0,minutes:c=0,seconds:l=0}=t,u=D(e,r?.in),p=n||o?Ph(u,n+o*12):u,f=i||s?Ue(p,i+s*7):p,m=c+a*60,h=(l+m*60)*1e3;return fe(r?.in||e,+f+h)}function Oh(e,t){let r=D(e,t?.in),o=r.getFullYear(),n=r.getMonth(),s=fe(r,0);return s.setFullYear(o,n+1,0),s.setHours(0,0,0,0),s.getDate()}function Lh(e,t,r){let o=D(e,r?.in),n=o.getFullYear(),s=o.getDate(),i=fe(r?.in||e,0);i.setFullYear(n,t,15),i.setHours(0,0,0,0);let a=Oh(i);return o.setMonth(t,Math.min(s,a)),o}function Nh(e,t,r){let o=D(e,r?.in);return isNaN(+o)?fe(r?.in||e,NaN):(t.year!=null&&o.setFullYear(t.year),t.month!=null&&(o=Lh(o,t.month)),t.date!=null&&o.setDate(t.date),t.hours!=null&&o.setHours(t.hours),t.minutes!=null&&o.setMinutes(t.minutes),t.seconds!=null&&o.setSeconds(t.seconds),t.milliseconds!=null&&o.setMilliseconds(t.milliseconds),o)}function Ch(e,t){return D(e,t?.in).getMinutes()}function Vr(e,t,r){let o=D(e,r?.in);return o.setTime(o.getTime()+t*ji),o}function qi(e){return t=>{let r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}function Ki(e,t){return+D(e)-+D(t)}function rn(e,t,r){let o=Ki(e,t)/ji;return qi(r?.roundingMethod)(o)}function Ah(e,t){return D(e,t?.in).getHours()}function Mh(e,t,r){return Wi(e,t*Eh,r)}function Ih(e,t){let r=D(e,t?.in);return r.setHours(23,59,59,999),r}function Al(e){let t=D(e),r=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return r.setUTCFullYear(t.getFullYear()),+e-+r}function Uh(e,t,r){let[o,n]=Wr(r?.in,e,t),s=ir(o),i=ir(n),a=+s-Al(s),c=+i-Al(i);return Math.round((a-c)/bh)}function Fh(e,t,r){return tn(e,-t,r)}function Dh(e,t,r){let o=D(e,r?.in),n=go(o,r)-t;return o.setDate(o.getDate()-n*7),D(o,r?.in)}function $h(e,t){let{start:r,end:o}=Bi(t?.in,e),n=+r>+o,s=n?dt(o,t):dt(r,t),i=n?dt(r,t):dt(o,t);s.setHours(15),i.setHours(15);let a=+i.getTime(),c=s,l=t?.step??1;if(!l)return[];l<0&&(l=-l,n=!n);let u=[];for(;+c<=a;)c.setHours(0),u.push(fe(r,c)),c=tn(c,l),c.setHours(15);return n?u.reverse():u}function jh(e,t,r){let[o,n]=Wr(r?.in,e,t),s=o.getFullYear()-n.getFullYear(),i=o.getMonth()-n.getMonth();return s*12+i}function Bh(e,t){let r=+D(e)-+D(t);return r<0?-1:r>0?1:r}function xo(e,t){return+D(e)>+D(t)}var Hh=e=>e==null,zr=e=>typeof e=="string";async function*Wh(e){let t=[],r,o=i=>{if(!r){t.push(i);return}r(i),r=void 0},n=()=>t.length>0?Promise.resolve(t.pop()):new Promise(i=>r=i),s=0;for(let i of e)i.then(a=>o({state:"fulfilled",value:a})).catch(a=>o({state:"rejected",reason:a})),s++;for(let i=0;i<s;i++)yield await n()}var ot=e=>{let t=e.match(/^(\d{4})-(\d{2})-(\d{2}) (?: {5}|(\d{2}):(\d{2})) (?: {4}|(\d{4})) (?: {8}|(\d{2}):(\d{2}):(\d{2})) (?: {8}|(\d{2}):(\d{2}):(\d{2}))([^\n]*)$/);if(!t)return;let[,r,o,n,s,i,a,c,l,u,p,f,m,h]=t,g={title:h,base:new Date(parseInt(r),parseInt(o)-1,parseInt(n)),plan:{},record:{}};if(s){let y=new Date(g.base);y.setHours(parseInt(s)),y.setMinutes(parseInt(i)),g.plan.start=y}if(a&&(g.plan.duration=parseInt(a)*60),c){let y=new Date(g.base);y.setHours(parseInt(c)),y.setMinutes(parseInt(l)),y.setSeconds(parseInt(u)),g.record.start=y}if(p){let y=new Date(g.base);y.setHours(parseInt(p)),y.setMinutes(parseInt(f)),y.setSeconds(parseInt(m)),g.record.start&&xo(g.record.start,y)&&y.setDate(y.getDate()+1),g.record.end=y}return g};var on=e=>e.record?.start??e.plan?.start??e.base,Gh=e=>e.record?.end??(Hh(e.plan?.duration)?e.base:Gi(on(e),e.plan.duration));var _e=({title:e,base:t,plan:r,record:o})=>["",he(t,"yyyy-MM-dd")," ",r?.start?he(r.start,"HH:mm"):" ".repeat(5)," ",r?.duration?${r.duration/60}.padStart(4,"0"):" ".repeat(4)," ",o?.start?he(o?.start,"HH:mm:ss"):" ".repeat(8)," ",o?.end?he(o?.end,"HH:mm:ss"):" ".repeat(8),"",e].join("");function*Vh(e){for(let t of bo(e))zr(t)||(yield t)}function*bo(e){for(let t=0;t<e.length;t++){let r=e[t],o=zr(r)?r:r.text,n=mo(t,e),s=ot(o);if(!s){yield o;continue}yield{...s,lines:e.slice(t+1,t+1+n).map(i=>zr(i)?i:i.text)},t+=n}}var q_=5*60,Ml=async()=>{let e=Ke().position.line,t=ot(tt(e)??""),r=t?.base??new Date,o={start:t?.plan?.start?Gi(t.plan.start,q_+(t.plan.duration??0)):void 0,duration:t?.plan?.duration};scrapbox.Page.insertLine(_e({title:"",base:r,plan:o,record:{}}),e+1),await scrapbox.Page.waitForSave()};var Xi=async()=>{let e=Ke().position.line,t=ot(tt(e)??"");if(!t)return;let{record:{start:r,end:o},...n}=t;o||(scrapbox.Page.updateLine(_e({record:{start:r?void 0:new Date},...n}),e),await scrapbox.Page.waitForSave())};var nn=async()=>{let e=Ke().position.line,t=ot(tt(e)??"");if(!t)return;let{record:{start:r,end:o},...n}=t;r&&(scrapbox.Page.updateLine(_e({record:{start:r,end:o?void 0:new Date},...n}),e),await scrapbox.Page.waitForSave())};var Il=async()=>{let e=Ke().position.line,t=ot(tt(e)??"");if(!t)return;let{record:{start:r,end:o},...n}=t;if(r){if(o)return;await nn();return}if(o)return;let s;for(let{text:a}of jr().slice(0,(e??0)+1).reverse()){let{record:c}=ot(a)??{};if(c?.end){s=c.end;break}}let i=new Date;scrapbox.Page.updateLine(_e({record:{start:s??i,end:i},...n}),e),await scrapbox.Page.waitForSave()};var Eo=()=>{let{selectionRange:{start:e,end:t},selectedText:r,position:o}=Ke();return r===""?[o.line,o.line]:e.line>t.line?[t.line,e.line]:[e.line,t.line]};var Ul=(e,t=7)=>new Date((e+2592e3*((t+1)**1.5-1)/5221.154823442138)*1e3);var Fl=(e,t)=>{let r,o,n,s,i=null;if(i=e.match(/^(.*?)(s|e):([^\s]+)\s+d:(\d+)/))[,o,s,n,r]=i;else if(i=e.match(/^(.*?)d:(\d+)\s+(s|e):([^\s]+)/))[,o,r,s,n]=i;else if(i=e.match(/^(.*?)(s|e):([^\s]+)/))[,o,s,n]=i;else return(i=e.match(/^(.*?)d:(\d+)/))?([,o,r]=i,{name:o.trimEnd(),duration:parseInt(r)*60}):void 0;for(let{test:a,parse:c}of K_){let l=n.match(a);if(!l)continue;let u=c(l),p=u.isDuration?Sh(t,u):Nh(t,u);return s==="s"?{name:o.trimEnd(),start:p,...r!==void 0?{duration:parseInt(r)*60}:{}}:{name:o.trimEnd(),start:Ul(t.getTime()/1e3,(p.getTime()-t.getTime())/(24*60*60*1e3)),...r!==void 0?{duration:parseInt(r)*60}:{}}}},K_=[{test:/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,year:parseInt(e[1]),month:parseInt(e[2])-1,date:parseInt(e[3]),hours:parseInt(e[4]),minutes:parseInt(e[5])})},{test:/(\d{4})-(\d{2})-(\d{2})T(\d{2})$/i,parse:e=>({isDuration:!1,year:parseInt(e[1]),month:parseInt(e[2])-1,date:parseInt(e[3]),hours:parseInt(e[4])})},{test:/(\d{4})-(\d{2})-(\d{2})T?$/i,parse:e=>({isDuration:!1,year:parseInt(e[1]),month:parseInt(e[2])-1,date:parseInt(e[3])})},{test:/(\d{2})-(\d{2})T(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,month:parseInt(e[1])-1,date:parseInt(e[2]),hours:parseInt(e[3]),minutes:parseInt(e[4])})},{test:/(\d{2})-(\d{2})T(\d{2})$/i,parse:e=>({isDuration:!1,month:parseInt(e[1])-1,date:parseInt(e[2]),hours:parseInt(e[3])})},{test:/(\d{2})-(\d{2})T?$/i,parse:e=>({isDuration:!1,month:parseInt(e[1])-1,date:parseInt(e[2])})},{test:/(\d{2})T(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,date:parseInt(e[1]),hours:parseInt(e[2]),minutes:parseInt(e[3])})},{test:/(\d{2})T(\d{2})$/i,parse:e=>({isDuration:!1,date:parseInt(e[1]),hours:parseInt(e[2])})},{test:/T?(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,hours:parseInt(e[1]),minutes:parseInt(e[2])})},{test:/T?(\d{2})$/i,parse:e=>({isDuration:!1,hours:parseInt(e[1])})},{test:/P(\d+)Y(\d+)M(\d+)DT(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,year:parseInt(e[1]),month:parseInt(e[2])-1,days:parseInt(e[3]),hours:parseInt(e[4]),minutes:parseInt(e[5])})},{test:/P(\d+)Y(\d+)M(\d+)DT(\d+)H$/i,parse:e=>({isDuration:!0,year:parseInt(e[1]),month:parseInt(e[2])-1,days:parseInt(e[3]),hours:parseInt(e[4])})},{test:/P(\d+)Y(\d+)M(\d+)D$/i,parse:e=>({isDuration:!0,year:parseInt(e[1]),month:parseInt(e[2])-1,days:parseInt(e[3])})},{test:/P(\d+)M(\d+)DT(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,month:parseInt(e[1])-1,days:parseInt(e[2]),hours:parseInt(e[3]),minutes:parseInt(e[4])})},{test:/P(\d+)M(\d+)DT(\d+)H$/i,parse:e=>({isDuration:!0,month:parseInt(e[1])-1,days:parseInt(e[2]),hours:parseInt(e[3])})},{test:/P(\d+)M(\d+)D$/i,parse:e=>({isDuration:!0,month:parseInt(e[1])-1,days:parseInt(e[2])})},{test:/P(\d+)DT(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,days:parseInt(e[1]),hours:parseInt(e[2]),minutes:parseInt(e[3])})},{test:/P(\d+)DT(\d+)H$/i,parse:e=>({isDuration:!0,days:parseInt(e[1]),hours:parseInt(e[2])})},{test:/P(\d+)D$/i,parse:e=>({isDuration:!0,days:parseInt(e[1])})},{test:/PT?(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,hours:parseInt(e[1]),minutes:parseInt(e[2])})},{test:/PT?(\d+)H$/i,parse:e=>({isDuration:!0,hours:parseInt(e[1])})},{test:/PT?(\d+)M$/i,parse:e=>({isDuration:!0,minutes:parseInt(e[1])})},{test:/P(\d+)W$/i,parse:e=>({isDuration:!0,weeks:parseInt(e[1])})}];var Yn=async()=>{let e=new Date,[t,r]=Eo(),o=jr().slice(t,r+1).map(s=>s.text),n=o.flatMap(s=>{let i=s.trimEnd();if(i==="")return s;let{name:a,start:c,duration:l}=Fl(i,e)??{};return!a||!c&&!l?s:[_e({title:a.trim(),base:c??e,plan:{start:c,duration:l},record:{}})]});if(o.join( )!==n.join(
)){for(let s=t;s<=r;s++)scrapbox.Page.updateLine(n[s-t],s);await scrapbox.Page.waitForSave()}};var Yi=async(e,t,r)=>{let o=[];for(let n=e;n<=t;n++){let s=tt(n)??"",i=ot(s);if(!i){o.push(s);continue}o.push(_e(r(i,n)))}for(let n=e;n<=t;n++)scrapbox.Page.updateLine(o[n-e],n);await scrapbox.Page.waitForSave()};var Dl=async(e=1)=>{let[t,r]=Eo();await Yi(t,r,o=>(o.base=Ue(o.base,e),o))};var $l=async()=>{let[e,t]=Eo(),r=new Date;await Yi(e,t,o=>(ht(o.base,r)||(o.base=r),o))};var X_="日刊記録sheet",Y_=/日刊記録sheet (\d{4})-(\d{2})-(\d{2})/,Jn=["[** 00:00 - 03:00] 未明","[** 03:00 - 06:00] 明け方","[** 06:00 - 09:00] 朝","[** 09:00 - 12:00] 昼前","[** 12:00 - 15:00] 昼過ぎ","[** 15:00 - 18:00] 夕方","[** 18:00 - 21:00] 夜のはじめ頃","[** 21:00 - 00:00] 夜遅く"];var jl=e=>{let t=e.match(Y_);if(!t)return;let[,r,o,n]=t,s=new Date(parseInt(r),parseInt(o)-1,parseInt(n));return Gr(s)?s:void 0},Yt=e=>he(e,'${X_}' yyyy-MM-dd),wo=e=>{let t=jl(e[0]);if(!t)return e;let r=J_(t),o=[],n=[];for(let a of bo(e.slice(1))){if(typeof a=="string"){if(Jn.includes(a)||r!==""&&r===a)continue;n.push(a);continue}o.push(a)}let s=o.sort((a,c)=>Bh(on(a),on(c)));if(s.length===0)return[e[0],r,...Jn,...n];let i=[0,0,0,0,0,0,0,0];for(let a=1;a<Jn.length;a++){let c=Mh(new Date(t.getFullYear(),t.getMonth(),t.getDate()),3*a),l=s.findIndex(m=>xo(on(m),c));if(l<0){i[a]=-1;continue}if(l===0)continue;let u=s[l-1],p=on(u),f=Gh(u);i[a]=(f.getTime()-p.getTime())/2<c.getTime()-p.getTime()?l:l-1}return[e[0],r,...s.flatMap((a,c)=>[...i.flatMap((l,u)=>l===c?[Jn[u]]:[]),_e(a),...a.lines]),...i.flatMap((a,c)=>a===-1?[Jn[c]]:[]),...n]},J_=e=>yesterday: ${Yt(Xt(e,1))};var Bl=async(e,t)=>{let r=()=>{},o=setTimeout(()=>{let{render:n,dispose:s}=Oe();r=s,n({type:"spinner"},{type:"text",text:"formatting..."})},500);await Se(e,t,n=>wo(n.map(s=>s.text))),clearTimeout(o),r()};async function*Hl(e,t,r){let o=[...t],n=[];for(;o.length>0;){let s=o.shift();if(!s)break;let i=s.base,a=[s];for(let c=0;c<o.length;c++)ht(o[c].base,i)&&(a.push(...o.splice(c,1)),c--);n.push((async()=>(await Se(e,Yt(i),c=>wo([...c.map(l=>l.text),...a.flatMap(l=>[_e(l),...l.lines??[]])]),r),{date:i,size:a.length}))())}yield*Wh(n)}var Qn=async({from:{project:e,title:t},to:r})=>{let o=await Ft(e,t);if(H(o))throw re(o);let n=jl(t),{lines:s}=W(o),i=[];for(let p of Vh(s))n&&ht(p.base,n)||i.push(p);let{render:a,dispose:c}=Oe();a({type:"spinner"},{type:"text",text:copying ${i.length} tasks...});let l=await ct();if(H(l))throw re(l);let u=W(l);try{let p=0,f=!1;for await(let m of Hl(r,i,{socket:u})){if(m.state!=="fulfilled"){console.error(m.reason),f=!0;continue}p+=m.value.size,a({type:"spinner"},{type:"text",text:copying ${i.length-p} tasks...})}if(f){a({type:"exclamation-triangle"},{type:"text",text:"Some tasks failed to be written"});return}a({type:"spinner"},{type:"text",text:Copied. removing ${i.length} original tasks...}),await Se(e,t,m=>{let h=[];for(let g of bo(m)){if(zr(g)){h.push(g);continue}n&&ht(g.base,n)&&h.push(_e(g),...g.lines)}return h},{socket:u}),a({type:"check-circle"},{type:"text",text:"Moved"})}finally{await lt(u),await Ie(1e3),c()}};var Ji=e=>e.match(/^(\s*)/)?.[1]?.length??0;var Jt=e=>${e}.padStart(2,"0");var Ro=e=>"hours"in e,$t=(e,t)=>e.year!==t.year?e.year<t.year:e.month!==t.month?e.month<t.month:e.date!==t.date?e.date<t.date:"hours"in t?"hours"in e?e.hours*60+e.minutes<t.hours*60+t.minutes:0<t.hours*60+t.minutes:!1,ar=e=>${${e.year}.padStart(4,"0")}-${Jt(e.month)}-${Jt(e.date)}${"hours"in e?T${Jt(e.hours)}:${Jt(e.minutes)}:""},ye=e=>{let t=ar(e);return new Date(t.includes("T")?t:${t}T00:00)},bt=e=>({year:e.getFullYear(),month:e.getMonth()+1,date:e.getDate(),hours:e.getHours(),minutes:e.getMinutes()});var qh=e=>{switch(e.toLowerCase()){case"y":return"yearly";case"m":return"monthly";case"w":return"weekly";case"d":return"daily";default:return}};var Kh=e=>{switch(e){case"+":return"todo";case"-":return"note";case"!":return"deadline";case".":return"done";case"~":return"up-down";default:return}},Xh=e=>{switch(e){case"todo":return"+";case"note":return"-";case"deadline":return"!";case"done":return".";case"up-down":return"~"}};var cr=e=>{let t=e.match(/(?:([\+\-!~.])(\d+)?)?@(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2}))?(?:\/(\d{2}):(\d{2})|\/(?:(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)|D(\d+))?(?:R([YMWD])?(\d+))?(?:@(?:(\d{2}):(\d{2})|(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)?(?:\/(\d{2}):(\d{2})|\/(?:(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)|D(\d+))?)?/i);if(!t)return;let[r,o,n,s,i,a,c,l,u,p,f,m,h,g,y,x,E,k,b,v,R,O,L,N,P,_,T,S,A,M,$,I,z]=t,j=${e.slice(0,t.index).trim()}${e.slice((t.index??0)+r.length).trim()},q=Yh(s,i,a,c,l);if(!Gr(ye(q)))return Q({name:"InvalidDateError",message:The reference point of the task "${ar(q)}" is an invalid date.});let K=Jh(q,f,m,h,u||g,p||y,x);if(K!==void 0){if(ze(K)&&isNaN(K)||!ze(K)&&!Gr(ye(K)))return Q({name:"InvalidDateError",message:The estimated end of the task${ze(K)?"": "${ar(K)}"} is an invalid date.});if(ze(K)&&K<0||!ze(K)&&$t(K,q))return Q({name:"TaskRangeError",message:The reference point of an task cannot be after its estimated end. reference point:${ar(q)}
estimated end:${ar(ze(K)?bt(Vr(ye(q),K)):K)}})}let le=/^[\uFE00-\uFE0F]*[✅❌]/.test(e)?"done":Kh(o),ee=le?{status:le,refDate:q}:void 0;ee&&n&&(ee.speed=parseInt(n));let Ze=Yh(R||s,O||i,L||a,b||N||c,v||P||l);if(!Gr(ye(Ze)))return Q({name:"InvalidDateError",message:The start of the task/event "${ar(Ze)}" is an invalid date.});let Pe=Jh(Ze,S||f,A||m,M||h,_||$||u||g,T||I||p||y,z||x),F=Ro(Ze)&&ze(Pe)?{start:Ze,duration:Pe}:void 0;if(F){let it={name:j,executed:F,generated:!1,raw:e};return ee&&(it.freshness=ee),(E||k)&&(it.recurrence={frequency:qh(E??"D")??"daily",count:k?parseInt(k):1}),ce(it)}if(!ee)return Q({name:"InvalidDateError",message:"Task requires freshness to be spec"});let Ee={name:j,freshness:ee,generated:!1,raw:e};return K&&(Ee.estimated=K),ce(F?{...Ee,executed:F}:Ee)},lr=e=>!("executed"in e),qr=e=>"recurrence"in e,Qh=e=>!("executed"in e||"freshness"in e&&Ro(e.freshness.refDate)&&e.estimated&&(ze(e.estimated)||Ro(e.estimated))),es=e=>"executed"in e?e.executed.duration:ze(e.estimated)?e.estimated:void 0,pr=e=>lr(e)?e.freshness.refDate:e.executed.start,Zh=e=>{if(!lr(e)){let r=ye(e.executed.start);return bt(Vr(r,e.executed.duration))}if(ze(e.estimated)&&Ro(e.freshness.refDate)){let r=ye(e.freshness.refDate);return bt(Vr(r,e.estimated))}let t=ye(ze(e.estimated)?e.freshness.refDate:e.estimated??e.freshness.refDate);return t.setHours(0),t.setMinutes(0),bt(Ue(t,1))},oT=e=>{let t=e.freshness?${Xh(e.freshness.status)}${e.freshness.speed??""}:"",r=${ar(pr(e))},o=es(e);return${t}@${r}${o===void 0?"":D${o}}${e.name}},Qi=(e,t)=>{let r=bt(t),{recurrence:o,executed:n}=e;switch(o.frequency){case"yearly":{if(Math.abs(r.year-n.start.year)%(o.count??1)!==0||n.start.month!==r.month||n.start.date!==r.date)return;break}case"monthly":{if(jh(ye(r),ye(n.start))%(o.count??1)!==0)return;break}case"weekly":case"daily":{let a=o.frequency==="weekly"?7:1;if(Uh(ye(r),ye(n.start))%((o.count??1)*a)!==0)return;break}}let s={...n.start};s.year=r.year,s.month=r.month,s.date=r.date;let i={name:e.name,executed:{start:s,duration:n.duration},generated:!0,raw:e.raw};return e.freshness&&(i.freshness=e.freshness),i},Zi=e=>e.freshness?e.generated?oT(e):e.raw:e.generated?void 0:e.raw,Yh=(e,t,r,o,n)=>{let s=parseInt(e),i=parseInt(t),a=parseInt(r),c=o?parseInt(o):void 0,l=n?parseInt(n):void 0;return c!==void 0&&l!==void 0?{year:s,month:i,date:a,hours:c,minutes:l}:{year:s,month:i,date:a}},Jh=(e,t,r,o,n,s,i)=>{if(!t&&!r&&!o&&!n&&!s&&!i)return;if(i)return parseInt(i);let a=t?parseInt(t):e.year,c=r?parseInt(r):e.month,l=o?parseInt(o):e.date,u=n?parseInt(n):void 0,p=s?parseInt(s):void 0,f=u!==void 0&&p!==void 0?{year:a,month:c,date:l,hours:u,minutes:p}:{year:a,month:c,date:l};return!Ro(e)||!Ro(f)?f:Math.round((ye(f).getTime()-ye(e).getTime())/(60*1e3))};var ts=(e,t)=>{if(!e.generated&&qr(e)){let s=Qi(e,t);return s?ts(s,t):void 0}let r=ye(lr(e)?e.freshness.refDate:e.executed.start),o=es(e),n=Zi(e);return{title:n!==void 0?${n}:e.name,base:r,plan:{start:Qh(e)?void 0:r,duration:o!==void 0?o*60:void 0},record:{}}};var Wl={あさごはん:"#log-breakfast",ひるごはん:"#log-lunch",よるごはん:"#log-dinner"},ko=(e,{title:t,projectTo:r,mode:o})=>{let[n,...s]=e.split( ),i=ot(n);if(!i)return;if(s.length===0)return{text:e,pages:[]};let{title:a,base:c,record:l,...u}=i,p=nT(a,c,l),f=_e({title:${p},base:c,record:l,...u}),m=Math.min(...s.map(g=>Ji(g))),h=[.../[\[\]]/.test(a)&&a!==${p}?[a]:[],...t in Wl?[...s.map(g=>g.slice(m)),"",Wl[t],"#log-eatenfood"]:[...s.map(g=> ${g.slice(m)}),""]];return{text:f,pages:[{project:r,title:p,lines:eg(t,h,[l.start??c]),mode:o}]}};ko.hookName="task-hook";var nT=(e,t,r)=>{let o=he(r.start??t,"yyyy-MM-dd");if(e in Wl)return${o} ${e};if(cr(e.slice(1,-1)))return e.slice(1,-1);let n=e.replace(/[\[\]]/g,"").trim();return${n}${n.endsWith(o)?"": ${o}}},vo=(e,{title:t,projectTo:r,mode:o,lines:n})=>{let[s,...i]=e.split( );if(i.length===0)return;let a=s.replace(/[\[\]]/g,"").trim(),c=Math.min(...i.map(p=>Ji(p))),l=r.startsWith("takker")?Th([new Date,...n.map(({updated:p})=>new Date(p*1e3))]).sort((p,f)=>f.getTime()-p.getTime()):[],u=["",.../[\[\]]/.test(s)?[s.trimStart()]:[],...i.map(p=>p.slice(c))];return{text:${" ".repeat(Ji(s))}${a},pages:[{project:r,title:a,lines:eg(t,u,l),mode:o}]}};vo.hookName="new-page-hook";var _o=(e,{projectTo:t,mode:r})=>{if(e.includes( )||!/\[[^\]]+\]/.test(e))return;let[o,n]=e.match(/^(\s*)(.*)$/)?.slice?.(1)??["",e],s=[...n.matchAll(/\[([^\]])\]/g)].map(a=>ne(a[1])),i=n.replaceAll("[","").replaceAll("]","");return{text:${o}${i},pages:[{project:t,title:i,lines:(a,{links:c})=>{let l=c.map(u=>ne(u));if(!s.every(u=>l.includes(u)))return[...a.map(u=>u.text),n]},mode:r}]}};_o.hookName="splitted-link-hook";var eg=(e,t,r)=>(o,{links:n})=>{let s=n.map(p=>ne(p)),i=s.includes(ne(e))?[]:[from ${e}],a=r.flatMap(p=>{let f=he(p,"yyyy-MM-dd");if(s.includes(f))return[];let m=he(p,"HH:mm:ss");return[#${f} ${m}]}),c=o.map(p=>p.text),l=c.findIndex(p=>/^#\d{4}-\d{2}-\d{2}/.test(p)),u=l<0?c.length:l;return[...c.slice(0,u),...i,...t,"",...a,...c.slice(u)]};var tg=e=>e.preventDefault(),rg=e=>e.stopPropagation(),og={"<A-a><A-t>":async e=>{tg(e),rg(e);let[t,r]=sT(),o=jr().slice(t,r+1).map(n=>{let s=n.text,i=n.text.match(/\[([^\]]+)\]/)?.[1];if(!i)return s;let a=cr(i);if(!a||G(a))return s;let c=X(a);if(c.freshness?.status==="done")return s;let l=ts(c,new Date);return l?(l.title=${i},_e(l)):s}).join( );await Yd(t,r,o),await Yn()},"<A-a><A-m>":e=>{scrapbox.Layout==="page"&&(tg(e),rg(e),Qn({from:{project:scrapbox.Project.name,title:scrapbox.Page.title},to:"takker-memex"}))}},sT=()=>{let{selectionRange:{start:e,end:t},selectedText:r,position:o}=Ke();return r===""?[o.line,o.line]:e.line>t.line?[t.line,e.line]:[e.line,t.line]};var To=e=>e.preventDefault(),Po=e=>e.stopPropagation(),Gl={"<A-a><A-a>":e=>{To(e),Po(e),Ml()},"<A-a><A-s>":e=>{To(e),Po(e),Xi()},"<A-a><A-e>":e=>{To(e),Po(e),nn()},"<A-a><A-0>":e=>{To(e),Po(e),Il()},"<A-a><A-1>":e=>{To(e),Po(e),Dl(1)},"<A-a><A-t>":e=>{To(e),Po(e),$l()},"<A-a><A-S>":e=>{scrapbox.Layout==="page"&&(To(e),Po(e),Bl(scrapbox.Project.name,scrapbox.Page.title))}};var Xe=e=>e.preventDefault(),Ye=e=>e.stopPropagation(),So=(e,t)=>{let r=Id()?.getElementsByClassName?.("button");if(!r)return;let o=[...r].find(n=>t instanceof RegExp?t.test(n.textContent??""):n.textContent===t);o instanceof HTMLDivElement&&e.target===document.activeElement&&(Xe(e),Ye(e),o.click())},iT={"-":e=>So(e,""),"]":e=>So(e,""),c:e=>So(e,"Copy plain"),$:e=>So(e,""),"{":e=>So(e,/{{c\d+}}/),"}":e=>So(e,"reset cloze"),n:e=>So(e,"make note")},aT={"<C-]>":e=>{let{position:{line:t,char:r}}=Ke(),o=Kn(t,r)?.closest("a.page-link")??vr(t)?.querySelector?.("a.page-link");o instanceof HTMLAnchorElement&&(Xe(e),Ye(e),o.click())},"<C-o>":e=>{Xe(e),Ye(e),history.back()}},cT={"<C-home>":e=>{Xe(e),Ye(e),Gd()},"<C-end>":e=>{Xe(e),Ye(e),Vd()}},ng=[ko,vo,_o],lT={"<C-X>":e=>{let t=window.prompt("Create a new page at",scrapbox.Project.name);t&&(Xe(e),Ye(e),_r({project:t,mode:"self",hooks:ng})?.())},"<C-D>":e=>{let t=window.prompt("Create a new page at",scrapbox.Project.name);t&&(Xe(e),Ye(e),_r({project:t,mode:"noopen",hooks:ng})?.())},"<C-h>":e=>{Xe(e),Ye(e),Pi()},"<C-j>":e=>{Xe(e),Ye(e),Oi()},"<C-k>":e=>{Xe(e),Ye(e),Si()},"<C-l>":e=>{Xe(e),Ye(e),Ti()},"<A-h>":e=>{Xe(e),Ye(e),Ni()},"<A-j>":e=>{Xe(e),Ye(e),Ai()},"<A-k>":e=>{Xe(e),Ye(e),Ci()},"<A-l>":e=>{Xe(e),Ye(e),Li()}};scrapbox.TimeStamp.removeAllFormats();var pT={"<A-t><A-t>":e=>{Xe(e),Ye(e),He(he(new Date,"#yyyy-MM-dd HH:mm:ss "))},"<A-t><A-j>":e=>{Xe(e),Ye(e),He(he(new Date,"yyyy-MM-dd HH:mm:ss "))},"<A-t><A-k>":e=>{Xe(e),Ye(e),He(he(new Date,"HH:mm:ss "))},"<A-t><A-l>":e=>{Xe(e),Ye(e),He(he(new Date,"yyyy-MM-dd"))}},sg={...iT,...aT,...cT,...lT,...pT,...og};var{render:uT}=Oe(),Vl,mT=e=>{Vl!==void 0&&cancelAnimationFrame(Vl),Vl=requestAnimationFrame(()=>uT({type:"text",text:e}))},zl=new $i({addEventListener:Zd,removeEventListener:Ol},{onSequenceUpdate:mT}),ig=zl.bind({...sg,...scrapbox.Project.name==="takker-memex"?Gl:{}});ig.size>0&&alert([...ig.entries()].map(([e,t])=>${e}:
${t.map(r=>- ${r}).join(`
)}).join(`
));var fT=/https?:\/\/vimeo\.com\/([0-9]+)/i,ag=e=>{let t=e.match(fT);if(t)return t[1]};var dT=/https?:\/\/open\.spotify\.com\/(track|artist|playlist|album|episode|show)\/([a-zA-Z\d_-]+)(?:\?[^\s]{0,100}|)/,cg=e=>{let t=e.match(dT);if(!t)return;let[,r,o]=t;return{videoId:o,pathType:r}};var hT=/https?:\/\/anchor\.fm\/[a-zA-Z\d_-]+\/episodes\/([a-zA-Z\d_-]+(?:\/[a-zA-Z\d_-]+)?)(?:\?[^\s]{0,100}|)/,lg=e=>{let t=e.match(hT);if(!t)return;let[,r]=t;return r};var pg=e=>{let{type:t,pathType:r,content:o,href:n,...s}=e;if(o===""){let i=ai(n);if(i)return{type:"youtube",href:n,...i,...s};let a=ag(n);if(a)return{type:"vimeo",videoId:a,href:n,...s};let c=cg(n);if(c)return{type:"spotify",href:n,...c,...s};let l=lg(n);if(l)return{type:"anchor-fm",videoId:l,href:n,...s};if(yT(n))return{type:"video",href:n,...s}}return gT(n)?{type:"audio",content:o,href:n,...s}:{type:"absoluteLink",content:o,href:n,...s}},gT=e=>/\.(?:mp3|ogg|wav|aac)$/.test(e),yT=e=>/\.(?:mp4|webm)$/.test(e);var ug=async()=>{let e=localStorage.getItem("projectsLastAccessed");if(!e)return[];try{let t=JSON.parse(e),r=Object.entries(t).sort(([,s],[,i])=>i-s).map(([s])=>s),o=await ii([]);if(H(o))return r;let n=W(o).projects.map(s=>s.id);return r.filter(s=>!n.includes(s))}catch(t){if(!(t instanceof SyntaxError))throw t;return[]}};var xT;(e=>{})(xT||={});var bT="0.13.3",ql,Kl,mg=(e=bT)=>{let t=https://cdnjs.cloudflare.com/ajax/libs/KaTeX/${e}/katex.min.js;if(Kl)throw Kl;if(!document.querySelector(scriptsrc="${t}")){let r=document.createElement("script");r.src=t,ql=new Promise((o,n)=>{r.onload=()=>o(window.katex),r.onerror=s=>{Kl=s,n(s)},document.head.append(r)})}return ql||new Promise(r=>{let o=setInterval(()=>{window.katex&&(clearInterval(o),r(window.katex))},500)})};var ea=(e,t)=>{let[r,o]=J("");return{ref:U(s=>{if(!s){o("");return}mg().then(i=>{try{i.render(e,s,t),o("")}catch(a){if(a instanceof Error&&a.name==="ParseError")o(a.message.slice(19));else throw a}})},[e,...Object.values(t??{})]),error:r}};var fg=e=>{let t=[],r=new Set,o=n=>{r.delete(n);let s=t.pop();if(!s)return;let i=s[0]().finally(()=>o(i)).then(a=>s[1](a)).catch(a=>s[2](a));r.add(i)};return n=>{if(r.size<e){let s=n().finally(()=>o(s));return r.add(s),s}return new Promise((s,i)=>{t.push([n,s,i])})}};var ET="0.6.5",gg=ScrapBubble-${ET},dg=await globalThis.caches.open(gg);(async()=>{for(let e of await globalThis.caches.keys())e.startsWith("ScrapBubble-")&&e!==gg&&(await globalThis.caches.delete(e),console.log(ScrapBubble deleted old cache :"${e}"))})();var hg=fg(3);async function*ta(e,t){let r=((t?.saveFailedResponse?dg.match(e):void 0)??Br(e,t)).then(i=>["cache",i]);{let i=Ie(1e3).then(()=>"timeout"),a=await Promise.race([r,i]);if(a!=="timeout"){a[1]&&(yield["cache",a[1]]);let c=await hg(()=>fetch(e));!c.ok&&t?.saveFailedResponse&&await dg.put(e,c.clone()),yield["network",c]}}let o=hg(()=>fetch(e)).then(i=>["network",i]),[n,s]=await Promise.race([r,o]);if(n==="network"){yield[n,s];return}s&&(yield[n,s]),yield await o}var yg=(e,t)=>new Date(e.headers.get("Date")??0).getTime()/1e3+t<new Date().getTime()/1e3;var ra=()=>{let e=new Map;return{dispatch:(t,r)=>{let o=e.get(t);if(o)for(let n of o)n(r)},on:(t,r)=>{let o=e.get(t)??new Set;o.add(r),e.set(t,o)},off:(t,r)=>{let o=e.get(t);o&&o.delete(r)}}};var Ot=!1,xg=e=>{Ot=typeof e=="boolean"?e:new Set(e)},Kr=e=>Object.fromEntries([...Object.entries(console)].map(([t,r])=>{if(typeof r!="function")return[t,r];switch(t){case"warn":case"error":return[t,(...o)=>r(%c${e},"color: gray",...o)];case"log":case"info":case"debug":return[t,(...o)=>{Ot!==!0&&(!Ot||!Ot.has(e))||r(%c${e},"color: gray",...o)}];case"assert":return[t,(o,...n)=>{Ot!==!0&&(!Ot||!Ot.has(e))||r(o,%c${e},"color: gray",...n)}];case"time":case"timeEnd":return[t,o=>{Ot!==!0&&(!Ot||!Ot.has(e))||r(${e} ${o})}];default:return[t,(...o)=>{if(!(Ot!==!0&&(!Ot||!Ot.has(e))))return r(...o)}]}}));var Xl=ra(),oa=new Map,wT=Kr("ScrapBubble:useProject.ts"),bg=e=>{let[t,r]=J();return oe(()=>{Xl.on(e,r);let o=oa.get(e);return o?r(o.loading?void 0:o.value):(oa.set(e,{loading:!0}),r(void 0),(async()=>{try{let n=xr.toRequest(e);for await(let[,s]of ta(n)){let i=await xr.fromResponse(s);oa.set(e,{loading:!1,value:i}),Xl.dispatch(e,i);break}}catch(n){wT.error(n),oa.delete(e)}})()),()=>Xl.off(e,r)},[e]),t};var RT=["default-light","default-dark","default-minimal"],kT=["paper-light","paper-dark-dark","paper-dark"],Eg=["blue","purple","green","orange","red"],vT=["hacker1","hacker2"],wg=["winter","spring","summer","automn"],Rg=["tropical"],kg=["kyoto","newyork","paris"],vg=["mred","lgreen"],Kae=["default-light","default-minimal","paper-light",...Eg,...wg,...Rg,...kg,...vg];var _T=[...RT,...kT,...Eg,...vT,...wg,...Rg,...kg,...vg];function _g(e){return _T.includes(e)}var Tg="default-light",Oo=e=>{let t=bg(e);return C(()=>{if(!t||H(t))return Tg;let r=W(t).theme;return _g(r)?r:Tg},[t])};var sn=(e,t)=>new Promise(r=>{let o=!1,n=()=>{o=!0,r(!1)};e.addEventListener("click",n),e.addEventListener("pointerleave",n),setTimeout(()=>{o||r(!0),e.removeEventListener("click",n),e.removeEventListener("pointerleave",n),r(!1)},t)});var an=e=>{let{top:t,right:r,left:o,bottom:n}=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),i=(o-s.left)/s.width>.5;return{top:Math.round(n-s.top),bottom:Math.round(globalThis.innerHeight-globalThis.scrollY-t),...i?{right:Math.round(s.right-r)}:{left:Math.round(o-s.left)},maxWidth:i?r-10:document.documentElement.clientWidth-o-10}};var Pg=({project:e,title:t,descriptions:r,thumbnail:o,linkTo:n,bubble:s,delay:i,prefetch:a})=>{let c=C(()=>o?[]:Be(r.join( ),{hasTitle:!1}),[o,r]),l=Oo(e),u=U(async({currentTarget:f})=>{a(e,t),await sn(f,i)&&s({project:e,title:t,linkTo:n,type:"link",position:an(f)})},[e,t,i,n?.project,n?.titleLc]),p=C(()=>n?()=>{en({type:"page",from:{project:n.project??e,title:n.titleLc},to:{project:e,title:t}})}:()=>{},[e,t,n?.project,n?.titleLc]);return d("a",{className:"related-page-card page-link",type:"link","data-theme":l,href:/${e}/${ae(t)},rel:e===scrapbox.Project.name?"route":"noopner noreferrer",target:e!==scrapbox.Project.name?"_blank":"",onPointerEnter:u,onClick:p,children:[d("div",{class:"hover"}),d("div",{class:"content",children:[d("div",{class:"header",children:d("div",{class:"title",children:t})}),o?d("div",{class:"thumbnail",children:d("img",{src:o})}):d("div",{class:"description",children:c.flatMap((f,m)=>f.type==="line"?[d("p",{children:f.nodes.map(h=>d(Sg,{node:h,project:e}))},m)]:[])})]})]})},Sg=({node:e,project:t})=>{switch(e.type){case"code":return d("code",{children:e.text});case"formula":return d(TT,{node:e});case"commandLine":return d("code",{children:[e.symbol," $",e.text]});case"helpfeel":return d("code",{children:["? ",e.text]});case"quote":case"strong":case"decoration":return d(Y,{children:e.nodes.map(r=>d(Sg,{node:r,project:t}))});case"icon":case"strongIcon":return d(PT,{node:e,project:t});case"hashTag":return d(ST,{node:e});case"link":return d(OT,{node:e});case"plain":case"blank":return d(Y,{children:e.text});default:return d(Y,{})}},TT=({node:{formula:e}})=>{let{ref:t,error:r}=ea(e);return d("span",{className:formula ${r?" error":""},children:r?d("code",{children:e}):d("span",{className:"katex-display",ref:t})})},PT=({node:{pathType:e,path:t},project:r})=>{let[o,n]=e==="relative"?[r,t]:t.match(/\/([\w\-]+)\/(.+)$/)?.slice?.(1)??[r,t];return d("img",{class:"icon",src:/api/pages/${o}/${ae(n)}/icon})},ST=({node:{href:e}})=>d("span",{class:"page-link",children:["#",e]}),OT=({node:{pathType:e,href:t,content:r}})=>e!=="absolute"?d("span",{class:"page-link",children:t}):d("span",{class:"link",children:r||t});var be=(e,t)=>/${e.toLowerCase()}/${ne(t)},na=e=>{let t=e.match("/([^/]+)/(.+)");if(!t)throw SyntaxError("${e}" cannnot match "/(^/+)/(.+)");return{project:t[1],titleLc:t[2]}};var Mg=Symbol.for("immer-nothing"),Og=Symbol.for("immer-draftable"),xe=Symbol.for("immer-state");function jt(e,...t){throw new Error(Immer minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf)}var cn=Object.getPrototypeOf;function ln(e){return!!e&&!!e[xe]}function Sr(e){return e?Ig(e)||Array.isArray(e)||!!e[Og]||!!e.constructor?.[Og]||la(e)||pa(e):!1}var LT=Object.prototype.constructor.toString();function Ig(e){if(!e||typeof e!="object")return!1;let t=cn(e);if(t===null)return!0;let r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object?!0:typeof r=="function"&&Function.toString.call(r)===LT}function rs(e,t){ca(e)===0?Reflect.ownKeys(e).forEach(r=>{t(r,e[r],e)}):e.forEach((r,o)=>t(o,r,e))}function ca(e){let t=e[xe];return t?t.type_:Array.isArray(e)?1:la(e)?2:pa(e)?3:0}function Ql(e,t){return ca(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ug(e,t,r){let o=ca(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r}function NT(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function la(e){return e instanceof Map}function pa(e){return e instanceof Set}function nt(e){return e.copy_||e.base_}function Zl(e,t){if(la(e))return new Map(e);if(pa(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let r=Ig(e);if(t===!0||t==="class_only"&&!r){let o=Object.getOwnPropertyDescriptors(e);delete o[xe];let n=Reflect.ownKeys(o);for(let s=0;s<n.length;s++){let i=n[s],a=o[i];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(o[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[i]})}return Object.create(cn(e),o)}else{let o=cn(e);if(o!==null&&r)return{...e};let n=Object.create(o);return Object.assign(n,e)}}function op(e,t=!1){return ua(e)||ln(e)||!Sr(e)||(ca(e)>1&&(e.set=e.add=e.clear=e.delete=CT),Object.freeze(e),t&&Object.entries(e).forEach(([r,o])=>op(o,!0))),e}function CT(){jt(2)}function ua(e){return Object.isFrozen(e)}var ep={};function Lo(e){let t=ep[e];return t||jt(0,e),t}function AT(e,t){ep[e]||(ep[e]=t)}var os;function sa(){return os}function MT(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Lg(e,t){t&&(Lo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function tp(e){rp(e),e.drafts_.forEach(IT),e.drafts_=null}function rp(e){e===os&&(os=e.parent_)}function Ng(e){return os=MT(os,e)}function IT(e){let t=e[xe];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Cg(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];return e!==void 0&&e!==r?(r[xe].modified_&&(tp(t),jt(4)),Sr(e)&&(e=ia(t,e),t.parent_||aa(t,e)),t.patches_&&Lo("Patches").generateReplacementPatches_(r[xe].base_,e,t.patches_,t.inversePatches_)):e=ia(t,r,[]),tp(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Mg?e:void 0}function ia(e,t,r){if(ua(t))return t;let o=t[xe];if(!o)return rs(t,(n,s)=>Ag(e,o,t,n,s,r)),t;if(o.scope_!==e)return t;if(!o.modified_)return aa(e,o.base_,!0),o.base_;if(!o.finalized_){o.finalized_=!0,o.scope_.unfinalizedDrafts_--;let n=o.copy_,s=n,i=!1;o.type_===3&&(s=new Set(n),n.clear(),i=!0),rs(s,(a,c)=>Ag(e,o,n,a,c,r,i)),aa(e,n,!1),r&&e.patches_&&Lo("Patches").generatePatches_(o,r,e.patches_,e.inversePatches_)}return o.copy_}function Ag(e,t,r,o,n,s,i){if(ln(n)){let a=s&&t&&t.type_!==3&&!Ql(t.assigned_,o)?s.concat(o):void 0,c=ia(e,n,a);if(Ug(r,o,c),ln(c))e.canAutoFreeze_=!1;else return}else i&&r.add(n);if(Sr(n)&&!ua(n)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;ia(e,n),(!t||!t.scope_.parent_)&&typeof o!="symbol"&&Object.prototype.propertyIsEnumerable.call(r,o)&&aa(e,n)}}function aa(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&op(t,r)}function UT(e,t){let r=Array.isArray(e),o={type_:r?1:0,scope_:t?t.scope_:sa(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},n=o,s=np;r&&(n=[o],s=ns);let{revoke:i,proxy:a}=Proxy.revocable(n,s);return o.draft_=a,o.revoke_=i,a}var np={get(e,t){if(t===xe)return e;let r=nt(e);if(!Ql(r,t))return FT(e,r,t);let o=r[t];return e.finalized_||!Sr(o)?o:o===Yl(e.base_,t)?(Jl(e),e.copy_[t]=ss(o,e)):o},has(e,t){return t in nt(e)},ownKeys(e){return Reflect.ownKeys(nt(e))},set(e,t,r){let o=Fg(nt(e),t);if(o?.set)return o.set.call(e.draft_,r),!0;if(!e.modified_){let n=Yl(nt(e),t),s=n?.[xe];if(s&&s.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(NT(r,n)&&(r!==void 0||Ql(e.base_,t)))return!0;Jl(e),Pr(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Yl(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Jl(e),Pr(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=nt(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty(){jt(11)},getPrototypeOf(e){return cn(e.base_)},setPrototypeOf(){jt(12)}},ns={};rs(np,(e,t)=>{ns[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});ns.deleteProperty=function(e,t){return ns.set.call(this,e,t,void 0)};ns.set=function(e,t,r){return np.set.call(this,e[0],t,r,e[0])};function Yl(e,t){let r=e[xe];return(r?nt(r):e)[t]}function FT(e,t,r){let o=Fg(t,r);return o?"value"in o?o.value:o.get?.call(e.draft_):void 0}function Fg(e,t){if(!(t in e))return;let r=cn(e);for(;r;){let o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=cn(r)}}function Pr(e){e.modified_||(e.modified_=!0,e.parent_&&Pr(e.parent_))}function Jl(e){e.copy_||(e.copy_=Zl(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var DT=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,r,o)=>{if(typeof t=="function"&&typeof r!="function"){let s=r;r=t;let i=this;return function(a=s,...c){return i.produce(a,l=>r.call(this,l,...c))}}typeof r!="function"&&jt(6),o!==void 0&&typeof o!="function"&&jt(7);let n;if(Sr(t)){let s=Ng(this),i=ss(t,void 0),a=!0;try{n=r(i),a=!1}finally{a?tp(s):rp(s)}return Lg(s,o),Cg(n,s)}else if(!t||typeof t!="object"){if(n=r(t),n===void 0&&(n=t),n===Mg&&(n=void 0),this.autoFreeze_&&op(n,!0),o){let s=[],i=[];Lo("Patches").generateReplacementPatches_(t,n,s,i),o(s,i)}return n}else jt(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(s,...i)=>this.produceWithPatches(s,a=>t(a,...i));let o,n;return[this.produce(t,r,(s,i)=>{o=s,n=i}),o,n]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){Sr(e)||jt(8),ln(e)&&(e=$T(e));let t=Ng(this),r=ss(e,void 0);return r[xe].isManual_=!0,rp(t),r}finishDraft(e,t){let r=e&&e[xe];(!r||!r.isManual_)&&jt(9);let{scope_:o}=r;return Lg(o,t),Cg(void 0,o)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let n=t[r];if(n.path.length===0&&n.op==="replace"){e=n.value;break}}r>-1&&(t=t.slice(r+1));let o=Lo("Patches").applyPatches_;return ln(e)?o(e,t):this.produce(e,n=>o(n,t))}};function ss(e,t){let r=la(e)?Lo("MapSet").proxyMap_(e,t):pa(e)?Lo("MapSet").proxySet_(e,t):UT(e,t);return(t?t.scope_:sa()).drafts_.push(r),r}function $T(e){return ln(e)||jt(10,e),Dg(e)}function Dg(e){if(!Sr(e)||ua(e))return e;let t=e[xe],r;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Zl(e,t.scope_.immer_.useStrictShallowCopy_)}else r=Zl(e,!0);return rs(r,(o,n)=>{Ug(r,o,Dg(n))}),t&&(t.finalized_=!1),r}function $g(){class e extends Map{constructor(c,l){super(),this[xe]={type_:2,parent_:l,scope_:l?l.scope_:sa(),modified_:!1,finalized_:!1,copy_:void 0,assigned_:void 0,base_:c,draft_:this,isManual_:!1,revoked_:!1}}get size(){return nt(this[xe]).size}has(c){return nt(this[xe]).has(c)}set(c,l){let u=this[xe];return i(u),(!nt(u).has(c)||nt(u).get(c)!==l)&&(r(u),Pr(u),u.assigned_.set(c,!0),u.copy_.set(c,l),u.assigned_.set(c,!0)),this}delete(c){if(!this.has(c))return!1;let l=this[xe];return i(l),r(l),Pr(l),l.base_.has(c)?l.assigned_.set(c,!1):l.assigned_.delete(c),l.copy_.delete(c),!0}clear(){let c=this[xe];i(c),nt(c).size&&(r(c),Pr(c),c.assigned_=new Map,rs(c.base_,l=>{c.assigned_.set(l,!1)}),c.copy_.clear())}forEach(c,l){let u=this[xe];nt(u).forEach((p,f,m)=>{c.call(l,this.get(f),f,this)})}get(c){let l=this[xe];i(l);let u=nt(l).get(c);if(l.finalized_||!Sr(u)||u!==l.base_.get(c))return u;let p=ss(u,l);return r(l),l.copy_.set(c,p),p}keys(){return nt(this[xe]).keys()}values(){let c=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let l=c.next();return l.done?l:{done:!1,value:this.get(l.value)}}}}entries(){let c=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let l=c.next();if(l.done)return l;let u=this.get(l.value);return{done:!1,value:[l.value,u]}}}}[Symbol.iterator](){return this.entries()}}function t(a,c){return new e(a,c)}function r(a){a.copy_||(a.assigned_=new Map,a.copy_=new Map(a.base_))}class o extends Set{constructor(c,l){super(),this[xe]={type_:3,parent_:l,scope_:l?l.scope_:sa(),modified_:!1,finalized_:!1,copy_:void 0,base_:c,draft_:this,drafts_:new Map,revoked_:!1,isManual_:!1}}get size(){return nt(this[xe]).size}has(c){let l=this[xe];return i(l),l.copy_?!!(l.copy_.has(c)||l.drafts_.has(c)&&l.copy_.has(l.drafts_.get(c))):l.base_.has(c)}add(c){let l=this[xe];return i(l),this.has(c)||(s(l),Pr(l),l.copy_.add(c)),this}delete(c){if(!this.has(c))return!1;let l=this[xe];return i(l),s(l),Pr(l),l.copy_.delete(c)||(l.drafts_.has(c)?l.copy_.delete(l.drafts_.get(c)):!1)}clear(){let c=this[xe];i(c),nt(c).size&&(s(c),Pr(c),c.copy_.clear())}values(){let c=this[xe];return i(c),s(c),c.copy_.values()}entries(){let c=this[xe];return i(c),s(c),c.copy_.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(c,l){let u=this.values(),p=u.next();for(;!p.done;)c.call(l,p.value,p.value,this),p=u.next()}}function n(a,c){return new o(a,c)}function s(a){a.copy_||(a.copy_=new Set,a.base_.forEach(c=>{if(Sr(c)){let l=ss(c,a);a.drafts_.set(c,l),a.copy_.add(l)}else a.copy_.add(c)}))}function i(a){a.revoked_&&jt(3,JSON.stringify(nt(a)))}AT("MapSet",{proxyMap_:t,proxySet_:n})}var Lt=new DT,ma=Lt.produce,yce=Lt.produceWithPatches.bind(Lt),xce=Lt.setAutoFreeze.bind(Lt),bce=Lt.setUseStrictShallowCopy.bind(Lt),Ece=Lt.applyPatches.bind(Lt),wce=Lt.createDraft.bind(Lt),Rce=Lt.finishDraft.bind(Lt);$g();var jg=e=>{let t=0;for(let r of e)if(r&&(r.exists||(t+=(r.linked?.length??0)+(r.projectLinked?.length??0),t>1)))return!1;return t<2},Bg=(e,t)=>ma(e,r=>{if(!r)return t;if(r.updated<t.updated){let{lines:o,linked:n,projectLinked:s,...i}=t;Object.assign(r,i),sp(t)||(r.lines=o),n&&(r.linked??=n),s&&(r.projectLinked??=s);return}sp(r)&&!sp(t)&&(r.lines=t.lines),t.linked&&(t.isLinkedCorrect||!r.isLinkedCorrect&&(r.linked?.length??0)<=t.linked.length)&&(r.linked=t.linked),t.projectLinked&&(r.projectLinked=t.projectLinked)}),sp=e=>e.lines[0].id==="dummy";var Hg=(e,t)=>{let r=new Map,o=ne(t.title);for(let c of t.links){let l=ip(e,c);l.linked=[o],r.set(be(e,c),l)}let n=be(e,o),s=t.projectLinks.map(c=>{let l=na(c);return be(l.project,l.titleLc)}),i={...fa(e,t),linked:[],projectLinked:[]};r.set(n,i);let a=t.links.map(c=>ne(c));for(let c of t.relatedPages.links1hop){c.linksLc.includes(o)&&i.linked.push(c.titleLc);for(let f of c.linksLc.filter(m=>a.includes(m))){let m=be(e,f),h=r.get(m)??ip(e,f);if(!h.linked){h.linked=[c.titleLc];continue}h.linked.push(c.titleLc)}let l=be(e,c.titleLc),u=fa(e,c),p=r.get(l)?.linked;p&&(u.linked=p),r.set(l,u)}for(let c of t.relatedPages.projectLinks1hop){let l=be(c.projectName,c.titleLc);s.includes(l)||i.projectLinked.push(l);let u=fa(c.projectName,c),p=r.get(l)?.projectLinked;p&&(u.projectLinked=p),r.set(l,u)}i.isLinkedCorrect=!0;for(let c of t.relatedPages.links2hop){for(let f of c.linksLc){let m=be(e,f),h=r.get(m)??ip(e,f);if(!h.linked){h.linked=[c.titleLc];continue}h.linked.push(c.titleLc)}let l=be(e,c.titleLc),u=fa(e,c),p=r.get(l)?.linked;p&&(u.linked=p),r.set(l,u)}return r},fa=(e,t)=>({project:e,titleLc:"titleLc"in t?t.titleLc:ne(t.title),exists:"persistent"in t?t.persistent:!0,descriptions:t.descriptions,image:t.image,lines:"lines"in t?t.lines:[t.title,...t.descriptions].map(r=>({text:r,id:"dummy",userId:"dummy",updated:t.updated,created:t.updated})),updated:t.updated,isLinkedCorrect:!1}),ip=(e,t)=>({project:e,titleLc:ne(t),exists:!1,descriptions:[],image:null,lines:[{text:t,id:"dummy",userId:"dummy",updated:0,created:0}],updated:0,isLinkedCorrect:!1});var da=Kr("ScrapBubble:bubble.ts"),ap=new Map,ha=new Set,cp=ra();function*Gg(e){for(let t of e)yield ap.get(t)}var Vg=(e,t)=>cp.on(e,t),zg=(e,t)=>cp.off(e,t),qg=async(e,t,r,o)=>{let n=[];for(let s of[...t].reverse()){let i=be(s,e);ha.has(i)||n.push(jT(s,e,r,o))}await Promise.all(n)},Wg=0,jT=async(e,t,r,o)=>{let n=be(e,t);if(ha.has(n))return;ha.add(n);let s=Wg++,i=${s} Check update ${n};da.time(i);try{let a=Ft.toRequest(e,t,{followRename:!0,projects:[...r]});for await(let[c,l]of ta(a,{ignoreSearch:!0,saveFailedResponse:!0})){da.debug(${s}${c} ${n});let u=await Ft.fromResponse(l);if(Ne(u)){let p=Hg(e,W(u));for(let[f,m]of p){let h=ap.get(f),g=Bg(h,m);g&&h!==g&&(ap.set(f,g),cp.dispatch(f,m))}}if(o?.ignoreFetch===!0||c==="cache"&&!yg(l,o?.maxAge??60))break}}catch(a){da.error(a)}finally{ha.delete(n),da.timeEnd(i),Wg--}};var Kg=Kr("ScrapBubble:useBubbleData.ts"),pn=e=>{let[t,r]=J(lp(e));return oe(()=>{r(lp(e));let o,n=()=>{clearTimeout(o),o=setTimeout(()=>{Kg.debug(Update ${e.length} pages),r(lp(e))},10)};return e.forEach(s=>Vg(s,n)),()=>e.forEach(s=>zg(s,n))},e),t},lp=e=>{let t=[...Gg(e)].flatMap(r=>r?[r]:[]);return Kg.debug(Required: ${e.length} pages, ${t.length} found,t),t};var Xg=({source:e,linked:t,externalLinked:r,projectsForSort:o,...n})=>{let s=C(()=>[...t.keys(),...r.keys()],[t,r]),i=pn(s),a=C(()=>[...o],[o]),c=C(()=>{let u=(p,f)=>{let m=a.indexOf(p.project),h=a.indexOf(f.project);return m===h?f.updated-p.updated:m<0?1:h<0?-1:m-h};return[...i].sort(u)},[i,a]),l=C(()=>({bottom:${e.position.bottom}px,maxWidth:${e.position.maxWidth}px,..."left"in e.position?{left:${e.position.left}px}:{right:${e.position.right}px}}),[e.position]);return d("ul",{className:"card-bubble",style:l,onClick:n.onClick,children:c.map(({project:u,titleLc:p,lines:[{text:f}],descriptions:m,image:h})=>{let g=be(u,p),y=t.get(g)??r.get(g);return d("li",{children:d(Pg,{project:u,title:f,linkTo:y,descriptions:m,thumbnail:h??"",...n})},g)})})};var un=e=>{e:if(e.pathType==="root"){let[,r="",o=""]=e.href.match(/\/([\w\-]+)(?:\/?|\/(.*))$/)??["","",""];if(r==="")break e;let[,n]=o?.match?.(/#([a-f\d]{24,32})$/)??["",""];return o===""?{project:r}:n===""?{project:r,title:o}:{project:r,title:o.slice(0,-1-n.length),hash:n}}let[,t]=e.href.match(/#([a-f\d]{24,32})$/)??["",""];return t===""?{title:e.href}:{title:e.href.slice(0,-1-t.length),hash:t}};var pp=(e,t)=>t.some(r=>{let o=!e.project;switch(r.type){case"hashTag":return o&&ne(r.href)===e.titleLc;case"link":{if(r.pathType=="absolute"||r.pathType==="relative"!==o)return!1;let{project:n,title:s=""}=un({pathType:r.pathType,href:r.href});return o?!n&&ne(s)===e.titleLc:n===e.project&&ne(s)===e.titleLc}case"quote":case"strong":case"decoration":return pp(e,r.nodes)}});var Xr=Gn({title:"",project:"",whiteList:new Set,bubble:()=>{},hide:()=>{},delay:0,prefetch:()=>{}}),Jg=({lines:e,project:t,title:r,whiteList:o,noIndent:n,hash:s,linkTo:i,...a})=>{let c=C(()=>e.flatMap(m=>typeof m=="string"?[]:[m.id]),[e]),l=C(()=>{let m=0;return Be(e.map(h=>typeof h=="string"?h:h.text).join( ),{hasTitle:!0}).map(h=>{switch(h.type){case"title":case"line":return{...h,id:c[m++]};case"codeBlock":{let g=m;return m+=h.content.split(
).length+1,{...h,ids:c.slice(g,m)}}case"table":{let g=m;return m+=h.cells.length+1,{...h,ids:c.slice(g,m)}}}})},[e,c]),u=C(()=>{if(s&&c.includes(s))return s;if(i)return l.find(m=>m.type!=="line"?!1:pp(i,m.nodes))?.id},[l,c,s,i?.project,i?.titleLc]),p=Ve(null);oe(()=>{if(!u)return;let m=p.current?.querySelector(data-id="${u}"),h=globalThis.scrollY;m?.scrollIntoView?.({block:"center"}),globalThis.scroll(0,h)},[u]);let f=Oo(t);return d("div",{className:"lines","data-theme":f,ref:p,children:d(Xr.Provider,{value:{project:t,title:r,whiteList:o,...a},children:l.map(m=>{switch(m.type){case"title":return d(Y,{children:[d(fn,{index:m.id,indent:0,noIndent:n,permalink:m.id===u,children:d("a",{className:"page-link",type:"link",href:/${t}/${ae(m.text)},rel:t===scrapbox.Project.name?"route":"noopener noreferrer",target:t===scrapbox.Project.name?"":"_blank",children:m.text})},m.id),d("hr",{})]});case"codeBlock":return d(BT,{block:m,noIndent:n,ids:m.ids,scrollId:u},m.ids[0]);case"table":return d(HT,{block:m,noIndent:n,ids:m.ids,scrollId:u},m.ids[0]);case"line":return d(fn,{index:m.id,indent:m.indent,noIndent:n,permalink:m.id===u,children:m.nodes.length>0?m.nodes.map(h=>d(mn,{node:h})):d("br",{})},m.id)}})})})},fn=({index:e,indent:t,noIndent:r,children:o,permalink:n})=>d("div",{className:line${n?" permalink":""},"data-id":e,"data-indent":t,style:{"margin-left":r?"":${1*t}em},children:o}),BT=({block:{fileName:e,content:t,indent:r},ids:o,scrollId:n})=>{let{project:s,title:i}=Rr(Xr),[a,c]=J(""),l=U(async u=>{u.preventDefault(),u.stopPropagation();try{await navigator.clipboard.writeText(t),c("Copied"),await Ie(1e3),c("")}catch(p){alert(Failed to copy the code block Error: ${p})}},[t]);return d(Y,{children:[d(fn,{index:o[0],indent:r,permalink:o[0]===n,children:d("span",{className:"code-block",children:[d("span",{className:"code-block-start",children:d("a",{href:/api/code/${s}/${ae(i)}/${e},target:"_blank",children:e})}),d("span",{className:"copy",title:"Copy",onClick:l,children:a})]})}),d(Y,{children:t.split(
).map((u,p)=>d(fn,{index:o[p+1],indent:r,permalink:o[p+1]===n,children:d("code",{className:"code-block",children:u})}))})]})},HT=({block:{fileName:e,cells:t,indent:r},ids:o,scrollId:n})=>{let{project:s,title:i}=Rr(Xr);return d(Y,{children:[d(fn,{index:o[0],indent:r,permalink:o[0]===n,children:d("span",{className:"table-block",children:d("span",{className:"table-block-start",children:d("a",{href:/api/table/${s}/${ae(i)}/${e}.csv,target:"_blank",children:e})})})}),d(Y,{children:t.map((a,c)=>d(fn,{index:o[c+1],indent:r,permalink:o[c+1]===n,children:d("span",{className:"table-block table-block-row",children:a.map((l,u)=>d("span",{className:cell col-${u},children:l.map(p=>d(mn,{node:p}))}))})}))})]})},mn=({node:e})=>{switch(e.type){case"code":return d("code",{className:"code",children:e.text});case"formula":return d(WT,{node:e});case"commandLine":return d(VT,{node:e});case"helpfeel":return d("code",{className:"helpfeel",children:[d("span",{className:"prefix",children:"?"})," ",d("span",{className:"entry",children:e.text})]});case"quote":return d("blockquote",{className:"quote",children:e.nodes.map(t=>d(mn,{node:t}))});case"strong":return d("strong",{children:e.nodes.map(t=>d(mn,{node:t}))});case"decoration":return d(GT,{node:e});case"plain":case"blank":return d(Y,{children:e.text});case"hashTag":return d(KT,{node:e});case"link":return d(XT,{node:e});case"googleMap":return d(zT,{node:e});case"icon":return d(Yg,{node:e});case"strongIcon":return d(Yg,{node:e,strong:!0});case"image":return d(qT,{node:e});case"strongImage":return d("img",{className:"image strong-image",src:e.src});case"numberList":return d(Y,{children:[${e.number}. ,e.nodes.map(t=>d(mn,{node:t}))]})}},WT=({node:{formula:e}})=>{let{ref:t,error:r}=ea(e);return d("span",{className:formula ${r?" error":""},children:r?d("code",{children:e}):d("span",{className:"katex-display",ref:t})})},GT=({node:{decos:e,nodes:t}})=>d("span",{className:e.map(r=>deco-${r}).join(" "),children:t.map(r=>d(mn,{node:r}))}),VT=({node:e})=>{let[t,r]=J(""),o=U(async n=>{n.preventDefault(),n.stopPropagation();try{await navigator.clipboard.writeText(e.text),r("Copied"),await Ie(1e3),r("")}catch(s){alert(Failed to copy the code block
Error: ${s})}},[e.text]);return d(Y,{children:[d("code",{className:"cli",children:[d("span",{className:"prefix",children:e.symbol})," ",d("span",{className:"command",children:e.text})]}),d("span",{className:"tool-buttons",children:d("span",{title:"Copy",className:"copy",onClick:o,children:t})})]})},zT=({node:{place:e,latitude:t,longitude:r,zoom:o}})=>d("span",{className:"pointing-device-map",children:d("a",{href:https://www.google.com/maps/search/${e}/@${t},${r},${o}z,rel:"noopner noreferrer",target:"_blank",children:d("img",{className:"google-map",src:/api/google-map/static-map?center=${t}%2C${r}&markers=${e}&zoom=${o}&_csrf=${globalThis._csrf}})})}),Yg=({node:{pathType:e,path:t},strong:r})=>{let{project:o}=Rr(Xr),[n,s]=e==="relative"?[o,t]:t.match(/\/([\w\-]+)\/(.+)$/)?.slice?.(1)??[o,t],i=ae(s);return d("a",{href:/${n}/${i},rel:n===scrapbox.Project.name?"route":"noopener noreferrer",target:n===scrapbox.Project.name?"":"_blank",children:d("img",{className:r?"icon strong-icon":"icon",alt:s,src:/api/pages/${n}/${i}/icon,children:s})})},qT=({node:{link:e,src:t}})=>{let r=e||(/https:\/\/gyazo\.com\/[^\/]+\/thumb\/1000/.test(t)?t.slice(0,-11):t);return d("a",{className:e?"link":"",href:r,rel:"noopner noreferrer",target:"_blank",children:d("img",{className:"image",src:t})})},KT=({node:{href:e}})=>{let{project:t}=Rr(Xr),r=Qg(t,e),o=Zg(t,e,"hashtag");return d("a",{href:/${t}/${ae(e)},className:page-link${r?" empty-page-link":""},type:"hashTag",rel:t===scrapbox.Project.name?"route":"noopener noreferrer",target:t===scrapbox.Project.name?"":"_blank",onPointerEnter:o,children:["#",e]})},XT=({node:{pathType:e,...t}})=>{switch(e){case"relative":case"root":return d(YT,{pathType:e,href:t.href});case"absolute":{let r=pg({pathType:e,...t});switch(r.type){case"youtube":return d(JT,{...r});case"vimeo":return d(QT,{...r});case"spotify":return d(ZT,{...r});case"anchor-fm":return d(e0,{...r});case"audio":return d(t0,{...r});case"video":return d(o0,{...r});case"absoluteLink":return d("a",{className:"link",href:r.href,rel:"noopener noreferrer",target:"_blank",children:r.content||r.href})}}}},YT=({pathType:e,href:t})=>{let{project:r}=Rr(Xr),{project:o=r,title:n,hash:s=""}=un({pathType:e,href:t}),i=Zg(o,n,"link",s),a=Qg(o,n??"");return d("a",{className:page-link${n!==void 0&&a?" empty-page-link":""},type:"link",href:/${o}${n===void 0?"":/${ae(n)}${s===""?"":#${s}}},rel:o===scrapbox.Project.name?"route":"noopener noreferrer",target:o===scrapbox.Project.name?"":"_blank",onPointerEnter:i,children:t})},JT=e=>{e.params.append("autoplay","0");let t=e.pathType==="list"?https://www.youtube.com/embed/?${e.params.toString()}&list=${e.listId}:https://www.youtube.com/embed/${e.videoId}?${e.params.toString()};return d("div",{className:"iframe-video-player",children:d("iframe",{src:t,allowFullScreen:!0})})},QT=({videoId:e})=>d("div",{className:"iframe-video-player",children:d("iframe",{src:https://player.vimeo.com/video/${e},allowFullScreen:!0})}),ZT=e=>d("div",{className:"iframe-video-player",children:d("iframe",{className:spotify type-${e.pathType},src:https://open.spotify.com/embed/${e.pathType}/${e.videoId},allowFullScreen:!0})}),e0=e=>d("div",{className:"iframe-video-player",children:d("iframe",{className:"anchor-fm",src:e.href.replace("/episodes/","/embed/episodes/"),allowFullScreen:!0})}),t0=e=>e.content===""?d("audio",{className:"audio-player",preload:"none",controls:!0,src:e.href}):d(r0,{...e}),r0=({href:e,content:t})=>{let r=Ve(null),o=U(()=>{r.current?.paused?(r.current.currentTime=0,r.current.play()):r.current?.pause?.()},[]);return d("span",{className:"audio-link",children:[d("a",{href:e,rel:"noopener noreferrer",target:"_blank",children:t}),d("span",{className:"play",onClick:o,children:"♬"}),d("audio",{preload:"none",src:e,ref:r})]})},o0=({href:e})=>d("div",{className:"video-player",children:d("video",{class:"video",style:{display:"inline-block"},controls:!0,loop:!0,src:e})}),Qg=(e,t)=>{let{whiteList:r}=Rr(Xr),o=C(()=>(r.has(e)?[...r]:[e,...r]).map(s=>be(s,t)),[r,e]),n=pn(o);return C(()=>jg(n),n)},Zg=(e,t,r,o)=>{let{delay:n,bubble:s,prefetch:i}=Rr(Xr);return U(async({currentTarget:a})=>{t&&(i(e,t),await sn(a,n)&&s({project:e,title:t,hash:o,type:r,position:an(a)}))},[e,t,o,r,n,i,s])};var ey=({pages:e,onClick:t,source:r,whiteList:o,...n})=>{let[s,i]=J(be(e[0].project,e[0].titleLc)),a=C(()=>({top:${r.position.top}px,maxWidth:${r.position.maxWidth}px,..."left"in r.position?{left:${r.position.left}px}:{right:${r.position.right}px}}),[r.position]);return d("div",{className:"text-bubble",style:a,onClick:t,children:[e.length>1&&d("div",{role:"tablist",children:e.map(c=>d(n0,{project:c.project,titleLc:c.titleLc,selected:s===be(c.project,c.titleLc),tabSelector:i},be(c.project,c.titleLc)))}),e.map(c=>d(s0,{selected:s===be(c.project,c.titleLc),...c,title:c.lines[0].text,hash:r.hash,linkTo:r.linkTo,whiteList:o,...n},be(c.project,c.titleLc)))]})},n0=({project:e,titleLc:t,tabSelector:r,selected:o})=>{let n=U(()=>r(be(e,t)),[e,t]),s=Oo(e);return d("button",{role:"tab","aria-selected":o,"data-theme":s,tabIndex:-1,onClick:n,children:e})},s0=({selected:e,...t})=>{let r=Oo(t.project);return d("div",{role:"tabpanel","data-theme":r,hidden:!e,children:d(Jg,{...t})})};var ty=Kr("ScrapBubble:Bubble.tsx"),ry=({source:e,parentTitles:t,whiteList:r,...o})=>{let n=C(()=>r.has(e.project)?new Set([e.project,...r]):new Set([e.project]),[r,e.project]),[s,i,a]=a0(e,n,r,t);return d(Y,{children:[i0(a)&&d(ey,{pages:a,source:e,whiteList:r,onClick:o.hide,...o}),d(Xg,{linked:s,externalLinked:i,onClick:o.hide,source:e,projectsForSort:n,...o})]})},i0=e=>e.length>0,a0=(e,t,r,o)=>{let[[n,s,i],a]=J([new Map,new Map,[]]),c=C(()=>{let p=[...t].map(f=>be(f,e.title));return ty.debug("projects",p),p},[t,e.title]),l=pn(c),u=C(()=>o.map(p=>ne(p)),[o]);return Ri(()=>{let p=new Map,f=new Map,m=[];for(let h of l){let g={project:h.project,titleLc:h.titleLc};for(let x of h.projectLinked??[]){let{project:E,titleLc:k}=na(x);u.includes(k)&&r.has(E)||f.has(x)||f.set(x,g)}if(!r.has(h.project))continue;let y={titleLc:h.titleLc};for(let x of h.linked??[]){if(u.includes(x))continue;let E=be(h.project,x);p.has(E)||p.set(E,y)}u.includes(h.titleLc)||h.exists&&m.push(h)}a(ma(h=>{ty.debug(depth: ${u.length}, bubbled from ${be(e.project,e.title)}, bubbles,,l,"before",h[0],"internal cards,",p,"external cards",f);for(let g of h[0].keys())p.has(g)||h[0].delete(g);for(let[g,y]of p)h[0].set(g,y);for(let g of h[1].keys())f.has(g)||h[1].delete(g);for(let[g,y]of f)h[1].set(g,y);h[2]=m}))},[l,r,u]),[n,s,i]};var oy=(e,t)=>{if(e instanceof URL)return e;try{return new URL(e)}catch(r){if(!(r instanceof TypeError))throw r;if(!t||!/^\.\/|^\.\.\/|^\//.test(e))return e;try{return new URL(e,t)}catch(o){if(!(o instanceof TypeError))throw o;return e}}};var ny=e=>{let t=C(()=>oy(e.style,import.meta.url),[e.style]);return d(Y,{children:t!==""&&(t instanceof URL?d("link",{rel:"stylesheet",href:t.href}):d("style",{children:t}))})};var sy=String.raw*{box-sizing:border-box}a{background-color:transparent;text-decoration:none;cursor:pointer}img{display:inline-block;max-width:100%;max-height:100px}code{font-family:var(--code-text-font, Menlo, Monaco, Consolas, "Courier New", monospace);font-size:90%;color:var(--code-color, #342d9c);background-color:var(--code-bg, rgba(0,0,0,.04));padding:0;white-space:pre-wrap;word-wrap:break-word}blockquote{background-color:var(--quote-bg-color, rgba(0,0,0,.05));display:block;border-left:solid 4px #a0a0a0;padding-left:4px;margin:0}strong{font-weight:700}iframe{display:inline-block;margin:3px 0;vertical-align:middle;max-width:100%;width:640px;height:360px;border:0}audio{display:inline-block;vertical-align:middle;white-space:initial;max-width:100%}.formula{margin:auto 6px}.formula.error code{color:#fd7373}.katex-display{display:inline-block!important;margin:0!important;text-align:inherit!important}.error .katex-display{display:none}.cli{border-radius:4px}.cli .prefix{color:#9c6248}.helpfeel{background-color:#fbebdd;border-radius:4px;padding:3px!important}.helpfeel .prefix{color:#f17c00}.helpfeel .entry{color:#cc5020}.code-block{display:block;line-height:1.7em;background-color:var(--code-bg, rgba(0,0,0,.04))}.code-block-start{font-family:Menlo,Monaco,Consolas,Courier New,monospace;color:#342d9c;background-color:#ffcfc6;font-size:.9em;padding:1px 2px}.code-block-start a{color:#342d9c;text-decoration:underline}code.code-block,.table-block.table-block-row{padding-left:1em}.copy{font-family:"Font Awesome 5 Free";cursor:pointer}.table-block{white-space:nowrap}.table-block-start{padding:1px 2px;font-size:.9em;background-color:#ffcfc6}.table-block-start a{color:#342d9c;text-decoration:underline}.cell{margin:0;padding:0 2px 0 8px;box-sizing:content-box;display:inline-block;white-space:pre}.cell:nth-child(odd){background-color:#0000000a}.cell:nth-child(2n){background-color:#0000000f}.strong-image{max-height:100%}.icon{height:11px;vertical-align:middle}.strong-icon{height:13.2px}.tool-button{margin-left:1em;cursor:pointer;font-size:.9em}.deco-\/{font-style:italic}.deco-\*-1{font-weight:700}.deco-\*-2{font-weight:700;font-size:1.2em}.deco-\*-3{font-weight:700;font-size:1.44em}.deco-\*-4{font-weight:700;font-size:1.73em}.deco-\*-5{font-weight:700;font-size:2.07em}.deco-\*-6{font-weight:700;font-size:2.49em}.deco-\*-7{font-weight:700;font-size:3em}.deco-\*-8{font-weight:700;font-size:3.58em}.deco-\*-9{font-weight:700;font-size:4.3em}.deco-\*-10{font-weight:700;font-size:5.16em}.deco--{text-decoration:line-through}.deco-_{text-decoration:underline}.page-link{color:var(--page-link-color, #5e8af7)}a.page-link:hover{color:var(--page-link-hover-color, #2d67f5)}.empty-page-link{color:var(--empty-page-link-color, #fd7373)}a.empty-page-link:hover{color:var(--empty-page-link-hover-color, #fd7373)}.link{color:var(--page-link-color, #5e8af7);text-decoration:underline}a.link:hover{color:var(--page-link-color-hover-color, #2d67f5)}.link img{padding-bottom:3px;border-style:none none solid;border-width:1.5px;border-color:#8fadf9}.permalink{background-color:var(--line-permalink-color, rgba(234,218,74,.75))}.status-bar{display:inline-block;position:absolute;background-color:var(--page-bg, #fefefe);cursor:default}.status-bar>*{border:1px solid var(--status-bar-border-color, #a9aaaf)}.status-bar.top-left{top:0;left:0}.status-bar.top-left>*{border-top:none;border-left:none}.status-bar.top-left :last-of-type{border-bottom-right-radius:3px}.status-bar.top-right{top:0;right:0}.status-bar.top-right>*{border-top:none;border-right:none}.status-bar.top-right :last-of-type{border-bottom-left-radius:3px}.status-bar.bottom-right{bottom:0;right:0}.status-bar.bottom-right>*{border-bottom:none;border-right:none}.status-bar.bottom-right :last-of-type{border-top-left-radius:3px}.status-bar.bottom-left{bottom:0;left:0}.status-bar.bottom-left>*{border-bottom:none;border-left:none}.status-bar.bottom-left :last-of-type{border-top-right-radius:3px}.text-bubble{font-size:11px;line-height:1.42857;user-select:text;position:absolute;color:var(--page-text-color, #4a4a4a);box-shadow:0 6px 12px #0000002d;display:flex;flex-direction:column;z-index:9000;&.no-scroll{overflow-y:hidden}data-theme=default-dark{--text-bubble-border-color: hsl(0, 0%, 39%)}data-theme=default-minimal{--text-bubble-border-color: hsl(0, 0%, 89%)}data-theme=paper-light{--text-bubble-border-color: hsl(53, 8%, 58%)}data-theme=paper-dark-dark{--text-bubble-border-color: hsl(203, 42%, 17%)}data-theme=blue{--text-bubble-border-color: hsl(227, 68%, 62%)}data-theme=purple{--text-bubble-border-color: hsl(267, 39%, 60%)}data-theme=green{--text-bubble-border-color: hsl(136, 29%, 50%)}data-theme=orange{--text-bubble-border-color: hsl(43, 71%, 51%)}data-theme=red{--text-bubble-border-color: hsl(4, 58%, 56%)}data-theme=spring{--text-bubble-border-color: hsl(72, 64%, 57%)}data-theme=kyoto{--text-bubble-border-color: hsl(331, 21%, 26%)}data-theme=newyork{--text-bubble-border-color: hsl(176, 29%, 67%)}role=tabpanel{padding:5px 0 5px 5px;border-radius:4px;background-color:var(--page-bg, #fefefe);max-height:80vh;overflow-y:auto}role=tabpanel,button{border:1px solid var(--text-bubble-border-color, hsl(221, 15%, 25%))}button{cursor:default;color:inherit;font-size:inherit;line-height:inherit;background-color:var(--page-bg, #fefefe);border-radius:4px 4px 0 0}buttonaria-selected=true{background-color:var(--text-bubble-border-color, hsl(221, 15%, 25%))}}.project-badge{text-decoration:none;color:var(--tool-text-color, #363c49)}.related-page-carddata-theme=default-dark{--card-title-bg: hsl(0, 0%, 39%)}.related-page-carddata-theme=default-minimal{--card-title-bg: hsl(0, 0%, 89%)}.related-page-carddata-theme=paper-light{--card-title-bg: hsl(53, 8%, 58%)}.related-page-carddata-theme=paper-dark-dark{--card-title-bg: hsl(203, 42%, 17%)}.related-page-carddata-theme=blue{--card-title-bg: hsl(227, 68%, 62%)}.related-page-carddata-theme=purple{--card-title-bg: hsl(267, 39%, 60%)}.text-bubbledata-theme=green{--card-title-bg: hsl(136, 29%, 50%)}.related-page-carddata-theme=orange{--card-title-bg: hsl(43, 71%, 51%)}.related-page-carddata-theme=red{--card-title-bg: hsl(4, 58%, 56%)}.related-page-carddata-theme=spring{--card-title-bg: hsl(72, 64%, 57%)}.related-page-carddata-theme=kyoto{--card-title-bg: hsl(331, 21%, 26%)}.related-page-carddata-theme=newyork{--card-title-bg: hsl(176, 29%, 67%)}.related-page-card{display:block;position:relative;height:inherit;width:inherit;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Helvetica,Arial,Hiragino Sans,sans-serif;background-color:var(--card-bg, #fff);color:var(--card-title-color, #555);word-break:break-word;text-decoration:none}.related-page-card:hover{box-shadow:var(--card-box-hover-shadow, 0 2px 0 rgba(0,0,0,.23))}.related-page-card:focus{outline:0;box-shadow:0 0 0 3px #66afe999;border-color:#66afe9;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.related-page-card.hover{opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--card-hover-bg, rgba(0,0,0,.05));mix-blend-mode:multiply;z-index:1;transition:background-color .1s}.related-page-card:hover .hover{opacity:1}.related-page-card:active .hover{opacity:1;background-color:var(--card-active-bg, rgba(0,0,0,.1))}.related-page-card .content{height:calc(100% - 5px);width:inherit;display:flex;flex-direction:column;overflow:hidden}.related-page-card .content .header{width:100%;color:#396bdd;text-overflow:ellipsis;border-top:var(--card-title-bg, #f2f2f3) solid 10px;padding:8px 10px}.related-page-card .content .header .title{font-size:11px;line-height:16px;font-weight:700;max-height:48px;color:var(--card-title-color, #363c49);margin:0;overflow:hidden;display:block;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis}.related-page-card .content .description{line-height:16px;padding:8px 10px 0;font-size:10px;white-space:pre-line;column-count:1;column-gap:2em;column-width:10em;height:inherit;color:var(--card-description-color, gray);flex-shrink:16;overflow:hidden}.related-page-card .content .thumbnail{display:block;width:100%;margin:0 auto;padding:0 5px}.related-page-card .content .description p{margin:0;display:block}.related-page-card .content .description code{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%;color:var(--code-color, #342d9c);background-color:var(--code-bg, rgba(0,0,0,.04));padding:0;white-space:pre-wrap;word-wrap:break-word}.related-page-card .content .description .icon{height:9px;vertical-align:middle}.related-page-card .content .description .page-link{background-color:transparent;text-decoration:none;cursor:pointer;color:var(--page-link-color, #5e8af7)}.card-bubble{background-color:var(--page-bg, #FFF);box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0003,0 1px 5px #0000001f;position:absolute;max-width:80vw;box-sizing:content-box;z-index:9000;font-size:11px;line-height:1.42857;display:flex;padding:0;margin:0;list-style:none;overflow-x:auto;overflow-y:visible}.card-bubble li{display:block;position:relative;float:none;margin:5px;box-sizing:border-box;box-shadow:var(--card-box-shadow, 0 2px 0 rgba(0,0,0,.12));border-radius:2px;width:120px;height:120px} ;var iy=()=>{let[e,t]=J([{bubble:o=>r(0,o),hide:()=>r(0)}]),r=U((o,n)=>{t(([s,...i])=>[s,...n?[...i.slice(0,o),n===i.at(o)?.source?i.at(o):{source:n,parentTitles:[scrapbox.Page.title??"",...i.slice(0,o).map(a=>a.source.title)],bubble:a=>r(o+1,a),hide:()=>r(o+1)}]:[...i.slice(0,o)]])},[]);return e};var up=(e,t,r,o,n)=>{oe(()=>(e.addEventListener(t,r,o),()=>e.removeEventListener(t,r,o)),[e,t,o,...n??[]])};var ay=e=>e instanceof HTMLSpanElement&&e.matches(".line-title .text"),ga=e=>e instanceof HTMLAnchorElement&&e.classList.contains("page-link");var mp="scrap-bubble",cy=({delay:e,whiteList:t,watchList:r,style:o})=>{let[{bubble:n,hide:s},...i]=iy(),a=U((c,l)=>qg(l,t.has(c)?t:new Set([c]),r),[t,r]);return up(document,"pointerenter",async c=>{let l=c.target;if(!ga(l)&&!ay(l))return;let{project:u=scrapbox.Project.name,title:p,hash:f=""}=ga(l)?un({pathType:"root",href:${new URL(l.href).pathname}${new URL(l.href).hash}}):{project:scrapbox.Project.name,title:scrapbox.Page.title};if(u==="")return;let m=decodeURIComponent(p??"");a(u,m),await sn(l,e)&&n({project:u,title:m,hash:f,position:an(l),type:c0(l)})},{capture:!0},[e,t,r]),up(document,"click",c=>{c.target.dataset.userscriptName!==mp&&s()},{capture:!0},[s]),oe(()=>(scrapbox.addListener("page:changed",s),()=>scrapbox.removeListener("page:changed",s)),[s]),d(Y,{children:[d("link",{rel:"stylesheet",href:"https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.12.0/katex.min.css"}),d("style",{children:sy}),d(ny,{style:o}),i.map(c=>d(ry,{...c,whiteList:t,delay:e,prefetch:a},be(c.source.project,c.source.title)))]})},c0=e=>ga(e)?e.type==="link"?"link":"hashtag":"title";var ly=async e=>{let{delay:t=500,whiteList:r=[],watchList:o=(await ug()).slice(0,100),style:n="",debug:s=!1}=e??{};xg(s);let i=document.createElement("div");i.dataset.userscriptName=mp,document.body.append(i);let a=i.attachShadow({mode:"open"});mt(d(cy,{delay:t,whiteList:new Set([scrapbox.Project.name,...r]),watchList:new Set(o),style:n}),a)};var l0=["takker-memex","takker-private","takker","takker-books","villagepump"],No=[];switch(scrapbox.Project.name){case"hub":case"villagepump":case"verbalizing-community":No.push("villagepump","hub","verbalizing-community");break;case"programming-notes":case"customize":case"scrapboxlab":No.push("programming-notes","customize","scrapboxlab");break;case"sta":No.push("sta-taskmanagement");break;case"sta-taskmanagement":case"taskmanagement":No.push("sta-taskmanagement","taskmanagement");break;case"plurality-japanese":No.push("nishio","tkgshn");case"takker-books":No.push("work4ai");break}ly({delay:/mobile/i.test(navigator.userAgent)?300:500,whiteList:[...l0,...No],style:@import "/api/code/takker/kakeruの背景を白にするUserCSS/style.css";
@import "/api/code/takker/アイコン記法を画像記法っぽくするUserCSS/style2.css";});var py=e=>{{let r=e.match(/^([^(]+)\(([^)]+)\)$/);if(r)return{fileName:r[1],lang:r[2]}}let t=e.split(".").pop();return t===void 0?{fileName:e,lang:e}:{fileName:e,lang:t}};var uy=(e,t,r)=>{if(r.length===0)return[];let o=r.map(a=>a.text).join(
),n=Be(o,{hasTitle:!0}),s=new Map,i=0;for(let a of n)switch(a.type){case"title":case"line":{i++;break}case"table":i+=a.cells.length+1;break;case"codeBlock":{let{fileName:c,lang:l}=py(a.fileName),u=s.get(c);s.set(c,{path:u?.path??https://scrapbox.io/api/code/${e}/${ae(t)}/${ae(c)},lang:u?.lang??l,startIds:[...u?.startIds??[],r[i].id]}),i+=a.content.split( ).length+1;break}}return s.values()};function dp(e){let t=o=>{if(o===null)r.write8(0);else if(typeof o=="boolean")r.write8(1),r.write8(+o);else if(typeof o=="number")r.write8(2),r.write32(o|0);else if(typeof o=="string")r.write8(3),r.write(Qt(o));else if(o instanceof Uint8Array)r.write8(4),r.write(o);else if(o instanceof Array){r.write8(5),r.write32(o.length);for(let n of o)t(n)}else{let n=Object.keys(o);r.write8(6),r.write32(n.length);for(let s of n)r.write(Qt(s)),t(o[s])}},r=new ya;return r.write32(0),r.write32(e.id<<1|+!e.isRequest),t(e.value),fp(r.buf,r.len-4,0),r.buf.subarray(0,r.len)}function my(e){let t=()=>{switch(r.read8()){case 0:return null;case 1:return!!r.read8();case 2:return r.read32();case 3:return dn(r.read());case 4:return r.read();case 5:{let i=r.read32(),a=[];for(let c=0;c<i;c++)a.push(t());return a}case 6:{let i=r.read32(),a={};for(let c=0;c<i;c++)a[dn(r.read())]=t();return a}default:throw new Error("Invalid packet")}},r=new ya(e),o=r.read32(),n=(o&1)===0;o>>>=1;let s=t();if(r.ptr!==e.length)throw new Error("Invalid packet");return{id:o,isRequest:n,value:s}}var ya=class{constructor(t=new Uint8Array(1024)){this.buf=t}len=0;ptr=0;_write(t){if(this.len+t>this.buf.length){let r=new Uint8Array((this.len+t)*2);r.set(this.buf),this.buf=r}return this.len+=t,this.len-t}write8(t){let r=this._write(1);this.buf[r]=t}write32(t){let r=this._write(4);fp(this.buf,t,r)}write(t){let r=this._write(4+t.length);fp(this.buf,t.length,r),this.buf.set(t,r+4)}_read(t){if(this.ptr+t>this.buf.length)throw new Error("Invalid packet");return this.ptr+=t,this.ptr-t}read8(){return this.buf[this._read(1)]}read32(){return hp(this.buf,this._read(4))}read(){let t=this.read32(),r=new Uint8Array(t),o=this._read(r.length);return r.set(this.buf.subarray(o,o+t)),r}},Qt,dn,fy;if(typeof TextEncoder<"u"&&typeof TextDecoder<"u"){let e=new TextEncoder,t=new TextDecoder;Qt=r=>e.encode(r),dn=r=>t.decode(r),fy='new TextEncoder().encode("")'}else throw new Error("No UTF-8 codec found");if(!(Qt("")instanceof Uint8Array))throw new Error(Invariant violation: "${fy} instanceof Uint8Array" is incorrectly false
This indicates that your JavaScript environment is broken. You cannot use
esbuild in this environment because esbuild relies on this invariant. This
is not a problem with esbuild. You need to fix your environment instead.
);function hp(e,t){return e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24}function fp(e,t,r){e[r++]=t,e[r++]=t>>8,e[r++]=t>>16,e[r++]=t>>24}var is="0.24.0";var We=JSON.stringify,dy="warning",hy="silent";function gy(e){if(st(e,"target"),e.indexOf(",")>=0)throw new Error(Invalid target: ${e});return e}var Ea=()=>null,Ae=e=>typeof e=="boolean"?null:"a boolean",V=e=>typeof e=="string"?null:"a string",wa=e=>e instanceof RegExp?null:"a RegExp object",Ao=e=>typeof e=="number"&&e===(e|0)?null:"an integer",by=e=>typeof e=="function"?null:"a function",Fe=e=>Array.isArray(e)?null:"an array",Bt=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"an object",u0=e=>typeof e=="object"&&e!==null?null:"an array or an object";var yy=e=>typeof e=="object"&&!Array.isArray(e)?null:"an object or null",Ey=e=>typeof e=="string"||typeof e=="boolean"?null:"a string or a boolean",m0=e=>typeof e=="string"||typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"a string or an object",f0=e=>typeof e=="string"||Array.isArray(e)?null:"a string or an array",wy=e=>typeof e=="string"||e instanceof Uint8Array?null:"a string or a Uint8Array";function w(e,t,r,o){let n=e[r];if(t[r+""]=!0,n===void 0)return;let s=o(n);if(s!==null)throw new Error(${We(r)} must be ${s});return n}function Je(e,t,r){for(let o in e)if(!(o in t))throw new Error(Invalid option ${r}: ${We(o)})}function Ry(e){let t;if(e!==void 0){t=Object.create(null);for(let r in e){let o=e[r];if(typeof o=="string"||o===!1)t[r]=o;else throw new Error(Expected ${We(r)} in mangle cache to map to either a string or false)}}return t}function Ra(e,t,r,o,n){let s=w(t,r,"color",Ae),i=w(t,r,"logLevel",V),a=w(t,r,"logLimit",Ao);s!==void 0?e.push(--color=${s}):o&&e.push("--color=true"),e.push(--log-level=${i||n}),e.push(--log-limit=${a||0})}function st(e,t,r){if(typeof e!="string")throw new Error(Expected value for ${t}${r!==void 0?" "+We(r):""} to be a string, got ${typeof e} instead);return e}function ky(e,t,r){let o=w(t,r,"legalComments",V),n=w(t,r,"sourceRoot",V),s=w(t,r,"sourcesContent",Ae),i=w(t,r,"target",f0),a=w(t,r,"format",V),c=w(t,r,"globalName",V),l=w(t,r,"mangleProps",wa),u=w(t,r,"reserveProps",wa),p=w(t,r,"mangleQuoted",Ae),f=w(t,r,"minify",Ae),m=w(t,r,"minifySyntax",Ae),h=w(t,r,"minifyWhitespace",Ae),g=w(t,r,"minifyIdentifiers",Ae),y=w(t,r,"lineLimit",Ao),x=w(t,r,"drop",Fe),E=w(t,r,"dropLabels",Fe),k=w(t,r,"charset",V),b=w(t,r,"treeShaking",Ae),v=w(t,r,"ignoreAnnotations",Ae),R=w(t,r,"jsx",V),O=w(t,r,"jsxFactory",V),L=w(t,r,"jsxFragment",V),N=w(t,r,"jsxImportSource",V),P=w(t,r,"jsxDev",Ae),_=w(t,r,"jsxSideEffects",Ae),T=w(t,r,"define",Bt),S=w(t,r,"logOverride",Bt),A=w(t,r,"supported",Bt),M=w(t,r,"pure",Fe),$=w(t,r,"keepNames",Ae),I=w(t,r,"platform",V),z=w(t,r,"tsconfigRaw",m0);if(o&&e.push(--legal-comments=${o}),n!==void 0&&e.push(--source-root=${n}),s!==void 0&&e.push(--sources-content=${s}),i&&(Array.isArray(i)?e.push(--target=${Array.from(i).map(gy).join(",")}):e.push(--target=${gy(i)})),a&&e.push(--format=${a}),c&&e.push(--global-name=${c}),I&&e.push(--platform=${I}),z&&e.push(--tsconfig-raw=${typeof z=="string"?z:JSON.stringify(z)}),f&&e.push("--minify"),m&&e.push("--minify-syntax"),h&&e.push("--minify-whitespace"),g&&e.push("--minify-identifiers"),y&&e.push(--line-limit=${y}),k&&e.push(--charset=${k}),b!==void 0&&e.push(--tree-shaking=${b}),v&&e.push("--ignore-annotations"),x)for(let j of x)e.push(--drop:${st(j,"drop")});if(E&&e.push(--drop-labels=${Array.from(E).map(j=>st(j,"dropLabels")).join(",")}),l&&e.push(--mangle-props=${l.source}),u&&e.push(--reserve-props=${u.source}),p!==void 0&&e.push(--mangle-quoted=${p}),R&&e.push(--jsx=${R}),O&&e.push(--jsx-factory=${O}),L&&e.push(--jsx-fragment=${L}),N&&e.push(--jsx-import-source=${N}),P&&e.push("--jsx-dev"),_&&e.push("--jsx-side-effects"),T)for(let j in T){if(j.indexOf("=")>=0)throw new Error(Invalid define: ${j});e.push(--define:${j}=${st(Tj,"define",j)})}if(S)for(let j in S){if(j.indexOf("=")>=0)throw new Error(Invalid log override: ${j});e.push(--log-override:${j}=${st(Sj,"log override",j)})}if(A)for(let j in A){if(j.indexOf("=")>=0)throw new Error(Invalid supported: ${j});let q=A[j];if(typeof q!="boolean")throw new Error(Expected value for supported ${We(j)} to be a boolean, got ${typeof q} instead);e.push(--supported:${j}=${q})}if(M)for(let j of M)e.push(--pure:${st(j,"pure")});$&&e.push("--keep-names")}function d0(e,t,r,o,n){let s=[],i=[],a=Object.create(null),c=null,l=null;Ra(s,t,a,r,o),ky(s,t,a);let u=w(t,a,"sourcemap",Ey),p=w(t,a,"bundle",Ae),f=w(t,a,"splitting",Ae),m=w(t,a,"preserveSymlinks",Ae),h=w(t,a,"metafile",Ae),g=w(t,a,"outfile",V),y=w(t,a,"outdir",V),x=w(t,a,"outbase",V),E=w(t,a,"tsconfig",V),k=w(t,a,"resolveExtensions",Fe),b=w(t,a,"nodePaths",Fe),v=w(t,a,"mainFields",Fe),R=w(t,a,"conditions",Fe),O=w(t,a,"external",Fe),L=w(t,a,"packages",V),N=w(t,a,"alias",Bt),P=w(t,a,"loader",Bt),_=w(t,a,"outExtension",Bt),T=w(t,a,"publicPath",V),S=w(t,a,"entryNames",V),A=w(t,a,"chunkNames",V),M=w(t,a,"assetNames",V),$=w(t,a,"inject",Fe),I=w(t,a,"banner",Bt),z=w(t,a,"footer",Bt),j=w(t,a,"entryPoints",u0),q=w(t,a,"absWorkingDir",V),K=w(t,a,"stdin",Bt),le=w(t,a,"write",Ae)??n,ee=w(t,a,"allowOverwrite",Ae),Ze=w(t,a,"mangleCache",Bt);if(a.plugins=!0,Je(t,a,in ${e}() call),u&&s.push(--sourcemap${u===!0?"":=${u}}),p&&s.push("--bundle"),ee&&s.push("--allow-overwrite"),f&&s.push("--splitting"),m&&s.push("--preserve-symlinks"),h&&s.push("--metafile"),g&&s.push(--outfile=${g}),y&&s.push(--outdir=${y}),x&&s.push(--outbase=${x}),E&&s.push(--tsconfig=${E}),L&&s.push(--packages=${L}),k){let F=[];for(let Ee of k){if(st(Ee,"resolve extension"),Ee.indexOf(",")>=0)throw new Error(Invalid resolve extension: ${Ee});F.push(Ee)}s.push(--resolve-extensions=${F.join(",")})}if(T&&s.push(--public-path=${T}),S&&s.push(--entry-names=${S}),A&&s.push(--chunk-names=${A}),M&&s.push(--asset-names=${M}),v){let F=[];for(let Ee of v){if(st(Ee,"main field"),Ee.indexOf(",")>=0)throw new Error(Invalid main field: ${Ee});F.push(Ee)}s.push(--main-fields=${F.join(",")})}if(R){let F=[];for(let Ee of R){if(st(Ee,"condition"),Ee.indexOf(",")>=0)throw new Error(Invalid condition: ${Ee});F.push(Ee)}s.push(--conditions=${F.join(",")})}if(O)for(let F of O)s.push(--external:${st(F,"external")});if(N)for(let F in N){if(F.indexOf("=")>=0)throw new Error(Invalid package name in alias: ${F});s.push(--alias:${F}=${st(NF,"alias",F)})}if(I)for(let F in I){if(F.indexOf("=")>=0)throw new Error(Invalid banner file type: ${F});s.push(--banner:${F}=${st(IF,"banner",F)})}if(z)for(let F in z){if(F.indexOf("=")>=0)throw new Error(Invalid footer file type: ${F});s.push(--footer:${F}=${st(zF,"footer",F)})}if($)for(let F of $)s.push(--inject:${st(F,"inject")});if(P)for(let F in P){if(F.indexOf("=")>=0)throw new Error(Invalid loader extension: ${F});s.push(--loader:${F}=${st(PF,"loader",F)})}if(_)for(let F in _){if(F.indexOf("=")>=0)throw new Error(Invalid out extension: ${F});s.push(--out-extension:${F}=${st(_F,"out extension",F)})}if(j)if(Array.isArray(j))for(let F=0,Ee=j.length;F<Ee;F++){let it=j[F];if(typeof it=="object"&&it!==null){let dr=Object.create(null),hr=w(it,dr,"in",V),rr=w(it,dr,"out",V);if(Je(it,dr,"in entry point at index "+F),hr===void 0)throw new Error('Missing property "in" for entry point at index '+F);if(rr===void 0)throw new Error('Missing property "out" for entry point at index '+F);i.push([rr,hr])}else i.push(["",st(it,"entry point at index "+F)])}else for(let F in j)i.push([F,st(j[F],"entry point",F)]);if(K){let F=Object.create(null),Ee=w(K,F,"contents",wy),it=w(K,F,"resolveDir",V),dr=w(K,F,"sourcefile",V),hr=w(K,F,"loader",V);Je(K,F,'in "stdin" object'),dr&&s.push(--sourcefile=${dr}),hr&&s.push(--loader=${hr}),it&&(l=it),typeof Ee=="string"?c=Qt(Ee):Ee instanceof Uint8Array&&(c=Ee)}let Pe=[];if(b)for(let F of b)F+="",Pe.push(F);return{entries:i,flags:s,write:le,stdinContents:c,stdinResolveDir:l,absWorkingDir:q,nodePaths:Pe,mangleCache:Ry(Ze)}}function h0(e,t,r,o){let n=[],s=Object.create(null);Ra(n,t,s,r,o),ky(n,t,s);let i=w(t,s,"sourcemap",Ey),a=w(t,s,"sourcefile",V),c=w(t,s,"loader",V),l=w(t,s,"banner",V),u=w(t,s,"footer",V),p=w(t,s,"mangleCache",Bt);return Je(t,s,in ${e}() call),i&&n.push(--sourcemap=${i===!0?"external":i}),a&&n.push(--sourcefile=${a}),c&&n.push(--loader=${c}),l&&n.push(--banner=${l}),u&&n.push(--footer=${u}),{flags:n,mangleCache:Ry(p)}}function vy(e){let t={},r={didClose:!1,reason:""},o={},n=0,s=0,i=new Uint8Array(16*1024),a=0,c=k=>{let b=a+k.length;if(b>i.length){let R=new Uint8Array(b*2);R.set(i),i=R}i.set(k,a),a+=k.length;let v=0;for(;v+4<=a;){let R=hp(i,v);if(v+4+R>a)break;v+=4,h(i.subarray(v,v+R)),v+=R}v>0&&(i.copyWithin(0,v,a),a-=v)},l=k=>{r.didClose=!0,k&&(r.reason=": "+(k.message||k));let b="The service was stopped"+r.reason;for(let v in o)o[v](b,null);o={}},u=(k,b,v)=>{if(r.didClose)return v("The service is no longer running"+r.reason,null);let R=n++;o[R]=(O,L)=>{try{v(O,L)}finally{k&&k.unref()}},k&&k.ref(),e.writeToStdin(dp({id:R,isRequest:!0,value:b}))},p=(k,b)=>{if(r.didClose)throw new Error("The service is no longer running"+r.reason);e.writeToStdin(dp({id:k,isRequest:!1,value:b}))},f=async(k,b)=>{try{if(b.command==="ping"){p(k,{});return}if(typeof b.key=="number"){let v=t[b.key];if(!v)return;let R=v[b.command];if(R){await R(k,b);return}}throw new Error("Invalid command: "+b.command)}catch(v){let R=[Co(v,e,null,void 0,"")];try{p(k,{errors:R})}catch{}}},m=!0,h=k=>{if(m){m=!1;let v=String.fromCharCode(...k);if(v!==is)throw new Error(Cannot start service: Host version "${is}" does not match binary version ${We(v)});return}let b=my(k);if(b.isRequest)f(b.id,b.value);else{let v=o[b.id];delete o[b.id],b.value.error?v(b.value.error,{}):v(null,b.value)}};return{readFromStdout:c,afterClose:l,service:{buildOrContext:({callName:k,refs:b,options:v,isTTY:R,defaultWD:O,callback:L})=>{let N=0,P=s++,_={},T={ref(){++N===1&&b&&b.ref()},unref(){--N===0&&(delete t[P],b&&b.unref())}};t[P]=_,T.ref(),g0(k,P,u,p,T,e,_,v,R,O,(S,A)=>{try{L(S,A)}finally{T.unref()}})},transform:({callName:k,refs:b,input:v,options:R,isTTY:O,fs:L,callback:N})=>{let P=_y(),_=T=>{try{if(typeof v!="string"&&!(v instanceof Uint8Array))throw new Error('The input to "transform" must be a string or a Uint8Array');let{flags:S,mangleCache:A}=h0(k,R,O,hy),M={command:"transform",flags:S,inputFS:T!==null,input:T!==null?Qt(T):typeof v=="string"?Qt(v):v};A&&(M.mangleCache=A),u(b,M,($,I)=>{if($)return N(new Error($),null);let z=hn(I.errors,P),j=hn(I.warnings,P),q=1,K=()=>{if(--q===0){let le={warnings:j,code:I.code,map:I.map,mangleCache:void 0,legalComments:void 0};"legalComments"in I&&(le.legalComments=I?.legalComments),I.mangleCache&&(le.mangleCache=I?.mangleCache),N(null,le)}};if(z.length>0)return N(as("Transform failed",z,j),null);I.codeFS&&(q++,L.readFile(I.code,(le,ee)=>{le!==null?N(le,null):(I.code=ee,K())})),I.mapFS&&(q++,L.readFile(I.map,(le,ee)=>{le!==null?N(le,null):(I.map=ee,K())})),K()})}catch(S){let A=[];try{Ra(A,R,{},O,hy)}catch{}let M=Co(S,e,P,void 0,"");u(b,{command:"error",flags:A,error:M},()=>{M.detail=P.load(M.detail),N(as("Transform failed",[M],[]),null)})}};if((typeof v=="string"||v instanceof Uint8Array)&&v.length>1024*1024){let T=_;_=()=>L.writeFile(v,T)}_(null)},formatMessages:({callName:k,refs:b,messages:v,options:R,callback:O})=>{if(!R)throw new Error(Missing second argument in ${k}() call);let L={},N=w(R,L,"kind",V),P=w(R,L,"color",Ae),_=w(R,L,"terminalWidth",Ao);if(Je(R,L,in ${k}() call),N===void 0)throw new Error(Missing "kind" in ${k}() call);if(N!=="error"&&N!=="warning")throw new Error(Expected "kind" to be "error" or "warning" in ${k}() call);let T={command:"format-msgs",messages:Or(v,"messages",null,"",_),isWarning:N==="warning"};P!==void 0&&(T.color=P),_!==void 0&&(T.terminalWidth=_),u(b,T,(S,A)=>{if(S)return O(new Error(S),null);O(null,A.messages)})},analyzeMetafile:({callName:k,refs:b,metafile:v,options:R,callback:O})=>{R===void 0&&(R={});let L={},N=w(R,L,"color",Ae),P=w(R,L,"verbose",Ae);Je(R,L,in ${k}() call);let _={command:"analyze-metafile",metafile:v};N!==void 0&&(_.color=N),P!==void 0&&(_.verbose=P),u(b,_,(T,S)=>{if(T)return O(new Error(T),null);O(null,S.result)})}}}}function g0(e,t,r,o,n,s,i,a,c,l,u){let p=_y(),f=e==="context",m=(y,x)=>{let E=[];try{Ra(E,a,{},c,dy)}catch{}let k=Co(y,s,p,void 0,x);r(n,{command:"error",flags:E,error:k},()=>{k.detail=p.load(k.detail),u(as(f?"Context failed":"Build failed",[k],[]),null)})},h;if(typeof a=="object"){let y=a.plugins;if(y!==void 0){if(!Array.isArray(y))return m(new Error('"plugins" must be an array'),"");h=y}}if(h&&h.length>0){if(s.isSync)return m(new Error("Cannot use plugins in synchronous API calls"),"");y0(t,r,o,n,s,i,a,h,p).then(y=>{if(!y.ok)return m(y.error,y.pluginName);try{g(y.requestPlugins,y.runOnEndCallbacks,y.scheduleOnDisposeCallbacks)}catch(x){m(x,"")}},y=>m(y,""));return}try{g(null,(y,x)=>x([],[]),()=>{})}catch(y){m(y,"")}function g(y,x,E){let k=s.hasFS,{entries:b,flags:v,write:R,stdinContents:O,stdinResolveDir:L,absWorkingDir:N,nodePaths:P,mangleCache:_}=d0(e,a,c,dy,k);if(R&&!s.hasFS)throw new Error('The "write" option is unavailable in this environment');let T={command:"build",key:t,entries:b,flags:v,write:R,stdinContents:O,stdinResolveDir:L,absWorkingDir:N||l,nodePaths:P,context:f};y&&(T.plugins=y),_&&(T.mangleCache=_);let S=($,I)=>{let z={errors:hn($.errors,p),warnings:hn($.warnings,p),outputFiles:void 0,metafile:void 0,mangleCache:void 0},j=z.errors.slice(),q=z.warnings.slice();$.outputFiles&&(z.outputFiles=$.outputFiles.map(b0)),$.metafile&&(z.metafile=JSON.parse($.metafile)),$.mangleCache&&(z.mangleCache=$.mangleCache),$.writeToStdout!==void 0&&console.log(dn($.writeToStdout).replace(/\n$/,"")),x(z,(K,le)=>{if(j.length>0||K.length>0){let ee=as("Build failed",j.concat(K),q.concat(le));return I(ee,null,K,le)}I(null,z,K,le)})},A,M;f&&(i["on-end"]=($,I)=>new Promise(z=>{S(I,(j,q,K,le)=>{let ee={errors:K,warnings:le};M&&M(j,q),A=void 0,M=void 0,o($,ee),z()})})),r(n,T,($,I)=>{if($)return u(new Error($),null);if(!f)return S(I,(q,K)=>(E(),u(q,K)));if(I.errors.length>0)return u(as("Context failed",I.errors,I.warnings),null);let z=!1,j={rebuild:()=>(A||(A=new Promise((q,K)=>{let le;M=(Ze,Pe)=>{le||(le=()=>Ze?K(Ze):q(Pe))};let ee=()=>{r(n,{command:"rebuild",key:t},(Pe,F)=>{Pe?K(new Error(Pe)):le?le():ee()})};ee()})),A),watch:(q={})=>new Promise((K,le)=>{if(!s.hasFS)throw new Error('Cannot use the "watch" API in this environment');Je(q,{},"in watch() call"),r(n,{command:"watch",key:t},Pe=>{Pe?le(new Error(Pe)):K(void 0)})}),serve:(q={})=>new Promise((K,le)=>{if(!s.hasFS)throw new Error('Cannot use the "serve" API in this environment');let ee={},Ze=w(q,ee,"port",Ao),Pe=w(q,ee,"host",V),F=w(q,ee,"servedir",V),Ee=w(q,ee,"keyfile",V),it=w(q,ee,"certfile",V),dr=w(q,ee,"fallback",V),hr=w(q,ee,"onRequest",by);Je(q,ee,"in serve() call");let rr={command:"serve",key:t,onRequest:!!hr};Ze!==void 0&&(rr.port=Ze),Pe!==void 0&&(rr.host=Pe),F!==void 0&&(rr.servedir=F),Ee!==void 0&&(rr.keyfile=Ee),it!==void 0&&(rr.certfile=it),dr!==void 0&&(rr.fallback=dr),r(n,rr,(Xu,DR)=>{if(Xu)return le(new Error(Xu));hr&&(i["serve-request"]=($R,jR)=>{hr(jR.args),o($R,{})}),K(DR)})}),cancel:()=>new Promise(q=>{if(z)return q();r(n,{command:"cancel",key:t},()=>{q()})}),dispose:()=>new Promise(q=>{if(z)return q();z=!0,r(n,{command:"dispose",key:t},()=>{q(),E(),n.unref()})})};n.ref(),u(null,j)})}}var y0=async(e,t,r,o,n,s,i,a,c)=>{let l=[],u=[],p={},f={},m=[],h=0,g=0,y=[],x=!1;a=[...a];for(let b of a){let v={};if(typeof b!="object")throw new Error(Plugin at index ${g} must be an object);let R=w(b,v,"name",V);if(typeof R!="string"||R==="")throw new Error(Plugin at index ${g} is missing a name);try{let O=w(b,v,"setup",by);if(typeof O!="function")throw new Error("Plugin is missing a setup function");Je(b,v,on plugin ${We(R)});let L={name:R,onStart:!1,onEnd:!1,onResolve:[],onLoad:[]};g++;let P=O({initialOptions:i,resolve:(_,T={})=>{if(!x)throw new Error('Cannot call "resolve" before plugin setup has completed');if(typeof _!="string")throw new Error("The path to resolve must be a string");let S=Object.create(null),A=w(T,S,"pluginName",V),M=w(T,S,"importer",V),$=w(T,S,"namespace",V),I=w(T,S,"resolveDir",V),z=w(T,S,"kind",V),j=w(T,S,"pluginData",Ea),q=w(T,S,"with",Bt);return Je(T,S,"in resolve() call"),new Promise((K,le)=>{let ee={command:"resolve",path:_,key:e,pluginName:R};if(A!=null&&(ee.pluginName=A),M!=null&&(ee.importer=M),$!=null&&(ee.namespace=$),I!=null&&(ee.resolveDir=I),z!=null)ee.kind=z;else throw new Error('Must specify "kind" when calling "resolve"');j!=null&&(ee.pluginData=c.store(j)),q!=null&&(ee.with=x0(q,"with")),t(o,ee,(Ze,Pe)=>{Ze!==null?le(new Error(Ze)):K({errors:hn(Pe.errors,c),warnings:hn(Pe.warnings,c),path:Pe.path,external:Pe.external,sideEffects:Pe.sideEffects,namespace:Pe.namespace,suffix:Pe.suffix,pluginData:c.load(Pe.pluginData)})})})},onStart(_){let T='This error came from the "onStart" callback registered here:',S=xa(new Error(T),n,"onStart");l.push({name:R,callback:_,note:S}),L.onStart=!0},onEnd(_){let T='This error came from the "onEnd" callback registered here:',S=xa(new Error(T),n,"onEnd");u.push({name:R,callback:_,note:S}),L.onEnd=!0},onResolve(_,T){let S='This error came from the "onResolve" callback registered here:',A=xa(new Error(S),n,"onResolve"),M={},$=w(_,M,"filter",wa),I=w(_,M,"namespace",V);if(Je(_,M,in onResolve() call for plugin ${We(R)}),$==null)throw new Error("onResolve() call is missing a filter");let z=h++;p[z]={name:R,callback:T,note:A},L.onResolve.push({id:z,filter:$.source,namespace:I||""})},onLoad(_,T){let S='This error came from the "onLoad" callback registered here:',A=xa(new Error(S),n,"onLoad"),M={},$=w(_,M,"filter",wa),I=w(_,M,"namespace",V);if(Je(_,M,in onLoad() call for plugin ${We(R)}),$==null)throw new Error("onLoad() call is missing a filter");let z=h++;f[z]={name:R,callback:T,note:A},L.onLoad.push({id:z,filter:$.source,namespace:I||""})},onDispose(_){m.push(_)},esbuild:n.esbuild});P&&await P,y.push(L)}catch(O){return{ok:!1,error:O,pluginName:R}}}s["on-start"]=async(b,v)=>{c.clear();let R={errors:[],warnings:[]};await Promise.all(l.map(async({name:O,callback:L,note:N})=>{try{let P=await L();if(P!=null){if(typeof P!="object")throw new Error(Expected onStart() callback in plugin ${We(O)} to return an object);let _={},T=w(P,_,"errors",Fe),S=w(P,_,"warnings",Fe);Je(P,_,from onStart() callback in plugin ${We(O)}),T!=null&&R.errors.push(...Or(T,"errors",c,O,void 0)),S!=null&&R.warnings.push(...Or(S,"warnings",c,O,void 0))}}catch(P){R.errors.push(Co(P,n,c,N&&N(),O))}})),r(b,R)},s["on-resolve"]=async(b,v)=>{let R={},O="",L,N;for(let P of v.ids)try{({name:O,callback:L,note:N}=p[P]);let _=await L({path:v.path,importer:v.importer,namespace:v.namespace,resolveDir:v.resolveDir,kind:v.kind,pluginData:c.load(v.pluginData),with:v.with});if(_!=null){if(typeof _!="object")throw new Error(Expected onResolve() callback in plugin ${We(O)} to return an object);let T={},S=w(_,T,"pluginName",V),A=w(_,T,"path",V),M=w(_,T,"namespace",V),$=w(_,T,"suffix",V),I=w(_,T,"external",Ae),z=w(_,T,"sideEffects",Ae),j=w(_,T,"pluginData",Ea),q=w(_,T,"errors",Fe),K=w(_,T,"warnings",Fe),le=w(_,T,"watchFiles",Fe),ee=w(_,T,"watchDirs",Fe);Je(_,T,from onResolve() callback in plugin ${We(O)}),R.id=P,S!=null&&(R.pluginName=S),A!=null&&(R.path=A),M!=null&&(R.namespace=M),$!=null&&(R.suffix=$),I!=null&&(R.external=I),z!=null&&(R.sideEffects=z),j!=null&&(R.pluginData=c.store(j)),q!=null&&(R.errors=Or(q,"errors",c,O,void 0)),K!=null&&(R.warnings=Or(K,"warnings",c,O,void 0)),le!=null&&(R.watchFiles=ba(le,"watchFiles")),ee!=null&&(R.watchDirs=ba(ee,"watchDirs"));break}}catch(_){R={id:P,errors:[Co(_,n,c,N&&N(),O)]};break}r(b,R)},s["on-load"]=async(b,v)=>{let R={},O="",L,N;for(let P of v.ids)try{({name:O,callback:L,note:N}=f[P]);let _=await L({path:v.path,namespace:v.namespace,suffix:v.suffix,pluginData:c.load(v.pluginData),with:v.with});if(_!=null){if(typeof _!="object")throw new Error(Expected onLoad() callback in plugin ${We(O)} to return an object);let T={},S=w(_,T,"pluginName",V),A=w(_,T,"contents",wy),M=w(_,T,"resolveDir",V),$=w(_,T,"pluginData",Ea),I=w(_,T,"loader",V),z=w(_,T,"errors",Fe),j=w(_,T,"warnings",Fe),q=w(_,T,"watchFiles",Fe),K=w(_,T,"watchDirs",Fe);Je(_,T,from onLoad() callback in plugin ${We(O)}),R.id=P,S!=null&&(R.pluginName=S),A instanceof Uint8Array?R.contents=A:A!=null&&(R.contents=Qt(A)),M!=null&&(R.resolveDir=M),$!=null&&(R.pluginData=c.store($)),I!=null&&(R.loader=I),z!=null&&(R.errors=Or(z,"errors",c,O,void 0)),j!=null&&(R.warnings=Or(j,"warnings",c,O,void 0)),q!=null&&(R.watchFiles=ba(q,"watchFiles")),K!=null&&(R.watchDirs=ba(K,"watchDirs"));break}}catch(_){R={id:P,errors:[Co(_,n,c,N&&N(),O)]};break}r(b,R)};let E=(b,v)=>v([],[]);u.length>0&&(E=(b,v)=>{(async()=>{let R=[],O=[];for(let{name:L,callback:N,note:P}of u){let _,T;try{let S=await N(b);if(S!=null){if(typeof S!="object")throw new Error(Expected onEnd() callback in plugin ${We(L)} to return an object);let A={},M=w(S,A,"errors",Fe),$=w(S,A,"warnings",Fe);Je(S,A,from onEnd() callback in plugin ${We(L)}),M!=null&&(_=Or(M,"errors",c,L,void 0)),$!=null&&(T=Or($,"warnings",c,L,void 0))}}catch(S){_=[Co(S,n,c,P&&P(),L)]}if(_){R.push(..._);try{b.errors.push(..._)}catch{}}if(T){O.push(...T);try{b.warnings.push(...T)}catch{}}}v(R,O)})()});let k=()=>{for(let b of m)setTimeout(()=>b(),0)};return x=!0,{ok:!0,requestPlugins:y,runOnEndCallbacks:E,scheduleOnDisposeCallbacks:k}};function _y(){let e=new Map,t=0;return{clear(){e.clear()},load(r){return e.get(r)},store(r){if(r===void 0)return-1;let o=t++;return e.set(o,r),o}}}function xa(e,t,r){let o,n=!1;return()=>{if(n)return o;n=!0;try{let s=(e.stack+"").split( );s.splice(1,1);let i=Ty(t,s,r);if(i)return o={text:e.message,location:i},o}catch{}}}function Co(e,t,r,o,n){let s="Internal error",i=null;try{s=(e&&e.message||e)+""}catch{}try{i=Ty(t,(e.stack+"").split(
),"")}catch{}return{id:"",pluginName:n,text:s,location:i,notes:o?[o]:[],detail:r?r.store(e):-1}}function Ty(e,t,r){let o=" at ";if(e.readFileSync&&!t[0].startsWith(o)&&t[1].startsWith(o))for(let n=1;n<t.length;n++){let s=t[n];if(s.startsWith(o))for(s=s.slice(o.length);;){let i=/^(?:new |async )?\S+ \((.*)\)$/.exec(s);if(i){s=i[1];continue}if(i=/^eval at \S+ \((.*)\)(?:, \S+:\d+:\d+)?$/.exec(s),i){s=i[1];continue}if(i=/^(\S+):(\d+):(\d+)$/.exec(s),i){let a;try{a=e.readFileSync(i[1],"utf8")}catch{break}let c=a.split(/\r\n|\r|\n|\u2028|\u2029/)[+i[2]-1]||"",l=+i[3]-1,u=c.slice(l,l+r.length)===r?r.length:0;return{file:i[1],namespace:"file",line:+i[2],column:Qt(c.slice(0,l)).length,length:Qt(c.slice(l,l+u)).length,lineText:c+
+t.slice(1).join(
),suggestion:""}}break}}return null}function as(e,t,r){let o=5;e+=t.length<1?"": with ${t.length} error${t.length<2?"":"s"}:+t.slice(0,o+1).map((s,i)=>{if(i===o)return
...;if(!s.location)return
${a}:${c}:${l}: ERROR: ${u}${s.text}}).join("");let n=new Error(e);for(let[s,i]of[["errors",t],["warnings",r]])Object.defineProperty(n,s,{configurable:!0,enumerable:!0,get:()=>i,set:a=>Object.defineProperty(n,s,{configurable:!0,enumerable:!0,value:a})});return n}function hn(e,t){for(let r of e)r.detail=t.load(r.detail);return e}function xy(e,t,r){if(e==null)return null;let o={},n=w(e,o,"file",V),s=w(e,o,"namespace",V),i=w(e,o,"line",Ao),a=w(e,o,"column",Ao),c=w(e,o,"length",Ao),l=w(e,o,"lineText",V),u=w(e,o,"suggestion",V);if(Je(e,o,t),l){let p=l.slice(0,(a&&a>0?a:0)+(c&&c>0?c:0)+(r&&r>0?r:80));!/[\x7F-\uFFFF]/.test(p)&&!/\n/.test(l)&&(l=p)}return{file:n||"",namespace:s||"",line:i||0,column:a||0,length:c||0,lineText:l||"",suggestion:u||""}}function Or(e,t,r,o,n){let s=[],i=0;for(let a of e){let c={},l=w(a,c,"id",V),u=w(a,c,"pluginName",V),p=w(a,c,"text",V),f=w(a,c,"location",yy),m=w(a,c,"notes",Fe),h=w(a,c,"detail",Ea),g=in element ${i} of "${t}";Je(a,c,g);let y=[];if(m)for(let x of m){let E={},k=w(x,E,"text",V),b=w(x,E,"location",yy);Je(x,E,g),y.push({text:k||"",location:xy(b,g,n)})}s.push({id:l||"",pluginName:u||o,text:p||"",location:xy(f,g,n),notes:y,detail:r?r.store(h):-1}),i++}return s}function ba(e,t){let r=[];for(let o of e){if(typeof o!="string")throw new Error(${We(t)} must be an array of strings);r.push(o)}return r}function x0(e,t){let r=Object.create(null);for(let o in e){let n=e[o];if(typeof n!="string")throw new Error(key ${We(o)} in object ${We(t)} must be a string);r[o]=n}return r}function b0({path:e,contents:t,hash:r}){let o=null;return{path:e,contents:t,hash:r,get text(){let n=this.contents;return(o===null||n!==t)&&(t=n,o=dn(n)),o}}}var Sy=is,va=e=>_a().build(e),Oy=(e,t)=>_a().transform(e,t),Ly=(e,t)=>_a().formatMessages(e,t),Ny=(e,t)=>_a().analyzeMetafile(e,t);var Mo,Py,ka,_a=()=>{if(ka)return ka;throw Mo?new Error('You need to wait for the promise returned from "initialize" to be resolved before calling this'):new Error('You need to call "initialize" before calling this')},Ta=e=>{let t=e.wasm,r=e.worker;if(Mo)throw new Error('Cannot call "initialize" more than once');return Mo=E0(t,r),Mo.catch(()=>{Mo=void 0}),Mo},E0=async(e,t)=>{let r=new Worker(t.toString(),{type:"module"}),o,n,s=new Promise((c,l)=>{o=c,n=l});r.onmessage=({data:c})=>{r.onmessage=({data:l})=>i(l),c?n(c):o()},r.postMessage(e);let{readFromStdout:i,service:a}=vy({writeToStdin(c){r.postMessage(c)},isSync:!1,hasFS:!1,esbuild:{build:va,transform:Oy,formatMessages:Ly,analyzeMetafile:Ny,version:Sy,initialize:Ta}});await s,Py=()=>{r.terminate(),Mo=void 0,Py=void 0,ka=void 0},ka={build:c=>new Promise((l,u)=>a.buildOrContext({callName:"build",refs:null,options:c,isTTY:!1,defaultWD:"/",callback:(p,f)=>p?u(p):l(f)})),transform:(c,l)=>new Promise((u,p)=>a.transform({callName:"transform",refs:null,input:c,options:l||{},isTTY:!1,fs:{readFile(f,m){m(new Error("Internal error"),null)},writeFile(f,m){m(null)}},callback:(f,m)=>f?p(f):u(m)})),formatMessages:(c,l)=>new Promise((u,p)=>a.formatMessages({callName:"formatMessages",refs:null,messages:c,options:l,callback:(f,m)=>f?p(f):u(m)})),analyzeMetafile:(c,l)=>new Promise((u,p)=>a.analyzeMetafile({callName:"analyzeMetafile",refs:null,metafile:typeof c=="string"?c:JSON.stringify(c),options:l,callback:(f,m)=>f?p(f):u(m)}))}};self.Deno||(self.Deno={build:{os:"linux"},errors:{AlreadyExists:Error},env:{get:()=>{}},permissions:{query:()=>Promise.resolve("denied")},cwd:()=>location.href});function gt(e){if(typeof e!="string")throw new TypeError(Path must be a string. Received ${JSON.stringify(e)})}function ur(e){return e===47||e===92}function Lr(e){return e>=97&&e<=122||e>=65&&e<=90}function Oa(e){if(e=e instanceof URL?e:new URL(e),e.protocol!=="file:")throw new TypeError("Must be a file URL.");return e}function Cy(e){e=Oa(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return e.hostname!==""&&(t=\\\\${e.hostname}${t}),t}function yp(e){gt(e);let t=e.length;if(t===0)return!1;let r=e.charCodeAt(0);return ur(r)?!0:!!(Lr(r)&&t>2&&e.charCodeAt(1)===58&&ur(e.charCodeAt(2)))}var La=class extends Error{constructor(t){super(t),this.name="AssertionError"}};function Na(e,t=""){if(!e)throw new La(t)}var A0={" ":"%09","\n":"%0A","\v":"%0B","\f":"%0C","\r":"%0D"," ":"%20"};function Ca(e){return e.replaceAll(/[\s]/g,t=>A0[t]??t)}function Iy(e){if(!yp(e))throw new TypeError("Must be an absolute path.");let[,t,r]=e.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/),o=new URL("file:///");if(o.pathname=Ca(r.replace(/%/g,"%25")),t!==void 0&&t!=="localhost"&&(o.hostname=t,!o.hostname))throw new TypeError("Invalid hostname.");return o}function Nr(e){return e===47}function Fy(e){return e=Oa(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function bp(e){return gt(e),e.length>0&&Nr(e.charCodeAt(0))}function $y(e){if(!bp(e))throw new TypeError("Must be an absolute path.");let t=new URL("file:///");return t.pathname=Ca(e.replace(/%/g,"%25").replace(/\\/g,"%5C")),t}var V0=(()=>{let{Deno:e}=globalThis;if(typeof e?.build?.os=="string")return e.build.os;let{navigator:t}=globalThis;return t?.appVersion?.includes?.("Win")?"windows":"linux"})(),je=V0==="windows";var gn=je?"\\":"/";function Aa(e){return je?Cy(e):Fy(e)}function ls(e){return je?Iy(e):$y(e)}function Ma(e){return typeof e=="object"&&e!==null&&e.constructor===Object}function Ia(e){let t={},r=Object.keys(e).sort((o,n)=>n.length-o.length);for(let o of r)t[o]=e[o];return t}function jy(e){return Ma(e)&&(e.imports!==void 0?Ep(e.imports):!0)&&(e.scopes!==void 0?wp(e.scopes):!0)}function Ep(e){return Ma(e)}function wp(e){return Ma(e)&&Object.values(e).every(t=>Rp(t))}function Rp(e){return Ma(e)}function Ua(e){try{return new URL(e),!0}catch{return!1}}function Hy(e,t){let r={};for(let[o,n]of Object.entries(e)){let s=q0(o,t);if(s===null)continue;if(typeof n!="string"){console.warn("addresses need to be strings."),r[s]=null;continue}let i=kp(n,t);if(i===null){console.warn("the address was invalid."),r[s]=null;continue}if(o.endsWith("/")&&!mr(i).endsWith("/")){console.warn("an invalid address was given for the specifier key specifierKey; since specifierKey ended in a slash, the address needs to as well."),r[s]=null;continue}r[s]=mr(i)}return Ia(r)}function mr(e){return e.href}function z0(e,t){let r={};for(let[n,s]of Object.entries(e)){if(!Rp(s))throw new TypeError("the value of the scope with prefix scopePrefix needs to be an object.");let i;try{i=new URL(n,t)}catch{console.warn("the scope prefix URL was not parseable.");continue}let a=mr(i);r[a]=Hy(s,t)}let o={};for(let n of Object.keys(r))o[n]=Ia(r[n]);return Ia(o)}function q0(e,t){if(!e.length)return console.warn("specifier key cannot be an empty string."),null;let r=kp(e,t);return r!==null?mr(r):e}function kp(e,t){if(t&&(e.startsWith("/")||e.startsWith("./")||e.startsWith("../")))try{return new URL(e,t)}catch{return null}try{return new URL(e)}catch{return null}}var K0=["ftp","file","http","https","ws","wss"];function X0(e){return K0.some(t=>mr(e).startsWith(t))}function By(e,t,r){for(let[o,n]of Object.entries(r))if(o===e){if(n===null)throw new TypeError("resolution of specifierKey was blocked by a null entry.");if(!Ua(n))throw new TypeError("resolutionResult must be an URL.");return n}else if(o.endsWith("/")&&e.startsWith(o)&&(t===null||X0(t))){if(n===null)throw new TypeError("resolution of specifierKey was blocked by a null entry.");if(!Ua(n))throw new TypeError("resolutionResult must be an URL.");let s=e.slice(o.length);if(!n.endsWith("/"))throw new TypeError('resolutionResult does not end with "/"');try{let i=new URL(s,n);if(!Ua(i))throw new TypeError("url must be an URL.");if(!mr(i).startsWith(n))throw new TypeError("resolution of normalizedSpecifier was blocked due to it backtracking above its prefix specifierKey.");return mr(i)}catch{throw new TypeError("resolution of normalizedSpecifier was blocked since the afterPrefix portion could not be URL-parsed relative to the resolutionResult mapped to by the specifierKey prefix.")}}return null}function vp(e,t){let r={};if(!jy(e))throw new TypeError("the top-level value needs to be a JSON object.");let{imports:o,scopes:n}=e;if(o!==void 0){if(!Ep(o))throw new TypeError('"imports" top-level key needs to be an object.');r=Hy(o,t)}let s={};if(n!==void 0){if(!wp(n))throw new TypeError('"scopes" top-level key needs to be an object.');s=z0(n,t)}return Object.keys(e).find(i=>i!=="imports"&&i!=="scopes")&&console.warn("an invalid top-level key was present in the import map."),{imports:r,scopes:s}}function Wy(e,{imports:t={},scopes:r={}},o){let n=mr(o),s=kp(e,o),i=s!==null?mr(s):e;for(let[c,l]of Object.entries(r))if(c===n||c.endsWith("/")&&n.startsWith(c)){let u=By(i,s,l);if(u!==null)return u}let a=By(i,s,t);if(a!==null)return a;if(s!==null)return mr(s);throw new TypeError("specifier was a bare specifier, but was not remapped to anything by importMap.")}function Vy(e,{allowTrailingComma:t=!0}={}){if(new.target)throw new TypeError("parse is not a constructor");return new _p(e,{allowTrailingComma:t}).parse()}var Gy=globalThis.JSON.parse,_p=class{#i=new Set( \r
);#o=new Set([..."[]{}:,/",...this.#i]);#t;#e;#s;#a;constructor(t,r){this.#t=${t},this.#e=this.#t.length,this.#s=this.#m(),this.#a=r}parse(){let t=this.#n(),r=this.#p(t),{done:o,value:n}=this.#s.next();if(!o)throw new SyntaxError(Jr(n));return r}#n(){let{done:t,value:r}=this.#s.next();if(t)throw new SyntaxError("Unexpected end of JSONC input");return r}*#m(){for(let t=0;t<this.#e;t++)if(!this.#i.has(this.#t[t])){if(this.#t[t]==="/"&&this.#t[t+1]==="*"){t+=2;let r=!1;for(;t<this.#e;t++)if(this.#t[t]==="*"&&this.#t[t+1]==="/"){r=!0;break}if(!r)throw new SyntaxError("Unexpected end of JSONC input");t++;continue}if(this.#t[t]==="/"&&this.#t[t+1]==="/"){for(t+=2;t<this.#e&&!(this.#t[t]===
||this.#t[t]==="\r");t++);continue}switch(this.#t[t]){case"{":yield{type:"BeginObject",position:t};break;case"}":yield{type:"EndObject",position:t};break;case"[":yield{type:"BeginArray",position:t};break;case"]":yield{type:"EndArray",position:t};break;case":":yield{type:"NameSeparator",position:t};break;case",":yield{type:"ValueSeparator",position:t};break;case'"':{let r=t,o=!1;for(t++;t<this.#e&&!(this.#t[t]==='"'&&!o);t++)o=this.#t[t]==="\\"&&!o;yield{type:"String",sourceText:this.#t.substring(r,t+1),position:r};break}default:{let r=t;for(;t<this.#e&&!this.#o.has(this.#t[t]);t++);t--,yield{type:"NullOrTrueOrFalseOrNumber",sourceText:this.#t.substring(r,t+1),position:r}}}}}#p(t){switch(t.type){case"BeginObject":return this.#f();case"BeginArray":return this.#r();case"NullOrTrueOrFalseOrNumber":return this.#g(t);case"String":return this.#h(t);default:throw new SyntaxError(Jr(t))}}#f(){let t={};for(let r=!0;;r=!1){let o=this.#n();if((r||this.#a.allowTrailingComma)&&o.type==="EndObject")return t;if(o.type!=="String")throw new SyntaxError(Jr(o));let n=this.#h(o),s=this.#n();if(s.type!=="NameSeparator")throw new SyntaxError(Jr(s));let i=this.#n();Object.defineProperty(t,n,{value:this.#p(i),writable:!0,enumerable:!0,configurable:!0});let a=this.#n();if(a.type==="EndObject")return t;if(a.type!=="ValueSeparator")throw new SyntaxError(Jr(a))}}#r(){let t=[];for(let r=!0;;r=!1){let o=this.#n();if((r||this.#a.allowTrailingComma)&&o.type==="EndArray")return t;t.push(this.#p(o));let n=this.#n();if(n.type==="EndArray")return t;if(n.type!=="ValueSeparator")throw new SyntaxError(Jr(n))}}#h(t){let r;try{r=Gy(t.sourceText)}catch{throw new SyntaxError(Jr(t))}return Na(typeof r=="string"),r}#g(t){if(t.sourceText==="null")return null;if(t.sourceText==="true")return!0;if(t.sourceText==="false")return!1;let r;try{r=Gy(t.sourceText)}catch{throw new SyntaxError(Jr(t))}return Na(typeof r=="number"),r}};function Jr({type:e,sourceText:t,position:r}){let o="";switch(e){case"BeginObject":o="{";break;case"EndObject":o="}";break;case"BeginArray":o="[";break;case"EndArray":o="]";break;case"NameSeparator":o=":";break;case"ValueSeparator":o=",";break;case"NullOrTrueOrFalseOrNumber":case"String":o=30<t.length?${t.slice(0,30)}...:t;break;default:throw new Error("unreachable")}returnUnexpected token ${o} in JSONC at position ${r}}function Da(e){if(e.protocol==="file:")return{path:Aa(e),namespace:"file"};let t=e.protocol.slice(0,-1);return{path:e.href.slice(t.length+1),namespace:t}}async function Tp(e){let t=await Deno.readTextFile(e),r=Vy(t);if(typeof r!="object"||r===null||Array.isArray(r))throw new Error(Deno config at ${e} must be an object);if("imports"in r&&(typeof r.imports!="object"||r.imports===null||Array.isArray(r.imports)))throw new Error(Deno config at ${e} has invalid "imports" key);if("scopes"in r&&(typeof r.scopes!="object"||r.scopes===null||Array.isArray(r.scopes)))throw new Error(Deno config at ${e} has invalid "scopes" key);if("lock"in r&&typeof r.lock!="boolean"&&typeof r.lock!="string")throw new Error(Deno config at ${e} has invalid "lock" key);if("importMap"in r&&typeof r.importMap!="string")throw new Error(Deno config at ${e} has invalid "importMap" key);return r}function zy(e){if(e.imports!==void 0){let t=[];for(let[r,o]of Object.entries(e.imports))if(t.push([r,o]),!r.endsWith("/")&&o&&(o.startsWith("jsr:")||o.startsWith("npm:"))&&!e.imports[r+"/"]){let n=r+"/",s=o.slice(0,4)+"/"+o.slice(o[4]==="/"?5:4)+"/";t.push([n,s])}e.imports=Object.fromEntries(t)}}var J0=${gn}node_modules${gn},Q0=${gn}node_modules;function Fa(e){return e.includes(J0)||e.endsWith(Q0)}function Pp(e){return(e.namespace===""||e.namespace==="file")&&(Fa(e.resolveDir)||Fa(e.path)||Fa(e.importer))}function Sp(e={}){return{name:"deno-resolver",setup(t){let r=null,o=(t.initialOptions.external??[]).map(n=>new RegExp("^"+n.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*")+"$"));t.onStart(async function(){let s;if(e.importMapURL===void 0&&e.configPath!==void 0){let i=await Tp(e.configPath);if(i.imports!==void 0||i.scopes!==void 0){let a={imports:i.imports,scopes:i.scopes};zy(a),r=vp(a,ls(e.configPath))}else i.importMap!==void 0&&(s=new URL(i.importMap,ls(e.configPath)).href)}else e.importMapURL!==void 0&&(s=e.importMapURL);if(s){let i=await fetch(s),a=await i.json();r=vp(a,new URL(i.url))}}),t.onResolve({filter:/.*/},async function(s){if(Pp(s))return;let i;if(s.importer!==""){if(s.namespace==="")throw new Error("[assert] namespace is empty");i=new URL(${s.namespace}:${s.importer})}else if(s.resolveDir!=="")i=new URL(${ls(s.resolveDir).href}/);else return;let a;if(r!==null){let p=Wy(s.path,r,new URL(i));a=new URL(p)}else a=new URL(s.path,i);for(let p of o)if(p.test(a.href))return{path:a.href,external:!0};let{path:c,namespace:l}=Da(a);return await t.resolve(c,{namespace:l,kind:s.kind})})}}}var mye=new TextEncoder;var Z0=[],eP=[],Op="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";for(let e=0,t=Op.length;e<t;++e)Z0[e]=Op[e],eP[Op.charCodeAt(e)]=e;var Aye=Deno.env.get("DENO_REGISTRY_URL")??"https://jsr.io";var cP=await Deno.permissions.query({name:"run"}).then(e=>e.state!=="granted")?"portable":"native";var qy=Sp;var Ky=" must not return ",lP="transformer",pP="recoverer",uP="defaultValue",yn=lP+Ky,Cr="called with ",xn=uP+" must not be ",bn=pP+Ky;var $a="null or undefined",En=yn+$a,mP=Cr+$a,Lp=xn+$a,ja=bn+$a;function Zt(e){return e!=null}var fP="Ok",Xy="Err",Yy=Cr+Xy,Jy=Cr+fP,dP="Carrying E in "+Xy+" instead of throwing it directly. See .cause",Np="an instance of Error of the current realm.",Sxe="The thrown value is not "+Np,Oxe="The contained E should be "+Np,hP="This .cause is not "+Np;function Qe(e){return e.ok}function Et(e){return{ok:!0,val:e,err:null}}function kt(e){return!e.ok}function Nt(e){return{ok:!1,val:null,err:e}}function Io(e){return Qy(e,Yy)}function wn(e){return Zy(e,Jy)}function Qy(e,t){if(kt(e))throw new TypeError(t);return e.val}function Zy(e,t){if(Qe(e))throw new TypeError(t);return e.err}function Cp(e,t){if(Zt(e))return Et(e);let r=t();return Nt(r)}var ex=e=>!!(gP.includes(e.hostname)||e.hostname.endsWith(".openai.azure.com")),gP=["i.gyazo.com","t.gyazo.com","scrapbox.io","api.openai.com","*.openai.azure.com","maps.googleapis.com","upload.gyazo.com","storage.googleapis.com","sentry.io"];function Zr(e){if(typeof e!="string")throw new TypeError(Path must be a string, received "${JSON.stringify(e)}")}function Uo(e){return e===47}function tx(e){Zr(e);let t=-1,r=0,o=-1,n=!0,s=0;for(let i=e.length-1;i>=0;--i){let a=e.charCodeAt(i);if(Uo(a)){if(!n){r=i+1;break}continue}o===-1&&(n=!1,o=i+1),a===46?t===-1?t=i:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||o===-1||s===0||s===1&&t===o-1&&t===r+1?"":e.slice(t,o)}function rx(e,t){if(t.length>=e.length)return e;let r=e.length-t.length;for(let o=t.length-1;o>=0;--o)if(e.charCodeAt(r+o)!==t.charCodeAt(o))return e;return e.slice(0,-t.length)}function ox(e,t,r=0){let o=!1,n=e.length;for(let s=e.length-1;s>=r;--s)if(t(e.charCodeAt(s))){if(o){r=s+1;break}}else o||(o=!0,n=s+1);return e.slice(r,n)}function nx(e,t){if(Zr(e),e.length===0)return e;if(typeof t!="string")throw new TypeError(Suffix must be a string, received "${JSON.stringify(t)}")}function sx(e,t){if(e.length<=1)return e;let r=e.length;for(let o=e.length-1;o>0&&t(e.charCodeAt(o));o--)r=o;return e.slice(0,r)}function ix(e,t=""){nx(e,t);let r=ox(e,Uo),o=sx(r,Uo);return t?rx(o,t):o}var Ba=globalThis.Deno?.build.os==="windows"||globalThis.navigator?.platform?.startsWith("Win")||globalThis.process?.platform?.startsWith("win")||!1;function Ha(e){if(e=e instanceof URL?e:new URL(e),e.protocol!=="file:")throw new TypeError(URL must be a file URL: received "${e.protocol}");return e}function ax(e){return e=Ha(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function cx(e){e=Ha(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return e.hostname!==""&&(t=\\\\${e.hostname}${t}),t}function lx(e){return Ba?cx(e):ax(e)}var xP={" ":"%09","\n":"%0A","\v":"%0B","\f":"%0C","\r":"%0D"," ":"%20"};function Wa(e){return e.replaceAll(/[\s]/g,t=>xP[t]??t)}function px(e){return Zr(e),e.length>0&&Uo(e.charCodeAt(0))}function ux(e){if(!px(e))throw new TypeError(Path must be absolute: received "${e}");let t=new URL("file:///");return t.pathname=Wa(e.replace(/%/g,"%25").replace(/\\/g,"%5C")),t}function Mp(e){return e===47||e===92}function mx(e){return e>=97&&e<=122||e>=65&&e<=90}function fx(e){Zr(e);let t=e.length;if(t===0)return!1;let r=e.charCodeAt(0);return Mp(r)?!0:!!(mx(r)&&t>2&&e.charCodeAt(1)===58&&Mp(e.charCodeAt(2)))}function dx(e){if(!fx(e))throw new TypeError(Path must be absolute: received "${e}");let[,t,r]=e.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/),o=new URL("file:///");if(o.pathname=Wa(r.replace(/%/g,"%25")),t!==void 0&&t!=="localhost"&&(o.hostname=t,!o.hostname))throw new TypeError(Invalid hostname: "${o.hostname}");return o}function hx(e){return Ba?dx(e):ux(e)}var gx=e=>{if(e.protocol==="file:")return{path:lx(e),namespace:"file"};let t=e.protocol.slice(0,-1);return{path:e.href.slice(t.length+1),namespace:t}},Ip=e=>e.namespace==="file"?hx(e.path):new URL(${e.namespace}:${e.path});var yx=(e,t)=>{let r=Cp(_P(e),()=>({name:"NotFoundError",message:"Source map URL is not found"}));if(H(r))return r;let{url:o,start:n,end:s}=W(r);return URL.canParse(o,t)?ce({url:new URL(o,t),start:n,end:s}):Q({name:"InvalidURLError",message:Invalid URL: ${o}})},_P=e=>{for(let t of e.matchAll(/\/([*/])[#@] *sourceMappingURL=/g)){let r=t.index+t[0].length,o=e.length,n=r;for(;n<o&&e.charCodeAt(n)>32;)n++;if(n!==r&&(t[1]==="/"||e.indexOf("*/",n)>0))return{url:e.slice(r,n),start:r,end:n}}};var TP=["base64","binary","copy","css","dataurl","default","empty","file","js","json","jsx","local-css","text","ts","tsx"],xx=e=>TP.includes(e),bx=e=>/^js|^ts|css$/.test(e),Ex=e=>{let t=e.url,r=ix(t);if(xx(r))return r;if(r==="mjs")return"js";let o=new URL(t);o.search="",o.hash="";let n=tx(o.href).slice(1);if(xx(n))return n;if(n==="mjs")return"js";let i=(e.headers.get("Content-Type")??"text/plain").split(";")[0]?.trim?.()??"text/plain";return PP(i)},PP=e=>{let t=e.split("/")[1]??"plain";if(/(?:^plain$|^xml|^svg|^x?html)/.test(t))return"text";if(t.startsWith("json"))return"json";switch(t){case"javascript":return"js";case"typescript":return"ts";case"css":return"css";default:return"text"}};function Ga(e,t){if(isNaN(e)||isNaN(t))throw new Error("Cannot compare against non-numbers");return e===t?0:e<t?-1:1}function kx(e=[],t=[]){return e.length&&!t.length?-1:!e.length&&t.length?1:0}function Fp(e=[],t=[]){let r=Math.max(e.length,t.length);for(let o=0;o<r;o++){let n=e[o],s=t[o];if(n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(typeof n=="string"&&typeof s=="number")return 1;if(typeof n=="number"&&typeof s=="string"||n<s)return-1;if(n>s)return 1}return 0}var Rn="0|[1-9]\\d*",SP="\\d*[a-zA-Z-][a-zA-Z0-9-]*",OP=(?<major>${Rn})\\.(?<minor>${Rn})\\.(?<patch>${Rn}),wx=(?:${Rn}|${SP}),vx=(?:-(?<prerelease>${wx}(?:\\.${wx})*)),Rx="[0-9A-Za-z-]+",_x=(?:\\+(?<buildmetadata>${Rx}(?:\\.${Rx})*)),Tx=v?${OP}${vx}?${_x}?,Px=new RegExp(^${Tx}$),Sx="(?:<|>)?=?",LP="x|X|\\*",Up=${Rn}|${LP},Va=v=\\s*(?<major>${Up})(?:\\.(?<minor>${Up})(?:\\.(?<patch>${Up})${vx}?${_x}?)?)?,Ox=new RegExp(^(?<operator>~>?|\\^|${Sx})\\s*${Va}$),Lx=new RegExp(^(?<operator>${Sx})\\s*(${Tx})$|^$);function Dp(e){return typeof e=="number"&&!Number.isNaN(e)&&(!Number.isFinite(e)||0<=e&&e<=Number.MAX_SAFE_INTEGER)}var $p=256;var NP=new RegExp(^${Rn}$);function Ct(e){return e.split(".").filter(Boolean).map(t=>{if(NP.test(t)){let r=Number(t);if(Dp(r))return r}return t})}function fr(e){return e.split(".").filter(Boolean)}function eo(e,t){let r=Number(e);if(!Dp(r))throw new TypeError(t);return r}function Fo(e){return Number.isNaN(e.major)&&Number.isNaN(e.minor)&&Number.isNaN(e.patch)&&(e.prerelease===void 0||e.prerelease.length===0)&&(e.build===void 0||e.build.length===0)}function Ht(e,t){return e===t?0:Ga(e.major,t.major)||Ga(e.minor,t.minor)||Ga(e.patch,t.patch)||kx(e.prerelease,t.prerelease)||Fp(e.prerelease,t.prerelease)}function jp(e){return e.toFixed(0)}function Do(e){let t=jp(e.major),r=jp(e.minor),o=jp(e.patch),n=e.prerelease?.join(".")??"",s=e.build?.join(".")??"";return[[${t}.${r}.${o},n].filter(c=>c).join("-"),s].filter(c=>c).join("+")}function CP(e,t){if(Fo(t))return!0;let r=Ht(e,t);switch(t.operator){case"=":case void 0:return r===0;case"!=":return r!==0;case">":return r>0;case"<":return r<0;case">=":return r>=0;case"<=":return r<=0}}function za(e,t){for(let r of t)if(!CP(e,r))return!1;if(e.prerelease&&e.prerelease.length>0){for(let r of t){if(Fo(r))continue;let{major:o,minor:n,patch:s,prerelease:i}=r;if(i&&i.length>0&&e.major===o&&e.minor===n&&e.patch===s)return!0}return!1}return!0}function qa(e,t){return t.some(r=>za(e,r))}var Ka={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},kn={operator:void 0,...Ka};function Nx(e,t){return Ht(e,t)>0}function ps(e,t){let r;for(let o of e)qa(o,t)&&(r=r&&Nx(r,o)?r:o);return r}function AP(e){let r=e.match(Lx)?.groups;if(!r)return null;let{operator:o,prerelease:n,buildmetadata:s}=r,i=r.major?{major:eo(r.major,Cannot parse comparator ${e}: invalid major version),minor:eo(r.minor,Cannot parse comparator ${e}: invalid minor version),patch:eo(r.patch,Cannot parse comparator ${e}: invalid patch version),prerelease:n?Ct(n):[],build:s?fr(s):[]}:Ka;return{operator:o||void 0,...i}}function Te(e){return!e||e.toLowerCase()==="x"||e==="*"}function MP(e){if(!Te(e.major))return Te(e.minor)?{operator:">=",major:+e.major,minor:0,patch:0,prerelease:[],build:[]}:Te(e.patch)?{operator:">=",major:+e.major,minor:+e.minor,patch:0,prerelease:[],build:[]}:{operator:">=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:e.prerelease?Ct(e.prerelease):[],build:[]}}function IP(e){if(!Te(e.major))return Te(e.minor)?{operator:"<",major:+e.major+1,minor:0,patch:0,prerelease:[],build:[]}:Te(e.patch)?{operator:"<",major:+e.major,minor:+e.minor+1,patch:0,prerelease:[],build:[]}:e.prerelease?{operator:"<=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:Ct(e.prerelease),build:[]}:{operator:"<=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:[],build:[]}}function UP(e){let t=e.match(new RegExp(^${Va})),r=t?.groups;if(!r)return null;let o=t[0].length,n=e.slice(o).match(/^\s+-\s+/);if(!n)return null;let s=n[0].length,a=e.slice(o+s).match(new RegExp(^${Va}\\s*$))?.groups;if(!a)return null;let c=MP(r),l=IP(a);return[c,l].filter(Boolean)}function FP(e){let t=Te(e.major),r=Te(e.minor),o=Te(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[kn];if(r)return[{operator:">=",major:n,minor:0,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];if(o)return n===0?[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n,minor:s+1,patch:0}]:[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];let a=Ct(e.prerelease??"");return n===0?s===0?[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n,minor:s,patch:i+1}]:[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n,minor:s+1,patch:0}]:[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n+1,minor:0,patch:0}]}function DP(e){let t=Te(e.major),r=Te(e.minor),o=Te(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[kn];if(r)return[{operator:">=",major:n,minor:0,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n,minor:s+1,patch:0}];let a=Ct(e.prerelease??"");return[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n,minor:s+1,patch:0}]}function $P(e){let t=Te(e.major),r=Te(e.minor),o=Te(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return o?[{operator:"<",major:n,minor:0,patch:0}]:[{operator:"<",major:n,minor:0,patch:0}];if(o)return[{operator:"<",major:n,minor:s,patch:0}];let a=Ct(e.prerelease??""),c=fr(e.build??"");return[{operator:"<",major:n,minor:s,patch:i,prerelease:a,build:c}]}function jP(e){let t=Te(e.minor),r=Te(e.patch),o=+e.major,n=+e.minor,s=+e.patch;if(t)return r?[{operator:"<",major:o+1,minor:0,patch:0}]:[{operator:"<",major:o,minor:n+1,patch:0}];if(r)return[{operator:"<",major:o,minor:n+1,patch:0}];let i=Ct(e.prerelease??""),a=fr(e.build??"");return[{operator:"<=",major:o,minor:n,patch:s,prerelease:i,build:a}]}function BP(e){let t=Te(e.major),r=Te(e.minor),o=Te(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return[{operator:">=",major:n+1,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s+1,patch:0}];let a=Ct(e.prerelease??""),c=fr(e.build??"");return[{operator:">",major:n,minor:s,patch:i,prerelease:a,build:c}]}function HP(e){let t=Te(e.major),r=Te(e.minor),o=Te(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[kn];if(r)return o?[{operator:">=",major:n,minor:0,patch:0}]:[{operator:">=",major:n,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s,patch:0}];let a=Ct(e.prerelease??""),c=fr(e.build??"");return[{operator:">=",major:n,minor:s,patch:i,prerelease:a,build:c}]}function WP(e){let t=Te(e.major),r=Te(e.minor),o=Te(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[kn];if(r)return[{operator:">=",major:n,minor:0,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n,minor:s+1,patch:0}];let a=Ct(e.prerelease??""),c=fr(e.build??"");return[{operator:void 0,major:n,minor:s,patch:i,prerelease:a,build:c}]}function GP(e){let t=e.match(Ox)?.groups;if(!t)return AP(e);switch(t.operator){case"^":return FP(t);case"~":case"~>":return DP(t);case"<":return $P(t);case"<=":return jP(t);case">":return BP(t);case">=":return HP(t);case"=":case"":return WP(t);default:throw new Error(Cannot parse version range: '${t.operator}' is not a valid operator)}}function VP(e){return e.split(/\s+/).flatMap(GP)}function Cx(e){let t=e.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map(r=>UP(r)||VP(r));if(t.some(r=>r.includes(null)))throw new TypeError(Cannot parse version range: range "${e}" is invalid);return t}function Bp(e){if(typeof e!="string")throw new TypeError(Cannot parse version as version must be a string: received ${typeof e});if(e.length>$p)throw new TypeError(Cannot parse version as version length is too long: length is ${e.length}, max length is ${$p});e=e.trim();let t=e.match(Px)?.groups;if(!t)throw new TypeError(Cannot parse version: ${e});let r=eo(t.major,Cannot parse version ${e}: invalid major version),o=eo(t.minor,Cannot parse version ${e}: invalid minor version),n=eo(t.patch,Cannot parse version ${e}: invalid patch version),s=t.prerelease?Ct(t.prerelease):[],i=t.buildmetadata?fr(t.buildmetadata):[];return{major:r,minor:o,patch:n,prerelease:s,build:i}}function Hp(e){try{return Cx(e)}catch{return}}function Wp(e){try{return Bp(e)}catch{return}}var us={operator:void 0,major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]};var to=async e=>{try{let t=await fetch(e);return t.ok?ce([t,!1]):Q({name:"HTTPError",message:${t.status} ${t.statusText},response:t})}catch(t){if(t instanceof TypeError)return Q({name:"NetworkError",message:t.message,request:e});if(t instanceof DOMException)return Q({name:"AbortError",message:t.message,request:e});throw t}};var Gp="https://jsr.io",Ax=async(e,t)=>{let r=await(t?.fetch??to)(new Request(${t?.endpoint??Gp}/${e}/meta.json),t?.cacheFirst);return _t(r,([o])=>o.json())};var Mx=async(e,t,r)=>{let o=await(r?.fetch??to)(new Request(${r?.endpoint??Gp}/${e}/${t}_meta.json),r?.cacheFirst);return _t(o,([n])=>n.json())};var Ix=async(e,t)=>{let r=await(t?.fetch??to)(new Request(${t?.endpoint??"https://registry.npmjs.org"}/${e}),t?.cacheFirst);return _t(r,([o])=>o.json())};var Dx=(e,t)=>({name:"InvalidPackageVersionError",message:No version of ${e.name} satisfies "${e.tag??"*"}" (available: ${t.slice(0,10).join(", ")}${t.length>10?, ... (${t.length-10} more versions):""}),packageName:e.name,range:e.range,tag:e.tag,entryPoint:e.entryPoint,availableVersions:t}),Xa=(e,t)=>({name:"InvalidEntryPointError",message:${e.entryPoint} is not a valid entry point for ${e.name}@${e.tag??"*"} (available: ${t.join(", ")}),packageName:e.name,range:e.range,tag:e.tag,entryPoint:e.entryPoint,availableEntryPoints:t}),$x=async(e,t)=>{if(t?.resolvedVersions){let c=new Map(t.resolvedVersions.get(e.name)??[]),l=ps([...c.keys()],e.range);if(l){let u=c.get(l)??ms,p=u[e.entryPoint];return typeof p!="string"&&console.log(p),p?ce(Ux(e.name,Do(l),p)):Q(Xa(e,Object.keys(u)))}}let r=await Ix(e.name,t);if(H(r))return r;let o=W(r),n=new Map(Object.entries(o.versions).flatMap(([c,{exports:l}])=>{let u=Wp(c);return u?[[u,l??ms]]:[]})),s=ps([...n.keys()],e.range);if(!s)return Q(Dx(e,Object.keys(o.versions)));let i={...ms};for(let c of Object.keys(n.get(s)??ms))i[c]=c;let a=i[e.entryPoint];return a?(t?.resolvedVersions?.set(e.name,[...t.resolvedVersions.get(e.name)??[],[s,i]]),ce(Ux(e.name,Do(s),a))):Q(Xa(e,Object.keys(i)))},Ux=(e,t,r)=>new URL(r,https://esm.sh/${e}@${t}/),jx=async(e,t)=>{if(t?.resolvedVersions){let a=new Map(t.resolvedVersions.get(e.name)??[]),c=ps([...a.keys()],e.range);if(c){let l=a.get(c)??ms,u=l[e.entryPoint];return u?ce(Fx(e.name,Do(c),u)):Q(Xa(e,Object.keys(l)))}}let r=await zP(e,t);if(H(r))return r;let o=W(r),n=await Mx(e.name,Do(o),t);if(H(n))return n;let s=W(n).exports,i=s[e.entryPoint];return i?(t?.resolvedVersions?.set(e.name,[...t.resolvedVersions.get(e.name)??[],[o,s]]),ce(Fx(e.name,Do(o),i))):Q(Xa(e,Object.keys(W(n).exports)))},Fx=(e,t,r)=>new URL(r,https://jsr.io/${e}/${t}/),zP=async(e,t)=>{let r=await Ax(e.name,t);if(H(r))return r;let o=W(r),n=Object.keys(o.versions).flatMap(i=>{let a=Wp(i);return a?[a]:[]}),s=ps(n,e.range);return s?ce(s):Q(Dx(e,Object.keys(o.versions)))},ms={".":"./"};var qP=e=>({name:"OnlyScopeProvidedError",specifier:e}),Bx=e=>({name:"PackageNotFoundError",specifier:e}),Hx=e=>{if(e.protocol!=="npm:")return Q({name:"NotNpmProtocolError",specifier:e});let t=e.pathname,r=t[0]==="/"?1:0,o,n;if(t[r]==="@"){let p=t.indexOf("/",r);if(p===-1)return Q(qP(e));o=t.indexOf("/",p+1),n=t.indexOf("@",p+1)}else o=t.indexOf("/",r),n=t.indexOf("@",r);if(o===-1&&(o=t.length),n===-1&&(n=t.length),n=Math.min(n,o),r===n)return Q(Bx(e));let s=t.slice(r,n),i=decodeURIComponent(t.slice(n+1,o)),a=i?Hp(i)??[[us]]:[[us]],c=t.slice(o+1),l=c?./${c}:".",u={name:s,range:a,entryPoint:l};return i&&(u.tag=i),ce(u)},Wx=e=>{if(e.protocol!=="jsr:")return Q({name:"NotJsrProtocolError",specifier:e});let t=e.pathname,r=t[0]==="/"?1:0;if(t[r]!=="@")return Q({name:"ScopeNotFoundError",specifier:e});let o=t.indexOf("/",r);if(o===-1)return Q(Bx(e));let n=t.indexOf("/",o+1),s=t.indexOf("@",o+1);n===-1&&(n=t.length),s===-1&&(s=t.length),s=Math.min(s,n);let i=t.slice(r,s),a=decodeURIComponent(t.slice(s+1,n)),c=a?Hp(a)??[[us]]:[[us]],l=t.slice(n+1),u=l?./${l}:".",p={name:i,range:c,entryPoint:u};return a&&(p.tag=a),ce(p)};var Gx=e=>new Promise((t,r)=>{let o=new FileReader;o.addEventListener("load",()=>{let n=o.result,s=n.indexOf(";");n.startsWith("; charset=utf-8",s)?t(${n.slice(0,s)}${n.slice(s+15)}):t(n)}),o.addEventListener("error",()=>r(o.error)),o.readAsDataURL(e)});var qx=e=>{let t=new Map,r=async o=>{let n=o.namespace==="npm",s=(n?Hx:Wx)(Ip(o));if(H(s)){let a=re(s);return{errors:[{text:a.name,detail:a}]}}let i=await(n?$x:jx)(W(s),{resolvedVersions:t,...e});if(H(i)){let a=re(i);return{errors:[{text:${a.name} ${a.message},detail:a}]}}return gx(W(i))};return{name:"remote-loader",setup({onLoad:o,onResolve:n,initialOptions:s}){for(let i of[...Vx,...zx])n({filter:/.*/,namespace:i.slice(0,-1)},KP);n({filter:/.*/,namespace:"npm"},r),n({filter:/.*/,namespace:"jsr"},r);for(let i of Vx)o({filter:/.*/,namespace:i.slice(0,-1)},a=>XP(Ip(a),{...e,sourcemap:s.sourcemap!==!1&&s.sourcemap!==void 0}));for(let i of zx)o({filter:/.*/,namespace:i.slice(0,-1)},()=>{throw new Error(${i} import is not supported yet.)})}}},KP=e=>({path:e.path,namespace:e.namespace}),Vx=["http:","https:","data:"],zx=["node:"],XP=async(e,t)=>{let r=t.reload?t.reload===!0?!1:!t.reload.some(l=>l.test(e)):!0,o=t.fetch??to,n=await o(new Request(e),r);if(H(n))return{errors:[{text:${re(n).message} Failed to fetch ${e},detail:re(n)}]};let[s,i]=W(n),a=Ex(s);t.onProgress?.({path:e,done:s.clone().blob().then(l=>({size:l.size,loader:a,isCache:i}))});let c=await s.blob();if(t.sourcemap&&bx(a)){let l=await c.text(),u=yx(l,e);if(Ne(u)){let{url:p,start:f,end:m}=W(u);if(p.protocol!=="data:"){let h=await o(new Request(p),r);if(H(h))return{contents:l,loader:a,warnings:[{text:${re(h).message} Failed to fetch the source map URL,notes:[{text:Source map URL: ${p}},{text:Original URL: ${e}}],detail:re(h)}]};let g=await W(h)[0].blob().then(Gx);return{contents:l.slice(0,f)+g+l.slice(m),loader:a}}}}return{contents:new Uint8Array(await c.arrayBuffer()),loader:a}};var hs=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(e,t,r,o,n,s){this.type=e,this.name=t,this.prefix=r,this.value=o,this.suffix=n,this.modifier=s}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},YP=/[$_\p{ID_Start}]/u,JP=/[$_\u200C\u200D\p{ID_Continue}]/u,zp=".*";function QP(e,t){return(t?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e)}function Yx(e,t=!1){let r=[],o=0;for(;o<e.length;){let n=e[o],s=function(i){if(!t)throw new TypeError(i);r.push({type:"INVALID_CHAR",index:o,value:e[o++]})};if(n==="*"){r.push({type:"ASTERISK",index:o,value:e[o++]});continue}if(n==="+"||n==="?"){r.push({type:"OTHER_MODIFIER",index:o,value:e[o++]});continue}if(n==="\\"){r.push({type:"ESCAPED_CHAR",index:o++,value:e[o++]});continue}if(n==="{"){r.push({type:"OPEN",index:o,value:e[o++]});continue}if(n==="}"){r.push({type:"CLOSE",index:o,value:e[o++]});continue}if(n===":"){let i="",a=o+1;for(;a<e.length;){let c=e.substr(a,1);if(a===o+1&&YP.test(c)||a!==o+1&&JP.test(c)){i+=e[a++];continue}break}if(!i){s(Missing parameter name at ${o});continue}r.push({type:"NAME",index:o,value:i}),o=a;continue}if(n==="("){let i=1,a="",c=o+1,l=!1;if(e[c]==="?"){s(Pattern cannot start with "?" at ${c});continue}for(;c<e.length;){if(!QP(e[c],!1)){s(Invalid character '${ec}' at ${c}.),l=!0;break}if(e[c]==="\\"){a+=e[c++]+e[c++];continue}if(e[c]===")"){if(i--,i===0){c++;break}}else if(e[c]==="("&&(i++,e[c+1]!=="?")){s(Capturing groups are not allowed at ${c}),l=!0;break}a+=e[c++]}if(l)continue;if(i){s(Unbalanced pattern at ${o});continue}if(!a){s(Missing pattern at ${o});continue}r.push({type:"REGEX",index:o,value:a}),o=c;continue}r.push({type:"CHAR",index:o,value:e[o++]})}return r.push({type:"END",index:o,value:""}),r}function Jx(e,t={}){let r=Yx(e);t.delimiter??="/#?",t.prefixes??="./";let o=^${Wt(t.delimiter)}+?,n=[],s=0,i=0,a="",c=new Set,l=k=>{if(i<r.length&&r[i].type===k)return r[i++].value},u=()=>l("OTHER_MODIFIER")??l("ASTERISK"),p=k=>{let b=l(k);if(b!==void 0)return b;let{type:v,index:R}=r[i];throw new TypeError(Unexpected ${v} at ${R}, expected ${k})},f=()=>{let k="",b;for(;b=l("CHAR")??l("ESCAPED_CHAR");)k+=b;return k},m=k=>k,h=t.encodePart||m,g="",y=k=>{g+=k},x=()=>{g.length&&(n.push(new hs(3,"","",h(g),"",3)),g="")},E=(k,b,v,R,O)=>{let L=3;switch(O){case"?":L=1;break;case"*":L=0;break;case"+":L=2;break}if(!b&&!v&&L===3){y(k);return}if(x(),!b&&!v){if(!k)return;n.push(new hs(3,"","",h(k),"",L));return}let N;v?v==="*"?N=zp:N=v:N=o;let P=2;N===o?(P=1,N=""):N===zp&&(P=0,N="");let _;if(b?_=b:v&&(_=s++),c.has(_))throw new TypeError(Duplicate name '${_}'.);c.add(_),n.push(new hs(P,_,h(k),N,h(R),L))};for(;i<r.length;){let k=l("CHAR"),b=l("NAME"),v=l("REGEX");if(!b&&!v&&(v=l("ASTERISK")),b||v){let O=k??"";t.prefixes.indexOf(O)===-1&&(y(O),O=""),x();let L=u();E(O,b,v,"",L);continue}let R=k??l("ESCAPED_CHAR");if(R){y(R);continue}if(l("OPEN")){let O=f(),L=l("NAME"),N=l("REGEX");!L&&!N&&(N=l("ASTERISK"));let P=f();p("CLOSE");let _=u();E(O,L,N,P,_);continue}x(),p("END")}return n}function Wt(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function Kx(e){return e&&e.ignoreCase?"ui":"u"}function ZP(e,t,r){return Qx(Jx(e,r),t,r)}function vn(e){switch(e){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}function Qx(e,t,r={}){r.delimiter??="/#?",r.prefixes??="./",r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith="";let o=r.start?"^":"";for(let a of e){if(a.type===3){a.modifier===3?o+=Wt(a.value):o+=(?:${Wt(a.value)})${vn(a.modifier)};continue}t&&t.push(a.name);let c=^${Wt(r.delimiter)}+?,l=a.value;if(a.type===1?l=c:a.type===0&&(l=zp),!a.prefix.length&&!a.suffix.length){a.modifier===3||a.modifier===1?o+=(${l})${vn(a.modifier)}:o+=((?:${l})${vn(a.modifier)});continue}if(a.modifier===3||a.modifier===1){o+=(?:${Wt(a.prefix)}(${l})${Wt(a.suffix)}),o+=vn(a.modifier);continue}o+=(?:${Wt(a.prefix)},o+=((?:${l})(?:,o+=Wt(a.suffix),o+=Wt(a.prefix),o+=(?:${l}))*)${Wt(a.suffix)}),a.modifier===0&&(o+="?")}let n=${Wt(r.endsWith)}|$,s=${Wt(r.delimiter)};if(r.end)return r.strict||(o+=${s}?),r.endsWith.length?o+=(?=${n}):o+="$",new RegExp(o,Kx(r));r.strict||(o+=(?:${s}(?=${n}))?);let i=!1;if(e.length){let a=e[e.length-1];a.type===3&&a.modifier===3&&(i=r.delimiter.indexOf(a)>-1)}return i||(o+=(?=${s}|${n})),new RegExp(o,Kx(r))}var oo={delimiter:"",prefixes:"",sensitive:!0,strict:!0},eS={delimiter:".",prefixes:"",sensitive:!0,strict:!0},tS={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function rS(e,t){return e.length?e[0]==="/"?!0:!t||e.length<2?!1:(e[0]=="\\"||e[0]=="{")&&e[1]=="/":!1}function Zx(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function oS(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}function eb(e){return!e||e.length<2?!1:e[0]==="["||(e[0]==="\\"||e[0]==="{")&&e[1]==="["}var tb=["ftp","file","http","https","ws","wss"];function rb(e){if(!e)return!0;for(let t of tb)if(e.test(t))return!0;return!1}function nS(e,t){if(e=Zx(e,"#"),t||e==="")return e;let r=new URL("https://example.com");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):""}function sS(e,t){if(e=Zx(e,"?"),t||e==="")return e;let r=new URL("https://example.com");return r.search=e,r.search?r.search.substring(1,r.search.length):""}function iS(e,t){return t||e===""?e:eb(e)?sb(e):nb(e)}function aS(e,t){if(t||e==="")return e;let r=new URL("https://example.com");return r.password=e,r.password}function cS(e,t){if(t||e==="")return e;let r=new URL("https://example.com");return r.username=e,r.username}function lS(e,t,r){if(r||e==="")return e;if(t&&!tb.includes(t))return new URL(${t}:${e}).pathname;let o=e[0]=="/";return e=new URL(o?e:"/-"+e,"https://example.com").pathname,o||(e=e.substring(2,e.length)),e}function pS(e,t,r){return ob(t)===e&&(e=""),r||e===""?e:ib(e)}function uS(e,t){return e=oS(e,":"),t||e===""?e:qp(e)}function ob(e){switch(e){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function qp(e){if(e==="")return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(Invalid protocol '${e}'.)}function mS(e){if(e==="")return e;let t=new URL("https://example.com");return t.username=e,t.username}function fS(e){if(e==="")return e;let t=new URL("https://example.com");return t.password=e,t.password}function nb(e){if(e==="")return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw new TypeError(Invalid hostname '${e}');let t=new URL("https://example.com");return t.hostname=e,t.hostname}function sb(e){if(e==="")return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw new TypeError(Invalid IPv6 hostname '${e}');return e.toLowerCase()}function ib(e){if(e===""||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(Invalid port '${e}'.)}function dS(e){if(e==="")return e;let t=new URL("https://example.com");return t.pathname=e[0]!=="/"?"/-"+e:e,e[0]!=="/"?t.pathname.substring(2,t.pathname.length):t.pathname}function hS(e){return e===""?e:new URL(data:${e}).pathname}function gS(e){if(e==="")return e;let t=new URL("https://example.com");return t.search=e,t.search.substring(1,t.search.length)}function yS(e){if(e==="")return e;let t=new URL("https://example.com");return t.hash=e,t.hash.substring(1,t.hash.length)}var xS=class{#i;#o=[];#t={};#e=0;#s=1;#a=0;#n=0;#m=0;#p=0;#f=!1;constructor(e){this.#i=e}get result(){return this.#t}parse(){for(this.#o=Yx(this.#i,!0);this.#e<this.#o.length;this.#e+=this.#s){if(this.#s=1,this.#o[this.#e].type==="END"){if(this.#n===0){this.#g(),this.#u()?this.#r(9,1):this.#d()?this.#r(8,1):this.#r(7,0);continue}else if(this.#n===2){this.#y(5);continue}this.#r(10,0);break}if(this.#m>0)if(this.#T())this.#m-=1;else continue;if(this.#_()){this.#m+=1;continue}switch(this.#n){case 0:this.#w()&&this.#y(1);break;case 1:if(this.#w()){this.#O();let e=7,t=1;this.#R()?(e=2,t=3):this.#f&&(e=2),this.#r(e,t)}break;case 2:this.#b()?this.#y(3):(this.#E()||this.#d()||this.#u())&&this.#y(5);break;case 3:this.#k()?this.#r(4,1):this.#b()&&this.#r(5,1);break;case 4:this.#b()&&this.#r(5,1);break;case 5:this.#P()?this.#p+=1:this.#S()&&(this.#p-=1),this.#v()&&!this.#p?this.#r(6,1):this.#E()?this.#r(7,0):this.#d()?this.#r(8,1):this.#u()&&this.#r(9,1);break;case 6:this.#E()?this.#r(7,0):this.#d()?this.#r(8,1):this.#u()&&this.#r(9,1);break;case 7:this.#d()?this.#r(8,1):this.#u()&&this.#r(9,1);break;case 8:this.#u()&&this.#r(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port="")}#r(e,t){switch(this.#n){case 0:break;case 1:this.#t.protocol=this.#l();break;case 2:break;case 3:this.#t.username=this.#l();break;case 4:this.#t.password=this.#l();break;case 5:this.#t.hostname=this.#l();break;case 6:this.#t.port=this.#l();break;case 7:this.#t.pathname=this.#l();break;case 8:this.#t.search=this.#l();break;case 9:this.#t.hash=this.#l();break;case 10:break}this.#n!==0&&e!==10&&([1,2,3,4].includes(this.#n)&&[6,7,8,9].includes(e)&&(this.#t.hostname??=""),[1,2,3,4,5,6].includes(this.#n)&&[8,9].includes(e)&&(this.#t.pathname??=this.#f?"/":""),[1,2,3,4,5,6,7].includes(this.#n)&&e===9&&(this.#t.search??="")),this.#h(e,t)}#h(e,t){this.#n=e,this.#a=this.#e+t,this.#e+=t,this.#s=0}#g(){this.#e=this.#a,this.#s=0}#y(e){this.#g(),this.#n=e}#x(e){return e<0&&(e=this.#o.length-e),e<this.#o.length?this.#o[e]:this.#o[this.#o.length-1]}#c(e,t){let r=this.#x(e);return r.value===t&&(r.type==="CHAR"||r.type==="ESCAPED_CHAR"||r.type==="INVALID_CHAR")}#w(){return this.#c(this.#e,":")}#R(){return this.#c(this.#e+1,"/")&&this.#c(this.#e+2,"/")}#b(){return this.#c(this.#e,"@")}#k(){return this.#c(this.#e,":")}#v(){return this.#c(this.#e,":")}#E(){return this.#c(this.#e,"/")}#d(){if(this.#c(this.#e,"?"))return!0;if(this.#o[this.#e].value!=="?")return!1;let e=this.#x(this.#e-1);return e.type!=="NAME"&&e.type!=="REGEX"&&e.type!=="CLOSE"&&e.type!=="ASTERISK"}#u(){return this.#c(this.#e,"#")}#_(){return this.#o[this.#e].type=="OPEN"}#T(){return this.#o[this.#e].type=="CLOSE"}#P(){return this.#c(this.#e,"[")}#S(){return this.#c(this.#e,"]")}#l(){let e=this.#o[this.#e],t=this.#x(this.#a).index;return this.#i.substring(t,e.index)}#O(){let e={};Object.assign(e,oo),e.encodePart=qp;let t=ZP(this.#l(),void 0,e);this.#f=rb(t)}},Vp=["protocol","username","password","hostname","port","pathname","search","hash"],ro="*";function Xx(e,t){if(typeof e!="string")throw new TypeError("parameter 1 is not of type 'string'.");let r=new URL(e,t);return{protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search!==""?r.search.substring(1,r.search.length):void 0,hash:r.hash!==""?r.hash.substring(1,r.hash.length):void 0}}function Mr(e,t){return t?ds(e):e}function fs(e,t,r){let o;if(typeof t.baseURL=="string")try{o=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=Mr(o.protocol.substring(0,o.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=Mr(o.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=Mr(o.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=Mr(o.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=Mr(o.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=Mr(o.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=Mr(o.search.substring(1,o.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=Mr(o.hash.substring(1,o.hash.length),r))}catch{throw new TypeError(invalid baseURL '${t.baseURL}'.)}if(typeof t.protocol=="string"&&(e.protocol=uS(t.protocol,r)),typeof t.username=="string"&&(e.username=cS(t.username,r)),typeof t.password=="string"&&(e.password=aS(t.password,r)),typeof t.hostname=="string"&&(e.hostname=iS(t.hostname,r)),typeof t.port=="string"&&(e.port=pS(t.port,e.protocol,r)),typeof t.pathname=="string"){if(e.pathname=t.pathname,o&&!rS(e.pathname,r)){let n=o.pathname.lastIndexOf("/");n>=0&&(e.pathname=Mr(o.pathname.substring(0,n+1),r)+e.pathname)}e.pathname=lS(e.pathname,e.protocol,r)}return typeof t.search=="string"&&(e.search=sS(t.search,r)),typeof t.hash=="string"&&(e.hash=nS(t.hash,r)),e}function ds(e){return e.replace(/([+*?:{}()\\])/g,"\\$1")}function bS(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function ES(e,t){t.delimiter??="/#?",t.prefixes??="./",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith="";let r=".*",o=^${bS(t.delimiter)}+?,n=/[$_\u200C\u200D\p{ID_Continue}]/u,s="";for(let i=0;i<e.length;++i){let a=e[i];if(a.type===3){if(a.modifier===3){s+=ds(a.value);continue}s+={${ds(a.value)}}${vn(a.modifier)};continue}let c=a.hasCustomName(),l=!!a.suffix.length||!!a.prefix.length&&(a.prefix.length!==1||!t.prefixes.includes(a.prefix)),u=i>0?e[i-1]:null,p=i<e.length-1?e[i+1]:null;if(!l&&c&&a.type===1&&a.modifier===3&&p&&!p.prefix.length&&!p.suffix.length)if(p.type===3){let f=p.value.length>0?p.value[0]:"";l=n.test(f)}else l=!p.hasCustomName();if(!l&&!a.prefix.length&&u&&u.type===3){let f=u.value[u.value.length-1];l=t.prefixes.includes(f)}l&&(s+="{"),s+=ds(a.prefix),c&&(s+=:${a.name}),a.type===2?s+=(${a.value}):a.type===1?c||(s+=(${o})):a.type===0&&(!c&&(!u||u.type===3||u.modifier!==3||l||a.prefix!=="")?s+="*":s+=(${r})),a.type===1&&c&&a.suffix.length&&n.test(a.suffix[0])&&(s+="\\"),s+=ds(a.suffix),l&&(s+="}"),a.modifier!==3&&(s+=vn(a.modifier))}return s}var ab=class{#i;#o={};#t={};#e={};#s={};#a=!1;constructor(e={},t,r){try{let o;if(typeof t=="string"?o=t:r=t,typeof e=="string"){let a=new xS(e);if(a.parse(),e=a.result,o===void 0&&typeof e.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");e.baseURL=o}else{if(!e||typeof e!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(o)throw new TypeError("parameter 1 is not of type 'string'.")}typeof r>"u"&&(r={ignoreCase:!1});let n={ignoreCase:r.ignoreCase===!0},s={pathname:ro,protocol:ro,username:ro,password:ro,hostname:ro,port:ro,search:ro,hash:ro};this.#i=fs(s,e,!0),ob(this.#i.protocol)===this.#i.port&&(this.#i.port="");let i;for(i of Vp){if(!(i in this.#i))continue;let a={},c=this.#i[i];switch(this.#t[i]=[],i){case"protocol":Object.assign(a,oo),a.encodePart=qp;break;case"username":Object.assign(a,oo),a.encodePart=mS;break;case"password":Object.assign(a,oo),a.encodePart=fS;break;case"hostname":Object.assign(a,eS),eb(c)?a.encodePart=sb:a.encodePart=nb;break;case"port":Object.assign(a,oo),a.encodePart=ib;break;case"pathname":rb(this.#o.protocol)?(Object.assign(a,tS,n),a.encodePart=dS):(Object.assign(a,oo,n),a.encodePart=hS);break;case"search":Object.assign(a,oo,n),a.encodePart=gS;break;case"hash":Object.assign(a,oo,n),a.encodePart=yS;break}try{this.#s[i]=Jx(c,a),this.#o[i]=Qx(this.#s[i],this.#t[i],a),this.#e[i]=ES(this.#s[i],a),this.#a=this.#a||this.#s[i].some(l=>l.type===2)}catch{throw new TypeError(invalid ${i} pattern '${this.#ii}'.)}}}catch(o){throw new TypeError(Failed to construct 'URLPattern': ${o.message})}}test(e={},t){let r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof e!="string"&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return!1;try{typeof e=="object"?r=fs(r,e,!1):r=fs(r,Xx(e,t),!1)}catch{return!1}let o;for(o of Vp)if(!this.#o[o].exec(r[o]))return!1;return!0}exec(e={},t){let r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof e!="string"&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return;try{typeof e=="object"?r=fs(r,e,!1):r=fs(r,Xx(e,t),!1)}catch{return null}let o={};t?o.inputs=[e,t]:o.inputs=[e];let n;for(n of Vp){let s=this.#o[n].exec(r[n]);if(!s)return null;let i={};for(let[a,c]of this.#t[n].entries())if(typeof c=="string"||typeof c=="number"){let l=s[a+1];i[c]=l}o[n]={input:r[n]??"",groups:i}}return o}static compareComponent(e,t,r){let o=(a,c)=>{for(let l of["type","modifier","prefix","value","suffix"]){if(a[l]<c[l])return-1;if(a[l]!==c[l])return 1}return 0},n=new hs(3,"","","","",3),s=new hs(0,"","","","",3),i=(a,c)=>{let l=0;for(;l<Math.min(a.length,c.length);++l){let u=o(a[l],c[l]);if(u)return u}return a.length===c.length?0:o(a[l]??n,c[l]??n)};return!t.#e[e]&&!r.#e[e]?0:t.#e[e]&&!r.#e[e]?i(t.#s[e],[s]):!t.#e[e]&&r.#e[e]?i([s],r.#s[e]):i(t.#s[e],r.#s[e])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#a}};globalThis.URLPattern||(globalThis.URLPattern=ab);var cb,lb=async(e,t)=>(cb??=Ta({wasm:e,worker:t}),await cb,async r=>{let{outputFiles:o}=await va({entryPoints:[r],format:"esm",bundle:!0,minify:!0,charset:"utf8",plugins:[qy(),qx({fetch:wS,reload:[new URLPattern({hostname:location.hostname}),new URLPattern({hostname:"scrapbox.io"})]})],write:!1});return{contents:o[0].text}}),wS=async(e,t)=>{let r=ex(new URL(e.url))||!GM_fetch?globalThis.fetch:GM_fetch;if(t){let o=await Kp(e);if(o)return o}try{let o=await r(e);return o.ok?(r===GM_fetch&&!e.url.startsWith("data:")&&await Ii(e,o),ce([o,!1])):await Kp(e)??Q({name:"HTTPError",message:${o.status} ${o.statusText},response:o})}catch(o){let n=await Kp(e);if(n)return n;if(o instanceof TypeError)return Q({name:"NetworkError",message:o.message,request:e});if(o instanceof DOMException)return Q({name:"AbortError",message:o.message,request:e});throw o}},Kp=async e=>{if(e.url.startsWith("data:"))return;let t=await Br(e);if(t)return t.url||Object.defineProperty(t,"url",{value:e.url}),ce([t,!0])};var pb=e=>["ts","js","tsx","jsx","mjs","javascript","typescript"].includes(e);var ub=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-check-circle-fill"),e.style.color="hsl(133, 46.1%, 47.3%)",e},mb=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-cross-circle"),e.style.color="hsl(1.7, 64.5%, 58%)",e},fb=()=>{let e=document.createElement("i");return e.classList.add("i","fa","fa-spinner"),e},db=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-play"),e};var hb=()=>{let e;return{show:(o,{x:n,y:s})=>{e=RS(),e.append(kS(o)),e.style.visibility="hidden",document.body.append(e);let{height:i}=e.getBoundingClientRect();e.style.top=${s-i}px,e.style.left=${n}px,e.style.removeProperty("visibility")},hide:async()=>{e?.classList?.remove?.("in"),await new Promise(o=>setTimeout(o,150)),e?.remove?.()}}},RS=()=>{let e=document.createElement("div");return e.setAttribute("role","tooltip"),e.classList.add("fade","in","tooltip","top"),e},kS=e=>{let t=document.createElement("pre");return t.classList.add("tooltip-inner"),t.style.textAlign="unset",t.style.maxWidth="70vw",t.style.margin="unset",t.innerText=e,t};var gb=()=>{let e=document.createElement("a");e.classList.add("tool-btn"),e.type="button",e.setAttribute("aria-haspopup","true");let t=!1,{show:r,hide:o}=hb();return{component:e,setStatus:async(s,i)=>{switch(e.textContent="",await o(),s){case"loading":e.append(fb());break;case"pass":e.append(ub());break;case"fail":e.append(mb());break;case"none":break}i!==void 0&&s!=="none"?(e.style.removeProperty("pointer-events"),e.onclick=async()=>{if(t)await o();else{let{top:a,left:c}=e.getBoundingClientRect();r(i,{y:a+globalThis.scrollY,x:c})}t=!t}):e.style.pointerEvents="none"}}};var yb=e=>{let t=document.createElement("a");return t.classList.add("tool-btn"),t.type="button",t.setAttribute("aria-haspopup","true"),t.append(db()),t.addEventListener("click",e),t};var xb=e=>{let{component:t,setStatus:r}=gb(),o=document.createElement("div");return o.style.position="absolute",o.style.left="-2em",o.style.zIndex="1",o.style.display="flex",o.style.flexFlow="column",o.append(yb(e),t),{menu:o,setStatus:r}};function bb(e){return new Promise(t=>setTimeout(t,e))}function Eb(e,t){let{trailing:r=!1,interval:o=0}=t??{},n,s=!1,i=l=>{n?.resolve?.({executed:!1}),n=l},a=()=>{let{...l}=n;return n=void 0,l},c=async()=>{if(s||!n)return;s=!0,o>0&&await bb(o);let{parameters:l,resolve:u,reject:p}=a();try{let f=await e(...l);s=!1,u({result:f,executed:!0})}catch(f){s=!1,p(f)}finally{r?await c():(i(),await Promise.resolve())}};return(...l)=>new Promise((u,p)=>{i({parameters:l,resolve:u,reject:p}),c()})}var wb,Rb=async(e,t)=>{let r=[],n=Eb(async()=>{r.forEach(({menu:i,setStatus:a})=>{a("none"),i.remove()});let s=uy(scrapbox.Project.name,scrapbox.Page.title??"",ft());for(let i of s){let a=i.lang.toLowerCase();if(pb(a))for(let c of i.startIds){let l=document.getElementById(L${c}),{menu:u,setStatus:p}=xb(async()=>{await p("loading");try{wb??=await lb(e,t);let{contents:f}=await wb(i.path);console.debug("execute:",f),await Function(return (async()=>{${f}})())(),await p("pass")}catch(f){console.error(f),await p("fail",${f})}});r.push({menu:u,setStatus:p}),l?.insertBefore?.(u,l?.firstElementChild)}}await Promise.resolve()},{interval:100,trailing:!0});return await n(),scrapbox.addListener("lines:changed",n),()=>{scrapbox.removeListener("lines:changed",n),r.forEach(({menu:s,setStatus:i})=>{i("none"),s.remove()})}};function _S(e,t){for(var r in t)e[r]=t[r];return e}function kb(e,t){for(var r in e)if(r!=="__source"&&!(r in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function _n(e,t){var r=t(),o=J({t:{__:r,u:t}}),n=o[0].t,s=o[1];return Ri(function(){n.__=r,n.u=t,Xp(n)&&s({t:n})},[e,r,t]),oe(function(){return Xp(n)&&s({t:n}),e(function(){Xp(n)&&s({t:n})})},[e]),r}function Xp(e){var t,r,o=e.u,n=e.__;try{var s=o();return!((t=n)===(r=s)&&(t!==0||1/t==1/r)||t!=t&&r!=r)}catch{return!0}}function vb(e,t){this.props=e,this.context=t}(vb.prototype=new Kt).isPureReactComponent=!0,vb.prototype.shouldComponentUpdate=function(e,t){return kb(this.props,e)||kb(this.state,t)};var _b=Z.__b;Z.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),_b&&_b(e)};var T_e=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;var TS=Z.__e;Z.__e=function(e,t,r,o){if(e.then){for(var n,s=t;s=s.__;)if((n=s.__c)&&n.__c)return t.__e==null&&(t.__e=r.__e,t.__k=r.__k),n.__c(e,t)}TS(e,t,r,o)};var Tb=Z.unmount;function Cb(e,t,r){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=_S({},e)).__c!=null&&(e.__c.__P===r&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return Cb(o,t,r)})),e}function Ab(e,t,r){return e&&r&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return Ab(o,t,r)}),e.__c&&e.__c.__P===t&&(e.__e&&r.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=r)),e}function Yp(){this.__u=0,this.o=null,this.__b=null}function Mb(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Ya(){this.i=null,this.l=null}Z.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Tb&&Tb(e)},(Yp.prototype=new Kt).__c=function(e,t){var r=t.__c,o=this;o.o==null&&(o.o=[]),o.o.push(r);var n=Mb(o.__v),s=!1,i=function(){s||(s=!0,r.__R=null,n?n(a):a())};r.__R=i;var a=function(){if(!--o.__u){if(o.state.__a){var c=o.state.__a;o.__v.__k[0]=Ab(c,c.__c.__P,c.__c.__O)}var l;for(o.setState({__a:o.__b=null});l=o.o.pop();)l.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(i,i)},Yp.prototype.componentWillUnmount=function(){this.o=[]},Yp.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=Cb(this.__b,r,o.__O=o.__P)}this.__b=null}var n=t.__a&&wr(Y,null,e.fallback);return n&&(n.__u&=-33),[wr(Y,null,t.__a?null:e.children),n]};var Pb=function(e,t,r){if(++r[1]===r[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(r=e.i;r;){for(;r.length>3;)r.pop()();if(r[1]<r[0])break;e.i=r=r[2]}};(Ya.prototype=new Kt).__a=function(e){var t=this,r=Mb(t.__v),o=t.l.get(e);return o[0]++,function(n){var s=function(){t.props.revealOrder?(o.push(n),Pb(t,e,o)):n()};r?r(s):s()}},Ya.prototype.render=function(e){this.i=null,this.l=new Map;var t=Dr(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var r=t.length;r--;)this.l.set(t[r],this.i=[1,0,this.i]);return e.children},Ya.prototype.componentDidUpdate=Ya.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,r){Pb(e,r,t)})};var PS=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,SS=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,OS=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,LS=/[A-Z0-9]/g,NS=typeof document<"u",CS=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};Kt.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(Kt.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Sb=Z.event;function AS(){}function MS(){return this.cancelBubble}function IS(){return this.defaultPrevented}Z.event=function(e){return Sb&&(e=Sb(e)),e.persist=AS,e.isPropagationStopped=MS,e.isDefaultPrevented=IS,e.nativeEvent=e};var Ib,US={enumerable:!1,configurable:!0,get:function(){return this.class}},Ob=Z.vnode;Z.vnode=function(e){typeof e.type=="string"&&function(t){var r=t.props,o=t.type,n={},s=o.indexOf("-")===-1;for(var i in r){var a=r[i];if(!(i==="value"&&"defaultValue"in r&&a==null||NS&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var c=i.toLowerCase();i==="defaultValue"&&"value"in r&&r.value==null?i="value":i==="download"&&a===!0?a="":c==="translate"&&a==="no"?a=!1:c[0]==="o"&&c[1]==="n"?c==="ondoubleclick"?i="ondblclick":c!=="onchange"||o!=="input"&&o!=="textarea"||CS(r.type)?c==="onfocus"?i="onfocusin":c==="onblur"?i="onfocusout":OS.test(i)&&(i=c):c=i="oninput":s&&SS.test(i)?i=i.replace(LS,"-$&").toLowerCase():a===null&&(a=void 0),c==="oninput"&&n[i=c]&&(i="oninputCapture"),n[i]=a}}o=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=Dr(r.children).forEach(function(l){l.props.selected=n.value.indexOf(l.props.value)!=-1})),o=="select"&&n.defaultValue!=null&&(n.value=Dr(r.children).forEach(function(l){l.props.selected=n.multiple?n.defaultValue.indexOf(l.props.value)!=-1:n.defaultValue==l.props.value})),r.class&&!r.className?(n.class=r.class,Object.defineProperty(n,"className",US)):(r.className&&!r.class||r.class&&r.className)&&(n.class=n.className=r.className),t.props=n}(e),e.$$typeof=PS,Ob&&Ob(e)};var Lb=Z.__r;Z.__r=function(e){Lb&&Lb(e),Ib=e.__c};var Nb=Z.diffed;Z.diffed=function(e){Nb&&Nb(e);var t=e.props,r=e.__e;r!=null&&e.type==="textarea"&&"value"in t&&t.value!==r.value&&(r.value=t.value==null?"":t.value),Ib=null};var gs=e=>e.replaceAll(" ","_").toLowerCase(),Ub=e=>e.replaceAll("_"," "),Ja=e=>[...e].map((t,r)=>t===" "?"_":!FS.includes(t)||r===e.length-1&&DS.includes(t)?encodeURIComponent(t):t).join(""),FS='@$&+=:;",',DS=':;",';var Fb=({title:e,projects:t,selected:r,confirm:o})=>d("div",{className:candidate${r?" selected":""},children:[d($S,{title:e,confirm:o}),t.map(n=>d(jS,{project:n.name,title:e,mark:n.mark,confirm:n.confirm}))]}),$S=({title:e,confirm:t})=>d("a",{className:"button",tabIndex:0,role:"menuitem",href:./${Ja(e)},onClick:Db(t),children:e}),jS=({project:e,title:t,mark:r,confirm:o})=>r===""?d(Y,{}):d("a",{className:"mark",tabIndex:0,href:../${e}/${Ja(t)},onClick:Db(o),title:/${e}/${Ja(t)},children:r instanceof URL?d("img",{src:r.href}):${r}}),Db=e=>U(t=>{t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||(t.preventDefault(),t.stopPropagation(),e())},[e]);var $b=(e,t)=>{let[r,o]=J(null),n=U(c=>o(l=>{if(e.length===0)return null;if(l===null)return t(e[0]);let u=e.findIndex(p=>t(p)===l);return t(c?.cyclic?e[(u+1)%e.length]:e.at(u+1)??e[0])}),[e,t]),s=U(c=>o(l=>{if(e.length===0)return null;if(l===null)return t(e[e.length-1]);let u=e.findIndex(p=>t(p)===l);return u<0?t(e[e.length-1]):t(c?.cyclic?e[(u-1+e.length)%e.length]:e.at(u-1)??e[e.length-1])}),[e,t]),i=U(()=>o(e.length===0?null:t(e[0])),[e,t]),a=U(()=>o(e.length===0?null:t(e[e.length-1])),[e,t]);return{selectedId:r,next:n,prev:s,selectFirst:i,selectLast:a}};var jb=e=>{let[t,r]=J(null),o=C(()=>{let n=t?.getBoundingClientRect?.(),i=Kn(e.line,e.char)?.getBoundingClientRect?.();return!i||!n?{}:{top:${i.bottom-n.top}px,left:${i?.left??0-n.left}px,right:${n.right-(i?.left??0)}px}},[t,e.line,e.char]);return{updateStandardElement:r,...o}};var Qp="enableProjectsOnSuggestion",Bb=(e,t)=>{let[r,o]=J(Qa([...e],t)),n=U((s,i)=>{BS(s,i,e,t),o(Qa([...e],t))},[e,t.enableSelfProjectOnStart]);return oe(()=>{let s=i=>{i.key===Qp&&o(Qa([...e],t))};return addEventListener("storage",s),()=>removeEventListener("storage",s)},[e,t.enableSelfProjectOnStart]),{projects:r,set:n}},Jp=!0,Qa=(e,t)=>{try{let r=localStorage.getItem(Qp);if(r===null)return Za(e),e;let o=JSON.parse(r);return Array.isArray(o)&&o.every(n=>typeof n=="string")?!t.enableSelfProjectOnStart||!e.includes(scrapbox.Project.name)?o:o.includes(scrapbox.Project.name)?Jp?o:o.filter(n=>n!==scrapbox.Project.name):Jp?[...o,scrapbox.Project.name]:o:(Za(e),e)}catch(r){if(!(r instanceof TypeError))throw r;return Za(e),e}},BS=(e,t,r,o)=>{let n=Qa([...r],o);o.enableSelfProjectOnStart&&e===scrapbox.Project.name&&(Jp=t),Za(t?[...n,e]:n.filter(s=>s!==e))},Za=e=>localStorage.setItem(Qp,JSON.stringify(e));var Hb=()=>C(()=>document.documentElement.dataset.os??"",[]);var ys=(e,t)=>{if(e instanceof URL)return e;try{return new URL(e)}catch(r){if(!(r instanceof TypeError))throw r;if(!t||!/^\.\/|^\.\.\/|^\//.test(e))return e;try{return new URL(e,t)}catch(o){if(!(o instanceof TypeError))throw o;return e}}};var Wb=({progress:e})=>d("div",{className:"progress",style:background: linear-gradient(to right, var(--select-suggest-border-color, #eee) ${(e*100).toPrecision(3)}%, transparent ${(e*100).toPrecision(3)}%)});var Vb=({position:e,start:t,enableSelfProjectOnStart:r,projects:o,...n})=>{let{projects:s,set:i}=Bb(o,{enableSelfProjectOnStart:r}),{updateStandardElement:a,top:c,left:l,right:u}=jb({line:e.line,char:t}),p=Hb();return d(Y,{children:[d(WS,{itemCount:n.items.length,enableProjects:s,projects:o,top:c,right:u,set:i,os:p,...n}),d(HS,{updateStandardElement:a,start:t,enableProjects:s,projects:o,top:c,left:l,os:p,...n})]})},HS=({start:e,updateStandardElement:t,confirmAfter:r,cancel:o,query:n,enableProjects:s,projects:i,items:a,top:c,left:l,progress:u,callback:p,limit:f,mark:m,os:h})=>{let g=U((P,_,T)=>{let S=[${_?/${_}/${P}:P}${T?.icon?".icon":""}];r((A,{line:M})=>[${...A.slice(0,e).join("")}${S}${...A.slice(e+...n.length).join("")},{line:M,char:e+[...S].length}])},[e,n]),y=C(()=>i.size>1||!i.has(scrapbox.Project.name),[i]),x=C(()=>{let P=[];for(let _ of a){if(P.length===f)break;_.projects.some(T=>s.includes(T))&&P.push({title:_.title,projects:_.projects.flatMap(T=>s.includes(T)?[{name:T,mark:y?ys(m[T]??"",import.meta.url)||T[0]:"",confirm:S=>g(_.title,T,S)}]:[]),confirm:T=>g(_.title,void 0,T)})}return P},[s,y,a,f,m,g]),{selectedId:E,next:k,prev:b,selectLast:v,selectFirst:R}=$b(x,Gb),O=U(P=>E===null?!1:(x.find(_=>Gb(_)===E)?.confirm?.(P),!0),[E,x]);oe(()=>p(x.length===0?void 0:{selectNext:P=>(k(P),!0),selectPrev:P=>(b(P),!0),selectFirst:()=>(R(),!0),selectLast:()=>(v(),!0),confirm:O,cancel:()=>(o(),!0)}),[p,x.length,k,b,R,v,O]);let L=C(()=>x.length>0&&c!=null&&l!=null?{top:c,left:l}:{display:"none"},[x.length,c,l]),N=U(P=>{if(!P){t(P);return}let _=P.parentNode;if(!(_ instanceof ShadowRoot))throw Error('The parent of "div.container" must be ShadowRoot');t(_.host.parentElement)},[t]);return d("div",{ref:N,className:"container candidates","data-os":h,style:L,children:[x.map(P=>d(Fb,{...P,selected:E===P.title},P.title)),a.length>f&&d("div",{className:"counter",children:${a.length-f} more links}),d(Wb,{progress:u})]})},WS=({enableProjects:e,projects:t,projectScore:r,mark:o,itemCount:n,top:s,right:i,set:a,os:c,freezeUntil:l})=>{let u=C(()=>[...t].sort((f,m)=>(r.get(m)??0)-(r.get(f)??0)).flatMap(f=>r.has(f)?[{name:f,enable:e.includes(f),mark:ys(o[f]??"",import.meta.url)||f[0],score:r.get(f),onClick:()=>l(()=>{a(f,!e.includes(f)),qe().focus()})}]:[]),[t,r,e,o]),p=C(()=>n>0&&s!=null&&i!=null&&t.size>1?{top:s,right:i}:{display:"none"},[s,i,n,t.size]);return d("div",{className:"container projects","data-os":c,style:p,children:u.map(f=>d(GS,{...f},f.name))})},GS=e=>d("div",{className:e.enable?"mark":"mark disabled","data-score":e.score.toPrecision(3),onClick:e.onClick,title:e.name,children:e.mark instanceof URL?d("img",{src:e.mark.href}):${e.mark}}),Gb=e=>e.title;var zb=function(){};function bs(e,t={}){zb.prototype.name=e;let r={};return new Proxy(zb,{get(o,n){return n==="caller"?null:n==="__createMock__"?bs:n==="__unenv__"?!0:n in t?t[n]:r[n]=r[n]||bs(${e}.${n.toString()})},apply(o,n,s){return bs(${e}())},construct(o,n,s){return bs(${e})},enumerate(){return[]}})}var Zp=bs("mock");function VS(e){return new Error(unenv ${e} is not implemented yet!)}function me(e){return Object.assign(()=>{throw VS(e)},{__unenv__:!0})}var zS=Object.freeze(Object.create(null,{__unenv__:{get:()=>!0}})),ec=Object.create(null),qS=globalThis.process?.env,xs=e=>qS||globalThis.__env__||(e?ec:globalThis),KS=new Proxy(ec,{get(e,t){return xs()[t]??ec[t]},has(e,t){let r=xs();return t in r||t in ec},set(e,t,r){let o=xs(!0);return o[t]=r,!0},deleteProperty(e,t){let r=xs(!0);return delete r[t],!0},ownKeys(){let e=xs();return Object.keys(e)}}),XS=Object.assign(function(e){let t=Date.now(),r=Math.trunc(t/1e3),o=t%1e3*1e6;if(e){let n=r-e[0],s=o-e[0];return s<0&&(n=n-1,s=1e9+s),[n,s]}return[r,o]},{bigint:function(){return BigInt(Date.now()*1e6)}}),YS=globalThis.queueMicrotask?(e,...t)=>{globalThis.queueMicrotask(e.bind(void 0,...t))}:JS();function JS(){let e=[],t=!1,r,o=-1;function n(){!t||!r||(t=!1,r.length>0?e=[...r,...e]:o=-1,e.length>0&&s())}function s(){if(t)return;let i=setTimeout(n);t=!0;let a=e.length;for(;a;){for(r=e,e=[];++o<a;)r&&r[o]();o=-1,a=e.length}r=void 0,t=!1,clearTimeout(i)}return(i,...a)=>{e.push(i.bind(void 0,...a)),e.length===1&&!t&&setTimeout(s)}}var QS="unenv",ZS=[],eO="",tO={ares:"",http_parser:"",icu:"",modules:"",node:"",openssl:"",uv:"",v8:"",zlib:""};function er(){return eu}var rO=er,oO=er,nO=er,sO=er,iO=er,aO=er,cO=function(e){return e==="message"||e==="multipleResolves"?eu:!1},lO=er,pO=er,uO=function(e){return[]},mO=()=>0,fO=function(e){throw new Error("[unenv] process.binding is not supported")},qb="/",dO=function(){return qb},hO=function(e){qb=e},gO=function(){return 0},yO=function(){return 1e3},xO=function(){return 1e3},bO=function(){return 1e3},EO=function(){return 1e3},wO=function(){return[]},RO=e=>{},kO=me("process.abort"),vO=new Set,_O="",TO="",PO=zS,SO=!1,OO=()=>0,LO=()=>0,NO=me("process.cpuUsage"),CO=0,AO=me("process.dlopen"),MO=er,IO=er,UO=me("process.eventNames"),FO=[],DO="",$O=me("process.exit"),jO=Object.create({inspector:void 0,debug:void 0,uv:void 0,ipv6:void 0,tls_alpn:void 0,tls_sni:void 0,tls_ocsp:void 0,tls:void 0,cached_builtins:void 0}),BO=()=>[],HO=me("process.getMaxListeners"),WO=me("process.kill"),GO=Object.assign(()=>({arrayBuffers:0,rss:0,external:0,heapTotal:0,heapUsed:0}),{rss:()=>0}),VO=1e3,zO="",qO=1e3,KO=me("process.rawListeners"),XO=Object.create({name:"",lts:"",sourceUrl:void 0,headersUrl:void 0}),YO=Object.create({compact:void 0,directory:void 0,filename:void 0,getReport:me("process.report.getReport"),reportOnFatalError:void 0,reportOnSignal:void 0,reportOnUncaughtException:void 0,signal:void 0,writeReport:me("process.report.writeReport")}),JO=me("process.resourceUsage"),QO=me("process.setegid"),ZO=me("process.seteuid"),eL=me("process.setgid"),tL=me("process.setgroups"),rL=me("process.setuid"),oL=me("process.setMaxListeners"),nL=me("process.setSourceMapsEnabled"),sL=Zp.__createMock__("process.stdout"),iL=Zp.__createMock__("process.stderr"),aL=Zp.__createMock__("process.stdin"),cL=!1,lL=()=>0,pL=0,uL=me("process.setUncaughtExceptionCaptureCallback"),mL=()=>!1,fL=!1,dL=me("process.loadEnvFile"),hL=void 0,gL={has:()=>!1},yL={ref(){},unref(){}},xL=!1,bL={register(){},unregister(){},registerBeforeExit(){}},EL=me("process.assert"),wL=me("process.openStdin"),RL=me("process._debugEnd"),kL=me("process._debugProcess"),vL=me("process._fatalException"),_L=me("process._getActiveHandles"),TL=me("process._getActiveRequests"),PL=me("process._kill"),SL=[],OL=me("process._rawDebug"),LL=me("process._startProfilerIdleNotifier"),NL=me("process.__stopProfilerIdleNotifier"),CL=me("process._tickCallback"),ETe=me("process._linkedBinding"),AL=void 0,ML=me("process.initgroups"),IL=[],UL=er,FL=!1,DL=[],$L=0,jL=0,eu={_events:DL,_eventsCount:$L,_exiting:FL,_maxListeners:jL,_debugEnd:RL,_debugProcess:kL,_fatalException:vL,_getActiveHandles:_L,_getActiveRequests:TL,_kill:PL,_preload_modules:SL,_rawDebug:OL,_startProfilerIdleNotifier:LL,_stopProfilerIdleNotifier:NL,_tickCallback:CL,domain:AL,initgroups:ML,moduleLoadList:IL,reallyExit:UL,exitCode:pL,abort:kO,addListener:oO,allowedNodeEnvironmentFlags:vO,hasUncaughtExceptionCaptureCallback:mL,setUncaughtExceptionCaptureCallback:uL,loadEnvFile:dL,sourceMapsEnabled:fL,throwDeprecation:xL,mainModule:hL,permission:gL,channel:yL,arch:_O,argv:ZS,argv0:TO,assert:EL,binding:fO,chdir:hO,config:PO,connected:SO,constrainedMemory:OO,availableMemory:LO,cpuUsage:NO,cwd:dO,debugPort:CO,dlopen:AO,disconnect:MO,emit:cO,emitWarning:IO,env:KS,eventNames:UO,execArgv:FO,execPath:DO,exit:$O,finalization:bL,features:jO,getBuiltinModule:RO,getegid:yO,geteuid:xO,getgid:bO,getgroups:wO,getuid:EO,getActiveResourcesInfo:BO,getMaxListeners:HO,hrtime:XS,kill:WO,listeners:uO,listenerCount:mO,memoryUsage:GO,nextTick:YS,on:rO,off:sO,once:nO,openStdin:wL,pid:VO,platform:zO,ppid:qO,prependListener:lO,prependOnceListener:pO,rawListeners:KO,release:XO,removeAllListeners:aO,removeListener:iO,report:YO,resourceUsage:JO,setegid:QO,seteuid:ZO,setgid:eL,setgroups:tL,setuid:rL,setMaxListeners:oL,setSourceMapsEnabled:nL,stderr:iL,stdin:aL,stdout:sL,title:QS,traceDeprecation:cL,umask:gO,uptime:lL,version:eO,versions:tO},Es=eu;var BL=Object.create,Zb=Object.defineProperty,HL=Object.getOwnPropertyDescriptor,WL=Object.getOwnPropertyNames,GL=Object.getPrototypeOf,VL=Object.prototype.hasOwnProperty,eE=(e=>typeof io<"u"?io:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof io<"u"?io:t)[r]}):e)(function(e){if(typeof io<"u")return io.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),tE=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),zL=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of WL(t))!VL.call(e,n)&&n!==r&&Zb(e,n,{get:()=>t[n],enumerable:!(o=HL(t,n))||o.enumerable});return e},rE=(e,t,r)=>(r=e!=null?BL(GL(e)):{},zL(t||!e||!e.__esModule?Zb(r,"default",{value:e,enumerable:!0}):r,e)),qL=tE((e,t)=>{var r=null;if(typeof window>"u"&&("process"in globalThis&&"versions"in Es&&"node"in Es.versions&&typeof globalThis.caches>"u"&&typeof globalThis.addEventListener!="function"||"Bun"in globalThis))try{r=[eE][0](${"node","util".join(":")})}catch{r=null}t.exports=r}),KL=tE((e,t)=>{var r=null;if(typeof window>"u"&&("process"in globalThis&&"versions"in Es&&"node"in Es.versions&&typeof globalThis.caches>"u"&&typeof globalThis.addEventListener!="function"||"Bun"in globalThis))try{r=[eE][0](${"node","fs".join(":")})}catch{r=null}t.exports=r}),XL={},tc=YL(globalThis,XL);function YL(e,t){return new Proxy(e,{get(r,o,n){return o in t?t[o]:e[o]},set(r,o,n){return o in t&&delete t[o],e[o]=n,!0},deleteProperty(r,o){let n=!1;return o in t&&(delete t[o],n=!0),o in e&&(delete e[o],n=!0),n},ownKeys(r){let o=Reflect.ownKeys(e),n=Reflect.ownKeys(t),s=new Set(n);return[...o.filter(i=>!s.has(i)),...n]},defineProperty(r,o,n){return o in t&&delete t[o],Reflect.defineProperty(e,o,n),!0},getOwnPropertyDescriptor(r,o){return o in t?Reflect.getOwnPropertyDescriptor(t,o):Reflect.getOwnPropertyDescriptor(e,o)},has(r,o){return o in t||o in e}})}var Kb=["debug","info","warning","error","fatal"];function Xb(e,t){let r=Kb.indexOf(e);if(r<0)throw new TypeError(Invalid log level: ${JSON.stringify(e)}.);let o=Kb.indexOf(t);if(o<0)throw new TypeError(Invalid log level: ${JSON.stringify(t)}.);return r-o}function ws(e=[]){return oE.getLogger(e)}var tu=Symbol.for("logtape.rootLogger"),oE=class no{static getLogger(t=[]){let r=tu in tc?tc[tu]??null:null;return r==null&&(r=new no(null,[]),tc[tu]=r),typeof t=="string"?r.getChild(t):t.length===0?r:r.getChild(t)}constructor(t,r){Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"children",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"category",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sinks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parentSinks",{enumerable:!0,configurable:!0,writable:!0,value:"inherit"}),Object.defineProperty(this,"filters",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lowestLevel",{enumerable:!0,configurable:!0,writable:!0,value:"debug"}),Object.defineProperty(this,"contextLocalStorage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.parent=t,this.children={},this.category=r,this.sinks=[],this.filters=[]}getChild(t){let r=typeof t=="string"?t:t[0],o=this.children[r],n=o instanceof no?o:o?.deref();return n==null&&(n=new no(this,[...this.category,r]),this.children[r]="WeakRef"in tc?new WeakRef(n):n),typeof t=="string"||t.length===1?n:n.getChild(t.slice(1))}reset(){for(;this.sinks.length>0;)this.sinks.shift();for(this.parentSinks="inherit";this.filters.length>0;)this.filters.shift();this.lowestLevel="debug"}resetDescendants(){for(let t of Object.values(this.children))(t instanceof no?t:t.deref())?.resetDescendants();this.reset()}with(t){return new JL(this,{...t})}filter(t){for(let r of this.filters)if(!r(t))return!1;return this.filters.length<1?this.parent?.filter(t)??!0:!0}*getSinks(t){if(!(this.lowestLevel===null||Xb(t,this.lowestLevel)<0)){if(this.parent!=null&&this.parentSinks==="inherit")for(let r of this.parent.getSinks(t))yield r;for(let r of this.sinks)yield r}}emit(t,r){if(!(this.lowestLevel===null||Xb(t.level,this.lowestLevel)<0||!this.filter(t))){for(let o of this.getSinks(t.level))if(!r?.has(o))try{o(t)}catch(n){let s=new Set(r);s.add(o),QL.log("fatal","Failed to emit a log record to sink {sink}: {error}",{sink:o,error:n,record:t},s)}}}log(t,r,o,n){let s=no.getLogger().contextLocalStorage?.getStore()??{},i,a=typeof o=="function"?{category:this.category,level:t,timestamp:Date.now(),get message(){return Yb(r,this.properties)},rawMessage:r,get properties(){return i==null&&(i={...s,...o()}),i}}:{category:this.category,level:t,timestamp:Date.now(),message:Yb(r,{...s,...o}),rawMessage:r,properties:{...s,...o}};this.emit(a,n)}logLazily(t,r,o={}){let n=no.getLogger().contextLocalStorage?.getStore()??{},s,i;function a(){if((i==null||s==null)&&(i=r((c,...l)=>(s=c,Jb(c,l))),s==null))throw new TypeError("No log record was made.");return[i,s]}this.emit({category:this.category,level:t,get message(){return a()[0]},get rawMessage(){return a()[1]},timestamp:Date.now(),properties:{...n,...o}})}logTemplate(t,r,o,n={}){let s=no.getLogger().contextLocalStorage?.getStore()??{};this.emit({category:this.category,level:t,message:Jb(r,o),rawMessage:r,timestamp:Date.now(),properties:{...s,...n}})}debug(t,...r){typeof t=="string"?this.log("debug",t,r[0]??{}):typeof t=="function"?this.logLazily("debug",t):this.logTemplate("debug",t,r)}info(t,...r){typeof t=="string"?this.log("info",t,r[0]??{}):typeof t=="function"?this.logLazily("info",t):this.logTemplate("info",t,r)}warn(t,...r){typeof t=="string"?this.log("warning",t,r[0]??{}):typeof t=="function"?this.logLazily("warning",t):this.logTemplate("warning",t,r)}error(t,...r){typeof t=="string"?this.log("error",t,r[0]??{}):typeof t=="function"?this.logLazily("error",t):this.logTemplate("error",t,r)}fatal(t,...r){typeof t=="string"?this.log("fatal",t,r[0]??{}):typeof t=="function"?this.logLazily("fatal",t):this.logTemplate("fatal",t,r)}},JL=class nE{constructor(t,r){Object.defineProperty(this,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"properties",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.logger=t,this.properties=r}get category(){return this.logger.category}get parent(){return this.logger.parent}getChild(t){return this.logger.getChild(t).with(this.properties)}with(t){return new nE(this.logger,{...this.properties,...t})}log(t,r,o,n){this.logger.log(t,r,typeof o=="function"?()=>({...this.properties,...o()}):{...this.properties,...o},n)}logLazily(t,r){this.logger.logLazily(t,r,this.properties)}logTemplate(t,r,o){this.logger.logTemplate(t,r,o,this.properties)}debug(t,...r){typeof t=="string"?this.log("debug",t,r[0]??{}):typeof t=="function"?this.logLazily("debug",t):this.logTemplate("debug",t,r)}info(t,...r){typeof t=="string"?this.log("info",t,r[0]??{}):typeof t=="function"?this.logLazily("info",t):this.logTemplate("info",t,r)}warn(t,...r){typeof t=="string"?this.log("warning",t,r[0]??{}):typeof t=="function"?this.logLazily("warning",t):this.logTemplate("warning",t,r)}error(t,...r){typeof t=="string"?this.log("error",t,r[0]??{}):typeof t=="function"?this.logLazily("error",t):this.logTemplate("error",t,r)}fatal(t,...r){typeof t=="string"?this.log("fatal",t,r[0]??{}):typeof t=="function"?this.logLazily("fatal",t):this.logTemplate("fatal",t,r)}},QL=oE.getLogger(["logtape","meta"]);function Yb(e,t){let r=[],o="";for(let n=0;n<e.length;n++){let s=e.charAt(n),i=e.charAt(n+1);if(s==="{"&&i==="{")o=o+s,n++;else if(s==="}"&&i==="}")o=o+s,n++;else if(s==="{")r.push(o),o="";else if(s==="}"){let a;o.match(/^\s|\s$/)?a=o in t?t[o]:t[o.trim()]:a=t[o],r.push(a),o=""}else o=o+s}return r.push(o),r}function Jb(e,t){let r=[];for(let o=0;o<e.length;o++)r.push(e[o]),o<t.length&&r.push(t[o]);return r}var ZL=rE(qL()),rc=ZL.default,Qb={debug:"DBG",info:"INF",warning:"WRN",error:"ERR",fatal:"FTL"},sE="Deno"in globalThis&&"inspect"in globalThis.Deno&&typeof globalThis.Deno.inspect=="function"?(e,t)=>globalThis.Deno.inspect(e,{strAbbreviateSize:1/0,iterableLimit:1/0,...t}):rc!=null&&"inspect"in rc&&typeof rc.inspect=="function"?(e,t)=>rc.inspect(e,{maxArrayLength:1/0,maxStringLength:1/0,...t}):e=>JSON.stringify(e);function iE(e={}){let t=e.timestamp==null||e.timestamp==="date-time-timezone"?i=>new Date(i).toISOString().replace("T"," ").replace("Z"," +00:00"):e.timestamp==="date-time-tz"?i=>new Date(i).toISOString().replace("T"," ").replace("Z"," +00"):e.timestamp==="date-time"?i=>new Date(i).toISOString().replace("T"," ").replace("Z",""):e.timestamp==="time-timezone"?i=>new Date(i).toISOString().replace(/.*T/,"").replace("Z"," +00:00"):e.timestamp==="time-tz"?i=>new Date(i).toISOString().replace(/.*T/,"").replace("Z"," +00"):e.timestamp==="time"?i=>new Date(i).toISOString().replace(/.*T/,"").replace("Z",""):e.timestamp==="date"?i=>new Date(i).toISOString().replace(/T.*/,""):e.timestamp==="rfc3339"?i=>new Date(i).toISOString():e.timestamp,r=e.category??"·",o=e.value??sE,n=e.level==null||e.level==="ABBR"?i=>Qb[i]:e.level==="abbr"?i=>Qb[i].toLowerCase():e.level==="FULL"?i=>i.toUpperCase():e.level==="full"?i=>i:e.level==="L"?i=>i.charAt(0).toUpperCase():e.level==="l"?i=>i.charAt(0):e.level,s=e.format??(({timestamp:i,level:a,category:c,message:l})=>${i} ${a} ${c}: ${l});return i=>{let a="";for(let p=0;p<i.message.length;p++)p%2===0?a+=i.message[p]:a+=o(i.message[p]);let c=t(i.timestamp),l=n(i.level),u=typeof r=="function"?r(i.category):i.category.join(r);return${s({timestamp:c,level:l,category:u,message:a,record:i})} }}var kTe=iE(),ru="\x1B[0m",ou={black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},nu={bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",strikethrough:"\x1B[9m"},eN={debug:"blue",info:"green",warning:"yellow",error:"red",fatal:"magenta"};function tN(e={}){let t=e.format,r=typeof e.timestampStyle>"u"?"dim":e.timestampStyle,o=e.timestampColor??null,n=${r==null?"":nur}${o==null?"":ouo},s=r==null&&o==null?"":ru,i=typeof e.levelStyle>"u"?"bold":e.levelStyle,a=e.levelColors??eN,c=typeof e.categoryStyle>"u"?"dim":e.categoryStyle,l=e.categoryColor??null,u=${c==null?"":nuc}${l==null?"":oul},p=c==null&&l==null?"":ru;return iE({timestamp:"date-time-tz",value(f){return sE(f,{colors:!0})},...e,format({timestamp:f,level:m,category:h,message:g,record:y}){let x=a[y.level];return f=${n}${f}${s},m=${i==null?"":nui}${x==null?"":oux}${m}${i==null&&x==null?"":ru},t==null?${f} ${m} ${u}${h}:${p} ${g}:t({timestamp:f,level:m,category:${u}${h}${p},message:g,record:y})}})}var vTe=tN();var rN=rE(KL()),oN=rN.default;function Tn(){throw new Error("File sink is not available in the browser.")}var nN={openSync:Tn,writeSync:Tn,flushSync:Tn,closeSync:Tn,statSync:Tn,renameSync:Tn},$o=oN,_Te=$o==null?nN:{openSync(e){return $o.openSync(e,"a")},writeSync:$o.writeSync,flushSync:$o.fsyncSync,closeSync:$o.closeSync,statSync:$o.statSync,renameSync:$o.renameSync};var oc="null",M0e=yn+oc,aN=Cr+oc,I0e=xn+oc,U0e=bn+oc;var nc="undefined",B0e=yn+nc,cN=Cr+nc,H0e=xn+nc,W0e=bn+nc;async function*cE(e){let t=[],r=[],o=new Map,n=[];for(let s of e)s.isValid&&(s.id?s.isMember||t.push(s.id):r.push(s.name),n.push(s.name),o.set(s.name,s.checked));for(let s=0;s<t.length;s+=50){let i=t.slice(s,s+50);if(i.length===0)break;i.length===1&&i.push(i[0]);let a=await ii(i);if(kt(a)){r=n;break}for(let c of Io(a).projects)o.has(c.name)&&(yield Et({...c,checked:o.get(c.name)??0}))}for(let s of r){let i=await xr(s);yield Qe(i)?Et({...Io(i),checked:o.get(s)??0}):Nt({...wn(i),project:s})}}var au=(e,t)=>t.some(r=>e instanceof r),lE,pE;function pN(){return lE||(lE=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function uN(){return pE||(pE=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var cu=new WeakMap,su=new WeakMap,sc=new WeakMap;function mN(e){let t=new Promise((r,o)=>{let n=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(so(e.result)),n()},i=()=>{o(e.error),n()};e.addEventListener("success",s),e.addEventListener("error",i)});return sc.set(t,e),t}function fN(e){if(cu.has(e))return;let t=new Promise((r,o)=>{let n=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),n()},i=()=>{o(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});cu.set(e,t)}var lu={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return cu.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return so(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function dE(e){lu=e(lu)}function dN(e){return uN().includes(e)?function(...t){return e.apply(pu(this),t),so(this.request)}:function(...t){return so(e.apply(pu(this),t))}}function hN(e){return typeof e=="function"?dN(e):(e instanceof IDBTransaction&&fN(e),au(e,pN())?new Proxy(e,lu):e)}function so(e){if(e instanceof IDBRequest)return mN(e);if(su.has(e))return su.get(e);let t=hN(e);return t!==e&&(su.set(e,t),sc.set(t,e)),t}var pu=e=>sc.get(e);function hE(e,t,{blocked:r,upgrade:o,blocking:n,terminated:s}={}){let i=indexedDB.open(e,t),a=so(i);return o&&i.addEventListener("upgradeneeded",c=>{o(so(i.result),c.oldVersion,c.newVersion,so(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),n&&c.addEventListener("versionchange",l=>n(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function gE(e,{blocked:t}={}){let r=indexedDB.deleteDatabase(e);return t&&r.addEventListener("blocked",o=>t(o.oldVersion,o)),so(r).then(()=>{})}var gN=["get","getKey","getAll","getAllKeys","count"],yN=["put","add","delete","clear"],iu=new Map;function uE(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(iu.get(t))return iu.get(t);let r=t.replace(/FromIndex$/,""),o=t!==r,n=yN.includes(r);if(!(r in(o?IDBIndex:IDBObjectStore).prototype)||!(n||gN.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,n?"readwrite":"readonly"),l=c.store;return o&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),n&&c.done]))[0]};return iu.set(t,s),s}dE(e=>({...e,get:(t,r,o)=>uE(t,r)||e.get(t,r,o),has:(t,r)=>!!uE(t,r)||e.has(t,r)}));var xN=["continue","continuePrimaryKey","advance"],mE={},uu=new WeakMap,yE=new WeakMap,bN={get(e,t){if(!xN.includes(t))return e[t];let r=mE[t];return r||(r=mE[t]=function(...o){uu.set(this,yE.get(this)[t](...o))}),r}};async function*EN(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,bN);for(yE.set(r,t),sc.set(r,pu(t));t;)yield r,t=await(uu.get(r)||t.continue()),uu.delete(r)}function fE(e,t){return t===Symbol.asyncIterator&&au(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&au(e,[IDBIndex,IDBObjectStore])}dE(e=>({...e,get(t,r,o){return fE(t,r)?EN:e.get(t,r,o)},has(t,r){return fE(t,r)||e.has(t,r)}}));var xE,mu=async()=>{let e=ws(["@takker/cosense-storage","open"]);return xE??=await hE("scrapbox-storage",4,{upgrade(t,r,o){e.infostart updating DB: ${r} -> ${o};let n=Date.now();for(let a of t.objectStoreNames)t.deleteObjectStore(a);t.createObjectStore("titles",{keyPath:"id"}).createIndex("project","project");let i=t.createObjectStore("projects",{keyPath:"id"});i.createIndex("checked","checked"),i.createIndex("name","name"),e.infofinish updating DB: ${Date.now()-n}ms},blocked(t,r){let o=The database "@takker/cosense-storage"(v${r}) is blocked because the older one (v${t}) is opened in other tabs. Please close the other tabs and reload this page.;e.error(o),alert(o)},blocking(t,r){let o=The database "@takker/cosense-storage"(v${t}) is blocking the newer one (v${r}) opened.
Please close this page.;e.error(o),alert(o)}}),xE};var ac=(e,t)=>(fu||(fu=new BroadcastChannel(EE),fu.addEventListener("message",r=>bE(r.data))),ic.set(t,new Set(e).union(ic.get(t)??new Set)),()=>ic.delete(t)),du=(e,t)=>{if((t.added?.size??0)+(t.updated?.size??0)+(t.deleted?.size??0)===0)return;let r={type:"links:changed",project:e,diff:t};bE(r);let o=new BroadcastChannel(EE);o.postMessage(r),o.close()},bE=e=>{for(let[t,r]of ic)r.has(e.project)&&t(e)},EE="scrapbox-storage-notify",fu,ic=new Map;function hu(e){return Math.trunc(+D(e)/1e3)}var cc=async(e,t)=>{let r=await mu(),o=ws(["@takker/cosense-storage","check"]),n=new Map;try{{o.debugcheck updates of links...;let i=new Set,a=r.transaction("projects","readwrite"),c=hu(new Date),l=c-600;for await(let f of a.store.index("checked").iterate(IDBKeyRange.lowerBound(l,!0))){let m=f.value;if(m.isValid===!1){i.add(m.id);continue}i.add(m.name);let h=m.checked;if(h+t>c||m?.updating&&h>l)continue;let g=structuredClone(m);g.updating=!0,n.set(m.id,g),f.update(g)}let u=[],p=a.store.index("name");for(let f of e)i.has(f)||u.push(p.get(f).then(m=>{m?.updating&&(m?.checked??0)>l||n.set(f,m??wN(f))}));if(await Promise.all(u),await a.done,n.size===0){o.debugchecked. No project needs upgrade.;return}o.debugchecked. ${n.size} projects maybe need upgrade.}let s=hu(new Date);for await(let i of cE(n.values())){if(kt(i)){let{project:h,name:g}=wn(i);switch(g){default:continue;case"NotFoundError":o.warn("${h}" is not found.);break;case"NotMemberError":o.warn(You are not a member of "${h}".);break;case"NotLoggedInError":o.warn(You are not a member of "${h}" or You are not logged in yet.);break}n.set(h,{id:h,name:h,checked:s,updating:!1,isValid:!1,reason:g});continue}let{checked:a,...c}=Io(i);if(c.updated<a){o.debugno updates in "${c.name}",n.set(c.name,{...c,isValid:!0,checked:s,updating:!1});continue}o.debugstart downloading and storing links of "${c.name}";let l=new Set(await r.getAllKeysFromIndex("titles","project",c.name)),u=0,p=0;for await(let h of Sf(c.name)){if(kt(h)){let{name:E,message:k}=wn(h);o.errorFailed to get links of "${c.name}" with ${E}: ${k};break}let g=Io(h),y={},x=r.transaction("titles","readwrite");await Promise.all(g.map(async E=>{let k={...E,project:c.name},b=await x.store.get(E.id);if(!b)return y.added?.set?.(E.id,k)??(y.added=new Map([[E.id,k]])),x.store.add(k);if(l.delete(E.id),!!RN(k,b))return y.updated?.set?.(E.id,[b,k])??(y.updated=new Map([[E.id,[b,k]]])),x.store.put(k)})),await x.done,u+=y.added?.size??0,p+=y.updated?.size??0,o.debugUpdating "/${c.name}": +${u} pages, ~${p} pages,du(c.name,y)}let f=r.transaction("titles","readwrite"),m=new Map((await Promise.all([...l].map(async h=>{let g=await f.store.get(h);if(!g)return[];let y=[[h,g]];return await f.store.delete(h),y}))).flat());await f.done,o.debugFinish downloading and storing links of "${c.name}",o.debugUpdate "/${c.name}": +${u} pages, ~${p} pages, -${m.size} pages,n.set(c.name,{...c,isValid:!0,checked:s,updating:!1}),du(c.name,{deleted:m})}}finally{let s=r.transaction("projects","readwrite");await Promise.all([...n].map(([,i])=>(i.updating=!1,s.store.put({...i})))),await s.done}},Pn=async e=>{let t=[...new Set(e)];if(t.length===0)return[];let r=Date.now(),n=(await mu()).transaction("titles","readonly"),s=n.store.index("project"),i=(await Promise.all(t.map(c=>s.getAll(c)))).flat();return await n.done,ws(["@takker/cosense-storage","load"]).debugRead ${i.length} links from ${t.length} projects in ${Date.now()-r}ms,i},wN=e=>({name:e,displayName:e,id:"",isValid:!0,publicVisible:!0,isMember:!0,loginStrategies:[],theme:"default",gyazoTeamsName:null,translation:!0,infobox:!0,checked:0,updated:0,created:0,updating:!0}),RN=(e,t)=>e.updated>t.updated||e.links.sort().join()!==t.links.sort().join();gE("userscript-links").catch(e=>console.error(e));var kN=Fr("scrapbox-select-suggestion:useSource.ts"),RE=e=>_n(...C(()=>{let t=[];return[n=>{let s=Pn(e).then(i=>{let a=vN(i);return t=[...a.values()],n(),a});return cc(e,600),ac(e,({diff:i})=>s=s.then(a=>(kN.debug(Update: +${i.added?.size??0} pages, ~${i.updated?.size??0} pages, -${i.deleted?.size??0} pages),a=_N(a,i),t=[...a.values()],n(),a)))},()=>t]},[e])),vN=e=>{let t=new Map;for(let r of e)gu(t,r);return t},_N=(e,t)=>{let r=new Map(e);if(t.added)for(let[,o]of t.added)gu(r,o);if(t.updated)for(let[,[o,n]]of t.updated)wE(r,o),gu(r,n);if(t.deleted)for(let[,o]of t.deleted)wE(r,o);return r},gu=(e,t)=>{let r=gs(t.title),o=e.get(r);if((o?.updated??0)>t.updated)return;let n=o?.metadata??new Map;n.set(t.project,{image:t.image}),e.set(r,{title:t.title,titleLc:r,updated:t.updated,linked:o?.linked??0,metadata:n});for(let s of t.links){let i=gs(s),a=e.get(i),c=a?.metadata??new Map;c.set(t.project,c.get(t.project)??{image:t.image}),e.set(i,{title:a?.title??s,titleLc:i,updated:a?.updated??0,linked:(a?.linked??0)+1,metadata:c})}},wE=(e,t)=>{let r=gs(t.title),o=e.get(r);if(!o||(o.updated??0)>t.updated)return;let n=o.metadata;n.delete(t.project),n.size<=0?e.delete(r):e.set(r,{title:o.title,titleLc:r,updated:t.updated,linked:o.linked,metadata:n});for(let s of t.links){let i=gs(s),a=e.get(i);if(!a)continue;let c=a.metadata;c.delete(t.project),c.size<=0?e.delete(i):e.set(i,{title:a.title,titleLc:i,updated:t.updated,linked:a.linked-1,metadata:c})}};var kE=e=>{let t=C(()=>ys(e.style,import.meta.url),[e.style]);return d(Y,{children:t!==""&&(t instanceof URL?d("link",{rel:"stylesheet",href:t.href}):d("style",{children:t}))})};var vE=()=>d("style",{children:.container {
position: absolute;
margin-top: 14px;
max-height: 80vh;
z-index: 301;
background-color: var(--select-suggest-bg, #111); font-family: var(--select-suggest-font-family, "Open Sans", Helvetica, Arial, "Hiragino Sans", sans-serif);
font-size: 14px;
color: var(--select-suggest-text-color, #eee); border-radius: 4px;
}
.candidates {
max-width: 80vw;
}
font-size:11px;
}
.projects {
margin-right: 4px;
display: grid;
grid-template-rows: repeat(4, min-content);
grid-auto-flow: column;
direction: rtl;
}
padding: 6px;
}
.candidates > :not(:first-child) {
border-top: 1px solid var(--select-suggest-border-color, #eee); }
.candidates > *{
line-height: 1.2em;
padding: 0.5em 10px;
}
.candidate {
display: flex;
}
a {
display: block;
text-decoration: none;
color: inherit;
}
a:not(.mark) {
width: 100%;
}
.selected a {
background-color: var(--select-suggest-selected-bg, #222); text-decoration: underline
}
img {
height: 1.3em;
width: 1.3em;
position: relative;
object-fit: cover;
object-position: 0% 0%;
}
.disabled {
filter: grayscale(1.0) opacity(0.5);
}
.counter {
color: var(--select-suggest-information-text-color, #aaa); font-size: 80%;
font-style: italic;
}
padding: unset;
border: unset;
height: 0.5px;
transition: background 0.1s;
}});function*_E(e){if(!("nodes"in e))return;let t=0;function*r(o){for(let n of Array.isArray(o)?o:[o]){if(typeof n=="string"){t+=[...n].length;continue}switch(n.type){case"link":yield{whole:n.unit.whole,start:t},t+=[...n.unit.whole].length;break;case"indent":case"quote":t+=[...n.unit.tag].length,yield*r(n.children);break;case"deco":t+=[...n.unit.deco].length+2,yield*r(n.children),t++;break;case"strong":t+=2,yield*r(n.children),t+=2;break;default:t+=[...n.unit.whole].length;break}}}yield*r(e.nodes)}var TE=(e,t)=>{if(t.type==="unlock"){if(!e.lock)return e;let{lock:i,...a}=e;return{...a}}if(e.lock)return e;switch(t.type){case"lock":{let{lock:i,...a}=e;return{lock:!0,...a}}case"enable":return e.type==="disabled"&&e.isManuallyDisabled?{type:"ready"}:e;case"disable":return e.type==="disabled"&&e.isManuallyDisabled?e:{type:"disabled",isManuallyDisabled:!0}}if(e.type==="disabled")return e.isManuallyDisabled||!t.lines?e:{type:"ready"};if(t.type==="cancel")return e.type==="completion"?{type:"cancelled",context:e.context}:e;if(!t.lines)return{type:"disabled"};let r=Math.min(t.range.start.char,t.range.end.char),o=Math.max(t.range.start.char,t.range.end.char),n=t.lines?t.range.start.line!==t.range.end.line?
:[...t.lines[t.range.start.line].text].slice(r,o).join(""):"";if(PN(t.lines[t.position.line],n)&&e.type!=="cancelled")return{type:"completion",context:"selection",query:n,start:r,position:t.position};if(n!=="")return e.type==="completion"?{type:"ready"}:e;let s=TN(t.lines[t.position.line],t.position.char);return s?e.type==="cancelled"&&e.context==="input"?e:e.type==="completion"||t.type==="lines:changed"?{type:"completion",context:"input",query:s.whole,start:s.start,position:t.position}:e.type==="ready"?e:{type:"ready"}:e.type==="ready"?e:{type:"ready"}},TN=(e,t)=>{for(let{whole:r,start:o}of _E(e))if(!(t<=o||o+[...r].length<=t))return{whole:r,start:o}},PN=(e,t)=>!(t.trim()===""||t.includes(
)||"codeBlock"in e||"title"in e||"tableBlock"in e&&e.tableBlock.start);var PE=()=>{let e=Ve(scrapbox.Page.lines),t=Ve(!1);return oe(()=>{let r=()=>{t.current=!0};return scrapbox.addListener("lines:changed",r),scrapbox.addListener("layout:changed",r),()=>{scrapbox.removeListener("lines:changed",r),scrapbox.removeListener("layout:changed",r)}},[]),U(()=>(t.current&&(e.current=scrapbox.Page.lines,t.current=!1),e.current??void 0),[])};var SN=Fr("scrapbox-select-suggestion:useLifecycle.ts"),SE=()=>{let[e,t]=$r(TE,{type:"ready"}),r=PE(),o=C(()=>{let i;return a=>{i!==void 0&&clearTimeout(i),i=setTimeout(()=>{let{cursor:c,selection:l}=xt();t({type:a,lines:r(),range:l.getRange({normalizeOrder:!0}),position:c.getPosition()})},a==="cursor:changed"?100:void 0)}},[]);oe(()=>{let i=()=>{o("lines:changed")};scrapbox.addListener("lines:changed",i),scrapbox.addListener("layout:changed",i);let a=()=>{o("selection:changed")},c=Ui();return c.addChangeListener(a),()=>{scrapbox.removeListener("lines:changed",i),scrapbox.removeListener("layout:changed",i),c.removeChangeListener(a)}},[]),oe(()=>{if(e.context!=="input")return;let i=()=>{o("cursor:changed")},a=Hr();return a.addChangeListener(i),()=>a.removeChangeListener(i)},[e.context]);let[n,s]=J(e);return n!==e&&(s(e),SN.debug("Detect changes",e)),{state:e,setEnable:U(i=>t({type:i?"enable":"disable"}),[]),cancel:U(()=>t({type:"cancel"}),[]),freezeUntil:U(i=>{t({type:"lock"});let a=i();if(a instanceof Promise)return a.then(()=>{t({type:"unlock"})});t({type:"unlock"})},[]),confirmAfter:U(async i=>{let a=r();if(!a)return;t({type:"lock"});let{cursor:c,selection:l}=xt(),u=c.getPosition().line,p=a[u].text,[f,m]=i(p,c.getPosition());l.setRange({start:{line:u,char:0},end:{line:u,char:[...p].length}}),await He(f),c.setPosition(m),c.focus(),t({type:"unlock"}),t({type:"cancel"})},[])}};var OE=(e,t)=>{let r=e.dist-t.dist;if(r!==0)return r;let o=e.matches.map(([i])=>i).sort(),n=t.matches.map(([i])=>i).sort();for(let i=0;i<o.length;i++){let a=o[i]-(n[i]??n.length);if(a!==0)return a}let s=e.title.length-t.title.length;return s!==0?s:t.updated-e.updated};var LE=e=>{let t=new Map,r=[...e].reverse();{let i=1;for(let a of r){t.set(a,(t.get(a)??0)|i);let c=a.toLowerCase();t.set(c,(t.get(c)??0)|i);let l=a.toUpperCase();t.set(l,(t.get(l)??0)|i),i<<=1}}let o=r.length,n=~(-1<<o),s=1<<o-1;return i=>{let a=0,c=n,l=[...i].reverse(),u=[],p=l.length;u[p]=o;for(let f of l){let m=t.get(f)??0,h=m|a,g=(m&c)+c^c|m,y=a|~(g|c),x=c&g;u[p-1]=u[p]+(y&s?1:x&s?-1:0),c=x<<1|~(h|y<<1),a=y<<1&h,p--}return u}};var ON=[0,0,0,1,1,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6],NE=e=>{let t=Ub(e.trim()).split(/\s+/).sort((r,o)=>o.length-r.length);if(!(t.length===0||t.every(r=>r==="")))return r=>{let o=[...r];for(let n of t)o=LN(n,o);return o}},LN=(e,t)=>{let r=[...e].length,o=ON[r],n=LE(e);return t.flatMap(({title:s,dist:i,matches:a,...c})=>{a??=[],i??=0;let l=n(s).flatMap((p,f)=>p<=o&&a.every(([m,h])=>f+r<=m||h<f)?[[f,p]]:[]);if(l.length===0)return[];let u=l.reduce((p,[f,m])=>(p.dist<=m||(p.dist=m,p.start=f),p),{dist:r,start:0});return a.push([u.start,u.start+r-1]),[{title:s,dist:u.dist+i,matches:a,...c}]})};var NN=Fr("scrapbox-select-suggestion:cancelableSearch.ts");async function*CE(e,t,r){let o=NE(e);if(!o)return;let n=r?.chunk??1e3,s=Math.floor(t.length/n)+1,i=0,a=new Date;try{for(;i<s;i++)await new Promise(c=>requestAnimationFrame(c)),yield[o(t.slice(i*n,(i+1)*n)),(i+1)/s]}finally{let l=new Date().getTime()-a.getTime();NN.debug(search ${(i/s*100).toPrecision(3)}% of the source for "${e}" in ${l}ms)}}var AE=(e,t)=>{let r=t?.interval??0,o=t?.maxQueued??1/0,n,s,i=[],a=(...c)=>{if(!n)return n=(async()=>{do{await new Promise(m=>{let h=setTimeout(m,r);s=()=>{for(clearTimeout(h);i.length>0;)i.shift()("discarded");m()}});let f=i.pop();if(!f)break;f("delayed")}while(i.length>0);n=void 0})(),new Promise(f=>f(e.call(a,...c,"immediate")));for(;i.length>Math.max(o,0);)i.shift()("discarded");let{promise:l,resolve:u,reject:p}=Promise.withResolvers();return i.push(f=>{try{u(e.call(a,...c,f))}catch(m){p(m)}}),l};return a.clear=()=>{s?.()},Object.defineProperty(a,"ready",{get:()=>n}),a};var jo=e=>"query"in e,ME=e=>(t,r)=>{if("query"in r){let i=jo(t)?t.query:"";if(r.query===i)return t;let a=jo(t)?t.job:void 0;if(!r.query)return a?.abort?.(),{source:t.source};let{run:c,abort:l}=e(r.query,t.source,!1),u=a?.abort?.()?.then?.(c)??c();return{query:r.query,source:t.source,job:{done:u,abort:()=>(l(),u)},progress:0,candidates:!i||!jo(t)?[]:t.candidates}}if("source"in r){if(!jo(t))return r.source===t.source?t:r;let{source:i,job:a,...c}=t;if(r.source===i)return t;let{run:l,abort:u}=e(c.query,r.source,!0),p=a.done.then(l);return{source:r.source,job:{done:p,abort:()=>a.abort().then(()=>(u(),p))},...c}}if(!jo(t))return t;if(!r.candidates){let{progress:i,...a}=t;return i===r.progress?t:{progress:r.progress,...a}}let{candidates:o,progress:n,...s}=t;return o===r.candidates&&n===r.progress?t:{candidates:r.candidates??o,progress:r.progress,...s}};var CN=Fr("scrapbox-select-suggestion:useSearch.ts"),IE=e=>{let t=U((n,s,i)=>{let a=!1,c=CE(n,s,{chunk:5e3});return{run:async()=>{if(i){let p=[];for await(let[f]of c){if(a)return;p.push(...f)}o({progress:1,candidates:p});return}let l=AE((p,f)=>{f!=="discarded"&&(a||o(p))},{interval:500,maxQueued:0}),u=[];for await(let[p,f]of c){if(a)return;u=[...u,...p],o({progress:f}),p.length!==0&&l({progress:f,candidates:u})}l({progress:1,candidates:u})},abort:()=>a=!0}},[]),[r,o]=$r(C(()=>ME(t),[t]),{source:e});return[C(()=>{if(!jo(r))return;let[n,s]=AN(r.candidates);return CN.debug("Detect changes",{progress:r.progress,items:s}),{progress:r.progress,projectScore:n,items:s}},[r]),{search:U(n=>o({query:n}),[]),update:U(n=>o({source:n}),[])}]},AN=e=>{let t=new Map,r=[];for(let o of e.sort(OE)){let n=[...o.metadata.keys()];for(let s of n)t.set(s,(t.get(s)??0)+.5**o.dist);r.push({title:o.title,dist:o.dist,projects:n})}return[t,r]};var UE=(e,t)=>{let r=Ve({...t});oe(()=>(Object.assign(r.current,t),()=>{for(let o of Object.keys(t))delete r.current[o]}),[...Object.keys(t)].sort().map(o=>t[o])),oe(()=>{e(r.current)},[e])};var MN={selectNext:()=>!1,selectPrev:()=>!1,selectFirst:()=>!1,selectLast:()=>!1,confirm:()=>!1,cancel:()=>!1},FE=e=>{let t=RE(e.projects),[r,{update:o,search:n}]=IE(t),{state:s,setEnable:i,...a}=SE();o(t),n(s.type==="completion"?s.context==="input"?s.query.slice(1,-1):s.query:"");let[c,l]=J(),{callback:u,style:p,...f}=e;return UE(u,{enable:U(()=>i(!0),[]),disable:U(()=>i(!1),[]),...s.type!=="completion"||!c?MN:c}),d(Y,{children:[d(vE,{}),d(kE,{style:p}),s.type==="completion"&&r&&d(Vb,{callback:l,...r,...s,...a,...f})]})};var DE=e=>{let t=document.createElement("div");t.dataset.userscriptName="scrapbox-select-suggestion";let r=t.attachShadow({mode:"open"});document.body.append(t);let{limit:o=5,debug:n=!1,mark:s={},style:i="",enableSelfProjectOnStart:a=!0}=e??{},c=new Set([...a?[scrapbox.Project.name]:[],...e?.projects??[scrapbox.Project.name]]);return hi(n),new Promise(l=>mt(d(FE,{limit:o,projects:c,mark:s,style:i,callback:l,enableSelfProjectOnStart:a}),r))};var Mt=e=>e.flatMap(t=>{let r=t.slice(1),o=Math.min(...r.map(n=>n.text.length-n.text.trimStart().length));return r.map(n=>n.text.slice(o))}).join(
).trim();function*$E(e,t){for(let[r,o]of t.entries()){let n=e.get(r);if(n&&Mt(n.blocks)===Mt(o)){yield{changed:!1,filename:r};continue}yield{changed:!0,filename:r}}for(let r of e.keys())t.has(r)||(yield{changed:!0,filename:r})}var lc={};Ds(lc,{getTitle:()=>yf,parse:()=>Be});var jE=e=>{let t=new Map;if(e.length===0)return t;let r=Be(e.map(n=>n.text).join(
),{hasTitle:!0}),o=0;for(let n of r)switch(n.type){case"title":case"line":o++;break;case"table":o+=n.cells.length+1;break;case"codeBlock":{let s=t.get(n.fileName)??[],i=n.content.split(
).length+1;s.push(e.slice(o,o+i)),t.set(n.fileName,s),o+=i;break}}return t};var BE=e=>{let t,r,o=async()=>{for(;t;){let[n,s]=t;t=void 0;try{let i=await e(...n);s({type:"resolve",value:i})}catch(i){s({type:"reject",value:i})}}r=void 0};return(...n)=>{let{resolve:s,promise:i}=Promise.withResolvers();return t?.[1]?.({type:"cancel"}),t=[n,s],r??=o(),i}};var pc=class{constructor(t,r){this._filename=t;this._preview=BE(async(o,n,s)=>(this._dispose=await r(s?{filename:this.filename,before:o,after:n,render:(...i)=>{s.textContent="",s.append(...i)}}:{filename:this.filename,before:o}),!1))}get filename(){return this._filename}get blocks(){return this._blocks??[]}async update(t){if(await this._dispose?.(),!t||Mt(t)===""){let a=await this._preview(this.blocks);if(a.type==="cancel")return a;if(a.type==="reject")throw a.value;return this._area?.remove?.(),this._style?.remove?.(),this._area=void 0,this._style=void 0,this._blocks=void 0,{type:"resolve",value:!0}}let r=this.blocks;this._blocks=t,this.makeStyle();let o=this.makeArea(),n=t.at(0)?.at?.(-1)?.id,s=vr(n);if(!s)throw new Error("div.lines#L${n}" could not be found.);s.insertAdjacentElement("afterend",o);let i=()=>{let a=s.getElementsByClassName("indent")[0];a instanceof HTMLElement&&(o.style.marginLeft=a.style.marginLeft)};return this._observer?.disconnect?.(),i(),this._observer=new MutationObserver(i),this._observer.observe(s,{childList:!0,subtree:!0}),this._preview(r,t,o)}makeArea(){if(this._area)return this._area;let t=document.createElement("div");return t.classList.add("scrap-run"),t.dataset.filename=this.filename,this._area=t,t}makeStyle(){let t=this.blocks.flatMap(o=>o.slice(1).map(({id:n})=>#L${n})),r=this.blocks.flatMap(o=>o.map(({id:n})=>#L${n}));this._style||(this._style=document.createElement("style"),document.head.append(this._style)),this._style.textContent=.lines:not(:has(:is(${...r.join(",")}).cursor-line)) :is(${...t.join(",")}){display:none}}_blocks;_dispose;_preview;_area;_observer;_style};var HE=({previewers:e})=>{let t=new Map,r=()=>{let s=jE(ft());for(let{changed:i,filename:a}of $E(t,s)){if(!i)continue;let c=s.get(a),l=t.get(a);if(!l){if(!c)continue;let u=e.find(({when:p})=>p.test(a))?.preview;if(!u)continue;l=new pc(a,u),t.set(a,l)}l.update(c).then(u=>{switch(u.type){case"resolve":u.value&&t.delete(a);return;case"reject":throw u.value;case"cancel":return}})}},o=()=>{if(scrapbox.Layout!=="page"){scrapbox.off("lines:changed",r);return}r(),scrapbox.on("lines:changed",r)};o(),scrapbox.on("page:changed",o);let n=document.createElement("style");return n.textContent=".scrap-run{display:block;width:95%}",document.head.append(n),()=>{scrapbox.off("page:changed",o),n.remove()}};var Rs=e=>{let t=new FileReader,r=new Promise(o=>t.onload=()=>o(t.result));return t.readAsDataURL(e),r};var WE=async e=>{if(!("after"in e))return;let t=Mt(e.after),o=new DOMParser().parseFromString(t,"image/svg+xml").querySelector("parsererror");if(o){let i=document.createElement("pre"),a=document.createElement("code");a.innerText=o.innerHTML,i.append(a),e.render(i);return}let n=await Rs(new Blob([t],{type:"image/svg+xml"})),s=document.createElement("img");s.src=n,e.render(s)};var yu={};Ds(yu,{default:()=>zE});var pC=Object.create,VE=Object.defineProperty,uC=Object.getOwnPropertyDescriptor,mC=Object.getOwnPropertyNames,fC=Object.getPrototypeOf,dC=Object.prototype.hasOwnProperty,hC=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),gC=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of mC(t))!dC.call(e,n)&&n!==r&&VE(e,n,{get:()=>t[n],enumerable:!(o=uC(t,n))||o.enumerable});return e},yC=(e,t,r)=>(r=e!=null?pC(fC(e)):{},gC(t||!e||!e.__esModule?VE(r,"default",{value:e,enumerable:!0}):r,e)),xC=hC((e,t)=>{t.exports=o;var r=Object.prototype.toString;function o(n){if(!n)return!1;var s=r.call(n);return s==="[object Function]"||typeof n=="function"&&s!=="[object RegExp]"||typeof window<"u"&&(n===window.setTimeout||n===window.alert||n===window.confirm||n===window.prompt)}}),GE=yC(xC()),zE=GE.default??GE;var xu={};Ds(xu,{default:()=>XE});var bC=Object.create,KE=Object.defineProperty,EC=Object.getOwnPropertyDescriptor,wC=Object.getOwnPropertyNames,RC=Object.getPrototypeOf,kC=Object.prototype.hasOwnProperty,vC=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_C=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of wC(t))!kC.call(e,n)&&n!==r&&KE(e,n,{get:()=>t[n],enumerable:!(o=EC(t,n))||o.enumerable});return e},TC=(e,t,r)=>(r=e!=null?bC(RC(e)):{},_C(t||!e||!e.__esModule?KE(r,"default",{value:e,enumerable:!0}):r,e)),PC=vC((e,t)=>{var r=function(n){return n.replace(/^\s+|\s+$/g,"")},o=function(n){return Object.prototype.toString.call(n)==="[object Array]"};t.exports=function(n){if(!n)return{};for(var s=Object.create(null),i=r(n).split( ),a=0;a<i.length;a++){var c=i[a],l=c.indexOf(":"),u=r(c.slice(0,l)).toLowerCase(),p=r(c.slice(l+1));typeof s[u]>"u"?s[u]=p:o(s[u])?s[u].push(p):s[u]=[s[u],p]}return s}}),qE=TC(PC()),XE=qE.default??qE;var SC=(()=>{var e=globalThis;return{default:e}})(),OC=(()=>{var e=(...t)=>Object.assign({},...t);return{default:e}})(),Sn=e=>{let t=o=>typeof o.default<"u"?o.default:o,r=o=>Object.assign({__esModule:!0},o);switch(e){case"npm:global/window":return t(SC);case"is-function":return t(yu);case"parse-headers":return t(xu);case"npm:xtend":return t(OC);default:return console.error('module "'+e+'" not found'),null}},LC=Object.create,JE=Object.defineProperty,NC=Object.getOwnPropertyDescriptor,CC=Object.getOwnPropertyNames,AC=Object.getPrototypeOf,MC=Object.prototype.hasOwnProperty,uc=(e=>typeof Sn<"u"?Sn:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof Sn<"u"?Sn:t)[r]}):e)(function(e){if(typeof Sn<"u")return Sn.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),IC=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),UC=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of CC(t))!MC.call(e,n)&&n!==r&&JE(e,n,{get:()=>t[n],enumerable:!(o=NC(t,n))||o.enumerable});return e},FC=(e,t,r)=>(r=e!=null?LC(AC(e)):{},UC(t||!e||!e.__esModule?JE(r,"default",{value:e,enumerable:!0}):r,e)),DC=IC((e,t)=>{"use strict";var r=uc("npm:global/window"),o=uc("is-function"),n=uc("parse-headers"),s=uc("npm:xtend");t.exports=l,t.exports.default=l,l.XMLHttpRequest=r.XMLHttpRequest||f,l.XDomainRequest="withCredentials"in new l.XMLHttpRequest?l.XMLHttpRequest:r.XDomainRequest,i(["get","put","post","patch","head","delete"],function(m){l[m==="delete"?"del":m]=function(h,g,y){return g=c(h,g,y),g.method=m.toUpperCase(),u(g)}});function i(m,h){for(var g=0;g<m.length;g++)h(m[g])}function a(m){for(var h in m)if(m.hasOwnProperty(h))return!1;return!0}function c(m,h,g){var y=m;return o(h)?(g=h,typeof m=="string"&&(y={uri:m})):y=s(h,{uri:m}),y.callback=g,y}function l(m,h,g){return h=c(m,h,g),u(h)}function u(m){if(typeof m.callback>"u")throw new Error("callback argument missing");var h=!1,g=function(M,$,I){h||(h=!0,m.callback(M,$,I))};function y(){b.readyState===4&&setTimeout(k,0)}function x(){var M=void 0;if(b.response?M=b.response:M=b.responseText||p(b),T)try{M=JSON.parse(M)}catch{}return M}function E(M){return clearTimeout(S),M instanceof Error||(M=new Error(""+(M||"Unknown XMLHttpRequest Error"))),M.statusCode=0,g(M,A)}function k(){if(!R){var M;clearTimeout(S),m.useXDR&&b.status===void 0?M=200:M=b.status===1223?204:b.status;var $=A,I=null;return M!==0?($={body:x(),statusCode:M,method:L,headers:{},url:O,rawRequest:b},b.getAllResponseHeaders&&($.headers=n(b.getAllResponseHeaders()))):I=new Error("Internal XMLHttpRequest Error"),g(I,$,$.body)}}var b=m.xhr||null;b||(m.cors||m.useXDR?b=new l.XDomainRequest:b=new l.XMLHttpRequest);var v,R,O=b.url=m.uri||m.url,L=b.method=m.method||"GET",N=m.body||m.data,P=b.headers=m.headers||{},_=!!m.sync,T=!1,S,A={body:void 0,headers:{},statusCode:0,method:L,url:O,rawRequest:b};if("json"in m&&m.json!==!1&&(T=!0,P.accept||P.Accept||(P.Accept="application/json"),L!=="GET"&&L!=="HEAD"&&(P["content-type"]||P["Content-Type"]||(P["Content-Type"]="application/json"),N=JSON.stringify(m.json===!0?N:m.json))),b.onreadystatechange=y,b.onload=k,b.onerror=E,b.onprogress=function(){},b.onabort=function(){R=!0},b.ontimeout=E,b.open(L,O,!_,m.username,m.password),_||(b.withCredentials=!!m.withCredentials),!_&&m.timeout>0&&(S=setTimeout(function(){if(!R){R=!0,b.abort("timeout");var M=new Error("XMLHttpRequest timeout");M.code="ETIMEDOUT",E(M)}},m.timeout)),b.setRequestHeader)for(v in P)P.hasOwnProperty(v)&&b.setRequestHeader(v,P[v]);else if(m.headers&&!a(m.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in m&&(b.responseType=m.responseType),"beforeSend"in m&&typeof m.beforeSend=="function"&&m.beforeSend(b),b.send(N||null),b}function p(m){try{if(m.responseType==="document")return m.responseXML;var h=m.responseXML&&m.responseXML.documentElement.nodeName==="parsererror";if(m.responseType===""&&!h)return m.responseXML}catch{}return null}function f(){}}),YE=FC(DC()),mc=YE.default??YE;var fc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},oAe=function(){function e(r){this.value=r}function t(r){var o,n;function s(c,l){return new Promise(function(u,p){var f={key:c,arg:l,resolve:u,reject:p,next:null};n?n=n.next=f:(o=n=f,i(c,l))})}function i(c,l){try{var u=r[c](l),p=u.value;p instanceof e?Promise.resolve(p.value).then(function(f){i("next",f)},function(f){i("throw",f)}):a(u.done?"return":"normal",u.value)}catch(f){a("throw",f)}}function a(c,l){switch(c){case"return":o.resolve({value:l,done:!0});break;case"throw":o.reject(l);break;default:o.resolve({value:l,done:!1});break}o=o.next,o?i(o.key,o.arg):n=null}this._invoke=s,typeof r.return!="function"&&(this.return=void 0)}return typeof Symbol=="function"&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(r){return this._invoke("next",r)},t.prototype.throw=function(r){return this._invoke("throw",r)},t.prototype.return=function(r){return this._invoke("return",r)},{wrap:function(r){return function(){return new t(r.apply(this,arguments))}},await:function(r){return new e(r)}}}(),ew=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},tw=function(){function e(t,r){for(var o=0;o<r.length;o++){var n=r[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,r,o){return r&&e(t.prototype,r),o&&e(t,o),t}}(),bu=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}else return Array.from(e)},ks="";function $C(e){return
<table style="background-color: #8CE; width: 100%; height: 100%;"><tr> <td align="center">
<div style="display: table-cell; vertical-align: middle;">
<div style="">+e+</div>
</div>
</td></tr></table>
}var jC=
This page requires a browser that supports WebGL.<br/>
,BC=
It does not appear your computer can support WebGL.<br/>
,HC=1,WC=2;function GC(e,t,r){function o(i){var a=e.parentNode;a&&(a.innerHTML=$C(i))}function n(i,a){typeof r=="function"?r(i):o(a)}if(!window.WebGLRenderingContext)return n(HC,jC),null;var s=VC(e,t);return s?s.getExtension("OES_standard_derivatives"):n(WC,BC),s}function VC(e,t){for(var r=["webgl","experimental-webgl"],o=null,n=0;n<r.length;++n)try{o=e.getContext(r[n],t)}catch{if(o)break}return o}function On(e,t,r,o){var n=e.gl,s=n.createShader(r);n.shaderSource(s,t),n.compileShader(s);var i=n.getShaderParameter(s,n.COMPILE_STATUS);return i?s:(ks=n.getShaderInfoLog(s),console.error("*** Error compiling shader "+s+":"+ks),e.trigger("error",{shader:s,source:t,type:r,error:ks,offset:o||0}),n.deleteShader(s),null)}function QE(e,t,r,o){for(var n=e.gl,s=n.createProgram(),i=0;i<t.length;++i)n.attachShader(s,t[i]);if(r)for(var a=0;a<r.length;++a)n.bindAttribLocation(s,o?o[a]:a,r[a]);n.linkProgram(s);var c=n.getProgramParameter(s,n.LINK_STATUS);return c?s:(ks=n.getProgramInfoLog(s),console.log("Error in program linking:"+ks),n.deleteProgram(s),null)}function Eu(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=[];for(var o in e){var n=e[o],s=void 0;if(t&&(o=t+"."+o),typeof n=="number")r.push({type:"float",method:"1f",name:o,value:n});else if(Array.isArray(n)){if(typeof n[0]=="number")n.length===1?r.push({type:"float",method:"1f",name:o,value:n}):n.length>=2&&n.length<=4?r.push({type:"vec"+n.length,method:n.length+"fv",name:o,value:n}):n.length>4&&r.push({type:"float[]",method:"1fv",name:o+"[0]",value:n});else if(typeof n[0]=="string")r.push({type:"sampler2D",method:"1i",name:o,value:n});else if(Array.isArray(n[0])&&typeof n[0][0]=="number"){if(n[0].length>=2&&n[0].length<=4)for(s=0;s<n.length;s++)r.push({type:"vec"+n[0].length,method:n[s].length+"fv",name:o+"["+s+"]",value:n[s]})}else if(fc(n[0])==="object")for(s=0;s<n.length;s++)r.push.apply(r,bu(Eu(n[s],o+"["+s+"]")))}else typeof n=="boolean"?r.push({type:"bool",method:"1i",name:o,value:n}):typeof n=="string"?r.push({type:"sampler2D",method:"1i",name:o,value:n}):(typeof n>"u"?"undefined":fc(n))==="object"&&r.push.apply(r,bu(Eu(n,o)))}return r}function zC(e){var t=e.getBoundingClientRect();return t.top+t.height>0&&t.top<(window.innerHeight||document.documentElement.clientHeight)}function ZE(e){return(e&e-1)===0}function qC(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function KC(e,t){return e&&t?e.toString()!==t.toString():!1}function XC(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(),t.status==200?t.responseText:""}function rw(e){var t=new Set;return Object.assign(e,{on:function(r,o){var n={};n[r]=o,t.add(n)},off:function(r,o){if(o){var n={};n[r]=o,t.delete(n)}else{var s=!0,i=!1,a=void 0;try{for(var c=t[Symbol.iterator](),l;!(s=(l=c.next()).done);s=!0){var u=l.value,p=!0,f=!1,m=void 0;try{for(var h=Object.keys(u)[Symbol.iterator](),g;!(p=(g=h.next()).done);p=!0){var y=g.value;if(y===r){t.delete(u);return}}}catch(x){f=!0,m=x}finally{try{!p&&h.return&&h.return()}finally{if(f)throw m}}}}catch(x){i=!0,a=x}finally{try{!s&&c.return&&c.return()}finally{if(i)throw a}}}},listSubscriptions:function(){var r=!0,o=!1,n=void 0;try{for(var s=t[Symbol.iterator](),i;!(r=(i=s.next()).done);r=!0){var a=i.value;console.log(a)}}catch(c){o=!0,n=c}finally{try{!r&&s.return&&s.return()}finally{if(o)throw n}}},subscribe:function(r){t.add(r)},unsubscribe:function(r){t.delete(r)},unsubscribeAll:function(){t.clear()},trigger:function(r){for(var o=arguments.length,n=Array(o>1?o-1:0),s=1;s<o;s++)n[s-1]=arguments[s];var i=!0,a=!1,c=void 0;try{for(var l=t[Symbol.iterator](),u;!(i=(u=l.next()).done);i=!0){var p=u.value;typeof p[r]=="function"&&p[r].apply(p,bu(n))}}catch(f){a=!0,c=f}finally{try{!i&&l.return&&l.return()}finally{if(a)throw c}}}})}var wu=function(){function e(t,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ew(this,e),rw(this),this.gl=t,this.texture=t.createTexture(),this.texture&&(this.valid=!0),this.bind(),this.name=r,this.source=null,this.sourceType=null,this.loading=null,this.setData(1,1,new Uint8Array([0,0,0,255]),{filtering:"linear"}),this.setFiltering(o.filtering),this.load(o)}return tw(e,[{key:"destroy",value:function(){this.valid&&(this.gl.deleteTexture(this.texture),this.texture=null,delete this.data,this.data=null,this.valid=!1)}},{key:"bind",value:function(t){this.valid&&(typeof t=="number"&&e.activeUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),e.activeUnit=t),e.activeTexture!==this.texture&&(this.gl.bindTexture(this.gl.TEXTURE_2D,this.texture),e.activeTexture=this.texture))}},{key:"load",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.loading=null,typeof t.url=="string"?(this.url===void 0||t.url!==this.url)&&this.setUrl(t.url,t):t.element?this.setElement(t.element,t):t.data&&t.width&&t.height&&this.setData(t.width,t.height,t.data,t)}},{key:"setUrl",value:function(t){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.valid)return this.url=t,this.source=this.url,this.sourceType="url",this.loading=new Promise(function(n,s){var i=t.split(".").pop().toLowerCase(),a=i==="ogv"||i==="webm"||i==="mp4",c=void 0;a?(c=document.createElement("video"),c.autoplay=!0,c.muted=!0,setTimeout(function(){c.play()},1),o.filtering="nearest"):c=new Image,c.onload=function(){try{r.setElement(c,o)}catch(l){console.log("Texture '"+r.name+"': failed to load url: '"+r.source+"'",l,o)}n(r)},c.onerror=function(l){console.log("Texture '"+r.name+"': failed to load url: '"+r.source+"'",l,o),n(r)},qC()&&r.source.slice(0,5)==="data:"||(c.crossOrigin="anonymous"),c.src=r.source,a&&r.setElement(c,o)}),this.loading}},{key:"setData",value:function(t,r,o){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.width=t,this.height=r,this.source=o,this.sourceType="data",this.update(n),this.setFiltering(n),this.loading=Promise.resolve(this),this.loading}},{key:"setElement",value:function(t,r){var o=this,n=t;if(typeof t=="string"&&(t=document.querySelector(t)),t instanceof HTMLCanvasElement||t instanceof HTMLImageElement||t instanceof HTMLVideoElement)this.source=t,this.sourceType="element",t instanceof HTMLVideoElement?(this.width=this.source.videoWidth,this.height=this.source.videoHeight,t.addEventListener("canplaythrough",function(){o.intervalID=setInterval(function(){o.update(r)},15)},!0),t.addEventListener("ended",function(){t.currentTime=0,t.play()},!0)):this.update(r),this.setFiltering(r);else{var s="the 'element' parameter (element: "+JSON.stringify(n)+") must be a CSS ";s+="selector string, or a <canvas>, <image> or <video> object",console.log("Texture '"+this.name+"': "+s,r)}return this.loading=Promise.resolve(this),this.loading}},{key:"update",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.valid&&(this.bind(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,t.UNPACK_FLIP_Y_WEBGL!==!1),this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.UNPACK_PREMULTIPLY_ALPHA_WEBGL||!1),this.sourceType==="element"&&(this.source instanceof HTMLCanvasElement||this.source instanceof HTMLVideoElement||this.source instanceof HTMLImageElement&&this.source.complete)?(this.source instanceof HTMLVideoElement?(this.width=this.source.videoWidth,this.height=this.source.videoHeight):(this.width=this.source.width,this.height=this.source.height),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.source)):this.sourceType==="data"&&this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.width,this.height,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.source),this.trigger("loaded",this))}},{key:"setFiltering",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.valid){this.powerOf2=ZE(this.width)&&ZE(this.height),this.filtering=t.filtering||"linear";var r=this.gl;this.bind(),this.powerOf2?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,t.TEXTURE_WRAP_S||r.REPEAT),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,t.TEXTURE_WRAP_T||r.REPEAT),this.filtering==="mipmap"?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR_MIPMAP_LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.generateMipmap(r.TEXTURE_2D)):this.filtering==="linear"?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR)):this.filtering==="nearest"&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST))):(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),this.filtering==="mipmap"&&(this.filtering="linear"),this.filtering==="nearest"?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST)):(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR)))}}}]),e}();wu.getMaxTextureSize=function(e){return e.getParameter(e.MAX_TEXTURE_SIZE)};wu.activeUnit=-1;var ow=function(){function e(t,r,o){var n=this;ew(this,e),rw(this),r=r||{},o=o||{},t.hasAttribute("data-fullscreen")&&(t.getAttribute("data-fullscreen")=="1"||t.getAttribute("data-fullscreen")=="true")?(this.width=window.innerWidth,this.height=window.innerHeight,t.width=window.innerWidth,t.height=window.innerHeight):(this.width=t.clientWidth,this.height=t.clientHeight),this.canvas=t,this.gl=void 0,this.deps={},this.program=void 0,this.textures={},this.buffers={},this.uniforms={},this.vbo={},this.isValid=!1,this.animationFrameRequest=void 0,this.BUFFER_COUNT=0,this.vertexString=r.vertexString||
precision mediump float;
attribute vec2 a_position;
attribute vec2 a_texcoord;
varying vec2 v_texcoord;
void main() {
gl_Position = vec4(a_position, 0.0, 1.0);
v_texcoord = a_texcoord;
}
,this.fragmentString=r.fragmentString||
precision mediump float;
varying vec2 v_texcoord;
void main(){
gl_FragColor = vec4(0.0);
}
;var s=GC(t,r,o.onError);if(!s)return;if(this.gl=s,this.timeLoad=this.timePrev=performance.now(),this.timeDelta=0,this.forceRender=!0,this.paused=!1,this.realToCSSPixels=window.devicePixelRatio||1,t.style.backgroundColor=r.backgroundColor||"rgba(1,1,1,0)",t.hasAttribute("data-fragment"))this.fragmentString=t.getAttribute("data-fragment");else if(t.hasAttribute("data-fragment-url")){var i=t.getAttribute("data-fragment-url");mc.get(i,function(g,y,x){n.load(x,n.vertexString)})}if(t.hasAttribute("data-vertex"))this.vertexString=t.getAttribute("data-vertex");else if(t.hasAttribute("data-vertex-url")){var a=t.getAttribute("data-vertex-url");mc.get(a,function(g,y,x){n.load(n.fragmentString,x)})}if(this.load(),!this.program)return;var c=s.getAttribLocation(this.program,"a_texcoord");this.vbo.texCoords=s.createBuffer(),this.gl.bindBuffer(s.ARRAY_BUFFER,this.vbo.texCoords),this.gl.bufferData(s.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),s.STATIC_DRAW),this.gl.enableVertexAttribArray(c),this.gl.vertexAttribPointer(c,2,s.FLOAT,!1,0,0);var l=s.getAttribLocation(this.program,"a_position");if(this.vbo.vertices=s.createBuffer(),this.gl.bindBuffer(s.ARRAY_BUFFER,this.vbo.vertices),this.gl.bufferData(s.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),s.STATIC_DRAW),this.gl.enableVertexAttribArray(l),this.gl.vertexAttribPointer(l,2,s.FLOAT,!1,0,0),t.hasAttribute("data-textures")){var u=t.getAttribute("data-textures").split(",");for(var p in u)this.setUniform("u_tex"+p,u[p])}var f={x:0,y:0};document.addEventListener("mousemove",function(g){f.x=g.clientX||g.pageX,f.y=g.clientY||g.pageY},!1);var m=this;function h(){m.nMouse>1&&m.setMouse(f),m.resize()&&(m.forceRender=!0),m.render(),m.animationFrameRequest=window.requestAnimationFrame(h)}return this.setMouse({x:0,y:0}),h(),this}return tw(e,[{key:"destroy",value:function(){cancelAnimationFrame(this.animationFrameRequest),this.animated=!1,this.isValid=!1;for(var t in this.textures)t.destroy&&t.destroy();this.textures={};for(var r in this.attribs)this.gl.deleteBuffer(this.attribs[r]);this.gl.useProgram(null),this.gl.deleteProgram(this.program);for(var o in this.buffers){var n=this.buffers[o];this.gl.deleteProgram(n.program)}this.program=null,this.gl=null}},{key:"load",value:function(t,r){var o=this;r&&(this.vertexString=r),t&&(this.fragmentString=t);var n=this.fragmentString.split(/\r?\n/);this.fragmentString=#define PLATFORM_WEBGL ,n.forEach(function(g,y){var x=g.trim();if(x.startsWith('#include "lygia')){var E=x.substring(15).replace(/\'|\"|\;|\s/g,"");if(E.endsWith("glsl")){if(o.deps[E]===void 0){var k="https://lygia.xyz"+E;o.deps[E]=XC(k)}o.fragmentString+=o.deps[E]+
}}else o.fragmentString+=g+
}),this.animated=!1,this.nDelta=(this.fragmentString.match(/u_delta/g)||[]).length,this.nTime=(this.fragmentString.match(/u_time/g)||[]).length,this.nDate=(this.fragmentString.match(/u_date/g)||[]).length,this.nMouse=(this.fragmentString.match(/u_mouse/g)||[]).length,this.animated=this.nDate>1||this.nTime>1||this.nMouse>1;var s=this.fragmentString.search(/sampler2D/g);if(s)for(var i=this.fragmentString.split(
),a=0;a<i.length;a++){var c=i[a].match(/uniform\s*sampler2D\s*([\w]*);\s*\/\/\s*([\w|\:\/\/|\.|\-|\_]*)/i);if(c){var l=c[2].split(".").pop().toLowerCase();c[1]&&c[2]&&(l==="jpg"||l==="jpeg"||l==="png"||l==="ogv"||l==="webm"||l==="mp4")&&this.setUniform(c[1],c[2])}var u=i[a].match(/\s*void\s*main\s*/g);if(u)break}var p=On(this,this.vertexString,this.gl.VERTEX_SHADER),f=On(this,this.fragmentString,this.gl.FRAGMENT_SHADER);f?this.isValid=!0:(f=On(this,void main(){
gl_FragColor = vec4(1.0);
},this.gl.FRAGMENT_SHADER),this.isValid=!1);var m=QE(this,[p,f]);this.gl.useProgram(m),this.gl.deleteShader(p),this.gl.deleteShader(f),this.program=m,this.change=!0,this.BUFFER_COUNT=0;var h=this.getBuffers(this.fragmentString);Object.keys(h).length&&this.loadPrograms(h),this.buffers=h,this.texureIndex=this.BUFFER_COUNT,this.trigger("load",{}),this.forceRender=!0,this.render()}},{key:"test",value:function(t,r,o){var n=this.vertexString,s=this.fragmentString,i=this.paused,a=this.gl.getExtension("EXT_disjoint_timer_query"),c=a.createQueryEXT(),l=this.isValid;(r||o)&&(this.load(r,o),l=this.isValid,this.forceRender=!0,this.render()),this.paused=!0,a.beginQueryEXT(a.TIME_ELAPSED_EXT,c),this.forceRender=!0,this.render(),a.endQueryEXT(a.TIME_ELAPSED_EXT);var u=this;function p(){u.paused=i,(r||o)&&u.load(s,n)}function f(){u.forceRender=!0,u.render();var m=a.getQueryObjectEXT(c,a.QUERY_RESULT_AVAILABLE_EXT),h=u.gl.getParameter(a.GPU_DISJOINT_EXT);if(m&&!h){var g={wasValid:l,frag:r||u.fragmentString,vert:o||u.vertexString,timeElapsedMs:a.getQueryObjectEXT(c,a.QUERY_RESULT_EXT)/1e6};p(),t(g)}else window.requestAnimationFrame(f)}f()}},{key:"loadTexture",value:function(t,r,o){var n=this;o||(o={}),typeof r=="string"?o.url=r:(typeof r>"u"?"undefined":fc(r))==="object"&&r.data&&r.width&&r.height?(o.data=r.data,o.width=r.width,o.height=r.height):(typeof r>"u"?"undefined":fc(r))==="object"&&(o.element=r),this.textures[t]?this.textures[t]&&(this.textures[t].load(o),this.textures[t].on("loaded",function(s){n.forceRender=!0})):(this.textures[t]=new wu(this.gl,t,o),this.textures[t].on("loaded",function(s){n.forceRender=!0}))}},{key:"refreshUniforms",value:function(){this.uniforms={}}},{key:"setUniform",value:function(t){for(var r={},o=arguments.length,n=Array(o>1?o-1:0),s=1;s<o;s++)n[s-1]=arguments[s];r[t]=n,this.setUniforms(r)}},{key:"setUniforms",value:function(t){var r=Eu(t);for(var o in r)r[o].type==="sampler2D"?this.loadTexture(r[o].name,r[o].value[0]):this.uniform(r[o].method,r[o].type,r[o].name,r[o].value);this.forceRender=!0}},{key:"setMouse",value:function(t){var r=this.canvas.getBoundingClientRect();if(t&&t.x&&t.x>=r.left&&t.x<=r.right&&t.y&&t.y>=r.top&&t.y<=r.bottom){var o=(t.x-r.left)*this.realToCSSPixels,n=this.canvas.height-(t.y-r.top)*this.realToCSSPixels;this.uniform("2f","vec2","u_mouse",o,n)}}},{key:"uniform",value:function(t,r,o){this.uniforms[o]=this.uniforms[o]||{};for(var n=this.uniforms[o],s=arguments.length,i=Array(s>3?s-3:0),a=3;a<s;a++)i[a-3]=arguments[a];var c=KC(n.value,i);if(c||this.change||!n.location||!n.value){n.name=o,n.type=r,n.value=i,n.method="uniform"+t,this.gl.useProgram(this.program),n.location=this.gl.getUniformLocation(this.program,o),this.gl[n.method].apply(this.gl,[n.location].concat(n.value));for(var l in this.buffers){var u=this.buffers[l];this.gl.useProgram(u.program);var p=this.gl.getUniformLocation(u.program,o);this.gl[n.method].apply(this.gl,[p].concat(n.value))}}}},{key:"uniformTexture",value:function(t,r,o){if(this.textures[t]===void 0)this.loadTexture(t,r,o);else{this.uniform("1i","sampler2D",t,this.texureIndex);for(var n in this.buffers){var s=this.buffers[n];this.gl.useProgram(s.program),this.gl.activeTexture(this.gl.TEXTURE0+this.texureIndex),this.gl.bindTexture(this.gl.TEXTURE_2D,this.textures[t].texture)}this.gl.useProgram(this.program),this.gl.activeTexture(this.gl.TEXTURE0+this.texureIndex),this.gl.bindTexture(this.gl.TEXTURE_2D,this.textures[t].texture),this.uniform("2f","vec2",t+"Resolution",this.textures[t].width,this.textures[t].height)}}},{key:"resize",value:function(){if(this.width!==this.canvas.clientWidth||this.height!==this.canvas.clientHeight){this.realToCSSPixels=window.devicePixelRatio||1;var t=Math.floor(this.gl.canvas.clientWidth*this.realToCSSPixels),r=Math.floor(this.gl.canvas.clientHeight*this.realToCSSPixels);return(this.gl.canvas.width!==t||this.gl.canvas.height!==r)&&(this.gl.canvas.width=t,this.gl.canvas.height=r,this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height)),this.width=this.canvas.clientWidth,this.height=this.canvas.clientHeight,this.resizeSwappableBuffers(),!0}else return!1}},{key:"render",value:function(){if(this.visible=zC(this.canvas),this.forceRender||this.change||this.animated&&this.visible&&!this.paused){var t=new Date,r=performance.now();this.timeDelta=(r-this.timePrev)/1e3,this.timePrev=r,this.nDelta>1&&this.uniform("1f","float","u_delta",this.timeDelta),this.nTime>1&&this.uniform("1f","float","u_time",(r-this.timeLoad)/1e3),this.nDate&&this.uniform("4f","float","u_date",t.getFullYear(),t.getMonth(),t.getDate(),t.getHours()*3600+t.getMinutes()*60+t.getSeconds()+t.getMilliseconds()*.001),this.uniform("2f","vec2","u_resolution",this.canvas.width,this.canvas.height);for(var o in this.buffers){var n=this.buffers[o];this.uniform("1i","sampler2D",n.name,n.bundle.input.index)}this.texureIndex=this.BUFFER_COUNT;for(var s in this.textures)this.uniformTexture(s),this.texureIndex++;this.renderPrograms(),this.trigger("render",{}),this.change=!1,this.forceRender=!1}}},{key:"pause",value:function(){this.paused=!0}},{key:"play",value:function(){this.paused=!1}},{key:"renderPrograms",value:function(){var t=this.gl,r=t.canvas.width,o=t.canvas.height;t.viewport(0,0,r,o);for(var n in this.buffers){var s=this.buffers[n];s.bundle.render(r,o,s.program,s.name),t.bindFramebuffer(t.FRAMEBUFFER,null)}t.useProgram(this.program),t.drawArrays(t.TRIANGLES,0,6)}},{key:"getBuffers",value:function(t){var r={};return t&&t.replace(/(?:^\s*)((?:#if|#elif)(?:\s*)(defined\s*\(\s*BUFFER_)(\d+)(?:\s*\))|(?:#ifdef)(?:\s*BUFFER_)(\d+)(?:\s*))/gm,function(){var o=arguments[3]||arguments[4];r["u_buffer"+o]={fragment:"#define BUFFER_"+o+
+t}}),r}},{key:"loadPrograms",value:function(t){var r=this,o=this.gl,n=On(r,r.vertexString,o.VERTEX_SHADER);for(var s in t){var i=t[s],a=On(r,i.fragment,o.FRAGMENT_SHADER,1);a?r.isValid=!0:(a=On(r,void main(){
gl_FragColor = vec4(1.0);
},o.FRAGMENT_SHADER),r.isValid=!1);var c=QE(r,[n,a]);i.name=s,i.program=c,i.bundle=r.createSwappableBuffer(r.canvas.width,r.canvas.height,c),o.deleteShader(a)}o.deleteShader(n)}},{key:"createSwappableBuffer",value:function(t,r,o){var n=this.createBuffer(t,r,o),s=this.createBuffer(t,r,o),i=this.gl;return{input:n,output:s,swap:function(){var a=n;n=s,s=a,this.input=n,this.output=s},render:function(a,c,l,u){i.useProgram(l),i.viewport(0,0,a,c),i.bindFramebuffer(i.FRAMEBUFFER,this.input.buffer),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,this.output.texture,0),i.drawArrays(i.TRIANGLES,0,6),this.swap()},resize:function(a,c,l,u){i.useProgram(l),i.viewport(0,0,a,c),this.input.resize(a,c),this.output.resize(a,c)}}}},{key:"createBuffer",value:function(t,r,o){var n=this.gl,s=this.BUFFER_COUNT;this.BUFFER_COUNT+=2,n.getExtension("OES_texture_float");var i=n.createTexture();n.activeTexture(n.TEXTURE0+s),n.bindTexture(n.TEXTURE_2D,i),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t,r,0,n.RGBA,n.FLOAT,null),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE);var a=n.createFramebuffer();return{index:s,texture:i,buffer:a,W:t,H:r,resize:function(c,l){n.bindFramebuffer(n.FRAMEBUFFER,a);var u=Math.min(c,this.W),p=Math.min(l,this.H),f=new Float32Array(u*p*4);n.readPixels(0,0,u,p,n.RGBA,n.FLOAT,f),n.bindFramebuffer(n.FRAMEBUFFER,null);var m=s+1,h=n.createTexture();n.activeTexture(n.TEXTURE0+m),n.bindTexture(n.TEXTURE_2D,h),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,c,l,0,n.RGBA,n.FLOAT,null),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,u,p,n.RGBA,n.FLOAT,f);var g=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,null),n.deleteTexture(i),n.activeTexture(n.TEXTURE0+s),n.bindTexture(n.TEXTURE_2D,h),s=this.index=s,i=this.texture=h,a=this.buffer=g,this.W=c,this.H=l}}}},{key:"resizeSwappableBuffers",value:function(){var t=this.gl,r=t.canvas.width,o=t.canvas.height;t.viewport(0,0,r,o);for(var n in this.buffers){var s=this.buffers[n];s.bundle.resize(r,o,s.program,s.name)}t.useProgram(this.program)}},{key:"version",value:function(){return"0.1.7"}}]),e}();function YC(){var e=document.getElementsByClassName("glslCanvas");if(e.length>0){window.glslCanvases=[];for(var t=0;t<e.length;t++){var r=new ow(e[t]);r.isValid&&window.glslCanvases.push(r)}}}window.addEventListener("load",function(){YC()});var dc=ow;var nw=e=>{if(!("after"in e))return Promise.resolve(void 0);let t=document.createElement("canvas");return new dc(t).load(Mt(e.after)),e.render(t),Promise.resolve(void 0)};var sw=e=>{let t="";for(let r=0;r<e.length;r+=3)r+2===e.length?t+=Ru(e[r],e[r+1],0):r+1===e.length?t+=Ru(e[r],0,0):t+=Ru(e[r],e[r+1],e[r+2]);return t},hc=e=>e<10?String.fromCharCode(48+e):(e-=10,e<26?String.fromCharCode(65+e):(e-=26,e<26?String.fromCharCode(97+e):(e-=26,e===0?"-":e===1?"_":"?"))),Ru=(e,t,r)=>{let o=e>>2,n=(e&3)<<4|t>>4,s=(t&15)<<2|r>>6,i=r&63;return hc(o&63)+hc(n&63)+hc(s&63)+hc(i&63)};var iw=async(e,t="svg")=>{let r=new Blob([new TextEncoder().encode(e)]).stream().pipeThrough(new CompressionStream("deflate")),o=new Uint8Array(await new Response(r).arrayBuffer());returnhttps://www.plantuml.com/plantuml/${t}/~1${sw(o)}};var aw=async e=>{if(!("after"in e))return;let t=document.createElement("img"),r=await iw(Mt(e.after));t.src=r,e.render(t)};var ku=Promise.resolve({log:new Uint8Array(0)}),gc,cw=(e,t,r,o)=>(ku=(async()=>{await ku,gc??=await JC(t,r);let n=new Promise(i=>{let a=c=>{if(c.data.type==="stdout"){o(c.data.message);return}c.data.type==="compile"&&(i(c.data),gc.removeEventListener("message",a))};gc.addEventListener("message",a)}),s={type:"compile",input:e};return gc.postMessage(s),n})(),ku),JC=async(e,t)=>{let r=new Worker(e,{type:"module"}),o=new Promise(s=>{let i=a=>{a.data.type==="asset-url"&&(s(),r.removeEventListener("message",i))};r.addEventListener("message",i)}),n={type:"asset-url",url:${t}};return r.postMessage(n),await o,r};var lw=(e,t)=>async r=>{if(!("after"in r))return;let o=QC(),n="Compile is not started yet. Please wait...",s=l=>{n=[...n.split( ),l].join(
),o.log(n)},i=document.createElement("img"),a=setTimeout(()=>{r.render(o.div),o.log(n)},2e3),{svg:c}=await cw(Mt(r.after),e,t,s);if(clearTimeout(a),!c){r.render(o.div),o.log(n);return}i.src=await Rs(new Blob([c],{type:"image/svg+xml"})),r.render(i)},QC=()=>{let e=document.createElement("div"),t=e.attachShadow({mode:"open"}),r=document.createElement("style");r.textContent='*{box-sizing:border-box;}pre{display:block;padding:9.5px;margin:0 0 10px;border:1px solid #ccc;border-radius:4px;height:20em;overflow:auto;font-size:13px;line-height:1.428571429;}pre code{padding:0;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:inherit;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;color:var(--code-color,#342d9c);background-color: rgba(0,0,0,0);border-radius:0;}',t.append(r);let o=document.createElement("pre"),n=document.createElement("code");return o.append(n),t.append(o),{div:e,log:s=>{n.textContent=s,o.scroll(0,o.scrollHeight)}}};var Bo=()=>/mobile/i.test(navigator.userAgent);var pw="Cannot complete the mapping as an error was thrown from an item";function vu(e,t,r){let o=new TransformStream({async transform(n,s){try{let i=await n;s.enqueue(i)}catch(i){i instanceof AggregateError&&i.message===pw&&s.error(i)}}});return(async()=>{let n=o.writable.getWriter(),s=[];try{for await(let i of t){let a=Promise.resolve().then(()=>r(i));n.write(a);let c=a.then(()=>s.splice(s.indexOf(c),1));s.push(c),s.length>=e&&await Promise.race(s)}await Promise.all(s),n.close()}catch{let i=[];for(let a of await Promise.allSettled(s))a.status==="rejected"&&i.push(a.reason);n.write(Promise.reject(new AggregateError(i,pw))).catch(()=>{})}})(),Symbol.asyncIterator in o.readable&&typeof o.readable[Symbol.asyncIterator]=="function"?o.readable[Symbol.asyncIterator]():async function*(){let n=o.readable.getReader();for(;;){let{done:s,value:i}=await n.read();if(s)break;yield i}n.releaseLock()}()}async function*uw(e,t){if(e.length===0||e.every(({before:o,after:n})=>o===n))return;let r=X(await ct());try{let{readable:o,writable:n}=new TransformStream(void 0),s=n.getWriter(),i=vu(5,e,async l=>{let u=0,p=0;l.before===l.after&&(await s.ready,await s.write({link:l,projectCount:0,replaced:0,done:!0}));let f=vu(2,new Set(t),async m=>{let h=await ZC(l,m,r);if(G(h))throw eA(Yo(h));u++,p+=X(h),await s.ready,await s.write({link:l,projectCount:u,replaced:p,done:!1})});await Array.fromAsync(f),await s.ready,await s.write({link:l,projectCount:u,replaced:p,done:!0})}),a=Array.fromAsync(i).then(async()=>{await s.ready,await s.close()}),c=o.getReader();for(;;){let{done:l,value:u}=await c.read();if(l)return;yield u}await a}finally{await lt(r)}}var ZC=async(e,t,r)=>{let[o]=await Promise.all([ci(t,e.before,e.after),Se(t,e.before,(n,{persistent:s})=>{if(s)return[e.after,...n.map(i=>i.text).slice(1)]},{socket:r})]);return o},Ir=e=>e.split(
).flatMap(t=>[...t.matchAll(/\[((?:[^\[!"#%&'()\*\+,\-\.\/\{\|\}<>_~] |.[^ ]*)[^\[\]]*)\]/g)]).map(([,t])=>t),eA=e=>{let t=new Error;return t.name=e.name,t.message=e.message,t};var mw=e=>Be(e,{hasTitle:!1}).flatMap(r=>{switch(r.type){case"title":return[];case"codeBlock":return tA(r);case"table":return rA(r);case"line":return oA(r)}}).map(r=>r).join(
),tA=({fileName:e,content:t,indent:r})=>{let o=" ".repeat(r);return[${o}code:${e},...t.split(
).map(n=>${o} ${n})]},rA=({fileName:e,cells:t,indent:r})=>{let o=" ".repeat(r);return[${o}table:${e},...t.map(n=>${o} ${n.map(s=>s.map(i=>vs(i)).join("")).join(" ")})]},oA=({nodes:e,indent:t})=>[${" ".repeat(t)}${e.map(r=>${vs(r)}).join("")}],vs=e=>{switch(e.type){case"quote":return> ${e.nodes.map(t=>vs(t)).join("")};case"strong":return${e.nodes.map(t=>vs(t)).join("")};case"decoration":{let t=e.decos.map(r=>{let o=parseInt(r.match(/\*-(\d)/)?.[1]??"0");return o>0?"*".repeat(o):r}).join("");return[${t?${t} :""}${e.nodes.map(r=>vs(r)).join("")}]}case"hashTag":return e.href;case"link":return e.pathType==="absolute"?e.raw:e.href;default:return e.raw}};scrapbox.PopupMenu.addButton({title:e=>Ir(e).length>0?"":"",onClick:e=>{let t=mw(e);if(e!=t)return t}});var fw=e=>!e.includes(
)&&/\[[^\]]+\]/.test(e);scrapbox.PopupMenu.addButton({title:e=>fw(e)?"[][]":"",onClick:e=>{if(!fw(e))return;let t=e.replaceAll("[","").replaceAll("]","");return(async()=>{let{render:r,dispose:o}=Oe();try{let n=scrapbox.Project.name;r({type:"spinner"},{type:"text",text:create /${n}/${t}}),await Se(n,t,([{text:s}],{persistent:i})=>{if(!i)return[s,e]}),r({type:"check-circle"},{type:"text",text:create /${n}/${t}})}catch(n){if(console.error(n),!(n instanceof Error))throw n;r({type:"exclamation-triangle"},{type:"text",text:${n.name} ${n.message}})}finally{await Ie(2e3),o()}})(),${t}}});var hw=(e,t)=>{switch(e.type){case"title":return"";case"codeBlock":return[e.fileName, \\`\`${pA(e.fileName)},e.content,"\n"].join(
);case"table":return nA(e);case"line":return iA(e,t)}},nA=e=>{let t=[e.fileName],r=Math.max(...e.cells.map(o=>o.length));return e.cells.forEach((o,n)=>{t.push(| ${o.map(s=>s.map(i=>Ln(i)).join("")).join(" | ")} |),n===0&&t.push(|${" -- |".repeat(r)})}),t.join(
)},sA=" ",iA=(e,t)=>{let r=e.nodes.map(n=>Ln(n,{section:e.indent===t})).join("").trim();if(r==="")return"";if(e.indent===t)return r;let o=sA.repeat(e.indent-t-1);return/^\d+\. /.test(r)||(o+="- "),o+r},Ln=(e,t)=>{let{section:r=!1}=t??{};switch(e.type){case"quote":return> ${e.nodes.map(o=>Ln(o)).join("")};case"helpfeel":return\? ${e.text}\`;case"image":case"strongImage":return;case"icon":case"strongIcon":return"/icons/hr","/scrapboxlab/hr".includes(e.path)?"---":"";case"strong":return**${e.nodes.map(o=>Ln(o)).join("")}**;case"formula":return$${e.formula}$;case"decoration":{let o=e.nodes.map(n=>Ln(n)).join("");return e.decos.includes("/")&&(o=*${o}*),r?(e.decos.includes("*-3")&&(o=`# ${o} ),e.decos.includes("*-2")&&(o=## ${o}
),e.decos.includes("*-1")&&(o=### ${o}
)):e.decos.some(n=>/\*-/.test(n[0]))&&(o=**${o}**),e.decos.includes("~")&&(o=~~${o}~~),o}case"code":return\${e.text}\`;case"commandLine":return\`${e.symbol} ${e.text}\`;case"link":switch(e.pathType){case"root":{let,o,...n=e.href.split("/");return[${e.href}](https://scrapbox.io/${o}/${dw(n.join("/"))})}case"relative":return[${e.href}](https://scrapbox.io/${scrapbox.Project.name}/${dw(e.href)});default:return e.content===""? ${e.href} :[${e.content}](${e.href})}case"googleMap":return[${e.place}](${e.url});case"hashTag":return[#${e.href}](https://scrapbox.io/${scrapbox.Project.name}/${e.href});case"numberList":return${e.number}. ${e.nodes.map(o=>Ln(o)).join("")};case"blank":case"plain":return e.text}},dw=e=>...e.map((t,r)=>t===" "?"_":!aA.includes(t)||r===e.length-1&&cA.includes(t)?encodeURIComponent(t):t).join(""),aA='@$&+=:;",',cA=':;",',lA=[{extensions:"javascript","js",fileType:"javascript"},{extensions:"typescript","ts",fileType:"typescript"},{extensions:"cpp","hpp",fileType:"cpp"},{extensions:"c","cc","h",fileType:"c"},{extensions:"cs","csharp",fileType:"cs"},{extensions:"markdown","md",fileType:"markdown"},{extensions:"htm","html",fileType:"html"},{extensions:"json",fileType:"json"},{extensions:"xml",fileType:"xml"},{extensions:"yaml","yml",fileType:"yaml"},{extensions:"toml",fileType:"toml"},{extensions:"ini",fileType:"ini"},{extensions:"tex","sty",fileType:"tex"},{extensions:"svg",fileType:"svg"}],pA=e=>{let t=e.replace(/^.*\.(\w+)$/,"$1");return lA.find(r=>r.extensions.includes(t))?.fileType??""};scrapbox.PopupMenu.addButton({title:"",onClick:e=>{(async()=>{try{let t=lc.parse(e,{hasTitle:!1}),r=Math.min(...t.map(o=>o.indent));await navigator.clipboard.writeText(t.map(o=>hw(o,r)).join(` ))}catch(t){alert(Failed to copy:
${JSON.stringify(t)})}})()}});var _u=(e,...t)=>{let r=t.reduce((o,n)=>De(o)?o:o instanceof Promise?o.then(s=>De(s)?s:n(s)):n(o),e);return r instanceof Promise?r.then(o=>${o}):${e}};var Nn=e=>e.ok?ce(e):Q({name:"HTTPError",message:${e.status} ${e.statusText},response:e});var gw=e=>window.GM_fetch?.(https://cdn.syndication.twimg.com/tweet-result?id=${e}&token=x)?.then?.(t=>_t(Nn(t),r=>r.json()));var yc=e=>{let{fetch:t=globalThis.fetch,...r}=e;return{fetch:t,...r}},yw=e=>typeof e=="object"&&e!==null;var _s=class e extends Error{name="UnexpectedResponseError";status;statusText;body;path;constructor(t){super(${t.status} ${t.statusText} when fetching ${t.path.toString()}),this.status=t.status,this.statusText=t.statusText,this.body=t.body,this.path=t.path,Error.captureStackTrace&&Error.captureStackTrace(this,e)}};var xc=async e=>{let t=await e.text();if(e.ok)return ce(t);if(e.status===400)return Q({name:"BadRequestError",message:t});try{let r=JSON.parse(t);if(!yw(r)||typeof r.message!="string")throw new _s({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)});switch(e.status){case 401:return Q({name:"UnauthorizedError",message:r.message});case 403:return Q({name:"NotPrivilegeError",message:r.message});case 404:return Q({name:"NotFoundError",message:r.message});case 422:return Q({name:"InvalidParameterError",message:r.message});case 429:return Q({name:"RateLimitError",message:r.message});default:throw new _s({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)})}}catch(r){throw r instanceof SyntaxError?new _s({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)}):r}};var xw=async(e,t)=>{let{title:r,description:o,metadataIsPublic:n,collectionId:s,refererURL:i,accessToken:a,created:c,app:l,fetch:u}=yc(t),p=new FormData;p.append("imagedata",e),p.append("access_token",a),i&&p.append("referer_url",i.toString()),l!==void 0&&p.append("app",l),r!==void 0&&p.append("title",r),o!=null&&p.append("desc",o),s&&p.append("collection_id",s),n&&p.append("metadata_is_public","true"),c!==void 0&&p.append("created_at",${c});let f=await u("https://upload.gyazo.com/api/upload",{method:"POST",mode:"cors",credentials:"omit",body:p}),m=await xc(f);return H(m)?m:ce(JSON.parse(W(m)))};var bw=(e,t)=>{let r=new FormData;return r.append("data",e),r.append("metadata",JSON.stringify({app:"Gyazo",title:e.name})),GM_fetch(https://gif.gyazo.com/${t?.teams?"teams":"gif"}/upload,{method:"POST",body:r,credentials:"include",headers:{Origin:"https://gyazo.com","sec-fetch-site":"same-site"},referrer:"https://gyazo.com/"})};var bc="",Ew=!1,Ec=new Map,ww=async(e,t,r,o)=>{let n=Ec.get(e.href);if(n)return n;if(e.hostname==="video.twimg.com"||${e}.endsWith(".svg")){let c=await GM_fetch(e);if(!c.ok)return;let l=c.headers.get("content-type")?.split?.(";")?.[0]??${e}.endsWith(".mp4")?"video/mp4":"video/webm",u=new File([await c.blob()],o||${t},{type:l});if(l==="video/mp4"){let m=await bw(u);if(m.ok){let h=new URL(await m.text());return Ec.set(e.href,h),h}}let p=await Vf(u,r);if(H(p))throw Error(re(p).name);let f=new URL(W(p).embedUrl);return Ec.set(e.href,f),f}if(e.hostname!=="pbs.twimg.com"||!e.pathname.startsWith("/media"))return;if(Ew){if(!bc)return}else{let c=await Cf();if(Ew=!0,H(c)){alert("You haven't logged in Gyazo yet, so you can only upload images to scrapbox.io.");return}if(bc=W(c)||"",!bc){alert("You haven't connect Gyazo to scrapbox.io yet.");return}}let s=await GM_fetch(e);if(!s.ok)return;let i=await xw(await s.blob(),{accessToken:bc,refererURL:t,description:o});if(H(i))throw Error(re(i).name);let a=new URL(W(i).permalink_url);return Ec.set(e.href,a),a};var vw=[["&","&"],["<","<"],[">",">"],['"',"""],["'","'"]],uA=Object.fromEntries([...vw.map(([e,t])=>[t,e]),["'","'"],[" "," "]]),mA=new Map(vw),pMe=new RegExp([${...mA.keys().join("")}],"g");var fA={entityList:uA},dA=1114111,hA=/&#([0-9]+);/g,gA=/&#x(\p{AHex}+);/gu,Rw=new WeakMap;function Tu(e,t={}){let{entityList:r}={...fA,...t},o=Rw.get(r);return o||(o=new RegExp((${Object.keys(r).sort((n,s)=>s.length-n.length).join("|")}),"g"),Rw.set(r,o)),e.replaceAll(o,n=>r[n]).replaceAll(hA,(n,s)=>kw(s,10)).replaceAll(gA,(n,s)=>kw(s,16))}function kw(e,t){let r=parseInt(e,t);return r>dA?"�":String.fromCodePoint(r)}var wc=e=>{let t={name:e.user.name,screenName:e.user.screen_name},r=new Date(e.created_at),o=[...e.entities.hashtags.map(i=>({type:"hashtag",...i})),...e.entities.symbols.map(i=>({type:"symbol",...i})),...e.entities.user_mentions.map(i=>({type:"mention",name:i.name,screenName:i.screen_name,indices:i.indices})),...e.entities.urls.map(i=>{let a={type:"url",indices:i.indices,url:new URL(i.expanded_url)};if(e.card&&e.card?.url===i.url){let{description:c,title:l}=e.card.binding_values,u="STRING";c?.type===u&&(a.description=c.string_value),l?.type===u&&(a.title=l.string_value)}return a}),...e.entities.media?.map?.(i=>({type:"media",indices:i.indices,media:e.mediaDetails?.flatMap?.(a=>a.url===i.url?[{type:a.type,url:new URL(a.video_info?.variants?.sort?.((c,l)=>(l.bitrate??0)-(c.bitrate??0))?.[0].url??a.media_url_https)}]:[])??[]}))??[]].sort((i,a)=>i.indices[0]-a.indices[0]),n=[];{let i=0,a=e.text;for(let{indices:c,...l}of o){let u=[...a].slice(0,c[0]-i).join("");n.push({type:"plain",text:Tu(u)}),n.push(l),a=[...a].slice(c[1]-i).join(""),i=c[1]}a&&n.push({type:"plain",text:Tu(a)})}let s={id:e.id_str,content:n,author:t,posted:r,replyCount:"reply_count"in e?e.reply_count:e.conversation_count};return e.self_thread&&(s.rootId=e.self_thread.id_str),e.in_reply_to_status_id_str&&(s.replyId=e.in_reply_to_status_id_str),e.parent&&(s.replyTo=wc(e.parent)),e.quoted_tweet&&(s.quote=wc(e.quoted_tweet)),s};var yA=["landing","product","enterprise","pricing","try-enterprise","contact","terms","privacy","jp-commercial-act","support","case","features","business","auth","login","logout","oauth2","_","api","app.html","assets","file","files","billing","billings","config","feed","index","io","new","opensearch","project","projects","search","setting","settings","setup-profile","slide","socket.io","stream","user","users"],Rc=(e=scrapbox.Project.name,t=location.host)=>r=>{if(r.host!==t)return r;let[,o,n]=r.pathname.match(/^\/([\w\d][\w\d-]{0,22}[\w\d])(?:\/?|\/(.+))$/)??[];return!o||yA.includes(o)?r:n?o===e?${decodeURIComponent(n)}:/${o}/${decodeURIComponent(n)}:/${o}};var _w=(e=xA)=>t=>{let[,r]=t.href.match(/^https:\/\/(?:www\.|mobile\.|m\.|)(?:twitter|x)\.com\/[A-Za-z0-9_]*\/(?:status|statuses)\/(\d+)/)??[];return r?(async()=>{let o=await(gw(r)??Nf(t.href));if(H(o))throw re(o);let n=W(o);return e("images"in n?{...n,id:r}:n,t)})():t},xA=async e=>{if("images"in e)return Ts(e);let{quote:t,replyTo:r,...o}=wc(e);return[...r?[...(await Ts(r)).split( ).map(n=> > ${n}),...r.quote?(await Ts(r.quote)).split(
).map(n=> > ${n}):[]]:[],...(await Ts(o)).split(
).map(n=>> ${n}),...t?(await Ts(t)).split(
).map(n=>> > ${n}):[]].join(
)?.map?.(n=>> ${Su(n)})??["> [/ no description provided]"],...e.images.length>0?[> ${e.images.map(n=>[${n}])}]:[]].join(
);let r=e.content,o=e.author.screenName;return[@${Su(o)} ${t},...(await Promise.all(r.map(async n=>{switch(n.type){case"plain":return n.text;case"hashtag":return #${n.text} ;case"symbol":return #$${n.text} ;case"mention":return@${n.screenName};case"media":{let s=[],i=1;for(;i<n.media.length;i+=2)s.push([${await Pu(n.mediai-1,t)}] [${await Pu(n.mediai,t)}]);return i===n.media.length&&s.push([${await Pu(n.mediai-1,t)}]), ${s.join(`
`)}
}case"url":return${Rc()(n.url)} }}))).join("").split(
)].join(
)},kc="",bA=async()=>{if(kc)return kc;let e=await xr(scrapbox.Project.name);if(H(e))throw new Error(re(e).name);return kc=W(e).id,kc},Pu=async(e,t)=>await ww(e.url,t,await bA(),"")??e.url,Su=e=>e.replace(/\b/gm,"").replace(/[\s\r\n\u2028\u2029]+/gm," ").replace(/\s*[[\]]\s*/g," ").trim();var Tw=e=>window.GM_fetch?.(https://t.co/${e})?.then?.(t=>_t(Nn(t),async r=>{let o=new DOMParser().parseFromString(await r.text(),"text/html");try{return new URL(o.title)}catch(n){if(n instanceof TypeError)return;throw n}}));var Pw=e=>{let t=window.GM_fetch;if("bit.ly","amzn.to","amzn.asia","goo.gl","s.nikkei.com","apple.co","nico.ms","w.wiki".includes(e.hostname)&&t)return t(e).then(o=>o.ok?new URL(o.url):e);if(e.hostname!=="t.co")return e;let r=Tw(e.pathname.slice(1));return r?r.then(o=>cl(o,()=>e,n=>n??e)):e};var Sw=e=>{if(!e.pathname.startsWith("/wiki/"))return e;if(!/^\w+\.wikipedia\.org$/.test(e.hostname)){let,n=e.hostname.match(/^(\w+)\.m\.wikipedia\.org$/)??[];if(!n)return e;e.hostname=${n}.wikipedia.org}let t=decodeURIComponent(e.pathname.slice(6)),r=e.hash?decodeURIComponent(e.hash.slice(1)):"",o=${e.origin}/wiki/${t};return r?[${r} | ${t} - Wikipedia ${o}#${r}]:[${t} - Wikipedia ${o}]};var Ow=e=>{if(e.hostname!=="www.wikiwand.com")return e;let,t,r=e.pathname.match(/^\/(^\/+)\/(^\/+)/)??[];return!t||!r||(e.hostname=${t}.wikipedia.org,e.pathname=/wiki/${r},e.hash=e.hash.startsWith("#/")?#${e.hash.slice(2)}:e.hash),e};var Ou=e=>{if(!e.hostname.startsWith("www.google."))return e;let t=e.searchParams.get("url");return t?new URL(decodeURIComponent(t)):e};var Lw=/charset=(^;+)/,Nw=e=>window.GM_fetch?.(${e})?.then?.(t=>_t(Nn(t),async r=>{let o=r.headers.get("content-type")?.match?.(Lw)?.1??await EA(r.clone());return new TextDecoder(o).decode(await r.arrayBuffer())})),EA=async e=>{let t=new DOMParser().parseFromString(await e.text(),"text/html");return t.querySelector("metacharset")?.getAttribute?.("charset")??t.querySelector('metahttp-equiv="content-type"')?.getAttribute?.("content")?.match?.(Lw)?.1??"utf-8"};var Cw=(e=wA)=>async t=>e(await RA(t),t),wA=(e,t)=>{let r=(De(e)?e:e.title).replace(/\s/g," ").replaceAll("","[").replaceAll("","]");return r?[${t.hash?${decodeURIComponent(t.hash.slice(1))} | :""}${r} ${t}]:${t}},RA=async e=>{let t=Nw(e);if(!t){let o=await Lf(e);if(H(o))throw re(o);return W(o)}let r=await t;if(H(r))throw re(r);return new DOMParser().parseFromString(W(r),"text/html")};var Aw=e=>{if(!/^(?:www\.)?amazon(?:\.co|com)?\.(?:au|br|ca|fr|de|in|it|jp|mx|nl|sg|es|tr|ae|uk|cn)$/.test(e.hostname))return e;let,t=e.pathname.match(/\/dp\/(\w\d+)/)??e.pathname.match(/\/gp\/product\/(\w\d+)/)??e.pathname.match(/\/exec\/obidos\/asin\/(\w\d+)/)??e.pathname.match(/\/o\/ASIN\/(\w\d+)/)??[];return t&&(e.hash="",e.search="",e.pathname=/dp/${t}),e};var Mw=e=>{if(!/(?:0-9a-z-\.)?gyazo\.com/.test(e.hostname))return e;let,t=e.pathname.match(/^\/(0-9a-f{32})(?:\/raw)?$/)??[];return t?[https://gyazo.com/${t}]:e};var Iw=(e,...t)=>{if(e instanceof URL)return _u(new URL(e),...t);let r=0,o=0,n=0,s=!1,i=e.split(/(https?:\/\/\S+)/g).map(u=>{if(!/^https?:\/\/\S+$/.test(u))return u;r++;try{let p=_u(new URL(u),...t);return De(p)?(o++,p):(s=!0,p,u)}catch(p){return console.error(p),n++,u}});if(!s)return i.join("");let{render:a,dispose:c}=Oe(),l=()=>a({type:"spinner"},{type:"text",text:URL: ${o}/${r} converted, ${n} failed});return l(),Promise.all(i.map(async u=>{if(De(u))return u;try{let p=await u0;return o++,p}catch(p){return console.error(p),n++,u1}finally{l()}})).then(u=>(a({type:"check-circle"},{type:"text",text:URL: ${o}/${r} converted, ${n} failed}),u.join(""))).finally(()=>{setTimeout(c,1e3)})};var Uw=e=>{if(!/^(?:\w+\.nicovideo\.jp|nico\.ms)$/.test(e.hostname))return e;let t=e.pathname.match(/(?:sm|nm|so|ca|ax|yo|nl|ig|na|cw|za-e|om|sk|yk|lv)\d{1,14}$/)?.0;return t?[https://nicothumb2img.vercel.app/image/${t}#.png https://nico.ms/${t}]:e};var Fw=e=>Be(e,{hasTitle:!1}).flatMap(r=>{switch(r.type){case"title":return[];case"codeBlock":return kA(r);case"table":return vA(r);case"line":return _A(r)}}).map(r=>r).join(` ),kA=({fileName:e,content:t,indent:r})=>{let o=" ".repeat(r);return[${o}code:${e},...t.split(
).map(n=>${o} ${n})]},vA=({fileName:e,cells:t,indent:r})=>{let o=" ".repeat(r);return[${o}table:${e},...t.map(n=>${o} ${n.map(s=>s.map(i=>i.raw).join("")).join(" ")})]},_A=({nodes:e,indent:t})=>[${" ".repeat(t)}${e.map(r=>${Ps(r)}).join("")}],Ps=e=>{switch(e.type){case"quote":return> ${e.nodes.map(t=>Ps(t)).join("")};case"helpfeel":return-? ${e.text};case"commandLine":return-${e.symbol} ${e.text};case"icon":case"strongIcon":case"image":case"strongImage":case"formula":case"code":case"googleMap":return e.raw;case"strong":return${e.nodes.map(t=>Ps(t)).join("")};case"decoration":{e.decos.includes("-")||e.decos.push("-");let t=e.decos.map(r=>{let o=parseInt(r.match(/\*-(\d)/)?.[1]??"0");return o>0?"*".repeat(o):r}).join("");return[${t?${t} :""}${e.nodes.map(r=>Ps(r)).join("")}]}case"link":switch(e.pathType){case"root":case"relative":return${e.href};case"absolute":return[- ${e.content?${e.content} :""}${e.href}]]}case"hashTag":return#${e.href};case"numberList":return${e.number}. ${e.nodes.map(t=>Ps(t)).join("")};case"blank":case"plain":return${e.text}}};scrapbox.PopupMenu.addButton({title:"",onClick:e=>{let t=Fw(e);if(e!==t)return t}});var Lu=e=>{let t=e.indexOf( );if(t<0)return;let r=e.slice(0,t).split(
).map(s=>{let[i="",a=""]=s.split(" => ",2);return[i,a]});if(r.length===0)return;let o=e.slice(t+2).split(
);if(o.length===0)return;for(let[s,i]of r){let a=s.match(/^\/(.*?)\/([gimy]*)$/);if(a){let c=new RegExp(a[1],a[2]);o=o.map(l=>l.replace(c,i.replaceAll("\\n",
)))}else o=o.map(c=>c.replaceAll(s,i.replaceAll("\\n",
)))}let n=${e.slice(0,t+2)}${o.join(`
)};if(e!==n)return n};scrapbox.PopupMenu.addButton({title:e=>Lu(e)?"replace":"",onClick:e=>{let t=Lu(e);if(t!==void 0)return t}});var Dw=e=>{let t=document.createElement("div"),r=t.attachShadow({mode:"open"}),o=document.createElement("style");o.textContent="dialog::backdrop{background-color:#000c}dialog{flex-direction:column;align-items:center;row-gap:10px;padding:10px;background:unset;margin-top:unset;margin-bottom:unset;border:unset;height:unset}dialogopen{display:flex}dialog>*{color:var(--page-text-color, #4a4a4a);background-color:var(--dropdown-menu-bg, #fff);border:1px solid rgba(0,0,0,.2);border-radius:6px}@media (min-width: 768px){dialog{padding:30px 0}}.container{display:flex;padding:5px;gap:0.2em;flex-direction:column;width:100%;}.button-container{flex-direction:unset;}.button-container>*{flex:1;}",r.append(o);let n=document.createElement("dialog");n.insertAdjacentHTML("beforeend",` <div class="container">
Replace Links:
<textarea class="editor"></textarea>
<div class="container button-container">
<button class="cancel">cancel</button>
<button class="replace">replace</button>
</div>
</div>
),r.append(n);let s=n.querySelector(".editor");s.rows=e.length,s.value=e.join(
);let i=()=>{n.style.minWidth=${Math.max(...s.value.split(`
).map(u=>[...u].length))+6}em};i(),s.addEventListener("input",i);let a=n.querySelector(".cancel"),c=n.querySelector(".replace"),l=new Promise(u=>{let p=()=>{u({convert:!1}),t.remove()};n.addEventListener("close",p),n.addEventListener("click",p),a.addEventListener("click",p),c.addEventListener("click",()=>{let f=s.value.split(`
);u({convert:!0,links:e.flatMap((m,h)=>m===f[h]||m===""||!f[h]?[]:[{before:m,after:f[h]??m}])}),t.remove()}),n.querySelector(".container").addEventListener("click",f=>{f.stopPropagation()})});return document.body.append(t),n.showModal(),l};var $w=async(e,t)=>{let r=Ir(e),o=await Dw([...new Set(r)]);if(!o.convert||o.links.length===0)return;let n=new Map(o.links.map(s=>[s.before,Oe()]));for await(let{link:s,projectCount:i,replaced:a,done:c}of uw(o.links,t)){let l=n.get(s.before);if(!l)return;if(c){l.render({type:"check-circle"},{type:"text",text:"${s.after}", ${a}l. ${i}p.}),setTimeout(()=>l.dispose(),1e3);return}l.render({type:"spinner"},{type:"text",text:"${s.after}", ${a}l. ${i}p.})}};var jw=async(e,t)=>{let r=Ir(e)[0];if(!r)return;let o=window.prompt(Replace "${r}" to this in ${t.map(a=>"/${a}").join(", ")},r)?.replace?.(/[\[\]\n]/g," ")??"";if(o==="")return;let{render:n,dispose:s}=Oe(),i=W(await ct());try{n({type:"spinner"},{type:"text",text:Replacing links in ${t.length} projects...});let a=0,l=(await Promise.all(t.map(async u=>{let[p]=await Promise.all([ci(u,r,o),Se(u,r,(f,{persistent:m})=>{if(m)return[o,...f.map(h=>h.text).slice(1)]},{socket:i})]);if(H(p))throw n({type:"exclamation-triangle"},{type:"text",text:${re(p).name} ${re(p).message}}),TA(re(p));return a++,n({type:"spinner"},{type:"text",text:Replacing links in ${t.length-a} projects...}),W(p)}))).reduce((u,p)=>u+p,0);n({type:"check-circle"},{type:"text",text:Successfully replaced ${l} links.})}finally{await lt(i),setTimeout(s,1e3)}},TA=e=>{let t=new Error;return t.name=e.name,t.message=e.message,t};var Bw=e=>{let t=[scrapbox.Project.name,...e];scrapbox.PopupMenu.addButton({title:r=>{let o=Ir(r).length;return o>1?"update links":o===1?"update a link":""},onClick:r=>{let o=Ir(r).length;o>1?$w(r,t):o===1&&jw(r,t)}})};scrapbox.PopupMenu.addButton({title:e=>/[\n..。]/.test(e)?"\\n":"",onClick:e=>e.replace(/(\w)\n(\w)/g,"$1 $2").replaceAll(
,"").replaceAll(".",.
).replaceAll(".",.
).replaceAll("。",。
)});scrapbox.PopupMenu.addButton({title:e=>/https:\/\/(?:thumb\.|i\.)?gyazo\.com\/[a-z0-9]+/.test(e)?globalThis.GM_fetch?"copy Gyazo OCR":"open Gyazo":"",onClick:async e=>{let t=e.match(/https:\/\/(?:thumb\.|i\.)?gyazo\.com\/([a-z0-9]+)/)?.[1];if(!t)return;if(!globalThis.GM_fetch){window.open(https://gyazo.com/${t});return}let o=(await(await GM_fetch(https://gyazo.com/${t}.json)).json()).metadata?.ocr?.description;if(o)try{await navigator.clipboard.writeText(o)}catch(n){console.error(n),alert(${n.name} ${n.message})}}});scrapbox.PopupMenu.addButton({title:e=>/https:\/\/gyazo\.com\/[a-z0-9]+/.test(e)?"":"",onClick:e=>{let t=e.match(/https:\/\/gyazo\.com\/([a-z0-9]+)/)?.[1];t&&window.open(https://gyazo.com/${t}/transform)}});var Hw=e=>{let t="",r=0;for(let o of e)if(o.type!=="title"){if(o.indent>r)for(let n=r;n<o.indent;n++)t+=Ss(${n!==r?"\\item":""}\\begin{itemize},n*2)+ ;if(o.indent<r)for(let n=r;n>o.indent;n--)t+=Ss("\\end{itemize}",(n-1)*2)+
;r=o.indent,t+=Ss(${r>0?"\\item ":""}${PA(o)},r*2)+
}for(let o=r;o>0;o--)t+=Ss("\\end{itemize}",(o-1)*2)+
${e.content}
\\end{lstlisting},OA=e=>{let t=\\caption{${vt(e.fileName)}}\\label{table:${vt(e.fileName)}},r=Math.max(...e.cells.map(n=>n.length)),o=e.cells.map(n=> ${n.map(s=>s.map(i=>Cn(i)).join("")).join(" & ")}\\\\);return\\begin{table}htbp ${t}
\\centering
\\begin{tabular}{${"c".repeat(r)}}
${o.length===0?"":o.length===1?` \\toprule
${o.join(`
`)}
\\bottomrule: \\toprule
\\midrule
${o.slice(1).join(`
`)}
\\bottomrule`}
\\end{tabular}
\\end{table}},LA=e=>e.nodes.map(t=>Cn(t)).join(""),Cn=e=>{switch(e.type){case"quote":return\\begin{quote}
${Ss(e.nodes.map(t=>Cn(t)).join(""),2)}
\\end{quote};case"image":case"strongImage":return\\begin{figure}hbtp iamge:\\url{${e.src}}
\\end{figure};case"icon":case"strongIcon":return\\textit{${vt(e.path)}};case"strong":return\\textbf{${e.nodes.map(t=>Cn(t)).join("")}};case"formula":return$${e.formula}$;case"decoration":{let t=e.nodes.map(r=>Cn(r)).join("");return e.decos.includes("/")&&(t=\\textit{${t}}),e.decos.some(r=>/\*-/.test(r[0]))&&(t=\\textbf{${t}}),e.decos.includes("_")&&(t=\\uline{${t}}),e.decos.includes("-")&&(t=\\sout{${t}}),t}case"numberList":return${e.number}. ${e.nodes.map(t=>Cn(t)).join("")};case"helpfeel":return\\lstinline!? ${vt(e.text)}!;case"code":return\\lstinline!${vt(e.text)}!;case"commandLine":return\\lstinline!${vt(e.symbol)} ${vt(e.text)}!;case"link":return e.pathType==="absolute"?e.content===""?\\url{${e.href}}:\\href{${e.href}}{${vt(e.content)}}:vt(e.href);case"googleMap":return\\href{${e.url}}{${vt(e.place)}};case"hashTag":return vt(#${e.href});case"blank":case"plain":return vt(e.text)}},NA=[{extensions:["javascript","js"],fileType:"javascript"},{extensions:["typescript","ts"],fileType:"typescript"},{extensions:["cpp","hpp"],fileType:"C++"},{extensions:["c","cc","h"],fileType:"C"},{extensions:["cs","csharp"],fileType:"cs"},{extensions:["markdown","md"],fileType:"markdown"},{extensions:["htm","html"],fileType:"html"},{extensions:["json"],fileType:"json"},{extensions:["xml"],fileType:"xml"},{extensions:["yaml","yml"],fileType:"yaml"},{extensions:["toml"],fileType:"toml"},{extensions:["ini"],fileType:"ini"},{extensions:["tex","sty"],fileType:"tex"},{extensions:["svg"],fileType:"svg"}],CA=e=>{let t=e.replace(/^.*\.(\w+)$/,"$1");return NA.find(r=>r.extensions.includes(t))?.fileType??""},vt=e=>e.replaceAll("\\","\\textbackslash ").replaceAll("#","\\#").replaceAll("%","\\%").replaceAll("$","\\$").replaceAll("&","\\&").replaceAll("~","\\textasciitilde ").replaceAll("^","\\textasciicircum ").replaceAll("_","\\_").replaceAll("{","\\{").replaceAll("}","\\}").replaceAll("|","\\textbar ").replaceAll("<","\\textless ").replaceAll(">","\\textgreater "),Ss=(e,t)=>e.split( ).map(r=>${" ".repeat(t)}${r}).join(
);scrapbox.PopupMenu.addButton({title:"TeX",onClick:e=>{navigator.clipboard.writeText(Hw(Be(e))).catch(t=>{console.error(t),alert(${t.name} ${t.message}
${t.stack})})}});var vc="https://keicho.herokuapp.com/api/";var Ww=async(e,t)=>{if(!window.GM_fetch)return{ok:!1,value:{name:"GMFetchNotAvailableError"}};let r=await window.GM_fetch(${vc}web/,{mode:"cors",method:"POST",body:JSON.stringify({user:"nobody",talk:t,text:e}),headers:{"Content-Type":"application/json"}});if(!r.ok)return{ok:!1,value:{name:"ResponseError",res:r}};let o=await r.json();return{ok:!0,value:{text:o.text,buttons:o.buttons,canInput:o.can_input}}};var Gw=()=>{let{popupMenu:e,render:t}=AA();Md()?.append?.(e);let r=Hr(),o=()=>{requestAnimationFrame(()=>{let n=document.getElementsByClassName("cursor")[0];e.style.top=${parseInt(n.style.top)+parseInt(n.style.height)+4}px})};return r.addChangeListener(o),{render:t,visible:()=>!e.hidden,open:()=>e.hidden=!1,close:()=>e.hidden=!0,toggle:()=>e.hidden=!e.hidden,dispose:()=>{e.remove(),r.removeChangeListener(o)}}},AA=()=>{let e=document.createElement("div"),t=e.attachShadow({mode:"open"});t.innerHTML=
<style>
:host {
position: absolute;
left: 0px;
width:100%;
z-index:300;
user-select:none;
font-family:"Open Sans",Helvetica,Arial,"Hiragino Sans",sans-serif;
pointer-events:none
}
.button-container {
position: relative;
display:inline-block;
max-width:70vw;
min-width:80px;
text-align:center;
background-color:#111;
padding:0 1px;
border-radius:4px;
pointer-events:auto
}
max-width:90vw
}
max-width:90vw
}
.button {
font-size:11px;
color:#eee;
cursor:pointer;
display:inline-block;
padding:0 5px
}
.button:not(:first-of-type) {
border:0;
border-left:1px solid #eee }
.button.selected {
background-color:#222;
text-decoration:underline
}
font-size:13px;
padding:6px;
min-width:12vw
}
font-size:13px;
padding:6px;
min-width:12vw
}
.button div.icon {
height:2em;
max-width:10em;
display:inline-block;
overflow:hidden;
margin-left:1px;
vertical-align:top
}
.button div.icon img {
max-height:100%;
vertical-align:unset
}
</style>
<div class="button-container"></div>
;let r=t.lastElementChild;return{popupMenu:e,render:(...o)=>{r.textContent="",r.append(...o.map(({text:n,onClick:s})=>{let i=document.createElement("div");return i.classList.add("button"),i.textContent=n,s&&i.addEventListener("click",()=>s()),i}))}}};var Vw=async(e="normal")=>{if(!window.GM_fetch)return{ok:!1,value:{name:"GMFetchNotAvailableError"}};let t=await window.GM_fetch(${vc}web/create/?mode=${e},{mode:"cors"});return t.ok?{ok:!0,value:await t.text()}:{ok:!1,value:{name:"ResponseError",res:t}}};var zw=e=>https://keicho.netlify.app/#talk=${e};var qw=e=>{let t=e.split( ),r=t[1]??t[0],o=e===t[0]?"":t[0];return o?[o.trim(),r].join(
):r};var _c=async(e,t,r)=>{let o=Hr(),n=o.lines.findIndex(i=>i.id===t.id);n<0&&(n=o.lines.findIndex(i=>i.text===t.text)),n<0&&(n=Math.min(r,Math.max(0,o.lines.length-1)));let s=o.lines[n].text;return Ui().clear(),o.setPosition({line:n,char:[...s].length}),await He(
${e}),o.getPosition().line};var Kw=e=>Be(e,{hasTitle:!1}).map(t=>{if(t.type==="title")return t.text.trimEnd();let r=" ".repeat(t.indent);switch(t.type){case"codeBlock":return[${r}${t.fileName},...t.content.split(
).map(o=>${r} ${o})].join(
).trimEnd();case"table":return[${r}${t.fileName},...t.cells.map(o=>${r} ${o.flatMap(n=>n.map(s=>Tc(s))).join(" ")})].join(
).trimEnd();case"line":return${r}${t.nodes.map(o=>Tc(o)).join("")}.trimEnd()}}).join(
),Tc=e=>{switch(e.type){case"quote":return> ${e.nodes.map(t=>Tc(t)).join("")};case"helpfeel":case"commandLine":return e.raw;case"strongImage":case"image":case"strongIcon":case"icon":case"googleMap":return"";case"strong":case"decoration":case"numberList":return e.nodes.map(t=>Tc(t)).join("");case"formula":return\\(${e.formula}\\);case"code":return ${e.text} ;case"blank":case"plain":return e.raw;case"hashTag":return e.href;case"link":switch(e.pathType){case"absolute":return e.content? ${e.content} :"";case"root":return e.href.split("/").pop()??"";case"relative":return e.href}}};var An=e=>/^[((]/.test(e);var Yw=async e=>{let t=scrapbox.Page.lines;if(!t)return;let{cursor:r,selection:o}=xt(),n=e?.entire||o.hasSelectionAll(),s=n?t.map(T=>T.text).join(
):o.getSelectedText(),i=e?.botIcon??"[/nishio/nisbot.icon]",{render:a,visible:c,open:l,close:u,dispose:p}=Gw();u();let f=new Set,m=()=>{p();for(let T of f)T()},h=T=>f.add(T),g={text:"Exit",onClick:m},y=e?.talkId||Xw(s)||(n?"":Xw(t.slice(0,1+r.getPosition().line).map(T=>T.text).join(
))),x=!y;if(!y){let T=Vw(e?.mode),S=setTimeout(()=>{a({text:"Start talking..."}),l();let M=0;S=setInterval(()=>{a({text:Start talking${".".repeat(M%3)}}),M++},1e3)},1e3),A=await T;if(clearTimeout(S),!A.ok){if(A.value.name==="GMFetchNotAvailableError"){alert("GM_fetch is not available. Please use Tampermonkey and install GM_fethc.");return}if(A.value.name==="ResponseError"){a({text:Error: ${A.value.res.status} ${A.value.res.statusText}},g),l(),console.error(Error: ${A.value.res.status} ${A.value.res.statusText},await A.value.res.text());return}return}y=A.value}let E=y,k=o.normalizeOrder(o.getRange()),b=n?t.length-1:k.end.line,v=t[b],R=n?"":" ".repeat(Math.min(...t.slice(k.start.line,k.end.line+1).map(T=>kr(T.text)))),O=async T=>{let S=await Ww(T,E);if(!S.ok)switch(S.value.name){case"ResponseError":return a({text:Error: ${S.value.res.status} ${S.value.res.statusText}},g),l(),console.error(Error: ${S.value.res.status} ${S.value.res.statusText},await S.value.res.text()),S;case"GMFetchNotAvailableError":return alert("GM_fetch is not available. Please use Tampermonkey and install GM_fethc."),S}return S},L="",N=async T=>{let S=Kw(T).split(
).map(I=>I.trim()).join(
).trim();S.startsWith(L)&&(S=S.slice(L.length));let A=S.split(
);if(A.length===0)return;if(A.every(I=>An(I))&&(L=S),A.filter(I=>!An(I)).length<2){let I,z;for(let j of A){if(z=await O(j),!z.ok)return z;An(j)||(I=z)}return I??z}let $=0;{let I;for(;$<A.length&&An(A[$]);$++)if(I=await O(A[$]),!I.ok)return I}{let I=await O("まず聞いて");if(!I.ok)return I}for(;$<A.length&&!An(A[$]);$++){let I=await O(A[$]);if(!I.ok)return I}return await O("おしまい")},P=async T=>{if(scrapbox.Layout!=="page"||T==="")return;let S=N(T),A=setTimeout(()=>{a({text:"Asking..."}),l();let j=0;A=setInterval(()=>{a({text:Asking${".".repeat(j%3)}}),j++},1e3)},1e3),M=await S;if(clearTimeout(A),!M||!M.ok)return;let{text:$,buttons:I}=M.value,z=qw($);if(z.trim()){let j=${R}${i}${z.includes(`
)?
${z.split(`
).map(q=> ${R}${q}).join(
)}:z}
${R};b=await _c(j,v,b),v=t[b]}a({text:"Send",onClick:_},{text:"🙂",onClick:()=>He("🙂")},{text:"🙁",onClick:()=>He("🙁")},...I.map(j=>({text:j,onClick:async()=>{b=await _c(j,v,b),v=t[b],await P(j)}})),g),l()},_=async()=>{if(scrapbox.Layout!=="page")return;let T=scrapbox.Page.lines,S=r.getPosition().line,[A,M,$]=MA(T,S,i);A!==""&&(b=$,v=T[b],R=" ".repeat(Math.min(...T.slice(M,$+1).map(I=>kr(I.text)))),await P(A))};return x&&(b=await _c(zw(E),v,b),v=t[b]),await P(s),{ask:_,open:l,close:u,visible:c,exit:m,onExit:h}},Xw=e=>{for(let t of e.split(
).reverse()){let r=t.match(/https?:\/\/keicho\.netlify\.app\/#talk=(\w+)/)?.[1];if(r)return r}},MA=(e,t,r)=>{let o=Math.max(e.findLastIndex((s,i)=>i<t&&s.text.trim().startsWith(r)),1),n=o+mo(o,e)+1;return[e.slice(n,t+1).map(s=>s.text.trim()).join(
).trim(),n,t]};scrapbox.PopupMenu.addButton({title:"",onClick:e=>${e}});scrapbox.PopupMenu.addButton({title:"",onClick:e=>$ ${e}});var Jw=[ko,vo,_o];scrapbox.PopupMenu.addButton({title:e=>{let t=_r({project:scrapbox.Project.name,mode:"noopen",hooks:Jw});return!t||t.hookName.includes("default")?"":t.hookName.includes("task")?"":t.hookName.includes("split")?"":""},onClick:()=>{let e=window.prompt("Create a new page at",scrapbox.Project.name);e&&_r({project:e,mode:"noopen",hooks:Jw})?.()}});scrapbox.PopupMenu.addButton({title:e=>/(https?:\/\/[^\s]+)/g.test(e)?"":"",onClick:e=>{let t=e.replace(/(https?:\/\/[^\s]+)/g,"[$1#.jpg]");if(e!==t)return t}});scrapbox.PopupMenu.addButton({title:"S",onClick:e=>{window.open(https://scrapbox.io/${scrapbox.Project.name}/search/page?q=${e})}});scrapbox.PopupMenu.addButton({title:"",onClick:e=>{let t=e.split(/\n/).map(r=>r.replace(/\[(.*)\]/g,"$1")).join( );if(e!=t)return t}});var IA=[Ou,Pw,Ou,Ow,Aw,Rc(),Mw,_w(),Sw,e=>{if(e.hostname!=="ekitan.com"||!/^\/transit\/(?:route|first|last)\//.test(e.pathname))return e;let t=e.searchParams.get("dt"),r=e.searchParams.get("tm"),o=e.searchParams.get("sr"),n=new URL(e);return n.search="",t&&n.searchParams.append("dt",t),n.pathname.startsWith("/transit/route/")&&(r&&n.searchParams.append("tm",r),o&&n.searchParams.append("sr",o)),n},e=>{if(e.host!==location.host||!e.pathname.startsWith("/api/code/"))return e;let t=encodeURIComponent(${e.origin}${e.pathname});return${e}.endsWith(".svg")?${e}:${e}.endsWith(".mlt")?${e}:e},e=>{if(e.hostname==="raw.githubusercontent.com")return${e};if(e.hostname!=="github.com")return e;let[t,r,o]=e.pathname.match(/^\/([^\\]+)\/([^\\]+)\/blob\/(.+)$/)?.slice?.(1)??[];if(!t||!r||!o)return e;let[,n,s]=e.hash.match(/L(\d+)-L(\d+)/)??e.hash.match(/L(\d+)/)??[];return[https://code2svg.vercel.app/svg/${n&&s?L${n}-${s}/:n?L${n}/:""}https://raw.githubusercontent.com/${t}/${r}/${o}#.svg ${e}]},e=>e.hostname==="github.com"?${e}:e,Uw,Cw()];scrapbox.PopupMenu.addButton({title:e=>/https?:\/\/\S+/.test(e)?"URL":"",onClick:e=>{let t=Iw(e,...IA);if(typeof t=="string")return e===t?void 0:t;t.then(r=>{if(e!==r)return He(r)})}});Bw(["takker","takker-memex","takker-private","takker-books"]);if(!/mobile/i.test(navigator.userAgent)){let e=(t,r)=>{t.trim()!==""&&Yw({mode:r}).then(o=>{if(!o)return;let{ask:n,visible:s,onExit:i}=o,a=c=>{!s()||c.key!=="Enter"||!c.ctrlKey||c.altKey||c.shiftKey||(c.preventDefault(),c.stopPropagation(),n())};qe().addEventListener("keydown",a),i(()=>qe().removeEventListener("keydown",a))})};scrapbox.PopupMenu.addButton({title:()=>"🤖",onClick:t=>e(t)})}var Os=(e,t)=>t.map(r=>r.replace(/@yyyy-MM-dd HH:mm:ss@/g,he(e,"yyyy-MM-dd HH:mm:ss")).replace(/@yyyy-MM-dd@/g,he(e,"yyyy-MM-dd")).replace(/@yyyy-MM-dd(?:([+-])(\d+)(w?))?(?:\((Sun|Mon|Tue|Wed|Thu|Fri|Sat)\))?@/g,(o,n,s,i,a)=>{let c=n?n==="+"?Ue(e,parseInt(s)*(i==="w"?7:1)):Xt(e,parseInt(s)*(i==="w"?7:1)):e;return he(a?Ue(dt(c),UA(a)):c,"yyyy-MM-dd")}).replace(/@yyyy-ww@/g,${yo(e)}-w${${go(e)}.padStart(2,"0")}).replace(/@yyyy-ww([+-])(\d+)(w?)@/g,(o,n,s,i)=>{let a=n==="+"?Ue(e,parseInt(s)*(i==="w"?7:1)):Xt(e,parseInt(s)*(i==="w"?7:1));return${yo(a)}-w${${go(a)}.padStart(2,"0")}}).replace(/@yyyy@/g,${yo(e)}).replace(/@yyyy([+-])(\d+)y@/g,(o,n,s)=>{let i=parseInt(s);return${yo(e)+(n==="+"?i:-i)}})),UA=e=>{switch(e){case"Sun":return 0;case"Mon":return 1;case"Tue":return 2;case"Wed":return 3;case"Thu":return 4;case"Fri":return 5;default:return 6}};var Zw=async(e,t,r,o=new Date(2023,1,3))=>{if(scrapbox.Project.name!==e)return()=>{};let n=scrapbox.Project.pages;await new Promise(l=>{let u=setInterval(()=>{if(n.length===0){n=scrapbox.Project.pages;return}clearInterval(u),l()},2e3)});let s=async()=>{let l=new Date,u={start:o,end:Ue(l,1)},{render:p,dispose:f}=Oe(),m;try{let h=await Qw(t),g=await Qw(r),y=Hi(u).filter(b=>{let v=Os(b,h)[0],R=n.find(O=>O.title===v);return!R||!R.exists}),x=$h(u).filter(b=>{let v=Os(b,g)[0],R=n.find(O=>O.title===v);return!R||!R.exists});if(y.length===0&&x.length===0)return;let E=y.length+x.length;p({type:"spinner"},{type:"text",text:create ${E} review pages...});let k=await ct();if(H(k))throw re(k);m=W(k);for(let b of[...y.map(v=>Os(v,h)),...x.map(v=>Os(v,g))])await Se(e,b[0],(v,R)=>R.persistent?void 0:b,m?{socket:m}:{}),E--,p({type:"spinner"},{type:"text",text:create ${E} review pages...});p({type:"check-circle"},{type:"text",text:created ${y.length+x.length} review pages.}),o=l}catch(h){p({type:"exclamation-triangle"},{type:"text",text:h instanceof Error?${h.name} ${h.message}:"Unknown error! (see developper console)"}),console.error(h)}finally{m&&await lt(m),await Ie(1e3),f()}},i=s(),a=new Date,c=setInterval(()=>{let l=new Date;ht(a,l)||(a=l,i.then(()=>i=s()))},1e4);return()=>(clearTimeout(c),i)},Qw=async e=>{let t=await li(e[0],e[1],e[2]);if(H(t)){let o=new Error;throw o.name=re(t).name,o.message=${re(t).message} at fetching /${e0}/${e1}/${e2},o}let r=W(t).split( );if(r.length===0)throw new Error(template "/${e0}/${e1}/${e2}" is empty!);return r};var wt=e=>${e.getFullYear()}-${Jt(e.getMonth()+1)}-${Jt(e.getDate())},Ls=e=>{let[t,r,o]=e.split("-").map(n=>parseInt(n,10));return{year:t,month:r,date:o}},Ns=e=>${zi(e)}-w${Jt(go(e))},Pc=e=>{let[t,r]=e.split("-w").map(o=>parseInt(o,10));return dt(Dh(new Date(t,0,1),r))};var eR="takker-memex",tR=async(e=new Date(2023,0,24))=>{if(scrapbox.Project.name!==eR)return()=>{};let t=scrapbox.Project.pages;await new Promise(i=>{let a=setInterval(()=>{if(t.length===0){t=scrapbox.Project.pages;return}clearInterval(a),i()},2e3)});let r=async()=>{let i=new Date,c=Hi({start:e,end:i}).filter(f=>{let m=Yt(f),h=t.find(g=>g.title===m);return!h||!h.exists});if(c.length===0)return;let{render:l,dispose:u}=Oe(),p;try{l({type:"spinner"},{type:"text",text:load tasks for ${c.length} diary pages});let f=new Map,m=new Set,h=c.map(x=>wt(x));for(let{title:x,links:E,project:k}of await Pn(["takker","takker-memex"]))for(let b of[x,...E]){let v=cr(b);if(!v)continue;if(H(v)){let{name:L,message:N}=re(v);console.error(/${k}/${b}: ${L} ${N});continue}let R=ne(b);if(m.has(R))continue;m.add(R);let O=W(v);if(O.freshness?.status!=="done")for(let L of c){let N=ts(O,L);if(!N)continue;let P=wt(N.base);h.includes(P)&&(f.set(P,[...f.get(P)??[],N]),qr(O))}}let g=await ct();if(H(g))throw re(g);p=W(g);let y=0;l({type:"spinner"},{type:"text",text:create 0/${c.length} diary pages...});for(let x of c){let E=Yt(x),k=f.get(wt(x))?.map?.(R=>_e(R))??[],b=#${he(x,"yyyy-MM-dd")},v=#${he(x,"yyyy-MM-dd HH:mm:ss")};await Se(eR,E,(R,{persistent:O})=>{if(O)return;let L=[...R.map(N=>N.text),...k];return L.some(N=>N.includes(b))?wo(L):wo([...L,v])},{socket:p}),y++,l({type:"spinner"},{type:"text",text:create ${y}/${c.length} diary pages...})}l({type:"check-circle"},{type:"text",text:created ${c.length} diary pages.}),e=i}catch(f){l({type:"exclamation-triangle"},{type:"text",text:f instanceof Error?${f.name} ${f.message}:"Unknown error! (see developper console)"}),console.error(f)}finally{p&&await lt(p),await Ie(1e3),u()}},o=r(),n=new Date,s=setInterval(()=>{let i=new Date;ht(n,i)||(n=i,o.then(()=>o=r()))},1e4);return()=>(clearTimeout(s),o)};tR(new Date(2024,11,24));var Cu=(...e)=>{let t=e.flatMap(o=>{if(typeof o=="string")return[Sc(o)];if(Array.isArray(o.type))return[rR(o.type)];switch(o.type){case"text":return[Sc(o.text)];case"group":{let n=Cu(...o.items);return n?[n]:[]}default:return[rR(o.type)]}});if(t.length===0)return;if(t.length===1)return t[0];let r=document.createElement("span");return r.classList.add("item-group"),r.append(...t),r},Sc=e=>{let t=document.createElement("span");return t.classList.add("item"),t.append(e),t},rR=e=>{if(Array.isArray(e)){let t=document.createElement("span");t.classList.add("fa-stack");let r=Nu(e[0]);r.classList.add("fa-stack-1x");let o=Nu(e[1]);return o.classList.add("fa-stack-1x"),t.append(r,o),Sc(t)}return Sc(Nu(e))},Nu=e=>{let t=document.createElement("i");switch(e){case"spinner":t.classList.add("fa","fa-spinner");break;case"check-circle":case"gyazo":case"ocr":case"calendar":case"trim":t.classList.add("kamon",kamon-${e});break;case"markdown":case"google":t.classList.add("fab",fa-${e});break;case"copy":case"clipboard":t.classList.add("far",fa-${e});break;default:t.classList.add("fas",fa-${e});break}return t};var{cursor:Au,selection:Mu}=xt(),nR=e=>{let{className:t,display:r,onClick:o,context:n="page"}=e,s=document.createElement("div");t&&s.classList.add(t),oR(n)||(s.style.display="none");let i=(...l)=>{if(l.length===1&&l[0]===""){s.style.display="none";return}s.textContent="";let u=Cu(...l);u&&s.append(u)},a=typeof r=="function"?r({cursor:Au,selection:Mu}):r;return i(...Array.isArray(a)?a:[a]),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),o({cursor:Au,selection:Mu,setDisplay:i})}),{status:s,context:n,update:()=>{if(oR(n)?s.removeAttribute("style"):s.style.display="none",typeof r=="function"){let l=r({cursor:Au,selection:Mu});i(...Array.isArray(l)?l:[l])}}}},oR=e=>e!=="stream"?scrapbox.Layout===e:scrapbox.Layout==="list"&&location.pathname.startsWith("/stream");var sR=()=>{let e=document.createElement("style");e.textContent=.status-bar.left { position: absolute;
top: 0;
left: 0;
max-width: 80vw;
overflow-x: auto;
overflow-y: hidden;
}
.status-bar.left:empty {
display: none;
}
.status-bar.left > div {
border-left: unset;
}
.status-bar.left > div {
border-right: 1px solid var(--tool-light-color, #a9aaaf); }
.status-bar.left > div:first-of-type {
border-top-left-radius: unset;
}
.status-bar.left > div:last-of-type {
border-top-right-radius: 3px;
},document.head.append(e);let t=document.createElement("div");return t.classList.add("status-bar","left"),document.getElementsByClassName("footer")[0].append(t),t};var Iu=new Set,{cursor:FA,selection:DA}=xt(),$A=sR();var Vt=e=>{let t=nR(e);return Iu.add(t),$A.append(t.status),()=>{t.status.remove(),Iu.delete(t)}},Uu=()=>{for(let{update:e}of Iu)e()};FA.addChangeListener(()=>Uu());DA.addChangeListener(()=>Uu());scrapbox.addListener("layout:changed",Uu);var iR=async(e,t)=>{try{let r=t.getSelectedText()||tt(e.getPosition().line);if(!r)return;await navigator.clipboard.writeText(r)}catch(r){console.error(r),alert(Faild to copy:
${JSON.stringify(r)})}},aR=async(e,t)=>{try{let r=t.hasSelection(),o=r?t.getRange().start.line:e.getPosition().line,n=r?t.getSelectedText():tt(o);if(!n)return;await navigator.clipboard.writeText(n),r||t.setRange({start:{line:o,char:0},end:{line:o,char:n.length}}),e.focus(),rt("Delete")}catch(r){console.error(r),alert(Faild to cut:
${JSON.stringify(r)})}},cR=async e=>{try{let t=await navigator.clipboard.readText();if(!t)return;e.focus(),await He(t)}catch(t){console.error(t),alert(Faild to paste:
${JSON.stringify(t)})}},lR=e=>{e.getVisible()&&e.hasFocus&&e.visiblePopupMenu?e.hide():(e.focus(),e.showEditPopupMenu())};globalThis.addEventListener("keydown",e=>{if(e.key!=="i"||e.shiftKey||e.altKey||e.metaKey||!e.ctrlKey||e.isComposing)return;let t=Hr();t.hasFocus||(e.preventDefault(),t.focus())});var Fu=class{get editor(){return document.getElementById("editor")}get lines(){return document.getElementsByClassName("lines")?.[0]}get computeLine(){return document.getElementById("compute-line")}get grid(){return document.getElementsByClassName("related-page-list clearfix")?.[0]?.getElementsByClassName("grid")?.[0]}get cursorLine(){return document.getElementsByClassName("cursor-line")?.[0]}get textInput(){return document.getElementById("text-input")}get cursor(){return document.getElementsByClassName("cursor")?.[0]}get selections(){return document.getElementsByClassName("selections")?.[0]}get popupMenu(){return document.getElementsByClassName("popup-menu")?.[0]}get pageMenus(){return document.getElementsByClassName("page-menu")?.[0]}get pageInfoMenu(){return document.getElementById("page-info-menu")}get pageEditMenu(){return document.getElementById("page-edit-menu")}get pageEditButtons(){return this.pageEditMenu.nextElementSibling.getElementsByTagName("a")}get randomJumpButton(){return document.getElementsByClassName("random-jump-button")?.[0]}get pageCustomButtons(){return document.getElementsByClassName("page-menu-extension")}},pR=new Fu;var uR=e=>new Promise(t=>setTimeout(t,e));async function tr(e,{wait:t=1}={}){let r=pR.textInput;r.focus(),r.value=e;let o=document.createEvent("UIEvent");o.initEvent("input",!0,!1),r.dispatchEvent(o),await uR(t)}if(Bo()){let e="Timestamp";scrapbox.PageMenu.addMenu({title:e,image:"https://img.icons8.com/ios/180/FFFFFF/add-time.png"}),scrapbox.PageMenu(e).addItem({title:"#YYYY-MM-DD HH:mm:ss ",onClick:()=>tr(he(new Date,"#yyyy-MM-dd HH:mm:ss "))}),scrapbox.PageMenu(e).addItem({title:"YYYY-MM-DD HH:mm:ss ",onClick:()=>tr(he(new Date,"yyyy-MM-dd HH:mm:ss "))}),scrapbox.PageMenu(e).addItem({title:"YYYY-MM-DD",onClick:()=>tr(he(new Date,"yyyy-MM-dd"))}),scrapbox.PageMenu(e).addItem({title:"HH:mm:ss ",onClick:()=>tr(he(new Date,"HH:mm:ss "))}),scrapbox.PageMenu(e).addItem({title:"⬜",onClick:()=>tr("⬜")}),scrapbox.PageMenu(e).addItem({title:"🚧",onClick:()=>tr("🚧")}),scrapbox.PageMenu(e).addItem({title:"⌛",onClick:()=>tr("⌛")}),scrapbox.PageMenu(e).addItem({title:"📝",onClick:()=>tr("📝")}),scrapbox.PageMenu(e).addItem({title:"✅",onClick:()=>tr("✅")}),scrapbox.PageMenu(e).addItem({title:"❌",onClick:()=>tr("❌")})}scrapbox.PageMenu.addItem({title:"Open kakeru",image:"https://i.kakeru.app/15c3b1a40b6b3c2ebd68f33f4c86b3f6-opaque.png",onClick:()=>window.open("https://kakeru.app")});var Cs=e=>{let{fetch:t=(n,s)=>globalThis.fetch(n,s),baseURL:r="https://scrapbox.io/",...o}=e;return{fetch:t,baseURL:r,...o}};var HA=(e,t,r)=>{let{sid:o,baseURL:n,followRename:s,projects:i}=Cs(r??{}),a=new URLSearchParams([["followRename",${s??!0}],...i?.map?.(c=>["projects",c])??[]]);return new Request(${n}api/pages/${e}/${ae(t)}?${a},o?{headers:{Cookie:ue(o)}}:void 0)},Du=(e,t,r)=>Cs(r??{}).fetch(HA(e,t,r));function mR(e,t,r){let o=Ki(e,t)/1e3;return qi(r?.roundingMethod)(o)}function fR(e,t){let r,o=t?.in;return e.forEach(n=>{!o&&typeof n=="object"&&(o=fe.bind(null,n));let s=D(n,o);(!r||r<s||isNaN(+s))&&(r=s)}),fe(o,r||NaN)}var $u=e=>{let t=Math.round(e/5),r=Math.floor(t/6),o=Math.floor((t-r*6)/3),n=t-r*6-o*3;return${r>20?🍅x${(e/30).toFixed(1)}:"🍅".repeat(r)}${"🍊".repeat(o)}${"🍓".repeat(n)}};var WA=()=>{let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.right="0",e.style.textAlign="right",e},Mn=new Map,Oc,ju=()=>{for(let t of Mn.values())t.remove();Mn.clear();let e=()=>GA(ft());if(scrapbox.Layout!=="page"){if(scrapbox.removeListener("lines:changed",e),!Oc)return;clearInterval(Oc),Oc=void 0;return}e(),scrapbox.addListener("lines:changed",e),Oc=setInterval(e,60*1e3)},GA=e=>{for(let t of e){let r=ot(t.text);if(!r?.record?.start){Mn.get(t.id)?.remove?.(),Mn.delete(t.id);continue}let o=Mn.get(t.id)??WA();vr(t.id)?.append?.(o),Mn.set(t.id,o),o.textContent=$u(rn(r.record.end??new Date,r.record.start))}};scrapbox.Project.name==="takker-memex"&&(ju(),scrapbox.addListener("page:changed",ju),scrapbox.addListener("lines:changed",ju));var VA=e=>{let[t,r]=e.reduce((o,{text:n})=>{let s=ot(n);return s?.record?.start?s.record.end?(o[1].push(s.record.end),o):(s.record.start&&o[0].push(s.record.start),o):o},[[],[]]);if(t.length===0&&t.push(...r),t.length!==0)return fR(t)},zA=async(e,t)=>{let[r,o]=await Promise.all([Du(e,Yt(t),{fetch:dR}),Du(e,Yt(Xt(t,1)),{fetch:dR})]),n=r.ok?(await r.json()).lines:[];return o.ok&&n.push(...(await o.json()).lines),n},dR=async(e,t)=>{let r=await Br(new Request(e,t));return!r||mR(new Date,new Date(${r.headers.get("Date")}))>=60?globalThis.fetch(e,t):r},{render:qA}=Oe(),hR=async()=>{let e=VA(await zA("takker-memex",new Date))??ir(new Date);qA({type:"text",text:$u(rn(new Date,e))})};hR();setInterval(hR,60*1e3);async function gR(e,{from:t,to:r,merge:o}){if(t===r)return{success:!0,dup:!1};let n=await Ft(t,e);if(H(n))return{success:!1,at:"from",name:re(n).name,message:re(n).message};let s=W(n);if(!s.persistent)return{success:!1,at:"from",name:"EmptyPageError",message:"The request page is empty."};let i=await Ft(r,e);if(H(i))return{success:!1,at:"to",name:re(i).name,message:re(i).message};let a=W(n);return a.persistent&&!o?{success:!1,at:"to",name:"NoEmptyPageError",message:The same page already exists in "/${r}"}:(await Se(r,e,c=>[...c,...s.lines.slice(1)].map(l=>l.text)),await _f(t,e),{success:!0,dup:a.persistent})}var Bu=async()=>{let e=scrapbox.Page.title,t=scrapbox.Project.name,r=globalThis.prompt(Take "/${t}/${e}" from "${t}" to:,"takker");if(!r)return;let{render:o,dispose:n}=Oe();o({type:"spinner"},{type:"text",text:/${t}/${e} → /${r}/${e}});try{let s=await gR(e,{from:t,to:r,merge:!0});if(!s.success){o({type:"exclamation-triangle"},{type:"text",text:${s.name} ${s.message}});return}return o({type:"check-circle"},{type:"text",text:Moved ${s.dup?"and merged ":""}to "/${r}/${e}".}),https://scrapbox.io/${r}/${ae(e)}}catch(s){o({type:"exclamation-triangle"},{type:"text",text:s instanceof Error?${s.name} ${s.message}:"Unknown error! (see developper console)"}),console.error(s)}finally{setTimeout(()=>n(),1e3)}};scrapbox.PageMenu.addItem({title:"Transport",onClick:async()=>{await Bu()}});scrapbox.PageMenu.addItem({title:"Transport and Open",onClick:async()=>{let e=await Bu();e&&window.open(e)}});var KA="button.";document.getElementById("editor").addEventListener("click",async e=>{let t=e.target;if(t.tagName==="IMG"&&t.classList.contains("icon")&&t.title.endsWith("-button")){e.preventDefault(),e.stopImmediatePropagation();try{let r=../${encodeURIComponent(t.title)}/${KA},{execute:o}=await import(r);o()}catch(r){console.log(r)}}});scrapbox.PageMenu.addItem({title:"Copy link for Markdown",onClick:()=>{let e=scrapbox.Page.title.replaceAll(" ","_").replace(/[/?#\{}^|<>]/g,t=>encodeURIComponent(t));navigator.clipboard.writeText(${scrapbox.Page.title}(https://${location.hostname}/${scrapbox.Project.name}/${e}${location.hash})).catch(t=>alert(${t.name}: ${t.message}))}});br.PageMenu.addMenu({image:"https://img.icons8.com/ios/180/FFFFFF/inbox.png",title:"~task",onClick:()=>{let{cursor:e,selection:t}=xt(),r=e.getPosition().line,o=t.getSelectedText(),n=o||e.lines[r].text,s=n.split( );o||t.setRange({start:{line:r,char:0},end:{line:r,char:n.length}}),He(s)}});var As=e=>_n(...C(()=>{let t={tasks:[],errors:[],load:async()=>{},loading:!1},r=Promise.resolve();return[o=>{t.load=()=>(r=(async()=>{await r,t={...t,loading:!0},o(),await cc(e,60),t={...t,loading:!1},o()})(),r);let n=()=>{r=(async()=>{await r,t={...t,loading:!0},o();let[s,i]=XA(await Pn(e));t={...t,tasks:s,errors:i,loading:!1},o()})()};return n(),ac(e,n)},()=>t]},e)),XA=e=>{let t=new Set,r=[],o=[];for(let{title:n,links:s,project:i}of e)for(let a of[n,...s]){let c=ne(a);if(t.has(c))continue;t.add(c);let l=cr(a);if(l){if(H(l)){o.push({project:i,title:a,...re(l)});continue}r.push({project:i,title:a,...W(l)})}}return[r,o]};var Lc=()=>{let[e,t]=$r(YA,{isOpen:!1,prevOverflowY:""}),r=Ve(null),o=U(()=>{t(i=>{r?.current?.showModal?.();let a=r?.current?.open??!1,c=i.isOpen?i.prevOverflowY:document.documentElement.style.overflowY;return document.documentElement.style.overflowY="hidden",{isOpen:a,prevOverflowY:c}})},[]),n=U(()=>{t(i=>{r?.current?.close?.();let a=r?.current?.open??!1;return a?{isOpen:a,prevOverflowY:i.prevOverflowY}:(i.prevOverflowY?document.documentElement.style.overflowY=i.prevOverflowY:document.documentElement.style.removeProperty("overflow-y"),{isOpen:a})})},[]),s=C(()=>{let i;return a=>{if(!a){i?.(),r.current=null;return}let c=new AbortController;a.addEventListener("cancel",n,{signal:c.signal}),a.addEventListener("click",l=>{if(l.target!==l.currentTarget){l.stopPropagation();return}n()},{signal:c.signal}),i=()=>{c.abort()},r.current=a}},[n]);return{isOpen:e.isOpen,open:o,close:n,ref:s}},YA=(e,t)=>{let r=t(e);return e.isOpen===r.isOpen&&e.prevOverflowY===r.prevOverflowY?e:r.isOpen?r:{isOpen:!1}};var Ms=String.raw.fa,.far{font-weight:900;font-family:"Font Awesome 5 Free";-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.far{font-weight:400}.fa-spinner{animation:spin 2s infinite linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.fa-spinner:before{content:"\f110"}.fa-sync:before{content:"\f021"}.fa-bookmark:before{content:"\f02e"}.fa-fw{text-align:center;width:1.25em}.kamon:before{font-family:AppIcons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-variant:normal;font-weight:400;text-decoration:none;text-transform:none}.kamon-check-circle:before{content:"\e018"}.timeline-wrap{display:flex;flex-direction:column;height:100%;overflow-y:hidden;--timeline-bg: var(--dropdown-menu-bg, #fff);--timeline-text-color: var(--page-text-color, #4a4a4a);--timeline-link-color: var(--page-link-color, #5e8af7);--row-header-width: 40px;--timeline-border-color: #888;--timeline-border: solid 1px var(--timeline-border-color);--timeline-hour-height: 40px;background-color:var(--timeline-bg);color:var(--timeline-text-color);.column-header{flex:none;display:flex;flex-direction:row;.cell{flex:1 1 1px;h2{font-weight:400;margin:0;text-align:center;width:100%}}}.week-container{position:relative;height:100%;overflow-y:auto;scrollbar-width:none;.week{flex:auto;display:flex;width:100%;.borders{.border{height:var(--timeline-hour-height)}.border:after{content:attr(data-time);font-size:10px;text-align:right;border-top:var(--timeline-border);position:absolute;width:100%;margin-top:-1px;pointer-events:none}}.timeline{flex:auto;border-left:var(--timeline-border);position:relative;.indicator{position:absolute;top:calc(var(--start) * 40px - .5px);width:100%;height:1px;background-color:red}.copy{position:absolute;top:1.5em}.event{position:absolute;top:calc(var(--start) * 40px - 1px);height:calc(40px * var(--duration) / 60);outline:none;--event-bg2: var(--timeline-text-color);--event-bg: var(--timeline-bg);--event-bg-ratio: 50%;--event-color-ratio: 0%;--event-border-color-ratio: 0%;background-color:color-mix(in srgb,var(--event-bg) var(--event-bg-ratio),var(--event-bg2));color:color-mix(in srgb,var(--event-bg) var(--event-color-ratio),var(--timeline-text-color));border:var(--timeline-border);border-color:color-mix(in srgb,var(--event-bg) var(--event-border-color-ratio),var(--timeline-border-color));border-radius:4px;overflow:hidden;text-wrap:nowrap;max-width:100%;text-overflow:ellipsis}.eventdata-status=done{--event-bg-ratio: 90%;--event-color-ratio: 50%;--event-border-color-ratio: 50%}.eventdata-status=expired{font-weight:700}a.event{--event-bg2: var(--timeline-link-color);text-decoration:none}}.timeline:first-child{border-right:var(--timeline-border)}}}}.wedget{position:fixed;top:60px;left:10px;max-height:calc(90vh - 60px);max-width:100px;width:calc(100vw / 767 * 100 - 10px);min-width:60px;border:solid 1px #888;border-radius:4px;display:flex;flex-direction:column;background-color:var(--dropdown-menu-bg, #fff);color:var(--page-text-color, #4a4a4a);&:not(.open){display:none}}dialog{flex-direction:column;align-items:center;row-gap:10px;&::backdrop{background-color:#000c}padding:10px;background:unset;margin-top:unset;margin-bottom:unset;border:unset;height:unset;overflow-y:hidden;&open{display:flex}>*{color:var(--page-text-color, #4a4a4a);background-color:var(--dropdown-menu-bg, #fff);border:1px solid rgba(0,0,0,.2);border-radius:6px}}@media (min-width: 768px){dialog{padding:30px 0;--item-width: 600px}}.result{padding:15px;width:calc(var(--item-width, 100%) - 30px);overflow-y:scroll}.controller{padding:5px;width:calc(var(--item-width, 100%) - 10px);display:flex;flex-wrap:wrap;flex:none;gap:.2em}.progress{flex-grow:1;>*{padding:0 2px}}a{text-decoration:none;color:var(--page-link-color, #5e8af7);&:hover{color:var(--page-link-hover-color, #2d67f5)}}button{cursor:pointer;background:unset;color:unset;border:unset}.copy,.close,.today{font-family:"Font Awesome 5 Free"}.navi{font-family:AppIcons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-variant:normal;font-weight:400;text-decoration:none;text-transform:none}.close,.today{font-weight:900}ul{list-style-type:none;word-break:break-all}.task-list li:not(data-freshness^="-"):not(data-freshness="0"){font-weight:700}.scheduler details li{&data-status=done{opacity:.4}&data-status=expired{font-weight:700}}.task-list li{&data-type=deadline .label.type{color:var(--takker-scheduler-label-deadline-color, rgb(255, 75, 0))}&data-type=todo .label.type{color:var(--takker-scheduler-label-todo-color, rgb(246, 170, 0))}&data-type=note .label.type{color:var(--takker-scheduler-label-note-color, rgb(200, 200, 203))}&data-type=up-down .label.type{color:var(--takker-scheduler-label-up-down-color, rgb(77, 196, 255))}}:is(data-page-no=expired,data-page-no=errors) li{opacity:1!important}.scheduler{--takker-scheduler-summary-meter-width: 10em;overflow-y:hidden}.label{display:inline-block;font-size:90%;padding:0 3px}.type{text-align:center;width:2.5em;border:1px solid;border-radius:3px}.freshness{text-align:right;width:2.5em}.start,.duration{text-align:right;width:3em} ;var In=({text:e,title:t})=>{let[r,o]=J(""),n=U(async s=>{s.preventDefault(),s.stopPropagation();try{await navigator.clipboard.writeText(e),o("Copied"),await Ie(1e3),o("")}catch(i){alert(Failed to copy the code block
Error:${i instanceof Error?i.message:i}),console.error(i)}},[e]);return d("button",{type:"button",className:"copy",title:t??"Copy",onClick:n,children:r})};var JA=60*60*24*1e3,yR=(e,t)=>{let r=ye(e.refDate),o=(t.getTime()-r.getTime())/JA;switch(r.setHours(0),r.setMinutes(0),e.status){case"done":return-1/0;case"deadline":return o/(e.speed??1);case"todo":return Math.min(o/(e.speed??1),0);case"note":return t.getTime()<r.getTime()?-1/0:-o/(e.speed??1);case"up-down":{let n=e.speed??30;return n*(-1+Math.cos(Math.PI*2*o/n))}}};var bR=(e,t)=>{if(t.score!==e.score)return t.score-e.score;let r=xR(e.freshness),o=xR(t.freshness);return r!==o?o-r:$t(pr(e),pr(t))?-1:1},xR=e=>{switch(e.status){case"todo":return 3;case"note":return 2;case"deadline":return 5;case"up-down":return 1;case"done":return 0}};var Is=({loading:e,onClick:t})=>e?d("div",{children:d("i",{className:"fa fa-spinner"})}):d("button",{type:"button",className:"navi reload",onClick:t,children:""});var Un=()=>{let[e,t]=J(new Date);return oe(()=>{let r=setInterval(()=>t(new Date),6e4);return()=>{clearInterval(r)}},[]),e};var ER=e=>{switch(e){case"todo":return"ToDo";case"note":return"覚書";case"deadline":return"締切";case"up-down":return"浮遊";case"done":return"完了"}};var wR=(e,t)=>new URL(/${e.project}/${ae(e.title)},t??location.href);var Nc=({children:e,project:t,title:r,className:o,...n})=>d("a",{...n,className:[o??"","page-link"].join(" "),type:"link",href:wR({project:t,title:r}).pathname,...t===scrapbox.Project.name?{rel:"route"}:{rel:"noopener noreferrer",target:"_blank"},children:e});var RR=({action:e,pActions:t})=>{let r=C(()=>ER(e.freshness.status),[e.freshness.status]),o=C(()=>ar(pr(e)).slice(11)||" ",[pr(e)]),n=C(()=>es(e),[e]),s=Math.floor(Math.round(e.score)/7),i=Un(),a=C(()=>e.executed!==void 0&&xo(Vr(ye(e.executed.start),e.executed.duration),i),[e.executed?.start,e.executed?.duration,i]),c=C(()=>[...t,e].map(l=>${l.raw}).join( ),[t,e]);return d("li",{"data-type":e.freshness.status,"data-freshness":e.score.toFixed(0),"data-level":s,...s<0?{style:{opacity:QA(e).toFixed(2)}}:{},children:[d(In,{text:c,title:"ここまでコピー"}),d("span",{className:"label type",children:r}),d("i",{className:label far fa-fw${a?" fa-bookmark":""}}),d("span",{className:"label freshness",children:e.score.toFixed(0)}),d("time",{className:"label start",children:o}),d("span",{className:"label duration",children:[n,"m"]}),d(Nc,{project:e.project,title:e.raw,children:e.name})]})},QA=e=>Math.max(.8*Math.exp(Math.log(8/7)/7*e.score),.05);var kR=(e=wt(new Date))=>{let[t,r]=J(e),o=U(()=>{r(s=>{switch(s){case"errors":return"expired";case"expired":return wt(new Date);default:{let i=ye(Ls(s));return i.setDate(i.getDate()+1),wt(i)}}})},[]),n=U(()=>{r(s=>{let i=wt(new Date);switch(s){case"errors":return"errors";case"expired":return"errors";case i:return"expired";default:{let a=ye(Ls(s));return a.setDate(a.getDate()-1),wt(a)}}})},[]);return{pageNo:t,next:o,prev:n}};var Cc=(e,t)=>oe(()=>(scrapbox.on(e,t),()=>scrapbox.off(e,t)),[]);var Us=(e,t)=>{let r=Ve({...t});oe(()=>(Object.assign(r.current,t),()=>{for(let o of Object.keys(t))delete r.current[o]}),[...Object.keys(t)].sort().map(o=>t[o])),oe(()=>{e(r.current)},[e])};var vR=e=>{let t=document.createElement("div");t.dataset.userscriptName="takker-workflow@0.0.1/next-action-viewer";let r=t.attachShadow({mode:"open"});return document.body.append(t),new Promise(o=>mt(d(ZA,{getController:o,projects:e}),r))},ZA=({getController:e,projects:t})=>{let{tasks:r,errors:o,load:n,loading:s}=As(t),{pageNo:i,next:a,prev:c}=kR(),l=C(()=>{if(i==="errors")return o.map(g=>({name:${g.title}
name:${g.name}
message:${g.message},raw:g.title,freshness:{refDate:{year:9999,month:1,date:1},status:"todo"},project:g.project,generated:!0,score:0}));if(i==="expired"){let g=new Date;return r.flatMap(y=>!lr(y)&&$t(Zh(y),bt(g))&&y.freshness===void 0&&y.recurrence===void 0?[{...y,score:0,freshness:{refDate:y.executed.start,status:"todo"}}]:[]).sort((y,x)=>$t(pr(y),pr(x))?-1:0)}let h=ye(Ls(i));return r.flatMap(g=>{if(!g.freshness)return[];if(qr(g))return[];let y=yR(g.freshness,h);return y>-999?[{...g,score:y}]:[]}).sort(bR)},[r,o,i]),{ref:u,open:p,close:f}=Lc();Us(e,{open:p,close:f});let m=C(()=>[i,...l.map(h=> ${h.raw})].join( ),[l,i]);return Cc("page:changed",f),d(Y,{children:[d("style",{children:Ms}),d("dialog",{ref:u,children:[d("div",{className:"controller",children:[d(In,{text:m,title:"Copy All Tasks"}),d("span",{children:i}),d("button",{type:"button",className:"navi left",onClick:c,children:""}),d("button",{type:"button",className:"navi right",onClick:a,children:""}),d(Is,{loading:s,onClick:n}),d("button",{type:"button",className:"close",onClick:f,children:""})]}),d("ul",{className:"result task-list","data-page-no":i,children:l.map((h,g)=>d(RR,{action:h,pActions:l.slice(0,g)},h.raw))})]})]})};var Mc=(e,t)=>/${e}/${ne(t)},Fs=new Map,Hu=new Map,_R=(e,t)=>{Fs.set(e,t);for(let r of Hu.get(e)??[])r(t)},Ac=()=>{Ho!==void 0&&(clearInterval(Ho),Ho=void 0);let e=scrapbox.Project.name,t=scrapbox.Page.title??"",r=Mc(e,t);if(!Fs.has(r))return;let o=ft().map(n=>n.text);Ho=setInterval(()=>{ne(t)===ne(o[0])&&(_R(r,o),Ho!==void 0&&(clearInterval(Ho),Ho=void 0))},1e3)},Ho;scrapbox.on("page:changed",()=>{scrapbox.off("lines:changed",Ac);let e=scrapbox.Project.name,t=scrapbox.Page.title??"",r=Mc(e,t);Fs.has(r)&&scrapbox.on("lines:changed",Ac)});var e1=(e,t)=>{let r=Mc(e,t),o=Fs.get(r);return o||(Fs.set(r,[]),Ft(e,t).then(n=>{if(H(n))return[];let s=W(n).lines.map(i=>i.text);_R(r,s),t===scrapbox.Page.title&&!scrapbox.listeners("lines:changed").includes(Ac)&&scrapbox.on("lines:changed",Ac)})),o??[]},TR=(e,t)=>{let[r,o]=J(e1(e,t));return oe(()=>{let n=Mc(e,t),s=Hu.get(n)??new Set;return s.add(o),Hu.set(n,s),()=>{s.delete(o)}},[e,t]),r};var Wu=e=>e.duration===void 0?void 0:bt(Vr(ye(e.start),e.duration)),Gu=(e,t)=>{let r=ye(e.start),o=t.getTime(),n=Math.round((o-r.getTime())/(60*1e3));if(n<=0)return[void 0,e];if(e.duration<=n)return[e,void 0];let s={start:e.start,duration:n};return[s,{start:Wu(s),duration:e.duration-n}]};var Wo=e=>"title"in e,t1=e=>e.record?.duration!==void 0,PR=(e,t)=>Wo(e)&&e.status==="done"?e.status:t1(e)?Wo(e)&&e.executed?$t(bt(t),e.executed.start)?"moved":"expired":"done":$t(Wu(e.plan),bt(t))?Wo(e)?"expired":"done":"undone";var SR=(e,t)=>{let r=cr(e.title.slice(1,-1));if(!e.plan.start)return;let o={name:r&&Ne(r)?W(r).name:e.title,plan:{start:bt(e.plan.start),duration:(e.plan.duration??0)/60}};if(e.record.start&&(o.record={start:bt(e.record.start)},e.record.end&&(o.record.duration=rn(e.record.end,e.record.start))),!r||H(r))return o;let n=W(r),s={...o,title:n.raw,project:t};return n.freshness&&(s.status=n.freshness.status),lr(n)||(s.executed=n.executed),s},Vu=(e,t)=>{let r=Zi(e);return r!==void 0?{name:e.name,project:t,title:r,executed:e.executed,plan:e.executed,status:e.freshness?.status}:{name:e.name,plan:e.executed}};var OR=(e,t,r)=>{let o=[zu(e,Xt(t,1),r),zu(e,t,r),zu(e,Ue(t,1),r)],n=C(()=>o.flat(),o);return C(()=>{let s=ir(t),i=Ih(t);return n.flatMap(a=>{let[,c]=Gu(a.plan,s);if(!c)return[];let[l]=Gu(c,i);if(!l)return[];let{plan:u,...p}=a;return[{plan:l,...p}]}).sort((a,c)=>$t(a.plan.start,c.plan.start)?-1:0)},[n,t])},zu=(e,t,r)=>{let o=TR(e,Yt(t)),n=C(()=>o1(o,e),[o,e]);return C(()=>n.length!==0?n:r1(t,r),[n,t,r])},r1=(e,t)=>t.flatMap(r=>{if(r.freshness?.status==="done")return[];if(lr(r))return[];if(qr(r)){let n=Qi(r,e);return n?[Vu(n,r.project)]:[]}let o=ye(r.executed.start);return ht(o,e)?[Vu(r,r.project)]:[]}),o1=(e,t)=>{let r=[];for(let o of bo(e)){if(zr(o))continue;let n=SR(o,t);n&&r.push(n)}return r};var LR=({event:e})=>{let t=C(()=>e.plan.start.hours+e.plan.start.minutes/60,[e.plan.start]),r=C(()=>--start: ${t}; --duration: ${e.plan.duration};,[t,e.plan.duration]),o=Un(),n=C(()=>PR(e,o),[e,o]);return Wo(e)?d(Nc,{className:"event","data-status":n,style:r,title:e.title,project:e.project,children:e.name}):d("div",{className:"event","data-status":n,title:e.name,style:r,children:e.name})};var NR=({project:e,date:t,tasks:r})=>{let o=OR(e,t,r),n=C(()=>o.flatMap(a=>Wo(a)?[${a.title}]:[]).join( ),[o]),s=Un(),i=C(()=>ht(s,t)&&d("div",{className:"indicator",style:--start: ${Ah(s)+Ch(s)/60}}),[s,t]);return d("div",{className:"timeline",role:"gridcell",children:[o.map(a=>d(LR,{event:a},a.name)),i,d(In,{text:n})]})};var qu=({dateList:e,tasks:t,project:r,hasColumn:o})=>d("div",{className:"timeline-wrap",role:"grid",children:[(o??!0)&&d("div",{className:"column-header",role:"row",children:e.map(n=>d("div",{className:"cell",role:"columnheader",children:d("h2",{children:Vi(n)})},wt(n)))}),d("div",{className:"week-container",role:"presentation",children:d("div",{className:"week",role:"presentation",children:[d("div",{className:"borders",children:[...Array(24).keys()].map(n=>d("div",{className:"border","data-time":${Jt(n)}:00},n))}),e.map(n=>d(NR,{project:r,date:n,tasks:t},wt(n)))]})})]});var Ku=(e,t,r)=>{let[o,n]=J(e),s=U(()=>n(t),[t]),i=U(()=>n(r),[t]),a=U(c=>n(c),[]);return{pageNo:o,next:s,prev:i,jump:a}};var CR=e=>{let t=Ve(new Set),[r,o]=J(e),n=U(()=>{for(let l of t.current)l()},[]),s=U(()=>{o(!0),n()},[]),i=U(()=>o(!1),[]),a=U(()=>o(l=>(l||n(),!l)),[]),c=U(l=>(t.current.add(l),()=>t.current.delete(l)),[]);return{isOpen:r,open:s,close:i,toggle:a,onOpen:c}};var IR=e=>{let t=document.createElement("div");t.dataset.userscriptName="takker-scheduler/weekly-scheduler";let r=t.attachShadow({mode:"open"});return document.body.append(t),new Promise(o=>mt(d(n1,{getController:o,projects:e,mainProject:e[0]}),r))},UR=(e,t)=>{let r=document.createElement("div");r.dataset.userscriptName="takker-scheduler/timeline-wedget";let o=r.attachShadow({mode:"open"});return document.body.append(r),new Promise(n=>mt(d(s1,{getController:n,projects:e,mainProject:e[0],open:t}),o))},AR=!1,n1=({getController:e,projects:t,mainProject:r})=>{let{tasks:o,load:n,loading:s}=As(t),{pageNo:i,next:a,prev:c,jump:l}=Ku(Ns(new Date),i1,a1),u=C(()=>{let y=Pc(i);return[0,1,2,3,4,5,6].map(x=>Ue(y,x))},[i]),{ref:p,open:f,close:m,isOpen:h}=Lc();AR||=h,Us(e,{open:f,close:m,isOpen:h}),Cc("page:changed",m);let g=U(()=>l(Ns(new Date)),[l]);return d(Y,{children:[d("style",{children:Ms}),d("dialog",{ref:p,children:[d("div",{className:"controller",children:[d("span",{children:i}),d("button",{type:"button",className:"navi left",onClick:c,children:""}),d("button",{type:"button",className:"navi right",onClick:a,children:""}),d("button",{type:"button",className:"today",onClick:g,children:""}),d(Is,{loading:s,onClick:n}),d("button",{type:"button",className:"close",onClick:m,children:""})]}),AR&&d("div",{ref:FR,className:"result scheduler","data-page-no":i,children:d(qu,{dateList:u,tasks:o,project:r})})]})]})},MR=!1,s1=({projects:e,mainProject:t,getController:r,open:o})=>{let{tasks:n,load:s,loading:i}=As(e),{pageNo:a,next:c,prev:l,jump:u}=Ku(new Date,c1,l1),p=C(()=>[a],[a]),f=U(()=>u(new Date),[u]),{isOpen:m,open:h,close:g}=CR(o);return MR||=m,Us(r,{open:h,close:g,isOpen:m}),d(Y,{children:[d("style",{children:Ms}),MR&&d("div",{className:wedget${m?" open":""},ref:FR,children:[d("div",{className:"controller",children:[d("span",{children:wt(a)}),d("button",{type:"button",className:"navi left",onClick:l,children:""}),d("button",{type:"button",className:"navi right",onClick:c,children:""}),d("button",{type:"button",className:"today",onClick:f,children:""}),d(Is,{loading:i,onClick:s})]}),d(qu,{dateList:p,tasks:n,project:t,hasColumn:!1})]})]})},i1=e=>Ns(tn(Pc(e),1)),a1=e=>Ns(Fh(Pc(e),1)),c1=e=>Ue(e,1),l1=e=>Xt(e,1),FR=e=>{let t=e?.getElementsByClassName?.("indicator")?.[0];if(!t)return;let r=globalThis.scrollY;t.scrollIntoView({block:"center"}),globalThis.scroll(0,r)};Zf({project:"takker-dist"});hi(!0);td({maxCount:10,accessToken:p1,onClick:async(e,t)=>{try{if(t.ctrlKey){await navigator.clipboard.writeText(e.permalink_url);return}let r=document.getElementById("text-input");if(!r)throw Error("#text-input is not ditected.");r.focus(),r.value=e.permalink_url;let o=new InputEvent("input",{bubbles:!0});r.dispatchEvent(o),await scrapbox.Page.waitForSave()}catch(r){alert(${r}),console.error(r)}}});ah().then(e=>{scrapbox.PageMenu.addItem({title:"Fulltext Search",onClick:()=>{e.toggle()}})});var u1="https://scrapbox.io/files/67344295032adf96d1e4c276.wasm",m1="/api/code/takker-dist/for-any-project-min/esbuild-worker.js";(async()=>{let e=new Request(u1),t=await Br(e);t||(t=await fetch(e),await Ii(e,t)),await Rb(await WebAssembly.compileStreaming(t),m1)})();(async()=>{let e=[scrapbox.Project.name,"takker","takker-memex","takker-books","takker-private","villagepump","hub","arpla","work4ai","unnamedcamp","unnamed-project","nishio","enchi","rashitamemo","motoso","shokai","masui","rakusai","yuiseki","akiroom","c4j","miyamonz","mrsekut-p","masuilab","kidaaam-92022284","nwtgck","juneboku","marshmallow-rm","sushitecture","sno2wman","inteltank","issac-37765679","blu3mo","yosider","Mijinko","Mijinko-other","scrapbox-drinkup","nota-techconf","customize","scrapboxlab","scrasobox","programming-notes","tus-alpine","tus-alpine-private","guiland","evergreens"],t=await DE({projects:e,mark:{...Object.fromEntries([["takker","takker"],["takker-memex","takker"],["takker-books","takker-books"],["takker-private","takker-private"],["nishio","nishio"],["rashitamemo","rashita"],["enchi","雑談_2022-04-12~"],["rakusai","rakusai"],["masui","概要"],["shokai","shokai"],["yuiseki","yuiseki"],["akiroom","はじめに"],["inteltank","sawachin"],["motoso","もとそのもと"],["villagepump","井戸端"],["hub","scrapbox.io%2Fhub_について"],["masuilab","増井研に入ったらまずやること"],["marshmallow-rm","読書猿マシュマロ全質問回答"],["miyamonz","miyamonz"],["mrsekut-p","mrsekut"],["kidaaam-92022284","kidooom"],["c4j","Code_for_Japan"],["suto3","suto3"],["blu3mo","blu3mo"],["nwtgck","nwtgck"],["juneboku","juneboku"],["jigsaw","jgs"],["sno2wman","SnO2WMaN"],["sushitecture","hashrock"],["unnamedcamp","知を営む"],["unnamed-project","unnamed-project"],["issac-37765679","cFQ2f7LRuLYP"],["blu3mo","blu3mo"],["yosider","yosider"],["Mijinko","Mijinko_SD"],["Mijinko-other","Mijinko_SD"],["customize","みんなのカスタマイズ"],["scrapboxlab","入会手続き"],["scrasobox","Scrapboxとあそぶ"],["programming-notes","参加する"],["guiland","概要と参加方法"],["work4ai","work4ai"],["evergreens","HOME"]].map(([n,s])=>[n,https://scrapbox.io/api/pages/${n}/${s}/icon])),"NDLSH-SB":"📚","scrapbox-drinkup":"https://scrapbox.io/assets/img/page-icon/scrapbox_beaver.png","nota-techconf":"https://i.gyazo.com/727f42bbd9e2534d99d70e6ea90705b3.jpg","plurality-japanese":"⿻"},enableSelfProjectOnStart:!0}),r=n=>{n.preventDefault(),n.stopPropagation()},o=()=>document.querySelector(".line .popup-menu")!==null;zl.bind({"<Tab>":n=>{o()||t.selectNext?.({cyclic:!0})&&r(n)},"<S-Tab>":n=>{o()||t.selectPrev?.({cyclic:!0})&&r(n)},"<Enter>":n=>{o()||t.confirm?.()&&r(n)},"<Esc>":n=>{o()||t.cancel?.()&&r(n)}})})();HE({previewers:[{when:/(?:^|\.)svg$/,preview:WE},{when:/(?:^|\.)glsl$/,preview:nw},{when:/(?:^|\.)(?:plantuml|puml|pu)$/,preview:aw},{when:/(?:^|\.)tikz\(tex\)$/,preview:lw("/api/code/takker-dist/for-any-project-min/tex-worker.js","https://scrapbox.io/files/65d1645c19cd8e002433c3df")}]});Zw("takker",["takker","振り返り(takker-workflow@0.0.1)のtemplate","txt"],["takker","1週間の振り返り(takker-workflow@0.0.1)のtemplate","txt"],new Date(2024,11,24));Bo()&&(Vt({display:{type:"caret-left"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?Ni():Pi()}}),Vt({display:{type:"caret-right"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?Li():Ti()}}),Vt({display:{type:"caret-up"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?Ci():Si()}}),Vt({display:{type:"caret-down"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?Ai():Oi()}}),Vt({display:{type:"copy"},onClick:async({cursor:e,selection:t})=>await iR(e,t)}),Vt({display:{type:"cut"},onClick:async({cursor:e,selection:t})=>await aR(e,t)}),Vt({display:{type:"clipboard"},onClick:async({cursor:e})=>await cR(e)}),Vt({display:{type:"undo"},onClick:()=>Kd()}),Vt({display:{type:"redo"},onClick:()=>Xd()}),Vt({display:({cursor:e})=>e.getVisible()&&e.hasFocus&&e.visiblePopupMenu?{type:["i-cursor","slash"]}:{type:"i-cursor"},onClick:({cursor:e})=>lR(e)}));if(Bo()&&scrapbox.Project.name!=="takker-memex"){let e="task";scrapbox.PageMenu.addMenu({title:e,image:"https://img.icons8.com/ios/180/FFFFFF/todo-list--v2.png"}),scrapbox.PageMenu(e).addItem({title:"Book starting",image:"https://img.icons8.com/ios/180/FFFFFF/plus-1day.png",onClick:Yn}),scrapbox.PageMenu(e).addItem({title:"Transport",onClick:()=>Qn({from:{project:scrapbox.Project.name,title:scrapbox.Page.title},to:"takker-memex"})})}if(Bo()){let e="New Page",t=[ko,vo,_o];scrapbox.PageMenu.addMenu({title:e,image:"https://img.icons8.com/ios/180/FFFFFF/cut-paper.png"}),scrapbox.PageMenu(e).addItem({title:"New Page",onClick:()=>{let r=window.prompt("Create a new page at",scrapbox.Project.name);r&&_r({project:r,mode:"noopen",hooks:t})?.()}}),scrapbox.PageMenu(e).addItem({title:"New Page and Open",onClick:()=>{let r=window.prompt("Create a new page at",scrapbox.Project.name);r&&_r({project:r,mode:"self",hooks:t})?.()}})}(async()=>{let e="next-action",t=head styledata-userscript-name="${e}";document.querySelector(t)?.remove?.();let r=document.createElement("style");r.dataset.userscriptName=e,r.textContent= position: absolute;
font: 900 20px/46px "Font Awesome 5 Free";
}
button#${e}.tool-btn::before {
content: "\\f0ae";
}
button#scheduler.tool-btn::before {
content: "\\f073";
font-weight: 400;
}
opacity: 0;
}`,document.head.append(r);let o="takker-memex","takker",{open:n}=await vR(o);scrapbox.PageMenu.addMenu({title:e,image:"/assets/img/favicon/apple-touch-icon.png",onClick:n});let s=await IR(o);scrapbox.PageMenu.addMenu({title:"scheduler",image:"/assets/img/favicon/apple-touch-icon.png",onClick:s.open});{let i="takker-scheduler/wedget",a=JSON.parse(localStorage.getItem(i)??"{}"),c=scrapbox.Project.name;ac??=!1;let l=await UR(o,ac),u=()=>{ac=!l.isOpen,l.isOpen?l.close():l.open?.(),localStorage.setItem(i,JSON.stringify(a))};Bo()?Vt({display:{type:"calendar"},onClick:u}):scrapbox.PageMenu.addItem({title:"toggle wedget",onClick:u})}})();export{Vt as addButton,He as insertText,zl as scrapBindings}; /** @license
* esbuild-wasm@v0.24.0
*
* MIT License
*
* Copyright (c) 2020 Evan Wallace
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
code:takker-memex.js
var qR=Object.defineProperty;var co=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)r}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Vs=(e,t)=>{for(var r in t)qR(e,r,{get:tr,enumerable:!0})};function Te(e){if(e)return KR(e)}function KR(e){for(var t in Te.prototype)et=Te.prototypet;return e}Te.prototype.on=Te.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks"$"+e=this._callbacks"$"+e||[]).push(t),this};Te.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this};Te.prototype.off=Te.prototype.removeListener=Te.prototype.removeAllListeners=Te.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var r=this._callbacks"$"+e;if(!r)return this;if(arguments.length==1)return delete this._callbacks"$"+e,this;for(var o,n=0;n<r.length;n++)if(o=rn,o===t||o.fn===t){r.splice(n,1);break}return r.length===0&&delete this._callbacks"$"+e,this};Te.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),r=this._callbacks"$"+e,o=1;o<arguments.length;o++)to-1=argumentso;if(r){r=r.slice(0);for(var o=0,n=r.length;o<n;++o)ro.apply(this,t)}return this};Te.prototype.emitReserved=Te.prototype.emit;Te.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks"$"+e||[]};Te.prototype.hasListeners=function(e){return!!this.listeners(e).length};var nr=Object.create(null);nr.open="0";nr.close="1";nr.ping="2";nr.pong="3";nr.message="4";nr.upgrade="5";nr.noop="6";var Ks=Object.create(null);Object.keys(nr).forEach(e=>{Ks[nre]=e});var Vc={type:"error",data:"parser error"},om=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="object BlobConstructor",nm=typeof ArrayBuffer=="function",sm=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,Xs=({type:e,data:t},r,o)=>om&&t instanceof Blob?r?o(t):em(t,o):nm&&(t instanceof ArrayBuffer||sm(t))?r?o(t):em(new Blob(t),o):o(nre+(t||"")),em=(e,t)=>{let r=new FileReader;return r.onload=function(){let o=r.result.split(",")1;t("b"+(o||""))},r.readAsDataURL(e)};function tm(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var Wc;function XR(e,t){if(om&&e.data instanceof Blob)return e.data.arrayBuffer().then(tm).then(t);if(nm&&(e.data instanceof ArrayBuffer||sm(e.data)))return t(tm(e.data));Xs(e,!1,r=>{Wc||(Wc=new TextEncoder),t(Wc.encode(r))})}var rm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Hn=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e<rm.length;e++)Hnrm.charCodeAt(e)=e;var YR=e=>{let t=e.length*.75,r=e.length,o,n=0,s,i,a,c;ee.length-1==="="&&(t--,ee.length-2==="="&&t--);let l=new ArrayBuffer(t),u=new Uint8Array(l);for(o=0;o<r;o+=4)s=Hne.charCodeAt(o),i=Hne.charCodeAt(o+1),a=Hne.charCodeAt(o+2),c=Hne.charCodeAt(o+3),un++=s<<2|i>>4,un++=(i&15)<<4|a>>2,un++=(a&3)<<6|c&63;return l},JR=typeof ArrayBuffer=="function",Ys=(e,t)=>{if(typeof e!="string")return{type:"message",data:im(e,t)};let r=e.charAt(0);return r==="b"?{type:"message",data:QR(e.substring(1),t)}:Ksr?e.length>1?{type:Ksr,data:e.substring(1)}:{type:Ksr}:Vc},QR=(e,t)=>{if(JR){let r=YR(e);return im(r,t)}else return{base64:!0,data:e}},im=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob(e);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},am="",cm=(e,t)=>{let r=e.length,o=new Array(r),n=0;e.forEach((s,i)=>{Xs(s,!1,a=>{oi=a,++n===r&&t(o.join(am))})})},lm=(e,t)=>{let r=e.split(am),o=[];for(let n=0;n<r.length;n++){let s=Ys(rn,t);if(o.push(s),s.type==="error")break}return o};function pm(){return new TransformStream({transform(e,t){XR(e,r=>{let o=r.length,n;if(o<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,o);else if(o<65536){n=new Uint8Array(3);let s=new DataView(n.buffer);s.setUint8(0,126),s.setUint16(1,o)}else{n=new Uint8Array(9);let s=new DataView(n.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(o))}e.data&&typeof e.data!="string"&&(n0|=128),t.enqueue(n),t.enqueue(r)})}})}var Gc;function zs(e){return e.reduce((t,r)=>t+r.length,0)}function qs(e,t){if(e0.length===t)return e.shift();let r=new Uint8Array(t),o=0;for(let n=0;n<t;n++)rn=e0o++,o===e0.length&&(e.shift(),o=0);return e.length&&o<e0.length&&(e0=e0.slice(o)),r}function um(e,t){Gc||(Gc=new TextDecoder);let r=[],o=0,n=-1,s=!1;return new TransformStream({transform(i,a){for(r.push(i);;){if(o===0){if(zs(r)<1)break;let c=qs(r,1);s=(c0&128)===128,n=c0&127,n<126?o=3:n===126?o=1:o=2}else if(o===1){if(zs(r)<2)break;let c=qs(r,2);n=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),o=3}else if(o===2){if(zs(r)<8)break;let c=qs(r,8),l=new DataView(c.buffer,c.byteOffset,c.length),u=l.getUint32(0);if(u>Math.pow(2,21)-1){a.enqueue(Vc);break}n=u*Math.pow(2,32)+l.getUint32(4),o=3}else{if(zs(r)<n)break;let c=qs(r,n);a.enqueue(Ys(s?c:Gc.decode(c),t)),o=0}if(n===0||n>e){a.enqueue(Vc);break}}}})}var zc=4;var Wn=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0),It=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),ZR="arraybuffer";function fm(e,...t){return t.reduce((r,o)=>(e.hasOwnProperty(o)&&(ro=eo),r),{})}var ek=It.setTimeout,tk=It.clearTimeout;function Gn(e,t){t.useNativeTimers?(e.setTimeoutFn=ek.bind(It),e.clearTimeoutFn=tk.bind(It)):(e.setTimeoutFn=It.setTimeout.bind(It),e.clearTimeoutFn=It.clearTimeout.bind(It))}var rk=1.33;function ok(e){return typeof e=="string"?nk(e):Math.ceil((e.byteLength||e.size)*rk)}function nk(e){let t=0,r=0;for(let o=0,n=e.length;o<n;o++)t=e.charCodeAt(o),t<128?r+=1:t<2048?r+=2:t<55296||t>=57344?r+=3:(o++,r+=4);return r}function dm(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function sk(e){let t="";for(let r in e)e.hasOwnProperty(r)&&(t.length&&(t+="&"),t+=encodeURIComponent(r)+"="+encodeURIComponent(er));return t}function ik(e){let t={},r=e.split("&");for(let o=0,n=r.length;o<n;o++){let s=ro.split("=");t[decodeURIComponent(s0)]=decodeURIComponent(s1)}return t}var ak=class extends Error{constructor(e,t,r){super(e),this.description=t,this.context=r,this.type="TransportError"}},Xc=class extends Te{constructor(e){super(),this.writable=!1,Gn(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,r){return super.emitReserved("error",new ak(e,t,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=Ys(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:""+e+""}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=sk(e);return t.length?"?"+t:""}},ck=class extends Xc{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let r=0;this._polling&&(r++,this.once("pollComplete",function(){--r||t()})),this.writable||(r++,this.once("drain",function(){--r||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){let t=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};lm(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){let e=()=>{this.write({type:"close"})};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,cm(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(tthis.opts.timestampParam=dm()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}},hm=!1;try{hm=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}var lk=hm;function pk(){}var uk=class extends ck{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",r=location.port;r||(r=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||r!==e.port}}doWrite(e,t){let r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",(o,n)=>{this.onError("xhr post error",o,n)})}doPoll(){let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,r)=>{this.onError("xhr poll error",t,r)}),this.pollXhr=e}},Xo=class Js extends Te{constructor(t,r,o){super(),this.createRequest=t,Gn(this,o),this._opts=o,this._method=o.method||"GET",this._uri=r,this._data=o.data!==void 0?o.data:null,this._create()}_create(){var t;let r=fm(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this._opts.xd;let o=this._xhr=this.createRequest(r);try{o.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0);for(let n in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(n)&&o.setRequestHeader(n,this._opts.extraHeadersn)}}catch{}if(this._method==="POST")try{o.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{o.setRequestHeader("Accept","*/*")}catch{}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(o),"withCredentials"in o&&(o.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(o.timeout=this._opts.requestTimeout),o.onreadystatechange=()=>{var n;o.readyState===3&&((n=this._opts.cookieJar)===null||n===void 0||n.parseCookies(o.getResponseHeader("set-cookie"))),o.readyState===4&&(o.status===200||o.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof o.status=="number"?o.status:0)},0))},o.send(this._data)}catch(n){this.setTimeoutFn(()=>{this._onError(n)},0);return}typeof document<"u"&&(this._index=Js.requestsCount++,Js.requeststhis._index=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=pk,t)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Js.requeststhis._index,this._xhr=null}}_onLoad(){let t=this._xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};Xo.requestsCount=0;Xo.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",mm);else if(typeof addEventListener=="function"){let e="onpagehide"in It?"pagehide":"unload";addEventListener(e,mm,!1)}}function mm(){for(let e in Xo.requests)Xo.requests.hasOwnProperty(e)&&Xo.requestse.abort()}var mk=function(){let e=gm({xdomain:!1});return e&&e.responseType!==null}(),Yc=class extends uk{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=mk&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Xo(gm,this.uri(),e)}};function gm(e){let t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||lk))return new XMLHttpRequest}catch{}if(!t)try{return new It["Active".concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}var ym=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",fk=class extends Xc{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,r=ym?{}:fm(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,r)}catch(o){return this.emitReserved("error",o)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let r=et,o=t===e.length-1;Xs(r,this.supportsBinary,n=>{try{this.doWrite(r,n)}catch{}o&&Wn(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(tthis.opts.timestampParam=dm()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},qc=It.WebSocket||It.MozWebSocket,Jc=class extends fk{createSocket(e,t,r){return ym?new qc(e,t,r):t?new qc(e,t):new qc(e)}doWrite(e,t){this.ws.send(t)}},xm=class extends Xc{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptionsthis.name)}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=um(Number.MAX_SAFE_INTEGER,this.socket.binaryType),r=e.readable.pipeThrough(t).getReader(),o=pm();o.readable.pipeTo(e.writable),this._writer=o.writable.getWriter();let n=()=>{r.read().then(({done:i,value:a})=>{i||(this.onPacket(a),n())}).catch(i=>{})};n();let s={type:"open"};this.query.sid&&(s.data={"sid":"${this.query.sid}"}),this._writer.write(s).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let r=et,o=t===e.length-1;this._writer.write(r).then(()=>{o&&Wn(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}},dk={websocket:Jc,webtransport:xm,polling:Yc},hk=/^(?:(?!^:@\/?#+:^:@\/*@)(http|https|ws|wss):\/\/)?((?:((^:@\/?#*)(?::(^:@\/?#*))?)?@)?((?:a-f0-9{0,4}:){2,7}a-f0-9{0,4}|^:\/?#*)(?::(\d*))?)(((\/(?:^?#(?!^?#\/*\.^?#\/.+(?:?#|$)))*\/?)?(^?#\/*))(?:\?(^#*))?(?:#(.*))?)/,gk="source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor";function ti(e){if(e.length>8e3)throw"URI too long";let t=e,r=e.indexOf(""),o=e.indexOf("");r!=-1&&o!=-1&&(e=e.substring(0,r)+e.substring(r,o).replace(/:/g,";")+e.substring(o,e.length));let n=hk.exec(e||""),s={},i=14;for(;i--;)s[gki]=ni||"";return r!=-1&&o!=-1&&(s.source=t,s.host=s.host.substring(1,s.host.length-1).replace(/;/g,":"),s.authority=s.authority.replace("","").replace("","").replace(/;/g,":"),s.ipv6uri=!0),s.pathNames=yk(s,s.path),s.queryKey=xk(s,s.query),s}function yk(e,t){let r=/\/{2,9}/g,o=t.replace(r,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&o.splice(0,1),t.slice(-1)=="/"&&o.splice(o.length-1,1),o}function xk(e,t){let r={};return t.replace(/(?:^|&)(^&=*)=?(^&*)/g,function(o,n,s){n&&(rn=s)}),r}var Kc=typeof addEventListener=="function"&&typeof removeEventListener=="function",Qs=[];Kc&&addEventListener("offline",()=>{Qs.forEach(e=>e())},!1);var Zs=class ei extends Te{constructor(t,r){if(super(),this.binaryType=ZR,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&typeof t=="object"&&(r=t,t=null),t){let o=ti(t);r.hostname=o.host,r.secure=o.protocol==="https"||o.protocol==="wss",r.port=o.port,o.query&&(r.query=o.query)}else r.host&&(r.hostname=ti(r.host).host);Gn(this,r),this.secure=r.secure!=null?r.secure:typeof location<"u"&&location.protocol==="https:",r.hostname&&!r.port&&(r.port=this.secure?"443":"80"),this.hostname=r.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=r.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},r.transports.forEach(o=>{let n=o.prototype.name;this.transports.push(n),this._transportsByNamen=o}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},r),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=ik(this.opts.query)),Kc&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Qs.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){let r=Object.assign({},this.opts.query);r.EIO=zc,r.transport=t,this.id&&(r.sid=this.id);let o=Object.assign({},this.opts,{query:r,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptionst);return new this._transportsByNamet(o)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let t=this.opts.rememberUpgrade&&ei.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports0;this.readyState="opening";let r=this.createTransport(t);r.open(),this.setTransport(r)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",r=>this._onClose("transport close",r))}onOpen(){this.readyState="open",ei.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let r=new Error("server error");r.code=t.data,this._onError(r);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data);break}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let r=0;r<this.writeBuffer.length;r++){let o=this.writeBufferr.data;if(o&&(t+=ok(o)),r>0&&t>this._maxPayload)return this.writeBuffer.slice(0,r);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,Wn(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),t}write(t,r,o){return this._sendPacket("message",t,r,o),this}send(t,r,o){return this._sendPacket("message",t,r,o),this}_sendPacket(t,r,o,n){if(typeof r=="function"&&(n=r,r=void 0),typeof o=="function"&&(n=o,o=null),this.readyState==="closing"||this.readyState==="closed")return;o=o||{},o.compress=o.compress!==!1;let s={type:t,data:r,options:o};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),n&&this.once("flush",n),this.flush()}close(){let t=()=>{this._onClose("forced close"),this.transport.close()},r=()=>{this.off("upgrade",r),this.off("upgradeError",r),t()},o=()=>{this.once("upgrade",r),this.once("upgradeError",r)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?o():t()}):this.upgrading?o():t()),this}_onError(t){if(ei.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,r){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Kc&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let o=Qs.indexOf(this._offlineEventListener);o!==-1&&Qs.splice(o,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,r),this.writeBuffer=[],this._prevBufferLen=0}}};Zs.protocol=zc;var bk=class extends Zs{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgradese)}_probe(e){let t=this.createTransport(e),r=!1;Zs.priorWebsocketSuccess=!1;let o=()=>{r||(t.send({type:"ping",data:"probe"}),t.once("packet",u=>{if(!r)if(u.type==="pong"&&u.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Zs.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(l(),this.setTransport(t),t.send({type:"upgrade"}),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{let p=new Error("probe error");p.transport=t.name,this.emitReserved("upgradeError",p)}}))};function n(){r||(r=!0,l(),t.close(),t=null)}let s=u=>{let p=new Error("probe error: "+u);p.transport=t.name,n(),this.emitReserved("upgradeError",p)};function i(){s("transport closed")}function a(){s("socket closed")}function c(u){t&&u.name!==t.name&&n()}let l=()=>{t.removeListener("open",o),t.removeListener("error",s),t.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};t.once("open",o),t.once("error",s),t.once("close",i),this.once("close",a),this.once("upgrading",c),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{r||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let r=0;r<e.length;r++)~this.transports.indexOf(er)&&t.push(er);return t}},Qc=class extends bk{constructor(e,t={}){let r=typeof e=="object"?e:t;(!r.transports||r.transports&&typeof r.transports0=="string")&&(r.transports=(r.transports||"polling","websocket","webtransport").map(o=>dko).filter(o=>!!o)),super(e,r)}};var F1=Qc.protocol;var rl={};Vs(rl,{Decoder:()=>Sk,Encoder:()=>Pk,PacketType:()=>se,protocol:()=>wm});var Ek=typeof ArrayBuffer=="function",wk=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Em=Object.prototype.toString,Rk=typeof Blob=="function"||typeof Blob<"u"&&Em.call(Blob)==="object BlobConstructor",kk=typeof File=="function"||typeof File<"u"&&Em.call(File)==="object FileConstructor";function tl(e){return Ek&&(e instanceof ArrayBuffer||wk(e))||Rk&&e instanceof Blob||kk&&e instanceof File}function ri(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let r=0,o=e.length;r<o;r++)if(ri(er))return!0;return!1}if(tl(e))return!0;if(e.toJSON&&typeof e.toJSON=="function"&&arguments.length===1)return ri(e.toJSON(),!0);for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&ri(er))return!0;return!1}function vk(e){let t=[],r=e.data,o=e;return o.data=Zc(r,t),o.attachments=t.length,{packet:o,buffers:t}}function Zc(e,t){if(!e)return e;if(tl(e)){let r={_placeholder:!0,num:t.length};return t.push(e),r}else if(Array.isArray(e)){let r=new Array(e.length);for(let o=0;o<e.length;o++)ro=Zc(eo,t);return r}else if(typeof e=="object"&&!(e instanceof Date)){let r={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(ro=Zc(eo,t));return r}return e}function Tk(e,t){return e.data=el(e.data,t),delete e.attachments,e}function el(e,t){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num=="number"&&e.num>=0&&e.num<t.length)return te.num;throw new Error("illegal attachments")}else if(Array.isArray(e))for(let r=0;r<e.length;r++)er=el(er,t);else if(typeof e=="object")for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(er=el(er,t));return e}var _k="connect","connect_error","disconnect","disconnecting","newListener","removeListener",wm=5,se;(function(e){ee.CONNECT=0="CONNECT",ee.DISCONNECT=1="DISCONNECT",ee.EVENT=2="EVENT",ee.ACK=3="ACK",ee.CONNECT_ERROR=4="CONNECT_ERROR",ee.BINARY_EVENT=5="BINARY_EVENT",ee.BINARY_ACK=6="BINARY_ACK"})(se||(se={}));var Pk=class{constructor(e){this.replacer=e}encode(e){return(e.type===se.EVENT||e.type===se.ACK)&&ri(e)?this.encodeAsBinary({type:e.type===se.EVENT?se.BINARY_EVENT:se.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):this.encodeAsString(e)}encodeAsString(e){let t=""+e.type;return(e.type===se.BINARY_EVENT||e.type===se.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=vk(e),r=this.encodeAsString(t.packet),o=t.buffers;return o.unshift(r),o}};function bm(e){return Object.prototype.toString.call(e)==="object Object"}var Sk=class Rm extends Te{constructor(t){super(),this.reviver=t}add(t){let r;if(typeof t=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");r=this.decodeString(t);let o=r.type===se.BINARY_EVENT;o||r.type===se.BINARY_ACK?(r.type=o?se.EVENT:se.ACK,this.reconstructor=new Ok(r),r.attachments===0&&super.emitReserved("decoded",r)):super.emitReserved("decoded",r)}else if(tl(t)||t.base64)if(this.reconstructor)r=this.reconstructor.takeBinaryData(t),r&&(this.reconstructor=null,super.emitReserved("decoded",r));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+t)}decodeString(t){let r=0,o={type:Number(t.charAt(0))};if(seo.type===void 0)throw new Error("unknown packet type "+o.type);if(o.type===se.BINARY_EVENT||o.type===se.BINARY_ACK){let s=r+1;for(;t.charAt(++r)!=="-"&&r!=t.length;);let i=t.substring(s,r);if(i!=Number(i)||t.charAt(r)!=="-")throw new Error("Illegal attachments");o.attachments=Number(i)}if(t.charAt(r+1)==="/"){let s=r+1;for(;++r&&!(t.charAt(r)===","||r===t.length););o.nsp=t.substring(s,r)}else o.nsp="/";let n=t.charAt(r+1);if(n!==""&&Number(n)==n){let s=r+1;for(;++r;){let i=t.charAt(r);if(i==null||Number(i)!=i){--r;break}if(r===t.length)break}o.id=Number(t.substring(s,r+1))}if(t.charAt(++r)){let s=this.tryParse(t.substr(r));if(Rm.isPayloadValid(o.type,s))o.data=s;else throw new Error("invalid payload")}return o}tryParse(t){try{return JSON.parse(t,this.reviver)}catch{return!1}}static isPayloadValid(t,r){switch(t){case se.CONNECT:return bm(r);case se.DISCONNECT:return r===void 0;case se.CONNECT_ERROR:return typeof r=="string"||bm(r);case se.EVENT:case se.BINARY_EVENT:return Array.isArray(r)&&(typeof r0=="number"||typeof r0=="string"&&_k.indexOf(r0)===-1);case se.ACK:case se.BINARY_ACK:return Array.isArray(r)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}},Ok=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=Tk(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function Lk(e,t="",r){let o=e;r=r||typeof location<"u"&&location,e==null&&(e=r.protocol+"//"+r.host),typeof e=="string"&&(e.charAt(0)==="/"&&(e.charAt(1)==="/"?e=r.protocol+e:e=r.host+e),/^(https?|wss?):\/\//.test(e)||(typeof r<"u"?e=r.protocol+"//"+e:e="https://"+e),o=ti(e)),o.port||(/^(http|ws)$/.test(o.protocol)?o.port="80":/^(http|ws)s$/.test(o.protocol)&&(o.port="443")),o.path=o.path||"/";let n=o.host.indexOf(":")!==-1?""+o.host+"":o.host;return o.id=o.protocol+"://"+n+":"+o.port+t,o.href=o.protocol+"://"+n+(r&&r.port===o.port?"":":"+o.port),o}function qt(e,t,r){return e.on(t,r),function(){e.off(t,r)}}var Nk=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),km=class extends Te{constructor(e,t,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=qt(e,"open",this.onopen.bind(this)),qt(e,"packet",this.onpacket.bind(this)),qt(e,"error",this.onerror.bind(this)),qt(e,"close",this.onclose.bind(this))}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var r,o,n;if(Nk.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let s={type:se.EVENT,data:t};if(s.options={},s.options.compress=this.flags.compress!==!1,typeof tt.length-1=="function"){let c=this.ids++,l=t.pop();this._registerAckCallback(c,l),s.id=c}let i=(o=(r=this.io.engine)===null||r===void 0?void 0:r.transport)===null||o===void 0?void 0:o.writable,a=this.connected&&!(!((n=this.io.engine)===null||n===void 0)&&n._hasPingExpired());return this.flags.volatile&&!i||(a?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s)),this.flags={},this}_registerAckCallback(e,t){var r;let o=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(o===void 0){this.ackse=t;return}let n=this.io.setTimeoutFn(()=>{delete this.ackse;for(let i=0;i<this.sendBuffer.length;i++)this.sendBufferi.id===e&&this.sendBuffer.splice(i,1);t.call(this,new Error("operation has timed out"))},o),s=(...i)=>{this.io.clearTimeoutFn(n),t.apply(this,i)};s.withError=!0,this.ackse=s}emitWithAck(e,...t){return new Promise((r,o)=>{let n=(s,i)=>s?o(s):r(i);n.withError=!0,t.push(n),this.emit(e,...t)})}_addToQueue(e){let t;typeof ee.length-1=="function"&&(t=e.pop());let r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((o,...n)=>r!==this._queue0?void 0:(o!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(o)):(this._queue.shift(),t&&t(null,...n)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue0;t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:se.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){let t=this.ackse;delete this.ackse,t.withError&&t.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case se.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case se.EVENT:case se.BINARY_EVENT:this.onevent(e);break;case se.ACK:case se.BINARY_ACK:this.onack(e);break;case se.DISCONNECT:this.ondisconnect();break;case se.CONNECT_ERROR:this.destroy();let t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t);break}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let r of t)r.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof ee.length-1=="string"&&(this._lastOffset=ee.length-1)}ack(e){let t=this,r=!1;return function(...o){r||(r=!0,t.packet({type:se.ACK,id:e,data:o}))}}onack(e){let t=this.ackse.id;typeof t=="function"&&(delete this.ackse.id,t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:se.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let r=0;r<t.length;r++)if(e===tr)return t.splice(r,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let r=0;r<t.length;r++)if(e===tr)return t.splice(r,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let r of t)r.apply(this,e.data)}}};function Jo(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Jo.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),r=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+r:e-r}return Math.min(e,this.max)|0};Jo.prototype.reset=function(){this.attempts=0};Jo.prototype.setMin=function(e){this.ms=e};Jo.prototype.setMax=function(e){this.max=e};Jo.prototype.setJitter=function(e){this.jitter=e};var ol=class extends Te{constructor(e,t){var r;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,Gn(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((r=t.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Jo({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let o=t.parser||rl;this.encoder=new o.Encoder,this.decoder=new o.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Qc(this.uri,this.opts);let t=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;let o=qt(t,"open",function(){r.onopen(),e&&e()}),n=i=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",i),e?e(i):this.maybeReconnectOnOpen()},s=qt(t,"error",n);if(this._timeout!==!1){let i=this._timeout,a=this.setTimeoutFn(()=>{o(),n(new Error("timeout")),t.close()},i);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}return this.subs.push(o),this.subs.push(s),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push(qt(e,"ping",this.onping.bind(this)),qt(e,"data",this.ondata.bind(this)),qt(e,"error",this.onerror.bind(this)),qt(e,"close",this.onclose.bind(this)),qt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){Wn(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let r=this.nspse;return r?this._autoConnect&&!r.active&&r.connect():(r=new km(this,e,t),this.nspse=r),r}_destroy(e){let t=Object.keys(this.nsps);for(let r of t)if(this.nspsr.active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let r=0;r<t.length;r++)this.engine.write(tr,e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var r;this.cleanup(),(r=this.engine)===null||r===void 0||r.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let r=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(o=>{o?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",o)):e.onreconnect()}))},t);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}},Vn={};function Yo(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};let r=Lk(e,t.path||"/socket.io"),o=r.source,n=r.id,s=r.path,i=Vnn&&s in Vnn.nsps,a=t.forceNew||t"force new connection"||t.multiplex===!1||i,c;return a?c=new ol(o,t):(Vnn||(Vnn=new ol(o,t)),c=Vnn),r.query&&!t.query&&(t.query=r.queryKey),c.socket(r.path,t)}Object.assign(Yo,{Manager:ol,Socket:km,io:Yo,connect:Yo});function rt(e){return e.val}function at(e){return e.err}var vm=" must not return ",Ck="transformer",Ak="recoverer",Mk="defaultValue",Qo=Ck+vm,yr="called with ",Zo=Mk+" must not be ",en=Ak+vm;var Ik="Ok",Tm="Err",_m=yr+Tm,Pm=yr+Ik,Fk="Carrying E in "+Tm+" instead of throwing it directly. See .cause",nl="an instance of Error of the current realm.",vM="The thrown value is not "+nl,TM="The contained E should be "+nl,Uk="This .cause is not "+nl;function Le(e){return e.ok}function te(e){return{ok:!0,val:e,err:null}}function G(e){return!e.ok}function ge(e){return{ok:!1,val:null,err:e}}function X(e){return Sm(e,_m)}function tn(e){return Om(e,Pm)}function Sm(e,t){if(G(e))throw new TypeError(t);return e.val}function Om(e,t){if(Le(e))throw new TypeError(t);return e.err}async function sl(e,t){if(G(e))return e;let r=rt(e);return await t(r)}function lo(e,t){if(G(e))return e;let r=rt(e),o=t(r);return te(o)}async function Re(e,t){if(G(e))return e;let r=rt(e),o=await t(r);return te(o)}async function ve(e,t){if(Le(e))return e;let r=at(e),o=await t(r);return ge(o)}async function oi(e,t){if(Le(e))return e;let r=at(e);return await t(r)}var ni="null",UI=Qo+ni,jk=yr+ni,DI=Zo+ni,$I=en+ni;var si="undefined",GI=Qo+si,Bk=yr+si,VI=Zo+si,zI=en+si;var ke=e=>e.ok?te(e):ge({name:"HTTPError",message:${e.status} ${e.statusText},response:e});var Nm=async(e,t)=>{let r=new Request(e,t);try{return te(await globalThis.fetch(r))}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return ge({name:"AbortError",message:o.message,request:r});if(o instanceof TypeError)return ge({name:"NetworkError",message:o.message,request:r});throw o}};var pe=e=>{let{fetch:t=Nm,hostName:r="scrapbox.io",...o}=e;return{fetch:t,hostName:r,...o}};var Cm=e=>{let{sid:t,hostName:r}=pe(e??{});return new Request(https://${r}/api/users/me,t?{headers:{Cookie:ue(t)}}:void 0)},Am=e=>Re(ke(e),async t=>await t.json()),ii=(()=>{let e=async t=>{let{fetch:r,...o}=pe(t??{}),n=await r(Cm(o));return G(n)?n:Am(X(n))};return e.toRequest=Cm,e.fromResponse=Am,e})();var ue=e=>connect.sid=${e},sr=async e=>{let t=e?.csrf??globalThis._csrf;return t?te(t):lo(await ii(e),r=>r.csrfToken)};var ct=(e,t)=>{if(e?.connected)return Promise.resolve(te(e));e??=Yo("https://scrapbox.io",{reconnectionDelay:5e3,transports:["websocket"],...t?{rejectUnauthorized:!1,extraHeaders:{Cookie:ue(t),Host:"scrapbox.io",Referer:"https://scrapbox.io/"}}:{}});let r=new Promise(o=>{let n=s=>o(ge(s));e.once("connect",()=>{e.off("disconnect",n),o(te(e))}),e.once("disconnect",n)});return e.connect(),r},lt=e=>{if(e.disconnected)return Promise.resolve(te(void 0));let t=new Promise(r=>{let o=n=>{if(n!=="io client disconnect"){r(ge(n));return}r(te(void 0)),e.off("disconnect",o)};e.on("disconnect",o)});return e.disconnect(),t};var Mm=e=>Wk.includes(e.name),Wk="SocketIOError","DuplicateTitleError","NotFastForwardError";var Im=(e,t,r,o)=>{if(t==="cursor")return e.emit(t,r),Promise.resolve(te(void 0));let{resolve:n,promise:s,reject:i}=Promise.withResolvers(),a=()=>{e.off("disconnect",c),clearTimeout(u)},c=f=>{if(f==="io client disconnect"){a(),i(new Error("io client disconnect"));return}if(f==="io server disconnect"){a(),n(ge({name:"SocketIOError"}));return}};e.on("disconnect",c);let l=o?.timeout??9e4,u=setTimeout(()=>{a(),n(ge({name:"TimeoutError",message:exceeded ${l} (ms)}))},l),p=t==="commit"?{method:"commit",data:r}:{method:"room:join",data:r};return e.emit("socket.io-request",p,f=>{if(a(),"error"in f){n(ge(Mm(f.error)?f.error:{name:"UnexpectedRequestError",...f}));return}n(te(f.data))}),s};function ai(e,t={}){if(e===null)return"null";if(Array.isArray(e))return Gk(e,t);switch(typeof e){case"string":return JSON.stringify(e);case"bigint":return${e}n;case"object":return e.constructor?.name!=="Object"?e.constructor?.name:Vk(e,t);case"function":return e.name||"(anonymous)"}return e?.toString()??"undefined"}function Gk(e,t){let{threshold:r=20}=t,o=e.map(i=>ai(i,t)),n=o.join(", ");if(n.length<=r)return[${n}];let s=o.join(`, );return[
${Fm(2,s)}
]}function Vk(e,t){let{threshold:r=20}=t,o=[...Object.keys(e),...Object.getOwnPropertySymbols(e)].map(i=>${i.toString()}: ${ai(ei,t)}),n=o.join(", ");if(n.length<=r)return{${n}};let s=o.join(, );return{
${Fm(2,s)}
}}function Fm(e,t){let r=" ".repeat(e);return t.split(
).map(o=>${r}${o}).join(
)}function Ve(e,t,...r){let o;return Object.defineProperties(e,{name:{get:()=>o||(o=${t}(${r.map(n=>ai(n)).join(", ")}),o)}})}function xr(e){return Array.isArray(e)}function il(e){return Ve(t=>xr(t)&&t.every(r=>e(r)),"isArrayOf",e)}function ci(e){let t=new Set(e);return Ve(r=>t.has(r),"isLiteralOneOf",e)}function zn(e){return e!=null&&!Array.isArray(e)&&typeof e=="object"}function $e(e){return typeof e=="string"}var Me=async(e,t)=>{let r=e.response.clone(),o=ci(t);try{let n=await r.json();if(!zn(n))return;if(r.status===422){if(!$e(n.message))return;for(let s of["NoQueryError","InvalidURLError"])if(t.includes(s))return{name:s,message:n.message}}return!o(n.name)||!$e(n.message)?void 0:n.name==="NotLoggedInError"?!zn(n.detals)||!$e(n.detals.project)||!il(zk)(n.detals.loginStrategies)?void 0:{name:n.name,message:n.message,details:{project:n.detals.project,loginStrategies:n.detals.loginStrategies}}:{name:n.name,message:n.message}}catch(n){if(n instanceof SyntaxError)return;throw n}},zk=ci(["google","github","microsoft","gyazo","email","saml","easy-trial"]);var ne=e=>e.replaceAll(" ","_").toLowerCase();var ae=e=>[...e].map((t,r)=>t===" "?"_":!qk.includes(t)||r===e.length-1&&Kk.includes(t)?encodeURIComponent(t):t).join(""),qk='@$&+=:;",',Kk=':;",';var li="null or undefined",rn=Qo+li,Xk=yr+li,pi=Zo+li,ui=en+li;function Ft(e){return e!=null}function ir(e){return e==null}function Kt(e,t){if(Ft(e))return e;throw new TypeError(t)}function mi(e){return ir(e)?ge(void 0):te(e)}function al(e,t){return Ft(e)?e:Kt(t,pi)}var Um=(e,t,r)=>{let{sid:o,hostName:n,followRename:s,projects:i}=pe(r??{}),a=new URLSearchParams([["followRename",${s??!0}],...i?.map?.(c=>["projects",c])??[]]);return new Request(https://${n}/api/pages/${e}/${ae(t)}?${a},o?{headers:{Cookie:ue(o)}}:void 0)},Dm=async e=>ve(await Re(ke(e),t=>t.json()),async t=>t.response.status===414?{name:"TooLongURIError",message:"project ids may be too much."}:al(await Me(t,["NotFoundError","NotLoggedInError","NotMemberError"]),t)),Ut=(()=>{let e=async(t,r,o)=>sl(await pe(o??{}).fetch(Um(t,r,o)),n=>Dm(n));return e.toRequest=Um,e.fromResponse=Dm,e})();var $m=(e,t)=>{let{sid:r,hostName:o}=pe(t??{});return new Request(https://${o}/api/projects/${e},r?{headers:{Cookie:ue(r)}}:void 0)},jm=async e=>Re(await ve(ke(e),async t=>await Me(t,["NotFoundError","NotLoggedInError","NotMemberError"])??t),t=>t.json()),br=(()=>{let e=async(t,r)=>{let{fetch:o}=pe(r??{}),n=$m(t,r),s=await o(n);return G(s)?s:jm(X(s))};return e.toRequest=$m,e.fromResponse=jm,e})(),Bm=(e,t)=>{let{sid:r,hostName:o}=pe(t??{}),n=new URLSearchParams(e.map(s=>["ids",s]));return new Request(https://${o}/api/projects?${n},r?{headers:{Cookie:ue(r)}}:void 0)},Hm=async e=>Re(await ve(ke(e),async t=>await Me(t,["NotLoggedInError"])??t),t=>t.json()),fi=(()=>{let e=async(t,r)=>{let{fetch:o}=pe(r??{}),n=await o(Bm(t,r));return G(n)?n:Hm(X(n))};return e.toRequest=Bm,e.fromResponse=Hm,e})();var ll=async(e,t,r)=>{let[o,n,s]=await Promise.all([Ut(e,t,r),Yk(r),Jk(e,r)]);return G(o)?o:G(n)?n:G(s)?s:te({...X(o),projectId:X(s),userId:X(n)})},cl,Yk=async e=>{if(cl)return te(cl);let t=await ii(e);if(G(t))return t;let r=X(t);return"id"in r?(cl=r.id,te(r.id)):ge({name:"NotLoggedInError",message:"This script cannot be used without login"})},Wm=new Map,Jk=async(e,t)=>{let r=Wm.get(e);return r?te(r):lo(await br(e,t),({id:o})=>(Wm.set(e,o),o))};function Ie(e,t={}){let{signal:r,persistent:o=!0}=t;return r?.aborted?Promise.reject(r.reason):new Promise((n,s)=>{let i=()=>{clearTimeout(c),s(r?.reason)},c=setTimeout(()=>{r?.removeEventListener("abort",i),n()},e);if(r?.addEventListener("abort",i,{once:!0}),o===!1)try{Deno.unrefTimer(c)}catch(l){if(!(l instanceof ReferenceError))throw l;console.error("persistent option is only available in Deno")}})}var po=async(e,t,r,o)=>{let n=await ct(o?.socket,o?.sid);if(G(n))return ge({name:"UnexpectedRequestError",error:tn(n)});let s=X(n),i=await ll(e,t,o);if(G(i))return i;let a=X(i);try{let c=0,l=[],u;for(;o?.maxAttempts===void 0||c<o.maxAttempts;){let p=r(a,c,l,u);if(l=p instanceof Promise?await p:p,c++,l.length===0)return te(a.commitId);let f={kind:"page",projectId:a.projectId,pageId:a.id,parentId:a.commitId,userId:a.userId,changes:l,cursor:null,freeze:!0};for(;;){let m=await Im(s,"commit",f);if(Le(m))return a.commitId=X(m).commitId,te(a.commitId);let h=tn(m),g=h.name;if(g==="SocketIOServerDisconnectError"||g==="UnexpectedRequestError")return ge(h);if(g==="TimeoutError"||g==="SocketIOError"){await Ie(3e3);continue}if(g==="NotFastForwardError"){await Ie(1e3);let y=await ll(e,t,o);if(G(y))return y;a=X(y)}u=g;break}}return ge({name:"RetryError",attempts:c,message:Retrying exceeded the maxAttempts (${c}).})}finally{o?.socket||await lt(s)}};var pl=(e,t)=>{let r=e.length>t.length,o=r?t:e,n=r?e:t,s=o.length+1,i=o.length+n.length+3,a=new Array(i);a.fill(-1);let c=[];function l(g,y,x){let E=Math.max(y,x),k=E-g;for(;k<o.length&&E<n.length&&o[k]===n[E];)++k,++E;return a[g+s]=c.length,c.push([{x:k,y:E},a[g+(y>x?-1:1)+s]]),E}let u=new Array(i);u.fill(-1);let p=-1,f=n.length-o.length;do{++p;for(let g=-p;g<=f-1;++g)u[g+s]=l(g,u[g-1+s]+1,u[g+1+s]);for(let g=f+p;g>=f+1;--g)u[g+s]=l(g,u[g-1+s]+1,u[g+1+s]);u[f+s]=l(f,u[f-1+s]+1,u[f+1+s])}while(u[f+s]!==n.length);let m=[],h=a[f+s];for(;h!==-1;)m.push(c[h][0]),h=c[h][1];return{from:e,to:t,editDistance:f+p*2,buildSES:function*(){let g=0,y=0;for(let{x,y:E}of Qk(m))for(;g<x||y<E;)E-x>y-g?(yield{value:n[y],type:r?"deleted":"added"},++y):E-x<y-g?(yield{value:o[g],type:r?"added":"deleted"},++g):(yield{value:o[g],type:"common"},++g,++y)}}};function*ul(e){let t=[],r=[];function*o(){if(t.length>r.length){for(let n=0;n<r.length;n++)yield Gm(t[n],r[n]);for(let n=r.length;n<t.length;n++)yield t[n]}else{for(let n=0;n<t.length;n++)yield Gm(t[n],r[n]);for(let n=t.length;n<r.length;n++)yield r[n]}t=[],r=[]}for(let n of e)switch(n.type){case"added":t.push(n);break;case"deleted":r.push(n);break;case"common":yield*o(),yield n;break}yield*o()}var Gm=(e,t)=>({value:e.value,oldValue:t.value,type:"replaced"});function*Qk(e){for(let t=e.length-1;t>=0;t--)yield e[t]}var Vm=e=>e.padStart(8,"0"),ml=e=>{let t=Math.floor(new Date().getTime()/1e3).toString(16),r=Math.floor(16777214*Math.random()).toString(16);return${Vm(t).slice(-8)}${e.slice(-6)}0000${Vm(r)}};function*fl(e,t,{userId:r}){let{buildSES:o}=pl(e.map(({text:i})=>i),t),n=0,s=e[0].id;for(let i of ul(o())){switch(i.type){case"added":yield{_insert:s,lines:{id:ml(r),text:i.value}};continue;case"deleted":yield{_delete:s,lines:-1};break;case"replaced":yield{_update:s,lines:{text:i.value}};break}n++,s=e[n]?.id??"_end"}}var Zk=(e,t)=>(e.type==="codeBlock"||e.type==="table")&&t.indent>(e.rows[0]?.indent??0),zm=(e,t)=>{let r=e[e.length-1];return r!==void 0&&Zk(r,t)?(r.rows.push(t),e):(e.push({type:/^\s*code:/.test(t.text)?"codeBlock":/^\s*table:/.test(t.text)?"table":"line",rows:[t]}),e)},qm=(e,t)=>{if(t.hasTitle??!0){let[r,...o]=e;return r===void 0?[]:[{type:"title",rows:[r]},...o.reduce(zm,[])]}return e.reduce(zm,[])};var Km=e=>e.split( ).map(t=>({indent:/^\s+/.exec(t)?.[0]?.length??0,text:t}));var Xm=e=>{let{rows:[t,...r]}=e,{indent:o=0,text:n=""}=t??{},s=n.replace(/^\s*code:/,"");return{indent:o,type:"codeBlock",fileName:s,content:r.map(i=>i.text.substring(o+1)).join(
)}};var ie=(e,{parseOnNested:t,parseOnQuoted:r,patterns:o})=>(n,s,i)=>{if(!t&&s.nested)return i?.()??[];if(!r&&s.quoted)return i?.()??[];for(let a of o){let c=a.exec(n);if(c===null)continue;let l=n.substring(0,c.index),u=n.substring(c.index+(c[0]?.length??0)),p=e(c[0]??"",s);return[...yt(l,s),...p,...yt(u,s)]}return i?.()??[]};var de=e=>[{type:"plain",raw:e,text:e}],Ym=ie(de,{parseOnNested:!0,parseOnQuoted:!0,patterns:[/^()(.*)()$/]});var ev=/\[\s+\]/,tv=(e,t)=>t.context==="table"?de(e,t):[{type:"blank",raw:e,text:e.substring(1,e.length-1)}],Jm=ie(tv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[ev]});var rv=/.*?/,ov=(e,t)=>t.context==="table"?de(e,t):[{type:"code",raw:e,text:e.substring(1,e.length-1)}],Qm=ie(ov,{parseOnNested:!1,parseOnQuoted:!0,patterns:[rv]});var nv=/^[$%] .+$/,sv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e[0]??"",o=e.substring(2);return[{type:"commandLine",raw:e,symbol:r,text:o}]},Zm=ie(sv,{parseOnNested:!1,parseOnQuoted:!1,patterns:[nv]});var iv=/\[[!"#%&'()*+,\-./{|}<>_~]+ (?:\[[^[\]]+\]|[^\]])+\]/,av=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.indexOf(" "),o=e.substring(1,r),n=e.substring(r+1,e.length-1),s=new Set(o);if(s.has("*")){let i=o.split("*").length-1;s.delete("*"),s.add(*-${Math.min(i,10)})}return[{type:"decoration",raw:e,rawDecos:o,decos:Array.from(s),nodes:yt(n,{...t,nested:!0})}]},ef=ie(av,{parseOnNested:!1,parseOnQuoted:!0,patterns:[iv]});var cv=/\[https?:\/\/[^\s\]]+\s+[^\]]*[^\s]\]/,lv=/\[[^[\]]*[^\s]\s+https?:\/\/[^\s\]]+\]/,pv=/\[https?:\/\/[^\s\]]+\]/,uv=/https?:\/\/[^\s]+/,mv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.startsWith("[")&&e.endsWith("]")?e.substring(1,e.length-1):e,o=/^https?:\/\/[^\s\]]/.test(r),n=(o?/^https?:\/\/[^\s\]]+/:/https?:\/\/[^\s\]]+$/).exec(r);if(n?.[0]===void 0)return[];let s=o?r.substring(n[0].length):r.substring(0,n.index-1);return[{type:"link",raw:e,pathType:"absolute",href:n[0],content:s.trim()}]},tf=ie(mv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[cv,lv,pv,uv]});var fv=/\[\$ .+? \]/,dv=/\[\$ [^\]]+\]/,hv=(e,t)=>t.context==="table"?de(e,t):[{type:"formula",raw:e,formula:e.substring(3,e.length-(e.endsWith(" ]")?2:1))}],rf=ie(hv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[fv,dv]});var of=/\[([^\]]*[^\s])\s+([NS]\d+(?:\.\d+)?,[EW]\d+(?:\.\d+)?(?:,Z\d+)?)\]/,nf=/\[([NS]\d+(?:\.\d+)?,[EW]\d+(?:\.\d+)?(?:,Z\d+)?)(?:\s+([^\]]*[^\s]))?\]/,gv=e=>{let[t="",r="",o=""]=e.split(","),n=Number.parseFloat(t.replace(/^N/,"").replace(/^S/,"-")),s=Number.parseFloat(r.replace(/^E/,"").replace(/^W/,"-")),i=/^Z\d+$/.test(o)?Number.parseInt(o.replace(/^Z/,""),10):14;return{latitude:n,longitude:s,zoom:i}},yv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.match(of)??e.match(nf);if(r===null)return[];let o=e.startsWith("[N")||e.startsWith("[S"),[,n="",s=""]=o?r:[r[0],r[2],r[1]],{latitude:i,longitude:a,zoom:c}=gv(n),l=s!==""?https://www.google.com/maps/place/${encodeURIComponent(s)}/@${i},${a},${c}z:https://www.google.com/maps/@${i},${a},${c}z;return[{type:"googleMap",raw:e,latitude:i,longitude:a,zoom:c,place:s,url:l}]},sf=ie(yv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[of,nf]});var xv=/(?:^|\s)#\S+/,bv=(e,t)=>{if(t.context==="table")return de(e,t);if(e.startsWith("#"))return[{type:"hashTag",raw:e,href:e.substring(1)}];let r=e.substring(0,1),o=e.substring(1);return[...de(r,t),{type:"hashTag",raw:o,href:o.substring(1)}]},af=ie(bv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[xv]});var Ev=/^\? .+$/,wv=(e,t)=>t.context==="table"?de(e,t):[{type:"helpfeel",raw:e,text:e.substring(2)}],cf=ie(wv,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Ev]});var Rv=/\[[^[\]]*\.icon(?:\*[1-9]\d*)?\]/,kv=e=>{let t=e.substring(1,e.length-1),r=t.lastIndexOf(".icon"),o=t.substring(0,r),n=o.startsWith("/")?"root":"relative",s=t.substring(r+5,t.length),i=s.startsWith("*")?Number.parseInt(s.substring(1),10):1;return new Array(i).fill({}).map(()=>({path:o,pathType:n,type:"icon",raw:e}))},lf=ie(kv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[Rv]});var vv=/\[https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)(?:\?[^\]\s]+)?(?:\s+https?:\/\/[^\s\]]+)?\]/i,Tv=/\[https?:\/\/[^\s\]]+\s+https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)(?:\?[^\]\s]+)?\]/i,_v=/\[https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}(?:\/raw)?(?:\s+https?:\/\/[^\s\]]+)?\]/,Pv=/\[https?:\/\/[^\s\]]+\s+https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}(?:\/raw)?\]/,Sv=e=>/^https?:\/\/[^\s\]]+\.(png|jpe?g|gif|svg|webp)(\?[^\]\s]+)?$/i.test(e)||Ov(e),Ov=e=>/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}(\/raw)?$/.test(e),Lv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.search(/\s/),o=r!==-1?e.substring(1,r):e.substring(1,e.length-1),n=r!==-1?e.substring(r,e.length-1).replace(/^\s+/,""):"",[s,i]=Sv(n)?[n,o]:[o,n];return[{type:"image",raw:e,src:/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}$/.test(s)?${s}/thumb/1000:s,link:i}]},pf=ie(Lv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[vv,Tv,_v,Pv]});var Nv=/\[\/?[^[\]]+\]/,Cv=e=>{let t=e.substring(1,e.length-1);return[{type:"link",raw:e,pathType:t.startsWith("/")?"root":"relative",href:t,content:""}]},uf=ie(Cv,{parseOnNested:!0,parseOnQuoted:!0,patterns:[Nv]});var Av=/^[0-9]+\. .*$/,Mv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.indexOf(" "),o=e.substring(0,r-1),n=Number.parseInt(o,10),s=e.substring(r+1,e.length);return[{type:"numberList",raw:e,rawNumber:o,number:n,nodes:yt(s,{...t,nested:!1})}]},mf=ie(Mv,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Av]});var Iv=/^>.*$/,Fv=(e,t)=>t.context==="table"?de(e,t):[{type:"quote",raw:e,nodes:yt(e.substring(1),{...t,quoted:!0})}],ff=ie(Fv,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Iv]});var Uv=/\[\[[^[\]]*\.icon(?:\*\d+)?\]\]/,Dv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.substring(2,e.length-2),o=r.lastIndexOf(".icon"),n=r.substring(0,o),s=n.startsWith("/")?"root":"relative",i=r.substring(o+5,r.length),a=i.startsWith("*")?Number.parseInt(i.substring(1),10):1;return new Array(a).fill({}).map(()=>({path:n,pathType:s,type:"strongIcon",raw:e}))},df=ie(Dv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Uv]});var $v=/\[\[https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)\]\]/i,jv=/\[\[https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}\]\]/,Bv=(e,t)=>{if(t.context==="table")return de(e,t);let r=e.substring(2,e.length-2),o=/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}$/.test(r);return[{type:"strongImage",raw:e,src:o?${r}/thumb/1000:r}]},hf=ie(Bv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[$v,jv]});var Hv=/\[\[(?:[^[]|\[[^[]).*?\]*\]\]/,Wv=(e,t)=>t.context==="table"?de(e,t):[{type:"strong",raw:e,nodes:yt(e.substring(2,e.length-2),{...t,nested:!0})}],gf=ie(Wv,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Hv]});var Gv=(e,t,r)=>e===""?[]:r?.()??[],Vv=(...e)=>(t,r)=>e.reduceRight((o,n)=>()=>n(t,r,o),()=>Ym(t,r))(),yt=Vv(Gv,ff,cf,mf,Qm,Zm,rf,Jm,ef,hf,df,gf,pf,tf,lf,sf,uf,af);var yf=e=>{let{indent:t,text:r}=e.rows[0];return{indent:t,type:"line",nodes:yt(r.substring(t),{nested:!1,quoted:!1,context:"line"})}};var xf=e=>{let{rows:[t,...r]}=e,{indent:o=0,text:n=""}=t??{},s=n.replace(/^\s*table:/,"");return{indent:o,type:"table",fileName:s,cells:r.map(i=>i.text.substring(o+1)).map(i=>i.split(" ").map(a=>yt(a,{nested:!1,quoted:!1,context:"table"})))}};var bf=e=>({type:"title",text:e.rows[0].text});var Ef=e=>{switch(e.type){case"title":return bf(e);case"codeBlock":return Xm(e);case"table":return xf(e);case"line":return yf(e)}};var He=(e,t)=>{let r=Km(e);return qm(r,{hasTitle:t?.hasTitle??!0}).map(Ef)},wf=e=>/^\s*\S.*$/m.exec(e)?.[0]?.trim()??"Untitled";var zv=/https?:\/\/(?:www\.|music\.|)youtube\.com\/watch/,qv=/https?:\/\/youtu\.be\/([a-zA-Z\d_-]+)(?:\?([^\s]{0,100})|)/,Kv=/https?:\/\/(?:www\.|)youtube\.com\/shorts\/([a-zA-Z\d_-]+)(?:\?([^\s]+)|)/,Xv=/https?:\/\/(?:www\.|music\.|)youtube\.com\/playlist\?((?:[^\s]+&|)list=([a-zA-Z\d_-]+)(?:&[^\s]+|))/,di=e=>{if(zv.test(e)){let t=new URL(e).searchParams,r=t.get("v");if(r)return{pathType:"com",videoId:r,params:t}}{let t=e.match(qv);if(t){let[,r,o]=t;return{videoId:r,params:new URLSearchParams(o),pathType:"dotbe"}}}{let t=e.match(Kv);if(t){let[,r,o]=t;return{videoId:r,params:new URLSearchParams(o),pathType:"short"}}}{let t=e.match(Xv);if(t){let[,r,o]=t;return{listId:o,params:new URLSearchParams(r),pathType:"list"}}}};var vf=e=>{let t=He(e,{hasTitle:!0}),r="",o=new Map,n=[],s=new Set,i=[],a=new Set,c=[],l=null,u=[],p=new Set,f=new Set,m=new RegExp(${globalThis.location?.origin??"https://scrapbox.io"}/files/([a-z0-9]{24})(?:|\\.[a-zA-Z0-9]+)(?:|\\?[^\\s]*)$),h=x=>{switch(x.type){case"hashTag":if(o.has(ne(x.href)))return;o.set(ne(x.href),!1),n.push(x.href);return;case"link":switch(x.pathType){case"relative":{let E=kf(x.href);if(o.get(ne(E)))return;o.set(ne(E),!0),n.push(E);return}case"root":{let E=kf(x.href);if(/^\/[\w\d-]+\/?$/.test(E)||s.has(ne(E)))return;s.add(ne(E)),i.push(E);return}case"absolute":{if(x.content)return;let E=di(x.href);if(E&&E.pathType!=="list"){l??=https://i.ytimg.com/vi/${E.videoId}/mqdefault.jpg;return}let k=x.href.match(m)?.[1];k&&p.add(k);return}default:return}case"icon":case"strongIcon":{if(x.pathType==="root"||a.has(ne(x.path)))return;a.add(ne(x.path)),c.push(x.path);return}case"image":case"strongImage":{l??=x.src.endsWith("/thumb/1000")?x.src.replace(/\/thumb\/1000$/,"/raw"):x.src;{let E=x.src.match(m)?.[1];E&&p.add(E)}if(x.type==="image"){let E=x.link.match(m)?.[1];E&&p.add(E)}return}case"helpfeel":f.add(x.text);return;case"numberList":case"strong":case"quote":case"decoration":{for(let E of x.nodes)h(E);return}default:return}},g=[];for(let x of t)switch(x.type){case"title":{r=x.text;continue}case"line":u.length<5&&x.nodes.length>0&&u.push(x.nodes[0].type==="helpfeel"||x.nodes[0].type==="commandLine"?Rf(x.nodes[0].raw):x.nodes.map(E=>E.raw).join("").trim().slice(0,200));for(let E of x.nodes)h(E);continue;case"codeBlock":u.length<5&&u.push(Rf(x.content));continue;case"table":{for(let E of x.cells)for(let k of E)for(let b of k)h(b);if(!["infobox","cosense"].includes(x.fileName))continue;g.push(...x.cells.map(E=>E.map(k=>k.map(b=>b.raw).join("")).join(" ").trim()));continue}}let y=e.split( );return[r,n,i,c,l,u,[...p],[...f],g,y.length,y.reduce((x,E)=>x+[...E].length,0)]},Rf=e=>\${e.trim().replaceAll("","\\").slice(0,198)}\`,kf=e=>e.replace(/#a-f\d{24,32}$/,"");var $r=(e,t)=>e.length===t.length&&e.every(r=>t.includes(r));var Tf=e=>e.flatMap(({text:t})=>/^\s*\? .*$/.test(t)?t.trimStart().slice(2):[]);function*_f(e,t,r){let o=t.flatMap(g=>($e(g)?g:g.text).split(` ));for(let g of fl(e.lines,o,{userId:r}))yield g;let[n,s,i,a,c,l,u,p,f,m,h]=vf(o.join(
));(e.title!==n||!e.persistent)&&(yield{title:n}),$r(e.links,s)||(yield{links:s}),$r(e.projectLinks,i)||(yield{projectLinks:i}),$r(e.icons,a)||(yield{icons:a}),e.image!==c&&(yield{image:c}),$r(e.descriptions,l)||(yield{descriptions:l}),$r(e.files,u)||(yield{files:u}),$r(Tf(e.lines),p)||(yield{helpfeels:p}),$r(e.infoboxDefinition,f)||(yield{infoboxDefinition:f}),yield{linesCount:m},yield{charsCount:h}}var Pf=e=>{let t=e.match(/(.+?)(?:_(\d+))?$/),r=t?.[1]??e,o=t?.[2]?parseInt(t[2])+1:2;return${r}_${o}};var Sf=()=>Number.MAX_SAFE_INTEGER-Math.floor(Date.now()/1e3);var Se=(e,t,r,o)=>po(e,t,async(n,s,i,a)=>{if(a==="DuplicateTitleError"){let m=Pf(t);return i.map(h=>("title"in h&&(h.title=m),h))}let c=r(n.lines,{...n,attempts:s}),l=c instanceof Promise?await c:c;if(l===void 0)return[];let[u,p]=Array.isArray(l)?[l,void 0]:[l.lines,l.pin];if(u.length===0)return[{deleted:!0}];let f=n.lines===u?[]:[..._f(n,u,n.userId)];return p!==void 0&&(p&&n.pin===0||!p&&n.pin>0)&&f.push({pin:p?Sf():0}),f},o);var Of=(e,t,r)=>po(e,t,o=>o.persistent?[{deleted:!0}]:[],r);var hi=async(e,t,r,o)=>{let{sid:n,hostName:s,fetch:i}=pe(o??{}),a=await sr(o);if(G(a))return a;let c=new Request(https://${s}/api/pages/${e}/replace/links,{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(a),...n?{Cookie:ue(n)}:{}},body:JSON.stringify({from:t,to:r})}),l=await i(c);return G(l)?l:Re(await ve(ke(X(l)),async u=>await Me(u,["NotFoundError","NotLoggedInError","NotMemberError"])??u),async u=>{let{message:p}=await u.json();return parseInt(p.match(/\d+/)?.[0]??"0")})};var Lf=(e,t)=>{let{sid:r,hostName:o,followingId:n}=pe(t??{});return new Request(https://${o}/api/pages/${e}/search/titles${n??followingId=${n}:""},r?{headers:{Cookie:ue(r)}}:void 0)},Nf=async e=>Re(await ve(ke(e),async t=>t.response.status===422?{name:"InvalidFollowingIdError",message:await t.response.text()}:await Me(t,["NotFoundError","NotLoggedInError"])??t),t=>t.json().then(r=>({pages:r,followingId:t.headers.get("X-following-id")??""}))),Qv=(()=>{let e=async(t,r)=>{let o=await pe(r??{}).fetch(Lf(t,r));return G(o)?o:Nf(X(o))};return e.toRequest=Lf,e.fromResponse=Nf,e})();async function*Cf(e,t){let r;do{let o=await Qv(e,{followingId:r,...t});if(G(o)){yield o;return}let n=X(o);yield te(n.pages),r=n.followingId}while(r)}var Af=async(e,t,r)=>{let{sid:o,hostName:n,fetch:s}=pe(r??{}),i=new Request(https://${n}/api/pages/${t}/search/query?q=${encodeURIComponent(e)},o?{headers:{Cookie:ue(o)}}:void 0),a=await s(i);return G(a)?a:Re(await ve(ke(X(a)),async c=>await Me(c,["NotFoundError","NotLoggedInError","NotMemberError","NoQueryError"])??c),c=>c.json())};var Mf=async(e,t)=>{let{sid:r,hostName:o,fetch:n}=pe(t??{}),s=await sr(t);if(G(s))return s;let i=new Request(https://${o}/api/embed-text/url?url=${encodeURIComponent(${e})},{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(s),...r?{Cookie:ue(r)}:{}},body:JSON.stringify({timeout:3e3})}),a=await n(i);return G(a)?a:Re(await ve(ke(X(a)),async c=>await Me(c,["SessionError","BadRequestError","InvalidURLError"])??c),async c=>{let{title:l}=await c.json();return l})};var If=async(e,t)=>{let{sid:r,hostName:o,fetch:n}=pe(t??{}),s=await sr(t);if(G(s))return s;let i=new Request(https://${o}/api/embed-text/twitter?url=${encodeURIComponent(${e})},{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(s),...r?{Cookie:ue(r)}:{}},body:JSON.stringify({timeout:3e3})}),a=await n(i);return G(a)?a:ve(await Re(ke(X(a)),c=>c.json()),async c=>c.response.status===422?{name:"InvalidURLError",message:(await c.response.json()).message}:await Me(c,["SessionError","BadRequestError"])??c)};var Ff=async e=>{let{fetch:t,sid:r,hostName:o,gyazoTeamsName:n}=pe(e??{}),s=new Request(https://${o}/api/login/gyazo/oauth-upload/token${n??gyazoTeamsName=${n}:""},r?{headers:{Cookie:ue(r)}}:void 0),i=await t(s);return G(i)?i:Re(await ve(ke(X(i)),async a=>await Me(a,["NotLoggedInError"])??a),a=>a.json().then(c=>c.token))};var Uf=(e,t,r,o)=>{let{sid:n,hostName:s}=pe(o??{});return new Request(https://${s}/api/code/${e}/${ae(t)}/${ae(r)},n?{headers:{Cookie:ue(n)}}:void 0)},Df=async e=>Re(await ve(ke(e),async t=>t.response.status===404&&t.response.headers.get("Content-Type")?.includes?.("text/plain")?{name:"NotFoundError",message:"Code block is not found"}:await Me(t,["NotLoggedInError","NotMemberError"])??t),t=>t.text()),gi=(()=>{let e=async(t,r,o,n)=>{let s=Uf(t,r,o,n),i=await pe(n??{}).fetch(s);return G(i)?i:Df(X(i))};return e.toRequest=Uf,e.fromResponse=Df,e})();var Bf=e=>{let t=typeof e=="string"?new TextEncoder().encode(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r=[1732584193,4023233417,2562383102,271733878],o=new Uint8Array(dl),n=0,s=0,i=0;[r,o,n,s,i]=jf(r,o,n,s,i,t);let a=dl-n;a<9&&(a+=dl);let c=new Uint8Array(a);c[0]=128,[s,i]=[s<<3,i<<3|s>>>29],c[c.length-8]=s&255,c[c.length-7]=s>>>8&255,c[c.length-6]=s>>>16&255,c[c.length-5]=s>>>24&255,c[c.length-4]=i&255,c[c.length-3]=i>>>8&255,c[c.length-2]=i>>>16&255,c[c.length-1]=i>>>24&255,[r,o,n,s,i]=jf(r,o,n,s,i,new Uint8Array(c.buffer));let l=new ArrayBuffer(16),u=new DataView(l);return u.setUint32(0,r[0],!0),u.setUint32(4,r[1],!0),u.setUint32(8,r[2],!0),u.setUint32(12,r[3],!0),l},dl=64,B=(e,t)=>e<<t|e>>>32-t,pt=(e,t)=>e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24,$f=(e,t)=>{let[r,o,n,s]=e,i=pt(t,0),a=pt(t,4),c=pt(t,8),l=pt(t,12),u=pt(t,16),p=pt(t,20),f=pt(t,24),m=pt(t,28),h=pt(t,32),g=pt(t,36),y=pt(t,40),x=pt(t,44),E=pt(t,48),k=pt(t,52),b=pt(t,56),v=pt(t,60);return r=o+B(((n^s)&o^s)+r+i+3614090360,7),s=r+B(((o^n)&r^n)+s+a+3905402710,12),n=s+B(((r^o)&s^o)+n+c+606105819,17),o=n+B(((s^r)&n^r)+o+l+3250441966,22),r=o+B(((n^s)&o^s)+r+u+4118548399,7),s=r+B(((o^n)&r^n)+s+p+1200080426,12),n=s+B(((r^o)&s^o)+n+f+2821735955,17),o=n+B(((s^r)&n^r)+o+m+4249261313,22),r=o+B(((n^s)&o^s)+r+h+1770035416,7),s=r+B(((o^n)&r^n)+s+g+2336552879,12),n=s+B(((r^o)&s^o)+n+y+4294925233,17),o=n+B(((s^r)&n^r)+o+x+2304563134,22),r=o+B(((n^s)&o^s)+r+E+1804603682,7),s=r+B(((o^n)&r^n)+s+k+4254626195,12),n=s+B(((r^o)&s^o)+n+b+2792965006,17),o=n+B(((s^r)&n^r)+o+v+1236535329,22),r=o+B(((o^n)&s^n)+r+a+4129170786,5),s=r+B(((r^o)&n^o)+s+f+3225465664,9),n=s+B(((s^r)&o^r)+n+x+643717713,14),o=n+B(((n^s)&r^s)+o+i+3921069994,20),r=o+B(((o^n)&s^n)+r+p+3593408605,5),s=r+B(((r^o)&n^o)+s+y+38016083,9),n=s+B(((s^r)&o^r)+n+v+3634488961,14),o=n+B(((n^s)&r^s)+o+u+3889429448,20),r=o+B(((o^n)&s^n)+r+g+568446438,5),s=r+B(((r^o)&n^o)+s+b+3275163606,9),n=s+B(((s^r)&o^r)+n+l+4107603335,14),o=n+B(((n^s)&r^s)+o+h+1163531501,20),r=o+B(((o^n)&s^n)+r+k+2850285829,5),s=r+B(((r^o)&n^o)+s+c+4243563512,9),n=s+B(((s^r)&o^r)+n+m+1735328473,14),o=n+B(((n^s)&r^s)+o+E+2368359562,20),r=o+B((o^n^s)+r+p+4294588738,4),s=r+B((r^o^n)+s+h+2272392833,11),n=s+B((s^r^o)+n+x+1839030562,16),o=n+B((n^s^r)+o+b+4259657740,23),r=o+B((o^n^s)+r+a+2763975236,4),s=r+B((r^o^n)+s+u+1272893353,11),n=s+B((s^r^o)+n+m+4139469664,16),o=n+B((n^s^r)+o+y+3200236656,23),r=o+B((o^n^s)+r+k+681279174,4),s=r+B((r^o^n)+s+i+3936430074,11),n=s+B((s^r^o)+n+l+3572445317,16),o=n+B((n^s^r)+o+f+76029189,23),r=o+B((o^n^s)+r+g+3654602809,4),s=r+B((r^o^n)+s+E+3873151461,11),n=s+B((s^r^o)+n+v+530742520,16),o=n+B((n^s^r)+o+c+3299628645,23),r=o+B((n^(o|~s))+r+i+4096336452,6),s=r+B((o^(r|~n))+s+m+1126891415,10),n=s+B((r^(s|~o))+n+b+2878612391,15),o=n+B((s^(n|~r))+o+p+4237533241,21),r=o+B((n^(o|~s))+r+E+1700485571,6),s=r+B((o^(r|~n))+s+l+2399980690,10),n=s+B((r^(s|~o))+n+y+4293915773,15),o=n+B((s^(n|~r))+o+a+2240044497,21),r=o+B((n^(o|~s))+r+h+1873313359,6),s=r+B((o^(r|~n))+s+v+4264355552,10),n=s+B((r^(s|~o))+n+f+2734768916,15),o=n+B((s^(n|~r))+o+k+1309151649,21),r=o+B((n^(o|~s))+r+u+4149444226,6),s=r+B((o^(r|~n))+s+x+3174756917,10),n=s+B((r^(s|~o))+n+c+718787259,15),o=n+B((s^(n|~r))+o+g+3951481745,21),[e[0]+r>>>0,e[1]+o>>>0,e[2]+n>>>0,e[3]+s>>>0]},jf=(e,t,r,o,n,s)=>{let i=64-r;if(s.length<i)t.set(s,r),r+=s.length;else{t.set(s.slice(0,i),r),e=$f(e,t);let a=i;for(;a+64<=s.length;)e=$f(e,s.slice(a,a+64)),a+=64;t.fill(0).set(s.slice(a),0),r=s.length-a}return[o,n]=Zv(o,n,s.length),[e,t,r,o,n]},Zv=(e,t,r)=>(e+=r,e>4294967295&&(t+=1),[e>>>0,t]);var eT=new TextEncoder().encode("0123456789abcdef"),Hf=new Uint8Array(128).fill(16);eT.forEach((e,t)=>Hf[e]=t);new TextEncoder().encode("ABCDEF").forEach((e,t)=>Hf[e]=t+10);function Wf(e){return e*2}function Gf(e,t,r,o){for(;t<e.length;++t){let n=e[t];e[r++]=o[n>>4],e[r++]=o[n&15]}return r}function Vf(e,t){let r=e.length;if(e.byteOffset){let o=new Uint8Array(e.buffer);o.set(e),e=o.subarray(0,r)}return e=new Uint8Array(e.buffer.transfer(t)),e.set(e.subarray(0,r),t-r),[e,t-r]}var zf=new TextEncoder().encode("0123456789abcdef"),qf=new Uint8Array(128).fill(16);zf.forEach((e,t)=>qf[e]=t);new TextEncoder().encode("ABCDEF").forEach((e,t)=>qf[e]=t+10);function Kf(e){typeof e=="string"?e=new TextEncoder().encode(e):e instanceof ArrayBuffer?e=new Uint8Array(e).slice():e=e.slice();let[t,r]=Vf(e,Wf(e.length));return Gf(t,r,0,zf),new TextDecoder().decode(t)}var Xf=async(e,t,r)=>{let o=${Kf(Bf(await e.arrayBuffer()))},n=await tT(e,t,o,r);if(G(n))return n;let s=X(n);if("embedUrl"in s)return te(s);let i=await rT(s.signedUrl,e,r);return G(i)?i:oT(t,s.fileId,o,r)},tT=async(e,t,r,o)=>{let{sid:n,hostName:s,fetch:i,csrf:a}=pe(o??{}),c={md5:r,size:e.size,contentType:e.type,name:e.name},l=await oi(mi(a),()=>sr(o));if(G(l))return l;let u=new Request(https://${s}/api/gcs/${t}/upload-request,{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(l),...n?{Cookie:ue(n)}:{}}}),p=await i(u);return G(p)?p:Re(await ve(ke(X(p)),async f=>f.response.status===402?{name:"FileCapacityError",message:(await f.response.json()).message}:f),f=>f.json())},rT=async(e,t,r)=>{let{sid:o,fetch:n}=pe(r??{}),s=await n(e,{method:"PUT",body:t,headers:{"Content-Type":t.type,...o?{Cookie:ue(o)}:{}}});return G(s)?s:lo(await ve(ke(X(s)),async i=>i.response.headers.get("Content-Type")?.includes?.("/xml")?{name:"GCSError",message:await i.response.text()}:i),()=>{})},oT=async(e,t,r,o)=>{let{sid:n,hostName:s,fetch:i,csrf:a}=pe(o??{}),c=await oi(mi(a),()=>sr(o));if(G(c))return c;let l=new Request(https://${s}/api/gcs/${e}/verify,{method:"POST",body:JSON.stringify({md5:r,fileId:t}),headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":X(c),...n?{Cookie:ue(n)}:{}}}),u=await i(l);return G(u)?u:Re(await ve(ke(X(u)),async p=>p.response.status===404?{name:"NotFoundError",message:(await p.response.json()).message}:p),p=>p.json())};function ut(e){return e.val}function Rt(e){return e.err}var Yf=" must not return ",nT="transformer",sT="recoverer",iT="defaultValue",yi=nT+Yf,uo="called with ",xi=iT+" must not be ",bi=sT+Yf;var aT="Ok",Jf="Err",Qf=uo+Jf,Zf=uo+aT,cT="Carrying E in "+Jf+" instead of throwing it directly. See .cause",hl="an instance of Error of the current realm.",E3="The thrown value is not "+hl,w3="The contained E should be "+hl,lT="This .cause is not "+hl;function Ne(e){return e.ok}function ce(e){return{ok:!0,val:e,err:null}}function H(e){return!e.ok}function Q(e){return{ok:!1,val:null,err:e}}function W(e){return ed(e,Qf)}function re(e){return td(e,Zf)}function ed(e,t){if(H(e))throw new TypeError(t);return e.val}function td(e,t){if(Ne(e))throw new TypeError(t);return e.err}async function Tt(e,t){if(H(e))return e;let r=ut(e),o=await t(r);return ce(o)}function gl(e,t,r){if(Ne(e)){let n=ut(e);return r(n)}let o=Rt(e);return t(o)}var Ei="null",PV=yi+Ei,mT=uo+Ei,SV=xi+Ei,OV=bi+Ei;var wi="undefined",MV=yi+wi,fT=uo+wi,IV=xi+wi,FV=bi+wi;var od=async e=>{let t=e.title??".watchlistrc",r="projectsLastAccessed.json",o=await gi(e.project,t,r),n=H(o)?{}:JSON.parse(W(o)||"{}"),s=JSON.parse(localStorage.getItem("projectsLastAccessed")??"{}"),i=new Set([...Object.keys(n),...Object.keys(s)]),a=Object.fromEntries([...i].map(l=>[l,Math.max(n[l]??0,s[l]??0)]).sort((l,u)=>u[1]-l[1])),c=JSON.stringify(a);localStorage.setItem("projectsLastAccessed",c),await Se(e.project,t,()=>[t,"This page is automatically generated. DO NOT EDIT ANYTHING, WHITCH WILL BE OVERWRITTEN.","",code:${r}, ${c},""])};var _t=!1,Ri=e=>{_t=typeof e=="boolean"?e:new Set(e)},jr=e=>Object.fromEntries([...Object.entries(console)].map(([t,r])=>{if(typeof r!="function")return[t,r];switch(t){case"warn":case"error":return[t,(...o)=>r(%c${e},yl,...o)];case"log":case"info":case"debug":return[t,(...o)=>{_t!==!0&&(!_t||!_t.has(e))||r(%c${e},yl,...o)}];case"assert":return[t,(o,...n)=>{_t!==!0&&(!_t||!_t.has(e))||r(o,%c${e},yl,...n)}];case"time":case"timeEnd":return[t,o=>{_t!==!0&&(!_t||!_t.has(e))||r(${e} ${o})}];default:return[t,(...o)=>{if(!(_t!==!0&&(!_t||!_t.has(e))))return r(...o)}]}})),yl="color: gray";var Er=globalThis.scrapbox;var ki=e=>{let{fetch:t=globalThis.fetch,...r}=e;return{fetch:t,...r}};var nd=e=>{let{accessToken:t,fetch:r,page:o,per:n}=ki(e??{}),i=https://api.gyazo.com/api/images?${new URLSearchParams({access_token:t,...n!==void 0?{per_page:${Math.max(1,Math.min(100,Math.round(n)))}}:{},...o!==void 0?{page:${o}}:{}})};return r(i)};var on="Gyazo Viewer",sd=e=>{let t=Promise.resolve(),r=globalThis.GM_fetch;Er.PageMenu.addMenu({title:r?on:"Open Gyazo",icon:"kamon kamon-gyazo",onClick:r?()=>{t=t.then(()=>hT({per:e.maxCount??10,accessToken:e.accessToken,fetch:r,onClick:e.onClick}))}:()=>globalThis.open("https://gyazo.com/captures")})},hT=async e=>{let t;try{let r=nd({page:0,...e});t=setTimeout(()=>{Er.PageMenu(on).addItem({title:"Loading...",icon:"fas fa-spinner",onClick:()=>{}})},100);let o=await r;if(!o.ok)throw new Error(${o.status} ${o.statusText});let n=await o.json();clearTimeout(t),Er.PageMenu(on).removeAllItems();for(let s of n)s.image_id&&Er.PageMenu(on).addItem({title:s.metadata?.title||"Untitled",image:s.url,onClick:i=>e.onClick?.(s,i)??navigator?.clipboard?.writeText?.(s.permalink_url)?.catch?.(a=>{alert(${a}),console.error(a)})})}catch(r){clearTimeout(t),Er.PageMenu(on).removeAllItems(),Er.PageMenu(on).addItem({title:"Failed to load the image list.",icon:"fas fa-exclamation-triangle",onClick:()=>{}}),console.error("Failed to load the image list",r)}};import{GYAZO_ACCESS_TOKEN as g1}from"https://scrapbox.io/api/code/takker-memex/GYAZO_ACCESS_TOKEN/auth.js";var Pi,Z,ld,gT,mo,id,pd,ud,md,wl,xl,bl,fd,qn={},dd=[],yT=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Kn=Array.isArray;function wr(e,t){for(var r in t)e[r]=t[r];return e}function Rl(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Rr(e,t,r){var o,n,s,i={};for(s in t)s=="key"?o=t[s]:s=="ref"?n=t[s]:i[s]=t[s];if(arguments.length>2&&(i.children=arguments.length>3?Pi.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(s in e.defaultProps)i[s]==null&&(i[s]=e.defaultProps[s]);return Ti(e,i,o,n,null)}function Ti(e,t,r,o,n){var s={type:e,props:t,key:r,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:n??++ld,__i:-1,__u:0};return n==null&&Z.vnode!=null&&Z.vnode(s),s}function Y(e){return e.children}function Xt(e,t){this.props=e,this.context=t}function nn(e,t){if(t==null)return e.__?nn(e.__,e.__i+1):null;for(var r;t<e.__k.length;t++)if((r=e.__k[t])!=null&&r.__e!=null)return r.__e;return typeof e.type=="function"?nn(e):null}function hd(e){var t,r;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((r=e.__k[t])!=null&&r.__e!=null){e.__e=e.__c.base=r.__e;break}return hd(e)}}function El(e){(!e.__d&&(e.__d=!0)&&mo.push(e)&&!_i.__r++||id!=Z.debounceRendering)&&((id=Z.debounceRendering)||pd)(_i)}function _i(){for(var e,t,r,o,n,s,i,a=1;mo.length;)mo.length>a&&mo.sort(ud),e=mo.shift(),a=mo.length,e.__d&&(r=void 0,n=(o=(t=e).__v).__e,s=[],i=[],t.__P&&((r=wr({},o)).__v=o.__v+1,Z.vnode&&Z.vnode(r),kl(t.__P,r,o,t.__n,t.__P.namespaceURI,32&o.__u?[n]:null,s,n??nn(o),!!(32&o.__u),i),r.__v=o.__v,r.__.__k[r.__i]=r,xd(s,r,i),r.__e!=n&&hd(r)));_i.__r=0}function gd(e,t,r,o,n,s,i,a,c,l,u){var p,f,m,h,g,y,x=o&&o.__k||dd,E=t.length;for(c=xT(r,t,x,c,E),p=0;p<E;p++)(m=r.__k[p])!=null&&(f=m.__i==-1?qn:x[m.__i]||qn,m.__i=p,y=kl(e,m,f,n,s,i,a,c,l,u),h=m.__e,m.ref&&f.ref!=m.ref&&(f.ref&&vl(f.ref,null,m),u.push(m.ref,m.__c||h,m)),g==null&&h!=null&&(g=h),4&m.__u||f.__k===m.__k?c=yd(m,c,e):typeof m.type=="function"&&y!==void 0?c=y:h&&(c=h.nextSibling),m.__u&=-7);return r.__e=g,c}function xT(e,t,r,o,n){var s,i,a,c,l,u=r.length,p=u,f=0;for(e.__k=new Array(n),s=0;s<n;s++)(i=t[s])!=null&&typeof i!="boolean"&&typeof i!="function"?(c=s+f,(i=e.__k[s]=typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?Ti(null,i,null,null,null):Kn(i)?Ti(Y,{children:i},null,null,null):i.constructor==null&&i.__b>0?Ti(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,a=null,(l=i.__i=bT(i,r,c,p))!=-1&&(p--,(a=r[l])&&(a.__u|=2)),a==null||a.__v==null?(l==-1&&(n>u?f--:n<u&&f++),typeof i.type!="function"&&(i.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,i.__u|=4))):e.__k[s]=null;if(p)for(s=0;s<u;s++)(a=r[s])!=null&&!(2&a.__u)&&(a.__e==o&&(o=nn(a)),Ed(a,a));return o}function yd(e,t,r){var o,n;if(typeof e.type=="function"){for(o=e.__k,n=0;o&&n<o.length;n++)o[n]&&(o[n].__=e,t=yd(o[n],t,r));return t}e.__e!=t&&(t&&e.type&&!r.contains(t)&&(t=nn(e)),r.insertBefore(e.__e,t||null),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function Br(e,t){return t=t||[],e==null||typeof e=="boolean"||(Kn(e)?e.some(function(r){Br(r,t)}):t.push(e)),t}function bT(e,t,r,o){var n,s,i=e.key,a=e.type,c=t[r];if(c===null&&e.key==null||c&&i==c.key&&a==c.type&&!(2&c.__u))return r;if(o>(c!=null&&!(2&c.__u)?1:0))for(n=r-1,s=r+1;n>=0||s<t.length;){if(n>=0){if((c=t[n])&&!(2&c.__u)&&i==c.key&&a==c.type)return n;n--}if(s<t.length){if((c=t[s])&&!(2&c.__u)&&i==c.key&&a==c.type)return s;s++}}return-1}function ad(e,t,r){t[0]=="-"?e.setProperty(t,r??""):e[t]=r==null?"":typeof r!="number"||yT.test(t)?r:r+"px"}function vi(e,t,r,o,n){var s;e:if(t=="style")if(typeof r=="string")e.style.cssText=r;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)r&&t in r||ad(e.style,t,"");if(r)for(t in r)o&&r[t]==o[t]||ad(e.style,t,r[t])}else if(t[0]=="o"&&t[1]=="n")s=t!=(t=t.replace(md,"$1")),t=t.toLowerCase()in e||t=="onFocusOut"||t=="onFocusIn"?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+s]=r,r?o?r.u=o.u:(r.u=wl,e.addEventListener(t,s?bl:xl,s)):e.removeEventListener(t,s?bl:xl,s);else{if(n=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=r??"";break e}catch{}typeof r=="function"||(r==null||r===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&r==1?"":r))}}function cd(e){return function(t){if(this.l){var r=this.l[t.type+e];if(t.t==null)t.t=wl++;else if(t.t<r.u)return;return r(Z.event?Z.event(t):t)}}}function kl(e,t,r,o,n,s,i,a,c,l){var u,p,f,m,h,g,y,x,E,k,b,v,R,O,L,N,P,T=t.type;if(t.constructor!=null)return null;128&r.__u&&(c=!!(32&r.__u),s=[a=t.__e=r.__e]),(u=Z.__b)&&u(t);e:if(typeof T=="function")try{if(x=t.props,E="prototype"in T&&T.prototype.render,k=(u=T.contextType)&&o[u.__c],b=u?k?k.props.value:u.__:o,r.__c?y=(p=t.__c=r.__c).__=p.__E:(E?t.__c=p=new T(x,b):(t.__c=p=new Xt(x,b),p.constructor=T,p.render=wT),k&&k.sub(p),p.props=x,p.state||(p.state={}),p.context=b,p.__n=o,f=p.__d=!0,p.__h=[],p._sb=[]),E&&p.__s==null&&(p.__s=p.state),E&&T.getDerivedStateFromProps!=null&&(p.__s==p.state&&(p.__s=wr({},p.__s)),wr(p.__s,T.getDerivedStateFromProps(x,p.__s))),m=p.props,h=p.state,p.__v=t,f)E&&T.getDerivedStateFromProps==null&&p.componentWillMount!=null&&p.componentWillMount(),E&&p.componentDidMount!=null&&p.__h.push(p.componentDidMount);else{if(E&&T.getDerivedStateFromProps==null&&x!==m&&p.componentWillReceiveProps!=null&&p.componentWillReceiveProps(x,b),!p.__e&&p.shouldComponentUpdate!=null&&p.shouldComponentUpdate(x,p.__s,b)===!1||t.__v==r.__v){for(t.__v!=r.__v&&(p.props=x,p.state=p.__s,p.__d=!1),t.__e=r.__e,t.__k=r.__k,t.__k.some(function(_){_&&(_.__=t)}),v=0;v<p._sb.length;v++)p.__h.push(p._sb[v]);p._sb=[],p.__h.length&&i.push(p);break e}p.componentWillUpdate!=null&&p.componentWillUpdate(x,p.__s,b),E&&p.componentDidUpdate!=null&&p.__h.push(function(){p.componentDidUpdate(m,h,g)})}if(p.context=b,p.props=x,p.__P=e,p.__e=!1,R=Z.__r,O=0,E){for(p.state=p.__s,p.__d=!1,R&&R(t),u=p.render(p.props,p.state,p.context),L=0;L<p._sb.length;L++)p.__h.push(p._sb[L]);p._sb=[]}else do p.__d=!1,R&&R(t),u=p.render(p.props,p.state,p.context),p.state=p.__s;while(p.__d&&++O<25);p.state=p.__s,p.getChildContext!=null&&(o=wr(wr({},o),p.getChildContext())),E&&!f&&p.getSnapshotBeforeUpdate!=null&&(g=p.getSnapshotBeforeUpdate(m,h)),N=u,u!=null&&u.type===Y&&u.key==null&&(N=bd(u.props.children)),a=gd(e,Kn(N)?N:[N],t,r,o,n,s,i,a,c,l),p.base=t.__e,t.__u&=-161,p.__h.length&&i.push(p),y&&(p.__E=p.__=null)}catch(_){if(t.__v=null,c||s!=null)if(_.then){for(t.__u|=c?160:128;a&&a.nodeType==8&&a.nextSibling;)a=a.nextSibling;s[s.indexOf(a)]=null,t.__e=a}else for(P=s.length;P--;)Rl(s[P]);else t.__e=r.__e,t.__k=r.__k;Z.__e(_,t,r)}else s==null&&t.__v==r.__v?(t.__k=r.__k,t.__e=r.__e):a=t.__e=ET(r.__e,t,r,o,n,s,i,c,l);return(u=Z.diffed)&&u(t),128&t.__u?void 0:a}function xd(e,t,r){for(var o=0;o<r.length;o++)vl(r[o],r[++o],r[++o]);Z.__c&&Z.__c(t,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(s){s.call(n)})}catch(s){Z.__e(s,n.__v)}})}function bd(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:Kn(e)?e.map(bd):wr({},e)}function ET(e,t,r,o,n,s,i,a,c){var l,u,p,f,m,h,g,y=r.props,x=t.props,E=t.type;if(E=="svg"?n="http://www.w3.org/2000/svg":E=="math"?n="http://www.w3.org/1998/Math/MathML":n||(n="http://www.w3.org/1999/xhtml"),s!=null){for(l=0;l<s.length;l++)if((m=s[l])&&"setAttribute"in m==!!E&&(E?m.localName==E:m.nodeType==3)){e=m,s[l]=null;break}}if(e==null){if(E==null)return document.createTextNode(x);e=document.createElementNS(n,E,x.is&&x),a&&(Z.__m&&Z.__m(t,s),a=!1),s=null}if(E==null)y===x||a&&e.data==x||(e.data=x);else{if(s=s&&Pi.call(e.childNodes),y=r.props||qn,!a&&s!=null)for(y={},l=0;l<e.attributes.length;l++)y[(m=e.attributes[l]).name]=m.value;for(l in y)if(m=y[l],l!="children"){if(l=="dangerouslySetInnerHTML")p=m;else if(!(l in x)){if(l=="value"&&"defaultValue"in x||l=="checked"&&"defaultChecked"in x)continue;vi(e,l,null,m,n)}}for(l in x)m=x[l],l=="children"?f=m:l=="dangerouslySetInnerHTML"?u=m:l=="value"?h=m:l=="checked"?g=m:a&&typeof m!="function"||y[l]===m||vi(e,l,m,y[l],n);if(u)a||p&&(u.__html==p.__html||u.__html==e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(p&&(e.innerHTML=""),gd(t.type=="template"?e.content:e,Kn(f)?f:[f],t,r,o,E=="foreignObject"?"http://www.w3.org/1999/xhtml":n,s,i,s?s[0]:r.__k&&nn(r,0),a,c),s!=null)for(l=s.length;l--;)Rl(s[l]);a||(l="value",E=="progress"&&h==null?e.removeAttribute("value"):h!=null&&(h!==e[l]||E=="progress"&&!h||E=="option"&&h!=y[l])&&vi(e,l,h,y[l],n),l="checked",g!=null&&g!=e[l]&&vi(e,l,g,y[l],n))}return e}function vl(e,t,r){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(n){Z.__e(n,r)}}function Ed(e,t,r){var o,n;if(Z.unmount&&Z.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||vl(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(s){Z.__e(s,t)}o.base=o.__P=null}if(o=e.__k)for(n=0;n<o.length;n++)o[n]&&Ed(o[n],t,r||typeof e.type!="function");r||Rl(e.__e),e.__c=e.__=e.__e=void 0}function wT(e,t,r){return this.constructor(e,r)}function mt(e,t,r){var o,n,s,i;t==document&&(t=document.documentElement),Z.__&&Z.__(e,t),n=(o=typeof r=="function")?null:r&&r.__k||t.__k,s=[],i=[],kl(t,e=(!o&&r||t).__k=Rr(Y,null,[e]),n||qn,qn,t.namespaceURI,!o&&r?[r]:n?null:t.firstChild?Pi.call(t.childNodes):null,s,!o&&r?r:n?n.__e:t.firstChild,o,i),xd(s,e,i)}function Xn(e){function t(r){var o,n;return this.getChildContext||(o=new Set,(n={})[t.__c]=this,this.getChildContext=function(){return n},this.componentWillUnmount=function(){o=null},this.shouldComponentUpdate=function(s){this.props.value!=s.value&&o.forEach(function(i){i.__e=!0,El(i)})},this.sub=function(s){o.add(s);var i=s.componentWillUnmount;s.componentWillUnmount=function(){o&&o.delete(s),i&&i.call(s)}}),r.children}return t.__c="__cC"+fd++,t.__=e,t.Provider=t.__l=(t.Consumer=function(r,o){return r.children(o)}).contextType=t,t}Pi=dd.slice,Z={__e:function(e,t,r,o){for(var n,s,i;t=t.__;)if((n=t.__c)&&!n.__)try{if((s=n.constructor)&&s.getDerivedStateFromError!=null&&(n.setState(s.getDerivedStateFromError(e)),i=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(e,o||{}),i=n.__d),i)return n.__E=n}catch(a){e=a}throw e}},ld=0,gT=function(e){return e!=null&&e.constructor==null},Xt.prototype.setState=function(e,t){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=wr({},this.state),typeof e=="function"&&(e=e(wr({},r),this.props)),e&&wr(r,e),e!=null&&this.__v&&(t&&this._sb.push(t),El(this))},Xt.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),El(this))},Xt.prototype.render=Y,mo=[],pd=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,ud=function(e,t){return e.__v.__b-t.__v.__b},_i.__r=0,md=/(PointerCapture)$|Capture$/i,wl=0,xl=cd(!1),bl=cd(!0),fd=0;var fo,Ce,Tl,wd,Yn=0,Od=[],je=Z,Rd=je.__b,kd=je.__r,vd=je.diffed,Td=je.__c,_d=je.unmount,Pd=je.__;function Jn(e,t){je.__h&&je.__h(Ce,e,Yn||t),Yn=0;var r=Ce.__H||(Ce.__H={__:[],__h:[]});return e>=r.__.length&&r.__.push({}),r.__[e]}function J(e){return Yn=1,Hr(Ld,e)}function Hr(e,t,r){var o=Jn(fo++,2);if(o.t=e,!o.__c&&(o.__=[r?r(t):Ld(void 0,t),function(a){var c=o.__N?o.__N[0]:o.__[0],l=o.t(c,a);c!==l&&(o.__N=[l,o.__[1]],o.__c.setState({}))}],o.__c=Ce,!Ce.__f)){var n=function(a,c,l){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(f){return!!f.__c});if(u.every(function(f){return!f.__N}))return!s||s.call(this,a,c,l);var p=o.__c.props!==a;return u.forEach(function(f){if(f.__N){var m=f.__[0];f.__=f.__N,f.__N=void 0,m!==f.__[0]&&(p=!0)}}),s&&s.call(this,a,c,l)||p};Ce.__f=!0;var s=Ce.shouldComponentUpdate,i=Ce.componentWillUpdate;Ce.componentWillUpdate=function(a,c,l){if(this.__e){var u=s;s=void 0,n(a,c,l),s=u}i&&i.call(this,a,c,l)},Ce.shouldComponentUpdate=n}return o.__N||o.__}function oe(e,t){var r=Jn(fo++,3);!je.__s&&Pl(r.__H,t)&&(r.__=e,r.u=t,Ce.__H.__h.push(r))}function Oi(e,t){var r=Jn(fo++,4);!je.__s&&Pl(r.__H,t)&&(r.__=e,r.u=t,Ce.__h.push(r))}function ze(e){return Yn=5,C(function(){return{current:e}},[])}function C(e,t){var r=Jn(fo++,7);return Pl(r.__H,t)&&(r.__=e(),r.__H=t,r.__h=e),r.__}function F(e,t){return Yn=8,C(function(){return e},t)}function kr(e){var t=Ce.context[e.__c],r=Jn(fo++,9);return r.c=e,t?(r.__==null&&(r.__=!0,t.sub(Ce)),t.props.value):e.__}function RT(){for(var e;e=Od.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Si),e.__H.__h.forEach(_l),e.__H.__h=[]}catch(t){e.__H.__h=[],je.__e(t,e.__v)}}je.__b=function(e){Ce=null,Rd&&Rd(e)},je.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Pd&&Pd(e,t)},je.__r=function(e){kd&&kd(e),fo=0;var t=(Ce=e.__c).__H;t&&(Tl===Ce?(t.__h=[],Ce.__h=[],t.__.forEach(function(r){r.__N&&(r.__=r.__N),r.u=r.__N=void 0})):(t.__h.forEach(Si),t.__h.forEach(_l),t.__h=[],fo=0)),Tl=Ce},je.diffed=function(e){vd&&vd(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Od.push(t)!==1&&wd===je.requestAnimationFrame||((wd=je.requestAnimationFrame)||kT)(RT)),t.__H.__.forEach(function(r){r.u&&(r.__H=r.u),r.u=void 0})),Tl=Ce=null},je.__c=function(e,t){t.some(function(r){try{r.__h.forEach(Si),r.__h=r.__h.filter(function(o){return!o.__||_l(o)})}catch(o){t.some(function(n){n.__h&&(n.__h=[])}),t=[],je.__e(o,r.__v)}}),Td&&Td(e,t)},je.unmount=function(e){_d&&_d(e);var t,r=e.__c;r&&r.__H&&(r.__H.__.forEach(function(o){try{Si(o)}catch(n){t=n}}),r.__H=void 0,t&&je.__e(t,r.__v))};var Sd=typeof requestAnimationFrame=="function";function kT(e){var t,r=function(){clearTimeout(o),Sd&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(r,100);Sd&&(t=requestAnimationFrame(r))}function Si(e){var t=Ce,r=e.__c;typeof r=="function"&&(e.__c=void 0,r()),Ce=t}function _l(e){var t=Ce;e.__c=e.__(),Ce=t}function Pl(e,t){return!e||e.length!==t.length||t.some(function(r,o){return r!==e[o]})}function Ld(e,t){return typeof t=="function"?t(e):t}function qe(e){return typeof e=="number"}var vT=(e,t,r)=>{let o=t.name||"anonymous predicate",n=typeof e,s=JSON.stringify(e,null,2);returnExpected ${r??"a value"} that satisfies the predicate ${o}, got ${n}: ${s}},TT=vT,Sl=class e extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,e),this.name=this.constructor.name}};function Nd(e,t,r={}){if(!t(e))throw new Sl(r.message??TT(e,t,r.name))}function Cd(e,t,r={}){return Nd(e,t,r),e}function Pt(e){return typeof e>"u"}var Li=!1,Ad=null,Md=()=>{scrapbox.addListener("lines:changed",()=>Li=!1),scrapbox.addListener("layout:changed",()=>Li=!1),Md=void 0},Id=()=>(Md?.(),Li||(Ad=scrapbox.Page.lines,Li=!0),Ad);var Fd=(e,t)=>{if(!(e instanceof HTMLDivElement))throw new TypeError("${t}" must be HTMLDivElememt but actual is "${e}")};var Ud=(e,t)=>{if(!(e instanceof HTMLTextAreaElement))throw new TypeError("${t}" must be HTMLTextAreaElement but actual is "${e}")};var Dd=()=>Ni(document.getElementById("editor"),"div#editor"),Qn=()=>Ni(document.getElementsByClassName("lines").item(0),"div.lines");var Ke=()=>{let e=document.getElementById("text-input");if(e)return Ud(e,"textarea#text-input"),e};var $d=()=>Ni(document.getElementsByClassName("popup-menu")?.[0],"div.popup-menu");var jd=()=>Ni(document.getElementsByClassName("status-bar")?.[0],"div.status-bar"),Ni=(e,t)=>{if(e)return Fd(e,t),e};var ft=()=>{let e=Qn();if(!e)throw Error("div.lines is not found.");let t=Object.keys(e).find(r=>r.startsWith("__reactFiber"));if(!t)throw Error('div.lines must has the property whose name starts with "__reactFiber"');return e[t].return.stateNode.props.lines};var vr=e=>e.match(/^(\s*)/)?.[1]?.length??0,ho=(e,t)=>{let r=vr(Bd(e,t)),o=0;for(;e+o+1<t.length&&vr(Bd(e+o+1,t))>r;)o++;return o},Bd=(e,t)=>{let r=t[e];return $e(r)?r:r.text};var Ol=e=>{if(Pt(e))return;if(qe(e))return Ci(e)?.id;if($e(e))return e.startsWith("L")?e.slice(1):e;if(e.classList.contains("line"))return e.id.slice(1);let t=e.closest(".line");if(t)return t.id.slice(1)},Hd=e=>{if(Pt(e))return;if(qe(e))return e;let t=Ol(e);return t?ft().findIndex(r=>r.id===t):-1};var Ci=e=>{if(Pt(e))return;if(qe(e))return ft()[e];let t=Ol(e);return t?ft().find(r=>r.id===t):void 0},Tr=e=>{if(Wd(e))return e;let t=Ol(e);if(Pt(t))return t;let r=document.getElementById(L${t});if(!Pt(r))return r},Wd=e=>e instanceof HTMLDivElement&&e.classList.contains("line");var ar=()=>Cd(Id(),xr),Xe=e=>{if(Pt(e))return;if(qe(e)||$e(e))return Ci(e)?.text;if(!(e instanceof HTMLElement))return;if(Wd(e))return Ci(e)?.text;if(e.classList.contains("char-index"))return e.textContent??void 0;if(e.classList.contains("line")||e.getElementsByClassName("lines")?.[0])return ft().map(({text:o})=>o).join( );let t=[],r=Ci(e);if(!Pt(r)){for(let o of PT(e))t.push(ST(o));return r.text.slice(Math.min(...t),Math.max(...t)+1)}};var Gd=()=>{let e=Qn()?.firstElementChild;if(!Pt(e))return e},Vd=()=>{let e=Qn()?.lastElementChild;if(!Pt(e))return e};var Ll=e=>{let t=Hd(e);if(!Pt(t))return ho(t,ar())};function*PT(e){let t=e.getElementsByClassName("char-index");for(let r=0;r<t.length;r++)yield t[0]}var Nl=e=>e instanceof HTMLSpanElement&&e.classList.contains("char-index"),ST=e=>{if(!Nl(e))throw Error("A char DOM is required.");let t=e.className.match(/c-(\d+)/)?.[1];if(Pt(t))throw Error('.char-index must have ".c-{\\d}"');return parseInt(t)},zd=e=>{let t=e?.getElementsByClassName?.("c-0")?.[0];return Nl(t)?t:void 0};var Zn=(e,t)=>{let r=Tr(e)?.getElementsByClassName?.(c-${t})?.[0];return Nl(r)?r:void 0};var ot=(e,t)=>{let{noModifiedKeys:r=!1,...o}=t??{},n={bubbles:!0,cancelable:!0,keyCode:OT[e],...r?{}:{...o}},s=Ke();if(!s)throw Error("#text-input must exist.");s.dispatchEvent(new KeyboardEvent("keydown",n)),s.dispatchEvent(new KeyboardEvent("keyup",n))},OT={Backspace:8,Tab:9,Enter:13,Delete:46,Escape:27," ":32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,a:65,A:65,b:66,B:66,c:67,C:67,d:68,D:68,e:69,E:69,f:70,F:70,g:71,G:71,h:72,H:72,i:73,I:73,j:74,J:74,k:75,K:75,l:76,L:76,m:77,M:77,n:78,N:78,o:79,O:79,p:80,P:80,q:81,Q:81,r:82,R:82,s:83,S:83,t:84,T:84,u:85,U:85,v:86,V:86,w:87,W:87,x:88,X:88,y:89,Y:89,z:90,Z:90,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,F1:113,F2:114,F3:115,F4:116,F5:117,F6:118,F7:119,F8:120,F9:121,F10:122,F11:123,F12:124,":":186,"*":186,";":187,"+":187,"-":189,"=":189,".":190,">":190,"/":191,"?":191,"@":192,"":192,"":219,"{":219,"\\":220,"|":220,"":221,"}":221,"^":222,"~":222,_:226};var Cl=async(e,t)=>{let r={button:t.button??0,clientX:t.X,clientY:t.Y,bubbles:!0,cancelable:!0,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey,view:window};e.dispatchEvent(new MouseEvent("mousedown",r)),e.dispatchEvent(new MouseEvent("mouseup",r)),e.dispatchEvent(new MouseEvent("click",r)),await Ie(10)};var Fe=()=>{let e=Ke();if(!e)throw Error("#text-input is not found.");let t=Object.keys(e).find(r=>r.startsWith("__reactFiber"));if(!t)throw Error('div.cursor must has the property whose name starts with "__reactFiber"');return et.return.return.stateNode.props};var Al=e=>{let{top:t,bottom:r}=e.getBoundingClientRect();return t>=0&&r<=globalThis.innerHeight};function St(e,t,r){if(r??=e>t?-1:1,!Number.isFinite(e))throw new RangeError(start must be finite, but got ${e}.);if(!Number.isFinite(r))throw new RangeError(step must be finite, but got ${r}.);if(r===0)throw new RangeError("step must not be 0.");if(!Number.isFinite(t))throw new RangeError(stop must be finite, but got ${t}.);if(r>0&&e>t)throw new RangeError("start must be less than stop for positive step.");if(r<0&&e<t)throw new RangeError("start must be greater than stop for negative step.");return function*(){if(r>=0)for(let o=e;o<=t;o+=r)yield o;else for(let o=e;o>=t;o+=r)yield o}()}var qd=()=>{ot("Home"),ot("Home")};var Kd=async()=>{let e=Gd();if(!e)throw Error(".line:first-of-type can't be found.");Al(e)||e.scrollIntoView({block:"center"});let t=zd(e);if(!t)throw Error(".line:first-of-type .c-0 can't be found.");let{left:r,top:o}=t.getBoundingClientRect();await Cl(e,{X:r,Y:o})},Xd=async()=>{await Jd(Vd())},Yd=async e=>{await Jd(Tr(e))},Jd=async e=>{if(!e)throw Error("The target line DOM is failed to find.");Al(e)||e.scrollIntoView({block:"center"});let{right:t,top:r,height:o}=e.getElementsByClassName("text")0.getBoundingClientRect();await Cl(e,{X:t+1,Y:r+o/2})};var Qd=(e=1)=>{for(let t of St(1,e))ot("z",{ctrlKey:!0})},Zd=(e=1)=>{for(let t of St(1,e))ot("z",{shiftKey:!0,ctrlKey:!0})};var Ai=async(e,t,r)=>{await Yd(e),qd();for(let o of St(e,t))ot("ArrowDown",{shiftKey:!0});ot("End",{shiftKey:!0}),await We(r)};var Mi=(e=1)=>{for(let t of St(1,e))ot("ArrowRight",{ctrlKey:!0})},Ii=(e=1)=>{for(let t of St(1,e))ot("ArrowLeft",{ctrlKey:!0})};var Fi=(e=1)=>{for(let t of St(1,e))ot("ArrowUp",{ctrlKey:!0})},Ui=(e=1)=>{for(let t of St(1,e))ot("ArrowDown",{ctrlKey:!0})},Di=(e=1)=>{for(let t of St(1,e))ot("ArrowRight",{altKey:!0})},$i=(e=1)=>{for(let t of St(1,e))ot("ArrowLeft",{altKey:!0})};var ji=(e=1)=>{for(let t of St(1,e))ot("ArrowUp",{altKey:!0})},Bi=(e=1)=>{for(let t of St(1,e))ot("ArrowDown",{altKey:!0})},We=e=>{let t=Ke();if(!t)throw Error("#text-input is not ditected.");t.focus(),t.value=e;let r=new InputEvent("input",{bubbles:!0});return t.dispatchEvent(r),scrapbox.Page.waitForSave()};var Oe=()=>{let e=jd();if(!e)throw new Error("div.status-bar can't be found");let t=document.createElement("div");return e.append(t),{render:(...r)=>{t.textContent="";let o=eh(...r);o&&t.append(o)},dispose:()=>t.remove(),Symbol.dispose:()=>t.remove()}},eh=(...e)=>{let t=e.flatMap(o=>{switch(o.type){case"spinner":returnNT();case"check-circle":returnCT();case"exclamation-triangle":returnAT();case"text":returnHi(o.text);case"group":{let n=eh(...o.items);return n?n:[]}}});if(t.length===0)return;if(t.length===1)return t0;let r=document.createElement("span");return r.classList.add("item-group"),r.append(...t),r},Hi=e=>{let t=document.createElement("span");return t.classList.add("item"),t.append(e),t},NT=()=>{let e=document.createElement("i");return e.classList.add("fa","fa-spinner"),Hi(e)},CT=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-check-circle"),Hi(e)},AT=()=>{let e=document.createElement("i");return e.classList.add("fas","fa-exclamation-triangle"),Hi(e)};var sn=e=>{let t=JSON.parse(localStorage.getItem("pageTransitionContext")??""),r=e.type==="page"?e.from.project===e.to.project?e.from.title===e.to.title?{titleHint:e.to.title}:{linkFrom:e.from.title}:{linkFrom:/${e.from.project}/${e.from.title}}:{searchQuery:e.query};t[page_${ne(e.to.title)}]=r,localStorage.setItem("pageTransitionContext",JSON.stringify(t))};var MT=(e,t,r)=>{let o=new URL(/${e}/${ae(t)},location.href);if(r?.body&&(o.search=?body=${encodeURIComponent(r.body)}),r?.id&&(o.hash=#${r.id}),r?.context&&sn({...r?.context,to:{project:e,title:t}}),r?.newTab!==!1&&(r?.newTab===!0||e!==scrapbox.Project.name)){globalThis.open(o);return}if(r?.reload!==!1&&(r?.reload===!0||e!==scrapbox.Project.name)){globalThis.open(o,"_self");return}let n=document.createElement("a");n.href=o.toString(),document.body.append(n),n.click(),n.remove()},Ml=(e,t,r)=>MT(e,t,{newTab:!1,reload:!1,body:r});var Wr=async(e,t)=>{let r=await globalThis.caches.keys();for(let o of r.sort().reverse()){let s=await(await caches.open(o)).match(e,t);if(s)return s}},Wi=async(e,t)=>{let r=t.clone();return await(await caches.open(IT(new Date))).put(e,r)},IT=e=>api-${e.getFullYear()}-${${e.getMonth()+1}.padStart(2,"0")}-${${e.getDate()}.padStart(2,"0")};var xt=()=>{let e=Ke();if(!e)throw Error("#text-input is not found.");let t=Object.keys(e).find(s=>s.startsWith("__reactFiber"));if(!t)throw Error('#text-input must has the property whose name starts with "__reactFiber"');let r=et.return.return.stateNode._stores,o=r.find(s=>s.constructor.name==="Cursor");if(!o)throw Error('#text-input must has a "Cursor" store.');let n=r.find(s=>s.constructor.name==="Selection");if(!n)throw Error('#text-input must has a "Selection" store.');return{cursor:o,selection:n}};var Gr=()=>xt().cursor;var Gi=()=>xt().selection;var es=e=>e===void 0?0:typeof e=="boolean"?Number(e):(e.capture?1:0)|(e.once?2:0)|(e.passive?4:0),th=e=>{if(e===0)return;let t={};return e&1&&(t.capture=!0),e&2&&(t.once=!0),e&4&&(t.passive=!0),t};var Vi=new Map,Il=new Map,Fl=()=>{scrapbox.on("layout:changed",()=>{let e=Ke();if(e)for(lett,rof Vi)for(leto,nof r)for(let s of n)e.addEventListener(t,o,th(s))}),Fl=void 0},rh=(e,t,r)=>{Fl?.();let o=Vi.get(e)??new Map,n=o.get(t)??new Set;if(n.has(es(r)))return;if(n.add(es(r)),o.set(t,n),Vi.set(e,o),typeof r=="object"&&r?.once){let i=Il.get(t)??new Map,a=es(r),c=function(u){return Ul(e,t,r),i.delete(a),t.call(this,u)};i.set(a,c),Il.set(t,i);let l=Ke();if(!l)return;l.addEventListener(e,c,r)}let s=Ke();s&&s.addEventListener(e,t,r)},Ul=(e,t,r)=>{Fl?.();let o=Vi.get(e);if(!o)return;let n=o.get(t);if(!n)return;let s=es(r);if(n.delete(s),typeof r=="object"&&r?.once){let a=Il.get(t);if(!a)return;let c=a.get(s);if(!c)return;let l=Ke();if(!l)return;l.removeEventListener(e,c,r),a.delete(s);return}let i=Ke();i&&i.removeEventListener(e,t,r)};var oh={"&":"\\x26","!":"\\x21","#":"\\x23",$:"\\$","%":"\\x25","*":"\\*","+":"\\+",",":"\\x2c",".":"\\.",":":"\\x3a",";":"\\x3b","<":"\\x3c","=":"\\x3d",">":"\\x3e","?":"\\?","@":"\\x40","^":"\\^","":"\\x60","~":"\\x7e","(":"\\(",")":"\\)","[":"\\[","]":"\\]","{":"\\{","}":"\\}","/":"\\/","-":"\\x2d","\\":"\\\\","|":"\\|"},FT=new RegExp(${Object.values(oh).join("")},"gu");function nh(e){return e.replaceAll(FT,t=>oh[t]).replace(/^[0-9a-zA-Z]/,t=>\\x${t.codePointAt(0).toString(16)})}var UT=0,GK=Array.isArray;function d(e,t,r,o,n,s){t||(t={});var i,a,c=t;if("ref"in c)for(a in c={},t)a=="ref"?i=t[a]:c[a]=t[a];var l={type:e,props:c,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--UT,__i:-1,__u:0,__source:n,__self:s};if(typeof e=="function"&&(i=e.defaultProps))for(a in i)c[a]===void 0&&(c[a]=i[a]);return Z.vnode&&Z.vnode(l),l}var sh=({project:e,title:t,words:r,lines:o,query:n,close:s})=>{let i=F(c=>{sn({type:"search",query:n,to:{project:e,title:t}}),!(c.metaKey||c.ctrlKey||c.altKey||c.shiftKey)&&s()},[e,t,n,s]),a=C(()=>{let c=new RegExp((${r.map(l=>nh(l)).join("|")}),"i");return o.flatMap(l=>{let u=l.split(c);return d("span",{children:u.map((p,f)=>f%2===0?p:d("strong",{children:p}))})})},[o,r]);return d("a",{href:/${e}/${ae(t)},target:${e===scrapbox.Project.name?"":"_blank"},rel:${e===scrapbox.Project.name?"route":"noopener noreferrer"},onClick:i,children:[t,d("div",{className:"description",children:a})]})};var ih=e=>{let[t,r]=J(e),o=F(()=>r(!0),[]),n=F(()=>r(!1),[]),s=F(()=>r(i=>!i),[]);return[t,{open:o,close:n,toggle:s}]};var ah=(e,t)=>{let[r,o]=J(),[n,s]=J(!1),i=ze(Promise.resolve());return oe(()=>{if(t===""){o(void 0);return}let a=!1;return i.current=(async()=>{if(await i.current,!a){s(!0);try{let c=await Af(t,e);if(a)return;o(Le(c)?X(c):void 0)}finally{s(!1)}}})(),()=>a=!0},[t,e]),{loading:n,result:r}};var ch=()=>d("style",{children:.modal { position:fixed;
inset:0;
z-index:1050;
background-color:#000c;
display: flex;
flex-direction: column;
align-items: center;
row-gap: 10px;
padding: 10px;
}
.closed {
display: none;
}
.modal > * {
border-radius: 4px;
padding: 5px;
width: calc(var(--item-width, 100%) - 10px);
}
@media (min-width: 768px) {
.modal {
padding: 30px;
}
}
.controller {
display: flex;
gap: 0.2em;
flex-direction: column;
}
input {
border-radius: 5px;
padding: 0 10px;
height: 32px;
border: transparent;
box-shadow: none;
color: var(--search-form-text-color, rgba(255, 255, 255, 0.35));
background-color: var(--search-form-bg, rgba(255, 255, 255, 0.15))
}
.result {
flex-direction: column;
width: 100%;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 14px;
font-weight: normal;
line-height: 28px;
text-align: left;
border: 1px solid rgba(0,0,0,0.15);
border-radius: 4px;
background-clip: padding-box;
white-space: nowrap;
overflow-x: hidden;
overflow-y: auto;
}
a {
display: block;
padding: 3px 20px;
clear: both;
align-items: center;
user-select: none;
text-decoration: none;
overflow: hidden;
text-overflow: ellipsis;
color: inherit;
}
.description {
margin-top: 0.5em;
color: var(--incremental-fulltext-search-description-text-color, #c4c4c4); font-size: 12px;
line-height: 14px;
max-height: 28px;
overflow: hidden;
text-overflow: ellipsis;
}
.description strong {
}
.spinner::before {
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
content: "\f110";
font-family: "Font Awesome 5 Free";
font-weight: 900;
margin: 0;
padding: 0;
box-sizing: border-box;
animation: fa-spin 2s linear infinite;
}});var DT=()=>d("i",{className:"spinner"}),lh=({exportOps:e})=>{let[t,r]=J(""),o=scrapbox.Project.name,{loading:n,result:s}=ah(o,t),i=F(m=>{r(m.currentTarget.value)},[]),[a,{open:c,close:l,toggle:u}]=ih(!1),p=ze({open:c,close:l,toggle:u});oe(()=>{Object.assign(p.current,{open:c,close:l,toggle:u})},[]),oe(()=>e(p.current),[e]);let f=F(m=>{m.target instanceof HTMLElement&&m.target.id==="background"&&l()},[]);return d(Y,{children:[d(ch,{}),d("div",{id:"background",className:modal${a?"":" closed"},onClick:f,children:[d("div",{className:"controller",children:[d("input",{type:"text",value:t,onInput:i}),d("div",{className:"info",children:[n&&d(DT,{}),${s?.pages?.length??0} pages]})]}),s?.pages&&s.pages.length>0&&d("ul",{className:"result",children:s.pages.map(m=>d("li",{children:d(sh,{...m,project:o,query:t,close:l})},m.title))})]})]})};var ph=()=>{let e=document.createElement("div"),t=e.attachShadow({mode:"open"});return document.body.append(e),new Promise(r=>{mt(d(lh,{exportOps:r}),t)})};var zi=(e,t)=>Object.hasOwn(e,t),uh={left:"ArrowLeft",right:"ArrowRight",up:"ArrowUp",down:"ArrowDown",bs:"Backspace",menu:"ContextMenu",apps:"ContextMenu",del:"Delete",return:"Enter",cr:"Enter",esc:"Escape",pgup:"PageUp",pgdn:"PageDown",lt:"<",less:"<",lesser:"<",gt:">",greater:">"},hh=e=>{let t=e.toLowerCase();return zi(uh,t)?uh[t]:e},mh={Backquote:["","~"],Digit1:"1","!",Digit2:"2","@",Digit3:"3","#",Digit4:"4","$",Digit5:"5","%",Digit6:"6","^",Digit7:"7","&",Digit8:"8","*",Digit9:"9","(",Digit0:"0",")",Minus:"-","_",Equal:"=","+",Backslash:"\\","|",BracketLeft:["","{",BracketRight:"","}"],Semicolon:";",":",Quote:"'",'"',Comma:",","<",Period:".",">",Slash:"/","?"},$T=(e,t)=>{if(e.startsWith("Key")){let r=e.slice(3);return t||(r=r.toLowerCase()),r}return zi(mh,e)?mhet?1:0:e},fh={"<":"lt",">":"gt"},jT=/^($|Unidentified$|Process$|Dead$|Alt|Control|Hyper|Meta|Shift|Super|OS)/,Dl=e=>{let t=e.shiftKey,r=e.key||"Unidentified";if(r==="Unidentified"?r=$T(e.code||"",t):(r=hh(r),r===" "&&(r="Space")),jT.test(r))return"";r.length===1?t=!1:r=r.toLowerCase();let o="";return e.altKey&&(o+="a-"),e.ctrlKey&&(o+="c-"),e.metaKey&&(o+="m-"),t&&(o+="s-"),zi(fh,r)&&(r=fhr),o||r.length>1?<${o}${r}>:r},dh={a:"altKey",c:"ctrlKey",m:"metaKey",s:"shiftKey"},BT=e=>{if(e.length===1)return/\s/.test(e)?{ok:!1,value:{name:"InvalidKeyError",key:e,message:Invalid key: ${e}}}:{ok:!0,value:{key:e}};let t=e.match(/^<((?:a-z-)*)(a-z\d+|^<>\s)>$/i);if(!t)return{ok:!1,value:{name:"InvalidKeyError",key:e,message:Invalid key: ${e}}};let,r,o=t,n={key:hh(o)};for(let s of r.split("-").slice(0,-1)){let i=s.toLowerCase();if(!zi(dh,i))return{ok:!1,value:{name:"UnknownModifierError",modifier:s,context:e,message:${e}: Unknown modifier: ${s}}};let a=dhi;if(na!==void 0)return{ok:!1,value:{name:"DuplicateModifierError",modifier:s,context:e,message:${e}: Duplicate modifier: ${s}}};if(na=!0,n.key.length===1&&n.shiftKey)return{ok:!1,value:{name:"DisallowedModifierError",modifier:s,context:e,message:${e}: Unusable modifier with single-character keys: ${s}}}}return{ok:!0,value:n}},gh=e=>{let t=BT(e);return t.ok?{ok:!0,value:Dl(t.value)}:t},yh=e=>e.match(/<^<>\s+>|\s\S|^$/g);var Dt=!1;var xh=e=>Object.fromEntries(...Object.entries(console).map((t,r)=>{if(typeof r!="function")returnt,r;switch(t){case"warn":case"error":return[t,(...o)=>r(%c${e},"color: gray",...o)];case"log":case"info":case"debug":return[t,(...o)=>{Dt!==!0&&(!Dt||!Dt.has(e))||r(%c${e},"color: gray",...o)}];case"assert":return[t,(o,...n)=>{Dt!==!0&&(!Dt||!Dt.has(e))||r(o,%c${e},"color: gray",...n)}];case"time":case"timeEnd":return[t,o=>{Dt!==!0&&(!Dt||!Dt.has(e))||r(${e} ${o})}];default:returnt,(...o)=>{if(!(Dt!==!0&&(!Dt||!Dt.has(e))))return r(...o)}}}));var go=xh("ScrapBindings:mod.ts"),qi=class{constructor(t,r){this.target=t;this.onSequenceUpdate=r?.onSequenceUpdate,this.flushInterval=r?.flushInterval??1e3}bind(t,r){let o=new Map,n=[];for(lets,iof t instanceof Map?t.entries():typeof t=="string"?t,r:Object.entries(t)){let a=bh(s);if(!a.ok){for(let l of a.value)go.error(${s}: ${l.message});o.set(s,a.value);continue}let c=a.value;this.bindings.set(c,i),c.startsWith(this.currentSequence)&&this.filtered.add(c),n.push(c)}return go.debug("Binded the following commands:",n),this.emitChange(),o}unbind(...t){for(let r of t){let o=bh(r);if(!o.ok)continue;let n=o.value;this.bindings.delete(n),this.filtered.delete(n)}this.emitChange()}reset(){this.bindings.clear(),this.emitChange()}bindings=new Map;onSequenceUpdate;flushInterval;_sequence="";set currentSequence(t){let r=this._sequence!==t;this._sequence=t,r&&this.onSequenceUpdate?.(t)}get currentSequence(){return this._sequence}prevBestMatchCommand;filtered=new Set;timer;backToInitial=()=>{clearTimeout(this.timer),this.currentSequence="",this.prevBestMatchCommand=void 0,this.filtered=new Set(this.bindings.keys()),go.debug("reset the sequence")};handleKeydown=t=>{if(!t.isTrusted)return;let r=Dl(t);if(!r)return;if(clearTimeout(this.timer),t.isComposing){this.backToInitial();return}this.currentSequence+=r,go.debug("sequence",this.currentSequence);let o;for(let s of this.filtered){if(s.startsWith(this.currentSequence)||this.filtered.delete(s),this.currentSequence!==s)continue;let i=this.bindings.get(s);if(!i){this.filtered.delete(s);continue}o=()=>{go.debug(run ${s});try{i(t)}catch(a){go.error(a)}finally{this.backToInitial()}}}let n=this.filtered.size;if(go.debug(${n} candidates: ${[...this.filtered.keys()].join(", ")}),n>0&&(this.prevBestMatchCommand=o),this.prevBestMatchCommand&&n<2){if(this.prevBestMatchCommand(),n===0){this.handleKeydown(t);return}return}if(n===0){this.backToInitial();return}t.preventDefault(),t.stopPropagation(),this.timer=setTimeout(this.prevBestMatchCommand??this.backToInitial,this.flushInterval)};emitChange=()=>{if(this.bindings.size===0){this.backToInitial(),this.target.removeEventListener("keydown",this.handleKeydown);return}this.target.addEventListener("keydown",this.handleKeydown)}},HT={name:"InvalidSequenceError",message:"cannot parse the sequence"},bh=e=>{let t=yh(e);if(!t)return{ok:!1,value:HT};let r="",o=[];for(let n of t){let s=gh(n);if(!s.ok){o.push(s.value);continue}r+=s.value}return o.length>0?{ok:!1,value:o}:{ok:!0,value:r}};var Eh=()=>{if(scrapbox.Layout!=="page")return{selectionRange:{start:{line:0,char:0},end:{line:0,char:0}},selectedText:""};let{selectionRange:e,selectedText:t,position:r}=Fe();if(!t){let u=Ll(r.line)??0,p={start:{line:r.line,char:0},end:{line:r.line+u,char:Xe(r.line+u)?.length??0}};return{selectionRange:p,selectedText:scrapbox.Page.lines.slice(p.start.line,p.end.line+1).map(f=>f.text).join(` )}}let{start:o,end:n}=e,s=o.line>n.line,i=s?n.line:o.line,a=s?n.char:o.char,c=s?o.line:n.line,l=s?o.char:n.char;return{selectedText:t,selectionRange:{start:{line:i,char:a},end:{line:c,char:l}}}};var $l=(e,{title:t,projectTo:r,mode:o})=>{let[n,...s]=e.split(
),i=n.replaceAll("[","").replaceAll("]","").trim(),a=Math.min(...[n,...s].map(l=>vr(l))),c=[from ${t},n.slice(a),...s.map(l=>l.slice(a))];return{text:${i},pages:[{project:r,title:i,lines:c,mode:o}]}};$l.hookName="default-hook";var _r=e=>{let{project:t=scrapbox.Project.name,mode:r="newtab"}=e??{},o=[...e?.hooks??[],$l],{selectionRange:{start:n,end:s},selectedText:i}=Eh();if(!i||scrapbox.Layout!=="page")return;let a=(()=>{for(let p of o){let f=p(i,{title:scrapbox.Page.title,projectFrom:scrapbox.Project.name,projectTo:t,lines:ft().slice(n.line,s.line+1),mode:r});if(f)return[p.hookName,f]}})();if(!a)return;let[c,l]=a,u=async()=>{let p=l instanceof Promise?await l:l;if(p.pages.length===0&&p.text===i)return;let f,{render:m,dispose:h}=Oe();try{if(p.pages.length>0){let y=p.pages.length;m({type:"spinner"},{type:"text",text:Create new ${y} pages...});let x=await ct(e?.socket);if(H(x))throw re(x);f=W(x);let E=0;await Promise.all(p.pages.map(async k=>{let b=Array.isArray(k.lines)?v=>[...v.map(R=>R.text),...k.lines]:k.lines;await Se(k.project,k.title,b,{socket:f}),m({type:"spinner"},{type:"text",text:Create ${y-++E} pages...})}))}m({type:"spinner"},{type:"text",text:${p.pages.length>0?"Created. ":""}Removing cut text...});let g=p.text;if(i===g)return;await Se(scrapbox.Project.name,scrapbox.Page.title,y=>{let x=y.map(E=>E.text);return[...x.slice(0,n.line),...${xn.line.slice(0,n.char)}${g}${x.slice(s.line).join(` ).slice(s.char)}.split(`
)]}),m({type:"check-circle"},{type:"text",text:"Removed."});for(let y of p.pages)switch(y.mode){case"self":y.project===scrapbox.Project.name?Ml(y.project,y.title):globalThis.open(https://scrapbox.io/${y.project}/${ae(y.title)},"_self");break;case"newtab":globalThis.open(https://scrapbox.io/${y.project}/${ae(y.title)});break}}catch(g){m({type:"exclamation-triangle"},{type:"text",text:"Failed to create new pages (see console)."}),console.error(g)}finally{let g=Ie(1e3);f&&await lt(f),await g,h()}};return u.hookName=c,u};var WT=Math.pow(10,8)*24*60*60*1e3,w6=-WT,wh=6048e5,Rh=864e5,Ki=6e4,kh=36e5;var GT=3600;var vh=GT*24,R6=vh*7,VT=vh*365.2425,zT=VT/12,k6=zT*3,jl=Symbol.for("constructDateFrom");function fe(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&jl in e?e[jl](t):e instanceof Date?new e.constructor(t):new Date(t)}function D(e,t){return fe(t||e,e)}var qT={};function yo(){return qT}function dt(e,t){let r=yo(),o=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,n=D(e,t?.in),s=n.getDay(),i=(s<o?7:0)+s-o;return n.setDate(n.getDate()-i),n.setHours(0,0,0,0),n}function cr(e,t){let r=D(e,t?.in);return r.setHours(0,0,0,0),r}function Vr(e,...t){let r=fe.bind(null,e||t.find(o=>typeof o=="object"));return t.map(r)}function Xi(e,t){let[r,o]=Vr(e,t.start,t.end);return{start:r,end:o}}function Yi(e,t){let{start:r,end:o}=Xi(t?.in,e),n=+r>+o,s=n?+r:+o,i=n?o:r;i.setHours(0,0,0,0);let a=t?.step??1;if(!a)return[];a<0&&(a=-a,n=!n);let c=[];for(;+i<=s;)c.push(fe(r,i)),i.setDate(i.getDate()+a),i.setHours(0,0,0,0);return n?c.reverse():c}function ht(e,t,r){let[o,n]=Vr(r?.in,e,t);return+cr(o)==+cr(n)}function Pr(e,t){let r=e<0?"-":"",o=Math.abs(e).toString().padStart(t,"0");return r+o}var Th={y(e,t){let r=e.getFullYear(),o=r>0?r:1-r;return Pr(t==="yy"?o%100:o,t.length)},M(e,t){let r=e.getMonth();return t==="M"?String(r+1):Pr(r+1,2)},d(e,t){return Pr(e.getDate(),t.length)},a(e,t){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];case"aaaa":default:return r==="am"?"a.m.":"p.m."}},h(e,t){return Pr(e.getHours()%12||12,t.length)},H(e,t){return Pr(e.getHours(),t.length)},m(e,t){return Pr(e.getMinutes(),t.length)},s(e,t){return Pr(e.getSeconds(),t.length)},S(e,t){let r=t.length,o=e.getMilliseconds(),n=Math.trunc(o*Math.pow(10,r-3));return Pr(n,t.length)}};function _h(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function zr(e){return!(!_h(e)&&typeof e!="number"||isNaN(+D(e)))}var KT=/(\w)\1*|''|'(''|[^'])+('|$)|./g,XT=/^'([^]*?)'?$/,YT=/''/g,JT=/[a-zA-Z]/;function he(e,t){let r=D(e);if(!zr(r))throw new RangeError("Invalid time value");let o=t.match(KT);return o?o.map(n=>{if(n==="''")return"'";let s=n[0];if(s==="'")return QT(n);let i=Th[s];if(i)return i(r,n);if(s.match(JT))throw new RangeError("Format string contains an unescaped latin alphabet character "+s+"");return n}).join(""):""}function QT(e){let t=e.match(XT);return t?t[1].replace(YT,"'"):e}function Ue(e,t,r){let o=D(e,r?.in);return isNaN(t)?fe(r?.in||e,NaN):(t&&o.setDate(o.getDate()+t),o)}function Yt(e,t,r){return Ue(e,-t,r)}function Ji(e,t,r){return fe(r?.in||e,+D(e)+t)}function Qi(e,t,r){return Ji(e,t*1e3,r)}function an(e,t,r){return Ue(e,t*7,r)}function Zi(e,t){return D(e,t?.in).getDate()}function ea(e,t){let r=D(e,t?.in),o=r.getFullYear(),n=yo(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=fe(t?.in||e,0);i.setFullYear(o+1,0,s),i.setHours(0,0,0,0);let a=dt(i,t),c=fe(t?.in||e,0);c.setFullYear(o,0,s),c.setHours(0,0,0,0);let l=dt(c,t);return+r>=+a?o+1:+r>=+l?o:o-1}function Ph(e,t){let r=yo(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,n=ea(e,t),s=fe(t?.in||e,0);return s.setFullYear(n,0,o),s.setHours(0,0,0,0),dt(s,t)}function xo(e,t){let r=D(e,t?.in),o=+dt(r,t)-+Ph(r,t);return Math.round(o/wh)+1}function Sh(e,t){return D(e,t?.in).getMonth()}function bo(e,t){return D(e,t?.in).getFullYear()}var Oh=e=>{let t=new Map;for(let r of e){let o=${bo(r)}-${Sh(r)}-${Zi(r)},n=t.get(o);n&&n.getTime()>r.getTime()||t.set(o,r)}return[...t.values()]};function Lh(e,t,r){let o=D(e,r?.in);if(isNaN(t))return fe(r?.in||e,NaN);if(!t)return o;let n=o.getDate(),s=fe(r?.in||e,o.getTime());s.setMonth(o.getMonth()+t+1,0);let i=s.getDate();return n>=i?s:(o.setFullYear(s.getFullYear(),s.getMonth(),n),o)}function Nh(e,t,r){let{years:o=0,months:n=0,weeks:s=0,days:i=0,hours:a=0,minutes:c=0,seconds:l=0}=t,u=D(e,r?.in),p=n||o?Lh(u,n+o*12):u,f=i||s?Ue(p,i+s*7):p,m=c+a*60,h=(l+m*60)*1e3;return fe(r?.in||e,+f+h)}function Ch(e,t){let r=D(e,t?.in),o=r.getFullYear(),n=r.getMonth(),s=fe(r,0);return s.setFullYear(o,n+1,0),s.setHours(0,0,0,0),s.getDate()}function Ah(e,t,r){let o=D(e,r?.in),n=o.getFullYear(),s=o.getDate(),i=fe(r?.in||e,0);i.setFullYear(n,t,15),i.setHours(0,0,0,0);let a=Ch(i);return o.setMonth(t,Math.min(s,a)),o}function Mh(e,t,r){let o=D(e,r?.in);return isNaN(+o)?fe(r?.in||e,NaN):(t.year!=null&&o.setFullYear(t.year),t.month!=null&&(o=Ah(o,t.month)),t.date!=null&&o.setDate(t.date),t.hours!=null&&o.setHours(t.hours),t.minutes!=null&&o.setMinutes(t.minutes),t.seconds!=null&&o.setSeconds(t.seconds),t.milliseconds!=null&&o.setMilliseconds(t.milliseconds),o)}function Ih(e,t){return D(e,t?.in).getMinutes()}function qr(e,t,r){let o=D(e,r?.in);return o.setTime(o.getTime()+t*Ki),o}function ta(e){return t=>{let r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}function ra(e,t){return+D(e)-+D(t)}function cn(e,t,r){let o=ra(e,t)/Ki;return ta(r?.roundingMethod)(o)}function Fh(e,t){return D(e,t?.in).getHours()}function Uh(e,t,r){return Ji(e,t*kh,r)}function Dh(e,t){let r=D(e,t?.in);return r.setHours(23,59,59,999),r}function Bl(e){let t=D(e),r=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return r.setUTCFullYear(t.getFullYear()),+e-+r}function $h(e,t,r){let[o,n]=Vr(r?.in,e,t),s=cr(o),i=cr(n),a=+s-Bl(s),c=+i-Bl(i);return Math.round((a-c)/Rh)}function jh(e,t,r){return an(e,-t,r)}function Bh(e,t,r){let o=D(e,r?.in),n=xo(o,r)-t;return o.setDate(o.getDate()-n*7),D(o,r?.in)}function Hh(e,t){let{start:r,end:o}=Xi(t?.in,e),n=+r>+o,s=n?dt(o,t):dt(r,t),i=n?dt(r,t):dt(o,t);s.setHours(15),i.setHours(15);let a=+i.getTime(),c=s,l=t?.step??1;if(!l)return[];l<0&&(l=-l,n=!n);let u=[];for(;+c<=a;)c.setHours(0),u.push(fe(r,c)),c=an(c,l),c.setHours(15);return n?u.reverse():u}function Wh(e,t,r){let[o,n]=Vr(r?.in,e,t),s=o.getFullYear()-n.getFullYear(),i=o.getMonth()-n.getMonth();return s*12+i}function Gh(e,t){let r=+D(e)-+D(t);return r<0?-1:r>0?1:r}function Eo(e,t){return+D(e)>+D(t)}var Vh=e=>e==null,Kr=e=>typeof e=="string";async function*zh(e){let t=[],r,o=i=>{if(!r){t.push(i);return}r(i),r=void 0},n=()=>t.length>0?Promise.resolve(t.pop()):new Promise(i=>r=i),s=0;for(let i of e)i.then(a=>o({state:"fulfilled",value:a})).catch(a=>o({state:"rejected",reason:a})),s++;for(let i=0;i<s;i++)yield await n()}var Ye=e=>{let t=e.match(/^(\d{4})-(\d{2})-(\d{2}) (?: {5}|(\d{2}):(\d{2})) (?: {4}|(\d{4})) (?: {8}|(\d{2}):(\d{2}):(\d{2})) (?: {8}|(\d{2}):(\d{2}):(\d{2}))([^\n]*)$/);if(!t)return;let[,r,o,n,s,i,a,c,l,u,p,f,m,h]=t,g={title:h,base:new Date(parseInt(r),parseInt(o)-1,parseInt(n)),plan:{},record:{}};if(s){let y=new Date(g.base);y.setHours(parseInt(s)),y.setMinutes(parseInt(i)),g.plan.start=y}if(a&&(g.plan.duration=parseInt(a)*60),c){let y=new Date(g.base);y.setHours(parseInt(c)),y.setMinutes(parseInt(l)),y.setSeconds(parseInt(u)),g.record.start=y}if(p){let y=new Date(g.base);y.setHours(parseInt(p)),y.setMinutes(parseInt(f)),y.setSeconds(parseInt(m)),g.record.start&&Eo(g.record.start,y)&&y.setDate(y.getDate()+1),g.record.end=y}return g};var ln=e=>e.record?.start??e.plan?.start??e.base,qh=e=>e.record?.end??(Vh(e.plan?.duration)?e.base:Qi(ln(e),e.plan.duration));var be=({title:e,base:t,plan:r,record:o})=>["",he(t,"yyyy-MM-dd")," ",r?.start?he(r.start,"HH:mm"):" ".repeat(5)," ",r?.duration?${r.duration/60}.padStart(4,"0"):" ".repeat(4)," ",o?.start?he(o?.start,"HH:mm:ss"):" ".repeat(8)," ",o?.end?he(o?.end,"HH:mm:ss"):" ".repeat(8),"",e].join("");function*Kh(e){for(let t of wo(e))Kr(t)||(yield t)}function*wo(e){for(let t=0;t<e.length;t++){let r=e[t],o=Kr(r)?r:r.text,n=ho(t,e),s=Ye(o);if(!s){yield o;continue}yield{...s,lines:e.slice(t+1,t+1+n).map(i=>Kr(i)?i:i.text)},t+=n}}var ZT=5*60,ts=async()=>{let e=Fe().position.line,t=Ye(Xe(e)??""),r=t?.base??new Date,o={start:t?.plan?.start?Qi(t.plan.start,ZT+(t.plan.duration??0)):void 0,duration:t?.plan?.duration};scrapbox.Page.insertLine(be({title:"",base:r,plan:o,record:{}}),e+1),await scrapbox.Page.waitForSave()};var Ro=async()=>{let e=Fe().position.line,t=Ye(Xe(e)??"");if(!t)return;let{record:{start:r,end:o},...n}=t;o||(scrapbox.Page.updateLine(be({record:{start:r?void 0:new Date},...n}),e),await scrapbox.Page.waitForSave())};var Sr=async()=>{let e=Fe().position.line,t=Ye(Xe(e)??"");if(!t)return;let{record:{start:r,end:o},...n}=t;r&&(scrapbox.Page.updateLine(be({record:{start:r,end:o?void 0:new Date},...n}),e),await scrapbox.Page.waitForSave())};var Hl=async()=>{let e=Fe().position.line,t=Ye(Xe(e)??"");if(!t)return;let{record:{start:r,end:o},...n}=t;if(!r){await Ro();return}if(!o){await Sr();return}scrapbox.Page.updateLine(be({record:{},...n}),e),await scrapbox.Page.waitForSave()};var rs=async()=>{let e=Fe().position.line,t=Ye(Xe(e)??"");if(!t)return;let{record:{start:r,end:o},...n}=t;if(r){if(o)return;await Sr();return}if(o)return;let s;for(let{text:a}of ar().slice(0,(e??0)+1).reverse()){let{record:c}=Ye(a)??{};if(c?.end){s=c.end;break}}let i=new Date;scrapbox.Page.updateLine(be({record:{start:s??i,end:i},...n}),e),await scrapbox.Page.waitForSave()};var ko=()=>{let{selectionRange:{start:e,end:t},selectedText:r,position:o}=Fe();return r===""?[o.line,o.line]:e.line>t.line?[t.line,e.line]:[e.line,t.line]};var Wl=(e,t=7)=>new Date((e+2592e3*((t+1)**1.5-1)/5221.154823442138)*1e3);var Gl=(e,t)=>{let r,o,n,s,i=null;if(i=e.match(/^(.*?)(s|e):([^\s]+)\s+d:(\d+)/))[,o,s,n,r]=i;else if(i=e.match(/^(.*?)d:(\d+)\s+(s|e):([^\s]+)/))[,o,r,s,n]=i;else if(i=e.match(/^(.*?)(s|e):([^\s]+)/))[,o,s,n]=i;else return(i=e.match(/^(.*?)d:(\d+)/))?([,o,r]=i,{name:o.trimEnd(),duration:parseInt(r)*60}):void 0;for(let{test:a,parse:c}of e_){let l=n.match(a);if(!l)continue;let u=c(l),p=u.isDuration?Nh(t,u):Mh(t,u);return s==="s"?{name:o.trimEnd(),start:p,...r!==void 0?{duration:parseInt(r)*60}:{}}:{name:o.trimEnd(),start:Wl(t.getTime()/1e3,(p.getTime()-t.getTime())/(24*60*60*1e3)),...r!==void 0?{duration:parseInt(r)*60}:{}}}},e_=[{test:/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,year:parseInt(e[1]),month:parseInt(e[2])-1,date:parseInt(e[3]),hours:parseInt(e[4]),minutes:parseInt(e[5])})},{test:/(\d{4})-(\d{2})-(\d{2})T(\d{2})$/i,parse:e=>({isDuration:!1,year:parseInt(e[1]),month:parseInt(e[2])-1,date:parseInt(e[3]),hours:parseInt(e[4])})},{test:/(\d{4})-(\d{2})-(\d{2})T?$/i,parse:e=>({isDuration:!1,year:parseInt(e[1]),month:parseInt(e[2])-1,date:parseInt(e[3])})},{test:/(\d{2})-(\d{2})T(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,month:parseInt(e[1])-1,date:parseInt(e[2]),hours:parseInt(e[3]),minutes:parseInt(e[4])})},{test:/(\d{2})-(\d{2})T(\d{2})$/i,parse:e=>({isDuration:!1,month:parseInt(e[1])-1,date:parseInt(e[2]),hours:parseInt(e[3])})},{test:/(\d{2})-(\d{2})T?$/i,parse:e=>({isDuration:!1,month:parseInt(e[1])-1,date:parseInt(e[2])})},{test:/(\d{2})T(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,date:parseInt(e[1]),hours:parseInt(e[2]),minutes:parseInt(e[3])})},{test:/(\d{2})T(\d{2})$/i,parse:e=>({isDuration:!1,date:parseInt(e[1]),hours:parseInt(e[2])})},{test:/T?(\d{2}):(\d{2})$/i,parse:e=>({isDuration:!1,hours:parseInt(e[1]),minutes:parseInt(e[2])})},{test:/T?(\d{2})$/i,parse:e=>({isDuration:!1,hours:parseInt(e[1])})},{test:/P(\d+)Y(\d+)M(\d+)DT(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,year:parseInt(e[1]),month:parseInt(e[2])-1,days:parseInt(e[3]),hours:parseInt(e[4]),minutes:parseInt(e[5])})},{test:/P(\d+)Y(\d+)M(\d+)DT(\d+)H$/i,parse:e=>({isDuration:!0,year:parseInt(e[1]),month:parseInt(e[2])-1,days:parseInt(e[3]),hours:parseInt(e[4])})},{test:/P(\d+)Y(\d+)M(\d+)D$/i,parse:e=>({isDuration:!0,year:parseInt(e[1]),month:parseInt(e[2])-1,days:parseInt(e[3])})},{test:/P(\d+)M(\d+)DT(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,month:parseInt(e[1])-1,days:parseInt(e[2]),hours:parseInt(e[3]),minutes:parseInt(e[4])})},{test:/P(\d+)M(\d+)DT(\d+)H$/i,parse:e=>({isDuration:!0,month:parseInt(e[1])-1,days:parseInt(e[2]),hours:parseInt(e[3])})},{test:/P(\d+)M(\d+)D$/i,parse:e=>({isDuration:!0,month:parseInt(e[1])-1,days:parseInt(e[2])})},{test:/P(\d+)DT(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,days:parseInt(e[1]),hours:parseInt(e[2]),minutes:parseInt(e[3])})},{test:/P(\d+)DT(\d+)H$/i,parse:e=>({isDuration:!0,days:parseInt(e[1]),hours:parseInt(e[2])})},{test:/P(\d+)D$/i,parse:e=>({isDuration:!0,days:parseInt(e[1])})},{test:/PT?(\d+)H(\d+)M$/i,parse:e=>({isDuration:!0,hours:parseInt(e[1]),minutes:parseInt(e[2])})},{test:/PT?(\d+)H$/i,parse:e=>({isDuration:!0,hours:parseInt(e[1])})},{test:/PT?(\d+)M$/i,parse:e=>({isDuration:!0,minutes:parseInt(e[1])})},{test:/P(\d+)W$/i,parse:e=>({isDuration:!0,weeks:parseInt(e[1])})}];var vo=async()=>{let e=new Date,[t,r]=ko(),o=ar().slice(t,r+1).map(s=>s.text),n=o.flatMap(s=>{let i=s.trimEnd();if(i==="")return s;let{name:a,start:c,duration:l}=Gl(i,e)??{};return!a||!c&&!l?s:[be({title:a.trim(),base:c??e,plan:{start:c,duration:l},record:{}})]});if(o.join( )!==n.join(
)){for(let s=t;s<=r;s++)scrapbox.Page.updateLine(n[s-t],s);await scrapbox.Page.waitForSave()}};var oa=async(e,t,r)=>{let o=[];for(let n=e;n<=t;n++){let s=Xe(n)??"",i=Ye(s);if(!i){o.push(s);continue}o.push(be(r(i,n)))}for(let n=e;n<=t;n++)scrapbox.Page.updateLine(o[n-e],n);await scrapbox.Page.waitForSave()};var os=async(e=1)=>{let[t,r]=ko();await oa(t,r,o=>(o.base=Ue(o.base,e),o))};var ns=async()=>{let[e,t]=ko(),r=new Date;await oa(e,t,o=>(ht(o.base,r)||(o.base=r),o))};var t_="日刊記録sheet",r_=/日刊記録sheet (\d{4})-(\d{2})-(\d{2})/,ss=["[** 00:00 - 03:00] 未明","[** 03:00 - 06:00] 明け方","[** 06:00 - 09:00] 朝","[** 09:00 - 12:00] 昼前","[** 12:00 - 15:00] 昼過ぎ","[** 15:00 - 18:00] 夕方","[** 18:00 - 21:00] 夜のはじめ頃","[** 21:00 - 00:00] 夜遅く"];var Vl=e=>{let t=e.match(r_);if(!t)return;let[,r,o,n]=t,s=new Date(parseInt(r),parseInt(o)-1,parseInt(n));return zr(s)?s:void 0},Jt=e=>he(e,'${t_}' yyyy-MM-dd),To=e=>{let t=Vl(e[0]);if(!t)return e;let r=o_(t),o=[],n=[];for(let a of wo(e.slice(1))){if(typeof a=="string"){if(ss.includes(a)||r!==""&&r===a)continue;n.push(a);continue}o.push(a)}let s=o.sort((a,c)=>Gh(ln(a),ln(c)));if(s.length===0)return[e[0],r,...ss,...n];let i=[0,0,0,0,0,0,0,0];for(let a=1;a<ss.length;a++){let c=Uh(new Date(t.getFullYear(),t.getMonth(),t.getDate()),3*a),l=s.findIndex(m=>Eo(ln(m),c));if(l<0){i[a]=-1;continue}if(l===0)continue;let u=s[l-1],p=ln(u),f=qh(u);i[a]=(f.getTime()-p.getTime())/2<c.getTime()-p.getTime()?l:l-1}return[e[0],r,...s.flatMap((a,c)=>[...i.flatMap((l,u)=>l===c?[ss[u]]:[]),be(a),...a.lines]),...i.flatMap((a,c)=>a===-1?[ss[c]]:[]),...n]},o_=e=>yesterday: ${Jt(Yt(e,1))};var is=async(e,t)=>{let r=()=>{},o=setTimeout(()=>{let{render:n,dispose:s}=Oe();r=s,n({type:"spinner"},{type:"text",text:"formatting..."})},500);await Se(e,t,n=>To(n.map(s=>s.text))),clearTimeout(o),r()};async function*zl(e,t,r){let o=[...t],n=[];for(;o.length>0;){let s=o.shift();if(!s)break;let i=s.base,a=[s];for(let c=0;c<o.length;c++)ht(o[c].base,i)&&(a.push(...o.splice(c,1)),c--);n.push((async()=>(await Se(e,Jt(i),c=>To([...c.map(l=>l.text),...a.flatMap(l=>[be(l),...l.lines??[]])]),r),{date:i,size:a.length}))())}yield*zh(n)}var _o=async({from:{project:e,title:t},to:r})=>{let o=await Ut(e,t);if(H(o))throw re(o);let n=Vl(t),{lines:s}=W(o),i=[];for(let p of Kh(s))n&&ht(p.base,n)||i.push(p);let{render:a,dispose:c}=Oe();a({type:"spinner"},{type:"text",text:copying ${i.length} tasks...});let l=await ct();if(H(l))throw re(l);let u=W(l);try{let p=0,f=!1;for await(let m of zl(r,i,{socket:u})){if(m.state!=="fulfilled"){console.error(m.reason),f=!0;continue}p+=m.value.size,a({type:"spinner"},{type:"text",text:copying ${i.length-p} tasks...})}if(f){a({type:"exclamation-triangle"},{type:"text",text:"Some tasks failed to be written"});return}a({type:"spinner"},{type:"text",text:Copied. removing ${i.length} original tasks...}),await Se(e,t,m=>{let h=[];for(let g of wo(m)){if(Kr(g)){h.push(g);continue}n&&ht(g.base,n)&&h.push(be(g),...g.lines)}return h},{socket:u}),a({type:"check-circle"},{type:"text",text:"Moved"})}finally{await lt(u),await Ie(1e3),c()}};var na=e=>e.match(/^(\s*)/)?.[1]?.length??0;var Qt=e=>${e}.padStart(2,"0");var Po=e=>"hours"in e,$t=(e,t)=>e.year!==t.year?e.year<t.year:e.month!==t.month?e.month<t.month:e.date!==t.date?e.date<t.date:"hours"in t?"hours"in e?e.hours*60+e.minutes<t.hours*60+t.minutes:0<t.hours*60+t.minutes:!1,lr=e=>${${e.year}.padStart(4,"0")}-${Qt(e.month)}-${Qt(e.date)}${"hours"in e?T${Qt(e.hours)}:${Qt(e.minutes)}:""},ye=e=>{let t=lr(e);return new Date(t.includes("T")?t:${t}T00:00)},bt=e=>({year:e.getFullYear(),month:e.getMonth()+1,date:e.getDate(),hours:e.getHours(),minutes:e.getMinutes()});var Yh=e=>{switch(e.toLowerCase()){case"y":return"yearly";case"m":return"monthly";case"w":return"weekly";case"d":return"daily";default:return}};var Jh=e=>{switch(e){case"+":return"todo";case"-":return"note";case"!":return"deadline";case".":return"done";case"~":return"up-down";default:return}},Qh=e=>{switch(e){case"todo":return"+";case"note":return"-";case"deadline":return"!";case"done":return".";case"up-down":return"~"}};var jt=e=>{let t=e.match(/(?:([\+\-!~.])(\d+)?)?@(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2}))?(?:\/(\d{2}):(\d{2})|\/(?:(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)|D(\d+))?(?:R([YMWD])?(\d+))?(?:@(?:(\d{2}):(\d{2})|(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)?(?:\/(\d{2}):(\d{2})|\/(?:(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)|D(\d+))?)?/i);if(!t)return;let[r,o,n,s,i,a,c,l,u,p,f,m,h,g,y,x,E,k,b,v,R,O,L,N,P,T,_,S,A,M,$,I,z]=t,j=${e.slice(0,t.index).trim()}${e.slice((t.index??0)+r.length).trim()},q=Zh(s,i,a,c,l);if(!zr(ye(q)))return Q({name:"InvalidDateError",message:The reference point of the task "${lr(q)}" is an invalid date.});let K=eg(q,f,m,h,u||g,p||y,x);if(K!==void 0){if(qe(K)&&isNaN(K)||!qe(K)&&!zr(ye(K)))return Q({name:"InvalidDateError",message:The estimated end of the task${qe(K)?"": "${lr(K)}"} is an invalid date.});if(qe(K)&&K<0||!qe(K)&&$t(K,q))return Q({name:"TaskRangeError",message:The reference point of an task cannot be after its estimated end. reference point:${lr(q)}
estimated end:${lr(qe(K)?bt(qr(ye(q),K)):K)}})}let le=/^[\uFE00-\uFE0F]*[✅❌]/.test(e)?"done":Jh(o),ee=le?{status:le,refDate:q}:void 0;ee&&n&&(ee.speed=parseInt(n));let tt=Zh(R||s,O||i,L||a,b||N||c,v||P||l);if(!zr(ye(tt)))return Q({name:"InvalidDateError",message:The start of the task/event "${lr(tt)}" is an invalid date.});let Pe=eg(tt,S||f,A||m,M||h,T||$||u||g,_||I||p||y,z||x),U=Po(tt)&&qe(Pe)?{start:tt,duration:Pe}:void 0;if(U){let it={name:j,executed:U,generated:!1,raw:e};return ee&&(it.freshness=ee),(E||k)&&(it.recurrence={frequency:Yh(E??"D")??"daily",count:k?parseInt(k):1}),ce(it)}if(!ee)return Q({name:"InvalidDateError",message:"Task requires freshness to be spec"});let we={name:j,freshness:ee,generated:!1,raw:e};return K&&(we.estimated=K),ce(U?{...we,executed:U}:we)},pr=e=>!("executed"in e),Xr=e=>"recurrence"in e,tg=e=>!("executed"in e||"freshness"in e&&Po(e.freshness.refDate)&&e.estimated&&(qe(e.estimated)||Po(e.estimated))),cs=e=>"executed"in e?e.executed.duration:qe(e.estimated)?e.estimated:void 0,ur=e=>pr(e)?e.freshness.refDate:e.executed.start,rg=e=>{if(!pr(e)){let r=ye(e.executed.start);return bt(qr(r,e.executed.duration))}if(qe(e.estimated)&&Po(e.freshness.refDate)){let r=ye(e.freshness.refDate);return bt(qr(r,e.estimated))}let t=ye(qe(e.estimated)?e.freshness.refDate:e.estimated??e.freshness.refDate);return t.setHours(0),t.setMinutes(0),bt(Ue(t,1))},l_=e=>{let t=e.freshness?${Qh(e.freshness.status)}${e.freshness.speed??""}:"",r=${lr(ur(e))},o=cs(e);return${t}@${r}${o===void 0?"":D${o}}${e.name}},sa=(e,t)=>{let r=bt(t),{recurrence:o,executed:n}=e;switch(o.frequency){case"yearly":{if(Math.abs(r.year-n.start.year)%(o.count??1)!==0||n.start.month!==r.month||n.start.date!==r.date)return;break}case"monthly":{if(Wh(ye(r),ye(n.start))%(o.count??1)!==0)return;break}case"weekly":case"daily":{let a=o.frequency==="weekly"?7:1;if($h(ye(r),ye(n.start))%((o.count??1)*a)!==0)return;break}}let s={...n.start};s.year=r.year,s.month=r.month,s.date=r.date;let i={name:e.name,executed:{start:s,duration:n.duration},generated:!0,raw:e.raw};return e.freshness&&(i.freshness=e.freshness),i},ia=e=>e.freshness?e.generated?l_(e):e.raw:e.generated?void 0:e.raw,Zh=(e,t,r,o,n)=>{let s=parseInt(e),i=parseInt(t),a=parseInt(r),c=o?parseInt(o):void 0,l=n?parseInt(n):void 0;return c!==void 0&&l!==void 0?{year:s,month:i,date:a,hours:c,minutes:l}:{year:s,month:i,date:a}},eg=(e,t,r,o,n,s,i)=>{if(!t&&!r&&!o&&!n&&!s&&!i)return;if(i)return parseInt(i);let a=t?parseInt(t):e.year,c=r?parseInt(r):e.month,l=o?parseInt(o):e.date,u=n?parseInt(n):void 0,p=s?parseInt(s):void 0,f=u!==void 0&&p!==void 0?{year:a,month:c,date:l,hours:u,minutes:p}:{year:a,month:c,date:l};return!Po(e)||!Po(f)?f:Math.round((ye(f).getTime()-ye(e).getTime())/(60*1e3))};var So=(e,t)=>{if(!e.generated&&Xr(e)){let s=sa(e,t);return s?So(s,t):void 0}let r=ye(pr(e)?e.freshness.refDate:e.executed.start),o=cs(e),n=ia(e);return{title:n!==void 0?${n}:e.name,base:r,plan:{start:tg(e)?void 0:r,duration:o!==void 0?o*60:void 0},record:{}}};var ql={あさごはん:"#log-breakfast",ひるごはん:"#log-lunch",よるごはん:"#log-dinner"},Oo=(e,{title:t,projectTo:r,mode:o})=>{let[n,...s]=e.split( ),i=Ye(n);if(!i)return;if(s.length===0)return{text:e,pages:[]};let{title:a,base:c,record:l,...u}=i,p=p_(a,c,l),f=be({title:${p},base:c,record:l,...u}),m=Math.min(...s.map(g=>na(g))),h=[.../[\[\]]/.test(a)&&a!==${p}?[a]:[],...t in ql?[...s.map(g=>g.slice(m)),"",ql[t],"#log-eatenfood"]:[...s.map(g=> ${g.slice(m)}),""]];return{text:f,pages:[{project:r,title:p,lines:og(t,h,[l.start??c]),mode:o}]}};Oo.hookName="task-hook";var p_=(e,t,r)=>{let o=he(r.start??t,"yyyy-MM-dd");if(e in ql)return${o} ${e};if(jt(e.slice(1,-1)))return e.slice(1,-1);let n=e.replace(/[\[\]]/g,"").trim();return${n}${n.endsWith(o)?"": ${o}}},Lo=(e,{title:t,projectTo:r,mode:o,lines:n})=>{let[s,...i]=e.split( );if(i.length===0)return;let a=s.replace(/[\[\]]/g,"").trim(),c=Math.min(...i.map(p=>na(p))),l=r.startsWith("takker")?Oh([new Date,...n.map(({updated:p})=>new Date(p*1e3))]).sort((p,f)=>f.getTime()-p.getTime()):[],u=["",.../[\[\]]/.test(s)?[s.trimStart()]:[],...i.map(p=>p.slice(c))];return{text:${" ".repeat(na(s))}${a},pages:[{project:r,title:a,lines:og(t,u,l),mode:o}]}};Lo.hookName="new-page-hook";var No=(e,{projectTo:t,mode:r})=>{if(e.includes( )||!/\[[^\]]+\]/.test(e))return;let[o,n]=e.match(/^(\s*)(.*)$/)?.slice?.(1)??["",e],s=[...n.matchAll(/\[([^\]])\]/g)].map(a=>ne(a[1])),i=n.replaceAll("[","").replaceAll("]","");return{text:${o}${i},pages:[{project:t,title:i,lines:(a,{links:c})=>{let l=c.map(u=>ne(u));if(!s.every(u=>l.includes(u)))return[...a.map(u=>u.text),n]},mode:r}]}};No.hookName="splitted-link-hook";var og=(e,t,r)=>(o,{links:n})=>{let s=n.map(p=>ne(p)),i=s.includes(ne(e))?[]:[from ${e}],a=r.flatMap(p=>{let f=he(p,"yyyy-MM-dd");if(s.includes(f))return[];let m=he(p,"HH:mm:ss");return[#${f} ${m}]}),c=o.map(p=>p.text),l=c.findIndex(p=>/^#\d{4}-\d{2}-\d{2}/.test(p)),u=l<0?c.length:l;return[...c.slice(0,u),...i,...t,"",...a,...c.slice(u)]};var ng=e=>e.preventDefault(),sg=e=>e.stopPropagation(),ig={"<A-a><A-t>":async e=>{ng(e),sg(e);let[t,r]=u_(),o=ar().slice(t,r+1).map(n=>{let s=n.text,i=n.text.match(/\[([^\]]+)\]/)?.[1];if(!i)return s;let a=jt(i);if(!a||G(a))return s;let c=X(a);if(c.freshness?.status==="done")return s;let l=So(c,new Date);return l?(l.title=${i},be(l)):s}).join( );await Ai(t,r,o),await vo()},"<A-a><A-m>":e=>{scrapbox.Layout==="page"&&(ng(e),sg(e),_o({from:{project:scrapbox.Project.name,title:scrapbox.Page.title},to:"takker-memex"}))}},u_=()=>{let{selectionRange:{start:e,end:t},selectedText:r,position:o}=Fe();return r===""?[o.line,o.line]:e.line>t.line?[t.line,e.line]:[e.line,t.line]};var Co=e=>e.preventDefault(),Ao=e=>e.stopPropagation(),Kl={"<A-a><A-a>":e=>{Co(e),Ao(e),ts()},"<A-a><A-s>":e=>{Co(e),Ao(e),Ro()},"<A-a><A-e>":e=>{Co(e),Ao(e),Sr()},"<A-a><A-0>":e=>{Co(e),Ao(e),rs()},"<A-a><A-1>":e=>{Co(e),Ao(e),os(1)},"<A-a><A-t>":e=>{Co(e),Ao(e),ns()},"<A-a><A-S>":e=>{scrapbox.Layout==="page"&&(Co(e),Ao(e),is(scrapbox.Project.name,scrapbox.Page.title))}};var Je=e=>e.preventDefault(),Qe=e=>e.stopPropagation(),Mo=(e,t)=>{let r=$d()?.getElementsByClassName?.("button");if(!r)return;let o=[...r].find(n=>t instanceof RegExp?t.test(n.textContent??""):n.textContent===t);o instanceof HTMLDivElement&&e.target===document.activeElement&&(Je(e),Qe(e),o.click())},m_={"-":e=>Mo(e,""),"]":e=>Mo(e,""),c:e=>Mo(e,"Copy plain"),$:e=>Mo(e,""),"{":e=>Mo(e,/{{c\d+}}/),"}":e=>Mo(e,"reset cloze"),n:e=>Mo(e,"make note")},f_={"<C-]>":e=>{let{position:{line:t,char:r}}=Fe(),o=Zn(t,r)?.closest("a.page-link")??Tr(t)?.querySelector?.("a.page-link");o instanceof HTMLAnchorElement&&(Je(e),Qe(e),o.click())},"<C-o>":e=>{Je(e),Qe(e),history.back()}},d_={"<C-home>":e=>{Je(e),Qe(e),Kd()},"<C-end>":e=>{Je(e),Qe(e),Xd()}},ag=[Oo,Lo,No],h_={"<C-X>":e=>{let t=window.prompt("Create a new page at",scrapbox.Project.name);t&&(Je(e),Qe(e),_r({project:t,mode:"self",hooks:ag})?.())},"<C-D>":e=>{let t=window.prompt("Create a new page at",scrapbox.Project.name);t&&(Je(e),Qe(e),_r({project:t,mode:"noopen",hooks:ag})?.())},"<C-h>":e=>{Je(e),Qe(e),Ii()},"<C-j>":e=>{Je(e),Qe(e),Ui()},"<C-k>":e=>{Je(e),Qe(e),Fi()},"<C-l>":e=>{Je(e),Qe(e),Mi()},"<A-h>":e=>{Je(e),Qe(e),$i()},"<A-j>":e=>{Je(e),Qe(e),Bi()},"<A-k>":e=>{Je(e),Qe(e),ji()},"<A-l>":e=>{Je(e),Qe(e),Di()}};scrapbox.TimeStamp.removeAllFormats();var g_={"<A-t><A-t>":e=>{Je(e),Qe(e),We(he(new Date,"#yyyy-MM-dd HH:mm:ss "))},"<A-t><A-j>":e=>{Je(e),Qe(e),We(he(new Date,"yyyy-MM-dd HH:mm:ss "))},"<A-t><A-k>":e=>{Je(e),Qe(e),We(he(new Date,"HH:mm:ss "))},"<A-t><A-l>":e=>{Je(e),Qe(e),We(he(new Date,"yyyy-MM-dd"))}},cg={...m_,...f_,...d_,...h_,...g_,...ig};var{render:y_}=Oe(),Xl,x_=e=>{Xl!==void 0&&cancelAnimationFrame(Xl),Xl=requestAnimationFrame(()=>y_({type:"text",text:e}))},Yl=new qi({addEventListener:rh,removeEventListener:Ul},{onSequenceUpdate:x_}),lg=Yl.bind({...cg,...scrapbox.Project.name==="takker-memex"?Kl:{}});lg.size>0&&alert([...lg.entries()].map(([e,t])=>${e}:
${t.map(r=>- ${r}).join(`
)}).join(`
));var b_=/https?:\/\/vimeo\.com\/([0-9]+)/i,pg=e=>{let t=e.match(b_);if(t)return t[1]};var E_=/https?:\/\/open\.spotify\.com\/(track|artist|playlist|album|episode|show)\/([a-zA-Z\d_-]+)(?:\?[^\s]{0,100}|)/,ug=e=>{let t=e.match(E_);if(!t)return;let[,r,o]=t;return{videoId:o,pathType:r}};var w_=/https?:\/\/anchor\.fm\/[a-zA-Z\d_-]+\/episodes\/([a-zA-Z\d_-]+(?:\/[a-zA-Z\d_-]+)?)(?:\?[^\s]{0,100}|)/,mg=e=>{let t=e.match(w_);if(!t)return;let[,r]=t;return r};var fg=e=>{let{type:t,pathType:r,content:o,href:n,...s}=e;if(o===""){let i=di(n);if(i)return{type:"youtube",href:n,...i,...s};let a=pg(n);if(a)return{type:"vimeo",videoId:a,href:n,...s};let c=ug(n);if(c)return{type:"spotify",href:n,...c,...s};let l=mg(n);if(l)return{type:"anchor-fm",videoId:l,href:n,...s};if(k_(n))return{type:"video",href:n,...s}}return R_(n)?{type:"audio",content:o,href:n,...s}:{type:"absoluteLink",content:o,href:n,...s}},R_=e=>/\.(?:mp3|ogg|wav|aac)$/.test(e),k_=e=>/\.(?:mp4|webm)$/.test(e);var dg=async()=>{let e=localStorage.getItem("projectsLastAccessed");if(!e)return[];try{let t=JSON.parse(e),r=Object.entries(t).sort(([,s],[,i])=>i-s).map(([s])=>s),o=await fi([]);if(H(o))return r;let n=W(o).projects.map(s=>s.id);return r.filter(s=>!n.includes(s))}catch(t){if(!(t instanceof SyntaxError))throw t;return[]}};var v_;(e=>{})(v_||={});var T_="0.13.3",Jl,Ql,hg=(e=T_)=>{let t=https://cdnjs.cloudflare.com/ajax/libs/KaTeX/${e}/katex.min.js;if(Ql)throw Ql;if(!document.querySelector(scriptsrc="${t}")){let r=document.createElement("script");r.src=t,Jl=new Promise((o,n)=>{r.onload=()=>o(window.katex),r.onerror=s=>{Ql=s,n(s)},document.head.append(r)})}return Jl||new Promise(r=>{let o=setInterval(()=>{window.katex&&(clearInterval(o),r(window.katex))},500)})};var aa=(e,t)=>{let[r,o]=J("");return{ref:F(s=>{if(!s){o("");return}hg().then(i=>{try{i.render(e,s,t),o("")}catch(a){if(a instanceof Error&&a.name==="ParseError")o(a.message.slice(19));else throw a}})},[e,...Object.values(t??{})]),error:r}};var gg=e=>{let t=[],r=new Set,o=n=>{r.delete(n);let s=t.pop();if(!s)return;let i=s[0]().finally(()=>o(i)).then(a=>s[1](a)).catch(a=>s[2](a));r.add(i)};return n=>{if(r.size<e){let s=n().finally(()=>o(s));return r.add(s),s}return new Promise((s,i)=>{t.push([n,s,i])})}};var __="0.6.5",bg=ScrapBubble-${__},yg=await globalThis.caches.open(bg);(async()=>{for(let e of await globalThis.caches.keys())e.startsWith("ScrapBubble-")&&e!==bg&&(await globalThis.caches.delete(e),console.log(ScrapBubble deleted old cache :"${e}"))})();var xg=gg(3);async function*ca(e,t){let r=((t?.saveFailedResponse?yg.match(e):void 0)??Wr(e,t)).then(i=>["cache",i]);{let i=Ie(1e3).then(()=>"timeout"),a=await Promise.race([r,i]);if(a!=="timeout"){a[1]&&(yield["cache",a[1]]);let c=await xg(()=>fetch(e));!c.ok&&t?.saveFailedResponse&&await yg.put(e,c.clone()),yield["network",c]}}let o=xg(()=>fetch(e)).then(i=>["network",i]),[n,s]=await Promise.race([r,o]);if(n==="network"){yield[n,s];return}s&&(yield[n,s]),yield await o}var Eg=(e,t)=>new Date(e.headers.get("Date")??0).getTime()/1e3+t<new Date().getTime()/1e3;var la=()=>{let e=new Map;return{dispatch:(t,r)=>{let o=e.get(t);if(o)for(let n of o)n(r)},on:(t,r)=>{let o=e.get(t)??new Set;o.add(r),e.set(t,o)},off:(t,r)=>{let o=e.get(t);o&&o.delete(r)}}};var Ot=!1,wg=e=>{Ot=typeof e=="boolean"?e:new Set(e)},Yr=e=>Object.fromEntries([...Object.entries(console)].map(([t,r])=>{if(typeof r!="function")return[t,r];switch(t){case"warn":case"error":return[t,(...o)=>r(%c${e},"color: gray",...o)];case"log":case"info":case"debug":return[t,(...o)=>{Ot!==!0&&(!Ot||!Ot.has(e))||r(%c${e},"color: gray",...o)}];case"assert":return[t,(o,...n)=>{Ot!==!0&&(!Ot||!Ot.has(e))||r(o,%c${e},"color: gray",...n)}];case"time":case"timeEnd":return[t,o=>{Ot!==!0&&(!Ot||!Ot.has(e))||r(${e} ${o})}];default:return[t,(...o)=>{if(!(Ot!==!0&&(!Ot||!Ot.has(e))))return r(...o)}]}}));var Zl=la(),pa=new Map,P_=Yr("ScrapBubble:useProject.ts"),Rg=e=>{let[t,r]=J();return oe(()=>{Zl.on(e,r);let o=pa.get(e);return o?r(o.loading?void 0:o.value):(pa.set(e,{loading:!0}),r(void 0),(async()=>{try{let n=br.toRequest(e);for await(let[,s]of ca(n)){let i=await br.fromResponse(s);pa.set(e,{loading:!1,value:i}),Zl.dispatch(e,i);break}}catch(n){P_.error(n),pa.delete(e)}})()),()=>Zl.off(e,r)},[e]),t};var S_=["default-light","default-dark","default-minimal"],O_=["paper-light","paper-dark-dark","paper-dark"],kg=["blue","purple","green","orange","red"],L_=["hacker1","hacker2"],vg=["winter","spring","summer","automn"],Tg=["tropical"],_g=["kyoto","newyork","paris"],Pg=["mred","lgreen"],tce=["default-light","default-minimal","paper-light",...kg,...vg,...Tg,..._g,...Pg];var N_=[...S_,...O_,...kg,...L_,...vg,...Tg,..._g,...Pg];function Sg(e){return N_.includes(e)}var Og="default-light",Io=e=>{let t=Rg(e);return C(()=>{if(!t||H(t))return Og;let r=W(t).theme;return Sg(r)?r:Og},[t])};var pn=(e,t)=>new Promise(r=>{let o=!1,n=()=>{o=!0,r(!1)};e.addEventListener("click",n),e.addEventListener("pointerleave",n),setTimeout(()=>{o||r(!0),e.removeEventListener("click",n),e.removeEventListener("pointerleave",n),r(!1)},t)});var un=e=>{let{top:t,right:r,left:o,bottom:n}=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),i=(o-s.left)/s.width>.5;return{top:Math.round(n-s.top),bottom:Math.round(globalThis.innerHeight-globalThis.scrollY-t),...i?{right:Math.round(s.right-r)}:{left:Math.round(o-s.left)},maxWidth:i?r-10:document.documentElement.clientWidth-o-10}};var Lg=({project:e,title:t,descriptions:r,thumbnail:o,linkTo:n,bubble:s,delay:i,prefetch:a})=>{let c=C(()=>o?[]:He(r.join( ),{hasTitle:!1}),[o,r]),l=Io(e),u=F(async({currentTarget:f})=>{a(e,t),await pn(f,i)&&s({project:e,title:t,linkTo:n,type:"link",position:un(f)})},[e,t,i,n?.project,n?.titleLc]),p=C(()=>n?()=>{sn({type:"page",from:{project:n.project??e,title:n.titleLc},to:{project:e,title:t}})}:()=>{},[e,t,n?.project,n?.titleLc]);return d("a",{className:"related-page-card page-link",type:"link","data-theme":l,href:/${e}/${ae(t)},rel:e===scrapbox.Project.name?"route":"noopner noreferrer",target:e!==scrapbox.Project.name?"_blank":"",onPointerEnter:u,onClick:p,children:[d("div",{class:"hover"}),d("div",{class:"content",children:[d("div",{class:"header",children:d("div",{class:"title",children:t})}),o?d("div",{class:"thumbnail",children:d("img",{src:o})}):d("div",{class:"description",children:c.flatMap((f,m)=>f.type==="line"?[d("p",{children:f.nodes.map(h=>d(Ng,{node:h,project:e}))},m)]:[])})]})]})},Ng=({node:e,project:t})=>{switch(e.type){case"code":return d("code",{children:e.text});case"formula":return d(C_,{node:e});case"commandLine":return d("code",{children:[e.symbol," $",e.text]});case"helpfeel":return d("code",{children:["? ",e.text]});case"quote":case"strong":case"decoration":return d(Y,{children:e.nodes.map(r=>d(Ng,{node:r,project:t}))});case"icon":case"strongIcon":return d(A_,{node:e,project:t});case"hashTag":return d(M_,{node:e});case"link":return d(I_,{node:e});case"plain":case"blank":return d(Y,{children:e.text});default:return d(Y,{})}},C_=({node:{formula:e}})=>{let{ref:t,error:r}=aa(e);return d("span",{className:formula ${r?" error":""},children:r?d("code",{children:e}):d("span",{className:"katex-display",ref:t})})},A_=({node:{pathType:e,path:t},project:r})=>{let[o,n]=e==="relative"?[r,t]:t.match(/\/([\w\-]+)\/(.+)$/)?.slice?.(1)??[r,t];return d("img",{class:"icon",src:/api/pages/${o}/${ae(n)}/icon})},M_=({node:{href:e}})=>d("span",{class:"page-link",children:["#",e]}),I_=({node:{pathType:e,href:t,content:r}})=>e!=="absolute"?d("span",{class:"page-link",children:t}):d("span",{class:"link",children:r||t});var Ee=(e,t)=>/${e.toLowerCase()}/${ne(t)},ua=e=>{let t=e.match("/([^/]+)/(.+)");if(!t)throw SyntaxError("${e}" cannnot match "/(^/+)/(.+)");return{project:t[1],titleLc:t[2]}};var Ug=Symbol.for("immer-nothing"),Cg=Symbol.for("immer-draftable"),xe=Symbol.for("immer-state");function Bt(e,...t){throw new Error(Immer minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf)}var mn=Object.getPrototypeOf;function fn(e){return!!e&&!!e[xe]}function Lr(e){return e?Dg(e)||Array.isArray(e)||!!e[Cg]||!!e.constructor?.[Cg]||ga(e)||ya(e):!1}var F_=Object.prototype.constructor.toString();function Dg(e){if(!e||typeof e!="object")return!1;let t=mn(e);if(t===null)return!0;let r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object?!0:typeof r=="function"&&Function.toString.call(r)===F_}function ls(e,t){ha(e)===0?Reflect.ownKeys(e).forEach(r=>{t(r,e[r],e)}):e.forEach((r,o)=>t(o,r,e))}function ha(e){let t=e[xe];return t?t.type_:Array.isArray(e)?1:ga(e)?2:ya(e)?3:0}function rp(e,t){return ha(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function $g(e,t,r){let o=ha(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r}function U_(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function ga(e){return e instanceof Map}function ya(e){return e instanceof Set}function nt(e){return e.copy_||e.base_}function op(e,t){if(ga(e))return new Map(e);if(ya(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let r=Dg(e);if(t===!0||t==="class_only"&&!r){let o=Object.getOwnPropertyDescriptors(e);delete o[xe];let n=Reflect.ownKeys(o);for(let s=0;s<n.length;s++){let i=n[s],a=o[i];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(o[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[i]})}return Object.create(mn(e),o)}else{let o=mn(e);if(o!==null&&r)return{...e};let n=Object.create(o);return Object.assign(n,e)}}function ap(e,t=!1){return xa(e)||fn(e)||!Lr(e)||(ha(e)>1&&(e.set=e.add=e.clear=e.delete=D_),Object.freeze(e),t&&Object.entries(e).forEach(([r,o])=>ap(o,!0))),e}function D_(){Bt(2)}function xa(e){return Object.isFrozen(e)}var np={};function Fo(e){let t=np[e];return t||Bt(0,e),t}function $_(e,t){np[e]||(np[e]=t)}var ps;function ma(){return ps}function j_(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Ag(e,t){t&&(Fo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function sp(e){ip(e),e.drafts_.forEach(B_),e.drafts_=null}function ip(e){e===ps&&(ps=e.parent_)}function Mg(e){return ps=j_(ps,e)}function B_(e){let t=e[xe];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Ig(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];return e!==void 0&&e!==r?(r[xe].modified_&&(sp(t),Bt(4)),Lr(e)&&(e=fa(t,e),t.parent_||da(t,e)),t.patches_&&Fo("Patches").generateReplacementPatches_(r[xe].base_,e,t.patches_,t.inversePatches_)):e=fa(t,r,[]),sp(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Ug?e:void 0}function fa(e,t,r){if(xa(t))return t;let o=t[xe];if(!o)return ls(t,(n,s)=>Fg(e,o,t,n,s,r)),t;if(o.scope_!==e)return t;if(!o.modified_)return da(e,o.base_,!0),o.base_;if(!o.finalized_){o.finalized_=!0,o.scope_.unfinalizedDrafts_--;let n=o.copy_,s=n,i=!1;o.type_===3&&(s=new Set(n),n.clear(),i=!0),ls(s,(a,c)=>Fg(e,o,n,a,c,r,i)),da(e,n,!1),r&&e.patches_&&Fo("Patches").generatePatches_(o,r,e.patches_,e.inversePatches_)}return o.copy_}function Fg(e,t,r,o,n,s,i){if(fn(n)){let a=s&&t&&t.type_!==3&&!rp(t.assigned_,o)?s.concat(o):void 0,c=fa(e,n,a);if($g(r,o,c),fn(c))e.canAutoFreeze_=!1;else return}else i&&r.add(n);if(Lr(n)&&!xa(n)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;fa(e,n),(!t||!t.scope_.parent_)&&typeof o!="symbol"&&Object.prototype.propertyIsEnumerable.call(r,o)&&da(e,n)}}function da(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ap(t,r)}function H_(e,t){let r=Array.isArray(e),o={type_:r?1:0,scope_:t?t.scope_:ma(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},n=o,s=cp;r&&(n=[o],s=us);let{revoke:i,proxy:a}=Proxy.revocable(n,s);return o.draft_=a,o.revoke_=i,a}var cp={get(e,t){if(t===xe)return e;let r=nt(e);if(!rp(r,t))return W_(e,r,t);let o=r[t];return e.finalized_||!Lr(o)?o:o===ep(e.base_,t)?(tp(e),e.copy_[t]=ms(o,e)):o},has(e,t){return t in nt(e)},ownKeys(e){return Reflect.ownKeys(nt(e))},set(e,t,r){let o=jg(nt(e),t);if(o?.set)return o.set.call(e.draft_,r),!0;if(!e.modified_){let n=ep(nt(e),t),s=n?.[xe];if(s&&s.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(U_(r,n)&&(r!==void 0||rp(e.base_,t)))return!0;tp(e),Or(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return ep(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,tp(e),Or(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=nt(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty(){Bt(11)},getPrototypeOf(e){return mn(e.base_)},setPrototypeOf(){Bt(12)}},us={};ls(cp,(e,t)=>{us[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});us.deleteProperty=function(e,t){return us.set.call(this,e,t,void 0)};us.set=function(e,t,r){return cp.set.call(this,e[0],t,r,e[0])};function ep(e,t){let r=e[xe];return(r?nt(r):e)[t]}function W_(e,t,r){let o=jg(t,r);return o?"value"in o?o.value:o.get?.call(e.draft_):void 0}function jg(e,t){if(!(t in e))return;let r=mn(e);for(;r;){let o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=mn(r)}}function Or(e){e.modified_||(e.modified_=!0,e.parent_&&Or(e.parent_))}function tp(e){e.copy_||(e.copy_=op(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var G_=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,r,o)=>{if(typeof t=="function"&&typeof r!="function"){let s=r;r=t;let i=this;return function(a=s,...c){return i.produce(a,l=>r.call(this,l,...c))}}typeof r!="function"&&Bt(6),o!==void 0&&typeof o!="function"&&Bt(7);let n;if(Lr(t)){let s=Mg(this),i=ms(t,void 0),a=!0;try{n=r(i),a=!1}finally{a?sp(s):ip(s)}return Ag(s,o),Ig(n,s)}else if(!t||typeof t!="object"){if(n=r(t),n===void 0&&(n=t),n===Ug&&(n=void 0),this.autoFreeze_&&ap(n,!0),o){let s=[],i=[];Fo("Patches").generateReplacementPatches_(t,n,s,i),o(s,i)}return n}else Bt(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(s,...i)=>this.produceWithPatches(s,a=>t(a,...i));let o,n;return[this.produce(t,r,(s,i)=>{o=s,n=i}),o,n]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){Lr(e)||Bt(8),fn(e)&&(e=V_(e));let t=Mg(this),r=ms(e,void 0);return r[xe].isManual_=!0,ip(t),r}finishDraft(e,t){let r=e&&e[xe];(!r||!r.isManual_)&&Bt(9);let{scope_:o}=r;return Ag(o,t),Ig(void 0,o)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let n=t[r];if(n.path.length===0&&n.op==="replace"){e=n.value;break}}r>-1&&(t=t.slice(r+1));let o=Fo("Patches").applyPatches_;return fn(e)?o(e,t):this.produce(e,n=>o(n,t))}};function ms(e,t){let r=ga(e)?Fo("MapSet").proxyMap_(e,t):ya(e)?Fo("MapSet").proxySet_(e,t):H_(e,t);return(t?t.scope_:ma()).drafts_.push(r),r}function V_(e){return fn(e)||Bt(10,e),Bg(e)}function Bg(e){if(!Lr(e)||xa(e))return e;let t=e[xe],r;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=op(e,t.scope_.immer_.useStrictShallowCopy_)}else r=op(e,!0);return ls(r,(o,n)=>{$g(r,o,Bg(n))}),t&&(t.finalized_=!1),r}function Hg(){class e extends Map{constructor(c,l){super(),this[xe]={type_:2,parent_:l,scope_:l?l.scope_:ma(),modified_:!1,finalized_:!1,copy_:void 0,assigned_:void 0,base_:c,draft_:this,isManual_:!1,revoked_:!1}}get size(){return nt(this[xe]).size}has(c){return nt(this[xe]).has(c)}set(c,l){let u=this[xe];return i(u),(!nt(u).has(c)||nt(u).get(c)!==l)&&(r(u),Or(u),u.assigned_.set(c,!0),u.copy_.set(c,l),u.assigned_.set(c,!0)),this}delete(c){if(!this.has(c))return!1;let l=this[xe];return i(l),r(l),Or(l),l.base_.has(c)?l.assigned_.set(c,!1):l.assigned_.delete(c),l.copy_.delete(c),!0}clear(){let c=this[xe];i(c),nt(c).size&&(r(c),Or(c),c.assigned_=new Map,ls(c.base_,l=>{c.assigned_.set(l,!1)}),c.copy_.clear())}forEach(c,l){let u=this[xe];nt(u).forEach((p,f,m)=>{c.call(l,this.get(f),f,this)})}get(c){let l=this[xe];i(l);let u=nt(l).get(c);if(l.finalized_||!Lr(u)||u!==l.base_.get(c))return u;let p=ms(u,l);return r(l),l.copy_.set(c,p),p}keys(){return nt(this[xe]).keys()}values(){let c=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let l=c.next();return l.done?l:{done:!1,value:this.get(l.value)}}}}entries(){let c=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let l=c.next();if(l.done)return l;let u=this.get(l.value);return{done:!1,value:[l.value,u]}}}}[Symbol.iterator](){return this.entries()}}function t(a,c){return new e(a,c)}function r(a){a.copy_||(a.assigned_=new Map,a.copy_=new Map(a.base_))}class o extends Set{constructor(c,l){super(),this[xe]={type_:3,parent_:l,scope_:l?l.scope_:ma(),modified_:!1,finalized_:!1,copy_:void 0,base_:c,draft_:this,drafts_:new Map,revoked_:!1,isManual_:!1}}get size(){return nt(this[xe]).size}has(c){let l=this[xe];return i(l),l.copy_?!!(l.copy_.has(c)||l.drafts_.has(c)&&l.copy_.has(l.drafts_.get(c))):l.base_.has(c)}add(c){let l=this[xe];return i(l),this.has(c)||(s(l),Or(l),l.copy_.add(c)),this}delete(c){if(!this.has(c))return!1;let l=this[xe];return i(l),s(l),Or(l),l.copy_.delete(c)||(l.drafts_.has(c)?l.copy_.delete(l.drafts_.get(c)):!1)}clear(){let c=this[xe];i(c),nt(c).size&&(s(c),Or(c),c.copy_.clear())}values(){let c=this[xe];return i(c),s(c),c.copy_.values()}entries(){let c=this[xe];return i(c),s(c),c.copy_.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(c,l){let u=this.values(),p=u.next();for(;!p.done;)c.call(l,p.value,p.value,this),p=u.next()}}function n(a,c){return new o(a,c)}function s(a){a.copy_||(a.copy_=new Set,a.base_.forEach(c=>{if(Lr(c)){let l=ms(c,a);a.drafts_.set(c,l),a.copy_.add(l)}else a.copy_.add(c)}))}function i(a){a.revoked_&&Bt(3,JSON.stringify(nt(a)))}$_("MapSet",{proxyMap_:t,proxySet_:n})}var Lt=new G_,ba=Lt.produce,vce=Lt.produceWithPatches.bind(Lt),Tce=Lt.setAutoFreeze.bind(Lt),_ce=Lt.setUseStrictShallowCopy.bind(Lt),Pce=Lt.applyPatches.bind(Lt),Sce=Lt.createDraft.bind(Lt),Oce=Lt.finishDraft.bind(Lt);Hg();var Wg=e=>{let t=0;for(let r of e)if(r&&(r.exists||(t+=(r.linked?.length??0)+(r.projectLinked?.length??0),t>1)))return!1;return t<2},Gg=(e,t)=>ba(e,r=>{if(!r)return t;if(r.updated<t.updated){let{lines:o,linked:n,projectLinked:s,...i}=t;Object.assign(r,i),lp(t)||(r.lines=o),n&&(r.linked??=n),s&&(r.projectLinked??=s);return}lp(r)&&!lp(t)&&(r.lines=t.lines),t.linked&&(t.isLinkedCorrect||!r.isLinkedCorrect&&(r.linked?.length??0)<=t.linked.length)&&(r.linked=t.linked),t.projectLinked&&(r.projectLinked=t.projectLinked)}),lp=e=>e.lines[0].id==="dummy";var Vg=(e,t)=>{let r=new Map,o=ne(t.title);for(let c of t.links){let l=pp(e,c);l.linked=[o],r.set(Ee(e,c),l)}let n=Ee(e,o),s=t.projectLinks.map(c=>{let l=ua(c);return Ee(l.project,l.titleLc)}),i={...Ea(e,t),linked:[],projectLinked:[]};r.set(n,i);let a=t.links.map(c=>ne(c));for(let c of t.relatedPages.links1hop){c.linksLc.includes(o)&&i.linked.push(c.titleLc);for(let f of c.linksLc.filter(m=>a.includes(m))){let m=Ee(e,f),h=r.get(m)??pp(e,f);if(!h.linked){h.linked=[c.titleLc];continue}h.linked.push(c.titleLc)}let l=Ee(e,c.titleLc),u=Ea(e,c),p=r.get(l)?.linked;p&&(u.linked=p),r.set(l,u)}for(let c of t.relatedPages.projectLinks1hop){let l=Ee(c.projectName,c.titleLc);s.includes(l)||i.projectLinked.push(l);let u=Ea(c.projectName,c),p=r.get(l)?.projectLinked;p&&(u.projectLinked=p),r.set(l,u)}i.isLinkedCorrect=!0;for(let c of t.relatedPages.links2hop){for(let f of c.linksLc){let m=Ee(e,f),h=r.get(m)??pp(e,f);if(!h.linked){h.linked=[c.titleLc];continue}h.linked.push(c.titleLc)}let l=Ee(e,c.titleLc),u=Ea(e,c),p=r.get(l)?.linked;p&&(u.linked=p),r.set(l,u)}return r},Ea=(e,t)=>({project:e,titleLc:"titleLc"in t?t.titleLc:ne(t.title),exists:"persistent"in t?t.persistent:!0,descriptions:t.descriptions,image:t.image,lines:"lines"in t?t.lines:[t.title,...t.descriptions].map(r=>({text:r,id:"dummy",userId:"dummy",updated:t.updated,created:t.updated})),updated:t.updated,isLinkedCorrect:!1}),pp=(e,t)=>({project:e,titleLc:ne(t),exists:!1,descriptions:[],image:null,lines:[{text:t,id:"dummy",userId:"dummy",updated:0,created:0}],updated:0,isLinkedCorrect:!1});var wa=Yr("ScrapBubble:bubble.ts"),up=new Map,Ra=new Set,mp=la();function*qg(e){for(let t of e)yield up.get(t)}var Kg=(e,t)=>mp.on(e,t),Xg=(e,t)=>mp.off(e,t),Yg=async(e,t,r,o)=>{let n=[];for(let s of[...t].reverse()){let i=Ee(s,e);Ra.has(i)||n.push(z_(s,e,r,o))}await Promise.all(n)},zg=0,z_=async(e,t,r,o)=>{let n=Ee(e,t);if(Ra.has(n))return;Ra.add(n);let s=zg++,i=${s} Check update ${n};wa.time(i);try{let a=Ut.toRequest(e,t,{followRename:!0,projects:[...r]});for await(let[c,l]of ca(a,{ignoreSearch:!0,saveFailedResponse:!0})){wa.debug(${s}${c} ${n});let u=await Ut.fromResponse(l);if(Ne(u)){let p=Vg(e,W(u));for(let[f,m]of p){let h=up.get(f),g=Gg(h,m);g&&h!==g&&(up.set(f,g),mp.dispatch(f,m))}}if(o?.ignoreFetch===!0||c==="cache"&&!Eg(l,o?.maxAge??60))break}}catch(a){wa.error(a)}finally{Ra.delete(n),wa.timeEnd(i),zg--}};var Jg=Yr("ScrapBubble:useBubbleData.ts"),dn=e=>{let[t,r]=J(fp(e));return oe(()=>{r(fp(e));let o,n=()=>{clearTimeout(o),o=setTimeout(()=>{Jg.debug(Update ${e.length} pages),r(fp(e))},10)};return e.forEach(s=>Kg(s,n)),()=>e.forEach(s=>Xg(s,n))},e),t},fp=e=>{let t=[...qg(e)].flatMap(r=>r?[r]:[]);return Jg.debug(Required: ${e.length} pages, ${t.length} found,t),t};var Qg=({source:e,linked:t,externalLinked:r,projectsForSort:o,...n})=>{let s=C(()=>[...t.keys(),...r.keys()],[t,r]),i=dn(s),a=C(()=>[...o],[o]),c=C(()=>{let u=(p,f)=>{let m=a.indexOf(p.project),h=a.indexOf(f.project);return m===h?f.updated-p.updated:m<0?1:h<0?-1:m-h};return[...i].sort(u)},[i,a]),l=C(()=>({bottom:${e.position.bottom}px,maxWidth:${e.position.maxWidth}px,..."left"in e.position?{left:${e.position.left}px}:{right:${e.position.right}px}}),[e.position]);return d("ul",{className:"card-bubble",style:l,onClick:n.onClick,children:c.map(({project:u,titleLc:p,lines:[{text:f}],descriptions:m,image:h})=>{let g=Ee(u,p),y=t.get(g)??r.get(g);return d("li",{children:d(Lg,{project:u,title:f,linkTo:y,descriptions:m,thumbnail:h??"",...n})},g)})})};var hn=e=>{e:if(e.pathType==="root"){let[,r="",o=""]=e.href.match(/\/([\w\-]+)(?:\/?|\/(.*))$/)??["","",""];if(r==="")break e;let[,n]=o?.match?.(/#([a-f\d]{24,32})$/)??["",""];return o===""?{project:r}:n===""?{project:r,title:o}:{project:r,title:o.slice(0,-1-n.length),hash:n}}let[,t]=e.href.match(/#([a-f\d]{24,32})$/)??["",""];return t===""?{title:e.href}:{title:e.href.slice(0,-1-t.length),hash:t}};var dp=(e,t)=>t.some(r=>{let o=!e.project;switch(r.type){case"hashTag":return o&&ne(r.href)===e.titleLc;case"link":{if(r.pathType=="absolute"||r.pathType==="relative"!==o)return!1;let{project:n,title:s=""}=hn({pathType:r.pathType,href:r.href});return o?!n&&ne(s)===e.titleLc:n===e.project&&ne(s)===e.titleLc}case"quote":case"strong":case"decoration":return dp(e,r.nodes)}});var Jr=Xn({title:"",project:"",whiteList:new Set,bubble:()=>{},hide:()=>{},delay:0,prefetch:()=>{}}),ey=({lines:e,project:t,title:r,whiteList:o,noIndent:n,hash:s,linkTo:i,...a})=>{let c=C(()=>e.flatMap(m=>typeof m=="string"?[]:[m.id]),[e]),l=C(()=>{let m=0;return He(e.map(h=>typeof h=="string"?h:h.text).join( ),{hasTitle:!0}).map(h=>{switch(h.type){case"title":case"line":return{...h,id:c[m++]};case"codeBlock":{let g=m;return m+=h.content.split(
).length+1,{...h,ids:c.slice(g,m)}}case"table":{let g=m;return m+=h.cells.length+1,{...h,ids:c.slice(g,m)}}}})},[e,c]),u=C(()=>{if(s&&c.includes(s))return s;if(i)return l.find(m=>m.type!=="line"?!1:dp(i,m.nodes))?.id},[l,c,s,i?.project,i?.titleLc]),p=ze(null);oe(()=>{if(!u)return;let m=p.current?.querySelector(data-id="${u}"),h=globalThis.scrollY;m?.scrollIntoView?.({block:"center"}),globalThis.scroll(0,h)},[u]);let f=Io(t);return d("div",{className:"lines","data-theme":f,ref:p,children:d(Jr.Provider,{value:{project:t,title:r,whiteList:o,...a},children:l.map(m=>{switch(m.type){case"title":return d(Y,{children:[d(yn,{index:m.id,indent:0,noIndent:n,permalink:m.id===u,children:d("a",{className:"page-link",type:"link",href:/${t}/${ae(m.text)},rel:t===scrapbox.Project.name?"route":"noopener noreferrer",target:t===scrapbox.Project.name?"":"_blank",children:m.text})},m.id),d("hr",{})]});case"codeBlock":return d(q_,{block:m,noIndent:n,ids:m.ids,scrollId:u},m.ids[0]);case"table":return d(K_,{block:m,noIndent:n,ids:m.ids,scrollId:u},m.ids[0]);case"line":return d(yn,{index:m.id,indent:m.indent,noIndent:n,permalink:m.id===u,children:m.nodes.length>0?m.nodes.map(h=>d(gn,{node:h})):d("br",{})},m.id)}})})})},yn=({index:e,indent:t,noIndent:r,children:o,permalink:n})=>d("div",{className:line${n?" permalink":""},"data-id":e,"data-indent":t,style:{"margin-left":r?"":${1*t}em},children:o}),q_=({block:{fileName:e,content:t,indent:r},ids:o,scrollId:n})=>{let{project:s,title:i}=kr(Jr),[a,c]=J(""),l=F(async u=>{u.preventDefault(),u.stopPropagation();try{await navigator.clipboard.writeText(t),c("Copied"),await Ie(1e3),c("")}catch(p){alert(Failed to copy the code block Error: ${p})}},[t]);return d(Y,{children:[d(yn,{index:o[0],indent:r,permalink:o[0]===n,children:d("span",{className:"code-block",children:[d("span",{className:"code-block-start",children:d("a",{href:/api/code/${s}/${ae(i)}/${e},target:"_blank",children:e})}),d("span",{className:"copy",title:"Copy",onClick:l,children:a})]})}),d(Y,{children:t.split(
).map((u,p)=>d(yn,{index:o[p+1],indent:r,permalink:o[p+1]===n,children:d("code",{className:"code-block",children:u})}))})]})},K_=({block:{fileName:e,cells:t,indent:r},ids:o,scrollId:n})=>{let{project:s,title:i}=kr(Jr);return d(Y,{children:[d(yn,{index:o[0],indent:r,permalink:o[0]===n,children:d("span",{className:"table-block",children:d("span",{className:"table-block-start",children:d("a",{href:/api/table/${s}/${ae(i)}/${e}.csv,target:"_blank",children:e})})})}),d(Y,{children:t.map((a,c)=>d(yn,{index:o[c+1],indent:r,permalink:o[c+1]===n,children:d("span",{className:"table-block table-block-row",children:a.map((l,u)=>d("span",{className:cell col-${u},children:l.map(p=>d(gn,{node:p}))}))})}))})]})},gn=({node:e})=>{switch(e.type){case"code":return d("code",{className:"code",children:e.text});case"formula":return d(X_,{node:e});case"commandLine":return d(J_,{node:e});case"helpfeel":return d("code",{className:"helpfeel",children:[d("span",{className:"prefix",children:"?"})," ",d("span",{className:"entry",children:e.text})]});case"quote":return d("blockquote",{className:"quote",children:e.nodes.map(t=>d(gn,{node:t}))});case"strong":return d("strong",{children:e.nodes.map(t=>d(gn,{node:t}))});case"decoration":return d(Y_,{node:e});case"plain":case"blank":return d(Y,{children:e.text});case"hashTag":return d(e0,{node:e});case"link":return d(t0,{node:e});case"googleMap":return d(Q_,{node:e});case"icon":return d(Zg,{node:e});case"strongIcon":return d(Zg,{node:e,strong:!0});case"image":return d(Z_,{node:e});case"strongImage":return d("img",{className:"image strong-image",src:e.src});case"numberList":return d(Y,{children:[${e.number}. ,e.nodes.map(t=>d(gn,{node:t}))]})}},X_=({node:{formula:e}})=>{let{ref:t,error:r}=aa(e);return d("span",{className:formula ${r?" error":""},children:r?d("code",{children:e}):d("span",{className:"katex-display",ref:t})})},Y_=({node:{decos:e,nodes:t}})=>d("span",{className:e.map(r=>deco-${r}).join(" "),children:t.map(r=>d(gn,{node:r}))}),J_=({node:e})=>{let[t,r]=J(""),o=F(async n=>{n.preventDefault(),n.stopPropagation();try{await navigator.clipboard.writeText(e.text),r("Copied"),await Ie(1e3),r("")}catch(s){alert(Failed to copy the code block
Error: ${s})}},[e.text]);return d(Y,{children:[d("code",{className:"cli",children:[d("span",{className:"prefix",children:e.symbol})," ",d("span",{className:"command",children:e.text})]}),d("span",{className:"tool-buttons",children:d("span",{title:"Copy",className:"copy",onClick:o,children:t})})]})},Q_=({node:{place:e,latitude:t,longitude:r,zoom:o}})=>d("span",{className:"pointing-device-map",children:d("a",{href:https://www.google.com/maps/search/${e}/@${t},${r},${o}z,rel:"noopner noreferrer",target:"_blank",children:d("img",{className:"google-map",src:/api/google-map/static-map?center=${t}%2C${r}&markers=${e}&zoom=${o}&_csrf=${globalThis._csrf}})})}),Zg=({node:{pathType:e,path:t},strong:r})=>{let{project:o}=kr(Jr),[n,s]=e==="relative"?[o,t]:t.match(/\/([\w\-]+)\/(.+)$/)?.slice?.(1)??[o,t],i=ae(s);return d("a",{href:/${n}/${i},rel:n===scrapbox.Project.name?"route":"noopener noreferrer",target:n===scrapbox.Project.name?"":"_blank",children:d("img",{className:r?"icon strong-icon":"icon",alt:s,src:/api/pages/${n}/${i}/icon,children:s})})},Z_=({node:{link:e,src:t}})=>{let r=e||(/https:\/\/gyazo\.com\/[^\/]+\/thumb\/1000/.test(t)?t.slice(0,-11):t);return d("a",{className:e?"link":"",href:r,rel:"noopner noreferrer",target:"_blank",children:d("img",{className:"image",src:t})})},e0=({node:{href:e}})=>{let{project:t}=kr(Jr),r=ty(t,e),o=ry(t,e,"hashtag");return d("a",{href:/${t}/${ae(e)},className:page-link${r?" empty-page-link":""},type:"hashTag",rel:t===scrapbox.Project.name?"route":"noopener noreferrer",target:t===scrapbox.Project.name?"":"_blank",onPointerEnter:o,children:["#",e]})},t0=({node:{pathType:e,...t}})=>{switch(e){case"relative":case"root":return d(r0,{pathType:e,href:t.href});case"absolute":{let r=fg({pathType:e,...t});switch(r.type){case"youtube":return d(o0,{...r});case"vimeo":return d(n0,{...r});case"spotify":return d(s0,{...r});case"anchor-fm":return d(i0,{...r});case"audio":return d(a0,{...r});case"video":return d(l0,{...r});case"absoluteLink":return d("a",{className:"link",href:r.href,rel:"noopener noreferrer",target:"_blank",children:r.content||r.href})}}}},r0=({pathType:e,href:t})=>{let{project:r}=kr(Jr),{project:o=r,title:n,hash:s=""}=hn({pathType:e,href:t}),i=ry(o,n,"link",s),a=ty(o,n??"");return d("a",{className:page-link${n!==void 0&&a?" empty-page-link":""},type:"link",href:/${o}${n===void 0?"":/${ae(n)}${s===""?"":#${s}}},rel:o===scrapbox.Project.name?"route":"noopener noreferrer",target:o===scrapbox.Project.name?"":"_blank",onPointerEnter:i,children:t})},o0=e=>{e.params.append("autoplay","0");let t=e.pathType==="list"?https://www.youtube.com/embed/?${e.params.toString()}&list=${e.listId}:https://www.youtube.com/embed/${e.videoId}?${e.params.toString()};return d("div",{className:"iframe-video-player",children:d("iframe",{src:t,allowFullScreen:!0})})},n0=({videoId:e})=>d("div",{className:"iframe-video-player",children:d("iframe",{src:https://player.vimeo.com/video/${e},allowFullScreen:!0})}),s0=e=>d("div",{className:"iframe-video-player",children:d("iframe",{className:spotify type-${e.pathType},src:https://open.spotify.com/embed/${e.pathType}/${e.videoId},allowFullScreen:!0})}),i0=e=>d("div",{className:"iframe-video-player",children:d("iframe",{className:"anchor-fm",src:e.href.replace("/episodes/","/embed/episodes/"),allowFullScreen:!0})}),a0=e=>e.content===""?d("audio",{className:"audio-player",preload:"none",controls:!0,src:e.href}):d(c0,{...e}),c0=({href:e,content:t})=>{let r=ze(null),o=F(()=>{r.current?.paused?(r.current.currentTime=0,r.current.play()):r.current?.pause?.()},[]);return d("span",{className:"audio-link",children:[d("a",{href:e,rel:"noopener noreferrer",target:"_blank",children:t}),d("span",{className:"play",onClick:o,children:"♬"}),d("audio",{preload:"none",src:e,ref:r})]})},l0=({href:e})=>d("div",{className:"video-player",children:d("video",{class:"video",style:{display:"inline-block"},controls:!0,loop:!0,src:e})}),ty=(e,t)=>{let{whiteList:r}=kr(Jr),o=C(()=>(r.has(e)?[...r]:[e,...r]).map(s=>Ee(s,t)),[r,e]),n=dn(o);return C(()=>Wg(n),n)},ry=(e,t,r,o)=>{let{delay:n,bubble:s,prefetch:i}=kr(Jr);return F(async({currentTarget:a})=>{t&&(i(e,t),await pn(a,n)&&s({project:e,title:t,hash:o,type:r,position:un(a)}))},[e,t,o,r,n,i,s])};var oy=({pages:e,onClick:t,source:r,whiteList:o,...n})=>{let[s,i]=J(Ee(e[0].project,e[0].titleLc)),a=C(()=>({top:${r.position.top}px,maxWidth:${r.position.maxWidth}px,..."left"in r.position?{left:${r.position.left}px}:{right:${r.position.right}px}}),[r.position]);return d("div",{className:"text-bubble",style:a,onClick:t,children:[e.length>1&&d("div",{role:"tablist",children:e.map(c=>d(p0,{project:c.project,titleLc:c.titleLc,selected:s===Ee(c.project,c.titleLc),tabSelector:i},Ee(c.project,c.titleLc)))}),e.map(c=>d(u0,{selected:s===Ee(c.project,c.titleLc),...c,title:c.lines[0].text,hash:r.hash,linkTo:r.linkTo,whiteList:o,...n},Ee(c.project,c.titleLc)))]})},p0=({project:e,titleLc:t,tabSelector:r,selected:o})=>{let n=F(()=>r(Ee(e,t)),[e,t]),s=Io(e);return d("button",{role:"tab","aria-selected":o,"data-theme":s,tabIndex:-1,onClick:n,children:e})},u0=({selected:e,...t})=>{let r=Io(t.project);return d("div",{role:"tabpanel","data-theme":r,hidden:!e,children:d(ey,{...t})})};var ny=Yr("ScrapBubble:Bubble.tsx"),sy=({source:e,parentTitles:t,whiteList:r,...o})=>{let n=C(()=>r.has(e.project)?new Set([e.project,...r]):new Set([e.project]),[r,e.project]),[s,i,a]=f0(e,n,r,t);return d(Y,{children:[m0(a)&&d(oy,{pages:a,source:e,whiteList:r,onClick:o.hide,...o}),d(Qg,{linked:s,externalLinked:i,onClick:o.hide,source:e,projectsForSort:n,...o})]})},m0=e=>e.length>0,f0=(e,t,r,o)=>{let[[n,s,i],a]=J([new Map,new Map,[]]),c=C(()=>{let p=[...t].map(f=>Ee(f,e.title));return ny.debug("projects",p),p},[t,e.title]),l=dn(c),u=C(()=>o.map(p=>ne(p)),[o]);return Oi(()=>{let p=new Map,f=new Map,m=[];for(let h of l){let g={project:h.project,titleLc:h.titleLc};for(let x of h.projectLinked??[]){let{project:E,titleLc:k}=ua(x);u.includes(k)&&r.has(E)||f.has(x)||f.set(x,g)}if(!r.has(h.project))continue;let y={titleLc:h.titleLc};for(let x of h.linked??[]){if(u.includes(x))continue;let E=Ee(h.project,x);p.has(E)||p.set(E,y)}u.includes(h.titleLc)||h.exists&&m.push(h)}a(ba(h=>{ny.debug(depth: ${u.length}, bubbled from ${Ee(e.project,e.title)}, bubbles,,l,"before",h[0],"internal cards,",p,"external cards",f);for(let g of h[0].keys())p.has(g)||h[0].delete(g);for(let[g,y]of p)h[0].set(g,y);for(let g of h[1].keys())f.has(g)||h[1].delete(g);for(let[g,y]of f)h[1].set(g,y);h[2]=m}))},[l,r,u]),[n,s,i]};var iy=(e,t)=>{if(e instanceof URL)return e;try{return new URL(e)}catch(r){if(!(r instanceof TypeError))throw r;if(!t||!/^\.\/|^\.\.\/|^\//.test(e))return e;try{return new URL(e,t)}catch(o){if(!(o instanceof TypeError))throw o;return e}}};var ay=e=>{let t=C(()=>iy(e.style,import.meta.url),[e.style]);return d(Y,{children:t!==""&&(t instanceof URL?d("link",{rel:"stylesheet",href:t.href}):d("style",{children:t}))})};var cy=String.raw*{box-sizing:border-box}a{background-color:transparent;text-decoration:none;cursor:pointer}img{display:inline-block;max-width:100%;max-height:100px}code{font-family:var(--code-text-font, Menlo, Monaco, Consolas, "Courier New", monospace);font-size:90%;color:var(--code-color, #342d9c);background-color:var(--code-bg, rgba(0,0,0,.04));padding:0;white-space:pre-wrap;word-wrap:break-word}blockquote{background-color:var(--quote-bg-color, rgba(0,0,0,.05));display:block;border-left:solid 4px #a0a0a0;padding-left:4px;margin:0}strong{font-weight:700}iframe{display:inline-block;margin:3px 0;vertical-align:middle;max-width:100%;width:640px;height:360px;border:0}audio{display:inline-block;vertical-align:middle;white-space:initial;max-width:100%}.formula{margin:auto 6px}.formula.error code{color:#fd7373}.katex-display{display:inline-block!important;margin:0!important;text-align:inherit!important}.error .katex-display{display:none}.cli{border-radius:4px}.cli .prefix{color:#9c6248}.helpfeel{background-color:#fbebdd;border-radius:4px;padding:3px!important}.helpfeel .prefix{color:#f17c00}.helpfeel .entry{color:#cc5020}.code-block{display:block;line-height:1.7em;background-color:var(--code-bg, rgba(0,0,0,.04))}.code-block-start{font-family:Menlo,Monaco,Consolas,Courier New,monospace;color:#342d9c;background-color:#ffcfc6;font-size:.9em;padding:1px 2px}.code-block-start a{color:#342d9c;text-decoration:underline}code.code-block,.table-block.table-block-row{padding-left:1em}.copy{font-family:"Font Awesome 5 Free";cursor:pointer}.table-block{white-space:nowrap}.table-block-start{padding:1px 2px;font-size:.9em;background-color:#ffcfc6}.table-block-start a{color:#342d9c;text-decoration:underline}.cell{margin:0;padding:0 2px 0 8px;box-sizing:content-box;display:inline-block;white-space:pre}.cell:nth-child(odd){background-color:#0000000a}.cell:nth-child(2n){background-color:#0000000f}.strong-image{max-height:100%}.icon{height:11px;vertical-align:middle}.strong-icon{height:13.2px}.tool-button{margin-left:1em;cursor:pointer;font-size:.9em}.deco-\/{font-style:italic}.deco-\*-1{font-weight:700}.deco-\*-2{font-weight:700;font-size:1.2em}.deco-\*-3{font-weight:700;font-size:1.44em}.deco-\*-4{font-weight:700;font-size:1.73em}.deco-\*-5{font-weight:700;font-size:2.07em}.deco-\*-6{font-weight:700;font-size:2.49em}.deco-\*-7{font-weight:700;font-size:3em}.deco-\*-8{font-weight:700;font-size:3.58em}.deco-\*-9{font-weight:700;font-size:4.3em}.deco-\*-10{font-weight:700;font-size:5.16em}.deco--{text-decoration:line-through}.deco-_{text-decoration:underline}.page-link{color:var(--page-link-color, #5e8af7)}a.page-link:hover{color:var(--page-link-hover-color, #2d67f5)}.empty-page-link{color:var(--empty-page-link-color, #fd7373)}a.empty-page-link:hover{color:var(--empty-page-link-hover-color, #fd7373)}.link{color:var(--page-link-color, #5e8af7);text-decoration:underline}a.link:hover{color:var(--page-link-color-hover-color, #2d67f5)}.link img{padding-bottom:3px;border-style:none none solid;border-width:1.5px;border-color:#8fadf9}.permalink{background-color:var(--line-permalink-color, rgba(234,218,74,.75))}.status-bar{display:inline-block;position:absolute;background-color:var(--page-bg, #fefefe);cursor:default}.status-bar>*{border:1px solid var(--status-bar-border-color, #a9aaaf)}.status-bar.top-left{top:0;left:0}.status-bar.top-left>*{border-top:none;border-left:none}.status-bar.top-left :last-of-type{border-bottom-right-radius:3px}.status-bar.top-right{top:0;right:0}.status-bar.top-right>*{border-top:none;border-right:none}.status-bar.top-right :last-of-type{border-bottom-left-radius:3px}.status-bar.bottom-right{bottom:0;right:0}.status-bar.bottom-right>*{border-bottom:none;border-right:none}.status-bar.bottom-right :last-of-type{border-top-left-radius:3px}.status-bar.bottom-left{bottom:0;left:0}.status-bar.bottom-left>*{border-bottom:none;border-left:none}.status-bar.bottom-left :last-of-type{border-top-right-radius:3px}.text-bubble{font-size:11px;line-height:1.42857;user-select:text;position:absolute;color:var(--page-text-color, #4a4a4a);box-shadow:0 6px 12px #0000002d;display:flex;flex-direction:column;z-index:9000;&.no-scroll{overflow-y:hidden}data-theme=default-dark{--text-bubble-border-color: hsl(0, 0%, 39%)}data-theme=default-minimal{--text-bubble-border-color: hsl(0, 0%, 89%)}data-theme=paper-light{--text-bubble-border-color: hsl(53, 8%, 58%)}data-theme=paper-dark-dark{--text-bubble-border-color: hsl(203, 42%, 17%)}data-theme=blue{--text-bubble-border-color: hsl(227, 68%, 62%)}data-theme=purple{--text-bubble-border-color: hsl(267, 39%, 60%)}data-theme=green{--text-bubble-border-color: hsl(136, 29%, 50%)}data-theme=orange{--text-bubble-border-color: hsl(43, 71%, 51%)}data-theme=red{--text-bubble-border-color: hsl(4, 58%, 56%)}data-theme=spring{--text-bubble-border-color: hsl(72, 64%, 57%)}data-theme=kyoto{--text-bubble-border-color: hsl(331, 21%, 26%)}data-theme=newyork{--text-bubble-border-color: hsl(176, 29%, 67%)}role=tabpanel{padding:5px 0 5px 5px;border-radius:4px;background-color:var(--page-bg, #fefefe);max-height:80vh;overflow-y:auto}role=tabpanel,button{border:1px solid var(--text-bubble-border-color, hsl(221, 15%, 25%))}button{cursor:default;color:inherit;font-size:inherit;line-height:inherit;background-color:var(--page-bg, #fefefe);border-radius:4px 4px 0 0}buttonaria-selected=true{background-color:var(--text-bubble-border-color, hsl(221, 15%, 25%))}}.project-badge{text-decoration:none;color:var(--tool-text-color, #363c49)}.related-page-carddata-theme=default-dark{--card-title-bg: hsl(0, 0%, 39%)}.related-page-carddata-theme=default-minimal{--card-title-bg: hsl(0, 0%, 89%)}.related-page-carddata-theme=paper-light{--card-title-bg: hsl(53, 8%, 58%)}.related-page-carddata-theme=paper-dark-dark{--card-title-bg: hsl(203, 42%, 17%)}.related-page-carddata-theme=blue{--card-title-bg: hsl(227, 68%, 62%)}.related-page-carddata-theme=purple{--card-title-bg: hsl(267, 39%, 60%)}.text-bubbledata-theme=green{--card-title-bg: hsl(136, 29%, 50%)}.related-page-carddata-theme=orange{--card-title-bg: hsl(43, 71%, 51%)}.related-page-carddata-theme=red{--card-title-bg: hsl(4, 58%, 56%)}.related-page-carddata-theme=spring{--card-title-bg: hsl(72, 64%, 57%)}.related-page-carddata-theme=kyoto{--card-title-bg: hsl(331, 21%, 26%)}.related-page-carddata-theme=newyork{--card-title-bg: hsl(176, 29%, 67%)}.related-page-card{display:block;position:relative;height:inherit;width:inherit;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Helvetica,Arial,Hiragino Sans,sans-serif;background-color:var(--card-bg, #fff);color:var(--card-title-color, #555);word-break:break-word;text-decoration:none}.related-page-card:hover{box-shadow:var(--card-box-hover-shadow, 0 2px 0 rgba(0,0,0,.23))}.related-page-card:focus{outline:0;box-shadow:0 0 0 3px #66afe999;border-color:#66afe9;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.related-page-card.hover{opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--card-hover-bg, rgba(0,0,0,.05));mix-blend-mode:multiply;z-index:1;transition:background-color .1s}.related-page-card:hover .hover{opacity:1}.related-page-card:active .hover{opacity:1;background-color:var(--card-active-bg, rgba(0,0,0,.1))}.related-page-card .content{height:calc(100% - 5px);width:inherit;display:flex;flex-direction:column;overflow:hidden}.related-page-card .content .header{width:100%;color:#396bdd;text-overflow:ellipsis;border-top:var(--card-title-bg, #f2f2f3) solid 10px;padding:8px 10px}.related-page-card .content .header .title{font-size:11px;line-height:16px;font-weight:700;max-height:48px;color:var(--card-title-color, #363c49);margin:0;overflow:hidden;display:block;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis}.related-page-card .content .description{line-height:16px;padding:8px 10px 0;font-size:10px;white-space:pre-line;column-count:1;column-gap:2em;column-width:10em;height:inherit;color:var(--card-description-color, gray);flex-shrink:16;overflow:hidden}.related-page-card .content .thumbnail{display:block;width:100%;margin:0 auto;padding:0 5px}.related-page-card .content .description p{margin:0;display:block}.related-page-card .content .description code{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%;color:var(--code-color, #342d9c);background-color:var(--code-bg, rgba(0,0,0,.04));padding:0;white-space:pre-wrap;word-wrap:break-word}.related-page-card .content .description .icon{height:9px;vertical-align:middle}.related-page-card .content .description .page-link{background-color:transparent;text-decoration:none;cursor:pointer;color:var(--page-link-color, #5e8af7)}.card-bubble{background-color:var(--page-bg, #FFF);box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0003,0 1px 5px #0000001f;position:absolute;max-width:80vw;box-sizing:content-box;z-index:9000;font-size:11px;line-height:1.42857;display:flex;padding:0;margin:0;list-style:none;overflow-x:auto;overflow-y:visible}.card-bubble li{display:block;position:relative;float:none;margin:5px;box-sizing:border-box;box-shadow:var(--card-box-shadow, 0 2px 0 rgba(0,0,0,.12));border-radius:2px;width:120px;height:120px} ;var ly=()=>{let[e,t]=J([{bubble:o=>r(0,o),hide:()=>r(0)}]),r=F((o,n)=>{t(([s,...i])=>[s,...n?[...i.slice(0,o),n===i.at(o)?.source?i.at(o):{source:n,parentTitles:[scrapbox.Page.title??"",...i.slice(0,o).map(a=>a.source.title)],bubble:a=>r(o+1,a),hide:()=>r(o+1)}]:[...i.slice(0,o)]])},[]);return e};var hp=(e,t,r,o,n)=>{oe(()=>(e.addEventListener(t,r,o),()=>e.removeEventListener(t,r,o)),[e,t,o,...n??[]])};var py=e=>e instanceof HTMLSpanElement&&e.matches(".line-title .text"),ka=e=>e instanceof HTMLAnchorElement&&e.classList.contains("page-link");var gp="scrap-bubble",uy=({delay:e,whiteList:t,watchList:r,style:o})=>{let[{bubble:n,hide:s},...i]=ly(),a=F((c,l)=>Yg(l,t.has(c)?t:new Set([c]),r),[t,r]);return hp(document,"pointerenter",async c=>{let l=c.target;if(!ka(l)&&!py(l))return;let{project:u=scrapbox.Project.name,title:p,hash:f=""}=ka(l)?hn({pathType:"root",href:${new URL(l.href).pathname}${new URL(l.href).hash}}):{project:scrapbox.Project.name,title:scrapbox.Page.title};if(u==="")return;let m=decodeURIComponent(p??"");a(u,m),await pn(l,e)&&n({project:u,title:m,hash:f,position:un(l),type:d0(l)})},{capture:!0},[e,t,r]),hp(document,"click",c=>{c.target.dataset.userscriptName!==gp&&s()},{capture:!0},[s]),oe(()=>(scrapbox.addListener("page:changed",s),()=>scrapbox.removeListener("page:changed",s)),[s]),d(Y,{children:[d("link",{rel:"stylesheet",href:"https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.12.0/katex.min.css"}),d("style",{children:cy}),d(ay,{style:o}),i.map(c=>d(sy,{...c,whiteList:t,delay:e,prefetch:a},Ee(c.source.project,c.source.title)))]})},d0=e=>ka(e)?e.type==="link"?"link":"hashtag":"title";var my=async e=>{let{delay:t=500,whiteList:r=[],watchList:o=(await dg()).slice(0,100),style:n="",debug:s=!1}=e??{};wg(s);let i=document.createElement("div");i.dataset.userscriptName=gp,document.body.append(i);let a=i.attachShadow({mode:"open"});mt(d(uy,{delay:t,whiteList:new Set([scrapbox.Project.name,...r]),watchList:new Set(o),style:n}),a)};var h0=["takker-memex","takker-private","takker","takker-books","villagepump"],Uo=[];switch(scrapbox.Project.name){case"hub":case"villagepump":case"verbalizing-community":Uo.push("villagepump","hub","verbalizing-community");break;case"programming-notes":case"customize":case"scrapboxlab":Uo.push("programming-notes","customize","scrapboxlab");break;case"sta":Uo.push("sta-taskmanagement");break;case"sta-taskmanagement":case"taskmanagement":Uo.push("sta-taskmanagement","taskmanagement");break;case"plurality-japanese":Uo.push("nishio","tkgshn");case"takker-books":Uo.push("work4ai");break}my({delay:/mobile/i.test(navigator.userAgent)?300:500,whiteList:[...h0,...Uo],style:@import "/api/code/takker/kakeruの背景を白にするUserCSS/style.css";
@import "/api/code/takker/アイコン記法を画像記法っぽくするUserCSS/style2.css";});var fy=e=>{{let r=e.match(/^([^(]+)\(([^)]+)\)$/);if(r)return{fileName:r[1],lang:r[2]}}let t=e.split(".").pop();return t===void 0?{fileName:e,lang:e}:{fileName:e,lang:t}};var dy=(e,t,r)=>{if(r.length===0)return[];let o=r.map(a=>a.text).join(
),n=He(o,{hasTitle:!0}),s=new Map,i=0;for(let a of n)switch(a.type){case"title":case"line":{i++;break}case"table":i+=a.cells.length+1;break;case"codeBlock":{let{fileName:c,lang:l}=fy(a.fileName),u=s.get(c);s.set(c,{path:u?.path??https://scrapbox.io/api/code/${e}/${ae(t)}/${ae(c)},lang:u?.lang??l,startIds:[...u?.startIds??[],r[i].id]}),i+=a.content.split( ).length+1;break}}return s.values()};function xp(e){let t=o=>{if(o===null)r.write8(0);else if(typeof o=="boolean")r.write8(1),r.write8(+o);else if(typeof o=="number")r.write8(2),r.write32(o|0);else if(typeof o=="string")r.write8(3),r.write(Zt(o));else if(o instanceof Uint8Array)r.write8(4),r.write(o);else if(o instanceof Array){r.write8(5),r.write32(o.length);for(let n of o)t(n)}else{let n=Object.keys(o);r.write8(6),r.write32(n.length);for(let s of n)r.write(Zt(s)),t(o[s])}},r=new va;return r.write32(0),r.write32(e.id<<1|+!e.isRequest),t(e.value),yp(r.buf,r.len-4,0),r.buf.subarray(0,r.len)}function hy(e){let t=()=>{switch(r.read8()){case 0:return null;case 1:return!!r.read8();case 2:return r.read32();case 3:return xn(r.read());case 4:return r.read();case 5:{let i=r.read32(),a=[];for(let c=0;c<i;c++)a.push(t());return a}case 6:{let i=r.read32(),a={};for(let c=0;c<i;c++)a[xn(r.read())]=t();return a}default:throw new Error("Invalid packet")}},r=new va(e),o=r.read32(),n=(o&1)===0;o>>>=1;let s=t();if(r.ptr!==e.length)throw new Error("Invalid packet");return{id:o,isRequest:n,value:s}}var va=class{constructor(t=new Uint8Array(1024)){this.buf=t}len=0;ptr=0;_write(t){if(this.len+t>this.buf.length){let r=new Uint8Array((this.len+t)*2);r.set(this.buf),this.buf=r}return this.len+=t,this.len-t}write8(t){let r=this._write(1);this.buf[r]=t}write32(t){let r=this._write(4);yp(this.buf,t,r)}write(t){let r=this._write(4+t.length);yp(this.buf,t.length,r),this.buf.set(t,r+4)}_read(t){if(this.ptr+t>this.buf.length)throw new Error("Invalid packet");return this.ptr+=t,this.ptr-t}read8(){return this.buf[this._read(1)]}read32(){return bp(this.buf,this._read(4))}read(){let t=this.read32(),r=new Uint8Array(t),o=this._read(r.length);return r.set(this.buf.subarray(o,o+t)),r}},Zt,xn,gy;if(typeof TextEncoder<"u"&&typeof TextDecoder<"u"){let e=new TextEncoder,t=new TextDecoder;Zt=r=>e.encode(r),xn=r=>t.decode(r),gy='new TextEncoder().encode("")'}else throw new Error("No UTF-8 codec found");if(!(Zt("")instanceof Uint8Array))throw new Error(Invariant violation: "${gy} instanceof Uint8Array" is incorrectly false
This indicates that your JavaScript environment is broken. You cannot use
esbuild in this environment because esbuild relies on this invariant. This
is not a problem with esbuild. You need to fix your environment instead.
);function bp(e,t){return e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24}function yp(e,t,r){e[r++]=t,e[r++]=t>>8,e[r++]=t>>16,e[r++]=t>>24}var fs="0.24.0";var Ge=JSON.stringify,yy="warning",xy="silent";function by(e){if(st(e,"target"),e.indexOf(",")>=0)throw new Error(Invalid target: ${e});return e}var Pa=()=>null,Ae=e=>typeof e=="boolean"?null:"a boolean",V=e=>typeof e=="string"?null:"a string",Sa=e=>e instanceof RegExp?null:"a RegExp object",$o=e=>typeof e=="number"&&e===(e|0)?null:"an integer",Ry=e=>typeof e=="function"?null:"a function",De=e=>Array.isArray(e)?null:"an array",Ht=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"an object",y0=e=>typeof e=="object"&&e!==null?null:"an array or an object";var Ey=e=>typeof e=="object"&&!Array.isArray(e)?null:"an object or null",ky=e=>typeof e=="string"||typeof e=="boolean"?null:"a string or a boolean",x0=e=>typeof e=="string"||typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"a string or an object",b0=e=>typeof e=="string"||Array.isArray(e)?null:"a string or an array",vy=e=>typeof e=="string"||e instanceof Uint8Array?null:"a string or a Uint8Array";function w(e,t,r,o){let n=e[r];if(t[r+""]=!0,n===void 0)return;let s=o(n);if(s!==null)throw new Error(${Ge(r)} must be ${s});return n}function Ze(e,t,r){for(let o in e)if(!(o in t))throw new Error(Invalid option ${r}: ${Ge(o)})}function Ty(e){let t;if(e!==void 0){t=Object.create(null);for(let r in e){let o=e[r];if(typeof o=="string"||o===!1)t[r]=o;else throw new Error(Expected ${Ge(r)} in mangle cache to map to either a string or false)}}return t}function Oa(e,t,r,o,n){let s=w(t,r,"color",Ae),i=w(t,r,"logLevel",V),a=w(t,r,"logLimit",$o);s!==void 0?e.push(--color=${s}):o&&e.push("--color=true"),e.push(--log-level=${i||n}),e.push(--log-limit=${a||0})}function st(e,t,r){if(typeof e!="string")throw new Error(Expected value for ${t}${r!==void 0?" "+Ge(r):""} to be a string, got ${typeof e} instead);return e}function _y(e,t,r){let o=w(t,r,"legalComments",V),n=w(t,r,"sourceRoot",V),s=w(t,r,"sourcesContent",Ae),i=w(t,r,"target",b0),a=w(t,r,"format",V),c=w(t,r,"globalName",V),l=w(t,r,"mangleProps",Sa),u=w(t,r,"reserveProps",Sa),p=w(t,r,"mangleQuoted",Ae),f=w(t,r,"minify",Ae),m=w(t,r,"minifySyntax",Ae),h=w(t,r,"minifyWhitespace",Ae),g=w(t,r,"minifyIdentifiers",Ae),y=w(t,r,"lineLimit",$o),x=w(t,r,"drop",De),E=w(t,r,"dropLabels",De),k=w(t,r,"charset",V),b=w(t,r,"treeShaking",Ae),v=w(t,r,"ignoreAnnotations",Ae),R=w(t,r,"jsx",V),O=w(t,r,"jsxFactory",V),L=w(t,r,"jsxFragment",V),N=w(t,r,"jsxImportSource",V),P=w(t,r,"jsxDev",Ae),T=w(t,r,"jsxSideEffects",Ae),_=w(t,r,"define",Ht),S=w(t,r,"logOverride",Ht),A=w(t,r,"supported",Ht),M=w(t,r,"pure",De),$=w(t,r,"keepNames",Ae),I=w(t,r,"platform",V),z=w(t,r,"tsconfigRaw",x0);if(o&&e.push(--legal-comments=${o}),n!==void 0&&e.push(--source-root=${n}),s!==void 0&&e.push(--sources-content=${s}),i&&(Array.isArray(i)?e.push(--target=${Array.from(i).map(by).join(",")}):e.push(--target=${by(i)})),a&&e.push(--format=${a}),c&&e.push(--global-name=${c}),I&&e.push(--platform=${I}),z&&e.push(--tsconfig-raw=${typeof z=="string"?z:JSON.stringify(z)}),f&&e.push("--minify"),m&&e.push("--minify-syntax"),h&&e.push("--minify-whitespace"),g&&e.push("--minify-identifiers"),y&&e.push(--line-limit=${y}),k&&e.push(--charset=${k}),b!==void 0&&e.push(--tree-shaking=${b}),v&&e.push("--ignore-annotations"),x)for(let j of x)e.push(--drop:${st(j,"drop")});if(E&&e.push(--drop-labels=${Array.from(E).map(j=>st(j,"dropLabels")).join(",")}),l&&e.push(--mangle-props=${l.source}),u&&e.push(--reserve-props=${u.source}),p!==void 0&&e.push(--mangle-quoted=${p}),R&&e.push(--jsx=${R}),O&&e.push(--jsx-factory=${O}),L&&e.push(--jsx-fragment=${L}),N&&e.push(--jsx-import-source=${N}),P&&e.push("--jsx-dev"),T&&e.push("--jsx-side-effects"),_)for(let j in _){if(j.indexOf("=")>=0)throw new Error(Invalid define: ${j});e.push(--define:${j}=${st(_j,"define",j)})}if(S)for(let j in S){if(j.indexOf("=")>=0)throw new Error(Invalid log override: ${j});e.push(--log-override:${j}=${st(Sj,"log override",j)})}if(A)for(let j in A){if(j.indexOf("=")>=0)throw new Error(Invalid supported: ${j});let q=A[j];if(typeof q!="boolean")throw new Error(Expected value for supported ${Ge(j)} to be a boolean, got ${typeof q} instead);e.push(--supported:${j}=${q})}if(M)for(let j of M)e.push(--pure:${st(j,"pure")});$&&e.push("--keep-names")}function E0(e,t,r,o,n){let s=[],i=[],a=Object.create(null),c=null,l=null;Oa(s,t,a,r,o),_y(s,t,a);let u=w(t,a,"sourcemap",ky),p=w(t,a,"bundle",Ae),f=w(t,a,"splitting",Ae),m=w(t,a,"preserveSymlinks",Ae),h=w(t,a,"metafile",Ae),g=w(t,a,"outfile",V),y=w(t,a,"outdir",V),x=w(t,a,"outbase",V),E=w(t,a,"tsconfig",V),k=w(t,a,"resolveExtensions",De),b=w(t,a,"nodePaths",De),v=w(t,a,"mainFields",De),R=w(t,a,"conditions",De),O=w(t,a,"external",De),L=w(t,a,"packages",V),N=w(t,a,"alias",Ht),P=w(t,a,"loader",Ht),T=w(t,a,"outExtension",Ht),_=w(t,a,"publicPath",V),S=w(t,a,"entryNames",V),A=w(t,a,"chunkNames",V),M=w(t,a,"assetNames",V),$=w(t,a,"inject",De),I=w(t,a,"banner",Ht),z=w(t,a,"footer",Ht),j=w(t,a,"entryPoints",y0),q=w(t,a,"absWorkingDir",V),K=w(t,a,"stdin",Ht),le=w(t,a,"write",Ae)??n,ee=w(t,a,"allowOverwrite",Ae),tt=w(t,a,"mangleCache",Ht);if(a.plugins=!0,Ze(t,a,in ${e}() call),u&&s.push(--sourcemap${u===!0?"":=${u}}),p&&s.push("--bundle"),ee&&s.push("--allow-overwrite"),f&&s.push("--splitting"),m&&s.push("--preserve-symlinks"),h&&s.push("--metafile"),g&&s.push(--outfile=${g}),y&&s.push(--outdir=${y}),x&&s.push(--outbase=${x}),E&&s.push(--tsconfig=${E}),L&&s.push(--packages=${L}),k){let U=[];for(let we of k){if(st(we,"resolve extension"),we.indexOf(",")>=0)throw new Error(Invalid resolve extension: ${we});U.push(we)}s.push(--resolve-extensions=${U.join(",")})}if(_&&s.push(--public-path=${_}),S&&s.push(--entry-names=${S}),A&&s.push(--chunk-names=${A}),M&&s.push(--asset-names=${M}),v){let U=[];for(let we of v){if(st(we,"main field"),we.indexOf(",")>=0)throw new Error(Invalid main field: ${we});U.push(we)}s.push(--main-fields=${U.join(",")})}if(R){let U=[];for(let we of R){if(st(we,"condition"),we.indexOf(",")>=0)throw new Error(Invalid condition: ${we});U.push(we)}s.push(--conditions=${U.join(",")})}if(O)for(let U of O)s.push(--external:${st(U,"external")});if(N)for(let U in N){if(U.indexOf("=")>=0)throw new Error(Invalid package name in alias: ${U});s.push(--alias:${U}=${st(NU,"alias",U)})}if(I)for(let U in I){if(U.indexOf("=")>=0)throw new Error(Invalid banner file type: ${U});s.push(--banner:${U}=${st(IU,"banner",U)})}if(z)for(let U in z){if(U.indexOf("=")>=0)throw new Error(Invalid footer file type: ${U});s.push(--footer:${U}=${st(zU,"footer",U)})}if($)for(let U of $)s.push(--inject:${st(U,"inject")});if(P)for(let U in P){if(U.indexOf("=")>=0)throw new Error(Invalid loader extension: ${U});s.push(--loader:${U}=${st(PU,"loader",U)})}if(T)for(let U in T){if(U.indexOf("=")>=0)throw new Error(Invalid out extension: ${U});s.push(--out-extension:${U}=${st(TU,"out extension",U)})}if(j)if(Array.isArray(j))for(let U=0,we=j.length;U<we;U++){let it=j[U];if(typeof it=="object"&&it!==null){let hr=Object.create(null),gr=w(it,hr,"in",V),or=w(it,hr,"out",V);if(Ze(it,hr,"in entry point at index "+U),gr===void 0)throw new Error('Missing property "in" for entry point at index '+U);if(or===void 0)throw new Error('Missing property "out" for entry point at index '+U);i.push([or,gr])}else i.push(["",st(it,"entry point at index "+U)])}else for(let U in j)i.push([U,st(j[U],"entry point",U)]);if(K){let U=Object.create(null),we=w(K,U,"contents",vy),it=w(K,U,"resolveDir",V),hr=w(K,U,"sourcefile",V),gr=w(K,U,"loader",V);Ze(K,U,'in "stdin" object'),hr&&s.push(--sourcefile=${hr}),gr&&s.push(--loader=${gr}),it&&(l=it),typeof we=="string"?c=Zt(we):we instanceof Uint8Array&&(c=we)}let Pe=[];if(b)for(let U of b)U+="",Pe.push(U);return{entries:i,flags:s,write:le,stdinContents:c,stdinResolveDir:l,absWorkingDir:q,nodePaths:Pe,mangleCache:Ty(tt)}}function w0(e,t,r,o){let n=[],s=Object.create(null);Oa(n,t,s,r,o),_y(n,t,s);let i=w(t,s,"sourcemap",ky),a=w(t,s,"sourcefile",V),c=w(t,s,"loader",V),l=w(t,s,"banner",V),u=w(t,s,"footer",V),p=w(t,s,"mangleCache",Ht);return Ze(t,s,in ${e}() call),i&&n.push(--sourcemap=${i===!0?"external":i}),a&&n.push(--sourcefile=${a}),c&&n.push(--loader=${c}),l&&n.push(--banner=${l}),u&&n.push(--footer=${u}),{flags:n,mangleCache:Ty(p)}}function Py(e){let t={},r={didClose:!1,reason:""},o={},n=0,s=0,i=new Uint8Array(16*1024),a=0,c=k=>{let b=a+k.length;if(b>i.length){let R=new Uint8Array(b*2);R.set(i),i=R}i.set(k,a),a+=k.length;let v=0;for(;v+4<=a;){let R=bp(i,v);if(v+4+R>a)break;v+=4,h(i.subarray(v,v+R)),v+=R}v>0&&(i.copyWithin(0,v,a),a-=v)},l=k=>{r.didClose=!0,k&&(r.reason=": "+(k.message||k));let b="The service was stopped"+r.reason;for(let v in o)o[v](b,null);o={}},u=(k,b,v)=>{if(r.didClose)return v("The service is no longer running"+r.reason,null);let R=n++;o[R]=(O,L)=>{try{v(O,L)}finally{k&&k.unref()}},k&&k.ref(),e.writeToStdin(xp({id:R,isRequest:!0,value:b}))},p=(k,b)=>{if(r.didClose)throw new Error("The service is no longer running"+r.reason);e.writeToStdin(xp({id:k,isRequest:!1,value:b}))},f=async(k,b)=>{try{if(b.command==="ping"){p(k,{});return}if(typeof b.key=="number"){let v=t[b.key];if(!v)return;let R=v[b.command];if(R){await R(k,b);return}}throw new Error("Invalid command: "+b.command)}catch(v){let R=[Do(v,e,null,void 0,"")];try{p(k,{errors:R})}catch{}}},m=!0,h=k=>{if(m){m=!1;let v=String.fromCharCode(...k);if(v!==fs)throw new Error(Cannot start service: Host version "${fs}" does not match binary version ${Ge(v)});return}let b=hy(k);if(b.isRequest)f(b.id,b.value);else{let v=o[b.id];delete o[b.id],b.value.error?v(b.value.error,{}):v(null,b.value)}};return{readFromStdout:c,afterClose:l,service:{buildOrContext:({callName:k,refs:b,options:v,isTTY:R,defaultWD:O,callback:L})=>{let N=0,P=s++,T={},_={ref(){++N===1&&b&&b.ref()},unref(){--N===0&&(delete t[P],b&&b.unref())}};t[P]=T,_.ref(),R0(k,P,u,p,_,e,T,v,R,O,(S,A)=>{try{L(S,A)}finally{_.unref()}})},transform:({callName:k,refs:b,input:v,options:R,isTTY:O,fs:L,callback:N})=>{let P=Sy(),T=_=>{try{if(typeof v!="string"&&!(v instanceof Uint8Array))throw new Error('The input to "transform" must be a string or a Uint8Array');let{flags:S,mangleCache:A}=w0(k,R,O,xy),M={command:"transform",flags:S,inputFS:_!==null,input:_!==null?Zt(_):typeof v=="string"?Zt(v):v};A&&(M.mangleCache=A),u(b,M,($,I)=>{if($)return N(new Error($),null);let z=bn(I.errors,P),j=bn(I.warnings,P),q=1,K=()=>{if(--q===0){let le={warnings:j,code:I.code,map:I.map,mangleCache:void 0,legalComments:void 0};"legalComments"in I&&(le.legalComments=I?.legalComments),I.mangleCache&&(le.mangleCache=I?.mangleCache),N(null,le)}};if(z.length>0)return N(ds("Transform failed",z,j),null);I.codeFS&&(q++,L.readFile(I.code,(le,ee)=>{le!==null?N(le,null):(I.code=ee,K())})),I.mapFS&&(q++,L.readFile(I.map,(le,ee)=>{le!==null?N(le,null):(I.map=ee,K())})),K()})}catch(S){let A=[];try{Oa(A,R,{},O,xy)}catch{}let M=Do(S,e,P,void 0,"");u(b,{command:"error",flags:A,error:M},()=>{M.detail=P.load(M.detail),N(ds("Transform failed",[M],[]),null)})}};if((typeof v=="string"||v instanceof Uint8Array)&&v.length>1024*1024){let _=T;T=()=>L.writeFile(v,_)}T(null)},formatMessages:({callName:k,refs:b,messages:v,options:R,callback:O})=>{if(!R)throw new Error(Missing second argument in ${k}() call);let L={},N=w(R,L,"kind",V),P=w(R,L,"color",Ae),T=w(R,L,"terminalWidth",$o);if(Ze(R,L,in ${k}() call),N===void 0)throw new Error(Missing "kind" in ${k}() call);if(N!=="error"&&N!=="warning")throw new Error(Expected "kind" to be "error" or "warning" in ${k}() call);let _={command:"format-msgs",messages:Nr(v,"messages",null,"",T),isWarning:N==="warning"};P!==void 0&&(_.color=P),T!==void 0&&(_.terminalWidth=T),u(b,_,(S,A)=>{if(S)return O(new Error(S),null);O(null,A.messages)})},analyzeMetafile:({callName:k,refs:b,metafile:v,options:R,callback:O})=>{R===void 0&&(R={});let L={},N=w(R,L,"color",Ae),P=w(R,L,"verbose",Ae);Ze(R,L,in ${k}() call);let T={command:"analyze-metafile",metafile:v};N!==void 0&&(T.color=N),P!==void 0&&(T.verbose=P),u(b,T,(_,S)=>{if(_)return O(new Error(_),null);O(null,S.result)})}}}}function R0(e,t,r,o,n,s,i,a,c,l,u){let p=Sy(),f=e==="context",m=(y,x)=>{let E=[];try{Oa(E,a,{},c,yy)}catch{}let k=Do(y,s,p,void 0,x);r(n,{command:"error",flags:E,error:k},()=>{k.detail=p.load(k.detail),u(ds(f?"Context failed":"Build failed",[k],[]),null)})},h;if(typeof a=="object"){let y=a.plugins;if(y!==void 0){if(!Array.isArray(y))return m(new Error('"plugins" must be an array'),"");h=y}}if(h&&h.length>0){if(s.isSync)return m(new Error("Cannot use plugins in synchronous API calls"),"");k0(t,r,o,n,s,i,a,h,p).then(y=>{if(!y.ok)return m(y.error,y.pluginName);try{g(y.requestPlugins,y.runOnEndCallbacks,y.scheduleOnDisposeCallbacks)}catch(x){m(x,"")}},y=>m(y,""));return}try{g(null,(y,x)=>x([],[]),()=>{})}catch(y){m(y,"")}function g(y,x,E){let k=s.hasFS,{entries:b,flags:v,write:R,stdinContents:O,stdinResolveDir:L,absWorkingDir:N,nodePaths:P,mangleCache:T}=E0(e,a,c,yy,k);if(R&&!s.hasFS)throw new Error('The "write" option is unavailable in this environment');let _={command:"build",key:t,entries:b,flags:v,write:R,stdinContents:O,stdinResolveDir:L,absWorkingDir:N||l,nodePaths:P,context:f};y&&(_.plugins=y),T&&(_.mangleCache=T);let S=($,I)=>{let z={errors:bn($.errors,p),warnings:bn($.warnings,p),outputFiles:void 0,metafile:void 0,mangleCache:void 0},j=z.errors.slice(),q=z.warnings.slice();$.outputFiles&&(z.outputFiles=$.outputFiles.map(T0)),$.metafile&&(z.metafile=JSON.parse($.metafile)),$.mangleCache&&(z.mangleCache=$.mangleCache),$.writeToStdout!==void 0&&console.log(xn($.writeToStdout).replace(/\n$/,"")),x(z,(K,le)=>{if(j.length>0||K.length>0){let ee=ds("Build failed",j.concat(K),q.concat(le));return I(ee,null,K,le)}I(null,z,K,le)})},A,M;f&&(i["on-end"]=($,I)=>new Promise(z=>{S(I,(j,q,K,le)=>{let ee={errors:K,warnings:le};M&&M(j,q),A=void 0,M=void 0,o($,ee),z()})})),r(n,_,($,I)=>{if($)return u(new Error($),null);if(!f)return S(I,(q,K)=>(E(),u(q,K)));if(I.errors.length>0)return u(ds("Context failed",I.errors,I.warnings),null);let z=!1,j={rebuild:()=>(A||(A=new Promise((q,K)=>{let le;M=(tt,Pe)=>{le||(le=()=>tt?K(tt):q(Pe))};let ee=()=>{r(n,{command:"rebuild",key:t},(Pe,U)=>{Pe?K(new Error(Pe)):le?le():ee()})};ee()})),A),watch:(q={})=>new Promise((K,le)=>{if(!s.hasFS)throw new Error('Cannot use the "watch" API in this environment');Ze(q,{},"in watch() call"),r(n,{command:"watch",key:t},Pe=>{Pe?le(new Error(Pe)):K(void 0)})}),serve:(q={})=>new Promise((K,le)=>{if(!s.hasFS)throw new Error('Cannot use the "serve" API in this environment');let ee={},tt=w(q,ee,"port",$o),Pe=w(q,ee,"host",V),U=w(q,ee,"servedir",V),we=w(q,ee,"keyfile",V),it=w(q,ee,"certfile",V),hr=w(q,ee,"fallback",V),gr=w(q,ee,"onRequest",Ry);Ze(q,ee,"in serve() call");let or={command:"serve",key:t,onRequest:!!gr};tt!==void 0&&(or.port=tt),Pe!==void 0&&(or.host=Pe),U!==void 0&&(or.servedir=U),we!==void 0&&(or.keyfile=we),it!==void 0&&(or.certfile=it),hr!==void 0&&(or.fallback=hr),r(n,or,(Zu,GR)=>{if(Zu)return le(new Error(Zu));gr&&(i["serve-request"]=(VR,zR)=>{gr(zR.args),o(VR,{})}),K(GR)})}),cancel:()=>new Promise(q=>{if(z)return q();r(n,{command:"cancel",key:t},()=>{q()})}),dispose:()=>new Promise(q=>{if(z)return q();z=!0,r(n,{command:"dispose",key:t},()=>{q(),E(),n.unref()})})};n.ref(),u(null,j)})}}var k0=async(e,t,r,o,n,s,i,a,c)=>{let l=[],u=[],p={},f={},m=[],h=0,g=0,y=[],x=!1;a=[...a];for(let b of a){let v={};if(typeof b!="object")throw new Error(Plugin at index ${g} must be an object);let R=w(b,v,"name",V);if(typeof R!="string"||R==="")throw new Error(Plugin at index ${g} is missing a name);try{let O=w(b,v,"setup",Ry);if(typeof O!="function")throw new Error("Plugin is missing a setup function");Ze(b,v,on plugin ${Ge(R)});let L={name:R,onStart:!1,onEnd:!1,onResolve:[],onLoad:[]};g++;let P=O({initialOptions:i,resolve:(T,_={})=>{if(!x)throw new Error('Cannot call "resolve" before plugin setup has completed');if(typeof T!="string")throw new Error("The path to resolve must be a string");let S=Object.create(null),A=w(_,S,"pluginName",V),M=w(_,S,"importer",V),$=w(_,S,"namespace",V),I=w(_,S,"resolveDir",V),z=w(_,S,"kind",V),j=w(_,S,"pluginData",Pa),q=w(_,S,"with",Ht);return Ze(_,S,"in resolve() call"),new Promise((K,le)=>{let ee={command:"resolve",path:T,key:e,pluginName:R};if(A!=null&&(ee.pluginName=A),M!=null&&(ee.importer=M),$!=null&&(ee.namespace=$),I!=null&&(ee.resolveDir=I),z!=null)ee.kind=z;else throw new Error('Must specify "kind" when calling "resolve"');j!=null&&(ee.pluginData=c.store(j)),q!=null&&(ee.with=v0(q,"with")),t(o,ee,(tt,Pe)=>{tt!==null?le(new Error(tt)):K({errors:bn(Pe.errors,c),warnings:bn(Pe.warnings,c),path:Pe.path,external:Pe.external,sideEffects:Pe.sideEffects,namespace:Pe.namespace,suffix:Pe.suffix,pluginData:c.load(Pe.pluginData)})})})},onStart(T){let _='This error came from the "onStart" callback registered here:',S=Ta(new Error(_),n,"onStart");l.push({name:R,callback:T,note:S}),L.onStart=!0},onEnd(T){let _='This error came from the "onEnd" callback registered here:',S=Ta(new Error(_),n,"onEnd");u.push({name:R,callback:T,note:S}),L.onEnd=!0},onResolve(T,_){let S='This error came from the "onResolve" callback registered here:',A=Ta(new Error(S),n,"onResolve"),M={},$=w(T,M,"filter",Sa),I=w(T,M,"namespace",V);if(Ze(T,M,in onResolve() call for plugin ${Ge(R)}),$==null)throw new Error("onResolve() call is missing a filter");let z=h++;p[z]={name:R,callback:_,note:A},L.onResolve.push({id:z,filter:$.source,namespace:I||""})},onLoad(T,_){let S='This error came from the "onLoad" callback registered here:',A=Ta(new Error(S),n,"onLoad"),M={},$=w(T,M,"filter",Sa),I=w(T,M,"namespace",V);if(Ze(T,M,in onLoad() call for plugin ${Ge(R)}),$==null)throw new Error("onLoad() call is missing a filter");let z=h++;f[z]={name:R,callback:_,note:A},L.onLoad.push({id:z,filter:$.source,namespace:I||""})},onDispose(T){m.push(T)},esbuild:n.esbuild});P&&await P,y.push(L)}catch(O){return{ok:!1,error:O,pluginName:R}}}s["on-start"]=async(b,v)=>{c.clear();let R={errors:[],warnings:[]};await Promise.all(l.map(async({name:O,callback:L,note:N})=>{try{let P=await L();if(P!=null){if(typeof P!="object")throw new Error(Expected onStart() callback in plugin ${Ge(O)} to return an object);let T={},_=w(P,T,"errors",De),S=w(P,T,"warnings",De);Ze(P,T,from onStart() callback in plugin ${Ge(O)}),_!=null&&R.errors.push(...Nr(_,"errors",c,O,void 0)),S!=null&&R.warnings.push(...Nr(S,"warnings",c,O,void 0))}}catch(P){R.errors.push(Do(P,n,c,N&&N(),O))}})),r(b,R)},s["on-resolve"]=async(b,v)=>{let R={},O="",L,N;for(let P of v.ids)try{({name:O,callback:L,note:N}=p[P]);let T=await L({path:v.path,importer:v.importer,namespace:v.namespace,resolveDir:v.resolveDir,kind:v.kind,pluginData:c.load(v.pluginData),with:v.with});if(T!=null){if(typeof T!="object")throw new Error(Expected onResolve() callback in plugin ${Ge(O)} to return an object);let _={},S=w(T,_,"pluginName",V),A=w(T,_,"path",V),M=w(T,_,"namespace",V),$=w(T,_,"suffix",V),I=w(T,_,"external",Ae),z=w(T,_,"sideEffects",Ae),j=w(T,_,"pluginData",Pa),q=w(T,_,"errors",De),K=w(T,_,"warnings",De),le=w(T,_,"watchFiles",De),ee=w(T,_,"watchDirs",De);Ze(T,_,from onResolve() callback in plugin ${Ge(O)}),R.id=P,S!=null&&(R.pluginName=S),A!=null&&(R.path=A),M!=null&&(R.namespace=M),$!=null&&(R.suffix=$),I!=null&&(R.external=I),z!=null&&(R.sideEffects=z),j!=null&&(R.pluginData=c.store(j)),q!=null&&(R.errors=Nr(q,"errors",c,O,void 0)),K!=null&&(R.warnings=Nr(K,"warnings",c,O,void 0)),le!=null&&(R.watchFiles=_a(le,"watchFiles")),ee!=null&&(R.watchDirs=_a(ee,"watchDirs"));break}}catch(T){R={id:P,errors:[Do(T,n,c,N&&N(),O)]};break}r(b,R)},s["on-load"]=async(b,v)=>{let R={},O="",L,N;for(let P of v.ids)try{({name:O,callback:L,note:N}=f[P]);let T=await L({path:v.path,namespace:v.namespace,suffix:v.suffix,pluginData:c.load(v.pluginData),with:v.with});if(T!=null){if(typeof T!="object")throw new Error(Expected onLoad() callback in plugin ${Ge(O)} to return an object);let _={},S=w(T,_,"pluginName",V),A=w(T,_,"contents",vy),M=w(T,_,"resolveDir",V),$=w(T,_,"pluginData",Pa),I=w(T,_,"loader",V),z=w(T,_,"errors",De),j=w(T,_,"warnings",De),q=w(T,_,"watchFiles",De),K=w(T,_,"watchDirs",De);Ze(T,_,from onLoad() callback in plugin ${Ge(O)}),R.id=P,S!=null&&(R.pluginName=S),A instanceof Uint8Array?R.contents=A:A!=null&&(R.contents=Zt(A)),M!=null&&(R.resolveDir=M),$!=null&&(R.pluginData=c.store($)),I!=null&&(R.loader=I),z!=null&&(R.errors=Nr(z,"errors",c,O,void 0)),j!=null&&(R.warnings=Nr(j,"warnings",c,O,void 0)),q!=null&&(R.watchFiles=_a(q,"watchFiles")),K!=null&&(R.watchDirs=_a(K,"watchDirs"));break}}catch(T){R={id:P,errors:[Do(T,n,c,N&&N(),O)]};break}r(b,R)};let E=(b,v)=>v([],[]);u.length>0&&(E=(b,v)=>{(async()=>{let R=[],O=[];for(let{name:L,callback:N,note:P}of u){let T,_;try{let S=await N(b);if(S!=null){if(typeof S!="object")throw new Error(Expected onEnd() callback in plugin ${Ge(L)} to return an object);let A={},M=w(S,A,"errors",De),$=w(S,A,"warnings",De);Ze(S,A,from onEnd() callback in plugin ${Ge(L)}),M!=null&&(T=Nr(M,"errors",c,L,void 0)),$!=null&&(_=Nr($,"warnings",c,L,void 0))}}catch(S){T=[Do(S,n,c,P&&P(),L)]}if(T){R.push(...T);try{b.errors.push(...T)}catch{}}if(_){O.push(..._);try{b.warnings.push(..._)}catch{}}}v(R,O)})()});let k=()=>{for(let b of m)setTimeout(()=>b(),0)};return x=!0,{ok:!0,requestPlugins:y,runOnEndCallbacks:E,scheduleOnDisposeCallbacks:k}};function Sy(){let e=new Map,t=0;return{clear(){e.clear()},load(r){return e.get(r)},store(r){if(r===void 0)return-1;let o=t++;return e.set(o,r),o}}}function Ta(e,t,r){let o,n=!1;return()=>{if(n)return o;n=!0;try{let s=(e.stack+"").split( );s.splice(1,1);let i=Oy(t,s,r);if(i)return o={text:e.message,location:i},o}catch{}}}function Do(e,t,r,o,n){let s="Internal error",i=null;try{s=(e&&e.message||e)+""}catch{}try{i=Oy(t,(e.stack+"").split(
),"")}catch{}return{id:"",pluginName:n,text:s,location:i,notes:o?[o]:[],detail:r?r.store(e):-1}}function Oy(e,t,r){let o=" at ";if(e.readFileSync&&!t[0].startsWith(o)&&t[1].startsWith(o))for(let n=1;n<t.length;n++){let s=t[n];if(s.startsWith(o))for(s=s.slice(o.length);;){let i=/^(?:new |async )?\S+ \((.*)\)$/.exec(s);if(i){s=i[1];continue}if(i=/^eval at \S+ \((.*)\)(?:, \S+:\d+:\d+)?$/.exec(s),i){s=i[1];continue}if(i=/^(\S+):(\d+):(\d+)$/.exec(s),i){let a;try{a=e.readFileSync(i[1],"utf8")}catch{break}let c=a.split(/\r\n|\r|\n|\u2028|\u2029/)[+i[2]-1]||"",l=+i[3]-1,u=c.slice(l,l+r.length)===r?r.length:0;return{file:i[1],namespace:"file",line:+i[2],column:Zt(c.slice(0,l)).length,length:Zt(c.slice(l,l+u)).length,lineText:c+
+t.slice(1).join(
),suggestion:""}}break}}return null}function ds(e,t,r){let o=5;e+=t.length<1?"": with ${t.length} error${t.length<2?"":"s"}:+t.slice(0,o+1).map((s,i)=>{if(i===o)return
...;if(!s.location)return
${a}:${c}:${l}: ERROR: ${u}${s.text}}).join("");let n=new Error(e);for(let[s,i]of[["errors",t],["warnings",r]])Object.defineProperty(n,s,{configurable:!0,enumerable:!0,get:()=>i,set:a=>Object.defineProperty(n,s,{configurable:!0,enumerable:!0,value:a})});return n}function bn(e,t){for(let r of e)r.detail=t.load(r.detail);return e}function wy(e,t,r){if(e==null)return null;let o={},n=w(e,o,"file",V),s=w(e,o,"namespace",V),i=w(e,o,"line",$o),a=w(e,o,"column",$o),c=w(e,o,"length",$o),l=w(e,o,"lineText",V),u=w(e,o,"suggestion",V);if(Ze(e,o,t),l){let p=l.slice(0,(a&&a>0?a:0)+(c&&c>0?c:0)+(r&&r>0?r:80));!/[\x7F-\uFFFF]/.test(p)&&!/\n/.test(l)&&(l=p)}return{file:n||"",namespace:s||"",line:i||0,column:a||0,length:c||0,lineText:l||"",suggestion:u||""}}function Nr(e,t,r,o,n){let s=[],i=0;for(let a of e){let c={},l=w(a,c,"id",V),u=w(a,c,"pluginName",V),p=w(a,c,"text",V),f=w(a,c,"location",Ey),m=w(a,c,"notes",De),h=w(a,c,"detail",Pa),g=in element ${i} of "${t}";Ze(a,c,g);let y=[];if(m)for(let x of m){let E={},k=w(x,E,"text",V),b=w(x,E,"location",Ey);Ze(x,E,g),y.push({text:k||"",location:wy(b,g,n)})}s.push({id:l||"",pluginName:u||o,text:p||"",location:wy(f,g,n),notes:y,detail:r?r.store(h):-1}),i++}return s}function _a(e,t){let r=[];for(let o of e){if(typeof o!="string")throw new Error(${Ge(t)} must be an array of strings);r.push(o)}return r}function v0(e,t){let r=Object.create(null);for(let o in e){let n=e[o];if(typeof n!="string")throw new Error(key ${Ge(o)} in object ${Ge(t)} must be a string);r[o]=n}return r}function T0({path:e,contents:t,hash:r}){let o=null;return{path:e,contents:t,hash:r,get text(){let n=this.contents;return(o===null||n!==t)&&(t=n,o=xn(n)),o}}}var Ny=fs,Na=e=>Ca().build(e),Cy=(e,t)=>Ca().transform(e,t),Ay=(e,t)=>Ca().formatMessages(e,t),My=(e,t)=>Ca().analyzeMetafile(e,t);var jo,Ly,La,Ca=()=>{if(La)return La;throw jo?new Error('You need to wait for the promise returned from "initialize" to be resolved before calling this'):new Error('You need to call "initialize" before calling this')},Aa=e=>{let t=e.wasm,r=e.worker;if(jo)throw new Error('Cannot call "initialize" more than once');return jo=_0(t,r),jo.catch(()=>{jo=void 0}),jo},_0=async(e,t)=>{let r=new Worker(t.toString(),{type:"module"}),o,n,s=new Promise((c,l)=>{o=c,n=l});r.onmessage=({data:c})=>{r.onmessage=({data:l})=>i(l),c?n(c):o()},r.postMessage(e);let{readFromStdout:i,service:a}=Py({writeToStdin(c){r.postMessage(c)},isSync:!1,hasFS:!1,esbuild:{build:Na,transform:Cy,formatMessages:Ay,analyzeMetafile:My,version:Ny,initialize:Aa}});await s,Ly=()=>{r.terminate(),jo=void 0,Ly=void 0,La=void 0},La={build:c=>new Promise((l,u)=>a.buildOrContext({callName:"build",refs:null,options:c,isTTY:!1,defaultWD:"/",callback:(p,f)=>p?u(p):l(f)})),transform:(c,l)=>new Promise((u,p)=>a.transform({callName:"transform",refs:null,input:c,options:l||{},isTTY:!1,fs:{readFile(f,m){m(new Error("Internal error"),null)},writeFile(f,m){m(null)}},callback:(f,m)=>f?p(f):u(m)})),formatMessages:(c,l)=>new Promise((u,p)=>a.formatMessages({callName:"formatMessages",refs:null,messages:c,options:l,callback:(f,m)=>f?p(f):u(m)})),analyzeMetafile:(c,l)=>new Promise((u,p)=>a.analyzeMetafile({callName:"analyzeMetafile",refs:null,metafile:typeof c=="string"?c:JSON.stringify(c),options:l,callback:(f,m)=>f?p(f):u(m)}))}};self.Deno||(self.Deno={build:{os:"linux"},errors:{AlreadyExists:Error},env:{get:()=>{}},permissions:{query:()=>Promise.resolve("denied")},cwd:()=>location.href});function gt(e){if(typeof e!="string")throw new TypeError(Path must be a string. Received ${JSON.stringify(e)})}function mr(e){return e===47||e===92}function Cr(e){return e>=97&&e<=122||e>=65&&e<=90}function Fa(e){if(e=e instanceof URL?e:new URL(e),e.protocol!=="file:")throw new TypeError("Must be a file URL.");return e}function Iy(e){e=Fa(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return e.hostname!==""&&(t=\\\\${e.hostname}${t}),t}function wp(e){gt(e);let t=e.length;if(t===0)return!1;let r=e.charCodeAt(0);return mr(r)?!0:!!(Cr(r)&&t>2&&e.charCodeAt(1)===58&&mr(e.charCodeAt(2)))}var Ua=class extends Error{constructor(t){super(t),this.name="AssertionError"}};function Da(e,t=""){if(!e)throw new Ua(t)}var $0={" ":"%09","\n":"%0A","\v":"%0B","\f":"%0C","\r":"%0D"," ":"%20"};function $a(e){return e.replaceAll(/[\s]/g,t=>$0[t]??t)}function Dy(e){if(!wp(e))throw new TypeError("Must be an absolute path.");let[,t,r]=e.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/),o=new URL("file:///");if(o.pathname=$a(r.replace(/%/g,"%25")),t!==void 0&&t!=="localhost"&&(o.hostname=t,!o.hostname))throw new TypeError("Invalid hostname.");return o}function Ar(e){return e===47}function jy(e){return e=Fa(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function kp(e){return gt(e),e.length>0&&Ar(e.charCodeAt(0))}function Hy(e){if(!kp(e))throw new TypeError("Must be an absolute path.");let t=new URL("file:///");return t.pathname=$a(e.replace(/%/g,"%25").replace(/\\/g,"%5C")),t}var J0=(()=>{let{Deno:e}=globalThis;if(typeof e?.build?.os=="string")return e.build.os;let{navigator:t}=globalThis;return t?.appVersion?.includes?.("Win")?"windows":"linux"})(),Be=J0==="windows";var En=Be?"\\":"/";function ja(e){return Be?Iy(e):jy(e)}function gs(e){return Be?Dy(e):Hy(e)}function Ba(e){return typeof e=="object"&&e!==null&&e.constructor===Object}function Ha(e){let t={},r=Object.keys(e).sort((o,n)=>n.length-o.length);for(let o of r)t[o]=e[o];return t}function Wy(e){return Ba(e)&&(e.imports!==void 0?vp(e.imports):!0)&&(e.scopes!==void 0?Tp(e.scopes):!0)}function vp(e){return Ba(e)}function Tp(e){return Ba(e)&&Object.values(e).every(t=>_p(t))}function _p(e){return Ba(e)}function Wa(e){try{return new URL(e),!0}catch{return!1}}function Vy(e,t){let r={};for(let[o,n]of Object.entries(e)){let s=Z0(o,t);if(s===null)continue;if(typeof n!="string"){console.warn("addresses need to be strings."),r[s]=null;continue}let i=Pp(n,t);if(i===null){console.warn("the address was invalid."),r[s]=null;continue}if(o.endsWith("/")&&!fr(i).endsWith("/")){console.warn("an invalid address was given for the specifier key specifierKey; since specifierKey ended in a slash, the address needs to as well."),r[s]=null;continue}r[s]=fr(i)}return Ha(r)}function fr(e){return e.href}function Q0(e,t){let r={};for(let[n,s]of Object.entries(e)){if(!_p(s))throw new TypeError("the value of the scope with prefix scopePrefix needs to be an object.");let i;try{i=new URL(n,t)}catch{console.warn("the scope prefix URL was not parseable.");continue}let a=fr(i);r[a]=Vy(s,t)}let o={};for(let n of Object.keys(r))o[n]=Ha(r[n]);return Ha(o)}function Z0(e,t){if(!e.length)return console.warn("specifier key cannot be an empty string."),null;let r=Pp(e,t);return r!==null?fr(r):e}function Pp(e,t){if(t&&(e.startsWith("/")||e.startsWith("./")||e.startsWith("../")))try{return new URL(e,t)}catch{return null}try{return new URL(e)}catch{return null}}var eP=["ftp","file","http","https","ws","wss"];function tP(e){return eP.some(t=>fr(e).startsWith(t))}function Gy(e,t,r){for(let[o,n]of Object.entries(r))if(o===e){if(n===null)throw new TypeError("resolution of specifierKey was blocked by a null entry.");if(!Wa(n))throw new TypeError("resolutionResult must be an URL.");return n}else if(o.endsWith("/")&&e.startsWith(o)&&(t===null||tP(t))){if(n===null)throw new TypeError("resolution of specifierKey was blocked by a null entry.");if(!Wa(n))throw new TypeError("resolutionResult must be an URL.");let s=e.slice(o.length);if(!n.endsWith("/"))throw new TypeError('resolutionResult does not end with "/"');try{let i=new URL(s,n);if(!Wa(i))throw new TypeError("url must be an URL.");if(!fr(i).startsWith(n))throw new TypeError("resolution of normalizedSpecifier was blocked due to it backtracking above its prefix specifierKey.");return fr(i)}catch{throw new TypeError("resolution of normalizedSpecifier was blocked since the afterPrefix portion could not be URL-parsed relative to the resolutionResult mapped to by the specifierKey prefix.")}}return null}function Sp(e,t){let r={};if(!Wy(e))throw new TypeError("the top-level value needs to be a JSON object.");let{imports:o,scopes:n}=e;if(o!==void 0){if(!vp(o))throw new TypeError('"imports" top-level key needs to be an object.');r=Vy(o,t)}let s={};if(n!==void 0){if(!Tp(n))throw new TypeError('"scopes" top-level key needs to be an object.');s=Q0(n,t)}return Object.keys(e).find(i=>i!=="imports"&&i!=="scopes")&&console.warn("an invalid top-level key was present in the import map."),{imports:r,scopes:s}}function zy(e,{imports:t={},scopes:r={}},o){let n=fr(o),s=Pp(e,o),i=s!==null?fr(s):e;for(let[c,l]of Object.entries(r))if(c===n||c.endsWith("/")&&n.startsWith(c)){let u=Gy(i,s,l);if(u!==null)return u}let a=Gy(i,s,t);if(a!==null)return a;if(s!==null)return fr(s);throw new TypeError("specifier was a bare specifier, but was not remapped to anything by importMap.")}function Ky(e,{allowTrailingComma:t=!0}={}){if(new.target)throw new TypeError("parse is not a constructor");return new Op(e,{allowTrailingComma:t}).parse()}var qy=globalThis.JSON.parse,Op=class{#i=new Set( \r
);#o=new Set([..."[]{}:,/",...this.#i]);#t;#e;#s;#a;constructor(t,r){this.#t=${t},this.#e=this.#t.length,this.#s=this.#m(),this.#a=r}parse(){let t=this.#n(),r=this.#p(t),{done:o,value:n}=this.#s.next();if(!o)throw new SyntaxError(Zr(n));return r}#n(){let{done:t,value:r}=this.#s.next();if(t)throw new SyntaxError("Unexpected end of JSONC input");return r}*#m(){for(let t=0;t<this.#e;t++)if(!this.#i.has(this.#t[t])){if(this.#t[t]==="/"&&this.#t[t+1]==="*"){t+=2;let r=!1;for(;t<this.#e;t++)if(this.#t[t]==="*"&&this.#t[t+1]==="/"){r=!0;break}if(!r)throw new SyntaxError("Unexpected end of JSONC input");t++;continue}if(this.#t[t]==="/"&&this.#t[t+1]==="/"){for(t+=2;t<this.#e&&!(this.#t[t]===
||this.#t[t]==="\r");t++);continue}switch(this.#t[t]){case"{":yield{type:"BeginObject",position:t};break;case"}":yield{type:"EndObject",position:t};break;case"[":yield{type:"BeginArray",position:t};break;case"]":yield{type:"EndArray",position:t};break;case":":yield{type:"NameSeparator",position:t};break;case",":yield{type:"ValueSeparator",position:t};break;case'"':{let r=t,o=!1;for(t++;t<this.#e&&!(this.#t[t]==='"'&&!o);t++)o=this.#t[t]==="\\"&&!o;yield{type:"String",sourceText:this.#t.substring(r,t+1),position:r};break}default:{let r=t;for(;t<this.#e&&!this.#o.has(this.#t[t]);t++);t--,yield{type:"NullOrTrueOrFalseOrNumber",sourceText:this.#t.substring(r,t+1),position:r}}}}}#p(t){switch(t.type){case"BeginObject":return this.#f();case"BeginArray":return this.#r();case"NullOrTrueOrFalseOrNumber":return this.#g(t);case"String":return this.#h(t);default:throw new SyntaxError(Zr(t))}}#f(){let t={};for(let r=!0;;r=!1){let o=this.#n();if((r||this.#a.allowTrailingComma)&&o.type==="EndObject")return t;if(o.type!=="String")throw new SyntaxError(Zr(o));let n=this.#h(o),s=this.#n();if(s.type!=="NameSeparator")throw new SyntaxError(Zr(s));let i=this.#n();Object.defineProperty(t,n,{value:this.#p(i),writable:!0,enumerable:!0,configurable:!0});let a=this.#n();if(a.type==="EndObject")return t;if(a.type!=="ValueSeparator")throw new SyntaxError(Zr(a))}}#r(){let t=[];for(let r=!0;;r=!1){let o=this.#n();if((r||this.#a.allowTrailingComma)&&o.type==="EndArray")return t;t.push(this.#p(o));let n=this.#n();if(n.type==="EndArray")return t;if(n.type!=="ValueSeparator")throw new SyntaxError(Zr(n))}}#h(t){let r;try{r=qy(t.sourceText)}catch{throw new SyntaxError(Zr(t))}return Da(typeof r=="string"),r}#g(t){if(t.sourceText==="null")return null;if(t.sourceText==="true")return!0;if(t.sourceText==="false")return!1;let r;try{r=qy(t.sourceText)}catch{throw new SyntaxError(Zr(t))}return Da(typeof r=="number"),r}};function Zr({type:e,sourceText:t,position:r}){let o="";switch(e){case"BeginObject":o="{";break;case"EndObject":o="}";break;case"BeginArray":o="[";break;case"EndArray":o="]";break;case"NameSeparator":o=":";break;case"ValueSeparator":o=",";break;case"NullOrTrueOrFalseOrNumber":case"String":o=30<t.length?${t.slice(0,30)}...:t;break;default:throw new Error("unreachable")}returnUnexpected token ${o} in JSONC at position ${r}}function Va(e){if(e.protocol==="file:")return{path:ja(e),namespace:"file"};let t=e.protocol.slice(0,-1);return{path:e.href.slice(t.length+1),namespace:t}}async function Lp(e){let t=await Deno.readTextFile(e),r=Ky(t);if(typeof r!="object"||r===null||Array.isArray(r))throw new Error(Deno config at ${e} must be an object);if("imports"in r&&(typeof r.imports!="object"||r.imports===null||Array.isArray(r.imports)))throw new Error(Deno config at ${e} has invalid "imports" key);if("scopes"in r&&(typeof r.scopes!="object"||r.scopes===null||Array.isArray(r.scopes)))throw new Error(Deno config at ${e} has invalid "scopes" key);if("lock"in r&&typeof r.lock!="boolean"&&typeof r.lock!="string")throw new Error(Deno config at ${e} has invalid "lock" key);if("importMap"in r&&typeof r.importMap!="string")throw new Error(Deno config at ${e} has invalid "importMap" key);return r}function Xy(e){if(e.imports!==void 0){let t=[];for(let[r,o]of Object.entries(e.imports))if(t.push([r,o]),!r.endsWith("/")&&o&&(o.startsWith("jsr:")||o.startsWith("npm:"))&&!e.imports[r+"/"]){let n=r+"/",s=o.slice(0,4)+"/"+o.slice(o[4]==="/"?5:4)+"/";t.push([n,s])}e.imports=Object.fromEntries(t)}}var oP=${En}node_modules${En},nP=${En}node_modules;function Ga(e){return e.includes(oP)||e.endsWith(nP)}function Np(e){return(e.namespace===""||e.namespace==="file")&&(Ga(e.resolveDir)||Ga(e.path)||Ga(e.importer))}function Cp(e={}){return{name:"deno-resolver",setup(t){let r=null,o=(t.initialOptions.external??[]).map(n=>new RegExp("^"+n.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*")+"$"));t.onStart(async function(){let s;if(e.importMapURL===void 0&&e.configPath!==void 0){let i=await Lp(e.configPath);if(i.imports!==void 0||i.scopes!==void 0){let a={imports:i.imports,scopes:i.scopes};Xy(a),r=Sp(a,gs(e.configPath))}else i.importMap!==void 0&&(s=new URL(i.importMap,gs(e.configPath)).href)}else e.importMapURL!==void 0&&(s=e.importMapURL);if(s){let i=await fetch(s),a=await i.json();r=Sp(a,new URL(i.url))}}),t.onResolve({filter:/.*/},async function(s){if(Np(s))return;let i;if(s.importer!==""){if(s.namespace==="")throw new Error("[assert] namespace is empty");i=new URL(${s.namespace}:${s.importer})}else if(s.resolveDir!=="")i=new URL(${gs(s.resolveDir).href}/);else return;let a;if(r!==null){let p=zy(s.path,r,new URL(i));a=new URL(p)}else a=new URL(s.path,i);for(let p of o)if(p.test(a.href))return{path:a.href,external:!0};let{path:c,namespace:l}=Va(a);return await t.resolve(c,{namespace:l,kind:s.kind})})}}}var bye=new TextEncoder;var sP=[],iP=[],Ap="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";for(let e=0,t=Ap.length;e<t;++e)sP[e]=Ap[e],iP[Ap.charCodeAt(e)]=e;var jye=Deno.env.get("DENO_REGISTRY_URL")??"https://jsr.io";var dP=await Deno.permissions.query({name:"run"}).then(e=>e.state!=="granted")?"portable":"native";var Yy=Cp;var Jy=" must not return ",hP="transformer",gP="recoverer",yP="defaultValue",wn=hP+Jy,Mr="called with ",Rn=yP+" must not be ",kn=gP+Jy;var za="null or undefined",vn=wn+za,xP=Mr+za,Mp=Rn+za,qa=kn+za;function er(e){return e!=null}var bP="Ok",Qy="Err",Zy=Mr+Qy,ex=Mr+bP,EP="Carrying E in "+Qy+" instead of throwing it directly. See .cause",Ip="an instance of Error of the current realm.",Ixe="The thrown value is not "+Ip,Fxe="The contained E should be "+Ip,wP="This .cause is not "+Ip;function et(e){return e.ok}function Et(e){return{ok:!0,val:e,err:null}}function kt(e){return!e.ok}function Nt(e){return{ok:!1,val:null,err:e}}function Bo(e){return tx(e,Zy)}function Tn(e){return rx(e,ex)}function tx(e,t){if(kt(e))throw new TypeError(t);return e.val}function rx(e,t){if(et(e))throw new TypeError(t);return e.err}function Fp(e,t){if(er(e))return Et(e);let r=t();return Nt(r)}var ox=e=>!!(RP.includes(e.hostname)||e.hostname.endsWith(".openai.azure.com")),RP=["i.gyazo.com","t.gyazo.com","scrapbox.io","api.openai.com","*.openai.azure.com","maps.googleapis.com","upload.gyazo.com","storage.googleapis.com","sentry.io"];function to(e){if(typeof e!="string")throw new TypeError(Path must be a string, received "${JSON.stringify(e)}")}function Ho(e){return e===47}function nx(e){to(e);let t=-1,r=0,o=-1,n=!0,s=0;for(let i=e.length-1;i>=0;--i){let a=e.charCodeAt(i);if(Ho(a)){if(!n){r=i+1;break}continue}o===-1&&(n=!1,o=i+1),a===46?t===-1?t=i:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||o===-1||s===0||s===1&&t===o-1&&t===r+1?"":e.slice(t,o)}function sx(e,t){if(t.length>=e.length)return e;let r=e.length-t.length;for(let o=t.length-1;o>=0;--o)if(e.charCodeAt(r+o)!==t.charCodeAt(o))return e;return e.slice(0,-t.length)}function ix(e,t,r=0){let o=!1,n=e.length;for(let s=e.length-1;s>=r;--s)if(t(e.charCodeAt(s))){if(o){r=s+1;break}}else o||(o=!0,n=s+1);return e.slice(r,n)}function ax(e,t){if(to(e),e.length===0)return e;if(typeof t!="string")throw new TypeError(Suffix must be a string, received "${JSON.stringify(t)}")}function cx(e,t){if(e.length<=1)return e;let r=e.length;for(let o=e.length-1;o>0&&t(e.charCodeAt(o));o--)r=o;return e.slice(0,r)}function lx(e,t=""){ax(e,t);let r=ix(e,Ho),o=cx(r,Ho);return t?sx(o,t):o}var Ka=globalThis.Deno?.build.os==="windows"||globalThis.navigator?.platform?.startsWith("Win")||globalThis.process?.platform?.startsWith("win")||!1;function Xa(e){if(e=e instanceof URL?e:new URL(e),e.protocol!=="file:")throw new TypeError(URL must be a file URL: received "${e.protocol}");return e}function px(e){return e=Xa(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function ux(e){e=Xa(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return e.hostname!==""&&(t=\\\\${e.hostname}${t}),t}function mx(e){return Ka?ux(e):px(e)}var vP={" ":"%09","\n":"%0A","\v":"%0B","\f":"%0C","\r":"%0D"," ":"%20"};function Ya(e){return e.replaceAll(/[\s]/g,t=>vP[t]??t)}function fx(e){return to(e),e.length>0&&Ho(e.charCodeAt(0))}function dx(e){if(!fx(e))throw new TypeError(Path must be absolute: received "${e}");let t=new URL("file:///");return t.pathname=Ya(e.replace(/%/g,"%25").replace(/\\/g,"%5C")),t}function Dp(e){return e===47||e===92}function hx(e){return e>=97&&e<=122||e>=65&&e<=90}function gx(e){to(e);let t=e.length;if(t===0)return!1;let r=e.charCodeAt(0);return Dp(r)?!0:!!(hx(r)&&t>2&&e.charCodeAt(1)===58&&Dp(e.charCodeAt(2)))}function yx(e){if(!gx(e))throw new TypeError(Path must be absolute: received "${e}");let[,t,r]=e.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/),o=new URL("file:///");if(o.pathname=Ya(r.replace(/%/g,"%25")),t!==void 0&&t!=="localhost"&&(o.hostname=t,!o.hostname))throw new TypeError(Invalid hostname: "${o.hostname}");return o}function xx(e){return Ka?yx(e):dx(e)}var bx=e=>{if(e.protocol==="file:")return{path:mx(e),namespace:"file"};let t=e.protocol.slice(0,-1);return{path:e.href.slice(t.length+1),namespace:t}},$p=e=>e.namespace==="file"?xx(e.path):new URL(${e.namespace}:${e.path});var Ex=(e,t)=>{let r=Fp(NP(e),()=>({name:"NotFoundError",message:"Source map URL is not found"}));if(H(r))return r;let{url:o,start:n,end:s}=W(r);return URL.canParse(o,t)?ce({url:new URL(o,t),start:n,end:s}):Q({name:"InvalidURLError",message:Invalid URL: ${o}})},NP=e=>{for(let t of e.matchAll(/\/([*/])[#@] *sourceMappingURL=/g)){let r=t.index+t[0].length,o=e.length,n=r;for(;n<o&&e.charCodeAt(n)>32;)n++;if(n!==r&&(t[1]==="/"||e.indexOf("*/",n)>0))return{url:e.slice(r,n),start:r,end:n}}};var CP=["base64","binary","copy","css","dataurl","default","empty","file","js","json","jsx","local-css","text","ts","tsx"],wx=e=>CP.includes(e),Rx=e=>/^js|^ts|css$/.test(e),kx=e=>{let t=e.url,r=lx(t);if(wx(r))return r;if(r==="mjs")return"js";let o=new URL(t);o.search="",o.hash="";let n=nx(o.href).slice(1);if(wx(n))return n;if(n==="mjs")return"js";let i=(e.headers.get("Content-Type")??"text/plain").split(";")[0]?.trim?.()??"text/plain";return AP(i)},AP=e=>{let t=e.split("/")[1]??"plain";if(/(?:^plain$|^xml|^svg|^x?html)/.test(t))return"text";if(t.startsWith("json"))return"json";switch(t){case"javascript":return"js";case"typescript":return"ts";case"css":return"css";default:return"text"}};function Ja(e,t){if(isNaN(e)||isNaN(t))throw new Error("Cannot compare against non-numbers");return e===t?0:e<t?-1:1}function _x(e=[],t=[]){return e.length&&!t.length?-1:!e.length&&t.length?1:0}function Bp(e=[],t=[]){let r=Math.max(e.length,t.length);for(let o=0;o<r;o++){let n=e[o],s=t[o];if(n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(typeof n=="string"&&typeof s=="number")return 1;if(typeof n=="number"&&typeof s=="string"||n<s)return-1;if(n>s)return 1}return 0}var _n="0|[1-9]\\d*",MP="\\d*[a-zA-Z-][a-zA-Z0-9-]*",IP=(?<major>${_n})\\.(?<minor>${_n})\\.(?<patch>${_n}),vx=(?:${_n}|${MP}),Px=(?:-(?<prerelease>${vx}(?:\\.${vx})*)),Tx="[0-9A-Za-z-]+",Sx=(?:\\+(?<buildmetadata>${Tx}(?:\\.${Tx})*)),Ox=v?${IP}${Px}?${Sx}?,Lx=new RegExp(^${Ox}$),Nx="(?:<|>)?=?",FP="x|X|\\*",jp=${_n}|${FP},Qa=v=\\s*(?<major>${jp})(?:\\.(?<minor>${jp})(?:\\.(?<patch>${jp})${Px}?${Sx}?)?)?,Cx=new RegExp(^(?<operator>~>?|\\^|${Nx})\\s*${Qa}$),Ax=new RegExp(^(?<operator>${Nx})\\s*(${Ox})$|^$);function Hp(e){return typeof e=="number"&&!Number.isNaN(e)&&(!Number.isFinite(e)||0<=e&&e<=Number.MAX_SAFE_INTEGER)}var Wp=256;var UP=new RegExp(^${_n}$);function Ct(e){return e.split(".").filter(Boolean).map(t=>{if(UP.test(t)){let r=Number(t);if(Hp(r))return r}return t})}function dr(e){return e.split(".").filter(Boolean)}function ro(e,t){let r=Number(e);if(!Hp(r))throw new TypeError(t);return r}function Wo(e){return Number.isNaN(e.major)&&Number.isNaN(e.minor)&&Number.isNaN(e.patch)&&(e.prerelease===void 0||e.prerelease.length===0)&&(e.build===void 0||e.build.length===0)}function Wt(e,t){return e===t?0:Ja(e.major,t.major)||Ja(e.minor,t.minor)||Ja(e.patch,t.patch)||_x(e.prerelease,t.prerelease)||Bp(e.prerelease,t.prerelease)}function Gp(e){return e.toFixed(0)}function Go(e){let t=Gp(e.major),r=Gp(e.minor),o=Gp(e.patch),n=e.prerelease?.join(".")??"",s=e.build?.join(".")??"";return[[${t}.${r}.${o},n].filter(c=>c).join("-"),s].filter(c=>c).join("+")}function DP(e,t){if(Wo(t))return!0;let r=Wt(e,t);switch(t.operator){case"=":case void 0:return r===0;case"!=":return r!==0;case">":return r>0;case"<":return r<0;case">=":return r>=0;case"<=":return r<=0}}function Za(e,t){for(let r of t)if(!DP(e,r))return!1;if(e.prerelease&&e.prerelease.length>0){for(let r of t){if(Wo(r))continue;let{major:o,minor:n,patch:s,prerelease:i}=r;if(i&&i.length>0&&e.major===o&&e.minor===n&&e.patch===s)return!0}return!1}return!0}function ec(e,t){return t.some(r=>Za(e,r))}var tc={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},Pn={operator:void 0,...tc};function Mx(e,t){return Wt(e,t)>0}function ys(e,t){let r;for(let o of e)ec(o,t)&&(r=r&&Mx(r,o)?r:o);return r}function $P(e){let r=e.match(Ax)?.groups;if(!r)return null;let{operator:o,prerelease:n,buildmetadata:s}=r,i=r.major?{major:ro(r.major,Cannot parse comparator ${e}: invalid major version),minor:ro(r.minor,Cannot parse comparator ${e}: invalid minor version),patch:ro(r.patch,Cannot parse comparator ${e}: invalid patch version),prerelease:n?Ct(n):[],build:s?dr(s):[]}:tc;return{operator:o||void 0,...i}}function _e(e){return!e||e.toLowerCase()==="x"||e==="*"}function jP(e){if(!_e(e.major))return _e(e.minor)?{operator:">=",major:+e.major,minor:0,patch:0,prerelease:[],build:[]}:_e(e.patch)?{operator:">=",major:+e.major,minor:+e.minor,patch:0,prerelease:[],build:[]}:{operator:">=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:e.prerelease?Ct(e.prerelease):[],build:[]}}function BP(e){if(!_e(e.major))return _e(e.minor)?{operator:"<",major:+e.major+1,minor:0,patch:0,prerelease:[],build:[]}:_e(e.patch)?{operator:"<",major:+e.major,minor:+e.minor+1,patch:0,prerelease:[],build:[]}:e.prerelease?{operator:"<=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:Ct(e.prerelease),build:[]}:{operator:"<=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:[],build:[]}}function HP(e){let t=e.match(new RegExp(^${Qa})),r=t?.groups;if(!r)return null;let o=t[0].length,n=e.slice(o).match(/^\s+-\s+/);if(!n)return null;let s=n[0].length,a=e.slice(o+s).match(new RegExp(^${Qa}\\s*$))?.groups;if(!a)return null;let c=jP(r),l=BP(a);return[c,l].filter(Boolean)}function WP(e){let t=_e(e.major),r=_e(e.minor),o=_e(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[Pn];if(r)return[{operator:">=",major:n,minor:0,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];if(o)return n===0?[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n,minor:s+1,patch:0}]:[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];let a=Ct(e.prerelease??"");return n===0?s===0?[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n,minor:s,patch:i+1}]:[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n,minor:s+1,patch:0}]:[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n+1,minor:0,patch:0}]}function GP(e){let t=_e(e.major),r=_e(e.minor),o=_e(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[Pn];if(r)return[{operator:">=",major:n,minor:0,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n,minor:s+1,patch:0}];let a=Ct(e.prerelease??"");return[{operator:">=",major:n,minor:s,patch:i,prerelease:a},{operator:"<",major:n,minor:s+1,patch:0}]}function VP(e){let t=_e(e.major),r=_e(e.minor),o=_e(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return o?[{operator:"<",major:n,minor:0,patch:0}]:[{operator:"<",major:n,minor:0,patch:0}];if(o)return[{operator:"<",major:n,minor:s,patch:0}];let a=Ct(e.prerelease??""),c=dr(e.build??"");return[{operator:"<",major:n,minor:s,patch:i,prerelease:a,build:c}]}function zP(e){let t=_e(e.minor),r=_e(e.patch),o=+e.major,n=+e.minor,s=+e.patch;if(t)return r?[{operator:"<",major:o+1,minor:0,patch:0}]:[{operator:"<",major:o,minor:n+1,patch:0}];if(r)return[{operator:"<",major:o,minor:n+1,patch:0}];let i=Ct(e.prerelease??""),a=dr(e.build??"");return[{operator:"<=",major:o,minor:n,patch:s,prerelease:i,build:a}]}function qP(e){let t=_e(e.major),r=_e(e.minor),o=_e(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return[{operator:">=",major:n+1,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s+1,patch:0}];let a=Ct(e.prerelease??""),c=dr(e.build??"");return[{operator:">",major:n,minor:s,patch:i,prerelease:a,build:c}]}function KP(e){let t=_e(e.major),r=_e(e.minor),o=_e(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[Pn];if(r)return o?[{operator:">=",major:n,minor:0,patch:0}]:[{operator:">=",major:n,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s,patch:0}];let a=Ct(e.prerelease??""),c=dr(e.build??"");return[{operator:">=",major:n,minor:s,patch:i,prerelease:a,build:c}]}function XP(e){let t=_e(e.major),r=_e(e.minor),o=_e(e.patch),n=+e.major,s=+e.minor,i=+e.patch;if(t)return[Pn];if(r)return[{operator:">=",major:n,minor:0,patch:0},{operator:"<",major:n+1,minor:0,patch:0}];if(o)return[{operator:">=",major:n,minor:s,patch:0},{operator:"<",major:n,minor:s+1,patch:0}];let a=Ct(e.prerelease??""),c=dr(e.build??"");return[{operator:void 0,major:n,minor:s,patch:i,prerelease:a,build:c}]}function YP(e){let t=e.match(Cx)?.groups;if(!t)return $P(e);switch(t.operator){case"^":return WP(t);case"~":case"~>":return GP(t);case"<":return VP(t);case"<=":return zP(t);case">":return qP(t);case">=":return KP(t);case"=":case"":return XP(t);default:throw new Error(Cannot parse version range: '${t.operator}' is not a valid operator)}}function JP(e){return e.split(/\s+/).flatMap(YP)}function Ix(e){let t=e.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map(r=>HP(r)||JP(r));if(t.some(r=>r.includes(null)))throw new TypeError(Cannot parse version range: range "${e}" is invalid);return t}function Vp(e){if(typeof e!="string")throw new TypeError(Cannot parse version as version must be a string: received ${typeof e});if(e.length>Wp)throw new TypeError(Cannot parse version as version length is too long: length is ${e.length}, max length is ${Wp});e=e.trim();let t=e.match(Lx)?.groups;if(!t)throw new TypeError(Cannot parse version: ${e});let r=ro(t.major,Cannot parse version ${e}: invalid major version),o=ro(t.minor,Cannot parse version ${e}: invalid minor version),n=ro(t.patch,Cannot parse version ${e}: invalid patch version),s=t.prerelease?Ct(t.prerelease):[],i=t.buildmetadata?dr(t.buildmetadata):[];return{major:r,minor:o,patch:n,prerelease:s,build:i}}function zp(e){try{return Ix(e)}catch{return}}function qp(e){try{return Vp(e)}catch{return}}var xs={operator:void 0,major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]};var oo=async e=>{try{let t=await fetch(e);return t.ok?ce([t,!1]):Q({name:"HTTPError",message:${t.status} ${t.statusText},response:t})}catch(t){if(t instanceof TypeError)return Q({name:"NetworkError",message:t.message,request:e});if(t instanceof DOMException)return Q({name:"AbortError",message:t.message,request:e});throw t}};var Kp="https://jsr.io",Fx=async(e,t)=>{let r=await(t?.fetch??oo)(new Request(${t?.endpoint??Kp}/${e}/meta.json),t?.cacheFirst);return Tt(r,([o])=>o.json())};var Ux=async(e,t,r)=>{let o=await(r?.fetch??oo)(new Request(${r?.endpoint??Kp}/${e}/${t}_meta.json),r?.cacheFirst);return Tt(o,([n])=>n.json())};var Dx=async(e,t)=>{let r=await(t?.fetch??oo)(new Request(${t?.endpoint??"https://registry.npmjs.org"}/${e}),t?.cacheFirst);return Tt(r,([o])=>o.json())};var Bx=(e,t)=>({name:"InvalidPackageVersionError",message:No version of ${e.name} satisfies "${e.tag??"*"}" (available: ${t.slice(0,10).join(", ")}${t.length>10?, ... (${t.length-10} more versions):""}),packageName:e.name,range:e.range,tag:e.tag,entryPoint:e.entryPoint,availableVersions:t}),rc=(e,t)=>({name:"InvalidEntryPointError",message:${e.entryPoint} is not a valid entry point for ${e.name}@${e.tag??"*"} (available: ${t.join(", ")}),packageName:e.name,range:e.range,tag:e.tag,entryPoint:e.entryPoint,availableEntryPoints:t}),Hx=async(e,t)=>{if(t?.resolvedVersions){let c=new Map(t.resolvedVersions.get(e.name)??[]),l=ys([...c.keys()],e.range);if(l){let u=c.get(l)??bs,p=u[e.entryPoint];return typeof p!="string"&&console.log(p),p?ce($x(e.name,Go(l),p)):Q(rc(e,Object.keys(u)))}}let r=await Dx(e.name,t);if(H(r))return r;let o=W(r),n=new Map(Object.entries(o.versions).flatMap(([c,{exports:l}])=>{let u=qp(c);return u?[[u,l??bs]]:[]})),s=ys([...n.keys()],e.range);if(!s)return Q(Bx(e,Object.keys(o.versions)));let i={...bs};for(let c of Object.keys(n.get(s)??bs))i[c]=c;let a=i[e.entryPoint];return a?(t?.resolvedVersions?.set(e.name,[...t.resolvedVersions.get(e.name)??[],[s,i]]),ce($x(e.name,Go(s),a))):Q(rc(e,Object.keys(i)))},$x=(e,t,r)=>new URL(r,https://esm.sh/${e}@${t}/),Wx=async(e,t)=>{if(t?.resolvedVersions){let a=new Map(t.resolvedVersions.get(e.name)??[]),c=ys([...a.keys()],e.range);if(c){let l=a.get(c)??bs,u=l[e.entryPoint];return u?ce(jx(e.name,Go(c),u)):Q(rc(e,Object.keys(l)))}}let r=await QP(e,t);if(H(r))return r;let o=W(r),n=await Ux(e.name,Go(o),t);if(H(n))return n;let s=W(n).exports,i=s[e.entryPoint];return i?(t?.resolvedVersions?.set(e.name,[...t.resolvedVersions.get(e.name)??[],[o,s]]),ce(jx(e.name,Go(o),i))):Q(rc(e,Object.keys(W(n).exports)))},jx=(e,t,r)=>new URL(r,https://jsr.io/${e}/${t}/),QP=async(e,t)=>{let r=await Fx(e.name,t);if(H(r))return r;let o=W(r),n=Object.keys(o.versions).flatMap(i=>{let a=qp(i);return a?[a]:[]}),s=ys(n,e.range);return s?ce(s):Q(Bx(e,Object.keys(o.versions)))},bs={".":"./"};var ZP=e=>({name:"OnlyScopeProvidedError",specifier:e}),Gx=e=>({name:"PackageNotFoundError",specifier:e}),Vx=e=>{if(e.protocol!=="npm:")return Q({name:"NotNpmProtocolError",specifier:e});let t=e.pathname,r=t[0]==="/"?1:0,o,n;if(t[r]==="@"){let p=t.indexOf("/",r);if(p===-1)return Q(ZP(e));o=t.indexOf("/",p+1),n=t.indexOf("@",p+1)}else o=t.indexOf("/",r),n=t.indexOf("@",r);if(o===-1&&(o=t.length),n===-1&&(n=t.length),n=Math.min(n,o),r===n)return Q(Gx(e));let s=t.slice(r,n),i=decodeURIComponent(t.slice(n+1,o)),a=i?zp(i)??[[xs]]:[[xs]],c=t.slice(o+1),l=c?./${c}:".",u={name:s,range:a,entryPoint:l};return i&&(u.tag=i),ce(u)},zx=e=>{if(e.protocol!=="jsr:")return Q({name:"NotJsrProtocolError",specifier:e});let t=e.pathname,r=t[0]==="/"?1:0;if(t[r]!=="@")return Q({name:"ScopeNotFoundError",specifier:e});let o=t.indexOf("/",r);if(o===-1)return Q(Gx(e));let n=t.indexOf("/",o+1),s=t.indexOf("@",o+1);n===-1&&(n=t.length),s===-1&&(s=t.length),s=Math.min(s,n);let i=t.slice(r,s),a=decodeURIComponent(t.slice(s+1,n)),c=a?zp(a)??[[xs]]:[[xs]],l=t.slice(n+1),u=l?./${l}:".",p={name:i,range:c,entryPoint:u};return a&&(p.tag=a),ce(p)};var qx=e=>new Promise((t,r)=>{let o=new FileReader;o.addEventListener("load",()=>{let n=o.result,s=n.indexOf(";");n.startsWith("; charset=utf-8",s)?t(${n.slice(0,s)}${n.slice(s+15)}):t(n)}),o.addEventListener("error",()=>r(o.error)),o.readAsDataURL(e)});var Yx=e=>{let t=new Map,r=async o=>{let n=o.namespace==="npm",s=(n?Vx:zx)($p(o));if(H(s)){let a=re(s);return{errors:[{text:a.name,detail:a}]}}let i=await(n?Hx:Wx)(W(s),{resolvedVersions:t,...e});if(H(i)){let a=re(i);return{errors:[{text:${a.name} ${a.message},detail:a}]}}return bx(W(i))};return{name:"remote-loader",setup({onLoad:o,onResolve:n,initialOptions:s}){for(let i of[...Kx,...Xx])n({filter:/.*/,namespace:i.slice(0,-1)},eS);n({filter:/.*/,namespace:"npm"},r),n({filter:/.*/,namespace:"jsr"},r);for(let i of Kx)o({filter:/.*/,namespace:i.slice(0,-1)},a=>tS($p(a),{...e,sourcemap:s.sourcemap!==!1&&s.sourcemap!==void 0}));for(let i of Xx)o({filter:/.*/,namespace:i.slice(0,-1)},()=>{throw new Error(${i} import is not supported yet.)})}}},eS=e=>({path:e.path,namespace:e.namespace}),Kx=["http:","https:","data:"],Xx=["node:"],tS=async(e,t)=>{let r=t.reload?t.reload===!0?!1:!t.reload.some(l=>l.test(e)):!0,o=t.fetch??oo,n=await o(new Request(e),r);if(H(n))return{errors:[{text:${re(n).message} Failed to fetch ${e},detail:re(n)}]};let[s,i]=W(n),a=kx(s);t.onProgress?.({path:e,done:s.clone().blob().then(l=>({size:l.size,loader:a,isCache:i}))});let c=await s.blob();if(t.sourcemap&&Rx(a)){let l=await c.text(),u=Ex(l,e);if(Ne(u)){let{url:p,start:f,end:m}=W(u);if(p.protocol!=="data:"){let h=await o(new Request(p),r);if(H(h))return{contents:l,loader:a,warnings:[{text:${re(h).message} Failed to fetch the source map URL,notes:[{text:Source map URL: ${p}},{text:Original URL: ${e}}],detail:re(h)}]};let g=await W(h)[0].blob().then(qx);return{contents:l.slice(0,f)+g+l.slice(m),loader:a}}}}return{contents:new Uint8Array(await c.arrayBuffer()),loader:a}};var Rs=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(e,t,r,o,n,s){this.type=e,this.name=t,this.prefix=r,this.value=o,this.suffix=n,this.modifier=s}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},rS=/[$_\p{ID_Start}]/u,oS=/[$_\u200C\u200D\p{ID_Continue}]/u,Yp=".*";function nS(e,t){return(t?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e)}function Zx(e,t=!1){let r=[],o=0;for(;o<e.length;){let n=e[o],s=function(i){if(!t)throw new TypeError(i);r.push({type:"INVALID_CHAR",index:o,value:e[o++]})};if(n==="*"){r.push({type:"ASTERISK",index:o,value:e[o++]});continue}if(n==="+"||n==="?"){r.push({type:"OTHER_MODIFIER",index:o,value:e[o++]});continue}if(n==="\\"){r.push({type:"ESCAPED_CHAR",index:o++,value:e[o++]});continue}if(n==="{"){r.push({type:"OPEN",index:o,value:e[o++]});continue}if(n==="}"){r.push({type:"CLOSE",index:o,value:e[o++]});continue}if(n===":"){let i="",a=o+1;for(;a<e.length;){let c=e.substr(a,1);if(a===o+1&&rS.test(c)||a!==o+1&&oS.test(c)){i+=e[a++];continue}break}if(!i){s(Missing parameter name at ${o});continue}r.push({type:"NAME",index:o,value:i}),o=a;continue}if(n==="("){let i=1,a="",c=o+1,l=!1;if(e[c]==="?"){s(Pattern cannot start with "?" at ${c});continue}for(;c<e.length;){if(!nS(e[c],!1)){s(Invalid character '${ec}' at ${c}.),l=!0;break}if(e[c]==="\\"){a+=e[c++]+e[c++];continue}if(e[c]===")"){if(i--,i===0){c++;break}}else if(e[c]==="("&&(i++,e[c+1]!=="?")){s(Capturing groups are not allowed at ${c}),l=!0;break}a+=e[c++]}if(l)continue;if(i){s(Unbalanced pattern at ${o});continue}if(!a){s(Missing pattern at ${o});continue}r.push({type:"REGEX",index:o,value:a}),o=c;continue}r.push({type:"CHAR",index:o,value:e[o++]})}return r.push({type:"END",index:o,value:""}),r}function eb(e,t={}){let r=Zx(e);t.delimiter??="/#?",t.prefixes??="./";let o=^${Gt(t.delimiter)}+?,n=[],s=0,i=0,a="",c=new Set,l=k=>{if(i<r.length&&r[i].type===k)return r[i++].value},u=()=>l("OTHER_MODIFIER")??l("ASTERISK"),p=k=>{let b=l(k);if(b!==void 0)return b;let{type:v,index:R}=r[i];throw new TypeError(Unexpected ${v} at ${R}, expected ${k})},f=()=>{let k="",b;for(;b=l("CHAR")??l("ESCAPED_CHAR");)k+=b;return k},m=k=>k,h=t.encodePart||m,g="",y=k=>{g+=k},x=()=>{g.length&&(n.push(new Rs(3,"","",h(g),"",3)),g="")},E=(k,b,v,R,O)=>{let L=3;switch(O){case"?":L=1;break;case"*":L=0;break;case"+":L=2;break}if(!b&&!v&&L===3){y(k);return}if(x(),!b&&!v){if(!k)return;n.push(new Rs(3,"","",h(k),"",L));return}let N;v?v==="*"?N=Yp:N=v:N=o;let P=2;N===o?(P=1,N=""):N===Yp&&(P=0,N="");let T;if(b?T=b:v&&(T=s++),c.has(T))throw new TypeError(Duplicate name '${T}'.);c.add(T),n.push(new Rs(P,T,h(k),N,h(R),L))};for(;i<r.length;){let k=l("CHAR"),b=l("NAME"),v=l("REGEX");if(!b&&!v&&(v=l("ASTERISK")),b||v){let O=k??"";t.prefixes.indexOf(O)===-1&&(y(O),O=""),x();let L=u();E(O,b,v,"",L);continue}let R=k??l("ESCAPED_CHAR");if(R){y(R);continue}if(l("OPEN")){let O=f(),L=l("NAME"),N=l("REGEX");!L&&!N&&(N=l("ASTERISK"));let P=f();p("CLOSE");let T=u();E(O,L,N,P,T);continue}x(),p("END")}return n}function Gt(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function Jx(e){return e&&e.ignoreCase?"ui":"u"}function sS(e,t,r){return tb(eb(e,r),t,r)}function Sn(e){switch(e){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}function tb(e,t,r={}){r.delimiter??="/#?",r.prefixes??="./",r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith="";let o=r.start?"^":"";for(let a of e){if(a.type===3){a.modifier===3?o+=Gt(a.value):o+=(?:${Gt(a.value)})${Sn(a.modifier)};continue}t&&t.push(a.name);let c=^${Gt(r.delimiter)}+?,l=a.value;if(a.type===1?l=c:a.type===0&&(l=Yp),!a.prefix.length&&!a.suffix.length){a.modifier===3||a.modifier===1?o+=(${l})${Sn(a.modifier)}:o+=((?:${l})${Sn(a.modifier)});continue}if(a.modifier===3||a.modifier===1){o+=(?:${Gt(a.prefix)}(${l})${Gt(a.suffix)}),o+=Sn(a.modifier);continue}o+=(?:${Gt(a.prefix)},o+=((?:${l})(?:,o+=Gt(a.suffix),o+=Gt(a.prefix),o+=(?:${l}))*)${Gt(a.suffix)}),a.modifier===0&&(o+="?")}let n=${Gt(r.endsWith)}|$,s=${Gt(r.delimiter)};if(r.end)return r.strict||(o+=${s}?),r.endsWith.length?o+=(?=${n}):o+="$",new RegExp(o,Jx(r));r.strict||(o+=(?:${s}(?=${n}))?);let i=!1;if(e.length){let a=e[e.length-1];a.type===3&&a.modifier===3&&(i=r.delimiter.indexOf(a)>-1)}return i||(o+=(?=${s}|${n})),new RegExp(o,Jx(r))}var so={delimiter:"",prefixes:"",sensitive:!0,strict:!0},iS={delimiter:".",prefixes:"",sensitive:!0,strict:!0},aS={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function cS(e,t){return e.length?e[0]==="/"?!0:!t||e.length<2?!1:(e[0]=="\\"||e[0]=="{")&&e[1]=="/":!1}function rb(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function lS(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}function ob(e){return!e||e.length<2?!1:e[0]==="["||(e[0]==="\\"||e[0]==="{")&&e[1]==="["}var nb=["ftp","file","http","https","ws","wss"];function sb(e){if(!e)return!0;for(let t of nb)if(e.test(t))return!0;return!1}function pS(e,t){if(e=rb(e,"#"),t||e==="")return e;let r=new URL("https://example.com");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):""}function uS(e,t){if(e=rb(e,"?"),t||e==="")return e;let r=new URL("https://example.com");return r.search=e,r.search?r.search.substring(1,r.search.length):""}function mS(e,t){return t||e===""?e:ob(e)?cb(e):ab(e)}function fS(e,t){if(t||e==="")return e;let r=new URL("https://example.com");return r.password=e,r.password}function dS(e,t){if(t||e==="")return e;let r=new URL("https://example.com");return r.username=e,r.username}function hS(e,t,r){if(r||e==="")return e;if(t&&!nb.includes(t))return new URL(${t}:${e}).pathname;let o=e[0]=="/";return e=new URL(o?e:"/-"+e,"https://example.com").pathname,o||(e=e.substring(2,e.length)),e}function gS(e,t,r){return ib(t)===e&&(e=""),r||e===""?e:lb(e)}function yS(e,t){return e=lS(e,":"),t||e===""?e:Jp(e)}function ib(e){switch(e){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function Jp(e){if(e==="")return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(Invalid protocol '${e}'.)}function xS(e){if(e==="")return e;let t=new URL("https://example.com");return t.username=e,t.username}function bS(e){if(e==="")return e;let t=new URL("https://example.com");return t.password=e,t.password}function ab(e){if(e==="")return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw new TypeError(Invalid hostname '${e}');let t=new URL("https://example.com");return t.hostname=e,t.hostname}function cb(e){if(e==="")return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw new TypeError(Invalid IPv6 hostname '${e}');return e.toLowerCase()}function lb(e){if(e===""||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(Invalid port '${e}'.)}function ES(e){if(e==="")return e;let t=new URL("https://example.com");return t.pathname=e[0]!=="/"?"/-"+e:e,e[0]!=="/"?t.pathname.substring(2,t.pathname.length):t.pathname}function wS(e){return e===""?e:new URL(data:${e}).pathname}function RS(e){if(e==="")return e;let t=new URL("https://example.com");return t.search=e,t.search.substring(1,t.search.length)}function kS(e){if(e==="")return e;let t=new URL("https://example.com");return t.hash=e,t.hash.substring(1,t.hash.length)}var vS=class{#i;#o=[];#t={};#e=0;#s=1;#a=0;#n=0;#m=0;#p=0;#f=!1;constructor(e){this.#i=e}get result(){return this.#t}parse(){for(this.#o=Zx(this.#i,!0);this.#e<this.#o.length;this.#e+=this.#s){if(this.#s=1,this.#o[this.#e].type==="END"){if(this.#n===0){this.#g(),this.#u()?this.#r(9,1):this.#d()?this.#r(8,1):this.#r(7,0);continue}else if(this.#n===2){this.#y(5);continue}this.#r(10,0);break}if(this.#m>0)if(this.#_())this.#m-=1;else continue;if(this.#T()){this.#m+=1;continue}switch(this.#n){case 0:this.#w()&&this.#y(1);break;case 1:if(this.#w()){this.#O();let e=7,t=1;this.#R()?(e=2,t=3):this.#f&&(e=2),this.#r(e,t)}break;case 2:this.#b()?this.#y(3):(this.#E()||this.#d()||this.#u())&&this.#y(5);break;case 3:this.#k()?this.#r(4,1):this.#b()&&this.#r(5,1);break;case 4:this.#b()&&this.#r(5,1);break;case 5:this.#P()?this.#p+=1:this.#S()&&(this.#p-=1),this.#v()&&!this.#p?this.#r(6,1):this.#E()?this.#r(7,0):this.#d()?this.#r(8,1):this.#u()&&this.#r(9,1);break;case 6:this.#E()?this.#r(7,0):this.#d()?this.#r(8,1):this.#u()&&this.#r(9,1);break;case 7:this.#d()?this.#r(8,1):this.#u()&&this.#r(9,1);break;case 8:this.#u()&&this.#r(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port="")}#r(e,t){switch(this.#n){case 0:break;case 1:this.#t.protocol=this.#l();break;case 2:break;case 3:this.#t.username=this.#l();break;case 4:this.#t.password=this.#l();break;case 5:this.#t.hostname=this.#l();break;case 6:this.#t.port=this.#l();break;case 7:this.#t.pathname=this.#l();break;case 8:this.#t.search=this.#l();break;case 9:this.#t.hash=this.#l();break;case 10:break}this.#n!==0&&e!==10&&([1,2,3,4].includes(this.#n)&&[6,7,8,9].includes(e)&&(this.#t.hostname??=""),[1,2,3,4,5,6].includes(this.#n)&&[8,9].includes(e)&&(this.#t.pathname??=this.#f?"/":""),[1,2,3,4,5,6,7].includes(this.#n)&&e===9&&(this.#t.search??="")),this.#h(e,t)}#h(e,t){this.#n=e,this.#a=this.#e+t,this.#e+=t,this.#s=0}#g(){this.#e=this.#a,this.#s=0}#y(e){this.#g(),this.#n=e}#x(e){return e<0&&(e=this.#o.length-e),e<this.#o.length?this.#o[e]:this.#o[this.#o.length-1]}#c(e,t){let r=this.#x(e);return r.value===t&&(r.type==="CHAR"||r.type==="ESCAPED_CHAR"||r.type==="INVALID_CHAR")}#w(){return this.#c(this.#e,":")}#R(){return this.#c(this.#e+1,"/")&&this.#c(this.#e+2,"/")}#b(){return this.#c(this.#e,"@")}#k(){return this.#c(this.#e,":")}#v(){return this.#c(this.#e,":")}#E(){return this.#c(this.#e,"/")}#d(){if(this.#c(this.#e,"?"))return!0;if(this.#o[this.#e].value!=="?")return!1;let e=this.#x(this.#e-1);return e.type!=="NAME"&&e.type!=="REGEX"&&e.type!=="CLOSE"&&e.type!=="ASTERISK"}#u(){return this.#c(this.#e,"#")}#T(){return this.#o[this.#e].type=="OPEN"}#_(){return this.#o[this.#e].type=="CLOSE"}#P(){return this.#c(this.#e,"[")}#S(){return this.#c(this.#e,"]")}#l(){let e=this.#o[this.#e],t=this.#x(this.#a).index;return this.#i.substring(t,e.index)}#O(){let e={};Object.assign(e,so),e.encodePart=Jp;let t=sS(this.#l(),void 0,e);this.#f=sb(t)}},Xp=["protocol","username","password","hostname","port","pathname","search","hash"],no="*";function Qx(e,t){if(typeof e!="string")throw new TypeError("parameter 1 is not of type 'string'.");let r=new URL(e,t);return{protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search!==""?r.search.substring(1,r.search.length):void 0,hash:r.hash!==""?r.hash.substring(1,r.hash.length):void 0}}function Fr(e,t){return t?ws(e):e}function Es(e,t,r){let o;if(typeof t.baseURL=="string")try{o=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=Fr(o.protocol.substring(0,o.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=Fr(o.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=Fr(o.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=Fr(o.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=Fr(o.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=Fr(o.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=Fr(o.search.substring(1,o.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=Fr(o.hash.substring(1,o.hash.length),r))}catch{throw new TypeError(invalid baseURL '${t.baseURL}'.)}if(typeof t.protocol=="string"&&(e.protocol=yS(t.protocol,r)),typeof t.username=="string"&&(e.username=dS(t.username,r)),typeof t.password=="string"&&(e.password=fS(t.password,r)),typeof t.hostname=="string"&&(e.hostname=mS(t.hostname,r)),typeof t.port=="string"&&(e.port=gS(t.port,e.protocol,r)),typeof t.pathname=="string"){if(e.pathname=t.pathname,o&&!cS(e.pathname,r)){let n=o.pathname.lastIndexOf("/");n>=0&&(e.pathname=Fr(o.pathname.substring(0,n+1),r)+e.pathname)}e.pathname=hS(e.pathname,e.protocol,r)}return typeof t.search=="string"&&(e.search=uS(t.search,r)),typeof t.hash=="string"&&(e.hash=pS(t.hash,r)),e}function ws(e){return e.replace(/([+*?:{}()\\])/g,"\\$1")}function TS(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function _S(e,t){t.delimiter??="/#?",t.prefixes??="./",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith="";let r=".*",o=^${TS(t.delimiter)}+?,n=/[$_\u200C\u200D\p{ID_Continue}]/u,s="";for(let i=0;i<e.length;++i){let a=e[i];if(a.type===3){if(a.modifier===3){s+=ws(a.value);continue}s+={${ws(a.value)}}${Sn(a.modifier)};continue}let c=a.hasCustomName(),l=!!a.suffix.length||!!a.prefix.length&&(a.prefix.length!==1||!t.prefixes.includes(a.prefix)),u=i>0?e[i-1]:null,p=i<e.length-1?e[i+1]:null;if(!l&&c&&a.type===1&&a.modifier===3&&p&&!p.prefix.length&&!p.suffix.length)if(p.type===3){let f=p.value.length>0?p.value[0]:"";l=n.test(f)}else l=!p.hasCustomName();if(!l&&!a.prefix.length&&u&&u.type===3){let f=u.value[u.value.length-1];l=t.prefixes.includes(f)}l&&(s+="{"),s+=ws(a.prefix),c&&(s+=:${a.name}),a.type===2?s+=(${a.value}):a.type===1?c||(s+=(${o})):a.type===0&&(!c&&(!u||u.type===3||u.modifier!==3||l||a.prefix!=="")?s+="*":s+=(${r})),a.type===1&&c&&a.suffix.length&&n.test(a.suffix[0])&&(s+="\\"),s+=ws(a.suffix),l&&(s+="}"),a.modifier!==3&&(s+=Sn(a.modifier))}return s}var pb=class{#i;#o={};#t={};#e={};#s={};#a=!1;constructor(e={},t,r){try{let o;if(typeof t=="string"?o=t:r=t,typeof e=="string"){let a=new vS(e);if(a.parse(),e=a.result,o===void 0&&typeof e.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");e.baseURL=o}else{if(!e||typeof e!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(o)throw new TypeError("parameter 1 is not of type 'string'.")}typeof r>"u"&&(r={ignoreCase:!1});let n={ignoreCase:r.ignoreCase===!0},s={pathname:no,protocol:no,username:no,password:no,hostname:no,port:no,search:no,hash:no};this.#i=Es(s,e,!0),ib(this.#i.protocol)===this.#i.port&&(this.#i.port="");let i;for(i of Xp){if(!(i in this.#i))continue;let a={},c=this.#i[i];switch(this.#t[i]=[],i){case"protocol":Object.assign(a,so),a.encodePart=Jp;break;case"username":Object.assign(a,so),a.encodePart=xS;break;case"password":Object.assign(a,so),a.encodePart=bS;break;case"hostname":Object.assign(a,iS),ob(c)?a.encodePart=cb:a.encodePart=ab;break;case"port":Object.assign(a,so),a.encodePart=lb;break;case"pathname":sb(this.#o.protocol)?(Object.assign(a,aS,n),a.encodePart=ES):(Object.assign(a,so,n),a.encodePart=wS);break;case"search":Object.assign(a,so,n),a.encodePart=RS;break;case"hash":Object.assign(a,so,n),a.encodePart=kS;break}try{this.#s[i]=eb(c,a),this.#o[i]=tb(this.#s[i],this.#t[i],a),this.#e[i]=_S(this.#s[i],a),this.#a=this.#a||this.#s[i].some(l=>l.type===2)}catch{throw new TypeError(invalid ${i} pattern '${this.#ii}'.)}}}catch(o){throw new TypeError(Failed to construct 'URLPattern': ${o.message})}}test(e={},t){let r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof e!="string"&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return!1;try{typeof e=="object"?r=Es(r,e,!1):r=Es(r,Qx(e,t),!1)}catch{return!1}let o;for(o of Xp)if(!this.#o[o].exec(r[o]))return!1;return!0}exec(e={},t){let r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof e!="string"&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return;try{typeof e=="object"?r=Es(r,e,!1):r=Es(r,Qx(e,t),!1)}catch{return null}let o={};t?o.inputs=[e,t]:o.inputs=[e];let n;for(n of Xp){let s=this.#o[n].exec(r[n]);if(!s)return null;let i={};for(let[a,c]of this.#t[n].entries())if(typeof c=="string"||typeof c=="number"){let l=s[a+1];i[c]=l}o[n]={input:r[n]??"",groups:i}}return o}static compareComponent(e,t,r){let o=(a,c)=>{for(let l of["type","modifier","prefix","value","suffix"]){if(a[l]<c[l])return-1;if(a[l]!==c[l])return 1}return 0},n=new Rs(3,"","","","",3),s=new Rs(0,"","","","",3),i=(a,c)=>{let l=0;for(;l<Math.min(a.length,c.length);++l){let u=o(a[l],c[l]);if(u)return u}return a.length===c.length?0:o(a[l]??n,c[l]??n)};return!t.#e[e]&&!r.#e[e]?0:t.#e[e]&&!r.#e[e]?i(t.#s[e],[s]):!t.#e[e]&&r.#e[e]?i([s],r.#s[e]):i(t.#s[e],r.#s[e])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#a}};globalThis.URLPattern||(globalThis.URLPattern=pb);var ub,mb=async(e,t)=>(ub??=Aa({wasm:e,worker:t}),await ub,async r=>{let{outputFiles:o}=await Na({entryPoints:[r],format:"esm",bundle:!0,minify:!0,charset:"utf8",plugins:[Yy(),Yx({fetch:PS,reload:[new URLPattern({hostname:location.hostname}),new URLPattern({hostname:"scrapbox.io"})]})],write:!1});return{contents:o[0].text}}),PS=async(e,t)=>{let r=ox(new URL(e.url))||!GM_fetch?globalThis.fetch:GM_fetch;if(t){let o=await Qp(e);if(o)return o}try{let o=await r(e);return o.ok?(r===GM_fetch&&!e.url.startsWith("data:")&&await Wi(e,o),ce([o,!1])):await Qp(e)??Q({name:"HTTPError",message:${o.status} ${o.statusText},response:o})}catch(o){let n=await Qp(e);if(n)return n;if(o instanceof TypeError)return Q({name:"NetworkError",message:o.message,request:e});if(o instanceof DOMException)return Q({name:"AbortError",message:o.message,request:e});throw o}},Qp=async e=>{if(e.url.startsWith("data:"))return;let t=await Wr(e);if(t)return t.url||Object.defineProperty(t,"url",{value:e.url}),ce([t,!0])};var fb=e=>["ts","js","tsx","jsx","mjs","javascript","typescript"].includes(e);var db=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-check-circle-fill"),e.style.color="hsl(133, 46.1%, 47.3%)",e},hb=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-cross-circle"),e.style.color="hsl(1.7, 64.5%, 58%)",e},gb=()=>{let e=document.createElement("i");return e.classList.add("i","fa","fa-spinner"),e},yb=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-play"),e};var xb=()=>{let e;return{show:(o,{x:n,y:s})=>{e=SS(),e.append(OS(o)),e.style.visibility="hidden",document.body.append(e);let{height:i}=e.getBoundingClientRect();e.style.top=${s-i}px,e.style.left=${n}px,e.style.removeProperty("visibility")},hide:async()=>{e?.classList?.remove?.("in"),await new Promise(o=>setTimeout(o,150)),e?.remove?.()}}},SS=()=>{let e=document.createElement("div");return e.setAttribute("role","tooltip"),e.classList.add("fade","in","tooltip","top"),e},OS=e=>{let t=document.createElement("pre");return t.classList.add("tooltip-inner"),t.style.textAlign="unset",t.style.maxWidth="70vw",t.style.margin="unset",t.innerText=e,t};var bb=()=>{let e=document.createElement("a");e.classList.add("tool-btn"),e.type="button",e.setAttribute("aria-haspopup","true");let t=!1,{show:r,hide:o}=xb();return{component:e,setStatus:async(s,i)=>{switch(e.textContent="",await o(),s){case"loading":e.append(gb());break;case"pass":e.append(db());break;case"fail":e.append(hb());break;case"none":break}i!==void 0&&s!=="none"?(e.style.removeProperty("pointer-events"),e.onclick=async()=>{if(t)await o();else{let{top:a,left:c}=e.getBoundingClientRect();r(i,{y:a+globalThis.scrollY,x:c})}t=!t}):e.style.pointerEvents="none"}}};var Eb=e=>{let t=document.createElement("a");return t.classList.add("tool-btn"),t.type="button",t.setAttribute("aria-haspopup","true"),t.append(yb()),t.addEventListener("click",e),t};var wb=e=>{let{component:t,setStatus:r}=bb(),o=document.createElement("div");return o.style.position="absolute",o.style.left="-2em",o.style.zIndex="1",o.style.display="flex",o.style.flexFlow="column",o.append(Eb(e),t),{menu:o,setStatus:r}};function Rb(e){return new Promise(t=>setTimeout(t,e))}function kb(e,t){let{trailing:r=!1,interval:o=0}=t??{},n,s=!1,i=l=>{n?.resolve?.({executed:!1}),n=l},a=()=>{let{...l}=n;return n=void 0,l},c=async()=>{if(s||!n)return;s=!0,o>0&&await Rb(o);let{parameters:l,resolve:u,reject:p}=a();try{let f=await e(...l);s=!1,u({result:f,executed:!0})}catch(f){s=!1,p(f)}finally{r?await c():(i(),await Promise.resolve())}};return(...l)=>new Promise((u,p)=>{i({parameters:l,resolve:u,reject:p}),c()})}var vb,Tb=async(e,t)=>{let r=[],n=kb(async()=>{r.forEach(({menu:i,setStatus:a})=>{a("none"),i.remove()});let s=dy(scrapbox.Project.name,scrapbox.Page.title??"",ft());for(let i of s){let a=i.lang.toLowerCase();if(fb(a))for(let c of i.startIds){let l=document.getElementById(L${c}),{menu:u,setStatus:p}=wb(async()=>{await p("loading");try{vb??=await mb(e,t);let{contents:f}=await vb(i.path);console.debug("execute:",f),await Function(return (async()=>{${f}})())(),await p("pass")}catch(f){console.error(f),await p("fail",${f})}});r.push({menu:u,setStatus:p}),l?.insertBefore?.(u,l?.firstElementChild)}}await Promise.resolve()},{interval:100,trailing:!0});return await n(),scrapbox.addListener("lines:changed",n),()=>{scrapbox.removeListener("lines:changed",n),r.forEach(({menu:s,setStatus:i})=>{i("none"),s.remove()})}};function NS(e,t){for(var r in t)e[r]=t[r];return e}function _b(e,t){for(var r in e)if(r!=="__source"&&!(r in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function On(e,t){var r=t(),o=J({t:{__:r,u:t}}),n=o[0].t,s=o[1];return Oi(function(){n.__=r,n.u=t,Zp(n)&&s({t:n})},[e,r,t]),oe(function(){return Zp(n)&&s({t:n}),e(function(){Zp(n)&&s({t:n})})},[e]),r}function Zp(e){var t,r,o=e.u,n=e.__;try{var s=o();return!((t=n)===(r=s)&&(t!==0||1/t==1/r)||t!=t&&r!=r)}catch{return!0}}function Pb(e,t){this.props=e,this.context=t}(Pb.prototype=new Xt).isPureReactComponent=!0,Pb.prototype.shouldComponentUpdate=function(e,t){return _b(this.props,e)||_b(this.state,t)};var Sb=Z.__b;Z.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Sb&&Sb(e)};var ATe=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;var CS=Z.__e;Z.__e=function(e,t,r,o){if(e.then){for(var n,s=t;s=s.__;)if((n=s.__c)&&n.__c)return t.__e==null&&(t.__e=r.__e,t.__k=r.__k),n.__c(e,t)}CS(e,t,r,o)};var Ob=Z.unmount;function Ib(e,t,r){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=NS({},e)).__c!=null&&(e.__c.__P===r&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return Ib(o,t,r)})),e}function Fb(e,t,r){return e&&r&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return Fb(o,t,r)}),e.__c&&e.__c.__P===t&&(e.__e&&r.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=r)),e}function eu(){this.__u=0,this.o=null,this.__b=null}function Ub(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function oc(){this.i=null,this.l=null}Z.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Ob&&Ob(e)},(eu.prototype=new Xt).__c=function(e,t){var r=t.__c,o=this;o.o==null&&(o.o=[]),o.o.push(r);var n=Ub(o.__v),s=!1,i=function(){s||(s=!0,r.__R=null,n?n(a):a())};r.__R=i;var a=function(){if(!--o.__u){if(o.state.__a){var c=o.state.__a;o.__v.__k[0]=Fb(c,c.__c.__P,c.__c.__O)}var l;for(o.setState({__a:o.__b=null});l=o.o.pop();)l.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(i,i)},eu.prototype.componentWillUnmount=function(){this.o=[]},eu.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=Ib(this.__b,r,o.__O=o.__P)}this.__b=null}var n=t.__a&&Rr(Y,null,e.fallback);return n&&(n.__u&=-33),[Rr(Y,null,t.__a?null:e.children),n]};var Lb=function(e,t,r){if(++r[1]===r[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(r=e.i;r;){for(;r.length>3;)r.pop()();if(r[1]<r[0])break;e.i=r=r[2]}};(oc.prototype=new Xt).__a=function(e){var t=this,r=Ub(t.__v),o=t.l.get(e);return o[0]++,function(n){var s=function(){t.props.revealOrder?(o.push(n),Lb(t,e,o)):n()};r?r(s):s()}},oc.prototype.render=function(e){this.i=null,this.l=new Map;var t=Br(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var r=t.length;r--;)this.l.set(t[r],this.i=[1,0,this.i]);return e.children},oc.prototype.componentDidUpdate=oc.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,r){Lb(e,r,t)})};var AS=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,MS=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,IS=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,FS=/[A-Z0-9]/g,US=typeof document<"u",DS=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};Xt.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(Xt.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Nb=Z.event;function $S(){}function jS(){return this.cancelBubble}function BS(){return this.defaultPrevented}Z.event=function(e){return Nb&&(e=Nb(e)),e.persist=$S,e.isPropagationStopped=jS,e.isDefaultPrevented=BS,e.nativeEvent=e};var Db,HS={enumerable:!1,configurable:!0,get:function(){return this.class}},Cb=Z.vnode;Z.vnode=function(e){typeof e.type=="string"&&function(t){var r=t.props,o=t.type,n={},s=o.indexOf("-")===-1;for(var i in r){var a=r[i];if(!(i==="value"&&"defaultValue"in r&&a==null||US&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var c=i.toLowerCase();i==="defaultValue"&&"value"in r&&r.value==null?i="value":i==="download"&&a===!0?a="":c==="translate"&&a==="no"?a=!1:c[0]==="o"&&c[1]==="n"?c==="ondoubleclick"?i="ondblclick":c!=="onchange"||o!=="input"&&o!=="textarea"||DS(r.type)?c==="onfocus"?i="onfocusin":c==="onblur"?i="onfocusout":IS.test(i)&&(i=c):c=i="oninput":s&&MS.test(i)?i=i.replace(FS,"-$&").toLowerCase():a===null&&(a=void 0),c==="oninput"&&n[i=c]&&(i="oninputCapture"),n[i]=a}}o=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=Br(r.children).forEach(function(l){l.props.selected=n.value.indexOf(l.props.value)!=-1})),o=="select"&&n.defaultValue!=null&&(n.value=Br(r.children).forEach(function(l){l.props.selected=n.multiple?n.defaultValue.indexOf(l.props.value)!=-1:n.defaultValue==l.props.value})),r.class&&!r.className?(n.class=r.class,Object.defineProperty(n,"className",HS)):(r.className&&!r.class||r.class&&r.className)&&(n.class=n.className=r.className),t.props=n}(e),e.$$typeof=AS,Cb&&Cb(e)};var Ab=Z.__r;Z.__r=function(e){Ab&&Ab(e),Db=e.__c};var Mb=Z.diffed;Z.diffed=function(e){Mb&&Mb(e);var t=e.props,r=e.__e;r!=null&&e.type==="textarea"&&"value"in t&&t.value!==r.value&&(r.value=t.value==null?"":t.value),Db=null};var ks=e=>e.replaceAll(" ","_").toLowerCase(),$b=e=>e.replaceAll("_"," "),nc=e=>[...e].map((t,r)=>t===" "?"_":!WS.includes(t)||r===e.length-1&&GS.includes(t)?encodeURIComponent(t):t).join(""),WS='@$&+=:;",',GS=':;",';var jb=({title:e,projects:t,selected:r,confirm:o})=>d("div",{className:candidate${r?" selected":""},children:[d(VS,{title:e,confirm:o}),t.map(n=>d(zS,{project:n.name,title:e,mark:n.mark,confirm:n.confirm}))]}),VS=({title:e,confirm:t})=>d("a",{className:"button",tabIndex:0,role:"menuitem",href:./${nc(e)},onClick:Bb(t),children:e}),zS=({project:e,title:t,mark:r,confirm:o})=>r===""?d(Y,{}):d("a",{className:"mark",tabIndex:0,href:../${e}/${nc(t)},onClick:Bb(o),title:/${e}/${nc(t)},children:r instanceof URL?d("img",{src:r.href}):${r}}),Bb=e=>F(t=>{t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||(t.preventDefault(),t.stopPropagation(),e())},[e]);var Hb=(e,t)=>{let[r,o]=J(null),n=F(c=>o(l=>{if(e.length===0)return null;if(l===null)return t(e[0]);let u=e.findIndex(p=>t(p)===l);return t(c?.cyclic?e[(u+1)%e.length]:e.at(u+1)??e[0])}),[e,t]),s=F(c=>o(l=>{if(e.length===0)return null;if(l===null)return t(e[e.length-1]);let u=e.findIndex(p=>t(p)===l);return u<0?t(e[e.length-1]):t(c?.cyclic?e[(u-1+e.length)%e.length]:e.at(u-1)??e[e.length-1])}),[e,t]),i=F(()=>o(e.length===0?null:t(e[0])),[e,t]),a=F(()=>o(e.length===0?null:t(e[e.length-1])),[e,t]);return{selectedId:r,next:n,prev:s,selectFirst:i,selectLast:a}};var Wb=e=>{let[t,r]=J(null),o=C(()=>{let n=t?.getBoundingClientRect?.(),i=Zn(e.line,e.char)?.getBoundingClientRect?.();return!i||!n?{}:{top:${i.bottom-n.top}px,left:${i?.left??0-n.left}px,right:${n.right-(i?.left??0)}px}},[t,e.line,e.char]);return{updateStandardElement:r,...o}};var ru="enableProjectsOnSuggestion",Gb=(e,t)=>{let[r,o]=J(sc([...e],t)),n=F((s,i)=>{qS(s,i,e,t),o(sc([...e],t))},[e,t.enableSelfProjectOnStart]);return oe(()=>{let s=i=>{i.key===ru&&o(sc([...e],t))};return addEventListener("storage",s),()=>removeEventListener("storage",s)},[e,t.enableSelfProjectOnStart]),{projects:r,set:n}},tu=!0,sc=(e,t)=>{try{let r=localStorage.getItem(ru);if(r===null)return ic(e),e;let o=JSON.parse(r);return Array.isArray(o)&&o.every(n=>typeof n=="string")?!t.enableSelfProjectOnStart||!e.includes(scrapbox.Project.name)?o:o.includes(scrapbox.Project.name)?tu?o:o.filter(n=>n!==scrapbox.Project.name):tu?[...o,scrapbox.Project.name]:o:(ic(e),e)}catch(r){if(!(r instanceof TypeError))throw r;return ic(e),e}},qS=(e,t,r,o)=>{let n=sc([...r],o);o.enableSelfProjectOnStart&&e===scrapbox.Project.name&&(tu=t),ic(t?[...n,e]:n.filter(s=>s!==e))},ic=e=>localStorage.setItem(ru,JSON.stringify(e));var Vb=()=>C(()=>document.documentElement.dataset.os??"",[]);var vs=(e,t)=>{if(e instanceof URL)return e;try{return new URL(e)}catch(r){if(!(r instanceof TypeError))throw r;if(!t||!/^\.\/|^\.\.\/|^\//.test(e))return e;try{return new URL(e,t)}catch(o){if(!(o instanceof TypeError))throw o;return e}}};var zb=({progress:e})=>d("div",{className:"progress",style:background: linear-gradient(to right, var(--select-suggest-border-color, #eee) ${(e*100).toPrecision(3)}%, transparent ${(e*100).toPrecision(3)}%)});var Kb=({position:e,start:t,enableSelfProjectOnStart:r,projects:o,...n})=>{let{projects:s,set:i}=Gb(o,{enableSelfProjectOnStart:r}),{updateStandardElement:a,top:c,left:l,right:u}=Wb({line:e.line,char:t}),p=Vb();return d(Y,{children:[d(XS,{itemCount:n.items.length,enableProjects:s,projects:o,top:c,right:u,set:i,os:p,...n}),d(KS,{updateStandardElement:a,start:t,enableProjects:s,projects:o,top:c,left:l,os:p,...n})]})},KS=({start:e,updateStandardElement:t,confirmAfter:r,cancel:o,query:n,enableProjects:s,projects:i,items:a,top:c,left:l,progress:u,callback:p,limit:f,mark:m,os:h})=>{let g=F((P,T,_)=>{let S=[${T?/${T}/${P}:P}${_?.icon?".icon":""}];r((A,{line:M})=>[${...A.slice(0,e).join("")}${S}${...A.slice(e+...n.length).join("")},{line:M,char:e+[...S].length}])},[e,n]),y=C(()=>i.size>1||!i.has(scrapbox.Project.name),[i]),x=C(()=>{let P=[];for(let T of a){if(P.length===f)break;T.projects.some(_=>s.includes(_))&&P.push({title:T.title,projects:T.projects.flatMap(_=>s.includes(_)?[{name:_,mark:y?vs(m[_]??"",import.meta.url)||_[0]:"",confirm:S=>g(T.title,_,S)}]:[]),confirm:_=>g(T.title,void 0,_)})}return P},[s,y,a,f,m,g]),{selectedId:E,next:k,prev:b,selectLast:v,selectFirst:R}=Hb(x,qb),O=F(P=>E===null?!1:(x.find(T=>qb(T)===E)?.confirm?.(P),!0),[E,x]);oe(()=>p(x.length===0?void 0:{selectNext:P=>(k(P),!0),selectPrev:P=>(b(P),!0),selectFirst:()=>(R(),!0),selectLast:()=>(v(),!0),confirm:O,cancel:()=>(o(),!0)}),[p,x.length,k,b,R,v,O]);let L=C(()=>x.length>0&&c!=null&&l!=null?{top:c,left:l}:{display:"none"},[x.length,c,l]),N=F(P=>{if(!P){t(P);return}let T=P.parentNode;if(!(T instanceof ShadowRoot))throw Error('The parent of "div.container" must be ShadowRoot');t(T.host.parentElement)},[t]);return d("div",{ref:N,className:"container candidates","data-os":h,style:L,children:[x.map(P=>d(jb,{...P,selected:E===P.title},P.title)),a.length>f&&d("div",{className:"counter",children:${a.length-f} more links}),d(zb,{progress:u})]})},XS=({enableProjects:e,projects:t,projectScore:r,mark:o,itemCount:n,top:s,right:i,set:a,os:c,freezeUntil:l})=>{let u=C(()=>[...t].sort((f,m)=>(r.get(m)??0)-(r.get(f)??0)).flatMap(f=>r.has(f)?[{name:f,enable:e.includes(f),mark:vs(o[f]??"",import.meta.url)||f[0],score:r.get(f),onClick:()=>l(()=>{a(f,!e.includes(f)),Ke().focus()})}]:[]),[t,r,e,o]),p=C(()=>n>0&&s!=null&&i!=null&&t.size>1?{top:s,right:i}:{display:"none"},[s,i,n,t.size]);return d("div",{className:"container projects","data-os":c,style:p,children:u.map(f=>d(YS,{...f},f.name))})},YS=e=>d("div",{className:e.enable?"mark":"mark disabled","data-score":e.score.toPrecision(3),onClick:e.onClick,title:e.name,children:e.mark instanceof URL?d("img",{src:e.mark.href}):${e.mark}}),qb=e=>e.title;var Xb=function(){};function _s(e,t={}){Xb.prototype.name=e;let r={};return new Proxy(Xb,{get(o,n){return n==="caller"?null:n==="__createMock__"?_s:n==="__unenv__"?!0:n in t?t[n]:r[n]=r[n]||_s(${e}.${n.toString()})},apply(o,n,s){return _s(${e}())},construct(o,n,s){return _s(${e})},enumerate(){return[]}})}var ou=_s("mock");function JS(e){return new Error(unenv ${e} is not implemented yet!)}function me(e){return Object.assign(()=>{throw JS(e)},{__unenv__:!0})}var QS=Object.freeze(Object.create(null,{__unenv__:{get:()=>!0}})),ac=Object.create(null),ZS=globalThis.process?.env,Ts=e=>ZS||globalThis.__env__||(e?ac:globalThis),eO=new Proxy(ac,{get(e,t){return Ts()[t]??ac[t]},has(e,t){let r=Ts();return t in r||t in ac},set(e,t,r){let o=Ts(!0);return o[t]=r,!0},deleteProperty(e,t){let r=Ts(!0);return delete r[t],!0},ownKeys(){let e=Ts();return Object.keys(e)}}),tO=Object.assign(function(e){let t=Date.now(),r=Math.trunc(t/1e3),o=t%1e3*1e6;if(e){let n=r-e[0],s=o-e[0];return s<0&&(n=n-1,s=1e9+s),[n,s]}return[r,o]},{bigint:function(){return BigInt(Date.now()*1e6)}}),rO=globalThis.queueMicrotask?(e,...t)=>{globalThis.queueMicrotask(e.bind(void 0,...t))}:oO();function oO(){let e=[],t=!1,r,o=-1;function n(){!t||!r||(t=!1,r.length>0?e=[...r,...e]:o=-1,e.length>0&&s())}function s(){if(t)return;let i=setTimeout(n);t=!0;let a=e.length;for(;a;){for(r=e,e=[];++o<a;)r&&r[o]();o=-1,a=e.length}r=void 0,t=!1,clearTimeout(i)}return(i,...a)=>{e.push(i.bind(void 0,...a)),e.length===1&&!t&&setTimeout(s)}}var nO="unenv",sO=[],iO="",aO={ares:"",http_parser:"",icu:"",modules:"",node:"",openssl:"",uv:"",v8:"",zlib:""};function tr(){return nu}var cO=tr,lO=tr,pO=tr,uO=tr,mO=tr,fO=tr,dO=function(e){return e==="message"||e==="multipleResolves"?nu:!1},hO=tr,gO=tr,yO=function(e){return[]},xO=()=>0,bO=function(e){throw new Error("[unenv] process.binding is not supported")},Yb="/",EO=function(){return Yb},wO=function(e){Yb=e},RO=function(){return 0},kO=function(){return 1e3},vO=function(){return 1e3},TO=function(){return 1e3},_O=function(){return 1e3},PO=function(){return[]},SO=e=>{},OO=me("process.abort"),LO=new Set,NO="",CO="",AO=QS,MO=!1,IO=()=>0,FO=()=>0,UO=me("process.cpuUsage"),DO=0,$O=me("process.dlopen"),jO=tr,BO=tr,HO=me("process.eventNames"),WO=[],GO="",VO=me("process.exit"),zO=Object.create({inspector:void 0,debug:void 0,uv:void 0,ipv6:void 0,tls_alpn:void 0,tls_sni:void 0,tls_ocsp:void 0,tls:void 0,cached_builtins:void 0}),qO=()=>[],KO=me("process.getMaxListeners"),XO=me("process.kill"),YO=Object.assign(()=>({arrayBuffers:0,rss:0,external:0,heapTotal:0,heapUsed:0}),{rss:()=>0}),JO=1e3,QO="",ZO=1e3,eL=me("process.rawListeners"),tL=Object.create({name:"",lts:"",sourceUrl:void 0,headersUrl:void 0}),rL=Object.create({compact:void 0,directory:void 0,filename:void 0,getReport:me("process.report.getReport"),reportOnFatalError:void 0,reportOnSignal:void 0,reportOnUncaughtException:void 0,signal:void 0,writeReport:me("process.report.writeReport")}),oL=me("process.resourceUsage"),nL=me("process.setegid"),sL=me("process.seteuid"),iL=me("process.setgid"),aL=me("process.setgroups"),cL=me("process.setuid"),lL=me("process.setMaxListeners"),pL=me("process.setSourceMapsEnabled"),uL=ou.__createMock__("process.stdout"),mL=ou.__createMock__("process.stderr"),fL=ou.__createMock__("process.stdin"),dL=!1,hL=()=>0,gL=0,yL=me("process.setUncaughtExceptionCaptureCallback"),xL=()=>!1,bL=!1,EL=me("process.loadEnvFile"),wL=void 0,RL={has:()=>!1},kL={ref(){},unref(){}},vL=!1,TL={register(){},unregister(){},registerBeforeExit(){}},_L=me("process.assert"),PL=me("process.openStdin"),SL=me("process._debugEnd"),OL=me("process._debugProcess"),LL=me("process._fatalException"),NL=me("process._getActiveHandles"),CL=me("process._getActiveRequests"),AL=me("process._kill"),ML=[],IL=me("process._rawDebug"),FL=me("process._startProfilerIdleNotifier"),UL=me("process.__stopProfilerIdleNotifier"),DL=me("process._tickCallback"),P_e=me("process._linkedBinding"),$L=void 0,jL=me("process.initgroups"),BL=[],HL=tr,WL=!1,GL=[],VL=0,zL=0,nu={_events:GL,_eventsCount:VL,_exiting:WL,_maxListeners:zL,_debugEnd:SL,_debugProcess:OL,_fatalException:LL,_getActiveHandles:NL,_getActiveRequests:CL,_kill:AL,_preload_modules:ML,_rawDebug:IL,_startProfilerIdleNotifier:FL,_stopProfilerIdleNotifier:UL,_tickCallback:DL,domain:$L,initgroups:jL,moduleLoadList:BL,reallyExit:HL,exitCode:gL,abort:OO,addListener:lO,allowedNodeEnvironmentFlags:LO,hasUncaughtExceptionCaptureCallback:xL,setUncaughtExceptionCaptureCallback:yL,loadEnvFile:EL,sourceMapsEnabled:bL,throwDeprecation:vL,mainModule:wL,permission:RL,channel:kL,arch:NO,argv:sO,argv0:CO,assert:_L,binding:bO,chdir:wO,config:AO,connected:MO,constrainedMemory:IO,availableMemory:FO,cpuUsage:UO,cwd:EO,debugPort:DO,dlopen:$O,disconnect:jO,emit:dO,emitWarning:BO,env:eO,eventNames:HO,execArgv:WO,execPath:GO,exit:VO,finalization:TL,features:zO,getBuiltinModule:SO,getegid:kO,geteuid:vO,getgid:TO,getgroups:PO,getuid:_O,getActiveResourcesInfo:qO,getMaxListeners:KO,hrtime:tO,kill:XO,listeners:yO,listenerCount:xO,memoryUsage:YO,nextTick:rO,on:cO,off:uO,once:pO,openStdin:PL,pid:JO,platform:QO,ppid:ZO,prependListener:hO,prependOnceListener:gO,rawListeners:eL,release:tL,removeAllListeners:fO,removeListener:mO,report:rL,resourceUsage:oL,setegid:nL,seteuid:sL,setgid:iL,setgroups:aL,setuid:cL,setMaxListeners:lL,setSourceMapsEnabled:pL,stderr:mL,stdin:fL,stdout:uL,title:nO,traceDeprecation:dL,umask:RO,uptime:hL,version:iO,versions:aO},Ps=nu;var qL=Object.create,rE=Object.defineProperty,KL=Object.getOwnPropertyDescriptor,XL=Object.getOwnPropertyNames,YL=Object.getPrototypeOf,JL=Object.prototype.hasOwnProperty,oE=(e=>typeof co<"u"?co:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof co<"u"?co:t)[r]}):e)(function(e){if(typeof co<"u")return co.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),nE=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QL=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of XL(t))!JL.call(e,n)&&n!==r&&rE(e,n,{get:()=>t[n],enumerable:!(o=KL(t,n))||o.enumerable});return e},sE=(e,t,r)=>(r=e!=null?qL(YL(e)):{},QL(t||!e||!e.__esModule?rE(r,"default",{value:e,enumerable:!0}):r,e)),ZL=nE((e,t)=>{var r=null;if(typeof window>"u"&&("process"in globalThis&&"versions"in Ps&&"node"in Ps.versions&&typeof globalThis.caches>"u"&&typeof globalThis.addEventListener!="function"||"Bun"in globalThis))try{r=[oE][0](${"node","util".join(":")})}catch{r=null}t.exports=r}),eN=nE((e,t)=>{var r=null;if(typeof window>"u"&&("process"in globalThis&&"versions"in Ps&&"node"in Ps.versions&&typeof globalThis.caches>"u"&&typeof globalThis.addEventListener!="function"||"Bun"in globalThis))try{r=[oE][0](${"node","fs".join(":")})}catch{r=null}t.exports=r}),tN={},cc=rN(globalThis,tN);function rN(e,t){return new Proxy(e,{get(r,o,n){return o in t?t[o]:e[o]},set(r,o,n){return o in t&&delete t[o],e[o]=n,!0},deleteProperty(r,o){let n=!1;return o in t&&(delete t[o],n=!0),o in e&&(delete e[o],n=!0),n},ownKeys(r){let o=Reflect.ownKeys(e),n=Reflect.ownKeys(t),s=new Set(n);return[...o.filter(i=>!s.has(i)),...n]},defineProperty(r,o,n){return o in t&&delete t[o],Reflect.defineProperty(e,o,n),!0},getOwnPropertyDescriptor(r,o){return o in t?Reflect.getOwnPropertyDescriptor(t,o):Reflect.getOwnPropertyDescriptor(e,o)},has(r,o){return o in t||o in e}})}var Jb=["debug","info","warning","error","fatal"];function Qb(e,t){let r=Jb.indexOf(e);if(r<0)throw new TypeError(Invalid log level: ${JSON.stringify(e)}.);let o=Jb.indexOf(t);if(o<0)throw new TypeError(Invalid log level: ${JSON.stringify(t)}.);return r-o}function Ss(e=[]){return iE.getLogger(e)}var su=Symbol.for("logtape.rootLogger"),iE=class io{static getLogger(t=[]){let r=su in cc?cc[su]??null:null;return r==null&&(r=new io(null,[]),cc[su]=r),typeof t=="string"?r.getChild(t):t.length===0?r:r.getChild(t)}constructor(t,r){Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"children",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"category",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sinks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parentSinks",{enumerable:!0,configurable:!0,writable:!0,value:"inherit"}),Object.defineProperty(this,"filters",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lowestLevel",{enumerable:!0,configurable:!0,writable:!0,value:"debug"}),Object.defineProperty(this,"contextLocalStorage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.parent=t,this.children={},this.category=r,this.sinks=[],this.filters=[]}getChild(t){let r=typeof t=="string"?t:t[0],o=this.children[r],n=o instanceof io?o:o?.deref();return n==null&&(n=new io(this,[...this.category,r]),this.children[r]="WeakRef"in cc?new WeakRef(n):n),typeof t=="string"||t.length===1?n:n.getChild(t.slice(1))}reset(){for(;this.sinks.length>0;)this.sinks.shift();for(this.parentSinks="inherit";this.filters.length>0;)this.filters.shift();this.lowestLevel="debug"}resetDescendants(){for(let t of Object.values(this.children))(t instanceof io?t:t.deref())?.resetDescendants();this.reset()}with(t){return new oN(this,{...t})}filter(t){for(let r of this.filters)if(!r(t))return!1;return this.filters.length<1?this.parent?.filter(t)??!0:!0}*getSinks(t){if(!(this.lowestLevel===null||Qb(t,this.lowestLevel)<0)){if(this.parent!=null&&this.parentSinks==="inherit")for(let r of this.parent.getSinks(t))yield r;for(let r of this.sinks)yield r}}emit(t,r){if(!(this.lowestLevel===null||Qb(t.level,this.lowestLevel)<0||!this.filter(t))){for(let o of this.getSinks(t.level))if(!r?.has(o))try{o(t)}catch(n){let s=new Set(r);s.add(o),nN.log("fatal","Failed to emit a log record to sink {sink}: {error}",{sink:o,error:n,record:t},s)}}}log(t,r,o,n){let s=io.getLogger().contextLocalStorage?.getStore()??{},i,a=typeof o=="function"?{category:this.category,level:t,timestamp:Date.now(),get message(){return Zb(r,this.properties)},rawMessage:r,get properties(){return i==null&&(i={...s,...o()}),i}}:{category:this.category,level:t,timestamp:Date.now(),message:Zb(r,{...s,...o}),rawMessage:r,properties:{...s,...o}};this.emit(a,n)}logLazily(t,r,o={}){let n=io.getLogger().contextLocalStorage?.getStore()??{},s,i;function a(){if((i==null||s==null)&&(i=r((c,...l)=>(s=c,eE(c,l))),s==null))throw new TypeError("No log record was made.");return[i,s]}this.emit({category:this.category,level:t,get message(){return a()[0]},get rawMessage(){return a()[1]},timestamp:Date.now(),properties:{...n,...o}})}logTemplate(t,r,o,n={}){let s=io.getLogger().contextLocalStorage?.getStore()??{};this.emit({category:this.category,level:t,message:eE(r,o),rawMessage:r,timestamp:Date.now(),properties:{...s,...n}})}debug(t,...r){typeof t=="string"?this.log("debug",t,r[0]??{}):typeof t=="function"?this.logLazily("debug",t):this.logTemplate("debug",t,r)}info(t,...r){typeof t=="string"?this.log("info",t,r[0]??{}):typeof t=="function"?this.logLazily("info",t):this.logTemplate("info",t,r)}warn(t,...r){typeof t=="string"?this.log("warning",t,r[0]??{}):typeof t=="function"?this.logLazily("warning",t):this.logTemplate("warning",t,r)}error(t,...r){typeof t=="string"?this.log("error",t,r[0]??{}):typeof t=="function"?this.logLazily("error",t):this.logTemplate("error",t,r)}fatal(t,...r){typeof t=="string"?this.log("fatal",t,r[0]??{}):typeof t=="function"?this.logLazily("fatal",t):this.logTemplate("fatal",t,r)}},oN=class aE{constructor(t,r){Object.defineProperty(this,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"properties",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.logger=t,this.properties=r}get category(){return this.logger.category}get parent(){return this.logger.parent}getChild(t){return this.logger.getChild(t).with(this.properties)}with(t){return new aE(this.logger,{...this.properties,...t})}log(t,r,o,n){this.logger.log(t,r,typeof o=="function"?()=>({...this.properties,...o()}):{...this.properties,...o},n)}logLazily(t,r){this.logger.logLazily(t,r,this.properties)}logTemplate(t,r,o){this.logger.logTemplate(t,r,o,this.properties)}debug(t,...r){typeof t=="string"?this.log("debug",t,r[0]??{}):typeof t=="function"?this.logLazily("debug",t):this.logTemplate("debug",t,r)}info(t,...r){typeof t=="string"?this.log("info",t,r[0]??{}):typeof t=="function"?this.logLazily("info",t):this.logTemplate("info",t,r)}warn(t,...r){typeof t=="string"?this.log("warning",t,r[0]??{}):typeof t=="function"?this.logLazily("warning",t):this.logTemplate("warning",t,r)}error(t,...r){typeof t=="string"?this.log("error",t,r[0]??{}):typeof t=="function"?this.logLazily("error",t):this.logTemplate("error",t,r)}fatal(t,...r){typeof t=="string"?this.log("fatal",t,r[0]??{}):typeof t=="function"?this.logLazily("fatal",t):this.logTemplate("fatal",t,r)}},nN=iE.getLogger(["logtape","meta"]);function Zb(e,t){let r=[],o="";for(let n=0;n<e.length;n++){let s=e.charAt(n),i=e.charAt(n+1);if(s==="{"&&i==="{")o=o+s,n++;else if(s==="}"&&i==="}")o=o+s,n++;else if(s==="{")r.push(o),o="";else if(s==="}"){let a;o.match(/^\s|\s$/)?a=o in t?t[o]:t[o.trim()]:a=t[o],r.push(a),o=""}else o=o+s}return r.push(o),r}function eE(e,t){let r=[];for(let o=0;o<e.length;o++)r.push(e[o]),o<t.length&&r.push(t[o]);return r}var sN=sE(ZL()),lc=sN.default,tE={debug:"DBG",info:"INF",warning:"WRN",error:"ERR",fatal:"FTL"},cE="Deno"in globalThis&&"inspect"in globalThis.Deno&&typeof globalThis.Deno.inspect=="function"?(e,t)=>globalThis.Deno.inspect(e,{strAbbreviateSize:1/0,iterableLimit:1/0,...t}):lc!=null&&"inspect"in lc&&typeof lc.inspect=="function"?(e,t)=>lc.inspect(e,{maxArrayLength:1/0,maxStringLength:1/0,...t}):e=>JSON.stringify(e);function lE(e={}){let t=e.timestamp==null||e.timestamp==="date-time-timezone"?i=>new Date(i).toISOString().replace("T"," ").replace("Z"," +00:00"):e.timestamp==="date-time-tz"?i=>new Date(i).toISOString().replace("T"," ").replace("Z"," +00"):e.timestamp==="date-time"?i=>new Date(i).toISOString().replace("T"," ").replace("Z",""):e.timestamp==="time-timezone"?i=>new Date(i).toISOString().replace(/.*T/,"").replace("Z"," +00:00"):e.timestamp==="time-tz"?i=>new Date(i).toISOString().replace(/.*T/,"").replace("Z"," +00"):e.timestamp==="time"?i=>new Date(i).toISOString().replace(/.*T/,"").replace("Z",""):e.timestamp==="date"?i=>new Date(i).toISOString().replace(/T.*/,""):e.timestamp==="rfc3339"?i=>new Date(i).toISOString():e.timestamp,r=e.category??"·",o=e.value??cE,n=e.level==null||e.level==="ABBR"?i=>tE[i]:e.level==="abbr"?i=>tE[i].toLowerCase():e.level==="FULL"?i=>i.toUpperCase():e.level==="full"?i=>i:e.level==="L"?i=>i.charAt(0).toUpperCase():e.level==="l"?i=>i.charAt(0):e.level,s=e.format??(({timestamp:i,level:a,category:c,message:l})=>${i} ${a} ${c}: ${l});return i=>{let a="";for(let p=0;p<i.message.length;p++)p%2===0?a+=i.message[p]:a+=o(i.message[p]);let c=t(i.timestamp),l=n(i.level),u=typeof r=="function"?r(i.category):i.category.join(r);return${s({timestamp:c,level:l,category:u,message:a,record:i})} }}var L_e=lE(),iu="\x1B[0m",au={black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},cu={bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",strikethrough:"\x1B[9m"},iN={debug:"blue",info:"green",warning:"yellow",error:"red",fatal:"magenta"};function aN(e={}){let t=e.format,r=typeof e.timestampStyle>"u"?"dim":e.timestampStyle,o=e.timestampColor??null,n=${r==null?"":cur}${o==null?"":auo},s=r==null&&o==null?"":iu,i=typeof e.levelStyle>"u"?"bold":e.levelStyle,a=e.levelColors??iN,c=typeof e.categoryStyle>"u"?"dim":e.categoryStyle,l=e.categoryColor??null,u=${c==null?"":cuc}${l==null?"":aul},p=c==null&&l==null?"":iu;return lE({timestamp:"date-time-tz",value(f){return cE(f,{colors:!0})},...e,format({timestamp:f,level:m,category:h,message:g,record:y}){let x=a[y.level];return f=${n}${f}${s},m=${i==null?"":cui}${x==null?"":aux}${m}${i==null&&x==null?"":iu},t==null?${f} ${m} ${u}${h}:${p} ${g}:t({timestamp:f,level:m,category:${u}${h}${p},message:g,record:y})}})}var N_e=aN();var cN=sE(eN()),lN=cN.default;function Ln(){throw new Error("File sink is not available in the browser.")}var pN={openSync:Ln,writeSync:Ln,flushSync:Ln,closeSync:Ln,statSync:Ln,renameSync:Ln},Vo=lN,C_e=Vo==null?pN:{openSync(e){return Vo.openSync(e,"a")},writeSync:Vo.writeSync,flushSync:Vo.fsyncSync,closeSync:Vo.closeSync,statSync:Vo.statSync,renameSync:Vo.renameSync};var pc="null",B0e=wn+pc,fN=Mr+pc,H0e=Rn+pc,W0e=kn+pc;var uc="undefined",K0e=wn+uc,dN=Mr+uc,X0e=Rn+uc,Y0e=kn+uc;async function*uE(e){let t=[],r=[],o=new Map,n=[];for(let s of e)s.isValid&&(s.id?s.isMember||t.push(s.id):r.push(s.name),n.push(s.name),o.set(s.name,s.checked));for(let s=0;s<t.length;s+=50){let i=t.slice(s,s+50);if(i.length===0)break;i.length===1&&i.push(i[0]);let a=await fi(i);if(kt(a)){r=n;break}for(let c of Bo(a).projects)o.has(c.name)&&(yield Et({...c,checked:o.get(c.name)??0}))}for(let s of r){let i=await br(s);yield et(i)?Et({...Bo(i),checked:o.get(s)??0}):Nt({...Tn(i),project:s})}}var uu=(e,t)=>t.some(r=>e instanceof r),mE,fE;function gN(){return mE||(mE=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function yN(){return fE||(fE=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var mu=new WeakMap,lu=new WeakMap,mc=new WeakMap;function xN(e){let t=new Promise((r,o)=>{let n=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(ao(e.result)),n()},i=()=>{o(e.error),n()};e.addEventListener("success",s),e.addEventListener("error",i)});return mc.set(t,e),t}function bN(e){if(mu.has(e))return;let t=new Promise((r,o)=>{let n=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),n()},i=()=>{o(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});mu.set(e,t)}var fu={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return mu.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return ao(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function yE(e){fu=e(fu)}function EN(e){return yN().includes(e)?function(...t){return e.apply(du(this),t),ao(this.request)}:function(...t){return ao(e.apply(du(this),t))}}function wN(e){return typeof e=="function"?EN(e):(e instanceof IDBTransaction&&bN(e),uu(e,gN())?new Proxy(e,fu):e)}function ao(e){if(e instanceof IDBRequest)return xN(e);if(lu.has(e))return lu.get(e);let t=wN(e);return t!==e&&(lu.set(e,t),mc.set(t,e)),t}var du=e=>mc.get(e);function xE(e,t,{blocked:r,upgrade:o,blocking:n,terminated:s}={}){let i=indexedDB.open(e,t),a=ao(i);return o&&i.addEventListener("upgradeneeded",c=>{o(ao(i.result),c.oldVersion,c.newVersion,ao(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),n&&c.addEventListener("versionchange",l=>n(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function bE(e,{blocked:t}={}){let r=indexedDB.deleteDatabase(e);return t&&r.addEventListener("blocked",o=>t(o.oldVersion,o)),ao(r).then(()=>{})}var RN=["get","getKey","getAll","getAllKeys","count"],kN=["put","add","delete","clear"],pu=new Map;function dE(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(pu.get(t))return pu.get(t);let r=t.replace(/FromIndex$/,""),o=t!==r,n=kN.includes(r);if(!(r in(o?IDBIndex:IDBObjectStore).prototype)||!(n||RN.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,n?"readwrite":"readonly"),l=c.store;return o&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),n&&c.done]))[0]};return pu.set(t,s),s}yE(e=>({...e,get:(t,r,o)=>dE(t,r)||e.get(t,r,o),has:(t,r)=>!!dE(t,r)||e.has(t,r)}));var vN=["continue","continuePrimaryKey","advance"],hE={},hu=new WeakMap,EE=new WeakMap,TN={get(e,t){if(!vN.includes(t))return e[t];let r=hE[t];return r||(r=hE[t]=function(...o){hu.set(this,EE.get(this)[t](...o))}),r}};async function*_N(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,TN);for(EE.set(r,t),mc.set(r,du(t));t;)yield r,t=await(hu.get(r)||t.continue()),hu.delete(r)}function gE(e,t){return t===Symbol.asyncIterator&&uu(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&uu(e,[IDBIndex,IDBObjectStore])}yE(e=>({...e,get(t,r,o){return gE(t,r)?_N:e.get(t,r,o)},has(t,r){return gE(t,r)||e.has(t,r)}}));var wE,gu=async()=>{let e=Ss(["@takker/cosense-storage","open"]);return wE??=await xE("scrapbox-storage",4,{upgrade(t,r,o){e.infostart updating DB: ${r} -> ${o};let n=Date.now();for(let a of t.objectStoreNames)t.deleteObjectStore(a);t.createObjectStore("titles",{keyPath:"id"}).createIndex("project","project");let i=t.createObjectStore("projects",{keyPath:"id"});i.createIndex("checked","checked"),i.createIndex("name","name"),e.infofinish updating DB: ${Date.now()-n}ms},blocked(t,r){let o=The database "@takker/cosense-storage"(v${r}) is blocked because the older one (v${t}) is opened in other tabs. Please close the other tabs and reload this page.;e.error(o),alert(o)},blocking(t,r){let o=The database "@takker/cosense-storage"(v${t}) is blocking the newer one (v${r}) opened.
Please close this page.;e.error(o),alert(o)}}),wE};var dc=(e,t)=>(yu||(yu=new BroadcastChannel(kE),yu.addEventListener("message",r=>RE(r.data))),fc.set(t,new Set(e).union(fc.get(t)??new Set)),()=>fc.delete(t)),xu=(e,t)=>{if((t.added?.size??0)+(t.updated?.size??0)+(t.deleted?.size??0)===0)return;let r={type:"links:changed",project:e,diff:t};RE(r);let o=new BroadcastChannel(kE);o.postMessage(r),o.close()},RE=e=>{for(let[t,r]of fc)r.has(e.project)&&t(e)},kE="scrapbox-storage-notify",yu,fc=new Map;function bu(e){return Math.trunc(+D(e)/1e3)}var hc=async(e,t)=>{let r=await gu(),o=Ss(["@takker/cosense-storage","check"]),n=new Map;try{{o.debugcheck updates of links...;let i=new Set,a=r.transaction("projects","readwrite"),c=bu(new Date),l=c-600;for await(let f of a.store.index("checked").iterate(IDBKeyRange.lowerBound(l,!0))){let m=f.value;if(m.isValid===!1){i.add(m.id);continue}i.add(m.name);let h=m.checked;if(h+t>c||m?.updating&&h>l)continue;let g=structuredClone(m);g.updating=!0,n.set(m.id,g),f.update(g)}let u=[],p=a.store.index("name");for(let f of e)i.has(f)||u.push(p.get(f).then(m=>{m?.updating&&(m?.checked??0)>l||n.set(f,m??PN(f))}));if(await Promise.all(u),await a.done,n.size===0){o.debugchecked. No project needs upgrade.;return}o.debugchecked. ${n.size} projects maybe need upgrade.}let s=bu(new Date);for await(let i of uE(n.values())){if(kt(i)){let{project:h,name:g}=Tn(i);switch(g){default:continue;case"NotFoundError":o.warn("${h}" is not found.);break;case"NotMemberError":o.warn(You are not a member of "${h}".);break;case"NotLoggedInError":o.warn(You are not a member of "${h}" or You are not logged in yet.);break}n.set(h,{id:h,name:h,checked:s,updating:!1,isValid:!1,reason:g});continue}let{checked:a,...c}=Bo(i);if(c.updated<a){o.debugno updates in "${c.name}",n.set(c.name,{...c,isValid:!0,checked:s,updating:!1});continue}o.debugstart downloading and storing links of "${c.name}";let l=new Set(await r.getAllKeysFromIndex("titles","project",c.name)),u=0,p=0;for await(let h of Cf(c.name)){if(kt(h)){let{name:E,message:k}=Tn(h);o.errorFailed to get links of "${c.name}" with ${E}: ${k};break}let g=Bo(h),y={},x=r.transaction("titles","readwrite");await Promise.all(g.map(async E=>{let k={...E,project:c.name},b=await x.store.get(E.id);if(!b)return y.added?.set?.(E.id,k)??(y.added=new Map([[E.id,k]])),x.store.add(k);if(l.delete(E.id),!!SN(k,b))return y.updated?.set?.(E.id,[b,k])??(y.updated=new Map([[E.id,[b,k]]])),x.store.put(k)})),await x.done,u+=y.added?.size??0,p+=y.updated?.size??0,o.debugUpdating "/${c.name}": +${u} pages, ~${p} pages,xu(c.name,y)}let f=r.transaction("titles","readwrite"),m=new Map((await Promise.all([...l].map(async h=>{let g=await f.store.get(h);if(!g)return[];let y=[[h,g]];return await f.store.delete(h),y}))).flat());await f.done,o.debugFinish downloading and storing links of "${c.name}",o.debugUpdate "/${c.name}": +${u} pages, ~${p} pages, -${m.size} pages,n.set(c.name,{...c,isValid:!0,checked:s,updating:!1}),xu(c.name,{deleted:m})}}finally{let s=r.transaction("projects","readwrite");await Promise.all([...n].map(([,i])=>(i.updating=!1,s.store.put({...i})))),await s.done}},Nn=async e=>{let t=[...new Set(e)];if(t.length===0)return[];let r=Date.now(),n=(await gu()).transaction("titles","readonly"),s=n.store.index("project"),i=(await Promise.all(t.map(c=>s.getAll(c)))).flat();return await n.done,Ss(["@takker/cosense-storage","load"]).debugRead ${i.length} links from ${t.length} projects in ${Date.now()-r}ms,i},PN=e=>({name:e,displayName:e,id:"",isValid:!0,publicVisible:!0,isMember:!0,loginStrategies:[],theme:"default",gyazoTeamsName:null,translation:!0,infobox:!0,checked:0,updated:0,created:0,updating:!0}),SN=(e,t)=>e.updated>t.updated||e.links.sort().join()!==t.links.sort().join();bE("userscript-links").catch(e=>console.error(e));var ON=jr("scrapbox-select-suggestion:useSource.ts"),TE=e=>On(...C(()=>{let t=[];return[n=>{let s=Nn(e).then(i=>{let a=LN(i);return t=[...a.values()],n(),a});return hc(e,600),dc(e,({diff:i})=>s=s.then(a=>(ON.debug(Update: +${i.added?.size??0} pages, ~${i.updated?.size??0} pages, -${i.deleted?.size??0} pages),a=NN(a,i),t=[...a.values()],n(),a)))},()=>t]},[e])),LN=e=>{let t=new Map;for(let r of e)Eu(t,r);return t},NN=(e,t)=>{let r=new Map(e);if(t.added)for(let[,o]of t.added)Eu(r,o);if(t.updated)for(let[,[o,n]]of t.updated)vE(r,o),Eu(r,n);if(t.deleted)for(let[,o]of t.deleted)vE(r,o);return r},Eu=(e,t)=>{let r=ks(t.title),o=e.get(r);if((o?.updated??0)>t.updated)return;let n=o?.metadata??new Map;n.set(t.project,{image:t.image}),e.set(r,{title:t.title,titleLc:r,updated:t.updated,linked:o?.linked??0,metadata:n});for(let s of t.links){let i=ks(s),a=e.get(i),c=a?.metadata??new Map;c.set(t.project,c.get(t.project)??{image:t.image}),e.set(i,{title:a?.title??s,titleLc:i,updated:a?.updated??0,linked:(a?.linked??0)+1,metadata:c})}},vE=(e,t)=>{let r=ks(t.title),o=e.get(r);if(!o||(o.updated??0)>t.updated)return;let n=o.metadata;n.delete(t.project),n.size<=0?e.delete(r):e.set(r,{title:o.title,titleLc:r,updated:t.updated,linked:o.linked,metadata:n});for(let s of t.links){let i=ks(s),a=e.get(i);if(!a)continue;let c=a.metadata;c.delete(t.project),c.size<=0?e.delete(i):e.set(i,{title:a.title,titleLc:i,updated:t.updated,linked:a.linked-1,metadata:c})}};var _E=e=>{let t=C(()=>vs(e.style,import.meta.url),[e.style]);return d(Y,{children:t!==""&&(t instanceof URL?d("link",{rel:"stylesheet",href:t.href}):d("style",{children:t}))})};var PE=()=>d("style",{children:.container {
position: absolute;
margin-top: 14px;
max-height: 80vh;
z-index: 301;
background-color: var(--select-suggest-bg, #111); font-family: var(--select-suggest-font-family, "Open Sans", Helvetica, Arial, "Hiragino Sans", sans-serif);
font-size: 14px;
color: var(--select-suggest-text-color, #eee); border-radius: 4px;
}
.candidates {
max-width: 80vw;
}
font-size:11px;
}
.projects {
margin-right: 4px;
display: grid;
grid-template-rows: repeat(4, min-content);
grid-auto-flow: column;
direction: rtl;
}
padding: 6px;
}
.candidates > :not(:first-child) {
border-top: 1px solid var(--select-suggest-border-color, #eee); }
.candidates > *{
line-height: 1.2em;
padding: 0.5em 10px;
}
.candidate {
display: flex;
}
a {
display: block;
text-decoration: none;
color: inherit;
}
a:not(.mark) {
width: 100%;
}
.selected a {
background-color: var(--select-suggest-selected-bg, #222); text-decoration: underline
}
img {
height: 1.3em;
width: 1.3em;
position: relative;
object-fit: cover;
object-position: 0% 0%;
}
.disabled {
filter: grayscale(1.0) opacity(0.5);
}
.counter {
color: var(--select-suggest-information-text-color, #aaa); font-size: 80%;
font-style: italic;
}
padding: unset;
border: unset;
height: 0.5px;
transition: background 0.1s;
}});function*SE(e){if(!("nodes"in e))return;let t=0;function*r(o){for(let n of Array.isArray(o)?o:[o]){if(typeof n=="string"){t+=[...n].length;continue}switch(n.type){case"link":yield{whole:n.unit.whole,start:t},t+=[...n.unit.whole].length;break;case"indent":case"quote":t+=[...n.unit.tag].length,yield*r(n.children);break;case"deco":t+=[...n.unit.deco].length+2,yield*r(n.children),t++;break;case"strong":t+=2,yield*r(n.children),t+=2;break;default:t+=[...n.unit.whole].length;break}}}yield*r(e.nodes)}var OE=(e,t)=>{if(t.type==="unlock"){if(!e.lock)return e;let{lock:i,...a}=e;return{...a}}if(e.lock)return e;switch(t.type){case"lock":{let{lock:i,...a}=e;return{lock:!0,...a}}case"enable":return e.type==="disabled"&&e.isManuallyDisabled?{type:"ready"}:e;case"disable":return e.type==="disabled"&&e.isManuallyDisabled?e:{type:"disabled",isManuallyDisabled:!0}}if(e.type==="disabled")return e.isManuallyDisabled||!t.lines?e:{type:"ready"};if(t.type==="cancel")return e.type==="completion"?{type:"cancelled",context:e.context}:e;if(!t.lines)return{type:"disabled"};let r=Math.min(t.range.start.char,t.range.end.char),o=Math.max(t.range.start.char,t.range.end.char),n=t.lines?t.range.start.line!==t.range.end.line?
:[...t.lines[t.range.start.line].text].slice(r,o).join(""):"";if(AN(t.lines[t.position.line],n)&&e.type!=="cancelled")return{type:"completion",context:"selection",query:n,start:r,position:t.position};if(n!=="")return e.type==="completion"?{type:"ready"}:e;let s=CN(t.lines[t.position.line],t.position.char);return s?e.type==="cancelled"&&e.context==="input"?e:e.type==="completion"||t.type==="lines:changed"?{type:"completion",context:"input",query:s.whole,start:s.start,position:t.position}:e.type==="ready"?e:{type:"ready"}:e.type==="ready"?e:{type:"ready"}},CN=(e,t)=>{for(let{whole:r,start:o}of SE(e))if(!(t<=o||o+[...r].length<=t))return{whole:r,start:o}},AN=(e,t)=>!(t.trim()===""||t.includes(
)||"codeBlock"in e||"title"in e||"tableBlock"in e&&e.tableBlock.start);var LE=()=>{let e=ze(scrapbox.Page.lines),t=ze(!1);return oe(()=>{let r=()=>{t.current=!0};return scrapbox.addListener("lines:changed",r),scrapbox.addListener("layout:changed",r),()=>{scrapbox.removeListener("lines:changed",r),scrapbox.removeListener("layout:changed",r)}},[]),F(()=>(t.current&&(e.current=scrapbox.Page.lines,t.current=!1),e.current??void 0),[])};var MN=jr("scrapbox-select-suggestion:useLifecycle.ts"),NE=()=>{let[e,t]=Hr(OE,{type:"ready"}),r=LE(),o=C(()=>{let i;return a=>{i!==void 0&&clearTimeout(i),i=setTimeout(()=>{let{cursor:c,selection:l}=xt();t({type:a,lines:r(),range:l.getRange({normalizeOrder:!0}),position:c.getPosition()})},a==="cursor:changed"?100:void 0)}},[]);oe(()=>{let i=()=>{o("lines:changed")};scrapbox.addListener("lines:changed",i),scrapbox.addListener("layout:changed",i);let a=()=>{o("selection:changed")},c=Gi();return c.addChangeListener(a),()=>{scrapbox.removeListener("lines:changed",i),scrapbox.removeListener("layout:changed",i),c.removeChangeListener(a)}},[]),oe(()=>{if(e.context!=="input")return;let i=()=>{o("cursor:changed")},a=Gr();return a.addChangeListener(i),()=>a.removeChangeListener(i)},[e.context]);let[n,s]=J(e);return n!==e&&(s(e),MN.debug("Detect changes",e)),{state:e,setEnable:F(i=>t({type:i?"enable":"disable"}),[]),cancel:F(()=>t({type:"cancel"}),[]),freezeUntil:F(i=>{t({type:"lock"});let a=i();if(a instanceof Promise)return a.then(()=>{t({type:"unlock"})});t({type:"unlock"})},[]),confirmAfter:F(async i=>{let a=r();if(!a)return;t({type:"lock"});let{cursor:c,selection:l}=xt(),u=c.getPosition().line,p=a[u].text,[f,m]=i(p,c.getPosition());l.setRange({start:{line:u,char:0},end:{line:u,char:[...p].length}}),await We(f),c.setPosition(m),c.focus(),t({type:"unlock"}),t({type:"cancel"})},[])}};var CE=(e,t)=>{let r=e.dist-t.dist;if(r!==0)return r;let o=e.matches.map(([i])=>i).sort(),n=t.matches.map(([i])=>i).sort();for(let i=0;i<o.length;i++){let a=o[i]-(n[i]??n.length);if(a!==0)return a}let s=e.title.length-t.title.length;return s!==0?s:t.updated-e.updated};var AE=e=>{let t=new Map,r=[...e].reverse();{let i=1;for(let a of r){t.set(a,(t.get(a)??0)|i);let c=a.toLowerCase();t.set(c,(t.get(c)??0)|i);let l=a.toUpperCase();t.set(l,(t.get(l)??0)|i),i<<=1}}let o=r.length,n=~(-1<<o),s=1<<o-1;return i=>{let a=0,c=n,l=[...i].reverse(),u=[],p=l.length;u[p]=o;for(let f of l){let m=t.get(f)??0,h=m|a,g=(m&c)+c^c|m,y=a|~(g|c),x=c&g;u[p-1]=u[p]+(y&s?1:x&s?-1:0),c=x<<1|~(h|y<<1),a=y<<1&h,p--}return u}};var IN=[0,0,0,1,1,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6],ME=e=>{let t=$b(e.trim()).split(/\s+/).sort((r,o)=>o.length-r.length);if(!(t.length===0||t.every(r=>r==="")))return r=>{let o=[...r];for(let n of t)o=FN(n,o);return o}},FN=(e,t)=>{let r=[...e].length,o=IN[r],n=AE(e);return t.flatMap(({title:s,dist:i,matches:a,...c})=>{a??=[],i??=0;let l=n(s).flatMap((p,f)=>p<=o&&a.every(([m,h])=>f+r<=m||h<f)?[[f,p]]:[]);if(l.length===0)return[];let u=l.reduce((p,[f,m])=>(p.dist<=m||(p.dist=m,p.start=f),p),{dist:r,start:0});return a.push([u.start,u.start+r-1]),[{title:s,dist:u.dist+i,matches:a,...c}]})};var UN=jr("scrapbox-select-suggestion:cancelableSearch.ts");async function*IE(e,t,r){let o=ME(e);if(!o)return;let n=r?.chunk??1e3,s=Math.floor(t.length/n)+1,i=0,a=new Date;try{for(;i<s;i++)await new Promise(c=>requestAnimationFrame(c)),yield[o(t.slice(i*n,(i+1)*n)),(i+1)/s]}finally{let l=new Date().getTime()-a.getTime();UN.debug(search ${(i/s*100).toPrecision(3)}% of the source for "${e}" in ${l}ms)}}var FE=(e,t)=>{let r=t?.interval??0,o=t?.maxQueued??1/0,n,s,i=[],a=(...c)=>{if(!n)return n=(async()=>{do{await new Promise(m=>{let h=setTimeout(m,r);s=()=>{for(clearTimeout(h);i.length>0;)i.shift()("discarded");m()}});let f=i.pop();if(!f)break;f("delayed")}while(i.length>0);n=void 0})(),new Promise(f=>f(e.call(a,...c,"immediate")));for(;i.length>Math.max(o,0);)i.shift()("discarded");let{promise:l,resolve:u,reject:p}=Promise.withResolvers();return i.push(f=>{try{u(e.call(a,...c,f))}catch(m){p(m)}}),l};return a.clear=()=>{s?.()},Object.defineProperty(a,"ready",{get:()=>n}),a};var zo=e=>"query"in e,UE=e=>(t,r)=>{if("query"in r){let i=zo(t)?t.query:"";if(r.query===i)return t;let a=zo(t)?t.job:void 0;if(!r.query)return a?.abort?.(),{source:t.source};let{run:c,abort:l}=e(r.query,t.source,!1),u=a?.abort?.()?.then?.(c)??c();return{query:r.query,source:t.source,job:{done:u,abort:()=>(l(),u)},progress:0,candidates:!i||!zo(t)?[]:t.candidates}}if("source"in r){if(!zo(t))return r.source===t.source?t:r;let{source:i,job:a,...c}=t;if(r.source===i)return t;let{run:l,abort:u}=e(c.query,r.source,!0),p=a.done.then(l);return{source:r.source,job:{done:p,abort:()=>a.abort().then(()=>(u(),p))},...c}}if(!zo(t))return t;if(!r.candidates){let{progress:i,...a}=t;return i===r.progress?t:{progress:r.progress,...a}}let{candidates:o,progress:n,...s}=t;return o===r.candidates&&n===r.progress?t:{candidates:r.candidates??o,progress:r.progress,...s}};var DN=jr("scrapbox-select-suggestion:useSearch.ts"),DE=e=>{let t=F((n,s,i)=>{let a=!1,c=IE(n,s,{chunk:5e3});return{run:async()=>{if(i){let p=[];for await(let[f]of c){if(a)return;p.push(...f)}o({progress:1,candidates:p});return}let l=FE((p,f)=>{f!=="discarded"&&(a||o(p))},{interval:500,maxQueued:0}),u=[];for await(let[p,f]of c){if(a)return;u=[...u,...p],o({progress:f}),p.length!==0&&l({progress:f,candidates:u})}l({progress:1,candidates:u})},abort:()=>a=!0}},[]),[r,o]=Hr(C(()=>UE(t),[t]),{source:e});return[C(()=>{if(!zo(r))return;let[n,s]=$N(r.candidates);return DN.debug("Detect changes",{progress:r.progress,items:s}),{progress:r.progress,projectScore:n,items:s}},[r]),{search:F(n=>o({query:n}),[]),update:F(n=>o({source:n}),[])}]},$N=e=>{let t=new Map,r=[];for(let o of e.sort(CE)){let n=[...o.metadata.keys()];for(let s of n)t.set(s,(t.get(s)??0)+.5**o.dist);r.push({title:o.title,dist:o.dist,projects:n})}return[t,r]};var $E=(e,t)=>{let r=ze({...t});oe(()=>(Object.assign(r.current,t),()=>{for(let o of Object.keys(t))delete r.current[o]}),[...Object.keys(t)].sort().map(o=>t[o])),oe(()=>{e(r.current)},[e])};var jN={selectNext:()=>!1,selectPrev:()=>!1,selectFirst:()=>!1,selectLast:()=>!1,confirm:()=>!1,cancel:()=>!1},jE=e=>{let t=TE(e.projects),[r,{update:o,search:n}]=DE(t),{state:s,setEnable:i,...a}=NE();o(t),n(s.type==="completion"?s.context==="input"?s.query.slice(1,-1):s.query:"");let[c,l]=J(),{callback:u,style:p,...f}=e;return $E(u,{enable:F(()=>i(!0),[]),disable:F(()=>i(!1),[]),...s.type!=="completion"||!c?jN:c}),d(Y,{children:[d(PE,{}),d(_E,{style:p}),s.type==="completion"&&r&&d(Kb,{callback:l,...r,...s,...a,...f})]})};var BE=e=>{let t=document.createElement("div");t.dataset.userscriptName="scrapbox-select-suggestion";let r=t.attachShadow({mode:"open"});document.body.append(t);let{limit:o=5,debug:n=!1,mark:s={},style:i="",enableSelfProjectOnStart:a=!0}=e??{},c=new Set([...a?[scrapbox.Project.name]:[],...e?.projects??[scrapbox.Project.name]]);return Ri(n),new Promise(l=>mt(d(jE,{limit:o,projects:c,mark:s,style:i,callback:l,enableSelfProjectOnStart:a}),r))};var Mt=e=>e.flatMap(t=>{let r=t.slice(1),o=Math.min(...r.map(n=>n.text.length-n.text.trimStart().length));return r.map(n=>n.text.slice(o))}).join(
).trim();function*HE(e,t){for(let[r,o]of t.entries()){let n=e.get(r);if(n&&Mt(n.blocks)===Mt(o)){yield{changed:!1,filename:r};continue}yield{changed:!0,filename:r}}for(let r of e.keys())t.has(r)||(yield{changed:!0,filename:r})}var Cn={};Vs(Cn,{getTitle:()=>wf,parse:()=>He});var WE=e=>{let t=new Map;if(e.length===0)return t;let r=He(e.map(n=>n.text).join(
),{hasTitle:!0}),o=0;for(let n of r)switch(n.type){case"title":case"line":o++;break;case"table":o+=n.cells.length+1;break;case"codeBlock":{let s=t.get(n.fileName)??[],i=n.content.split(
).length+1;s.push(e.slice(o,o+i)),t.set(n.fileName,s),o+=i;break}}return t};var GE=e=>{let t,r,o=async()=>{for(;t;){let[n,s]=t;t=void 0;try{let i=await e(...n);s({type:"resolve",value:i})}catch(i){s({type:"reject",value:i})}}r=void 0};return(...n)=>{let{resolve:s,promise:i}=Promise.withResolvers();return t?.[1]?.({type:"cancel"}),t=[n,s],r??=o(),i}};var gc=class{constructor(t,r){this._filename=t;this._preview=GE(async(o,n,s)=>(this._dispose=await r(s?{filename:this.filename,before:o,after:n,render:(...i)=>{s.textContent="",s.append(...i)}}:{filename:this.filename,before:o}),!1))}get filename(){return this._filename}get blocks(){return this._blocks??[]}async update(t){if(await this._dispose?.(),!t||Mt(t)===""){let a=await this._preview(this.blocks);if(a.type==="cancel")return a;if(a.type==="reject")throw a.value;return this._area?.remove?.(),this._style?.remove?.(),this._area=void 0,this._style=void 0,this._blocks=void 0,{type:"resolve",value:!0}}let r=this.blocks;this._blocks=t,this.makeStyle();let o=this.makeArea(),n=t.at(0)?.at?.(-1)?.id,s=Tr(n);if(!s)throw new Error("div.lines#L${n}" could not be found.);s.insertAdjacentElement("afterend",o);let i=()=>{let a=s.getElementsByClassName("indent")[0];a instanceof HTMLElement&&(o.style.marginLeft=a.style.marginLeft)};return this._observer?.disconnect?.(),i(),this._observer=new MutationObserver(i),this._observer.observe(s,{childList:!0,subtree:!0}),this._preview(r,t,o)}makeArea(){if(this._area)return this._area;let t=document.createElement("div");return t.classList.add("scrap-run"),t.dataset.filename=this.filename,this._area=t,t}makeStyle(){let t=this.blocks.flatMap(o=>o.slice(1).map(({id:n})=>#L${n})),r=this.blocks.flatMap(o=>o.map(({id:n})=>#L${n}));this._style||(this._style=document.createElement("style"),document.head.append(this._style)),this._style.textContent=.lines:not(:has(:is(${...r.join(",")}).cursor-line)) :is(${...t.join(",")}){display:none}}_blocks;_dispose;_preview;_area;_observer;_style};var VE=({previewers:e})=>{let t=new Map,r=()=>{let s=WE(ft());for(let{changed:i,filename:a}of HE(t,s)){if(!i)continue;let c=s.get(a),l=t.get(a);if(!l){if(!c)continue;let u=e.find(({when:p})=>p.test(a))?.preview;if(!u)continue;l=new gc(a,u),t.set(a,l)}l.update(c).then(u=>{switch(u.type){case"resolve":u.value&&t.delete(a);return;case"reject":throw u.value;case"cancel":return}})}},o=()=>{if(scrapbox.Layout!=="page"){scrapbox.off("lines:changed",r);return}r(),scrapbox.on("lines:changed",r)};o(),scrapbox.on("page:changed",o);let n=document.createElement("style");return n.textContent=".scrap-run{display:block;width:95%}",document.head.append(n),()=>{scrapbox.off("page:changed",o),n.remove()}};var Os=e=>{let t=new FileReader,r=new Promise(o=>t.onload=()=>o(t.result));return t.readAsDataURL(e),r};var zE=async e=>{if(!("after"in e))return;let t=Mt(e.after),o=new DOMParser().parseFromString(t,"image/svg+xml").querySelector("parsererror");if(o){let i=document.createElement("pre"),a=document.createElement("code");a.innerText=o.innerHTML,i.append(a),e.render(i);return}let n=await Os(new Blob([t],{type:"image/svg+xml"})),s=document.createElement("img");s.src=n,e.render(s)};var wu={};Vs(wu,{default:()=>XE});var gC=Object.create,KE=Object.defineProperty,yC=Object.getOwnPropertyDescriptor,xC=Object.getOwnPropertyNames,bC=Object.getPrototypeOf,EC=Object.prototype.hasOwnProperty,wC=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),RC=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of xC(t))!EC.call(e,n)&&n!==r&&KE(e,n,{get:()=>t[n],enumerable:!(o=yC(t,n))||o.enumerable});return e},kC=(e,t,r)=>(r=e!=null?gC(bC(e)):{},RC(t||!e||!e.__esModule?KE(r,"default",{value:e,enumerable:!0}):r,e)),vC=wC((e,t)=>{t.exports=o;var r=Object.prototype.toString;function o(n){if(!n)return!1;var s=r.call(n);return s==="[object Function]"||typeof n=="function"&&s!=="[object RegExp]"||typeof window<"u"&&(n===window.setTimeout||n===window.alert||n===window.confirm||n===window.prompt)}}),qE=kC(vC()),XE=qE.default??qE;var Ru={};Vs(Ru,{default:()=>QE});var TC=Object.create,JE=Object.defineProperty,_C=Object.getOwnPropertyDescriptor,PC=Object.getOwnPropertyNames,SC=Object.getPrototypeOf,OC=Object.prototype.hasOwnProperty,LC=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),NC=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of PC(t))!OC.call(e,n)&&n!==r&&JE(e,n,{get:()=>t[n],enumerable:!(o=_C(t,n))||o.enumerable});return e},CC=(e,t,r)=>(r=e!=null?TC(SC(e)):{},NC(t||!e||!e.__esModule?JE(r,"default",{value:e,enumerable:!0}):r,e)),AC=LC((e,t)=>{var r=function(n){return n.replace(/^\s+|\s+$/g,"")},o=function(n){return Object.prototype.toString.call(n)==="[object Array]"};t.exports=function(n){if(!n)return{};for(var s=Object.create(null),i=r(n).split( ),a=0;a<i.length;a++){var c=i[a],l=c.indexOf(":"),u=r(c.slice(0,l)).toLowerCase(),p=r(c.slice(l+1));typeof s[u]>"u"?s[u]=p:o(s[u])?s[u].push(p):s[u]=[s[u],p]}return s}}),YE=CC(AC()),QE=YE.default??YE;var MC=(()=>{var e=globalThis;return{default:e}})(),IC=(()=>{var e=(...t)=>Object.assign({},...t);return{default:e}})(),An=e=>{let t=o=>typeof o.default<"u"?o.default:o,r=o=>Object.assign({__esModule:!0},o);switch(e){case"npm:global/window":return t(MC);case"is-function":return t(wu);case"parse-headers":return t(Ru);case"npm:xtend":return t(IC);default:return console.error('module "'+e+'" not found'),null}},FC=Object.create,ew=Object.defineProperty,UC=Object.getOwnPropertyDescriptor,DC=Object.getOwnPropertyNames,$C=Object.getPrototypeOf,jC=Object.prototype.hasOwnProperty,yc=(e=>typeof An<"u"?An:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof An<"u"?An:t)[r]}):e)(function(e){if(typeof An<"u")return An.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),BC=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),HC=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of DC(t))!jC.call(e,n)&&n!==r&&ew(e,n,{get:()=>t[n],enumerable:!(o=UC(t,n))||o.enumerable});return e},WC=(e,t,r)=>(r=e!=null?FC($C(e)):{},HC(t||!e||!e.__esModule?ew(r,"default",{value:e,enumerable:!0}):r,e)),GC=BC((e,t)=>{"use strict";var r=yc("npm:global/window"),o=yc("is-function"),n=yc("parse-headers"),s=yc("npm:xtend");t.exports=l,t.exports.default=l,l.XMLHttpRequest=r.XMLHttpRequest||f,l.XDomainRequest="withCredentials"in new l.XMLHttpRequest?l.XMLHttpRequest:r.XDomainRequest,i(["get","put","post","patch","head","delete"],function(m){l[m==="delete"?"del":m]=function(h,g,y){return g=c(h,g,y),g.method=m.toUpperCase(),u(g)}});function i(m,h){for(var g=0;g<m.length;g++)h(m[g])}function a(m){for(var h in m)if(m.hasOwnProperty(h))return!1;return!0}function c(m,h,g){var y=m;return o(h)?(g=h,typeof m=="string"&&(y={uri:m})):y=s(h,{uri:m}),y.callback=g,y}function l(m,h,g){return h=c(m,h,g),u(h)}function u(m){if(typeof m.callback>"u")throw new Error("callback argument missing");var h=!1,g=function(M,$,I){h||(h=!0,m.callback(M,$,I))};function y(){b.readyState===4&&setTimeout(k,0)}function x(){var M=void 0;if(b.response?M=b.response:M=b.responseText||p(b),_)try{M=JSON.parse(M)}catch{}return M}function E(M){return clearTimeout(S),M instanceof Error||(M=new Error(""+(M||"Unknown XMLHttpRequest Error"))),M.statusCode=0,g(M,A)}function k(){if(!R){var M;clearTimeout(S),m.useXDR&&b.status===void 0?M=200:M=b.status===1223?204:b.status;var $=A,I=null;return M!==0?($={body:x(),statusCode:M,method:L,headers:{},url:O,rawRequest:b},b.getAllResponseHeaders&&($.headers=n(b.getAllResponseHeaders()))):I=new Error("Internal XMLHttpRequest Error"),g(I,$,$.body)}}var b=m.xhr||null;b||(m.cors||m.useXDR?b=new l.XDomainRequest:b=new l.XMLHttpRequest);var v,R,O=b.url=m.uri||m.url,L=b.method=m.method||"GET",N=m.body||m.data,P=b.headers=m.headers||{},T=!!m.sync,_=!1,S,A={body:void 0,headers:{},statusCode:0,method:L,url:O,rawRequest:b};if("json"in m&&m.json!==!1&&(_=!0,P.accept||P.Accept||(P.Accept="application/json"),L!=="GET"&&L!=="HEAD"&&(P["content-type"]||P["Content-Type"]||(P["Content-Type"]="application/json"),N=JSON.stringify(m.json===!0?N:m.json))),b.onreadystatechange=y,b.onload=k,b.onerror=E,b.onprogress=function(){},b.onabort=function(){R=!0},b.ontimeout=E,b.open(L,O,!T,m.username,m.password),T||(b.withCredentials=!!m.withCredentials),!T&&m.timeout>0&&(S=setTimeout(function(){if(!R){R=!0,b.abort("timeout");var M=new Error("XMLHttpRequest timeout");M.code="ETIMEDOUT",E(M)}},m.timeout)),b.setRequestHeader)for(v in P)P.hasOwnProperty(v)&&b.setRequestHeader(v,P[v]);else if(m.headers&&!a(m.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in m&&(b.responseType=m.responseType),"beforeSend"in m&&typeof m.beforeSend=="function"&&m.beforeSend(b),b.send(N||null),b}function p(m){try{if(m.responseType==="document")return m.responseXML;var h=m.responseXML&&m.responseXML.documentElement.nodeName==="parsererror";if(m.responseType===""&&!h)return m.responseXML}catch{}return null}function f(){}}),ZE=WC(GC()),xc=ZE.default??ZE;var bc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pAe=function(){function e(r){this.value=r}function t(r){var o,n;function s(c,l){return new Promise(function(u,p){var f={key:c,arg:l,resolve:u,reject:p,next:null};n?n=n.next=f:(o=n=f,i(c,l))})}function i(c,l){try{var u=r[c](l),p=u.value;p instanceof e?Promise.resolve(p.value).then(function(f){i("next",f)},function(f){i("throw",f)}):a(u.done?"return":"normal",u.value)}catch(f){a("throw",f)}}function a(c,l){switch(c){case"return":o.resolve({value:l,done:!0});break;case"throw":o.reject(l);break;default:o.resolve({value:l,done:!1});break}o=o.next,o?i(o.key,o.arg):n=null}this._invoke=s,typeof r.return!="function"&&(this.return=void 0)}return typeof Symbol=="function"&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(r){return this._invoke("next",r)},t.prototype.throw=function(r){return this._invoke("throw",r)},t.prototype.return=function(r){return this._invoke("return",r)},{wrap:function(r){return function(){return new t(r.apply(this,arguments))}},await:function(r){return new e(r)}}}(),ow=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},nw=function(){function e(t,r){for(var o=0;o<r.length;o++){var n=r[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,r,o){return r&&e(t.prototype,r),o&&e(t,o),t}}(),ku=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}else return Array.from(e)},Ls="";function VC(e){return
<table style="background-color: #8CE; width: 100%; height: 100%;"><tr> <td align="center">
<div style="display: table-cell; vertical-align: middle;">
<div style="">+e+</div>
</div>
</td></tr></table>
}var zC=
This page requires a browser that supports WebGL.<br/>
,qC=
It does not appear your computer can support WebGL.<br/>
,KC=1,XC=2;function YC(e,t,r){function o(i){var a=e.parentNode;a&&(a.innerHTML=VC(i))}function n(i,a){typeof r=="function"?r(i):o(a)}if(!window.WebGLRenderingContext)return n(KC,zC),null;var s=JC(e,t);return s?s.getExtension("OES_standard_derivatives"):n(XC,qC),s}function JC(e,t){for(var r=["webgl","experimental-webgl"],o=null,n=0;n<r.length;++n)try{o=e.getContext(r[n],t)}catch{if(o)break}return o}function Mn(e,t,r,o){var n=e.gl,s=n.createShader(r);n.shaderSource(s,t),n.compileShader(s);var i=n.getShaderParameter(s,n.COMPILE_STATUS);return i?s:(Ls=n.getShaderInfoLog(s),console.error("*** Error compiling shader "+s+":"+Ls),e.trigger("error",{shader:s,source:t,type:r,error:Ls,offset:o||0}),n.deleteShader(s),null)}function tw(e,t,r,o){for(var n=e.gl,s=n.createProgram(),i=0;i<t.length;++i)n.attachShader(s,t[i]);if(r)for(var a=0;a<r.length;++a)n.bindAttribLocation(s,o?o[a]:a,r[a]);n.linkProgram(s);var c=n.getProgramParameter(s,n.LINK_STATUS);return c?s:(Ls=n.getProgramInfoLog(s),console.log("Error in program linking:"+Ls),n.deleteProgram(s),null)}function vu(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=[];for(var o in e){var n=e[o],s=void 0;if(t&&(o=t+"."+o),typeof n=="number")r.push({type:"float",method:"1f",name:o,value:n});else if(Array.isArray(n)){if(typeof n[0]=="number")n.length===1?r.push({type:"float",method:"1f",name:o,value:n}):n.length>=2&&n.length<=4?r.push({type:"vec"+n.length,method:n.length+"fv",name:o,value:n}):n.length>4&&r.push({type:"float[]",method:"1fv",name:o+"[0]",value:n});else if(typeof n[0]=="string")r.push({type:"sampler2D",method:"1i",name:o,value:n});else if(Array.isArray(n[0])&&typeof n[0][0]=="number"){if(n[0].length>=2&&n[0].length<=4)for(s=0;s<n.length;s++)r.push({type:"vec"+n[0].length,method:n[s].length+"fv",name:o+"["+s+"]",value:n[s]})}else if(bc(n[0])==="object")for(s=0;s<n.length;s++)r.push.apply(r,ku(vu(n[s],o+"["+s+"]")))}else typeof n=="boolean"?r.push({type:"bool",method:"1i",name:o,value:n}):typeof n=="string"?r.push({type:"sampler2D",method:"1i",name:o,value:n}):(typeof n>"u"?"undefined":bc(n))==="object"&&r.push.apply(r,ku(vu(n,o)))}return r}function QC(e){var t=e.getBoundingClientRect();return t.top+t.height>0&&t.top<(window.innerHeight||document.documentElement.clientHeight)}function rw(e){return(e&e-1)===0}function ZC(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function eA(e,t){return e&&t?e.toString()!==t.toString():!1}function tA(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(),t.status==200?t.responseText:""}function sw(e){var t=new Set;return Object.assign(e,{on:function(r,o){var n={};n[r]=o,t.add(n)},off:function(r,o){if(o){var n={};n[r]=o,t.delete(n)}else{var s=!0,i=!1,a=void 0;try{for(var c=t[Symbol.iterator](),l;!(s=(l=c.next()).done);s=!0){var u=l.value,p=!0,f=!1,m=void 0;try{for(var h=Object.keys(u)[Symbol.iterator](),g;!(p=(g=h.next()).done);p=!0){var y=g.value;if(y===r){t.delete(u);return}}}catch(x){f=!0,m=x}finally{try{!p&&h.return&&h.return()}finally{if(f)throw m}}}}catch(x){i=!0,a=x}finally{try{!s&&c.return&&c.return()}finally{if(i)throw a}}}},listSubscriptions:function(){var r=!0,o=!1,n=void 0;try{for(var s=t[Symbol.iterator](),i;!(r=(i=s.next()).done);r=!0){var a=i.value;console.log(a)}}catch(c){o=!0,n=c}finally{try{!r&&s.return&&s.return()}finally{if(o)throw n}}},subscribe:function(r){t.add(r)},unsubscribe:function(r){t.delete(r)},unsubscribeAll:function(){t.clear()},trigger:function(r){for(var o=arguments.length,n=Array(o>1?o-1:0),s=1;s<o;s++)n[s-1]=arguments[s];var i=!0,a=!1,c=void 0;try{for(var l=t[Symbol.iterator](),u;!(i=(u=l.next()).done);i=!0){var p=u.value;typeof p[r]=="function"&&p[r].apply(p,ku(n))}}catch(f){a=!0,c=f}finally{try{!i&&l.return&&l.return()}finally{if(a)throw c}}}})}var Tu=function(){function e(t,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ow(this,e),sw(this),this.gl=t,this.texture=t.createTexture(),this.texture&&(this.valid=!0),this.bind(),this.name=r,this.source=null,this.sourceType=null,this.loading=null,this.setData(1,1,new Uint8Array([0,0,0,255]),{filtering:"linear"}),this.setFiltering(o.filtering),this.load(o)}return nw(e,[{key:"destroy",value:function(){this.valid&&(this.gl.deleteTexture(this.texture),this.texture=null,delete this.data,this.data=null,this.valid=!1)}},{key:"bind",value:function(t){this.valid&&(typeof t=="number"&&e.activeUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),e.activeUnit=t),e.activeTexture!==this.texture&&(this.gl.bindTexture(this.gl.TEXTURE_2D,this.texture),e.activeTexture=this.texture))}},{key:"load",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.loading=null,typeof t.url=="string"?(this.url===void 0||t.url!==this.url)&&this.setUrl(t.url,t):t.element?this.setElement(t.element,t):t.data&&t.width&&t.height&&this.setData(t.width,t.height,t.data,t)}},{key:"setUrl",value:function(t){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.valid)return this.url=t,this.source=this.url,this.sourceType="url",this.loading=new Promise(function(n,s){var i=t.split(".").pop().toLowerCase(),a=i==="ogv"||i==="webm"||i==="mp4",c=void 0;a?(c=document.createElement("video"),c.autoplay=!0,c.muted=!0,setTimeout(function(){c.play()},1),o.filtering="nearest"):c=new Image,c.onload=function(){try{r.setElement(c,o)}catch(l){console.log("Texture '"+r.name+"': failed to load url: '"+r.source+"'",l,o)}n(r)},c.onerror=function(l){console.log("Texture '"+r.name+"': failed to load url: '"+r.source+"'",l,o),n(r)},ZC()&&r.source.slice(0,5)==="data:"||(c.crossOrigin="anonymous"),c.src=r.source,a&&r.setElement(c,o)}),this.loading}},{key:"setData",value:function(t,r,o){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.width=t,this.height=r,this.source=o,this.sourceType="data",this.update(n),this.setFiltering(n),this.loading=Promise.resolve(this),this.loading}},{key:"setElement",value:function(t,r){var o=this,n=t;if(typeof t=="string"&&(t=document.querySelector(t)),t instanceof HTMLCanvasElement||t instanceof HTMLImageElement||t instanceof HTMLVideoElement)this.source=t,this.sourceType="element",t instanceof HTMLVideoElement?(this.width=this.source.videoWidth,this.height=this.source.videoHeight,t.addEventListener("canplaythrough",function(){o.intervalID=setInterval(function(){o.update(r)},15)},!0),t.addEventListener("ended",function(){t.currentTime=0,t.play()},!0)):this.update(r),this.setFiltering(r);else{var s="the 'element' parameter (element: "+JSON.stringify(n)+") must be a CSS ";s+="selector string, or a <canvas>, <image> or <video> object",console.log("Texture '"+this.name+"': "+s,r)}return this.loading=Promise.resolve(this),this.loading}},{key:"update",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.valid&&(this.bind(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,t.UNPACK_FLIP_Y_WEBGL!==!1),this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.UNPACK_PREMULTIPLY_ALPHA_WEBGL||!1),this.sourceType==="element"&&(this.source instanceof HTMLCanvasElement||this.source instanceof HTMLVideoElement||this.source instanceof HTMLImageElement&&this.source.complete)?(this.source instanceof HTMLVideoElement?(this.width=this.source.videoWidth,this.height=this.source.videoHeight):(this.width=this.source.width,this.height=this.source.height),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.source)):this.sourceType==="data"&&this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.width,this.height,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.source),this.trigger("loaded",this))}},{key:"setFiltering",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.valid){this.powerOf2=rw(this.width)&&rw(this.height),this.filtering=t.filtering||"linear";var r=this.gl;this.bind(),this.powerOf2?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,t.TEXTURE_WRAP_S||r.REPEAT),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,t.TEXTURE_WRAP_T||r.REPEAT),this.filtering==="mipmap"?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR_MIPMAP_LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.generateMipmap(r.TEXTURE_2D)):this.filtering==="linear"?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR)):this.filtering==="nearest"&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST))):(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),this.filtering==="mipmap"&&(this.filtering="linear"),this.filtering==="nearest"?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST)):(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR)))}}}]),e}();Tu.getMaxTextureSize=function(e){return e.getParameter(e.MAX_TEXTURE_SIZE)};Tu.activeUnit=-1;var iw=function(){function e(t,r,o){var n=this;ow(this,e),sw(this),r=r||{},o=o||{},t.hasAttribute("data-fullscreen")&&(t.getAttribute("data-fullscreen")=="1"||t.getAttribute("data-fullscreen")=="true")?(this.width=window.innerWidth,this.height=window.innerHeight,t.width=window.innerWidth,t.height=window.innerHeight):(this.width=t.clientWidth,this.height=t.clientHeight),this.canvas=t,this.gl=void 0,this.deps={},this.program=void 0,this.textures={},this.buffers={},this.uniforms={},this.vbo={},this.isValid=!1,this.animationFrameRequest=void 0,this.BUFFER_COUNT=0,this.vertexString=r.vertexString||
precision mediump float;
attribute vec2 a_position;
attribute vec2 a_texcoord;
varying vec2 v_texcoord;
void main() {
gl_Position = vec4(a_position, 0.0, 1.0);
v_texcoord = a_texcoord;
}
,this.fragmentString=r.fragmentString||
precision mediump float;
varying vec2 v_texcoord;
void main(){
gl_FragColor = vec4(0.0);
}
;var s=YC(t,r,o.onError);if(!s)return;if(this.gl=s,this.timeLoad=this.timePrev=performance.now(),this.timeDelta=0,this.forceRender=!0,this.paused=!1,this.realToCSSPixels=window.devicePixelRatio||1,t.style.backgroundColor=r.backgroundColor||"rgba(1,1,1,0)",t.hasAttribute("data-fragment"))this.fragmentString=t.getAttribute("data-fragment");else if(t.hasAttribute("data-fragment-url")){var i=t.getAttribute("data-fragment-url");xc.get(i,function(g,y,x){n.load(x,n.vertexString)})}if(t.hasAttribute("data-vertex"))this.vertexString=t.getAttribute("data-vertex");else if(t.hasAttribute("data-vertex-url")){var a=t.getAttribute("data-vertex-url");xc.get(a,function(g,y,x){n.load(n.fragmentString,x)})}if(this.load(),!this.program)return;var c=s.getAttribLocation(this.program,"a_texcoord");this.vbo.texCoords=s.createBuffer(),this.gl.bindBuffer(s.ARRAY_BUFFER,this.vbo.texCoords),this.gl.bufferData(s.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),s.STATIC_DRAW),this.gl.enableVertexAttribArray(c),this.gl.vertexAttribPointer(c,2,s.FLOAT,!1,0,0);var l=s.getAttribLocation(this.program,"a_position");if(this.vbo.vertices=s.createBuffer(),this.gl.bindBuffer(s.ARRAY_BUFFER,this.vbo.vertices),this.gl.bufferData(s.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),s.STATIC_DRAW),this.gl.enableVertexAttribArray(l),this.gl.vertexAttribPointer(l,2,s.FLOAT,!1,0,0),t.hasAttribute("data-textures")){var u=t.getAttribute("data-textures").split(",");for(var p in u)this.setUniform("u_tex"+p,u[p])}var f={x:0,y:0};document.addEventListener("mousemove",function(g){f.x=g.clientX||g.pageX,f.y=g.clientY||g.pageY},!1);var m=this;function h(){m.nMouse>1&&m.setMouse(f),m.resize()&&(m.forceRender=!0),m.render(),m.animationFrameRequest=window.requestAnimationFrame(h)}return this.setMouse({x:0,y:0}),h(),this}return nw(e,[{key:"destroy",value:function(){cancelAnimationFrame(this.animationFrameRequest),this.animated=!1,this.isValid=!1;for(var t in this.textures)t.destroy&&t.destroy();this.textures={};for(var r in this.attribs)this.gl.deleteBuffer(this.attribs[r]);this.gl.useProgram(null),this.gl.deleteProgram(this.program);for(var o in this.buffers){var n=this.buffers[o];this.gl.deleteProgram(n.program)}this.program=null,this.gl=null}},{key:"load",value:function(t,r){var o=this;r&&(this.vertexString=r),t&&(this.fragmentString=t);var n=this.fragmentString.split(/\r?\n/);this.fragmentString=#define PLATFORM_WEBGL ,n.forEach(function(g,y){var x=g.trim();if(x.startsWith('#include "lygia')){var E=x.substring(15).replace(/\'|\"|\;|\s/g,"");if(E.endsWith("glsl")){if(o.deps[E]===void 0){var k="https://lygia.xyz"+E;o.deps[E]=tA(k)}o.fragmentString+=o.deps[E]+
}}else o.fragmentString+=g+
}),this.animated=!1,this.nDelta=(this.fragmentString.match(/u_delta/g)||[]).length,this.nTime=(this.fragmentString.match(/u_time/g)||[]).length,this.nDate=(this.fragmentString.match(/u_date/g)||[]).length,this.nMouse=(this.fragmentString.match(/u_mouse/g)||[]).length,this.animated=this.nDate>1||this.nTime>1||this.nMouse>1;var s=this.fragmentString.search(/sampler2D/g);if(s)for(var i=this.fragmentString.split(
),a=0;a<i.length;a++){var c=i[a].match(/uniform\s*sampler2D\s*([\w]*);\s*\/\/\s*([\w|\:\/\/|\.|\-|\_]*)/i);if(c){var l=c[2].split(".").pop().toLowerCase();c[1]&&c[2]&&(l==="jpg"||l==="jpeg"||l==="png"||l==="ogv"||l==="webm"||l==="mp4")&&this.setUniform(c[1],c[2])}var u=i[a].match(/\s*void\s*main\s*/g);if(u)break}var p=Mn(this,this.vertexString,this.gl.VERTEX_SHADER),f=Mn(this,this.fragmentString,this.gl.FRAGMENT_SHADER);f?this.isValid=!0:(f=Mn(this,void main(){
gl_FragColor = vec4(1.0);
},this.gl.FRAGMENT_SHADER),this.isValid=!1);var m=tw(this,[p,f]);this.gl.useProgram(m),this.gl.deleteShader(p),this.gl.deleteShader(f),this.program=m,this.change=!0,this.BUFFER_COUNT=0;var h=this.getBuffers(this.fragmentString);Object.keys(h).length&&this.loadPrograms(h),this.buffers=h,this.texureIndex=this.BUFFER_COUNT,this.trigger("load",{}),this.forceRender=!0,this.render()}},{key:"test",value:function(t,r,o){var n=this.vertexString,s=this.fragmentString,i=this.paused,a=this.gl.getExtension("EXT_disjoint_timer_query"),c=a.createQueryEXT(),l=this.isValid;(r||o)&&(this.load(r,o),l=this.isValid,this.forceRender=!0,this.render()),this.paused=!0,a.beginQueryEXT(a.TIME_ELAPSED_EXT,c),this.forceRender=!0,this.render(),a.endQueryEXT(a.TIME_ELAPSED_EXT);var u=this;function p(){u.paused=i,(r||o)&&u.load(s,n)}function f(){u.forceRender=!0,u.render();var m=a.getQueryObjectEXT(c,a.QUERY_RESULT_AVAILABLE_EXT),h=u.gl.getParameter(a.GPU_DISJOINT_EXT);if(m&&!h){var g={wasValid:l,frag:r||u.fragmentString,vert:o||u.vertexString,timeElapsedMs:a.getQueryObjectEXT(c,a.QUERY_RESULT_EXT)/1e6};p(),t(g)}else window.requestAnimationFrame(f)}f()}},{key:"loadTexture",value:function(t,r,o){var n=this;o||(o={}),typeof r=="string"?o.url=r:(typeof r>"u"?"undefined":bc(r))==="object"&&r.data&&r.width&&r.height?(o.data=r.data,o.width=r.width,o.height=r.height):(typeof r>"u"?"undefined":bc(r))==="object"&&(o.element=r),this.textures[t]?this.textures[t]&&(this.textures[t].load(o),this.textures[t].on("loaded",function(s){n.forceRender=!0})):(this.textures[t]=new Tu(this.gl,t,o),this.textures[t].on("loaded",function(s){n.forceRender=!0}))}},{key:"refreshUniforms",value:function(){this.uniforms={}}},{key:"setUniform",value:function(t){for(var r={},o=arguments.length,n=Array(o>1?o-1:0),s=1;s<o;s++)n[s-1]=arguments[s];r[t]=n,this.setUniforms(r)}},{key:"setUniforms",value:function(t){var r=vu(t);for(var o in r)r[o].type==="sampler2D"?this.loadTexture(r[o].name,r[o].value[0]):this.uniform(r[o].method,r[o].type,r[o].name,r[o].value);this.forceRender=!0}},{key:"setMouse",value:function(t){var r=this.canvas.getBoundingClientRect();if(t&&t.x&&t.x>=r.left&&t.x<=r.right&&t.y&&t.y>=r.top&&t.y<=r.bottom){var o=(t.x-r.left)*this.realToCSSPixels,n=this.canvas.height-(t.y-r.top)*this.realToCSSPixels;this.uniform("2f","vec2","u_mouse",o,n)}}},{key:"uniform",value:function(t,r,o){this.uniforms[o]=this.uniforms[o]||{};for(var n=this.uniforms[o],s=arguments.length,i=Array(s>3?s-3:0),a=3;a<s;a++)i[a-3]=arguments[a];var c=eA(n.value,i);if(c||this.change||!n.location||!n.value){n.name=o,n.type=r,n.value=i,n.method="uniform"+t,this.gl.useProgram(this.program),n.location=this.gl.getUniformLocation(this.program,o),this.gl[n.method].apply(this.gl,[n.location].concat(n.value));for(var l in this.buffers){var u=this.buffers[l];this.gl.useProgram(u.program);var p=this.gl.getUniformLocation(u.program,o);this.gl[n.method].apply(this.gl,[p].concat(n.value))}}}},{key:"uniformTexture",value:function(t,r,o){if(this.textures[t]===void 0)this.loadTexture(t,r,o);else{this.uniform("1i","sampler2D",t,this.texureIndex);for(var n in this.buffers){var s=this.buffers[n];this.gl.useProgram(s.program),this.gl.activeTexture(this.gl.TEXTURE0+this.texureIndex),this.gl.bindTexture(this.gl.TEXTURE_2D,this.textures[t].texture)}this.gl.useProgram(this.program),this.gl.activeTexture(this.gl.TEXTURE0+this.texureIndex),this.gl.bindTexture(this.gl.TEXTURE_2D,this.textures[t].texture),this.uniform("2f","vec2",t+"Resolution",this.textures[t].width,this.textures[t].height)}}},{key:"resize",value:function(){if(this.width!==this.canvas.clientWidth||this.height!==this.canvas.clientHeight){this.realToCSSPixels=window.devicePixelRatio||1;var t=Math.floor(this.gl.canvas.clientWidth*this.realToCSSPixels),r=Math.floor(this.gl.canvas.clientHeight*this.realToCSSPixels);return(this.gl.canvas.width!==t||this.gl.canvas.height!==r)&&(this.gl.canvas.width=t,this.gl.canvas.height=r,this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height)),this.width=this.canvas.clientWidth,this.height=this.canvas.clientHeight,this.resizeSwappableBuffers(),!0}else return!1}},{key:"render",value:function(){if(this.visible=QC(this.canvas),this.forceRender||this.change||this.animated&&this.visible&&!this.paused){var t=new Date,r=performance.now();this.timeDelta=(r-this.timePrev)/1e3,this.timePrev=r,this.nDelta>1&&this.uniform("1f","float","u_delta",this.timeDelta),this.nTime>1&&this.uniform("1f","float","u_time",(r-this.timeLoad)/1e3),this.nDate&&this.uniform("4f","float","u_date",t.getFullYear(),t.getMonth(),t.getDate(),t.getHours()*3600+t.getMinutes()*60+t.getSeconds()+t.getMilliseconds()*.001),this.uniform("2f","vec2","u_resolution",this.canvas.width,this.canvas.height);for(var o in this.buffers){var n=this.buffers[o];this.uniform("1i","sampler2D",n.name,n.bundle.input.index)}this.texureIndex=this.BUFFER_COUNT;for(var s in this.textures)this.uniformTexture(s),this.texureIndex++;this.renderPrograms(),this.trigger("render",{}),this.change=!1,this.forceRender=!1}}},{key:"pause",value:function(){this.paused=!0}},{key:"play",value:function(){this.paused=!1}},{key:"renderPrograms",value:function(){var t=this.gl,r=t.canvas.width,o=t.canvas.height;t.viewport(0,0,r,o);for(var n in this.buffers){var s=this.buffers[n];s.bundle.render(r,o,s.program,s.name),t.bindFramebuffer(t.FRAMEBUFFER,null)}t.useProgram(this.program),t.drawArrays(t.TRIANGLES,0,6)}},{key:"getBuffers",value:function(t){var r={};return t&&t.replace(/(?:^\s*)((?:#if|#elif)(?:\s*)(defined\s*\(\s*BUFFER_)(\d+)(?:\s*\))|(?:#ifdef)(?:\s*BUFFER_)(\d+)(?:\s*))/gm,function(){var o=arguments[3]||arguments[4];r["u_buffer"+o]={fragment:"#define BUFFER_"+o+
+t}}),r}},{key:"loadPrograms",value:function(t){var r=this,o=this.gl,n=Mn(r,r.vertexString,o.VERTEX_SHADER);for(var s in t){var i=t[s],a=Mn(r,i.fragment,o.FRAGMENT_SHADER,1);a?r.isValid=!0:(a=Mn(r,void main(){
gl_FragColor = vec4(1.0);
},o.FRAGMENT_SHADER),r.isValid=!1);var c=tw(r,[n,a]);i.name=s,i.program=c,i.bundle=r.createSwappableBuffer(r.canvas.width,r.canvas.height,c),o.deleteShader(a)}o.deleteShader(n)}},{key:"createSwappableBuffer",value:function(t,r,o){var n=this.createBuffer(t,r,o),s=this.createBuffer(t,r,o),i=this.gl;return{input:n,output:s,swap:function(){var a=n;n=s,s=a,this.input=n,this.output=s},render:function(a,c,l,u){i.useProgram(l),i.viewport(0,0,a,c),i.bindFramebuffer(i.FRAMEBUFFER,this.input.buffer),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,this.output.texture,0),i.drawArrays(i.TRIANGLES,0,6),this.swap()},resize:function(a,c,l,u){i.useProgram(l),i.viewport(0,0,a,c),this.input.resize(a,c),this.output.resize(a,c)}}}},{key:"createBuffer",value:function(t,r,o){var n=this.gl,s=this.BUFFER_COUNT;this.BUFFER_COUNT+=2,n.getExtension("OES_texture_float");var i=n.createTexture();n.activeTexture(n.TEXTURE0+s),n.bindTexture(n.TEXTURE_2D,i),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t,r,0,n.RGBA,n.FLOAT,null),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE);var a=n.createFramebuffer();return{index:s,texture:i,buffer:a,W:t,H:r,resize:function(c,l){n.bindFramebuffer(n.FRAMEBUFFER,a);var u=Math.min(c,this.W),p=Math.min(l,this.H),f=new Float32Array(u*p*4);n.readPixels(0,0,u,p,n.RGBA,n.FLOAT,f),n.bindFramebuffer(n.FRAMEBUFFER,null);var m=s+1,h=n.createTexture();n.activeTexture(n.TEXTURE0+m),n.bindTexture(n.TEXTURE_2D,h),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,c,l,0,n.RGBA,n.FLOAT,null),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,u,p,n.RGBA,n.FLOAT,f);var g=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,null),n.deleteTexture(i),n.activeTexture(n.TEXTURE0+s),n.bindTexture(n.TEXTURE_2D,h),s=this.index=s,i=this.texture=h,a=this.buffer=g,this.W=c,this.H=l}}}},{key:"resizeSwappableBuffers",value:function(){var t=this.gl,r=t.canvas.width,o=t.canvas.height;t.viewport(0,0,r,o);for(var n in this.buffers){var s=this.buffers[n];s.bundle.resize(r,o,s.program,s.name)}t.useProgram(this.program)}},{key:"version",value:function(){return"0.1.7"}}]),e}();function rA(){var e=document.getElementsByClassName("glslCanvas");if(e.length>0){window.glslCanvases=[];for(var t=0;t<e.length;t++){var r=new iw(e[t]);r.isValid&&window.glslCanvases.push(r)}}}window.addEventListener("load",function(){rA()});var Ec=iw;var aw=e=>{if(!("after"in e))return Promise.resolve(void 0);let t=document.createElement("canvas");return new Ec(t).load(Mt(e.after)),e.render(t),Promise.resolve(void 0)};var cw=e=>{let t="";for(let r=0;r<e.length;r+=3)r+2===e.length?t+=_u(e[r],e[r+1],0):r+1===e.length?t+=_u(e[r],0,0):t+=_u(e[r],e[r+1],e[r+2]);return t},wc=e=>e<10?String.fromCharCode(48+e):(e-=10,e<26?String.fromCharCode(65+e):(e-=26,e<26?String.fromCharCode(97+e):(e-=26,e===0?"-":e===1?"_":"?"))),_u=(e,t,r)=>{let o=e>>2,n=(e&3)<<4|t>>4,s=(t&15)<<2|r>>6,i=r&63;return wc(o&63)+wc(n&63)+wc(s&63)+wc(i&63)};var lw=async(e,t="svg")=>{let r=new Blob([new TextEncoder().encode(e)]).stream().pipeThrough(new CompressionStream("deflate")),o=new Uint8Array(await new Response(r).arrayBuffer());returnhttps://www.plantuml.com/plantuml/${t}/~1${cw(o)}};var pw=async e=>{if(!("after"in e))return;let t=document.createElement("img"),r=await lw(Mt(e.after));t.src=r,e.render(t)};var Pu=Promise.resolve({log:new Uint8Array(0)}),Rc,uw=(e,t,r,o)=>(Pu=(async()=>{await Pu,Rc??=await oA(t,r);let n=new Promise(i=>{let a=c=>{if(c.data.type==="stdout"){o(c.data.message);return}c.data.type==="compile"&&(i(c.data),Rc.removeEventListener("message",a))};Rc.addEventListener("message",a)}),s={type:"compile",input:e};return Rc.postMessage(s),n})(),Pu),oA=async(e,t)=>{let r=new Worker(e,{type:"module"}),o=new Promise(s=>{let i=a=>{a.data.type==="asset-url"&&(s(),r.removeEventListener("message",i))};r.addEventListener("message",i)}),n={type:"asset-url",url:${t}};return r.postMessage(n),await o,r};var mw=(e,t)=>async r=>{if(!("after"in r))return;let o=nA(),n="Compile is not started yet. Please wait...",s=l=>{n=[...n.split( ),l].join(
),o.log(n)},i=document.createElement("img"),a=setTimeout(()=>{r.render(o.div),o.log(n)},2e3),{svg:c}=await uw(Mt(r.after),e,t,s);if(clearTimeout(a),!c){r.render(o.div),o.log(n);return}i.src=await Os(new Blob([c],{type:"image/svg+xml"})),r.render(i)},nA=()=>{let e=document.createElement("div"),t=e.attachShadow({mode:"open"}),r=document.createElement("style");r.textContent='*{box-sizing:border-box;}pre{display:block;padding:9.5px;margin:0 0 10px;border:1px solid #ccc;border-radius:4px;height:20em;overflow:auto;font-size:13px;line-height:1.428571429;}pre code{padding:0;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:inherit;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;color:var(--code-color,#342d9c);background-color: rgba(0,0,0,0);border-radius:0;}',t.append(r);let o=document.createElement("pre"),n=document.createElement("code");return o.append(n),t.append(o),{div:e,log:s=>{n.textContent=s,o.scroll(0,o.scrollHeight)}}};var Ur=()=>/mobile/i.test(navigator.userAgent);var fw="Cannot complete the mapping as an error was thrown from an item";function Su(e,t,r){let o=new TransformStream({async transform(n,s){try{let i=await n;s.enqueue(i)}catch(i){i instanceof AggregateError&&i.message===fw&&s.error(i)}}});return(async()=>{let n=o.writable.getWriter(),s=[];try{for await(let i of t){let a=Promise.resolve().then(()=>r(i));n.write(a);let c=a.then(()=>s.splice(s.indexOf(c),1));s.push(c),s.length>=e&&await Promise.race(s)}await Promise.all(s),n.close()}catch{let i=[];for(let a of await Promise.allSettled(s))a.status==="rejected"&&i.push(a.reason);n.write(Promise.reject(new AggregateError(i,fw))).catch(()=>{})}})(),Symbol.asyncIterator in o.readable&&typeof o.readable[Symbol.asyncIterator]=="function"?o.readable[Symbol.asyncIterator]():async function*(){let n=o.readable.getReader();for(;;){let{done:s,value:i}=await n.read();if(s)break;yield i}n.releaseLock()}()}async function*dw(e,t){if(e.length===0||e.every(({before:o,after:n})=>o===n))return;let r=X(await ct());try{let{readable:o,writable:n}=new TransformStream(void 0),s=n.getWriter(),i=Su(5,e,async l=>{let u=0,p=0;l.before===l.after&&(await s.ready,await s.write({link:l,projectCount:0,replaced:0,done:!0}));let f=Su(2,new Set(t),async m=>{let h=await sA(l,m,r);if(G(h))throw iA(tn(h));u++,p+=X(h),await s.ready,await s.write({link:l,projectCount:u,replaced:p,done:!1})});await Array.fromAsync(f),await s.ready,await s.write({link:l,projectCount:u,replaced:p,done:!0})}),a=Array.fromAsync(i).then(async()=>{await s.ready,await s.close()}),c=o.getReader();for(;;){let{done:l,value:u}=await c.read();if(l)return;yield u}await a}finally{await lt(r)}}var sA=async(e,t,r)=>{let[o]=await Promise.all([hi(t,e.before,e.after),Se(t,e.before,(n,{persistent:s})=>{if(s)return[e.after,...n.map(i=>i.text).slice(1)]},{socket:r})]);return o},Dr=e=>e.split(
).flatMap(t=>[...t.matchAll(/\[((?:[^\[!"#%&'()\*\+,\-\.\/\{\|\}<>_~] |.[^ ]*)[^\[\]]*)\]/g)]).map(([,t])=>t),iA=e=>{let t=new Error;return t.name=e.name,t.message=e.message,t};var hw=e=>He(e,{hasTitle:!1}).flatMap(r=>{switch(r.type){case"title":return[];case"codeBlock":return aA(r);case"table":return cA(r);case"line":return lA(r)}}).map(r=>r).join(
),aA=({fileName:e,content:t,indent:r})=>{let o=" ".repeat(r);return[${o}code:${e},...t.split(
).map(n=>${o} ${n})]},cA=({fileName:e,cells:t,indent:r})=>{let o=" ".repeat(r);return[${o}table:${e},...t.map(n=>${o} ${n.map(s=>s.map(i=>Ns(i)).join("")).join(" ")})]},lA=({nodes:e,indent:t})=>[${" ".repeat(t)}${e.map(r=>${Ns(r)}).join("")}],Ns=e=>{switch(e.type){case"quote":return> ${e.nodes.map(t=>Ns(t)).join("")};case"strong":return${e.nodes.map(t=>Ns(t)).join("")};case"decoration":{let t=e.decos.map(r=>{let o=parseInt(r.match(/\*-(\d)/)?.[1]??"0");return o>0?"*".repeat(o):r}).join("");return[${t?${t} :""}${e.nodes.map(r=>Ns(r)).join("")}]}case"hashTag":return e.href;case"link":return e.pathType==="absolute"?e.raw:e.href;default:return e.raw}};scrapbox.PopupMenu.addButton({title:e=>Dr(e).length>0?"":"",onClick:e=>{let t=hw(e);if(e!=t)return t}});var gw=e=>!e.includes(
)&&/\[[^\]]+\]/.test(e);scrapbox.PopupMenu.addButton({title:e=>gw(e)?"[][]":"",onClick:e=>{if(!gw(e))return;let t=e.replaceAll("[","").replaceAll("]","");return(async()=>{let{render:r,dispose:o}=Oe();try{let n=scrapbox.Project.name;r({type:"spinner"},{type:"text",text:create /${n}/${t}}),await Se(n,t,([{text:s}],{persistent:i})=>{if(!i)return[s,e]}),r({type:"check-circle"},{type:"text",text:create /${n}/${t}})}catch(n){if(console.error(n),!(n instanceof Error))throw n;r({type:"exclamation-triangle"},{type:"text",text:${n.name} ${n.message}})}finally{await Ie(2e3),o()}})(),${t}}});var xw=(e,t)=>{switch(e.type){case"title":return"";case"codeBlock":return[e.fileName, \\`\`${gA(e.fileName)},e.content,"\n"].join(
);case"table":return pA(e);case"line":return mA(e,t)}},pA=e=>{let t=[e.fileName],r=Math.max(...e.cells.map(o=>o.length));return e.cells.forEach((o,n)=>{t.push(| ${o.map(s=>s.map(i=>In(i)).join("")).join(" | ")} |),n===0&&t.push(|${" -- |".repeat(r)})}),t.join(
)},uA=" ",mA=(e,t)=>{let r=e.nodes.map(n=>In(n,{section:e.indent===t})).join("").trim();if(r==="")return"";if(e.indent===t)return r;let o=uA.repeat(e.indent-t-1);return/^\d+\. /.test(r)||(o+="- "),o+r},In=(e,t)=>{let{section:r=!1}=t??{};switch(e.type){case"quote":return> ${e.nodes.map(o=>In(o)).join("")};case"helpfeel":return\? ${e.text}\`;case"image":case"strongImage":return;case"icon":case"strongIcon":return"/icons/hr","/scrapboxlab/hr".includes(e.path)?"---":"";case"strong":return**${e.nodes.map(o=>In(o)).join("")}**;case"formula":return$${e.formula}$;case"decoration":{let o=e.nodes.map(n=>In(n)).join("");return e.decos.includes("/")&&(o=*${o}*),r?(e.decos.includes("*-3")&&(o=`# ${o} ),e.decos.includes("*-2")&&(o=## ${o}
),e.decos.includes("*-1")&&(o=### ${o}
)):e.decos.some(n=>/\*-/.test(n[0]))&&(o=**${o}**),e.decos.includes("~")&&(o=~~${o}~~),o}case"code":return\${e.text}\`;case"commandLine":return\`${e.symbol} ${e.text}\`;case"link":switch(e.pathType){case"root":{let,o,...n=e.href.split("/");return[${e.href}](https://scrapbox.io/${o}/${yw(n.join("/"))})}case"relative":return[${e.href}](https://scrapbox.io/${scrapbox.Project.name}/${yw(e.href)});default:return e.content===""? ${e.href} :[${e.content}](${e.href})}case"googleMap":return[${e.place}](${e.url});case"hashTag":return[#${e.href}](https://scrapbox.io/${scrapbox.Project.name}/${e.href});case"numberList":return${e.number}. ${e.nodes.map(o=>In(o)).join("")};case"blank":case"plain":return e.text}},yw=e=>...e.map((t,r)=>t===" "?"_":!fA.includes(t)||r===e.length-1&&dA.includes(t)?encodeURIComponent(t):t).join(""),fA='@$&+=:;",',dA=':;",',hA=[{extensions:"javascript","js",fileType:"javascript"},{extensions:"typescript","ts",fileType:"typescript"},{extensions:"cpp","hpp",fileType:"cpp"},{extensions:"c","cc","h",fileType:"c"},{extensions:"cs","csharp",fileType:"cs"},{extensions:"markdown","md",fileType:"markdown"},{extensions:"htm","html",fileType:"html"},{extensions:"json",fileType:"json"},{extensions:"xml",fileType:"xml"},{extensions:"yaml","yml",fileType:"yaml"},{extensions:"toml",fileType:"toml"},{extensions:"ini",fileType:"ini"},{extensions:"tex","sty",fileType:"tex"},{extensions:"svg",fileType:"svg"}],gA=e=>{let t=e.replace(/^.*\.(\w+)$/,"$1");return hA.find(r=>r.extensions.includes(t))?.fileType??""};scrapbox.PopupMenu.addButton({title:"",onClick:e=>{(async()=>{try{let t=Cn.parse(e,{hasTitle:!1}),r=Math.min(...t.map(o=>o.indent));await navigator.clipboard.writeText(t.map(o=>xw(o,r)).join(` ))}catch(t){alert(Failed to copy:
${JSON.stringify(t)})}})()}});var Ou=(e,...t)=>{let r=t.reduce((o,n)=>$e(o)?o:o instanceof Promise?o.then(s=>$e(s)?s:n(s)):n(o),e);return r instanceof Promise?r.then(o=>${o}):${e}};var Fn=e=>e.ok?ce(e):Q({name:"HTTPError",message:${e.status} ${e.statusText},response:e});var bw=e=>window.GM_fetch?.(https://cdn.syndication.twimg.com/tweet-result?id=${e}&token=x)?.then?.(t=>Tt(Fn(t),r=>r.json()));var kc=e=>{let{fetch:t=globalThis.fetch,...r}=e;return{fetch:t,...r}},Ew=e=>typeof e=="object"&&e!==null;var Cs=class e extends Error{name="UnexpectedResponseError";status;statusText;body;path;constructor(t){super(${t.status} ${t.statusText} when fetching ${t.path.toString()}),this.status=t.status,this.statusText=t.statusText,this.body=t.body,this.path=t.path,Error.captureStackTrace&&Error.captureStackTrace(this,e)}};var vc=async e=>{let t=await e.text();if(e.ok)return ce(t);if(e.status===400)return Q({name:"BadRequestError",message:t});try{let r=JSON.parse(t);if(!Ew(r)||typeof r.message!="string")throw new Cs({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)});switch(e.status){case 401:return Q({name:"UnauthorizedError",message:r.message});case 403:return Q({name:"NotPrivilegeError",message:r.message});case 404:return Q({name:"NotFoundError",message:r.message});case 422:return Q({name:"InvalidParameterError",message:r.message});case 429:return Q({name:"RateLimitError",message:r.message});default:throw new Cs({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)})}}catch(r){throw r instanceof SyntaxError?new Cs({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)}):r}};var ww=async(e,t)=>{let{title:r,description:o,metadataIsPublic:n,collectionId:s,refererURL:i,accessToken:a,created:c,app:l,fetch:u}=kc(t),p=new FormData;p.append("imagedata",e),p.append("access_token",a),i&&p.append("referer_url",i.toString()),l!==void 0&&p.append("app",l),r!==void 0&&p.append("title",r),o!=null&&p.append("desc",o),s&&p.append("collection_id",s),n&&p.append("metadata_is_public","true"),c!==void 0&&p.append("created_at",${c});let f=await u("https://upload.gyazo.com/api/upload",{method:"POST",mode:"cors",credentials:"omit",body:p}),m=await vc(f);return H(m)?m:ce(JSON.parse(W(m)))};var Rw=(e,t)=>{let r=new FormData;return r.append("data",e),r.append("metadata",JSON.stringify({app:"Gyazo",title:e.name})),GM_fetch(https://gif.gyazo.com/${t?.teams?"teams":"gif"}/upload,{method:"POST",body:r,credentials:"include",headers:{Origin:"https://gyazo.com","sec-fetch-site":"same-site"},referrer:"https://gyazo.com/"})};var Tc="",kw=!1,_c=new Map,vw=async(e,t,r,o)=>{let n=_c.get(e.href);if(n)return n;if(e.hostname==="video.twimg.com"||${e}.endsWith(".svg")){let c=await GM_fetch(e);if(!c.ok)return;let l=c.headers.get("content-type")?.split?.(";")?.[0]??${e}.endsWith(".mp4")?"video/mp4":"video/webm",u=new File([await c.blob()],o||${t},{type:l});if(l==="video/mp4"){let m=await Rw(u);if(m.ok){let h=new URL(await m.text());return _c.set(e.href,h),h}}let p=await Xf(u,r);if(H(p))throw Error(re(p).name);let f=new URL(W(p).embedUrl);return _c.set(e.href,f),f}if(e.hostname!=="pbs.twimg.com"||!e.pathname.startsWith("/media"))return;if(kw){if(!Tc)return}else{let c=await Ff();if(kw=!0,H(c)){alert("You haven't logged in Gyazo yet, so you can only upload images to scrapbox.io.");return}if(Tc=W(c)||"",!Tc){alert("You haven't connect Gyazo to scrapbox.io yet.");return}}let s=await GM_fetch(e);if(!s.ok)return;let i=await ww(await s.blob(),{accessToken:Tc,refererURL:t,description:o});if(H(i))throw Error(re(i).name);let a=new URL(W(i).permalink_url);return _c.set(e.href,a),a};var Pw=[["&","&"],["<","<"],[">",">"],['"',"""],["'","'"]],yA=Object.fromEntries([...Pw.map(([e,t])=>[t,e]),["'","'"],[" "," "]]),xA=new Map(Pw),yMe=new RegExp([${...xA.keys().join("")}],"g");var bA={entityList:yA},EA=1114111,wA=/&#([0-9]+);/g,RA=/&#x(\p{AHex}+);/gu,Tw=new WeakMap;function Lu(e,t={}){let{entityList:r}={...bA,...t},o=Tw.get(r);return o||(o=new RegExp((${Object.keys(r).sort((n,s)=>s.length-n.length).join("|")}),"g"),Tw.set(r,o)),e.replaceAll(o,n=>r[n]).replaceAll(wA,(n,s)=>_w(s,10)).replaceAll(RA,(n,s)=>_w(s,16))}function _w(e,t){let r=parseInt(e,t);return r>EA?"�":String.fromCodePoint(r)}var Pc=e=>{let t={name:e.user.name,screenName:e.user.screen_name},r=new Date(e.created_at),o=[...e.entities.hashtags.map(i=>({type:"hashtag",...i})),...e.entities.symbols.map(i=>({type:"symbol",...i})),...e.entities.user_mentions.map(i=>({type:"mention",name:i.name,screenName:i.screen_name,indices:i.indices})),...e.entities.urls.map(i=>{let a={type:"url",indices:i.indices,url:new URL(i.expanded_url)};if(e.card&&e.card?.url===i.url){let{description:c,title:l}=e.card.binding_values,u="STRING";c?.type===u&&(a.description=c.string_value),l?.type===u&&(a.title=l.string_value)}return a}),...e.entities.media?.map?.(i=>({type:"media",indices:i.indices,media:e.mediaDetails?.flatMap?.(a=>a.url===i.url?[{type:a.type,url:new URL(a.video_info?.variants?.sort?.((c,l)=>(l.bitrate??0)-(c.bitrate??0))?.[0].url??a.media_url_https)}]:[])??[]}))??[]].sort((i,a)=>i.indices[0]-a.indices[0]),n=[];{let i=0,a=e.text;for(let{indices:c,...l}of o){let u=[...a].slice(0,c[0]-i).join("");n.push({type:"plain",text:Lu(u)}),n.push(l),a=[...a].slice(c[1]-i).join(""),i=c[1]}a&&n.push({type:"plain",text:Lu(a)})}let s={id:e.id_str,content:n,author:t,posted:r,replyCount:"reply_count"in e?e.reply_count:e.conversation_count};return e.self_thread&&(s.rootId=e.self_thread.id_str),e.in_reply_to_status_id_str&&(s.replyId=e.in_reply_to_status_id_str),e.parent&&(s.replyTo=Pc(e.parent)),e.quoted_tweet&&(s.quote=Pc(e.quoted_tweet)),s};var kA=["landing","product","enterprise","pricing","try-enterprise","contact","terms","privacy","jp-commercial-act","support","case","features","business","auth","login","logout","oauth2","_","api","app.html","assets","file","files","billing","billings","config","feed","index","io","new","opensearch","project","projects","search","setting","settings","setup-profile","slide","socket.io","stream","user","users"],Sc=(e=scrapbox.Project.name,t=location.host)=>r=>{if(r.host!==t)return r;let[,o,n]=r.pathname.match(/^\/([\w\d][\w\d-]{0,22}[\w\d])(?:\/?|\/(.+))$/)??[];return!o||kA.includes(o)?r:n?o===e?${decodeURIComponent(n)}:/${o}/${decodeURIComponent(n)}:/${o}};var Sw=(e=vA)=>t=>{let[,r]=t.href.match(/^https:\/\/(?:www\.|mobile\.|m\.|)(?:twitter|x)\.com\/[A-Za-z0-9_]*\/(?:status|statuses)\/(\d+)/)??[];return r?(async()=>{let o=await(bw(r)??If(t.href));if(H(o))throw re(o);let n=W(o);return e("images"in n?{...n,id:r}:n,t)})():t},vA=async e=>{if("images"in e)return As(e);let{quote:t,replyTo:r,...o}=Pc(e);return[...r?[...(await As(r)).split( ).map(n=> > ${n}),...r.quote?(await As(r.quote)).split(
).map(n=> > ${n}):[]]:[],...(await As(o)).split(
).map(n=>> ${n}),...t?(await As(t)).split(
).map(n=>> > ${n}):[]].join(
)?.map?.(n=>> ${Cu(n)})??["> [/ no description provided]"],...e.images.length>0?[> ${e.images.map(n=>[${n}])}]:[]].join(
);let r=e.content,o=e.author.screenName;return[@${Cu(o)} ${t},...(await Promise.all(r.map(async n=>{switch(n.type){case"plain":return n.text;case"hashtag":return #${n.text} ;case"symbol":return #$${n.text} ;case"mention":return@${n.screenName};case"media":{let s=[],i=1;for(;i<n.media.length;i+=2)s.push([${await Nu(n.mediai-1,t)}] [${await Nu(n.mediai,t)}]);return i===n.media.length&&s.push([${await Nu(n.mediai-1,t)}]), ${s.join(`
`)}
}case"url":return${Sc()(n.url)} }}))).join("").split(
)].join(
)},Oc="",TA=async()=>{if(Oc)return Oc;let e=await br(scrapbox.Project.name);if(H(e))throw new Error(re(e).name);return Oc=W(e).id,Oc},Nu=async(e,t)=>await vw(e.url,t,await TA(),"")??e.url,Cu=e=>e.replace(/\b/gm,"").replace(/[\s\r\n\u2028\u2029]+/gm," ").replace(/\s*[[\]]\s*/g," ").trim();var Ow=e=>window.GM_fetch?.(https://t.co/${e})?.then?.(t=>Tt(Fn(t),async r=>{let o=new DOMParser().parseFromString(await r.text(),"text/html");try{return new URL(o.title)}catch(n){if(n instanceof TypeError)return;throw n}}));var Lw=e=>{let t=window.GM_fetch;if("bit.ly","amzn.to","amzn.asia","goo.gl","s.nikkei.com","apple.co","nico.ms","w.wiki".includes(e.hostname)&&t)return t(e).then(o=>o.ok?new URL(o.url):e);if(e.hostname!=="t.co")return e;let r=Ow(e.pathname.slice(1));return r?r.then(o=>gl(o,()=>e,n=>n??e)):e};var Nw=e=>{if(!e.pathname.startsWith("/wiki/"))return e;if(!/^\w+\.wikipedia\.org$/.test(e.hostname)){let,n=e.hostname.match(/^(\w+)\.m\.wikipedia\.org$/)??[];if(!n)return e;e.hostname=${n}.wikipedia.org}let t=decodeURIComponent(e.pathname.slice(6)),r=e.hash?decodeURIComponent(e.hash.slice(1)):"",o=${e.origin}/wiki/${t};return r?[${r} | ${t} - Wikipedia ${o}#${r}]:[${t} - Wikipedia ${o}]};var Cw=e=>{if(e.hostname!=="www.wikiwand.com")return e;let,t,r=e.pathname.match(/^\/(^\/+)\/(^\/+)/)??[];return!t||!r||(e.hostname=${t}.wikipedia.org,e.pathname=/wiki/${r},e.hash=e.hash.startsWith("#/")?#${e.hash.slice(2)}:e.hash),e};var Au=e=>{if(!e.hostname.startsWith("www.google."))return e;let t=e.searchParams.get("url");return t?new URL(decodeURIComponent(t)):e};var Aw=/charset=(^;+)/,Mw=e=>window.GM_fetch?.(${e})?.then?.(t=>Tt(Fn(t),async r=>{let o=r.headers.get("content-type")?.match?.(Aw)?.1??await _A(r.clone());return new TextDecoder(o).decode(await r.arrayBuffer())})),_A=async e=>{let t=new DOMParser().parseFromString(await e.text(),"text/html");return t.querySelector("metacharset")?.getAttribute?.("charset")??t.querySelector('metahttp-equiv="content-type"')?.getAttribute?.("content")?.match?.(Aw)?.1??"utf-8"};var Iw=(e=PA)=>async t=>e(await SA(t),t),PA=(e,t)=>{let r=($e(e)?e:e.title).replace(/\s/g," ").replaceAll("","[").replaceAll("","]");return r?[${t.hash?${decodeURIComponent(t.hash.slice(1))} | :""}${r} ${t}]:${t}},SA=async e=>{let t=Mw(e);if(!t){let o=await Mf(e);if(H(o))throw re(o);return W(o)}let r=await t;if(H(r))throw re(r);return new DOMParser().parseFromString(W(r),"text/html")};var Fw=e=>{if(!/^(?:www\.)?amazon(?:\.co|com)?\.(?:au|br|ca|fr|de|in|it|jp|mx|nl|sg|es|tr|ae|uk|cn)$/.test(e.hostname))return e;let,t=e.pathname.match(/\/dp\/(\w\d+)/)??e.pathname.match(/\/gp\/product\/(\w\d+)/)??e.pathname.match(/\/exec\/obidos\/asin\/(\w\d+)/)??e.pathname.match(/\/o\/ASIN\/(\w\d+)/)??[];return t&&(e.hash="",e.search="",e.pathname=/dp/${t}),e};var Uw=e=>{if(!/(?:0-9a-z-\.)?gyazo\.com/.test(e.hostname))return e;let,t=e.pathname.match(/^\/(0-9a-f{32})(?:\/raw)?$/)??[];return t?[https://gyazo.com/${t}]:e};var Dw=(e,...t)=>{if(e instanceof URL)return Ou(new URL(e),...t);let r=0,o=0,n=0,s=!1,i=e.split(/(https?:\/\/\S+)/g).map(u=>{if(!/^https?:\/\/\S+$/.test(u))return u;r++;try{let p=Ou(new URL(u),...t);return $e(p)?(o++,p):(s=!0,p,u)}catch(p){return console.error(p),n++,u}});if(!s)return i.join("");let{render:a,dispose:c}=Oe(),l=()=>a({type:"spinner"},{type:"text",text:URL: ${o}/${r} converted, ${n} failed});return l(),Promise.all(i.map(async u=>{if($e(u))return u;try{let p=await u0;return o++,p}catch(p){return console.error(p),n++,u1}finally{l()}})).then(u=>(a({type:"check-circle"},{type:"text",text:URL: ${o}/${r} converted, ${n} failed}),u.join(""))).finally(()=>{setTimeout(c,1e3)})};var $w=e=>{if(!/^(?:\w+\.nicovideo\.jp|nico\.ms)$/.test(e.hostname))return e;let t=e.pathname.match(/(?:sm|nm|so|ca|ax|yo|nl|ig|na|cw|za-e|om|sk|yk|lv)\d{1,14}$/)?.0;return t?[https://nicothumb2img.vercel.app/image/${t}#.png https://nico.ms/${t}]:e};var jw=e=>He(e,{hasTitle:!1}).flatMap(r=>{switch(r.type){case"title":return[];case"codeBlock":return OA(r);case"table":return LA(r);case"line":return NA(r)}}).map(r=>r).join(` ),OA=({fileName:e,content:t,indent:r})=>{let o=" ".repeat(r);return[${o}code:${e},...t.split(
).map(n=>${o} ${n})]},LA=({fileName:e,cells:t,indent:r})=>{let o=" ".repeat(r);return[${o}table:${e},...t.map(n=>${o} ${n.map(s=>s.map(i=>i.raw).join("")).join(" ")})]},NA=({nodes:e,indent:t})=>[${" ".repeat(t)}${e.map(r=>${Ms(r)}).join("")}],Ms=e=>{switch(e.type){case"quote":return> ${e.nodes.map(t=>Ms(t)).join("")};case"helpfeel":return-? ${e.text};case"commandLine":return-${e.symbol} ${e.text};case"icon":case"strongIcon":case"image":case"strongImage":case"formula":case"code":case"googleMap":return e.raw;case"strong":return${e.nodes.map(t=>Ms(t)).join("")};case"decoration":{e.decos.includes("-")||e.decos.push("-");let t=e.decos.map(r=>{let o=parseInt(r.match(/\*-(\d)/)?.[1]??"0");return o>0?"*".repeat(o):r}).join("");return[${t?${t} :""}${e.nodes.map(r=>Ms(r)).join("")}]}case"link":switch(e.pathType){case"root":case"relative":return${e.href};case"absolute":return[- ${e.content?${e.content} :""}${e.href}]]}case"hashTag":return#${e.href};case"numberList":return${e.number}. ${e.nodes.map(t=>Ms(t)).join("")};case"blank":case"plain":return${e.text}}};scrapbox.PopupMenu.addButton({title:"",onClick:e=>{let t=jw(e);if(e!==t)return t}});var Mu=e=>{let t=e.indexOf( );if(t<0)return;let r=e.slice(0,t).split(
).map(s=>{let[i="",a=""]=s.split(" => ",2);return[i,a]});if(r.length===0)return;let o=e.slice(t+2).split(
);if(o.length===0)return;for(let[s,i]of r){let a=s.match(/^\/(.*?)\/([gimy]*)$/);if(a){let c=new RegExp(a[1],a[2]);o=o.map(l=>l.replace(c,i.replaceAll("\\n",
)))}else o=o.map(c=>c.replaceAll(s,i.replaceAll("\\n",
)))}let n=${e.slice(0,t+2)}${o.join(`
)};if(e!==n)return n};scrapbox.PopupMenu.addButton({title:e=>Mu(e)?"replace":"",onClick:e=>{let t=Mu(e);if(t!==void 0)return t}});var Bw=e=>{let t=document.createElement("div"),r=t.attachShadow({mode:"open"}),o=document.createElement("style");o.textContent="dialog::backdrop{background-color:#000c}dialog{flex-direction:column;align-items:center;row-gap:10px;padding:10px;background:unset;margin-top:unset;margin-bottom:unset;border:unset;height:unset}dialogopen{display:flex}dialog>*{color:var(--page-text-color, #4a4a4a);background-color:var(--dropdown-menu-bg, #fff);border:1px solid rgba(0,0,0,.2);border-radius:6px}@media (min-width: 768px){dialog{padding:30px 0}}.container{display:flex;padding:5px;gap:0.2em;flex-direction:column;width:100%;}.button-container{flex-direction:unset;}.button-container>*{flex:1;}",r.append(o);let n=document.createElement("dialog");n.insertAdjacentHTML("beforeend",` <div class="container">
Replace Links:
<textarea class="editor"></textarea>
<div class="container button-container">
<button class="cancel">cancel</button>
<button class="replace">replace</button>
</div>
</div>
),r.append(n);let s=n.querySelector(".editor");s.rows=e.length,s.value=e.join(
);let i=()=>{n.style.minWidth=${Math.max(...s.value.split(`
).map(u=>[...u].length))+6}em};i(),s.addEventListener("input",i);let a=n.querySelector(".cancel"),c=n.querySelector(".replace"),l=new Promise(u=>{let p=()=>{u({convert:!1}),t.remove()};n.addEventListener("close",p),n.addEventListener("click",p),a.addEventListener("click",p),c.addEventListener("click",()=>{let f=s.value.split(`
);u({convert:!0,links:e.flatMap((m,h)=>m===f[h]||m===""||!f[h]?[]:[{before:m,after:f[h]??m}])}),t.remove()}),n.querySelector(".container").addEventListener("click",f=>{f.stopPropagation()})});return document.body.append(t),n.showModal(),l};var Hw=async(e,t)=>{let r=Dr(e),o=await Bw([...new Set(r)]);if(!o.convert||o.links.length===0)return;let n=new Map(o.links.map(s=>[s.before,Oe()]));for await(let{link:s,projectCount:i,replaced:a,done:c}of dw(o.links,t)){let l=n.get(s.before);if(!l)return;if(c){l.render({type:"check-circle"},{type:"text",text:"${s.after}", ${a}l. ${i}p.}),setTimeout(()=>l.dispose(),1e3);return}l.render({type:"spinner"},{type:"text",text:"${s.after}", ${a}l. ${i}p.})}};var Ww=async(e,t)=>{let r=Dr(e)[0];if(!r)return;let o=window.prompt(Replace "${r}" to this in ${t.map(a=>"/${a}").join(", ")},r)?.replace?.(/[\[\]\n]/g," ")??"";if(o==="")return;let{render:n,dispose:s}=Oe(),i=W(await ct());try{n({type:"spinner"},{type:"text",text:Replacing links in ${t.length} projects...});let a=0,l=(await Promise.all(t.map(async u=>{let[p]=await Promise.all([hi(u,r,o),Se(u,r,(f,{persistent:m})=>{if(m)return[o,...f.map(h=>h.text).slice(1)]},{socket:i})]);if(H(p))throw n({type:"exclamation-triangle"},{type:"text",text:${re(p).name} ${re(p).message}}),CA(re(p));return a++,n({type:"spinner"},{type:"text",text:Replacing links in ${t.length-a} projects...}),W(p)}))).reduce((u,p)=>u+p,0);n({type:"check-circle"},{type:"text",text:Successfully replaced ${l} links.})}finally{await lt(i),setTimeout(s,1e3)}},CA=e=>{let t=new Error;return t.name=e.name,t.message=e.message,t};var Gw=e=>{let t=[scrapbox.Project.name,...e];scrapbox.PopupMenu.addButton({title:r=>{let o=Dr(r).length;return o>1?"update links":o===1?"update a link":""},onClick:r=>{let o=Dr(r).length;o>1?Hw(r,t):o===1&&Ww(r,t)}})};scrapbox.PopupMenu.addButton({title:e=>/[\n..。]/.test(e)?"\\n":"",onClick:e=>e.replace(/(\w)\n(\w)/g,"$1 $2").replaceAll(
,"").replaceAll(".",.
).replaceAll(".",.
).replaceAll("。",。
)});scrapbox.PopupMenu.addButton({title:e=>/https:\/\/(?:thumb\.|i\.)?gyazo\.com\/[a-z0-9]+/.test(e)?globalThis.GM_fetch?"copy Gyazo OCR":"open Gyazo":"",onClick:async e=>{let t=e.match(/https:\/\/(?:thumb\.|i\.)?gyazo\.com\/([a-z0-9]+)/)?.[1];if(!t)return;if(!globalThis.GM_fetch){window.open(https://gyazo.com/${t});return}let o=(await(await GM_fetch(https://gyazo.com/${t}.json)).json()).metadata?.ocr?.description;if(o)try{await navigator.clipboard.writeText(o)}catch(n){console.error(n),alert(${n.name} ${n.message})}}});scrapbox.PopupMenu.addButton({title:e=>/https:\/\/gyazo\.com\/[a-z0-9]+/.test(e)?"":"",onClick:e=>{let t=e.match(/https:\/\/gyazo\.com\/([a-z0-9]+)/)?.[1];t&&window.open(https://gyazo.com/${t}/transform)}});var Vw=e=>{let t="",r=0;for(let o of e)if(o.type!=="title"){if(o.indent>r)for(let n=r;n<o.indent;n++)t+=Is(${n!==r?"\\item":""}\\begin{itemize},n*2)+ ;if(o.indent<r)for(let n=r;n>o.indent;n--)t+=Is("\\end{itemize}",(n-1)*2)+
;r=o.indent,t+=Is(${r>0?"\\item ":""}${AA(o)},r*2)+
}for(let o=r;o>0;o--)t+=Is("\\end{itemize}",(o-1)*2)+
${e.content}
\\end{lstlisting},IA=e=>{let t=\\caption{${vt(e.fileName)}}\\label{table:${vt(e.fileName)}},r=Math.max(...e.cells.map(n=>n.length)),o=e.cells.map(n=> ${n.map(s=>s.map(i=>Un(i)).join("")).join(" & ")}\\\\);return\\begin{table}htbp ${t}
\\centering
\\begin{tabular}{${"c".repeat(r)}}
${o.length===0?"":o.length===1?` \\toprule
${o.join(`
`)}
\\bottomrule: \\toprule
\\midrule
${o.slice(1).join(`
`)}
\\bottomrule`}
\\end{tabular}
\\end{table}},FA=e=>e.nodes.map(t=>Un(t)).join(""),Un=e=>{switch(e.type){case"quote":return\\begin{quote}
${Is(e.nodes.map(t=>Un(t)).join(""),2)}
\\end{quote};case"image":case"strongImage":return\\begin{figure}hbtp iamge:\\url{${e.src}}
\\end{figure};case"icon":case"strongIcon":return\\textit{${vt(e.path)}};case"strong":return\\textbf{${e.nodes.map(t=>Un(t)).join("")}};case"formula":return$${e.formula}$;case"decoration":{let t=e.nodes.map(r=>Un(r)).join("");return e.decos.includes("/")&&(t=\\textit{${t}}),e.decos.some(r=>/\*-/.test(r[0]))&&(t=\\textbf{${t}}),e.decos.includes("_")&&(t=\\uline{${t}}),e.decos.includes("-")&&(t=\\sout{${t}}),t}case"numberList":return${e.number}. ${e.nodes.map(t=>Un(t)).join("")};case"helpfeel":return\\lstinline!? ${vt(e.text)}!;case"code":return\\lstinline!${vt(e.text)}!;case"commandLine":return\\lstinline!${vt(e.symbol)} ${vt(e.text)}!;case"link":return e.pathType==="absolute"?e.content===""?\\url{${e.href}}:\\href{${e.href}}{${vt(e.content)}}:vt(e.href);case"googleMap":return\\href{${e.url}}{${vt(e.place)}};case"hashTag":return vt(#${e.href});case"blank":case"plain":return vt(e.text)}},UA=[{extensions:["javascript","js"],fileType:"javascript"},{extensions:["typescript","ts"],fileType:"typescript"},{extensions:["cpp","hpp"],fileType:"C++"},{extensions:["c","cc","h"],fileType:"C"},{extensions:["cs","csharp"],fileType:"cs"},{extensions:["markdown","md"],fileType:"markdown"},{extensions:["htm","html"],fileType:"html"},{extensions:["json"],fileType:"json"},{extensions:["xml"],fileType:"xml"},{extensions:["yaml","yml"],fileType:"yaml"},{extensions:["toml"],fileType:"toml"},{extensions:["ini"],fileType:"ini"},{extensions:["tex","sty"],fileType:"tex"},{extensions:["svg"],fileType:"svg"}],DA=e=>{let t=e.replace(/^.*\.(\w+)$/,"$1");return UA.find(r=>r.extensions.includes(t))?.fileType??""},vt=e=>e.replaceAll("\\","\\textbackslash ").replaceAll("#","\\#").replaceAll("%","\\%").replaceAll("$","\\$").replaceAll("&","\\&").replaceAll("~","\\textasciitilde ").replaceAll("^","\\textasciicircum ").replaceAll("_","\\_").replaceAll("{","\\{").replaceAll("}","\\}").replaceAll("|","\\textbar ").replaceAll("<","\\textless ").replaceAll(">","\\textgreater "),Is=(e,t)=>e.split( ).map(r=>${" ".repeat(t)}${r}).join(
);scrapbox.PopupMenu.addButton({title:"TeX",onClick:e=>{navigator.clipboard.writeText(Vw(He(e))).catch(t=>{console.error(t),alert(${t.name} ${t.message}
${t.stack})})}});var Lc="https://keicho.herokuapp.com/api/";var zw=async(e,t)=>{if(!window.GM_fetch)return{ok:!1,value:{name:"GMFetchNotAvailableError"}};let r=await window.GM_fetch(${Lc}web/,{mode:"cors",method:"POST",body:JSON.stringify({user:"nobody",talk:t,text:e}),headers:{"Content-Type":"application/json"}});if(!r.ok)return{ok:!1,value:{name:"ResponseError",res:r}};let o=await r.json();return{ok:!0,value:{text:o.text,buttons:o.buttons,canInput:o.can_input}}};var qw=()=>{let{popupMenu:e,render:t}=$A();Dd()?.append?.(e);let r=Gr(),o=()=>{requestAnimationFrame(()=>{let n=document.getElementsByClassName("cursor")[0];e.style.top=${parseInt(n.style.top)+parseInt(n.style.height)+4}px})};return r.addChangeListener(o),{render:t,visible:()=>!e.hidden,open:()=>e.hidden=!1,close:()=>e.hidden=!0,toggle:()=>e.hidden=!e.hidden,dispose:()=>{e.remove(),r.removeChangeListener(o)}}},$A=()=>{let e=document.createElement("div"),t=e.attachShadow({mode:"open"});t.innerHTML=
<style>
:host {
position: absolute;
left: 0px;
width:100%;
z-index:300;
user-select:none;
font-family:"Open Sans",Helvetica,Arial,"Hiragino Sans",sans-serif;
pointer-events:none
}
.button-container {
position: relative;
display:inline-block;
max-width:70vw;
min-width:80px;
text-align:center;
background-color:#111;
padding:0 1px;
border-radius:4px;
pointer-events:auto
}
max-width:90vw
}
max-width:90vw
}
.button {
font-size:11px;
color:#eee;
cursor:pointer;
display:inline-block;
padding:0 5px
}
.button:not(:first-of-type) {
border:0;
border-left:1px solid #eee }
.button.selected {
background-color:#222;
text-decoration:underline
}
font-size:13px;
padding:6px;
min-width:12vw
}
font-size:13px;
padding:6px;
min-width:12vw
}
.button div.icon {
height:2em;
max-width:10em;
display:inline-block;
overflow:hidden;
margin-left:1px;
vertical-align:top
}
.button div.icon img {
max-height:100%;
vertical-align:unset
}
</style>
<div class="button-container"></div>
;let r=t.lastElementChild;return{popupMenu:e,render:(...o)=>{r.textContent="",r.append(...o.map(({text:n,onClick:s})=>{let i=document.createElement("div");return i.classList.add("button"),i.textContent=n,s&&i.addEventListener("click",()=>s()),i}))}}};var Kw=async(e="normal")=>{if(!window.GM_fetch)return{ok:!1,value:{name:"GMFetchNotAvailableError"}};let t=await window.GM_fetch(${Lc}web/create/?mode=${e},{mode:"cors"});return t.ok?{ok:!0,value:await t.text()}:{ok:!1,value:{name:"ResponseError",res:t}}};var Xw=e=>https://keicho.netlify.app/#talk=${e};var Yw=e=>{let t=e.split( ),r=t[1]??t[0],o=e===t[0]?"":t[0];return o?[o.trim(),r].join(
):r};var Nc=async(e,t,r)=>{let o=Gr(),n=o.lines.findIndex(i=>i.id===t.id);n<0&&(n=o.lines.findIndex(i=>i.text===t.text)),n<0&&(n=Math.min(r,Math.max(0,o.lines.length-1)));let s=o.lines[n].text;return Gi().clear(),o.setPosition({line:n,char:[...s].length}),await We(
${e}),o.getPosition().line};var Jw=e=>He(e,{hasTitle:!1}).map(t=>{if(t.type==="title")return t.text.trimEnd();let r=" ".repeat(t.indent);switch(t.type){case"codeBlock":return[${r}${t.fileName},...t.content.split(
).map(o=>${r} ${o})].join(
).trimEnd();case"table":return[${r}${t.fileName},...t.cells.map(o=>${r} ${o.flatMap(n=>n.map(s=>Cc(s))).join(" ")})].join(
).trimEnd();case"line":return${r}${t.nodes.map(o=>Cc(o)).join("")}.trimEnd()}}).join(
),Cc=e=>{switch(e.type){case"quote":return> ${e.nodes.map(t=>Cc(t)).join("")};case"helpfeel":case"commandLine":return e.raw;case"strongImage":case"image":case"strongIcon":case"icon":case"googleMap":return"";case"strong":case"decoration":case"numberList":return e.nodes.map(t=>Cc(t)).join("");case"formula":return\\(${e.formula}\\);case"code":return ${e.text} ;case"blank":case"plain":return e.raw;case"hashTag":return e.href;case"link":switch(e.pathType){case"absolute":return e.content? ${e.content} :"";case"root":return e.href.split("/").pop()??"";case"relative":return e.href}}};var Dn=e=>/^[((]/.test(e);var Zw=async e=>{let t=scrapbox.Page.lines;if(!t)return;let{cursor:r,selection:o}=xt(),n=e?.entire||o.hasSelectionAll(),s=n?t.map(_=>_.text).join(
):o.getSelectedText(),i=e?.botIcon??"[/nishio/nisbot.icon]",{render:a,visible:c,open:l,close:u,dispose:p}=qw();u();let f=new Set,m=()=>{p();for(let _ of f)_()},h=_=>f.add(_),g={text:"Exit",onClick:m},y=e?.talkId||Qw(s)||(n?"":Qw(t.slice(0,1+r.getPosition().line).map(_=>_.text).join(
))),x=!y;if(!y){let _=Kw(e?.mode),S=setTimeout(()=>{a({text:"Start talking..."}),l();let M=0;S=setInterval(()=>{a({text:Start talking${".".repeat(M%3)}}),M++},1e3)},1e3),A=await _;if(clearTimeout(S),!A.ok){if(A.value.name==="GMFetchNotAvailableError"){alert("GM_fetch is not available. Please use Tampermonkey and install GM_fethc.");return}if(A.value.name==="ResponseError"){a({text:Error: ${A.value.res.status} ${A.value.res.statusText}},g),l(),console.error(Error: ${A.value.res.status} ${A.value.res.statusText},await A.value.res.text());return}return}y=A.value}let E=y,k=o.normalizeOrder(o.getRange()),b=n?t.length-1:k.end.line,v=t[b],R=n?"":" ".repeat(Math.min(...t.slice(k.start.line,k.end.line+1).map(_=>vr(_.text)))),O=async _=>{let S=await zw(_,E);if(!S.ok)switch(S.value.name){case"ResponseError":return a({text:Error: ${S.value.res.status} ${S.value.res.statusText}},g),l(),console.error(Error: ${S.value.res.status} ${S.value.res.statusText},await S.value.res.text()),S;case"GMFetchNotAvailableError":return alert("GM_fetch is not available. Please use Tampermonkey and install GM_fethc."),S}return S},L="",N=async _=>{let S=Jw(_).split(
).map(I=>I.trim()).join(
).trim();S.startsWith(L)&&(S=S.slice(L.length));let A=S.split(
);if(A.length===0)return;if(A.every(I=>Dn(I))&&(L=S),A.filter(I=>!Dn(I)).length<2){let I,z;for(let j of A){if(z=await O(j),!z.ok)return z;Dn(j)||(I=z)}return I??z}let $=0;{let I;for(;$<A.length&&Dn(A[$]);$++)if(I=await O(A[$]),!I.ok)return I}{let I=await O("まず聞いて");if(!I.ok)return I}for(;$<A.length&&!Dn(A[$]);$++){let I=await O(A[$]);if(!I.ok)return I}return await O("おしまい")},P=async _=>{if(scrapbox.Layout!=="page"||_==="")return;let S=N(_),A=setTimeout(()=>{a({text:"Asking..."}),l();let j=0;A=setInterval(()=>{a({text:Asking${".".repeat(j%3)}}),j++},1e3)},1e3),M=await S;if(clearTimeout(A),!M||!M.ok)return;let{text:$,buttons:I}=M.value,z=Yw($);if(z.trim()){let j=${R}${i}${z.includes(`
)?
${z.split(`
).map(q=> ${R}${q}).join(
)}:z}
${R};b=await Nc(j,v,b),v=t[b]}a({text:"Send",onClick:T},{text:"🙂",onClick:()=>We("🙂")},{text:"🙁",onClick:()=>We("🙁")},...I.map(j=>({text:j,onClick:async()=>{b=await Nc(j,v,b),v=t[b],await P(j)}})),g),l()},T=async()=>{if(scrapbox.Layout!=="page")return;let _=scrapbox.Page.lines,S=r.getPosition().line,[A,M,$]=jA(_,S,i);A!==""&&(b=$,v=_[b],R=" ".repeat(Math.min(..._.slice(M,$+1).map(I=>vr(I.text)))),await P(A))};return x&&(b=await Nc(Xw(E),v,b),v=t[b]),await P(s),{ask:T,open:l,close:u,visible:c,exit:m,onExit:h}},Qw=e=>{for(let t of e.split(
).reverse()){let r=t.match(/https?:\/\/keicho\.netlify\.app\/#talk=(\w+)/)?.[1];if(r)return r}},jA=(e,t,r)=>{let o=Math.max(e.findLastIndex((s,i)=>i<t&&s.text.trim().startsWith(r)),1),n=o+ho(o,e)+1;return[e.slice(n,t+1).map(s=>s.text.trim()).join(
).trim(),n,t]};scrapbox.PopupMenu.addButton({title:"",onClick:e=>${e}});scrapbox.PopupMenu.addButton({title:"",onClick:e=>$ ${e}});var eR=[Oo,Lo,No];scrapbox.PopupMenu.addButton({title:e=>{let t=_r({project:scrapbox.Project.name,mode:"noopen",hooks:eR});return!t||t.hookName.includes("default")?"":t.hookName.includes("task")?"":t.hookName.includes("split")?"":""},onClick:()=>{let e=window.prompt("Create a new page at",scrapbox.Project.name);e&&_r({project:e,mode:"noopen",hooks:eR})?.()}});scrapbox.PopupMenu.addButton({title:e=>/(https?:\/\/[^\s]+)/g.test(e)?"":"",onClick:e=>{let t=e.replace(/(https?:\/\/[^\s]+)/g,"[$1#.jpg]");if(e!==t)return t}});scrapbox.PopupMenu.addButton({title:"S",onClick:e=>{window.open(https://scrapbox.io/${scrapbox.Project.name}/search/page?q=${e})}});scrapbox.PopupMenu.addButton({title:"",onClick:e=>{let t=e.split(/\n/).map(r=>r.replace(/\[(.*)\]/g,"$1")).join( );if(e!=t)return t}});var BA=[Au,Lw,Au,Cw,Fw,Sc(),Uw,Sw(),Nw,e=>{if(e.hostname!=="ekitan.com"||!/^\/transit\/(?:route|first|last)\//.test(e.pathname))return e;let t=e.searchParams.get("dt"),r=e.searchParams.get("tm"),o=e.searchParams.get("sr"),n=new URL(e);return n.search="",t&&n.searchParams.append("dt",t),n.pathname.startsWith("/transit/route/")&&(r&&n.searchParams.append("tm",r),o&&n.searchParams.append("sr",o)),n},e=>{if(e.host!==location.host||!e.pathname.startsWith("/api/code/"))return e;let t=encodeURIComponent(${e.origin}${e.pathname});return${e}.endsWith(".svg")?${e}:${e}.endsWith(".mlt")?${e}:e},e=>{if(e.hostname==="raw.githubusercontent.com")return${e};if(e.hostname!=="github.com")return e;let[t,r,o]=e.pathname.match(/^\/([^\\]+)\/([^\\]+)\/blob\/(.+)$/)?.slice?.(1)??[];if(!t||!r||!o)return e;let[,n,s]=e.hash.match(/L(\d+)-L(\d+)/)??e.hash.match(/L(\d+)/)??[];return[https://code2svg.vercel.app/svg/${n&&s?L${n}-${s}/:n?L${n}/:""}https://raw.githubusercontent.com/${t}/${r}/${o}#.svg ${e}]},e=>e.hostname==="github.com"?${e}:e,$w,Iw()];scrapbox.PopupMenu.addButton({title:e=>/https?:\/\/\S+/.test(e)?"URL":"",onClick:e=>{let t=Dw(e,...BA);if(typeof t=="string")return e===t?void 0:t;t.then(r=>{if(e!==r)return We(r)})}});Gw(["takker","takker-memex","takker-private","takker-books"]);if(!/mobile/i.test(navigator.userAgent)){let e=(t,r)=>{t.trim()!==""&&Zw({mode:r}).then(o=>{if(!o)return;let{ask:n,visible:s,onExit:i}=o,a=c=>{!s()||c.key!=="Enter"||!c.ctrlKey||c.altKey||c.shiftKey||(c.preventDefault(),c.stopPropagation(),n())};Ke().addEventListener("keydown",a),i(()=>Ke().removeEventListener("keydown",a))})};scrapbox.PopupMenu.addButton({title:()=>"🤖",onClick:t=>e(t)})}var Fs=(e,t)=>t.map(r=>r.replace(/@yyyy-MM-dd HH:mm:ss@/g,he(e,"yyyy-MM-dd HH:mm:ss")).replace(/@yyyy-MM-dd@/g,he(e,"yyyy-MM-dd")).replace(/@yyyy-MM-dd(?:([+-])(\d+)(w?))?(?:\((Sun|Mon|Tue|Wed|Thu|Fri|Sat)\))?@/g,(o,n,s,i,a)=>{let c=n?n==="+"?Ue(e,parseInt(s)*(i==="w"?7:1)):Yt(e,parseInt(s)*(i==="w"?7:1)):e;return he(a?Ue(dt(c),HA(a)):c,"yyyy-MM-dd")}).replace(/@yyyy-ww@/g,${bo(e)}-w${${xo(e)}.padStart(2,"0")}).replace(/@yyyy-ww([+-])(\d+)(w?)@/g,(o,n,s,i)=>{let a=n==="+"?Ue(e,parseInt(s)*(i==="w"?7:1)):Yt(e,parseInt(s)*(i==="w"?7:1));return${bo(a)}-w${${xo(a)}.padStart(2,"0")}}).replace(/@yyyy@/g,${bo(e)}).replace(/@yyyy([+-])(\d+)y@/g,(o,n,s)=>{let i=parseInt(s);return${bo(e)+(n==="+"?i:-i)}})),HA=e=>{switch(e){case"Sun":return 0;case"Mon":return 1;case"Tue":return 2;case"Wed":return 3;case"Thu":return 4;case"Fri":return 5;default:return 6}};var rR=async(e,t,r,o=new Date(2023,1,3))=>{if(scrapbox.Project.name!==e)return()=>{};let n=scrapbox.Project.pages;await new Promise(l=>{let u=setInterval(()=>{if(n.length===0){n=scrapbox.Project.pages;return}clearInterval(u),l()},2e3)});let s=async()=>{let l=new Date,u={start:o,end:Ue(l,1)},{render:p,dispose:f}=Oe(),m;try{let h=await tR(t),g=await tR(r),y=Yi(u).filter(b=>{let v=Fs(b,h)[0],R=n.find(O=>O.title===v);return!R||!R.exists}),x=Hh(u).filter(b=>{let v=Fs(b,g)[0],R=n.find(O=>O.title===v);return!R||!R.exists});if(y.length===0&&x.length===0)return;let E=y.length+x.length;p({type:"spinner"},{type:"text",text:create ${E} review pages...});let k=await ct();if(H(k))throw re(k);m=W(k);for(let b of[...y.map(v=>Fs(v,h)),...x.map(v=>Fs(v,g))])await Se(e,b[0],(v,R)=>R.persistent?void 0:b,m?{socket:m}:{}),E--,p({type:"spinner"},{type:"text",text:create ${E} review pages...});p({type:"check-circle"},{type:"text",text:created ${y.length+x.length} review pages.}),o=l}catch(h){p({type:"exclamation-triangle"},{type:"text",text:h instanceof Error?${h.name} ${h.message}:"Unknown error! (see developper console)"}),console.error(h)}finally{m&&await lt(m),await Ie(1e3),f()}},i=s(),a=new Date,c=setInterval(()=>{let l=new Date;ht(a,l)||(a=l,i.then(()=>i=s()))},1e4);return()=>(clearTimeout(c),i)},tR=async e=>{let t=await gi(e[0],e[1],e[2]);if(H(t)){let o=new Error;throw o.name=re(t).name,o.message=${re(t).message} at fetching /${e0}/${e1}/${e2},o}let r=W(t).split( );if(r.length===0)throw new Error(template "/${e0}/${e1}/${e2}" is empty!);return r};var wt=e=>${e.getFullYear()}-${Qt(e.getMonth()+1)}-${Qt(e.getDate())},Us=e=>{let[t,r,o]=e.split("-").map(n=>parseInt(n,10));return{year:t,month:r,date:o}},Ds=e=>${ea(e)}-w${Qt(xo(e))},Ac=e=>{let[t,r]=e.split("-w").map(o=>parseInt(o,10));return dt(Bh(new Date(t,0,1),r))};var oR="takker-memex",nR=async(e=new Date(2023,0,24))=>{if(scrapbox.Project.name!==oR)return()=>{};let t=scrapbox.Project.pages;await new Promise(i=>{let a=setInterval(()=>{if(t.length===0){t=scrapbox.Project.pages;return}clearInterval(a),i()},2e3)});let r=async()=>{let i=new Date,c=Yi({start:e,end:i}).filter(f=>{let m=Jt(f),h=t.find(g=>g.title===m);return!h||!h.exists});if(c.length===0)return;let{render:l,dispose:u}=Oe(),p;try{l({type:"spinner"},{type:"text",text:load tasks for ${c.length} diary pages});let f=new Map,m=new Set,h=c.map(x=>wt(x));for(let{title:x,links:E,project:k}of await Nn(["takker","takker-memex"]))for(let b of[x,...E]){let v=jt(b);if(!v)continue;if(H(v)){let{name:L,message:N}=re(v);console.error(/${k}/${b}: ${L} ${N});continue}let R=ne(b);if(m.has(R))continue;m.add(R);let O=W(v);if(O.freshness?.status!=="done")for(let L of c){let N=So(O,L);if(!N)continue;let P=wt(N.base);h.includes(P)&&(f.set(P,[...f.get(P)??[],N]),Xr(O))}}let g=await ct();if(H(g))throw re(g);p=W(g);let y=0;l({type:"spinner"},{type:"text",text:create 0/${c.length} diary pages...});for(let x of c){let E=Jt(x),k=f.get(wt(x))?.map?.(R=>be(R))??[],b=#${he(x,"yyyy-MM-dd")},v=#${he(x,"yyyy-MM-dd HH:mm:ss")};await Se(oR,E,(R,{persistent:O})=>{if(O)return;let L=[...R.map(N=>N.text),...k];return L.some(N=>N.includes(b))?To(L):To([...L,v])},{socket:p}),y++,l({type:"spinner"},{type:"text",text:create ${y}/${c.length} diary pages...})}l({type:"check-circle"},{type:"text",text:created ${c.length} diary pages.}),e=i}catch(f){l({type:"exclamation-triangle"},{type:"text",text:f instanceof Error?${f.name} ${f.message}:"Unknown error! (see developper console)"}),console.error(f)}finally{p&&await lt(p),await Ie(1e3),u()}},o=r(),n=new Date,s=setInterval(()=>{let i=new Date;ht(n,i)||(n=i,o.then(()=>o=r()))},1e4);return()=>(clearTimeout(s),o)};nR(new Date(2024,11,24));var Fu=(...e)=>{let t=e.flatMap(o=>{if(typeof o=="string")return[Mc(o)];if(Array.isArray(o.type))return[sR(o.type)];switch(o.type){case"text":return[Mc(o.text)];case"group":{let n=Fu(...o.items);return n?[n]:[]}default:return[sR(o.type)]}});if(t.length===0)return;if(t.length===1)return t[0];let r=document.createElement("span");return r.classList.add("item-group"),r.append(...t),r},Mc=e=>{let t=document.createElement("span");return t.classList.add("item"),t.append(e),t},sR=e=>{if(Array.isArray(e)){let t=document.createElement("span");t.classList.add("fa-stack");let r=Iu(e[0]);r.classList.add("fa-stack-1x");let o=Iu(e[1]);return o.classList.add("fa-stack-1x"),t.append(r,o),Mc(t)}return Mc(Iu(e))},Iu=e=>{let t=document.createElement("i");switch(e){case"spinner":t.classList.add("fa","fa-spinner");break;case"check-circle":case"gyazo":case"ocr":case"calendar":case"trim":t.classList.add("kamon",kamon-${e});break;case"markdown":case"google":t.classList.add("fab",fa-${e});break;case"copy":case"clipboard":t.classList.add("far",fa-${e});break;default:t.classList.add("fas",fa-${e});break}return t};var{cursor:Uu,selection:Du}=xt(),aR=e=>{let{className:t,display:r,onClick:o,context:n="page"}=e,s=document.createElement("div");t&&s.classList.add(t),iR(n)||(s.style.display="none");let i=(...l)=>{if(l.length===1&&l[0]===""){s.style.display="none";return}s.textContent="";let u=Fu(...l);u&&s.append(u)},a=typeof r=="function"?r({cursor:Uu,selection:Du}):r;return i(...Array.isArray(a)?a:[a]),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),o({cursor:Uu,selection:Du,setDisplay:i})}),{status:s,context:n,update:()=>{if(iR(n)?s.removeAttribute("style"):s.style.display="none",typeof r=="function"){let l=r({cursor:Uu,selection:Du});i(...Array.isArray(l)?l:[l])}}}},iR=e=>e!=="stream"?scrapbox.Layout===e:scrapbox.Layout==="list"&&location.pathname.startsWith("/stream");var cR=()=>{let e=document.createElement("style");e.textContent=.status-bar.left { position: absolute;
top: 0;
left: 0;
max-width: 80vw;
overflow-x: auto;
overflow-y: hidden;
}
.status-bar.left:empty {
display: none;
}
.status-bar.left > div {
border-left: unset;
}
.status-bar.left > div {
border-right: 1px solid var(--tool-light-color, #a9aaaf); }
.status-bar.left > div:first-of-type {
border-top-left-radius: unset;
}
.status-bar.left > div:last-of-type {
border-top-right-radius: 3px;
},document.head.append(e);let t=document.createElement("div");return t.classList.add("status-bar","left"),document.getElementsByClassName("footer")[0].append(t),t};var $u=new Set,{cursor:WA,selection:GA}=xt(),VA=cR();var zt=e=>{let t=aR(e);return $u.add(t),VA.append(t.status),()=>{t.status.remove(),$u.delete(t)}},ju=()=>{for(let{update:e}of $u)e()};WA.addChangeListener(()=>ju());GA.addChangeListener(()=>ju());scrapbox.addListener("layout:changed",ju);var lR=async(e,t)=>{try{let r=t.getSelectedText()||Xe(e.getPosition().line);if(!r)return;await navigator.clipboard.writeText(r)}catch(r){console.error(r),alert(Faild to copy:
${JSON.stringify(r)})}},pR=async(e,t)=>{try{let r=t.hasSelection(),o=r?t.getRange().start.line:e.getPosition().line,n=r?t.getSelectedText():Xe(o);if(!n)return;await navigator.clipboard.writeText(n),r||t.setRange({start:{line:o,char:0},end:{line:o,char:n.length}}),e.focus(),ot("Delete")}catch(r){console.error(r),alert(Faild to cut:
${JSON.stringify(r)})}},uR=async e=>{try{let t=await navigator.clipboard.readText();if(!t)return;e.focus(),await We(t)}catch(t){console.error(t),alert(Faild to paste:
${JSON.stringify(t)})}},mR=e=>{e.getVisible()&&e.hasFocus&&e.visiblePopupMenu?e.hide():(e.focus(),e.showEditPopupMenu())};globalThis.addEventListener("keydown",e=>{if(e.key!=="i"||e.shiftKey||e.altKey||e.metaKey||!e.ctrlKey||e.isComposing)return;let t=Gr();t.hasFocus||(e.preventDefault(),t.focus())});var Bu=class{get editor(){return document.getElementById("editor")}get lines(){return document.getElementsByClassName("lines")?.[0]}get computeLine(){return document.getElementById("compute-line")}get grid(){return document.getElementsByClassName("related-page-list clearfix")?.[0]?.getElementsByClassName("grid")?.[0]}get cursorLine(){return document.getElementsByClassName("cursor-line")?.[0]}get textInput(){return document.getElementById("text-input")}get cursor(){return document.getElementsByClassName("cursor")?.[0]}get selections(){return document.getElementsByClassName("selections")?.[0]}get popupMenu(){return document.getElementsByClassName("popup-menu")?.[0]}get pageMenus(){return document.getElementsByClassName("page-menu")?.[0]}get pageInfoMenu(){return document.getElementById("page-info-menu")}get pageEditMenu(){return document.getElementById("page-edit-menu")}get pageEditButtons(){return this.pageEditMenu.nextElementSibling.getElementsByTagName("a")}get randomJumpButton(){return document.getElementsByClassName("random-jump-button")?.[0]}get pageCustomButtons(){return document.getElementsByClassName("page-menu-extension")}},fR=new Bu;var dR=e=>new Promise(t=>setTimeout(t,e));async function rr(e,{wait:t=1}={}){let r=fR.textInput;r.focus(),r.value=e;let o=document.createEvent("UIEvent");o.initEvent("input",!0,!1),r.dispatchEvent(o),await dR(t)}if(Ur()){let e="Timestamp";scrapbox.PageMenu.addMenu({title:e,image:"https://img.icons8.com/ios/180/FFFFFF/add-time.png"}),scrapbox.PageMenu(e).addItem({title:"#YYYY-MM-DD HH:mm:ss ",onClick:()=>rr(he(new Date,"#yyyy-MM-dd HH:mm:ss "))}),scrapbox.PageMenu(e).addItem({title:"YYYY-MM-DD HH:mm:ss ",onClick:()=>rr(he(new Date,"yyyy-MM-dd HH:mm:ss "))}),scrapbox.PageMenu(e).addItem({title:"YYYY-MM-DD",onClick:()=>rr(he(new Date,"yyyy-MM-dd"))}),scrapbox.PageMenu(e).addItem({title:"HH:mm:ss ",onClick:()=>rr(he(new Date,"HH:mm:ss "))}),scrapbox.PageMenu(e).addItem({title:"⬜",onClick:()=>rr("⬜")}),scrapbox.PageMenu(e).addItem({title:"🚧",onClick:()=>rr("🚧")}),scrapbox.PageMenu(e).addItem({title:"⌛",onClick:()=>rr("⌛")}),scrapbox.PageMenu(e).addItem({title:"📝",onClick:()=>rr("📝")}),scrapbox.PageMenu(e).addItem({title:"✅",onClick:()=>rr("✅")}),scrapbox.PageMenu(e).addItem({title:"❌",onClick:()=>rr("❌")})}scrapbox.PageMenu.addItem({title:"Open kakeru",image:"https://i.kakeru.app/15c3b1a40b6b3c2ebd68f33f4c86b3f6-opaque.png",onClick:()=>window.open("https://kakeru.app")});var $s=e=>{let{fetch:t=(n,s)=>globalThis.fetch(n,s),baseURL:r="https://scrapbox.io/",...o}=e;return{fetch:t,baseURL:r,...o}};var KA=(e,t,r)=>{let{sid:o,baseURL:n,followRename:s,projects:i}=$s(r??{}),a=new URLSearchParams([["followRename",${s??!0}],...i?.map?.(c=>["projects",c])??[]]);return new Request(${n}api/pages/${e}/${ae(t)}?${a},o?{headers:{Cookie:ue(o)}}:void 0)},Hu=(e,t,r)=>$s(r??{}).fetch(KA(e,t,r));function hR(e,t,r){let o=ra(e,t)/1e3;return ta(r?.roundingMethod)(o)}function gR(e,t){let r,o=t?.in;return e.forEach(n=>{!o&&typeof n=="object"&&(o=fe.bind(null,n));let s=D(n,o);(!r||r<s||isNaN(+s))&&(r=s)}),fe(o,r||NaN)}var Wu=e=>{let t=Math.round(e/5),r=Math.floor(t/6),o=Math.floor((t-r*6)/3),n=t-r*6-o*3;return${r>20?🍅x${(e/30).toFixed(1)}:"🍅".repeat(r)}${"🍊".repeat(o)}${"🍓".repeat(n)}};var XA=()=>{let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.right="0",e.style.textAlign="right",e},$n=new Map,Ic,Gu=()=>{for(let t of $n.values())t.remove();$n.clear();let e=()=>YA(ft());if(scrapbox.Layout!=="page"){if(scrapbox.removeListener("lines:changed",e),!Ic)return;clearInterval(Ic),Ic=void 0;return}e(),scrapbox.addListener("lines:changed",e),Ic=setInterval(e,60*1e3)},YA=e=>{for(let t of e){let r=Ye(t.text);if(!r?.record?.start){$n.get(t.id)?.remove?.(),$n.delete(t.id);continue}let o=$n.get(t.id)??XA();Tr(t.id)?.append?.(o),$n.set(t.id,o),o.textContent=Wu(cn(r.record.end??new Date,r.record.start))}};scrapbox.Project.name==="takker-memex"&&(Gu(),scrapbox.addListener("page:changed",Gu),scrapbox.addListener("lines:changed",Gu));var JA=e=>{let[t,r]=e.reduce((o,{text:n})=>{let s=Ye(n);return s?.record?.start?s.record.end?(o[1].push(s.record.end),o):(s.record.start&&o[0].push(s.record.start),o):o},[[],[]]);if(t.length===0&&t.push(...r),t.length!==0)return gR(t)},QA=async(e,t)=>{let[r,o]=await Promise.all([Hu(e,Jt(t),{fetch:yR}),Hu(e,Jt(Yt(t,1)),{fetch:yR})]),n=r.ok?(await r.json()).lines:[];return o.ok&&n.push(...(await o.json()).lines),n},yR=async(e,t)=>{let r=await Wr(new Request(e,t));return!r||hR(new Date,new Date(${r.headers.get("Date")}))>=60?globalThis.fetch(e,t):r},{render:ZA}=Oe(),xR=async()=>{let e=JA(await QA("takker-memex",new Date))??cr(new Date);ZA({type:"text",text:Wu(cn(new Date,e))})};xR();setInterval(xR,60*1e3);async function bR(e,{from:t,to:r,merge:o}){if(t===r)return{success:!0,dup:!1};let n=await Ut(t,e);if(H(n))return{success:!1,at:"from",name:re(n).name,message:re(n).message};let s=W(n);if(!s.persistent)return{success:!1,at:"from",name:"EmptyPageError",message:"The request page is empty."};let i=await Ut(r,e);if(H(i))return{success:!1,at:"to",name:re(i).name,message:re(i).message};let a=W(n);return a.persistent&&!o?{success:!1,at:"to",name:"NoEmptyPageError",message:The same page already exists in "/${r}"}:(await Se(r,e,c=>[...c,...s.lines.slice(1)].map(l=>l.text)),await Of(t,e),{success:!0,dup:a.persistent})}var Vu=async()=>{let e=scrapbox.Page.title,t=scrapbox.Project.name,r=globalThis.prompt(Take "/${t}/${e}" from "${t}" to:,"takker");if(!r)return;let{render:o,dispose:n}=Oe();o({type:"spinner"},{type:"text",text:/${t}/${e} → /${r}/${e}});try{let s=await bR(e,{from:t,to:r,merge:!0});if(!s.success){o({type:"exclamation-triangle"},{type:"text",text:${s.name} ${s.message}});return}return o({type:"check-circle"},{type:"text",text:Moved ${s.dup?"and merged ":""}to "/${r}/${e}".}),https://scrapbox.io/${r}/${ae(e)}}catch(s){o({type:"exclamation-triangle"},{type:"text",text:s instanceof Error?${s.name} ${s.message}:"Unknown error! (see developper console)"}),console.error(s)}finally{setTimeout(()=>n(),1e3)}};scrapbox.PageMenu.addItem({title:"Transport",onClick:async()=>{await Vu()}});scrapbox.PageMenu.addItem({title:"Transport and Open",onClick:async()=>{let e=await Vu();e&&window.open(e)}});var e1="button.";document.getElementById("editor").addEventListener("click",async e=>{let t=e.target;if(t.tagName==="IMG"&&t.classList.contains("icon")&&t.title.endsWith("-button")){e.preventDefault(),e.stopImmediatePropagation();try{let r=../${encodeURIComponent(t.title)}/${e1},{execute:o}=await import(r);o()}catch(r){console.log(r)}}});scrapbox.PageMenu.addItem({title:"Copy link for Markdown",onClick:()=>{let e=scrapbox.Page.title.replaceAll(" ","_").replace(/[/?#\{}^|<>]/g,t=>encodeURIComponent(t));navigator.clipboard.writeText(${scrapbox.Page.title}(https://${location.hostname}/${scrapbox.Project.name}/${e}${location.hash})).catch(t=>alert(${t.name}: ${t.message}))}});Er.PageMenu.addMenu({image:"https://img.icons8.com/ios/180/FFFFFF/inbox.png",title:"~task",onClick:()=>{let{cursor:e,selection:t}=xt(),r=e.getPosition().line,o=t.getSelectedText(),n=o||e.lines[r].text,s=n.split( );o||t.setRange({start:{line:r,char:0},end:{line:r,char:n.length}}),We(s)}});var js=e=>On(...C(()=>{let t={tasks:[],errors:[],load:async()=>{},loading:!1},r=Promise.resolve();return[o=>{t.load=()=>(r=(async()=>{await r,t={...t,loading:!0},o(),await hc(e,60),t={...t,loading:!1},o()})(),r);let n=()=>{r=(async()=>{await r,t={...t,loading:!0},o();let[s,i]=t1(await Nn(e));t={...t,tasks:s,errors:i,loading:!1},o()})()};return n(),dc(e,n)},()=>t]},e)),t1=e=>{let t=new Set,r=[],o=[];for(let{title:n,links:s,project:i}of e)for(let a of[n,...s]){let c=ne(a);if(t.has(c))continue;t.add(c);let l=jt(a);if(l){if(H(l)){o.push({project:i,title:a,...re(l)});continue}r.push({project:i,title:a,...W(l)})}}return[r,o]};var Fc=()=>{let[e,t]=Hr(r1,{isOpen:!1,prevOverflowY:""}),r=ze(null),o=F(()=>{t(i=>{r?.current?.showModal?.();let a=r?.current?.open??!1,c=i.isOpen?i.prevOverflowY:document.documentElement.style.overflowY;return document.documentElement.style.overflowY="hidden",{isOpen:a,prevOverflowY:c}})},[]),n=F(()=>{t(i=>{r?.current?.close?.();let a=r?.current?.open??!1;return a?{isOpen:a,prevOverflowY:i.prevOverflowY}:(i.prevOverflowY?document.documentElement.style.overflowY=i.prevOverflowY:document.documentElement.style.removeProperty("overflow-y"),{isOpen:a})})},[]),s=C(()=>{let i;return a=>{if(!a){i?.(),r.current=null;return}let c=new AbortController;a.addEventListener("cancel",n,{signal:c.signal}),a.addEventListener("click",l=>{if(l.target!==l.currentTarget){l.stopPropagation();return}n()},{signal:c.signal}),i=()=>{c.abort()},r.current=a}},[n]);return{isOpen:e.isOpen,open:o,close:n,ref:s}},r1=(e,t)=>{let r=t(e);return e.isOpen===r.isOpen&&e.prevOverflowY===r.prevOverflowY?e:r.isOpen?r:{isOpen:!1}};var Bs=String.raw.fa,.far{font-weight:900;font-family:"Font Awesome 5 Free";-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.far{font-weight:400}.fa-spinner{animation:spin 2s infinite linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.fa-spinner:before{content:"\f110"}.fa-sync:before{content:"\f021"}.fa-bookmark:before{content:"\f02e"}.fa-fw{text-align:center;width:1.25em}.kamon:before{font-family:AppIcons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-variant:normal;font-weight:400;text-decoration:none;text-transform:none}.kamon-check-circle:before{content:"\e018"}.timeline-wrap{display:flex;flex-direction:column;height:100%;overflow-y:hidden;--timeline-bg: var(--dropdown-menu-bg, #fff);--timeline-text-color: var(--page-text-color, #4a4a4a);--timeline-link-color: var(--page-link-color, #5e8af7);--row-header-width: 40px;--timeline-border-color: #888;--timeline-border: solid 1px var(--timeline-border-color);--timeline-hour-height: 40px;background-color:var(--timeline-bg);color:var(--timeline-text-color);.column-header{flex:none;display:flex;flex-direction:row;.cell{flex:1 1 1px;h2{font-weight:400;margin:0;text-align:center;width:100%}}}.week-container{position:relative;height:100%;overflow-y:auto;scrollbar-width:none;.week{flex:auto;display:flex;width:100%;.borders{.border{height:var(--timeline-hour-height)}.border:after{content:attr(data-time);font-size:10px;text-align:right;border-top:var(--timeline-border);position:absolute;width:100%;margin-top:-1px;pointer-events:none}}.timeline{flex:auto;border-left:var(--timeline-border);position:relative;.indicator{position:absolute;top:calc(var(--start) * 40px - .5px);width:100%;height:1px;background-color:red}.copy{position:absolute;top:1.5em}.event{position:absolute;top:calc(var(--start) * 40px - 1px);height:calc(40px * var(--duration) / 60);outline:none;--event-bg2: var(--timeline-text-color);--event-bg: var(--timeline-bg);--event-bg-ratio: 50%;--event-color-ratio: 0%;--event-border-color-ratio: 0%;background-color:color-mix(in srgb,var(--event-bg) var(--event-bg-ratio),var(--event-bg2));color:color-mix(in srgb,var(--event-bg) var(--event-color-ratio),var(--timeline-text-color));border:var(--timeline-border);border-color:color-mix(in srgb,var(--event-bg) var(--event-border-color-ratio),var(--timeline-border-color));border-radius:4px;overflow:hidden;text-wrap:nowrap;max-width:100%;text-overflow:ellipsis}.eventdata-status=done{--event-bg-ratio: 90%;--event-color-ratio: 50%;--event-border-color-ratio: 50%}.eventdata-status=expired{font-weight:700}a.event{--event-bg2: var(--timeline-link-color);text-decoration:none}}.timeline:first-child{border-right:var(--timeline-border)}}}}.wedget{position:fixed;top:60px;left:10px;max-height:calc(90vh - 60px);max-width:100px;width:calc(100vw / 767 * 100 - 10px);min-width:60px;border:solid 1px #888;border-radius:4px;display:flex;flex-direction:column;background-color:var(--dropdown-menu-bg, #fff);color:var(--page-text-color, #4a4a4a);&:not(.open){display:none}}dialog{flex-direction:column;align-items:center;row-gap:10px;&::backdrop{background-color:#000c}padding:10px;background:unset;margin-top:unset;margin-bottom:unset;border:unset;height:unset;overflow-y:hidden;&open{display:flex}>*{color:var(--page-text-color, #4a4a4a);background-color:var(--dropdown-menu-bg, #fff);border:1px solid rgba(0,0,0,.2);border-radius:6px}}@media (min-width: 768px){dialog{padding:30px 0;--item-width: 600px}}.result{padding:15px;width:calc(var(--item-width, 100%) - 30px);overflow-y:scroll}.controller{padding:5px;width:calc(var(--item-width, 100%) - 10px);display:flex;flex-wrap:wrap;flex:none;gap:.2em}.progress{flex-grow:1;>*{padding:0 2px}}a{text-decoration:none;color:var(--page-link-color, #5e8af7);&:hover{color:var(--page-link-hover-color, #2d67f5)}}button{cursor:pointer;background:unset;color:unset;border:unset}.copy,.close,.today{font-family:"Font Awesome 5 Free"}.navi{font-family:AppIcons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-variant:normal;font-weight:400;text-decoration:none;text-transform:none}.close,.today{font-weight:900}ul{list-style-type:none;word-break:break-all}.task-list li:not(data-freshness^="-"):not(data-freshness="0"){font-weight:700}.scheduler details li{&data-status=done{opacity:.4}&data-status=expired{font-weight:700}}.task-list li{&data-type=deadline .label.type{color:var(--takker-scheduler-label-deadline-color, rgb(255, 75, 0))}&data-type=todo .label.type{color:var(--takker-scheduler-label-todo-color, rgb(246, 170, 0))}&data-type=note .label.type{color:var(--takker-scheduler-label-note-color, rgb(200, 200, 203))}&data-type=up-down .label.type{color:var(--takker-scheduler-label-up-down-color, rgb(77, 196, 255))}}:is(data-page-no=expired,data-page-no=errors) li{opacity:1!important}.scheduler{--takker-scheduler-summary-meter-width: 10em;overflow-y:hidden}.label{display:inline-block;font-size:90%;padding:0 3px}.type{text-align:center;width:2.5em;border:1px solid;border-radius:3px}.freshness{text-align:right;width:2.5em}.start,.duration{text-align:right;width:3em} ;var jn=({text:e,title:t})=>{let[r,o]=J(""),n=F(async s=>{s.preventDefault(),s.stopPropagation();try{await navigator.clipboard.writeText(e),o("Copied"),await Ie(1e3),o("")}catch(i){alert(Failed to copy the code block
Error:${i instanceof Error?i.message:i}),console.error(i)}},[e]);return d("button",{type:"button",className:"copy",title:t??"Copy",onClick:n,children:r})};var o1=60*60*24*1e3,ER=(e,t)=>{let r=ye(e.refDate),o=(t.getTime()-r.getTime())/o1;switch(r.setHours(0),r.setMinutes(0),e.status){case"done":return-1/0;case"deadline":return o/(e.speed??1);case"todo":return Math.min(o/(e.speed??1),0);case"note":return t.getTime()<r.getTime()?-1/0:-o/(e.speed??1);case"up-down":{let n=e.speed??30;return n*(-1+Math.cos(Math.PI*2*o/n))}}};var RR=(e,t)=>{if(t.score!==e.score)return t.score-e.score;let r=wR(e.freshness),o=wR(t.freshness);return r!==o?o-r:$t(ur(e),ur(t))?-1:1},wR=e=>{switch(e.status){case"todo":return 3;case"note":return 2;case"deadline":return 5;case"up-down":return 1;case"done":return 0}};var Hs=({loading:e,onClick:t})=>e?d("div",{children:d("i",{className:"fa fa-spinner"})}):d("button",{type:"button",className:"navi reload",onClick:t,children:""});var Bn=()=>{let[e,t]=J(new Date);return oe(()=>{let r=setInterval(()=>t(new Date),6e4);return()=>{clearInterval(r)}},[]),e};var kR=e=>{switch(e){case"todo":return"ToDo";case"note":return"覚書";case"deadline":return"締切";case"up-down":return"浮遊";case"done":return"完了"}};var vR=(e,t)=>new URL(/${e.project}/${ae(e.title)},t??location.href);var Uc=({children:e,project:t,title:r,className:o,...n})=>d("a",{...n,className:[o??"","page-link"].join(" "),type:"link",href:vR({project:t,title:r}).pathname,...t===scrapbox.Project.name?{rel:"route"}:{rel:"noopener noreferrer",target:"_blank"},children:e});var TR=({action:e,pActions:t})=>{let r=C(()=>kR(e.freshness.status),[e.freshness.status]),o=C(()=>lr(ur(e)).slice(11)||" ",[ur(e)]),n=C(()=>cs(e),[e]),s=Math.floor(Math.round(e.score)/7),i=Bn(),a=C(()=>e.executed!==void 0&&Eo(qr(ye(e.executed.start),e.executed.duration),i),[e.executed?.start,e.executed?.duration,i]),c=C(()=>[...t,e].map(l=>${l.raw}).join( ),[t,e]);return d("li",{"data-type":e.freshness.status,"data-freshness":e.score.toFixed(0),"data-level":s,...s<0?{style:{opacity:n1(e).toFixed(2)}}:{},children:[d(jn,{text:c,title:"ここまでコピー"}),d("span",{className:"label type",children:r}),d("i",{className:label far fa-fw${a?" fa-bookmark":""}}),d("span",{className:"label freshness",children:e.score.toFixed(0)}),d("time",{className:"label start",children:o}),d("span",{className:"label duration",children:[n,"m"]}),d(Uc,{project:e.project,title:e.raw,children:e.name})]})},n1=e=>Math.max(.8*Math.exp(Math.log(8/7)/7*e.score),.05);var _R=(e=wt(new Date))=>{let[t,r]=J(e),o=F(()=>{r(s=>{switch(s){case"errors":return"expired";case"expired":return wt(new Date);default:{let i=ye(Us(s));return i.setDate(i.getDate()+1),wt(i)}}})},[]),n=F(()=>{r(s=>{let i=wt(new Date);switch(s){case"errors":return"errors";case"expired":return"errors";case i:return"expired";default:{let a=ye(Us(s));return a.setDate(a.getDate()-1),wt(a)}}})},[]);return{pageNo:t,next:o,prev:n}};var Dc=(e,t)=>oe(()=>(scrapbox.on(e,t),()=>scrapbox.off(e,t)),[]);var Ws=(e,t)=>{let r=ze({...t});oe(()=>(Object.assign(r.current,t),()=>{for(let o of Object.keys(t))delete r.current[o]}),[...Object.keys(t)].sort().map(o=>t[o])),oe(()=>{e(r.current)},[e])};var PR=e=>{let t=document.createElement("div");t.dataset.userscriptName="takker-workflow@0.0.1/next-action-viewer";let r=t.attachShadow({mode:"open"});return document.body.append(t),new Promise(o=>mt(d(s1,{getController:o,projects:e}),r))},s1=({getController:e,projects:t})=>{let{tasks:r,errors:o,load:n,loading:s}=js(t),{pageNo:i,next:a,prev:c}=_R(),l=C(()=>{if(i==="errors")return o.map(g=>({name:${g.title}
name:${g.name}
message:${g.message},raw:g.title,freshness:{refDate:{year:9999,month:1,date:1},status:"todo"},project:g.project,generated:!0,score:0}));if(i==="expired"){let g=new Date;return r.flatMap(y=>!pr(y)&&$t(rg(y),bt(g))&&y.freshness===void 0&&y.recurrence===void 0?[{...y,score:0,freshness:{refDate:y.executed.start,status:"todo"}}]:[]).sort((y,x)=>$t(ur(y),ur(x))?-1:0)}let h=ye(Us(i));return r.flatMap(g=>{if(!g.freshness)return[];if(Xr(g))return[];let y=ER(g.freshness,h);return y>-999?[{...g,score:y}]:[]}).sort(RR)},[r,o,i]),{ref:u,open:p,close:f}=Fc();Ws(e,{open:p,close:f});let m=C(()=>[i,...l.map(h=> ${h.raw})].join( ),[l,i]);return Dc("page:changed",f),d(Y,{children:[d("style",{children:Bs}),d("dialog",{ref:u,children:[d("div",{className:"controller",children:[d(jn,{text:m,title:"Copy All Tasks"}),d("span",{children:i}),d("button",{type:"button",className:"navi left",onClick:c,children:""}),d("button",{type:"button",className:"navi right",onClick:a,children:""}),d(Hs,{loading:s,onClick:n}),d("button",{type:"button",className:"close",onClick:f,children:""})]}),d("ul",{className:"result task-list","data-page-no":i,children:l.map((h,g)=>d(TR,{action:h,pActions:l.slice(0,g)},h.raw))})]})]})};var jc=(e,t)=>/${e}/${ne(t)},Gs=new Map,zu=new Map,SR=(e,t)=>{Gs.set(e,t);for(let r of zu.get(e)??[])r(t)},$c=()=>{qo!==void 0&&(clearInterval(qo),qo=void 0);let e=scrapbox.Project.name,t=scrapbox.Page.title??"",r=jc(e,t);if(!Gs.has(r))return;let o=ft().map(n=>n.text);qo=setInterval(()=>{ne(t)===ne(o[0])&&(SR(r,o),qo!==void 0&&(clearInterval(qo),qo=void 0))},1e3)},qo;scrapbox.on("page:changed",()=>{scrapbox.off("lines:changed",$c);let e=scrapbox.Project.name,t=scrapbox.Page.title??"",r=jc(e,t);Gs.has(r)&&scrapbox.on("lines:changed",$c)});var i1=(e,t)=>{let r=jc(e,t),o=Gs.get(r);return o||(Gs.set(r,[]),Ut(e,t).then(n=>{if(H(n))return[];let s=W(n).lines.map(i=>i.text);SR(r,s),t===scrapbox.Page.title&&!scrapbox.listeners("lines:changed").includes($c)&&scrapbox.on("lines:changed",$c)})),o??[]},OR=(e,t)=>{let[r,o]=J(i1(e,t));return oe(()=>{let n=jc(e,t),s=zu.get(n)??new Set;return s.add(o),zu.set(n,s),()=>{s.delete(o)}},[e,t]),r};var qu=e=>e.duration===void 0?void 0:bt(qr(ye(e.start),e.duration)),Ku=(e,t)=>{let r=ye(e.start),o=t.getTime(),n=Math.round((o-r.getTime())/(60*1e3));if(n<=0)return[void 0,e];if(e.duration<=n)return[e,void 0];let s={start:e.start,duration:n};return[s,{start:qu(s),duration:e.duration-n}]};var Ko=e=>"title"in e,a1=e=>e.record?.duration!==void 0,LR=(e,t)=>Ko(e)&&e.status==="done"?e.status:a1(e)?Ko(e)&&e.executed?$t(bt(t),e.executed.start)?"moved":"expired":"done":$t(qu(e.plan),bt(t))?Ko(e)?"expired":"done":"undone";var NR=(e,t)=>{let r=jt(e.title.slice(1,-1));if(!e.plan.start)return;let o={name:r&&Ne(r)?W(r).name:e.title,plan:{start:bt(e.plan.start),duration:(e.plan.duration??0)/60}};if(e.record.start&&(o.record={start:bt(e.record.start)},e.record.end&&(o.record.duration=cn(e.record.end,e.record.start))),!r||H(r))return o;let n=W(r),s={...o,title:n.raw,project:t};return n.freshness&&(s.status=n.freshness.status),pr(n)||(s.executed=n.executed),s},Xu=(e,t)=>{let r=ia(e);return r!==void 0?{name:e.name,project:t,title:r,executed:e.executed,plan:e.executed,status:e.freshness?.status}:{name:e.name,plan:e.executed}};var CR=(e,t,r)=>{let o=[Yu(e,Yt(t,1),r),Yu(e,t,r),Yu(e,Ue(t,1),r)],n=C(()=>o.flat(),o);return C(()=>{let s=cr(t),i=Dh(t);return n.flatMap(a=>{let[,c]=Ku(a.plan,s);if(!c)return[];let[l]=Ku(c,i);if(!l)return[];let{plan:u,...p}=a;return[{plan:l,...p}]}).sort((a,c)=>$t(a.plan.start,c.plan.start)?-1:0)},[n,t])},Yu=(e,t,r)=>{let o=OR(e,Jt(t)),n=C(()=>l1(o,e),[o,e]);return C(()=>n.length!==0?n:c1(t,r),[n,t,r])},c1=(e,t)=>t.flatMap(r=>{if(r.freshness?.status==="done")return[];if(pr(r))return[];if(Xr(r)){let n=sa(r,e);return n?[Xu(n,r.project)]:[]}let o=ye(r.executed.start);return ht(o,e)?[Xu(r,r.project)]:[]}),l1=(e,t)=>{let r=[];for(let o of wo(e)){if(Kr(o))continue;let n=NR(o,t);n&&r.push(n)}return r};var AR=({event:e})=>{let t=C(()=>e.plan.start.hours+e.plan.start.minutes/60,[e.plan.start]),r=C(()=>--start: ${t}; --duration: ${e.plan.duration};,[t,e.plan.duration]),o=Bn(),n=C(()=>LR(e,o),[e,o]);return Ko(e)?d(Uc,{className:"event","data-status":n,style:r,title:e.title,project:e.project,children:e.name}):d("div",{className:"event","data-status":n,title:e.name,style:r,children:e.name})};var MR=({project:e,date:t,tasks:r})=>{let o=CR(e,t,r),n=C(()=>o.flatMap(a=>Ko(a)?[${a.title}]:[]).join( ),[o]),s=Bn(),i=C(()=>ht(s,t)&&d("div",{className:"indicator",style:--start: ${Fh(s)+Ih(s)/60}}),[s,t]);return d("div",{className:"timeline",role:"gridcell",children:[o.map(a=>d(AR,{event:a},a.name)),i,d(jn,{text:n})]})};var Ju=({dateList:e,tasks:t,project:r,hasColumn:o})=>d("div",{className:"timeline-wrap",role:"grid",children:[(o??!0)&&d("div",{className:"column-header",role:"row",children:e.map(n=>d("div",{className:"cell",role:"columnheader",children:d("h2",{children:Zi(n)})},wt(n)))}),d("div",{className:"week-container",role:"presentation",children:d("div",{className:"week",role:"presentation",children:[d("div",{className:"borders",children:[...Array(24).keys()].map(n=>d("div",{className:"border","data-time":${Qt(n)}:00},n))}),e.map(n=>d(MR,{project:r,date:n,tasks:t},wt(n)))]})})]});var Qu=(e,t,r)=>{let[o,n]=J(e),s=F(()=>n(t),[t]),i=F(()=>n(r),[t]),a=F(c=>n(c),[]);return{pageNo:o,next:s,prev:i,jump:a}};var IR=e=>{let t=ze(new Set),[r,o]=J(e),n=F(()=>{for(let l of t.current)l()},[]),s=F(()=>{o(!0),n()},[]),i=F(()=>o(!1),[]),a=F(()=>o(l=>(l||n(),!l)),[]),c=F(l=>(t.current.add(l),()=>t.current.delete(l)),[]);return{isOpen:r,open:s,close:i,toggle:a,onOpen:c}};var DR=e=>{let t=document.createElement("div");t.dataset.userscriptName="takker-scheduler/weekly-scheduler";let r=t.attachShadow({mode:"open"});return document.body.append(t),new Promise(o=>mt(d(p1,{getController:o,projects:e,mainProject:e[0]}),r))},$R=(e,t)=>{let r=document.createElement("div");r.dataset.userscriptName="takker-scheduler/timeline-wedget";let o=r.attachShadow({mode:"open"});return document.body.append(r),new Promise(n=>mt(d(u1,{getController:n,projects:e,mainProject:e[0],open:t}),o))},FR=!1,p1=({getController:e,projects:t,mainProject:r})=>{let{tasks:o,load:n,loading:s}=js(t),{pageNo:i,next:a,prev:c,jump:l}=Qu(Ds(new Date),m1,f1),u=C(()=>{let y=Ac(i);return[0,1,2,3,4,5,6].map(x=>Ue(y,x))},[i]),{ref:p,open:f,close:m,isOpen:h}=Fc();FR||=h,Ws(e,{open:f,close:m,isOpen:h}),Dc("page:changed",m);let g=F(()=>l(Ds(new Date)),[l]);return d(Y,{children:[d("style",{children:Bs}),d("dialog",{ref:p,children:[d("div",{className:"controller",children:[d("span",{children:i}),d("button",{type:"button",className:"navi left",onClick:c,children:""}),d("button",{type:"button",className:"navi right",onClick:a,children:""}),d("button",{type:"button",className:"today",onClick:g,children:""}),d(Hs,{loading:s,onClick:n}),d("button",{type:"button",className:"close",onClick:m,children:""})]}),FR&&d("div",{ref:jR,className:"result scheduler","data-page-no":i,children:d(Ju,{dateList:u,tasks:o,project:r})})]})]})},UR=!1,u1=({projects:e,mainProject:t,getController:r,open:o})=>{let{tasks:n,load:s,loading:i}=js(e),{pageNo:a,next:c,prev:l,jump:u}=Qu(new Date,d1,h1),p=C(()=>[a],[a]),f=F(()=>u(new Date),[u]),{isOpen:m,open:h,close:g}=IR(o);return UR||=m,Ws(r,{open:h,close:g,isOpen:m}),d(Y,{children:[d("style",{children:Bs}),UR&&d("div",{className:wedget${m?" open":""},ref:jR,children:[d("div",{className:"controller",children:[d("span",{children:wt(a)}),d("button",{type:"button",className:"navi left",onClick:l,children:""}),d("button",{type:"button",className:"navi right",onClick:c,children:""}),d("button",{type:"button",className:"today",onClick:f,children:""}),d(Hs,{loading:i,onClick:s})]}),d(Ju,{dateList:p,tasks:n,project:t,hasColumn:!1})]})]})},m1=e=>Ds(an(Ac(e),1)),f1=e=>Ds(jh(Ac(e),1)),d1=e=>Ue(e,1),h1=e=>Yt(e,1),jR=e=>{let t=e?.getElementsByClassName?.("indicator")?.[0];if(!t)return;let r=globalThis.scrollY;t.scrollIntoView({block:"center"}),globalThis.scroll(0,r)};od({project:"takker-dist"});Ri(!0);sd({maxCount:10,accessToken:g1,onClick:async(e,t)=>{try{if(t.ctrlKey){await navigator.clipboard.writeText(e.permalink_url);return}let r=document.getElementById("text-input");if(!r)throw Error("#text-input is not ditected.");r.focus(),r.value=e.permalink_url;let o=new InputEvent("input",{bubbles:!0});r.dispatchEvent(o),await scrapbox.Page.waitForSave()}catch(r){alert(${r}),console.error(r)}}});ph().then(e=>{scrapbox.PageMenu.addItem({title:"Fulltext Search",onClick:()=>{e.toggle()}})});var y1="https://scrapbox.io/files/67344295032adf96d1e4c276.wasm",x1="/api/code/takker-dist/for-any-project-min/esbuild-worker.js";(async()=>{let e=new Request(y1),t=await Wr(e);t||(t=await fetch(e),await Wi(e,t)),await Tb(await WebAssembly.compileStreaming(t),x1)})();(async()=>{let e=[scrapbox.Project.name,"takker","takker-memex","takker-books","takker-private","villagepump","hub","arpla","work4ai","unnamedcamp","unnamed-project","nishio","enchi","rashitamemo","motoso","shokai","masui","rakusai","yuiseki","akiroom","c4j","miyamonz","mrsekut-p","masuilab","kidaaam-92022284","nwtgck","juneboku","marshmallow-rm","sushitecture","sno2wman","inteltank","issac-37765679","blu3mo","yosider","Mijinko","Mijinko-other","scrapbox-drinkup","nota-techconf","customize","scrapboxlab","scrasobox","programming-notes","tus-alpine","tus-alpine-private","guiland","evergreens"],t=await BE({projects:e,mark:{...Object.fromEntries([["takker","takker"],["takker-memex","takker"],["takker-books","takker-books"],["takker-private","takker-private"],["nishio","nishio"],["rashitamemo","rashita"],["enchi","雑談_2022-04-12~"],["rakusai","rakusai"],["masui","概要"],["shokai","shokai"],["yuiseki","yuiseki"],["akiroom","はじめに"],["inteltank","sawachin"],["motoso","もとそのもと"],["villagepump","井戸端"],["hub","scrapbox.io%2Fhub_について"],["masuilab","増井研に入ったらまずやること"],["marshmallow-rm","読書猿マシュマロ全質問回答"],["miyamonz","miyamonz"],["mrsekut-p","mrsekut"],["kidaaam-92022284","kidooom"],["c4j","Code_for_Japan"],["suto3","suto3"],["blu3mo","blu3mo"],["nwtgck","nwtgck"],["juneboku","juneboku"],["jigsaw","jgs"],["sno2wman","SnO2WMaN"],["sushitecture","hashrock"],["unnamedcamp","知を営む"],["unnamed-project","unnamed-project"],["issac-37765679","cFQ2f7LRuLYP"],["blu3mo","blu3mo"],["yosider","yosider"],["Mijinko","Mijinko_SD"],["Mijinko-other","Mijinko_SD"],["customize","みんなのカスタマイズ"],["scrapboxlab","入会手続き"],["scrasobox","Scrapboxとあそぶ"],["programming-notes","参加する"],["guiland","概要と参加方法"],["work4ai","work4ai"],["evergreens","HOME"]].map(([n,s])=>[n,https://scrapbox.io/api/pages/${n}/${s}/icon])),"NDLSH-SB":"📚","scrapbox-drinkup":"https://scrapbox.io/assets/img/page-icon/scrapbox_beaver.png","nota-techconf":"https://i.gyazo.com/727f42bbd9e2534d99d70e6ea90705b3.jpg","plurality-japanese":"⿻"},enableSelfProjectOnStart:!0}),r=n=>{n.preventDefault(),n.stopPropagation()},o=()=>document.querySelector(".line .popup-menu")!==null;Yl.bind({"<Tab>":n=>{o()||t.selectNext?.({cyclic:!0})&&r(n)},"<S-Tab>":n=>{o()||t.selectPrev?.({cyclic:!0})&&r(n)},"<Enter>":n=>{o()||t.confirm?.()&&r(n)},"<Esc>":n=>{o()||t.cancel?.()&&r(n)}})})();VE({previewers:[{when:/(?:^|\.)svg$/,preview:zE},{when:/(?:^|\.)glsl$/,preview:aw},{when:/(?:^|\.)(?:plantuml|puml|pu)$/,preview:pw},{when:/(?:^|\.)tikz\(tex\)$/,preview:mw("/api/code/takker-dist/for-any-project-min/tex-worker.js","https://scrapbox.io/files/65d1645c19cd8e002433c3df")}]});rR("takker",["takker","振り返り(takker-workflow@0.0.1)のtemplate","txt"],["takker","1週間の振り返り(takker-workflow@0.0.1)のtemplate","txt"],new Date(2024,11,24));Ur()&&(zt({display:{type:"caret-left"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?$i():Ii()}}),zt({display:{type:"caret-right"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?Di():Mi()}}),zt({display:{type:"caret-up"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?ji():Fi()}}),zt({display:{type:"caret-down"},onClick:({cursor:e,selection:t})=>{e.focus(),t.getSelectedText()===""?Bi():Ui()}}),zt({display:{type:"copy"},onClick:async({cursor:e,selection:t})=>await lR(e,t)}),zt({display:{type:"cut"},onClick:async({cursor:e,selection:t})=>await pR(e,t)}),zt({display:{type:"clipboard"},onClick:async({cursor:e})=>await uR(e)}),zt({display:{type:"undo"},onClick:()=>Qd()}),zt({display:{type:"redo"},onClick:()=>Zd()}),zt({display:({cursor:e})=>e.getVisible()&&e.hasFocus&&e.visiblePopupMenu?{type:["i-cursor","slash"]}:{type:"i-cursor"},onClick:({cursor:e})=>mR(e)}));if(Ur()&&scrapbox.Project.name!=="takker-memex"){let e="task";scrapbox.PageMenu.addMenu({title:e,image:"https://img.icons8.com/ios/180/FFFFFF/todo-list--v2.png"}),scrapbox.PageMenu(e).addItem({title:"Book starting",image:"https://img.icons8.com/ios/180/FFFFFF/plus-1day.png",onClick:vo}),scrapbox.PageMenu(e).addItem({title:"Transport",onClick:()=>_o({from:{project:scrapbox.Project.name,title:scrapbox.Page.title},to:"takker-memex"})})}if(Ur()){let e="New Page",t=[Oo,Lo,No];scrapbox.PageMenu.addMenu({title:e,image:"https://img.icons8.com/ios/180/FFFFFF/cut-paper.png"}),scrapbox.PageMenu(e).addItem({title:"New Page",onClick:()=>{let r=window.prompt("Create a new page at",scrapbox.Project.name);r&&_r({project:r,mode:"noopen",hooks:t})?.()}}),scrapbox.PageMenu(e).addItem({title:"New Page and Open",onClick:()=>{let r=window.prompt("Create a new page at",scrapbox.Project.name);r&&_r({project:r,mode:"self",hooks:t})?.()}})}(async()=>{let e="next-action",t=head styledata-userscript-name="${e}";document.querySelector(t)?.remove?.();let r=document.createElement("style");r.dataset.userscriptName=e,r.textContent= position: absolute;
font: 900 20px/46px "Font Awesome 5 Free";
}
button#${e}.tool-btn::before {
content: "\\f0ae";
}
button#scheduler.tool-btn::before {
content: "\\f073";
font-weight: 400;
}
opacity: 0;
},document.head.append(r);let o=["takker-memex","takker"],{open:n}=await PR(o);scrapbox.PageMenu.addMenu({title:e,image:"/assets/img/favicon/apple-touch-icon.png",onClick:n});let s=await DR(o);scrapbox.PageMenu.addMenu({title:"scheduler",image:"/assets/img/favicon/apple-touch-icon.png",onClick:s.open});{let i="takker-scheduler/wedget",a=JSON.parse(localStorage.getItem(i)??"{}"),c=scrapbox.Project.name;a[c]??=!1;let l=await $R(o,a[c]),u=()=>{a[c]=!l.isOpen,l.isOpen?l.close():l.open?.(),localStorage.setItem(i,JSON.stringify(a))};Ur()?zt({display:{type:"calendar"},onClick:u}):scrapbox.PageMenu.addItem({title:"toggle wedget",onClick:u})}})();var BR=e=>String(e).padStart(2,"0"),HR=e=>${e.getFullYear()}-${BR(e.getMonth()+1)}-${BR(e.getDate())};for(let e of document.getElementsByClassName("new-button")){let t=#${HR(new Date)};e.href=/${scrapbox.Project.name}/new?body=${encodeURIComponent(` +t)}}console.log('The hrefs of "New Button" have been changed.');scrapbox.PopupMenu.addButton({title:"",onClick:e=>{let t=Cn.parse(e,{hasTitle:!1});if(console.log("Parserd text:"),console.log(t),navigator.clipboard){let r=b1(t).join(`
);console.log(r),navigator.clipboard.writeText(r).catch(o=>console.log(o)),console.log("Copied.")}}});function b1(e){let t=Math.min(...e.map(n=>n.indent)),r=t,o=["<p>"];for(let n of e.filter(s=>s.type==="line")){let s=n.indent-r;s<0&&o.push(...[...Array(-s)].map(a=>"</ul>")),s>0&&o.push(...[...Array(s)].map(a=>'<ul style="margin-top: 5px;margin-bottom: 5px;">'));let i=n.nodes.map(a=>Bc(a)).join("");n.indent>t?o.push(<li>${i}</li>):o.push(${i}<br/>),r=n.indent}return o.push(...[...Array(r-t)].map(n=>"</ul>")),o.push("</p>"),o}function Bc(e){switch(e.type){case"quote":return<span style="
font-style: italic;
background-color: rgba(128,128,128,0.1);
display: block;
height: 1.3em;
vertical-align: top;" src="${t}" alt="${o}" /></a>;case"strongIcon":return"";case"formula":return\\( ${e.formula} \\);case"helpfeel":return"";case"decoration":let n=e.nodes.map(s=>Bc(s)).join("");return e.decos.includes("*-4")&&(n=<h4>${n}</h4>),e.decos.includes("*-3")&&(n=<h5>${n}</h5>),e.decos.includes("*-2")&&(n=<h6>${n}</h6>),e.decos.includes("*-1")&&(n=<strong>${n}</strong>),e.decos.includes("/")&&(n=<i>${n}</i>),e.decos.includes("-")&&(n=<strike>${n}</strike>),e.decos.includes("!")&&(n=<pre>${n}</pre>),n;case"strong":return<strong>${e.nodes.map(s=>Bc(s)).join("")}</strong>;case"code":return<code>${e.text}</code>;case"commandLine":case"googleMap":return"";case"blank":return<span>${e.text}</span>;case"link":switch(e.pathType){case"root":return<a target="_blank" href="https://scrapbox.io${e.href}">${e.href}</a>;case"relative":return<a target="_blank" href="https://scrapbox.io/${scrapbox.Project.name}/${e.href}">${e.href}</a>;case"absolute":return<a target="_blank" href="${e.href}">${e.content||e.href}</a>}case"hashTag":return<a href="https://scrapbox.io/${scrapbox.Project.name}/${e.href}">#${e.href}</a>;case"plain":return<span>${e.text}</span>}}scrapbox.PopupMenu.addButton({title:"",onClick:e=>{let t=window.open();t.document.write(<html> <body>
<textarea spellcheck="true">${e}</textarea>
</body>
</html>),t.document.close()}});scrapbox.PopupMenu.addButton({title:e=>{let t=e.replace(/[\r\n]/g,"").length,r=e.trim().split(/[\r\n\s]+/).length;return${t}c ${r}w},onClick:()=>null});if(Ur()){let e="task";scrapbox.PageMenu.addMenu({title:e,image:"https://img.icons8.com/ios/180/FFFFFF/todo-list--v2.png"}),scrapbox.PageMenu.addMenu({title:"Toggle task",image:"https://img.icons8.com/ios/180/FFFFFF/repeat.png",onClick:Hl}),scrapbox.PageMenu(e).addItem({title:"Add task",image:"https://img.icons8.com/ios/180/FFFFFF/plus-math.png",onClick:ts}),scrapbox.PageMenu(e).addItem({title:"Start task",image:"https://img.icons8.com/ios/180/FFFFFF/start--v1.png",onClick:Ro}),scrapbox.PageMenu(e).addItem({title:"End task",image:"https://img.icons8.com/ios/180/FFFFFF/stop-squared.png",onClick:Sr}),scrapbox.PageMenu(e).addItem({title:"Posteriori end task",image:"https://img.icons8.com/ios/180/FFFFFF/end--v1.png",onClick:rs}),scrapbox.PageMenu(e).addItem({title:"Book starting",image:"https://img.icons8.com/ios/180/FFFFFF/plus-1day.png",onClick:async()=>{let[t,r]=E1(),o=ar().slice(t,r+1).map(n=>{let s=n.text,i=n.text.match(/\[([^\]]+)\]/)?.[1];if(!i)return s;let a=jt(i);if(!a||!a.ok)return s;let c=a.value;if(c.freshness?.status==="done")return s;let l=So(c);return l.title=${i},l?be(l):s}).join( );await Ai(t,r,o),await vo()}}),scrapbox.PageMenu(e).addItem({title:"Walk a day",image:"https://img.icons8.com/ios/180/FFFFFF/plus-1day.png",onClick:()=>os()}),scrapbox.PageMenu(e).addItem({title:"Move today",image:"https://img.icons8.com/ios/180/FFFFFF/date-to.png",onClick:()=>ns()}),scrapbox.PageMenu(e).addItem({title:"Format",image:"https://img.icons8.com/ios/180/FFFFFF/sort-by-start-date.png",onClick:()=>is(scrapbox.Project.name,scrapbox.Page.title)}),scrapbox.PageMenu(e).addItem({title:"Transport",onClick:()=>_o({from:{project:scrapbox.Project.name,title:scrapbox.Page.title},to:"takker-memex"})}),scrapbox.PageMenu(e).addItem({title:"Sync",onClick:()=>window.open("https://script.google.com/macros/s/AKfycbyAgN8nmUXjVXL_tahDzVyyrMzFaI4CJVmIapk8G0GuxxVN-7oUbuDJOf31fP7SFjx9/exec")})}var E1=()=>{let{selectionRange:{start:e,end:t},selectedText:r,position:o}=Fe();return r===""?[o.line,o.line]:e.line>t.line?[t.line,e.line]:[e.line,t.line]};var WR="scrapbox-episopass",Hc=!1;scrapbox.PopupMenu.addButton({title:e=>Hc?"remove EP":/https:\/\/scrapbox\.io\/files\/\w+\.html/.test(e)?"run EP":"",onClick:async e=>{if(document.getElementById(WR)?.remove(),Hc){Hc=!1;return}if(!/https:\/\/scrapbox\.io\/files\/\w+\.html/.test(e))return;let t=e.match(/https:\/\/scrapbox\.io(\/files\/\w+\.html)/)[1];try{let o=await(await fetch(t)).text();if(!o.includes("<title>EpisoPass</title>"))return;let n=new Blob([o],{type:"text/html"}),s=URL.createObjectURL(n);document.getElementsByClassName("cursor-line")[0].insertAdjacentHTML("beforeend",<iframe id="${WR}" src="${s}" width="800" height="400"></iframe>`),Hc=!0;return}catch(r){console.error("Failed to load an EpisoPass html: ",r)}}});export{zt as addButton,We as insertText,Yl as scrapBindings};
/** @license
* esbuild-wasm@v0.24.0
*
* MIT License
*
* Copyright (c) 2020 Evan Wallace
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
code:tex-worker.js
var ht=Object.defineProperty;var Ge=(t,e)=>{for(var r in e)ht(t,r,{get:er,enumerable:!0})};var be={};Ge(be,{close:()=>Et,deleteEverything:()=>ue,eof:()=>Rt,eoln:()=>$t,erstat:()=>Lt,executeAsync:()=>xe,get:()=>At,inputln:()=>Mt,pages:()=>C,printBoolean:()=>Pt,printChar:()=>Ut,printFloat:()=>St,printInteger:()=>vt,printNewline:()=>kt,printString:()=>Tt,put:()=>Nt,readFileSync:()=>se,reset:()=>Ft,rewrite:()=>Ct,setConsole:()=>de,setFileLoader:()=>ge,setInput:()=>he,setMemory:()=>me,tex_final_end:()=>ye,writeFileSync:()=>fe});var X={},m=[],re,O="",P=null,G=null,N=null,F=null,W=null,He=null,H=null,C=1100,z=(C-100)*1024*64,gt=C*1024*64,oe=0,I=!1,xt=()=>{W&&(Wz>>2=z+8,Wz+4>>2=gt),F.asyncify_start_unwind(z),oe=oe+1},yt=()=>{F.asyncify_start_rewind(z),F.main()},bt=()=>{oe=oe-1,F.asyncify_stop_rewind()},ue=()=>{m=[],X={},P=null,G=null,N=null,re=void 0,H=null,F=null,W=null,I=!1},fe=(t,e)=>{Xt=e},se=t=>{for(let e of m)if(e.filename==t)return e.content.slice(0,e.position);throw Error(Could not find file ${t})},Be=(t,e)=>{let r=I;I&&(bt(),I=!1);let n=new Uint8Array;if(Xt)n=Xt;else if(e=="r"&&m.findIndex(s=>s.filename==t&&!s.erstat)==-1)return r||t.match(/\.(aux|log|dvi)$/)?(m.push({filename:t,erstat:1}),m.length-1):(xt(),I=!0,setTimeout(async()=>{try{let s=await He(t);Xt=s}catch{}yt()},0),-1);return m.push({filename:t,position:0,position2:0,erstat:0,eoln:!1,content:n,descriptor:m.length}),m.length-1},wt=()=>{},$=(t,e,r,n)=>{for(r===void 0&&(r=0),n===void 0&&(n=e.length-r);n>t.content.length-t.position;){let o=new Uint8Array(1+t.content.length*2);o.set(t.content),t.content=o}t.content.subarray(t.position).set(e.subarray(r,r+n)),t.position+=n},_t=(t,e,r,n,o)=>(r===void 0&&(r=0),n===void 0&&(n=e.length-r),n>t.content.length-o&&(n=t.content.length-o),e.subarray(r).set(t.content.subarray(o,o+n)),n),M=t=>{if(re&&(O+=t,O.indexOf(` )>=0)){let e=O.split(
);O=e.pop();for(let r of e)r.length&&re(r)}},de=t=>{re=t},me=t=>{P=t,W=new Int32Array(t)},he=(t,e)=>{G=t,e&&(N=e)},ge=t=>{He=t},xe=t=>(F=t,H=Promise.withResolvers(),F.main(),F.asyncify_stop_unwind(),H.promise),Tt=(t,e)=>{let r=t<0?{stdout:!0}:m[t],n=new Uint8Array(P,e,1)[0],o=new Uint8Array(P,e+1,n),s=String.fromCharCode.apply(null,o);if(r.stdout){M(s);return}$(r,new TextEncoder().encode(s))},Pt=(t,e)=>{let r=t<0?{stdout:!0}:m[t],n=e?"TRUE":"FALSE";if(r.stdout){M(n);return}$(r,new TextEncoder().encode(n))},Ut=(t,e)=>{let r=t<0?{stdout:!0}:m[t];if(r.stdout){M(String.fromCharCode(e));return}let n=new Uint8Array(1);n[0]=e,$(r,n)},vt=(t,e)=>{let r=t<0?{stdout:!0}:m[t];if(r.stdout){M(e.toString());return}$(r,new TextEncoder().encode(${e}))},St=(t,e)=>{let r=t<0?{stdout:!0}:m[t];if(r.stdout){M(e.toString());return}$(r,new TextEncoder().encode(${e}))},kt=(t,e)=>{let r=t<0?{stdout:!0}:m[t];if(r.stdout){M(
);return}$(r,new TextEncoder().encode(
))},Ft=(t,e)=>{let r=new Uint8Array(P,e,t),n=String.fromCharCode.apply(null,r);return n=n.replace(/\000+$/g,""),n.startsWith("{")&&(n=n.replace(/^{/g,""),n=n.replace(/}.*/g,"")),n.startsWith('"')&&(n=n.replace(/^"/g,""),n=n.replace(/".*/g,"")),n=n.replace(/ +$/g,""),n=n.replace(/^\*/,""),n=n.replace(/^TeXfonts:/,""),n=="TeXformats:TEX.POOL"&&(n="tex.pool"),n=="TTY:"?(m.push({filename:"stdin",stdin:!0,position:0,position2:0,erstat:0,eoln:!1,content:new TextEncoder().encode(G)}),m.length-1):Be(n,"r")},Ct=(t,e)=>{let r=new Uint8Array(P,e,t),n=String.fromCharCode.apply(null,r);return n=n.replace(/ +$/g,""),n.startsWith('"')&&(n=n.replace(/^"/g,""),n=n.replace(/".*/g,"")),n=="TTY:"?(m.push({filename:"stdout",stdout:!0,erstat:0}),m.length-1):Be(n,"w")},Et=t=>{let e=m[t];e.descriptor&&wt(e.descriptor)},Rt=t=>m[t].eof?1:0,Lt=t=>m[t].erstat,$t=t=>m[t].eoln?1:0,Mt=(t,e,r,n,o,s,a)=>{let i=m[t],c=new Uint8Array(P,r,a),d=new Uint32Array(P,n,4),l=new Uint32Array(P,o,4);l[0]=d[0],e&&!i.eof&&i.eoln&&(i.position2=i.position2+1);let h=i.content.indexOf(10,i.position2);if(h<0&&(h=i.content.length),i.position2>=i.content.length)return i.stdin&&(N&&N(),ye()),i.eof=!0,!1;for(c.subarray(d[0]).set(i.content.subarray(i.position2,h)),l[0]=d[0]+h-i.position2;c[l[0]-1]==32;)l[0]=l[0]-1;return i.position2=h,i.eoln=!0,!0},At=(t,e,r)=>{let n=m[t],o=new Uint8Array(P);if(n.stdin)n.position>=G.length?(o[e]=13,n.eof=!0,N&&N(),ye()):o[e]=G[n.position].charCodeAt(0);else if(n.descriptor){if(_t(n,o,e,r,n.position)==0){o[e]=0,n.eof=!0,n.eoln=!0;return}}else{n.eof=!0,n.eoln=!0;return}n.eoln=!1,o[e]==10&&(n.eoln=!0),o[e]==13&&(n.eoln=!0),n.position=n.position+r},Nt=(t,e,r)=>{let n=m[t],o=new Uint8Array(P);$(n,o,e,r)},ye=()=>{O.length&&M(
),H&&H.resolve()};var we={};Ge(we,{getCurrentDay:()=>Ot,getCurrentMinutes:()=>Dt,getCurrentMonth:()=>zt,getCurrentYear:()=>It});var Dt=()=>{let t=new Date;return 60*t.getHours()+t.getMinutes()},Ot=()=>new Date().getDate(),zt=()=>new Date().getMonth()+1,It=()=>new Date().getFullYear();var Ve,Ye,Ze=async(t,e)=>{Ye??=await e.fileLoader("tex.wasm"),Ve??=new Uint8Array(await e.fileLoader("core.dump"),0,C*65536),fe("input.tex",new TextEncoder().encode(t));let r=new WebAssembly.Memory({initial:C,maximum:C});new Uint8Array(r.buffer,0,C*65536).set(Ve.slice(0)),me(r.buffer),he( input.tex
\\end
),ge(e.fileLoader),e.console&&de(e.console);let o=await WebAssembly.instantiate(Ye,{library:{...be,...we},env:{memory:r}});await xe(o.instance.exports);let s=se("input.log");try{return{dvi:se("input.dvi"),log:s}}catch{return{log:s}}finally{ue()}};async function*qe(t){let e=await new Response(t).arrayBuffer(),r=new DataView(e),n=e.byteLength-4;for(;r.getUint32(n,!0)!==101010256;)n--;let o=n;o+=4,o+=4;let s=r.getUint16(o,!0);o+=2,o+=2,o+=4;let a=r.getUint32(o,!0);o+=4,o=a;for(let i=0;i<s;i++){o+=4,o+=4,o+=4,o+=4,o+=4;let c=r.getUint32(o,!0);o+=4;let d=r.getUint32(o,!0);o+=4;let l=r.getUint16(o,!0);o+=2;let h=r.getUint16(o,!0);o+=2;let w=r.getUint16(o,!0);o+=2,o+=8;let _=r.getUint32(o,!0);o+=4,o+=l+h+w,yield Xt(r,_,c,d)}}var Xt=(t,e,r,n)=>{e+=4,e+=2,e+=2;let o=t.getUint16(e,!0);e+=2,e+=4,e+=4,e+=8;let s=t.getUint16(e,!0);e+=2;let a=t.getUint16(e,!0);e+=2;let i=new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset+e,s));e+=s,e+=a;let c=new Uint8Array(t.buffer,t.byteOffset+e,r);if(o==0)return Ke(i,r,n,c,!0);if(o==8)return Ke(i,r,n,c,!1);throw"unknown compression method: "+o},Ke=(t,e,r,n,o)=>{if(o)return{name:t,csize:e,usize:r,arrayBuffer:()=>Promise.resolve(n),file:()=>Promise.resolve(new File([n],t)),text:()=>Promise.resolve(new TextDecoder().decode(n))};let s,a=async()=>(s??=await Wt(n),s);return{name:t,csize:e,usize:r,arrayBuffer:a,file:async()=>new File([await a()],t),text:async()=>new TextDecoder().decode(await a())}};var zn=(()=>{let t=new Uint32Array(256);for(let e=0;e<256;e++){let r=e;for(let n=0;n<8;n++)r&1?r=3988292384^r>>>1:r=r>>>1;t[e]=r}return t})();var Wt=t=>new Response(new Response(t).body.pipeThrough(new DecompressionStream("deflate-raw"))).arrayBuffer();var je=async(t,e)=>{let r=await globalThis.caches.keys();for(let n of r.sort().reverse()){let s=await(await caches.open(n)).match(t,e);if(s)return s}},Qe=async(t,e)=>{let n=(await globalThis.caches.keys()).filter(s=>s.startsWith("api")).sort().reverse().at(0);if(!n)return;await(await caches.open(n)).put(t,e.clone())};var Je=[1,0,0,1,0,0],Gt=t=>Math.abs(t[0]-1)<Number.EPSILON&&Math.abs(t[1])<Number.EPSILON&&Math.abs(t[2])<Number.EPSILON&&Math.abs(t[3]-1)<Number.EPSILON&&Math.abs(t[4])<Number.EPSILON&&Math.abs(t[5])<Number.EPSILON;var _e=(t,e,r)=>[t[0]*e,t[1]*e,t[2]*r,t[3]*r,t[4],t[5]],Te=(t,e,r)=>[t[0],t[1],t[2],t[3],t[0]*e+t[2]*r+t[4],t[1]*e+t[3]*r+t[5]],Pe=(t,e)=>{let r=e*Math.PI/180,n=Math.cos(r),o=Math.sin(r);return[t[0]*n+t[2]*o,t[1]*n+t[3]*o,-t[0]*o+t[2]*n,-t[1]*o+t[3]*n,t[4],t[5]]},Ue=t=>Gt(t)?"":transform="matrix(${t.join(" ")})";var et=t=>{let e=new FileReader,r=new Promise(n=>e.onload=()=>n(e.result));return e.readAsDataURL(t),r};var tt=async(t,e)=>(await Promise.all([...t].sort().map(async r=>[r.slice(0,-4),await et(new Blob([await e(r)],{type:"font/truetype"}))]))).map(([r,n])=>@font-face{font-family:${r};src:local(${r}),url(${n})format("truetype");}.${r}{font-family:${r};}).join("");var nt=async(t,e)=>{let r=0,n="black",o=e.svg?1:0,s=[...Je],a="",i=0,c="",d=0,l=0,h=0,w=0,_=new Set;for(let u of t)switch(u.type){case"text":{let p=0,b=0,f="";for(let L of u.text){let y=L.codePointAt(0)??0,pe=u.font.metrics.characters.at(y);if(pe===void 0)throw Error(Could not find font metric for ${y});p+=pe.width,b=Math.max(b,pe.height),f+=String.fromCodePoint(y>=0&&y<=9?161+y:y>=10&&y<=19?173+y-10:y===20?8729:y>=21&&y<=32?184+y-21:y===127?196:y)}let T=u.font.metrics.design_size/1048576*65536/1048576,g=u.left*r,x=p*r*T,v=b*r*T,le=u.top*r;a=u.font.name,i=u.font.metrics.design_size/1048576*u.font.scaleFactor/u.font.designSize;let ne=["#000","black"].includes(n)?"CanvasText":n;if(_.add(${a}.ttf),o<=0){let L=d==u.top&&g>l+2;c+=<span class="text ${a}" style="top:${le-v}pt;left:${g}pt;color:${ne};font-size:${i}pt;"><span ${L?'class="has-space" ':""} style="vertical-align:${-v}pt;">${f}</span></span>
,d=u.top,l=g+x}else{let L=u.top*r;c+=<text alignment-baseline="baseline" y="${L}" x="${g}" fill="${ne}" font-size="${i}" font-family="${a}">${f}</text>
}break}case"rect":{let p=u.height*r,b=u.width*r,f=u.left*r,g=u.top*r-p,x=["#000","black"].includes(n)?"CanvasText":n;c+=o>0?<rect x="${f}" y="${g}" width="${b}" height="${p}" fill="${x}" ${Ue(s)}></rect>
:<span class="rect" style="background: ${x}; top: ${g}pt; left: ${f}pt; width: ${b}pt; height: ${p}pt;"></span>
;break}case"special":break;case"info":{r=u.magnification*u.numerator/1e3/u.denominator*72.27/1e5/2.54;break}case"svg":{let p=u.svg;for(let T of u.svg.matchAll(/<svg\s[^>]+>/g)){let g=T[0];g==="<svg beginpicture>"&&(p=p.replace(g,o>0?"":ve(h,w))),o++}for(let T of u.svg.matchAll(/<\/svg\s[^>]+>/g)){let g=T[0];g==="</svg endpicture>"&&(p=p.replace(g,o===1?"</svg>":"")),o=Math.max(0,o-1)}let b=u.top*r,f=u.left*r;c+=p.replaceAll("{?x}",${f}).replaceAll("{?y}",${b});break}case"papersize":w=u.height,h=u.width;break;case"color":n=u.color;break;case"ps":s=u.interpret(s);break;case"psfile":c+=o>0?u.toSVG(s):${ve(h,w)}${u.toSVG(s)}</svg>};break}for(let u=o;u>0;u--)c+="</svg>";let k=<title>${e.title??"input.tex"}</title>,U=<style>${await tt(_,e.fileLoader)}:root{color-scheme:light dark;background-color:Canvas;color:CanvasText;}.page{position:relative;width:100%;}.text{line-height:0;position:absolute;overflow:visible;}.rect{position:absolute;min-width:1px;min-height:1px;}</style>;return c=c.replace(/("#000"|"black")/g,'"CanvasText"').replace(/("#fff"|"white")/g,'"var(--background-primary, Canvas)"'),e.svg?${ve(h,w)}${k}${U}${c}:<!DOCTYPE html><html><head><meta charset="UTF-8">${k}${U}</head><body>${c}</body></html>},ve=(t,e)=><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="${t}pt" height="${e}pt" viewBox="-72 -72 ${t} ${e}">;var rt=t=>{let e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=e.getUint16(0),n=e.getUint16(2),o=e.getUint16(4),s=e.getUint16(6),a={header:Math.max(18,n),character_info:s-o+1,width:e.getUint16(8),height:e.getUint16(10),depth:e.getUint16(12),italic_correction:e.getUint16(14),lig_kern:e.getUint16(16),kern:e.getUint16(18),extensible_character:e.getUint16(20),font_parameter:e.getUint16(22)};if(!(o<=s+1&&s<256))throw new Error(Smallest character code (${o}) must be larger than largest character code (${s}) and largest character code must be less than 256 (actual: ${s}));if(a.extensible_character>256)throw new Error(Extensible character must be less than 256 (actual: ${a.extensible_character}));{let x=6+n+a.character_info+a.width+a.height+a.depth+a.italic_correction+a.lig_kern+a.kern+a.extensible_character+a.font_parameter;if(r!==x)throw new Error(entire_file_length must be ${x} (actual: ${r}))}let i=24,c=x=>[...Array(x).keys()].map(v=>e.getUint32(i+v*4)),d=e.buffer.slice(i,i+a.header*4);i+=a.header*4;let l=c(a.character_info);i+=a.character_info*4;let h=c(a.width);i+=a.width*4;let w=c(a.height);i+=a.height*4;let _=c(a.depth);i+=a.depth*4;let k=c(a.italic_correction);i+=a.italic_correction*4;let U=c(a.lig_kern);i+=a.lig_kern*4;let u=c(a.kern);i+=a.kern*4;let p=c(a.extensible_character);i+=a.extensible_character*4;let b=c(a.font_parameter);i+=a.font_parameter*4;let f=Ht(d),T=Bt(l),g=Yt(b,f.coding_scheme);return{checksum:f.checksum,design_size:f.design_size,family:f.family,face:f.face,ligKernPrograms:Vt(U),characters:T.map(x=>{let{width_index:v,height_index:le,depth_index:ne,italic_index:L}=x,y={width:h[v],height:w.at(le)??0,depth:_.at(ne)??0,italic_correction:k.at(L)??0};switch(x.type){case"lig":y.lig_kern_program=U[x.lig_kern_index];break;case"link":y.next_larger_char=x.next_larger_char;break;case"ext":y.extensible_recipe=p[x.extensible_index];break;default:break}return y}),...g}},Ht=t=>{let e=new DataView(t),r=e.getUint32(0),n=e.getUint32(4),o=e.getUint8(8);if(o>39)throw new Error("Invalid TFM file");let s=new TextDecoder().decode(t.slice(9,9+o)),a=e.getUint8(48);if(a>20)throw new Error("Invalid TFM file");let i=new TextDecoder().decode(t.slice(49,49+a)),c=new Uint8Array(t,68,4),d=c[0],l=c[3];return{checksum:r,design_size:n,coding_scheme:s,family:i,seven_bit_safe_flag:d,face:l}},Bt=t=>t.map(e=>{let r=e>>24,n=e>>20&15,o=e>>16&15,s=e>>10&1118481,a=e>>8&3,i=e&255;switch(a){case 1:return{type:"lig",width_index:r,height_index:n,depth_index:o,italic_index:s,lig_kern_index:i};case 2:return{type:"link",width_index:r,height_index:n,depth_index:o,italic_index:s,next_larger_char:i};case 3:return{type:"ext",width_index:r,height_index:n,depth_index:o,italic_index:s,extensible_index:i};default:return{width_index:r,height_index:n,depth_index:o,italic_index:s}}}),Vt=t=>t.map((e,r)=>{let n=e>>24;if((r===0||r===t.length)&&n===255)throw Error(Font has ${r===0?"right":"left"} boundary char. This is not supported yet.);let o=e>>16&255,s=e>>8&255,a=e&255;if(s>=128){let h=256*(s-128)+a;return{skip_byte:n,next_char:o,op_byte:s,kern:a}}let i=s>>2,c=(s&2)==0,d=(s&1)==0,l=a;return n>=128?{skip_byte:n,next_char:o,op_byte:s,remainder:a}:{skip_byte:n,next_char:o,op_byte:s,kern:a}}),Yt=(t,e)=>{let r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],i=t[5];if(e==="TeX math italic")return{coding_scheme:e,slant:r,spacing:n,space_stretch:o,space_shrink:s,x_height:a,quad:i};let c=t[6];if(e==="TeX math symbols"){let d=t[7],l=t[8],h=t[9],w=t[10],_=t[11],k=t[12],U=t[13],u=t[14],p=t[15],b=t[16],f=t[17],T=t[18],g=t[19],x=t[20],v=t[21];return{coding_scheme:e,slant:r,spacing:n,space_stretch:o,space_shrink:s,x_height:a,quad:i,extra_space:c,num1:d,num2:l,num3:h,denom1:w,denom2:_,sup1:k,sup2:U,sup3:u,sub1:p,sub2:b,supdrop:f,subdrop:T,delim1:g,delim2:x,axis_height:v}}if(e==="TeX math extension"||e==="euler substitutions only"){let d=t[7],l=t.slice(8,13);return{coding_scheme:e,slant:r,spacing:n,space_stretch:o,space_shrink:s,x_height:a,quad:i,extra_space:c,default_rule_thickness:d,big_op_spacing:l}}return{coding_scheme:e,slant:r,spacing:n,space_stretch:o,space_shrink:s,x_height:a,quad:i,extra_space:c}};var Cn=t=>{let e=t[0];if(0<=e&&e<128)return[{opcode:0,c:e},1];if(171<=e&&e<235)return[{opcode:171,k:e-171},1];if(249<e&&e<=255)return[{opcode:138},1];let r=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(e){case 128:case 129:case 130:case 131:{let n=e-128+1;return t.byteLength<n+1?void 0:[{opcode:0,c:Se(t,1,n)},n+1]}case 132:case 137:return t.byteLength<9?void 0:[{opcode:e,a:r.getInt32(1),b:r.getInt32(5)},9];case 133:case 134:case 135:case 136:{let n=e-128+1;return t.byteLength<n+1?void 0:[{opcode:133,c:Se(t,1,n)},n+1]}case 138:case 140:case 141:case 142:return[{opcode:e},1];case 139:return t.byteLength<45?void 0:[{opcode:e,c_0:r.getUint32(1),c_1:r.getUint32(5),c_2:r.getUint32(9),c_3:r.getUint32(13),c_4:r.getUint32(17),c_5:r.getUint32(21),c_6:r.getUint32(25),c_7:r.getUint32(29),c_8:r.getUint32(33),c_9:r.getUint32(37),p:r.getInt32(41)},45];case 143:case 144:case 145:case 146:{let n=e-143+1;return t.byteLength<n+1?void 0:[{opcode:143,b:E(t,1,n)},n+1]}case 147:case 152:return[{opcode:e,b:0},1];case 148:case 149:case 150:case 151:{let n=e-147;return t.byteLength<n+1?void 0:[{opcode:147,b:E(t,1,n)},n+1]}case 153:case 154:case 155:case 156:{let n=e-152;return t.byteLength<n+1?void 0:[{opcode:152,b:E(t,1,n)},n+1]}case 157:case 158:case 159:case 160:{let n=e-157+1;return t.byteLength<n+1?void 0:[{opcode:157,a:E(t,1,n)},n+1]}case 161:case 166:return[{opcode:e,a:0},1];case 162:case 163:case 164:case 165:{let n=e-161;return t.byteLength<n+1?void 0:[{opcode:161,a:E(t,1,n)},n+1]}case 167:case 168:case 169:case 170:{let n=e-166;return t.byteLength<n+1?void 0:[{opcode:166,a:E(t,1,n)},n+1]}case 235:case 236:case 237:case 238:{let n=e-235+1;return t.byteLength<n+1?void 0:[{opcode:171,k:E(t,1,n)},n+1]}case 239:case 240:case 241:case 242:{let n=e-239+1;if(t.byteLength<n+1)return;let o=Se(t,1,n);return t.byteLength<n+1+o?void 0:[{opcode:239,x:t.subarray(n+1,n+1+o),k:o},n+1+o]}case 243:case 244:case 245:case 246:{let n=e-243+1;if(t.byteLength<n+1)return;let o=E(t,1,n);if(t.byteLength<n+15)return;let s=t[n+13],a=t[n+14];return t.byteLength<n+15+s+a?void 0:[{opcode:243,k:o,c:r.getUint32(n+1),s:r.getUint32(n+5),d:r.getUint32(n+9),a:s,l:a,n:new TextDecoder().decode(t.subarray(n+15,n+15+s+a))},n+15+s+a]}case 247:{if(t.byteLength<15)return;let n=t[1],o=t[14];return t.byteLength<15+o?void 0:[{opcode:e,i:n,num:r.getUint32(2),den:r.getUint32(6),mag:r.getUint32(10),x:new TextDecoder().decode(t.subarray(15,15+o)),k:o},15+o]}case 248:return t.byteLength<29?void 0:[{opcode:e,p:r.getUint32(1),num:r.getUint32(5),den:r.getUint32(9),mag:r.getUint32(13),l:r.getUint32(17),u:r.getUint32(21),s:r.getUint16(25),t:r.getUint16(27)},29];case 249:return t.byteLength<6?void 0:[{opcode:e,q:r.getUint32(1),i:r.getUint8(5)},6]}};function*ot(t){let e=t,r=0;for(;r<t.byteLength;){let[n,o]=Cn(e)??[,0];if(r+=o,e=e.subarray(o),!n)break;if(n.opcode===249){if(e.every(s=>s===223))break;throw Error("Only 223 bytes are permitted after the post-postamble.")}yield n}}var Se=(t,e,r)=>[...t.subarray(e,e+r)].reduce((n,o,s)=>n+o*256**(r-s-1),0),E=(t,e,r)=>{switch(r){case 1:return t[e];case 2:{let n=t[e]*256+t[e+1];return n|(n&2**15)*131070}case 3:{let n=t[e]*65536+t[e+1]*256+t[e+2];return n|(n&2**23)*510}case 4:return(t[e]<<24)+t[e+1]*2**16+t[e+2]*2**8+t[e+3]}};var st=()=>{let t=[],e="black";return r=>{let n=new TextDecoder().decode(r.data);if(n.startsWith("color push "))return t.push(e),e=it(n.slice(11)),{type:"color",color:e};if(n.startsWith("color pop")){let o=t.pop();if(!o)throw new Error("Popped from empty color stack");return e=o,{type:"color",color:e}}}},En=t=>${Math.round(t).toString(16)}.padStart(2,"0"),it=t=>{if(t==="gray 0")return"black";if(t==="gray 1")return"white";if(t.startsWith("rgb "))return#${t.split(" ").slice(1).map(e=>En(parseFloat(e)*255)).join("")};if(t.startsWith("gray ")){let e=t.split(" ")[1];return it(rgb ${e} ${e} ${e})}return"black"};var at=()=>{let t="";return(e,r)=>{let n=new TextDecoder().decode(e.data);if(!n.startsWith("dvisvgm:raw "))return;if(t+=n.slice(12),r?.type==="special"){let s=new TextDecoder().decode(r.data);if(e.horizontal===r.horizontal&&e.vertical===r.vertical&&s.startsWith("dvisvgm:raw "))return null}let o=t.replaceAll("{?nl}", );return t="",{type:"svg",svg:o,left:e.horizontal,top:e.vertical}}};var ct=t=>{let e=new TextDecoder().decode(t.data);if(!e.startsWith("papersize="))return;let[r,n]=e.slice(10).split(",");if(r===void 0||n===void 0)throw Error("Papersize special requires two arguments.");if(!r.endsWith("pt"))throw Error("Papersize special width must be in points.");if(!n.endsWith("pt"))throw Error("Papersize special height must be in points.");return{type:"papersize",width:parseFloat(r.slice(0,-2)),height:parseFloat(n.slice(0,-2))}};var lt=[],pt=(t,e,r,n)=>{let o=[],s={matrix:e,horizontal:r,vertical:n},a={pop:()=>o.pop(),exch:()=>{let i=o.pop(),c=o.pop();i&&o.push(i),c&&o.push(c)},dup:()=>{o.push(o[o.length-1])},mark:()=>o.push(new ze),neg:()=>{let i=o.pop();i&&o.push(new S(-i.value))},add:()=>{let i=o.pop(),c=o.pop();i&&c&&o.push(new S(i.value+c.value))},sub:()=>{let i=o.pop(),c=o.pop();i&&c&&o.push(new S(c.value-i.value))},mul:()=>{let i=o.pop(),c=o.pop();i&&c&&o.push(new S(i.value*c.value))},div:()=>{let i=o.pop(),c=o.pop();i&&c&&o.push(new S(c.value/i.value))},gsave:()=>lt.push([...e]),grestore:()=>{let i=lt.pop();i&&(s.matrix=i)},currentpoint:()=>o.push(new S(s.horizontal),new S(s.vertical)),moveto:()=>{let i=o.pop(),c=o.pop();s.horizontal=c?.value,s.vertical=i?.value},scale:()=>{let i=o.pop(),c=o.pop();c&&i&&(s.matrix=_e(s.matrix,c.value,i.value))},translate:()=>{let i=o.pop(),c=o.pop();c&&i&&(s.matrix=Te(s.matrix,c.value,i.value))},rotate:()=>{let i=o.pop();i&&(s.matrix=Pe(s.matrix,i.value))}};for(let i of Rn(t)){if(/^[+-]?\d+(\.\d*)?$/.test(i)){o.push(new S(i));continue}if(i[0]==="("){o.push(new De(i));continue}if(i==="["){a.mark();continue}if(i==="]"){let c=new Oe,d=o.pop();if(!d)continue;for(;d.name!=="mark";)c.push(d);o.push(c)}if(i[0]==="/"&&o.push(new Ie(i)),i[0]==="{"&&o.push(new Xe(i)),i in a){a[i](void 0);continue}throw Error("Invalid or unimplemented postscript expression")}return s};function*Rn(t){let e="",r=0,n=0,o=t[Symbol.iterator]();for(let s of o){let a;switch(s){case" ":case" ":case
:if(n){e[e.length-1]!==" "&&(e+=" ");continue}if(r){switch(s){case" ":e+=" ";break;case
:e+="\\n";break;case" ":e+="\\t";break}continue}e&&(yield e,e="");continue;case"[":case"]":if(!n&&!r){e&&(yield e),e="",yield s;continue}e+=s;continue;case"{":r||(n==0&&e&&(yield e),++n),e+=s;continue;case"}":if(e+=s,r||(--n,n))continue;yield e,e="";continue;case"(":++r,e&&!n&&r==1&&(yield e),r>1&&(e+="\\"),e+=s;continue;case")":if(--r,r&&(e+="\\"),e+=s,n||r)continue;yield e,e="";continue;case"\\":if(e+=s,a=o.next(),a.done)throw Error("Invalid escape character.");a.done||(e+=a.value);continue;case"/":!n&&!r&&e&&(yield e),e+=s;continue;case"%":do a=o.next();while(!a.done&&a.value!==
);continue;default:e+=s}}e&&(yield e)}var R=class{name;value;constructor(e){this.name=e}},S=class extends R{constructor(e){super("number"),this.value=typeof e=="number"?e:parseFloat(e)}},De=class extends R{constructor(e){super("string"),this.value=e.replace(/^\(|\)$/g,"")}},Oe=class extends R{constructor(e){super("array"),this.value=e||[]}push(e){this.value.push(e)}pop(){return this.value.pop()}},ze=class extends R{constructor(){super("mark"),this.value="-mark-"}},Ie=class extends R{constructor(e){super("identifier"),this.value=e.replace(/^\//,"")}},Xe=class extends R{constructor(e){super("procedure"),this.value=e}};var ut=()=>{let t="";return(e,r)=>{let n=new TextDecoder().decode(e.data);if(!n.startsWith("ps: "))return;if(t+=n.slice(4),r?.type==="special"&&new TextDecoder().decode(r.data).startsWith("ps: "))return null;let o=s=>{let a=pt(t,s,e.horizontal,e.vertical);return e.emitChange({horizontal:a.horizontal,vertical:a.vertical,w:e.w,x:e.x,y:e.y,z:e.z}),a.matrix};return t="",{type:"ps",ps:t,interpret:o}}};async function*ft(t,e){let r=Ln(t,e.tfmLoader),n=await r.next(),o=n.done?void 0:n.value;for(;o;){let s=o,a=await r.next();if(o=a.done?void 0:a.value,s.type==="special"&&e.plugins){let i=!1;for(let c of e.plugins){let d=c(s,o);if(d!==void 0){d!==null&&(yield d),i=!0;break}}i||(yield s);continue}yield s}}async function*Ln(t,e){let r=2,n=254e5,o=473628672,s=1e3,a="",i=0,c=0,d=0,l={horizontal:0,vertical:0,w:0,x:0,y:0,z:0,fontNum:0},h=[],w=new Map,_="",k=ot(t),U=k.next(),u=U.done?void 0:U.value;for(;u;){let p=u,b=k.next();switch(u=b.done?void 0:b.value,p.opcode){case 0:case 133:if(_+=String.fromCharCode(p.c),u?.opcode!==0&&u?.opcode!==133||!u){let f=w.get(l.fontNum);if(!f)throw Error(Font "${l.fontNum}" is not loaded);yield{type:"text",text:_,font:f,top:l.vertical,left:l.horizontal},p.opcode===0&&(l.horizontal+=$n(_,f)),_=""}break;case 132:case 137:p.a>0&&p.b>0&&(yield{type:"rect",left:l.horizontal,top:l.vertical,height:p.a,width:p.b}),p.opcode===132&&(l.horizontal+=p.b);break;case 138:case 140:break;case 139:l.horizontal=0,l.vertical=0,l.w=0,l.x=0,l.y=0,l.z=0,l.fontNum=0,h.splice(0,h.length);break;case 141:h.push({...l});break;case 142:{let f=h.pop();f&&(l.horizontal=f.horizontal,l.vertical=f.vertical,l.w=f.w,l.x=f.x,l.y=f.y,l.z=f.z);break}case 143:l.horizontal+=p.b;break;case 147:p.b!==0&&(l.w=p.b),l.horizontal+=l.w;break;case 152:p.b!==0&&(l.x=p.b),l.horizontal+=l.x;break;case 157:l.vertical+=p.a;break;case 161:p.a!==0&&(l.y=p.a),l.vertical+=l.y;break;case 166:p.a!==0&&(l.z=p.a),l.vertical+=l.z;break;case 171:case 235:case 236:case 237:case 238:l.fontNum=p.k;break;case 239:yield{type:"special",data:p.x,...l,emitChange:f=>{l.horizontal=f.horizontal,l.vertical=f.vertical,l.w=f.w,l.x=f.x,l.y=f.y,l.z=f.z}};break;case 243:{if(w.has(p.k))break;let f=p.n,T=p.s,g=p.d,x=p.c,v=rt(new Uint32Array((await e(${p.n}.tfm)).buffer));w.set(p.k,{name:f,checksum:x,scaleFactor:T,designSize:g,metrics:v});break}case 247:r=p.i,n=p.num,o=p.den,s=p.mag,a=p.x,yield{type:"info",version:r,numerator:n,denominator:o,magnification:s,comment:a};break;case 248:i=p.l,c=p.u,d=p.t;break;case 249:yield{type:"info",version:r,numerator:n,denominator:o,magnification:s,comment:a,maxHeight:i,maxWidth:c,pages:d,dviVersion:p.i};break}}}var $n=(t,e)=>{let r=0;for(let o of t){let s=o.codePointAt(0)??0,a=e.metrics.characters.at(s);if(a===void 0)throw Error(Could not find font metric for ${s});r+=a.width}let n=e.metrics.design_size/1048576*65536/1048576;return r*n*e.scaleFactor/e.designSize};globalThis.onmessage=async t=>{let e=t.data;switch(e.type){case"asset-url":{mt=e.url;let r={type:e.type};globalThis.postMessage(r)}break;case"compile":{let{dvi:r,log:n}=await Ze(e.input,{fileLoader:We,console:c=>{let d={type:"stdout",message:c};globalThis.postMessage(d)}});if(!r){let c={type:e.type,log:n};globalThis.postMessage(c,[n.buffer]);return}let o=[],s=new Set;for await(let c of ft(r,{plugins:[ct,ut(),at(),st()],tfmLoader:We}))o.push(c),c.type==="text"&&s.add(c.font.name);let a=await nt(o,{fileLoader:We,svg:!0}),i={type:e.type,svg:a,log:n};globalThis.postMessage(i,[n.buffer])}break}};var dt,We=async t=>{dt??=await Mn();let e=dt.get(t);if(!e){let r=new Error(File ${t} not found in assets`);throw console.log(r),r}return new Uint8Array(await e())},mt="",Mn=async()=>{let t=new Request(mt),e=await je(t,{ignoreSearch:!0}),r=e??await fetch(t);e||await Qe(t,r);let n=new Map;for await(let{name:o,arrayBuffer:s}of qe(await r.arrayBuffer()))n.set(o,s);return n};
code:esbuild-worker.js
var b="0.24.0";(()=>{let r=()=>{let c=new Error("not implemented");return c.code="ENOSYS",c};if(!globalThis.fs){let c="";globalThis.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1},writeSync(i,s){c+=f.decode(s);let n=c.lastIndexOf(`
);return n!=-1&&(console.log(c.substring(0,n)),c=c.substring(n+1)),s.length},write(i,s,n,o,h,u){if(n!==0||o!==s.length||h!==null){u(r());return}let m=this.writeSync(i,s);u(null,m)},chmod(i,s,n){n(r())},chown(i,s,n,o){o(r())},close(i,s){s(r())},fchmod(i,s,n){n(r())},fchown(i,s,n,o){o(r())},fstat(i,s){s(r())},fsync(i,s){s(null)},ftruncate(i,s,n){n(r())},lchown(i,s,n,o){o(r())},link(i,s,n){n(r())},lstat(i,s){s(r())},mkdir(i,s,n){n(r())},open(i,s,n,o){o(r())},read(i,s,n,o,h,u){u(r())},readdir(i,s){s(r())},readlink(i,s){s(r())},rename(i,s,n){n(r())},rmdir(i,s){s(r())},stat(i,s){s(r())},symlink(i,s,n){n(r())},truncate(i,s,n){n(r())},unlink(i,s){s(r())},utimes(i,s,n,o){o(r())}}}if(globalThis.process||(globalThis.process={getuid(){return-1},getgid(){return-1},geteuid(){return-1},getegid(){return-1},getgroups(){throw r()},pid:-1,ppid:-1,umask(){throw r()},cwd(){throw r()},chdir(){throw r()}}),!globalThis.crypto)throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");if(!globalThis.performance)throw new Error("globalThis.performance is not available, polyfill required (performance.now only)");if(!globalThis.TextEncoder)throw new Error("globalThis.TextEncoder is not available, polyfill required");if(!globalThis.TextDecoder)throw new Error("globalThis.TextDecoder is not available, polyfill required");let y=new TextEncoder("utf-8"),f=new TextDecoder("utf-8");globalThis.Go=class{constructor(){this.argv=["js"],this.env={},this.exit=e=>{e!==0&&console.warn("exit code:",e)},this._exitPromise=new Promise(e=>{this._resolveExitPromise=e}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;let c=(e,t)=>{this.mem.setUint32(e+0,t,!0),this.mem.setUint32(e+4,Math.floor(t/4294967296),!0)},i=(e,t)=>{this.mem.setUint32(e+0,t,!0)},s=e=>{let t=this.mem.getUint32(e+0,!0),l=this.mem.getInt32(e+4,!0);return t+l*4294967296},n=e=>{let t=this.mem.getFloat64(e,!0);if(t===0)return;if(!isNaN(t))return t;let l=this.mem.getUint32(e,!0);return this._values[l]},o=(e,t)=>{if(typeof t=="number"&&t!==0){if(isNaN(t)){this.mem.setUint32(e+4,2146959360,!0),this.mem.setUint32(e,0,!0);return}this.mem.setFloat64(e,t,!0);return}if(t===void 0){this.mem.setFloat64(e,0,!0);return}let a=this._ids.get(t);a===void 0&&(a=this._idPool.pop(),a===void 0&&(a=this._values.length),this._values[a]=t,this._goRefCounts[a]=0,this._ids.set(t,a)),this._goRefCounts[a]++;let g=0;switch(typeof t){case"object":t!==null&&(g=1);break;case"string":g=2;break;case"symbol":g=3;break;case"function":g=4;break}this.mem.setUint32(e+4,2146959360|g,!0),this.mem.setUint32(e,a,!0)},h=e=>{let t=s(e+0),l=s(e+8);return new Uint8Array(this._inst.exports.mem.buffer,t,l)},u=e=>{let t=s(e+0),l=s(e+8),a=new Array(l);for(let g=0;g<l;g++)a[g]=n(t+g*8);return a},m=e=>{let t=s(e+0),l=s(e+8);return f.decode(new DataView(this._inst.exports.mem.buffer,t,l))},d=Date.now()-performance.now();this.importObject={_gotest:{add:(e,t)=>e+t},gojs:{"runtime.wasmExit":e=>{e>>>=0;let t=this.mem.getInt32(e+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(t)},"runtime.wasmWrite":e=>{e>>>=0;let t=s(e+8),l=s(e+16),a=this.mem.getInt32(e+24,!0);fs.writeSync(t,new Uint8Array(this._inst.exports.mem.buffer,l,a))},"runtime.resetMemoryDataView":e=>{e>>>=0,this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":e=>{e>>>=0,c(e+8,(d+performance.now())*1e6)},"runtime.walltime":e=>{e>>>=0;let t=new Date().getTime();c(e+8,t/1e3),this.mem.setInt32(e+16,t%1e3*1e6,!0)},"runtime.scheduleTimeoutEvent":e=>{e>>>=0;let t=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(t,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(t);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},s(e+8))),this.mem.setInt32(e+16,t,!0)},"runtime.clearTimeoutEvent":e=>{e>>>=0;let t=this.mem.getInt32(e+8,!0);clearTimeout(this._scheduledTimeouts.get(t)),this._scheduledTimeouts.delete(t)},"runtime.getRandomData":e=>{e>>>=0,crypto.getRandomValues(h(e+8))},"syscall/js.finalizeRef":e=>{e>>>=0;let t=this.mem.getUint32(e+8,!0);if(this._goRefCounts[t]--,this._goRefCounts[t]===0){let l=this._values[t];this._values[t]=null,this._ids.delete(l),this._idPool.push(t)}},"syscall/js.stringVal":e=>{e>>>=0,o(e+24,m(e+8))},"syscall/js.valueGet":e=>{e>>>=0;let t=Reflect.get(n(e+8),m(e+16));e=this._inst.exports.getsp()>>>0,o(e+32,t)},"syscall/js.valueSet":e=>{e>>>=0,Reflect.set(n(e+8),m(e+16),n(e+32))},"syscall/js.valueDelete":e=>{e>>>=0,Reflect.deleteProperty(n(e+8),m(e+16))},"syscall/js.valueIndex":e=>{e>>>=0,o(e+24,Reflect.get(n(e+8),s(e+16)))},"syscall/js.valueSetIndex":e=>{e>>>=0,Reflect.set(n(e+8),s(e+16),n(e+24))},"syscall/js.valueCall":e=>{e>>>=0;try{let t=n(e+8),l=Reflect.get(t,m(e+16)),a=u(e+32),g=Reflect.apply(l,t,a);e=this._inst.exports.getsp()>>>0,o(e+56,g),this.mem.setUint8(e+64,1)}catch(t){e=this._inst.exports.getsp()>>>0,o(e+56,t),this.mem.setUint8(e+64,0)}},"syscall/js.valueInvoke":e=>{e>>>=0;try{let t=n(e+8),l=u(e+16),a=Reflect.apply(t,void 0,l);e=this._inst.exports.getsp()>>>0,o(e+40,a),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,o(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueNew":e=>{e>>>=0;try{let t=n(e+8),l=u(e+16),a=Reflect.construct(t,l);e=this._inst.exports.getsp()>>>0,o(e+40,a),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,o(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueLength":e=>{e>>>=0,c(e+16,parseInt(n(e+8).length))},"syscall/js.valuePrepareString":e=>{e>>>=0;let t=y.encode(String(n(e+8)));o(e+16,t),c(e+24,t.length)},"syscall/js.valueLoadString":e=>{e>>>=0;let t=n(e+8);h(e+16).set(t)},"syscall/js.valueInstanceOf":e=>{e>>>=0,this.mem.setUint8(e+24,n(e+8)instanceof n(e+16)?1:0)},"syscall/js.copyBytesToGo":e=>{e>>>=0;let t=h(e+8),l=n(e+32);if(!(l instanceof Uint8Array||l instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}let a=l.subarray(0,t.length);t.set(a),c(e+40,a.length),this.mem.setUint8(e+48,1)},"syscall/js.copyBytesToJS":e=>{e>>>=0;let t=n(e+8),l=h(e+16);if(!(t instanceof Uint8Array||t instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}let a=l.subarray(0,t.length);t.set(a),c(e+40,a.length),this.mem.setUint8(e+48,1)},debug:e=>{console.log(e)}}}}async run(c){if(!(c instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=c,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,globalThis,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[globalThis,5],[this,6]]),this._idPool=[],this.exited=!1;let i=4096,s=d=>{let e=i,t=y.encode(d+"\0");return new Uint8Array(this.mem.buffer,i,t.length).set(t),i+=t.length,i%8!==0&&(i+=8-i%8),e},n=this.argv.length,o=[];this.argv.forEach(d=>{o.push(s(d))}),o.push(0),Object.keys(this.env).sort().forEach(d=>{o.push(s(${d}=${this.envd}))}),o.push(0);let u=i;if(o.forEach(d=>{this.mem.setUint32(i,d,!0),this.mem.setUint32(i+4,0,!0),i+=8}),i>=12288)throw new Error("total length of command line and environment variables exceeds limit");this._inst.exports.run(n,u),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(c){let i=this;return function(){let s={id:c,this:this,args:arguments};return i._pendingEvent=s,i._resume(),s.result}}}})();onmessage=({data:r})=>{let y=new TextDecoder,f=globalThis.fs,c="";f.writeSync=(h,u)=>{if(h===1)postMessage(u);else if(h===2){c+=y.decode(u);let m=c.split( );m.length>1&&console.log(m.slice(0,-1).join(
)),c=m[m.length-1]}else throw new Error("Bad write");return u.length};let i=[],s,n=0;onmessage=({data:h})=>(h.length>0&&(i.push(h),s&&s()),o),f.read=(h,u,m,d,e,t)=>{if(h!==0||m!==0||d!==u.length||e!==null)throw new Error("Bad read");if(i.length===0){s=()=>f.read(h,u,m,d,e,t);return}let l=i[0],a=Math.max(0,Math.min(d,l.length-n));u.set(l.subarray(n,n+a),m),n+=a,n===l.length&&(i.shift(),n=0),t(null,a)};let o=new globalThis.Go;return o.argv=["",--service=${b}],w(r,o).then(h=>{postMessage(null),o.run(h)},h=>{postMessage(h)}),o};async function w(r,y){if(r instanceof WebAssembly.Module)return WebAssembly.instantiate(r,y.importObject);let f=r instanceof Response?r:await fetch(r);if(!f.ok)throw new Error(Failed to download ${JSON.stringify(r)}`);if("instantiateStreaming"in WebAssembly&&/^application\/wasm($|;)/i.test(f.headers.get("Content-Type")||""))return(await WebAssembly.instantiateStreaming(f,y.importObject)).instance;let c=await f.arrayBuffer();return(await WebAssembly.instantiate(c,y.importObject)).instance}
/** @license esbuild-wasm@0.24.0
*
* MIT License
*
* Copyright (c) 2020 Evan Wallace
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
code:takker-project.css
@import"https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c";html,body,#editor,.grid li{font-family:helvetica,arial,"M PLUS Rounded 1c",Sawarabi Gothic,Noto Sans JP,sans-serif}body *:before{--code-number-color: var(--code-color, #342d9c)}.section-title{counter-reset:codeline}.code-block span.indent code.code-body{counter-increment:codeline;margin-left:-1.5em;padding-left:2.3em}.code-block span.indent code.code-body:before{content:counter(codeline);position:absolute;display:inline-block;z-index:10;margin-left:-2.4em;width:2em;padding-right:.2em;text-align:right;vertical-align:bottom;border-right:solid 1px #fff;color:var(--code-number-color)}.code-block span.indent code.code-body:before{opacity:.5}.cursor-line .code-block span.indent code.code-body:before{opacity:1;font-weight:bolder;background-color:var(--accent-color)}.navbar-form .dropdown.open .dropdown-menu{min-width:100%;max-height:calc(100vh - 130px)!important;overflow-y:auto}.page-list-item.pin+.page-list-item:not(.pin){grid-column-start:1}.line span:not(.modal-image):not(.pointing-device-map)>a.link:not(.icon):not([href^="https://scrapbox.io"]):after{font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";font-weight:900;font-size:.8rem;content:" ";display:inline-block}.line .deco-\.{font-size:.8em;position:relative;top:-.5em}.line:not(.cursor-line) .deco-\. a:is(.page-link:not(.icon),.link) span:not(.empty-char-index)+span+span~span{display:inline-block;width:0;text-indent:-9999px}.line:not(.cursor-line) .deco-\. .page-link:not(.icon) span.empty-char-index~span.char-index{display:inherit;width:inherit;text-indent:inherit}.line:not(.cursor-line) .deco-\. a.page-link:not(.icon) span.empty-char-index+span:before{content:"#"}.line .deco-\. :is(.page-link:not(.icon),.link):before{display:inline-block;min-width:1.15em;padding-left:1px;font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";text-align:center;vertical-align:middle;font-weight:900;content:""}.line .deco-\..deco-\/{font-style:initial}.line .deco-\..deco-\/ :is(.page-link:not(.icon),.link):before{font-weight:400;content:""}div.line span:not(.modal-image):not(.pointing-device-map)>a.link:not(.icon):is(href$=".pdf",[href^="https://twitter.com"],[href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"],[href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):after{display:none}.line span:not(.deco-\.)>span>a.link:is(href$=".pdf",[href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"],[href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):before{display:inline-block;width:1em;height:1em;vertical-align:-1px;text-align:center;background-size:contain;background-repeat:no-repeat;font-family:"Font Awesome 5 Free","Font Awesome 5 Brands"}.line a.link:not(.icon)href$=".pdf":before{content:"";font-weight:400;margin-right:1px}:is(.line,.line .deco) a.link:is([href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"]):before{content:"";font-weight:400;margin-right:1px}:is(.line,.line .deco) a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):before{content:"";font-weight:400;margin-right:3px}.line .deco-\. a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]) span.char-index{display:inline-block;width:0;text-indent:-9999px}.line .deco-\. a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]) span.char-index:nth-of-type(30)~span.char-index{display:inherit;width:inherit;text-indent:inherit}.deco-\"{border-radius:.2em;padding:0 .4em;background-color:#8080801a;font-size:95%;font-style:italic}.deco-\":before{color:#a0a0a0;font-size:85%;font-family:"Font Awesome 5 Free";content:"";font-weight:900;vertical-align:super}.line .indent-mark .dot{opacity:0}.line .indent-mark .c-0+.dot{opacity:1}.line .indent-mark .c-1+.dot{opacity:.8}.line .indent-mark .c-2+.dot{opacity:.6}.line .indent-mark .c-3+.dot{opacity:.4}.line .indent-mark .c-4+.dot{opacity:.2}.line strong:not(class){background:linear-gradient(transparent 60%,#abff4f99 60% 100%)}.time-range .lines{user-select:unset;-webkit-user-select:unset}.line:not(.cursor-line) .deco-\|{display:inline-flex}.line .deco-\| img.image{object-fit:contain;margin:0}.line class^=level .deco-\|{flex-wrap:wrap}.line .level-1 .deco-\|>span{width:100%}.line .level-2 .deco-\|>span{width:50%}.line .level-3 .deco-\|>span{width:calc(100%/3)}.line .level-4 .deco-\|>span{width:25%}.line .level-5 .deco-\|>span{width:20%}.line class^=level .deco-\| img.image{object-fit:cover;width:100%;height:100%}.line .deco-\|>span,.line class^=level .deco-\|>span{overflow:hidden}.line .deco-\| img.image,.line class^=level .deco-\| img.image{margin:.2em}.selections .popup-menu .button-container .button:empty{display:none}.strong-button>strong,.italic-button>i,.strike-button>strike{display:inline-block;width:0;text-indent:-9999px}.selections .popup-menu .button-container .button:is(.link-button,.new-page-button,.copy-plain-button){font-size:0}.selections .popup-menu .button-container .button{font-family:Open Sans,Helvetica,Arial,Hiragino Sans,sans-serif,"Font Awesome 5 Free","Font Awesome 5 Brands";font-size:11px;line-height:20px;font-weight:600;display:inline-block;text-align:center}.link-button:after{font-size:11px;content:""}.strong-button:after{content:""}.italic-button:after{content:""}.strike-button:after{content:""}.copy-plain-button:after{font-size:11px;content:""}.new-page-button:after{font-size:11px;content:""}.line a.iconhref$="/hr"{pointer-events:none}.page-column{grid-template-columns:var(--page-column-columns, 46px minmax(200px, 960px) min-content);grid-template-areas:var(--page-column-areas, "spacer page menu")}@media (991px < width){.page-column:has(.page-sidebar){grid-template-columns:var(--page-column-columns-sidebar, minmax(200px, 3fr) minmax(170px, 1fr) min-content);grid-template-areas:var(--page-column-areas-sidebar, "page sidebar menu")}}@media (min-width: 768px) and (max-width: 991px){.page-column{grid-template-columns:var(--page-column-columns-768, minmax(200px, 960px) min-content);grid-template-areas:var(--page-column-areas-768, "page menu")}}@media (max-width: 767px){.page-column{display:grid;grid-template-columns:var(--page-column-columns-767, 1fr);grid-template-areas:var(--page-column-areas-767, "page")}}.page-column:not(:has(.definition-term)){--page-column-columns-sidebar: minmax(200px, 960px) min-content;--page-column-areas-sidebar: "page menu"}.page-sidebar:not(:has(.definition-term)){display:none}.deco-\#{font-family:Cica,Menlo,Monaco,Consolas,Courier New,monospace}.grid li.page-list-item a .pin{background-color:transparent;background-image:none}.grid li.page-list-item a .pin:after{content:"";font-family:"Font Awesome 5 Free";font-weight:900;font-size:20px;color:#1f915e;bottom:0}.deco-\>{position:absolute;width:100%;text-align:right}li.page-list-item.grid-style-item div.title{-webkit-line-clamp:2}.line.number-list .dot{background-color:transparent!important;display:list-item}.line.number-list .dot:before{display:block;position:absolute;font-family:"Font Awesome 5 Free";top:-11px;content:"";font-weight:900;font-size:11px;color:#c9c9c9;opacity:0}.line.number-list .c-0+.dot:before{opacity:1}.line.number-list .c-1+.dot:before{opacity:.8}.line.number-list .c-2+.dot:before{opacity:.6}.line.number-list .c-3+.dot:before{opacity:.4}.line.number-list .c-4+.dot:before{opacity:.2}img[src^="https://i.kakeru.app"]{background-color:#fff}.brand-icon{display:none!important}.navbar-brand:before{content:"";font-family:"Font Awesome 5 Free";font-size:28px;font-weight:900;color:#bbb}body{--empty-page-link-color: #309b98;--empty-page-link-hover-color: #28807d}.project-home .title{font-size:2rem}.expandable-menu{max-width:calc(100% - 232px)}@media screen and (min-width: 768px) and (max-width: 991px){.expandable-menu{max-width:calc(100% - 247px)}}@media screen and (min-width: 992px) and (max-width: 1260px){.expandable-menu{max-width:calc(100% - 262px)}}.line .indent-mark .dot{top:11px;width:6px;height:3px;background-color:#c9c9c9}.dropdown-menu,.drawer .drawer-menu{background-color:var(--dropdown-menu-bg, #fff);border:var(--dropdown-menu-border, unset)}.dropdown-menu>li>a,.drawer .drawer-menu ul li a,.page-menu ul>li>div{color:var(--dropdown-menu-text-color, #333)}.dropdown-menu>li>a:active,.drawer-menu ul li a:active,data-hover-visible :is(.dropdown-menu,.drawer-menu)>li>:is(a:hover,a:focus){color:var(--dropdown-menu-text-hover-color, #262626);background-color:var(--dropdown-menu-text-hover-bg, #f5f5f5)}:is(.dropdown-menu,.drawer-menu) .divider{color:var(--dropdown-menu-divider-color, #e5e5e5)}@media (prefers-color-scheme: dark){body{--body-bg: #202228;--navbar-bg: rgba(55, 59, 68, .3);--navbar-icon-color: #fff;--navbar-icon-active-color: #338c46;--navbar-icon-hovered-color: #338c46;--search-form-bg: rgba(255, 255, 255, .13);--search-form-icon-color: #fff;--search-form-icon-focus-color: #4a4a4a;--card-title-color: #f0f0f0;--card-title-bg: #2b2e38;--card-bg: #373b44;--card-hover-bg: rgba(0, 0, 0, .1);--card-active-bg: rgba(229, 229, 229, .1);--card-backside: #545860;--card-description-color: #c4c4c4;--card-description-link-color: #80c9fe;--card-description-code-color: #ccc;--card-box-shadow-color: #000;--card-box-shadow: 0 2px 0 var(--card-box-shadow-color);--card-box-hover-shadow: 0 2px 0 rgba(0, 0, 0, .23);--card-title-bg-pinned: #2b2e38;--relation-label-bg: #2b2e38;--relation-label-text: #dddede;--relation-label-links-bg: #80c9fe;--relation-label-links-text: #202228;--relation-label-empty-bg: #fb7476;--relation-label-empty-text: #fff;--tool-color: #535863;--tool-light-color: #353b48;--tool-badge-bg: #2b2e38;--tool-bg: #2b2e38;--tool-text-color: #dddede;--new-button-vertical-color: #fff;--new-button-horizontal-color: #fff;--new-button-bg: #46af5d;--new-button-hover-bg: #338c46;--new-button-active-bg: #346447;--telomere-border: #545863;--telomere-unread: #56a066;--page-text-color: rgba(255, 255, 255, .87);--page-link-color: #80c9fe;--page-link-hover-color: #6a9ec6;--page-link-color-cursor-line: #a985e4;--page-bg: #373b44;--empty-page-link-color: #fb7476;--empty-page-link-hover-color: #b47576;--line-title-color: rgba(255, 255, 255, .87);--line-permalink-color: rgba(234, 218, 74, .35);--code-color: #ccc;--code-bg: rgba(0, 0, 0, .18);--quote-bg-color: rgba(0, 0, 0, .2);--cursor-color: #fff}body{--dark-theme-bg: #24292f;--dark-theme-border: solid 1px #888}body{--navbar-bg: rgba(2, 167, 137, .5)}body{--new-button-horizontal-color: #b44a29;--new-button-vertical-color: var(--new-button-horizontal-color);--new-button-bg: #f4835f;--new-button-hover-bg: #f2693e;--new-button-active-bg: #ef4c17}body{--tool-color: #535863;--tool-light-color: #353b48;--tool-badge-bg: #2b2e38;--tool-bg: #2b2e38;--tool-text-color: #dddede;--body-headings-color: var(--tool-color)}body{--code-line-number-color: #D181FF;--cursor-code-line-number-color: #FF00F0}body{--dropdown-menu-bg: #373b44;--dropdown-menu-border: 1px solid #8888882d;--dropdown-menu-text-color: var(--page-text-color);--dropdown-menu-divider-color: #e5e5e5;--dropdown-menu-text-hover-color: var(--page-text-color);--dropdown-menu-text-hover-bg: #373b44}body{--card-title-bg: var(--navbar-bg);--card-title-bg-pinned: var(--navbar-bg)}html:not(data-display-style^=presentation) .page{box-shadow:none;border:solid 1px #888}.table-block .cell{border-bottom:solid 1px #888}.line code.helpfeel{background-color:var(--code-bg)}.line span.code-block .code-block-start{border:solid 1px #66667F;background-color:#272822;padding:2px 5px;color:#7c9ff7}.line span.code-block .code-block-start a{color:#7c9ff7}.code-block{--code-bg: #2d2b57;--code-color: #e3dfff;font-weight:400}code.highlight .hljs-subst{color:#e3dfff}code.highlight .hljs-title{color:#fad000;font-weight:400}code.highlight .hljs-name{color:#a1feff}code.highlight .hljs-tag{color:#fff}code.highlight .hljs-attr{color:#f8d000;font-style:italic}code.highlight :is(.hljs-built_in,.hljs-selector-tag,.hljs-section){color:#fb9e00}code.highlight .hljs-keyword{color:#fb9e00}code.highlight :is(.hljs-string,.hljs-attribute,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-code,.hljs-regexp,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-template-tag,.hljs-quote,.hljs-deletion){color:#4cd213}code.highlight :is(.hljs-meta,.hljs-meta .hljs-string){color:#fb9e00}code.highlight .hljs-comment{color:#ac65ff}code.highlight :is(.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-name){font-weight:400}code.highlight :is(.hljs-literal,.hljs-number){color:#fa658d}code.highlight .hljs-emphasis{font-style:italic}code.highlight .hljs-strong{font-weight:700}code.highlight :is(.hljs-selector-pseudo,.hljs-deletion){color:#e06c75}::selection{color:unset;background:#0073e680}.selection{background-color:#fff7}.line .indent-mark .dot{background-color:gray}.line.number-list .dot:before{color:gray}}.page-linkhref*=".@":before{content:"✅"}.page-linkhref*="@20":not(href*=".@"):before{content:"⬜"}html:not(data-display-style^=presentation) body{background-image:url(https://i.gyazo.com/8d65198f72652e8887d2c941f39805b4.png)}.grid li.page-list-item a .description .formula{display:inline}.page-link:is(href^="/tosuke-notes",href^="/blu3mo/",href^="/masuilab/",href^="/takker-memex",href^="/takker-books",href^="/takker-CEPM",href^="/takker-MBRC",href^="/takker-CVBH",href^="/takker-CVST",href^="/takker-PS",href^="/takker-SM",href^="/takker-SoM",href^="/takker-private"):before{content:"🔒"} code:takker-user.css
@media screen and (min-width: 400px){html:is(data-os*=android,data-os*=ios) .popup-menu .button-container .button,.popup-menu .button-container .button:is(data-os*=android,data-os*=ios){min-width:3em}}:not(data-display-style^=presentation) .page-column{--page-column-columns: 100px minmax(200px, 960px) min-content 1fr;--page-column-areas: "spacer page menu spacer2";--page-column-columns-sidebar: 100px minmax(200px, 3fr) minmax(170px, 1fr) min-content;--page-column-areas-sidebar: "spacer page sidebar menu";--page-column-columns-768: var(--page-column-columns);--page-column-areas-768: var(--page-column-areas);--page-column-columns-767: minmax(60px, calc(100% / 767 * 100)) 1fr;--page-column-areas-767: "spacer page"}@container (width > 1236px){:not(data-display-style^=presentation) .page-column{--page-column-columns: minmax(200px, 960px) min-content;--page-column-areas: "page menu"}}data-display-style^=presentation data-userscript-name="takker-scheduler/timeline-wedget"{display:none}.page-column:not(:has(.definition-term)){--page-column-columns-sidebar: var(--page-column-columns);--page-column-areas-sidebar: var(--page-column-areas)}.page-sidebar:not(:has(.definition-term)){display:none}.search-form .form-group input:focus{color:var(--page-text-color);background-color:var(--search-form-bg, rgba(255,255,255,.15))}.line span.code-block .code-block-start title=css a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=html a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=javascript a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=typescript a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=cpp a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=c a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=cs a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=python a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=toml a:before,.line span.code-block .code-block-start title=json a:before,.line span.code-block .code-block-start title=yaml a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=xml a:before{content:"謹";display:inline-block}.line span.code-block .code-block-start title=gitignore a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=markdown a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=txt a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=csv a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=fish a:before,.line span.code-block .code-block-start title=bash a:before,.line span.code-block .code-block-start title=zsh a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=dos a:before{content:"";display:inline-block}.line code,.line span.code-block{font-family:Cica,Menlo,Monaco,Consolas,Courier New,monospace;font-size:105%}data-os=android{.page-column{div.page-menu{position:fixed;display:flex;flex-direction:row-reverse;right:0;.dropdown-menu-top,.dropdown-menu-right{top:46px}}}} code:takker-memex.css
body *:before{--code-number-color: var(--code-color, #342d9c)}.section-title{counter-reset:codeline}.code-block span.indent code.code-body{counter-increment:codeline;margin-left:-1.5em;padding-left:2.3em}.code-block span.indent code.code-body:before{content:counter(codeline);position:absolute;display:inline-block;z-index:10;margin-left:-2.4em;width:2em;padding-right:.2em;text-align:right;vertical-align:bottom;border-right:solid 1px #fff;color:var(--code-number-color)}.code-block span.indent code.code-body:before{opacity:.5}.cursor-line .code-block span.indent code.code-body:before{opacity:1;font-weight:bolder;background-color:var(--accent-color)}.navbar-form .dropdown.open .dropdown-menu{min-width:100%;max-height:calc(100vh - 130px)!important;overflow-y:auto}.page-list-item.pin+.page-list-item:not(.pin){grid-column-start:1}.line span:not(.modal-image):not(.pointing-device-map)>a.link:not(.icon):not([href^="https://scrapbox.io"]):after{font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";font-weight:900;font-size:.8rem;content:" ";display:inline-block}.line .deco-\.{font-size:.8em;position:relative;top:-.5em}.line:not(.cursor-line) .deco-\. a:is(.page-link:not(.icon),.link) span:not(.empty-char-index)+span+span~span{display:inline-block;width:0;text-indent:-9999px}.line:not(.cursor-line) .deco-\. .page-link:not(.icon) span.empty-char-index~span.char-index{display:inherit;width:inherit;text-indent:inherit}.line:not(.cursor-line) .deco-\. a.page-link:not(.icon) span.empty-char-index+span:before{content:"#"}.line .deco-\. :is(.page-link:not(.icon),.link):before{display:inline-block;min-width:1.15em;padding-left:1px;font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";text-align:center;vertical-align:middle;font-weight:900;content:""}.line .deco-\..deco-\/{font-style:initial}.line .deco-\..deco-\/ :is(.page-link:not(.icon),.link):before{font-weight:400;content:""}div.line span:not(.modal-image):not(.pointing-device-map)>a.link:not(.icon):is(href$=".pdf",[href^="https://twitter.com"],[href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"],[href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):after{display:none}.line span:not(.deco-\.)>span>a.link:is(href$=".pdf",[href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"],[href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):before{display:inline-block;width:1em;height:1em;vertical-align:-1px;text-align:center;background-size:contain;background-repeat:no-repeat;font-family:"Font Awesome 5 Free","Font Awesome 5 Brands"}.line a.link:not(.icon)href$=".pdf":before{content:"";font-weight:400;margin-right:1px}:is(.line,.line .deco) a.link:is([href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"]):before{content:"";font-weight:400;margin-right:1px}:is(.line,.line .deco) a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):before{content:"";font-weight:400;margin-right:3px}.line .deco-\. a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]) span.char-index{display:inline-block;width:0;text-indent:-9999px}.line .deco-\. a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]) span.char-index:nth-of-type(30)~span.char-index{display:inherit;width:inherit;text-indent:inherit}.deco-\"{border-radius:.2em;padding:0 .4em;background-color:#8080801a;font-size:95%;font-style:italic}.deco-\":before{color:#a0a0a0;font-size:85%;font-family:"Font Awesome 5 Free";content:"";font-weight:900;vertical-align:super}.line .indent-mark .dot{opacity:0}.line .indent-mark .c-0+.dot{opacity:1}.line .indent-mark .c-1+.dot{opacity:.8}.line .indent-mark .c-2+.dot{opacity:.6}.line .indent-mark .c-3+.dot{opacity:.4}.line .indent-mark .c-4+.dot{opacity:.2}.line strong:not(class){background:linear-gradient(transparent 60%,#abff4f99 60% 100%)}.time-range .lines{user-select:unset;-webkit-user-select:unset}.line:not(.cursor-line) .deco-\|{display:inline-flex}.line .deco-\| img.image{object-fit:contain;margin:0}.line class^=level .deco-\|{flex-wrap:wrap}.line .level-1 .deco-\|>span{width:100%}.line .level-2 .deco-\|>span{width:50%}.line .level-3 .deco-\|>span{width:calc(100%/3)}.line .level-4 .deco-\|>span{width:25%}.line .level-5 .deco-\|>span{width:20%}.line class^=level .deco-\| img.image{object-fit:cover;width:100%;height:100%}.line .deco-\|>span,.line class^=level .deco-\|>span{overflow:hidden}.line .deco-\| img.image,.line class^=level .deco-\| img.image{margin:.2em}.selections .popup-menu .button-container .button:empty{display:none}.strong-button>strong,.italic-button>i,.strike-button>strike{display:inline-block;width:0;text-indent:-9999px}.selections .popup-menu .button-container .button:is(.link-button,.new-page-button,.copy-plain-button){font-size:0}.selections .popup-menu .button-container .button{font-family:Open Sans,Helvetica,Arial,Hiragino Sans,sans-serif,"Font Awesome 5 Free","Font Awesome 5 Brands";font-size:11px;line-height:20px;font-weight:600;display:inline-block;text-align:center}.link-button:after{font-size:11px;content:""}.strong-button:after{content:""}.italic-button:after{content:""}.strike-button:after{content:""}.copy-plain-button:after{font-size:11px;content:""}.new-page-button:after{font-size:11px;content:""}.line a.iconhref$="/hr"{pointer-events:none}.page-column{grid-template-columns:var(--page-column-columns, 46px minmax(200px, 960px) min-content);grid-template-areas:var(--page-column-areas, "spacer page menu")}@media (991px < width){.page-column:has(.page-sidebar){grid-template-columns:var(--page-column-columns-sidebar, minmax(200px, 3fr) minmax(170px, 1fr) min-content);grid-template-areas:var(--page-column-areas-sidebar, "page sidebar menu")}}@media (min-width: 768px) and (max-width: 991px){.page-column{grid-template-columns:var(--page-column-columns-768, minmax(200px, 960px) min-content);grid-template-areas:var(--page-column-areas-768, "page menu")}}@media (max-width: 767px){.page-column{display:grid;grid-template-columns:var(--page-column-columns-767, 1fr);grid-template-areas:var(--page-column-areas-767, "page")}}.page-column:not(:has(.definition-term)){--page-column-columns-sidebar: minmax(200px, 960px) min-content;--page-column-areas-sidebar: "page menu"}.deco-\#{font-family:Cica,Menlo,Monaco,Consolas,Courier New,monospace}.grid li.page-list-item a .pin{background-color:transparent;background-image:none}.grid li.page-list-item a .pin:after{content:"";font-family:"Font Awesome 5 Free";font-weight:900;font-size:20px;color:#1f915e;bottom:0}@media screen and (min-width: 400px){html:is(data-os*=android,data-os*=ios) .popup-menu .button-container .button,.popup-menu .button-container .button:is(data-os*=android,data-os*=ios){min-width:3em}}:not(data-display-style^=presentation) .page-column{--page-column-columns: 100px minmax(200px, 960px) min-content 1fr;--page-column-areas: "spacer page menu spacer2";--page-column-columns-sidebar: 100px minmax(200px, 3fr) minmax(170px, 1fr) min-content;--page-column-areas-sidebar: "spacer page sidebar menu";--page-column-columns-768: var(--page-column-columns);--page-column-areas-768: var(--page-column-areas);--page-column-columns-767: minmax(60px, calc(100% / 767 * 100)) 1fr;--page-column-areas-767: "spacer page"}@container (width > 1236px){:not(data-display-style^=presentation) .page-column{--page-column-columns: minmax(200px, 960px) min-content;--page-column-areas: "page menu"}}data-display-style^=presentation data-userscript-name="takker-scheduler/timeline-wedget"{display:none}.page-column:not(:has(.definition-term)){--page-column-columns-sidebar: var(--page-column-columns);--page-column-areas-sidebar: var(--page-column-areas)}.page-sidebar:not(:has(.definition-term)){display:none}.deco-\>{position:absolute;width:100%;text-align:right}.search-form .form-group input:focus{color:var(--page-text-color);background-color:var(--search-form-bg, rgba(255,255,255,.15))}.line span.code-block .code-block-start title=css a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=html a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=javascript a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=typescript a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=cpp a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=c a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=cs a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=python a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=toml a:before,.line span.code-block .code-block-start title=json a:before,.line span.code-block .code-block-start title=yaml a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=xml a:before{content:"謹";display:inline-block}.line span.code-block .code-block-start title=gitignore a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=markdown a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=txt a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=csv a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=fish a:before,.line span.code-block .code-block-start title=bash a:before,.line span.code-block .code-block-start title=zsh a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=dos a:before{content:"";display:inline-block}.line code,.line span.code-block{font-family:Cica,Menlo,Monaco,Consolas,Courier New,monospace;font-size:105%}.table-block .cell{border:solid 1px var(--telomere-border, #808b8c)}li.page-list-item.grid-style-item div.title{-webkit-line-clamp:2}.line.number-list .dot{background-color:transparent!important;display:list-item}.line.number-list .dot:before{display:block;position:absolute;font-family:"Font Awesome 5 Free";top:-11px;content:"";font-weight:900;font-size:11px;color:#c9c9c9;opacity:0}.line.number-list .c-0+.dot:before{opacity:1}.line.number-list .c-1+.dot:before{opacity:.8}.line.number-list .c-2+.dot:before{opacity:.6}.line.number-list .c-3+.dot:before{opacity:.4}.line.number-list .c-4+.dot:before{opacity:.2}img[src^="https://i.kakeru.app"]{background-color:#fff}@media screen{.quick-launch .left-box{position:fixed;top:-2px;left:40px;z-index:1000}}@media screen and (min-width: 768px) and (max-width: 991px){.quick-launch .left-box{left:55px}}@media screen and (min-width: 992px) and (max-width: 1260px){.quick-launch .left-box{left:70px}}@media screen and (min-width: 1261px){.quick-launch .left-box{left:calc((100% - 1280px)/2 + 80px)}}.expandable-menu{max-width:calc(100% - 291px)}@media screen and (min-width: 768px) and (max-width: 991px){.expandable-menu{max-width:calc(100% - 306px)}}@media screen and (min-width: 992px) and (max-width: 1260px){.expandable-menu{max-width:calc(100% - 321px)}}.deco-\* img.image{max-height:600px}.page-linkhref*=".@":before{content:"✅"}.page-linkhref*="@20":not(href*=".@"):before{content:"⬜"}data-os=android{.page-column{div.page-menu{position:fixed;display:flex;flex-direction:row-reverse;right:0;.dropdown-menu-top,.dropdown-menu-right{top:46px}}}}.dropdown-menu,.drawer .drawer-menu{background-color:var(--dropdown-menu-bg, #fff);border:var(--dropdown-menu-border, unset)}.dropdown-menu>li>a,.drawer .drawer-menu ul li a,.page-menu ul>li>div{color:var(--dropdown-menu-text-color, #333)}.dropdown-menu>li>a:active,.drawer-menu ul li a:active,data-hover-visible :is(.dropdown-menu,.drawer-menu)>li>:is(a:hover,a:focus){color:var(--dropdown-menu-text-hover-color, #262626);background-color:var(--dropdown-menu-text-hover-bg, #f5f5f5)}:is(.dropdown-menu,.drawer-menu) .divider{color:var(--dropdown-menu-divider-color, #e5e5e5)}body{--dropdown-menu-bg: #373b44;--dropdown-menu-border: 1px solid #8888882d;--dropdown-menu-text-color: var(--page-text-color);--dropdown-menu-text-hover-color: var(--page-text-color);--dropdown-menu-text-hover-bg: #373b44}.line:not(.cursor-line) .deco-\'{position:absolute;width:100%;text-align:center}.navbar-brand:before{content:"";width:44px;height:44px;position:absolute;background-color:#252a30;background-image:url(https://daiiz-apps.appspot.com/today/jp.svg);background-size:cover;background-position:center;border-radius:6px}.line:not(.cursor-line) class="deco-( deco-)":not(:has(img.icon)){border-radius:50%;border:.05em solid var(--page-text-color, #4a4a4a);line-height:1;color:var(--page-text-color, #4a4a4a);font-weight:600;padding:5px;a{color:var(--page-text-color, #4a4a4a)}} code:takker-private.css
body *:before{--code-number-color: var(--code-color, #342d9c)}.section-title{counter-reset:codeline}.code-block span.indent code.code-body{counter-increment:codeline;margin-left:-1.5em;padding-left:2.3em}.code-block span.indent code.code-body:before{content:counter(codeline);position:absolute;display:inline-block;z-index:10;margin-left:-2.4em;width:2em;padding-right:.2em;text-align:right;vertical-align:bottom;border-right:solid 1px #fff;color:var(--code-number-color)}.code-block span.indent code.code-body:before{opacity:.5}.cursor-line .code-block span.indent code.code-body:before{opacity:1;font-weight:bolder;background-color:var(--accent-color)}.navbar-form .dropdown.open .dropdown-menu{min-width:100%;max-height:calc(100vh - 130px)!important;overflow-y:auto}.page-list-item.pin+.page-list-item:not(.pin){grid-column-start:1}.line span:not(.modal-image):not(.pointing-device-map)>a.link:not(.icon):not([href^="https://scrapbox.io"]):after{font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";font-weight:900;font-size:.8rem;content:" ";display:inline-block}.line .deco-\.{font-size:.8em;position:relative;top:-.5em}.line:not(.cursor-line) .deco-\. a:is(.page-link:not(.icon),.link) span:not(.empty-char-index)+span+span~span{display:inline-block;width:0;text-indent:-9999px}.line:not(.cursor-line) .deco-\. .page-link:not(.icon) span.empty-char-index~span.char-index{display:inherit;width:inherit;text-indent:inherit}.line:not(.cursor-line) .deco-\. a.page-link:not(.icon) span.empty-char-index+span:before{content:"#"}.line .deco-\. :is(.page-link:not(.icon),.link):before{display:inline-block;min-width:1.15em;padding-left:1px;font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";text-align:center;vertical-align:middle;font-weight:900;content:""}.line .deco-\..deco-\/{font-style:initial}.line .deco-\..deco-\/ :is(.page-link:not(.icon),.link):before{font-weight:400;content:""}div.line span:not(.modal-image):not(.pointing-device-map)>a.link:not(.icon):is(href$=".pdf",[href^="https://twitter.com"],[href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"],[href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):after{display:none}.line span:not(.deco-\.)>span>a.link:is(href$=".pdf",[href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"],[href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):before{display:inline-block;width:1em;height:1em;vertical-align:-1px;text-align:center;background-size:contain;background-repeat:no-repeat;font-family:"Font Awesome 5 Free","Font Awesome 5 Brands"}.line a.link:not(.icon)href$=".pdf":before{content:"";font-weight:400;margin-right:1px}:is(.line,.line .deco) a.link:is([href^="https://github.com"],[href^="https://raw.githubusercontent.com"],[href^="https://gist.github.com"]):before{content:"";font-weight:400;margin-right:1px}:is(.line,.line .deco) a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]):before{content:"";font-weight:400;margin-right:3px}.line .deco-\. a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]) span.char-index{display:inline-block;width:0;text-indent:-9999px}.line .deco-\. a.link:is([href^="https://ja.wikipedia.org"],[href^="https://en.wikipedia.org"]) span.char-index:nth-of-type(30)~span.char-index{display:inherit;width:inherit;text-indent:inherit}.deco-\"{border-radius:.2em;padding:0 .4em;background-color:#8080801a;font-size:95%;font-style:italic}.deco-\":before{color:#a0a0a0;font-size:85%;font-family:"Font Awesome 5 Free";content:"";font-weight:900;vertical-align:super}.line .indent-mark .dot{opacity:0}.line .indent-mark .c-0+.dot{opacity:1}.line .indent-mark .c-1+.dot{opacity:.8}.line .indent-mark .c-2+.dot{opacity:.6}.line .indent-mark .c-3+.dot{opacity:.4}.line .indent-mark .c-4+.dot{opacity:.2}.line strong:not(class){background:linear-gradient(transparent 60%,#abff4f99 60% 100%)}.time-range .lines{user-select:unset;-webkit-user-select:unset}.line:not(.cursor-line) .deco-\|{display:inline-flex}.line .deco-\| img.image{object-fit:contain;margin:0}.line class^=level .deco-\|{flex-wrap:wrap}.line .level-1 .deco-\|>span{width:100%}.line .level-2 .deco-\|>span{width:50%}.line .level-3 .deco-\|>span{width:calc(100%/3)}.line .level-4 .deco-\|>span{width:25%}.line .level-5 .deco-\|>span{width:20%}.line class^=level .deco-\| img.image{object-fit:cover;width:100%;height:100%}.line .deco-\|>span,.line class^=level .deco-\|>span{overflow:hidden}.line .deco-\| img.image,.line class^=level .deco-\| img.image{margin:.2em}.selections .popup-menu .button-container .button:empty{display:none}.strong-button>strong,.italic-button>i,.strike-button>strike{display:inline-block;width:0;text-indent:-9999px}.selections .popup-menu .button-container .button:is(.link-button,.new-page-button,.copy-plain-button){font-size:0}.selections .popup-menu .button-container .button{font-family:Open Sans,Helvetica,Arial,Hiragino Sans,sans-serif,"Font Awesome 5 Free","Font Awesome 5 Brands";font-size:11px;line-height:20px;font-weight:600;display:inline-block;text-align:center}.link-button:after{font-size:11px;content:""}.strong-button:after{content:""}.italic-button:after{content:""}.strike-button:after{content:""}.copy-plain-button:after{font-size:11px;content:""}.new-page-button:after{font-size:11px;content:""}.line a.iconhref$="/hr"{pointer-events:none}.page-column{grid-template-columns:var(--page-column-columns, 46px minmax(200px, 960px) min-content);grid-template-areas:var(--page-column-areas, "spacer page menu")}@media (991px < width){.page-column:has(.page-sidebar){grid-template-columns:var(--page-column-columns-sidebar, minmax(200px, 3fr) minmax(170px, 1fr) min-content);grid-template-areas:var(--page-column-areas-sidebar, "page sidebar menu")}}@media (min-width: 768px) and (max-width: 991px){.page-column{grid-template-columns:var(--page-column-columns-768, minmax(200px, 960px) min-content);grid-template-areas:var(--page-column-areas-768, "page menu")}}@media (max-width: 767px){.page-column{display:grid;grid-template-columns:var(--page-column-columns-767, 1fr);grid-template-areas:var(--page-column-areas-767, "page")}}.page-column:not(:has(.definition-term)){--page-column-columns-sidebar: minmax(200px, 960px) min-content;--page-column-areas-sidebar: "page menu"}.deco-\#{font-family:Cica,Menlo,Monaco,Consolas,Courier New,monospace}.grid li.page-list-item a .pin{background-color:transparent;background-image:none}.grid li.page-list-item a .pin:after{content:"";font-family:"Font Awesome 5 Free";font-weight:900;font-size:20px;color:#1f915e;bottom:0}@media screen and (min-width: 400px){html:is(data-os*=android,data-os*=ios) .popup-menu .button-container .button,.popup-menu .button-container .button:is(data-os*=android,data-os*=ios){min-width:3em}}:not(data-display-style^=presentation) .page-column{--page-column-columns: 100px minmax(200px, 960px) min-content 1fr;--page-column-areas: "spacer page menu spacer2";--page-column-columns-sidebar: 100px minmax(200px, 3fr) minmax(170px, 1fr) min-content;--page-column-areas-sidebar: "spacer page sidebar menu";--page-column-columns-768: var(--page-column-columns);--page-column-areas-768: var(--page-column-areas);--page-column-columns-767: minmax(60px, calc(100% / 767 * 100)) 1fr;--page-column-areas-767: "spacer page"}@container (width > 1236px){:not(data-display-style^=presentation) .page-column{--page-column-columns: minmax(200px, 960px) min-content;--page-column-areas: "page menu"}}data-display-style^=presentation data-userscript-name="takker-scheduler/timeline-wedget"{display:none}.page-column:not(:has(.definition-term)){--page-column-columns-sidebar: var(--page-column-columns);--page-column-areas-sidebar: var(--page-column-areas)}.page-sidebar:not(:has(.definition-term)){display:none}.deco-\>{position:absolute;width:100%;text-align:right}.search-form .form-group input:focus{color:var(--page-text-color);background-color:var(--search-form-bg, rgba(255,255,255,.15))}.line span.code-block .code-block-start title=css a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=html a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=javascript a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=typescript a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=cpp a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=c a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=cs a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=python a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=toml a:before,.line span.code-block .code-block-start title=json a:before,.line span.code-block .code-block-start title=yaml a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=xml a:before{content:"謹";display:inline-block}.line span.code-block .code-block-start title=gitignore a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=markdown a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=txt a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=csv a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=fish a:before,.line span.code-block .code-block-start title=bash a:before,.line span.code-block .code-block-start title=zsh a:before{content:"";display:inline-block}.line span.code-block .code-block-start title=dos a:before{content:"";display:inline-block}.line code,.line span.code-block{font-family:Cica,Menlo,Monaco,Consolas,Courier New,monospace;font-size:105%}.table-block .cell{border:solid 1px var(--telomere-border, #808b8c)}.line.number-list .dot{background-color:transparent!important;display:list-item}.line.number-list .dot:before{display:block;position:absolute;font-family:"Font Awesome 5 Free";top:-11px;content:"";font-weight:900;font-size:11px;color:#c9c9c9;opacity:0}.line.number-list .c-0+.dot:before{opacity:1}.line.number-list .c-1+.dot:before{opacity:.8}.line.number-list .c-2+.dot:before{opacity:.6}.line.number-list .c-3+.dot:before{opacity:.4}.line.number-list .c-4+.dot:before{opacity:.2}img[src^="https://i.kakeru.app"]{background-color:#fff}[data-os=android]{.page-column{div.page-menu{position:fixed;display:flex;flex-direction:row-reverse;right:0;.dropdown-menu-top,.dropdown-menu-right{top:46px}}}}.dropdown-menu,.drawer .drawer-menu{background-color:var(--dropdown-menu-bg, #fff);border:var(--dropdown-menu-border, unset)}.dropdown-menu>li>a,.drawer .drawer-menu ul li a,.page-menu ul>li>div{color:var(--dropdown-menu-text-color, #333)}.dropdown-menu>li>a:active,.drawer-menu ul li a:active,data-hover-visible :is(.dropdown-menu,.drawer-menu)>li>:is(a:hover,a:focus){color:var(--dropdown-menu-text-hover-color, #262626);background-color:var(--dropdown-menu-text-hover-bg, #f5f5f5)}:is(.dropdown-menu,.drawer-menu) .divider{color:var(--dropdown-menu-divider-color, #e5e5e5)}body{--dropdown-menu-bg: #373b44;--dropdown-menu-border: 1px solid #8888882d;--dropdown-menu-text-color: var(--page-text-color);--dropdown-menu-text-hover-color: var(--page-text-color);--dropdown-menu-text-hover-bg: #373b44}html,body,#editor,.grid li{font-family:ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,MS Pゴシック,-apple-system,BlinkMacSystemFont,sans-serif}