@qwanyx/stack 0.2.15 → 0.2.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";var Mt=Object.defineProperty;var zt=(o,e,r)=>e in o?Mt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[e]=r;var ye=(o,e,r)=>zt(o,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react");class Gt{constructor(e){ye(this,"config");ye(this,"defaultUploadOptions",{maxSizeMB:10,maxImageDimension:0,imageQuality:.9});if(!e.system_id)throw new Error("GraphClient: system_id is REQUIRED. No system_id → No start.");this.config=e}async callGraph(e,r={}){const u={coprocessor:"graph",method:e,system_id:this.config.system_id,params:r};try{const a=await fetch(`${this.config.baseUrl}/spu/invoke`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.getToken()}`},body:JSON.stringify(u)});if(!a.ok){const t=await a.text();throw new Error(`API error (${a.status}): ${t}`)}const n=await a.json();if(!n.success&&n.error)throw new Error(n.error);return n}catch(a){throw console.error("Graph API call failed:",a),a}}getToken(){return typeof window<"u"&&window.localStorage&&localStorage.getItem("qwanyx_token")||""}async getChildren(e){return(await this.callGraph("get_children",{parent_id:e})).result||[]}async getNode(e){return(await this.callGraph("get_node",{node_id:e})).result||null}async addNode(e){const r={...e,created:e.created||new Date().toISOString(),modified:new Date().toISOString()},u=await this.callGraph("add_node",r);if(!u.result)throw new Error("Failed to add node");return u.result}async updateNode(e,r){const u={node_id:e,updates:{...r,modified:new Date().toISOString()}},a=await this.callGraph("update_node",u);if(!a.result)throw new Error("Failed to update node");return a.result}async deleteNode(e,r=!1){return(await this.callGraph("delete_node",{node_id:e,cascade:r})).success===!0}async getChildrenWithEdges(e,r="children",u,a){return(await this.callGraph("get_children_with_edges",{node_id:e,display_mode:r,edge_type:u,node_type:a})).result||[]}async addEdge(e,r,u="link",a){return await this.callGraph("add_edge",{source_id:e,target_id:r,edge_type:u,data:a})}async deleteEdge(e,r,u){return await this.callGraph("delete_edge",{source_id:e,target_id:r,edge_type:u})}async getEdges(e,r,u){return(await this.callGraph("get_edges",{source_id:e,edge_type:r,target_id:u})).result||[]}async getAncestors(e){return(await this.callGraph("get_ancestors",{node_id:e})).ancestors||[]}async getTree(e,r=10){return(await this.callGraph("get_tree",{root_id:e,max_depth:r})).tree||[]}async moveNode(e,r){const u=await this.callGraph("move",{node_id:e,new_parent_id:r});if(!u.node)throw new Error("Failed to move node");return u.node}async searchNodes(e,r){return(await this.callGraph("search",{query:e,type:r})).nodes||[]}async getNodesByType(e){return(await this.callGraph("get_nodes_by_type",{type:e})).result||[]}fileToBase64(e){return new Promise((r,u)=>{const a=new FileReader;a.onload=()=>{const t=a.result.split(",")[1];r(t)},a.onerror=()=>u(new Error("Failed to read file")),a.readAsDataURL(e)})}async resizeImage(e,r,u){return e.type.startsWith("image/")?new Promise(a=>{const n=new Image,t=URL.createObjectURL(e);n.onload=()=>{if(URL.revokeObjectURL(t),n.width<=r&&n.height<=r){a(e);return}let i,l;n.width>n.height?(i=r,l=Math.round(n.height/n.width*r)):(l=r,i=Math.round(n.width/n.height*r));const d=document.createElement("canvas");d.width=i,d.height=l;const c=d.getContext("2d");if(!c){a(e);return}c.drawImage(n,0,0,i,l);const h=e.type==="image/png"?"image/png":"image/jpeg";d.toBlob(m=>{if(m){const A=new File([m],e.name,{type:h});a(A)}else a(e)},h,u)},n.onerror=()=>{URL.revokeObjectURL(t),a(e)},n.src=t}):e}async uploadFile(e,r,u,a={}){const n={...this.defaultUploadOptions,...a};try{let t=u;n.maxImageDimension>0&&u.type.startsWith("image/")&&(t=await this.resizeImage(u,n.maxImageDimension,n.imageQuality));const i=n.maxSizeMB*1024*1024;if(t.size>i)return{success:!1,error:`File too large (${(t.size/1024/1024).toFixed(1)} MB). Max: ${n.maxSizeMB} MB`};const l=await this.fileToBase64(t),d=await this.callGraph("upload_file",{node_id:e,filename:r,content:l});return d.success?{success:!0,path:d.path}:{success:!1,error:d.error||"Upload failed"}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Upload failed"}}}async listFiles(e){var a;return(((a=(await this.callGraph("list_files",{node_id:e})).result)==null?void 0:a.files)||[]).map(n=>({filename:n.name,path:n.path}))}async deleteFile(e,r){return{success:(await this.callGraph("delete_file",{node_id:e,filename:r})).success||!1}}getFileUrl(e,r){return`${this.config.baseUrl}/files/${this.config.system_id}/${e}/${r}`}}const fe=new TextEncoder,ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xe=new Uint8Array(256);for(var Re=0;Re<ct.length;Re++)xe[ct.charCodeAt(Re)]=Re;function et(o){let e=Math.ceil(o.length/4)*3;const r=o.length;let u=0;o.length%4===3?e--:o.length%4===2?e-=2:o[o.length-1]==="="&&(e--,o[o.length-2]==="="&&e--);const a=new ArrayBuffer(e),n=new Uint8Array(a);for(let t=0;t<r;t+=4){let i=xe[o.charCodeAt(t)],l=xe[o.charCodeAt(t+1)],d=xe[o.charCodeAt(t+2)],c=xe[o.charCodeAt(t+3)];n[u++]=i<<2|l>>4,n[u++]=(l&15)<<4|d>>2,n[u++]=(d&3)<<6|c&63}return a}function Ce(o){o=o||"utf8";let e;try{e=new TextDecoder(o)}catch{e=new TextDecoder("windows-1252")}return e}async function Oe(o){if("arrayBuffer"in o)return await o.arrayBuffer();const e=new FileReader;return new Promise((r,u)=>{e.onload=function(a){r(a.target.result)},e.onerror=function(a){u(e.error)},e.readAsArrayBuffer(o)})}function dt(o){return o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70?String.fromCharCode(o):!1}function Ht(o,e,r){let u=o.indexOf("*");u>=0&&(o=o.substr(0,u)),e=e.toUpperCase();let a;if(e==="Q"){r=r.replace(/=\s+([0-9a-fA-F])/g,"=$1").replace(/[_\s]/g," ");let n=fe.encode(r),t=[];for(let l=0,d=n.length;l<d;l++){let c=n[l];if(l<=d-2&&c===61){let h=dt(n[l+1]),m=dt(n[l+2]);if(h&&m){let A=parseInt(h+m,16);t.push(A),l+=2;continue}}t.push(c)}a=new ArrayBuffer(t.length);let i=new DataView(a);for(let l=0,d=t.length;l<d;l++)i.setUint8(l,t[l])}else e==="B"?a=et(r.replace(/[^a-zA-Z0-9\+\/=]+/g,"")):a=fe.encode(r);return Ce(o).decode(a)}function we(o){let e=!0;for(;;){let r=(o||"").toString().replace(/(=\?([^?]+)\?[Bb]\?([^?]*)\?=)\s*(?==\?([^?]+)\?[Bb]\?[^?]*\?=)/g,(u,a,n,t,i)=>e&&n===i&&t.length%4===0&&!/=$/.test(t)?a+"__\0JOIN\0__":u).replace(/(=\?([^?]+)\?[Qq]\?[^?]*\?=)\s*(?==\?([^?]+)\?[Qq]\?[^?]*\?=)/g,(u,a,n,t)=>e&&n===t?a+"__\0JOIN\0__":u).replace(/(\?=)?__\x00JOIN\x00__(=\?([^?]+)\?[QqBb]\?)?/g,"").replace(/(=\?[^?]+\?[QqBb]\?[^?]*\?=)\s+(?==\?[^?]+\?[QqBb]\?[^?]*\?=)/g,"$1").replace(/=\?([\w_\-*]+)\?([QqBb])\?([^?]*)\?=/g,(u,a,n,t)=>Ht(a,n,t));if(e&&r.indexOf("�")>=0)e=!1;else return r}}function Vt(o,e){e=e||"utf-8";let r=[];for(let n=0;n<o.length;n++){let t=o.charAt(n);if(t==="%"&&/^[a-f0-9]{2}/i.test(o.substr(n+1,2))){let i=o.substr(n+1,2);n+=2,r.push(parseInt(i,16))}else if(t.charCodeAt(0)>126){t=fe.encode(t);for(let i=0;i<t.length;i++)r.push(t[i])}else r.push(t.charCodeAt(0))}const u=new ArrayBuffer(r.length),a=new DataView(u);for(let n=0,t=r.length;n<t;n++)a.setUint8(n,r[n]);return Ce(e).decode(u)}function Wt(o){let e=new Map;Object.keys(o.params).forEach(r=>{let u=r.match(/\*((\d+)\*?)?$/);if(!u)return;let a=r.substr(0,u.index).toLowerCase(),n=Number(u[2])||0,t;e.has(a)?t=e.get(a):(t={charset:!1,values:[]},e.set(a,t));let i=o.params[r];n===0&&u[0].charAt(u[0].length-1)==="*"&&(u=i.match(/^([^']*)'[^']*'(.*)$/))&&(t.charset=u[1]||"utf-8",i=u[2]),t.values.push({nr:n,value:i}),delete o.params[r]}),e.forEach((r,u)=>{o.params[u]=Vt(r.values.sort((a,n)=>a.nr-n.nr).map(a=>a.value).join(""),r.charset)})}class Qt{constructor(){this.chunks=[]}update(e){this.chunks.push(e),this.chunks.push(`
2
- `)}finalize(){return Oe(new Blob(this.chunks,{type:"application/octet-stream"}))}}class Yt{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.chunks=[],this.remainder=""}update(e){let r=this.decoder.decode(e);if(/[^a-zA-Z0-9+\/]/.test(r)&&(r=r.replace(/[^a-zA-Z0-9+\/]+/g,"")),this.remainder+=r,this.remainder.length>=this.maxChunkSize){let u=Math.floor(this.remainder.length/4)*4,a;u===this.remainder.length?(a=this.remainder,this.remainder=""):(a=this.remainder.substr(0,u),this.remainder=this.remainder.substr(u)),a.length&&this.chunks.push(et(a))}}finalize(){return this.remainder&&!/^=+$/.test(this.remainder)&&this.chunks.push(et(this.remainder)),Oe(new Blob(this.chunks,{type:"application/octet-stream"}))}}const ft=/^=[a-f0-9]{2}$/i,Jt=/(?==[a-f0-9]{2})/i,Kt=/=\r?\n/g,Xt=/=[a-fA-F0-9]?$/;class Zt{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.remainder="",this.chunks=[]}decodeQPBytes(e){let r=new ArrayBuffer(e.length),u=new DataView(r);for(let a=0,n=e.length;a<n;a++)u.setUint8(a,parseInt(e[a],16));return r}decodeChunks(e){e=e.replace(Kt,"");let r=e.split(Jt),u=[];for(let a of r){if(a.charAt(0)!=="="){u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[]),this.chunks.push(a);continue}if(a.length===3){ft.test(a)?u.push(a.substr(1)):(u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[]),this.chunks.push(a));continue}if(a.length>3){const n=a.substr(0,3);ft.test(n)?(u.push(a.substr(1,2)),this.chunks.push(this.decodeQPBytes(u)),u=[],a=a.substr(3),this.chunks.push(a)):(u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[]),this.chunks.push(a))}}u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[])}update(e){let r=this.decoder.decode(e)+`
3
- `;if(r=this.remainder+r,r.length<this.maxChunkSize){this.remainder=r;return}this.remainder="";let u=r.match(Xt);if(u){if(u.index===0){this.remainder=r;return}this.remainder=r.substr(u.index),r=r.substr(0,u.index)}this.decodeChunks(r)}finalize(){return this.remainder.length&&(this.decodeChunks(this.remainder),this.remainder=""),Oe(new Blob(this.chunks,{type:"application/octet-stream"}))}}class pt{constructor(e){if(this.options=e||{},this.postalMime=this.options.postalMime,this.root=!!this.options.parentNode,this.childNodes=[],this.options.parentNode){if(this.parentNode=this.options.parentNode,this.depth=this.parentNode.depth+1,this.depth>this.options.maxNestingDepth)throw new Error(`Maximum MIME nesting depth of ${this.options.maxNestingDepth} levels exceeded`);this.options.parentNode.childNodes.push(this)}else this.depth=0;this.state="header",this.headerLines=[],this.headerSize=0,this.contentType={value:"text/plain",default:!0},this.contentTransferEncoding={value:"8bit"},this.contentDisposition={value:""},this.headers=[],this.contentDecoder=!1}setupContentDecoder(e){/base64/i.test(e)?this.contentDecoder=new Yt:/quoted-printable/i.test(e)?this.contentDecoder=new Zt({decoder:Ce(this.contentType.parsed.params.charset)}):this.contentDecoder=new Qt}async finalize(){if(this.state==="finished")return;this.state==="header"&&this.processHeaders();let e=this.postalMime.boundaries;for(let r=e.length-1;r>=0;r--)if(e[r].node===this){e.splice(r,1);break}await this.finalizeChildNodes(),this.content=this.contentDecoder?await this.contentDecoder.finalize():null,this.state="finished"}async finalizeChildNodes(){for(let e of this.childNodes)await e.finalize()}parseStructuredHeader(e){let r={value:!1,params:{}},u=!1,a="",n="value",t=!1,i=!1,l;for(let d=0,c=e.length;d<c;d++)switch(l=e.charAt(d),n){case"key":if(l==="="){u=a.trim().toLowerCase(),n="value",a="";break}a+=l;break;case"value":if(i)a+=l;else if(l==="\\"){i=!0;continue}else t&&l===t?t=!1:!t&&l==='"'?t=l:!t&&l===";"?(u===!1?r.value=a.trim():r.params[u]=a.trim(),n="key",a=""):a+=l;i=!1;break}return a=a.trim(),n==="value"?u===!1?r.value=a:r.params[u]=a:a&&(r.params[a.toLowerCase()]=""),r.value&&(r.value=r.value.toLowerCase()),Wt(r),r}decodeFlowedText(e,r){return e.split(/\r?\n/).reduce((u,a)=>/ $/.test(u)&&!/(^|\n)-- $/.test(u)?r?u.slice(0,-1)+a:u+a:u+`
4
- `+a).replace(/^ /gm,"")}getTextContent(){if(!this.content)return"";let e=Ce(this.contentType.parsed.params.charset).decode(this.content);return/^flowed$/i.test(this.contentType.parsed.params.format)&&(e=this.decodeFlowedText(e,/^yes$/i.test(this.contentType.parsed.params.delsp))),e}processHeaders(){for(let e=this.headerLines.length-1;e>=0;e--){let r=this.headerLines[e];if(e&&/^\s/.test(r))this.headerLines[e-1]+=`
5
- `+r,this.headerLines.splice(e,1);else{r=r.replace(/\s+/g," ");let u=r.indexOf(":"),a=u<0?r.trim():r.substr(0,u).trim(),n=u<0?"":r.substr(u+1).trim();switch(this.headers.push({key:a.toLowerCase(),originalKey:a,value:n}),a.toLowerCase()){case"content-type":this.contentType.default&&(this.contentType={value:n,parsed:{}});break;case"content-transfer-encoding":this.contentTransferEncoding={value:n,parsed:{}};break;case"content-disposition":this.contentDisposition={value:n,parsed:{}};break;case"content-id":this.contentId=n;break;case"content-description":this.contentDescription=n;break}}}this.contentType.parsed=this.parseStructuredHeader(this.contentType.value),this.contentType.multipart=/^multipart\//i.test(this.contentType.parsed.value)?this.contentType.parsed.value.substr(this.contentType.parsed.value.indexOf("/")+1):!1,this.contentType.multipart&&this.contentType.parsed.params.boundary&&this.postalMime.boundaries.push({value:fe.encode(this.contentType.parsed.params.boundary),node:this}),this.contentDisposition.parsed=this.parseStructuredHeader(this.contentDisposition.value),this.contentTransferEncoding.encoding=this.contentTransferEncoding.value.toLowerCase().split(/[^\w-]/).shift(),this.setupContentDecoder(this.contentTransferEncoding.encoding)}feed(e){switch(this.state){case"header":if(!e.length)return this.state="body",this.processHeaders();if(this.headerSize+=e.length,this.headerSize>this.options.maxHeadersSize)throw new Error(`Maximum header size of ${this.options.maxHeadersSize} bytes exceeded`);this.headerLines.push(Ce().decode(e));break;case"body":this.contentDecoder.update(e)}}}const ht={"&AElig":"Æ","&AElig;":"Æ","&AMP":"&","&AMP;":"&","&Aacute":"Á","&Aacute;":"Á","&Abreve;":"Ă","&Acirc":"Â","&Acirc;":"Â","&Acy;":"А","&Afr;":"𝔄","&Agrave":"À","&Agrave;":"À","&Alpha;":"Α","&Amacr;":"Ā","&And;":"⩓","&Aogon;":"Ą","&Aopf;":"𝔸","&ApplyFunction;":"⁡","&Aring":"Å","&Aring;":"Å","&Ascr;":"𝒜","&Assign;":"≔","&Atilde":"Ã","&Atilde;":"Ã","&Auml":"Ä","&Auml;":"Ä","&Backslash;":"∖","&Barv;":"⫧","&Barwed;":"⌆","&Bcy;":"Б","&Because;":"∵","&Bernoullis;":"ℬ","&Beta;":"Β","&Bfr;":"𝔅","&Bopf;":"𝔹","&Breve;":"˘","&Bscr;":"ℬ","&Bumpeq;":"≎","&CHcy;":"Ч","&COPY":"©","&COPY;":"©","&Cacute;":"Ć","&Cap;":"⋒","&CapitalDifferentialD;":"ⅅ","&Cayleys;":"ℭ","&Ccaron;":"Č","&Ccedil":"Ç","&Ccedil;":"Ç","&Ccirc;":"Ĉ","&Cconint;":"∰","&Cdot;":"Ċ","&Cedilla;":"¸","&CenterDot;":"·","&Cfr;":"ℭ","&Chi;":"Χ","&CircleDot;":"⊙","&CircleMinus;":"⊖","&CirclePlus;":"⊕","&CircleTimes;":"⊗","&ClockwiseContourIntegral;":"∲","&CloseCurlyDoubleQuote;":"”","&CloseCurlyQuote;":"’","&Colon;":"∷","&Colone;":"⩴","&Congruent;":"≡","&Conint;":"∯","&ContourIntegral;":"∮","&Copf;":"ℂ","&Coproduct;":"∐","&CounterClockwiseContourIntegral;":"∳","&Cross;":"⨯","&Cscr;":"𝒞","&Cup;":"⋓","&CupCap;":"≍","&DD;":"ⅅ","&DDotrahd;":"⤑","&DJcy;":"Ђ","&DScy;":"Ѕ","&DZcy;":"Џ","&Dagger;":"‡","&Darr;":"↡","&Dashv;":"⫤","&Dcaron;":"Ď","&Dcy;":"Д","&Del;":"∇","&Delta;":"Δ","&Dfr;":"𝔇","&DiacriticalAcute;":"´","&DiacriticalDot;":"˙","&DiacriticalDoubleAcute;":"˝","&DiacriticalGrave;":"`","&DiacriticalTilde;":"˜","&Diamond;":"⋄","&DifferentialD;":"ⅆ","&Dopf;":"𝔻","&Dot;":"¨","&DotDot;":"⃜","&DotEqual;":"≐","&DoubleContourIntegral;":"∯","&DoubleDot;":"¨","&DoubleDownArrow;":"⇓","&DoubleLeftArrow;":"⇐","&DoubleLeftRightArrow;":"⇔","&DoubleLeftTee;":"⫤","&DoubleLongLeftArrow;":"⟸","&DoubleLongLeftRightArrow;":"⟺","&DoubleLongRightArrow;":"⟹","&DoubleRightArrow;":"⇒","&DoubleRightTee;":"⊨","&DoubleUpArrow;":"⇑","&DoubleUpDownArrow;":"⇕","&DoubleVerticalBar;":"∥","&DownArrow;":"↓","&DownArrowBar;":"⤓","&DownArrowUpArrow;":"⇵","&DownBreve;":"̑","&DownLeftRightVector;":"⥐","&DownLeftTeeVector;":"⥞","&DownLeftVector;":"↽","&DownLeftVectorBar;":"⥖","&DownRightTeeVector;":"⥟","&DownRightVector;":"⇁","&DownRightVectorBar;":"⥗","&DownTee;":"⊤","&DownTeeArrow;":"↧","&Downarrow;":"⇓","&Dscr;":"𝒟","&Dstrok;":"Đ","&ENG;":"Ŋ","&ETH":"Ð","&ETH;":"Ð","&Eacute":"É","&Eacute;":"É","&Ecaron;":"Ě","&Ecirc":"Ê","&Ecirc;":"Ê","&Ecy;":"Э","&Edot;":"Ė","&Efr;":"𝔈","&Egrave":"È","&Egrave;":"È","&Element;":"∈","&Emacr;":"Ē","&EmptySmallSquare;":"◻","&EmptyVerySmallSquare;":"▫","&Eogon;":"Ę","&Eopf;":"𝔼","&Epsilon;":"Ε","&Equal;":"⩵","&EqualTilde;":"≂","&Equilibrium;":"⇌","&Escr;":"ℰ","&Esim;":"⩳","&Eta;":"Η","&Euml":"Ë","&Euml;":"Ë","&Exists;":"∃","&ExponentialE;":"ⅇ","&Fcy;":"Ф","&Ffr;":"𝔉","&FilledSmallSquare;":"◼","&FilledVerySmallSquare;":"▪","&Fopf;":"𝔽","&ForAll;":"∀","&Fouriertrf;":"ℱ","&Fscr;":"ℱ","&GJcy;":"Ѓ","&GT":">","&GT;":">","&Gamma;":"Γ","&Gammad;":"Ϝ","&Gbreve;":"Ğ","&Gcedil;":"Ģ","&Gcirc;":"Ĝ","&Gcy;":"Г","&Gdot;":"Ġ","&Gfr;":"𝔊","&Gg;":"⋙","&Gopf;":"𝔾","&GreaterEqual;":"≥","&GreaterEqualLess;":"⋛","&GreaterFullEqual;":"≧","&GreaterGreater;":"⪢","&GreaterLess;":"≷","&GreaterSlantEqual;":"⩾","&GreaterTilde;":"≳","&Gscr;":"𝒢","&Gt;":"≫","&HARDcy;":"Ъ","&Hacek;":"ˇ","&Hat;":"^","&Hcirc;":"Ĥ","&Hfr;":"ℌ","&HilbertSpace;":"ℋ","&Hopf;":"ℍ","&HorizontalLine;":"─","&Hscr;":"ℋ","&Hstrok;":"Ħ","&HumpDownHump;":"≎","&HumpEqual;":"≏","&IEcy;":"Е","&IJlig;":"IJ","&IOcy;":"Ё","&Iacute":"Í","&Iacute;":"Í","&Icirc":"Î","&Icirc;":"Î","&Icy;":"И","&Idot;":"İ","&Ifr;":"ℑ","&Igrave":"Ì","&Igrave;":"Ì","&Im;":"ℑ","&Imacr;":"Ī","&ImaginaryI;":"ⅈ","&Implies;":"⇒","&Int;":"∬","&Integral;":"∫","&Intersection;":"⋂","&InvisibleComma;":"⁣","&InvisibleTimes;":"⁢","&Iogon;":"Į","&Iopf;":"𝕀","&Iota;":"Ι","&Iscr;":"ℐ","&Itilde;":"Ĩ","&Iukcy;":"І","&Iuml":"Ï","&Iuml;":"Ï","&Jcirc;":"Ĵ","&Jcy;":"Й","&Jfr;":"𝔍","&Jopf;":"𝕁","&Jscr;":"𝒥","&Jsercy;":"Ј","&Jukcy;":"Є","&KHcy;":"Х","&KJcy;":"Ќ","&Kappa;":"Κ","&Kcedil;":"Ķ","&Kcy;":"К","&Kfr;":"𝔎","&Kopf;":"𝕂","&Kscr;":"𝒦","&LJcy;":"Љ","&LT":"<","&LT;":"<","&Lacute;":"Ĺ","&Lambda;":"Λ","&Lang;":"⟪","&Laplacetrf;":"ℒ","&Larr;":"↞","&Lcaron;":"Ľ","&Lcedil;":"Ļ","&Lcy;":"Л","&LeftAngleBracket;":"⟨","&LeftArrow;":"←","&LeftArrowBar;":"⇤","&LeftArrowRightArrow;":"⇆","&LeftCeiling;":"⌈","&LeftDoubleBracket;":"⟦","&LeftDownTeeVector;":"⥡","&LeftDownVector;":"⇃","&LeftDownVectorBar;":"⥙","&LeftFloor;":"⌊","&LeftRightArrow;":"↔","&LeftRightVector;":"⥎","&LeftTee;":"⊣","&LeftTeeArrow;":"↤","&LeftTeeVector;":"⥚","&LeftTriangle;":"⊲","&LeftTriangleBar;":"⧏","&LeftTriangleEqual;":"⊴","&LeftUpDownVector;":"⥑","&LeftUpTeeVector;":"⥠","&LeftUpVector;":"↿","&LeftUpVectorBar;":"⥘","&LeftVector;":"↼","&LeftVectorBar;":"⥒","&Leftarrow;":"⇐","&Leftrightarrow;":"⇔","&LessEqualGreater;":"⋚","&LessFullEqual;":"≦","&LessGreater;":"≶","&LessLess;":"⪡","&LessSlantEqual;":"⩽","&LessTilde;":"≲","&Lfr;":"𝔏","&Ll;":"⋘","&Lleftarrow;":"⇚","&Lmidot;":"Ŀ","&LongLeftArrow;":"⟵","&LongLeftRightArrow;":"⟷","&LongRightArrow;":"⟶","&Longleftarrow;":"⟸","&Longleftrightarrow;":"⟺","&Longrightarrow;":"⟹","&Lopf;":"𝕃","&LowerLeftArrow;":"↙","&LowerRightArrow;":"↘","&Lscr;":"ℒ","&Lsh;":"↰","&Lstrok;":"Ł","&Lt;":"≪","&Map;":"⤅","&Mcy;":"М","&MediumSpace;":" ","&Mellintrf;":"ℳ","&Mfr;":"𝔐","&MinusPlus;":"∓","&Mopf;":"𝕄","&Mscr;":"ℳ","&Mu;":"Μ","&NJcy;":"Њ","&Nacute;":"Ń","&Ncaron;":"Ň","&Ncedil;":"Ņ","&Ncy;":"Н","&NegativeMediumSpace;":"​","&NegativeThickSpace;":"​","&NegativeThinSpace;":"​","&NegativeVeryThinSpace;":"​","&NestedGreaterGreater;":"≫","&NestedLessLess;":"≪","&NewLine;":`
6
- `,"&Nfr;":"𝔑","&NoBreak;":"⁠","&NonBreakingSpace;":" ","&Nopf;":"ℕ","&Not;":"⫬","&NotCongruent;":"≢","&NotCupCap;":"≭","&NotDoubleVerticalBar;":"∦","&NotElement;":"∉","&NotEqual;":"≠","&NotEqualTilde;":"≂̸","&NotExists;":"∄","&NotGreater;":"≯","&NotGreaterEqual;":"≱","&NotGreaterFullEqual;":"≧̸","&NotGreaterGreater;":"≫̸","&NotGreaterLess;":"≹","&NotGreaterSlantEqual;":"⩾̸","&NotGreaterTilde;":"≵","&NotHumpDownHump;":"≎̸","&NotHumpEqual;":"≏̸","&NotLeftTriangle;":"⋪","&NotLeftTriangleBar;":"⧏̸","&NotLeftTriangleEqual;":"⋬","&NotLess;":"≮","&NotLessEqual;":"≰","&NotLessGreater;":"≸","&NotLessLess;":"≪̸","&NotLessSlantEqual;":"⩽̸","&NotLessTilde;":"≴","&NotNestedGreaterGreater;":"⪢̸","&NotNestedLessLess;":"⪡̸","&NotPrecedes;":"⊀","&NotPrecedesEqual;":"⪯̸","&NotPrecedesSlantEqual;":"⋠","&NotReverseElement;":"∌","&NotRightTriangle;":"⋫","&NotRightTriangleBar;":"⧐̸","&NotRightTriangleEqual;":"⋭","&NotSquareSubset;":"⊏̸","&NotSquareSubsetEqual;":"⋢","&NotSquareSuperset;":"⊐̸","&NotSquareSupersetEqual;":"⋣","&NotSubset;":"⊂⃒","&NotSubsetEqual;":"⊈","&NotSucceeds;":"⊁","&NotSucceedsEqual;":"⪰̸","&NotSucceedsSlantEqual;":"⋡","&NotSucceedsTilde;":"≿̸","&NotSuperset;":"⊃⃒","&NotSupersetEqual;":"⊉","&NotTilde;":"≁","&NotTildeEqual;":"≄","&NotTildeFullEqual;":"≇","&NotTildeTilde;":"≉","&NotVerticalBar;":"∤","&Nscr;":"𝒩","&Ntilde":"Ñ","&Ntilde;":"Ñ","&Nu;":"Ν","&OElig;":"Œ","&Oacute":"Ó","&Oacute;":"Ó","&Ocirc":"Ô","&Ocirc;":"Ô","&Ocy;":"О","&Odblac;":"Ő","&Ofr;":"𝔒","&Ograve":"Ò","&Ograve;":"Ò","&Omacr;":"Ō","&Omega;":"Ω","&Omicron;":"Ο","&Oopf;":"𝕆","&OpenCurlyDoubleQuote;":"“","&OpenCurlyQuote;":"‘","&Or;":"⩔","&Oscr;":"𝒪","&Oslash":"Ø","&Oslash;":"Ø","&Otilde":"Õ","&Otilde;":"Õ","&Otimes;":"⨷","&Ouml":"Ö","&Ouml;":"Ö","&OverBar;":"‾","&OverBrace;":"⏞","&OverBracket;":"⎴","&OverParenthesis;":"⏜","&PartialD;":"∂","&Pcy;":"П","&Pfr;":"𝔓","&Phi;":"Φ","&Pi;":"Π","&PlusMinus;":"±","&Poincareplane;":"ℌ","&Popf;":"ℙ","&Pr;":"⪻","&Precedes;":"≺","&PrecedesEqual;":"⪯","&PrecedesSlantEqual;":"≼","&PrecedesTilde;":"≾","&Prime;":"″","&Product;":"∏","&Proportion;":"∷","&Proportional;":"∝","&Pscr;":"𝒫","&Psi;":"Ψ","&QUOT":'"',"&QUOT;":'"',"&Qfr;":"𝔔","&Qopf;":"ℚ","&Qscr;":"𝒬","&RBarr;":"⤐","&REG":"®","&REG;":"®","&Racute;":"Ŕ","&Rang;":"⟫","&Rarr;":"↠","&Rarrtl;":"⤖","&Rcaron;":"Ř","&Rcedil;":"Ŗ","&Rcy;":"Р","&Re;":"ℜ","&ReverseElement;":"∋","&ReverseEquilibrium;":"⇋","&ReverseUpEquilibrium;":"⥯","&Rfr;":"ℜ","&Rho;":"Ρ","&RightAngleBracket;":"⟩","&RightArrow;":"→","&RightArrowBar;":"⇥","&RightArrowLeftArrow;":"⇄","&RightCeiling;":"⌉","&RightDoubleBracket;":"⟧","&RightDownTeeVector;":"⥝","&RightDownVector;":"⇂","&RightDownVectorBar;":"⥕","&RightFloor;":"⌋","&RightTee;":"⊢","&RightTeeArrow;":"↦","&RightTeeVector;":"⥛","&RightTriangle;":"⊳","&RightTriangleBar;":"⧐","&RightTriangleEqual;":"⊵","&RightUpDownVector;":"⥏","&RightUpTeeVector;":"⥜","&RightUpVector;":"↾","&RightUpVectorBar;":"⥔","&RightVector;":"⇀","&RightVectorBar;":"⥓","&Rightarrow;":"⇒","&Ropf;":"ℝ","&RoundImplies;":"⥰","&Rrightarrow;":"⇛","&Rscr;":"ℛ","&Rsh;":"↱","&RuleDelayed;":"⧴","&SHCHcy;":"Щ","&SHcy;":"Ш","&SOFTcy;":"Ь","&Sacute;":"Ś","&Sc;":"⪼","&Scaron;":"Š","&Scedil;":"Ş","&Scirc;":"Ŝ","&Scy;":"С","&Sfr;":"𝔖","&ShortDownArrow;":"↓","&ShortLeftArrow;":"←","&ShortRightArrow;":"→","&ShortUpArrow;":"↑","&Sigma;":"Σ","&SmallCircle;":"∘","&Sopf;":"𝕊","&Sqrt;":"√","&Square;":"□","&SquareIntersection;":"⊓","&SquareSubset;":"⊏","&SquareSubsetEqual;":"⊑","&SquareSuperset;":"⊐","&SquareSupersetEqual;":"⊒","&SquareUnion;":"⊔","&Sscr;":"𝒮","&Star;":"⋆","&Sub;":"⋐","&Subset;":"⋐","&SubsetEqual;":"⊆","&Succeeds;":"≻","&SucceedsEqual;":"⪰","&SucceedsSlantEqual;":"≽","&SucceedsTilde;":"≿","&SuchThat;":"∋","&Sum;":"∑","&Sup;":"⋑","&Superset;":"⊃","&SupersetEqual;":"⊇","&Supset;":"⋑","&THORN":"Þ","&THORN;":"Þ","&TRADE;":"™","&TSHcy;":"Ћ","&TScy;":"Ц","&Tab;":" ","&Tau;":"Τ","&Tcaron;":"Ť","&Tcedil;":"Ţ","&Tcy;":"Т","&Tfr;":"𝔗","&Therefore;":"∴","&Theta;":"Θ","&ThickSpace;":"  ","&ThinSpace;":" ","&Tilde;":"∼","&TildeEqual;":"≃","&TildeFullEqual;":"≅","&TildeTilde;":"≈","&Topf;":"𝕋","&TripleDot;":"⃛","&Tscr;":"𝒯","&Tstrok;":"Ŧ","&Uacute":"Ú","&Uacute;":"Ú","&Uarr;":"↟","&Uarrocir;":"⥉","&Ubrcy;":"Ў","&Ubreve;":"Ŭ","&Ucirc":"Û","&Ucirc;":"Û","&Ucy;":"У","&Udblac;":"Ű","&Ufr;":"𝔘","&Ugrave":"Ù","&Ugrave;":"Ù","&Umacr;":"Ū","&UnderBar;":"_","&UnderBrace;":"⏟","&UnderBracket;":"⎵","&UnderParenthesis;":"⏝","&Union;":"⋃","&UnionPlus;":"⊎","&Uogon;":"Ų","&Uopf;":"𝕌","&UpArrow;":"↑","&UpArrowBar;":"⤒","&UpArrowDownArrow;":"⇅","&UpDownArrow;":"↕","&UpEquilibrium;":"⥮","&UpTee;":"⊥","&UpTeeArrow;":"↥","&Uparrow;":"⇑","&Updownarrow;":"⇕","&UpperLeftArrow;":"↖","&UpperRightArrow;":"↗","&Upsi;":"ϒ","&Upsilon;":"Υ","&Uring;":"Ů","&Uscr;":"𝒰","&Utilde;":"Ũ","&Uuml":"Ü","&Uuml;":"Ü","&VDash;":"⊫","&Vbar;":"⫫","&Vcy;":"В","&Vdash;":"⊩","&Vdashl;":"⫦","&Vee;":"⋁","&Verbar;":"‖","&Vert;":"‖","&VerticalBar;":"∣","&VerticalLine;":"|","&VerticalSeparator;":"❘","&VerticalTilde;":"≀","&VeryThinSpace;":" ","&Vfr;":"𝔙","&Vopf;":"𝕍","&Vscr;":"𝒱","&Vvdash;":"⊪","&Wcirc;":"Ŵ","&Wedge;":"⋀","&Wfr;":"𝔚","&Wopf;":"𝕎","&Wscr;":"𝒲","&Xfr;":"𝔛","&Xi;":"Ξ","&Xopf;":"𝕏","&Xscr;":"𝒳","&YAcy;":"Я","&YIcy;":"Ї","&YUcy;":"Ю","&Yacute":"Ý","&Yacute;":"Ý","&Ycirc;":"Ŷ","&Ycy;":"Ы","&Yfr;":"𝔜","&Yopf;":"𝕐","&Yscr;":"𝒴","&Yuml;":"Ÿ","&ZHcy;":"Ж","&Zacute;":"Ź","&Zcaron;":"Ž","&Zcy;":"З","&Zdot;":"Ż","&ZeroWidthSpace;":"​","&Zeta;":"Ζ","&Zfr;":"ℨ","&Zopf;":"ℤ","&Zscr;":"𝒵","&aacute":"á","&aacute;":"á","&abreve;":"ă","&ac;":"∾","&acE;":"∾̳","&acd;":"∿","&acirc":"â","&acirc;":"â","&acute":"´","&acute;":"´","&acy;":"а","&aelig":"æ","&aelig;":"æ","&af;":"⁡","&afr;":"𝔞","&agrave":"à","&agrave;":"à","&alefsym;":"ℵ","&aleph;":"ℵ","&alpha;":"α","&amacr;":"ā","&amalg;":"⨿","&amp":"&","&amp;":"&","&and;":"∧","&andand;":"⩕","&andd;":"⩜","&andslope;":"⩘","&andv;":"⩚","&ang;":"∠","&ange;":"⦤","&angle;":"∠","&angmsd;":"∡","&angmsdaa;":"⦨","&angmsdab;":"⦩","&angmsdac;":"⦪","&angmsdad;":"⦫","&angmsdae;":"⦬","&angmsdaf;":"⦭","&angmsdag;":"⦮","&angmsdah;":"⦯","&angrt;":"∟","&angrtvb;":"⊾","&angrtvbd;":"⦝","&angsph;":"∢","&angst;":"Å","&angzarr;":"⍼","&aogon;":"ą","&aopf;":"𝕒","&ap;":"≈","&apE;":"⩰","&apacir;":"⩯","&ape;":"≊","&apid;":"≋","&apos;":"'","&approx;":"≈","&approxeq;":"≊","&aring":"å","&aring;":"å","&ascr;":"𝒶","&ast;":"*","&asymp;":"≈","&asympeq;":"≍","&atilde":"ã","&atilde;":"ã","&auml":"ä","&auml;":"ä","&awconint;":"∳","&awint;":"⨑","&bNot;":"⫭","&backcong;":"≌","&backepsilon;":"϶","&backprime;":"‵","&backsim;":"∽","&backsimeq;":"⋍","&barvee;":"⊽","&barwed;":"⌅","&barwedge;":"⌅","&bbrk;":"⎵","&bbrktbrk;":"⎶","&bcong;":"≌","&bcy;":"б","&bdquo;":"„","&becaus;":"∵","&because;":"∵","&bemptyv;":"⦰","&bepsi;":"϶","&bernou;":"ℬ","&beta;":"β","&beth;":"ℶ","&between;":"≬","&bfr;":"𝔟","&bigcap;":"⋂","&bigcirc;":"◯","&bigcup;":"⋃","&bigodot;":"⨀","&bigoplus;":"⨁","&bigotimes;":"⨂","&bigsqcup;":"⨆","&bigstar;":"★","&bigtriangledown;":"▽","&bigtriangleup;":"△","&biguplus;":"⨄","&bigvee;":"⋁","&bigwedge;":"⋀","&bkarow;":"⤍","&blacklozenge;":"⧫","&blacksquare;":"▪","&blacktriangle;":"▴","&blacktriangledown;":"▾","&blacktriangleleft;":"◂","&blacktriangleright;":"▸","&blank;":"␣","&blk12;":"▒","&blk14;":"░","&blk34;":"▓","&block;":"█","&bne;":"=⃥","&bnequiv;":"≡⃥","&bnot;":"⌐","&bopf;":"𝕓","&bot;":"⊥","&bottom;":"⊥","&bowtie;":"⋈","&boxDL;":"╗","&boxDR;":"╔","&boxDl;":"╖","&boxDr;":"╓","&boxH;":"═","&boxHD;":"╦","&boxHU;":"╩","&boxHd;":"╤","&boxHu;":"╧","&boxUL;":"╝","&boxUR;":"╚","&boxUl;":"╜","&boxUr;":"╙","&boxV;":"║","&boxVH;":"╬","&boxVL;":"╣","&boxVR;":"╠","&boxVh;":"╫","&boxVl;":"╢","&boxVr;":"╟","&boxbox;":"⧉","&boxdL;":"╕","&boxdR;":"╒","&boxdl;":"┐","&boxdr;":"┌","&boxh;":"─","&boxhD;":"╥","&boxhU;":"╨","&boxhd;":"┬","&boxhu;":"┴","&boxminus;":"⊟","&boxplus;":"⊞","&boxtimes;":"⊠","&boxuL;":"╛","&boxuR;":"╘","&boxul;":"┘","&boxur;":"└","&boxv;":"│","&boxvH;":"╪","&boxvL;":"╡","&boxvR;":"╞","&boxvh;":"┼","&boxvl;":"┤","&boxvr;":"├","&bprime;":"‵","&breve;":"˘","&brvbar":"¦","&brvbar;":"¦","&bscr;":"𝒷","&bsemi;":"⁏","&bsim;":"∽","&bsime;":"⋍","&bsol;":"\\","&bsolb;":"⧅","&bsolhsub;":"⟈","&bull;":"•","&bullet;":"•","&bump;":"≎","&bumpE;":"⪮","&bumpe;":"≏","&bumpeq;":"≏","&cacute;":"ć","&cap;":"∩","&capand;":"⩄","&capbrcup;":"⩉","&capcap;":"⩋","&capcup;":"⩇","&capdot;":"⩀","&caps;":"∩︀","&caret;":"⁁","&caron;":"ˇ","&ccaps;":"⩍","&ccaron;":"č","&ccedil":"ç","&ccedil;":"ç","&ccirc;":"ĉ","&ccups;":"⩌","&ccupssm;":"⩐","&cdot;":"ċ","&cedil":"¸","&cedil;":"¸","&cemptyv;":"⦲","&cent":"¢","&cent;":"¢","&centerdot;":"·","&cfr;":"𝔠","&chcy;":"ч","&check;":"✓","&checkmark;":"✓","&chi;":"χ","&cir;":"○","&cirE;":"⧃","&circ;":"ˆ","&circeq;":"≗","&circlearrowleft;":"↺","&circlearrowright;":"↻","&circledR;":"®","&circledS;":"Ⓢ","&circledast;":"⊛","&circledcirc;":"⊚","&circleddash;":"⊝","&cire;":"≗","&cirfnint;":"⨐","&cirmid;":"⫯","&cirscir;":"⧂","&clubs;":"♣","&clubsuit;":"♣","&colon;":":","&colone;":"≔","&coloneq;":"≔","&comma;":",","&commat;":"@","&comp;":"∁","&compfn;":"∘","&complement;":"∁","&complexes;":"ℂ","&cong;":"≅","&congdot;":"⩭","&conint;":"∮","&copf;":"𝕔","&coprod;":"∐","&copy":"©","&copy;":"©","&copysr;":"℗","&crarr;":"↵","&cross;":"✗","&cscr;":"𝒸","&csub;":"⫏","&csube;":"⫑","&csup;":"⫐","&csupe;":"⫒","&ctdot;":"⋯","&cudarrl;":"⤸","&cudarrr;":"⤵","&cuepr;":"⋞","&cuesc;":"⋟","&cularr;":"↶","&cularrp;":"⤽","&cup;":"∪","&cupbrcap;":"⩈","&cupcap;":"⩆","&cupcup;":"⩊","&cupdot;":"⊍","&cupor;":"⩅","&cups;":"∪︀","&curarr;":"↷","&curarrm;":"⤼","&curlyeqprec;":"⋞","&curlyeqsucc;":"⋟","&curlyvee;":"⋎","&curlywedge;":"⋏","&curren":"¤","&curren;":"¤","&curvearrowleft;":"↶","&curvearrowright;":"↷","&cuvee;":"⋎","&cuwed;":"⋏","&cwconint;":"∲","&cwint;":"∱","&cylcty;":"⌭","&dArr;":"⇓","&dHar;":"⥥","&dagger;":"†","&daleth;":"ℸ","&darr;":"↓","&dash;":"‐","&dashv;":"⊣","&dbkarow;":"⤏","&dblac;":"˝","&dcaron;":"ď","&dcy;":"д","&dd;":"ⅆ","&ddagger;":"‡","&ddarr;":"⇊","&ddotseq;":"⩷","&deg":"°","&deg;":"°","&delta;":"δ","&demptyv;":"⦱","&dfisht;":"⥿","&dfr;":"𝔡","&dharl;":"⇃","&dharr;":"⇂","&diam;":"⋄","&diamond;":"⋄","&diamondsuit;":"♦","&diams;":"♦","&die;":"¨","&digamma;":"ϝ","&disin;":"⋲","&div;":"÷","&divide":"÷","&divide;":"÷","&divideontimes;":"⋇","&divonx;":"⋇","&djcy;":"ђ","&dlcorn;":"⌞","&dlcrop;":"⌍","&dollar;":"$","&dopf;":"𝕕","&dot;":"˙","&doteq;":"≐","&doteqdot;":"≑","&dotminus;":"∸","&dotplus;":"∔","&dotsquare;":"⊡","&doublebarwedge;":"⌆","&downarrow;":"↓","&downdownarrows;":"⇊","&downharpoonleft;":"⇃","&downharpoonright;":"⇂","&drbkarow;":"⤐","&drcorn;":"⌟","&drcrop;":"⌌","&dscr;":"𝒹","&dscy;":"ѕ","&dsol;":"⧶","&dstrok;":"đ","&dtdot;":"⋱","&dtri;":"▿","&dtrif;":"▾","&duarr;":"⇵","&duhar;":"⥯","&dwangle;":"⦦","&dzcy;":"џ","&dzigrarr;":"⟿","&eDDot;":"⩷","&eDot;":"≑","&eacute":"é","&eacute;":"é","&easter;":"⩮","&ecaron;":"ě","&ecir;":"≖","&ecirc":"ê","&ecirc;":"ê","&ecolon;":"≕","&ecy;":"э","&edot;":"ė","&ee;":"ⅇ","&efDot;":"≒","&efr;":"𝔢","&eg;":"⪚","&egrave":"è","&egrave;":"è","&egs;":"⪖","&egsdot;":"⪘","&el;":"⪙","&elinters;":"⏧","&ell;":"ℓ","&els;":"⪕","&elsdot;":"⪗","&emacr;":"ē","&empty;":"∅","&emptyset;":"∅","&emptyv;":"∅","&emsp13;":" ","&emsp14;":" ","&emsp;":" ","&eng;":"ŋ","&ensp;":" ","&eogon;":"ę","&eopf;":"𝕖","&epar;":"⋕","&eparsl;":"⧣","&eplus;":"⩱","&epsi;":"ε","&epsilon;":"ε","&epsiv;":"ϵ","&eqcirc;":"≖","&eqcolon;":"≕","&eqsim;":"≂","&eqslantgtr;":"⪖","&eqslantless;":"⪕","&equals;":"=","&equest;":"≟","&equiv;":"≡","&equivDD;":"⩸","&eqvparsl;":"⧥","&erDot;":"≓","&erarr;":"⥱","&escr;":"ℯ","&esdot;":"≐","&esim;":"≂","&eta;":"η","&eth":"ð","&eth;":"ð","&euml":"ë","&euml;":"ë","&euro;":"€","&excl;":"!","&exist;":"∃","&expectation;":"ℰ","&exponentiale;":"ⅇ","&fallingdotseq;":"≒","&fcy;":"ф","&female;":"♀","&ffilig;":"ffi","&fflig;":"ff","&ffllig;":"ffl","&ffr;":"𝔣","&filig;":"fi","&fjlig;":"fj","&flat;":"♭","&fllig;":"fl","&fltns;":"▱","&fnof;":"ƒ","&fopf;":"𝕗","&forall;":"∀","&fork;":"⋔","&forkv;":"⫙","&fpartint;":"⨍","&frac12":"½","&frac12;":"½","&frac13;":"⅓","&frac14":"¼","&frac14;":"¼","&frac15;":"⅕","&frac16;":"⅙","&frac18;":"⅛","&frac23;":"⅔","&frac25;":"⅖","&frac34":"¾","&frac34;":"¾","&frac35;":"⅗","&frac38;":"⅜","&frac45;":"⅘","&frac56;":"⅚","&frac58;":"⅝","&frac78;":"⅞","&frasl;":"⁄","&frown;":"⌢","&fscr;":"𝒻","&gE;":"≧","&gEl;":"⪌","&gacute;":"ǵ","&gamma;":"γ","&gammad;":"ϝ","&gap;":"⪆","&gbreve;":"ğ","&gcirc;":"ĝ","&gcy;":"г","&gdot;":"ġ","&ge;":"≥","&gel;":"⋛","&geq;":"≥","&geqq;":"≧","&geqslant;":"⩾","&ges;":"⩾","&gescc;":"⪩","&gesdot;":"⪀","&gesdoto;":"⪂","&gesdotol;":"⪄","&gesl;":"⋛︀","&gesles;":"⪔","&gfr;":"𝔤","&gg;":"≫","&ggg;":"⋙","&gimel;":"ℷ","&gjcy;":"ѓ","&gl;":"≷","&glE;":"⪒","&gla;":"⪥","&glj;":"⪤","&gnE;":"≩","&gnap;":"⪊","&gnapprox;":"⪊","&gne;":"⪈","&gneq;":"⪈","&gneqq;":"≩","&gnsim;":"⋧","&gopf;":"𝕘","&grave;":"`","&gscr;":"ℊ","&gsim;":"≳","&gsime;":"⪎","&gsiml;":"⪐","&gt":">","&gt;":">","&gtcc;":"⪧","&gtcir;":"⩺","&gtdot;":"⋗","&gtlPar;":"⦕","&gtquest;":"⩼","&gtrapprox;":"⪆","&gtrarr;":"⥸","&gtrdot;":"⋗","&gtreqless;":"⋛","&gtreqqless;":"⪌","&gtrless;":"≷","&gtrsim;":"≳","&gvertneqq;":"≩︀","&gvnE;":"≩︀","&hArr;":"⇔","&hairsp;":" ","&half;":"½","&hamilt;":"ℋ","&hardcy;":"ъ","&harr;":"↔","&harrcir;":"⥈","&harrw;":"↭","&hbar;":"ℏ","&hcirc;":"ĥ","&hearts;":"♥","&heartsuit;":"♥","&hellip;":"…","&hercon;":"⊹","&hfr;":"𝔥","&hksearow;":"⤥","&hkswarow;":"⤦","&hoarr;":"⇿","&homtht;":"∻","&hookleftarrow;":"↩","&hookrightarrow;":"↪","&hopf;":"𝕙","&horbar;":"―","&hscr;":"𝒽","&hslash;":"ℏ","&hstrok;":"ħ","&hybull;":"⁃","&hyphen;":"‐","&iacute":"í","&iacute;":"í","&ic;":"⁣","&icirc":"î","&icirc;":"î","&icy;":"и","&iecy;":"е","&iexcl":"¡","&iexcl;":"¡","&iff;":"⇔","&ifr;":"𝔦","&igrave":"ì","&igrave;":"ì","&ii;":"ⅈ","&iiiint;":"⨌","&iiint;":"∭","&iinfin;":"⧜","&iiota;":"℩","&ijlig;":"ij","&imacr;":"ī","&image;":"ℑ","&imagline;":"ℐ","&imagpart;":"ℑ","&imath;":"ı","&imof;":"⊷","&imped;":"Ƶ","&in;":"∈","&incare;":"℅","&infin;":"∞","&infintie;":"⧝","&inodot;":"ı","&int;":"∫","&intcal;":"⊺","&integers;":"ℤ","&intercal;":"⊺","&intlarhk;":"⨗","&intprod;":"⨼","&iocy;":"ё","&iogon;":"į","&iopf;":"𝕚","&iota;":"ι","&iprod;":"⨼","&iquest":"¿","&iquest;":"¿","&iscr;":"𝒾","&isin;":"∈","&isinE;":"⋹","&isindot;":"⋵","&isins;":"⋴","&isinsv;":"⋳","&isinv;":"∈","&it;":"⁢","&itilde;":"ĩ","&iukcy;":"і","&iuml":"ï","&iuml;":"ï","&jcirc;":"ĵ","&jcy;":"й","&jfr;":"𝔧","&jmath;":"ȷ","&jopf;":"𝕛","&jscr;":"𝒿","&jsercy;":"ј","&jukcy;":"є","&kappa;":"κ","&kappav;":"ϰ","&kcedil;":"ķ","&kcy;":"к","&kfr;":"𝔨","&kgreen;":"ĸ","&khcy;":"х","&kjcy;":"ќ","&kopf;":"𝕜","&kscr;":"𝓀","&lAarr;":"⇚","&lArr;":"⇐","&lAtail;":"⤛","&lBarr;":"⤎","&lE;":"≦","&lEg;":"⪋","&lHar;":"⥢","&lacute;":"ĺ","&laemptyv;":"⦴","&lagran;":"ℒ","&lambda;":"λ","&lang;":"⟨","&langd;":"⦑","&langle;":"⟨","&lap;":"⪅","&laquo":"«","&laquo;":"«","&larr;":"←","&larrb;":"⇤","&larrbfs;":"⤟","&larrfs;":"⤝","&larrhk;":"↩","&larrlp;":"↫","&larrpl;":"⤹","&larrsim;":"⥳","&larrtl;":"↢","&lat;":"⪫","&latail;":"⤙","&late;":"⪭","&lates;":"⪭︀","&lbarr;":"⤌","&lbbrk;":"❲","&lbrace;":"{","&lbrack;":"[","&lbrke;":"⦋","&lbrksld;":"⦏","&lbrkslu;":"⦍","&lcaron;":"ľ","&lcedil;":"ļ","&lceil;":"⌈","&lcub;":"{","&lcy;":"л","&ldca;":"⤶","&ldquo;":"“","&ldquor;":"„","&ldrdhar;":"⥧","&ldrushar;":"⥋","&ldsh;":"↲","&le;":"≤","&leftarrow;":"←","&leftarrowtail;":"↢","&leftharpoondown;":"↽","&leftharpoonup;":"↼","&leftleftarrows;":"⇇","&leftrightarrow;":"↔","&leftrightarrows;":"⇆","&leftrightharpoons;":"⇋","&leftrightsquigarrow;":"↭","&leftthreetimes;":"⋋","&leg;":"⋚","&leq;":"≤","&leqq;":"≦","&leqslant;":"⩽","&les;":"⩽","&lescc;":"⪨","&lesdot;":"⩿","&lesdoto;":"⪁","&lesdotor;":"⪃","&lesg;":"⋚︀","&lesges;":"⪓","&lessapprox;":"⪅","&lessdot;":"⋖","&lesseqgtr;":"⋚","&lesseqqgtr;":"⪋","&lessgtr;":"≶","&lesssim;":"≲","&lfisht;":"⥼","&lfloor;":"⌊","&lfr;":"𝔩","&lg;":"≶","&lgE;":"⪑","&lhard;":"↽","&lharu;":"↼","&lharul;":"⥪","&lhblk;":"▄","&ljcy;":"љ","&ll;":"≪","&llarr;":"⇇","&llcorner;":"⌞","&llhard;":"⥫","&lltri;":"◺","&lmidot;":"ŀ","&lmoust;":"⎰","&lmoustache;":"⎰","&lnE;":"≨","&lnap;":"⪉","&lnapprox;":"⪉","&lne;":"⪇","&lneq;":"⪇","&lneqq;":"≨","&lnsim;":"⋦","&loang;":"⟬","&loarr;":"⇽","&lobrk;":"⟦","&longleftarrow;":"⟵","&longleftrightarrow;":"⟷","&longmapsto;":"⟼","&longrightarrow;":"⟶","&looparrowleft;":"↫","&looparrowright;":"↬","&lopar;":"⦅","&lopf;":"𝕝","&loplus;":"⨭","&lotimes;":"⨴","&lowast;":"∗","&lowbar;":"_","&loz;":"◊","&lozenge;":"◊","&lozf;":"⧫","&lpar;":"(","&lparlt;":"⦓","&lrarr;":"⇆","&lrcorner;":"⌟","&lrhar;":"⇋","&lrhard;":"⥭","&lrm;":"‎","&lrtri;":"⊿","&lsaquo;":"‹","&lscr;":"𝓁","&lsh;":"↰","&lsim;":"≲","&lsime;":"⪍","&lsimg;":"⪏","&lsqb;":"[","&lsquo;":"‘","&lsquor;":"‚","&lstrok;":"ł","&lt":"<","&lt;":"<","&ltcc;":"⪦","&ltcir;":"⩹","&ltdot;":"⋖","&lthree;":"⋋","&ltimes;":"⋉","&ltlarr;":"⥶","&ltquest;":"⩻","&ltrPar;":"⦖","&ltri;":"◃","&ltrie;":"⊴","&ltrif;":"◂","&lurdshar;":"⥊","&luruhar;":"⥦","&lvertneqq;":"≨︀","&lvnE;":"≨︀","&mDDot;":"∺","&macr":"¯","&macr;":"¯","&male;":"♂","&malt;":"✠","&maltese;":"✠","&map;":"↦","&mapsto;":"↦","&mapstodown;":"↧","&mapstoleft;":"↤","&mapstoup;":"↥","&marker;":"▮","&mcomma;":"⨩","&mcy;":"м","&mdash;":"—","&measuredangle;":"∡","&mfr;":"𝔪","&mho;":"℧","&micro":"µ","&micro;":"µ","&mid;":"∣","&midast;":"*","&midcir;":"⫰","&middot":"·","&middot;":"·","&minus;":"−","&minusb;":"⊟","&minusd;":"∸","&minusdu;":"⨪","&mlcp;":"⫛","&mldr;":"…","&mnplus;":"∓","&models;":"⊧","&mopf;":"𝕞","&mp;":"∓","&mscr;":"𝓂","&mstpos;":"∾","&mu;":"μ","&multimap;":"⊸","&mumap;":"⊸","&nGg;":"⋙̸","&nGt;":"≫⃒","&nGtv;":"≫̸","&nLeftarrow;":"⇍","&nLeftrightarrow;":"⇎","&nLl;":"⋘̸","&nLt;":"≪⃒","&nLtv;":"≪̸","&nRightarrow;":"⇏","&nVDash;":"⊯","&nVdash;":"⊮","&nabla;":"∇","&nacute;":"ń","&nang;":"∠⃒","&nap;":"≉","&napE;":"⩰̸","&napid;":"≋̸","&napos;":"ʼn","&napprox;":"≉","&natur;":"♮","&natural;":"♮","&naturals;":"ℕ","&nbsp":" ","&nbsp;":" ","&nbump;":"≎̸","&nbumpe;":"≏̸","&ncap;":"⩃","&ncaron;":"ň","&ncedil;":"ņ","&ncong;":"≇","&ncongdot;":"⩭̸","&ncup;":"⩂","&ncy;":"н","&ndash;":"–","&ne;":"≠","&neArr;":"⇗","&nearhk;":"⤤","&nearr;":"↗","&nearrow;":"↗","&nedot;":"≐̸","&nequiv;":"≢","&nesear;":"⤨","&nesim;":"≂̸","&nexist;":"∄","&nexists;":"∄","&nfr;":"𝔫","&ngE;":"≧̸","&nge;":"≱","&ngeq;":"≱","&ngeqq;":"≧̸","&ngeqslant;":"⩾̸","&nges;":"⩾̸","&ngsim;":"≵","&ngt;":"≯","&ngtr;":"≯","&nhArr;":"⇎","&nharr;":"↮","&nhpar;":"⫲","&ni;":"∋","&nis;":"⋼","&nisd;":"⋺","&niv;":"∋","&njcy;":"њ","&nlArr;":"⇍","&nlE;":"≦̸","&nlarr;":"↚","&nldr;":"‥","&nle;":"≰","&nleftarrow;":"↚","&nleftrightarrow;":"↮","&nleq;":"≰","&nleqq;":"≦̸","&nleqslant;":"⩽̸","&nles;":"⩽̸","&nless;":"≮","&nlsim;":"≴","&nlt;":"≮","&nltri;":"⋪","&nltrie;":"⋬","&nmid;":"∤","&nopf;":"𝕟","&not":"¬","&not;":"¬","&notin;":"∉","&notinE;":"⋹̸","&notindot;":"⋵̸","&notinva;":"∉","&notinvb;":"⋷","&notinvc;":"⋶","&notni;":"∌","&notniva;":"∌","&notnivb;":"⋾","&notnivc;":"⋽","&npar;":"∦","&nparallel;":"∦","&nparsl;":"⫽⃥","&npart;":"∂̸","&npolint;":"⨔","&npr;":"⊀","&nprcue;":"⋠","&npre;":"⪯̸","&nprec;":"⊀","&npreceq;":"⪯̸","&nrArr;":"⇏","&nrarr;":"↛","&nrarrc;":"⤳̸","&nrarrw;":"↝̸","&nrightarrow;":"↛","&nrtri;":"⋫","&nrtrie;":"⋭","&nsc;":"⊁","&nsccue;":"⋡","&nsce;":"⪰̸","&nscr;":"𝓃","&nshortmid;":"∤","&nshortparallel;":"∦","&nsim;":"≁","&nsime;":"≄","&nsimeq;":"≄","&nsmid;":"∤","&nspar;":"∦","&nsqsube;":"⋢","&nsqsupe;":"⋣","&nsub;":"⊄","&nsubE;":"⫅̸","&nsube;":"⊈","&nsubset;":"⊂⃒","&nsubseteq;":"⊈","&nsubseteqq;":"⫅̸","&nsucc;":"⊁","&nsucceq;":"⪰̸","&nsup;":"⊅","&nsupE;":"⫆̸","&nsupe;":"⊉","&nsupset;":"⊃⃒","&nsupseteq;":"⊉","&nsupseteqq;":"⫆̸","&ntgl;":"≹","&ntilde":"ñ","&ntilde;":"ñ","&ntlg;":"≸","&ntriangleleft;":"⋪","&ntrianglelefteq;":"⋬","&ntriangleright;":"⋫","&ntrianglerighteq;":"⋭","&nu;":"ν","&num;":"#","&numero;":"№","&numsp;":" ","&nvDash;":"⊭","&nvHarr;":"⤄","&nvap;":"≍⃒","&nvdash;":"⊬","&nvge;":"≥⃒","&nvgt;":">⃒","&nvinfin;":"⧞","&nvlArr;":"⤂","&nvle;":"≤⃒","&nvlt;":"<⃒","&nvltrie;":"⊴⃒","&nvrArr;":"⤃","&nvrtrie;":"⊵⃒","&nvsim;":"∼⃒","&nwArr;":"⇖","&nwarhk;":"⤣","&nwarr;":"↖","&nwarrow;":"↖","&nwnear;":"⤧","&oS;":"Ⓢ","&oacute":"ó","&oacute;":"ó","&oast;":"⊛","&ocir;":"⊚","&ocirc":"ô","&ocirc;":"ô","&ocy;":"о","&odash;":"⊝","&odblac;":"ő","&odiv;":"⨸","&odot;":"⊙","&odsold;":"⦼","&oelig;":"œ","&ofcir;":"⦿","&ofr;":"𝔬","&ogon;":"˛","&ograve":"ò","&ograve;":"ò","&ogt;":"⧁","&ohbar;":"⦵","&ohm;":"Ω","&oint;":"∮","&olarr;":"↺","&olcir;":"⦾","&olcross;":"⦻","&oline;":"‾","&olt;":"⧀","&omacr;":"ō","&omega;":"ω","&omicron;":"ο","&omid;":"⦶","&ominus;":"⊖","&oopf;":"𝕠","&opar;":"⦷","&operp;":"⦹","&oplus;":"⊕","&or;":"∨","&orarr;":"↻","&ord;":"⩝","&order;":"ℴ","&orderof;":"ℴ","&ordf":"ª","&ordf;":"ª","&ordm":"º","&ordm;":"º","&origof;":"⊶","&oror;":"⩖","&orslope;":"⩗","&orv;":"⩛","&oscr;":"ℴ","&oslash":"ø","&oslash;":"ø","&osol;":"⊘","&otilde":"õ","&otilde;":"õ","&otimes;":"⊗","&otimesas;":"⨶","&ouml":"ö","&ouml;":"ö","&ovbar;":"⌽","&par;":"∥","&para":"¶","&para;":"¶","&parallel;":"∥","&parsim;":"⫳","&parsl;":"⫽","&part;":"∂","&pcy;":"п","&percnt;":"%","&period;":".","&permil;":"‰","&perp;":"⊥","&pertenk;":"‱","&pfr;":"𝔭","&phi;":"φ","&phiv;":"ϕ","&phmmat;":"ℳ","&phone;":"☎","&pi;":"π","&pitchfork;":"⋔","&piv;":"ϖ","&planck;":"ℏ","&planckh;":"ℎ","&plankv;":"ℏ","&plus;":"+","&plusacir;":"⨣","&plusb;":"⊞","&pluscir;":"⨢","&plusdo;":"∔","&plusdu;":"⨥","&pluse;":"⩲","&plusmn":"±","&plusmn;":"±","&plussim;":"⨦","&plustwo;":"⨧","&pm;":"±","&pointint;":"⨕","&popf;":"𝕡","&pound":"£","&pound;":"£","&pr;":"≺","&prE;":"⪳","&prap;":"⪷","&prcue;":"≼","&pre;":"⪯","&prec;":"≺","&precapprox;":"⪷","&preccurlyeq;":"≼","&preceq;":"⪯","&precnapprox;":"⪹","&precneqq;":"⪵","&precnsim;":"⋨","&precsim;":"≾","&prime;":"′","&primes;":"ℙ","&prnE;":"⪵","&prnap;":"⪹","&prnsim;":"⋨","&prod;":"∏","&profalar;":"⌮","&profline;":"⌒","&profsurf;":"⌓","&prop;":"∝","&propto;":"∝","&prsim;":"≾","&prurel;":"⊰","&pscr;":"𝓅","&psi;":"ψ","&puncsp;":" ","&qfr;":"𝔮","&qint;":"⨌","&qopf;":"𝕢","&qprime;":"⁗","&qscr;":"𝓆","&quaternions;":"ℍ","&quatint;":"⨖","&quest;":"?","&questeq;":"≟","&quot":'"',"&quot;":'"',"&rAarr;":"⇛","&rArr;":"⇒","&rAtail;":"⤜","&rBarr;":"⤏","&rHar;":"⥤","&race;":"∽̱","&racute;":"ŕ","&radic;":"√","&raemptyv;":"⦳","&rang;":"⟩","&rangd;":"⦒","&range;":"⦥","&rangle;":"⟩","&raquo":"»","&raquo;":"»","&rarr;":"→","&rarrap;":"⥵","&rarrb;":"⇥","&rarrbfs;":"⤠","&rarrc;":"⤳","&rarrfs;":"⤞","&rarrhk;":"↪","&rarrlp;":"↬","&rarrpl;":"⥅","&rarrsim;":"⥴","&rarrtl;":"↣","&rarrw;":"↝","&ratail;":"⤚","&ratio;":"∶","&rationals;":"ℚ","&rbarr;":"⤍","&rbbrk;":"❳","&rbrace;":"}","&rbrack;":"]","&rbrke;":"⦌","&rbrksld;":"⦎","&rbrkslu;":"⦐","&rcaron;":"ř","&rcedil;":"ŗ","&rceil;":"⌉","&rcub;":"}","&rcy;":"р","&rdca;":"⤷","&rdldhar;":"⥩","&rdquo;":"”","&rdquor;":"”","&rdsh;":"↳","&real;":"ℜ","&realine;":"ℛ","&realpart;":"ℜ","&reals;":"ℝ","&rect;":"▭","&reg":"®","&reg;":"®","&rfisht;":"⥽","&rfloor;":"⌋","&rfr;":"𝔯","&rhard;":"⇁","&rharu;":"⇀","&rharul;":"⥬","&rho;":"ρ","&rhov;":"ϱ","&rightarrow;":"→","&rightarrowtail;":"↣","&rightharpoondown;":"⇁","&rightharpoonup;":"⇀","&rightleftarrows;":"⇄","&rightleftharpoons;":"⇌","&rightrightarrows;":"⇉","&rightsquigarrow;":"↝","&rightthreetimes;":"⋌","&ring;":"˚","&risingdotseq;":"≓","&rlarr;":"⇄","&rlhar;":"⇌","&rlm;":"‏","&rmoust;":"⎱","&rmoustache;":"⎱","&rnmid;":"⫮","&roang;":"⟭","&roarr;":"⇾","&robrk;":"⟧","&ropar;":"⦆","&ropf;":"𝕣","&roplus;":"⨮","&rotimes;":"⨵","&rpar;":")","&rpargt;":"⦔","&rppolint;":"⨒","&rrarr;":"⇉","&rsaquo;":"›","&rscr;":"𝓇","&rsh;":"↱","&rsqb;":"]","&rsquo;":"’","&rsquor;":"’","&rthree;":"⋌","&rtimes;":"⋊","&rtri;":"▹","&rtrie;":"⊵","&rtrif;":"▸","&rtriltri;":"⧎","&ruluhar;":"⥨","&rx;":"℞","&sacute;":"ś","&sbquo;":"‚","&sc;":"≻","&scE;":"⪴","&scap;":"⪸","&scaron;":"š","&sccue;":"≽","&sce;":"⪰","&scedil;":"ş","&scirc;":"ŝ","&scnE;":"⪶","&scnap;":"⪺","&scnsim;":"⋩","&scpolint;":"⨓","&scsim;":"≿","&scy;":"с","&sdot;":"⋅","&sdotb;":"⊡","&sdote;":"⩦","&seArr;":"⇘","&searhk;":"⤥","&searr;":"↘","&searrow;":"↘","&sect":"§","&sect;":"§","&semi;":";","&seswar;":"⤩","&setminus;":"∖","&setmn;":"∖","&sext;":"✶","&sfr;":"𝔰","&sfrown;":"⌢","&sharp;":"♯","&shchcy;":"щ","&shcy;":"ш","&shortmid;":"∣","&shortparallel;":"∥","&shy":"­","&shy;":"­","&sigma;":"σ","&sigmaf;":"ς","&sigmav;":"ς","&sim;":"∼","&simdot;":"⩪","&sime;":"≃","&simeq;":"≃","&simg;":"⪞","&simgE;":"⪠","&siml;":"⪝","&simlE;":"⪟","&simne;":"≆","&simplus;":"⨤","&simrarr;":"⥲","&slarr;":"←","&smallsetminus;":"∖","&smashp;":"⨳","&smeparsl;":"⧤","&smid;":"∣","&smile;":"⌣","&smt;":"⪪","&smte;":"⪬","&smtes;":"⪬︀","&softcy;":"ь","&sol;":"/","&solb;":"⧄","&solbar;":"⌿","&sopf;":"𝕤","&spades;":"♠","&spadesuit;":"♠","&spar;":"∥","&sqcap;":"⊓","&sqcaps;":"⊓︀","&sqcup;":"⊔","&sqcups;":"⊔︀","&sqsub;":"⊏","&sqsube;":"⊑","&sqsubset;":"⊏","&sqsubseteq;":"⊑","&sqsup;":"⊐","&sqsupe;":"⊒","&sqsupset;":"⊐","&sqsupseteq;":"⊒","&squ;":"□","&square;":"□","&squarf;":"▪","&squf;":"▪","&srarr;":"→","&sscr;":"𝓈","&ssetmn;":"∖","&ssmile;":"⌣","&sstarf;":"⋆","&star;":"☆","&starf;":"★","&straightepsilon;":"ϵ","&straightphi;":"ϕ","&strns;":"¯","&sub;":"⊂","&subE;":"⫅","&subdot;":"⪽","&sube;":"⊆","&subedot;":"⫃","&submult;":"⫁","&subnE;":"⫋","&subne;":"⊊","&subplus;":"⪿","&subrarr;":"⥹","&subset;":"⊂","&subseteq;":"⊆","&subseteqq;":"⫅","&subsetneq;":"⊊","&subsetneqq;":"⫋","&subsim;":"⫇","&subsub;":"⫕","&subsup;":"⫓","&succ;":"≻","&succapprox;":"⪸","&succcurlyeq;":"≽","&succeq;":"⪰","&succnapprox;":"⪺","&succneqq;":"⪶","&succnsim;":"⋩","&succsim;":"≿","&sum;":"∑","&sung;":"♪","&sup1":"¹","&sup1;":"¹","&sup2":"²","&sup2;":"²","&sup3":"³","&sup3;":"³","&sup;":"⊃","&supE;":"⫆","&supdot;":"⪾","&supdsub;":"⫘","&supe;":"⊇","&supedot;":"⫄","&suphsol;":"⟉","&suphsub;":"⫗","&suplarr;":"⥻","&supmult;":"⫂","&supnE;":"⫌","&supne;":"⊋","&supplus;":"⫀","&supset;":"⊃","&supseteq;":"⊇","&supseteqq;":"⫆","&supsetneq;":"⊋","&supsetneqq;":"⫌","&supsim;":"⫈","&supsub;":"⫔","&supsup;":"⫖","&swArr;":"⇙","&swarhk;":"⤦","&swarr;":"↙","&swarrow;":"↙","&swnwar;":"⤪","&szlig":"ß","&szlig;":"ß","&target;":"⌖","&tau;":"τ","&tbrk;":"⎴","&tcaron;":"ť","&tcedil;":"ţ","&tcy;":"т","&tdot;":"⃛","&telrec;":"⌕","&tfr;":"𝔱","&there4;":"∴","&therefore;":"∴","&theta;":"θ","&thetasym;":"ϑ","&thetav;":"ϑ","&thickapprox;":"≈","&thicksim;":"∼","&thinsp;":" ","&thkap;":"≈","&thksim;":"∼","&thorn":"þ","&thorn;":"þ","&tilde;":"˜","&times":"×","&times;":"×","&timesb;":"⊠","&timesbar;":"⨱","&timesd;":"⨰","&tint;":"∭","&toea;":"⤨","&top;":"⊤","&topbot;":"⌶","&topcir;":"⫱","&topf;":"𝕥","&topfork;":"⫚","&tosa;":"⤩","&tprime;":"‴","&trade;":"™","&triangle;":"▵","&triangledown;":"▿","&triangleleft;":"◃","&trianglelefteq;":"⊴","&triangleq;":"≜","&triangleright;":"▹","&trianglerighteq;":"⊵","&tridot;":"◬","&trie;":"≜","&triminus;":"⨺","&triplus;":"⨹","&trisb;":"⧍","&tritime;":"⨻","&trpezium;":"⏢","&tscr;":"𝓉","&tscy;":"ц","&tshcy;":"ћ","&tstrok;":"ŧ","&twixt;":"≬","&twoheadleftarrow;":"↞","&twoheadrightarrow;":"↠","&uArr;":"⇑","&uHar;":"⥣","&uacute":"ú","&uacute;":"ú","&uarr;":"↑","&ubrcy;":"ў","&ubreve;":"ŭ","&ucirc":"û","&ucirc;":"û","&ucy;":"у","&udarr;":"⇅","&udblac;":"ű","&udhar;":"⥮","&ufisht;":"⥾","&ufr;":"𝔲","&ugrave":"ù","&ugrave;":"ù","&uharl;":"↿","&uharr;":"↾","&uhblk;":"▀","&ulcorn;":"⌜","&ulcorner;":"⌜","&ulcrop;":"⌏","&ultri;":"◸","&umacr;":"ū","&uml":"¨","&uml;":"¨","&uogon;":"ų","&uopf;":"𝕦","&uparrow;":"↑","&updownarrow;":"↕","&upharpoonleft;":"↿","&upharpoonright;":"↾","&uplus;":"⊎","&upsi;":"υ","&upsih;":"ϒ","&upsilon;":"υ","&upuparrows;":"⇈","&urcorn;":"⌝","&urcorner;":"⌝","&urcrop;":"⌎","&uring;":"ů","&urtri;":"◹","&uscr;":"𝓊","&utdot;":"⋰","&utilde;":"ũ","&utri;":"▵","&utrif;":"▴","&uuarr;":"⇈","&uuml":"ü","&uuml;":"ü","&uwangle;":"⦧","&vArr;":"⇕","&vBar;":"⫨","&vBarv;":"⫩","&vDash;":"⊨","&vangrt;":"⦜","&varepsilon;":"ϵ","&varkappa;":"ϰ","&varnothing;":"∅","&varphi;":"ϕ","&varpi;":"ϖ","&varpropto;":"∝","&varr;":"↕","&varrho;":"ϱ","&varsigma;":"ς","&varsubsetneq;":"⊊︀","&varsubsetneqq;":"⫋︀","&varsupsetneq;":"⊋︀","&varsupsetneqq;":"⫌︀","&vartheta;":"ϑ","&vartriangleleft;":"⊲","&vartriangleright;":"⊳","&vcy;":"в","&vdash;":"⊢","&vee;":"∨","&veebar;":"⊻","&veeeq;":"≚","&vellip;":"⋮","&verbar;":"|","&vert;":"|","&vfr;":"𝔳","&vltri;":"⊲","&vnsub;":"⊂⃒","&vnsup;":"⊃⃒","&vopf;":"𝕧","&vprop;":"∝","&vrtri;":"⊳","&vscr;":"𝓋","&vsubnE;":"⫋︀","&vsubne;":"⊊︀","&vsupnE;":"⫌︀","&vsupne;":"⊋︀","&vzigzag;":"⦚","&wcirc;":"ŵ","&wedbar;":"⩟","&wedge;":"∧","&wedgeq;":"≙","&weierp;":"℘","&wfr;":"𝔴","&wopf;":"𝕨","&wp;":"℘","&wr;":"≀","&wreath;":"≀","&wscr;":"𝓌","&xcap;":"⋂","&xcirc;":"◯","&xcup;":"⋃","&xdtri;":"▽","&xfr;":"𝔵","&xhArr;":"⟺","&xharr;":"⟷","&xi;":"ξ","&xlArr;":"⟸","&xlarr;":"⟵","&xmap;":"⟼","&xnis;":"⋻","&xodot;":"⨀","&xopf;":"𝕩","&xoplus;":"⨁","&xotime;":"⨂","&xrArr;":"⟹","&xrarr;":"⟶","&xscr;":"𝓍","&xsqcup;":"⨆","&xuplus;":"⨄","&xutri;":"△","&xvee;":"⋁","&xwedge;":"⋀","&yacute":"ý","&yacute;":"ý","&yacy;":"я","&ycirc;":"ŷ","&ycy;":"ы","&yen":"¥","&yen;":"¥","&yfr;":"𝔶","&yicy;":"ї","&yopf;":"𝕪","&yscr;":"𝓎","&yucy;":"ю","&yuml":"ÿ","&yuml;":"ÿ","&zacute;":"ź","&zcaron;":"ž","&zcy;":"з","&zdot;":"ż","&zeetrf;":"ℨ","&zeta;":"ζ","&zfr;":"𝔷","&zhcy;":"ж","&zigrarr;":"⇝","&zopf;":"𝕫","&zscr;":"𝓏","&zwj;":"‍","&zwnj;":"‌"};function er(o){return o.replace(/&(#\d+|#x[a-f0-9]+|[a-z]+\d*);?/gi,(e,r)=>{if(typeof ht[e]=="string")return ht[e];if(r.charAt(0)!=="#"||e.charAt(e.length-1)!==";")return e;let u;r.charAt(1)==="x"?u=parseInt(r.substr(2),16):u=parseInt(r.substr(1),10);var a="";return u>=55296&&u<=57343||u>1114111?"�":(u>65535&&(u-=65536,a+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),a+=String.fromCharCode(u),a)})}function ae(o){return o.trim().replace(/[<>"'?&]/g,e=>{let r=e.charCodeAt(0).toString(16);return r.length<2&&(r="0"+r),"&#x"+r.toUpperCase()+";"})}function tr(o){return"<div>"+ae(o).replace(/\n/g,"<br />")+"</div>"}function rr(o){return o=o.replace(/\r?\n/g,"").replace(/<\!\-\-.*?\-\->/gi," ").replace(/<br\b[^>]*>/gi,`
1
+ "use strict";var Mt=Object.defineProperty;var zt=(o,e,r)=>e in o?Mt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[e]=r;var ye=(o,e,r)=>zt(o,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react");class Gt{constructor(e){ye(this,"config");ye(this,"defaultUploadOptions",{maxSizeMB:10,maxImageDimension:0,imageQuality:.9});if(!e.system_id)throw new Error("GraphClient: system_id is REQUIRED. No system_id → No start.");this.config=e}async callGraph(e,r={}){const u={coprocessor:"graph",method:e,system_id:this.config.system_id,params:r};try{const s=await fetch(`${this.config.baseUrl}/spu/invoke`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.getToken()}`},body:JSON.stringify(u)});if(!s.ok){const t=await s.text();throw new Error(`API error (${s.status}): ${t}`)}const n=await s.json();if(!n.success&&n.error)throw new Error(n.error);return n}catch(s){throw console.error("Graph API call failed:",s),s}}getToken(){return typeof window<"u"&&window.localStorage&&localStorage.getItem("qwanyx_token")||""}async getChildren(e){return(await this.callGraph("get_children",{parent_id:e})).result||[]}async getNode(e){return(await this.callGraph("get_node",{node_id:e})).result||null}async addNode(e){const r={...e,created:e.created||new Date().toISOString(),modified:new Date().toISOString()},u=await this.callGraph("add_node",r);if(!u.result)throw new Error("Failed to add node");return u.result}async updateNode(e,r){const u={node_id:e,updates:{...r,modified:new Date().toISOString()}},s=await this.callGraph("update_node",u);if(!s.result)throw new Error("Failed to update node");return s.result}async deleteNode(e,r=!1){return(await this.callGraph("delete_node",{node_id:e,cascade:r})).success===!0}async getChildrenWithEdges(e,r="children",u,s){return(await this.callGraph("get_children_with_edges",{node_id:e,display_mode:r,edge_type:u,node_type:s})).result||[]}async addEdge(e,r,u="link",s){return await this.callGraph("add_edge",{source_id:e,target_id:r,edge_type:u,data:s})}async deleteEdge(e,r,u){return await this.callGraph("delete_edge",{source_id:e,target_id:r,edge_type:u})}async getEdges(e,r,u){return(await this.callGraph("get_edges",{source_id:e,edge_type:r,target_id:u})).result||[]}async getAncestors(e){return(await this.callGraph("get_ancestors",{node_id:e})).ancestors||[]}async getTree(e,r=10){return(await this.callGraph("get_tree",{root_id:e,max_depth:r})).tree||[]}async moveNode(e,r){const u=await this.callGraph("move",{node_id:e,new_parent_id:r});if(!u.node)throw new Error("Failed to move node");return u.node}async searchNodes(e,r){return(await this.callGraph("search",{query:e,type:r})).nodes||[]}async getNodesByType(e){return(await this.callGraph("get_nodes_by_type",{type:e})).result||[]}fileToBase64(e){return new Promise((r,u)=>{const s=new FileReader;s.onload=()=>{const t=s.result.split(",")[1];r(t)},s.onerror=()=>u(new Error("Failed to read file")),s.readAsDataURL(e)})}async resizeImage(e,r,u){return e.type.startsWith("image/")?new Promise(s=>{const n=new Image,t=URL.createObjectURL(e);n.onload=()=>{if(URL.revokeObjectURL(t),n.width<=r&&n.height<=r){s(e);return}let i,l;n.width>n.height?(i=r,l=Math.round(n.height/n.width*r)):(l=r,i=Math.round(n.width/n.height*r));const c=document.createElement("canvas");c.width=i,c.height=l;const d=c.getContext("2d");if(!d){s(e);return}d.drawImage(n,0,0,i,l);const p=e.type==="image/png"?"image/png":"image/jpeg";c.toBlob(m=>{if(m){const D=new File([m],e.name,{type:p});s(D)}else s(e)},p,u)},n.onerror=()=>{URL.revokeObjectURL(t),s(e)},n.src=t}):e}async uploadFile(e,r,u,s={}){const n={...this.defaultUploadOptions,...s};try{let t=u;n.maxImageDimension>0&&u.type.startsWith("image/")&&(t=await this.resizeImage(u,n.maxImageDimension,n.imageQuality));const i=n.maxSizeMB*1024*1024;if(t.size>i)return{success:!1,error:`File too large (${(t.size/1024/1024).toFixed(1)} MB). Max: ${n.maxSizeMB} MB`};const l=await this.fileToBase64(t),c=await this.callGraph("upload_file",{node_id:e,filename:r,content:l});return c.success?{success:!0,path:c.path}:{success:!1,error:c.error||"Upload failed"}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Upload failed"}}}async listFiles(e){var s;return(((s=(await this.callGraph("list_files",{node_id:e})).result)==null?void 0:s.files)||[]).map(n=>({filename:n.name,path:n.path}))}async deleteFile(e,r){return{success:(await this.callGraph("delete_file",{node_id:e,filename:r})).success||!1}}getFileUrl(e,r){return`${this.config.baseUrl}/files/${this.config.system_id}/${e}/${r}`}}const fe=new TextEncoder,ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ee=new Uint8Array(256);for(var qe=0;qe<ct.length;qe++)Ee[ct.charCodeAt(qe)]=qe;function et(o){let e=Math.ceil(o.length/4)*3;const r=o.length;let u=0;o.length%4===3?e--:o.length%4===2?e-=2:o[o.length-1]==="="&&(e--,o[o.length-2]==="="&&e--);const s=new ArrayBuffer(e),n=new Uint8Array(s);for(let t=0;t<r;t+=4){let i=Ee[o.charCodeAt(t)],l=Ee[o.charCodeAt(t+1)],c=Ee[o.charCodeAt(t+2)],d=Ee[o.charCodeAt(t+3)];n[u++]=i<<2|l>>4,n[u++]=(l&15)<<4|c>>2,n[u++]=(c&3)<<6|d&63}return s}function we(o){o=o||"utf8";let e;try{e=new TextDecoder(o)}catch{e=new TextDecoder("windows-1252")}return e}async function Oe(o){if("arrayBuffer"in o)return await o.arrayBuffer();const e=new FileReader;return new Promise((r,u)=>{e.onload=function(s){r(s.target.result)},e.onerror=function(s){u(e.error)},e.readAsArrayBuffer(o)})}function dt(o){return o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70?String.fromCharCode(o):!1}function Ht(o,e,r){let u=o.indexOf("*");u>=0&&(o=o.substr(0,u)),e=e.toUpperCase();let s;if(e==="Q"){r=r.replace(/=\s+([0-9a-fA-F])/g,"=$1").replace(/[_\s]/g," ");let n=fe.encode(r),t=[];for(let l=0,c=n.length;l<c;l++){let d=n[l];if(l<=c-2&&d===61){let p=dt(n[l+1]),m=dt(n[l+2]);if(p&&m){let D=parseInt(p+m,16);t.push(D),l+=2;continue}}t.push(d)}s=new ArrayBuffer(t.length);let i=new DataView(s);for(let l=0,c=t.length;l<c;l++)i.setUint8(l,t[l])}else e==="B"?s=et(r.replace(/[^a-zA-Z0-9\+\/=]+/g,"")):s=fe.encode(r);return we(o).decode(s)}function Ce(o){let e=!0;for(;;){let r=(o||"").toString().replace(/(=\?([^?]+)\?[Bb]\?([^?]*)\?=)\s*(?==\?([^?]+)\?[Bb]\?[^?]*\?=)/g,(u,s,n,t,i)=>e&&n===i&&t.length%4===0&&!/=$/.test(t)?s+"__\0JOIN\0__":u).replace(/(=\?([^?]+)\?[Qq]\?[^?]*\?=)\s*(?==\?([^?]+)\?[Qq]\?[^?]*\?=)/g,(u,s,n,t)=>e&&n===t?s+"__\0JOIN\0__":u).replace(/(\?=)?__\x00JOIN\x00__(=\?([^?]+)\?[QqBb]\?)?/g,"").replace(/(=\?[^?]+\?[QqBb]\?[^?]*\?=)\s+(?==\?[^?]+\?[QqBb]\?[^?]*\?=)/g,"$1").replace(/=\?([\w_\-*]+)\?([QqBb])\?([^?]*)\?=/g,(u,s,n,t)=>Ht(s,n,t));if(e&&r.indexOf("�")>=0)e=!1;else return r}}function Vt(o,e){e=e||"utf-8";let r=[];for(let n=0;n<o.length;n++){let t=o.charAt(n);if(t==="%"&&/^[a-f0-9]{2}/i.test(o.substr(n+1,2))){let i=o.substr(n+1,2);n+=2,r.push(parseInt(i,16))}else if(t.charCodeAt(0)>126){t=fe.encode(t);for(let i=0;i<t.length;i++)r.push(t[i])}else r.push(t.charCodeAt(0))}const u=new ArrayBuffer(r.length),s=new DataView(u);for(let n=0,t=r.length;n<t;n++)s.setUint8(n,r[n]);return we(e).decode(u)}function Wt(o){let e=new Map;Object.keys(o.params).forEach(r=>{let u=r.match(/\*((\d+)\*?)?$/);if(!u)return;let s=r.substr(0,u.index).toLowerCase(),n=Number(u[2])||0,t;e.has(s)?t=e.get(s):(t={charset:!1,values:[]},e.set(s,t));let i=o.params[r];n===0&&u[0].charAt(u[0].length-1)==="*"&&(u=i.match(/^([^']*)'[^']*'(.*)$/))&&(t.charset=u[1]||"utf-8",i=u[2]),t.values.push({nr:n,value:i}),delete o.params[r]}),e.forEach((r,u)=>{o.params[u]=Vt(r.values.sort((s,n)=>s.nr-n.nr).map(s=>s.value).join(""),r.charset)})}class Qt{constructor(){this.chunks=[]}update(e){this.chunks.push(e),this.chunks.push(`
2
+ `)}finalize(){return Oe(new Blob(this.chunks,{type:"application/octet-stream"}))}}class Yt{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.chunks=[],this.remainder=""}update(e){let r=this.decoder.decode(e);if(/[^a-zA-Z0-9+\/]/.test(r)&&(r=r.replace(/[^a-zA-Z0-9+\/]+/g,"")),this.remainder+=r,this.remainder.length>=this.maxChunkSize){let u=Math.floor(this.remainder.length/4)*4,s;u===this.remainder.length?(s=this.remainder,this.remainder=""):(s=this.remainder.substr(0,u),this.remainder=this.remainder.substr(u)),s.length&&this.chunks.push(et(s))}}finalize(){return this.remainder&&!/^=+$/.test(this.remainder)&&this.chunks.push(et(this.remainder)),Oe(new Blob(this.chunks,{type:"application/octet-stream"}))}}const ft=/^=[a-f0-9]{2}$/i,Jt=/(?==[a-f0-9]{2})/i,Kt=/=\r?\n/g,Xt=/=[a-fA-F0-9]?$/;class Zt{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.remainder="",this.chunks=[]}decodeQPBytes(e){let r=new ArrayBuffer(e.length),u=new DataView(r);for(let s=0,n=e.length;s<n;s++)u.setUint8(s,parseInt(e[s],16));return r}decodeChunks(e){e=e.replace(Kt,"");let r=e.split(Jt),u=[];for(let s of r){if(s.charAt(0)!=="="){u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[]),this.chunks.push(s);continue}if(s.length===3){ft.test(s)?u.push(s.substr(1)):(u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[]),this.chunks.push(s));continue}if(s.length>3){const n=s.substr(0,3);ft.test(n)?(u.push(s.substr(1,2)),this.chunks.push(this.decodeQPBytes(u)),u=[],s=s.substr(3),this.chunks.push(s)):(u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[]),this.chunks.push(s))}}u.length&&(this.chunks.push(this.decodeQPBytes(u)),u=[])}update(e){let r=this.decoder.decode(e)+`
3
+ `;if(r=this.remainder+r,r.length<this.maxChunkSize){this.remainder=r;return}this.remainder="";let u=r.match(Xt);if(u){if(u.index===0){this.remainder=r;return}this.remainder=r.substr(u.index),r=r.substr(0,u.index)}this.decodeChunks(r)}finalize(){return this.remainder.length&&(this.decodeChunks(this.remainder),this.remainder=""),Oe(new Blob(this.chunks,{type:"application/octet-stream"}))}}class pt{constructor(e){if(this.options=e||{},this.postalMime=this.options.postalMime,this.root=!!this.options.parentNode,this.childNodes=[],this.options.parentNode){if(this.parentNode=this.options.parentNode,this.depth=this.parentNode.depth+1,this.depth>this.options.maxNestingDepth)throw new Error(`Maximum MIME nesting depth of ${this.options.maxNestingDepth} levels exceeded`);this.options.parentNode.childNodes.push(this)}else this.depth=0;this.state="header",this.headerLines=[],this.headerSize=0,this.contentType={value:"text/plain",default:!0},this.contentTransferEncoding={value:"8bit"},this.contentDisposition={value:""},this.headers=[],this.contentDecoder=!1}setupContentDecoder(e){/base64/i.test(e)?this.contentDecoder=new Yt:/quoted-printable/i.test(e)?this.contentDecoder=new Zt({decoder:we(this.contentType.parsed.params.charset)}):this.contentDecoder=new Qt}async finalize(){if(this.state==="finished")return;this.state==="header"&&this.processHeaders();let e=this.postalMime.boundaries;for(let r=e.length-1;r>=0;r--)if(e[r].node===this){e.splice(r,1);break}await this.finalizeChildNodes(),this.content=this.contentDecoder?await this.contentDecoder.finalize():null,this.state="finished"}async finalizeChildNodes(){for(let e of this.childNodes)await e.finalize()}parseStructuredHeader(e){let r={value:!1,params:{}},u=!1,s="",n="value",t=!1,i=!1,l;for(let c=0,d=e.length;c<d;c++)switch(l=e.charAt(c),n){case"key":if(l==="="){u=s.trim().toLowerCase(),n="value",s="";break}s+=l;break;case"value":if(i)s+=l;else if(l==="\\"){i=!0;continue}else t&&l===t?t=!1:!t&&l==='"'?t=l:!t&&l===";"?(u===!1?r.value=s.trim():r.params[u]=s.trim(),n="key",s=""):s+=l;i=!1;break}return s=s.trim(),n==="value"?u===!1?r.value=s:r.params[u]=s:s&&(r.params[s.toLowerCase()]=""),r.value&&(r.value=r.value.toLowerCase()),Wt(r),r}decodeFlowedText(e,r){return e.split(/\r?\n/).reduce((u,s)=>/ $/.test(u)&&!/(^|\n)-- $/.test(u)?r?u.slice(0,-1)+s:u+s:u+`
4
+ `+s).replace(/^ /gm,"")}getTextContent(){if(!this.content)return"";let e=we(this.contentType.parsed.params.charset).decode(this.content);return/^flowed$/i.test(this.contentType.parsed.params.format)&&(e=this.decodeFlowedText(e,/^yes$/i.test(this.contentType.parsed.params.delsp))),e}processHeaders(){for(let e=this.headerLines.length-1;e>=0;e--){let r=this.headerLines[e];if(e&&/^\s/.test(r))this.headerLines[e-1]+=`
5
+ `+r,this.headerLines.splice(e,1);else{r=r.replace(/\s+/g," ");let u=r.indexOf(":"),s=u<0?r.trim():r.substr(0,u).trim(),n=u<0?"":r.substr(u+1).trim();switch(this.headers.push({key:s.toLowerCase(),originalKey:s,value:n}),s.toLowerCase()){case"content-type":this.contentType.default&&(this.contentType={value:n,parsed:{}});break;case"content-transfer-encoding":this.contentTransferEncoding={value:n,parsed:{}};break;case"content-disposition":this.contentDisposition={value:n,parsed:{}};break;case"content-id":this.contentId=n;break;case"content-description":this.contentDescription=n;break}}}this.contentType.parsed=this.parseStructuredHeader(this.contentType.value),this.contentType.multipart=/^multipart\//i.test(this.contentType.parsed.value)?this.contentType.parsed.value.substr(this.contentType.parsed.value.indexOf("/")+1):!1,this.contentType.multipart&&this.contentType.parsed.params.boundary&&this.postalMime.boundaries.push({value:fe.encode(this.contentType.parsed.params.boundary),node:this}),this.contentDisposition.parsed=this.parseStructuredHeader(this.contentDisposition.value),this.contentTransferEncoding.encoding=this.contentTransferEncoding.value.toLowerCase().split(/[^\w-]/).shift(),this.setupContentDecoder(this.contentTransferEncoding.encoding)}feed(e){switch(this.state){case"header":if(!e.length)return this.state="body",this.processHeaders();if(this.headerSize+=e.length,this.headerSize>this.options.maxHeadersSize)throw new Error(`Maximum header size of ${this.options.maxHeadersSize} bytes exceeded`);this.headerLines.push(we().decode(e));break;case"body":this.contentDecoder.update(e)}}}const ht={"&AElig":"Æ","&AElig;":"Æ","&AMP":"&","&AMP;":"&","&Aacute":"Á","&Aacute;":"Á","&Abreve;":"Ă","&Acirc":"Â","&Acirc;":"Â","&Acy;":"А","&Afr;":"𝔄","&Agrave":"À","&Agrave;":"À","&Alpha;":"Α","&Amacr;":"Ā","&And;":"⩓","&Aogon;":"Ą","&Aopf;":"𝔸","&ApplyFunction;":"⁡","&Aring":"Å","&Aring;":"Å","&Ascr;":"𝒜","&Assign;":"≔","&Atilde":"Ã","&Atilde;":"Ã","&Auml":"Ä","&Auml;":"Ä","&Backslash;":"∖","&Barv;":"⫧","&Barwed;":"⌆","&Bcy;":"Б","&Because;":"∵","&Bernoullis;":"ℬ","&Beta;":"Β","&Bfr;":"𝔅","&Bopf;":"𝔹","&Breve;":"˘","&Bscr;":"ℬ","&Bumpeq;":"≎","&CHcy;":"Ч","&COPY":"©","&COPY;":"©","&Cacute;":"Ć","&Cap;":"⋒","&CapitalDifferentialD;":"ⅅ","&Cayleys;":"ℭ","&Ccaron;":"Č","&Ccedil":"Ç","&Ccedil;":"Ç","&Ccirc;":"Ĉ","&Cconint;":"∰","&Cdot;":"Ċ","&Cedilla;":"¸","&CenterDot;":"·","&Cfr;":"ℭ","&Chi;":"Χ","&CircleDot;":"⊙","&CircleMinus;":"⊖","&CirclePlus;":"⊕","&CircleTimes;":"⊗","&ClockwiseContourIntegral;":"∲","&CloseCurlyDoubleQuote;":"”","&CloseCurlyQuote;":"’","&Colon;":"∷","&Colone;":"⩴","&Congruent;":"≡","&Conint;":"∯","&ContourIntegral;":"∮","&Copf;":"ℂ","&Coproduct;":"∐","&CounterClockwiseContourIntegral;":"∳","&Cross;":"⨯","&Cscr;":"𝒞","&Cup;":"⋓","&CupCap;":"≍","&DD;":"ⅅ","&DDotrahd;":"⤑","&DJcy;":"Ђ","&DScy;":"Ѕ","&DZcy;":"Џ","&Dagger;":"‡","&Darr;":"↡","&Dashv;":"⫤","&Dcaron;":"Ď","&Dcy;":"Д","&Del;":"∇","&Delta;":"Δ","&Dfr;":"𝔇","&DiacriticalAcute;":"´","&DiacriticalDot;":"˙","&DiacriticalDoubleAcute;":"˝","&DiacriticalGrave;":"`","&DiacriticalTilde;":"˜","&Diamond;":"⋄","&DifferentialD;":"ⅆ","&Dopf;":"𝔻","&Dot;":"¨","&DotDot;":"⃜","&DotEqual;":"≐","&DoubleContourIntegral;":"∯","&DoubleDot;":"¨","&DoubleDownArrow;":"⇓","&DoubleLeftArrow;":"⇐","&DoubleLeftRightArrow;":"⇔","&DoubleLeftTee;":"⫤","&DoubleLongLeftArrow;":"⟸","&DoubleLongLeftRightArrow;":"⟺","&DoubleLongRightArrow;":"⟹","&DoubleRightArrow;":"⇒","&DoubleRightTee;":"⊨","&DoubleUpArrow;":"⇑","&DoubleUpDownArrow;":"⇕","&DoubleVerticalBar;":"∥","&DownArrow;":"↓","&DownArrowBar;":"⤓","&DownArrowUpArrow;":"⇵","&DownBreve;":"̑","&DownLeftRightVector;":"⥐","&DownLeftTeeVector;":"⥞","&DownLeftVector;":"↽","&DownLeftVectorBar;":"⥖","&DownRightTeeVector;":"⥟","&DownRightVector;":"⇁","&DownRightVectorBar;":"⥗","&DownTee;":"⊤","&DownTeeArrow;":"↧","&Downarrow;":"⇓","&Dscr;":"𝒟","&Dstrok;":"Đ","&ENG;":"Ŋ","&ETH":"Ð","&ETH;":"Ð","&Eacute":"É","&Eacute;":"É","&Ecaron;":"Ě","&Ecirc":"Ê","&Ecirc;":"Ê","&Ecy;":"Э","&Edot;":"Ė","&Efr;":"𝔈","&Egrave":"È","&Egrave;":"È","&Element;":"∈","&Emacr;":"Ē","&EmptySmallSquare;":"◻","&EmptyVerySmallSquare;":"▫","&Eogon;":"Ę","&Eopf;":"𝔼","&Epsilon;":"Ε","&Equal;":"⩵","&EqualTilde;":"≂","&Equilibrium;":"⇌","&Escr;":"ℰ","&Esim;":"⩳","&Eta;":"Η","&Euml":"Ë","&Euml;":"Ë","&Exists;":"∃","&ExponentialE;":"ⅇ","&Fcy;":"Ф","&Ffr;":"𝔉","&FilledSmallSquare;":"◼","&FilledVerySmallSquare;":"▪","&Fopf;":"𝔽","&ForAll;":"∀","&Fouriertrf;":"ℱ","&Fscr;":"ℱ","&GJcy;":"Ѓ","&GT":">","&GT;":">","&Gamma;":"Γ","&Gammad;":"Ϝ","&Gbreve;":"Ğ","&Gcedil;":"Ģ","&Gcirc;":"Ĝ","&Gcy;":"Г","&Gdot;":"Ġ","&Gfr;":"𝔊","&Gg;":"⋙","&Gopf;":"𝔾","&GreaterEqual;":"≥","&GreaterEqualLess;":"⋛","&GreaterFullEqual;":"≧","&GreaterGreater;":"⪢","&GreaterLess;":"≷","&GreaterSlantEqual;":"⩾","&GreaterTilde;":"≳","&Gscr;":"𝒢","&Gt;":"≫","&HARDcy;":"Ъ","&Hacek;":"ˇ","&Hat;":"^","&Hcirc;":"Ĥ","&Hfr;":"ℌ","&HilbertSpace;":"ℋ","&Hopf;":"ℍ","&HorizontalLine;":"─","&Hscr;":"ℋ","&Hstrok;":"Ħ","&HumpDownHump;":"≎","&HumpEqual;":"≏","&IEcy;":"Е","&IJlig;":"IJ","&IOcy;":"Ё","&Iacute":"Í","&Iacute;":"Í","&Icirc":"Î","&Icirc;":"Î","&Icy;":"И","&Idot;":"İ","&Ifr;":"ℑ","&Igrave":"Ì","&Igrave;":"Ì","&Im;":"ℑ","&Imacr;":"Ī","&ImaginaryI;":"ⅈ","&Implies;":"⇒","&Int;":"∬","&Integral;":"∫","&Intersection;":"⋂","&InvisibleComma;":"⁣","&InvisibleTimes;":"⁢","&Iogon;":"Į","&Iopf;":"𝕀","&Iota;":"Ι","&Iscr;":"ℐ","&Itilde;":"Ĩ","&Iukcy;":"І","&Iuml":"Ï","&Iuml;":"Ï","&Jcirc;":"Ĵ","&Jcy;":"Й","&Jfr;":"𝔍","&Jopf;":"𝕁","&Jscr;":"𝒥","&Jsercy;":"Ј","&Jukcy;":"Є","&KHcy;":"Х","&KJcy;":"Ќ","&Kappa;":"Κ","&Kcedil;":"Ķ","&Kcy;":"К","&Kfr;":"𝔎","&Kopf;":"𝕂","&Kscr;":"𝒦","&LJcy;":"Љ","&LT":"<","&LT;":"<","&Lacute;":"Ĺ","&Lambda;":"Λ","&Lang;":"⟪","&Laplacetrf;":"ℒ","&Larr;":"↞","&Lcaron;":"Ľ","&Lcedil;":"Ļ","&Lcy;":"Л","&LeftAngleBracket;":"⟨","&LeftArrow;":"←","&LeftArrowBar;":"⇤","&LeftArrowRightArrow;":"⇆","&LeftCeiling;":"⌈","&LeftDoubleBracket;":"⟦","&LeftDownTeeVector;":"⥡","&LeftDownVector;":"⇃","&LeftDownVectorBar;":"⥙","&LeftFloor;":"⌊","&LeftRightArrow;":"↔","&LeftRightVector;":"⥎","&LeftTee;":"⊣","&LeftTeeArrow;":"↤","&LeftTeeVector;":"⥚","&LeftTriangle;":"⊲","&LeftTriangleBar;":"⧏","&LeftTriangleEqual;":"⊴","&LeftUpDownVector;":"⥑","&LeftUpTeeVector;":"⥠","&LeftUpVector;":"↿","&LeftUpVectorBar;":"⥘","&LeftVector;":"↼","&LeftVectorBar;":"⥒","&Leftarrow;":"⇐","&Leftrightarrow;":"⇔","&LessEqualGreater;":"⋚","&LessFullEqual;":"≦","&LessGreater;":"≶","&LessLess;":"⪡","&LessSlantEqual;":"⩽","&LessTilde;":"≲","&Lfr;":"𝔏","&Ll;":"⋘","&Lleftarrow;":"⇚","&Lmidot;":"Ŀ","&LongLeftArrow;":"⟵","&LongLeftRightArrow;":"⟷","&LongRightArrow;":"⟶","&Longleftarrow;":"⟸","&Longleftrightarrow;":"⟺","&Longrightarrow;":"⟹","&Lopf;":"𝕃","&LowerLeftArrow;":"↙","&LowerRightArrow;":"↘","&Lscr;":"ℒ","&Lsh;":"↰","&Lstrok;":"Ł","&Lt;":"≪","&Map;":"⤅","&Mcy;":"М","&MediumSpace;":" ","&Mellintrf;":"ℳ","&Mfr;":"𝔐","&MinusPlus;":"∓","&Mopf;":"𝕄","&Mscr;":"ℳ","&Mu;":"Μ","&NJcy;":"Њ","&Nacute;":"Ń","&Ncaron;":"Ň","&Ncedil;":"Ņ","&Ncy;":"Н","&NegativeMediumSpace;":"​","&NegativeThickSpace;":"​","&NegativeThinSpace;":"​","&NegativeVeryThinSpace;":"​","&NestedGreaterGreater;":"≫","&NestedLessLess;":"≪","&NewLine;":`
6
+ `,"&Nfr;":"𝔑","&NoBreak;":"⁠","&NonBreakingSpace;":" ","&Nopf;":"ℕ","&Not;":"⫬","&NotCongruent;":"≢","&NotCupCap;":"≭","&NotDoubleVerticalBar;":"∦","&NotElement;":"∉","&NotEqual;":"≠","&NotEqualTilde;":"≂̸","&NotExists;":"∄","&NotGreater;":"≯","&NotGreaterEqual;":"≱","&NotGreaterFullEqual;":"≧̸","&NotGreaterGreater;":"≫̸","&NotGreaterLess;":"≹","&NotGreaterSlantEqual;":"⩾̸","&NotGreaterTilde;":"≵","&NotHumpDownHump;":"≎̸","&NotHumpEqual;":"≏̸","&NotLeftTriangle;":"⋪","&NotLeftTriangleBar;":"⧏̸","&NotLeftTriangleEqual;":"⋬","&NotLess;":"≮","&NotLessEqual;":"≰","&NotLessGreater;":"≸","&NotLessLess;":"≪̸","&NotLessSlantEqual;":"⩽̸","&NotLessTilde;":"≴","&NotNestedGreaterGreater;":"⪢̸","&NotNestedLessLess;":"⪡̸","&NotPrecedes;":"⊀","&NotPrecedesEqual;":"⪯̸","&NotPrecedesSlantEqual;":"⋠","&NotReverseElement;":"∌","&NotRightTriangle;":"⋫","&NotRightTriangleBar;":"⧐̸","&NotRightTriangleEqual;":"⋭","&NotSquareSubset;":"⊏̸","&NotSquareSubsetEqual;":"⋢","&NotSquareSuperset;":"⊐̸","&NotSquareSupersetEqual;":"⋣","&NotSubset;":"⊂⃒","&NotSubsetEqual;":"⊈","&NotSucceeds;":"⊁","&NotSucceedsEqual;":"⪰̸","&NotSucceedsSlantEqual;":"⋡","&NotSucceedsTilde;":"≿̸","&NotSuperset;":"⊃⃒","&NotSupersetEqual;":"⊉","&NotTilde;":"≁","&NotTildeEqual;":"≄","&NotTildeFullEqual;":"≇","&NotTildeTilde;":"≉","&NotVerticalBar;":"∤","&Nscr;":"𝒩","&Ntilde":"Ñ","&Ntilde;":"Ñ","&Nu;":"Ν","&OElig;":"Œ","&Oacute":"Ó","&Oacute;":"Ó","&Ocirc":"Ô","&Ocirc;":"Ô","&Ocy;":"О","&Odblac;":"Ő","&Ofr;":"𝔒","&Ograve":"Ò","&Ograve;":"Ò","&Omacr;":"Ō","&Omega;":"Ω","&Omicron;":"Ο","&Oopf;":"𝕆","&OpenCurlyDoubleQuote;":"“","&OpenCurlyQuote;":"‘","&Or;":"⩔","&Oscr;":"𝒪","&Oslash":"Ø","&Oslash;":"Ø","&Otilde":"Õ","&Otilde;":"Õ","&Otimes;":"⨷","&Ouml":"Ö","&Ouml;":"Ö","&OverBar;":"‾","&OverBrace;":"⏞","&OverBracket;":"⎴","&OverParenthesis;":"⏜","&PartialD;":"∂","&Pcy;":"П","&Pfr;":"𝔓","&Phi;":"Φ","&Pi;":"Π","&PlusMinus;":"±","&Poincareplane;":"ℌ","&Popf;":"ℙ","&Pr;":"⪻","&Precedes;":"≺","&PrecedesEqual;":"⪯","&PrecedesSlantEqual;":"≼","&PrecedesTilde;":"≾","&Prime;":"″","&Product;":"∏","&Proportion;":"∷","&Proportional;":"∝","&Pscr;":"𝒫","&Psi;":"Ψ","&QUOT":'"',"&QUOT;":'"',"&Qfr;":"𝔔","&Qopf;":"ℚ","&Qscr;":"𝒬","&RBarr;":"⤐","&REG":"®","&REG;":"®","&Racute;":"Ŕ","&Rang;":"⟫","&Rarr;":"↠","&Rarrtl;":"⤖","&Rcaron;":"Ř","&Rcedil;":"Ŗ","&Rcy;":"Р","&Re;":"ℜ","&ReverseElement;":"∋","&ReverseEquilibrium;":"⇋","&ReverseUpEquilibrium;":"⥯","&Rfr;":"ℜ","&Rho;":"Ρ","&RightAngleBracket;":"⟩","&RightArrow;":"→","&RightArrowBar;":"⇥","&RightArrowLeftArrow;":"⇄","&RightCeiling;":"⌉","&RightDoubleBracket;":"⟧","&RightDownTeeVector;":"⥝","&RightDownVector;":"⇂","&RightDownVectorBar;":"⥕","&RightFloor;":"⌋","&RightTee;":"⊢","&RightTeeArrow;":"↦","&RightTeeVector;":"⥛","&RightTriangle;":"⊳","&RightTriangleBar;":"⧐","&RightTriangleEqual;":"⊵","&RightUpDownVector;":"⥏","&RightUpTeeVector;":"⥜","&RightUpVector;":"↾","&RightUpVectorBar;":"⥔","&RightVector;":"⇀","&RightVectorBar;":"⥓","&Rightarrow;":"⇒","&Ropf;":"ℝ","&RoundImplies;":"⥰","&Rrightarrow;":"⇛","&Rscr;":"ℛ","&Rsh;":"↱","&RuleDelayed;":"⧴","&SHCHcy;":"Щ","&SHcy;":"Ш","&SOFTcy;":"Ь","&Sacute;":"Ś","&Sc;":"⪼","&Scaron;":"Š","&Scedil;":"Ş","&Scirc;":"Ŝ","&Scy;":"С","&Sfr;":"𝔖","&ShortDownArrow;":"↓","&ShortLeftArrow;":"←","&ShortRightArrow;":"→","&ShortUpArrow;":"↑","&Sigma;":"Σ","&SmallCircle;":"∘","&Sopf;":"𝕊","&Sqrt;":"√","&Square;":"□","&SquareIntersection;":"⊓","&SquareSubset;":"⊏","&SquareSubsetEqual;":"⊑","&SquareSuperset;":"⊐","&SquareSupersetEqual;":"⊒","&SquareUnion;":"⊔","&Sscr;":"𝒮","&Star;":"⋆","&Sub;":"⋐","&Subset;":"⋐","&SubsetEqual;":"⊆","&Succeeds;":"≻","&SucceedsEqual;":"⪰","&SucceedsSlantEqual;":"≽","&SucceedsTilde;":"≿","&SuchThat;":"∋","&Sum;":"∑","&Sup;":"⋑","&Superset;":"⊃","&SupersetEqual;":"⊇","&Supset;":"⋑","&THORN":"Þ","&THORN;":"Þ","&TRADE;":"™","&TSHcy;":"Ћ","&TScy;":"Ц","&Tab;":" ","&Tau;":"Τ","&Tcaron;":"Ť","&Tcedil;":"Ţ","&Tcy;":"Т","&Tfr;":"𝔗","&Therefore;":"∴","&Theta;":"Θ","&ThickSpace;":"  ","&ThinSpace;":" ","&Tilde;":"∼","&TildeEqual;":"≃","&TildeFullEqual;":"≅","&TildeTilde;":"≈","&Topf;":"𝕋","&TripleDot;":"⃛","&Tscr;":"𝒯","&Tstrok;":"Ŧ","&Uacute":"Ú","&Uacute;":"Ú","&Uarr;":"↟","&Uarrocir;":"⥉","&Ubrcy;":"Ў","&Ubreve;":"Ŭ","&Ucirc":"Û","&Ucirc;":"Û","&Ucy;":"У","&Udblac;":"Ű","&Ufr;":"𝔘","&Ugrave":"Ù","&Ugrave;":"Ù","&Umacr;":"Ū","&UnderBar;":"_","&UnderBrace;":"⏟","&UnderBracket;":"⎵","&UnderParenthesis;":"⏝","&Union;":"⋃","&UnionPlus;":"⊎","&Uogon;":"Ų","&Uopf;":"𝕌","&UpArrow;":"↑","&UpArrowBar;":"⤒","&UpArrowDownArrow;":"⇅","&UpDownArrow;":"↕","&UpEquilibrium;":"⥮","&UpTee;":"⊥","&UpTeeArrow;":"↥","&Uparrow;":"⇑","&Updownarrow;":"⇕","&UpperLeftArrow;":"↖","&UpperRightArrow;":"↗","&Upsi;":"ϒ","&Upsilon;":"Υ","&Uring;":"Ů","&Uscr;":"𝒰","&Utilde;":"Ũ","&Uuml":"Ü","&Uuml;":"Ü","&VDash;":"⊫","&Vbar;":"⫫","&Vcy;":"В","&Vdash;":"⊩","&Vdashl;":"⫦","&Vee;":"⋁","&Verbar;":"‖","&Vert;":"‖","&VerticalBar;":"∣","&VerticalLine;":"|","&VerticalSeparator;":"❘","&VerticalTilde;":"≀","&VeryThinSpace;":" ","&Vfr;":"𝔙","&Vopf;":"𝕍","&Vscr;":"𝒱","&Vvdash;":"⊪","&Wcirc;":"Ŵ","&Wedge;":"⋀","&Wfr;":"𝔚","&Wopf;":"𝕎","&Wscr;":"𝒲","&Xfr;":"𝔛","&Xi;":"Ξ","&Xopf;":"𝕏","&Xscr;":"𝒳","&YAcy;":"Я","&YIcy;":"Ї","&YUcy;":"Ю","&Yacute":"Ý","&Yacute;":"Ý","&Ycirc;":"Ŷ","&Ycy;":"Ы","&Yfr;":"𝔜","&Yopf;":"𝕐","&Yscr;":"𝒴","&Yuml;":"Ÿ","&ZHcy;":"Ж","&Zacute;":"Ź","&Zcaron;":"Ž","&Zcy;":"З","&Zdot;":"Ż","&ZeroWidthSpace;":"​","&Zeta;":"Ζ","&Zfr;":"ℨ","&Zopf;":"ℤ","&Zscr;":"𝒵","&aacute":"á","&aacute;":"á","&abreve;":"ă","&ac;":"∾","&acE;":"∾̳","&acd;":"∿","&acirc":"â","&acirc;":"â","&acute":"´","&acute;":"´","&acy;":"а","&aelig":"æ","&aelig;":"æ","&af;":"⁡","&afr;":"𝔞","&agrave":"à","&agrave;":"à","&alefsym;":"ℵ","&aleph;":"ℵ","&alpha;":"α","&amacr;":"ā","&amalg;":"⨿","&amp":"&","&amp;":"&","&and;":"∧","&andand;":"⩕","&andd;":"⩜","&andslope;":"⩘","&andv;":"⩚","&ang;":"∠","&ange;":"⦤","&angle;":"∠","&angmsd;":"∡","&angmsdaa;":"⦨","&angmsdab;":"⦩","&angmsdac;":"⦪","&angmsdad;":"⦫","&angmsdae;":"⦬","&angmsdaf;":"⦭","&angmsdag;":"⦮","&angmsdah;":"⦯","&angrt;":"∟","&angrtvb;":"⊾","&angrtvbd;":"⦝","&angsph;":"∢","&angst;":"Å","&angzarr;":"⍼","&aogon;":"ą","&aopf;":"𝕒","&ap;":"≈","&apE;":"⩰","&apacir;":"⩯","&ape;":"≊","&apid;":"≋","&apos;":"'","&approx;":"≈","&approxeq;":"≊","&aring":"å","&aring;":"å","&ascr;":"𝒶","&ast;":"*","&asymp;":"≈","&asympeq;":"≍","&atilde":"ã","&atilde;":"ã","&auml":"ä","&auml;":"ä","&awconint;":"∳","&awint;":"⨑","&bNot;":"⫭","&backcong;":"≌","&backepsilon;":"϶","&backprime;":"‵","&backsim;":"∽","&backsimeq;":"⋍","&barvee;":"⊽","&barwed;":"⌅","&barwedge;":"⌅","&bbrk;":"⎵","&bbrktbrk;":"⎶","&bcong;":"≌","&bcy;":"б","&bdquo;":"„","&becaus;":"∵","&because;":"∵","&bemptyv;":"⦰","&bepsi;":"϶","&bernou;":"ℬ","&beta;":"β","&beth;":"ℶ","&between;":"≬","&bfr;":"𝔟","&bigcap;":"⋂","&bigcirc;":"◯","&bigcup;":"⋃","&bigodot;":"⨀","&bigoplus;":"⨁","&bigotimes;":"⨂","&bigsqcup;":"⨆","&bigstar;":"★","&bigtriangledown;":"▽","&bigtriangleup;":"△","&biguplus;":"⨄","&bigvee;":"⋁","&bigwedge;":"⋀","&bkarow;":"⤍","&blacklozenge;":"⧫","&blacksquare;":"▪","&blacktriangle;":"▴","&blacktriangledown;":"▾","&blacktriangleleft;":"◂","&blacktriangleright;":"▸","&blank;":"␣","&blk12;":"▒","&blk14;":"░","&blk34;":"▓","&block;":"█","&bne;":"=⃥","&bnequiv;":"≡⃥","&bnot;":"⌐","&bopf;":"𝕓","&bot;":"⊥","&bottom;":"⊥","&bowtie;":"⋈","&boxDL;":"╗","&boxDR;":"╔","&boxDl;":"╖","&boxDr;":"╓","&boxH;":"═","&boxHD;":"╦","&boxHU;":"╩","&boxHd;":"╤","&boxHu;":"╧","&boxUL;":"╝","&boxUR;":"╚","&boxUl;":"╜","&boxUr;":"╙","&boxV;":"║","&boxVH;":"╬","&boxVL;":"╣","&boxVR;":"╠","&boxVh;":"╫","&boxVl;":"╢","&boxVr;":"╟","&boxbox;":"⧉","&boxdL;":"╕","&boxdR;":"╒","&boxdl;":"┐","&boxdr;":"┌","&boxh;":"─","&boxhD;":"╥","&boxhU;":"╨","&boxhd;":"┬","&boxhu;":"┴","&boxminus;":"⊟","&boxplus;":"⊞","&boxtimes;":"⊠","&boxuL;":"╛","&boxuR;":"╘","&boxul;":"┘","&boxur;":"└","&boxv;":"│","&boxvH;":"╪","&boxvL;":"╡","&boxvR;":"╞","&boxvh;":"┼","&boxvl;":"┤","&boxvr;":"├","&bprime;":"‵","&breve;":"˘","&brvbar":"¦","&brvbar;":"¦","&bscr;":"𝒷","&bsemi;":"⁏","&bsim;":"∽","&bsime;":"⋍","&bsol;":"\\","&bsolb;":"⧅","&bsolhsub;":"⟈","&bull;":"•","&bullet;":"•","&bump;":"≎","&bumpE;":"⪮","&bumpe;":"≏","&bumpeq;":"≏","&cacute;":"ć","&cap;":"∩","&capand;":"⩄","&capbrcup;":"⩉","&capcap;":"⩋","&capcup;":"⩇","&capdot;":"⩀","&caps;":"∩︀","&caret;":"⁁","&caron;":"ˇ","&ccaps;":"⩍","&ccaron;":"č","&ccedil":"ç","&ccedil;":"ç","&ccirc;":"ĉ","&ccups;":"⩌","&ccupssm;":"⩐","&cdot;":"ċ","&cedil":"¸","&cedil;":"¸","&cemptyv;":"⦲","&cent":"¢","&cent;":"¢","&centerdot;":"·","&cfr;":"𝔠","&chcy;":"ч","&check;":"✓","&checkmark;":"✓","&chi;":"χ","&cir;":"○","&cirE;":"⧃","&circ;":"ˆ","&circeq;":"≗","&circlearrowleft;":"↺","&circlearrowright;":"↻","&circledR;":"®","&circledS;":"Ⓢ","&circledast;":"⊛","&circledcirc;":"⊚","&circleddash;":"⊝","&cire;":"≗","&cirfnint;":"⨐","&cirmid;":"⫯","&cirscir;":"⧂","&clubs;":"♣","&clubsuit;":"♣","&colon;":":","&colone;":"≔","&coloneq;":"≔","&comma;":",","&commat;":"@","&comp;":"∁","&compfn;":"∘","&complement;":"∁","&complexes;":"ℂ","&cong;":"≅","&congdot;":"⩭","&conint;":"∮","&copf;":"𝕔","&coprod;":"∐","&copy":"©","&copy;":"©","&copysr;":"℗","&crarr;":"↵","&cross;":"✗","&cscr;":"𝒸","&csub;":"⫏","&csube;":"⫑","&csup;":"⫐","&csupe;":"⫒","&ctdot;":"⋯","&cudarrl;":"⤸","&cudarrr;":"⤵","&cuepr;":"⋞","&cuesc;":"⋟","&cularr;":"↶","&cularrp;":"⤽","&cup;":"∪","&cupbrcap;":"⩈","&cupcap;":"⩆","&cupcup;":"⩊","&cupdot;":"⊍","&cupor;":"⩅","&cups;":"∪︀","&curarr;":"↷","&curarrm;":"⤼","&curlyeqprec;":"⋞","&curlyeqsucc;":"⋟","&curlyvee;":"⋎","&curlywedge;":"⋏","&curren":"¤","&curren;":"¤","&curvearrowleft;":"↶","&curvearrowright;":"↷","&cuvee;":"⋎","&cuwed;":"⋏","&cwconint;":"∲","&cwint;":"∱","&cylcty;":"⌭","&dArr;":"⇓","&dHar;":"⥥","&dagger;":"†","&daleth;":"ℸ","&darr;":"↓","&dash;":"‐","&dashv;":"⊣","&dbkarow;":"⤏","&dblac;":"˝","&dcaron;":"ď","&dcy;":"д","&dd;":"ⅆ","&ddagger;":"‡","&ddarr;":"⇊","&ddotseq;":"⩷","&deg":"°","&deg;":"°","&delta;":"δ","&demptyv;":"⦱","&dfisht;":"⥿","&dfr;":"𝔡","&dharl;":"⇃","&dharr;":"⇂","&diam;":"⋄","&diamond;":"⋄","&diamondsuit;":"♦","&diams;":"♦","&die;":"¨","&digamma;":"ϝ","&disin;":"⋲","&div;":"÷","&divide":"÷","&divide;":"÷","&divideontimes;":"⋇","&divonx;":"⋇","&djcy;":"ђ","&dlcorn;":"⌞","&dlcrop;":"⌍","&dollar;":"$","&dopf;":"𝕕","&dot;":"˙","&doteq;":"≐","&doteqdot;":"≑","&dotminus;":"∸","&dotplus;":"∔","&dotsquare;":"⊡","&doublebarwedge;":"⌆","&downarrow;":"↓","&downdownarrows;":"⇊","&downharpoonleft;":"⇃","&downharpoonright;":"⇂","&drbkarow;":"⤐","&drcorn;":"⌟","&drcrop;":"⌌","&dscr;":"𝒹","&dscy;":"ѕ","&dsol;":"⧶","&dstrok;":"đ","&dtdot;":"⋱","&dtri;":"▿","&dtrif;":"▾","&duarr;":"⇵","&duhar;":"⥯","&dwangle;":"⦦","&dzcy;":"џ","&dzigrarr;":"⟿","&eDDot;":"⩷","&eDot;":"≑","&eacute":"é","&eacute;":"é","&easter;":"⩮","&ecaron;":"ě","&ecir;":"≖","&ecirc":"ê","&ecirc;":"ê","&ecolon;":"≕","&ecy;":"э","&edot;":"ė","&ee;":"ⅇ","&efDot;":"≒","&efr;":"𝔢","&eg;":"⪚","&egrave":"è","&egrave;":"è","&egs;":"⪖","&egsdot;":"⪘","&el;":"⪙","&elinters;":"⏧","&ell;":"ℓ","&els;":"⪕","&elsdot;":"⪗","&emacr;":"ē","&empty;":"∅","&emptyset;":"∅","&emptyv;":"∅","&emsp13;":" ","&emsp14;":" ","&emsp;":" ","&eng;":"ŋ","&ensp;":" ","&eogon;":"ę","&eopf;":"𝕖","&epar;":"⋕","&eparsl;":"⧣","&eplus;":"⩱","&epsi;":"ε","&epsilon;":"ε","&epsiv;":"ϵ","&eqcirc;":"≖","&eqcolon;":"≕","&eqsim;":"≂","&eqslantgtr;":"⪖","&eqslantless;":"⪕","&equals;":"=","&equest;":"≟","&equiv;":"≡","&equivDD;":"⩸","&eqvparsl;":"⧥","&erDot;":"≓","&erarr;":"⥱","&escr;":"ℯ","&esdot;":"≐","&esim;":"≂","&eta;":"η","&eth":"ð","&eth;":"ð","&euml":"ë","&euml;":"ë","&euro;":"€","&excl;":"!","&exist;":"∃","&expectation;":"ℰ","&exponentiale;":"ⅇ","&fallingdotseq;":"≒","&fcy;":"ф","&female;":"♀","&ffilig;":"ffi","&fflig;":"ff","&ffllig;":"ffl","&ffr;":"𝔣","&filig;":"fi","&fjlig;":"fj","&flat;":"♭","&fllig;":"fl","&fltns;":"▱","&fnof;":"ƒ","&fopf;":"𝕗","&forall;":"∀","&fork;":"⋔","&forkv;":"⫙","&fpartint;":"⨍","&frac12":"½","&frac12;":"½","&frac13;":"⅓","&frac14":"¼","&frac14;":"¼","&frac15;":"⅕","&frac16;":"⅙","&frac18;":"⅛","&frac23;":"⅔","&frac25;":"⅖","&frac34":"¾","&frac34;":"¾","&frac35;":"⅗","&frac38;":"⅜","&frac45;":"⅘","&frac56;":"⅚","&frac58;":"⅝","&frac78;":"⅞","&frasl;":"⁄","&frown;":"⌢","&fscr;":"𝒻","&gE;":"≧","&gEl;":"⪌","&gacute;":"ǵ","&gamma;":"γ","&gammad;":"ϝ","&gap;":"⪆","&gbreve;":"ğ","&gcirc;":"ĝ","&gcy;":"г","&gdot;":"ġ","&ge;":"≥","&gel;":"⋛","&geq;":"≥","&geqq;":"≧","&geqslant;":"⩾","&ges;":"⩾","&gescc;":"⪩","&gesdot;":"⪀","&gesdoto;":"⪂","&gesdotol;":"⪄","&gesl;":"⋛︀","&gesles;":"⪔","&gfr;":"𝔤","&gg;":"≫","&ggg;":"⋙","&gimel;":"ℷ","&gjcy;":"ѓ","&gl;":"≷","&glE;":"⪒","&gla;":"⪥","&glj;":"⪤","&gnE;":"≩","&gnap;":"⪊","&gnapprox;":"⪊","&gne;":"⪈","&gneq;":"⪈","&gneqq;":"≩","&gnsim;":"⋧","&gopf;":"𝕘","&grave;":"`","&gscr;":"ℊ","&gsim;":"≳","&gsime;":"⪎","&gsiml;":"⪐","&gt":">","&gt;":">","&gtcc;":"⪧","&gtcir;":"⩺","&gtdot;":"⋗","&gtlPar;":"⦕","&gtquest;":"⩼","&gtrapprox;":"⪆","&gtrarr;":"⥸","&gtrdot;":"⋗","&gtreqless;":"⋛","&gtreqqless;":"⪌","&gtrless;":"≷","&gtrsim;":"≳","&gvertneqq;":"≩︀","&gvnE;":"≩︀","&hArr;":"⇔","&hairsp;":" ","&half;":"½","&hamilt;":"ℋ","&hardcy;":"ъ","&harr;":"↔","&harrcir;":"⥈","&harrw;":"↭","&hbar;":"ℏ","&hcirc;":"ĥ","&hearts;":"♥","&heartsuit;":"♥","&hellip;":"…","&hercon;":"⊹","&hfr;":"𝔥","&hksearow;":"⤥","&hkswarow;":"⤦","&hoarr;":"⇿","&homtht;":"∻","&hookleftarrow;":"↩","&hookrightarrow;":"↪","&hopf;":"𝕙","&horbar;":"―","&hscr;":"𝒽","&hslash;":"ℏ","&hstrok;":"ħ","&hybull;":"⁃","&hyphen;":"‐","&iacute":"í","&iacute;":"í","&ic;":"⁣","&icirc":"î","&icirc;":"î","&icy;":"и","&iecy;":"е","&iexcl":"¡","&iexcl;":"¡","&iff;":"⇔","&ifr;":"𝔦","&igrave":"ì","&igrave;":"ì","&ii;":"ⅈ","&iiiint;":"⨌","&iiint;":"∭","&iinfin;":"⧜","&iiota;":"℩","&ijlig;":"ij","&imacr;":"ī","&image;":"ℑ","&imagline;":"ℐ","&imagpart;":"ℑ","&imath;":"ı","&imof;":"⊷","&imped;":"Ƶ","&in;":"∈","&incare;":"℅","&infin;":"∞","&infintie;":"⧝","&inodot;":"ı","&int;":"∫","&intcal;":"⊺","&integers;":"ℤ","&intercal;":"⊺","&intlarhk;":"⨗","&intprod;":"⨼","&iocy;":"ё","&iogon;":"į","&iopf;":"𝕚","&iota;":"ι","&iprod;":"⨼","&iquest":"¿","&iquest;":"¿","&iscr;":"𝒾","&isin;":"∈","&isinE;":"⋹","&isindot;":"⋵","&isins;":"⋴","&isinsv;":"⋳","&isinv;":"∈","&it;":"⁢","&itilde;":"ĩ","&iukcy;":"і","&iuml":"ï","&iuml;":"ï","&jcirc;":"ĵ","&jcy;":"й","&jfr;":"𝔧","&jmath;":"ȷ","&jopf;":"𝕛","&jscr;":"𝒿","&jsercy;":"ј","&jukcy;":"є","&kappa;":"κ","&kappav;":"ϰ","&kcedil;":"ķ","&kcy;":"к","&kfr;":"𝔨","&kgreen;":"ĸ","&khcy;":"х","&kjcy;":"ќ","&kopf;":"𝕜","&kscr;":"𝓀","&lAarr;":"⇚","&lArr;":"⇐","&lAtail;":"⤛","&lBarr;":"⤎","&lE;":"≦","&lEg;":"⪋","&lHar;":"⥢","&lacute;":"ĺ","&laemptyv;":"⦴","&lagran;":"ℒ","&lambda;":"λ","&lang;":"⟨","&langd;":"⦑","&langle;":"⟨","&lap;":"⪅","&laquo":"«","&laquo;":"«","&larr;":"←","&larrb;":"⇤","&larrbfs;":"⤟","&larrfs;":"⤝","&larrhk;":"↩","&larrlp;":"↫","&larrpl;":"⤹","&larrsim;":"⥳","&larrtl;":"↢","&lat;":"⪫","&latail;":"⤙","&late;":"⪭","&lates;":"⪭︀","&lbarr;":"⤌","&lbbrk;":"❲","&lbrace;":"{","&lbrack;":"[","&lbrke;":"⦋","&lbrksld;":"⦏","&lbrkslu;":"⦍","&lcaron;":"ľ","&lcedil;":"ļ","&lceil;":"⌈","&lcub;":"{","&lcy;":"л","&ldca;":"⤶","&ldquo;":"“","&ldquor;":"„","&ldrdhar;":"⥧","&ldrushar;":"⥋","&ldsh;":"↲","&le;":"≤","&leftarrow;":"←","&leftarrowtail;":"↢","&leftharpoondown;":"↽","&leftharpoonup;":"↼","&leftleftarrows;":"⇇","&leftrightarrow;":"↔","&leftrightarrows;":"⇆","&leftrightharpoons;":"⇋","&leftrightsquigarrow;":"↭","&leftthreetimes;":"⋋","&leg;":"⋚","&leq;":"≤","&leqq;":"≦","&leqslant;":"⩽","&les;":"⩽","&lescc;":"⪨","&lesdot;":"⩿","&lesdoto;":"⪁","&lesdotor;":"⪃","&lesg;":"⋚︀","&lesges;":"⪓","&lessapprox;":"⪅","&lessdot;":"⋖","&lesseqgtr;":"⋚","&lesseqqgtr;":"⪋","&lessgtr;":"≶","&lesssim;":"≲","&lfisht;":"⥼","&lfloor;":"⌊","&lfr;":"𝔩","&lg;":"≶","&lgE;":"⪑","&lhard;":"↽","&lharu;":"↼","&lharul;":"⥪","&lhblk;":"▄","&ljcy;":"љ","&ll;":"≪","&llarr;":"⇇","&llcorner;":"⌞","&llhard;":"⥫","&lltri;":"◺","&lmidot;":"ŀ","&lmoust;":"⎰","&lmoustache;":"⎰","&lnE;":"≨","&lnap;":"⪉","&lnapprox;":"⪉","&lne;":"⪇","&lneq;":"⪇","&lneqq;":"≨","&lnsim;":"⋦","&loang;":"⟬","&loarr;":"⇽","&lobrk;":"⟦","&longleftarrow;":"⟵","&longleftrightarrow;":"⟷","&longmapsto;":"⟼","&longrightarrow;":"⟶","&looparrowleft;":"↫","&looparrowright;":"↬","&lopar;":"⦅","&lopf;":"𝕝","&loplus;":"⨭","&lotimes;":"⨴","&lowast;":"∗","&lowbar;":"_","&loz;":"◊","&lozenge;":"◊","&lozf;":"⧫","&lpar;":"(","&lparlt;":"⦓","&lrarr;":"⇆","&lrcorner;":"⌟","&lrhar;":"⇋","&lrhard;":"⥭","&lrm;":"‎","&lrtri;":"⊿","&lsaquo;":"‹","&lscr;":"𝓁","&lsh;":"↰","&lsim;":"≲","&lsime;":"⪍","&lsimg;":"⪏","&lsqb;":"[","&lsquo;":"‘","&lsquor;":"‚","&lstrok;":"ł","&lt":"<","&lt;":"<","&ltcc;":"⪦","&ltcir;":"⩹","&ltdot;":"⋖","&lthree;":"⋋","&ltimes;":"⋉","&ltlarr;":"⥶","&ltquest;":"⩻","&ltrPar;":"⦖","&ltri;":"◃","&ltrie;":"⊴","&ltrif;":"◂","&lurdshar;":"⥊","&luruhar;":"⥦","&lvertneqq;":"≨︀","&lvnE;":"≨︀","&mDDot;":"∺","&macr":"¯","&macr;":"¯","&male;":"♂","&malt;":"✠","&maltese;":"✠","&map;":"↦","&mapsto;":"↦","&mapstodown;":"↧","&mapstoleft;":"↤","&mapstoup;":"↥","&marker;":"▮","&mcomma;":"⨩","&mcy;":"м","&mdash;":"—","&measuredangle;":"∡","&mfr;":"𝔪","&mho;":"℧","&micro":"µ","&micro;":"µ","&mid;":"∣","&midast;":"*","&midcir;":"⫰","&middot":"·","&middot;":"·","&minus;":"−","&minusb;":"⊟","&minusd;":"∸","&minusdu;":"⨪","&mlcp;":"⫛","&mldr;":"…","&mnplus;":"∓","&models;":"⊧","&mopf;":"𝕞","&mp;":"∓","&mscr;":"𝓂","&mstpos;":"∾","&mu;":"μ","&multimap;":"⊸","&mumap;":"⊸","&nGg;":"⋙̸","&nGt;":"≫⃒","&nGtv;":"≫̸","&nLeftarrow;":"⇍","&nLeftrightarrow;":"⇎","&nLl;":"⋘̸","&nLt;":"≪⃒","&nLtv;":"≪̸","&nRightarrow;":"⇏","&nVDash;":"⊯","&nVdash;":"⊮","&nabla;":"∇","&nacute;":"ń","&nang;":"∠⃒","&nap;":"≉","&napE;":"⩰̸","&napid;":"≋̸","&napos;":"ʼn","&napprox;":"≉","&natur;":"♮","&natural;":"♮","&naturals;":"ℕ","&nbsp":" ","&nbsp;":" ","&nbump;":"≎̸","&nbumpe;":"≏̸","&ncap;":"⩃","&ncaron;":"ň","&ncedil;":"ņ","&ncong;":"≇","&ncongdot;":"⩭̸","&ncup;":"⩂","&ncy;":"н","&ndash;":"–","&ne;":"≠","&neArr;":"⇗","&nearhk;":"⤤","&nearr;":"↗","&nearrow;":"↗","&nedot;":"≐̸","&nequiv;":"≢","&nesear;":"⤨","&nesim;":"≂̸","&nexist;":"∄","&nexists;":"∄","&nfr;":"𝔫","&ngE;":"≧̸","&nge;":"≱","&ngeq;":"≱","&ngeqq;":"≧̸","&ngeqslant;":"⩾̸","&nges;":"⩾̸","&ngsim;":"≵","&ngt;":"≯","&ngtr;":"≯","&nhArr;":"⇎","&nharr;":"↮","&nhpar;":"⫲","&ni;":"∋","&nis;":"⋼","&nisd;":"⋺","&niv;":"∋","&njcy;":"њ","&nlArr;":"⇍","&nlE;":"≦̸","&nlarr;":"↚","&nldr;":"‥","&nle;":"≰","&nleftarrow;":"↚","&nleftrightarrow;":"↮","&nleq;":"≰","&nleqq;":"≦̸","&nleqslant;":"⩽̸","&nles;":"⩽̸","&nless;":"≮","&nlsim;":"≴","&nlt;":"≮","&nltri;":"⋪","&nltrie;":"⋬","&nmid;":"∤","&nopf;":"𝕟","&not":"¬","&not;":"¬","&notin;":"∉","&notinE;":"⋹̸","&notindot;":"⋵̸","&notinva;":"∉","&notinvb;":"⋷","&notinvc;":"⋶","&notni;":"∌","&notniva;":"∌","&notnivb;":"⋾","&notnivc;":"⋽","&npar;":"∦","&nparallel;":"∦","&nparsl;":"⫽⃥","&npart;":"∂̸","&npolint;":"⨔","&npr;":"⊀","&nprcue;":"⋠","&npre;":"⪯̸","&nprec;":"⊀","&npreceq;":"⪯̸","&nrArr;":"⇏","&nrarr;":"↛","&nrarrc;":"⤳̸","&nrarrw;":"↝̸","&nrightarrow;":"↛","&nrtri;":"⋫","&nrtrie;":"⋭","&nsc;":"⊁","&nsccue;":"⋡","&nsce;":"⪰̸","&nscr;":"𝓃","&nshortmid;":"∤","&nshortparallel;":"∦","&nsim;":"≁","&nsime;":"≄","&nsimeq;":"≄","&nsmid;":"∤","&nspar;":"∦","&nsqsube;":"⋢","&nsqsupe;":"⋣","&nsub;":"⊄","&nsubE;":"⫅̸","&nsube;":"⊈","&nsubset;":"⊂⃒","&nsubseteq;":"⊈","&nsubseteqq;":"⫅̸","&nsucc;":"⊁","&nsucceq;":"⪰̸","&nsup;":"⊅","&nsupE;":"⫆̸","&nsupe;":"⊉","&nsupset;":"⊃⃒","&nsupseteq;":"⊉","&nsupseteqq;":"⫆̸","&ntgl;":"≹","&ntilde":"ñ","&ntilde;":"ñ","&ntlg;":"≸","&ntriangleleft;":"⋪","&ntrianglelefteq;":"⋬","&ntriangleright;":"⋫","&ntrianglerighteq;":"⋭","&nu;":"ν","&num;":"#","&numero;":"№","&numsp;":" ","&nvDash;":"⊭","&nvHarr;":"⤄","&nvap;":"≍⃒","&nvdash;":"⊬","&nvge;":"≥⃒","&nvgt;":">⃒","&nvinfin;":"⧞","&nvlArr;":"⤂","&nvle;":"≤⃒","&nvlt;":"<⃒","&nvltrie;":"⊴⃒","&nvrArr;":"⤃","&nvrtrie;":"⊵⃒","&nvsim;":"∼⃒","&nwArr;":"⇖","&nwarhk;":"⤣","&nwarr;":"↖","&nwarrow;":"↖","&nwnear;":"⤧","&oS;":"Ⓢ","&oacute":"ó","&oacute;":"ó","&oast;":"⊛","&ocir;":"⊚","&ocirc":"ô","&ocirc;":"ô","&ocy;":"о","&odash;":"⊝","&odblac;":"ő","&odiv;":"⨸","&odot;":"⊙","&odsold;":"⦼","&oelig;":"œ","&ofcir;":"⦿","&ofr;":"𝔬","&ogon;":"˛","&ograve":"ò","&ograve;":"ò","&ogt;":"⧁","&ohbar;":"⦵","&ohm;":"Ω","&oint;":"∮","&olarr;":"↺","&olcir;":"⦾","&olcross;":"⦻","&oline;":"‾","&olt;":"⧀","&omacr;":"ō","&omega;":"ω","&omicron;":"ο","&omid;":"⦶","&ominus;":"⊖","&oopf;":"𝕠","&opar;":"⦷","&operp;":"⦹","&oplus;":"⊕","&or;":"∨","&orarr;":"↻","&ord;":"⩝","&order;":"ℴ","&orderof;":"ℴ","&ordf":"ª","&ordf;":"ª","&ordm":"º","&ordm;":"º","&origof;":"⊶","&oror;":"⩖","&orslope;":"⩗","&orv;":"⩛","&oscr;":"ℴ","&oslash":"ø","&oslash;":"ø","&osol;":"⊘","&otilde":"õ","&otilde;":"õ","&otimes;":"⊗","&otimesas;":"⨶","&ouml":"ö","&ouml;":"ö","&ovbar;":"⌽","&par;":"∥","&para":"¶","&para;":"¶","&parallel;":"∥","&parsim;":"⫳","&parsl;":"⫽","&part;":"∂","&pcy;":"п","&percnt;":"%","&period;":".","&permil;":"‰","&perp;":"⊥","&pertenk;":"‱","&pfr;":"𝔭","&phi;":"φ","&phiv;":"ϕ","&phmmat;":"ℳ","&phone;":"☎","&pi;":"π","&pitchfork;":"⋔","&piv;":"ϖ","&planck;":"ℏ","&planckh;":"ℎ","&plankv;":"ℏ","&plus;":"+","&plusacir;":"⨣","&plusb;":"⊞","&pluscir;":"⨢","&plusdo;":"∔","&plusdu;":"⨥","&pluse;":"⩲","&plusmn":"±","&plusmn;":"±","&plussim;":"⨦","&plustwo;":"⨧","&pm;":"±","&pointint;":"⨕","&popf;":"𝕡","&pound":"£","&pound;":"£","&pr;":"≺","&prE;":"⪳","&prap;":"⪷","&prcue;":"≼","&pre;":"⪯","&prec;":"≺","&precapprox;":"⪷","&preccurlyeq;":"≼","&preceq;":"⪯","&precnapprox;":"⪹","&precneqq;":"⪵","&precnsim;":"⋨","&precsim;":"≾","&prime;":"′","&primes;":"ℙ","&prnE;":"⪵","&prnap;":"⪹","&prnsim;":"⋨","&prod;":"∏","&profalar;":"⌮","&profline;":"⌒","&profsurf;":"⌓","&prop;":"∝","&propto;":"∝","&prsim;":"≾","&prurel;":"⊰","&pscr;":"𝓅","&psi;":"ψ","&puncsp;":" ","&qfr;":"𝔮","&qint;":"⨌","&qopf;":"𝕢","&qprime;":"⁗","&qscr;":"𝓆","&quaternions;":"ℍ","&quatint;":"⨖","&quest;":"?","&questeq;":"≟","&quot":'"',"&quot;":'"',"&rAarr;":"⇛","&rArr;":"⇒","&rAtail;":"⤜","&rBarr;":"⤏","&rHar;":"⥤","&race;":"∽̱","&racute;":"ŕ","&radic;":"√","&raemptyv;":"⦳","&rang;":"⟩","&rangd;":"⦒","&range;":"⦥","&rangle;":"⟩","&raquo":"»","&raquo;":"»","&rarr;":"→","&rarrap;":"⥵","&rarrb;":"⇥","&rarrbfs;":"⤠","&rarrc;":"⤳","&rarrfs;":"⤞","&rarrhk;":"↪","&rarrlp;":"↬","&rarrpl;":"⥅","&rarrsim;":"⥴","&rarrtl;":"↣","&rarrw;":"↝","&ratail;":"⤚","&ratio;":"∶","&rationals;":"ℚ","&rbarr;":"⤍","&rbbrk;":"❳","&rbrace;":"}","&rbrack;":"]","&rbrke;":"⦌","&rbrksld;":"⦎","&rbrkslu;":"⦐","&rcaron;":"ř","&rcedil;":"ŗ","&rceil;":"⌉","&rcub;":"}","&rcy;":"р","&rdca;":"⤷","&rdldhar;":"⥩","&rdquo;":"”","&rdquor;":"”","&rdsh;":"↳","&real;":"ℜ","&realine;":"ℛ","&realpart;":"ℜ","&reals;":"ℝ","&rect;":"▭","&reg":"®","&reg;":"®","&rfisht;":"⥽","&rfloor;":"⌋","&rfr;":"𝔯","&rhard;":"⇁","&rharu;":"⇀","&rharul;":"⥬","&rho;":"ρ","&rhov;":"ϱ","&rightarrow;":"→","&rightarrowtail;":"↣","&rightharpoondown;":"⇁","&rightharpoonup;":"⇀","&rightleftarrows;":"⇄","&rightleftharpoons;":"⇌","&rightrightarrows;":"⇉","&rightsquigarrow;":"↝","&rightthreetimes;":"⋌","&ring;":"˚","&risingdotseq;":"≓","&rlarr;":"⇄","&rlhar;":"⇌","&rlm;":"‏","&rmoust;":"⎱","&rmoustache;":"⎱","&rnmid;":"⫮","&roang;":"⟭","&roarr;":"⇾","&robrk;":"⟧","&ropar;":"⦆","&ropf;":"𝕣","&roplus;":"⨮","&rotimes;":"⨵","&rpar;":")","&rpargt;":"⦔","&rppolint;":"⨒","&rrarr;":"⇉","&rsaquo;":"›","&rscr;":"𝓇","&rsh;":"↱","&rsqb;":"]","&rsquo;":"’","&rsquor;":"’","&rthree;":"⋌","&rtimes;":"⋊","&rtri;":"▹","&rtrie;":"⊵","&rtrif;":"▸","&rtriltri;":"⧎","&ruluhar;":"⥨","&rx;":"℞","&sacute;":"ś","&sbquo;":"‚","&sc;":"≻","&scE;":"⪴","&scap;":"⪸","&scaron;":"š","&sccue;":"≽","&sce;":"⪰","&scedil;":"ş","&scirc;":"ŝ","&scnE;":"⪶","&scnap;":"⪺","&scnsim;":"⋩","&scpolint;":"⨓","&scsim;":"≿","&scy;":"с","&sdot;":"⋅","&sdotb;":"⊡","&sdote;":"⩦","&seArr;":"⇘","&searhk;":"⤥","&searr;":"↘","&searrow;":"↘","&sect":"§","&sect;":"§","&semi;":";","&seswar;":"⤩","&setminus;":"∖","&setmn;":"∖","&sext;":"✶","&sfr;":"𝔰","&sfrown;":"⌢","&sharp;":"♯","&shchcy;":"щ","&shcy;":"ш","&shortmid;":"∣","&shortparallel;":"∥","&shy":"­","&shy;":"­","&sigma;":"σ","&sigmaf;":"ς","&sigmav;":"ς","&sim;":"∼","&simdot;":"⩪","&sime;":"≃","&simeq;":"≃","&simg;":"⪞","&simgE;":"⪠","&siml;":"⪝","&simlE;":"⪟","&simne;":"≆","&simplus;":"⨤","&simrarr;":"⥲","&slarr;":"←","&smallsetminus;":"∖","&smashp;":"⨳","&smeparsl;":"⧤","&smid;":"∣","&smile;":"⌣","&smt;":"⪪","&smte;":"⪬","&smtes;":"⪬︀","&softcy;":"ь","&sol;":"/","&solb;":"⧄","&solbar;":"⌿","&sopf;":"𝕤","&spades;":"♠","&spadesuit;":"♠","&spar;":"∥","&sqcap;":"⊓","&sqcaps;":"⊓︀","&sqcup;":"⊔","&sqcups;":"⊔︀","&sqsub;":"⊏","&sqsube;":"⊑","&sqsubset;":"⊏","&sqsubseteq;":"⊑","&sqsup;":"⊐","&sqsupe;":"⊒","&sqsupset;":"⊐","&sqsupseteq;":"⊒","&squ;":"□","&square;":"□","&squarf;":"▪","&squf;":"▪","&srarr;":"→","&sscr;":"𝓈","&ssetmn;":"∖","&ssmile;":"⌣","&sstarf;":"⋆","&star;":"☆","&starf;":"★","&straightepsilon;":"ϵ","&straightphi;":"ϕ","&strns;":"¯","&sub;":"⊂","&subE;":"⫅","&subdot;":"⪽","&sube;":"⊆","&subedot;":"⫃","&submult;":"⫁","&subnE;":"⫋","&subne;":"⊊","&subplus;":"⪿","&subrarr;":"⥹","&subset;":"⊂","&subseteq;":"⊆","&subseteqq;":"⫅","&subsetneq;":"⊊","&subsetneqq;":"⫋","&subsim;":"⫇","&subsub;":"⫕","&subsup;":"⫓","&succ;":"≻","&succapprox;":"⪸","&succcurlyeq;":"≽","&succeq;":"⪰","&succnapprox;":"⪺","&succneqq;":"⪶","&succnsim;":"⋩","&succsim;":"≿","&sum;":"∑","&sung;":"♪","&sup1":"¹","&sup1;":"¹","&sup2":"²","&sup2;":"²","&sup3":"³","&sup3;":"³","&sup;":"⊃","&supE;":"⫆","&supdot;":"⪾","&supdsub;":"⫘","&supe;":"⊇","&supedot;":"⫄","&suphsol;":"⟉","&suphsub;":"⫗","&suplarr;":"⥻","&supmult;":"⫂","&supnE;":"⫌","&supne;":"⊋","&supplus;":"⫀","&supset;":"⊃","&supseteq;":"⊇","&supseteqq;":"⫆","&supsetneq;":"⊋","&supsetneqq;":"⫌","&supsim;":"⫈","&supsub;":"⫔","&supsup;":"⫖","&swArr;":"⇙","&swarhk;":"⤦","&swarr;":"↙","&swarrow;":"↙","&swnwar;":"⤪","&szlig":"ß","&szlig;":"ß","&target;":"⌖","&tau;":"τ","&tbrk;":"⎴","&tcaron;":"ť","&tcedil;":"ţ","&tcy;":"т","&tdot;":"⃛","&telrec;":"⌕","&tfr;":"𝔱","&there4;":"∴","&therefore;":"∴","&theta;":"θ","&thetasym;":"ϑ","&thetav;":"ϑ","&thickapprox;":"≈","&thicksim;":"∼","&thinsp;":" ","&thkap;":"≈","&thksim;":"∼","&thorn":"þ","&thorn;":"þ","&tilde;":"˜","&times":"×","&times;":"×","&timesb;":"⊠","&timesbar;":"⨱","&timesd;":"⨰","&tint;":"∭","&toea;":"⤨","&top;":"⊤","&topbot;":"⌶","&topcir;":"⫱","&topf;":"𝕥","&topfork;":"⫚","&tosa;":"⤩","&tprime;":"‴","&trade;":"™","&triangle;":"▵","&triangledown;":"▿","&triangleleft;":"◃","&trianglelefteq;":"⊴","&triangleq;":"≜","&triangleright;":"▹","&trianglerighteq;":"⊵","&tridot;":"◬","&trie;":"≜","&triminus;":"⨺","&triplus;":"⨹","&trisb;":"⧍","&tritime;":"⨻","&trpezium;":"⏢","&tscr;":"𝓉","&tscy;":"ц","&tshcy;":"ћ","&tstrok;":"ŧ","&twixt;":"≬","&twoheadleftarrow;":"↞","&twoheadrightarrow;":"↠","&uArr;":"⇑","&uHar;":"⥣","&uacute":"ú","&uacute;":"ú","&uarr;":"↑","&ubrcy;":"ў","&ubreve;":"ŭ","&ucirc":"û","&ucirc;":"û","&ucy;":"у","&udarr;":"⇅","&udblac;":"ű","&udhar;":"⥮","&ufisht;":"⥾","&ufr;":"𝔲","&ugrave":"ù","&ugrave;":"ù","&uharl;":"↿","&uharr;":"↾","&uhblk;":"▀","&ulcorn;":"⌜","&ulcorner;":"⌜","&ulcrop;":"⌏","&ultri;":"◸","&umacr;":"ū","&uml":"¨","&uml;":"¨","&uogon;":"ų","&uopf;":"𝕦","&uparrow;":"↑","&updownarrow;":"↕","&upharpoonleft;":"↿","&upharpoonright;":"↾","&uplus;":"⊎","&upsi;":"υ","&upsih;":"ϒ","&upsilon;":"υ","&upuparrows;":"⇈","&urcorn;":"⌝","&urcorner;":"⌝","&urcrop;":"⌎","&uring;":"ů","&urtri;":"◹","&uscr;":"𝓊","&utdot;":"⋰","&utilde;":"ũ","&utri;":"▵","&utrif;":"▴","&uuarr;":"⇈","&uuml":"ü","&uuml;":"ü","&uwangle;":"⦧","&vArr;":"⇕","&vBar;":"⫨","&vBarv;":"⫩","&vDash;":"⊨","&vangrt;":"⦜","&varepsilon;":"ϵ","&varkappa;":"ϰ","&varnothing;":"∅","&varphi;":"ϕ","&varpi;":"ϖ","&varpropto;":"∝","&varr;":"↕","&varrho;":"ϱ","&varsigma;":"ς","&varsubsetneq;":"⊊︀","&varsubsetneqq;":"⫋︀","&varsupsetneq;":"⊋︀","&varsupsetneqq;":"⫌︀","&vartheta;":"ϑ","&vartriangleleft;":"⊲","&vartriangleright;":"⊳","&vcy;":"в","&vdash;":"⊢","&vee;":"∨","&veebar;":"⊻","&veeeq;":"≚","&vellip;":"⋮","&verbar;":"|","&vert;":"|","&vfr;":"𝔳","&vltri;":"⊲","&vnsub;":"⊂⃒","&vnsup;":"⊃⃒","&vopf;":"𝕧","&vprop;":"∝","&vrtri;":"⊳","&vscr;":"𝓋","&vsubnE;":"⫋︀","&vsubne;":"⊊︀","&vsupnE;":"⫌︀","&vsupne;":"⊋︀","&vzigzag;":"⦚","&wcirc;":"ŵ","&wedbar;":"⩟","&wedge;":"∧","&wedgeq;":"≙","&weierp;":"℘","&wfr;":"𝔴","&wopf;":"𝕨","&wp;":"℘","&wr;":"≀","&wreath;":"≀","&wscr;":"𝓌","&xcap;":"⋂","&xcirc;":"◯","&xcup;":"⋃","&xdtri;":"▽","&xfr;":"𝔵","&xhArr;":"⟺","&xharr;":"⟷","&xi;":"ξ","&xlArr;":"⟸","&xlarr;":"⟵","&xmap;":"⟼","&xnis;":"⋻","&xodot;":"⨀","&xopf;":"𝕩","&xoplus;":"⨁","&xotime;":"⨂","&xrArr;":"⟹","&xrarr;":"⟶","&xscr;":"𝓍","&xsqcup;":"⨆","&xuplus;":"⨄","&xutri;":"△","&xvee;":"⋁","&xwedge;":"⋀","&yacute":"ý","&yacute;":"ý","&yacy;":"я","&ycirc;":"ŷ","&ycy;":"ы","&yen":"¥","&yen;":"¥","&yfr;":"𝔶","&yicy;":"ї","&yopf;":"𝕪","&yscr;":"𝓎","&yucy;":"ю","&yuml":"ÿ","&yuml;":"ÿ","&zacute;":"ź","&zcaron;":"ž","&zcy;":"з","&zdot;":"ż","&zeetrf;":"ℨ","&zeta;":"ζ","&zfr;":"𝔷","&zhcy;":"ж","&zigrarr;":"⇝","&zopf;":"𝕫","&zscr;":"𝓏","&zwj;":"‍","&zwnj;":"‌"};function er(o){return o.replace(/&(#\d+|#x[a-f0-9]+|[a-z]+\d*);?/gi,(e,r)=>{if(typeof ht[e]=="string")return ht[e];if(r.charAt(0)!=="#"||e.charAt(e.length-1)!==";")return e;let u;r.charAt(1)==="x"?u=parseInt(r.substr(2),16):u=parseInt(r.substr(1),10);var s="";return u>=55296&&u<=57343||u>1114111?"�":(u>65535&&(u-=65536,s+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),s+=String.fromCharCode(u),s)})}function se(o){return o.trim().replace(/[<>"'?&]/g,e=>{let r=e.charCodeAt(0).toString(16);return r.length<2&&(r="0"+r),"&#x"+r.toUpperCase()+";"})}function tr(o){return"<div>"+se(o).replace(/\n/g,"<br />")+"</div>"}function rr(o){return o=o.replace(/\r?\n/g,"").replace(/<\!\-\-.*?\-\->/gi," ").replace(/<br\b[^>]*>/gi,`
7
7
  `).replace(/<\/?(p|div|table|tr|td|th)\b[^>]*>/gi,`
8
8
 
9
9
  `).replace(/<script\b[^>]*>.*?<\/script\b[^>]*>/gi," ").replace(/^.*<body\b[^>]*>/i,"").replace(/^.*<\/head\b[^>]*>/i,"").replace(/^.*<\!doctype\b[^>]*>/i,"").replace(/<\/body\b[^>]*>.*$/i,"").replace(/<\/html\b[^>]*>.*$/i,"").replace(/<a\b[^>]*href\s*=\s*["']?([^\s"']+)[^>]*>/gi," ($1) ").replace(/<\/?(span|em|i|strong|b|u|a)\b[^>]*>/gi,"").replace(/<li\b[^>]*>[\n\u0001\s]*/gi,"* ").replace(/<hr\b[^>]*>/g,`
@@ -13,19 +13,19 @@
13
13
 
14
14
  `).replace(/^\n+/,`
15
15
  `).replace(/\n+$/,`
16
- `),o=er(o),o}function bt(o){return[].concat(o.name||[]).concat(o.name?`<${o.address}>`:o.address).join(" ")}function Je(o){let e=[],r=(u,a)=>{if(a&&e.push(", "),u.group){let n=`${u.name}:`,t=";";e.push(n),u.group.forEach(r),e.push(t)}else e.push(bt(u))};return o.forEach(r),e.join("")}function yt(o){return`<a href="mailto:${ae(o.address)}" class="postal-email-address">${ae(o.name||`<${o.address}>`)}</a>`}function Ke(o){let e=[],r=(u,a)=>{if(a&&e.push('<span class="postal-email-address-separator">, </span>'),u.group){let n=`<span class="postal-email-address-group">${ae(u.name)}:</span>`,t='<span class="postal-email-address-group">;</span>';e.push(n),u.group.forEach(r),e.push(t)}else e.push(yt(u))};return o.forEach(r),e.join(" ")}function ur(o,e,r){o=(o||"").toString(),e=e||76;let u=0,a=o.length,n="",t,i;for(;u<a;){if(t=o.substr(u,e),t.length<e){n+=t;break}if(i=t.match(/^[^\n\r]*(\r?\n|\r)/)){t=i[0],n+=t,u+=t.length;continue}else(i=t.match(/(\s+)[^\s]*$/))&&i[0].length-(i[1]||"").length<t.length?t=t.substr(0,t.length-(i[0].length-(i[1]||"").length)):(i=o.substr(u+t.length).match(/^[^\s]+(\s*)/))&&(t=t+i[0].substr(0,i[0].length-0));n+=t,u+=t.length,u<a&&(n+=`\r
17
- `)}return n}function gt(o){let e=[];if(o.from&&e.push({key:"From",val:bt(o.from)}),o.subject&&e.push({key:"Subject",val:o.subject}),o.date){let t={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1},i=typeof Intl>"u"?o.date:new Intl.DateTimeFormat("default",t).format(new Date(o.date));e.push({key:"Date",val:i})}o.to&&o.to.length&&e.push({key:"To",val:Je(o.to)}),o.cc&&o.cc.length&&e.push({key:"Cc",val:Je(o.cc)}),o.bcc&&o.bcc.length&&e.push({key:"Bcc",val:Je(o.bcc)});let r=e.map(t=>t.key.length).reduce((t,i)=>i>t?i:t,0);e=e.flatMap(t=>{let i=r-t.key.length,l=`${t.key}: ${" ".repeat(i)}`,d=`${" ".repeat(t.key.length+1)} ${" ".repeat(i)}`;return ur(t.val,80).split(/\r?\n/).map(h=>h.trim()).map((h,m)=>`${m?d:l}${h}`)});let u=e.map(t=>t.length).reduce((t,i)=>i>t?i:t,0),a="-".repeat(u);return`
18
- ${a}
16
+ `),o=er(o),o}function bt(o){return[].concat(o.name||[]).concat(o.name?`<${o.address}>`:o.address).join(" ")}function Je(o){let e=[],r=(u,s)=>{if(s&&e.push(", "),u.group){let n=`${u.name}:`,t=";";e.push(n),u.group.forEach(r),e.push(t)}else e.push(bt(u))};return o.forEach(r),e.join("")}function yt(o){return`<a href="mailto:${se(o.address)}" class="postal-email-address">${se(o.name||`<${o.address}>`)}</a>`}function Ke(o){let e=[],r=(u,s)=>{if(s&&e.push('<span class="postal-email-address-separator">, </span>'),u.group){let n=`<span class="postal-email-address-group">${se(u.name)}:</span>`,t='<span class="postal-email-address-group">;</span>';e.push(n),u.group.forEach(r),e.push(t)}else e.push(yt(u))};return o.forEach(r),e.join(" ")}function ur(o,e,r){o=(o||"").toString(),e=e||76;let u=0,s=o.length,n="",t,i;for(;u<s;){if(t=o.substr(u,e),t.length<e){n+=t;break}if(i=t.match(/^[^\n\r]*(\r?\n|\r)/)){t=i[0],n+=t,u+=t.length;continue}else(i=t.match(/(\s+)[^\s]*$/))&&i[0].length-(i[1]||"").length<t.length?t=t.substr(0,t.length-(i[0].length-(i[1]||"").length)):(i=o.substr(u+t.length).match(/^[^\s]+(\s*)/))&&(t=t+i[0].substr(0,i[0].length-0));n+=t,u+=t.length,u<s&&(n+=`\r
17
+ `)}return n}function gt(o){let e=[];if(o.from&&e.push({key:"From",val:bt(o.from)}),o.subject&&e.push({key:"Subject",val:o.subject}),o.date){let t={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1},i=typeof Intl>"u"?o.date:new Intl.DateTimeFormat("default",t).format(new Date(o.date));e.push({key:"Date",val:i})}o.to&&o.to.length&&e.push({key:"To",val:Je(o.to)}),o.cc&&o.cc.length&&e.push({key:"Cc",val:Je(o.cc)}),o.bcc&&o.bcc.length&&e.push({key:"Bcc",val:Je(o.bcc)});let r=e.map(t=>t.key.length).reduce((t,i)=>i>t?i:t,0);e=e.flatMap(t=>{let i=r-t.key.length,l=`${t.key}: ${" ".repeat(i)}`,c=`${" ".repeat(t.key.length+1)} ${" ".repeat(i)}`;return ur(t.val,80).split(/\r?\n/).map(p=>p.trim()).map((p,m)=>`${m?c:l}${p}`)});let u=e.map(t=>t.length).reduce((t,i)=>i>t?i:t,0),s="-".repeat(u);return`
18
+ ${s}
19
19
  ${e.join(`
20
20
  `)}
21
- ${a}
22
- `}function mt(o){let e=[];if(o.from&&e.push(`<div class="postal-email-header-key">From</div><div class="postal-email-header-value">${yt(o.from)}</div>`),o.subject&&e.push(`<div class="postal-email-header-key">Subject</div><div class="postal-email-header-value postal-email-header-subject">${ae(o.subject)}</div>`),o.date){let u={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1},a=typeof Intl>"u"?o.date:new Intl.DateTimeFormat("default",u).format(new Date(o.date));e.push(`<div class="postal-email-header-key">Date</div><div class="postal-email-header-value postal-email-header-date" data-date="${ae(o.date)}">${ae(a)}</div>`)}return o.to&&o.to.length&&e.push(`<div class="postal-email-header-key">To</div><div class="postal-email-header-value">${Ke(o.to)}</div>`),o.cc&&o.cc.length&&e.push(`<div class="postal-email-header-key">Cc</div><div class="postal-email-header-value">${Ke(o.cc)}</div>`),o.bcc&&o.bcc.length&&e.push(`<div class="postal-email-header-key">Bcc</div><div class="postal-email-header-value">${Ke(o.bcc)}</div>`),`<div class="postal-email-header">${e.length?'<div class="postal-email-header-row">':""}${e.join(`</div>
23
- <div class="postal-email-header-row">`)}${e.length?"</div>":""}</div>`}function ar(o,e){let r=!1,u="text",a,n=[],t={address:[],comment:[],group:[],text:[],textWasQuoted:[]},i,l,d=!1;for(i=0,l=o.length;i<l;i++){let c=o[i],h=i?o[i-1]:null;if(c.type==="operator")switch(c.value){case"<":u="address",d=!1;break;case"(":u="comment",d=!1;break;case":":u="group",r=!0,d=!1;break;case'"':d=!d,u="text";break;default:u="text",d=!1;break}else c.value&&(u==="address"&&(c.value=c.value.replace(/^[^<]*<\s*/,"")),h&&h.noBreak&&t[u].length?(t[u][t[u].length-1]+=c.value,u==="text"&&d&&(t.textWasQuoted[t.textWasQuoted.length-1]=!0)):(t[u].push(c.value),u==="text"&&t.textWasQuoted.push(d)))}if(!t.text.length&&t.comment.length&&(t.text=t.comment,t.comment=[]),r){t.text=t.text.join(" ");let c=[];t.group.length&&Be(t.group.join(","),{_depth:e+1}).forEach(m=>{m.group?c=c.concat(m.group):c.push(m)}),n.push({name:we(t.text||a&&a.name),group:c})}else{if(!t.address.length&&t.text.length){for(i=t.text.length-1;i>=0;i--)if(!t.textWasQuoted[i]&&t.text[i].match(/^[^@\s]+@[^@\s]+$/)){t.address=t.text.splice(i,1),t.textWasQuoted.splice(i,1);break}let c=function(h){return t.address.length?h:(t.address=[h.trim()]," ")};if(!t.address.length)for(i=t.text.length-1;i>=0&&!(!t.textWasQuoted[i]&&(t.text[i]=t.text[i].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,c).trim(),t.address.length));i--);}if(!t.text.length&&t.comment.length&&(t.text=t.comment,t.comment=[]),t.address.length>1&&(t.text=t.text.concat(t.address.splice(1))),t.text=t.text.join(" "),t.address=t.address.join(" "),!t.address&&/^=\?[^=]+?=$/.test(t.text.trim())){const c=Be(we(t.text));if(c&&c.length)return c}if(!t.address&&r)return[];a={address:t.address||t.text||"",name:we(t.text||t.address||"")},a.address===a.name&&((a.address||"").match(/@/)?a.name="":a.address=""),n.push(a)}return n}class sr{constructor(e){this.str=(e||"").toString(),this.operatorCurrent="",this.operatorExpecting="",this.node=null,this.escaped=!1,this.list=[],this.operators={'"':'"',"(":")","<":">",",":"",":":";",";":""}}tokenize(){let e=[];for(let r=0,u=this.str.length;r<u;r++){let a=this.str.charAt(r),n=r<u-1?this.str.charAt(r+1):null;this.checkChar(a,n)}return this.list.forEach(r=>{r.value=(r.value||"").toString().trim(),r.value&&e.push(r)}),e}checkChar(e,r){if(!this.escaped){if(e===this.operatorExpecting){this.node={type:"operator",value:e},r&&![" "," ","\r",`
21
+ ${s}
22
+ `}function mt(o){let e=[];if(o.from&&e.push(`<div class="postal-email-header-key">From</div><div class="postal-email-header-value">${yt(o.from)}</div>`),o.subject&&e.push(`<div class="postal-email-header-key">Subject</div><div class="postal-email-header-value postal-email-header-subject">${se(o.subject)}</div>`),o.date){let u={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1},s=typeof Intl>"u"?o.date:new Intl.DateTimeFormat("default",u).format(new Date(o.date));e.push(`<div class="postal-email-header-key">Date</div><div class="postal-email-header-value postal-email-header-date" data-date="${se(o.date)}">${se(s)}</div>`)}return o.to&&o.to.length&&e.push(`<div class="postal-email-header-key">To</div><div class="postal-email-header-value">${Ke(o.to)}</div>`),o.cc&&o.cc.length&&e.push(`<div class="postal-email-header-key">Cc</div><div class="postal-email-header-value">${Ke(o.cc)}</div>`),o.bcc&&o.bcc.length&&e.push(`<div class="postal-email-header-key">Bcc</div><div class="postal-email-header-value">${Ke(o.bcc)}</div>`),`<div class="postal-email-header">${e.length?'<div class="postal-email-header-row">':""}${e.join(`</div>
23
+ <div class="postal-email-header-row">`)}${e.length?"</div>":""}</div>`}function sr(o,e){let r=!1,u="text",s,n=[],t={address:[],comment:[],group:[],text:[],textWasQuoted:[]},i,l,c=!1;for(i=0,l=o.length;i<l;i++){let d=o[i],p=i?o[i-1]:null;if(d.type==="operator")switch(d.value){case"<":u="address",c=!1;break;case"(":u="comment",c=!1;break;case":":u="group",r=!0,c=!1;break;case'"':c=!c,u="text";break;default:u="text",c=!1;break}else d.value&&(u==="address"&&(d.value=d.value.replace(/^[^<]*<\s*/,"")),p&&p.noBreak&&t[u].length?(t[u][t[u].length-1]+=d.value,u==="text"&&c&&(t.textWasQuoted[t.textWasQuoted.length-1]=!0)):(t[u].push(d.value),u==="text"&&t.textWasQuoted.push(c)))}if(!t.text.length&&t.comment.length&&(t.text=t.comment,t.comment=[]),r){t.text=t.text.join(" ");let d=[];t.group.length&&Be(t.group.join(","),{_depth:e+1}).forEach(m=>{m.group?d=d.concat(m.group):d.push(m)}),n.push({name:Ce(t.text||s&&s.name),group:d})}else{if(!t.address.length&&t.text.length){for(i=t.text.length-1;i>=0;i--)if(!t.textWasQuoted[i]&&t.text[i].match(/^[^@\s]+@[^@\s]+$/)){t.address=t.text.splice(i,1),t.textWasQuoted.splice(i,1);break}let d=function(p){return t.address.length?p:(t.address=[p.trim()]," ")};if(!t.address.length)for(i=t.text.length-1;i>=0&&!(!t.textWasQuoted[i]&&(t.text[i]=t.text[i].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,d).trim(),t.address.length));i--);}if(!t.text.length&&t.comment.length&&(t.text=t.comment,t.comment=[]),t.address.length>1&&(t.text=t.text.concat(t.address.splice(1))),t.text=t.text.join(" "),t.address=t.address.join(" "),!t.address&&/^=\?[^=]+?=$/.test(t.text.trim())){const d=Be(Ce(t.text));if(d&&d.length)return d}if(!t.address&&r)return[];s={address:t.address||t.text||"",name:Ce(t.text||t.address||"")},s.address===s.name&&((s.address||"").match(/@/)?s.name="":s.address=""),n.push(s)}return n}class ar{constructor(e){this.str=(e||"").toString(),this.operatorCurrent="",this.operatorExpecting="",this.node=null,this.escaped=!1,this.list=[],this.operators={'"':'"',"(":")","<":">",",":"",":":";",";":""}}tokenize(){let e=[];for(let r=0,u=this.str.length;r<u;r++){let s=this.str.charAt(r),n=r<u-1?this.str.charAt(r+1):null;this.checkChar(s,n)}return this.list.forEach(r=>{r.value=(r.value||"").toString().trim(),r.value&&e.push(r)}),e}checkChar(e,r){if(!this.escaped){if(e===this.operatorExpecting){this.node={type:"operator",value:e},r&&![" "," ","\r",`
24
24
  `,",",";"].includes(r)&&(this.node.noBreak=!0),this.list.push(this.node),this.node=null,this.operatorExpecting="",this.escaped=!1;return}else if(!this.operatorExpecting&&e in this.operators){this.node={type:"operator",value:e},this.list.push(this.node),this.node=null,this.operatorExpecting=this.operators[e],this.escaped=!1;return}else if(['"',"'"].includes(this.operatorExpecting)&&e==="\\"){this.escaped=!0;return}}this.node||(this.node={type:"text",value:""},this.list.push(this.node)),e===`
25
- `&&(e=" "),(e.charCodeAt(0)>=33||[" "," "].includes(e))&&(this.node.value+=e),this.escaped=!1}}const nr=50;function Be(o,e){e=e||{};let r=e._depth||0;if(r>nr)return[];let a=new sr(o).tokenize(),n=[],t=[],i=[];if(a.forEach(l=>{l.type==="operator"&&(l.value===","||l.value===";")?(t.length&&n.push(t),t=[]):t.push(l)}),t.length&&n.push(t),n.forEach(l=>{l=ar(l,r),l.length&&(i=i.concat(l))}),e.flatten){let l=[],d=c=>{c.forEach(h=>{if(h.group)return d(h.group);l.push(h)})};return d(i),l}return i}function ir(o){for(var e="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=new Uint8Array(o),a=u.byteLength,n=a%3,t=a-n,i,l,d,c,h,m=0;m<t;m=m+3)h=u[m]<<16|u[m+1]<<8|u[m+2],i=(h&16515072)>>18,l=(h&258048)>>12,d=(h&4032)>>6,c=h&63,e+=r[i]+r[l]+r[d]+r[c];return n==1?(h=u[t],i=(h&252)>>2,l=(h&3)<<4,e+=r[i]+r[l]+"=="):n==2&&(h=u[t]<<8|u[t+1],i=(h&64512)>>10,l=(h&1008)>>4,d=(h&15)<<2,e+=r[i]+r[l]+r[d]+"="),e}const or=256,lr=2*1024*1024;class Ne{static parse(e,r){return new Ne(r).parse(e)}constructor(e){this.options=e||{},this.mimeOptions={maxNestingDepth:this.options.maxNestingDepth||or,maxHeadersSize:this.options.maxHeadersSize||lr},this.root=this.currentNode=new pt({postalMime:this,...this.mimeOptions}),this.boundaries=[],this.textContent={},this.attachments=[],this.attachmentEncoding=(this.options.attachmentEncoding||"").toString().replace(/[-_\s]/g,"").trim().toLowerCase()||"arraybuffer",this.started=!1}async finalize(){await this.root.finalize()}async processLine(e,r){let u=this.boundaries;if(u.length&&e.length>2&&e[0]===45&&e[1]===45)for(let a=u.length-1;a>=0;a--){let n=u[a];if(e.length!==n.value.length+2&&e.length!==n.value.length+4)continue;let t=e.length===n.value.length+4;if(t&&(e[e.length-2]!==45||e[e.length-1]!==45))continue;let i=!0;for(let l=0;l<n.value.length;l++)if(e[l+2]!==n.value[l]){i=!1;break}if(i)return t?(await n.node.finalize(),this.currentNode=n.node.parentNode||this.root):(await n.node.finalizeChildNodes(),this.currentNode=new pt({postalMime:this,parentNode:n.node,...this.mimeOptions})),r?this.finalize():void 0}if(this.currentNode.feed(e),r)return this.finalize()}readLine(){let e=this.readPos,r=this.readPos,u=()=>({bytes:new Uint8Array(this.buf,e,r-e),done:this.readPos>=this.av.length});for(;this.readPos<this.av.length;){const a=this.av[this.readPos++];if(a!==13&&a!==10&&(r=this.readPos),a===10)return u()}return u()}async processNodeTree(){let e={},r=new Set,u=this.textMap=new Map,a=this.forceRfc822Attachments(),n=async(t,i,l)=>{if(i=i||!1,l=l||!1,t.contentType.multipart)t.contentType.multipart==="alternative"?i=t:t.contentType.multipart==="related"&&(l=t);else if(this.isInlineMessageRfc822(t)&&!a){const d=new Ne;t.subMessage=await d.parse(t.content),u.has(t)||u.set(t,{});let c=u.get(t);(t.subMessage.text||!t.subMessage.html)&&(c.plain=c.plain||[],c.plain.push({type:"subMessage",value:t.subMessage}),r.add("plain")),t.subMessage.html&&(c.html=c.html||[],c.html.push({type:"subMessage",value:t.subMessage}),r.add("html")),d.textMap&&d.textMap.forEach((h,m)=>{u.set(m,h)});for(let h of t.subMessage.attachments||[])this.attachments.push(h)}else if(this.isInlineTextNode(t)){let d=t.contentType.parsed.value.substr(t.contentType.parsed.value.indexOf("/")+1),c=i||t;u.has(c)||u.set(c,{});let h=u.get(c);h[d]=h[d]||[],h[d].push({type:"text",value:t.getTextContent()}),r.add(d)}else if(t.content){const d=t.contentDisposition.parsed.params.filename||t.contentType.parsed.params.name||null,c={filename:d?we(d):null,mimeType:t.contentType.parsed.value,disposition:t.contentDisposition.parsed.value||null};switch(l&&t.contentId&&(c.related=!0),t.contentDescription&&(c.description=t.contentDescription),t.contentId&&(c.contentId=t.contentId),t.contentType.parsed.value){case"text/calendar":case"application/ics":{t.contentType.parsed.params.method&&(c.method=t.contentType.parsed.params.method.toString().toUpperCase().trim());const h=t.getTextContent().replace(/\r?\n/g,`
25
+ `&&(e=" "),(e.charCodeAt(0)>=33||[" "," "].includes(e))&&(this.node.value+=e),this.escaped=!1}}const nr=50;function Be(o,e){e=e||{};let r=e._depth||0;if(r>nr)return[];let s=new ar(o).tokenize(),n=[],t=[],i=[];if(s.forEach(l=>{l.type==="operator"&&(l.value===","||l.value===";")?(t.length&&n.push(t),t=[]):t.push(l)}),t.length&&n.push(t),n.forEach(l=>{l=sr(l,r),l.length&&(i=i.concat(l))}),e.flatten){let l=[],c=d=>{d.forEach(p=>{if(p.group)return c(p.group);l.push(p)})};return c(i),l}return i}function ir(o){for(var e="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=new Uint8Array(o),s=u.byteLength,n=s%3,t=s-n,i,l,c,d,p,m=0;m<t;m=m+3)p=u[m]<<16|u[m+1]<<8|u[m+2],i=(p&16515072)>>18,l=(p&258048)>>12,c=(p&4032)>>6,d=p&63,e+=r[i]+r[l]+r[c]+r[d];return n==1?(p=u[t],i=(p&252)>>2,l=(p&3)<<4,e+=r[i]+r[l]+"=="):n==2&&(p=u[t]<<8|u[t+1],i=(p&64512)>>10,l=(p&1008)>>4,c=(p&15)<<2,e+=r[i]+r[l]+r[c]+"="),e}const or=256,lr=2*1024*1024;class Re{static parse(e,r){return new Re(r).parse(e)}constructor(e){this.options=e||{},this.mimeOptions={maxNestingDepth:this.options.maxNestingDepth||or,maxHeadersSize:this.options.maxHeadersSize||lr},this.root=this.currentNode=new pt({postalMime:this,...this.mimeOptions}),this.boundaries=[],this.textContent={},this.attachments=[],this.attachmentEncoding=(this.options.attachmentEncoding||"").toString().replace(/[-_\s]/g,"").trim().toLowerCase()||"arraybuffer",this.started=!1}async finalize(){await this.root.finalize()}async processLine(e,r){let u=this.boundaries;if(u.length&&e.length>2&&e[0]===45&&e[1]===45)for(let s=u.length-1;s>=0;s--){let n=u[s];if(e.length!==n.value.length+2&&e.length!==n.value.length+4)continue;let t=e.length===n.value.length+4;if(t&&(e[e.length-2]!==45||e[e.length-1]!==45))continue;let i=!0;for(let l=0;l<n.value.length;l++)if(e[l+2]!==n.value[l]){i=!1;break}if(i)return t?(await n.node.finalize(),this.currentNode=n.node.parentNode||this.root):(await n.node.finalizeChildNodes(),this.currentNode=new pt({postalMime:this,parentNode:n.node,...this.mimeOptions})),r?this.finalize():void 0}if(this.currentNode.feed(e),r)return this.finalize()}readLine(){let e=this.readPos,r=this.readPos,u=()=>({bytes:new Uint8Array(this.buf,e,r-e),done:this.readPos>=this.av.length});for(;this.readPos<this.av.length;){const s=this.av[this.readPos++];if(s!==13&&s!==10&&(r=this.readPos),s===10)return u()}return u()}async processNodeTree(){let e={},r=new Set,u=this.textMap=new Map,s=this.forceRfc822Attachments(),n=async(t,i,l)=>{if(i=i||!1,l=l||!1,t.contentType.multipart)t.contentType.multipart==="alternative"?i=t:t.contentType.multipart==="related"&&(l=t);else if(this.isInlineMessageRfc822(t)&&!s){const c=new Re;t.subMessage=await c.parse(t.content),u.has(t)||u.set(t,{});let d=u.get(t);(t.subMessage.text||!t.subMessage.html)&&(d.plain=d.plain||[],d.plain.push({type:"subMessage",value:t.subMessage}),r.add("plain")),t.subMessage.html&&(d.html=d.html||[],d.html.push({type:"subMessage",value:t.subMessage}),r.add("html")),c.textMap&&c.textMap.forEach((p,m)=>{u.set(m,p)});for(let p of t.subMessage.attachments||[])this.attachments.push(p)}else if(this.isInlineTextNode(t)){let c=t.contentType.parsed.value.substr(t.contentType.parsed.value.indexOf("/")+1),d=i||t;u.has(d)||u.set(d,{});let p=u.get(d);p[c]=p[c]||[],p[c].push({type:"text",value:t.getTextContent()}),r.add(c)}else if(t.content){const c=t.contentDisposition.parsed.params.filename||t.contentType.parsed.params.name||null,d={filename:c?Ce(c):null,mimeType:t.contentType.parsed.value,disposition:t.contentDisposition.parsed.value||null};switch(l&&t.contentId&&(d.related=!0),t.contentDescription&&(d.description=t.contentDescription),t.contentId&&(d.contentId=t.contentId),t.contentType.parsed.value){case"text/calendar":case"application/ics":{t.contentType.parsed.params.method&&(d.method=t.contentType.parsed.params.method.toString().toUpperCase().trim());const p=t.getTextContent().replace(/\r?\n/g,`
26
26
  `).replace(/\n*$/,`
27
- `);c.content=fe.encode(h);break}default:c.content=t.content}this.attachments.push(c)}for(let d of t.childNodes)await n(d,i,l)};await n(this.root,!1,[]),u.forEach(t=>{r.forEach(i=>{if(e[i]||(e[i]=[]),t[i])t[i].forEach(l=>{switch(l.type){case"text":e[i].push(l.value);break;case"subMessage":switch(i){case"html":e[i].push(mt(l.value));break;case"plain":e[i].push(gt(l.value));break}break}});else{let l;switch(i){case"html":l="plain";break;case"plain":l="html";break}(t[l]||[]).forEach(d=>{switch(d.type){case"text":switch(i){case"html":e[i].push(tr(d.value));break;case"plain":e[i].push(rr(d.value));break}break;case"subMessage":switch(i){case"html":e[i].push(mt(d.value));break;case"plain":e[i].push(gt(d.value));break}break}})}})}),Object.keys(e).forEach(t=>{e[t]=e[t].join(`
28
- `)}),this.textContent=e}isInlineTextNode(e){if(e.contentDisposition.parsed.value==="attachment")return!1;switch(e.contentType.parsed.value){case"text/html":case"text/plain":return!0;case"text/calendar":case"text/csv":default:return!1}}isInlineMessageRfc822(e){return e.contentType.parsed.value!=="message/rfc822"?!1:(e.contentDisposition.parsed.value||(this.options.rfc822Attachments?"attachment":"inline"))==="inline"}forceRfc822Attachments(){if(this.options.forceRfc822Attachments)return!0;let e=!1,r=u=>{u.contentType.multipart||["message/delivery-status","message/feedback-report"].includes(u.contentType.parsed.value)&&(e=!0);for(let a of u.childNodes)r(a)};return r(this.root),e}async resolveStream(e){let r=0,u=[];const a=e.getReader();for(;;){const{done:i,value:l}=await a.read();if(i)break;u.push(l),r+=l.length}const n=new Uint8Array(r);let t=0;for(let i of u)n.set(i,t),t+=i.length;return n}async parse(e){var a,n;if(this.started)throw new Error("Can not reuse parser, create a new PostalMime object");for(this.started=!0,e&&typeof e.getReader=="function"&&(e=await this.resolveStream(e)),e=e||new ArrayBuffer(0),typeof e=="string"&&(e=fe.encode(e)),(e instanceof Blob||Object.prototype.toString.call(e)==="[object Blob]")&&(e=await Oe(e)),e.buffer instanceof ArrayBuffer&&(e=new Uint8Array(e).buffer),this.buf=e,this.av=new Uint8Array(e),this.readPos=0;this.readPos<this.av.length;){const t=this.readLine();await this.processLine(t.bytes,t.done)}await this.processNodeTree();const r={headers:this.root.headers.map(t=>({key:t.key,value:t.value})).reverse()};for(const t of["from","sender"]){const i=this.root.headers.find(l=>l.key===t);if(i&&i.value){const l=Be(i.value);l&&l.length&&(r[t]=l[0])}}for(const t of["delivered-to","return-path"]){const i=this.root.headers.find(l=>l.key===t);if(i&&i.value){const l=Be(i.value);if(l&&l.length&&l[0].address){const d=t.replace(/\-(.)/g,(c,h)=>h.toUpperCase());r[d]=l[0].address}}}for(const t of["to","cc","bcc","reply-to"]){const i=this.root.headers.filter(d=>d.key===t);let l=[];if(i.filter(d=>d&&d.value).map(d=>Be(d.value)).forEach(d=>l=l.concat(d||[])),l&&l.length){const d=t.replace(/\-(.)/g,(c,h)=>h.toUpperCase());r[d]=l}}for(const t of["subject","message-id","in-reply-to","references"]){const i=this.root.headers.find(l=>l.key===t);if(i&&i.value){const l=t.replace(/\-(.)/g,(d,c)=>c.toUpperCase());r[l]=we(i.value)}}let u=this.root.headers.find(t=>t.key==="date");if(u){let t=new Date(u.value);!t||t.toString()==="Invalid Date"?t=u.value:t=t.toISOString(),r.date=t}switch((a=this.textContent)!=null&&a.html&&(r.html=this.textContent.html),(n=this.textContent)!=null&&n.plain&&(r.text=this.textContent.plain),r.attachments=this.attachments,this.attachmentEncoding){case"arraybuffer":break;case"base64":for(let i of r.attachments||[])i!=null&&i.content&&(i.content=ir(i.content),i.encoding="base64");break;case"utf8":let t=new TextDecoder("utf8");for(let i of r.attachments||[])i!=null&&i.content&&(i.content=t.decode(i.content),i.encoding="utf8");break;default:throw new Error("Unknwon attachment encoding")}return r}}class vt{constructor(e){ye(this,"config");if(!e.system_id)throw new Error("MailClient: system_id is REQUIRED");this.config=e}async callCoprocessor(e,r,u={}){const a={coprocessor:e,method:r,system_id:this.config.system_id,params:{user_id:this.config.system_id,...u}};try{const n=await fetch(`${this.config.baseUrl}/spu/invoke`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.getToken()}`},body:JSON.stringify(a)});if(!n.ok){const i=await n.text();throw new Error(`API error (${n.status}): ${i}`)}const t=await n.json();if(!t.success&&t.error)throw new Error(t.error);return t.result}catch(n){throw console.error("API call failed:",n),n}}async callMail(e,r={}){return this.callCoprocessor("mail",e,r)}async callEmail(e,r={}){return this.callCoprocessor("email",e,r)}getToken(){return typeof window<"u"&&window.localStorage&&localStorage.getItem("qwanyx_token")||""}async getSettings(){try{return await this.callMail("get_email_settings")||{accounts:[]}}catch{return{accounts:[]}}}async saveSettings(e){await this.callMail("save_email_settings",{accounts:e})}async listEmails(e,r=20,u){return this.callMail("list_emails",{account_id:e,limit:r,folder:u})}async deleteEmails(e,r,u=!0){return this.callMail("delete_emails",{account_id:e,uids:r,expunge:u})}async imapExec(e,r){return this.callMail("imap_exec",{account_id:e,commands:r})}async trashEmails(e,r){const u=["[Gmail]/Trash","[Gmail]/Corbeille","[Gmail]/Bin","Trash"];for(const a of u){const n=["SELECT INBOX",...r.map(l=>`UID MOVE ${l} ${a}`)],i=(await this.imapExec(e,n)).responses.filter(l=>l.ok&&l.command==="UID MOVE").length;if(i>0)return{success:!0,moved:i}}return{success:!1,moved:0}}async archiveEmails(e,r){const u=["SELECT INBOX",...r.map(t=>`UID STORE ${t} +FLAGS (\\Deleted)`),"EXPUNGE"],n=(await this.imapExec(e,u)).responses.filter(t=>t.ok&&t.command==="UID STORE").length;return{success:n>0,archived:n}}async listFolders(e){const u=(await this.imapExec(e,['LIST "" *'])).responses.find(a=>a.command==="LIST");return u!=null&&u.ok&&u.folders?{success:!0,folders:u.folders}:{success:!1,folders:[]}}async listEmailsSorted(e,r="INBOX",u=20){const a=await this.imapExec(e,[`SELECT ${r}`,"FETCH 1:* (UID INTERNALDATE)"]),n=a.responses.find(A=>A.command==="SELECT");if(!(n!=null&&n.ok))throw new Error(`Failed to select folder: ${(n==null?void 0:n.error)||"Unknown error"}`);const t=a.responses.find(A=>A.command==="FETCH");if(!(t!=null&&t.ok)||!t.messages)return{account:{id:e,label:"",email:""},mailbox:{name:r,total:n.exists||0},messages:[]};const l=[...t.messages].sort((A,w)=>{const k=A.internalDate?new Date(A.internalDate).getTime():0;return(w.internalDate?new Date(w.internalDate).getTime():0)-k}).slice(0,u).map(A=>A.uid).filter(Boolean);if(l.length===0)return{account:{id:e,label:"",email:""},mailbox:{name:r,total:n.exists||0},messages:[]};const c=(await this.imapExec(e,[`SELECT ${r}`,`UID FETCH ${l.join(",")} (UID FLAGS ENVELOPE)`])).responses.find(A=>A.command==="UID FETCH");if(!(c!=null&&c.ok)||!c.messages)throw new Error(`Failed to fetch details: ${(c==null?void 0:c.error)||"Unknown error"}`);const h=new Map;for(const A of c.messages)A.uid&&h.set(A.uid,A);const m=l.map(A=>{var I,b,L,y,R;const w=h.get(A);if(!w)return null;const k=((I=w.flags)==null?void 0:I.some(O=>O.includes("Seen")))||!1,G=((L=(b=w.envelope)==null?void 0:b.from)==null?void 0:L.email)||"Unknown",P=((y=w.envelope)==null?void 0:y.subject)||"(No subject)",B=((R=w.envelope)==null?void 0:R.date)||"";return{uid:A,from:G,subject:P,date:B,seen:k}}).filter(Boolean);return{account:{id:e,label:"",email:""},mailbox:{name:r,total:n.exists||0},messages:m}}async getEmail(e,r,u="INBOX"){return this.callMail("get_email",{account_id:e,uid:r,folder:u})}async getEmailParsed(e,r,u="INBOX"){var w,k,G,P;const n=(await this.imapExec(e,[`SELECT "${u}"`,`UID FETCH ${r} (FLAGS BODY[])`])).responses.find(B=>B.command==="UID FETCH");if(!(n!=null&&n.ok)||!((w=n.messages)!=null&&w[0]))return console.error("Failed to fetch raw email:",n==null?void 0:n.error),null;const t=n.messages[0],i=t.body||t.raw;if(!i)return console.error("No raw email content in response"),null;const d=await new Ne().parse(i),c=new Map;for(const B of d.attachments||[])if(B.contentId){const I=this.contentToBase64(B.content),b=`data:${B.mimeType};base64,${I}`,L=B.contentId.replace(/^<|>$/g,"");c.set(L,b),c.set(`<${L}>`,b)}let h=d.html||"";h&&c.size>0&&(h=h.replace(/src=["']cid:([^"']+)["']/gi,(B,I)=>{const b=c.get(I)||c.get(`<${I}>`);return b?`src="${b}"`:B}));const m=((k=t.flags)==null?void 0:k.some(B=>B.toLowerCase().includes("seen")))||!1,A=((G=d.from)==null?void 0:G.address)||((P=d.from)==null?void 0:P.name)||"Unknown";return{uid:r,from:A,subject:d.subject||"(No subject)",date:d.date||"",body:h||d.text||"",html:h,text:d.text||"",seen:m,attachments:(d.attachments||[]).map(B=>({filename:B.filename||"attachment",mimeType:B.mimeType||"application/octet-stream",size:this.getContentSize(B.content)}))}}contentToBase64(e){if(typeof e=="string")try{return btoa(e)}catch{return e}const r=e instanceof Uint8Array?e:new Uint8Array(e);let u="";for(let a=0;a<r.byteLength;a++)u+=String.fromCharCode(r[a]);return btoa(u)}getContentSize(e){return e?typeof e=="string"?e.length:(e instanceof Uint8Array,e.byteLength):0}async sendMail(e){const r={to:e.to,subject:e.subject,body:e.body};return e.html&&(r.html=e.html),e.from&&(r.from=e.from),e.smtpConfig&&(r.smtp_config=e.smtpConfig),this.callEmail("send",r)}}const Xe="qwanyx_auth_token",Ze="qwanyx_refresh_token";class Et{static setToken(e){typeof window<"u"&&localStorage.setItem(Xe,e)}static getToken(){return typeof window<"u"?localStorage.getItem(Xe):null}static clearToken(){typeof window<"u"&&(localStorage.removeItem(Xe),localStorage.removeItem(Ze))}static setRefreshToken(e){typeof window<"u"&&localStorage.setItem(Ze,e)}static getRefreshToken(){return typeof window<"u"?localStorage.getItem(Ze):null}static isAuthenticated(){return!!this.getToken()}static getAuthHeader(){const e=this.getToken();return e?{Authorization:`Bearer ${e}`}:{}}}class xt{constructor(e){ye(this,"config");this.config={timeout:3e4,headers:{"Content-Type":"application/json"},...e}}buildQueryString(e){if(!e||Object.keys(e).length===0)return"";const r=new URLSearchParams;Object.entries(e).forEach(([a,n])=>{n!=null&&r.append(a,String(n))});const u=r.toString();return u?`?${u}`:""}async request(e,r={}){const{method:u="GET",headers:a={},body:n,params:t}=r,i=`${this.config.baseUrl}/${e}${this.buildQueryString(t)}`,l={...this.config.headers,...Et.getAuthHeader(),...a},d={method:u,headers:l};n&&u!=="GET"&&(d.body=JSON.stringify(n));try{const c=new AbortController,h=setTimeout(()=>c.abort(),this.config.timeout),m=await fetch(i,{...d,signal:c.signal});if(clearTimeout(h),!m.ok){const A=await m.json().catch(()=>({message:m.statusText}));throw new Error(A.message||`HTTP ${m.status}`)}return await m.json()}catch(c){throw c instanceof Error?c:new Error("An unexpected error occurred")}}async get(e,r){return this.request(e,{method:"GET",params:r})}async post(e,r,u){return this.request(e,{method:"POST",body:r,params:u})}async put(e,r,u){return this.request(e,{method:"PUT",body:r,params:u})}async patch(e,r,u){return this.request(e,{method:"PATCH",body:r,params:u})}async delete(e,r){return this.request(e,{method:"DELETE",params:r})}setBaseUrl(e){this.config.baseUrl=e}getBaseUrl(){return this.config.baseUrl}}let Le=null;function cr(o){return Le=new xt(o),Le}function rt(){if(!Le)throw new Error("API client not initialized. Call initializeApiClient() first.");return Le}function Ct(o,e,r={}){const{enabled:u=!0,refetchOnMount:a=!0,onSuccess:n,onError:t}=r,[i,l]=v.useState(null),[d,c]=v.useState(u),[h,m]=v.useState(null),A=v.useCallback(async()=>{if(u){c(!0),m(null);try{const k=await rt().get(o,e);l(k),n==null||n(k)}catch(w){const k=w instanceof Error?w:new Error("Unknown error");m(k),t==null||t(k)}finally{c(!1)}}},[o,JSON.stringify(e),u,n,t]);return v.useEffect(()=>{a&&A()},[A,a]),{data:i,loading:d,error:h,refetch:A}}function dr(o,e="POST",r={}){const{onSuccess:u,onError:a}=r,[n,t]=v.useState(null),[i,l]=v.useState(!1),[d,c]=v.useState(null),h=v.useCallback(async A=>{l(!0),c(null);try{const w=rt();let k;switch(e){case"POST":k=await w.post(o,A);break;case"PUT":k=await w.put(o,A);break;case"PATCH":k=await w.patch(o,A);break;case"DELETE":k=await w.delete(o);break;default:throw new Error(`Unsupported method: ${e}`)}return t(k),u==null||u(k,A),k}catch(w){const k=w instanceof Error?w:new Error("Unknown error");return c(k),a==null||a(k,A),null}finally{l(!1)}},[o,e,u,a]),m=v.useCallback(()=>{t(null),c(null),l(!1)},[]);return{data:n,loading:i,error:d,mutate:h,reset:m}}var tt={exports:{}},ve={};/**
27
+ `);d.content=fe.encode(p);break}default:d.content=t.content}this.attachments.push(d)}for(let c of t.childNodes)await n(c,i,l)};await n(this.root,!1,[]),u.forEach(t=>{r.forEach(i=>{if(e[i]||(e[i]=[]),t[i])t[i].forEach(l=>{switch(l.type){case"text":e[i].push(l.value);break;case"subMessage":switch(i){case"html":e[i].push(mt(l.value));break;case"plain":e[i].push(gt(l.value));break}break}});else{let l;switch(i){case"html":l="plain";break;case"plain":l="html";break}(t[l]||[]).forEach(c=>{switch(c.type){case"text":switch(i){case"html":e[i].push(tr(c.value));break;case"plain":e[i].push(rr(c.value));break}break;case"subMessage":switch(i){case"html":e[i].push(mt(c.value));break;case"plain":e[i].push(gt(c.value));break}break}})}})}),Object.keys(e).forEach(t=>{e[t]=e[t].join(`
28
+ `)}),this.textContent=e}isInlineTextNode(e){if(e.contentDisposition.parsed.value==="attachment")return!1;switch(e.contentType.parsed.value){case"text/html":case"text/plain":return!0;case"text/calendar":case"text/csv":default:return!1}}isInlineMessageRfc822(e){return e.contentType.parsed.value!=="message/rfc822"?!1:(e.contentDisposition.parsed.value||(this.options.rfc822Attachments?"attachment":"inline"))==="inline"}forceRfc822Attachments(){if(this.options.forceRfc822Attachments)return!0;let e=!1,r=u=>{u.contentType.multipart||["message/delivery-status","message/feedback-report"].includes(u.contentType.parsed.value)&&(e=!0);for(let s of u.childNodes)r(s)};return r(this.root),e}async resolveStream(e){let r=0,u=[];const s=e.getReader();for(;;){const{done:i,value:l}=await s.read();if(i)break;u.push(l),r+=l.length}const n=new Uint8Array(r);let t=0;for(let i of u)n.set(i,t),t+=i.length;return n}async parse(e){var s,n;if(this.started)throw new Error("Can not reuse parser, create a new PostalMime object");for(this.started=!0,e&&typeof e.getReader=="function"&&(e=await this.resolveStream(e)),e=e||new ArrayBuffer(0),typeof e=="string"&&(e=fe.encode(e)),(e instanceof Blob||Object.prototype.toString.call(e)==="[object Blob]")&&(e=await Oe(e)),e.buffer instanceof ArrayBuffer&&(e=new Uint8Array(e).buffer),this.buf=e,this.av=new Uint8Array(e),this.readPos=0;this.readPos<this.av.length;){const t=this.readLine();await this.processLine(t.bytes,t.done)}await this.processNodeTree();const r={headers:this.root.headers.map(t=>({key:t.key,value:t.value})).reverse()};for(const t of["from","sender"]){const i=this.root.headers.find(l=>l.key===t);if(i&&i.value){const l=Be(i.value);l&&l.length&&(r[t]=l[0])}}for(const t of["delivered-to","return-path"]){const i=this.root.headers.find(l=>l.key===t);if(i&&i.value){const l=Be(i.value);if(l&&l.length&&l[0].address){const c=t.replace(/\-(.)/g,(d,p)=>p.toUpperCase());r[c]=l[0].address}}}for(const t of["to","cc","bcc","reply-to"]){const i=this.root.headers.filter(c=>c.key===t);let l=[];if(i.filter(c=>c&&c.value).map(c=>Be(c.value)).forEach(c=>l=l.concat(c||[])),l&&l.length){const c=t.replace(/\-(.)/g,(d,p)=>p.toUpperCase());r[c]=l}}for(const t of["subject","message-id","in-reply-to","references"]){const i=this.root.headers.find(l=>l.key===t);if(i&&i.value){const l=t.replace(/\-(.)/g,(c,d)=>d.toUpperCase());r[l]=Ce(i.value)}}let u=this.root.headers.find(t=>t.key==="date");if(u){let t=new Date(u.value);!t||t.toString()==="Invalid Date"?t=u.value:t=t.toISOString(),r.date=t}switch((s=this.textContent)!=null&&s.html&&(r.html=this.textContent.html),(n=this.textContent)!=null&&n.plain&&(r.text=this.textContent.plain),r.attachments=this.attachments,this.attachmentEncoding){case"arraybuffer":break;case"base64":for(let i of r.attachments||[])i!=null&&i.content&&(i.content=ir(i.content),i.encoding="base64");break;case"utf8":let t=new TextDecoder("utf8");for(let i of r.attachments||[])i!=null&&i.content&&(i.content=t.decode(i.content),i.encoding="utf8");break;default:throw new Error("Unknwon attachment encoding")}return r}}class xt{constructor(e){ye(this,"config");if(!e.system_id)throw new Error("MailClient: system_id is REQUIRED");this.config=e}async callCoprocessor(e,r,u={}){const s={coprocessor:e,method:r,system_id:this.config.system_id,params:{user_id:this.config.system_id,...u}};try{const n=await fetch(`${this.config.baseUrl}/spu/invoke`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.getToken()}`},body:JSON.stringify(s)});if(!n.ok){const i=await n.text();throw new Error(`API error (${n.status}): ${i}`)}const t=await n.json();if(!t.success&&t.error)throw new Error(t.error);return t.result}catch(n){throw console.error("API call failed:",n),n}}async callMail(e,r={}){return this.callCoprocessor("mail",e,r)}async callEmail(e,r={}){return this.callCoprocessor("email",e,r)}getToken(){return typeof window<"u"&&window.localStorage&&localStorage.getItem("qwanyx_token")||""}async getSettings(){try{return await this.callMail("get_email_settings")||{accounts:[]}}catch{return{accounts:[]}}}async saveSettings(e){await this.callMail("save_email_settings",{accounts:e})}async listEmails(e,r=20,u){return this.callMail("list_emails",{account_id:e,limit:r,folder:u})}async deleteEmails(e,r,u=!0){return this.callMail("delete_emails",{account_id:e,uids:r,expunge:u})}async imapExec(e,r){return this.callMail("imap_exec",{account_id:e,commands:r})}async trashEmails(e,r){const u=["[Gmail]/Trash","[Gmail]/Corbeille","[Gmail]/Bin","Trash"];for(const s of u){const n=["SELECT INBOX",...r.map(l=>`UID MOVE ${l} ${s}`)],i=(await this.imapExec(e,n)).responses.filter(l=>l.ok&&l.command==="UID MOVE").length;if(i>0)return{success:!0,moved:i}}return{success:!1,moved:0}}async archiveEmails(e,r){const u=["SELECT INBOX",...r.map(t=>`UID STORE ${t} +FLAGS (\\Deleted)`),"EXPUNGE"],n=(await this.imapExec(e,u)).responses.filter(t=>t.ok&&t.command==="UID STORE").length;return{success:n>0,archived:n}}async listFolders(e){const u=(await this.imapExec(e,['LIST "" *'])).responses.find(s=>s.command==="LIST");return u!=null&&u.ok&&u.folders?{success:!0,folders:u.folders}:{success:!1,folders:[]}}async listEmailsSorted(e,r="INBOX",u=20){const s=await this.imapExec(e,[`SELECT ${r}`,"FETCH 1:* (UID INTERNALDATE)"]),n=s.responses.find(D=>D.command==="SELECT");if(!(n!=null&&n.ok))throw new Error(`Failed to select folder: ${(n==null?void 0:n.error)||"Unknown error"}`);const t=s.responses.find(D=>D.command==="FETCH");if(!(t!=null&&t.ok)||!t.messages)return{account:{id:e,label:"",email:""},mailbox:{name:r,total:n.exists||0},messages:[]};const l=[...t.messages].sort((D,w)=>{const k=D.internalDate?new Date(D.internalDate).getTime():0;return(w.internalDate?new Date(w.internalDate).getTime():0)-k}).slice(0,u).map(D=>D.uid).filter(Boolean);if(l.length===0)return{account:{id:e,label:"",email:""},mailbox:{name:r,total:n.exists||0},messages:[]};const d=(await this.imapExec(e,[`SELECT ${r}`,`UID FETCH ${l.join(",")} (UID FLAGS ENVELOPE)`])).responses.find(D=>D.command==="UID FETCH");if(!(d!=null&&d.ok)||!d.messages)throw new Error(`Failed to fetch details: ${(d==null?void 0:d.error)||"Unknown error"}`);const p=new Map;for(const D of d.messages)D.uid&&p.set(D.uid,D);const m=l.map(D=>{var U,g,F,y,N;const w=p.get(D);if(!w)return null;const k=((U=w.flags)==null?void 0:U.some(P=>P.includes("Seen")))||!1,M=((F=(g=w.envelope)==null?void 0:g.from)==null?void 0:F.email)||"Unknown",O=((y=w.envelope)==null?void 0:y.subject)||"(No subject)",B=((N=w.envelope)==null?void 0:N.date)||"";return{uid:D,from:M,subject:O,date:B,seen:k}}).filter(Boolean);return{account:{id:e,label:"",email:""},mailbox:{name:r,total:n.exists||0},messages:m}}async getEmail(e,r,u="INBOX"){return this.callMail("get_email",{account_id:e,uid:r,folder:u})}async getAttachment(e,r,u,s="INBOX"){return this.callMail("get_attachment",{account_id:e,uid:r,attachment_index:u,folder:s})}async getEmailParsed(e,r,u="INBOX"){var w,k,M,O;const n=(await this.imapExec(e,[`SELECT "${u}"`,`UID FETCH ${r} (FLAGS BODY[])`])).responses.find(B=>B.command==="UID FETCH");if(!(n!=null&&n.ok)||!((w=n.messages)!=null&&w[0]))return console.error("Failed to fetch raw email:",n==null?void 0:n.error),null;const t=n.messages[0],i=t.body||t.raw;if(!i)return console.error("No raw email content in response"),null;const c=await new Re().parse(i),d=new Map;for(const B of c.attachments||[])if(B.contentId){const U=this.contentToBase64(B.content),g=`data:${B.mimeType};base64,${U}`,F=B.contentId.replace(/^<|>$/g,"");d.set(F,g),d.set(`<${F}>`,g)}let p=c.html||"";p&&d.size>0&&(p=p.replace(/src=["']cid:([^"']+)["']/gi,(B,U)=>{const g=d.get(U)||d.get(`<${U}>`);return g?`src="${g}"`:B}));const m=((k=t.flags)==null?void 0:k.some(B=>B.toLowerCase().includes("seen")))||!1,D=((M=c.from)==null?void 0:M.address)||((O=c.from)==null?void 0:O.name)||"Unknown";return{uid:r,from:D,subject:c.subject||"(No subject)",date:c.date||"",body:p||c.text||"",html:p,text:c.text||"",seen:m,attachments:(c.attachments||[]).map(B=>({filename:B.filename||"attachment",mimeType:B.mimeType||"application/octet-stream",size:this.getContentSize(B.content)}))}}contentToBase64(e){if(typeof e=="string")try{return btoa(e)}catch{return e}const r=e instanceof Uint8Array?e:new Uint8Array(e);let u="";for(let s=0;s<r.byteLength;s++)u+=String.fromCharCode(r[s]);return btoa(u)}getContentSize(e){return e?typeof e=="string"?e.length:(e instanceof Uint8Array,e.byteLength):0}async sendMail(e){const r={to:e.to,subject:e.subject,body:e.body};return e.html&&(r.html=e.html),e.from&&(r.from=e.from),e.smtpConfig&&(r.smtp_config=e.smtpConfig),this.callEmail("send",r)}}const Xe="qwanyx_auth_token",Ze="qwanyx_refresh_token";class vt{static setToken(e){typeof window<"u"&&localStorage.setItem(Xe,e)}static getToken(){return typeof window<"u"?localStorage.getItem(Xe):null}static clearToken(){typeof window<"u"&&(localStorage.removeItem(Xe),localStorage.removeItem(Ze))}static setRefreshToken(e){typeof window<"u"&&localStorage.setItem(Ze,e)}static getRefreshToken(){return typeof window<"u"?localStorage.getItem(Ze):null}static isAuthenticated(){return!!this.getToken()}static getAuthHeader(){const e=this.getToken();return e?{Authorization:`Bearer ${e}`}:{}}}class Et{constructor(e){ye(this,"config");this.config={timeout:3e4,headers:{"Content-Type":"application/json"},...e}}buildQueryString(e){if(!e||Object.keys(e).length===0)return"";const r=new URLSearchParams;Object.entries(e).forEach(([s,n])=>{n!=null&&r.append(s,String(n))});const u=r.toString();return u?`?${u}`:""}async request(e,r={}){const{method:u="GET",headers:s={},body:n,params:t}=r,i=`${this.config.baseUrl}/${e}${this.buildQueryString(t)}`,l={...this.config.headers,...vt.getAuthHeader(),...s},c={method:u,headers:l};n&&u!=="GET"&&(c.body=JSON.stringify(n));try{const d=new AbortController,p=setTimeout(()=>d.abort(),this.config.timeout),m=await fetch(i,{...c,signal:d.signal});if(clearTimeout(p),!m.ok){const D=await m.json().catch(()=>({message:m.statusText}));throw new Error(D.message||`HTTP ${m.status}`)}return await m.json()}catch(d){throw d instanceof Error?d:new Error("An unexpected error occurred")}}async get(e,r){return this.request(e,{method:"GET",params:r})}async post(e,r,u){return this.request(e,{method:"POST",body:r,params:u})}async put(e,r,u){return this.request(e,{method:"PUT",body:r,params:u})}async patch(e,r,u){return this.request(e,{method:"PATCH",body:r,params:u})}async delete(e,r){return this.request(e,{method:"DELETE",params:r})}setBaseUrl(e){this.config.baseUrl=e}getBaseUrl(){return this.config.baseUrl}}let Le=null;function cr(o){return Le=new Et(o),Le}function rt(){if(!Le)throw new Error("API client not initialized. Call initializeApiClient() first.");return Le}function wt(o,e,r={}){const{enabled:u=!0,refetchOnMount:s=!0,onSuccess:n,onError:t}=r,[i,l]=x.useState(null),[c,d]=x.useState(u),[p,m]=x.useState(null),D=x.useCallback(async()=>{if(u){d(!0),m(null);try{const k=await rt().get(o,e);l(k),n==null||n(k)}catch(w){const k=w instanceof Error?w:new Error("Unknown error");m(k),t==null||t(k)}finally{d(!1)}}},[o,JSON.stringify(e),u,n,t]);return x.useEffect(()=>{s&&D()},[D,s]),{data:i,loading:c,error:p,refetch:D}}function dr(o,e="POST",r={}){const{onSuccess:u,onError:s}=r,[n,t]=x.useState(null),[i,l]=x.useState(!1),[c,d]=x.useState(null),p=x.useCallback(async D=>{l(!0),d(null);try{const w=rt();let k;switch(e){case"POST":k=await w.post(o,D);break;case"PUT":k=await w.put(o,D);break;case"PATCH":k=await w.patch(o,D);break;case"DELETE":k=await w.delete(o);break;default:throw new Error(`Unsupported method: ${e}`)}return t(k),u==null||u(k,D),k}catch(w){const k=w instanceof Error?w:new Error("Unknown error");return d(k),s==null||s(k,D),null}finally{l(!1)}},[o,e,u,s]),m=x.useCallback(()=>{t(null),d(null),l(!1)},[]);return{data:n,loading:i,error:c,mutate:p,reset:m}}var tt={exports:{}},xe={};/**
29
29
  * @license React
30
30
  * react-jsx-runtime.production.min.js
31
31
  *
@@ -33,7 +33,7 @@ ${a}
33
33
  *
34
34
  * This source code is licensed under the MIT license found in the
35
35
  * LICENSE file in the root directory of this source tree.
36
- */var Dt;function fr(){if(Dt)return ve;Dt=1;var o=v,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),u=Object.prototype.hasOwnProperty,a=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n={key:!0,ref:!0,__self:!0,__source:!0};function t(i,l,d){var c,h={},m=null,A=null;d!==void 0&&(m=""+d),l.key!==void 0&&(m=""+l.key),l.ref!==void 0&&(A=l.ref);for(c in l)u.call(l,c)&&!n.hasOwnProperty(c)&&(h[c]=l[c]);if(i&&i.defaultProps)for(c in l=i.defaultProps,l)h[c]===void 0&&(h[c]=l[c]);return{$$typeof:e,type:i,key:m,ref:A,props:h,_owner:a.current}}return ve.Fragment=r,ve.jsx=t,ve.jsxs=t,ve}var Ee={};/**
36
+ */var Dt;function fr(){if(Dt)return xe;Dt=1;var o=x,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),u=Object.prototype.hasOwnProperty,s=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n={key:!0,ref:!0,__self:!0,__source:!0};function t(i,l,c){var d,p={},m=null,D=null;c!==void 0&&(m=""+c),l.key!==void 0&&(m=""+l.key),l.ref!==void 0&&(D=l.ref);for(d in l)u.call(l,d)&&!n.hasOwnProperty(d)&&(p[d]=l[d]);if(i&&i.defaultProps)for(d in l=i.defaultProps,l)p[d]===void 0&&(p[d]=l[d]);return{$$typeof:e,type:i,key:m,ref:D,props:p,_owner:s.current}}return xe.Fragment=r,xe.jsx=t,xe.jsxs=t,xe}var ve={};/**
37
37
  * @license React
38
38
  * react-jsx-runtime.development.js
39
39
  *
@@ -41,21 +41,21 @@ ${a}
41
41
  *
42
42
  * This source code is licensed under the MIT license found in the
43
43
  * LICENSE file in the root directory of this source tree.
44
- */var At;function pr(){return At||(At=1,process.env.NODE_ENV!=="production"&&function(){var o=v,e=Symbol.for("react.element"),r=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),n=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),i=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),A=Symbol.for("react.offscreen"),w=Symbol.iterator,k="@@iterator";function G(s){if(s===null||typeof s!="object")return null;var p=w&&s[w]||s[k];return typeof p=="function"?p:null}var P=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function B(s){{for(var p=arguments.length,g=new Array(p>1?p-1:0),x=1;x<p;x++)g[x-1]=arguments[x];I("error",s,g)}}function I(s,p,g){{var x=P.ReactDebugCurrentFrame,_=x.getStackAddendum();_!==""&&(p+="%s",g=g.concat([_]));var N=g.map(function(q){return String(q)});N.unshift("Warning: "+p),Function.prototype.apply.call(console[s],console,N)}}var b=!1,L=!1,y=!1,R=!1,O=!1,F;F=Symbol.for("react.module.reference");function j(s){return!!(typeof s=="string"||typeof s=="function"||s===u||s===n||O||s===a||s===d||s===c||R||s===A||b||L||y||typeof s=="object"&&s!==null&&(s.$$typeof===m||s.$$typeof===h||s.$$typeof===t||s.$$typeof===i||s.$$typeof===l||s.$$typeof===F||s.getModuleId!==void 0))}function E(s,p,g){var x=s.displayName;if(x)return x;var _=p.displayName||p.name||"";return _!==""?g+"("+_+")":g}function H(s){return s.displayName||"Context"}function M(s){if(s==null)return null;if(typeof s.tag=="number"&&B("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case u:return"Fragment";case r:return"Portal";case n:return"Profiler";case a:return"StrictMode";case d:return"Suspense";case c:return"SuspenseList"}if(typeof s=="object")switch(s.$$typeof){case i:var p=s;return H(p)+".Consumer";case t:var g=s;return H(g._context)+".Provider";case l:return E(s,s.render,"ForwardRef");case h:var x=s.displayName||null;return x!==null?x:M(s.type)||"Memo";case m:{var _=s,N=_._payload,q=_._init;try{return M(q(N))}catch{return null}}}return null}var T=Object.assign,z=0,J,pe,he,ke,ge,V,te;function se(){}se.__reactDisabledLog=!0;function Pe(){{if(z===0){J=console.log,pe=console.info,he=console.warn,ke=console.error,ge=console.group,V=console.groupCollapsed,te=console.groupEnd;var s={configurable:!0,enumerable:!0,value:se,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}z++}}function Ue(){{if(z--,z===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:T({},s,{value:J}),info:T({},s,{value:pe}),warn:T({},s,{value:he}),error:T({},s,{value:ke}),group:T({},s,{value:ge}),groupCollapsed:T({},s,{value:V}),groupEnd:T({},s,{value:te})})}z<0&&B("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var me=P.ReactCurrentDispatcher,De;function ne(s,p,g){{if(De===void 0)try{throw Error()}catch(_){var x=_.stack.trim().match(/\n( *(at )?)/);De=x&&x[1]||""}return`
45
- `+De+s}}var Ae=!1,ie;{var Ie=typeof WeakMap=="function"?WeakMap:Map;ie=new Ie}function Fe(s,p){if(!s||Ae)return"";{var g=ie.get(s);if(g!==void 0)return g}var x;Ae=!0;var _=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var N;N=me.current,me.current=null,Pe();try{if(p){var q=function(){throw Error()};if(Object.defineProperty(q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(q,[])}catch(Q){x=Q}Reflect.construct(s,[],q)}else{try{q.call()}catch(Q){x=Q}s.call(q.prototype)}}else{try{throw Error()}catch(Q){x=Q}s()}}catch(Q){if(Q&&x&&typeof Q.stack=="string"){for(var S=Q.stack.split(`
46
- `),W=x.stack.split(`
47
- `),U=S.length-1,$=W.length-1;U>=1&&$>=0&&S[U]!==W[$];)$--;for(;U>=1&&$>=0;U--,$--)if(S[U]!==W[$]){if(U!==1||$!==1)do if(U--,$--,$<0||S[U]!==W[$]){var X=`
48
- `+S[U].replace(" at new "," at ");return s.displayName&&X.includes("<anonymous>")&&(X=X.replace("<anonymous>",s.displayName)),typeof s=="function"&&ie.set(s,X),X}while(U>=1&&$>=0);break}}}finally{Ae=!1,me.current=N,Ue(),Error.prepareStackTrace=_}var de=s?s.displayName||s.name:"",ue=de?ne(de):"";return typeof s=="function"&&ie.set(s,ue),ue}function $e(s,p,g){return Fe(s,!1)}function Me(s){var p=s.prototype;return!!(p&&p.isReactComponent)}function oe(s,p,g){if(s==null)return"";if(typeof s=="function")return Fe(s,Me(s));if(typeof s=="string")return ne(s);switch(s){case d:return ne("Suspense");case c:return ne("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case l:return $e(s.render);case h:return oe(s.type,p,g);case m:{var x=s,_=x._payload,N=x._init;try{return oe(N(_),p,g)}catch{}}}return""}var re=Object.prototype.hasOwnProperty,Se={},Te=P.ReactDebugCurrentFrame;function le(s){if(s){var p=s._owner,g=oe(s.type,s._source,p?p.type:null);Te.setExtraStackFrame(g)}else Te.setExtraStackFrame(null)}function ze(s,p,g,x,_){{var N=Function.call.bind(re);for(var q in s)if(N(s,q)){var S=void 0;try{if(typeof s[q]!="function"){var W=Error((x||"React class")+": "+g+" type `"+q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[q]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw W.name="Invariant Violation",W}S=s[q](p,q,x,g,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(U){S=U}S&&!(S instanceof Error)&&(le(_),B("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",x||"React class",g,q,typeof S),le(null)),S instanceof Error&&!(S.message in Se)&&(Se[S.message]=!0,le(_),B("Failed %s type: %s",g,S.message),le(null))}}}var Ge=Array.isArray;function D(s){return Ge(s)}function C(s){{var p=typeof Symbol=="function"&&Symbol.toStringTag,g=p&&s[Symbol.toStringTag]||s.constructor.name||"Object";return g}}function Y(s){try{return K(s),!1}catch{return!0}}function K(s){return""+s}function ee(s){if(Y(s))return B("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",C(s)),K(s)}var Z=P.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},be,qe;function wt(s){if(re.call(s,"ref")){var p=Object.getOwnPropertyDescriptor(s,"ref").get;if(p&&p.isReactWarning)return!1}return s.ref!==void 0}function Bt(s){if(re.call(s,"key")){var p=Object.getOwnPropertyDescriptor(s,"key").get;if(p&&p.isReactWarning)return!1}return s.key!==void 0}function kt(s,p){typeof s.ref=="string"&&Z.current}function Ft(s,p){{var g=function(){be||(be=!0,B("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",p))};g.isReactWarning=!0,Object.defineProperty(s,"key",{get:g,configurable:!0})}}function St(s,p){{var g=function(){qe||(qe=!0,B("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",p))};g.isReactWarning=!0,Object.defineProperty(s,"ref",{get:g,configurable:!0})}}var Tt=function(s,p,g,x,_,N,q){var S={$$typeof:e,type:s,key:p,ref:g,props:q,_owner:N};return S._store={},Object.defineProperty(S._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(S,"_self",{configurable:!1,enumerable:!1,writable:!1,value:x}),Object.defineProperty(S,"_source",{configurable:!1,enumerable:!1,writable:!1,value:_}),Object.freeze&&(Object.freeze(S.props),Object.freeze(S)),S};function qt(s,p,g,x,_){{var N,q={},S=null,W=null;g!==void 0&&(ee(g),S=""+g),Bt(p)&&(ee(p.key),S=""+p.key),wt(p)&&(W=p.ref,kt(p,_));for(N in p)re.call(p,N)&&!He.hasOwnProperty(N)&&(q[N]=p[N]);if(s&&s.defaultProps){var U=s.defaultProps;for(N in U)q[N]===void 0&&(q[N]=U[N])}if(S||W){var $=typeof s=="function"?s.displayName||s.name||"Unknown":s;S&&Ft(q,$),W&&St(q,$)}return Tt(s,S,W,_,x,Z.current,q)}}var Ve=P.ReactCurrentOwner,ut=P.ReactDebugCurrentFrame;function ce(s){if(s){var p=s._owner,g=oe(s.type,s._source,p?p.type:null);ut.setExtraStackFrame(g)}else ut.setExtraStackFrame(null)}var We;We=!1;function Qe(s){return typeof s=="object"&&s!==null&&s.$$typeof===e}function at(){{if(Ve.current){var s=M(Ve.current.type);if(s)return`
44
+ */var At;function pr(){return At||(At=1,process.env.NODE_ENV!=="production"&&function(){var o=x,e=Symbol.for("react.element"),r=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),n=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),i=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),D=Symbol.for("react.offscreen"),w=Symbol.iterator,k="@@iterator";function M(a){if(a===null||typeof a!="object")return null;var h=w&&a[w]||a[k];return typeof h=="function"?h:null}var O=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function B(a){{for(var h=arguments.length,A=new Array(h>1?h-1:0),E=1;E<h;E++)A[E-1]=arguments[E];U("error",a,A)}}function U(a,h,A){{var E=O.ReactDebugCurrentFrame,R=E.getStackAddendum();R!==""&&(h+="%s",A=A.concat([R]));var L=A.map(function(q){return String(q)});L.unshift("Warning: "+h),Function.prototype.apply.call(console[a],console,L)}}var g=!1,F=!1,y=!1,N=!1,P=!1,T;T=Symbol.for("react.module.reference");function _(a){return!!(typeof a=="string"||typeof a=="function"||a===u||a===n||P||a===s||a===c||a===d||N||a===D||g||F||y||typeof a=="object"&&a!==null&&(a.$$typeof===m||a.$$typeof===p||a.$$typeof===t||a.$$typeof===i||a.$$typeof===l||a.$$typeof===T||a.getModuleId!==void 0))}function v(a,h,A){var E=a.displayName;if(E)return E;var R=h.displayName||h.name||"";return R!==""?A+"("+R+")":A}function H(a){return a.displayName||"Context"}function z(a){if(a==null)return null;if(typeof a.tag=="number"&&B("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case u:return"Fragment";case r:return"Portal";case n:return"Profiler";case s:return"StrictMode";case c:return"Suspense";case d:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case i:var h=a;return H(h)+".Consumer";case t:var A=a;return H(A._context)+".Provider";case l:return v(a,a.render,"ForwardRef");case p:var E=a.displayName||null;return E!==null?E:z(a.type)||"Memo";case m:{var R=a,L=R._payload,q=R._init;try{return z(q(L))}catch{return null}}}return null}var j=Object.assign,G=0,J,pe,he,ke,ge,V,te;function ae(){}ae.__reactDisabledLog=!0;function Pe(){{if(G===0){J=console.log,pe=console.info,he=console.warn,ke=console.error,ge=console.group,V=console.groupCollapsed,te=console.groupEnd;var a={configurable:!0,enumerable:!0,value:ae,writable:!0};Object.defineProperties(console,{info:a,log:a,warn:a,error:a,group:a,groupCollapsed:a,groupEnd:a})}G++}}function Ue(){{if(G--,G===0){var a={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:j({},a,{value:J}),info:j({},a,{value:pe}),warn:j({},a,{value:he}),error:j({},a,{value:ke}),group:j({},a,{value:ge}),groupCollapsed:j({},a,{value:V}),groupEnd:j({},a,{value:te})})}G<0&&B("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var me=O.ReactCurrentDispatcher,De;function ne(a,h,A){{if(De===void 0)try{throw Error()}catch(R){var E=R.stack.trim().match(/\n( *(at )?)/);De=E&&E[1]||""}return`
45
+ `+De+a}}var Ae=!1,ie;{var Ie=typeof WeakMap=="function"?WeakMap:Map;ie=new Ie}function Fe(a,h){if(!a||Ae)return"";{var A=ie.get(a);if(A!==void 0)return A}var E;Ae=!0;var R=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var L;L=me.current,me.current=null,Pe();try{if(h){var q=function(){throw Error()};if(Object.defineProperty(q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(q,[])}catch(Q){E=Q}Reflect.construct(a,[],q)}else{try{q.call()}catch(Q){E=Q}a.call(q.prototype)}}else{try{throw Error()}catch(Q){E=Q}a()}}catch(Q){if(Q&&E&&typeof Q.stack=="string"){for(var S=Q.stack.split(`
46
+ `),W=E.stack.split(`
47
+ `),I=S.length-1,$=W.length-1;I>=1&&$>=0&&S[I]!==W[$];)$--;for(;I>=1&&$>=0;I--,$--)if(S[I]!==W[$]){if(I!==1||$!==1)do if(I--,$--,$<0||S[I]!==W[$]){var X=`
48
+ `+S[I].replace(" at new "," at ");return a.displayName&&X.includes("<anonymous>")&&(X=X.replace("<anonymous>",a.displayName)),typeof a=="function"&&ie.set(a,X),X}while(I>=1&&$>=0);break}}}finally{Ae=!1,me.current=L,Ue(),Error.prepareStackTrace=R}var de=a?a.displayName||a.name:"",ue=de?ne(de):"";return typeof a=="function"&&ie.set(a,ue),ue}function $e(a,h,A){return Fe(a,!1)}function Me(a){var h=a.prototype;return!!(h&&h.isReactComponent)}function oe(a,h,A){if(a==null)return"";if(typeof a=="function")return Fe(a,Me(a));if(typeof a=="string")return ne(a);switch(a){case c:return ne("Suspense");case d:return ne("SuspenseList")}if(typeof a=="object")switch(a.$$typeof){case l:return $e(a.render);case p:return oe(a.type,h,A);case m:{var E=a,R=E._payload,L=E._init;try{return oe(L(R),h,A)}catch{}}}return""}var re=Object.prototype.hasOwnProperty,Te={},Se=O.ReactDebugCurrentFrame;function le(a){if(a){var h=a._owner,A=oe(a.type,a._source,h?h.type:null);Se.setExtraStackFrame(A)}else Se.setExtraStackFrame(null)}function ze(a,h,A,E,R){{var L=Function.call.bind(re);for(var q in a)if(L(a,q)){var S=void 0;try{if(typeof a[q]!="function"){var W=Error((E||"React class")+": "+A+" type `"+q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof a[q]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw W.name="Invariant Violation",W}S=a[q](h,q,E,A,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(I){S=I}S&&!(S instanceof Error)&&(le(R),B("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",E||"React class",A,q,typeof S),le(null)),S instanceof Error&&!(S.message in Te)&&(Te[S.message]=!0,le(R),B("Failed %s type: %s",A,S.message),le(null))}}}var Ge=Array.isArray;function b(a){return Ge(a)}function C(a){{var h=typeof Symbol=="function"&&Symbol.toStringTag,A=h&&a[Symbol.toStringTag]||a.constructor.name||"Object";return A}}function Y(a){try{return K(a),!1}catch{return!0}}function K(a){return""+a}function ee(a){if(Y(a))return B("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",C(a)),K(a)}var Z=O.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},be,je;function Ct(a){if(re.call(a,"ref")){var h=Object.getOwnPropertyDescriptor(a,"ref").get;if(h&&h.isReactWarning)return!1}return a.ref!==void 0}function Bt(a){if(re.call(a,"key")){var h=Object.getOwnPropertyDescriptor(a,"key").get;if(h&&h.isReactWarning)return!1}return a.key!==void 0}function kt(a,h){typeof a.ref=="string"&&Z.current}function Ft(a,h){{var A=function(){be||(be=!0,B("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",h))};A.isReactWarning=!0,Object.defineProperty(a,"key",{get:A,configurable:!0})}}function Tt(a,h){{var A=function(){je||(je=!0,B("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",h))};A.isReactWarning=!0,Object.defineProperty(a,"ref",{get:A,configurable:!0})}}var St=function(a,h,A,E,R,L,q){var S={$$typeof:e,type:a,key:h,ref:A,props:q,_owner:L};return S._store={},Object.defineProperty(S._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(S,"_self",{configurable:!1,enumerable:!1,writable:!1,value:E}),Object.defineProperty(S,"_source",{configurable:!1,enumerable:!1,writable:!1,value:R}),Object.freeze&&(Object.freeze(S.props),Object.freeze(S)),S};function jt(a,h,A,E,R){{var L,q={},S=null,W=null;A!==void 0&&(ee(A),S=""+A),Bt(h)&&(ee(h.key),S=""+h.key),Ct(h)&&(W=h.ref,kt(h,R));for(L in h)re.call(h,L)&&!He.hasOwnProperty(L)&&(q[L]=h[L]);if(a&&a.defaultProps){var I=a.defaultProps;for(L in I)q[L]===void 0&&(q[L]=I[L])}if(S||W){var $=typeof a=="function"?a.displayName||a.name||"Unknown":a;S&&Ft(q,$),W&&Tt(q,$)}return St(a,S,W,R,E,Z.current,q)}}var Ve=O.ReactCurrentOwner,ut=O.ReactDebugCurrentFrame;function ce(a){if(a){var h=a._owner,A=oe(a.type,a._source,h?h.type:null);ut.setExtraStackFrame(A)}else ut.setExtraStackFrame(null)}var We;We=!1;function Qe(a){return typeof a=="object"&&a!==null&&a.$$typeof===e}function st(){{if(Ve.current){var a=z(Ve.current.type);if(a)return`
49
49
 
50
- Check the render method of \``+s+"`."}return""}}function Rt(s){return""}var st={};function jt(s){{var p=at();if(!p){var g=typeof s=="string"?s:s.displayName||s.name;g&&(p=`
50
+ Check the render method of \``+a+"`."}return""}}function qt(a){return""}var at={};function Nt(a){{var h=st();if(!h){var A=typeof a=="string"?a:a.displayName||a.name;A&&(h=`
51
51
 
52
- Check the top-level render call using <`+g+">.")}return p}}function nt(s,p){{if(!s._store||s._store.validated||s.key!=null)return;s._store.validated=!0;var g=jt(p);if(st[g])return;st[g]=!0;var x="";s&&s._owner&&s._owner!==Ve.current&&(x=" It was passed a child from "+M(s._owner.type)+"."),ce(s),B('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',g,x),ce(null)}}function it(s,p){{if(typeof s!="object")return;if(D(s))for(var g=0;g<s.length;g++){var x=s[g];Qe(x)&&nt(x,p)}else if(Qe(s))s._store&&(s._store.validated=!0);else if(s){var _=G(s);if(typeof _=="function"&&_!==s.entries)for(var N=_.call(s),q;!(q=N.next()).done;)Qe(q.value)&&nt(q.value,p)}}}function _t(s){{var p=s.type;if(p==null||typeof p=="string")return;var g;if(typeof p=="function")g=p.propTypes;else if(typeof p=="object"&&(p.$$typeof===l||p.$$typeof===h))g=p.propTypes;else return;if(g){var x=M(p);ze(g,s.props,"prop",x,s)}else if(p.PropTypes!==void 0&&!We){We=!0;var _=M(p);B("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",_||"Unknown")}typeof p.getDefaultProps=="function"&&!p.getDefaultProps.isReactClassApproved&&B("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Nt(s){{for(var p=Object.keys(s.props),g=0;g<p.length;g++){var x=p[g];if(x!=="children"&&x!=="key"){ce(s),B("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",x),ce(null);break}}s.ref!==null&&(ce(s),B("Invalid attribute `ref` supplied to `React.Fragment`."),ce(null))}}var ot={};function lt(s,p,g,x,_,N){{var q=j(s);if(!q){var S="";(s===void 0||typeof s=="object"&&s!==null&&Object.keys(s).length===0)&&(S+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var W=Rt();W?S+=W:S+=at();var U;s===null?U="null":D(s)?U="array":s!==void 0&&s.$$typeof===e?(U="<"+(M(s.type)||"Unknown")+" />",S=" Did you accidentally export a JSX literal instead of a component?"):U=typeof s,B("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",U,S)}var $=qt(s,p,g,_,N);if($==null)return $;if(q){var X=p.children;if(X!==void 0)if(x)if(D(X)){for(var de=0;de<X.length;de++)it(X[de],s);Object.freeze&&Object.freeze(X)}else B("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else it(X,s)}if(re.call(p,"key")){var ue=M(s),Q=Object.keys(p).filter(function($t){return $t!=="key"}),Ye=Q.length>0?"{key: someKey, "+Q.join(": ..., ")+": ...}":"{key: someKey}";if(!ot[ue+Ye]){var It=Q.length>0?"{"+Q.join(": ..., ")+": ...}":"{}";B(`A props object containing a "key" prop is being spread into JSX:
52
+ Check the top-level render call using <`+A+">.")}return h}}function nt(a,h){{if(!a._store||a._store.validated||a.key!=null)return;a._store.validated=!0;var A=Nt(h);if(at[A])return;at[A]=!0;var E="";a&&a._owner&&a._owner!==Ve.current&&(E=" It was passed a child from "+z(a._owner.type)+"."),ce(a),B('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',A,E),ce(null)}}function it(a,h){{if(typeof a!="object")return;if(b(a))for(var A=0;A<a.length;A++){var E=a[A];Qe(E)&&nt(E,h)}else if(Qe(a))a._store&&(a._store.validated=!0);else if(a){var R=M(a);if(typeof R=="function"&&R!==a.entries)for(var L=R.call(a),q;!(q=L.next()).done;)Qe(q.value)&&nt(q.value,h)}}}function _t(a){{var h=a.type;if(h==null||typeof h=="string")return;var A;if(typeof h=="function")A=h.propTypes;else if(typeof h=="object"&&(h.$$typeof===l||h.$$typeof===p))A=h.propTypes;else return;if(A){var E=z(h);ze(A,a.props,"prop",E,a)}else if(h.PropTypes!==void 0&&!We){We=!0;var R=z(h);B("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",R||"Unknown")}typeof h.getDefaultProps=="function"&&!h.getDefaultProps.isReactClassApproved&&B("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Rt(a){{for(var h=Object.keys(a.props),A=0;A<h.length;A++){var E=h[A];if(E!=="children"&&E!=="key"){ce(a),B("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",E),ce(null);break}}a.ref!==null&&(ce(a),B("Invalid attribute `ref` supplied to `React.Fragment`."),ce(null))}}var ot={};function lt(a,h,A,E,R,L){{var q=_(a);if(!q){var S="";(a===void 0||typeof a=="object"&&a!==null&&Object.keys(a).length===0)&&(S+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var W=qt();W?S+=W:S+=st();var I;a===null?I="null":b(a)?I="array":a!==void 0&&a.$$typeof===e?(I="<"+(z(a.type)||"Unknown")+" />",S=" Did you accidentally export a JSX literal instead of a component?"):I=typeof a,B("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",I,S)}var $=jt(a,h,A,R,L);if($==null)return $;if(q){var X=h.children;if(X!==void 0)if(E)if(b(X)){for(var de=0;de<X.length;de++)it(X[de],a);Object.freeze&&Object.freeze(X)}else B("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else it(X,a)}if(re.call(h,"key")){var ue=z(a),Q=Object.keys(h).filter(function($t){return $t!=="key"}),Ye=Q.length>0?"{key: someKey, "+Q.join(": ..., ")+": ...}":"{key: someKey}";if(!ot[ue+Ye]){var It=Q.length>0?"{"+Q.join(": ..., ")+": ...}":"{}";B(`A props object containing a "key" prop is being spread into JSX:
53
53
  let props = %s;
54
54
  <%s {...props} />
55
55
  React keys must be passed directly to JSX without using spread:
56
56
  let props = %s;
57
- <%s key={someKey} {...props} />`,Ye,ue,It,ue),ot[ue+Ye]=!0}}return s===u?Nt($):_t($),$}}function Lt(s,p,g){return lt(s,p,g,!0)}function Ot(s,p,g){return lt(s,p,g,!1)}var Pt=Ot,Ut=Lt;Ee.Fragment=u,Ee.jsx=Pt,Ee.jsxs=Ut}()),Ee}process.env.NODE_ENV==="production"?tt.exports=fr():tt.exports=pr();var f=tt.exports;class _e{static filter(e,r){return e.filter(r)}static filterBy(e,r,u){return e.filter(a=>a[r]===u)}static filterByFields(e,r){return e.filter(u=>Object.entries(r).every(([a,n])=>u[a]===n))}static sort(e,r,u="asc"){return[...e].sort((a,n)=>{const t=a[r],i=n[r];if(t===i)return 0;let l=0;return t>i&&(l=1),t<i&&(l=-1),u==="asc"?l:-l})}static search(e,r,u){if(!r.trim())return e;const a=r.toLowerCase();return e.filter(n=>u.some(t=>{const i=n[t];return i==null?!1:String(i).toLowerCase().includes(a)}))}static paginate(e,r,u){const a=(r-1)*u,n=a+u;return{data:e.slice(a,n),total:e.length,page:r,totalPages:Math.ceil(e.length/u)}}static groupBy(e,r){return e.reduce((u,a)=>{const n=String(a[r]);return u[n]||(u[n]=[]),u[n].push(a),u},{})}static unique(e,r){const u=e.map(a=>a[r]);return[...new Set(u)]}static countBy(e,r){return e.reduce((u,a)=>{const n=String(a[r]);return u[n]=(u[n]||0)+1,u},{})}static pipe(e,r){return r.reduce((u,a)=>a(u),e)}}function hr({endpoint:o,params:e,layout:r="list",title:u,emptyMessage:a="No items found",renderItem:n,keyExtractor:t=(k,G)=>k.id||k._id||String(G),searchable:i=!1,searchFields:l=[],searchPlaceholder:d="Search...",filters:c=[],pageSize:h=20,onItemClick:m,onRefresh:A,theme:w={}}){const{data:k,loading:G,error:P,refetch:B}=Ct(o,e),[I,b]=v.useState(""),[L,y]=v.useState({}),[R,O]=v.useState(1),F=v.useMemo(()=>{if(!k)return{data:[],total:0,totalPages:0};let T=k;return i&&I&&l.length>0&&(T=_e.search(T,I,l)),Object.keys(L).length>0&&(T=_e.filterByFields(T,L)),_e.paginate(T,R,h)},[k,I,L,R,h,i,l]);v.useEffect(()=>{O(1)},[I,L]);const j=()=>{b(""),y({}),O(1),B(),A==null||A()},E={background:w.background||"#ffffff",cardBackground:w.cardBackground||"#f9fafb",text:w.text||"#111827",textSecondary:w.textSecondary||"#6b7280",border:w.border||"#e5e7eb",primary:w.primary||"#3b82f6"},M=n||(T=>f.jsxs("div",{style:{padding:"16px",cursor:m?"pointer":"default"},children:[f.jsx("div",{style:{fontSize:"14px",fontWeight:500,color:E.text},children:T.title||T.name||T.label||"Untitled"}),T.description&&f.jsx("div",{style:{fontSize:"13px",color:E.textSecondary,marginTop:"4px"},children:T.description})]}));return G&&!k?f.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"48px",color:E.textSecondary},children:"Loading..."}):P?f.jsxs("div",{style:{padding:"24px",textAlign:"center",color:"#ef4444"},children:[f.jsx("div",{style:{fontWeight:500,marginBottom:"8px"},children:"Error"}),f.jsx("div",{style:{fontSize:"14px"},children:P.message}),f.jsx("button",{onClick:j,style:{marginTop:"16px",padding:"8px 16px",background:E.primary,color:"white",border:"none",borderRadius:"6px",cursor:"pointer"},children:"Retry"})]}):f.jsxs("div",{style:{background:E.background,borderRadius:"12px",overflow:"hidden"},children:[(u||i||c.length>0)&&f.jsxs("div",{style:{padding:"16px",borderBottom:`1px solid ${E.border}`},children:[f.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:i||c.length>0?"12px":"0"},children:[u&&f.jsx("h2",{style:{margin:0,fontSize:"18px",fontWeight:600,color:E.text},children:u}),f.jsx("button",{onClick:j,style:{padding:"6px 12px",background:"transparent",border:`1px solid ${E.border}`,borderRadius:"6px",color:E.textSecondary,cursor:"pointer",fontSize:"13px"},children:"Refresh"})]}),i&&f.jsx("input",{type:"text",placeholder:d,value:I,onChange:T=>b(T.target.value),style:{width:"100%",padding:"8px 12px",border:`1px solid ${E.border}`,borderRadius:"8px",fontSize:"14px",outline:"none"}})]}),f.jsx("div",{style:{display:r==="grid"?"grid":"flex",flexDirection:r==="list"?"column":void 0,gridTemplateColumns:r==="grid"?"repeat(auto-fill, minmax(250px, 1fr))":void 0,gap:r==="list"?"0":"16px",padding:r==="list"?"0":"16px"},children:F.data.length===0?f.jsx("div",{style:{padding:"48px",textAlign:"center",color:E.textSecondary},children:a}):F.data.map((T,z)=>f.jsx("div",{onClick:()=>m==null?void 0:m(T),style:{background:E.cardBackground,borderRadius:r==="list"?"0":"8px",borderBottom:r==="list"?`1px solid ${E.border}`:"none",transition:"all 0.15s ease"},onMouseEnter:J=>{m&&(J.currentTarget.style.background=E.border)},onMouseLeave:J=>{J.currentTarget.style.background=E.cardBackground},children:M(T,z)},t(T,z)))}),F.totalPages>1&&f.jsxs("div",{style:{padding:"16px",borderTop:`1px solid ${E.border}`,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[f.jsxs("div",{style:{fontSize:"13px",color:E.textSecondary},children:["Page ",R," of ",F.totalPages]}),f.jsxs("div",{style:{display:"flex",gap:"8px"},children:[f.jsx("button",{onClick:()=>O(T=>Math.max(1,T-1)),disabled:R===1,style:{padding:"6px 12px",border:`1px solid ${E.border}`,borderRadius:"6px",background:"white",cursor:R===1?"not-allowed":"pointer",opacity:R===1?.5:1},children:"Previous"}),f.jsx("button",{onClick:()=>O(T=>Math.min(F.totalPages,T+1)),disabled:R===F.totalPages,style:{padding:"6px 12px",border:`1px solid ${E.border}`,borderRadius:"6px",background:"white",cursor:R===F.totalPages?"not-allowed":"pointer",opacity:R===F.totalPages?.5:1},children:"Next"})]})]})]})}function gr({item:o,onClick:e,title:r=t=>t.title||t.name||t.label||"Untitled",subtitle:u=t=>t.description||t.subtitle||"",image:a=t=>t.image||t.thumbnail||t.photo,badge:n=t=>t.badge||t.tag||t.type}){const t=r(o),i=u(o),l=a(o),d=n(o);return f.jsxs("div",{onClick:e,className:`
57
+ <%s key={someKey} {...props} />`,Ye,ue,It,ue),ot[ue+Ye]=!0}}return a===u?Rt($):_t($),$}}function Lt(a,h,A){return lt(a,h,A,!0)}function Ot(a,h,A){return lt(a,h,A,!1)}var Pt=Ot,Ut=Lt;ve.Fragment=u,ve.jsx=Pt,ve.jsxs=Ut}()),ve}process.env.NODE_ENV==="production"?tt.exports=fr():tt.exports=pr();var f=tt.exports;class _e{static filter(e,r){return e.filter(r)}static filterBy(e,r,u){return e.filter(s=>s[r]===u)}static filterByFields(e,r){return e.filter(u=>Object.entries(r).every(([s,n])=>u[s]===n))}static sort(e,r,u="asc"){return[...e].sort((s,n)=>{const t=s[r],i=n[r];if(t===i)return 0;let l=0;return t>i&&(l=1),t<i&&(l=-1),u==="asc"?l:-l})}static search(e,r,u){if(!r.trim())return e;const s=r.toLowerCase();return e.filter(n=>u.some(t=>{const i=n[t];return i==null?!1:String(i).toLowerCase().includes(s)}))}static paginate(e,r,u){const s=(r-1)*u,n=s+u;return{data:e.slice(s,n),total:e.length,page:r,totalPages:Math.ceil(e.length/u)}}static groupBy(e,r){return e.reduce((u,s)=>{const n=String(s[r]);return u[n]||(u[n]=[]),u[n].push(s),u},{})}static unique(e,r){const u=e.map(s=>s[r]);return[...new Set(u)]}static countBy(e,r){return e.reduce((u,s)=>{const n=String(s[r]);return u[n]=(u[n]||0)+1,u},{})}static pipe(e,r){return r.reduce((u,s)=>s(u),e)}}function hr({endpoint:o,params:e,layout:r="list",title:u,emptyMessage:s="No items found",renderItem:n,keyExtractor:t=(k,M)=>k.id||k._id||String(M),searchable:i=!1,searchFields:l=[],searchPlaceholder:c="Search...",filters:d=[],pageSize:p=20,onItemClick:m,onRefresh:D,theme:w={}}){const{data:k,loading:M,error:O,refetch:B}=wt(o,e),[U,g]=x.useState(""),[F,y]=x.useState({}),[N,P]=x.useState(1),T=x.useMemo(()=>{if(!k)return{data:[],total:0,totalPages:0};let j=k;return i&&U&&l.length>0&&(j=_e.search(j,U,l)),Object.keys(F).length>0&&(j=_e.filterByFields(j,F)),_e.paginate(j,N,p)},[k,U,F,N,p,i,l]);x.useEffect(()=>{P(1)},[U,F]);const _=()=>{g(""),y({}),P(1),B(),D==null||D()},v={background:w.background||"#ffffff",cardBackground:w.cardBackground||"#f9fafb",text:w.text||"#111827",textSecondary:w.textSecondary||"#6b7280",border:w.border||"#e5e7eb",primary:w.primary||"#3b82f6"},z=n||(j=>f.jsxs("div",{style:{padding:"16px",cursor:m?"pointer":"default"},children:[f.jsx("div",{style:{fontSize:"14px",fontWeight:500,color:v.text},children:j.title||j.name||j.label||"Untitled"}),j.description&&f.jsx("div",{style:{fontSize:"13px",color:v.textSecondary,marginTop:"4px"},children:j.description})]}));return M&&!k?f.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"48px",color:v.textSecondary},children:"Loading..."}):O?f.jsxs("div",{style:{padding:"24px",textAlign:"center",color:"#ef4444"},children:[f.jsx("div",{style:{fontWeight:500,marginBottom:"8px"},children:"Error"}),f.jsx("div",{style:{fontSize:"14px"},children:O.message}),f.jsx("button",{onClick:_,style:{marginTop:"16px",padding:"8px 16px",background:v.primary,color:"white",border:"none",borderRadius:"6px",cursor:"pointer"},children:"Retry"})]}):f.jsxs("div",{style:{background:v.background,borderRadius:"12px",overflow:"hidden"},children:[(u||i||d.length>0)&&f.jsxs("div",{style:{padding:"16px",borderBottom:`1px solid ${v.border}`},children:[f.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:i||d.length>0?"12px":"0"},children:[u&&f.jsx("h2",{style:{margin:0,fontSize:"18px",fontWeight:600,color:v.text},children:u}),f.jsx("button",{onClick:_,style:{padding:"6px 12px",background:"transparent",border:`1px solid ${v.border}`,borderRadius:"6px",color:v.textSecondary,cursor:"pointer",fontSize:"13px"},children:"Refresh"})]}),i&&f.jsx("input",{type:"text",placeholder:c,value:U,onChange:j=>g(j.target.value),style:{width:"100%",padding:"8px 12px",border:`1px solid ${v.border}`,borderRadius:"8px",fontSize:"14px",outline:"none"}})]}),f.jsx("div",{style:{display:r==="grid"?"grid":"flex",flexDirection:r==="list"?"column":void 0,gridTemplateColumns:r==="grid"?"repeat(auto-fill, minmax(250px, 1fr))":void 0,gap:r==="list"?"0":"16px",padding:r==="list"?"0":"16px"},children:T.data.length===0?f.jsx("div",{style:{padding:"48px",textAlign:"center",color:v.textSecondary},children:s}):T.data.map((j,G)=>f.jsx("div",{onClick:()=>m==null?void 0:m(j),style:{background:v.cardBackground,borderRadius:r==="list"?"0":"8px",borderBottom:r==="list"?`1px solid ${v.border}`:"none",transition:"all 0.15s ease"},onMouseEnter:J=>{m&&(J.currentTarget.style.background=v.border)},onMouseLeave:J=>{J.currentTarget.style.background=v.cardBackground},children:z(j,G)},t(j,G)))}),T.totalPages>1&&f.jsxs("div",{style:{padding:"16px",borderTop:`1px solid ${v.border}`,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[f.jsxs("div",{style:{fontSize:"13px",color:v.textSecondary},children:["Page ",N," of ",T.totalPages]}),f.jsxs("div",{style:{display:"flex",gap:"8px"},children:[f.jsx("button",{onClick:()=>P(j=>Math.max(1,j-1)),disabled:N===1,style:{padding:"6px 12px",border:`1px solid ${v.border}`,borderRadius:"6px",background:"white",cursor:N===1?"not-allowed":"pointer",opacity:N===1?.5:1},children:"Previous"}),f.jsx("button",{onClick:()=>P(j=>Math.min(T.totalPages,j+1)),disabled:N===T.totalPages,style:{padding:"6px 12px",border:`1px solid ${v.border}`,borderRadius:"6px",background:"white",cursor:N===T.totalPages?"not-allowed":"pointer",opacity:N===T.totalPages?.5:1},children:"Next"})]})]})]})}function gr({item:o,onClick:e,title:r=t=>t.title||t.name||t.label||"Untitled",subtitle:u=t=>t.description||t.subtitle||"",image:s=t=>t.image||t.thumbnail||t.photo,badge:n=t=>t.badge||t.tag||t.type}){const t=r(o),i=u(o),l=s(o),c=n(o);return f.jsxs("div",{onClick:e,className:`
58
58
  flex items-center gap-4 p-4 border-b border-gray-200
59
59
  hover:bg-gray-50 transition-colors
60
60
  ${e?"cursor-pointer":""}
61
- `,children:[l&&f.jsx("div",{className:"flex-shrink-0",children:f.jsx("img",{src:l,alt:t,className:"w-16 h-16 object-cover rounded-lg"})}),f.jsxs("div",{className:"flex-1 min-w-0",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("h3",{className:"font-medium text-gray-900 truncate",children:t}),d&&f.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-800 rounded-full",children:d})]}),i&&f.jsx("p",{className:"text-sm text-gray-600 truncate mt-0.5",children:i})]}),e&&f.jsx("div",{className:"flex-shrink-0 text-gray-400",children:f.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:f.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]})}function mr({item:o,onClose:e,title:r=n=>n.title||n.name||n.label||"Detail",image:u=n=>n.image||n.thumbnail||n.photo,fields:a=[]}){if(!o)return null;const n=r(o),t=u(o);return f.jsx("div",{className:"fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4",children:f.jsxs("div",{className:"bg-white rounded-xl max-w-2xl w-full max-h-[90vh] overflow-y-auto shadow-2xl",children:[f.jsxs("div",{className:"sticky top-0 bg-white border-b border-gray-200 px-6 py-4 flex items-center justify-between",children:[f.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:n}),e&&f.jsx("button",{onClick:e,className:"p-2 hover:bg-gray-100 rounded-lg transition-colors",children:f.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:f.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),f.jsxs("div",{className:"p-6",children:[t&&f.jsx("div",{className:"mb-6",children:f.jsx("img",{src:t,alt:n,className:"w-full h-64 object-cover rounded-lg"})}),a.length>0&&f.jsx("div",{className:"space-y-4",children:a.map((i,l)=>{const d=i.value(o);return d==null||d===""?null:f.jsxs("div",{children:[f.jsx("div",{className:"text-sm font-medium text-gray-500 mb-1",children:i.label}),f.jsx("div",{className:"text-base text-gray-900",children:typeof d=="object"?JSON.stringify(d,null,2):String(d)})]},l)})}),a.length===0&&f.jsx("pre",{className:"bg-gray-50 p-4 rounded-lg text-sm overflow-x-auto",children:JSON.stringify(o,null,2)})]}),e&&f.jsx("div",{className:"sticky bottom-0 bg-gray-50 border-t border-gray-200 px-6 py-4",children:f.jsx("button",{onClick:e,className:"w-full px-4 py-2 bg-gray-900 text-white rounded-lg hover:bg-gray-800 transition-colors font-medium",children:"Close"})})]})})}const Dr={small:"w-32 h-32",medium:"w-48 h-48",large:"w-64 h-64"};function Ar({nodes:o,cardCount:e=2,minInterval:r=1e3,maxInterval:u=3e3,onCardClick:a,cardSize:n="medium",className:t=""}){const i=Math.min(Math.max(e,1),5),[l,d]=v.useState([]),[c,h]=v.useState([]),[m,A]=v.useState(Array(i).fill(!1)),[w,k]=v.useState(Array(i).fill(!1)),G=v.useRef([]),P=v.useCallback(y=>{const R=o.filter(F=>!y.includes(F._id));if(R.length===0)return null;const O=Math.floor(Math.random()*R.length);return R[O]},[o]),B=v.useCallback(()=>Math.random()*(u-r)+r,[r,u]);v.useEffect(()=>{if(o.length===0){d([]),h([]);return}const y=[],R=[],O=[];for(let F=0;F<i&&F<o.length;F++){const j=P(O);j&&(y.push(j),O.push(j._id))}for(let F=0;F<y.length;F++){const j=[y[F]._id,...y.filter((H,M)=>M!==F).map(H=>H._id)],E=P(j);E?R.push(E):R.push(y[F])}d(y),h(R)},[o,i,P]);const I=v.useCallback(y=>{const R=B(),O=setTimeout(()=>{A(F=>{const j=[...F];return j[y]=!j[y],j}),setTimeout(()=>{k(F=>{const j=[...F];return j[y]=!j[y],j}),setTimeout(()=>{const F=!w[y];F&&d(j=>{const E=[...j];return E[y]=c[y],E}),h(j=>{const E=[...j],M=[(F?c[y]:l[y])._id,...l.filter((z,J)=>J!==y).map(z=>z._id),...j.filter((z,J)=>J!==y).map(z=>z._id)],T=P(M);return T&&(E[y]=T),E}),setTimeout(()=>{I(y)},150)},200)},150)},R);G.current[y]=O},[B,P,l,c,w]),b=v.useRef(!1);v.useEffect(()=>{if(!(l.length===0||o.length<=1)&&!b.current){b.current=!0;for(let y=0;y<l.length;y++)I(y);return()=>{G.current.forEach(y=>clearTimeout(y)),G.current=[],b.current=!1}}},[l.length,o.length]);const L=y=>{a&&a(y)};return o.length===0?f.jsx("div",{className:`flex items-center justify-center p-8 ${t}`,children:f.jsx("p",{className:"text-gray-500",children:"No nodes available"})}):l.length===0?f.jsx("div",{className:`flex items-center justify-center p-8 ${t}`,children:f.jsx("p",{className:"text-gray-500",children:"Loading..."})}):f.jsx("div",{className:`flex gap-4 justify-center items-center flex-wrap ${t}`,children:l.map((y,R)=>{const O=c[R],F=w[R];return f.jsx("div",{className:`relative ${Dr[n]}`,style:{perspective:"1000px"},onClick:()=>L(F?O:y),children:f.jsxs("div",{className:"w-full h-full rounded-lg shadow-lg overflow-hidden cursor-pointer hover:shadow-xl",style:{transform:`rotateY(${m[R]?180:0}deg)`,transition:"transform 0.5s",transformStyle:"preserve-3d"},children:[f.jsx("div",{className:"absolute inset-0 transition-opacity duration-200",style:{opacity:F?0:1},children:f.jsxs("div",{style:{transform:m[R]?"scaleX(-1)":"scaleX(1)",width:"100%",height:"100%"},children:[f.jsx("img",{src:y.data.image,alt:y.title,className:"w-full h-full object-cover"}),f.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-2",children:f.jsx("p",{className:"text-white text-sm font-medium truncate",children:y.title})})]})}),O&&f.jsx("div",{className:"absolute inset-0 transition-opacity duration-200",style:{opacity:F?1:0},children:f.jsxs("div",{style:{transform:m[R]?"scaleX(-1)":"scaleX(1)",width:"100%",height:"100%"},children:[f.jsx("img",{src:O.data.image,alt:O.title,className:"w-full h-full object-cover"}),f.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-2",children:f.jsx("p",{className:"text-white text-sm font-medium truncate",children:O.title})})]})})]})},`slot-${R}`)})})}function je(o){if(!o)return"";const e=/=\?([^?]+)\?([BQbq])\?([^?]*)\?=/g;return o.replace(e,(r,u,a,n)=>{try{if(a.toUpperCase()==="B"){const t=atob(n);return decodeURIComponent(escape(t))}else if(a.toUpperCase()==="Q"){const t=n.replace(/_/g," ").replace(/=([0-9A-Fa-f]{2})/g,(i,l)=>String.fromCharCode(parseInt(l,16)));return decodeURIComponent(escape(t))}}catch(t){console.warn("MIME decode error:",t)}return r}).replace(/\s+/g," ").trim()}const br={background:"#ffffff",cardBackground:"#ffffff",selectedBackground:"#f5f5f5",unreadBackground:"#ffffff",text:"#111827",textSecondary:"#6b7280",border:"#e5e7eb",primary:"#3b82f6",danger:"#ef4444"};function yr({baseUrl:o,systemId:e,accountId:r,limit:u=30,folder:a,selectable:n=!0,showDetail:t=!1,emptyMessage:i="No emails",autoLoad:l=!0,onSelect:d,onSelectionChange:c,onDelete:h,onError:m,onLoad:A,renderItem:w,renderDetail:k,renderActions:G,renderEmpty:P,renderLoading:B,theme:I={}}){const b={...br,...I},[L,y]=v.useState([]),[R,O]=v.useState(!1),[F,j]=v.useState(null),[E,H]=v.useState(new Set),[M,T]=v.useState(null),[z,J]=v.useState(null),[pe,he]=v.useState(null),[ke,ge]=v.useState(!1),V=v.useMemo(()=>e?new vt({baseUrl:o,system_id:e}):null,[o,e]),te=v.useCallback(async()=>{if(V){O(!0),j(null);try{const D=await V.listEmails(r,u,a);D!=null&&D.messages&&(y(D.messages),A==null||A(D.messages))}catch(D){const C=D instanceof Error?D:new Error("Failed to fetch emails");j(C.message),m==null||m(C)}O(!1)}},[V,r,u,a,m,A]);v.useEffect(()=>{l&&te()},[l,te]),v.useEffect(()=>{te()},[a]);const se=v.useCallback(async D=>{if(V){J(D),he(null),ge(!0);try{const C=await V.getEmailParsed(r,D.uid,a||"INBOX");C!=null&&C.body&&he(C.body)}catch(C){console.error("Failed to fetch email body:",C)}ge(!1)}},[V,r,a]),Pe=v.useCallback(D=>{d==null||d(D),t&&se(D)},[d,t,se]),Ue=v.useCallback((D,C,Y)=>{if(!n){d==null||d(D),t&&se(D);return}const K=D.uid;if(Y.shiftKey&&M!==null){const ee=Math.min(M,C),Z=Math.max(M,C),He=L.slice(ee,Z+1).map(qe=>qe.uid),be=new Set(He);H(be),c==null||c(Array.from(be))}else if(Y.ctrlKey||Y.metaKey)H(ee=>{const Z=new Set(ee);return Z.has(K)?Z.delete(K):Z.add(K),c==null||c(Array.from(Z)),Z}),T(C);else{const ee=new Set([K]);H(ee),T(C),c==null||c(Array.from(ee))}},[n,M,L,E,d,c,t]),me=v.useCallback(async()=>{if(!(!V||E.size===0))try{const D=await V.trashEmails(r,Array.from(E));if(console.log("Trash result:",D),D.success&&D.moved>0){y(Y=>Y.filter(K=>!E.has(K.uid)));const C=Array.from(E);H(new Set),h==null||h(C)}else j("Failed to move emails to trash")}catch(D){const C=D instanceof Error?D:new Error("Trash failed");console.error("Trash error:",C),j(C.message),m==null||m(C)}},[V,r,E,h,m]),De=v.useCallback(async()=>{if(!(!V||E.size===0))try{const D=await V.archiveEmails(r,Array.from(E));if(console.log("Archive result:",D),D.success&&D.archived>0){y(Y=>Y.filter(K=>!E.has(K.uid)));const C=Array.from(E);H(new Set),h==null||h(C)}else j("Failed to archive emails")}catch(D){const C=D instanceof Error?D:new Error("Archive failed");console.error("Archive error:",C),j(C.message),m==null||m(C)}},[V,r,E,h,m]),ne=v.useCallback(()=>{if(E.size===L.length)H(new Set),c==null||c([]);else{const D=new Set(L.map(C=>C.uid));H(D),c==null||c(Array.from(D))}},[L,E.size,c]),Ae=v.useCallback(()=>{H(new Set),c==null||c([])},[c]),ie={delete:me,archive:De,refresh:te,selectAll:ne,clearSelection:Ae},Ie=D=>{if(!D)return"";const C=new Date(D),Y=new Date;return C.toDateString()===Y.toDateString()?C.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):C.toLocaleDateString([],{month:"short",day:"numeric"})},Fe=(D,C)=>f.jsx("div",{style:{padding:"12px 16px",background:C?b.selectedBackground:D.seen?b.cardBackground:b.unreadBackground,borderBottom:`1px solid ${b.border}`,cursor:"pointer",transition:"background 0.15s ease"},children:f.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"12px"},children:[f.jsxs("div",{style:{flex:1,minWidth:0},children:[f.jsx("div",{style:{fontSize:"14px",fontWeight:D.seen?400:600,color:b.text,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:je(D.from).split("@")[0]}),f.jsx("div",{style:{fontSize:"14px",fontWeight:D.seen?400:500,color:D.seen?b.textSecondary:b.text,marginTop:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:je(D.subject)||"(No subject)"})]}),f.jsx("div",{style:{fontSize:"12px",color:b.textSecondary,flexShrink:0},children:Ie(D.date)})]})}),$e=D=>f.jsxs("div",{style:{padding:"24px"},children:[f.jsx("h2",{style:{margin:"0 0 8px",fontSize:"20px",color:b.text},children:je(D.subject)||"(No subject)"}),f.jsxs("div",{style:{fontSize:"14px",color:b.textSecondary,marginBottom:"16px"},children:["From: ",je(D.from)," • ",new Date(D.date).toLocaleString()]}),ke?f.jsx("div",{style:{fontSize:"14px",color:b.textSecondary},children:"Loading..."}):pe?f.jsx("div",{style:{fontSize:"14px",color:b.text},dangerouslySetInnerHTML:{__html:pe}}):f.jsx("div",{style:{fontSize:"14px",color:b.textSecondary},children:"No content available"})]}),Me=(D,C)=>f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 16px",background:b.cardBackground,borderBottom:`1px solid ${b.border}`},children:[f.jsx("button",{onClick:C.selectAll,style:{padding:"6px 12px",background:"transparent",border:`1px solid ${b.border}`,borderRadius:"6px",fontSize:"13px",cursor:"pointer",color:b.text},children:D.length===L.length?"Deselect All":"Select All"}),D.length>0&&f.jsxs(f.Fragment,{children:[f.jsxs("span",{style:{fontSize:"13px",color:b.textSecondary},children:[D.length," selected"]}),f.jsx("button",{onClick:C.archive,title:"Archive",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px",background:"transparent",border:`1px solid ${b.border}`,borderRadius:"6px",cursor:"pointer",color:b.textSecondary},children:f.jsx("span",{className:"material-icons",style:{fontSize:"18px"},children:"archive"})}),f.jsx("button",{onClick:C.delete,title:"Delete",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px",background:"transparent",border:`1px solid ${b.border}`,borderRadius:"6px",cursor:"pointer",color:b.textSecondary},children:f.jsx("span",{className:"material-icons",style:{fontSize:"18px"},children:"delete"})})]}),f.jsx("div",{style:{flex:1}}),f.jsx("button",{onClick:C.refresh,title:"Refresh",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px",background:"transparent",border:`1px solid ${b.border}`,borderRadius:"6px",cursor:"pointer",color:b.textSecondary},children:f.jsx("span",{className:"material-icons",style:{fontSize:"18px"},children:"refresh"})})]}),oe=()=>f.jsx("div",{style:{padding:"48px",textAlign:"center",color:b.textSecondary},children:i}),re=()=>f.jsx("div",{style:{padding:"48px",textAlign:"center",color:b.textSecondary},children:"Loading..."}),Se=w||Fe,Te=k||$e,le=G||Me,ze=P||oe,Ge=B||re;return R&&L.length===0?f.jsx("div",{style:{background:b.background,width:"100%",height:"100%"},children:Ge()}):f.jsxs("div",{style:{display:"flex",background:b.background,width:"100%",height:"100%"},children:[f.jsxs("div",{style:{flex:t&&z?"0 0 50%":"1",display:"flex",flexDirection:"column",borderRight:t&&z?`1px solid ${b.border}`:"none",overflow:"hidden"},children:[n&&le(Array.from(E),ie),F&&f.jsx("div",{style:{padding:"12px 16px",background:"#fef2f2",color:b.danger,fontSize:"14px",borderBottom:`1px solid ${b.border}`},children:F}),f.jsx("div",{style:{flex:1,overflowY:"auto"},children:L.length===0?ze():L.map((D,C)=>f.jsx("div",{onClick:Y=>Ue(D,C,Y),onDoubleClick:()=>Pe(D),children:Se(D,E.has(D.uid))},D.uid))})]}),t&&z&&f.jsx("div",{style:{flex:1,overflowY:"auto"},children:Te(z)})]})}exports.AnimatedCardFlip=Ar;exports.ApiClient=xt;exports.AuthManager=Et;exports.Card=gr;exports.DataOperations=_e;exports.Detail=mr;exports.GraphClient=Gt;exports.Mail=yr;exports.MailClient=vt;exports.Stack=hr;exports.getApiClient=rt;exports.initializeApiClient=cr;exports.useMutation=dr;exports.useQuery=Ct;
61
+ `,children:[l&&f.jsx("div",{className:"flex-shrink-0",children:f.jsx("img",{src:l,alt:t,className:"w-16 h-16 object-cover rounded-lg"})}),f.jsxs("div",{className:"flex-1 min-w-0",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("h3",{className:"font-medium text-gray-900 truncate",children:t}),c&&f.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-800 rounded-full",children:c})]}),i&&f.jsx("p",{className:"text-sm text-gray-600 truncate mt-0.5",children:i})]}),e&&f.jsx("div",{className:"flex-shrink-0 text-gray-400",children:f.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:f.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]})}function mr({item:o,onClose:e,title:r=n=>n.title||n.name||n.label||"Detail",image:u=n=>n.image||n.thumbnail||n.photo,fields:s=[]}){if(!o)return null;const n=r(o),t=u(o);return f.jsx("div",{className:"fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4",children:f.jsxs("div",{className:"bg-white rounded-xl max-w-2xl w-full max-h-[90vh] overflow-y-auto shadow-2xl",children:[f.jsxs("div",{className:"sticky top-0 bg-white border-b border-gray-200 px-6 py-4 flex items-center justify-between",children:[f.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:n}),e&&f.jsx("button",{onClick:e,className:"p-2 hover:bg-gray-100 rounded-lg transition-colors",children:f.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:f.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),f.jsxs("div",{className:"p-6",children:[t&&f.jsx("div",{className:"mb-6",children:f.jsx("img",{src:t,alt:n,className:"w-full h-64 object-cover rounded-lg"})}),s.length>0&&f.jsx("div",{className:"space-y-4",children:s.map((i,l)=>{const c=i.value(o);return c==null||c===""?null:f.jsxs("div",{children:[f.jsx("div",{className:"text-sm font-medium text-gray-500 mb-1",children:i.label}),f.jsx("div",{className:"text-base text-gray-900",children:typeof c=="object"?JSON.stringify(c,null,2):String(c)})]},l)})}),s.length===0&&f.jsx("pre",{className:"bg-gray-50 p-4 rounded-lg text-sm overflow-x-auto",children:JSON.stringify(o,null,2)})]}),e&&f.jsx("div",{className:"sticky bottom-0 bg-gray-50 border-t border-gray-200 px-6 py-4",children:f.jsx("button",{onClick:e,className:"w-full px-4 py-2 bg-gray-900 text-white rounded-lg hover:bg-gray-800 transition-colors font-medium",children:"Close"})})]})})}const Dr={small:"w-32 h-32",medium:"w-48 h-48",large:"w-64 h-64"};function Ar({nodes:o,cardCount:e=2,minInterval:r=1e3,maxInterval:u=3e3,onCardClick:s,cardSize:n="medium",className:t=""}){const i=Math.min(Math.max(e,1),5),[l,c]=x.useState([]),[d,p]=x.useState([]),[m,D]=x.useState(Array(i).fill(!1)),[w,k]=x.useState(Array(i).fill(!1)),M=x.useRef([]),O=x.useCallback(y=>{const N=o.filter(T=>!y.includes(T._id));if(N.length===0)return null;const P=Math.floor(Math.random()*N.length);return N[P]},[o]),B=x.useCallback(()=>Math.random()*(u-r)+r,[r,u]);x.useEffect(()=>{if(o.length===0){c([]),p([]);return}const y=[],N=[],P=[];for(let T=0;T<i&&T<o.length;T++){const _=O(P);_&&(y.push(_),P.push(_._id))}for(let T=0;T<y.length;T++){const _=[y[T]._id,...y.filter((H,z)=>z!==T).map(H=>H._id)],v=O(_);v?N.push(v):N.push(y[T])}c(y),p(N)},[o,i,O]);const U=x.useCallback(y=>{const N=B(),P=setTimeout(()=>{D(T=>{const _=[...T];return _[y]=!_[y],_}),setTimeout(()=>{k(T=>{const _=[...T];return _[y]=!_[y],_}),setTimeout(()=>{const T=!w[y];T&&c(_=>{const v=[..._];return v[y]=d[y],v}),p(_=>{const v=[..._],z=[(T?d[y]:l[y])._id,...l.filter((G,J)=>J!==y).map(G=>G._id),..._.filter((G,J)=>J!==y).map(G=>G._id)],j=O(z);return j&&(v[y]=j),v}),setTimeout(()=>{U(y)},150)},200)},150)},N);M.current[y]=P},[B,O,l,d,w]),g=x.useRef(!1);x.useEffect(()=>{if(!(l.length===0||o.length<=1)&&!g.current){g.current=!0;for(let y=0;y<l.length;y++)U(y);return()=>{M.current.forEach(y=>clearTimeout(y)),M.current=[],g.current=!1}}},[l.length,o.length]);const F=y=>{s&&s(y)};return o.length===0?f.jsx("div",{className:`flex items-center justify-center p-8 ${t}`,children:f.jsx("p",{className:"text-gray-500",children:"No nodes available"})}):l.length===0?f.jsx("div",{className:`flex items-center justify-center p-8 ${t}`,children:f.jsx("p",{className:"text-gray-500",children:"Loading..."})}):f.jsx("div",{className:`flex gap-4 justify-center items-center flex-wrap ${t}`,children:l.map((y,N)=>{const P=d[N],T=w[N];return f.jsx("div",{className:`relative ${Dr[n]}`,style:{perspective:"1000px"},onClick:()=>F(T?P:y),children:f.jsxs("div",{className:"w-full h-full rounded-lg shadow-lg overflow-hidden cursor-pointer hover:shadow-xl",style:{transform:`rotateY(${m[N]?180:0}deg)`,transition:"transform 0.5s",transformStyle:"preserve-3d"},children:[f.jsx("div",{className:"absolute inset-0 transition-opacity duration-200",style:{opacity:T?0:1},children:f.jsxs("div",{style:{transform:m[N]?"scaleX(-1)":"scaleX(1)",width:"100%",height:"100%"},children:[f.jsx("img",{src:y.data.image,alt:y.title,className:"w-full h-full object-cover"}),f.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-2",children:f.jsx("p",{className:"text-white text-sm font-medium truncate",children:y.title})})]})}),P&&f.jsx("div",{className:"absolute inset-0 transition-opacity duration-200",style:{opacity:T?1:0},children:f.jsxs("div",{style:{transform:m[N]?"scaleX(-1)":"scaleX(1)",width:"100%",height:"100%"},children:[f.jsx("img",{src:P.data.image,alt:P.title,className:"w-full h-full object-cover"}),f.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-2",children:f.jsx("p",{className:"text-white text-sm font-medium truncate",children:P.title})})]})})]})},`slot-${N}`)})})}function Ne(o){if(!o)return"";const e=/=\?([^?]+)\?([BQbq])\?([^?]*)\?=/g;return o.replace(e,(r,u,s,n)=>{try{if(s.toUpperCase()==="B"){const t=atob(n);return decodeURIComponent(escape(t))}else if(s.toUpperCase()==="Q"){const t=n.replace(/_/g," ").replace(/=([0-9A-Fa-f]{2})/g,(i,l)=>String.fromCharCode(parseInt(l,16)));return decodeURIComponent(escape(t))}}catch(t){console.warn("MIME decode error:",t)}return r}).replace(/\s+/g," ").trim()}const br={background:"#ffffff",cardBackground:"#ffffff",selectedBackground:"#f5f5f5",unreadBackground:"#ffffff",text:"#111827",textSecondary:"#6b7280",border:"#e5e7eb",primary:"#3b82f6",danger:"#ef4444"};function yr({baseUrl:o,systemId:e,accountId:r,limit:u=30,folder:s,selectable:n=!0,showDetail:t=!1,emptyMessage:i="No emails",autoLoad:l=!0,onSelect:c,onSelectionChange:d,onDelete:p,onError:m,onLoad:D,renderItem:w,renderDetail:k,renderActions:M,renderEmpty:O,renderLoading:B,theme:U={}}){const g={...br,...U},[F,y]=x.useState([]),[N,P]=x.useState(!1),[T,_]=x.useState(null),[v,H]=x.useState(new Set),[z,j]=x.useState(null),[G,J]=x.useState(null),[pe,he]=x.useState(null),[ke,ge]=x.useState(!1),V=x.useMemo(()=>e?new xt({baseUrl:o,system_id:e}):null,[o,e]),te=x.useCallback(async()=>{if(V){P(!0),_(null);try{const b=await V.listEmails(r,u,s);b!=null&&b.messages&&(y(b.messages),D==null||D(b.messages))}catch(b){const C=b instanceof Error?b:new Error("Failed to fetch emails");_(C.message),m==null||m(C)}P(!1)}},[V,r,u,s,m,D]);x.useEffect(()=>{l&&te()},[l,te]),x.useEffect(()=>{te()},[s]);const ae=x.useCallback(async b=>{if(V){J(b),he(null),ge(!0);try{const C=await V.getEmailParsed(r,b.uid,s||"INBOX");C!=null&&C.body&&he(C.body)}catch(C){console.error("Failed to fetch email body:",C)}ge(!1)}},[V,r,s]),Pe=x.useCallback(b=>{c==null||c(b),t&&ae(b)},[c,t,ae]),Ue=x.useCallback((b,C,Y)=>{if(!n){c==null||c(b),t&&ae(b);return}const K=b.uid;if(Y.shiftKey&&z!==null){const ee=Math.min(z,C),Z=Math.max(z,C),He=F.slice(ee,Z+1).map(je=>je.uid),be=new Set(He);H(be),d==null||d(Array.from(be))}else if(Y.ctrlKey||Y.metaKey)H(ee=>{const Z=new Set(ee);return Z.has(K)?Z.delete(K):Z.add(K),d==null||d(Array.from(Z)),Z}),j(C);else{const ee=new Set([K]);H(ee),j(C),d==null||d(Array.from(ee))}},[n,z,F,v,c,d,t]),me=x.useCallback(async()=>{if(!(!V||v.size===0))try{const b=await V.trashEmails(r,Array.from(v));if(console.log("Trash result:",b),b.success&&b.moved>0){y(Y=>Y.filter(K=>!v.has(K.uid)));const C=Array.from(v);H(new Set),p==null||p(C)}else _("Failed to move emails to trash")}catch(b){const C=b instanceof Error?b:new Error("Trash failed");console.error("Trash error:",C),_(C.message),m==null||m(C)}},[V,r,v,p,m]),De=x.useCallback(async()=>{if(!(!V||v.size===0))try{const b=await V.archiveEmails(r,Array.from(v));if(console.log("Archive result:",b),b.success&&b.archived>0){y(Y=>Y.filter(K=>!v.has(K.uid)));const C=Array.from(v);H(new Set),p==null||p(C)}else _("Failed to archive emails")}catch(b){const C=b instanceof Error?b:new Error("Archive failed");console.error("Archive error:",C),_(C.message),m==null||m(C)}},[V,r,v,p,m]),ne=x.useCallback(()=>{if(v.size===F.length)H(new Set),d==null||d([]);else{const b=new Set(F.map(C=>C.uid));H(b),d==null||d(Array.from(b))}},[F,v.size,d]),Ae=x.useCallback(()=>{H(new Set),d==null||d([])},[d]),ie={delete:me,archive:De,refresh:te,selectAll:ne,clearSelection:Ae},Ie=b=>{if(!b)return"";const C=new Date(b),Y=new Date;return C.toDateString()===Y.toDateString()?C.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):C.toLocaleDateString([],{month:"short",day:"numeric"})},Fe=(b,C)=>f.jsx("div",{style:{padding:"12px 16px",background:C?g.selectedBackground:b.seen?g.cardBackground:g.unreadBackground,borderBottom:`1px solid ${g.border}`,cursor:"pointer",transition:"background 0.15s ease"},children:f.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"12px"},children:[f.jsxs("div",{style:{flex:1,minWidth:0},children:[f.jsx("div",{style:{fontSize:"14px",fontWeight:b.seen?400:600,color:g.text,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:Ne(b.from).split("@")[0]}),f.jsx("div",{style:{fontSize:"14px",fontWeight:b.seen?400:500,color:b.seen?g.textSecondary:g.text,marginTop:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:Ne(b.subject)||"(No subject)"})]}),f.jsx("div",{style:{fontSize:"12px",color:g.textSecondary,flexShrink:0},children:Ie(b.date)})]})}),$e=b=>f.jsxs("div",{style:{padding:"24px"},children:[f.jsx("h2",{style:{margin:"0 0 8px",fontSize:"20px",color:g.text},children:Ne(b.subject)||"(No subject)"}),f.jsxs("div",{style:{fontSize:"14px",color:g.textSecondary,marginBottom:"16px"},children:["From: ",Ne(b.from)," • ",new Date(b.date).toLocaleString()]}),ke?f.jsx("div",{style:{fontSize:"14px",color:g.textSecondary},children:"Loading..."}):pe?f.jsx("div",{style:{fontSize:"14px",color:g.text},dangerouslySetInnerHTML:{__html:pe}}):f.jsx("div",{style:{fontSize:"14px",color:g.textSecondary},children:"No content available"})]}),Me=(b,C)=>f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 16px",background:g.cardBackground,borderBottom:`1px solid ${g.border}`},children:[f.jsx("button",{onClick:C.selectAll,style:{padding:"6px 12px",background:"transparent",border:`1px solid ${g.border}`,borderRadius:"6px",fontSize:"13px",cursor:"pointer",color:g.text},children:b.length===F.length?"Deselect All":"Select All"}),b.length>0&&f.jsxs(f.Fragment,{children:[f.jsxs("span",{style:{fontSize:"13px",color:g.textSecondary},children:[b.length," selected"]}),f.jsx("button",{onClick:C.archive,title:"Archive",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px",background:"transparent",border:`1px solid ${g.border}`,borderRadius:"6px",cursor:"pointer",color:g.textSecondary},children:f.jsx("span",{className:"material-icons",style:{fontSize:"18px"},children:"archive"})}),f.jsx("button",{onClick:C.delete,title:"Delete",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px",background:"transparent",border:`1px solid ${g.border}`,borderRadius:"6px",cursor:"pointer",color:g.textSecondary},children:f.jsx("span",{className:"material-icons",style:{fontSize:"18px"},children:"delete"})})]}),f.jsx("div",{style:{flex:1}}),f.jsx("button",{onClick:C.refresh,title:"Refresh",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px",background:"transparent",border:`1px solid ${g.border}`,borderRadius:"6px",cursor:"pointer",color:g.textSecondary},children:f.jsx("span",{className:"material-icons",style:{fontSize:"18px"},children:"refresh"})})]}),oe=()=>f.jsx("div",{style:{padding:"48px",textAlign:"center",color:g.textSecondary},children:i}),re=()=>f.jsx("div",{style:{padding:"48px",textAlign:"center",color:g.textSecondary},children:"Loading..."}),Te=w||Fe,Se=k||$e,le=M||Me,ze=O||oe,Ge=B||re;return N&&F.length===0?f.jsx("div",{style:{background:g.background,width:"100%",height:"100%"},children:Ge()}):f.jsxs("div",{style:{display:"flex",background:g.background,width:"100%",height:"100%"},children:[f.jsxs("div",{style:{flex:t&&G?"0 0 50%":"1",display:"flex",flexDirection:"column",borderRight:t&&G?`1px solid ${g.border}`:"none",overflow:"hidden"},children:[n&&le(Array.from(v),ie),T&&f.jsx("div",{style:{padding:"12px 16px",background:"#fef2f2",color:g.danger,fontSize:"14px",borderBottom:`1px solid ${g.border}`},children:T}),f.jsx("div",{style:{flex:1,overflowY:"auto"},children:F.length===0?ze():F.map((b,C)=>f.jsx("div",{onClick:Y=>Ue(b,C,Y),onDoubleClick:()=>Pe(b),children:Te(b,v.has(b.uid))},b.uid))})]}),t&&G&&f.jsx("div",{style:{flex:1,overflowY:"auto"},children:Se(G)})]})}function xr({items:o,renderItem:e,onSelectionChange:r,onCurrentChange:u,onAction:s,actions:n=[],emptyMessage:t="No items",showSelectAll:i=!0,className:l=""}){const[c,d]=x.useState(new Set),[p,m]=x.useState(-1),D=o.filter(g=>c.has(g.id)),w=p>=0&&p<D.length?D[p]:null,k=x.useCallback(g=>{d(F=>{const y=new Set(F);return y.has(g)?y.delete(g):y.add(g),r==null||r(Array.from(y)),y})},[r]),M=x.useCallback(()=>{if(c.size===o.length)d(new Set),m(-1),r==null||r([]);else{const g=new Set(o.map(F=>F.id));d(g),o.length>0&&(m(0),u==null||u(o[0],0)),r==null||r(o.map(F=>F.id))}},[o,c.size,r,u]),O=x.useCallback(()=>{if(D.length===0)return;const g=p<=0?D.length-1:p-1;m(g),u==null||u(D[g],g)},[D,p,u]),B=x.useCallback(()=>{if(D.length===0)return;const g=p>=D.length-1?0:p+1;m(g),u==null||u(D[g],g)},[D,p,u]),U=x.useCallback(g=>{s==null||s(g,D,w)},[s,D,w]);return x.useEffect(()=>{D.length===0?m(-1):p>=D.length?m(D.length-1):p<0&&D.length>0&&(m(0),u==null||u(D[0],0))},[D.length,p,u]),o.length===0?f.jsx("div",{className:`text-sm text-neutral-400 text-center py-4 ${l}`,children:t}):f.jsxs("div",{className:`space-y-2 ${l}`,children:[f.jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[i&&f.jsxs("button",{onClick:M,className:"flex items-center gap-1 hover:text-neutral-700 transition-colors",children:[f.jsx("span",{className:"material-icons text-sm",children:c.size===o.length?"check_box":c.size>0?"indeterminate_check_box":"check_box_outline_blank"}),f.jsx("span",{children:c.size===o.length?"Deselect all":"Select all"})]}),c.size>0&&f.jsxs("span",{className:"text-neutral-400",children:["(",c.size," selected)"]})]}),D.length>1&&f.jsxs("div",{className:"flex items-center gap-1",children:[f.jsx("button",{onClick:O,className:"p-1 hover:bg-neutral-100 rounded transition-colors",title:"Previous",children:f.jsx("span",{className:"material-icons text-sm",children:"chevron_left"})}),f.jsxs("span",{className:"text-xs min-w-[3rem] text-center",children:[p+1," / ",D.length]}),f.jsx("button",{onClick:B,className:"p-1 hover:bg-neutral-100 rounded transition-colors",title:"Next",children:f.jsx("span",{className:"material-icons text-sm",children:"chevron_right"})})]})]}),f.jsx("div",{className:"space-y-1",children:o.map(g=>{const F=c.has(g.id),y=(w==null?void 0:w.id)===g.id;return f.jsxs("div",{className:`flex items-center gap-2 p-2 rounded-lg cursor-pointer transition-colors ${y?"bg-blue-50 ring-1 ring-blue-200":F?"bg-neutral-100":"hover:bg-neutral-50"}`,onClick:()=>k(g.id),children:[f.jsx("span",{className:`material-icons text-lg ${F?"text-blue-500":"text-neutral-300"}`,children:F?"check_box":"check_box_outline_blank"}),f.jsx("div",{className:"flex-1 min-w-0",children:e(g,F,y)})]},g.id)})}),n.length>0&&c.size>0&&f.jsx("div",{className:"flex items-center gap-2 pt-2 border-t border-neutral-100",children:n.map(g=>{var y;const F=((y=g.disabled)==null?void 0:y.call(g,D))??!1;return f.jsxs("button",{onClick:()=>U(g.id),disabled:F,className:`flex items-center gap-1 px-3 py-1.5 text-xs rounded-lg transition-colors ${F?"bg-neutral-100 text-neutral-400 cursor-not-allowed":"bg-neutral-100 hover:bg-neutral-200 text-neutral-700"}`,children:[g.icon&&f.jsx("span",{className:"material-icons text-sm",children:g.icon}),g.label]},g.id)})})]})}exports.AnimatedCardFlip=Ar;exports.ApiClient=Et;exports.AuthManager=vt;exports.Card=gr;exports.DataOperations=_e;exports.Detail=mr;exports.GraphClient=Gt;exports.Mail=yr;exports.MailClient=xt;exports.SelectableList=xr;exports.Stack=hr;exports.getApiClient=rt;exports.initializeApiClient=cr;exports.useMutation=dr;exports.useQuery=wt;