tosijs-ui 1.6.13 → 1.6.14
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/CHANGELOG.md +20 -0
- package/dist/doc-system/site/orchestrator.js +6 -1
- package/dist/iife.js +35 -35
- package/dist/iife.js.map +7 -7
- package/dist/live-example/code-transform.js +0 -0
- package/dist/live-example/component.js +6 -6
- package/dist/live-example/execution.js +2 -2
- package/dist/live-example/test-harness.js +1 -1
- package/dist/live-example/types.d.ts +3 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/llms.txt +1 -1
- package/package.json +3 -3
package/dist/iife.js.map
CHANGED
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
"/**\n * marked v16.4.2 - a markdown parser\n * Copyright (c) 2018-2025, MarkedJS. (MIT License)\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T=L();function G(l){T=l}var E={exec:()=>null};function d(l,e=\"\"){let t=typeof l==\"string\"?l:l.source,n={replace:(r,i)=>{let s=typeof i==\"string\"?i:i.source;return s=s.replace(m.caret,\"$1\"),t=t.replace(r,s),n},getRegex:()=>new RegExp(t,e)};return n}var be=(()=>{try{return!!new RegExp(\"(?<=1)(?<!1)\")}catch{return!1}})(),m={codeRemoveIndent:/^(?: {1,4}| {0,3}\\t)/gm,outputLinkReplace:/\\\\([\\[\\]])/g,indentCodeCompensation:/^(\\s+)(?:```)/,beginningSpace:/^\\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\\n/g,tabCharGlobal:/\\t/g,multipleSpaceGlobal:/\\s+/g,blankLine:/^[ \\t]*$/,doubleBlankLine:/\\n[ \\t]*\\n[ \\t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceTabs:/^\\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] /,listReplaceTask:/^\\[[ xX]\\] +/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,unescapeTest:/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:l=>new RegExp(`^( {0,3}${l})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),hrRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),fencesBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:\\`\\`\\`|~~~)`),headingBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}#`),htmlBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}<(?:[a-z].*>|!--)`,\"i\")},Re=/^(?:[ \\t]*(?:\\n|$))+/,Te=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,Oe=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,I=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,we=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,F=/(?:[*+-]|\\d{1,9}[.)])/,ie=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,oe=d(ie).replace(/bull/g,F).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),ye=d(ie).replace(/bull/g,F).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),j=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,Pe=/^[^\\n]+/,Q=/(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/,Se=d(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",Q).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),$e=d(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,F).getRegex(),v=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",U=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,_e=d(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\",\"i\").replace(\"comment\",U).replace(\"tag\",v).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),ae=d(j).replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),Le=d(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",ae).getRegex(),K={blockquote:Le,code:Te,def:Se,fences:Oe,heading:we,hr:I,html:_e,lheading:oe,list:$e,newline:Re,paragraph:ae,table:E,text:Pe},re=d(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),Me={...K,lheading:ye,table:re,paragraph:d(j).replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",re).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex()},ze={...K,html:d(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",U).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:E,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:d(j).replace(\"hr\",I).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",oe).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},Ae=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,Ee=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,le=/^( {2,}|\\\\)\\n(?!\\s*$)/,Ie=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,D=/[\\p{P}\\p{S}]/u,W=/[\\s\\p{P}\\p{S}]/u,ue=/[^\\s\\p{P}\\p{S}]/u,Ce=d(/^((?![*_])punctSpace)/,\"u\").replace(/punctSpace/g,W).getRegex(),pe=/(?!~)[\\p{P}\\p{S}]/u,Be=/(?!~)[\\s\\p{P}\\p{S}]/u,qe=/(?:[^\\s\\p{P}\\p{S}]|~)/u,ve=d(/link|precode-code|html/,\"g\").replace(\"link\",/\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\",be?\"(?<!`)()\":\"(^^|[^`])\").replace(\"code\",/(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\",/<(?! )[^<>]*?>/).getRegex(),ce=/^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/,De=d(ce,\"u\").replace(/punct/g,D).getRegex(),He=d(ce,\"u\").replace(/punct/g,pe).getRegex(),he=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",Ze=d(he,\"gu\").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),Ge=d(he,\"gu\").replace(/notPunctSpace/g,qe).replace(/punctSpace/g,Be).replace(/punct/g,pe).getRegex(),Ne=d(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),Fe=d(/\\\\(punct)/,\"gu\").replace(/punct/g,D).getRegex(),je=d(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Qe=d(U).replace(\"(?:-->|$)\",\"-->\").getRegex(),Ue=d(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",Qe).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),q=/(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+[^`]*?`+(?!`)|[^\\[\\]\\\\`])*?/,Ke=d(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/).replace(\"label\",q).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),de=d(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",q).replace(\"ref\",Q).getRegex(),ke=d(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",Q).getRegex(),We=d(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",de).replace(\"nolink\",ke).getRegex(),se=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,X={_backpedal:E,anyPunctuation:Fe,autolink:je,blockSkip:ve,br:le,code:Ee,del:E,emStrongLDelim:De,emStrongRDelimAst:Ze,emStrongRDelimUnd:Ne,escape:Ae,link:Ke,nolink:ke,punctuation:Ce,reflink:de,reflinkSearch:We,tag:Ue,text:Ie,url:E},Xe={...X,link:d(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",q).getRegex(),reflink:d(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",q).getRegex()},N={...X,emStrongRDelimAst:Ge,emStrongLDelim:He,url:d(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\",se).replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:d(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\",se).getRegex()},Je={...N,br:d(le).replace(\"{2,}\",\"*\").getRegex(),text:d(N.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},C={normal:K,gfm:Me,pedantic:ze},M={normal:X,gfm:N,breaks:Je,pedantic:Xe};var Ve={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},ge=l=>Ve[l];function w(l,e){if(e){if(m.escapeTest.test(l))return l.replace(m.escapeReplace,ge)}else if(m.escapeTestNoEncode.test(l))return l.replace(m.escapeReplaceNoEncode,ge);return l}function J(l){try{l=encodeURI(l).replace(m.percentDecode,\"%\")}catch{return null}return l}function V(l,e){let t=l.replace(m.findPipe,(i,s,a)=>{let o=!1,p=s;for(;--p>=0&&a[p]===\"\\\\\";)o=!o;return o?\"|\":\" |\"}),n=t.split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push(\"\");for(;r<n.length;r++)n[r]=n[r].trim().replace(m.slashPipe,\"|\");return n}function z(l,e,t){let n=l.length;if(n===0)return\"\";let r=0;for(;r<n;){let i=l.charAt(n-r-1);if(i===e&&!t)r++;else if(i!==e&&t)r++;else break}return l.slice(0,n-r)}function fe(l,e){if(l.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<l.length;n++)if(l[n]===\"\\\\\")n++;else if(l[n]===e[0])t++;else if(l[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function me(l,e,t,n,r){let i=e.href,s=e.title||null,a=l[1].replace(r.other.outputLinkReplace,\"$1\");n.state.inLink=!0;let o={type:l[0].charAt(0)===\"!\"?\"image\":\"link\",raw:t,href:i,title:s,text:a,tokens:n.inlineTokens(a)};return n.state.inLink=!1,o}function Ye(l,e,t){let n=l.match(t.other.indentCodeCompensation);if(n===null)return e;let r=n[1];return e.split(`\n`).map(i=>{let s=i.match(t.other.beginningSpace);if(s===null)return i;let[a]=s;return a.length>=r.length?i.slice(r.length):i}).join(`\n`)}var y=class{options;rules;lexer;constructor(e){this.options=e||T}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?n:z(n,`\n`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=Ye(n,t[3]||\"\",this.rules);return{type:\"code\",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=z(n,\"#\");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:z(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=z(t[0],`\n`).split(`\n`),r=\"\",i=\"\",s=[];for(;n.length>0;){let a=!1,o=[],p;for(p=0;p<n.length;p++)if(this.rules.other.blockquoteStart.test(n[p]))o.push(n[p]),a=!0;else if(!a)o.push(n[p]);else break;n=n.slice(p);let u=o.join(`\n`),c=u.replace(this.rules.other.blockquoteSetextReplace,`\n $1`).replace(this.rules.other.blockquoteSetextReplace2,\"\");r=r?`${r}\n${u}`:u,i=i?`${i}\n${c}`:c;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,s,!0),this.lexer.state.top=g,n.length===0)break;let h=s.at(-1);if(h?.type===\"code\")break;if(h?.type===\"blockquote\"){let R=h,f=R.raw+`\n`+n.join(`\n`),O=this.blockquote(f);s[s.length-1]=O,r=r.substring(0,r.length-R.raw.length)+O.raw,i=i.substring(0,i.length-R.text.length)+O.text;break}else if(h?.type===\"list\"){let R=h,f=R.raw+`\n`+n.join(`\n`),O=this.list(f);s[s.length-1]=O,r=r.substring(0,r.length-h.raw.length)+O.raw,i=i.substring(0,i.length-R.raw.length)+O.raw,n=f.substring(s.at(-1).raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:r,tokens:s,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:\"list\",raw:\"\",ordered:r,start:r?+n.slice(0,-1):\"\",loose:!1,items:[]};n=r?`\\\\d{1,9}\\\\${n.slice(-1)}`:`\\\\${n}`,this.options.pedantic&&(n=r?n:\"[*+-]\");let s=this.rules.other.listItemRegex(n),a=!1;for(;e;){let p=!1,u=\"\",c=\"\";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;u=t[0],e=e.substring(u.length);let g=t[2].split(`\n`,1)[0].replace(this.rules.other.listReplaceTabs,H=>\" \".repeat(3*H.length)),h=e.split(`\n`,1)[0],R=!g.trim(),f=0;if(this.options.pedantic?(f=2,c=g.trimStart()):R?f=t[1].length+1:(f=t[2].search(this.rules.other.nonSpaceChar),f=f>4?1:f,c=g.slice(f),f+=t[1].length),R&&this.rules.other.blankLine.test(h)&&(u+=h+`\n`,e=e.substring(h.length+1),p=!0),!p){let H=this.rules.other.nextBulletRegex(f),ee=this.rules.other.hrRegex(f),te=this.rules.other.fencesBeginRegex(f),ne=this.rules.other.headingBeginRegex(f),xe=this.rules.other.htmlBeginRegex(f);for(;e;){let Z=e.split(`\n`,1)[0],A;if(h=Z,this.options.pedantic?(h=h.replace(this.rules.other.listReplaceNesting,\" \"),A=h):A=h.replace(this.rules.other.tabCharGlobal,\" \"),te.test(h)||ne.test(h)||xe.test(h)||H.test(h)||ee.test(h))break;if(A.search(this.rules.other.nonSpaceChar)>=f||!h.trim())c+=`\n`+A.slice(f);else{if(R||g.replace(this.rules.other.tabCharGlobal,\" \").search(this.rules.other.nonSpaceChar)>=4||te.test(g)||ne.test(g)||ee.test(g))break;c+=`\n`+h}!R&&!h.trim()&&(R=!0),u+=Z+`\n`,e=e.substring(Z.length+1),g=A.slice(f)}}i.loose||(a?i.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(a=!0));let O=null,Y;this.options.gfm&&(O=this.rules.other.listIsTask.exec(c),O&&(Y=O[0]!==\"[ ] \",c=c.replace(this.rules.other.listReplaceTask,\"\"))),i.items.push({type:\"list_item\",raw:u,task:!!O,checked:Y,loose:!1,text:c,tokens:[]}),i.raw+=u}let o=i.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let p=0;p<i.items.length;p++)if(this.lexer.state.top=!1,i.items[p].tokens=this.lexer.blockTokens(i.items[p].text,[]),!i.loose){let u=i.items[p].tokens.filter(g=>g.type===\"space\"),c=u.length>0&&u.some(g=>this.rules.other.anyLine.test(g.raw));i.loose=c}if(i.loose)for(let p=0;p<i.items.length;p++)i.items[p].loose=!0;return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:\"html\",block:!0,raw:t[0],pre:t[1]===\"pre\"||t[1]===\"script\"||t[1]===\"style\",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):t[3];return{type:\"def\",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=V(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],s={type:\"table\",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let a of r)this.rules.other.tableAlignRight.test(a)?s.align.push(\"right\"):this.rules.other.tableAlignCenter.test(a)?s.align.push(\"center\"):this.rules.other.tableAlignLeft.test(a)?s.align.push(\"left\"):s.align.push(null);for(let a=0;a<n.length;a++)s.header.push({text:n[a],tokens:this.lexer.inline(n[a]),header:!0,align:s.align[a]});for(let a of i)s.rows.push(V(a,s.header.length).map((o,p)=>({text:o,tokens:this.lexer.inline(o),header:!1,align:s.align[p]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:\"heading\",raw:t[0],depth:t[2].charAt(0)===\"=\"?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=z(n.slice(0,-1),\"\\\\\");if((n.length-s.length)%2===0)return}else{let s=fe(t[2],\"()\");if(s===-2)return;if(s>-1){let o=(t[0].indexOf(\"!\")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,o).trim(),t[3]=\"\"}}let r=t[2],i=\"\";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):\"\";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),me(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,\"$1\"),title:i&&i.replace(this.rules.inline.anyPunctuation,\"$1\")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:\"text\",raw:s,text:s}}return me(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[2]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,p=s,u=0,c=r[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+s);(r=c.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){p+=o;continue}else if((r[5]||r[6])&&s%3&&!((s+o)%3)){u+=o;continue}if(p-=o,p>0)continue;o=Math.min(o,o+p+u);let g=[...r[0]][0].length,h=e.slice(0,s+r.index+g+o);if(Math.min(s,o)%2){let f=h.slice(1,-1);return{type:\"em\",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}let R=h.slice(2,-2);return{type:\"strong\",raw:h,text:R,tokens:this.lexer.inlineTokens(R)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal,\" \"),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:\"codespan\",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:\"del\",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]===\"@\"?(n=t[1],r=\"mailto:\"+n):(n=t[1],r=n),{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]===\"@\")n=t[0],r=\"mailto:\"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??\"\";while(i!==t[0]);n=t[0],t[1]===\"www.\"?r=\"http://\"+t[0]:r=t[0]}return{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:\"text\",raw:t[0],text:t[0],escaped:n}}}};var x=class l{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||T,this.options.tokenizer=this.options.tokenizer||new y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:C.normal,inline:M.normal};this.options.pedantic?(t.block=C.pedantic,t.inline=M.pedantic):this.options.gfm&&(t.block=C.gfm,this.options.breaks?t.inline=M.breaks:t.inline=M.gfm),this.tokenizer.rules=t}static get rules(){return{block:C,inline:M}}static lex(e,t){return new l(t).lex(e)}static lexInline(e,t){return new l(t).inlineTokens(e)}lex(e){e=e.replace(m.carriageReturn,`\n`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(m.tabCharGlobal,\" \").replace(m.spaceLine,\"\"));e;){let r;if(this.options.extensions?.block?.some(s=>(r=s.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let s=t.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let s=1/0,a=e.slice(1),o;this.options.extensions.startBlock.forEach(p=>{o=p.call({lexer:this},a),typeof o==\"number\"&&o>=0&&(s=Math.min(s,o))}),s<1/0&&s>=0&&(i=e.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let s=t.at(-1);n&&s?.type===\"paragraph\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(e){let s=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,r=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)o.includes(r[0].slice(r[0].lastIndexOf(\"[\")+1,-1))&&(n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,r.index)+\"++\"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+\"[\"+\"a\".repeat(r[0].length-i-2)+\"]\"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,a=\"\";for(;e;){s||(a=\"\"),s=!1;let o;if(this.options.extensions?.inline?.some(u=>(o=u.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let u=t.at(-1);o.type===\"text\"&&u?.type===\"text\"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let p=e;if(this.options.extensions?.startInline){let u=1/0,c=e.slice(1),g;this.options.extensions.startInline.forEach(h=>{g=h.call({lexer:this},c),typeof g==\"number\"&&g>=0&&(u=Math.min(u,g))}),u<1/0&&u>=0&&(p=e.substring(0,u+1))}if(o=this.tokenizer.inlineText(p)){e=e.substring(o.raw.length),o.raw.slice(-1)!==\"_\"&&(a=o.raw.slice(-1)),s=!0;let u=t.at(-1);u?.type===\"text\"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(e){let u=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}};var P=class{options;parser;constructor(e){this.options=e||T}space(e){return\"\"}code({text:e,lang:t,escaped:n}){let r=(t||\"\").match(m.notSpaceStart)?.[0],i=e.replace(m.endingNewline,\"\")+`\n`;return r?'<pre><code class=\"language-'+w(r)+'\">'+(n?i:w(i,!0))+`</code></pre>\n`:\"<pre><code>\"+(n?i:w(i,!0))+`</code></pre>\n`}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}def(e){return\"\"}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return`<hr>\n`}list(e){let t=e.ordered,n=e.start,r=\"\";for(let a=0;a<e.items.length;a++){let o=e.items[a];r+=this.listitem(o)}let i=t?\"ol\":\"ul\",s=t&&n!==1?' start=\"'+n+'\"':\"\";return\"<\"+i+s+`>\n`+r+\"</\"+i+`>\n`}listitem(e){let t=\"\";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type===\"paragraph\"?(e.tokens[0].text=n+\" \"+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type===\"text\"&&(e.tokens[0].tokens[0].text=n+\" \"+w(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:\"text\",raw:n+\" \",text:n+\" \",escaped:!0}):t+=n+\" \"}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>\n`}checkbox({checked:e}){return\"<input \"+(e?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t=\"\",n=\"\";for(let i=0;i<e.header.length;i++)n+=this.tablecell(e.header[i]);t+=this.tablerow({text:n});let r=\"\";for(let i=0;i<e.rows.length;i++){let s=e.rows[i];n=\"\";for(let a=0;a<s.length;a++)n+=this.tablecell(s[a]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>\n<thead>\n`+t+`</thead>\n`+r+`</table>\n`}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?\"th\":\"td\";return(e.align?`<${n} align=\"${e.align}\">`:`<${n}>`)+t+`</${n}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${w(e,!0)}</code>`}br(e){return\"<br>\"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=J(e);if(i===null)return r;e=i;let s='<a href=\"'+e+'\"';return t&&(s+=' title=\"'+w(t)+'\"'),s+=\">\"+r+\"</a>\",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=J(e);if(i===null)return w(n);e=i;let s=`<img src=\"${e}\" alt=\"${n}\"`;return t&&(s+=` title=\"${w(t)}\"`),s+=\">\",s}text(e){return\"tokens\"in e&&e.tokens?this.parser.parseInline(e.tokens):\"escaped\"in e&&e.escaped?e.text:w(e.text)}};var $=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return\"\"+e}image({text:e}){return\"\"+e}br(){return\"\"}};var b=class l{options;renderer;textRenderer;constructor(e){this.options=e||T,this.options.renderer=this.options.renderer||new P,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $}static parse(e,t){return new l(t).parse(e)}static parseInline(e,t){return new l(t).parseInline(e)}parse(e,t=!0){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let a=i,o=this.options.extensions.renderers[a.type].call({parser:this},a);if(o!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"def\",\"paragraph\",\"text\"].includes(a.type)){n+=o||\"\";continue}}let s=i;switch(s.type){case\"space\":{n+=this.renderer.space(s);continue}case\"hr\":{n+=this.renderer.hr(s);continue}case\"heading\":{n+=this.renderer.heading(s);continue}case\"code\":{n+=this.renderer.code(s);continue}case\"table\":{n+=this.renderer.table(s);continue}case\"blockquote\":{n+=this.renderer.blockquote(s);continue}case\"list\":{n+=this.renderer.list(s);continue}case\"html\":{n+=this.renderer.html(s);continue}case\"def\":{n+=this.renderer.def(s);continue}case\"paragraph\":{n+=this.renderer.paragraph(s);continue}case\"text\":{let a=s,o=this.renderer.text(a);for(;r+1<e.length&&e[r+1].type===\"text\";)a=e[++r],o+=`\n`+this.renderer.text(a);t?n+=this.renderer.paragraph({type:\"paragraph\",raw:o,text:o,tokens:[{type:\"text\",raw:o,text:o,escaped:!0}]}):n+=o;continue}default:{let a='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(a),\"\";throw new Error(a)}}}return n}parseInline(e,t=this.renderer){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(i.type)){n+=a||\"\";continue}}let s=i;switch(s.type){case\"escape\":{n+=t.text(s);break}case\"html\":{n+=t.html(s);break}case\"link\":{n+=t.link(s);break}case\"image\":{n+=t.image(s);break}case\"strong\":{n+=t.strong(s);break}case\"em\":{n+=t.em(s);break}case\"codespan\":{n+=t.codespan(s);break}case\"br\":{n+=t.br(s);break}case\"del\":{n+=t.del(s);break}case\"text\":{n+=t.text(s);break}default:{let a='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(a),\"\";throw new Error(a)}}}return n}};var S=class{options;block;constructor(e){this.options=e||T}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\",\"emStrongMask\"]);static passThroughHooksRespectAsync=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?x.lex:x.lexInline}provideParser(){return this.block?b.parse:b.parseInline}};var B=class{defaults=L();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=b;Renderer=P;TextRenderer=$;Lexer=x;Tokenizer=y;Hooks=S;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case\"table\":{let i=r;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,t));for(let s of i.rows)for(let a of s)n=n.concat(this.walkTokens(a.tokens,t));break}case\"list\":{let i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(\"extension name required\");if(\"renderer\"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...a){let o=i.renderer.apply(this,a);return o===!1&&(o=s.apply(this,a)),o}:t.renderers[i.name]=i.renderer}if(\"tokenizer\"in i){if(!i.level||i.level!==\"block\"&&i.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===\"block\"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===\"inline\"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}\"childTokens\"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new P(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if([\"options\",\"parser\"].includes(s))continue;let a=s,o=n.renderer[a],p=i[a];i[a]=(...u)=>{let c=o.apply(i,u);return c===!1&&(c=p.apply(i,u)),c||\"\"}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new y(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(s))continue;let a=s,o=n.tokenizer[a],p=i[a];i[a]=(...u)=>{let c=o.apply(i,u);return c===!1&&(c=p.apply(i,u)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new S;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if([\"options\",\"block\"].includes(s))continue;let a=s,o=n.hooks[a],p=i[a];S.passThroughHooks.has(s)?i[a]=u=>{if(this.defaults.async&&S.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await o.call(i,u);return p.call(i,g)})();let c=o.call(i,u);return p.call(i,c)}:i[a]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await o.apply(i,u);return g===!1&&(g=await p.apply(i,u)),g})();let c=o.apply(i,u);return c===!1&&(c=p.apply(i,u)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(a){let o=[];return o.push(s.call(this,a)),i&&(o=o.concat(i.call(this,a))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return x.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return a(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof n>\"u\"||n===null)return a(new Error(\"marked(): input parameter is undefined or null\"));if(typeof n!=\"string\")return a(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(n):n,u=await(s.hooks?await s.hooks.provideLexer():e?x.lex:x.lexInline)(o,s),c=s.hooks?await s.hooks.processAllTokens(u):u;s.walkTokens&&await Promise.all(this.walkTokens(c,s.walkTokens));let h=await(s.hooks?await s.hooks.provideParser():e?b.parse:b.parseInline)(c,s);return s.hooks?await s.hooks.postprocess(h):h})().catch(a);try{s.hooks&&(n=s.hooks.preprocess(n));let p=(s.hooks?s.hooks.provideLexer():e?x.lex:x.lexInline)(n,s);s.hooks&&(p=s.hooks.processAllTokens(p)),s.walkTokens&&this.walkTokens(p,s.walkTokens);let c=(s.hooks?s.hooks.provideParser():e?b.parse:b.parseInline)(p,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(o){return a(o)}}}onError(e,t){return n=>{if(n.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let r=\"<p>An error occurred:</p><pre>\"+w(n.message+\"\",!0)+\"</pre>\";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var _=new B;function k(l,e){return _.parse(l,e)}k.options=k.setOptions=function(l){return _.setOptions(l),k.defaults=_.defaults,G(k.defaults),k};k.getDefaults=L;k.defaults=T;k.use=function(...l){return _.use(...l),k.defaults=_.defaults,G(k.defaults),k};k.walkTokens=function(l,e){return _.walkTokens(l,e)};k.parseInline=_.parseInline;k.Parser=b;k.parser=b.parse;k.Renderer=P;k.TextRenderer=$;k.Lexer=x;k.lexer=x.lex;k.Tokenizer=y;k.Hooks=S;k.parse=k;var Zt=k.options,Gt=k.setOptions,Nt=k.use,Ft=k.walkTokens,jt=k.parseInline,Qt=k,Ut=b.parse,Kt=x.lex;export{S as Hooks,x as Lexer,B as Marked,b as Parser,P as Renderer,$ as TextRenderer,y as Tokenizer,T as defaults,L as getDefaults,Kt as lexer,k as marked,Zt as options,Qt as parse,jt as parseInline,Ut as parser,Gt as setOptions,Nt as use,Ft as walkTokens};\n//# sourceMappingURL=marked.esm.js.map\n",
|
|
30
30
|
"/*\nShared markdown rendering for the static doc system.\n\nBoth the build-time pre-render and the client (doc-browser) call THIS function, so\nthe static page hydrates byte-identically. Fenced code blocks are left as\n<pre><code class=\"language-*\"> so the static page shows readable, indexable code\nAND the component can later upgrade consecutive blocks into <live-example> widgets\nvia insertExamples(). A fence info string may carry a `#id` (```js#my-example) to\ngive that example a stable anchor — see the docMarked renderer below.\n*/\n\nimport { Marked, Renderer } from 'marked'\n\nconst baseRenderer = new Renderer()\n\n// A doc-scoped marked instance. Its ONLY customization: a fenced code block whose\n// info string carries a `#id` suffix — e.g. ```js#my-example — renders the lang\n// clean (`language-js`, so all existing grouping/highlighting is unaffected) but\n// stamps `data-example-id=\"my-example\"` on the <pre>. insertExamples (client) and\n// the book builders both read that to give the live example a stable anchor for\n// deep-linking. A block with no `#id` is byte-identical to default marked output.\nconst docMarked = new Marked()\ndocMarked.use({\n renderer: {\n code(token: any) {\n const info = String(token.lang || '')\n const hash = info.indexOf('#')\n if (hash === -1) return false // default rendering\n const id = info.slice(hash + 1).match(/^[A-Za-z0-9_-]+/)?.[0]\n if (!id) return false\n const html = baseRenderer.code({ ...token, lang: info.slice(0, hash) })\n return html.replace(/^<pre>/, `<pre data-example-id=\"${id}\">`)\n },\n },\n})\n\n/** Render a doc's markdown text to HTML (synchronous, default marked options). */\nexport function renderDocMarkdown(text: string): string {\n return docMarked.parse(text) as string\n}\n\n/**\n * Derive a clean <meta name=\"description\"> from a doc's first prose paragraph.\n * Skips the title heading, code fences, tables, quotes, html and image/link-only\n * lines; strips inline markdown; drops low-value \"This is a…\" leads; and truncates\n * on a sentence boundary where possible (never mid-clause ending in a comma).\n * Pages can override this entirely via their JSON metadata `description`.\n */\nexport function docDescription(text: string, maxLength = 160): string {\n const lines = text.split('\\n')\n let inFence = false\n const prose: string[] = []\n for (const raw of lines) {\n const line = raw.trim()\n if (line.startsWith('```') || line.startsWith('~~~')) {\n inFence = !inFence\n continue\n }\n if (inFence) continue\n if (line === '') {\n if (prose.length) break // end of the first prose paragraph\n continue\n }\n if (line.startsWith('#')) continue // headings\n if (line.startsWith('<!--') || line.startsWith('/*')) continue // metadata\n if (line.startsWith('<')) continue // raw html\n if (line.startsWith('|') || line.startsWith('>')) continue // tables, quotes\n if (line.startsWith('![') || /^\\[.*\\]\\(.*\\)$/.test(line)) continue // image/link-only\n prose.push(line)\n if (prose.join(' ').length >= maxLength) break\n }\n\n let s = prose\n .join(' ')\n .replace(/`([^`]+)`/g, '$1')\n .replace(/\\*\\*([^*]+)\\*\\*/g, '$1')\n .replace(/\\*([^*]+)\\*/g, '$1')\n .replace(/\\[([^\\]]+)\\]\\([^)]*\\)/g, '$1')\n .replace(/^This (?:is|component is|widget is)\\s+(?:a|an|the)\\s+/i, '')\n .trim()\n if (!s) return ''\n s = s.charAt(0).toUpperCase() + s.slice(1)\n if (s.length <= maxLength) return s.replace(/[,;:\\s]+$/, '')\n\n const slice = s.slice(0, maxLength)\n const sentenceEnd = Math.max(\n slice.lastIndexOf('. '),\n slice.lastIndexOf('! '),\n slice.lastIndexOf('? ')\n )\n if (sentenceEnd > maxLength * 0.6) return slice.slice(0, sentenceEnd + 1).trim()\n const wordEnd = slice.lastIndexOf(' ')\n return slice.slice(0, wordEnd).replace(/[,;:.\\s]+$/, '').trim() + '…'\n}\n",
|
|
31
31
|
"/*#\n# tabs\n\n`<tosi-tabs>` creates a `tabpanel` for its children, creating a `tab` for each based on its\n`name` attribute.\n\n```js\n[...preview.querySelectorAll('div[name]')].forEach(div => {\n div.style.color = `hsl(${(Math.random() * 360).toFixed(0)} 50% 50%)`\n})\n\nimport { div, button } from 'tosijs'.elements\nconst tabSelector = preview.querySelector('tosi-tabs')\n\ntabSelector.onCloseTab = body => {\n if (!confirm(`Are you sure you want to close the ${body.getAttribute('name')} tab?`)) {\n return false\n }\n}\n\nlet bodycount = 0\npreview.querySelector('.add').addEventListener('click', () => {\n const name = `new tab ${++bodycount}`\n const body = div(\n {name, dataClose: true},\n name,\n )\n tabSelector.addTabBody(body, true)\n})\n```\n```html\n<tosi-tabs>\n <div name=\"first\">first body</div>\n <div name=\"second\" data-close>\n <template role=\"tab\">\n <tosi-icon\n style=\"\n display: inline-block;\n width: 16px;\n height: 16px;\n transform: translateY(2px);\n margin-right: 4px;\n stroke: var(--brand-color);\n \"\n icon=\"eye\"\n ></tosi-icon>\n <span>Ooooh!!!</span>\n </template>\n look at the html…\n </div>\n <div name=\"third\">third body</div>\n <button class=\"add\" slot=\"after-tabs\">\n <tosi-icon icon=\"plus\"></tosi-icon>\n </button>\n</tosi-tabs>\n```\n```css\n .preview tosi-tabs {\n height: 100%;\n }\n\n .preview div[name] {\n padding: 20px;\n text-align: center;\n height: 100%;\n font-size: 200%;\n }\n\n .preview .add {\n width: 38px;\n line-height: 38px;\n height: 38px;\n padding: 0;\n }\n```\n\nThe `<tosi-tabs>`s `value` is the index of its active body.\n\nA `<tosi-tabs>` has `addTabBody(body: HTMLElement, select?: boolean)` and\n`removeTabBody(body: number | HTMLElement)` methods for updating its content.\n\nYou can also just insert or remove tab bodies directly and call `setupTabs()`.\n\n## Closeable Tabs\n\nAdding the `data-close` attribute to a tab will make it closeable.\n\nWhen a tab is closed, the `<tosi-tabs>` element's `onCloseTab: (tabBody: Element) => boolean | undefined | void`\nwill be called. If you override this method and return `false`, the tab will\nnot be closed (e.g. if you want to implement save/cancel behavior).\n\n## Custom Tab Content\n\nYou can specify the exact content of the tab for a given body by\nadding a `<template role=\"tab\">` to that body. The contents of that\ntemplate will be cloned into the tab.\n\n## Localized Support\n\n```html\n<tosi-tabs localized>\n <div name=\"localize\"><h2>localize!</h2></div>\n <div name=\"tabs\"><h2>tabs</h2></div>\n</tosi-tabs>\n```\n\n`<tosi-tabs>` supports the `localized` attribute. It will automatically localize\ntab names (but it won't override custom tab content, so localizing that is on you).\n\n## Tab Tooltips\n\nAdd `data-tooltip` to a tab body and it will be shown on its tab button\n(requires `initTooltips()`).\n\n```js\nimport { initTooltips } from 'tosijs-ui'\n\ninitTooltips()\n```\n```html\n<tosi-tabs>\n <div name=\"Overview\" data-tooltip=\"Project summary and status\">Overview content</div>\n <div name=\"Details\" data-tooltip=\"Configuration and **advanced** settings\">Details content</div>\n <div name=\"Log\" data-tooltip=\"Recent activity and events\">Log content</div>\n</tosi-tabs>\n```\n```css\n.preview tosi-tabs {\n height: 100%;\n}\n.preview div[name] {\n padding: 20px;\n text-align: center;\n}\n```\n*/\n\n/*{ \"parent\": \"Components\" }*/\n\nimport {\n Component as WebComponent,\n ElementCreator,\n elements,\n vars,\n PartsMap,\n} from 'tosijs'\n\nimport { tosiLocalized, TosiLocalized } from './localize'\n\nimport { icons } from './icons'\n\nconst { div, slot, span, button } = elements\n\ntype TabCloseHandler = (tabBody: Element) => boolean | undefined | void\n\ninterface TabsParts extends PartsMap {\n tabs: HTMLElement\n selected: HTMLElement\n}\n\nexport class TosiTabs extends WebComponent {\n static preferredTagName = 'tosi-tabs'\n\n static initAttributes = {\n localized: false,\n }\n\n value = 0\n\n makeTab(tabs: TosiTabs, tabBody: HTMLElement, bodyId: string): HTMLElement {\n const tabName = tabBody.getAttribute('name') as string\n const tabContent =\n (\n tabBody.querySelector('template[role=\"tab\"]') as HTMLTemplateElement\n )?.content.cloneNode(true) ||\n (this.localized ? tosiLocalized(tabName) : span(tabName))\n const tab = div(\n tabContent,\n {\n part: 'tab',\n tabindex: 0,\n role: 'tab',\n ariaControls: bodyId,\n },\n tabBody.hasAttribute('data-close')\n ? button(\n {\n title: 'close',\n class: 'close',\n },\n icons.x()\n )\n : {}\n )\n const tooltip = tabBody.dataset.tooltip\n if (tooltip) {\n tab.dataset.tooltip = tooltip\n }\n return tab\n }\n\n static shadowStyleSpec = {\n ':host': {\n // New --tosi-tabs-* variables with legacy fallbacks\n '--tosi-tabs-selected-color':\n 'var(--xin-tabs-selected-color, var(--tosi-accent, currentColor))',\n '--tosi-tabs-bar-color': 'var(--xin-tabs-bar-color, #ccc)',\n '--tosi-tabs-bar-height': 'var(--xin-tabs-bar-height, 2px)',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n overflow: 'hidden',\n boxShadow: 'none !important',\n },\n slot: {\n position: 'relative',\n display: 'block',\n flex: '1',\n overflow: 'hidden',\n overflowY: 'auto',\n },\n 'slot[name=\"after-tabs\"]': {\n flex: '0 0 auto',\n },\n '::slotted([hidden])': {\n display: 'none !important',\n },\n ':host::part(tabpanel)': {\n display: 'flex',\n flexDirection: 'column',\n overflowX: 'auto',\n },\n ':host::part(tabrow)': {\n display: 'flex',\n },\n ':host .tabs': {\n display: 'flex',\n userSelect: 'none',\n whiteSpace: 'nowrap',\n },\n ':host .tabs > div': {\n padding: `${vars.spacing50} ${vars.spacing}`,\n cursor: 'default',\n display: 'flex',\n alignItems: 'baseline',\n },\n ':host .tabs > [aria-selected]': {\n '--text-color': vars.tosiTabsSelectedColor,\n color: vars.textColor,\n },\n ':host .elastic': {\n flex: '1',\n },\n ':host .border': {\n background: vars.tosiTabsBarColor,\n },\n ':host .border > .selected': {\n content: ' ',\n width: 0,\n height: vars.tosiTabsBarHeight,\n background: vars.tosiTabsSelectedColor,\n transition: 'ease-out 0.2s',\n },\n ':host button.close': {\n border: 0,\n background: 'transparent',\n textAlign: 'center',\n marginLeft: vars.spacing50,\n padding: 0,\n },\n ':host button.close > svg': {\n height: '12px',\n },\n }\n\n onCloseTab: TabCloseHandler | null = null\n\n content = [\n div(\n { role: 'tabpanel', part: 'tabpanel' },\n div(\n { part: 'tabrow' },\n div({ class: 'tabs', part: 'tabs' }),\n div({ class: 'elastic' }),\n slot({ name: 'after-tabs' })\n ),\n div({ class: 'border' }, div({ class: 'selected', part: 'selected' }))\n ),\n slot(),\n ]\n\n addTabBody(body: HTMLElement, selectTab = false): void {\n if (!body.hasAttribute('name')) {\n console.error('element has no name attribute', body)\n throw new Error('element has no name attribute')\n }\n this.append(body)\n this.setupTabs()\n if (selectTab) {\n this.value = this.bodies.length - 1\n }\n this.queueRender()\n }\n\n removeTabBody(body: HTMLElement): void {\n body.remove()\n this.setupTabs()\n this.queueRender()\n }\n\n keyTab = (event: Event): void => {\n const { tabs } = this.parts\n const tabIndex = [...tabs.children].indexOf(event.target as HTMLElement)\n switch ((event as KeyboardEvent).key) {\n case 'ArrowLeft':\n this.value =\n (tabIndex + Number(tabs.children.length) - 1) % tabs.children.length\n ;(tabs.children[this.value] as HTMLElement).focus()\n event.preventDefault()\n break\n case 'ArrowRight':\n this.value = (tabIndex + 1) % tabs.children.length\n ;(tabs.children[this.value] as HTMLElement).focus()\n event.preventDefault()\n break\n case ' ':\n this.pickTab(event)\n event.preventDefault()\n break\n default:\n // console.log(event.key)\n }\n }\n\n get bodies(): Element[] {\n return [...this.children].filter((elt) => elt.hasAttribute('name'))\n }\n\n pickTab = (event: Event): void => {\n const { tabs } = this.parts\n const target = event.target as HTMLElement\n const isCloseEvent = target.closest('button.close') !== null\n const tab = target.closest('.tabs > div') as HTMLElement\n const tabIndex = [...tabs.children].indexOf(tab)\n if (isCloseEvent) {\n const body = this.bodies[tabIndex]\n if (!this.onCloseTab || this.onCloseTab(body) !== false) {\n this.removeTabBody(this.bodies[tabIndex] as HTMLElement)\n }\n } else {\n if (tabIndex > -1) {\n this.value = tabIndex\n }\n }\n }\n\n setupTabs = (): void => {\n const { tabs } = this.parts\n const tabBodies = [...this.children].filter(\n (child) => !child.hasAttribute('slot') && child.hasAttribute('name')\n )\n tabs.textContent = ''\n if (this.value >= tabBodies.length) {\n this.value = tabBodies.length - 1\n }\n for (const index in tabBodies) {\n const tabBody = tabBodies[index] as HTMLElement\n const bodyId = `${this.instanceId}-${index}`\n tabBody.id = bodyId\n const tab = this.makeTab(this, tabBody, bodyId)\n tabs.append(tab)\n }\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n const { tabs } = this.parts\n tabs.addEventListener('click', this.pickTab)\n tabs.addEventListener('keydown', this.keyTab)\n this.setupTabs()\n TosiLocalized.allInstances.add(this)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n TosiLocalized.allInstances.delete(this)\n }\n\n localeChanged = () => {\n this.queueRender()\n }\n\n onResize(): void {\n this.queueRender()\n }\n\n render(): void {\n const { tabs, selected } = this.parts as TabsParts\n const tabBodies = this.bodies\n for (let i = 0; i < tabBodies.length; i++) {\n const tabBody = tabBodies[i]\n const tab = tabs.children[i] as HTMLElement\n const isSelected = this.value === Number(i)\n tab.toggleAttribute('aria-selected', isSelected)\n tabBody.toggleAttribute('hidden', !isSelected)\n if (isSelected) {\n selected.style!.marginLeft = `${tab.offsetLeft - tabs.offsetLeft}px`\n selected.style!.width = `${tab.offsetWidth}px`\n }\n }\n }\n}\n\n/** @deprecated Use TosiTabs instead */\nexport type TabSelector = TosiTabs\n/** @deprecated Use TosiTabs instead */\nexport const TabSelector: typeof TosiTabs = TosiTabs\n\nexport const tosiTabs = TosiTabs.elementCreator() as ElementCreator<TosiTabs>\n\n/** @deprecated Use tosiTabs instead */\nexport const tabSelector = tosiTabs\n\n/** @deprecated Use tosiTabs instead */\nexport const xinTabs = tosiTabs\n",
|
|
32
|
-
"import { Dialect, ExampleContext, TransformFn } from './types'\n\nexport const AsyncFunction = (async () => {\n /* placeholder */\n}).constructor\n\n/**\n * Sanitize a context module key into a JS identifier used as the binding name\n * in rewritten imports and as the AsyncFunction parameter. Must be applied\n * consistently on both sides. e.g. 'tosijs-ui' -> 'tosijsui',\n * '@babylonjs/core' -> 'babylonjscore'.\n */\nexport function contextVarName(key: string): string {\n return key.replace(/[^a-zA-Z0-9_$]/g, '')\n}\n\n/**\n * Rewrite import statements (from the example context) to const bindings:\n * import { x } from 'tosijs' -> const { x } = tosijs\n * import * as B from '@babylonjs' -> const B = babylonjs (context key)\n * import Foo from 'my-lib' -> const Foo = mylib\n * The `.elements` accessor form (`import { x } from 'tosijs'.elements`) is\n * preserved. Any static import that isn't from a context module (or uses an\n * unsupported form) throws a clear error rather than becoming a SyntaxError in\n * the AsyncFunction body.\n */\nexport function rewriteImports(code: string, contextKeys: string[]): string {\n let result = code\n for (const moduleName of contextKeys) {\n const js = contextVarName(moduleName)\n const m = moduleName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n // import { a, b } from 'mod'\n result = result.replace(\n new RegExp(`import\\\\s*\\\\{([^}]*)\\\\}\\\\s*from\\\\s*'${m}'`, 'g'),\n (_, names: string) => `const { ${names.replace(/\\s+/g, ' ').trim()} } = ${js}`\n )\n // import * as X from 'mod'\n result = result.replace(\n new RegExp(`import\\\\s*\\\\*\\\\s*as\\\\s+(\\\\w+)\\\\s+from\\\\s*'${m}'`, 'g'),\n (_, name: string) => `const ${name} = ${js}`\n )\n // import X from 'mod' (default)\n result = result.replace(\n new RegExp(`import\\\\s+(\\\\w+)\\\\s+from\\\\s*'${m}'`, 'g'),\n (_, name: string) => `const ${name} = ${js}`\n )\n }\n // Anything still a static import is unsupported — fail loudly with the line.\n const leftover = result.match(/^\\s*import\\s+['\"{*\\w][^\\n]*/m)\n if (leftover) {\n throw new Error(\n `live example: unsupported import \\`${leftover[0].trim()}\\` — only imports ` +\n `from the example context (${contextKeys.join(', ')}) are supported, in ` +\n `{ named }, * as ns, or default form.`\n )\n }\n return result\n}\n\n/**\n * Execute code as an async function with injected context\n */\nexport async function executeCode(\n code: string,\n context: ExampleContext,\n transform: TransformFn\n): Promise<void> {\n const rewrittenCode = rewriteImports(code, Object.keys(context))\n const transformedCode = transform(rewrittenCode, {\n transforms: ['typescript'],\n }).code\n\n const contextKeys = Object.keys(context).map(contextVarName)\n const contextValues = Object.values(context)\n\n // @ts-expect-error AsyncFunction constructor typing\n const func = new AsyncFunction(...contextKeys, transformedCode)\n await func(...contextValues)\n}\n\n/** The tjs() entry from tjs-lang/lang — the only part we need at the JS seam. */\ntype TjsFn = (\n source: string,\n options?: { dialect?: 'js' | 'tjs'; runTests?: boolean | 'only' | 'report' }\n) => { code: string }\n\n/** The fromTS() entry from tjs-lang/lang/from-ts — lowers TypeScript to tjs. */\ntype FromTsFn = (\n source: string,\n options?: { emitTJS?: boolean }\n) => { code: string }\n\n// tjs-lang/lang is the TS-compiler-free entry (the TypeScript path lives behind\n// tjs-lang/lang/from-ts and is only loaded for `ts` examples). The `+esm` form is\n// required: the prebuilt bundle imports `acorn`/`tosijs-schema`, which jsdelivr's\n// esm build resolves (a raw file load would fail on those bare imports). Pinned to\n// match the dev dep.\nconst TJS_CDN = 'https://cdn.jsdelivr.net/npm/tjs-lang@0.8.2/lang/+esm'\nconst FROM_TS_CDN =\n 'https://cdn.jsdelivr.net/npm/tjs-lang@0.8.2/lang/from-ts/+esm'\n\nasync function loadTjs(): Promise<TjsFn | null> {\n // Installed peer (ESM consumers / dev build)\n try {\n const { tjs } = (await import('tjs-lang/lang')) as { tjs: TjsFn }\n if (typeof tjs === 'function') return tjs\n } catch {\n // not installed — try CDN\n }\n // CDN (IIFE consumers, or when tjs-lang isn't installed)\n try {\n const { tjs } = (await import(/* webpackIgnore: true */ TJS_CDN)) as {\n tjs: TjsFn\n }\n if (typeof tjs === 'function') return tjs\n } catch {\n // unavailable — fall through to degraded mode\n }\n return null\n}\n\n/**\n * tjs inline-test API (from tjs-lang/lang):\n * extractTests(src) → { code (test-stripped), tests, testRunner }\n * testUtils — a string defining `expect`/`assert` etc. for the runner\n * Run with: `new AsyncFunction(...ctx, execJs + testUtils + 'return ' + testRunner)`\n * which resolves to `{ passed, failed, results }`.\n */\nexport interface TjsTestApi {\n extractTests: (source: string) => {\n code: string\n tests: { description: string }[]\n testRunner: string\n }\n testUtils: string\n}\n\nexport interface TjsTestResult {\n passed: number\n failed: number\n results: { description: string; passed: boolean; error?: string }[]\n}\n\nlet testApiOnce: Promise<TjsTestApi | null> | undefined\n\nasync function loadTjsTestApiImpl(): Promise<TjsTestApi | null> {\n for (const mod of [\n () => import('tjs-lang/lang'),\n () => import(/* webpackIgnore: true */ TJS_CDN),\n ]) {\n try {\n const m = (await mod()) as Partial<TjsTestApi>\n if (typeof m.extractTests === 'function' && typeof m.testUtils === 'string') {\n return { extractTests: m.extractTests, testUtils: m.testUtils }\n }\n } catch {\n // try next source\n }\n }\n return null\n}\n\n/** Load the tjs inline-test API (memoized). null if tjs-lang is unavailable. */\nexport function loadTjsTestApi(): Promise<TjsTestApi | null> {\n return (testApiOnce ??= loadTjsTestApiImpl())\n}\n\n// from-ts pulls in the TypeScript compiler, so it's loaded lazily and only when a\n// `ts` example is actually transformed — never for `js`/`tjs` pages.\nasync function loadFromTs(): Promise<FromTsFn | null> {\n try {\n const { fromTS } = (await import('tjs-lang/lang/from-ts')) as {\n fromTS: FromTsFn\n }\n if (typeof fromTS === 'function') return fromTS\n } catch {\n // not installed — try CDN\n }\n try {\n const { fromTS } = (await import(\n /* webpackIgnore: true */ FROM_TS_CDN\n )) as { fromTS: FromTsFn }\n if (typeof fromTS === 'function') return fromTS\n } catch {\n // unavailable — fall through to degraded mode\n }\n return null\n}\n\n// Load tjs once per page, not once per example. refresh() runs on every render\n// (and renders fire repeatedly while tests run), so a per-call import + parse\n// would re-pay tjs's cost each time and make every preview swap visibly lag —\n// the engine load is memoized and transform output is cached by dialect+source.\nlet tjsOnce: Promise<TjsFn | null> | undefined\nlet fromTsOnce: Promise<FromTsFn | null> | undefined\nconst resultCache = new Map<string, { code: string }>()\nlet warnedNoTjs = false\nlet warnedNoFromTs = false\n\n/**\n * Load a live-example transform for a given source dialect.\n *\n * tjs-lang is the engine:\n * - `js` → `tjs(code, { dialect: 'js' })`, which leaves vanilla JavaScript\n * untouched (no footgun rewriting) — behavior-neutral for plain JS.\n * - `tjs` → `tjs(code, { dialect: 'tjs' })`, the full tjs lowering (structural\n * `==`, type guards, runtime instrumentation).\n * - `ts` → `fromTS(code)` → tjs source → `tjs(…, { dialect: 'tjs' })`. The\n * TypeScript compiler is loaded lazily, only here.\n *\n * The dialect is baked into the returned closure, so callers just pass code.\n *\n * Degraded mode: if tjs-lang can't be loaded, plain JS still runs unchanged\n * (`dialect: 'js'` is a no-op on it), so we pass the code through. A `ts` page\n * with no from-ts available likewise falls back to running the source as JS.\n */\nexport async function loadTransform(\n dialect: Dialect = 'js'\n): Promise<TransformFn> {\n const tjs = await (tjsOnce ??= loadTjs())\n if (!tjs && !warnedNoTjs) {\n warnedNoTjs = true\n console.warn(\n 'tjs-lang not available — live examples run as raw JavaScript ' +\n '(tjs/TypeScript examples will not transpile). Install with: npm install tjs-lang'\n )\n }\n const fromTS = dialect === 'ts' ? await (fromTsOnce ??= loadFromTs()) : null\n if (dialect === 'ts' && !fromTS && !warnedNoFromTs) {\n warnedNoFromTs = true\n console.warn(\n 'tjs-lang/lang/from-ts not available — `ts` examples run as raw JavaScript.'\n )\n }\n return (code) => {\n const cacheKey = `${dialect}\u0000${code}`\n const cached = resultCache.get(cacheKey)\n if (cached) return cached\n // runTests:false — examples must not run tjs inline tests at transpile time\n // (the default throws on failure, which would break the example render).\n let result: { code: string }\n if (!tjs) {\n result = { code }\n } else if (dialect === 'ts') {\n const tjsSource = fromTS ? fromTS(code, { emitTJS: true }).code : code\n result = { code: tjs(tjsSource, { dialect: 'tjs', runTests: false }).code }\n } else {\n result = { code: tjs(code, { dialect, runTests: false }).code }\n }\n resultCache.set(cacheKey, result)\n return result\n }\n}\n",
|
|
32
|
+
"import { Dialect, ExampleContext, TransformFn } from './types'\n\nexport const AsyncFunction = (async () => {\n /* placeholder */\n}).constructor\n\n/**\n * Sanitize a context module key into a JS identifier used as the binding name\n * in rewritten imports and as the AsyncFunction parameter. Must be applied\n * consistently on both sides. e.g. 'tosijs-ui' -> 'tosijsui',\n * '@babylonjs/core' -> 'babylonjscore'.\n */\nexport function contextVarName(key: string): string {\n return key.replace(/[^a-zA-Z0-9_$]/g, '')\n}\n\n/**\n * Rewrite import statements (from the example context) to const bindings:\n * import { x } from 'tosijs' -> const { x } = tosijs\n * import * as B from '@babylonjs' -> const B = babylonjs (context key)\n * import Foo from 'my-lib' -> const Foo = mylib\n * The `.elements` accessor form (`import { x } from 'tosijs'.elements`) is\n * preserved. Any static import that isn't from a context module (or uses an\n * unsupported form) throws a clear error rather than becoming a SyntaxError in\n * the AsyncFunction body.\n */\nexport function rewriteImports(code: string, contextKeys: string[]): string {\n let result = code\n for (const moduleName of contextKeys) {\n const js = contextVarName(moduleName)\n const m = moduleName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n // import { a, b } from 'mod'\n result = result.replace(\n new RegExp(`import\\\\s*\\\\{([^}]*)\\\\}\\\\s*from\\\\s*'${m}'`, 'g'),\n (_, names: string) => `const { ${names.replace(/\\s+/g, ' ').trim()} } = ${js}`\n )\n // import * as X from 'mod'\n result = result.replace(\n new RegExp(`import\\\\s*\\\\*\\\\s*as\\\\s+(\\\\w+)\\\\s+from\\\\s*'${m}'`, 'g'),\n (_, name: string) => `const ${name} = ${js}`\n )\n // import X from 'mod' (default)\n result = result.replace(\n new RegExp(`import\\\\s+(\\\\w+)\\\\s+from\\\\s*'${m}'`, 'g'),\n (_, name: string) => `const ${name} = ${js}`\n )\n }\n // Anything still a static import is unsupported — fail loudly with the line.\n const leftover = result.match(/^\\s*import\\s+['\"{*\\w][^\\n]*/m)\n if (leftover) {\n throw new Error(\n `live example: unsupported import \\`${leftover[0].trim()}\\` — only imports ` +\n `from the example context (${contextKeys.join(', ')}) are supported, in ` +\n `{ named }, * as ns, or default form.`\n )\n }\n return result\n}\n\n/**\n * Execute code as an async function with injected context\n */\nexport async function executeCode(\n code: string,\n context: ExampleContext,\n transform: TransformFn\n): Promise<void> {\n const rewrittenCode = rewriteImports(code, Object.keys(context))\n const transformedCode = (\n await transform(rewrittenCode, {\n transforms: ['typescript'],\n })\n ).code\n\n const contextKeys = Object.keys(context).map(contextVarName)\n const contextValues = Object.values(context)\n\n // @ts-expect-error AsyncFunction constructor typing\n const func = new AsyncFunction(...contextKeys, transformedCode)\n await func(...contextValues)\n}\n\n/** The tjs() entry from tjs-lang/lang — the only part we need at the JS seam. */\ntype TjsFn = (\n source: string,\n options?: { dialect?: 'js' | 'tjs'; runTests?: boolean | 'only' | 'report' }\n) => { code: string }\n\n/**\n * The fromTS() entry from tjs-lang/browser/from-ts — lowers TypeScript to tjs.\n * Async: it lazy-loads the TypeScript compiler (from a CDN) on first call.\n */\ntype FromTsFn = (\n source: string,\n options?: { emitTJS?: boolean }\n) => Promise<{ code: string }>\n\n// tjs-lang/browser is a SELF-CONTAINED transpiler bundle (acorn/tosijs-schema\n// inlined, zero bare imports), so it loads as a raw CDN file — no `+esm` rewrite\n// needed. The TypeScript path lives behind tjs-lang/browser/from-ts (also\n// self-contained) and is loaded only for `ts` examples; from-ts in turn fetches\n// the TypeScript compiler lazily at runtime, so tsc is never pulled in until a TS\n// example actually transforms. Pinned to match the dev dep.\nconst TJS_CDN = 'https://cdn.jsdelivr.net/npm/tjs-lang@0.8.6/dist/tjs-browser.js'\nconst FROM_TS_CDN =\n 'https://cdn.jsdelivr.net/npm/tjs-lang@0.8.6/dist/tjs-browser-from-ts.js'\n\nasync function loadTjs(): Promise<TjsFn | null> {\n // Installed peer (ESM consumers / dev build)\n try {\n const { tjs } = (await import('tjs-lang/browser')) as { tjs: TjsFn }\n if (typeof tjs === 'function') return tjs\n } catch {\n // not installed — try CDN\n }\n // CDN (IIFE consumers, or when tjs-lang isn't installed)\n try {\n const { tjs } = (await import(/* webpackIgnore: true */ TJS_CDN)) as {\n tjs: TjsFn\n }\n if (typeof tjs === 'function') return tjs\n } catch {\n // unavailable — fall through to degraded mode\n }\n return null\n}\n\n/**\n * tjs inline-test API (from tjs-lang/lang):\n * extractTests(src) → { code (test-stripped), tests, testRunner }\n * testUtils — a string defining `expect`/`assert` etc. for the runner\n * Run with: `new AsyncFunction(...ctx, execJs + testUtils + 'return ' + testRunner)`\n * which resolves to `{ passed, failed, results }`.\n */\nexport interface TjsTestApi {\n extractTests: (source: string) => {\n code: string\n tests: { description: string }[]\n testRunner: string\n }\n testUtils: string\n}\n\nexport interface TjsTestResult {\n passed: number\n failed: number\n results: { description: string; passed: boolean; error?: string }[]\n}\n\nlet testApiOnce: Promise<TjsTestApi | null> | undefined\n\nasync function loadTjsTestApiImpl(): Promise<TjsTestApi | null> {\n for (const mod of [\n () => import('tjs-lang/browser'),\n () => import(/* webpackIgnore: true */ TJS_CDN),\n ]) {\n try {\n const m = (await mod()) as Partial<TjsTestApi>\n if (typeof m.extractTests === 'function' && typeof m.testUtils === 'string') {\n return { extractTests: m.extractTests, testUtils: m.testUtils }\n }\n } catch {\n // try next source\n }\n }\n return null\n}\n\n/** Load the tjs inline-test API (memoized). null if tjs-lang is unavailable. */\nexport function loadTjsTestApi(): Promise<TjsTestApi | null> {\n return (testApiOnce ??= loadTjsTestApiImpl())\n}\n\n// from-ts pulls in the TypeScript compiler, so it's loaded lazily and only when a\n// `ts` example is actually transformed — never for `js`/`tjs` pages.\nasync function loadFromTs(): Promise<FromTsFn | null> {\n try {\n const { fromTS } = (await import('tjs-lang/browser/from-ts')) as {\n fromTS: FromTsFn\n }\n if (typeof fromTS === 'function') return fromTS\n } catch {\n // not installed — try CDN\n }\n try {\n const { fromTS } = (await import(\n /* webpackIgnore: true */ FROM_TS_CDN\n )) as { fromTS: FromTsFn }\n if (typeof fromTS === 'function') return fromTS\n } catch {\n // unavailable — fall through to degraded mode\n }\n return null\n}\n\n// Load tjs once per page, not once per example. refresh() runs on every render\n// (and renders fire repeatedly while tests run), so a per-call import + parse\n// would re-pay tjs's cost each time and make every preview swap visibly lag —\n// the engine load is memoized and transform output is cached by dialect+source.\nlet tjsOnce: Promise<TjsFn | null> | undefined\nlet fromTsOnce: Promise<FromTsFn | null> | undefined\nconst resultCache = new Map<string, { code: string }>()\nlet warnedNoTjs = false\nlet warnedNoFromTs = false\n\n/**\n * Load a live-example transform for a given source dialect.\n *\n * tjs-lang is the engine:\n * - `js` → `tjs(code, { dialect: 'js' })`, which leaves vanilla JavaScript\n * untouched (no footgun rewriting) — behavior-neutral for plain JS.\n * - `tjs` → `tjs(code, { dialect: 'tjs' })`, the full tjs lowering (structural\n * `==`, type guards, runtime instrumentation).\n * - `ts` → `fromTS(code)` → tjs source → `tjs(…, { dialect: 'tjs' })`. The\n * TypeScript compiler is loaded lazily, only here.\n *\n * The dialect is baked into the returned closure, so callers just pass code.\n *\n * Degraded mode: if tjs-lang can't be loaded, plain JS still runs unchanged\n * (`dialect: 'js'` is a no-op on it), so we pass the code through. A `ts` page\n * with no from-ts available likewise falls back to running the source as JS.\n */\nexport async function loadTransform(\n dialect: Dialect = 'js'\n): Promise<TransformFn> {\n const tjs = await (tjsOnce ??= loadTjs())\n if (!tjs && !warnedNoTjs) {\n warnedNoTjs = true\n console.warn(\n 'tjs-lang not available — live examples run as raw JavaScript ' +\n '(tjs/TypeScript examples will not transpile). Install with: npm install tjs-lang'\n )\n }\n const fromTS = dialect === 'ts' ? await (fromTsOnce ??= loadFromTs()) : null\n if (dialect === 'ts' && !fromTS && !warnedNoFromTs) {\n warnedNoFromTs = true\n console.warn(\n 'tjs-lang/browser/from-ts not available — `ts` examples run as raw JavaScript.'\n )\n }\n return (code) => {\n const cacheKey = `${dialect}\u0000${code}`\n const cached = resultCache.get(cacheKey)\n if (cached) return cached\n // runTests:false — examples must not run tjs inline tests at transpile time\n // (the default throws on failure, which would break the example render).\n if (!tjs) {\n const result = { code }\n resultCache.set(cacheKey, result)\n return result\n }\n if (dialect === 'ts') {\n // async: fromTS lazy-loads the TypeScript compiler on first use.\n return (async () => {\n const tjsSource = fromTS ? (await fromTS(code, { emitTJS: true })).code : code\n const result = {\n code: tjs(tjsSource, { dialect: 'tjs', runTests: false }).code,\n }\n resultCache.set(cacheKey, result)\n return result\n })()\n }\n const result = { code: tjs(code, { dialect, runTests: false }).code }\n resultCache.set(cacheKey, result)\n return result\n }\n}\n",
|
|
33
33
|
"import { RemotePayload } from './types'\n\nexport const STORAGE_KEY = 'live-example-payload'\n\nexport function createRemoteKey(\n prefix: string,\n uuid: string,\n remoteId: string\n): string {\n return remoteId !== '' ? `${prefix}-${remoteId}` : `${prefix}-${uuid}`\n}\n\nexport function sendPayload(storageKey: string, payload: RemotePayload): void {\n try {\n localStorage.setItem(storageKey, JSON.stringify(payload))\n } catch (e) {\n console.warn('live-example: failed to write to localStorage', e)\n }\n}\n\nexport function parsePayload(data: string | null): RemotePayload | null {\n if (data === null) return null\n try {\n return JSON.parse(data)\n } catch {\n return null\n }\n}\n\nexport function openEditorWindow(\n prefix: string,\n uuid: string,\n storageKey: string,\n remoteKey: string,\n code: { css: string; html: string; js: string; test?: string }\n): void {\n const href = location.href.split('?')[0] + `?${prefix}=${uuid}`\n sendPayload(storageKey, {\n remoteKey,\n sentAt: Date.now(),\n ...code,\n })\n window.open(href)\n}\n\nexport function sendCloseSignal(storageKey: string, remoteKey: string): void {\n sendPayload(storageKey, {\n remoteKey,\n sentAt: Date.now(),\n css: '',\n html: '',\n js: '',\n close: true,\n })\n}\n\nconst hasBroadcastChannel = typeof BroadcastChannel !== 'undefined'\n\n/**\n * Manager for remote window synchronization.\n *\n * Primary transport: BroadcastChannel (reliable, instant, works when\n * tabs close). Falls back to localStorage polling for environments\n * that lack BroadcastChannel (e.g. older Quest 3 browser builds).\n *\n * localStorage is still used for the initial payload (persisted so the\n * new window can read it on first render).\n */\nexport class RemoteSyncManager {\n private storageKey: string\n private remoteKey: string\n private lastUpdate = 0\n private interval?: ReturnType<typeof setInterval>\n private channel?: BroadcastChannel\n private listening = false\n private onReceive: (payload: RemotePayload) => void\n\n constructor(\n storageKey: string,\n remoteKey: string,\n onReceive: (payload: RemotePayload) => void\n ) {\n this.storageKey = storageKey\n this.remoteKey = remoteKey\n this.onReceive = onReceive\n }\n\n private handlePayload = (payload: RemotePayload) => {\n if (payload.sentAt <= this.lastUpdate) return\n if (payload.remoteKey !== this.remoteKey) return\n\n this.lastUpdate = payload.sentAt\n this.onReceive(payload)\n }\n\n /** Handle incoming BroadcastChannel messages */\n private handleMessage = (event: MessageEvent) => {\n const payload = event.data as RemotePayload\n if (payload) this.handlePayload(payload)\n }\n\n /** Polling fallback — reads from localStorage */\n private handlePoll = () => {\n let data: string | null\n try {\n data = localStorage.getItem(this.storageKey)\n } catch {\n return\n }\n\n const payload = parsePayload(data)\n if (payload) this.handlePayload(payload)\n }\n\n startListening(): void {\n if (this.listening) return\n this.listening = true\n\n if (hasBroadcastChannel) {\n this.channel = new BroadcastChannel(this.storageKey)\n this.channel.onmessage = this.handleMessage\n }\n\n // Polling fallback — covers environments without BroadcastChannel\n // and catches the initial localStorage payload written before the\n // remote window's BroadcastChannel is ready.\n this.interval = setInterval(this.handlePoll, 500)\n }\n\n stopListening(): void {\n if (!this.listening) return\n this.listening = false\n\n if (this.channel) {\n this.channel.close()\n this.channel = undefined\n }\n\n if (this.interval) {\n clearInterval(this.interval)\n this.interval = undefined\n }\n }\n\n send(code: { css: string; html: string; js: string; test?: string }): void {\n const payload: RemotePayload = {\n remoteKey: this.remoteKey,\n sentAt: Date.now(),\n ...code,\n }\n\n // Write to localStorage (persistence for initial load + fallback)\n sendPayload(this.storageKey, payload)\n\n // Broadcast for instant delivery\n if (this.channel) {\n this.channel.postMessage(payload)\n }\n }\n\n sendClose(): void {\n const payload: RemotePayload = {\n remoteKey: this.remoteKey,\n sentAt: Date.now(),\n css: '',\n html: '',\n js: '',\n close: true,\n }\n\n sendPayload(this.storageKey, payload)\n\n if (this.channel) {\n this.channel.postMessage(payload)\n }\n }\n}\n",
|
|
34
|
-
"import { elements } from 'tosijs'\nimport { ExampleContext, TransformFn } from './types'\nimport { rewriteImports, AsyncFunction, contextVarName } from './code-transform'\n\nconst { div } = elements\n\n/**\n * Register web components in an iframe's customElements registry.\n *\n * Uses two strategies:\n * 1. Scans context exports for creator functions with a `tagName` property\n * 2. Scans the iframe HTML for any custom-element tags (contain a hyphen)\n * and registers them from the main window's customElements registry\n */\nexport function registerComponentsInIframe(\n iframeWindow: Window,\n context: ExampleContext\n): void {\n const iframeCustomElements = iframeWindow.customElements\n if (!iframeCustomElements) return\n\n const register = (tagName: string) => {\n if (!tagName || iframeCustomElements.get(tagName)) return\n const ComponentClass = customElements.get(tagName)\n if (ComponentClass) {\n try {\n iframeCustomElements.define(tagName, ComponentClass)\n } catch {\n // May fail if already defined — ignore\n }\n }\n }\n\n // Strategy 1: context exports with tagName (e.g. element creators)\n for (const lib of Object.values(context)) {\n if (lib && typeof lib === 'object') {\n for (const creator of Object.values(lib as Record<string, unknown>)) {\n if (typeof creator === 'function' && 'tagName' in creator) {\n register((creator as { tagName: string }).tagName)\n }\n }\n }\n }\n\n // Strategy 2: scan iframe DOM for unregistered custom-element tags\n const iframeDoc = iframeWindow.document\n if (iframeDoc) {\n const allElements = iframeDoc.querySelectorAll('*')\n for (const el of allElements) {\n const tag = el.tagName.toLowerCase()\n if (tag.includes('-')) {\n register(tag)\n }\n }\n }\n}\n\nexport interface ExecutionOptions {\n html: string\n css: string\n js: string\n context: ExampleContext\n transform: TransformFn\n onError?: (error: Error) => void\n}\n\n/**\n * Execute code inline (directly in the page)\n */\nexport async function executeInline(\n options: ExecutionOptions & {\n exampleElement: HTMLElement\n styleElement: HTMLStyleElement\n widgetsElement: HTMLElement\n }\n): Promise<HTMLElement> {\n const {\n html,\n css,\n js,\n context,\n transform,\n exampleElement,\n styleElement,\n widgetsElement,\n onError,\n } = options\n\n const preview = div({ class: 'preview' })\n preview.innerHTML = html\n styleElement.innerText = css\n\n const oldPreview = exampleElement.querySelector('.preview')\n if (oldPreview) {\n oldPreview.replaceWith(preview)\n } else {\n exampleElement.insertBefore(preview, widgetsElement)\n }\n\n const fullContext = { preview, ...context }\n\n try {\n const code = rewriteImports(js, Object.keys(context))\n const transformedCode = transform(code, { transforms: ['typescript'] }).code\n\n const contextKeys = Object.keys(fullContext).map(contextVarName)\n const contextValues = Object.values(fullContext)\n\n // @ts-expect-error AsyncFunction constructor typing\n const func = new AsyncFunction(...contextKeys, transformedCode)\n await func(...contextValues)\n } catch (e) {\n console.error(e)\n preview.append(\n div({ class: 'preview-error' }, String((e as Error).message || e))\n )\n if (onError) onError(e as Error)\n else window.alert(`Error: ${e}, the console may have more information…`)\n }\n\n return preview\n}\n\n/**\n * Execute code in an isolated iframe\n */\nexport async function executeInIframe(\n options: ExecutionOptions & {\n exampleElement: HTMLElement\n widgetsElement: HTMLElement\n }\n): Promise<HTMLElement | null> {\n const {\n html,\n css,\n js,\n context,\n transform,\n exampleElement,\n widgetsElement,\n onError,\n } = options\n\n // Create or reuse iframe\n let iframe = exampleElement.querySelector(\n 'iframe.preview-iframe'\n ) as HTMLIFrameElement | null\n\n if (!iframe) {\n iframe = document.createElement('iframe')\n iframe.className = 'preview-iframe'\n iframe.style.cssText = 'width: 100%; height: 100%; border: none;'\n const oldPreview = exampleElement.querySelector('.preview')\n if (oldPreview) {\n oldPreview.replaceWith(iframe)\n } else {\n exampleElement.insertBefore(iframe, widgetsElement)\n }\n }\n\n const iframeDoc = iframe.contentDocument\n if (!iframeDoc) {\n console.error('Could not access iframe document')\n return null\n }\n\n const iframeWindow = iframe.contentWindow as Window & {\n tosijs?: unknown\n tosijsui?: unknown\n }\n\n // Copy libraries to iframe window\n if (context['tosijs']) {\n iframeWindow.tosijs = context['tosijs']\n }\n if (context['tosijs-ui']) {\n iframeWindow.tosijsui = context['tosijs-ui']\n }\n\n // Write HTML and CSS to iframe\n iframeDoc.open()\n iframeDoc.write(`<!DOCTYPE html>\n<html>\n<head>\n <style>\n body { margin: 0; }\n .preview { height: 100%; position: relative; }\n ${css}\n </style>\n</head>\n<body>\n <div class=\"preview\">${html}</div>\n</body>\n</html>`)\n iframeDoc.close()\n\n // Register web components in iframe\n registerComponentsInIframe(iframeWindow, context)\n\n const preview = iframeDoc.querySelector('.preview') as HTMLElement\n if (!preview) {\n console.error('Could not find preview element in iframe')\n return null\n }\n\n // Execute JS in iframe context\n const fullContext = { preview, ...context }\n\n try {\n const code = rewriteImports(js, Object.keys(context))\n const transformedCode = transform(code, { transforms: ['typescript'] }).code\n\n // Create AsyncFunction in iframe's context\n const IframeAsyncFunction = (\n iframeWindow as Window & { eval: typeof eval }\n ).eval('(async () => {}).constructor')\n\n const contextKeys = Object.keys(fullContext).map(contextVarName)\n const contextValues = Object.values(fullContext)\n\n const func = new IframeAsyncFunction(...contextKeys, transformedCode)\n await func(...contextValues)\n } catch (e) {\n console.error(e)\n const errorDiv = iframeDoc.createElement('div')\n errorDiv.className = 'preview-error'\n errorDiv.textContent = String((e as Error).message || e)\n preview.append(errorDiv)\n if (onError) onError(e as Error)\n else window.alert(`Error: ${e}, the console may have more information…`)\n }\n\n return preview\n}\n",
|
|
34
|
+
"import { elements } from 'tosijs'\nimport { ExampleContext, TransformFn } from './types'\nimport { rewriteImports, AsyncFunction, contextVarName } from './code-transform'\n\nconst { div } = elements\n\n/**\n * Register web components in an iframe's customElements registry.\n *\n * Uses two strategies:\n * 1. Scans context exports for creator functions with a `tagName` property\n * 2. Scans the iframe HTML for any custom-element tags (contain a hyphen)\n * and registers them from the main window's customElements registry\n */\nexport function registerComponentsInIframe(\n iframeWindow: Window,\n context: ExampleContext\n): void {\n const iframeCustomElements = iframeWindow.customElements\n if (!iframeCustomElements) return\n\n const register = (tagName: string) => {\n if (!tagName || iframeCustomElements.get(tagName)) return\n const ComponentClass = customElements.get(tagName)\n if (ComponentClass) {\n try {\n iframeCustomElements.define(tagName, ComponentClass)\n } catch {\n // May fail if already defined — ignore\n }\n }\n }\n\n // Strategy 1: context exports with tagName (e.g. element creators)\n for (const lib of Object.values(context)) {\n if (lib && typeof lib === 'object') {\n for (const creator of Object.values(lib as Record<string, unknown>)) {\n if (typeof creator === 'function' && 'tagName' in creator) {\n register((creator as { tagName: string }).tagName)\n }\n }\n }\n }\n\n // Strategy 2: scan iframe DOM for unregistered custom-element tags\n const iframeDoc = iframeWindow.document\n if (iframeDoc) {\n const allElements = iframeDoc.querySelectorAll('*')\n for (const el of allElements) {\n const tag = el.tagName.toLowerCase()\n if (tag.includes('-')) {\n register(tag)\n }\n }\n }\n}\n\nexport interface ExecutionOptions {\n html: string\n css: string\n js: string\n context: ExampleContext\n transform: TransformFn\n onError?: (error: Error) => void\n}\n\n/**\n * Execute code inline (directly in the page)\n */\nexport async function executeInline(\n options: ExecutionOptions & {\n exampleElement: HTMLElement\n styleElement: HTMLStyleElement\n widgetsElement: HTMLElement\n }\n): Promise<HTMLElement> {\n const {\n html,\n css,\n js,\n context,\n transform,\n exampleElement,\n styleElement,\n widgetsElement,\n onError,\n } = options\n\n const preview = div({ class: 'preview' })\n preview.innerHTML = html\n styleElement.innerText = css\n\n const oldPreview = exampleElement.querySelector('.preview')\n if (oldPreview) {\n oldPreview.replaceWith(preview)\n } else {\n exampleElement.insertBefore(preview, widgetsElement)\n }\n\n const fullContext = { preview, ...context }\n\n try {\n const code = rewriteImports(js, Object.keys(context))\n const transformedCode = (\n await transform(code, { transforms: ['typescript'] })\n ).code\n\n const contextKeys = Object.keys(fullContext).map(contextVarName)\n const contextValues = Object.values(fullContext)\n\n // @ts-expect-error AsyncFunction constructor typing\n const func = new AsyncFunction(...contextKeys, transformedCode)\n await func(...contextValues)\n } catch (e) {\n console.error(e)\n preview.append(\n div({ class: 'preview-error' }, String((e as Error).message || e))\n )\n if (onError) onError(e as Error)\n else window.alert(`Error: ${e}, the console may have more information…`)\n }\n\n return preview\n}\n\n/**\n * Execute code in an isolated iframe\n */\nexport async function executeInIframe(\n options: ExecutionOptions & {\n exampleElement: HTMLElement\n widgetsElement: HTMLElement\n }\n): Promise<HTMLElement | null> {\n const {\n html,\n css,\n js,\n context,\n transform,\n exampleElement,\n widgetsElement,\n onError,\n } = options\n\n // Create or reuse iframe\n let iframe = exampleElement.querySelector(\n 'iframe.preview-iframe'\n ) as HTMLIFrameElement | null\n\n if (!iframe) {\n iframe = document.createElement('iframe')\n iframe.className = 'preview-iframe'\n iframe.style.cssText = 'width: 100%; height: 100%; border: none;'\n const oldPreview = exampleElement.querySelector('.preview')\n if (oldPreview) {\n oldPreview.replaceWith(iframe)\n } else {\n exampleElement.insertBefore(iframe, widgetsElement)\n }\n }\n\n const iframeDoc = iframe.contentDocument\n if (!iframeDoc) {\n console.error('Could not access iframe document')\n return null\n }\n\n const iframeWindow = iframe.contentWindow as Window & {\n tosijs?: unknown\n tosijsui?: unknown\n }\n\n // Copy libraries to iframe window\n if (context['tosijs']) {\n iframeWindow.tosijs = context['tosijs']\n }\n if (context['tosijs-ui']) {\n iframeWindow.tosijsui = context['tosijs-ui']\n }\n\n // Write HTML and CSS to iframe\n iframeDoc.open()\n iframeDoc.write(`<!DOCTYPE html>\n<html>\n<head>\n <style>\n body { margin: 0; }\n .preview { height: 100%; position: relative; }\n ${css}\n </style>\n</head>\n<body>\n <div class=\"preview\">${html}</div>\n</body>\n</html>`)\n iframeDoc.close()\n\n // Register web components in iframe\n registerComponentsInIframe(iframeWindow, context)\n\n const preview = iframeDoc.querySelector('.preview') as HTMLElement\n if (!preview) {\n console.error('Could not find preview element in iframe')\n return null\n }\n\n // Execute JS in iframe context\n const fullContext = { preview, ...context }\n\n try {\n const code = rewriteImports(js, Object.keys(context))\n const transformedCode = (\n await transform(code, { transforms: ['typescript'] })\n ).code\n\n // Create AsyncFunction in iframe's context\n const IframeAsyncFunction = (\n iframeWindow as Window & { eval: typeof eval }\n ).eval('(async () => {}).constructor')\n\n const contextKeys = Object.keys(fullContext).map(contextVarName)\n const contextValues = Object.values(fullContext)\n\n const func = new IframeAsyncFunction(...contextKeys, transformedCode)\n await func(...contextValues)\n } catch (e) {\n console.error(e)\n const errorDiv = iframeDoc.createElement('div')\n errorDiv.className = 'preview-error'\n errorDiv.textContent = String((e as Error).message || e)\n preview.append(errorDiv)\n if (onError) onError(e as Error)\n else window.alert(`Error: ${e}, the console may have more information…`)\n }\n\n return preview\n}\n",
|
|
35
35
|
"import { ElementCreator } from 'tosijs'\nimport { ExampleContext } from './types'\nimport type { LiveExample } from './component'\n\ninterface SourceBlock {\n block: HTMLPreElement\n language: string | undefined\n code: string\n}\n\n/**\n * Find and replace sequences of code blocks with live examples\n */\nexport function insertExamples(\n element: HTMLElement,\n context: ExampleContext,\n liveExampleCreator: ElementCreator<LiveExample>,\n liveExampleTagName: string,\n // The source file this doc was extracted from (a `.md`, or a `.ts`/`.js`/`.css`\n // with extracted doc comments). Stamped onto each example as\n // `data-source-file` + `data-example-ordinal` so a DocStore can locate the\n // originating fenced block to save edits back. Read-only; the write path comes\n // with Foundation B. Omitted when there's no source (e.g. embedded corpora).\n sourceFile?: string\n): void {\n const sources: SourceBlock[] = [\n ...element.querySelectorAll(\n '.language-html,.language-js,.language-tjs,.language-ts,.language-css,.language-test'\n ),\n ]\n .filter((el) => !el.closest(liveExampleTagName))\n .map((code) => ({\n block: code.parentElement as HTMLPreElement,\n language: code.classList[0].split('-').pop(),\n code: (code as HTMLElement).innerText,\n }))\n\n // Per-doc ordinal: the Nth live example on the page. Combined with sourceFile\n // it's the key back to the originating fenced-block group in the source.\n let ordinal = 0\n for (let index = 0; index < sources.length; index += 1) {\n const exampleSources = [sources[index]]\n\n // Group consecutive code blocks\n while (\n index < sources.length - 1 &&\n sources[index].block.nextElementSibling === sources[index + 1].block\n ) {\n exampleSources.push(sources[index + 1])\n index += 1\n }\n\n const example = liveExampleCreator({ context })\n if (sourceFile !== undefined) {\n example.setAttribute('data-source-file', sourceFile)\n example.setAttribute('data-example-ordinal', String(ordinal))\n }\n // Stable anchor for deep-linking (and for book \"run this live\" links): an\n // author override `data-example-id` (from a ```js#my-id fence on any block in\n // the group) wins, else the 1-based positional `example-N`. The book builder\n // derives the same id from the same rendered DOM, so the links line up.\n const overrideId = exampleSources\n .map((s) => s.block.getAttribute('data-example-id'))\n .find((v): v is string => !!v)\n example.id = overrideId || `example-${ordinal + 1}`\n ordinal += 1\n const parent = exampleSources[0].block.parentElement as HTMLElement\n parent.insertBefore(example, exampleSources[0].block)\n\n exampleSources.forEach((source) => {\n switch (source.language) {\n case 'js':\n case 'tjs':\n case 'ts':\n // All three are the example's executable \"source\" block; they land in\n // the same editor and the dialect drives how it's transpiled/run.\n example.js = source.code\n example.dialect = source.language\n break\n case 'html':\n example.html = source.code\n break\n case 'css':\n example.css = source.code\n break\n case 'test':\n example.test = source.code\n break\n }\n source.block.remove()\n })\n\n example.showDefaultTab()\n // Snapshot the original source, then restore any locally-saved edit on top\n // (per-browser scratchpad, keyed by the data-source-file/ordinal stamps).\n example.snapshotAndRestoreLocalEdit()\n }\n}\n",
|
|
36
36
|
"/*\nsave-to-source\n\nRewrites the fenced code blocks of a single live example back into the doc source\nstring, so an in-place example edit can be persisted to the file it came from.\n\nOperates on the *raw source* (the `.md`, or a `.ts`/`.js`/`.css` whose doc\ncomments contain the markdown), located by the example's ordinal — the same\ngrouping `insert-examples` uses: consecutive executable fenced blocks\n(`js`/`html`/`css`/`test`), separated only by whitespace, form one example; any\nother content (prose, a heading, or a non-executable block) starts a new one.\n\nLimitations (v1): only blocks already present in the source are updated — adding a\nnew block type to an example isn't persisted. Replaces by block position, so it\nnever depends on the rendered/entity-decoded text matching the source.\n*/\n\n// `js`/`tjs`/`ts` are interchangeable \"source\" blocks (the example's executable\n// code); html/css/test are the rest. All count toward grouping so example\n// ordinals stay aligned with insert-examples.\nconst SOURCE_LANGS = new Set(['js', 'tjs', 'ts'])\nconst EXECUTABLE = new Set(['js', 'tjs', 'ts', 'html', 'css', 'test'])\n\ninterface FencedBlock {\n lang: string\n start: number // index of the opening ```\n end: number // index just past the closing ```\n codeStart: number // index of the first char of the code body\n codeEnd: number // index just past the last char of the code body\n}\n\n/** Find every ```lang …``` fenced block in document order, with positions. */\nexport function findFencedBlocks(src: string): FencedBlock[] {\n const re = /```([\\w-]*)[^\\n]*\\n([\\s\\S]*?)\\n```/g\n const blocks: FencedBlock[] = []\n let m: RegExpExecArray | null\n while ((m = re.exec(src)) !== null) {\n const codeStart = m.index + m[0].indexOf('\\n') + 1\n blocks.push({\n lang: m[1] || '',\n start: m.index,\n end: m.index + m[0].length,\n codeStart,\n codeEnd: codeStart + m[2].length,\n })\n }\n return blocks\n}\n\n/** Group executable blocks into examples, mirroring insert-examples. */\nexport function groupExamples(src: string, blocks: FencedBlock[]): FencedBlock[][] {\n const groups: FencedBlock[][] = []\n let current: FencedBlock[] | null = null\n for (let i = 0; i < blocks.length; i += 1) {\n const block = blocks[i]\n if (!EXECUTABLE.has(block.lang)) {\n current = null // a non-executable block breaks the run\n continue\n }\n const prev = blocks[i - 1]\n const adjacent =\n current !== null &&\n prev !== undefined &&\n EXECUTABLE.has(prev.lang) &&\n src.slice(prev.end, block.start).trim() === ''\n if (adjacent && current) {\n current.push(block)\n } else {\n current = [block]\n groups.push(current)\n }\n }\n return groups\n}\n\nexport type ExampleEdits = {\n js?: string\n html?: string\n css?: string\n test?: string\n}\n\n/**\n * Return `src` with the `ordinal`-th example's edited blocks replaced, or `null`\n * if that example or none of the edited blocks exist in the source.\n */\nexport function rewriteExampleBlocks(\n src: string,\n ordinal: number,\n edits: ExampleEdits\n): string | null {\n const group = groupExamples(src, findFencedBlocks(src))[ordinal]\n if (!group) return null\n\n // Code editors normalize trailing whitespace (e.g. add a trailing newline), so\n // an *untouched* block's editor value rarely byte-matches the source. Compare\n // with trailing whitespace trimmed so we only rewrite blocks the user actually\n // changed — otherwise saving one block churns its unedited siblings.\n const trimEnd = (s: string): string => s.replace(/\\s+$/, '')\n const replacements: { start: number; end: number; text: string }[] = []\n // `edits.js` is the example's source code regardless of its dialect, so it maps\n // to whichever js/tjs/ts block the group actually has.\n const blockFor = (lang: 'js' | 'html' | 'css' | 'test') =>\n lang === 'js'\n ? group.find((b) => SOURCE_LANGS.has(b.lang))\n : group.find((b) => b.lang === lang)\n for (const lang of ['js', 'html', 'css', 'test'] as const) {\n const next = edits[lang]\n if (next === undefined) continue\n const block = blockFor(lang)\n if (!block) continue\n const sourceCode = src.slice(block.codeStart, block.codeEnd)\n if (trimEnd(sourceCode) === trimEnd(next)) continue // unchanged (mod trailing ws)\n replacements.push({ start: block.codeStart, end: block.codeEnd, text: next })\n }\n if (replacements.length === 0) return null\n\n // Apply right-to-left so earlier positions stay valid.\n replacements.sort((a, b) => b.start - a.start)\n let out = src\n for (const r of replacements) {\n out = out.slice(0, r.start) + r.text + out.slice(r.end)\n }\n return out\n}\n",
|
|
37
37
|
"/*\nPer-example local edit scratchpad.\n\nLive examples can be edited in place; this persists those edits to the browser\n(localStorage) keyed by the source-to-doc map (sourceFile + ordinal) so they\nsurvive reloads. Per-browser, no server — the local-only flavor of the DocStore\nexample scratchpad. An example with no source map can't be keyed, so it isn't\npersisted.\n*/\n\nconst PREFIX = 'tosi-example-edit:'\n\nexport interface ExampleEdit {\n js?: string\n html?: string\n css?: string\n test?: string\n}\n\n/** Stable key for an example, from its source↔doc map attributes. */\nexport function exampleEditKey(\n sourceFile: string,\n ordinal: string | number\n): string {\n return `${PREFIX}${sourceFile}#${ordinal}`\n}\n\nexport function saveExampleEdit(key: string, edit: ExampleEdit): void {\n try {\n localStorage.setItem(key, JSON.stringify(edit))\n } catch (e) {\n console.warn('example-store: save failed', e)\n }\n}\n\nexport function loadExampleEdit(key: string): ExampleEdit | null {\n try {\n const raw = localStorage.getItem(key)\n return raw ? (JSON.parse(raw) as ExampleEdit) : null\n } catch {\n return null\n }\n}\n\nexport function clearExampleEdit(key: string): void {\n try {\n localStorage.removeItem(key)\n } catch {\n // ignore\n }\n}\n\nexport function hasExampleEdit(key: string): boolean {\n try {\n return localStorage.getItem(key) !== null\n } catch {\n return false\n }\n}\n",
|
|
38
38
|
"export const liveExampleStyleSpec = {\n ':host': {\n '--tosi-example-height': '320px',\n '--code-editors-bar-bg': '#777',\n '--code-editors-bar-color': '#fff',\n '--widget-bg': '#fff8',\n '--widget-color': '#000',\n position: 'relative',\n display: 'flex',\n height: 'var(--tosi-example-height)',\n background: 'var(--background)',\n boxSizing: 'border-box',\n },\n\n // Local-edit indicator: an accent outline on the always-visible `<>` example\n // button (bottom-left) when this example differs from its doc source — visible\n // whether or not the code editor is open (e.g. an auto-restored saved edit).\n ':host.-locally-edited [part=\"exampleWidgets\"]': {\n outline: '2px solid var(--brand-color, #da1167)',\n outlineOffset: '1px',\n borderRadius: '4px',\n },\n\n ':host.-maximize': {\n position: 'fixed',\n left: '0',\n top: '0',\n height: '100vh',\n width: '100vw',\n margin: '0 !important',\n },\n\n '.-maximize': {\n zIndex: 101,\n },\n\n ':host.-vertical': {\n flexDirection: 'column',\n },\n\n ':host .layout-indicator': {\n transition: '0.5s ease-out',\n transform: 'rotateZ(270deg)',\n },\n\n ':host.-vertical .layout-indicator': {\n transform: 'rotateZ(180deg)',\n },\n\n ':host.-maximize .hide-if-maximized, :host:not(.-maximize) .show-if-maximized':\n {\n display: 'none',\n },\n\n ':host [part=\"example\"]': {\n flex: '1 1 50%',\n height: '100%',\n position: 'relative',\n overflowX: 'auto',\n },\n\n ':host .preview': {\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n boxShadow: 'inset 0 0 0 2px #8883',\n },\n\n ':host .preview-error': {\n padding: '8px 12px',\n margin: '8px',\n background: '#fee',\n color: '#900',\n borderRadius: '4px',\n fontSize: '13px',\n fontFamily: 'system-ui, sans-serif',\n whiteSpace: 'pre-wrap',\n },\n\n ':host [part=\"editors\"]': {\n flex: '1 1 200px',\n height: '100%',\n position: 'relative',\n },\n\n ':host [part=\"exampleWidgets\"]': {\n position: 'absolute',\n left: '5px',\n bottom: '5px',\n '--widget-color': 'var(--brand-color)',\n borderRadius: '5px',\n width: '44px',\n height: '44px',\n lineHeight: '44px',\n zIndex: '100',\n },\n\n ':host [part=\"exampleWidgets\"] svg': {\n stroke: 'var(--widget-color)',\n },\n\n ':host .code-editors': {\n overflow: 'hidden',\n background: 'white',\n position: 'relative',\n top: '0',\n right: '0',\n flex: '1 1 50%',\n height: '100%',\n flexDirection: 'column',\n zIndex: '10',\n },\n\n ':host .code-editors:not([hidden])': {\n display: 'flex',\n },\n\n ':host .code-editors > h4': {\n padding: '5px',\n margin: '0',\n textAlign: 'center',\n background: 'var(--code-editors-bar-bg)',\n color: 'var(--code-editors-bar-color)',\n cursor: 'move',\n },\n\n ':host button.transparent, :host .sizer': {\n width: '32px',\n height: '32px',\n lineHeight: '32px',\n textAlign: 'center',\n padding: '0',\n margin: '0',\n },\n\n ':host .sizer': {\n cursor: 'nwse-resize',\n },\n\n // Test status indicator (--tests-enabled CSS var pierces shadow DOM)\n ':host [part=\"testIndicator\"]': {\n position: 'absolute',\n top: '8px',\n right: '8px',\n width: '12px',\n height: '12px',\n borderRadius: '50%',\n background: '#888',\n zIndex: '100',\n display: 'none',\n },\n\n ':host.-has-tests [part=\"testIndicator\"]': {\n display: 'block',\n opacity: 'var(--tests-enabled, 1)',\n },\n\n ':host.-test-running [part=\"testIndicator\"]': {\n background: '#fa0',\n animation: 'test-pulse 0.5s ease-in-out infinite',\n },\n\n ':host.-test-passed [part=\"testIndicator\"]': {\n background: '#0a0',\n animation: 'test-fade 2s ease-out forwards',\n },\n\n ':host.-test-failed [part=\"testIndicator\"]': {\n background: '#c00',\n animation: 'test-pulse 1s ease-in-out infinite',\n },\n\n '@keyframes test-pulse': {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.4' },\n },\n\n '@keyframes test-fade': {\n '0%': { opacity: '1' },\n '50%': { opacity: '1' },\n '100%': { opacity: '0' },\n },\n\n ':host.-test-passed [part=\"exampleWidgets\"]': {\n '--widget-color': '#0a0',\n },\n\n ':host.-test-failed [part=\"exampleWidgets\"]': {\n '--widget-color': '#f00',\n },\n\n ':host [part=\"testResults\"]': {\n position: 'absolute',\n bottom: '54px',\n left: '5px',\n background: 'var(--widget-bg)',\n borderRadius: '5px',\n padding: '8px',\n fontSize: '14px',\n margin: '0',\n maxWidth: '400px',\n maxHeight: '200px',\n overflow: 'auto',\n zIndex: '100',\n },\n\n ':host [part=\"testResults\"][hidden]': {\n display: 'none',\n },\n\n ':host .test-pass': {\n color: '#0a0',\n },\n\n ':host .test-fail': {\n color: '#f00',\n },\n\n // Read-only \"tjs tests\" results tab (inline /*test*/ results).\n ':host .tjs-test-results': {\n padding: '8px 12px',\n fontSize: '14px',\n fontFamily: 'var(--mono-font, monospace)',\n overflow: 'auto',\n lineHeight: '1.6',\n },\n\n ':host .tjs-test-summary': {\n fontWeight: 'bold',\n marginBottom: '6px',\n },\n\n ':host .tjs-test-empty': {\n opacity: '0.6',\n },\n\n ':host .tjs-test-error': {\n opacity: '0.7',\n },\n}\n",
|
|
39
|
-
"import { ExampleContext, TransformFn } from './types'\nimport { rewriteImports, AsyncFunction } from './code-transform'\n\nexport interface TestResult {\n name: string\n passed: boolean\n error?: string\n}\n\nexport interface TestResults {\n passed: number\n failed: number\n tests: TestResult[]\n}\n\nclass AssertionError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'AssertionError'\n }\n}\n\n// Parse an Error.stack and return the first frame that isn't from inside\n// the bundled harness itself — that's the user's test code. The harness is\n// minified into a single bundle (index.js / module.js / iife.js), so we\n// skip frames whose URL ends in those filenames and pick the next one.\n// Stack-frame format varies across browsers (Chrome: \" at fn (url:line:col)\";\n// Safari/FF: \"fn@url:line:col\") — the trailing \"url:line:col\" capture handles\n// both.\nconst BUNDLE_FILES = /\\/(index|module|iife|module\\.debug|module\\.safe)\\.js$/\ninterface UserFrame {\n url: string\n line: number\n col: number\n}\nfunction firstUserStackFrame(stack: string | undefined): UserFrame | null {\n if (!stack) return null\n for (const raw of stack.split('\\n')) {\n const line = raw.trim()\n if (!line) continue\n // Skip the \"AssertionError: ...\" header line.\n if (/^\\w*Error[:\\s]/.test(line)) continue\n const match = line.match(/[(@\\s]([^()\\s]+):(\\d+):(\\d+)\\)?$/)\n if (!match) continue\n const [, url, ln, col] = match\n if (BUNDLE_FILES.test(url)) continue\n return { url, line: Number(ln), col: Number(col) }\n }\n return null\n}\n\n// Source of the currently-running test block, set by runTests so matchers\n// can lift the failing line out of it for inclusion in the error message.\nlet currentTestSource: string | null = null\nfunction getSourceLine(lineNum: number): string | null {\n if (!currentTestSource || lineNum < 1) return null\n const lines = currentTestSource.split('\\n')\n return lines[lineNum - 1]?.trim() || null\n}\n\ninterface Matchers {\n toBe: (expected: unknown) => void\n toEqual: (expected: unknown) => void\n toBeTruthy: () => void\n toBeFalsy: () => void\n toBeNull: () => void\n toBeUndefined: () => void\n toBeDefined: () => void\n toContain: (item: unknown) => void\n toHaveLength: (length: number) => void\n toMatch: (pattern: RegExp) => void\n toBeGreaterThan: (n: number) => void\n toBeLessThan: (n: number) => void\n toBeInstanceOf: (cls: new (...args: unknown[]) => unknown) => void\n not: Matchers\n}\n\nfunction deepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true\n if (typeof a !== typeof b) return false\n if (a === null || b === null) return a === b\n if (typeof a !== 'object') return false\n\n const aObj = a as Record<string, unknown>\n const bObj = b as Record<string, unknown>\n\n if (Array.isArray(aObj) !== Array.isArray(bObj)) return false\n\n const aKeys = Object.keys(aObj)\n const bKeys = Object.keys(bObj)\n if (aKeys.length !== bKeys.length) return false\n\n return aKeys.every((key) => deepEqual(aObj[key], bObj[key]))\n}\n\n/** Default timeout for individual tests (ms) */\nexport const TEST_TIMEOUT = 5000\n\n// Safe JSON that handles DOM elements and circular references\nconst safeJSON = {\n stringify(val: unknown): string {\n if (typeof val === 'undefined') return 'undefined'\n if (val === null) return 'null'\n if (typeof Element !== 'undefined' && val instanceof Element) {\n return `<${val.tagName.toLowerCase()}>`\n }\n if (typeof Node !== 'undefined' && val instanceof Node) {\n return `[${val.nodeName}]`\n }\n try {\n return JSON.stringify(val)\n } catch {\n return String(val)\n }\n },\n}\n\nconst { stringify } = safeJSON\n\nfunction createMatchers(value: unknown, negated = false): Matchers {\n const assert = (condition: boolean, message: string) => {\n const result = negated ? !condition : condition\n if (!result) {\n const err = new AssertionError(negated ? `not: ${message}` : message)\n const frame = firstUserStackFrame(err.stack)\n if (frame) {\n const src = getSourceLine(frame.line)\n const loc = `line ${frame.line}`\n err.message = src\n ? `${err.message} | ${src} (${loc})`\n : `${err.message} (${loc})`\n }\n throw err\n }\n }\n\n const matchers: Matchers = {\n toBe(expected: unknown) {\n assert(\n value === expected,\n `Expected ${stringify(value)} to be ${stringify(expected)}`\n )\n },\n toEqual(expected: unknown) {\n assert(\n deepEqual(value, expected),\n `Expected ${stringify(value)} to equal ${stringify(expected)}`\n )\n },\n toBeTruthy() {\n assert(!!value, `Expected ${stringify(value)} to be truthy`)\n },\n toBeFalsy() {\n assert(!value, `Expected ${stringify(value)} to be falsy`)\n },\n toBeNull() {\n assert(value === null, `Expected ${stringify(value)} to be null`)\n },\n toBeUndefined() {\n assert(\n value === undefined,\n `Expected ${stringify(value)} to be undefined`\n )\n },\n toBeDefined() {\n assert(value !== undefined, `Expected ${stringify(value)} to be defined`)\n },\n toContain(item: unknown) {\n if (typeof value === 'string') {\n assert(\n value.includes(item as string),\n `Expected \"${value}\" to contain \"${item}\"`\n )\n } else if (Array.isArray(value)) {\n assert(\n value.includes(item),\n `Expected array to contain ${stringify(item)}`\n )\n } else {\n throw new AssertionError('toContain requires string or array')\n }\n },\n toHaveLength(length: number) {\n const actual = (value as { length: number }).length\n assert(actual === length, `Expected length ${actual} to be ${length}`)\n },\n toMatch(pattern: RegExp) {\n assert(\n pattern.test(value as string),\n `Expected \"${value}\" to match ${pattern}`\n )\n },\n toBeGreaterThan(n: number) {\n assert((value as number) > n, `Expected ${value} to be greater than ${n}`)\n },\n toBeLessThan(n: number) {\n assert((value as number) < n, `Expected ${value} to be less than ${n}`)\n },\n toBeInstanceOf(cls: new (...args: unknown[]) => unknown) {\n assert(\n value instanceof cls,\n `Expected value to be instance of ${cls.name}`\n )\n },\n get not() {\n return createMatchers(value, !negated)\n },\n }\n\n return matchers\n}\n\nexport function expect(value: unknown): Matchers {\n return createMatchers(value)\n}\n\n/**\n * Wait for a specified number of milliseconds\n */\nexport function waitMs(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n/**\n * Wait for an element matching the selector to appear in the preview\n * @param preview - The preview element to search within\n * @param selector - CSS selector to find\n * @param timeout - Maximum time to wait in ms (default: 1000)\n */\nexport function waitFor(\n preview: HTMLElement,\n selector: string,\n timeout = 1000\n): Promise<Element> {\n return new Promise((resolve, reject) => {\n const startTime = Date.now()\n\n const check = () => {\n const element = preview.querySelector(selector)\n if (element) {\n resolve(element)\n return\n }\n\n if (Date.now() - startTime >= timeout) {\n reject(\n new Error(`Timeout waiting for \"${selector}\" after ${timeout}ms`)\n )\n return\n }\n\n requestAnimationFrame(check)\n }\n\n check()\n })\n}\n\nexport interface TestContext {\n expect: typeof expect\n test: (name: string, fn: () => void | Promise<void>) => void\n describe: (name: string, fn: () => void) => void\n}\n\nfunction withTimeout<T>(\n promise: Promise<T>,\n ms: number,\n name: string\n): Promise<T> {\n return Promise.race([\n promise,\n new Promise<never>((_, reject) =>\n setTimeout(\n () => reject(new Error(`Test \"${name}\" timed out after ${ms}ms`)),\n ms\n )\n ),\n ])\n}\n\n/**\n * Create a test context that collects results.\n * Returns the context and a `pending` promise array that must be awaited\n * to capture async test results.\n */\nexport function createTestContext(\n results: TestResult[],\n timeout = TEST_TIMEOUT\n): TestContext & { pending: Promise<void>[] } {\n let currentDescribe = ''\n const pending: Promise<void>[] = []\n\n return {\n pending,\n expect,\n test(name: string, fn: () => void | Promise<void>) {\n const fullName = currentDescribe ? `${currentDescribe} > ${name}` : name\n try {\n const result = fn()\n if (result instanceof Promise) {\n const wrapped = withTimeout(result, timeout, fullName)\n .then(() => {\n results.push({ name: fullName, passed: true })\n })\n .catch((err: Error) => {\n results.push({\n name: fullName,\n passed: false,\n error: err.message,\n })\n })\n pending.push(wrapped)\n } else {\n results.push({ name: fullName, passed: true })\n }\n } catch (err) {\n results.push({\n name: fullName,\n passed: false,\n error: (err as Error).message,\n })\n }\n },\n describe(name: string, fn: () => void) {\n const previousDescribe = currentDescribe\n currentDescribe = currentDescribe ? `${currentDescribe} > ${name}` : name\n fn()\n currentDescribe = previousDescribe\n },\n }\n}\n\n/**\n * Run test code and collect results\n */\nexport async function runTests(\n testCode: string,\n preview: HTMLElement,\n context: ExampleContext,\n transform: TransformFn\n): Promise<TestResults> {\n const results: TestResult[] = []\n const testContext = createTestContext(results)\n\n const fullContext = {\n preview,\n ...context,\n expect: testContext.expect,\n test: testContext.test,\n describe: testContext.describe,\n waitMs,\n waitFor: (selector: string, timeout?: number) =>\n waitFor(preview, selector, timeout),\n }\n\n try {\n const code = rewriteImports(testCode, Object.keys(context))\n const transformedCode = transform(code, { transforms: ['typescript'] }).code\n\n const contextKeys = Object.keys(fullContext).map((key) =>\n key.replace(/-/g, '')\n )\n const contextValues = Object.values(fullContext)\n\n // Tag the AsyncFunction body with a sourceURL so stack traces report\n // line numbers relative to the test source (not a position inside the\n // bundled harness). `firstUserStackFrame` uses this to skip our own\n // frames and surface the assertion's actual location to the user.\n const taggedCode = `${transformedCode}\\n//# sourceURL=inline-test`\n\n // Capture the source so matchers can lift the failing line into the\n // error message. rewriteImports + tjs (dialect: 'js') leave plain JS\n // untouched, preserving line breaks so stack line numbers match this source.\n currentTestSource = transformedCode\n\n // @ts-expect-error AsyncFunction constructor typing\n const func = new AsyncFunction(...contextKeys, taggedCode)\n await func(...contextValues)\n } catch (err) {\n // If the test code itself throws (not an assertion), add it as a failed test\n results.push({\n name: 'Test execution',\n passed: false,\n error: (err as Error).message,\n })\n }\n\n // Wait for any async tests to settle\n if (testContext.pending.length > 0) {\n await Promise.all(testContext.pending)\n }\n\n currentTestSource = null\n\n return {\n passed: results.filter((r) => r.passed).length,\n failed: results.filter((r) => !r.passed).length,\n tests: results,\n }\n}\n",
|
|
40
|
-
"/*#\n# example\n\n`<tosi-example>` makes it easy to insert interactive code examples in a web page. It\nstarted life as a super lightweight, easier-to-embed implementation of\n[b8rjs's fiddle component](https://b8rjs.com)—which I dearly missed—but now the student\nis, by far, the master. And it's still super lightweight.\n\n*You're probably looking at it right now.*\n\n```js\n// this code executes in an async function body\n// it has tosijs, tosijsui, and preview (the preview div) available as local variables\nimport { div } from 'tosijs'.elements\npreview.append(div({class: 'example'}, 'fiddle de dee!'))\npreview.append('Try editing some code and hitting refresh…')\n```\n```html\n<h2>Example</h2>\n```\n```css\n.preview {\n padding: 0 var(--spacing);\n}\n\n.example {\n animation: throb ease-in-out 1s infinite alternate;\n}\n\n@keyframes throb {\n from { color: blue }\n to { color: red }\n}\n```\n\n## Source dialects: `js`, `tjs`, `ts`\n\nThe executable block's fence language picks how the source is compiled before it\nruns, via [tjs-lang](https://www.npmjs.com/package/tjs-lang):\n\n- **`js`** — plain JavaScript, run as-is (tjs's `dialect: 'js'` leaves vanilla JS\n untouched, so there's no surprise rewriting).\n- **`tjs`** — [tjs-lang](https://www.npmjs.com/package/tjs-lang) source, lowered to\n JavaScript. Type annotations and tjs's safety transforms are compiled away.\n- **`ts`** — TypeScript, lowered to tjs (via `tjs-lang/lang/from-ts`) and then to\n JavaScript. The TypeScript compiler loads lazily, only for pages that use it.\n\nA `tjs` block — note the type annotation (which a plain `js` block couldn't run)\nand the inline `test '…' { … }` unit test. Open the code panel: the source tab\nis labeled **tjs**, with read-only **JS** (the compiled output) and **tjs tests**\n(the inline-test results) tabs, alongside the **DOM tests** tab.\n\n```tjs\nimport { div } from 'tosijs'.elements\n\nfunction badge(label: string, n: number) {\n return `${label}: ${n}`\n}\n\ntest 'badge formats label and number' {\n expect(badge('count', 42)).toBe('count: 42')\n}\n\npreview.append(div({ class: 'badge' }, badge('count', 42)))\n```\n```test\ntest('tjs example transpiled and ran', () => {\n const badge = preview.querySelector('.badge')\n expect(badge).not.toBe(null)\n expect(badge.textContent).toBe('count: 42')\n})\n```\n\nThe inline test above is tjs's native `test '…' { … }` syntax. In a *TypeScript*\nexample the equivalent is written inside a comment (so it survives `tsc`) — but\nthat comment form can't appear inside a doc comment like this one, since the\ntest's own closing delimiter would end the doc comment.\n\n## CSS Isolation with `iframe`\n\nAdd the `iframe` attribute to render the preview inside an iframe for complete CSS isolation.\n\n## Test Blocks\n\nAdd `\\`\\`\\`test` code blocks to write inline tests that run against the preview:\n\n```html\n<button class=\"demo-btn\">Click me</button>\n```\n```js\npreview.querySelector('.demo-btn').onclick = () => {\n preview.querySelector('.demo-btn').textContent = 'Clicked!'\n}\n```\n```test\ntest('button exists', () => {\n const btn = preview.querySelector('.demo-btn')\n expect(btn).toBeDefined()\n expect(btn.textContent).toBe('Click me')\n})\n\ntest('slow test shows running state', async () => {\n await waitMs(500)\n expect(true).toBe(true)\n})\n```\n\nTests have access to:\n- `preview` - the DOM element containing the rendered HTML\n- `expect(value)` - Jest-like assertions (.toBe, .toEqual, .toBeTruthy, etc.)\n- `test(name, fn)` - define a test case (can be async)\n- `describe(name, fn)` - group tests\n- `waitMs(ms)` - wait for a specified number of milliseconds\n- `waitFor(selector, timeout?)` - wait for an element to appear (default 1s timeout)\n- All context libraries (tosijs, tosijs-ui, etc.)\n\n### Async Tests\n\nTests can be async functions. Use `waitMs` for simple delays and `waitFor` to wait\nfor dynamically created elements:\n\n```html\n<button class=\"async-btn\">Load Data</button>\n<div class=\"result\"></div>\n```\n```js\npreview.querySelector('.async-btn').onclick = () => {\n setTimeout(() => {\n preview.querySelector('.result').innerHTML = '<span class=\"data\">Loaded!</span>'\n }, 100)\n}\n// Auto-click to trigger the async behavior\npreview.querySelector('.async-btn').click()\n```\n```test\ntest('waitFor finds dynamically created element', async () => {\n const data = await waitFor('.data')\n expect(data.textContent).toBe('Loaded!')\n})\n\ntest('waitMs delays execution', async () => {\n const start = Date.now()\n await waitMs(50)\n expect(Date.now() - start).toBeGreaterThan(40)\n})\n```\n\n## `context`\n\nA `<tosi-example>` is given a `context` object which is the set of values available\nin the javascript's execution context. The context always includes `preview`.\n\n```\nimport * as tosijs from 'tosijs'\nimport * as tosijsui from 'tosijs-ui'\n\ncontext = {\n tosijs,\n 'tosijs-ui': tosijsui\n}\n```\n*/\n\n/*{ \"parent\": \"Components\" }*/\n\nimport { Component, ElementCreator, elements, tosi } from 'tosijs'\nimport { codeEditor, CodeEditor } from '../code-editor'\nimport { tosiTabs } from '../tab-selector'\nimport { icons } from '../icons'\nimport { popMenu } from '../menu'\n\nimport { Dialect, ExampleContext, ExampleParts, TransformFn } from './types'\nimport {\n loadTransform,\n loadTjsTestApi,\n rewriteImports,\n contextVarName,\n AsyncFunction,\n TjsTestResult,\n} from './code-transform'\nimport {\n STORAGE_KEY,\n createRemoteKey,\n RemoteSyncManager,\n openEditorWindow,\n} from './remote-sync'\nimport { executeInline, executeInIframe } from './execution'\nimport { insertExamples } from './insert-examples'\nimport { rewriteExampleBlocks } from './save-to-source'\nimport {\n exampleEditKey,\n saveExampleEdit,\n loadExampleEdit,\n clearExampleEdit,\n hasExampleEdit,\n ExampleEdit,\n} from './example-store'\nimport { liveExampleStyleSpec } from './styles'\nimport { runTests, TestResults } from './test-harness'\n\nconst { div, tosiSlot, style, button, pre, span } = elements\n\n// Test mode: controlled by localStorage, defaults to enabled on localhost\nconst TESTS_ENABLED_KEY = 'tosijs-ui-tests-enabled'\n\nconst isLocalhost =\n typeof window !== 'undefined' &&\n (window.location.hostname === 'localhost' ||\n window.location.hostname === '127.0.0.1')\n\nfunction getStoredTestsEnabled(): boolean {\n if (typeof localStorage === 'undefined') return false\n const stored = localStorage.getItem(TESTS_ENABLED_KEY)\n if (stored !== null) {\n return stored === 'true'\n }\n // Default: enabled on localhost, disabled elsewhere\n return isLocalhost\n}\n\n// Test manager - observable state for test mode\nexport const { testManager } = tosi({\n testManager: {\n enabled: getStoredTestsEnabled(),\n },\n})\n\n// Set CSS variable on body for test visibility (CSS vars pierce shadow DOM)\nfunction updateTestsEnabledClass() {\n document.body.classList.toggle('tests-enabled', testManager.enabled.value)\n document.body.style.setProperty(\n '--tests-enabled',\n testManager.enabled.value ? '1' : '0'\n )\n}\nif (typeof document !== 'undefined') {\n // Set initial state when DOM is ready\n if (document.body) {\n updateTestsEnabledClass()\n } else {\n document.addEventListener('DOMContentLoaded', updateTestsEnabledClass)\n }\n}\n\n/** Enable test mode (runs tests and shows indicators) */\nexport function enableTests(): void {\n localStorage.setItem(TESTS_ENABLED_KEY, 'true')\n testManager.enabled.value = true\n updateTestsEnabledClass()\n // Re-run tests on all existing examples\n document.querySelectorAll('tosi-example').forEach((el) => {\n ;(el as LiveExample).refresh()\n })\n}\n\n/** Disable test mode */\nexport function disableTests(): void {\n localStorage.setItem(TESTS_ENABLED_KEY, 'false')\n testManager.enabled.value = false\n updateTestsEnabledClass()\n}\n\nexport class LiveExample extends Component<ExampleParts> {\n static preferredTagName = 'tosi-example'\n static lightStyleSpec = liveExampleStyleSpec\n\n static initAttributes = {\n persistToDom: false,\n iframe: false,\n }\n\n prefix = 'lx'\n storageKey = STORAGE_KEY\n context: ExampleContext = {}\n uuid: string = crypto.randomUUID()\n remoteId = ''\n\n private remoteSync?: RemoteSyncManager\n private undoInterval?: ReturnType<typeof setInterval>\n private testResults?: TestResults\n private pendingValues: Record<string, string> = {}\n private pendingShowDefaultTab = false\n private beforeUnloadHandler?: () => void\n\n static insertExamples(\n element: HTMLElement,\n context: ExampleContext = {},\n sourceFile?: string\n ): void {\n insertExamples(\n element,\n context,\n liveExample,\n LiveExample.tagName as string,\n sourceFile\n )\n }\n\n get activeTab(): Element | undefined {\n const { editors } = this.parts\n return [...editors.children].find(\n (elt) => elt.getAttribute('hidden') === null\n )\n }\n\n private get hydrated(): boolean {\n try {\n return this.parts.js !== undefined\n } catch {\n return false\n }\n }\n\n private getEditorValue(which: string): string {\n if (!this.hydrated) return this.pendingValues[which] ?? ''\n return (this.parts[which] as CodeEditor).value\n }\n\n private setEditorValue(which: string, code: string): void {\n if (!this.hydrated) {\n this.pendingValues[which] = code\n return\n }\n const codeEditor = this.parts[which] as CodeEditor\n codeEditor.value = code\n }\n\n private flushPendingValues(): void {\n for (const [which, code] of Object.entries(this.pendingValues)) {\n const codeEditor = this.parts[which] as CodeEditor\n if (codeEditor) codeEditor.value = code\n }\n this.pendingValues = {}\n\n if (this.pendingShowDefaultTab) {\n this.pendingShowDefaultTab = false\n this.showDefaultTab()\n }\n }\n\n get css(): string {\n return this.getEditorValue('css')\n }\n set css(code: string) {\n this.setEditorValue('css', code)\n }\n\n get html(): string {\n return this.getEditorValue('html')\n }\n set html(code: string) {\n this.setEditorValue('html', code)\n }\n\n get js(): string {\n return this.getEditorValue('js')\n }\n set js(code: string) {\n this.setEditorValue('js', code)\n }\n\n get test(): string {\n return this.getEditorValue('test')\n }\n set test(code: string) {\n this.setEditorValue('test', code)\n }\n\n get remoteKey(): string {\n return createRemoteKey(this.prefix, this.uuid, this.remoteId)\n }\n\n // The source block's dialect (js | tjs | ts). Set by insert-examples from the\n // fenced-block language; persisted as an attribute so it survives a re-render.\n // `js` is the default and keeps the original pass-through behavior.\n get dialect(): Dialect {\n return (this.getAttribute('data-dialect') as Dialect) || 'js'\n }\n set dialect(value: Dialect) {\n this.setAttribute('data-dialect', value)\n }\n\n // ── Read-only product tabs (tjs/ts only) ──────────────────────────────────\n // A `tjs`/`ts` example's source is editable; the JavaScript it compiles to is\n // shown read-only in an extra \"JS\" tab. The tab is added lazily (examples show\n // every named editor as a tab, so a static child would pollute plain-`js`\n // examples) the first time the code panel opens. `js` examples get nothing.\n private jsOutEditor?: CodeEditor\n private tjsTestsView?: HTMLElement\n private productTabsReady = false\n private lastGeneratedJs = ''\n private inlineTjsTestCount = 0\n private lastTjsTests?: TjsTestResult\n\n // Run the example's inline tjs tests (the `/*test 'desc' { … }*/` comments in\n // the tjs/ts source — distinct from the DOM-testing `test` block). Extract +\n // strip the tests, transpile the rest the same way execution does, then run\n // `execJs + testUtils + return testRunner` with the example context injected.\n private async runInlineTjsTests(transform: TransformFn): Promise<void> {\n if (this.dialect === 'js') {\n this.inlineTjsTestCount = 0\n return\n }\n const api = await loadTjsTestApi()\n if (!api) {\n this.inlineTjsTestCount = 0\n return\n }\n let extracted\n try {\n extracted = api.extractTests(this.js)\n } catch {\n this.inlineTjsTestCount = 0\n return\n }\n this.inlineTjsTestCount = extracted.tests.length\n if (extracted.tests.length === 0) {\n this.lastTjsTests = undefined\n this.renderTjsTests()\n return\n }\n try {\n const execJs = transform(\n rewriteImports(extracted.code, Object.keys(this.context))\n ).code\n const body = `${execJs}\\n${api.testUtils}\\nreturn ${extracted.testRunner}`\n // The test-stripped source still runs its top-level statements (to define\n // the functions under test), which may touch `preview` — give them a\n // throwaway one, mirroring execution's `{ preview, ...context }` scope.\n const fullContext = { preview: div({ class: 'preview' }), ...this.context }\n const keys = Object.keys(fullContext).map(contextVarName)\n const values = Object.values(fullContext)\n // @ts-expect-error AsyncFunction constructor typing\n const fn = new AsyncFunction(...keys, body)\n this.lastTjsTests = (await fn(...values)) as TjsTestResult\n } catch (error) {\n this.lastTjsTests = {\n passed: 0,\n failed: 1,\n results: [\n {\n description: 'inline tests failed to run',\n passed: false,\n error: String(error),\n },\n ],\n }\n }\n this.renderTjsTests()\n }\n\n private renderTjsTests(): void {\n const view = this.tjsTestsView\n if (!view) return\n const results = this.lastTjsTests\n if (!results || results.results.length === 0) {\n view.replaceChildren(div({ class: 'tjs-test-empty' }, 'No inline tjs tests.'))\n return\n }\n view.replaceChildren(\n div(\n { class: 'tjs-test-summary' },\n `${results.passed}/${results.results.length} passed`\n ),\n ...results.results.map((r) =>\n div(\n { class: r.passed ? 'test-pass' : 'test-fail' },\n `${r.passed ? '✓' : '✗'} ${r.description}`,\n r.error ? span({ class: 'tjs-test-error' }, ` — ${r.error}`) : ''\n )\n )\n )\n }\n\n // The JavaScript `this.js` compiles to under the current dialect — the same\n // pipeline execution runs (rewriteImports → dialect transform), so the tab\n // shows what actually executes. Transpile errors render as a comment.\n private computeGeneratedJs(transform: TransformFn): string {\n if (this.dialect === 'js') return ''\n try {\n return transform(rewriteImports(this.js, Object.keys(this.context))).code\n } catch (error) {\n return `// transpile error:\\n// ${(error as Error).message}`\n }\n }\n\n private ensureProductTabs(): void {\n if (this.productTabsReady || this.dialect === 'js' || !this.hydrated) return\n this.productTabsReady = true\n const { editors } = this.parts\n // Relabel the source tab from \"js\" to the actual dialect (the `part` stays\n // `js`, so everything referencing this.parts.js / this.js is unaffected).\n this.parts.js.setAttribute('name', this.dialect)\n this.jsOutEditor = codeEditor({\n name: 'JS',\n mode: 'javascript',\n disabled: true,\n }) as unknown as CodeEditor\n editors.append(this.jsOutEditor)\n // Add a read-only \"tjs tests\" results tab only when the source has inline\n // `/*test*/` tests (computed during refresh, which runs before first open).\n if (this.inlineTjsTestCount > 0) {\n this.tjsTestsView = div({ name: 'tjs tests', class: 'tjs-test-results' })\n editors.append(this.tjsTestsView)\n }\n editors.setupTabs()\n this.jsOutEditor.value = this.lastGeneratedJs\n this.renderTjsTests()\n }\n\n updateUndo = () => {\n const { activeTab } = this\n const { undo, redo } = this.parts\n if (activeTab instanceof CodeEditor && activeTab.editor !== undefined) {\n const undoManager = activeTab.editor.session.getUndoManager()\n undo.disabled = !undoManager.hasUndo()\n redo.disabled = !undoManager.hasRedo()\n } else {\n undo.disabled = true\n redo.disabled = true\n }\n this.updateEditedIndicator()\n this.updateTestResultsVisibility()\n }\n\n private updateTestResultsVisibility(): void {\n const { testResults: resultsEl } = this.parts\n const results = this.testResults\n // The \"DOM tests\" tab's editor is this.parts.test (the part stays `test`\n // even though the tab label changed).\n const isTestTabActive = this.activeTab === this.parts.test\n const hasFailed = results && results.failed > 0\n\n // Show results if: has results AND (test tab is active OR there are failures)\n resultsEl.hidden =\n !results || results.tests.length === 0 || (!isTestTabActive && !hasFailed)\n }\n\n undo = () => {\n const { activeTab } = this\n if (activeTab instanceof CodeEditor) {\n activeTab.editor.undo()\n }\n }\n\n redo = () => {\n const { activeTab } = this\n if (activeTab instanceof CodeEditor) {\n activeTab.editor.redo()\n }\n }\n\n get isMaximized(): boolean {\n return this.classList.contains('-maximize')\n }\n\n flipLayout = () => {\n this.classList.toggle('-vertical')\n }\n\n // Persist this example's edits back to the source file's fenced blocks, located\n // by the source↔doc map (data-source-file + data-example-ordinal). Dev only —\n // writes via the /__docstore/source endpoint; the watcher then rebuilds.\n saveToSource = async (): Promise<void> => {\n const sourceFile = this.getAttribute('data-source-file')\n const ordinalAttr = this.getAttribute('data-example-ordinal')\n if (!sourceFile || ordinalAttr === null) {\n window.alert('No source mapping for this example.')\n return\n }\n let content: string\n try {\n const response = await fetch(\n `/__docstore/source?file=${encodeURIComponent(sourceFile)}`\n )\n if (!response.ok) throw new Error(String(response.status))\n content = await response.text()\n } catch {\n window.alert(\n 'Source endpoint unavailable — saving to source works in dev only.'\n )\n return\n }\n const updated = rewriteExampleBlocks(content, Number(ordinalAttr), {\n js: this.js,\n html: this.html,\n css: this.css,\n test: this.test,\n })\n if (updated === null) {\n window.alert('Nothing to save (no matching blocks or no changes).')\n return\n }\n try {\n const response = await fetch('/__docstore/source', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ file: sourceFile, content: updated }),\n })\n if (!response.ok) throw new Error(String(response.status))\n window.alert(`Saved to ${sourceFile}`)\n } catch {\n window.alert('Save failed.')\n }\n }\n\n exampleMenu = () => {\n const testsOn = testManager.enabled.value\n popMenu({\n target: this.parts.exampleWidgets,\n width: 'auto',\n menuItems: [\n {\n icon: 'edit2',\n caption: 'view/edit code',\n action: this.showCode,\n },\n {\n icon: 'edit',\n caption: 'view/edit code in a new window',\n action: this.openEditorWindow,\n },\n null,\n {\n icon: this.isMaximized ? 'minimize' : 'maximize',\n caption: this.isMaximized ? 'restore preview' : 'maximize preview',\n action: this.toggleMaximize,\n },\n null,\n {\n icon: testsOn ? 'check' : '',\n caption: 'Run tests',\n action: () => {\n if (testsOn) {\n disableTests()\n } else {\n enableTests()\n }\n },\n },\n ],\n })\n }\n\n handleShortcuts = (event: KeyboardEvent) => {\n if (event.metaKey || event.ctrlKey) {\n let block = false\n switch (event.key) {\n case 's':\n case 'r':\n this.doRefresh()\n block = true\n break\n case '/':\n this.flipLayout()\n break\n case 'c':\n if (event.shiftKey) {\n this.copy()\n block = true\n }\n break\n }\n if (block) {\n event.preventDefault()\n event.stopPropagation()\n }\n }\n }\n\n content = () => [\n div(\n { part: 'example' },\n style({ part: 'style' }),\n div({ part: 'testIndicator', title: 'test status' }),\n pre({ part: 'testResults', hidden: true }),\n button(\n {\n title: 'example menu',\n part: 'exampleWidgets',\n onClick: this.exampleMenu,\n },\n icons.code()\n )\n ),\n div(\n {\n class: 'code-editors',\n part: 'codeEditors',\n onKeydown: this.handleShortcuts,\n hidden: true,\n },\n tosiTabs(\n {\n part: 'editors',\n onChange: this.updateUndo,\n },\n codeEditor({ name: 'js', mode: 'javascript', part: 'js' }),\n codeEditor({ name: 'html', mode: 'html', part: 'html' }),\n codeEditor({ name: 'css', mode: 'css', part: 'css' }),\n // The `test` block tests the rendered preview (DOM), so its tab is\n // labeled \"DOM tests\" to distinguish it from inline tjs unit tests. The\n // `part`/`name` stay `test`; only the displayed label differs.\n codeEditor({ name: 'DOM tests', mode: 'javascript', part: 'test' }),\n div(\n { slot: 'after-tabs', class: 'row' },\n button(\n {\n title: 'undo',\n part: 'undo',\n class: 'transparent',\n onClick: this.undo,\n },\n icons.cornerUpLeft()\n ),\n button(\n {\n title: 'redo',\n part: 'redo',\n class: 'transparent',\n onClick: this.redo,\n },\n icons.cornerUpRight()\n ),\n button(\n {\n title: 'example menu — refresh, flip, undo, copy, save/revert edits',\n class: 'transparent source-menu',\n onClick: this.sourceMenu,\n },\n icons.moreVertical()\n ),\n button(\n {\n title: 'close code',\n class: 'transparent',\n onClick: this.closeCode,\n },\n icons.x()\n )\n )\n )\n ),\n tosiSlot({ part: 'sources', hidden: true }),\n ]\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // Flush any values set before the shadow DOM was ready\n this.flushPendingValues()\n\n const { sources } = this.parts\n this.initFromElements([...sources.children] as HTMLElement[])\n\n // Set up remote sync\n this.remoteSync = new RemoteSyncManager(\n this.storageKey,\n this.remoteKey,\n (payload) => {\n if (payload.close) {\n if (this.remoteId !== '') {\n // Remote editor window — close the popup\n window.close()\n } else {\n // Original window — restore from maximized state\n this.classList.remove('-maximize')\n this.parts.codeEditors.hidden = true\n }\n return\n }\n this.css = payload.css\n this.html = payload.html\n this.js = payload.js\n if (payload.test) this.test = payload.test\n this.refresh()\n }\n )\n this.remoteSync.startListening()\n\n // Stochastic undo-state polling — jittered base interval avoids\n // synchronizing when many examples are on the same page.\n const jitter = Math.random() * 100\n this.undoInterval = setInterval(() => {\n if (!document.hidden) this.updateUndo()\n }, 250 + jitter)\n\n // Send close signal when the tab/window closes — disconnectedCallback\n // does not fire reliably during page unload.\n this.beforeUnloadHandler = () => this.remoteSync?.sendClose()\n addEventListener('beforeunload', this.beforeUnloadHandler)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.remoteSync?.sendClose()\n this.remoteSync?.stopListening()\n\n if (this.undoInterval) {\n clearInterval(this.undoInterval)\n this.undoInterval = undefined\n }\n\n if (this.beforeUnloadHandler) {\n removeEventListener('beforeunload', this.beforeUnloadHandler)\n this.beforeUnloadHandler = undefined\n }\n }\n\n private exampleMarkdown(): string {\n const block = (lang: string, code: string) =>\n code !== '' ? '```' + lang + '\\n' + code.trim() + '\\n```\\n' : ''\n return (\n block(this.dialect, this.js) +\n block('html', this.html) +\n block('css', this.css) +\n block('test', this.test)\n )\n }\n\n copy = () => {\n navigator.clipboard.writeText(this.exampleMarkdown())\n }\n\n downloadExample = () => {\n const src = this.getAttribute('data-source-file') || 'example'\n const ord = this.getAttribute('data-example-ordinal')\n const name =\n (src.split('/').pop() || 'example').replace(/\\.\\w+$/, '') +\n (ord !== null ? `-example-${ord}` : '') +\n '.md'\n const url = URL.createObjectURL(\n new Blob([this.exampleMarkdown()], { type: 'text/markdown' })\n )\n const link = document.createElement('a')\n link.href = url\n link.download = name\n link.click()\n setTimeout(() => URL.revokeObjectURL(url), 1000)\n }\n\n // ── Local edit scratchpad (per-browser; keyed by the source↔doc map) ───────\n // The original source blocks, snapshotted at mount so \"revert\" can restore\n // them after a locally-saved edit.\n private originalCode: ExampleEdit | null = null\n\n private localEditKey(): string {\n const src = this.getAttribute('data-source-file')\n const ord = this.getAttribute('data-example-ordinal')\n return src && ord !== null ? exampleEditKey(src, ord) : ''\n }\n\n private applyEdit(edit: ExampleEdit): void {\n if (edit.js !== undefined) this.js = edit.js\n if (edit.html !== undefined) this.html = edit.html\n if (edit.css !== undefined) this.css = edit.css\n if (edit.test !== undefined) this.test = edit.test\n }\n\n // \"Has edits\" = current code differs from the snapshotted original (trailing\n // whitespace ignored, since editors normalize it). Drives Save/Revert enabled\n // state and the local-edit indicator.\n hasLocalEdits(): boolean {\n if (!this.originalCode) return false\n const o = this.originalCode\n const t = (s?: string) => (s ?? '').replace(/\\s+$/, '')\n return (\n t(this.js) !== t(o.js) ||\n t(this.html) !== t(o.html) ||\n t(this.css) !== t(o.css) ||\n t(this.test) !== t(o.test)\n )\n }\n\n private updateEditedIndicator(): void {\n this.classList.toggle('-locally-edited', this.hasLocalEdits())\n }\n\n private canUndo(): boolean {\n const t = this.activeTab\n return (\n t instanceof CodeEditor &&\n t.editor !== undefined &&\n t.editor.session.getUndoManager().hasUndo()\n )\n }\n\n private canRedo(): boolean {\n const t = this.activeTab\n return (\n t instanceof CodeEditor &&\n t.editor !== undefined &&\n t.editor.session.getUndoManager().hasRedo()\n )\n }\n\n saveLocalEdit = () => {\n const key = this.localEditKey()\n if (!key) {\n window.alert('This example has no source mapping to key a local save.')\n return\n }\n saveExampleEdit(key, {\n js: this.js,\n html: this.html,\n css: this.css,\n test: this.test,\n })\n this.updateEditedIndicator()\n }\n\n revertLocalEdit = () => {\n const key = this.localEditKey()\n if (key) clearExampleEdit(key)\n if (this.originalCode) this.applyEdit(this.originalCode)\n // Reverting leaves nothing to diff — drop out of the diff view if we're in it.\n if (this.viewingChanges) this.viewChanges()\n this.updateEditedIndicator()\n this.refresh()\n }\n\n // Called once by insert-examples after the source blocks + map attrs are set:\n // snapshot the original, then restore any saved local edit on top.\n snapshotAndRestoreLocalEdit = () => {\n // this.js/html/css/test are guarded (return '' before hydration). Do NOT\n // touch this.parts.* directly here — that throws \"elementRef does not exist\"\n // when the example isn't hydrated yet, which breaks the whole doc render.\n // Editor diff baselines are applied later, in viewChanges().\n this.originalCode = {\n js: this.js,\n html: this.html,\n css: this.css,\n test: this.test,\n }\n const key = this.localEditKey()\n if (!key || !hasExampleEdit(key)) return\n const edit = loadExampleEdit(key)\n if (edit) {\n this.applyEdit(edit)\n this.updateEditedIndicator()\n this.refresh()\n }\n }\n\n // Toggle a per-tab diff (current vs original source) across the example's\n // editors. Each editor diffs its own single text — no need to combine the\n // html/css/js/test split — so switching tabs shows that tab's changes.\n viewingChanges = false\n viewChanges = () => {\n if (!this.hydrated) return\n this.viewingChanges = !this.viewingChanges\n if (this.viewingChanges) this.showCode()\n const originals = this.originalCode ?? {}\n for (const tab of ['js', 'html', 'css', 'test'] as const) {\n // Set the diff baseline (the source) right before showing the diff, now\n // that the editors are hydrated.\n this.parts[tab].original = originals[tab] ?? ''\n this.parts[tab].showDiff(this.viewingChanges)\n }\n }\n\n // The example's overflow menu. Stable item set — actions stay put and toggle\n // enabled (Save/Revert key off whether there are edits); items are only hidden\n // when they could NEVER apply here (local save needs a source-map key; save to\n // source additionally needs the dev server). Shortcuts are display-only; the\n // keys are routed by handleShortcuts / the editor, not the menu.\n // Refresh means different things in the two modes: the page-embedded example\n // re-runs itself; the pop-out editor window (refresh() is a no-op there) pushes\n // its code to the main window so IT re-runs.\n doRefresh = () => {\n if (this.remoteId !== '') {\n this.refreshRemote()\n } else {\n void this.refresh()\n }\n }\n\n sourceMenu = (event: Event) => {\n const key = this.localEditKey()\n const hasEdits = () => this.hasLocalEdits()\n // View changes / Revert need the source snapshot, which only the page-embedded\n // example has — the pop-out editor window has no originalCode to compare to.\n const hasSnapshot = this.originalCode != null\n popMenu({\n target: (event.target as HTMLElement).closest('button') as HTMLElement,\n width: 'auto',\n menuItems: [\n {\n icon: 'refreshCw',\n caption: 'Refresh',\n shortcut: '⌘R',\n action: this.doRefresh,\n },\n { icon: 'columns', caption: 'Flip layout', shortcut: '⌘/', action: this.flipLayout },\n {\n icon: 'cornerUpLeft',\n caption: 'Undo',\n shortcut: '⌘Z',\n action: this.undo,\n enabled: () => this.canUndo(),\n },\n {\n icon: 'cornerUpRight',\n caption: 'Redo',\n shortcut: '⌘⇧Z',\n action: this.redo,\n enabled: () => this.canRedo(),\n },\n null,\n { icon: 'copy', caption: 'Copy as markdown', shortcut: '⌘⇧C', action: this.copy },\n { icon: 'download', caption: 'Download', action: this.downloadExample },\n null,\n ...(hasSnapshot\n ? [\n this.viewingChanges\n ? { icon: 'edit', caption: 'Back to editing', action: this.viewChanges }\n : {\n icon: 'code',\n caption: 'View changes',\n action: this.viewChanges,\n enabled: hasEdits,\n },\n ]\n : []),\n ...(key\n ? [\n {\n icon: 'save',\n caption: 'Save changes (local)',\n action: this.saveLocalEdit,\n enabled: hasEdits,\n },\n ]\n : []),\n ...(key && isLocalhost\n ? [\n {\n icon: 'upload',\n caption: 'Save to source',\n action: () => {\n void this.saveToSource()\n },\n enabled: hasEdits,\n },\n ]\n : []),\n ...(hasSnapshot\n ? [\n {\n icon: 'rotateCcw',\n caption: 'Revert to original',\n action: this.revertLocalEdit,\n enabled: hasEdits,\n },\n ]\n : []),\n ],\n })\n }\n\n toggleMaximize = () => {\n this.classList.toggle('-maximize')\n }\n\n showCode = () => {\n this.classList.add('-maximize')\n this.classList.toggle('-vertical', this.offsetHeight > this.offsetWidth)\n this.parts.codeEditors.hidden = false\n this.ensureProductTabs()\n }\n\n closeCode = () => {\n if (this.remoteId !== '') {\n // Remote editor window — send close signal to original, then close popup\n this.remoteSync?.sendClose()\n window.close()\n } else {\n // Original window — restore and close any remote editor\n this.remoteSync?.sendClose()\n this.classList.remove('-maximize')\n this.parts.codeEditors.hidden = true\n }\n }\n\n openEditorWindow = () => {\n const { css, html, js, test } = this\n openEditorWindow(this.prefix, this.uuid, this.storageKey, this.remoteKey, {\n css,\n html,\n js,\n test,\n })\n // Maximize preview — the remote window handles code editing\n this.classList.add('-maximize')\n }\n\n refreshRemote = () => {\n this.remoteSync?.send({\n css: this.css,\n html: this.html,\n js: this.js,\n test: this.test,\n })\n }\n\n updateSources = () => {\n if (this.persistToDom) {\n const { sources } = this.parts\n sources.innerText = ''\n for (const language of ['js', 'css', 'html', 'test']) {\n if (this[language as 'js' | 'css' | 'html' | 'test']) {\n sources.append(\n pre({\n class: `language-${language}`,\n innerHTML: this[language as 'js' | 'css' | 'html' | 'test'],\n })\n )\n }\n }\n }\n }\n\n refresh = async () => {\n if (this.remoteId !== '') return\n\n const transform = await loadTransform(this.dialect)\n const { example, style: styleEl, exampleWidgets } = this.parts\n\n // Keep the read-only generated-JS tab (tjs/ts) in sync with the source, and\n // re-run any inline tjs tests for the \"tjs tests\" results tab.\n if (this.dialect !== 'js') {\n this.lastGeneratedJs = this.computeGeneratedJs(transform)\n if (this.jsOutEditor) this.jsOutEditor.value = this.lastGeneratedJs\n await this.runInlineTjsTests(transform)\n }\n\n let preview: HTMLElement | null\n let executionError: Error | undefined\n\n const onError = (error: Error) => {\n executionError = error\n }\n\n if (this.iframe) {\n preview = await executeInIframe({\n html: this.html,\n css: this.css,\n js: this.js,\n context: this.context,\n transform,\n exampleElement: example,\n widgetsElement: exampleWidgets,\n onError,\n })\n } else {\n preview = await executeInline({\n html: this.html,\n css: this.css,\n js: this.js,\n context: this.context,\n transform,\n exampleElement: example,\n styleElement: styleEl,\n widgetsElement: exampleWidgets,\n onError,\n })\n }\n\n if (this.persistToDom) {\n this.updateSources()\n }\n\n // Run tests if enabled and there are any\n if ((this.test || executionError) && preview && testManager.enabled.value) {\n // Let queued renders (rAF) settle before running tests\n await new Promise((resolve) => requestAnimationFrame(resolve))\n\n this.classList.add('-has-tests', '-test-running')\n this.classList.remove('-test-passed', '-test-failed')\n // `test` blocks are conventional JS/TS regardless of the example's dialect,\n // so they're transpiled as plain js — never lowered through tjs/ts.\n const testTransform =\n this.dialect === 'js' ? transform : await loadTransform('js')\n this.testResults = this.test\n ? await runTests(this.test, preview, this.context, testTransform)\n : { passed: 0, failed: 0, tests: [] }\n if (executionError) {\n this.testResults.failed += 1\n this.testResults.tests.unshift({\n name: 'example loads without error',\n passed: false,\n error: String(executionError),\n })\n }\n this.classList.remove('-test-running')\n this.displayTestResults()\n } else {\n this.classList.remove(\n '-has-tests',\n '-test-running',\n '-test-passed',\n '-test-failed'\n )\n }\n }\n\n private displayTestResults(): void {\n const { testResults: resultsEl, testIndicator } = this.parts\n const results = this.testResults\n\n if (!results || results.tests.length === 0) {\n resultsEl.hidden = true\n this.classList.remove('-test-passed', '-test-failed')\n testIndicator.title = 'no tests'\n return\n }\n\n resultsEl.innerHTML = ''\n\n const summary = div(\n { style: { marginBottom: '8px', fontWeight: 'bold' } },\n `${results.passed}/${results.tests.length} tests passed`\n )\n resultsEl.append(summary)\n\n for (const test of results.tests) {\n const icon = test.passed ? '✓' : '✗'\n const cls = test.passed ? 'test-pass' : 'test-fail'\n const testEl = div(\n { class: cls },\n span(icon + ' '),\n test.name,\n test.error\n ? span({ style: { opacity: '0.7' } }, ` - ${test.error}`)\n : ''\n )\n resultsEl.append(testEl)\n }\n\n this.classList.toggle('-test-passed', results.failed === 0)\n this.classList.toggle('-test-failed', results.failed > 0)\n\n // Update indicator title\n testIndicator.title =\n results.failed === 0\n ? `${results.passed} tests passed`\n : `${results.failed}/${results.tests.length} tests failed`\n\n // Update visibility based on tab and failure status\n this.updateTestResultsVisibility()\n\n // Dispatch event for doc-browser to track results\n this.dispatchEvent(\n new CustomEvent('testcomplete', {\n bubbles: true,\n detail: {\n results,\n element: this,\n },\n })\n )\n }\n\n initFromElements(elements: HTMLElement[]) {\n for (const element of elements) {\n element.hidden = true\n const [mode, ...lines] = element.innerHTML.split('\\n') as string[]\n if (['js', 'html', 'css', 'test'].includes(mode)) {\n const minIndex = lines\n .filter((line) => line.trim() !== '')\n .map((line) => (line.match(/^\\s*/) as string[])[0].length)\n .sort()[0]\n const source = (\n minIndex > 0 ? lines.map((line) => line.substring(minIndex)) : lines\n ).join('\\n')\n this.setEditorValue(mode, source)\n } else {\n const language = ['js', 'html', 'css', 'test'].find((lang) =>\n element.matches(`.language-${lang}`)\n )\n if (language) {\n this.setEditorValue(\n language,\n language === 'html' ? element.innerHTML : element.innerText\n )\n }\n }\n }\n }\n\n showDefaultTab() {\n if (!this.hydrated) {\n this.pendingShowDefaultTab = true\n return\n }\n const { editors } = this.parts\n if (this.js !== '') {\n editors.value = 0\n } else if (this.html !== '') {\n editors.value = 1\n } else if (this.css !== '') {\n editors.value = 2\n } else if (this.test !== '') {\n editors.value = 3\n }\n }\n\n render(): void {\n super.render()\n\n if (this.remoteId !== '') {\n const data = localStorage.getItem(this.storageKey)\n if (data !== null) {\n const payload = JSON.parse(data)\n if (this.remoteKey !== payload.remoteKey) return\n\n this.css = payload.css\n this.html = payload.html\n this.js = payload.js\n if (payload.test) this.test = payload.test\n this.parts.example.hidden = true\n this.parts.codeEditors.hidden = false\n this.classList.add('-maximize')\n this.updateUndo()\n }\n } else {\n this.refresh()\n }\n }\n}\n\nexport const liveExample = LiveExample.elementCreator() as ElementCreator<LiveExample>\n\n// Auto-initialize remote editor window\nconst params = new URL(window.location.href).searchParams\nconst remoteId = params.get('lx')\nif (remoteId) {\n document.title += ' [code editor]'\n document.body.textContent = ''\n document.body.append(liveExample({ remoteId }))\n}\n",
|
|
39
|
+
"import { ExampleContext, TransformFn } from './types'\nimport { rewriteImports, AsyncFunction } from './code-transform'\n\nexport interface TestResult {\n name: string\n passed: boolean\n error?: string\n}\n\nexport interface TestResults {\n passed: number\n failed: number\n tests: TestResult[]\n}\n\nclass AssertionError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'AssertionError'\n }\n}\n\n// Parse an Error.stack and return the first frame that isn't from inside\n// the bundled harness itself — that's the user's test code. The harness is\n// minified into a single bundle (index.js / module.js / iife.js), so we\n// skip frames whose URL ends in those filenames and pick the next one.\n// Stack-frame format varies across browsers (Chrome: \" at fn (url:line:col)\";\n// Safari/FF: \"fn@url:line:col\") — the trailing \"url:line:col\" capture handles\n// both.\nconst BUNDLE_FILES = /\\/(index|module|iife|module\\.debug|module\\.safe)\\.js$/\ninterface UserFrame {\n url: string\n line: number\n col: number\n}\nfunction firstUserStackFrame(stack: string | undefined): UserFrame | null {\n if (!stack) return null\n for (const raw of stack.split('\\n')) {\n const line = raw.trim()\n if (!line) continue\n // Skip the \"AssertionError: ...\" header line.\n if (/^\\w*Error[:\\s]/.test(line)) continue\n const match = line.match(/[(@\\s]([^()\\s]+):(\\d+):(\\d+)\\)?$/)\n if (!match) continue\n const [, url, ln, col] = match\n if (BUNDLE_FILES.test(url)) continue\n return { url, line: Number(ln), col: Number(col) }\n }\n return null\n}\n\n// Source of the currently-running test block, set by runTests so matchers\n// can lift the failing line out of it for inclusion in the error message.\nlet currentTestSource: string | null = null\nfunction getSourceLine(lineNum: number): string | null {\n if (!currentTestSource || lineNum < 1) return null\n const lines = currentTestSource.split('\\n')\n return lines[lineNum - 1]?.trim() || null\n}\n\ninterface Matchers {\n toBe: (expected: unknown) => void\n toEqual: (expected: unknown) => void\n toBeTruthy: () => void\n toBeFalsy: () => void\n toBeNull: () => void\n toBeUndefined: () => void\n toBeDefined: () => void\n toContain: (item: unknown) => void\n toHaveLength: (length: number) => void\n toMatch: (pattern: RegExp) => void\n toBeGreaterThan: (n: number) => void\n toBeLessThan: (n: number) => void\n toBeInstanceOf: (cls: new (...args: unknown[]) => unknown) => void\n not: Matchers\n}\n\nfunction deepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true\n if (typeof a !== typeof b) return false\n if (a === null || b === null) return a === b\n if (typeof a !== 'object') return false\n\n const aObj = a as Record<string, unknown>\n const bObj = b as Record<string, unknown>\n\n if (Array.isArray(aObj) !== Array.isArray(bObj)) return false\n\n const aKeys = Object.keys(aObj)\n const bKeys = Object.keys(bObj)\n if (aKeys.length !== bKeys.length) return false\n\n return aKeys.every((key) => deepEqual(aObj[key], bObj[key]))\n}\n\n/** Default timeout for individual tests (ms) */\nexport const TEST_TIMEOUT = 5000\n\n// Safe JSON that handles DOM elements and circular references\nconst safeJSON = {\n stringify(val: unknown): string {\n if (typeof val === 'undefined') return 'undefined'\n if (val === null) return 'null'\n if (typeof Element !== 'undefined' && val instanceof Element) {\n return `<${val.tagName.toLowerCase()}>`\n }\n if (typeof Node !== 'undefined' && val instanceof Node) {\n return `[${val.nodeName}]`\n }\n try {\n return JSON.stringify(val)\n } catch {\n return String(val)\n }\n },\n}\n\nconst { stringify } = safeJSON\n\nfunction createMatchers(value: unknown, negated = false): Matchers {\n const assert = (condition: boolean, message: string) => {\n const result = negated ? !condition : condition\n if (!result) {\n const err = new AssertionError(negated ? `not: ${message}` : message)\n const frame = firstUserStackFrame(err.stack)\n if (frame) {\n const src = getSourceLine(frame.line)\n const loc = `line ${frame.line}`\n err.message = src\n ? `${err.message} | ${src} (${loc})`\n : `${err.message} (${loc})`\n }\n throw err\n }\n }\n\n const matchers: Matchers = {\n toBe(expected: unknown) {\n assert(\n value === expected,\n `Expected ${stringify(value)} to be ${stringify(expected)}`\n )\n },\n toEqual(expected: unknown) {\n assert(\n deepEqual(value, expected),\n `Expected ${stringify(value)} to equal ${stringify(expected)}`\n )\n },\n toBeTruthy() {\n assert(!!value, `Expected ${stringify(value)} to be truthy`)\n },\n toBeFalsy() {\n assert(!value, `Expected ${stringify(value)} to be falsy`)\n },\n toBeNull() {\n assert(value === null, `Expected ${stringify(value)} to be null`)\n },\n toBeUndefined() {\n assert(\n value === undefined,\n `Expected ${stringify(value)} to be undefined`\n )\n },\n toBeDefined() {\n assert(value !== undefined, `Expected ${stringify(value)} to be defined`)\n },\n toContain(item: unknown) {\n if (typeof value === 'string') {\n assert(\n value.includes(item as string),\n `Expected \"${value}\" to contain \"${item}\"`\n )\n } else if (Array.isArray(value)) {\n assert(\n value.includes(item),\n `Expected array to contain ${stringify(item)}`\n )\n } else {\n throw new AssertionError('toContain requires string or array')\n }\n },\n toHaveLength(length: number) {\n const actual = (value as { length: number }).length\n assert(actual === length, `Expected length ${actual} to be ${length}`)\n },\n toMatch(pattern: RegExp) {\n assert(\n pattern.test(value as string),\n `Expected \"${value}\" to match ${pattern}`\n )\n },\n toBeGreaterThan(n: number) {\n assert((value as number) > n, `Expected ${value} to be greater than ${n}`)\n },\n toBeLessThan(n: number) {\n assert((value as number) < n, `Expected ${value} to be less than ${n}`)\n },\n toBeInstanceOf(cls: new (...args: unknown[]) => unknown) {\n assert(\n value instanceof cls,\n `Expected value to be instance of ${cls.name}`\n )\n },\n get not() {\n return createMatchers(value, !negated)\n },\n }\n\n return matchers\n}\n\nexport function expect(value: unknown): Matchers {\n return createMatchers(value)\n}\n\n/**\n * Wait for a specified number of milliseconds\n */\nexport function waitMs(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n/**\n * Wait for an element matching the selector to appear in the preview\n * @param preview - The preview element to search within\n * @param selector - CSS selector to find\n * @param timeout - Maximum time to wait in ms (default: 1000)\n */\nexport function waitFor(\n preview: HTMLElement,\n selector: string,\n timeout = 1000\n): Promise<Element> {\n return new Promise((resolve, reject) => {\n const startTime = Date.now()\n\n const check = () => {\n const element = preview.querySelector(selector)\n if (element) {\n resolve(element)\n return\n }\n\n if (Date.now() - startTime >= timeout) {\n reject(\n new Error(`Timeout waiting for \"${selector}\" after ${timeout}ms`)\n )\n return\n }\n\n requestAnimationFrame(check)\n }\n\n check()\n })\n}\n\nexport interface TestContext {\n expect: typeof expect\n test: (name: string, fn: () => void | Promise<void>) => void\n describe: (name: string, fn: () => void) => void\n}\n\nfunction withTimeout<T>(\n promise: Promise<T>,\n ms: number,\n name: string\n): Promise<T> {\n return Promise.race([\n promise,\n new Promise<never>((_, reject) =>\n setTimeout(\n () => reject(new Error(`Test \"${name}\" timed out after ${ms}ms`)),\n ms\n )\n ),\n ])\n}\n\n/**\n * Create a test context that collects results.\n * Returns the context and a `pending` promise array that must be awaited\n * to capture async test results.\n */\nexport function createTestContext(\n results: TestResult[],\n timeout = TEST_TIMEOUT\n): TestContext & { pending: Promise<void>[] } {\n let currentDescribe = ''\n const pending: Promise<void>[] = []\n\n return {\n pending,\n expect,\n test(name: string, fn: () => void | Promise<void>) {\n const fullName = currentDescribe ? `${currentDescribe} > ${name}` : name\n try {\n const result = fn()\n if (result instanceof Promise) {\n const wrapped = withTimeout(result, timeout, fullName)\n .then(() => {\n results.push({ name: fullName, passed: true })\n })\n .catch((err: Error) => {\n results.push({\n name: fullName,\n passed: false,\n error: err.message,\n })\n })\n pending.push(wrapped)\n } else {\n results.push({ name: fullName, passed: true })\n }\n } catch (err) {\n results.push({\n name: fullName,\n passed: false,\n error: (err as Error).message,\n })\n }\n },\n describe(name: string, fn: () => void) {\n const previousDescribe = currentDescribe\n currentDescribe = currentDescribe ? `${currentDescribe} > ${name}` : name\n fn()\n currentDescribe = previousDescribe\n },\n }\n}\n\n/**\n * Run test code and collect results\n */\nexport async function runTests(\n testCode: string,\n preview: HTMLElement,\n context: ExampleContext,\n transform: TransformFn\n): Promise<TestResults> {\n const results: TestResult[] = []\n const testContext = createTestContext(results)\n\n const fullContext = {\n preview,\n ...context,\n expect: testContext.expect,\n test: testContext.test,\n describe: testContext.describe,\n waitMs,\n waitFor: (selector: string, timeout?: number) =>\n waitFor(preview, selector, timeout),\n }\n\n try {\n const code = rewriteImports(testCode, Object.keys(context))\n const transformedCode = (\n await transform(code, { transforms: ['typescript'] })\n ).code\n\n const contextKeys = Object.keys(fullContext).map((key) =>\n key.replace(/-/g, '')\n )\n const contextValues = Object.values(fullContext)\n\n // Tag the AsyncFunction body with a sourceURL so stack traces report\n // line numbers relative to the test source (not a position inside the\n // bundled harness). `firstUserStackFrame` uses this to skip our own\n // frames and surface the assertion's actual location to the user.\n const taggedCode = `${transformedCode}\\n//# sourceURL=inline-test`\n\n // Capture the source so matchers can lift the failing line into the\n // error message. rewriteImports + tjs (dialect: 'js') leave plain JS\n // untouched, preserving line breaks so stack line numbers match this source.\n currentTestSource = transformedCode\n\n // @ts-expect-error AsyncFunction constructor typing\n const func = new AsyncFunction(...contextKeys, taggedCode)\n await func(...contextValues)\n } catch (err) {\n // If the test code itself throws (not an assertion), add it as a failed test\n results.push({\n name: 'Test execution',\n passed: false,\n error: (err as Error).message,\n })\n }\n\n // Wait for any async tests to settle\n if (testContext.pending.length > 0) {\n await Promise.all(testContext.pending)\n }\n\n currentTestSource = null\n\n return {\n passed: results.filter((r) => r.passed).length,\n failed: results.filter((r) => !r.passed).length,\n tests: results,\n }\n}\n",
|
|
40
|
+
"/*#\n# example\n\n`<tosi-example>` makes it easy to insert interactive code examples in a web page. It\nstarted life as a super lightweight, easier-to-embed implementation of\n[b8rjs's fiddle component](https://b8rjs.com)—which I dearly missed—but now the student\nis, by far, the master. And it's still super lightweight.\n\n*You're probably looking at it right now.*\n\n```js\n// this code executes in an async function body\n// it has tosijs, tosijsui, and preview (the preview div) available as local variables\nimport { div } from 'tosijs'.elements\npreview.append(div({class: 'example'}, 'fiddle de dee!'))\npreview.append('Try editing some code and hitting refresh…')\n```\n```html\n<h2>Example</h2>\n```\n```css\n.preview {\n padding: 0 var(--spacing);\n}\n\n.example {\n animation: throb ease-in-out 1s infinite alternate;\n}\n\n@keyframes throb {\n from { color: blue }\n to { color: red }\n}\n```\n\n## Source dialects: `js`, `tjs`, `ts`\n\nThe executable block's fence language picks how the source is compiled before it\nruns, via [tjs-lang](https://www.npmjs.com/package/tjs-lang):\n\n- **`js`** — plain JavaScript, run as-is (tjs's `dialect: 'js'` leaves vanilla JS\n untouched, so there's no surprise rewriting).\n- **`tjs`** — [tjs-lang](https://www.npmjs.com/package/tjs-lang) source, lowered to\n JavaScript. Type annotations and tjs's safety transforms are compiled away.\n- **`ts`** — TypeScript, lowered to tjs (via `tjs-lang/browser/from-ts`) and then to\n JavaScript. The TypeScript compiler loads lazily, only for pages that use it.\n\nA `tjs` block — note the type annotation (which a plain `js` block couldn't run)\nand the inline `test '…' { … }` unit test. Open the code panel: the source tab\nis labeled **tjs**, with read-only **JS** (the compiled output) and **tjs tests**\n(the inline-test results) tabs, alongside the **DOM tests** tab.\n\n```tjs\nimport { div } from 'tosijs'.elements\n\nfunction badge(label: string, n: number) {\n return `${label}: ${n}`\n}\n\ntest 'badge formats label and number' {\n expect(badge('count', 42)).toBe('count: 42')\n}\n\npreview.append(div({ class: 'badge' }, badge('count', 42)))\n```\n```test\ntest('tjs example transpiled and ran', () => {\n const badge = preview.querySelector('.badge')\n expect(badge).not.toBe(null)\n expect(badge.textContent).toBe('count: 42')\n})\n```\n\nThe inline test above is tjs's native `test '…' { … }` syntax. In a *TypeScript*\nexample the equivalent is written inside a comment (so it survives `tsc`) — but\nthat comment form can't appear inside a doc comment like this one, since the\ntest's own closing delimiter would end the doc comment.\n\n## CSS Isolation with `iframe`\n\nAdd the `iframe` attribute to render the preview inside an iframe for complete CSS isolation.\n\n## Test Blocks\n\nAdd \\`\\`\\``test` code blocks to write inline tests that run against the preview:\n\n```html\n<button class=\"demo-btn\">Click me</button>\n```\n```js\npreview.querySelector('.demo-btn').onclick = () => {\n preview.querySelector('.demo-btn').textContent = 'Clicked!'\n}\n```\n```test\ntest('button exists', () => {\n const btn = preview.querySelector('.demo-btn')\n expect(btn).toBeDefined()\n expect(btn.textContent).toBe('Click me')\n})\n\ntest('slow test shows running state', async () => {\n await waitMs(500)\n expect(true).toBe(true)\n})\n```\n\nTests have access to:\n- `preview` - the DOM element containing the rendered HTML\n- `expect(value)` - Jest-like assertions (.toBe, .toEqual, .toBeTruthy, etc.)\n- `test(name, fn)` - define a test case (can be async)\n- `describe(name, fn)` - group tests\n- `waitMs(ms)` - wait for a specified number of milliseconds\n- `waitFor(selector, timeout?)` - wait for an element to appear (default 1s timeout)\n- All context libraries (tosijs, tosijs-ui, etc.)\n\n### Async Tests\n\nTests can be async functions. Use `waitMs` for simple delays and `waitFor` to wait\nfor dynamically created elements:\n\n```html\n<button class=\"async-btn\">Load Data</button>\n<div class=\"result\"></div>\n```\n```js\npreview.querySelector('.async-btn').onclick = () => {\n setTimeout(() => {\n preview.querySelector('.result').innerHTML = '<span class=\"data\">Loaded!</span>'\n }, 100)\n}\n// Auto-click to trigger the async behavior\npreview.querySelector('.async-btn').click()\n```\n```test\ntest('waitFor finds dynamically created element', async () => {\n const data = await waitFor('.data')\n expect(data.textContent).toBe('Loaded!')\n})\n\ntest('waitMs delays execution', async () => {\n const start = Date.now()\n await waitMs(50)\n expect(Date.now() - start).toBeGreaterThan(40)\n})\n```\n\n## `context`\n\nA `<tosi-example>` is given a `context` object which is the set of values available\nin the javascript's execution context. The context always includes `preview`.\n\n```\nimport * as tosijs from 'tosijs'\nimport * as tosijsui from 'tosijs-ui'\n\ncontext = {\n tosijs,\n 'tosijs-ui': tosijsui\n}\n```\n*/\n\n/*{ \"parent\": \"Components\" }*/\n\nimport { Component, ElementCreator, elements, tosi } from 'tosijs'\nimport { codeEditor, CodeEditor } from '../code-editor'\nimport { tosiTabs } from '../tab-selector'\nimport { icons } from '../icons'\nimport { popMenu } from '../menu'\n\nimport { Dialect, ExampleContext, ExampleParts, TransformFn } from './types'\nimport {\n loadTransform,\n loadTjsTestApi,\n rewriteImports,\n contextVarName,\n AsyncFunction,\n TjsTestResult,\n} from './code-transform'\nimport {\n STORAGE_KEY,\n createRemoteKey,\n RemoteSyncManager,\n openEditorWindow,\n} from './remote-sync'\nimport { executeInline, executeInIframe } from './execution'\nimport { insertExamples } from './insert-examples'\nimport { rewriteExampleBlocks } from './save-to-source'\nimport {\n exampleEditKey,\n saveExampleEdit,\n loadExampleEdit,\n clearExampleEdit,\n hasExampleEdit,\n ExampleEdit,\n} from './example-store'\nimport { liveExampleStyleSpec } from './styles'\nimport { runTests, TestResults } from './test-harness'\n\nconst { div, tosiSlot, style, button, pre, span } = elements\n\n// Test mode: controlled by localStorage, defaults to enabled on localhost\nconst TESTS_ENABLED_KEY = 'tosijs-ui-tests-enabled'\n\nconst isLocalhost =\n typeof window !== 'undefined' &&\n (window.location.hostname === 'localhost' ||\n window.location.hostname === '127.0.0.1')\n\nfunction getStoredTestsEnabled(): boolean {\n if (typeof localStorage === 'undefined') return false\n const stored = localStorage.getItem(TESTS_ENABLED_KEY)\n if (stored !== null) {\n return stored === 'true'\n }\n // Default: enabled on localhost, disabled elsewhere\n return isLocalhost\n}\n\n// Test manager - observable state for test mode\nexport const { testManager } = tosi({\n testManager: {\n enabled: getStoredTestsEnabled(),\n },\n})\n\n// Set CSS variable on body for test visibility (CSS vars pierce shadow DOM)\nfunction updateTestsEnabledClass() {\n document.body.classList.toggle('tests-enabled', testManager.enabled.value)\n document.body.style.setProperty(\n '--tests-enabled',\n testManager.enabled.value ? '1' : '0'\n )\n}\nif (typeof document !== 'undefined') {\n // Set initial state when DOM is ready\n if (document.body) {\n updateTestsEnabledClass()\n } else {\n document.addEventListener('DOMContentLoaded', updateTestsEnabledClass)\n }\n}\n\n/** Enable test mode (runs tests and shows indicators) */\nexport function enableTests(): void {\n localStorage.setItem(TESTS_ENABLED_KEY, 'true')\n testManager.enabled.value = true\n updateTestsEnabledClass()\n // Re-run tests on all existing examples\n document.querySelectorAll('tosi-example').forEach((el) => {\n ;(el as LiveExample).refresh()\n })\n}\n\n/** Disable test mode */\nexport function disableTests(): void {\n localStorage.setItem(TESTS_ENABLED_KEY, 'false')\n testManager.enabled.value = false\n updateTestsEnabledClass()\n}\n\nexport class LiveExample extends Component<ExampleParts> {\n static preferredTagName = 'tosi-example'\n static lightStyleSpec = liveExampleStyleSpec\n\n static initAttributes = {\n persistToDom: false,\n iframe: false,\n }\n\n prefix = 'lx'\n storageKey = STORAGE_KEY\n context: ExampleContext = {}\n uuid: string = crypto.randomUUID()\n remoteId = ''\n\n private remoteSync?: RemoteSyncManager\n private undoInterval?: ReturnType<typeof setInterval>\n private testResults?: TestResults\n private pendingValues: Record<string, string> = {}\n private pendingShowDefaultTab = false\n private beforeUnloadHandler?: () => void\n\n static insertExamples(\n element: HTMLElement,\n context: ExampleContext = {},\n sourceFile?: string\n ): void {\n insertExamples(\n element,\n context,\n liveExample,\n LiveExample.tagName as string,\n sourceFile\n )\n }\n\n get activeTab(): Element | undefined {\n const { editors } = this.parts\n return [...editors.children].find(\n (elt) => elt.getAttribute('hidden') === null\n )\n }\n\n private get hydrated(): boolean {\n try {\n return this.parts.js !== undefined\n } catch {\n return false\n }\n }\n\n private getEditorValue(which: string): string {\n if (!this.hydrated) return this.pendingValues[which] ?? ''\n return (this.parts[which] as CodeEditor).value\n }\n\n private setEditorValue(which: string, code: string): void {\n if (!this.hydrated) {\n this.pendingValues[which] = code\n return\n }\n const codeEditor = this.parts[which] as CodeEditor\n codeEditor.value = code\n }\n\n private flushPendingValues(): void {\n for (const [which, code] of Object.entries(this.pendingValues)) {\n const codeEditor = this.parts[which] as CodeEditor\n if (codeEditor) codeEditor.value = code\n }\n this.pendingValues = {}\n\n if (this.pendingShowDefaultTab) {\n this.pendingShowDefaultTab = false\n this.showDefaultTab()\n }\n }\n\n get css(): string {\n return this.getEditorValue('css')\n }\n set css(code: string) {\n this.setEditorValue('css', code)\n }\n\n get html(): string {\n return this.getEditorValue('html')\n }\n set html(code: string) {\n this.setEditorValue('html', code)\n }\n\n get js(): string {\n return this.getEditorValue('js')\n }\n set js(code: string) {\n this.setEditorValue('js', code)\n }\n\n get test(): string {\n return this.getEditorValue('test')\n }\n set test(code: string) {\n this.setEditorValue('test', code)\n }\n\n get remoteKey(): string {\n return createRemoteKey(this.prefix, this.uuid, this.remoteId)\n }\n\n // The source block's dialect (js | tjs | ts). Set by insert-examples from the\n // fenced-block language; persisted as an attribute so it survives a re-render.\n // `js` is the default and keeps the original pass-through behavior.\n get dialect(): Dialect {\n return (this.getAttribute('data-dialect') as Dialect) || 'js'\n }\n set dialect(value: Dialect) {\n this.setAttribute('data-dialect', value)\n }\n\n // ── Read-only product tabs (tjs/ts only) ──────────────────────────────────\n // A `tjs`/`ts` example's source is editable; the JavaScript it compiles to is\n // shown read-only in an extra \"JS\" tab. The tab is added lazily (examples show\n // every named editor as a tab, so a static child would pollute plain-`js`\n // examples) the first time the code panel opens. `js` examples get nothing.\n private jsOutEditor?: CodeEditor\n private tjsTestsView?: HTMLElement\n private productTabsReady = false\n private lastGeneratedJs = ''\n private inlineTjsTestCount = 0\n private lastTjsTests?: TjsTestResult\n\n // Run the example's inline tjs tests (the `/*test 'desc' { … }*/` comments in\n // the tjs/ts source — distinct from the DOM-testing `test` block). Extract +\n // strip the tests, transpile the rest the same way execution does, then run\n // `execJs + testUtils + return testRunner` with the example context injected.\n private async runInlineTjsTests(transform: TransformFn): Promise<void> {\n if (this.dialect === 'js') {\n this.inlineTjsTestCount = 0\n return\n }\n const api = await loadTjsTestApi()\n if (!api) {\n this.inlineTjsTestCount = 0\n return\n }\n let extracted\n try {\n extracted = api.extractTests(this.js)\n } catch {\n this.inlineTjsTestCount = 0\n return\n }\n this.inlineTjsTestCount = extracted.tests.length\n if (extracted.tests.length === 0) {\n this.lastTjsTests = undefined\n this.renderTjsTests()\n return\n }\n try {\n const execJs = (\n await transform(rewriteImports(extracted.code, Object.keys(this.context)))\n ).code\n const body = `${execJs}\\n${api.testUtils}\\nreturn ${extracted.testRunner}`\n // The test-stripped source still runs its top-level statements (to define\n // the functions under test), which may touch `preview` — give them a\n // throwaway one, mirroring execution's `{ preview, ...context }` scope.\n const fullContext = { preview: div({ class: 'preview' }), ...this.context }\n const keys = Object.keys(fullContext).map(contextVarName)\n const values = Object.values(fullContext)\n // @ts-expect-error AsyncFunction constructor typing\n const fn = new AsyncFunction(...keys, body)\n this.lastTjsTests = (await fn(...values)) as TjsTestResult\n } catch (error) {\n this.lastTjsTests = {\n passed: 0,\n failed: 1,\n results: [\n {\n description: 'inline tests failed to run',\n passed: false,\n error: String(error),\n },\n ],\n }\n }\n this.renderTjsTests()\n }\n\n private renderTjsTests(): void {\n const view = this.tjsTestsView\n if (!view) return\n const results = this.lastTjsTests\n if (!results || results.results.length === 0) {\n view.replaceChildren(div({ class: 'tjs-test-empty' }, 'No inline tjs tests.'))\n return\n }\n view.replaceChildren(\n div(\n { class: 'tjs-test-summary' },\n `${results.passed}/${results.results.length} passed`\n ),\n ...results.results.map((r) =>\n div(\n { class: r.passed ? 'test-pass' : 'test-fail' },\n `${r.passed ? '✓' : '✗'} ${r.description}`,\n r.error ? span({ class: 'tjs-test-error' }, ` — ${r.error}`) : ''\n )\n )\n )\n }\n\n // The JavaScript `this.js` compiles to under the current dialect — the same\n // pipeline execution runs (rewriteImports → dialect transform), so the tab\n // shows what actually executes. Transpile errors render as a comment.\n private async computeGeneratedJs(transform: TransformFn): Promise<string> {\n if (this.dialect === 'js') return ''\n try {\n return (\n await transform(rewriteImports(this.js, Object.keys(this.context)))\n ).code\n } catch (error) {\n return `// transpile error:\\n// ${(error as Error).message}`\n }\n }\n\n private ensureProductTabs(): void {\n if (this.productTabsReady || this.dialect === 'js' || !this.hydrated) return\n this.productTabsReady = true\n const { editors } = this.parts\n // Relabel the source tab from \"js\" to the actual dialect (the `part` stays\n // `js`, so everything referencing this.parts.js / this.js is unaffected).\n this.parts.js.setAttribute('name', this.dialect)\n this.jsOutEditor = codeEditor({\n name: 'JS',\n mode: 'javascript',\n disabled: true,\n }) as unknown as CodeEditor\n editors.append(this.jsOutEditor)\n // Add a read-only \"tjs tests\" results tab only when the source has inline\n // `/*test*/` tests (computed during refresh, which runs before first open).\n if (this.inlineTjsTestCount > 0) {\n this.tjsTestsView = div({ name: 'tjs tests', class: 'tjs-test-results' })\n editors.append(this.tjsTestsView)\n }\n editors.setupTabs()\n this.jsOutEditor.value = this.lastGeneratedJs\n this.renderTjsTests()\n }\n\n updateUndo = () => {\n const { activeTab } = this\n const { undo, redo } = this.parts\n if (activeTab instanceof CodeEditor && activeTab.editor !== undefined) {\n const undoManager = activeTab.editor.session.getUndoManager()\n undo.disabled = !undoManager.hasUndo()\n redo.disabled = !undoManager.hasRedo()\n } else {\n undo.disabled = true\n redo.disabled = true\n }\n this.updateEditedIndicator()\n this.updateTestResultsVisibility()\n }\n\n private updateTestResultsVisibility(): void {\n const { testResults: resultsEl } = this.parts\n const results = this.testResults\n // The \"DOM tests\" tab's editor is this.parts.test (the part stays `test`\n // even though the tab label changed).\n const isTestTabActive = this.activeTab === this.parts.test\n const hasFailed = results && results.failed > 0\n\n // Show results if: has results AND (test tab is active OR there are failures)\n resultsEl.hidden =\n !results || results.tests.length === 0 || (!isTestTabActive && !hasFailed)\n }\n\n undo = () => {\n const { activeTab } = this\n if (activeTab instanceof CodeEditor) {\n activeTab.editor.undo()\n }\n }\n\n redo = () => {\n const { activeTab } = this\n if (activeTab instanceof CodeEditor) {\n activeTab.editor.redo()\n }\n }\n\n get isMaximized(): boolean {\n return this.classList.contains('-maximize')\n }\n\n flipLayout = () => {\n this.classList.toggle('-vertical')\n }\n\n // Persist this example's edits back to the source file's fenced blocks, located\n // by the source↔doc map (data-source-file + data-example-ordinal). Dev only —\n // writes via the /__docstore/source endpoint; the watcher then rebuilds.\n saveToSource = async (): Promise<void> => {\n const sourceFile = this.getAttribute('data-source-file')\n const ordinalAttr = this.getAttribute('data-example-ordinal')\n if (!sourceFile || ordinalAttr === null) {\n window.alert('No source mapping for this example.')\n return\n }\n let content: string\n try {\n const response = await fetch(\n `/__docstore/source?file=${encodeURIComponent(sourceFile)}`\n )\n if (!response.ok) throw new Error(String(response.status))\n content = await response.text()\n } catch {\n window.alert(\n 'Source endpoint unavailable — saving to source works in dev only.'\n )\n return\n }\n const updated = rewriteExampleBlocks(content, Number(ordinalAttr), {\n js: this.js,\n html: this.html,\n css: this.css,\n test: this.test,\n })\n if (updated === null) {\n window.alert('Nothing to save (no matching blocks or no changes).')\n return\n }\n try {\n const response = await fetch('/__docstore/source', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ file: sourceFile, content: updated }),\n })\n if (!response.ok) throw new Error(String(response.status))\n window.alert(`Saved to ${sourceFile}`)\n } catch {\n window.alert('Save failed.')\n }\n }\n\n exampleMenu = () => {\n const testsOn = testManager.enabled.value\n popMenu({\n target: this.parts.exampleWidgets,\n width: 'auto',\n menuItems: [\n {\n icon: 'edit2',\n caption: 'view/edit code',\n action: this.showCode,\n },\n {\n icon: 'edit',\n caption: 'view/edit code in a new window',\n action: this.openEditorWindow,\n },\n null,\n {\n icon: this.isMaximized ? 'minimize' : 'maximize',\n caption: this.isMaximized ? 'restore preview' : 'maximize preview',\n action: this.toggleMaximize,\n },\n null,\n {\n icon: testsOn ? 'check' : '',\n caption: 'Run tests',\n action: () => {\n if (testsOn) {\n disableTests()\n } else {\n enableTests()\n }\n },\n },\n ],\n })\n }\n\n handleShortcuts = (event: KeyboardEvent) => {\n if (event.metaKey || event.ctrlKey) {\n let block = false\n switch (event.key) {\n case 's':\n case 'r':\n this.doRefresh()\n block = true\n break\n case '/':\n this.flipLayout()\n break\n case 'c':\n if (event.shiftKey) {\n this.copy()\n block = true\n }\n break\n }\n if (block) {\n event.preventDefault()\n event.stopPropagation()\n }\n }\n }\n\n content = () => [\n div(\n { part: 'example' },\n style({ part: 'style' }),\n div({ part: 'testIndicator', title: 'test status' }),\n pre({ part: 'testResults', hidden: true }),\n button(\n {\n title: 'example menu',\n part: 'exampleWidgets',\n onClick: this.exampleMenu,\n },\n icons.code()\n )\n ),\n div(\n {\n class: 'code-editors',\n part: 'codeEditors',\n onKeydown: this.handleShortcuts,\n hidden: true,\n },\n tosiTabs(\n {\n part: 'editors',\n onChange: this.updateUndo,\n },\n codeEditor({ name: 'js', mode: 'javascript', part: 'js' }),\n codeEditor({ name: 'html', mode: 'html', part: 'html' }),\n codeEditor({ name: 'css', mode: 'css', part: 'css' }),\n // The `test` block tests the rendered preview (DOM), so its tab is\n // labeled \"DOM tests\" to distinguish it from inline tjs unit tests. The\n // `part`/`name` stay `test`; only the displayed label differs.\n codeEditor({ name: 'DOM tests', mode: 'javascript', part: 'test' }),\n div(\n { slot: 'after-tabs', class: 'row' },\n button(\n {\n title: 'undo',\n part: 'undo',\n class: 'transparent',\n onClick: this.undo,\n },\n icons.cornerUpLeft()\n ),\n button(\n {\n title: 'redo',\n part: 'redo',\n class: 'transparent',\n onClick: this.redo,\n },\n icons.cornerUpRight()\n ),\n button(\n {\n title: 'example menu — refresh, flip, undo, copy, save/revert edits',\n class: 'transparent source-menu',\n onClick: this.sourceMenu,\n },\n icons.moreVertical()\n ),\n button(\n {\n title: 'close code',\n class: 'transparent',\n onClick: this.closeCode,\n },\n icons.x()\n )\n )\n )\n ),\n tosiSlot({ part: 'sources', hidden: true }),\n ]\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // Flush any values set before the shadow DOM was ready\n this.flushPendingValues()\n\n const { sources } = this.parts\n this.initFromElements([...sources.children] as HTMLElement[])\n\n // Set up remote sync\n this.remoteSync = new RemoteSyncManager(\n this.storageKey,\n this.remoteKey,\n (payload) => {\n if (payload.close) {\n if (this.remoteId !== '') {\n // Remote editor window — close the popup\n window.close()\n } else {\n // Original window — restore from maximized state\n this.classList.remove('-maximize')\n this.parts.codeEditors.hidden = true\n }\n return\n }\n this.css = payload.css\n this.html = payload.html\n this.js = payload.js\n if (payload.test) this.test = payload.test\n this.refresh()\n }\n )\n this.remoteSync.startListening()\n\n // Stochastic undo-state polling — jittered base interval avoids\n // synchronizing when many examples are on the same page.\n const jitter = Math.random() * 100\n this.undoInterval = setInterval(() => {\n if (!document.hidden) this.updateUndo()\n }, 250 + jitter)\n\n // Send close signal when the tab/window closes — disconnectedCallback\n // does not fire reliably during page unload.\n this.beforeUnloadHandler = () => this.remoteSync?.sendClose()\n addEventListener('beforeunload', this.beforeUnloadHandler)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.remoteSync?.sendClose()\n this.remoteSync?.stopListening()\n\n if (this.undoInterval) {\n clearInterval(this.undoInterval)\n this.undoInterval = undefined\n }\n\n if (this.beforeUnloadHandler) {\n removeEventListener('beforeunload', this.beforeUnloadHandler)\n this.beforeUnloadHandler = undefined\n }\n }\n\n private exampleMarkdown(): string {\n const block = (lang: string, code: string) =>\n code !== '' ? '```' + lang + '\\n' + code.trim() + '\\n```\\n' : ''\n return (\n block(this.dialect, this.js) +\n block('html', this.html) +\n block('css', this.css) +\n block('test', this.test)\n )\n }\n\n copy = () => {\n navigator.clipboard.writeText(this.exampleMarkdown())\n }\n\n downloadExample = () => {\n const src = this.getAttribute('data-source-file') || 'example'\n const ord = this.getAttribute('data-example-ordinal')\n const name =\n (src.split('/').pop() || 'example').replace(/\\.\\w+$/, '') +\n (ord !== null ? `-example-${ord}` : '') +\n '.md'\n const url = URL.createObjectURL(\n new Blob([this.exampleMarkdown()], { type: 'text/markdown' })\n )\n const link = document.createElement('a')\n link.href = url\n link.download = name\n link.click()\n setTimeout(() => URL.revokeObjectURL(url), 1000)\n }\n\n // ── Local edit scratchpad (per-browser; keyed by the source↔doc map) ───────\n // The original source blocks, snapshotted at mount so \"revert\" can restore\n // them after a locally-saved edit.\n private originalCode: ExampleEdit | null = null\n\n private localEditKey(): string {\n const src = this.getAttribute('data-source-file')\n const ord = this.getAttribute('data-example-ordinal')\n return src && ord !== null ? exampleEditKey(src, ord) : ''\n }\n\n private applyEdit(edit: ExampleEdit): void {\n if (edit.js !== undefined) this.js = edit.js\n if (edit.html !== undefined) this.html = edit.html\n if (edit.css !== undefined) this.css = edit.css\n if (edit.test !== undefined) this.test = edit.test\n }\n\n // \"Has edits\" = current code differs from the snapshotted original (trailing\n // whitespace ignored, since editors normalize it). Drives Save/Revert enabled\n // state and the local-edit indicator.\n hasLocalEdits(): boolean {\n if (!this.originalCode) return false\n const o = this.originalCode\n const t = (s?: string) => (s ?? '').replace(/\\s+$/, '')\n return (\n t(this.js) !== t(o.js) ||\n t(this.html) !== t(o.html) ||\n t(this.css) !== t(o.css) ||\n t(this.test) !== t(o.test)\n )\n }\n\n private updateEditedIndicator(): void {\n this.classList.toggle('-locally-edited', this.hasLocalEdits())\n }\n\n private canUndo(): boolean {\n const t = this.activeTab\n return (\n t instanceof CodeEditor &&\n t.editor !== undefined &&\n t.editor.session.getUndoManager().hasUndo()\n )\n }\n\n private canRedo(): boolean {\n const t = this.activeTab\n return (\n t instanceof CodeEditor &&\n t.editor !== undefined &&\n t.editor.session.getUndoManager().hasRedo()\n )\n }\n\n saveLocalEdit = () => {\n const key = this.localEditKey()\n if (!key) {\n window.alert('This example has no source mapping to key a local save.')\n return\n }\n saveExampleEdit(key, {\n js: this.js,\n html: this.html,\n css: this.css,\n test: this.test,\n })\n this.updateEditedIndicator()\n }\n\n revertLocalEdit = () => {\n const key = this.localEditKey()\n if (key) clearExampleEdit(key)\n if (this.originalCode) this.applyEdit(this.originalCode)\n // Reverting leaves nothing to diff — drop out of the diff view if we're in it.\n if (this.viewingChanges) this.viewChanges()\n this.updateEditedIndicator()\n this.refresh()\n }\n\n // Called once by insert-examples after the source blocks + map attrs are set:\n // snapshot the original, then restore any saved local edit on top.\n snapshotAndRestoreLocalEdit = () => {\n // this.js/html/css/test are guarded (return '' before hydration). Do NOT\n // touch this.parts.* directly here — that throws \"elementRef does not exist\"\n // when the example isn't hydrated yet, which breaks the whole doc render.\n // Editor diff baselines are applied later, in viewChanges().\n this.originalCode = {\n js: this.js,\n html: this.html,\n css: this.css,\n test: this.test,\n }\n const key = this.localEditKey()\n if (!key || !hasExampleEdit(key)) return\n const edit = loadExampleEdit(key)\n if (edit) {\n this.applyEdit(edit)\n this.updateEditedIndicator()\n this.refresh()\n }\n }\n\n // Toggle a per-tab diff (current vs original source) across the example's\n // editors. Each editor diffs its own single text — no need to combine the\n // html/css/js/test split — so switching tabs shows that tab's changes.\n viewingChanges = false\n viewChanges = () => {\n if (!this.hydrated) return\n this.viewingChanges = !this.viewingChanges\n if (this.viewingChanges) this.showCode()\n const originals = this.originalCode ?? {}\n for (const tab of ['js', 'html', 'css', 'test'] as const) {\n // Set the diff baseline (the source) right before showing the diff, now\n // that the editors are hydrated.\n this.parts[tab].original = originals[tab] ?? ''\n this.parts[tab].showDiff(this.viewingChanges)\n }\n }\n\n // The example's overflow menu. Stable item set — actions stay put and toggle\n // enabled (Save/Revert key off whether there are edits); items are only hidden\n // when they could NEVER apply here (local save needs a source-map key; save to\n // source additionally needs the dev server). Shortcuts are display-only; the\n // keys are routed by handleShortcuts / the editor, not the menu.\n // Refresh means different things in the two modes: the page-embedded example\n // re-runs itself; the pop-out editor window (refresh() is a no-op there) pushes\n // its code to the main window so IT re-runs.\n doRefresh = () => {\n if (this.remoteId !== '') {\n this.refreshRemote()\n } else {\n void this.refresh()\n }\n }\n\n sourceMenu = (event: Event) => {\n const key = this.localEditKey()\n const hasEdits = () => this.hasLocalEdits()\n // View changes / Revert need the source snapshot, which only the page-embedded\n // example has — the pop-out editor window has no originalCode to compare to.\n const hasSnapshot = this.originalCode != null\n popMenu({\n target: (event.target as HTMLElement).closest('button') as HTMLElement,\n width: 'auto',\n menuItems: [\n {\n icon: 'refreshCw',\n caption: 'Refresh',\n shortcut: '⌘R',\n action: this.doRefresh,\n },\n { icon: 'columns', caption: 'Flip layout', shortcut: '⌘/', action: this.flipLayout },\n {\n icon: 'cornerUpLeft',\n caption: 'Undo',\n shortcut: '⌘Z',\n action: this.undo,\n enabled: () => this.canUndo(),\n },\n {\n icon: 'cornerUpRight',\n caption: 'Redo',\n shortcut: '⌘⇧Z',\n action: this.redo,\n enabled: () => this.canRedo(),\n },\n null,\n { icon: 'copy', caption: 'Copy as markdown', shortcut: '⌘⇧C', action: this.copy },\n { icon: 'download', caption: 'Download', action: this.downloadExample },\n null,\n ...(hasSnapshot\n ? [\n this.viewingChanges\n ? { icon: 'edit', caption: 'Back to editing', action: this.viewChanges }\n : {\n icon: 'code',\n caption: 'View changes',\n action: this.viewChanges,\n enabled: hasEdits,\n },\n ]\n : []),\n ...(key\n ? [\n {\n icon: 'save',\n caption: 'Save changes (local)',\n action: this.saveLocalEdit,\n enabled: hasEdits,\n },\n ]\n : []),\n ...(key && isLocalhost\n ? [\n {\n icon: 'upload',\n caption: 'Save to source',\n action: () => {\n void this.saveToSource()\n },\n enabled: hasEdits,\n },\n ]\n : []),\n ...(hasSnapshot\n ? [\n {\n icon: 'rotateCcw',\n caption: 'Revert to original',\n action: this.revertLocalEdit,\n enabled: hasEdits,\n },\n ]\n : []),\n ],\n })\n }\n\n toggleMaximize = () => {\n this.classList.toggle('-maximize')\n }\n\n showCode = () => {\n this.classList.add('-maximize')\n this.classList.toggle('-vertical', this.offsetHeight > this.offsetWidth)\n this.parts.codeEditors.hidden = false\n this.ensureProductTabs()\n }\n\n closeCode = () => {\n if (this.remoteId !== '') {\n // Remote editor window — send close signal to original, then close popup\n this.remoteSync?.sendClose()\n window.close()\n } else {\n // Original window — restore and close any remote editor\n this.remoteSync?.sendClose()\n this.classList.remove('-maximize')\n this.parts.codeEditors.hidden = true\n }\n }\n\n openEditorWindow = () => {\n const { css, html, js, test } = this\n openEditorWindow(this.prefix, this.uuid, this.storageKey, this.remoteKey, {\n css,\n html,\n js,\n test,\n })\n // Maximize preview — the remote window handles code editing\n this.classList.add('-maximize')\n }\n\n refreshRemote = () => {\n this.remoteSync?.send({\n css: this.css,\n html: this.html,\n js: this.js,\n test: this.test,\n })\n }\n\n updateSources = () => {\n if (this.persistToDom) {\n const { sources } = this.parts\n sources.innerText = ''\n for (const language of ['js', 'css', 'html', 'test']) {\n if (this[language as 'js' | 'css' | 'html' | 'test']) {\n sources.append(\n pre({\n class: `language-${language}`,\n innerHTML: this[language as 'js' | 'css' | 'html' | 'test'],\n })\n )\n }\n }\n }\n }\n\n refresh = async () => {\n if (this.remoteId !== '') return\n\n const transform = await loadTransform(this.dialect)\n const { example, style: styleEl, exampleWidgets } = this.parts\n\n // Keep the read-only generated-JS tab (tjs/ts) in sync with the source, and\n // re-run any inline tjs tests for the \"tjs tests\" results tab.\n if (this.dialect !== 'js') {\n this.lastGeneratedJs = await this.computeGeneratedJs(transform)\n if (this.jsOutEditor) this.jsOutEditor.value = this.lastGeneratedJs\n await this.runInlineTjsTests(transform)\n }\n\n let preview: HTMLElement | null\n let executionError: Error | undefined\n\n const onError = (error: Error) => {\n executionError = error\n }\n\n if (this.iframe) {\n preview = await executeInIframe({\n html: this.html,\n css: this.css,\n js: this.js,\n context: this.context,\n transform,\n exampleElement: example,\n widgetsElement: exampleWidgets,\n onError,\n })\n } else {\n preview = await executeInline({\n html: this.html,\n css: this.css,\n js: this.js,\n context: this.context,\n transform,\n exampleElement: example,\n styleElement: styleEl,\n widgetsElement: exampleWidgets,\n onError,\n })\n }\n\n if (this.persistToDom) {\n this.updateSources()\n }\n\n // Run tests if enabled and there are any\n if ((this.test || executionError) && preview && testManager.enabled.value) {\n // Let queued renders (rAF) settle before running tests\n await new Promise((resolve) => requestAnimationFrame(resolve))\n\n this.classList.add('-has-tests', '-test-running')\n this.classList.remove('-test-passed', '-test-failed')\n // `test` blocks are conventional JS/TS regardless of the example's dialect,\n // so they're transpiled as plain js — never lowered through tjs/ts.\n const testTransform =\n this.dialect === 'js' ? transform : await loadTransform('js')\n this.testResults = this.test\n ? await runTests(this.test, preview, this.context, testTransform)\n : { passed: 0, failed: 0, tests: [] }\n if (executionError) {\n this.testResults.failed += 1\n this.testResults.tests.unshift({\n name: 'example loads without error',\n passed: false,\n error: String(executionError),\n })\n }\n this.classList.remove('-test-running')\n this.displayTestResults()\n } else {\n this.classList.remove(\n '-has-tests',\n '-test-running',\n '-test-passed',\n '-test-failed'\n )\n }\n }\n\n private displayTestResults(): void {\n const { testResults: resultsEl, testIndicator } = this.parts\n const results = this.testResults\n\n if (!results || results.tests.length === 0) {\n resultsEl.hidden = true\n this.classList.remove('-test-passed', '-test-failed')\n testIndicator.title = 'no tests'\n return\n }\n\n resultsEl.innerHTML = ''\n\n const summary = div(\n { style: { marginBottom: '8px', fontWeight: 'bold' } },\n `${results.passed}/${results.tests.length} tests passed`\n )\n resultsEl.append(summary)\n\n for (const test of results.tests) {\n const icon = test.passed ? '✓' : '✗'\n const cls = test.passed ? 'test-pass' : 'test-fail'\n const testEl = div(\n { class: cls },\n span(icon + ' '),\n test.name,\n test.error\n ? span({ style: { opacity: '0.7' } }, ` - ${test.error}`)\n : ''\n )\n resultsEl.append(testEl)\n }\n\n this.classList.toggle('-test-passed', results.failed === 0)\n this.classList.toggle('-test-failed', results.failed > 0)\n\n // Update indicator title\n testIndicator.title =\n results.failed === 0\n ? `${results.passed} tests passed`\n : `${results.failed}/${results.tests.length} tests failed`\n\n // Update visibility based on tab and failure status\n this.updateTestResultsVisibility()\n\n // Dispatch event for doc-browser to track results\n this.dispatchEvent(\n new CustomEvent('testcomplete', {\n bubbles: true,\n detail: {\n results,\n element: this,\n },\n })\n )\n }\n\n initFromElements(elements: HTMLElement[]) {\n for (const element of elements) {\n element.hidden = true\n const [mode, ...lines] = element.innerHTML.split('\\n') as string[]\n if (['js', 'html', 'css', 'test'].includes(mode)) {\n const minIndex = lines\n .filter((line) => line.trim() !== '')\n .map((line) => (line.match(/^\\s*/) as string[])[0].length)\n .sort()[0]\n const source = (\n minIndex > 0 ? lines.map((line) => line.substring(minIndex)) : lines\n ).join('\\n')\n this.setEditorValue(mode, source)\n } else {\n const language = ['js', 'html', 'css', 'test'].find((lang) =>\n element.matches(`.language-${lang}`)\n )\n if (language) {\n this.setEditorValue(\n language,\n language === 'html' ? element.innerHTML : element.innerText\n )\n }\n }\n }\n }\n\n showDefaultTab() {\n if (!this.hydrated) {\n this.pendingShowDefaultTab = true\n return\n }\n const { editors } = this.parts\n if (this.js !== '') {\n editors.value = 0\n } else if (this.html !== '') {\n editors.value = 1\n } else if (this.css !== '') {\n editors.value = 2\n } else if (this.test !== '') {\n editors.value = 3\n }\n }\n\n render(): void {\n super.render()\n\n if (this.remoteId !== '') {\n const data = localStorage.getItem(this.storageKey)\n if (data !== null) {\n const payload = JSON.parse(data)\n if (this.remoteKey !== payload.remoteKey) return\n\n this.css = payload.css\n this.html = payload.html\n this.js = payload.js\n if (payload.test) this.test = payload.test\n this.parts.example.hidden = true\n this.parts.codeEditors.hidden = false\n this.classList.add('-maximize')\n this.updateUndo()\n }\n } else {\n this.refresh()\n }\n }\n}\n\nexport const liveExample = LiveExample.elementCreator() as ElementCreator<LiveExample>\n\n// Auto-initialize remote editor window\nconst params = new URL(window.location.href).searchParams\nconst remoteId = params.get('lx')\nif (remoteId) {\n document.title += ' [code editor]'\n document.body.textContent = ''\n document.body.append(liveExample({ remoteId }))\n}\n",
|
|
41
41
|
"/*#\n# sidebar\n\nThe default layout for iOS / iPadOS apps is to hide the sidebar when displaying content on small\nscreens, and display the sidebar when space is available (with the user able to explicitly hide\nthe sidebar if so desired). `<tosi-sidenav>` provides this functionality.\n\n`<tosi-sidenav>` is used to handle the layout of the documentation tab panel.\n\n`<tosi-sidenav>`'s behavior is controlled by two attributes, `minSize` is the point at which it will toggle between showing the navigation\nsidebar and content, while `navSize` is the width of the sidebar. You can interrogate its `compact` property to find out if it's\ncurrently in `compact` form.\n*/\n\n/*{ \"parent\": \"Components\" }*/\n\nimport { Component, ElementCreator, elements, varDefault } from 'tosijs'\n\nconst { slot } = elements\n\ntype NavState = 'normal' | 'compact/nav' | 'compact/content'\n\nexport class TosiSidenav extends Component {\n static preferredTagName = 'tosi-sidenav'\n\n static initAttributes = {\n minSize: 800,\n navSize: 200,\n compact: false,\n contentVisible: false,\n }\n\n value: NavState = 'normal'\n\n content = [slot({ name: 'nav', part: 'nav' }), slot({ part: 'content' })]\n\n static shadowStyleSpec = {\n ':host': {\n display: 'grid',\n gridTemplateColumns: `${varDefault.navWidth(\n '50%'\n )} ${varDefault.contentWidth('50%')}`,\n gridTemplateRows: '100%',\n position: 'relative',\n margin: varDefault.margin('0 0 0 -100%'),\n transition: varDefault.sideNavTransition('0.25s ease-out'),\n },\n ':host slot': {\n position: 'relative',\n },\n ':host slot:not([name])': {\n display: 'block',\n },\n ':host slot[name=\"nav\"]': {\n display: 'block',\n },\n }\n\n onResize = () => {\n const { content } = this.parts\n const parent = this.offsetParent as HTMLElement | null\n if (parent === null) {\n return\n }\n\n let navState: NavState\n\n this.compact = parent.offsetWidth < this.minSize\n\n const empty =\n [...this.childNodes].find((node) =>\n node instanceof Element ? node.getAttribute('slot') !== 'nav' : true\n ) === undefined\n if (empty) {\n navState = 'compact/nav'\n this.style.setProperty('--nav-width', '100%')\n this.style.setProperty('--content-width', '0%')\n } else if (!this.compact) {\n navState = 'normal'\n content.classList.add('-tosi-sidenav-visible')\n this.style.setProperty('--nav-width', `${this.navSize}px`)\n this.style.setProperty(\n '--content-width',\n `calc(100% - ${this.navSize}px)`\n )\n this.style.setProperty('--margin', '0')\n } else {\n content.classList.remove('-tosi-sidenav-visible')\n this.style.setProperty('--nav-width', '50%')\n this.style.setProperty('--content-width', '50%')\n\n if (this.contentVisible) {\n navState = 'compact/content'\n this.style.setProperty('--margin', '0 0 0 -100%')\n } else {\n navState = 'compact/nav'\n this.style.setProperty('--margin', '0 -100% 0 0')\n }\n }\n\n if (this.value !== navState) {\n this.value = navState\n }\n }\n\n private observer: any\n connectedCallback(): void {\n super.connectedCallback()\n this.contentVisible = this.parts.content.childNodes.length === 0\n globalThis.addEventListener('resize', this.onResize)\n\n this.observer = new MutationObserver(this.onResize)\n this.observer.observe(this, { childList: true })\n this.style.setProperty('--side-nav-transition', '0s')\n setTimeout(() => {\n this.style.removeProperty('--side-nav-transition')\n }, 250)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this.observer.disconnect()\n }\n\n render(): void {\n super.render()\n this.onResize()\n }\n}\n\n/** @deprecated Use TosiSidenav instead */\nexport type SideNav = TosiSidenav\n/** @deprecated Use TosiSidenav instead */\nexport const SideNav: typeof TosiSidenav = TosiSidenav\n\nexport const tosiSidenav = TosiSidenav.elementCreator() as ElementCreator<TosiSidenav>\n\n/** @deprecated Use tosiSidenav instead */\nexport const sideNav = tosiSidenav\n\n/** @deprecated Use tosiSidenav instead */\nexport const xinSidenav = tosiSidenav\n",
|
|
42
42
|
"/*#\n# doc-browser\n\nThe `tosijs-ui` library provides everything you need to create a self-documented testbed similar\nto the [tosijs-ui documentation site](https://ui.tosijs.net). It's like Storybook but much simpler\nto set up and maintain.\n\n## Quick Start\n\n### 1. Extract Documentation\n\nUse the CLI tool to extract documentation from your source files:\n\n```bash\nnpx tosijs-ui-docs --dirs src,README.md --output docs.json\n```\n\nThis scans for:\n\n- `.md` files (uses entire content)\n- Multi-line comments starting with `/*#` in `.ts`, `.js`, `.css` files\n\n### 2. Create Your Doc Browser\n\n```typescript\nimport { createDocBrowser } from 'tosijs-ui'\nimport * as mylib from './my-library.js'\nimport docs from './docs.json'\n\nconst browser = createDocBrowser({\n docs,\n context: { mylib },\n projectName: 'My Project',\n projectLinks: {\n github: 'https://github.com/user/project',\n npm: 'https://www.npmjs.com/package/project',\n },\n})\n\ndocument.body.append(browser)\n```\n\n### 3. Add Live Examples in Your Docs\n\nIn your source files or markdown, use code fences. Any sequence of\nhtml, js, and css code examples will be turned in to a live, interactive\nexample.\n\n /*#\n # My Component\n\n This component does amazing things!\n\n ```html\n <my-component></my-component>\n ```\n ```js\n import { myComponent } from 'mylib'\n preview.append(myComponent({ value: 'Hello!' }))\n ```\n ```css\n my-component {\n color: blue;\n }\n ```\n */\n\n export class MyComponent extends Component {\n // ...\n }\n\n export const myComponent = MyComponent.elementCreator({\n tag: 'my-component'\n })\n\n## Documentation Format\n\n### Inline Comments\n\nStart multi-line comments with `/*#` to mark them as documentation:\n\n```typescript\n/*#\n# Component Name\n\nDescription and examples go here...\n*/\n```\n\n### Metadata\n\nControl sort order with JSON metadata:\n\n```\n<!--{ \"pin\": \"bottom\" }-->\n```\n\nor\n\n```\n/*{ \"pin\": \"bottom\" }*/\n```\n\n## Programmatic API\n\n```typescript\nimport { extractDocs, saveDocsJSON } from 'tosijs-ui'\n\nconst docs = extractDocs({\n dirs: ['src', 'README.md'],\n ignore: ['node_modules', 'dist'],\n})\n\nsaveDocsJSON(docs, './docs.json')\n\n// Or use the docs directly\nimport { createDocBrowser } from 'tosijs-ui'\nconst browser = createDocBrowser({ docs, context: { mylib } })\n```\n\n## createDocBrowser Options\n\n```typescript\ninterface DocBrowserOptions {\n docs: Doc[] // Array of documentation objects\n context?: Record<string, any> // Modules for live examples\n projectName?: string // Display name\n projectLinks?: ProjectLinks // Links to show in header\n navSize?: number // Nav width (default: 200)\n minSize?: number // Min width before compact (default: 600)\n}\n\ninterface ProjectLinks {\n github?: string\n npm?: string\n discord?: string\n blog?: string\n tosijs?: string\n bundle?: string\n cdn?: string\n [key: string]: string | undefined\n}\n```\n\n## See Also\n\nThe `tosijs-ui` demo is a complete working example. See:\n\n- `/demo/src/index.ts` - How the doc browser is set up\n- `/bin/docs.ts` - The extraction tool\n- `/src/doc-browser.ts` - The createDocBrowser implementation\n*/\n/*{\"pin\":\"bottom\",\"parent\":\"Appendices\"}*/\n\nimport {\n elements,\n vars,\n varDefault,\n bindings,\n touch,\n getListItem,\n debounce,\n tosi,\n StyleSheet,\n XinStyleSheet,\n} from 'tosijs'\nimport { buildSlugMap, pathForSlug, filenameForPath } from './doc-system/routing'\nimport { buildNavTree, NavNode } from './doc-system/nav-tree'\nimport { renderDocMarkdown } from './doc-system/render'\nimport { LiveExample, testManager } from './live-example'\nimport { TestResults } from './live-example/test-harness'\nimport { tosiSidenav, TosiSidenav } from './side-nav'\nimport { icons } from './icons'\nimport { tosiLocalized } from './localize'\nimport { popMenu } from './menu'\nimport { codeEditor, CodeEditor } from './code-editor'\nimport { tosiDiff } from './diff'\n\n// Types for global test results\nexport interface PageTestResults {\n passed: boolean\n tests: TestResults['tests']\n totalPassed: number\n totalFailed: number\n}\n\nexport interface DocTestResults {\n passed: number\n failed: number\n pages: Record<string, PageTestResults>\n}\n\ndeclare global {\n interface Window {\n __docTestResults?: Promise<DocTestResults>\n }\n}\n\nconst { div, span, a, header, button, template, input, h2, details, summary, ul, li } =\n elements\n\n// Test colors\nconst testColor = {\n pass: varDefault.testColorPass('#0a0'),\n fail: varDefault.testColorFail('#c00'),\n running: varDefault.testColorRunning('#fa0'),\n}\n\n// Test indicator styles - widget inherits button styles from base stylesheet\nconst testIndicatorStyleSpec: XinStyleSheet = {\n '.view-source': { opacity: '0.9' },\n '.view-source:hover': { opacity: '1' },\n '@keyframes test-pulse': {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.7' },\n },\n '@keyframes test-appear': {\n from: { opacity: '0', transform: 'scale(0.8)' },\n to: { opacity: '1', transform: 'scale(1)' },\n },\n '@keyframes test-fade': {\n '0%, 20%': { opacity: '1', transform: 'scale(1)' },\n '70%': { opacity: '1', transform: 'scale(1.1)' },\n '100%': { opacity: '0', transform: 'scale(0.9)', pointerEvents: 'none' },\n },\n\n // Hide when tests disabled\n 'body:not(.tests-enabled) .doc-link::after, body:not(.tests-enabled) .test-widget':\n {\n display: 'none !important',\n },\n\n // Nav link dot indicators\n '.doc-link.-test-passed::after, .doc-link.-test-failed::after': {\n content: \"''\",\n width: vars.fontSize50,\n height: vars.fontSize50,\n borderRadius: '50%',\n marginLeft: vars.spacing50,\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n '.doc-link.-test-passed::after': { background: testColor.pass },\n '.doc-link.-test-failed::after': {\n background: testColor.fail,\n animation: 'test-pulse 2s ease-in-out infinite',\n },\n\n // Floating widget - position and colors only, inherits button structure\n '.test-widget': {\n _testBg: testColor.running,\n position: 'fixed',\n bottom: vars.spacing,\n right: vars.spacing,\n zIndex: '1000',\n background: vars.testBg,\n color: 'white',\n gap: vars.spacing50,\n },\n '.test-widget[hidden]': { display: 'none' },\n '.test-widget.-running': {\n _testBg: testColor.running,\n animation:\n 'test-appear 0.3s ease-out, test-pulse 2s ease-in-out 0.3s infinite',\n },\n '.test-widget.-passed': {\n _testBg: testColor.pass,\n animation: 'test-fade 3s ease-out forwards',\n },\n '.test-widget.-failed': {\n _testBg: testColor.fail,\n animation: 'test-pulse 2s ease-in-out infinite',\n },\n\n // Count badge\n '.test-widget .count': {\n background: 'white',\n color: vars.testBg,\n borderRadius: '50%',\n width: vars.lineHeight,\n height: vars.lineHeight,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n },\n\n // Deep-linked example (e.g. arriving at /slug/#example-2): brief highlight pulse\n '@keyframes example-target-pulse': {\n from: { boxShadow: `0 0 0 3px ${varDefault.accent('#007aff')}` },\n to: { boxShadow: '0 0 0 3px transparent' },\n },\n '.example-target': {\n animation: 'example-target-pulse 1.5s ease-out',\n borderRadius: vars.roundedRadius,\n },\n}\n\nexport interface Doc {\n text: string\n title: string\n filename: string\n path: string\n pin?: string\n hidden?: boolean\n testStatus?: 'passed' | 'failed' | 'pending'\n}\n\nexport interface ProjectLinks {\n github?: string\n npm?: string\n discord?: string\n blog?: string\n tosijs?: string\n bundle?: string\n cdn?: string\n [key: string]: string | undefined\n}\n\n/** A configurable link for the header bar or the overflow menu. */\nexport interface LinkItem {\n href: string\n label: string\n /** optional icon name (from `icons`); falls back to the text label if unknown */\n icon?: string\n}\n\n/**\n * How the doc browser maps docs to URLs.\n * - 'query' (default, legacy): single-page app, links are `?filename`.\n * - 'path': clean per-page URLs (`/slug/`), for the static pre-rendered site\n * driven by <tosi-doc-system>. Requires a real page to exist at each path.\n * - 'memory': self-contained — navigation never touches window.history/location\n * and the instance ignores the page URL. For an embedded/nested browser (a\n * live demo, a floating help panel). Drive it via `initialRoute` +\n * `onRouteChange`, and the returned element's `.navigate(slug)` method.\n */\nexport type DocRoutingMode = 'query' | 'path' | 'memory'\n\nexport interface DocBrowserOptions {\n docs: Doc[]\n context?: Record<string, any>\n projectName?: string\n projectLinks?: ProjectLinks\n navSize?: number\n minSize?: number\n routing?: DocRoutingMode\n /**\n * Memory routing only: the slug to show first (instead of the page URL / first\n * doc). Lets a host mount the browser already pointed at a specific doc.\n */\n initialRoute?: string\n /**\n * Memory routing only: called with the current doc's slug whenever in-app\n * navigation happens, so a host can reflect it (e.g. to an attribute).\n */\n onRouteChange?: (slug: string) => void\n /**\n * Header-bar links. When provided, these replace the legacy `projectLinks` icon\n * set in the header (each renders as an icon if `icon` names a known icon, else\n * as its text label). `projectLinks` is still used for the logo and view-source.\n */\n navbarLinks?: LinkItem[]\n /**\n * Pre-rendered content for the landing doc to ADOPT in place (true hydration).\n * When provided, the current page's already-rendered markdown is left untouched\n * — only live examples are wired up — instead of being re-rendered from text.\n * Used by <tosi-doc-system>. Subsequent navigation renders from doc text.\n */\n contentElement?: HTMLElement\n}\n\nexport function createDocBrowser(options: DocBrowserOptions): HTMLElement {\n const {\n docs,\n context = {},\n projectName = '',\n projectLinks = {},\n navSize = 200,\n minSize = 600,\n routing = 'query',\n initialRoute,\n onRouteChange,\n navbarLinks,\n contentElement,\n } = options\n\n // Memory routing is fully self-contained: it never reads or writes\n // window.history/location, so an embedded or nested browser can't hijack the\n // host page's URL (or recurse into it).\n const memoryRouting = routing === 'memory'\n\n // Initialize testStatus on all docs so tosi can track it\n for (const doc of docs) {\n doc.testStatus = undefined\n }\n\n // Routing abstraction — keeps the legacy `?filename` SPA behavior the default,\n // while letting <tosi-doc-system> drive clean `/slug/` URLs off the same docs.\n // Both path and memory routing key off slugs; only legacy query routing doesn't.\n const slugMap = routing === 'query' ? {} : buildSlugMap(docs)\n const slugFor = (filename: string): string => slugMap[filename] ?? filename\n const filenameForSlug = (slug: string): string => {\n for (const d of docs) if (slugFor(d.filename) === slug) return d.filename\n return ''\n }\n const hrefFor = (filename: string): string =>\n routing === 'query' ? `?${filename}` : pathForSlug(slugFor(filename))\n const filenameFromLocation = (): string => {\n // Memory routing ignores the page URL entirely — it starts at initialRoute.\n if (memoryRouting) return initialRoute ? filenameForSlug(initialRoute) : ''\n return routing === 'path'\n ? filenameForPath(document.location.pathname, slugMap)\n : document.location.search !== ''\n ? document.location.search.substring(1).split('&')[0]\n : ''\n }\n\n // Resolve a content-link anchor to one of our docs' filenames, in either the\n // legacy `?filename` form or a clean `/slug/` path — or null for external\n // links, in-page anchors, mailto:, downloads, etc. Used to navigate internal\n // doc links client-side (via go()) instead of triggering a full page reload,\n // and to canonicalize their hrefs for the current routing mode.\n const docFilenameForHref = (anchor: HTMLAnchorElement): string | null => {\n const raw = anchor.getAttribute('href') || ''\n if (raw === '' || raw.startsWith('#')) return null\n let url: URL\n try {\n url = new URL(raw, document.location.href)\n } catch {\n return null\n }\n if (url.origin !== document.location.origin) return null // external\n const known = (filename: string): string | null =>\n docs.some((doc) => doc.filename === filename) ? filename : null\n // Legacy `?filename` form: a single bare filename, not a real query string.\n const query = url.search.replace(/^\\?/, '')\n if (query !== '' && !query.includes('=') && !query.includes('&')) {\n const filename = known(decodeURIComponent(query))\n if (filename) return filename\n }\n // Clean `/slug/` path form (only meaningful when slugs are in play).\n if (!memoryRouting && routing !== 'query') {\n const filename = known(filenameForPath(url.pathname, slugMap))\n if (filename) return filename\n }\n return null\n }\n\n const docName = filenameFromLocation() || docs[0]?.filename || 'README.md'\n\n const currentDoc = docs.find((doc) => doc.filename === docName) || docs[0]\n\n const { app } = tosi({\n app: {\n docs,\n currentDoc,\n compact: false,\n },\n })\n\n // Assigned by the hierarchical nav builder (path routing); re-applies current\n // highlight, test status, search visibility, and auto-open imperatively.\n // resetOpen=true collapses every section except the current doc's.\n let refreshNav: (resetOpen?: boolean) => void = () => {}\n\n // Test result tracking\n const pageTestResults: Record<string, PageTestResults> = {}\n let testResultsResolve: ((results: DocTestResults) => void) | undefined\n let backgroundTestsStarted = false\n let pagesWithTests = 0\n let pagesTested = 0\n\n // Set up global promise for scriptable browser integration. A memory-routed\n // (embedded) browser must not clobber the host page's global.\n if (!memoryRouting) {\n window.__docTestResults = new Promise((resolve) => {\n testResultsResolve = resolve\n })\n }\n\n const updateDocTestStatus = (filename: string) => {\n const results = pageTestResults[filename]\n // Callback receives bare object, return is proxy - cast to work with both\n const doc = (app.docs as unknown as Doc[]).find(\n (d) => d.filename === filename\n )\n if (doc) {\n doc.testStatus = results\n ? results.passed\n ? 'passed'\n : 'failed'\n : undefined\n }\n refreshNav()\n }\n\n const checkAllTestsComplete = () => {\n if (pagesTested >= pagesWithTests && testResultsResolve) {\n const allResults: DocTestResults = {\n passed: 0,\n failed: 0,\n pages: pageTestResults,\n }\n\n for (const pageResults of Object.values(pageTestResults)) {\n allResults.passed += pageResults.totalPassed\n allResults.failed += pageResults.totalFailed\n }\n\n testResultsResolve(allResults)\n testResultsResolve = undefined\n\n // Post results to dev server on localhost (not from test iframes)\n if (isLocalhost && !isTestFrame) {\n fetch('/report', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(allResults),\n }).catch(() => {\n // Ignore errors - server may not support this endpoint\n })\n }\n }\n }\n\n const isLocalhost =\n window.location.hostname === 'localhost' ||\n window.location.hostname === '127.0.0.1'\n\n const handleTestComplete = (event: CustomEvent) => {\n const { results } = event.detail as {\n results: TestResults\n element: LiveExample\n }\n const filename = String(app.currentDoc.filename)\n\n // Reset page results each time (don't accumulate across reloads)\n pageTestResults[filename] = {\n passed: results.failed === 0,\n tests: [...results.tests],\n totalPassed: results.passed,\n totalFailed: results.failed,\n }\n\n updateDocTestStatus(filename)\n }\n\n // Track when a page finishes loading all its tests\n const markPageTested = (_filename: string) => {\n pagesTested++\n checkAllTestsComplete()\n updateTestWidget()\n }\n\n bindings.docLink = {\n toDOM(elt, filename) {\n elt.setAttribute('href', hrefFor(filename))\n ;(elt as HTMLElement).dataset.filename = filename\n },\n }\n\n bindings.current = {\n toDOM(elt, currentFile) {\n elt.classList.toggle(\n 'current',\n currentFile === (elt as HTMLElement).dataset.filename\n )\n },\n }\n\n bindings.testStatus = {\n toDOM(elt, status) {\n elt.classList.remove('-test-passed', '-test-failed')\n if (status === 'passed') {\n elt.classList.add('-test-passed')\n } else if (status === 'failed') {\n elt.classList.add('-test-failed')\n }\n },\n }\n\n const filterDocs = debounce(() => {\n const needle = searchField.value.toLocaleLowerCase()\n app.docs.forEach((doc: any) => {\n doc.hidden =\n !doc.title.toLocaleLowerCase().includes(needle) &&\n !doc.text.toLocaleLowerCase().includes(needle)\n })\n touch(app.docs)\n // resetOpen: when the field is cleared this collapses back to the current\n // section; while typing, matching sections expand via the needle branch.\n refreshNav(true)\n })\n\n const searchField = input({\n slot: 'nav',\n placeholder: 'search',\n type: 'search',\n style: {\n width: 'calc(100% - 10px)',\n margin: '5px',\n },\n onInput: filterDocs,\n })\n\n // Memory routing is decoupled from the page URL, so it ignores browser\n // back/forward (the host owns history, if any).\n if (!memoryRouting) {\n window.addEventListener('popstate', () => {\n // Back/forward while the source editor is open with unsaved changes: the\n // URL already moved, so on \"keep editing\" we push it back to match the\n // still-open editor; on discard we close the editor and navigate.\n if (editUI) {\n if (\n editorHasUnsavedChanges() &&\n !window.confirm('Discard unsaved changes to the source?')\n ) {\n const href = hrefFor(String(editUI.doc.filename))\n window.history.pushState({ href }, '', href)\n return\n }\n closeEditor()\n }\n navigateTo(filenameFromLocation())\n })\n\n // Reload / tab-close / external navigation: native \"leave site?\" prompt when\n // there are unsaved source edits (the only guard the browser allows here).\n window.addEventListener('beforeunload', (event: BeforeUnloadEvent) => {\n if (editorHasUnsavedChanges()) {\n event.preventDefault()\n event.returnValue = ''\n }\n })\n }\n\n const headerContent: any[] = [\n button(\n {\n class: 'iconic',\n style: { color: vars.linkColor },\n title: 'navigation',\n bind: {\n value: app.compact,\n binding: {\n toDOM(element, compact) {\n element.style.display = compact ? '' : 'none'\n ;(element.nextSibling as HTMLElement).style.display = compact\n ? ''\n : 'none'\n },\n },\n },\n onClick() {\n const nav = document.querySelector(\n TosiSidenav.tagName!\n ) as TosiSidenav\n nav.contentVisible = !nav.contentVisible\n },\n },\n icons.menu()\n ),\n span({ style: { flex: '0 0 10px' } }),\n ]\n\n if (projectName) {\n headerContent.push(\n a(\n {\n href: '/',\n style: {\n display: 'flex',\n alignItems: 'center',\n borderBottom: 'none',\n },\n },\n projectLinks.tosijs\n ? icons.tosiUi({\n style: { _xinIconSize: 40, marginRight: 10 },\n })\n : span(),\n h2(projectName)\n )\n )\n }\n\n headerContent.push(span({ class: 'elastic' }))\n\n // A header link renders as an icon (if `icon` names a known icon) or its label.\n const headerLink = (link: LinkItem) => {\n const iconFactory = link.icon ? (icons as any)[link.icon] : undefined\n return a(\n {\n class: iconFactory ? 'iconic' : '',\n title: link.label,\n target: '_blank',\n href: link.href,\n },\n iconFactory ? iconFactory() : link.label\n )\n }\n\n if (navbarLinks) {\n // Configurable link set.\n navbarLinks.forEach((link) => headerContent.push(headerLink(link)))\n } else {\n // Legacy: derive header icons from the known `projectLinks` keys.\n const legacy: Array<[string | undefined, string, string]> = [\n [projectLinks.tosijs, 'tosi', 'tosijs'],\n [projectLinks.discord, 'discord', 'discord'],\n [projectLinks.blog, 'blog', 'blog'],\n [projectLinks.github, 'github', 'github'],\n [projectLinks.npm, 'npm', 'npmjs'],\n ]\n for (const [href, icon, label] of legacy) {\n if (href) headerContent.push(headerLink({ href, label, icon }))\n }\n }\n\n // The rendered-markdown content area. When hydrating a static page we ADOPT the\n // pre-rendered node so the landing page's HTML is never re-rendered; otherwise we\n // render from doc text. Every navigation funnels through navigateTo() -> showDoc().\n const docContent = contentElement || div()\n docContent.classList.add('doc-content')\n Object.assign(docContent.style, {\n display: 'block',\n maxWidth: '44em',\n margin: 'auto',\n padding: '0 1em',\n overflow: 'hidden',\n })\n\n // Adoption is zero-flash hydration of a statically pre-rendered page: it only\n // holds for the page's own path-routed instance, whose static `.doc-content`\n // matches the initial doc. A memory-routed embed's initial doc\n // (initialRoute/docs[0]) has no relation to whatever happens to sit inside the\n // host element (often an empty placeholder), so always render it fresh.\n // Canonicalize internal content links to the current routing mode's href and\n // tag them — so copy-link / right-click / no-JS land on the right page, and a\n // left-click can be short-circuited to client-side nav. Authored docs use the\n // routing-agnostic `?filename` form (the only one resolvable in every mode);\n // this rewrites them to `/slug/` on the static path-routed site, etc.\n const rewriteContentLinks = (): void => {\n for (const anchor of docContent.querySelectorAll('a')) {\n const filename = docFilenameForHref(anchor as HTMLAnchorElement)\n if (filename !== null) {\n anchor.setAttribute('href', hrefFor(filename))\n ;(anchor as HTMLElement).dataset.docLink = filename\n }\n }\n }\n\n // Deep-link to a specific live example: arriving at /slug/#example-2 (or a\n // custom ```js#my-id anchor) scrolls it into view with a brief highlight. The\n // example ids are set by insertExamples, so this runs after it. Skipped in\n // memory routing (which must never touch window.location).\n const scrollToHashExample = (): void => {\n if (memoryRouting) return\n const hash = location.hash.replace(/^#/, '')\n if (!hash) return\n requestAnimationFrame(() => {\n let el: Element | null = null\n try {\n el = docContent.querySelector(`#${CSS.escape(hash)}`)\n } catch {\n el = null\n }\n if (!el) return\n el.scrollIntoView({ block: 'center', behavior: 'smooth' })\n el.classList.add('example-target')\n setTimeout(() => el && el.classList.remove('example-target'), 1600)\n })\n }\n\n let adoptInitialContent = contentElement !== undefined && !memoryRouting\n const showDoc = (doc: Doc) => {\n if (adoptInitialContent) {\n adoptInitialContent = false // leave the pre-rendered HTML untouched\n } else {\n docContent.innerHTML = renderDocMarkdown(doc.text)\n }\n rewriteContentLinks()\n // Stamp each example with its source file (for the source↔doc map). doc.path\n // is the extracted file (.md, or a source file with doc comments).\n LiveExample.insertExamples(docContent, context, doc.path || undefined)\n scrollToHashExample()\n if (routing === 'path') {\n document.title = projectName\n ? `${doc.title} — ${projectName}`\n : doc.title\n }\n }\n // Always resolve to the RAW doc from the original array — docs reached via the\n // app.docs proxy expose BoxedScalar fields (doc.text), which break marked().\n const navigateTo = (filename: string) => {\n const doc = docs.find((d) => d.filename === filename) || docs[0]\n app.currentDoc = doc as any\n showDoc(doc)\n refreshNav(true)\n }\n\n // User-initiated navigation: record the new location (history for path/query,\n // the onRouteChange callback for memory) and then render the doc. Every nav\n // click funnels through here so memory mode never touches window.history.\n const go = (filename: string) => {\n // If the source editor is open with unsaved changes, confirm before leaving;\n // on confirm it discards + closes, otherwise navigation is aborted.\n if (!confirmLeaveEditor()) return\n if (memoryRouting) {\n onRouteChange?.(slugFor(filename))\n } else {\n const href = hrefFor(filename)\n window.history.pushState({ href }, '', href)\n }\n navigateTo(filename)\n }\n\n // Intercept clicks on internal doc links anywhere in the rendered content so\n // they navigate client-side instead of reloading the page. Plain left-clicks\n // only — modified clicks / middle-clicks / new-tab / download links fall\n // through to the browser. Works for both freshly-rendered and statically\n // pre-rendered (adopted) content, resolving the href at click time.\n docContent.addEventListener('click', (event: MouseEvent) => {\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey\n )\n return\n const anchor = (event.target as HTMLElement).closest(\n 'a'\n ) as HTMLAnchorElement | null\n if (!anchor || anchor.target === '_blank' || anchor.hasAttribute('download'))\n return\n const filename = docFilenameForHref(anchor)\n if (filename === null) return\n event.preventDefault()\n go(filename)\n })\n\n // ── Edit page source (Foundation B / #4) ──────────────────────────────────\n // The \"view source\" affordance opens a menu: edit the whole source file in a\n // code editor that fills the content area, preview the result in-browser, and\n // save (dev: write the repo file via /__docstore/source; the watcher rebuilds)\n // or download it. Source is read from the dev endpoint, falling back to GitHub\n // raw, so editing works on the deployed site too (save there = download).\n const editorModeFor = (p: string): string =>\n p.endsWith('.md')\n ? 'markdown'\n : p.endsWith('.css')\n ? 'css'\n : p.endsWith('.ts') || p.endsWith('.tjs')\n ? 'typescript'\n : 'javascript'\n\n // Pure mirror of docs.ts extraction: a .md *is* the markdown; a source file is\n // the concatenation of its doc-comment blocks. Lets us preview an edit in the\n // browser with no rebuild.\n const docMarkdownFromSource = (content: string, p: string): string => {\n if (p.endsWith('.md')) return content\n const blocks = content.match(/\\/\\*#[\\s\\S]+?\\*\\//g) || []\n return blocks.map((s) => s.substring(3, s.length - 2).trim()).join('\\n\\n')\n }\n\n const githubRawUrl = (p: string): string | null => {\n const gh = projectLinks.github\n if (!gh || !p) return null\n const m = gh.match(/github\\.com\\/([^/]+)\\/([^/]+?)(?:\\.git)?\\/?$/)\n return m ? `https://raw.githubusercontent.com/${m[1]}/${m[2]}/main/${p}` : null\n }\n\n const loadSource = async (p: string): Promise<string | null> => {\n try {\n const r = await fetch(`/__docstore/source?file=${encodeURIComponent(p)}`)\n if (r.ok) return await r.text()\n } catch {\n // dev endpoint not available — fall through to GitHub raw\n }\n const raw = githubRawUrl(p)\n if (raw) {\n try {\n const r = await fetch(raw)\n if (r.ok) return await r.text()\n } catch {\n // offline / no network\n }\n }\n return null\n }\n\n const saveSourceToDisk = async (p: string, content: string): Promise<boolean> => {\n try {\n const r = await fetch('/__docstore/source', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ file: p, content }),\n })\n return r.ok\n } catch {\n return false\n }\n }\n\n const downloadText = (filename: string, content: string): void => {\n const url = URL.createObjectURL(new Blob([content], { type: 'text/plain' }))\n const link = a({ href: url, download: filename }) as HTMLAnchorElement\n link.click()\n setTimeout(() => URL.revokeObjectURL(url), 1000)\n }\n\n let editUI: {\n editor: CodeEditor\n doc: Doc\n view: 'edit' | 'preview' | 'diff'\n // The source as loaded (and re-baselined on save) — compared against the\n // editor value to detect unsaved changes when navigating away.\n original: string\n } | null = null\n\n const editorHasUnsavedChanges = (): boolean =>\n editUI !== null && editUI.editor.value !== editUI.original\n\n // Tear the editor down without re-rendering the current doc (the caller is\n // about to navigate). exitEditSource() restores the current doc instead.\n const closeEditor = (): void => {\n if (!editUI) return\n editUI.editor.remove()\n editUI = null\n docContent.style.display = ''\n }\n\n // Called before in-app navigation: if the editor is open with unsaved changes,\n // confirm discarding them. Returns false to abort navigation.\n const confirmLeaveEditor = (): boolean => {\n if (!editUI) return true\n if (\n editorHasUnsavedChanges() &&\n !window.confirm('Discard unsaved changes to the source?')\n ) {\n return false\n }\n closeEditor()\n return true\n }\n\n // Switch the source editor between the raw editor, the rendered preview, and a\n // diff of the edits against the loaded original. preview/diff render into the\n // doc-content area; edit shows the CodeEditor.\n const setSourceView = (view: 'edit' | 'preview' | 'diff'): void => {\n if (!editUI) return\n editUI.view = view\n if (view === 'preview') {\n docContent.innerHTML = renderDocMarkdown(\n docMarkdownFromSource(editUI.editor.value, editUI.doc.path)\n )\n rewriteContentLinks()\n LiveExample.insertExamples(docContent, context, editUI.doc.path || undefined)\n } else if (view === 'diff') {\n docContent.replaceChildren(\n tosiDiff({\n original: editUI.original,\n modified: editUI.editor.value,\n style: { display: 'block', width: '100%', height: '100%' },\n })\n )\n }\n docContent.style.display = view === 'edit' ? 'none' : ''\n editUI.editor.style.display = view === 'edit' ? 'block' : 'none'\n }\n\n const exitEditSource = (): void => {\n if (!editUI) return\n const filename = String(app.currentDoc.filename)\n closeEditor()\n navigateTo(filename) // restore the canonical rendered doc\n }\n\n const saveSourceEdit = async (): Promise<void> => {\n if (!editUI) return\n const { doc, editor } = editUI\n const ok = await saveSourceToDisk(doc.path, editor.value)\n if (ok) {\n editUI.original = editor.value // saved — this is the new clean baseline\n setSourceView('preview') // the watcher also rebuilds in the background\n } else {\n // No write endpoint (deployed site) — hand the file back for the repo.\n downloadText(doc.path.split('/').pop() || 'source.txt', editor.value)\n }\n }\n\n const enterEditSource = async (doc: Doc): Promise<void> => {\n if (editUI) return\n const content = await loadSource(doc.path)\n if (content === null) {\n window.alert(`Could not load source for ${doc.path}`)\n return\n }\n const editor = codeEditor({ mode: editorModeFor(doc.path) }) as CodeEditor\n // No toolbar — the Source menu carries the edit controls (it adapts while\n // editing), so the editor fills the whole content area.\n editor.style.cssText = 'display:block; width:100%; height:100%; border:none;'\n editor.value = content\n const container = docContent.parentElement as HTMLElement\n container.append(editor)\n editUI = { editor, doc, view: 'edit', original: content }\n setSourceView('edit')\n }\n\n const openSourceMenu = (target: HTMLElement): void => {\n const doc = docs.find(\n (d) => String(d.filename) === String(app.currentDoc.filename)\n )\n if (!doc) return\n const fileName = (path: string) => path.split('/').pop() || path\n\n // While editing, the Source menu becomes the editor's controls (no separate\n // toolbar). Otherwise it offers entry points: edit, view on GitHub, download.\n const menuItems = editUI\n ? [\n ...(editUI.view !== 'edit'\n ? [{ caption: 'Edit', icon: 'edit', action: () => setSourceView('edit') }]\n : []),\n ...(editUI.view !== 'preview'\n ? [{ caption: 'Preview', icon: 'eye', action: () => setSourceView('preview') }]\n : []),\n {\n caption: 'View changes',\n icon: 'code',\n action: () => setSourceView('diff'),\n enabled: () => editorHasUnsavedChanges(),\n },\n null,\n { caption: 'Save to source', icon: 'save', action: () => void saveSourceEdit() },\n {\n caption: 'Download',\n icon: 'download',\n action: () => downloadText(fileName(editUI!.doc.path), editUI!.editor.value),\n },\n null,\n { caption: 'Close editor', icon: 'x', action: exitEditSource },\n ]\n : [\n { caption: 'Edit page source', icon: 'edit', action: () => void enterEditSource(doc) },\n ...(projectLinks.github && doc.path && doc.path !== 'README.md'\n ? [\n {\n caption: 'View on GitHub',\n icon: 'github',\n action: () => {\n window.open(`${projectLinks.github}/blob/main/${doc.path}`, '_blank')\n },\n },\n ]\n : []),\n {\n caption: 'Download source',\n icon: 'download',\n action: () =>\n void loadSource(doc.path).then((c) => {\n if (c !== null) downloadText(fileName(doc.path), c)\n }),\n },\n ]\n\n popMenu({\n target,\n // The trigger is position:fixed at the top-right; `auto` placement opens\n // upward into zero space and collapses the menu, so open below-left.\n position: 'sw',\n menuItems,\n })\n }\n\n // ── Hierarchical nav (path routing) ───────────────────────────────────────\n // Build nested <details> from the doc tree; current-highlight, test status,\n // search visibility, and auto-open are applied imperatively by refreshNav.\n const navStyle = {\n slot: 'nav',\n // .doc-nav so the shared nav CSS (list reset, indentation) matches the\n // runtime nav too, not just the static pre-rendered <nav class=\"doc-nav\">.\n class: 'doc-nav',\n style: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n height: 'calc(100% - 44px)',\n overflowY: 'scroll',\n },\n }\n\n const buildHierarchicalNav = (): HTMLElement => {\n const roots = buildNavTree(docs as any, slugMap)\n const leaves = new Map<string, { li: HTMLElement; link: HTMLElement }>()\n const branches: {\n li: HTMLElement\n el: HTMLDetailsElement\n link: HTMLElement\n filename: string\n subtree: string[]\n }[] = []\n\n const subtreeFilenames = (node: NavNode<any>): string[] => {\n const out = [node.doc.filename]\n for (const c of node.children) out.push(...subtreeFilenames(c))\n return out\n }\n\n const navClick = (doc: Doc) => (event: Event) => {\n // Use the href from the closure, not the event — the click can land on a\n // child of the <a> (the localized label), so event.currentTarget/target\n // isn't reliably the anchor.\n const nav = (event.target as HTMLElement).closest(\n 'tosi-sidenav'\n ) as TosiSidenav | null\n if (nav) nav.contentVisible = true\n go(String(doc.filename))\n event.preventDefault()\n const results = pageTestResults[doc.filename]\n if (results && !results.passed) {\n setTimeout(() => {\n const failed = document.querySelector('tosi-example.-test-failed')\n if (failed)\n failed.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }, 100)\n }\n }\n\n const renderNode = (node: NavNode<any>): HTMLElement => {\n const link = a(\n {\n class: 'doc-link',\n href: hrefFor(node.doc.filename),\n onClick: navClick(node.doc),\n },\n tosiLocalized(node.doc.title)\n )\n if (node.children.length === 0) {\n const item = li(link)\n leaves.set(node.doc.filename, { li: item, link })\n return item\n }\n const det = details(\n summary(link),\n ul(...node.children.map(renderNode))\n ) as HTMLDetailsElement\n const item = li(det)\n branches.push({\n li: item,\n el: det,\n link,\n filename: node.doc.filename,\n subtree: subtreeFilenames(node),\n })\n return item\n }\n\n const root = div(navStyle, ul(...roots.map(renderNode)))\n\n // Search is computed straight from the raw docs (plain strings) — going\n // through app.docs gives BoxedScalars / unreliable write-through.\n const matchesSearch = (filename: string, needle: string): boolean => {\n if (!needle) return true\n const doc = docs.find((d) => d.filename === filename) as any\n return (\n !!doc &&\n (String(doc.title).toLocaleLowerCase().includes(needle) ||\n String(doc.text).toLocaleLowerCase().includes(needle))\n )\n }\n const applyStatus = (link: HTMLElement, filename: string, current: string) => {\n link.classList.toggle('current', filename === current)\n const r = pageTestResults[filename]\n link.classList.toggle('-test-passed', !!r && r.passed)\n link.classList.toggle('-test-failed', !!r && !r.passed)\n }\n\n refreshNav = (resetOpen = false) => {\n // app.currentDoc.filename is a BoxedScalar; coerce so === / includes work.\n const cur = app.currentDoc as any\n const current = cur && cur.filename != null ? String(cur.filename) : ''\n const needle = searchField.value.trim().toLocaleLowerCase()\n\n // Use inline display (not the [hidden] attr): an author `display` rule on\n // .doc-nav li would override [hidden]'s display:none.\n for (const [filename, { li: item, link }] of leaves) {\n item.style.display = matchesSearch(filename, needle) ? '' : 'none'\n applyStatus(link, filename, current)\n }\n for (const { li: item, el, link, filename, subtree } of branches) {\n // Visible if the section name matches, or any descendant leaf is shown.\n const visible =\n matchesSearch(filename, needle) ||\n subtree.some(\n (fn) => leaves.has(fn) && leaves.get(fn)!.li.style.display !== 'none'\n )\n item.style.display = visible ? '' : 'none'\n applyStatus(link, filename, current)\n // While searching, expand sections with matches. On navigation/clear\n // (resetOpen), collapse everything except the current doc's section.\n // Otherwise (e.g. test-status refresh) leave user toggles alone.\n if (needle) el.open = visible\n else if (resetOpen) el.open = subtree.includes(current)\n else if (subtree.includes(current)) el.open = true\n }\n }\n refreshNav(true)\n return root\n }\n\n const navContent =\n routing !== 'query'\n ? buildHierarchicalNav()\n : div(\n {\n ...navStyle,\n bindList: {\n idPath: 'filename',\n hiddenProp: 'hidden',\n value: app.docs,\n },\n },\n template(\n a(\n {\n class: 'doc-link',\n bindCurrent: 'app.currentDoc.filename',\n bindDocLink: '^.filename',\n bindTestStatus: '^.testStatus',\n onClick(event: Event) {\n const doc = getListItem(event.target as HTMLElement)\n const nav = (event.target as HTMLElement).closest(\n 'tosi-sidenav'\n ) as TosiSidenav\n nav.contentVisible = true\n go(String((doc as Doc).filename))\n event.preventDefault()\n },\n },\n tosiLocalized({ bindText: '^.title' })\n )\n )\n )\n\n const container = div(\n {\n style: {\n display: 'flex',\n flexDirection: 'column',\n maxWidth: '100vw',\n height: '100vh',\n overflow: 'hidden',\n },\n },\n header(...headerContent),\n tosiSidenav(\n {\n name: 'Documentation',\n navSize,\n minSize,\n style: {\n flex: '1 1 auto',\n overflow: 'hidden',\n },\n onChange() {\n const nav = document.querySelector(\n TosiSidenav.tagName!\n ) as TosiSidenav\n app.compact = nav.compact as any\n },\n },\n searchField,\n navContent,\n div(\n {\n style: {\n position: 'relative',\n overflowY: 'scroll',\n height: '100%',\n },\n },\n button(\n {\n class: 'view-source',\n style: {\n display: 'flex',\n alignItems: 'center',\n gap: '6px',\n position: 'fixed',\n top: 'calc(var(--xin-header-height, 60px) + 5px)',\n right: '5px',\n // Above the code editor (which fills the content area); below the\n // popped menu (z 1002).\n zIndex: '100',\n fontSize: '0.875em',\n color: 'var(--brand-color, inherit)',\n // Solid, theme-aware chip so it stays legible over the editor.\n background: 'var(--background, white)',\n border: 'none',\n borderRadius: '4px',\n padding: '3px 8px',\n boxShadow: '0 1px 4px #0003',\n cursor: 'pointer',\n transition: 'opacity 0.2s ease',\n },\n // Opacity + :hover live in CSS (.view-source) — a JS hover handler\n // here would fade the delegation root (the whole page), not the button.\n onClick(event: Event) {\n // tosijs delegates clicks, so event.currentTarget is the delegation\n // root, not the button — resolve the real trigger for menu anchoring.\n const btn = (event.target as HTMLElement).closest(\n '.view-source'\n ) as HTMLElement | null\n if (btn) openSourceMenu(btn)\n },\n bind: {\n value: app.currentDoc,\n binding(element: HTMLButtonElement, doc: Doc) {\n // Show when there's a source file to edit/view (any doc with a\n // path); the menu handles dev-vs-GitHub availability per item.\n element.style.display = doc.path ? 'flex' : 'none'\n },\n },\n },\n icons.code({ style: { _xinIconSize: 16 } }),\n 'Source'\n ),\n docContent\n )\n )\n )\n\n // Render the landing doc (adopts pre-rendered HTML when hydrating).\n showDoc(currentDoc)\n\n // Inject test indicator styles\n StyleSheet('test-indicators', testIndicatorStyleSpec)\n\n // Floating widget for test status\n const testWidget = button(\n {\n class: 'test-widget',\n hidden: true,\n onClick: showTestMenu,\n },\n span({ part: 'label' }, 'Tests'),\n span({ class: 'count', part: 'count' }, '0')\n )\n container.appendChild(testWidget)\n\n let testsRunning = false\n\n function setTestWidgetRunning() {\n testsRunning = true\n testWidget.hidden = false\n testWidget.classList.remove('-passed', '-failed')\n testWidget.classList.add('-running')\n updateTestWidgetDisplay()\n }\n\n function updateTestWidgetDisplay() {\n const labelEl = testWidget.querySelector('[part=\"label\"]')\n const countEl = testWidget.querySelector('[part=\"count\"]')\n\n const totalPassed = Object.values(pageTestResults).reduce(\n (sum, r) => sum + r.totalPassed,\n 0\n )\n const totalFailed = Object.values(pageTestResults).reduce(\n (sum, r) => sum + r.totalFailed,\n 0\n )\n\n if (labelEl) {\n if (testsRunning) {\n labelEl.textContent = 'Running'\n } else if (totalFailed > 0) {\n labelEl.textContent = 'Failed'\n } else if (totalPassed > 0) {\n labelEl.textContent = 'Passed'\n } else {\n labelEl.textContent = 'Tests'\n }\n }\n if (countEl) {\n countEl.textContent =\n totalFailed > 0 ? String(totalFailed) : String(totalPassed)\n }\n }\n\n function updateTestWidget() {\n const totalFailed = Object.values(pageTestResults).reduce(\n (sum, r) => sum + r.totalFailed,\n 0\n )\n\n if (testsRunning && pagesTested >= pagesWithTests) {\n // Tests complete\n testsRunning = false\n testWidget.classList.remove('-running')\n if (totalFailed > 0) {\n testWidget.classList.add('-failed')\n testWidget.classList.remove('-passed')\n testWidget.hidden = false\n } else {\n testWidget.classList.add('-passed')\n testWidget.classList.remove('-failed')\n testWidget.hidden = false // Show briefly before fade\n }\n }\n\n updateTestWidgetDisplay()\n }\n\n function showTestMenu() {\n const failedPages = Object.entries(pageTestResults).filter(\n ([, results]) => !results.passed\n )\n\n const menuItems: any[] = []\n\n for (const [filename, results] of failedPages) {\n const doc = docs.find((d) => d.filename === filename)\n const failedTests = results.tests.filter((t) => !t.passed)\n\n for (const test of failedTests) {\n menuItems.push({\n caption: `${doc?.title || filename}: ${test.name}`,\n action: () => {\n // Navigate to the page\n const docObj = app.docs.find(\n (d: any) => String(d.filename) === filename\n )\n if (docObj) {\n go(filename)\n // Scroll to failing test after render\n setTimeout(() => {\n const failedExample = document.querySelector(\n 'tosi-example.-test-failed'\n )\n if (failedExample) {\n failedExample.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }, 100)\n }\n },\n })\n }\n }\n\n if (menuItems.length > 0) {\n menuItems.push(null) // separator\n }\n\n menuItems.push({\n icon: 'copy',\n caption: 'Copy test results to clipboard',\n action: () => {\n const report = generateTestReport()\n navigator.clipboard.writeText(report)\n },\n })\n\n popMenu({\n target: testWidget,\n menuItems,\n })\n }\n\n function generateTestReport(): string {\n const lines: string[] = ['# Test Results', '']\n let totalPassed = 0\n let totalFailed = 0\n\n for (const [filename, results] of Object.entries(pageTestResults)) {\n const doc = docs.find((d) => d.filename === filename)\n const title = doc?.title || filename\n\n totalPassed += results.totalPassed\n totalFailed += results.totalFailed\n\n if (results.tests.length > 0) {\n lines.push(`## ${title}`)\n lines.push('')\n for (const test of results.tests) {\n const icon = test.passed ? '✓' : '✗'\n const line = test.error\n ? `- ${icon} ${test.name}: ${test.error}`\n : `- ${icon} ${test.name}`\n lines.push(line)\n }\n lines.push('')\n }\n }\n\n lines.unshift(\n `**Summary: ${totalPassed} passed, ${totalFailed} failed**`,\n ''\n )\n\n return lines.join('\\n')\n }\n\n // Detect if running as background test iframe (never for an embedded browser —\n // it shares the host page's URL but isn't the test target).\n const searchParams = new URLSearchParams(window.location.search)\n const isTestFrame = !memoryRouting && searchParams.get('_testMode') === '1'\n const testFrameFilename = isTestFrame ? filenameFromLocation() : null\n\n // Listen for test completion events\n container.addEventListener('testcomplete', ((event: CustomEvent) => {\n handleTestComplete(event)\n updateTestWidget()\n\n // If running in test iframe, post results to parent\n if (isTestFrame && window.parent !== window && testFrameFilename) {\n const { results } = event.detail as { results: TestResults }\n window.parent.postMessage(\n { type: 'tosi-test-results', filename: testFrameFilename, results },\n '*'\n )\n }\n }) as EventListener)\n\n // If running as test iframe, signal when all tests on this page are done\n if (isTestFrame && testFrameFilename) {\n const signalDone = () => {\n const examples = container.querySelectorAll('tosi-example')\n const withTests = [...examples].filter((ex) =>\n ex.classList.contains('-has-tests')\n )\n const running = withTests.filter((ex) =>\n ex.classList.contains('-test-running')\n )\n if (withTests.length > 0 && running.length === 0) {\n window.parent.postMessage(\n { type: 'tosi-tests-done', filename: testFrameFilename },\n '*'\n )\n } else {\n setTimeout(signalDone, 100)\n }\n }\n // Give time for examples to start running\n setTimeout(signalDone, 500)\n }\n\n // Background test runner for all doc pages\n const runBackgroundTests = async () => {\n if (backgroundTestsStarted) return\n if (!testManager.enabled.value) return\n if (isTestFrame) return // Don't run background tests in test iframe\n backgroundTestsStarted = true\n\n // Find all docs that have test blocks\n const docsWithTests = docs.filter((doc) => doc.text.includes('```test'))\n pagesWithTests = docsWithTests.length\n\n if (pagesWithTests > 0) {\n setTestWidgetRunning()\n }\n\n if (pagesWithTests === 0) {\n if (testResultsResolve) {\n testResultsResolve({ passed: 0, failed: 0, pages: {} })\n testResultsResolve = undefined\n }\n return\n }\n\n const currentFilename = String(app.currentDoc.filename)\n\n // Create a hidden iframe that loads the full page. Keep its real 800x600\n // layout size (layout-dependent example tests need it) but park it\n // off-screen rather than rely on opacity:0 over the visible page — Chromium\n // (and haltija on top of it) still composites a 0-opacity layer at 0,0,\n // which flashes as the frame navigates page to page.\n const testFrame = document.createElement('iframe')\n testFrame.style.cssText =\n 'position: fixed; left: -10000px; top: 0; width: 800px; height: 600px; opacity: 0; pointer-events: none;'\n document.body.appendChild(testFrame)\n\n // Listen for test results posted from the iframe\n const messageHandler = (event: MessageEvent) => {\n if (event.data?.type !== 'tosi-test-results') return\n const { filename, results } = event.data as {\n type: string\n filename: string\n results: TestResults\n }\n if (!pageTestResults[filename]) {\n pageTestResults[filename] = {\n passed: true,\n tests: [],\n totalPassed: 0,\n totalFailed: 0,\n }\n }\n const pageResults = pageTestResults[filename]\n pageResults.tests.push(...results.tests)\n pageResults.totalPassed += results.passed\n pageResults.totalFailed += results.failed\n pageResults.passed = pageResults.totalFailed === 0\n updateDocTestStatus(filename)\n updateTestWidget()\n }\n window.addEventListener('message', messageHandler)\n\n for (const doc of docsWithTests) {\n // Skip current page — it runs tests naturally\n if (doc.filename === currentFilename) continue\n\n // Navigate iframe to the page\n testFrame.src =\n routing === 'path'\n ? `${window.location.origin}${hrefFor(doc.filename)}?_testMode=1`\n : `${window.location.origin}${window.location.pathname}?${doc.filename}&_testMode=1`\n\n // Wait for the iframe to signal it's done (max 30s per page)\n await new Promise<void>((resolve) => {\n const deadline = Date.now() + 30_000\n const onDone = (event: MessageEvent) => {\n if (\n event.data?.type === 'tosi-tests-done' &&\n event.data.filename === doc.filename\n ) {\n window.removeEventListener('message', onDone)\n resolve()\n }\n }\n window.addEventListener('message', onDone)\n setTimeout(() => {\n window.removeEventListener('message', onDone)\n resolve()\n }, deadline - Date.now())\n })\n\n markPageTested(doc.filename)\n }\n\n // Clean up\n window.removeEventListener('message', messageHandler)\n testFrame.remove()\n\n // Mark current page as tested if it has tests\n if (docsWithTests.some((d) => d.filename === currentFilename)) {\n setTimeout(() => markPageTested(currentFilename), 1000)\n }\n }\n\n // Run background tests when enabled (initially or when toggled on)\n const startBackgroundTests = () => {\n if (!testManager.enabled.value) return\n if (isLocalhost) {\n setTimeout(runBackgroundTests, 1000)\n } else {\n const currentHasTests = currentDoc.text.includes('```test')\n if (currentHasTests) {\n pagesWithTests = 1\n setTestWidgetRunning()\n setTimeout(() => markPageTested(currentDoc.filename), 2000)\n } else if (testResultsResolve) {\n testResultsResolve({ passed: 0, failed: 0, pages: {} })\n testResultsResolve = undefined\n }\n }\n }\n\n // Start now if enabled, and watch for toggle. A memory-routed (embedded)\n // browser never spawns the test-runner iframes (they'd navigate the host site).\n if (!memoryRouting) {\n startBackgroundTests()\n testManager.enabled.observe(startBackgroundTests)\n }\n\n // Memory routing: let the host drive navigation programmatically (by slug) and\n // read the current slug back, so the browser can live in a floating panel etc.\n if (memoryRouting) {\n ;(container as any).navigate = (slug: string) =>\n navigateTo(filenameForSlug(slug) || slug)\n Object.defineProperty(container, 'currentSlug', {\n get: () => slugFor(String(app.currentDoc.filename)),\n })\n }\n\n return container as HTMLElement\n}\n",
|
|
43
43
|
"/*\nShared, browser-safe assembly of the whole doc corpus into one printable HTML\n\"book\": a title page, a generated table of contents, then every doc as a chapter\nthat starts on a new page. Used by the client-side **Print** button in the\ndoc-browser (the user's browser prints it to PDF) and by the headless PDF builder\n(site/pdf.ts). Pure rendering — no fs, no Node-only APIs — so it bundles into the\niife. Live examples are pretty-printed, force-wrapped code listings, not executed.\n*/\n\nimport { renderDocMarkdown } from './render'\nimport { buildSlugMap } from './routing'\nimport { buildNavTree, NavNode, NavDoc } from './nav-tree'\n\nexport interface BookDoc {\n filename: string\n title: string\n text: string\n parent?: string\n hidden?: boolean\n}\n\n// Clean book typography; force-wraps code so listings never overflow a page.\nexport const DEFAULT_BOOK_CSS = `/* doc-system book stylesheet */\nhtml { font-size: 100%; }\nbody {\n font-family: Georgia, 'Times New Roman', serif;\n line-height: 1.5;\n margin: 0 1em;\n color: #1a1a1a;\n}\nh1, h2, h3, h4, h5, h6 {\n font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;\n line-height: 1.2;\n margin: 1.4em 0 0.5em;\n}\nh1 { font-size: 1.8em; }\nh2 { font-size: 1.4em; }\nh3 { font-size: 1.2em; }\np { margin: 0.6em 0; }\na { color: #08c; text-decoration: none; }\nul, ol { margin: 0.6em 0; padding-left: 1.4em; }\nblockquote {\n margin: 0.8em 0;\n padding: 0 0 0 1em;\n border-left: 3px solid #ccc;\n color: #555;\n}\nimg { max-width: 100%; height: auto; }\ntable { border-collapse: collapse; margin: 0.8em 0; font-size: 0.85em; }\nth, td { border: 1px solid #ccc; padding: 0.3em 0.6em; text-align: left; }\ncode, pre {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 0.8em;\n}\n:not(pre) > code {\n background: #f3f3f3;\n padding: 0.1em 0.3em;\n border-radius: 3px;\n}\npre {\n background: #f6f8fa;\n border: 1px solid #e1e4e8;\n border-radius: 4px;\n padding: 0.7em 0.9em;\n margin: 0.8em 0;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\npre code { background: none; padding: 0; }\n/* the in-flow Contents page (ePub spine TOC) */\n.toc-title { text-align: center; }\nol.toc, ol.toc ol { list-style: none; padding-left: 0; }\nol.toc ol { padding-left: 1.2em; }\nol.toc li { margin: 0.3em 0; }\nol.toc > li > a { font-weight: bold; }\n/* per-example \"run this live\" deep link */\n.example-live-link { margin: 0.6em 0 0; font-size: 0.85em; }\n.example-live-link a { color: #08c; font-weight: bold; }\n`\n\n// Print-only layout: page margins, a chapter per page, an avoid-break TOC.\nexport const PRINT_CSS = `\n@page { margin: 18mm 16mm; }\n.book-title { text-align: center; margin: 30vh 0 1em; }\n.book-toc { page-break-after: always; }\n.book-toc h2 { page-break-before: avoid; }\n.book-toc ol { list-style: none; padding-left: 0; }\n.book-toc ol ol { padding-left: 1.2em; }\n.book-toc a { color: inherit; }\n.chapter { page-break-before: always; }\n`\n\nexport function escapeHtml(s: string): string {\n return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')\n}\n\nexport function slugify(s: string): string {\n return s.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '')\n}\n\n/** Drop the `<!--{ … }-->` metadata directives the extractor leaves in the text. */\nexport function stripDocMeta(text: string): string {\n return text.replace(/<!--\\{[\\s\\S]*?\\}-->\\s*/g, '')\n}\n\n/** Flatten a nav-tree depth-first into reading order. */\nexport function flatten<T extends NavDoc>(nodes: NavNode<T>[]): NavNode<T>[] {\n const out: NavNode<T>[] = []\n for (const node of nodes) {\n out.push(node)\n out.push(...flatten(node.children))\n }\n return out\n}\n\nfunction tocHtml(nodes: NavNode<BookDoc>[]): string {\n return nodes\n .map(\n (node) =>\n `<li><a href=\"#${slugify(node.doc.filename)}\">${escapeHtml(\n node.doc.title\n )}</a>${node.children.length ? `<ol>${tocHtml(node.children)}</ol>` : ''}</li>`\n )\n .join('')\n}\n\nexport interface BookHtmlOptions {\n title: string\n /** full stylesheet (defaults to DEFAULT_BOOK_CSS + PRINT_CSS) */\n css?: string\n lang?: string\n /** inject a script that opens the print dialog once the page has loaded */\n autoPrint?: boolean\n}\n\n/** Assemble the whole corpus into one self-contained printable HTML document. */\nexport function buildBookHtml(docs: BookDoc[], opts: BookHtmlOptions): string {\n const visible = docs.filter((d) => !d.hidden)\n const slugMap = buildSlugMap(visible)\n const roots = buildNavTree(visible, slugMap)\n const css = opts.css ?? `${DEFAULT_BOOK_CSS}\\n${PRINT_CSS}`\n\n const chapters = flatten(roots)\n .map(\n (node) =>\n `<section class=\"chapter\" id=\"${slugify(node.doc.filename)}\">\\n${renderDocMarkdown(\n stripDocMeta(node.doc.text)\n )}\\n</section>`\n )\n .join('\\n')\n\n return `<!DOCTYPE html>\n<html lang=\"${opts.lang ?? 'en'}\">\n<head>\n<meta charset=\"utf-8\"/>\n<title>${escapeHtml(opts.title)}</title>\n<style>${css}</style>\n</head>\n<body>\n<h1 class=\"book-title\">${escapeHtml(opts.title)}</h1>\n<nav class=\"book-toc\"><h2>Contents</h2><ol>${tocHtml(roots)}</ol></nav>\n${chapters}\n${opts.autoPrint ? '<script>addEventListener(\"load\",function(){setTimeout(function(){print()},300)})</script>' : ''}\n</body>\n</html>`\n}\n",
|
|
@@ -63,11 +63,11 @@
|
|
|
63
63
|
"import { Component as WebComponent, ElementCreator, elements } from 'tosijs'\n\nconst { slot } = elements\n\n/*#\n# size-break\n\nWhile we wait for enough browsers to implement [container-queries](https://www.w3.org/TR/css-contain-3/),\nand in any event when you simply want to do different things at different sizes (e.g. in the project I'm\nworking on right now, a row of buttons turns into a menu at narrow widths) there's `<tosi-sizebreak>`.\n\nNote that the sizes referred to are of the `<tosi-sizebreak>`'s `.offsetParent`, and it watches for\nthe window's `resize` events and its own (via `ResizeObserver`).\n\n```html\n<div class=\"container\">\n <tosi-sizebreak min-width=\"300\" min-height=\"150\">\n <h1>BIG!</h1>\n <i slot=\"small\">little</i>\n </tosi-sizebreak>\n <tosi-sizer></tosi-sizer>\n</div>\n```\n```css\n.preview {\n touch-action: none;\n}\n\n.preview tosi-sizebreak {\n width: 100%;\n height: 100%;\n background: #fff8;\n border: 1px solid #aaa;\n}\n\n.preview tosi-sizebreak * {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.preview .container {\n position: relative;\n min-width: 100px;\n min-height: 40px;\n max-height: 100%;\n width: 400px;\n height: 100px;\n}\n\n.preview .sizer {\n position: absolute;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n background: #0002;\n bottom: 0;\n right: 0;\n cursor: nwse-resize;\n opacity: 0.5;\n}\n\n.preview .sizer:hover {\n opacity: 1.0;\n}\n```\n\n`<tosi-sizebreak>` supports both `min-width` and/or `min-height`, and you can of course target only one\nof the slots if you like. The demo site uses them to hide the\n[jsdelivr](https://www.jsdelivr.com/) badge when space is tight.\n*/\n\n/*{ \"parent\": \"Components\" }*/\n\nexport class SizeBreak extends WebComponent {\n static preferredTagName = 'tosi-sizebreak'\n\n static initAttributes = {\n minWidth: 0,\n minHeight: 0,\n }\n\n value: 'normal' | 'small' = 'normal'\n\n content = [slot({ part: 'normal' }), slot({ part: 'small', name: 'small' })]\n\n static shadowStyleSpec = {\n ':host': {\n display: 'inline-block',\n position: 'relative',\n },\n }\n\n onResize = () => {\n const { normal, small } = this.parts as { [key: string]: HTMLElement }\n const parent = this.offsetParent as HTMLElement | null\n if (!(parent instanceof HTMLElement)) {\n return\n } else if (\n parent.offsetWidth < this.minWidth ||\n parent.offsetHeight < this.minHeight\n ) {\n normal.hidden = true\n small.hidden = false\n this.value = 'small'\n } else {\n normal.hidden = false\n small.hidden = true\n this.value = 'normal'\n }\n }\n\n // TODO trigger a resize event when an ancestor element\n // is inserted or moved into the DOM.\n connectedCallback(): void {\n super.connectedCallback()\n globalThis.addEventListener('resize', this.onResize)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n globalThis.removeEventListener('resize', this.onResize)\n }\n}\n\nexport const sizeBreak = SizeBreak.elementCreator() as ElementCreator<SizeBreak>\n",
|
|
64
64
|
"/*#\n# sizer\n\nThis is a super-simple component that you can put in a fixed size element allowing it to be resized\nfrom the bottom-right.\n\n```html\n<div>\n <tosi-sizer></tosi-sizer>\n</div>\n```\n```css\n.preview div {\n position: absolute;\n top: 10px;\n left: 10px;\n width: 200px;\n height: 100px;\n background: #ff02;\n border: 1px solid #555;\n}\n```\n\n<tosi-css-var-editor element-selector=\"tosi-sizer\"></tosi-css-var-editor>\n*/\n\n/*{ \"parent\": \"Components\" }*/\n\nimport { Component as XinComponent, ElementCreator, vars } from 'tosijs'\nimport { icons } from './icons'\nimport { trackDrag } from './track-drag'\n\nexport class TosiSizer extends XinComponent {\n static preferredTagName = 'tosi-sizer'\n target?: HTMLElement | null = null\n\n static shadowStyleSpec = {\n ':host': {\n _resizeIconFill: '#222',\n display: 'block',\n position: 'absolute',\n bottom: -7,\n right: -7,\n padding: 14,\n width: 44,\n height: 44,\n opacity: 0.25,\n transition: 'opacity 0.25s ease-out',\n },\n ':host(:hover)': {\n opacity: 0.5,\n },\n ':host svg': {\n width: 16,\n height: 16,\n stroke: vars.resizeIconFill,\n },\n }\n\n content = icons.resize()\n\n get minSize(): { width: number; height: number } {\n const { minWidth, minHeight } = getComputedStyle(this.target!)\n return {\n width: parseFloat(minWidth) || 32,\n height: parseFloat(minHeight) || 32,\n }\n }\n\n resizeTarget = (event: Event): void => {\n const { target } = this\n if (!target) return\n const w = target.offsetWidth\n const h = target.offsetHeight\n target.style.left = target.offsetLeft + 'px'\n target.style.top = target.offsetTop + 'px'\n target.style.bottom = ''\n target.style.right = ''\n const { minSize } = this\n\n trackDrag(\n event as PointerEvent,\n (dx: number, dy: number, event: any): true | undefined => {\n target.style.width = Math.max(minSize.width, w + dx) + 'px'\n target.style.height = Math.max(minSize.height, h + dy) + 'px'\n if (event.type === 'mouseup') {\n return true\n }\n },\n 'nwse-resize'\n )\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n\n if (!this.target) {\n this.target = this.parentElement\n }\n\n const PASSIVE = { passive: true }\n this.addEventListener('mousedown', this.resizeTarget, PASSIVE)\n this.addEventListener('touchstart', this.resizeTarget, PASSIVE)\n }\n}\n\n/** @deprecated Use TosiSizer instead */\nexport type XinSizer = TosiSizer\n/** @deprecated Use TosiSizer instead */\nexport const XinSizer: typeof TosiSizer = TosiSizer\n\nexport const tosiSizer = TosiSizer.elementCreator() as ElementCreator<TosiSizer>\n\n/** @deprecated Use tosiSizer instead */\nexport const xinSizer = tosiSizer\n",
|
|
65
65
|
"/*#\n# tag-list\n\nBuilding a tag-list from standard HTML elements is a bit of a nightmare.\n\n`<tosi-tag-list>` allows you to display an editable or read-only tag list (represented either\nas a comma-delimited string or an array of strings).\n\n```html\n<label style=\"position: absolute; right: 10px; top: 10px; display: block\">\n <input type=\"checkbox\" class=\"disable-toggle\">\n <b>Disable All</b>\n</label>\n<label>\n <b>Display Only</b>\n <tosi-tag-list\n value=\"this,that,,the-other\"\n ></tosi-tag-list>\n</label>\n<tosi-tag-list\n class=\"compact\"\n value=\"this,that,,the-other\"\n></tosi-tag-list>\n<br>\n<label>\n <b>Editable</b>\n <tosi-tag-list\n class=\"editable-tag-list\"\n value=\"belongs,also belongs,has\\, comma,custom\"\n editable\n available-tags=\"belongs,also belongs,has\\, comma,not initially chosen\"\n ></tosi-tag-list>\n</label>\n<br>\n<b>Text-Entry</b>\n<tosi-tag-list\n value=\"this,that,the-other,not,enough,space\"\n editable\n text-entry\n available-tags=\"tomasina,dick,,harriet\"\n></tosi-tag-list>\n```\n```css\n.preview .compact {\n --spacing: 8px;\n --font-size: 12px;\n --line-height: 18px;\n}\n.preview label {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n```\n```js\npreview.addEventListener('change', (event) => {\n if (event.target.matches('tosi-tag-list')) {\n console.log(event.target, event.target.value)\n }\n}, true)\npreview.querySelector('.disable-toggle').addEventListener('change', (event) => {\n const tagLists = Array.from(preview.querySelectorAll('tosi-tag-list'))\n for(const tagList of tagLists) {\n tagList.disabled = event.target.checked\n }\n})\n```\n```test\nconst tagLists = preview.querySelectorAll('tosi-tag-list')\ntest('tag-lists render', () => {\n expect(tagLists.length).toBe(4)\n})\ntest('first tag-list has correct tags', () => {\n expect(tagLists[0].tags.length).toBe(3)\n expect(tagLists[0].tags).toContain('this')\n})\ntest('editable tag-list has editable attribute', () => {\n expect(tagLists[2].editable).toBe(true)\n})\ntest('a comma inside a tag survives the value round-trip', () => {\n const tl = document.createElement('tosi-tag-list')\n tl.tags = ['New York, NY', 'Boston']\n // the literal comma is escaped in `value` so it is not a delimiter\n expect(tl.value).toBe('New York\\\\, NY,Boston')\n expect(tl.tags.length).toBe(2)\n expect(tl.tags).toContain('New York, NY')\n})\ntest('an escaped comma in a value string parses as one tag', () => {\n const tl = document.createElement('tosi-tag-list')\n tl.value = 'New York\\\\, NY,Boston'\n expect(tl.tags.length).toBe(2)\n expect(tl.tags).toContain('New York, NY')\n})\n```\n\n## Properties\n\n### `value`: string | string[]\n\nA comma-delimited list of tags. A tag that itself contains a comma must\nescape it as `\\,` — e.g. `value=\"New York\\, NY,Boston\"` is two tags. The\n`tags` accessor handles this escaping for you in both directions.\n\n### `tags`: string[]\n\n## `popSelectMenu`: () => void\n\nThis is the method called when the user clicks the menu button. By default is displays a\npick list of tags, but if you wish to customize the behavior, just replace this method.\n\nA read-only property giving the value as an array.\n\n### `available-tags`: string | string[]\n\nA list of tags that will be displayed in the popup menu by default. The popup menu\nwill always display custom tags (allowing their removal). As with `value`, a\ncomma inside a tag must be escaped as `\\,` when set via the attribute string.\n\n### `editable`: boolean\n\nAllows the tag list to be modified via menu and removing tags.\n\n### `text-entry`: boolean\n\nIf `editable`, an input field is provided for entering tags directly.\n\n### `placeholder`: string = 'enter tags'\n\nPlaceholder shown on input field.\n*/\n\n/*{ \"parent\": \"Form Components\" }*/\n\nimport {\n Component as WebComponent,\n elements,\n vars,\n varDefault,\n ElementCreator,\n deprecated,\n XinStyleSheet,\n} from 'tosijs'\nimport { popMenu, MenuItem } from './menu'\nimport { icons } from './icons'\n\nconst { div, input, span, button } = elements\n\n// Tags are serialised as a comma-delimited string (the form `value`). A\n// literal comma inside a tag is escaped as `\\,` so it survives the\n// split/join round-trip — both in programmatic values and in the\n// `value` / `available-tags` HTML attributes.\nconst splitTags = (str: string): string[] =>\n str.split(/(?<!\\\\),/).map((tag) => tag.trim().replace(/\\\\,/g, ','))\n\nconst joinTags = (tags: string[]): string =>\n tags.map((tag) => tag.replace(/,/g, '\\\\,')).join(',')\n\nexport class TosiTag extends WebComponent {\n static preferredTagName = 'tosi-tag'\n\n static lightStyleSpec = {\n ':host': {\n '--tag-close-button-color': '#000c',\n '--tag-close-button-bg': '#fffc',\n '--tag-button-opacity': '0.5',\n '--tag-button-hover-opacity': '0.75',\n '--tag-bg': varDefault.brandColor('blue'),\n '--tag-text-color': varDefault.brandTextColor('white'),\n display: 'inline-flex',\n borderRadius: varDefault.tagRoundedRadius(vars.spacing50),\n color: vars.tagTextColor,\n background: vars.tagBg,\n padding: `0 ${vars.spacing75} 0 ${vars.spacing75}`,\n height: `calc(${vars.lineHeight} + ${vars.spacing50})`,\n lineHeight: `calc(${vars.lineHeight} + ${vars.spacing50})`,\n },\n ':host > [part=\"caption\"]': {\n position: 'relative',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n flex: '1 1 auto',\n fontSize: varDefault.fontSize('16px'),\n color: vars.tagTextColor,\n textOverflow: 'ellipsis',\n },\n ':host [part=\"remove\"]': {\n boxShadow: 'none',\n margin: `0 ${vars.spacing_50} 0 ${vars.spacing25}`,\n padding: 0,\n display: 'inline-flex',\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n height: vars.spacing150,\n width: vars.spacing150,\n color: vars.tagCloseButtonColor,\n background: vars.tagCloseButtonBg,\n borderRadius: varDefault.tagCloseButtonRadius('99px'),\n opacity: vars.tagButtonOpacity,\n },\n ':host [part=\"remove\"]:hover': {\n background: vars.tagCloseButtonBg,\n opacity: vars.tagButtonHoverOpacity,\n },\n }\n\n static initAttributes = {\n caption: '',\n removeable: false,\n }\n\n removeCallback: (event: Event) => void = () => {\n this.remove()\n }\n\n content = () => [\n span({ part: 'caption' }, this.caption),\n button(icons.x(), {\n type: 'button',\n part: 'remove',\n hidden: !this.removeable,\n ariaLabel: `Remove ${this.caption}`,\n onClick: this.removeCallback,\n }),\n ]\n}\n\n/** @deprecated Use TosiTag instead */\nexport type XinTag = TosiTag\n/** @deprecated Use TosiTag instead */\nexport const XinTag: typeof TosiTag = TosiTag\n\nexport const tosiTag = TosiTag.elementCreator() as ElementCreator<TosiTag>\n\n/** @deprecated Use tosiTag instead */\nexport const xinTag = deprecated(\n (...args: Parameters<typeof tosiTag>) => tosiTag(...args),\n 'xinTag is deprecated, use tosiTag instead (tag is now <tosi-tag>)'\n) as ElementCreator<TosiTag>\n\ninterface Tag {\n value: string\n caption?: string\n color?: string\n background?: string\n icon?: string | HTMLElement\n}\n\ntype TagList = (string | Tag | null)[]\n\nexport class TosiTagList extends WebComponent {\n static preferredTagName = 'tosi-tag-list'\n\n static lightStyleSpec: XinStyleSheet = {\n ':host': {\n '--tag-list-bg': '#f8f8f8',\n '--touch-size': '44px',\n '--spacing': '16px',\n display: 'grid',\n gridTemplateColumns: 'auto',\n alignItems: 'center',\n background: vars.tagListBg,\n gap: vars.spacing25,\n borderRadius: varDefault.taglistRoundedRadius(vars.spacing50),\n overflow: 'hidden',\n },\n ':host[editable]': {\n gridTemplateColumns: `0px auto ${vars.touchSize}`,\n },\n ':host[editable][text-entry]': {\n gridTemplateColumns: `0px 2fr 1fr ${vars.touchSize}`,\n },\n ':host [part=\"tagContainer\"]': {\n display: 'flex',\n content: '\" \"',\n alignItems: 'center',\n background: vars.inputBg,\n borderRadius: varDefault.tagContainerRadius(vars.spacing50),\n boxShadow: vars.borderShadow,\n flexWrap: 'nowrap',\n overflow: 'auto hidden',\n gap: vars.spacing25,\n minHeight: `calc(${vars.lineHeight} + ${vars.spacing})`,\n padding: vars.spacing25,\n },\n ':host [part=\"tagMenu\"]': {\n width: vars.touchSize,\n height: vars.touchSize,\n lineHeight: vars.touchSize,\n textAlign: 'center',\n padding: 0,\n margin: 0,\n },\n ':host [hidden]': {\n display: 'none !important',\n },\n ':host button[part=\"tagMenu\"]': {\n background: vars.brandColor,\n color: vars.brandTextColor,\n },\n }\n\n static formAssociated = true\n\n static initAttributes = {\n name: '',\n textEntry: false,\n editable: false,\n placeholder: 'enter tags',\n disabled: false,\n required: false,\n }\n\n // value is the source of truth (Component watches this for form handling)\n value = ''\n\n // tags parses value into array\n get tags(): string[] {\n return splitTags(this.value).filter((tag) => tag !== '')\n }\n\n set tags(v: string[]) {\n this.value = joinTags(v)\n }\n\n private _availableTags: TagList = []\n\n get availableTags(): TagList {\n return this._availableTags\n }\n\n set availableTags(v: TagList | string) {\n if (typeof v === 'string') {\n this._availableTags = TosiTagList.parseAvailableTagsString(v)\n } else {\n this._availableTags = v\n }\n this.queueRender()\n }\n\n // Parse available-tags string (comma-delimited; `\\,` is a literal comma).\n private static parseAvailableTagsString(tagsStr: string): TagList {\n return splitTags(tagsStr).map((tag) => (tag === '' ? null : tag))\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n // Parse available-tags from HTML attribute if present and not already set programmatically\n const tagsAttr = this.getAttribute('available-tags')\n if (tagsAttr && this._availableTags.length === 0) {\n this._availableTags = TosiTagList.parseAvailableTagsString(tagsAttr)\n }\n }\n\n // Form lifecycle callbacks\n formDisabledCallback(disabled: boolean): void {\n this.disabled = disabled\n }\n\n formResetCallback(): void {\n this.value = ''\n }\n\n addTag = (tag: string) => {\n const trimmed = tag.trim()\n if (trimmed === '' || this.tags.includes(trimmed)) {\n return\n }\n this.tags = [...this.tags, trimmed]\n this.queueRender(true)\n }\n\n toggleTag = (toggled: string) => {\n if (this.tags.includes(toggled)) {\n this.tags = this.tags.filter((t) => t !== toggled)\n this.queueRender(true)\n } else {\n this.addTag(toggled)\n }\n }\n\n enterTag = (event: KeyboardEvent) => {\n const { tagInput } = this.parts as { tagInput: HTMLInputElement }\n switch (event.key) {\n case ',':\n {\n const tag = tagInput.value.split(',')[0]\n this.addTag(tag)\n }\n break\n case 'Enter':\n {\n const tag = tagInput.value.split(',')[0]\n this.addTag(tag)\n }\n event.stopPropagation()\n event.preventDefault()\n break\n default:\n // do nothing\n }\n }\n\n popSelectMenu = () => {\n const { toggleTag } = this\n const { tagMenu } = this.parts\n const tags: TagList = [...this.availableTags]\n const extraTags = this.tags.filter((tag) => !tags.includes(tag))\n if (extraTags.length) {\n tags.push(null, ...extraTags)\n }\n const menuItems: MenuItem[] = tags.map((tag) => {\n if (tag === '' || tag === null) {\n return null\n } else if (typeof tag === 'object') {\n return {\n checked: () => this.tags.includes(tag.value),\n caption: tag.caption!,\n action() {\n toggleTag(tag.value)\n },\n }\n } else {\n return {\n checked: () => this.tags.includes(tag),\n caption: tag,\n action() {\n toggleTag(tag)\n },\n }\n }\n })\n\n popMenu({\n target: tagMenu as HTMLElement,\n width: 'auto',\n menuItems,\n })\n }\n\n content = () => [\n // this button is simply here to eat click events sent via a label\n button({ type: 'button', style: { visibility: 'hidden' }, tabindex: -1 }),\n div({\n part: 'tagContainer',\n class: 'row',\n role: 'list',\n ariaLabel: 'Selected tags',\n }),\n input({\n part: 'tagInput',\n class: 'elastic',\n ariaLabel: 'Enter new tag',\n onKeydown: this.enterTag,\n }),\n button(\n {\n type: 'button',\n title: 'add tag',\n ariaLabel: 'Select tags from list',\n ariaHaspopup: 'listbox',\n part: 'tagMenu',\n onClick: this.popSelectMenu,\n },\n icons.chevronDown()\n ),\n ]\n\n removeTag = (event: Event) => {\n if (this.editable && !this.disabled) {\n const tag = (event.target as HTMLElement).closest(\n TosiTag.tagName!\n ) as TosiTag\n this.tags = this.tags.filter((t) => t !== tag.caption)\n tag.remove()\n this.queueRender(true)\n }\n event.stopPropagation()\n event.preventDefault()\n }\n\n render(): void {\n super.render()\n\n const { tagContainer, tagMenu, tagInput } = this.parts as {\n tagContainer: HTMLDivElement\n tagMenu: HTMLButtonElement\n tagInput: HTMLInputElement\n }\n\n tagMenu.disabled = this.disabled\n tagInput.value = ''\n tagInput.setAttribute('placeholder', this.placeholder)\n if (this.editable && !this.disabled) {\n tagMenu.toggleAttribute('hidden', false)\n tagInput.toggleAttribute('hidden', !this.textEntry)\n } else {\n tagMenu.toggleAttribute('hidden', true)\n tagInput.toggleAttribute('hidden', true)\n }\n\n tagContainer.textContent = ''\n for (const tag of this.tags) {\n tagContainer.append(\n tosiTag({\n caption: tag,\n removeable: this.editable && !this.disabled,\n removeCallback: this.removeTag,\n })\n )\n }\n }\n}\n\n/** @deprecated Use TosiTagList instead */\nexport type XinTagList = TosiTagList\n/** @deprecated Use TosiTagList instead */\nexport const XinTagList: typeof TosiTagList = TosiTagList\n\nexport const tosiTagList =\n TosiTagList.elementCreator() as ElementCreator<TosiTagList>\n\n/** @deprecated Use tosiTagList instead */\nexport const xinTagList = deprecated(\n (...args: Parameters<typeof tosiTagList>) => tosiTagList(...args),\n 'xinTagList is deprecated, use tosiTagList instead (tag is now <tosi-tag-list>)'\n) as ElementCreator<TosiTagList>\n",
|
|
66
|
-
"export const version = '1.6.
|
|
66
|
+
"export const version = '1.6.14'",
|
|
67
67
|
"/*#\n# tooltip\n\nAutomatic tooltips for any element with `data-tooltip` or `title` attributes.\nCall `initTooltips()` once to activate. By default, `title` attributes are\nconverted to `data-tooltip` on hover so the browser's native tooltip is\nreplaced.\n\nTooltip text is parsed as **markdown** (if `marked` is available), so you\ncan use `*bold*`, `` `code` ``, links, etc.\n\n```js\nimport { elements } from 'tosijs'\nimport { initTooltips } from 'tosijs-ui'\n\nconst { button, div } = elements\n\ninitTooltips()\n\npreview.append(\n div(\n { style: { display: 'flex', gap: '12px', flexWrap: 'wrap', alignItems: 'center' } },\n button({ dataTooltip: 'Save your work' }, 'Save'),\n button({ dataTooltip: '**Bold** and `code` work' }, 'Markdown'),\n button({ title: 'This was a title attribute' }, 'Title → Tooltip'),\n )\n)\n```\n\n## Options\n\n```\ninitTooltips({\n convertTitles: true, // convert title attrs to data-tooltip (default true)\n delay: 250, // ms before showing (default 250)\n localize: false, // pass tooltip text through localize() (default false)\n})\n```\n*/\n\n/*{ \"parent\": \"Components\" }*/\n\nimport { elements, StyleSheet, varDefault } from 'tosijs'\nimport { marked } from 'marked'\nimport { popFloat, FloatPosition } from './pop-float'\nimport { TosiFloat } from './float'\nimport { localize } from './localize'\n\nconst { span } = elements\n\nexport interface TooltipOptions {\n convertTitles?: boolean\n delay?: number\n localize?: boolean\n}\n\nlet tooltipFloat: TosiFloat | null = null\nlet showTimeout: ReturnType<typeof setTimeout> | null = null\nlet currentTarget: HTMLElement | null = null\n\nconst TOOLTIP_CLASS = 'tosi-tooltip'\n\nconst tooltipStyleSpec = {\n [`.${TOOLTIP_CLASS}`]: {\n pointerEvents: 'none',\n padding: varDefault.tosiTooltipPadding('4px 10px'),\n borderRadius: varDefault.tosiTooltipRadius('6px'),\n background: varDefault.tosiTooltipBg('#333'),\n color: varDefault.tosiTooltipColor('#fff'),\n fontSize: varDefault.tosiTooltipFontSize('13px'),\n lineHeight: '1.4',\n maxWidth: varDefault.tosiTooltipMaxWidth('280px'),\n whiteSpace: 'pre-line',\n boxShadow: '0 2px 8px #0003',\n position: 'relative',\n },\n [`.${TOOLTIP_CLASS} p`]: {\n margin: '0',\n },\n [`.${TOOLTIP_CLASS} code`]: {\n background: '#fff2',\n padding: '0 4px',\n borderRadius: '3px',\n fontSize: '0.9em',\n },\n [`.${TOOLTIP_CLASS} a`]: {\n color: 'inherit',\n },\n [`.${TOOLTIP_CLASS}::before`]: {\n content: '\"\"',\n position: 'absolute',\n width: '8px',\n height: '8px',\n background: 'inherit',\n transform: 'rotate(45deg)',\n },\n [`.${TOOLTIP_CLASS}.tt-s::before`]: {\n top: '-4px',\n left: 'var(--tosi-tooltip-arrow)',\n },\n [`.${TOOLTIP_CLASS}.tt-n::before`]: {\n bottom: '-4px',\n left: 'var(--tosi-tooltip-arrow)',\n },\n [`.${TOOLTIP_CLASS}.tt-e::before`]: {\n left: '-4px',\n top: 'var(--tosi-tooltip-arrow)',\n },\n [`.${TOOLTIP_CLASS}.tt-w::before`]: {\n right: '-4px',\n top: 'var(--tosi-tooltip-arrow)',\n },\n}\n\n// Inject tooltip styles on first use (showTooltip / initTooltips) rather than at\n// import, so importing this module has no side effect and it tree-shakes when\n// unused. StyleSheet() dedupes by id; the flag avoids re-calling it.\nlet tooltipStylesInjected = false\nfunction ensureTooltipStyles(): void {\n if (tooltipStylesInjected) return\n tooltipStylesInjected = true\n StyleSheet('tosi-tooltip', tooltipStyleSpec)\n}\n\nfunction hideTooltip(): void {\n if (showTimeout !== null) {\n clearTimeout(showTimeout)\n showTimeout = null\n }\n if (tooltipFloat !== null) {\n tooltipFloat.remove()\n tooltipFloat = null\n }\n currentTarget = null\n}\n\nfunction arrowClass(position: FloatPosition): string {\n if (position.startsWith('s')) return 'tt-s'\n if (position.startsWith('n')) return 'tt-n'\n if (position.startsWith('e')) return 'tt-e'\n if (position.startsWith('w')) return 'tt-w'\n return 'tt-s'\n}\n\nfunction positionArrow(\n tooltipEl: HTMLElement,\n target: HTMLElement,\n position: FloatPosition\n): void {\n const targetRect = target.getBoundingClientRect()\n const tipRect = tooltipEl.getBoundingClientRect()\n const targetCx = targetRect.left + targetRect.width * 0.5\n const targetCy = targetRect.top + targetRect.height * 0.5\n\n let offset: number\n if (position.startsWith('s') || position.startsWith('n')) {\n offset =\n Math.max(8, Math.min(tipRect.width - 8, targetCx - tipRect.left)) - 4\n } else {\n offset =\n Math.max(8, Math.min(tipRect.height - 8, targetCy - tipRect.top)) - 4\n }\n tooltipEl.style.setProperty('--tosi-tooltip-arrow', offset + 'px')\n}\n\nfunction renderText(text: string, useLocalize: boolean): HTMLElement {\n if (useLocalize) {\n text = localize(text)\n }\n const el = span({ class: TOOLTIP_CLASS })\n el.innerHTML = marked.parseInline(text) as string\n return el\n}\n\nfunction showTooltip(\n target: HTMLElement,\n text: string,\n useLocalize: boolean\n): void {\n ensureTooltipStyles()\n hideTooltip()\n currentTarget = target\n\n const { top, left, width } = target.getBoundingClientRect()\n const cx = left + width * 0.5\n const h = window.innerHeight\n const w = window.innerWidth\n const position: FloatPosition = ((top > h * 0.5 ? 'n' : 's') +\n (cx > w * 0.5 ? 'w' : 'e')) as FloatPosition\n\n const content = renderText(text, useLocalize)\n content.classList.add(arrowClass(position))\n\n tooltipFloat = popFloat({\n content,\n target,\n position,\n remainOnScroll: 'remove',\n remainOnResize: 'remove',\n })\n\n requestAnimationFrame(() => {\n if (tooltipFloat && currentTarget) {\n positionArrow(content, target, position)\n }\n })\n}\n\nfunction findTooltipTarget(event: Event): HTMLElement | null {\n for (const node of event.composedPath()) {\n if (node instanceof HTMLElement && node.dataset.tooltip) {\n return node\n }\n }\n return null\n}\n\nexport function initTooltips(options: TooltipOptions = {}): void {\n ensureTooltipStyles()\n const {\n convertTitles = true,\n delay = 250,\n localize: useLocalize = false,\n } = options\n\n document.addEventListener('pointermove', (event: PointerEvent) => {\n if (convertTitles) {\n for (const node of event.composedPath()) {\n if (node instanceof HTMLElement && node.title && !node.dataset.tooltip) {\n node.dataset.tooltip = node.title\n node.removeAttribute('title')\n break\n }\n }\n }\n\n const target = findTooltipTarget(event)\n\n if (target === currentTarget) return\n\n hideTooltip()\n\n if (!target) return\n const text = target.dataset.tooltip || null\n if (!text) return\n\n showTimeout = setTimeout(\n () => showTooltip(target, text, useLocalize),\n delay,\n )\n })\n\n document.addEventListener('pointerleave', hideTooltip)\n\n document.addEventListener('pointerdown', hideTooltip)\n document.addEventListener('keydown', hideTooltip)\n window.addEventListener('scroll', hideTooltip, true)\n}\n",
|
|
68
68
|
"import * as xinjsui from './index'\nimport * as xinjs from 'tosijs'\n\nObject.assign(globalThis, { xinjs, xinjsui })\n"
|
|
69
69
|
],
|
|
70
|
-
"mappings": "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",
|
|
71
|
-
"debugId": "
|
|
70
|
+
"mappings": "+lLAAA,SAAS,EAAC,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,OAAO,IAAI,SAAS,OAAO,EAAE,GAAG,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,EAAO,QAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,OAAO,IAAI,SAAS,EAAE,GAAG,GAAE,CAAC,EAAO,OAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,YAAY,GAAE,IAAI,KAAK,GAAG,aAAa,GAAG,IAAI,KAAK,GAAE,OAAO,IAAI,UAAU,EAAE,GAAE,OAAO,IAAI,WAAW,EAAE,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,IAAI,eAAe,EAAE,GAAG,OAAO,IAAI,WAAW,EAAE,GAAG,OAAO,cAAc,EAAE,GAAE,OAAO,eAAe,EAAE,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAS,OAAE,EAAE,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,IAAI,SAAS,EAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,QAAQ,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,KAAK,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,GAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,KAAS,QAAG,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,IAAG,OAAO,IAAS,OAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,EAAE,IAAS,OAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAE,CAAC,IAAS,OAAE,MAAM,MAAM,4CAA4C,EAAE,EAAE,IAAG,EAAE,IAAI,GAAG,GAAG,GAAE,8CAA8C,EAAE,GAAG,GAAG,EAAE,gDAAgD,EAAE,GAAG,IAAI,QAAQ,GAAE,IAAI,QAAY,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,aAAa,QAAQ,CAAC,IAAI,EAAE,GAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,KAAK,GAAE,IAAI,EAAE,GAAE,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI,EAAE,GAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,MAAM,KAAK,aAAa,oBAAoB,EAAE,QAAQ,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,SAAS,aAAa,iBAAiB,EAAE,YAAY,GAAG,CAAC,CAAC,EAAO,OAAE,YAAY,EAAE,UAAU,CAAC,EAAE,OAAO,GAAO,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,EAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,8BAA8B,GAAG,IAAI,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,EAAM,GAAG,IAAI,IAAI,KAAK,SAAS,aAAa,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,SAAS,QAAQ,EAAE,GAAG,EAAE,IAAI,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,QAAQ,EAAE,GAAG,OAAO,YAAY,EAAE,GAAG,OAAO,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAM,KAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,MAAU,KAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,GAAE,IAAI,QAAQ,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAE,IAAI,CAAC,IAAS,OAAE,GAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,GAAE,IAAI,CAAC,EAAE,KAAU,OAAE,GAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,MAAW,OAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAO,OAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,GAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAE,IAAI,CAAC,IAAS,QAAG,GAAE,IAAI,CAAC,EAAE,KAAU,OAAE,OAAO,GAAG,EAAE,CAAC,EAAO,YAAO,GAAE,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAS,QAAG,GAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,KAAU,QAAG,IAAS,OAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,GAAE,OAAO,CAAC,EAAE,OAAO,SAAS,EAAO,QAAG,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAU,OAAE,EAAE,GAAG,CAAC,EAAO,QAAG,IAAS,OAAE,GAAG,IAAS,OAAE,EAAE,GAAG,EAAO,QAAG,IAAI,IAAI,GAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAO,WAAM,MAAM,8BAA8B,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,EAAE,MAAM,GAAG,0CAA0C,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,aAAa,QAAQ,MAAM,GAAG,2CAA2C,CAAC,EAAE,SAAS,EAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAS,QAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAS,QAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAQ,QAAG,EAAE,SAAS,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,OAAY,QAAG,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,EAAO,OAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,GAAG,MAAM,MAAM,iDAAiD,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAO,QAAG,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAO,KAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,GAAO,KAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,GAAG,EAAO,OAAE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAU,QAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAM,KAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,GAAG,EAAM,KAAC,GAAG,CAAC,OAAO,UAAU,eAAe,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,MAAM,KAAU,WAAM,MAAM,8BAA8B,GAAG,EAAE,MAAM,MAAM,aAAa,MAAM,MAAM,WAAW,EAAE,IAAI,GAAE,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,MAAM,MAAM,2BAA2B,EAAE,OAAO,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,MAAM,MAAM,sBAAsB,EAAE,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,MAAM,MAAM,oBAAoB,EAAE,OAAO,IAAQ,GAAG,OAAO,4BAA4B,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,IAAS,OAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,GAAE,EAAE,CAAC,EAAE,GAAG,IAAS,OAAE,EAAE,KAAK,GAAG,KAAK,KAAK,KAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,YAAY,KAAK,SAAS,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,IAAI,KAAK,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,OAAO,IAAI,UAAU,IAAI,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,KAAU,QAAG,aAAa,OAAO,KAAK,KAAK,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,KAAU,QAAG,aAAa,SAAS,KAAK,KAAK,EAAE,EAAE,mBAAmB,EAAE,OAAY,WAAM,MAAM,+DAA+D,EAAE,GAAG,KAAK,YAAY,GAAG,MAAM,IAAI,OAAO,IAAI,WAAW,KAAK,SAAS,EAAO,WAAM,MAAM,0CAA0C,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,KAAU,OAAE,OAAO,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,KAAK,QAAQ,KAAK,kBAAkB,EAAE,IAAI,EAAE,MAAM,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,QAAQ,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,MAAM,YAAY,EAAE,sBAAsB,UAAU,IAAI,EAAE,GAAG,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,MAAM,YAAY,EAAE,sBAAsB,gBAAgB,IAAI,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,KAAK,WAAW,GAAG,EAAE,GAAG,GAAG,KAAK,QAAQ,QAAQ,kBAAkB,GAAG,GAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,GAAE,CAAC,EAAE,GAAG,IAAS,OAAE,MAAM,QAAQ,MAAM,wCAAwC,CAAC,EAAE,MAAM,uCAAuC,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,qBAAqB,EAAE,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAE,GAAE,GAAG,KAAK,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,GAAE,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,EAAE,CAAC,EAAO,WAAM,MAAM,sCAAsC,GAAO,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,iBAAiB,OAAO,EAAE,KAAU,QAAG,aAAa,mBAAmB,EAAE,aAAa,UAAU,EAAE,MAAM,eAAoB,WAAM,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,WAAW,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC,EAAE,UAAU,eAAe,QAAQ,KAAK,MAAM,KAAK,EAAE,iBAAiB,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,cAAc,EAAE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,eAAe,cAAc,UAAU,EAAE,gBAAgB,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,IAAI,KAAK,WAAW,OAAO,EAAE,YAAY,OAAO,OAAO,EAAE,aAAa,YAAY,MAAM,eAAe,OAAO,MAAM,KAAK,EAAE,iBAAiB,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,CAAC,CAAC,UAAU,OAAO,EAAE,SAAS,eAAe,IAAI,WAAW,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,IAAI,SAAS,EAAE,YAAY,EAAO,QAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAO,QAAG,aAAa,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,EAAO,WAAM,MAAM,sCAAsC,GAAO,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,GAAG,IAAS,OAAE,aAAa,CAAC,EAAE,EAAE,WAAW,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,WAAW,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,SAAE,CAAQ,EAAE,OAAW,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,kBAAkB,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,YAAY,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,IAAI,GAAG,IAAI,KAAK,GAAG,GAAG,KAAK,GAAG,IAAI,SAAS,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAE,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,GAAG,MAAM,GAAE,KAAK,EAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,GAAG,EAAE,WAAW,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,GAAE,WAAW,WAAgB,OAAE,WAAW,SAAS,cAAc,MAAM,EAAO,OAAE,GAAG,GAAE,GAAE,MAAM,QAAQ,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,QAAS,QAAO,CAAC,EAAE,EAAE,SAAS,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC,QAAS,QAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,cAAa,gBAAgB,GAAE,MAAM,MAAM,QAAQ,GAAE,MAAM,MAAM,EAAE,SAAS,KAAK,YAAY,EAAC,EAAE,EAAE,iBAAiB,EAAC,EAAE,MAAM,GAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,WAAW,YAAY,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,QAAS,QAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAM,KAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,oBAAoB,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE,GAAG,EAAE,mBAAmB,OAAO,GAAG,EAAE,IAAI,mBAAmB,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,QAAS,OAAM,IAAI,EAAE,EAAE,EAAE,CAAC,QAAS,OAAM,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAE,EAAE,EAAE,CAAC,KAAM,QAAO,EAAE,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,KAAK,CAAC,KAAM,iBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAM,OAAM,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,MAAM,KAAK,WAAW,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAM,IAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAS,KAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAS,KAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,KAAM,KAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,aAAc,KAAI,EAAE,CAAC,GAAG,KAAK,WAAW,KAAK,KAAK,UAAU,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,aAAc,IAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,MAAM,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,SAAU,KAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,MAAM,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,SAAS,KAAK,EAAE,KAAK,QAAQ,CAAC,SAAU,KAAI,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,IAAI,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,KAAM,WAAU,EAAE,CAAC,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAM,KAAI,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAK,KAAK,KAAK,EAAE,GAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAK,KAAK,KAAK,EAAE,GAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAK,KAAK,KAAK,EAAE,GAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAK,KAAK,KAAK,EAAE,GAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAK,KAAK,KAAK,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,QAAQ,IAAI,cAAc,KAAK,SAAS,KAAK,OAAO,qBAAqB,KAAK,OAAO,+BAA+B,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,GAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,QAAS,SAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,OAAO,EAAE,EAAE,EAAO,YAAO,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,qBAAqB,KAAK,SAAS,EAAE,SAAS,EAAE,KAAK,QAAQ,CAAC,KAAK,QAAS,yBAAwB,WAAY,gBAAe,IAAI,UAAW,iBAAgB,SAAU,sBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,IAAI,CAAC,EAAE,EAAE,eAAe,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,eAAe,QAAS,eAAc,EAAE,CAAC,GAAG,EAAE,gBAAgB,OAAO,EAAE,gBAAgB,GAAG,eAAe,IAAI,CAAC,EAAE,gBAAgB,GAAG,EAAE,gBAAgB,EAAE,QAAS,gBAAe,EAAE,CAAC,GAAG,EAAE,eAAe,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,MAAM,EAAE,OAAO,MAAM,EAAE,eAAe,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,OAAO,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,cAAc,SAAS,EAAE,KAAK,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE;AAAA,EACz7a,EAAE,KAAK;AAAA,CACR;AAAA,GACE,GAAG,EAAE,0BAA0B,KAAK,EAAE,wBAAwB,SAAS,cAAc,OAAO,EAAE,EAAE,wBAAwB,GAAG,yBAAyB,SAAS,KAAK,OAAO,EAAE,uBAAuB,EAAE,EAAE,wBAAwB,YAAY,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,GAAE,CAAC,EAAE,GAAG,IAAS,OAAE,GAAG,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,mJAAmJ,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,EAAE,WAAW,GAAG,EAAE,GAAG,EAAE,WAAW,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,cAAc,KAAU,OAAE,KAAK,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAS,OAAE,MAAM,GAAG,GAAG,aAAa,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAE,CAAC,EAAE,GAAG,OAAO,IAAI,UAAU,EAAE,aAAa,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,KAAK;AAAA,CAChoC,EAAE,MAAM,GAAG,MAAM;AAAA,EAChB;AAAA,EACA,OAAY,YAAO,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,OAAO,IAAI,SAAS,CAAC,GAAG,IAAI,UAAU,MAAM,gBAAgB,OAAO,MAAM,MAAM,mDAAmD,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK;AAAA,CAC9Q,EAAE,MAAM,GAAG,IAAI;AAAA,EACd;AAAA,GACC,EAAE,KAAK;AAAA;AAAA,CAET,GAAG,GAAG,CAAC,IAAI,CAAC,GAAE,WAAW,6DAA6D,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,EAAE,KAAK,KAAK,OAAO,IAAI,UAAU,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,aAAa,EAAE,EAAE,GAAG,EAAE,iBAAsB,QAAG,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,iBAAiB,OAAO,GAAG,EAAG,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAU,OAAE,CAAC,IAAI,EAAE,KAAK,GAAE,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,MAAM,KAAK,OAAO,EAAE,GAAG,CAAC,EAAE,EAAG,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,UAAU,OAAO,EAAG,GAAG,EAAE,IAAI,KAAK,CAAC,EAAE,GAAE,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,8BAA8B,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,OAAO,QAAQ,QAAQ,QAAQ,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,YAAY,QAAQ,KAAK,cAAc,MAAM,QAAQ,MAAM,CAAC,EAAE,MAAM,uBAAuB,sBAAsB,GAAG,GAAQ,OAAE,GAAG,OAAO,KAAK,OAAO,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,WAAW,KAAK,WAAW,CAAC,EAAE,QAAQ,MAAM,CAAC,YAAY,EAAE,8BAA8B,EAAE,OAAO,QAAQ,SAAS,EAAE,0BAA0B,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,4BAA4B,EAAE,SAAS,gBAAgB,cAAc,EAAE,kCAAkC,EAAE,oBAAoB,EAAE,wCAAwC,EAAE,aAAa,EAAE,yBAAyB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,WAAW,IAAI,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,+BAA+B,2BAA2B,2BAA2B,6BAA6B,mCAAmC,yCAAyC,yBAAyB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,iBAAiB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,KAAK,EAAE,EAAE,oBAAoB,SAAS,CAAC,GAAG,IAAI,GAAG,qCAAqC,GAAG,6BAAiC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,GAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,WAAW,IAAI,EAAE,EAAE,MAAM,YAAY,EAAE,KAAK,EAAE,KAAK,EAAO,OAAE,MAAM,GAAG,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,QAAQ,GAAG,OAAO,IAAI,SAAS,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,GAAG,GAAE,EAAE,EAAE,EAAE,GAAE,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,EAAO,QAAG,EAAE,EAAE,EAAE,EAAE,EAAO,OAAE,aAAa,QAAQ,CAAC,EAAM,KAAC,IAAI,EAAE,GAAE,CAAC,EAAE,EAAE,EAAE,YAAY,mBAAmB,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,IAAI,UAAU,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAO,OAAE,aAAa,EAAE,CAAC,EAAO,QAAG,EAAE,KAAU,OAAE,CAAC,IAAI,cAAc,GAAG,WAAW,GAAG,aAAa,YAAY,IAAS,QAAG,aAAa,EAAE,EAAE,aAAa,EAAE,CAAC,EAAO,OAAE,GAAG,EAAO,QAAG,IAAI,QAAQ,EAAE,MAAM,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,EAAO,QAAG,EAAE,KAAU,OAAE,EAAE,GAAG,EAAO,QAAG,OAAO,IAAI,UAAU,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAO,OAAE,aAAa,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC,EAAO,QAAG,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,EAAO,QAAG,IAAI,OAAO,IAAI,OAAO,EAAE,UAAU,SAAS,GAAG,EAAE,SAAS,EAAE,WAAgB,QAAG,EAAE,QAAa,OAAE,GAAE,EAAE,EAAE,MAAM,EAAE,mBAAmB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAO,WAAM,MAAM,aAAa,EAAO,QAAG,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,OAAO,cAAc,IAAI,UAAU,sCAAsC,IAAI,WAAW,WAAW,IAAI,OAAO,sBAAsB,KAAK,GAAG,EAAE,GAAE,OAAO,IAAI,OAAO,EAAE,UAAU,CAAC,0BAA0B,mBAAmB,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,IAAS,OAAE,GAAE,EAAE,EAAE,CAAC,EAAO,WAAM,MAAM,GAAG,8BAA8B,kBAAkB,EAAO,QAAG,GAAG,MAAM,OAAO,IAAI,UAAU,EAAE,IAAI,GAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAO,QAAG,GAAE,CAAC,EAAE,GAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAO,QAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,KAAU,OAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,IAAS,OAAE,GAAG,GAAG,WAAW,SAAS,cAAc,CAAC,EAAO,QAAG,GAAG,WAAW,SAAS,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,GAAG,aAAa,SAAS,aAAa,kBAAkB,OAAO,IAAI,UAAU,OAAO,IAAI,SAAS,GAAG,aAAa,oBAAoB,EAAE,QAAQ,OAAO,CAAC,EAAO,OAAE,OAAO,CAAC,EAAO,QAAG,GAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAO,YAAO,OAAO,EAAE,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,SAAS,uBAAuB,EAAE,QAAQ,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,SAAS,CAAC,IAAI,IAAI,EAAE,kBAAkB,GAAG,EAAE,EAAE,KAAU,OAAE,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,MAAM,MAAM,4CAA4C,EAAE,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAU,OAAE,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,MAAM,MAAM,4CAA4C,EAAE,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAU,OAAE,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,MAAM,MAAM,4CAA4C,EAAE,CAAC,EAAE,GAAG,IAAI,QAAQ,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,KAAK,QAAQ,KAAK,MAAM,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,aAAa,QAAQ,GAAG,EAAE,GAAG,GAAG,KAAK,SAAS,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,SAAS,GAAG,IAAI,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,SAAS,aAAa,OAAO,MAAM,OAAO,UAAU,QAAQ,SAAS,EAAE,GAAG,GAAG,GAAG,uEAAuE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,EAAO,QAAG,EAAE,MAAM,OAAO,IAAI,MAAM,EAAE,SAAS,GAAG,EAAE,MAAM,GAAG,KAAK,KAAU,WAAM,GAAG,KAAK,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,OAAO,IAAI,UAAU,OAAO,IAAI,YAAY,OAAO,EAAE,OAAO,IAAI,MAAM,GAAG,GAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,EAAE,GAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,WAAW,IAAI,EAAE,MAAM,MAAM,6CAA6C,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,GAAG,GAAE,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,aAAa,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,KAAI,EAAE,cAAc,EAAE,EAAE,cAAc,IAAI,EAAE,IAAI,IAAG,GAAG,GAAG,KAAK,OAAO,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,IAAI,GAAG,GAAE,GAAG,GAAQ,OAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,IAAI,GAAG,GAAE,GAAG,GAAQ,QAAG,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,GAAE,GAAG,GAAG,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,GAAE,GAAG,KAAK,CAAC,EAAE,GAAE,GAAG,EAAE,OAAO,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAE,GAAG,OAAO,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,KAAK,0HAA0H,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,OAAO,QAAQ,OAAO,IAAI,GAAG,GAAE,GAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,OAAO,MAAM,QAAQ,MAAM,IAAI,GAAE,CAAC,MAAM,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,GAAE,GAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,cAAc,MAAM,CAAC,EAAE,EAAE,KAAK,KAAK,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,aAAa,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,OAAO,eAAe,iBAAiB,aAAa,OAAO,GAAG,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,OAAO,IAAI,SAAS,EAAE,EAAE,GAAE,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,GAAE,GAAE,EAAE,CAAC,EAAE,GAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,QAAQ,QAAQ,UAAU,OAAO,KAAK,UAAU,cAAc,WAAW,aAAa,aAAa,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,GAAE,MAAM,EAAE,CAAC,UAAU,MAAM,EAAE,CAAC,WAAW,MAAM,EAAE,CAAC,GAAE,OAAO,EAAE,CAAC,WAAW,OAAO,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,aAAa,SAAS,EAAE,CAAC,cAAc,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,MAAM,EAAE,CAAC,WAAW,MAAM,EAAE,CAAC,cAAc,SAAS,EAAE,CAAC,kBAAkB,aAAa,CAAC,CAAC,EAAE,GAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAE,GAAE,CAAC,EAAE,OAAO,OAAO,cAAc,SAAS,MAAM,IAAI,EAAE,OAAO,OAAO,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,SAAS,OAAO,OAAO,CAAC,EAAE,GAAG,IAAI,SAAS,OAAO,OAAO,CAAC,EAAE,OAAO,OAAO,WAAW,MAAM,IAAI,OAAO,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAS,OAAE,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,OAAO,IAAI,WAAW,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,IAAI,WAAW,IAAI,UAAU,MAAM,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAS,OAAE,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,IAAI,SAAS,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,yBAAyB,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,cAAc,CAAC,EAAE,UAAU,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,kBAAkB,GAAG,EAAE,MAAM,iBAAiB,GAAG,EAAE,MAAM,sBAAsB,GAAG,EAAE,MAAM,sBAAsB,EAAE,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,GAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAE,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,MAAM,OAAO,IAAI,SAAS,IAAI,MAAM,EAAE,GAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAU,QAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAE,EAAE,CAAC,MAAM,CAAC,EAAO,OAAE,EAAE,GAAG,GAAG,aAAa,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAE,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,aAAa,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,GAAE,EAAE,CAAC,CAAC,EAAO,YAAO,EAAE,GAAG,EAAE,GAAE,EAAE,CAAC,CAAC,EAAE,EAAO,QAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,OAAO,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,EAAE,GAAE,CAAC,EAAE,GAAG,GAAG,MAAM,OAAO,IAAI,UAAU,GAAG,IAAI,QAAQ,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,IAAI,GAAG,OAAO,IAAI,MAAM,EAAE,GAAE,GAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC,EAAE,GAAE,GAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAE,EAAE,CAAC,CAAC,EAAE,EAAM,KAAC,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,OAAO,IAAI,SAAS,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,MAAM,OAAO,IAAI,SAAS,GAAG,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAO,aAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,IAAG,IAAI,YAAY,IAAI,aAAa,IAAI,UAAU,GAAG,CAAC,GAAG,GAAG,EAAE,GAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,GAAE,GAAE,EAAE,CAAC,EAAE,GAAE,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,EAAE,GAAG,GAAG,OAAO,IAAI,WAAW,MAAM,MAAM,qDAAqD,cAAc,EAAE,OAAO,GAAE,EAAE,CAAC,GAAG,EAAE,IAAI,MAAM,GAAE,GAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAE,IAAI,MAAM,GAAE,GAAE,GAAG,EAAE,CAAC,EAAM,GAAG,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,EAAE,iBAAiB,EAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,GAAE,IAAI,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,WAAW,GAAG,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,UAAU,CAAC,IAAI,GAAG,EAAE,QAAQ,OAAO,KAAK,EAAE,QAAQ,MAAM,EAAE,EAAE,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC,aAAa,QAAQ,WAAW,aAAa,UAAU,QAAQ,cAAc,YAAY,IAAI,IAAI,MAAM,CAAC,EAAE,eAAe,QAAQ,qBAAsB,sBAAqB,IAAI,QAAQ,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,aAAa,EAAE,KAAK,cAAc,IAAI,QAAQ,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE,GAAE,CAAC,EAAE,GAAG,GAAG,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,aAAa,EAAE,EAAE,MAAM,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,aAAa,mBAAmB,EAAE,EAAE,KAAK,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,SAAS,OAAO,GAAG,EAAE,QAAQ,SAAS,SAAS,EAAE,MAAM,MAAM,+CAA+C,oBAAoB,EAAE,KAAK,UAAU,MAAM,KAAK,EAAE,QAAQ,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAO,QAAG,EAAE,SAAS,SAAS,EAAE,KAAK,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,UAAU,GAAG,OAAO,EAAO,WAAM,MAAM,qEAAqE,EAAE,KAAK,QAAQ,EAAE,IAAI,EAAE,EAAE,aAAa,GAAG,KAAK,aAAa,IAAI,8BAA8B,IAAI,qCAAqC,KAAK,aAAa,KAAK,QAAQ,KAAK,KAAK,WAAW,KAAU,QAAG,KAAK,QAAQ,SAAS,cAAc,KAAK,EAAE,KAAK,WAAW,SAAS,cAAc,KAAK,EAAE,KAAK,QAAQ,UAAU,IAAI,sBAAsB,EAAE,KAAK,WAAW,UAAU,IAAI,sBAAsB,EAAE,KAAK,QAAQ,aAAa,OAAO,cAAc,EAAE,KAAK,WAAW,aAAa,OAAO,cAAc,EAAE,KAAK,QAAQ,aAAa,cAAc,MAAM,EAAE,KAAK,WAAW,aAAa,cAAc,MAAM,EAAE,GAAG,KAAK,KAAK,aAAa,aAAa,KAAK,QAAQ,CAAC,EAAE,KAAK,aAAa,aAAa,KAAK,WAAW,CAAC,EAAO,UAAK,aAAa,OAAO,KAAK,OAAO,EAAE,KAAK,aAAa,OAAO,KAAK,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,aAAa,UAAU,IAAI,mBAAmB,EAAE,IAAI,EAAE,KAAK,aAAa,MAAM,GAAG,GAAG,KAAK,EAAE,YAAY,iBAAiB,OAAO,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,mCAAmC,GAAG,KAAK,SAAS,MAAM,KAAK,YAAY,KAAK,KAAK,QAAQ,MAAM,WAAW,SAAS,KAAK,WAAW,MAAM,WAAW,SAAS,GAAG,EAAE,SAAS,MAAM,CAAC,KAAK,aAAa,aAAa,MAAM,EAAE,KAAK,aAAa,aAAa,OAAO,EAAE,EAAE,OAAO,MAAM,EAAE,GAAG,KAAK,aAAa,IAAI,KAAK,KAAK,cAAc,EAAE,SAAS,KAAK,QAAQ,KAAK,mGAAmG,EAAE,GAAG,CAAC,KAAK,cAAc,EAAE,SAAS,KAAK,GAAG,GAAG,QAAQ,KAAK,YAAY,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,OAAO,KAAK,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,aAAa,iBAAiB,SAAS,KAAK,OAAO,EAAE,EAAE,QAAQ,kBAAkB,SAAS,OAAO,iBAAiB,SAAS,KAAK,OAAO,EAAE,OAAO,iBAAiB,SAAS,KAAK,OAAO,EAAO,UAAK,aAAa,iBAAiB,SAAS,KAAK,OAAO,EAAE,aAAa,EAAE,CAAC,GAAG,KAAK,gBAAgB,KAAK,OAAO,KAAK,eAAe,IAAI,WAAW,EAAE,YAAY,GAAG,KAAK,QAAQ,EAAE,KAAK,MAAM,GAAG,IAAS,OAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAS,OAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,QAAQ,QAAQ,KAAK,SAAc,OAAE,EAAE,KAAK,QAAQ,OAAO,EAAE,KAAK,MAAM,EAAE,OAAO,KAAK,eAAe,EAAE,EAAE,YAAY,EAAE,CAAC,IAAI,QAAQ,GAAG,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,KAAK,wBAAwB,YAAY,CAAC,IAAI,EAAE,KAAK,aAAa,YAAY,EAAE,EAAE,kBAAkB,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,YAAY,IAAI,EAAE,KAAK,aAAa,sBAAsB,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,EAAO,OAAE,KAAK,aAAa,aAAa,EAAE,KAAK,aAAa,UAAU,IAAI,EAAE,EAAE,OAAO,KAAK,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,KAAK,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,KAAK,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,aAAa,GAAG,EAAE,EAAE,aAAa,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,EAAM,KAAC,IAAI,EAAE,KAAK,KAAK,EAAE,EAAE,MAAM,GAAG,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,KAAK,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,EAAE,CAAC,EAAE,KAAK,eAAoB,OAAE,IAAI,WAAW,EAAE,YAAY,GAAG,KAAK,QAAQ,EAAE,GAAE,CAAC,EAAE,EAAE,KAAK,aAAa,EAAE,GAAG,KAAK,aAAa,UAAU,OAAO,kBAAkB,EAAE,MAAM,SAAS,CAAC,EAAE,KAAK,QAAQ,SAAS,KAAK,KAAK,aAAa,aAAa,gBAAgB,OAAO,EAAE,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,gBAAgB,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,GAAG,EAAE,EAAE,IAAS,QAAG,IAAS,QAAG,IAAI,IAAI,GAAG,MAAM,IAAI,EAAE,WAAW,IAAI,EAAE,SAAS,GAAG,GAAG,EAAE,eAAe,MAAM,IAAI,EAAE,WAAW,IAAI,EAAE,aAAa,OAAO,GAAG,GAAG,EAAE,eAAe,KAAK,CAAC,KAAK,2BAA2B,CAAC,EAAE,OAAO,KAAK,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,KAAK,QAAQ,EAAE,KAAK,QAAQ,SAAS,aAAa,EAAE,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,GAAG,IAAS,OAAE,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,QAAQ,KAAK,MAAM,KAAK,KAAK,aAAa,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,SAAS,IAAI,KAAK,WAAW,SAAS,IAAI,EAAE,EAAE,IAAG,GAAG,GAAG,KAAK,SAAc,QAAG,IAAI,GAAG,EAAE,OAAO,EAAE,IAAQ,KAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,EAAM,KAAC,IAAI,EAAE,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,cAAc,IAAI,CAAC,EAAE,GAAG,GAAG,KAAK,QAAQ,KAAK,EAAE,EAAE,OAAO,EAAO,OAAE,OAAO,EAAE,GAAG,KAAK,cAAc,OAAO,CAAC,EAAE,GAAG,KAAK,KAAK,YAAY,OAAO,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,SAAS,MAAM,KAAK,YAAY,KAAK,KAAK,QAAQ,MAAM,OAAO,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,MAAM,OAAO,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,GAAG,IAAS,OAAE,SAAS,IAAI,EAAE,KAAK,cAAc,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,YAAY,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,cAAc,IAAI,EAAE,CAAC,EAAE,QAAQ,MAAK,EAAE,GAAE,IAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,SAAS,KAAK,cAAc,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,IAAG,OAAO,IAAI,SAAS,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,KAAK,YAAY,KAAK,KAAK,aAAa,aAAa,EAAE,KAAK,UAAU,EAAO,UAAK,aAAa,OAAO,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,GAAE,GAAG,KAAK,KAAK,KAAK,QAAQ,MAAM,EAAE,GAAG,GAAG,EAAC,EAAE,KAAK,YAAY,IAAI,OAAO,CAAC,EAAE,CAAC,EAAM,KAAC,IAAI,EAAE,GAAG,KAAK,KAAK,QAAQ,MAAK,EAAE,GAAG,GAAE,CAAC,GAAG,GAAG,KAAK,QAAQ,SAAS,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,GAAE,EAAE,GAAG,GAAE,aAAa,OAAO,UAAU,EAAE,GAAE,aAAa,gBAAgB,CAAC,EAAE,GAAE,aAAa,gBAAgB,OAAO,EAAE,CAAC,CAAC,EAAO,aAAQ,KAAK,EAAE,EAAE,aAAa,OAAO,UAAU,EAAE,EAAE,aAAa,gBAAgB,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,QAAQ,KAAK,EAAE,CAAC,GAAG,EAAE,yBAAyB,EAAE,GAAG,IAAI,GAAG,oBAAoB,KAAK,KAAK,aAAa,aAAa,EAAE,EAAE,kBAAkB,EAAO,QAAG,KAAK,YAAY,KAAK,KAAK,aAAa,aAAa,EAAE,KAAK,UAAU,EAAO,UAAK,aAAa,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,KAAK,KAAK,2BAA2B,CAAC,EAAE,GAAG,GAAG,KAAK,QAAQ,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,GAAG,EAAE,cAAc,EAAE,EAAE,QAAQ,KAAK,MAAM,KAAK,KAAK,aAAa,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,SAAS,IAAI,KAAK,WAAW,SAAS,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,SAAS,MAAM,KAAK,YAAY,KAAK,KAAK,QAAQ,MAAM,OAAO,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,MAAM,OAAO,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,GAAG,GAAG,IAAS,OAAE,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAK,GAAG,EAAE,cAAc,EAAE,EAAE,cAAc,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAO,QAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,KAAU,QAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,QAAQ,MAAM,gEAAgE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,aAAa,EAAE,GAAG,CAAC,EAAE,QAAQ,OAAO,OAAO,QAAQ,MAAM,oDAAoD,EAAE,cAAc,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,OAAO,EAAE,CAAC,EAAE,GAAG,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,OAAO,SAAS,IAAI,MAAM,QAAQ,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,OAAO,QAAQ,MAAM,6DAA6D,CAAC,EAAE,GAAG,IAAI,SAAS,EAAE,SAAS,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,IAAI,GAAG,OAAO,QAAQ,MAAM,wDAAwD,CAAC,EAAE,GAAG,IAAI,QAAQ,GAAG,EAAE,QAAQ,GAAG,GAAG,MAAM,aAAa,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,KAAK,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,kBAAkB,SAAS,EAAE,EAAE,OAAO,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,OAAO,QAAQ,EAAE,EAAE,EAAE,UAAU,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,sBAAsB,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAO,QAAG,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAO,WAAM,GAAG,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAO,KAAC,IAAI,EAAE,EAAE,EAAE,OAAO,OAAO,OAAO,QAAQ,EAAE,EAAE,UAAU,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,sBAAsB,EAAE,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,EAAE,EAAO,QAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAY,WAAM,GAAG,KAAK,SAAS,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,sBAAsB,EAAE,IAAI,OAAO,QAAQ,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,EAAO,OAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAM,KAAC,IAAI,EAAE,EAAE,cAAc,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO,QAAQ,MAAM,+DAA+D,CAAC,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,MAAM,GAAG,IAAI,SAAS,SAAS,CAAC,CAAC,EAAE,MAAM,KAAQ,SAAS,GAAG,iBAAiB,IAAI,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAE,IAAI,CAAC,EAAE,GAAG,GAAG,KAAK,OAAO,QAAQ,KAAK,EAAE,CAAC,IAAI,QAAQ,EAAE,QAAQ,GAAG,GAAG,KAAK,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,KAAI,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAK,EAAE,UAAU,CAAC,IAAQ,KAAC,GAAG,aAAa,YAAY,QAAQ,KAAK,gCAAgC,OAAM,EAAE,6EAA6E,EAAE,UAAU,GAAG,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,QAAQ,MAAM,KAAK,EAAE,iBAAiB,EAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,EAAE,GAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,iBAAiB,EAAC,CAAC,EAAE,QAAQ,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,QAAQ,EAAC,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,GAAE,IAAI,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,QAAQ,EAAE,KAAK,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,QAAQ,MAAM,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,6BAA6B,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,EAAE,GAAG,EAAM,KAAC,IAAI,EAAE,EAAE,KAAI,KAAK,EAAE,IAAG,EAAE,EAAE,EAAE,KAAI,KAAK,EAAE,IAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,QAAQ,EAAC,IAAI,GAAG,WAAW,UAAU,KAAK,GAAG,KAAK,iBAAiB,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,iBAAiB,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,UAAU,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,GAAG,KAAK,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,GAAE,IAAI,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,EAAE,GAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,WAAW,GAAG,EAAE,GAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,aAAa,iBAAiB,MAAM,MAAM,wCAAwC,EAAE,GAAG,GAAG,MAAM,OAAO,IAAI,UAAU,EAAE,IAAI,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,IAAI,UAAU,EAAE,MAAU,QAAG,IAAS,OAAE,CAAC,IAAI,MAAM,GAAG,EAAE,EAAE,OAAO,IAAI,SAAS,EAAE,EAAE,IAAG,EAAE,EAAE,OAAO,EAAE,MAAW,OAAE,OAAO,IAAI,SAAS,EAAE,EAAE,IAAG,GAAG,GAAG,KAAK,MAAM,MAAM,+CAA+C,EAAE,IAAI,MAAM,GAAG,EAAE,EAAE,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,GAAE,IAAI,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,EAAE,GAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,WAAW,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,kBAAkB,MAAM,IAAI,CAAC,EAAE,gBAAgB,EAAE,EAAE,IAAQ,KAAC,IAAI,EAAE,EAAE,GAAG,OAAO,OAAO,IAAI,WAAW,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,KAAK,EAAE,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,EAAM,KAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,EAAO,WAAM,MAAM,kCAAkC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,eAAe,KAAK,EAAE,cAAc,QAAQ,EAAE,EAAE,OAAO,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,KAAK,iBAAiB,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,GAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,OAAO,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,aAAa,UAAU,GAAG,IAAI,GAAG,EAAE,aAAa,GAAG,EAAE,8BAA8B,IAAI,EAAE,EAAE,aAAa,WAAW,EAAE,GAAG,GAAG,EAAE,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,uBAAuB,gBAAgB,IAAI,EAAE,EAAE,aAAa,WAAW,EAAE,GAAG,GAAG,EAAE,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,2BAA2B,gBAAgB,IAAI,EAAE,EAAE,aAAa,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,GAAG,EAAE,qCAAqC,KAAK,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,YAAY,EAAE,EAAE,CAAC,EAAO,OAAE,UAAU,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,cAAc,MAAM,SAAS,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,KAAK,SAAS,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,KAAK,EAAE,GAAG,EAAE,OAAO,cAAc,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,oBAAoB,GAAG,KAAK,EAAE,QAAQ,WAAW,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE;AAAA,EACr6vB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,SAAS,KAAK,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,GAAG,GAAG,MAAM,UAAU,WAAW,OAAQ,UAAS,QAAS,uBAAuB,sBAAsB,sBAAsB,wBAAwB,uBAAuB,sBAAsB,SAAQ,aAAc,SAAQ,EAAE,CAAC,OAAO,KAAK,WAAW,YAAa,kBAAiB,EAAE,CAAC,OAAO,KAAK,WAAW,mBAAmB,MAAO,aAAY,EAAE,CAAC,OAAO,KAAK,WAAW,cAAc,GAAG,aAAa,EAAE,CAAC,OAAO,KAAK,WAAW,cAAc,GAAG,GAAG,cAAc,EAAE,CAAC,OAAO,KAAK,WAAW,eAAe,GAAG,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,GAAG,EAAE,KAAK,UAAU,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,EAAO,UAAK,UAAU,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,YAAY,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,WAAW,aAAa,EAAE,CAAC,YAAa,mBAAkB,EAAE,CAAC,IAAI,EAAE,KAAK,eAAe,GAAG,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,KAAK,CAAC,EAAE,IAAI,EAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,gBAAiB,iBAAiB,WAAU,QAAQ,EAAE,KAAK,EAAE,gBAAiB,UAAS,eAAgB,QAAO,EAAE,CAAC,OAAO,KAAK,SAAS,oBAAoB,YAAY,cAAc,GAAG,sBAAuB,UAAS,CAAC,EAAE,CAAC,OAAO,QAAQ,KAAK,6DAA6D,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,QAAS,eAAc,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,OAAO,UAAU,eAAe,KAAK,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAW,OAAE,GAAE,qBAAqB,qFAAqF,EAAE,GAAG,EAAE,YAAiB,OAAE,GAAE,2BAA2B,yFAAyF,EAAE,GAAG,EAAE,UAAe,OAAE,GAAE,yBAAyB,gFAAgF,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,GAAG,KAAK,GAAG,OAAO,EAAE,OAAO,UAAU,EAAE,OAAO,IAAI,GAAG,EAAE,GAAE,EAAE,IAAI,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAO,OAAE,GAAG,EAAE,GAAG,eAAe,IAAI,CAAC,GAAG,KAAK,QAAQ,KAAK,GAAG,sBAAsB,EAAE,GAAG,EAAE,MAAM,YAAY,GAAG,KAAK,QAAQ,KAAK,GAAG,2CAA2C,EAAE,EAAE,GAAG,EAAE,MAAM,eAAe,IAAI,CAAC,IAAS,OAAE,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,eAAe,GAAG,IAAS,OAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAO,OAAE,OAAO,eAAe,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,gBAAgB,cAAc,IAAI,EAAE,CAAC,GAAG,GAAE,iBAAiB,8EAA8E,EAAE,CAAC,KAAK,oBAAoB,KAAK,oBAAoB,IAAI,IAAI,QAAQ,KAAK,EAAE,KAAK,oBAAoB,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAE,CAAC,EAAE,OAAO,eAAe,KAAK,EAAE,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,UAAU,OAAO,KAAK,aAAa,CAAC,EAAO,QAAG,KAAK,aAAa,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,SAAS,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAO,QAAG,EAAE,KAAU,OAAE,OAAO,EAAE,GAAQ,YAAO,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,WAAW,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,aAAa,EAAE,EAAE,EAAO,UAAK,gBAAgB,CAAC,EAAE,KAAK,YAAY,GAAQ,QAAG,OAAO,EAAE,KAAK,UAAU,GAAG,IAAI,WAAW,KAAK,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC,EAAE,KAAK,YAAY,EAAO,QAAG,OAAO,IAAI,UAAU,GAAG,MAAM,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,IAAS,QAAG,OAAO,IAAI,SAAS,KAAK,gBAAgB,CAAC,EAAO,UAAK,aAAa,EAAE,CAAC,EAAE,KAAK,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,yBAAyB,KAAK,OAAO,EAAE,GAAG,IAAS,QAAG,EAAE,MAAW,QAAG,EAAE,MAAW,OAAE,OAAO,IAAI,EAAE,KAAK,aAAa,OAAO,EAAE,KAAK,aAAa,OAAO,EAAE,GAAE,KAAK,KAAK,EAAE,OAAO,KAAK,MAAM,OAAO,eAAe,KAAK,QAAQ,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,cAAc,GAAG,KAAK,YAAY,EAAE,EAAE,CAAC,EAAE,UAAW,MAAK,EAAE,CAAC,IAAI,EAAE,KAAK,YAAY,KAAK,KAAK,WAAW,KAAK,GAAG,KAAK,QAAQ,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAU,OAAE,CAAC,IAAI,EAAE,EAAE,cAAc,UAAU,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,EAAE,GAAG,GAAG,KAAK,MAAM,MAAM,eAAe,oBAAoB,EAAE,EAAE,gBAAgB,UAAU,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,wBAAwB,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,qBAAqB,IAAI,CAAC,EAAE,KAAK,YAAY,EAAE,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,uBAAuB,EAAE,KAAK,YAAY,gBAAgB,OAAO,KAAK,kBAAkB,YAAY,CAAC,KAAK,UAAU,KAAK,UAAU,KAAK,gBAAgB,EAAE,IAAI,EAAE,KAAK,YAAY,eAAe,GAAG,EAAE,KAAK,yBAAyB,CAAC,EAAE,KAAK,WAAW,GAAG,KAAK,QAAQ,kBAAkB,KAAK,KAAK,KAAK,OAAO,GAAE,KAAK,YAAY,EAAE,sBAAsB,EAAE,CAAC,IAAI,EAAE,KAAK,YAAY,eAAe,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,IAAI,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,gBAAgB,EAAE,IAAI,EAAE,YAAY,UAAU,KAAK,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAO,OAAE,aAAa,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAO,OAAE,gBAAgB,KAAK,KAAK,CAAC,GAAG,eAAe,IAAI,KAAK,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,KAAK,gBAAgB,GAAG,IAAS,OAAE,OAAO,KAAK,gBAAqB,OAAE,OAAO,KAAK,aAAa,OAAO,KAAK,gBAAgB,QAAQ,KAAK,EAAE,GAAG,EAAE,KAAK,OAAO,GAAG,CAAC,KAAK,aAAa,EAAE,EAAE,EAAE,KAAK,aAAa,EAAE,GAAG,EAAE,EAAE,EAAO,UAAK,gBAAgB,EAAE,EAAE,EAAE,wBAAwB,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,YAAY,IAAI,IAAI,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,KAAK,GAAG,KAAK,oFAAoF,EAAE,SAAS,GAAG,OAAO,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,KAAK,2BAA2B,iDAAiD,EAAE,SAAS,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,yBAAyB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,MAAM,MAAM,EAAE,OAAO,eAAe,CAAC,EAAE,GAAG,EAAE,SAAS,OAAO,eAAe,KAAK,EAAE,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,GAAG,KAAK,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,KAAK,YAAY,IAAI,CAAC,EAAE,OAAO,KAAK,YAAY,IAAI,CAAC,EAAE,MAAM,GAAQ,QAAG,KAAK,aAAa,CAAC,EAAE,OAAO,OAAO,IAAI,SAAS,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAO,QAAG,KAAK,YAAY,IAAI,CAAC,EAAE,OAAO,KAAK,YAAY,IAAI,CAAC,EAAO,YAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,WAAW,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,aAAa,EAAE,EAAE,EAAO,UAAK,gBAAgB,CAAC,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,GAAQ,QAAG,OAAO,IAAI,UAAU,GAAG,IAAI,WAAW,KAAK,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,IAAI,EAAE,CAAC,EAAO,QAAG,OAAO,IAAI,UAAU,GAAG,MAAM,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,IAAS,QAAG,OAAO,IAAI,SAAS,KAAK,gBAAgB,CAAC,EAAO,UAAK,aAAa,EAAE,CAAC,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,KAAK,qBAAqB,EAAE,GAAG,KAAK,YAAY,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,KAAK,KAAK,aAAa,OAAO,KAAK,IAAI,EAAE,GAAG,KAAK,YAAY,gBAAgB,CAAC,KAAK,aAAa,UAAU,EAAE,KAAK,aAAa,WAAW,GAAG,EAAE,GAAG,KAAK,WAAgB,OAAE,CAAC,GAAG,GAAG,QAAQ,IAAI,EAAE,KAAK,WAAW,KAAK,KAAK,UAAU,KAAK,SAAS,KAAK,IAAI,EAAE,KAAK,iBAAiB,SAAS,KAAK,SAAS,EAAE,GAAG,KAAK,OAAO,MAAM,KAAK,aAAa,OAAO,GAAG,KAAK,KAAK,OAAO,KAAK,aAAa,OAAO,EAAE,GAAG,KAAK,WAAW,KAAK,QAAa,OAAE,KAAK,UAAU,aAAa,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,oBAAoB,EAAE,CAAC,GAAG,UAAU,IAAI,EAAE,iBAAiB,EAAE,CAAC,GAAG,KAAK,QAAa,OAAE,KAAK,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,aAAa,WAAW,EAAE,EAAO,UAAK,gBAAgB,UAAU,EAAE,wBAAwB,CAAC,EAAE,CAAC,GAAG,KAAK,QAAa,QAAG,OAAO,IAAI,SAAS,KAAK,MAAM,EAAE,cAAc,GAAG,cAAc,GAAG,WAAW,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU,OAAO,GAAG,CAAC,KAAK,cAAc,KAAK,cAAc,EAAE,GAAG,CAAC,KAAK,cAAc,KAAK,cAAc,GAAG,sBAAsB,IAAI,CAAC,GAAG,KAAK,eAAe,GAAG,GAAG,KAAK,QAAQ,EAAE,KAAK,WAAW,KAAK,QAAa,OAAE,KAAK,UAAU,aAAa,KAAK,KAAK,EAAE,KAAK,cAAc,GAAG,KAAK,cAAc,GAAG,KAAK,OAAO,EAAE,EAAE,UAAU,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,UAAU,EAAE,IAAI,EAAE,OAAO,KAAK,UAAU,WAAW,EAAE,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,CAAC,EAAE,KAAK,QAAQ,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,MAAM,OAAO,IAAI,UAAU,OAAO,IAAI,UAAU,GAAE,CAAC,EAAE,MAAM,GAAG,OAAO,OAAO,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,YAAY,EAAE,EAAE,iBAAiB,EAAE,UAAU,GAAG,EAAE,WAAW,CAAC,EAAE,gBAAgB,GAAE,mBAAmB,qEAAqE,EAAE,IAAI,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,KAAK,UAAU,QAAQ,KAAK,KAAK,6DAA6D,EAAE,EAAE,KAAK,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,aAAa,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAO,QAAG,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,UAAU,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,UAAU,KAAK,cAAc,yBAAyB,IAAS,OAAE,IAAI,EAAE,MAAM,KAAK,KAAK,iBAAiB,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAG,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,KAAK,KAAK,iBAAiB,oBAAoB,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,QAAQ,EAAE,EAAE,MAAM,GAAG,IAAS,OAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,KAAK,UAAU,IAAI,MAAM,EAAE,CAAC,GAAG,KAAK,eAAe,KAAK,WAAW,KAAK,QAAa,OAAE,KAAK,UAAU,aAAa,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,KAAK,WAAW,KAAK,QAAa,OAAE,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,SAAS,KAAK,MAAM,OAAO,KAAK,KAAK,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,OAAQ,kBAAiB,kBAAmB,gBAAe,CAAC,KAAK,EAAE,EAAE,QAAQ,WAAY,YAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,cAAc,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,aAAa,OAAO,EAAE,IAAI,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,eAAe,EAAE,MAAM,WAAW,CAAC,OAAQ,kBAAiB,iBAAkB,gBAAe,CAAC,KAAK,EAAE,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC,MAAM,EAAE,GAAE,WAAW,oDAAoD,QAAS,aAAY,GAAG,WAAW,CAAC,IAAI,GAAG,GAAG,eAAe,EAAM,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,aAAa,QAAQ,WAAW,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,KAAU,OAAE,OAAO,OAAO,EAAE,GAAG,EAAE,EAAE,EAAO,OAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,aAAa,QAAQ,YAAY,KAAK,UAAU,CAAC,CAAC,EAAE,QAAQ,IAAI,iCAAiC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAO,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,KAAK,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,QAAQ,QAAQ,EAAE,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,EAAE,EAAE,EAAE,gBAAgB,IAAI,CAAC,EAAE,OAAO,kBAAkB,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,MAAO,IAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,GAAG,UAAU,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,QAAS,IAAG,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,GAAG,WAAW,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,IAAI,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,gBAAgB,OAAO,EAAE,OAAO,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,GAAE,GAAE,EAAE,CAAC,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO,WAAW,EAAE,GAAG,IAAI,iBAAiB,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,EAAE,IAAI,IAAS,OAAE,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,KAAK,eAAe,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAE,GAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,iBAAiB,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,GAAE,CAAC,EAAE,GAAG,IAAS,OAAE,MAAM,MAAM,wEAAwE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,IAAS,OAAE,GAAE,GAAE,EAAE,CAAC,EAAE,GAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAM,KAAC,IAAI,EAAE,GAAE,GAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAE,CAAC,IAAI,IAAI,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,IAAS,OAAE,OAAO,IAAI,EAAE,GAAE,GAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,GAAE,GAAE,EAAE,CAAC,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,IAAS,OAAE,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,GAAE,CAAC,EAAE,GAAG,IAAS,OAAE,MAAM,MAAM,uEAAuE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAE,CAAC,IAAI,IAAI,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,CAAC,IAAS,OAAE,OAAO,IAAI,EAAE,GAAE,GAAE,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,GAAG,QAAQ,SAAS,CAAE,CAAC,EAAE,CAAC,OAAO,OAAO,OAAO,GAAE,CAAC,EAAE,GAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,GAAE,aAAa,qDAAqD,EAAE,EAAG,CAAC,EAAE,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAE,GAAG,EAAE,IAAI,EAAE,GAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,GAAE,iBAAiB,0DAA0D,EAAE,GAAG,CAAC,EAAE,OAAO,OAAO,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,GAAG,WAAW,EAAG,KAAK,EAAG,IAAI,EAAE,MAAM,GAAE,SAAS,GAAG,WAAW,GAAG,KAAK,EAAG,cAAc,GAAG,KAAK,GAAE,GAAG,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,UAAU,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAW,UAAG,MAAM,WAAW,CAAC,OAAQ,kBAAiB,uBAAwB,gBAAe,SAAU,gBAAe,CAAC,IAAI,WAAW,IAAI,GAAG,SAAS,SAAS,EAAE,OAAO,gBAAgB,CAAC,IAAI,QAAS,SAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,GAAG,KAAU,OAAE,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,CAAC,EAAE,EAAO,aAAQ,IAAI,gBAAgB,oBAAoB,GAAG,EAAE,KAAK,OAAO,MAAM,GAAG,GAAG,KAAK,gBAAgB,KAAK,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,GAAG,GAAG,eAAe,EAAE,MAAM,WAAW,CAAC,OAAQ,kBAAiB,oBAAqB,gBAAe,GAAG,UAAU,IAAI,QAAS,KAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,iBAAiB,+BAA+B,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,IAAI,CAAC,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,CAAC,MAAM,kBAAkB,EAAE,KAAK,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,eAAe,EAAE,MAAM,WAAW,EAAE,OAAQ,kBAAiB,sBAAuB,gBAAe,GAAG,WAAW,EAAE,CAAC,MAAM,EAAE,GAAE,gBAAgB,8DAA8D,EAAE,CAAC,IAAI,GAAG,GAAG,eAAe,EAAE,MAAM,WAAW,CAAC,OAAQ,kBAAiB,mBAAoB,gBAAe,GAAG,UAAU,IAAI,GAAG,WAAW,EAAE,CAAC,MAAM,EAAE,GAAE,aAAa,wDAAwD,OAAQ,KAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,iBAAiB,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,IAAI,CAAC,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,CAAC,MAAM,kBAAkB,EAAE,KAAK,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,eAAe,ECsEnte,IAAM,GAAmB,CAAC,EAEnB,MAAM,WAAe,CAAU,OAC7B,kBAAmB,oBAEf,WAAU,CAAC,EAAiC,CACrD,OAAO,OAAO,GAAkB,CAAO,EAEvC,QAAW,IAAU,CAAC,GAAG,GAAO,SAAS,EACvC,EAAO,YAAY,QAIhB,gBAAiB,CACtB,UAAW,GACX,IAAK,EACP,QAEO,WAAyB,IAAI,IAEpC,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EACxB,GAAO,UAAU,IAAI,IAAI,EAG3B,oBAAoB,EAAG,CACrB,MAAM,qBAAqB,EAC3B,GAAO,UAAU,OAAO,IAAI,EAG9B,MAAM,EAAS,CACb,GACE,KAAK,YAAc,KAClB,KAAK,IACF,GAAiB,KAAK,aAAe,GACrC,GAAiB,KAAK,aAAe,IAEzC,KAAK,gBAAgB,SAAU,EAAK,EAEpC,UAAK,gBAAgB,SAAU,EAAI,EAGzC,CAEO,IAAM,GAAS,GAAO,eAAe,EC9C5C,IAAM,GAA4B,CAAC,EAC5B,SAAS,EAAS,CACvB,EACA,EACc,CACd,GAAI,GAAc,KAAS,OAAW,CACpC,GAAI,IAAuB,OAAW,CACpC,IAAM,EAAY,WAChB,GAEF,GAAc,GAAO,QAAQ,QAAQ,EAAG,GAAqB,CAAS,CAAC,EAGzE,IAAM,EAAY,EAAS,OAAO,CAAE,KAAI,CAAC,EAEzC,SAAS,KAAK,OAAO,CAAS,EAE9B,GAAc,GAAO,IAAI,QAAQ,CAAC,IAAY,CAC5C,EAAU,OAAS,IAAM,EAAQ,UAAU,EAC5C,EAGH,OAAO,GAAc,GAGvB,IAAM,GAAgC,CAAC,EAChC,SAAS,EAAU,CAAC,EAA6B,CACtD,GAAI,GAAkB,KAAU,OAAW,CACzC,IAAM,EAAc,EAAS,KAAK,CAChC,IAAK,aACL,KAAM,WACN,MACF,CAAC,EAED,SAAS,KAAK,OAAO,CAAW,EAEhC,GAAkB,GAAQ,IAAI,QAAQ,CAAC,IAAY,CACjD,EAAY,OAAS,EACtB,EAEH,OAAO,GAAkB,GCtH3B,IAAe,IACb,UAAW,klHACX,MAAO,mzDACP,IAAK,k1DACL,IAAK,k1DACL,QAAS,4nJACT,YAAa,+iEACb,aAAc,4tGACd,OAAQ,6uGACR,OAAQ,28EACR,KAAM,4yFACN,QAAS,4mBACT,SAAU,qIACV,KAAM,iZACN,OAAQ,iWACR,IAAK,qJACL,QAAS,4YACT,KAAM,krBACN,IAAK,ynBACL,SAAU,gHACV,QAAS,iMACT,YAAa,sLACb,aAAc,iPACd,cAAe,wPACf,YAAa,gOACb,aAAc,gOACd,UAAW,gOACX,WAAY,gOACZ,OAAQ,iLACR,SAAU,8YACV,QAAS,gMACT,aAAc,0IACd,OAAQ,yJACR,MAAO,8JACP,UAAW,sLACX,SAAU,sLACV,gBAAiB,yPACjB,QAAS,6JACT,QAAS,kSACT,KAAM,2JACN,UAAW,+HACX,KAAM,iKACN,SAAU,wKACV,KAAM,mLACN,SAAU,qHACV,IAAK,ySACL,UAAW,4KACX,SAAU,gPACV,UAAW,qNACX,OAAQ,4LACR,KAAM,6NACN,YAAa,0JACb,YAAa,2KACb,MAAO,+FACP,OAAQ,wRACR,OAAQ,0FACR,UAAW,wMACX,MAAO,yIACP,aAAc,8XACd,eAAgB,wKAChB,SAAU,wMACV,UAAW,yPACX,UAAW,gZACX,MAAO,iHACP,KAAM,6IACN,QAAS,6TACT,YAAa,idACb,OAAQ,uRACR,QAAS,6JACT,QAAS,4PACT,QAAS,6KACT,KAAM,yLACN,IAAK,sfACL,WAAY,4JACZ,KAAM,gJACN,UAAW,0QACX,SAAU,0MACV,OAAQ,8MACR,KAAM,iIACN,aAAc,8NACd,aAAc,oPACd,OAAQ,2KACR,WAAY,iKACZ,cAAe,mNACf,SAAU,wMACV,SAAU,8PACV,QAAS,yGACT,MAAO,yHACP,MAAO,mJACP,KAAM,qMACN,aAAc,qNACd,OAAQ,mSACR,IAAK,uJACL,YAAa,qJACb,QAAS,4MACT,MAAO,kYACP,UAAW,uNACX,SAAU,oQACV,SAAU,8SACV,KAAM,2KACN,KAAM,oaACN,OAAQ,0HACR,KAAM,wKACN,YAAa,2LACb,WAAY,wOACZ,OAAQ,+IACR,OAAQ,8GACR,MAAO,+NACP,KAAM,2TACN,UAAW,6MACX,UAAW,0LACX,SAAU,qKACV,eAAgB,iNAChB,OAAQ,uWACR,OAAQ,kUACR,MAAO,kPACP,KAAM,8OACN,UAAW,wTACX,KAAM,+NACN,WAAY,+NACZ,MAAO,4MACP,WAAY,gMACZ,QAAS,6LACT,KAAM,sKACN,MAAO,0MACP,MAAO,8OACP,KAAM,qLACN,UAAW,qOACX,OAAQ,oLACR,IAAK,uLACL,OAAQ,qMACR,OAAQ,oMACR,SAAU,oZACV,MAAO,2LACP,KAAM,6MACN,SAAU,sOACV,KAAM,4TACN,OAAQ,8bACR,KAAM,4JACN,MAAO,wMACP,OAAQ,sMACR,KAAM,4LACN,OAAQ,yJACR,IAAK,gNACL,UAAW,oOACX,SAAU,iKACV,IAAK,gOACL,KAAM,oLACN,cAAe,4PACf,cAAe,iIACf,OAAQ,qUACR,IAAK,6PACL,UAAW,wOACX,SAAU,iKACV,YAAa,sIACb,YAAa,4JACb,MAAO,8FACP,QAAS,yMACT,KAAM,mHACN,eAAgB,sKAChB,aAAc,sKACd,aAAc,wIACd,KAAM,gUACN,MAAO,gKACP,YAAa,yGACb,WAAY,yGACZ,QAAS,qJACT,QAAS,4VACT,UAAW,qLACX,YAAa,kLACb,MAAO,iJACP,QAAS,2NACT,QAAS,qLACT,UAAW,oZACX,eAAgB,ybAChB,cAAe,ybACf,YAAa,ubACb,SAAU,oaACV,cAAe,ybACf,MAAO,iWACP,SAAU,gJACV,WAAY,4IACZ,KAAM,iGACN,WAAY,kLACZ,WAAY,wMACZ,KAAM,0IACN,OAAQ,8LACR,MAAO,6IACP,QAAS,8OACT,MAAO,8NACP,OAAQ,gOACR,OAAQ,uJACR,gBAAiB,2IACjB,gBAAiB,2IACjB,cAAe,wIACf,cAAe,2IACf,UAAW,oOACX,SAAU,sJACV,YAAa,6IACb,YAAa,uJACb,IAAK,qKACL,KAAM,kOACN,SAAU,kRACV,OAAQ,4IACR,KAAM,oJACN,OAAQ,uQACR,SAAU,20DACV,OAAQ,oRACR,MAAO,qMACP,UAAW,yOACX,OAAQ,+GACR,YAAa,sMACb,aAAc,gNACd,QAAS,gRACT,QAAS,0JACT,MAAO,g0BACP,MAAO,iJACP,QAAS,0bACT,WAAY,gKACZ,MAAO,6NACP,QAAS,qMACT,OAAQ,gHACR,KAAM,6KACN,WAAY,wIACZ,IAAK,qeACL,QAAS,oaACT,OAAQ,oaACR,MAAO,6KACP,OAAQ,gKACR,IAAK,8LACL,OAAQ,wKACR,SAAU,4IACV,YAAa,4HACb,KAAM,4NACN,OAAQ,uRACR,MAAO,6LACP,OAAQ,6MACR,aAAc,4JACd,WAAY,2JACZ,SAAU,4JACV,MAAO,wPACP,GAAI,4JACJ,OAAQ,6GACR,QAAS,+OACT,KAAM,0LACN,SAAU,wHACV,UAAW,oJACX,OAAQ,0JACR,SAAU,uLACV,iBAAkB,qLAClB,WAAY,6IACZ,aAAc,+FACd,cAAe,8IACf,YAAa,iQACb,OAAQ,qMACR,UAAW,mMACX,UAAW,iMACX,SAAU,6OACV,MAAO,4OACP,KAAM,mJACN,MAAO,yOACP,SAAU,gNACV,MAAO,kKACP,UAAW,2LACX,QAAS,8JACT,QAAS,6LACT,QAAS,wMACT,OAAQ,gHACR,MAAO,uSACP,QAAS,+YACT,KAAM,2OACN,KAAM,gKACN,QAAS,gLACT,SAAU,2OACV,QAAS,sMACT,EAAG,wIACH,OAAQ,wQACR,IAAK,qHACL,OAAQ,oOACR,QAAS,wLACT,SAAU,8qBACV,WAAY,kNACZ,cAAe,6QACf,OAAQ,4SACR,WAAY,qkBACZ,WAAY,iuBACZ,QAAS,4SACT,IAAK,4cACL,OAAQ,qLACR,cAAe,kQACf,eAAgB,kQAChB,eAAgB,oBAChB,eAAgB,oBAChB,aAAc,kBACd,aAAc,kBACd,WAAY,cACZ,UAAW,aACX,SAAU,gBACV,WAAY,gBACZ,WAAY,aACZ,gBAAiB,sBACjB,gBAAiB,uBACjB,cAAe,uBACf,UAAW,gBACX,UAAW,iBACX,QAAS,iBACT,YAAa,kBACb,YAAa,mBACb,UAAW,mBACX,aAAc,mBACd,aAAc,oBACd,WAAY,oBACZ,eAAgB,kBAChB,cAAe,mBACf,YAAa,kBACf,ECqOO,IAAM,GAAc,CAAC,IAA8C,CACxE,OAAO,OAAO,GAAU,CAAQ,GAGrB,GAAc,CACzB,EACA,EACA,EACA,IACW,CAEX,IAAM,EACJ,aAAgB,WACZ,CAAC,CAAI,EACL,MAAM,KAAK,EAAK,iBAAiB,KAAK,CAAC,EAE7C,GAAI,EAAK,OAAS,EAAG,CACnB,IAAM,EAAQ,EAAqB,SAAS,MAAQ,UACpD,QAAQ,MACN,gCAAgC,iEAClC,EAGF,IAAM,EAAM,EAAK,GACjB,EAAI,aAAa,QAAS,4BAA4B,EACtD,QAAW,KAAQ,EAAI,iBACrB,sDACF,EAAG,CACD,GAAI,IAAS,OAAW,EAAK,aAAa,OAAQ,CAAI,EACtD,GAAI,IAAW,OAAW,EAAK,aAAa,SAAU,CAAM,EAC5D,GAAI,IAAgB,OAClB,EAAK,aAAa,eAAgB,OAAO,CAAW,CAAC,EAGzD,IAAM,EAAS,EAAI,iBAAiB,SAAS,EAC7C,EAAI,gBAAgB,OAAO,EAC3B,QAAW,IAAQ,CAAC,GAAG,CAAM,EAAoB,CAC/C,IAAM,EAAI,EAAK,MACf,GAAI,EAAE,KAAM,EAAK,aAAa,OAAQ,EAAM,QAAQ,EAAE,IAAI,EAAE,IAAI,EAChE,GAAI,EAAE,OAAQ,EAAK,aAAa,SAAU,EAAM,QAAQ,EAAE,MAAM,EAAE,IAAI,EACtE,GAAI,EAAE,YAAa,EAAK,aAAa,cAAe,EAAE,WAAW,EACjE,GAAI,EAAE,cAAe,EAAK,aAAa,gBAAiB,EAAE,aAAa,EACvE,GAAI,EAAE,eAAgB,EAAK,aAAa,iBAAkB,EAAE,cAAc,EAC1E,EAAK,gBAAgB,OAAO,EAI9B,MAAO,wCADM,mBAAmB,EAAI,SAAS,MAezC,GAAiB,CAAC,IACtB,MAAM,KAAK,CAAI,EAAI,EAAO,IAAM,EAErB,GAAwB,CACnC,CACE,OAAQ,eACR,KAAK,CAAC,EAAU,EAAO,EAAO,CAC5B,IAAM,EAAO,EAA2B,GAAG,QAAQ,IAAK,GAAG,EACrD,EAAW,IAAM,KAAK,IAAI,WAAW,CAAG,CAAC,EACzC,EAAY,EAAI,WAAW,GAAG,EAAI,UAAY,SAE9C,EAAO,GAAY,EAAU,CAAC,CAAC,EAC/B,EAAK,EACX,GAAI,EAAG,QAAS,CACd,IAAM,EAAO,EAAG,MAAM,WAAa,GACnC,EAAG,QACD,CACE,CAAE,UAAW,GAAG,gBAAoB,EACpC,CAAE,UAAW,GAAG,kBAAsB,CACxC,EACA,CACE,SAAU,EAAW,KACrB,WAAY,IACZ,WACF,CACF,EAEF,OAAO,GAAS,EAAU,EAAO,CAAI,EAEzC,EACA,CACE,OAAQ,KACR,MAAO,CAAC,IAAa,YAAY,SACnC,EACA,CACE,OAAQ,QACR,MAAO,CAAC,IAAa,oBAAoB,SAC3C,EACA,CACE,OAAQ,SACR,MAAO,CAAC,IAAa,gBAAgB,SACvC,EACA,CACE,OAAQ,SACR,MAAO,CAAC,IAAa,mBAAmB,MAC1C,CACF,EAEI,GAAgB,EAEpB,SAAS,EAAQ,CAAC,EAAc,EAAkC,CAChE,IAAM,EAAM,EAAS,IAAI,EACzB,EAAI,UAAY,EAChB,IAAM,EAAY,EAAI,cAAc,KAAK,EAGnC,EAAQ,EAAU,iBAAiB,MAAM,EAC/C,GAAI,EAAM,OAAS,EAAG,CACpB,IAAM,EAAQ,IAAI,IAClB,QAAW,KAAM,EAAO,CACtB,IAAM,EAAQ,EAAG,GACX,EAAQ,eAAe,EAAE,KAC/B,EAAM,IAAI,EAAO,CAAK,EACtB,EAAG,GAAK,EAGV,IAAM,EAAO,EAAU,UACnB,EAAU,EACd,QAAY,EAAO,KAAU,EAAO,CAClC,IAAM,EAAU,EAAM,QAAQ,sBAAuB,MAAM,EAC3D,EAAU,EACP,QAAQ,IAAI,OAAO,UAAU,OAAc,GAAG,EAAG,QAAQ,IAAQ,EACjE,QAAQ,IAAI,OAAO,UAAU,KAAY,GAAG,EAAG,UAAU,IAAQ,EAEtE,GAAI,IAAY,EACd,EAAU,UAAY,EAI1B,IAAM,EAAU,IAAI,IAAI,EAAU,SAAS,EAC3C,EAAQ,IAAI,WAAW,EACvB,IAAM,EAAM,GAAY,IACtB,CACE,MAAO,MAAM,KAAK,CAAO,EAAE,KAAK,GAAG,EACnC,QAAS,EAAU,aAAa,SAAS,CAC3C,EACA,GAAG,EACH,GAAG,EAAU,QACf,EAEA,GADA,EAAI,MAAM,YAAc,EAAW,oBAAoB,KAAK,EACxD,EAAQ,IAAI,QAAQ,EACtB,EAAI,MAAM,OAAS,OACnB,EAAI,MAAM,KAAO,eACZ,QAAI,EAAQ,IAAI,SAAS,EAC9B,EAAI,MAAM,OAAS,EAAW,eAAe,cAAc,EAI3D,EAAI,MAAM,KAAO,EAAW,aAAa,MAAM,EAE/C,OAAI,MAAM,OAAS,EAAW,eAAe,cAAc,EAC3D,EAAI,MAAM,KAAO,EAAW,aAAa,cAAc,EAGzD,OADA,EAAI,MAAM,OAAS,EAAW,aAAa,MAAM,EAC1C,EAIF,SAAS,EAAQ,CACtB,EACA,KACG,EACc,CACjB,IAAM,EAAU,EAAS,KACvB,CACE,MAAO,sBACP,SAAU,EACV,MAAO,CACL,QAAS,cACT,SAAU,WACV,cAAe,MACjB,CACF,EACA,GAAG,CACL,EAEA,QAAW,KAAQ,EACjB,GAAI,GAAQ,OAAO,IAAS,UAAY,EAAE,aAAe,GAAe,CACtE,IAAM,EAAQ,EACd,GAAI,EAAM,OAAS,OAAO,EAAM,QAAU,SACxC,OAAO,OAAO,EAAQ,MAAO,EAAM,KAAK,EAE1C,GAAI,EAAM,MACR,EAAQ,UAAU,IAAI,GAAG,OAAO,EAAM,KAAK,EAAE,MAAM,GAAG,CAAC,EAI7D,OAAO,EAGT,SAAS,EAAU,CAAC,EAAuB,CACzC,IAAM,EAAO,GACb,GAAI,EAAK,GAAO,MAAO,GACvB,IAAM,EAAS,GAAmB,CAAI,EACtC,OAAO,GAAU,MAAQ,CAAC,CAAC,EAAK,EAAO,UAGzC,SAAS,EAAW,CAAC,EAAc,EAAsC,CACvE,QAAW,KAAQ,GAAW,CAC5B,IAAI,EACA,EAEJ,GAAI,EAAK,kBAAkB,OAAQ,CACjC,IAAM,EAAK,IAAI,OAAO,EAAK,OAAO,OAAS,OAAO,EAC5C,EAAI,EAAK,MAAM,CAAE,EACvB,GAAI,CAAC,EAAG,SACR,EAAW,EAAE,EAAE,OAAS,GACxB,EAAW,EAAS,GAAG,YAAY,EAAI,EAAS,MAAM,CAAC,EACvD,EAAQ,EACH,KACL,GAAI,CAAC,EAAK,WAAW,EAAK,MAAM,GAAK,EAAK,QAAU,EAAK,OAAO,OAC9D,SACF,EACE,EAAK,EAAK,OAAO,QAAQ,YAAY,EACrC,EAAK,MAAM,EAAK,OAAO,OAAS,CAAC,EACnC,EAAQ,EAAK,OAIf,GAAI,CAAC,GAAW,CAAQ,EAAG,SAE3B,IAAM,EAAS,EAAK,MAAM,GAAe,CAAQ,EAAG,EAAO,CAAK,EAChE,GAAI,OAAO,IAAW,SAAU,OAAO,GAAY,EAAQ,CAAK,EAChE,GAAI,EAAQ,OAAO,EAGrB,OAAO,KAGT,IAAM,GAAgB,GAQhB,GACJ,oEAEF,SAAS,EAAkB,CAAC,EAGnB,CACP,IAAM,EAAQ,EAAK,MAAM,EAAS,EAClC,GAAI,CAAC,EAAO,OAAO,KACnB,IAAI,EAAW,EAAK,MAAM,EAAG,EAAM,KAAM,EACzC,GAAI,CAAC,EAAU,OAAO,KAEtB,GAAI,EAAS,SAAS,GAAG,EAAG,EAAW,EAAS,MAAM,EAAG,EAAE,EAC3D,GAAI,CAAC,EAAU,OAAO,KAGtB,GAAI,CAFS,GAEH,IASR,GAAI,CARgB,GAAU,KAAK,CAAC,IAAS,CAC3C,GAAI,EAAK,kBAAkB,OACzB,OAAO,EAAK,OAAO,KAAK,CAAQ,EAElC,OACE,EAAS,WAAW,EAAK,MAAM,GAAK,EAAS,OAAS,EAAK,OAAO,OAErE,EACiB,OAAO,KAG3B,IAAM,EAAsC,CAAC,EACvC,EAAW,EAAM,GAAG,MAAM,4CAA4C,EAC5E,GAAI,CAAC,EAAU,OAAO,KACtB,IAAM,EAAuB,CAAC,EAC9B,QAAW,KAAK,EAAU,CACxB,IAAM,EAAO,EAAE,EAAE,OAAS,GAC1B,GAAI,IAAS,KAAO,IAAS,IAAK,CAChC,IAAM,EAAM,EAAE,MAAM,EAAG,EAAE,EAEnB,EADQ,qBAAqB,KAAK,CAAG,EACrB,IAAM,EAAO,EAAa,GAChD,GAAI,IAAS,IACX,EAAM,KAAO,EAEb,OAAM,OAAS,EAEZ,QAAI,IAAS,IAClB,EAAM,YAAc,EAAE,MAAM,EAAG,EAAE,EAC5B,KACL,IAAM,EAAM,SAAS,EAAE,QAAQ,IAAK,GAAG,CAAC,EACxC,OAAQ,OACD,IACH,EAAM,QAAU,OAAO,EAAM,GAAG,EAChC,UACG,IACH,EAAW,KAAK,SAAS,EAAM,MAAM,EACrC,UACG,IACH,EAAW,KAAK,cAAc,KAAO,EACrC,UACG,IACH,EAAW,KAAK,cAAc,KAAO,EACrC,UACG,IACH,EAAW,KAAK,UAAU,OAAS,EACnC,UACG,IACH,EAAW,KAAK,IAAQ,EAAI,aAAe,YAAY,EACvD,QAIR,GAAI,EAAW,OAAS,EACtB,EAAM,UAAY,EAAW,KAAK,GAAG,EACrC,EAAM,gBAAkB,UAE1B,MAAO,CAAE,WAAU,OAAM,EAIpB,SAAS,EAAW,CAAC,EAAc,EAA+B,CACvE,GAAI,EAAK,SAAS,GAAG,EAAG,EAAO,EAAK,MAAM,EAAG,EAAE,EAC/C,IAAM,EAAO,GAET,EAAO,EACX,QAAS,EAAI,EAAG,EAAI,GAAe,IAAK,CACtC,IAAM,EAAO,EAAK,GAClB,GAAI,CAAC,EAAM,MACX,GAAI,EAAK,WAAW,GAAG,EAAG,OAAO,GAAS,EAAM,CAAK,EACrD,EAAO,EAET,GAAI,IAAS,EAAM,CACjB,IAAM,EAAW,GAAY,EAAM,CAAK,EACxC,GAAI,EAAU,OAAO,EACrB,IAAM,EAAS,GAAmB,CAAI,EACtC,GAAI,EAAQ,CACV,IAAM,EAAO,GAAY,EAAO,SAAU,CAAK,EAE/C,OADA,OAAO,OAAQ,EAAqB,MAAO,EAAO,KAAK,EAChD,GAKX,GAAI,EAAK,SAAS,GAAG,EAAG,CACtB,IAAM,EAAW,EAAK,MAAM,GAAG,EAEzB,EAAO,GAAY,EAAS,EAAS,OAAS,GAAI,CAAC,CAAC,EACpD,EAAW,EACd,MAAM,EAAG,EAAE,EACX,QAAQ,EACR,IAAI,CAAC,IAAS,CACb,IAAM,EAAO,GAAY,EAAM,CAAC,CAAC,EAOjC,OANA,OAAO,OAAQ,EAAqB,MAAO,CACzC,SAAU,WACV,MAAO,IACP,MAAO,OACP,OAAQ,MACV,CAAC,EACM,EACR,EACH,OAAO,GAAS,EAAM,EAAO,EAAiB,GAAI,CAAsB,EAI1E,IAAM,EAAW,GAAY,EAAM,CAAK,EACxC,GAAI,EAAU,OAAO,EAGrB,IAAM,EAAS,GAAmB,CAAI,EACtC,GAAI,EAAQ,CACV,IAAM,EAAO,GAAY,EAAO,SAAU,CAAK,EAE/C,OADA,OAAO,OAAQ,EAAqB,MAAO,EAAO,KAAK,EAChD,EAGT,GAAI,EACF,QAAQ,KAAK,QAAQ,kBAAqB,EAE5C,OAAO,GAAS,GAAS,OAAQ,CAAK,EAGjC,IAAM,EAAQ,IAAI,MAAM,GAAU,CACvC,GAAG,CAAC,EAAQ,EAA8B,CACxC,MAAO,IAAI,IAAyB,GAAY,EAAM,CAAK,EAE/D,CAAC,EAEM,MAAM,WAAgB,CAAa,OACjC,kBAAmB,kBACnB,gBAAiB,CACtB,QAAS,CAEP,mBAAoB,6BACpB,2BACE,8DACF,8BAA+B,qCAC/B,6BAA8B,oCAC9B,mBAAoB,+CACpB,QAAS,cACT,cAAe,cACf,OAAQ,eACR,YAAa,EAAW,oBAAoB,KAAK,EACjD,eAAgB,EAAW,uBAAuB,OAAO,EACzD,cAAe,EAAW,sBAAsB,OAAO,EACvD,KAAM,EAAW,aAAa,MAAM,EACpC,OAAQ,EAAK,YACf,EACA,wCAAyC,CACvC,OAAQ,EAAW,aAAa,MAAM,CACxC,CACF,QAEO,gBAAiB,CACtB,KAAM,GACN,KAAM,EACN,KAAM,GACN,OAAQ,GACR,YAAa,CACf,EAEA,MAAM,EAAS,CACb,MAAM,OAAO,EACb,KAAK,YAAc,GACnB,IAAM,EAAsB,CAAC,EAC7B,GAAI,KAAK,KACP,EAAM,OAAS,KAAK,KAAO,KAC3B,KAAK,MAAM,YAAY,mBAAoB,GAAG,KAAK,QAAQ,EAE3D,KAAK,MAAM,YAAY,kBAAmB,GAAG,KAAK,QAAQ,EAE5D,GAAI,KAAK,OACP,EAAM,OAAS,KAAK,OACpB,EAAM,YAAc,KAAK,YAE3B,GAAI,KAAK,KACP,EAAM,KAAO,KAAK,KAEpB,KAAK,OAAO,EAAM,KAAK,MAAM,CAAE,OAAM,CAAC,CAAC,EAE3C,CAEO,IAAM,GAAU,GAAQ,eAAe,EC1xB9C,IAAM,GAAO,IAAM,GAIZ,MAAM,WAAY,CAAa,OAC7B,kBAAmB,UAE1B,aACA,cAEO,iBAAkB,CACvB,QAAS,CACP,QAAS,QACT,SAAU,UACZ,EACA,eAAgB,CACd,MAAO,OACP,OAAQ,MACV,EACA,uBAAwB,CACtB,OAAQ,GACR,MAAO,GACP,gBAAiB,cACjB,OAAQ,6BACR,gBAAiB,GAAY,EAAM,QAAQ,CAAC,EAC5C,mBAAoB,SACpB,iBAAkB,YAClB,OAAQ,OACR,aAAc,EACd,YAAa,OACb,QAAS,OACT,WAAY,2BACd,EACA,6BAA8B,CAC5B,UAAW,YACb,CACF,EAEA,QAAU,EAAS,OAAO,CAAE,KAAM,QAAS,CAAC,EAE5C,WAAW,EAAG,CACZ,MAAM,EAEN,KAAK,cAAgB,SAAY,CAC/B,IAAQ,WAAY,MAAM,GACxB,uCACA,SACF,EACA,OAAO,IACN,EAGL,MACA,OAEA,aAA4B,GAC5B,OAAsB,GAEd,QAAU,IAAM,CACtB,GAAI,KAAK,MAAO,CACd,GAAI,KAAK,SAAW,OAClB,KAAK,OAAO,KAAM,KAAK,OAAO,EAEhC,GAAI,KAAK,MAAM,eAAiB,OAC9B,KAAK,MAAM,OAAO,IAKxB,QAAQ,EAAG,CACT,GAAI,KAAK,OACP,KAAK,OAAO,OAAO,EAIvB,UAAY,MACV,EACA,EACA,IACkB,CAClB,IAAQ,WAAY,MAAM,GACxB,6DACA,SACF,EAEA,EAAQ,YAAY,OAAO,EAAM,EAAM,KAAK,MAAO,CAAe,GAGpE,OAAS,MAAO,IAAwC,CACtD,IAAQ,WAAY,MAAM,GACxB,mDACA,SACF,EACM,EACJ,EAAQ,IAAI,uBAAuB,mBACjC,MACA,GACA,KAAK,KACP,GACM,YAAW,UAAS,OAAM,QAAS,EAC3C,GAAI,EACF,EAAgB,WAAa,EAC7B,EAAgB,kBAAoB,GAItC,IAAI,EACJ,GAAI,EACF,EAAM,MAAM,EAAgB,sBAAsB,CAAS,EACtD,QAAI,EACT,EAAM,MAAM,EAAgB,kBAAkB,CAAO,EAChD,QAAI,EACT,EAAM,EAAgB,aAAa,CAAI,EAEvC,YAAO,KAGT,IAAM,EAAO,EAAgB,YAAY,EAAE,GACrC,EAAU,EAAK,SAAS,OAC5B,CAAC,EAA6B,IAAgB,CAE5C,OADA,EAAI,EAAO,MAAQ,EACZ,GAET,CAAC,CACH,EAEA,MAAO,CAAE,kBAAiB,MAAK,OAAM,SAAQ,GAG/C,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,IAAQ,UAAW,KAAK,MAExB,KAAK,aAAa,KAAK,MAAO,IAAY,CAIxC,GAHA,KAAK,QAAU,EACf,KAAK,OAAS,IAAI,EAAQ,OAAO,EAAQ,EAAI,EAC7C,KAAK,MAAQ,IAAI,EAAQ,MAAM,KAAK,MAAM,EACtC,KAAK,aACP,MAAM,KAAK,aAAa,KAAM,CAAO,EAEvC,GAAI,KAAK,MAAM,eAAiB,OACf,IAAI,EAAQ,gBACzB,iBACA,CAAC,KAAK,GAAK,EACX,KAAK,GAAK,IACV,EACA,IAAI,EAAQ,QAAQ,EAAG,EAAG,CAAC,CAC7B,EACO,cAAc,KAAK,MAAM,OAAQ,EAAI,EAE9C,KAAK,OAAO,cAAc,KAAK,OAAO,EACvC,EAEL,CAEO,IAAM,GAAM,GAAI,eAAe,EC3O/B,MAAM,WAAwB,CAAa,OACzC,kBAAmB,oBAEnB,gBAAiB,CACtB,IAAK,GACL,KAAM,EACR,EAEA,QAAU,KACV,OAAuB,CACrB,SAAU,MACV,KAAM,GACN,SAAU,EACZ,QAEO,oBAEP,gBAEO,iBAAkB,CACvB,QAAS,CACP,MAAO,IACP,OAAQ,IACR,QAAS,cACX,CACF,EAEQ,SAAW,MAEf,QAAO,EAAY,CACrB,OAAO,KAAK,SAGd,WAAW,EAAG,CACZ,MAAM,EACN,GAAI,GAAgB,qBAAuB,OACzC,GAAgB,mBAAqB,GACnC,wEACA,WACF,EAIa,YAAc,IAAY,CACzC,KAAK,SAAW,IAGD,KAAO,EAAG,eAA0C,CAKnE,GAJA,KAAK,SAAW,GAEhB,KAAK,OAAO,UACV,KAAK,aAAe,KAAO,KAAK,WAAa,OAC3C,KAAK,OAAS,GAChB,KAAK,OAAO,cAAgB,KAAK,KACjC,OAAO,KAAK,OAAO,KACd,QAAI,KAAK,MAAQ,GACtB,OAAO,KAAK,OAAO,cACnB,KAAK,OAAO,KAAO,KAAK,IAExB,aAAQ,IACN,kGACA,gDACA,iBACA,gDACA,iBACA,gDACA,gBACF,EAGF,GAAI,KAAK,UAAW,CAClB,KAAK,UAAU,QAAQ,EACvB,IAAM,EAAO,KAAK,WAClB,GAAI,IAAS,KACX,EAAK,cAAc,KAAK,GAAG,OAAO,EAGtC,KAAK,UAAY,EAAU,cAAc,KAAK,MAAM,EACpD,KAAK,UAAU,iBAAiB,YAAa,KAAK,WAAW,GAG/D,MAAM,EAAS,CACb,MAAM,OAAO,EAEb,GAAgB,mBAAoB,KAAK,KAAK,IAAI,EAAE,MAClD,CAAC,IAAoB,CACnB,QAAQ,MAAM,CAAC,EAEnB,EAEJ,CAEO,IAAM,GAAkB,GAAgB,eAAe,EC/I9D,IAAQ,UAAQ,QAAM,QAAQ,EAQvB,MAAM,WAAqB,CAAa,OACtC,kBAAmB,sBAEnB,gBAAiB,CACtB,KAAM,GACN,OAAQ,GACR,gBAAiB,EACjB,aAAc,KACd,UAAW,IACX,KAAM,GACN,KAAM,CACR,EAEQ,gBAAkB,KAAK,IAAI,EAC3B,SAEA,YAAc,IAAM,CAC1B,GAAI,KAAK,KAAO,GAAK,KAAK,KAAO,KAAO,KAAK,IAAI,EAAI,KAAK,gBACxD,KAAK,QAAQ,GAIT,MAAQ,KAEZ,KAAI,EAAW,CACjB,OAAO,KAAK,SAGV,KAAI,CAAC,EAAW,CAClB,IAAQ,WAAU,OAAM,WAAY,KAAK,MACzC,GAAI,KAAK,UAAY,EACnB,EAAQ,SAAW,EAAK,SAAW,GACnC,EAAI,EAEJ,OAAI,KAAK,IAAI,EAAG,KAAK,IAAI,KAAK,SAAU,CAAC,CAAC,EAC1C,EAAI,MAAM,CAAC,EAAI,EAAI,EAErB,GAAI,KAAK,QAAU,EACjB,KAAK,MAAQ,MAAM,CAAC,EAAI,EAAI,EAC5B,KAAK,cAAc,KAAK,MAAQ,EAAS,WAAW,EACpD,EAAK,SAAW,KAAK,MAAQ,GAAK,CAAC,KAAK,KACxC,EAAQ,SAAW,KAAK,MAAQ,KAAK,UAAY,CAAC,KAAK,QAIvD,aAAY,EAAkB,CAChC,MAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,OACxB,CAAC,IAAY,iBAAiB,CAAO,EAAE,UAAY,MACrD,KAGE,SAAQ,EAAW,CACrB,OAAO,KAAK,IACV,KAAK,KAAK,KAAK,aAAa,QAAU,KAAK,iBAAmB,EAAE,EAAI,EACpE,CACF,QAGK,iBAAkB,CACvB,QAAS,CACP,kBAAmB,GACnB,qBAAsB,QACtB,0BAA2B,QAC3B,2BAA4B,QAC5B,oBAAqB,GACrB,yBAA0B,QAC1B,iBAAkB,EAClB,oBAAqB,EAAK,gBAC1B,yBAA0B,GAC1B,uBAAwB,qBACxB,QAAS,OACT,cAAe,SACf,SAAU,UACZ,EACA,cAAe,CACb,QAAS,OACT,UAAW,MACb,EACA,YAAa,CACX,OAAQ,EAAK,gBACf,EACA,eAAgB,CACd,QAAS,OACT,OAAQ,OACR,UAAW,OACX,WAAY,cACZ,MAAO,EAAK,oBACZ,QAAS,CACX,EACA,0CAA2C,CACzC,SAAU,WACV,IAAK,EACL,OAAQ,EACR,MAAO,EAAK,mBACZ,OAAQ,CACV,EACA,oBAAqB,CACnB,KAAM,CACR,EACA,uBAAwB,CACtB,MAAO,CACT,EACA,wBAAyB,CACvB,QAAS,IACT,cAAe,MACjB,EACA,qBAAsB,CACpB,MAAO,EAAK,wBACd,EACA,sBAAuB,CACrB,MAAO,EAAK,yBACd,EACA,qBAAsB,CACpB,SAAU,UACZ,EACA,wBAAyB,CACvB,SAAU,cACV,SAAU,UACZ,EACA,oBAAqB,CACnB,QAAS,OACT,aAAc,QAChB,EACA,yDAA0D,CACxD,QAAS,MACX,EACA,aAAc,CACZ,WAAY,EAAK,oBACjB,aAAc,EAAK,gBACnB,OAAQ,EAAK,gBACb,MAAO,EAAK,gBACZ,WAAY,EAAK,qBACnB,EACA,iCAAkC,CAChC,WAAY,EAAK,yBACjB,OAAQ,EAAK,mBACb,MAAO,EAAK,mBACZ,OAAQ,EAAK,kBACf,EACA,kCAAmC,CACjC,WAAY,EAAK,yBACnB,EACA,qBAAsB,CACpB,WAAY,EAAK,uBACnB,EACA,wBAAyB,CACvB,QAAS,OACT,IAAK,EAAK,mBACV,eAAgB,SAChB,QAAS,EAAK,uBAChB,CACF,EAEA,OAAS,CAAC,IAAc,CACtB,OAAO,KAAK,IAAI,EAAI,KAAK,GAAK,GAAG,GAGnC,gBAAkB,IAAM,CACtB,IAAQ,WAAU,YAAa,KAAK,MAC9B,EAAO,EAAS,WAAa,EAAS,YAC3C,CAAC,GAAG,EAAS,QAAQ,EAAE,QAAQ,CAAC,EAAK,IAAU,CAC9C,EAAI,UAAU,OACZ,UACA,KAAK,MAAM,EAAQ,KAAK,gBAAkB,CAAI,IAAM,CACtD,EACD,EACD,KAAK,gBAAkB,KAAK,IAAI,EAChC,aAAa,KAAK,SAAS,EAC3B,KAAK,UAAY,WAAW,KAAK,aAAc,KAAK,UAAY,IAAI,GAGtE,aAAe,IAAM,CACnB,IAAQ,YAAa,KAAK,MACpB,EAAkB,KAAK,MAC3B,EAAS,WAAa,EAAS,WACjC,EACA,GAAI,IAAoB,KAAK,KAC3B,KAAK,KACH,EAAkB,KAAK,KACnB,KAAK,KAAK,CAAe,EACzB,KAAK,MAAM,CAAe,EAElC,KAAK,gBAAkB,KAAK,IAAI,GAGlC,KAAO,IAAM,CACX,KAAK,KAAO,KAAK,KAAO,EAAI,KAAK,KAAO,EAAI,KAAK,UAGnD,QAAU,IAAM,CACd,KAAK,KAAO,KAAK,KAAO,KAAK,SAAW,KAAK,KAAO,EAAI,GAG1D,eAAiB,CAAC,IAAiB,CACjC,IAAQ,YAAa,KAAK,MACpB,EAAQ,CAAC,GAAG,EAAS,QAAQ,EAAE,QAAQ,EAAM,MAAqB,EACxE,GAAI,EAAQ,GACV,KAAK,KAAO,KAAK,MAAM,EAAQ,KAAK,eAAe,GAI/C,UACA,eACR,aAAa,CAAC,EAAkB,EAAmB,GAAI,EAAY,EAAG,CACpE,qBAAqB,KAAK,cAAc,EACxC,IAAQ,YAAa,KAAK,MAC1B,GAAI,IAAqB,GAAI,CAC3B,EAAmB,EAAS,WAC5B,EAAY,KAAK,IAAI,EACrB,KAAK,eAAiB,sBAAsB,IAAM,CAChD,KAAK,cAAc,EAAU,EAAkB,CAAS,EACzD,EACD,OAEF,IAAM,GAAW,KAAK,IAAI,EAAI,GAAa,KAC3C,GACE,GAAW,KAAK,cAChB,KAAK,IAAI,EAAS,WAAa,CAAQ,EAAI,EAE3C,EAAS,WAAa,EACtB,KAAK,eAAiB,KAEtB,OAAS,WACP,EACA,KAAK,OAAO,EAAU,KAAK,YAAY,GAAK,EAAW,GACzD,KAAK,eAAiB,sBAAsB,IAAM,CAChD,KAAK,cAAc,EAAU,EAAkB,CAAS,EACzD,EAIL,QAAU,IAAM,CACd,GACE,CAAE,KAAM,OAAQ,EAChB,GAAO,CAAE,MAAO,iBAAkB,KAAM,MAAO,EAAG,EAAM,YAAY,CAAC,EACrE,GACE,CAAE,MAAO,SAAU,KAAM,QAAS,KAAM,UAAW,EACnD,GAAI,CAAE,KAAM,MAAO,EAAG,GAAK,CAAC,CAC9B,EACA,GAAO,CAAE,MAAO,aAAc,KAAM,SAAU,EAAG,EAAM,aAAa,CAAC,CACvE,EACA,GAAI,CAAE,MAAO,0BAA2B,KAAM,QAAS,KAAM,UAAW,CAAC,CAC3E,EAEA,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EAExB,KAAK,oBAAsB,WAC3B,KAAK,gBAAkB,aACvB,KAAK,aAAe,OAEpB,IAAQ,OAAM,UAAS,WAAU,YAAa,KAAK,MACnD,EAAK,iBAAiB,QAAS,KAAK,IAAI,EACxC,EAAQ,iBAAiB,QAAS,KAAK,OAAO,EAC9C,EAAS,iBAAiB,SAAU,KAAK,eAAe,EACxD,EAAS,iBAAiB,QAAS,KAAK,cAAc,EAEtD,KAAK,gBAAkB,KAAK,IAAI,EAChC,KAAK,SAAW,YAAY,KAAK,YAAa,GAAG,EAGnD,oBAAoB,EAAG,CACrB,cAAc,KAAK,QAAQ,EAG7B,MAAM,EAAG,CACP,MAAM,OAAO,EAEb,IAAQ,OAAM,SAAQ,eAAc,YAAa,MACzC,WAAU,OAAM,UAAS,QAAS,KAAK,MAE/C,EAAa,QAAQ,CAAC,IAAS,CAC7B,EAAK,KAAO,QACb,EACD,EAAK,MAAM,oBAAsB,GAC/B,IAAM,KAAK,iBAAmB,EAAI,KAAK,cAEtC,OAAO,EAAa,MAAM,EAC1B,KAAK,EACR,EAAK,MAAM,OAAS,EAAI,KAAK,UAAY,IAAM,IAC/C,EAAS,YAAc,GACvB,EAAS,OACP,GAAG,EAAa,IAAI,CAAC,EAAG,IACtB,GAAO,CAAE,MAAO,QAAQ,EAAQ,IAAK,MAAO,KAAM,CAAC,CACrD,CACF,EAEA,KAAK,gBAAgB,EACrB,EAAS,MAAM,QAAU,GAAQ,EAAW,EAAI,GAAK,OACrD,EAAK,OAAS,EAAQ,OAAS,EAAE,GAAU,EAAW,GAE1D,CAKO,IAAM,GAAmC,GAEnC,GAAe,GAAa,eAAe,EAG3C,GAAc,GCvV3B,IAAQ,OAAK,SAAS,EAcf,SAAS,EAAS,CAAC,EAAgB,EAA2B,CACnE,IAAM,EAAI,EAAO,MAAM;AAAA,CAAI,EACrB,EAAI,EAAM,MAAM;AAAA,CAAI,EACpB,EAAI,EAAE,OACN,EAAI,EAAE,OAGN,EAAkB,MAAM,KAAK,CAAE,OAAQ,EAAI,CAAE,EAAG,IAChD,MAAM,EAAI,CAAC,EAAE,KAAK,CAAC,CACzB,EACA,QAAS,EAAI,EAAI,EAAG,GAAK,EAAG,GAAK,EAC/B,QAAS,EAAI,EAAI,EAAG,GAAK,EAAG,GAAK,EAC/B,EAAI,GAAG,GACL,EAAE,KAAO,EAAE,GACP,EAAI,EAAI,GAAG,EAAI,GAAK,EACpB,KAAK,IAAI,EAAI,EAAI,GAAG,GAAI,EAAI,GAAG,EAAI,EAAE,EAI/C,IAAM,EAAkB,CAAC,EACrB,EAAI,EACJ,EAAI,EACR,MAAO,EAAI,GAAK,EAAI,EAClB,GAAI,EAAE,KAAO,EAAE,GACb,EAAI,KAAK,CAAE,GAAI,UAAW,KAAM,EAAE,EAAG,CAAC,EACtC,GAAK,EACL,GAAK,EACA,QAAI,EAAI,EAAI,GAAG,IAAM,EAAI,GAAG,EAAI,GACrC,EAAI,KAAK,CAAE,GAAI,SAAU,KAAM,EAAE,EAAG,CAAC,EACrC,GAAK,EAEL,OAAI,KAAK,CAAE,GAAI,MAAO,KAAM,EAAE,EAAG,CAAC,EAClC,GAAK,EAGT,MAAO,EAAI,EACT,EAAI,KAAK,CAAE,GAAI,SAAU,KAAM,EAAE,EAAG,CAAC,EACrC,GAAK,EAEP,MAAO,EAAI,EACT,EAAI,KAAK,CAAE,GAAI,MAAO,KAAM,EAAE,EAAG,CAAC,EAClC,GAAK,EAEP,OAAO,EAOT,IAAM,GAAiC,CAAE,QAAS,IAAK,IAAK,IAAK,OAAQ,GAAI,EAEtE,MAAM,WAAiB,CAAqB,OAC1C,kBAAmB,kBAInB,gBAAiB,CACtB,SAAU,GACV,SAAU,EACZ,QAEO,iBAAkB,CACvB,QAAS,CACP,QAAS,QACT,SAAU,OACV,KAAM,4CACN,WAAY,4BACZ,MAAO,8BACT,EAGA,kBAAmB,CACjB,QAAS,MACX,EACA,aAAc,CACZ,QAAS,OACT,oBAAqB,YACrB,WAAY,WACZ,UAAW,YACb,EACA,qBAAsB,CACpB,UAAW,SACX,WAAY,OACZ,QAAS,KACX,EACA,YAAa,CACX,WAAY,kCACd,EACA,oBAAqB,CAAE,MAAO,qCAAsC,EACpE,eAAgB,CACd,WAAY,qCACd,EACA,uBAAwB,CAAE,MAAO,wCAAyC,CAC5E,EAEA,QAAU,IAAM,CAAC,GAAI,CAAE,KAAM,MAAO,CAAC,CAAC,EAEtC,MAAM,EAAS,CACb,MAAM,OAAO,EACb,IAAM,EAAQ,GAAU,KAAK,SAAU,KAAK,QAAQ,EACpD,KAAK,MAAM,KAAK,gBACd,GAAG,EAAM,IAAI,CAAC,IACZ,GACE,CAAE,MAAO,kBAAkB,EAAK,IAAK,EACrC,GAAK,CAAE,MAAO,QAAS,EAAG,GAAO,EAAK,GAAG,EAEzC,GAAK,CAAE,MAAO,MAAO,EAAG,EAAK,OAAS,GAAK,IAAK,EAAK,IAAI,CAC3D,CACF,CACF,EAEJ,CAEO,IAAM,GAAW,GAAS,eAAe,ECrIhD,IAAM,GAAe,qDACf,GAAgB,qBAEhB,GAAS,SAA0B,CACvC,IAAQ,OAAQ,MAAM,GAAU,GAAG,cAAwB,EAC3D,OAAO,GAGH,GAAiB,MACrB,EACA,EAAO,OACP,EAAU,CAAC,EACX,EAAQ,KACL,CACH,IAAM,EAAM,MAAM,GAAO,EACzB,EAAI,OAAO,IAAI,WAAY,EAAY,EACvC,IAAM,EAAS,EAAI,KAAK,EAAa,CACnC,KAAM,YAAY,IAClB,QAAS,EACT,YAAa,GACb,UAAW,GAGX,KAAM,GACN,iBAAkB,MACf,CACL,CAAC,EAED,OADA,EAAO,SAAS,CAAK,EACd,CAAE,MAAK,QAAO,GAGhB,MAAM,WAAmB,CAAa,OACpC,kBAAmB,YAElB,OAAS,MAEb,MAAK,EAAW,CAClB,OAAO,KAAK,SAAW,OAAY,KAAK,OAAS,KAAK,OAAO,SAAS,KAGpE,MAAK,CAAC,EAAc,CACtB,GAAI,KAAK,SAAW,OAClB,KAAK,OAAS,EAEd,UAAK,OAAO,SAAS,CAAI,EACzB,KAAK,OAAO,eAAe,EAC3B,KAAK,OAAO,QAAQ,eAAe,EAAE,MAAM,EAMvC,aACJ,SAAQ,EAAW,CACrB,OAAO,KAAK,WAAa,KAAK,SAE5B,SAAQ,CAAC,EAAc,CACzB,KAAK,UAAY,EAMX,eAEJ,YAAW,EAAY,CACzB,OAAO,KAAK,cAAgB,QAAa,CAAC,KAAK,YAAY,OAG7D,QAAQ,CAAC,EAAmB,CAC1B,GAAI,EAAI,CACN,GAAI,KAAK,cAAgB,OACvB,KAAK,YAAc,GAAS,CAC1B,MAAO,CACL,SAAU,WACV,MAAO,IACP,OAAQ,IACR,SAAU,OACV,WAAY,8CACd,CACF,CAAC,EACD,KAAK,OAAO,KAAK,WAAW,EAE9B,KAAK,YAAY,SAAW,KAAK,SACjC,KAAK,YAAY,SAAW,KAAK,MACjC,KAAK,YAAY,OAAS,GACrB,QAAI,KAAK,cAAgB,OAC9B,KAAK,YAAY,OAAS,SAIvB,gBAAiB,CACtB,KAAM,aACN,MAAO,GACP,SAAU,EACZ,EAEA,KAAO,cAEC,KACA,QACA,eACR,QAAe,CAAC,KAEZ,IAAG,EAAQ,CACb,OAAO,KAAK,QAGV,OAAM,EAAQ,CAChB,OAAO,KAAK,cAGP,iBAAkB,CACvB,QAAS,CACP,QAAS,QACT,SAAU,WACV,MAAO,OACP,OAAQ,MACV,CACF,EAEA,QAAQ,EAAG,CACT,GAAI,KAAK,SAAW,OAClB,KAAK,OAAO,OAAO,EAAI,EAI3B,iBAAiB,EAAG,CAGlB,GAFA,MAAM,kBAAkB,EAEpB,KAAK,SAAW,GAClB,KAAK,MAAQ,KAAK,cAAgB,KAAO,KAAK,YAAY,KAAK,EAAI,GAGrE,GAAI,KAAK,iBAAmB,OAC1B,KAAK,eAAiB,GACpB,KACA,KAAK,KACL,KAAK,QACL,KAAK,KACP,EACA,KAAK,eAAe,KAAK,EAAG,MAAK,YAAa,CAC5C,KAAK,KAAO,EACZ,KAAK,QAAU,EACf,EAAO,SAAS,KAAK,OAAQ,CAAC,EAC9B,EAAO,eAAe,EACtB,EAAO,QAAQ,eAAe,EAAE,MAAM,EACvC,EAIL,MAAM,EAAS,CAGb,GAFA,MAAM,OAAO,EAET,KAAK,iBAAmB,OAC1B,KAAK,eAAe,KAAK,EAAG,YAC1B,EAAO,YAAY,KAAK,QAAQ,CAClC,EAGN,CAEO,IAAM,GAAa,GAAW,eAAe,ECtJpD,IAAQ,UAAU,EAEZ,GAAe,EAAM,QAAQ,OAAO,EAQ1C,MAAM,WAAmB,CAAsB,OACtC,kBAAmB,aAE1B,MAAQ,GAAa,KACrB,MAAQ,SAED,iBAAkB,CACvB,QAAS,CACP,KAAM,EACN,YAAa,GACb,UAAW,GACX,YAAa,GACb,QAAS,cACT,IAAK,EAAK,IACV,WAAY,QACd,EACA,4BAA6B,CAC3B,OAAQ,EACR,MAAO,EAAK,WACZ,OAAQ,EAAK,WACb,WAAY,aACd,EACA,qBAAsB,CACpB,MAAO,EAAK,UACd,EACA,mBAAoB,CAClB,MAAO,EAAK,SACZ,WAAY,WACd,CACF,EAEA,QAAU,CACR,GAAM,CAAE,MAAO,aAAc,KAAM,QAAS,KAAM,KAAM,CAAC,EACzD,GAAM,CACJ,KAAM,QACN,MAAO,UACP,KAAM,QACN,IAAK,EACL,IAAK,EACL,KAAM,IACR,CAAC,EACD,GAAM,CAAE,MAAO,iBAAkB,KAAM,KAAM,CAAC,CAChD,EAEQ,aAAe,GACvB,OAAS,CAAC,IAAiB,CACzB,IAAQ,MAAK,QAAO,OAAQ,KAAK,MACjC,GAAI,EAAM,OAAS,QACjB,KAAK,MAAQ,EAAM,QAAQ,EAAI,KAAK,EACpC,KAAK,MAAM,EAAI,OAAO,EAAM,KAAK,EACjC,EAAI,MAAQ,KAAK,MAAM,KAEvB,UAAK,MAAQ,EAAM,QAAQ,EAAI,KAAK,EACpC,EAAI,MAAQ,KAAK,MAAM,KAAK,UAAU,EAAG,CAAC,EAC1C,EAAM,MAAQ,OAAO,KAAK,MAAM,CAAC,EAEnC,EAAI,MAAM,QAAU,OAAO,KAAK,MAAM,CAAC,EACvC,KAAK,MAAQ,KAAK,MAAM,KACxB,KAAK,aAAe,IAGtB,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EAExB,IAAQ,MAAK,QAAO,OAAQ,KAAK,MACjC,EAAI,iBAAiB,QAAS,KAAK,MAAM,EACzC,EAAM,iBAAiB,QAAS,KAAK,MAAM,EAC3C,EAAI,iBAAiB,SAAU,KAAK,MAAM,EAG5C,MAAM,EAAG,CACP,GAAI,KAAK,aAAc,CACrB,KAAK,aAAe,GACpB,OAEF,IAAQ,MAAK,QAAO,OAAQ,KAAK,MACjC,KAAK,MAAQ,EAAM,QAAQ,KAAK,KAAK,EAErC,EAAI,MAAQ,KAAK,MAAM,KAAK,UAAU,EAAG,CAAC,EAC1C,EAAI,MAAM,QAAU,OAAO,KAAK,MAAM,CAAC,EACvC,EAAM,MAAQ,OAAO,KAAK,MAAM,CAAC,EACjC,EAAI,MAAQ,KAAK,MAAM,KAE3B,CAEO,IAAM,GAAa,GAAW,eAAe,EClDpD,IAAM,GAAU,EAAS,IAAI,CAC3B,MAAO,CACL,QAAS,IACT,SAAU,QACV,IAAK,EACL,KAAM,EACN,MAAO,EACP,OAAQ,CACV,CACF,CAAC,EAEK,GAAU,CAAE,QAAS,EAAK,EAEnB,GAAY,CACvB,EACA,EACA,EAAS,SACA,CAGT,GAAI,CAFiB,EAAM,KAAK,WAAW,OAAO,EAE/B,CACjB,IAAoB,QAAd,EACc,QAAd,GAAQ,EAEd,GAAQ,MAAM,OAAS,EACvB,GAAa,EAAO,EACpB,SAAS,KAAK,OAAO,EAAO,EAE5B,IAAM,EAAkB,CAAC,IAAe,CACtC,IAAM,EAAK,EAAM,QAAU,EACrB,EAAK,EAAM,QAAU,EAC3B,GAAI,EAAS,EAAI,EAAI,CAAK,IAAM,GAC9B,GAAQ,oBAAoB,YAAa,CAAe,EACxD,GAAQ,oBAAoB,UAAW,CAAe,EACtD,GAAQ,OAAO,GAInB,GAAQ,iBAAiB,YAAa,EAAiB,EAAO,EAC9D,GAAQ,iBAAiB,UAAW,EAAiB,EAAO,EACvD,QAAI,aAAiB,WAAY,CACtC,IAAM,EAAQ,EAAM,eAAe,GAC7B,EAAU,EAAM,WAChB,EAAQ,EAAM,QACd,EAAQ,EAAM,QACd,EAAc,EAAM,OAEtB,EAAK,EACL,EAAK,EACH,EAAkB,CAAC,IAAe,CACtC,IAAM,EAAQ,CAAC,GAAG,EAAM,OAAO,EAAE,KAC/B,CAAC,IAAU,EAAM,aAAe,CAClC,EACA,GAAI,IAAU,OACZ,EAAK,EAAM,QAAU,EACrB,EAAK,EAAM,QAAU,EAEvB,GAAI,EAAM,OAAS,YACjB,EAAM,gBAAgB,EACtB,EAAM,eAAe,EAEvB,GAAI,EAAS,EAAI,EAAI,CAAK,IAAM,IAAQ,IAAU,OAChD,EAAO,oBAAoB,YAAa,CAAe,EACvD,EAAO,oBAAoB,WAAY,CAAe,EACtD,EAAO,oBAAoB,cAAe,CAAe,GAI7D,EAAO,iBAAiB,YAAa,CAAe,EACpD,EAAO,iBAAiB,WAAY,EAAiB,EAAO,EAC5D,EAAO,iBAAiB,cAAe,EAAiB,EAAO,IAItD,GAAe,CAAC,EAAW,WACtC,CAAC,GAAG,SAAS,iBAAiB,CAAQ,CAAC,EACpC,IAAI,CAAC,IAAQ,WAAW,iBAAiB,CAAG,EAAE,MAAM,CAAC,EACrD,OACC,CAAC,EAAG,IAAa,MAAM,CAAC,GAAK,OAAO,CAAC,EAAI,EAAU,EAAU,OAAO,CAAC,EACrE,CACF,EAES,GAAe,CAC1B,EACA,EAAW,WACF,CACT,EAAQ,MAAM,OAAS,OAAO,GAAa,CAAQ,EAAI,CAAC,GC5E1D,IAAQ,SAAS,EAEV,MAAM,WAAkB,CAAa,OACnC,kBAAmB,mBACnB,QAAyB,IAAI,UAE7B,gBAAiB,CACtB,KAAM,GACN,eAAgB,SAChB,eAAgB,QAClB,EAEA,QAAU,GAAK,QAER,iBAAkB,CACvB,QAAS,CACP,SAAU,OACZ,CACF,EAEA,WAAa,CAAC,IAAiB,CAC7B,GAAI,aAAiB,YAAc,EAAM,SAAW,EAClD,OAGF,GADe,EAAM,QACT,QAAQ,UAAU,EAC5B,OAEF,GAAI,KAAK,KAAM,CACb,GAAa,IAAI,EACjB,IAAM,EAAI,KAAK,WACT,EAAI,KAAK,UAEf,GACE,EACA,CACE,EACA,EACA,IACqB,CAKrB,GAJA,KAAK,MAAM,KAAO,GAAG,EAAI,MACzB,KAAK,MAAM,IAAM,GAAG,EAAI,MACxB,KAAK,MAAM,MAAQ,OACnB,KAAK,MAAM,OAAS,OAChB,EAAa,OAAS,UACxB,MAAO,GAGb,IAIJ,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,GAAqB,EACrB,GAAU,OAAO,IAAI,IAAI,EACzB,IAAM,EAAU,CAAE,QAAS,EAAK,EAChC,KAAK,iBAAiB,aAAc,KAAK,WAAY,CAAO,EAC5D,KAAK,iBAAiB,YAAa,KAAK,WAAY,CAAO,EAC3D,GAAa,IAAI,EAGnB,oBAAoB,EAAS,CAC3B,MAAM,qBAAqB,EAE3B,GAAU,OAAO,OAAO,IAAI,EAEhC,CAKO,IAAM,GAA6B,GAE7B,GAAY,GAAU,eAAe,EAGrC,GAAW,GAMpB,GAA2B,GAC/B,SAAS,EAAoB,EAAS,CACpC,GAAI,GAA0B,OAC9B,GAA2B,GAC3B,OAAO,iBACL,SACA,IAAM,CACJ,MAAM,KAAK,GAAU,MAAM,EAAE,QAAQ,CAAC,IAAqB,CACzD,GAAI,EAAM,iBAAmB,OAC3B,EAAM,OAAS,GACV,QAAI,EAAM,iBAAmB,SAClC,EAAM,OAAO,EAEhB,GAEH,CAAE,QAAS,EAAK,CAClB,EAEA,SAAS,iBACP,SACA,CAAC,IAAiB,CAChB,GACE,EAAM,kBAAkB,aACxB,EAAM,OAAO,QAAQ,GAAU,OAAiB,EAEhD,OAEF,MAAM,KAAK,GAAU,MAAM,EAAE,QAAQ,CAAC,IAAqB,CACzD,GAAI,EAAM,iBAAmB,OAC3B,EAAM,OAAS,GACV,QAAI,EAAM,iBAAmB,SAClC,EAAM,OAAO,EAEhB,GAEH,CAAE,QAAS,GAAM,QAAS,EAAK,CACjC,EC4DK,IAAM,GAAW,CAAC,IAAwC,CAC/D,IACE,UACA,SACA,WACA,iBACA,iBACA,aACE,EACE,EAAQ,MAAM,QAAQ,CAAO,EAC/B,GAAU,GAAG,CAAO,EACpB,GAAU,CAAO,EAUrB,GARA,GACE,EACA,EACA,EACA,EACA,EACA,CACF,EACI,EAAQ,MACV,EAAM,aAAa,QAAS,EAAQ,KAAK,EAG3C,OADA,SAAS,KAAK,OAAO,CAAK,EACnB,GAGI,GAAgB,CAC3B,EACA,EACA,EACA,EACA,EACA,EAAY,KACH,CACT,CACE,IAAQ,YAAa,iBAAiB,CAAO,EAC7C,GAAI,IAAa,QACf,EAAQ,MAAM,SAAW,QAE3B,GAAI,EAAgB,EAAQ,eAAiB,EAC7C,GAAI,EAAgB,EAAQ,eAAiB,EAC7C,GAAa,CAAO,CACtB,CACA,EAAQ,KAAO,EACf,IAAQ,OAAM,MAAK,QAAO,UAAW,EAAO,sBAAsB,EAC5D,EAAK,EAAO,EAAQ,IACpB,EAAK,EAAM,EAAS,IACpB,EAAI,OAAO,WACX,EAAI,OAAO,YACjB,GAAI,IAAa,OACf,GAAa,EAAK,EAAI,IAAM,IAAM,MAC/B,EAAK,EAAI,IAAM,IAAM,KACnB,QAAI,IAAa,QAAU,IAAa,OAC7C,GAAa,EAAK,EAAI,IAAM,IAAM,MAC/B,EAAK,EAAI,IAAM,IAAM,KAQ1B,GANA,EAAQ,MAAM,IACZ,EAAQ,MAAM,KACd,EAAQ,MAAM,MACd,EAAQ,MAAM,OACd,EAAQ,MAAM,UACZ,GACA,EAAS,SAAW,EAAG,CACzB,IAAO,EAAO,GAAU,EACxB,OAAQ,OACD,IACH,EAAQ,MAAM,QAAU,EAAI,GAAK,QAAQ,CAAC,EAAI,KAC9C,UACG,IACH,EAAQ,MAAM,MAAQ,EAAO,GAAO,QAAQ,CAAC,EAAI,KACjD,UACG,IACH,EAAQ,MAAM,KAAO,EAAM,GAAQ,QAAQ,CAAC,EAAI,KAChD,UACG,IACH,EAAQ,MAAM,OAAS,EAAI,GAAM,QAAQ,CAAC,EAAI,KAC9C,MAGJ,OAAQ,OACD,IACH,EAAQ,MAAM,QAAU,EAAI,EAAM,GAAQ,QAAQ,CAAC,EAAI,KACvD,UACG,IACH,EAAQ,MAAM,KAAO,EAAK,QAAQ,CAAC,EAAI,KACvC,UACG,IACH,EAAQ,MAAM,IAAM,EAAI,QAAQ,CAAC,EAAI,KACrC,UACG,IACH,EAAQ,MAAM,OAAS,EAAI,EAAO,GAAO,QAAQ,CAAC,EAAI,KACtD,MAEJ,EAAQ,MAAM,UAAY,GACrB,QAAI,IAAa,IACtB,EAAQ,MAAM,QAAU,EAAI,GAAK,QAAQ,CAAC,EAAI,KAC9C,EAAQ,MAAM,KAAO,EAAG,QAAQ,CAAC,EAAI,KACrC,EAAQ,MAAM,UAAY,mBACrB,QAAI,IAAa,IACtB,EAAQ,MAAM,KAAO,EAAM,GAAQ,QAAQ,CAAC,EAAI,KAChD,EAAQ,MAAM,KAAO,EAAG,QAAQ,CAAC,EAAI,KACrC,EAAQ,MAAM,UAAY,mBACrB,QAAI,IAAa,IACtB,EAAQ,MAAM,MAAQ,EAAO,GAAO,QAAQ,CAAC,EAAI,KACjD,EAAQ,MAAM,IAAM,EAAG,QAAQ,CAAC,EAAI,KACpC,EAAQ,MAAM,UAAY,mBACrB,QAAI,IAAa,IACtB,EAAQ,MAAM,OAAS,EAAI,GAAM,QAAQ,CAAC,EAAI,KAC9C,EAAQ,MAAM,IAAM,EAAG,QAAQ,CAAC,EAAI,KACpC,EAAQ,MAAM,UAAY,mBAE5B,EAAQ,MAAM,YACZ,eACA,gBAAgB,EAAQ,MAAM,KAAO,EAAQ,MAAM,SACrD,EACA,EAAQ,MAAM,YACZ,cACA,gBAAgB,EAAQ,MAAM,MAAQ,EAAQ,MAAM,QACtD,GCnSK,SAAS,EAAa,CAC3B,EACA,EAAiC,GAChB,CACjB,MAAO,CAAC,EAAQ,IAAW,CACzB,IAAM,EAAQ,EAAa,CAAC,EACtB,EAAQ,EAAa,CAAC,EAC5B,QAAW,KAAK,EACd,GAAI,EAAM,KAAO,EAAM,GAIrB,OAHoB,MAAM,QAAQ,CAAS,EACvC,EAAU,KAAO,GACjB,GAEA,EAAM,GAAK,EAAM,GACf,EACA,GACF,EAAM,GAAK,EAAM,GACjB,GACA,EAGR,MAAO,ICoGX,IAAQ,UAAQ,QAAM,UAAU,EAwB1B,GAAW,CAAC,EAAwB,IAA2B,CACnE,MAAO,CAAC,CAAC,EAAQ,KAAK,CAAC,IAAW,CAChC,GAAI,IAAW,MAAQ,GAAS,KAC9B,MAAO,GACF,QAAI,MAAM,QAAQ,CAAM,EAC7B,OAAO,GAAS,EAAQ,CAAK,EACxB,QAAK,EAAwB,QAAU,GAAS,IAAW,EAChE,MAAO,GAEV,GAQI,MAAM,WAAmB,CAAuB,OAC9C,kBAAmB,oBACnB,gBAAiB,SAEjB,gBAAiB,CACtB,QAAS,CAEP,oBAAqB,8BACrB,2BAA4B,+BAC5B,wBAAyB,gCACzB,8BAA+B,gCAC/B,2BAA4B,OAC5B,4BAA6B,QAE7B,QAAS,yBACT,eAAgB,gCAChB,YAAa,6BACb,kBAAmB,mCACnB,eAAgB,gCAChB,eAAgB,iCAChB,QAAS,cACT,SAAU,UACZ,EACA,eAAgB,CACd,QAAS,OACT,WAAY,SACZ,aAAc,SACd,IAAK,EAAK,cACV,UAAW,OACX,OAAQ,EAAK,oBACb,QAAS,EAAK,kBACd,SAAU,WACV,MAAO,MACT,EACA,+CAAgD,CAC9C,QAAS,MACX,EACA,6CAA8C,CAC5C,QAAS,MACX,EACA,uBAAwB,CACtB,MAAO,EAAK,qBACZ,QAAS,EAAK,uBACd,OAAQ,EAAK,oBACb,WAAY,EAAK,oBACjB,UAAW,OACX,WAAY,SACZ,QAAS,OACT,WAAY,cACZ,KAAM,GACR,EACA,mCAAoC,CAClC,SAAU,SACV,aAAc,WACd,WAAY,aACd,CACF,QAEO,gBAAiB,CACtB,SAAU,GACV,YAAa,GACb,SAAU,GACV,YAAa,GACb,UAAW,GACX,SAAU,GACV,SAAU,GACV,KAAM,EACR,EAEQ,SAA0B,CAAC,KAE/B,QAAO,EAAkB,CAC3B,OAAO,KAAK,YAGV,QAAO,CAAC,EAA2B,CACrC,GAAI,OAAO,IAAM,SACf,KAAK,SAAW,GAAW,mBAAmB,CAAC,EAE/C,UAAK,SAAW,EAElB,KAAK,YAAY,QAIJ,mBAAkB,CAAC,EAAmC,CACnE,OAAO,EAAW,MAAM,GAAG,EAAE,IAAI,CAAC,IAAW,CAC3C,IAAM,EAAU,EAAO,KAAK,EAC5B,GAAI,IAAY,GAAI,OAAO,KAC3B,IAAO,EAAO,GAAW,EAAQ,MAAM,GAAG,EAAE,IAAI,CAAC,IAAM,EAAE,KAAK,CAAC,EAC/D,GAAI,CAAC,EAEH,MAAO,CAAE,QAAO,QAAS,CAAM,EAEjC,IAAO,EAAS,GAAY,EAAQ,MAAM,GAAG,EAAE,IAAI,CAAC,IAAM,EAAE,KAAK,CAAC,EAClE,MAAO,CACL,QACA,QAAS,GAAW,EACpB,KAAM,GAAY,MACpB,EACD,EAEH,MAAQ,GACR,OAAS,GACD,WAAa,GAGrB,oBAAoB,CAAC,EAAmB,CACtC,KAAK,SAAW,EAGlB,iBAAiB,EAAG,CAClB,KAAK,MAAQ,GAGP,SAAW,CAAC,EAAe,EAAgB,KAAU,CAC3D,GAAI,KAAK,QAAU,EACjB,KAAK,MAAQ,EACb,KAAK,YAAY,EAAI,EAEvB,GAAI,EACF,KAAK,cAAc,IAAI,MAAM,QAAQ,CAAC,GAIlC,SAAW,IAAM,KAAK,SAE1B,cAAa,EAAkB,CACjC,OAAO,KAAK,QAGN,oBAAsB,CAC5B,IACa,CACb,GAAI,IAAW,KACb,OAAO,KAET,IAAQ,WAAU,YAAa,KAC3B,EACA,EACA,EACA,EACA,EACJ,GAAI,OAAO,IAAW,SACpB,EAAU,EAAQ,EAEjB,KAAC,CAAE,OAAM,UAAS,QAAO,UAAS,YAAW,EAC5C,GAKJ,GAAI,KAAK,UACP,EAAU,EAAS,CAAO,EAE5B,IAAQ,WAAY,EACpB,GAAI,EACF,MAAO,CACL,OACA,UACA,UACA,aACA,QAAS,IAAM,GAAS,EAAS,EAAS,CAAC,EAC3C,UAAW,EAAQ,IAAI,KAAK,mBAAmB,CACjD,EAEF,MAAO,CACL,OACA,UACA,UACA,aACA,QAAS,IAAM,EAAS,IAAM,EAC9B,OACE,OAAO,IAAU,WACb,SAAY,CACV,IAAM,EAAW,MAAO,EAAwB,EAChD,GAAI,IAAa,OACf,EAAS,EAAU,EAAI,GAG3B,IAAM,CACJ,GAAI,OAAO,IAAU,SACnB,EAAS,EAAO,EAAI,EAGhC,GAGF,cAA4B,CAAC,KAEzB,YAAW,EAAe,CAC5B,IAAM,EAAU,KAAK,cAAc,IAAI,KAAK,mBAAmB,EAC/D,GAAI,KAAK,SAAW,GAClB,OAAO,EAET,IAAM,EAAa,CAAC,IAAqB,CACvC,GAAI,IAAW,MAAQ,OAAO,IAAW,WACvC,MAAO,GACF,QAAK,EAAmB,UAAW,CACxC,IAAM,EAAW,GAAkB,EAAmB,SAAS,EAE/D,OADE,EAAmB,UAAY,EAAS,OAAO,CAAU,EACpD,EAAS,OAAS,EAEzB,YAAO,EAAO,QAAQ,kBAAkB,EAAE,SAAS,KAAK,MAAM,GAGlE,OAAO,EAAQ,OAAO,CAAU,EAGlC,aAAe,CAAC,IAAiB,CAC/B,IAAQ,SAAU,KAAK,MACjB,EAAW,EAAM,OAAS,GAChC,GAAI,KAAK,QAAU,OAAO,CAAQ,EAChC,KAAK,MAAQ,EACb,KAAK,cAAc,IAAI,MAAM,QAAQ,CAAC,EAExC,KAAK,OAAS,GACd,EAAM,gBAAgB,EACtB,EAAM,eAAe,GAGvB,UAAY,CAAC,IAAyB,CACpC,GAAI,EAAM,MAAQ,QAChB,EAAM,eAAe,GAIzB,WAAa,GAAS,IAAM,CAC1B,KAAK,OACH,KAAK,MAAM,MACX,MAAM,kBAAkB,EAC1B,GAAe,CAAC,EAChB,KAAK,WAAW,EACjB,EAED,WAAa,CAAC,IAAkB,CAC9B,GAAI,GAAS,EAAM,OAAS,QAC1B,KAAK,OAAS,GAEhB,KAAK,cAAgB,KAAK,YAC1B,KAAK,WAAa,GAClB,KAAK,mBAAmB,EACxB,EAAQ,CACN,OAAQ,KACR,UAAW,KAAK,cAChB,YAAa,GACb,KAAM,UACN,QAAS,IAAM,CACb,KAAK,WAAa,GAClB,KAAK,mBAAmB,EAE5B,CAAC,GAGK,kBAAkB,EAAG,CAC3B,IAAQ,SAAU,KAAK,MACvB,EAAM,aAAa,gBAAiB,OAAO,KAAK,UAAU,CAAC,EAG7D,QAAU,IAAM,CACd,GACE,CACE,KAAM,SACN,KAAM,SACN,QAAS,KAAK,UAChB,EACA,GAAK,EACL,GAAM,CACJ,KAAM,QACN,MAAO,KAAK,MACZ,SAAU,EACV,KAAM,WACN,aAAc,UACd,aAAc,QACd,iBAAkB,KAAK,SAAW,OAAS,OAC3C,UAAW,KAAK,UAChB,QAAS,KAAK,WACd,SAAU,KAAK,YACjB,CAAC,EACD,EAAM,YAAY,CACpB,CACF,KAEI,WAAU,EAAmB,CAC/B,IAAM,EAAsB,CAAC,EAE7B,SAAS,CAAO,CAAC,EAA2B,CAC1C,QAAW,KAAU,EACnB,GAAI,OAAO,IAAW,SACpB,EAAI,KAAK,CAAE,QAAS,EAAQ,MAAO,CAAO,CAAC,EACtC,QAAK,GAAyB,MACnC,EAAI,KAAK,CAAsB,EAC1B,QAAK,GAAgC,QAC1C,EAAS,EAA+B,OAAO,EAMrD,OADA,EAAQ,KAAK,aAAa,EACnB,EAGT,UAAU,EAAiB,CAEzB,OADc,KAAK,WAAW,KAAK,CAAC,IAAW,EAAO,QAAU,KAAK,KAAK,GAC1D,CAAE,QAAS,KAAK,MAAO,MAAO,KAAK,KAAM,EAG3D,cAAgB,IAAM,CACpB,KAAK,YAAY,GAGnB,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EAGxB,IAAM,EAAc,KAAK,aAAa,SAAS,EAC/C,GAAI,GAAe,KAAK,SAAS,SAAW,EAC1C,KAAK,SAAW,GAAW,mBAAmB,CAAW,EAG3D,GAAI,KAAK,UACP,GAAa,aAAa,IAAI,IAAI,EAItC,oBAAoB,EAAG,CAGrB,GAFA,MAAM,qBAAqB,EAEvB,KAAK,UACP,GAAa,aAAa,OAAO,IAAI,EAIzC,MAAM,EAAS,CACb,MAAM,OAAO,EAEb,IAAQ,QAAO,UAAW,KAAK,MAC/B,EAAO,SAAW,KAAK,SACvB,IAAM,EAAO,EAAM,uBAEb,EAAS,KAAK,WAAW,EAC3B,EAAmB,GAAK,EAE5B,GADA,EAAM,MAAQ,KAAK,UAAY,EAAS,EAAO,OAAO,EAAI,EAAO,QAC7D,EAAO,KACT,GAAI,EAAO,gBAAgB,YACzB,EAAU,EAAO,KAAK,UAAU,EAAI,EAEpC,OAAU,EAAM,EAAO,MAAM,EAGjC,EAAK,YAAY,CAAO,EACxB,EAAM,aACJ,cACA,KAAK,UAAY,EAAS,KAAK,WAAW,EAAI,KAAK,WACrD,EACA,EAAM,MAAM,cAAgB,KAAK,SAAW,GAAK,OACjD,EAAM,SAAW,CAAC,KAAK,SAE3B,CAKO,IAAM,GAA+B,GAE/B,GAAa,GAAW,eAAe,EAGvC,GAAY,GACvB,IAAI,IAAwC,GAAW,GAAG,CAAI,EAC9D,4EACF,ECjTA,IAAQ,SAAS,GAEF,QAAS,EAAK,CAC3B,KAAM,CACJ,OAAQ,OAAO,UAAU,SACzB,QAAS,CAAC,OAAO,UAAU,QAAQ,EACnC,UAAW,CAAC,OAAO,UAAU,QAAQ,EACrC,MAAO,CAAC,EAAE,EACV,UAAW,CAAC,EACZ,cAAe,CACb,CACE,KAAM,GAAK,EACX,QAAS,OAAO,UAAU,SAC1B,MAAO,OAAO,UAAU,QAC1B,CACF,CACF,CACF,CAAC,EAED,GAAS,cAAgB,CACvB,KAAK,CAAC,EAAQ,EAAS,CACrB,GAAI,aAAkB,GACpB,EAAO,QAAU,EAGvB,EAEO,IAAM,GAAY,CAAC,IAAqB,CAC7C,GAAI,EAAK,QAAQ,MAAM,SAAS,CAAQ,EACtC,EAAK,OAAO,MAAQ,EAEpB,aAAQ,MAAM,YAAY,oBAA2B,GAI5C,GAAkB,IAAM,CACnC,IAAM,EAAa,MAAM,KAAK,GAAc,YAAY,EACxD,QAAW,KAAa,EACtB,EAAU,cAAc,EAE1B,GAAyB,GAI3B,EAAK,OAAO,QAAQ,EAAe,EAInC,IAAM,GAAiB,sBAQhB,SAAS,EAAc,CAAC,EAAmB,CAChD,IAAM,EAAO,EAAG,aAAa,EAAc,EAC3C,GAAI,CAAC,EAAM,OACX,IAAI,EACJ,GAAI,CACF,EAAM,KAAK,MAAM,CAAI,EACrB,MAAO,EAAK,CACZ,QAAQ,KAAK,uCAAuC,IAAQ,CAAG,EAC/D,OAEF,GAAI,CAAC,GAAO,OAAO,IAAQ,SAAU,OACrC,QAAY,EAAM,KAAQ,OAAO,QAAQ,CAAG,EAAG,CAC7C,GAAI,OAAO,IAAQ,SAAU,SAC7B,EAAG,aAAa,EAAM,EAAS,CAAG,CAAC,GAIvC,SAAU,EAAkB,CAC1B,EACoB,CACpB,QAAW,KAAM,MAAM,KAAK,EAAK,iBAAiB,IAAI,KAAiB,CAAC,EACtE,MAAM,EAER,QAAW,KAAM,MAAM,KAAK,EAAK,iBAAiB,GAAG,CAAC,EAAG,CACvD,IAAM,EAAU,EACb,WACH,GAAI,EAAQ,MAAO,GAAmB,CAAM,GAIhD,SAAS,EAAwB,EAAS,CACxC,GAAI,OAAO,SAAa,IAAa,OACrC,QAAW,KAAM,GAAmB,QAAQ,EAC1C,GAAe,CAAE,EAOrB,IAAI,GAA6C,KAEjD,GAAI,OAAO,SAAa,KAAe,OAAO,iBAAqB,IAAa,CAC9E,IAAM,EAAgB,IAAY,CAChC,GAAI,CAAC,SAAS,KAAM,CAClB,eAAe,CAAa,EAC5B,OAEF,GAAoB,IAAI,iBAAiB,CAAC,IAAY,CACpD,QAAW,KAAO,EAAS,CACzB,GAAI,EAAI,OAAS,cAAgB,EAAI,kBAAkB,QAAS,CAC9D,GAAe,EAAI,MAAM,EACzB,SAEF,QAAW,KAAQ,MAAM,KAAK,EAAI,UAAU,EAAG,CAC7C,GAAI,EAAE,aAAgB,SAAU,SAChC,GAAI,EAAK,aAAa,EAAc,EAAG,GAAe,CAAI,EAC1D,QAAW,KAAM,MAAM,KACrB,EAAK,iBAAiB,IAAI,KAAiB,CAC7C,EACE,GAAe,CAAE,IAIxB,EACD,GAAkB,QAAQ,SAAS,KAAM,CACvC,UAAW,GACX,QAAS,GACT,WAAY,GACZ,gBAAiB,CAAC,EAAc,CAClC,CAAC,EAED,GAAyB,GAE3B,EAAc,EAGhB,IAAM,GAAc,GAAW,CAAC,IAAgC,CAC9D,EAAO,QAAQ,kBAAkB,CACnC,CAAC,EAEM,SAAS,EAAgB,CAAC,EAA0B,CACzD,IAAO,GAAW,EAAW,KAAU,GAAW,EAC/C,MAAM;AAAA,CAAI,EACV,IAAI,CAAC,IAAS,EAAK,MAAM,IAAI,CAAC,EACjC,GAAI,GAAW,GAAa,GAAS,EAAS,CAoB5C,GAnBA,EAAK,QAAQ,MAAQ,EACrB,EAAK,UAAU,MAAQ,EACvB,EAAK,MAAM,MAAQ,EACnB,EAAK,UAAU,MAAQ,EAAQ,OAC7B,CAAC,EAAqB,IAAsB,CAE1C,OADA,EAAI,EAAQ,GAAG,kBAAkB,GAAK,EAC/B,GAET,CAAC,CACH,EACA,EAAK,cAAc,MAAQ,EACxB,IAAI,CAAC,EAAQ,KAAW,CACvB,KAAM,GAAK,CAAE,MAAO,EAAQ,EAAO,EAAG,EAAM,EAAM,EAClD,QAAS,EAAU,GACnB,MAAO,CACT,EAAE,EACD,KAAK,EAAW,EAGf,CAAC,EAAK,QAAQ,MAAM,SAAS,EAAK,OAAO,KAAK,EAAG,CACnD,IAAM,EAAY,EAAK,OAAO,MAAiB,UAAU,EAAG,CAAC,EAC7D,EAAK,OAAO,MACV,EAAK,QAAQ,MAAM,KACjB,CAAC,IAAmB,EAAO,UAAU,EAAG,CAAC,IAAM,CACjD,GAAK,EAAK,QAAQ,MAAM,GAE5B,GAAgB,GAIb,SAAS,CAAQ,CAAC,EAAqB,CAC5C,GAAI,EAAI,SAAS,GAAE,EACjB,OAAO,EAAS,EAAI,UAAU,EAAG,EAAI,OAAS,CAAC,CAAC,EAAI,IAEtD,IAAM,EAAQ,EAAK,QAAQ,MAAM,QAAQ,EAAK,OAAO,KAAK,EAC1D,GAAI,EAAQ,GAAI,CACd,IAAM,EAAiB,EACrB,EAAK,SACP,EACM,EAAW,EAAI,kBAAkB,EACjC,EAAM,EAAe,GACvB,EAAY,GAAO,EAAI,GAE3B,IAAK,CAAC,GAAa,IAAc,MAAQ,EAAS,SAAS,GAAG,EAAG,CAC/D,IAAM,EACJ,EAAe,EAAS,UAAU,EAAG,EAAS,QAAQ,GAAG,CAAC,GAC5D,EAAY,GAAW,EAAQ,GAEjC,GAAI,EACF,EAAY,EAAU,MAAM,IAAK,CAAC,EAAE,GACpC,EACE,EAAI,kBAAkB,IAAM,EACxB,EAAU,kBAAkB,EAC5B,EAEN,OAAM,EAAI,MAAM,IAAK,CAAC,EAAE,GAG1B,OAAM,EAAI,MAAM,IAAK,CAAC,EAAE,GAE1B,OAAO,EAGF,MAAM,WAAyB,CAAU,OACvC,kBAAmB,2BAEnB,gBAAiB,CACtB,YAAa,EACf,EAEA,QAAU,IAAM,CACd,OAAO,GAAW,CAChB,KAAM,SACN,SAAU,GACV,MAAO,EAAS,UAAU,EAC1B,UAAW,EAAK,OAChB,kBAAmB,EAAK,aAC1B,CAAC,GAGH,MAAM,EAAS,CACb,MAAM,OAAO,EAEb,KAAK,MAAM,OAAO,gBAAgB,eAAgB,KAAK,WAAW,EAEtE,CAKO,IAAM,GAAwC,GAExC,GAAmB,GAAiB,eAAe,EAGnD,GAAe,GAQrB,MAAM,WAAsB,CAAU,OACpC,kBAAmB,uBACnB,gBAAiB,CACtB,QAAS,CACP,cAAe,MACjB,CACF,QAEO,cAAe,IAAI,UACnB,gBAAiB,CACtB,UAAW,EACb,EAEA,SAAW,IAAM,EAAS,SAAS,EAEnC,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EAExB,GAAc,aAAa,IAAI,IAAoC,EAGrE,oBAAoB,EAAS,CAC3B,MAAM,qBAAqB,EAE3B,GAAc,aAAa,OAAO,IAAoC,EAGxE,aAAa,EAAG,CACd,GAAI,CAAC,KAAK,UACR,KAAK,UAAY,KAAK,aAAe,GAEvC,KAAK,YAAc,KAAK,UAAY,EAAS,KAAK,SAAS,EAAI,GAGjE,MAAM,EAAG,CACP,MAAM,OAAO,EAEb,KAAK,cAAc,EAEvB,CAKO,IAAM,GAAqC,GAErC,GAAgB,GAAc,eAAe,EAG7C,GAAe,GC1mB5B,IAAM,GACJ,OAAO,UAAc,KACrB,uBAAuB,KAAK,UAAU,UAAY,EAAE,EAEzC,GAAuC,GAChD,CAAE,KAAM,IAAI,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,OAAQ,GAAI,EACzD,CAAE,KAAM,OAAQ,KAAM,OAAQ,IAAK,MAAO,MAAO,QAAS,OAAQ,KAAM,EAE/D,GAAU,CAAC,IAAmC,CACzD,GAAI,EAAI,KACN,OAAO,EAAI,KAAK,QAAQ,cAAe,EAAE,EAE3C,OAAO,EAAI,KAGA,GAAY,CAAC,IAAmC,CAC3D,IAAM,EAAkB,CAAC,EACzB,GAAI,EAAI,OAAQ,EAAM,KAAK,KAAK,EAChC,GAAI,EAAI,QAAS,EAAM,KAAK,MAAM,EAClC,GAAI,EAAI,QAAS,EAAM,KAAK,MAAM,EAClC,GAAI,EAAI,SAAU,EAAM,KAAK,OAAO,EAEpC,OADA,EAAM,KAAK,GAAQ,CAAG,CAAC,EAChB,EAAM,KAAK,GAAG,GAWjB,GAAsD,CAC1D,CAAC,aAAc,SAAS,EACxB,CAAC,YAAY,SAAS,EACtB,CAAC,sBAAsB,QAAQ,EAC/B,CAAC,aAAa,UAAU,CAC1B,EAEa,GAAgB,CAAC,IAAqC,CACjE,IAAI,EAAY,EAAS,KAAK,EACxB,EAAyB,CAC7B,QAAS,GACT,QAAS,GACT,OAAQ,GACR,SAAU,GACV,IAAK,EACP,EAEA,QAAY,EAAS,KAAS,GAC5B,GAAI,EAAQ,KAAK,CAAS,EACtB,EAAe,GAAQ,GACzB,EAAY,EAAU,QAAQ,EAAS,EAAE,EAQ7C,OAHA,EAAY,EAAU,QAAQ,MAAO,EAAE,EACvC,EAAO,IAAM,EAAU,YAAY,EAE5B,GAGI,GAAgB,CAC3B,EACA,IACY,CACZ,IAAM,EAAS,GAAc,CAAQ,EAErC,OACE,EAAM,IAAI,YAAY,IAAM,EAAO,KACnC,EAAM,UAAY,EAAO,SACzB,EAAM,UAAY,EAAO,SACzB,EAAM,SAAW,EAAO,QACxB,EAAM,WAAa,EAAO,UAIjB,GAAoB,CAAC,IAA6B,CAC7D,IAAM,EAAS,GAAc,CAAQ,EAC/B,EAAkB,CAAC,EACzB,GAAI,EAAO,OAAQ,EAAM,KAAK,KAAK,EACnC,GAAI,EAAO,QAAS,EAAM,KAAK,MAAM,EACrC,GAAI,EAAO,QAAS,EAAM,KAAK,MAAM,EACrC,GAAI,EAAO,SAAU,EAAM,KAAK,OAAO,EAEvC,OADA,EAAM,KAAK,EAAO,GAAG,EACd,EAAM,KAAK,GAAG,GAGV,GAAkB,CAAC,IAA6B,CAC3D,IAAM,EAAS,GAAc,CAAQ,EACrC,GAAI,GAAS,CACX,IAAM,EAAkB,CAAC,EACzB,GAAI,EAAO,QAAS,EAAM,KAAK,GAAE,EACjC,GAAI,EAAO,OAAQ,EAAM,KAAK,GAAE,EAChC,GAAI,EAAO,SAAU,EAAM,KAAK,GAAE,EAClC,GAAI,EAAO,QAAS,EAAM,KAAK,GAAE,EAEjC,OADA,EAAM,KAAK,EAAO,IAAI,YAAY,CAAC,EAC5B,EAAM,KAAK,EAAE,EAEtB,IAAM,EAAkB,CAAC,EACzB,GAAI,EAAO,QAAS,EAAM,KAAK,MAAM,EACrC,GAAI,EAAO,OAAQ,EAAM,KAAK,KAAK,EACnC,GAAI,EAAO,SAAU,EAAM,KAAK,OAAO,EACvC,GAAI,EAAO,QAAS,EAAM,KAAK,MAAM,EAErC,OADA,EAAM,KAAK,EAAO,IAAI,YAAY,CAAC,EAC5B,EAAM,KAAK,GAAG,kGCoLvB,IAAM,GAAiB,IAAM,CAAC,CAAC,SAAS,cAAc,cAAc,EAEvD,GAAgB,CAC3B,EACA,IACG,CACH,GAAI,CAAC,EACH,MAAO,GAET,QAAW,KAAe,EACxB,GAAI,IAAgB,cAClB,MAAO,GACF,QAAI,EAAY,QAAQ,GAAG,EAAI,GAAI,CACxC,IAAO,EAAG,GAAK,EAAY,MAAM,GAAG,GAC7B,EAAG,GAAK,EAAK,MAAM,GAAG,EAC7B,IAAK,IAAM,KAAO,IAAM,KAAO,IAAM,KAAO,IAAM,GAChD,MAAO,GAGT,QAAI,IAAgB,EAClB,MAAO,IAMT,GAAc,CAAC,IAAsB,CACzC,QAAW,IAAO,CAAC,GAAG,SAAS,iBAAiB,IAAI,GAAW,CAAC,EAC9D,EAAI,UAAU,OAAO,CAAS,GAG5B,GAAM,IAAM,CAChB,GAAI,GACF,GAAa,WAAW,EACxB,GAAe,KAEjB,GAAkB,CAAC,EACnB,GAAY,WAAW,EACvB,GAAY,aAAa,EACzB,GAAY,aAAa,GAGd,GAAgB,CAC3B,EACA,EAAY,MACC,CACb,OAAQ,GAAK,IACV,MAAM,CAAS,EACf,IAAI,CAAC,IAAM,EAAE,KAAK,CAAC,EACnB,OAAO,CAAC,IAAM,IAAM,EAAE,GAGvB,GAAqC,CAAC,EACtC,GAAwC,KAEtC,GAAgB,CAAC,IAAyC,CAC9D,GAAI,CAAC,EAAO,EAAQ,CAAC,EACrB,GAAkB,EAClB,IAAM,EAAW,CACf,GAAG,SAAS,iBAAiB,aAAa,CAC5C,EACA,QAAW,KAAW,EAAU,CAC9B,IAAM,EAAY,GAAc,EAAQ,QAAQ,IAAI,EACpD,GAAI,EAAM,KAAK,CAAC,IAAS,GAAc,EAAW,CAAI,CAAC,EACrD,EAAQ,UAAU,IAAI,aAAa,EAEnC,OAAQ,UAAU,OAAO,aAAa,EAG1C,GAAI,CAAC,GACH,GAAe,IAAI,iBAAiB,IAAM,GAAc,EAAe,CAAC,EACxE,GAAa,QAAQ,SAAS,KAAM,CAAE,UAAW,GAAM,QAAS,EAAK,CAAC,GAI1E,SAAS,EAAK,CAAC,EAAgB,CAC7B,IAAM,EAAU,EAAI,QAAwB,QAC1C,4BACF,EACA,GAAI,CAAC,EACH,OAEF,EAAO,UAAU,IAAI,aAAa,EAClC,IAAM,EAAQ,EAAO,QAAQ,oBAAoB,EAC7C,GAAc,EAAO,QAAQ,MAAQ,WAAW,EAChD,GAAc,EAAO,QAAQ,MAAQ,KAAK,EAC9C,QAAW,KAAQ,EAAO,CACxB,IAAM,EACJ,EAAO,QAAQ,cACd,IAAS,YAAc,EAAO,UAAY,EAAO,aACpD,EAAI,cAAc,QAAQ,EAAM,GAAW,EAAE,EAE/C,GAAc,EAAI,cAAc,KAAK,EACrC,EAAI,gBAAgB,EAGtB,SAAS,EAAI,CAAC,EAAgB,CAC5B,GAAI,CAAC,GAAe,EAClB,GAAc,EAAI,cAAc,KAAK,EAEvC,IAAM,EAAU,EAAI,OAAuB,QAAQ,cAAc,EACjE,GAAI,GAAU,EAAI,aAChB,EAAO,UAAU,IAAI,WAAW,EAChC,EAAI,aAAa,WAAa,OAE9B,OAAI,eAAe,EACnB,EAAI,gBAAgB,EAIxB,SAAS,EAAK,EAAG,CACf,GAAY,WAAW,EAGzB,SAAS,EAAI,CAAC,EAAgB,CAC5B,IAAM,EAAU,EAAI,OAAuB,QACzC,cACF,EACA,GAAI,EAAQ,CACV,IAAM,GAAa,EAAO,SAAS,MAAQ,IAAI,MAAM,GAAG,EACxD,QAAW,KAAQ,EACjB,GAAI,GAAc,EAAI,cAAc,MAAO,CAAI,EAC7C,GAAI,IAAS,YACX,EAAO,UAAY,EAAI,cAAc,QAAQ,CAAI,GAAK,GAEtD,OAAO,YAAc,EAAI,cAAc,QAAQ,CAAI,GAAK,GAKhE,GAAI,EAGC,IAAM,GAAiB,IAAM,SAAS,cAAc,cAAc,EAErE,GAAgB,GAEP,GAAO,IAAM,CACxB,GAAI,GACF,OAGF,SAAS,KAAK,iBAAiB,YAAa,EAAK,EACjD,SAAS,KAAK,iBAAiB,YAAa,EAAI,EAChD,SAAS,KAAK,iBAAiB,WAAY,EAAI,EAC/C,SAAS,KAAK,iBAAiB,OAAQ,EAAI,EAC3C,SAAS,KAAK,iBAAiB,YAAa,EAAK,EACjD,SAAS,KAAK,iBAAiB,UAAW,EAAG,EAG7C,OAAO,iBAAiB,WAAY,CAAC,IAAQ,EAAI,eAAe,CAAC,EACjE,OAAO,iBAAiB,OAAQ,CAAC,IAAQ,EAAI,eAAe,CAAC,EAE7D,GAAgB,IC2WX,IAAM,GAAmB,CAAC,IAC/B,OAAO,IAAa,WAAa,EAAS,EAAI,GAExC,OAAK,UAAQ,OAAM,KAAG,aAAa,EAErC,GAAkB,CAAC,IAAkC,CACzD,IAAM,EAAqB,CAAC,EAC5B,QAAW,KAAQ,EACjB,GAAI,IAAS,MACX,GAAI,EAAO,OAAS,GAAK,EAAO,EAAO,OAAS,KAAO,KACrD,EAAO,KAAK,CAAI,EAGlB,OAAO,KAAK,CAAI,EAGpB,MAAO,EAAO,OAAS,GAAK,EAAO,EAAO,OAAS,KAAO,KACxD,EAAO,IAAI,EAEb,OAAO,GAGI,GAAgB,CAC3B,EACA,EACA,EAAe,KACA,CACf,IAAM,EAAuB,CAAC,EAC9B,QAAW,KAAQ,EAAO,CACxB,GAAI,IAAS,KAAM,CACjB,EAAS,KAAK,CAAI,EAClB,SAEF,GAAI,OAAO,IAAS,WAAY,CAC9B,EAAS,KAAK,CAAI,EAClB,SAEF,IAAQ,eAAgB,EACxB,GAAI,CAAC,EAAa,CAChB,GAAI,CAAC,EACH,EAAS,KAAK,IAAK,EAAM,QAAS,IAAM,EAAM,CAAa,EAE7D,SAGF,GAAI,CADY,EAAU,KAAK,CAAC,IAAM,GAAc,EAAa,CAAC,CAAC,EACrD,CACZ,GAAI,CAAC,EACH,EAAS,KAAK,IAAK,EAAM,QAAS,IAAM,EAAM,CAAa,EAE7D,SAEF,IAAM,EAAU,EAChB,GAAI,EAAQ,UAAW,CAErB,IAAM,EAAgB,GACpB,GAAiB,EAAQ,SAAS,EAClC,EACA,EACF,EACA,GAAI,EAAc,OAAS,GAAK,EAAQ,WAAY,CAClD,IAAM,EAAa,EACf,EACA,GAAc,GAAiB,EAAQ,SAAS,EAAG,EAAW,EAAK,EACvE,EAAS,KAAK,IAAK,EAAS,UAAW,CAAW,CAAC,EAC9C,QAAI,CAAC,EACV,EAAS,KAAK,IAAK,EAAS,QAAS,IAAM,EAAM,CAAa,EAGhE,OAAS,KAAK,CAAI,EAGtB,OAAO,GAAgB,CAAQ,GAGpB,GAAiB,CAC5B,EACA,EAAe,KACA,CACf,IAAM,EAAuB,CAAC,EAC9B,QAAW,KAAQ,EAAO,CACxB,GAAI,IAAS,KAAM,CACjB,EAAS,KAAK,CAAI,EAClB,SAEF,GAAI,OAAO,IAAS,WAAY,CAC9B,EAAS,KAAK,CAAI,EAClB,SAEF,IAAoC,OAA9B,EACsC,UAAtC,GAAqB,EAC3B,GAAI,GAAU,EACZ,GAAI,EAAmB,CAErB,IAAM,EAAgB,GACpB,GAAiB,CAAiB,EAClC,EACF,EACA,GAAI,EAAc,OAAS,EAAG,CAC5B,IAAM,EAAa,EACf,EACA,GAAe,GAAiB,CAAiB,EAAG,EAAK,EAC7D,EAAS,KAAK,IAAK,EAAM,UAAW,CAAW,CAAY,EACtD,QAAI,CAAC,EACV,EAAS,KAAK,IAAK,EAAM,QAAS,IAAM,EAAM,CAAa,EAG7D,OAAS,KAAK,CAAI,EAEf,QAAI,CAAC,EACV,EAAS,KAAK,IAAK,EAAM,QAAS,IAAM,EAAM,CAAa,EAG/D,OAAO,GAAgB,CAAQ,GAI3B,GAAa,CACjB,SAAU,cACV,UAAW,QAAQ,EAAK,eAAe,EAAW,UAAU,KAAK,KACjE,aAAc,EAAK,UACnB,WAAY,EAAW,OAAO,SAAS,EACvC,UAAW,EAAW,WACpB,GAAG,EAAK,aAAa,EAAK,aAAa,EAAK,eAC9C,CACF,EACM,GAAiB,CACrB,UAAW,OACX,OAAQ,kBACR,QAAS,OACT,WAAY,SACZ,eAAgB,aAChB,eAAgB,OAGhB,oBAAqB,sBACrB,MAAO,OACP,IAAK,EACL,WAAY,cACZ,QAAS,EAAW,gBAAgB,OAAO,EAC3C,OAAQ,EAAW,eAAe,MAAM,EACxC,WAAY,EAAW,eAAe,MAAM,EAC5C,UAAW,MACb,EACM,GAAsB,CAC1B,MAAO,EAAW,cAAc,MAAM,CACxC,EACM,GAAsB,CAC1B,UAAW,kBACX,WAAY,EAAW,gBAAgB,MAAM,CAC/C,EACM,GAAuB,CAC3B,UAAW,kBACX,WAAY,EAAW,iBAAiB,MAAM,EAC9C,MAAO,EAAW,oBAAoB,MAAM,CAC9C,EACM,GAAiB,CACrB,WAAY,GAAG,EAAW,eAAe,SAAS,eAClD,MAAO,GAAG,EAAW,kBAAkB,MAAM,cAC/C,EACM,GAAqB,CACzB,MAAO,GAAG,EAAW,kBAAkB,MAAM,cAC/C,EACM,GAAoB,CACxB,OAAQ,GAAG,EAAW,kBAAkB,MAAM,cAChD,EACM,GAAwB,CAC5B,UAAW,sCAAsC,EAAW,eAC1D,SACF,gCACF,EAEM,GAAsB,CAC1B,wBAAyB,GACzB,oCAAqC,CACnC,MAAO,EAAW,UAAU,MAAM,CACpC,EACA,wCAAyC,CACvC,YAAa,EACb,aAAc,EACd,SAAU,EAAW,UAAU,MAAM,CACvC,EACA,4CAA6C,CAC3C,QAAS,eACT,QAAS,IACT,OAAQ,MACR,MAAO,OACP,WAAY,EAAW,mBAAmB,OAAO,EACjD,OAAQ,EAAW,oBAAoB,OAAO,CAChD,EACA,wCAAyC,CACvC,UAAW,EAAW,eAAe,MAAM,CAC7C,EACA,kCAAmC,GACnC,iFACE,GACF,6EACE,CACE,oBAAqB,uBACrB,IAAK,EAAW,YAAY,KAAK,CACnC,EAGF,0CAA2C,CACzC,WAAY,SACZ,YAAa,MACb,UAAW,QACX,QAAS,MACX,EACA,gEAAiE,CAC/D,YAAa,SACb,UAAW,QACb,EACA,0CAA2C,CACzC,OAAQ,EAAW,kBAAkB,MAAM,CAC7C,EACA,+EACE,CACE,WAAY,EAAW,gBAAgB,MAAM,CAC/C,EACF,0EAA2E,CACzE,WAAY,SACZ,SAAU,SACV,aAAc,WACd,UAAW,MACb,EACA,8CAA+C,GAC/C,sEACE,GACF,gDAAiD,GACjD,wDAAyD,CACvD,OAAQ,EAAW,wBAAwB,MAAM,CACnD,EACA,sDAAuD,GACvD,8DAA+D,CAC7D,OAAQ,EAAW,wBAAwB,MAAM,CACnD,EACA,kCAAmC,GACnC,gDAAiD,GACjD,0CAA2C,GAC3C,eAAgB,EAClB,EASI,GAAkB,GACtB,SAAS,EAAU,EAAS,CAC1B,GAAI,GAAiB,OACrB,GAAkB,GAClB,GAAW,kBAAmB,EAAmB,EACjD,SAAS,iBAAiB,YAAa,CAAC,IAAiB,CACvD,GAAI,GAAY,SAAW,EAAG,OAC9B,IAAM,EAAO,EAAM,aAAa,EAChC,GACE,CAAC,GAAY,KACX,CAAC,IAAW,EAAK,SAAS,EAAO,MAAM,GAAK,EAAK,SAAS,EAAO,IAAI,CACvE,EAEA,GAAe,CAAC,EAEnB,EACD,SAAS,KAAK,iBAAiB,UAAW,CAAC,IAAyB,CAClE,GAAI,EAAM,MAAQ,SAChB,GAAe,CAAC,EAEnB,EAGI,IAAM,GAAmB,CAC9B,EACA,IACgB,CAChB,IAAM,EAAW,EAAK,SAAW,EAAK,QAAQ,GAAK,SAAY,GAC3D,EAAO,GAAM,MAAQ,GAAW,EAAK,GAAG,EAC5C,GAAI,OAAO,IAAS,SAClB,EAAO,EAAM,GAAM,EAErB,IAAM,EAAW,EAAQ,OAAS,UAAY,SAAW,WACrD,EACE,EAAQ,EAAK,YAAc,CAAC,EAClC,GAAI,OAAO,GAAM,SAAW,SAC1B,EAAW,GACT,EACA,CACE,KAAM,EACN,KAAM,EAAK,MACb,EACA,EACA,EAAQ,UAAY,EAAK,EAAS,EAAK,OAAO,CAAC,EAAI,EAAK,EAAK,OAAO,EACpE,EACE,CAAE,MAAO,oBAAqB,EAC9B,EAAK,SAAW,GAAgB,EAAK,QAAQ,EAAI,GACnD,CACF,EAEA,OAAW,GACT,EACA,CACE,KAAM,EACN,QAAS,EAAK,MAChB,EACA,EACA,EAAQ,UAAY,EAAK,EAAS,EAAK,OAAO,CAAC,EAAI,EAAK,EAAK,OAAO,EACpE,EACE,CAAE,MAAO,oBAAqB,EAC9B,EAAK,SAAW,GAAgB,EAAK,QAAQ,EAAI,GACnD,CACF,EAKF,GAHA,EAAS,UAAU,IAAI,gBAAiB,gBAAgB,EACxD,EAAS,UAAU,OAAO,wBAAyB,IAAY,EAAK,EACpE,EAAS,UAAU,OAAO,yBAA0B,IAAY,EAAK,EACjE,EAAK,QACP,EAAS,QAAQ,QAAU,EAAK,QAElC,GAAI,EAAQ,OAAS,UACnB,EAAS,gBAAgB,gBAAiB,IAAY,EAAK,EAE7D,GAAI,GAAM,SAAW,CAAC,EAAK,QAAQ,EACjC,EAAS,aAAa,WAAY,EAAE,EACpC,EAAS,aAAa,gBAAiB,MAAM,EAE/C,OAAO,GAGI,GAAqB,CAChC,EACA,IACgB,CAChB,IAAI,EAAO,GAAM,MAAQ,EAAK,GAAG,EACjC,GAAI,OAAO,IAAS,SAClB,EAAO,EAAM,GAAM,EAErB,IAAM,EAAQ,EAAK,YAAc,CAAC,EAC5B,EAAW,GACf,EACA,CACE,WAAW,CAAC,EAAkB,CAC5B,GAAoB,EACpB,EAAS,UAAU,IAAI,gBAAiB,gBAAgB,EACxD,EAAM,eAAe,GAEvB,UAAU,CAAC,EAAkB,CAE3B,GADA,EAAM,eAAe,EACjB,EAAM,aACR,EAAM,aAAa,WAAa,QAGpC,WAAW,CAAC,EAAkB,CAC5B,IAAM,EAAU,EAAM,cACtB,GAAI,GAAW,EAAS,SAAS,CAAO,EAAG,OAC3C,EAAS,UAAU,OAAO,gBAAiB,gBAAgB,GAE7D,MAAM,CAAC,EAAkB,CAIvB,GAHA,EAAM,eAAe,EACrB,EAAM,gBAAgB,EACtB,EAAS,UAAU,OAAO,gBAAiB,gBAAgB,EACvD,EAAK,YAAc,EAAM,aAC3B,EAAK,WAAW,EAAM,YAAY,EAEpC,GAAe,CAAC,EAEpB,EACA,EACA,EAAQ,UAAY,EAAK,EAAS,EAAK,OAAO,CAAC,EAAI,EAAK,EAAK,OAAO,EACpE,EAAK,GAAG,CACV,EAEA,GADA,EAAS,UAAU,IAAI,gBAAiB,gBAAgB,EACpD,EAAK,QACP,EAAS,QAAQ,QAAU,EAAK,QAElC,GAAI,EAAK,YAAc,EAAK,YAC1B,EAAS,QAAQ,KAAO,EAAK,YAAY,KAAK,GAAG,EAEnD,GAAI,GAAM,SAAW,CAAC,EAAK,QAAQ,EACjC,EAAS,aAAa,WAAY,EAAE,EACpC,EAAS,aAAa,gBAAiB,MAAM,EAE/C,OAAO,GAGI,GAAgB,CAC3B,EACA,IACgB,CAChB,IAAM,EAAW,EAAK,SAAW,EAAK,QAAQ,GAAK,SAAY,GAC3D,EAAO,GAAM,MAAQ,GAAW,EAAK,GAAG,EAC5C,GAAI,OAAO,IAAS,SAClB,EAAO,EAAM,GAAM,EAGrB,IAAI,EAAwD,KACxD,EAAY,GAEV,EAAQ,EAAK,YAAc,CAAC,EAC5B,EAAc,GAClB,EACA,CACE,SAAU,EAAE,CAAC,EAAK,SAAW,EAAK,QAAQ,GAC1C,OAAO,CAAC,EAAc,CACpB,GAAI,EAAQ,UAAW,OACvB,EACE,OAAO,OAAO,CAAC,EAAG,EAAS,CACzB,UAAW,GAAiB,EAAK,SAAS,EAC1C,OAAQ,EACR,cAAe,EAAQ,cAAgB,GAAK,EAC5C,SAAU,MACZ,CAAC,CACH,EACA,EAAM,gBAAgB,EACtB,EAAM,eAAe,GAEvB,WAAW,CAAC,EAAkB,CAC5B,GAAI,CAAC,EAAQ,UAAW,OACxB,GAAoB,EACpB,EAAM,eAAe,EACrB,EAAM,gBAAgB,EACtB,IAAM,EAAO,EAAM,cAEnB,GAAI,GAAQ,EAAY,SAAS,CAAI,EAAG,OAExC,GADA,EAAY,UAAU,IAAI,gBAAiB,gBAAgB,EACvD,EAAW,CAIb,GAFA,IAAgB,EAAQ,cAAgB,GAAK,CAAC,EAC9C,EAAY,GACR,EAAiB,aAAa,CAAe,EACjD,EAAkB,KAClB,OAEF,GAAI,EAAiB,aAAa,CAAe,EACjD,EAAkB,WAAW,IAAM,CACjC,EAAY,GACZ,IAAM,EAAW,GAAiB,EAAK,SAAS,EAC1C,EAAgB,EAAQ,WAC1B,GAAc,EAAU,EAAQ,WAAY,EAAQ,YAAY,EAChE,EACJ,GAAI,EAAc,OAAS,EACzB,EACE,OAAO,OAAO,CAAC,EAAG,EAAS,CACzB,UAAW,EACX,OAAQ,EACR,cAAe,EAAQ,cAAgB,GAAK,EAC5C,SAAU,OACV,UAAW,GACX,WAAY,EAAQ,UACtB,CAAC,CACH,GAED,EAAQ,iBAAmB,GAAG,GAEnC,UAAU,CAAC,EAAkB,CAC3B,GAAI,CAAC,EAAQ,UAAW,OAGxB,GAFA,EAAM,eAAe,EACrB,EAAM,gBAAgB,EAClB,EAAM,aACR,EAAM,aAAa,WAAa,EAAK,WAAa,OAAS,QAG/D,WAAW,CAAC,EAAkB,CAC5B,GAAI,CAAC,EAAQ,UAAW,OACxB,IAAM,EAAU,EAAM,cACtB,GAAI,GAAW,EAAY,SAAS,CAAO,EAAG,OAE9C,GACE,GACA,GACA,GAAY,KACV,CAAC,IAAM,EAAE,KAAK,SAAS,CAAO,GAAK,EAAE,OAAO,SAAS,CAAO,CAC9D,EAEA,OAGF,GADA,EAAY,UAAU,OAAO,gBAAiB,gBAAgB,EAC1D,EACF,aAAa,CAAe,EAC5B,EAAkB,MAGtB,MAAM,CAAC,EAAkB,CACvB,GAAI,CAAC,EAAQ,WAAa,CAAC,EAAK,WAAY,OAI5C,GAHA,EAAM,eAAe,EACrB,EAAM,gBAAgB,EACtB,EAAY,UAAU,OAAO,gBAAiB,gBAAgB,EAC1D,EAAM,aACR,EAAK,WAAW,EAAM,YAAY,EAEpC,GAAe,CAAC,EAEpB,EACA,EACA,EAAQ,UAAY,EAAK,EAAS,EAAK,OAAO,CAAC,EAAI,EAAK,EAAK,OAAO,EACpE,EAAM,aAAa,CAAE,MAAO,CAAE,YAAa,UAAW,CAAE,CAAC,CAC3D,EAEA,GADA,EAAY,UAAU,IAAI,gBAAiB,gBAAgB,EACvD,EAAK,QACP,EAAY,QAAQ,QAAU,EAAK,QAErC,GAAI,EAAQ,WAAa,EAAK,YAAc,EAAK,YAC/C,EAAY,QAAQ,KAAO,EAAK,YAAY,KAAK,GAAG,EAEtD,OAAO,GAGI,GAAiB,CAC5B,EACA,IACgB,CAChB,GAAI,IAAS,KACX,OAAO,EAAK,CAAE,MAAO,wCAAyC,CAAC,EAC1D,QAAI,OAAO,IAAS,WAAY,CACrC,IAAM,EAAK,EAAK,EAEhB,OADA,EAAG,UAAU,IAAI,mBAAoB,mBAAmB,EACjD,EACF,QAAI,EAAQ,UAAW,CAC5B,IAAM,EAAM,EAGZ,GADE,EAAI,WAAa,GAAiB,EAAI,SAAS,EAAE,OAAS,EAE1D,OAAO,GAAc,EAAK,CAAO,EAC5B,QAAK,EAAoB,WAC9B,OAAO,GAAmB,EAAoB,CAAO,EAChD,KAGL,IAAI,EAAO,GAAM,MAAQ,EAAK,GAAG,EACjC,GAAI,OAAO,IAAS,SAClB,EAAO,EAAM,GAAM,EAErB,OAAO,GACL,CACE,MAAO,+BACP,SAAU,EACZ,EACA,EACA,EAAQ,UAAY,EAAK,EAAS,EAAK,OAAO,CAAC,EAAI,EAAK,EAAK,OAAO,EACpE,EAAK,GAAG,CACV,GAEG,KACL,IAAM,EAAe,GAAqB,OACtC,GAAiB,EAAoB,CAAO,EAC5C,GAAc,EAAiB,CAAO,EAC1C,GAAI,EAAQ,aAAe,EAAK,SAAW,EAAK,QAAQ,EACtD,sBAAsB,IAAM,CAC1B,EAAY,eAAe,CAAE,MAAO,QAAS,CAAC,EAC/C,EAEH,OAAO,IAIE,GAAO,CAAC,IAA4C,CAC/D,IAAQ,SAAQ,QAAO,YAAW,OAAO,QAAW,EAC9C,EAAW,EAAU,KACzB,CAAC,IACC,GAAQ,MACR,OAAO,IAAS,aACd,EAAoB,MAAS,EAAoB,QACvD,EAEM,EAAY,EAAQ,cAAgB,EAEpC,EAAU,GACd,CACE,MAAO,EACH,8DACA,qBACJ,OACA,OAAO,EAAG,CACR,GAAI,CAAC,EAAQ,UACX,GAAe,CAAC,GAGpB,UAAU,CAAC,EAAkB,CAC3B,GAAI,CAAC,EAAQ,UAAW,OACxB,EAAM,eAAe,GAEvB,WAAW,EAAG,CACZ,GAAI,CAAC,EAAQ,UAAW,OACxB,GAAoB,GAEtB,WAAW,CAAC,EAAkB,CAC5B,GAAI,CAAC,EAAQ,UAAW,OACxB,IAAM,EAAU,EAAM,cACtB,GAAI,GAAW,EAAQ,SAAS,CAAO,EAAG,OAE1C,GACE,GACA,GAAY,KACV,CAAC,IAAM,EAAE,KAAK,SAAS,CAAO,GAAK,EAAE,OAAO,SAAS,CAAO,CAC9D,EAEA,OAEF,GAAoB,CAAS,EAEjC,EACA,GACE,CACE,MAAO,CACL,SAAU,EAAO,YAAc,KAC/B,MAAO,OAAO,IAAU,SAAW,GAAG,MAAY,CACpD,EACA,WAAW,CAAC,EAAc,CACxB,EAAM,eAAe,EACrB,EAAM,gBAAgB,EAE1B,EACA,GAAG,EAAU,IAAI,CAAC,IAAS,GAAe,EAAM,CAAO,CAAC,CAC1D,CACF,EACA,OAAO,GAQL,GACE,GAA4B,CAAC,EAC/B,GAAuD,KAErD,GAAsB,IAAM,CAChC,GAAI,GACF,aAAa,EAAc,EAC3B,GAAiB,MAIf,GAAsB,CAAC,IAAkB,CAC7C,GAAoB,EACpB,GAAiB,WAAW,IAAM,CAChC,GAAiB,KACjB,GAAe,CAAK,GACnB,GAAG,GAGK,GAAiB,CAAC,EAAQ,IAA8B,CAEnE,GADA,GAAoB,EAChB,IAAU,EACZ,SACG,iBAAiB,mDAAmD,EACpE,QAAQ,CAAC,IACR,EAAG,UAAU,OAAO,gBAAiB,gBAAgB,CACvD,EAEJ,IAAM,EAAc,GAAY,OAAO,CAAK,EAC5C,QAAW,KAAU,EAEnB,GADA,EAAO,KAAK,OAAO,EACf,EAAO,QACT,EAAO,QAAQ,EAInB,OADA,GAAa,EAAY,GAClB,EAAQ,EAAI,GAAY,EAAQ,GAAK,QAyBjC,EAAU,CAAC,IAAkC,CACxD,GAAW,EACX,EAAU,OAAO,OAAO,CAAE,aAAc,CAAE,EAAG,CAAO,EACpD,IAAQ,SAAQ,WAAU,gBAAiB,EAC3C,GAAI,IAAc,CAAC,SAAS,KAAK,SAAS,IAAY,IAAI,EACxD,GAAa,OAEf,GAAI,GAAY,QAAU,CAAC,SAAS,KAAK,SAAS,GAAY,GAAG,IAAI,EACnE,GAAY,OAAO,CAAC,EAEtB,GAAI,EAAQ,UAAW,CAGrB,GACE,GAAY,OAAS,GACrB,GAAY,IAAgB,SAAW,EAEvC,OAEF,GAAe,CAAY,EACtB,KACL,GAAI,IAAiB,GAAK,IAAY,SAAW,EAAQ,OACzD,IAAM,EAAS,GAAe,CAAY,EAC1C,GAAI,IAAY,SAAW,EAAQ,OACnC,GAAI,GAAU,EAAO,SAAW,EAAQ,CACtC,GAAe,EACf,QAIJ,GAAI,CAAC,EAAQ,WAAW,OACtB,OAEF,IAAM,EAAU,GAAK,CAAO,EACtB,EAAQ,GAAS,CACrB,UACA,SACA,UACF,CAAC,EACD,EAAM,eAAiB,EAAQ,UAAY,SAAW,SACtD,GAAY,KAAK,CACf,SACA,KAAM,EACN,QAAS,EAAQ,OACnB,CAAC,GAGU,GAAc,CAAC,IAAsC,CAChE,GAAW,EACX,IAAQ,eAAc,GAAS,EACzB,EAAW,GACf,EAAQ,UACR,EACA,EAAQ,YACV,EACA,GAAI,CAAC,EAAS,OAAQ,OACtB,EAAQ,IACH,EACH,UAAW,EACX,UAAW,GACX,WAAY,CACd,CAAC,GAQI,SAAS,EAAkB,CAChC,EACA,EACA,EAAkB,CAAC,EACQ,CAC3B,QAAW,KAAQ,EAAO,CACxB,GAAI,CAAC,EAAM,SACX,GAAI,OAAO,IAAS,WAAY,SAChC,IAAQ,YAAa,GACb,aAAc,EAEtB,GAAI,GACF,GAAI,GAAc,EAAO,CAAQ,EAAG,CAClC,IAAM,EAAa,EAEnB,GAAI,EAAW,SAAW,CAAC,EAAW,QAAQ,EAAG,OAEjD,GAAI,EAAK,KAAK,CAAC,IAAQ,EAAI,SAAW,CAAC,EAAI,QAAQ,CAAC,EAAG,OACvD,MAAO,CAAE,OAAQ,EAAY,MAAK,GAE/B,QAAI,EAAW,CACpB,IAAM,EAAQ,GAAmB,GAAiB,CAAS,EAAG,EAAO,CACnE,GAAG,EACH,CACF,CAAC,EACD,GAAI,EAAO,OAAO,GAGtB,OAQK,MAAM,WAAiB,CAAyB,OAC9C,kBAAmB,kBACnB,gBAAiB,CACtB,QAAS,CACP,QAAS,cACT,SAAU,EAAK,UACf,UAAW,EAAK,SAClB,EACA,eAAgB,CACd,OAAQ,EACR,QAAS,EACT,UAAW,UACX,KAAM,IACN,UAAW,QACb,EACA,2BAA4B,CAC1B,QAAS,OACT,WAAY,SACZ,IAAK,EAAW,mBAAmB,MAAM,CAC3C,CACF,QAEO,gBAAiB,CACtB,UAAW,OACX,UAAW,GACX,KAAM,GACN,YAAa,GACb,gBAAiB,EACjB,aAAc,EAChB,EAEA,UAAwB,CAAC,EACzB,WAA4D,KAEpD,aAAe,GAEf,YAAY,CAAC,EAA2B,CAC9C,GAAI,CAAC,KAAK,YAAa,MAAO,GAC9B,IAAM,EAAW,GAAc,KAAK,WAAW,EAE/C,MADkB,CAAC,GAAI,EAAM,cAAc,OAAS,CAAC,CAAE,EACtC,KAAK,CAAC,IAAM,EAAS,KAAK,CAAC,IAAM,GAAc,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,EAG1E,SAAW,CAAC,IAAiB,CAC3B,GAAI,EAAM,OAAS,SAAY,EAAwB,OAAS,QAC9D,EAAQ,CACN,OAAQ,KAAK,MAAM,QACnB,MAAO,KAAK,UACZ,UAAW,KAAK,UAChB,UAAW,KAAK,SAClB,CAAC,EACD,EAAM,gBAAgB,EACtB,EAAM,eAAe,GAIzB,gBAAkB,CAAC,IAAqB,CAEtC,GADA,KAAK,aAAe,KAAK,aAAa,CAAK,EACvC,CAAC,KAAK,aAAc,OACxB,GAAoB,EACpB,KAAK,UAAU,IAAI,gBAAiB,gBAAgB,EACpD,IAAM,EAAY,CAAC,GAAI,EAAM,cAAc,OAAS,CAAC,CAAE,EACvD,GAAI,KAAK,UAAU,OACjB,GAAY,CACV,OAAQ,KAAK,MAAM,QACnB,UAAW,KAAK,UAChB,UAAW,EACX,MAAO,KAAK,UACZ,UAAW,KAAK,UAChB,gBAAiB,KAAK,iBAAmB,OACzC,aAAc,KAAK,YACrB,CAAC,EAEH,EAAM,eAAe,GAGvB,eAAiB,CAAC,IAAqB,CACrC,GAAI,CAAC,KAAK,aAAc,OAExB,GADA,EAAM,eAAe,EACjB,EAAM,aACR,EAAM,aAAa,WAAa,KAAK,WAAa,OAAS,QAI/D,gBAAkB,CAAC,IAAqB,CACtC,GAAI,CAAC,KAAK,aAAc,OACxB,IAAM,EAAU,EAAM,cACtB,GAAI,GAAW,KAAK,SAAS,CAAO,EAAG,OAEvC,GACE,GACA,GAAY,KACV,CAAC,IAAM,EAAE,KAAK,SAAS,CAAO,GAAK,EAAE,OAAO,SAAS,CAAO,CAC9D,EACA,CACA,KAAK,UAAU,OAAO,gBAAiB,gBAAgB,EACvD,OAEF,KAAK,UAAU,OAAO,gBAAiB,gBAAgB,EACvD,GAAoB,CAAC,GAGvB,WAAa,CAAC,IAAqB,CACjC,GAAI,CAAC,KAAK,cAAgB,CAAC,KAAK,WAAY,OAI5C,GAHA,EAAM,eAAe,EACrB,EAAM,gBAAgB,EACtB,KAAK,UAAU,OAAO,gBAAiB,gBAAgB,EACnD,EAAM,aACR,KAAK,WAAW,EAAM,YAAY,EAEpC,GAAe,CAAC,GAGlB,QAAU,IACR,GAAO,CAAE,SAAU,EAAG,KAAM,UAAW,QAAS,KAAK,QAAS,EAAG,GAAS,CAAC,EAE7E,eAAiB,MAAO,IAAyB,CAC/C,IAAM,EAAQ,GAAmB,KAAK,UAAW,CAAK,EACtD,GAAI,CAAC,EAAO,OAEZ,EAAM,eAAe,EACrB,EAAM,yBAAyB,EAE/B,IAAQ,OAAQ,EAAY,QAAS,EAGrC,GAAI,KAAK,aAAe,SAAS,KAAK,SAAS,IAAI,EACjD,MAAM,KAAK,gBAAgB,EAAM,CAAU,EAG7C,GAAI,EAAW,kBAAkB,SAC/B,EAAW,OAAO,GAId,qBAAqB,CAC3B,EACA,EACoB,CACpB,QAAW,KAAM,EAAU,iBAAiB,gBAAgB,EAAG,CAG7D,IAAM,EAAY,EAAG,SAAS,GAC9B,GAAI,GAAa,EAAU,cAAgB,EACzC,OAAO,EAGX,OAAO,UAGK,gBAAe,CAC3B,EACA,EACe,CAEf,GAAe,CAAC,EAGhB,EAAQ,CACN,OAAQ,KAAK,MAAM,QACnB,MAAO,KAAK,UACZ,UAAW,KAAK,UAChB,UAAW,KAAK,SAClB,CAAC,EACD,MAAM,IAAI,QAAQ,CAAC,IAAM,WAAW,EAAG,EAAE,CAAC,EAG1C,QAAS,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAM,EAAQ,EAAI,EACZ,EAAc,GAAY,IAAI,KACpC,GAAI,CAAC,EAAa,MAElB,IAAM,EAAY,KAAK,sBAAsB,EAAa,EAAK,GAAG,OAAO,EACzE,GAAI,CAAC,EAAW,MAEhB,EAAQ,CACN,OAAQ,EACR,MAAO,KAAK,UACZ,UAAW,KAAK,UAChB,UAAW,GAAiB,EAAK,GAAG,SAAS,EAC7C,aAAc,EACd,SAAU,MACZ,CAAC,EACD,MAAM,IAAI,QAAQ,CAAC,IAAM,WAAW,EAAG,EAAE,CAAC,EAI5C,IAAM,EAAY,GAAY,GAAY,OAAS,IAAI,KACvD,GAAI,EAAW,CACb,IAAM,EAAS,KAAK,sBAAsB,EAAW,EAAO,OAAO,EACnE,GAAI,EACF,EAAO,UAAU,IAAI,0BAA2B,0BAA0B,EAK9E,MAAM,IAAI,QAAQ,CAAC,IAAM,WAAW,EAAG,GAAG,CAAC,EAG3C,GAAe,CAAC,EAGlB,WAAW,EAAG,CACZ,MAAM,EACN,KAAK,iBAAiB,UAAW,KAAK,QAAQ,EAC9C,KAAK,iBAAiB,YAAa,KAAK,eAAe,EACvD,KAAK,iBAAiB,WAAY,KAAK,cAAc,EACrD,KAAK,iBAAiB,YAAa,KAAK,eAAe,EACvD,KAAK,iBAAiB,OAAQ,KAAK,UAAU,EAG/C,iBAAiB,EAAG,CAIlB,GAHA,MAAM,kBAAkB,EACxB,GAAW,EACX,SAAS,iBAAiB,UAAW,KAAK,eAAgB,EAAI,EAC1D,KAAK,YACP,KAAK,QAAQ,KAAO,KAAK,YAI7B,oBAAoB,EAAS,CAC3B,MAAM,qBAAqB,EAE3B,SAAS,oBAAoB,UAAW,KAAK,cAAc,EAE/D,CAEO,IAAM,GAAW,GAAS,eAAe,EAGnC,GAAU,GAIV,GAA2B,GCvxCxC,SAAS,EAAY,CACnB,EACA,EACA,EACkB,CAClB,IAAM,EAAU,EAAM,KACpB,CAAC,IAAS,EAAK,KAAU,QAAa,EAAK,KAAU,IACvD,EACA,GAAI,IAAY,OAAW,CACzB,IAAM,EAAQ,EAAQ,GACtB,OAAQ,OAAO,OACR,SACH,GAAI,EAAM,MAAM,eAAe,EAC7B,MAAO,GAAI,EACN,QAAI,EAAM,SAAS,GAAG,EAC3B,MAAO,IAAK,EAEZ,WAAO,IAAK,MAEX,SACH,MAAO,GAAI,MACR,UACH,MAAO,GAAI,MACR,SACH,MAAO,WAEP,MAAO,GAAI,GAGjB,MAAO,GAGT,IAAQ,OAAK,QAAM,WAAW,EAsBxB,GAAW,CAAC,IAAiB,EAU5B,MAAM,WAAkB,CAAa,OACnC,kBAAmB,mBAWnB,gBAAiB,CACtB,QAAS,CACP,0BAA2B,OAC3B,0BAA2B,+BAC3B,iCAAkC,QAClC,oCAAqC,OACrC,8BAA+B,QAC/B,QAAS,QACT,SAAU,SACV,WAAY,EAAW,YAAY,sBAAsB,CAC3D,EACA,qBAAsB,CACpB,MAAO,OACP,OAAQ,OACR,SAAU,OACV,mBAAoB,MACtB,EAKA,6BAA8B,CAC5B,QAAS,UACX,EACA,YAAa,CACX,QAAS,OACT,oBAAqB,EAAK,qBAC1B,MAAO,EAAK,sBACZ,OAAQ,EAAK,mBACb,WAAY,EAAW,YAAY,sBAAsB,CAC3D,EACA,mBAAoB,CAClB,SAAU,SACV,IAAK,IACL,OAAQ,IACR,WAAY,EAAW,kBACrB,EAAW,YAAY,sBAAsB,CAC/C,CACF,EAGA,8DAA+D,CAC7D,SAAU,SACV,OAAQ,GACV,EACA,uBAAwB,CACtB,SAAU,SACV,WAAY,SACZ,aAAc,WACd,QAAS,OACT,WAAY,SACZ,OAAQ,EAAK,mBACb,WAAY,EAAK,kBACnB,EACA,oBAAqB,CACnB,SAAU,SACV,OAAQ,IACR,WAAY,EAAW,YAAY,sBAAsB,CAC3D,EACA,uBAAwB,CACtB,OAAQ,IACR,WAAY,EAAW,kBACrB,EAAW,YAAY,sBAAsB,CAC/C,CACF,EACA,+BAAgC,CAC9B,WAAY,EAAW,oBACrB,+BACF,CACF,EACA,mCAAoC,CAClC,QAAS,wCACT,cAAe,OACf,OAAQ,GACV,EACA,0BAA2B,CACzB,OAAQ,GACV,EACA,wBAAyB,CACvB,UAAW,6CACb,EACA,uBAAwB,CACtB,UAAW,8CACb,EACA,yBAA0B,CACxB,UAAW,6CACb,EACA,sBAAuB,CACrB,UAAW,8CACb,EACA,0BAA2B,CACzB,MAAO,eACP,WAAY,OACZ,QAAS,EACT,WAAY,EAAK,mBACjB,OAAQ,EAAK,mBACb,MAAO,EAAK,kBACd,EACA,2BAA4B,CAC1B,OAAQ,WACV,EACA,kCAAmC,CACjC,WAAY,EAAK,yBACjB,MAAO,EAAK,2BACd,EACA,mBAAoB,CAClB,WAAY,EAAK,qBACnB,CACF,QAEO,gBAAiB,CACtB,UAAW,GACX,UAAW,GACX,eAAgB,GAChB,OAAQ,GACR,SAAU,GACV,UAAW,EACX,aAAc,EACd,OAAQ,GACR,OAAQ,GACR,UAAW,GACX,UAAW,EACb,EAEA,iBAAmC,IAAM,GAIzC,YAAkE,KAE1D,YAAc,OAAO,UAAU,EAC/B,cAAgB,CAAC,EAAc,IAAa,CAClD,GAAI,GAAO,KAAM,OACjB,EAAI,gBAAgB,gBAAiB,EAAI,KAAK,eAAiB,EAAI,GAGrE,eAAiB,IAKT,MAA4B,KAC5B,YAAkC,KAClC,UAAgC,KAChC,aAAmC,KACnC,uBAAkD,KAGlD,eAAiB,IAAI,QAIrB,OAAO,CAAC,EAAoB,CAClC,OAAO,GAAY,CAAI,EAIjB,QAAQ,CAAC,EAAsC,CACrD,IAAM,EAAM,EAAU,CAAI,EAC1B,QAAW,IAAU,CACnB,KAAK,UACL,KAAK,YACL,KAAK,YACP,EAAG,CACD,GAAI,CAAC,EAAQ,SACb,IAAM,EAAU,GAAe,CAAM,EACrC,GAAI,CAAC,EAAS,SACd,IAAM,EAAS,EAAQ,cAAc,IAAI,CAAG,EAC5C,GAAI,GAAU,EAAO,OAAS,EAAG,CAC/B,IAAM,EAAM,EAAO,GACf,EAAS,KAAK,eAAe,IAAI,CAAG,EACxC,GAAI,CAAC,EACH,EAAS,MAAM,KAAK,EAAI,QAAQ,EAChC,KAAK,eAAe,IAAI,EAAK,CAAM,EAErC,OAAO,GAGX,UAGE,MAAK,EAAc,CACrB,MAAO,CACL,MAAO,KAAK,MACZ,OAAQ,KAAK,OACb,QAAS,KAAK,OAChB,KAGE,MAAK,CAAC,EAAiB,CACzB,IAAQ,QAAO,UAAS,UAAW,EAAU,CAAI,EACjD,GACE,KAAK,SAAW,GAChB,KAAK,WAAa,GAClB,KAAK,UAAY,EAEjB,KAAK,YAAY,EAEnB,KAAK,OAAS,GAAS,CAAC,EACxB,KAAK,SAAW,GAAW,KAC3B,KAAK,QAAU,GAAU,GAGnB,QAAU,CAChB,QAAS,CAAC,EACV,cAAe,CAAC,EAChB,iBAAkB,CAAC,CACrB,EAEQ,OAAgB,CAAC,EACjB,SAAmC,KACnC,QAAuB,GACvB,MAIA,eACA,qBAEJ,cAAa,EAAsB,CACrC,OAAO,KAAK,kBAGV,cAAa,CAAC,EAAyB,CACzC,KAAK,eAAiB,EAAO,EAAU,CAAI,EAAI,OAC/C,KAAK,YAAY,KAGf,iBAAgB,EAAsB,CACxC,OAAO,KAAK,qBAGV,iBAAgB,CAAC,EAAyB,CAC5C,KAAK,kBAAoB,EAAO,EAAU,CAAI,EAAI,OAClD,KAAK,YAAY,KAKf,uBAAsB,EAAU,CAClC,GAAI,KAAK,eAAgB,OAAO,KAAK,eACrC,OAAO,KAAK,UAAY,EAAI,KAAK,OAAO,MAAM,EAAG,KAAK,SAAS,EAAI,CAAC,KAGlE,0BAAyB,EAAU,CACrC,GAAI,KAAK,kBAAmB,OAAO,KAAK,kBACxC,OAAO,KAAK,aAAe,EAAI,KAAK,OAAO,MAAM,CAAC,KAAK,YAAY,EAAI,CAAC,KAK9D,kBAAiB,EAAU,CACrC,GAAI,KAAK,gBAAkB,KAAK,kBAAmB,OAAO,KAAK,OAC/D,OAAO,KAAK,OAAO,MACjB,KAAK,UACL,KAAK,OAAO,OAAS,KAAK,YAC5B,EAGF,WAAW,EAAG,CACZ,MAAM,EAEN,KAAK,QAAU,EAAK,EACjB,KAAK,YAAa,KAAK,OAC1B,CAAC,EAAE,KAAK,eAGN,MAAK,EAAU,CACjB,OAAO,KAAK,UAGV,MAAK,CAAC,EAAiB,CACzB,KAAK,OAAS,EAAU,CAAQ,EAChC,KAAK,YAAY,KAGf,OAAM,EAAgB,CACxB,OAAO,KAAK,WAGV,OAAM,CAAC,EAAyB,CAClC,GAAI,KAAK,UAAY,EACnB,KAAK,QAAU,EACf,KAAK,YAAY,KAIjB,KAAI,EAA6B,CACnC,GAAI,KAAK,MACP,OAAO,KAAK,MAEd,IAAM,EAAa,KAAK,UAAU,KAChC,CAAC,IAAM,EAAE,OAAS,aAAe,EAAE,OAAS,YAC9C,EACA,GAAI,CAAC,EACH,OAEF,IAAQ,QAAS,EAEjB,OAAO,EAAW,OAAS,YACvB,CAAC,EAAQ,IAAY,EAAE,GAAQ,EAAE,GAAQ,EAAI,GAC7C,CAAC,EAAQ,IAAY,EAAE,GAAQ,EAAE,GAAQ,GAAK,KAGhD,KAAI,CAAC,EAAoC,CAC3C,GAAI,KAAK,QAAU,EACjB,KAAK,MAAQ,EACb,KAAK,YAAY,KAIjB,QAAO,EAAoB,CAC7B,GAAI,CAAC,MAAM,QAAQ,KAAK,QAAQ,EAAG,CACjC,IAAQ,UAAW,KACnB,KAAK,SAAW,OAAO,KAAK,EAAO,IAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAiB,CACjE,IAAM,EAAQ,GAAa,EAAQ,EAAM,KAAK,SAAS,EACvD,MAAO,CACL,KAAM,EAAK,QAAQ,kBAAmB,OAAO,EAAE,kBAAkB,EACjE,OACA,MACE,OAAO,EAAO,GAAG,KAAU,UAC1B,EAAO,GAAG,KAAU,IAAM,CAAC,MAAM,EAAO,GAAG,EAAK,EAC7C,QACA,OACN,QAAS,IAAU,GACnB,MAAO,EAAQ,EAAQ,CACzB,EACD,EAEH,OAAO,KAAK,YAGV,QAAO,CAAC,EAA6B,CACvC,KAAK,SAAW,EAChB,KAAK,YAAY,KAGf,eAAc,EAAoB,CACpC,IAAM,EAAU,KAAK,QAAQ,OAAO,CAAC,IAAM,EAAE,UAAY,EAAK,EACxD,EAAO,EAAQ,OAAO,CAAC,IAAM,EAAE,SAAW,MAAM,EAChD,EAAS,EAAQ,OAAO,CAAC,IAAM,CAAC,EAAE,MAAM,EACxC,EAAQ,EAAQ,OAAO,CAAC,IAAM,EAAE,SAAW,OAAO,EACxD,MAAO,CAAC,GAAG,EAAM,GAAG,EAAQ,GAAG,CAAK,KAIlC,WAAU,EAAW,CACvB,OAAO,KAAK,eAAe,OAAO,CAAC,IAAM,EAAE,SAAW,MAAM,EAAE,UAI5D,WAAU,CAAC,EAAW,CACxB,IAAM,EAAU,KAAK,QAAQ,OAAO,CAAC,IAAM,EAAE,UAAY,EAAK,EAC9D,QAAW,KAAO,EAChB,GAAI,EAAI,SAAW,OAAQ,OAAO,EAAI,OAExC,QAAS,EAAI,EAAG,EAAI,GAAK,EAAI,EAAQ,OAAQ,IAC3C,EAAQ,GAAG,OAAS,OAEtB,KAAK,YAAY,KAIf,YAAW,EAAW,CACxB,OAAO,KAAK,eAAe,OAAO,CAAC,IAAM,EAAE,SAAW,OAAO,EAAE,UAI7D,YAAW,CAAC,EAAW,CACzB,IAAM,EAAU,KAAK,QAAQ,OAAO,CAAC,IAAM,EAAE,UAAY,EAAK,EAC9D,QAAW,KAAO,EAChB,GAAI,EAAI,SAAW,QAAS,OAAO,EAAI,OAEzC,QAAS,EAAI,EAAQ,OAAS,EAAG,EAAI,EAAQ,OAAQ,IACnD,GAAI,GAAK,EAAG,EAAQ,GAAG,OAAS,QAElC,KAAK,YAAY,EAGnB,QAAU,KAEF,iBAAiB,CAAC,EAAqC,CAC7D,IAAM,EAAqB,EAAK,IAAI,KAAO,CAAC,EAAE,EAG1C,EAAa,EACb,EAAW,GACf,QAAS,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,GAAI,EAAK,GAAG,SAAW,OAAQ,MAC/B,EAAK,GAAG,KAAO,EAAa,KAC5B,GAAc,EAAK,GAAG,MACtB,EAAW,EAEb,GAAI,GAAY,EACd,EAAK,GAAU,UAAY,iBAI7B,IAAI,EAAc,EACd,EAAa,EAAK,OACtB,QAAS,EAAI,EAAK,OAAS,EAAG,GAAK,EAAG,IAAK,CACzC,GAAI,EAAK,GAAG,SAAW,QAAS,MAChC,EAAK,GAAG,MAAQ,EAAc,KAC9B,GAAe,EAAK,GAAG,MACvB,EAAa,EAEf,GAAI,EAAa,EAAK,OACpB,EAAK,GAAY,UAAY,gBAG/B,OAAO,EAGD,WAAW,CAAC,EAAc,EAAwB,CACxD,IAAI,EAAM,EACV,GAAI,EAAG,MAAQ,MAAQ,EAAG,OAAS,KAAM,GAAO,cAChD,GAAI,EAAG,UAAW,GAAO,IAAM,EAAG,UAClC,OAAO,EAGD,UAAU,CAChB,EACQ,CACR,OAAO,IAAW,UAAY,KAAO,gBAQ/B,cAAgB,IAAM,CAC5B,KAAK,eAAe,KAAK,UAAW,KAAK,EACzC,KAAK,eAAe,KAAK,aAAc,QAAQ,GAGzC,cAAc,CACpB,EACA,EACM,CACN,GAAI,CAAC,EAAO,OACZ,IAAM,EAAO,MAAM,KAAK,EAAM,iBAAiB,KAAK,CAAC,EACrD,GAAI,EAAK,SAAW,EAAG,OAIvB,IAAM,EAAO,EAAK,OAAS,EACrB,EAAY,IAAS,MAAQ,kBAAoB,eACvD,EAAK,QAAQ,CAAC,EAAG,IAAM,CACrB,EAAE,UAAU,OAAO,CAAS,EAC5B,IAAM,EAAQ,IAAS,MAAQ,EAAI,EAAI,EAAO,EAC9C,EAAE,MAAM,GAAQ,uCAAuC,KACxD,GACe,IAAS,MAAQ,EAAK,GAAQ,EAAK,IAC3C,UAAU,IAAI,CAAS,EAGzB,SAAS,CACf,EACA,EACA,EACwB,CAGxB,IAAM,EAAgC,CACpC,eAAgB,EAAI,OAAS,UAC1B,CACL,EACA,GAAI,EAAG,MAAQ,KAAM,EAAM,KAAO,EAAG,KACrC,GAAI,EAAG,OAAS,KAAM,EAAM,MAAQ,EAAG,MACvC,OAAO,EAGD,kBAAkB,CACxB,EACA,EACA,EACA,EACM,CACN,EAAK,aAAa,gBAAiB,OAAO,EAAW,CAAC,CAAC,EACvD,EAAK,SAAW,GAChB,EAAK,UAAU,IAAI,GAAG,KAAK,YAAY,KAAM,CAAE,EAAE,MAAM,GAAG,CAAC,EAC3D,OAAO,OAAO,EAAK,MAAO,CAAK,EAMzB,SAAS,CACf,EACA,EACA,EACA,EACa,CACb,IAAM,EAAQ,KAAK,UAAU,EAAK,CAAE,EACpC,GAAI,EAAI,WAAa,OAAW,CAC9B,IAAM,EAAO,EAAI,SAAS,CAAG,EAE7B,OADA,KAAK,mBAAmB,EAAM,EAAU,EAAI,CAAK,EAC1C,EAET,OAAO,GAAK,CACV,MAAO,KAAK,YAAY,KAAM,CAAE,EAChC,KAAM,WACN,SAAU,GACV,aAAc,OAAO,EAAW,CAAC,EACjC,QACA,SAAU,EAAK,EAAI,KACrB,CAAQ,EAOF,QAAQ,CACd,EACA,EACA,EACA,EAAW,KACE,CACb,IAAM,EAAQ,EAAK,IAAI,CAAC,EAAK,IAC3B,KAAK,UAAU,EAAK,EAAG,EAAW,GAAI,CAAI,CAC5C,EACM,EAAkB,KAAK,cACvB,EAAa,CAAE,MAAO,CAAS,EAiBrC,OAZA,EAAM,KAAO,CACX,MAAO,EACP,QAAS,CACP,MAAO,CAAC,EAAgB,IAAe,CACrC,EAAgB,EAAO,CAAK,EAC5B,IAAM,EAAK,KAAK,YAChB,GAAI,EACF,EAAG,EAAO,MAAM,KAAK,EAAM,QAAQ,CAAkB,EAG3D,CACF,EACO,GAAI,EAAO,GAAG,CAAK,EAIpB,eAAe,CACrB,EACA,EACA,EACa,CACb,IAAQ,iBAAkB,KACtB,EAAW,OACX,EACJ,OAAQ,EAAI,UACL,YACH,EAAW,EAAM,cAAc,EAC/B,EAAW,aACX,UACG,aACH,EAAW,YACX,EAAW,EAAM,eAAe,EAChC,MAGJ,IAAM,EAAa,EAAE,KAAK,QAAU,KAAK,QACrC,GACE,CACE,MAAO,eACP,OAAO,CAAC,EAAc,CACpB,EAAc,EAAM,OAAuB,CAAG,EAC9C,EAAM,gBAAgB,EAE1B,EACA,GAAY,EAAM,aAAa,CACjC,EACA,CAAC,EAEC,EACJ,EAAI,aAAe,OACf,EAAI,WAAW,CAAG,EAClB,GACE,CACE,MAAO,KAAK,YAAY,KAAM,CAAE,EAChC,KAAM,eACN,SAAU,GACV,WACA,aAAc,OAAO,EAAW,CAAC,EACjC,MAAO,KAAK,UAAU,EAAK,CAAE,CAC/B,EACA,KAAK,YACH,CAAE,MAAO,CAAE,KAAM,GAAI,CAAE,EACvB,OAAO,EAAI,OAAS,SAAW,EAAI,KAAO,EAAI,IAChD,EACA,CACF,EAEN,GAAI,EAAI,aAAe,OACrB,KAAK,mBACH,EACA,EACA,EACA,KAAK,UAAU,EAAK,CAAE,CACxB,EACA,EAAK,UAAU,OAAO,IAAI,EAC1B,EAAK,UAAU,IAAI,IAAI,EACvB,EAAK,aAAa,OAAQ,cAAc,EAG1C,GAAI,CAAC,KAAK,WAAa,EAAK,SAAS,GAAI,CAC3B,GAAK,EACjB,IAAM,EAAS,KAAK,WAAa,iBAC3B,EAAU,EAAK,SAAS,GAC9B,EAAQ,aAAa,YAAa,MAAM,EACxC,EAAQ,MAAM,cAAgB,MAC9B,EAAQ,QAAQ,KAAO,EACrB,EAAqB,QAAQ,KAAO,EACtC,EAAQ,iBAAiB,YAAa,IAAM,CAC1C,KAAK,cAAgB,EACtB,EACD,EAAK,iBAAiB,OAAQ,KAAK,UAAU,EAG/C,OAAO,EAGD,WAAW,CACjB,EACA,EACa,CACb,IAAM,EAAc,EAAK,IAAI,CAAC,EAAK,IACjC,KAAK,gBAAgB,EAAK,EAAG,EAAW,EAAE,CAC5C,EACA,OAAO,GACL,CAAE,MAAO,QAAS,KAAM,UAAW,EACnC,GAAI,CAAE,MAAO,KAAM,KAAM,KAAM,EAAG,GAAG,CAAW,CAClD,EASM,eAAe,CACrB,EACA,EACA,EACA,EACoB,CACpB,IAAM,EAAO,EAAU,CAAS,EAChC,GAAI,CAAC,GAAQ,EAAK,SAAW,EAAG,OAAO,KACvC,IAAM,EAAO,IAAW,aAAe,gBAAkB,mBACnD,EAAW,KAAK,WAAW,CAAM,EACjC,EAAW,EAAkB,YACjC,CAAC,EAAgB,IACf,KAAK,SAAS,EAAM,EAAM,EAAY,CAAQ,EAChD,CAAC,CACH,EACA,OAAO,GACL,CACE,MAAO,eAAe,IACtB,KAAM,WACN,MACF,EACA,GAAG,CACL,EAGF,SAAS,CAAC,EAAuC,CAC/C,GAAI,CAAC,KAAK,YAAa,OACvB,IAAM,GACH,EAAM,UAAY,OAAY,EAAM,QAAQ,GAAG,QAAU,EAAM,SAChE,KAAK,YAAY,sBAAsB,EAAE,EACrC,EAAU,EAAM,UAAY,OAAY,GAAK,GAC3C,aAAY,cAAa,eAAgB,KAAK,YAChD,EAAO,KAAK,eACZ,EAAc,EAAc,EAAc,EAE5C,EAAY,EAChB,OAAO,EAAK,KAAK,CAAC,IAA2B,CAC3C,GAAI,EAAQ,UAAY,GAAO,MAAO,GACtC,GAAa,EAAQ,MACrB,IAAI,EACJ,GAAI,EAAQ,SAAW,OACrB,EAAiB,EACZ,QAAI,EAAQ,SAAW,QAC5B,EAAiB,EAAY,EAAa,EAE1C,OAAiB,EAAY,EAE/B,OAAO,KAAK,IAAI,EAAW,CAAc,EAAI,EAC9C,EAGK,UAAY,CAAC,IAAiB,CACpC,IAAM,EAAS,KAAK,UAAU,CAAK,EACnC,KAAK,MAAM,OAAS,IAAW,OAAY,aAAe,IAGpD,aAAe,CAAC,IAAe,CACrC,IAAM,EAAS,KAAK,UAAU,CAAK,EACnC,GAAI,IAAW,OAAW,CACxB,IAAM,EAAY,OAAO,EAAO,KAAK,EAC/B,EAAe,EAAM,UAAY,OACjC,EAAkB,EACpB,EAAM,QAAQ,GAAG,WACjB,OACJ,GACE,EACA,CAAC,EAAI,EAAK,IAAe,CAMvB,IALc,EACV,CAAC,GAAG,EAAM,OAAO,EAAE,KACjB,CAAC,IAAe,EAAM,aAAe,CACvC,EACA,MACU,OACZ,MAAO,GAET,IAAM,EAAQ,EAAY,EAI1B,GAHA,EAAO,MACL,EAAQ,KAAK,eAAiB,EAAQ,KAAK,eAC7C,KAAK,gBAAgB,EACjB,EAAM,OAAS,UACjB,MAAO,IAGX,YACF,IAIJ,SAAS,CAAC,EAAU,EAAS,GAAM,CACjC,GAAI,EACF,EAAI,KAAK,aAAe,GAExB,YAAO,EAAI,KAAK,aAElB,KAAK,uBAAuB,EAG9B,UAAU,CAAC,EAAc,EAAS,GAAM,CACtC,QAAW,KAAO,GAAQ,KAAK,MAC7B,GAAI,EACF,EAAI,KAAK,aAAe,GAExB,YAAO,EAAI,KAAK,aAGpB,KAAK,uBAAuB,EAG9B,QAAQ,CAAC,EAAc,CACrB,KAAK,WAAW,EAAM,EAAK,EAGrB,sBAAsB,EAAG,CAI/B,IAAM,EAAO,KAAK,aAAa,iBAAiB,KAAK,GAAK,CAAC,EAC3D,QAAW,KAAO,EAAM,CACtB,IAAM,EAAO,KAAK,QAAQ,CAAG,EAC7B,GAAI,GAAQ,KACV,KAAK,cAAc,EAAK,CAAI,GAM1B,WACA,gBAAkB,CAAC,IAAiB,CAC1C,GAAI,CAAC,KAAK,QAAU,CAAC,KAAK,SACxB,OAEF,IAAQ,UAAW,EACnB,GAAI,EAAE,aAAkB,aACtB,OAEF,IAAM,EAAa,KAAK,QAAQ,CAAM,EACtC,GAAI,GAAc,KAChB,OAEF,IAAM,EAAa,EAEb,EAAY,OAAO,aAAa,EACtC,GAAI,IAAc,KAChB,EAAU,gBAAgB,EAE5B,IAAM,EAAO,KAAK,YAClB,GACE,KAAK,UACL,EAAW,UACX,EAAK,OAAS,GACd,KAAK,aAAe,EACpB,CACA,IAAM,EACJ,KAAK,aAAe,QACpB,KAAK,WAAW,KAAK,eAAiB,IACjC,EAAO,GAAU,CACtB,KAAK,aAAe,OAAY,EAAK,QAAQ,KAAK,UAAU,EAAI,EAChE,EAAK,QAAQ,CAAU,CACzB,EAAE,KAAK,CAAC,EAAG,IAAM,EAAI,CAAC,EAGtB,GAAI,EAAQ,GACV,QAAS,EAAM,EAAO,GAAO,EAAQ,IAAO,CAC1C,IAAM,EAAM,EAAK,GACjB,KAAK,UAAU,EAAK,CAAI,GAGvB,QAAI,KAAK,UAAY,EAAW,QAAS,CAC9C,KAAK,UAAU,EAAY,CAAC,EAAW,KAAK,YAAY,EACxD,IAAM,EAAc,EAAK,QAAQ,CAAU,EACrC,EAAW,EAAK,EAAc,GAC9B,EAAe,EAAc,EAAI,EAAK,EAAc,GAAK,OAC/D,GAAI,IAAa,QAAa,EAAS,KAAK,eAAiB,GAC3D,KAAK,WAAa,EACb,QACL,IAAiB,QACjB,EAAa,KAAK,eAAiB,GAEnC,KAAK,WAAa,EAElB,UAAK,WAAa,OAGpB,UAAK,WAAa,EAClB,KAAK,SAAS,EACd,KAAK,UAAU,EAAY,EAAI,EAEjC,KAAK,iBAAiB,KAAK,mBAAmB,EAC9C,KAAK,uBAAuB,GAMtB,QAAQ,CAAC,EAAkB,EAAsC,CACvE,GAAI,IAAa,GACf,OAAO,KAAK,cACV,6BAA6B,EAAW,KAC1C,EAGF,IAAM,EAAM,KAAK,uBACX,EAAU,KAAK,YACf,EAAS,KAAK,0BAEhB,EACJ,GAAI,EAAW,EAAI,OACjB,EAAO,EAAI,GACN,QAAI,EAAW,EAAI,OAAS,EAAQ,OACzC,EAAO,EAAQ,EAAW,EAAI,QACzB,QAAI,EAAW,EAAI,OAAS,EAAQ,OAAS,EAAO,OACzD,EAAO,EAAO,EAAW,EAAI,OAAS,EAAQ,QAE9C,YAAO,KAIT,OADc,KAAK,SAAS,CAAI,IAChB,IAAyC,KAGnD,cAAqD,KAErD,YAAc,IAAM,CAC1B,GAAI,CAAC,KAAK,cAAe,OACzB,IAAQ,MAAK,OAAQ,KAAK,cAC1B,KAAK,cAAgB,KACrB,IAAM,EAAO,KAAK,SAAS,EAAK,CAAG,EACnC,GAAI,EAAM,EAAK,MAAM,GAGf,SAAS,CAAC,EAAkB,EAAwB,CAC1D,KAAK,cAAgB,CAAE,IAAK,EAAU,IAAK,CAAS,EAEpD,IAAM,EAAO,KAAK,SAAS,EAAU,CAAQ,EAC7C,GAAI,EACF,EAAK,MAAM,EACX,EAAK,eAAe,CAAE,MAAO,UAAW,OAAQ,SAAU,CAAC,EACtD,QAAI,KAAK,YAAa,CAE3B,IAAM,EAAM,KAAK,uBACX,EAAe,EAAW,EAAI,OACpC,GAAI,GAAgB,GAAK,EAAe,KAAK,YAAY,OACvD,KAAK,YAAY,UAAY,EAAe,KAAK,WAK/C,aAAe,CAAC,IAAyB,CAC/C,IAAM,EAAK,EAAM,OACX,EAAS,EAAG,QAAQ,KAAK,GAAK,EAAG,QAAQ,KAAK,EACpD,GAAI,CAAC,EAAQ,OAEb,IAAM,EAAU,SAAS,EAAO,aAAa,eAAe,GAAK,GAAI,EAAE,EACvE,GAAI,MAAM,CAAO,EAAG,OACpB,IAAM,EAAW,EAAU,EAErB,EAAO,KAAK,eAAe,OAC3B,EAAM,KAAK,uBACX,EAAU,KAAK,YACf,EAAS,KAAK,0BACd,EAAY,EAAI,OAAS,EAAQ,OAAS,EAAO,OACjD,EAAO,EAAM,SAAW,EAAM,QAC9B,EAAW,EAAO,UAAU,SAAS,IAAI,EAI3C,EACJ,GAAI,EACF,EAAW,GACN,KACL,IAAM,EAAM,EAAO,QAAQ,KAAK,EAChC,GAAI,CAAC,EAAK,OACV,IAAM,EAAO,GAAY,CAAG,EAC5B,GAAI,GAAQ,KAAM,OAClB,IAAM,EAAS,EAAI,QAAQ,CAAI,EACzB,EAAa,IAAW,GAAK,EAAQ,QAAQ,CAAI,EAAI,GACrD,EACJ,IAAW,IAAM,IAAe,GAAK,EAAO,QAAQ,CAAI,EAAI,GAC9D,GAAI,IAAW,GACb,EAAW,EACN,QAAI,IAAe,GACxB,EAAW,EAAI,OAAS,EACnB,QAAI,IAAc,GACvB,EAAW,EAAI,OAAS,EAAQ,OAAS,EAEzC,YAIJ,IAAI,EAAU,EACV,EAAU,EAEd,OAAQ,EAAM,SACP,UACH,EAAU,EAAO,EAAI,KAAK,IAAI,GAAI,EAAW,CAAC,EAC9C,UACG,YACH,EAAU,EAAO,EAAY,EAAI,KAAK,IAAI,EAAY,EAAG,EAAW,CAAC,EACrE,UACG,YACH,EAAU,EAAO,EAAI,KAAK,IAAI,EAAG,EAAW,CAAC,EAC7C,UACG,aACH,EAAU,EAAO,EAAO,EAAI,KAAK,IAAI,EAAO,EAAG,EAAW,CAAC,EAC3D,UACG,MACH,GAAI,EAAM,SACR,GAAI,EAAW,EACb,EAAU,EAAW,EAChB,QAAI,EAAW,EACpB,EAAU,EAAW,EACrB,EAAU,EAAO,EAEjB,YAGF,QAAI,EAAW,EAAO,EACpB,EAAU,EAAW,EAChB,QAAI,EAAW,EAAY,EAChC,EAAU,EAAW,EACrB,EAAU,EAEV,YAGJ,UACG,OACH,GAAI,EACF,EAAU,EACV,EAAU,EAEV,OAAU,EAEZ,UACG,MACH,GAAI,EACF,EAAU,EAAY,EACtB,EAAU,EAAO,EAEjB,OAAU,EAAO,EAEnB,cAEA,OAGJ,GAAI,IAAY,GAAY,IAAY,EACtC,EAAM,eAAe,EACrB,KAAK,UAAU,EAAS,CAAO,GAInC,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,KAAK,iBAAiB,YAAa,KAAK,SAAS,EACjD,KAAK,iBAAiB,YAAa,KAAK,YAAY,EACpD,KAAK,iBAAiB,aAAc,KAAK,aAAc,CAAE,QAAS,EAAK,CAAC,EACxE,KAAK,iBAAiB,UAAW,KAAK,eAAe,EACrD,KAAK,iBAAiB,WAAY,KAAK,eAAe,EACtD,KAAK,iBAAiB,UAAW,KAAK,YAAY,EAGpD,eAAe,EAAG,CAChB,IAAM,EAAO,KAAK,eACZ,EAAU,EAAK,IAAI,CAAC,IAAM,EAAE,MAAQ,IAAI,EAAE,KAAK,GAAG,EAClD,EAAW,EAAK,OAAO,CAAC,EAAG,IAAM,EAAI,EAAE,MAAO,CAAC,EAAI,KAIzD,KAAK,MAAM,YAAY,4BAA6B,CAAO,EAC3D,KAAK,MAAM,YAAY,8BAA+B,CAAQ,EAE9D,KAAK,MAAM,YAAY,iBAAkB,CAAO,EAChD,KAAK,MAAM,YAAY,mBAAoB,CAAQ,EAGnD,IAAM,EAAa,KAAK,kBAAkB,CAAI,EAC9C,QAAW,KAAQ,KAAK,iBAAiB,aAAa,EAAG,CACvD,IAAM,EAAK,SAAS,EAAK,aAAa,eAAe,GAAK,GAAI,EAAE,EAAI,EACpE,GAAI,CAAC,MAAM,CAAE,GAAK,EAAW,GAAK,CAChC,IAAM,EAAK,EAAW,GACtB,GAAI,EAAG,MAAQ,KAAO,EAAqB,MAAM,KAAO,EAAG,KAC3D,GAAI,EAAG,OAAS,KAAO,EAAqB,MAAM,MAAQ,EAAG,QAKnE,aAAe,CACb,EACA,EAAiD,SAC9C,CACH,QAAW,KAAU,KAAK,QAAQ,OAChC,CAAC,IAAM,EAAU,EAAE,IAAI,IAAM,EAC/B,EACE,GAAI,EAAU,CAAM,IAAM,EAAe,CACvC,GAAI,IAAc,OAChB,EAAO,KAAO,EAAO,OAAS,YAAc,aAAe,YAE3D,OAAO,KAAO,EAEhB,KAAK,YAAY,EAEjB,YAAO,EAAO,MAKpB,cAAgB,CAAC,EAAqB,IAA2B,CAC/D,IAAQ,gBAAiB,KACnB,EAAgB,KAAK,QAAQ,OACjC,CAAC,IAAW,EAAO,UAAY,EACjC,EACM,EAAc,KAAK,YAAY,KAAK,IAAI,EACxC,EAAmB,CAAC,EAC1B,GAAI,CAAC,KAAK,QAAU,EAAQ,OAAS,GACnC,EAAK,KACH,CACE,QAAS,KAAK,UACV,GAAG,EAAS,MAAM,KAAK,EAAS,WAAW,IAC3C,iBACJ,KAAM,gBACN,MAAM,EAAG,CACP,EAAa,CAAO,EAExB,EACA,CACE,QAAS,KAAK,UACV,GAAG,EAAS,MAAM,KAAK,EAAS,YAAY,IAC5C,kBACJ,KAAM,iBACN,MAAM,EAAG,CACP,EAAa,EAAS,YAAY,EAEtC,CACF,EAEF,GAAI,CAAC,KAAK,OAAQ,CAChB,GAAI,EAAK,OACP,EAAK,KAAK,IAAI,EAEhB,EAAK,KACH,CACE,QAAS,KAAK,UACV,GAAG,EAAS,MAAM,KAAK,EAAS,QAAQ,IACxC,cACJ,KAAM,SACN,QAAS,IAAM,EAAQ,UAAY,GACnC,MAAM,EAAG,CACP,EAAQ,QAAU,GAClB,EAAY,EAEhB,EACA,CACE,QAAS,KAAK,UACV,GAAG,EAAS,MAAM,KAAK,EAAS,QAAQ,IACxC,cACJ,KAAM,MACN,QAAS,IAAM,EAAc,OAAS,EACtC,UAAW,EAAc,IAAI,CAAC,IAAW,CACvC,MAAO,CACL,QAAS,EAAO,MAAQ,EAAO,KAC/B,MAAM,EAAG,CACP,OAAO,EAAO,QACd,EAAY,EAEhB,EACD,CACH,CACF,EAGF,GAAI,EAAK,OACP,EAAK,KAAK,IAAI,EAEhB,IAAM,EACJ,EAAQ,SAAW,OACf,MACA,EAAQ,SAAW,QACnB,QACA,SACN,EAAK,KAAK,CACR,QAAS,KAAK,UAAY,EAAS,KAAK,EAAI,MAC5C,KAAM,EACN,UAAW,CACT,CACE,QAAS,KAAK,UAAY,EAAS,MAAM,EAAI,OAC7C,KAAM,MACN,QAAS,IAAM,EAAQ,SAAW,OAClC,MAAM,EAAG,CACP,EAAQ,OAAS,OACjB,EAAY,EAEhB,EACA,CACE,QAAS,KAAK,UAAY,EAAS,OAAO,EAAI,QAC9C,KAAM,QACN,QAAS,IAAM,EAAQ,SAAW,QAClC,MAAM,EAAG,CACP,EAAQ,OAAS,QACjB,EAAY,EAEhB,EACA,CACE,QAAS,KAAK,UAAY,EAAS,OAAO,EAAI,QAC9C,KAAM,QACN,QAAS,IAAM,CAAC,CAAC,EAAQ,OACzB,MAAM,EAAG,CACP,OAAO,EAAQ,OACf,EAAY,EAEhB,CACF,CACF,CAAC,EAED,EAAQ,CACN,SACA,UAAW,KAAK,UAChB,UAAW,CACb,CAAC,MAGC,YAAW,EAAmB,CAChC,OAAO,KAAK,UAAY,GAAgB,MAGtC,YAAW,EAAU,CACvB,OAAO,EAAU,KAAK,QAAQ,OAAO,KAGnC,oBAAmB,EAAU,CAC/B,OAAO,KAAK,YAAY,OAAO,CAAC,IAAQ,EAAI,KAAK,YAAY,KAG3D,aAAY,EAAU,CAGxB,GAAI,KAAK,gBAAkB,KAAK,kBAM9B,MALY,CACV,GAAI,KAAK,gBAAkB,CAAC,EAC5B,GAAG,KAAK,OACR,GAAI,KAAK,mBAAqB,CAAC,CACjC,EACW,OAAO,CAAC,IAAQ,EAAI,KAAK,YAAY,EAElD,OAAO,KAAK,OAAO,OAAO,CAAC,IAAQ,EAAI,KAAK,YAAY,EAG1D,QAAQ,CAAC,EAA4C,CACnD,IAAM,EACJ,aAAsB,QAAU,KAAK,QAAQ,CAAU,EAAI,EAC7D,OAAO,GAAQ,KAAO,OAAY,KAAK,SAAS,CAAI,EAGtD,OAAO,CAAC,EAAoB,CAC1B,OAAO,KAAK,QAAQ,CAAI,EAGlB,cAEA,WAAa,CAAC,IAAiB,CACrC,IAAM,EAAU,EAAM,OAAuB,QAC3C,YACF,EACM,EACJ,SAAS,EAAO,aAAa,eAAe,GAAK,GAAI,EAAE,EAAI,EACvD,EAAU,KAAK,eAAe,GAC9B,EAAe,KAAK,QAAQ,QAAQ,KAAK,aAAc,EACvD,EAAe,KAAK,QAAQ,QAAQ,CAAO,EAEjD,KAAK,cAAe,OAAS,EAAQ,OACrC,KAAK,QAAQ,OAAO,EAAc,CAAC,EACnC,KAAK,QAAQ,OAAO,EAAc,EAAG,KAAK,aAAc,EACxD,KAAK,YAAY,EAEjB,EAAM,eAAe,EACrB,EAAM,gBAAgB,GAGxB,MAAM,EAAG,CACP,MAAM,OAAO,EACb,KAAK,YAAc,GAGnB,IAAM,EAAgB,KAAK,uBACrB,EAAmB,KAAK,0BACxB,EAAW,KAAK,kBAChB,EAAM,KAAK,IAAI,EAAS,OAAQ,KAAK,cAAc,EACnD,EAAc,KAAK,OAAO,EAAS,MAAM,EAAG,CAAG,CAAC,GAC9C,QAAS,KACjB,GAAI,EAAM,EAAY,KAAK,CAAI,EAE/B,KAAK,QAAQ,cAAgB,EAC7B,KAAK,QAAQ,iBAAmB,EAChC,KAAK,QAAQ,QAAU,EAGvB,IAAM,EAAO,KAAK,eAClB,GAAI,EAAK,SAAW,EAAG,OACvB,IAAM,EAAa,KAAK,kBAAkB,CAAI,EAE9C,KAAK,MAAM,YACT,0BACA,KAAK,UAAY,EAAI,GAAG,KAAK,cAAgB,MAC/C,EACA,KAAK,gBAAgB,EAOrB,KAAK,MAAQ,KAAK,YAAY,EAAM,CAAU,EAC9C,KAAK,UAAY,KAAK,gBACpB,KAAK,QAAQ,cACb,EACA,EACA,YACF,EACA,KAAK,aAAe,KAAK,gBACvB,KAAK,QAAQ,iBACb,EACA,EACA,eACF,EAKA,IAAM,EAAkB,KAAK,QAAQ,QAAgB,YACnD,CAAC,EAAgB,IAAc,KAAK,SAAS,EAAM,EAAM,CAAU,EACnE,KAAK,UAAY,EAAI,CAAE,QAAS,CAAE,OAAQ,KAAK,SAAU,CAAE,EAAI,CAAC,CAClE,EAEA,KAAK,YAAc,GACjB,CAAE,MAAO,cAAe,KAAM,aAAc,EAC5C,GAAG,CACD,KAAK,MACL,KAAK,UACL,GAAG,EACH,KAAK,YACP,EAAE,OAAO,OAAO,CAClB,EACA,KAAK,YAAY,iBAAiB,YAAa,KAAK,WAAW,EAE/D,KAAK,OAAO,KAAK,WAAW,EAE5B,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EAMb,yBAAyB,EAAS,CACxC,KAAK,wBAAwB,WAAW,EACxC,KAAK,uBAAyB,IAAI,iBAAiB,KAAK,aAAa,EACrE,QAAW,IAAS,CAAC,KAAK,UAAW,KAAK,YAAY,EACpD,GAAI,EACF,KAAK,uBAAuB,QAAQ,EAAO,CAAE,UAAW,EAAK,CAAC,EAItE,CAKO,IAAM,GAA8B,GAE9B,GAAY,GAAU,eAAe,EAGrC,GAAY,GAGZ,GAAW,GC5wDxB,IAAQ,UAAQ,UAAQ,UAAQ,UAAQ,YAAU,MAAI,KAAG,SAAO,SAAO,QACrE,EAOK,MAAM,WAAmB,CAAuB,OAC9C,kBAAmB,oBAEnB,gBAAiB,CACtB,2BAA4B,CAC1B,eAAgB,WAClB,EACA,6BAA8B,CAC5B,QAAS,MACX,EACA,uBAAwB,CACtB,SAAU,IACV,OAAQ,EACR,aAAc,GACd,SAAU,SACV,UAAW,oBACX,QAAS,EACT,QAAS,OACT,cAAe,SACf,IAAK,EACL,cAAe,EAAW,WAAW,kBAAkB,EACvD,kBAAmB,EAAW,WAAW,SAAS,EAClD,aAAc,EAAW,UAAU,MAAM,EACzC,UAAW,EAAK,aAChB,WAAY,EAAK,iBACjB,MAAO,EAAK,WACd,EACA,qBAAsB,CACpB,QAAS,QACX,EACA,0BAA2B,CACzB,QAAS,OACT,eAAgB,SAChB,IAAK,EACP,EACA,0BAA2B,CACzB,QAAS,OACT,eAAgB,WAChB,IAAK,GACL,cAAe,EACjB,CACF,cAEa,MAAK,CAAC,EAAiB,EAAQ,QAAwB,CAClE,OAAO,IAAI,QAAQ,CAAC,IAAY,CAC9B,IAAM,EAAc,GAClB,CACE,cAAe,GACf,uBAAwB,GACxB,eAAe,EAAG,CAChB,EAAQ,EAEZ,EACA,GAAG,CAAE,KAAM,QAAS,EAAG,CAAK,EAC5B,EAAQ,SAAS;AAAA,CAAI,EACjB,EAAS,IACP,CAAE,MAAO,CAAE,WAAY,WAAY,OAAQ,CAAE,CAAE,EAC/C,CACF,EACA,GAAE,CAAO,CACf,EACA,SAAS,KAAK,OAAO,CAAW,EAChC,EAAY,UAAU,EACvB,cAGU,QAAO,CAAC,EAAiB,EAAQ,UAA6B,CACzE,OAAO,IAAI,QAAQ,CAAC,IAAY,CAC9B,IAAM,EAAgB,GACpB,CACE,cAAe,GACf,eAAe,CAAC,EAAiB,CAC/B,EAAQ,IAAW,SAAS,EAEhC,EACA,GAAG,CAAE,KAAM,QAAS,EAAG,CAAK,EAC5B,GAAE,CAAO,EACT,GACE,CACE,KAAM,SACN,OAAO,EAAG,CACR,EAAc,MAAM,EAExB,EACA,QACF,CACF,EACA,SAAS,KAAK,OAAO,CAAa,EAClC,EAAc,UAAU,EACzB,cAGU,OAAM,CACjB,EACA,EAAQ,SACR,EAAe,GACS,CACxB,OAAO,IAAI,QAAQ,CAAC,IAAY,CAC9B,IAAM,EAAa,GAAM,CAAE,MAAO,CAAa,CAAC,EAC1C,EAAe,GACnB,CACE,cAAe,GACf,eAAe,CAAC,EAAiB,CAC/B,EAAQ,IAAW,UAAY,EAAW,MAAQ,IAAI,GAExD,YAAY,EAAG,CACb,EAAW,MAAM,EAErB,EACA,GAAG,CAAE,KAAM,QAAS,EAAG,CAAK,EAC5B,GACE,GACE,CACE,MAAO,CACL,QAAS,OACT,cAAe,SACf,WAAY,UACZ,IAAK,CACP,CACF,EACA,GAAI,CAAO,EACX,CACF,CACF,EACA,GACE,CACE,KAAM,SACN,OAAO,EAAG,CACR,EAAa,MAAM,EAEvB,EACA,QACF,CACF,EACA,SAAS,KAAK,OAAO,CAAY,EACjC,EAAa,UAAU,EACxB,EAGH,cAAgB,GAChB,uBAAyB,GAEzB,WAAW,EAAG,CACZ,MAAM,EACN,GAAG,KAAM,QAAS,IAAM,CACtB,GAAI,KAAK,uBACP,KAAK,MAAM,EAEd,EAGH,gBAAkB,CAAC,EAAS,WAAa,CACvC,QAAQ,IAAI,yBAA0B,CAAM,GAG9C,YAAY,EAAG,CACb,KAAK,MAAM,GAAG,MAAM,EAGtB,GAAmB,CAAC,IAA4B,GAIhD,UAAY,IAA8B,CAExC,OADA,KAAK,MAAM,OAAS,OAAO,GAAa,CAAC,EAClC,IAAI,QAAQ,CAAC,IAAY,CAC9B,KAAK,GAAmB,EACxB,KAAK,MAAM,OAAO,UAAU,EAC5B,sBAAsB,IAAM,CAC1B,KAAK,aAAa,EACnB,EACF,GAGH,MAAQ,CAAC,EAAS,WAAa,CAI7B,GAHA,KAAK,gBAAgB,CAAM,EAC3B,KAAK,GAAiB,CAAM,EAC5B,KAAK,MAAM,OAAO,MAAM,EACpB,KAAK,cACP,KAAK,OAAO,GAIhB,GAAK,IAAM,CACT,KAAK,MAAM,SAAS,GAGtB,QAAU,IACR,GACE,CAAE,KAAM,QAAS,EACjB,GAAO,GAAS,CAAE,KAAM,QAAS,CAAC,CAAC,EACnC,GAAS,EACT,GACE,GAAS,CAAE,KAAM,QAAS,CAAC,EAC3B,GAAO,CAAE,KAAM,KAAM,QAAS,KAAK,EAAG,EAAG,IAAI,CAC/C,CACF,CACJ,CAEO,IAAM,GAAa,GAAW,eAAe,EC1TpD,IAAM,GAAS,gBAGf,SAAS,EAAQ,CAAC,EAA0B,CAC1C,GAAI,GAAO,KAAK,CAAQ,EAAG,MAAO,GAClC,OAAO,EAAS,QAAQ,WAAY,EAAE,EAWjC,SAAS,EAAY,CAAC,EAAyC,CACpE,IAAM,EAAiC,CAAC,EACxC,QAAW,KAAO,EAAM,CACtB,IAAM,EAAO,GAAS,EAAI,QAAQ,EAClC,EAAO,IAAS,EAAO,IAAS,GAAK,EAEvC,IAAM,EAA8B,CAAC,EACrC,QAAW,KAAO,EAAM,CACtB,IAAM,EAAO,GAAS,EAAI,QAAQ,EAElC,EAAI,EAAI,UACN,IAAS,IAAM,EAAO,GAAQ,EAC1B,EAAI,SAAS,QAAQ,MAAO,GAAG,EAC/B,EAER,OAAO,EAIF,SAAS,EAAW,CAAC,EAAsB,CAChD,OAAO,IAAS,GAAK,IAAM,IAAI,KA4B1B,SAAS,EAAe,CAC7B,EACA,EACe,CACf,IAAM,EAAQ,EAAO,QAAQ,MAAO,EAAE,EAGtC,GAAI,CAAC,GAAS,EAAM,SAAS,GAAG,GAAK,EAAM,SAAS,GAAG,EAAG,OAAO,KACjE,IAAM,EAAW,mBAAmB,CAAK,EACnC,EAAO,EAAQ,GACrB,GAAI,IAAS,OAAW,OAAO,KAC/B,OAAO,GAAY,CAAI,EAIlB,SAAS,EAAW,CAAC,EAA0B,CACpD,OAAO,EAAS,QAAQ,OAAQ,EAAE,EAAE,QAAQ,OAAQ,EAAE,EAAE,QAAQ,kBAAmB,EAAE,EAOhF,SAAS,EAAe,CAC7B,EACA,EACQ,CACR,IAAM,EAAO,GAAY,CAAQ,EACjC,QAAY,EAAU,KAAY,OAAO,QAAQ,CAAO,EACtD,GAAI,IAAY,EAAM,OAAO,EAE/B,MAAO,GAIF,SAAS,EAAO,CAAC,EAAmB,CACzC,OAAO,EACJ,YAAY,EACZ,KAAK,EACL,QAAQ,cAAe,GAAG,EAC1B,QAAQ,WAAY,EAAE,EASpB,SAAS,EAAa,CAC3B,EACA,EACA,EACQ,CACR,GAAI,CAAC,EAAa,MAAO,GACzB,QAAW,KAAK,EAAM,GAAI,EAAE,WAAa,EAAa,OAAO,EAAE,SAC/D,QAAW,KAAK,EAAM,GAAI,EAAQ,EAAE,YAAc,EAAa,OAAO,EAAE,SACxE,IAAM,EAAS,GAAQ,CAAW,EAClC,QAAW,KAAK,EAAM,GAAI,EAAQ,EAAE,YAAc,EAAQ,OAAO,EAAE,SACnE,QAAW,KAAK,EAAM,GAAI,EAAE,OAAS,GAAQ,EAAE,KAAK,IAAM,EAAQ,OAAO,EAAE,SAC3E,MAAO,GCtGF,SAAS,EAAU,CAAC,EAAqB,CAC9C,IAAM,EAAS,EAAI,MAAQ,MAAQ,IAAM,EAAI,MAAQ,SAAW,IAAM,IAChE,EAAQ,OAAO,EAAI,OAAS,GAAG,EAAE,SAAS,EAAG,GAAG,EACtD,OAAO,EAAS,GAAS,EAAI,OAAS,IAAI,kBAAkB,EAAI,OAAM,EAAI,SAGrE,SAAS,EAAU,CAAC,EAAW,EAAmB,CACvD,IAAM,EAAK,GAAW,CAAC,EACjB,EAAK,GAAW,CAAC,EACvB,OAAO,EAAK,EAAK,EAAI,EAAK,EAAK,GAAK,EAQ/B,SAAS,EAA8B,CAC5C,EACA,EACc,CACd,IAAM,EAAQ,IAAI,IAClB,QAAW,KAAO,EAChB,EAAM,IAAI,EAAI,SAAU,CACtB,MACA,KAAM,EAAQ,EAAI,WAAa,GAC/B,SAAU,CAAC,EACX,MAAO,CACT,CAAC,EAIH,IAAM,EAAW,IAAI,IACrB,QAAW,KAAO,EAAM,CACtB,IAAI,EAAK,EAAI,OAAS,GAAc,EAAI,OAAQ,EAAM,CAAO,EAAI,GACjE,GAAI,IAAO,IAAO,EAAI,UAAY,CAAC,EAAM,IAAI,CAAE,GAAK,GAAa,EAAI,SAAU,EAAI,EAAM,CAAO,GAC9F,EAAK,GAEP,EAAS,IAAI,EAAI,SAAU,CAAE,EAG/B,IAAM,EAAsB,CAAC,EAC7B,QAAW,KAAO,EAAM,CACtB,IAAM,EAAK,EAAS,IAAI,EAAI,QAAQ,GAAK,GACnC,EAAO,EAAM,IAAI,EAAI,QAAQ,EACnC,GAAI,EAAI,EAAM,IAAI,CAAE,EAAG,SAAS,KAAK,CAAI,EACpC,OAAM,KAAK,CAAI,EAGtB,IAAM,EAAY,CAAC,EAAmB,IAAwB,CAC5D,EAAI,KAAK,CAAC,EAAG,IAAM,GAAW,EAAE,IAAK,EAAE,GAAG,CAAC,EAC3C,QAAW,KAAK,EACd,EAAE,MAAQ,EACV,EAAU,EAAE,SAAU,EAAQ,CAAC,GAInC,OADA,EAAU,EAAO,CAAC,EACX,EAIT,SAAS,EAAY,CACnB,EACA,EACA,EACA,EACS,CACT,IAAM,EAAa,IAAI,IAAI,EAAK,IAAI,CAAC,IAAM,CAAC,EAAE,SAAU,CAAC,CAAC,CAAC,EACvD,EAA6B,EAC3B,EAAO,IAAI,IAAY,CAAC,CAAK,CAAC,EACpC,MAAO,EAAQ,CACb,GAAI,EAAK,IAAI,CAAM,EAAG,MAAO,GAC7B,EAAK,IAAI,CAAM,EACf,IAAM,EAAM,EAAW,IAAI,CAAM,EACjC,EAAS,GAAK,OAAS,GAAc,EAAI,OAAQ,EAAM,CAAO,EAAI,GAEpE,MAAO,GCvGT,SAAS,EAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,WAAW,KAAK,IAAI,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,KAAK,OAAO,GAAG,UAAU,KAAK,WAAW,IAAI,EAAE,IAAI,GAAE,GAAE,EAAE,SAAS,EAAC,CAAC,EAAE,CAAC,GAAE,EAAE,IAAI,GAAE,CAAC,KAAK,IAAI,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,OAAO,OAAO,EAAE,EAAE,QAAQ,GAAE,MAAM,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,SAAS,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,cAAc,EAAE,KAAK,CAAC,MAAM,MAAM,EAAE,GAAE,CAAC,iBAAiB,yBAAyB,kBAAkB,cAAc,uBAAuB,gBAAgB,eAAe,OAAO,WAAW,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,aAAa,OAAO,kBAAkB,MAAM,cAAc,MAAM,oBAAoB,OAAO,UAAU,WAAW,gBAAgB,oBAAoB,gBAAgB,WAAW,wBAAwB,iCAAiC,yBAAyB,mBAAmB,gBAAgB,OAAO,mBAAmB,0BAA0B,WAAW,cAAc,gBAAgB,eAAe,QAAQ,SAAS,aAAa,WAAW,eAAe,OAAO,gBAAgB,aAAa,kBAAkB,YAAY,gBAAgB,YAAY,iBAAiB,aAAa,eAAe,YAAY,UAAU,QAAQ,QAAQ,UAAU,kBAAkB,iCAAiC,gBAAgB,mCAAmC,kBAAkB,KAAK,gBAAgB,KAAK,kBAAkB,gCAAgC,oBAAoB,gBAAgB,WAAW,UAAU,cAAc,WAAW,mBAAmB,oDAAoD,sBAAsB,qDAAqD,aAAa,6CAA6C,MAAM,eAAe,cAAc,OAAO,SAAS,MAAM,UAAU,MAAM,UAAU,QAAQ,eAAe,WAAW,UAAU,SAAS,cAAc,OAAO,cAAc,MAAM,cAAc,KAAG,IAAI,OAAO,WAAW,+BAA+B,EAAE,gBAAgB,KAAG,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,qDAAqD,EAAE,QAAQ,KAAG,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,qDAAqD,EAAE,iBAAiB,KAAG,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,KAAG,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,eAAe,KAAG,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,sBAAsB,GAAG,CAAC,EAAE,GAAG,uBAAuB,GAAG,wDAAwD,GAAG,8GAA8G,GAAE,qEAAqE,GAAG,uCAAuC,GAAE,wBAAwB,GAAG,iKAAiK,GAAG,EAAE,EAAE,EAAE,QAAQ,QAAQ,EAAC,EAAE,QAAQ,aAAa,mBAAmB,EAAE,QAAQ,UAAU,uBAAuB,EAAE,QAAQ,cAAc,SAAS,EAAE,QAAQ,WAAW,cAAc,EAAE,QAAQ,QAAQ,mBAAmB,EAAE,QAAQ,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,QAAQ,EAAC,EAAE,QAAQ,aAAa,mBAAmB,EAAE,QAAQ,UAAU,uBAAuB,EAAE,QAAQ,cAAc,SAAS,EAAE,QAAQ,WAAW,cAAc,EAAE,QAAQ,QAAQ,mBAAmB,EAAE,QAAQ,SAAS,mCAAmC,EAAE,SAAS,EAAE,GAAE,uFAAuF,GAAG,UAAU,GAAE,mCAAmC,GAAG,EAAE,6GAA6G,EAAE,QAAQ,QAAQ,EAAC,EAAE,QAAQ,QAAQ,8DAA8D,EAAE,SAAS,EAAE,GAAG,EAAE,sCAAsC,EAAE,QAAQ,QAAQ,EAAC,EAAE,SAAS,EAAE,GAAE,gWAAgW,GAAE,gCAAgC,GAAG,EAAE,+dAA4d,GAAG,EAAE,QAAQ,UAAU,EAAC,EAAE,QAAQ,MAAM,EAAC,EAAE,QAAQ,YAAY,0EAA0E,EAAE,SAAS,EAAE,GAAG,EAAE,EAAC,EAAE,QAAQ,KAAK,EAAC,EAAE,QAAQ,UAAU,uBAAuB,EAAE,QAAQ,YAAY,EAAE,EAAE,QAAQ,SAAS,EAAE,EAAE,QAAQ,aAAa,SAAS,EAAE,QAAQ,SAAS,gDAAgD,EAAE,QAAQ,OAAO,wBAAwB,EAAE,QAAQ,OAAO,6DAA6D,EAAE,QAAQ,MAAM,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,yCAAyC,EAAE,QAAQ,YAAY,EAAE,EAAE,SAAS,EAAE,GAAE,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAE,KAAK,EAAE,EAAE,GAAG,EAAE,6JAA6J,EAAE,QAAQ,KAAK,EAAC,EAAE,QAAQ,UAAU,uBAAuB,EAAE,QAAQ,aAAa,SAAS,EAAE,QAAQ,OAAO,yBAAwB,EAAE,QAAQ,SAAS,gDAAgD,EAAE,QAAQ,OAAO,wBAAwB,EAAE,QAAQ,OAAO,6DAA6D,EAAE,QAAQ,MAAM,EAAC,EAAE,SAAS,EAAE,GAAG,IAAI,GAAE,SAAS,GAAG,MAAM,GAAG,UAAU,EAAE,EAAC,EAAE,QAAQ,KAAK,EAAC,EAAE,QAAQ,UAAU,uBAAuB,EAAE,QAAQ,YAAY,EAAE,EAAE,QAAQ,QAAQ,EAAE,EAAE,QAAQ,aAAa,SAAS,EAAE,QAAQ,SAAS,gDAAgD,EAAE,QAAQ,OAAO,wBAAwB,EAAE,QAAQ,OAAO,6DAA6D,EAAE,QAAQ,MAAM,EAAC,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,GAAE,KAAK,EAAE,wIAAwI,EAAE,QAAQ,UAAU,EAAC,EAAE,QAAQ,OAAO,mKAAmK,EAAE,SAAS,EAAE,IAAI,oEAAoE,QAAQ,yBAAyB,OAAO,GAAE,SAAS,mCAAmC,UAAU,EAAE,EAAC,EAAE,QAAQ,KAAK,EAAC,EAAE,QAAQ,UAAU;AAAA,EACn1N,EAAE,QAAQ,WAAW,EAAE,EAAE,QAAQ,SAAS,EAAE,EAAE,QAAQ,aAAa,SAAS,EAAE,QAAQ,UAAU,EAAE,EAAE,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,EAAE,EAAE,QAAQ,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,8CAA8C,GAAG,sCAAsC,GAAG,wBAAwB,GAAG,8EAA8E,GAAE,gBAAgB,GAAE,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,wBAAwB,GAAG,EAAE,QAAQ,cAAc,EAAC,EAAE,SAAS,EAAE,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,EAAE,yBAAyB,GAAG,EAAE,QAAQ,OAAO,mGAAmG,EAAE,QAAQ,WAAW,GAAG,WAAW,WAAW,EAAE,QAAQ,OAAO,yBAAyB,EAAE,QAAQ,OAAO,gBAAgB,EAAE,SAAS,EAAE,GAAG,gEAAgE,GAAG,EAAE,GAAG,GAAG,EAAE,QAAQ,SAAS,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,QAAQ,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,wQAAwQ,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,iBAAiB,EAAE,EAAE,QAAQ,cAAc,EAAC,EAAE,QAAQ,SAAS,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,iBAAiB,EAAE,EAAE,QAAQ,cAAc,EAAE,EAAE,QAAQ,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,mNAAmN,IAAI,EAAE,QAAQ,iBAAiB,EAAE,EAAE,QAAQ,cAAc,EAAC,EAAE,QAAQ,SAAS,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,IAAI,EAAE,QAAQ,SAAS,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,qCAAqC,EAAE,QAAQ,SAAS,8BAA8B,EAAE,QAAQ,QAAQ,8IAA8I,EAAE,SAAS,EAAE,GAAG,EAAE,EAAC,EAAE,QAAQ,YAAY,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,0JAA0J,EAAE,QAAQ,UAAU,EAAE,EAAE,QAAQ,YAAY,6EAA6E,EAAE,SAAS,EAAE,GAAE,wEAAwE,GAAG,EAAE,mEAAmE,EAAE,QAAQ,QAAQ,EAAC,EAAE,QAAQ,OAAO,yCAAyC,EAAE,QAAQ,QAAQ,6DAA6D,EAAE,SAAS,EAAE,GAAG,EAAE,yBAAyB,EAAE,QAAQ,QAAQ,EAAC,EAAE,QAAQ,MAAM,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,uBAAuB,EAAE,QAAQ,MAAM,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,wBAAwB,GAAG,EAAE,QAAQ,UAAU,EAAE,EAAE,QAAQ,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,qCAAqC,GAAE,CAAC,WAAW,GAAE,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,GAAE,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,cAAc,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,EAAC,EAAE,GAAG,IAAI,GAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,QAAQ,EAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,+BAA+B,EAAE,QAAQ,QAAQ,EAAC,EAAE,SAAS,CAAC,EAAE,GAAE,IAAI,GAAE,kBAAkB,GAAG,eAAe,GAAG,IAAI,EAAE,gEAAgE,EAAE,QAAQ,WAAW,EAAE,EAAE,QAAQ,QAAQ,2EAA2E,EAAE,SAAS,EAAE,WAAW,6EAA6E,IAAI,0EAA0E,KAAK,EAAE,qNAAqN,EAAE,QAAQ,WAAW,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,GAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,OAAO,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAE,IAAI,EAAE,QAAQ,OAAO,eAAe,EAAE,QAAQ,UAAU,GAAG,EAAE,SAAS,CAAC,EAAE,GAAE,CAAC,OAAO,GAAE,IAAI,GAAG,SAAS,EAAE,EAAE,GAAE,CAAC,OAAO,GAAE,IAAI,GAAE,OAAO,GAAG,SAAS,EAAE,EAAM,GAAG,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,EAAE,GAAG,KAAG,GAAG,GAAG,SAAS,EAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAE,WAAW,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAE,cAAc,EAAE,EAAO,QAAG,GAAE,mBAAmB,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAE,sBAAsB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,GAAE,cAAc,GAAG,EAAE,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,SAAS,EAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,GAAE,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,EAAE,EAAE,MAAM,GAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAO,UAAK,EAAE,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,QAAQ,GAAE,UAAU,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,IAAS,QAAG,IAAI,GAAG,EAAE,IAAS,WAAM,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,EAAE,KAAK,KAAK,IAAS,QAAG,EAAE,KAAK,EAAE,GAAG,IAAS,QAAG,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,MAAM,kBAAkB,IAAI,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,OAAO,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,sBAAsB,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM;AAAA,CACtiL,EAAE,IAAI,KAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,IAAI,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK;AAAA,CACnI,EAAE,IAAI,GAAE,KAAK,CAAC,QAAQ,MAAM,MAAM,WAAW,CAAC,EAAE,CAAC,KAAK,QAAQ,GAAG,GAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,QAAQ,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,CAAC,KAAK,QAAQ,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,KAAK,MAAM,MAAM,iBAAiB,EAAE,EAAE,MAAM,CAAC,KAAK,OAAO,IAAI,EAAE,GAAG,eAAe,WAAW,KAAK,KAAK,QAAQ,SAAS,EAAE,GAAE,EAAE;AAAA,CACvW,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,OAAO,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,QAAQ,KAAK,MAAM,OAAO,eAAe,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,QAAQ,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,MAAM,MAAM,WAAW,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAE,EAAE,GAAG,GAAG,KAAK,QAAQ,UAAU,CAAC,GAAG,KAAK,MAAM,MAAM,gBAAgB,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,UAAU,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,MAAM,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,GAAE,EAAE,GAAG;AAAA,CACjkB,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,WAAW,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAE,EAAE,GAAG;AAAA,CAC9E,EAAE,MAAM;AAAA,CACR,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,KAAK,MAAM,MAAM,gBAAgB,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAQ,QAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAO,WAAM,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK;AAAA,CACxM,EAAE,EAAE,EAAE,QAAQ,KAAK,MAAM,MAAM,wBAAwB;AAAA,OACjD,EAAE,QAAQ,KAAK,MAAM,MAAM,yBAAyB,EAAE,EAAE,EAAE,EAAE,GAAG;AAAA,EACpE,IAAI,EAAE,EAAE,EAAE,GAAG;AAAA,EACb,IAAI,EAAE,IAAI,EAAE,KAAK,MAAM,MAAM,IAAI,GAAG,KAAK,MAAM,MAAM,IAAI,GAAG,KAAK,MAAM,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,MAAM,MAAM,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,OAAO,OAAO,MAAM,GAAG,GAAG,OAAO,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI;AAAA,EACzN,EAAE,KAAK;AAAA,CACR,EAAE,EAAE,KAAK,WAAW,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,MAAW,QAAG,GAAG,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI;AAAA,EAClL,EAAE,KAAK;AAAA,CACR,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM;AAAA,CACpK,EAAE,UAAU,MAAM,CAAC,KAAK,aAAa,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,KAAK,QAAQ,WAAW,EAAE,EAAE,EAAE,SAAS,IAAI,EAAE,KAAK,MAAM,MAAM,cAAc,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM;AAAA,EACvd,CAAC,EAAE,GAAG,QAAQ,KAAK,MAAM,MAAM,gBAAgB,KAAG,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM;AAAA,EACpF,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,QAAQ,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,KAAK,MAAM,MAAM,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,QAAQ,GAAG,KAAK,MAAM,MAAM,UAAU,KAAK,CAAC,IAAI,GAAG,EAAE;AAAA,EACzN,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,gBAAgB,CAAC,EAAE,EAAG,KAAK,MAAM,MAAM,QAAQ,CAAC,EAAE,EAAG,KAAK,MAAM,MAAM,iBAAiB,CAAC,EAAE,EAAG,KAAK,MAAM,MAAM,kBAAkB,CAAC,EAAE,EAAG,KAAK,MAAM,MAAM,eAAe,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM;AAAA,EAC3P,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,QAAQ,UAAU,EAAE,EAAE,QAAQ,KAAK,MAAM,MAAM,mBAAmB,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,KAAK,MAAM,MAAM,cAAc,MAAM,EAAE,EAAG,KAAK,CAAC,GAAG,EAAG,KAAK,CAAC,GAAG,EAAG,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAG,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,OAAO,KAAK,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG;AAAA,EAChR,EAAE,MAAM,CAAC,EAAM,KAAC,GAAG,GAAG,EAAE,QAAQ,KAAK,MAAM,MAAM,cAAc,MAAM,EAAE,OAAO,KAAK,MAAM,MAAM,YAAY,GAAG,GAAG,EAAG,KAAK,CAAC,GAAG,EAAG,KAAK,CAAC,GAAG,EAAG,KAAK,CAAC,EAAE,MAAM,GAAG;AAAA,EAC7J,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,IAAI,GAAG,EAAE;AAAA,EAC7B,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,GAAG,KAAK,MAAM,MAAM,gBAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,QAAQ,MAAM,EAAE,KAAK,MAAM,MAAM,WAAW,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,EAAE,EAAE,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,KAAK,YAAY,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,QAAQ,EAAO,YAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,OAAO,IAAI,GAAG,KAAK,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,OAAO,KAAK,MAAM,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,OAAO,OAAO,KAAG,EAAE,OAAO,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,KAAK,KAAG,KAAK,MAAM,MAAM,QAAQ,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,OAAO,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,OAAO,MAAM,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,EAAE,QAAQ,KAAK,MAAM,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,QAAQ,KAAK,MAAM,MAAM,aAAa,IAAI,EAAE,QAAQ,KAAK,MAAM,OAAO,eAAe,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,OAAO,eAAe,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,eAAe,KAAK,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,GAAG,QAAQ,KAAK,MAAM,MAAM,kBAAkB,EAAE,EAAE,MAAM;AAAA,CAClhD,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,QAAQ,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,KAAK,EAAE,KAAK,MAAM,MAAM,gBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,EAAE,KAAK,MAAM,MAAM,iBAAiB,KAAK,CAAC,EAAE,EAAE,MAAM,KAAK,QAAQ,EAAE,KAAK,MAAM,MAAM,eAAe,KAAK,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,EAAE,EAAE,MAAM,KAAK,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,OAAO,KAAK,CAAC,KAAK,EAAE,GAAG,OAAO,KAAK,MAAM,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,KAAK,KAAK,GAAE,EAAE,EAAE,OAAO,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,UAAU,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,KAAK,MAAM,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,UAAU,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI;AAAA,EACzyB,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,YAAY,IAAI,EAAE,GAAG,KAAK,EAAE,OAAO,KAAK,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,OAAO,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,KAAK,MAAM,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,OAAO,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,SAAS,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,MAAM,MAAM,QAAQ,KAAK,MAAM,MAAM,UAAU,KAAK,EAAE,EAAE,EAAE,KAAK,MAAM,MAAM,OAAO,GAAG,KAAK,MAAM,MAAM,QAAQ,KAAK,MAAM,MAAM,QAAQ,KAAK,EAAE,EAAE,IAAI,KAAK,MAAM,MAAM,OAAO,IAAI,CAAC,KAAK,MAAM,MAAM,YAAY,KAAK,MAAM,MAAM,kBAAkB,KAAK,EAAE,EAAE,EAAE,KAAK,MAAM,MAAM,WAAW,GAAG,KAAK,MAAM,MAAM,YAAY,KAAK,MAAM,MAAM,gBAAgB,KAAK,EAAE,EAAE,IAAI,KAAK,MAAM,MAAM,WAAW,IAAI,CAAC,KAAK,OAAO,IAAI,EAAE,GAAG,OAAO,KAAK,MAAM,MAAM,OAAO,WAAW,KAAK,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,KAAK,QAAQ,UAAU,KAAK,MAAM,MAAM,kBAAkB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,gBAAgB,KAAK,CAAC,EAAE,OAAO,IAAI,EAAE,GAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,OAAW,KAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,QAAQ,SAAS,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,kBAAkB,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,IAAS,OAAE,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,MAAM,MAAM,kBAAkB,KAAK,CAAC,IAAI,KAAK,QAAQ,UAAU,CAAC,KAAK,MAAM,MAAM,gBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,QAAQ,KAAK,MAAM,OAAO,eAAe,IAAI,EAAE,MAAM,GAAG,EAAE,QAAQ,KAAK,MAAM,OAAO,eAAe,IAAI,CAAC,EAAE,EAAE,GAAG,KAAK,MAAM,KAAK,KAAK,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,MAAM,OAAO,QAAQ,KAAK,CAAC,KAAK,EAAE,KAAK,MAAM,OAAO,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,QAAQ,KAAK,MAAM,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,OAAO,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,KAAK,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,eAAe,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,MAAM,mBAAmB,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,KAAS,CAAC,GAAG,KAAK,MAAM,OAAO,YAAY,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,KAAK,MAAM,OAAO,kBAAkB,KAAK,MAAM,OAAO,kBAAkB,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,SAAc,SAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,aAAa,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,KAAK,MAAM,MAAM,kBAAkB,GAAG,EAAE,EAAE,KAAK,MAAM,MAAM,aAAa,KAAK,CAAC,EAAE,EAAE,KAAK,MAAM,MAAM,kBAAkB,KAAK,CAAC,GAAG,KAAK,MAAM,MAAM,gBAAgB,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,MAAM,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,KAAK,MAAM,aAAa,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,SAAS,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,OAAO,IAAI,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAM,KAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,OAAO,WAAW,KAAK,EAAE,EAAE,IAAI,IAAI,SAAS,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,OAAO,IAAI,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,MAAM,WAAW,MAAM,CAAC,KAAK,OAAO,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAM,GAAE,MAAM,CAAC,CAAC,OAAO,QAAQ,MAAM,UAAU,YAAY,WAAW,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,OAAO,MAAM,OAAO,OAAO,IAAI,EAAE,KAAK,QAAQ,GAAG,GAAE,KAAK,QAAQ,UAAU,KAAK,QAAQ,WAAW,IAAI,GAAE,KAAK,UAAU,KAAK,QAAQ,UAAU,KAAK,UAAU,QAAQ,KAAK,QAAQ,KAAK,UAAU,MAAM,KAAK,KAAK,YAAY,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,GAAG,WAAW,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,GAAE,MAAM,GAAE,OAAO,OAAO,GAAE,MAAM,EAAE,KAAK,QAAQ,UAAU,EAAE,MAAM,GAAE,SAAS,EAAE,OAAO,GAAE,UAAU,KAAK,QAAQ,MAAM,EAAE,MAAM,GAAE,IAAI,KAAK,QAAQ,OAAO,EAAE,OAAO,GAAE,OAAO,EAAE,OAAO,GAAE,KAAK,KAAK,UAAU,MAAM,YAAa,MAAK,EAAE,CAAC,MAAM,CAAC,MAAM,GAAE,OAAO,EAAC,QAAS,IAAG,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,QAAS,UAAS,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,GAAE,eAAe;AAAA,CACvqJ,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,YAAY,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,YAAY,GAAG,KAAK,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,KAAK,YAAY,CAAC,EAAE,KAAK,OAAO,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,QAAQ,WAAW,EAAE,EAAE,QAAQ,GAAE,cAAc,MAAM,EAAE,QAAQ,GAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,QAAQ,YAAY,OAAO,KAAK,MAAI,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,SAAS,GAAG,IAAS,OAAE,EAAE,KAAK;AAAA,EACxhB,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,aAAa,GAAG,OAAO,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAS;AAAA,CAC5J,EAAE,GAAG;AAAA,GACH,EAAE,IAAI,EAAE,MAAM;AAAA,EACf,EAAE,KAAK,KAAK,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,aAAa,GAAG,OAAO,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAS;AAAA,CACvpB,EAAE,GAAG;AAAA,GACH,EAAE,IAAI,EAAE,MAAM;AAAA,EACf,EAAE,IAAI,KAAK,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,MAAM,EAAE,OAAO,KAAK,OAAO,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,KAAK,UAAU,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,KAAK,QAAQ,YAAY,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,QAAQ,WAAW,WAAW,QAAQ,KAAG,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,MAAM,MAAM,EAAE,KAAK,UAAU,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,OAAO,aAAa,EAAE,MAAM,EAAE,IAAI,SAAS;AAAA,CACnoB,EAAE,GAAG;AAAA,GACH,EAAE,IAAI,EAAE,MAAM;AAAA,EACf,EAAE,KAAK,KAAK,YAAY,IAAI,EAAE,KAAK,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAS;AAAA,CACzP,EAAE,GAAG;AAAA,GACH,EAAE,IAAI,EAAE,MAAM;AAAA,EACf,EAAE,KAAK,KAAK,YAAY,IAAI,EAAE,KAAK,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,WAAW,CAAC,EAAE,GAAG,KAAK,QAAQ,OAAO,CAAC,QAAQ,MAAM,CAAC,EAAE,MAAW,WAAU,MAAM,CAAC,GAAG,OAAO,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,YAAY,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,MAAM,OAAO,cAAc,KAAK,CAAC,IAAI,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,YAAY,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,MAAM,OAAO,cAAc,SAAS,GAAG,MAAM,EAAE,KAAK,UAAU,MAAM,OAAO,eAAe,KAAK,CAAC,IAAI,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,UAAU,MAAM,OAAO,eAAe,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,UAAU,MAAM,OAAO,UAAU,KAAK,CAAC,IAAI,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,MAAM,OAAO,UAAU,SAAS,EAAE,EAAE,KAAK,QAAQ,OAAO,cAAc,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,QAAQ,YAAY,QAAQ,KAAK,MAAI,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,QAAQ,EAAE,KAAK,OAAO,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,QAAQ,GAAG,OAAO,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAAK,UAAU,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,CAAC,KAAK,MAAM,SAAS,EAAE,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,KAAK,QAAQ,YAAY,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,QAAQ,WAAW,YAAY,QAAQ,KAAG,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,UAAU,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,WAAW,CAAC,EAAE,GAAG,KAAK,QAAQ,OAAO,CAAC,QAAQ,MAAM,CAAC,EAAE,MAAW,WAAU,MAAM,CAAC,GAAG,OAAO,EAAE,EAAM,GAAE,KAAK,CAAC,QAAQ,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,QAAQ,GAAG,GAAE,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,MAAM,GAAE,aAAa,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAE,cAAc,EAAE,EAAE;AAAA,EAC7zF,OAAO,EAAE,8BAA8B,GAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAE,EAAE,EAAE,GAAG;AAAA,EAC/D,eAAe,EAAE,EAAE,GAAE,EAAE,EAAE,GAAG;AAAA,EAC5B,UAAU,EAAE,OAAO,GAAG,CAAC,MAAM;AAAA,EAC7B,KAAK,OAAO,MAAM,CAAC;AAAA,EACnB,IAAI,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,KAAK,KAAK,KAAK,OAAO,YAAY,CAAC,OAAO;AAAA,EACpH,EAAE,CAAC,EAAE,CAAC,MAAM;AAAA,EACZ,IAAI,CAAC,EAAE,CAAC,IAAQ,QAAJ,EAAgB,MAAJ,GAAE,EAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,KAAK,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,GAAG,MAAM,IAAI,EAAE,EAAE;AAAA,EAC7K,EAAE,KAAK,EAAE;AAAA,EACT,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,OAAO,aAAa,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,GAAG,OAAO,OAAO,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,EAAE,IAAI,GAAE,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,KAAK,EAAE,OAAO,QAAQ,CAAC,KAAK,OAAO,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,OAAO,GAAG,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO;AAAA,EACrd,QAAQ,EAAE,QAAQ,GAAG,CAAC,MAAM,WAAW,EAAE,cAAc,IAAI,+BAA+B,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,MAAM,KAAK,OAAO,YAAY,CAAC;AAAA,EACrJ,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,OAAO,IAAI,GAAG,KAAK,UAAU,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,KAAK,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,UAAU,aAAa;AAAA;AAAA,EAEpS,EAAE;AAAA,EACF,EAAE;AAAA,EACF,QAAQ,EAAE,KAAK,GAAG,CAAC,MAAM;AAAA,EACzB;AAAA,EACA,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,KAAK,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,UAAU,IAAI,MAAM,EAAE,KAAK;AAAA,EACtI,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,WAAW,KAAK,OAAO,YAAY,CAAC,aAAa,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,KAAK,OAAO,YAAY,CAAC,SAAS,QAAQ,EAAE,KAAK,GAAG,CAAC,MAAM,SAAS,GAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,MAAM,OAAO,GAAG,EAAE,OAAO,GAAG,CAAC,MAAM,QAAQ,KAAK,OAAO,YAAY,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,OAAO,YAAY,CAAC,EAAE,EAAE,GAAE,CAAC,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,OAAO,IAAI,GAAG,WAAW,GAAE,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,OAAO,YAAY,EAAE,KAAK,OAAO,YAAY,GAAG,IAAI,EAAE,GAAE,CAAC,EAAE,GAAG,IAAI,KAAK,OAAO,GAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,WAAW,KAAK,OAAO,IAAI,GAAG,WAAW,GAAE,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,WAAW,GAAG,EAAE,OAAO,KAAK,OAAO,YAAY,EAAE,MAAM,GAAE,YAAY,IAAG,EAAE,QAAQ,EAAE,KAAK,GAAE,EAAE,IAAI,EAAE,EAAM,GAAE,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,EAAM,GAAE,MAAM,CAAC,CAAC,QAAQ,SAAS,aAAa,WAAW,CAAC,EAAE,CAAC,KAAK,QAAQ,GAAG,GAAE,KAAK,QAAQ,SAAS,KAAK,QAAQ,UAAU,IAAI,GAAE,KAAK,SAAS,KAAK,QAAQ,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,KAAK,SAAS,OAAO,KAAK,KAAK,aAAa,IAAI,SAAS,MAAK,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,QAAS,YAAW,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,QAAQ,YAAY,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,QAAQ,WAAW,UAAU,EAAE,MAAM,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,OAAO,QAAQ,aAAa,OAAO,OAAO,MAAM,YAAY,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,GAAG,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,QAAQ,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,SAAS,GAAG,CAAC,EAAE,QAAQ,KAAK,UAAU,CAAC,GAAG,KAAK,SAAS,QAAQ,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,KAAK,SAAS,KAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC,EAAE,QAAQ,KAAK,aAAa,CAAC,GAAG,KAAK,SAAS,WAAW,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,KAAK,SAAS,KAAK,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,KAAK,SAAS,KAAK,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,EAAE,QAAQ,KAAK,YAAY,CAAC,GAAG,KAAK,SAAS,UAAU,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,SAAS,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG;AAAA,EAC3uE,KAAK,SAAS,KAAK,CAAC,EAAE,EAAE,GAAG,KAAK,SAAS,UAAU,CAAC,KAAK,YAAY,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,wBAAwB,GAAG,KAAK,QAAQ,OAAO,OAAO,QAAQ,MAAM,CAAC,EAAE,GAAG,MAAU,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,QAAQ,YAAY,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,WAAW,UAAU,EAAE,MAAM,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,QAAQ,SAAS,KAAK,WAAW,KAAK,MAAM,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,GAAG,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,wBAAwB,GAAG,KAAK,QAAQ,OAAO,OAAO,QAAQ,MAAM,CAAC,EAAE,GAAG,MAAU,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EAAM,GAAE,KAAK,CAAC,QAAQ,MAAM,WAAW,CAAC,EAAE,CAAC,KAAK,QAAQ,GAAG,SAAS,kBAAiB,IAAI,IAAI,CAAC,aAAa,cAAc,mBAAmB,cAAc,CAAC,QAAS,8BAA6B,IAAI,IAAI,CAAC,aAAa,cAAc,kBAAkB,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,OAAO,KAAK,MAAM,GAAE,IAAI,GAAE,UAAU,aAAa,EAAE,CAAC,OAAO,KAAK,MAAM,GAAE,MAAM,GAAE,YAAY,EAAM,GAAE,KAAK,CAAC,SAAS,GAAE,EAAE,QAAQ,KAAK,WAAW,MAAM,KAAK,cAAc,EAAE,EAAE,YAAY,KAAK,cAAc,EAAE,EAAE,OAAO,GAAE,SAAS,GAAE,aAAa,GAAE,MAAM,GAAE,UAAU,GAAE,MAAM,GAAE,WAAW,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,EAAE,EAAE,UAAU,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,KAAK,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,KAAK,EAAE,KAAK,QAAQ,KAAK,EAAE,EAAE,EAAE,OAAO,KAAK,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,KAAK,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,SAAS,YAAY,cAAc,EAAE,MAAM,KAAK,SAAS,WAAW,YAAY,EAAE,MAAM,QAAQ,KAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,OAAO,KAAK,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,KAAK,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,SAAS,YAAY,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,KAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,OAAO,GAAG,EAAE,aAAa,EAAE,WAAW,QAAQ,KAAG,CAAC,GAAG,CAAC,EAAE,KAAK,MAAU,MAAM,yBAAyB,EAAE,GAAG,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,SAAS,EAAE,QAAQ,SAAS,MAAU,MAAM,6CAA6C,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,QAAQ,EAAE,WAAW,EAAE,WAAW,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,WAAW,EAAE,YAAY,EAAE,YAAY,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC,EAAE,KAAK,IAAI,gBAAgB,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,WAAW,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS,UAAU,IAAI,GAAE,KAAK,QAAQ,EAAE,QAAQ,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,MAAU,MAAM,aAAa,mBAAmB,EAAE,GAAG,CAAC,UAAU,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,SAAS,WAAW,IAAI,GAAE,KAAK,QAAQ,EAAE,QAAQ,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,GAAG,MAAU,MAAM,cAAc,mBAAmB,EAAE,GAAG,CAAC,UAAU,QAAQ,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,OAAO,IAAI,GAAE,QAAQ,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,MAAU,MAAM,SAAS,mBAAmB,EAAE,GAAG,CAAC,UAAU,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAE,iBAAiB,IAAI,CAAC,EAAE,EAAE,GAAG,KAAG,CAAC,GAAG,KAAK,SAAS,OAAO,GAAE,6BAA6B,IAAI,CAAC,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,MAAM,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,SAAS,WAAW,EAAE,EAAE,WAAW,EAAE,WAAW,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,SAAS,IAAI,KAAK,YAAY,CAAC,EAAE,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,YAAY,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,GAAE,IAAI,EAAE,GAAG,KAAK,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,GAAE,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,KAAK,YAAY,CAAC,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,SAAS,QAAQ,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAM,MAAM,oIAAoI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,OAAO,EAAM,MAAM,gDAAgD,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS,OAAO,EAAM,MAAM,wCAAwC,OAAO,UAAU,SAAS,KAAK,CAAC,EAAE,mBAAmB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,QAAQ,EAAE,EAAE,MAAM,MAAM,GAAG,EAAE,MAAM,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,MAAM,EAAE,MAAM,WAAW,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,MAAM,aAAa,EAAE,EAAE,GAAE,IAAI,GAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,MAAM,EAAE,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAE,YAAY,MAAM,QAAQ,IAAI,KAAK,WAAW,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,MAAM,cAAc,EAAE,EAAE,GAAE,MAAM,GAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,MAAM,EAAE,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,WAAW,CAAC,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,aAAa,EAAE,EAAE,GAAE,IAAI,GAAE,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,iBAAiB,CAAC,GAAG,EAAE,YAAY,KAAK,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,EAAE,EAAE,GAAE,MAAM,GAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,MAAO,KAAG,CAAC,GAAG,EAAE,SAAS;AAAA,2DACt7L,EAAE,CAAC,IAAI,EAAE,iCAAiC,GAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,OAAO,EAAE,QAAQ,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,QAAQ,OAAO,CAAC,EAAE,MAAM,GAAG,EAAM,GAAE,IAAI,GAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,GAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,QAAQ,CAAC,EAAE,CAAC,OAAO,GAAE,WAAW,CAAC,EAAE,EAAE,SAAS,GAAE,SAAS,GAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAE,EAAE,SAAS,GAAE,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC,OAAO,GAAE,IAAI,GAAG,CAAC,EAAE,EAAE,SAAS,GAAE,SAAS,GAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,GAAE,WAAW,EAAE,CAAC,GAAG,EAAE,YAAY,GAAE,YAAY,EAAE,OAAO,GAAE,EAAE,OAAO,GAAE,MAAM,EAAE,SAAS,GAAE,EAAE,aAAa,GAAE,EAAE,MAAM,GAAE,EAAE,MAAM,GAAE,IAAI,EAAE,UAAU,GAAE,EAAE,MAAM,GAAE,EAAE,MAAM,EAAE,IAAS,QAAL,GAAkB,WAAL,GAAqB,IAAL,GAAc,WAAL,GAAqB,YAAL,IAAtC,EAApB,IAAgF,GAAG,GAAE,MAAM,GAAG,GAAE,IC1D1uB,IAAM,GAAe,IAAI,GAQnB,GAAY,IAAI,GACtB,GAAU,IAAI,CACZ,SAAU,CACR,IAAI,CAAC,EAAY,CACf,IAAM,EAAO,OAAO,EAAM,MAAQ,EAAE,EAC9B,EAAO,EAAK,QAAQ,GAAG,EAC7B,GAAI,IAAS,GAAI,MAAO,GACxB,IAAM,EAAK,EAAK,MAAM,EAAO,CAAC,EAAE,MAAM,iBAAiB,IAAI,GAC3D,GAAI,CAAC,EAAI,MAAO,GAEhB,OADa,GAAa,KAAK,IAAK,EAAO,KAAM,EAAK,MAAM,EAAG,CAAI,CAAE,CAAC,EAC1D,QAAQ,SAAU,yBAAyB,KAAM,EAEjE,CACF,CAAC,EAGM,SAAS,EAAiB,CAAC,EAAsB,CACtD,OAAO,GAAU,MAAM,CAAI,ECiH7B,IAAQ,OAAK,QAAM,QAAM,WAAW,EAS7B,MAAM,WAAiB,CAAa,OAClC,kBAAmB,kBAEnB,gBAAiB,CACtB,UAAW,EACb,EAEA,MAAQ,EAER,OAAO,CAAC,EAAgB,EAAsB,EAA6B,CACzE,IAAM,EAAU,EAAQ,aAAa,MAAM,EACrC,EAEF,EAAQ,cAAc,sBAAsB,GAC3C,QAAQ,UAAU,EAAI,IACxB,KAAK,UAAY,GAAc,CAAO,EAAI,GAAK,CAAO,GACnD,EAAM,GACV,EACA,CACE,KAAM,MACN,SAAU,EACV,KAAM,MACN,aAAc,CAChB,EACA,EAAQ,aAAa,YAAY,EAC7B,GACE,CACE,MAAO,QACP,MAAO,OACT,EACA,EAAM,EAAE,CACV,EACA,CAAC,CACP,EACM,EAAU,EAAQ,QAAQ,QAChC,GAAI,EACF,EAAI,QAAQ,QAAU,EAExB,OAAO,QAGF,iBAAkB,CACvB,QAAS,CAEP,6BACE,mEACF,wBAAyB,kCACzB,yBAA0B,kCAC1B,QAAS,OACT,cAAe,SACf,SAAU,WACV,SAAU,SACV,UAAW,iBACb,EACA,KAAM,CACJ,SAAU,WACV,QAAS,QACT,KAAM,IACN,SAAU,SACV,UAAW,MACb,EACA,0BAA2B,CACzB,KAAM,UACR,EACA,sBAAuB,CACrB,QAAS,iBACX,EACA,wBAAyB,CACvB,QAAS,OACT,cAAe,SACf,UAAW,MACb,EACA,sBAAuB,CACrB,QAAS,MACX,EACA,cAAe,CACb,QAAS,OACT,WAAY,OACZ,WAAY,QACd,EACA,oBAAqB,CACnB,QAAS,GAAG,EAAK,aAAa,EAAK,UACnC,OAAQ,UACR,QAAS,OACT,WAAY,UACd,EACA,gCAAiC,CAC/B,eAAgB,EAAK,sBACrB,MAAO,EAAK,SACd,EACA,iBAAkB,CAChB,KAAM,GACR,EACA,gBAAiB,CACf,WAAY,EAAK,gBACnB,EACA,4BAA6B,CAC3B,QAAS,IACT,MAAO,EACP,OAAQ,EAAK,kBACb,WAAY,EAAK,sBACjB,WAAY,eACd,EACA,qBAAsB,CACpB,OAAQ,EACR,WAAY,cACZ,UAAW,SACX,WAAY,EAAK,UACjB,QAAS,CACX,EACA,2BAA4B,CAC1B,OAAQ,MACV,CACF,EAEA,WAAqC,KAErC,QAAU,CACR,GACE,CAAE,KAAM,WAAY,KAAM,UAAW,EACrC,GACE,CAAE,KAAM,QAAS,EACjB,GAAI,CAAE,MAAO,OAAQ,KAAM,MAAO,CAAC,EACnC,GAAI,CAAE,MAAO,SAAU,CAAC,EACxB,GAAK,CAAE,KAAM,YAAa,CAAC,CAC7B,EACA,GAAI,CAAE,MAAO,QAAS,EAAG,GAAI,CAAE,MAAO,WAAY,KAAM,UAAW,CAAC,CAAC,CACvE,EACA,GAAK,CACP,EAEA,UAAU,CAAC,EAAmB,EAAY,GAAa,CACrD,GAAI,CAAC,EAAK,aAAa,MAAM,EAE3B,MADA,QAAQ,MAAM,gCAAiC,CAAI,EACzC,MAAM,+BAA+B,EAIjD,GAFA,KAAK,OAAO,CAAI,EAChB,KAAK,UAAU,EACX,EACF,KAAK,MAAQ,KAAK,OAAO,OAAS,EAEpC,KAAK,YAAY,EAGnB,aAAa,CAAC,EAAyB,CACrC,EAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,YAAY,EAGnB,OAAS,CAAC,IAAuB,CAC/B,IAAQ,QAAS,KAAK,MAChB,EAAW,CAAC,GAAG,EAAK,QAAQ,EAAE,QAAQ,EAAM,MAAqB,EACvE,OAAS,EAAwB,SAC1B,YACH,KAAK,OACF,EAAW,OAAO,EAAK,SAAS,MAAM,EAAI,GAAK,EAAK,SAAS,OAC9D,EAAK,SAAS,KAAK,OAAuB,MAAM,EAClD,EAAM,eAAe,EACrB,UACG,aACH,KAAK,OAAS,EAAW,GAAK,EAAK,SAAS,OAC1C,EAAK,SAAS,KAAK,OAAuB,MAAM,EAClD,EAAM,eAAe,EACrB,UACG,IACH,KAAK,QAAQ,CAAK,EAClB,EAAM,eAAe,EACrB,oBAMF,OAAM,EAAc,CACtB,MAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,OAAO,CAAC,IAAQ,EAAI,aAAa,MAAM,CAAC,EAGpE,QAAU,CAAC,IAAuB,CAChC,IAAQ,QAAS,KAAK,MAChB,EAAS,EAAM,OACf,EAAe,EAAO,QAAQ,cAAc,IAAM,KAClD,EAAM,EAAO,QAAQ,aAAa,EAClC,EAAW,CAAC,GAAG,EAAK,QAAQ,EAAE,QAAQ,CAAG,EAC/C,GAAI,EAAc,CAChB,IAAM,EAAO,KAAK,OAAO,GACzB,GAAI,CAAC,KAAK,YAAc,KAAK,WAAW,CAAI,IAAM,GAChD,KAAK,cAAc,KAAK,OAAO,EAAwB,EAGzD,QAAI,EAAW,GACb,KAAK,MAAQ,GAKnB,UAAY,IAAY,CACtB,IAAQ,QAAS,KAAK,MAChB,EAAY,CAAC,GAAG,KAAK,QAAQ,EAAE,OACnC,CAAC,IAAU,CAAC,EAAM,aAAa,MAAM,GAAK,EAAM,aAAa,MAAM,CACrE,EAEA,GADA,EAAK,YAAc,GACf,KAAK,OAAS,EAAU,OAC1B,KAAK,MAAQ,EAAU,OAAS,EAElC,QAAW,KAAS,EAAW,CAC7B,IAAM,EAAU,EAAU,GACpB,EAAS,GAAG,KAAK,cAAc,IACrC,EAAQ,GAAK,EACb,IAAM,EAAM,KAAK,QAAQ,KAAM,EAAS,CAAM,EAC9C,EAAK,OAAO,CAAG,IAInB,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EACxB,IAAQ,QAAS,KAAK,MACtB,EAAK,iBAAiB,QAAS,KAAK,OAAO,EAC3C,EAAK,iBAAiB,UAAW,KAAK,MAAM,EAC5C,KAAK,UAAU,EACf,GAAc,aAAa,IAAI,IAAI,EAGrC,oBAAoB,EAAS,CAC3B,MAAM,qBAAqB,EAC3B,GAAc,aAAa,OAAO,IAAI,EAGxC,cAAgB,IAAM,CACpB,KAAK,YAAY,GAGnB,QAAQ,EAAS,CACf,KAAK,YAAY,EAGnB,MAAM,EAAS,CACb,IAAQ,OAAM,YAAa,KAAK,MAC1B,EAAY,KAAK,OACvB,QAAS,EAAI,EAAG,EAAI,EAAU,OAAQ,IAAK,CACzC,IAAM,EAAU,EAAU,GACpB,EAAM,EAAK,SAAS,GACpB,EAAa,KAAK,QAAU,OAAO,CAAC,EAG1C,GAFA,EAAI,gBAAgB,gBAAiB,CAAU,EAC/C,EAAQ,gBAAgB,SAAU,CAAC,CAAU,EACzC,EACF,EAAS,MAAO,WAAa,GAAG,EAAI,WAAa,EAAK,eACtD,EAAS,MAAO,MAAQ,GAAG,EAAI,iBAIvC,CAKO,IAAM,GAA+B,GAE/B,GAAW,GAAS,eAAe,EAGnC,GAAc,GAGd,GAAU,GCtahB,IAAM,IAAiB,SAAY,IAEvC,YAQI,SAAS,EAAc,CAAC,EAAqB,CAClD,OAAO,EAAI,QAAQ,kBAAmB,EAAE,EAanC,SAAS,EAAc,CAAC,EAAc,EAA+B,CAC1E,IAAI,EAAS,EACb,QAAW,KAAc,EAAa,CACpC,IAAM,EAAK,GAAe,CAAU,EAC9B,EAAI,EAAW,QAAQ,sBAAuB,MAAM,EAE1D,EAAS,EAAO,QACd,IAAI,OAAO,uCAAuC,KAAM,GAAG,EAC3D,CAAC,EAAG,IAAkB,WAAW,EAAM,QAAQ,OAAQ,GAAG,EAAE,KAAK,SAAS,GAC5E,EAEA,EAAS,EAAO,QACd,IAAI,OAAO,6CAA6C,KAAM,GAAG,EACjE,CAAC,EAAG,IAAiB,SAAS,OAAU,GAC1C,EAEA,EAAS,EAAO,QACd,IAAI,OAAO,gCAAgC,KAAM,GAAG,EACpD,CAAC,EAAG,IAAiB,SAAS,OAAU,GAC1C,EAGF,IAAM,EAAW,EAAO,MAAM,8BAA8B,EAC5D,GAAI,EACF,MAAU,MACR,sCAAsC,EAAS,GAAG,KAAK,sBACrD,6BAA6B,EAAY,KAAK,IAAI,2DAEtD,EAEF,OAAO,EAMT,eAAsB,EAAW,CAC/B,EACA,EACA,EACe,CACf,IAAM,EAAgB,GAAe,EAAM,OAAO,KAAK,CAAO,CAAC,EACzD,GACJ,MAAM,EAAU,EAAe,CAC7B,WAAY,CAAC,YAAY,CAC3B,CAAC,GACD,KAEI,EAAc,OAAO,KAAK,CAAO,EAAE,IAAI,EAAc,EACrD,EAAgB,OAAO,OAAO,CAAO,EAI3C,MADa,IAAI,GAAc,GAAG,EAAa,CAAe,EACnD,GAAG,CAAa,EAwB7B,IAAM,GAAU,kEACV,GACJ,0EAEF,eAAe,EAAO,EAA0B,CAE9C,GAAI,CACF,IAAQ,OAAS,KAAa,4BAC9B,GAAI,OAAO,IAAQ,WAAY,OAAO,EACtC,KAAM,EAIR,GAAI,CACF,IAAQ,OAAS,MAAuC,WAGxD,GAAI,OAAO,IAAQ,WAAY,OAAO,EACtC,KAAM,EAGR,OAAO,KAyBT,IAAI,GAEJ,eAAe,EAAkB,EAA+B,CAC9D,QAAW,IAAO,CAChB,IAAa,2BACb,IAAuC,UACzC,EACE,GAAI,CACF,IAAM,EAAK,MAAM,EAAI,EACrB,GAAI,OAAO,EAAE,eAAiB,YAAc,OAAO,EAAE,YAAc,SACjE,MAAO,CAAE,aAAc,EAAE,aAAc,UAAW,EAAE,SAAU,EAEhE,KAAM,EAIV,OAAO,KAIF,SAAS,EAAc,EAA+B,CAC3D,OAAQ,KAAgB,GAAmB,EAK7C,eAAe,EAAU,EAA6B,CACpD,GAAI,CACF,IAAQ,UAAY,KAAa,oCAGjC,GAAI,OAAO,IAAW,WAAY,OAAO,EACzC,KAAM,EAGR,GAAI,CACF,IAAQ,UAAY,MACQ,WAE5B,GAAI,OAAO,IAAW,WAAY,OAAO,EACzC,KAAM,EAGR,OAAO,KAOT,IAAI,GACA,GACE,GAAc,IAAI,IACpB,GAAc,GACd,GAAiB,GAmBrB,eAAsB,EAAa,CACjC,EAAmB,KACG,CACtB,IAAM,EAAM,MAAO,KAAY,GAAQ,GACvC,GAAI,CAAC,GAAO,CAAC,GACX,GAAc,GACd,QAAQ,KACN,gEACE,kFACJ,EAEF,IAAM,EAAS,IAAY,KAAO,MAAO,KAAe,GAAW,GAAK,KACxE,GAAI,IAAY,MAAQ,CAAC,GAAU,CAAC,GAClC,GAAiB,GACjB,QAAQ,KACN,+EACF,EAEF,MAAO,CAAC,IAAS,CACf,IAAM,EAAW,GAAG,QAAW,IACzB,EAAS,GAAY,IAAI,CAAQ,EACvC,GAAI,EAAQ,OAAO,EAGnB,GAAI,CAAC,EAAK,CACR,IAAM,EAAS,CAAE,MAAK,EAEtB,OADA,GAAY,IAAI,EAAU,CAAM,EACzB,EAET,GAAI,IAAY,KAEd,OAAQ,SAAY,CAClB,IAAM,EAAY,GAAU,MAAM,EAAO,EAAM,CAAE,QAAS,EAAK,CAAC,GAAG,KAAO,EACpE,EAAS,CACb,KAAM,EAAI,EAAW,CAAE,QAAS,MAAO,SAAU,EAAM,CAAC,EAAE,IAC5D,EAEA,OADA,GAAY,IAAI,EAAU,CAAM,EACzB,IACN,EAEL,IAAM,EAAS,CAAE,KAAM,EAAI,EAAM,CAAE,UAAS,SAAU,EAAM,CAAC,EAAE,IAAK,EAEpE,OADA,GAAY,IAAI,EAAU,CAAM,EACzB,GCtQJ,IAAM,GAAc,uBAEpB,SAAS,EAAe,CAC7B,EACA,EACA,EACQ,CACR,OAAO,IAAa,GAAK,GAAG,KAAU,IAAa,GAAG,KAAU,IAG3D,SAAS,EAAW,CAAC,EAAoB,EAA8B,CAC5E,GAAI,CACF,aAAa,QAAQ,EAAY,KAAK,UAAU,CAAO,CAAC,EACxD,MAAO,EAAG,CACV,QAAQ,KAAK,gDAAiD,CAAC,GAI5D,SAAS,EAAY,CAAC,EAA2C,CACtE,GAAI,IAAS,KAAM,OAAO,KAC1B,GAAI,CACF,OAAO,KAAK,MAAM,CAAI,EACtB,KAAM,CACN,OAAO,MAIJ,SAAS,EAAgB,CAC9B,EACA,EACA,EACA,EACA,EACM,CACN,IAAM,EAAO,SAAS,KAAK,MAAM,GAAG,EAAE,GAAK,IAAI,KAAU,IACzD,GAAY,EAAY,CACtB,YACA,OAAQ,KAAK,IAAI,KACd,CACL,CAAC,EACD,OAAO,KAAK,CAAI,EAclB,IAAM,GAAsB,OAAO,iBAAqB,IAYjD,MAAM,EAAkB,CACrB,WACA,UACA,WAAa,EACb,SACA,QACA,UAAY,GACZ,UAER,WAAW,CACT,EACA,EACA,EACA,CACA,KAAK,WAAa,EAClB,KAAK,UAAY,EACjB,KAAK,UAAY,EAGX,cAAgB,CAAC,IAA2B,CAClD,GAAI,EAAQ,QAAU,KAAK,WAAY,OACvC,GAAI,EAAQ,YAAc,KAAK,UAAW,OAE1C,KAAK,WAAa,EAAQ,OAC1B,KAAK,UAAU,CAAO,GAIhB,cAAgB,CAAC,IAAwB,CAC/C,IAAM,EAAU,EAAM,KACtB,GAAI,EAAS,KAAK,cAAc,CAAO,GAIjC,WAAa,IAAM,CACzB,IAAI,EACJ,GAAI,CACF,EAAO,aAAa,QAAQ,KAAK,UAAU,EAC3C,KAAM,CACN,OAGF,IAAM,EAAU,GAAa,CAAI,EACjC,GAAI,EAAS,KAAK,cAAc,CAAO,GAGzC,cAAc,EAAS,CACrB,GAAI,KAAK,UAAW,OAGpB,GAFA,KAAK,UAAY,GAEb,GACF,KAAK,QAAU,IAAI,iBAAiB,KAAK,UAAU,EACnD,KAAK,QAAQ,UAAY,KAAK,cAMhC,KAAK,SAAW,YAAY,KAAK,WAAY,GAAG,EAGlD,aAAa,EAAS,CACpB,GAAI,CAAC,KAAK,UAAW,OAGrB,GAFA,KAAK,UAAY,GAEb,KAAK,QACP,KAAK,QAAQ,MAAM,EACnB,KAAK,QAAU,OAGjB,GAAI,KAAK,SACP,cAAc,KAAK,QAAQ,EAC3B,KAAK,SAAW,OAIpB,IAAI,CAAC,EAAsE,CACzE,IAAM,EAAyB,CAC7B,UAAW,KAAK,UAChB,OAAQ,KAAK,IAAI,KACd,CACL,EAMA,GAHA,GAAY,KAAK,WAAY,CAAO,EAGhC,KAAK,QACP,KAAK,QAAQ,YAAY,CAAO,EAIpC,SAAS,EAAS,CAChB,IAAM,EAAyB,CAC7B,UAAW,KAAK,UAChB,OAAQ,KAAK,IAAI,EACjB,IAAK,GACL,KAAM,GACN,GAAI,GACJ,MAAO,EACT,EAIA,GAFA,GAAY,KAAK,WAAY,CAAO,EAEhC,KAAK,QACP,KAAK,QAAQ,YAAY,CAAO,EAGtC,CC5KA,IAAQ,QAAQ,EAUT,SAAS,EAA0B,CACxC,EACA,EACM,CACN,IAAM,EAAuB,EAAa,eAC1C,GAAI,CAAC,EAAsB,OAE3B,IAAM,EAAW,CAAC,IAAoB,CACpC,GAAI,CAAC,GAAW,EAAqB,IAAI,CAAO,EAAG,OACnD,IAAM,EAAiB,eAAe,IAAI,CAAO,EACjD,GAAI,EACF,GAAI,CACF,EAAqB,OAAO,EAAS,CAAc,EACnD,KAAM,IAOZ,QAAW,KAAO,OAAO,OAAO,CAAO,EACrC,GAAI,GAAO,OAAO,IAAQ,UACxB,QAAW,KAAW,OAAO,OAAO,CAA8B,EAChE,GAAI,OAAO,IAAY,YAAc,YAAa,EAChD,EAAU,EAAgC,OAAO,EAOzD,IAAM,EAAY,EAAa,SAC/B,GAAI,EAAW,CACb,IAAM,EAAc,EAAU,iBAAiB,GAAG,EAClD,QAAW,KAAM,EAAa,CAC5B,IAAM,EAAM,EAAG,QAAQ,YAAY,EACnC,GAAI,EAAI,SAAS,GAAG,EAClB,EAAS,CAAG,IAkBpB,eAAsB,EAAa,CACjC,EAKsB,CACtB,IACE,OACA,MACA,KACA,UACA,YACA,iBACA,eACA,iBACA,WACE,EAEE,EAAU,GAAI,CAAE,MAAO,SAAU,CAAC,EACxC,EAAQ,UAAY,EACpB,EAAa,UAAY,EAEzB,IAAM,EAAa,EAAe,cAAc,UAAU,EAC1D,GAAI,EACF,EAAW,YAAY,CAAO,EAE9B,OAAe,aAAa,EAAS,CAAc,EAGrD,IAAM,EAAc,CAAE,aAAY,CAAQ,EAE1C,GAAI,CACF,IAAM,EAAO,GAAe,EAAI,OAAO,KAAK,CAAO,CAAC,EAC9C,GACJ,MAAM,EAAU,EAAM,CAAE,WAAY,CAAC,YAAY,CAAE,CAAC,GACpD,KAEI,EAAc,OAAO,KAAK,CAAW,EAAE,IAAI,EAAc,EACzD,EAAgB,OAAO,OAAO,CAAW,EAI/C,MADa,IAAI,GAAc,GAAG,EAAa,CAAe,EACnD,GAAG,CAAa,EAC3B,MAAO,EAAG,CAKV,GAJA,QAAQ,MAAM,CAAC,EACf,EAAQ,OACN,GAAI,CAAE,MAAO,eAAgB,EAAG,OAAQ,EAAY,SAAW,CAAC,CAAC,CACnE,EACI,EAAS,EAAQ,CAAU,EAC1B,YAAO,MAAM,UAAU,2CAA0C,EAGxE,OAAO,EAMT,eAAsB,EAAe,CACnC,EAI6B,CAC7B,IACE,OACA,MACA,KACA,UACA,YACA,iBACA,iBACA,WACE,EAGA,EAAS,EAAe,cAC1B,uBACF,EAEA,GAAI,CAAC,EAAQ,CACX,EAAS,SAAS,cAAc,QAAQ,EACxC,EAAO,UAAY,iBACnB,EAAO,MAAM,QAAU,2CACvB,IAAM,EAAa,EAAe,cAAc,UAAU,EAC1D,GAAI,EACF,EAAW,YAAY,CAAM,EAE7B,OAAe,aAAa,EAAQ,CAAc,EAItD,IAAM,EAAY,EAAO,gBACzB,GAAI,CAAC,EAEH,OADA,QAAQ,MAAM,kCAAkC,EACzC,KAGT,IAAM,EAAe,EAAO,cAM5B,GAAI,EAAQ,OACV,EAAa,OAAS,EAAQ,OAEhC,GAAI,EAAQ,aACV,EAAa,SAAW,EAAQ,aAIlC,EAAU,KAAK,EACf,EAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMZ;AAAA;AAAA;AAAA;AAAA,yBAImB;AAAA;AAAA,QAEjB,EACN,EAAU,MAAM,EAGhB,GAA2B,EAAc,CAAO,EAEhD,IAAM,EAAU,EAAU,cAAc,UAAU,EAClD,GAAI,CAAC,EAEH,OADA,QAAQ,MAAM,0CAA0C,EACjD,KAIT,IAAM,EAAc,CAAE,aAAY,CAAQ,EAE1C,GAAI,CACF,IAAM,EAAO,GAAe,EAAI,OAAO,KAAK,CAAO,CAAC,EAC9C,GACJ,MAAM,EAAU,EAAM,CAAE,WAAY,CAAC,YAAY,CAAE,CAAC,GACpD,KAGI,EACJ,EACA,KAAK,8BAA8B,EAE/B,EAAc,OAAO,KAAK,CAAW,EAAE,IAAI,EAAc,EACzD,EAAgB,OAAO,OAAO,CAAW,EAG/C,MADa,IAAI,EAAoB,GAAG,EAAa,CAAe,EACzD,GAAG,CAAa,EAC3B,MAAO,EAAG,CACV,QAAQ,MAAM,CAAC,EACf,IAAM,EAAW,EAAU,cAAc,KAAK,EAI9C,GAHA,EAAS,UAAY,gBACrB,EAAS,YAAc,OAAQ,EAAY,SAAW,CAAC,EACvD,EAAQ,OAAO,CAAQ,EACnB,EAAS,EAAQ,CAAU,EAC1B,YAAO,MAAM,UAAU,2CAA0C,EAGxE,OAAO,EC/NF,SAAS,EAAc,CAC5B,EACA,EACA,EACA,EAMA,EACM,CACN,IAAM,EAAyB,CAC7B,GAAG,EAAQ,iBACT,qFACF,CACF,EACG,OAAO,CAAC,IAAO,CAAC,EAAG,QAAQ,CAAkB,CAAC,EAC9C,IAAI,CAAC,KAAU,CACd,MAAO,EAAK,cACZ,SAAU,EAAK,UAAU,GAAG,MAAM,GAAG,EAAE,IAAI,EAC3C,KAAO,EAAqB,SAC9B,EAAE,EAIA,EAAU,EACd,QAAS,EAAQ,EAAG,EAAQ,EAAQ,OAAQ,GAAS,EAAG,CACtD,IAAM,EAAiB,CAAC,EAAQ,EAAM,EAGtC,MACE,EAAQ,EAAQ,OAAS,GACzB,EAAQ,GAAO,MAAM,qBAAuB,EAAQ,EAAQ,GAAG,MAE/D,EAAe,KAAK,EAAQ,EAAQ,EAAE,EACtC,GAAS,EAGX,IAAM,EAAU,EAAmB,CAAE,SAAQ,CAAC,EAC9C,GAAI,IAAe,OACjB,EAAQ,aAAa,mBAAoB,CAAU,EACnD,EAAQ,aAAa,uBAAwB,OAAO,CAAO,CAAC,EAM9D,IAAM,EAAa,EAChB,IAAI,CAAC,IAAM,EAAE,MAAM,aAAa,iBAAiB,CAAC,EAClD,KAAK,CAAC,IAAmB,CAAC,CAAC,CAAC,EAC/B,EAAQ,GAAK,GAAc,WAAW,EAAU,IAChD,GAAW,EACI,EAAe,GAAG,MAAM,cAChC,aAAa,EAAS,EAAe,GAAG,KAAK,EAEpD,EAAe,QAAQ,CAAC,IAAW,CACjC,OAAQ,EAAO,cACR,SACA,UACA,KAGH,EAAQ,GAAK,EAAO,KACpB,EAAQ,QAAU,EAAO,SACzB,UACG,OACH,EAAQ,KAAO,EAAO,KACtB,UACG,MACH,EAAQ,IAAM,EAAO,KACrB,UACG,OACH,EAAQ,KAAO,EAAO,KACtB,MAEJ,EAAO,MAAM,OAAO,EACrB,EAED,EAAQ,eAAe,EAGvB,EAAQ,4BAA4B,GC3ExC,IAAM,GAAe,IAAI,IAAI,CAAC,KAAM,MAAO,IAAI,CAAC,EAC1C,GAAa,IAAI,IAAI,CAAC,KAAM,MAAO,KAAM,OAAQ,MAAO,MAAM,CAAC,EAW9D,SAAS,EAAgB,CAAC,EAA4B,CAC3D,IAAM,EAAK,sCACL,EAAwB,CAAC,EAC3B,EACJ,OAAQ,EAAI,EAAG,KAAK,CAAG,KAAO,KAAM,CAClC,IAAM,EAAY,EAAE,MAAQ,EAAE,GAAG,QAAQ;AAAA,CAAI,EAAI,EACjD,EAAO,KAAK,CACV,KAAM,EAAE,IAAM,GACd,MAAO,EAAE,MACT,IAAK,EAAE,MAAQ,EAAE,GAAG,OACpB,YACA,QAAS,EAAY,EAAE,GAAG,MAC5B,CAAC,EAEH,OAAO,EAIF,SAAS,EAAa,CAAC,EAAa,EAAwC,CACjF,IAAM,EAA0B,CAAC,EAC7B,EAAgC,KACpC,QAAS,EAAI,EAAG,EAAI,EAAO,OAAQ,GAAK,EAAG,CACzC,IAAM,EAAQ,EAAO,GACrB,GAAI,CAAC,GAAW,IAAI,EAAM,IAAI,EAAG,CAC/B,EAAU,KACV,SAEF,IAAM,EAAO,EAAO,EAAI,GAMxB,GAJE,IAAY,MACZ,IAAS,QACT,GAAW,IAAI,EAAK,IAAI,GACxB,EAAI,MAAM,EAAK,IAAK,EAAM,KAAK,EAAE,KAAK,IAAM,IAC9B,EACd,EAAQ,KAAK,CAAK,EAElB,OAAU,CAAC,CAAK,EAChB,EAAO,KAAK,CAAO,EAGvB,OAAO,EAcF,SAAS,EAAoB,CAClC,EACA,EACA,EACe,CACf,IAAM,EAAQ,GAAc,EAAK,GAAiB,CAAG,CAAC,EAAE,GACxD,GAAI,CAAC,EAAO,OAAO,KAMnB,IAAM,EAAU,CAAC,IAAsB,EAAE,QAAQ,OAAQ,EAAE,EACrD,EAA+D,CAAC,EAGhE,EAAW,CAAC,IAChB,IAAS,KACL,EAAM,KAAK,CAAC,IAAM,GAAa,IAAI,EAAE,IAAI,CAAC,EAC1C,EAAM,KAAK,CAAC,IAAM,EAAE,OAAS,CAAI,EACvC,QAAW,IAAQ,CAAC,KAAM,OAAQ,MAAO,MAAM,EAAY,CACzD,IAAM,EAAO,EAAM,GACnB,GAAI,IAAS,OAAW,SACxB,IAAM,EAAQ,EAAS,CAAI,EAC3B,GAAI,CAAC,EAAO,SACZ,IAAM,EAAa,EAAI,MAAM,EAAM,UAAW,EAAM,OAAO,EAC3D,GAAI,EAAQ,CAAU,IAAM,EAAQ,CAAI,EAAG,SAC3C,EAAa,KAAK,CAAE,MAAO,EAAM,UAAW,IAAK,EAAM,QAAS,KAAM,CAAK,CAAC,EAE9E,GAAI,EAAa,SAAW,EAAG,OAAO,KAGtC,EAAa,KAAK,CAAC,EAAG,IAAM,EAAE,MAAQ,EAAE,KAAK,EAC7C,IAAI,EAAM,EACV,QAAW,KAAK,EACd,EAAM,EAAI,MAAM,EAAG,EAAE,KAAK,EAAI,EAAE,KAAO,EAAI,MAAM,EAAE,GAAG,EAExD,OAAO,ECvGF,SAAS,EAAc,CAC5B,EACA,EACQ,CACR,MAAO,qBAAY,KAAc,IAG5B,SAAS,EAAe,CAAC,EAAa,EAAyB,CACpE,GAAI,CACF,aAAa,QAAQ,EAAK,KAAK,UAAU,CAAI,CAAC,EAC9C,MAAO,EAAG,CACV,QAAQ,KAAK,6BAA8B,CAAC,GAIzC,SAAS,EAAe,CAAC,EAAiC,CAC/D,GAAI,CACF,IAAM,EAAM,aAAa,QAAQ,CAAG,EACpC,OAAO,EAAO,KAAK,MAAM,CAAG,EAAoB,KAChD,KAAM,CACN,OAAO,MAIJ,SAAS,EAAgB,CAAC,EAAmB,CAClD,GAAI,CACF,aAAa,WAAW,CAAG,EAC3B,KAAM,GAKH,SAAS,EAAc,CAAC,EAAsB,CACnD,GAAI,CACF,OAAO,aAAa,QAAQ,CAAG,IAAM,KACrC,KAAM,CACN,MAAO,ICxDJ,IAAM,GAAuB,CAClC,QAAS,CACP,wBAAyB,QACzB,wBAAyB,OACzB,2BAA4B,OAC5B,cAAe,QACf,iBAAkB,OAClB,SAAU,WACV,QAAS,OACT,OAAQ,6BACR,WAAY,oBACZ,UAAW,YACb,EAKA,gDAAiD,CAC/C,QAAS,wCACT,cAAe,MACf,aAAc,KAChB,EAEA,kBAAmB,CACjB,SAAU,QACV,KAAM,IACN,IAAK,IACL,OAAQ,QACR,MAAO,QACP,OAAQ,cACV,EAEA,aAAc,CACZ,OAAQ,GACV,EAEA,kBAAmB,CACjB,cAAe,QACjB,EAEA,0BAA2B,CACzB,WAAY,gBACZ,UAAW,iBACb,EAEA,oCAAqC,CACnC,UAAW,iBACb,EAEA,+EACE,CACE,QAAS,MACX,EAEF,yBAA0B,CACxB,KAAM,UACN,OAAQ,OACR,SAAU,WACV,UAAW,MACb,EAEA,iBAAkB,CAChB,OAAQ,OACR,SAAU,WACV,SAAU,SACV,UAAW,uBACb,EAEA,uBAAwB,CACtB,QAAS,WACT,OAAQ,MACR,WAAY,OACZ,MAAO,OACP,aAAc,MACd,SAAU,OACV,WAAY,wBACZ,WAAY,UACd,EAEA,yBAA0B,CACxB,KAAM,YACN,OAAQ,OACR,SAAU,UACZ,EAEA,gCAAiC,CAC/B,SAAU,WACV,KAAM,MACN,OAAQ,MACR,iBAAkB,qBAClB,aAAc,MACd,MAAO,OACP,OAAQ,OACR,WAAY,OACZ,OAAQ,KACV,EAEA,oCAAqC,CACnC,OAAQ,qBACV,EAEA,sBAAuB,CACrB,SAAU,SACV,WAAY,QACZ,SAAU,WACV,IAAK,IACL,MAAO,IACP,KAAM,UACN,OAAQ,OACR,cAAe,SACf,OAAQ,IACV,EAEA,oCAAqC,CACnC,QAAS,MACX,EAEA,2BAA4B,CAC1B,QAAS,MACT,OAAQ,IACR,UAAW,SACX,WAAY,6BACZ,MAAO,gCACP,OAAQ,MACV,EAEA,yCAA0C,CACxC,MAAO,OACP,OAAQ,OACR,WAAY,OACZ,UAAW,SACX,QAAS,IACT,OAAQ,GACV,EAEA,eAAgB,CACd,OAAQ,aACV,EAGA,+BAAgC,CAC9B,SAAU,WACV,IAAK,MACL,MAAO,MACP,MAAO,OACP,OAAQ,OACR,aAAc,MACd,WAAY,OACZ,OAAQ,MACR,QAAS,MACX,EAEA,0CAA2C,CACzC,QAAS,QACT,QAAS,yBACX,EAEA,6CAA8C,CAC5C,WAAY,OACZ,UAAW,sCACb,EAEA,4CAA6C,CAC3C,WAAY,OACZ,UAAW,gCACb,EAEA,4CAA6C,CAC3C,WAAY,OACZ,UAAW,oCACb,EAEA,wBAAyB,CACvB,WAAY,CAAE,QAAS,GAAI,EAC3B,MAAO,CAAE,QAAS,KAAM,CAC1B,EAEA,uBAAwB,CACtB,KAAM,CAAE,QAAS,GAAI,EACrB,MAAO,CAAE,QAAS,GAAI,EACtB,OAAQ,CAAE,QAAS,GAAI,CACzB,EAEA,6CAA8C,CAC5C,iBAAkB,MACpB,EAEA,6CAA8C,CAC5C,iBAAkB,MACpB,EAEA,6BAA8B,CAC5B,SAAU,WACV,OAAQ,OACR,KAAM,MACN,WAAY,mBACZ,aAAc,MACd,QAAS,MACT,SAAU,OACV,OAAQ,IACR,SAAU,QACV,UAAW,QACX,SAAU,OACV,OAAQ,KACV,EAEA,qCAAsC,CACpC,QAAS,MACX,EAEA,mBAAoB,CAClB,MAAO,MACT,EAEA,mBAAoB,CAClB,MAAO,MACT,EAGA,0BAA2B,CACzB,QAAS,WACT,SAAU,OACV,WAAY,8BACZ,SAAU,OACV,WAAY,KACd,EAEA,0BAA2B,CACzB,WAAY,OACZ,aAAc,KAChB,EAEA,wBAAyB,CACvB,QAAS,KACX,EAEA,wBAAyB,CACvB,QAAS,KACX,CACF,EChOA,MAAM,WAAuB,KAAM,CACjC,WAAW,CAAC,EAAiB,CAC3B,MAAM,CAAO,EACb,KAAK,KAAO,iBAEhB,CASA,IAAM,GAAe,wDAMrB,SAAS,EAAmB,CAAC,EAA6C,CACxE,GAAI,CAAC,EAAO,OAAO,KACnB,QAAW,KAAO,EAAM,MAAM;AAAA,CAAI,EAAG,CACnC,IAAM,EAAO,EAAI,KAAK,EACtB,GAAI,CAAC,EAAM,SAEX,GAAI,iBAAiB,KAAK,CAAI,EAAG,SACjC,IAAM,EAAQ,EAAK,MAAM,kCAAkC,EAC3D,GAAI,CAAC,EAAO,SACZ,KAAS,EAAK,EAAI,GAAO,EACzB,GAAI,GAAa,KAAK,CAAG,EAAG,SAC5B,MAAO,CAAE,MAAK,KAAM,OAAO,CAAE,EAAG,IAAK,OAAO,CAAG,CAAE,EAEnD,OAAO,KAKT,IAAI,GAAmC,KACvC,SAAS,EAAa,CAAC,EAAgC,CACrD,GAAI,CAAC,IAAqB,EAAU,EAAG,OAAO,KAE9C,OADc,GAAkB,MAAM;AAAA,CAAI,EAC7B,EAAU,IAAI,KAAK,GAAK,KAoBvC,SAAS,EAAS,CAAC,EAAY,EAAqB,CAClD,GAAI,IAAM,EAAG,MAAO,GACpB,GAAI,OAAO,IAAM,OAAO,EAAG,MAAO,GAClC,GAAI,IAAM,MAAQ,IAAM,KAAM,OAAO,IAAM,EAC3C,GAAI,OAAO,IAAM,SAAU,MAAO,GAElC,IAAM,EAAO,EACP,EAAO,EAEb,GAAI,MAAM,QAAQ,CAAI,IAAM,MAAM,QAAQ,CAAI,EAAG,MAAO,GAExD,IAAM,EAAQ,OAAO,KAAK,CAAI,EACxB,EAAQ,OAAO,KAAK,CAAI,EAC9B,GAAI,EAAM,SAAW,EAAM,OAAQ,MAAO,GAE1C,OAAO,EAAM,MAAM,CAAC,IAAQ,GAAU,EAAK,GAAM,EAAK,EAAI,CAAC,EAItD,IAAM,GAAe,KAGtB,GAAW,CACf,SAAS,CAAC,EAAsB,CAC9B,GAAI,OAAO,EAAQ,IAAa,MAAO,YACvC,GAAI,IAAQ,KAAM,MAAO,OACzB,GAAI,OAAO,QAAY,KAAe,aAAe,QACnD,MAAO,IAAI,EAAI,QAAQ,YAAY,KAErC,GAAI,OAAO,KAAS,KAAe,aAAe,KAChD,MAAO,IAAI,EAAI,YAEjB,GAAI,CACF,OAAO,KAAK,UAAU,CAAG,EACzB,KAAM,CACN,OAAO,OAAO,CAAG,GAGvB,GAEQ,cAAc,GAEtB,SAAS,EAAc,CAAC,EAAgB,EAAU,GAAiB,CACjE,IAAM,EAAS,CAAC,EAAoB,IAAoB,CAEtD,GAAI,EADW,EAAU,CAAC,EAAY,GACzB,CACX,IAAM,EAAM,IAAI,GAAe,EAAU,QAAQ,IAAY,CAAO,EAC9D,EAAQ,GAAoB,EAAI,KAAK,EAC3C,GAAI,EAAO,CACT,IAAM,EAAM,GAAc,EAAM,IAAI,EAC9B,EAAM,QAAQ,EAAM,OAC1B,EAAI,QAAU,EACV,GAAG,EAAI,aAAa,MAAQ,KAC5B,GAAG,EAAI,YAAY,KAEzB,MAAM,IA6EV,MAzE2B,CACzB,IAAI,CAAC,EAAmB,CACtB,EACE,IAAU,EACV,YAAY,GAAU,CAAK,WAAW,GAAU,CAAQ,GAC1D,GAEF,OAAO,CAAC,EAAmB,CACzB,EACE,GAAU,EAAO,CAAQ,EACzB,YAAY,GAAU,CAAK,cAAc,GAAU,CAAQ,GAC7D,GAEF,UAAU,EAAG,CACX,EAAO,CAAC,CAAC,EAAO,YAAY,GAAU,CAAK,gBAAgB,GAE7D,SAAS,EAAG,CACV,EAAO,CAAC,EAAO,YAAY,GAAU,CAAK,eAAe,GAE3D,QAAQ,EAAG,CACT,EAAO,IAAU,KAAM,YAAY,GAAU,CAAK,cAAc,GAElE,aAAa,EAAG,CACd,EACE,IAAU,OACV,YAAY,GAAU,CAAK,mBAC7B,GAEF,WAAW,EAAG,CACZ,EAAO,IAAU,OAAW,YAAY,GAAU,CAAK,iBAAiB,GAE1E,SAAS,CAAC,EAAe,CACvB,GAAI,OAAO,IAAU,SACnB,EACE,EAAM,SAAS,CAAc,EAC7B,aAAa,kBAAsB,IACrC,EACK,QAAI,MAAM,QAAQ,CAAK,EAC5B,EACE,EAAM,SAAS,CAAI,EACnB,6BAA6B,GAAU,CAAI,GAC7C,EAEA,WAAM,IAAI,GAAe,oCAAoC,GAGjE,YAAY,CAAC,EAAgB,CAC3B,IAAM,EAAU,EAA6B,OAC7C,EAAO,IAAW,EAAQ,mBAAmB,WAAgB,GAAQ,GAEvE,OAAO,CAAC,EAAiB,CACvB,EACE,EAAQ,KAAK,CAAe,EAC5B,aAAa,eAAmB,GAClC,GAEF,eAAe,CAAC,EAAW,CACzB,EAAQ,EAAmB,EAAG,YAAY,wBAA4B,GAAG,GAE3E,YAAY,CAAC,EAAW,CACtB,EAAQ,EAAmB,EAAG,YAAY,qBAAyB,GAAG,GAExE,cAAc,CAAC,EAA0C,CACvD,EACE,aAAiB,EACjB,oCAAoC,EAAI,MAC1C,MAEE,IAAG,EAAG,CACR,OAAO,GAAe,EAAO,CAAC,CAAO,EAEzC,EAKK,SAAS,EAAM,CAAC,EAA0B,CAC/C,OAAO,GAAe,CAAK,EAMtB,SAAS,EAAM,CAAC,EAA2B,CAChD,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EASlD,SAAS,EAAO,CACrB,EACA,EACA,EAAU,KACQ,CAClB,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACtC,IAAM,EAAY,KAAK,IAAI,EAErB,EAAQ,IAAM,CAClB,IAAM,EAAU,EAAQ,cAAc,CAAQ,EAC9C,GAAI,EAAS,CACX,EAAQ,CAAO,EACf,OAGF,GAAI,KAAK,IAAI,EAAI,GAAa,EAAS,CACrC,EACM,MAAM,wBAAwB,YAAmB,KAAW,CAClE,EACA,OAGF,sBAAsB,CAAK,GAG7B,EAAM,EACP,EASH,SAAS,EAAc,CACrB,EACA,EACA,EACY,CACZ,OAAO,QAAQ,KAAK,CAClB,EACA,IAAI,QAAe,CAAC,EAAG,IACrB,WACE,IAAM,EAAW,MAAM,SAAS,sBAAyB,KAAM,CAAC,EAChE,CACF,CACF,CACF,CAAC,EAQI,SAAS,EAAiB,CAC/B,EACA,EAAU,GACkC,CAC5C,IAAI,EAAkB,GAChB,EAA2B,CAAC,EAElC,MAAO,CACL,UACA,UACA,IAAI,CAAC,EAAc,EAAgC,CACjD,IAAM,EAAW,EAAkB,GAAG,OAAqB,IAAS,EACpE,GAAI,CACF,IAAM,EAAS,EAAG,EAClB,GAAI,aAAkB,QAAS,CAC7B,IAAM,EAAU,GAAY,EAAQ,EAAS,CAAQ,EAClD,KAAK,IAAM,CACV,EAAQ,KAAK,CAAE,KAAM,EAAU,OAAQ,EAAK,CAAC,EAC9C,EACA,MAAM,CAAC,IAAe,CACrB,EAAQ,KAAK,CACX,KAAM,EACN,OAAQ,GACR,MAAO,EAAI,OACb,CAAC,EACF,EACH,EAAQ,KAAK,CAAO,EAEpB,OAAQ,KAAK,CAAE,KAAM,EAAU,OAAQ,EAAK,CAAC,EAE/C,MAAO,EAAK,CACZ,EAAQ,KAAK,CACX,KAAM,EACN,OAAQ,GACR,MAAQ,EAAc,OACxB,CAAC,IAGL,QAAQ,CAAC,EAAc,EAAgB,CACrC,IAAM,EAAmB,EACzB,EAAkB,EAAkB,GAAG,OAAqB,IAAS,EACrE,EAAG,EACH,EAAkB,EAEtB,EAMF,eAAsB,EAAQ,CAC5B,EACA,EACA,EACA,EACsB,CACtB,IAAM,EAAwB,CAAC,EACzB,EAAc,GAAkB,CAAO,EAEvC,EAAc,CAClB,aACG,EACH,OAAQ,EAAY,OACpB,KAAM,EAAY,KAClB,SAAU,EAAY,SACtB,UACA,QAAS,CAAC,EAAkB,IAC1B,GAAQ,EAAS,EAAU,CAAO,CACtC,EAEA,GAAI,CACF,IAAM,EAAO,GAAe,EAAU,OAAO,KAAK,CAAO,CAAC,EACpD,GACJ,MAAM,EAAU,EAAM,CAAE,WAAY,CAAC,YAAY,CAAE,CAAC,GACpD,KAEI,EAAc,OAAO,KAAK,CAAW,EAAE,IAAI,CAAC,IAChD,EAAI,QAAQ,KAAM,EAAE,CACtB,EACM,EAAgB,OAAO,OAAO,CAAW,EAMzC,EAAa,GAAG;AAAA,2BAKtB,GAAoB,EAIpB,MADa,IAAI,GAAc,GAAG,EAAa,CAAU,EAC9C,GAAG,CAAa,EAC3B,MAAO,EAAK,CAEZ,EAAQ,KAAK,CACX,KAAM,iBACN,OAAQ,GACR,MAAQ,EAAc,OACxB,CAAC,EAIH,GAAI,EAAY,QAAQ,OAAS,EAC/B,MAAM,QAAQ,IAAI,EAAY,OAAO,EAKvC,OAFA,GAAoB,KAEb,CACL,OAAQ,EAAQ,OAAO,CAAC,IAAM,EAAE,MAAM,EAAE,OACxC,OAAQ,EAAQ,OAAO,CAAC,IAAM,CAAC,EAAE,MAAM,EAAE,OACzC,MAAO,CACT,ECxMF,IAAQ,OAAK,YAAU,SAAO,UAAQ,OAAK,SAAS,EAG9C,GAAoB,0BAEpB,GACJ,OAAO,OAAW,MACjB,OAAO,SAAS,WAAa,aAC5B,OAAO,SAAS,WAAa,aAEjC,SAAS,EAAqB,EAAY,CACxC,GAAI,OAAO,aAAiB,IAAa,MAAO,GAChD,IAAM,EAAS,aAAa,QAAQ,EAAiB,EACrD,GAAI,IAAW,KACb,OAAO,IAAW,OAGpB,OAAO,GAIF,IAAQ,gBAAgB,EAAK,CAClC,YAAa,CACX,QAAS,GAAsB,CACjC,CACF,CAAC,EAGD,SAAS,EAAuB,EAAG,CACjC,SAAS,KAAK,UAAU,OAAO,gBAAiB,GAAY,QAAQ,KAAK,EACzE,SAAS,KAAK,MAAM,YAClB,kBACA,GAAY,QAAQ,MAAQ,IAAM,GACpC,EAEF,GAAI,OAAO,SAAa,IAEtB,GAAI,SAAS,KACX,GAAwB,EAExB,cAAS,iBAAiB,mBAAoB,EAAuB,EAKlE,SAAS,EAAW,EAAS,CAClC,aAAa,QAAQ,GAAmB,MAAM,EAC9C,GAAY,QAAQ,MAAQ,GAC5B,GAAwB,EAExB,SAAS,iBAAiB,cAAc,EAAE,QAAQ,CAAC,IAAO,CACtD,EAAmB,QAAQ,EAC9B,EAII,SAAS,EAAY,EAAS,CACnC,aAAa,QAAQ,GAAmB,OAAO,EAC/C,GAAY,QAAQ,MAAQ,GAC5B,GAAwB,EAGnB,MAAM,WAAoB,CAAwB,OAChD,kBAAmB,qBACnB,gBAAiB,SAEjB,gBAAiB,CACtB,aAAc,GACd,OAAQ,EACV,EAEA,OAAS,KACT,WAAa,GACb,QAA0B,CAAC,EAC3B,KAAe,OAAO,WAAW,EACjC,SAAW,GAEH,WACA,aACA,YACA,cAAwC,CAAC,EACzC,sBAAwB,GACxB,0BAED,eAAc,CACnB,EACA,EAA0B,CAAC,EAC3B,EACM,CACN,GACE,EACA,EACA,GACA,GAAY,QACZ,CACF,KAGE,UAAS,EAAwB,CACnC,IAAQ,WAAY,KAAK,MACzB,MAAO,CAAC,GAAG,EAAQ,QAAQ,EAAE,KAC3B,CAAC,IAAQ,EAAI,aAAa,QAAQ,IAAM,IAC1C,KAGU,SAAQ,EAAY,CAC9B,GAAI,CACF,OAAO,KAAK,MAAM,KAAO,OACzB,KAAM,CACN,MAAO,IAIH,cAAc,CAAC,EAAuB,CAC5C,GAAI,CAAC,KAAK,SAAU,OAAO,KAAK,cAAc,IAAU,GACxD,OAAQ,KAAK,MAAM,GAAsB,MAGnC,cAAc,CAAC,EAAe,EAAoB,CACxD,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,cAAc,GAAS,EAC5B,OAEF,IAAM,EAAa,KAAK,MAAM,GAC9B,EAAW,MAAQ,EAGb,kBAAkB,EAAS,CACjC,QAAY,EAAO,KAAS,OAAO,QAAQ,KAAK,aAAa,EAAG,CAC9D,IAAM,EAAa,KAAK,MAAM,GAC9B,GAAI,EAAY,EAAW,MAAQ,EAIrC,GAFA,KAAK,cAAgB,CAAC,EAElB,KAAK,sBACP,KAAK,sBAAwB,GAC7B,KAAK,eAAe,KAIpB,IAAG,EAAW,CAChB,OAAO,KAAK,eAAe,KAAK,KAE9B,IAAG,CAAC,EAAc,CACpB,KAAK,eAAe,MAAO,CAAI,KAG7B,KAAI,EAAW,CACjB,OAAO,KAAK,eAAe,MAAM,KAE/B,KAAI,CAAC,EAAc,CACrB,KAAK,eAAe,OAAQ,CAAI,KAG9B,GAAE,EAAW,CACf,OAAO,KAAK,eAAe,IAAI,KAE7B,GAAE,CAAC,EAAc,CACnB,KAAK,eAAe,KAAM,CAAI,KAG5B,KAAI,EAAW,CACjB,OAAO,KAAK,eAAe,MAAM,KAE/B,KAAI,CAAC,EAAc,CACrB,KAAK,eAAe,OAAQ,CAAI,KAG9B,UAAS,EAAW,CACtB,OAAO,GAAgB,KAAK,OAAQ,KAAK,KAAM,KAAK,QAAQ,KAM1D,QAAO,EAAY,CACrB,OAAQ,KAAK,aAAa,cAAc,GAAiB,QAEvD,QAAO,CAAC,EAAgB,CAC1B,KAAK,aAAa,eAAgB,CAAK,EAQjC,YACA,aACA,iBAAmB,GACnB,gBAAkB,GAClB,mBAAqB,EACrB,kBAMM,kBAAiB,CAAC,EAAuC,CACrE,GAAI,KAAK,UAAY,KAAM,CACzB,KAAK,mBAAqB,EAC1B,OAEF,IAAM,EAAM,MAAM,GAAe,EACjC,GAAI,CAAC,EAAK,CACR,KAAK,mBAAqB,EAC1B,OAEF,IAAI,EACJ,GAAI,CACF,EAAY,EAAI,aAAa,KAAK,EAAE,EACpC,KAAM,CACN,KAAK,mBAAqB,EAC1B,OAGF,GADA,KAAK,mBAAqB,EAAU,MAAM,OACtC,EAAU,MAAM,SAAW,EAAG,CAChC,KAAK,aAAe,OACpB,KAAK,eAAe,EACpB,OAEF,GAAI,CAIF,IAAM,EAAO,IAFX,MAAM,EAAU,GAAe,EAAU,KAAM,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,GACzE;AAAA,EACyB,EAAI;AAAA,SAAqB,EAAU,aAIxD,EAAc,CAAE,QAAS,GAAI,CAAE,MAAO,SAAU,CAAC,KAAM,KAAK,OAAQ,EACpE,EAAO,OAAO,KAAK,CAAW,EAAE,IAAI,EAAc,EAClD,EAAS,OAAO,OAAO,CAAW,EAElC,EAAK,IAAI,GAAc,GAAG,EAAM,CAAI,EAC1C,KAAK,aAAgB,MAAM,EAAG,GAAG,CAAM,EACvC,MAAO,EAAO,CACd,KAAK,aAAe,CAClB,OAAQ,EACR,OAAQ,EACR,QAAS,CACP,CACE,YAAa,6BACb,OAAQ,GACR,MAAO,OAAO,CAAK,CACrB,CACF,CACF,EAEF,KAAK,eAAe,EAGd,cAAc,EAAS,CAC7B,IAAM,EAAO,KAAK,aAClB,GAAI,CAAC,EAAM,OACX,IAAM,EAAU,KAAK,aACrB,GAAI,CAAC,GAAW,EAAQ,QAAQ,SAAW,EAAG,CAC5C,EAAK,gBAAgB,GAAI,CAAE,MAAO,gBAAiB,EAAG,sBAAsB,CAAC,EAC7E,OAEF,EAAK,gBACH,GACE,CAAE,MAAO,kBAAmB,EAC5B,GAAG,EAAQ,UAAU,EAAQ,QAAQ,eACvC,EACA,GAAG,EAAQ,QAAQ,IAAI,CAAC,IACtB,GACE,CAAE,MAAO,EAAE,OAAS,YAAc,WAAY,EAC9C,GAAG,EAAE,OAAS,IAAK,OAAO,EAAE,cAC5B,EAAE,MAAQ,GAAK,CAAE,MAAO,gBAAiB,EAAG,MAAK,EAAE,OAAO,EAAI,EAChE,CACF,CACF,OAMY,mBAAkB,CAAC,EAAyC,CACxE,GAAI,KAAK,UAAY,KAAM,MAAO,GAClC,GAAI,CACF,OACE,MAAM,EAAU,GAAe,KAAK,GAAI,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,GAClE,KACF,MAAO,EAAO,CACd,MAAO;AAAA,KAA4B,EAAgB,WAI/C,iBAAiB,EAAS,CAChC,GAAI,KAAK,kBAAoB,KAAK,UAAY,MAAQ,CAAC,KAAK,SAAU,OACtE,KAAK,iBAAmB,GACxB,IAAQ,WAAY,KAAK,MAYzB,GATA,KAAK,MAAM,GAAG,aAAa,OAAQ,KAAK,OAAO,EAC/C,KAAK,YAAc,GAAW,CAC5B,KAAM,KACN,KAAM,aACN,SAAU,EACZ,CAAC,EACD,EAAQ,OAAO,KAAK,WAAW,EAG3B,KAAK,mBAAqB,EAC5B,KAAK,aAAe,GAAI,CAAE,KAAM,YAAa,MAAO,kBAAmB,CAAC,EACxE,EAAQ,OAAO,KAAK,YAAY,EAElC,EAAQ,UAAU,EAClB,KAAK,YAAY,MAAQ,KAAK,gBAC9B,KAAK,eAAe,EAGtB,WAAa,IAAM,CACjB,IAAQ,aAAc,MACd,OAAM,QAAS,KAAK,MAC5B,GAAI,aAAqB,IAAc,EAAU,SAAW,OAAW,CACrE,IAAM,EAAc,EAAU,OAAO,QAAQ,eAAe,EAC5D,EAAK,SAAW,CAAC,EAAY,QAAQ,EACrC,EAAK,SAAW,CAAC,EAAY,QAAQ,EAErC,OAAK,SAAW,GAChB,EAAK,SAAW,GAElB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAG3B,2BAA2B,EAAS,CAC1C,IAAQ,YAAa,GAAc,KAAK,MAClC,EAAU,KAAK,YAGf,EAAkB,KAAK,YAAc,KAAK,MAAM,KAChD,EAAY,GAAW,EAAQ,OAAS,EAG9C,EAAU,OACR,CAAC,GAAW,EAAQ,MAAM,SAAW,GAAM,CAAC,GAAmB,CAAC,EAGpE,KAAO,IAAM,CACX,IAAQ,aAAc,KACtB,GAAI,aAAqB,GACvB,EAAU,OAAO,KAAK,GAI1B,KAAO,IAAM,CACX,IAAQ,aAAc,KACtB,GAAI,aAAqB,GACvB,EAAU,OAAO,KAAK,MAItB,YAAW,EAAY,CACzB,OAAO,KAAK,UAAU,SAAS,WAAW,EAG5C,WAAa,IAAM,CACjB,KAAK,UAAU,OAAO,WAAW,GAMnC,aAAe,SAA2B,CACxC,IAAM,EAAa,KAAK,aAAa,kBAAkB,EACjD,EAAc,KAAK,aAAa,sBAAsB,EAC5D,GAAI,CAAC,GAAc,IAAgB,KAAM,CACvC,OAAO,MAAM,qCAAqC,EAClD,OAEF,IAAI,EACJ,GAAI,CACF,IAAM,EAAW,MAAM,MACrB,2BAA2B,mBAAmB,CAAU,GAC1D,EACA,GAAI,CAAC,EAAS,GAAI,MAAU,MAAM,OAAO,EAAS,MAAM,CAAC,EACzD,EAAU,MAAM,EAAS,KAAK,EAC9B,KAAM,CACN,OAAO,MACL,mEACF,EACA,OAEF,IAAM,EAAU,GAAqB,EAAS,OAAO,CAAW,EAAG,CACjE,GAAI,KAAK,GACT,KAAM,KAAK,KACX,IAAK,KAAK,IACV,KAAM,KAAK,IACb,CAAC,EACD,GAAI,IAAY,KAAM,CACpB,OAAO,MAAM,qDAAqD,EAClE,OAEF,GAAI,CACF,IAAM,EAAW,MAAM,MAAM,qBAAsB,CACjD,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,KAAM,EAAY,QAAS,CAAQ,CAAC,CAC7D,CAAC,EACD,GAAI,CAAC,EAAS,GAAI,MAAU,MAAM,OAAO,EAAS,MAAM,CAAC,EACzD,OAAO,MAAM,YAAY,GAAY,EACrC,KAAM,CACN,OAAO,MAAM,cAAc,IAI/B,YAAc,IAAM,CAClB,IAAM,EAAU,GAAY,QAAQ,MACpC,EAAQ,CACN,OAAQ,KAAK,MAAM,eACnB,MAAO,OACP,UAAW,CACT,CACE,KAAM,QACN,QAAS,iBACT,OAAQ,KAAK,QACf,EACA,CACE,KAAM,OACN,QAAS,iCACT,OAAQ,KAAK,gBACf,EACA,KACA,CACE,KAAM,KAAK,YAAc,WAAa,WACtC,QAAS,KAAK,YAAc,kBAAoB,mBAChD,OAAQ,KAAK,cACf,EACA,KACA,CACE,KAAM,EAAU,QAAU,GAC1B,QAAS,YACT,OAAQ,IAAM,CACZ,GAAI,EACF,GAAa,EAEb,QAAY,EAGlB,CACF,CACF,CAAC,GAGH,gBAAkB,CAAC,IAAyB,CAC1C,GAAI,EAAM,SAAW,EAAM,QAAS,CAClC,IAAI,EAAQ,GACZ,OAAQ,EAAM,SACP,QACA,IACH,KAAK,UAAU,EACf,EAAQ,GACR,UACG,IACH,KAAK,WAAW,EAChB,UACG,IACH,GAAI,EAAM,SACR,KAAK,KAAK,EACV,EAAQ,GAEV,MAEJ,GAAI,EACF,EAAM,eAAe,EACrB,EAAM,gBAAgB,IAK5B,QAAU,IAAM,CACd,GACE,CAAE,KAAM,SAAU,EAClB,GAAM,CAAE,KAAM,OAAQ,CAAC,EACvB,GAAI,CAAE,KAAM,gBAAiB,MAAO,aAAc,CAAC,EACnD,GAAI,CAAE,KAAM,cAAe,OAAQ,EAAK,CAAC,EACzC,GACE,CACE,MAAO,eACP,KAAM,iBACN,QAAS,KAAK,WAChB,EACA,EAAM,KAAK,CACb,CACF,EACA,GACE,CACE,MAAO,eACP,KAAM,cACN,UAAW,KAAK,gBAChB,OAAQ,EACV,EACA,GACE,CACE,KAAM,UACN,SAAU,KAAK,UACjB,EACA,GAAW,CAAE,KAAM,KAAM,KAAM,aAAc,KAAM,IAAK,CAAC,EACzD,GAAW,CAAE,KAAM,OAAQ,KAAM,OAAQ,KAAM,MAAO,CAAC,EACvD,GAAW,CAAE,KAAM,MAAO,KAAM,MAAO,KAAM,KAAM,CAAC,EAIpD,GAAW,CAAE,KAAM,YAAa,KAAM,aAAc,KAAM,MAAO,CAAC,EAClE,GACE,CAAE,KAAM,aAAc,MAAO,KAAM,EACnC,GACE,CACE,MAAO,OACP,KAAM,OACN,MAAO,cACP,QAAS,KAAK,IAChB,EACA,EAAM,aAAa,CACrB,EACA,GACE,CACE,MAAO,OACP,KAAM,OACN,MAAO,cACP,QAAS,KAAK,IAChB,EACA,EAAM,cAAc,CACtB,EACA,GACE,CACE,MAAO,8DACP,MAAO,0BACP,QAAS,KAAK,UAChB,EACA,EAAM,aAAa,CACrB,EACA,GACE,CACE,MAAO,aACP,MAAO,cACP,QAAS,KAAK,SAChB,EACA,EAAM,EAAE,CACV,CACF,CACF,CACF,EACA,GAAS,CAAE,KAAM,UAAW,OAAQ,EAAK,CAAC,CAC5C,EAEA,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAGxB,KAAK,mBAAmB,EAExB,IAAQ,WAAY,KAAK,MACzB,KAAK,iBAAiB,CAAC,GAAG,EAAQ,QAAQ,CAAkB,EAG5D,KAAK,WAAa,IAAI,GACpB,KAAK,WACL,KAAK,UACL,CAAC,IAAY,CACX,GAAI,EAAQ,MAAO,CACjB,GAAI,KAAK,WAAa,GAEpB,OAAO,MAAM,EAGb,UAAK,UAAU,OAAO,WAAW,EACjC,KAAK,MAAM,YAAY,OAAS,GAElC,OAKF,GAHA,KAAK,IAAM,EAAQ,IACnB,KAAK,KAAO,EAAQ,KACpB,KAAK,GAAK,EAAQ,GACd,EAAQ,KAAM,KAAK,KAAO,EAAQ,KACtC,KAAK,QAAQ,EAEjB,EACA,KAAK,WAAW,eAAe,EAI/B,IAAM,EAAS,KAAK,OAAO,EAAI,IAC/B,KAAK,aAAe,YAAY,IAAM,CACpC,GAAI,CAAC,SAAS,OAAQ,KAAK,WAAW,GACrC,IAAM,CAAM,EAIf,KAAK,oBAAsB,IAAM,KAAK,YAAY,UAAU,EAC5D,iBAAiB,eAAgB,KAAK,mBAAmB,EAG3D,oBAAoB,EAAS,CAM3B,GALA,MAAM,qBAAqB,EAE3B,KAAK,YAAY,UAAU,EAC3B,KAAK,YAAY,cAAc,EAE3B,KAAK,aACP,cAAc,KAAK,YAAY,EAC/B,KAAK,aAAe,OAGtB,GAAI,KAAK,oBACP,oBAAoB,eAAgB,KAAK,mBAAmB,EAC5D,KAAK,oBAAsB,OAIvB,eAAe,EAAW,CAChC,IAAM,EAAQ,CAAC,EAAc,IAC3B,IAAS,GAAK,MAAQ,EAAO;AAAA,EAAO,EAAK,KAAK,EAAI,UAAY,GAChE,OACE,EAAM,KAAK,QAAS,KAAK,EAAE,EAC3B,EAAM,OAAQ,KAAK,IAAI,EACvB,EAAM,MAAO,KAAK,GAAG,EACrB,EAAM,OAAQ,KAAK,IAAI,EAI3B,KAAO,IAAM,CACX,UAAU,UAAU,UAAU,KAAK,gBAAgB,CAAC,GAGtD,gBAAkB,IAAM,CACtB,IAAM,EAAM,KAAK,aAAa,kBAAkB,GAAK,UAC/C,EAAM,KAAK,aAAa,sBAAsB,EAC9C,GACH,EAAI,MAAM,GAAG,EAAE,IAAI,GAAK,WAAW,QAAQ,SAAU,EAAE,GACvD,IAAQ,KAAO,YAAY,IAAQ,IACpC,MACI,EAAM,IAAI,gBACd,IAAI,KAAK,CAAC,KAAK,gBAAgB,CAAC,EAAG,CAAE,KAAM,eAAgB,CAAC,CAC9D,EACM,EAAO,SAAS,cAAc,GAAG,EACvC,EAAK,KAAO,EACZ,EAAK,SAAW,EAChB,EAAK,MAAM,EACX,WAAW,IAAM,IAAI,gBAAgB,CAAG,EAAG,IAAI,GAMzC,aAAmC,KAEnC,YAAY,EAAW,CAC7B,IAAM,EAAM,KAAK,aAAa,kBAAkB,EAC1C,EAAM,KAAK,aAAa,sBAAsB,EACpD,OAAO,GAAO,IAAQ,KAAO,GAAe,EAAK,CAAG,EAAI,GAGlD,SAAS,CAAC,EAAyB,CACzC,GAAI,EAAK,KAAO,OAAW,KAAK,GAAK,EAAK,GAC1C,GAAI,EAAK,OAAS,OAAW,KAAK,KAAO,EAAK,KAC9C,GAAI,EAAK,MAAQ,OAAW,KAAK,IAAM,EAAK,IAC5C,GAAI,EAAK,OAAS,OAAW,KAAK,KAAO,EAAK,KAMhD,aAAa,EAAY,CACvB,GAAI,CAAC,KAAK,aAAc,MAAO,GAC/B,IAAM,EAAI,KAAK,aACT,EAAI,CAAC,KAAgB,GAAK,IAAI,QAAQ,OAAQ,EAAE,EACtD,OACE,EAAE,KAAK,EAAE,IAAM,EAAE,EAAE,EAAE,GACrB,EAAE,KAAK,IAAI,IAAM,EAAE,EAAE,IAAI,GACzB,EAAE,KAAK,GAAG,IAAM,EAAE,EAAE,GAAG,GACvB,EAAE,KAAK,IAAI,IAAM,EAAE,EAAE,IAAI,EAIrB,qBAAqB,EAAS,CACpC,KAAK,UAAU,OAAO,kBAAmB,KAAK,cAAc,CAAC,EAGvD,OAAO,EAAY,CACzB,IAAM,EAAI,KAAK,UACf,OACE,aAAa,IACb,EAAE,SAAW,QACb,EAAE,OAAO,QAAQ,eAAe,EAAE,QAAQ,EAItC,OAAO,EAAY,CACzB,IAAM,EAAI,KAAK,UACf,OACE,aAAa,IACb,EAAE,SAAW,QACb,EAAE,OAAO,QAAQ,eAAe,EAAE,QAAQ,EAI9C,cAAgB,IAAM,CACpB,IAAM,EAAM,KAAK,aAAa,EAC9B,GAAI,CAAC,EAAK,CACR,OAAO,MAAM,yDAAyD,EACtE,OAEF,GAAgB,EAAK,CACnB,GAAI,KAAK,GACT,KAAM,KAAK,KACX,IAAK,KAAK,IACV,KAAM,KAAK,IACb,CAAC,EACD,KAAK,sBAAsB,GAG7B,gBAAkB,IAAM,CACtB,IAAM,EAAM,KAAK,aAAa,EAC9B,GAAI,EAAK,GAAiB,CAAG,EAC7B,GAAI,KAAK,aAAc,KAAK,UAAU,KAAK,YAAY,EAEvD,GAAI,KAAK,eAAgB,KAAK,YAAY,EAC1C,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,GAKf,4BAA8B,IAAM,CAKlC,KAAK,aAAe,CAClB,GAAI,KAAK,GACT,KAAM,KAAK,KACX,IAAK,KAAK,IACV,KAAM,KAAK,IACb,EACA,IAAM,EAAM,KAAK,aAAa,EAC9B,GAAI,CAAC,GAAO,CAAC,GAAe,CAAG,EAAG,OAClC,IAAM,EAAO,GAAgB,CAAG,EAChC,GAAI,EACF,KAAK,UAAU,CAAI,EACnB,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,GAOjB,eAAiB,GACjB,YAAc,IAAM,CAClB,GAAI,CAAC,KAAK,SAAU,OAEpB,GADA,KAAK,eAAiB,CAAC,KAAK,eACxB,KAAK,eAAgB,KAAK,SAAS,EACvC,IAAM,EAAY,KAAK,cAAgB,CAAC,EACxC,QAAW,IAAO,CAAC,KAAM,OAAQ,MAAO,MAAM,EAG5C,KAAK,MAAM,GAAK,SAAW,EAAU,IAAQ,GAC7C,KAAK,MAAM,GAAK,SAAS,KAAK,cAAc,GAYhD,UAAY,IAAM,CAChB,GAAI,KAAK,WAAa,GACpB,KAAK,cAAc,EAEnB,KAAK,KAAK,QAAQ,GAItB,WAAa,CAAC,IAAiB,CAC7B,IAAM,EAAM,KAAK,aAAa,EACxB,EAAW,IAAM,KAAK,cAAc,EAGpC,EAAc,KAAK,cAAgB,KACzC,EAAQ,CACN,OAAS,EAAM,OAAuB,QAAQ,QAAQ,EACtD,MAAO,OACP,UAAW,CACT,CACE,KAAM,YACN,QAAS,UACT,SAAU,KACV,OAAQ,KAAK,SACf,EACA,CAAE,KAAM,UAAW,QAAS,cAAe,SAAU,KAAK,OAAQ,KAAK,UAAW,EAClF,CACE,KAAM,eACN,QAAS,OACT,SAAU,KACV,OAAQ,KAAK,KACb,QAAS,IAAM,KAAK,QAAQ,CAC9B,EACA,CACE,KAAM,gBACN,QAAS,OACT,SAAU,MACV,OAAQ,KAAK,KACb,QAAS,IAAM,KAAK,QAAQ,CAC9B,EACA,KACA,CAAE,KAAM,OAAQ,QAAS,mBAAoB,SAAU,MAAM,OAAQ,KAAK,IAAK,EAC/E,CAAE,KAAM,WAAY,QAAS,WAAY,OAAQ,KAAK,eAAgB,EACtE,KACA,GAAI,EACA,CACE,KAAK,eACD,CAAE,KAAM,OAAQ,QAAS,kBAAmB,OAAQ,KAAK,WAAY,EACrE,CACE,KAAM,OACN,QAAS,eACT,OAAQ,KAAK,YACb,QAAS,CACX,CACN,EACA,CAAC,EACL,GAAI,EACA,CACE,CACE,KAAM,OACN,QAAS,uBACT,OAAQ,KAAK,cACb,QAAS,CACX,CACF,EACA,CAAC,EACL,GAAI,GAAO,GACP,CACE,CACE,KAAM,SACN,QAAS,iBACT,OAAQ,IAAM,CACP,KAAK,aAAa,GAEzB,QAAS,CACX,CACF,EACA,CAAC,EACL,GAAI,EACA,CACE,CACE,KAAM,YACN,QAAS,qBACT,OAAQ,KAAK,gBACb,QAAS,CACX,CACF,EACA,CAAC,CACP,CACF,CAAC,GAGH,eAAiB,IAAM,CACrB,KAAK,UAAU,OAAO,WAAW,GAGnC,SAAW,IAAM,CACf,KAAK,UAAU,IAAI,WAAW,EAC9B,KAAK,UAAU,OAAO,YAAa,KAAK,aAAe,KAAK,WAAW,EACvE,KAAK,MAAM,YAAY,OAAS,GAChC,KAAK,kBAAkB,GAGzB,UAAY,IAAM,CAChB,GAAI,KAAK,WAAa,GAEpB,KAAK,YAAY,UAAU,EAC3B,OAAO,MAAM,EAGb,UAAK,YAAY,UAAU,EAC3B,KAAK,UAAU,OAAO,WAAW,EACjC,KAAK,MAAM,YAAY,OAAS,IAIpC,iBAAmB,IAAM,CACvB,IAAQ,MAAK,OAAM,KAAI,QAAS,KAChC,GAAiB,KAAK,OAAQ,KAAK,KAAM,KAAK,WAAY,KAAK,UAAW,CACxE,MACA,OACA,KACA,MACF,CAAC,EAED,KAAK,UAAU,IAAI,WAAW,GAGhC,cAAgB,IAAM,CACpB,KAAK,YAAY,KAAK,CACpB,IAAK,KAAK,IACV,KAAM,KAAK,KACX,GAAI,KAAK,GACT,KAAM,KAAK,IACb,CAAC,GAGH,cAAgB,IAAM,CACpB,GAAI,KAAK,aAAc,CACrB,IAAQ,WAAY,KAAK,MACzB,EAAQ,UAAY,GACpB,QAAW,IAAY,CAAC,KAAM,MAAO,OAAQ,MAAM,EACjD,GAAI,KAAK,GACP,EAAQ,OACN,GAAI,CACF,MAAO,YAAY,IACnB,UAAW,KAAK,EAClB,CAAC,CACH,IAMR,QAAU,SAAY,CACpB,GAAI,KAAK,WAAa,GAAI,OAE1B,IAAM,EAAY,MAAM,GAAc,KAAK,OAAO,GAC1C,UAAS,MAAO,EAAS,kBAAmB,KAAK,MAIzD,GAAI,KAAK,UAAY,KAAM,CAEzB,GADA,KAAK,gBAAkB,MAAM,KAAK,mBAAmB,CAAS,EAC1D,KAAK,YAAa,KAAK,YAAY,MAAQ,KAAK,gBACpD,MAAM,KAAK,kBAAkB,CAAS,EAGxC,IAAI,EACA,EAEE,EAAU,CAAC,IAAiB,CAChC,EAAiB,GAGnB,GAAI,KAAK,OACP,EAAU,MAAM,GAAgB,CAC9B,KAAM,KAAK,KACX,IAAK,KAAK,IACV,GAAI,KAAK,GACT,QAAS,KAAK,QACd,YACA,eAAgB,EAChB,eAAgB,EAChB,SACF,CAAC,EAED,OAAU,MAAM,GAAc,CAC5B,KAAM,KAAK,KACX,IAAK,KAAK,IACV,GAAI,KAAK,GACT,QAAS,KAAK,QACd,YACA,eAAgB,EAChB,aAAc,EACd,eAAgB,EAChB,SACF,CAAC,EAGH,GAAI,KAAK,aACP,KAAK,cAAc,EAIrB,IAAK,KAAK,MAAQ,IAAmB,GAAW,GAAY,QAAQ,MAAO,CAEzE,MAAM,IAAI,QAAQ,CAAC,IAAY,sBAAsB,CAAO,CAAC,EAE7D,KAAK,UAAU,IAAI,aAAc,eAAe,EAChD,KAAK,UAAU,OAAO,eAAgB,cAAc,EAGpD,IAAM,EACJ,KAAK,UAAY,KAAO,EAAY,MAAM,GAAc,IAAI,EAI9D,GAHA,KAAK,YAAc,KAAK,KACpB,MAAM,GAAS,KAAK,KAAM,EAAS,KAAK,QAAS,CAAa,EAC9D,CAAE,OAAQ,EAAG,OAAQ,EAAG,MAAO,CAAC,CAAE,EAClC,EACF,KAAK,YAAY,QAAU,EAC3B,KAAK,YAAY,MAAM,QAAQ,CAC7B,KAAM,8BACN,OAAQ,GACR,MAAO,OAAO,CAAc,CAC9B,CAAC,EAEH,KAAK,UAAU,OAAO,eAAe,EACrC,KAAK,mBAAmB,EAExB,UAAK,UAAU,OACb,aACA,gBACA,eACA,cACF,GAII,kBAAkB,EAAS,CACjC,IAAQ,YAAa,EAAW,iBAAkB,KAAK,MACjD,EAAU,KAAK,YAErB,GAAI,CAAC,GAAW,EAAQ,MAAM,SAAW,EAAG,CAC1C,EAAU,OAAS,GACnB,KAAK,UAAU,OAAO,eAAgB,cAAc,EACpD,EAAc,MAAQ,WACtB,OAGF,EAAU,UAAY,GAEtB,IAAM,EAAU,GACd,CAAE,MAAO,CAAE,aAAc,MAAO,WAAY,MAAO,CAAE,EACrD,GAAG,EAAQ,UAAU,EAAQ,MAAM,qBACrC,EACA,EAAU,OAAO,CAAO,EAExB,QAAW,KAAQ,EAAQ,MAAO,CAChC,IAAM,EAAO,EAAK,OAAS,IAAK,IAC1B,EAAM,EAAK,OAAS,YAAc,YAClC,EAAS,GACb,CAAE,MAAO,CAAI,EACb,GAAK,EAAO,GAAG,EACf,EAAK,KACL,EAAK,MACD,GAAK,CAAE,MAAO,CAAE,QAAS,KAAM,CAAE,EAAG,MAAM,EAAK,OAAO,EACtD,EACN,EACA,EAAU,OAAO,CAAM,EAGzB,KAAK,UAAU,OAAO,eAAgB,EAAQ,SAAW,CAAC,EAC1D,KAAK,UAAU,OAAO,eAAgB,EAAQ,OAAS,CAAC,EAGxD,EAAc,MACZ,EAAQ,SAAW,EACf,GAAG,EAAQ,sBACX,GAAG,EAAQ,UAAU,EAAQ,MAAM,sBAGzC,KAAK,4BAA4B,EAGjC,KAAK,cACH,IAAI,YAAY,eAAgB,CAC9B,QAAS,GACT,OAAQ,CACN,UACA,QAAS,IACX,CACF,CAAC,CACH,EAGF,gBAAgB,CAAC,EAAyB,CACxC,QAAW,KAAW,EAAU,CAC9B,EAAQ,OAAS,GACjB,IAAO,KAAS,GAAS,EAAQ,UAAU,MAAM;AAAA,CAAI,EACrD,GAAI,CAAC,KAAM,OAAQ,MAAO,MAAM,EAAE,SAAS,CAAI,EAAG,CAChD,IAAM,EAAW,EACd,OAAO,CAAC,IAAS,EAAK,KAAK,IAAM,EAAE,EACnC,IAAI,CAAC,IAAU,EAAK,MAAM,MAAM,EAAe,GAAG,MAAM,EACxD,KAAK,EAAE,GACJ,GACJ,EAAW,EAAI,EAAM,IAAI,CAAC,IAAS,EAAK,UAAU,CAAQ,CAAC,EAAI,GAC/D,KAAK;AAAA,CAAI,EACX,KAAK,eAAe,EAAM,CAAM,EAC3B,KACL,IAAM,EAAW,CAAC,KAAM,OAAQ,MAAO,MAAM,EAAE,KAAK,CAAC,IACnD,EAAQ,QAAQ,aAAa,GAAM,CACrC,EACA,GAAI,EACF,KAAK,eACH,EACA,IAAa,OAAS,EAAQ,UAAY,EAAQ,SACpD,IAMR,cAAc,EAAG,CACf,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,sBAAwB,GAC7B,OAEF,IAAQ,WAAY,KAAK,MACzB,GAAI,KAAK,KAAO,GACd,EAAQ,MAAQ,EACX,QAAI,KAAK,OAAS,GACvB,EAAQ,MAAQ,EACX,QAAI,KAAK,MAAQ,GACtB,EAAQ,MAAQ,EACX,QAAI,KAAK,OAAS,GACvB,EAAQ,MAAQ,EAIpB,MAAM,EAAS,CAGb,GAFA,MAAM,OAAO,EAET,KAAK,WAAa,GAAI,CACxB,IAAM,EAAO,aAAa,QAAQ,KAAK,UAAU,EACjD,GAAI,IAAS,KAAM,CACjB,IAAM,EAAU,KAAK,MAAM,CAAI,EAC/B,GAAI,KAAK,YAAc,EAAQ,UAAW,OAK1C,GAHA,KAAK,IAAM,EAAQ,IACnB,KAAK,KAAO,EAAQ,KACpB,KAAK,GAAK,EAAQ,GACd,EAAQ,KAAM,KAAK,KAAO,EAAQ,KACtC,KAAK,MAAM,QAAQ,OAAS,GAC5B,KAAK,MAAM,YAAY,OAAS,GAChC,KAAK,UAAU,IAAI,WAAW,EAC9B,KAAK,WAAW,GAGlB,UAAK,QAAQ,EAGnB,CAEO,IAAM,GAAc,GAAY,eAAe,EAGhD,GAAS,IAAI,IAAI,OAAO,SAAS,IAAI,EAAE,aACvC,GAAW,GAAO,IAAI,IAAI,EAChC,GAAI,GACF,SAAS,OAAS,iBAClB,SAAS,KAAK,YAAc,GAC5B,SAAS,KAAK,OAAO,GAAY,CAAE,WAAS,CAAC,CAAC,EC5yChD,IAAQ,SAAS,EAIV,MAAM,WAAoB,CAAU,OAClC,kBAAmB,qBAEnB,gBAAiB,CACtB,QAAS,IACT,QAAS,IACT,QAAS,GACT,eAAgB,EAClB,EAEA,MAAkB,SAElB,QAAU,CAAC,GAAK,CAAE,KAAM,MAAO,KAAM,KAAM,CAAC,EAAG,GAAK,CAAE,KAAM,SAAU,CAAC,CAAC,QAEjE,iBAAkB,CACvB,QAAS,CACP,QAAS,OACT,oBAAqB,GAAG,EAAW,SACjC,KACF,KAAK,EAAW,aAAa,KAAK,IAClC,iBAAkB,OAClB,SAAU,WACV,OAAQ,EAAW,OAAO,aAAa,EACvC,WAAY,EAAW,kBAAkB,gBAAgB,CAC3D,EACA,aAAc,CACZ,SAAU,UACZ,EACA,yBAA0B,CACxB,QAAS,OACX,EACA,yBAA0B,CACxB,QAAS,OACX,CACF,EAEA,SAAW,IAAM,CACf,IAAQ,WAAY,KAAK,MACnB,EAAS,KAAK,aACpB,GAAI,IAAW,KACb,OAGF,IAAI,EAQJ,GANA,KAAK,QAAU,EAAO,YAAc,KAAK,QAGvC,CAAC,GAAG,KAAK,UAAU,EAAE,KAAK,CAAC,IACzB,aAAgB,QAAU,EAAK,aAAa,MAAM,IAAM,MAAQ,EAClE,IAAM,OAEN,EAAW,cACX,KAAK,MAAM,YAAY,cAAe,MAAM,EAC5C,KAAK,MAAM,YAAY,kBAAmB,IAAI,EACzC,QAAI,CAAC,KAAK,QACf,EAAW,SACX,EAAQ,UAAU,IAAI,uBAAuB,EAC7C,KAAK,MAAM,YAAY,cAAe,GAAG,KAAK,WAAW,EACzD,KAAK,MAAM,YACT,kBACA,eAAe,KAAK,YACtB,EACA,KAAK,MAAM,YAAY,WAAY,GAAG,EAMtC,QAJA,EAAQ,UAAU,OAAO,uBAAuB,EAChD,KAAK,MAAM,YAAY,cAAe,KAAK,EAC3C,KAAK,MAAM,YAAY,kBAAmB,KAAK,EAE3C,KAAK,eACP,EAAW,kBACX,KAAK,MAAM,YAAY,WAAY,aAAa,EAEhD,OAAW,cACX,KAAK,MAAM,YAAY,WAAY,aAAa,EAIpD,GAAI,KAAK,QAAU,EACjB,KAAK,MAAQ,GAIT,SACR,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EACxB,KAAK,eAAiB,KAAK,MAAM,QAAQ,WAAW,SAAW,EAC/D,WAAW,iBAAiB,SAAU,KAAK,QAAQ,EAEnD,KAAK,SAAW,IAAI,iBAAiB,KAAK,QAAQ,EAClD,KAAK,SAAS,QAAQ,KAAM,CAAE,UAAW,EAAK,CAAC,EAC/C,KAAK,MAAM,YAAY,wBAAyB,IAAI,EACpD,WAAW,IAAM,CACf,KAAK,MAAM,eAAe,uBAAuB,GAChD,GAAG,EAGR,oBAAoB,EAAG,CACrB,MAAM,qBAAqB,EAC3B,KAAK,SAAS,WAAW,EAG3B,MAAM,EAAS,CACb,MAAM,OAAO,EACb,KAAK,SAAS,EAElB,CAKO,IAAM,GAA8B,GAE9B,GAAc,GAAY,eAAe,EAGzC,GAAU,GAGV,GAAa,GCyD1B,IAAQ,OAAK,QAAM,KAAG,UAAQ,UAAQ,YAAU,SAAO,MAAI,WAAS,WAAS,MAAI,OAC/E,EAGI,GAAY,CAChB,KAAM,EAAW,cAAc,MAAM,EACrC,KAAM,EAAW,cAAc,MAAM,EACrC,QAAS,EAAW,iBAAiB,MAAM,CAC7C,EAGM,GAAwC,CAC5C,eAAgB,CAAE,QAAS,KAAM,EACjC,qBAAsB,CAAE,QAAS,GAAI,EACrC,wBAAyB,CACvB,WAAY,CAAE,QAAS,GAAI,EAC3B,MAAO,CAAE,QAAS,KAAM,CAC1B,EACA,yBAA0B,CACxB,KAAM,CAAE,QAAS,IAAK,UAAW,YAAa,EAC9C,GAAI,CAAE,QAAS,IAAK,UAAW,UAAW,CAC5C,EACA,uBAAwB,CACtB,UAAW,CAAE,QAAS,IAAK,UAAW,UAAW,EACjD,MAAO,CAAE,QAAS,IAAK,UAAW,YAAa,EAC/C,OAAQ,CAAE,QAAS,IAAK,UAAW,aAAc,cAAe,MAAO,CACzE,EAGA,mFACE,CACE,QAAS,iBACX,EAGF,+DAAgE,CAC9D,QAAS,KACT,MAAO,EAAK,WACZ,OAAQ,EAAK,WACb,aAAc,MACd,WAAY,EAAK,UACjB,QAAS,eACT,cAAe,QACjB,EACA,gCAAiC,CAAE,WAAY,GAAU,IAAK,EAC9D,gCAAiC,CAC/B,WAAY,GAAU,KACtB,UAAW,oCACb,EAGA,eAAgB,CACd,QAAS,GAAU,QACnB,SAAU,QACV,OAAQ,EAAK,QACb,MAAO,EAAK,QACZ,OAAQ,OACR,WAAY,EAAK,OACjB,MAAO,QACP,IAAK,EAAK,SACZ,EACA,uBAAwB,CAAE,QAAS,MAAO,EAC1C,wBAAyB,CACvB,QAAS,GAAU,QACnB,UACE,oEACJ,EACA,uBAAwB,CACtB,QAAS,GAAU,KACnB,UAAW,gCACb,EACA,uBAAwB,CACtB,QAAS,GAAU,KACnB,UAAW,oCACb,EAGA,sBAAuB,CACrB,WAAY,QACZ,MAAO,EAAK,OACZ,aAAc,MACd,MAAO,EAAK,WACZ,OAAQ,EAAK,WACb,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,WAAY,MACd,EAGA,kCAAmC,CACjC,KAAM,CAAE,UAAW,aAAa,EAAW,OAAO,SAAS,GAAI,EAC/D,GAAI,CAAE,UAAW,uBAAwB,CAC3C,EACA,kBAAmB,CACjB,UAAW,qCACX,aAAc,EAAK,aACrB,CACF,EA4EO,SAAS,EAAgB,CAAC,EAAyC,CACxE,IACE,OACA,UAAU,CAAC,EACX,cAAc,GACd,eAAe,CAAC,EAChB,UAAU,IACV,UAAU,IACV,UAAU,QACV,eACA,gBACA,cACA,kBACE,EAKE,EAAgB,IAAY,SAGlC,QAAW,KAAO,EAChB,EAAI,WAAa,OAMnB,IAAM,EAAU,IAAY,QAAU,CAAC,EAAI,GAAa,CAAI,EACtD,EAAU,CAAC,IAA6B,EAAQ,IAAa,EAC7D,EAAkB,CAAC,IAAyB,CAChD,QAAW,KAAK,EAAM,GAAI,EAAQ,EAAE,QAAQ,IAAM,EAAM,OAAO,EAAE,SACjE,MAAO,IAEH,EAAU,CAAC,IACf,IAAY,QAAU,IAAI,IAAa,GAAY,EAAQ,CAAQ,CAAC,EAChE,EAAuB,IAAc,CAEzC,GAAI,EAAe,OAAO,EAAe,EAAgB,CAAY,EAAI,GACzE,OAAO,IAAY,OACf,GAAgB,SAAS,SAAS,SAAU,CAAO,EACnD,SAAS,SAAS,SAAW,GAC3B,SAAS,SAAS,OAAO,UAAU,CAAC,EAAE,MAAM,GAAG,EAAE,GACjD,IAQF,EAAqB,CAAC,IAA6C,CACvE,IAAM,EAAM,EAAO,aAAa,MAAM,GAAK,GAC3C,GAAI,IAAQ,IAAM,EAAI,WAAW,GAAG,EAAG,OAAO,KAC9C,IAAI,EACJ,GAAI,CACF,EAAM,IAAI,IAAI,EAAK,SAAS,SAAS,IAAI,EACzC,KAAM,CACN,OAAO,KAET,GAAI,EAAI,SAAW,SAAS,SAAS,OAAQ,OAAO,KACpD,IAAM,EAAQ,CAAC,IACb,EAAK,KAAK,CAAC,IAAQ,EAAI,WAAa,CAAQ,EAAI,EAAW,KAEvD,EAAQ,EAAI,OAAO,QAAQ,MAAO,EAAE,EAC1C,GAAI,IAAU,IAAM,CAAC,EAAM,SAAS,GAAG,GAAK,CAAC,EAAM,SAAS,GAAG,EAAG,CAChE,IAAM,EAAW,EAAM,mBAAmB,CAAK,CAAC,EAChD,GAAI,EAAU,OAAO,EAGvB,GAAI,CAAC,GAAiB,IAAY,QAAS,CACzC,IAAM,EAAW,EAAM,GAAgB,EAAI,SAAU,CAAO,CAAC,EAC7D,GAAI,EAAU,OAAO,EAEvB,OAAO,MAGH,EAAU,EAAqB,GAAK,EAAK,IAAI,UAAY,YAEzD,EAAa,EAAK,KAAK,CAAC,IAAQ,EAAI,WAAa,CAAO,GAAK,EAAK,IAEhE,OAAQ,EAAK,CACnB,IAAK,CACH,OACA,aACA,QAAS,EACX,CACF,CAAC,EAKG,EAA4C,IAAM,GAGhD,EAAmD,CAAC,EACtD,EACA,EAAyB,GACzB,GAAiB,EACjB,GAAc,EAIlB,GAAI,CAAC,EACH,OAAO,iBAAmB,IAAI,QAAQ,CAAC,IAAY,CACjD,EAAqB,EACtB,EAGH,IAAM,GAAsB,CAAC,IAAqB,CAChD,IAAM,EAAU,EAAgB,GAE1B,EAAO,EAAI,KAA0B,KACzC,CAAC,IAAM,EAAE,WAAa,CACxB,EACA,GAAI,EACF,EAAI,WAAa,EACb,EAAQ,OACN,SACA,SACF,OAEN,EAAW,GAGP,GAAwB,IAAM,CAClC,GAAI,IAAe,IAAkB,EAAoB,CACvD,IAAM,EAA6B,CACjC,OAAQ,EACR,OAAQ,EACR,MAAO,CACT,EAEA,QAAW,KAAe,OAAO,OAAO,CAAe,EACrD,EAAW,QAAU,EAAY,YACjC,EAAW,QAAU,EAAY,YAOnC,GAJA,EAAmB,CAAU,EAC7B,EAAqB,OAGjB,IAAe,CAAC,GAClB,MAAM,UAAW,CACf,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAU,CACjC,CAAC,EAAE,MAAM,IAAM,EAEd,IAKD,GACJ,OAAO,SAAS,WAAa,aAC7B,OAAO,SAAS,WAAa,YAEzB,GAAqB,CAAC,IAAuB,CACjD,IAAQ,WAAY,EAAM,OAIpB,EAAW,OAAO,EAAI,WAAW,QAAQ,EAG/C,EAAgB,GAAY,CAC1B,OAAQ,EAAQ,SAAW,EAC3B,MAAO,CAAC,GAAG,EAAQ,KAAK,EACxB,YAAa,EAAQ,OACrB,YAAa,EAAQ,MACvB,EAEA,GAAoB,CAAQ,GAIxB,GAAiB,CAAC,IAAsB,CAC5C,KACA,GAAsB,EACtB,GAAiB,GAGnB,GAAS,QAAU,CACjB,KAAK,CAAC,EAAK,EAAU,CACnB,EAAI,aAAa,OAAQ,EAAQ,CAAQ,CAAC,EACxC,EAAoB,QAAQ,SAAW,EAE7C,EAEA,GAAS,QAAU,CACjB,KAAK,CAAC,EAAK,EAAa,CACtB,EAAI,UAAU,OACZ,UACA,IAAiB,EAAoB,QAAQ,QAC/C,EAEJ,EAEA,GAAS,WAAa,CACpB,KAAK,CAAC,EAAK,EAAQ,CAEjB,GADA,EAAI,UAAU,OAAO,eAAgB,cAAc,EAC/C,IAAW,SACb,EAAI,UAAU,IAAI,cAAc,EAC3B,QAAI,IAAW,SACpB,EAAI,UAAU,IAAI,cAAc,EAGtC,EAEA,IAAM,GAAa,GAAS,IAAM,CAChC,IAAM,EAAS,GAAY,MAAM,kBAAkB,EACnD,EAAI,KAAK,QAAQ,CAAC,IAAa,CAC7B,EAAI,OACF,CAAC,EAAI,MAAM,kBAAkB,EAAE,SAAS,CAAM,GAC9C,CAAC,EAAI,KAAK,kBAAkB,EAAE,SAAS,CAAM,EAChD,EACD,GAAM,EAAI,IAAI,EAGd,EAAW,EAAI,EAChB,EAEK,GAAc,GAAM,CACxB,KAAM,MACN,YAAa,SACb,KAAM,SACN,MAAO,CACL,MAAO,oBACP,OAAQ,KACV,EACA,QAAS,EACX,CAAC,EAID,GAAI,CAAC,EACH,OAAO,iBAAiB,WAAY,IAAM,CAIxC,GAAI,EAAQ,CACV,GACE,GAAwB,GACxB,CAAC,OAAO,QAAQ,wCAAwC,EACxD,CACA,IAAM,EAAO,EAAQ,OAAO,EAAO,IAAI,QAAQ,CAAC,EAChD,OAAO,QAAQ,UAAU,CAAE,MAAK,EAAG,GAAI,CAAI,EAC3C,OAEF,GAAY,EAEd,GAAW,EAAqB,CAAC,EAClC,EAID,OAAO,iBAAiB,eAAgB,CAAC,IAA6B,CACpE,GAAI,GAAwB,EAC1B,EAAM,eAAe,EACrB,EAAM,YAAc,GAEvB,EAGH,IAAM,GAAuB,CAC3B,GACE,CACE,MAAO,SACP,MAAO,CAAE,MAAO,EAAK,SAAU,EAC/B,MAAO,aACP,KAAM,CACJ,MAAO,EAAI,QACX,QAAS,CACP,KAAK,CAAC,EAAS,EAAS,CACtB,EAAQ,MAAM,QAAU,EAAU,GAAK,OACrC,EAAQ,YAA4B,MAAM,QAAU,EAClD,GACA,OAER,CACF,EACA,OAAO,EAAG,CACR,IAAM,EAAM,SAAS,cACnB,GAAY,OACd,EACA,EAAI,eAAiB,CAAC,EAAI,eAE9B,EACA,EAAM,KAAK,CACb,EACA,GAAK,CAAE,MAAO,CAAE,KAAM,UAAW,CAAE,CAAC,CACtC,EAEA,GAAI,EACF,GAAc,KACZ,GACE,CACE,KAAM,IACN,MAAO,CACL,QAAS,OACT,WAAY,SACZ,aAAc,MAChB,CACF,EACA,EAAa,OACT,EAAM,OAAO,CACX,MAAO,CAAE,aAAc,GAAI,YAAa,EAAG,CAC7C,CAAC,EACD,GAAK,EACT,GAAG,CAAW,CAChB,CACF,EAGF,GAAc,KAAK,GAAK,CAAE,MAAO,SAAU,CAAC,CAAC,EAG7C,IAAM,GAAa,CAAC,IAAmB,CACrC,IAAM,EAAc,EAAK,KAAQ,EAAc,EAAK,MAAQ,OAC5D,OAAO,GACL,CACE,MAAO,EAAc,SAAW,GAChC,MAAO,EAAK,MACZ,OAAQ,SACR,KAAM,EAAK,IACb,EACA,EAAc,EAAY,EAAI,EAAK,KACrC,GAGF,GAAI,EAEF,EAAY,QAAQ,CAAC,IAAS,GAAc,KAAK,GAAW,CAAI,CAAC,CAAC,EAC7D,KAEL,IAAM,EAAsD,CAC1D,CAAC,EAAa,OAAQ,OAAQ,QAAQ,EACtC,CAAC,EAAa,QAAS,UAAW,SAAS,EAC3C,CAAC,EAAa,KAAM,OAAQ,MAAM,EAClC,CAAC,EAAa,OAAQ,SAAU,QAAQ,EACxC,CAAC,EAAa,IAAK,MAAO,OAAO,CACnC,EACA,QAAY,EAAM,EAAM,KAAU,EAChC,GAAI,EAAM,GAAc,KAAK,GAAW,CAAE,OAAM,QAAO,MAAK,CAAC,CAAC,EAOlE,IAAM,GAAa,GAAkB,GAAI,EACzC,GAAW,UAAU,IAAI,aAAa,EACtC,OAAO,OAAO,GAAW,MAAO,CAC9B,QAAS,QACT,SAAU,OACV,OAAQ,OACR,QAAS,QACT,SAAU,QACZ,CAAC,EAYD,IAAM,GAAsB,IAAY,CACtC,QAAW,KAAU,GAAW,iBAAiB,GAAG,EAAG,CACrD,IAAM,EAAW,EAAmB,CAA2B,EAC/D,GAAI,IAAa,KACf,EAAO,aAAa,OAAQ,EAAQ,CAAQ,CAAC,EAC3C,EAAuB,QAAQ,QAAU,IAS3C,GAAsB,IAAY,CACtC,GAAI,EAAe,OACnB,IAAM,EAAO,SAAS,KAAK,QAAQ,KAAM,EAAE,EAC3C,GAAI,CAAC,EAAM,OACX,sBAAsB,IAAM,CAC1B,IAAI,EAAqB,KACzB,GAAI,CACF,EAAK,GAAW,cAAc,IAAI,IAAI,OAAO,CAAI,GAAG,EACpD,KAAM,CACN,EAAK,KAEP,GAAI,CAAC,EAAI,OACT,EAAG,eAAe,CAAE,MAAO,SAAU,SAAU,QAAS,CAAC,EACzD,EAAG,UAAU,IAAI,gBAAgB,EACjC,WAAW,IAAM,GAAM,EAAG,UAAU,OAAO,gBAAgB,EAAG,IAAI,EACnE,GAGC,GAAsB,IAAmB,QAAa,CAAC,EACrD,GAAU,CAAC,IAAa,CAC5B,GAAI,GACF,GAAsB,GAEtB,QAAW,UAAY,GAAkB,EAAI,IAAI,EAOnD,GALA,GAAoB,EAGpB,GAAY,eAAe,GAAY,EAAS,EAAI,MAAQ,MAAS,EACrE,GAAoB,EAChB,IAAY,OACd,SAAS,MAAQ,EACb,GAAG,EAAI,WAAU,IACjB,EAAI,OAKN,GAAa,CAAC,IAAqB,CACvC,IAAM,EAAM,EAAK,KAAK,CAAC,IAAM,EAAE,WAAa,CAAQ,GAAK,EAAK,GAC9D,EAAI,WAAa,EACjB,GAAQ,CAAG,EACX,EAAW,EAAI,GAMX,GAAK,CAAC,IAAqB,CAG/B,GAAI,CAAC,GAAmB,EAAG,OAC3B,GAAI,EACF,IAAgB,EAAQ,CAAQ,CAAC,EAC5B,KACL,IAAM,EAAO,EAAQ,CAAQ,EAC7B,OAAO,QAAQ,UAAU,CAAE,MAAK,EAAG,GAAI,CAAI,EAE7C,GAAW,CAAQ,GAQrB,GAAW,iBAAiB,QAAS,CAAC,IAAsB,CAC1D,GACE,EAAM,kBACN,EAAM,SAAW,GACjB,EAAM,SACN,EAAM,SACN,EAAM,UACN,EAAM,OAEN,OACF,IAAM,EAAU,EAAM,OAAuB,QAC3C,GACF,EACA,GAAI,CAAC,GAAU,EAAO,SAAW,UAAY,EAAO,aAAa,UAAU,EACzE,OACF,IAAM,EAAW,EAAmB,CAAM,EAC1C,GAAI,IAAa,KAAM,OACvB,EAAM,eAAe,EACrB,GAAG,CAAQ,EACZ,EAQD,IAAM,GAAgB,CAAC,IACrB,EAAE,SAAS,KAAK,EACZ,WACA,EAAE,SAAS,MAAM,EACf,MACA,EAAE,SAAS,KAAK,GAAK,EAAE,SAAS,MAAM,EACpC,aACA,aAKJ,GAAwB,CAAC,EAAiB,IAAsB,CACpE,GAAI,EAAE,SAAS,KAAK,EAAG,OAAO,EAE9B,OADe,EAAQ,MAAM,oBAAoB,GAAK,CAAC,GACzC,IAAI,CAAC,IAAM,EAAE,UAAU,EAAG,EAAE,OAAS,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA;AAAA,CAAM,GAGrE,GAAe,CAAC,IAA6B,CACjD,IAAM,EAAK,EAAa,OACxB,GAAI,CAAC,GAAM,CAAC,EAAG,OAAO,KACtB,IAAM,EAAI,EAAG,MAAM,8CAA8C,EACjE,OAAO,EAAI,qCAAqC,EAAE,MAAM,EAAE,WAAW,IAAM,MAGvE,GAAa,MAAO,IAAsC,CAC9D,GAAI,CACF,IAAM,EAAI,MAAM,MAAM,2BAA2B,mBAAmB,CAAC,GAAG,EACxE,GAAI,EAAE,GAAI,OAAO,MAAM,EAAE,KAAK,EAC9B,KAAM,EAGR,IAAM,EAAM,GAAa,CAAC,EAC1B,GAAI,EACF,GAAI,CACF,IAAM,EAAI,MAAM,MAAM,CAAG,EACzB,GAAI,EAAE,GAAI,OAAO,MAAM,EAAE,KAAK,EAC9B,KAAM,EAIV,OAAO,MAGH,GAAmB,MAAO,EAAW,IAAsC,CAC/E,GAAI,CAMF,OALU,MAAM,MAAM,qBAAsB,CAC1C,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,KAAM,EAAG,SAAQ,CAAC,CAC3C,CAAC,GACQ,GACT,KAAM,CACN,MAAO,KAIL,GAAe,CAAC,EAAkB,IAA0B,CAChE,IAAM,EAAM,IAAI,gBAAgB,IAAI,KAAK,CAAC,CAAO,EAAG,CAAE,KAAM,YAAa,CAAC,CAAC,EAC9D,GAAE,CAAE,KAAM,EAAK,SAAU,CAAS,CAAC,EAC3C,MAAM,EACX,WAAW,IAAM,IAAI,gBAAgB,CAAG,EAAG,IAAI,GAG7C,EAOO,KAEL,GAA0B,IAC9B,IAAW,MAAQ,EAAO,OAAO,QAAU,EAAO,SAI9C,GAAc,IAAY,CAC9B,GAAI,CAAC,EAAQ,OACb,EAAO,OAAO,OAAO,EACrB,EAAS,KACT,GAAW,MAAM,QAAU,IAKvB,GAAqB,IAAe,CACxC,GAAI,CAAC,EAAQ,MAAO,GACpB,GACE,GAAwB,GACxB,CAAC,OAAO,QAAQ,wCAAwC,EAExD,MAAO,GAGT,OADA,GAAY,EACL,IAMH,GAAgB,CAAC,IAA4C,CACjE,GAAI,CAAC,EAAQ,OAEb,GADA,EAAO,KAAO,EACV,IAAS,UACX,GAAW,UAAY,GACrB,GAAsB,EAAO,OAAO,MAAO,EAAO,IAAI,IAAI,CAC5D,EACA,GAAoB,EACpB,GAAY,eAAe,GAAY,EAAS,EAAO,IAAI,MAAQ,MAAS,EACvE,QAAI,IAAS,OAClB,GAAW,gBACT,GAAS,CACP,SAAU,EAAO,SACjB,SAAU,EAAO,OAAO,MACxB,MAAO,CAAE,QAAS,QAAS,MAAO,OAAQ,OAAQ,MAAO,CAC3D,CAAC,CACH,EAEF,GAAW,MAAM,QAAU,IAAS,OAAS,OAAS,GACtD,EAAO,OAAO,MAAM,QAAU,IAAS,OAAS,QAAU,QAGtD,GAAiB,IAAY,CACjC,GAAI,CAAC,EAAQ,OACb,IAAM,EAAW,OAAO,EAAI,WAAW,QAAQ,EAC/C,GAAY,EACZ,GAAW,CAAQ,GAGf,GAAiB,SAA2B,CAChD,GAAI,CAAC,EAAQ,OACb,IAAQ,MAAK,UAAW,EAExB,GADW,MAAM,GAAiB,EAAI,KAAM,EAAO,KAAK,EAEtD,EAAO,SAAW,EAAO,MACzB,GAAc,SAAS,EAGvB,QAAa,EAAI,KAAK,MAAM,GAAG,EAAE,IAAI,GAAK,aAAc,EAAO,KAAK,GAIlE,GAAkB,MAAO,IAA4B,CACzD,GAAI,EAAQ,OACZ,IAAM,EAAU,MAAM,GAAW,EAAI,IAAI,EACzC,GAAI,IAAY,KAAM,CACpB,OAAO,MAAM,6BAA6B,EAAI,MAAM,EACpD,OAEF,IAAM,EAAS,GAAW,CAAE,KAAM,GAAc,EAAI,IAAI,CAAE,CAAC,EAG3D,EAAO,MAAM,QAAU,uDACvB,EAAO,MAAQ,EACG,GAAW,cACnB,OAAO,CAAM,EACvB,EAAS,CAAE,SAAQ,MAAK,KAAM,OAAQ,SAAU,CAAQ,EACxD,GAAc,MAAM,GAGhB,GAAiB,CAAC,IAA8B,CACpD,IAAM,EAAM,EAAK,KACf,CAAC,IAAM,OAAO,EAAE,QAAQ,IAAM,OAAO,EAAI,WAAW,QAAQ,CAC9D,EACA,GAAI,CAAC,EAAK,OACV,IAAM,EAAW,CAAC,IAAiB,EAAK,MAAM,GAAG,EAAE,IAAI,GAAK,EAItD,EAAY,EACd,CACE,GAAI,EAAO,OAAS,OAChB,CAAC,CAAE,QAAS,OAAQ,KAAM,OAAQ,OAAQ,IAAM,GAAc,MAAM,CAAE,CAAC,EACvE,CAAC,EACL,GAAI,EAAO,OAAS,UAChB,CAAC,CAAE,QAAS,UAAW,KAAM,MAAO,OAAQ,IAAM,GAAc,SAAS,CAAE,CAAC,EAC5E,CAAC,EACL,CACE,QAAS,eACT,KAAM,OACN,OAAQ,IAAM,GAAc,MAAM,EAClC,QAAS,IAAM,GAAwB,CACzC,EACA,KACA,CAAE,QAAS,iBAAkB,KAAM,OAAQ,OAAQ,IAAM,KAAK,GAAe,CAAE,EAC/E,CACE,QAAS,WACT,KAAM,WACN,OAAQ,IAAM,GAAa,EAAS,EAAQ,IAAI,IAAI,EAAG,EAAQ,OAAO,KAAK,CAC7E,EACA,KACA,CAAE,QAAS,eAAgB,KAAM,IAAK,OAAQ,EAAe,CAC/D,EACA,CACE,CAAE,QAAS,mBAAoB,KAAM,OAAQ,OAAQ,IAAM,KAAK,GAAgB,CAAG,CAAE,EACrF,GAAI,EAAa,QAAU,EAAI,MAAQ,EAAI,OAAS,YAChD,CACE,CACE,QAAS,iBACT,KAAM,SACN,OAAQ,IAAM,CACZ,OAAO,KAAK,GAAG,EAAa,oBAAoB,EAAI,OAAQ,QAAQ,EAExE,CACF,EACA,CAAC,EACL,CACE,QAAS,kBACT,KAAM,WACN,OAAQ,IACN,KAAK,GAAW,EAAI,IAAI,EAAE,KAAK,CAAC,IAAM,CACpC,GAAI,IAAM,KAAM,GAAa,EAAS,EAAI,IAAI,EAAG,CAAC,EACnD,CACL,CACF,EAEJ,EAAQ,CACN,SAGA,SAAU,KACV,WACF,CAAC,GAMG,GAAW,CACf,KAAM,MAGN,MAAO,UACP,MAAO,CACL,QAAS,OACT,cAAe,SACf,MAAO,OACP,OAAQ,oBACR,UAAW,QACb,CACF,EAyHM,GACJ,IAAY,SAxHe,IAAmB,CAC9C,IAAM,EAAQ,GAAa,EAAa,CAAO,EACzC,EAAS,IAAI,IACb,EAMA,CAAC,EAED,EAAmB,CAAC,IAAiC,CACzD,IAAM,EAAM,CAAC,EAAK,IAAI,QAAQ,EAC9B,QAAW,KAAK,EAAK,SAAU,EAAI,KAAK,GAAG,EAAiB,CAAC,CAAC,EAC9D,OAAO,GAGH,EAAW,CAAC,IAAa,CAAC,IAAiB,CAI/C,IAAM,EAAO,EAAM,OAAuB,QACxC,cACF,EACA,GAAI,EAAK,EAAI,eAAiB,GAC9B,GAAG,OAAO,EAAI,QAAQ,CAAC,EACvB,EAAM,eAAe,EACrB,IAAM,GAAU,EAAgB,EAAI,UACpC,GAAI,IAAW,CAAC,GAAQ,OACtB,WAAW,IAAM,CACf,IAAM,GAAS,SAAS,cAAc,2BAA2B,EACjE,GAAI,GACF,GAAO,eAAe,CAAE,SAAU,SAAU,MAAO,QAAS,CAAC,GAC9D,GAAG,GAIJ,EAAa,CAAC,IAAoC,CACtD,IAAM,EAAO,GACX,CACE,MAAO,WACP,KAAM,EAAQ,EAAK,IAAI,QAAQ,EAC/B,QAAS,EAAS,EAAK,GAAG,CAC5B,EACA,GAAc,EAAK,IAAI,KAAK,CAC9B,EACA,GAAI,EAAK,SAAS,SAAW,EAAG,CAC9B,IAAM,GAAO,GAAG,CAAI,EAEpB,OADA,EAAO,IAAI,EAAK,IAAI,SAAU,CAAE,GAAI,GAAM,MAAK,CAAC,EACzC,GAET,IAAM,EAAM,GACV,GAAQ,CAAI,EACZ,GAAG,GAAG,EAAK,SAAS,IAAI,CAAU,CAAC,CACrC,EACM,GAAO,GAAG,CAAG,EAQnB,OAPA,EAAS,KAAK,CACZ,GAAI,GACJ,GAAI,EACJ,OACA,SAAU,EAAK,IAAI,SACnB,QAAS,EAAiB,CAAI,CAChC,CAAC,EACM,IAGH,EAAO,GAAI,GAAU,GAAG,GAAG,EAAM,IAAI,CAAU,CAAC,CAAC,EAIjD,EAAgB,CAAC,EAAkB,IAA4B,CACnE,GAAI,CAAC,EAAQ,MAAO,GACpB,IAAM,EAAM,EAAK,KAAK,CAAC,KAAM,GAAE,WAAa,CAAQ,EACpD,MACE,CAAC,CAAC,IACD,OAAO,EAAI,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAM,GACpD,OAAO,EAAI,IAAI,EAAE,kBAAkB,EAAE,SAAS,CAAM,IAGpD,GAAc,CAAC,EAAmB,EAAkB,IAAoB,CAC5E,EAAK,UAAU,OAAO,UAAW,IAAa,CAAO,EACrD,IAAM,GAAI,EAAgB,GAC1B,EAAK,UAAU,OAAO,eAAgB,CAAC,CAAC,IAAK,GAAE,MAAM,EACrD,EAAK,UAAU,OAAO,eAAgB,CAAC,CAAC,IAAK,CAAC,GAAE,MAAM,GAiCxD,OA9BA,EAAa,CAAC,EAAY,KAAU,CAElC,IAAM,EAAM,EAAI,WACV,EAAU,GAAO,EAAI,UAAY,KAAO,OAAO,EAAI,QAAQ,EAAI,GAC/D,GAAS,GAAY,MAAM,KAAK,EAAE,kBAAkB,EAI1D,QAAY,IAAY,GAAI,GAAM,YAAW,EAC3C,GAAK,MAAM,QAAU,EAAc,GAAU,EAAM,EAAI,GAAK,OAC5D,GAAY,GAAM,GAAU,CAAO,EAErC,QAAa,GAAI,GAAM,MAAI,QAAM,YAAU,cAAa,EAAU,CAEhE,IAAM,GACJ,EAAc,GAAU,EAAM,GAC9B,GAAQ,KACN,CAAC,KAAO,EAAO,IAAI,EAAE,GAAK,EAAO,IAAI,EAAE,EAAG,GAAG,MAAM,UAAY,MACjE,EAMF,GALA,GAAK,MAAM,QAAU,GAAU,GAAK,OACpC,GAAY,GAAM,GAAU,CAAO,EAI/B,GAAQ,GAAG,KAAO,GACjB,QAAI,EAAW,GAAG,KAAO,GAAQ,SAAS,CAAO,EACjD,QAAI,GAAQ,SAAS,CAAO,EAAG,GAAG,KAAO,KAGlD,EAAW,EAAI,EACR,IAKkB,EACrB,GACE,IACK,GACH,SAAU,CACR,OAAQ,WACR,WAAY,SACZ,MAAO,EAAI,IACb,CACF,EACA,GACE,GACE,CACE,MAAO,WACP,YAAa,0BACb,YAAa,aACb,eAAgB,eAChB,OAAO,CAAC,EAAc,CACpB,IAAM,EAAM,GAAY,EAAM,MAAqB,EAC7C,EAAO,EAAM,OAAuB,QACxC,cACF,EACA,EAAI,eAAiB,GACrB,GAAG,OAAQ,EAAY,QAAQ,CAAC,EAChC,EAAM,eAAe,EAEzB,EACA,GAAc,CAAE,SAAU,SAAU,CAAC,CACvC,CACF,CACF,EAEA,GAAY,GAChB,CACE,MAAO,CACL,QAAS,OACT,cAAe,SACf,SAAU,QACV,OAAQ,QACR,SAAU,QACZ,CACF,EACA,GAAO,GAAG,EAAa,EACvB,GACE,CACE,KAAM,gBACN,UACA,UACA,MAAO,CACL,KAAM,WACN,SAAU,QACZ,EACA,QAAQ,EAAG,CACT,IAAM,EAAM,SAAS,cACnB,GAAY,OACd,EACA,EAAI,QAAU,EAAI,QAEtB,EACA,GACA,GACA,GACE,CACE,MAAO,CACL,SAAU,WACV,UAAW,SACX,OAAQ,MACV,CACF,EACA,GACE,CACE,MAAO,cACP,MAAO,CACL,QAAS,OACT,WAAY,SACZ,IAAK,MACL,SAAU,QACV,IAAK,6CACL,MAAO,MAGP,OAAQ,MACR,SAAU,UACV,MAAO,8BAEP,WAAY,2BACZ,OAAQ,OACR,aAAc,MACd,QAAS,UACT,UAAW,kBACX,OAAQ,UACR,WAAY,mBACd,EAGA,OAAO,CAAC,EAAc,CAGpB,IAAM,EAAO,EAAM,OAAuB,QACxC,cACF,EACA,GAAI,EAAK,GAAe,CAAG,GAE7B,KAAM,CACJ,MAAO,EAAI,WACX,OAAO,CAAC,EAA4B,EAAU,CAG5C,EAAQ,MAAM,QAAU,EAAI,KAAO,OAAS,OAEhD,CACF,EACA,EAAM,KAAK,CAAE,MAAO,CAAE,aAAc,EAAG,CAAE,CAAC,EAC1C,QACF,EACA,EACF,CACF,CACF,EAGA,GAAQ,CAAU,EAGlB,GAAW,kBAAmB,EAAsB,EAGpD,IAAM,GAAa,GACjB,CACE,MAAO,cACP,OAAQ,GACR,QAAS,EACX,EACA,GAAK,CAAE,KAAM,OAAQ,EAAG,OAAO,EAC/B,GAAK,CAAE,MAAO,QAAS,KAAM,OAAQ,EAAG,GAAG,CAC7C,EACA,GAAU,YAAY,EAAU,EAEhC,IAAI,GAAe,GAEnB,SAAS,EAAoB,EAAG,CAC9B,GAAe,GACf,GAAW,OAAS,GACpB,GAAW,UAAU,OAAO,UAAW,SAAS,EAChD,GAAW,UAAU,IAAI,UAAU,EACnC,GAAwB,EAG1B,SAAS,EAAuB,EAAG,CACjC,IAAM,EAAU,GAAW,cAAc,gBAAgB,EACnD,EAAU,GAAW,cAAc,gBAAgB,EAEnD,EAAc,OAAO,OAAO,CAAe,EAAE,OACjD,CAAC,EAAK,IAAM,EAAM,EAAE,YACpB,CACF,EACM,EAAc,OAAO,OAAO,CAAe,EAAE,OACjD,CAAC,EAAK,IAAM,EAAM,EAAE,YACpB,CACF,EAEA,GAAI,EACF,GAAI,GACF,EAAQ,YAAc,UACjB,QAAI,EAAc,EACvB,EAAQ,YAAc,SACjB,QAAI,EAAc,EACvB,EAAQ,YAAc,SAEtB,OAAQ,YAAc,QAG1B,GAAI,EACF,EAAQ,YACN,EAAc,EAAI,OAAO,CAAW,EAAI,OAAO,CAAW,EAIhE,SAAS,EAAgB,EAAG,CAC1B,IAAM,EAAc,OAAO,OAAO,CAAe,EAAE,OACjD,CAAC,EAAK,IAAM,EAAM,EAAE,YACpB,CACF,EAEA,GAAI,IAAgB,IAAe,GAIjC,GAFA,GAAe,GACf,GAAW,UAAU,OAAO,UAAU,EAClC,EAAc,EAChB,GAAW,UAAU,IAAI,SAAS,EAClC,GAAW,UAAU,OAAO,SAAS,EACrC,GAAW,OAAS,GAEpB,QAAW,UAAU,IAAI,SAAS,EAClC,GAAW,UAAU,OAAO,SAAS,EACrC,GAAW,OAAS,GAIxB,GAAwB,EAG1B,SAAS,EAAY,EAAG,CACtB,IAAM,EAAc,OAAO,QAAQ,CAAe,EAAE,OAClD,GAAI,KAAa,CAAC,EAAQ,MAC5B,EAEM,EAAmB,CAAC,EAE1B,QAAY,EAAU,KAAY,EAAa,CAC7C,IAAM,EAAM,EAAK,KAAK,CAAC,IAAM,EAAE,WAAa,CAAQ,EAC9C,EAAc,EAAQ,MAAM,OAAO,CAAC,IAAM,CAAC,EAAE,MAAM,EAEzD,QAAW,KAAQ,EACjB,EAAU,KAAK,CACb,QAAS,GAAG,GAAK,OAAS,MAAa,EAAK,OAC5C,OAAQ,IAAM,CAKZ,GAHe,EAAI,KAAK,KACtB,CAAC,KAAW,OAAO,GAAE,QAAQ,IAAM,CACrC,EAEE,GAAG,CAAQ,EAEX,WAAW,IAAM,CACf,IAAM,GAAgB,SAAS,cAC7B,2BACF,EACA,GAAI,GACF,GAAc,eAAe,CAC3B,SAAU,SACV,MAAO,QACT,CAAC,GAEF,GAAG,EAGZ,CAAC,EAIL,GAAI,EAAU,OAAS,EACrB,EAAU,KAAK,IAAI,EAGrB,EAAU,KAAK,CACb,KAAM,OACN,QAAS,iCACT,OAAQ,IAAM,CACZ,IAAM,EAAS,GAAmB,EAClC,UAAU,UAAU,UAAU,CAAM,EAExC,CAAC,EAED,EAAQ,CACN,OAAQ,GACR,WACF,CAAC,EAGH,SAAS,EAAkB,EAAW,CACpC,IAAM,EAAkB,CAAC,iBAAkB,EAAE,EACzC,EAAc,EACd,EAAc,EAElB,QAAY,EAAU,KAAY,OAAO,QAAQ,CAAe,EAAG,CAEjE,IAAM,EADM,EAAK,KAAK,CAAC,IAAM,EAAE,WAAa,CAAQ,GACjC,OAAS,EAK5B,GAHA,GAAe,EAAQ,YACvB,GAAe,EAAQ,YAEnB,EAAQ,MAAM,OAAS,EAAG,CAC5B,EAAM,KAAK,MAAM,GAAO,EACxB,EAAM,KAAK,EAAE,EACb,QAAW,KAAQ,EAAQ,MAAO,CAChC,IAAM,GAAO,EAAK,OAAS,IAAK,IAC1B,EAAO,EAAK,MACd,KAAK,MAAQ,EAAK,SAAS,EAAK,QAChC,KAAK,MAAQ,EAAK,OACtB,EAAM,KAAK,CAAI,EAEjB,EAAM,KAAK,EAAE,GASjB,OALA,EAAM,QACJ,cAAc,aAAuB,aACrC,EACF,EAEO,EAAM,KAAK;AAAA,CAAI,EAKxB,IAAM,GAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACzD,GAAc,CAAC,GAAiB,GAAa,IAAI,WAAW,IAAM,IAClE,GAAoB,GAAc,EAAqB,EAAI,KAkBjE,GAfA,GAAU,iBAAiB,eAAiB,CAAC,IAAuB,CAKlE,GAJA,GAAmB,CAAK,EACxB,GAAiB,EAGb,IAAe,OAAO,SAAW,QAAU,GAAmB,CAChE,IAAQ,WAAY,EAAM,OAC1B,OAAO,OAAO,YACZ,CAAE,KAAM,oBAAqB,SAAU,GAAmB,SAAQ,EAClE,GACF,GAEe,EAGf,IAAe,GAAmB,CACpC,IAAM,EAAa,IAAM,CAEvB,IAAM,EAAY,CAAC,GADF,GAAU,iBAAiB,cAAc,CAC5B,EAAE,OAAO,CAAC,IACtC,EAAG,UAAU,SAAS,YAAY,CACpC,EACM,EAAU,EAAU,OAAO,CAAC,IAChC,EAAG,UAAU,SAAS,eAAe,CACvC,EACA,GAAI,EAAU,OAAS,GAAK,EAAQ,SAAW,EAC7C,OAAO,OAAO,YACZ,CAAE,KAAM,kBAAmB,SAAU,EAAkB,EACvD,GACF,EAEA,gBAAW,EAAY,GAAG,GAI9B,WAAW,EAAY,GAAG,EAI5B,IAAM,GAAqB,SAAY,CACrC,GAAI,EAAwB,OAC5B,GAAI,CAAC,GAAY,QAAQ,MAAO,OAChC,GAAI,GAAa,OACjB,EAAyB,GAGzB,IAAM,EAAgB,EAAK,OAAO,CAAC,IAAQ,EAAI,KAAK,SAAS,SAAS,CAAC,EAGvE,GAFA,GAAiB,EAAc,OAE3B,GAAiB,EACnB,GAAqB,EAGvB,GAAI,KAAmB,EAAG,CACxB,GAAI,EACF,EAAmB,CAAE,OAAQ,EAAG,OAAQ,EAAG,MAAO,CAAC,CAAE,CAAC,EACtD,EAAqB,OAEvB,OAGF,IAAM,EAAkB,OAAO,EAAI,WAAW,QAAQ,EAOhD,EAAY,SAAS,cAAc,QAAQ,EACjD,EAAU,MAAM,QACd,0GACF,SAAS,KAAK,YAAY,CAAS,EAGnC,IAAM,EAAiB,CAAC,IAAwB,CAC9C,GAAI,EAAM,MAAM,OAAS,oBAAqB,OAC9C,IAAQ,WAAU,WAAY,EAAM,KAKpC,GAAI,CAAC,EAAgB,GACnB,EAAgB,GAAY,CAC1B,OAAQ,GACR,MAAO,CAAC,EACR,YAAa,EACb,YAAa,CACf,EAEF,IAAM,EAAc,EAAgB,GACpC,EAAY,MAAM,KAAK,GAAG,EAAQ,KAAK,EACvC,EAAY,aAAe,EAAQ,OACnC,EAAY,aAAe,EAAQ,OACnC,EAAY,OAAS,EAAY,cAAgB,EACjD,GAAoB,CAAQ,EAC5B,GAAiB,GAEnB,OAAO,iBAAiB,UAAW,CAAc,EAEjD,QAAW,KAAO,EAAe,CAE/B,GAAI,EAAI,WAAa,EAAiB,SAGtC,EAAU,IACR,IAAY,OACR,GAAG,OAAO,SAAS,SAAS,EAAQ,EAAI,QAAQ,gBAChD,GAAG,OAAO,SAAS,SAAS,OAAO,SAAS,YAAY,EAAI,uBAGlE,MAAM,IAAI,QAAc,CAAC,IAAY,CACnC,IAAM,EAAW,KAAK,IAAI,EAAI,MACxB,EAAS,CAAC,KAAwB,CACtC,GACE,GAAM,MAAM,OAAS,mBACrB,GAAM,KAAK,WAAa,EAAI,SAE5B,OAAO,oBAAoB,UAAW,CAAM,EAC5C,EAAQ,GAGZ,OAAO,iBAAiB,UAAW,CAAM,EACzC,WAAW,IAAM,CACf,OAAO,oBAAoB,UAAW,CAAM,EAC5C,EAAQ,GACP,EAAW,KAAK,IAAI,CAAC,EACzB,EAED,GAAe,EAAI,QAAQ,EAQ7B,GAJA,OAAO,oBAAoB,UAAW,CAAc,EACpD,EAAU,OAAO,EAGb,EAAc,KAAK,CAAC,IAAM,EAAE,WAAa,CAAe,EAC1D,WAAW,IAAM,GAAe,CAAe,EAAG,IAAI,GAKpD,GAAuB,IAAM,CACjC,GAAI,CAAC,GAAY,QAAQ,MAAO,OAChC,GAAI,GACF,WAAW,GAAoB,IAAI,EAGnC,QADwB,EAAW,KAAK,SAAS,SAAS,EAExD,GAAiB,EACjB,GAAqB,EACrB,WAAW,IAAM,GAAe,EAAW,QAAQ,EAAG,IAAI,EACrD,QAAI,EACT,EAAmB,CAAE,OAAQ,EAAG,OAAQ,EAAG,MAAO,CAAC,CAAE,CAAC,EACtD,EAAqB,QAO3B,GAAI,CAAC,EACH,GAAqB,EACrB,GAAY,QAAQ,QAAQ,EAAoB,EAKlD,GAAI,EACA,GAAkB,SAAW,CAAC,IAC9B,GAAW,EAAgB,CAAI,GAAK,CAAI,EAC1C,OAAO,eAAe,GAAW,cAAe,CAC9C,IAAK,IAAM,EAAQ,OAAO,EAAI,WAAW,QAAQ,CAAC,CACpD,CAAC,EAGH,OAAO,GCroDF,IAAM,GAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA4DnB,GAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWlB,SAAS,EAAU,CAAC,EAAmB,CAC5C,OAAO,EAAE,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,MAAM,EAAE,QAAQ,KAAM,MAAM,EAGrE,SAAS,EAAO,CAAC,EAAmB,CACzC,OAAO,EAAE,YAAY,EAAE,QAAQ,cAAe,GAAG,EAAE,QAAQ,WAAY,EAAE,EAIpE,SAAS,EAAY,CAAC,EAAsB,CACjD,OAAO,EAAK,QAAQ,0BAA2B,EAAE,EAI5C,SAAS,EAAyB,CAAC,EAAmC,CAC3E,IAAM,EAAoB,CAAC,EAC3B,QAAW,KAAQ,EACjB,EAAI,KAAK,CAAI,EACb,EAAI,KAAK,GAAG,GAAQ,EAAK,QAAQ,CAAC,EAEpC,OAAO,EAGT,SAAS,EAAO,CAAC,EAAmC,CAClD,OAAO,EACJ,IACC,CAAC,IACC,iBAAiB,GAAQ,EAAK,IAAI,QAAQ,MAAM,GAC9C,EAAK,IAAI,KACX,QAAQ,EAAK,SAAS,OAAS,OAAO,GAAQ,EAAK,QAAQ,SAAW,SAC1E,EACC,KAAK,EAAE,EAaL,SAAS,EAAa,CAAC,EAAiB,EAA+B,CAC5E,IAAM,EAAU,EAAK,OAAO,CAAC,IAAM,CAAC,EAAE,MAAM,EACtC,EAAU,GAAa,CAAO,EAC9B,EAAQ,GAAa,EAAS,CAAO,EACrC,EAAM,EAAK,KAAO,GAAG;AAAA,EAAqB,KAE1C,EAAW,GAAQ,CAAK,EAC3B,IACC,CAAC,IACC,gCAAgC,GAAQ,EAAK,IAAI,QAAQ;AAAA,EAAQ,GAC/D,GAAa,EAAK,IAAI,IAAI,CAC5B;AAAA,WACJ,EACC,KAAK;AAAA,CAAI,EAEZ,MAAO;AAAA,cACK,EAAK,MAAQ;AAAA;AAAA;AAAA,SAGlB,GAAW,EAAK,KAAK;AAAA,SACrB;AAAA;AAAA;AAAA,yBAGgB,GAAW,EAAK,KAAK;AAAA,6CACD,GAAQ,CAAK;AAAA,EACxD;AAAA,EACA,EAAK,UAAY,4FAA8F;AAAA;SCnI1G,SAAS,EAAe,CAAC,EAAwB,CAAC,EAAiB,CACxE,IAAM,EAAa,EAAM,QAAQ,EAAM,QAAU,SAAS,EAC1D,MAAO,CACL,WAAY,EAAM,MAAQ,OAC1B,YAAa,EACb,YAAa,EAAM,YAAc,UACjC,UAAW,EAAM,UAAY,UAC7B,SAAU,EAAM,SAAW,UAC3B,kBAAmB,UACnB,OAAQ,EAAW,OAAO,EAAE,EAAE,WAAW,GAAG,EAAE,SAAS,GAAG,EAC1D,UAAW,EAAW,QAAQ,GAAG,EACjC,YAAa,EAAW,QAAQ,GAAG,EACnC,kBAAmB,EAAW,QAAQ,GAAG,EACzC,gBAAiB,EAAW,OAAO,EAAE,EAAE,SAAS,GAAG,EACnD,SAAU,EAAW,OAAO,EAAE,EAAE,SAAS,GAAG,EAC5C,QAAS,EAAW,OAAO,GAAG,EAAE,WAAW,GAAG,EAAE,SAAS,GAAG,EAC5D,WAAY,EAAW,OAAO,GAAG,EAAE,OAAO,GAAG,EAC7C,aAAc,QACd,QAAS,UACT,qBAAsB,OACtB,yBAA0B,OAC1B,kBAAmB,OACnB,iBAAkB,OAClB,eAAgB,OAChB,oBAAqB,QACrB,YAAa,kBACb,kBAAmB,QACnB,gBAAiB,QACjB,mBAAoB,qBACtB,EAIK,SAAS,EAAkB,CAAC,EAAwB,CAAC,EAAkB,CAC5E,IAAM,EAAS,GAAgB,CAAK,EAC9B,EAAa,EAAM,QAAQ,EAAM,QAAU,SAAS,EAC1D,MAAO,CACL,UACE,kJACF,QAAS,CACP,YAAa,qBACb,gBAAiB,gCACjB,UAAW,OACX,cAAe,UACZ,EACH,SAAU,OACV,YAAa,+BACb,SAAU,IACV,SAAU,MACV,SAAU,OACV,WAAY,OACZ,cACE,mEACJ,EACA,YAAa,IACR,GAAgB,CAAM,EACzB,aAAc,EAAW,QAAQ,GAAG,EACpC,YAAa,aAAa,EAAW,QAAQ,IAAI,IACjD,oBAAqB,EAAW,QAAQ,GAAG,CAC7C,EACA,iBAAkB,CAChB,OAAQ,aACV,EACA,IAAK,CACH,UAAW,aACX,eAAgB,GAAG,EAAK,oBAAoB,EAAK,iBACjD,eAAgB,MAClB,EACA,KAAM,CACJ,WAAY,EAAK,WACjB,SAAU,EAAK,SACf,OAAQ,IACR,WAAY,EAAK,WACjB,WAAY,EAAK,WACjB,uBAAwB,EAAK,WAC7B,kBAAmB,EAAK,eACxB,mBAAoB,EAAK,WACzB,MAAO,EAAK,SACd,EAGA,kBAAmB,CACjB,QAAS,OACX,EACA,0CAA2C,CACzC,WAAY,EAAK,KACnB,EACA,UAAW,CACT,QAAS,OACT,WAAY,SACZ,eAAgB,QAClB,EACA,kCAAmC,CACjC,WAAY,EAAK,WACjB,SAAU,EAAK,SACf,MAAO,eACP,WAAY,EAAK,OACnB,EACA,OAAQ,CACN,iBAAkB,OAClB,WAAY,MACd,EACA,OAAQ,CACN,WAAY,EAAK,WACjB,MAAO,EAAK,eACZ,WAAY,EAAK,eACjB,WAAY,EAAK,eACjB,QAAS,OACT,WAAY,SACZ,QAAS,mBACT,WAAY,6CACZ,OAAQ,EAAK,aACb,WAAY,QACd,EACA,GAAI,CACF,MAAO,EAAK,WACZ,SAAU,2CACV,WAAY,6CACZ,WAAY,MACZ,aAAc,aAAa,EAAK,WAChC,OAAQ,GAAG,EAAK,aAAa,EAAK,aAClC,QAAS,CACX,EACA,YAAa,CACX,MAAO,EAAK,eACZ,WAAY,QACd,EACA,GAAI,CACF,MAAO,EAAK,WACZ,SAAU,2CACV,WAAY,6CACZ,OAAQ,0CACV,EACA,GAAI,CACF,SAAU,2CACV,WAAY,6CACZ,OAAQ,0CACV,EACA,qBAAsB,CACpB,aAAc,EAChB,EACA,WAAY,CACV,SAAU,WACV,WAAY,EAAK,QACjB,OAAQ,gBACR,aAAc,EAAK,QACnB,QAAS,0CACT,OAAQ,2BAA2B,EAAK,cAC1C,EACA,4BAA6B,CAC3B,UAAW,GACb,EACA,2BAA4B,CAC1B,aAAc,GAChB,EACA,qBAAsB,CACpB,QAAS,MACT,QAAS,QACT,MAAO,EACP,OAAQ,EACR,OAAQ,yBACR,eAAgB,EAAK,QACrB,iBAAkB,EAAK,QACvB,SAAU,WACV,OAAQ,IACR,MAAO,EACT,EACA,oBAAqB,CACnB,QAAS,MACT,MAAO,GACP,OAAQ,GACR,QAAS,QACT,OAAQ,IACR,MAAO,IACP,SAAU,WACV,WAAY,GAAY,EAAM,KAAK,EAAG,OAAW,OAAW,CAAC,CAC/D,EACA,EAAG,CACD,eAAgB,OAChB,MAAO,EAAK,UACZ,QAAS,MACT,aAAc,8BAChB,EACA,6BAA8B,CAC5B,QAAS,cACT,WAAY,SACZ,eAAgB,SAChB,WAAY,gBACZ,WAAY,EAAK,WACjB,MAAO,EAAK,UACZ,eAAgB,OAChB,WAAY,EAAK,SACjB,QAAS,gCACT,OAAQ,OACR,aAAc,4BAChB,EACA,oCAAqC,CACnC,WAAY,2CACd,EACA,kBAAmB,CACjB,OAAQ,OACR,QAAS,OACT,aAAc,6BACd,UAAW,EAAK,iBAClB,EACA,MAAO,CACL,QAAS,8BACX,EACA,gBAAiB,CACf,MAAO,EAAK,gBACd,EACA,IAAK,CACH,cAAe,QACjB,EACA,iCAAkC,CAChC,UAAW,oCACb,EACA,mCAAoC,CAClC,WAAY,EAAK,WACjB,MAAO,EAAK,cACd,EACA,MAAO,CACL,QAAS,cACT,IAAK,6BACL,WAAY,QACd,EACA,WAAY,CACV,KAAM,WACN,SAAU,SACV,SAAU,UACZ,EAIA,4BAA6B,CAC3B,KAAM,eACN,cAAe,MACjB,EACA,kBAAmB,CACjB,WAAY,WACd,EACA,YAAa,CACX,QAAS,MACT,OAAQ,cACR,cAAe,MACjB,EACA,IAAK,CACH,WAAY,EAAK,OACjB,QAAS,EAAK,QACd,aAAc,8BACd,SAAU,OACV,SAAU,EAAK,aACf,WAAY,8BACd,EACA,YAAa,CACX,WAAY,EAAK,eACjB,WAAY,EAAK,UACnB,EACA,wBAAyB,CACvB,WAAY,MACd,EACA,UAAW,CACT,QAAS,IACT,SAAU,OACV,OAAQ,4CACR,WAAY,4CACZ,MAAO,4CACP,UAAW,QACb,EACA,oCAAqC,CACnC,WAAY,QACZ,UAAW,OACX,MAAO,EAAK,SACd,EACA,sCAAuC,CACrC,WAAY,QACZ,UAAW,OACX,MAAO,EAAK,SACd,EACA,kCAAmC,CACjC,WAAY,EAAK,UACnB,EACA,YAAa,CACX,OAAQ,UACR,aAAc,OACd,WAAY,iBACZ,WAAY,OACZ,QAAS,uDACX,EACA,gCAAiC,CAC/B,WAAY,EAAK,UACnB,EACA,0BAA2B,CACzB,QAAS,MACT,WAAY,CACd,EACA,eAAgB,CACd,OAAQ,kBACV,EACA,8BAA+B,CAC7B,WAAY,EAAK,OACnB,EACA,8BAA+B,CAC7B,MAAO,eACP,cAAe,MACjB,EACA,mBAAoB,CAClB,cAAe,QACjB,EACA,MAAO,CACL,eAAgB,UAClB,EACA,MAAO,CACL,WAAY,EAAK,WACjB,MAAO,EAAK,cACd,EACA,MAAO,CACL,WAAY,EAAK,UACnB,EACA,mBAAoB,CAClB,WAAY,EAAK,gBACnB,EACA,SAAU,CACR,QAAS,2CACX,EAGA,2BAA4B,CAC1B,UAAW,OACX,OAAQ,EACR,QAAS,CACX,EACA,cAAe,CACb,QAAS,OACT,cAAe,QACjB,EACA,WAAY,CACV,QAAS,OACT,cAAe,QACjB,EACA,wBAAyB,CACvB,YAAa,EAAK,OACpB,EAEA,mBAAoB,CAClB,OAAQ,UAER,YAAa,4BACf,EACA,2BAA4B,CAC1B,MAAO,EAAK,UACd,EACA,+BAAgC,CAC9B,QAAS,eAET,YAAa,4BACf,EAEA,cAAe,CACb,UAAW,OACX,QAAS,OACT,SAAU,OACV,IAAK,EAAK,QACV,OAAQ,EACR,QAAS,EAAK,OAChB,CACF,ECzUF,IAAQ,UAAQ,QAAQ,EAOlB,GAAY,wBAEX,MAAM,WAAsB,CAAU,OACpC,kBAAmB,wBAEnB,gBAAiB,CACtB,KAAM,aACN,OAAQ,GACR,UAAW,GAKX,QAAS,GAIT,MAAO,GAEP,OAAQ,GACR,WAAY,GACZ,KAAM,EACR,EAGA,QAIA,QAAU,KAGF,OACA,QAKA,aAAe,GACf,WAAa,GAMb,YAAY,EAAW,CAC7B,IAAI,EAAQ,EACR,EAAoB,KAAK,WAC7B,MAAO,EAAM,CACX,GACE,EAAK,WAAa,KAAK,cACtB,EAAiB,UAAY,kBAE9B,IAEF,EAAO,EAAK,YAAe,EAAoB,MAAQ,KAEzD,OAAO,EAID,MACA,cAAgB,GAIhB,WAAW,EAAS,CAC1B,GAAI,KAAK,cAAe,OAKxB,GAJA,KAAK,cAAgB,GAIjB,CAAC,SAAS,cAAc,4BAA4B,EACtD,GACE,kBACA,GAAmB,CACjB,OAAQ,KAAK,QAAU,OACvB,WAAY,KAAK,YAAc,OAC/B,KAAM,KAAK,MAAQ,MACrB,CAAC,CACH,EAII,gBAAkB,IAAY,CACpC,IAAM,EAAQ,KAAK,MAAM,MAAM,MACzB,EACJ,IAAU,QACT,IAAU,UACT,WAAW,8BAA8B,EAAE,QAC/C,SAAS,KAAK,UAAU,OAAO,WAAY,CAAI,EAC/C,SAAS,KAAK,UAAU,OAAO,gBAAiB,KAAK,MAAM,aAAa,KAAK,GAGvE,YAAY,EAAS,CAC3B,GAAI,CACF,aAAa,QACX,GACA,KAAK,UAAU,CACb,MAAO,KAAK,MAAM,MAAM,MACxB,aAAc,KAAK,MAAM,aAAa,MACtC,OAAQ,KAAK,MAAM,OAAO,KAC5B,CAAC,CACH,EACA,KAAM,GAKF,SAAS,EAAS,CACxB,IAAI,EAAa,CAAC,EAClB,GAAI,CACF,EAAQ,KAAK,MAAM,aAAa,QAAQ,EAAS,GAAK,IAAI,EAC1D,KAAM,EAGR,KAAK,MAAQ,EAAK,CAChB,MAAO,CACL,MAAO,EAAM,OAAS,SACtB,aAAc,EAAM,cAAgB,GACpC,OAAQ,EAAM,QAAU,EAC1B,CACF,CAAC,EAAE,MAEH,KAAK,gBAAgB,EACrB,WAAW,8BAA8B,EAAE,iBACzC,SACA,KAAK,eACP,EACA,KAAK,MAAM,MAAM,QAAQ,IAAM,CAC7B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,EACD,KAAK,MAAM,aAAa,QAAQ,IAAM,CACpC,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,EACD,KAAK,MAAM,OAAO,QAAQ,IAAM,KAAK,aAAa,CAAC,OAKvC,WAAU,EAAkB,CACxC,GAAI,CAAC,KAAK,UAAW,OACrB,GAAI,CACF,IAAM,EAAO,MAAO,MAAM,MAAM,KAAK,SAAS,GAAG,KAAK,EAEtD,GADA,GAAiB,CAAI,EACjB,KAAK,MAAM,OAAO,MAAO,GAAU,KAAK,MAAM,OAAO,KAAK,EAC9D,MAAO,EAAO,CACd,QAAQ,KACN,qDACA,KAAK,UACL,CACF,GAMI,cAAc,EAAgB,CACpC,OAAO,GACL,CACE,MAAO,SAGP,MAAO,CAAE,MAAO,EAAK,SAAU,EAC/B,MAAO,WACP,QAAS,CAAC,IAAiB,CACzB,IAAM,EAAmB,CAAC,EAGtB,EAAc,GAClB,GAAI,CACF,EAAc,KAAK,MAAM,KAAK,QAAU,IAAI,EAAE,aAAe,GAC7D,KAAM,EAGR,IAAM,EAAY,GAAe,SAAS,OAAS,gBACnD,EAAU,KAAK,CACb,QAAS,eACT,KAAM,UACN,OAAQ,IAAM,CACZ,IAAM,EAAM,OAAO,KAAK,GAAI,QAAQ,EACpC,GAAI,CAAC,EAAK,CACR,OAAO,MAAM,qDAAqD,EAClE,OAEF,EAAI,SAAS,KAAK,EAClB,EAAI,SAAS,MACX,GAAc,KAAK,OAAe,CAChC,MAAO,EACP,UAAW,EACb,CAAC,CACH,EACA,EAAI,SAAS,MAAM,EAEvB,CAAC,EACD,EAAU,KAAK,CACb,QAAS,gBACT,KAAM,OACN,OAAQ,IAAM,CACZ,IAAM,EAAO,SAAS,cAAc,GAAG,EACvC,EAAK,KAAO,IAAI,GAAQ,CAAS,SACjC,EAAK,SAAW,GAChB,EAAK,MAAM,EAEf,CAAC,EACD,EAAU,KAAK,IAAI,EAEnB,IAAM,EAAiB,EAAK,cAAc,OAAmB,CAAC,EAC9D,GAAI,EAAc,OAAS,EACzB,EAAU,KAAK,CACb,QAAS,WACT,KAAM,QACN,UAAW,EAAc,IAAI,CAAC,KAAY,CACxC,QAAS,EAAO,QAChB,KAAM,EAAO,KACb,QAAS,IAAM,EAAO,QAAU,EAAK,OAAO,MAC5C,OAAQ,IAAM,CACZ,KAAK,MAAM,OAAO,MAAQ,EAAO,MACjC,GAAU,EAAO,KAAK,EAE1B,EAAE,CACJ,CAAC,EAEH,EAAU,KAAK,CACb,QAAS,cACT,KAAM,MACN,UAAW,CACT,CACE,QAAS,SACT,QAAS,IAAM,KAAK,MAAM,MAAM,QAAU,SAC1C,OAAQ,IAAO,KAAK,MAAM,MAAM,MAAQ,QAC1C,EACA,CACE,QAAS,OACT,QAAS,IAAM,KAAK,MAAM,MAAM,QAAU,OAC1C,OAAQ,IAAO,KAAK,MAAM,MAAM,MAAQ,MAC1C,EACA,CACE,QAAS,QACT,QAAS,IAAM,KAAK,MAAM,MAAM,QAAU,QAC1C,OAAQ,IAAO,KAAK,MAAM,MAAM,MAAQ,OAC1C,EACA,KACA,CACE,QAAS,gBACT,QAAS,IAAM,KAAK,MAAM,aAAa,MACvC,OAAQ,IACL,KAAK,MAAM,aAAa,MAAQ,CAAC,KAAK,MAAM,aAAa,KAC9D,CACF,CACF,CAAC,EACD,EAAQ,CACN,OAAQ,EAAM,OACd,UAAW,GACX,WACF,CAAC,EAEL,EACA,EAAM,aAAa,CACrB,EAOM,UAAU,CAAC,EAA8B,CAC/C,IAAM,EAAO,KAAK,cAAc,CAAQ,EACxC,GAAI,CAAC,EAAM,MAAO,CAAC,EACnB,MAAO,CAAC,GAAG,EAAK,iBAAiB,GAAG,CAAC,EAAE,IAAI,CAAC,KAAY,CACtD,KAAM,EAAO,aAAa,MAAM,GAAK,GACrC,OAAQ,EAAO,aAAe,IAAI,KAAK,EACvC,KAAO,EAAuB,QAAQ,MAAQ,MAChD,EAAE,EAGJ,iBAAiB,EAAS,CAMxB,GALA,MAAM,kBAAkB,EAKpB,KAAK,aAAa,GAAK,EAAG,CAC5B,KAAK,WAAa,GAClB,KAAK,gBACH,GACE,CAAE,MAAO,mBAAoB,EAC7B,qDACF,CACF,EACA,OAMF,GAJA,KAAK,YAAY,EACjB,KAAK,UAAU,EACV,KAAK,WAAW,EAEjB,KAAK,SAAW,OAAW,CAC7B,IAAM,EAAM,KAAK,MAAQ,aACzB,MAAM,CAAG,EACN,KAAK,CAAC,IAAa,EAAS,KAAK,CAAC,EAClC,KAAK,CAAC,IAAkB,CACvB,KAAK,OAAS,EAGd,IAAM,EAAS,GAAgB,SAAS,OAAQ,GAAa,CAAM,CAAC,EACpE,GAAI,EAAQ,CACV,GAAI,IAAW,SAAS,SAAU,CAEhC,SAAS,QAAQ,EAAS,SAAS,IAAI,EACvC,OAGF,QAAQ,aAAa,KAAM,GAAI,EAAS,SAAS,IAAI,EAEvD,KAAK,YAAY,EAClB,EACA,MAAM,CAAC,IACN,QAAQ,MAAM,6CAA8C,EAAK,CAAK,CACxE,GAIN,MAAM,EAAS,CAEb,GADA,MAAM,OAAO,EACT,KAAK,YAAc,KAAK,SAAW,OAAW,OAKlD,GAAI,KAAK,UAAY,OAAW,CAC9B,IAAM,EAAY,KAAK,QAAgB,SAGvC,GAAI,GAAY,KAAK,OAAS,KAAK,QAAU,KAAK,aAChD,KAAK,aAAe,KAAK,MACzB,EAAS,KAAK,KAAK,EAErB,OAGF,IAAI,EAA0B,CAAC,EAC/B,GAAI,KAAK,OACP,GAAI,CACF,EAAS,KAAK,MAAM,KAAK,MAAM,EAC/B,KAAM,CACN,QAAQ,KAAK,qDAAqD,EAMtE,IAAM,EAAS,KAAK,aAAa,GAAK,EAChC,EACJ,GAAU,KAAK,UAAY,UAAY,KAAK,UAAY,WAKpD,EACH,KAAK,cAAc,cAAc,GAA4B,OAG1D,EAAc,KAAK,WAAW,aAAa,EA2BjD,GAzBA,KAAK,aAAe,KAAK,MAEzB,KAAK,QAAU,GAAiB,CAC9B,KAAM,KAAK,OACX,QAAS,EAAS,SAAW,OAC7B,aAAc,EAAS,KAAK,OAAS,OAAY,OACjD,cAAe,EACX,CAAC,IAAiB,CAEhB,KAAK,aAAe,EACpB,KAAK,MAAQ,GAEf,OACJ,QAAS,KAAK,SAAW,CACvB,OAAS,WAAmB,MAC5B,YAAc,WAAmB,OACnC,EACA,YAAa,EAAO,YACpB,aAAc,EAAO,aACrB,YAAa,EAAY,OAAS,EAAc,OAChD,gBACF,CAAC,EAIG,CAAC,EAAQ,CACX,IAAM,EAAS,KAAK,QAAQ,cAAc,QAAQ,EAClD,GAAI,EAAQ,EAAO,OAAO,KAAK,eAAe,CAAC,EAQjD,GALA,KAAK,gBAAgB,KAAK,OAAO,EAK7B,CAAC,GAAU,OAAO,SAAa,IACjC,sBAAsB,IAAM,CAC1B,SAAS,KAAK,MAAM,QAAU,IAC/B,EAGP,CAEO,IAAM,GACX,GAAc,eAAe,EC1Z/B,IAAQ,OAAK,SAAS,EAWf,MAAM,WAAqB,CAAU,OACnC,kBAAmB,sBAEnB,gBAAiB,CACtB,aAAc,EACd,aAAc,CAChB,QAEO,WAAY,SACZ,UAAW,QACX,WAAY,SACZ,YAAa,SAEb,iBAAkB,CACvB,QAAS,CACP,cAAe,QACf,iBAAkB,QAClB,oBAAqB,QACrB,uBAAwB,OACxB,gBAAiB,OACjB,mBAAoB,KACtB,EACA,qBAAsB,CACpB,SAAU,UACZ,EACA,2BAA4B,CAC1B,UAAW,aACX,QAAS,MACT,SAAU,WACV,QAAS,OACT,OAAQ,EAAK,WACb,MAAO,EAAK,WACZ,QAAS,EAAK,cACd,eAAgB,EAAK,YACrB,WAAY,EAAK,QACnB,EACA,qBAAsB,CACpB,IAAK,EACL,OAAQ,EACR,KAAM,EACN,MAAO,EACP,OAAQ,OACR,MAAO,OACP,WAAY,cACZ,OAAQ,WACV,EACA,0BAA2B,CACzB,UAAW,cAAc,EAAK,gBAChC,EACA,uEAAwE,CACtE,QAAS,MACX,EACA,qBAAsB,CACpB,QAAS,GACX,EACA,YAAa,CACX,cAAe,MACjB,EACA,kBAAmB,CACjB,eAAgB,EAAK,iBACrB,WAAY,EAAK,aACnB,CACF,QAEO,cAAa,CAAC,EAAqB,EAA4B,CACpE,IAAQ,YAAa,GACrB,OAAO,GAAa,YAAc,EAAM,SACpC,EAAO,IAAI,CAAC,IAAM,KAAK,MAAM,EAAI,CAAQ,EAAI,CAAQ,EACrD,QAGC,aAAY,CAAC,EAAqB,EAAmB,CAC1D,IAAQ,aAAc,GACtB,OAAO,GAAa,WAAa,EAAM,SACnC,KAAK,MAAM,EAAI,CAAS,EAAI,EAC5B,KAGF,OAAM,EAAU,CAClB,IAAM,EAAU,KAAK,cACrB,GAAI,EAAQ,MAAM,MAChB,MAAO,CAAE,KAAM,GAAM,IAAK,GAAM,OAAQ,GAAM,MAAO,EAAK,EAE5D,IAAM,EAAQ,EAAQ,MAAM,MAAM,MAAM,IAAI,IAAM,KAC5C,EAAO,CAAC,GAAS,EAAQ,MAAM,KAAK,MAAM,IAAI,IAAM,KACpD,EAAS,EAAQ,MAAM,OAAO,MAAM,IAAI,IAAM,KAC9C,EAAM,CAAC,GAAU,EAAQ,MAAM,IAAI,MAAM,IAAI,IAAM,KACzD,MAAO,CAAE,OAAM,MAAK,SAAQ,OAAM,KAGhC,OAAM,CAAC,EAAc,CACvB,IAAQ,SAAQ,SAAU,GACpB,OAAM,OAAQ,EACd,EAAU,KAAK,cACf,EAAI,EAAQ,WACZ,EAAI,EAAQ,UACZ,EAAI,EAAQ,YACZ,EAAI,EAAQ,aACZ,EAAK,EAAQ,aAA6B,YAAc,EAAI,EAC5D,EAAK,EAAQ,aAA6B,aAAe,EAAI,EASnE,GARA,OAAO,OAAO,EAAQ,MAAO,CAC3B,KAAM,GACN,MAAO,GACP,IAAK,GACL,OAAQ,GACR,MAAO,GACP,OAAQ,EACV,CAAC,EACG,CAAC,EAAO,EAAO,GACnB,GAAI,CAAC,EAAQ,EAAM,GACnB,GAAI,EAAM,EAAQ,MAAM,KAAO,EAAI,KACnC,GAAI,EAAO,EAAQ,MAAM,MAAQ,EAAI,KACrC,GAAI,GAAQ,EACV,EAAQ,MAAM,MAAQ,OAEtB,OAAQ,MAAM,MAAQ,EAAI,KAE5B,GAAI,EAAK,EAAQ,MAAM,IAAM,EAAI,KACjC,GAAI,EAAQ,EAAQ,MAAM,OAAS,EAAI,KACvC,GAAI,GAAO,EACT,EAAQ,MAAM,OAAS,OAEvB,OAAQ,MAAM,OAAS,EAAI,KAE7B,KAAK,YAAY,KAGf,OAAM,EAAiE,CACzE,IAAQ,MAAK,OAAM,QAAO,UAAW,KAAK,cAAe,MACzD,MAAO,CACL,IAAK,WAAW,CAAG,EACnB,KAAM,WAAW,CAAI,EACrB,MAAO,WAAW,CAAK,EACvB,OAAQ,WAAW,CAAM,CAC3B,KAGE,KAAI,EAAW,CACjB,OAAO,KAAK,cAAe,cAGzB,MAAK,EAAW,CAClB,OAAO,KAAK,cAAe,eAGzB,MAAK,EAAW,CAClB,OACG,KAAK,cAAe,aAA6B,aACjD,KAAK,KAAO,KAAK,UAIlB,IAAG,EAAW,CAChB,OAAO,KAAK,cAAe,aAGzB,OAAM,EAAW,CACnB,OAAO,KAAK,cAAe,gBAGzB,OAAM,EAAW,CACnB,OACG,KAAK,cAAe,aAA6B,cACjD,KAAK,IAAM,KAAK,QAIrB,cAAgB,IAAM,CACpB,KAAK,cAAe,cAClB,IAAI,MAAM,SAAU,CAClB,QAAS,GACT,SAAU,EACZ,CAAC,CACH,GAGF,eAAiB,CAAC,IAAiB,CAEjC,IAAQ,UAAW,KACnB,KAAK,OAAS,EACd,IAAM,EAAS,KAAK,eACZ,MAAK,OAAM,SAAQ,SAAU,KAAK,OAC1C,GAAU,EAAuB,CAAC,EAAI,EAAI,IAAc,CAEtD,GADC,CAAC,EAAI,CAAE,EAAI,GAAa,cAAc,EAAW,CAAC,EAAI,CAAE,CAAC,EACtD,CAAC,MAAM,CAAG,EACZ,EAAO,MAAM,IAAM,EAAM,EAAK,KAEhC,GAAI,CAAC,MAAM,CAAM,EACf,EAAO,MAAM,OAAS,EAAS,EAAK,KAEtC,GAAI,CAAC,MAAM,CAAI,EACb,EAAO,MAAM,KAAO,EAAO,EAAK,KAElC,GAAI,CAAC,MAAM,CAAK,EACd,EAAO,MAAM,MAAQ,EAAQ,EAAK,KAEpC,GAAI,EAAU,OAAS,UAErB,OADA,KAAK,cAAc,EACZ,GAEV,GAGH,OAAS,CAAC,IAAiB,CACzB,IAAM,EAAS,KAAK,eACZ,UAAW,KACnB,KAAK,OAAS,OAAO,OAAO,CAC1B,KAAM,GACN,IAAK,GACL,MAAO,GACP,OAAQ,EACV,CAAC,EACD,IAAO,EAAO,GAAU,CAAC,KAAK,MAAO,KAAK,MAAM,EAEhD,GAAU,EAAuB,CAAC,EAAI,EAAI,IAAc,CACtD,IAAI,EAAI,EAAQ,EACZ,EAAI,EAAS,EAIjB,GAHC,CAAC,EAAG,CAAC,EAAI,GAAa,cAAc,EAA2B,CAAC,EAAG,CAAC,CAAC,EACtE,EAAO,MAAM,MAAQ,EAAI,KACzB,EAAO,MAAM,OAAS,EAAI,KACtB,EAAU,OAAS,UAGrB,OAFA,KAAK,OAAS,EACd,KAAK,cAAc,EACZ,GAEV,GAGH,WAAa,CAAC,IAAiB,CAC7B,IAAM,EAAS,KAAK,eACZ,UAAW,KACb,EAAa,EAAM,OAAuB,aAAa,MAAM,EACnE,KAAK,OAAS,OAAO,OAAO,CAC1B,KAAM,GACN,MAAO,GACP,IAAK,GACL,OAAQ,EACV,CAAC,EACD,IAAM,EAAW,KAAK,GAEtB,GAAU,EAAuB,CAAC,EAAI,EAAI,IAAc,CACtD,IAAO,GAAY,GAAa,cAAc,EAAW,CACvD,GACG,CAAC,OAAQ,OAAO,EAAE,SAAS,CAAS,EAAI,EAAK,IAC3C,CAAC,QAAS,QAAQ,EAAE,SAAS,CAAS,EAAI,GAAK,EACtD,CAAC,EAED,GADA,EAAO,MAAM,GAAa,EAAW,KACjC,EAAU,OAAS,UAGrB,OAFA,KAAK,OAAS,EACd,KAAK,cAAc,EACZ,GAEV,MAGC,KAAI,EAAY,CAClB,OAAO,KAAK,cAAe,sBAAsB,KAG/C,OAAM,EAA6B,CACrC,IAAM,EAAO,KAAK,cAAe,sBAAsB,EACvD,MAAO,CACL,EAAG,EAAK,EAAI,EAAK,MAAQ,IACzB,EAAG,EAAK,EAAI,EAAK,OAAS,GAC5B,KAGE,QAAO,EAAgB,CACzB,OAAO,KAAK,cAGd,eAAiB,CAAC,IAAiB,CACjC,IAAQ,UAAW,MACX,mBAAoB,KAAK,QAAQ,MACzC,GAAI,CAAC,EACH,KAAK,QAAQ,MAAM,gBAAkB,UAEvC,GAAU,EAAuB,CAAC,EAAK,EAAK,IAA4B,CACtE,IAAQ,UAAS,WAAY,EACvB,EAAI,EAAU,EAAO,EACrB,EAAI,EAAU,EAAO,EACvB,EAAQ,EAAI,EAAI,GAAK,IACzB,GAAI,IAAM,EACR,EAAS,KAAK,MAAM,EAAG,CAAC,EAAI,IAAO,KAAK,GAG1C,GADA,EAAQ,GAAa,aAAa,EAAW,CAAK,EAC9C,IAAU,EACZ,KAAK,QAAQ,MAAM,gBAAkB,GACrC,KAAK,QAAQ,MAAM,UAAY,GAE/B,UAAK,QAAQ,MAAM,UAAY,UAAU,QAG3C,OADA,KAAK,cAAc,EACZ,EAAU,OAAS,UAC3B,GAGH,WAAa,CAAC,IAAiB,CAC7B,IAAQ,UAAW,KACb,EAAS,EAAM,OAAuB,MAAM,MAAM,GAAG,EAAE,GAC7D,EAAO,GAAS,CAAC,EAAO,GACxB,KAAK,OAAS,EACd,KAAK,YAAY,EACjB,EAAM,gBAAgB,EACtB,EAAM,eAAe,GAGvB,QAAU,IAAM,CACd,GACE,CACE,KAAM,OACN,MAAO,CAAE,IAAK,MAAO,KAAM,MAAO,UAAW,sBAAuB,CACtE,EACA,EAAM,KAAK,CACb,EACA,GAAI,CACF,KAAM,OACN,MAAO,cACP,MAAO,YACP,MAAO,CAAE,KAAM,OAAQ,MAAO,KAAM,CACtC,CAAC,EACD,GAAI,CACF,KAAM,QACN,MAAO,eACP,MAAO,YACP,MAAO,CAAE,KAAM,mBAAoB,MAAO,KAAM,CAClD,CAAC,EACD,GAAI,CACF,KAAM,MACN,MAAO,aACP,MAAO,YACP,MAAO,CAAE,IAAK,OAAQ,OAAQ,MAAO,OAAQ,WAAY,CAC3D,CAAC,EACD,GAAI,CACF,KAAM,SACN,MAAO,gBACP,MAAO,YACP,MAAO,CAAE,IAAK,mBAAoB,OAAQ,MAAO,OAAQ,WAAY,CACvE,CAAC,EACD,GACE,CACE,KAAM,SACN,MAAO,CAAE,IAAK,OAAQ,KAAM,MAAO,CACrC,EACA,EAAM,OAAO,CACf,EACA,GACE,CACE,KAAM,SACN,MAAO,CAAE,IAAK,MAAO,MAAO,GAAI,CAClC,EACA,EAAM,UAAU,CAClB,EACA,GACE,CACE,KAAM,WACN,MAAO,YACP,MAAO,CAAE,IAAK,MAAO,KAAM,EAAG,UAAW,wBAAyB,CACpE,EACA,EAAM,OAAO,EACb,EAAM,KAAK,CACb,EACA,GACE,CACE,KAAM,YACN,MAAO,aACP,MAAO,CAAE,IAAK,MAAO,KAAM,OAAQ,UAAW,qBAAsB,CACtE,EACA,EAAM,OAAO,EACb,EAAM,KAAK,CACb,EACA,GACE,CACE,KAAM,UACN,MAAO,WACP,MAAO,CAAE,IAAK,EAAG,KAAM,MAAO,UAAW,wBAAyB,CACpE,EACA,EAAM,OAAO,EACb,EAAM,KAAK,CACb,EACA,GACE,CACE,KAAM,aACN,MAAO,cACP,MAAO,CAAE,IAAK,OAAQ,KAAM,MAAO,UAAW,qBAAsB,CACtE,EACA,EAAM,OAAO,EACb,EAAM,KAAK,CACb,EACA,GAAK,CACP,EAEA,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,IACE,OACA,QACA,MACA,SACA,WACA,YACA,UACA,aACA,OACA,SACA,UACE,KAAK,MAEH,EAAU,CAAE,QAAS,EAAK,EAC/B,CAAC,EAAM,EAAO,EAAK,CAAM,EAAE,QAAQ,CAAC,IAAQ,CAC3C,EAAI,iBAAiB,YAAa,KAAK,WAAY,CAAO,EAC1D,EAAI,iBAAiB,aAAc,KAAK,WAAY,CAAO,EAC5D,EACA,CAAC,EAAU,EAAW,EAAS,CAAU,EAAE,QAAQ,CAAC,IAAQ,CAC3D,EAAI,iBAAiB,QAAS,KAAK,UAAU,EAC9C,EACD,EAAO,iBAAiB,YAAa,KAAK,OAAQ,CAAO,EACzD,EAAK,iBAAiB,YAAa,KAAK,eAAgB,CAAO,EAC/D,EAAO,iBAAiB,YAAa,KAAK,eAAgB,CAAO,EACjE,EAAO,iBAAiB,aAAc,KAAK,OAAQ,CAAO,EAC1D,EAAK,iBAAiB,aAAc,KAAK,eAAgB,CAAO,EAChE,EAAO,iBAAiB,aAAc,KAAK,eAAgB,CAAO,EAGpE,MAAM,EAAG,CAGP,GAFA,MAAM,OAAO,EAET,CAAC,KAAK,cACR,OAGF,IAAQ,WAAU,YAAW,UAAS,cAAe,KAAK,OAClD,OAAM,QAAO,MAAK,UAAW,KAAK,OAE1C,EAAS,gBAAgB,SAAU,CAAI,EACvC,EAAU,gBAAgB,SAAU,CAAK,EACzC,EAAQ,gBAAgB,SAAU,CAAG,EACrC,EAAW,gBAAgB,SAAU,CAAM,EAE/C,CAEO,IAAM,GAAe,GAAa,eAAe,ECpXxD,IAAQ,OAAK,SAAO,UAAQ,SAAS,EAK/B,GAAW,CAAC,IAAiB,EAC7B,GAA0B,kCASnB,GAAmD,CAC9D,SAAU,CACR,QAAS,WACT,SAAU,mBACV,SAAU,CAAC,IAAkB,CAE3B,OADA,EAAQ,EAAM,kBAAkB,EACzB,CAAC,IAAa,OAAO,CAAG,EAAE,kBAAkB,EAAE,SAAS,CAAK,EAEvE,EACA,QAAS,CACP,QAAS,WACT,SAAU,CAAC,IAAkB,CAC3B,IAAM,EAAO,EACV,MAAM,OAAO,EACb,IAAI,CAAC,IAAQ,EAAI,KAAK,EAAE,kBAAkB,CAAC,EAC3C,OAAO,CAAC,IAAQ,IAAQ,EAAE,EAC7B,MAAO,CAAC,IACN,MAAM,QAAQ,CAAG,GACjB,EAAK,KAAK,CAAC,IAAQ,CAAC,EAAI,SAAS,CAAG,CAAC,IAAM,OAEjD,EACA,gBAAiB,CACf,QAAS,qBACT,SAAU,CAAC,IAAkB,CAC3B,IAAM,EAAO,EACV,MAAM,OAAO,EACb,IAAI,CAAC,IAAQ,EAAI,KAAK,EAAE,kBAAkB,CAAC,EAC3C,OAAO,CAAC,IAAQ,IAAQ,EAAE,EAC7B,MAAO,CAAC,IACN,MAAM,QAAQ,CAAG,GACjB,EAAK,KAAK,CAAC,IAAQ,EAAI,SAAS,CAAG,CAAC,IAAM,OAEhD,EACA,OAAQ,CACN,QAAS,IACT,SAAU,IACV,SAAU,CAAC,IAAkB,CAC3B,GAAI,MAAM,OAAO,CAAK,CAAC,EAErB,OADA,EAAQ,OAAO,CAAK,EAAE,kBAAkB,EACjC,CAAC,IAAa,OAAO,CAAG,EAAE,kBAAkB,IAAM,EAE3D,IAAM,EAAM,OAAO,CAAK,EACxB,MAAO,CAAC,IAAa,OAAO,CAAG,IAAM,EAEzC,EACA,MAAO,CACL,QAAS,WACT,SAAU,YACV,SAAU,CAAC,IAAe,CACxB,IAAM,EAAO,IAAI,KAAK,CAAK,EAC3B,MAAO,CAAC,IAAa,IAAI,KAAK,CAAG,EAAI,EAEzC,EACA,YAAa,CACX,QAAS,IACT,SAAU,IACV,SAAU,CAAC,IAAe,CACxB,GAAI,CAAC,MAAM,OAAO,CAAK,CAAC,EAAG,CACzB,IAAM,EAAM,OAAO,CAAK,EACxB,MAAO,CAAC,IAAa,OAAO,CAAG,EAAI,EAGrC,OADA,EAAQ,EAAM,kBAAkB,EACzB,CAAC,IAAa,OAAO,CAAG,EAAE,kBAAkB,EAAI,EAE3D,EACA,OAAQ,CACN,QAAS,6BACT,SAAU,sBACV,WAAY,GACZ,SAAU,IAAM,CAAC,IAAa,CAAC,CAAC,CAClC,EACA,OAAQ,CACN,QAAS,SACT,WAAY,GACZ,SAAU,IAAM,CAAC,IAAa,IAAQ,EACxC,EACA,QAAS,CACP,QAAS,UACT,WAAY,GACZ,SAAU,IAAM,CAAC,IAAa,IAAQ,EACxC,CACF,EAOM,GAAe,CACnB,YAAa,WACb,KAAM,IAAM,EACd,EAEA,SAAS,EAAa,CAAC,EAA4B,CACjD,OAAQ,EAAO,QAAQ,EAAO,gBAAiC,SAAW,GAkBrE,MAAM,WAAmB,CAA8B,OACrD,kBAAmB,yBAEnB,gBAAiB,CACtB,QAAS,CACP,QAAS,MACX,EAEA,oBAAqB,CACnB,cAAe,SACf,cAAe,MACjB,EAEA,oDAAqD,CACnD,KAAM,GACR,EAEA,wBAAyB,CACvB,KAAM,CACR,EAEA,kCAAmC,CACjC,QAAS,QACT,QAAS,IACT,KAAM,UACR,CACF,QAEO,gBAAiB,CACtB,SAAU,IACV,UAAW,WACX,OAAQ,EACV,EAEA,OAAiB,CAAC,EAClB,QAAU,GAEV,QAAU,IAAM,CACd,GAAW,CAAE,KAAM,UAAW,CAAC,EAC/B,GAAW,CAAE,KAAM,WAAY,CAAC,EAChC,GAAM,CAAE,KAAM,SAAU,KAAM,QAAS,CAAC,EACxC,GAAK,CAAE,KAAM,SAAU,CAAC,EACxB,GAAO,CAAE,KAAM,SAAU,MAAO,QAAS,EAAG,EAAM,MAAM,CAAC,CAC3D,EAEA,OAAiB,MAEb,MAAK,EAAoB,CAC3B,IAAQ,WAAU,SAAQ,aAAc,KAAK,MAC7C,MAAO,CACL,SAAU,EAAS,MACnB,OAAQ,EAAO,MACf,UAAW,EAAU,KACvB,KAGE,MAAK,CAAC,EAA2B,CACnC,OAAO,OAAO,KAAM,CAAQ,EAG9B,YAAc,IAAwB,CACpC,IAAQ,WAAU,YAAW,UAAW,KAAK,MAEvC,EAAW,EAAU,MAAM,WAAW,GAAG,EACzC,EAAM,EAAW,EAAU,MAAM,MAAM,CAAC,EAAI,EAAU,MACtD,EAAS,KAAK,QAAQ,GAC5B,EAAO,OAAS,EAAO,aAAe,GAEtC,IAAM,EACJ,EAAO,aAAe,GAClB,EAAO,SAAS,MAAS,EACzB,EAAO,SAAS,EAAO,KAAK,EAC5B,EAAQ,EAAS,MACnB,EAEJ,GAAI,IAAU,IACZ,EAAO,EACH,CAAC,IAAa,CAAC,EAAS,EAAI,EAAM,EAClC,CAAC,IAAa,EAAS,EAAI,EAAM,EAErC,OAAO,EACH,CAAC,IACC,OAAO,OAAO,CAAG,EAAE,KAAK,CAAC,IAAM,CAAC,EAAS,CAAC,CAAC,IAAM,OACnD,CAAC,IACC,OAAO,OAAO,CAAG,EAAE,KAAK,CAAC,IAAM,EAAS,CAAC,CAAC,IAAM,OAGxD,IAAM,EAAa,EAAO,aAAe,GAAQ,KAAK,EAAO,SAAW,GAClE,EAAc,GAAG,GAAc,CAAQ,KAAK,GAChD,CACF,IAAI,IAEJ,KAAK,OAAS,CACZ,cACA,MACF,EAEA,KAAK,eAAe,cAAc,IAAI,MAAM,QAAQ,CAAC,GAGvD,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EAExB,IAAQ,WAAU,YAAW,SAAQ,UAAW,KAAK,MAErD,EAAS,iBAAiB,SAAU,KAAK,WAAW,EACpD,EAAU,iBAAiB,SAAU,KAAK,WAAW,EACrD,EAAO,iBAAiB,QAAS,KAAK,WAAW,EACjD,EAAS,MAAQ,KAAK,SACtB,EAAU,MAAQ,KAAK,UACvB,EAAO,MAAQ,KAAK,OAEpB,EAAO,iBAAiB,QAAS,IAAM,CACrC,IAAQ,iBAAkB,KAC1B,KAAK,OAAO,EACZ,GAAe,cAAc,IAAI,MAAM,QAAQ,CAAC,EACjD,EAGH,MAAM,EAAG,CACP,MAAM,OAAO,EAEb,IAAQ,WAAU,YAAW,UAAW,KAAK,MAsB7C,GApBA,EAAS,QAAU,CACjB,CACE,QAAS,YACT,MAAO,GACT,EACA,GAAG,KAAK,OAAO,IAAI,CAAC,IAAU,EAAM,IAAI,CAC1C,EAEA,EAAU,QAAU,OAAO,KAAK,KAAK,OAAO,EACzC,IAAI,CAAC,IAAQ,CACZ,IAAM,EAAS,KAAK,QAAQ,GAC5B,OAAO,EAAO,WAAa,OACvB,CACE,CAAE,QAAS,EAAO,QAAS,MAAO,CAAI,EACtC,CAAE,QAAS,EAAO,SAAU,MAAO,IAAM,CAAI,CAC/C,EACA,CAAE,QAAS,EAAO,QAAS,MAAO,CAAI,EAC3C,EACA,KAAK,EAEJ,KAAK,WAAa,GACpB,EAAS,MAAQ,KAAK,SAExB,GAAI,KAAK,YAAc,GACrB,EAAU,MAAQ,KAAK,UAEzB,GAAI,KAAK,SAAW,GAClB,EAAO,MAAQ,KAAK,OAEtB,KAAK,YAAY,EAErB,CAEO,IAAM,GAAa,GAAW,eAAe,EAS7C,MAAM,WAAsB,CAAiC,OAC3D,kBAAmB,oBAEnB,gBAAiB,CACtB,QAAS,CACP,OAAQ,OACR,QAAS,OACT,oBAAqB,8BACrB,WAAY,QACd,EAEA,iCAAkC,CAChC,QAAS,OACT,cAAe,SACf,WAAY,UACZ,KAAM,UACR,EAEA,0BAA2B,CACzB,YAAa,OACf,EAEA,2BAA4B,CAC1B,YAAa,MACf,EAEA,wBAAyB,CACvB,YAAa,MACf,EAEA,2CAA4C,CAC1C,gBAAiB,0BACjB,aAAc,QACd,OAAQ,qBACR,WAAY,qBACZ,OAAQ,IACR,QAAS,IACT,UAAW,SACX,MAAO,qBACP,KAAM,wBACR,CACF,EAEQ,QAAkB,CAAC,KAEvB,OAAM,EAAW,CACnB,OAAO,KAAK,WAGV,OAAM,CAAC,EAAiB,CAC1B,KAAK,QAAU,EACf,KAAK,YAAY,KAGf,MAAK,EAAgB,CACvB,IAAQ,mBAAoB,KAAK,MACjC,MAAQ,CAAC,GAAG,EAAgB,QAAQ,EAAmB,IACrD,CAAC,IAAS,EAAK,KACjB,KAGE,MAAK,CAAC,EAAoB,CAC5B,IAAQ,SAAQ,WAAY,MACpB,mBAAoB,KAAK,MACjC,EAAgB,YAAc,GAC9B,QAAW,KAAS,EAClB,EAAgB,OAAO,GAAW,CAAE,SAAQ,aAAY,CAAM,CAAC,CAAC,EAIpE,OAAsB,GACtB,YAAc,GAEd,UAAY,IAAM,CAChB,IAAQ,SAAQ,WAAY,MACpB,mBAAoB,KAAK,MACjC,EAAgB,OAAO,GAAW,CAAE,SAAQ,SAAQ,CAAC,CAAC,GAGxD,QAAU,IAAM,CACd,GACE,CACE,KAAM,MACN,MAAO,uBACP,QAAS,KAAK,UACd,MAAO,OACT,EACA,EAAM,KAAK,CACb,EACA,GAAI,CAAE,KAAM,iBAAkB,CAAC,EAC/B,GACE,CAAE,KAAM,QAAS,MAAO,eAAgB,QAAS,KAAK,KAAM,EAC5D,EAAM,EAAE,CACV,CACF,EAEA,QAAU,GAEV,MAAQ,IAAM,CACZ,IAAQ,SAAQ,WAAY,MACpB,mBAAoB,KAAK,MACjC,KAAK,YAAc,GACnB,KAAK,OAAS,GACd,EAAgB,YAAc,GAC9B,EAAgB,OAAO,GAAW,CAAE,SAAQ,SAAQ,CAAC,CAAC,EACtD,KAAK,cAAc,IAAI,MAAM,QAAQ,CAAC,GAGxC,YAAc,IAAwB,CACpC,IAAQ,mBAAoB,KAAK,MACjC,GAAI,EAAgB,SAAS,SAAW,EAAG,CACzC,KAAK,MAAM,EACX,OAEF,IAAM,EAAW,CAAC,GAAG,EAAgB,QAAQ,EAAmB,IAC9D,CAAC,IAAe,EAAW,MAC7B,EACM,EAAQ,EAAQ,IAAI,CAAC,IAAW,EAAO,IAAI,EACjD,KAAK,YAAc,EAAQ,IAAI,CAAC,IAAW,EAAO,WAAW,EAAE,KAAK,IAAI,EACxE,KAAK,OAAS,CAAC,IACb,EAAM,OACJ,CAAC,IAAa,EAAM,KAAK,CAAC,IAAM,EAAE,CAAG,IAAM,EAAK,IAAM,MACxD,EACF,KAAK,cAAc,IAAI,MAAM,QAAQ,CAAC,GAGxC,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,IAAQ,mBAAoB,KAAK,MACjC,EAAgB,iBAAiB,SAAU,KAAK,WAAW,EAE3D,KAAK,MAAM,EAGb,MAAM,EAAG,CACP,MAAM,OAAO,EAEjB,CAEO,IAAM,GAAgB,GAAc,eAAe,EC/K1D,IAAQ,QAAM,QAAM,YAAU,SAAO,SAAO,SAAS,EAErD,SAAS,EAAI,CAAC,EAAsB,EAAc,EAAkB,CAClE,GAAI,IAAU,IAAM,IAAU,GAC5B,EAAQ,aAAa,EAAM,CAAK,EAEhC,OAAQ,gBAAgB,CAAI,EAIhC,SAAS,EAAa,CAAC,EAA8B,CACnD,OAAQ,EAAM,UACP,WACH,OAAO,EAAM,YACV,QAAS,CACZ,IAAM,EAAS,EAAM,eAAe,cAClC,6BAA6B,EAAM,gBACrC,EACA,OAAO,EAAS,EAAO,MAAQ,IACjC,KACK,YACA,SACH,OAAO,OAAO,EAAM,KAAK,UAEzB,OAAO,MAAM,QAAQ,EAAM,KAAK,GAAK,EAAM,MAAM,SAAW,EACxD,KACA,EAAM,OAIhB,SAAS,EAAe,CAAC,EAAuC,EAAY,CAC1E,GAAI,EAAE,aAAiB,aAAc,CAE9B,QAAI,aAAiB,iBAC1B,OAAQ,EAAM,UACP,WACH,EAAM,QAAU,EAChB,UACG,QACH,EAAM,QAAU,IAAU,EAAM,MAChC,cAEA,EAAM,MAAQ,OAAO,GAAS,EAAE,EAGpC,QAAI,GAAS,MAAS,EAA2B,OAAS,KACtD,EAA2B,MAAQ,OAAO,GAAS,EAAE,EAKtD,MAAM,WAAkB,CAAa,OACnC,kBAAmB,mBAEnB,gBAAiB,CACtB,uBAAwB,CACtB,SAAU,WACV,QAAS,OACT,WAAY,SACZ,IAAK,EAAW,gBAAgB,KAAK,CACvC,EACA,uCAAwC,CACtC,QAAS,cACX,EACA,sCAAuC,CACrC,QAAS,cACX,EACA,qDAAsD,CACpD,MAAO,MACT,EACA,iBAAkB,CAChB,OAAQ,MACV,EACA,+BAAgC,CAC9B,MAAO,aACT,EACA,gBAAiB,CACf,SAAU,WACV,cAAe,OACf,QAAS,CACX,CACF,QAEO,gBAAiB,CACtB,QAAS,GACT,IAAK,GACL,KAAM,GAQN,SAAU,GACV,QAAS,GACT,YAAa,GACb,IAAK,GACL,IAAK,GACL,KAAM,GACN,eAAgB,GAChB,OAAQ,GACR,OAAQ,EACV,EAEA,MAAa,KAEb,QAAU,GACR,GAAS,CAAE,KAAM,SAAU,CAAC,EAC5B,GACE,CAAE,KAAM,OAAQ,EAChB,GAAS,CAAE,KAAM,QAAS,KAAM,OAAQ,CAAC,EACzC,GAAM,CAAE,KAAM,aAAc,CAAC,CAC/B,CACF,EAEQ,aAAe,GACvB,aAAe,IAAM,CACnB,IAAQ,QAAO,eAAgB,KAAK,MAI9B,EAAgB,EAAM,SAAS,IAAM,EAC3C,GAAI,IAAiB,EACnB,EAAY,MAAQ,EAAa,MAEnC,KAAK,MAAQ,GAAc,CAAY,EACvC,KAAK,aAAe,GACpB,IAAM,EAAO,KAAK,QAAQ,WAAW,EACrC,GAAI,GAAQ,KAAK,MAAQ,GACvB,OAAQ,KAAK,UACN,WACH,EAAK,OAAO,KAAK,KAAO,EAAa,QACrC,UACG,aACA,QACH,GAAI,KAAK,eAAiB,GACxB,EAAa,MAAQ,OAAO,EAAa,KAAK,EAAE,QAC9C,KAAK,cACP,EACA,EAAK,OAAO,KAAK,KAAO,OAAO,EAAa,KAAK,EAEjD,OAAK,OAAO,KAAK,KAAO,OAAO,EAAa,KAAK,EAEnD,cAEA,EAAK,OAAO,KAAK,KAAO,EAAa,QAK7C,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EACxB,IAAQ,QAAO,eAAgB,KAAK,MAOpC,EAAY,iBAAiB,SAAU,KAAK,YAAY,EACxD,EAAM,iBAAiB,SAAU,KAAK,aAAc,EAAI,EAG1D,MAAM,EAAG,CACP,GAAI,KAAK,aAAc,CACrB,KAAK,aAAe,GACpB,OAEF,IAAQ,QAAO,UAAS,cAAa,SAAU,KAAK,MAMpD,GAAI,EAAQ,aAAa,KAAK,IAAM,GAClC,EAAQ,OAAO,KAAK,UAAY,GAAK,KAAK,QAAU,KAAK,GAAG,EAE9D,GAAI,KAAK,OAAS,OAAQ,CACxB,EAAM,YAAc,GACpB,IAAM,EAAW,EAAS,SAAS,CAAE,MAAO,KAAK,KAAM,CAAC,EACxD,GAAI,KAAK,YACP,EAAS,aAAa,cAAe,KAAK,WAAW,EAEvD,EAAM,OAAO,CAAQ,EAChB,QAAI,KAAK,OAAS,QACvB,EAAM,YAAc,GACpB,EAAM,OAAO,GAAW,CAAE,MAAO,KAAK,KAAM,CAAC,CAAC,EACzC,QAAI,EAAM,SAAS,SAAW,GAMnC,GALA,GAAK,EAAa,cAAe,KAAK,WAAW,EACjD,GAAK,EAAa,OAAQ,KAAK,IAAI,EACnC,GAAK,EAAa,UAAW,KAAK,OAAO,EACzC,GAAK,EAAa,MAAO,KAAK,GAAG,EACjC,GAAK,EAAa,MAAO,KAAK,GAAG,EAC7B,KAAK,KACP,GAAK,EAAa,OAAQ,KAAK,IAAI,EAC9B,QAAI,KAAK,eAAiB,GAAK,KAAK,OAAS,SAClD,GAAK,EAAa,OAAQ,KAAK,IAAI,GAAI,CAAC,KAAK,cAAc,CAAC,EAMhE,GAHA,GAAgB,EAAa,KAAK,KAAK,EACvC,GAAgB,EAAM,SAAS,GAAmB,KAAK,KAAK,EAExD,KAAK,OACP,EAAM,aAAa,SAAU,KAAK,MAAM,EAExC,OAAM,gBAAgB,QAAQ,EAEhC,GAAI,KAAK,OACP,EAAM,aAAa,SAAU,KAAK,MAAM,EAExC,OAAM,gBAAgB,QAAQ,EAIhC,GADA,EAAY,UAAU,OAAO,SAAU,EAAM,SAAS,OAAS,CAAC,EAC5D,EAAM,SAAS,OAAS,EAC1B,EAAY,aAAa,WAAY,IAAI,EAEzC,OAAY,gBAAgB,UAAU,EAExC,EAAM,MAAM,QAAU,EAAM,SAAS,SAAW,EAAI,OAAS,GAC7D,GAAK,EAAa,WAAY,CAAC,KAAK,QAAQ,EAEhD,CAEO,MAAM,WAAiB,CAAa,OAClC,kBAAmB,YAE1B,QAAU,CAAC,EACX,MAAQ,CAAC,KACL,QAAO,EAAY,CAIrB,MAFE,CAAC,GAAG,KAAK,iBAAiB,GAAG,CAAC,EAC9B,OAAO,CAAC,IAAW,EAAO,WAAa,MAAS,EACnC,KAAK,CAAC,IAAW,CAAC,EAAO,eAAe,CAAC,IAAM,aAGzD,iBAAkB,CACvB,QAAS,CACP,QAAS,OACT,cAAe,QACjB,EACA,2CAA4C,CAC1C,QAAS,MACX,EACA,uBAAwB,CACtB,QAAS,OACT,cAAe,SACf,SAAU,cACV,OAAQ,OACR,MAAO,OACP,SAAU,WACV,UAAW,YACb,EACA,aAAc,CACZ,QAAS,OACT,KAAM,WACN,SAAU,WACV,SAAU,QACZ,CACF,EAEA,QAAU,CACR,GAAK,CAAE,KAAM,SAAU,KAAM,QAAS,CAAC,EACvC,GAAK,CAAE,KAAM,MAAO,EAAG,GAAK,CAAE,KAAM,SAAU,CAAC,CAAC,EAChD,GAAK,CAAE,KAAM,SAAU,KAAM,QAAS,CAAC,CACzC,EAEA,SAAW,CAAC,IAAkC,CAC5C,OAAO,KAAK,cAAc,mBAAmB,KAAO,MAGlD,OAAM,EAAQ,CAChB,GAAI,OAAO,KAAK,QAAU,SACxB,GAAI,CACF,KAAK,MAAQ,KAAK,MAAM,KAAK,KAAK,EAClC,KAAM,CACN,QAAQ,IAAI,yDAAyD,EACrE,KAAK,MAAQ,CAAC,EAGlB,IAAQ,YAAa,KACf,EAAW,KAAK,cAAc,KAAK,IAAI,EAC7C,OAAO,IAAI,MAAM,KAAK,MAAO,CAC3B,GAAG,CAAC,EAAQ,EAAmB,CAC7B,OAAO,EAAO,IAGhB,GAAG,CAAC,EAAQ,EAAc,EAAwB,CAChD,GAAI,EAAO,KAAU,EAAU,CAC7B,EAAO,GAAQ,EACf,IAAM,EAAQ,EAAS,CAAI,EAC3B,GAAI,EACF,EAAM,MAAQ,EAEhB,EAAS,IAAI,MAAM,QAAQ,CAAC,EAE9B,MAAO,GAEX,CAAC,KAGC,OAAM,CAAC,EAAgC,CACzC,IAAM,EAAS,CAAC,GAAG,KAAK,iBAAiB,YAAY,CAAC,EACtD,QAAW,KAAS,EAClB,EAAM,MAAQ,EAAO,EAAM,KAI/B,OAAS,IAAM,CACb,KAAK,MAAM,KAAK,cAAc,IAAI,MAAM,QAAQ,CAAC,GAGnD,aAAe,CAAC,IAAuB,CACrC,EAAM,eAAe,EACrB,EAAM,gBAAgB,EAEtB,KAAK,gBAAgB,EACrB,IAAM,EAAQ,KAAK,OACnB,KAAK,eAAe,EAAO,KAAK,OAAO,GAGzC,eAAiB,CAAC,EAA+B,IAA2B,CAC1E,QAAQ,IAAI,8CAA+C,CACzD,QACA,SACF,CAAC,GAGH,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EACxB,IAAQ,QAAS,KAAK,MACtB,EAAK,iBAAiB,SAAU,KAAK,YAAY,EAIjD,KAAK,iBAAiB,SAAU,KAAK,oBAAqB,EAAI,EAG9D,KAAK,wBAAwB,EAGvB,oBAAsB,CAAC,IAAiB,CAC9C,IAAM,EAAS,EAAM,OACf,EAAO,EAAO,aAAa,MAAM,EACvC,GAAI,GAAQ,UAAW,EACrB,KAAK,OAAO,GAAS,EAAe,OAIhC,eAAe,EAAS,CAC9B,IAAM,EAAY,KAAK,OACjB,EAAgB,KAAK,iBACzB,eACF,EACA,QAAW,KAAM,EAAe,CAC9B,IAAM,EAAM,EAAG,aAAa,MAAM,GAAK,EAAG,aAAa,KAAK,EAC5D,GAAI,CAAC,EAAK,SACV,GAAI,EAAU,KAAS,OAAW,CAChC,IAAM,EAAO,EAAW,OAAS,EAAG,aAAa,OAAO,EACxD,GAAI,GAAO,KACT,EAAU,GAAO,IAMjB,uBAAuB,EAAS,CACtC,IAAM,EAAY,KAAK,OAEjB,EAAgB,KAAK,iBACzB,eACF,EACA,QAAW,KAAM,EAAe,CAC9B,IAAM,EAAM,EAAG,aAAa,MAAM,GAAK,EAAG,aAAa,KAAK,EAC5D,GAAI,CAAC,EAAK,SACV,GAAI,EAAU,KAAS,OACnB,EAAW,MAAQ,EAAU,IAIvC,CAKO,IAAM,GAA6B,GAK7B,GAA2B,GAE3B,GAAY,GAAU,eAAe,EAErC,GAAW,GAAS,eAAe,EAGnC,GAAW,GAGX,GAAU,GChtBvB,IAAQ,MAAM,EAMP,MAAM,WAAmB,CAAU,OACjC,kBAAmB,oBAEnB,iBAAkB,CACvB,QAAS,CACP,QAAS,OACT,WAAY,SACZ,QAAS,EAAW,kBAAkB,WAAW,EACjD,WAAY,EAAW,aAAa,6BAA6B,EACjE,WAAY,EAAW,qBAAqB,MAAM,EAClD,IAAK,EAAW,cAAc,KAAK,CACrC,EACA,eAAgB,CACd,QAAS,cACT,WAAY,QACd,CACF,EAEA,QAAU,EAAG,UAA4B,CAAC,EAAK,CAAC,CAClD,CAEO,IAAM,GACX,GAAW,eAAe,EAetB,GAA2C,CAC/C,OAAQ,IAAM,EAAM,KAAK,EACzB,QAAS,IAAM,EAAM,QAAQ,EAC7B,KAAM,IAAM,EAAM,KAAK,EACvB,OAAQ,IAAM,EAAM,OAAO,EAC3B,IAAK,IAAM,EAAM,IAAI,CACvB,EAEO,MAAM,WAAwB,CAAU,OACtC,kBAAmB,0BAEnB,gBAAiB,CACtB,QAAS,CACP,QAAS,cACT,WAAY,SACZ,IAAK,KACP,EACA,UAAW,CACT,MAAO,UACP,eAAgB,OAChB,QAAS,cACT,WAAY,SACZ,QAAS,MACT,QAAS,MACT,OAAQ,SACV,EACA,gBAAiB,CACf,QAAS,GACX,CACF,EAEA,MAAqB,CAAC,EAEtB,QAAU,KAEV,MAAM,EAAS,CACb,MAAM,OAAO,EACb,IAAM,EAA0B,CAAC,EACjC,QAAY,EAAK,KAAQ,OAAO,QAAQ,KAAK,KAAK,EAAG,CACnD,GAAI,CAAC,GAAO,CAAC,GAAU,GAAM,SAC7B,EAAS,KACP,GAAE,CAAE,MAAO,EAAK,OAAQ,SAAU,KAAM,CAAI,EAAG,GAAU,GAAK,CAAC,CACjE,EAEF,KAAK,gBAAgB,GAAG,CAAQ,EAEpC,CAEO,IAAM,GACX,GAAgB,eAAe,ECrI1B,SAAS,EAAY,EAAG,CAK7B,OAJ4B,UACzB,YAAY,EACZ,OAAO,CAAC,IAAM,IAAM,IAAI,EAEX,IAAI,CAAC,IAAM,CACzB,IAAQ,KAAI,OAAM,WAAY,EAC9B,MAAO,CACL,KACA,OACA,QAAS,EACN,IAAI,CAAC,EAAQ,IAAU,CACtB,IAAQ,UAAS,SAAU,EAC3B,MAAO,CACL,QACA,UACA,OACF,EACD,EACA,OAAO,CAAC,IAAM,EAAE,SAAW,EAAE,QAAU,CAAC,EACxC,OAAO,CAAC,EAAgC,IAAW,CAElD,OADA,EAAI,EAAO,OAAS,EAAO,MACpB,GACN,CAAC,CAAC,CACT,EACD,EAGI,SAAS,EAAW,EAAG,CAC5B,IAAM,EAAQ,GAAa,EAC3B,OAAO,EAAM,SAAW,EACpB,qBACA,EACG,IAAI,EAAG,KAAI,OAAM,aAAc,CAC9B,IAAM,EAAW,EAAK,IAAI,CAAC,IAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,EACjD,EAAa,OAAO,KAAK,CAAO,EACnC,IAAI,CAAC,IAAQ,IAAI,MAAQ,EAAQ,OAAO,CAAG,GAAG,QAAQ,CAAC,IAAI,EAC3D,KAAK,GAAG,EACX,MAAO,GAAG;AAAA,EAAO;AAAA,EAAa,IAC/B,EACA,KAAK;AAAA,CAAI,EAwBX,SAAS,EAAa,CAAC,EAAe,CAC3C,IAAM,EAAc,CAAC,EA+BrB,OA9BA,EAAS,MAAM,4BAA4B,IAAI,CAAC,IAAoB,CAClE,EAAW,iCAAiC,IAAI,CAAC,IAAY,CAC3D,IAAM,EAAQ,CAAC,EACM,EAAG,gBAAgB,EAC3B,QAAQ,CAAC,IAAgB,CACpC,IAAM,EAAY,EAAG,aAAa,CAAW,EAc7C,GAbA,EAAM,GAAe,CACnB,QAAS,EAAU,QACnB,QAAS,EAAU,QACnB,MAAO,EAAU,MACjB,KAAM,CAAE,EAAG,EAAU,KAAK,EAAG,EAAG,EAAU,KAAK,CAAE,CACnD,EACA,EAAU,+BAA+B,IACvC,CAAC,IAA6D,CAC5D,EAAM,GAAa,QAAU,EAAE,QAC/B,EAAM,GAAa,QAAU,EAAE,QAC/B,EAAM,GAAa,MAAQ,EAAE,MAEjC,EACI,EAAU,6BACZ,EAAU,6BAA6B,IACrC,CAAC,IAAmC,CAClC,EAAM,GAAa,KAAO,CAAE,EAAG,EAAK,EAAG,EAAG,EAAK,CAAE,EAErD,EAEH,EACD,EAAY,EAAG,YAAc,EAC9B,EACF,EACM,EAGF,SAAS,EAAiB,CAAC,EAAmC,CACnE,GAAI,IAAgB,QAAa,OAAO,KAAK,CAAW,EAAE,SAAW,EACnE,MAAO,eAGT,OAAO,OAAO,KAAK,CAAW,EAC3B,IAAI,CAAC,IAAiB,CACrB,IAAM,EAAQ,EAAY,GACpB,EAAkB,CAAC,EACzB,QAAY,EAAI,KAAS,OAAO,QAAQ,CAAK,EAAG,CAC9C,IAAM,EAAkB,CAAC,EACzB,GAAI,EAAK,QAAS,EAAM,KAAK,GAAG,EAChC,GAAI,EAAK,QAAS,EAAM,KAAK,GAAG,EAChC,IAAM,EAAW,EAAK,MAAQ,EACxB,EAAU,EAAK,KAAK,IAAM,GAAK,EAAK,KAAK,IAAM,EACrD,GAAI,EAAM,OAAS,GAAK,GAAY,EAAS,CAC3C,IAAI,EAAO,GAAG,KAAM,EAAM,KAAK,EAAE,KACjC,GAAI,EAAU,GAAQ,MAAM,EAAK,MAAM,QAAQ,CAAC,IAChD,GAAI,EACF,GAAQ,MAAM,EAAK,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAK,KAAK,EAAE,QAAQ,CAAC,IACjE,EAAM,KAAK,CAAI,GAGnB,MAAO,GAAG;AAAA,EAAiB,EAAM,KAAK;AAAA,CAAI,GAAK,WAChD,EACA,KAAK;AAAA,CAAI,EC5Hd,IAAQ,SAAS,EAMV,MAAM,WAAgB,CAAU,OAC9B,kBAAmB,iBAEnB,gBAAiB,CACtB,IAAK,GACL,KAAM,GACN,MAAO,GACP,QAAS,EACX,EAEA,QAAU,CAAC,GAAK,CAAC,QAEV,iBAAkB,CACvB,QAAS,CACP,QAAS,OACT,cAAe,MACf,IAAK,EAAW,WAAW,GAAG,EAC9B,WAAY,EAAW,aAAa,SAAS,EAC7C,eAAgB,EAAW,eAAe,YAAY,CACxD,CACF,EAEA,MAAM,EAAS,CAEb,GADA,MAAM,OAAO,EACT,KAAK,IACP,KAAK,MAAM,YAAY,iBAAkB,KAAK,GAAG,EAEjD,UAAK,MAAM,eAAe,gBAAgB,EAE5C,GAAI,KAAK,MACP,KAAK,MAAM,YAAY,mBAAoB,KAAK,KAAK,EAErD,UAAK,MAAM,eAAe,kBAAkB,EAE9C,GAAI,KAAK,QACP,KAAK,MAAM,YAAY,qBAAsB,KAAK,OAAO,EAEzD,UAAK,MAAM,eAAe,oBAAoB,EAEhD,KAAK,MAAM,SAAW,KAAK,KAAO,OAAS,GAE/C,CAEO,IAAM,GAAU,GAAQ,eAAe,EAMvC,MAAM,WAAmB,CAAU,OACjC,kBAAmB,oBAEnB,gBAAiB,CACtB,IAAK,GACL,KAAM,GACN,MAAO,GACP,QAAS,EACX,EAEA,QAAU,CAAC,GAAK,CAAC,QAEV,iBAAkB,CACvB,QAAS,CACP,QAAS,OACT,cAAe,SACf,IAAK,EAAW,cAAc,GAAG,EACjC,WAAY,EAAW,gBAAgB,SAAS,EAChD,eAAgB,EAAW,kBAAkB,YAAY,CAC3D,CACF,EAEA,MAAM,EAAS,CAEb,GADA,MAAM,OAAO,EACT,KAAK,IACP,KAAK,MAAM,YAAY,oBAAqB,KAAK,GAAG,EAEpD,UAAK,MAAM,eAAe,mBAAmB,EAE/C,GAAI,KAAK,MACP,KAAK,MAAM,YAAY,sBAAuB,KAAK,KAAK,EAExD,UAAK,MAAM,eAAe,qBAAqB,EAEjD,GAAI,KAAK,QACP,KAAK,MAAM,YAAY,wBAAyB,KAAK,OAAO,EAE5D,UAAK,MAAM,eAAe,uBAAuB,EAEnD,KAAK,MAAM,SAAW,KAAK,KAAO,OAAS,GAE/C,CAEO,IAAM,GACX,GAAW,eAAe,EAMrB,MAAM,WAAiB,CAAU,OAC/B,kBAAmB,kBAEnB,gBAAiB,CACtB,QAAS,GACT,KAAM,GACN,IAAK,EACP,EAEA,QAAU,CAAC,GAAK,CAAC,QAEV,iBAAkB,CACvB,QAAS,CACP,QAAS,OACT,oBAAqB,EAAW,gBAAgB,KAAK,EACrD,iBAAkB,EAAW,aAAa,MAAM,EAChD,IAAK,EAAW,YAAY,GAAG,CACjC,CACF,EAEA,MAAM,EAAS,CAEb,GADA,MAAM,OAAO,EACT,KAAK,QACP,KAAK,MAAM,YAAY,sBAAuB,KAAK,OAAO,EAE1D,UAAK,MAAM,eAAe,qBAAqB,EAEjD,GAAI,KAAK,KACP,KAAK,MAAM,YAAY,mBAAoB,KAAK,IAAI,EAEpD,UAAK,MAAM,eAAe,kBAAkB,EAE9C,GAAI,KAAK,IACP,KAAK,MAAM,YAAY,kBAAmB,KAAK,GAAG,EAElD,UAAK,MAAM,eAAe,iBAAiB,EAGjD,CAEO,IAAM,GAAW,GAAS,eAAe,GAMxC,SAAS,EAEJ,GAAU,IAAI,IACzB,GAAK,CAAE,MAAO,CAAE,KAAM,8BAA+B,CAAE,EAAG,GAAG,CAAK,EAEvD,GAAS,IAAI,IACxB,GAAK,CAAE,MAAO,CAAE,KAAM,8BAA+B,CAAE,EAAG,GAAG,CAAK,ECrE7D,IAAM,GAA6B,CACxC,OAAQ,EAAM,QAAQ,SAAS,EAC/B,WAAY,EAAM,QAAQ,SAAS,EACnC,KAAM,EAAM,QAAQ,SAAS,CAC/B,EAMa,GAA8B,CAEzC,eAAgB,MAChB,eAAgB,MAChB,aAAc,OACd,eAAgB,OAChB,eAAgB,OAGhB,gBAAiB,uCACjB,cAAe,OACf,gBAAiB,MACjB,oBAAqB,0BACrB,kBAAmB,OAGnB,eAAgB,OAChB,kBAAmB,MACnB,oBAAqB,MACrB,gBAAiB,gBACnB,EASO,SAAS,EAAoB,CAAC,EAAmC,CACtE,IAAQ,SAAQ,aAAY,QAAS,EAG/B,EAAa,EAAO,YAAc,EAAO,YAAY,EACrD,EAAkB,EAAO,iBAAmB,EAAW,OAAO,IAAI,EAClE,EAAS,EAAO,QAAU,EAAK,QAAQ,IAAI,EAC3C,EAAS,EAAO,QAAU,EAAK,QAAQ,GAAG,EAC1C,EAAQ,EAAO,OAAS,EAAO,QAAQ,GAAG,EAEhD,MAAO,CAEL,YAAa,EACb,iBAAkB,EAAO,SAAS,IAAI,EACtC,gBAAiB,EAAO,OAAO,IAAI,EACnC,gBAAiB,EAGjB,QAAS,EACT,aAAc,EACd,aAAc,EAAW,OAAO,IAAI,EACpC,cAAe,EAAW,OAAO,GAAG,EAGpC,UAAW,EACX,eAAgB,EAAK,QAAQ,GAAG,EAChC,kBAAmB,EAAK,QAAQ,GAAG,EAGnC,YAAa,EACb,iBAAkB,EAClB,YAAa,EACb,iBAAkB,EAGlB,eAAgB,aAAa,IAG7B,aAAc,EACd,iBAAkB,EAClB,sBAAuB,EAGvB,cAAe,EACf,gBAAiB,EACjB,kBAAmB,EACnB,mBAAoB,EAAW,OAAO,IAAI,EAC1C,oBAAqB,EACrB,sBAAuB,CACzB,EAMK,SAAS,EAAW,CAAC,EAAoC,CAC9D,MAAO,CACL,QAAS,IACJ,MACA,GAAqB,CAAM,CAChC,CACF,EAMK,SAAS,EAAe,CAAC,EAAoC,CAElE,IAAM,EADa,GAAY,CAAM,EACP,SAE9B,MAAO,CACL,QAAS,GAAgB,CAAU,CACrC,EAQK,SAAS,EAAU,CAAC,EAAsB,EAAK,aAAoB,CACxE,GAAW,EAAI,CAAK,EAOf,IAAM,GAAY,GAAY,EAAa,EACrC,GAAgB,GAAgB,EAAa,EAU7C,GAA8B,CAEzC,kBAAmB,EAAK,aACxB,kBAAmB,EAAK,aACxB,oBAAqB,EAAK,eAG1B,uBAAwB,EAAK,iBAC7B,wBAAyB,EAAK,kBAC9B,4BAA6B,EAAK,sBAGlC,YAAa,EAAK,YAClB,QAAS,EAAK,cACd,eAAgB,EAAK,cACrB,eAAgB,EAAK,OACrB,eAAgB,EAAK,SACrB,gBAAiB,EAAK,WACtB,qBAAsB,EAAK,cAC7B,EAKO,SAAS,EAAqB,CAAC,EAAoC,CAExE,MAAO,CACL,QAAS,IAFG,GAAY,CAAM,EAGlB,YACP,EACL,CACF,EAkBK,SAAS,EAA+C,CAC7D,EACA,EAC4B,CAC5B,IAAM,EAAS,CAAC,EAChB,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAQ,EAAG,CACnD,IAAM,EAAU,UAAU,KAAiB,EACxC,QAAQ,WAAY,KAAK,EACzB,YAAY,IACf,EAAO,GAAkB,OAAO,MAAY,KAE9C,OAAO,EC/RT,IAAQ,OAAK,SAAO,SAAO,QAAM,WAAW,GAM7B,aAAc,EAAK,CAChC,UAAW,CACT,OAAQ,OAAO,GAAc,MAAM,EACnC,WAAY,OAAO,GAAc,UAAU,EAC3C,KAAM,OAAO,GAAc,IAAI,EAC/B,KAAM,EACR,CACF,CAAC,EAEG,GAAkB,GAEtB,SAAS,EAAc,EAAS,CAC9B,GAAI,CAAC,GAAiB,OAEtB,IAAM,EAAsB,CAC1B,OAAQ,EAAM,QAAQ,EAAU,OAAO,KAAK,EAC5C,WAAY,EAAM,QAAQ,EAAU,WAAW,KAAK,EACpD,KAAM,EAAM,QAAQ,EAAU,KAAK,KAAK,CAC1C,EAEM,EAAQ,EAAU,KAAK,MACzB,GAAgB,CAAM,EACtB,GAAY,CAAM,EAEtB,GAAW,EAAO,iBAAiB,EAO9B,SAAS,EAAe,EAAS,CACtC,GAAI,GAAiB,OACrB,GAAkB,GAElB,EAAU,OAAO,QAAQ,EAAc,EACvC,EAAU,WAAW,QAAQ,EAAc,EAC3C,EAAU,KAAK,QAAQ,EAAc,EACrC,EAAU,KAAK,QAAQ,EAAc,EAErC,GAAe,EAMV,SAAS,EAAgB,EAAS,CACvC,GAAkB,GAgBb,MAAM,WAAwB,CAA4B,OACxD,kBAAmB,0BAInB,iBAAkB,CACvB,QAAS,CACP,QAAS,QACT,WAAY,uCACZ,SAAU,OACV,WAAY,MACZ,WAAY,UACZ,MAAO,UACP,QAAS,OACT,aAAc,MACd,UAAW,gCACX,SAAU,OACZ,EACA,eAAgB,CACd,QAAS,OACT,WAAY,SACZ,IAAK,MACL,aAAc,KAChB,EACA,cAAe,CACb,KAAM,IACN,WAAY,KACd,EACA,4BAA6B,CAC3B,MAAO,OACP,OAAQ,OACR,OAAQ,iBACR,aAAc,MACd,OAAQ,UACR,QAAS,KACX,EACA,+BAAgC,CAC9B,MAAO,OACP,OAAQ,OACR,OAAQ,SACV,EACA,iBAAkB,CAChB,UAAW,OACX,QAAS,OACT,aAAc,MACd,WAAY,oBACd,EACA,wBAAyB,CACvB,OAAQ,OACR,QAAS,WACT,aAAc,MACd,OAAQ,UACR,WAAY,UACZ,SAAU,MACZ,EACA,iBAAkB,CAChB,UAAW,MACX,QAAS,OACT,IAAK,KACP,EACA,wBAAyB,CACvB,KAAM,IACN,QAAS,WACT,OAAQ,iBACR,aAAc,MACd,WAAY,UACZ,MAAO,OACP,OAAQ,UACR,WAAY,UACZ,SAAU,MACZ,EACA,8BAA+B,CAC7B,WAAY,SACd,CACF,EAEA,QAAU,IAAM,CACd,GACE,CAAE,MAAO,OAAQ,EACjB,GAAM,QAAQ,EACd,GAAM,CAAE,KAAM,QAAS,KAAM,QAAS,CAAC,CACzC,EACA,GACE,CAAE,MAAO,OAAQ,EACjB,GAAM,YAAY,EAClB,GAAM,CAAE,KAAM,QAAS,KAAM,YAAa,CAAC,CAC7C,EACA,GACE,CAAE,MAAO,OAAQ,EACjB,GAAM,MAAM,EACZ,GAAM,CAAE,KAAM,QAAS,KAAM,MAAO,CAAC,CACvC,EACA,GACE,CAAE,MAAO,OAAQ,EACjB,GAAM,WAAW,EACjB,GAAM,CAAE,KAAM,WAAY,KAAM,MAAO,CAAC,CAC1C,EACA,GACE,CACE,MAAO,UACP,KAAM,UACN,MAAO,CACL,WAAY,0BACZ,MAAO,wBACT,CACF,EACA,GAAK,UAAU,EACf,GACE,CACE,MAAO,iBACP,MAAO,CACL,WAAY,8BACZ,MAAO,gCACT,CACF,EACA,QACF,CACF,EACA,GACE,CAAE,MAAO,SAAU,EACnB,GAAO,CAAE,KAAM,OAAQ,EAAG,OAAO,CACnC,CACF,EAEA,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,GAAgB,EAGhB,IAAM,EAAgB,IAAM,CAC1B,KAAK,MAAM,OAAO,MAAQ,EAAU,OAAO,MAC3C,KAAK,MAAM,WAAW,MAAQ,EAAU,WAAW,MACnD,KAAK,MAAM,KAAK,MAAQ,EAAU,KAAK,MACvC,KAAK,MAAM,KAAK,QAAU,EAAU,KAAK,OAE3C,EAAc,EAGd,EAAU,OAAO,QAAQ,CAAa,EACtC,EAAU,WAAW,QAAQ,CAAa,EAC1C,EAAU,KAAK,QAAQ,CAAa,EACpC,EAAU,KAAK,QAAQ,CAAa,EAGpC,KAAK,MAAM,OAAO,iBAAiB,QAAS,IAAM,CAChD,EAAU,OAAO,MAAQ,KAAK,MAAM,OAAO,MAC5C,EACD,KAAK,MAAM,WAAW,iBAAiB,QAAS,IAAM,CACpD,EAAU,WAAW,MAAQ,KAAK,MAAM,WAAW,MACpD,EACD,KAAK,MAAM,KAAK,iBAAiB,QAAS,IAAM,CAC9C,EAAU,KAAK,MAAQ,KAAK,MAAM,KAAK,MACxC,EACD,KAAK,MAAM,KAAK,iBAAiB,SAAU,IAAM,CAC/C,EAAU,KAAK,MAAQ,KAAK,MAAM,KAAK,QACxC,EAGD,KAAK,MAAM,MAAM,iBAAiB,QAAS,IAAM,CAC/C,EAAU,OAAO,MAAQ,OAAO,GAAc,MAAM,EACpD,EAAU,WAAW,MAAQ,OAAO,GAAc,UAAU,EAC5D,EAAU,KAAK,MAAQ,OAAO,GAAc,IAAI,EAChD,EAAU,KAAK,MAAQ,GACxB,EAEL,CAEO,IAAM,GACX,GAAgB,eAAe,ECxJjC,IAAQ,QAAQ,EAET,MAAM,WAAe,CAAa,OAChC,kBAAmB,iBACnB,gBAAiB,SAEjB,gBAAiB,CACtB,OAAQ,yCACR,MAAO,GACP,SAAU,qCACV,KAAM,EACR,EAGA,MAAQ,GAGR,oBAAoB,CAAC,EAAmB,EAIxC,iBAAiB,EAAG,CAClB,KAAK,MAAQ,GACb,KAAK,OAAS,yCAGhB,QAAU,GAAI,CAAE,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,CAAE,CAAC,KACtD,IAAG,EAAQ,CACb,OAAO,KAAK,WAGP,0BACA,iBAEC,WAED,iBAAkB,CACvB,QAAS,CACP,QAAS,eACT,SAAU,WACV,MAAO,QACP,OAAQ,QACR,UAAW,MACb,CACF,EAEA,WAAW,EAAG,CACZ,MAAM,EACN,GAAI,GAAO,qBAAuB,OAChC,GAAO,mBAAqB,GAC1B,2DACF,EAAE,MAAM,CAAC,IAAM,CACb,QAAQ,MAAM,+BAAgC,CAAC,EAChD,EACD,GAAO,gBAAkB,GACvB,0DACF,EAAE,MAAM,CAAC,IAAM,CACb,QAAQ,MAAM,8BAA+B,CAAC,EAC/C,EAIL,iBAAiB,EAAS,CAExB,GADA,MAAM,kBAAkB,EACpB,CAAC,KAAK,MACR,QAAQ,MACN,+EACF,EAII,YAAc,GACd,WAAa,GAErB,MAAM,EAAS,CAGb,GAFA,MAAM,OAAO,EAET,CAAC,KAAK,MACR,OAIF,GAAI,KAAK,KAAM,CACb,GAAI,KAAK,SAAW,KAAK,YAAa,CACpC,IAAO,EAAM,EAAK,GAAQ,KAAK,OAC5B,MAAM,GAAG,EACT,IAAI,CAAC,IAAc,OAAO,CAAC,CAAC,EAC/B,KAAK,KAAK,UAAU,CAAC,EAAK,CAAI,CAAC,EAC/B,KAAK,KAAK,QAAQ,CAAI,EACtB,KAAK,YAAc,KAAK,OAE1B,GAAI,KAAK,WAAa,KAAK,WACzB,KAAK,KAAK,SAAS,KAAK,QAAQ,EAChC,KAAK,WAAa,KAAK,SAEzB,OAGF,IAAQ,OAAQ,KAAK,OAEd,EAAM,EAAK,GAAQ,KAAK,OAC5B,MAAM,GAAG,EACT,IAAI,CAAC,IAAc,OAAO,CAAC,CAAC,EAE/B,KAAK,YAAc,KAAK,OACxB,KAAK,WAAa,KAAK,SAEvB,GAAO,gBAAiB,KAAK,EAAG,cAAkC,CAChE,QAAQ,IACN,0DACA,mDACF,EACA,EAAS,YAAc,KAAK,MAC5B,KAAK,KAAO,IAAI,EAAS,IAAI,CAC3B,UAAW,EACX,MAAO,KAAK,SACZ,OACA,OAAQ,CAAC,EAAK,CAAI,CACpB,CAAC,EAED,KAAK,KAAK,GAAG,SAAU,IAAM,KAAK,KAAK,OAAO,CAAC,EAG/C,KAAK,KAAK,GAAG,UAAW,IAAM,CAC5B,IAAM,EAAS,KAAK,KAAK,UAAU,EAC7B,EAAc,KAAK,KAAK,QAAQ,EAChC,EAAW,GAAG,EAAO,IAAI,QAAQ,CAAC,KAAK,EAAO,IAAI,QACtD,CACF,KAAK,EAAY,QAAQ,CAAC,IAC1B,GAAI,IAAa,KAAK,OAEpB,GAAI,KAAK,UACP,KAAK,UAAU,aAAa,CAAQ,GAGzC,EACF,EAEL,CAEO,IAAM,GAAS,GAAO,eAAe,ECrL5C,SAAS,EAAQ,CAAC,EAAkB,EAAsB,CACxD,GAAI,GAAU,KACZ,EAAS,GACJ,QAAI,OAAO,IAAW,SAC3B,EAAS,OAAO,CAAM,EAExB,OAAO,EAAO,QACZ,mBACA,CAAC,EAAkB,IAAiB,CAClC,IAAM,EAAS,EACb,GAAG,IAAW,EAAK,WAAW,GAAG,EAAI,EAAO,IAAM,KAEpD,OAAO,IAAU,OAAY,EAAW,GAAS,EAAU,OAAO,CAAK,CAAC,EAE5E,EAGK,MAAM,WAAe,CAAU,OAC7B,kBAAmB,gBAEnB,gBAAiB,CACtB,IAAK,GACL,SAAU,EACZ,EAEA,QAAkC,CAAC,EACnC,MAAQ,GACR,QAAU,KACV,QAAU,CAAC,EACX,iBAAiB,EAAS,CAExB,GADA,MAAM,kBAAkB,EACpB,KAAK,MAAQ,IACb,SAAY,CACZ,IAAM,EAAU,MAAM,MAAM,KAAK,GAAG,EACpC,KAAK,MAAQ,MAAM,EAAQ,KAAK,IAC/B,EACE,QAAI,KAAK,QAAU,GACxB,GAAI,KAAK,SACP,KAAK,MAAQ,KAAK,UAElB,UAAK,MAAQ,KAAK,aAAe,KAAO,KAAK,YAAc,GAIjE,UAAkD,IAAY,GAG9D,MAAM,EAAG,CACP,MAAM,OAAO,EAEb,EAAI,KAAK,YACP,OAAO,KAAK,UAAY,SAAW,KAAK,MAAM,KAAK,OAAO,EAAI,KAAK,QAErE,IAAM,EAAS,GAAS,KAAK,WAAY,KAAK,KAAK,EACnD,GAAI,KAAK,SAAU,CACjB,IAAM,EAAS,EACZ,MAAM;AAAA,CAAI,EACV,OAAO,CAAC,EAAkB,IAAiB,CAC1C,GAAI,EAAK,WAAW,GAAG,GAAK,EAAO,SAAW,EAC5C,EAAO,KAAK,CAAI,EACX,KACL,IAAM,EAAY,EAAO,EAAO,OAAS,GACzC,GAAI,CAAC,EAAU,WAAW,GAAG,GAAK,CAAC,EAAU,SAAS,GAAG,EACvD,EAAO,EAAO,OAAS,IAAM;AAAA,EAAO,EAEpC,OAAO,KAAK,CAAI,EAGpB,OAAO,GACN,CAAC,CAAa,EACnB,KAAK,UAAY,EACd,IAAI,CAAC,IACJ,EAAM,WAAW,GAAG,GAAK,EAAM,SAAS,GAAG,EACvC,EACA,EAAO,EAAO,KAAK,OAAO,CAChC,EACC,KAAK,EAAE,EAEV,UAAK,UAAY,EAAO,EAAQ,KAAK,OAAO,EAE9C,KAAK,UAAU,EAEnB,CAKO,IAAM,GAAgC,GAEhC,GAAS,GAAO,eAAe,EAG/B,GAAiB,GAGjB,GAAQ,GCxCrB,IAAQ,OAAK,QAAM,WAAW,EAExB,GAAS,SACT,GAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAC3B,GAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAE,EAG/C,GAAU,CAAC,EAAwB,EAAS,EAAG,EAAU,MAC7D,OAAO,CAAK,EAAE,SAAS,EAAQ,CAAO,EAClC,GAAc,CAAC,EAAc,EAAe,IAChD,IAAI,KAAK,GAAG,KAAQ,GAAQ,CAAK,KAAK,GAAQ,CAAI,GAAG,EAUhD,MAAM,WAAkB,CAAsB,OAC5C,kBAAmB,mBAEnB,gBAAiB,CACtB,QAAS,CACP,QAAS,OACX,EACA,sBAAuB,CACrB,QAAS,OACT,WAAY,UACZ,eAAgB,SAClB,EACA,kBAAmB,CACjB,cAAe,OACf,QAAS,EAAW,gBAAgB,GAAG,CACzC,EACA,4CAA6C,CAC3C,YAAa,MACb,KAAM,GACR,EACA,uCAAwC,CACtC,QAAS,OACT,oBAAqB,qCACrB,aAAc,SAChB,EACA,eAAgB,CACd,WAAY,EAAW,qBAAqB,aAAa,EACzD,UAAW,EAAW,iBAAiB,MAAM,EAC7C,eAAgB,EAAW,yBAAyB,iBAAiB,EACrE,WAAY,EAAW,qBAAqB,KAAK,CACnD,EACA,0BAA2B,CACzB,QAAS,EACT,QAAS,OACT,eAAgB,SAChB,WAAY,MACd,EACA,aAAc,CACZ,MAAO,EAAW,cAAc,SAAS,EACzC,WAAY,EAAW,mBAAmB,OAAO,EACjD,WAAY,EAAW,mBAAmB,KAAK,CACjD,EACA,cAAe,CACb,OAAQ,SACV,EACA,iBAAkB,CAChB,WAAY,EAAW,uBAAuB,MAAM,CACtD,EACA,6BAA8B,CAC5B,QAAS,GACX,EACA,sBAAuB,CACrB,MAAO,EAAW,sBAAsB,OAAO,EAC/C,WAAY,EAAW,2BAA2B,SAAS,CAC7D,EACA,mCAAoC,CAClC,aAAc,EAAW,6BAA6B,MAAM,CAC9D,EACA,qBAAsB,CACpB,oBAAqB,EAAW,6BAA6B,MAAM,EACnE,uBAAwB,EAAW,6BAA6B,MAAM,CACxE,EACA,mBAAoB,CAClB,qBAAsB,EAAW,6BAA6B,MAAM,EACpE,wBAAyB,EAAW,6BAA6B,MAAM,CACzE,CACF,QAEO,gBAAiB,SAEjB,gBAAiB,CACtB,MAAO,IACP,KAAM,IACN,UAAW,EACX,QAAS,GAAY,IAAI,KAAK,EAAE,YAAY,EAAI,IAAK,EAAG,CAAC,EACtD,YAAY,EACZ,MAAM,GAAG,EAAE,GACd,QAAS,GAAY,IAAI,KAAK,EAAE,YAAY,EAAI,GAAI,GAAI,EAAE,EACvD,YAAY,EACZ,MAAM,GAAG,EAAE,GACd,WAAY,GACZ,SAAU,GACV,MAAO,GACP,SAAU,GACV,SAAU,GACV,SAAU,GACV,KAAM,EACR,EAEA,aAAe,CAAC,EAChB,MAAQ,GAER,oBAAoB,CAAC,EAAmB,CACtC,KAAK,SAAW,EAGlB,iBAAiB,EAAG,CAClB,KAAK,MAAQ,GACb,KAAK,aAAe,CAAC,KAGnB,OAAM,EAAW,CACnB,MAAO,GAAI,KAAK,aAEd,OAAM,EAAyC,CACjD,OAAO,GAAO,IAAI,CAAC,KAAW,CAC5B,QAAS,GAAY,KAAM,EAAO,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,GAC3D,MAAO,OAAO,CAAK,CACrB,EAAE,KAEA,MAAK,EAAa,CACpB,IAAM,EAAY,OAAO,KAAK,QAAQ,MAAM,GAAG,EAAE,EAAE,EAC7C,EAAU,OAAO,KAAK,QAAQ,MAAM,GAAG,EAAE,EAAE,EAC3C,EAAQ,CAAC,EACf,QAAS,EAAO,EAAW,GAAQ,EAAS,IAC1C,EAAM,KAAK,OAAO,CAAI,CAAC,EAEzB,OAAO,EAGT,aAAe,CAAC,EAAe,IAAmB,GAIlD,SAAS,CAAC,EAAc,EAAe,CACrC,GAAI,KAAK,QAAU,GAAS,KAAK,OAAS,EACxC,KAAK,MAAQ,EACb,KAAK,KAAO,EACZ,KAAK,aAAa,EAAM,CAAK,EAIjC,SAAW,IAAM,CACf,KAAK,UACH,OAAO,KAAK,MAAM,KAAK,KAAK,EAC5B,OAAO,KAAK,MAAM,MAAM,KAAK,CAC/B,MAGE,GAAE,EAAW,CACf,OAAO,KAAK,aAAa,IAAM,MAG7B,GAAE,CAAC,EAAoB,CACzB,KAAK,aAAa,GAAK,EACvB,KAAK,aAAa,OAAO,CAAC,KAGxB,KAAI,EAAW,CACjB,OAAO,KAAK,aAAa,IAAM,MAG7B,KAAI,CAAC,EAAoB,CAC3B,KAAK,aAAa,GAAK,EACvB,KAAK,aAAa,OAAO,CAAC,EAG5B,UAAY,CAAC,IAAiB,CAC5B,IAAM,EAAc,EAAM,OAAuB,aAC/C,OACF,EACA,KAAK,WAAW,CAAU,GAG5B,QAAU,CAAC,IAAyB,CAClC,IAAI,EAAY,GAChB,OAAQ,EAAM,UACP,QAAS,CACZ,IAAM,EAAc,EAAM,OAAuB,aAC/C,OACF,EACA,KAAK,WAAW,CAAU,EAC1B,EAAY,GACZ,KACF,KACK,MACH,cAEA,QAAQ,IAAI,CAAK,EAErB,GAAI,EACF,EAAM,eAAe,EACrB,EAAM,gBAAgB,GAI1B,GAAa,GACb,WAAa,CAAC,IAAuB,CAEnC,GADA,KAAK,GAAa,EACd,KAAK,MAAO,CACd,GAAI,CAAC,KAAK,GACR,KAAK,aAAe,CAAC,EAAY,CAAU,EACtC,QAAI,KAAK,OAAS,GAAc,KAAK,KAAO,EACjD,KAAK,aAAe,CAAC,EAChB,QAAI,KAAK,OAAS,EACvB,KAAK,KAAO,KAAK,GACZ,QAAI,KAAK,KAAO,EACrB,KAAK,GAAK,KAAK,KACV,QAAI,EAAa,KAAK,KAC3B,KAAK,KAAO,EACP,QAAI,EAAa,KAAK,GAC3B,KAAK,GAAK,EAEV,UAAK,GAAK,EAEZ,KAAK,MAAQ,GAAG,KAAK,QAAQ,KAAK,KAC7B,QAAI,KAAK,SAAU,CACxB,GAAI,KAAK,aAAa,SAAS,CAAU,EACvC,KAAK,aAAa,OAAO,KAAK,aAAa,QAAQ,CAAU,EAAG,CAAC,EAEjE,UAAK,aAAa,KAAK,CAAU,EACjC,KAAK,aAAa,KAAK,EAEzB,KAAK,MAAQ,KAAK,aAAa,KAAK,GAAG,EAClC,QAAI,KAAK,WACd,GAAI,KAAK,aAAa,SAAS,CAAU,EACvC,KAAK,MAAQ,GACb,KAAK,aAAe,CAAC,EAErB,UAAK,MAAQ,EACb,KAAK,aAAe,CAAC,CAAU,GAKrC,UAAY,IAAM,CAChB,GAAI,KAAK,MAAQ,GACf,KAAK,UAAU,KAAK,KAAM,KAAK,MAAQ,CAAC,EAExC,UAAK,UAAU,KAAK,KAAO,EAAG,CAAC,GAInC,cAAgB,IAAM,CACpB,GAAI,KAAK,MAAQ,EACf,KAAK,UAAU,KAAK,KAAM,KAAK,MAAQ,CAAC,EAExC,UAAK,UAAU,KAAK,KAAO,EAAG,EAAE,GAIpC,SAAW,CAAC,IAAuB,CACjC,GAAI,CAAC,KAAK,MACR,OAAO,KAAK,aAAa,SAAS,CAAU,EACvC,QAAI,KAAK,MACd,OAAO,KAAK,MAAQ,GAAc,KAAK,MAAQ,GAAc,KAAK,GAEpE,MAAO,IAGT,aAAe,CAAC,EAAoB,EAAU,KAAiB,CAE7D,OADA,EAAa,EAAW,MAAM,GAAG,EAAE,GAC5B,CACL,QAAS,GAAW,EACpB,QAAS,IACP,CAAC,EAAW,WAAW,GAAG,KAAK,QAAQ,GAAQ,KAAK,KAAK,IAAI,EAC/D,OAAQ,IAAM,CACZ,KAAK,SAAS,CAAU,EAE5B,GAGF,SAAW,IAAM,CACf,EAAQ,CACN,OAAQ,KAAK,MAAM,KACnB,UAAW,CACT,KAAK,aAAa,IAAI,KAAK,EAAE,YAAY,EAAG,YAAY,EACxD,GAAI,KAAK,aAAa,SAAW,EAAI,CAAC,EAAI,CAAC,IAAI,EAC/C,GAAG,KAAK,aAAa,IAAI,CAAC,IAAS,KAAK,aAAa,CAAI,CAAC,CAC5D,CACF,CAAC,GAGH,QAAU,IAAM,CACd,GACE,CAAE,KAAM,QAAS,EACjB,GACE,CACE,KAAM,WACN,QAAS,KAAK,aAChB,EACA,EAAM,YAAY,CACpB,EACA,GAAK,CAAE,MAAO,CAAE,KAAM,GAAI,CAAE,CAAC,EAC7B,GACE,CACE,KAAM,OACN,QAAS,KAAK,QAChB,EACA,EAAM,SAAS,CACjB,EACA,GAAW,CACT,KAAM,QACN,QAAS,KAAK,OACd,SAAU,KAAK,QACjB,CAAC,EACD,GAAW,CACT,KAAM,OACN,QAAS,CAAC,KAAK,IAAI,EACnB,SAAU,KAAK,QACjB,CAAC,EACD,GAAK,CAAE,MAAO,CAAE,KAAM,GAAI,CAAE,CAAC,EAC7B,GACE,CACE,KAAM,OACN,QAAS,KAAK,SAChB,EACA,EAAM,aAAa,CACrB,CACF,EACA,GAAI,CAAE,KAAM,MAAO,CAAC,EACpB,GAAI,CAAE,KAAM,MAAO,CAAC,CACtB,EAEA,QAAQ,CAAC,EAAoB,CAC3B,IAAM,EAAO,IAAI,KAAK,CAAU,EAChC,KAAK,UAAU,EAAK,YAAY,EAAG,EAAK,SAAS,EAAI,CAAC,EAGxD,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EACxB,IAAM,EAAO,IAAI,KAAK,KAAK,MAAM,MAAM,GAAG,EAAE,IAAI,GAAK,KAAK,IAAI,CAAC,EAC/D,GAAI,MAAM,KAAK,KAAK,EAClB,KAAK,MAAQ,EAAK,SAAS,EAAI,EAEjC,GAAI,MAAM,KAAK,IAAI,EACjB,KAAK,KAAO,EAAK,YAAY,EAGjC,KAAO,CAAC,EAQR,MAAM,EAAG,CACP,MAAM,OAAO,EAEb,IAAQ,OAAM,OAAM,OAAM,QAAO,OAAM,WAAU,QAAS,KAAK,MAC/D,KAAK,aAAe,KAAK,MAAQ,KAAK,MAAM,MAAM,GAAG,EAAI,CAAC,EAC1D,IAAM,EAAe,GAAY,KAAK,KAAM,KAAK,MAAO,CAAC,EACnD,EAAY,IAAI,KACpB,EAAa,QAAQ,GACjB,EAAI,EAAa,OAAO,EAAI,KAAK,WAAa,EAAK,EACzD,EACM,EAAY,KAAK,QAAU,GAAK,EAAI,KAAK,MAAQ,EACjD,EAAc,IAAI,KACtB,GACE,KAAK,MAAQ,KAAK,QAAU,GAAK,EAAI,GACrC,EACA,CACF,EAAE,QAAQ,EAAI,EAChB,EACM,EAAS,IAAI,KACjB,EAAY,QAAQ,GAChB,KAAK,UAAY,EAAI,EAAI,KAAK,OAAS,EAAY,OAAO,GAAK,EAC/D,EACN,EAEM,EAAW,GAAK,IACpB,CAAC,IACC,IAAI,KAAK,EAAU,QAAQ,EAAI,EAAM,EAAM,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,EACvE,EACA,KAAK,KAAO,CAAC,EACb,IAAM,EAAQ,IAAI,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,GAClD,QACM,EAAM,EAAU,QAAQ,EAC5B,GAAO,EAAO,QAAQ,EACtB,GAAO,GACP,CACA,IAAM,EAAO,IAAI,KAAK,CAAG,EACnB,EAAa,EAAK,YAAY,EAAE,MAAM,GAAG,EAAE,GACjD,KAAK,KAAK,KAAK,CACb,OACA,SAAU,GACV,QAAS,EAAK,SAAS,EAAI,IAAM,KAAK,MACtC,QAAS,IAAe,EACxB,UAAW,EAAK,OAAO,EAAI,IAAM,EACjC,QAAS,CAAC,EACR,KAAK,MACL,GAAc,KAAK,MACnB,GAAc,KAAK,GAEvB,CAAC,EAGH,EAAM,MAAQ,OAAO,KAAK,KAAK,EAC/B,EAAK,MAAQ,OAAO,KAAK,IAAI,EAC7B,EAAM,SACJ,EAAK,SACL,EAAK,SACL,EAAS,SACT,EAAK,SACH,KAAK,UAAY,KAAK,SAC1B,EAAK,QAAU,KAAK,MACpB,EAAK,YAAc,GACnB,EAAK,OAAO,GAAG,EAAS,IAAI,CAAC,IAAQ,GAAK,CAAE,MAAO,KAAM,EAAG,CAAG,CAAC,CAAC,EACjE,EAAK,YAAc,GACnB,IAAI,EAAmC,MAC/B,KAAI,QAAS,KACrB,EAAK,OACH,GAAG,KAAK,KAAK,IAAI,CAAC,IAAQ,CACxB,IAAM,EAAU,CAAC,MAAM,EACvB,GAAI,EAAI,QACN,EAAQ,KAAK,UAAU,EAEzB,GAAI,EAAI,QACN,EAAQ,KAAK,OAAO,EAEtB,IAAM,EAAa,EAAI,KAAK,YAAY,EAAE,MAAM,GAAG,EAAE,GACrD,GAAI,KAAK,SAAS,CAAU,EAC1B,EAAQ,KAAK,SAAS,EAGxB,GADA,EAAQ,KAAK,EAAI,UAAY,UAAY,SAAS,EAC9C,KAAK,MAAO,CACd,GAAI,IAAO,EACT,EAAQ,KAAK,WAAW,EAE1B,GAAI,IAAS,EACX,EAAQ,KAAK,aAAa,EAG9B,IAAM,EAAU,GACd,CACE,MAAO,EAAQ,KAAK,GAAG,EACvB,MAAO,EACP,QAAS,KAAK,UACd,UAAW,KAAK,QAChB,SAAU,GACZ,EACA,EAAI,KAAK,QAAQ,CACnB,EACA,GAAI,IAAe,KAAK,GACtB,EAAe,EAEjB,OAAO,EACR,CACH,EACE,GAAqC,MAAM,EAEjD,CAEO,IAAM,GAAY,GAAU,eAAe,ECvdlD,IAAQ,OAAK,WAAW,EAYlB,GAAY,CAChB,MAAO,MACP,KAAM,SACN,KAAM,YACN,IAAK,OACL,QAAS,QACT,SAAU,WACZ,EAIO,MAAM,WAAyB,CAAU,OACvC,kBAAmB,0BACX,iBAER,iBAAkB,CACvB,QAAS,CACP,qBAAsB,EACtB,mBAAoB,IACpB,qBAAsB,GAAG,EAAK,uBAAuB,EAAK,yBAAyB,EAAK,uBAAuB,EAAK,yBACpH,gBAAiB,UACjB,yBAA0B,OAC1B,uBAAwB,OACxB,sBAAuB,EAAK,uBAC5B,wBAAyB,GACzB,yBAA0B,UAC1B,0BAA2B,EAAK,sBAChC,SAAU,QACV,KAAM,EACN,MAAO,EACP,OAAQ,EACR,cAAe,EAAK,oBACpB,MAAO,EAAK,kBACZ,QAAS,OACT,cAAe,iBACf,OAAQ,SACR,IAAK,EAAK,oBACV,UAAW,OACX,SAAU,cACV,UAAW,kBACX,MAAO,EAAK,qBACd,EACA,cAAe,CACb,QAAS,OACT,WAAY,EAAK,eACjB,QAAS,EAAK,oBACd,oBAAqB,GAAG,EAAK,4BAA4B,EAAK,yBAC9D,IAAK,EAAK,oBACV,WAAY,SACZ,aAAc,EAAK,yBACnB,UAAW,oCAAoC,EAAK,0BACpD,YAAa,EAAK,wBAClB,YAAa,EAAK,wBAClB,YAAa,QACb,WAAY,eACZ,mBAAoB,kBACpB,OAAQ,CACV,EACA,qBAAsB,CACpB,QAAS,OACT,WAAY,EAAK,uBACjB,QAAS,EACT,OAAQ,EACR,OAAQ,EAAK,uBACb,MAAO,EAAK,uBACZ,WAAY,cACZ,WAAY,SACZ,eAAgB,SAChB,UAAW,OACX,OAAQ,OACR,SAAU,UACZ,EACA,+BAAgC,CAC9B,OAAQ,EAAK,uBACf,EACA,gCAAiC,CAC/B,aAAc,GACd,OAAQ,EAAK,eACb,WAAY,EAAK,wBACjB,QAAS,EAAK,SAChB,EACA,kBAAmB,CACjB,OAAQ,EAAK,qBACb,MAAO,EAAK,qBACZ,cAAe,OACf,MAAO,EAAK,uBACd,EACA,iBAAkB,CAChB,QAAS,OACT,cAAe,SACf,WAAY,SACZ,IAAK,EAAK,mBACZ,EACA,sBAAuB,CACrB,QAAS,EACT,OAAQ,CACV,CACF,QAEO,WAAU,CAAC,EAAyB,CACzC,EAAK,UAAU,IAAI,SAAS,EAC5B,EAAK,MAAM,aAAe,CAAC,EAAK,aAAe,KAC/C,IAAM,EAAS,IAAM,CACnB,EAAK,OAAO,GAEd,EAAK,iBAAiB,gBAAiB,CAAM,EAC7C,WAAW,EAAQ,IAAI,QAGlB,KAAI,CAAC,EAA2C,CACrD,IAAQ,UAAS,WAAU,OAAM,QAAO,WAAU,OAAM,SACtD,OAAO,OACL,CAAE,KAAM,OAAQ,SAAU,EAAG,EAC7B,OAAO,IAAS,SAAW,CAAE,QAAS,CAAK,EAAI,CACjD,EAEF,GAAI,CAAC,KAAK,UACR,KAAK,UAAY,GAAiB,EAGpC,IAAM,EAAY,KAAK,UAEvB,SAAS,KAAK,OAAO,CAAS,EAC9B,EAAU,MAAM,OAAS,OAAO,GAAa,EAAI,CAAC,EAElD,IAAM,EAA2B,GAAS,GAAU,GAC9C,EACJ,GAAY,IAAS,WAAa,EAAS,SAAS,EAAI,CAAC,EACrD,EAAgB,IAAM,CAC1B,GAAI,EACF,EAAM,EAER,GAAiB,WAAW,CAAI,GAE5B,EACJ,aAAgB,WAAa,EAAO,EAAO,EAAM,GAAM,EAAI,EAAM,KAAK,EAElE,EAAW,IAAS,SAAW,IAAS,OACxC,EAAO,GACX,CACE,MAAO,QAAQ,IACf,KAAM,EAAW,QAAU,SAC3B,SAAU,EAAW,YAAc,SACnC,MAAO,CACL,0BACF,CACF,EACA,EACA,GAAI,CAAE,MAAO,SAAU,EAAG,GAAI,CAAO,EAAG,CAAW,EACnD,GACE,CACE,MAAO,QACP,MAAO,QACP,UAAW,qBAEX,KAAK,CAAC,EAAK,CACT,EAAI,iBAAiB,QAAS,CAAa,EAE/C,EACA,EAAM,EAAE,CACV,CACF,EAIA,GAFA,EAAU,WAAY,OAAO,CAAI,EAG/B,aAAuB,qBACvB,aAAoB,SACpB,CACA,EAAY,aAAa,MAAO,OAAO,GAAG,CAAC,EAC3C,EAAY,MAAQ,EAAS,EAC7B,IAAM,EAAW,YAAY,IAAM,CACjC,GAAI,CAAC,EAAU,WAAY,SAAS,CAAI,EAAG,CACzC,cAAc,CAAQ,EACtB,OAEF,IAAM,EAAa,EAAS,EAE5B,GADA,EAAY,MAAQ,EAChB,GAAc,IAChB,GAAiB,WAAW,CAAI,GAEjC,IAAI,EAGT,GAAI,EAAW,EACb,WAAW,IAAM,CACf,GAAiB,WAAW,CAAI,GAC/B,EAAW,IAAI,EAKpB,OAFA,EAAK,eAAe,EAEb,EAGT,QAAU,IACZ,CAKO,IAAM,GAA2C,GAE3C,GAAmB,GAAiB,eAAe,EAGnD,GAAkB,GAExB,SAAS,EAAgB,CAAC,EAA2C,CAC1E,OAAO,GAAiB,KAAK,CAAI,EC9M5B,IAAM,GAAS,MAAO,EAAW,EAAS,UAA6B,CAG5E,IAAM,EADU,IAAI,YAAY,EACX,OAAO,CAAC,EAGvB,EAAa,MAAM,OAAO,OAAO,OAAO,EAAQ,CAAI,EAM1D,OAHkB,MAAM,KAAK,IAAI,WAAW,CAAU,CAAC,EAC7B,IAAI,CAAC,IAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAAE,KAAK,EAAE,GAKlE,GAAa,MAAO,IAAuC,CACtE,IAAM,EAAU,MAAM,GAAO,CAAQ,EAE/B,EAAW,MAAM,MAAM,sCAAsC,GAAS,EAC5E,GAAI,EAAS,GAAI,CACf,IAAM,EAAS,MAAM,EAAS,KAAK,EACnC,QAAQ,IAAI,sCAAuC,CAAM,EAG3D,OAAO,EAAS,SAAW,MAGrB,QAAM,aAAa,EACpB,MAAM,WAA6B,CAAU,OAC3C,kBAAmB,+BAEnB,gBAAiB,CACtB,QAAS,CACP,QAAS,cACT,cAAe,SACf,IAAK,EAAK,UACV,SAAU,UACZ,EACA,kBAAmB,CACjB,QAAS,MACX,EACA,uBAAwB,CACtB,QAAS,QACT,SAAU,WACV,OAAQ,EAAW,YAAY,MAAM,EACrC,WAAY,EAAW,YAAY,OAAO,EAC1C,aAAc,EAAW,YAAY,KAAK,EAC1C,UAAW,EAAW,YACpB,mBAAmB,EAAK,gBAC1B,CACF,EACA,uBAAwB,CACtB,OAAQ,EAAW,YAAY,MAAM,EACrC,QAAS,MACT,QAAS,eACT,MAAO,EACP,WAAY,iBACZ,WAAY,EAAK,eACjB,OAAQ,EAAW,YAAY,KAAK,EACpC,aAAc,EAAW,YAAY,KAAK,CAC5C,EACA,6BAA8B,CAC5B,SAAU,WACV,MAAO,IACP,MAAO,EAAK,iBACZ,OAAQ,EAAW,YAAY,MAAM,EACrC,WAAY,EAAW,YAAY,MAAM,EACzC,UAAW,QACb,CACF,QAEO,gBAAiB,CACtB,UAAW,EACX,WAAY,GACZ,gBAAiB,+BACnB,EAEA,kBAAoB,gCACpB,OAAS,CACP,SAAU,GACV,MAAO,GACP,QAAS,GACT,QAAS,GACT,SAAU,GACV,UAAW,EACb,EACA,kBAAoB,CAClB,SAAU,YACV,MAAO,QACP,QAAS,gBACT,QAAS,gBACT,SAAU,YACV,UAAW,uBACb,EACA,MAAQ,EACR,qBAAuB,CACrB,eACA,YACA,OACA,WACA,SACA,aACF,EAEA,QAAQ,CAAC,EAA0B,CAUjC,OATA,KAAK,OAAS,CACZ,SAAU,EAAS,OAAS,KAAK,UACjC,MAAO,EAAS,OAAS,KAAK,WAC9B,QAAS,CAAC,EAAS,MAAM,OAAO,EAChC,QAAS,CAAC,EAAS,MAAM,OAAO,EAChC,SAAU,CAAC,EAAS,MAAM,OAAO,EACjC,UAAW,CAAC,EAAS,MAAM,cAAc,CAC3C,EAEO,KAAK,OAAO,SACf,EACA,OAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,IAAM,CAAC,CAAC,EAAE,OAAS,OAGtD,WAAU,EAAqB,CACnC,IAAM,EAAW,KAAK,cAAc,OAAO,GAAG,MAE9C,GAAI,CAAC,GAAY,OAAO,IAAa,SACnC,MAAO,GAGT,OAAO,MAAM,GAAW,CAAQ,EAGlC,gBAAkB,CAAC,IAAqB,CACtC,IAAQ,QAAO,eAAgB,KAAK,MAI9B,EAAS,KAAK,gBAAgB,MAAM,GAAG,EACvC,EAAoB,KAAK,kBAAkB,MAAM,GAAG,EACpD,EAAW,KAAK,SAAS,CAAQ,EACvC,GAAI,KAAK,QAAU,EACjB,KAAK,MAAQ,EACb,KAAK,cAAc,IAAI,MAAM,QAAQ,CAAC,EAExC,EAAM,MAAM,MAAQ,IAAI,EAAW,GAAK,SACxC,KAAK,MAAM,YAAY,oBAAqB,EAAO,EAAS,EAC5D,KAAK,MAAM,YAAY,sBAAuB,EAAkB,EAAS,EACzE,EAAY,YAAc,KAAK,qBAAqB,IAGtD,OAAS,CAAC,IAAiB,CACzB,IAAM,EAAS,EAAM,OAAuB,QAAQ,OAAO,EAE3D,KAAK,gBAAgB,GAAO,OAAS,EAAE,GAGzC,QAAU,IAAM,CACd,GAAS,CAAE,QAAS,KAAK,MAAO,CAAC,EACjC,GACE,CAAE,KAAM,OAAQ,EAChB,GAAK,CAAE,KAAM,OAAQ,CAAC,EACtB,GAAK,CAAE,KAAM,aAAc,CAAC,CAC9B,CACF,EAEA,MAAM,EAAG,CACP,MAAM,OAAO,EAEb,IAAM,EAAQ,KAAK,cAAc,OAAO,EACxC,KAAK,gBAAgB,GAAO,KAAK,EAErC,CAKO,IAAM,GAAmD,GAEnD,GAAuB,GAAqB,eAAe,EAG3D,GAAsB,GC7PnC,IAAQ,SAAS,EAQV,MAAM,WAAmB,CAAU,OACjC,kBAAmB,oBACnB,gBAAiB,SAEjB,gBAAiB,CACtB,IAAK,EACL,IAAK,EACL,KAAM,OACN,KAAM,EACN,aAAc,OACd,WAAY,OACZ,YAAa,OACb,UAAW,OACX,SAAU,GACV,SAAU,GACV,OAAQ,GACR,SAAU,GACV,KAAM,EACR,EAEA,MAAyB,GAGzB,oBAAoB,CAAC,EAAmB,CACtC,KAAK,SAAW,EAGlB,iBAAiB,EAAG,CAClB,KAAK,MAAQ,SAGR,iBAAkB,CACvB,QAAS,CACP,QAAS,eACT,SAAU,WACV,MAAO,aACT,EACA,yBAA0B,CACxB,SAAU,WACV,QAAS,cACX,EACA,0CAA2C,CACzC,OAAQ,OACR,WAAY,SACZ,SAAU,QACZ,EACA,qBAAsB,CACpB,cAAe,MACjB,EACA,sBAAuB,CACrB,SAAU,WACV,KAAM,EACN,WAAY,sBACd,EACA,YAAa,CACX,UAAW,aACX,cAAe,iBACf,WAAY,mBACd,EACA,kBAAmB,CACjB,UAAW,UACb,EACA,mBAAoB,CAClB,UAAW,YACb,CACF,EAEA,QAAU,IACR,GACE,CAAE,KAAM,WAAY,EACpB,GAAK,CAAE,KAAM,OAAQ,CAAC,EACtB,GAAK,CAAE,KAAM,QAAS,CAAC,CACzB,EAEF,YAAY,CAAC,EAAwB,CACnC,IAAQ,QAAO,UAAW,KAAK,MAEzB,EAAe,KAAK,OADT,OAAO,IAAU,SAAW,EAAI,GAAS,GACf,KAAK,IAAI,EAAI,KAAK,KAC7D,EAAO,MAAM,MAAS,EAAe,KAAK,IAAO,EAAM,YAAc,KAGvE,OAAS,CAAC,IAAiB,CACzB,GAAI,KAAK,SACP,OAGF,IAAQ,SAAU,KAAK,MAEjB,EACJ,aAAiB,WACb,EAAM,MAAQ,EAAM,sBAAsB,EAAE,EAC5C,EACA,EAAQ,KAAK,IACjB,KAAK,IACH,KAAK,IACL,KAAK,MACD,EAAI,EAAM,YAAe,KAAK,IAAO,KAAK,KAAO,KAAK,KAAO,GACjE,EAAI,KAAK,IACX,EACA,KAAK,GACP,EACA,GAAI,EAAM,OAAS,QACjB,KAAK,MAAQ,EACR,QAAI,EAAM,OAAS,YACxB,KAAK,aAAa,CAAK,EAEvB,UAAK,aAAa,KAAK,OAAS,CAAC,GAIrC,UAAY,CAAC,IAAyB,CACpC,IAAI,EAAQ,KAAK,QAAU,GAAK,IAAM,OAAO,KAAK,KAAK,EACvD,GAAI,MAAM,CAAK,EACb,EAAQ,KAAK,OAAO,KAAK,IAAM,KAAK,KAAO,IAAM,KAAK,IAAI,EAAI,KAAK,KAErE,IAAI,EAAa,GACjB,OAAQ,EAAM,SACP,cACA,aACH,GAAS,KAAK,KACd,EAAa,GACb,UACG,gBACA,YACH,GAAS,KAAK,KACd,EAAa,GACb,MAGJ,GADA,KAAK,MAAQ,KAAK,IAAI,KAAK,IAAI,EAAO,KAAK,GAAG,EAAG,KAAK,GAAG,EACrD,EACF,EAAM,gBAAgB,EACtB,EAAM,eAAe,GAIzB,iBAAiB,EAAG,CAClB,MAAM,kBAAkB,EAExB,IAAQ,aAAc,KAAK,MAE3B,EAAU,SAAW,EACrB,EAAU,iBAAiB,YAAa,KAAK,OAAQ,EAAI,EACzD,EAAU,iBAAiB,aAAc,KAAK,MAAM,EACpD,EAAU,iBAAiB,OAAQ,KAAK,MAAM,EAC9C,EAAU,iBAAiB,QAAS,KAAK,MAAM,EAE/C,EAAU,iBAAiB,UAAW,KAAK,SAAS,EAG9C,cAAgB,GAExB,MAAM,EAAG,CACP,MAAM,OAAO,EAEb,IAAM,EAAS,KAAK,SAAW,KAG/B,GAFA,KAAK,MAAM,YAAY,mBAAoB,CAAM,EAE7C,KAAK,SACP,KAAK,KAAO,QAEZ,UAAK,KAAO,SAEd,KAAK,UAAY,UAAU,KAAK,gBAAgB,KAAK,MACrD,KAAK,aAAe,OAAO,KAAK,GAAG,EACnC,KAAK,aAAe,OAAO,KAAK,GAAG,EACnC,KAAK,aAAe,KAAK,QAAU,GAAK,OAAO,EAAE,EAAI,OAAO,KAAK,KAAK,EAEtE,IAAQ,QAAO,UAAW,KAAK,MAa/B,GARA,EAAM,MAAM,YACV,mBACA,KAAK,OAAS,OAAS,KAAK,SAC9B,EACA,EAAM,MAAM,YAAY,qBAAsB,KAAK,WAAW,EAC9D,EAAO,MAAM,YAAY,mBAAoB,KAAK,UAAU,EAC5D,EAAO,MAAM,YAAY,qBAAsB,KAAK,YAAY,EAE5D,KAAK,gBAAkB,KAAK,KAAM,CACpC,KAAK,cAAgB,KAAK,KAC1B,QAAS,EAAI,EAAG,EAAI,KAAK,IAAK,IAC5B,EAAM,OAAO,EAAM,KAAK,MAAM,CAAC,EAC/B,EAAO,OAAO,EAAM,KAAK,MAAM,CAAC,EAIpC,KAAK,aAAa,KAAK,KAAK,EAEhC,CAKO,IAAM,GAA+B,GAE/B,GAAa,GAAW,eAAe,EAGvC,GAAY,GACvB,IAAI,IAAwC,GAAW,GAAG,CAAI,EAC9D,4EACF,EChKA,IAAQ,YAAU,OAAK,WAAW,EAE5B,GAAc,CAClB,CACE,QAAS,QACT,QAAS,IACX,EACA,CACE,QAAS,UACT,QAAS,IACX,EACA,CACE,QAAS,aACT,QAAS,IACX,EACA,CACE,QAAS,gBACT,QAAS,IACX,EACA,CACE,QAAS,OACT,QAAS,GACX,EACA,CACE,QAAS,aACT,QAAS,KACX,CACF,EAEO,SAAS,EAAU,CAAC,EAAU,GAAa,CAChD,OAAO,GAAW,CAChB,MAAO,kBACP,KAAM,UACN,MAAO,cACP,QAAS,EAAQ,IAAI,EAAG,UAAS,cAAe,CAC9C,UACA,MAAO,eAAe,GACxB,EAAE,CACJ,CAAC,EAGH,IAAM,GAAS,IAAM,GAAa,CAAE,KAAM,SAAU,CAAC,EAE9C,SAAS,EAAa,CAC3B,EACA,EACA,EACA,CACA,OAAO,GAAO,CAAE,KAAM,UAAW,cAAa,OAAM,EAAG,CAAI,EAG7D,IAAM,GAAwB,IAAM,CAClC,GAAc,eAAgB,cAAe,EAAM,UAAU,CAAC,EAC9D,GAAc,SAAU,gBAAiB,EAAM,YAAY,CAAC,EAC5D,GAAc,gBAAiB,eAAgB,EAAM,WAAW,CAAC,EACjE,GAAO,EACP,GAAc,cAAe,sBAAuB,EAAM,WAAW,CAAC,EACtE,GAAc,gBAAiB,oBAAqB,EAAM,WAAW,CAAC,EACtE,GAAO,EACP,GAAc,SAAU,SAAU,EAAM,OAAO,CAAC,EAChD,GAAc,SAAU,UAAW,EAAM,QAAQ,CAAC,CACpD,EAEM,GAAwB,IAAM,CAClC,GAAc,OAAQ,OAAQ,EAAM,SAAS,CAAC,EAC9C,GAAc,SAAU,SAAU,EAAM,WAAW,CAAC,EACpD,GAAc,YAAa,YAAa,EAAM,cAAc,CAAC,CAC/D,EAEM,GAAiB,IAAM,CAC3B,GAAW,EACX,GAAO,EACP,GAAG,GAAsB,CAC3B,EAEa,GAAkB,IAAM,CACnC,GAAW,EACX,GAAO,EACP,GAAG,GAAsB,EACzB,GAAO,EACP,GAAG,GAAsB,CAC3B,EAQO,MAAM,WAAiB,CAA0B,OAC/C,kBAAmB,uBAEnB,gBAAgC,CACrC,QAAS,CACP,QAAS,OACT,cAAe,SACf,OAAQ,MACV,EACA,yBAA0B,CACxB,QAAS,EACT,QAAS,OACT,IAAK,MACL,KAAM,WACN,SAAU,MACZ,EACA,kCAAmC,CACjC,aAAc,EAChB,CACF,QAEO,gBAAiB,SAEjB,gBAAiB,CACtB,QAAS,UACT,KAAM,GACN,SAAU,EACZ,EAEQ,cAAgB,GAChB,WAAa,GAGrB,oBAAoB,CAAC,EAAmB,CACtC,GAAI,KAAK,cACP,KAAK,MAAM,IAAI,gBAAkB,EAAW,QAAU,OAI1D,iBAAiB,EAAG,CAClB,KAAK,MAAQ,GAGP,OAAS,MAEb,MAAK,EAAW,CAClB,OAAO,KAAK,cAAgB,KAAK,MAAM,IAAI,UAAY,KAAK,UAG1D,MAAK,CAAC,EAAiB,CACzB,IAAM,EAAW,KAAK,OAEtB,GADA,KAAK,OAAS,EACV,KAAK,eACP,GAAI,KAAK,MAAM,IAAI,YAAc,EAC/B,KAAK,MAAM,IAAI,UAAY,EAI/B,GAAI,IAAa,GAAW,KAAK,UAC/B,KAAK,UAAU,aAAa,CAAO,EAIvC,YAAY,CAAC,EAAgC,CAC3C,IAAQ,OAAQ,KAAK,MACrB,MAAO,EAAI,gBAAkB,MAAQ,EAAI,gBAAkB,EACzD,EAAM,EAAI,cAEZ,OAAO,EAAI,gBAAkB,EAAO,EAAkB,UAGpD,eAAc,EAAU,CAC1B,IAAQ,OAAQ,KAAK,MACf,EAAY,OAAO,aAAa,EACtC,GAAI,IAAc,KAChB,MAAO,CAAC,EAEV,IAAM,EAAS,CAAC,EAChB,QAAS,EAAI,EAAG,EAAI,EAAU,WAAY,IAAK,CAC7C,IAAM,EAAQ,EAAU,WAAW,CAAC,EACpC,GAAI,CAAC,EAAI,SAAS,EAAM,uBAAuB,EAC7C,SAEF,IAAI,EAAwB,KAAK,aAC/B,EAAM,cACR,EACM,EAAY,KAAK,aAAa,EAAM,YAAY,EACtD,EAAO,KAAK,CAAK,EACjB,MAAO,IAAU,GAAa,IAAU,KACtC,EAAQ,EAAM,mBACd,EAAO,KAAK,CAAK,EAGrB,OAAO,KAGL,aAAY,EAAW,CACzB,IAAM,EAAY,OAAO,aAAa,EACtC,GAAI,IAAc,KAChB,MAAO,GAET,OAAO,KAAK,eAAe,OAAS,EAAU,SAAS,EAAI,GAG7D,gBAA4D,IAAM,GAI1D,oBAAsB,GAE9B,mBAAqB,CAAC,IAAiB,CAErC,GAAI,KAAK,oBACP,OAIF,IAAM,EADS,EAAM,QACE,QACrB,GAAW,OACb,EACA,GAAI,GAAU,KACZ,OAGF,KAAK,UAAU,EAAO,KAAK,GAG7B,kBAAoB,CAAC,IAAiB,CAEpC,IAAM,EADS,EAAM,QACE,QAAQ,QAAQ,EACvC,GAAI,GAAU,KACZ,OAGF,KAAK,UAAU,EAAO,QAAQ,OAAO,GAGvC,QAAU,CACR,GAAS,CACP,KAAM,UACN,KAAM,UACN,QAAS,KAAK,kBACd,SAAU,KAAK,kBACjB,CAAC,EACD,GAAI,CACF,KAAM,MACN,gBAAiB,GACjB,MAAO,CACL,KAAM,WACN,QAAS,MACX,CACF,CAAC,EACD,GAAS,CACP,KAAM,SACR,CAAC,CACH,EAEA,SAAS,CAAC,EAAkB,CAC1B,GAAI,IAAY,OACd,OAEF,IAAM,EAAO,EAAQ,MAAM,GAAG,EAE9B,QAAQ,IAAI,cAAe,EAAK,GAAI,GAAO,GAAG,EAAK,MAAM,CAAC,CAAC,EAC3D,SAAS,YAAY,EAAK,GAAI,GAAO,GAAG,EAAK,MAAM,CAAC,CAAC,EAGvD,gBAAgB,EAAG,CACjB,IAAM,EAAS,KAAK,MAAM,QAAQ,cAChC,cACF,EACA,GAAI,IAAW,KACb,OAEF,IAAI,EAAa,KAAK,eAAiC,IACrD,CAAC,IAAU,EAAM,OACnB,EACA,EAAY,CAAC,GAAG,IAAI,IAAI,CAAS,CAAC,EAClC,KAAK,oBAAsB,GAC3B,EAAO,MAAQ,EAAU,SAAW,EAAI,eAAe,EAAU,KAAO,GACxE,KAAK,oBAAsB,GAIrB,UAAU,EAAY,CAE5B,OADa,KAAK,MAAM,IAAI,aAAe,IAC/B,KAAK,EAAE,OAAS,EAI9B,YAAc,IAAM,CAClB,GAAI,KAAK,UACP,KAAK,UAAU,aAAa,KAAK,MAAM,IAAI,SAAS,EACpD,KAAK,eAAe,GAIhB,cAAc,EAAS,CAC7B,GAAI,KAAK,UACP,GAAI,KAAK,UAAY,CAAC,KAAK,WAAW,EACpC,KAAK,UAAU,YACb,CAAE,aAAc,EAAK,EACrB,4BACA,KAAK,MAAM,GACb,EAEA,UAAK,UAAU,YAAY,CAAC,CAAC,EAKnC,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,IAAQ,MAAK,WAAY,KAAK,MAC9B,GAAI,EAAQ,YAAc,IAAM,EAAI,YAAc,GAChD,EAAI,UAAY,EAAQ,UACxB,EAAQ,UAAY,GAGtB,KAAK,cAAgB,GAErB,EAAQ,MAAM,QAAU,OAGxB,EAAI,iBAAiB,QAAS,KAAK,WAAW,EAG9C,KAAK,eAAe,EAEpB,SAAS,iBAAiB,kBAAmB,CAAC,IAAiB,CAC7D,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAAO,IAAI,EACjC,EAGH,MAAM,EAAS,CACb,IAAQ,WAAY,KAAK,MAIzB,GAFA,MAAM,OAAO,EAET,EAAQ,SAAS,SAAW,EAC9B,OAAQ,KAAK,aACN,UACH,EAAQ,OAAO,GAAG,GAAe,CAAC,EAClC,UACG,UACH,EAAQ,OAAO,GAAG,GAAgB,CAAC,EACnC,OAIV,CAKO,IAAM,GAA2B,GAE3B,GAAe,GAAS,eAAe,EAGvC,GAAW,GACtB,IAAI,IAA0C,GAAa,GAAG,CAAI,EAClE,gFACF,ECzUO,IAAQ,WAAW,EAAK,CAC7B,OAAQ,CACN,KAAM,GACN,KAAM,GACN,QAAS,EACX,CACF,CAAC,EAEG,GAA4B,CAAC,EAE1B,SAAS,EAAe,EAAgB,CAC7C,MAAO,IAAK,EAAa,EAO3B,IAAI,GAAkC,CAAC,EACnC,GAAiB,GACf,GAAe,IAAI,IAMzB,SAAS,EAAc,CAAC,EAGtB,CACA,IAAM,EAAuB,CAAC,EAE9B,GAAI,IAAY,GACd,MAAO,CAAE,MAAO,QAAS,YAAW,EAGtC,IAAM,EAAa,EAAQ,MAAM,GAAG,EAAE,IAAI,CAAC,IAAY,CACrD,GAAI,EAAQ,WAAW,GAAG,EAExB,OADA,EAAW,KAAK,EAAQ,MAAM,CAAC,CAAC,EACzB,UAET,OAAO,EAAQ,QAAQ,sBAAuB,MAAM,EACrD,EAGD,MAAO,CAAE,MADK,IAAI,OAAO,MAAQ,EAAW,KAAK,GAAG,EAAI,KAAK,EAC7C,YAAW,EAO7B,SAAS,EAAU,CAAC,EAGX,CACP,IAAM,EAAY,EAAK,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAEhD,QAAW,KAAS,GAAgB,CAClC,GAAI,EAAM,SAAU,SACpB,IAAM,EAAQ,EAAU,MAAM,EAAM,KAAK,EACzC,GAAI,EAAO,CACT,IAAM,EAAsB,CAAC,EAI7B,OAHA,EAAM,WAAW,QAAQ,CAAC,EAAM,IAAM,CACpC,EAAO,GAAQ,mBAAmB,EAAM,EAAI,EAAE,EAC/C,EACM,CAAE,QAAO,QAAO,GAK3B,IAAM,EAAW,GAAe,KAAK,CAAC,IAAM,EAAE,QAAQ,EACtD,GAAI,EACF,MAAO,CAAE,MAAO,EAAU,OAAQ,CAAC,CAAE,EAGvC,OAAO,KAOT,SAAS,EAAW,EAAS,CAC3B,IAAM,EAAO,GACT,OAAO,SAAS,KAAK,QAAQ,QAAS,EAAE,EACxC,OAAO,SAAS,SAEpB,GAAO,KAAK,MAAQ,EACpB,GAAO,KAAK,MAAQ,OAAO,SAAS,KAEpC,IAAM,EAAQ,GAAW,CAAI,EAE7B,GAAI,EAAO,CACT,GAAe,EAAM,OACrB,GAAO,QAAQ,MAAQ,EAAM,MAAM,MAAM,OAEzC,IAAM,EAAgB,IAAI,IAC1B,QAAW,KAAU,EAAM,MAAM,QAC/B,EAAc,IAAI,EAAO,MAAQ,UAAW,CAAM,EAGpD,QAAW,KAAQ,GAAc,CAC/B,IAAM,EAAW,EAAK,MAAQ,UACxB,EAAS,EAAc,IAAI,CAAQ,EACzC,GAAI,EACF,EAAK,gBAAgB,EAAO,UAAU,EAAM,MAAM,CAAC,EAEnD,OAAK,gBAAgB,GAGpB,KACL,GAAe,CAAC,EAChB,GAAO,QAAQ,MAAQ,GACvB,QAAW,KAAQ,GACjB,EAAK,gBAAgB,GAS3B,IAAI,GAAc,GAElB,SAAS,EAAe,EAAS,CAC/B,GAAI,GAAa,OACjB,GAAc,GAEd,OAAO,iBAAiB,WAAY,EAAW,EAC/C,OAAO,iBAAiB,aAAc,EAAW,EAG5C,SAAS,EAAY,CAC1B,EACA,EAAyB,CAAC,EACpB,CACN,GAAiB,EAAQ,aAAe,GAExC,GAAiB,EAAO,IAAI,CAAC,IAAQ,CACnC,IAAQ,QAAO,cAAe,GAAe,EAAI,OAAO,EACxD,MAAO,CACL,QACA,aACA,QAAS,EAAI,QACb,SAAU,EAAI,UAAY,EAC5B,EACD,EAED,GAAgB,EAChB,GAAY,EAGP,SAAS,EAAQ,CAAC,EAAoB,CAG3C,GAFA,GAAgB,EAEZ,GACF,OAAO,SAAS,KAAO,KAAO,EAAK,QAAQ,MAAO,EAAE,EAEpD,YAAO,QAAQ,UAAU,CAAC,EAAG,GAAI,IAAM,EAAK,QAAQ,MAAO,EAAE,CAAC,EAGhE,GAAY,EAOP,MAAM,WAAsB,CAAU,OACpC,kBAAmB,wBAEnB,gBAAiB,CACtB,KAAM,SACR,EAEA,QAAU,KAEV,iBAAiB,EAAS,CAIxB,GAHA,MAAM,kBAAkB,EACxB,GAAa,IAAI,IAAI,EAEjB,GAAe,OAAS,EAC1B,GAAY,EAIhB,oBAAoB,EAAS,CAC3B,MAAM,qBAAqB,EAC3B,GAAa,OAAO,IAAI,EAE5B,CAEO,IAAM,GACX,GAAc,eAAe,EClN/B,IAAQ,OAAK,QAAM,SAAO,QAAM,UAAU,EAcnC,MAAM,WAAsB,CAAa,OACvC,kBAAmB,uBACnB,gBAAiB,SAEjB,gBAAiB,CACtB,UAAW,MACX,MAAO,GACP,SAAU,GACV,KAAM,GACN,YAAa,kBACb,UAAW,GACX,SAAU,EACZ,EAEQ,SAAqB,CAAC,KAE1B,QAAO,EAAa,CACtB,OAAO,KAAK,YAGV,QAAO,CAAC,EAAsB,CAChC,GAAI,OAAO,IAAM,SACf,KAAK,SAAW,GAAc,mBAAmB,CAAC,EAElD,UAAK,SAAW,EAElB,KAAK,YAAY,QAIJ,mBAAkB,CAAC,EAA8B,CAC9D,OAAO,EACJ,MAAM,GAAG,EACT,OAAO,CAAC,IAAM,EAAE,KAAK,IAAM,EAAE,EAC7B,IAAI,CAAC,IAAM,CACV,IAAO,EAAO,GAAW,EAAE,MAAM,GAAG,EAAE,IAAI,CAAC,IAAM,EAAE,KAAK,CAAC,GAClD,EAAS,IAAa,GAAW,GACrC,MAAM,GAAG,EACT,IAAI,CAAC,IAAM,EAAE,KAAK,CAAC,EAEhB,EAAO,EAAW,EAAM,GAAU,EAAI,GAC5C,MAAO,CAAE,QAAO,OAAM,SAAQ,EAC/B,EAGL,MAAQ,GAGR,oBAAoB,CAAC,EAAmB,EAKxC,iBAAiB,EAAG,CAClB,KAAK,MAAQ,MAGX,OAAM,EAAa,CACrB,OAAQ,KAAK,OAAS,IACnB,MAAM,GAAG,EACT,IAAI,CAAC,IAAM,EAAE,KAAK,CAAC,EACnB,OAAO,CAAC,IAAM,IAAM,EAAE,EAG3B,QAAU,IAAM,CACd,GAAK,EACL,GAAI,CAAE,KAAM,SAAU,EAAG,GAAM,CAAE,KAAM,SAAU,OAAQ,EAAK,CAAC,CAAC,CAClE,QAEO,iBAAkB,CACvB,QAAS,CACP,QAAS,cACT,IAAK,EAAW,mBAAmB,KAAK,EACxC,WAAY,EAAW,oBAAoB,QAAQ,CACrD,EACA,8BAA+B,CAC7B,cAAe,EAAW,mBAAmB,KAAK,CACpD,EACA,cAAe,CACb,QAAS,cACT,WAAY,SACZ,IAAK,EAAW,mBAAmB,KAAK,EACxC,oBACE,EAAW,2BAA2B,cAAc,EACtD,QAAS,EAAW,uBAAuB,UAAU,EACrD,KAAM,EAAW,oBAAoB,MAAM,CAC7C,EACA,oBAAqB,CACnB,QAAS,OACT,UAAW,EAAW,qBACpB,mBAAmB,EAAW,iCAAiC,MAAM,GACvE,EACA,aAAc,EAAW,6BAA6B,KAAK,CAC7D,EAKA,sBAAuB,CACrB,MAAO,EAAW,4BAA4B,MAAM,EACpD,WAAY,EAAW,iCAAiC,MAAM,CAChE,EACA,4BAA6B,CAC3B,UAAW,EAAW,4BACpB,mBAAmB,EAAW,4BAA4B,MAAM,GAClE,CACF,EACA,YAAa,CACX,OAAQ,EAAW,sBAAsB,MAAM,EAC/C,OAAQ,EAAW,yBAAyB,cAAc,CAC5D,EACA,sBAAuB,CACrB,IAAK,EACL,oBAAqB,EAAW,2BAA2B,SAAS,CACtE,EACA,0DAA2D,CACzD,WAAY,EAAW,yBAAyB,QAAQ,CAC1D,EACA,uBAAwB,CACtB,QAAS,OACT,aAAc,EAAW,6BAA6B,KAAK,EAC3D,WAAY,EAAW,2BAA2B,MAAM,EACxD,MAAO,EAAW,qBAAqB,MAAM,EAC7C,SAAU,SACV,WAAY,EAAW,0BAA0B,SAAS,CAC5D,EACA,sBAAuB,CACrB,QAAS,EAAW,uBAAuB,UAAU,EACrD,MAAO,EAAW,4BAA4B,MAAM,EACpD,WAAY,EAAW,iCAAiC,MAAM,EAC9D,KAAM,EAAW,oBAAoB,MAAM,EAC3C,OAAQ,IACR,QAAS,MACX,EACA,mCAAoC,CAClC,MAAO,EAAW,4BAA4B,MAAM,EACpD,QAAS,EAAW,4BAA4B,IAAI,CACtD,CACF,EAKQ,WAAW,EAAG,CACpB,IAAQ,WAAY,KAAK,MACzB,EAAQ,iBAAiB,OAAO,EAAE,QAAQ,CAAC,IAAU,CACnD,IAAM,EAAQ,EAAM,cAAc,OAAO,EACzC,EAAM,UAAU,OAAO,UAAW,QAAQ,GAAS,EAAM,OAAO,CAAC,EAClE,EAGK,aAAe,GACvB,aAAe,IAAM,CACnB,IAAQ,UAAS,UAAW,KAAK,MACjC,GAAI,KAAK,SAAU,CACjB,IAAM,EAAS,CACb,GAAG,EAAQ,iBAAiB,eAAe,CAC7C,EACA,KAAK,MAAQ,EAAO,IAAI,CAAC,IAAU,EAAM,KAAK,EAAE,KAAK,GAAG,EACnD,KACL,IAAM,EAAQ,EAAQ,cACpB,eACF,EACA,GAAI,CAAC,EACH,KAAK,MAAQ,GACR,QAAI,EAAM,MACf,EAAO,aAAa,SAAU,EAAE,EAChC,KAAK,MAAQ,EAAM,MAEnB,OAAO,gBAAgB,QAAQ,EAC/B,EAAO,MAAM,EACb,EAAO,OAAO,EACd,KAAK,MAAQ,EAAO,MAGxB,KAAK,YAAY,EACjB,KAAK,aAAe,IAGtB,UAAY,CAAC,IAAyB,CACpC,IAAI,EAAa,GACjB,OAAQ,EAAM,UACP,QACH,GAAI,EAAM,kBAAkB,iBAC1B,EAAM,OAAO,MAAM,EACnB,EAAa,GAEf,UACG,MACH,GAAI,EAAE,EAAM,kBAAkB,kBACb,EAAM,OAAuB,QAC1C,OACF,EACM,MAAM,EAEd,UACG,gBACA,UACH,CACE,IAAM,EAAS,EAAM,OAAuB,QAC1C,OACF,EACA,GAAI,EAAM,kCAAkC,iBAC1C,EAAM,uBAAuB,MAAO,CAExC,CACA,EAAa,GACb,UACG,iBACA,YACH,CACE,IAAM,EAAS,EAAM,OAAuB,QAC1C,OACF,EACA,GAAI,EAAM,8BAA8B,iBACtC,EAAM,mBAAmB,MAAO,CAEpC,CACA,EAAa,GACb,MAEJ,GAAI,EACF,EAAM,eAAe,EACrB,EAAM,gBAAgB,GAI1B,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAGxB,IAAM,EAAc,KAAK,aAAa,SAAS,EAC/C,GAAI,GAAe,KAAK,SAAS,SAAW,EAC1C,KAAK,SAAW,GAAc,mBAAmB,CAAW,EAG9D,IAAQ,WAAY,KAAK,MAEzB,GAAI,KAAK,OAAS,GAChB,KAAK,KAAO,KAAK,WAMnB,GAHA,EAAQ,iBAAiB,SAAU,KAAK,YAAY,EACpD,EAAQ,iBAAiB,UAAW,KAAK,SAA0B,EAE/D,KAAK,OAAS,KAAK,SACrB,QAAQ,KACN,KACA,2DACF,EACA,KAAK,MAAQ,MAIL,kBAAiB,EAAa,CACxC,IAAM,EAAoB,CAAC,GAAG,KAAK,OAAO,EAE1C,GAAI,KAAK,OAAS,CAAC,KAAK,SAAU,CAChC,IAAO,EAAS,GAAQ,KAAK,MAAM,MAAM,GAAG,EAC5C,EAAQ,KAAK,CACX,MAAO,GACP,UACA,MACF,CAAC,EAGH,OAAO,KAGL,aAAY,EAAY,CAC1B,OAAO,QACL,KAAK,QAAU,IACZ,KAAK,OACJ,CAAC,KAAK,kBAAkB,KAAK,CAAC,IAAW,EAAO,QAAU,KAAK,KAAK,CAC1E,EAGF,MAAM,EAAG,CAGP,GAFA,MAAM,OAAO,EAET,KAAK,aAAc,CACrB,KAAK,aAAe,GACpB,OAGF,IAAQ,UAAS,UAAW,KAAK,MACjC,EAAQ,YAAc,GACtB,IAAM,EAAO,KAAK,SAAW,WAAa,SAClC,SAAQ,gBAAiB,KAmBjC,GAlBA,EAAQ,OACN,GAAG,KAAK,kBAAkB,IAAI,CAAC,IAAW,CACxC,OAAO,GACL,CAAE,SAAU,CAAE,EACd,GAAM,CACJ,OACA,KAAM,KAAK,KACX,MAAO,EAAO,MACd,QACE,EAAO,SAAS,EAAO,KAAK,GAC3B,EAAO,QAAU,IAAM,EAC1B,SAAU,EACZ,CAAC,EACD,EAAO,MAAQ,CAAE,MAAO,SAAU,EAClC,KAAK,UAAY,GAAc,EAAO,OAAO,EAAI,GAAK,EAAO,OAAO,CACtE,EACD,CACH,EACI,KAAK,OAAS,CAAC,KAAK,SACtB,EAAO,OAAS,CAAC,EACjB,EAAO,MAAQ,EAAgB,KAAK,MAAmB,GACvD,EAAO,YAAc,KAAK,YAC1B,EAAQ,OAAO,CAAM,EAEvB,KAAK,YAAY,EAErB,CAKO,IAAM,GAAqC,GAErC,GAAgB,GAAc,eAAe,EAG7C,GAAe,GAC1B,IAAI,IAA2C,GAAc,GAAG,CAAI,EACpE,qFACF,ECzeA,IAAQ,SAAS,EA0EV,MAAM,WAAkB,CAAa,OACnC,kBAAmB,uBAEnB,gBAAiB,CACtB,SAAU,EACV,UAAW,CACb,EAEA,MAA4B,SAE5B,QAAU,CAAC,GAAK,CAAE,KAAM,QAAS,CAAC,EAAG,GAAK,CAAE,KAAM,QAAS,KAAM,OAAQ,CAAC,CAAC,QAEpE,iBAAkB,CACvB,QAAS,CACP,QAAS,eACT,SAAU,UACZ,CACF,EAEA,SAAW,IAAM,CACf,IAAQ,SAAQ,SAAU,KAAK,MACzB,EAAS,KAAK,aACpB,GAAI,EAAE,aAAkB,aACtB,OACK,QACL,EAAO,YAAc,KAAK,UAC1B,EAAO,aAAe,KAAK,UAE3B,EAAO,OAAS,GAChB,EAAM,OAAS,GACf,KAAK,MAAQ,QAEb,OAAO,OAAS,GAChB,EAAM,OAAS,GACf,KAAK,MAAQ,UAMjB,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EACxB,WAAW,iBAAiB,SAAU,KAAK,QAAQ,EAGrD,oBAAoB,EAAS,CAC3B,MAAM,qBAAqB,EAC3B,WAAW,oBAAoB,SAAU,KAAK,QAAQ,EAE1D,CAEO,IAAM,GAAY,GAAU,eAAe,EC/F3C,MAAM,WAAkB,CAAa,OACnC,kBAAmB,aAC1B,OAA8B,WAEvB,iBAAkB,CACvB,QAAS,CACP,gBAAiB,OACjB,QAAS,QACT,SAAU,WACV,OAAQ,GACR,MAAO,GACP,QAAS,GACT,MAAO,GACP,OAAQ,GACR,QAAS,KACT,WAAY,wBACd,EACA,gBAAiB,CACf,QAAS,GACX,EACA,YAAa,CACX,MAAO,GACP,OAAQ,GACR,OAAQ,EAAK,cACf,CACF,EAEA,QAAU,EAAM,OAAO,KAEnB,QAAO,EAAsC,CAC/C,IAAQ,WAAU,aAAc,iBAAiB,KAAK,MAAO,EAC7D,MAAO,CACL,MAAO,WAAW,CAAQ,GAAK,GAC/B,OAAQ,WAAW,CAAS,GAAK,EACnC,EAGF,aAAe,CAAC,IAAuB,CACrC,IAAQ,UAAW,KACnB,GAAI,CAAC,EAAQ,OACb,IAAiB,YAAX,EACW,aAAX,GAAI,EACV,EAAO,MAAM,KAAO,EAAO,WAAa,KACxC,EAAO,MAAM,IAAM,EAAO,UAAY,KACtC,EAAO,MAAM,OAAS,GACtB,EAAO,MAAM,MAAQ,GACrB,IAAQ,WAAY,KAEpB,GACE,EACA,CAAC,EAAY,EAAY,IAAiC,CAGxD,GAFA,EAAO,MAAM,MAAQ,KAAK,IAAI,EAAQ,MAAO,EAAI,CAAE,EAAI,KACvD,EAAO,MAAM,OAAS,KAAK,IAAI,EAAQ,OAAQ,EAAI,CAAE,EAAI,KACrD,EAAM,OAAS,UACjB,MAAO,IAGX,aACF,GAGF,iBAAiB,EAAS,CAGxB,GAFA,MAAM,kBAAkB,EAEpB,CAAC,KAAK,OACR,KAAK,OAAS,KAAK,cAGrB,IAAM,EAAU,CAAE,QAAS,EAAK,EAChC,KAAK,iBAAiB,YAAa,KAAK,aAAc,CAAO,EAC7D,KAAK,iBAAiB,aAAc,KAAK,aAAc,CAAO,EAElE,CAKO,IAAM,GAA6B,GAE7B,GAAY,GAAU,eAAe,EAGrC,GAAW,GC+BxB,IAAQ,OAAK,SAAO,QAAM,WAAW,EAM/B,GAAY,CAAC,IACjB,EAAI,MAAM,UAAU,EAAE,IAAI,CAAC,IAAQ,EAAI,KAAK,EAAE,QAAQ,OAAQ,GAAG,CAAC,EAE9D,GAAW,CAAC,IAChB,EAAK,IAAI,CAAC,IAAQ,EAAI,QAAQ,KAAM,KAAK,CAAC,EAAE,KAAK,GAAG,EAE/C,MAAM,WAAgB,CAAa,OACjC,kBAAmB,iBAEnB,gBAAiB,CACtB,QAAS,CACP,2BAA4B,QAC5B,wBAAyB,QACzB,uBAAwB,MACxB,6BAA8B,OAC9B,WAAY,EAAW,WAAW,MAAM,EACxC,mBAAoB,EAAW,eAAe,OAAO,EACrD,QAAS,cACT,aAAc,EAAW,iBAAiB,EAAK,SAAS,EACxD,MAAO,EAAK,aACZ,WAAY,EAAK,MACjB,QAAS,KAAK,EAAK,eAAe,EAAK,YACvC,OAAQ,QAAQ,EAAK,gBAAgB,EAAK,aAC1C,WAAY,QAAQ,EAAK,gBAAgB,EAAK,YAChD,EACA,2BAA4B,CAC1B,SAAU,WACV,WAAY,SACZ,SAAU,SACV,KAAM,WACN,SAAU,EAAW,SAAS,MAAM,EACpC,MAAO,EAAK,aACZ,aAAc,UAChB,EACA,wBAAyB,CACvB,UAAW,OACX,OAAQ,KAAK,EAAK,gBAAgB,EAAK,YACvC,QAAS,EACT,QAAS,cACT,WAAY,SACZ,UAAW,SACX,eAAgB,SAChB,OAAQ,EAAK,WACb,MAAO,EAAK,WACZ,MAAO,EAAK,oBACZ,WAAY,EAAK,iBACjB,aAAc,EAAW,qBAAqB,MAAM,EACpD,QAAS,EAAK,gBAChB,EACA,8BAA+B,CAC7B,WAAY,EAAK,iBACjB,QAAS,EAAK,qBAChB,CACF,QAEO,gBAAiB,CACtB,QAAS,GACT,WAAY,EACd,EAEA,eAAyC,IAAM,CAC7C,KAAK,OAAO,GAGd,QAAU,IAAM,CACd,GAAK,CAAE,KAAM,SAAU,EAAG,KAAK,OAAO,EACtC,GAAO,EAAM,EAAE,EAAG,CAChB,KAAM,SACN,KAAM,SACN,OAAQ,CAAC,KAAK,WACd,UAAW,UAAU,KAAK,UAC1B,QAAS,KAAK,cAChB,CAAC,CACH,CACF,CAKO,IAAM,GAAyB,GAEzB,GAAU,GAAQ,eAAe,EAGjC,GAAS,GACpB,IAAI,IAAqC,GAAQ,GAAG,CAAI,EACxD,mEACF,EAYO,MAAM,WAAoB,CAAa,OACrC,kBAAmB,sBAEnB,gBAAgC,CACrC,QAAS,CACP,gBAAiB,UACjB,eAAgB,OAChB,YAAa,OACb,QAAS,OACT,oBAAqB,OACrB,WAAY,SACZ,WAAY,EAAK,UACjB,IAAK,EAAK,UACV,aAAc,EAAW,qBAAqB,EAAK,SAAS,EAC5D,SAAU,QACZ,EACA,kBAAmB,CACjB,oBAAqB,YAAY,EAAK,WACxC,EACA,8BAA+B,CAC7B,oBAAqB,eAAe,EAAK,WAC3C,EACA,8BAA+B,CAC7B,QAAS,OACT,QAAS,MACT,WAAY,SACZ,WAAY,EAAK,QACjB,aAAc,EAAW,mBAAmB,EAAK,SAAS,EAC1D,UAAW,EAAK,aAChB,SAAU,SACV,SAAU,cACV,IAAK,EAAK,UACV,UAAW,QAAQ,EAAK,gBAAgB,EAAK,WAC7C,QAAS,EAAK,SAChB,EACA,yBAA0B,CACxB,MAAO,EAAK,UACZ,OAAQ,EAAK,UACb,WAAY,EAAK,UACjB,UAAW,SACX,QAAS,EACT,OAAQ,CACV,EACA,iBAAkB,CAChB,QAAS,iBACX,EACA,+BAAgC,CAC9B,WAAY,EAAK,WACjB,MAAO,EAAK,cACd,CACF,QAEO,gBAAiB,SAEjB,gBAAiB,CACtB,KAAM,GACN,UAAW,GACX,SAAU,GACV,YAAa,aACb,SAAU,GACV,SAAU,EACZ,EAGA,MAAQ,MAGJ,KAAI,EAAa,CACnB,OAAO,GAAU,KAAK,KAAK,EAAE,OAAO,CAAC,IAAQ,IAAQ,EAAE,KAGrD,KAAI,CAAC,EAAa,CACpB,KAAK,MAAQ,GAAS,CAAC,EAGjB,eAA0B,CAAC,KAE/B,cAAa,EAAY,CAC3B,OAAO,KAAK,kBAGV,cAAa,CAAC,EAAqB,CACrC,GAAI,OAAO,IAAM,SACf,KAAK,eAAiB,GAAY,yBAAyB,CAAC,EAE5D,UAAK,eAAiB,EAExB,KAAK,YAAY,QAIJ,yBAAwB,CAAC,EAA0B,CAChE,OAAO,GAAU,CAAO,EAAE,IAAI,CAAC,IAAS,IAAQ,GAAK,KAAO,CAAI,EAGlE,iBAAiB,EAAS,CACxB,MAAM,kBAAkB,EAExB,IAAM,EAAW,KAAK,aAAa,gBAAgB,EACnD,GAAI,GAAY,KAAK,eAAe,SAAW,EAC7C,KAAK,eAAiB,GAAY,yBAAyB,CAAQ,EAKvE,oBAAoB,CAAC,EAAyB,CAC5C,KAAK,SAAW,EAGlB,iBAAiB,EAAS,CACxB,KAAK,MAAQ,GAGf,OAAS,CAAC,IAAgB,CACxB,IAAM,EAAU,EAAI,KAAK,EACzB,GAAI,IAAY,IAAM,KAAK,KAAK,SAAS,CAAO,EAC9C,OAEF,KAAK,KAAO,CAAC,GAAG,KAAK,KAAM,CAAO,EAClC,KAAK,YAAY,EAAI,GAGvB,UAAY,CAAC,IAAoB,CAC/B,GAAI,KAAK,KAAK,SAAS,CAAO,EAC5B,KAAK,KAAO,KAAK,KAAK,OAAO,CAAC,IAAM,IAAM,CAAO,EACjD,KAAK,YAAY,EAAI,EAErB,UAAK,OAAO,CAAO,GAIvB,SAAW,CAAC,IAAyB,CACnC,IAAQ,YAAa,KAAK,MAC1B,OAAQ,EAAM,SACP,IACH,CACE,IAAM,EAAM,EAAS,MAAM,MAAM,GAAG,EAAE,GACtC,KAAK,OAAO,CAAG,CACjB,CACA,UACG,QACH,CACE,IAAM,EAAM,EAAS,MAAM,MAAM,GAAG,EAAE,GACtC,KAAK,OAAO,CAAG,CACjB,CACA,EAAM,gBAAgB,EACtB,EAAM,eAAe,EACrB,iBAMN,cAAgB,IAAM,CACpB,IAAQ,aAAc,MACd,WAAY,KAAK,MACnB,EAAgB,CAAC,GAAG,KAAK,aAAa,EACtC,EAAY,KAAK,KAAK,OAAO,CAAC,IAAQ,CAAC,EAAK,SAAS,CAAG,CAAC,EAC/D,GAAI,EAAU,OACZ,EAAK,KAAK,KAAM,GAAG,CAAS,EAE9B,IAAM,EAAwB,EAAK,IAAI,CAAC,IAAQ,CAC9C,GAAI,IAAQ,IAAM,IAAQ,KACxB,OAAO,KACF,QAAI,OAAO,IAAQ,SACxB,MAAO,CACL,QAAS,IAAM,KAAK,KAAK,SAAS,EAAI,KAAK,EAC3C,QAAS,EAAI,QACb,MAAM,EAAG,CACP,EAAU,EAAI,KAAK,EAEvB,EAEA,WAAO,CACL,QAAS,IAAM,KAAK,KAAK,SAAS,CAAG,EACrC,QAAS,EACT,MAAM,EAAG,CACP,EAAU,CAAG,EAEjB,EAEH,EAED,EAAQ,CACN,OAAQ,EACR,MAAO,OACP,WACF,CAAC,GAGH,QAAU,IAAM,CAEd,GAAO,CAAE,KAAM,SAAU,MAAO,CAAE,WAAY,QAAS,EAAG,SAAU,EAAG,CAAC,EACxE,GAAI,CACF,KAAM,eACN,MAAO,MACP,KAAM,OACN,UAAW,eACb,CAAC,EACD,GAAM,CACJ,KAAM,WACN,MAAO,UACP,UAAW,gBACX,UAAW,KAAK,QAClB,CAAC,EACD,GACE,CACE,KAAM,SACN,MAAO,UACP,UAAW,wBACX,aAAc,UACd,KAAM,UACN,QAAS,KAAK,aAChB,EACA,EAAM,YAAY,CACpB,CACF,EAEA,UAAY,CAAC,IAAiB,CAC5B,GAAI,KAAK,UAAY,CAAC,KAAK,SAAU,CACnC,IAAM,EAAO,EAAM,OAAuB,QACxC,GAAQ,OACV,EACA,KAAK,KAAO,KAAK,KAAK,OAAO,CAAC,IAAM,IAAM,EAAI,OAAO,EACrD,EAAI,OAAO,EACX,KAAK,YAAY,EAAI,EAEvB,EAAM,gBAAgB,EACtB,EAAM,eAAe,GAGvB,MAAM,EAAS,CACb,MAAM,OAAO,EAEb,IAAQ,eAAc,UAAS,YAAa,KAAK,MASjD,GAHA,EAAQ,SAAW,KAAK,SACxB,EAAS,MAAQ,GACjB,EAAS,aAAa,cAAe,KAAK,WAAW,EACjD,KAAK,UAAY,CAAC,KAAK,SACzB,EAAQ,gBAAgB,SAAU,EAAK,EACvC,EAAS,gBAAgB,SAAU,CAAC,KAAK,SAAS,EAElD,OAAQ,gBAAgB,SAAU,EAAI,EACtC,EAAS,gBAAgB,SAAU,EAAI,EAGzC,EAAa,YAAc,GAC3B,QAAW,KAAO,KAAK,KACrB,EAAa,OACX,GAAQ,CACN,QAAS,EACT,WAAY,KAAK,UAAY,CAAC,KAAK,SACnC,eAAgB,KAAK,SACvB,CAAC,CACH,EAGN,CAKO,IAAM,GAAiC,GAEjC,GACX,GAAY,eAAe,EAGhB,GAAa,GACxB,IAAI,IAAyC,GAAY,GAAG,CAAI,EAChE,gFACF,EC9gBO,IAAM,GAAU,SCgDvB,IAAQ,SAAS,EAQb,GAAiC,KACjC,GAAoD,KACpD,GAAoC,KAElC,GAAgB,eAEhB,GAAmB,EACtB,IAAI,MAAkB,CACrB,cAAe,OACf,QAAS,EAAW,mBAAmB,UAAU,EACjD,aAAc,EAAW,kBAAkB,KAAK,EAChD,WAAY,EAAW,cAAc,MAAM,EAC3C,MAAO,EAAW,iBAAiB,MAAM,EACzC,SAAU,EAAW,oBAAoB,MAAM,EAC/C,WAAY,MACZ,SAAU,EAAW,oBAAoB,OAAO,EAChD,WAAY,WACZ,UAAW,kBACX,SAAU,UACZ,GACC,IAAI,QAAoB,CACvB,OAAQ,GACV,GACC,IAAI,WAAuB,CAC1B,WAAY,QACZ,QAAS,QACT,aAAc,MACd,SAAU,OACZ,GACC,IAAI,QAAoB,CACvB,MAAO,SACT,GACC,IAAI,cAA0B,CAC7B,QAAS,KACT,SAAU,WACV,MAAO,MACP,OAAQ,MACR,WAAY,UACZ,UAAW,eACb,GACC,IAAI,mBAA+B,CAClC,IAAK,OACL,KAAM,2BACR,GACC,IAAI,mBAA+B,CAClC,OAAQ,OACR,KAAM,2BACR,GACC,IAAI,mBAA+B,CAClC,KAAM,OACN,IAAK,2BACP,GACC,IAAI,mBAA+B,CAClC,MAAO,OACP,IAAK,2BACP,CACF,EAKI,GAAwB,GAC5B,SAAS,EAAmB,EAAS,CACnC,GAAI,GAAuB,OAC3B,GAAwB,GACxB,GAAW,eAAgB,EAAgB,EAG7C,SAAS,EAAW,EAAS,CAC3B,GAAI,KAAgB,KAClB,aAAa,EAAW,EACxB,GAAc,KAEhB,GAAI,KAAiB,KACnB,GAAa,OAAO,EACpB,GAAe,KAEjB,GAAgB,KAGlB,SAAS,EAAU,CAAC,EAAiC,CACnD,GAAI,EAAS,WAAW,GAAG,EAAG,MAAO,OACrC,GAAI,EAAS,WAAW,GAAG,EAAG,MAAO,OACrC,GAAI,EAAS,WAAW,GAAG,EAAG,MAAO,OACrC,GAAI,EAAS,WAAW,GAAG,EAAG,MAAO,OACrC,MAAO,OAGT,SAAS,EAAa,CACpB,EACA,EACA,EACM,CACN,IAAM,EAAa,EAAO,sBAAsB,EAC1C,EAAU,EAAU,sBAAsB,EAC1C,EAAW,EAAW,KAAO,EAAW,MAAQ,IAChD,EAAW,EAAW,IAAM,EAAW,OAAS,IAElD,EACJ,GAAI,EAAS,WAAW,GAAG,GAAK,EAAS,WAAW,GAAG,EACrD,EACE,KAAK,IAAI,EAAG,KAAK,IAAI,EAAQ,MAAQ,EAAG,EAAW,EAAQ,IAAI,CAAC,EAAI,EAEtE,OACE,KAAK,IAAI,EAAG,KAAK,IAAI,EAAQ,OAAS,EAAG,EAAW,EAAQ,GAAG,CAAC,EAAI,EAExE,EAAU,MAAM,YAAY,uBAAwB,EAAS,IAAI,EAGnE,SAAS,EAAU,CAAC,EAAc,EAAmC,CACnE,GAAI,EACF,EAAO,EAAS,CAAI,EAEtB,IAAM,EAAK,GAAK,CAAE,MAAO,EAAc,CAAC,EAExC,OADA,EAAG,UAAY,EAAO,YAAY,CAAI,EAC/B,EAGT,SAAS,EAAW,CAClB,EACA,EACA,EACM,CACN,GAAoB,EACpB,GAAY,EACZ,GAAgB,EAEhB,IAAQ,MAAK,OAAM,SAAU,EAAO,sBAAsB,EACpD,EAAK,EAAO,EAAQ,IACpB,EAAI,OAAO,YACX,EAAI,OAAO,WACX,GAA4B,EAAM,EAAI,IAAM,IAAM,MACrD,EAAK,EAAI,IAAM,IAAM,KAElB,EAAU,GAAW,EAAM,CAAW,EAC5C,EAAQ,UAAU,IAAI,GAAW,CAAQ,CAAC,EAE1C,GAAe,GAAS,CACtB,UACA,SACA,WACA,eAAgB,SAChB,eAAgB,QAClB,CAAC,EAED,sBAAsB,IAAM,CAC1B,GAAI,IAAgB,GAClB,GAAc,EAAS,EAAQ,CAAQ,EAE1C,EAGH,SAAS,EAAiB,CAAC,EAAkC,CAC3D,QAAW,KAAQ,EAAM,aAAa,EACpC,GAAI,aAAgB,aAAe,EAAK,QAAQ,QAC9C,OAAO,EAGX,OAAO,KAGF,SAAS,EAAY,CAAC,EAA0B,CAAC,EAAS,CAC/D,GAAoB,EACpB,IACE,gBAAgB,GAChB,QAAQ,IACR,SAAU,EAAc,IACtB,EAEJ,SAAS,iBAAiB,cAAe,CAAC,IAAwB,CAChE,GAAI,GACF,QAAW,KAAQ,EAAM,aAAa,EACpC,GAAI,aAAgB,aAAe,EAAK,OAAS,CAAC,EAAK,QAAQ,QAAS,CACtE,EAAK,QAAQ,QAAU,EAAK,MAC5B,EAAK,gBAAgB,OAAO,EAC5B,OAKN,IAAM,EAAS,GAAkB,CAAK,EAEtC,GAAI,IAAW,GAAe,OAI9B,GAFA,GAAY,EAER,CAAC,EAAQ,OACb,IAAM,EAAO,EAAO,QAAQ,SAAW,KACvC,GAAI,CAAC,EAAM,OAEX,GAAc,WACZ,IAAM,GAAY,EAAQ,EAAM,CAAW,EAC3C,CACF,EACD,EAED,SAAS,iBAAiB,eAAgB,EAAW,EAErD,SAAS,iBAAiB,cAAe,EAAW,EACpD,SAAS,iBAAiB,UAAW,EAAW,EAChD,OAAO,iBAAiB,SAAU,GAAa,EAAI,EC7PrD,OAAO,OAAO,WAAY,CAAE,SAAO,UAAQ,CAAC",
|
|
71
|
+
"debugId": "09E6499465C7A30064756E2164756E21",
|
|
72
72
|
"names": []
|
|
73
73
|
}
|