tide-commander 1.95.0 → 1.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{BossLogsModal-BNfB6g0E.js → BossLogsModal-CT25hD17.js} +1 -1
- package/dist/assets/{BossSpawnModal-BIcCbrjM.js → BossSpawnModal-9rS7AFkZ.js} +1 -1
- package/dist/assets/{ControlsModal-CS5jOEdY.js → ControlsModal-D-mymoM7.js} +1 -1
- package/dist/assets/{DockerLogsModal-B6sUNqY_.js → DockerLogsModal-Ae-ZCeeP.js} +1 -1
- package/dist/assets/EmbeddedEditor-DLOOpM0K.js +33 -0
- package/dist/assets/{GmailOAuthSetup-OPmwhJyE.js → GmailOAuthSetup-C9NLhWLo.js} +1 -1
- package/dist/assets/{GoogleOAuthSetup-BEc7lAua.js → GoogleOAuthSetup-1kzgrPV6.js} +1 -1
- package/dist/assets/{IframeModal-VrlQUMlO.js → IframeModal-DKS0IFsr.js} +1 -1
- package/dist/assets/{IntegrationsPanel-ta1yp-s4.js → IntegrationsPanel-CBvKOeud.js} +2 -2
- package/dist/assets/{LogViewerModal-B_4ke-1p.js → LogViewerModal-Dlt8JfVg.js} +1 -1
- package/dist/assets/{MonitoringModal-BHAuVdYA.js → MonitoringModal-BM1IEZv6.js} +1 -1
- package/dist/assets/{PM2LogsModal-BfKic3hD.js → PM2LogsModal-B1-HUHWZ.js} +1 -1
- package/dist/assets/{RestoreArchivedAreaModal-Bxk9GcPa.js → RestoreArchivedAreaModal-DXmYo7fp.js} +1 -1
- package/dist/assets/{Scene2DCanvas-COVSkNbV.js → Scene2DCanvas-CuUxSaPb.js} +1 -1
- package/dist/assets/{SceneManager-DWVI2idg.js → SceneManager-UD3IHY20.js} +1 -1
- package/dist/assets/{SkillsPanel-BnKqbJyg.js → SkillsPanel-DjRBVrO2.js} +1 -1
- package/dist/assets/SlackMultiInstanceSetup-Csp81Dqn.js +2 -0
- package/dist/assets/{SpawnModal-ClZUpgWy.js → SpawnModal-dg0mH3d9.js} +1 -1
- package/dist/assets/{SubordinateAssignmentModal-Dn8tejNU.js → SubordinateAssignmentModal-CeBPRNNX.js} +1 -1
- package/dist/assets/{TriggerManagerPanel-oBoHJdcv.js → TriggerManagerPanel-D1QPpFhP.js} +1 -1
- package/dist/assets/{WorkflowEditorPanel-Bwju9-46.js → WorkflowEditorPanel-IIsptZgp.js} +1 -1
- package/dist/assets/{index-Bu_n7vgB.js → index-BGh9tRSy.js} +1 -1
- package/dist/assets/{index-CfliOGe8.js → index-CIqkVLo1.js} +1 -1
- package/dist/assets/{index-CBh6qNCb.js → index-CNDUxsGy.js} +1 -1
- package/dist/assets/{index-umTVv-4x.js → index-CR9w26tq.js} +1 -1
- package/dist/assets/{index-DMUs4kjY.js → index-CsyPNc8u.js} +1 -1
- package/dist/assets/{index-DvBhO5je.js → index-DEI-vrXk.js} +1 -1
- package/dist/assets/{index-DgwVJN80.js → index-h-IcmGfB.js} +2 -2
- package/dist/assets/index-sDgBtEgH.js +19 -0
- package/dist/assets/{index-fIzifjgU.js → index-vJkimYqD.js} +1 -1
- package/dist/assets/main-BV_IuaBg.css +1 -0
- package/dist/assets/main-klWBzHh0.js +214 -0
- package/dist/assets/{web-Cp8n5FK3.js → web-BgPjNMBK.js} +1 -1
- package/dist/assets/{web-pfDqogx0.js → web-BmPSJLwQ.js} +1 -1
- package/dist/assets/{web-BD4VGICh.js → web-Dggt4D4N.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/src/packages/server/data/builtin-skills/create-building.js +521 -484
- package/dist/src/packages/server/integrations/slack/slack-config.js +13 -0
- package/dist/src/packages/server/integrations/slack/slack-trigger-handler.js +12 -4
- package/dist/src/packages/server/routes/buildings.js +298 -0
- package/dist/src/packages/server/routes/index.js +3 -1
- package/dist/src/packages/server/services/building-service.js +400 -85
- package/dist/src/packages/server/websocket/handler.js +2 -4
- package/package.json +1 -1
- package/dist/assets/EmbeddedEditor-DiXmHZpX.js +0 -1
- package/dist/assets/SlackMultiInstanceSetup-BuA87Vlm.js +0 -2
- package/dist/assets/index-CXBrQLNP.js +0 -51
- package/dist/assets/main-BaGMbjuZ.js +0 -214
- package/dist/assets/main-BfT_95fk.css +0 -1
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/EmbeddedEditor-DiXmHZpX.js","assets/main-BaGMbjuZ.js","assets/vendor-react--Eh9ivFN.js","assets/vendor-three-Chj50gSY.js","assets/main-BfT_95fk.css","assets/EmbeddedEditor-Dx2pJa2-.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as g,aJ as $e,l as fe,aX as zl,M as lg,S as Ms,N as cg,s as Er,u as je,j as h,I as F,bA as Uo,f as ug,bB as fg,bC as c1,bD as hg,bE as dg,bF as u1,bG as f1,bH as Ul,bI as h1,bJ as d1,bK as qf,bL as $1,bM as $g,bN as vs,bO as _s,aa as FO,bP as ya,bQ as xa,bR as Ud,bS as p1,b3 as Q1,bT as iu,bU as m1,bV as g1,bW as qd,C as P1,n as S1}from"./main-BaGMbjuZ.js";function b1(t){const[e,i]=g.useState(null),[n,O]=g.useState(!1),r=g.useCallback(async()=>{if(t){O(!0);try{const a=await $e(fe(`/api/files/git-status?path=${encodeURIComponent(t)}`)),s=await a.json();a.ok?i(s):i({isGitRepo:!1,files:[]})}catch(a){console.error("[FileExplorer] Failed to load git status:",a),i({isGitRepo:!1,files:[]})}finally{O(!1)}}},[t]);return{gitStatus:e,loading:n,loadGitStatus:r}}async function y1(t){try{const e=await $e(fe(`/api/files/git-original?path=${encodeURIComponent(t)}`)),i=await e.json();return e.ok&&!i.isNew?{content:i.content,isNew:!1}:{content:null,isNew:!0}}catch(e){return console.error("[FileExplorer] Failed to load original file:",e),{content:null,isNew:!0}}}const x1=new Set([".txt",".md",".markdown",".json",".yaml",".yml",".xml",".html",".htm",".css",".scss",".sass",".less",".js",".jsx",".ts",".tsx",".mjs",".cjs",".py",".rb",".c",".cpp",".h",".hpp",".cs",".go",".rs",".swift",".kt",".scala",".clj",".ex",".exs",".erl",".hs",".ml",".fs",".sql",".sh",".bash",".zsh",".fish",".ps1",".bat",".cmd",".toml",".ini",".cfg",".conf",".env",".gitignore",".dockerignore",".editorconfig",".prettierrc",".eslintrc",".babelrc",".log",".csv",".tsv",".svg",""]),X1=new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".ico",".svg"]),w1=new Set([".pdf"]),k1=new Set([".xlsx",".xls",".docx",".doc",".pptx",".ppt",".zip",".tar",".gz",".rar",".7z",".exe",".dmg",".app",".deb",".rpm",".apk",".aab",".ipa",".msi",".mp3",".mp4",".wav",".avi",".mov",".mkv",".flac",".ogg",".webm",".ttf",".otf",".woff",".woff2",".eot",".sqlite",".db",".so",".dll",".dylib",".a",".o",".obj",".bin",".dat",".iso",".img",".jar",".war",".ear",".class"]);function T1(t){const e=t.toLowerCase();return X1.has(e)?"image":w1.has(e)?"pdf":k1.has(e)?"binary":(x1.has(e),"text")}function v1(){const[t,e]=g.useState(null),[i,n]=g.useState(!1),[O,r]=g.useState(null),a=g.useCallback(async o=>{var l,c;n(!0),r(null);try{const u=o.substring(o.lastIndexOf(".")).toLowerCase(),f=T1(u),d=o.substring(o.lastIndexOf("/")+1);if(f==="image"){const P=await $e(fe(`/api/files/binary?path=${encodeURIComponent(o)}`));if(!P.ok){const x=await P.json().catch(()=>({error:"Failed to load image"}));r(x.error||"Failed to load image"),e(null);return}const m=await P.blob(),S=URL.createObjectURL(m);e({path:o,filename:d,extension:u,content:"",size:m.size,modified:new Date().toISOString(),fileType:"image",dataUrl:S});return}if(f==="pdf"){const P=await $e(fe(`/api/files/info?path=${encodeURIComponent(o)}`)),m=await P.json();if(!P.ok){r(m.error||"Failed to load PDF info"),e(null);return}e({path:o,filename:d,extension:u,content:"",size:m.size,modified:m.modified,fileType:"pdf",dataUrl:fe(`/api/files/binary?path=${encodeURIComponent(o)}&token=${encodeURIComponent(zl())}`)});return}if(f==="binary"){const P=await $e(fe(`/api/files/info?path=${encodeURIComponent(o)}`)),m=await P.json();if(!P.ok){r(m.error||"Failed to load file info"),e(null);return}e({path:o,filename:d,extension:u,content:"",size:m.size,modified:m.modified,fileType:"binary",dataUrl:fe(`/api/files/binary?path=${encodeURIComponent(o)}&download=true&token=${encodeURIComponent(zl())}`)});return}const p=await $e(fe(`/api/files/read?path=${encodeURIComponent(o)}`)),Q=await p.json();if(!p.ok){if((l=Q.error)!=null&&l.includes("too large")||(c=Q.error)!=null&&c.includes("binary")){const P=await $e(fe(`/api/files/info?path=${encodeURIComponent(o)}`)),m=await P.json();if(P.ok){e({path:o,filename:d,extension:u,content:"",size:m.size,modified:m.modified,fileType:"binary",dataUrl:fe(`/api/files/binary?path=${encodeURIComponent(o)}&download=true&token=${encodeURIComponent(zl())}`)});return}}r(Q.error||"Failed to load file"),e(null);return}e({...Q,fileType:"text"})}catch(u){const f=u instanceof Error?u.message:"Failed to load file";r(f),e(null)}finally{n(!1)}},[]),s=g.useCallback(()=>{e(o=>(o!=null&&o.dataUrl&&o.dataUrl.startsWith("blob:")&&URL.revokeObjectURL(o.dataUrl),null)),r(null)},[]);return{file:t,loading:i,error:O,loadFile:a,clearFile:s,setFile:e}}const ql="file-explorer-state",_1=10080*60*1e3;function R1(t,e){return e?`${ql}-folder-${e}`:t?`${ql}-area-${t}`:`${ql}-default`}async function Y1(t){try{const e=await $e(fe(`/api/files/exists?path=${encodeURIComponent(t)}`));return e.ok?(await e.json()).exists===!0:!1}catch{return!1}}function Z1({areaId:t,folderPath:e,isOpen:i}){const n=R1(t,e),O=g.useRef(!1);g.useEffect(()=>{O.current=!1},[t,e]);const r=g.useCallback(async()=>{if(O.current)return null;O.current=!0;try{const s=localStorage.getItem(n);if(!s)return null;const o=JSON.parse(s);if(Date.now()-o.timestamp>_1)return localStorage.removeItem(n),null;const c=(await Promise.all(o.tabs.map(async f=>({tab:f,exists:await Y1(f.path)})))).filter(({exists:f})=>f).map(({tab:f})=>f);let u=o.activeTabPath;return u&&!c.some(f=>f.path===u)&&(u=c.length>0?c[0].path:null),{tabs:c,activeTabPath:u,viewMode:o.viewMode||"files",selectedFolderIndex:o.selectedFolderIndex||0,expandedPaths:new Set(o.expandedPaths||[])}}catch(s){return console.error("[FileExplorerStorage] Failed to load state:",s),null}},[n]),a=g.useCallback(s=>{if(i)try{const o={tabs:s.tabs,activeTabPath:s.activeTabPath,viewMode:s.viewMode,selectedFolderIndex:s.selectedFolderIndex,expandedPaths:Array.from(s.expandedPaths),timestamp:Date.now()};localStorage.setItem(n,JSON.stringify(o))}catch(o){console.error("[FileExplorerStorage] Failed to save state:",o)}},[n,i]);return{loadStoredState:r,saveState:a}}const Vd=280,Wd=150,jd=1200;function z1(){const[t,e]=g.useState(()=>{const l=lg(Ms.TREE_PANEL_WIDTH,Vd);return l>=Wd&&l<=jd?l:Vd}),i=g.useRef(!1),[n,O]=g.useState(!1),r=g.useRef(0),a=g.useRef(0),s=g.useRef(t);s.current=t;const o=g.useCallback(l=>{l.preventDefault(),i.current=!0,O(!0),r.current=l.clientX,a.current=t,document.body.style.cursor="ew-resize",document.body.style.userSelect="none"},[t]);return g.useEffect(()=>{const l=u=>{if(!i.current)return;const f=u.clientX-r.current,d=Math.min(jd,Math.max(Wd,a.current+f));e(d)},c=()=>{i.current&&(i.current=!1,O(!1),document.body.style.cursor="",document.body.style.userSelect="",cg(Ms.TREE_PANEL_WIDTH,s.current))};return document.addEventListener("mousemove",l),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",c)}},[]),{treePanelWidth:t,handleResizeStart:o,isResizing:n}}const U1=100,q1=.65,V1=36;function W1(){const[t,e]=g.useState(()=>lg(Ms.MOBILE_TREE_PANEL_HEIGHT,0)),i=g.useRef(t);i.current=t;const n=g.useRef(0),O=g.useRef(0),r=()=>Math.floor((window.innerHeight-V1)*q1),a=u=>Math.min(r(),Math.max(U1,u)),s=g.useCallback(u=>{e(u);const f=document.querySelector(".file-explorer-main");f&&f.style.setProperty("--fe-mobile-tree-height",`${u}px`)},[]),o=g.useCallback(()=>{document.body.style.cursor="",document.body.style.userSelect="",cg(Ms.MOBILE_TREE_PANEL_HEIGHT,i.current),Er.setTerminalResizing(!1)},[]),l=g.useCallback(u=>{u.preventDefault();const f=document.querySelector(".file-explorer-tree-panel"),d=i.current>0?i.current:(f==null?void 0:f.getBoundingClientRect().height)??240;n.current=u.clientY,O.current=d,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",Er.setTerminalResizing(!0);const p=P=>{const m=P.clientY-n.current;s(a(O.current+m))},Q=()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",Q),o()};document.addEventListener("mousemove",p),document.addEventListener("mouseup",Q)},[s,o]),c=g.useCallback(u=>{if(u.touches.length!==1)return;const f=document.querySelector(".file-explorer-tree-panel"),d=i.current>0?i.current:(f==null?void 0:f.getBoundingClientRect().height)??240;n.current=u.touches[0].clientY,O.current=d,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",Er.setTerminalResizing(!0);const p=P=>{if(P.touches.length!==1)return;P.preventDefault();const m=P.touches[0].clientY-n.current;s(a(O.current+m))},Q=()=>{document.removeEventListener("touchmove",p),document.removeEventListener("touchend",Q),document.removeEventListener("touchcancel",Q),o()};document.addEventListener("touchmove",p,{passive:!1}),document.addEventListener("touchend",Q),document.addEventListener("touchcancel",Q)},[s,o]);return{mobileTreeHeight:t,handleResizeMouseDown:l,handleResizeTouchStart:c}}function Vf(){const[t,e]=g.useState([]),[i,n]=g.useState(!1),[O,r]=g.useState(null),[a,s]=g.useState(null),o=g.useCallback(async P=>{n(!0),r(null);try{const m=await $e(fe(`/api/files/git-branches?path=${encodeURIComponent(P)}`)),S=await m.json();m.ok?e(S.branches||[]):(r(S.error||"Failed to load branches"),e([]))}catch(m){console.error("[GitBranches] Failed to load branches:",m),r("Failed to load branches"),e([])}finally{n(!1)}},[]),l=g.useCallback(async(P,m)=>{s("checkout"),r(null);try{const S=await $e(fe("/api/files/git-checkout"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:P,branch:m})}),x=await S.json();return S.ok||r(x.error||"Checkout failed"),x}catch(S){console.error("[GitBranches] Checkout failed:",S);const x={success:!1,error:"Checkout failed"};return r(x.error),x}finally{s(null)}},[]),c=g.useCallback(async(P,m,S)=>{s("create"),r(null);try{const x=await $e(fe("/api/files/git-branch-create"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:P,name:m,startPoint:S})}),z=await x.json();return x.ok||r(z.error||"Failed to create branch"),z}catch(x){console.error("[GitBranches] Create branch failed:",x);const z={success:!1,error:"Failed to create branch"};return r(z.error),z}finally{s(null)}},[]),u=g.useCallback(async P=>{s("pull"),r(null);try{const m=await $e(fe("/api/files/git-pull"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:P})}),S=await m.json();return!m.ok&&!S.conflicts&&r(S.error||"Pull failed"),S}catch(m){console.error("[GitBranches] Pull failed:",m);const S={success:!1,error:"Pull failed"};return r(S.error),S}finally{s(null)}},[]),f=g.useCallback(async P=>{s("push"),r(null);try{const m=await $e(fe("/api/files/git-push"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:P})}),S=await m.json();return m.ok||r(S.error||"Push failed"),S}catch(m){console.error("[GitBranches] Push failed:",m);const S={success:!1,error:"Push failed"};return r(S.error),S}finally{s(null)}},[]),d=g.useCallback(async(P,m)=>{s("merge"),r(null);try{const S=await $e(fe("/api/files/git-merge"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:P,branch:m})}),x=await S.json();return!S.ok&&!x.conflicts&&r(x.error||"Merge failed"),x}catch(S){console.error("[GitBranches] Merge failed:",S);const x={success:!1,error:"Merge failed"};return r(x.error),x}finally{s(null)}},[]),p=g.useCallback(async P=>{s("merge-abort"),r(null);try{const m=await $e(fe("/api/files/git-merge-abort"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:P})}),S=await m.json();return m.ok||r(S.error||"Merge abort failed"),S}catch(m){console.error("[GitBranches] Merge abort failed:",m);const S={success:!1,error:"Merge abort failed"};return r(S.error),S}finally{s(null)}},[]),Q=g.useCallback(async P=>{s("merge-continue"),r(null);try{const m=await $e(fe("/api/files/git-merge-continue"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:P})}),S=await m.json();return m.ok||r(S.error||"Merge continue failed"),S}catch(m){console.error("[GitBranches] Merge continue failed:",m);const S={success:!1,error:"Merge continue failed"};return r(S.error),S}finally{s(null)}},[]);return{branches:t,loading:i,error:O,operationInProgress:a,loadBranches:o,checkoutBranch:l,createBranch:c,pullFromRemote:u,pushToRemote:f,mergeBranch:d,mergeAbort:p,mergeContinue:Q}}const j1=50,C1=400,Cd={branch:"",author:"",since:"",until:"",searchPath:"",search:""};function E1(){const[t,e]=g.useState([]),[i,n]=g.useState(!1),[O,r]=g.useState(!1),[a,s]=g.useState(null),[o,l]=g.useState(!1),[c,u]=g.useState(0),[f,d]=g.useState({...Cd}),[p,Q]=g.useState(null),[P,m]=g.useState([]),[S,x]=g.useState(!1),[z,Y]=g.useState([]),[U,V]=g.useState(!1),G=g.useRef(null),D=g.useRef(""),E=g.useCallback((X,A,q)=>{const W=q||f,M=new URLSearchParams;return M.set("path",X),M.set("limit",String(j1)),M.set("offset",String(A)),W.branch&&M.set("branch",W.branch),W.author&&M.set("author",W.author),W.since&&M.set("since",W.since),W.until&&M.set("until",W.until),W.searchPath&&M.set("searchPath",W.searchPath),W.search&&M.set("search",W.search),M.toString()},[f]),_=g.useCallback(async X=>{D.current=X,n(!0),s(null),Q(null),m([]);try{const A=E(X,0),q=await $e(fe(`/api/files/git-log?${A}`)),W=await q.json();q.ok?(e(W.commits||[]),u(W.total||0),l(W.hasMore||!1)):(s(W.error||"Failed to load git history"),e([]))}catch(A){console.error("[useGitHistory] loadHistory error:",A),s("Failed to load git history"),e([])}finally{n(!1)}},[E]),R=g.useCallback(async X=>{if(!(O||!o)){r(!0);try{const A=E(X,t.length),q=await $e(fe(`/api/files/git-log?${A}`)),W=await q.json();q.ok&&(e(M=>[...M,...W.commits||[]]),u(W.total||0),l(W.hasMore||!1))}catch(A){console.error("[useGitHistory] loadMore error:",A)}finally{r(!1)}}},[E,t.length,o,O]),T=g.useCallback(async X=>{if(Q(X),!X){m([]);return}x(!0);try{const A=D.current,q=new URLSearchParams({path:A,hash:X.hash}),W=await $e(fe(`/api/files/git-commit-files?${q}`)),M=await W.json();W.ok?m(M.files||[]):m([])}catch(A){console.error("[useGitHistory] selectCommit files error:",A),m([])}finally{x(!1)}},[]),y=g.useCallback((X,A)=>{d(q=>({...q,[X]:A}))},[]),w=g.useCallback(()=>{d({...Cd})},[]);g.useEffect(()=>{const X=D.current;if(X)return G.current&&clearTimeout(G.current),G.current=setTimeout(()=>{_(X)},C1),()=>{G.current&&clearTimeout(G.current)}},[f]);const Z=g.useCallback(async X=>{V(!0);try{const A=new URLSearchParams({path:X}),q=await $e(fe(`/api/files/git-authors?${A}`)),W=await q.json();q.ok&&Y(W.authors||[])}catch(A){console.error("[useGitHistory] loadAuthors error:",A)}finally{V(!1)}},[]);return{commits:t,loading:i,loadingMore:O,error:a,hasMore:o,total:c,filters:f,setFilter:y,resetFilters:w,selectedCommit:p,selectCommit:T,commitFiles:P,commitFilesLoading:S,loadHistory:_,loadMore:R,authors:z,authorsLoading:U,loadAuthors:Z}}function G1(t){if(!t.current)return null;const e=[".file-viewer-code-with-lines",".file-viewer-markdown-wrapper",".file-viewer-code-wrapper",".file-viewer-diagram-wrapper",".file-viewer-image-wrapper",".file-viewer-pdf-wrapper"];for(const i of e){const n=t.current.querySelector(i);if(n&&Ed(n))return n}return Ed(t.current)?t.current:null}function Ed(t){const e=["auto","scroll"].includes(getComputedStyle(t).overflowY),i=t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth;return e&&i}function pg(t){if(!t)return 19.5;const e=parseFloat(getComputedStyle(t).lineHeight);return isNaN(e)?19.5:e}function Vl(t,e=!0){const i=e?t.scrollHeight:0;t.scrollTo({top:i,behavior:"smooth"})}function A1(t){const{scrollTop:e,scrollHeight:i,clientHeight:n}=t;return i<=n?100:Math.round(e/(i-n)*100)}function N1(t,e){const i=pg(t),n=t.scrollTop,O=Math.floor(n/i)+1,r=e.split(`
|
|
3
|
-
`).length;return Math.min(O,r)}function I1(t,e,i=!1){if(!e)return[];i||t.toLowerCase();const n=i?e:e.toLowerCase(),O=[];let r=0;const a=t.split(`
|
|
4
|
-
`);let s=0;for(let o=0;o<a.length;o++){const l=a[o],c=i?l:l.toLowerCase();let u=0,f=c.indexOf(n);for(;f!==-1;){const d=s+f;O.push({index:r++,line:o+1,column:f,length:n.length,charIndex:d}),u=f+n.length,f=c.indexOf(n,u)}s+=l.length+1}return O}function HO(t){return/[\w]/.test(t)}function Mn(t){return/\s/.test(t)}function L1(t,e,i){let n=e-1,O=i;const r=t.length,a=t[n]||"";if(O<a.length){const l=HO(a[O]);if(!Mn(a[O]))for(;O<a.length&&!Mn(a[O])&&HO(a[O])===l;)O++}for(;n<r;){const l=t[n]||"";for(;O<l.length&&Mn(l[O]);)O++;if(O<l.length)return{line:n+1,col:O};n++,O=0}const s=r,o=Math.max(0,(t[r-1]||"").length-1);return{line:s,col:o}}function D1(t,e,i){let n=e-1,O=i+1;const r=t.length;for(;n<r;){const o=t[n]||"";for(;O<o.length&&Mn(o[O]);)O++;if(O<o.length)break;n++,O=0}if(n>=r)return{line:r,col:Math.max(0,(t[r-1]||"").length-1)};const a=t[n]||"",s=HO(a[O]);for(;O+1<a.length&&!Mn(a[O+1])&&HO(a[O+1])===s;)O++;return{line:n+1,col:O}}function M1(t,e,i){let n=e-1,O=i-1;for(;n>=0;){const s=t[n]||"";for(;O>=0&&Mn(s[O]);)O--;if(O>=0)break;n--,n>=0&&(O=(t[n]||"").length-1)}if(n<0)return{line:1,col:0};const r=t[n]||"",a=HO(r[O]);for(;O>0&&!Mn(r[O-1])&&HO(r[O-1])===a;)O--;return{line:n+1,col:O}}function B1(t,e,i,n){if(n==="none")return"";const{anchorLine:O,anchorCol:r,headLine:a,headCol:s}=i;if(n==="line"){const d=Math.min(O,a),p=Math.max(O,a);return e.slice(d-1,p).join(`
|
|
5
|
-
`)}let o,l,c,u;if(O<a||O===a&&r<=s?(o=O,l=r,c=a,u=s):(o=a,l=s,c=O,u=r),o===c)return(e[o-1]||"").substring(l,u+1);const f=[];f.push((e[o-1]||"").substring(l));for(let d=o;d<c-1;d++)f.push(e[d]||"");return f.push((e[c-1]||"").substring(0,u+1)),f.join(`
|
|
6
|
-
`)}function Qg(t){const{containerRef:e,isEnabled:i=!0,content:n="",onClose:O,onSearchOpen:r}=t,a=g.useRef({percentage:0,line:1,column:1}),s=g.useRef(null),o=g.useRef(19.5),l=g.useMemo(()=>n.split(`
|
|
7
|
-
`),[n]),c=l.length,[u,f]=g.useState(1),[d,p]=g.useState(0),[Q,P]=g.useState(!1),[m,S]=g.useState("none"),[x,z]=g.useState(null),[Y,U]=g.useState(!1),[V,G]=g.useState(""),[D,E]=g.useState(0),[_,R]=g.useState(!1),T=g.useMemo(()=>I1(n,V,!1),[n,V]),y=g.useCallback(()=>{const v=s.current;if(!v)return;const le=A1(v),qe=N1(v,n),ce=Math.max(1,Math.round(v.scrollLeft/7.8)+1);a.current={percentage:le,line:qe,column:ce}},[n]),w=g.useCallback(()=>{U(!0),G(""),E(0),r==null||r()},[r]),Z=g.useCallback(()=>{U(!1),G(""),E(0)},[]),X=g.useCallback(()=>{R(v=>!v)},[]),A=g.useCallback(v=>{const le=s.current;if(!le)return;const qe=le.querySelector(".file-viewer-pre"),Me=qe&&parseFloat(getComputedStyle(qe).lineHeight)||o.current,ce=qe&&parseFloat(getComputedStyle(qe).paddingTop)||0,ge=(qe?qe.offsetTop:0)+ce+(v-1)*Me,ve=Me*3;le.scrollTo({top:Math.max(0,ge-ve),behavior:"smooth"})},[]);g.useEffect(()=>{!Y||T.length===0||E(0)},[T,Y]),g.useEffect(()=>{if(!Y||T.length===0)return;const v=T[D];v&&(f(v.line),p(v.column),A(v.line))},[Y,T,D,A]);const q=g.useCallback(()=>{T.length!==0&&E(v=>(v+1)%T.length)},[T]),W=g.useCallback(()=>{T.length!==0&&E(v=>(v-1+T.length)%T.length)},[T]),M=g.useCallback(v=>{const le=s.current;if(!le)return;const qe=le.querySelector(".file-viewer-pre");if(!qe)return;const Me=parseFloat(getComputedStyle(qe).lineHeight),ce=isNaN(Me)?o.current:Me,I=parseFloat(getComputedStyle(qe).paddingTop)||0,ve=qe.offsetTop+I+(v-1)*ce,qt=ve+ce,pt=le.scrollTop,se=pt+le.clientHeight;ve<pt?le.scrollTo({top:Math.max(0,ve),behavior:"auto"}):qt>se&&le.scrollTo({top:qt-le.clientHeight,behavior:"auto"})},[]),ae=g.useCallback((v,le)=>{f(v),p(le),M(v),m!=="none"&&z(qe=>qe?{...qe,headLine:v,headCol:le}:null)},[m,M]),ze=g.useCallback(()=>{if(m==="none"||!x)return;const v=B1(n,l,x,m);v&&navigator.clipboard.writeText(v).catch(()=>{const le=document.createElement("textarea");le.value=v,le.style.position="fixed",le.style.left="-9999px",document.body.appendChild(le),le.select(),document.execCommand("copy"),document.body.removeChild(le)}),S("none"),z(null)},[m,x,n,l]),Te=g.useCallback(v=>{const le=v.target;if((le.tagName==="INPUT"||le.tagName==="TEXTAREA")&&v.key!=="Escape")return;const Me=s.current;if(!Me)return;let ce=!1;const I=o.current,ge=Math.max(1,Math.floor(Me.clientHeight/I)),ve=Math.max(1,Math.floor(ge/2)),qt=(se,Ue)=>{const lt=Math.max(0,(l[se-1]||"").length-1);return Math.min(Ue,Math.max(0,lt))},pt=(se,Ue)=>{const lt=qt(se,Ue);ae(se,lt)};if(v.key==="v"&&!v.shiftKey&&!v.ctrlKey&&!Y)v.preventDefault(),v.stopPropagation(),m==="char"?(S("none"),z(null)):(S("char"),z({anchorLine:u,anchorCol:d,headLine:u,headCol:d})),ce=!0;else if(v.key==="V"&&v.shiftKey&&!v.ctrlKey&&!Y)v.preventDefault(),v.stopPropagation(),m==="line"?(S("none"),z(null)):(S("line"),z({anchorLine:u,anchorCol:0,headLine:u,headCol:0})),ce=!0;else if(v.key==="y"&&!v.ctrlKey&&m!=="none")v.preventDefault(),v.stopPropagation(),ze(),ce=!0;else if(v.key==="j"||v.key==="ArrowDown"){v.preventDefault(),v.stopPropagation();const se=Math.min(u+1,c);pt(se,d),ce=!0}else if(v.key==="k"||v.key==="ArrowUp"){v.preventDefault(),v.stopPropagation();const se=Math.max(u-1,1);pt(se,d),ce=!0}else if(v.key==="d"&&v.ctrlKey||v.key==="d"&&m==="none"&&!Y){v.preventDefault(),v.stopPropagation();const se=Math.min(u+ve,c);pt(se,d),ce=!0}else if(v.key==="u"&&v.ctrlKey||v.key==="u"&&m==="none"&&!Y){v.preventDefault(),v.stopPropagation();const se=Math.max(u-ve,1);pt(se,d),ce=!0}else if((v.ctrlKey||v.metaKey)&&v.key==="f")v.preventDefault(),v.stopPropagation(),w(),ce=!0;else if(v.key==="f"&&!v.ctrlKey&&!v.metaKey&&m==="none"&&!Y){v.preventDefault(),v.stopPropagation();const se=Math.min(u+ge,c);pt(se,d),ce=!0}else if(v.key===" "||v.key==="PageDown"){v.preventDefault(),v.stopPropagation();const se=Math.min(u+ge,c);pt(se,d),ce=!0}else if(v.key==="b"&&!Q&&m==="none"&&!Y||v.key==="PageUp"){v.preventDefault(),v.stopPropagation();const se=Math.max(u-ge,1);pt(se,d),ce=!0}else if(v.key==="g"&&!v.shiftKey&&m==="none"&&!Y)v.preventDefault(),v.stopPropagation(),ae(1,0),Vl(Me,!1),ce=!0;else if(v.key==="Home")v.preventDefault(),v.stopPropagation(),ae(1,0),Vl(Me,!1),ce=!0;else if(v.key==="G"&&v.shiftKey||v.key==="End")v.preventDefault(),v.stopPropagation(),ae(c,0),Vl(Me,!0),ce=!0;else if(v.key==="h"||v.key==="ArrowLeft")v.preventDefault(),v.stopPropagation(),ae(u,Math.max(0,d-1)),ce=!0;else if(v.key==="l"||v.key==="ArrowRight"){v.preventDefault(),v.stopPropagation();const se=(l[u-1]||"").length;ae(u,Math.min(d+1,Math.max(0,se-1))),ce=!0}else if(v.key==="w"&&!v.ctrlKey&&!Y){v.preventDefault(),v.stopPropagation();const se=L1(l,u,d);ae(se.line,se.col),ce=!0}else if(v.key==="e"&&!v.ctrlKey&&!Y){v.preventDefault(),v.stopPropagation();const se=D1(l,u,d);ae(se.line,se.col),ce=!0}else if(v.key==="b"&&!Y){v.preventDefault(),v.stopPropagation();const se=M1(l,u,d);ae(se.line,se.col),ce=!0}else if(v.key==="0")v.preventDefault(),v.stopPropagation(),ae(u,0),ce=!0;else if(v.key==="$")v.preventDefault(),v.stopPropagation(),ae(u,Math.max(0,(l[u-1]||"").length-1)),ce=!0;else if(v.key==="^"){v.preventDefault(),v.stopPropagation();const Ue=(l[u-1]||"").search(/\S/);ae(u,Ue>=0?Ue:0),ce=!0}else v.key==="/"?(v.preventDefault(),v.stopPropagation(),w(),ce=!0):v.key==="n"&&!Y?(v.preventDefault(),v.stopPropagation(),q(),ce=!0):v.key==="N"&&v.shiftKey&&!Y?(v.preventDefault(),v.stopPropagation(),W(),ce=!0):v.key==="?"&&m==="none"?(v.preventDefault(),v.stopPropagation(),X(),ce=!0):v.key==="q"&&m==="none"?(v.preventDefault(),v.stopPropagation(),O==null||O(),ce=!0):v.key==="Escape"&&(m!=="none"?(v.preventDefault(),v.stopPropagation(),S("none"),z(null),ce=!0):Y?(v.preventDefault(),v.stopPropagation(),Z(),ce=!0):Q&&(v.preventDefault(),v.stopPropagation(),P(!1),ce=!0));ce&&(v.key!=="Escape"&&!Q&&P(!0),requestAnimationFrame(y))},[O,y,c,l,u,d,M,Y,Z,m,Q,ae,ze,w,q,W,X]);return g.useEffect(()=>{if(!i)return;const v=G1(e);if(s.current=v,!v){console.warn("[useLessNavigation] Could not find scrollable container");return}o.current=pg(v);const le=()=>{y()};return window.addEventListener("keydown",Te,{capture:!0}),v.addEventListener("scroll",le,{passive:!0}),y(),()=>{window.removeEventListener("keydown",Te,{capture:!0}),v.removeEventListener("scroll",le)}},[i,Te,y]),{scrollPercentage:a.current.percentage,currentLine:a.current.line,currentColumn:a.current.column,totalLines:c,cursorLine:u,cursorCol:d,cursorModeActive:Q,visualMode:m,selection:x,searchActive:Y,searchQuery:V,searchMatches:T,currentMatchIndex:D,startSearch:w,setSearchQuery:G,nextMatch:q,prevMatch:W,clearSearch:Z,helpActive:_,toggleHelp:X}}const Wf=({query:t,onQueryChange:e,matchCount:i,currentIndex:n,onNext:O,onPrev:r,onClose:a})=>{const{t:s}=je(["terminal"]),o=g.useRef(null);g.useEffect(()=>{var u;(u=o.current)==null||u.focus()},[]);const l=g.useCallback(u=>{u.stopPropagation(),u.key==="Enter"||u.key==="ArrowDown"?(u.preventDefault(),O()):u.key==="ArrowUp"&&(u.preventDefault(),r())},[O,r]),c=i===0&&t?s("terminal:fileExplorer.noMatches"):i>0?`${n+1}/${i}`:"";return h.jsxs("div",{className:"file-viewer-search-bar",children:[h.jsxs("div",{className:"file-viewer-search-input-wrapper",children:[h.jsx("span",{className:"file-viewer-search-prefix",children:"/"}),h.jsx("input",{ref:o,type:"text",className:"file-viewer-search-input",placeholder:s("terminal:fileExplorer.searchInFile"),value:t,onChange:u=>e(u.target.value),onKeyDown:l,autoComplete:"off",spellCheck:"false"})]}),t&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"file-viewer-search-counter",children:c}),h.jsxs("div",{className:"file-viewer-search-nav",children:[h.jsx("button",{className:"file-viewer-search-btn file-viewer-search-prev",onClick:r,disabled:i===0,title:s("terminal:fileExplorer.previousMatch"),"aria-label":s("terminal:fileExplorer.previousMatch"),children:h.jsx(F,{name:"caret-up",size:10})}),h.jsx("button",{className:"file-viewer-search-btn file-viewer-search-next",onClick:O,disabled:i===0,title:s("terminal:fileExplorer.nextMatch"),"aria-label":s("terminal:fileExplorer.nextMatch"),children:h.jsx(F,{name:"caret-down",size:10})})]})]}),h.jsx("button",{className:"file-viewer-search-close",onClick:a,title:s("terminal:fileExplorer.closeSearch"),"aria-label":s("terminal:fileExplorer.closeSearch"),children:h.jsx(F,{name:"close",size:12})})]})};Wf.displayName="SearchBar";const F1=[{keys:["j","↓"],description:"Move cursor down one line",category:"Navigation"},{keys:["k","↑"],description:"Move cursor up one line",category:"Navigation"},{keys:["h","←"],description:"Move cursor left",category:"Navigation"},{keys:["l","→"],description:"Move cursor right",category:"Navigation"},{keys:["0"],description:"Jump to start of line",category:"Navigation"},{keys:["$"],description:"Jump to end of line",category:"Navigation"},{keys:["^"],description:"First non-whitespace char",category:"Navigation"},{keys:["d","Ctrl+D"],description:"Half page down",category:"Navigation"},{keys:["u","Ctrl+U"],description:"Half page up",category:"Navigation"},{keys:["f","Space"],description:"Full page down",category:"Navigation"},{keys:["b","Page Up"],description:"Full page up",category:"Navigation"},{keys:["g","Home"],description:"Jump to top of file",category:"Navigation"},{keys:["G","End"],description:"Jump to bottom of file",category:"Navigation"},{keys:["w"],description:"Next word start",category:"Word Motion"},{keys:["e"],description:"Next word end",category:"Word Motion"},{keys:["b"],description:"Previous word start",category:"Word Motion"},{keys:["v"],description:"Character visual mode",category:"Visual Mode"},{keys:["V"],description:"Line visual mode",category:"Visual Mode"},{keys:["y"],description:"Yank (copy) selection",category:"Visual Mode"},{keys:["Escape"],description:"Exit visual mode",category:"Visual Mode"},{keys:["/"],description:"Open search bar",category:"Search"},{keys:["n"],description:"Next match",category:"Search"},{keys:["N"],description:"Previous match",category:"Search"},{keys:["?"],description:"Toggle this help overlay",category:"Help"},{keys:["Escape"],description:"Exit cursor mode (or visual/search)",category:"Help"},{keys:["Alt+E"],description:"Close file viewer",category:"Help"},{keys:["q"],description:"Close file viewer",category:"Help"}],jf=({onClose:t})=>{const{t:e}=je(["terminal"]),i=g.useCallback(r=>{r.target===r.currentTarget&&t()},[t]),n=g.useCallback(r=>{(r.key==="Escape"||r.key==="?")&&(r.preventDefault(),r.stopPropagation(),t())},[t]),O=F1.reduce((r,a)=>(r[a.category]||(r[a.category]=[]),r[a.category].push(a),r),{});return h.jsx("div",{className:"keybindings-help-overlay",onClick:i,onKeyDown:n,tabIndex:0,role:"dialog","aria-label":e("terminal:fileExplorer.keybindingsHelp"),children:h.jsxs("div",{className:"keybindings-help-content",children:[h.jsx("button",{className:"keybindings-help-close",onClick:t,"aria-label":e("terminal:fileExplorer.closeHelp"),title:e("terminal:fileExplorer.pressEscapeToClose"),children:h.jsx(F,{name:"close",size:14})}),h.jsx("h2",{className:"keybindings-help-title",children:e("terminal:fileExplorer.keybindingsHelp")}),h.jsx("p",{className:"keybindings-help-subtitle",children:e("terminal:fileExplorer.keybindingsSubtitle")}),h.jsx("div",{className:"keybindings-help-categories",children:Object.entries(O).map(([r,a])=>h.jsxs("div",{className:"keybindings-help-category",children:[h.jsx("h3",{className:"keybindings-help-category-title",children:r}),h.jsx("div",{className:"keybindings-help-list",children:a.map((s,o)=>h.jsxs("div",{className:"keybindings-help-item",children:[h.jsx("div",{className:"keybindings-help-keys",children:s.keys.map((l,c)=>h.jsx("kbd",{className:"keybindings-help-key",children:l},c))}),h.jsx("div",{className:"keybindings-help-description",children:s.description})]},o))})]},r))}),h.jsx("p",{className:"keybindings-help-footer",children:e("terminal:fileExplorer.keybindingsFooter")})]})})};jf.displayName="KeybindingsHelp";let nu=[],mg=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,i=0;e<t.length;e++)(e%2?mg:nu).push(i=i+t[e])})();function H1(t){if(t<768)return!1;for(let e=0,i=nu.length;;){let n=e+i>>1;if(t<nu[n])i=n;else if(t>=mg[n])e=n+1;else return!0;if(e==i)return!1}}function Gd(t){return t>=127462&&t<=127487}const Ad=8205;function K1(t,e,i=!0,n=!0){return(i?gg:J1)(t,e,n)}function gg(t,e,i){if(e==t.length)return e;e&&Pg(t.charCodeAt(e))&&Sg(t.charCodeAt(e-1))&&e--;let n=Wl(t,e);for(e+=Nd(n);e<t.length;){let O=Wl(t,e);if(n==Ad||O==Ad||i&&H1(O))e+=Nd(O),n=O;else if(Gd(O)){let r=0,a=e-2;for(;a>=0&&Gd(Wl(t,a));)r++,a-=2;if(r%2==0)break;e+=2}else break}return e}function J1(t,e,i){for(;e>0;){let n=gg(t,e-2,i);if(n<e)return n;e--}return 0}function Wl(t,e){let i=t.charCodeAt(e);if(!Sg(i)||e+1==t.length)return i;let n=t.charCodeAt(e+1);return Pg(n)?(i-55296<<10)+(n-56320)+65536:i}function Pg(t){return t>=56320&&t<57344}function Sg(t){return t>=55296&&t<56320}function Nd(t){return t<65536?1:2}class xe{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,i,n){[e,i]=KO(this,e,i);let O=[];return this.decompose(0,e,O,2),n.length&&n.decompose(0,n.length,O,3),this.decompose(i,this.length,O,1),xi.from(O,this.length-(i-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,i=this.length){[e,i]=KO(this,e,i);let n=[];return this.decompose(e,i,n,0),xi.from(n,i-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let i=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),O=new Gr(this),r=new Gr(e);for(let a=i,s=i;;){if(O.next(a),r.next(a),a=0,O.lineBreak!=r.lineBreak||O.done!=r.done||O.value!=r.value)return!1;if(s+=O.value.length,O.done||s>=n)return!0}}iter(e=1){return new Gr(this,e)}iterRange(e,i=this.length){return new bg(this,e,i)}iterLines(e,i){let n;if(e==null)n=this.iter();else{i==null&&(i=this.lines+1);let O=this.line(e).from;n=this.iterRange(O,Math.max(O,i==this.lines+1?this.length:i<=1?0:this.line(i-1).to))}return new yg(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?xe.empty:e.length<=32?new De(e):xi.from(De.split(e,[]))}}class De extends xe{constructor(e,i=ew(e)){super(),this.text=e,this.length=i}get lines(){return this.text.length}get children(){return null}lineInner(e,i,n,O){for(let r=0;;r++){let a=this.text[r],s=O+a.length;if((i?n:s)>=e)return new tw(O,s,n,a);O=s+1,n++}}decompose(e,i,n,O){let r=e<=0&&i>=this.length?this:new De(Id(this.text,e,i),Math.min(i,this.length)-Math.max(0,e));if(O&1){let a=n.pop(),s=Rs(r.text,a.text.slice(),0,r.length);if(s.length<=32)n.push(new De(s,a.length+r.length));else{let o=s.length>>1;n.push(new De(s.slice(0,o)),new De(s.slice(o)))}}else n.push(r)}replace(e,i,n){if(!(n instanceof De))return super.replace(e,i,n);[e,i]=KO(this,e,i);let O=Rs(this.text,Rs(n.text,Id(this.text,0,e)),i),r=this.length+n.length-(i-e);return O.length<=32?new De(O,r):xi.from(De.split(O,[]),r)}sliceString(e,i=this.length,n=`
|
|
8
|
-
`){[e,i]=KO(this,e,i);let O="";for(let r=0,a=0;r<=i&&a<this.text.length;a++){let s=this.text[a],o=r+s.length;r>e&&a&&(O+=n),e<o&&i>r&&(O+=s.slice(Math.max(0,e-r),i-r)),r=o+1}return O}flatten(e){for(let i of this.text)e.push(i)}scanIdentical(){return 0}static split(e,i){let n=[],O=-1;for(let r of e)n.push(r),O+=r.length+1,n.length==32&&(i.push(new De(n,O)),n=[],O=-1);return O>-1&&i.push(new De(n,O)),i}}class xi extends xe{constructor(e,i){super(),this.children=e,this.length=i,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,i,n,O){for(let r=0;;r++){let a=this.children[r],s=O+a.length,o=n+a.lines-1;if((i?o:s)>=e)return a.lineInner(e,i,n,O);O=s+1,n=o+1}}decompose(e,i,n,O){for(let r=0,a=0;a<=i&&r<this.children.length;r++){let s=this.children[r],o=a+s.length;if(e<=o&&i>=a){let l=O&((a<=e?1:0)|(o>=i?2:0));a>=e&&o<=i&&!l?n.push(s):s.decompose(e-a,i-a,n,l)}a=o+1}}replace(e,i,n){if([e,i]=KO(this,e,i),n.lines<this.lines)for(let O=0,r=0;O<this.children.length;O++){let a=this.children[O],s=r+a.length;if(e>=r&&i<=s){let o=a.replace(e-r,i-r,n),l=this.lines-a.lines+o.lines;if(o.lines<l>>4&&o.lines>l>>6){let c=this.children.slice();return c[O]=o,new xi(c,this.length-(i-e)+n.length)}return super.replace(r,s,o)}r=s+1}return super.replace(e,i,n)}sliceString(e,i=this.length,n=`
|
|
9
|
-
`){[e,i]=KO(this,e,i);let O="";for(let r=0,a=0;r<this.children.length&&a<=i;r++){let s=this.children[r],o=a+s.length;a>e&&r&&(O+=n),e<o&&i>a&&(O+=s.sliceString(e-a,i-a,n)),a=o+1}return O}flatten(e){for(let i of this.children)i.flatten(e)}scanIdentical(e,i){if(!(e instanceof xi))return 0;let n=0,[O,r,a,s]=i>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;O+=i,r+=i){if(O==a||r==s)return n;let o=this.children[O],l=e.children[r];if(o!=l)return n+o.scanIdentical(l,i);n+=o.length+1}}static from(e,i=e.reduce((n,O)=>n+O.length+1,-1)){let n=0;for(let d of e)n+=d.lines;if(n<32){let d=[];for(let p of e)p.flatten(d);return new De(d,i)}let O=Math.max(32,n>>5),r=O<<1,a=O>>1,s=[],o=0,l=-1,c=[];function u(d){let p;if(d.lines>r&&d instanceof xi)for(let Q of d.children)u(Q);else d.lines>a&&(o>a||!o)?(f(),s.push(d)):d instanceof De&&o&&(p=c[c.length-1])instanceof De&&d.lines+p.lines<=32?(o+=d.lines,l+=d.length+1,c[c.length-1]=new De(p.text.concat(d.text),p.length+1+d.length)):(o+d.lines>O&&f(),o+=d.lines,l+=d.length+1,c.push(d))}function f(){o!=0&&(s.push(c.length==1?c[0]:xi.from(c,l)),l=-1,o=c.length=0)}for(let d of e)u(d);return f(),s.length==1?s[0]:new xi(s,i)}}xe.empty=new De([""],0);function ew(t){let e=-1;for(let i of t)e+=i.length+1;return e}function Rs(t,e,i=0,n=1e9){for(let O=0,r=0,a=!0;r<t.length&&O<=n;r++){let s=t[r],o=O+s.length;o>=i&&(o>n&&(s=s.slice(0,n-O)),O<i&&(s=s.slice(i-O)),a?(e[e.length-1]+=s,a=!1):e.push(s)),O=o+1}return e}function Id(t,e,i){return Rs(t,[""],e,i)}class Gr{constructor(e,i=1){this.dir=i,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[i>0?1:(e instanceof De?e.text.length:e.children.length)<<1]}nextInner(e,i){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,O=this.nodes[n],r=this.offsets[n],a=r>>1,s=O instanceof De?O.text.length:O.children.length;if(a==(i>0?s:0)){if(n==0)return this.done=!0,this.value="",this;i>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(i>0?0:1)){if(this.offsets[n]+=i,e==0)return this.lineBreak=!0,this.value=`
|
|
10
|
-
`,this;e--}else if(O instanceof De){let o=O.text[a+(i<0?-1:0)];if(this.offsets[n]+=i,o.length>Math.max(0,e))return this.value=e==0?o:i>0?o.slice(e):o.slice(0,o.length-e),this;e-=o.length}else{let o=O.children[a+(i<0?-1:0)];e>o.length?(e-=o.length,this.offsets[n]+=i):(i<0&&this.offsets[n]--,this.nodes.push(o),this.offsets.push(i>0?1:(o instanceof De?o.text.length:o.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class bg{constructor(e,i,n){this.value="",this.done=!1,this.cursor=new Gr(e,i>n?-1:1),this.pos=i>n?e.length:0,this.from=Math.min(i,n),this.to=Math.max(i,n)}nextInner(e,i){if(i<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,i<0?this.pos-this.to:this.from-this.pos);let n=i<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:O}=this.cursor.next(e);return this.pos+=(O.length+e)*i,this.value=O.length<=n?O:i<0?O.slice(O.length-n):O.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class yg{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:i,lineBreak:n,value:O}=this.inner.next(e);return i&&this.afterBreak?(this.value="",this.afterBreak=!1):i?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=O,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(xe.prototype[Symbol.iterator]=function(){return this.iter()},Gr.prototype[Symbol.iterator]=bg.prototype[Symbol.iterator]=yg.prototype[Symbol.iterator]=function(){return this});let tw=class{constructor(e,i,n,O){this.from=e,this.to=i,this.number=n,this.text=O}get length(){return this.to-this.from}};function KO(t,e,i){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,i))]}function nt(t,e,i=!0,n=!0){return K1(t,e,i,n)}function iw(t){return t>=56320&&t<57344}function nw(t){return t>=55296&&t<56320}function lO(t,e){let i=t.charCodeAt(e);if(!nw(i)||e+1==t.length)return i;let n=t.charCodeAt(e+1);return iw(n)?(i-55296<<10)+(n-56320)+65536:i}function xg(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Xa(t){return t<65536?1:2}const Ou=/\r\n?|\n/;var ht=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(ht||(ht={}));class Ri{constructor(e){this.sections=e}get length(){let e=0;for(let i=0;i<this.sections.length;i+=2)e+=this.sections[i];return e}get newLength(){let e=0;for(let i=0;i<this.sections.length;i+=2){let n=this.sections[i+1];e+=n<0?this.sections[i]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let i=0,n=0,O=0;i<this.sections.length;){let r=this.sections[i++],a=this.sections[i++];a<0?(e(n,O,r),O+=r):O+=a,n+=r}}iterChangedRanges(e,i=!1){ru(this,e,i)}get invertedDesc(){let e=[];for(let i=0;i<this.sections.length;){let n=this.sections[i++],O=this.sections[i++];O<0?e.push(n,O):e.push(O,n)}return new Ri(e)}composeDesc(e){return this.empty?e:e.empty?this:Xg(this,e)}mapDesc(e,i=!1){return e.empty?this:au(this,e,i)}mapPos(e,i=-1,n=ht.Simple){let O=0,r=0;for(let a=0;a<this.sections.length;){let s=this.sections[a++],o=this.sections[a++],l=O+s;if(o<0){if(l>e)return r+(e-O);r+=s}else{if(n!=ht.Simple&&l>=e&&(n==ht.TrackDel&&O<e&&l>e||n==ht.TrackBefore&&O<e||n==ht.TrackAfter&&l>e))return null;if(l>e||l==e&&i<0&&!s)return e==O||i<0?r:r+o;r+=o}O=l}if(e>O)throw new RangeError(`Position ${e} is out of range for changeset of length ${O}`);return r}touchesRange(e,i=e){for(let n=0,O=0;n<this.sections.length&&O<=i;){let r=this.sections[n++],a=this.sections[n++],s=O+r;if(a>=0&&O<=i&&s>=e)return O<e&&s>i?"cover":!0;O=s}return!1}toString(){let e="";for(let i=0;i<this.sections.length;){let n=this.sections[i++],O=this.sections[i++];e+=(e?" ":"")+n+(O>=0?":"+O:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(i=>typeof i!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Ri(e)}static create(e){return new Ri(e)}}class Je extends Ri{constructor(e,i){super(e),this.inserted=i}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return ru(this,(i,n,O,r,a)=>e=e.replace(O,O+(n-i),a),!1),e}mapDesc(e,i=!1){return au(this,e,i,!0)}invert(e){let i=this.sections.slice(),n=[];for(let O=0,r=0;O<i.length;O+=2){let a=i[O],s=i[O+1];if(s>=0){i[O]=s,i[O+1]=a;let o=O>>1;for(;n.length<o;)n.push(xe.empty);n.push(a?e.slice(r,r+a):xe.empty)}r+=a}return new Je(i,n)}compose(e){return this.empty?e:e.empty?this:Xg(this,e,!0)}map(e,i=!1){return e.empty?this:au(this,e,i,!0)}iterChanges(e,i=!1){ru(this,e,i)}get desc(){return Ri.create(this.sections)}filter(e){let i=[],n=[],O=[],r=new ea(this);e:for(let a=0,s=0;;){let o=a==e.length?1e9:e[a++];for(;s<o||s==o&&r.len==0;){if(r.done)break e;let c=Math.min(r.len,o-s);ut(O,c,-1);let u=r.ins==-1?-1:r.off==0?r.ins:0;ut(i,c,u),u>0&&dn(n,i,r.text),r.forward(c),s+=c}let l=e[a++];for(;s<l;){if(r.done)break e;let c=Math.min(r.len,l-s);ut(i,c,-1),ut(O,c,r.ins==-1?-1:r.off==0?r.ins:0),r.forward(c),s+=c}}return{changes:new Je(i,n),filtered:Ri.create(O)}}toJSON(){let e=[];for(let i=0;i<this.sections.length;i+=2){let n=this.sections[i],O=this.sections[i+1];O<0?e.push(n):O==0?e.push([n]):e.push([n].concat(this.inserted[i>>1].toJSON()))}return e}static of(e,i,n){let O=[],r=[],a=0,s=null;function o(c=!1){if(!c&&!O.length)return;a<i&&ut(O,i-a,-1);let u=new Je(O,r);s=s?s.compose(u.map(s)):u,O=[],r=[],a=0}function l(c){if(Array.isArray(c))for(let u of c)l(u);else if(c instanceof Je){if(c.length!=i)throw new RangeError(`Mismatched change set length (got ${c.length}, expected ${i})`);o(),s=s?s.compose(c.map(s)):c}else{let{from:u,to:f=u,insert:d}=c;if(u>f||u<0||f>i)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${i})`);let p=d?typeof d=="string"?xe.of(d.split(n||Ou)):d:xe.empty,Q=p.length;if(u==f&&Q==0)return;u<a&&o(),u>a&&ut(O,u-a,-1),ut(O,f-u,Q),dn(r,O,p),a=f}}return l(e),o(!s),s}static empty(e){return new Je(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],n=[];for(let O=0;O<e.length;O++){let r=e[O];if(typeof r=="number")i.push(r,-1);else{if(!Array.isArray(r)||typeof r[0]!="number"||r.some((a,s)=>s&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)i.push(r[0],0);else{for(;n.length<O;)n.push(xe.empty);n[O]=xe.of(r.slice(1)),i.push(r[0],n[O].length)}}}return new Je(i,n)}static createSet(e,i){return new Je(e,i)}}function ut(t,e,i,n=!1){if(e==0&&i<=0)return;let O=t.length-2;O>=0&&i<=0&&i==t[O+1]?t[O]+=e:O>=0&&e==0&&t[O]==0?t[O+1]+=i:n?(t[O]+=e,t[O+1]+=i):t.push(e,i)}function dn(t,e,i){if(i.length==0)return;let n=e.length-2>>1;if(n<t.length)t[t.length-1]=t[t.length-1].append(i);else{for(;t.length<n;)t.push(xe.empty);t.push(i)}}function ru(t,e,i){let n=t.inserted;for(let O=0,r=0,a=0;a<t.sections.length;){let s=t.sections[a++],o=t.sections[a++];if(o<0)O+=s,r+=s;else{let l=O,c=r,u=xe.empty;for(;l+=s,c+=o,o&&n&&(u=u.append(n[a-2>>1])),!(i||a==t.sections.length||t.sections[a+1]<0);)s=t.sections[a++],o=t.sections[a++];e(O,l,r,c,u),O=l,r=c}}}function au(t,e,i,n=!1){let O=[],r=n?[]:null,a=new ea(t),s=new ea(e);for(let o=-1;;){if(a.done&&s.len||s.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&s.ins==-1){let l=Math.min(a.len,s.len);ut(O,l,-1),a.forward(l),s.forward(l)}else if(s.ins>=0&&(a.ins<0||o==a.i||a.off==0&&(s.len<a.len||s.len==a.len&&!i))){let l=s.len;for(ut(O,s.ins,-1);l;){let c=Math.min(a.len,l);a.ins>=0&&o<a.i&&a.len<=c&&(ut(O,0,a.ins),r&&dn(r,O,a.text),o=a.i),a.forward(c),l-=c}s.next()}else if(a.ins>=0){let l=0,c=a.len;for(;c;)if(s.ins==-1){let u=Math.min(c,s.len);l+=u,c-=u,s.forward(u)}else if(s.ins==0&&s.len<c)c-=s.len,s.next();else break;ut(O,l,o<a.i?a.ins:0),r&&o<a.i&&dn(r,O,a.text),o=a.i,a.forward(a.len-c)}else{if(a.done&&s.done)return r?Je.createSet(O,r):Ri.create(O);throw new Error("Mismatched change set lengths")}}}function Xg(t,e,i=!1){let n=[],O=i?[]:null,r=new ea(t),a=new ea(e);for(let s=!1;;){if(r.done&&a.done)return O?Je.createSet(n,O):Ri.create(n);if(r.ins==0)ut(n,r.len,0,s),r.next();else if(a.len==0&&!a.done)ut(n,0,a.ins,s),O&&dn(O,n,a.text),a.next();else{if(r.done||a.done)throw new Error("Mismatched change set lengths");{let o=Math.min(r.len2,a.len),l=n.length;if(r.ins==-1){let c=a.ins==-1?-1:a.off?0:a.ins;ut(n,o,c,s),O&&c&&dn(O,n,a.text)}else a.ins==-1?(ut(n,r.off?0:r.len,o,s),O&&dn(O,n,r.textBit(o))):(ut(n,r.off?0:r.len,a.off?0:a.ins,s),O&&!a.off&&dn(O,n,a.text));s=(r.ins>o||a.ins>=0&&a.len>o)&&(s||n.length>l),r.forward2(o),a.forward(o)}}}}class ea{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length?xe.empty:e[i]}textBit(e){let{inserted:i}=this.set,n=this.i-2>>1;return n>=i.length&&!e?xe.empty:i[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Nn{constructor(e,i,n){this.from=e,this.to=i,this.flags=n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,i=-1){let n,O;return this.empty?n=O=e.mapPos(this.from,i):(n=e.mapPos(this.from,1),O=e.mapPos(this.to,-1)),n==this.from&&O==this.to?this:new Nn(n,O,this.flags)}extend(e,i=e,n=0){if(e<=this.anchor&&i>=this.anchor)return j.range(e,i,void 0,void 0,n);let O=Math.abs(e-this.anchor)>Math.abs(i-this.anchor)?e:i;return j.range(this.anchor,O,void 0,void 0,n)}eq(e,i=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!i||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return j.range(e.anchor,e.head)}static create(e,i,n){return new Nn(e,i,n)}}class j{constructor(e,i){this.ranges=e,this.mainIndex=i}map(e,i=-1){return e.empty?this:j.create(this.ranges.map(n=>n.map(e,i)),this.mainIndex)}eq(e,i=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],i))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new j([this.main],0)}addRange(e,i=!0){return j.create([e].concat(this.ranges),i?0:this.mainIndex+1)}replaceRange(e,i=this.mainIndex){let n=this.ranges.slice();return n[i]=e,j.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new j(e.ranges.map(i=>Nn.fromJSON(i)),e.main)}static single(e,i=e){return new j([j.range(e,i)],0)}static create(e,i=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,O=0;O<e.length;O++){let r=e[O];if(r.empty?r.from<=n:r.from<n)return j.normalized(e.slice(),i);n=r.to}return new j(e,i)}static cursor(e,i=0,n,O){return Nn.create(e,e,(i==0?0:i<0?8:16)|(n==null?7:Math.min(6,n))|(O??16777215)<<6)}static range(e,i,n,O,r){let a=(n??16777215)<<6|(O==null?7:Math.min(6,O));return!r&&e!=i&&(r=i<e?1:-1),i<e?Nn.create(i,e,48|a):Nn.create(e,i,(r?r<0?8:16:0)|a)}static normalized(e,i=0){let n=e[i];e.sort((O,r)=>O.from-r.from),i=e.indexOf(n);for(let O=1;O<e.length;O++){let r=e[O],a=e[O-1];if(r.empty?r.from<=a.to:r.from<a.to){let s=a.from,o=Math.max(r.to,a.to);O<=i&&i--,e.splice(--O,2,r.anchor>r.head?j.range(o,s):j.range(s,o))}}return new j(e,i)}}function wg(t,e){for(let i of t.ranges)if(i.to>e)throw new RangeError("Selection points outside of document")}let Cf=0;class J{constructor(e,i,n,O,r){this.combine=e,this.compareInput=i,this.compare=n,this.isStatic=O,this.id=Cf++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new J(e.combine||(i=>i),e.compareInput||((i,n)=>i===n),e.compare||(e.combine?(i,n)=>i===n:Ef),!!e.static,e.enables)}of(e){return new Ys([],this,0,e)}compute(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ys(e,this,1,i)}computeN(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ys(e,this,2,i)}from(e,i){return i||(i=n=>n),this.compute([e],n=>i(n.field(e)))}}function Ef(t,e){return t==e||t.length==e.length&&t.every((i,n)=>i===e[n])}class Ys{constructor(e,i,n,O){this.dependencies=e,this.facet=i,this.type=n,this.value=O,this.id=Cf++}dynamicSlot(e){var i;let n=this.value,O=this.facet.compareInput,r=this.id,a=e[r]>>1,s=this.type==2,o=!1,l=!1,c=[];for(let u of this.dependencies)u=="doc"?o=!0:u=="selection"?l=!0:(((i=e[u.id])!==null&&i!==void 0?i:1)&1)==0&&c.push(e[u.id]);return{create(u){return u.values[a]=n(u),1},update(u,f){if(o&&f.docChanged||l&&(f.docChanged||f.selection)||su(u,c)){let d=n(u);if(s?!Ld(d,u.values[a],O):!O(d,u.values[a]))return u.values[a]=d,1}return 0},reconfigure:(u,f)=>{let d,p=f.config.address[r];if(p!=null){let Q=Fs(f,p);if(this.dependencies.every(P=>P instanceof J?f.facet(P)===u.facet(P):P instanceof Lt?f.field(P,!1)==u.field(P,!1):!0)||(s?Ld(d=n(u),Q,O):O(d=n(u),Q)))return u.values[a]=Q,0}else d=n(u);return u.values[a]=d,1}}}}function Ld(t,e,i){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!i(t[n],e[n]))return!1;return!0}function su(t,e){let i=!1;for(let n of e)Ar(t,n)&1&&(i=!0);return i}function Ow(t,e,i){let n=i.map(o=>t[o.id]),O=i.map(o=>o.type),r=n.filter(o=>!(o&1)),a=t[e.id]>>1;function s(o){let l=[];for(let c=0;c<n.length;c++){let u=Fs(o,n[c]);if(O[c]==2)for(let f of u)l.push(f);else l.push(u)}return e.combine(l)}return{create(o){for(let l of n)Ar(o,l);return o.values[a]=s(o),1},update(o,l){if(!su(o,r))return 0;let c=s(o);return e.compare(c,o.values[a])?0:(o.values[a]=c,1)},reconfigure(o,l){let c=su(o,n),u=l.config.facets[e.id],f=l.facet(e);if(u&&!c&&Ef(i,u))return o.values[a]=f,0;let d=s(o);return e.compare(d,f)?(o.values[a]=f,0):(o.values[a]=d,1)}}}const Fa=J.define({static:!0});class Lt{constructor(e,i,n,O,r){this.id=e,this.createF=i,this.updateF=n,this.compareF=O,this.spec=r,this.provides=void 0}static define(e){let i=new Lt(Cf++,e.create,e.update,e.compare||((n,O)=>n===O),e);return e.provide&&(i.provides=e.provide(i)),i}create(e){let i=e.facet(Fa).find(n=>n.field==this);return((i==null?void 0:i.create)||this.createF)(e)}slot(e){let i=e[this.id]>>1;return{create:n=>(n.values[i]=this.create(n),1),update:(n,O)=>{let r=n.values[i],a=this.updateF(r,O);return this.compareF(r,a)?0:(n.values[i]=a,1)},reconfigure:(n,O)=>{let r=n.facet(Fa),a=O.facet(Fa),s;return(s=r.find(o=>o.field==this))&&s!=a.find(o=>o.field==this)?(n.values[i]=s.create(n),1):O.config.address[this.id]!=null?(n.values[i]=O.field(this),0):(n.values[i]=this.create(n),1)}}}init(e){return[this,Fa.of({field:this,create:e})]}get extension(){return this}}const Cn={lowest:4,low:3,default:2,high:1,highest:0};function br(t){return e=>new kg(e,t)}const cO={highest:br(Cn.highest),high:br(Cn.high),default:br(Cn.default),low:br(Cn.low),lowest:br(Cn.lowest)};class kg{constructor(e,i){this.inner=e,this.prec=i}}class qo{of(e){return new ou(this,e)}reconfigure(e){return qo.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class ou{constructor(e,i){this.compartment=e,this.inner=i}}class Bs{constructor(e,i,n,O,r,a){for(this.base=e,this.compartments=i,this.dynamicSlots=n,this.address=O,this.staticValues=r,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let i=this.address[e.id];return i==null?e.default:this.staticValues[i>>1]}static resolve(e,i,n){let O=[],r=Object.create(null),a=new Map;for(let f of rw(e,i,a))f instanceof Lt?O.push(f):(r[f.facet.id]||(r[f.facet.id]=[])).push(f);let s=Object.create(null),o=[],l=[];for(let f of O)s[f.id]=l.length<<1,l.push(d=>f.slot(d));let c=n==null?void 0:n.config.facets;for(let f in r){let d=r[f],p=d[0].facet,Q=c&&c[f]||[];if(d.every(P=>P.type==0))if(s[p.id]=o.length<<1|1,Ef(Q,d))o.push(n.facet(p));else{let P=p.combine(d.map(m=>m.value));o.push(n&&p.compare(P,n.facet(p))?n.facet(p):P)}else{for(let P of d)P.type==0?(s[P.id]=o.length<<1|1,o.push(P.value)):(s[P.id]=l.length<<1,l.push(m=>P.dynamicSlot(m)));s[p.id]=l.length<<1,l.push(P=>Ow(P,p,d))}}let u=l.map(f=>f(s));return new Bs(e,a,u,s,o,r)}}function rw(t,e,i){let n=[[],[],[],[],[]],O=new Map;function r(a,s){let o=O.get(a);if(o!=null){if(o<=s)return;let l=n[o].indexOf(a);l>-1&&n[o].splice(l,1),a instanceof ou&&i.delete(a.compartment)}if(O.set(a,s),Array.isArray(a))for(let l of a)r(l,s);else if(a instanceof ou){if(i.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let l=e.get(a.compartment)||a.inner;i.set(a.compartment,l),r(l,s)}else if(a instanceof kg)r(a.inner,a.prec);else if(a instanceof Lt)n[s].push(a),a.provides&&r(a.provides,s);else if(a instanceof Ys)n[s].push(a),a.facet.extensions&&r(a.facet.extensions,Cn.default);else{let l=a.extension;if(!l)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(l,s)}}return r(t,Cn.default),n.reduce((a,s)=>a.concat(s))}function Ar(t,e){if(e&1)return 2;let i=e>>1,n=t.status[i];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;t.status[i]=4;let O=t.computeSlot(t,t.config.dynamicSlots[i]);return t.status[i]=2|O}function Fs(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const Tg=J.define(),lu=J.define({combine:t=>t.some(e=>e),static:!0}),vg=J.define({combine:t=>t.length?t[0]:void 0,static:!0}),_g=J.define(),Rg=J.define(),Yg=J.define(),Zg=J.define({combine:t=>t.length?t[0]:!1});class On{constructor(e,i){this.type=e,this.value=i}static define(){return new aw}}class aw{of(e){return new On(this,e)}}class sw{constructor(e){this.map=e}of(e){return new Xe(this,e)}}class Xe{constructor(e,i){this.type=e,this.value=i}map(e){let i=this.type.map(this.value,e);return i===void 0?void 0:i==this.value?this:new Xe(this.type,i)}is(e){return this.type==e}static define(e={}){return new sw(e.map||(i=>i))}static mapEffects(e,i){if(!e.length)return e;let n=[];for(let O of e){let r=O.map(i);r&&n.push(r)}return n}}Xe.reconfigure=Xe.define();Xe.appendConfig=Xe.define();class Fe{constructor(e,i,n,O,r,a){this.startState=e,this.changes=i,this.selection=n,this.effects=O,this.annotations=r,this.scrollIntoView=a,this._doc=null,this._state=null,n&&wg(n,i.newLength),r.some(s=>s.type==Fe.time)||(this.annotations=r.concat(Fe.time.of(Date.now())))}static create(e,i,n,O,r,a){return new Fe(e,i,n,O,r,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let i of this.annotations)if(i.type==e)return i.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let i=this.annotation(Fe.userEvent);return!!(i&&(i==e||i.length>e.length&&i.slice(0,e.length)==e&&i[e.length]=="."))}}Fe.time=On.define();Fe.userEvent=On.define();Fe.addToHistory=On.define();Fe.remote=On.define();function ow(t,e){let i=[];for(let n=0,O=0;;){let r,a;if(n<t.length&&(O==e.length||e[O]>=t[n]))r=t[n++],a=t[n++];else if(O<e.length)r=e[O++],a=e[O++];else return i;!i.length||i[i.length-1]<r?i.push(r,a):i[i.length-1]<a&&(i[i.length-1]=a)}}function zg(t,e,i){var n;let O,r,a;return i?(O=e.changes,r=Je.empty(e.changes.length),a=t.changes.compose(e.changes)):(O=e.changes.map(t.changes),r=t.changes.mapDesc(e.changes,!0),a=t.changes.compose(O)),{changes:a,selection:e.selection?e.selection.map(r):(n=t.selection)===null||n===void 0?void 0:n.map(O),effects:Xe.mapEffects(t.effects,O).concat(Xe.mapEffects(e.effects,r)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function cu(t,e,i){let n=e.selection,O=AO(e.annotations);return e.userEvent&&(O=O.concat(Fe.userEvent.of(e.userEvent))),{changes:e.changes instanceof Je?e.changes:Je.of(e.changes||[],i,t.facet(vg)),selection:n&&(n instanceof j?n:j.single(n.anchor,n.head)),effects:AO(e.effects),annotations:O,scrollIntoView:!!e.scrollIntoView}}function Ug(t,e,i){let n=cu(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(i=!1);for(let r=1;r<e.length;r++){e[r].filter===!1&&(i=!1);let a=!!e[r].sequential;n=zg(n,cu(t,e[r],a?n.changes.newLength:t.doc.length),a)}let O=Fe.create(t,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return cw(i?lw(O):O)}function lw(t){let e=t.startState,i=!0;for(let O of e.facet(_g)){let r=O(t);if(r===!1){i=!1;break}Array.isArray(r)&&(i=i===!0?r:ow(i,r))}if(i!==!0){let O,r;if(i===!1)r=t.changes.invertedDesc,O=Je.empty(e.doc.length);else{let a=t.changes.filter(i);O=a.changes,r=a.filtered.mapDesc(a.changes).invertedDesc}t=Fe.create(e,O,t.selection&&t.selection.map(r),Xe.mapEffects(t.effects,r),t.annotations,t.scrollIntoView)}let n=e.facet(Rg);for(let O=n.length-1;O>=0;O--){let r=n[O](t);r instanceof Fe?t=r:Array.isArray(r)&&r.length==1&&r[0]instanceof Fe?t=r[0]:t=Ug(e,AO(r),!1)}return t}function cw(t){let e=t.startState,i=e.facet(Yg),n=t;for(let O=i.length-1;O>=0;O--){let r=i[O](t);r&&Object.keys(r).length&&(n=zg(n,cu(e,r,t.changes.newLength),!0))}return n==t?t:Fe.create(e,t.changes,t.selection,n.effects,n.annotations,n.scrollIntoView)}const uw=[];function AO(t){return t==null?uw:Array.isArray(t)?t:[t]}var Ee=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Ee||(Ee={}));const fw=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let uu;try{uu=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function hw(t){if(uu)return uu.test(t);for(let e=0;e<t.length;e++){let i=t[e];if(/\w/.test(i)||i>""&&(i.toUpperCase()!=i.toLowerCase()||fw.test(i)))return!0}return!1}function dw(t){return e=>{if(!/\S/.test(e))return Ee.Space;if(hw(e))return Ee.Word;for(let i=0;i<t.length;i++)if(e.indexOf(t[i])>-1)return Ee.Word;return Ee.Other}}class ye{constructor(e,i,n,O,r,a){this.config=e,this.doc=i,this.selection=n,this.values=O,this.status=e.statusTemplate.slice(),this.computeSlot=r,a&&(a._state=this);for(let s=0;s<this.config.dynamicSlots.length;s++)Ar(this,s<<1);this.computeSlot=null}field(e,i=!0){let n=this.config.address[e.id];if(n==null){if(i)throw new RangeError("Field is not present in this state");return}return Ar(this,n),Fs(this,n)}update(...e){return Ug(this,e,!0)}applyTransaction(e){let i=this.config,{base:n,compartments:O}=i;for(let s of e.effects)s.is(qo.reconfigure)?(i&&(O=new Map,i.compartments.forEach((o,l)=>O.set(l,o)),i=null),O.set(s.value.compartment,s.value.extension)):s.is(Xe.reconfigure)?(i=null,n=s.value):s.is(Xe.appendConfig)&&(i=null,n=AO(n).concat(s.value));let r;i?r=e.startState.values.slice():(i=Bs.resolve(n,O,this),r=new ye(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(o,l)=>l.reconfigure(o,this),null).values);let a=e.startState.facet(lu)?e.newSelection:e.newSelection.asSingle();new ye(i,e.newDoc,a,r,(s,o)=>o.update(s,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:e},range:j.cursor(i.from+e.length)}))}changeByRange(e){let i=this.selection,n=e(i.ranges[0]),O=this.changes(n.changes),r=[n.range],a=AO(n.effects);for(let s=1;s<i.ranges.length;s++){let o=e(i.ranges[s]),l=this.changes(o.changes),c=l.map(O);for(let f=0;f<s;f++)r[f]=r[f].map(c);let u=O.mapDesc(l,!0);r.push(o.range.map(u)),O=O.compose(c),a=Xe.mapEffects(a,c).concat(Xe.mapEffects(AO(o.effects),u))}return{changes:O,selection:j.create(r,i.mainIndex),effects:a}}changes(e=[]){return e instanceof Je?e:Je.of(e,this.doc.length,this.facet(ye.lineSeparator))}toText(e){return xe.of(e.split(this.facet(ye.lineSeparator)||Ou))}sliceDoc(e=0,i=this.doc.length){return this.doc.sliceString(e,i,this.lineBreak)}facet(e){let i=this.config.address[e.id];return i==null?e.default:(Ar(this,i),Fs(this,i))}toJSON(e){let i={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let O=e[n];O instanceof Lt&&this.config.address[O.id]!=null&&(i[n]=O.spec.toJSON(this.field(e[n]),this))}return i}static fromJSON(e,i={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let O=[];if(n){for(let r in n)if(Object.prototype.hasOwnProperty.call(e,r)){let a=n[r],s=e[r];O.push(a.init(o=>a.spec.fromJSON(s,o)))}}return ye.create({doc:e.doc,selection:j.fromJSON(e.selection),extensions:i.extensions?O.concat([i.extensions]):O})}static create(e={}){let i=Bs.resolve(e.extensions||[],new Map),n=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(i.staticFacet(ye.lineSeparator)||Ou)),O=e.selection?e.selection instanceof j?e.selection:j.single(e.selection.anchor,e.selection.head):j.single(0);return wg(O,n.length),i.staticFacet(lu)||(O=O.asSingle()),new ye(i,n,O,i.dynamicSlots.map(()=>null),(r,a)=>a.create(r),null)}get tabSize(){return this.facet(ye.tabSize)}get lineBreak(){return this.facet(ye.lineSeparator)||`
|
|
11
|
-
`}get readOnly(){return this.facet(Zg)}phrase(e,...i){for(let n of this.facet(ye.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return i.length&&(e=e.replace(/\$(\$|\d*)/g,(n,O)=>{if(O=="$")return"$";let r=+(O||1);return!r||r>i.length?n:i[r-1]})),e}languageDataAt(e,i,n=-1){let O=[];for(let r of this.facet(Tg))for(let a of r(this,i,n))Object.prototype.hasOwnProperty.call(a,e)&&O.push(a[e]);return O}charCategorizer(e){let i=this.languageDataAt("wordChars",e);return dw(i.length?i[0]:"")}wordAt(e){let{text:i,from:n,length:O}=this.doc.lineAt(e),r=this.charCategorizer(e),a=e-n,s=e-n;for(;a>0;){let o=nt(i,a,!1);if(r(i.slice(o,a))!=Ee.Word)break;a=o}for(;s<O;){let o=nt(i,s);if(r(i.slice(s,o))!=Ee.Word)break;s=o}return a==s?null:j.range(a+n,s+n)}}ye.allowMultipleSelections=lu;ye.tabSize=J.define({combine:t=>t.length?t[0]:4});ye.lineSeparator=vg;ye.readOnly=Zg;ye.phrases=J.define({compare(t,e){let i=Object.keys(t),n=Object.keys(e);return i.length==n.length&&i.every(O=>t[O]==e[O])}});ye.languageData=Tg;ye.changeFilter=_g;ye.transactionFilter=Rg;ye.transactionExtender=Yg;qo.reconfigure=Xe.define();function uO(t,e,i={}){let n={};for(let O of t)for(let r of Object.keys(O)){let a=O[r],s=n[r];if(s===void 0)n[r]=a;else if(!(s===a||a===void 0))if(Object.hasOwnProperty.call(i,r))n[r]=i[r](s,a);else throw new Error("Config merge conflict for field "+r)}for(let O in e)n[O]===void 0&&(n[O]=e[O]);return n}class gn{eq(e){return this==e}range(e,i=e){return fu.create(e,i,this)}}gn.prototype.startSide=gn.prototype.endSide=0;gn.prototype.point=!1;gn.prototype.mapMode=ht.TrackDel;function Gf(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}let fu=class qg{constructor(e,i,n){this.from=e,this.to=i,this.value=n}static create(e,i,n){return new qg(e,i,n)}};function hu(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Af{constructor(e,i,n,O){this.from=e,this.to=i,this.value=n,this.maxPoint=O}get length(){return this.to[this.to.length-1]}findIndex(e,i,n,O=0){let r=n?this.to:this.from;for(let a=O,s=r.length;;){if(a==s)return a;let o=a+s>>1,l=r[o]-e||(n?this.value[o].endSide:this.value[o].startSide)-i;if(o==a)return l>=0?a:s;l>=0?s=o:a=o+1}}between(e,i,n,O){for(let r=this.findIndex(i,-1e9,!0),a=this.findIndex(n,1e9,!1,r);r<a;r++)if(O(this.from[r]+e,this.to[r]+e,this.value[r])===!1)return!1}map(e,i){let n=[],O=[],r=[],a=-1,s=-1;for(let o=0;o<this.value.length;o++){let l=this.value[o],c=this.from[o]+e,u=this.to[o]+e,f,d;if(c==u){let p=i.mapPos(c,l.startSide,l.mapMode);if(p==null||(f=d=p,l.startSide!=l.endSide&&(d=i.mapPos(c,l.endSide),d<f)))continue}else if(f=i.mapPos(c,l.startSide),d=i.mapPos(u,l.endSide),f>d||f==d&&l.startSide>0&&l.endSide<=0)continue;(d-f||l.endSide-l.startSide)<0||(a<0&&(a=f),l.point&&(s=Math.max(s,d-f)),n.push(l),O.push(f-a),r.push(d-a))}return{mapped:n.length?new Af(O,r,n,s):null,pos:a}}}class Se{constructor(e,i,n,O){this.chunkPos=e,this.chunk=i,this.nextLayer=n,this.maxPoint=O}static create(e,i,n,O){return new Se(e,i,n,O)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let i of this.chunk)e+=i.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:i=[],sort:n=!1,filterFrom:O=0,filterTo:r=this.length}=e,a=e.filter;if(i.length==0&&!a)return this;if(n&&(i=i.slice().sort(hu)),this.isEmpty)return i.length?Se.of(i):this;let s=new Vg(this,null,-1).goto(0),o=0,l=[],c=new Kn;for(;s.value||o<i.length;)if(o<i.length&&(s.from-i[o].from||s.startSide-i[o].value.startSide)>=0){let u=i[o++];c.addInner(u.from,u.to,u.value)||l.push(u)}else s.rangeIndex==1&&s.chunkIndex<this.chunk.length&&(o==i.length||this.chunkEnd(s.chunkIndex)<i[o].from)&&(!a||O>this.chunkEnd(s.chunkIndex)||r<this.chunkPos[s.chunkIndex])&&c.addChunk(this.chunkPos[s.chunkIndex],this.chunk[s.chunkIndex])?s.nextChunk():((!a||O>s.to||r<s.from||a(s.from,s.to,s.value))&&(c.addInner(s.from,s.to,s.value)||l.push(fu.create(s.from,s.to,s.value))),s.next());return c.finishInner(this.nextLayer.isEmpty&&!l.length?Se.empty:this.nextLayer.update({add:l,filter:a,filterFrom:O,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let i=[],n=[],O=-1;for(let a=0;a<this.chunk.length;a++){let s=this.chunkPos[a],o=this.chunk[a],l=e.touchesRange(s,s+o.length);if(l===!1)O=Math.max(O,o.maxPoint),i.push(o),n.push(e.mapPos(s));else if(l===!0){let{mapped:c,pos:u}=o.map(s,e);c&&(O=Math.max(O,c.maxPoint),i.push(c),n.push(u))}}let r=this.nextLayer.map(e);return i.length==0?r:new Se(n,i,r||Se.empty,O)}between(e,i,n){if(!this.isEmpty){for(let O=0;O<this.chunk.length;O++){let r=this.chunkPos[O],a=this.chunk[O];if(i>=r&&e<=r+a.length&&a.between(r,e-r,i-r,n)===!1)return}this.nextLayer.between(e,i,n)}}iter(e=0){return ta.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,i=0){return ta.from(e).goto(i)}static compare(e,i,n,O,r=-1){let a=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),s=i.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),o=Dd(a,s,n),l=new yr(a,o,r),c=new yr(s,o,r);n.iterGaps((u,f,d)=>Md(l,u,c,f,d,O)),n.empty&&n.length==0&&Md(l,0,c,0,0,O)}static eq(e,i,n=0,O){O==null&&(O=999999999);let r=e.filter(c=>!c.isEmpty&&i.indexOf(c)<0),a=i.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(r.length!=a.length)return!1;if(!r.length)return!0;let s=Dd(r,a),o=new yr(r,s,0).goto(n),l=new yr(a,s,0).goto(n);for(;;){if(o.to!=l.to||!du(o.active,l.active)||o.point&&(!l.point||!Gf(o.point,l.point)))return!1;if(o.to>O)return!0;o.next(),l.next()}}static spans(e,i,n,O,r=-1){let a=new yr(e,null,r).goto(i),s=i,o=a.openStart;for(;;){let l=Math.min(a.to,n);if(a.point){let c=a.activeForPoint(a.to),u=a.pointFrom<i?c.length+1:a.point.startSide<0?c.length:Math.min(c.length,o);O.point(s,l,a.point,c,u,a.pointRank),o=Math.min(a.openEnd(l),c.length)}else l>s&&(O.span(s,l,a.active,o),o=a.openEnd(l));if(a.to>n)return o+(a.point&&a.to>n?1:0);s=a.to,a.next()}}static of(e,i=!1){let n=new Kn;for(let O of e instanceof fu?[e]:i?$w(e):e)n.add(O.from,O.to,O.value);return n.finish()}static join(e){if(!e.length)return Se.empty;let i=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let O=e[n];O!=Se.empty;O=O.nextLayer)i=new Se(O.chunkPos,O.chunk,i,Math.max(O.maxPoint,i.maxPoint));return i}}Se.empty=new Se([],[],null,-1);function $w(t){if(t.length>1)for(let e=t[0],i=1;i<t.length;i++){let n=t[i];if(hu(e,n)>0)return t.slice().sort(hu);e=n}return t}Se.empty.nextLayer=Se.empty;class Kn{finishChunk(e){this.chunks.push(new Af(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,i,n){this.addInner(e,i,n)||(this.nextLayer||(this.nextLayer=new Kn)).add(e,i,n)}addInner(e,i,n){let O=e-this.lastTo||n.startSide-this.last.endSide;if(O<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return O<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(i-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=i,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,i-e)),!0)}addChunk(e,i){if((e-this.lastTo||i.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,i.maxPoint),this.chunks.push(i),this.chunkPos.push(e);let n=i.value.length-1;return this.last=i.value[n],this.lastFrom=i.from[n]+e,this.lastTo=i.to[n]+e,!0}finish(){return this.finishInner(Se.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let i=Se.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,i}}function Dd(t,e,i){let n=new Map;for(let r of t)for(let a=0;a<r.chunk.length;a++)r.chunk[a].maxPoint<=0&&n.set(r.chunk[a],r.chunkPos[a]);let O=new Set;for(let r of e)for(let a=0;a<r.chunk.length;a++){let s=n.get(r.chunk[a]);s!=null&&(i?i.mapPos(s):s)==r.chunkPos[a]&&!(i!=null&&i.touchesRange(s,s+r.chunk[a].length))&&O.add(r.chunk[a])}return O}class Vg{constructor(e,i,n,O=0){this.layer=e,this.skip=i,this.minPoint=n,this.rank=O}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,i=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,i,!1),this}gotoInner(e,i,n){for(;this.chunkIndex<this.layer.chunk.length;){let O=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(O)||this.layer.chunkEnd(this.chunkIndex)<e||O.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let O=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],i,!0);(!n||this.rangeIndex<O)&&this.setRangeIndex(O)}this.next()}forward(e,i){(this.to-e||this.endSide-i)<0&&this.gotoInner(e,i,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],i=this.layer.chunk[this.chunkIndex],n=e+i.from[this.rangeIndex];if(this.from=n,this.to=e+i.to[this.rangeIndex],this.value=i.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class ta{constructor(e){this.heap=e}static from(e,i=null,n=-1){let O=[];for(let r=0;r<e.length;r++)for(let a=e[r];!a.isEmpty;a=a.nextLayer)a.maxPoint>=n&&O.push(new Vg(a,i,n,r));return O.length==1?O[0]:new ta(O)}get startSide(){return this.value?this.value.startSide:0}goto(e,i=-1e9){for(let n of this.heap)n.goto(e,i);for(let n=this.heap.length>>1;n>=0;n--)jl(this.heap,n);return this.next(),this}forward(e,i){for(let n of this.heap)n.forward(e,i);for(let n=this.heap.length>>1;n>=0;n--)jl(this.heap,n);(this.to-e||this.value.endSide-i)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),jl(this.heap,0)}}}function jl(t,e){for(let i=t[e];;){let n=(e<<1)+1;if(n>=t.length)break;let O=t[n];if(n+1<t.length&&O.compare(t[n+1])>=0&&(O=t[n+1],n++),i.compare(O)<0)break;t[n]=i,t[e]=O,e=n}}class yr{constructor(e,i,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=ta.from(e,i,n)}goto(e,i=-1e9){return this.cursor.goto(e,i),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=i,this.openStart=-1,this.next(),this}forward(e,i){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-i)<0;)this.removeActive(this.minActive);this.cursor.forward(e,i)}removeActive(e){Ha(this.active,e),Ha(this.activeTo,e),Ha(this.activeRank,e),this.minActive=Bd(this.active,this.activeTo)}addActive(e){let i=0,{value:n,to:O,rank:r}=this.cursor;for(;i<this.activeRank.length&&(r-this.activeRank[i]||O-this.activeTo[i])>0;)i++;Ka(this.active,i,n),Ka(this.activeTo,i,O),Ka(this.activeRank,i,r),e&&Ka(e,i,this.cursor.from),this.minActive=Bd(this.active,this.activeTo)}next(){let e=this.to,i=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let O=this.minActive;if(O>-1&&(this.activeTo[O]-this.cursor.from||this.active[O].endSide-this.cursor.startSide)<0){if(this.activeTo[O]>e){this.to=this.activeTo[O],this.endSide=this.active[O].endSide;break}this.removeActive(O),n&&Ha(n,O)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(n),this.cursor.next();else if(i&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=r,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=r.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let O=n.length-1;O>=0&&n[O]<e;O--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let i=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&i.push(this.active[n]);return i.reverse()}openEnd(e){let i=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)i++;return i}}function Md(t,e,i,n,O,r){t.goto(e),i.goto(n);let a=n+O,s=n,o=n-e,l=!!r.boundChange;for(let c=!1;;){let u=t.to+o-i.to,f=u||t.endSide-i.endSide,d=f<0?t.to+o:i.to,p=Math.min(d,a);if(t.point||i.point?(t.point&&i.point&&Gf(t.point,i.point)&&du(t.activeForPoint(t.to),i.activeForPoint(i.to))||r.comparePoint(s,p,t.point,i.point),c=!1):(c&&r.boundChange(s),p>s&&!du(t.active,i.active)&&r.compareRange(s,p,t.active,i.active),l&&p<a&&(u||t.openEnd(d)!=i.openEnd(d))&&(c=!0)),d>a)break;s=d,f<=0&&t.next(),f>=0&&i.next()}}function du(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!=e[i]&&!Gf(t[i],e[i]))return!1;return!0}function Ha(t,e){for(let i=e,n=t.length-1;i<n;i++)t[i]=t[i+1];t.pop()}function Ka(t,e,i){for(let n=t.length-1;n>=e;n--)t[n+1]=t[n];t[e]=i}function Bd(t,e){let i=-1,n=1e9;for(let O=0;O<e.length;O++)(e[O]-n||t[O].endSide-t[i].endSide)<0&&(i=O,n=e[O]);return i}function zi(t,e,i=t.length){let n=0;for(let O=0;O<i&&O<t.length;)t.charCodeAt(O)==9?(n+=e-n%e,O++):(n++,O=nt(t,O));return n}function $u(t,e,i,n){for(let O=0,r=0;;){if(r>=e)return O;if(O==t.length)break;r+=t.charCodeAt(O)==9?i-r%i:1,O=nt(t,O)}return n===!0?-1:t.length}const pu="ͼ",Fd=typeof Symbol>"u"?"__"+pu:Symbol.for(pu),Qu=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Hd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Pn{constructor(e,i){this.rules=[];let{finish:n}=i||{};function O(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function r(a,s,o,l){let c=[],u=/^@(\w+)\b/.exec(a[0]),f=u&&u[1]=="keyframes";if(u&&s==null)return o.push(a[0]+";");for(let d in s){let p=s[d];if(/&/.test(d))r(d.split(/,\s*/).map(Q=>a.map(P=>Q.replace(/&/,P))).reduce((Q,P)=>Q.concat(P)),p,o);else if(p&&typeof p=="object"){if(!u)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(O(d),p,c,f)}else p!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,Q=>"-"+Q.toLowerCase())+": "+p+";")}(c.length||f)&&o.push((n&&!u&&!l?a.map(n):a).join(", ")+" {"+c.join(" ")+"}")}for(let a in e)r(O(a),e[a],this.rules)}getRules(){return this.rules.join(`
|
|
12
|
-
`)}static newName(){let e=Hd[Fd]||1;return Hd[Fd]=e+1,pu+e.toString(36)}static mount(e,i,n){let O=e[Qu],r=n&&n.nonce;O?r&&O.setNonce(r):O=new pw(e,r),O.mount(Array.isArray(i)?i:[i],e)}}let Kd=new Map;class pw{constructor(e,i){let n=e.ownerDocument||e,O=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&O.CSSStyleSheet){let r=Kd.get(n);if(r)return e[Qu]=r;this.sheet=new O.CSSStyleSheet,Kd.set(n,this)}else this.styleTag=n.createElement("style"),i&&this.styleTag.setAttribute("nonce",i);this.modules=[],e[Qu]=this}mount(e,i){let n=this.sheet,O=0,r=0;for(let a=0;a<e.length;a++){let s=e[a],o=this.modules.indexOf(s);if(o<r&&o>-1&&(this.modules.splice(o,1),r--,o=-1),o==-1){if(this.modules.splice(r++,0,s),n)for(let l=0;l<s.rules.length;l++)n.insertRule(s.rules[l],O++)}else{for(;r<o;)O+=this.modules[r++].rules.length;O+=s.rules.length,r++}}if(n)i.adoptedStyleSheets.indexOf(this.sheet)<0&&(i.adoptedStyleSheets=[this.sheet,...i.adoptedStyleSheets]);else{let a="";for(let o=0;o<this.modules.length;o++)a+=this.modules[o].getRules()+`
|
|
13
|
-
`;this.styleTag.textContent=a;let s=i.head||i;this.styleTag.parentNode!=s&&s.insertBefore(this.styleTag,s.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Sn={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},ia={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Qw=typeof navigator<"u"&&/Mac/.test(navigator.platform),mw=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var st=0;st<10;st++)Sn[48+st]=Sn[96+st]=String(st);for(var st=1;st<=24;st++)Sn[st+111]="F"+st;for(var st=65;st<=90;st++)Sn[st]=String.fromCharCode(st+32),ia[st]=String.fromCharCode(st);for(var Cl in Sn)ia.hasOwnProperty(Cl)||(ia[Cl]=Sn[Cl]);function gw(t){var e=Qw&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||mw&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",i=!e&&t.key||(t.shiftKey?ia:Sn)[t.keyCode]||t.key||"Unidentified";return i=="Esc"&&(i="Escape"),i=="Del"&&(i="Delete"),i=="Left"&&(i="ArrowLeft"),i=="Up"&&(i="ArrowUp"),i=="Right"&&(i="ArrowRight"),i=="Down"&&(i="ArrowDown"),i}function it(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,i=arguments[1];if(i&&typeof i=="object"&&i.nodeType==null&&!Array.isArray(i)){for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)){var O=i[n];typeof O=="string"?t.setAttribute(n,O):O!=null&&(t[n]=O)}e++}for(;e<arguments.length;e++)Wg(t,arguments[e]);return t}function Wg(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var i=0;i<e.length;i++)Wg(t,e[i]);else throw new RangeError("Unsupported child node: "+e)}let gt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},mu=typeof document<"u"?document:{documentElement:{style:{}}};const gu=/Edge\/(\d+)/.exec(gt.userAgent),jg=/MSIE \d/.test(gt.userAgent),Pu=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(gt.userAgent),Vo=!!(jg||Pu||gu),Jd=!Vo&&/gecko\/(\d+)/i.test(gt.userAgent),El=!Vo&&/Chrome\/(\d+)/.exec(gt.userAgent),Pw="webkitFontSmoothing"in mu.documentElement.style,Su=!Vo&&/Apple Computer/.test(gt.vendor),e$=Su&&(/Mobile\/\w+/.test(gt.userAgent)||gt.maxTouchPoints>2);var H={mac:e$||/Mac/.test(gt.platform),windows:/Win/.test(gt.platform),linux:/Linux|X11/.test(gt.platform),ie:Vo,ie_version:jg?mu.documentMode||6:Pu?+Pu[1]:gu?+gu[1]:0,gecko:Jd,gecko_version:Jd?+(/Firefox\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,chrome:!!El,chrome_version:El?+El[1]:0,ios:e$,android:/Android\b/.test(gt.userAgent),webkit_version:Pw?+(/\bAppleWebKit\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,safari:Su,safari_version:Su?+(/\bVersion\/(\d+(\.\d+)?)/.exec(gt.userAgent)||[0,0])[1]:0,tabSize:mu.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Nf(t,e){for(let i in t)i=="class"&&e.class?e.class+=" "+t.class:i=="style"&&e.style?e.style+=";"+t.style:e[i]=t[i];return e}const Hs=Object.create(null);function If(t,e,i){if(t==e)return!0;t||(t=Hs),e||(e=Hs);let n=Object.keys(t),O=Object.keys(e);if(n.length-0!=O.length-0)return!1;for(let r of n)if(r!=i&&(O.indexOf(r)==-1||t[r]!==e[r]))return!1;return!0}function Sw(t,e){for(let i=t.attributes.length-1;i>=0;i--){let n=t.attributes[i].name;e[n]==null&&t.removeAttribute(n)}for(let i in e){let n=e[i];i=="style"?t.style.cssText=n:t.getAttribute(i)!=n&&t.setAttribute(i,n)}}function t$(t,e,i){let n=!1;if(e)for(let O in e)i&&O in i||(n=!0,O=="style"?t.style.cssText="":t.removeAttribute(O));if(i)for(let O in i)e&&e[O]==i[O]||(n=!0,O=="style"?t.style.cssText=i[O]:t.setAttribute(O,i[O]));return n}function bw(t){let e=Object.create(null);for(let i=0;i<t.attributes.length;i++){let n=t.attributes[i];e[n.name]=n.value}return e}class fO{eq(e){return!1}updateDOM(e,i,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,i,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ot=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(ot||(ot={}));class he extends gn{constructor(e,i,n,O){super(),this.startSide=e,this.endSide=i,this.widget=n,this.spec=O}get heightRelevant(){return!1}static mark(e){return new wa(e)}static widget(e){let i=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return i+=n&&!e.inlineOrder?i>0?3e8:-4e8:i>0?1e8:-1e8,new Jn(e,i,i,n,e.widget||null,!1)}static replace(e){let i=!!e.block,n,O;if(e.isBlockGap)n=-5e8,O=4e8;else{let{start:r,end:a}=Cg(e,i);n=(r?i?-3e8:-1:5e8)-1,O=(a?i?2e8:1:-6e8)+1}return new Jn(e,n,O,i,e.widget||null,!0)}static line(e){return new ka(e)}static set(e,i=!1){return Se.of(e,i)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}he.none=Se.empty;class wa extends he{constructor(e){let{start:i,end:n}=Cg(e);super(i?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Nf(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Hs}eq(e){return this==e||e instanceof wa&&this.tagName==e.tagName&&If(this.attrs,e.attrs)}range(e,i=e){if(e>=i)throw new RangeError("Mark decorations may not be empty");return super.range(e,i)}}wa.prototype.point=!1;class ka extends he{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ka&&this.spec.class==e.spec.class&&If(this.spec.attributes,e.spec.attributes)}range(e,i=e){if(i!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,i)}}ka.prototype.mapMode=ht.TrackBefore;ka.prototype.point=!0;class Jn extends he{constructor(e,i,n,O,r,a){super(i,n,r,e),this.block=O,this.isReplace=a,this.mapMode=O?i<=0?ht.TrackBefore:ht.TrackAfter:ht.TrackDel}get type(){return this.startSide!=this.endSide?ot.WidgetRange:this.startSide<=0?ot.WidgetBefore:ot.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Jn&&yw(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,i=e){if(this.isReplace&&(e>i||e==i&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&i!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,i)}}Jn.prototype.point=!0;function Cg(t,e=!1){let{inclusiveStart:i,inclusiveEnd:n}=t;return i==null&&(i=t.inclusive),n==null&&(n=t.inclusive),{start:i??e,end:n??e}}function yw(t,e){return t==e||!!(t&&e&&t.compare(e))}function NO(t,e,i,n=0){let O=i.length-1;O>=0&&i[O]+n>=t?i[O]=Math.max(i[O],e):i.push(t,e)}class na extends gn{constructor(e,i){super(),this.tagName=e,this.attributes=i}eq(e){return e==this||e instanceof na&&this.tagName==e.tagName&&If(this.attributes,e.attributes)}static create(e){return new na(e.tagName,e.attributes||Hs)}static set(e,i=!1){return Se.of(e,i)}}na.prototype.startSide=na.prototype.endSide=-1;function Oa(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function bu(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Nr(t,e){if(!e.anchorNode)return!1;try{return bu(t,e.anchorNode)}catch{return!1}}function Zs(t){return t.nodeType==3?ra(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function Ir(t,e,i,n){return i?i$(t,e,i,n,-1)||i$(t,e,i,n,1):!1}function bn(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Ks(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function i$(t,e,i,n,O){for(;;){if(t==i&&e==n)return!0;if(e==(O<0?0:Ki(t))){if(t.nodeName=="DIV")return!1;let r=t.parentNode;if(!r||r.nodeType!=1)return!1;e=bn(t)+(O<0?0:1),t=r}else if(t.nodeType==1){if(t=t.childNodes[e+(O<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=O<0?Ki(t):0}else return!1}}function Ki(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Js(t,e){let i=e?t.left:t.right;return{left:i,right:i,top:t.top,bottom:t.bottom}}function xw(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function Eg(t,e){let i=e.width/t.offsetWidth,n=e.height/t.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.width-t.offsetWidth)<1)&&(i=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-t.offsetHeight)<1)&&(n=1),{scaleX:i,scaleY:n}}function Xw(t,e,i,n,O,r,a,s){let o=t.ownerDocument,l=o.defaultView||window;for(let c=t,u=!1;c&&!u;)if(c.nodeType==1){let f,d=c==o.body,p=1,Q=1;if(d)f=xw(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(u=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let S=c.getBoundingClientRect();({scaleX:p,scaleY:Q}=Eg(c,S)),f={left:S.left,right:S.left+c.clientWidth*p,top:S.top,bottom:S.top+c.clientHeight*Q}}let P=0,m=0;if(O=="nearest")e.top<f.top?(m=e.top-(f.top+a),i>0&&e.bottom>f.bottom+m&&(m=e.bottom-f.bottom+a)):e.bottom>f.bottom&&(m=e.bottom-f.bottom+a,i<0&&e.top-m<f.top&&(m=e.top-(f.top+a)));else{let S=e.bottom-e.top,x=f.bottom-f.top;m=(O=="center"&&S<=x?e.top+S/2-x/2:O=="start"||O=="center"&&i<0?e.top-a:e.bottom-x+a)-f.top}if(n=="nearest"?e.left<f.left?(P=e.left-(f.left+r),i>0&&e.right>f.right+P&&(P=e.right-f.right+r)):e.right>f.right&&(P=e.right-f.right+r,i<0&&e.left<f.left+P&&(P=e.left-(f.left+r))):P=(n=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:n=="start"==s?e.left-r:e.right-(f.right-f.left)+r)-f.left,P||m)if(d)l.scrollBy(P,m);else{let S=0,x=0;if(m){let z=c.scrollTop;c.scrollTop+=m/Q,x=(c.scrollTop-z)*Q}if(P){let z=c.scrollLeft;c.scrollLeft+=P/p,S=(c.scrollLeft-z)*p}e={left:e.left-S,top:e.top-x,right:e.right-S,bottom:e.bottom-x},S&&Math.abs(S-P)<1&&(n="nearest"),x&&Math.abs(x-m)<1&&(O="nearest")}if(d)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function Gg(t,e=!0){let i=t.ownerDocument,n=null,O=null;for(let r=t.parentNode;r&&!(r==i.body||(!e||n)&&O);)if(r.nodeType==1)!O&&r.scrollHeight>r.clientHeight&&(O=r),e&&!n&&r.scrollWidth>r.clientWidth&&(n=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:n,y:O}}class ww{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:i,focusNode:n}=e;this.set(i,Math.min(e.anchorOffset,i?Ki(i):0),n,Math.min(e.focusOffset,n?Ki(n):0))}set(e,i,n,O){this.anchorNode=e,this.anchorOffset=i,this.focusNode=n,this.focusOffset=O}}let Wn=null;H.safari&&H.safari_version>=26&&(Wn=!1);function Ag(t){if(t.setActive)return t.setActive();if(Wn)return t.focus(Wn);let e=[];for(let i=t;i&&(e.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(t.focus(Wn==null?{get preventScroll(){return Wn={preventScroll:!0},!0}}:void 0),!Wn){Wn=!1;for(let i=0;i<e.length;){let n=e[i++],O=e[i++],r=e[i++];n.scrollTop!=O&&(n.scrollTop=O),n.scrollLeft!=r&&(n.scrollLeft=r)}}}let n$;function ra(t,e,i=e){let n=n$||(n$=document.createRange());return n.setEnd(t,i),n.setStart(t,e),n}function IO(t,e,i,n){let O={key:e,code:e,keyCode:i,which:i,cancelable:!0};n&&({altKey:O.altKey,ctrlKey:O.ctrlKey,shiftKey:O.shiftKey,metaKey:O.metaKey}=n);let r=new KeyboardEvent("keydown",O);r.synthetic=!0,t.dispatchEvent(r);let a=new KeyboardEvent("keyup",O);return a.synthetic=!0,t.dispatchEvent(a),r.defaultPrevented||a.defaultPrevented}function kw(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function Tw(t,e){let i=e.focusNode,n=e.focusOffset;if(!i||e.anchorNode!=i||e.anchorOffset!=n)return!1;for(n=Math.min(n,Ki(i));;)if(n){if(i.nodeType!=1)return!1;let O=i.childNodes[n-1];O.contentEditable=="false"?n--:(i=O,n=Ki(i))}else{if(i==t)return!0;n=bn(i),i=i.parentNode}}function Ng(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function Ig(t,e){for(let i=t,n=e;;){if(i.nodeType==3&&n>0)return{node:i,offset:n};if(i.nodeType==1&&n>0){if(i.contentEditable=="false")return null;i=i.childNodes[n-1],n=Ki(i)}else if(i.parentNode&&!Ks(i))n=bn(i),i=i.parentNode;else return null}}function Lg(t,e){for(let i=t,n=e;;){if(i.nodeType==3&&n<i.nodeValue.length)return{node:i,offset:n};if(i.nodeType==1&&n<i.childNodes.length){if(i.contentEditable=="false")return null;i=i.childNodes[n],n=0}else if(i.parentNode&&!Ks(i))n=bn(i)+1,i=i.parentNode;else return null}}class ui{constructor(e,i,n=!0){this.node=e,this.offset=i,this.precise=n}static before(e,i){return new ui(e.parentNode,bn(e),i)}static after(e,i){return new ui(e.parentNode,bn(e)+1,i)}}var Ge=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(Ge||(Ge={}));const eO=Ge.LTR,Lf=Ge.RTL;function Dg(t){let e=[];for(let i=0;i<t.length;i++)e.push(1<<+t[i]);return e}const vw=Dg("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),_w=Dg("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),yu=Object.create(null),Qi=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),i=t.charCodeAt(1);yu[e]=i,yu[i]=-e}function Mg(t){return t<=247?vw[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?_w[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const Rw=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class wi{get dir(){return this.level%2?Lf:eO}constructor(e,i,n){this.from=e,this.to=i,this.level=n}side(e,i){return this.dir==i==e?this.to:this.from}forward(e,i){return e==(this.dir==i)}static find(e,i,n,O){let r=-1;for(let a=0;a<e.length;a++){let s=e[a];if(s.from<=i&&s.to>=i){if(s.level==n)return a;(r<0||(O!=0?O<0?s.from<i:s.to>i:e[r].level>s.level))&&(r=a)}}if(r<0)throw new RangeError("Index out of range");return r}}function Bg(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let n=t[i],O=e[i];if(n.from!=O.from||n.to!=O.to||n.direction!=O.direction||!Bg(n.inner,O.inner))return!1}return!0}const Ve=[];function Yw(t,e,i,n,O){for(let r=0;r<=n.length;r++){let a=r?n[r-1].to:e,s=r<n.length?n[r].from:i,o=r?256:O;for(let l=a,c=o,u=o;l<s;l++){let f=Mg(t.charCodeAt(l));f==512?f=c:f==8&&u==4&&(f=16),Ve[l]=f==4?2:f,f&7&&(u=f),c=f}for(let l=a,c=o,u=o;l<s;l++){let f=Ve[l];if(f==128)l<s-1&&c==Ve[l+1]&&c&24?f=Ve[l]=c:Ve[l]=256;else if(f==64){let d=l+1;for(;d<s&&Ve[d]==64;)d++;let p=l&&c==8||d<i&&Ve[d]==8?u==1?1:8:256;for(let Q=l;Q<d;Q++)Ve[Q]=p;l=d-1}else f==8&&u==1&&(Ve[l]=1);c=f,f&7&&(u=f)}}}function Zw(t,e,i,n,O){let r=O==1?2:1;for(let a=0,s=0,o=0;a<=n.length;a++){let l=a?n[a-1].to:e,c=a<n.length?n[a].from:i;for(let u=l,f,d,p;u<c;u++)if(d=yu[f=t.charCodeAt(u)])if(d<0){for(let Q=s-3;Q>=0;Q-=3)if(Qi[Q+1]==-d){let P=Qi[Q+2],m=P&2?O:P&4?P&1?r:O:0;m&&(Ve[u]=Ve[Qi[Q]]=m),s=Q;break}}else{if(Qi.length==189)break;Qi[s++]=u,Qi[s++]=f,Qi[s++]=o}else if((p=Ve[u])==2||p==1){let Q=p==O;o=Q?0:1;for(let P=s-3;P>=0;P-=3){let m=Qi[P+2];if(m&2)break;if(Q)Qi[P+2]|=2;else{if(m&4)break;Qi[P+2]|=4}}}}}function zw(t,e,i,n){for(let O=0,r=n;O<=i.length;O++){let a=O?i[O-1].to:t,s=O<i.length?i[O].from:e;for(let o=a;o<s;){let l=Ve[o];if(l==256){let c=o+1;for(;;)if(c==s){if(O==i.length)break;c=i[O++].to,s=O<i.length?i[O].from:e}else if(Ve[c]==256)c++;else break;let u=r==1,f=(c<e?Ve[c]:n)==1,d=u==f?u?1:2:n;for(let p=c,Q=O,P=Q?i[Q-1].to:t;p>o;)p==P&&(p=i[--Q].from,P=Q?i[Q-1].to:t),Ve[--p]=d;o=c}else r=l,o++}}}function xu(t,e,i,n,O,r,a){let s=n%2?2:1;if(n%2==O%2)for(let o=e,l=0;o<i;){let c=!0,u=!1;if(l==r.length||o<r[l].from){let Q=Ve[o];Q!=s&&(c=!1,u=Q==16)}let f=!c&&s==1?[]:null,d=c?n:n+1,p=o;e:for(;;)if(l<r.length&&p==r[l].from){if(u)break e;let Q=r[l];if(!c)for(let P=Q.to,m=l+1;;){if(P==i)break e;if(m<r.length&&r[m].from==P)P=r[m++].to;else{if(Ve[P]==s)break e;break}}if(l++,f)f.push(Q);else{Q.from>o&&a.push(new wi(o,Q.from,d));let P=Q.direction==eO!=!(d%2);Xu(t,P?n+1:n,O,Q.inner,Q.from,Q.to,a),o=Q.to}p=Q.to}else{if(p==i||(c?Ve[p]!=s:Ve[p]==s))break;p++}f?xu(t,o,p,n+1,O,f,a):o<p&&a.push(new wi(o,p,d)),o=p}else for(let o=i,l=r.length;o>e;){let c=!0,u=!1;if(!l||o>r[l-1].to){let Q=Ve[o-1];Q!=s&&(c=!1,u=Q==16)}let f=!c&&s==1?[]:null,d=c?n:n+1,p=o;e:for(;;)if(l&&p==r[l-1].to){if(u)break e;let Q=r[--l];if(!c)for(let P=Q.from,m=l;;){if(P==e)break e;if(m&&r[m-1].to==P)P=r[--m].from;else{if(Ve[P-1]==s)break e;break}}if(f)f.push(Q);else{Q.to<o&&a.push(new wi(Q.to,o,d));let P=Q.direction==eO!=!(d%2);Xu(t,P?n+1:n,O,Q.inner,Q.from,Q.to,a),o=Q.from}p=Q.from}else{if(p==e||(c?Ve[p-1]!=s:Ve[p-1]==s))break;p--}f?xu(t,p,o,n+1,O,f,a):p<o&&a.push(new wi(p,o,d)),o=p}}function Xu(t,e,i,n,O,r,a){let s=e%2?2:1;Yw(t,O,r,n,s),Zw(t,O,r,n,s),zw(O,r,n,s),xu(t,O,r,e,i,n,a)}function Uw(t,e,i){if(!t)return[new wi(0,0,e==Lf?1:0)];if(e==eO&&!i.length&&!Rw.test(t))return Fg(t.length);if(i.length)for(;t.length>Ve.length;)Ve[Ve.length]=256;let n=[],O=e==eO?0:1;return Xu(t,O,O,i,0,t.length,n),n}function Fg(t){return[new wi(0,t,0)]}let Hg="";function qw(t,e,i,n,O){var r;let a=n.head-t.from,s=wi.find(e,a,(r=n.bidiLevel)!==null&&r!==void 0?r:-1,n.assoc),o=e[s],l=o.side(O,i);if(a==l){let f=s+=O?1:-1;if(f<0||f>=e.length)return null;o=e[s=f],a=o.side(!O,i),l=o.side(O,i)}let c=nt(t.text,a,o.forward(O,i));(c<o.from||c>o.to)&&(c=l),Hg=t.text.slice(Math.min(a,c),Math.max(a,c));let u=s==(O?e.length-1:0)?null:e[s+(O?1:-1)];return u&&c==l&&u.level+(O?0:1)<o.level?j.cursor(u.side(!O,i)+t.from,u.forward(O,i)?1:-1,u.level):j.cursor(c+t.from,o.forward(O,i)?-1:1,o.level)}function Vw(t,e,i){for(let n=e;n<i;n++){let O=Mg(t.charCodeAt(n));if(O==1)return eO;if(O==2||O==4)return Lf}return eO}const Kg=J.define(),Jg=J.define(),eP=J.define(),tP=J.define(),wu=J.define(),iP=J.define(),nP=J.define(),Df=J.define(),Mf=J.define(),OP=J.define({combine:t=>t.some(e=>e)}),rP=J.define({combine:t=>t.some(e=>e)}),aP=J.define();class LO{constructor(e,i="nearest",n="nearest",O=5,r=5,a=!1){this.range=e,this.y=i,this.x=n,this.yMargin=O,this.xMargin=r,this.isSnapshot=a}map(e){return e.empty?this:new LO(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new LO(j.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Ja=Xe.define({map:(t,e)=>t.map(e)}),sP=Xe.define();function ki(t,e,i){let n=t.facet(tP);n.length?n[0](e):window.onerror&&window.onerror(String(e),i,void 0,void 0,e)||(i?console.error(i+":",e):console.error(e))}const Mi=J.define({combine:t=>t.length?t[0]:!0});let Ww=0;const EO=J.define({combine(t){return t.filter((e,i)=>{for(let n=0;n<i;n++)if(t[n].plugin==e.plugin)return!1;return!0})}});class St{constructor(e,i,n,O,r){this.id=e,this.create=i,this.domEventHandlers=n,this.domEventObservers=O,this.baseExtensions=r(this),this.extension=this.baseExtensions.concat(EO.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(EO.of({plugin:this,arg:e}))}static define(e,i){const{eventHandlers:n,eventObservers:O,provide:r,decorations:a}=i||{};return new St(Ww++,e,n,O,s=>{let o=[];return a&&o.push(Wo.of(l=>{let c=l.plugin(s);return c?a(c):he.none})),r&&o.push(r(s)),o})}static fromClass(e,i){return St.define((n,O)=>new e(n,O),i)}}class Gl{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let i=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(i)}catch(n){if(ki(i.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(i){ki(e.state,i,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var i;if(!((i=this.value)===null||i===void 0)&&i.destroy)try{this.value.destroy()}catch(n){ki(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const oP=J.define(),Bf=J.define(),Wo=J.define(),lP=J.define(),Ff=J.define(),Ta=J.define(),cP=J.define();function O$(t,e){let i=t.state.facet(cP);if(!i.length)return i;let n=i.map(r=>r instanceof Function?r(t):r),O=[];return Se.spans(n,e.from,e.to,{point(){},span(r,a,s,o){let l=r-e.from,c=a-e.from,u=O;for(let f=s.length-1;f>=0;f--,o--){let d=s[f].spec.bidiIsolate,p;if(d==null&&(d=Vw(e.text,l,c)),o>0&&u.length&&(p=u[u.length-1]).to==l&&p.direction==d)p.to=c,u=p.inner;else{let Q={from:l,to:c,direction:d,inner:[]};u.push(Q),u=Q.inner}}}}),O}const uP=J.define();function fP(t){let e=0,i=0,n=0,O=0;for(let r of t.state.facet(uP)){let a=r(t);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(i=Math.max(i,a.right)),a.top!=null&&(n=Math.max(n,a.top)),a.bottom!=null&&(O=Math.max(O,a.bottom)))}return{left:e,right:i,top:n,bottom:O}}const qr=J.define();class Jt{constructor(e,i,n,O){this.fromA=e,this.toA=i,this.fromB=n,this.toB=O}join(e){return new Jt(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let i=e.length,n=this;for(;i>0;i--){let O=e[i-1];if(!(O.fromA>n.toA)){if(O.toA<n.fromA)break;n=n.join(O),e.splice(i-1,1)}}return e.splice(i,0,n),e}static extendWithRanges(e,i){if(i.length==0)return e;let n=[];for(let O=0,r=0,a=0;;){let s=O<e.length?e[O].fromB:1e9,o=r<i.length?i[r]:1e9,l=Math.min(s,o);if(l==1e9)break;let c=l+a,u=l,f=c;for(;;)if(r<i.length&&i[r]<=u){let d=i[r+1];r+=2,u=Math.max(u,d);for(let p=O;p<e.length&&e[p].fromB<=u;p++)a=e[p].toA-e[p].toB;f=Math.max(f,d+a)}else if(O<e.length&&e[O].fromB<=u){let d=e[O++];u=Math.max(u,d.toB),f=Math.max(f,d.toA),a=d.toA-d.toB}else break;n.push(new Jt(c,f,l,u))}return n}}class eo{constructor(e,i,n){this.view=e,this.state=i,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=Je.empty(this.startState.doc.length);for(let r of n)this.changes=this.changes.compose(r.changes);let O=[];this.changes.iterChangedRanges((r,a,s,o)=>O.push(new Jt(r,a,s,o))),this.changedRanges=O}static create(e,i,n){return new eo(e,i,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const jw=[];class Le{constructor(e,i,n=0){this.dom=e,this.length=i,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return jw}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let i=this.domAttrs;i&&Sw(this.dom,i)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,i=this.posAtStart){let n=i;for(let O of this.children){if(O==e)return n;n+=O.length+O.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,i){return null}domPosFor(e,i){let n=bn(this.dom),O=this.length?e>0:i>0;return new ui(this.parent.dom,n+(O?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Co)return e;return null}static get(e){return e.cmTile}}class jo extends Le{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let i=this.dom,n=null,O,r=(e==null?void 0:e.node)==i?e:null,a=0;for(let s of this.children){if(s.sync(e),a+=s.length+s.breakAfter,O=n?n.nextSibling:i.firstChild,r&&O!=s.dom&&(r.written=!0),s.dom.parentNode==i)for(;O&&O!=s.dom;)O=r$(O);else i.insertBefore(s.dom,O);n=s.dom}for(O=n?n.nextSibling:i.firstChild,r&&O&&(r.written=!0);O;)O=r$(O);this.length=a}}function r$(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class Co extends jo{constructor(e,i){super(i),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let i=Le.get(e);if(i&&this.owns(i))return i;e=e.parentNode}}blockTiles(e){for(let i=[],n=this,O=0,r=0;;)if(O==n.children.length){if(!i.length)return;n=n.parent,n.breakAfter&&r++,O=i.pop()}else{let a=n.children[O++];if(a instanceof Bi)i.push(O),n=a,O=0;else{let s=r+a.length,o=e(a,r);if(o!==void 0)return o;r=s+a.breakAfter}}}resolveBlock(e,i){let n,O=-1,r,a=-1;if(this.blockTiles((s,o)=>{let l=o+s.length;if(e>=o&&e<=l){if(s.isWidget()&&i>=-1&&i<=1){if(s.flags&32)return!0;s.flags&16&&(n=void 0)}(o<e||e==l&&(i<-1?s.length:s.covers(1)))&&(!n||!s.isWidget()&&n.isWidget())&&(n=s,O=e-o),(l>e||e==o&&(i>1?s.length:s.covers(-1)))&&(!r||!s.isWidget()&&r.isWidget())&&(r=s,a=e-o)}}),!n&&!r)throw new Error("No tile at position "+e);return n&&i<0||!r?{tile:n,offset:O}:{tile:r,offset:a}}}class Bi extends jo{constructor(e,i){super(e),this.wrapper=i}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,i){let n=new Bi(i||document.createElement(e.tagName),e);return i||(n.flags|=4),n}}class JO extends jo{constructor(e,i){super(e),this.attrs=i}isLine(){return!0}static start(e,i,n){let O=new JO(i||document.createElement("div"),e);return(!i||!n)&&(O.flags|=4),O}get domAttrs(){return this.attrs}resolveInline(e,i,n){let O=null,r=-1,a=null,s=-1;function o(c,u){for(let f=0,d=0;f<c.children.length&&d<=u;f++){let p=c.children[f],Q=d+p.length;Q>=u&&(p.isComposite()?o(p,u-d):(!a||a.isHidden&&(i>0||n&&Ew(a,p)))&&(Q>u||p.flags&32)?(a=p,s=u-d):(d<u||p.flags&16&&!p.isHidden)&&(O=p,r=u-d)),d=Q}}o(this,e);let l=(i<0?O:a)||O||a;return l?{tile:l,offset:l==O?r:s}:null}coordsIn(e,i){let n=this.resolveInline(e,i,!0);return n?n.tile.coordsIn(Math.max(0,n.offset),i):Cw(this)}domIn(e,i){let n=this.resolveInline(e,i);if(n){let{tile:O,offset:r}=n;if(this.dom.contains(O.dom))return O.isText()?new ui(O.dom,Math.min(O.dom.nodeValue.length,r)):O.domPosFor(r,O.flags&16?1:O.flags&32?-1:i);let a=n.tile.parent,s=!1;for(let o of a.children){if(s)return new ui(o.dom,0);o==n.tile&&(s=!0)}}return new ui(this.dom,0)}}function Cw(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let i=Zs(e);return i[i.length-1]||null}function Ew(t,e){let i=t.coordsIn(0,1),n=e.coordsIn(0,1);return i&&n&&n.top<i.bottom}class Yt extends jo{constructor(e,i){super(e),this.mark=i}get domAttrs(){return this.mark.attrs}static of(e,i){let n=new Yt(i||document.createElement(e.tagName),e);return i||(n.flags|=4),n}}class In extends Le{constructor(e,i){super(e,i.length),this.text=i}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,i){let n=this.dom.nodeValue.length;e>n&&(e=n);let O=e,r=e,a=0;e==0&&i<0||e==n&&i>=0?H.chrome||H.gecko||(e?(O--,a=1):r<n&&(r++,a=-1)):i<0?O--:r<n&&r++;let s=ra(this.dom,O,r).getClientRects();if(!s.length)return null;let o=s[(a?a<0:i>=0)?0:s.length-1];return H.safari&&!a&&o.width==0&&(o=Array.prototype.find.call(s,l=>l.width)||o),a?Js(o,a<0):o||null}static of(e,i){let n=new In(i||document.createTextNode(e),e);return i||(n.flags|=2),n}}class tO extends Le{constructor(e,i,n,O){super(e,i,O),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,i){return this.coordsInWidget(e,i,!1)}coordsInWidget(e,i,n){let O=this.widget.coordsAt(this.dom,e,i);if(O)return O;if(n)return Js(this.dom.getBoundingClientRect(),this.length?e==0:i<=0);{let r=this.dom.getClientRects(),a=null;if(!r.length)return null;let s=this.flags&16?!0:this.flags&32?!1:e>0;for(let o=s?r.length-1:0;a=r[o],!(e>0?o==0:o==r.length-1||a.top<a.bottom);o+=s?-1:1);return Js(a,!s)}}get overrideDOMText(){if(!this.length)return xe.empty;let{root:e}=this;if(!e)return xe.empty;let i=this.posAtStart;return e.view.state.doc.slice(i,i+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,i,n,O,r){return r||(r=e.toDOM(i),e.editable||(r.contentEditable="false")),new tO(r,n,e,O)}}class to extends Le{constructor(e){let i=document.createElement("img");i.className="cm-widgetBuffer",i.setAttribute("aria-hidden","true"),super(i,0,e)}get isHidden(){return!0}get overrideDOMText(){return xe.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class Gw{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,i,n){let{tile:O,index:r,beforeBreak:a,parents:s}=this;for(;e||i>0;)if(O.isComposite())if(a){if(!e)break;n&&n.break(),e--,a=!1}else if(r==O.children.length){if(!e&&!s.length)break;n&&n.leave(O),a=!!O.breakAfter,{tile:O,index:r}=s.pop(),r++}else{let o=O.children[r],l=o.breakAfter;(i>0?o.length<=e:o.length<e)&&(!n||n.skip(o,0,o.length)!==!1||!o.isComposite)?(a=!!l,r++,e-=o.length):(s.push({tile:O,index:r}),O=o,r=0,n&&o.isComposite()&&n.enter(o))}else if(r==O.length)a=!!O.breakAfter,{tile:O,index:r}=s.pop(),r++;else if(e){let o=Math.min(e,O.length-r);n&&n.skip(O,r,r+o),e-=o,r+=o}else break;return this.tile=O,this.index=r,this.beforeBreak=a,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class Aw{constructor(e,i,n,O){this.from=e,this.to=i,this.wrapper=n,this.rank=O}}class Nw{constructor(e,i,n){this.cache=e,this.root=i,this.blockWrappers=n,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,i,n,O){var r;this.flushBuffer();let a=this.ensureMarks(i,n),s=a.lastChild;if(s&&s.isText()&&!(s.flags&8)&&s.length+e.length<512){this.cache.reused.set(s,2);let o=a.children[a.children.length-1]=new In(s.dom,s.text+e);o.parent=a}else a.append(O||In.of(e,(r=this.cache.find(In))===null||r===void 0?void 0:r.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,i){let n=this.curLine;n.dom!=i.line.dom&&(n.setDOM(this.cache.reused.has(i.line)?Al(i.line.dom):i.line.dom),this.cache.reused.set(i.line,2));let O=n;for(let s=i.marks.length-1;s>=0;s--){let o=i.marks[s],l=O.lastChild;if(l instanceof Yt&&l.mark.eq(o.mark))l.dom!=o.dom&&l.setDOM(Al(o.dom)),O=l;else{if(this.cache.reused.get(o)){let u=Le.get(o.dom);u&&u.setDOM(Al(o.dom))}let c=Yt.of(o.mark,o.dom);O.append(c),O=c}this.cache.reused.set(o,2)}let r=Le.get(e.text);r&&this.cache.reused.set(r,2);let a=new In(e.text,e.text.nodeValue);a.flags|=8,O.append(a)}addInlineWidget(e,i,n){let O=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);O||this.flushBuffer();let r=this.ensureMarks(i,n);!O&&!(e.flags&16)&&r.append(this.getBuffer(1)),r.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,i,n){this.flushBuffer(),this.ensureMarks(i,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let i=this.afterWidget||this.lastBlock;i.length+=e,this.pos+=e}addLineStart(e,i){var n;e||(e=hP);let O=JO.start(e,i||((n=this.cache.find(JO))===null||n===void 0?void 0:n.dom),!!i);this.getBlockPos().append(this.lastBlock=this.curLine=O)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,i){var n;let O=this.curLine;for(let r=e.length-1;r>=0;r--){let a=e[r],s;if(i>0&&(s=O.lastChild)&&s instanceof Yt&&s.mark.eq(a))O=s,i--;else{let o=Yt.of(a,(n=this.cache.find(Yt,l=>l.mark.eq(a)))===null||n===void 0?void 0:n.dom);O.append(o),O=o,i=0}}return O}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!a$(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(H.ios&&a$(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Nl,0,32)||new tO(Nl.toDOM(),0,Nl,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let i=new Aw(e.from,e.to,e.value,e.rank),n=this.wrappers.length;for(;n>0&&(this.wrappers[n-1].rank-i.rank||this.wrappers[n-1].to-i.to)<0;)n--;this.wrappers.splice(n,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let i=this.root;for(let n of this.wrappers){let O=i.lastChild;if(n.from<this.pos&&O instanceof Bi&&O.wrapper.eq(n.wrapper))i=O;else{let r=Bi.of(n.wrapper,(e=this.cache.find(Bi,a=>a.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);i.append(r),i=r}}return i}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let i=2|(e<0?16:32),n=this.cache.find(to,void 0,1);return n&&(n.flags=i),n||new to(i)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class Iw{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:O,lineBreak:r,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=O;let s=this.textOff=Math.min(e,O.length);return r?null:O.slice(0,s)}let i=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,i);return this.textOff=i,n}}const io=[tO,JO,In,Yt,to,Bi,Co];for(let t=0;t<io.length;t++)io[t].bucket=t;class Lw{constructor(e){this.view=e,this.buckets=io.map(()=>[]),this.index=io.map(()=>0),this.reused=new Map}add(e){let i=e.constructor.bucket,n=this.buckets[i];n.length<6?n.push(e):n[this.index[i]=(this.index[i]+1)%6]=e}find(e,i,n=2){let O=e.bucket,r=this.buckets[O],a=this.index[O];for(let s=r.length-1;s>=0;s--){let o=(s+a)%r.length,l=r[o];if((!i||i(l))&&!this.reused.has(l))return r.splice(o,1),o<a&&this.index[O]--,this.reused.set(l,n),l}return null}findWidget(e,i,n){let O=this.buckets[0];if(O.length)for(let r=0,a=0;;r++){if(r==O.length){if(a)return null;a=1,r=0}let s=O[r];if(!this.reused.has(s)&&(a==0?s.widget.compare(e):s.widget.constructor==e.constructor&&e.updateDOM(s.dom,this.view,s.widget)))return O.splice(r,1),r<this.index[0]&&this.index[0]--,s.widget==e&&s.length==i&&(s.flags&497)==n?(this.reused.set(s,1),s):(this.reused.set(s,2),new tO(s.dom,i,e,s.flags&-498|n))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,i=2){if(!this.reused.has(e))return this.reused.set(e,i),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class Dw{constructor(e,i,n,O,r){this.view=e,this.decorations=O,this.disallowBlockEffectsFor=r,this.openWidget=!1,this.openMarks=0,this.cache=new Lw(e),this.text=new Iw(e.state.doc),this.builder=new Nw(this.cache,new Co(e,e.contentDOM),Se.iter(n)),this.cache.reused.set(i,2),this.old=new Gw(i),this.reuseWalker={skip:(a,s,o)=>{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(e,i){let n=i&&this.getCompositionContext(i.text);for(let O=0,r=0,a=0;;){let s=a<e.length?e[a++]:null,o=s?s.fromA:this.old.root.length;if(o>O){let l=o-O;this.preserve(l,!a,!s),O=o,r+=l}if(!s)break;i&&s.fromA<=i.range.fromA&&s.toA>=i.range.toA?(this.forward(s.fromA,i.range.fromA,i.range.fromA<i.range.toA?1:-1),this.emit(r,i.range.fromB),this.cache.clear(),this.builder.addComposition(i,n),this.text.skip(i.range.toB-i.range.fromB),this.forward(i.range.fromA,s.toA),this.emit(i.range.toB,s.toB)):(this.forward(s.fromA,s.toA),this.emit(r,s.toB)),r=s.toB,O=s.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,i,n){let O=Fw(this.old),r=this.openMarks;this.old.advance(e,n?1:-1,{skip:(a,s,o)=>{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(o-s);else{let l=o>0||s<a.length?tO.of(a.widget,this.view,o-s,a.flags&496,this.cache.maybeReuse(a)):this.cache.reuse(a);l.flags&256?(l.flags&=-2,this.builder.addBlockWidget(l)):(this.builder.ensureLine(null),this.builder.addInlineWidget(l,O,r),r=O.length)}else if(a.isText())this.builder.ensureLine(null),!s&&o==a.length&&!this.cache.reused.has(a)?this.builder.addText(a.text,O,r,this.cache.reuse(a)):(this.cache.add(a),this.builder.addText(a.text.slice(s,o),O,r)),r=O.length;else if(a.isLine())a.flags&=-2,this.cache.reused.set(a,1),this.builder.addLine(a);else if(a instanceof to)this.cache.add(a);else if(a instanceof Yt)this.builder.ensureLine(null),this.builder.addMark(a,O,r),this.cache.reused.set(a,1),r=O.length;else return!1;this.openWidget=!1},enter:a=>{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof Yt&&O.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?O.length&&(O.length=r=0):a instanceof Yt&&(O.shift(),r=Math.min(r,O.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,i){let n=null,O=this.builder,r=0,a=Se.spans(this.decorations,e,i,{point:(s,o,l,c,u,f)=>{if(l instanceof Jn){if(this.disallowBlockEffectsFor[f]){if(l.block)throw new RangeError("Block decorations may not be specified via plugins");if(o>this.view.state.doc.lineAt(s).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(r=c.length,u>c.length)O.continueWidget(o-s);else{let d=l.widget||(l.block?er.block:er.inline),p=Mw(l),Q=this.cache.findWidget(d,o-s,p)||tO.of(d,this.view,o-s,p);l.block?(l.startSide>0&&O.addLineStartIfNotCovered(n),O.addBlockWidget(Q)):(O.ensureLine(n),O.addInlineWidget(Q,c,u))}n=null}else n=Bw(n,l);o>s&&this.text.skip(o-s)},span:(s,o,l,c)=>{for(let u=s;u<o;){let f=this.text.next(Math.min(512,o-u));f==null?(O.addLineStartIfNotCovered(n),O.addBreak(),u++):(O.ensureLine(n),O.addText(f,l,u==s?c:l.length),u+=f.length),n=null}}});O.addLineStartIfNotCovered(n),this.openWidget=a>r,this.openMarks=a}forward(e,i,n=1){i-e<=10?this.old.advance(i-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(i-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let i=[],n=null;for(let O=e.parentNode;;O=O.parentNode){let r=Le.get(O);if(O==this.view.contentDOM)break;r instanceof Yt?i.push(r):r!=null&&r.isLine()?n=r:r instanceof Bi||(O.nodeName=="DIV"&&!n&&O!=this.view.contentDOM?n=new JO(O,hP):n||i.push(Yt.of(new wa({tagName:O.nodeName.toLowerCase(),attributes:bw(O)}),O)))}return{line:n,marks:i}}}function a$(t,e){let i=n=>{for(let O of n.children)if((e?O.isText():O.length)||i(O))return!0;return!1};return i(t)}function Mw(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const hP={class:"cm-line"};function Bw(t,e){let i=e.spec.attributes,n=e.spec.class;return!i&&!n||(t||(t={class:"cm-line"}),i&&Nf(i,t),n&&(t.class+=" "+n)),t}function Fw(t){let e=[];for(let i=t.parents.length;i>1;i--){let n=i==t.parents.length?t.tile:t.parents[i].tile;n instanceof Yt&&e.push(n.mark)}return e}function Al(t){let e=Le.get(t);return e&&e.setDOM(t.cloneNode()),t}class er extends fO{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}er.inline=new er("span");er.block=new er("div");const Nl=new class extends fO{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class s${constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=he.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Co(e,e.contentDOM),this.updateInner([new Jt(0,0,0,e.state.doc.length)],null)}update(e){var i;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:c,toA:u})=>u<this.minWidthFrom||c>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let O=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((i=this.domChanged)===null||i===void 0)&&i.newSel?O=this.domChanged.newSel.head:!rk(e.changes,this.hasComposition)&&!e.selectionSet&&(O=e.state.selection.main.head));let r=O>-1?Kw(this.view,e.changes,O):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:u}=this.hasComposition;n=new Jt(c,u,e.changes.mapPos(c,-1),e.changes.mapPos(u,1)).addToSet(n.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(H.ie||H.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,s=this.blockWrappers;this.updateDeco();let o=tk(a,this.decorations,e.changes);o.length&&(n=Jt.extendWithRanges(n,o));let l=nk(s,this.blockWrappers,e.changes);return l.length&&(n=Jt.extendWithRanges(n,l)),r&&!n.some(c=>c.fromA<=r.range.fromA&&c.toA>=r.range.toA)&&(n=r.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,i){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(i||e.length){let a=this.tile,s=new Dw(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);i&&Le.get(i.text)&&s.cache.reused.set(Le.get(i.text),2),this.tile=s.run(e,i),ku(a,s.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let r=H.chrome||H.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(r),r&&(r.written||n.selectionRange.focusNode!=r.node||!this.tile.dom.contains(r.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let O=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let r of this.tile.children)r.isWidget()&&r.widget instanceof Il&&O.push(r.dom);n.updateGaps(O)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let i of e.transactions)for(let n of i.effects)n.is(sP)&&(this.editContextFormatting=n.value)}updateSelection(e=!1,i=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:n}=this.tile,O=this.view.root.activeElement,r=O==n,a=!r&&!(this.view.state.facet(Mi)||n.tabIndex>-1)&&Nr(n,this.view.observer.selectionRange)&&!(O&&n.contains(O));if(!(r||i||a))return;let s=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,l,c;if(o.empty?c=l=this.inlineDOMNearPos(o.anchor,o.assoc||1):(c=this.inlineDOMNearPos(o.head,o.head==o.from?1:-1),l=this.inlineDOMNearPos(o.anchor,o.anchor==o.from?1:-1)),H.gecko&&o.empty&&!this.hasComposition&&Hw(l)){let f=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(f,l.node.childNodes[l.offset]||null)),l=c=new ui(f,0),s=!0}let u=this.view.observer.selectionRange;(s||!u.focusNode||(!Ir(l.node,l.offset,u.anchorNode,u.anchorOffset)||!Ir(c.node,c.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,o))&&(this.view.observer.ignore(()=>{H.android&&H.chrome&&n.contains(u.focusNode)&&Ok(u.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let f=Oa(this.view.root);if(f)if(o.empty){if(H.gecko){let d=Jw(l.node,l.offset);if(d&&d!=3){let p=(d==1?Ig:Lg)(l.node,l.offset);p&&(l=new ui(p.node,p.offset))}}f.collapse(l.node,l.offset),o.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=o.bidiLevel)}else if(f.extend){f.collapse(l.node,l.offset);try{f.extend(c.node,c.offset)}catch{}}else{let d=document.createRange();o.anchor>o.head&&([l,c]=[c,l]),d.setEnd(c.node,c.offset),d.setStart(l.node,l.offset),f.removeAllRanges(),f.addRange(d)}a&&this.view.root.activeElement==n&&(n.blur(),O&&O.focus())}),this.view.observer.setSelectionRange(l,c)),this.impreciseAnchor=l.precise?null:new ui(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new ui(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,i){return this.hasComposition&&i.empty&&Ir(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==i.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,i=e.state.selection.main,n=Oa(e.root),{anchorNode:O,anchorOffset:r}=e.observer.selectionRange;if(!n||!i.empty||!i.assoc||!n.modify)return;let a=this.lineAt(i.head,i.assoc);if(!a)return;let s=a.posAtStart;if(i.head==s||i.head==s+a.length)return;let o=this.coordsAt(i.head,-1),l=this.coordsAt(i.head,1);if(!o||!l||o.bottom>l.top)return;let c=this.domAtPos(i.head+i.assoc,i.assoc);n.collapse(c.node,c.offset),n.modify("move",i.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=i.from&&n.collapse(O,r)}posFromDOM(e,i){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let O=n.posAtStart;if(n.isComposite()){let r;if(e==n.dom)r=n.dom.childNodes[i];else{let a=Ki(e)==0?0:i==0?-1:1;for(;;){let s=e.parentNode;if(s==n.dom)break;a==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?a=-1:a=1),e=s}a<0?r=e:r=e.nextSibling}if(r==n.dom.firstChild)return O;for(;r&&!Le.get(r);)r=r.nextSibling;if(!r)return O+n.length;for(let a=0,s=O;;a++){let o=n.children[a];if(o.dom==r)return s;s+=o.length+o.breakAfter}}else return n.isText()?e==n.dom?O+i:O+(i?n.length:0):O}domAtPos(e,i){let{tile:n,offset:O}=this.tile.resolveBlock(e,i);return n.isWidget()?n.domPosFor(e,i):n.domIn(O,i)}inlineDOMNearPos(e,i){let n,O=-1,r=!1,a,s=-1,o=!1;return this.tile.blockTiles((l,c)=>{if(l.isWidget()){if(l.flags&32&&c>=e)return!0;l.flags&16&&(r=!0)}else{let u=c+l.length;if(c<=e&&(n=l,O=e-c,r=u<e),u>=e&&!a&&(a=l,s=e-c,o=c>e),c>e&&a)return!0}}),!n&&!a?this.domAtPos(e,i):(r&&a?n=null:o&&n&&(a=null),n&&i<0||!a?n.domIn(O,i):a.domIn(s,i))}coordsAt(e,i){let{tile:n,offset:O}=this.tile.resolveBlock(e,i);return n.isWidget()?n.widget instanceof Il?null:n.coordsInWidget(O,i,!0):n.coordsIn(O,i)}lineAt(e,i){let{tile:n}=this.tile.resolveBlock(e,i);return n.isLine()?n:null}coordsForChar(e){let{tile:i,offset:n}=this.tile.resolveBlock(e,1);if(!i.isLine())return null;function O(r,a){if(r.isComposite())for(let s of r.children){if(s.length>=a){let o=O(s,a);if(o)return o}if(a-=s.length,a<0)break}else if(r.isText()&&a<r.length){let s=nt(r.text,a);if(s==a)return null;let o=ra(r.dom,a,s).getClientRects();for(let l=0;l<o.length;l++){let c=o[l];if(l==o.length-1||c.top<c.bottom&&c.left<c.right)return c}}return null}return O(i,n)}measureVisibleLineHeights(e){let i=[],{from:n,to:O}=e,r=this.view.contentDOM.clientWidth,a=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,s=-1,o=this.view.textDirection==Ge.LTR,l=0,c=(u,f,d)=>{for(let p=0;p<u.children.length&&!(f>O);p++){let Q=u.children[p],P=f+Q.length,m=Q.dom.getBoundingClientRect(),{height:S}=m;if(d&&!p&&(l+=m.top-d.top),Q instanceof Bi)P>n&&c(Q,f,m);else if(f>=n&&(l>0&&i.push(-l),i.push(S+l),l=0,a)){let x=Q.dom.lastChild,z=x?Zs(x):[];if(z.length){let Y=z[z.length-1],U=o?Y.right-m.left:m.right-Y.left;U>s&&(s=U,this.minWidth=r,this.minWidthFrom=f,this.minWidthTo=P)}}d&&p==u.children.length-1&&(l+=d.bottom-m.bottom),f=P+Q.breakAfter}};return c(this.tile,0,null),i}textDirectionAt(e){let{tile:i}=this.tile.resolveBlock(e,1);return getComputedStyle(i.dom).direction=="rtl"?Ge.RTL:Ge.LTR}measureTextSize(){let e=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let s=0,o;for(let l of a.children){if(!l.isText()||/[^ -~]/.test(l.text))return;let c=Zs(l.dom);if(c.length!=1)return;s+=c[0].width,o=c[0].height}if(s)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:s/a.length,textHeight:o}}});if(e)return e;let i=document.createElement("div"),n,O,r;return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(i);let a=Zs(i.firstChild)[0];n=i.getBoundingClientRect().height,O=a&&a.width?a.width/27:7,r=a&&a.height?a.height:n,i.remove()}),{lineHeight:n,charWidth:O,textHeight:r}}computeBlockGapDeco(){let e=[],i=this.view.viewState;for(let n=0,O=0;;O++){let r=O==i.viewports.length?null:i.viewports[O],a=r?r.from-1:this.view.state.doc.length;if(a>n){let s=(i.lineBlockAt(a).bottom-i.lineBlockAt(n).top)/this.view.scaleY;e.push(he.replace({widget:new Il(s),block:!0,inclusive:!0,isBlockGap:!0}).range(n,a))}if(!r)break;n=r.to+1}return he.set(e)}updateDeco(){let e=1,i=this.view.state.facet(Wo).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),n=!1,O=this.view.state.facet(Ff).map((r,a)=>{let s=typeof r=="function";return s&&(n=!0),s?r(this.view):r});for(O.length&&(this.dynamicDecorationMap[e++]=n,i.push(Se.join(O))),this.decorations=[this.editContextFormatting,...i,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(lP).map(r=>typeof r=="function"?r(this.view):r)}scrollIntoView(e){var i;if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(aP))try{if(c(this.view,e.range,e))return!0}catch(u){ki(this.view.state,u,"scroll handler")}let{range:n}=e,O=this.coordsAt(n.head,(i=n.assoc)!==null&&i!==void 0?i:n.empty?0:n.head>n.anchor?-1:1),r;if(!O)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(O={left:Math.min(O.left,r.left),top:Math.min(O.top,r.top),right:Math.max(O.right,r.right),bottom:Math.max(O.bottom,r.bottom)});let a=fP(this.view),s={left:O.left-a.left,top:O.top-a.top,right:O.right+a.right,bottom:O.bottom+a.bottom},{offsetWidth:o,offsetHeight:l}=this.view.scrollDOM;if(Xw(this.view.scrollDOM,s,n.head<n.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,o),-o),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Ge.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(O.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||O.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(n.head,1);c&&c.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let i=n=>n.isWidget()||n.children.some(i);return i(this.tile.resolveBlock(e,1).tile)}destroy(){ku(this.tile)}}function ku(t,e){let i=e==null?void 0:e.get(t);if(i!=1){i==null&&t.destroy();for(let n of t.children)ku(n,e)}}function Hw(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function dP(t,e){let i=t.observer.selectionRange;if(!i.focusNode)return null;let n=Ig(i.focusNode,i.focusOffset),O=Lg(i.focusNode,i.focusOffset),r=n||O;if(O&&n&&O.node!=n.node){let s=Le.get(O.node);if(!s||s.isText()&&s.text!=O.node.nodeValue)r=O;else if(t.docView.lastCompositionAfterCursor){let o=Le.get(n.node);!o||o.isText()&&o.text!=n.node.nodeValue||(r=O)}}if(t.docView.lastCompositionAfterCursor=r!=n,!r)return null;let a=e-r.offset;return{from:a,to:a+r.node.nodeValue.length,node:r.node}}function Kw(t,e,i){let n=dP(t,i);if(!n)return null;let{node:O,from:r,to:a}=n,s=O.nodeValue;if(/[\n\r]/.test(s)||t.state.doc.sliceString(n.from,n.to)!=s)return null;let o=e.invertedDesc;return{range:new Jt(o.mapPos(r),o.mapPos(a),r,a),text:O}}function Jw(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}let ek=class{constructor(){this.changes=[]}compareRange(e,i){NO(e,i,this.changes)}comparePoint(e,i){NO(e,i,this.changes)}boundChange(e){NO(e,e,this.changes)}};function tk(t,e,i){let n=new ek;return Se.compare(t,e,i,n),n.changes}class ik{constructor(){this.changes=[]}compareRange(e,i){NO(e,i,this.changes)}comparePoint(){}boundChange(e){NO(e,e,this.changes)}}function nk(t,e,i){let n=new ik;return Se.compare(t,e,i,n),n.changes}function Ok(t,e){for(let i=t;i&&i!=e;i=i.assignedSlot||i.parentNode)if(i.nodeType==1&&i.contentEditable=="false")return!0;return!1}function rk(t,e){let i=!1;return e&&t.iterChangedRanges((n,O)=>{n<e.to&&O>e.from&&(i=!0)}),i}class Il extends fO{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function ak(t,e,i=1){let n=t.charCategorizer(e),O=t.doc.lineAt(e),r=e-O.from;if(O.length==0)return j.cursor(e);r==0?i=1:r==O.length&&(i=-1);let a=r,s=r;i<0?a=nt(O.text,r,!1):s=nt(O.text,r);let o=n(O.text.slice(a,s));for(;a>0;){let l=nt(O.text,a,!1);if(n(O.text.slice(l,a))!=o)break;a=l}for(;s<O.length;){let l=nt(O.text,s);if(n(O.text.slice(s,l))!=o)break;s=l}return j.range(a+O.from,s+O.from)}function sk(t,e,i,n,O){let r=Math.round((n-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&i.height>t.defaultLineHeight*1.5){let s=t.viewState.heightOracle.textHeight,o=Math.floor((O-i.top-(t.defaultLineHeight-s)*.5)/s);r+=o*t.viewState.heightOracle.lineLength}let a=t.state.sliceDoc(i.from,i.to);return i.from+$u(a,r,t.state.tabSize)}function Tu(t,e,i){let n=t.lineBlockAt(e);if(Array.isArray(n.type)){let O;for(let r of n.type){if(r.from>e)break;if(!(r.to<e)){if(r.from<e&&r.to>e)return r;(!O||r.type==ot.Text&&(O.type!=r.type||(i<0?r.from<e:r.to>e)))&&(O=r)}}return O||n}return n}function ok(t,e,i,n){let O=Tu(t,e.head,e.assoc||-1),r=!n||O.type!=ot.Text||!(t.lineWrapping||O.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>O.from?e.head-1:e.head);if(r){let a=t.dom.getBoundingClientRect(),s=t.textDirectionAt(O.from),o=t.posAtCoords({x:i==(s==Ge.LTR)?a.right-1:a.left+1,y:(r.top+r.bottom)/2});if(o!=null)return j.cursor(o,i?-1:1)}return j.cursor(i?O.to:O.from,i?-1:1)}function o$(t,e,i,n){let O=t.state.doc.lineAt(e.head),r=t.bidiSpans(O),a=t.textDirectionAt(O.from);for(let s=e,o=null;;){let l=qw(O,r,a,s,i),c=Hg;if(!l){if(O.number==(i?t.state.doc.lines:1))return s;c=`
|
|
14
|
-
`,O=t.state.doc.line(O.number+(i?1:-1)),r=t.bidiSpans(O),l=t.visualLineSide(O,!i)}if(o){if(!o(c))return s}else{if(!n)return l;o=n(c)}s=l}}function lk(t,e,i){let n=t.state.charCategorizer(e),O=n(i);return r=>{let a=n(r);return O==Ee.Space&&(O=a),O==a}}function ck(t,e,i,n){let O=e.head,r=i?1:-1;if(O==(i?t.state.doc.length:0))return j.cursor(O,e.assoc);let a=e.goalColumn,s,o=t.contentDOM.getBoundingClientRect(),l=t.coordsAtPos(O,e.assoc||((e.empty?i:e.head==e.from)?1:-1)),c=t.documentTop;if(l)a==null&&(a=l.left-o.left),s=r<0?l.top:l.bottom;else{let p=t.viewState.lineBlockAt(O);a==null&&(a=Math.min(o.right-o.left,t.defaultCharacterWidth*(O-p.from))),s=(r<0?p.top:p.bottom)+c}let u=o.left+a,f=t.viewState.heightOracle.textHeight>>1,d=n??f;for(let p=0;;p+=f){let Q=s+(d+p)*r,P=vu(t,{x:u,y:Q},!1,r);if(i?Q>o.bottom:Q<o.top)return j.cursor(P.pos,P.assoc);let m=t.coordsAtPos(P.pos,P.assoc),S=m?(m.top+m.bottom)/2:0;if(!m||(i?S>s:S<s))return j.cursor(P.pos,P.assoc,void 0,a)}}function Lr(t,e,i){for(;;){let n=0;for(let O of t)O.between(e-1,e+1,(r,a,s)=>{if(e>r&&e<a){let o=n||i||(e-r<a-e?-1:1);e=o<0?r:a,n=o}});if(!n)return e}}function $P(t,e){let i=null;for(let n=0;n<e.ranges.length;n++){let O=e.ranges[n],r=null;if(O.empty){let a=Lr(t,O.from,0);a!=O.from&&(r=j.cursor(a,-1))}else{let a=Lr(t,O.from,-1),s=Lr(t,O.to,1);(a!=O.from||s!=O.to)&&(r=j.range(O.from==O.anchor?a:s,O.from==O.head?a:s))}r&&(i||(i=e.ranges.slice()),i[n]=r)}return i?j.create(i,e.mainIndex):e}function Ll(t,e,i){let n=Lr(t.state.facet(Ta).map(O=>O(t)),i.from,e.head>i.from?-1:1);return n==i.from?i:j.cursor(n,n<i.from?1:-1)}class Xi{constructor(e,i){this.pos=e,this.assoc=i}}function vu(t,e,i,n){let O=t.contentDOM.getBoundingClientRect(),r=O.top+t.viewState.paddingTop,{x:a,y:s}=e,o=s-r,l;for(;;){if(o<0)return new Xi(0,1);if(o>t.viewState.docHeight)return new Xi(t.state.doc.length,-1);if(l=t.elementAtHeight(o),n==null)break;if(l.type==ot.Text){if(n<0?l.to<t.viewport.from:l.from>t.viewport.to)break;let f=t.docView.coordsAt(n<0?l.from:l.to,n>0?-1:1);if(f&&(n<0?f.top<=o+r:f.bottom>=o+r))break}let u=t.viewState.heightOracle.textHeight/2;o=n>0?l.bottom+u:l.top-u}if(t.viewport.from>=l.to||t.viewport.to<=l.from){if(i)return null;if(l.type==ot.Text){let u=sk(t,O,l,a,s);return new Xi(u,u==l.from?1:-1)}}if(l.type!=ot.Text)return o<(l.top+l.bottom)/2?new Xi(l.from,1):new Xi(l.to,-1);let c=t.docView.lineAt(l.from,2);return(!c||c.length!=l.length)&&(c=t.docView.lineAt(l.from,-2)),new uk(t,a,s,t.textDirectionAt(l.from)).scanTile(c,l.from)}class uk{constructor(e,i,n,O){this.view=e,this.x=i,this.y=n,this.baseDir=O,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,i){let{line:n,spans:O}=this.bidiSpansAt(e);return O[wi.find(O,e-n.from,-1,i)].level==this.baseDir}dirAt(e,i){let{line:n,spans:O}=this.bidiSpansAt(e);return O[wi.find(O,e-n.from,-1,i)].dir}bidiIn(e,i){let{spans:n,line:O}=this.bidiSpansAt(e);return n.length>1||n.length&&(n[0].level!=this.baseDir||n[0].to+O.from<i)}scan(e,i){let n=0,O=e.length-1,r=new Set,a=this.bidiIn(e[0],e[O]),s,o,l=-1,c=1e9,u;e:for(;n<O;){let d=O-n,p=n+O>>1;t:if(r.has(p)){let P=n+Math.floor(Math.random()*d);for(let m=0;m<d;m++){if(!r.has(P)){p=P;break t}P++,P==O&&(P=n)}break e}r.add(p);let Q=i(p);if(Q)for(let P=0;P<Q.length;P++){let m=Q[P],S=0;if(!(m.width==0&&Q.length>1)){if(m.bottom<this.y)(!s||s.bottom<m.bottom)&&(s=m),S=1;else if(m.top>this.y)(!o||o.top>m.top)&&(o=m),S=-1;else{let x=m.left>this.x?this.x-m.left:m.right<this.x?this.x-m.right:0,z=Math.abs(x);z<c&&(l=p,c=z,u=m),x&&(S=x<0==(this.baseDir==Ge.LTR)?-1:1)}S==-1&&(!a||this.baseDirAt(e[p],1))?O=p:S==1&&(!a||this.baseDirAt(e[p+1],-1))&&(n=p+1)}}}if(!u){let d=s&&(!o||this.y-s.bottom<o.top-this.y)?s:o;return this.y=(d.top+d.bottom)/2,this.scan(e,i)}let f=(a?this.dirAt(e[l],1):this.baseDir)==Ge.LTR;return{i:l,after:this.x>(u.left+u.right)/2==f}}scanText(e,i){let n=[];for(let r=0;r<e.length;r=nt(e.text,r))n.push(i+r);n.push(i+e.length);let O=this.scan(n,r=>{let a=n[r]-i,s=n[r+1]-i;return ra(e.dom,a,s).getClientRects()});return O.after?new Xi(n[O.i+1],-1):new Xi(n[O.i],1)}scanTile(e,i){if(!e.length)return new Xi(i,1);if(e.children.length==1){let s=e.children[0];if(s.isText())return this.scanText(s,i);if(s.isComposite())return this.scanTile(s,i)}let n=[i];for(let s=0,o=i;s<e.children.length;s++)n.push(o+=e.children[s].length);let O=this.scan(n,s=>{let o=e.children[s];return o.flags&48?null:(o.dom.nodeType==1?o.dom:ra(o.dom,0,o.length)).getClientRects()}),r=e.children[O.i],a=n[O.i];return r.isText()?this.scanText(r,a):r.isComposite()?this.scanTile(r,a):O.after?new Xi(n[O.i+1],-1):new Xi(a,1)}}const VO="";class fk{constructor(e,i){this.points=e,this.view=i,this.text="",this.lineSeparator=i.state.facet(ye.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=VO}readRange(e,i){if(!e)return this;let n=e.parentNode;for(let O=e;;){this.findPointBefore(n,O);let r=this.text.length;this.readNode(O);let a=Le.get(O),s=O.nextSibling;if(s==i){a!=null&&a.breakAfter&&!s&&n!=this.view.contentDOM&&this.lineBreak();break}let o=Le.get(s);(a&&o?a.breakAfter:(a?a.breakAfter:Ks(O))||Ks(s)&&(O.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>r)&&!dk(s,i)&&this.lineBreak(),O=s}return this.findPointBefore(n,i),this}readTextNode(e){let i=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,i.length));for(let n=0,O=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,a=1,s;if(this.lineSeparator?(r=i.indexOf(this.lineSeparator,n),a=this.lineSeparator.length):(s=O.exec(i))&&(r=s.index,a=s[0].length),this.append(i.slice(n,r<0?i.length:r)),r<0)break;if(this.lineBreak(),a>1)for(let o of this.points)o.node==e&&o.pos>this.text.length&&(o.pos-=a-1);n=r+a}}readNode(e){let i=Le.get(e),n=i&&i.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let O=n.iter();!O.next().done;)O.lineBreak?this.lineBreak():this.append(O.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,i){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==i&&(n.pos=this.text.length)}findPointInside(e,i){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(hk(e,n.node,n.offset)?i:0))}}function hk(t,e,i){for(;;){if(!e||i<Ki(e))return!1;if(e==t)return!0;i=bn(e)+1,e=e.parentNode}}function dk(t,e){let i;for(;!(t==e||!t);t=t.nextSibling){let n=Le.get(t);if(!(n!=null&&n.isWidget()))return!1;n&&(i||(i=[])).push(n)}if(i)for(let n of i){let O=n.overrideDOMText;if(O!=null&&O.length)return!1}return!0}class l${constructor(e,i){this.node=e,this.offset=i,this.pos=-1}}class $k{constructor(e,i,n,O){this.typeOver=O,this.bounds=null,this.text="",this.domChanged=i>-1;let{impreciseHead:r,impreciseAnchor:a}=e.docView,s=e.state.selection;if(e.state.readOnly&&i>-1)this.newSel=null;else if(i>-1&&(this.bounds=pP(e.docView.tile,i,n,0))){let o=r||a?[]:Qk(e),l=new fk(o,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=mk(o,this.bounds.from)}else{let o=e.observer.selectionRange,l=r&&r.node==o.focusNode&&r.offset==o.focusOffset||!bu(e.contentDOM,o.focusNode)?s.main.head:e.docView.posFromDOM(o.focusNode,o.focusOffset),c=a&&a.node==o.anchorNode&&a.offset==o.anchorOffset||!bu(e.contentDOM,o.anchorNode)?s.main.anchor:e.docView.posFromDOM(o.anchorNode,o.anchorOffset),u=e.viewport;if((H.ios||H.chrome)&&s.main.empty&&l!=c&&(u.from>0||u.to<e.state.doc.length)){let f=Math.min(l,c),d=Math.max(l,c),p=u.from-f,Q=u.to-d;(p==0||p==1||f==0)&&(Q==0||Q==-1||d==e.state.doc.length)&&(l=0,c=e.state.doc.length)}if(e.inputState.composing>-1&&s.ranges.length>1)this.newSel=s.replaceRange(j.range(c,l));else if(e.lineWrapping&&c==l&&!(s.main.empty&&s.main.head==l)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(l,-1),d=0;f&&(d=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=j.create([j.cursor(l,d)])}else this.newSel=j.single(c,l)}}}function pP(t,e,i,n){if(t.isComposite()){let O=-1,r=-1,a=-1,s=-1;for(let o=0,l=n,c=n;o<t.children.length;o++){let u=t.children[o],f=l+u.length;if(l<e&&f>i)return pP(u,e,i,l);if(f>=e&&O==-1&&(O=o,r=l),l>i&&u.dom.parentNode==t.dom){a=o,s=c;break}c=f,l=f+u.breakAfter}return{from:r,to:s<0?n+t.length:s,startDOM:(O?t.children[O-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:a<t.children.length&&a>=0?t.children[a].dom:null}}else return t.isText()?{from:n,to:n+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function QP(t,e){let i,{newSel:n}=e,{state:O}=t,r=O.selection.main,a=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:o}=e.bounds,l=r.from,c=null;(a===8||H.android&&e.text.length<o-s)&&(l=r.to,c="end");let u=O.doc.sliceString(s,o,VO),f,d;!r.empty&&r.from>=s&&r.to<=o&&(e.typeOver||u!=e.text)&&u.slice(0,r.from-s)==e.text.slice(0,r.from-s)&&u.slice(r.to-s)==e.text.slice(f=e.text.length-(u.length-(r.to-s)))?i={from:r.from,to:r.to,insert:xe.of(e.text.slice(r.from-s,f).split(VO))}:(d=mP(u,e.text,l-s,c))&&(H.chrome&&a==13&&d.toB==d.from+2&&e.text.slice(d.from,d.toB)==VO+VO&&d.toB--,i={from:s+d.from,to:s+d.toA,insert:xe.of(e.text.slice(d.from,d.toB).split(VO))})}else n&&(!t.hasFocus&&O.facet(Mi)||no(n,r))&&(n=null);if(!i&&!n)return!1;if((H.mac||H.android)&&i&&i.from==i.to&&i.from==r.head-1&&/^\. ?$/.test(i.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(n&&i.insert.length==2&&(n=j.single(n.main.anchor-1,n.main.head-1)),i={from:i.from,to:i.to,insert:xe.of([i.insert.toString().replace("."," ")])}):O.doc.lineAt(r.from).to<r.to&&t.docView.lineHasWidget(r.to)&&t.inputState.insertingTextAt>Date.now()-50?i={from:r.from,to:r.to,insert:O.toText(t.inputState.insertingText)}:H.chrome&&i&&i.from==i.to&&i.from==r.head&&i.insert.toString()==`
|
|
15
|
-
`&&t.lineWrapping&&(n&&(n=j.single(n.main.anchor-1,n.main.head-1)),i={from:r.from,to:r.to,insert:xe.of([" "])}),i)return Hf(t,i,n,a);if(n&&!no(n,r)){let s=!1,o="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(s=!0),o=t.inputState.lastSelectionOrigin,o=="select.pointer"&&(n=$P(O.facet(Ta).map(l=>l(t)),n))),t.dispatch({selection:n,scrollIntoView:s,userEvent:o}),!0}else return!1}function Hf(t,e,i,n=-1){if(H.ios&&t.inputState.flushIOSKey(e))return!0;let O=t.state.selection.main;if(H.android&&(e.to==O.to&&(e.from==O.from||e.from==O.from-1&&t.state.sliceDoc(e.from,O.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&IO(t.contentDOM,"Enter",13)||(e.from==O.from-1&&e.to==O.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>O.head)&&IO(t.contentDOM,"Backspace",8)||e.from==O.from&&e.to==O.to+1&&e.insert.length==0&&IO(t.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let a,s=()=>a||(a=pk(t,e,i));return t.state.facet(iP).some(o=>o(t,e.from,e.to,r,s))||t.dispatch(s()),!0}function pk(t,e,i){let n,O=t.state,r=O.selection.main,a=-1;if(e.from==e.to&&e.from<r.from||e.from>r.to){let o=e.from<r.from?-1:1,l=o<0?r.from:r.to,c=Lr(O.facet(Ta).map(u=>u(t)),l,o);e.from==c&&(a=c)}if(a>-1)n={changes:e,selection:j.cursor(e.from+e.insert.length,-1)};else if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!i||i.main.empty&&i.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let o=r.from<e.from?O.sliceDoc(r.from,e.from):"",l=r.to>e.to?O.sliceDoc(e.to,r.to):"";n=O.replaceSelection(t.state.toText(o+e.insert.sliceString(0,void 0,t.state.lineBreak)+l))}else{let o=O.changes(e),l=i&&i.main.to<=o.newLength?i.main:void 0;if(O.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=r.to+10&&e.to>=r.to-10){let c=t.state.sliceDoc(e.from,e.to),u,f=i&&dP(t,i.main.head);if(f){let p=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-p}}else u=t.state.doc.lineAt(r.head);let d=r.to-e.to;n=O.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:o,range:l||p.map(o)};let Q=p.to-d,P=Q-c.length;if(t.state.sliceDoc(P,Q)!=c||Q>=u.from&&P<=u.to)return{range:p};let m=O.changes({from:P,to:Q,insert:e.insert}),S=p.to-r.to;return{changes:m,range:l?j.range(Math.max(0,l.anchor+S),Math.max(0,l.head+S)):p.map(m)}})}else n={changes:o,selection:l&&O.selection.replaceRange(l)}}let s="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,s+=".compose",t.inputState.compositionFirstChange&&(s+=".start",t.inputState.compositionFirstChange=!1)),O.update(n,{userEvent:s,scrollIntoView:!0})}function mP(t,e,i,n){let O=Math.min(t.length,e.length),r=0;for(;r<O&&t.charCodeAt(r)==e.charCodeAt(r);)r++;if(r==O&&t.length==e.length)return null;let a=t.length,s=e.length;for(;a>0&&s>0&&t.charCodeAt(a-1)==e.charCodeAt(s-1);)a--,s--;if(n=="end"){let o=Math.max(0,r-Math.min(a,s));i-=a+o-r}if(a<r&&t.length<e.length){let o=i<=r&&i>=a?r-i:0;r-=o,s=r+(s-a),a=r}else if(s<r){let o=i<=r&&i>=s?r-i:0;r-=o,a=r+(a-s),s=r}return{from:r,toA:a,toB:s}}function Qk(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:n,focusNode:O,focusOffset:r}=t.observer.selectionRange;return i&&(e.push(new l$(i,n)),(O!=i||r!=n)&&e.push(new l$(O,r))),e}function mk(t,e){if(t.length==0)return null;let i=t[0].pos,n=t.length==2?t[1].pos:i;return i>-1&&n>-1?j.single(i+e,n+e):null}function no(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class gk{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,H.safari&&e.contentDOM.addEventListener("input",()=>null),H.gecko&&zk(e.contentDOM.ownerDocument)}handleEvent(e){!kk(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,i){let n=this.handlers[e];if(n){for(let O of n.observers)O(this.view,i);for(let O of n.handlers){if(i.defaultPrevented)break;if(O(this.view,i)){i.preventDefault();break}}}}ensureHandlers(e){let i=Pk(e),n=this.handlers,O=this.view.contentDOM;for(let r in i)if(r!="scroll"){let a=!i[r].handlers.length,s=n[r];s&&a!=!s.handlers.length&&(O.removeEventListener(r,this.handleEvent),s=null),s||O.addEventListener(r,this.handleEvent,{passive:a})}for(let r in n)r!="scroll"&&!i[r]&&O.removeEventListener(r,this.handleEvent);this.handlers=i}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&PP.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),H.android&&H.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let i;return H.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((i=gP.find(n=>n.keyCode==e.keyCode))&&!e.ctrlKey||Sk.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=i||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let i=this.pendingIOSKey;return!i||i.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,IO(this.view.contentDOM,i.key,i.keyCode,i instanceof KeyboardEvent?i:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:H.safari&&!H.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function c$(t,e){return(i,n)=>{try{return e.call(t,n,i)}catch(O){ki(i.state,O)}}}function Pk(t){let e=Object.create(null);function i(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of t){let O=n.spec,r=O&&O.plugin.domEventHandlers,a=O&&O.plugin.domEventObservers;if(r)for(let s in r){let o=r[s];o&&i(s).handlers.push(c$(n.value,o))}if(a)for(let s in a){let o=a[s];o&&i(s).observers.push(c$(n.value,o))}}for(let n in fi)i(n).handlers.push(fi[n]);for(let n in zt)i(n).observers.push(zt[n]);return e}const gP=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Sk="dthko",PP=[16,17,18,20,91,92,224,225],es=6;function ts(t){return Math.max(0,t)*.7+8}function bk(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class yk{constructor(e,i,n,O){this.view=e,this.startEvent=i,this.style=n,this.mustSelect=O,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=i,this.scrollParents=Gg(e.contentDOM),this.atoms=e.state.facet(Ta).map(a=>a(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=i.shiftKey,this.multiple=e.state.facet(ye.allowMultipleSelections)&&xk(e,i),this.dragging=wk(e,i)&&yP(i)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&bk(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let i=0,n=0,O=0,r=0,a=this.view.win.innerWidth,s=this.view.win.innerHeight;this.scrollParents.x&&({left:O,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:s}=this.scrollParents.y.getBoundingClientRect());let o=fP(this.view);e.clientX-o.left<=O+es?i=-ts(O-e.clientX):e.clientX+o.right>=a-es&&(i=ts(e.clientX-a)),e.clientY-o.top<=r+es?n=-ts(r-e.clientY):e.clientY+o.bottom>=s-es&&(n=ts(e.clientY-s)),this.setScrollSpeed(i,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,i){this.scrollSpeed={x:e,y:i},e||i?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:i}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),i&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=i,i=0),(e||i)&&this.view.win.scrollBy(e,i),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:i}=this,n=$P(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(i.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(i=>i.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function xk(t,e){let i=t.state.facet(Kg);return i.length?i[0](e):H.mac?e.metaKey:e.ctrlKey}function Xk(t,e){let i=t.state.facet(Jg);return i.length?i[0](e):H.mac?!e.altKey:!e.ctrlKey}function wk(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let n=Oa(t.root);if(!n||n.rangeCount==0)return!0;let O=n.getRangeAt(0).getClientRects();for(let r=0;r<O.length;r++){let a=O[r];if(a.left<=e.clientX&&a.right>=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function kk(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i=e.target,n;i!=t.contentDOM;i=i.parentNode)if(!i||i.nodeType==11||(n=Le.get(i))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}const fi=Object.create(null),zt=Object.create(null),SP=H.ie&&H.ie_version<15||H.ios&&H.webkit_version<604;function Tk(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{t.focus(),i.remove(),bP(t,i.value)},50)}function Eo(t,e,i){for(let n of t.facet(e))i=n(i,t);return i}function bP(t,e){e=Eo(t.state,Df,e);let{state:i}=t,n,O=1,r=i.toText(e),a=r.lines==i.selection.ranges.length;if(_u!=null&&i.selection.ranges.every(o=>o.empty)&&_u==r.toString()){let o=-1;n=i.changeByRange(l=>{let c=i.doc.lineAt(l.from);if(c.from==o)return{range:l};o=c.from;let u=i.toText((a?r.line(O++).text:e)+i.lineBreak);return{changes:{from:c.from,insert:u},range:j.cursor(l.from+u.length)}})}else a?n=i.changeByRange(o=>{let l=r.line(O++);return{changes:{from:o.from,to:o.to,insert:l.text},range:j.cursor(o.from+l.length)}}):n=i.replaceSelection(r);t.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}zt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};zt.wheel=zt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};fi.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);zt.touchstart=(t,e)=>{let i=t.inputState,n=e.targetTouches[0];i.lastTouchTime=Date.now(),n&&(i.lastTouchX=n.clientX,i.lastTouchY=n.clientY),i.setSelectionOrigin("select.pointer")};zt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};fi.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let n of t.state.facet(eP))if(i=n(t,e),i)break;if(!i&&e.button==0&&(i=_k(t,e)),i){let n=!t.hasFocus;t.inputState.startMouseSelection(new yk(t,e,i,n)),n&&t.observer.ignore(()=>{Ag(t.contentDOM);let r=t.root.activeElement;r&&!r.contains(t.contentDOM)&&r.blur()});let O=t.inputState.mouseSelection;if(O)return O.start(e),O.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function u$(t,e,i,n){if(n==1)return j.cursor(e,i);if(n==2)return ak(t.state,e,i);{let O=t.docView.lineAt(e,i),r=t.state.doc.lineAt(O?O.posAtEnd:e),a=O?O.posAtStart:r.from,s=O?O.posAtEnd:r.to;return s<t.state.doc.length&&s==r.to&&s++,j.range(a,s)}}const vk=H.ie&&H.ie_version<=11;let f$=null,h$=0,d$=0;function yP(t){if(!vk)return t.detail;let e=f$,i=d$;return f$=t,d$=Date.now(),h$=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(h$+1)%3:1}function _k(t,e){let i=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=yP(e),O=t.state.selection;return{update(r){r.docChanged&&(i.pos=r.changes.mapPos(i.pos),O=O.map(r.changes))},get(r,a,s){let o=t.posAndSideAtCoords({x:r.clientX,y:r.clientY},!1),l,c=u$(t,o.pos,o.assoc,n);if(i.pos!=o.pos&&!a){let u=u$(t,i.pos,i.assoc,n),f=Math.min(u.from,c.from),d=Math.max(u.to,c.to);c=f<c.from?j.range(f,d,c.assoc):j.range(d,f,c.assoc)}return a?O.replaceRange(O.main.extend(c.from,c.to,c.assoc)):s&&n==1&&O.ranges.length>1&&(l=Rk(O,o.pos))?l:s?O.addRange(c):j.create([c])}}}function Rk(t,e){for(let i=0;i<t.ranges.length;i++){let{from:n,to:O}=t.ranges[i];if(n<=e&&O>=e)return j.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}fi.dragstart=(t,e)=>{let{selection:{main:i}}=t.state;if(e.target.draggable){let O=t.docView.tile.nearest(e.target);if(O&&O.isWidget()){let r=O.posAtStart,a=r+O.length;(r>=i.to||a<=i.from)&&(i=j.range(r,a))}}let{inputState:n}=t;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=i,e.dataTransfer&&(e.dataTransfer.setData("Text",Eo(t.state,Mf,t.state.sliceDoc(i.from,i.to))),e.dataTransfer.effectAllowed="copyMove"),!1};fi.dragend=t=>(t.inputState.draggedContent=null,!1);function $$(t,e,i,n){if(i=Eo(t.state,Df,i),!i)return;let O=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=t.inputState,a=n&&r&&Xk(t,e)?{from:r.from,to:r.to}:null,s={from:O,insert:i},o=t.state.changes(a?[a,s]:s);t.focus(),t.dispatch({changes:o,selection:{anchor:o.mapPos(O,-1),head:o.mapPos(O,1)},userEvent:a?"move.drop":"input.drop"}),t.inputState.draggedContent=null}fi.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let i=e.dataTransfer.files;if(i&&i.length){let n=Array(i.length),O=0,r=()=>{++O==i.length&&$$(t,e,n.filter(a=>a!=null).join(t.state.lineBreak),!1)};for(let a=0;a<i.length;a++){let s=new FileReader;s.onerror=r,s.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(s.result)||(n[a]=s.result),r()},s.readAsText(i[a])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return $$(t,e,n,!0),!0}return!1};fi.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let i=SP?null:e.clipboardData;return i?(bP(t,i.getData("text/plain")||i.getData("text/uri-list")),!0):(Tk(t),!1)};function Yk(t,e){let i=t.dom.parentNode;if(!i)return;let n=i.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),t.focus()},50)}function Zk(t){let e=[],i=[],n=!1;for(let O of t.selection.ranges)O.empty||(e.push(t.sliceDoc(O.from,O.to)),i.push(O));if(!e.length){let O=-1;for(let{from:r}of t.selection.ranges){let a=t.doc.lineAt(r);a.number>O&&(e.push(a.text),i.push({from:a.from,to:Math.min(t.doc.length,a.to+1)})),O=a.number}n=!0}return{text:Eo(t,Mf,e.join(t.lineBreak)),ranges:i,linewise:n}}let _u=null;fi.copy=fi.cut=(t,e)=>{if(!Nr(t.contentDOM,t.observer.selectionRange))return!1;let{text:i,ranges:n,linewise:O}=Zk(t.state);if(!i&&!O)return!1;_u=O?i:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let r=SP?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",i),!0):(Yk(t,i),!1)};const xP=On.define();function XP(t,e){let i=[];for(let n of t.facet(nP)){let O=n(t,e);O&&i.push(O)}return i.length?t.update({effects:i,annotations:xP.of(!0)}):null}function wP(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=XP(t.state,e);i?t.dispatch(i):t.update([])}},10)}zt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),wP(t)};zt.blur=t=>{t.observer.clearSelectionRange(),wP(t)};zt.compositionstart=zt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};zt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,H.chrome&&H.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};zt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};fi.beforeinput=(t,e)=>{var i,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let r=(i=e.dataTransfer)===null||i===void 0?void 0:i.getData("text/plain"),a=e.getTargetRanges();if(r&&a.length){let s=a[0],o=t.posAtDOM(s.startContainer,s.startOffset),l=t.posAtDOM(s.endContainer,s.endOffset);return Hf(t,{from:o,to:l,insert:t.state.toText(r)},null),!0}}let O;if(H.chrome&&H.android&&(O=gP.find(r=>r.inputType==e.inputType))&&(t.observer.delayAndroidKey(O.key,O.keyCode),O.key=="Backspace"||O.key=="Delete")){let r=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>r+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return H.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),H.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>zt.compositionend(t,e),20),!1};const p$=new Set;function zk(t){p$.has(t)||(p$.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const Q$=["pre-wrap","normal","pre-line","break-spaces"];let tr=!1;function m$(){tr=!1}class Uk{constructor(e){this.lineWrapping=e,this.doc=xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,i){let n=this.doc.lineAt(i).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((i-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Q$.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let i=!1;for(let n=0;n<e.length;n++){let O=e[n];O<0?n++:this.heightSamples[Math.floor(O*10)]||(i=!0,this.heightSamples[Math.floor(O*10)]=!0)}return i}refresh(e,i,n,O,r,a){let s=Q$.indexOf(e)>-1,o=Math.abs(i-this.lineHeight)>.3||this.lineWrapping!=s||Math.abs(n-this.charWidth)>.1;if(this.lineWrapping=s,this.lineHeight=i,this.charWidth=n,this.textHeight=O,this.lineLength=r,o){this.heightSamples={};for(let l=0;l<a.length;l++){let c=a[l];c<0?l++:this.heightSamples[Math.floor(c*10)]=!0}}return o}}class qk{constructor(e,i){this.from=e,this.heights=i,this.index=0}get more(){return this.index<this.heights.length}}class ci{constructor(e,i,n,O,r){this.from=e,this.length=i,this.top=n,this.height=O,this._content=r}get type(){return typeof this._content=="number"?ot.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Jn?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let i=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new ci(this.from,this.length+e.length,this.top,this.height+e.height,i)}}var We=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(We||(We={}));const zs=.001;class Pt{constructor(e,i,n=2){this.length=e,this.height=i,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>zs&&(tr=!0),this.height=e)}replace(e,i,n){return Pt.of(n)}decomposeLeft(e,i){i.push(this)}decomposeRight(e,i){i.push(this)}applyChanges(e,i,n,O){let r=this,a=n.doc;for(let s=O.length-1;s>=0;s--){let{fromA:o,toA:l,fromB:c,toB:u}=O[s],f=r.lineAt(o,We.ByPosNoHeight,n.setDoc(i),0,0),d=f.to>=l?f:r.lineAt(l,We.ByPosNoHeight,n,0,0);for(u+=d.to-l,l=d.to;s>0&&f.from<=O[s-1].toA;)o=O[s-1].fromA,c=O[s-1].fromB,s--,o<f.from&&(f=r.lineAt(o,We.ByPosNoHeight,n,0,0));c+=f.from-o,o=f.from;let p=Kf.build(n.setDoc(a),e,c,u);r=Oo(r,r.replace(o,l,p))}return r.updateHeight(n,0)}static empty(){return new Gt(0,0,0)}static of(e){if(e.length==1)return e[0];let i=0,n=e.length,O=0,r=0;for(;;)if(i==n)if(O>r*2){let s=e[i-1];s.break?e.splice(--i,1,s.left,null,s.right):e.splice(--i,1,s.left,s.right),n+=1+s.break,O-=s.size}else if(r>O*2){let s=e[n];s.break?e.splice(n,1,s.left,null,s.right):e.splice(n,1,s.left,s.right),n+=2+s.break,r-=s.size}else break;else if(O<r){let s=e[i++];s&&(O+=s.size)}else{let s=e[--n];s&&(r+=s.size)}let a=0;return e[i-1]==null?(a=1,i--):e[i]==null&&(a=1,n++),new Wk(Pt.of(e.slice(0,i)),a,Pt.of(e.slice(n)))}}function Oo(t,e){return t==e?t:(t.constructor!=e.constructor&&(tr=!0),e)}Pt.prototype.size=1;const Vk=he.replace({});class kP extends Pt{constructor(e,i,n){super(e,i),this.deco=n,this.spaceAbove=0}mainBlock(e,i){return new ci(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,i,n,O){return this.spaceAbove&&e<n+this.spaceAbove?new ci(O,0,n,this.spaceAbove,Vk):this.mainBlock(n,O)}lineAt(e,i,n,O,r){let a=this.mainBlock(O,r);return this.spaceAbove?this.blockAt(0,n,O,r).join(a):a}forEachLine(e,i,n,O,r,a){e<=r+this.length&&i>=r&&a(this.lineAt(0,We.ByPos,n,O,r))}setMeasuredHeight(e){let i=e.heights[e.index++];i<0?(this.spaceAbove=-i,i=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(i)}updateHeight(e,i=0,n=!1,O){return O&&O.from<=i&&O.more&&this.setMeasuredHeight(O),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Gt extends kP{constructor(e,i,n){super(e,i,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,i){return new ci(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,i,n){let O=n[0];return n.length==1&&(O instanceof Gt||O instanceof at&&O.flags&4)&&Math.abs(this.length-O.length)<10?(O instanceof at?O=new Gt(O.length,this.height,this.spaceAbove):O.height=this.height,this.outdated||(O.outdated=!1),O):Pt.of(n)}updateHeight(e,i=0,n=!1,O){return O&&O.from<=i&&O.more?this.setMeasuredHeight(O):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class at extends Pt{constructor(e){super(e,0)}heightMetrics(e,i){let n=e.doc.lineAt(i).number,O=e.doc.lineAt(i+this.length).number,r=O-n+1,a,s=0;if(e.lineWrapping){let o=Math.min(this.height,e.lineHeight*r);a=o/r,this.length>r+1&&(s=(this.height-o)/(this.length-r-1))}else a=this.height/r;return{firstLine:n,lastLine:O,perLine:a,perChar:s}}blockAt(e,i,n,O){let{firstLine:r,lastLine:a,perLine:s,perChar:o}=this.heightMetrics(i,O);if(i.lineWrapping){let l=O+(e<i.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),c=i.doc.lineAt(l),u=s+c.length*o,f=Math.max(n,e-u/2);return new ci(c.from,c.length,f,u,0)}else{let l=Math.max(0,Math.min(a-r,Math.floor((e-n)/s))),{from:c,length:u}=i.doc.line(r+l);return new ci(c,u,n+s*l,s,0)}}lineAt(e,i,n,O,r){if(i==We.ByHeight)return this.blockAt(e,n,O,r);if(i==We.ByPosNoHeight){let{from:d,to:p}=n.doc.lineAt(e);return new ci(d,p-d,0,0,0)}let{firstLine:a,perLine:s,perChar:o}=this.heightMetrics(n,r),l=n.doc.lineAt(e),c=s+l.length*o,u=l.number-a,f=O+s*u+o*(l.from-r-u);return new ci(l.from,l.length,Math.max(O,Math.min(f,O+this.height-c)),c,0)}forEachLine(e,i,n,O,r,a){e=Math.max(e,r),i=Math.min(i,r+this.length);let{firstLine:s,perLine:o,perChar:l}=this.heightMetrics(n,r);for(let c=e,u=O;c<=i;){let f=n.doc.lineAt(c);if(c==e){let p=f.number-s;u+=o*p+l*(e-r-p)}let d=o+l*f.length;a(new ci(f.from,f.length,u,d,0)),u+=d,c=f.to+1}}replace(e,i,n){let O=this.length-i;if(O>0){let r=n[n.length-1];r instanceof at?n[n.length-1]=new at(r.length+O):n.push(null,new at(O-1))}if(e>0){let r=n[0];r instanceof at?n[0]=new at(e+r.length):n.unshift(new at(e-1),null)}return Pt.of(n)}decomposeLeft(e,i){i.push(new at(e-1),null)}decomposeRight(e,i){i.push(null,new at(this.length-e-1))}updateHeight(e,i=0,n=!1,O){let r=i+this.length;if(O&&O.from<=i+this.length&&O.more){let a=[],s=Math.max(i,O.from),o=-1;for(O.from>i&&a.push(new at(O.from-i-1).updateHeight(e,i));s<=r&&O.more;){let c=e.doc.lineAt(s).length;a.length&&a.push(null);let u=O.heights[O.index++],f=0;u<0&&(f=-u,u=O.heights[O.index++]),o==-1?o=u:Math.abs(u-o)>=zs&&(o=-2);let d=new Gt(c,u,f);d.outdated=!1,a.push(d),s+=c+1}s<=r&&a.push(null,new at(r-s).updateHeight(e,s));let l=Pt.of(a);return(o<0||Math.abs(l.height-this.height)>=zs||Math.abs(o-this.heightMetrics(e,i).perLine)>=zs)&&(tr=!0),Oo(this,l)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(i,i+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class Wk extends Pt{constructor(e,i,n){super(e.length+i+n.length,e.height+n.height,i|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,i,n,O){let r=n+this.left.height;return e<r?this.left.blockAt(e,i,n,O):this.right.blockAt(e,i,r,O+this.left.length+this.break)}lineAt(e,i,n,O,r){let a=O+this.left.height,s=r+this.left.length+this.break,o=i==We.ByHeight?e<a:e<s,l=o?this.left.lineAt(e,i,n,O,r):this.right.lineAt(e,i,n,a,s);if(this.break||(o?l.to<s:l.from>s))return l;let c=i==We.ByPosNoHeight?We.ByPosNoHeight:We.ByPos;return o?l.join(this.right.lineAt(s,c,n,a,s)):this.left.lineAt(s,c,n,O,r).join(l)}forEachLine(e,i,n,O,r,a){let s=O+this.left.height,o=r+this.left.length+this.break;if(this.break)e<o&&this.left.forEachLine(e,i,n,O,r,a),i>=o&&this.right.forEachLine(e,i,n,s,o,a);else{let l=this.lineAt(o,We.ByPos,n,O,r);e<l.from&&this.left.forEachLine(e,l.from-1,n,O,r,a),l.to>=e&&l.from<=i&&a(l),i>l.to&&this.right.forEachLine(l.to+1,i,n,s,o,a)}}replace(e,i,n){let O=this.left.length+this.break;if(i<O)return this.balanced(this.left.replace(e,i,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-O,i-O,n));let r=[];e>0&&this.decomposeLeft(e,r);let a=r.length;for(let s of n)r.push(s);if(e>0&&g$(r,a-1),i<this.length){let s=r.length;this.decomposeRight(i,r),g$(r,s)}return Pt.of(r)}decomposeLeft(e,i){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,i);i.push(this.left),this.break&&(n++,e>=n&&i.push(null)),e>n&&this.right.decomposeLeft(e-n,i)}decomposeRight(e,i){let n=this.left.length,O=n+this.break;if(e>=O)return this.right.decomposeRight(e-O,i);e<n&&this.left.decomposeRight(e,i),this.break&&e<O&&i.push(null),i.push(this.right)}balanced(e,i){return e.size>2*i.size||i.size>2*e.size?Pt.of(this.break?[e,null,i]:[e,i]):(this.left=Oo(this.left,e),this.right=Oo(this.right,i),this.setHeight(e.height+i.height),this.outdated=e.outdated||i.outdated,this.size=e.size+i.size,this.length=e.length+this.break+i.length,this)}updateHeight(e,i=0,n=!1,O){let{left:r,right:a}=this,s=i+r.length+this.break,o=null;return O&&O.from<=i+r.length&&O.more?o=r=r.updateHeight(e,i,n,O):r.updateHeight(e,i,n),O&&O.from<=s+a.length&&O.more?o=a=a.updateHeight(e,s,n,O):a.updateHeight(e,s,n),o?this.balanced(r,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function g$(t,e){let i,n;t[e]==null&&(i=t[e-1])instanceof at&&(n=t[e+1])instanceof at&&t.splice(e-1,3,new at(i.length+1+n.length))}const jk=5;class Kf{constructor(e,i){this.pos=e,this.oracle=i,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,i){if(this.lineStart>-1){let n=Math.min(i,this.lineEnd),O=this.nodes[this.nodes.length-1];O instanceof Gt?O.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new Gt(n-this.pos,-1,0)),this.writtenTo=n,i>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=i}point(e,i,n){if(e<i||n.heightRelevant){let O=n.widget?n.widget.estimatedHeight:0,r=n.widget?n.widget.lineBreaks:0;O<0&&(O=this.oracle.lineHeight);let a=i-e;n.block?this.addBlock(new kP(a,O,n)):(a||r||O>=jk)&&this.addLineDeco(O,r,a)}else i>e&&this.span(e,i);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:i}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=i,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Gt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,i){let n=new at(i-e);return this.oracle.doc.lineAt(e).to==i&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Gt)return e;let i=new Gt(0,-1,0);return this.nodes.push(i),i}addBlock(e){this.enterLine();let i=e.deco;i&&i.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,i&&i.endSide>0&&(this.covering=e)}addLineDeco(e,i,n){let O=this.ensureLine();O.length+=n,O.collapsed+=n,O.widgetHeight=Math.max(O.widgetHeight,e),O.breaks+=i,this.writtenTo=this.pos=this.pos+n}finish(e){let i=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(i instanceof Gt)&&!this.isCovered?this.nodes.push(new Gt(0,-1,0)):(this.writtenTo<this.pos||i==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let O of this.nodes)O instanceof Gt&&O.updateHeight(this.oracle,n),n+=O?O.length:1;return this.nodes}static build(e,i,n,O){let r=new Kf(n,e);return Se.spans(i,n,O,r,0),r.finish(n)}}function Ck(t,e,i){let n=new Ek;return Se.compare(t,e,i,n,0),n.changes}class Ek{constructor(){this.changes=[]}compareRange(){}comparePoint(e,i,n,O){(e<i||n&&n.heightRelevant||O&&O.heightRelevant)&&NO(e,i,this.changes,5)}}function Gk(t,e){let i=t.getBoundingClientRect(),n=t.ownerDocument,O=n.defaultView||window,r=Math.max(0,i.left),a=Math.min(O.innerWidth,i.right),s=Math.max(0,i.top),o=Math.min(O.innerHeight,i.bottom);for(let l=t.parentNode;l&&l!=n.body;)if(l.nodeType==1){let c=l,u=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&u.overflow!="visible"){let f=c.getBoundingClientRect();r=Math.max(r,f.left),a=Math.min(a,f.right),s=Math.max(s,f.top),o=Math.min(l==t.parentNode?O.innerHeight:o,f.bottom)}l=u.position=="absolute"||u.position=="fixed"?c.offsetParent:c.parentNode}else if(l.nodeType==11)l=l.host;else break;return{left:r-i.left,right:Math.max(r,a)-i.left,top:s-(i.top+e),bottom:Math.max(s,o)-(i.top+e)}}function Ak(t){let e=t.getBoundingClientRect(),i=t.ownerDocument.defaultView||window;return e.left<i.innerWidth&&e.right>0&&e.top<i.innerHeight&&e.bottom>0}function Nk(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class Dl{constructor(e,i,n,O){this.from=e,this.to=i,this.size=n,this.displaySize=O}static same(e,i){if(e.length!=i.length)return!1;for(let n=0;n<e.length;n++){let O=e[n],r=i[n];if(O.from!=r.from||O.to!=r.to||O.size!=r.size)return!1}return!0}draw(e,i){return he.replace({widget:new Ik(this.displaySize*(i?e.scaleY:e.scaleX),i)}).range(this.from,this.to)}}class Ik extends fO{constructor(e,i){super(),this.size=e,this.vertical=i}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class P${constructor(e,i){this.view=e,this.state=i,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=S$,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ge.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=i.facet(Bf).some(O=>typeof O!="function"&&O.class=="cm-lineWrapping");this.heightOracle=new Uk(n),this.stateDeco=b$(i),this.heightMap=Pt.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle.setDoc(i.doc),[new Jt(0,0,0,i.doc.length)]);for(let O=0;O<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());O++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=he.set(this.lineGaps.map(O=>O.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:i}=this.state.selection;for(let n=0;n<=1;n++){let O=n?i.head:i.anchor;if(!e.some(({from:r,to:a})=>O>=r&&O<=a)){let{from:r,to:a}=this.lineBlockAt(O);e.push(new is(r,a))}}return this.viewports=e.sort((n,O)=>n.from-O.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?S$:new Jf(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Vr(e,this.scaler))})}update(e,i=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=b$(this.state);let O=e.changedRanges,r=Jt.extendWithRanges(O,Ck(n,this.stateDeco,e?e.changes:Je.empty(this.state.doc.length))),a=this.heightMap.height,s=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);m$(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=a||tr)&&(e.flags|=2),s?(this.scrollAnchorPos=e.changes.mapPos(s.from,-1),this.scrollAnchorHeight=s.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let o=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(i&&(i.range.head<o.from||i.range.head>o.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,i));let l=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(l||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),i&&(this.scrollTarget=i),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(rP)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,i=e.contentDOM,n=window.getComputedStyle(i),O=this.heightOracle,r=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Ge.RTL:Ge.LTR;let a=this.heightOracle.mustRefreshForWrapping(r)||this.mustMeasureContent==="refresh",s=i.getBoundingClientRect(),o=a||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let l=0,c=0;if(s.width&&s.height){let{scaleX:Y,scaleY:U}=Eg(i,s);(Y>.005&&Math.abs(this.scaleX-Y)>.005||U>.005&&Math.abs(this.scaleY-U)>.005)&&(this.scaleX=Y,this.scaleY=U,l|=16,a=o=!0)}let u=(parseInt(n.paddingTop)||0)*this.scaleY,f=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,this.paddingBottom=f,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(O.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let d=Gg(this.view.contentDOM,!1).y;d!=this.scrollParent&&(this.scrollParent=d,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Ng(this.scrollParent||e.win);let Q=(this.printing?Nk:Gk)(i,this.paddingTop),P=Q.top-this.pixelViewport.top,m=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let S=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(S!=this.inView&&(this.inView=S,S&&(o=!0)),!this.inView&&!this.scrollTarget&&!Ak(e.dom))return 0;let x=s.width;if((this.contentDOMWidth!=x||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=s.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),o){let Y=e.docView.measureVisibleLineHeights(this.viewport);if(O.mustRefreshForHeights(Y)&&(a=!0),a||O.lineWrapping&&Math.abs(x-this.contentDOMWidth)>O.charWidth){let{lineHeight:U,charWidth:V,textHeight:G}=e.docView.measureTextSize();a=U>0&&O.refresh(r,U,V,G,Math.max(5,x/V),Y),a&&(e.docView.minWidth=0,l|=16)}P>0&&m>0?c=Math.max(P,m):P<0&&m<0&&(c=Math.min(P,m)),m$();for(let U of this.viewports){let V=U.from==this.viewport.from?Y:e.docView.measureVisibleLineHeights(U);this.heightMap=(a?Pt.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new Jt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(O,0,a,new qk(U.from,V))}tr&&(l|=2)}let z=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return z&&(l&2&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(l&2||z)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,i){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),O=this.heightMap,r=this.heightOracle,{visibleTop:a,visibleBottom:s}=this,o=new is(O.lineAt(a-n*1e3,We.ByHeight,r,0,0).from,O.lineAt(s+(1-n)*1e3,We.ByHeight,r,0,0).to);if(i){let{head:l}=i.range;if(l<o.from||l>o.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=O.lineAt(l,We.ByPos,r,0,0),f;i.y=="center"?f=(u.top+u.bottom)/2-c/2:i.y=="start"||i.y=="nearest"&&l<o.from?f=u.top:f=u.bottom-c,o=new is(O.lineAt(f-1e3/2,We.ByHeight,r,0,0).from,O.lineAt(f+c+1e3/2,We.ByHeight,r,0,0).to)}}return o}mapViewport(e,i){let n=i.mapPos(e.from,-1),O=i.mapPos(e.to,1);return new is(this.heightMap.lineAt(n,We.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(O,We.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:i},n=0){if(!this.inView)return!0;let{top:O}=this.heightMap.lineAt(e,We.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(i,We.ByPos,this.heightOracle,0,0),{visibleTop:a,visibleBottom:s}=this;return(e==0||O<=a-Math.max(10,Math.min(-n,250)))&&(i==this.state.doc.length||r>=s+Math.max(10,Math.min(n,250)))&&O>a-2*1e3&&r<s+2*1e3}mapLineGaps(e,i){if(!e.length||i.empty)return e;let n=[];for(let O of e)i.touchesRange(O.from,O.to)||n.push(new Dl(i.mapPos(O.from),i.mapPos(O.to),O.size,O.displaySize));return n}ensureLineGaps(e,i){let n=this.heightOracle.lineWrapping,O=n?1e4:2e3,r=O>>1,a=O<<1;if(this.defaultTextDirection!=Ge.LTR&&!n)return[];let s=[],o=(c,u,f,d)=>{if(u-c<r)return;let p=this.state.selection.main,Q=[p.from];p.empty||Q.push(p.to);for(let m of Q)if(m>c&&m<u){o(c,m-10,f,d),o(m+10,u,f,d);return}let P=Dk(e,m=>m.from>=f.from&&m.to<=f.to&&Math.abs(m.from-c)<r&&Math.abs(m.to-u)<r&&!Q.some(S=>m.from<S&&m.to>S));if(!P){if(u<f.to&&i&&n&&i.visibleRanges.some(x=>x.from<=u&&x.to>=u)){let x=i.moveToLineBoundary(j.cursor(u),!1,!0).head;x>c&&(u=x)}let m=this.gapSize(f,c,u,d),S=n||m<2e6?m:2e6;P=new Dl(c,u,m,S)}s.push(P)},l=c=>{if(c.length<a||c.type!=ot.Text)return;let u=Lk(c.from,c.to,this.stateDeco);if(u.total<a)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,d,p;if(n){let Q=O/this.heightOracle.lineLength*this.heightOracle.lineHeight,P,m;if(f!=null){let S=Os(u,f),x=((this.visibleBottom-this.visibleTop)/2+Q)/c.height;P=S-x,m=S+x}else P=(this.visibleTop-c.top-Q)/c.height,m=(this.visibleBottom-c.top+Q)/c.height;d=ns(u,P),p=ns(u,m)}else{let Q=u.total*this.heightOracle.charWidth,P=O*this.heightOracle.charWidth,m=0;if(Q>2e6)for(let U of e)U.from>=c.from&&U.from<c.to&&U.size!=U.displaySize&&U.from*this.heightOracle.charWidth+m<this.pixelViewport.left&&(m=U.size-U.displaySize);let S=this.pixelViewport.left+m,x=this.pixelViewport.right+m,z,Y;if(f!=null){let U=Os(u,f),V=((x-S)/2+P)/Q;z=U-V,Y=U+V}else z=(S-P)/Q,Y=(x+P)/Q;d=ns(u,z),p=ns(u,Y)}d>c.from&&o(c.from,d,c,u),p<c.to&&o(p,c.to,c,u)};for(let c of this.viewportLines)Array.isArray(c.type)?c.type.forEach(l):l(c);return s}gapSize(e,i,n,O){let r=Os(O,n)-Os(O,i);return this.heightOracle.lineWrapping?e.height*r:O.total*this.heightOracle.charWidth*r}updateLineGaps(e){Dl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=he.set(e.map(i=>i.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let i=this.stateDeco;this.lineGaps.length&&(i=i.concat(this.lineGapDeco));let n=[];Se.spans(i,this.viewport.from,this.viewport.to,{span(r,a){n.push({from:r,to:a})},point(){}},20);let O=0;if(n.length!=this.visibleRanges.length)O=12;else for(let r=0;r<n.length&&!(O&8);r++){let a=this.visibleRanges[r],s=n[r];(a.from!=s.from||a.to!=s.to)&&(O|=4,e&&e.mapPos(a.from,-1)==s.from&&e.mapPos(a.to,1)==s.to||(O|=8))}return this.visibleRanges=n,O}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(i=>i.from<=e&&i.to>=e)||Vr(this.heightMap.lineAt(e,We.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(i=>i.top<=e&&i.bottom>=e)||Vr(this.heightMap.lineAt(this.scaler.fromDOM(e),We.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let i=this.lineBlockAtHeight(e+8);return i.from>=this.viewport.from||this.viewportLines[0].top-e>200?i:this.viewportLines[0]}elementAtHeight(e){return Vr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class is{constructor(e,i){this.from=e,this.to=i}}function Lk(t,e,i){let n=[],O=t,r=0;return Se.spans(i,t,e,{span(){},point(a,s){a>O&&(n.push({from:O,to:a}),r+=a-O),O=s}},20),O<e&&(n.push({from:O,to:e}),r+=e-O),{total:r,ranges:n}}function ns({total:t,ranges:e},i){if(i<=0)return e[0].from;if(i>=1)return e[e.length-1].to;let n=Math.floor(t*i);for(let O=0;;O++){let{from:r,to:a}=e[O],s=a-r;if(n<=s)return r+n;n-=s}}function Os(t,e){let i=0;for(let{from:n,to:O}of t.ranges){if(e<=O){i+=e-n;break}i+=O-n}return i/t.total}function Dk(t,e){for(let i of t)if(e(i))return i}const S$={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function b$(t){let e=t.facet(Wo).filter(n=>typeof n!="function"),i=t.facet(Ff).filter(n=>typeof n!="function");return i.length&&e.push(Se.join(i)),e}class Jf{constructor(e,i,n){let O=0,r=0,a=0;this.viewports=n.map(({from:s,to:o})=>{let l=i.lineAt(s,We.ByPos,e,0,0).top,c=i.lineAt(o,We.ByPos,e,0,0).bottom;return O+=c-l,{from:s,to:o,top:l,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-O)/(i.height-O);for(let s of this.viewports)s.domTop=a+(s.top-r)*this.scale,a=s.domBottom=s.domTop+(s.bottom-s.top),r=s.bottom}toDOM(e){for(let i=0,n=0,O=0;;i++){let r=i<this.viewports.length?this.viewports[i]:null;if(!r||e<r.top)return O+(e-n)*this.scale;if(e<=r.bottom)return r.domTop+(e-r.top);n=r.bottom,O=r.domBottom}}fromDOM(e){for(let i=0,n=0,O=0;;i++){let r=i<this.viewports.length?this.viewports[i]:null;if(!r||e<r.domTop)return n+(e-O)/this.scale;if(e<=r.domBottom)return r.top+(e-r.domTop);n=r.bottom,O=r.domBottom}}eq(e){return e instanceof Jf?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((i,n)=>i.from==e.viewports[n].from&&i.to==e.viewports[n].to):!1}}function Vr(t,e){if(e.scale==1)return t;let i=e.toDOM(t.top),n=e.toDOM(t.bottom);return new ci(t.from,t.length,i,n-i,Array.isArray(t._content)?t._content.map(O=>Vr(O,e)):t._content)}const rs=J.define({combine:t=>t.join(" ")}),Ru=J.define({combine:t=>t.indexOf(!0)>-1}),Yu=Pn.newName(),TP=Pn.newName(),vP=Pn.newName(),_P={"&light":"."+TP,"&dark":"."+vP};function Zu(t,e,i){return new Pn(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,O=>{if(O=="&")return t;if(!i||!i[O])throw new RangeError(`Unsupported selector: ${O}`);return i[O]}):t+" "+n}})}const Mk=Zu("."+Yu,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},_P),Bk={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Ml=H.ie&&H.ie_version<=11;class Fk{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ww,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(i=>{for(let n of i)this.queue.push(n);(H.ie&&H.ie_version<=11||H.ios&&e.composing)&&i.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&H.android&&e.constructor.EDIT_CONTEXT!==!1&&!(H.chrome&&H.chrome_version<126)&&(this.editContext=new Kk(e),e.state.facet(Mi)&&(e.contentDOM.editContext=this.editContext.editContext)),Ml&&(this.onCharData=i=>{this.queue.push({target:i.target,type:"characterData",oldValue:i.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var i;((i=this.view.docView)===null||i===void 0?void 0:i.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(i=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),i.length>0&&i[i.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(i=>{i.length>0&&i[i.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((i,n)=>i!=e[n]))){this.gapIntersection.disconnect();for(let i of e)this.gapIntersection.observe(i);this.gaps=e}}onSelectionChange(e){let i=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,O=this.selectionRange;if(n.state.facet(Mi)?n.root.activeElement!=this.dom:!Nr(this.dom,O))return;let r=O.anchorNode&&n.docView.tile.nearest(O.anchorNode);if(r&&r.isWidget()&&r.widget.ignoreEvent(e)){i||(this.selectionChanged=!1);return}(H.ie&&H.ie_version<=11||H.android&&H.chrome)&&!n.state.selection.main.empty&&O.focusNode&&Ir(O.focusNode,O.focusOffset,O.anchorNode,O.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,i=Oa(e.root);if(!i)return!1;let n=H.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Hk(this.view,i)||i;if(!n||this.selectionRange.eq(n))return!1;let O=Nr(this.dom,n);return O&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Tw(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),O&&(this.selectionChanged=!0),!0)}setSelectionRange(e,i){this.selectionRange.set(e.node,e.offset,i.node,i.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,i=null;for(let n=this.dom;n;)if(n.nodeType==1)!i&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:i||(i=this.scrollTargets.slice(0,e)),i&&i.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!i&&(i=this.scrollTargets.slice(0,e)),i){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=i)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Bk),Ml&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Ml&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,i){var n;if(!this.delayedAndroidKey){let O=()=>{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&IO(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(O)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:i,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let i=-1,n=-1,O=!1;for(let r of e){let a=this.readMutation(r);a&&(a.typeOver&&(O=!0),i==-1?{from:i,to:n}=a:(i=Math.min(a.from,i),n=Math.max(a.to,n)))}return{from:i,to:n,typeOver:O}}readChange(){let{from:e,to:i,typeOver:n}=this.processRecords(),O=this.selectionChanged&&Nr(this.dom,this.selectionRange);if(e<0&&!O)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new $k(this.view,e,i,n);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let i=this.readChange();if(!i)return this.view.requestMeasure(),!1;let n=this.view.state,O=QP(this.view,i);return this.view.state==n&&(i.domChanged||i.newSel&&!no(this.view.state.selection,i.newSel.main))&&this.view.update([]),O}readMutation(e){let i=this.view.docView.tile.nearest(e.target);if(!i||i.isWidget())return null;if(i.markDirty(e.type=="attributes"),e.type=="childList"){let n=y$(i,e.previousSibling||e.target.previousSibling,-1),O=y$(i,e.nextSibling||e.target.nextSibling,1);return{from:n?i.posAfter(n):i.posAtStart,to:O?i.posBefore(O):i.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:i.posAtStart,to:i.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mi)!=e.state.facet(Mi)&&(e.view.contentDOM.editContext=e.state.facet(Mi)?this.editContext.editContext:null))}destroy(){var e,i,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(i=this.gapIntersection)===null||i===void 0||i.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let O of this.scrollTargets)O.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function y$(t,e,i){for(;e;){let n=Le.get(e);if(n&&n.parent==t)return n;let O=e.parentNode;e=O!=t.dom?O:i>0?e.nextSibling:e.previousSibling}return null}function x$(t,e){let i=e.startContainer,n=e.startOffset,O=e.endContainer,r=e.endOffset,a=t.docView.domAtPos(t.state.selection.main.anchor,1);return Ir(a.node,a.offset,O,r)&&([i,n,O,r]=[O,r,i,n]),{anchorNode:i,anchorOffset:n,focusNode:O,focusOffset:r}}function Hk(t,e){if(e.getComposedRanges){let O=e.getComposedRanges(t.root)[0];if(O)return x$(t,O)}let i=null;function n(O){O.preventDefault(),O.stopImmediatePropagation(),i=O.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",n,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",n,!0),i?x$(t,i):null}class Kk{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let i=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let O=e.state.selection.main,{anchor:r,head:a}=O,s=this.toEditorPos(n.updateRangeStart),o=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:s,drifted:!1});let l=o-s>n.text.length;s==this.from&&r<this.from?s=r:o==this.to&&r>this.to&&(o=r);let c=mP(e.state.sliceDoc(s,o),n.text,(l?O.from:O.to)-s,l?"end":null);if(!c){let f=j.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));no(f,O)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:c.from+s,to:c.toA+s,insert:xe.of(n.text.slice(c.from,c.toB).split(`
|
|
16
|
-
`))};if((H.mac||H.android)&&u.from==a-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:s,to:o,insert:xe.of([n.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);Hf(e,u,j.single(this.toEditorPos(n.selectionStart,f),this.toEditorPos(n.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(i.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(i.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let O=[],r=null;for(let a=this.toEditorPos(n.rangeStart),s=this.toEditorPos(n.rangeEnd);a<s;a++){let o=e.coordsForChar(a);r=o&&new DOMRect(o.left,o.top,o.right-o.left,o.bottom-o.top)||r||new DOMRect,O.push(r)}i.updateCharacterBounds(n.rangeStart,O)},this.handlers.textformatupdate=n=>{let O=[];for(let r of n.getTextFormats()){let a=r.underlineStyle,s=r.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(s)){let o=this.toEditorPos(r.rangeStart),l=this.toEditorPos(r.rangeEnd);if(o<l){let c=`text-decoration: underline ${/^[a-z]/.test(a)?a+" ":a=="Dashed"?"dashed ":a=="Squiggle"?"wavy ":""}${/thin/i.test(s)?1:2}px`;O.push(he.mark({attributes:{style:c}}).range(o,l))}}}e.dispatch({effects:sP.of(he.set(O))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)i.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{this.editContext.updateControlBounds(n.contentDOM.getBoundingClientRect());let O=Oa(n.root);O&&O.rangeCount&&this.editContext.updateSelectionBounds(O.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let i=0,n=!1,O=this.pendingContextChange;return e.changes.iterChanges((r,a,s,o,l)=>{if(n)return;let c=l.length-(a-r);if(O&&a>=O.to)if(O.from==r&&O.to==a&&O.insert.eq(l)){O=this.pendingContextChange=null,i+=c,this.to+=c;return}else O=null,this.revertPending(e.state);if(r+=i,a+=i,a<=this.from)this.from+=c,this.to+=c;else if(r<this.to){if(r<this.from||a>this.to||this.to-this.from+l.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(a),l.toString()),this.to+=c}i+=c}),O&&!n&&this.revertPending(e.state),!n}update(e){let i=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(O=>!O.isUserEvent("input.type")&&O.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||i)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:i}=e.selection.main;this.from=Math.max(0,i-1e4),this.to=Math.min(e.doc.length,i+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let i=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(i.from),this.toContextPos(i.from+i.insert.length),e.doc.sliceString(i.from,i.to))}setSelection(e){let{main:i}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,i.anchor))),O=this.toContextPos(i.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=O)&&this.editContext.updateSelection(n,O)}rangeIsValid(e){let{head:i}=e.selection.main;return!(this.from>0&&i-this.from<500||this.to<e.doc.length&&this.to-i<500||this.to-this.from>1e4*3)}toEditorPos(e,i=this.to-this.from){e=Math.min(e,i);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let i=this.composing;return i&&i.drifted?i.contextBase+(e-i.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class K{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var i;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(O=>O.forEach(r=>n(r,this)))||(O=>this.update(O)),this.dispatch=this.dispatch.bind(this),this._root=e.root||kw(e.parent)||document,this.viewState=new P$(this,e.state||ye.create(e)),e.scrollTo&&e.scrollTo.is(Ja)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(EO).map(O=>new Gl(O));for(let O of this.plugins)O.update(this);this.observer=new Fk(this),this.inputState=new gk(this),this.inputState.ensureHandlers(this.plugins),this.docView=new s$(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((i=document.fonts)===null||i===void 0)&&i.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let i=e.length==1&&e[0]instanceof Fe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(i,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let i=!1,n=!1,O,r=this.state;for(let f of e){if(f.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=f.state}if(this.destroyed){this.viewState.state=r;return}let a=this.hasFocus,s=0,o=null;e.some(f=>f.annotation(xP))?(this.inputState.notifiedFocused=a,s=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,o=XP(r,a),o||(s=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(c=null)):this.observer.clear(),r.facet(ye.phrases)!=this.state.facet(ye.phrases))return this.setState(r);O=eo.create(this,r,e),O.flags|=s;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;u=new LO(d.empty?d:j.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(Ja)&&(u=d.value.clip(this.state))}this.viewState.update(O,u),this.bidiCache=ro.update(this.bidiCache,O.changes),O.empty||(this.updatePlugins(O),this.inputState.update(O)),i=this.docView.update(O),this.state.facet(qr)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(O.startState.facet(rs)!=O.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(i||n||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!O.empty)for(let f of this.state.facet(wu))try{f(O)}catch(d){ki(this.state,d,"update listener")}(o||c)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),c&&!QP(this,c)&&l.force&&IO(this.contentDOM,l.key,l.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let i=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new P$(this,e),this.plugins=e.facet(EO).map(n=>new Gl(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new s$(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}i&&this.focus(),this.requestMeasure()}updatePlugins(e){let i=e.startState.facet(EO),n=e.state.facet(EO);if(i!=n){let O=[];for(let r of n){let a=i.indexOf(r);if(a<0)O.push(new Gl(r));else{let s=this.plugins[a];s.mustUpdate=e,O.push(s)}}for(let r of this.plugins)r.mustUpdate!=e&&r.destroy(this);this.plugins=O,this.pluginMap.clear()}else for(let O of this.plugins)O.mustUpdate=e;for(let O=0;O<this.plugins.length;O++)this.plugins[O].update(this);i!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let i=e.value;if(i&&i.docViewUpdate)try{i.docViewUpdate(this)}catch(n){ki(this.state,n,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let i=null,n=this.viewState.scrollParent,O=this.viewState.getScrollOffset(),{scrollAnchorPos:r,scrollAnchorHeight:a}=this.viewState;Math.abs(O-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let s=0;;s++){if(a<0)if(Ng(n||this.win))r=-1,a=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(O);r=d.from,a=d.top}this.updateState=1;let o=this.viewState.measure();if(!o&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(s>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];o&4||([this.measureRequests,l]=[l,this.measureRequests]);let c=l.map(d=>{try{return d.read(this)}catch(p){return ki(this.state,p),X$}}),u=eo.create(this,this.state,[]),f=!1;u.flags|=o,i?i.flags|=o:i=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),f=this.docView.update(u),f&&this.docViewUpdate());for(let d=0;d<l.length;d++)if(c[d]!=X$)try{let p=l[d];p.write&&p.write(c[d],this)}catch(p){ki(this.state,p)}if(f&&this.docView.updateSelection(!0),!u.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,a=-1;continue}else{let p=((r<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(r).top)-a)/this.scaleY;if((p>1||p<-1)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){O=O+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(let s of this.state.facet(wu))s(i)}get themeClasses(){return Yu+" "+(this.state.facet(Ru)?vP:TP)+" "+this.state.facet(rs)}updateAttrs(){let e=w$(this,oP,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mi)?"true":"false",class:"cm-content",style:`${H.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),w$(this,Bf,i);let n=this.observer.ignore(()=>{let O=t$(this.contentDOM,this.contentAttrs,i),r=t$(this.dom,this.editorAttrs,e);return O||r});return this.editorAttrs=e,this.contentAttrs=i,n}showAnnouncements(e){let i=!0;for(let n of e)for(let O of n.effects)if(O.is(K.announce)){i&&(this.announceDOM.textContent=""),i=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=O.value}}mountStyles(){this.styleModules=this.state.facet(qr);let e=this.state.facet(K.cspNonce);Pn.mount(this.root,this.styleModules.concat(Mk).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let i=0;i<this.measureRequests.length;i++)if(this.measureRequests[i].key===e.key){this.measureRequests[i]=e;return}}this.measureRequests.push(e)}}plugin(e){let i=this.pluginMap.get(e);return(i===void 0||i&&i.plugin!=e)&&this.pluginMap.set(e,i=this.plugins.find(n=>n.plugin==e)||null),i&&i.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,i,n){return Ll(this,e,o$(this,e,i,n))}moveByGroup(e,i){return Ll(this,e,o$(this,e,i,n=>lk(this,e.head,n)))}visualLineSide(e,i){let n=this.bidiSpans(e),O=this.textDirectionAt(e.from),r=n[i?n.length-1:0];return j.cursor(r.side(i,O)+e.from,r.forward(!i,O)?1:-1)}moveToLineBoundary(e,i,n=!0){return ok(this,e,i,n)}moveVertically(e,i,n){return Ll(this,e,ck(this,e,i,n))}domAtPos(e,i=1){return this.docView.domAtPos(e,i)}posAtDOM(e,i=0){return this.docView.posFromDOM(e,i)}posAtCoords(e,i=!0){this.readMeasured();let n=vu(this,e,i);return n&&n.pos}posAndSideAtCoords(e,i=!0){return this.readMeasured(),vu(this,e,i)}coordsAtPos(e,i=1){this.readMeasured();let n=this.docView.coordsAt(e,i);if(!n||n.left==n.right)return n;let O=this.state.doc.lineAt(e),r=this.bidiSpans(O),a=r[wi.find(r,e-O.from,-1,i)];return Js(n,a.dir==Ge.LTR==i>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(OP)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Jk)return Fg(e.length);let i=this.textDirectionAt(e.from),n;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==i&&(r.fresh||Bg(r.isolates,n=O$(this,e))))return r.order;n||(n=O$(this,e));let O=Uw(e.text,i,n);return this.bidiCache.push(new ro(e.from,e.to,i,n,!0,O)),O}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||H.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Ag(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,i={}){return Ja.of(new LO(typeof e=="number"?j.cursor(e):e,i.y,i.x,i.yMargin,i.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:i}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Ja.of(new LO(j.cursor(n.from),"start","start",n.top-e,i,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return St.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return St.define(()=>({}),{eventObservers:e})}static theme(e,i){let n=Pn.newName(),O=[rs.of(n),qr.of(Zu(`.${n}`,e))];return i&&i.dark&&O.push(Ru.of(!0)),O}static baseTheme(e){return cO.lowest(qr.of(Zu("."+Yu,e,_P)))}static findFromDOM(e){var i;let n=e.querySelector(".cm-content"),O=n&&Le.get(n)||Le.get(e);return((i=O==null?void 0:O.root)===null||i===void 0?void 0:i.view)||null}}K.styleModule=qr;K.inputHandler=iP;K.clipboardInputFilter=Df;K.clipboardOutputFilter=Mf;K.scrollHandler=aP;K.focusChangeEffect=nP;K.perLineTextDirection=OP;K.exceptionSink=tP;K.updateListener=wu;K.editable=Mi;K.mouseSelectionStyle=eP;K.dragMovesSelection=Jg;K.clickAddsSelectionRange=Kg;K.decorations=Wo;K.blockWrappers=lP;K.outerDecorations=Ff;K.atomicRanges=Ta;K.bidiIsolatedRanges=cP;K.scrollMargins=uP;K.darkTheme=Ru;K.cspNonce=J.define({combine:t=>t.length?t[0]:""});K.contentAttributes=Bf;K.editorAttributes=oP;K.lineWrapping=K.contentAttributes.of({class:"cm-lineWrapping"});K.announce=Xe.define();const Jk=4096,X$={};class ro{constructor(e,i,n,O,r,a){this.from=e,this.to=i,this.dir=n,this.isolates=O,this.fresh=r,this.order=a}static update(e,i){if(i.empty&&!e.some(r=>r.fresh))return e;let n=[],O=e.length?e[e.length-1].dir:Ge.LTR;for(let r=Math.max(0,e.length-10);r<e.length;r++){let a=e[r];a.dir==O&&!i.touchesRange(a.from,a.to)&&n.push(new ro(i.mapPos(a.from,1),i.mapPos(a.to,-1),a.dir,a.isolates,!1,a.order))}return n}}function w$(t,e,i){for(let n=t.state.facet(e),O=n.length-1;O>=0;O--){let r=n[O],a=typeof r=="function"?r(t):r;a&&Nf(a,i)}return i}const eT=H.mac?"mac":H.windows?"win":H.linux?"linux":"key";function tT(t,e){const i=t.split(/-(?!$)/);let n=i[i.length-1];n=="Space"&&(n=" ");let O,r,a,s;for(let o=0;o<i.length-1;++o){const l=i[o];if(/^(cmd|meta|m)$/i.test(l))s=!0;else if(/^a(lt)?$/i.test(l))O=!0;else if(/^(c|ctrl|control)$/i.test(l))r=!0;else if(/^s(hift)?$/i.test(l))a=!0;else if(/^mod$/i.test(l))e=="mac"?s=!0:r=!0;else throw new Error("Unrecognized modifier name: "+l)}return O&&(n="Alt-"+n),r&&(n="Ctrl-"+n),s&&(n="Meta-"+n),a&&(n="Shift-"+n),n}function as(t,e,i){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),i!==!1&&e.shiftKey&&(t="Shift-"+t),t}const iT=cO.default(K.domEventHandlers({keydown(t,e){return YP(RP(e.state),t,e,"editor")}})),Go=J.define({enables:iT}),k$=new WeakMap;function RP(t){let e=t.facet(Go),i=k$.get(e);return i||k$.set(e,i=rT(e.reduce((n,O)=>n.concat(O),[]))),i}function nT(t,e,i){return YP(RP(t.state),e,t,i)}let hn=null;const OT=4e3;function rT(t,e=eT){let i=Object.create(null),n=Object.create(null),O=(a,s)=>{let o=n[a];if(o==null)n[a]=s;else if(o!=s)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},r=(a,s,o,l,c)=>{var u,f;let d=i[a]||(i[a]=Object.create(null)),p=s.split(/ (?!$)/).map(m=>tT(m,e));for(let m=1;m<p.length;m++){let S=p.slice(0,m).join(" ");O(S,!0),d[S]||(d[S]={preventDefault:!0,stopPropagation:!1,run:[x=>{let z=hn={view:x,prefix:S,scope:a};return setTimeout(()=>{hn==z&&(hn=null)},OT),!0}]})}let Q=p.join(" ");O(Q,!1);let P=d[Q]||(d[Q]={preventDefault:!1,stopPropagation:!1,run:((f=(u=d._any)===null||u===void 0?void 0:u.run)===null||f===void 0?void 0:f.slice())||[]});o&&P.run.push(o),l&&(P.preventDefault=!0),c&&(P.stopPropagation=!0)};for(let a of t){let s=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let l of s){let c=i[l]||(i[l]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=a;for(let f in c)c[f].run.push(d=>u(d,zu))}let o=a[e]||a.key;if(o)for(let l of s)r(l,o,a.run,a.preventDefault,a.stopPropagation),a.shift&&r(l,"Shift-"+o,a.shift,a.preventDefault,a.stopPropagation)}return i}let zu=null;function YP(t,e,i,n){zu=e;let O=gw(e),r=lO(O,0),a=Xa(r)==O.length&&O!=" ",s="",o=!1,l=!1,c=!1;hn&&hn.view==i&&hn.scope==n&&(s=hn.prefix+" ",PP.indexOf(e.keyCode)<0&&(l=!0,hn=null));let u=new Set,f=P=>{if(P){for(let m of P.run)if(!u.has(m)&&(u.add(m),m(i)))return P.stopPropagation&&(c=!0),!0;P.preventDefault&&(P.stopPropagation&&(c=!0),l=!0)}return!1},d=t[n],p,Q;return d&&(f(d[s+as(O,e,!a)])?o=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(H.windows&&e.ctrlKey&&e.altKey)&&!(H.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Sn[e.keyCode])&&p!=O?(f(d[s+as(p,e,!0)])||e.shiftKey&&(Q=ia[e.keyCode])!=O&&Q!=p&&f(d[s+as(Q,e,!1)]))&&(o=!0):a&&e.shiftKey&&f(d[s+as(O,e,!0)])&&(o=!0),!o&&f(d._any)&&(o=!0)),l&&(o=!0),o&&c&&e.stopPropagation(),zu=null,o}class Bn{constructor(e,i,n,O,r){this.className=e,this.left=i,this.top=n,this.width=O,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,i){return i.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,i,n){if(n.empty){let O=e.coordsAtPos(n.head,n.assoc||1);if(!O)return[];let r=ZP(e);return[new Bn(i,O.left-r.left,O.top-r.top,null,O.bottom-O.top)]}else return aT(e,i,n)}}function ZP(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Ge.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function T$(t,e,i,n){let O=t.coordsAtPos(e,i*2);if(!O)return n;let r=t.dom.getBoundingClientRect(),a=(O.top+O.bottom)/2,s=t.posAtCoords({x:r.left+1,y:a}),o=t.posAtCoords({x:r.right-1,y:a});return s==null||o==null?n:{from:Math.max(n.from,Math.min(s,o)),to:Math.min(n.to,Math.max(s,o))}}function aT(t,e,i){if(i.to<=t.viewport.from||i.from>=t.viewport.to)return[];let n=Math.max(i.from,t.viewport.from),O=Math.min(i.to,t.viewport.to),r=t.textDirection==Ge.LTR,a=t.contentDOM,s=a.getBoundingClientRect(),o=ZP(t),l=a.querySelector(".cm-line"),c=l&&window.getComputedStyle(l),u=s.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=s.right-(c?parseInt(c.paddingRight):0),d=Tu(t,n,1),p=Tu(t,O,-1),Q=d.type==ot.Text?d:null,P=p.type==ot.Text?p:null;if(Q&&(t.lineWrapping||d.widgetLineBreaks)&&(Q=T$(t,n,1,Q)),P&&(t.lineWrapping||p.widgetLineBreaks)&&(P=T$(t,O,-1,P)),Q&&P&&Q.from==P.from&&Q.to==P.to)return S(x(i.from,i.to,Q));{let Y=Q?x(i.from,null,Q):z(d,!1),U=P?x(null,i.to,P):z(p,!0),V=[];return(Q||d).to<(P||p).from-(Q&&P?1:0)||d.widgetLineBreaks>1&&Y.bottom+t.defaultLineHeight/2<U.top?V.push(m(u,Y.bottom,f,U.top)):Y.bottom<U.top&&t.elementAtHeight((Y.bottom+U.top)/2).type==ot.Text&&(Y.bottom=U.top=(Y.bottom+U.top)/2),S(Y).concat(V).concat(S(U))}function m(Y,U,V,G){return new Bn(e,Y-o.left,U-o.top,Math.max(0,V-Y),G-U)}function S({top:Y,bottom:U,horizontal:V}){let G=[];for(let D=0;D<V.length;D+=2)G.push(m(V[D],Y,V[D+1],U));return G}function x(Y,U,V){let G=1e9,D=-1e9,E=[];function _(y,w,Z,X,A){let q=t.coordsAtPos(y,y==V.to?-2:2),W=t.coordsAtPos(Z,Z==V.from?2:-2);!q||!W||(G=Math.min(q.top,W.top,G),D=Math.max(q.bottom,W.bottom,D),A==Ge.LTR?E.push(r&&w?u:q.left,r&&X?f:W.right):E.push(!r&&X?u:W.left,!r&&w?f:q.right))}let R=Y??V.from,T=U??V.to;for(let y of t.visibleRanges)if(y.to>R&&y.from<T)for(let w=Math.max(y.from,R),Z=Math.min(y.to,T);;){let X=t.state.doc.lineAt(w);for(let A of t.bidiSpans(X)){let q=A.from+X.from,W=A.to+X.from;if(q>=Z)break;W>w&&_(Math.max(q,w),Y==null&&q<=R,Math.min(W,Z),U==null&&W>=T,A.dir)}if(w=X.to+1,w>=Z)break}return E.length==0&&_(R,Y==null,T,U==null,t.textDirection),{top:G,bottom:D,horizontal:E}}function z(Y,U){let V=s.top+(U?Y.top:Y.bottom);return{top:V,bottom:V,horizontal:[]}}}function sT(t,e){return t.constructor==e.constructor&&t.eq(e)}class oT{constructor(e,i){this.view=e,this.layer=i,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),i.above&&this.dom.classList.add("cm-layer-above"),i.class&&this.dom.classList.add(i.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),i.mount&&i.mount(this.dom,e)}update(e){e.startState.facet(Us)!=e.state.facet(Us)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let i=0,n=e.facet(Us);for(;i<n.length&&n[i]!=this.layer;)i++;this.dom.style.zIndex=String((this.layer.above?150:-1)-i)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:i}=this.view;(e!=this.scaleX||i!=this.scaleY)&&(this.scaleX=e,this.scaleY=i,this.dom.style.transform=`scale(${1/e}, ${1/i})`)}draw(e){if(e.length!=this.drawn.length||e.some((i,n)=>!sT(i,this.drawn[n]))){let i=this.dom.firstChild,n=0;for(let O of e)O.update&&i&&O.constructor&&this.drawn[n].constructor&&O.update(i,this.drawn[n])?(i=i.nextSibling,n++):this.dom.insertBefore(O.draw(),i);for(;i;){let O=i.nextSibling;i.remove(),i=O}this.drawn=e,H.safari&&H.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Us=J.define();function zP(t){return[St.define(e=>new oT(e,t)),Us.of(t)]}const ir=J.define({combine(t){return uO(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,i)=>Math.min(e,i),drawRangeCursor:(e,i)=>e||i})}});function lT(t={}){return[ir.of(t),cT,uT,fT,rP.of(!0)]}function UP(t){return t.startState.facet(ir)!=t.state.facet(ir)}const cT=zP({above:!0,markers(t){let{state:e}=t,i=e.facet(ir),n=[];for(let O of e.selection.ranges){let r=O==e.selection.main;if(O.empty||i.drawRangeCursor&&!(r&&H.ios&&i.iosSelectionHandles)){let a=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",s=O.empty?O:j.cursor(O.head,O.assoc);for(let o of Bn.forRange(t,a,s))n.push(o)}}return n},update(t,e){t.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let i=UP(t);return i&&v$(t.state,e),t.docChanged||t.selectionSet||i},mount(t,e){v$(e.state,t)},class:"cm-cursorLayer"});function v$(t,e){e.style.animationDuration=t.facet(ir).cursorBlinkRate+"ms"}const uT=zP({above:!1,markers(t){let e=[],{main:i,ranges:n}=t.state.selection;for(let O of n)if(!O.empty)for(let r of Bn.forRange(t,"cm-selectionBackground",O))e.push(r);if(H.ios&&!i.empty&&t.state.facet(ir).iosSelectionHandles){for(let O of Bn.forRange(t,"cm-selectionHandle cm-selectionHandle-start",j.cursor(i.from,1)))e.push(O);for(let O of Bn.forRange(t,"cm-selectionHandle cm-selectionHandle-end",j.cursor(i.to,1)))e.push(O)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||UP(t)},class:"cm-selectionLayer"}),fT=cO.highest(K.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function hT(){return $T}const dT=he.line({class:"cm-activeLine"}),$T=St.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,i=[];for(let n of t.state.selection.ranges){let O=t.lineBlockAt(n.head);O.from>e&&(i.push(dT.range(O.from)),e=O.from)}return he.set(i)}},{decorations:t=>t.decorations}),Uu=2e3;function pT(t,e,i){let n=Math.min(e.line,i.line),O=Math.max(e.line,i.line),r=[];if(e.off>Uu||i.off>Uu||e.col<0||i.col<0){let a=Math.min(e.off,i.off),s=Math.max(e.off,i.off);for(let o=n;o<=O;o++){let l=t.doc.line(o);l.length<=s&&r.push(j.range(l.from+a,l.to+s))}}else{let a=Math.min(e.col,i.col),s=Math.max(e.col,i.col);for(let o=n;o<=O;o++){let l=t.doc.line(o),c=$u(l.text,a,t.tabSize,!0);if(c<0)r.push(j.cursor(l.to));else{let u=$u(l.text,s,t.tabSize);r.push(j.range(l.from+c,l.from+u))}}}return r}function QT(t,e){let i=t.coordsAtPos(t.viewport.from);return i?Math.round(Math.abs((i.left-e)/t.defaultCharacterWidth)):-1}function _$(t,e){let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),n=t.state.doc.lineAt(i),O=i-n.from,r=O>Uu?-1:O==n.length?QT(t,e.clientX):zi(n.text,t.state.tabSize,i-n.from);return{line:n.number,col:r,off:O}}function mT(t,e){let i=_$(t,e),n=t.state.selection;return i?{update(O){if(O.docChanged){let r=O.changes.mapPos(O.startState.doc.line(i.line).from),a=O.state.doc.lineAt(r);i={line:a.number,col:i.col,off:Math.min(i.off,a.length)},n=n.map(O.changes)}},get(O,r,a){let s=_$(t,O);if(!s)return n;let o=pT(t.state,i,s);return o.length?a?j.create(o.concat(n.ranges)):j.create(o):n}}:null}function g7(t){let e=(i=>i.altKey&&i.button==0);return K.mouseSelectionStyle.of((i,n)=>e(n)?mT(i,n):null)}const R$=J.define({combine(t){let e,i;for(let n of t)e=e||n.topContainer,i=i||n.bottomContainer;return{topContainer:e,bottomContainer:i}}});function qP(t,e){let i=t.plugin(VP),n=i?i.specs.indexOf(e):-1;return n>-1?i.panels[n]:null}const VP=St.fromClass(class{constructor(t){this.input=t.state.facet(ao),this.specs=this.input.filter(i=>i),this.panels=this.specs.map(i=>i(t));let e=t.state.facet(R$);this.top=new ss(t,!0,e.topContainer),this.bottom=new ss(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(i=>i.top)),this.bottom.sync(this.panels.filter(i=>!i.top));for(let i of this.panels)i.dom.classList.add("cm-panel"),i.mount&&i.mount()}update(t){let e=t.state.facet(R$);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new ss(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new ss(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=t.state.facet(ao);if(i!=this.input){let n=i.filter(o=>o),O=[],r=[],a=[],s=[];for(let o of n){let l=this.specs.indexOf(o),c;l<0?(c=o(t.view),s.push(c)):(c=this.panels[l],c.update&&c.update(t)),O.push(c),(c.top?r:a).push(c)}this.specs=n,this.panels=O,this.top.sync(r),this.bottom.sync(a);for(let o of s)o.dom.classList.add("cm-panel"),o.mount&&o.mount()}else for(let n of this.panels)n.update&&n.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>K.scrollMargins.of(e=>{let i=e.plugin(t);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class ss{constructor(e,i,n){this.view=e,this.top=i,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let i of this.panels)i.destroy&&e.indexOf(i)<0&&i.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let i=this.container||this.view.dom;i.insertBefore(this.dom,this.top?i.firstChild:null)}let e=this.dom.firstChild;for(let i of this.panels)if(i.dom.parentNode==this.dom){for(;e!=i.dom;)e=Y$(e);e=e.nextSibling}else this.dom.insertBefore(i.dom,e);for(;e;)e=Y$(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Y$(t){let e=t.nextSibling;return t.remove(),e}const ao=J.define({enables:VP});function gT(t,e){let i,n=new Promise(a=>i=a),O=a=>PT(a,e,i);t.state.field(Bl,!1)?t.dispatch({effects:WP.of(O)}):t.dispatch({effects:Xe.appendConfig.of(Bl.init(()=>[O]))});let r=jP.of(O);return{close:r,result:n.then(a=>((t.win.queueMicrotask||(o=>t.win.setTimeout(o,10)))(()=>{t.state.field(Bl).indexOf(O)>-1&&t.dispatch({effects:r})}),a))}}const Bl=Lt.define({create(){return[]},update(t,e){for(let i of e.effects)i.is(WP)?t=[i.value].concat(t):i.is(jP)&&(t=t.filter(n=>n!=i.value));return t},provide:t=>ao.computeN([t],e=>e.field(t))}),WP=Xe.define(),jP=Xe.define();function PT(t,e,i){let n=e.content?e.content(t,()=>a(null)):null;if(!n){if(n=it("form"),e.input){let s=it("input",e.input);/^(text|password|number|email|tel|url)$/.test(s.type)&&s.classList.add("cm-textfield"),s.name||(s.name="input"),n.appendChild(it("label",(e.label||"")+": ",s))}else n.appendChild(document.createTextNode(e.label||""));n.appendChild(document.createTextNode(" ")),n.appendChild(it("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let O=n.nodeName=="FORM"?[n]:n.querySelectorAll("form");for(let s=0;s<O.length;s++){let o=O[s];o.addEventListener("keydown",l=>{l.keyCode==27?(l.preventDefault(),a(null)):l.keyCode==13&&(l.preventDefault(),a(o))}),o.addEventListener("submit",l=>{l.preventDefault(),a(o)})}let r=it("div",n,it("button",{onclick:()=>a(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(r.className=e.class),r.classList.add("cm-dialog");function a(s){r.contains(r.ownerDocument.activeElement)&&t.focus(),i(s)}return{dom:r,top:e.top,mount:()=>{if(e.focus){let s;typeof e.focus=="string"?s=n.querySelector(e.focus):s=n.querySelector("input")||n.querySelector("button"),s&&"select"in s?s.select():s&&"focus"in s&&s.focus()}}}}class Ji extends gn{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Ji.prototype.elementClass="";Ji.prototype.toDOM=void 0;Ji.prototype.mapMode=ht.TrackBefore;Ji.prototype.startSide=Ji.prototype.endSide=-1;Ji.prototype.point=!0;const qs=J.define(),ST=J.define(),bT={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Se.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Dr=J.define();function yT(t){return[CP(),Dr.of({...bT,...t})]}const Z$=J.define({combine:t=>t.some(e=>e)});function CP(t){return[xT]}const xT=St.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Dr).map(e=>new U$(t,e)),this.fixed=!t.state.facet(Z$);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,n=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(n<(i.to-i.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Z$)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let i=Se.iter(this.view.state.facet(qs),this.view.viewport.from),n=[],O=this.gutters.map(r=>new XT(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(r.type)){let a=!0;for(let s of r.type)if(s.type==ot.Text&&a){qu(i,n,s.from);for(let o of O)o.line(this.view,s,n);a=!1}else if(s.widget)for(let o of O)o.widget(this.view,s)}else if(r.type==ot.Text){qu(i,n,r.from);for(let a of O)a.line(this.view,r,n)}else if(r.widget)for(let a of O)a.widget(this.view,r);for(let r of O)r.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Dr),i=t.state.facet(Dr),n=t.docChanged||t.heightChanged||t.viewportChanged||!Se.eq(t.startState.facet(qs),t.state.facet(qs),t.view.viewport.from,t.view.viewport.to);if(e==i)for(let O of this.gutters)O.update(t)&&(n=!0);else{n=!0;let O=[];for(let r of i){let a=e.indexOf(r);a<0?O.push(new U$(this.view,r)):(this.gutters[a].update(t),O.push(this.gutters[a]))}for(let r of this.gutters)r.dom.remove(),O.indexOf(r)<0&&r.destroy();for(let r of O)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=O}return n}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>K.scrollMargins.of(e=>{let i=e.plugin(t);if(!i||i.gutters.length==0||!i.fixed)return null;let n=i.dom.offsetWidth*e.scaleX,O=i.domAfter?i.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Ge.LTR?{left:n,right:O}:{right:n,left:O}})});function z$(t){return Array.isArray(t)?t:[t]}function qu(t,e,i){for(;t.value&&t.from<=i;)t.from==i&&e.push(t.value),t.next()}class XT{constructor(e,i,n){this.gutter=e,this.height=n,this.i=0,this.cursor=Se.iter(e.markers,i.from)}addElement(e,i,n){let{gutter:O}=this,r=(i.top-this.height)/e.scaleY,a=i.height/e.scaleY;if(this.i==O.elements.length){let s=new EP(e,a,r,n);O.elements.push(s),O.dom.appendChild(s.dom)}else O.elements[this.i].update(e,a,r,n);this.height=i.bottom,this.i++}line(e,i,n){let O=[];qu(this.cursor,O,i.from),n.length&&(O=O.concat(n));let r=this.gutter.config.lineMarker(e,i,O);r&&O.unshift(r);let a=this.gutter;O.length==0&&!a.config.renderEmptyElements||this.addElement(e,i,O)}widget(e,i){let n=this.gutter.config.widgetMarker(e,i.widget,i),O=n?[n]:null;for(let r of e.state.facet(ST)){let a=r(e,i.widget,i);a&&(O||(O=[])).push(a)}O&&this.addElement(e,i,O)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let i=e.elements.pop();e.dom.removeChild(i.dom),i.destroy()}}}class U${constructor(e,i){this.view=e,this.config=i,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in i.domEventHandlers)this.dom.addEventListener(n,O=>{let r=O.target,a;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let o=r.getBoundingClientRect();a=(o.top+o.bottom)/2}else a=O.clientY;let s=e.lineBlockAtHeight(a-e.documentTop);i.domEventHandlers[n](e,s,O)&&O.preventDefault()});this.markers=z$(i.markers(e)),i.initialSpacer&&(this.spacer=new EP(e,0,0,[i.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let i=this.markers;if(this.markers=z$(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let O=this.config.updateSpacer(this.spacer.markers[0],e);O!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[O])}let n=e.view.viewport;return!Se.eq(this.markers,i,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class EP{constructor(e,i,n,O){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,i,n,O)}update(e,i,n,O){this.height!=i&&(this.height=i,this.dom.style.height=i+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),wT(this.markers,O)||this.setMarkers(e,O)}setMarkers(e,i){let n="cm-gutterElement",O=this.dom.firstChild;for(let r=0,a=0;;){let s=a,o=r<i.length?i[r++]:null,l=!1;if(o){let c=o.elementClass;c&&(n+=" "+c);for(let u=a;u<this.markers.length;u++)if(this.markers[u].compare(o)){s=u,l=!0;break}}else s=this.markers.length;for(;a<s;){let c=this.markers[a++];if(c.toDOM){c.destroy(O);let u=O.nextSibling;O.remove(),O=u}}if(!o)break;o.toDOM&&(l?O=O.nextSibling:this.dom.insertBefore(o.toDOM(e),O)),l&&a++}this.dom.className=n,this.markers=i}destroy(){this.setMarkers(null,[])}}function wT(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!t[i].compare(e[i]))return!1;return!0}const kT=J.define(),TT=J.define(),GO=J.define({combine(t){return uO(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,i){let n=Object.assign({},e);for(let O in i){let r=n[O],a=i[O];n[O]=r?(s,o,l)=>r(s,o,l)||a(s,o,l):a}return n}})}});class Fl extends Ji{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Hl(t,e){return t.state.facet(GO).formatNumber(e,t.state)}const vT=Dr.compute([GO],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(kT)},lineMarker(e,i,n){return n.some(O=>O.toDOM)?null:new Fl(Hl(e,e.state.doc.lineAt(i.from).number))},widgetMarker:(e,i,n)=>{for(let O of e.state.facet(TT)){let r=O(e,i,n);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(GO)!=e.state.facet(GO),initialSpacer(e){return new Fl(Hl(e,q$(e.state.doc.lines)))},updateSpacer(e,i){let n=Hl(i.view,q$(i.view.state.doc.lines));return n==e.number?e:new Fl(n)},domEventHandlers:t.facet(GO).domEventHandlers,side:"before"}));function _T(t={}){return[GO.of(t),CP(),vT]}function q$(t){let e=9;for(;e<t;)e=e*10+9;return e}const RT=new class extends Ji{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},YT=qs.compute(["selection"],t=>{let e=[],i=-1;for(let n of t.selection.ranges){let O=t.doc.lineAt(n.head).from;O>i&&(i=O,e.push(RT.range(O)))}return Se.of(e)});function ZT(){return YT}const GP=1024;let zT=0;class ei{constructor(e,i){this.from=e,this.to=i}}class ue{constructor(e={}){this.id=zT++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=He.match(e)),i=>{let n=e(i);return n===void 0?null:[this,n]}}}ue.closedBy=new ue({deserialize:t=>t.split(" ")});ue.openedBy=new ue({deserialize:t=>t.split(" ")});ue.group=new ue({deserialize:t=>t.split(" ")});ue.isolate=new ue({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});ue.contextHash=new ue({perNode:!0});ue.lookAhead=new ue({perNode:!0});ue.mounted=new ue({perNode:!0});class DO{constructor(e,i,n,O=!1){this.tree=e,this.overlay=i,this.parser=n,this.bracketed=O}static get(e){return e&&e.props&&e.props[ue.mounted.id]}}const UT=Object.create(null);class He{constructor(e,i,n,O=0){this.name=e,this.props=i,this.id=n,this.flags=O}static define(e){let i=e.props&&e.props.length?Object.create(null):UT,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),O=new He(e.name||"",i,e.id,n);if(e.props){for(let r of e.props)if(Array.isArray(r)||(r=r(O)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");i[r[0].id]=r[1]}}return O}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let i=this.prop(ue.group);return i?i.indexOf(e)>-1:!1}return this.id==e}static match(e){let i=Object.create(null);for(let n in e)for(let O of n.split(" "))i[O]=e[n];return n=>{for(let O=n.prop(ue.group),r=-1;r<(O?O.length:0);r++){let a=i[r<0?n.name:O[r]];if(a)return a}}}}He.none=new He("",Object.create(null),0,8);class fr{constructor(e){this.types=e;for(let i=0;i<e.length;i++)if(e[i].id!=i)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let i=[];for(let n of this.types){let O=null;for(let r of e){let a=r(n);if(a){O||(O=Object.assign({},n.props));let s=a[1],o=a[0];o.combine&&o.id in O&&(s=o.combine(O[o.id],s)),O[o.id]=s}}i.push(O?new He(n.name,O,n.id,n.flags):n)}return new fr(i)}}const os=new WeakMap,V$=new WeakMap;var Ye;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(Ye||(Ye={}));class Pe{constructor(e,i,n,O,r){if(this.type=e,this.children=i,this.positions=n,this.length=O,this.props=null,r&&r.length){this.props=Object.create(null);for(let[a,s]of r)this.props[typeof a=="number"?a:a.id]=s}}toString(){let e=DO.get(this);if(e&&!e.overlay)return e.tree.toString();let i="";for(let n of this.children){let O=n.toString();O&&(i&&(i+=","),i+=O)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(i.length?"("+i+")":""):i}cursor(e=0){return new so(this.topNode,e)}cursorAt(e,i=0,n=0){let O=os.get(this)||this.topNode,r=new so(O);return r.moveTo(e,i),os.set(this,r._tree),r}get topNode(){return new dt(this,0,0,null)}resolve(e,i=0){let n=aa(os.get(this)||this.topNode,e,i,!1);return os.set(this,n),n}resolveInner(e,i=0){let n=aa(V$.get(this)||this.topNode,e,i,!0);return V$.set(this,n),n}resolveStack(e,i=0){return WT(this,e,i)}iterate(e){let{enter:i,leave:n,from:O=0,to:r=this.length}=e,a=e.mode||0,s=(a&Ye.IncludeAnonymous)>0;for(let o=this.cursor(a|Ye.IncludeAnonymous);;){let l=!1;if(o.from<=r&&o.to>=O&&(!s&&o.type.isAnonymous||i(o)!==!1)){if(o.firstChild())continue;l=!0}for(;l&&n&&(s||!o.type.isAnonymous)&&n(o),!o.nextSibling();){if(!o.parent())return;l=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let i in this.props)e.push([+i,this.props[i]]);return e}balance(e={}){return this.children.length<=8?this:ih(He.none,this.children,this.positions,0,this.children.length,0,this.length,(i,n,O)=>new Pe(this.type,i,n,O,this.propValues),e.makeTree||((i,n,O)=>new Pe(He.none,i,n,O)))}static build(e){return jT(e)}}Pe.empty=new Pe(He.none,[],[],0);class eh{constructor(e,i){this.buffer=e,this.index=i}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new eh(this.buffer,this.index)}}class yn{constructor(e,i,n){this.buffer=e,this.length=i,this.set=n}get type(){return He.none}toString(){let e=[];for(let i=0;i<this.buffer.length;)e.push(this.childString(i)),i=this.buffer[i+3];return e.join(",")}childString(e){let i=this.buffer[e],n=this.buffer[e+3],O=this.set.types[i],r=O.name;if(/\W/.test(r)&&!O.isError&&(r=JSON.stringify(r)),e+=4,n==e)return r;let a=[];for(;e<n;)a.push(this.childString(e)),e=this.buffer[e+3];return r+"("+a.join(",")+")"}findChild(e,i,n,O,r){let{buffer:a}=this,s=-1;for(let o=e;o!=i&&!(AP(r,O,a[o+1],a[o+2])&&(s=o,n>0));o=a[o+3]);return s}slice(e,i,n){let O=this.buffer,r=new Uint16Array(i-e),a=0;for(let s=e,o=0;s<i;){r[o++]=O[s++],r[o++]=O[s++]-n;let l=r[o++]=O[s++]-n;r[o++]=O[s++]-e,a=Math.max(a,l)}return new yn(r,a,this.set)}}function AP(t,e,i,n){switch(t){case-2:return i<e;case-1:return n>=e&&i<e;case 0:return i<e&&n>e;case 1:return i<=e&&n>e;case 2:return n>e;case 4:return!0}}function aa(t,e,i,n){for(var O;t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to<e);){let a=!n&&t instanceof dt&&t.index<0?null:t.parent;if(!a)return t;t=a}let r=n?0:Ye.IgnoreOverlays;if(n)for(let a=t,s=a.parent;s;a=s,s=a.parent)a instanceof dt&&a.index<0&&((O=s.enter(e,i,r))===null||O===void 0?void 0:O.from)!=a.from&&(t=s);for(;;){let a=t.enter(e,i,r);if(!a)return t;t=a}}class NP{cursor(e=0){return new so(this,e)}getChild(e,i=null,n=null){let O=W$(this,e,i,n);return O.length?O[0]:null}getChildren(e,i=null,n=null){return W$(this,e,i,n)}resolve(e,i=0){return aa(this,e,i,!1)}resolveInner(e,i=0){return aa(this,e,i,!0)}matchContext(e){return Vu(this.parent,e)}enterUnfinishedNodesBefore(e){let i=this.childBefore(e),n=this;for(;i;){let O=i.lastChild;if(!O||O.to!=i.to)break;O.type.isError&&O.from==O.to?(n=i,i=O.prevSibling):i=O}return n}get node(){return this}get next(){return this.parent}}class dt extends NP{constructor(e,i,n,O){super(),this._tree=e,this.from=i,this.index=n,this._parent=O}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,i,n,O,r=0){for(let a=this;;){for(let{children:s,positions:o}=a._tree,l=i>0?s.length:-1;e!=l;e+=i){let c=s[e],u=o[e]+a.from,f;if(!(!(r&Ye.EnterBracketed&&c instanceof Pe&&(f=DO.get(c))&&!f.overlay&&f.bracketed&&n>=u&&n<=u+c.length)&&!AP(O,n,u,u+c.length))){if(c instanceof yn){if(r&Ye.ExcludeBuffers)continue;let d=c.findChild(0,c.buffer.length,i,n-u,O);if(d>-1)return new Ti(new qT(a,c,e,u),null,d)}else if(r&Ye.IncludeAnonymous||!c.type.isAnonymous||th(c)){let d;if(!(r&Ye.IgnoreMounts)&&(d=DO.get(c))&&!d.overlay)return new dt(d.tree,u,e,a);let p=new dt(c,u,e,a);return r&Ye.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(i<0?c.children.length-1:0,i,n,O,r)}}}if(r&Ye.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+i:e=i<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,i,n=0){let O;if(!(n&Ye.IgnoreOverlays)&&(O=DO.get(this._tree))&&O.overlay){let r=e-this.from,a=n&Ye.EnterBracketed&&O.bracketed;for(let{from:s,to:o}of O.overlay)if((i>0||a?s<=r:s<r)&&(i<0||a?o>=r:o>r))return new dt(O.tree,O.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,i,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function W$(t,e,i,n){let O=t.cursor(),r=[];if(!O.firstChild())return r;if(i!=null){for(let a=!1;!a;)if(a=O.type.is(i),!O.nextSibling())return r}for(;;){if(n!=null&&O.type.is(n))return r;if(O.type.is(e)&&r.push(O.node),!O.nextSibling())return n==null?r:[]}}function Vu(t,e,i=e.length-1){for(let n=t;i>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[i]&&e[i]!=n.name)return!1;i--}}return!0}class qT{constructor(e,i,n,O){this.parent=e,this.buffer=i,this.index=n,this.start=O}}class Ti extends NP{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,i,n){super(),this.context=e,this._parent=i,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,i,n){let{buffer:O}=this.context,r=O.findChild(this.index+4,O.buffer[this.index+3],e,i-this.context.start,n);return r<0?null:new Ti(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,i,n=0){if(n&Ye.ExcludeBuffers)return null;let{buffer:O}=this.context,r=O.findChild(this.index+4,O.buffer[this.index+3],i>0?1:-1,e-this.context.start,i);return r<0?null:new Ti(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,i=e.buffer[this.index+3];return i<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Ti(this.context,this._parent,i):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,i=this._parent?this._parent.index+4:0;return this.index==i?this.externalSibling(-1):new Ti(this.context,this._parent,e.findChild(i,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],i=[],{buffer:n}=this.context,O=this.index+4,r=n.buffer[this.index+3];if(r>O){let a=n.buffer[this.index+1];e.push(n.slice(O,r,a)),i.push(0)}return new Pe(this.type,e,i,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function IP(t){if(!t.length)return null;let e=0,i=t[0];for(let r=1;r<t.length;r++){let a=t[r];(a.from>i.from||a.to<i.to)&&(i=a,e=r)}let n=i instanceof dt&&i.index<0?null:i.parent,O=t.slice();return n?O[e]=n:O.splice(e,1),new VT(O,i)}class VT{constructor(e,i){this.heads=e,this.node=i}get next(){return IP(this.heads)}}function WT(t,e,i){let n=t.resolveInner(e,i),O=null;for(let r=n instanceof dt?n:n.context.parent;r;r=r.parent)if(r.index<0){let a=r.parent;(O||(O=[n])).push(a.resolve(e,i)),r=a}else{let a=DO.get(r.tree);if(a&&a.overlay&&a.overlay[0].from<=e&&a.overlay[a.overlay.length-1].to>=e){let s=new dt(a.tree,a.overlay[0].from+r.from,-1,r);(O||(O=[n])).push(aa(s,e,i,!1))}}return O?IP(O):n}class so{get name(){return this.type.name}constructor(e,i=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=i&~Ye.EnterBracketed,e instanceof dt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,i){this.index=e;let{start:n,buffer:O}=this.buffer;return this.type=i||O.set.types[O.buffer[e]],this.from=n+O.buffer[e+1],this.to=n+O.buffer[e+2],!0}yield(e){return e?e instanceof dt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,i,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,i,n,this.mode));let{buffer:O}=this.buffer,r=O.findChild(this.index+4,O.buffer[this.index+3],e,i-this.buffer.start,n);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,i,n=this.mode){return this.buffer?n&Ye.ExcludeBuffers?!1:this.enterChild(1,e,i):this.yield(this._tree.enter(e,i,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ye.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ye.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:i}=this.buffer,n=this.stack.length-1;if(e<0){let O=n<0?0:this.stack[n]+4;if(this.index!=O)return this.yieldBuf(i.findChild(O,this.index,-1,0,4))}else{let O=i.buffer[this.index+3];if(O<(n<0?i.buffer.length:i.buffer[this.stack[n]+3]))return this.yieldBuf(O)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let i,n,{buffer:O}=this;if(O){if(e>0){if(this.index<O.buffer.buffer.length)return!1}else for(let r=0;r<this.index;r++)if(O.buffer.buffer[r+3]<this.index)return!1;({index:i,parent:n}=O)}else({index:i,_parent:n}=this._tree);for(;n;{index:i,_parent:n}=n)if(i>-1)for(let r=i+e,a=e<0?-1:n._tree.children.length;r!=a;r+=e){let s=n._tree.children[r];if(this.mode&Ye.IncludeAnonymous||s instanceof yn||!s.type.isAnonymous||th(s))return!1}return!0}move(e,i){if(i&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,i=0){for(;(this.from==this.to||(i<1?this.from>=e:this.from>e)||(i>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,i););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,i=null,n=0;if(e&&e.context==this.buffer)e:for(let O=this.index,r=this.stack.length;r>=0;){for(let a=e;a;a=a._parent)if(a.index==O){if(O==this.index)return a;i=a,n=r+1;break e}O=this.stack[--r]}for(let O=n;O<this.stack.length;O++)i=new Ti(this.buffer,i,this.stack[O]);return this.bufferNode=new Ti(this.buffer,i,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,i){for(let n=0;;){let O=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(O=!0)}for(;;){if(O&&i&&i(this),O=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,O=!0}}}matchContext(e){if(!this.buffer)return Vu(this.node.parent,e);let{buffer:i}=this.buffer,{types:n}=i.set;for(let O=e.length-1,r=this.stack.length-1;O>=0;r--){if(r<0)return Vu(this._tree,e,O);let a=n[i.buffer[this.stack[r]]];if(!a.isAnonymous){if(e[O]&&e[O]!=a.name)return!1;O--}}return!0}}function th(t){return t.children.some(e=>e instanceof yn||!e.type.isAnonymous||th(e))}function jT(t){var e;let{buffer:i,nodeSet:n,maxBufferLength:O=GP,reused:r=[],minRepeatType:a=n.types.length}=t,s=Array.isArray(i)?new eh(i,i.length):i,o=n.types,l=0,c=0;function u(Y,U,V,G,D,E){let{id:_,start:R,end:T,size:y}=s,w=c,Z=l;if(y<0)if(s.next(),y==-1){let M=r[_];V.push(M),G.push(R-Y);return}else if(y==-3){l=_;return}else if(y==-4){c=_;return}else throw new RangeError(`Unrecognized record size: ${y}`);let X=o[_],A,q,W=R-Y;if(T-R<=O&&(q=P(s.pos-U,D))){let M=new Uint16Array(q.size-q.skip),ae=s.pos-q.size,ze=M.length;for(;s.pos>ae;)ze=m(q.start,M,ze);A=new yn(M,T-q.start,n),W=q.start-Y}else{let M=s.pos-y;s.next();let ae=[],ze=[],Te=_>=a?_:-1,v=0,le=T;for(;s.pos>M;)Te>=0&&s.id==Te&&s.size>=0?(s.end<=le-O&&(p(ae,ze,R,v,s.end,le,Te,w,Z),v=ae.length,le=s.end),s.next()):E>2500?f(R,M,ae,ze):u(R,M,ae,ze,Te,E+1);if(Te>=0&&v>0&&v<ae.length&&p(ae,ze,R,v,R,le,Te,w,Z),ae.reverse(),ze.reverse(),Te>-1&&v>0){let qe=d(X,Z);A=ih(X,ae,ze,0,ae.length,0,T-R,qe,qe)}else A=Q(X,ae,ze,T-R,w-T,Z)}V.push(A),G.push(W)}function f(Y,U,V,G){let D=[],E=0,_=-1;for(;s.pos>U;){let{id:R,start:T,end:y,size:w}=s;if(w>4)s.next();else{if(_>-1&&T<_)break;_<0&&(_=y-O),D.push(R,T,y),E++,s.next()}}if(E){let R=new Uint16Array(E*4),T=D[D.length-2];for(let y=D.length-3,w=0;y>=0;y-=3)R[w++]=D[y],R[w++]=D[y+1]-T,R[w++]=D[y+2]-T,R[w++]=w;V.push(new yn(R,D[2]-T,n)),G.push(T-Y)}}function d(Y,U){return(V,G,D)=>{let E=0,_=V.length-1,R,T;if(_>=0&&(R=V[_])instanceof Pe){if(!_&&R.type==Y&&R.length==D)return R;(T=R.prop(ue.lookAhead))&&(E=G[_]+R.length+T)}return Q(Y,V,G,D,E,U)}}function p(Y,U,V,G,D,E,_,R,T){let y=[],w=[];for(;Y.length>G;)y.push(Y.pop()),w.push(U.pop()+V-D);Y.push(Q(n.types[_],y,w,E-D,R-E,T)),U.push(D-V)}function Q(Y,U,V,G,D,E,_){if(E){let R=[ue.contextHash,E];_=_?[R].concat(_):[R]}if(D>25){let R=[ue.lookAhead,D];_=_?[R].concat(_):[R]}return new Pe(Y,U,V,G,_)}function P(Y,U){let V=s.fork(),G=0,D=0,E=0,_=V.end-O,R={size:0,start:0,skip:0};e:for(let T=V.pos-Y;V.pos>T;){let y=V.size;if(V.id==U&&y>=0){R.size=G,R.start=D,R.skip=E,E+=4,G+=4,V.next();continue}let w=V.pos-y;if(y<0||w<T||V.start<_)break;let Z=V.id>=a?4:0,X=V.start;for(V.next();V.pos>w;){if(V.size<0)if(V.size==-3||V.size==-4)Z+=4;else break e;else V.id>=a&&(Z+=4);V.next()}D=X,G+=y,E+=Z}return(U<0||G==Y)&&(R.size=G,R.start=D,R.skip=E),R.size>4?R:void 0}function m(Y,U,V){let{id:G,start:D,end:E,size:_}=s;if(s.next(),_>=0&&G<a){let R=V;if(_>4){let T=s.pos-(_-4);for(;s.pos>T;)V=m(Y,U,V)}U[--V]=R,U[--V]=E-Y,U[--V]=D-Y,U[--V]=G}else _==-3?l=G:_==-4&&(c=G);return V}let S=[],x=[];for(;s.pos>0;)u(t.start||0,t.bufferStart||0,S,x,-1,0);let z=(e=t.length)!==null&&e!==void 0?e:S.length?x[0]+S[0].length:0;return new Pe(o[t.topID],S.reverse(),x.reverse(),z)}const j$=new WeakMap;function Vs(t,e){if(!t.isAnonymous||e instanceof yn||e.type!=t)return 1;let i=j$.get(e);if(i==null){i=1;for(let n of e.children){if(n.type!=t||!(n instanceof Pe)){i=1;break}i+=Vs(t,n)}j$.set(e,i)}return i}function ih(t,e,i,n,O,r,a,s,o){let l=0;for(let p=n;p<O;p++)l+=Vs(t,e[p]);let c=Math.ceil(l*1.5/8),u=[],f=[];function d(p,Q,P,m,S){for(let x=P;x<m;){let z=x,Y=Q[x],U=Vs(t,p[x]);for(x++;x<m;x++){let V=Vs(t,p[x]);if(U+V>=c)break;U+=V}if(x==z+1){if(U>c){let V=p[z];d(V.children,V.positions,0,V.children.length,Q[z]+S);continue}u.push(p[z])}else{let V=Q[x-1]+p[x-1].length-Y;u.push(ih(t,p,Q,z,x,Y,V,null,o))}f.push(Y+S-r)}}return d(e,i,n,O,0),(s||o)(u,f,a)}class nh{constructor(){this.map=new WeakMap}setBuffer(e,i,n){let O=this.map.get(e);O||this.map.set(e,O=new Map),O.set(i,n)}getBuffer(e,i){let n=this.map.get(e);return n&&n.get(i)}set(e,i){e instanceof Ti?this.setBuffer(e.context.buffer,e.index,i):e instanceof dt&&this.map.set(e.tree,i)}get(e){return e instanceof Ti?this.getBuffer(e.context.buffer,e.index):e instanceof dt?this.map.get(e.tree):void 0}cursorSet(e,i){e.buffer?this.setBuffer(e.buffer.buffer,e.index,i):this.map.set(e.tree,i)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Fi{constructor(e,i,n,O,r=!1,a=!1){this.from=e,this.to=i,this.tree=n,this.offset=O,this.open=(r?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,i=[],n=!1){let O=[new Fi(0,e.length,e,0,!1,n)];for(let r of i)r.to>e.length&&O.push(r);return O}static applyChanges(e,i,n=128){if(!i.length)return e;let O=[],r=1,a=e.length?e[0]:null;for(let s=0,o=0,l=0;;s++){let c=s<i.length?i[s]:null,u=c?c.fromA:1e9;if(u-o>=n)for(;a&&a.from<u;){let f=a;if(o>=f.from||u<=f.to||l){let d=Math.max(f.from,o)-l,p=Math.min(f.to,u)-l;f=d>=p?null:new Fi(d,p,f.tree,f.offset+l,s>0,!!c)}if(f&&O.push(f),a.to>u)break;a=r<e.length?e[r++]:null}if(!c)break;o=c.toA,l=c.toA-c.toB}return O}}class Ao{startParse(e,i,n){return typeof e=="string"&&(e=new CT(e)),n=n?n.length?n.map(O=>new ei(O.from,O.to)):[new ei(0,0)]:[new ei(0,e.length)],this.createParse(e,i||[],n)}parse(e,i,n){let O=this.startParse(e,i,n);for(;;){let r=O.advance();if(r)return r}}}class CT{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,i){return this.string.slice(e,i)}}function Oh(t){return(e,i,n,O)=>new GT(e,t,i,n,O)}class C${constructor(e,i,n,O,r,a){this.parser=e,this.parse=i,this.overlay=n,this.bracketed=O,this.target=r,this.from=a}}function E$(t){if(!t.length||t.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}class ET{constructor(e,i,n,O,r,a,s,o){this.parser=e,this.predicate=i,this.mounts=n,this.index=O,this.start=r,this.bracketed=a,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const Wu=new ue({perNode:!0});class GT{constructor(e,i,n,O,r){this.nest=i,this.input=n,this.fragments=O,this.ranges=r,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let O of this.inner)O.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new Pe(n.type,n.children,n.positions,n.length,n.propValues.concat([[Wu,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],i=e.parse.advance();if(i){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[ue.mounted.id]=new DO(i,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let i=this.innerDone;i<this.inner.length;i++)this.inner[i].from<e&&(e=Math.min(e,this.inner[i].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let i=this.innerDone;i<this.inner.length;i++)this.inner[i].parse.stopAt(e)}startInner(){let e=new IT(this.fragments),i=null,n=null,O=new so(new dt(this.baseTree,this.ranges[0].from,0,null),Ye.IncludeAnonymous|Ye.IgnoreMounts);e:for(let r,a;;){let s=!0,o;if(this.stoppedAt!=null&&O.from>=this.stoppedAt)s=!1;else if(e.hasNode(O)){if(i){let l=i.mounts.find(c=>c.frag.from<=O.from&&c.frag.to>=O.to&&c.mount.overlay);if(l)for(let c of l.mount.overlay){let u=c.from+l.pos,f=c.to+l.pos;u>=O.from&&f<=O.to&&!i.ranges.some(d=>d.from<f&&d.to>u)&&i.ranges.push({from:u,to:f})}}s=!1}else if(n&&(a=AT(n.ranges,O.from,O.to)))s=a!=2;else if(!O.type.isAnonymous&&(r=this.nest(O,this.input))&&(O.from<O.to||!r.overlay)){O.tree||(NT(O),i&&i.depth++,n&&n.depth++);let l=e.findMounts(O.from,r.parser);if(typeof r.overlay=="function")i=new ET(r.parser,r.overlay,l,this.inner.length,O.from,!!r.bracketed,O.tree,i);else{let c=N$(this.ranges,r.overlay||(O.from<O.to?[new ei(O.from,O.to)]:[]));c.length&&E$(c),(c.length||!r.overlay)&&this.inner.push(new C$(r.parser,c.length?r.parser.startParse(this.input,I$(l,c),c):r.parser.startParse(""),r.overlay?r.overlay.map(u=>new ei(u.from-O.from,u.to-O.from)):null,!!r.bracketed,O.tree,c.length?c[0].from:O.from)),r.overlay?c.length&&(n={ranges:c,depth:0,prev:n}):s=!1}}else if(i&&(o=i.predicate(O))&&(o===!0&&(o=new ei(O.from,O.to)),o.from<o.to)){let l=i.ranges.length-1;l>=0&&i.ranges[l].to==o.from?i.ranges[l]={from:i.ranges[l].from,to:o.to}:i.ranges.push(o)}if(s&&O.firstChild())i&&i.depth++,n&&n.depth++;else for(;!O.nextSibling();){if(!O.parent())break e;if(i&&!--i.depth){let l=N$(this.ranges,i.ranges);l.length&&(E$(l),this.inner.splice(i.index,0,new C$(i.parser,i.parser.startParse(this.input,I$(i.mounts,l),l),i.ranges.map(c=>new ei(c.from-i.start,c.to-i.start)),i.bracketed,i.target,l[0].from))),i=i.prev}n&&!--n.depth&&(n=n.prev)}}}}function AT(t,e,i){for(let n of t){if(n.from>=i)break;if(n.to>e)return n.from<=e&&n.to>=i?2:1}return 0}function G$(t,e,i,n,O,r){if(e<i){let a=t.buffer[e+1];n.push(t.slice(e,i,a)),O.push(a-r)}}function NT(t){let{node:e}=t,i=[],n=e.context.buffer;do i.push(t.index),t.parent();while(!t.tree);let O=t.tree,r=O.children.indexOf(n),a=O.children[r],s=a.buffer,o=[r];function l(c,u,f,d,p,Q){let P=i[Q],m=[],S=[];G$(a,c,P,m,S,d);let x=s[P+1],z=s[P+2];o.push(m.length);let Y=Q?l(P+4,s[P+3],a.set.types[s[P]],x,z-x,Q-1):e.toTree();return m.push(Y),S.push(x-d),G$(a,s[P+3],u,m,S,d),new Pe(f,m,S,p)}O.children[r]=l(0,s.length,He.none,0,a.length,i.length-1);for(let c of o){let u=t.tree.children[c],f=t.tree.positions[c];t.yield(new dt(u,f+t.from,c,t._tree))}}class A${constructor(e,i){this.offset=i,this.done=!1,this.cursor=e.cursor(Ye.IncludeAnonymous|Ye.IgnoreMounts)}moveTo(e){let{cursor:i}=this,n=e-this.offset;for(;!this.done&&i.from<n;)i.to>=e&&i.enter(n,1,Ye.IgnoreOverlays|Ye.ExcludeBuffers)||i.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let i=this.cursor.tree;;){if(i==e.tree)return!0;if(i.children.length&&i.positions[0]==0&&i.children[0]instanceof Pe)i=i.children[0];else break}return!1}}let IT=class{constructor(e){var i;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(i=n.tree.prop(Wu))!==null&&i!==void 0?i:n.to,this.inner=new A$(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let i=this.curFrag=this.fragments[this.fragI];this.curTo=(e=i.tree.prop(Wu))!==null&&e!==void 0?e:i.to,this.inner=new A$(i.tree,-i.offset)}}findMounts(e,i){var n;let O=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let r=this.inner.cursor.node;r;r=r.parent){let a=(n=r.tree)===null||n===void 0?void 0:n.prop(ue.mounted);if(a&&a.parser==i)for(let s=this.fragI;s<this.fragments.length;s++){let o=this.fragments[s];if(o.from>=r.to)break;o.tree==this.curFrag.tree&&O.push({frag:o,pos:r.from-o.offset,mount:a})}}}return O}};function N$(t,e){let i=null,n=e;for(let O=1,r=0;O<t.length;O++){let a=t[O-1].to,s=t[O].from;for(;r<n.length;r++){let o=n[r];if(o.from>=s)break;o.to<=a||(i||(n=i=e.slice()),o.from<a?(i[r]=new ei(o.from,a),o.to>s&&i.splice(r+1,0,new ei(s,o.to))):o.to>s?i[r--]=new ei(s,o.to):i.splice(r--,1))}}return n}function LT(t,e,i,n){let O=0,r=0,a=!1,s=!1,o=-1e9,l=[];for(;;){let c=O==t.length?1e9:a?t[O].to:t[O].from,u=r==e.length?1e9:s?e[r].to:e[r].from;if(a!=s){let f=Math.max(o,i),d=Math.min(c,u,n);f<d&&l.push(new ei(f,d))}if(o=Math.min(c,u),o==1e9)break;c==o&&(a?(a=!1,O++):a=!0),u==o&&(s?(s=!1,r++):s=!0)}return l}function I$(t,e){let i=[];for(let{pos:n,mount:O,frag:r}of t){let a=n+(O.overlay?O.overlay[0].from:0),s=a+O.tree.length,o=Math.max(r.from,a),l=Math.min(r.to,s);if(O.overlay){let c=O.overlay.map(f=>new ei(f.from+n,f.to+n)),u=LT(e,c,o,l);for(let f=0,d=o;;f++){let p=f==u.length,Q=p?l:u[f].from;if(Q>d&&i.push(new Fi(d,Q,O.tree,-a,r.from>=d||r.openStart,r.to<=Q||r.openEnd)),p)break;d=u[f].to}}else i.push(new Fi(o,l,O.tree,-a,r.from>=a||r.openStart,r.to<=s||r.openEnd))}return i}let DT=0,yi=class ju{constructor(e,i,n,O){this.name=e,this.set=i,this.base=n,this.modified=O,this.id=DT++}toString(){let{name:e}=this;for(let i of this.modified)i.name&&(e=`${i.name}(${e})`);return e}static define(e,i){let n=typeof e=="string"?e:"?";if(e instanceof ju&&(i=e),i!=null&&i.base)throw new Error("Can not derive from a modified tag");let O=new ju(n,[],null,[]);if(O.set.push(O),i)for(let r of i.set)O.set.push(r);return O}static defineModifier(e){let i=new oo(e);return n=>n.modified.indexOf(i)>-1?n:oo.get(n.base||n,n.modified.concat(i).sort((O,r)=>O.id-r.id))}},MT=0;class oo{constructor(e){this.name=e,this.instances=[],this.id=MT++}static get(e,i){if(!i.length)return e;let n=i[0].instances.find(s=>s.base==e&&BT(i,s.modified));if(n)return n;let O=[],r=new yi(e.name,O,e,i);for(let s of i)s.instances.push(r);let a=FT(i);for(let s of e.set)if(!s.modified.length)for(let o of a)O.push(oo.get(s,o));return r}}function BT(t,e){return t.length==e.length&&t.every((i,n)=>i==e[n])}function FT(t){let e=[[]];for(let i=0;i<t.length;i++)for(let n=0,O=e.length;n<O;n++)e.push(e[n].concat(t[i]));return e.sort((i,n)=>n.length-i.length)}function xt(t){let e=Object.create(null);for(let i in t){let n=t[i];Array.isArray(n)||(n=[n]);for(let O of i.split(" "))if(O){let r=[],a=2,s=O;for(let u=0;;){if(s=="..."&&u>0&&u+3==O.length){a=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!f)throw new RangeError("Invalid path: "+O);if(r.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),u+=f[0].length,u==O.length)break;let d=O[u++];if(u==O.length&&d=="!"){a=0;break}if(d!="/")throw new RangeError("Invalid path: "+O);s=O.slice(u)}let o=r.length-1,l=r[o];if(!l)throw new RangeError("Invalid path: "+O);let c=new sa(n,a,o>0?r.slice(0,o):null);e[l]=c.sort(e[l])}}return LP.add(e)}const LP=new ue({combine(t,e){let i,n,O;for(;t||e;){if(!t||e&&t.depth>=e.depth?(O=e,e=e.next):(O=t,t=t.next),i&&i.mode==O.mode&&!O.context&&!i.context)continue;let r=new sa(O.tags,O.mode,O.context);i?i.next=r:n=r,i=r}return n}});let sa=class{constructor(e,i,n,O){this.tags=e,this.mode=i,this.context=n,this.next=O}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};sa.empty=new sa([],2,null);function DP(t,e){let i=Object.create(null);for(let r of t)if(!Array.isArray(r.tag))i[r.tag.id]=r.class;else for(let a of r.tag)i[a.id]=r.class;let{scope:n,all:O=null}=e||{};return{style:r=>{let a=O;for(let s of r)for(let o of s.set){let l=i[o.id];if(l){a=a?a+" "+l:l;break}}return a},scope:n}}function HT(t,e){let i=null;for(let n of t){let O=n.style(e);O&&(i=i?i+" "+O:O)}return i}function KT(t,e,i,n=0,O=t.length){let r=new JT(n,Array.isArray(e)?e:[e],i);r.highlightRange(t.cursor(),n,O,"",r.highlighters),r.flush(O)}class JT{constructor(e,i,n){this.at=e,this.highlighters=i,this.span=n,this.class=""}startSpan(e,i){i!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=i)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,i,n,O,r){let{type:a,from:s,to:o}=e;if(s>=n||o<=i)return;a.isTop&&(r=this.highlighters.filter(d=>!d.scope||d.scope(a)));let l=O,c=ev(e)||sa.empty,u=HT(r,c.tags);if(u&&(l&&(l+=" "),l+=u,c.mode==1&&(O+=(O?" ":"")+u)),this.startSpan(Math.max(i,s),l),c.opaque)return;let f=e.tree&&e.tree.prop(ue.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+s,1),p=this.highlighters.filter(P=>!P.scope||P.scope(f.tree.type)),Q=e.firstChild();for(let P=0,m=s;;P++){let S=P<f.overlay.length?f.overlay[P]:null,x=S?S.from+s:o,z=Math.max(i,m),Y=Math.min(n,x);if(z<Y&&Q)for(;e.from<Y&&(this.highlightRange(e,z,Y,O,r),this.startSpan(Math.min(Y,e.to),l),!(e.to>=x||!e.nextSibling())););if(!S||x>n)break;m=S.to+s,m>i&&(this.highlightRange(d.cursor(),Math.max(i,S.from+s),Math.min(n,m),"",p),this.startSpan(Math.min(n,m),l))}Q&&e.parent()}else if(e.firstChild()){f&&(O="");do if(!(e.to<=i)){if(e.from>=n)break;this.highlightRange(e,i,n,O,r),this.startSpan(Math.min(n,e.to),l)}while(e.nextSibling());e.parent()}}}function ev(t){let e=t.type.prop(LP);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const B=yi.define,ls=B(),un=B(),L$=B(un),D$=B(un),fn=B(),cs=B(fn),Kl=B(fn),Si=B(),zn=B(Si),mi=B(),gi=B(),Cu=B(),xr=B(Cu),us=B(),$={comment:ls,lineComment:B(ls),blockComment:B(ls),docComment:B(ls),name:un,variableName:B(un),typeName:L$,tagName:B(L$),propertyName:D$,attributeName:B(D$),className:B(un),labelName:B(un),namespace:B(un),macroName:B(un),literal:fn,string:cs,docString:B(cs),character:B(cs),attributeValue:B(cs),number:Kl,integer:B(Kl),float:B(Kl),bool:B(fn),regexp:B(fn),escape:B(fn),color:B(fn),url:B(fn),keyword:mi,self:B(mi),null:B(mi),atom:B(mi),unit:B(mi),modifier:B(mi),operatorKeyword:B(mi),controlKeyword:B(mi),definitionKeyword:B(mi),moduleKeyword:B(mi),operator:gi,derefOperator:B(gi),arithmeticOperator:B(gi),logicOperator:B(gi),bitwiseOperator:B(gi),compareOperator:B(gi),updateOperator:B(gi),definitionOperator:B(gi),typeOperator:B(gi),controlOperator:B(gi),punctuation:Cu,separator:B(Cu),bracket:xr,angleBracket:B(xr),squareBracket:B(xr),paren:B(xr),brace:B(xr),content:Si,heading:zn,heading1:B(zn),heading2:B(zn),heading3:B(zn),heading4:B(zn),heading5:B(zn),heading6:B(zn),contentSeparator:B(Si),list:B(Si),quote:B(Si),emphasis:B(Si),strong:B(Si),link:B(Si),monospace:B(Si),strikethrough:B(Si),inserted:B(),deleted:B(),changed:B(),invalid:B(),meta:us,documentMeta:B(us),annotation:B(us),processingInstruction:B(us),definition:yi.defineModifier("definition"),constant:yi.defineModifier("constant"),function:yi.defineModifier("function"),standard:yi.defineModifier("standard"),local:yi.defineModifier("local"),special:yi.defineModifier("special")};for(let t in $){let e=$[t];e instanceof yi&&(e.name=t)}DP([{tag:$.link,class:"tok-link"},{tag:$.heading,class:"tok-heading"},{tag:$.emphasis,class:"tok-emphasis"},{tag:$.strong,class:"tok-strong"},{tag:$.keyword,class:"tok-keyword"},{tag:$.atom,class:"tok-atom"},{tag:$.bool,class:"tok-bool"},{tag:$.url,class:"tok-url"},{tag:$.labelName,class:"tok-labelName"},{tag:$.inserted,class:"tok-inserted"},{tag:$.deleted,class:"tok-deleted"},{tag:$.literal,class:"tok-literal"},{tag:$.string,class:"tok-string"},{tag:$.number,class:"tok-number"},{tag:[$.regexp,$.escape,$.special($.string)],class:"tok-string2"},{tag:$.variableName,class:"tok-variableName"},{tag:$.local($.variableName),class:"tok-variableName tok-local"},{tag:$.definition($.variableName),class:"tok-variableName tok-definition"},{tag:$.special($.variableName),class:"tok-variableName2"},{tag:$.definition($.propertyName),class:"tok-propertyName tok-definition"},{tag:$.typeName,class:"tok-typeName"},{tag:$.namespace,class:"tok-namespace"},{tag:$.className,class:"tok-className"},{tag:$.macroName,class:"tok-macroName"},{tag:$.propertyName,class:"tok-propertyName"},{tag:$.operator,class:"tok-operator"},{tag:$.comment,class:"tok-comment"},{tag:$.meta,class:"tok-meta"},{tag:$.invalid,class:"tok-invalid"},{tag:$.punctuation,class:"tok-punctuation"}]);var Jl;const $n=new ue;function No(t){return J.define({combine:t?e=>e.concat(t):void 0})}const rh=new ue;class Nt{constructor(e,i,n=[],O=""){this.data=e,this.name=O,ye.prototype.hasOwnProperty("tree")||Object.defineProperty(ye.prototype,"tree",{get(){return Ze(this)}}),this.parser=i,this.extension=[xn.of(this),ye.languageData.of((r,a,s)=>{let o=M$(r,a,s),l=o.type.prop($n);if(!l)return[];let c=r.facet(l),u=o.type.prop(rh);if(u){let f=o.resolve(a-o.from,s);for(let d of u)if(d.test(f,r)){let p=r.facet(d.facet);return d.type=="replace"?p:p.concat(c)}}return c})].concat(n)}isActiveAt(e,i,n=-1){return M$(e,i,n).type.prop($n)==this.data}findRegions(e){let i=e.facet(xn);if((i==null?void 0:i.data)==this.data)return[{from:0,to:e.doc.length}];if(!i||!i.allowsNesting)return[];let n=[],O=(r,a)=>{if(r.prop($n)==this.data){n.push({from:a,to:a+r.length});return}let s=r.prop(ue.mounted);if(s){if(s.tree.prop($n)==this.data){if(s.overlay)for(let o of s.overlay)n.push({from:o.from+a,to:o.to+a});else n.push({from:a,to:a+r.length});return}else if(s.overlay){let o=n.length;if(O(s.tree,s.overlay[0].from+a),n.length>o)return}}for(let o=0;o<r.children.length;o++){let l=r.children[o];l instanceof Pe&&O(l,r.positions[o]+a)}};return O(Ze(e),0),n}get allowsNesting(){return!0}}Nt.setState=Xe.define();function M$(t,e,i){let n=t.facet(xn),O=Ze(t).topNode;if(!n||n.allowsNesting)for(let r=O;r;r=r.enter(e,i,Ye.ExcludeBuffers|Ye.EnterBracketed))r.type.isTop&&(O=r);return O}class bt extends Nt{constructor(e,i,n){super(e,i,[],n),this.parser=i}static define(e){let i=No(e.languageData);return new bt(i,e.parser.configure({props:[$n.add(n=>n.isTop?i:void 0)]}),e.name)}configure(e,i){return new bt(this.data,this.parser.configure(e),i||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Ze(t){let e=t.field(Nt.state,!1);return e?e.tree:Pe.empty}class tv{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,i){let n=this.cursorPos-this.string.length;return e<n||i>=this.cursorPos?this.doc.sliceString(e,i):this.string.slice(e-n,i-n)}}let Xr=null;class iO{constructor(e,i,n=[],O,r,a,s,o){this.parser=e,this.state=i,this.fragments=n,this.tree=O,this.treeLen=r,this.viewport=a,this.skipped=s,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,i,n){return new iO(e,i,[],Pe.empty,0,n,[],null)}startParse(){return this.parser.startParse(new tv(this.state.doc),this.fragments)}work(e,i){return i!=null&&i>=this.state.doc.length&&(i=void 0),this.tree!=Pe.empty&&this.isDone(i??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let O=Date.now()+e;e=()=>Date.now()>O}for(this.parse||(this.parse=this.startParse()),i!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>i)&&i<this.state.doc.length&&this.parse.stopAt(i);;){let O=this.parse.advance();if(O)if(this.fragments=this.withoutTempSkipped(Fi.addTree(O,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=O,this.parse=null,this.treeLen<(i??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,i;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(i=this.parse.advance()););}),this.treeLen=e,this.tree=i,this.fragments=this.withoutTempSkipped(Fi.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let i=Xr;Xr=this;try{return e()}finally{Xr=i}}withoutTempSkipped(e){for(let i;i=this.tempSkipped.pop();)e=B$(e,i.from,i.to);return e}changes(e,i){let{fragments:n,tree:O,treeLen:r,viewport:a,skipped:s}=this;if(this.takeTree(),!e.empty){let o=[];if(e.iterChangedRanges((l,c,u,f)=>o.push({fromA:l,toA:c,fromB:u,toB:f})),n=Fi.applyChanges(n,o),O=Pe.empty,r=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){s=[];for(let l of this.skipped){let c=e.mapPos(l.from,1),u=e.mapPos(l.to,-1);c<u&&s.push({from:c,to:u})}}}return new iO(this.parser,i,n,O,r,a,s,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let i=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:O,to:r}=this.skipped[n];O<e.to&&r>e.from&&(this.fragments=B$(this.fragments,O,r),this.skipped.splice(n--,1))}return this.skipped.length>=i?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,i){this.skipped.push({from:e,to:i})}static getSkippingParser(e){return new class extends Ao{createParse(i,n,O){let r=O[0].from,a=O[O.length-1].to;return{parsedPos:r,advance(){let o=Xr;if(o){for(let l of O)o.tempSkipped.push(l);e&&(o.scheduleOn=o.scheduleOn?Promise.all([o.scheduleOn,e]):e)}return this.parsedPos=a,new Pe(He.none,[],[],a-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let i=this.fragments;return this.treeLen>=e&&i.length&&i[0].from==0&&i[0].to>=e}static get(){return Xr}}function B$(t,e,i){return Fi.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class nr{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let i=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),i.viewport.to);return i.work(20,n)||i.takeTree(),new nr(i)}static init(e){let i=Math.min(3e3,e.doc.length),n=iO.create(e.facet(xn).parser,e,{from:0,to:i});return n.work(20,i)||n.takeTree(),new nr(n)}}Nt.state=Lt.define({create:nr.init,update(t,e){for(let i of e.effects)if(i.is(Nt.setState))return i.value;return e.startState.facet(xn)!=e.state.facet(xn)?nr.init(e.state):t.apply(e)}});let MP=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(MP=t=>{let e=-1,i=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)});const ec=typeof navigator<"u"&&(!((Jl=navigator.scheduling)===null||Jl===void 0)&&Jl.isInputPending)?()=>navigator.scheduling.isInputPending():null,iv=St.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let i=this.view.state.field(Nt.state).context;(i.updateViewport(e.view.viewport)||this.view.viewport.to>i.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(i)}scheduleWork(){if(this.working)return;let{state:e}=this.view,i=e.field(Nt.state);(i.tree!=i.context.tree||!i.context.isDone(e.doc.length))&&(this.working=MP(this.work))}work(e){this.working=null;let i=Date.now();if(this.chunkEnd<i&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=i+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:O}}=this.view,r=n.field(Nt.state);if(r.tree==r.context.tree&&r.context.isDone(O+1e5))return;let a=Date.now()+Math.min(this.chunkBudget,100,e&&!ec?Math.max(25,e.timeRemaining()-5):1e9),s=r.context.treeLen<O&&n.doc.length>O+1e3,o=r.context.work(()=>ec&&ec()||Date.now()>a,O+(s?0:1e5));this.chunkBudget-=Date.now()-i,(o||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:Nt.setState.of(new nr(r.context))})),this.chunkBudget>0&&!(o&&!s)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(i=>ki(this.view.state,i)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),xn=J.define({combine(t){return t.length?t[0]:null},enables:t=>[Nt.state,iv,K.contentAttributes.compute([t],e=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}})]});class Ut{constructor(e,i=[]){this.language=e,this.support=i,this.extension=[e,i]}}class lo{constructor(e,i,n,O,r,a=void 0){this.name=e,this.alias=i,this.extensions=n,this.filename=O,this.loadFunc=r,this.support=a,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:i,support:n}=e;if(!i){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");i=()=>Promise.resolve(n)}return new lo(e.name,(e.alias||[]).concat(e.name).map(O=>O.toLowerCase()),e.extensions||[],e.filename,i,n)}static matchFilename(e,i){for(let O of e)if(O.filename&&O.filename.test(i))return O;let n=/\.([^.]+)$/.exec(i);if(n){for(let O of e)if(O.extensions.indexOf(n[1])>-1)return O}return null}static matchLanguageName(e,i,n=!0){i=i.toLowerCase();for(let O of e)if(O.alias.some(r=>r==i))return O;if(n)for(let O of e)for(let r of O.alias){let a=i.indexOf(r);if(a>-1&&(r.length>2||!/\w/.test(i[a-1])&&!/\w/.test(i[a+r.length])))return O}return null}}const nv=J.define(),va=J.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(i=>i!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function nO(t){let e=t.facet(va);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function oa(t,e){let i="",n=t.tabSize,O=t.facet(va)[0];if(O==" "){for(;e>=n;)i+=" ",e-=n;O=" "}for(let r=0;r<e;r++)i+=O;return i}function ah(t,e){t instanceof ye&&(t=new Io(t));for(let n of t.state.facet(nv)){let O=n(t,e);if(O!==void 0)return O}let i=Ze(t.state);return i.length>=e?Ov(t,i,e):null}class Io{constructor(e,i={}){this.state=e,this.options=i,this.unit=nO(e)}lineAt(e,i=1){let n=this.state.doc.lineAt(e),{simulateBreak:O,simulateDoubleBreak:r}=this.options;return O!=null&&O>=n.from&&O<=n.to?r&&O==e?{text:"",from:e}:(i<0?O<e:O<=e)?{text:n.text.slice(O-n.from),from:O}:{text:n.text.slice(0,O-n.from),from:n.from}:n}textAfterPos(e,i=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:O}=this.lineAt(e,i);return n.slice(e-O,Math.min(n.length,e+100-O))}column(e,i=1){let{text:n,from:O}=this.lineAt(e,i),r=this.countColumn(n,e-O),a=this.options.overrideIndentation?this.options.overrideIndentation(O):-1;return a>-1&&(r+=a-this.countColumn(n,n.search(/\S|$/))),r}countColumn(e,i=e.length){return zi(e,this.state.tabSize,i)}lineIndent(e,i=1){let{text:n,from:O}=this.lineAt(e,i),r=this.options.overrideIndentation;if(r){let a=r(O);if(a>-1)return a}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xt=new ue;function Ov(t,e,i){let n=e.resolveStack(i),O=e.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(O!=n.node){let r=[];for(let a=O;a&&!(a.from<n.node.from||a.to>n.node.to||a.from==n.node.from&&a.type==n.node.type);a=a.parent)r.push(a);for(let a=r.length-1;a>=0;a--)n={node:r[a],next:n}}return BP(n,t,i)}function BP(t,e,i){for(let n=t;n;n=n.next){let O=av(n.node);if(O)return O(sh.create(e,i,n))}return 0}function rv(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function av(t){let e=t.type.prop(Xt);if(e)return e;let i=t.firstChild,n;if(i&&(n=i.type.prop(ue.closedBy))){let O=t.lastChild,r=O&&n.indexOf(O.name)>-1;return a=>FP(a,!0,1,void 0,r&&!rv(a)?O.from:void 0)}return t.parent==null?sv:null}function sv(){return 0}class sh extends Io{constructor(e,i,n){super(e.state,e.options),this.base=e,this.pos=i,this.context=n}get node(){return this.context.node}static create(e,i,n){return new sh(e,i,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let i=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(i.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(ov(n,e))break;i=this.state.doc.lineAt(n.from)}return this.lineIndent(i.from)}continue(){return BP(this.context.next,this.base,this.pos)}}function ov(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function lv(t){let e=t.node,i=e.childAfter(e.from),n=e.lastChild;if(!i)return null;let O=t.options.simulateBreak,r=t.state.doc.lineAt(i.from),a=O==null||O<=r.from?r.to:Math.min(r.to,O);for(let s=i.to;;){let o=e.childAfter(s);if(!o||o==n)return null;if(!o.type.isSkipped){if(o.from>=a)return null;let l=/^ */.exec(r.text.slice(i.to-r.from))[0].length;return{from:i.from,to:i.to+l}}s=o.to}}function Hi({closing:t,align:e=!0,units:i=1}){return n=>FP(n,e,i,t)}function FP(t,e,i,n,O){let r=t.textAfter,a=r.match(/^\s*/)[0].length,s=n&&r.slice(a,a+n.length)==n||O==t.pos+a,o=e?lv(t):null;return o?s?t.column(o.from):t.column(o.to):t.baseIndent+(s?0:t.unit*i)}const oh=t=>t.baseIndent;function Ot({except:t,units:e=1}={}){return i=>{let n=t&&t.test(i.textAfter);return i.baseIndent+(n?0:e*i.unit)}}const cv=200;function y7(){return ye.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let i=t.newDoc,{head:n}=t.newSelection.main,O=i.lineAt(n);if(n>O.from+cv)return t;let r=i.sliceString(O.from,n);if(!e.some(l=>l.test(r)))return t;let{state:a}=t,s=-1,o=[];for(let{head:l}of a.selection.ranges){let c=a.doc.lineAt(l);if(c.from==s)continue;s=c.from;let u=ah(a,c.from);if(u==null)continue;let f=/^\s*/.exec(c.text)[0],d=oa(a,u);f!=d&&o.push({from:c.from,to:c.from+f.length,insert:d})}return o.length?[t,{changes:o,sequential:!0}]:t})}const HP=J.define(),wt=new ue;function rn(t){let e=t.firstChild,i=t.lastChild;return e&&e.to<i.from?{from:e.to,to:i.type.isError?t.to:i.from}:null}function uv(t,e,i){let n=Ze(t);if(n.length<i)return null;let O=n.resolveStack(i,1),r=null;for(let a=O;a;a=a.next){let s=a.node;if(s.to<=i||s.from>i)continue;if(r&&s.from<e)break;let o=s.type.prop(wt);if(o&&(s.to<n.length-50||n.length==t.doc.length||!fv(s))){let l=o(s,t);l&&l.from<=i&&l.from>=e&&l.to>i&&(r=l)}}return r}function fv(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function co(t,e,i){for(let n of t.facet(HP)){let O=n(t,e,i);if(O)return O}return uv(t,e,i)}function KP(t,e){let i=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);return i>=n?void 0:{from:i,to:n}}const Lo=Xe.define({map:KP}),_a=Xe.define({map:KP});function JP(t){let e=[];for(let{head:i}of t.state.selection.ranges)e.some(n=>n.from<=i&&n.to>=i)||e.push(t.lineBlockAt(i));return e}const OO=Lt.define({create(){return he.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,n)=>t=F$(t,i,n)),t=t.map(e.changes);for(let i of e.effects)if(i.is(Lo)&&!hv(t,i.value.from,i.value.to)){let{preparePlaceholder:n}=e.state.facet(iS),O=n?he.replace({widget:new Pv(n(e.state,i.value))}):H$;t=t.update({add:[O.range(i.value.from,i.value.to)]})}else i.is(_a)&&(t=t.update({filter:(n,O)=>i.value.from!=n||i.value.to!=O,filterFrom:i.value.from,filterTo:i.value.to}));return e.selection&&(t=F$(t,e.selection.main.head)),t},provide:t=>K.decorations.from(t),toJSON(t,e){let i=[];return t.between(0,e.doc.length,(n,O)=>{i.push(n,O)}),i},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let i=0;i<t.length;){let n=t[i++],O=t[i++];if(typeof n!="number"||typeof O!="number")throw new RangeError("Invalid JSON for fold state");e.push(H$.range(n,O))}return he.set(e,!0)}});function F$(t,e,i=e){let n=!1;return t.between(e,i,(O,r)=>{O<i&&r>e&&(n=!0)}),n?t.update({filterFrom:e,filterTo:i,filter:(O,r)=>O>=i||r<=e}):t}function uo(t,e,i){var n;let O=null;return(n=t.field(OO,!1))===null||n===void 0||n.between(e,i,(r,a)=>{(!O||O.from>r)&&(O={from:r,to:a})}),O}function hv(t,e,i){let n=!1;return t.between(e,e,(O,r)=>{O==e&&r==i&&(n=!0)}),n}function eS(t,e){return t.field(OO,!1)?e:e.concat(Xe.appendConfig.of(nS()))}const dv=t=>{for(let e of JP(t)){let i=co(t.state,e.from,e.to);if(i)return t.dispatch({effects:eS(t.state,[Lo.of(i),tS(t,i)])}),!0}return!1},$v=t=>{if(!t.state.field(OO,!1))return!1;let e=[];for(let i of JP(t)){let n=uo(t.state,i.from,i.to);n&&e.push(_a.of(n),tS(t,n,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function tS(t,e,i=!0){let n=t.state.doc.lineAt(e.from).number,O=t.state.doc.lineAt(e.to).number;return K.announce.of(`${t.state.phrase(i?"Folded lines":"Unfolded lines")} ${n} ${t.state.phrase("to")} ${O}.`)}const pv=t=>{let{state:e}=t,i=[];for(let n=0;n<e.doc.length;){let O=t.lineBlockAt(n),r=co(e,O.from,O.to);r&&i.push(Lo.of(r)),n=(r?t.lineBlockAt(r.to):O).to+1}return i.length&&t.dispatch({effects:eS(t.state,i)}),!!i.length},Qv=t=>{let e=t.state.field(OO,!1);if(!e||!e.size)return!1;let i=[];return e.between(0,t.state.doc.length,(n,O)=>{i.push(_a.of({from:n,to:O}))}),t.dispatch({effects:i}),!0},mv=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:dv},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:$v},{key:"Ctrl-Alt-[",run:pv},{key:"Ctrl-Alt-]",run:Qv}],gv={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},iS=J.define({combine(t){return uO(t,gv)}});function nS(t){return[OO,yv]}function OS(t,e){let{state:i}=t,n=i.facet(iS),O=a=>{let s=t.lineBlockAt(t.posAtDOM(a.target)),o=uo(t.state,s.from,s.to);o&&t.dispatch({effects:_a.of(o)}),a.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(t,O,e);let r=document.createElement("span");return r.textContent=n.placeholderText,r.setAttribute("aria-label",i.phrase("folded code")),r.title=i.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=O,r}const H$=he.replace({widget:new class extends fO{toDOM(t){return OS(t,null)}}});class Pv extends fO{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return OS(e,this.value)}}const Sv={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class tc extends Ji{constructor(e,i){super(),this.config=e,this.open=i}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let i=document.createElement("span");return i.textContent=this.open?this.config.openText:this.config.closedText,i.title=e.state.phrase(this.open?"Fold line":"Unfold line"),i}}function bv(t={}){let e={...Sv,...t},i=new tc(e,!0),n=new tc(e,!1),O=St.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(xn)!=a.state.facet(xn)||a.startState.field(OO,!1)!=a.state.field(OO,!1)||Ze(a.startState)!=Ze(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let s=new Kn;for(let o of a.viewportLineBlocks){let l=uo(a.state,o.from,o.to)?n:co(a.state,o.from,o.to)?i:null;l&&s.add(o.from,o.from,l)}return s.finish()}}),{domEventHandlers:r}=e;return[O,yT({class:"cm-foldGutter",markers(a){var s;return((s=a.plugin(O))===null||s===void 0?void 0:s.markers)||Se.empty},initialSpacer(){return new tc(e,!1)},domEventHandlers:{...r,click:(a,s,o)=>{if(r.click&&r.click(a,s,o))return!0;let l=uo(a.state,s.from,s.to);if(l)return a.dispatch({effects:_a.of(l)}),!0;let c=co(a.state,s.from,s.to);return c?(a.dispatch({effects:Lo.of(c)}),!0):!1}}}),nS()]}const yv=K.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Ra{constructor(e,i){this.specs=e;let n;function O(s){let o=Pn.newName();return(n||(n=Object.create(null)))["."+o]=s,o}const r=typeof i.all=="string"?i.all:i.all?O(i.all):void 0,a=i.scope;this.scope=a instanceof Nt?s=>s.prop($n)==a.data:a?s=>s==a:void 0,this.style=DP(e.map(s=>({tag:s.tag,class:s.class||O(Object.assign({},s,{tag:null}))})),{all:r}).style,this.module=n?new Pn(n):null,this.themeType=i.themeType}static define(e,i){return new Ra(e,i||{})}}const Eu=J.define(),rS=J.define({combine(t){return t.length?[t[0]]:null}});function ic(t){let e=t.facet(Eu);return e.length?e:t.facet(rS)}function aS(t,e){let i=[Xv],n;return t instanceof Ra&&(t.module&&i.push(K.styleModule.of(t.module)),n=t.themeType),e!=null&&e.fallback?i.push(rS.of(t)):n?i.push(Eu.computeN([K.darkTheme],O=>O.facet(K.darkTheme)==(n=="dark")?[t]:[])):i.push(Eu.of(t)),i}class xv{constructor(e){this.markCache=Object.create(null),this.tree=Ze(e.state),this.decorations=this.buildDeco(e,ic(e.state)),this.decoratedTo=e.viewport.to}update(e){let i=Ze(e.state),n=ic(e.state),O=n!=ic(e.startState),{viewport:r}=e.view,a=e.changes.mapPos(this.decoratedTo,1);i.length<r.to&&!O&&i.type==this.tree.type&&a>=r.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(i!=this.tree||e.viewportChanged||O)&&(this.tree=i,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=r.to)}buildDeco(e,i){if(!i||!this.tree.length)return he.none;let n=new Kn;for(let{from:O,to:r}of e.visibleRanges)KT(this.tree,i,(a,s,o)=>{n.add(a,s,this.markCache[o]||(this.markCache[o]=he.mark({class:o})))},O,r);return n.finish()}}const Xv=cO.high(St.fromClass(xv,{decorations:t=>t.decorations})),wv=Ra.define([{tag:$.meta,color:"#404740"},{tag:$.link,textDecoration:"underline"},{tag:$.heading,textDecoration:"underline",fontWeight:"bold"},{tag:$.emphasis,fontStyle:"italic"},{tag:$.strong,fontWeight:"bold"},{tag:$.strikethrough,textDecoration:"line-through"},{tag:$.keyword,color:"#708"},{tag:[$.atom,$.bool,$.url,$.contentSeparator,$.labelName],color:"#219"},{tag:[$.literal,$.inserted],color:"#164"},{tag:[$.string,$.deleted],color:"#a11"},{tag:[$.regexp,$.escape,$.special($.string)],color:"#e40"},{tag:$.definition($.variableName),color:"#00f"},{tag:$.local($.variableName),color:"#30a"},{tag:[$.typeName,$.namespace],color:"#085"},{tag:$.className,color:"#167"},{tag:[$.special($.variableName),$.macroName],color:"#256"},{tag:$.definition($.propertyName),color:"#00c"},{tag:$.comment,color:"#940"},{tag:$.invalid,color:"#f00"}]),kv=K.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),sS=1e4,oS="()[]{}",lS=J.define({combine(t){return uO(t,{afterCursor:!0,brackets:oS,maxScanDistance:sS,renderMatch:_v})}}),Tv=he.mark({class:"cm-matchingBracket"}),vv=he.mark({class:"cm-nonmatchingBracket"});function _v(t){let e=[],i=t.matched?Tv:vv;return e.push(i.range(t.start.from,t.start.to)),t.end&&e.push(i.range(t.end.from,t.end.to)),e}function K$(t){let e=[],i=t.facet(lS);for(let n of t.selection.ranges){if(!n.empty)continue;let O=vi(t,n.head,-1,i)||n.head>0&&vi(t,n.head-1,1,i)||i.afterCursor&&(vi(t,n.head,1,i)||n.head<t.doc.length&&vi(t,n.head+1,-1,i));O&&(e=e.concat(i.renderMatch(O,t)))}return he.set(e,!0)}const Rv=St.fromClass(class{constructor(t){this.paused=!1,this.decorations=K$(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=K$(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),Yv=[Rv,kv];function Zv(t={}){return[lS.of(t),Yv]}const lh=new ue;function Gu(t,e,i){let n=t.prop(e<0?ue.openedBy:ue.closedBy);if(n)return n;if(t.name.length==1){let O=i.indexOf(t.name);if(O>-1&&O%2==(e<0?1:0))return[i[O+e]]}return null}function Au(t){let e=t.type.prop(lh);return e?e(t.node):t}function vi(t,e,i,n={}){let O=n.maxScanDistance||sS,r=n.brackets||oS,a=Ze(t),s=a.resolveInner(e,i);for(let o=s;o;o=o.parent){let l=Gu(o.type,i,r);if(l&&o.from<o.to){let c=Au(o);if(c&&(i>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return zv(t,e,i,o,c,l,r)}}return Uv(t,e,i,a,s.type,O,r)}function zv(t,e,i,n,O,r,a){let s=n.parent,o={from:O.from,to:O.to},l=0,c=s==null?void 0:s.cursor();if(c&&(i<0?c.childBefore(n.from):c.childAfter(n.to)))do if(i<0?c.to<=n.from:c.from>=n.to){if(l==0&&r.indexOf(c.type.name)>-1&&c.from<c.to){let u=Au(c);return{start:o,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(Gu(c.type,i,a))l++;else if(Gu(c.type,-i,a)){if(l==0){let u=Au(c);return{start:o,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}l--}}while(i<0?c.prevSibling():c.nextSibling());return{start:o,matched:!1}}function Uv(t,e,i,n,O,r,a){if(i<0?!e:e==t.doc.length)return null;let s=i<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),o=a.indexOf(s);if(o<0||o%2==0!=i>0)return null;let l={from:i<0?e-1:e,to:i>0?e+1:e},c=t.doc.iterRange(e,i>0?t.doc.length:0),u=0;for(let f=0;!c.next().done&&f<=r;){let d=c.value;i<0&&(f+=d.length);let p=e+f*i;for(let Q=i>0?0:d.length-1,P=i>0?d.length:-1;Q!=P;Q+=i){let m=a.indexOf(d[Q]);if(!(m<0||n.resolveInner(p+Q,1).type!=O))if(m%2==0==i>0)u++;else{if(u==1)return{start:l,end:{from:p+Q,to:p+Q+1},matched:m>>1==o>>1};u--}}i>0&&(f+=d.length)}return c.done?{start:l,matched:!1}:null}function J$(t,e,i,n=0,O=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let r=O;for(let a=n;a<e;a++)t.charCodeAt(a)==9?r+=i-r%i:r++;return r}class cS{constructor(e,i,n,O){this.string=e,this.tabSize=i,this.indentUnit=n,this.overrideIndent=O,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let i=this.string.charAt(this.pos),n;if(typeof e=="string"?n=i==e:n=i&&(e instanceof RegExp?e.test(i):e(i)),n)return++this.pos,i}eatWhile(e){let i=this.pos;for(;this.eat(e););return this.pos>i}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let i=this.string.indexOf(e,this.pos);if(i>-1)return this.pos=i,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=J$(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:J$(this.string,null,this.tabSize)}match(e,i,n){if(typeof e=="string"){let O=a=>n?a.toLowerCase():a,r=this.string.substr(this.pos,e.length);return O(r)==O(e)?(i!==!1&&(this.pos+=e.length),!0):null}else{let O=this.string.slice(this.pos).match(e);return O&&O.index>0?null:(O&&i!==!1&&(this.pos+=O[0].length),O)}}current(){return this.string.slice(this.start,this.pos)}}function qv(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||Vv,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||uh,mergeTokens:t.mergeTokens!==!1}}function Vv(t){if(typeof t!="object")return t;let e={};for(let i in t){let n=t[i];e[i]=n instanceof Array?n.slice():n}return e}const ep=new WeakMap;class de extends Nt{constructor(e){let i=No(e.languageData),n=qv(e),O,r=new class extends Ao{createParse(a,s,o){return new jv(O,a,s,o)}};super(i,r,[],e.name),this.topNode=Gv(i,this),O=this,this.streamParser=n,this.stateAfter=new ue({perNode:!0}),this.tokenTable=e.tokenTable?new dS(n.tokenTable):Ev}static define(e){return new de(e)}getIndent(e){let i,{overrideIndentation:n}=e.options;n&&(i=ep.get(e.state),i!=null&&i<e.pos-1e4&&(i=void 0));let O=ch(this,e.node.tree,e.node.from,e.node.from,i??e.pos),r,a;if(O?(a=O.state,r=O.pos+1):(a=this.streamParser.startState(e.unit),r=e.node.from),e.pos-r>1e4)return null;for(;r<e.pos;){let o=e.state.doc.lineAt(r),l=Math.min(e.pos,o.to);if(o.length){let c=n?n(o.from):-1,u=new cS(o.text,e.state.tabSize,e.unit,c<0?void 0:c);for(;u.pos<l-o.from;)fS(this.streamParser.token,u,a)}else this.streamParser.blankLine(a,e.unit);if(l==e.pos)break;r=o.to+1}let s=e.lineAt(e.pos);return n&&i==null&&ep.set(e.state,s.from),this.streamParser.indent(a,/^\s*(.*)/.exec(s.text)[1],e)}get allowsNesting(){return!1}}function ch(t,e,i,n,O){let r=i>=n&&i+e.length<=O&&e.prop(t.stateAfter);if(r)return{state:t.streamParser.copyState(r),pos:i+e.length};for(let a=e.children.length-1;a>=0;a--){let s=e.children[a],o=i+e.positions[a],l=s instanceof Pe&&o<O&&ch(t,s,o,n,O);if(l)return l}return null}function uS(t,e,i,n,O){if(O&&i<=0&&n>=e.length)return e;!O&&i==0&&e.type==t.topNode&&(O=!0);for(let r=e.children.length-1;r>=0;r--){let a=e.positions[r],s=e.children[r],o;if(a<n&&s instanceof Pe){if(!(o=uS(t,s,i-a,n-a,O)))break;return O?new Pe(e.type,e.children.slice(0,r).concat(o),e.positions.slice(0,r+1),a+o.length):o}}return null}function Wv(t,e,i,n,O){for(let r of e){let a=r.from+(r.openStart?25:0),s=r.to-(r.openEnd?25:0),o=a<=i&&s>i&&ch(t,r.tree,0-r.offset,i,s),l;if(o&&o.pos<=n&&(l=uS(t,r.tree,i+r.offset,o.pos+r.offset,!1)))return{state:o.state,tree:l}}return{state:t.streamParser.startState(O?nO(O):4),tree:Pe.empty}}let jv=class{constructor(e,i,n,O){this.lang=e,this.input=i,this.fragments=n,this.ranges=O,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=O[O.length-1].to;let r=iO.get(),a=O[0].from,{state:s,tree:o}=Wv(e,n,a,this.to,r==null?void 0:r.state);this.state=s,this.parsedPos=this.chunkStart=a+o.length;for(let l=0;l<o.children.length;l++)this.chunks.push(o.children[l]),this.chunkPos.push(o.positions[l]);r&&this.parsedPos<r.viewport.from-1e5&&O.some(l=>l.from<=r.viewport.from&&l.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(nO(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=iO.get(),i=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(i,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos<n;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=i?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,i),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let i=this.input.chunk(e);if(this.input.lineChunks)i==`
|
|
17
|
-
`&&(i="");else{let n=i.indexOf(`
|
|
18
|
-
`);n>-1&&(i=i.slice(0,n))}return e+i.length<=this.to?i:i.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,i=this.lineAfter(e),n=e+i.length;for(let O=this.rangeIndex;;){let r=this.ranges[O].to;if(r>=n||(i=i.slice(0,r-(n-i.length)),O++,O==this.ranges.length))break;let a=this.ranges[O].from,s=this.lineAfter(a);i+=s,n=a+s.length}return{line:i,end:n}}skipGapsTo(e,i,n){for(;;){let O=this.ranges[this.rangeIndex].to,r=e+i;if(n>0?O>r:O>=r)break;let a=this.ranges[++this.rangeIndex].from;i+=a-O}return i}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,i,n,O){let r=4;if(this.ranges.length>1){O=this.skipGapsTo(i,O,1),i+=O;let s=this.chunk.length;O=this.skipGapsTo(n,O,-1),n+=O,r+=this.chunk.length-s}let a=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&a>=0&&this.chunk[a]==e&&this.chunk[a+2]==i?this.chunk[a+2]=n:this.chunk.push(e,i,n,r),O}parseLine(e){let{line:i,end:n}=this.nextLine(),O=0,{streamParser:r}=this.lang,a=new cS(i,e?e.state.tabSize:4,e?nO(e.state):2);if(a.eol())r.blankLine(this.state,a.indentUnit);else for(;!a.eol();){let s=fS(r.token,a,this.state);if(s&&(O=this.emitToken(this.lang.tokenTable.resolve(s),this.parsedPos+a.start,this.parsedPos+a.pos,O)),a.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Pe.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:Cv,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Pe(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Pe(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function fS(t,e,i){e.start=e.pos;for(let n=0;n<10;n++){let O=t(e,i);if(e.pos>e.start)return O}throw new Error("Stream parser failed to advance stream.")}const uh=Object.create(null),la=[He.none],Cv=new fr(la),tp=[],ip=Object.create(null),hS=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])hS[t]=$S(uh,e);class dS{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),hS)}resolve(e){return e?this.table[e]||(this.table[e]=$S(this.extra,e)):0}}const Ev=new dS(uh);function nc(t,e){tp.indexOf(t)>-1||(tp.push(t),console.warn(e))}function $S(t,e){let i=[];for(let s of e.split(" ")){let o=[];for(let l of s.split(".")){let c=t[l]||$[l];c?typeof c=="function"?o.length?o=o.map(c):nc(l,`Modifier ${l} used at start of tag`):o.length?nc(l,`Tag ${l} used as modifier`):o=Array.isArray(c)?c:[c]:nc(l,`Unknown highlighting tag ${l}`)}for(let l of o)i.push(l)}if(!i.length)return 0;let n=e.replace(/ /g,"_"),O=n+" "+i.map(s=>s.id),r=ip[O];if(r)return r.id;let a=ip[O]=He.define({id:la.length,name:n,props:[xt({[n]:i})]});return la.push(a),a.id}function Gv(t,e){let i=He.define({id:la.length,name:"Document",props:[$n.add(()=>t),Xt.add(()=>n=>e.getIndent(n))],top:!0});return la.push(i),i}Ge.RTL,Ge.LTR;const Av=t=>{let{state:e}=t,i=e.doc.lineAt(e.selection.main.from),n=hh(t.state,i.from);return n.line?Nv(t):n.block?Lv(t):!1};function fh(t,e){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let O=t(e,i);return O?(n(i.update(O)),!0):!1}}const Nv=fh(Bv,0),Iv=fh(pS,0),Lv=fh((t,e)=>pS(t,e,Mv(e)),0);function hh(t,e){let i=t.languageDataAt("commentTokens",e,1);return i.length?i[0]:{}}const wr=50;function Dv(t,{open:e,close:i},n,O){let r=t.sliceDoc(n-wr,n),a=t.sliceDoc(O,O+wr),s=/\s*$/.exec(r)[0].length,o=/^\s*/.exec(a)[0].length,l=r.length-s;if(r.slice(l-e.length,l)==e&&a.slice(o,o+i.length)==i)return{open:{pos:n-s,margin:s&&1},close:{pos:O+o,margin:o&&1}};let c,u;O-n<=2*wr?c=u=t.sliceDoc(n,O):(c=t.sliceDoc(n,n+wr),u=t.sliceDoc(O-wr,O));let f=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(u)[0].length,p=u.length-d-i.length;return c.slice(f,f+e.length)==e&&u.slice(p,p+i.length)==i?{open:{pos:n+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:O-d-i.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function Mv(t){let e=[];for(let i of t.selection.ranges){let n=t.doc.lineAt(i.from),O=i.to<=n.to?n:t.doc.lineAt(i.to);O.from>n.from&&O.from==i.to&&(O=i.to==n.to+1?n:t.doc.lineAt(i.to-1));let r=e.length-1;r>=0&&e[r].to>n.from?e[r].to=O.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:O.to})}return e}function pS(t,e,i=e.selection.ranges){let n=i.map(r=>hh(e,r.from).block);if(!n.every(r=>r))return null;let O=i.map((r,a)=>Dv(e,n[a],r.from,r.to));if(t!=2&&!O.every(r=>r))return{changes:e.changes(i.map((r,a)=>O[a]?[]:[{from:r.from,insert:n[a].open+" "},{from:r.to,insert:" "+n[a].close}]))};if(t!=1&&O.some(r=>r)){let r=[];for(let a=0,s;a<O.length;a++)if(s=O[a]){let o=n[a],{open:l,close:c}=s;r.push({from:l.pos-o.open.length,to:l.pos+l.margin},{from:c.pos-c.margin,to:c.pos+o.close.length})}return{changes:r}}return null}function Bv(t,e,i=e.selection.ranges){let n=[],O=-1;e:for(let{from:r,to:a}of i){let s=n.length,o=1e9,l;for(let c=r;c<=a;){let u=e.doc.lineAt(c);if(l==null&&(l=hh(e,u.from).line,!l))continue e;if(u.from>O&&(r==a||a>u.from)){O=u.from;let f=/^\s*/.exec(u.text)[0].length,d=f==u.length,p=u.text.slice(f,f+l.length)==l?f:-1;f<u.text.length&&f<o&&(o=f),n.push({line:u,comment:p,token:l,indent:f,empty:d,single:!1})}c=u.to+1}if(o<1e9)for(let c=s;c<n.length;c++)n[c].indent<n[c].line.text.length&&(n[c].indent=o);n.length==s+1&&(n[s].single=!0)}if(t!=2&&n.some(r=>r.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:s,token:o,indent:l,empty:c,single:u}of n)(u||!c)&&r.push({from:s.from+l,insert:o+" "});let a=e.changes(r);return{changes:a,selection:e.selection.map(a,1)}}else if(t!=1&&n.some(r=>r.comment>=0)){let r=[];for(let{line:a,comment:s,token:o}of n)if(s>=0){let l=a.from+s,c=l+o.length;a.text[c-a.from]==" "&&c++,r.push({from:l,to:c})}return{changes:r}}return null}const Nu=On.define(),Fv=On.define(),Hv=J.define(),QS=J.define({combine(t){return uO(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,i)=>i},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,i)=>(n,O)=>e(n,O)||i(n,O)})}}),mS=Lt.define({create(){return _i.empty},update(t,e){let i=e.state.facet(QS),n=e.annotation(Nu);if(n){let o=Zt.fromTransaction(e,n.selection),l=n.side,c=l==0?t.undone:t.done;return o?c=fo(c,c.length,i.minDepth,o):c=SS(c,e.startState.selection),new _i(l==0?n.rest:c,l==0?c:n.rest)}let O=e.annotation(Fv);if((O=="full"||O=="before")&&(t=t.isolate()),e.annotation(Fe.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let r=Zt.fromTransaction(e),a=e.annotation(Fe.time),s=e.annotation(Fe.userEvent);return r?t=t.addChanges(r,a,s,i,e):e.selection&&(t=t.addSelection(e.startState.selection,a,s,i.newGroupDelay)),(O=="full"||O=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new _i(t.done.map(Zt.fromJSON),t.undone.map(Zt.fromJSON))}});function X7(t={}){return[mS,QS.of(t),K.domEventHandlers({beforeinput(e,i){let n=e.inputType=="historyUndo"?gS:e.inputType=="historyRedo"?Iu:null;return n?(e.preventDefault(),n(i)):!1}})]}function Do(t,e){return function({state:i,dispatch:n}){if(!e&&i.readOnly)return!1;let O=i.field(mS,!1);if(!O)return!1;let r=O.pop(t,i,e);return r?(n(r),!0):!1}}const gS=Do(0,!1),Iu=Do(1,!1),Kv=Do(0,!0),Jv=Do(1,!0);class Zt{constructor(e,i,n,O,r){this.changes=e,this.effects=i,this.mapped=n,this.startSelection=O,this.selectionsAfter=r}setSelAfter(e){return new Zt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,i,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(i=this.mapped)===null||i===void 0?void 0:i.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(O=>O.toJSON())}}static fromJSON(e){return new Zt(e.changes&&Je.fromJSON(e.changes),[],e.mapped&&Ri.fromJSON(e.mapped),e.startSelection&&j.fromJSON(e.startSelection),e.selectionsAfter.map(j.fromJSON))}static fromTransaction(e,i){let n=ti;for(let O of e.startState.facet(Hv)){let r=O(e);r.length&&(n=n.concat(r))}return!n.length&&e.changes.empty?null:new Zt(e.changes.invert(e.startState.doc),n,void 0,i||e.startState.selection,ti)}static selection(e){return new Zt(void 0,ti,void 0,void 0,e)}}function fo(t,e,i,n){let O=e+1>i+20?e-i-1:0,r=t.slice(O,e);return r.push(n),r}function e0(t,e){let i=[],n=!1;return t.iterChangedRanges((O,r)=>i.push(O,r)),e.iterChangedRanges((O,r,a,s)=>{for(let o=0;o<i.length;){let l=i[o++],c=i[o++];s>=l&&a<=c&&(n=!0)}}),n}function t0(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((i,n)=>i.empty!=e.ranges[n].empty).length===0}function PS(t,e){return t.length?e.length?t.concat(e):t:e}const ti=[],i0=200;function SS(t,e){if(t.length){let i=t[t.length-1],n=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-i0));return n.length&&n[n.length-1].eq(e)?t:(n.push(e),fo(t,t.length-1,1e9,i.setSelAfter(n)))}else return[Zt.selection([e])]}function n0(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}function Oc(t,e){if(!t.length)return t;let i=t.length,n=ti;for(;i;){let O=O0(t[i-1],e,n);if(O.changes&&!O.changes.empty||O.effects.length){let r=t.slice(0,i);return r[i-1]=O,r}else e=O.mapped,i--,n=O.selectionsAfter}return n.length?[Zt.selection(n)]:ti}function O0(t,e,i){let n=PS(t.selectionsAfter.length?t.selectionsAfter.map(s=>s.map(e)):ti,i);if(!t.changes)return Zt.selection(n);let O=t.changes.map(e),r=e.mapDesc(t.changes,!0),a=t.mapped?t.mapped.composeDesc(r):r;return new Zt(O,Xe.mapEffects(t.effects,e),a,t.startSelection.map(r),n)}const r0=/^(input\.type|delete)($|\.)/;class _i{constructor(e,i,n=0,O=void 0){this.done=e,this.undone=i,this.prevTime=n,this.prevUserEvent=O}isolate(){return this.prevTime?new _i(this.done,this.undone):this}addChanges(e,i,n,O,r){let a=this.done,s=a[a.length-1];return s&&s.changes&&!s.changes.empty&&e.changes&&(!n||r0.test(n))&&(!s.selectionsAfter.length&&i-this.prevTime<O.newGroupDelay&&O.joinToEvent(r,e0(s.changes,e.changes))||n=="input.type.compose")?a=fo(a,a.length-1,O.minDepth,new Zt(e.changes.compose(s.changes),PS(Xe.mapEffects(e.effects,s.changes),s.effects),s.mapped,s.startSelection,ti)):a=fo(a,a.length,O.minDepth,e),new _i(a,ti,i,n)}addSelection(e,i,n,O){let r=this.done.length?this.done[this.done.length-1].selectionsAfter:ti;return r.length>0&&i-this.prevTime<O&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&t0(r[r.length-1],e)?this:new _i(SS(this.done,e),this.undone,i,n)}addMapping(e){return new _i(Oc(this.done,e),Oc(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,i,n){let O=e==0?this.done:this.undone;if(O.length==0)return null;let r=O[O.length-1],a=r.selectionsAfter[0]||(r.startSelection?r.startSelection.map(r.changes.invertedDesc,1):i.selection);if(n&&r.selectionsAfter.length)return i.update({selection:r.selectionsAfter[r.selectionsAfter.length-1],annotations:Nu.of({side:e,rest:n0(O),selection:a}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(r.changes){let s=O.length==1?ti:O.slice(0,O.length-1);return r.mapped&&(s=Oc(s,r.mapped)),i.update({changes:r.changes,selection:r.startSelection,effects:r.effects,annotations:Nu.of({side:e,rest:s,selection:a}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}_i.empty=new _i(ti,ti);const w7=[{key:"Mod-z",run:gS,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Iu,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Iu,preventDefault:!0},{key:"Mod-u",run:Kv,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Jv,preventDefault:!0}];function hr(t,e){return j.create(t.ranges.map(e),t.mainIndex)}function hi(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function di({state:t,dispatch:e},i){let n=hr(t.selection,i);return n.eq(t.selection,!0)?!1:(e(hi(t,n)),!0)}function Mo(t,e){return j.cursor(e?t.to:t.from)}function bS(t,e){return di(t,i=>i.empty?t.moveByChar(i,e):Mo(i,e))}function $t(t){return t.textDirectionAt(t.state.selection.main.head)==Ge.LTR}const yS=t=>bS(t,!$t(t)),xS=t=>bS(t,$t(t));function XS(t,e){return di(t,i=>i.empty?t.moveByGroup(i,e):Mo(i,e))}const a0=t=>XS(t,!$t(t)),s0=t=>XS(t,$t(t));function o0(t,e,i){if(e.type.prop(i))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Bo(t,e,i){let n=Ze(t).resolveInner(e.head),O=i?ue.closedBy:ue.openedBy;for(let o=e.head;;){let l=i?n.childAfter(o):n.childBefore(o);if(!l)break;o0(t,l,O)?n=l:o=i?l.to:l.from}let r=n.type.prop(O),a,s;return r&&(a=i?vi(t,n.from,1):vi(t,n.to,-1))&&a.matched?s=i?a.end.to:a.end.from:s=i?n.to:n.from,j.cursor(s,i?-1:1)}const l0=t=>di(t,e=>Bo(t.state,e,!$t(t))),c0=t=>di(t,e=>Bo(t.state,e,$t(t)));function wS(t,e){return di(t,i=>{if(!i.empty)return Mo(i,e);let n=t.moveVertically(i,e);return n.head!=i.head?n:t.moveToLineBoundary(i,e)})}const kS=t=>wS(t,!1),TS=t=>wS(t,!0);function vS(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,i=0,n=0,O;if(e){for(let r of t.state.facet(K.scrollMargins)){let a=r(t);a!=null&&a.top&&(i=Math.max(a==null?void 0:a.top,i)),a!=null&&a.bottom&&(n=Math.max(a==null?void 0:a.bottom,n))}O=t.scrollDOM.clientHeight-i-n}else O=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:n,selfScroll:e,height:Math.max(t.defaultLineHeight,O-5)}}function _S(t,e){let i=vS(t),{state:n}=t,O=hr(n.selection,a=>a.empty?t.moveVertically(a,e,i.height):Mo(a,e));if(O.eq(n.selection))return!1;let r;if(i.selfScroll){let a=t.coordsAtPos(n.selection.main.head),s=t.scrollDOM.getBoundingClientRect(),o=s.top+i.marginTop,l=s.bottom-i.marginBottom;a&&a.top>o&&a.bottom<l&&(r=K.scrollIntoView(O.main.head,{y:"start",yMargin:a.top-o}))}return t.dispatch(hi(n,O),{effects:r}),!0}const np=t=>_S(t,!1),Lu=t=>_S(t,!0);function wn(t,e,i){let n=t.lineBlockAt(e.head),O=t.moveToLineBoundary(e,i);if(O.head==e.head&&O.head!=(i?n.to:n.from)&&(O=t.moveToLineBoundary(e,i,!1)),!i&&O.head==n.from&&n.length){let r=/^\s*/.exec(t.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;r&&e.head!=n.from+r&&(O=j.cursor(n.from+r))}return O}const u0=t=>di(t,e=>wn(t,e,!0)),f0=t=>di(t,e=>wn(t,e,!1)),h0=t=>di(t,e=>wn(t,e,!$t(t))),d0=t=>di(t,e=>wn(t,e,$t(t))),$0=t=>di(t,e=>j.cursor(t.lineBlockAt(e.head).from,1)),p0=t=>di(t,e=>j.cursor(t.lineBlockAt(e.head).to,-1));function Q0(t,e,i){let n=!1,O=hr(t.selection,r=>{let a=vi(t,r.head,-1)||vi(t,r.head,1)||r.head>0&&vi(t,r.head-1,1)||r.head<t.doc.length&&vi(t,r.head+1,-1);if(!a||!a.end)return r;n=!0;let s=a.start.from==r.head?a.end.to:a.end.from;return j.cursor(s)});return n?(e(hi(t,O)),!0):!1}const m0=({state:t,dispatch:e})=>Q0(t,e);function ii(t,e){let i=hr(t.state.selection,n=>{let O=e(n);return j.range(n.anchor,O.head,O.goalColumn,O.bidiLevel||void 0,O.assoc)});return i.eq(t.state.selection)?!1:(t.dispatch(hi(t.state,i)),!0)}function RS(t,e){return ii(t,i=>t.moveByChar(i,e))}const YS=t=>RS(t,!$t(t)),ZS=t=>RS(t,$t(t));function zS(t,e){return ii(t,i=>t.moveByGroup(i,e))}const g0=t=>zS(t,!$t(t)),P0=t=>zS(t,$t(t)),S0=t=>ii(t,e=>Bo(t.state,e,!$t(t))),b0=t=>ii(t,e=>Bo(t.state,e,$t(t)));function US(t,e){return ii(t,i=>t.moveVertically(i,e))}const qS=t=>US(t,!1),VS=t=>US(t,!0);function WS(t,e){return ii(t,i=>t.moveVertically(i,e,vS(t).height))}const Op=t=>WS(t,!1),rp=t=>WS(t,!0),y0=t=>ii(t,e=>wn(t,e,!0)),x0=t=>ii(t,e=>wn(t,e,!1)),X0=t=>ii(t,e=>wn(t,e,!$t(t))),w0=t=>ii(t,e=>wn(t,e,$t(t))),k0=t=>ii(t,e=>j.cursor(t.lineBlockAt(e.head).from)),T0=t=>ii(t,e=>j.cursor(t.lineBlockAt(e.head).to)),ap=({state:t,dispatch:e})=>(e(hi(t,{anchor:0})),!0),sp=({state:t,dispatch:e})=>(e(hi(t,{anchor:t.doc.length})),!0),op=({state:t,dispatch:e})=>(e(hi(t,{anchor:t.selection.main.anchor,head:0})),!0),lp=({state:t,dispatch:e})=>(e(hi(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),v0=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),_0=({state:t,dispatch:e})=>{let i=Fo(t).map(({from:n,to:O})=>j.range(n,Math.min(O+1,t.doc.length)));return e(t.update({selection:j.create(i),userEvent:"select"})),!0},R0=({state:t,dispatch:e})=>{let i=hr(t.selection,n=>{let O=Ze(t),r=O.resolveStack(n.from,1);if(n.empty){let a=O.resolveStack(n.from,-1);a.node.from>=r.node.from&&a.node.to<=r.node.to&&(r=a)}for(let a=r;a;a=a.next){let{node:s}=a;if((s.from<n.from&&s.to>=n.to||s.to>n.to&&s.from<=n.from)&&a.next)return j.range(s.to,s.from)}return n});return i.eq(t.selection)?!1:(e(hi(t,i)),!0)};function jS(t,e){let{state:i}=t,n=i.selection,O=i.selection.ranges.slice();for(let r of i.selection.ranges){let a=i.doc.lineAt(r.head);if(e?a.to<t.state.doc.length:a.from>0)for(let s=r;;){let o=t.moveVertically(s,e);if(o.head<a.from||o.head>a.to){O.some(l=>l.head==o.head)||O.push(o);break}else{if(o.head==s.head)break;s=o}}}return O.length==n.ranges.length?!1:(t.dispatch(hi(i,j.create(O,O.length-1))),!0)}const Y0=t=>jS(t,!1),Z0=t=>jS(t,!0),z0=({state:t,dispatch:e})=>{let i=t.selection,n=null;return i.ranges.length>1?n=j.create([i.main]):i.main.empty||(n=j.create([j.cursor(i.main.head)])),n?(e(hi(t,n)),!0):!1};function Ya(t,e){if(t.state.readOnly)return!1;let i="delete.selection",{state:n}=t,O=n.changeByRange(r=>{let{from:a,to:s}=r;if(a==s){let o=e(r);o<a?(i="delete.backward",o=fs(t,o,!1)):o>a&&(i="delete.forward",o=fs(t,o,!0)),a=Math.min(a,o),s=Math.max(s,o)}else a=fs(t,a,!1),s=fs(t,s,!0);return a==s?{range:r}:{changes:{from:a,to:s},range:j.cursor(a,a<r.head?-1:1)}});return O.changes.empty?!1:(t.dispatch(n.update(O,{scrollIntoView:!0,userEvent:i,effects:i=="delete.selection"?K.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function fs(t,e,i){if(t instanceof K)for(let n of t.state.facet(K.atomicRanges).map(O=>O(t)))n.between(e,e,(O,r)=>{O<e&&r>e&&(e=i?r:O)});return e}const CS=(t,e,i)=>Ya(t,n=>{let O=n.from,{state:r}=t,a=r.doc.lineAt(O),s,o;if(i&&!e&&O>a.from&&O<a.from+200&&!/[^ \t]/.test(s=a.text.slice(0,O-a.from))){if(s[s.length-1]==" ")return O-1;let l=zi(s,r.tabSize),c=l%nO(r)||nO(r);for(let u=0;u<c&&s[s.length-1-u]==" ";u++)O--;o=O}else o=nt(a.text,O-a.from,e,e)+a.from,o==O&&a.number!=(e?r.doc.lines:1)?o+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(a.text.slice(o-a.from,O-a.from))&&(o=nt(a.text,o-a.from,!1,!1)+a.from);return o}),Du=t=>CS(t,!1,!0),ES=t=>CS(t,!0,!1),GS=(t,e)=>Ya(t,i=>{let n=i.head,{state:O}=t,r=O.doc.lineAt(n),a=O.charCategorizer(n);for(let s=null;;){if(n==(e?r.to:r.from)){n==i.head&&r.number!=(e?O.doc.lines:1)&&(n+=e?1:-1);break}let o=nt(r.text,n-r.from,e)+r.from,l=r.text.slice(Math.min(n,o)-r.from,Math.max(n,o)-r.from),c=a(l);if(s!=null&&c!=s)break;(l!=" "||n!=i.head)&&(s=c),n=o}return n}),AS=t=>GS(t,!1),U0=t=>GS(t,!0),q0=t=>Ya(t,e=>{let i=t.lineBlockAt(e.head).to;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),V0=t=>Ya(t,e=>{let i=t.moveToLineBoundary(e,!1).head;return e.head>i?i:Math.max(0,e.head-1)}),W0=t=>Ya(t,e=>{let i=t.moveToLineBoundary(e,!0).head;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),j0=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:xe.of(["",""])},range:j.cursor(n.from)}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},C0=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(n=>{if(!n.empty||n.from==0||n.from==t.doc.length)return{range:n};let O=n.from,r=t.doc.lineAt(O),a=O==r.from?O-1:nt(r.text,O-r.from,!1)+r.from,s=O==r.to?O+1:nt(r.text,O-r.from,!0)+r.from;return{changes:{from:a,to:s,insert:t.doc.slice(O,s).append(t.doc.slice(a,O))},range:j.cursor(s)}});return i.changes.empty?!1:(e(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Fo(t){let e=[],i=-1;for(let n of t.selection.ranges){let O=t.doc.lineAt(n.from),r=t.doc.lineAt(n.to);if(!n.empty&&n.to==r.from&&(r=t.doc.lineAt(n.to-1)),i>=O.number){let a=e[e.length-1];a.to=r.to,a.ranges.push(n)}else e.push({from:O.from,to:r.to,ranges:[n]});i=r.number+1}return e}function NS(t,e,i){if(t.readOnly)return!1;let n=[],O=[];for(let r of Fo(t)){if(i?r.to==t.doc.length:r.from==0)continue;let a=t.doc.lineAt(i?r.to+1:r.from-1),s=a.length+1;if(i){n.push({from:r.to,to:a.to},{from:r.from,insert:a.text+t.lineBreak});for(let o of r.ranges)O.push(j.range(Math.min(t.doc.length,o.anchor+s),Math.min(t.doc.length,o.head+s)))}else{n.push({from:a.from,to:r.from},{from:r.to,insert:t.lineBreak+a.text});for(let o of r.ranges)O.push(j.range(o.anchor-s,o.head-s))}}return n.length?(e(t.update({changes:n,scrollIntoView:!0,selection:j.create(O,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const E0=({state:t,dispatch:e})=>NS(t,e,!1),G0=({state:t,dispatch:e})=>NS(t,e,!0);function IS(t,e,i){if(t.readOnly)return!1;let n=[];for(let r of Fo(t))i?n.push({from:r.from,insert:t.doc.slice(r.from,r.to)+t.lineBreak}):n.push({from:r.to,insert:t.lineBreak+t.doc.slice(r.from,r.to)});let O=t.changes(n);return e(t.update({changes:O,selection:t.selection.map(O,i?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const A0=({state:t,dispatch:e})=>IS(t,e,!1),N0=({state:t,dispatch:e})=>IS(t,e,!0),I0=t=>{if(t.state.readOnly)return!1;let{state:e}=t,i=e.changes(Fo(e).map(({from:O,to:r})=>(O>0?O--:r<e.doc.length&&r++,{from:O,to:r}))),n=hr(e.selection,O=>{let r;if(t.lineWrapping){let a=t.lineBlockAt(O.head),s=t.coordsAtPos(O.head,O.assoc||1);s&&(r=a.bottom+t.documentTop-s.bottom+t.defaultLineHeight/2)}return t.moveVertically(O,!0,r)}).map(i);return t.dispatch({changes:i,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function L0(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i=Ze(t).resolveInner(e),n=i.childBefore(e),O=i.childAfter(e),r;return n&&O&&n.to<=e&&O.from>=e&&(r=n.type.prop(ue.closedBy))&&r.indexOf(O.name)>-1&&t.doc.lineAt(n.to).from==t.doc.lineAt(O.from).from&&!/\S/.test(t.sliceDoc(n.to,O.from))?{from:n.to,to:O.from}:null}const cp=LS(!1),D0=LS(!0);function LS(t){return({state:e,dispatch:i})=>{if(e.readOnly)return!1;let n=e.changeByRange(O=>{let{from:r,to:a}=O,s=e.doc.lineAt(r),o=!t&&r==a&&L0(e,r);t&&(r=a=(a<=s.to?s:e.doc.lineAt(a)).to);let l=new Io(e,{simulateBreak:r,simulateDoubleBreak:!!o}),c=ah(l,r);for(c==null&&(c=zi(/^\s*/.exec(e.doc.lineAt(r).text)[0],e.tabSize));a<s.to&&/\s/.test(s.text[a-s.from]);)a++;o?{from:r,to:a}=o:r>s.from&&r<s.from+100&&!/\S/.test(s.text.slice(0,r))&&(r=s.from);let u=["",oa(e,c)];return o&&u.push(oa(e,l.lineIndent(s.from,-1))),{changes:{from:r,to:a,insert:xe.of(u)},range:j.cursor(r+1+u[1].length)}});return i(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function dh(t,e){let i=-1;return t.changeByRange(n=>{let O=[];for(let a=n.from;a<=n.to;){let s=t.doc.lineAt(a);s.number>i&&(n.empty||n.to>s.from)&&(e(s,O,n),i=s.number),a=s.to+1}let r=t.changes(O);return{changes:O,range:j.range(r.mapPos(n.anchor,1),r.mapPos(n.head,1))}})}const M0=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=Object.create(null),n=new Io(t,{overrideIndentation:r=>{let a=i[r];return a??-1}}),O=dh(t,(r,a,s)=>{let o=ah(n,r.from);if(o==null)return;/\S/.test(r.text)||(o=0);let l=/^\s*/.exec(r.text)[0],c=oa(t,o);(l!=c||s.from<r.from+l.length)&&(i[r.from]=o,a.push({from:r.from,to:r.from+l.length,insert:c}))});return O.changes.empty||e(t.update(O,{userEvent:"indent"})),!0},DS=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(dh(t,(i,n)=>{n.push({from:i.from,insert:t.facet(va)})}),{userEvent:"input.indent"})),!0),MS=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(dh(t,(i,n)=>{let O=/^\s*/.exec(i.text)[0];if(!O)return;let r=zi(O,t.tabSize),a=0,s=oa(t,Math.max(0,r-nO(t)));for(;a<O.length&&a<s.length&&O.charCodeAt(a)==s.charCodeAt(a);)a++;n.push({from:i.from+a,to:i.from+O.length,insert:s.slice(a)})}),{userEvent:"delete.dedent"})),!0),B0=t=>(t.setTabFocusMode(),!0),F0=[{key:"Ctrl-b",run:yS,shift:YS,preventDefault:!0},{key:"Ctrl-f",run:xS,shift:ZS},{key:"Ctrl-p",run:kS,shift:qS},{key:"Ctrl-n",run:TS,shift:VS},{key:"Ctrl-a",run:$0,shift:k0},{key:"Ctrl-e",run:p0,shift:T0},{key:"Ctrl-d",run:ES},{key:"Ctrl-h",run:Du},{key:"Ctrl-k",run:q0},{key:"Ctrl-Alt-h",run:AS},{key:"Ctrl-o",run:j0},{key:"Ctrl-t",run:C0},{key:"Ctrl-v",run:Lu}],H0=[{key:"ArrowLeft",run:yS,shift:YS,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:a0,shift:g0,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:h0,shift:X0,preventDefault:!0},{key:"ArrowRight",run:xS,shift:ZS,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:s0,shift:P0,preventDefault:!0},{mac:"Cmd-ArrowRight",run:d0,shift:w0,preventDefault:!0},{key:"ArrowUp",run:kS,shift:qS,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ap,shift:op},{mac:"Ctrl-ArrowUp",run:np,shift:Op},{key:"ArrowDown",run:TS,shift:VS,preventDefault:!0},{mac:"Cmd-ArrowDown",run:sp,shift:lp},{mac:"Ctrl-ArrowDown",run:Lu,shift:rp},{key:"PageUp",run:np,shift:Op},{key:"PageDown",run:Lu,shift:rp},{key:"Home",run:f0,shift:x0,preventDefault:!0},{key:"Mod-Home",run:ap,shift:op},{key:"End",run:u0,shift:y0,preventDefault:!0},{key:"Mod-End",run:sp,shift:lp},{key:"Enter",run:cp,shift:cp},{key:"Mod-a",run:v0},{key:"Backspace",run:Du,shift:Du,preventDefault:!0},{key:"Delete",run:ES,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:AS,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:U0,preventDefault:!0},{mac:"Mod-Backspace",run:V0,preventDefault:!0},{mac:"Mod-Delete",run:W0,preventDefault:!0}].concat(F0.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),K0=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:l0,shift:S0},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:c0,shift:b0},{key:"Alt-ArrowUp",run:E0},{key:"Shift-Alt-ArrowUp",run:A0},{key:"Alt-ArrowDown",run:G0},{key:"Shift-Alt-ArrowDown",run:N0},{key:"Mod-Alt-ArrowUp",run:Y0},{key:"Mod-Alt-ArrowDown",run:Z0},{key:"Escape",run:z0},{key:"Mod-Enter",run:D0},{key:"Alt-l",mac:"Ctrl-l",run:_0},{key:"Mod-i",run:R0,preventDefault:!0},{key:"Mod-[",run:MS},{key:"Mod-]",run:DS},{key:"Mod-Alt-\\",run:M0},{key:"Shift-Mod-k",run:I0},{key:"Shift-Mod-\\",run:m0},{key:"Mod-/",run:Av},{key:"Alt-A",run:Iv},{key:"Ctrl-m",mac:"Shift-Alt-m",run:B0}].concat(H0),k7={key:"Tab",run:DS,shift:MS},up=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class Or{constructor(e,i,n=0,O=e.length,r,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,O),this.bufferStart=n,this.normalize=r?s=>r(up(s)):up,this.query=this.normalize(i)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return lO(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let i=xg(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Xa(e);let O=this.normalize(i);if(O.length)for(let r=0,a=n;;r++){let s=O.charCodeAt(r),o=this.match(s,a,this.bufferPos+this.bufferStart);if(r==O.length-1){if(o)return this.value=o,this;break}a==n&&r<i.length&&i.charCodeAt(r)==s&&a++}}}match(e,i,n){let O=null;for(let r=0;r<this.matches.length;r+=2){let a=this.matches[r],s=!1;this.query.charCodeAt(a)==e&&(a==this.query.length-1?O={from:this.matches[r+1],to:n}:(this.matches[r]++,s=!0)),s||(this.matches.splice(r,2),r-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?O={from:i,to:n}:this.matches.push(1,i)),O&&this.test&&!this.test(O.from,O.to,this.buffer,this.bufferStart)&&(O=null),O}}typeof Symbol<"u"&&(Or.prototype[Symbol.iterator]=function(){return this});const BS={from:-1,to:-1,match:/.*/.exec("")},$h="gm"+(/x/.unicode==null?"":"u");class FS{constructor(e,i,n,O=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=!1,this.value=BS,/\\[sWDnr]|\n|\r|\[\^/.test(i))return new HS(e,i,n,O,r);this.re=new RegExp(i,$h+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.iter=e.iter();let a=e.lineAt(O);this.curLineStart=a.from,this.matchPos=ho(e,O),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let i=this.matchPos<=this.to&&this.re.exec(this.curLine);if(i){let n=this.curLineStart+i.index,O=n+i[0].length;if(this.matchPos=ho(this.text,O+(n==O?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<O||n>this.value.to)&&(!this.test||this.test(n,O,i)))return this.value={from:n,to:O,match:i},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const rc=new WeakMap;class MO{constructor(e,i){this.from=e,this.text=i}get to(){return this.from+this.text.length}static get(e,i,n){let O=rc.get(e);if(!O||O.from>=n||O.to<=i){let s=new MO(i,e.sliceString(i,n));return rc.set(e,s),s}if(O.from==i&&O.to==n)return O;let{text:r,from:a}=O;return a>i&&(r=e.sliceString(i,a)+r,a=i),O.to<n&&(r+=e.sliceString(O.to,n)),rc.set(e,new MO(a,r)),new MO(i,r.slice(i-a,n-a))}}class HS{constructor(e,i,n,O,r){this.text=e,this.to=r,this.done=!1,this.value=BS,this.matchPos=ho(e,O),this.re=new RegExp(i,$h+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.flat=MO.get(e,O,this.chunkEnd(O+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,i=this.re.exec(this.flat.text);if(i&&!i[0]&&i.index==e&&(this.re.lastIndex=e+1,i=this.re.exec(this.flat.text)),i){let n=this.flat.from+i.index,O=n+i[0].length;if((this.flat.to>=this.to||i.index+i[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,O,i)))return this.value={from:n,to:O,match:i},this.matchPos=ho(this.text,O+(n==O?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=MO.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(FS.prototype[Symbol.iterator]=HS.prototype[Symbol.iterator]=function(){return this});function J0(t){try{return new RegExp(t,$h),!0}catch{return!1}}function ho(t,e){if(e>=t.length)return e;let i=t.lineAt(e),n;for(;e<i.to&&(n=i.text.charCodeAt(e-i.from))>=56320&&n<57344;)e++;return e}const e_=t=>{let{state:e}=t,i=String(e.doc.lineAt(t.state.selection.main.head).number),{close:n,result:O}=gT(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:e.phrase("go")});return O.then(r=>{let a=r&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(r.elements.line.value);if(!a){t.dispatch({effects:n});return}let s=e.doc.lineAt(e.selection.main.head),[,o,l,c,u]=a,f=c?+c.slice(1):0,d=l?+l:s.number;if(l&&u){let P=d/100;o&&(P=P*(o=="-"?-1:1)+s.number/e.doc.lines),d=Math.round(e.doc.lines*P)}else l&&o&&(d=d*(o=="-"?-1:1)+s.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,d))),Q=j.cursor(p.from+Math.max(0,Math.min(f,p.length)));t.dispatch({effects:[n,K.scrollIntoView(Q.from,{y:"center"})],selection:Q})}),!0},t_={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},i_=J.define({combine(t){return uO(t,t_,{highlightWordAroundCursor:(e,i)=>e||i,minSelectionLength:Math.min,maxMatches:Math.min})}});function n_(t){return[o_,s_]}const O_=he.mark({class:"cm-selectionMatch"}),r_=he.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function fp(t,e,i,n){return(i==0||t(e.sliceDoc(i-1,i))!=Ee.Word)&&(n==e.doc.length||t(e.sliceDoc(n,n+1))!=Ee.Word)}function a_(t,e,i,n){return t(e.sliceDoc(i,i+1))==Ee.Word&&t(e.sliceDoc(n-1,n))==Ee.Word}const s_=St.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(i_),{state:i}=t,n=i.selection;if(n.ranges.length>1)return he.none;let O=n.main,r,a=null;if(O.empty){if(!e.highlightWordAroundCursor)return he.none;let o=i.wordAt(O.head);if(!o)return he.none;a=i.charCategorizer(O.head),r=i.sliceDoc(o.from,o.to)}else{let o=O.to-O.from;if(o<e.minSelectionLength||o>200)return he.none;if(e.wholeWords){if(r=i.sliceDoc(O.from,O.to),a=i.charCategorizer(O.head),!(fp(a,i,O.from,O.to)&&a_(a,i,O.from,O.to)))return he.none}else if(r=i.sliceDoc(O.from,O.to),!r)return he.none}let s=[];for(let o of t.visibleRanges){let l=new Or(i.doc,r,o.from,o.to);for(;!l.next().done;){let{from:c,to:u}=l.value;if((!a||fp(a,i,c,u))&&(O.empty&&c<=O.from&&u>=O.to?s.push(r_.range(c,u)):(c>=O.to||u<=O.from)&&s.push(O_.range(c,u)),s.length>e.maxMatches))return he.none}}return he.set(s)}},{decorations:t=>t.decorations}),o_=K.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),l_=({state:t,dispatch:e})=>{let{selection:i}=t,n=j.create(i.ranges.map(O=>t.wordAt(O.head)||j.cursor(O.head)),i.mainIndex);return n.eq(i)?!1:(e(t.update({selection:n})),!0)};function c_(t,e){let{main:i,ranges:n}=t.selection,O=t.wordAt(i.head),r=O&&O.from==i.from&&O.to==i.to;for(let a=!1,s=new Or(t.doc,e,n[n.length-1].to);;)if(s.next(),s.done){if(a)return null;s=new Or(t.doc,e,0,Math.max(0,n[n.length-1].from-1)),a=!0}else{if(a&&n.some(o=>o.from==s.value.from))continue;if(r){let o=t.wordAt(s.value.from);if(!o||o.from!=s.value.from||o.to!=s.value.to)continue}return s.value}}const u_=({state:t,dispatch:e})=>{let{ranges:i}=t.selection;if(i.some(r=>r.from===r.to))return l_({state:t,dispatch:e});let n=t.sliceDoc(i[0].from,i[0].to);if(t.selection.ranges.some(r=>t.sliceDoc(r.from,r.to)!=n))return!1;let O=c_(t,n);return O?(e(t.update({selection:t.selection.addRange(j.range(O.from,O.to),!1),effects:K.scrollIntoView(O.to)})),!0):!1},hO=J.define({combine(t){return uO(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new w_(e),scrollToMatch:e=>K.scrollIntoView(e)})}});function f_(t){return t?[hO.of(t),Bu]:Bu}class KS{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||J0(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(i,n)=>n=="n"?`
|
|
19
|
-
`:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new m_(this):new $_(this)}getCursor(e,i=0,n){let O=e.doc?e:ye.create({doc:e});return n==null&&(n=O.doc.length),this.regexp?jO(this,O,i,n):WO(this,O,i,n)}}class JS{constructor(e){this.spec=e}}function h_(t,e,i){return(n,O,r,a)=>{if(i&&!i(n,O,r,a))return!1;let s=n>=a&&O<=a+r.length?r.slice(n-a,O-a):e.doc.sliceString(n,O);return t(s,e,n,O)}}function WO(t,e,i,n){let O;return t.wholeWord&&(O=d_(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(O=h_(t.test,e,O)),new Or(e.doc,t.unquoted,i,n,t.caseSensitive?void 0:r=>r.toLowerCase(),O)}function d_(t,e){return(i,n,O,r)=>((r>i||r+O.length<n)&&(r=Math.max(0,i-2),O=t.sliceString(r,Math.min(t.length,n+2))),(e($o(O,i-r))!=Ee.Word||e(po(O,i-r))!=Ee.Word)&&(e(po(O,n-r))!=Ee.Word||e($o(O,n-r))!=Ee.Word))}class $_ extends JS{constructor(e){super(e)}nextMatch(e,i,n){let O=WO(this.spec,e,n,e.doc.length).nextOverlapping();if(O.done){let r=Math.min(e.doc.length,i+this.spec.unquoted.length);O=WO(this.spec,e,0,r).nextOverlapping()}return O.done||O.value.from==i&&O.value.to==n?null:O.value}prevMatchInRange(e,i,n){for(let O=n;;){let r=Math.max(i,O-1e4-this.spec.unquoted.length),a=WO(this.spec,e,r,O),s=null;for(;!a.nextOverlapping().done;)s=a.value;if(s)return s;if(r==i)return null;O-=1e4}}prevMatch(e,i,n){let O=this.prevMatchInRange(e,0,i);return O||(O=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),O&&(O.from!=i||O.to!=n)?O:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,i){let n=WO(this.spec,e,0,e.doc.length),O=[];for(;!n.next().done;){if(O.length>=i)return null;O.push(n.value)}return O}highlight(e,i,n,O){let r=WO(this.spec,e,Math.max(0,i-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)O(r.value.from,r.value.to)}}function p_(t,e,i){return(n,O,r)=>(!i||i(n,O,r))&&t(r[0],e,n,O)}function jO(t,e,i,n){let O;return t.wholeWord&&(O=Q_(e.charCategorizer(e.selection.main.head))),t.test&&(O=p_(t.test,e,O)),new FS(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:O},i,n)}function $o(t,e){return t.slice(nt(t,e,!1),e)}function po(t,e){return t.slice(e,nt(t,e))}function Q_(t){return(e,i,n)=>!n[0].length||(t($o(n.input,n.index))!=Ee.Word||t(po(n.input,n.index))!=Ee.Word)&&(t(po(n.input,n.index+n[0].length))!=Ee.Word||t($o(n.input,n.index+n[0].length))!=Ee.Word)}class m_ extends JS{nextMatch(e,i,n){let O=jO(this.spec,e,n,e.doc.length).next();return O.done&&(O=jO(this.spec,e,0,i).next()),O.done?null:O.value}prevMatchInRange(e,i,n){for(let O=1;;O++){let r=Math.max(i,n-O*1e4),a=jO(this.spec,e,r,n),s=null;for(;!a.next().done;)s=a.value;if(s&&(r==i||s.from>r+10))return s;if(r==i)return null}}prevMatch(e,i,n){return this.prevMatchInRange(e,0,i)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(i,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let O=n.length;O>0;O--){let r=+n.slice(0,O);if(r>0&&r<e.match.length)return e.match[r]+n.slice(O)}return i})}matchAll(e,i){let n=jO(this.spec,e,0,e.doc.length),O=[];for(;!n.next().done;){if(O.length>=i)return null;O.push(n.value)}return O}highlight(e,i,n,O){let r=jO(this.spec,e,Math.max(0,i-250),Math.min(n+250,e.doc.length));for(;!r.next().done;)O(r.value.from,r.value.to)}}const ca=Xe.define(),ph=Xe.define(),Qn=Lt.define({create(t){return new ac(Mu(t).create(),null)},update(t,e){for(let i of e.effects)i.is(ca)?t=new ac(i.value.create(),t.panel):i.is(ph)&&(t=new ac(t.query,i.value?Qh:null));return t},provide:t=>ao.from(t,e=>e.panel)});class ac{constructor(e,i){this.query=e,this.panel=i}}const g_=he.mark({class:"cm-searchMatch"}),P_=he.mark({class:"cm-searchMatch cm-searchMatch-selected"}),S_=St.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Qn))}update(t){let e=t.state.field(Qn);(e!=t.startState.field(Qn)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return he.none;let{view:i}=this,n=new Kn;for(let O=0,r=i.visibleRanges,a=r.length;O<a;O++){let{from:s,to:o}=r[O];for(;O<a-1&&o>r[O+1].from-500;)o=r[++O].to;t.highlight(i.state,s,o,(l,c)=>{let u=i.state.selection.ranges.some(f=>f.from==l&&f.to==c);n.add(l,c,u?P_:g_)})}return n.finish()}},{decorations:t=>t.decorations});function Za(t){return e=>{let i=e.state.field(Qn,!1);return i&&i.query.spec.valid?t(e,i):mh(e)}}const Qo=Za((t,{query:e})=>{let{to:i}=t.state.selection.main,n=e.nextMatch(t.state,i,i);if(!n)return!1;let O=j.single(n.from,n.to),r=t.state.facet(hO);return t.dispatch({selection:O,effects:[gh(t,n),r.scrollToMatch(O.main,t)],userEvent:"select.search"}),tb(t),!0}),mo=Za((t,{query:e})=>{let{state:i}=t,{from:n}=i.selection.main,O=e.prevMatch(i,n,n);if(!O)return!1;let r=j.single(O.from,O.to),a=t.state.facet(hO);return t.dispatch({selection:r,effects:[gh(t,O),a.scrollToMatch(r.main,t)],userEvent:"select.search"}),tb(t),!0}),b_=Za((t,{query:e})=>{let i=e.matchAll(t.state,1e3);return!i||!i.length?!1:(t.dispatch({selection:j.create(i.map(n=>j.range(n.from,n.to))),userEvent:"select.search.matches"}),!0)}),y_=({state:t,dispatch:e})=>{let i=t.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:n,to:O}=i.main,r=[],a=0;for(let s=new Or(t.doc,t.sliceDoc(n,O));!s.next().done;){if(r.length>1e3)return!1;s.value.from==n&&(a=r.length),r.push(j.range(s.value.from,s.value.to))}return e(t.update({selection:j.create(r,a),userEvent:"select.search.matches"})),!0},hp=Za((t,{query:e})=>{let{state:i}=t,{from:n,to:O}=i.selection.main;if(i.readOnly)return!1;let r=e.nextMatch(i,n,n);if(!r)return!1;let a=r,s=[],o,l,c=[];a.from==n&&a.to==O&&(l=i.toText(e.getReplacement(a)),s.push({from:a.from,to:a.to,insert:l}),a=e.nextMatch(i,a.from,a.to),c.push(K.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(n).number)+".")));let u=t.state.changes(s);return a&&(o=j.single(a.from,a.to).map(u),c.push(gh(t,a)),c.push(i.facet(hO).scrollToMatch(o.main,t))),t.dispatch({changes:u,selection:o,effects:c,userEvent:"input.replace"}),!0}),x_=Za((t,{query:e})=>{if(t.state.readOnly)return!1;let i=e.matchAll(t.state,1e9).map(O=>{let{from:r,to:a}=O;return{from:r,to:a,insert:e.getReplacement(O)}});if(!i.length)return!1;let n=t.state.phrase("replaced $ matches",i.length)+".";return t.dispatch({changes:i,effects:K.announce.of(n),userEvent:"input.replace.all"}),!0});function Qh(t){return t.state.facet(hO).createPanel(t)}function Mu(t,e){var i,n,O,r,a;let s=t.selection.main,o=s.empty||s.to>s.from+100?"":t.sliceDoc(s.from,s.to);if(e&&!o)return e;let l=t.facet(hO);return new KS({search:((i=e==null?void 0:e.literal)!==null&&i!==void 0?i:l.literal)?o:o.replace(/\n/g,"\\n"),caseSensitive:(n=e==null?void 0:e.caseSensitive)!==null&&n!==void 0?n:l.caseSensitive,literal:(O=e==null?void 0:e.literal)!==null&&O!==void 0?O:l.literal,regexp:(r=e==null?void 0:e.regexp)!==null&&r!==void 0?r:l.regexp,wholeWord:(a=e==null?void 0:e.wholeWord)!==null&&a!==void 0?a:l.wholeWord})}function eb(t){let e=qP(t,Qh);return e&&e.dom.querySelector("[main-field]")}function tb(t){let e=eb(t);e&&e==t.root.activeElement&&e.select()}const mh=t=>{let e=t.state.field(Qn,!1);if(e&&e.panel){let i=eb(t);if(i&&i!=t.root.activeElement){let n=Mu(t.state,e.query.spec);n.valid&&t.dispatch({effects:ca.of(n)}),i.focus(),i.select()}}else t.dispatch({effects:[ph.of(!0),e?ca.of(Mu(t.state,e.query.spec)):Xe.appendConfig.of(Bu)]});return!0},ib=t=>{let e=t.state.field(Qn,!1);if(!e||!e.panel)return!1;let i=qP(t,Qh);return i&&i.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:ph.of(!1)}),!0},X_=[{key:"Mod-f",run:mh,scope:"editor search-panel"},{key:"F3",run:Qo,shift:mo,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Qo,shift:mo,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ib,scope:"editor search-panel"},{key:"Mod-Shift-l",run:y_},{key:"Mod-Alt-g",run:e_},{key:"Mod-d",run:u_,preventDefault:!0}];class w_{constructor(e){this.view=e;let i=this.query=e.state.field(Qn).query.spec;this.commit=this.commit.bind(this),this.searchField=it("input",{value:i.search,placeholder:jt(e,"Find"),"aria-label":jt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=it("input",{value:i.replace,placeholder:jt(e,"Replace"),"aria-label":jt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=it("input",{type:"checkbox",name:"case",form:"",checked:i.caseSensitive,onchange:this.commit}),this.reField=it("input",{type:"checkbox",name:"re",form:"",checked:i.regexp,onchange:this.commit}),this.wordField=it("input",{type:"checkbox",name:"word",form:"",checked:i.wholeWord,onchange:this.commit});function n(O,r,a){return it("button",{class:"cm-button",name:O,onclick:r,type:"button"},a)}this.dom=it("div",{onkeydown:O=>this.keydown(O),class:"cm-search"},[this.searchField,n("next",()=>Qo(e),[jt(e,"next")]),n("prev",()=>mo(e),[jt(e,"previous")]),n("select",()=>b_(e),[jt(e,"all")]),it("label",null,[this.caseField,jt(e,"match case")]),it("label",null,[this.reField,jt(e,"regexp")]),it("label",null,[this.wordField,jt(e,"by word")]),...e.state.readOnly?[]:[it("br"),this.replaceField,n("replace",()=>hp(e),[jt(e,"replace")]),n("replaceAll",()=>x_(e),[jt(e,"replace all")])],it("button",{name:"close",onclick:()=>ib(e),"aria-label":jt(e,"close"),type:"button"},["×"])])}commit(){let e=new KS({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ca.of(e)}))}keydown(e){nT(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?mo:Qo)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),hp(this.view))}update(e){for(let i of e.transactions)for(let n of i.effects)n.is(ca)&&!n.value.eq(this.query)&&this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(hO).top}}function jt(t,e){return t.state.phrase(e)}const hs=30,ds=/[\s\.,:;?!]/;function gh(t,{from:e,to:i}){let n=t.state.doc.lineAt(e),O=t.state.doc.lineAt(i).to,r=Math.max(n.from,e-hs),a=Math.min(O,i+hs),s=t.state.sliceDoc(r,a);if(r!=n.from){for(let o=0;o<hs;o++)if(!ds.test(s[o+1])&&ds.test(s[o])){s=s.slice(o);break}}if(a!=O){for(let o=s.length-1;o>s.length-hs;o--)if(!ds.test(s[o-1])&&ds.test(s[o])){s=s.slice(0,o);break}}return K.announce.of(`${t.state.phrase("current match")}. ${s} ${t.state.phrase("on line")} ${n.number}.`)}const k_=K.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Bu=[Qn,cO.low(S_),k_],T_="#e5c07b",dp="#e06c75",v_="#56b6c2",__="#ffffff",Ws="#abb2bf",Fu="#7d8799",R_="#61afef",Y_="#98c379",$p="#d19a66",Z_="#c678dd",z_="#21252b",pp="#2c313a",Qp="#282c34",sc="#353a42",U_="#3E4451",mp="#528bff",q_=K.theme({"&":{color:Ws,backgroundColor:Qp},".cm-content":{caretColor:mp},".cm-cursor, .cm-dropCursor":{borderLeftColor:mp},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:U_},".cm-panels":{backgroundColor:z_,color:Ws},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Qp,color:Fu,border:"none"},".cm-activeLineGutter":{backgroundColor:pp},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:sc},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:sc,borderBottomColor:sc},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:pp,color:Ws}}},{dark:!0}),V_=Ra.define([{tag:$.keyword,color:Z_},{tag:[$.name,$.deleted,$.character,$.propertyName,$.macroName],color:dp},{tag:[$.function($.variableName),$.labelName],color:R_},{tag:[$.color,$.constant($.name),$.standard($.name)],color:$p},{tag:[$.definition($.name),$.separator],color:Ws},{tag:[$.typeName,$.className,$.number,$.changed,$.annotation,$.modifier,$.self,$.namespace],color:T_},{tag:[$.operator,$.operatorKeyword,$.url,$.escape,$.regexp,$.link,$.special($.string)],color:v_},{tag:[$.meta,$.comment],color:Fu},{tag:$.strong,fontWeight:"bold"},{tag:$.emphasis,fontStyle:"italic"},{tag:$.strikethrough,textDecoration:"line-through"},{tag:$.link,color:Fu,textDecoration:"underline"},{tag:$.heading,fontWeight:"bold",color:dp},{tag:[$.atom,$.bool,$.special($.variableName)],color:$p},{tag:[$.processingInstruction,$.string,$.inserted],color:Y_},{tag:$.invalid,color:__}]),W_=[q_,aS(V_)];var gp={};class go{constructor(e,i,n,O,r,a,s,o,l,c=0,u){this.p=e,this.stack=i,this.state=n,this.reducePos=O,this.pos=r,this.score=a,this.buffer=s,this.bufferBase=o,this.curContext=l,this.lookAhead=c,this.parent=u}toString(){return`[${this.stack.filter((e,i)=>i%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,i,n=0){let O=e.parser.context;return new go(e,[],i,n,n,0,[],0,O?new Pp(O,O.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,i){this.stack.push(this.state,i,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var i;let n=e>>19,O=e&65535,{parser:r}=this.p,a=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),s=r.dynamicPrecedence(O);if(s&&(this.score+=s),n==0){this.pushState(r.getGoto(this.state,O,!0),this.reducePos),O<r.minRepeatTerm&&this.storeNode(O,this.reducePos,this.reducePos,a?8:4,!0),this.reduceContext(O,this.reducePos);return}let o=this.stack.length-(n-1)*3-(e&262144?6:0),l=o?this.stack[o-2]:this.p.ranges[0].from,c=this.reducePos-l;c>=2e3&&!(!((i=this.p.parser.nodeSet.types[O])===null||i===void 0)&&i.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=c));let u=o?this.stack[o-1]:0,f=this.bufferBase+this.buffer.length-u;if(O<r.minRepeatTerm||e&131072){let d=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(O,l,d,f+4,!0)}if(e&262144)this.state=this.stack[o];else{let d=this.stack[o-3];this.state=r.getGoto(d,O,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(O,l)}storeNode(e,i,n,O=4,r=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let a=this,s=this.buffer.length;if(s==0&&a.parent&&(s=a.bufferBase-a.parent.bufferBase,a=a.parent),s>0&&a.buffer[s-4]==0&&a.buffer[s-1]>-1){if(i==n)return;if(a.buffer[s-2]>=i){a.buffer[s-2]=n;return}}}if(!r||this.pos==n)this.buffer.push(e,i,n,O);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let s=!1;for(let o=a;o>0&&this.buffer[o-2]>n;o-=4)if(this.buffer[o-1]>=0){s=!0;break}if(s)for(;a>0&&this.buffer[a-2]>n;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,O>4&&(O-=4)}this.buffer[a]=e,this.buffer[a+1]=i,this.buffer[a+2]=n,this.buffer[a+3]=O}}shift(e,i,n,O){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let r=e,{parser:a}=this.p;this.pos=O;let s=a.stateFlag(r,1);!s&&(O>n||i<=a.maxNode)&&(this.reducePos=O),this.pushState(r,s?n:Math.min(n,this.reducePos)),this.shiftContext(i,n),i<=a.maxNode&&this.buffer.push(i,n,O,4)}else this.pos=O,this.shiftContext(i,n),i<=this.p.parser.maxNode&&this.buffer.push(i,n,O,4)}apply(e,i,n,O){e&65536?this.reduce(e):this.shift(e,i,n,O)}useNode(e,i){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let O=this.pos;this.reducePos=this.pos=O+e.length,this.pushState(i,O),this.buffer.push(n,O,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,i=e.buffer.length;for(;i>0&&e.buffer[i-2]>e.reducePos;)i-=4;let n=e.buffer.slice(i),O=e.bufferBase+i;for(;e&&O==e.bufferBase;)e=e.parent;return new go(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,O,this.curContext,this.lookAhead,e)}recoverByDelete(e,i){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,i,4),this.storeNode(0,this.pos,i,n?8:4),this.pos=this.reducePos=i,this.score-=190}canShift(e){for(let i=new j_(this);;){let n=this.p.parser.stateSlot(i.state,4)||this.p.parser.hasAction(i.state,e);if(n==0)return!1;if((n&65536)==0)return!0;i.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let i=this.p.parser.nextStates(this.state);if(i.length>8||this.stack.length>=120){let O=[];for(let r=0,a;r<i.length;r+=2)(a=i[r+1])!=this.state&&this.p.parser.hasAction(a,e)&&O.push(i[r],a);if(this.stack.length<120)for(let r=0;O.length<8&&r<i.length;r+=2){let a=i[r+1];O.some((s,o)=>o&1&&s==a)||O.push(i[r],a)}i=O}let n=[];for(let O=0;O<i.length&&n.length<4;O+=2){let r=i[O+1];if(r==this.state)continue;let a=this.split();a.pushState(r,this.pos),a.storeNode(0,a.pos,a.pos,4,!0),a.shiftContext(i[O],this.pos),a.reducePos=this.pos,a.score-=200,n.push(a)}return n}forceReduce(){let{parser:e}=this.p,i=e.stateSlot(this.state,5);if((i&65536)==0)return!1;if(!e.validAction(this.state,i)){let n=i>>19,O=i&65535,r=this.stack.length-n*3;if(r<0||e.getGoto(this.stack[r],O,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;i=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(i),!0}findForcedReduction(){let{parser:e}=this.p,i=[],n=(O,r)=>{if(!i.includes(O))return i.push(O),e.allActions(O,a=>{if(!(a&393216))if(a&65536){let s=(a>>19)-r;if(s>1){let o=a&65535,l=this.stack.length-s*3;if(l>=0&&e.getGoto(this.stack[l],o,!1)>=0)return s<<19|65536|o}}else{let s=n(a,r+1);if(s!=null)return s}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let i=0;i<this.stack.length;i+=3)if(this.stack[i]!=e.stack[i])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(i)))}reduceContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(i)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let i=new Pp(this.curContext.tracker,e);i.hash!=this.curContext.hash&&this.emitContext(),this.curContext=i}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Pp{constructor(e,i){this.tracker=e,this.context=i,this.hash=e.strict?e.hash(i):0}}class j_{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let i=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let O=this.start.p.parser.getGoto(this.stack[this.base-3],i,!0);this.state=O}}class Po{constructor(e,i,n){this.stack=e,this.pos=i,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,i=e.bufferBase+e.buffer.length){return new Po(e,i,i-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Po(this.stack,this.pos,this.index)}}function Wr(t,e=Uint16Array){if(typeof t!="string")return t;let i=null;for(let n=0,O=0;n<t.length;){let r=0;for(;;){let a=t.charCodeAt(n++),s=!1;if(a==126){r=65535;break}a>=92&&a--,a>=34&&a--;let o=a-32;if(o>=46&&(o-=46,s=!0),r+=o,s)break;r*=46}i?i[O++]=r:i=new e(r)}return i}class js{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Sp=new js;class C_{constructor(e,i){this.input=e,this.ranges=i,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Sp,this.rangeIndex=0,this.pos=this.chunkPos=i[0].from,this.range=i[0],this.end=i[i.length-1].to,this.readNext()}resolveOffset(e,i){let n=this.range,O=this.rangeIndex,r=this.pos+e;for(;r<n.from;){if(!O)return null;let a=this.ranges[--O];r-=n.from-a.to,n=a}for(;i<0?r>n.to:r>=n.to;){if(O==this.ranges.length-1)return null;let a=this.ranges[++O];r+=a.from-n.to,n=a}return r}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let i of this.ranges)if(i.to>e)return Math.max(e,i.from);return this.end}peek(e){let i=this.chunkOff+e,n,O;if(i>=0&&i<this.chunk.length)n=this.pos+e,O=this.chunk.charCodeAt(i);else{let r=this.resolveOffset(e,1);if(r==null)return-1;if(n=r,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)O=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let a=this.rangeIndex,s=this.range;for(;s.to<=n;)s=this.ranges[++a];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>s.to&&(this.chunk2=this.chunk2.slice(0,s.to-n)),O=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),O}acceptToken(e,i=0){let n=i?this.resolveOffset(i,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}acceptTokenTo(e,i){this.token.value=e,this.token.end=i}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:i}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=i,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),i=this.pos+e.length;this.chunk=i>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,i){if(i?(this.token=i,i.start=e,i.lookAhead=e+1,i.value=i.extended=-1):this.token=Sp,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,i){if(e>=this.chunkPos&&i<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,i-this.chunkPos);if(e>=this.chunk2Pos&&i<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,i-this.chunk2Pos);if(e>=this.range.from&&i<=this.range.to)return this.input.read(e,i);let n="";for(let O of this.ranges){if(O.from>=i)break;O.to>e&&(n+=this.input.read(Math.max(O.from,e),Math.min(O.to,i)))}return n}}class BO{constructor(e,i){this.data=e,this.id=i}token(e,i){let{parser:n}=i.p;nb(this.data,e,i,this.id,n.data,n.tokenPrecTable)}}BO.prototype.contextual=BO.prototype.fallback=BO.prototype.extend=!1;class ua{constructor(e,i,n){this.precTable=i,this.elseToken=n,this.data=typeof e=="string"?Wr(e):e}token(e,i){let n=e.pos,O=0;for(;;){let r=e.next<0,a=e.resolveOffset(1,1);if(nb(this.data,e,i,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(r||O++,a==null)break;e.reset(a,e.token)}O&&(e.reset(n,e.token),e.acceptToken(this.elseToken,O))}}ua.prototype.contextual=BO.prototype.fallback=BO.prototype.extend=!1;class ke{constructor(e,i={}){this.token=e,this.contextual=!!i.contextual,this.fallback=!!i.fallback,this.extend=!!i.extend}}function nb(t,e,i,n,O,r){let a=0,s=1<<n,{dialect:o}=i.p.parser;e:for(;(s&t[a])!=0;){let l=t[a+1];for(let d=a+3;d<l;d+=2)if((t[d+1]&s)>0){let p=t[d];if(o.allows(p)&&(e.token.value==-1||e.token.value==p||E_(p,e.token.value,O,r))){e.acceptToken(p);break}}let c=e.next,u=0,f=t[a+2];if(e.next<0&&f>u&&t[l+f*3-3]==65535){a=t[l+f*3-1];continue e}for(;u<f;){let d=u+f>>1,p=l+d+(d<<1),Q=t[p],P=t[p+1]||65536;if(c<Q)f=d;else if(c>=P)u=d+1;else{a=t[p+2],e.advance();continue e}}break}}function bp(t,e,i){for(let n=e,O;(O=t[n])!=65535;n++)if(O==i)return n-e;return-1}function E_(t,e,i,n){let O=bp(i,n,e);return O<0||bp(i,n,t)<O}const Ct=typeof process<"u"&&gp&&/\bparse\b/.test(gp.LOG);let oc=null;function yp(t,e,i){let n=t.cursor(Ye.IncludeAnonymous);for(n.moveTo(e);;)if(!(i<0?n.childBefore(e):n.childAfter(e)))for(;;){if((i<0?n.to<e:n.from>e)&&!n.type.isError)return i<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(t.length,Math.max(n.from+1,e+25));if(i<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return i<0?0:t.length}}let G_=class{constructor(e,i){this.fragments=e,this.nodeSet=i,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?yp(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?yp(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let i=this.trees.length-1;if(i<0)return this.nextFragment(),null;let n=this.trees[i],O=this.index[i];if(O==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let r=n.children[O],a=this.start[i]+n.positions[O];if(a>e)return this.nextStart=a,null;if(r instanceof Pe){if(a==e){if(a<this.safeFrom)return null;let s=a+r.length;if(s<=this.safeTo){let o=r.prop(ue.lookAhead);if(!o||s+o<this.fragment.to)return r}}this.index[i]++,a+r.length>=Math.max(this.safeFrom,e)&&(this.trees.push(r),this.start.push(a),this.index.push(0))}else this.index[i]++,this.nextStart=a+r.length}}};class A_{constructor(e,i){this.stream=i,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new js)}getActions(e){let i=0,n=null,{parser:O}=e.p,{tokenizers:r}=O,a=O.stateSlot(e.state,3),s=e.curContext?e.curContext.hash:0,o=0;for(let l=0;l<r.length;l++){if((1<<l&a)==0)continue;let c=r[l],u=this.tokens[l];if(!(n&&!c.fallback)&&((c.contextual||u.start!=e.pos||u.mask!=a||u.context!=s)&&(this.updateCachedToken(u,c,e),u.mask=a,u.context=s),u.lookAhead>u.end+25&&(o=Math.max(u.lookAhead,o)),u.value!=0)){let f=i;if(u.extended>-1&&(i=this.addActions(e,u.extended,u.end,i)),i=this.addActions(e,u.value,u.end,i),!c.extend&&(n=u,i>f))break}}for(;this.actions.length>i;)this.actions.pop();return o&&e.setLookAhead(o),!n&&e.pos==this.stream.end&&(n=new js,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,i=this.addActions(e,n.value,n.end,i)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let i=new js,{pos:n,p:O}=e;return i.start=n,i.end=Math.min(n+1,O.stream.end),i.value=n==O.stream.end?O.parser.eofTerm:0,i}updateCachedToken(e,i,n){let O=this.stream.clipPos(n.pos);if(i.token(this.stream.reset(O,e),n),e.value>-1){let{parser:r}=n.p;for(let a=0;a<r.specialized.length;a++)if(r.specialized[a]==e.value){let s=r.specializers[a](this.stream.read(e.start,e.end),n);if(s>=0&&n.p.parser.dialect.allows(s>>1)){(s&1)==0?e.value=s>>1:e.extended=s>>1;break}}}else e.value=0,e.end=this.stream.clipPos(O+1)}putAction(e,i,n,O){for(let r=0;r<O;r+=3)if(this.actions[r]==e)return O;return this.actions[O++]=e,this.actions[O++]=i,this.actions[O++]=n,O}addActions(e,i,n,O){let{state:r}=e,{parser:a}=e.p,{data:s}=a;for(let o=0;o<2;o++)for(let l=a.stateSlot(r,o?2:1);;l+=3){if(s[l]==65535)if(s[l+1]==1)l=Di(s,l+2);else{O==0&&s[l+1]==2&&(O=this.putAction(Di(s,l+2),i,n,O));break}s[l]==i&&(O=this.putAction(Di(s,l+1),i,n,O))}return O}}class N_{constructor(e,i,n,O){this.parser=e,this.input=i,this.ranges=O,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new C_(i,O),this.tokens=new A_(e,this.stream),this.topTerm=e.top[1];let{from:r}=O[0];this.stacks=[go.start(this,e.top[0],r)],this.fragments=n.length&&this.stream.end-r>e.bufferLength*4?new G_(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,i=this.minStackPos,n=this.stacks=[],O,r;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let s=e[a];for(;;){if(this.tokens.mainToken=null,s.pos>i)n.push(s);else{if(this.advanceStack(s,n,e))continue;{O||(O=[],r=[]),O.push(s);let o=this.tokens.getMainToken(s);r.push(o.value,o.end)}}break}}if(!n.length){let a=O&&L_(O);if(a)return Ct&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Ct&&O&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&O){let a=this.stoppedAt!=null&&O[0].pos>this.stoppedAt?O[0]:this.runRecovery(O,r,n);if(a)return Ct&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(n.length>a)for(n.sort((s,o)=>o.score-s.score);n.length>a;)n.pop();n.some(s=>s.reducePos>i)&&this.recovering--}else if(n.length>1){e:for(let a=0;a<n.length-1;a++){let s=n[a];for(let o=a+1;o<n.length;o++){let l=n[o];if(s.sameState(l)||s.buffer.length>500&&l.buffer.length>500)if((s.score-l.score||s.buffer.length-l.buffer.length)>0)n.splice(o--,1);else{n.splice(a--,1);continue e}}}n.length>12&&(n.sort((a,s)=>s.score-a.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let a=1;a<n.length;a++)n[a].pos<this.minStackPos&&(this.minStackPos=n[a].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,i,n){let O=e.pos,{parser:r}=this,a=Ct?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&O>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let l=e.curContext&&e.curContext.tracker.strict,c=l?e.curContext.hash:0;for(let u=this.fragments.nodeAt(O);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?r.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!l||(u.prop(ue.contextHash)||0)==c))return e.useNode(u,f),Ct&&console.log(a+this.stackID(e)+` (via reuse of ${r.getName(u.type.id)})`),!0;if(!(u instanceof Pe)||u.children.length==0||u.positions[0]>0)break;let d=u.children[0];if(d instanceof Pe&&u.positions[0]==0)u=d;else break}}let s=r.stateSlot(e.state,4);if(s>0)return e.reduce(s),Ct&&console.log(a+this.stackID(e)+` (via always-reduce ${r.getName(s&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let l=0;l<o.length;){let c=o[l++],u=o[l++],f=o[l++],d=l==o.length||!n,p=d?e:e.split(),Q=this.tokens.mainToken;if(p.apply(c,u,Q?Q.start:p.pos,f),Ct&&console.log(a+this.stackID(p)+` (via ${(c&65536)==0?"shift":`reduce of ${r.getName(c&65535)}`} for ${r.getName(u)} @ ${O}${p==e?"":", split"})`),d)return!0;p.pos>O?i.push(p):n.push(p)}return!1}advanceFully(e,i){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return xp(e,i),!0}}runRecovery(e,i,n){let O=null,r=!1;for(let a=0;a<e.length;a++){let s=e[a],o=i[a<<1],l=i[(a<<1)+1],c=Ct?this.stackID(s)+" -> ":"";if(s.deadEnd&&(r||(r=!0,s.restart(),Ct&&console.log(c+this.stackID(s)+" (restarted)"),this.advanceFully(s,n))))continue;let u=s.split(),f=c;for(let d=0;d<10&&u.forceReduce()&&(Ct&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,n));d++)Ct&&(f=this.stackID(u)+" -> ");for(let d of s.recoverByInsert(o))Ct&&console.log(c+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>s.pos?(l==s.pos&&(l++,o=0),s.recoverByDelete(o,l),Ct&&console.log(c+this.stackID(s)+` (via recover-delete ${this.parser.getName(o)})`),xp(s,n)):(!O||O.score<u.score)&&(O=u)}return O}stackToTree(e){return e.close(),Pe.build({buffer:Po.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let i=(oc||(oc=new WeakMap)).get(e);return i||oc.set(e,i=String.fromCodePoint(this.nextStackID++)),i+e}}function xp(t,e){for(let i=0;i<e.length;i++){let n=e[i];if(n.pos==t.pos&&n.sameState(t)){e[i].score<t.score&&(e[i]=t);return}}e.push(t)}class I_{constructor(e,i,n){this.source=e,this.flags=i,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}}const lc=t=>t;class za{constructor(e){this.start=e.start,this.shift=e.shift||lc,this.reduce=e.reduce||lc,this.reuse=e.reuse||lc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class yt extends Ao{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let i=e.nodeNames.split(" ");this.minRepeatTerm=i.length;for(let s=0;s<e.repeatNodeCount;s++)i.push("");let n=Object.keys(e.topRules).map(s=>e.topRules[s][1]),O=[];for(let s=0;s<i.length;s++)O.push([]);function r(s,o,l){O[s].push([o,o.deserialize(String(l))])}if(e.nodeProps)for(let s of e.nodeProps){let o=s[0];typeof o=="string"&&(o=ue[o]);for(let l=1;l<s.length;){let c=s[l++];if(c>=0)r(c,o,s[l++]);else{let u=s[l+-c];for(let f=-c;f>0;f--)r(s[l++],o,u);l++}}}this.nodeSet=new fr(i.map((s,o)=>He.define({name:o>=this.minRepeatTerm?void 0:s,id:o,props:O[o],top:n.indexOf(o)>-1,error:o==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=GP;let a=Wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let s=0;s<this.specializerSpecs.length;s++)this.specialized[s]=this.specializerSpecs[s].term;this.specializers=this.specializerSpecs.map(Xp),this.states=Wr(e.states,Uint32Array),this.data=Wr(e.stateData),this.goto=Wr(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(s=>typeof s=="number"?new BO(a,s):s),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,i,n){let O=new N_(this,e,i,n);for(let r of this.wrappers)O=r(O,e,i,n);return O}getGoto(e,i,n=!1){let O=this.goto;if(i>=O[0])return-1;for(let r=O[i+1];;){let a=O[r++],s=a&1,o=O[r++];if(s&&n)return o;for(let l=r+(a>>1);r<l;r++)if(O[r]==e)return o;if(s)return-1}}hasAction(e,i){let n=this.data;for(let O=0;O<2;O++)for(let r=this.stateSlot(e,O?2:1),a;;r+=3){if((a=n[r])==65535)if(n[r+1]==1)a=n[r=Di(n,r+2)];else{if(n[r+1]==2)return Di(n,r+2);break}if(a==i||a==0)return Di(n,r+1)}return 0}stateSlot(e,i){return this.states[e*6+i]}stateFlag(e,i){return(this.stateSlot(e,0)&i)>0}validAction(e,i){return!!this.allActions(e,n=>n==i?!0:null)}allActions(e,i){let n=this.stateSlot(e,4),O=n?i(n):void 0;for(let r=this.stateSlot(e,1);O==null;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=Di(this.data,r+2);else break;O=i(Di(this.data,r+1))}return O}nextStates(e){let i=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Di(this.data,n+2);else break;if((this.data[n+2]&1)==0){let O=this.data[n+1];i.some((r,a)=>a&1&&r==O)||i.push(this.data[n],O)}}return i}configure(e){let i=Object.assign(Object.create(yt.prototype),this);if(e.props&&(i.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);i.top=n}return e.tokenizers&&(i.tokenizers=this.tokenizers.map(n=>{let O=e.tokenizers.find(r=>r.from==n);return O?O.to:n})),e.specializers&&(i.specializers=this.specializers.slice(),i.specializerSpecs=this.specializerSpecs.map((n,O)=>{let r=e.specializers.find(s=>s.from==n.external);if(!r)return n;let a=Object.assign(Object.assign({},n),{external:r.to});return i.specializers[O]=Xp(a),a})),e.contextTracker&&(i.context=e.contextTracker),e.dialect&&(i.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(i.strict=e.strict),e.wrap&&(i.wrappers=i.wrappers.concat(e.wrap)),e.bufferLength!=null&&(i.bufferLength=e.bufferLength),i}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let i=this.dynamicPrecedences;return i==null?0:i[e]||0}parseDialect(e){let i=Object.keys(this.dialects),n=i.map(()=>!1);if(e)for(let r of e.split(" ")){let a=i.indexOf(r);a>=0&&(n[a]=!0)}let O=null;for(let r=0;r<i.length;r++)if(!n[r])for(let a=this.dialects[i[r]],s;(s=this.data[a++])!=65535;)(O||(O=new Uint8Array(this.maxTerm+1)))[s]=1;return new I_(e,n,O)}static deserialize(e){return new yt(e)}}function Di(t,e){return t[e]|t[e+1]<<16}function L_(t){let e=null;for(let i of t){let n=i.p.stoppedAt;(i.pos==i.p.stream.end||n!=null&&i.pos>n)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.score<i.score)&&(e=i)}return e}function Xp(t){if(t.external){let e=t.extend?1:0;return(i,n)=>t.external(i,n)<<1|e}return t.get}const D_=316,M_=317,wp=1,B_=2,F_=3,H_=4,K_=318,J_=320,eR=321,tR=5,iR=6,nR=0,Hu=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Ob=125,OR=59,Ku=47,rR=42,aR=43,sR=45,oR=60,lR=44,cR=63,uR=46,fR=91,hR=new za({start:!1,shift(t,e){return e==tR||e==iR||e==J_?t:e==eR},strict:!1}),dR=new ke((t,e)=>{let{next:i}=t;(i==Ob||i==-1||e.context)&&t.acceptToken(K_)},{contextual:!0,fallback:!0}),$R=new ke((t,e)=>{let{next:i}=t,n;Hu.indexOf(i)>-1||i==Ku&&((n=t.peek(1))==Ku||n==rR)||i!=Ob&&i!=OR&&i!=-1&&!e.context&&t.acceptToken(D_)},{contextual:!0}),pR=new ke((t,e)=>{t.next==fR&&!e.context&&t.acceptToken(M_)},{contextual:!0}),QR=new ke((t,e)=>{let{next:i}=t;if(i==aR||i==sR){if(t.advance(),i==t.next){t.advance();let n=!e.context&&e.canShift(wp);t.acceptToken(n?wp:B_)}}else i==cR&&t.peek(1)==uR&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(F_))},{contextual:!0});function cc(t,e){return t>=65&&t<=90||t>=97&&t<=122||t==95||t>=192||!e&&t>=48&&t<=57}const mR=new ke((t,e)=>{if(t.next!=oR||!e.dialectEnabled(nR)||(t.advance(),t.next==Ku))return;let i=0;for(;Hu.indexOf(t.next)>-1;)t.advance(),i++;if(cc(t.next,!0)){for(t.advance(),i++;cc(t.next,!1);)t.advance(),i++;for(;Hu.indexOf(t.next)>-1;)t.advance(),i++;if(t.next==lR)return;for(let n=0;;n++){if(n==7){if(!cc(t.next,!0))return;break}if(t.next!="extends".charCodeAt(n))break;t.advance(),i++}}t.acceptToken(H_,-i)}),gR=xt({"get set async static":$.modifier,"for while do if else switch try catch finally return throw break continue default case defer":$.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":$.operatorKeyword,"let var const using function class extends":$.definitionKeyword,"import export from":$.moduleKeyword,"with debugger new":$.keyword,TemplateString:$.special($.string),super:$.atom,BooleanLiteral:$.bool,this:$.self,null:$.null,Star:$.modifier,VariableName:$.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":$.function($.variableName),VariableDefinition:$.definition($.variableName),Label:$.labelName,PropertyName:$.propertyName,PrivatePropertyName:$.special($.propertyName),"CallExpression/MemberExpression/PropertyName":$.function($.propertyName),"FunctionDeclaration/VariableDefinition":$.function($.definition($.variableName)),"ClassDeclaration/VariableDefinition":$.definition($.className),"NewExpression/VariableName":$.className,PropertyDefinition:$.definition($.propertyName),PrivatePropertyDefinition:$.definition($.special($.propertyName)),UpdateOp:$.updateOperator,"LineComment Hashbang":$.lineComment,BlockComment:$.blockComment,Number:$.number,String:$.string,Escape:$.escape,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,RegExp:$.regexp,Equals:$.definitionOperator,Arrow:$.function($.punctuation),": Spread":$.punctuation,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,"InterpolationStart InterpolationEnd":$.special($.brace),".":$.derefOperator,", ;":$.separator,"@":$.meta,TypeName:$.typeName,TypeDefinition:$.definition($.typeName),"type enum interface implements namespace module declare":$.definitionKeyword,"abstract global Privacy readonly override":$.modifier,"is keyof unique infer asserts":$.operatorKeyword,JSXAttributeValue:$.attributeValue,JSXText:$.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":$.angleBracket,"JSXIdentifier JSXNameSpacedName":$.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":$.attributeName,"JSXBuiltin/JSXIdentifier":$.standard($.tagName)}),PR={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},SR={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},bR={__proto__:null,"<":193},yR=yt.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hOTX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WOPP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:hR,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[gR],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Wp(Z!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Wp(Z!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(z+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(Y';W$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Wp(Z!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Wp(Z!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Wp(Z!b(a+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[$R,pR,QR,mR,2,3,4,5,6,7,8,9,10,11,12,13,14,dR,new ua("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ua("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:t=>PR[t]||-1},{term:343,get:t=>SR[t]||-1},{term:95,get:t=>bR[t]||-1}],tokenPrec:15201});class xR{constructor(e,i,n,O){this.state=e,this.pos=i,this.explicit=n,this.view=O,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let i=Ze(this.state).resolveInner(this.pos,-1);for(;i&&e.indexOf(i.name)<0;)i=i.parent;return i?{from:i.from,to:this.pos,text:this.state.sliceDoc(i.from,this.pos),type:i.type}:null}matchBefore(e){let i=this.state.doc.lineAt(this.pos),n=Math.max(i.from,this.pos-250),O=i.text.slice(n-i.from,this.pos-i.from),r=O.search(wR(e));return r<0?null:{from:n+r,to:this.pos,text:O.slice(r)}}get aborted(){return this.abortListeners==null}addEventListener(e,i,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(i),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function kp(t){let e=Object.keys(t).join(""),i=/\w/.test(e);return i&&(e=e.replace(/\w/g,"")),`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function XR(t){let e=Object.create(null),i=Object.create(null);for(let{label:O}of t){e[O[0]]=!0;for(let r=1;r<O.length;r++)i[O[r]]=!0}let n=kp(e)+kp(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function Ph(t){let e=t.map(O=>typeof O=="string"?{label:O}:O),[i,n]=e.every(O=>/^\w+$/.test(O.label))?[/\w*$/,/\w+$/]:XR(e);return O=>{let r=O.matchBefore(n);return r||O.explicit?{from:r?r.from:O.pos,options:e,validFor:i}:null}}function Sh(t,e){return i=>{for(let n=Ze(i.state).resolveInner(i.pos,-1);n;n=n.parent){if(t.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(i)}}function wR(t,e){var i;let{source:n}=t,O=n[n.length-1]!="$";return O?new RegExp(`(?:${n})${O?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":""):t}const kR=On.define(),TR=K.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class vR{constructor(e,i,n,O){this.field=e,this.line=i,this.from=n,this.to=O}}class bh{constructor(e,i,n){this.field=e,this.from=i,this.to=n}map(e){let i=e.mapPos(this.from,-1,ht.TrackDel),n=e.mapPos(this.to,1,ht.TrackDel);return i==null||n==null?null:new bh(this.field,i,n)}}class yh{constructor(e,i){this.lines=e,this.fieldPositions=i}instantiate(e,i){let n=[],O=[i],r=e.doc.lineAt(i),a=/^\s*/.exec(r.text)[0];for(let o of this.lines){if(n.length){let l=a,c=/^\t*/.exec(o)[0].length;for(let u=0;u<c;u++)l+=e.facet(va);O.push(i+l.length-c),o=l+o.slice(c)}n.push(o),i+=o.length+1}let s=this.fieldPositions.map(o=>new bh(o.field,O[o.line]+o.from,O[o.line]+o.to));return{text:n,ranges:s}}static parse(e){let i=[],n=[],O=[],r;for(let a of e.split(/\r\n?|\n/)){for(;r=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let s=r[1]?+r[1]:null,o=r[2]||r[3]||"",l=-1,c=o.replace(/\\[{}]/g,u=>u[1]);for(let u=0;u<i.length;u++)(s!=null?i[u].seq==s:c&&i[u].name==c)&&(l=u);if(l<0){let u=0;for(;u<i.length&&(s==null||i[u].seq!=null&&i[u].seq<s);)u++;i.splice(u,0,{seq:s,name:c}),l=u;for(let f of O)f.field>=l&&f.field++}for(let u of O)if(u.line==n.length&&u.from>r.index){let f=r[2]?3+(r[1]||"").length:2;u.from-=f,u.to-=f}O.push(new vR(l,n.length,r.index,r.index+c.length)),a=a.slice(0,r.index)+o+a.slice(r.index+r[0].length)}a=a.replace(/\\([{}])/g,(s,o,l)=>{for(let c of O)c.line==n.length&&c.from>l&&(c.from--,c.to--);return o}),n.push(a)}return new yh(n,O)}}let _R=he.widget({widget:new class extends fO{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),RR=he.mark({class:"cm-snippetField"});class dr{constructor(e,i){this.ranges=e,this.active=i,this.deco=he.set(e.map(n=>(n.from==n.to?_R:RR).range(n.from,n.to)),!0)}map(e){let i=[];for(let n of this.ranges){let O=n.map(e);if(!O)return null;i.push(O)}return new dr(i,this.active)}selectionInsideField(e){return e.ranges.every(i=>this.ranges.some(n=>n.field==this.active&&n.from<=i.from&&n.to>=i.to))}}const Ua=Xe.define({map(t,e){return t&&t.map(e)}}),YR=Xe.define(),fa=Lt.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(Ua))return i.value;if(i.is(YR)&&t)return new dr(t.ranges,i.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>K.decorations.from(t,e=>e?e.deco:he.none)});function xh(t,e){return j.create(t.filter(i=>i.field==e).map(i=>j.range(i.from,i.to)))}function ZR(t){let e=yh.parse(t);return(i,n,O,r)=>{let{text:a,ranges:s}=e.instantiate(i.state,O),{main:o}=i.state.selection,l={changes:{from:O,to:r==o.from?o.to:r,insert:xe.of(a)},scrollIntoView:!0,annotations:n?[kR.of(n),Fe.userEvent.of("input.complete")]:void 0};if(s.length&&(l.selection=xh(s,0)),s.some(c=>c.field>0)){let c=new dr(s,0),u=l.effects=[Ua.of(c)];i.state.field(fa,!1)===void 0&&u.push(Xe.appendConfig.of([fa,WR,jR,TR]))}i.dispatch(i.state.update(l))}}function rb(t){return({state:e,dispatch:i})=>{let n=e.field(fa,!1);if(!n||t<0&&n.active==0)return!1;let O=n.active+t,r=t>0&&!n.ranges.some(a=>a.field==O+t);return i(e.update({selection:xh(n.ranges,O),effects:Ua.of(r?null:new dr(n.ranges,O)),scrollIntoView:!0})),!0}}const zR=({state:t,dispatch:e})=>t.field(fa,!1)?(e(t.update({effects:Ua.of(null)})),!0):!1,UR=rb(1),qR=rb(-1),VR=[{key:"Tab",run:UR,shift:qR},{key:"Escape",run:zR}],Tp=J.define({combine(t){return t.length?t[0]:VR}}),WR=cO.highest(Go.compute([Tp],t=>t.facet(Tp)));function Ne(t,e){return{...e,apply:ZR(t)}}const jR=K.domEventHandlers({mousedown(t,e){let i=e.state.field(fa,!1),n;if(!i||(n=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let O=i.ranges.find(r=>r.from<=n&&r.to>=n);return!O||O.field==i.active?!1:(e.dispatch({selection:xh(i.ranges,O.field),effects:Ua.of(i.ranges.some(r=>r.field>O.field)?new dr(i.ranges,O.field):null),scrollIntoView:!0}),!0)}}),ha={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ln=Xe.define({map(t,e){let i=e.mapPos(t,-1,ht.TrackAfter);return i??void 0}}),Xh=new class extends gn{};Xh.startSide=1;Xh.endSide=-1;const ab=Lt.define({create(){return Se.empty},update(t,e){if(t=t.map(e.changes),e.selection){let i=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:n=>n>=i.from&&n<=i.to})}for(let i of e.effects)i.is(Ln)&&(t=t.update({add:[Xh.range(i.value,i.value+1)]}));return t}});function v7(){return[ER,ab]}const uc="()[]{}<>«»»«[]{}";function sb(t){for(let e=0;e<uc.length;e+=2)if(uc.charCodeAt(e)==t)return uc.charAt(e+1);return xg(t<128?t:t+1)}function ob(t,e){return t.languageDataAt("closeBrackets",e)[0]||ha}const CR=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),ER=K.inputHandler.of((t,e,i,n)=>{if((CR?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let O=t.state.selection.main;if(n.length>2||n.length==2&&Xa(lO(n,0))==1||e!=O.from||i!=O.to)return!1;let r=AR(t.state,n);return r?(t.dispatch(r),!0):!1}),GR=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=ob(t,t.selection.main.head).brackets||ha.brackets,O=null,r=t.changeByRange(a=>{if(a.empty){let s=NR(t.doc,a.head);for(let o of n)if(o==s&&Ho(t.doc,a.head)==sb(lO(o,0)))return{changes:{from:a.head-o.length,to:a.head+o.length},range:j.cursor(a.head-o.length)}}return{range:O=a}});return O||e(t.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!O},_7=[{key:"Backspace",run:GR}];function AR(t,e){let i=ob(t,t.selection.main.head),n=i.brackets||ha.brackets;for(let O of n){let r=sb(lO(O,0));if(e==O)return r==O?DR(t,O,n.indexOf(O+O+O)>-1,i):IR(t,O,r,i.before||ha.before);if(e==r&&lb(t,t.selection.main.from))return LR(t,O,r)}return null}function lb(t,e){let i=!1;return t.field(ab).between(0,t.doc.length,n=>{n==e&&(i=!0)}),i}function Ho(t,e){let i=t.sliceString(e,e+2);return i.slice(0,Xa(lO(i,0)))}function NR(t,e){let i=t.sliceString(e-2,e);return Xa(lO(i,0))==i.length?i:i.slice(1)}function IR(t,e,i,n){let O=null,r=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:i,from:a.to}],effects:Ln.of(a.to+e.length),range:j.range(a.anchor+e.length,a.head+e.length)};let s=Ho(t.doc,a.head);return!s||/\s/.test(s)||n.indexOf(s)>-1?{changes:{insert:e+i,from:a.head},effects:Ln.of(a.head+e.length),range:j.cursor(a.head+e.length)}:{range:O=a}});return O?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function LR(t,e,i){let n=null,O=t.changeByRange(r=>r.empty&&Ho(t.doc,r.head)==i?{changes:{from:r.head,to:r.head+i.length,insert:i},range:j.cursor(r.head+i.length)}:n={range:r});return n?null:t.update(O,{scrollIntoView:!0,userEvent:"input.type"})}function DR(t,e,i,n){let O=n.stringPrefixes||ha.stringPrefixes,r=null,a=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:e,from:s.to}],effects:Ln.of(s.to+e.length),range:j.range(s.anchor+e.length,s.head+e.length)};let o=s.head,l=Ho(t.doc,o),c;if(l==e){if(vp(t,o))return{changes:{insert:e+e,from:o},effects:Ln.of(o+e.length),range:j.cursor(o+e.length)};if(lb(t,o)){let f=i&&t.sliceDoc(o,o+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:o,to:o+f.length,insert:f},range:j.cursor(o+f.length)}}}else{if(i&&t.sliceDoc(o-2*e.length,o)==e+e&&(c=_p(t,o-2*e.length,O))>-1&&vp(t,c))return{changes:{insert:e+e+e+e,from:o},effects:Ln.of(o+e.length),range:j.cursor(o+e.length)};if(t.charCategorizer(o)(l)!=Ee.Word&&_p(t,o,O)>-1&&!MR(t,o,e,O))return{changes:{insert:e+e,from:o},effects:Ln.of(o+e.length),range:j.cursor(o+e.length)}}return{range:r=s}});return r?null:t.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function vp(t,e){let i=Ze(t).resolveInner(e+1);return i.parent&&i.from==e}function MR(t,e,i,n){let O=Ze(t).resolveInner(e,-1),r=n.reduce((a,s)=>Math.max(a,s.length),0);for(let a=0;a<5;a++){let s=t.sliceDoc(O.from,Math.min(O.to,O.from+i.length+r)),o=s.indexOf(i);if(!o||o>-1&&n.indexOf(s.slice(0,o))>-1){let c=O.firstChild;for(;c&&c.from==O.from&&c.to-c.from>i.length+o;){if(t.sliceDoc(c.to-i.length,c.to)==i)return!1;c=c.firstChild}return!0}let l=O.to==e&&O.parent;if(!l)break;O=l}return!1}function _p(t,e,i){let n=t.charCategorizer(e);if(n(t.sliceDoc(e-1,e))!=Ee.Word)return e;for(let O of i){let r=e-O.length;if(t.sliceDoc(r,e)==O&&n(t.sliceDoc(r-1,r))!=Ee.Word)return r}return-1}const cb=[Ne("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Ne("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Ne("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Ne("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Ne("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Ne(`try {
|
|
20
|
-
\${}
|
|
21
|
-
} catch (\${error}) {
|
|
22
|
-
\${}
|
|
23
|
-
}`,{label:"try",detail:"/ catch block",type:"keyword"}),Ne("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Ne(`if (\${}) {
|
|
24
|
-
\${}
|
|
25
|
-
} else {
|
|
26
|
-
\${}
|
|
27
|
-
}`,{label:"if",detail:"/ else block",type:"keyword"}),Ne(`class \${name} {
|
|
28
|
-
constructor(\${params}) {
|
|
29
|
-
\${}
|
|
30
|
-
}
|
|
31
|
-
}`,{label:"class",detail:"definition",type:"keyword"}),Ne('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Ne('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],BR=cb.concat([Ne("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Ne("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Ne("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Rp=new nh,ub=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function kr(t){return(e,i)=>{let n=e.node.getChild("VariableDefinition");return n&&i(n,t),!0}}const FR=["FunctionDeclaration"],HR={FunctionDeclaration:kr("function"),ClassDeclaration:kr("class"),ClassExpression:()=>!0,EnumDeclaration:kr("constant"),TypeAliasDeclaration:kr("type"),NamespaceDeclaration:kr("namespace"),VariableDefinition(t,e){t.matchContext(FR)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function fb(t,e){let i=Rp.get(e);if(i)return i;let n=[],O=!0;function r(a,s){let o=t.sliceString(a.from,a.to);n.push({label:o,type:s})}return e.cursor(Ye.IncludeAnonymous).iterate(a=>{if(O)O=!1;else if(a.name){let s=HR[a.name];if(s&&s(a,r)||ub.has(a.name))return!1}else if(a.to-a.from>8192){for(let s of fb(t,a.node))n.push(s);return!1}}),Rp.set(e,n),n}const Yp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,hb=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function KR(t){let e=Ze(t.state).resolveInner(t.pos,-1);if(hb.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&Yp.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let n=[];for(let O=e;O;O=O.parent)ub.has(O.name)&&(n=n.concat(fb(t.state.doc,O)));return{options:n,from:i?e.from:t.pos,validFor:Yp}}const Yi=bt.define({name:"javascript",parser:yR.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b)/}),TryStatement:Ot({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:oh,SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},Block:Hi({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ot({except:/^\s*{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),wt.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":rn,BlockComment(t){return{from:t.from+2,to:t.to-2}},JSXElement(t){let e=t.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let i=t.lastChild;return{from:e.to,to:i.type.isError?t.to:i.from}},"JSXSelfClosingTag JSXOpenTag"(t){var e;let i=(e=t.firstChild)===null||e===void 0?void 0:e.nextSibling,n=t.lastChild;return!i||i.type.isError?null:{from:i.to,to:n.type.isError?t.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),db={test:t=>/^JSX/.test(t.name),facet:No({commentTokens:{block:{open:"{/*",close:"*/}"}}})},$b=Yi.configure({dialect:"ts"},"typescript"),pb=Yi.configure({dialect:"jsx",props:[rh.add(t=>t.isTop?[db]:void 0)]}),Qb=Yi.configure({dialect:"jsx ts",props:[rh.add(t=>t.isTop?[db]:void 0)]},"typescript");let mb=t=>({label:t,type:"keyword"});const gb="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(mb),JR=gb.concat(["declare","implements","private","protected","public"].map(mb));function jr(t={}){let e=t.jsx?t.typescript?Qb:pb:t.typescript?$b:Yi,i=t.typescript?BR.concat(JR):cb.concat(gb);return new Ut(e,[Yi.data.of({autocomplete:Sh(hb,Ph(i))}),Yi.data.of({autocomplete:KR}),t.jsx?iY:[]])}function eY(t){for(;;){if(t.name=="JSXOpenTag"||t.name=="JSXSelfClosingTag"||t.name=="JSXFragmentTag")return t;if(t.name=="JSXEscape"||!t.parent)return null;t=t.parent}}function Zp(t,e,i=t.length){for(let n=e==null?void 0:e.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return t.sliceString(n.from,Math.min(n.to,i));return""}const tY=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),iY=K.inputHandler.of((t,e,i,n,O)=>{if((tY?t.composing:t.compositionStarted)||t.state.readOnly||e!=i||n!=">"&&n!="/"||!Yi.isActiveAt(t.state,e,-1))return!1;let r=O(),{state:a}=r,s=a.changeByRange(o=>{var l;let{head:c}=o,u=Ze(a).resolveInner(c-1,-1),f;if(u.name=="JSXStartTag"&&(u=u.parent),!(a.doc.sliceString(c-1,c)!=n||u.name=="JSXAttributeValue"&&u.to>c)){if(n==">"&&u.name=="JSXFragmentTag")return{range:o,changes:{from:c,insert:"</>"}};if(n=="/"&&u.name=="JSXStartCloseTag"){let d=u.parent,p=d.parent;if(p&&d.from==c-2&&((f=Zp(a.doc,p.firstChild,c))||((l=p.firstChild)===null||l===void 0?void 0:l.name)=="JSXFragmentTag")){let Q=`${f}>`;return{range:j.cursor(c+Q.length,-1),changes:{from:c,insert:Q}}}}else if(n==">"){let d=eY(u);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(a.doc.sliceString(c,c+2))&&(f=Zp(a.doc,d,c)))return{range:o,changes:{from:c,insert:`</${f}>`}}}}return{range:o}});return s.changes.empty?!1:(t.dispatch([r,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),nY=1,Pb=194,Sb=195,OY=196,zp=197,rY=198,aY=199,sY=200,oY=2,bb=3,Up=201,lY=24,cY=25,uY=49,fY=50,hY=55,dY=56,$Y=57,pY=59,QY=60,mY=61,gY=62,PY=63,SY=65,bY=238,yY=71,xY=241,XY=242,wY=243,kY=244,TY=245,vY=246,_Y=247,RY=248,yb=72,YY=249,ZY=250,zY=251,UY=252,qY=253,VY=254,WY=255,jY=256,CY=73,EY=77,GY=263,AY=112,NY=130,IY=151,LY=152,DY=155,rO=10,da=13,wh=32,Ko=9,kh=35,MY=40,BY=46,Ju=123,qp=125,xb=39,Xb=34,Vp=92,FY=111,HY=120,KY=78,JY=117,eZ=85,tZ=new Set([cY,uY,fY,GY,SY,NY,dY,$Y,bY,gY,PY,yb,CY,EY,QY,mY,IY,LY,DY,AY]);function fc(t){return t==rO||t==da}function hc(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}const iZ=new ke((t,e)=>{let i;if(t.next<0)t.acceptToken(aY);else if(e.context.flags&Cs)fc(t.next)&&t.acceptToken(rY,1);else if(((i=t.peek(-1))<0||fc(i))&&e.canShift(zp)){let n=0;for(;t.next==wh||t.next==Ko;)t.advance(),n++;(t.next==rO||t.next==da||t.next==kh)&&t.acceptToken(zp,-n)}else fc(t.next)&&t.acceptToken(OY,1)},{contextual:!0}),nZ=new ke((t,e)=>{let i=e.context;if(i.flags)return;let n=t.peek(-1);if(n==rO||n==da){let O=0,r=0;for(;;){if(t.next==wh)O++;else if(t.next==Ko)O+=8-O%8;else break;t.advance(),r++}O!=i.indent&&t.next!=rO&&t.next!=da&&t.next!=kh&&(O<i.indent?t.acceptToken(Sb,-r):t.acceptToken(Pb))}}),Cs=1,wb=2,Ei=4,Gi=8,Ai=16,Ni=32;function Es(t,e,i){this.parent=t,this.indent=e,this.flags=i,this.hash=(t?t.hash+t.hash<<8:0)+e+(e<<4)+i+(i<<6)}const OZ=new Es(null,0,0);function rZ(t){let e=0;for(let i=0;i<t.length;i++)e+=t.charCodeAt(i)==Ko?8-e%8:1;return e}const Wp=new Map([[xY,0],[XY,Ei],[wY,Gi],[kY,Gi|Ei],[TY,Ai],[vY,Ai|Ei],[_Y,Ai|Gi],[RY,Ai|Gi|Ei],[YY,Ni],[ZY,Ni|Ei],[zY,Ni|Gi],[UY,Ni|Gi|Ei],[qY,Ni|Ai],[VY,Ni|Ai|Ei],[WY,Ni|Ai|Gi],[jY,Ni|Ai|Gi|Ei]].map(([t,e])=>[t,e|wb])),aZ=new za({start:OZ,reduce(t,e,i,n){return t.flags&Cs&&tZ.has(e)||(e==yY||e==yb)&&t.flags&wb?t.parent:t},shift(t,e,i,n){return e==Pb?new Es(t,rZ(n.read(n.pos,i.pos)),0):e==Sb?t.parent:e==lY||e==hY||e==pY||e==bb?new Es(t,0,Cs):Wp.has(e)?new Es(t,0,Wp.get(e)|t.flags&Cs):t},hash(t){return t.hash}}),sZ=new ke(t=>{for(let e=0;e<5;e++){if(t.next!="print".charCodeAt(e))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let e=0;;e++){let i=t.peek(e);if(!(i==wh||i==Ko)){i!=MY&&i!=BY&&i!=rO&&i!=da&&i!=kh&&t.acceptToken(nY);return}}}),oZ=new ke((t,e)=>{let{flags:i}=e.context,n=i&Ei?Xb:xb,O=(i&Gi)>0,r=!(i&Ai),a=(i&Ni)>0,s=t.pos;for(;!(t.next<0);)if(a&&t.next==Ju)if(t.peek(1)==Ju)t.advance(2);else{if(t.pos==s){t.acceptToken(bb,1);return}break}else if(r&&t.next==Vp){if(t.pos==s){t.advance();let o=t.next;o>=0&&(t.advance(),lZ(t,o)),t.acceptToken(oY);return}break}else if(t.next==Vp&&!r&&t.peek(1)>-1)t.advance(2);else if(t.next==n&&(!O||t.peek(1)==n&&t.peek(2)==n)){if(t.pos==s){t.acceptToken(Up,O?3:1);return}break}else if(t.next==rO){if(O)t.advance();else if(t.pos==s){t.acceptToken(Up);return}break}else t.advance();t.pos>s&&t.acceptToken(sY)});function lZ(t,e){if(e==FY)for(let i=0;i<2&&t.next>=48&&t.next<=55;i++)t.advance();else if(e==HY)for(let i=0;i<2&&hc(t.next);i++)t.advance();else if(e==JY)for(let i=0;i<4&&hc(t.next);i++)t.advance();else if(e==eZ)for(let i=0;i<8&&hc(t.next);i++)t.advance();else if(e==KY&&t.next==Ju){for(t.advance();t.next>=0&&t.next!=qp&&t.next!=xb&&t.next!=Xb&&t.next!=rO;)t.advance();t.next==qp&&t.advance()}}const cZ=xt({'async "*" "**" FormatConversion FormatSpec':$.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":$.controlKeyword,"in not and or is del":$.operatorKeyword,"from def class global nonlocal lambda":$.definitionKeyword,import:$.moduleKeyword,"with as print":$.keyword,Boolean:$.bool,None:$.null,VariableName:$.variableName,"CallExpression/VariableName":$.function($.variableName),"FunctionDefinition/VariableName":$.function($.definition($.variableName)),"ClassDefinition/VariableName":$.definition($.className),PropertyName:$.propertyName,"CallExpression/MemberExpression/PropertyName":$.function($.propertyName),Comment:$.lineComment,Number:$.number,String:$.string,FormatString:$.special($.string),Escape:$.escape,UpdateOp:$.updateOperator,"ArithOp!":$.arithmeticOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,AssignOp:$.definitionOperator,Ellipsis:$.punctuation,At:$.meta,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,".":$.derefOperator,", ;":$.separator}),uZ={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},fZ=yt.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:aZ,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[cZ],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[sZ,nZ,iZ,oZ,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:t=>uZ[t]||-1}],tokenPrec:7668}),jp=new nh,kb=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function $s(t){return(e,i,n)=>{if(n)return!1;let O=e.node.getChild("VariableName");return O&&i(O,t),!0}}const hZ={FunctionDefinition:$s("function"),ClassDefinition:$s("class"),ForStatement(t,e,i){if(i){for(let n=t.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(t,e){var i,n;let{node:O}=t,r=((i=O.firstChild)===null||i===void 0?void 0:i.name)=="from";for(let a=O.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((n=a.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(a,r?"variable":"namespace")},AssignStatement(t,e){for(let i=t.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name==":"||i.name=="AssignOp")break},ParamList(t,e){for(let i=null,n=t.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!i||!/\*|AssignOp/.test(i.name))&&e(n,"variable"),i=n},CapturePattern:$s("variable"),AsPattern:$s("variable"),__proto__:null};function Tb(t,e){let i=jp.get(e);if(i)return i;let n=[],O=!0;function r(a,s){let o=t.sliceString(a.from,a.to);n.push({label:o,type:s})}return e.cursor(Ye.IncludeAnonymous).iterate(a=>{if(a.name){let s=hZ[a.name];if(s&&s(a,r,O)||!O&&kb.has(a.name))return!1;O=!1}else if(a.to-a.from>8192){for(let s of Tb(t,a.node))n.push(s);return!1}}),jp.set(e,n),n}const Cp=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,vb=["String","FormatString","Comment","PropertyName"];function dZ(t){let e=Ze(t.state).resolveInner(t.pos,-1);if(vb.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&Cp.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let n=[];for(let O=e;O;O=O.parent)kb.has(O.name)&&(n=n.concat(Tb(t.state.doc,O)));return{options:n,from:i?e.from:t.pos,validFor:Cp}}const $Z=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(t=>({label:t,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(t=>({label:t,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(t=>({label:t,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(t=>({label:t,type:"function"}))),pZ=[Ne("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),Ne("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),Ne("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),Ne("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),Ne(`if \${}:
|
|
32
|
-
|
|
33
|
-
`,{label:"if",detail:"block",type:"keyword"}),Ne("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),Ne("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),Ne("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Ne("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],QZ=Sh(vb,Ph($Z.concat(pZ)));function dc(t){let{node:e,pos:i}=t,n=t.lineIndent(i,-1),O=null;for(;;){let r=e.childBefore(i);if(r)if(r.name=="Comment")i=r.from;else if(r.name=="Body"||r.name=="MatchBody")t.baseIndentFor(r)+t.unit<=n&&(O=r),e=r;else if(r.name=="MatchClause")e=r;else if(r.type.is("Statement"))e=r;else break;else break}return O}function $c(t,e){let i=t.baseIndentFor(e),n=t.lineAt(t.pos,-1),O=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&t.node.to<O+100&&!/\S/.test(t.state.sliceDoc(O,t.node.to))&&t.lineIndent(t.pos,-1)<=i||/^\s*(else:|elif |except |finally:|case\s+[^=:]+:)/.test(t.textAfter)&&t.lineIndent(t.pos,-1)>i?null:i+t.unit}const pc=bt.define({name:"python",parser:fZ.configure({props:[Xt.add({Body:t=>{var e;let i=/^\s*(#|$)/.test(t.textAfter)&&dc(t)||t.node;return(e=$c(t,i))!==null&&e!==void 0?e:t.continue()},MatchBody:t=>{var e;let i=dc(t);return(e=$c(t,i||t.node))!==null&&e!==void 0?e:t.continue()},IfStatement:t=>/^\s*(else:|elif )/.test(t.textAfter)?t.baseIndent:t.continue(),"ForStatement WhileStatement":t=>/^\s*else:/.test(t.textAfter)?t.baseIndent:t.continue(),TryStatement:t=>/^\s*(except[ :]|finally:|else:)/.test(t.textAfter)?t.baseIndent:t.continue(),MatchStatement:t=>/^\s*case /.test(t.textAfter)?t.baseIndent+t.unit:t.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":Hi({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":Hi({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":Hi({closing:"]"}),MemberExpression:t=>t.baseIndent+t.unit,"String FormatString":()=>null,Script:t=>{var e;let i=dc(t);return(e=i&&$c(t,i))!==null&&e!==void 0?e:t.continue()}}),wt.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":rn,Body:(t,e)=>({from:t.from+1,to:t.to-(t.to==e.doc.length?0:1)}),"String FormatString":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function mZ(){return new Ut(pc,[pc.data.of({autocomplete:dZ}),pc.data.of({autocomplete:QZ})])}const gZ=55,PZ=1,SZ=56,bZ=2,yZ=57,xZ=3,Ep=4,XZ=5,Th=6,_b=7,Rb=8,Yb=9,Zb=10,wZ=11,kZ=12,TZ=13,Qc=58,vZ=14,_Z=15,Gp=59,zb=21,RZ=23,Ub=24,YZ=25,ef=27,qb=28,ZZ=29,zZ=32,UZ=35,qZ=37,VZ=38,WZ=0,jZ=1,CZ={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},EZ={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Ap={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function GZ(t){return t==45||t==46||t==58||t>=65&&t<=90||t==95||t>=97&&t<=122||t>=161}let Np=null,Ip=null,Lp=0;function tf(t,e){let i=t.pos+e;if(Lp==i&&Ip==t)return Np;let n=t.peek(e),O="";for(;GZ(n);)O+=String.fromCharCode(n),n=t.peek(++e);return Ip=t,Lp=i,Np=O?O.toLowerCase():n==AZ||n==NZ?void 0:null}const Vb=60,So=62,vh=47,AZ=63,NZ=33,IZ=45;function Dp(t,e){this.name=t,this.parent=e}const LZ=[Th,Zb,_b,Rb,Yb],DZ=new za({start:null,shift(t,e,i,n){return LZ.indexOf(e)>-1?new Dp(tf(n,1)||"",t):t},reduce(t,e){return e==zb&&t?t.parent:t},reuse(t,e,i,n){let O=e.type.id;return O==Th||O==qZ?new Dp(tf(n,1)||"",t):t},strict:!1}),MZ=new ke((t,e)=>{if(t.next!=Vb){t.next<0&&e.context&&t.acceptToken(Qc);return}t.advance();let i=t.next==vh;i&&t.advance();let n=tf(t,0);if(n===void 0)return;if(!n)return t.acceptToken(i?_Z:vZ);let O=e.context?e.context.name:null;if(i){if(n==O)return t.acceptToken(wZ);if(O&&EZ[O])return t.acceptToken(Qc,-2);if(e.dialectEnabled(WZ))return t.acceptToken(kZ);for(let r=e.context;r;r=r.parent)if(r.name==n)return;t.acceptToken(TZ)}else{if(n=="script")return t.acceptToken(_b);if(n=="style")return t.acceptToken(Rb);if(n=="textarea")return t.acceptToken(Yb);if(CZ.hasOwnProperty(n))return t.acceptToken(Zb);O&&Ap[O]&&Ap[O][n]?t.acceptToken(Qc,-1):t.acceptToken(Th)}},{contextual:!0}),BZ=new ke(t=>{for(let e=0,i=0;;i++){if(t.next<0){i&&t.acceptToken(Gp);break}if(t.next==IZ)e++;else if(t.next==So&&e>=2){i>=3&&t.acceptToken(Gp,-2);break}else e=0;t.advance()}});function FZ(t){for(;t;t=t.parent)if(t.name=="svg"||t.name=="math")return!0;return!1}const HZ=new ke((t,e)=>{if(t.next==vh&&t.peek(1)==So){let i=e.dialectEnabled(jZ)||FZ(e.context);t.acceptToken(i?XZ:Ep,2)}else t.next==So&&t.acceptToken(Ep,1)});function _h(t,e,i){let n=2+t.length;return new ke(O=>{for(let r=0,a=0,s=0;;s++){if(O.next<0){s&&O.acceptToken(e);break}if(r==0&&O.next==Vb||r==1&&O.next==vh||r>=2&&r<n&&O.next==t.charCodeAt(r-2))r++,a++;else if(r==n&&O.next==So){s>a?O.acceptToken(e,-a):O.acceptToken(i,-(a-2));break}else if((O.next==10||O.next==13)&&s){O.acceptToken(e,1);break}else r=a=0;O.advance()}})}const KZ=_h("script",gZ,PZ),JZ=_h("style",SZ,bZ),ez=_h("textarea",yZ,xZ),tz=xt({"Text RawText IncompleteTag IncompleteCloseTag":$.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":$.angleBracket,TagName:$.tagName,"MismatchedCloseTag/TagName":[$.tagName,$.invalid],AttributeName:$.attributeName,"AttributeValue UnquotedAttributeValue":$.attributeValue,Is:$.definitionOperator,"EntityReference CharacterReference":$.character,Comment:$.blockComment,ProcessingInst:$.processingInstruction,DoctypeDecl:$.documentMeta}),iz=yt.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:DZ,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[tz],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[KZ,JZ,ez,HZ,MZ,BZ,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function Wb(t,e){let i=Object.create(null);for(let n of t.getChildren(Ub)){let O=n.getChild(YZ),r=n.getChild(ef)||n.getChild(qb);O&&(i[e.read(O.from,O.to)]=r?r.type.id==ef?e.read(r.from+1,r.to-1):e.read(r.from,r.to):"")}return i}function Mp(t,e){let i=t.getChild(RZ);return i?e.read(i.from,i.to):" "}function mc(t,e,i){let n;for(let O of i)if(!O.attrs||O.attrs(n||(n=Wb(t.node.parent.firstChild,e))))return{parser:O.parser,bracketed:!0};return null}function jb(t=[],e=[]){let i=[],n=[],O=[],r=[];for(let s of t)(s.tag=="script"?i:s.tag=="style"?n:s.tag=="textarea"?O:r).push(s);let a=e.length?Object.create(null):null;for(let s of e)(a[s.name]||(a[s.name]=[])).push(s);return Oh((s,o)=>{let l=s.type.id;if(l==ZZ)return mc(s,o,i);if(l==zZ)return mc(s,o,n);if(l==UZ)return mc(s,o,O);if(l==zb&&r.length){let c=s.node,u=c.firstChild,f=u&&Mp(u,o),d;if(f){for(let p of r)if(p.tag==f&&(!p.attrs||p.attrs(d||(d=Wb(u,o))))){let Q=c.lastChild,P=Q.type.id==VZ?Q.from:c.to;if(P>u.to)return{parser:p.parser,overlay:[{from:u.to,to:P}]}}}}if(a&&l==Ub){let c=s.node,u;if(u=c.firstChild){let f=a[o.read(u.from,u.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=Mp(c.parent,o))continue;let p=c.lastChild;if(p.type.id==ef){let Q=p.from+1,P=p.lastChild,m=p.to-(P&&P.isError?0:1);if(m>Q)return{parser:d.parser,overlay:[{from:Q,to:m}],bracketed:!0}}else if(p.type.id==qb)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}const nz=135,Bp=1,Oz=136,rz=137,Cb=2,az=138,sz=3,oz=4,Eb=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],lz=58,cz=40,Gb=95,uz=91,Gs=45,fz=46,hz=35,dz=37,$z=38,pz=92,Qz=10,mz=42;function $a(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function Rh(t){return t>=48&&t<=57}function Fp(t){return Rh(t)||t>=97&&t<=102||t>=65&&t<=70}const Ab=(t,e,i)=>(n,O)=>{for(let r=!1,a=0,s=0;;s++){let{next:o}=n;if($a(o)||o==Gs||o==Gb||r&&Rh(o))!r&&(o!=Gs||s>0)&&(r=!0),a===s&&o==Gs&&a++,n.advance();else if(o==pz&&n.peek(1)!=Qz){if(n.advance(),Fp(n.next)){do n.advance();while(Fp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();r=!0}else{r&&n.acceptToken(a==2&&O.canShift(Cb)?e:o==cz?i:t);break}}},gz=new ke(Ab(Oz,Cb,rz),{contextual:!0}),Pz=new ke(Ab(az,sz,oz),{contextual:!0}),Sz=new ke(t=>{if(Eb.includes(t.peek(-1))){let{next:e}=t;($a(e)||e==Gb||e==hz||e==fz||e==mz||e==uz||e==lz&&$a(t.peek(1))||e==Gs||e==$z)&&t.acceptToken(nz)}}),bz=new ke(t=>{if(!Eb.includes(t.peek(-1))){let{next:e}=t;if(e==dz&&(t.advance(),t.acceptToken(Bp)),$a(e)){do t.advance();while($a(t.next)||Rh(t.next));t.acceptToken(Bp)}}}),yz=xt({"AtKeyword import charset namespace keyframes media supports font-feature-values":$.definitionKeyword,"from to selector scope MatchFlag":$.keyword,NamespaceName:$.namespace,KeyframeName:$.labelName,KeyframeRangeName:$.operatorKeyword,TagName:$.tagName,ClassName:$.className,PseudoClassName:$.constant($.className),IdName:$.labelName,"FeatureName PropertyName":$.propertyName,AttributeName:$.attributeName,NumberLiteral:$.number,KeywordQuery:$.keyword,UnaryQueryOp:$.operatorKeyword,"CallTag ValueName FontName":$.atom,VariableName:$.variableName,Callee:$.operatorKeyword,Unit:$.unit,"UniversalSelector NestingSelector":$.definitionOperator,"MatchOp CompareOp":$.compareOperator,"ChildOp SiblingOp, LogicOp":$.logicOperator,BinOp:$.arithmeticOperator,Important:$.modifier,Comment:$.blockComment,ColorLiteral:$.color,"ParenthesizedContent StringLiteral":$.string,":":$.punctuation,"PseudoOp #":$.derefOperator,"; , |":$.separator,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace}),xz={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:132,"url-prefix":132,domain:132,regexp:132},Xz={__proto__:null,or:104,and:104,not:112,only:112,layer:186},wz={__proto__:null,selector:118,layer:182},kz={__proto__:null,"@import":178,"@media":190,"@charset":194,"@namespace":198,"@keyframes":204,"@supports":216,"@scope":220,"@font-feature-values":226},Tz={__proto__:null,to:223},vz=yt.deserialize({version:14,states:"IpQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FdO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#DtO'dQdO'#DvO'oQdO'#D}O'oQdO'#EQOOQP'#Fd'#FdO)OQhO'#EsOOQS'#Fc'#FcOOQS'#Ev'#EvQYQdOOO)VQdO'#EWO*cQhO'#E^O)VQdO'#E`O*jQdO'#EbO*uQdO'#EeO)zQhO'#EkO*}QdO'#EmO+YQdO'#EpO+_QaO'#CfO+fQ`O'#ETO+kQ`O'#FnO+vQdO'#FnQOQ`OOP,QO&jO'#CaPOOO)CAR)CAROOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,]QdO,59YO'_QdO,5:`O'dQdO,5:bO'oQdO,5:iO'oQdO,5:kO'oQdO,5:lO'oQdO'#E}O,hQ`O,58}O,pQdO'#ESOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO,wQ`O,59YO,|Q`O,59YOOQP'#Du'#DuOOQP,5:`,5:`O-RQpO'#DwO-^QdO'#DxO-cQ`O'#DxO-hQpO,5:bO.RQaO,5:iO.iQaO,5:lOOQW'#D^'#D^O/eQhO'#DgO/xQhO,5;_O)zQhO'#DeO0VQ`O'#DkO0[QhO'#DnOOQW'#Fj'#FjOOQS,5;_,5;_O0aQ`O'#DhOOQS-E8t-E8tOOQ['#Cv'#CvO0fQdO'#CwO0|QdO'#C}O1dQdO'#DQO1zQ!pO'#DSO4TQ!jO,5:rOOQO'#DX'#DXO,|Q`O'#DWO4eQ!nO'#FgO6hQ`O'#DYO6mQ`O'#DoOOQ['#Fg'#FgO6rQhO'#FqO7QQ`O,5:xO7VQ!bO,5:zOOQS'#Ed'#EdO7_Q`O,5:|O7dQdO,5:|OOQO'#Eg'#EgO7lQ`O,5;PO7qQhO,5;VO'oQdO'#DjOOQS,5;X,5;XO0aQ`O,5;XO7yQdO,5;XOOQS'#FU'#FUO8RQdO'#ErO7QQ`O,5;[O8ZQdO,5:oO8kQdO'#FPO8xQ`O,5<YO8xQ`O,5<YPOOO'#Eu'#EuP9TO&jO,58{POOO,58{,58{OOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO,wQ`O1G.tO,|Q`O1G.tOOQP1G/z1G/zO9`QpO1G/|O9hQaO1G0TO:OQaO1G0VO:fQaO1G0WO:|QaO,5;iOOQO-E8{-E8{OOQS1G.i1G.iO;WQ`O,5:nO;]QdO'#DsO;dQdO'#CuOOQO'#Dz'#DzOOQO,5:d,5:dO-^QdO,5:dOOQP1G/|1G/|O)VQdO1G/|O;kQ!jO'#D^O;yQ!bO,59yO<RQhO,5:ROOQO'#Fk'#FkO;|Q!bO,59}O<ZQhO'#FVO)zQhO,59{O)zQhO'#FVO=OQhO1G0yOOQS1G0y1G0yO=YQhO,5:PO>QQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO>[Q!fO'#FhOOQS'#Fh'#FhOOQS'#Ex'#ExO?lQdO,59cOOQ[,59c,59cO@SQdO,59iOOQ[,59i,59iO@jQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)VQdO,59pOAQQhO'#EYOOQW'#EY'#EYOAlQ`O1G0^O4^QhO1G0^OOQ[,59r,59rO)zQhO'#D[OOQ[,59t,59tOAqQ#tO,5:ZOA|QhO'#FROBZQ`O,5<]OOQS1G0d1G0dOOQS1G0f1G0fOOQS1G0h1G0hOBfQ`O1G0hOBkQdO'#EhOOQS1G0k1G0kOOQS1G0q1G0qOBvQaO,5:UO7QQ`O1G0sOOQS1G0s1G0sO0aQ`O1G0sOOQS-E9S-E9SOOQS1G0v1G0vOB}Q!fO1G0ZOCeQ`O'#EVOOQO1G0Z1G0ZOOQO,5;k,5;kOCjQdO,5;kOOQO-E8}-E8}OCwQ`O1G1tPOOO-E8s-E8sPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO)VQdO7+%hOOQS1G0Y1G0YODSQaO'#FmOD^Q`O,5:_ODcQ!fO'#EwOEaQdO'#FfOEkQ`O,59aOOQO1G0O1G0OOEpQ!bO7+%hO)VQdO1G/eOE{QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOF^QhO,5;qOOQW-E9T-E9TOOQS7+&e7+&eOGRQhO'#D^OGaQhO'#FlOGlQ`O'#FlOGqQ`O,5:WOOQS-E8v-E8vOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OGvQdO,5:tOOQS7+%x7+%xOG{Q`O7+%xOHQQhO'#D]OHYQ`O,59vO)zQhO,59vOOQ[1G/u1G/uOHbQ`O1G/uOHgQhO,5;mOOQO-E9P-E9POOQS7+&S7+&SOHuQbO'#DSOOQO'#Ej'#EjOITQ`O'#EiOOQO'#Ei'#EiOI`Q`O'#FSOIhQdO,5;SOOQS,5;S,5;SOOQ[1G/p1G/pOOQS7+&_7+&_O7QQ`O7+&_OIsQ!fO'#FOO)VQdO'#FOOJzQdO7+%uOOQO7+%u7+%uOOQO,5:q,5:qOOQO1G1V1G1VOK_Q!bO<<ISOKjQdO'#E|OKtQ`O,5<XOOQP1G/y1G/yOOQS-E8u-E8uOK|QdO'#E{OLWQ`O,5<QOOQ]1G.{1G.{OOQP<<IS<<ISOL`Q`O<<ISOLeQdO7+%POOQO'#D`'#D`OLlQ!bO7+%TOLtQhO'#EzOMRQ`O,5<WO)VQdO,5<WOOQW1G/r1G/rOOQO'#E['#E[OMZQ`O1G0`OOQS<<Id<<IdO)VQdO,59wOMzQhO1G/bOOQ[1G/b1G/bONRQ`O1G/bOOQW-E8w-E8wOOQ[7+%a7+%aOOQO,5;T,5;TOBnQdO'#FTOI`Q`O,5;nOOQS,5;n,5;nOOQS-E9Q-E9QOOQS1G0n1G0nOOQS<<Iy<<IyONZQ!fO,5;jOOQS-E8|-E8|OOQO<<Ia<<IaOOQPAN>nAN>nO! bQ`OAN>nO! gQaO,5;hOOQO-E8z-E8zO! qQdO,5;gOOQO-E8y-E8yOOQW<<Hk<<HkOOQW<<Ho<<HoO! {QhO<<HoO!!^QhO,5;fO!!iQ`O,5;fOOQO-E8x-E8xO!!nQdO1G1rOGvQdO'#FQO!!xQ`O7+%zOOQW7+%z7+%zO!#QQ!bO1G/cOOQ[7+$|7+$|O!#]QhO7+$|P!#dQ`O'#EyOOQO,5;o,5;oOOQO-E9R-E9ROOQS1G1Y1G1YOOQPG24YG24YO!#iQ`OAN>ZO)VQdO1G1QO!#nQ`O7+'^OOQO,5;l,5;lOOQO-E9O-E9OOOQW<<If<<IfOOQ[<<Hh<<HhPOQW,5;e,5;eOOQWG23uG23uO!#vQdO7+&l",stateData:"!$Z~O$QOS$RQQ~OWVO^_O`WOcYOdYOl`OmZOp[O!r]O!u^O!{dO#ReO#TfO#VgO#YhO#`iO#bjO#ekO#|RO$XTO~OQmOWVO^_O`WOcYOdYOl`OmZOp[O!r]O!u^O!{dO#ReO#TfO#VgO#YhO#`iO#bjO#ekO#|lO$XTO~O#z$bP~P!jO$RqO~O`YXcYXdYXmYXpYXsYX!aYX!rYX!uYX#{YX$X[X~OgYX~P$ZO#|sO~O$XuO~O$XuO`$WXc$WXd$WXm$WXp$WXs$WX!a$WX!r$WX!u$WX#{$WXg$WX~O#|vO~O`xOcyOdyOmzOp{O!r|O!u!OO#{}O~Os!RO!a!PO~P&^Of!XO#|!TO#}!UO~O#|!YO~OW!^O#|![O$X!]O~OWVO^_O`WOcYOdYOmZOp[O!r]O!u^O#|RO$XTO~OS!fOc!gOd!gOh!cOs!RO!Y!eO!]!jO$O!bO~On!iO~P(dOQ!tOh!mOp!nOs!oOu!wOw!wO}!uO!d!vO#|!lO#}!rO$]!pO~OS!fOc!gOd!gOh!cO!Y!eO!]!jO$O!bO~Os$eP~P)zOw!|O!d!vO#|!{O~Ow#OO#|#OO~Oh#ROs!RO#c#TO~O#|#VO~Oc!xX~P$ZOc#YO~On#ZO#z$bXr$bX~O#z$bXr$bX~P!jO$S#^O$T#^O$U#`O~Of#eO#|!TO#}!UO~Os!RO!a!PO~Or$bP~P!jOh#oO~Oh#pO~Oo!kX!o!kX$X!mX~O#|#qO~O$X#sO~Oo#tO!o#uO~O`xOcyOdyOmzOp{O~Os!qa!a!qa!r!qa!u!qa#{!qag!qa~P-pOs!ta!a!ta!r!ta!u!ta#{!tag!ta~P-pOS!fOc!gOd!gOh!cO!Y!eO!]!jO~OR#yOu#yOw#yO$O#vO$]!pO~P/POn$PO!U#|O!a#}O~P(dOh$RO~O$O$TO~Oh#RO~O`$WOc$WOg$ZOl$WOm$WOn$WO~P)VO`$WOc$WOl$WOm$WOn$WOo$]O~P)VO`$WOc$WOl$WOm$WOn$WOr$_O~P)VOP$`OSvXcvXdvXhvXnvXyvX!YvX!]vX!}vX#PvX$OvX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!dvX#|vX#}vX$]vXovXrvX!avX#zvX$dvX!pvX~Oy$aO!}$bO#P$cOn$eP~P)zOh#pOS$ZXc$ZXd$ZXn$ZXy$ZX!Y$ZX!]$ZX!}$ZX#P$ZX$O$ZXQ$ZX`$ZXg$ZXl$ZXm$ZXp$ZXs$ZXu$ZXw$ZX}$ZX!d$ZX#|$ZX#}$ZX$]$ZXo$ZXr$ZX!a$ZX#z$ZX$d$ZX!p$ZX~Oh$gO~Oh$iO~O!U#|O!a$jOs$eXn$eX~Os!RO~On$mOy$aO~On$nO~Ow$oO!d!vO~Os$pO~Os!RO!U#|O~Os!RO#c$vO~O#|#VOs#fX~O$d$zOn!wa#z!war!wa~P)VOn#sX#z#sXr#sX~P!jOn#ZO#z$bar$ba~O$S#^O$T#^O$U%RO~Oo%TO!o%UO~Os!qi!a!qi!r!qi!u!qi#{!qig!qi~P-pOs!si!a!si!r!si!u!si#{!sig!si~P-pOs!ti!a!ti!r!ti!u!ti#{!tig!ti~P-pOs#qa!a#qa~P&^Or%VO~Og$aP~P'oOg$YP~P)VOc!SXg!QX!U!QX!W!SX~Oc%_O!W%`O~Og%aO!U#|O~O!U#|OS#yXc#yXd#yXh#yXn#yXs#yX!Y#yX!]#yX!a#yX$O#yX~On%eO!a#}O~P(dO!U#|OS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!a!Xa$O!Xag!Xa~O$O%fOg$`P~P/POy$aOQ$[X`$[Xc$[Xg$[Xh$[Xl$[Xm$[Xn$[Xp$[Xs$[Xu$[Xw$[X}$[X!d$[X#|$[X#}$[X$]$[Xo$[Xr$[X~O`$WOc$WOg%kOl$WOm$WOn$WO~P)VO`$WOc$WOl$WOm$WOn$WOo%lO~P)VO`$WOc$WOl$WOm$WOn$WOr%mO~P)VOh%oOS!|Xc!|Xd!|Xn!|X!Y!|X!]!|X$O!|X~On%pO~Og%uOw%vO!e%vO~Os#uX!a#uXn#uX~P)zO!a$jOs$ean$ea~On%yO~Or&QO#|%{O$]%zO~Og&RO~P&^Oy$aO!a&VO$d$zOn!wi#z!wir!wi~P)VO$c&YO~On#sa#z#sar#sa~P!jOn#ZO#z$bir$bi~O!a&]Og$aX~P&^Og&_O~Oy$aOQ#kXg#kXh#kXp#kXs#kXu#kXw#kX}#kX!a#kX!d#kX#|#kX#}#kX$]#kX~O!a&aOg$YX~P)VOg&cO~Oo&dOy$aO!p&eO~OR#yOu#yOw#yO$O&gO$]!pO~O!U#|OS#yac#yad#yah#yan#yas#ya!Y#ya!]#ya!a#ya$O#ya~Oc!SXg!QX!U!QX!a!QX~O!U#|O!a&iOg$`X~Oc&kO~Og&lO~O#|&mO~On&oO~Oc&pO!U#|O~Og&rOn&qO~Og&uO~O!U#|Os#ua!a#uan#ua~OP$`OsvX!avXgvX~O$]%zOs#]X!a#]X~Os!RO!a&wO~Or&{O#|%{O$]%zO~Oy$aOQ#rXh#rXn#rXp#rXs#rXu#rXw#rX}#rX!a#rX!d#rX#z#rX#|#rX#}#rX$]#rX$d#rXr#rX~O!a&VO$d$zOn!wq#z!wqr!wq~P)VOo'QOy$aO!p'RO~Og#pX!a#pX~P'oO!a&]Og$aa~Og#oX!a#oX~P)VO!a&aOg$Ya~Oo'QO~Og'WO~P)VOg'XO!W'YO~O$O%fOg#nX!a#nX~P/PO!a&iOg$`a~O`'_Og'aO~OS#mac#mad#mah#ma!Y#ma!]#ma$O#ma~Og'cO~PMcOg'cOn'dO~Oy$aOQ#rah#ran#rap#ras#rau#raw#ra}#ra!a#ra!d#ra#z#ra#|#ra#}#ra$]#ra$d#rar#ra~Oo'iO~Og#pa!a#pa~P&^Og#oa!a#oa~P)VOR#yOu#yOw#yO$O&gO$]%zO~O!U#|Og#na!a#na~Oc'kO~O!a&iOg$`i~P)VO`'_Og'oO~Oy$aOg!Pin!Pi~Og'pO~PMcOn'qO~Og'rO~O!a&iOg$`q~Og#nq!a#nq~P)VO$Q!e$R$]`$]y!u~",goto:"4h$fPPPPP$gP$jP$s%V$s%i%{P$sP&R$sPP&XPPP&_&i&iPPPPP&iPP&iP'VP&iP&i(Q&iP(n(q(w(w)Z(wP(wP(wP(w(wP)j(w)vP(w)yPP*m*s$s*y$s+P+P+V+ZPP$sP$s$sP+a,],j,q$jP,zP,}P$jP$jP$jP-T$jP-W-Z-^-e$jP$jPP$jP-j$jP-m-s.S.j.x/O/Y/`/f/l/r/|0S0Y0`0f0lPPPPPPPPPPP0r0{P1q1t2vP3O3x4R4U4XPP4_RrQ_aOPco!R#Z$}q_OP]^co|}!O!P!R#R#Z#o$}&]qSOP]^co|}!O!P!R#R#Z#o$}&]qUOP]^co|}!O!P!R#R#Z#o$}&]QtTR#auQwWR#bxQ!VYR#cyQ#c!XS$f!s!tR%S#e!V!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k's!U!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sU#y!c%`'YU%}$p&P&wR&v%|!V!sdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sR$h!uQ%s$gR&s%tq!h`ei!c!d!e!q#|#}$O$R$e$g$j%t&iQ#w!cQ%h$RQ&h%`Q'[&iR'j'YQ#UjQ$U!jQ$t#TR&T$vR$S!f!U!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sQ!|gR$o!}Q!WYR#dyQ#c!WR%S#dQ!ZZR#fzQ!_[R#g{T!^[{Q#r!]R%]#sQ!SXQ!i`Q#SjQ#m!QQ$P!dQ$l!yQ$r#QQ$u#UQ$x#XQ%e$OQ&S$tQ&y&OQ&|&TR'h&xSnP!RQ#]oQ$|#ZR&Z$}ZmPo!R#Z$}Q${#YQ&X$yR'P&WR$e!qQ&n%oR'm'_R!}gR#PhR$q#PS&O$p&PR'f&wV%|$p&P&wR#XkQ#_qR%Q#_QcOSoP!RU!kco$}R$}#ZQ%Z#pY&`%Z&f'U'^'sQ&f%_Q'U&aQ'^&kR's'kQ$Y!mQ$[!nQ$^!oV%j$Y$[$^Q%t$gR&t%tQ&j%gS']&j'lR'l'^Q&b%ZR'V&bQ&^%WR'T&^Q!QXR#l!QQ&W$yR'O&WQ#[nS%O#[%PR%P#]Q'`&nR'n'`Q$k!xR%x$kQ&P$pR&z&PQ&x&OR'g&xQ#WkR$w#WQ$O!dR%d$O_bOPco!R#Z$}^XOPco!R#Z$}Q!`]Q!a^Q#h|Q#i}Q#j!OQ#k!PQ$s#RQ%W#oR'S&]R%[#pQ!qdQ!zf[$V!m!n!o$Y$[$^Q$y#Yd%Y#p%Z%_&a&f&k'U'^'k'sQ%^#uQ%n$aS&U$y&WQ&[%UQ&}&VR'b&p]$X!m!n!o$Y$[$^Q!d`U!xe!q$eQ#QiQ#x!cS#{!d$OQ$Q!eQ%b#|Q%c#}Q%g$RS%r$g%tQ%w$jR'Z&iQ#z!cQ&h%`R'j'YR%i$RR%X#oQpPR#n!RQ!yeQ$d!qR%q$e",nodeNames:"⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName NamespacedAttribute NamespaceName AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",maxTerm:159,nodeProps:[["isolate",-2,5,39,""],["openedBy",23,"(",31,"[",34,"{"],["closedBy",24,")",32,"]",35,"}"]],propSources:[yz],skippedNodes:[0,5,117],repeatNodeCount:17,tokenData:"K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$Q~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$Q~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$dYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!oS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!uQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$]YOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$]YOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!e`$R~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!oSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!rQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!rQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!pWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!pWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$cQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$XUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!uQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[Sz,bz,gz,Pz,1,2,3,4,new ua("m~RRYZ[z{a~~g~aO$T~~dP!P!Qg~lO$U~~",28,142)],topRules:{StyleSheet:[0,6],Styles:[1,116]},dynamicPrecedences:{84:1},specialized:[{term:137,get:t=>xz[t]||-1},{term:138,get:t=>Xz[t]||-1},{term:4,get:t=>wz[t]||-1},{term:28,get:t=>kz[t]||-1},{term:136,get:t=>Tz[t]||-1}],tokenPrec:2256});let gc=null;function Pc(){if(!gc&&typeof document=="object"&&document.body){let{style:t}=document.body,e=[],i=new Set;for(let n in t)n!="cssText"&&n!="cssFloat"&&typeof t[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,O=>"-"+O.toLowerCase())),i.has(n)||(e.push(n),i.add(n)));gc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return gc||[]}const Hp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(t=>({type:"class",label:t})),Kp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(t=>({type:"keyword",label:t})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(t=>({type:"constant",label:t}))),_z=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(t=>({type:"type",label:t})),Rz=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(t=>({type:"keyword",label:t})),ji=/^(\w[\w-]*|-\w[\w-]*|)$/,Yz=/^-(-[\w-]*)?$/;function Zz(t,e){var i;if((t.name=="("||t.type.isError)&&(t=t.parent||t),t.name!="ArgList")return!1;let n=(i=t.parent)===null||i===void 0?void 0:i.firstChild;return(n==null?void 0:n.name)!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}const Jp=new nh,zz=["Declaration"];function Uz(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function Nb(t,e,i){if(e.to-e.from>4096){let n=Jp.get(e);if(n)return n;let O=[],r=new Set,a=e.cursor(Ye.IncludeAnonymous);if(a.firstChild())do for(let s of Nb(t,a.node,i))r.has(s.label)||(r.add(s.label),O.push(s));while(a.nextSibling());return Jp.set(e,O),O}else{let n=[],O=new Set;return e.cursor().iterate(r=>{var a;if(i(r)&&r.matchContext(zz)&&((a=r.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let s=t.sliceString(r.from,r.to);O.has(s)||(O.add(s),n.push({label:s,type:"variable"}))}}),n}}const qz=t=>e=>{let{state:i,pos:n}=e,O=Ze(i).resolveInner(n,-1),r=O.type.isError&&O.from==O.to-1&&i.doc.sliceString(O.from,O.to)=="-";if(O.name=="PropertyName"||(r||O.name=="TagName")&&/^(Block|Styles)$/.test(O.resolve(O.to).name))return{from:O.from,options:Pc(),validFor:ji};if(O.name=="ValueName")return{from:O.from,options:Kp,validFor:ji};if(O.name=="PseudoClassName")return{from:O.from,options:Hp,validFor:ji};if(t(O)||(e.explicit||r)&&Zz(O,i.doc))return{from:t(O)||r?O.from:n,options:Nb(i.doc,Uz(O),t),validFor:Yz};if(O.name=="TagName"){for(let{parent:o}=O;o;o=o.parent)if(o.name=="Block")return{from:O.from,options:Pc(),validFor:ji};return{from:O.from,options:_z,validFor:ji}}if(O.name=="AtKeyword")return{from:O.from,options:Rz,validFor:ji};if(!e.explicit)return null;let a=O.resolve(n),s=a.childBefore(n);return s&&s.name==":"&&a.name=="PseudoClassSelector"?{from:n,options:Hp,validFor:ji}:s&&s.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:n,options:Kp,validFor:ji}:a.name=="Block"||a.name=="Styles"?{from:n,options:Pc(),validFor:ji}:null},Vz=qz(t=>t.name=="VariableName"),bo=bt.define({name:"css",parser:vz.configure({props:[Xt.add({Declaration:Ot()}),wt.add({"Block KeyframeList":rn})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Ib(){return new Ut(bo,bo.data.of({autocomplete:Vz}))}const Tr=["_blank","_self","_top","_parent"],Sc=["ascii","utf-8","utf-16","latin1","latin1"],bc=["get","post","put","delete"],yc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Et=["true","false"],ne={},Wz={a:{attrs:{href:null,ping:null,type:null,media:null,target:Tr,hreflang:null}},abbr:ne,address:ne,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:ne,aside:ne,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:ne,base:{attrs:{href:null,target:Tr}},bdi:ne,bdo:ne,blockquote:{attrs:{cite:null}},body:ne,br:ne,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:yc,formmethod:bc,formnovalidate:["novalidate"],formtarget:Tr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:ne,center:ne,cite:ne,code:ne,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:ne,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:ne,div:ne,dl:ne,dt:ne,em:ne,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:ne,figure:ne,footer:ne,form:{attrs:{action:null,name:null,"accept-charset":Sc,autocomplete:["on","off"],enctype:yc,method:bc,novalidate:["novalidate"],target:Tr}},h1:ne,h2:ne,h3:ne,h4:ne,h5:ne,h6:ne,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:ne,hgroup:ne,hr:ne,html:{attrs:{manifest:null}},i:ne,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:yc,formmethod:bc,formnovalidate:["novalidate"],formtarget:Tr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:ne,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:ne,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:ne,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Sc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:ne,noscript:ne,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:ne,param:{attrs:{name:null,value:null}},pre:ne,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:ne,rt:ne,ruby:ne,samp:ne,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Sc}},section:ne,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:ne,source:{attrs:{src:null,type:null,media:null}},span:ne,strong:ne,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:ne,summary:ne,sup:ne,table:ne,tbody:ne,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:ne,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:ne,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:ne,time:{attrs:{datetime:null}},title:ne,tr:ne,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:ne,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:ne},Lb={accesskey:null,class:null,contenteditable:Et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Et,autocorrect:Et,autocapitalize:Et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Et,"aria-hidden":Et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Et,"aria-multiselectable":Et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Et,"aria-relevant":null,"aria-required":Et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Db="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(t=>"on"+t);for(let t of Db)Lb[t]=null;class pa{constructor(e,i){this.tags={...Wz,...e},this.globalAttrs={...Lb,...i},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}pa.default=new pa;function rr(t,e,i=t.length){if(!e)return"";let n=e.firstChild,O=n&&n.getChild("TagName");return O?t.sliceString(O.from,Math.min(O.to,i)):""}function ar(t,e=!1){for(;t;t=t.parent)if(t.name=="Element")if(e)e=!1;else return t;return null}function Mb(t,e,i){let n=i.tags[rr(t,ar(e))];return(n==null?void 0:n.children)||i.allTags}function Yh(t,e){let i=[];for(let n=ar(e);n&&!n.type.isTop;n=ar(n.parent)){let O=rr(t,n);if(O&&n.lastChild.name=="CloseTag")break;O&&i.indexOf(O)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&i.push(O)}return i}const Bb=/^[:\-\.\w\u00b7-\uffff]*$/;function eQ(t,e,i,n,O){let r=/\s*>/.test(t.sliceDoc(O,O+5))?"":">",a=ar(i,i.name=="StartTag"||i.name=="TagName");return{from:n,to:O,options:Mb(t.doc,a,e).map(s=>({label:s,type:"type"})).concat(Yh(t.doc,i).map((s,o)=>({label:"/"+s,apply:"/"+s+r,type:"type",boost:99-o}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function tQ(t,e,i,n){let O=/\s*>/.test(t.sliceDoc(n,n+5))?"":">";return{from:i,to:n,options:Yh(t.doc,e).map((r,a)=>({label:r,apply:r+O,type:"type",boost:99-a})),validFor:Bb}}function jz(t,e,i,n){let O=[],r=0;for(let a of Mb(t.doc,i,e))O.push({label:"<"+a,type:"type"});for(let a of Yh(t.doc,i))O.push({label:"</"+a+">",type:"type",boost:99-r++});return{from:n,to:n,options:O,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Cz(t,e,i,n,O){let r=ar(i),a=r?e.tags[rr(t.doc,r)]:null,s=a&&a.attrs?Object.keys(a.attrs):[],o=a&&a.globalAttrs===!1?s:s.length?s.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:O,options:o.map(l=>({label:l,type:"property"})),validFor:Bb}}function Ez(t,e,i,n,O){var r;let a=(r=i.parent)===null||r===void 0?void 0:r.getChild("AttributeName"),s=[],o;if(a){let l=t.sliceDoc(a.from,a.to),c=e.globalAttrs[l];if(!c){let u=ar(i),f=u?e.tags[rr(t.doc,u)]:null;c=(f==null?void 0:f.attrs)&&f.attrs[l]}if(c){let u=t.sliceDoc(n,O).toLowerCase(),f='"',d='"';/^['"]/.test(u)?(o=u[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=t.sliceDoc(O,O+1)==u[0]?"":u[0],u=u.slice(1),n++):o=/^[^\s<>='"]*$/;for(let p of c)s.push({label:p,apply:f+p+d,type:"constant"})}}return{from:n,to:O,options:s,validFor:o}}function Fb(t,e){let{state:i,pos:n}=e,O=Ze(i).resolveInner(n,-1),r=O.resolve(n);for(let a=n,s;r==O&&(s=O.childBefore(a));){let o=s.lastChild;if(!o||!o.type.isError||o.from<o.to)break;r=O=s,a=o.from}return O.name=="TagName"?O.parent&&/CloseTag$/.test(O.parent.name)?tQ(i,O,O.from,n):eQ(i,t,O,O.from,n):O.name=="StartTag"||O.name=="IncompleteTag"?eQ(i,t,O,n,n):O.name=="StartCloseTag"||O.name=="IncompleteCloseTag"?tQ(i,O,n,n):O.name=="OpenTag"||O.name=="SelfClosingTag"||O.name=="AttributeName"?Cz(i,t,O,O.name=="AttributeName"?O.from:n,n):O.name=="Is"||O.name=="AttributeValue"||O.name=="UnquotedAttributeValue"?Ez(i,t,O,O.name=="Is"?n:O.from,n):e.explicit&&(r.name=="Element"||r.name=="Text"||r.name=="Document")?jz(i,t,O,n):null}function Gz(t){return Fb(pa.default,t)}function Az(t){let{extraTags:e,extraGlobalAttributes:i}=t,n=i||e?new pa(e,i):pa.default;return O=>Fb(n,O)}const Nz=Yi.parser.configure({top:"SingleExpression"}),Hb=[{tag:"script",attrs:t=>t.type=="text/typescript"||t.lang=="ts",parser:$b.parser},{tag:"script",attrs:t=>t.type=="text/babel"||t.type=="text/jsx",parser:pb.parser},{tag:"script",attrs:t=>t.type=="text/typescript-jsx",parser:Qb.parser},{tag:"script",attrs(t){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type)},parser:Nz},{tag:"script",attrs(t){return!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type)},parser:Yi.parser},{tag:"style",attrs(t){return(!t.lang||t.lang=="css")&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type))},parser:bo.parser}],Kb=[{name:"style",parser:bo.parser.configure({top:"Styles"})}].concat(Db.map(t=>({name:t,parser:Yi.parser}))),Jb=bt.define({name:"html",parser:iz.configure({props:[Xt.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit},Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].length<t.node.to)return t.continue();let e=null,i;for(let n=t.node;;){let O=n.lastChild;if(!O||O.name!="Element"||O.to!=n.to)break;e=n=O}return e&&!((i=e.lastChild)&&(i.name=="CloseTag"||i.name=="SelfClosingTag"))?t.lineIndent(e.from)+t.unit:null}}),wt.add({Element(t){let e=t.firstChild,i=t.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:i.name=="CloseTag"?i.from:t.to}}}),lh.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),As=Jb.configure({wrap:jb(Hb,Kb)});function Zh(t={}){let e="",i;t.matchClosingTags===!1&&(e="noMatch"),t.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(i=jb((t.nestedLanguages||[]).concat(Hb),(t.nestedAttributes||[]).concat(Kb)));let n=i?Jb.configure({wrap:i,dialect:e}):e?As.configure({dialect:e}):As;return new Ut(n,[As.data.of({autocomplete:Az(t)}),t.autoCloseTags!==!1?Iz:[],jr().support,Ib().support])}const iQ=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Iz=K.inputHandler.of((t,e,i,n,O)=>{if(t.composing||t.state.readOnly||e!=i||n!=">"&&n!="/"||!As.isActiveAt(t.state,e,-1))return!1;let r=O(),{state:a}=r,s=a.changeByRange(o=>{var l,c,u;let f=a.doc.sliceString(o.from-1,o.to)==n,{head:d}=o,p=Ze(a).resolveInner(d,-1),Q;if(f&&n==">"&&p.name=="EndTag"){let P=p.parent;if(((c=(l=P.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(Q=rr(a.doc,P.parent,d))&&!iQ.has(Q)){let m=d+(a.doc.sliceString(d,d+1)===">"?1:0),S=`</${Q}>`;return{range:o,changes:{from:d,to:m,insert:S}}}}else if(f&&n=="/"&&p.name=="IncompleteCloseTag"){let P=p.parent;if(p.from==d-2&&((u=P.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(Q=rr(a.doc,P,d))&&!iQ.has(Q)){let m=d+(a.doc.sliceString(d,d+1)===">"?1:0),S=`${Q}>`;return{range:j.cursor(d+S.length,-1),changes:{from:d,to:m,insert:S}}}}return{range:o}});return s.changes.empty?!1:(t.dispatch([r,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Lz=xt({String:$.string,Number:$.number,"True False":$.bool,PropertyName:$.propertyName,Null:$.null,", :":$.separator,"[ ]":$.squareBracket,"{ }":$.brace}),Dz=yt.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Lz],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Mz=bt.define({name:"json",parser:Dz.configure({props:[Xt.add({Object:Ot({except:/^\s*\}/}),Array:Ot({except:/^\s*\]/})}),wt.add({"Object Array":rn})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Bz(){return new Ut(Mz)}class yo{static create(e,i,n,O,r){let a=O+(O<<8)+e+(i<<4)|0;return new yo(e,i,n,a,r,[],[])}constructor(e,i,n,O,r,a,s){this.type=e,this.value=i,this.from=n,this.hash=O,this.end=r,this.children=a,this.positions=s,this.hashProp=[[ue.contextHash,O]]}addChild(e,i){e.prop(ue.contextHash)!=this.hash&&(e=new Pe(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(i)}toTree(e,i=this.end){let n=this.children.length-1;return n>=0&&(i=Math.max(i,this.positions[n]+this.children[n].length+this.from)),new Pe(e.types[this.type],this.children,this.positions,i-this.from).balance({makeTree:(O,r,a)=>new Pe(He.none,O,r,a,this.hashProp)})}}var L;(function(t){t[t.Document=1]="Document",t[t.CodeBlock=2]="CodeBlock",t[t.FencedCode=3]="FencedCode",t[t.Blockquote=4]="Blockquote",t[t.HorizontalRule=5]="HorizontalRule",t[t.BulletList=6]="BulletList",t[t.OrderedList=7]="OrderedList",t[t.ListItem=8]="ListItem",t[t.ATXHeading1=9]="ATXHeading1",t[t.ATXHeading2=10]="ATXHeading2",t[t.ATXHeading3=11]="ATXHeading3",t[t.ATXHeading4=12]="ATXHeading4",t[t.ATXHeading5=13]="ATXHeading5",t[t.ATXHeading6=14]="ATXHeading6",t[t.SetextHeading1=15]="SetextHeading1",t[t.SetextHeading2=16]="SetextHeading2",t[t.HTMLBlock=17]="HTMLBlock",t[t.LinkReference=18]="LinkReference",t[t.Paragraph=19]="Paragraph",t[t.CommentBlock=20]="CommentBlock",t[t.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",t[t.Escape=22]="Escape",t[t.Entity=23]="Entity",t[t.HardBreak=24]="HardBreak",t[t.Emphasis=25]="Emphasis",t[t.StrongEmphasis=26]="StrongEmphasis",t[t.Link=27]="Link",t[t.Image=28]="Image",t[t.InlineCode=29]="InlineCode",t[t.HTMLTag=30]="HTMLTag",t[t.Comment=31]="Comment",t[t.ProcessingInstruction=32]="ProcessingInstruction",t[t.Autolink=33]="Autolink",t[t.HeaderMark=34]="HeaderMark",t[t.QuoteMark=35]="QuoteMark",t[t.ListMark=36]="ListMark",t[t.LinkMark=37]="LinkMark",t[t.EmphasisMark=38]="EmphasisMark",t[t.CodeMark=39]="CodeMark",t[t.CodeText=40]="CodeText",t[t.CodeInfo=41]="CodeInfo",t[t.LinkTitle=42]="LinkTitle",t[t.LinkLabel=43]="LinkLabel",t[t.URL=44]="URL"})(L||(L={}));class Fz{constructor(e,i){this.start=e,this.content=i,this.marks=[],this.parsers=[]}}class Hz{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Mr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,i=0,n=0){for(let O=i;O<e;O++)n+=this.text.charCodeAt(O)==9?4-n%4:1;return n}findColumn(e){let i=0;for(let n=0;i<this.text.length&&n<e;i++)n+=this.text.charCodeAt(i)==9?4-n%4:1;return i}scrub(){if(!this.baseIndent)return this.text;let e="";for(let i=0;i<this.basePos;i++)e+=" ";return e+this.text.slice(this.basePos)}}function nQ(t,e,i){if(i.pos==i.text.length||t!=e.block&&i.indent>=e.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let n=(t.type==L.OrderedList?qh:Uh)(i,e,!1);return n>0&&(t.type!=L.BulletList||zh(i,e,!1)<0)&&i.text.charCodeAt(i.pos+n-1)==t.value}const ey={[L.Blockquote](t,e,i){return i.next!=62?!1:(i.markers.push(be(L.QuoteMark,e.lineStart+i.pos,e.lineStart+i.pos+1)),i.moveBase(i.pos+(ni(i.text.charCodeAt(i.pos+1))?2:1)),t.end=e.lineStart+i.text.length,!0)},[L.ListItem](t,e,i){return i.indent<i.baseIndent+t.value&&i.next>-1?!1:(i.moveBaseColumn(i.baseIndent+t.value),!0)},[L.OrderedList]:nQ,[L.BulletList]:nQ,[L.Document](){return!0}};function ni(t){return t==32||t==9||t==10||t==13}function Mr(t,e=0){for(;e<t.length&&ni(t.charCodeAt(e));)e++;return e}function OQ(t,e,i){for(;e>i&&ni(t.charCodeAt(e-1));)e--;return e}function ty(t){if(t.next!=96&&t.next!=126)return-1;let e=t.pos+1;for(;e<t.text.length&&t.text.charCodeAt(e)==t.next;)e++;if(e<t.pos+3)return-1;if(t.next==96){for(let i=e;i<t.text.length;i++)if(t.text.charCodeAt(i)==96)return-1}return e}function iy(t){return t.next!=62?-1:t.text.charCodeAt(t.pos+1)==32?2:1}function zh(t,e,i){if(t.next!=42&&t.next!=45&&t.next!=95)return-1;let n=1;for(let O=t.pos+1;O<t.text.length;O++){let r=t.text.charCodeAt(O);if(r==t.next)n++;else if(!ni(r))return-1}return i&&t.next==45&&ry(t)>-1&&t.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(ly.SetextHeading)>-1||n<3?-1:1}function ny(t,e){for(let i=t.stack.length-1;i>=0;i--)if(t.stack[i].type==e)return!0;return!1}function Uh(t,e,i){return(t.next==45||t.next==43||t.next==42)&&(t.pos==t.text.length-1||ni(t.text.charCodeAt(t.pos+1)))&&(!i||ny(e,L.BulletList)||t.skipSpace(t.pos+2)<t.text.length)?1:-1}function qh(t,e,i){let n=t.pos,O=t.next;for(;O>=48&&O<=57;){n++;if(n==t.text.length)return-1;O=t.text.charCodeAt(n)}return n==t.pos||n>t.pos+9||O!=46&&O!=41||n<t.text.length-1&&!ni(t.text.charCodeAt(n+1))||i&&!ny(e,L.OrderedList)&&(t.skipSpace(n+1)==t.text.length||n>t.pos+1||t.next!=49)?-1:n+1-t.pos}function Oy(t){if(t.next!=35)return-1;let e=t.pos+1;for(;e<t.text.length&&t.text.charCodeAt(e)==35;)e++;if(e<t.text.length&&t.text.charCodeAt(e)!=32)return-1;let i=e-t.pos;return i>6?-1:i}function ry(t){if(t.next!=45&&t.next!=61||t.indent>=t.baseIndent+4)return-1;let e=t.pos+1;for(;e<t.text.length&&t.text.charCodeAt(e)==t.next;)e++;let i=e;for(;e<t.text.length&&ni(t.text.charCodeAt(e));)e++;return e==t.text.length?i:-1}const nf=/^[ \t]*$/,ay=/-->/,sy=/\?>/,Of=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,ay],[/^\s*<\?/,sy],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?: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|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,nf],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,nf]];function oy(t,e,i){if(t.next!=60)return-1;let n=t.text.slice(t.pos);for(let O=0,r=Of.length-(i?1:0);O<r;O++)if(Of[O][0].test(n))return O;return-1}function rQ(t,e){let i=t.countIndent(e,t.pos,t.indent),n=t.countIndent(t.skipSpace(e),e,i);return n>=i+5?i+1:n}function sn(t,e,i){let n=t.length-1;n>=0&&t[n].to==e&&t[n].type==L.CodeText?t[n].to=i:t.push(be(L.CodeText,e,i))}const ps={LinkReference:void 0,IndentedCode(t,e){let i=e.baseIndent+4;if(e.indent<i)return!1;let n=e.findColumn(i),O=t.lineStart+n,r=t.lineStart+e.text.length,a=[],s=[];for(sn(a,O,r);t.nextLine()&&e.depth>=t.stack.length;)if(e.pos==e.text.length){sn(s,t.lineStart-1,t.lineStart);for(let o of e.markers)s.push(o)}else{if(e.indent<i)break;{if(s.length){for(let l of s)l.type==L.CodeText?sn(a,l.from,l.to):a.push(l);s=[]}sn(a,t.lineStart-1,t.lineStart);for(let l of e.markers)a.push(l);r=t.lineStart+e.text.length;let o=t.lineStart+e.findColumn(e.baseIndent+4);o<r&&sn(a,o,r)}}return s.length&&(s=s.filter(o=>o.type!=L.CodeText),s.length&&(e.markers=s.concat(e.markers))),t.addNode(t.buffer.writeElements(a,-O).finish(L.CodeBlock,r-O),O),!0},FencedCode(t,e){let i=ty(e);if(i<0)return!1;let n=t.lineStart+e.pos,O=e.next,r=i-e.pos,a=e.skipSpace(i),s=OQ(e.text,e.text.length,a),o=[be(L.CodeMark,n,n+r)];a<s&&o.push(be(L.CodeInfo,t.lineStart+a,t.lineStart+s));for(let l=!0,c=!0,u=!1;t.nextLine()&&e.depth>=t.stack.length;l=!1){let f=e.pos;if(e.indent-e.baseIndent<4)for(;f<e.text.length&&e.text.charCodeAt(f)==O;)f++;if(f-e.pos>=r&&e.skipSpace(f)==e.text.length){for(let d of e.markers)o.push(d);c&&u&&sn(o,t.lineStart-1,t.lineStart),o.push(be(L.CodeMark,t.lineStart+e.pos,t.lineStart+f)),t.nextLine();break}else{u=!0,l||(sn(o,t.lineStart-1,t.lineStart),c=!1);for(let Q of e.markers)o.push(Q);let d=t.lineStart+e.basePos,p=t.lineStart+e.text.length;d<p&&(sn(o,d,p),c=!1)}}return t.addNode(t.buffer.writeElements(o,-n).finish(L.FencedCode,t.prevLineEnd()-n),n),!0},Blockquote(t,e){let i=iy(e);return i<0?!1:(t.startContext(L.Blockquote,e.pos),t.addNode(L.QuoteMark,t.lineStart+e.pos,t.lineStart+e.pos+1),e.moveBase(e.pos+i),null)},HorizontalRule(t,e){if(zh(e,t,!1)<0)return!1;let i=t.lineStart+e.pos;return t.nextLine(),t.addNode(L.HorizontalRule,i),!0},BulletList(t,e){let i=Uh(e,t,!1);if(i<0)return!1;t.block.type!=L.BulletList&&t.startContext(L.BulletList,e.basePos,e.next);let n=rQ(e,e.pos+1);return t.startContext(L.ListItem,e.basePos,n-e.baseIndent),t.addNode(L.ListMark,t.lineStart+e.pos,t.lineStart+e.pos+i),e.moveBaseColumn(n),null},OrderedList(t,e){let i=qh(e,t,!1);if(i<0)return!1;t.block.type!=L.OrderedList&&t.startContext(L.OrderedList,e.basePos,e.text.charCodeAt(e.pos+i-1));let n=rQ(e,e.pos+i);return t.startContext(L.ListItem,e.basePos,n-e.baseIndent),t.addNode(L.ListMark,t.lineStart+e.pos,t.lineStart+e.pos+i),e.moveBaseColumn(n),null},ATXHeading(t,e){let i=Oy(e);if(i<0)return!1;let n=e.pos,O=t.lineStart+n,r=OQ(e.text,e.text.length,n),a=r;for(;a>n&&e.text.charCodeAt(a-1)==e.next;)a--;(a==r||a==n||!ni(e.text.charCodeAt(a-1)))&&(a=e.text.length);let s=t.buffer.write(L.HeaderMark,0,i).writeElements(t.parser.parseInline(e.text.slice(n+i+1,a),O+i+1),-O);a<e.text.length&&s.write(L.HeaderMark,a-n,r-n);let o=s.finish(L.ATXHeading1-1+i,e.text.length-n);return t.nextLine(),t.addNode(o,O),!0},HTMLBlock(t,e){let i=oy(e,t,!1);if(i<0)return!1;let n=t.lineStart+e.pos,O=Of[i][1],r=[],a=O!=nf;for(;!O.test(e.text)&&t.nextLine();){if(e.depth<t.stack.length){a=!1;break}for(let l of e.markers)r.push(l)}a&&t.nextLine();let s=O==ay?L.CommentBlock:O==sy?L.ProcessingInstructionBlock:L.HTMLBlock,o=t.prevLineEnd();return t.addNode(t.buffer.writeElements(r,-n).finish(s,o-n),n),!0},SetextHeading:void 0};class Kz{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,i,n){if(this.stage==-1)return!1;let O=n.content+`
|
|
34
|
-
`+i.scrub(),r=this.advance(O);return r>-1&&r<O.length?this.complete(e,n,r):!1}finish(e,i){return(this.stage==2||this.stage==3)&&Mr(i.content,this.pos)==i.content.length?this.complete(e,i,i.content.length):!1}complete(e,i,n){return e.addLeafElement(i,be(L.LinkReference,this.start,this.start+n,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(my(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(be(L.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(py(e,Mr(e,this.pos),this.start)))return-1}else if(this.stage==2){let i=Mr(e,this.pos),n=0;if(i>this.pos){let O=Qy(e,i,this.start);if(O){let r=xc(e,O.to-this.start);r>0&&(this.nextStage(O),n=r)}}return n||(n=xc(e,this.pos)),n>0&&n<e.length?n:-1}else return xc(e,this.pos)}}}function xc(t,e){for(;e<t.length;e++){let i=t.charCodeAt(e);if(i==10)break;if(!ni(i))return-1}return e}class Jz{nextLine(e,i,n){let O=i.depth<e.stack.length?-1:ry(i),r=i.next;if(O<0)return!1;let a=be(L.HeaderMark,e.lineStart+i.pos,e.lineStart+O);return e.nextLine(),e.addLeafElement(n,be(r==61?L.SetextHeading1:L.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),a])),!0}finish(){return!1}}const ly={LinkReference(t,e){return e.content.charCodeAt(0)==91?new Kz(e):null},SetextHeading(){return new Jz}},e5=[(t,e)=>Oy(e)>=0,(t,e)=>ty(e)>=0,(t,e)=>iy(e)>=0,(t,e)=>Uh(e,t,!0)>=0,(t,e)=>qh(e,t,!0)>=0,(t,e)=>zh(e,t,!0)>=0,(t,e)=>oy(e,t,!0)>=0],t5={text:"",end:0};class i5{constructor(e,i,n,O){this.parser=e,this.input=i,this.ranges=O,this.line=new Hz,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=O[O.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=O[0].from,this.block=yo.create(L.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new r5(n,i):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let n=0;;){let O=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;n<e.markers.length&&(!O||e.markers[n].from<O.end);){let r=e.markers[n++];this.addNode(r.type,r.from,r.to)}if(!O)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let n of this.parser.blockParsers)if(n){let O=n(this,e);if(O!=!1){if(O==!0)return null;e.forward();continue e}}break}let i=new Fz(this.lineStart+e.pos,e.text.slice(e.pos));for(let n of this.parser.leafBlockParsers)if(n){let O=n(this,i);O&&i.parsers.push(O)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let n of this.parser.endLeafBlock)if(n(this,e,i))break e}for(let n of i.parsers)if(n.nextLine(this,e,i))return null;i.content+=`
|
|
35
|
-
`+e.scrub();for(let n of e.markers)i.marks.push(n)}return this.finishLeaf(i),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let i=this.fragments.takeNodes(this);return i?(this.absoluteLineStart+=i,this.lineStart=gy(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let i=t5;if(i.end=e,e>=this.to)i.text="";else if(i.text=this.lineChunkAt(e),i.end+=i.text.length,this.ranges.length>1){let n=this.absoluteLineStart,O=this.rangeI;for(;this.ranges[O].to<i.end;){O++;let r=this.ranges[O].from,a=this.lineChunkAt(r);i.end=r+a.length,i.text=i.text.slice(0,this.ranges[O-1].to-n)+a,n=i.end-i.text.length}}return i}readLine(){let{line:e}=this,{text:i,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(i);e.depth<this.stack.length;e.depth++){let O=this.stack[e.depth],r=this.parser.skipContextMarkup[O.type];if(!r)throw new Error("Unhandled block context "+L[O.type]);let a=this.line.markers.length;if(!r(O,this,e)){this.line.markers.length>a&&(O.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let i=this.input.chunk(e),n;if(this.input.lineChunks)n=i==`
|
|
36
|
-
`?"":i;else{let O=i.indexOf(`
|
|
37
|
-
`);n=O<0?i:i.slice(0,O)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,i,n=0){this.block=yo.create(e,n,this.lineStart+i,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,i,n=0){this.startContext(this.parser.getNodeType(e),i,n)}addNode(e,i,n){typeof e=="number"&&(e=new Pe(this.parser.nodeSet.types[e],sr,sr,(n??this.prevLineEnd())-i)),this.block.addChild(e,i-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,i){this.addNode(this.buffer.writeElements(af(i.children,e.marks),-i.from).finish(i.type,i.to-i.from),i.from)}finishContext(){let e=this.stack.pop(),i=this.stack[this.stack.length-1];i.addChild(e.toTree(this.parser.nodeSet),e.from-i.from),this.block=i}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?cy(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let i=af(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(i,-e.start).finish(L.Paragraph,e.content.length),e.start)}elt(e,i,n,O){return typeof e=="string"?be(this.parser.getNodeType(e),i,n,O):new hy(e,i)}get buffer(){return new fy(this.parser.nodeSet)}}function cy(t,e,i,n,O){let r=t[e].to,a=[],s=[],o=i.from+n;function l(c,u){for(;u?c>=r:c>r;){let f=t[e+1].from-r;n+=f,c+=f,e++,r=t[e].to}}for(let c=i.firstChild;c;c=c.nextSibling){l(c.from+n,!0);let u=c.from+n,f,d=O.get(c.tree);d?f=d:c.to+n>r?(f=cy(t,e,c,n,O),l(c.to+n,!1)):f=c.toTree(),a.push(f),s.push(u-o)}return l(i.to+n,!1),new Pe(i.type,a,s,i.to+n-o,i.tree?i.tree.propValues:void 0)}class Jo extends Ao{constructor(e,i,n,O,r,a,s,o,l){super(),this.nodeSet=e,this.blockParsers=i,this.leafBlockParsers=n,this.blockNames=O,this.endLeafBlock=r,this.skipContextMarkup=a,this.inlineParsers=s,this.inlineNames=o,this.wrappers=l,this.nodeTypes=Object.create(null);for(let c of e.types)this.nodeTypes[c.name]=c.id}createParse(e,i,n){let O=new i5(this,e,i,n);for(let r of this.wrappers)O=r(O,e,i,n);return O}configure(e){let i=rf(e);if(!i)return this;let{nodeSet:n,skipContextMarkup:O}=this,r=this.blockParsers.slice(),a=this.leafBlockParsers.slice(),s=this.blockNames.slice(),o=this.inlineParsers.slice(),l=this.inlineNames.slice(),c=this.endLeafBlock.slice(),u=this.wrappers;if(vr(i.defineNodes)){O=Object.assign({},O);let f=n.types.slice(),d;for(let p of i.defineNodes){let{name:Q,block:P,composite:m,style:S}=typeof p=="string"?{name:p}:p;if(f.some(Y=>Y.name==Q))continue;m&&(O[f.length]=(Y,U,V)=>m(U,V,Y.value));let x=f.length,z=m?["Block","BlockContext"]:P?x>=L.ATXHeading1&&x<=L.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;f.push(He.define({id:x,name:Q,props:z&&[[ue.group,z]]})),S&&(d||(d={}),Array.isArray(S)||S instanceof yi?d[Q]=S:Object.assign(d,S))}n=new fr(f),d&&(n=n.extend(xt(d)))}if(vr(i.props)&&(n=n.extend(...i.props)),vr(i.remove))for(let f of i.remove){let d=this.blockNames.indexOf(f),p=this.inlineNames.indexOf(f);d>-1&&(r[d]=a[d]=void 0),p>-1&&(o[p]=void 0)}if(vr(i.parseBlock))for(let f of i.parseBlock){let d=s.indexOf(f.name);if(d>-1)r[d]=f.parse,a[d]=f.leaf;else{let p=f.before?Qs(s,f.before):f.after?Qs(s,f.after)+1:s.length-1;r.splice(p,0,f.parse),a.splice(p,0,f.leaf),s.splice(p,0,f.name)}f.endLeaf&&c.push(f.endLeaf)}if(vr(i.parseInline))for(let f of i.parseInline){let d=l.indexOf(f.name);if(d>-1)o[d]=f.parse;else{let p=f.before?Qs(l,f.before):f.after?Qs(l,f.after)+1:l.length-1;o.splice(p,0,f.parse),l.splice(p,0,f.name)}}return i.wrap&&(u=u.concat(i.wrap)),new Jo(n,r,a,s,c,O,o,l,u)}getNodeType(e){let i=this.nodeTypes[e];if(i==null)throw new RangeError(`Unknown node type '${e}'`);return i}parseInline(e,i){let n=new Vh(this,e,i);e:for(let O=i;O<n.end;){let r=n.char(O);for(let a of this.inlineParsers)if(a){let s=a(n,r,O);if(s>=0){O=s;continue e}}O++}return n.resolveMarkers(0)}}function vr(t){return t!=null&&t.length>0}function rf(t){if(!Array.isArray(t))return t;if(t.length==0)return null;let e=rf(t[0]);if(t.length==1)return e;let i=rf(t.slice(1));if(!i||!e)return e||i;let n=(a,s)=>(a||sr).concat(s||sr),O=e.wrap,r=i.wrap;return{props:n(e.props,i.props),defineNodes:n(e.defineNodes,i.defineNodes),parseBlock:n(e.parseBlock,i.parseBlock),parseInline:n(e.parseInline,i.parseInline),remove:n(e.remove,i.remove),wrap:O?r?(a,s,o,l)=>O(r(a,s,o,l),s,o,l):O:r}}function Qs(t,e){let i=t.indexOf(e);if(i<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return i}let uy=[He.none];for(let t=1,e;e=L[t];t++)uy[t]=He.define({id:t,name:e,props:t>=L.Escape?[]:[[ue.group,t in ey?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});const sr=[];class fy{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,i,n,O=0){return this.content.push(e,i,n,4+O*4),this}writeElements(e,i=0){for(let n of e)n.writeTo(this,i);return this}finish(e,i){return Pe.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:i})}}let Qa=class{constructor(e,i,n,O=sr){this.type=e,this.from=i,this.to=n,this.children=O}writeTo(e,i){let n=e.content.length;e.writeElements(this.children,i),e.content.push(this.type,this.from+i,this.to+i,e.content.length+4-n)}toTree(e){return new fy(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class hy{constructor(e,i){this.tree=e,this.from=i}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return sr}writeTo(e,i){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+i,this.to+i,-1)}toTree(){return this.tree}}function be(t,e,i,n){return new Qa(t,e,i,n)}const dy={resolve:"Emphasis",mark:"EmphasisMark"},$y={resolve:"Emphasis",mark:"EmphasisMark"},En={},xo={};class At{constructor(e,i,n,O){this.type=e,this.from=i,this.to=n,this.side=O}}const aQ="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let ma=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{ma=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const Xc={Escape(t,e,i){if(e!=92||i==t.end-1)return-1;let n=t.char(i+1);for(let O=0;O<aQ.length;O++)if(aQ.charCodeAt(O)==n)return t.append(be(L.Escape,i,i+2));return-1},Entity(t,e,i){if(e!=38)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(t.slice(i+1,i+31));return n?t.append(be(L.Entity,i,i+1+n[0].length)):-1},InlineCode(t,e,i){if(e!=96||i&&t.char(i-1)==96)return-1;let n=i+1;for(;n<t.end&&t.char(n)==96;)n++;let O=n-i,r=0;for(;n<t.end;n++)if(t.char(n)==96){if(r++,r==O&&t.char(n+1)!=96)return t.append(be(L.InlineCode,i,n+1,[be(L.CodeMark,i,i+O),be(L.CodeMark,n+1-O,n+1)]))}else r=0;return-1},HTMLTag(t,e,i){if(e!=60||i==t.end-1)return-1;let n=t.slice(i+1,t.end),O=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(O)return t.append(be(L.Autolink,i,i+1+O[0].length,[be(L.LinkMark,i,i+1),be(L.URL,i+1,i+O[0].length),be(L.LinkMark,i+O[0].length,i+1+O[0].length)]));let r=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(r)return t.append(be(L.Comment,i,i+1+r[0].length));let a=/^\?[^]*?\?>/.exec(n);if(a)return t.append(be(L.ProcessingInstruction,i,i+1+a[0].length));let s=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return s?t.append(be(L.HTMLTag,i,i+1+s[0].length)):-1},Emphasis(t,e,i){if(e!=95&&e!=42)return-1;let n=i+1;for(;t.char(n)==e;)n++;let O=t.slice(i-1,i),r=t.slice(n,n+1),a=ma.test(O),s=ma.test(r),o=/\s|^$/.test(O),l=/\s|^$/.test(r),c=!l&&(!s||o||a),u=!o&&(!a||l||s),f=c&&(e==42||!u||a),d=u&&(e==42||!c||s);return t.append(new At(e==95?dy:$y,i,n,(f?1:0)|(d?2:0)))},HardBreak(t,e,i){if(e==92&&t.char(i+1)==10)return t.append(be(L.HardBreak,i,i+2));if(e==32){let n=i+1;for(;t.char(n)==32;)n++;if(t.char(n)==10&&n>=i+2)return t.append(be(L.HardBreak,i,n+1))}return-1},Link(t,e,i){return e==91?t.append(new At(En,i,i+1,1)):-1},Image(t,e,i){return e==33&&t.char(i+1)==91?t.append(new At(xo,i,i+2,1)):-1},LinkEnd(t,e,i){if(e!=93)return-1;for(let n=t.parts.length-1;n>=0;n--){let O=t.parts[n];if(O instanceof At&&(O.type==En||O.type==xo)){if(!O.side||t.skipSpace(O.to)==i&&!/[(\[]/.test(t.slice(i+1,i+2)))return t.parts[n]=null,-1;let r=t.takeContent(n),a=t.parts[n]=n5(t,r,O.type==En?L.Link:L.Image,O.from,i+1);if(O.type==En)for(let s=0;s<n;s++){let o=t.parts[s];o instanceof At&&o.type==En&&(o.side=0)}return a.to}}return-1}};function n5(t,e,i,n,O){let{text:r}=t,a=t.char(O),s=O;if(e.unshift(be(L.LinkMark,n,n+(i==L.Image?2:1))),e.push(be(L.LinkMark,O-1,O)),a==40){let o=t.skipSpace(O+1),l=py(r,o-t.offset,t.offset),c;l&&(o=t.skipSpace(l.to),o!=l.to&&(c=Qy(r,o-t.offset,t.offset),c&&(o=t.skipSpace(c.to)))),t.char(o)==41&&(e.push(be(L.LinkMark,O,O+1)),s=o+1,l&&e.push(l),c&&e.push(c),e.push(be(L.LinkMark,o,s)))}else if(a==91){let o=my(r,O-t.offset,t.offset,!1);o&&(e.push(o),s=o.to)}return be(i,n,s,e)}function py(t,e,i){if(t.charCodeAt(e)==60){for(let O=e+1;O<t.length;O++){let r=t.charCodeAt(O);if(r==62)return be(L.URL,e+i,O+1+i);if(r==60||r==10)return!1}return null}else{let O=0,r=e;for(let a=!1;r<t.length;r++){let s=t.charCodeAt(r);if(ni(s))break;if(a)a=!1;else if(s==40)O++;else if(s==41){if(!O)break;O--}else s==92&&(a=!0)}return r>e?be(L.URL,e+i,r+i):r==t.length?null:!1}}function Qy(t,e,i){let n=t.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let O=n==40?41:n;for(let r=e+1,a=!1;r<t.length;r++){let s=t.charCodeAt(r);if(a)a=!1;else{if(s==O)return be(L.LinkTitle,e+i,r+1+i);s==92&&(a=!0)}}return null}function my(t,e,i,n){for(let O=!1,r=e+1,a=Math.min(t.length,r+999);r<a;r++){let s=t.charCodeAt(r);if(O)O=!1;else{if(s==93)return n?!1:be(L.LinkLabel,e+i,r+1+i);if(n&&!ni(s)&&(n=!1),s==91)return!1;s==92&&(O=!0)}}return null}class Vh{constructor(e,i,n){this.parser=e,this.text=i,this.offset=n,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,i){return this.text.slice(e-this.offset,i-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,i,n,O,r){return this.append(new At(e,i,n,(O?1:0)|(r?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let i=this.parts[e];if(i instanceof At&&(i.type==En||i.type==xo))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n<this.parts.length;n++){let O=this.parts[n];if(!(O instanceof At&&O.type.resolve&&O.side&2))continue;let r=O.type==dy||O.type==$y,a=O.to-O.from,s,o=n-1;for(;o>=e;o--){let Q=this.parts[o];if(Q instanceof At&&Q.side&1&&Q.type==O.type&&!(r&&(O.side&1||Q.side&2)&&(Q.to-Q.from+a)%3==0&&((Q.to-Q.from)%3||a%3))){s=Q;break}}if(!s)continue;let l=O.type.resolve,c=[],u=s.from,f=O.to;if(r){let Q=Math.min(2,s.to-s.from,a);u=s.to-Q,f=O.from+Q,l=Q==1?"Emphasis":"StrongEmphasis"}s.type.mark&&c.push(this.elt(s.type.mark,u,s.to));for(let Q=o+1;Q<n;Q++)this.parts[Q]instanceof Qa&&c.push(this.parts[Q]),this.parts[Q]=null;O.type.mark&&c.push(this.elt(O.type.mark,O.from,f));let d=this.elt(l,u,f,c);this.parts[o]=r&&s.from!=u?new At(s.type,s.from,u,s.side):null,(this.parts[n]=r&&O.to!=f?new At(O.type,f,O.to,O.side):null)?this.parts.splice(n,0,d):this.parts[n]=d}let i=[];for(let n=e;n<this.parts.length;n++){let O=this.parts[n];O instanceof Qa&&i.push(O)}return i}findOpeningDelimiter(e){for(let i=this.parts.length-1;i>=0;i--){let n=this.parts[i];if(n instanceof At&&n.type==e&&n.side&1)return i}return null}takeContent(e){let i=this.resolveMarkers(e);return this.parts.length=e,i}getDelimiterAt(e){let i=this.parts[e];return i instanceof At?i:null}skipSpace(e){return Mr(this.text,e-this.offset)+this.offset}elt(e,i,n,O){return typeof e=="string"?be(this.parser.getNodeType(e),i,n,O):new hy(e,i)}}Vh.linkStart=En;Vh.imageStart=xo;function af(t,e){if(!e.length)return t;if(!t.length)return e;let i=t.slice(),n=0;for(let O of e){for(;n<i.length&&i[n].to<O.to;)n++;if(n<i.length&&i[n].from<O.from){let r=i[n];r instanceof Qa&&(i[n]=new Qa(r.type,r.from,r.to,af(r.children,[O])))}else i.splice(n++,0,O)}return i}const O5=[L.CodeBlock,L.ListItem,L.OrderedList,L.BulletList];class r5{constructor(e,i){this.fragments=e,this.input=i,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,i){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let r=this.fragment.to;for(;r>0&&this.input.read(r-1,r)!=`
|
|
38
|
-
`;)r--;this.fragmentEnd=r?r-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let O=e+this.fragment.offset;for(;n.to<=O;)if(!n.parent())return!1;for(;;){if(n.from>=O)return this.fragment.from<=i;if(!n.childAfter(O))return!1}}matches(e){let i=this.cursor.tree;return i&&i.prop(ue.contextHash)==e}takeNodes(e){let i=this.cursor,n=this.fragment.offset,O=this.fragmentEnd-(this.fragment.openEnd?1:0),r=e.absoluteLineStart,a=r,s=e.block.children.length,o=a,l=s;for(;;){if(i.to-n>O){if(i.type.isAnonymous&&i.firstChild())continue;break}let c=gy(i.from-n,e.ranges);if(i.to-n<=e.ranges[e.rangeI].to)e.addNode(i.tree,c);else{let u=new Pe(e.parser.nodeSet.types[L.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(u,i.tree),e.addNode(u,c)}if(i.type.is("Block")&&(O5.indexOf(i.type.id)<0?(a=i.to-n,s=e.block.children.length):(a=o,s=l),o=i.to-n,l=e.block.children.length),!i.nextSibling())break}for(;e.block.children.length>s;)e.block.children.pop(),e.block.positions.pop();return a-r}}function gy(t,e){let i=t;for(let n=1;n<e.length;n++){let O=e[n-1].to,r=e[n].from;O<t&&(i-=r-O)}return i}const a5=xt({"Blockquote/...":$.quote,HorizontalRule:$.contentSeparator,"ATXHeading1/... SetextHeading1/...":$.heading1,"ATXHeading2/... SetextHeading2/...":$.heading2,"ATXHeading3/...":$.heading3,"ATXHeading4/...":$.heading4,"ATXHeading5/...":$.heading5,"ATXHeading6/...":$.heading6,"Comment CommentBlock":$.comment,Escape:$.escape,Entity:$.character,"Emphasis/...":$.emphasis,"StrongEmphasis/...":$.strong,"Link/... Image/...":$.link,"OrderedList/... BulletList/...":$.list,"BlockQuote/...":$.quote,"InlineCode CodeText":$.monospace,"URL Autolink":$.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":$.processingInstruction,"CodeInfo LinkLabel":$.labelName,LinkTitle:$.string,Paragraph:$.content}),s5=new Jo(new fr(uy).extend(a5),Object.keys(ps).map(t=>ps[t]),Object.keys(ps).map(t=>ly[t]),Object.keys(ps),e5,ey,Object.keys(Xc).map(t=>Xc[t]),Object.keys(Xc),[]);function o5(t,e,i){let n=[];for(let O=t.firstChild,r=e;;O=O.nextSibling){let a=O?O.from:i;if(a>r&&n.push({from:r,to:a}),!O)break;r=O.to}return n}function l5(t){let{codeParser:e,htmlParser:i}=t;return{wrap:Oh((O,r)=>{let a=O.type.id;if(e&&(a==L.CodeBlock||a==L.FencedCode)){let s="";if(a==L.FencedCode){let l=O.node.getChild(L.CodeInfo);l&&(s=r.read(l.from,l.to))}let o=e(s);if(o)return{parser:o,overlay:l=>l.type.id==L.CodeText,bracketed:a==L.FencedCode}}else if(i&&(a==L.HTMLBlock||a==L.HTMLTag||a==L.CommentBlock))return{parser:i,overlay:o5(O.node,O.from,O.to)};return null})}}const c5={resolve:"Strikethrough",mark:"StrikethroughMark"},u5={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":$.strikethrough}},{name:"StrikethroughMark",style:$.processingInstruction}],parseInline:[{name:"Strikethrough",parse(t,e,i){if(e!=126||t.char(i+1)!=126||t.char(i+2)==126)return-1;let n=t.slice(i-1,i),O=t.slice(i+2,i+3),r=/\s|^$/.test(n),a=/\s|^$/.test(O),s=ma.test(n),o=ma.test(O);return t.addDelimiter(c5,i,i+2,!a&&(!o||r||s),!r&&(!s||a||o))},after:"Emphasis"}]};function Br(t,e,i=0,n,O=0){let r=0,a=!0,s=-1,o=-1,l=!1,c=()=>{n.push(t.elt("TableCell",O+s,O+o,t.parser.parseInline(e.slice(s,o),O+s)))};for(let u=i;u<e.length;u++){let f=e.charCodeAt(u);f==124&&!l?((!a||s>-1)&&r++,a=!1,n&&(s>-1&&c(),n.push(t.elt("TableDelimiter",u+O,u+O+1))),s=o=-1):(l||f!=32&&f!=9)&&(s<0&&(s=u),o=u+1),l=!l&&f==92}return s>-1&&(r++,n&&c()),r}function sQ(t,e){for(let i=e;i<t.length;i++){let n=t.charCodeAt(i);if(n==124)return!0;n==92&&i++}return!1}const Py=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class oQ{constructor(){this.rows=null}nextLine(e,i,n){if(this.rows==null){this.rows=!1;let O;if((i.next==45||i.next==58||i.next==124)&&Py.test(O=i.text.slice(i.pos))){let r=[];Br(e,n.content,0,r,n.start)==Br(e,O,i.pos)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,r),e.elt("TableDelimiter",e.lineStart+i.pos,e.lineStart+i.text.length)])}}else if(this.rows){let O=[];Br(e,i.text,i.pos,O,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+i.pos,e.lineStart+i.text.length,O))}return!1}finish(e,i){return this.rows?(e.addLeafElement(i,e.elt("Table",i.start,i.start+i.content.length,this.rows)),!0):!1}}const f5={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":$.heading}},"TableRow",{name:"TableCell",style:$.content},{name:"TableDelimiter",style:$.processingInstruction}],parseBlock:[{name:"Table",leaf(t,e){return sQ(e.content,0)?new oQ:null},endLeaf(t,e,i){if(i.parsers.some(O=>O instanceof oQ)||!sQ(e.text,e.basePos))return!1;let n=t.peekLine();return Py.test(n)&&Br(t,e.text,e.basePos)==Br(t,n,e.basePos)},before:"SetextHeading"}]};class h5{nextLine(){return!1}finish(e,i){return e.addLeafElement(i,e.elt("Task",i.start,i.start+i.content.length,[e.elt("TaskMarker",i.start,i.start+3),...e.parser.parseInline(i.content.slice(3),i.start+3)])),!0}}const d5={defineNodes:[{name:"Task",block:!0,style:$.list},{name:"TaskMarker",style:$.atom}],parseBlock:[{name:"TaskList",leaf(t,e){return/^\[[ xX]\][ \t]/.test(e.content)&&t.parentType().name=="ListItem"?new h5:null},after:"SetextHeading"}]},lQ=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,cQ=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,$5=/[\w-]+\.[\w-]+($|\/)/,uQ=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,fQ=/\/[a-zA-Z\d@.]+/gy;function hQ(t,e,i,n){let O=0;for(let r=e;r<i;r++)t[r]==n&&O++;return O}function p5(t,e){cQ.lastIndex=e;let i=cQ.exec(t);if(!i||$5.exec(i[0])[0].indexOf("_")>-1)return-1;let n=e+i[0].length;for(;;){let O=t[n-1],r;if(/[?!.,:*_~]/.test(O)||O==")"&&hQ(t,e,n,")")>hQ(t,e,n,"("))n--;else if(O==";"&&(r=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e,n))))n=e+r.index;else break}return n}function dQ(t,e){uQ.lastIndex=e;let i=uQ.exec(t);if(!i)return-1;let n=i[0][i[0].length-1];return n=="_"||n=="-"?-1:e+i[0].length-(n=="."?1:0)}const Q5={parseInline:[{name:"Autolink",parse(t,e,i){let n=i-t.offset;if(n&&/\w/.test(t.text[n-1]))return-1;lQ.lastIndex=n;let O=lQ.exec(t.text),r=-1;if(!O)return-1;if(O[1]||O[2]){if(r=p5(t.text,n+O[0].length),r>-1&&t.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(t.text.slice(n,r));r=n+a[0].length}}else O[3]?r=dQ(t.text,n):(r=dQ(t.text,n+O[0].length),r>-1&&O[0]=="xmpp:"&&(fQ.lastIndex=r,O=fQ.exec(t.text),O&&(r=O.index+O[0].length)));return r<0?-1:(t.addElement(t.elt("URL",i,r+t.offset)),r+t.offset)}}]},m5=[f5,d5,u5,Q5];function Sy(t,e,i){return(n,O,r)=>{if(O!=t||n.char(r+1)==t)return-1;let a=[n.elt(i,r,r+1)];for(let s=r+1;s<n.end;s++){let o=n.char(s);if(o==t)return n.addElement(n.elt(e,r,s+1,a.concat(n.elt(i,s,s+1))));if(o==92&&a.push(n.elt("Escape",s,s+++2)),ni(o))break}return-1}}const g5={defineNodes:[{name:"Superscript",style:$.special($.content)},{name:"SuperscriptMark",style:$.processingInstruction}],parseInline:[{name:"Superscript",parse:Sy(94,"Superscript","SuperscriptMark")}]},P5={defineNodes:[{name:"Subscript",style:$.special($.content)},{name:"SubscriptMark",style:$.processingInstruction}],parseInline:[{name:"Subscript",parse:Sy(126,"Subscript","SubscriptMark")}]},S5={defineNodes:[{name:"Emoji",style:$.character}],parseInline:[{name:"Emoji",parse(t,e,i){let n;return e!=58||!(n=/^[a-zA-Z_0-9]+:/.exec(t.slice(i+1,t.end)))?-1:t.addElement(t.elt("Emoji",i,i+1+n[0].length))}}]},by=No({commentTokens:{block:{open:"<!--",close:"-->"}}}),yy=new ue,xy=s5.configure({props:[wt.add(t=>!t.is("Block")||t.is("Document")||sf(t)!=null||b5(t)?void 0:(e,i)=>({from:i.doc.lineAt(e.from).to,to:e.to})),yy.add(sf),Xt.add({Document:()=>null}),$n.add({Document:by})]});function sf(t){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(t.name);return e?+e[1]:void 0}function b5(t){return t.name=="OrderedList"||t.name=="BulletList"}function y5(t,e){let i=t;for(;;){let n=i.nextSibling,O;if(!n||(O=sf(n.type))!=null&&O<=e)break;i=n}return i.to}const x5=HP.of((t,e,i)=>{for(let n=Ze(t).resolveInner(i,-1);n&&!(n.from<e);n=n.parent){let O=n.type.prop(yy);if(O==null)continue;let r=y5(n,O);if(r>i)return{from:i,to:r}}return null});function Wh(t){return new Nt(by,t,[],"markdown")}const X5=Wh(xy),w5=xy.configure([m5,P5,g5,S5,{props:[wt.add({Table:(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}]),Xo=Wh(w5);function k5(t,e){return i=>{if(i&&t){let n=null;if(i=/\S*/.exec(i)[0],typeof t=="function"?n=t(i):n=lo.matchLanguageName(t,i,!0),n instanceof lo)return n.support?n.support.language.parser:iO.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}let wc=class{constructor(e,i,n,O,r,a,s){this.node=e,this.from=i,this.to=n,this.spaceBefore=O,this.spaceAfter=r,this.type=a,this.item=s}blank(e,i=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length<e;)n+=" ";return n}else{for(let O=this.to-this.from-n.length-this.spaceAfter.length;O>0;O--)n+=" ";return n+(i?this.spaceAfter:"")}}marker(e,i){let n=this.node.name=="OrderedList"?String(+wy(this.item,e)[2]+i):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function Xy(t,e){let i=[],n=[];for(let O=t;O;O=O.parent){if(O.name=="FencedCode")return n;(O.name=="ListItem"||O.name=="Blockquote")&&i.push(O)}for(let O=i.length-1;O>=0;O--){let r=i[O],a,s=e.lineAt(r.from),o=r.from-s.from;if(r.name=="Blockquote"&&(a=/^ *>( ?)/.exec(s.text.slice(o))))n.push(new wc(r,o,o+a[0].length,"",a[1],">",null));else if(r.name=="ListItem"&&r.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(s.text.slice(o)))){let l=a[3],c=a[0].length;l.length>=4&&(l=l.slice(0,l.length-4),c-=4),n.push(new wc(r.parent,o,o+c,a[1],l,a[2],r))}else if(r.name=="ListItem"&&r.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(s.text.slice(o)))){let l=a[4],c=a[0].length;l.length>4&&(l=l.slice(0,l.length-4),c-=4);let u=a[2];a[3]&&(u+=a[3].replace(/[xX]/," ")),n.push(new wc(r.parent,o,o+c,a[1],l,u,r))}}return n}function wy(t,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from,t.from+10))}function kc(t,e,i,n=0){for(let O=-1,r=t;;){if(r.name=="ListItem"){let s=wy(r,e),o=+s[2];if(O>=0){if(o!=O+1)return;i.push({from:r.from+s[1].length,to:r.from+s[0].length,insert:String(O+2+n)})}O=o}let a=r.nextSibling;if(!a)break;r=a}}function jh(t,e){let i=/^[ \t]*/.exec(t)[0].length;if(!i||e.facet(va)!=" ")return t;let n=zi(t,4,i),O="";for(let r=n;r>0;)r>=4?(O+=" ",r-=4):(O+=" ",r--);return O+t.slice(i)}const T5=(t={})=>({state:e,dispatch:i})=>{let n=Ze(e),{doc:O}=e,r=null,a=e.changeByRange(s=>{if(!s.empty||!Xo.isActiveAt(e,s.from,-1)&&!Xo.isActiveAt(e,s.from,1))return r={range:s};let o=s.from,l=O.lineAt(o),c=Xy(n.resolveInner(o,-1),O);for(;c.length&&c[c.length-1].from>o-l.from;)c.pop();if(!c.length)return r={range:s};let u=c[c.length-1];if(u.to-u.spaceAfter.length>o-l.from)return r={range:s};let f=o>=u.to-u.spaceAfter.length&&!/\S/.test(l.text.slice(u.to));if(u.item&&f){let m=u.node.firstChild,S=u.node.getChild("ListItem","ListItem");if(m.to>=o||S&&S.to<o||l.from>0&&!/[^\s>]/.test(O.lineAt(l.from-1).text)||t.nonTightLists===!1){let x=c.length>1?c[c.length-2]:null,z,Y="";x&&x.item?(z=l.from+x.from,Y=x.marker(O,1)):z=l.from+(x?x.to:0);let U=[{from:z,to:o,insert:Y}];return u.node.name=="OrderedList"&&kc(u.item,O,U,-2),x&&x.node.name=="OrderedList"&&kc(x.item,O,U),{range:j.cursor(z+Y.length),changes:U}}else{let x=pQ(c,e,l);return{range:j.cursor(o+x.length+1),changes:{from:l.from,insert:x+e.lineBreak}}}}if(u.node.name=="Blockquote"&&f&&l.from){let m=O.lineAt(l.from-1),S=/>\s*$/.exec(m.text);if(S&&S.index==u.from){let x=e.changes([{from:m.from+S.index,to:m.to},{from:l.from+u.from,to:l.to}]);return{range:s.map(x),changes:x}}}let d=[];u.node.name=="OrderedList"&&kc(u.item,O,d);let p=u.item&&u.item.from<l.from,Q="";if(!p||/^[\s\d.)\-+*>]*/.exec(l.text)[0].length>=u.to)for(let m=0,S=c.length-1;m<=S;m++)Q+=m==S&&!p?c[m].marker(O,1):c[m].blank(m<S?zi(l.text,4,c[m+1].from)-Q.length:null);let P=o;for(;P>l.from&&/\s/.test(l.text.charAt(P-l.from-1));)P--;return Q=jh(Q,e),_5(u.node,e.doc)&&(Q=pQ(c,e,l)+e.lineBreak+Q),d.push({from:P,to:o,insert:e.lineBreak+Q}),{range:j.cursor(P+Q.length+1),changes:d}});return r?!1:(i(e.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},v5=T5();function $Q(t){return t.name=="QuoteMark"||t.name=="ListMark"}function _5(t,e){if(t.name!="OrderedList"&&t.name!="BulletList")return!1;let i=t.firstChild,n=t.getChild("ListItem","ListItem");if(!n)return!1;let O=e.lineAt(i.to),r=e.lineAt(n.from),a=/^[\s>]*$/.test(O.text);return O.number+(a?0:1)<r.number}function pQ(t,e,i){let n="";for(let O=0,r=t.length-2;O<=r;O++)n+=t[O].blank(O<r?zi(i.text,4,t[O+1].from)-n.length:null,O<r);return jh(n,e)}function R5(t,e){let i=t.resolveInner(e,-1),n=e;$Q(i)&&(n=i.from,i=i.parent);for(let O;O=i.childBefore(n);)if($Q(O))n=O.from;else if(O.name=="OrderedList"||O.name=="BulletList")i=O.lastChild,n=i.to;else break;return i}const Y5=({state:t,dispatch:e})=>{let i=Ze(t),n=null,O=t.changeByRange(r=>{let a=r.from,{doc:s}=t;if(r.empty&&Xo.isActiveAt(t,r.from)){let o=s.lineAt(a),l=Xy(R5(i,a),s);if(l.length){let c=l[l.length-1],u=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(a-o.from>u&&!/\S/.test(o.text.slice(u,a-o.from)))return{range:j.cursor(o.from+u),changes:{from:o.from+u,to:a}};if(a-o.from==u&&(!c.item||o.from<=c.item.from||!/\S/.test(o.text.slice(0,c.to)))){let f=o.from+c.from;if(c.item&&c.node.from<c.item.from&&/\S/.test(o.text.slice(c.from,c.to))){let d=c.blank(zi(o.text,4,c.to)-zi(o.text,4,c.from));return f==o.from&&(d=jh(d,t)),{range:j.cursor(f+d.length),changes:{from:f,to:o.from+c.to,insert:d}}}if(f<a)return{range:j.cursor(f),changes:{from:f,to:a}}}}}return n={range:r}});return n?!1:(e(t.update(O,{scrollIntoView:!0,userEvent:"delete"})),!0)},Z5=[{key:"Enter",run:v5},{key:"Backspace",run:Y5}],ky=Zh({matchClosingTags:!1});function z5(t={}){let{codeLanguages:e,defaultCodeLanguage:i,addKeymap:n=!0,base:{parser:O}=X5,completeHTMLTags:r=!0,pasteURLAsLink:a=!0,htmlTagLanguage:s=ky}=t;if(!(O instanceof Jo))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let o=t.extensions?[t.extensions]:[],l=[s.support,x5],c;a&&l.push(W5),i instanceof Ut?(l.push(i.support),c=i.language):i&&(c=i);let u=e||c?k5(e,c):void 0;o.push(l5({codeParser:u,htmlParser:s.language.parser})),n&&l.push(cO.high(Go.of(Z5)));let f=Wh(O.configure(o));return r&&l.push(f.data.of({autocomplete:U5})),new Ut(f,l)}function U5(t){let{state:e,pos:i}=t,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(i-25,i));if(!n)return null;let O=Ze(e).resolveInner(i,-1);for(;O&&!O.type.isTop;){if(O.name=="CodeBlock"||O.name=="FencedCode"||O.name=="ProcessingInstructionBlock"||O.name=="CommentBlock"||O.name=="Link"||O.name=="Image")return null;O=O.parent}return{from:i-n[0].length,to:i,options:q5(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let Tc=null;function q5(){if(Tc)return Tc;let t=Gz(new xR(ye.create({extensions:ky}),0,!0));return Tc=t?t.options:[]}const V5=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,W5=K.domEventHandlers({paste:(t,e)=>{var i;let{main:n}=e.state.selection;if(n.empty)return!1;let O=(i=t.clipboardData)===null||i===void 0?void 0:i.getData("text/plain");if(!O||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(O)||(/^www\./.test(O)&&(O="https://"+O),!Xo.isActiveAt(e.state,n.from,1)))return!1;let r=Ze(e.state),a=!1;return r.iterate({from:n.from,to:n.to,enter:s=>{(s.from>n.from||V5.test(s.name))&&(a=!0)},leave:s=>{s.to<n.to&&(a=!0)}}),a?!1:(e.dispatch({changes:[{from:n.from,insert:"["},{from:n.to,insert:`](${O})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),j5=36,QQ=1,C5=2,zO=3,vc=4,E5=5,G5=6,A5=7,N5=8,I5=9,L5=10,D5=11,M5=12,B5=13,F5=14,H5=15,K5=16,J5=17,mQ=18,eU=19,Ty=20,vy=21,gQ=22,tU=23,iU=24;function of(t){return t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57}function nU(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function jn(t,e,i){for(let n=!1;;){if(t.next<0)return;if(t.next==e&&!n){t.advance();return}n=i&&!n&&t.next==92,t.advance()}}function OU(t,e){e:for(;;){if(t.next<0)return;if(t.next==36){t.advance();for(let i=0;i<e.length;i++){if(t.next!=e.charCodeAt(i))continue e;t.advance()}if(t.next==36){t.advance();return}}else t.advance()}}function rU(t,e){let i="[{<(".indexOf(String.fromCharCode(e)),n=i<0?e:"]}>)".charCodeAt(i);for(;;){if(t.next<0)return;if(t.next==n&&t.peek(1)==39){t.advance(2);return}t.advance()}}function lf(t,e){for(;!(t.next!=95&&!of(t.next));)e!=null&&(e+=String.fromCharCode(t.next)),t.advance();return e}function aU(t){if(t.next==39||t.next==34||t.next==96){let e=t.next;t.advance(),jn(t,e,!1)}else lf(t)}function PQ(t,e){for(;t.next==48||t.next==49;)t.advance();e&&t.next==e&&t.advance()}function SQ(t,e){for(;;){if(t.next==46){if(e)break;e=!0}else if(t.next<48||t.next>57)break;t.advance()}if(t.next==69||t.next==101)for(t.advance(),(t.next==43||t.next==45)&&t.advance();t.next>=48&&t.next<=57;)t.advance()}function bQ(t){for(;!(t.next<0||t.next==10);)t.advance()}function Un(t,e){for(let i=0;i<e.length;i++)if(e.charCodeAt(i)==t)return!0;return!1}const _c=` \r
|
|
39
|
-
`;function _y(t,e,i){let n=Object.create(null);n.true=n.false=E5,n.null=n.unknown=G5;for(let O of t.split(" "))O&&(n[O]=Ty);for(let O of e.split(" "))O&&(n[O]=vy);for(let O of(i||"").split(" "))O&&(n[O]=iU);return n}const sU="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",oU="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",cf={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:_y(oU,sU)};function lU(t,e,i,n){let O={};for(let r in cf)O[r]=(t.hasOwnProperty(r)?t:cf)[r];return e&&(O.words=_y(e,i||"",n)),O}function Ry(t){return new ke(e=>{var i;let{next:n}=e;if(e.advance(),Un(n,_c)){for(;Un(e.next,_c);)e.advance();e.acceptToken(j5)}else if(n==36&&t.doubleDollarQuotedStrings){let O=lf(e,"");e.next==36&&(e.advance(),OU(e,O),e.acceptToken(zO))}else if(n==39||n==34&&t.doubleQuotedStrings)jn(e,n,t.backslashEscapes),e.acceptToken(zO);else if(n==35&&t.hashComments||n==47&&e.next==47&&t.slashComments)bQ(e),e.acceptToken(QQ);else if(n==45&&e.next==45&&(!t.spaceAfterDashes||e.peek(1)==32))bQ(e),e.acceptToken(QQ);else if(n==47&&e.next==42){e.advance();for(let O=1;;){let r=e.next;if(e.next<0)break;if(e.advance(),r==42&&e.next==47){if(O--,e.advance(),!O)break}else r==47&&e.next==42&&(O++,e.advance())}e.acceptToken(C5)}else if((n==101||n==69)&&e.next==39)e.advance(),jn(e,39,!0),e.acceptToken(zO);else if((n==110||n==78)&&e.next==39&&t.charSetCasts)e.advance(),jn(e,39,t.backslashEscapes),e.acceptToken(zO);else if(n==95&&t.charSetCasts)for(let O=0;;O++){if(e.next==39&&O>1){e.advance(),jn(e,39,t.backslashEscapes),e.acceptToken(zO);break}if(!of(e.next))break;e.advance()}else if(t.plsqlQuotingMechanism&&(n==113||n==81)&&e.next==39&&e.peek(1)>0&&!Un(e.peek(1),_c)){let O=e.peek(1);e.advance(2),rU(e,O),e.acceptToken(zO)}else if(Un(n,t.identifierQuotes)){const O=n==91?93:n;jn(e,O,!1),e.acceptToken(eU)}else if(n==40)e.acceptToken(A5);else if(n==41)e.acceptToken(N5);else if(n==123)e.acceptToken(I5);else if(n==125)e.acceptToken(L5);else if(n==91)e.acceptToken(D5);else if(n==93)e.acceptToken(M5);else if(n==59)e.acceptToken(B5);else if(t.unquotedBitLiterals&&n==48&&e.next==98)e.advance(),PQ(e),e.acceptToken(gQ);else if((n==98||n==66)&&(e.next==39||e.next==34)){const O=e.next;e.advance(),t.treatBitsAsBytes?(jn(e,O,t.backslashEscapes),e.acceptToken(tU)):(PQ(e,O),e.acceptToken(gQ))}else if(n==48&&(e.next==120||e.next==88)||(n==120||n==88)&&e.next==39){let O=e.next==39;for(e.advance();nU(e.next);)e.advance();O&&e.next==39&&e.advance(),e.acceptToken(vc)}else if(n==46&&e.next>=48&&e.next<=57)SQ(e,!0),e.acceptToken(vc);else if(n==46)e.acceptToken(F5);else if(n>=48&&n<=57)SQ(e,!1),e.acceptToken(vc);else if(Un(n,t.operatorChars)){for(;Un(e.next,t.operatorChars);)e.advance();e.acceptToken(H5)}else if(Un(n,t.specialVar))e.next==n&&e.advance(),aU(e),e.acceptToken(J5);else if(n==58||n==44)e.acceptToken(K5);else if(of(n)){let O=lf(e,String.fromCharCode(n));e.acceptToken(e.next==46||e.peek(-O.length-1)==46?mQ:(i=t.words[O.toLowerCase()])!==null&&i!==void 0?i:mQ)}})}const Yy=Ry(cf),cU=yt.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,Yy],topRules:{Script:[0,25]},tokenPrec:0});function uf(t){let e=t.cursor().moveTo(t.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function ga(t,e){let i=t.sliceString(e.from,e.to),n=/^([`'"\[])(.*)([`'"\]])$/.exec(i);return n?n[2]:i}function wo(t){return t&&(t.name=="Identifier"||t.name=="QuotedIdentifier")}function uU(t,e){if(e.name=="CompositeIdentifier"){let i=[];for(let n=e.firstChild;n;n=n.nextSibling)wo(n)&&i.push(ga(t,n));return i}return[ga(t,e)]}function yQ(t,e){for(let i=[];;){if(!e||e.name!=".")return i;let n=uf(e);if(!wo(n))return i;i.unshift(ga(t,n)),e=uf(n)}}function fU(t,e){let i=Ze(t).resolveInner(e,-1),n=dU(t.doc,i);return i.name=="Identifier"||i.name=="QuotedIdentifier"||i.name=="Keyword"?{from:i.from,quoted:i.name=="QuotedIdentifier"?t.doc.sliceString(i.from,i.from+1):null,parents:yQ(t.doc,uf(i)),aliases:n}:i.name=="."?{from:e,quoted:null,parents:yQ(t.doc,i),aliases:n}:{from:e,quoted:null,parents:[],empty:!0,aliases:n}}const hU=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function dU(t,e){let i;for(let O=e;!i;O=O.parent){if(!O)return null;O.name=="Statement"&&(i=O)}let n=null;for(let O=i.firstChild,r=!1,a=null;O;O=O.nextSibling){let s=O.name=="Keyword"?t.sliceString(O.from,O.to).toLowerCase():null,o=null;if(!r)r=s=="from";else if(s=="as"&&a&&wo(O.nextSibling))o=ga(t,O.nextSibling);else{if(s&&hU.has(s))break;a&&wo(O)&&(o=ga(t,O))}o&&(n||(n=Object.create(null)),n[o]=uU(t,a)),a=/Identifier$/.test(O.name)?O:null}return n}function $U(t,e,i){return i.map(n=>({...n,label:n.label[0]==t?n.label:t+n.label+e,apply:void 0}))}const pU=/^\w*$/,QU=/^[`'"\[]?\w*[`'"\]]?$/;function xQ(t){return t.self&&typeof t.self.label=="string"}class Ch{constructor(e,i){this.idQuote=e,this.idCaseInsensitive=i,this.list=[],this.children=void 0}child(e){let i=this.children||(this.children=Object.create(null)),n=i[e];return n||(e&&!this.list.some(O=>O.label==e)&&this.list.push(XQ(e,"type",this.idQuote,this.idCaseInsensitive)),i[e]=new Ch(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let i=this.list.findIndex(n=>n.label==e.label);i>-1?this.list[i]=e:this.list.push(e)}addCompletions(e){for(let i of e)this.addCompletion(typeof i=="string"?XQ(i,"property",this.idQuote,this.idCaseInsensitive):i)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):xQ(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let i of Object.keys(e)){let n=e[i],O=null,r=i.replace(/\\?\./g,s=>s=="."?"\0":s).split("\0"),a=this;xQ(n)&&(O=n.self,n=n.children);for(let s=0;s<r.length;s++)O&&s==r.length-1&&a.addCompletion(O),a=a.child(r[s].replace(/\\\./g,"."));a.addNamespace(n)}}}function XQ(t,e,i,n){return new RegExp("^[a-z_][a-z_\\d]*$",n?"i":"").test(t)?{label:t,type:e}:{label:t,type:e,apply:i+t+Zy(i)}}function Zy(t){return t==="["?"]":t}function mU(t,e,i,n,O,r){var a;let s=((a=r==null?void 0:r.spec.identifierQuotes)===null||a===void 0?void 0:a[0])||'"',o=new Ch(s,!!(r!=null&&r.spec.caseInsensitiveIdentifiers)),l=O?o.child(O):null;return o.addNamespace(t),e&&(l||o).addCompletions(e),i&&o.addCompletions(i),l&&o.addCompletions(l.list),n&&o.addCompletions((l||o).child(n).list),c=>{let{parents:u,from:f,quoted:d,empty:p,aliases:Q}=fU(c.state,c.pos);if(p&&!c.explicit)return null;Q&&u.length==1&&(u=Q[u[0]]||u);let P=o;for(let S of u){for(;!P.children||!P.children[S];)if(P==o&&l)P=l;else if(P==l&&n)P=P.child(n);else return null;let x=P.maybeChild(S);if(!x)return null;P=x}let m=P.list;if(P==o&&Q&&(m=m.concat(Object.keys(Q).map(S=>({label:S,type:"constant"})))),d){let S=d[0],x=Zy(S),z=c.state.sliceDoc(c.pos,c.pos+1)==x;return{from:f,to:z?c.pos+1:void 0,options:$U(S,x,m),validFor:QU}}else return{from:f,options:m,validFor:pU}}}function gU(t){return t==vy?"type":t==Ty?"keyword":"variable"}function PU(t,e,i){let n=Object.keys(t).map(O=>i(e?O.toUpperCase():O,gU(t[O])));return Sh(["QuotedIdentifier","String","LineComment","BlockComment","."],Ph(n))}let SU=cU.configure({props:[Xt.add({Statement:Ot()}),wt.add({Statement(t,e){return{from:Math.min(t.from+100,e.doc.lineAt(t.from).to),to:t.to}},BlockComment(t){return{from:t.from+2,to:t.to-2}}}),xt({Keyword:$.keyword,Type:$.typeName,Builtin:$.standard($.name),Bits:$.number,Bytes:$.string,Bool:$.bool,Null:$.null,Number:$.number,String:$.string,Identifier:$.name,QuotedIdentifier:$.special($.string),SpecialVar:$.special($.name),LineComment:$.lineComment,BlockComment:$.blockComment,Operator:$.operator,"Semi Punctuation":$.punctuation,"( )":$.paren,"{ }":$.brace,"[ ]":$.squareBracket})]});class ko{constructor(e,i,n){this.dialect=e,this.language=i,this.spec=n}get extension(){return this.language.extension}configureLanguage(e,i){return new ko(this.dialect,this.language.configure(e,i),this.spec)}static define(e){let i=lU(e,e.keywords,e.types,e.builtin),n=bt.define({name:"sql",parser:SU.configure({tokenizers:[{from:Yy,to:Ry(i)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new ko(i,n,e)}}function bU(t,e){return{label:t,type:e,boost:-1}}function yU(t,e=!1,i){return PU(t.dialect.words,e,i||bU)}function xU(t){return t.schema?mU(t.schema,t.tables,t.schemas,t.defaultTable,t.defaultSchema,t.dialect||Eh):()=>null}function XU(t){return t.schema?(t.dialect||Eh).language.data.of({autocomplete:xU(t)}):[]}function wU(t={}){let e=t.dialect||Eh;return new Ut(e.language,[XU(t),e.language.data.of({autocomplete:yU(e,t.upperCaseKeywords,t.keywordCompletion)})])}const Eh=ko.define({}),kU=1,TU=2,vU=3,_U=4,RU=5,wQ=98,YU=101,ZU=102,kQ=114,zU=69,ms=48,TQ=46,UU=43,qU=45,vQ=35,_Q=34,VU=124,WU=60,jU=62;function ff(t){return t>=48&&t<=57}function gs(t){return ff(t)||t==95}const CU=new ke((t,e)=>{if(ff(t.next)){let i=!1;do t.advance();while(gs(t.next));if(t.next==TQ){if(i=!0,t.advance(),ff(t.next))do t.advance();while(gs(t.next));else if(t.next==TQ||t.next>127||/\w/.test(String.fromCharCode(t.next)))return}if(t.next==YU||t.next==zU){if(i=!0,t.advance(),(t.next==UU||t.next==qU)&&t.advance(),!gs(t.next))return;do t.advance();while(gs(t.next))}if(t.next==ZU){let n=t.peek(1);if(n==ms+3&&t.peek(2)==ms+2||n==ms+6&&t.peek(2)==ms+4)t.advance(3),i=!0;else return}i&&t.acceptToken(RU)}else if(t.next==wQ||t.next==kQ){if(t.next==wQ&&t.advance(),t.next!=kQ)return;t.advance();let i=0;for(;t.next==vQ;)i++,t.advance();if(t.next!=_Q)return;t.advance();e:for(;;){if(t.next<0)return;let n=t.next==_Q;if(t.advance(),n){for(let O=0;O<i;O++){if(t.next!=vQ)continue e;t.advance()}t.acceptToken(_U);return}}}}),EU=new ke(t=>{t.next==VU&&t.acceptToken(kU,1)}),GU=new ke(t=>{t.next==WU?t.acceptToken(TU,1):t.next==jU&&t.acceptToken(vU,1)}),AU=xt({"const macro_rules struct union enum type fn impl trait let static":$.definitionKeyword,"mod use crate":$.moduleKeyword,"pub unsafe async mut extern default move":$.modifier,"for if else loop while match continue break return await":$.controlKeyword,"as in ref":$.operatorKeyword,"where _ crate super dyn":$.keyword,self:$.self,String:$.string,Char:$.character,RawString:$.special($.string),Boolean:$.bool,Identifier:$.variableName,"CallExpression/Identifier":$.function($.variableName),BoundIdentifier:$.definition($.variableName),"FunctionItem/BoundIdentifier":$.function($.definition($.variableName)),LoopLabel:$.labelName,FieldIdentifier:$.propertyName,"CallExpression/FieldExpression/FieldIdentifier":$.function($.propertyName),Lifetime:$.special($.variableName),ScopeIdentifier:$.namespace,TypeIdentifier:$.typeName,"MacroInvocation/Identifier MacroInvocation/ScopedIdentifier/Identifier":$.macroName,"MacroInvocation/TypeIdentifier MacroInvocation/ScopedIdentifier/TypeIdentifier":$.macroName,'"!"':$.macroName,UpdateOp:$.updateOperator,LineComment:$.lineComment,BlockComment:$.blockComment,Integer:$.integer,Float:$.float,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,"=":$.definitionOperator,".. ... => ->":$.punctuation,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,". DerefOp":$.derefOperator,"&":$.operator,", ; ::":$.separator,"Attribute/...":$.meta}),NU={__proto__:null,self:28,super:32,crate:34,impl:46,true:72,false:72,pub:88,in:92,const:96,unsafe:104,async:108,move:110,if:114,let:118,ref:142,mut:144,_:198,else:200,match:204,as:248,return:252,await:262,break:270,continue:276,while:312,loop:316,for:320,macro_rules:327,mod:334,extern:342,struct:346,where:364,union:379,enum:382,type:390,default:395,fn:396,trait:412,use:420,static:438,dyn:476},IU=yt.deserialize({version:14,states:"$2xQ]Q_OOP$wOWOOO&sQWO'#CnO)WQWO'#I`OOQP'#I`'#I`OOQQ'#Ie'#IeO)hO`O'#C}OOQR'#Ih'#IhO)sQWO'#IuOOQO'#Hk'#HkO)xQWO'#DpOOQR'#Iw'#IwO)xQWO'#DpO*ZQWO'#DpOOQO'#Iv'#IvO,SQWO'#J`O,ZQWO'#EiOOQV'#Hp'#HpO,cQYO'#F{OOQV'#El'#ElOOQV'#Em'#EmOOQV'#En'#EnO.YQ_O'#EkO0_Q_O'#EoO2gQWOOO4QQ_O'#FPO7hQWO'#J`OOQV'#FY'#FYO7{Q_O'#F^O:WQ_O'#FaOOQO'#F`'#F`O=sQ_O'#FcO=}Q_O'#FbO@VQWO'#FgOOQO'#J`'#J`OOQV'#Io'#IoOA]Q_O'#InOEPQWO'#InOOQV'#Fw'#FwOF[QWO'#JuOFcQWO'#F|OOQO'#IO'#IOOGrQWO'#GhOOQV'#Im'#ImOOQV'#Il'#IlOOQV'#Hj'#HjQGyQ_OOOKeQ_O'#DUOKlQYO'#CqOOQP'#I_'#I_OOQV'#Hg'#HgQ]Q_OOOLuQWO'#I`ONsQYO'#DXO!!eQWO'#JuO!!lQWO'#JuO!!vQ_O'#DfO!%]Q_O'#E}O!(sQ_O'#FWO!,ZQWO'#FZO!.^QXO'#FbO!.cQ_O'#EeO!!vQ_O'#FmO!0uQWO'#FoO!0zQWO'#FoO!1PQ^O'#FqO!1WQWO'#JuO!1_QWO'#FtO!1dQWO'#FxO!2WQWO'#JjO!2_QWO'#GOO!2_QWO'#G`O!2_QWO'#GbO!2_QWO'#GsOOQO'#Ju'#JuO!2dQWO'#GhO!2lQYO'#GpO!2_QWO'#GqO!3uQ^O'#GtO!3|QWO'#GuO!4hQWO'#HOP!4sOpO'#CcPOOO)CC})CC}OOOO'#Hi'#HiO!5OO`O,59iOOQV,59i,59iO!5ZQYO,5?aOOQO-E;i-E;iOOQO,5:[,5:[OOQP,59Z,59ZO)xQWO,5:[O)xQWO,5:[O!5oQWO,5?kO!5zQYO,5;qO!6PQYO,5;TO!6hQWO,59QO!7kQXO'#CnO!7xQXO'#I`O!9SQWO'#CoO,^QWO'#EiOOQV-E;n-E;nO!9eQWO'#FsOOQV,5<g,5<gO!9SQWO'#CoO!9jQWO'#CoO!9oQWO'#I`O! yQWO'#JuO!9yQWO'#J`O!:aQWO,5;VOOQO'#In'#InO!0zQWO'#DaO!<aQWO'#DcO!<iQWO,5;ZO.YQ_O,5;ZOOQO,5;[,5;[OOQV'#Er'#ErOOQV'#Es'#EsOOQV'#Et'#EtOOQV'#Eu'#EuOOQV'#Ev'#EvOOQV'#Ew'#EwOOQV'#Ex'#ExOOQV'#Ey'#EyO.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;fO!=PQ_O,5;kO!@gQ_O'#FROOQO,5;l,5;lO!BrQWO,5;pO.YQ_O,5;wOKlQYO,5;gO!D_QWO,5;kO!EOQWO,5;xOOQO,5;x,5;xO!E]QWO,5;xO!EbQ_O,5;xO!GmQWO'#CfO!GrQWO,5<QO!G|Q_O,5<QOOQO,5;{,5;{O!JjQXO'#CnO!K{QXO'#I`OOQS'#Dk'#DkOOQP'#Ir'#IrO!LuQ[O'#IrO!L}QXO'#DjO!M{QWO'#DnO!M{QWO'#DnO!N^QWO'#DnOOQP'#It'#ItO!NcQXO'#ItO# ^Q^O'#DoO# hQWO'#DrO# pQ^O'#DzO# zQ^O'#D|O#!RQWO'#EPO#!^QXO'#FdOOQP'#ES'#ESOOQP'#Iq'#IqO#!lQXO'#JfOOQP'#Je'#JeO#!tQXO,5;}O#!yQXO'#I`O!1PQ^O'#DyO!1PQ^O'#FdO##sQWO,5;|OOQO,5;|,5;|OKlQYO,5;|O#$ZQWO'#FhOOQO,5<R,5<ROOQV,5=l,5=lO#&`QYO'#FzOOQV,5<h,5<hO#&gQWO,5<hO#&nQWO,5=SO!1WQWO,59rO!1dQWO,5<dO#&uQWO,5=iO!2_QWO,5<jO!2_QWO,5<zO!2_QWO,5<|O!2_QWO,5=QO#&|QWO,5=]O#'TQWO,5=SO!2_QWO,5=]O!3|QWO,5=aO#']QWO,5=jOOQO-E;|-E;|O#'hQWO'#JjOOQV-E;h-E;hO#(PQWO'#HRO#(WQ_O,59pOOQV,59p,59pO#(_QWO,59pO#(dQ_O,59pO#)SQZO'#CuO#+[QZO'#CvOOQV'#C|'#C|O#-wQWO'#HTO#.OQYO'#IdOOQO'#Hh'#HhO#.WQWO'#CwO#.WQWO'#CwO#.iQWO'#CwOOQR'#Ic'#IcO#.nQZO'#IbO#1TQYO'#HTO#1qQYO'#H[O#2}QYO'#H_OKlQYO'#H`OOQR'#Hb'#HbO#4ZQWO'#HeO#4`QYO,59]OOQR'#Ib'#IbO#5PQZO'#CtO#7[QYO'#HUO#7aQWO'#HTO#7fQYO'#CrO#8VQWO'#H]O#7fQYO'#HcOOQV-E;e-E;eO#8_QWO,59sOOQV,59{,59{O#8mQYO,5=[OOQV,59},59}O!0zQWO,59}O#;aQWO'#IpOOQO'#Ip'#IpO!1PQ^O'#DhO!0zQWO,5:QO#;hQWO,5;iO#<OQWO,5;rO#<fQ_O,5;rOOQO,5;u,5;uO#@PQ_O,5;|O#BXQWO,5;PO!0zQWO,5<XO#B`QWO,5<ZOOQV,5<Z,5<ZO#BkQWO,5<]O!1PQ^O'#EOOOQQ'#D_'#D_O#BsQWO,59rO#BxQWO,5<`O#B}QWO,5<dOOQO,5@U,5@UO#CVQWO,5=iOOQQ'#Cv'#CvO#C[QYO,5<jO#CmQYO,5<zO#CxQYO,5<|O#DTQYO,5=_O#DcQYO,5=SO#E{QYO'#GQO#FYQYO,5=[O#FmQWO,5=[O#F{QYO,5=[O#HUQYO,5=]O#HdQWO,5=`O!1PQ^O,5=`O#HrQWO'#CnO#ITQWO'#I`OOQO'#Jy'#JyO#IfQWO'#IQO#IkQWO'#GwOOQO'#Jz'#JzO#JSQWO'#GzOOQO'#G|'#G|OOQO'#Jx'#JxO#IkQWO'#GwO#JZQWO'#GxO#J`QWO,5=aO#JeQWO,5=jO!1dQWO,5=jO#'`QWO,5=jPOOO'#Hf'#HfP#JjOpO,58}POOO,58},58}OOOO-E;g-E;gOOQV1G/T1G/TO#JuQWO1G4{O#JzQ^O'#CyPOQQ'#Cx'#CxOOQO1G/v1G/vOOQP1G.u1G.uO)xQWO1G/vO#NTQ!fO'#ETO#N[Q!fO'#EaO#NcQ!fO'#EbO$ kQWO1G1yO$!_Q_O1G1yOOQP1G5V1G5VOOQO1G1]1G1]O$&RQWO1G0oO$&WQWO'#CiO!7xQXO'#I`O!6PQYO1G.lO!5oQWO,5<_O!9SQWO,59ZO!9SQWO,59ZO!5oQWO,5?kO$&iQWO1G0uO$(vQWO1G0wO$*nQWO1G0wO$+UQWO1G0wO$-YQWO1G0wO$-aQWO1G0wO$/bQWO1G0wO$/iQWO1G0wO$1jQWO1G0wO$1qQWO1G0wO$3YQWO1G1QO$5ZQWO1G1VO$5zQ_O'#JcO$8SQWO'#JcOOQO'#Jb'#JbO$8^QWO,5;mOOQO'#Dw'#DwOOQO1G1[1G1[OOQO1G1Y1G1YO$8cQWO1G1cOOQO1G1R1G1RO$8jQ_O'#HrO$:xQWO,5@OO.YQ_O1G1dOOQO1G1d1G1dO$;QQWO1G1dO$;_QWO1G1dO$;dQWO1G1eOOQO1G1l1G1lO$;lQWO1G1lOOQP,5?^,5?^O$;vQ^O,5:kO$<aQXO,5:YO!M{QWO,5:YO!M{QWO,5:YO!1PQ^O,5:gO$=bQWO'#IyOOQO'#Ix'#IxO$=pQWO,5:ZO# ^Q^O,5:ZO$=uQWO'#DsOOQP,5:^,5:^O$>WQWO,5:fOOQP,5:h,5:hO!1PQ^O,5:hO!1PQ^O,5:mO$>]QYO,5<OO$>gQ_O'#HsO$>tQXO,5@QOOQV1G1i1G1iOOQP,5:e,5:eO$>|QXO,5<OO$?[QWO1G1hO$?dQWO'#CnO$?oQWO'#FiOOQO'#Fi'#FiO$?wQWO'#FjO.YQ_O'#FkOOQO'#Ji'#JiO$?|QWO'#JhOOQO'#Jg'#JgO$@UQWO,5<SOOQQ'#Hv'#HvO$@ZQYO,5<fOOQV,5<f,5<fO$@bQYO,5<fOOQV1G2S1G2SO$@iQWO1G2nO$@qQWO1G/^O$@vQWO1G2OO#CVQWO1G3TO$AOQYO1G2UO#CmQYO1G2fO#CxQYO1G2hO$AaQYO1G2lO!2_QWO1G2wO#DcQYO1G2nO#HUQYO1G2wO$AiQWO1G2{O$AnQWO1G3UO!1dQWO1G3UO$AsQWO1G3UOOQV1G/[1G/[O$A{QWO1G/[O$BQQ_O1G/[O#7aQWO,5=oO$BXQYO,5?OO$BmQWO,5?OO$BrQZO'#IeOOQO-E;f-E;fOOQR,59c,59cO#.WQWO,59cO#.WQWO,59cOOQR,5=n,5=nO$E_QYO'#HVO$FwQZO,5=oO!5oQWO,5={O$IZQWO,5=oO$IbQZO,5=vO$KqQYO,5=vO$>]QYO,5=vO$LRQWO'#KRO$L^QWO,5=xOOQR,5=y,5=yO$LcQWO,5=zO$>]QYO,5>PO$>]QYO,5>POOQO1G.w1G.wO$>]QYO1G.wO$LnQYO,5=pO$LvQZO,59^OOQR,59^,59^O$>]QYO,5=wO% YQZO,5=}OOQR,5=},5=}O%#lQWO1G/_O!6PQYO1G/_O#FYQYO1G2vO%#qQWO1G2vO%$PQYO1G2vOOQV1G/i1G/iO%%YQWO,5:SO%%bQ_O1G/lO%*kQWO1G1^O%+RQWO1G1hOOQO1G1h1G1hO$>]QYO1G1hO%+iQ^O'#EgOOQV1G0k1G0kOOQV1G1s1G1sO!!vQ_O1G1sO!0zQWO1G1uO!1PQ^O1G1wO!.cQ_O1G1wOOQP,5:j,5:jO$>]QYO1G/^OOQO'#Cn'#CnO%+vQWO1G1zOOQV1G2O1G2OO%,OQWO'#CnO%,WQWO1G3TO%,]QWO1G3TO%,bQYO'#GQO%,sQWO'#G]O%-UQYO'#G_O%.hQYO'#GXOOQV1G2U1G2UO%/wQWO1G2UO%/|QWO1G2UO$ARQWO1G2UOOQV1G2f1G2fO%/wQWO1G2fO#CpQWO1G2fO%0UQWO'#GdOOQV1G2h1G2hO%0gQWO1G2hO#C{QWO1G2hO%0lQYO'#GSO$>]QYO1G2lO$AdQWO1G2lOOQV1G2y1G2yO%1xQWO1G2yO%3hQ^O'#GkO%3rQWO1G2nO#DfQWO1G2nO%4QQYO,5<lO%4[QYO,5<lO%4jQYO,5<lO%5XQYO,5<lOOQQ,5<l,5<lO!1WQWO'#JuO%5dQYO,5<lO%5lQWO1G2vOOQV1G2v1G2vO%5tQWO1G2vO$>]QYO1G2vOOQV1G2w1G2wO%5tQWO1G2wO%5yQWO1G2wO#HXQWO1G2wOOQV1G2z1G2zO.YQ_O1G2zO$>]QYO1G2zO%6RQWO1G2zOOQO,5>l,5>lOOQO-E<O-E<OOOQO,5=c,5=cOOQO,5=e,5=eOOQO,5=g,5=gOOQO,5=h,5=hO%6aQWO'#J|OOQO'#J{'#J{O%6iQWO,5=fO%6nQWO,5=cO!1dQWO,5=dOOQV1G2{1G2{O$>]QYO1G3UPOOO-E;d-E;dPOOO1G.i1G.iOOQO7+*g7+*gO%7VQYO'#IcO%7nQYO'#IfO%7yQYO'#IfO%8RQYO'#IfO%8^QYO,59eOOQO7+%b7+%bOOQP7+$a7+$aO%8cQ!fO'#JTOOQS'#EX'#EXOOQS'#EY'#EYOOQS'#EZ'#EZOOQS'#JT'#JTO%;UQWO'#EWOOQS'#E`'#E`OOQS'#JR'#JROOQS'#Hn'#HnO%;ZQ!fO,5:oOOQV,5:o,5:oOOQV'#JQ'#JQO%;bQ!fO,5:{OOQV,5:{,5:{O%;iQ!fO,5:|OOQV,5:|,5:|OOQV7+'e7+'eOOQV7+&Z7+&ZO%;pQ!fO,59TOOQO,59T,59TO%>YQWO7+$WO%>_QWO1G1yOOQV1G1y1G1yO!9SQWO1G.uO%>dQWO,5?}O%>nQ_O'#HqO%@|QWO,5?}OOQO1G1X1G1XOOQO7+&}7+&}O%AUQWO,5>^OOQO-E;p-E;pO%AcQWO7+'OO.YQ_O7+'OOOQO7+'O7+'OOOQO7+'P7+'PO%AjQWO7+'POOQO7+'W7+'WOOQP1G0V1G0VO%ArQXO1G/tO!M{QWO1G/tO%BsQXO1G0RO%CkQ^O'#HlO%C{QWO,5?eOOQP1G/u1G/uO%DWQWO1G/uO%D]QWO'#D_OOQO'#Dt'#DtO%DhQWO'#DtO%DmQWO'#I{OOQO'#Iz'#IzO%DuQWO,5:_O%DzQWO'#DtO%EPQWO'#DtOOQP1G0Q1G0QOOQP1G0S1G0SOOQP1G0X1G0XO%EXQXO1G1jO%EdQXO'#FeOOQP,5>_,5>_O!1PQ^O'#FeOOQP-E;q-E;qO$>]QYO1G1jOOQO7+'S7+'SOOQO,5<T,5<TO%ErQWO,5<UO.YQ_O,5<UO%EwQWO,5<VO%FRQWO'#HtO%FdQWO,5@SOOQO1G1n1G1nOOQQ-E;t-E;tOOQV1G2Q1G2QO%FlQYO1G2QO#DcQYO7+(YO$>]QYO7+$xOOQV7+'j7+'jO%FsQWO7+(oO%FxQWO7+(oOOQV7+'p7+'pO%/wQWO7+'pO%F}QWO7+'pO%GVQWO7+'pOOQV7+(Q7+(QO%/wQWO7+(QO#CpQWO7+(QOOQV7+(S7+(SO%0gQWO7+(SO#C{QWO7+(SO$>]QYO7+(WO%GeQWO7+(WO#HUQYO7+(cO%GjQWO7+(YO#DfQWO7+(YOOQV7+(c7+(cO%5tQWO7+(cO%5yQWO7+(cO#HXQWO7+(cOOQV7+(g7+(gO$>]QYO7+(pO%GxQWO7+(pO!1dQWO7+(pOOQV7+$v7+$vO%G}QWO7+$vO%HSQZO1G3ZO%JfQWO1G4jOOQO1G4j1G4jOOQR1G.}1G.}O#.WQWO1G.}O%JkQWO'#KQOOQO'#HW'#HWO%J|QWO'#HXO%KXQWO'#KQOOQO'#KP'#KPO%KaQWO,5=qO%KfQYO'#H[O%LrQWO'#GmO%L}QYO'#CtO%MXQWO'#GmO$>]QYO1G3ZOOQR1G3g1G3gO#7aQWO1G3ZO%M^QZO1G3bO$>]QYO1G3bO& mQYO'#IVO& }QWO,5@mOOQR1G3d1G3dOOQR1G3f1G3fO.YQ_O1G3fOOQR1G3k1G3kO&!VQYO7+$cO&!_QYO'#KOOOQQ'#J}'#J}O&!gQYO1G3[O&!lQZO1G3cOOQQ7+$y7+$yO&${QWO7+$yO&%QQWO7+(bOOQV7+(b7+(bO%5tQWO7+(bO$>]QYO7+(bO#FYQYO7+(bO&%YQWO7+(bO!.cQ_O1G/nO&%hQWO7+%WO$?[QWO7+'SO&%pQWO'#EhO&%{Q^O'#EhOOQU'#Ho'#HoO&%{Q^O,5;ROOQV,5;R,5;RO&&VQWO,5;RO&&[Q^O,5;RO!0zQWO7+'_OOQV7+'a7+'aO&&iQWO7+'cO&&qQWO7+'cO&&xQWO7+$xO&'TQ!fO7+'fO&'[Q!fO7+'fOOQV7+(o7+(oO!1dQWO7+(oO&'cQYO,5<lO&'nQYO,5<lO!1dQWO'#GWO&'|QWO'#JpO&([QWO'#G^O!BxQWO'#G^O&(aQWO'#JpOOQO'#Jo'#JoO&(iQWO,5<wOOQO'#DX'#DXO&(nQYO'#JrO&)}QWO'#JrO$>]QYO'#JrOOQO'#Jq'#JqO&*YQWO,5<yO&*_QWO'#GZO#D^QWO'#G[O&*gQWO'#G[O&*oQWO'#JmOOQO'#Jl'#JlO&*zQYO'#GTOOQO,5<s,5<sO&+PQWO7+'pO&+UQWO'#JtO&+dQWO'#GeO#BxQWO'#GeO&+uQWO'#JtOOQO'#Js'#JsO&+}QWO,5=OO$>]QYO'#GUO&,SQYO'#JkOOQQ,5<n,5<nO&,kQWO7+(WOOQV7+(e7+(eO&.TQ^O'#D|O&._QWO'#GlO&.gQ^O'#JwOOQO'#Gn'#GnO&.nQWO'#JwOOQO'#Jv'#JvO&.vQWO,5=VO&.{QWO'#I`O&/]Q^O'#GmO&/dQWO'#IqO&/rQWO'#GmOOQV7+(Y7+(YO&/zQWO7+(YO$>]QYO7+(YO&0SQYO'#HxO&0hQYO1G2WOOQQ1G2W1G2WOOQQ,5<m,5<mO$>]QYO,5<qO&0pQWO,5<rO&0uQWO7+(bO&1QQWO7+(fO&1XQWO7+(fOOQV7+(f7+(fO.YQ_O7+(fO$>]QYO7+(fO&1dQWO'#IRO&1nQWO,5@hOOQO1G3Q1G3QOOQO1G2}1G2}OOQO1G3P1G3POOQO1G3R1G3ROOQO1G3S1G3SOOQO1G3O1G3OO&1vQWO7+(pO$>]QYO,59fO&2RQ^O'#ISO&2xQYO,5?QOOQR1G/P1G/PO&3QQ!bO,5:pO&3VQ!fO,5:rOOQS-E;l-E;lOOQV1G0Z1G0ZOOQV1G0g1G0gOOQV1G0h1G0hO&3^QWO'#JTOOQO1G.o1G.oOOQV<<Gr<<GrO&3iQWO1G5iO$5zQ_O,5>]O&3qQWO,5>]OOQO-E;o-E;oOOQO<<Jj<<JjO&3{QWO<<JjOOQO<<Jk<<JkO&4SQXO7+%`O&5TQWO,5>WOOQO-E;j-E;jOOQP7+%a7+%aO!1PQ^O,5:`O&5cQWO'#HmO&5wQWO,5?gOOQP1G/y1G/yOOQO,5:`,5:`O&6PQWO,5:`O%DzQWO,5:`O$>]QYO,5<PO&6UQXO,5<PO&6dQXO7+'UO.YQ_O1G1pO&6oQWO1G1pOOQO,5>`,5>`OOQO-E;r-E;rOOQV7+'l7+'lO&6yQWO<<KtO#DfQWO<<KtO&7XQWO<<HdOOQV<<LZ<<LZO!1dQWO<<LZOOQV<<K[<<K[O&7dQWO<<K[O%/wQWO<<K[O&7iQWO<<K[OOQV<<Kl<<KlO%/wQWO<<KlOOQV<<Kn<<KnO%0gQWO<<KnO&7qQWO<<KrO$>]QYO<<KrOOQV<<K}<<K}O%5tQWO<<K}O%5yQWO<<K}O#HXQWO<<K}OOQV<<Kt<<KtO&7yQWO<<KtO$>]QYO<<KtO&8RQWO<<L[O$>]QYO<<L[O&8^QWO<<L[OOQV<<Hb<<HbO$>]QYO7+(uOOQO7+*U7+*UOOQR7+$i7+$iO&8cQWO,5@lOOQO'#Gm'#GmO&8kQWO'#GmO&8vQYO'#IUO&8cQWO,5@lOOQR1G3]1G3]O&:cQYO,5=vO&;rQYO,5=XO&;|QWO,5=XOOQO,5=X,5=XOOQR7+(u7+(uO&<RQZO7+(uO&>eQZO7+(|O&@tQWO,5>qOOQO-E<T-E<TO&APQWO7+)QOOQO<<G}<<G}O&AWQYO'#ITO&AcQYO,5@jOOQQ7+(v7+(vOOQQ<<He<<HeO$>]QYO<<K|OOQV<<K|<<K|O&0uQWO<<K|O&AkQWO<<K|O%5tQWO<<K|O&AsQWO7+%YOOQV<<Hr<<HrOOQO<<Jn<<JnO.YQ_O,5;SO&AzQWO,5;SO.YQ_O'#EjO&BPQWO,5;SOOQU-E;m-E;mO&B[QWO1G0mOOQV1G0m1G0mO&%{Q^O1G0mOOQV<<Jy<<JyO!.cQ_O<<J}OOQV<<J}<<J}OOQV<<Hd<<HdO.YQ_O<<HdO&BaQWO'#FvO&BfQWO<<KQO&BnQ!fO<<KQO&BuQWO<<KQO&BzQWO<<KQO&CSQ!fO<<KQOOQV<<KQ<<KQO&CZQWO<<LZO&C`QWO,5@[O$>]QYO,5<xO&ChQWO,5<xO&CmQWO'#H{O&C`QWO,5@[OOQV1G2c1G2cO&DRQWO,5@^O$>]QYO,5@^O&D^QYO'#H|O&EsQWO,5@^OOQO1G2e1G2eO%,nQWO,5<uOOQO,5<v,5<vO&E{QYO'#HzO&G_QWO,5@XO%,bQYO,5=pO$>]QYO,5<oO&GjQWO,5@`O.YQ_O,5=PO&GrQWO,5=PO&G}QWO,5=PO&H`QWO'#H}O&GjQWO,5@`OOQV1G2j1G2jO&HtQYO,5<pO%0lQYO,5>PO&I]QYO,5@VOOQV<<Kr<<KrO&ItQWO,5=XO&KfQ^O,5:hO&KmQWO,5=XO$>]QYO,5=WO&KuQWO,5@cO&K}QWO,5@cO&MvQ^O'#IPO&KuQWO,5@cOOQO1G2q1G2qO&NTQWO,5=WO&N]QWO<<KtO&NkQYO,5>oO&NvQYO,5>dO' UQYO,5>dOOQQ,5>d,5>dOOQQ-E;v-E;vOOQQ7+'r7+'rO' aQYO1G2]O$>]QYO1G2^OOQV<<LQ<<LQO.YQ_O<<LQO' lQWO<<LQO' sQWO<<LQOOQO,5>m,5>mOOQO-E<P-E<POOQV<<L[<<L[O.YQ_O<<L[O'!OQYO1G/QO'!ZQYO,5>nOOQQ,5>n,5>nO'!fQYO,5>nOOQQ-E<Q-E<QOOQS1G0[1G0[O'$tQ!fO1G0^O'%RQ!fO1G0^O'%YQWO1G3wOOQOAN@UAN@UO'%dQWO1G/zOOQO,5>X,5>XOOQO-E;k-E;kO!1PQ^O1G/zOOQO1G/z1G/zO'%oQWO1G/zO'%tQXO1G1kO$>]QYO1G1kO'&PQWO7+'[OOQVANA`ANA`O'&ZQWOANA`O$>]QYOANA`O'&cQWOANA`OOQVAN>OAN>OO.YQ_OAN>OO'&qQWOANAuOOQVAN@vAN@vO'&vQWOAN@vOOQVANAWANAWOOQVANAYANAYOOQVANA^ANA^O'&{QWOANA^OOQVANAiANAiO%5tQWOANAiO%5yQWOANAiO''TQWOANA`OOQVANAvANAvO.YQ_OANAvO''cQWOANAvO$>]QYOANAvOOQR<<La<<LaO''nQWO1G6WO%JkQWO,5>pOOQO'#HY'#HYO''vQWO'#HZOOQO,5>p,5>pOOQO-E<S-E<SO'(RQYO1G2sO'(]QWO1G2sOOQO1G2s1G2sO$>]QYO<<LaOOQR<<Ll<<LlOOQQ,5>o,5>oOOQQ-E<R-E<RO&0uQWOANAhOOQVANAhANAhO%5tQWOANAhO$>]QYOANAhO'(bQWO1G1rO')UQ^O1G0nO.YQ_O1G0nO'*zQWO,5;UO'+RQWO1G0nP'+WQWO'#ERP&%{Q^O'#HpOOQV7+&X7+&XO'+cQWO7+&XO&&qQWOAN@iO'+hQWOAN>OO!5oQWO,5<bOOQS,5>a,5>aO'+oQWOAN@lO'+tQWOAN@lOOQS-E;s-E;sOOQVAN@lAN@lO'+|QWOAN@lOOQVANAuANAuO',UQWO1G5vO',^QWO1G2dO$>]QYO1G2dO&'|QWO,5>gOOQO,5>g,5>gOOQO-E;y-E;yO',iQWO1G5xO',qQWO1G5xO&(nQYO,5>hO',|QWO,5>hO$>]QYO,5>hOOQO-E;z-E;zO'-XQWO'#JnOOQO1G2a1G2aOOQO,5>f,5>fOOQO-E;x-E;xO&'cQYO,5<lO'-gQYO1G2ZO'.RQWO1G5zO'.ZQWO1G2kO.YQ_O1G2kO'.eQWO1G2kO&+UQWO,5>iOOQO,5>i,5>iOOQO-E;{-E;{OOQQ,5>c,5>cOOQQ-E;u-E;uO'.pQWO1G2sO'/QQWO1G2rO'/]QWO1G5}O'/eQ^O,5>kOOQO'#Go'#GoOOQO,5>k,5>kO'/lQWO,5>kOOQO-E;}-E;}O$>]QYO1G2rO'/zQYO7+'xO'0VQWOANAlOOQVANAlANAlO.YQ_OANAlO'0^QWOANAvOOQS7+%x7+%xO'0eQWO7+%xO'0pQ!fO7+%xO'0}QWO7+%fO!1PQ^O7+%fO'1YQXO7+'VOOQVG26zG26zO'1eQWOG26zO'1sQWOG26zO$>]QYOG26zO'1{QWOG23jOOQVG27aG27aOOQVG26bG26bOOQVG26xG26xOOQVG27TG27TO%5tQWOG27TO'2SQWOG27bOOQVG27bG27bO.YQ_OG27bO'2ZQWOG27bOOQO1G4[1G4[OOQO7+(_7+(_OOQRANA{ANA{OOQVG27SG27SO%5tQWOG27SO&0uQWOG27SO'2fQ^O7+&YO'4PQWO7+'^O'4sQ^O7+&YO.YQ_O7+&YP.YQ_O,5;SP'6PQWO,5;SP'6UQWO,5;SOOQV<<Is<<IsOOQVG26TG26TOOQVG23jG23jOOQO1G1|1G1|OOQVG26WG26WO'6aQWOG26WP&B}QWO'#HuO'6fQWO7+(OOOQO1G4R1G4RO'6qQWO7++dO'6yQWO1G4SO$>]QYO1G4SO%,nQWO'#HyO'7UQWO,5@YO'7dQWO7+(VO.YQ_O7+(VOOQO1G4T1G4TOOQO1G4V1G4VO'7nQWO1G4VO'7|QWO7+(^OOQVG27WG27WO'8XQWOG27WOOQS<<Id<<IdO'8`QWO<<IdO'8kQWO<<IQOOQVLD,fLD,fO'8vQWOLD,fO'9OQWOLD,fOOQVLD)ULD)UOOQVLD,oLD,oOOQVLD,|LD,|O'9^QWOLD,|O.YQ_OLD,|OOQVLD,nLD,nO%5tQWOLD,nO'9eQ^O<<ItO';OQWO<<JxO';rQ^O<<ItP'=OQWO1G0nP'=oQ^O1G0nP.YQ_O1G0nP'?bQWO1G0nOOQVLD+rLD+rO'?gQWO7+)nOOQO,5>e,5>eOOQO-E;w-E;wO'?rQWO<<KqOOQVLD,rLD,rOOQSAN?OAN?OOOQV!$(!Q!$(!QO'?|QWO!$(!QOOQV!$(!h!$(!hO'@UQWO!$(!hOOQV!$(!Y!$(!YO'@]Q^OAN?`POQU7+&Y7+&YP'AvQWO7+&YP'BgQ^O7+&YP.YQ_O7+&YOOQV!)9El!)9ElOOQV!)9FS!)9FSPOQU<<It<<ItP'DYQWO<<ItP'DyQ^O<<ItPOQUAN?`AN?`O'FlQWO'#CnO'FsQXO'#CnO'GlQWO'#I`O'IRQXO'#I`O'IxQWO'#DpO'IxQWO'#DpO!.cQ_O'#EkO'JZQ_O'#EoO'JbQ_O'#FPO'MfQ_O'#FbO'MmQXO'#I`O'NdQ_O'#E}O( gQ_O'#FWO'IxQWO,5:[O'IxQWO,5:[O!.cQ_O,5;ZO!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;fO(!jQ_O,5;kO(%nQWO,5;kO(&OQWO,5;|O(&VQYO'#CuO(&bQYO'#CvO(&mQWO'#CwO(&mQWO'#CwO('OQYO'#CtO('ZQWO,5;iO('bQWO,5;rO('iQ_O,5;rO((oQ_O,5;|O'IxQWO1G/vO((vQWO1G0uO(*eQWO1G0wO(*oQWO1G0wO(,dQWO1G0wO(,kQWO1G0wO(.]QWO1G0wO(.dQWO1G0wO(0UQWO1G0wO(0]QWO1G0wO(0dQWO1G1QO(0tQWO1G1VO(1UQYO'#IeO(&mQWO,59cO(&mQWO,59cO(1aQWO1G1^O(1hQWO1G1hO(&mQWO1G.}O(1oQWO'#DpO!.^QXO'#FbO(1tQWO,5;ZO(1{QWO'#Cw",stateData:"(2_~O&|OSUOS&}PQ~OPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'TQO'ZkO'^UO'gcO'qiO(QdO~O&}!sO~OZbX[bXdbXdlXobXwjX}bX!lbX!qbX!tbX#ObX#PbX#pbX'gbX'qbX'rbX'xbX'ybX'zbX'{bX'|bX'}bX(ObX(PbX(QbX(RbX(TbX~OybXXbX!ebX!PbXvbX#RbX~P$|OZ'SX['SXd'SXd'XXo'SXw'kXy'SX}'SX!l'SX!q'SX!t'SX#O'SX#P'SX#p'SX'g'SX'q'SX'r'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SXv'SX~OX'SX!e'SX!P'SX#R'SX~P'ZOr!uO']!wO'_!uO~Od!xO~O^RO_RO`ROaRO'TQO~Od!}O~Od#PO[(SXo(SXy(SX}(SX!l(SX!q(SX!t(SX#O(SX#P(SX#p(SX'g(SX'q(SX'r(SX'x(SX'y(SX'z(SX'{(SX'|(SX'}(SX(O(SX(P(SX(Q(SX(R(SX(T(SXv(SX~OZ#OO~P*`OZ#RO[#QO~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'T#SO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!j#eO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xO[#}Oo#xO}#zO!l#yO!q#jO!t#yO#O#xO#P#uO#p$OO'g#gO'q#yO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~OPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXy#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sXX#sX!e#sX!P#sXv#sX#R#sX~P)xOX(SX!e(SX!P(SXw(SX#R(SX~P*`OPoOQ!QOSVOTVOX$ROZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!P$XO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOQ!QOSVOTVO[$gO^$pO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j$rOP(XP~P<cOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q$uO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw$vO~Oo'bX#O'bX#P'bX#p'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(R'bX(T'bX~OP%tXQ%tXS%tXT%tXZ%tX[%tX^%tX_%tX`%tXa%tXd%tXg%tXs%tXt%tXu%tXw%tXy%tX|%tX}%tX!Q%tX!U%tX!W%tX!X%tX!Z%tX!]%tX!l%tX!q%tX!t%tX#Y%tX#r%tX#{%tX$O%tX$b%tX$d%tX$f%tX$i%tX$m%tX$q%tX$s%tX%T%tX%V%tX%Z%tX%]%tX%^%tX%f%tX%j%tX%s%tX&z%tX'Q%tX'T%tX'Z%tX'^%tX'g%tX'q%tX(Q%tXv%tX~P@[Oy$xO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bXv'bX~P@[Ow$yO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Oy$zO~PEsO!Q$}O!U%UO!W!lO$m%OO$q%PO$s%QO%T%RO%V%SO%Z%TO%]!lO%^%VO%f%WO%j%XO%s%YO~O!Q!lO!U!lO!W!lO$q%[O%]!lO~O%^%VO~PGaOPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'TQO'ZkO'^UO'gcO'qiO(QdO~Ov%`O~P]OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~P'ZO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~O}%}O'T{XQ{XZ{X[{X^{X_{X`{Xa{Xd{Xg{X!q{X$f{X&W{X'Z{X(Q{X~PMuOg&PO%f%WO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Ow!PO~P! yOw!PO!X&RO~PEvOPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!]&UO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#qXy#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qXX#qX!e#qX!P#qXv#qX#R#qX~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zXy#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zXX#zX!e#zX!P#zXv#zX#R#zX~P)xO'ZkO[#}Xo#}Xy#}X}#}X!l#}X!q#}X!t#}X#O#}X#P#}X#p#}X'g#}X'q#}X'r#}X'x#}X'y#}X'z#}X'{#}X'|#}X'}#}X(O#}X(P#}X(Q#}X(R#}X(T#}XX#}X!e#}X!P#}Xv#}Xw#}X#R#}X~OPoO~OPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~O!S&_O~Ow!PO~O!j&bO~P<cO'T&cO~PEvOZ&eO~O'T&cO~O'^UOw(^Xy(^X!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Oa&hO~P!1iO'T&iO~O_&nO'T&cO~OQ&oOZ&pO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!j&uO~P<cO^&wO_&wO`&wOa&wOd'POw&|O'T&vO(Q&}O~O!i'UO!j'TO'T&cO~O&}!sO'O'VO'P'XO~Or!uO']'ZO'_!uO~OQ']O^'ia_'ia`'iaa'ia'T'ia~O['cOw'dO}'bO~OQ']O~OQ!QO^#TO_#TO`#TOa'kOd#ZO'T#SO~O['lO~OZbXdlXXbXobXPbX!SbX!ebX'rbX!PbX!ObXybX!ZbX#RbXvbX~O[bXwbX}bX~P!6mOZ'SXd'XXX'SX['SXo'SXw'SX}'SX#p'SXP'SX!S'SX!e'SX'r'SX!P'SX!O'SXy'SX!Z'SX#R'SXv'SX~O^#TO_#TO`#TOa'kO'T#SO~OZ'mO~Od'oO~OZ'SXd'XX~PMuOZ'pOX(SX!e(SX!P(SXw(SX#R(SX~P*`O[#}O}#zO(O#|O(R#fOo#_ay#_a!l#_a!q#_a!t#_a#O#_a#P#_a#p#_a'g#_a'q#_a'r#_a'x#_a'y#_a'z#_a'{#_a'|#_a'}#_a(P#_a(Q#_a(T#_aX#_a!e#_a!P#_av#_aw#_a#R#_a~Ow!PO!X&RO~Oy#caX#ca!e#ca!P#cav#ca#R#ca~P2gOPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#say#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#saX#sa!e#sa!P#sav#sa#R#sa~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P(UP~P)xOu(SO#w(TO'T(RO~O[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#sa!t#sa#p#sa'q#sa~Oo#xO#O#xO#P#uOy#saX#sa!e#sa!P#sav#sa#R#sa~P!B}Oy(YO!e(WOX(WX~P2gOX(ZO~OPoOQ!QOSVOTVOX(ZOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZ#RO~O!P(_O!e(WO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZbXdlXwjX}jX!tbX'qbX~OP!RX!S!RX!e!RX'p!RX'r!RX!O!RXo!RXy!RX!P!RXX!RX!Z!RX#R!RXv!RX~P!JUOZ'SXd'XXw'kX}'kX!t'SX'q'SX~OP!`X!S!`X!e!`X'r!`X!O!`Xo!`Xy!`X!P!`XX!`X!Z!`X#R!`Xv!`X~P!KgOT(aOu(aO~O!t(bO'q(bOP!^X!S!^X!e!^X'r!^X!O!^Xo!^Xy!^X!P!^XX!^X!Z!^X#R!^Xv!^X~O^9rO_9rO`9yOa9yO'T9pO~Od(eO~O'p(fOP'hX!S'hX!e'hX'r'hX!O'hXo'hXy'hX!P'hXX'hX!Z'hX#R'hXv'hX~O!j&bO!P'lP~P<cOw(kO}(jO~O!j&bOX'lP~P<cO!j(oO~P<cOZ'pO!t(bO'q(bO~O!S(qO'r(pOP$WX!e$WX~O!e(rOP(YX~OP(tO~OP!aX!S!aX!e!aX'r!aX!O!aXo!aXy!aX!P!aXX!aX!Z!aX#R!aXv!aX~P!KgOy$UaX$Ua!e$Ua!P$Uav$Ua#R$Ua~P2gO!l(|O'Q#VO'T(xOv(ZP~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'T#SO~Ov)TO~P#$iOy)VO~PEsO%^)WO~PGaOa)ZO~P!1iO%f)`O~PEvO_)aO'T&cO~O!i)fO!j)eO'T&cO~O'^UO!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Ov%uX~P2gOv)gO~PGyOv)gO~Ov)gO~P]OQiXQ'XXZiXd'XX}iX#piX(PiX~ORiXwiX$fiX$|iX[iXoiXyiX!liX!qiX!tiX#OiX#PiX'giX'qiX'riX'xiX'yiX'ziX'{iX'|iX'}iX(OiX(QiX(RiX(TiX!PiX!eiXXiXPiXviX!SiX#RiX~P#(kOQjXQlXRjXZjXdlX}jX#pjX(PjXwjX$fjX$|jX[jXojXyjX!ljX!qjX!tjX#OjX#PjX'gjX'qjX'rjX'xjX'yjX'zjX'{jX'|jX'}jX(OjX(QjX(RjX(TjX!PjX!ejXXjX!SjXPjXvjX#RjX~O%^)jO~PGaOQ']Od)kO~O^)mO_)mO`)mOa)mO'T%dO~Od)qO~OQ']OZ)uO})sOR'UX#p'UX(P'UXw'UX$f'UX$|'UX['UXo'UXy'UX!l'UX!q'UX!t'UX#O'UX#P'UX'g'UX'q'UX'r'UX'x'UX'y'UX'z'UX'{'UX'|'UX'}'UX(O'UX(Q'UX(R'UX(T'UX!P'UX!e'UXX'UXP'UXv'UX!S'UX#R'UX~OQ!QO^:bO_:^O`TOaTOd:aO%^)jO'T:_O~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!j)yO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!P)|O!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO(P*OO~OR*QO#p*RO(P*PO~OQhXQ'XXZhXd'XX}hX(PhX~ORhX#phXwhX$fhX$|hX[hXohXyhX!lhX!qhX!thX#OhX#PhX'ghX'qhX'rhX'xhX'yhX'zhX'{hX'|hX'}hX(OhX(QhX(RhX(ThX!PhX!ehXXhXPhXvhX!ShX#RhX~P#4kOQ*SO~O})sO~OQ!QO^%vO_%cO`TOaTOd%jO$f%wO%^%xO'T%dO~PGaO!Q*VO!j*VO~O^*YO`*YOa*YO!O*ZO~OQ&oOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO[#}Oo:YO}#zO!l:ZO!q#jO!t:ZO#O:YO#P:VO#p$OO'g#gO'q:ZO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~Ow'dX~P#9vOy#qaX#qa!e#qa!P#qav#qa#R#qa~P2gOy#zaX#za!e#za!P#zav#za#R#za~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!S&_O!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zay#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#zaX#za!e#za!P#zav#za#R#za~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q*eO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw*fO~P#9vO$b*iO$d*jO$f*kO~O!O*lO'r(pO~O!S*nO~O'T*oO~Ow$yOy*qO~O'T*rO~OQ*uOw*vOy*yO}*wO$|*xO~OQ*uOw*vO$|*xO~OQ*uOw+QO$|*xO~OQ*uOo+VOy+XO!S+UO~OQ*uO}+ZO~OQ!QOZ%rO[%qO^%vO`TOaTOd%jOg%yO}%pO!U!lO!W!lO!q%oO$f%wO$q%[O%]!lO%^%xO&W%{O'T%dO'Z%eO(Q%zO~OR+bO_+^O!Q+cO~P#DkO_%cO!Q!lOw&UX$|&UX(P&UX~P#DkOw$yO$f+hO$|*xO(P*PO~OQ!QOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ*uOw$yO!S+UO$|*xO~Oo+nOy+mO!S+oO'r(pO~OdlXy!RX#pbXv!RX!e!RX~Od'XXy(mX#p'SXv(mX!e(mX~Od+qO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q+vO~Ov(oP~P!3|O#p+{O~Oy+|O~O!S+}O~O&}!sO'O'VO'P,PO~Od,QO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UO~P#DkOS,^OT,^OZ,^O['cO_,YOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~O!P,dO~P#KkOX,gO~P#KkOv,iO~P#KkOo'tX#O'tX#P'tX#p'tX'r'tX'x'tX'y'tX'z'tX'{'tX'|'tX'}'tX(O'tX(P'tX(R'tX(T'tX~Oy,jO['tX}'tX!l'tX!q'tX!t'tX'g'tX'q'tX(Q'tXv'tX~P#NjOP$giQ$giS$giT$giZ$gi[$gi^$gi_$gi`$gia$gid$gig$gis$git$giu$giw$giy$gi|$gi}$gi!Q$gi!U$gi!W$gi!X$gi!Z$gi!]$gi!l$gi!q$gi!t$gi#Y$gi#r$gi#{$gi$O$gi$b$gi$d$gi$f$gi$i$gi$m$gi$q$gi$s$gi%T$gi%V$gi%Z$gi%]$gi%^$gi%f$gi%j$gi%s$gi&z$gi'Q$gi'T$gi'Z$gi'^$gi'g$gi'q$gi(Q$giv$gi~P#NjOX,kO~O['cOo,lOw'dO}'bOX]X~Oy#ciX#ci!e#ci!P#civ#ci#R#ci~P2gO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei(P#ei~P$'PO[#}O}#zO(O#|O(R#fOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei'x#ei(P#ei(Q#ei(T#eiw#ei~P$)QO'g#gO(P#gO~P$'PO[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O!q#ei~P$+`O!q#jO~P$+`O[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'r#ei~P$-hO'r#lO~P$-hO[#}O}#zO!q#jO#P#uO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#eiX#ei!e#ei!P#eiv#ei#R#ei~O'}#ei~P$/pO'}#mO~P$/pO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#ni!t#ni#p#ni'q#ni~Oo#xO#O#xO#P#uOy#niX#ni!e#ni!P#niv#ni#R#ni~P$1xO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#si!t#si#p#si'q#si~Oo#xO#O#xO#P#uOy#siX#si!e#si!P#siv#si#R#si~P$3yOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO~P)xO!e,sO!P(VX~P2gO!P,uO~OX,vO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOX&fX!e&fX!P&fX~P)xO!e(WOX(Wa~Oy,zO!e(WOX(WX~P2gOX,{O~O!P,|O!e(WO~O!P-OO!e(WO~P2gOSVOTVOsVOtVOuVO'^UO'g$[O~P!6POP!baZca!S!ba!e!ba!tca'qca'r!ba!O!bao!bay!ba!P!baX!ba!Z!ba#R!bav!ba~O!e-TO'r(pO!P'mXX'mX~O!P-VO~O!i-`O!j-_O!l-[O'T-XOv'nP~OX-aO~O_%cO!Q!lO~P#DkO!j-gOP&gX!e&gX~P<cO!e(rOP(Ya~O!S-iO'r(pOP$Wa!e$Wa~Ow!PO(P*PO~OvbX!S!kX!ebX~O'Q#VO'T(xO~O!S-mO~O!e-oOv([X~Ov-qO~Ov-sO~P,cOv-sO~P#$iO_-uO'T&cO~O!S-vO~Ow$yOy-wO~OQ*uOw*vOy-zO}*wO$|*xO~OQ*uOo.UO~Oy._O~O!S.`O~O!j.bO'T&cO~Ov.cO~Ov.cO~PGyOQ']O^'Wa_'Wa`'Waa'Wa'T'Wa~Od.gO~OQ'XXQ'kXR'kXZ'kXd'XX}'kX#p'kX(P'kXw'kX$f'kX$|'kX['kXo'kXy'kX!l'kX!q'kX!t'kX#O'kX#P'kX'g'kX'q'kX'r'kX'x'kX'y'kX'z'kX'{'kX'|'kX'}'kX(O'kX(Q'kX(R'kX(T'kX!P'kX!e'kXX'kXP'kXv'kX!S'kX#R'kX~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t.kO#V.mO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(sP~PGaO#Q.tOR%wa#p%wa(P%waw%wa$f%wa$|%wa[%wao%way%wa}%wa!l%wa!q%wa!t%wa#O%wa#P%wa'g%wa'q%wa'r%wa'x%wa'y%wa'z%wa'{%wa'|%wa'}%wa(O%wa(Q%wa(R%wa(T%wa!P%wa!e%waX%waP%wav%wa!S%wa#R%wa~O%^.vO~PGaO(P*POR&Oa#p&Oaw&Oa$f&Oa$|&Oa[&Oao&Oay&Oa}&Oa!l&Oa!q&Oa!t&Oa#O&Oa#P&Oa'g&Oa'q&Oa'r&Oa'x&Oa'y&Oa'z&Oa'{&Oa'|&Oa'}&Oa(O&Oa(Q&Oa(R&Oa(T&Oa!P&Oa!e&OaX&OaP&Oav&Oa!S&Oa#R&Oa~O_%cO!Q!lO!j.xO(P*OO~P#DkO!e.yO(P*PO!P(uX~O!P.{O~OX.|Oy.}O(P*PO~O'Z%eOR(qP~OQ']O})sORfa#pfa(Pfawfa$ffa$|fa[faofayfa!lfa!qfa!tfa#Ofa#Pfa'gfa'qfa'rfa'xfa'yfa'zfa'{fa'|fa'}fa(Ofa(Qfa(Rfa(Tfa!Pfa!efaXfaPfavfa!Sfa#Rfa~OQ']O})sOR&Va#p&Va(P&Vaw&Va$f&Va$|&Va[&Vao&Vay&Va!l&Va!q&Va!t&Va#O&Va#P&Va'g&Va'q&Va'r&Va'x&Va'y&Va'z&Va'{&Va'|&Va'}&Va(O&Va(Q&Va(R&Va(T&Va!P&Va!e&VaX&VaP&Vav&Va!S&Va#R&Va~O!P/UO~Ow$yO$f/ZO$|*xO(P*PO~OQ!QOZ/[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOo/^O'r(pO~O#W/_OP!YiQ!YiS!YiT!YiZ!Yi[!Yi^!Yi_!Yi`!Yia!Yid!Yig!Yio!Yis!Yit!Yiu!Yiw!Yiy!Yi|!Yi}!Yi!Q!Yi!U!Yi!W!Yi!X!Yi!Z!Yi!]!Yi!l!Yi!q!Yi!t!Yi#O!Yi#P!Yi#Y!Yi#p!Yi#r!Yi#{!Yi$O!Yi$b!Yi$d!Yi$f!Yi$i!Yi$m!Yi$q!Yi$s!Yi%T!Yi%V!Yi%Z!Yi%]!Yi%^!Yi%f!Yi%j!Yi%s!Yi&z!Yi'Q!Yi'T!Yi'Z!Yi'^!Yi'g!Yi'q!Yi'r!Yi'x!Yi'y!Yi'z!Yi'{!Yi'|!Yi'}!Yi(O!Yi(P!Yi(Q!Yi(R!Yi(T!YiX!Yi!e!Yi!P!Yiv!Yi!i!Yi!j!Yi#V!Yi#R!Yi~Oy#ziX#zi!e#zi!P#ziv#zi#R#zi~P2gOy$UiX$Ui!e$Ui!P$Uiv$Ui#R$Ui~P2gOv/eO!j&bO'Q`O~P<cOw/nO}/mO~Oy!RX#pbX~Oy/oO~O#p/pO~OR+bO_+dO!Q/sO'T&iO'Z%eO~Oa/zO|!VO'Q#VO'T(ROv(cP~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(eP~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw(`Py(`P~PGaOw*vO~Oy-zO$|*xO~Oa/zO|!VO'Q#VO'T*oOv(gP~Ow+QO~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zO(R0`O~PGaOy0dO~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t0hO'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V0nO!P(jP~P%1}Ow!POy0pO#Q0rO$|*xO~OR0uO!e0sO~P#(kOR0uO!S+UO!e0sO(P*OO~OR0uOo0wO!S+UO!e0sOQ'VXZ'VX}'VX#p'VX(P'VX~OR0uOo0wO!e0sO~OR0uO!e0sO~O$f/ZO(P*PO~Ow$yO~Ow$yO$|*xO~Oo0}Oy0|O!S1OO'r(pO~O!e1POv(pX~Ov1RO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q1VO~Oo1YOQ'VXR'VXZ'VX}'VX!e'VX(P'VX~O!e1ZO(P*POR'YX~O!e1ZOR'YX~O!e1ZO(P*OOR'YX~OR1]O~O!S1^OS'wXT'wXZ'wX['wX_'wXd'wXo'wXs'wXu'wXw'wXy'wX}'wX!P'wX!e'wX!l'wX!q'wX!t'wX!y'wX#O'wX#P'wX#Q'wX#R'wX'Q'wX'Z'wX'^'wX'g'wX'r'wX'v'wX'x'wX'y'wX'z'wX'{'wX'|'wX'}'wX(O'wX(P'wX(Q'wX(R'wXX'wXv'wX~O}1_O~O!P1aO~P#KkOX1bO~P#KkOv1cO~P#KkOS,^OT,^OZ,^O['cO_1dOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~OX1fO~Oy,jO~O!e,sO!P(Va~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P&eX!e&eX~P)xO!e,sO!P(Va~OX&fa!e&fa!P&fa~P2gOX1kO~P2gO!P1mO!e(WO~OP!biZci!S!bi!e!bi!tci'qci'r!bi!O!bio!biy!bi!P!biX!bi!Z!bi#R!biv!bi~O'r(pOP!oi!S!oi!e!oi!O!oio!oiy!oi!P!oiX!oi!Z!oi#R!oiv!oi~O!j&bO!P&`X!e&`XX&`X~P<cO!e-TO!P'maX'ma~O!P1qO~Ov!RX!S!kX!e!RX~O!S1rO~O!e1sOv'oX~Ov1uO~O'T-XO~O!j1xO'T-XO~O(P*POP$Wi!e$Wi~O!S1yO'r(pOP$XX!e$XX~O!S1|O~Ov$_a!e$_a~P2gO!l(|O'Q#VO'T(xOv&hX!e&hX~O!e-oOv([a~Ov2QO~P,cOy2UO~O#p2VO~Oy2WO$|*xO~Ow*vOy2WO}*wO$|*xO~Oo2aO~Ow!POy2fO#Q2hO$|*xO~O!S2jO~Ov2lO~O#Q2mOR%wi#p%wi(P%wiw%wi$f%wi$|%wi[%wio%wiy%wi}%wi!l%wi!q%wi!t%wi#O%wi#P%wi'g%wi'q%wi'r%wi'x%wi'y%wi'z%wi'{%wi'|%wi'}%wi(O%wi(Q%wi(R%wi(T%wi!P%wi!e%wiX%wiP%wiv%wi!S%wi#R%wi~Od2nO~O^2qO!j.sO!q2rO'Q#VO'Z%eO~O(P*PO!P%{X!e%{X~O!e2sO!P(tX~O!P2uO~OQ!QOZ%rO[%qO^2wO_%cO`TOaTOd%jOg%yO}%pO!j2xO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO^2yO!j2xO(P*OO~O!P%aX!e%aX~P#4kO^2yO~O(P*POR&Oi#p&Oiw&Oi$f&Oi$|&Oi[&Oio&Oiy&Oi}&Oi!l&Oi!q&Oi!t&Oi#O&Oi#P&Oi'g&Oi'q&Oi'r&Oi'x&Oi'y&Oi'z&Oi'{&Oi'|&Oi'}&Oi(O&Oi(Q&Oi(R&Oi(T&Oi!P&Oi!e&OiX&OiP&Oiv&Oi!S&Oi#R&Oi~O_%cO!Q!lO!P&yX!e&yX~P#DkO!e.yO!P(ua~OR3QO(P*PO~O!e3ROR(rX~OR3TO~O(P*POR&Pi#p&Piw&Pi$f&Pi$|&Pi[&Pio&Piy&Pi}&Pi!l&Pi!q&Pi!t&Pi#O&Pi#P&Pi'g&Pi'q&Pi'r&Pi'x&Pi'y&Pi'z&Pi'{&Pi'|&Pi'}&Pi(O&Pi(Q&Pi(R&Pi(T&Pi!P&Pi!e&PiX&PiP&Piv&Pi!S&Pi#R&Pi~O!P3UO~O$f3VO(P*PO~Ow$yO$f3VO$|*xO(P*PO~Ow!PO!Z!YO~O!Z3aO#R3_O'r(pO~O!j&bO'Q#VO~P<cOv3eO~Ov3eO!j&bO'Q`O~P<cO!O3hO'r(pO~Ow!PO~P#9vOo3kOy3jO(P*PO~O!P3oO~P%;pOv3rO~P%;pOR0uO!S+UO!e0sO~OR0uOo0wO!S+UO!e0sO~Oa/zO|!VO'Q#VO'T(RO~O!S3uO~O!e3wOv(dX~Ov3yO~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO~PGaO!e3|O(P*PO!P(fX~O!P4OO~O!S4PO(P*OO~O!S+UO(P*PO~O!e4ROw(aXy(aX~OQ4TO~Oy2WO~Oa/zO|!VO'Q#VO'T*oO~Oo4WOw*vO}*wOv%XX!e%XX~O!e4ZOv(hX~Ov4]O~O(P4_Oy(_Xw(_X$|(_XR(_Xo(_X!e(_X~Oy4aO(P*PO~OQ!QOSVOTVO[$gO^4bO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j4cO'Z%eO~P&,sO!S4eO'r(pO~O#V4gO~P%1}O!e4hO!P(kX~O!P4jO~O!P%aX!S!aX!e%aX'r!aX~P!KgO!j&bO~P&,sO!e4hO!P(kX!S'eX'r'eX~O^2yO!j2xO~Ow!POy2fO~O_4pO!Q/sO'T&iO'Z%eOR&lX!e&lX~OR4rO!e0sO~O!S4tO~Ow$yO$|*xO(P*PO~Oy4uO~P2gOo4vOy4uO(P*PO~Ov&uX!e&uX~P!3|O!e1POv(pa~Oo4|Oy4{O(P*PO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UOR&vX!e&vX~P#DkO!e1ZOR'Ya~O!y5SO~O!P5TO~P#KkO!S1^OX'wX#R'wX~O!e,sO!P(Vi~O!P&ea!e&ea~P2gOX5WO~P2gOP!bqZcq!S!bq!e!bq!tcq'qcq'r!bq!O!bqo!bqy!bq!P!bqX!bq!Z!bq#R!bqv!bq~O'r(pO!P&`a!e&`aX&`a~O!i-`O!j-_O!l5YO'T-XOv&aX!e&aX~O!e1sOv'oa~O!S5[O~O!S5`O'r(pOP$Xa!e$Xa~O(P*POP$Wq!e$Wq~Ov$^i!e$^i~P2gOw!POy5bO#Q5dO$|*xO~Oo5gOy5fO(P*PO~Oy5iO~Oy5iO$|*xO~Oy5mO(P*PO~Ow!POy5bO~Oo5tOy5sO(P*PO~O!S5vO~O!e2sO!P(ta~O^2yO!j2xO'Z%eO~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t5zO#V5|O$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&xX!e&xX~PGaOQ!QOZ%rO[%qO^6OO_%cO`TOaTOd%jOg%yO}%pO!j6PO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(P*OO(Q%zO~PGaO!P%aa!e%aa~P#4kO^6QO~O#Q6ROR%wq#p%wq(P%wqw%wq$f%wq$|%wq[%wqo%wqy%wq}%wq!l%wq!q%wq!t%wq#O%wq#P%wq'g%wq'q%wq'r%wq'x%wq'y%wq'z%wq'{%wq'|%wq'}%wq(O%wq(Q%wq(R%wq(T%wq!P%wq!e%wqX%wqP%wqv%wq!S%wq#R%wq~O(P*POR&Oq#p&Oqw&Oq$f&Oq$|&Oq[&Oqo&Oqy&Oq}&Oq!l&Oq!q&Oq!t&Oq#O&Oq#P&Oq'g&Oq'q&Oq'r&Oq'x&Oq'y&Oq'z&Oq'{&Oq'|&Oq'}&Oq(O&Oq(Q&Oq(R&Oq(T&Oq!P&Oq!e&OqX&OqP&Oqv&Oq!S&Oq#R&Oq~O(P*PO!P&ya!e&ya~OX6SO~P2gO'Z%eOR&wX!e&wX~O!e3ROR(ra~O$f6YO(P*PO~Ow![q~P#9vO#R6]O~O!Z3aO#R6]O'r(pO~Ov6bO~O#R6fO~Oy6gO!P6hO~O!P6hO~P%;pOy6kO~Ov6kOy6gO~Ov6kO~P%;pOy6mO~O!e3wOv(da~O!S6pO~Oa/zO|!VO'Q#VO'T(ROv&oX!e&oX~O!e3|O(P*PO!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&pX!e&pX~PGaO!e3|O!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw&nX!e&nXy&nX~PGaO!e4ROw(aay(aa~O!e4ZOv(ha~Oo7SOv%Xa!e%Xa~Oo7SOw*vO}*wOv%Xa!e%Xa~Oa/zO|!VO'Q#VO'T*oOv&qX!e&qX~O(P*POy$xaw$xa$|$xaR$xao$xa!e$xa~O(P4_Oy(_aw(_a$|(_aR(_ao(_a!e(_a~O!P%aa!S!aX!e%aa'r!aX~P!KgOQ!QOSVOTVO[$gO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j&bO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O^7ZO~P&JUO^6QO!j6PO~O!e4hO!P(ka~O!e4hO!P(ka!S'eX'r'eX~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t7_O'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V7aO!P&sX!e&sX~P&L]O!S7cO'r(pO~Ow!POy5bO$|*xO(P*PO~O!S+UOR&la!e&la~Oo0wO!S+UOR&la!e&la~Oo0wOR&la!e&la~O(P*POR$yi!e$yi~Oy7fO~P2gOo7gOy7fO(P*PO~O(P*PORni!eni~O(P*POR&va!e&va~O(P*OOR&va!e&va~OS,^OT,^OZ,^O_,^Od,^Oo,^Os,^Ou,^Oy,^O!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O~O(P7iO(Q7iO(R7iO~P'!qO!P7kO~P#KkO!P&ei!e&ei~P2gO'r(pOv!hi!e!hi~O!S7mO~O(P*POP$Xi!e$Xi~Ov$^q!e$^q~P2gOw!POy7oO~Ow!POy7oO#Q7rO$|*xO~Oy7tO~Oy7uO~Oy7vO(P*PO~Ow!POy7oO$|*xO(P*PO~Oo7{Oy7zO(P*PO~O!e2sO!P(ti~O(P*PO!P%}X!e%}X~O!P%ai!e%ai~P#4kO^8OO~O!e8TO['bXv$`i}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[iv$`i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R#^a~P2gO#R8WO~O!Z3aO#R8XO'r(pO~Ov8[O~Oy8^O~P2gOy8`O~Oy6gO!P8aO~Ov8`Oy6gO~O!e3wOv(di~O(P*POv%Qi!e%Qi~O!e3|O!P(fi~O!e3|O(P*PO!P(fi~O(P*PO!P&pa!e&pa~O(P8hOw(bX!e(bXy(bX~O(P*PO!S$wiy$wiw$wi$|$wiR$wio$wi!e$wi~O!e4ZOv(hi~Ov%Xi!e%Xi~P2gOo8kOv%Xi!e%Xi~O!P%ai!S!aX!e%ai'r!aX~P!KgO(P*PO!P%`i!e%`i~O!e4hO!P(ki~O#V8nO~P&L]O!P&sa!S'eX!e&sa'r'eX~O(P*POR$zq!e$zq~Oy8pO~P2gOy7zO~P2gO(P8rO(Q8rO(R8rO~O(P8rO(Q8rO(R8rO~P'!qO'r(pOv!hq!e!hq~O(P*POP$Xq!e$Xq~Ow!POy8uO$|*xO(P*PO~Ow!POy8uO~Oy8xO~P2gOy8zO~P2gOo8|Oy8zO(P*PO~OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[qv$`q}#[q!i#[q!j#[q!l#[q!q#[q#V#[q'Q#[q'T#[q'^#[q'g#[q~O!e9PO['bXv$`q}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'2fO#R9UO~O!Z3aO#R9UO'r(pO~Oy9WO~O(P*POv%Qq!e%Qq~O!e3|O!P(fq~O(P*PO!P&pi!e&pi~O(P8hOw(ba!e(bay(ba~Ov%Xq!e%Xq~P2gO!P&si!S'eX!e&si'r'eX~O(P*PO!P%`q!e%`q~Oy9]O~P2gO(P9^O(Q9^O(R9^O~O'r(pOv!hy!e!hy~Ow!POy9_O~Ow!POy9_O$|*xO(P*PO~Oy9aO~P2gOQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[yv$`y}#[y!i#[y!j#[y!l#[y!q#[y#V#[y'Q#[y'T#[y'^#[y'g#[y~O!e9dO['bXv$`y}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'9eO!e9eO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R9hO~O(P*PO!P&pq!e&pq~Ov%Xy!e%Xy~P2gOw!POy9iO~Oy9jO~P2gOQ#[!RS#[!RT#[!R[#[!R^#[!R_#[!R`#[!Ra#[!Rd#[!Rs#[!Rt#[!Ru#[!Rv$`!R}#[!R!i#[!R!j#[!R!l#[!R!q#[!R#V#[!R'Q#[!R'T#[!R'^#[!R'g#[!R~O!e9kO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[q}#[q!i#[q!j#[q!l#[q!q#[q!t'bX#V#[q'Q#[q'T#[q'^#[q'g#[q'q'bX(Q'bX~P@[O!e9nO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[y}#[y!i#[y!j#[y!l#[y!q#[y!t'bX#V#[y'Q#[y'T#[y'^#[y'g#[y'q'bX(Q'bX~P@[OwbX~P$|OwjX}jX!tbX'qbX~P!6mOZ'SXd'XXo'SXw'kX!t'SX'q'SX'r'SX~O['SXd'SXw'SX}'SX!l'SX!q'SX#O'SX#P'SX#p'SX'g'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SX~P'GTOP'SX}'kX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTO^9qO_9qO`9qOa9qO'T9oO~O!j:OO~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXw#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sX~P'IxO#Q$uO~P!.cO}'kXP'SX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTOo#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qX~P!.cOo#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zX~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#saw#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#sa~P'IxOo:YO#O:YO#P:VOw#sa~P!B}Ow$Ua~P#9vOQ'XXd'XX}iX~OQlXdlX}jX~O^:sO_:sO`:sOa:sO'T:_O~OQ'XXd'XX}hX~Ow#qa~P#9vOw#za~P#9vO!S&_Oo#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#za~P!.cO#Q*eO~P!.cOw#ci~P#9vO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#ei~O'g#ei(P#ei~P((}O'g#gO(P#gO~P((}O[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#ei~O!q#ei~P(*yO!q#jO~P(*yO[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#ei~O'r#ei~P(,rO'r#lO~P(,rO[#}O}#zO!q#jO#P:VO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#ei~O'}#ei~P(.kO'}#mO~P(.kOo:YO#O:YO#P:VOw#ni~P$1xOo:YO#O:YO#P:VOw#si~P$3yOQ'XXd'XX}'kX~Ow#zi~P#9vOw$Ui~P#9vOd9}O~Ow#ca~P#9vOd:uO~OU'x_'v'P'O'^s!y'^'T'Z~",goto:"$Ku(vPPPPPPP(wPP)OPP)^PPPP)d-hP0f5aP7R7R8v7R>wD_DpPDvHQPPPPPPK`P! P! _PPPPP!!VP!$oP!$oPP!&oP!(rP!(w!)n!*f!*f!*f!(w!+]P!(w!.Q!.TPP!.ZP!(w!(w!(w!(wP!(w!(wP!(w!(w!.y!/dP!/dJ}J}J}PPPP!/d!.y!/sPP!$oP!0^!0a!0g!1h!1t!3t!3t!5r!7t!1t!1t!9p!;_!=O!>k!@U!Am!CS!De!1t!1tP!1tP!1t!1t!Et!1tP!Ge!1t!1tP!Ie!1tP!1t!7t!7t!1t!7t!1t!Kl!Mt!Mw!7t!1t!Mz!M}!M}!M}!NR!$oP!$oP!$oP! P! PP!N]! P! PP!Ni# }! PP! PP#!^##c##k#$Z#$_#$e#$e#$mP#&s#&s#&y#'o#'{! PP! PP#(]#(l! PP! PPP#(x#)W#)d#)|#)^! P! PP! P! P! PP#*S#*S#*Y#*`#*S#*S! P! PP#*m#*v#+Q#+Q#,x#.l#.x#.x#.{#.{5a5a5a5a5a5a5a5aP5a#/O#/U#/p#1{#2R#2b#6^#6d#6j#6|#7W#8w#9R#9b#9h#9n#9x#:S#:Y#:g#:m#:s#:}#;]#;g#=u#>R#>`#>f#>n#>u#?PPPPPPPP#?V#BaP#F^#Jx#Ls#Nr$&^P$&aPPP$)_$)h$)z$/U$1d$1m$3fP!(w$4`$7r$:i$>T$>^$>c$>fPPP$>i$A`$A|P$BaPPPPPPPPPP$BvP$EU$EX$E[$Eb$Ee$Eh$Ek$En$Et$HO$HR$HU$HX$H[$H_$Hb$He$Hh$Hk$Hn$Jt$Jw$Jz#*S$KW$K^$Ka$Kd$Kh$Kl$Ko$KrQ!tPT'V!s'Wi!SOlm!P!T$T$W$y%b)U*f/gQ'i#QR,n'l(OSOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%X%_%b&U&Y&[&b&u&z&|'P'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n+z,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1P1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:gS(z$v-oQ*p&eQ*t&hQ-k(yQ-y)ZW0Z+Q0Y4Z7UR4Y0[&w!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#r]Ofgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hb#[b#Q$y'l(b)S)U*Z-t!h$bo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m$b%k!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g!W:y!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:|%n$_%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g$e%l!Q!n$O$u%n%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g'hZOY[fgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r%_%b%i%j&U&Y&[&b&u'a'}(W(Y(d(e(f(j(o(p(r(|)i)p)q*f*i*k*l+Z+n,s,z-R-T-g-m.i.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:x$^%l!Q!n$O$u%n%o%p%q%y%{&P&p&r(q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ&j!hQ&k!iQ&l!jQ&m!kQ&s!oQ)[%QQ)]%RQ)^%SQ)_%TQ)b%WQ+`&oS,R']1ZQ.W)`S/r*u4TR4n0s+yTOY[bfgilmop!O!P!Q!T!Y!Z![!_!`!c!n!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$O$T$W$`$a$e$g$h$q$r$u$y%X%_%b%i%j%n%o%p%q%y%{&P&U&Y&[&b&o&p&r&u&z&|'P']'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(q(r(|)S)U)i)p)q)s)x)y*O*P*R*V*Z*[*^*e*f*i*k*l*n*w*x+U+V+Z+h+n+o+z+},q,s,z-R-T-g-i-m-t-v.U.`.i.p.t.x.y.}/Z/[/^/b/d/g/{/}0`0e0g0m0r0w0}1O1P1Y1Z1h1r1y1|2a2h2j2m2s2v3V3_3a3f3h3k3u3{3|4R4U4W4_4c4e4h4t4v4|5[5`5d5g5t5v6R6Y6]6a6p6v6x7S7^7c7g7m7r7{8W8X8g8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:xQ'[!xQ'h#PQ)l%gU)r%m*T*WR.f)kQ,T']R5P1Z#t%s!Q!n$O$u%p%q&P&p&r(q)x)y*O*R*V*[*^*e*n*w+V+h+o+}-i-v.U.`.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2v3V3u3{3|4U4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)x%oQ+_&oQ,U']n,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7kS.q)s2sQ/O*PQ/Q*SQ/q*uS0Q*x4RQ0a+U[0o+Z.j0g4h5y7^Q2v.pS4d0e2rQ4m0sQ5Q1ZQ6T3RQ6z4PQ7O4TQ7X4_R9Y8h&jVOfgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u']'}(W(Y(b(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1Z1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fU&g!g%P%[o,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7k$nsOfgilm!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y'}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9z9{:O:P:Q:R:S:T:U:V:W:X:Y:eS$tp9xS&O!W#bS&Q!X#cQ&`!bQ*_&RQ*a&VS*d&[:fQ*h&^Q,T']Q-j(wQ/i*jQ0p+[S2f.X0qQ3]/_Q3^/`Q3g/hQ3i/kQ5P1ZU5b2R2g4lU7o5c5e5rQ8]6dS8u7p7qS9_8v8wR9i9`i{Ob!O!P!T$y%_%b)S)U)i-thxOb!O!P!T$y%_%b)S)U)i-tW/v*v/t3w6qQ/}*wW0[+Q0Y4Z7UQ3{/{Q6x3|R8g6v!h$do!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ&d!dQ&f!fQ&n!mW&x!q%X&|1PQ'S!rQ)X$}Q)Y%OQ)a%VU)d%Y'T'UQ*s&hS+s&z'PS-Y(k1sQ-u)WQ-x)ZS.a)e)fS0x+c/sQ1S+zQ1W+{S1v-_-`Q2k.bQ3s/pQ5]1xR5h2V${sOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$zsOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR3]/_V&T!Y!`*i!i$lo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!k$^o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!i$co!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&e^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR(l$fQ-[(kR5Y1sQ(S#|S({$v-oS-Z(k1sQ-l(yW/u*v/t3w6qS1w-_-`Q3v/vR5^1xQ'e#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,o'mk,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ'f#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,p'mR*g&]X/c*f/d/g3f!}aOb!O!P!T#z$v$y%_%b'}(y)S)U)i)s*f*v*w+Q+Z,s-o-t.j/b/d/g/t/{0Y0g1h2s3f3w3|4Z4h5y6a6q6v7U7^Q3`/aQ6_3bQ8Y6`R9V8Z${rOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#nfOfglmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!T9u!Y!_!`*i*l/^3h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#rfOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!X9u!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$srOfglmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#U#oh#d$P$Q$V$s%^&W&X'q't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b}:P&S&]/k3[6d:[:]:c:d:h:j:k:l:m:n:o:p:q:r:v:w:{#W#ph#d$P$Q$V$s%^&W&X'q'r't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b!P:Q&S&]/k3[6d:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{#S#qh#d$P$Q$V$s%^&W&X'q'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b{:R&S&]/k3[6d:[:]:c:d:h:k:l:m:n:o:p:q:r:v:w:{#Q#rh#d$P$Q$V$s%^&W&X'q'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9by:S&S&]/k3[6d:[:]:c:d:h:l:m:n:o:p:q:r:v:w:{#O#sh#d$P$Q$V$s%^&W&X'q'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bw:T&S&]/k3[6d:[:]:c:d:h:m:n:o:p:q:r:v:w:{!|#th#d$P$Q$V$s%^&W&X'q'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bu:U&S&]/k3[6d:[:]:c:d:h:n:o:p:q:r:v:w:{!x#vh#d$P$Q$V$s%^&W&X'q'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bq:W&S&]/k3[6d:[:]:c:d:h:p:q:r:v:w:{!v#wh#d$P$Q$V$s%^&W&X'q'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bo:X&S&]/k3[6d:[:]:c:d:h:q:r:v:w:{$]#{h#`#d$P$Q$V$s%^&S&W&X&]'q'r's't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n/k0z1i1l1}3P3[4w5V5a6^6d6e7R7e7h7s7y8j8q8{9[9b:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{${jOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$v!aOfgilmp!O!P!T!Y!Z!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ&Y![Q&Z!]R:e9{#rpOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hQ&[!^!W9x!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:f:zR$moR-f(rR$wqT(}$v-oQ/f*fS3d/d/gR6c3fQ3m/mQ3p/nQ6i3nR6l3qQ$zwQ)V${Q*q&fQ+f&qQ+i&sQ-w)YW.Z)b+j+k+lS/X*]+gW2b.W.[.].^U3W/Y/]0yU5o2c2d2eS6W3X3ZS7w5p5qS8Q6V6XQ8y7xS8}8R8SR9c9O^|O!O!P!T%_%b)iX)R$y)S)U-tQ&r!nQ*^&PQ*|&jQ+P&kQ+T&lQ+W&mQ+]&nQ+l&sQ-})[Q.Q)]Q.T)^Q.V)_Q.Y)aQ.^)bQ2S-uQ2e.WR4U0VU+a&o*u4TR4o0sQ+Y&mQ+k&sS.])b+l^0v+_+`/q/r4m4n7OS2d.W.^S4Q0R0SR5q2eS0R*x4RQ0a+UR7X4_U+d&o*u4TR4p0sQ*z&jQ+O&kQ+S&lQ+g&qQ+j&sS-{)[*|S.P)]+PS.S)^+TU.[)b+k+lQ/Y*]Q0X*{Q0q+[Q2X-|Q2Y-}Q2].QQ2_.TU2c.W.].^Q2g.XS3Z/]0yS5c2R4lQ5j2ZS5p2d2eQ6X3XS7q5e5rQ7x5qQ8R6VQ8v7pQ9O8SR9`8wQ0T*xR6|4RQ*y&jQ*}&kU-z)[*z*|U.O)]+O+PS2W-{-}S2[.P.QQ4X0ZQ5i2YQ5k2]R7T4YQ/w*vQ3t/tQ6r3wR8d6qQ*{&jS-|)[*|Q2Z-}Q4X0ZR7T4YQ+R&lU.R)^+S+TS2^.S.TR5l2_Q0]+QQ4V0YQ7V4ZR8l7UQ+[&nS.X)a+]S2R-u.YR5e2SQ0i+ZQ4f0gQ7`4hR8m7^Q.m)sQ0i+ZQ2p.jQ4f0gQ5|2sQ7`4hQ7}5yR8m7^Q0i+ZR4f0gX'O!q%X&|1PX&{!q%X&|1PW'O!q%X&|1PS+u&z'PR1U+z_|O!O!P!T%_%b)iQ%a!PS)h%_%bR.d)i$^%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ*U%yR*X%{$c%n!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gW)t%m%x*T*WQ.e)jR2{.vR.m)sR5|2sQ'W!sR,O'WQ!TOQ$TlQ$WmQ%b!P[%|!T$T$W%b)U/gQ)U$yR/g*f$b%i!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g[)n%i)p.i:`:t:xQ)p%jQ.i)qQ:`%nQ:t:aR:x:uQ!vUR'Y!vS!OO!TU%]!O%_)iQ%_!PR)i%b#rYOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hh!yY!|#U$`'a'n(d,q-R9s9|:gQ!|[b#Ub#Q$y'l(b)S)U*Z-t!h$`o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ'a!}Q'n#ZQ(d$aQ,q'oQ-R(e!W9s!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ9|9tR:g9}Q-U(gR1p-UQ1t-[R5Z1tQ,c'bQ,f'cQ,h'dW1`,c,f,h5UR5U1_Q/d*fS3c/d3fR3f/gfbO!O!P!T$y%_%b)S)U)i-tp#Wb'}(y.j/b/t/{0Y0g1h5y6a6q6v7U7^Q'}#zS(y$v-oQ.j)sW/b*f/d/g3fQ/t*vQ/{*wQ0Y+QQ0g+ZQ1h,sQ5y2sQ6q3wQ6v3|Q7U4ZR7^4hQ,t(OQ1g,rT1j,t1gS(X$Q([Q(^$VU,x(X(^,}R,}(`Q(s$mR-h(sQ-p)OR2P-pQ3n/mQ3q/nT6j3n3qQ)S$yS-r)S-tR-t)UQ4`0aR7Y4``0t+^+_+`+a+d/q/r7OR4q0tQ8i6zR9Z8iQ4S0TR6}4SQ3x/wQ6n3tT6s3x6nQ3}/|Q6t3zU6y3}6t8eR8e6uQ4[0]Q7Q4VT7W4[7QhzOb!O!P!T$y%_%b)S)U)i-tQ$|xW%Zz$|%f)v$b%f!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR)v%nS4i0i0nS7]4f4gT7b4i7]W&z!q%X&|1PS+r&z+zR+z'PQ1Q+wR4z1QU1[,S,T,UR5R1[S3S/Q7OR6U3SQ2t.mQ5x2pT5}2t5xQ.z)zR3O.z^_O!O!P!T%_%b)iY#Xb$y)S)U-t$l#_fgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!h$io!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'j#Q'lQ-P(bR/V*Z&v!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!{Y[#U#Z9s9tW&{!q%X&|1P['`!|!}'n'o9|9}S(c$`$aS+t&z'PU,X'a,q:gS-Q(d(eQ1T+zR1n-RS%t!Q&oQ&q!nQ(V$OQ(w$uS)w%o.pQ)z%pQ)}%qS*]&P&rQ+e&pQ,S']Q-d(qQ.l)sU.w)x)y2vS/O*O*PQ/P*RQ/T*VQ/W*[Q/]*^Q/`*eQ/l*nQ/|*wS0S*x4RQ0a+UQ0c+VQ0y+hQ0{+oQ1X+}Q1{-iQ2T-vQ2`.UQ2i.`Q2z.tQ2|.xQ2}.yQ3X/ZQ3Y/[S3z/{/}Q4^0`Q4l0rQ4s0wQ4x1OQ4}1YQ5O1ZQ5_1yQ5n2aQ5r2hQ5u2jQ5w2mQ5{2sQ6V3VQ6o3uQ6u3{Q6w3|Q7P4UQ7X4_Q7[4eQ7d4tQ7n5`Q7p5dQ7|5vQ8P6RQ8S6YQ8c6pS8f6v6xQ8o7cQ8w7rR9X8g$^%m!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)j%nQ*T%yR*W%{$y%h!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x'pWOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$x%g!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x_&y!q%X&z&|'P+z1PR,V']$zrOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!j$]o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ,T']R5P1Z_}O!O!P!T%_%b)i^|O!O!P!T%_%b)iQ#YbX)R$y)S)U-tbhO!O!T3_6]8W8X9U9hS#`f9uQ#dgQ$PiQ$QlQ$VmQ$spW%^!P%_%b)iU&S!Y!`*iQ&W!ZQ&X![Q&]!_Q'q#eQ'r#oS's#p:QQ't#qQ'u#rQ'v#sQ'w#tQ'x#uQ'y#vQ'z#wQ'{#xQ'|#yQ(O#zQ(U#}Q([$TQ(`$WQ*b&YQ*c&[Q,r'}Q,w(WQ,y(YQ-n(|Q/k*lQ0z+nQ1i,sQ1l,zQ1}-mQ3P.}Q3[/^Q4w0}Q5V1hQ5a1|Q6^3aQ6d3hQ6e3kQ7R4WQ7e4vQ7h4|Q7s5gQ7y5tQ8j7SQ8q7gQ8{7{Q9[8kQ9b8|Q:[9wQ:]9xQ:c9zQ:d9{Q:h:OQ:i:PQ:j:RQ:k:SQ:l:TQ:m:UQ:n:VQ:o:WQ:p:XQ:q:YQ:r:ZQ:v:eQ:w:fR:{9v^tO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6[3_Q8V6]Q9R8WQ9T8XQ9g9UR9m9hQ&V!YQ&^!`R/h*iQ$joQ&a!cQ&t!pU(g$e$g(jS(n$h0eQ(u$qQ(v$rQ*`&UQ*m&bQ+p&uQ-S(fS-b(o4cQ-c(pQ-e(rW/a*f/d/g3fQ/j*kW0f+Z0g4h7^Q1o-TQ1z-gQ3b/bQ4k0mQ5X1rQ7l5[Q8Z6aR8t7m!h$_o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mR-P(b'qXOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$zqOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$fo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&d^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!zY[$`$a9s9t['_!|!}(d(e9|9}W)o%i%j:`:aU,W'a-R:gW.h)p)q:t:uT2o.i:xQ(i$eQ(m$gR-W(jV(h$e$g(jR-^(kR-](k$znOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$ko!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'g#O'pj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ,m'jQ.u)uR8_6f`,b'b'c'd,c,f,h1_5UQ1e,lX3l/m/n3n3qj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ7j5TR8s7k^uO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6Z3_Q8U6]Q9Q8WQ9S8XQ9f9UR9l9hR(Q#zR(P#zQ$SlR(]$TR$ooR$noR)Q$vR)P$vQ)O$vR2O-ohwOb!O!P!T$y%_%b)S)U)i-t$l!lz!Q!n$O$u$|%f%n%o%p%q%y%{&P&o&p&r'](q)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR${xR0b+UR0W*xR0U*xR6{4PR/y*vR/x*vR0P*wR0O*wR0_+QR0^+Q%XyObxz!O!P!Q!T!n$O$u$y$|%_%b%f%n%o%p%q%y%{&P&o&p&r'](q)S)U)i)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-t-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR0k+ZR0j+ZQ'R!qQ)c%XQ+w&|R4y1PX'Q!q%X&|1PR+y&|R+x&|T/S*S4TT/R*S4TR.o)sR.n)sR){%p",nodeNames:"⚠ | < > RawString Float LineComment BlockComment SourceFile ] InnerAttribute ! [ MetaItem self Metavariable super crate Identifier ScopedIdentifier :: QualifiedScope AbstractType impl SelfType MetaType TypeIdentifier ScopedTypeIdentifier ScopeIdentifier TypeArgList TypeBinding = Lifetime String Escape Char Boolean Integer } { Block ; ConstItem Vis pub ( in ) const BoundIdentifier : UnsafeBlock unsafe AsyncBlock async move IfExpression if LetDeclaration let LiteralPattern ArithOp MetaPattern SelfPattern ScopedIdentifier TuplePattern ScopedTypeIdentifier , StructPattern FieldPatternList FieldPattern ref mut FieldIdentifier .. RefPattern SlicePattern CapturedPattern ReferencePattern & MutPattern RangePattern ... OrPattern MacroPattern ParenthesizedTokens TokenBinding Identifier TokenRepetition ArithOp BitOp LogicOp UpdateOp CompareOp -> => ArithOp BracketedTokens BracedTokens _ else MatchExpression match MatchBlock MatchArm Attribute Guard UnaryExpression ArithOp DerefOp LogicOp ReferenceExpression TryExpression BinaryExpression ArithOp ArithOp BitOp BitOp BitOp BitOp LogicOp LogicOp AssignmentExpression TypeCastExpression as ReturnExpression return RangeExpression CallExpression ArgList AwaitExpression await FieldExpression GenericFunction BreakExpression break LoopLabel ContinueExpression continue IndexExpression ArrayExpression TupleExpression MacroInvocation UnitExpression ClosureExpression ParamList Parameter Parameter ParenthesizedExpression StructExpression FieldInitializerList ShorthandFieldInitializer FieldInitializer BaseFieldInitializer MatchArm WhileExpression while LoopExpression loop ForExpression for MacroInvocation MacroDefinition macro_rules MacroRule EmptyStatement ModItem mod DeclarationList AttributeItem ForeignModItem extern StructItem struct TypeParamList ConstrainedTypeParameter TraitBounds HigherRankedTraitBound RemovedTraitBound OptionalTypeParameter ConstParameter WhereClause where LifetimeClause TypeBoundClause FieldDeclarationList FieldDeclaration OrderedFieldDeclarationList UnionItem union EnumItem enum EnumVariantList EnumVariant TypeItem type FunctionItem default fn ParamList Parameter SelfParameter VariadicParameter VariadicParameter ImplItem TraitItem trait AssociatedType LetDeclaration UseDeclaration use ScopedIdentifier UseAsClause ScopedIdentifier UseList ScopedUseList UseWildcard ExternCrateDeclaration StaticItem static ExpressionStatement ExpressionStatement GenericType FunctionType ForLifetimes ParamList VariadicParameter Parameter VariadicParameter Parameter ReferenceType PointerType TupleType UnitType ArrayType MacroInvocation EmptyType DynamicType dyn BoundedType",maxTerm:359,nodeProps:[["isolate",-4,4,6,7,33,""],["group",-42,4,5,14,15,16,17,18,19,33,35,36,37,40,51,53,56,101,107,111,112,113,122,123,125,127,128,130,132,133,134,137,139,140,141,142,143,144,148,149,155,157,159,"Expression",-16,22,24,25,26,27,222,223,230,231,232,233,234,235,236,237,239,"Type",-20,42,161,162,165,166,169,170,172,188,190,194,196,204,205,207,208,209,217,218,220,"Statement",-17,49,60,62,63,64,65,68,74,75,76,77,78,80,81,83,84,99,"Pattern"],["openedBy",9,"[",38,"{",47,"("],["closedBy",12,"]",39,"}",45,")"]],propSources:[AU],skippedNodes:[0,6,7,240],repeatNodeCount:32,tokenData:"$%h_R!XOX$nXY5gYZ6iZ]$n]^5g^p$npq5gqr7Xrs9cst:Rtu;Tuv>vvwAQwxCbxy!+Tyz!,Vz{!-X{|!/_|}!0g}!O!1i!O!P!3v!P!Q!8[!Q!R!Bw!R![!Dr![!]#+q!]!^#-{!^!_#.}!_!`#1b!`!a#3o!a!b#6S!b!c#7U!c!}#8W!}#O#:T#O#P#;V#P#Q#Cb#Q#R#Dd#R#S#8W#S#T$n#T#U#8W#U#V#El#V#f#8W#f#g#Ic#g#o#8W#o#p$ S#p#q$!U#q#r$$f#r${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nU$u]'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU%uV'_Q'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&aV'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&yVOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`S'cVOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S'{UOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`S(bUOz(t{!P(t!P!Q(_!Q;'S(t;'S;=`*a<%lO(tS(wVOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)eV'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)}UOz(tz{)z{!P(t!Q;'S(t;'S;=`*a<%lO(tS*dP;=`<%l(tS*jP;=`<%l)^S*pP;=`<%l'`S*vP;=`<%l&[S+OO'PSU+T]'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U,R]'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU-P]'_QOY+|YZ-xZr+|rs'`sz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U-}V'_QOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[Q.iV'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.dQ/TO'_QQ/WP;=`<%l.dU/`]'_QOY0XYZ3uZr0Xrs(tsz0Xz{.d{!P0X!P!Q/Z!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU0^]'_QOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU1`]'_Q'PS'OSOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU2bV'_Q'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U2|]'_QOY0XYZ3uZr0Xrs(tsz0Xz{2w{!P0X!P!Q.d!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU3zV'_QOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U4dP;=`<%l0XU4jP;=`<%l1VU4pP;=`<%l+|U4vP;=`<%l$nU5QV'_Q'PSOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_5p]'_Q&|X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_6rV'_Q&|X'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_7b_ZX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_8j]#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_9lV']Q'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_:[]'QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_;^i'_Q'vW'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_=Uj'_Q_X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![<{![!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_?P_(TP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_@X]#OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_AZa!qX'_Q'OSOY$nYZ%nZr$nrs&[sv$nvwB`wz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Bi]'}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Cik'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q!cE^!c!}Lp!}#OE^#O#P!!l#P#RE^#R#SLp#S#TE^#T#oLp#o${E^${$|Lp$|4wE^4w5bLp5b5iE^5i6SLp6S;'SE^;'S;=`!*}<%lOE^_Ee_'_Q'OSOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Fm]'_Q'OSsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_GmX'_Q'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]HaV'OSsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]H{X'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_Im_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Js]'_QsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Kq_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Lyl'_Q'OS'ZXOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n_Nzj'_Q'OS'ZXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n]!!qZ'OSOzHvz{!#d{!PHv!P!Q!$n!Q#iHv#i#j!%Z#j#lHv#l#m!'V#m;'SHv;'S;=`!*w<%lOHv]!#gXOw'`wx!$Sxz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`]!$XVsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]!$qWOw'`wx!$Sxz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`]!%`^'OSOz&[z{&v{!P&[!P!Q'x!Q![!&[![!c&[!c!i!&[!i#T&[#T#Z!&[#Z#o&[#o#p!({#p;'S&[;'S;=`*s<%lO&[]!&a['OSOz&[z{&v{!P&[!P!Q'x!Q![!'V![!c&[!c!i!'V!i#T&[#T#Z!'V#Z;'S&[;'S;=`*s<%lO&[]!'[['OSOz&[z{&v{!P&[!P!Q'x!Q![!(Q![!c&[!c!i!(Q!i#T&[#T#Z!(Q#Z;'S&[;'S;=`*s<%lO&[]!(V['OSOz&[z{&v{!P&[!P!Q'x!Q![Hv![!c&[!c!iHv!i#T&[#T#ZHv#Z;'S&[;'S;=`*s<%lO&[]!)Q['OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z;'S&[;'S;=`*s<%lO&[]!){^'OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z#q&[#q#rHv#r;'S&[;'S;=`*s<%lO&[]!*zP;=`<%lHv_!+QP;=`<%lE^_!+^]}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!,`]!PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!-`_(QX'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!.f]#OX'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!/h_(PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!0p]!eX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!1r`'gX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`!a!2t!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!2}]#QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!4P^(OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!4{!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!5U`!lX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!6W!P!Q,z!Q!_$n!_!`!7Y!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!6a]!tX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV!7c]'qP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!8c_'_Q'xXOY+|YZ-xZr+|rs'`sz+|z{!9b{!P+|!P!Q!:O!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!9iV&}]'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_!:V]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!Aq{!P!;O!P!Q!:O!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;O_!;V]'_QUXOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O_!<Z]'_QUX'PS'OSOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O]!=]XUX'PS'OSOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!=}XUXOY!>jYZ(tZz!>jz{!=x{!P!>j!P!Q!?|!Q;'S!>j;'S;=`!@e<%lO!>j]!>oXUXOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!?aXUXOY!>jYZ(tZz!>jz{!?|{!P!>j!P!Q!?[!Q;'S!>j;'S;=`!@e<%lO!>jX!@RSUXOY!?|Z;'S!?|;'S;=`!@_<%lO!?|X!@bP;=`<%l!?|]!@hP;=`<%l!>j]!@nP;=`<%l!=S_!@x]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!@q{!P!;O!P!Q!Aq!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;OZ!AxX'_QUXOY!AqYZ/OZr!Aqrs!?|s#O!Aq#O#P!?|#P;'S!Aq;'S;=`!Be<%lO!AqZ!BhP;=`<%l!Aq_!BnP;=`<%l!;O_!BtP;=`<%l!<O_!CQjuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#U$n#U#V#!}#V#]$n#]#^!FZ#^#c$n#c#d#%u#d#i$n#i#j!FZ#j#l$n#l#m#(g#m;'S$n;'S;=`4s<%lO$n_!D{duX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_!Fbg'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R$n!R!S!Gy!S!T$n!T!U!K_!U!W$n!W!X!Le!X!Y$n!Y!Z!J]!Z#O$n#O#P&[#P#g$n#g#h!Mk#h;'S$n;'S;=`4s<%lO$n_!HQa'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!IV!T!W$n!W!X!J]!X#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!I^_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y$n!Y!Z!J]!Z#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Jf]uX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Kf_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!J]!T#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Ll_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!U$n!U!V!J]!V#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Mr_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#]$n#]#^!Nq#^;'S$n;'S;=`4s<%lO$n_!Nx_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#n$n#n#o# w#o;'S$n;'S;=`4s<%lO$n_#!O_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#X$n#X#Y!J]#Y;'S$n;'S;=`4s<%lO$n_##Ua'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S;'S$n;'S;=`4s<%lO$n_#$deuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#%|`'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S;'S$n;'S;=`4s<%lO$n_#'XduX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#(nd'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z;'S$n;'S;=`4s<%lO$n_#*VhuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#+z_!SX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![$n![!]#,y!]#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#-S]dX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#.U]yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#/W`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!^$n!^!_#0Y!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#0c_'yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#1k`oX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#2m!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#2v]#RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#3x`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#4z!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#5T_'zX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#6]](RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV#7_]'pP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#8cj'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n_#:^][X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU#;[Z'OSOz#;}z{#<k{!P#;}!P!Q#=V!Q#i#;}#i#j#=n#j#l#;}#l#m#?j#m;'S#;};'S;=`#C[<%lO#;}U#<UVrQ'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[U#<pVrQOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`U#=[UrQOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`U#=s^'OSOz&[z{&v{!P&[!P!Q'x!Q![#>o![!c&[!c!i#>o!i#T&[#T#Z#>o#Z#o&[#o#p#A`#p;'S&[;'S;=`*s<%lO&[U#>t['OSOz&[z{&v{!P&[!P!Q'x!Q![#?j![!c&[!c!i#?j!i#T&[#T#Z#?j#Z;'S&[;'S;=`*s<%lO&[U#?o['OSOz&[z{&v{!P&[!P!Q'x!Q![#@e![!c&[!c!i#@e!i#T&[#T#Z#@e#Z;'S&[;'S;=`*s<%lO&[U#@j['OSOz&[z{&v{!P&[!P!Q'x!Q![#;}![!c&[!c!i#;}!i#T&[#T#Z#;}#Z;'S&[;'S;=`*s<%lO&[U#Ae['OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z;'S&[;'S;=`*s<%lO&[U#B`^'OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z#q&[#q#r#;}#r;'S&[;'S;=`*s<%lO&[U#C_P;=`<%l#;}_#Ck]XX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Dm_'{X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Ewl'_Q'OS!yW'TPOY$nYZ%nZr$nrs#Gosw$nwx#H]xz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n]#GvV'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_#Hd_'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q#OE^#O#P!!l#P;'SE^;'S;=`!*}<%lOE^_#Ink'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[st#Kctz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nV#Kji'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$nV#Mbj'_Q'OS'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#MX![!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$n_$ ]]wX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$!_a'rX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P#p$n#p#q$#d#q;'S$n;'S;=`4s<%lO$n_$#m]'|X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$$o]vX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n",tokenizers:[EU,GU,CU,0,1,2,3],topRules:{SourceFile:[0,8]},specialized:[{term:281,get:t=>NU[t]||-1}],tokenPrec:15596}),LU=bt.define({name:"rust",parser:IU.configure({props:[Xt.add({IfExpression:Ot({except:/^\s*({|else\b)/}),"String BlockComment":()=>null,AttributeItem:t=>t.continue(),"Statement MatchArm":Ot()}),wt.add(t=>{if(/(Block|edTokens|List)$/.test(t.name))return rn;if(t.name=="BlockComment")return e=>({from:e.from+2,to:e.to-2})})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:\{|\})$/,closeBrackets:{stringPrefixes:["b","r","br"]}}});function DU(){return new Ut(LU)}const RQ=1,MU=2,BU=3,FU=82,HU=76,KU=117,JU=85,eq=97,tq=122,iq=65,nq=90,Oq=95,hf=48,YQ=34,rq=40,ZQ=41,aq=32,zQ=62,sq=new ke(t=>{if(t.next==HU||t.next==JU?t.advance():t.next==KU&&(t.advance(),t.next==hf+8&&t.advance()),t.next!=FU||(t.advance(),t.next!=YQ))return;t.advance();let e="";for(;t.next!=rq;){if(t.next==aq||t.next<=13||t.next==ZQ)return;e+=String.fromCharCode(t.next),t.advance()}for(t.advance();;){if(t.next<0)return t.acceptToken(RQ);if(t.next==ZQ){let i=!0;for(let n=0;i&&n<e.length;n++)t.peek(n+1)!=e.charCodeAt(n)&&(i=!1);if(i&&t.peek(e.length+1)==YQ)return t.acceptToken(RQ,2+e.length)}t.advance()}}),oq=new ke(t=>{if(t.next==zQ)t.peek(1)==zQ&&t.acceptToken(MU,1);else{let e=!1,i=0;for(;;i++){if(t.next>=iq&&t.next<=nq)e=!0;else{if(t.next>=eq&&t.next<=tq)return;if(t.next!=Oq&&!(t.next>=hf&&t.next<=hf+9))break}t.advance()}e&&i>1&&t.acceptToken(BU)}},{extend:!0}),lq=xt({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using requires concept import export module __attribute__ __declspec __based":$.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register thread_local inline const volatile restrict _Atomic mutable constexpr constinit consteval virtual explicit VirtualSpecifier Access":$.modifier,"if else switch for while do case default return break continue goto throw try catch":$.controlKeyword,"co_return co_yield co_await":$.controlKeyword,"new sizeof delete static_assert":$.operatorKeyword,"NULL nullptr":$.null,this:$.self,"True False":$.bool,"TypeSize PrimitiveType":$.standard($.typeName),TypeIdentifier:$.typeName,FieldIdentifier:$.propertyName,"CallExpression/FieldExpression/FieldIdentifier":$.function($.propertyName),"ModuleName/Identifier":$.namespace,PartitionName:$.labelName,StatementIdentifier:$.labelName,"Identifier DestructorName":$.variableName,"CallExpression/Identifier":$.function($.variableName),"CallExpression/ScopedIdentifier/Identifier":$.function($.variableName),"FunctionDeclarator/Identifier FunctionDeclarator/DestructorName":$.function($.definition($.variableName)),NamespaceIdentifier:$.namespace,OperatorName:$.operator,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,AssignOp:$.definitionOperator,UpdateOp:$.updateOperator,LineComment:$.lineComment,BlockComment:$.blockComment,Number:$.number,String:$.string,"RawString SystemLibString":$.special($.string),CharLiteral:$.character,EscapeSequence:$.escape,"UserDefinedLiteral/Identifier":$.literal,PreProcArg:$.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":$.processingInstruction,MacroName:$.special($.name),"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,"< >":$.angleBracket,". ->":$.derefOperator,", ;":$.separator}),cq={__proto__:null,bool:36,char:36,int:36,float:36,double:36,void:36,size_t:36,ssize_t:36,intptr_t:36,uintptr_t:36,charptr_t:36,int8_t:36,int16_t:36,int32_t:36,int64_t:36,uint8_t:36,uint16_t:36,uint32_t:36,uint64_t:36,char8_t:36,char16_t:36,char32_t:36,char64_t:36,const:70,volatile:72,restrict:74,_Atomic:76,mutable:78,constexpr:80,constinit:82,consteval:84,struct:88,__declspec:92,final:148,override:148,public:152,private:152,protected:152,virtual:154,extern:160,static:162,register:164,inline:166,thread_local:168,__attribute__:172,__based:178,__restrict:180,__uptr:180,__sptr:180,_unaligned:180,__unaligned:180,noexcept:194,requires:198,TRUE:796,true:796,FALSE:798,false:798,typename:218,class:220,template:234,throw:248,__cdecl:256,__clrcall:256,__stdcall:256,__fastcall:256,__thiscall:256,__vectorcall:256,try:260,catch:264,export:282,import:286,case:296,default:298,if:308,else:314,switch:318,do:322,while:324,for:330,return:334,break:338,continue:342,goto:346,co_return:350,co_yield:354,using:362,typedef:366,namespace:380,new:398,delete:400,co_await:402,concept:406,enum:410,static_assert:414,friend:422,union:424,explicit:430,operator:444,module:456,signed:518,unsigned:518,long:518,short:518,decltype:528,auto:530,sizeof:566,NULL:572,nullptr:586,this:588},uq={__proto__:null,"<":765},fq={__proto__:null,">":135},hq={__proto__:null,operator:388,new:576,delete:582},dq=yt.deserialize({version:14,states:"$;xQ!QQVOOP'gOUOOO([OWO'#CdO,UQUO'#CgO,`QUO'#FjO-vQbO'#CxO.XQUO'#CxO0WQUO'#K`O0_QUO'#CwO0jOpO'#DvO0rQ!dO'#D]OOQR'#JP'#JPO5[QVO'#GUO5iQUO'#JWOOQQ'#JW'#JWO8}QUO'#KsO<hQUO'#KsO?OQVO'#E^O?`QUO'#E^OOQQ'#Ed'#EdOOQQ'#Ee'#EeO?eQVO'#EfO@[QVO'#EiOBXQUO'#FPOByQUO'#FhOOQR'#Fj'#FjOCOQUO'#FjOOQR'#LW'#LWOOQR'#LV'#LVOEWQVO'#KVOF{QUO'#L]OGYQUO'#KwOGnQUO'#L]OH`QUO'#L_OOQR'#HU'#HUOOQR'#HV'#HVOOQR'#HW'#HWOOQR'#LS'#LSOOQR'#J`'#J`Q!QQVOOOHnQVO'#FOOIZQUO'#EhOIbQUOOOK^QVO'#HgOKnQUO'#HgONYQUO'#KwONdQUO'#KwOOQQ'#Kw'#KwO!!bQUO'#KwOOQQ'#Jr'#JrO!!oQUO'#HxOOQQ'#K`'#K`O!&aQUO'#K`O!&}QUO'#KVO!(}QVO'#I]O!(}QVO'#I`OCTQUO'#KVOOQQ'#Ip'#IpOOQQ'#KV'#KVO!-QQUO'#K`OOQR'#K_'#K_O!-XQUO'#DZO!/pQUO'#KtOOQQ'#Kt'#KtO!/wQUO'#KtO!0OQUO'#ETO!0TQUO'#EWO!0YQUO'#FRO8}QUO'#FPO!QQVO'#F^O!0_Q#vO'#F`O!0jQUO'#FkO!0rQUO'#FpO!0wQVO'#FrO!0rQUO'#FuO!3vQUO'#FvO!3{QVO'#FxO!4VQUO'#FzO!4[QUO'#F|O!4aQUO'#GOO!4fQVO'#GQO!(}QVO'#GSO!4mQUO'#GpO!4{QUO'#GYO!(}QVO'#FeO!6YQUO'#FeO!6_QVO'#G`O!6fQUO'#GaO!6qQUO'#GnO!6vQUO'#GrO!6{QUO'#GzO!7mQ&lO'#HiO!:pQUO'#GuO!;QQUO'#HXO!;]QUO'#HZO!;eQUO'#DXO!;eQUO'#HuO!;eQUO'#HvO!;|QUO'#HwO!<_QUO'#H|O!=SQUO'#H}O!>xQVO'#IbO!(}QVO'#IdO!?SQUO'#IgO!?ZQVO'#IjP!AQO!LQO'#CaP!A]{,UO'#CbP!6q{,UO'#CbP!Ah{7[O'#CbP!6q{,UO'#CbP!Am{,UO'#CbP!AxOSO'#IzPOOO)CEo)CEoOOOO'#I}'#I}O!BSOWO,59OOOQR,59O,59OO!(}QVO,59VOOQQ,59X,59XOOQR'#Do'#DoO!(}QVO,5;ROOQR,5<U,5<UO!B_QUO,59ZO!(}QVO,5>qOOQR'#IX'#IXOOQR'#IY'#IYOOQR'#IZ'#IZOOQR'#I['#I[O!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!D^QVO,5>zOOQQ,5?W,5?WO!FPQVO'#CjO!IxQUO'#CzOOQQ,59d,59dOOQQ,59c,59cOOQQ,5<},5<}O!JVQ&lO,5=mO!?SQUO,5?RO!LyQVO,5?UO!MQQbO,59dO!M]QVO'#FYOOQQ,5?P,5?PO!MmQVO,59WO!MtO`O,5:bO!MyQbO'#D^O!N[QbO'#KdO!NjQbO,59wO!NrQbO'#CxO# TQUO'#CxO# YQUO'#K`O# dQUO'#CwOOQR-E<}-E<}O# oQUO,5AuO# vQVO'#EfO@[QVO'#EiOBXQUO,5;kOOQR,5<p,5<pO#$oQUO'#KVO#$vQUO'#KVO!(}QVO'#IUO8}QUO,5;kO#%ZQ&lO'#HiO#(bQUO'#CtO#+VQbO'#CxO#+[QUO'#CwO#.xQUO'#K`OOQQ-E=U-E=UO#1]QUO,5A_O#1gQUO'#K`O#1qQUO,5A_OOQR,5Au,5AuOOQQ,5>l,5>lO#3uQUO'#CgO#4kQUO,5>pO#6^QUO'#IeOOQR'#JO'#JOO#6fQUO,5:xO#7SQUO,5:xO#7sQUO,5:xO#8hQUO'#CuO!0TQUO'#CmOOQQ'#JX'#JXO#7SQUO,5:xO#8pQUO,5;QO!4{QUO'#DOO#9yQUO,5;QO#:OQUO,5>QO#;[QUO'#DOO#;rQUO,5>{O#;wQUO'#K}O#=QQUO,5;TO#=YQVO,5;TO#=dQUO,5;TOOQQ,5;T,5;TO#?]QUO'#LbO#?dQUO,5>UO#?iQbO'#CxO#?tQUO'#GcO#?yQUO'#E^O#@jQUO,5;kO#ARQUO'#LTO#AZQUO,5;rOKnQUO'#HfOBXQUO'#HgO#A`QUO'#KwO!6qQUO'#HjO#BWQUO'#CuO!0wQVO,5<SOOQQ'#Cg'#CgOOQR'#Ji'#JiO#B]QVO,5=`OOQQ,5?Z,5?ZO#DfQbO'#CxO#DqQUO'#GcOOQQ'#Jj'#JjOOQQ-E=h-E=hOGYQUO,5AwOGnQUO,5AwO#DvQUO,5AyO#ERQUO'#G|OOQR,5Aw,5AwO#DvQUO,5AwO#E^QUO'#HOO#EfQUO,5AyOOQR,5Ay,5AyOOQR,5Az,5AzO#EtQVO,5AzOOQR-E=^-E=^O#GnQVO,5;jOOQR,5;j,5;jO#IoQUO'#EjO#JtQUO'#EwO#KkQVO'#ExO#M}QUO'#EvO#NVQUO'#EyO$ UQUO'#EzOOQQ'#LQ'#LQO$ {QUO,5;SO$#RQUO'#EvOOQQ,5;S,5;SO$$OQUO,5;SO$%qQUO,5:yO$([QVO,5>PO$(fQUO'#E[O$(sQUO,5>ROOQQ,5>S,5>SO$,aQVO'#C|OOQQ-E=p-E=pOOQQ,5>d,5>dOOQQ,59a,59aO$,kQUO,5>wO$.kQUO,5>zO!6qQUO,59uO$/OQUO,5;qO$/]QUO,5<{O!0TQUO,5:oOOQQ,5:r,5:rO$/hQUO,5;mO$/mQUO'#KsOBXQUO,5;kOOQR,5;x,5;xO$0^QUO'#FbO$0lQUO'#FbO$0qQUO,5;zO$4[QVO'#FmO!0wQVO,5<VO!0rQUO,5<VO!0YQUO,5<[O$4cQVO'#GUO$7_QUO,5<^O!0wQVO,5<aO$:uQVO,5<bO$;SQUO,5<dOOQR,5<d,5<dO$<]QUO,5<dOOQR,5<f,5<fOOQR,5<h,5<hOOQQ'#Fi'#FiO$<bQUO,5<jO$<gQUO,5<lOOQR,5<l,5<lO$=mQUO,5<nO$>sQUO,5<rO$?OQUO,5=[O$?TQUO,5=[O!4{QUO,5<tO$?]QUO,5<tO$?qQUO,5<PO$@wQVO,5<PO$CYQUO,5<zOOQR,5<z,5<zOOQR,5<{,5<{O$?TQUO,5<{O$D`QUO,5<{O$DkQUO,5=YO!(}QVO,5=^O!(}QVO,5=fO#NsQUO,5=mOOQQ,5>T,5>TO$FpQUO,5>TO$FzQUO,5>TO$GPQUO,5>TO$GUQUO,5>TO!6qQUO,5>TO$ISQUO'#K`O$IZQUO,5=oO$IfQUO,5=aOKnQUO,5=oO$J`QUO,5=sOOQR,5=s,5=sO$JhQUO,5=sO$LsQVO'#H[OOQQ,5=u,5=uO!;`QUO,5=uO%#nQUO'#KpO%#uQUO'#KaO%$ZQUO'#KpO%$eQUO'#DyO%$vQUO'#D|O%'sQUO'#KaOOQQ'#Ka'#KaO%)fQUO'#KaO%#uQUO'#KaO%)kQUO'#KaOOQQ,59s,59sOOQQ,5>a,5>aOOQQ,5>b,5>bO%)sQUO'#HzO%){QUO,5>cOOQQ,5>c,5>cO%-gQUO,5>cO%-rQUO,5>hO%1^QVO,5>iO%1eQUO,5>|O# vQVO'#EfO%4kQUO,5>|OOQQ,5>|,5>|O%5[QUO,5?OO%7`QUO,5?RO!<_QUO,5?RO%9[QUO,5?UO%<wQVO,5?UPOOO'#I|'#I|P%=OO!LQO,58{POOO,58{,58{P!Am{,UO,58|P%=Z{,UO,58|P%=i{7[O,58|P%=o{,UO,58|PO{O'#Jv'#JvP%=t{,UO'#LiPOOO'#Li'#LiP%=z{,UO'#LiPOOO,58|,58|POOO,5?f,5?fP%>POSO,5?fOOOO-E<{-E<{OOQR1G.j1G.jO%>WQUO1G.qO%?^QUO1G0mOOQQ1G0m1G0mO%@jQUO'#CpO%ByQbO'#CxO%CUQUO'#CsO%CZQUO'#CsO%C`QUO1G.uO#BWQUO'#CrOOQQ1G.u1G.uO%EcQUO1G4]O%FiQUO1G4^O%H[QUO1G4^O%I}QUO1G4^O%KpQUO1G4^O%McQUO1G4^O& UQUO1G4^O&!wQUO1G4^O&$jQUO1G4^O&&]QUO1G4^O&(OQUO1G4^O&)qQUO1G4^O&+dQUO'#KUO&,mQUO'#KUO&,uQUO,59UOOQQ,5=P,5=PO&.}QUO,5=PO&/XQUO,5=PO&/^QUO,5=PO&/cQUO,5=PO!6qQUO,5=PO#NsQUO1G3XO&/mQUO1G4mO!<_QUO1G4mO&1iQUO1G4pO&3[QVO1G4pOOQQ1G/O1G/OOOQQ1G.}1G.}OOQQ1G2i1G2iO!JVQ&lO1G3XO&3cQUO'#LUO@[QVO'#EiO&4lQUO'#F]OOQQ'#Jb'#JbO&4qQUO'#FZO&4|QUO'#LUO&5UQUO,5;tO&5ZQUO1G.rOOQQ1G.r1G.rOOQR1G/|1G/|O&6|Q!dO'#JQO&7RQbO,59xO&9dQ!eO'#D`O&9kQ!dO'#JSO&9pQbO,5AOO&9pQbO,5AOOOQR1G/c1G/cO&9{QbO1G/cO&:QQ&lO'#GeO&;OQbO,59dOOQR1G7a1G7aO#@jQUO1G1VO&;ZQUO1G1^OBXQUO1G1VO&=lQUO'#CzO#+VQbO,59dO&A_QUO1G6yOOQR-E<|-E<|O&BqQUO1G0dO#6fQUO1G0dOOQQ-E=V-E=VO#7SQUO1G0dOOQQ1G0l1G0lO&CfQUO,59jOOQQ1G3l1G3lO&C|QUO,59jO&DdQUO,59jO!MmQVO1G4gO!(}QVO'#JZO&EOQUO,5AiOOQQ1G0o1G0oO!(}QVO1G0oO!6qQUO'#JoO&EWQUO,5A|OOQQ1G3p1G3pOOQR1G1V1G1VO&ITQVO'#FOO!MmQVO,5;sOOQQ,5;s,5;sOBXQUO'#JdO&KPQUO,5AoO&KXQVO'#E[OOQR1G1^1G1^O&MvQUO'#LbOOQR1G1n1G1nOOQR-E=g-E=gOOQR1G7c1G7cO#DvQUO1G7cOGYQUO1G7cO#DvQUO1G7eOOQR1G7e1G7eO&NOQUO'#G}O&NWQUO'#L^OOQQ,5=h,5=hO&NfQUO,5=jO&NkQUO,5=kOOQR1G7f1G7fO#EtQVO1G7fO&NpQUO1G7fO' vQVO,5=kOOQR1G1U1G1UO$/UQUO'#E]O'!lQUO'#E]OOQQ'#LP'#LPO'#VQUO'#LOO'#bQUO,5;UO'#jQUO'#ElO'#}QUO'#ElO'$bQUO'#EtOOQQ'#J]'#J]O'$gQUO,5;cO'%^QUO,5;cO'&XQUO,5;dO''_QVO,5;dOOQQ,5;d,5;dO''iQVO,5;dO''_QVO,5;dO''pQUO,5;bO'(mQUO,5;eO'(xQUO'#KvO')QQUO,5:vO')VQUO,5;fOOQQ1G0n1G0nOOQQ'#J^'#J^O''pQUO,5;bO!4{QUO'#E}OOQQ,5;b,5;bO'*QQUO'#E`O'+zQUO'#E{OHuQUO1G0nO',PQUO'#EbOOQQ'#JY'#JYO'-iQUO'#KxOOQQ'#Kx'#KxO'.cQUO1G0eO'/ZQUO1G3kO'0aQVO1G3kOOQQ1G3k1G3kO'0kQVO1G3kO'0rQUO'#LeO'2OQUO'#K^O'2^QUO'#K]O'2iQUO,59hO'2qQUO1G/aO'2vQUO'#FPOOQR1G1]1G1]OOQR1G2g1G2gO$?TQUO1G2gO'3QQUO1G2gO'3]QUO1G0ZOOQR'#Ja'#JaO'3bQVO1G1XO'9ZQUO'#FTO'9`QUO1G1VO!6qQUO'#JeO'9nQUO,5;|O$0lQUO,5;|OOQQ'#Fc'#FcOOQQ,5;|,5;|O'9|QUO1G1fOOQR1G1f1G1fO':UQUO,5<XO$/UQUO'#FWOBXQUO'#FWO':]QUO,5<XO!(}QVO,5<XO':eQUO,5<XO':jQVO1G1qO!0wQVO1G1qOOQR1G1v1G1vO'@YQUO1G1xOOQR1G1{1G1{O'@_QUO1G1|OBXQUO1G2]O'AhQVO1G1|O'C|QUO1G1|O'DRQUO'#GWO8}QUO1G2]OOQR1G2O1G2OOOQR1G2U1G2UOOQR1G2W1G2WOOQR1G2Y1G2YO'DWQUO1G2^O!4{QUO1G2^OOQR1G2v1G2vO'D`QUO1G2vO$?]QUO1G2`OOQQ'#Cv'#CvO'DeQUO'#G[O'E`QUO'#G[O'EeQUO'#LXO'EsQUO'#G_OOQQ'#LY'#LYO'FRQUO1G2`O'FWQVO1G1kO'HiQVO'#GUOBXQUO'#FWOOQR'#Jf'#JfO'FWQVO1G1kO'HsQUO'#FvOOQR1G2f1G2fO'HxQUO1G2gO'H}QUO'#JhO'3QQUO1G2gO!(}QVO1G2tO'IVQUO1G2xO'J`QUO1G3QO'KfQUO1G3XOOQQ1G3o1G3oO'KzQUO1G3oOOQR1G3Z1G3ZO'LPQUO'#K`O'2vQUO'#LZOGnQUO'#L]OOQR'#Gy'#GyO#DvQUO'#L_OOQR'#HQ'#HQO'LZQUO'#GvO'$bQUO'#GuOOQR1G2{1G2{O'MWQUO1G2{O'M}QUO1G3ZO'NYQUO1G3_O'N_QUO1G3_OOQR1G3_1G3_O'NgQUO'#H]OOQR'#H]'#H]O( pQUO'#H]O!(}QVO'#H`O!(}QVO'#H_OOQR'#La'#LaO( uQUO'#LaOOQR'#Jl'#JlO( zQVO,5=vOOQQ,5=v,5=vO(!RQUO'#H^O(!ZQUO'#HZOOQQ1G3a1G3aO(!eQUO,5@{OOQQ,5@{,5@{O%)fQUO,5@{O%)kQUO,5@{O%$eQUO,5:eO(&SQUO'#KqO(&bQUO'#KqOOQQ,5:e,5:eOOQQ'#JT'#JTO(&mQUO'#D}O(&wQUO'#KwOGnQUO'#L]O('sQUO'#D}OOQQ'#Hp'#HpOOQQ'#Hr'#HrOOQQ'#Hs'#HsOOQQ'#Kr'#KrOOQQ'#JV'#JVO('}QUO,5:hOOQQ,5:h,5:hO((zQUO'#L]O()XQUO'#HtO()oQUO,5@{O()vQUO'#H{O(*RQUO'#LdO(*ZQUO,5>fO(*`QUO'#LcOOQQ1G3}1G3}O(.VQUO1G3}O(.^QUO1G3}O(.eQUO1G4TO(/kQUO1G4TO(/pQUO,5BSO!6qQUO1G4hO!(}QVO'#IiOOQQ1G4m1G4mO(/uQUO1G4mO(1xQVO1G4pPOOO-E<z-E<zPOOO1G.g1G.gPOOO1G.h1G.hP!Am{,UO1G.hP(3xQUO'#LkP(4T{,UO1G.hP(4Y{7[O1G.hPO{O-E=t-E=tPOOO,5BT,5BTP(4b{,UO,5BTPOOO1G5Q1G5QO!(}QVO7+$]O(4gQUO'#CzOOQQ,59_,59_O(4rQbO,59dO(4}QbO,59_OOQQ,59^,59^OOQQ7+)w7+)wO!MmQVO'#JuO(5YQUO,5@pOOQQ1G.p1G.pOOQQ1G2k1G2kO(5bQUO1G2kO(5gQUO7+(sOOQQ7+*X7+*XO(7{QUO7+*XO(8SQUO7+*XO(1xQVO7+*[O#NsQUO7+(sO(8aQVO'#JcO(8tQUO,5ApO(8|QUO,5;vOOQQ'#Cp'#CpOOQQ,5;w,5;wO!(}QVO'#F[OOQQ-E=`-E=`O!MmQVO,5;uOOQQ1G1`1G1`OOQQ,5?l,5?lOOQQ-E=O-E=OOOQR'#Dg'#DgOOQR'#Di'#DiOOQR'#Dl'#DlO(:VQ!eO'#KeO(:^QMkO'#KeO(:eQ!eO'#KeOOQR'#Ke'#KeOOQR'#JR'#JRO(:lQ!eO,59zOOQQ,59z,59zO(:sQbO,5?nOOQQ-E=Q-E=QO(;RQbO1G6jOOQR7+$}7+$}OOQR7+&q7+&qOOQR7+&x7+&xO'9`QUO7+&qO(;^QUO7+&OO#6fQUO7+&OO(<RQUO1G/UO(<iQUO1G/UO(=TQUO7+*ROOQQ7+*V7+*VO(>vQUO,5?uOOQQ-E=X-E=XO(@PQUO7+&ZOOQQ,5@Z,5@ZOOQQ-E=m-E=mO(@UQUO'#LUO@[QVO'#EiO(AbQUO1G1_OOQQ1G1_1G1_O(BkQUO,5@OOOQQ,5@O,5@OOOQQ-E=b-E=bO(CPQUO'#KvOOQR7+,}7+,}O#DvQUO7+,}OOQR7+-P7+-PO(C^QUO,5=iO#ERQUO'#JkO(CoQUO,5AxOOQR1G3U1G3UOOQR1G3V1G3VO(C}QUO7+-QOOQR7+-Q7+-QO(EuQUO,5:wO(GdQUO'#EwO!(}QVO,5;VO(HVQUO,5:wO(HaQUO'#EpO(HrQUO'#EzOOQQ,5;Z,5;ZO#KkQVO'#ExO(IYQUO,5:wO(IaQUO'#EyO#GuQUO'#J[O(JyQUO,5AjOOQQ1G0p1G0pO(KUQUO,5;WO!<_QUO,5;^O(KoQUO,5;_O(K}QUO,5;WO(NaQUO,5;`OOQQ-E=Z-E=ZO(NiQUO1G0}OOQQ1G1O1G1OO) dQUO1G1OO)!jQVO1G1OO)!qQVO1G1OO)!{QUO1G0|OOQQ1G0|1G0|OOQQ1G1P1G1PO)#xQUO'#JpO)$SQUO,5AbOOQQ1G0b1G0bOOQQ-E=[-E=[O)$[QUO,5;iO!<_QUO,5;iO)%XQVO,5:zO)%`QUO,5;gO$ {QUO7+&YOOQQ7+&Y7+&YO!(}QVO'#EfO)%gQUO,5:|OOQQ'#Ky'#KyOOQQ-E=W-E=WOOQQ,5Ad,5AdOOQQ'#Jm'#JmO))[QUO7+&PPOQQ7+&P7+&POOQQ7+)V7+)VO)*SQUO7+)VO)+YQVO7+)VOOQQ,5>m,5>mO$)hQVO'#JtO)+aQUO,5@wOOQQ1G/S1G/SOOQQ7+${7+${O)+lQUO7+(RO)+qQUO7+(ROOQR7+(R7+(RO$?TQUO7+(ROOQQ7+%u7+%uOOQR-E=_-E=_O!0YQUO,5;oOOQQ,5@P,5@POOQQ-E=c-E=cO$0lQUO1G1hOOQQ1G1h1G1hOOQR7+'Q7+'QOOQR1G1s1G1sOBXQUO,5;rO),_QUO,5<YO),fQUO1G1sO)-oQUO1G1sO!0wQVO7+']O)-tQVO7+']O)3dQUO7+'dO)3iQVO7+'hO)5}QUO7+'wO)6XQUO7+'hO)7_QVO7+'hOKnQUO7+'wO$>vQUO,5<rO!4{QUO7+'xO)7fQUO7+'xOOQR7+(b7+(bO)7kQUO7+'zO)7pQUO,5<vO'DeQUO,5<vO)8hQUO,5<vO'DeQUO,5<vOOQQ,5<w,5<wO)8yQVO,5<xO'EsQUO'#JgO)9TQUO,5AsO)9]QUO,5<yOOQR7+'z7+'zO)9hQVO7+'VO)6QQUO'#LTOOQR-E=d-E=dO);yQVO,5<bOOQQ,5@S,5@SO!6qQUO,5@SOOQQ-E=f-E=fO)>bQUO7+(`O)?hQUO7+(dO)?mQVO7+(dOOQQ7+(l7+(lOOQQ7+)Z7+)ZO)?uQUO'#KpO)@PQUO'#KpOOQR,5=b,5=bO)@^QUO,5=bO!;eQUO,5=bO!;eQUO,5=bO!;eQUO,5=bOOQR7+(g7+(gOOQR7+(u7+(uOOQR7+(y7+(yOOQR,5=w,5=wO)@cQUO,5=zO)AiQUO,5=yOOQR,5A{,5A{OOQR-E=j-E=jOOQQ1G3b1G3bO)BoQUO,5=xO)BtQVO'#EfOOQQ1G6g1G6gO%)fQUO1G6gO%)kQUO1G6gOOQQ1G0P1G0POOQQ-E=R-E=RO)E]QUO,5A]O(&SQUO'#JUO)EhQUO,5A]O)EhQUO,5A]O)EpQUO,5:iO8}QUO,5:iOOQQ,5>],5>]O)EzQUO,5AwO)FRQUO'#EVO)G]QUO'#EVO)GvQUO,5:iO)HQQUO'#HlO)HQQUO'#HmOOQQ'#Ku'#KuO)HoQUO'#KuO!(}QVO'#HnOOQQ,5:i,5:iO)IaQUO,5:iO!MmQVO,5:iOOQQ-E=T-E=TOOQQ1G0S1G0SOOQQ,5>`,5>`O)IfQUO1G6gO!(}QVO,5>gO)MTQUO'#JsO)M`QUO,5BOOOQQ1G4Q1G4QO)MhQUO,5A}OOQQ,5A},5A}OOQQ7+)i7+)iO*#VQUO7+)iOOQQ7+)o7+)oO*(UQVO1G7nO**WQUO7+*SO**]QUO,5?TO*+cQUO7+*[POOO7+$S7+$SP*-UQUO'#LlP*-^QUO,5BVP*-c{,UO7+$SPOOO1G7o1G7oO*-hQUO<<GwOOQQ1G.y1G.yOOQQ'#IT'#ITO*/ZQUO,5@aOOQQ,5@a,5@aOOQQ-E=s-E=sOOQQ7+(V7+(VOOQQ<<Ms<<MsO*0dQUO<<MsO*2gQUO<<MvO*4YQUO<<L_O*4nQUO,5?}OOQQ,5?},5?}OOQQ-E=a-E=aOOQQ1G1b1G1bO*5wQUO,5;vO*6}QUO1G1aOOQQ1G1a1G1aOOQR,5AP,5APO*8WQ!eO,5APO*8_QMkO,5APO*8fQ!eO,5APOOQR-E=P-E=POOQQ1G/f1G/fO*8mQ!eO'#DwOOQQ1G5Y1G5YOOQR<<J]<<J]O*8tQUO<<IjO*9iQUO7+$pOOQQ<<Iu<<IuO(8aQVO,5;ROOQR<=!i<=!iOOQQ1G3T1G3TOOQQ,5@V,5@VOOQQ-E=i-E=iOOQR<=!l<=!lO*:fQUO1G0cO*:mQUO'#EzO*:}QUO1G0cO*;UQUO'#JOO*<lQUO1G0qO!(}QVO1G0qOOQQ,5;[,5;[OOQQ,5;],5;]OOQQ,5?v,5?vOOQQ-E=Y-E=YO!<_QUO1G0xO*={QUO1G0xOOQQ1G0y1G0yO*>^QUO'#ElOOQQ1G0z1G0zOOQQ7+&j7+&jO*>rQUO7+&jO*?xQVO7+&jOOQQ7+&h7+&hOOQQ,5@[,5@[OOQQ-E=n-E=nO*@tQUO1G1TO*AOQUO1G1TO*AiQUO1G0fOOQQ1G0f1G0fO*BoQUO'#LRO*BwQUO1G1ROOQQ<<It<<ItOOQQ'#Hb'#HbO',PQUO,5={OOQQ'#Hd'#HdO',PQUO,5=}OOQQ-E=k-E=kPOQQ<<Ik<<IkPOQQ-E=l-E=lOOQQ<<Lq<<LqO*B|QUO'#LgO*DYQUO'#LfOOQQ,5@`,5@`OOQQ-E=r-E=rOOQR<<Km<<KmO$?TQUO<<KmO*DhQUO<<KmOOQR1G1Z1G1ZOOQQ7+'S7+'SO!MmQVO1G1tO*DmQUO1G1tOOQR7+'_7+'_OOQR<<Jw<<JwO!0wQVO<<JwOOQR<<KO<<KOO*DxQUO<<KSO*FOQVO<<KSOKnQUO<<KcO!MmQVO<<KcO*FVQUO<<KSO!0wQVO<<KSO*G`QUO<<KSO*GeQUO<<KcO*GpQUO<<KdOOQR<<Kd<<KdOOQR<<Kf<<KfO*GuQUO1G2bO)7pQUO1G2bO'DeQUO1G2bO*HWQUO1G2dO*I^QVO1G2dOOQQ1G2d1G2dO*IhQVO1G2dO*IoQUO,5@ROOQQ-E=e-E=eOOQQ1G2e1G2eO*I}QUO1G1|O*KWQVO1G1|O*K_QUO1G1|OOQQ1G5n1G5nOOQR<<Kz<<KzOOQR<<LO<<LOO*KdQVO<<LOO*KoQUO<<LOOOQR1G2|1G2|O*KtQUO1G2|O*K{QUO1G3eOOQR1G3d1G3dOOQQ7+,R7+,RO%)fQUO7+,RO*LWQUO1G6wO*LWQUO1G6wO(&SQUO,5?pO*L`QUO,5?pOOQQ-E=S-E=SO*LkQUO1G0TOOQQ1G0T1G0TO*LuQUO1G0TO!MmQVO1G0TO*LzQUO1G0TOOQQ1G3w1G3wO*MUQUO,5:qO)FRQUO,5:qO*MrQUO,5:qO)FRQUO,5:qO$$TQUO,5:uO*NaQVO,5>VO)HQQUO'#JqO*NkQUO1G0TO*N|QVO1G0TOOQQ1G3u1G3uO+ TQUO,5>WO+ `QUO,5>XO+ }QUO,5>YO+#TQUO1G0TO%)kQUO7+,RO+$ZQUO1G4ROOQQ,5@_,5@_OOQQ-E=q-E=qOOQQ<<MT<<MTOOQQ<<Mn<<MnO+%dQUO1G4oP+'gQUO'#JwP+'oQUO,5BWPO{O1G7q1G7qPOOO<<Gn<<GnOOQQANC_ANC_OOQR1G6k1G6kO+'wQ!eO,5:cOOQQ,5:c,5:cO+(OQUO1G0mO+)[QUO7+&]O+*kQUO7+&dO+*|QUO,5;WOOQQ<<JU<<JUO++[QUO7+&oOOQQ7+&Q7+&QO!4{QUO'#J_O+,VQUO,5AmOOQQ7+&m7+&mOOQQ1G3g1G3gO+,_QUO1G3iOOQQ,5>n,5>nO+0SQUOANAXOOQRANAXANAXO+0XQUO7+'`OOQRAN@cAN@cO+1eQVOAN@nO+1lQUOAN@nO!0wQVOAN@nO+2uQUOAN@nO+2zQUOAN@}O+3VQUOAN@}O+4]QUOAN@}OOQRAN@nAN@nO!MmQVOAN@}OOQRANAOANAOO+4bQUO7+'|O)7pQUO7+'|OOQQ7+(O7+(OO+4sQUO7+(OO+5yQVO7+(OO+6QQVO7+'hO+6XQUOANAjOOQR7+(h7+(hOOQR7+)P7+)PO+6^QUO7+)PO+6cQUO7+)POOQQ<= m<= mO+6kQUO7+,cO+6sQUO1G5[OOQQ1G5[1G5[O+7OQUO7+%oOOQQ7+%o7+%oO+7aQUO7+%oO*N|QVO7+%oOOQQ7+)a7+)aO+7fQUO7+%oO+8lQUO7+%oO!MmQVO7+%oO+8vQUO1G0]O*MUQUO1G0]O)FRQUO1G0]OOQQ1G0a1G0aO+9eQUO1G3qO+:kQVO1G3qOOQQ1G3q1G3qO+:uQVO1G3qO+:|QUO,5@]OOQQ-E=o-E=oOOQQ1G3r1G3rO%)fQUO<= mOOQQ7+*Z7+*ZPOQQ,5@c,5@cPOQQ-E=u-E=uOOQQ1G/}1G/}OOQQ,5?y,5?yOOQQ-E=]-E=]OOQRG26sG26sO+;eQUOG26YO!0wQVOG26YO+<nQUOG26YOOQRG26YG26YO!MmQVOG26iO!0wQVOG26iO+<sQUOG26iO+=yQUOG26iO+>OQUO<<KhOOQQ<<Kj<<KjOOQRG27UG27UOOQR<<Lk<<LkO+>aQUO<<LkOOQQ7+*v7+*vOOQQ<<IZ<<IZO+>fQUO<<IZO!MmQVO<<IZO+>kQUO<<IZO+?qQUO<<IZO*N|QVO<<IZOOQQ<<L{<<L{O+@SQUO7+%wO*MUQUO7+%wOOQQ7+)]7+)]O+@qQUO7+)]O+AwQVO7+)]OOQQANEXANEXO!0wQVOLD+tOOQRLD+tLD+tO+BOQUOLD,TO+CUQUOLD,TOOQRLD,TLD,TO!0wQVOLD,TOOQRANBVANBVOOQQAN>uAN>uO+CZQUOAN>uO+DaQUOAN>uO!MmQVOAN>uO+DfQUO<<IcOOQQ<<Lw<<LwOOQR!$( `!$( `O!0wQVO!$( oOOQR!$( o!$( oOOQQG24aG24aO+ETQUOG24aO+FZQUOG24aOOQR!)9EZ!)9EZOOQQLD){LD){O+F`QUO'#CgO(gQUO'#CgO+J]QUO'#CzO+L|QUO'#CzO!FZQUO'#CzO+MuQUO'#CzO+NYQUO'#CzO,#{QUO'#CzO,$]QUO'#CzO,$jQUO'#CzO,$uQbO,59dO,%QQbO,59dO,%]QbO,59dO,%hQbO'#CxO,%yQbO'#CxO,&[QbO'#CxO,&mQUO'#CgO,)QQUO'#CgO,)_QUO'#CgO,,SQUO'#CgO,/VQUO'#CgO,/gQUO'#CgO,3`QUO'#CgO,3gQUO'#CgO,4gQUO'#CgO,6pQUO,5:xO#?yQUO,5:xO#?yQUO,5:xO#=iQUO'#LbO,7^QbO'#CxO,7iQbO'#CxO,7tQbO'#CxO,8PQbO'#CxO#7SQUO'#E^O,8[QUO'#E^O,9iQUO'#HgO,:ZQbO'#CxO,:fQbO'#CxO,:qQUO'#CwO,:vQUO'#CwO,:{QUO'#CpO,;ZQbO,59dO,;fQbO,59dO,;qQbO,59dO,;|QbO,59dO,<XQbO,59dO,<dQbO,59dO,<oQbO,59dO,6pQUO1G0dO,<zQUO1G0dO#?yQUO1G0dO,8[QUO1G0dO,?XQUO'#K`O,?iQUO'#CzO,?wQbO,59dO,6pQUO7+&OO,<zQUO7+&OO,@SQUO'#EwO,@uQUO'#EzO,AfQUO'#E^O,AkQUO'#GcO,ApQUO'#CwO,AuQUO'#CxO,AzQUO'#CxO,BPQUO'#CwO,BUQUO'#GcO,BZQUO'#K`O,BwQUO'#K`O,CRQUO'#CwO,C^QUO'#CwO,CiQUO'#CwO,<zQUO,5:xO,8[QUO,5:xO,8[QUO,5:xO,CtQUO'#K`O,DXQbO'#CxO,DdQUO'#CsO,DiQUO'#E^",stateData:",E_~O(oOSSOSRPQVPQ'ePQ'gPQ'hPQ'iPQ'jPQ'kPQ'lPQ'mPQ(pPQ~O*aOS~OPmO]eOb!]Oe!POmTOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!TxO!VfO!X!XO!Y!WO!i!YO!opO!r!`O!s!aO!t!aO!u!bO!v!aO!x!cO!{!dO#V#QO#a#VO#b#TO#i#OO#p!xO#t!fO#v!eO$R!gO$T!hO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO${!tO$}!uO%U!yO%_#ZO%`#[O%a#YO%c!zO%e#UO%g!{O%l#SO%o!|O%v!}O%|#PO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(wRO)VYO)YaO)[|O)]{O)_iO)`!ZO)bXO)ncO)odO~OR#cOV#^O'e#_O'g#`O'h#aO'i#aO'j#bO'k#bO'l#`O'm#`O(p#]O~OX#eO(t#gO(v#eO~O]ZX]jXejXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!TjX!VZX!VjX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX(zZX({$]X(|ZX(}ZX)YZX)YjX)ZZX)[ZX)[jX)]ZX)]jX)^ZX)_ZX)`ZX)pZX~O)_jX!UZX~P(gO]$PO!V#nO!X#}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO(|#mO(}#mO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_#lO)`$OO~Oe$TO%Y$UO'[$VO'_$WO)O$QO~Om$XO~O!T$YO])SXe)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)_)SX~Om$XO~P.^Om$XO!g$[O)p$[O~OX$]O)c$]O~O!R$^O)U)WP)`)WP~OPmO]$gOb!]Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!TxO!V$hO!X!XO!Y!WO!i!YO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#V#QO#a#VO#b#TO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~Om$aO#t$nO(wRO~P0}O](^Xb'zXe(^Xm'zXm(^Xs'zXs(^Xt'zXt(^Xu'zXu(^Xv'zXv(^Xw'zXw(^Xx'zXx(^Xy'zXy(^Xz'zXz(^X|'zX!O'zX!V(^X!o(^X!r'zX!r(^X!s'zX!s(^X!t'zX!t(^X!u'zX!u(^X!v'zX!v(^X!x'zX!x(^X!{(^X#a'zX#b'zX%e'zX%l'zX%o(^X%v(^X&m'zX&r'zX&s'zX(w'zX(w(^X)Y(^X)[(^X)](^X~Ob!TOm$qOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO&r#WO&s$yO])gXe)gXm)gX!V)gX!{)gX%v)gX(w)gX)Y)gX)[)gX)])gX~O)_$xO~P:qOPmO]eOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!VfO!X!XO!Y!WO!i!YO!{!dO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)YaO)[|O)]{O)`!ZO)bXO)ncO)odO~Ob%SOm;RO!|%TO(w$zO~P<oO)Y%UO~Ob!]Om$aO|#RO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w;UO~P<oOPmO]$gOb%SOm;RO!V$hO!W%aO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]%_O)`!ZO)bXO)ncO)odO)p%^O~O]%jOe!POm%dO!V%mO!{!dO%v$oO(w;VO)Y%fO)[%kO)]%kO~O({%oO~O)_#lO~O(w%pO](yX!V(yX!X(yX!Y(yX^(yX)_(yX)`(yX!g(yX)p(yX[(yX!W(yX({(yX!U(yXQ(yX!d(yX~OP%qO(uQO~PCTO]%jOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V%mO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO!{!dO%o!|O%v!}O)Y;gO)[|O)]|O~Om%tO!o%yO(w$zO~PEbO!TxO#v!eO({%{O)p&OO])kX!V)kX~O]%jOe!POm%tO!V%mO!{!dO%v!}O(w$zO)Y;gO)[|O)]|O~O!TxO#v!eO)_&RO)p&SO~O!U&VO~P!QO]&[O!TxO!V&YO)Y&XO)[&]O)]&]O~Oq&WO~PHuO]&eO!V&dO~OPmO]eOe!PO!VfO!X!XO!Y!WO!i!YO!{!dO#V#QO%_#ZO%`#[O%a#YO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)YaO)[|O)]{O)`!ZO)bXO)ncO)odO~Ob%SOm;RO%v$oO(w$zO~PIjO]%jOe!POm;cO!V%mO!{!dO%v$oO(w$zO)Y;gO)[|O)]|O~Oq&hO](yX])kX!V(yX!V)kX!X(yX!Y(yX^(yX)_(yX)`(yX[(yX[)kX!U(yX~O!g$[O)p$[O~PL`O!g(yX)p(yX~PL`O](yX!V(yX!X(yX!Y(yX^(yX)_(yX)`(yX!g(yX)p(yX[(yX!U(yX~O])kX!V)kX[)kX~PNnOb&jO&m!RO]&lXe&lXm&lXs&lXt&lXu&lXv&lXw&lXx&lXy&lXz&lX!O&lX!V&lX!r&lX!s&lX!t&lX!u&lX!v&lX!x&lX!{&lX%v&lX&r&lX&s&lX(w&lX)Y&lX)[&lX)]&lX)_&lX[&lX!T&lX!X&lX!Y&lXY(yX)Z(yX)[(yX)](yX)^(yX)_(yX)`(yX[(yX!W(yX({(yX!U(yXQ(yX!d(yX~OPmO]$gOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O])SXe)SXm)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)_)SX[)SXQ)SX!d)SX!h)SX)`)SX)p)SX~O]$PO~P!*tO]&nO~O])hXb)hXe)hXm)hXs)hXt)hXu)hXv)hXw)hXx)hXy)hXz)hX|)hX!O)hX!V)hX!o)hX!r)hX!s)hX!t)hX!u)hX!v)hX!x)hX!{)hX#a)hX#b)hX%e)hX%l)hX%o)hX%v)hX&m)hX&r)hX&s)hX(w)hX)Y)hX)[)hX)])hX~O(uQO~P!-^O%U&pO~P!-^O]&qO~O]$PO~O!TxO~O$W&yO(w%pO({&xO~O]&zOx&|O~O]&zO~OPmO]$gOb%SOm;RO!TxO!V$hO!X!XO!Y!WO!i!YO#V#QO#p!xO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w:tO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~O]'RO~O!T$YO)_'TO~P!(}O)_'VO~O)_'WO~O(w'XO~O)_'[O~P!(}Om;eO%U'`O%e'`O(w;WO~Ob!TOm$qOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO~O({'dO~O)_'fO~P!(}O!TxO(w%pO)p'hO~O(w%pO~O]'kO~O]'lOe%nXm%nX!V%nX!{%nX%v%nX(w%nX)Y%nX)[%nX)]%nX~O]'pO!V'qO!X'nO!g'nO%Z'nO%['nO%]'nO%^'nO%_'rO%`'rO%a'nO(}'oO)p'nO*O'sO~P8}O]%jOb!TOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!V%mO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO!{!dO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO)Y;gO)[|O)]|O~Om;fOq&WO%v$oO(w;XO~P!8mO(w%pO({'xO)_'yO~O]&eO!T'{O~Om$qO!O!_O!T(SO!l(XO(w$pO({(RO)VYO~Om$qO|(`O!T(]O#b(`O(w$pO~Ob!TOm$qO|#RO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO~O](bO~OPmOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)bXO)ncO)odO~O](dO)`(eO~P!=XO]$PO~P!<_OPmO]$gOb%SOm;RO!V(kO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O(q(lO(r(lO(s(nO~OY(oO(uQO(w%pO~O'f(rO~OS(vO(p#]O*^(uO~O]$PO(o(yO~Q'nXX#eO(t({O(v#eO~Oe)VOm)QO&r#WO(w)PO~O!Y'Sa!['Sa!^'Sa!_'Sa!a'Sa!b'Sa!e'Sa!f'Sa!h'Sa(z'Sa)Y'Sa)Z'Sa)['Sa)]'Sa)^'Sa)_'Sa)`'Sa!g'Sa)p'Sa['Sa!W'Sa({'Sa!U'SaQ'Sa!d'Sa~OPmOb%SOm;RO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)bXO)ncO)odO]'Sa!V'Sa!X'Sa(|'Sa(}'Sa~P!BmO!T$YO[(xP~P!(}O]oX]%WXeoXmnXqoXq%WXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!ToX!VoX!V%WX!X%WX!Y%WX![%WX!^%WX!_%WX!a%WX!b%WX!e%WX!f%WX!gnX!h%WX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX(z%WX(|%WX(}%WX)YoX)Y%WX)Z%WX)[oX)[%WX)]oX)]%WX)^%WX)_%WX)`%WX)pnX[%WX~O)_oX[oX!U%WX~P!FZO])iO!V)jO!X)gO!g)gO%Z)gO%[)gO%])gO%^)gO%_)kO%`)kO%a)gO(})hO)p)gO*O)lO~P8}OPmO]$gOb%SOm;RO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O!V)qO~P!KVOe)tO%Y)uO)O$QO~O!T$YO!V)wO(|)xO!U)xP~P!KVO!T$YO~P!(}O)a*PO~Om*QO]!QX!h!QX)U!QX)`!QX~O]*SO!h*TO)U)WX)`)WX~O)U*WO)`*XO~Oe$TO%Y*YO'[$VO'_$WO)O$QO~Om*ZO~Om*ZO[)SX~P.^Om*ZO!g$[O)p$[O~O)_*[O~P:qOPmO]$gOb!]Om$aOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~Oq&hO~P!&}Oq&hO!W(yX({(yXQ(yX!d(yX~PNnO]'pO!V'qO!X'nO!g'nO%Z'nO%['nO%]'nO%^'nO%_'rO%`'rO%a'nO(}'oO)p'nO*O'sO~O]jXejXmhXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX!TjX!hjX)`jX)pjX[jX~O!ljX({jX)_jX!XjX!YjX![jX!^jX!_jX!ajX!bjX!ejX!fjX(zjX(|jX(}jX)ZjX)^jX!gjX!WjXQjX!djX!UjX#vjX#TjX#VjX#pjXbjX|jX!ojX#ajX#bjX#ijX#tjX${jX%cjX%ejX%kjX%ljX%ojX&mjX)VjX~P#&XO)O*`O~Om*aO~O])SXe)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)_)SX!T)SX!X)SX!Y)SX![)SX!^)SX!_)SX!a)SX!b)SX!e)SX!f)SX!h)SX(z)SX(|)SX(})SX)Z)SX)^)SX)`)SX!g)SX)p)SX[)SX!W)SXQ)SX!d)SX({)SX!U)SX#v)SX~Om*aO~P#+aOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO])gae)gam)ga!V)ga!{)ga%v)ga(w)ga)Y)ga)[)ga)])gaQ)ga!d)ga!h)ga)`)ga)p)ga[)ga!T)ga({)ga)_)ga~O&r#WO&s$yO~P#/POq&hOm)SX~P#+aO&r)ga~P#/PO]ZXmhXqZXqjX!TjX!VZX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX(zZX(|ZX(}ZX)YZX)ZZX)[ZX)]ZX)^ZX)_ZX)`ZX)pZX[ZX~O!WZX({ZX!UZXQZX!dZX~P#1xO]$PO!V#nO!X#}O(|#mO(}#mO~O!Y&xa![&xa!^&xa!_&xa!a&xa!b&xa!e&xa!f&xa!g&xa!h&xa(z&xa)Y&xa)Z&xa)[&xa)]&xa)^&xa)_&xa)`&xa)p&xa[&xa!W&xa({&xa!U&xaQ&xa!d&xa~P#4YOm;oO!T$YO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~PKnOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!|%TO~PKnO]&eO!V&dO[#Qa!T#Qa!h#Qa#v#Qa)_#Qa)p#QaQ#Qa!d#Qa({#Qa~Oq&hO!T$YO~O[*hO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[*hO~O[*jO]&eO!V&dO~O]&[Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V&YO&r#WO&s$yO)Y&XO)[&]O)]&]O~O[rXQrX!drX!hrX)`rX)_rX~P#:ZO[*mO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h*nO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!W)qX~P#4YO!W*pO!h*qO~O!W*pO!h*qO~P!(}O!W*pO~Oq&hO!g$[O!h*rO)p$[O](yX!V(yX!W(yX!W*UX!X(yX!Y(yX^(yX)`(yX~O!h(yX~P#=iO!W*tO~Oe$TO%Y*YO)O:yO~Om;rO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!|%TO~PBXO]*{O!T*vO!V&dO!h*yO#v!eO)p*wO)_)wX~O!h*yO)_)wX~O)_*|O~Oq&hO])kX!T)kX!V)kX!h)kX#v)kX)_)kX)p)kX[)kXQ)kX!d)kX({)kX~Oq&hO~OP%qO(uQO]%ha!V%ha!X%ha!Y%ha![%ha!^%ha!_%ha!a%ha!b%ha!e%ha!f%ha!h%ha(w%ha(z%ha(|%ha(}%ha)Y%ha)Z%ha)[%ha)]%ha)^%ha)_%ha)`%ha!g%ha)p%ha[%ha!W%ha({%ha!U%haQ%ha!d%ha~Oe$TO%Y$UO)O:vO~Om;OO~O!TxO#v!eO)p&OO~Om<cO&r#WO(w;nO~O$Z+YO%`+ZO~O!TxO#v!eO)_+[O)p+]O~OPmO]$gOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO$Z+YO%_#ZO%`+_O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O!U+`O~P!QOb!TOm$qOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#a+fO#b+gO#i+hO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO)VYO~OQ)rP!d)rP~P#GuO]&[Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V&YO)Y&XO)[&]O)]&]O~O[#kX!T#kX#v#kX)_#kX)p#kXQ#kX!d#kX!h#kX)`#kX!x#kX({#kX~P#IyOPmO]$gOb%SOm;ROs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V$hO!W+nO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y+oO)]$mO)`!ZO)bXO)ncO)odO~O]&eO!V+pO~O]&[O!V&YO)VYO)Y&XO)[&]O)]&]O)`+sO[)jP~P8}O]&[O!V&YO)Y&XO)[&]O)]&]O~O[#nX!T#nX#v#nX)_#nX)p#nXQ#nX!d#nX!h#nX)`#nX!x#nX({#nX~P#NsO!TxO])tX!V)tX~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O#T+{O#p+|O(}+yO)[+wO)]+wO~O]#jX!T#jX!V#jX[#jX#v#jX)_#jX)p#jXQ#jX!d#jX!h#jX)`#jX!x#jX({#jX~P$!WO#V,OO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!l,PO#T+{O#V,OO#p+|O(}+yO)[,PO)],PO])lP!T)lP!V)lP#v)lP({)lP)p)lP[)lP!h)lP)_)lP~O!x)lPQ)lP!d)lP~P$$TOPmO]$gOb%SOm;ROs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)]$mO)`!ZO)bXO)ncO)odO~O!W,VO)Y,WO~P$&OO)VYO)`+sO[)jP~P8}O]&eO!V&dO[&Za!T&Za!h&Za#v&Za)_&Za)p&ZaQ&Za!d&Za({&Za~OPmO]$gOb!]Om;TOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;YO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~OQ)PP!d)PP~P$)hO]$PO!V#nO(|#mO(}#mO!X'Pa!Y'Pa!['Pa!^'Pa!_'Pa!a'Pa!b'Pa!e'Pa!f'Pa!h'Pa(z'Pa)Y'Pa)Z'Pa)['Pa)]'Pa)^'Pa)_'Pa)`'Pa!g'Pa)p'Pa['Pa!W'Pa({'Pa!U'PaQ'Pa!d'Pa~O]$PO!V#nO!X#}O(|#mO(}#mO~P!BmO!TxO#t!fO)VYO~P8}O!TxO(w%pO)p,aO~O#x,fO~OQ)gX!d)gX!h)gX)`)gX)p)gX[)gX!T)gX({)gX)_)gX~P:qO({,jO(|,hO)V$UX)_$UX~O(w,kO~O)VYO)_,nO~OPmO]$gOb!]Om;SOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!V$hO!X!XO!Y!WO!i!YO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~O(w;ZO~P$0yOPmO]$gOb%SOm;RO!TxO!V$hO!X!XO!Y!WO!i!YO#V#QO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w:tO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~O$h,xO~OPmO]$gOb!]Om;SOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!V$hO!X!XO!Y!WO!i!YO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#V#QO#a#VO#b#TO$}!uO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O${-OO(w;UO)_,|O~P$7dO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-QO)`$OO~P#4YO)_-QO~O)_-RO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-SO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-TO)`$OO~P#4YOq&hO)VYO)p-VO~O)_-WO~Om;eO(w;WO~O]-_O!{!dO&r#WO&s$yO(w-ZO)Y-[O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO({-bO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!TxO$`!iO$e!jO$g!kO$h!lO$k-gO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO$}!uO(w:uOe$Xa!o$Xa!{$Xa#i$Xa#p$Xa#t$Xa#v$Xa$R$Xa$T$Xa$Y$Xa$Z$Xa${$Xa%U$Xa%c$Xa%g$Xa%o$Xa%|$Xa(l$Xa)[$Xa!U$Xa$c$Xa~P$0yO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-hO)`$OO~P#4YOm-jO!TxO)p,aO~O)p-lO~O]&]a!X&]a!Y&]a![&]a!^&]a!_&]a!a&]a!b&]a!e&]a!f&]a!h&]a(z&]a(|&]a(}&]a)Z&]a)[&]a)]&]a)^&]a)_&]a)`&]a!g&]a)p&]a[&]a!W&]a!T&]a#v&]a({&]a!U&]aQ&]a!d&]a~O)Y-pO!V&]a~P$DpO[-pO~O!W-pO~O!V-qO)Y&]a~P$DpO])SXe)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX~Om;tO~P$G`O]&eO!V&dO)_-rO~Om;jO!o-uO#V,OO#i-zO#t!fO${-OO%c!zO%k-yO%o!|O%v!}O(w;[O)VYO~P!8mO!n.OO(w,kO~O)VYO)_.QO~OPmO]$gOb%SOm;RO!T.VO!V$hO!X!XO!Y!WO!i!YO#V.^O#a.]O%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO(}.UO)Y$mO)]$mO)_.SO)`!ZO)bXO)ncO)odO~O!U.[O~P$JpO])dXe)dXs)dXt)dXu)dXv)dXw)dXx)dXy)dXz)dX!O)dX!T)dX!V)dX!l)dX!r)dX!s)dX!t)dX!u)dX!v)dX!x)dX!{)dX%v)dX&r)dX&s)dX(w)dX({)dX)Y)dX)[)dX)])dX)_)dX[)dX!h)dX)`)dX!X)dX!Y)dX![)dX!^)dX!_)dX!a)dX!b)dX!e)dX!f)dX(z)dX(|)dX(})dX)Z)dX)^)dX!g)dX)p)dX!W)dXQ)dX!d)dX#T)dX#V)dX#p)dX#v)dXb)dX|)dX!o)dX#a)dX#b)dX#i)dX#t)dX${)dX%c)dX%e)dX%k)dX%l)dX%o)dX&m)dX)V)dX!U)dX~Om*aO~P$LzOm$qO!T(SO!l.cO(w$pO({(RO)VYO~Oq&hOm)dX~P$LzOm$qO!n.hO!o.hO(w$pO)VYO~Om;kO!U.sO!n.uO!o.tO#i-zO${!tO$}!uO%g!{O%k-yO%o!|O%v!}O(w;^O)VYO~P!8mO!T(SO!l.cO({(RO])TXe)TXm)TXs)TXt)TXu)TXv)TXw)TXx)TXy)TXz)TX!O)TX!V)TX!r)TX!s)TX!t)TX!u)TX!v)TX!x)TX!{)TX%v)TX&r)TX&s)TX(w)TX)Y)TX)[)TX)])TX~O)_)TX[)TX!X)TX!Y)TX![)TX!^)TX!_)TX!a)TX!b)TX!e)TX!f)TX!h)TX(z)TX(|)TX(})TX)Z)TX)^)TX)`)TX!g)TX)p)TX!W)TXQ)TX!d)TX!U)TX#v)TX~P%%sO!T(SO~O!T(SO({(RO~O(w%pO!U*WP~O!T(]O({.zO]&kae&kam&kas&kat&kau&kav&kaw&kax&kay&kaz&ka!O&ka!V&ka!r&ka!s&ka!t&ka!u&ka!v&ka!x&ka!{&ka%v&ka&r&ka&s&ka(w&ka)Y&ka)[&ka)]&ka)_&ka[&ka!X&ka!Y&ka![&ka!^&ka!_&ka!a&ka!b&ka!e&ka!f&ka!h&ka(z&ka(|&ka(}&ka)Z&ka)^&ka)`&ka!g&ka)p&ka!W&kaQ&ka!d&ka!U&ka#v&ka~Om$qO!T(]O(w$pO~O&r#WO&s$yO]&pae&pam&pas&pat&pau&pav&paw&pax&pay&paz&pa!O&pa!V&pa!r&pa!s&pa!t&pa!u&pa!v&pa!x&pa!{&pa%v&pa(w&pa)Y&pa)[&pa)]&pa)_&pa[&pa!T&pa!X&pa!Y&pa![&pa!^&pa!_&pa!a&pa!b&pa!e&pa!f&pa!h&pa(z&pa(|&pa(}&pa)Z&pa)^&pa)`&pa!g&pa)p&pa!W&paQ&pa!d&pa({&pa!U&pa#v&pa~O&s/PO~P!(}O!Y#sO![#tO!f#|O)Y#oO!^'Ua!_'Ua!a'Ua!b'Ua!e'Ua!h'Ua(z'Ua)Z'Ua)['Ua)]'Ua)^'Ua)_'Ua)`'Ua!g'Ua)p'Ua['Ua!W'Ua({'Ua!U'UaQ'Ua!d'Ua~P#4YO!V'dX!X'dX!Y'dX!['dX!^'dX!_'dX!a'dX!b'dX!e'dX!f'dX!h'dX(z'dX(|'dX(}'dX)Y'dX)Z'dX)['dX)]'dX)^'dX)`'dX['dX~O]/RO)_'dX!g'dX)p'dX!W'dX({'dX!U'dXQ'dX!d'dX~P%3WO!Y#sO![#tO!f#|O)Y#oO!^'Wa!_'Wa!a'Wa!b'Wa!e'Wa!h'Wa(z'Wa)Z'Wa)['Wa)]'Wa)^'Wa)_'Wa)`'Wa!g'Wa)p'Wa['Wa!W'Wa({'Wa!U'WaQ'Wa!d'Wa~P#4YO]$PO!T$YO!V/SO&r#WO&s$yO~O!X'Za!Y'Za!['Za!^'Za!_'Za!a'Za!b'Za!e'Za!f'Za!h'Za(z'Za(|'Za(}'Za)Y'Za)Z'Za)['Za)]'Za)^'Za)_'Za)`'Za!g'Za)p'Za['Za!W'Za({'Za!U'ZaQ'Za!d'Za~P%6}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^a)_'^a!g'^a)p'^a['^a!W'^a({'^a!U'^aQ'^a!d'^a~P#4YOPmO]$gOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]%_O)`!ZO)bXO)ncO)odO)p%^O~O!W/VO~P%:}O(q(lO(r(lO(s/XO~OS(vO]$PO(p#]O*^(uO~O]/[O'f/]O*^/YO~OS/aO(p#]O*^/`O~O]$PO~Q'na!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO({/cO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO)_#Zi[#Zi~P#4YO]dXmhXqdXqjX!VdX!XdX!YdX![dX!^dX!_dX!adX!bdX!edX!fdX!gdX!hdX(zdX(|dX(}dX)YdX)ZdX)[dX)]dX)^dX)_dX)`dX)pdX[dX!WdX({dX!TdX#vdX!UdXQdX!ddX~Oe/eO%Y*YO)O/dO~Om/fO~Om/gO~Oq&hO]ci!Vci!Xci!Yci![ci!^ci!_ci!aci!bci!eci!fci!gci!hci(zci(|ci(}ci)Yci)Zci)[ci)]ci)^ci)_ci)`ci)pci[ci!Wci({ci!UciQci!dci~O!W/iO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO![#tO)Y#oO!Y&zi!^&zi!_&zi!a&zi!b&zi!e&zi!f&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y&zi![&zi!^&zi!_&zi!a&zi!b&zi!e&zi!f&zi!h&zi(z&zi)Y&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)]#rO)^#jO!h&zi(z&zi)Z&zi)[&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)[#pO)]#rO)^#jO!h&zi(z&zi)Z&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)]#rO)^#jO!^&zi!h&zi(z&zi)Z&zi)[&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!a#zO!b#{O!e#{O!f#|O)Y#oO)]#rO)^#jO!^&zi!_&zi!h&zi(z&zi)Z&zi)[&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!a#zO!b#{O!e#{O!f#|O)Y#oO)^#jO!^&zi!_&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!b#{O!e#{O!f#|O)Y#oO)^#jO!^&zi!_&zi!a&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!f#|O)Y#oO!^&zi!_&zi!a&zi!b&zi!e&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO)Y#oO!^&zi!_&zi!a&zi!b&zi!e&zi!f&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)Z#qO)[#pO)]#rO)^#jO!h&zi(z&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h/jO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO[(xX~P#4YO!h/jO[(xX~O[/lO~O]%Xaq%Xa!X%Xa!Y%Xa![%Xa!^%Xa!_%Xa!a%Xa!b%Xa!e%Xa!f%Xa!h%Xa(z%Xa(|%Xa(}%Xa)Z%Xa)[%Xa)]%Xa)^%Xa)_%Xa)`%Xa!g%Xa)p%Xa[%Xa!W%Xa!T%Xa#v%Xa({%Xa!U%XaQ%Xa!d%Xa~O)Y/mO!V%Xa~P&,zO[/mO~O!W/mO~O!V/nO)Y%Xa~P&,zO!X'Zi!Y'Zi!['Zi!^'Zi!_'Zi!a'Zi!b'Zi!e'Zi!f'Zi!h'Zi(z'Zi(|'Zi(}'Zi)Y'Zi)Z'Zi)['Zi)]'Zi)^'Zi)_'Zi)`'Zi!g'Zi)p'Zi['Zi!W'Zi({'Zi!U'ZiQ'Zi!d'Zi~P%6}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^i)_'^i!g'^i)p'^i['^i!W'^i({'^i!U'^iQ'^i!d'^i~P#4YO!W/sO~P%:}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h/uO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U)xX~P#4YO(w/xO~O!V/zO(|)xO)p/|O~O!h/uO!U)xX~O!U/}O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h`i(z`i)_`i!g`i)p`i[`i!W`i({`i!U`iQ`i!d`i~P#4YO!R0OO~Om*QO]!Qa!h!Qa)U!Qa)`!Qa~OP0WO]0VOm0WO!R0WO!T0TO!V0UO!X0WO!Y0WO![0WO!^0WO!_0WO!a0WO!b0WO!e0WO!f0WO!g0WO!h0WO!i0WO(uQO({0WO(|0WO(}0WO)Y0QO)Z0RO)[0RO)]0SO)^#jO)_0WO)`0WO)bXO~O[0ZO~P&7dO!R$^O~O!h*TO)U)Wa)`)Wa~O)U0_O~O])iO!V)jO!X)gO!g)gO%Z)gO%[)gO%])gO%^)gO%_)kO%`)kO%a)gO(})hO)p)gO*O)lO~Oe)tO%Y*YO)O$QO~O)_0aO~O]oXeoXmnXqoXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!VoX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX)YoX)[oX)]oX!ToX!hoX)`oX[oXQoX!doX~O!loX({oX)_oX!XoX!YoX![oX!^oX!_oX!aoX!boX!eoX!foX(zoX(|oX(}oX)ZoX)^oX!goX)poX!WoX!UoX#voX#ToX#VoX#poXboX|oX!ooX#aoX#boX#ioX#toX${oX%coX%eoX%koX%loX%ooX&moX)VoX~P&;`Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO~O])gie)gim)gi!V)gi!{)gi%v)gi(w)gi)Y)gi)[)gi)])giQ)gi!d)gi!h)gi)`)gi)p)gi[)gi!T)gi&r)gi({)gi)_)gi~P&@^O]&eO!V&dO[#Qi!T#Qi!h#Qi#v#Qi)_#Qi)p#QiQ#Qi!d#Qi({#Qi~O[raQra!dra!hra)`ra)_ra~P#:ZO[raQra!dra!hra)`ra)_ra~P#IyO]&eO!V+pO[raQra!dra!hra)`ra)_ra~O!h*nO!W)qa~O!h*rO!W*Ua~OPmOb!]Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!X!XO!Y!WO!i!YO!s!aO!t!aO!v!aO!x!cO#V#QO#a#VO#b#TO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%e#UO%l#SO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)_iO)`!ZO)bXO)ncO)odO~O]eOe!POmTO!T*vO!U&VO!V0oO!opO!r!`O!u!bO!{!dO#i#OO#p!xO#t!fO$R!gO$T!hO${!tO$}!uO%U!yO%c!zO%g!{O%o!|O%v!}O%|#PO(wRO(|)xO)YaO)[|O)]{O~P&E`O!h*yO)_)wa~OPmO]$gOb!]Om;TO|#RO!T$YO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;]O)VYO)Y$mO)]$mO)`0uO)bXO)ncO)odO[(xP[)jP~P&@^O!h*rO!W*UX~O]$PO!T$YO~O!h0zO!T*QX#v*QX)p*QX~O)_0|O~O)_0}O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_1PO)`$OO~P#4YO)_0}O~P!?ZO]1ZOe!POm%dO!V1XO!{!dO%v$oO(w$zO)Y1RO)`1UO~O)[1VO)]1VO)p1SOQ#PX!d#PX!h#PX[#PX~P' }O!h1[OQ)rX!d)rX~OQ1^O!d1^O~O)`1aO)p1`OQ#`X!d#`X!h#`X~P!<_O)`1aO)p1`OQ#`X!d#`X!h#`X~P!;eOq&WO~O[#ka!T#ka#v#ka)_#ka)p#kaQ#ka!d#ka!h#ka)`#ka!x#ka({#ka~P#IyO]&eO!V+pO[#ka!T#ka#v#ka)_#ka)p#kaQ#ka!d#ka!h#ka)`#ka!x#ka({#ka~O!W1fO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W1fO)Y1hO~P$&OO!W1fO~P!(}O]#ja!T#ja!V#ja[#ja#v#ja)_#ja)p#jaQ#ja!d#ja!h#ja)`#ja!x#ja({#ja~P$!WO[1lO]&eO!V+pO~O!h1mO[)jX~O[1oO~O]&eO!V+pO[#na!T#na#v#na)_#na)p#naQ#na!d#na!h#na)`#na!x#na({#na~O]1sOs#SXt#SXu#SXv#SXw#SXx#SXy#SXz#SX!T#SX!V#SX#T#SX#p#SX(}#SX)[#SX)]#SX!l#SX!x#SX#V#SX#v#SX({#SX)p#SX[#SX!h#SX)_#SXQ#SX!d#SX)`#SX~O]1tO~O]1wOm$qO!V$hO#V#QO(w$pO)ncO)odO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!l,PO#T+{O#V,OO#p+|O(}+yO)[,PO)],PO~O])lX!T)lX!V)lX!x)lX#v)lX({)lX)p)lX[)lX!h)lX)_)lXQ)lX!d)lX~P',hO!x!cO]#Ri!T#Ri!V#Ri#v#Ri({#Ri)p#Ri[#Ri!h#Ri)_#RiQ#Ri!d#Ri~O!W2PO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W2PO)Y2RO~P$&OO!W2PO~P!(}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ*XX!d*XX!h*XX~P#4YO)`2SOQ)QX!d)QX!h)QX~O!h2TOQ)PX!d)PX~OQ2VO!d2VO~O[2WO~O#t$nO)VYO~P8}Om-jO!TxO)p2[O~O[2]O~O#x,fOP#ui]#uib#uie#uim#uis#uit#uiu#uiv#uiw#uix#uiy#uiz#ui|#ui!O#ui!T#ui!V#ui!X#ui!Y#ui!i#ui!o#ui!r#ui!s#ui!t#ui!u#ui!v#ui!x#ui!{#ui#V#ui#a#ui#b#ui#i#ui#p#ui#t#ui#v#ui$R#ui$T#ui$Y#ui$Z#ui$`#ui$e#ui$g#ui$h#ui$k#ui$m#ui$o#ui$q#ui$s#ui$u#ui$w#ui${#ui$}#ui%U#ui%_#ui%`#ui%a#ui%c#ui%e#ui%g#ui%l#ui%o#ui%v#ui%|#ui&m#ui&r#ui&s#ui'Q#ui'R#ui'V#ui'Y#ui'a#ui'b#ui(l#ui(u#ui(w#ui)V#ui)Y#ui)[#ui)]#ui)_#ui)`#ui)b#ui)n#ui)o#ui!U#ui$c#ui!n#ui%k#ui~O]&eO~O]&eO!TxO!V&dO#v!eO~O({2bO(|,hO)V$Ua)_$Ua~O)VYO)_2dO~O[2eO~P,`O[2eO)_#lO~O[2eO~O$c2jOP$_i]$_ib$_ie$_im$_is$_it$_iu$_iv$_iw$_ix$_iy$_iz$_i|$_i!O$_i!T$_i!V$_i!X$_i!Y$_i!i$_i!o$_i!r$_i!s$_i!t$_i!u$_i!v$_i!x$_i!{$_i#V$_i#a$_i#b$_i#i$_i#p$_i#t$_i#v$_i$R$_i$T$_i$Y$_i$Z$_i$`$_i$e$_i$g$_i$h$_i$k$_i$m$_i$o$_i$q$_i$s$_i$u$_i$w$_i${$_i$}$_i%U$_i%_$_i%`$_i%a$_i%c$_i%e$_i%g$_i%l$_i%o$_i%v$_i%|$_i&m$_i&r$_i&s$_i'Q$_i'R$_i'V$_i'Y$_i'a$_i'b$_i(l$_i(u$_i(w$_i)V$_i)Y$_i)[$_i)]$_i)_$_i)`$_i)b$_i)n$_i)o$_i!U$_i~O]1wO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_2mO)`$OO~P#4YOPmO]$gOb!]Om;SO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)Y$mO)]$mO)_2pO)`!ZO)bXO)ncO)odO~P&@^O)_2mO~O(w-ZO~O)VYO)p2sO~O)_2uO~O]-_Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!{!dO!|%TO(w-ZO)Y-[O~O)Y2zO~O]&eO!V2|O!h2}O)_){X~O]-_O!{!dO(w-ZO)Y-[O~O)_3QO~O!TxO$`!iO$e!jO$g!kO$h!lO$k-gO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO$}!uO(w:uOe$Xi!o$Xi!{$Xi#i$Xi#p$Xi#t$Xi#v$Xi$R$Xi$T$Xi$Y$Xi$Z$Xi${$Xi%U$Xi%c$Xi%g$Xi%o$Xi%|$Xi(l$Xi)[$Xi!U$Xi$c$Xi~P$0yOm;SO(w:uO~P0}O]3UO~O)_2ZO~O!u3WO(w%pO~O[3ZO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h3[O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[3]O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO]&eO!V+pO!T%ui#v%ui)_%ui)p%ui~O!W3^O~Om;QO)_)SX~P$G`Ob!TOm$qO|3dO#a#VO#b3cO#t!fO%e#UO%l3eO&m!RO&r#WO&s!TO(w$pO)VYO~P&@^Om;jO!o-uO#i-zO#t!fO${-OO%c!zO%k-yO%o!|O%v!}O(w;[O)VYO~P!8mO]&eO!V&dO)_3gO~O)_3hO~O)VYO)_3hO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_3iO)`$OO~P#4YO)_3iO~O)_3lO~O!U3nO~P$JpOm$qO(w$pO~O]3pO!T'{O~P',SO!T(SO!l3sO({(RO])Tae)Tam)Tas)Tat)Tau)Tav)Taw)Tax)Tay)Taz)Ta!O)Ta!V)Ta!r)Ta!s)Ta!t)Ta!u)Ta!v)Ta!x)Ta!{)Ta%v)Ta&r)Ta&s)Ta(w)Ta)Y)Ta)[)Ta)])Ta)_)Ta[)Ta!X)Ta!Y)Ta![)Ta!^)Ta!_)Ta!a)Ta!b)Ta!e)Ta!f)Ta!h)Ta(z)Ta(|)Ta(})Ta)Z)Ta)^)Ta)`)Ta!g)Ta)p)Ta!W)TaQ)Ta!d)Ta!U)Ta#v)Ta~Om$qO!n.hO!o.hO(w$pO~O!h3wO)`3yO!T)eX~O!o3{O)VYO~P8}O)_3|O~PGYO]4ROm)QO!T$YO!{!dO%v$oO&r#WO(w)PO({4VO)Y4OO)[4SO)]4SO~O)_4WO)p4YO~P('OOm;kO!U4[O!n.uO!o.tO#i-zO${!tO$}!uO%g!{O%k-yO%o!|O%v!}O(w;^O)VYO~P!8mOm;kO%v!}O(w;^O~P!8mO({4]O~Om$qO!T(SO(w$pO({(RO)VYO~O!l3sO~P()^O)p4_O!U&oX!h&oX~O!h4`O!U*WX~O!U4bO~Ob4dOm$qO&m!RO(w$pO~O!T(]O]&kie&kim&kis&kit&kiu&kiv&kiw&kix&kiy&kiz&ki!O&ki!V&ki!r&ki!s&ki!t&ki!u&ki!v&ki!x&ki!{&ki%v&ki&r&ki&s&ki(w&ki)Y&ki)[&ki)]&ki)_&ki[&ki!X&ki!Y&ki![&ki!^&ki!_&ki!a&ki!b&ki!e&ki!f&ki!h&ki(z&ki(|&ki(}&ki)Z&ki)^&ki)`&ki!g&ki)p&ki!W&kiQ&ki!d&ki!U&ki#v&ki~O({&ki~P(*nO({.zO~P(*nO[4gO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[4gO~O[4hO~O]$PO!T$YO!V'Zi!X'Zi!Y'Zi!['Zi!^'Zi!_'Zi!a'Zi!b'Zi!e'Zi!f'Zi!h'Zi(z'Zi(|'Zi(}'Zi)Y'Zi)Z'Zi)['Zi)]'Zi)^'Zi)_'Zi)`'Zi!g'Zi)p'Zi['Zi!W'Zi({'Zi!U'ZiQ'Zi!d'Zi~OPmOb%SOm;RO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)`!ZO)bXO)ncO)odO]#]aq#]a!T#]a!V#]a)Y#]a)[#]a)]#]a~O(w%pO)`4mO[*`P~O*^4lO~O'f4oO*^4lO~O*^4pO~OmnXqoXq&wX~Oe4rO%Y*YO)O/dO~Oe4rO%Y*YO)O4sO~O!h/jO[(xa~O!W4wO~O]&eO!V+pO!T%uq#v%uq)_%uq)p%uq~O]$PO!T$YO!X'Zq!Y'Zq!['Zq!^'Zq!_'Zq!a'Zq!b'Zq!e'Zq!f'Zq!h'Zq(z'Zq(|'Zq(}'Zq)Y'Zq)Z'Zq)['Zq)]'Zq)^'Zq)_'Zq)`'Zq!g'Zq)p'Zq['Zq!W'Zq({'Zq!U'ZqQ'Zq!d'Zq~O!V'Zq~P(5{O!V/SO&r#WO&s$yO~P(5{O!T$YO!V)wO(|)xO!U(VX!h(VX~P!KVO!h/uO!U)xa~O!W5PO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h*nO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!U5TO~P&7dO!W5TO~P&7dO[5TO~P&7dO[5YO~P&7dO]5ZO!h'va)U'va)`'va~O!h*TO)U)Wi)`)Wi~O]&eO!V&dO[#Qq!T#Qq!h#Qq#v#Qq)_#Qq)p#QqQ#Qq!d#Qq({#Qq~O[riQri!dri!hri)`ri)_ri~P#IyO]&eO!V+pO[riQri!dri!hri)`ri)_ri~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'Tq)_'Tq!g'Tq)p'Tq['Tq!W'Tq({'Tq!U'TqQ'Tq!d'Tq~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!W'}a!h'}a~P#4YO!W5`O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h5aO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_#lO)`$OO!U)xX~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h#{i)_#{i~P#4YO]*{O!T$YO!V&dO)p*wO!h(Wa)_(Wa~O!h1mO[)jX]'dX~P%3WO)`5cO!T%qa!h%qa#v%qa)p%qa~O!h0zO!T*Qa#v*Qa)p*Qa~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_5fO)`$OO~P#4YO]1ZOe!POm;cO!V1XO!{!dO%v$oO(w$zO)Y<PO)[5hO)]5hO~OQ#Pa!d#Pa!h#Pa[#Pa~P(ETO]1ZOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V1XO!{!dO!|%TO%v$oO(w$zOQ#kX!d#kX!h#kX[#kX~Om%dO)Y1RO)[<QO)]<QO~P(FVO]&eOQ#Pa!d#Pa!h#Pa[#Pa~O!V&dO)p5lO~P(GtO(w%pOQ#dX!d#dX!h#dX[#dX~O)[<QO)]<QOQ#nX!d#nX!h#nX[#nX~P' }O!V+pO~P(GtO]1ZOb!TOe!POm;dO|#RO!V1XO!{!dO#a#VO#b#TO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO(w;XO)VYO)Y<PO)[5hO)]5hO)`+sO[)jP~P&@^O!h1[OQ)ra!d)ra~Oq&hO)p5qOQ#`am)SX!d#`a!h#`a)`)SX~P$G`O(w-ZOQ#ga!d#ga!h#ga~Oq&hO)p5qOQ#`a])dXe)dXm)dXs)dXt)dXu)dXv)dXw)dXx)dXy)dXz)dX!O)dX!T)dX!V)dX!d#`a!h#`a!l)dX!r)dX!s)dX!t)dX!u)dX!v)dX!x)dX!{)dX%v)dX&r)dX&s)dX(w)dX({)dX)Y)dX)[)dX)])dX)`)dX~O#a5tO#b5tO~O]&eO!V+pO[#ki!T#ki#v#ki)_#ki)p#kiQ#ki!d#ki!h#ki)`#ki!x#ki({#ki~O!W5vO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W5vO~P!(}O!W5vO)Y5xO~P$&OO]#ji!T#ji!V#ji[#ji#v#ji)_#ji)p#jiQ#ji!d#ji!h#ji)`#ji!x#ji({#ji~P$!WO)VYO)`5zO~P8}O!h1mO[)ja~O&r#WO&s$yO!T#qa!x#qa#v#qa({#qa)p#qa[#qa!h#qa)_#qaQ#qa!d#qa)`#qa~P#NsO[6PO~P!(}O[)uP~P!4{O)Z6VO)[6TO]#Ua!T#Ua!V#Ua)Y#Ua)]#Uas#Uat#Uau#Uav#Uaw#Uax#Uay#Uaz#Ua!l#Ua!x#Ua#T#Ua#V#Ua#p#Ua#v#Ua({#Ua(}#Ua)p#Uab#Uae#Uam#Ua|#Ua!O#Ua!o#Ua!r#Ua!s#Ua!t#Ua!u#Ua!v#Ua!{#Ua#a#Ua#b#Ua#i#Ua#t#Ua${#Ua%c#Ua%e#Ua%k#Ua%l#Ua%o#Ua%v#Ua&m#Ua&r#Ua&s#Ua(w#Ua)V#Ua)_#Ua[#Ua!h#UaQ#Ua!d#Ua~O!x!cO]#Rq!T#Rq!V#Rq#v#Rq({#Rq)p#Rq[#Rq!h#Rq)_#RqQ#Rq!d#Rq~O!W6[O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W6[O~P!(}O!h2TOQ)Pa!d)Pa~O)_6aO~Om-jO!TxO)p6bO~O]*{O!T$YO!V&dO!h*yO)_)wX~O)p6fO~P)+|O[6hO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[6hO~O$c6jOP$_q]$_qb$_qe$_qm$_qs$_qt$_qu$_qv$_qw$_qx$_qy$_qz$_q|$_q!O$_q!T$_q!V$_q!X$_q!Y$_q!i$_q!o$_q!r$_q!s$_q!t$_q!u$_q!v$_q!x$_q!{$_q#V$_q#a$_q#b$_q#i$_q#p$_q#t$_q#v$_q$R$_q$T$_q$Y$_q$Z$_q$`$_q$e$_q$g$_q$h$_q$k$_q$m$_q$o$_q$q$_q$s$_q$u$_q$w$_q${$_q$}$_q%U$_q%_$_q%`$_q%a$_q%c$_q%e$_q%g$_q%l$_q%o$_q%v$_q%|$_q&m$_q&r$_q&s$_q'Q$_q'R$_q'V$_q'Y$_q'a$_q'b$_q(l$_q(u$_q(w$_q)V$_q)Y$_q)[$_q)]$_q)_$_q)`$_q)b$_q)n$_q)o$_q!U$_q~O)_6kO~OPmO]$gOb!]Om;SO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)Y$mO)]$mO)_6mO)`!ZO)bXO)ncO)odO~P&@^O({6oO)p*wO~P)+|O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_6mO)`$OO~P#4YO[6qO~P!(}O)_6uO~O)_6vO~O]-_Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!{!dO(w-ZO)Y-[O~O]&eO!V2|O!h%Oa)_%Oa[%Oa~O!W6|O)Y6}O~P$&OO!h2}O)_){a~O[7QO]&eO!V2|O~O!TxO$`!iO$e!jO$g!kO$h!lO$k-gO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO$}!uO(w:uOe$Xq!o$Xq!{$Xq#i$Xq#p$Xq#t$Xq#v$Xq$R$Xq$T$Xq$Y$Xq$Z$Xq${$Xq%U$Xq%c$Xq%g$Xq%o$Xq%|$Xq(l$Xq)[$Xq!U$Xq$c$Xq~P$0yOPmO]$gOb!]Om;SO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)VYO)Y$mO)]$mO)_7SO)`!ZO)bXO)ncO)odO~P&@^O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_7VO)`$OO~P#4YO)_7WO~OP7XO(uQO~Om*aO)_)dX~P$G`Oq&hOm)SX)_)dX~P$G`O)_7ZO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO)_&Sa~P#4YO!U7]O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO)_7^O~OPmO]$gOb!]Om;TO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;]O)VYO)Y$mO)]$mO)`0uO)bXO)ncO)odO[)jP~P&@^O!h3wO)`7bO!T)ea~O!h3wO!T)ea~O)_7gO)p7iO~P('OO)_7kO~PGYO]4ROm)QOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!{!dO!|%TO%v$oO&r#WO(w)PO)Y4OO)[4SO)]4SO~O)Y7oO~O]&eO!T*vO!V7qO!h7rO#v!eO({4VO~O)_7gO)p7tO~P)GbO]4ROm)QO!{!dO%v$oO&r#WO(w)PO)Y4OO)[4SO)]4SO~Oq&hO])iX!T)iX!V)iX!h)iX#v)iX({)iX)_)iX)p)iX[)iX~O)_7gO~O!T(SO!l7zO({(RO])Tie)Tim)Tis)Tit)Tiu)Tiv)Tiw)Tix)Tiy)Tiz)Ti!O)Ti!V)Ti!r)Ti!s)Ti!t)Ti!u)Ti!v)Ti!x)Ti!{)Ti%v)Ti&r)Ti&s)Ti(w)Ti)Y)Ti)[)Ti)])Ti)_)Ti[)Ti!X)Ti!Y)Ti![)Ti!^)Ti!_)Ti!a)Ti!b)Ti!e)Ti!f)Ti!h)Ti(z)Ti(|)Ti(})Ti)Z)Ti)^)Ti)`)Ti!g)Ti)p)Ti!W)TiQ)Ti!d)Ti!U)Ti#v)Ti~O(w%pO!U(gX!h(gX~O!h4`O!U*Wa~Oq&hO]*Vae*Vam*Vas*Vat*Vau*Vav*Vaw*Vax*Vay*Vaz*Va!O*Va!T*Va!V*Va!r*Va!s*Va!t*Va!u*Va!v*Va!x*Va!{*Va%v*Va&r*Va&s*Va(w*Va)Y*Va)[*Va)]*Va)_*Va[*Va!X*Va!Y*Va![*Va!^*Va!_*Va!a*Va!b*Va!e*Va!f*Va!h*Va(z*Va(|*Va(}*Va)Z*Va)^*Va)`*Va!g*Va)p*Va!W*VaQ*Va!d*Va({*Va!U*Va#v*Va~O!T(]O]&kqe&kqm&kqs&kqt&kqu&kqv&kqw&kqx&kqy&kqz&kq!O&kq!V&kq!r&kq!s&kq!t&kq!u&kq!v&kq!x&kq!{&kq%v&kq&r&kq&s&kq(w&kq)Y&kq)[&kq)]&kq)_&kq[&kq!X&kq!Y&kq![&kq!^&kq!_&kq!a&kq!b&kq!e&kq!f&kq!h&kq(z&kq(|&kq(}&kq)Z&kq)^&kq)`&kq!g&kq)p&kq!W&kqQ&kq!d&kq({&kq!U&kq#v&kq~OPmOb%SOm;RO!T$YO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)bXO)ncO)odO~O]*[i!V*[i!X*[i!Y*[i![*[i!^*[i!_*[i!a*[i!b*[i!e*[i!f*[i!h*[i(z*[i(|*[i(}*[i)Y*[i)Z*[i)[*[i)]*[i)^*[i)_*[i)`*[i!g*[i)p*[i[*[i!W*[i({*[i!U*[iQ*[i!d*[i~P*&qO[8PO~O!W8QO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^q)_'^q!g'^q)p'^q['^q!W'^q({'^q!U'^qQ'^q!d'^q~P#4YO!h8RO[*`X~O[8TO~O*^8UO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h_y)__y!g_y)p_y[_y!W_y({_y!U_yQ_y!d_y~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO[(ia!h(ia~P#4YO]$PO!T$YO!V'Zy!X'Zy!Y'Zy!['Zy!^'Zy!_'Zy!a'Zy!b'Zy!e'Zy!f'Zy!h'Zy(z'Zy(|'Zy(}'Zy)Y'Zy)Z'Zy)['Zy)]'Zy)^'Zy)_'Zy)`'Zy!g'Zy)p'Zy['Zy!W'Zy({'Zy!U'ZyQ'Zy!d'Zy~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^y)_'^y!g'^y)p'^y['^y!W'^y({'^y!U'^yQ'^y!d'^y~P#4YO]&eO!V+pO!T%uy#v%uy)_%uy)p%uy~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U(Va!h(Va~P#4YO!W5PO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U#}i!h#}i~P#4YO!U8WO~P&7dO!W8WO~P&7dO[8WO~P&7dO[8YO~P&7dO]&eO!V&dO[#Qy!T#Qy!h#Qy#v#Qy)_#Qy)p#QyQ#Qy!d#Qy({#Qy~O]&eO!V+pO[rqQrq!drq!hrq)`rq)_rq~O]&eOQ#Pi!d#Pi!h#Pi[#Pi~O!V+pO~P*:TOQ#nX!d#nX!h#nX[#nX~P(ETO!V&dO~P*:TOQ(PX](PXe'rXm'rXs(PXt(PXu(PXv(PXw(PXx(PXy(PXz(PX!V(PX!d(PX!h(PX!{'rX%v'rX(w'rX)Y(PX)[(PX)](PX[(PX~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ#_i!d#_i!h#_i[#_i~P#4YO&r#WO&s$yOQ#fi!d#fi!h#fi~O(w-ZO)`1aO)p1`OQ#`X!d#`X!h#`X~O!W8_O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W8_O~P!(}O!T#qi!x#qi#v#qi({#qi)p#qi[#qi!h#qi)_#qiQ#qi!d#qi)`#qi~O]&eO!V+pO~P*@PO]&[O!V&YO&r#WO&s$yO)Y&XO)[&]O)]&]O~P*@PO[8aO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!h8bO[)uX~O[8dO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ*ZX!d*ZX!h*ZX~P#4YO)`8gOQ*YX!d*YX!h*YX~O)_8iO~O[$bi!h#{a)_#{a~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_8lO)`$OO~P#4YO[8nO~P!(}O[8nO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[8nO~O]&eO!V&dO({8tO~O)_8uO~O]&eO!V2|O!h%Oi)_%Oi[%Oi~O!W8xO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W8xO)Y8zO~P$&OO!W8xO~P!(}O]&eO!V2|O!h(Za)_(Za~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_8{O)`$OO~P#4YO)_2pO~P!(}O)_8{O~OP%qO[8|O(uQO~O[8|O~O)_8}O~P%%sO#T9QO(}.UO)_9OO~O!h3wO!T)ei~O)`9UO!T'xa!h'xa~O)_9WO)p9YO~P)GbO)_9WO~O)_9WO)p9^O~P('OOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~P)HQO]&eO!V7qO!T!ya!h!ya#v!ya({!ya)_!ya)p!ya[!ya~O!W9eO)Y9fO~P$&OO!T$YO!h7rO({4VO)_9WO)p9^O~O!T$YO~P#EtO[9iO]&eO!V7qO~O]&eO!V7qO!T&aa!h&aa#v&aa({&aa)_&aa)p&aa[&aa~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO)_&ba~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_9WO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U&oi!h&oi~P#4YO!V/SO]']i!T']i!X']i!Y']i![']i!^']i!_']i!a']i!b']i!e']i!f']i!h']i(z']i(|']i(}']i)Y']i)Z']i)[']i)]']i)^']i)_']i)`']i!g']i)p']i[']i!W']i({']i!U']iQ']i!d']i~O(w%pO)`9lO~O!h8RO[*`a~O[9nO~P&7dO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U(Va)_#Zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ#_q!d#_q!h#_q[#_q~P#4YO&r#WO&s$yOQ#fq!d#fq!h#fq~O)p5qOQ#`a!d#`a!h#`a~O]&eO!V+pO!T#qq!x#qq#v#qq({#qq)p#qq[#qq!h#qq)_#qqQ#qq!d#qq)`#qq~O!h8bO[)ua~O)[6TO]&Vi!T&Vi!V&Vi)Y&Vi)Z&Vi)]&Vis&Vit&Viu&Viv&Viw&Vix&Viy&Viz&Vi!l&Vi!x&Vi#T&Vi#V&Vi#p&Vi#v&Vi({&Vi(}&Vi)p&Vib&Vie&Vim&Vi|&Vi!O&Vi!o&Vi!r&Vi!s&Vi!t&Vi!u&Vi!v&Vi!{&Vi#a&Vi#b&Vi#i&Vi#t&Vi${&Vi%c&Vi%e&Vi%k&Vi%l&Vi%o&Vi%v&Vi&m&Vi&r&Vi&s&Vi(w&Vi)V&Vi)_&Vi[&Vi!h&ViQ&Vi!d&Vi~O)_9qO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO[$bq!h#{i)_#{i~P#4YO[9sO~P!(}O[9sO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[9sO~O]&eO!V&dO({9vO~O[9wO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[9wO~O]&eO!V2|O!h%Oq)_%Oq[%Oq~O!W9{O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W9{O~P!(}O)_6mO~P!(}O)_9|O~O)_9}O~O(}.UO)_9}O~O!h3wO!T)eq~O)`:PO!T'xi!h'xi~O!T$YO!h7rO({4VO)_:QO)p:SO~O)_:QO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:QO)`$OO~P#4YO)_:QO)p:VO~P)GbO]&eO!V7qO!T!yi!h!yi#v!yi({!yi)_!yi)p!yi[!yi~O!W:ZO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W:ZO)Y:]O~P$&OO!W:ZO~P!(}O]&eO!V7qO!T(ea!h(ea({(ea)_(ea)p(ea~O[:_O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[:_O~O[:dO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[:dO~O]&eO!V2|O!h%Oy)_%Oy[%Oy~O)_:eO~O)_:fO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:fO)`$OO~P#4YO!T$YO!h7rO({4VO)_:fO)p:iO~O]&eO!V7qO!T!yq!h!yq#v!yq({!yq)_!yq)p!yq[!yq~O!W:kO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W:kO~P!(}O[:mO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[:mO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:oO)`$OO~P#4YO)_:oO~O]&eO!V7qO!T!yy!h!yy#v!yy({!yy)_!yy)p!yy[!yy~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:sO)`$OO~P#4YO)_:sO~O]ZXmhXqZXqjX!TjX!VZX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX(zZX({$]X(|ZX(}ZX)YZX)ZZX)[ZX)]ZX)^ZX)_ZX)`ZX)pZX~O]%WXmnXqoXq%WX!ToX!V%WX!X%WX!Y%WX![%WX!^%WX!_%WX!a%WX!b%WX!e%WX!f%WX!gnX!h%WX(z%WX(|%WX(}%WX)Y%WX)Z%WX)[%WX)]%WX)^%WX)`%WX)pnX[%WXQ%WX!d%WX~O)_%WX!W%WX({%WX!U%WX~P+H]O]oX]%WXeoXmnXqoXq%WXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!VoX!V%WX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX)YoX)[oX)]oX[oX[%WX!hoX)`oX~O)_oX)poX~P+JmO]%WXmnXqoXq%WX!V%WX!h%WXQ%WX!d%WX[%WX~O!T%WX#v%WX)_%WX)p%WX({%WX~P+MWOQoXQ%WX!ToX!X%WX!Y%WX![%WX!^%WX!_%WX!a%WX!b%WX!doX!d%WX!e%WX!f%WX!gnX!h%WX(z%WX(|%WX(}%WX)Y%WX)Z%WX)[%WX)]%WX)^%WX)`%WX)pnX~P+JmO]oX]%WXmnXqoXq%WXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!V%WX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX)YoX)[oX)]oX~O!ToX({oX)_oX)poX~P,!OOeoX!VoX)_%WX~P,!OOmnXqoX)_%WX~Oe)tO%Y)uO)O:vO~Oe)tO%Y)uO)O:{O~Oe)tO%Y)uO)O:wO~Oe$TO%Y*YO'[$VO'_$WO)O:vO~Oe$TO%Y*YO'[$VO'_$WO)O:xO~Oe$TO%Y*YO'[$VO'_$WO)O:zO~O[jX]jXsjXtjXujXvjXwjXxjXyjXzjX!VjX&rjX&sjX)YjX)[jX)]jXejX!OjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX(wjX~P#1xO]ZXmhXqZXqjX!VZX!hZX)_ZX)pZX~O!TZX#vZX({ZX~P,(fOmhXqjX)VjX)_ZX)pjX~O]ZX]jXejXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VZX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX[ZX[jX!hjX)`jX)pjX~O)_ZX~P,)pO]ZX]jXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!TjX!VZX!VjX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX!hjX&rjX&sjX(zZX(|ZX(}ZX)YZX)YjX)ZZX)[ZX)[jX)]ZX)]jX)^ZX)`ZX)`jX)pZX~OQZXQjX!dZX!djX~P,,ZO]jXejXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX~P#1xO]ZX]jXejXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VZX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX~O)_jX~P,1]O[ZX[jXejX!OjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX(wjX)pjX~P,,ZO]ZX]jXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!TjX!VZX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX({jX)YjX)[jX)]jX)_jX)pjX~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~PBXOe$TO%Y*YO)O:vO~Oe$TO%Y*YO)O:wO~Oe$TO%Y*YO)O:}O~Oe$TO%Y*YO)O:|O~O]%jOe!POm%dOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V%mO!{!dO!|%TO%v$oO(w$zO)Y;hO)[;iO)];iO~O]%jOe!POm%dO!V%mO!{!dO%v$oO(w$zO)Y;hO)[;iO)];iO~Oe$TO%Y$UO)O:wO~Oe$TO%Y$UO)O:{O~Om;QO~Om;PO~O]dXmhXqjX!TdX~Oe)tO%Y*YO)O:vO~Oe)tO%Y*YO)O:wO~Oe)tO%Y*YO)O:xO~Oe)tO%Y*YO)O:yO~Oe)tO%Y*YO)O:zO~Oe)tO%Y*YO)O:|O~Oe)tO%Y*YO)O:}O~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~P,9iO])SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)p)SX~Om;PO!T)SX({)SX)_)SX~P,=hO]&wXmnXqoX!T&wX~Oe4rO%Y*YO)O;{O~Om;cO)Y<PO)[5hO)]5hO~P(FVOe!POm%dO!{!dO%v$oO(w$zO~O]1ZO!V1XO)Y1RO)[<QO)]<QOQ#nX!d#nX!h#nX[#nX~P,@dO)Y;aO~Om;oO~Om;pO~Om;qO~Om;sO~Om;tO~Om;uO~Om;sO!T$YOQ)SX!d)SX!h)SX)`)SX[)SX)p)SX~P$G`Om;qO!T$YO~P$G`Om;oO!g$[O)p$[O~Om;qO!g$[O)p$[O~Om;sO!g$[O)p$[O~Om;pO[)SX!h)SX)`)SX)p)SX~P$G`Oe/eO%Y*YO)O;{O~Om;|O~O)Y<aO~OV'e'h'i'g(u)b!R(wS(p%Z!Y!['je%[!i'R!f]'f*a'k(|!^!_'l'm'l~",goto:"%7u*aPPPPP*b*lP*oPP.ePP4y7z7z;UP;U>`P>y?]?qFiMi!&m!-TP!3}!4r!5gP!6RPPPPPPPP!6lP!8UP!9g!;PP!;VPPPPPP!;YP!;YPP!;YPP!;fPPPPPP!=h!AOP!ARPP!Ao!BdPPPPP!BhP>|!CyPP>|!FQ!HR!Ha!Iv!KgP!KrP!LR!LR# c#$r#&Y#)f#,p!HR#,zPP!HR#-R#-X#,z#,z#-[P#-`#-}#-}#-}#-}!KgP#.h#.y#1`P#1tP#3aP#3e#3m#4b#4m#6{#7T#7T#3eP#3eP#7[#7bP#7lPP#8X#8v#9h#8XP#:Y#:fP#8XP#8XPP#8X#8XP#8XP#8XP#8XP#8XP#8XP#8XP#:i#7l#;VP#;lP#<R#<R#<R#<R#<`#3eP#<v#Ar#BaPPPPPPPP#CXP#CgP#CgP#Cs#GQ#;bPP#Ca#GdP#Gw#HS#HY#HY#Ca#IOP#3e#3e#3e#3e#3eP!LR#Ij#Iq#Iq#Iq#Iu# ]#JP# ]#JT!Ha!Ha!Ha#JW#Np!Ha>|>|>|$%i!Bd!Bd!Bd!Bd!Bd!Bd!6l!6l!6l$%|P$'i$'w!6l$'}PP!6l$*]$*`#CO$*c;U7z$-i$/d$1T$2s7zPP7z$4g7zP7z7zP7zP$7m7zP7zPP7z$7yPPPPPPPPP*lP$;R$;X$;_$=v$?|$@S$@j$@t$AP$A`$Af$Bt$Cs$Cz$DR$DX$Da$Dk$Dq$D|$ES$E]$Ee$Ep$Ev$FQ$FW$Fb$Fi$Fx$GO$GUP$G[$Gd$Gk$Gy$Ig$Im$Is$Iz$JTPPPPPPPPPPPP$JZ$J_PPPPP%#a$*]%#d%&l%(tPP%)R%)UPPPPPPPPPP%)b%*e%*k%*o%,f%-s%.f%.m%0|%1SPPP%1^%1i%1l%1r%2y%2|%3W%3b%3f%4j%5]%5c#CXP%5|%6^%6a%6q%6}%7R%7X%7_$*]$*`$*`%7b%7eP%7o%7rQ#dPZ(s#b(o(p(t/ZR#dP'`mO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mU%qm%r7XQ&o!`Q(o#^d0W*S0T0U0V0Y5U5V5W5Z8XR7X3[b}Oaewx{!g&U*v&v$k[!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|1S1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mS%bf0o#d%lgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aS%sm!YS&w!h#PQ'_!tQ'i!yQ'j!zQ(o#aQ(p#^Q(q#_Q*}%mQ,]&nQ,b&pQ-X'`Q-i'hQ-p'sS.w(]4`Q/m)lQ0l*rQ2X,aQ2`,hQ3V-jQ4i/RQ4m/[Q5m1UQ6c2[Q7U3WQ8h6bQ9l8RR;b1X$|#iS!]${%S%V%]&l&m'S'Z']'c'e(c(g(j(|(})W)X)Y)Z)[)])^)_)`)a)b)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:pQ&r!dQ(i#ZQ(x#cQ)o$V[*x%g*]0r2g2n3SQ,c&qQ/T(hQ/Z(pQ/b(yS/p)n/UQ0y+VS4x/q/rR8V4y'a![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m'a!VO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ)T#mS+V%{0zQ/y)xk4U.l3z4O4R4S7j7l7m7o7r9`9a:YQ)V#mk4T.l3z4O4R4S7j7l7m7o7r9`9a:Yl)U#m.l3z4O4R4S7j7l7m7o7r9`9a:YT+V%{0z[UOwx!g&U*vW$b[e$g(d#l$r_!f!u!}#R#S#T#U#V#Z$U$V$n%W&W&[&e&o'a(P(R(W(`(i)o)u+a+f+g+y,O,^,p-P-V-t-y.].^.d.e.i.v.z1[1`1m1r1t2s3c3d3e3w3{5q6U6W7c8b![%eg$i%f%k&u*_*y+b,q,{-d1R1V2f;_;`;a;h;i;v;w;x;y;}<O<Q<_<`<aY%unp%y-u.kl)R#m.l3z4O4R4S7j7l7m7o7r9`9a:YS;l'v-|U;m(S.r.t&|<Saf{|!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%O%P%U%_%j%o&S&Y&d&{'O'Q'k'l'w'{(b(k)q)w*e*g*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0d0o1Q1S1X1h1i1s1w2R2j2p2q2|4V4Y4_4h5a5h5l5x6f6j6m6n6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m;g<PQ<T1Zd<U&z'R'd,|-b-c-f2m3R3UW<V&h*{2T3pQ<W#O[<X!t'`'h,a2[6bT<d%{0z[VOwx!g&U*vW$c[e$g(dQ$r.z!j$s_!f!u!}#V#Z$U$V$n%W&W&[&e&o'a(i)o)u+a+f+y,^,p-P-V-t.i1[1`1m1r1t2s3{5q8b&^$|af{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m![%eg$i%f%k&u*_*y+b,q,{-d1R1V2f;_;`;a;h;i;v;w;x;y;}<O<Q<_<`<aY%unp%y-u.kQ't#O|(O#R#S#T#U(P(R(W(`+g,O.].^.d.e.v3c3d3e3w6U6W7cl)R#m.l3z4O4R4S7j7l7m7o7r9`9a:YS-s'v-|Q3_-yU;z(S.r.tn<S|%O%P%U%j'w*e*g0d1Q2q5h6n;g<P[<X!t'`'h,a2[6bW<Y&h*{2T3pd<Z&z'R'd,|-b-c-f2m3R3UQ<b1ZT<d%{0z!Q!UO[ewx!g$g&U&h&z'R'd(d*v*{,|-b-c-f2T2m3R3U3p!v$v_!f!u!}#O#V#Z$U$V$n%W&W&[&e&o'a'v(S(i)o)u+a+y,^,p-P-V-t-|.i.r.t1Z1[1`1m1r1t2s3{5q8b&^%Raf{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m$Q%ngnp|#m$i%O%P%U%f%j%k%y%{&u'`'h'w*_*e*g*y+b,a,q,{-d-u.k.l0d0z1Q1R1V2[2f2q3z4O4R4S5h6b6n7j7l7m7o7r9`9a:Y;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aQ'^!tz(Q#R#S#T#U(P(R(W(`,O.].^.d.e.v3c3d3e3w6U6W7cf-`'b-Y-[-_2w2x2z2}6x6y8wQ1_+fQ1b+gQ2r-OQ3`-yQ4c.zQ5s1aR8^5t!Q!UO[ewx!g$g&U&h&z'R'd(d*v*{,|-b-c-f2T2m3R3U3p!x$v_!f!u!}#O#V#Z$U$V$n%W&W&[&e&o'a'v(S(i)o)u+a+f+y,^,p-P-V-t-|.i.r.t1Z1[1`1m1r1t2s3{5q8b&^%Raf{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m$S%ngnp|!t#m$i%O%P%U%f%j%k%y%{&u'`'h'w*_*e*g*y+b,a,q,{-d-u.k.l0d0z1Q1R1V2[2f2q3z4O4R4S5h6b6n7j7l7m7o7r9`9a:Y;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<a|(Q#R#S#T#U(P(R(W(`+g,O.].^.d.e.v3c3d3e3w6U6W7cQ3`-yR4c.z[WOwx!g&U*vW$d[e$g(d#l$r_!f!u!}#R#S#T#U#V#Z$U$V$n%W&W&[&e&o'a(P(R(W(`(i)o)u+a+f+g+y,O,^,p-P-V-t-y.].^.d.e.i.v.z1[1`1m1r1t2s3c3d3e3w3{5q6U6W7c8b![%eg$i%f%k&u*_*y+b,q,{-d1R1V2f;_;`;a;h;i;v;w;x;y;}<O<Q<_<`<aY%unp%y-u.kl)R#m.l3z4O4R4S7j7l7m7o7r9`9a:YS;l'v-|U;m(S.r.tn<S|%O%P%U%j'w*e*g0d1Q2q5h6n;g<PQ<T1ZQ<W#O[<X!t'`'h,a2[6b&^<[af{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:md<]&z'R'd,|-b-c-f2m3R3UW<^&h*{2T3pT<d%{0zp$RT$a$q%d%t)Q;R;S;T;c;d;e;f;j;k<co)r$X*Z*a/f;O;P;Q;o;p;q;r;s;t;u;|p$ST$a$q%d%t)Q;R;S;T;c;d;e;f;j;k<co)s$X*Z*a/f;O;P;Q;o;p;q;r;s;t;u;|^&g}!O$k$l%b%l;bd&k!U$v%R%n'^(Q1_1b3`4cV/h)T)U4US%[e$gQ,Y&hQ/Q(dQ2t-VQ6Q1tQ6^2TQ6t2sR9o8b#}!TO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8b#[^O[_`wx!f!g!}#O$U$f$n$u$w&U&W&[&e&o&t&z'R'd'v(S)u*b*v*{+a,^,p,|-P-b-c-f-t-y-|.i.r.t1Z1[1m2m3R3U3p3{_(W#R#S#T+g3c3d3e#}ZO[wx!g!k#R#S#T%o&U&W&[&e&o&y&z&{'O'Q'R'^'d'v'z(P(R(S(W*v*{+a+g,^,m,p,v-U-b-c-f-t-y-|.P.d.i.r.v1Z1[1m2j2r3R3U3c3d3e3p6j6q8n9s9w:_:d:mQ$_YR0[*TR*V$_e0W*S0T0U0V0Y5U5V5W5Z8X$f#{S%V%]'S'Z']'c'e(j(|(})W)Z)[)])^)_)`)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:pe0W*S0T0U0V0Y5U5V5W5Z8X'`!YO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:me0W*S0T0U0V0Y5U5V5W5Z8XR5[0[^(V#R#S#T+g3c3d3eY.b(P(T(W(X7[U3r.`.c.vS7`3s4^R9j7z^(U#R#S#T+g3c3d3e[.a(P(T(V(W(X7[W3q.`.b.c.vU7_3r3s4^S9R7`7zR:^9jT.p(S.rd]Owx!g&U'v(S*v-|.r!v^[_`!f!}#O$U$f$n$u$w&W&[&e&o&t&z'R'd)u*b*{+a,^,p,|-P-b-c-f-t-y.i.t1Z1[1m2m3R3U3p3{Q%vnT1|,S1}!jbOaenpwx{|!g#O%O%P%U%j%y&U'v'w(S*e*g*v-u-|.k.r.t0d1Q1Z2q5h6n;g<Pf-]'b-Y-[-_2w2x2z2}6x6y8wj4P.l3z4O4R4S7j7l7m7o7r9`9a:Yr<Rg$i%f%k&u*_*y,q,{-d2f;_;`;a;v;x;}i<e+b1R1V;h;i;w;y<O<Q<_<`<a!O&`y%Z&X&[&]'m)m*i*k+b+j+}/t0e1Q1R1V1Z1q5h5}<P<Qz&cz%Q%Y%g&f'u*]*d,g-}0b0c0r1T2g2n3S5^5i6s8pS'}#Q.^n+q&Z*l+k+r+u-o/o0f1Y1e4{5_5g5|8`Q2_,f^2{-^2y3P6w7O8v9ze7p4Q7f7n7v7w9]9_9g:X:jS+c&W1[Y+s&[&e*{1Z3pR5z1m#w!POaegnpwx{|!g#O$i%O%P%U%f%j%k%y&U&u'v'w(S*_*e*g*v*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<a`oOwx!g&U'v*v-|#U!Paeg{|#O$i%O%P%U%f%j%k&u'w*_*e*g*y+b,q,{-d0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aU%xnp-uQ+S%yS.j(S.rT3}.k.tW+w&`+q+x1jV,P&c,Q7pQ+}&bU,P&c,Q7pQ-|'vT.X'{.Z'`![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mX1y,O.^6U6W'W!VO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mW1y,O.^6U6WR2l,x!WjO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mY%Xe$g(d1w3pQ'U!nS)O#k5aQ,r&zQ,}'RS.T'{.ZQ2i,sQ6r2pQ7T3UQ8o6mR9t8l'W![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mX1y,O.^6U6W'ayO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,O,U,W,s,v,|-b-c-f-l.U.V.Z.^/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6U6W6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ&byS'v#O-zR1c+hS+c&W1[R5u1cQ1W+bR5n1VR1W+bT+c&W1[z&^%Z&X&[&]'m)m*i*k+b+j/t0e1Q1R1V1Z1q5h5}<P<QQ&_yR1u+}!P&^y%Z&X&[&]'m)m*i*k+b+j+}/t0e1Q1R1V1Z1q5h5}<P<QQ+z&`S,R&c7pS1k+q+xQ1{,QR5y1j!WkO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mS%|o.jS&Qq-wQ&ayQ&s!eQ'g!yQ*u%gU+Q%x%}3}S+U%z&PQ+v&_Q,_&oS,`&p'iQ,w&}S0`*],gS0v+R+SQ0x+TQ1v+}S2Z,b-kQ5]0bQ5b0wQ6S1uQ6a2YQ6d2_Q7u4QQ9Z7fR:W9][uOwx!g&U*vQ,_&oQ-{'vQ3a-yR3f-|xlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mU$j['O-cS%|o.jS&Qq-wQ*u%gU+Q%x%}3}S+U%z&PS0`*],gS0v+R+SQ0x+TQ5]0bQ5b0wQ7u4QQ9Z7fR:W9]T,d&s,e]uOwx!g&U*v[uOwx!g&U*vQ,_&oQ,s&zQ,|'RW-e'd-b-f3RQ-{'vQ3a-yQ3f-|R7S3U[%hg$i,q,{-d2fR0s*y^$ZV!U$c$|%R<Y<ZQ'U!nS)e$P*{S){$Y*vQ*O$[Y*x%g*]0r2n3SQ/T(hS/p)n/US0h*m4hS0q*w6fQ0y+VQ4X.lQ4u/jS4x/q/rS4}/u5aQ5S/|Q6g2gU7h3z4Q4YQ8V4yQ8r6oY9X7f7i7j7s7tQ9y8tW:R9V9Y9]9^Q:b9vU:h:S:U:VR:q:iS){$Y*vT4}/u5aZ)y$Y)z*v/u5aQ&y!hR'z#PS,l&x'xQ2c,jR6e2bxlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mV$j['O-c!XkO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:m!WhO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mR'Y!q!WkO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mR,s&zQ&{!iQ&}!jQ'Q!lR,v&|R,t&zxlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mX-e'd-b-f3R[uOwx!g&U*vQ-P'RQ-{'vS.p(S.rR3f-|[uOwx!g&U*vQ-P'RW-e'd-b-f3RT.p(S.rg-`'b-Y-[-_2w2x2z2}6x6y8wylOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mb!OOaewx{!g&U*v&|$l[f!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m#d%lgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aQ'_!tQ-X'`Q-i'hQ2X,aQ6c2[R8h6bj$TT$a%d%t;R;S;T;c;d;e;f;j;ki)t$X*Z;O;P;Q;o;p;q;r;s;t;uj$TT$a%d%t;R;S;T;c;d;e;f;j;kh)t$X*Z;O;P;Q;o;p;q;r;s;t;uS/e)Q<cV4r/f/g;|[uOwx!g&U*vQ-{'vR3f-|[uOwx!g&U*vT.p(S.r'`!YO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mR7Y3[[uOwx!g&U*vQ-{'vS.p(S.rR3f-|[pOwx!g&U*vQ%ynS-u'v-|T.k(S.rS%}o.jS+R%x3}R0w+SQ+W%{R5d0zS%|o.jS&Qq-wU+Q%x%}3}S+U%z&PS0v+R+SQ0x+TQ5b0wQ7u4QQ9Z7fR:W9]`qOwx!g&U(S*v.rS%zn-uU&Pp.k.tQ+T%yT-w'v-|S'|#Q.^R._'}T.W'{.ZS.X'{.ZQ9P7]R:O9QT6U1x8fR6W1x#d!Pgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<ab!QOaewx{!g&U*v&}![[f!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m#d!Pgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<ab!QOaewx{!g&U*v&|![[f!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mk4T.l3z4O4R4S7j7l7m7o7r9`9a:YQ4X.lS7h3z4QU9X7f7j7sS:R9V9]R:h:U#|!TO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8bR4d.zQ(_#US.{(^(`S4e.|.}R8O4fQ.x(]R7|4`#|!TO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8bp$y`$f$u%Z&t'b(a(h)n*i-Y/r1q5r5}8]q)S#m%{.l0z3z4O4R4S7j7l7m7o7r9`9a:YR,Z&hR6_2T'X!VO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m$q#tS%V%]'S'Z']'c'e(c(g(j(|(})W)X)Z)[)])^)_)`)a)b)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p$]#uS%V%]'S'Z']'c'e(j(|(})W)[)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p$Z#vS%V%]'S'Z']'c'e(j(|(})W)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p$c#yS%V%]'S'Z']'c'e(j(|(})W)Z)[)])^)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p'X![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ/U(hQ/q)nQ4y/rR9k8Q']![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ(m#]R/W(mQ#fQR(z#fU%Oa;g<Pb%We$g&h(d-V1t2T2s8bQ'a!u!Q*c%O%W'a*e*k+m,U0d0e1i2w6x6{7l8w9`9d:Y;_;v;w;}<O<_S*e%P%UQ*k%ZS+m&Y1XQ,U&dQ0d*gQ0e*iQ1i+pQ2w-[S6x2x2zQ6{2|Q7l4OQ8w6yS9`7m7oQ9d7qQ:Y9aQ;_%fS;v;`;aS;w<`<aQ;};xQ<O;yT<_1R;h[[Owx!g&U*vl$e['O(P+a,^,m,p-U-c-t.P.d.i.vl'O!k%o&{'Q,v2j6j6q8n9s9w:_:d:m^(P#R#S#T+g3c3d3e`+a&W&[&e*{1Z1[1m3pS,^&o-yQ,m&yU,p&z'R3US-U'^2rW-c'd-b-f3RS-t'v-|Q.P'zQ.d(RS.i(S.rR.v(WQ*R$^R0P*RQ0Y*SQ5U0TQ5V0UQ5W0VY5X0Y5U5V5W8XR8X5ZQ*U$_S0]*U0^R0^*VS.e(R.dS3u.e7cR7c3wQ3x.fS7a3v3yU7e3x7a9SR9S7bQ.r(SR4Z.r!|_O[wx!f!g!}#O$U$n&U&W&[&e&o&z'R'd'v(S)u*v*{+a,^,p,|-P-b-c-f-t-y-|.i.r.t1Z1[1m2m3R3U3p3{U$t_$w*bU$w`$f&tR*b$uU%Pa;g<Pd*f%P*g2x6y7m9a;`;x;y<`Q*g%UQ2x-[Q6y2zQ7m4OQ9a7oQ;`%fQ;x;aQ;y<aT<`1R;hS,Q&c7pR1z,QS*o%]/wR0j*oQ1]+dR5p1]U+j&X1R<PR1d+jQ+x&`Q1j+qT1p+x1jQ8c6QR9p8cQwOS&Tw&UT&Ux*vQ,e&sR2^,eW)z$Y*v/u5aR/{)zU/v)v){0nR5O/v[*z%g%h*]2g2n3SR0t*zQ,i&wR2a,iQ-f'dQ3R-bT3T-f3RQ3O-^R7P3OQ-k'iQ2Y,bT3X-k2YS%rm7XR+P%rdnOwx!g&U'v(S*v-|.rR%wnQ0{+WR5e0{Q.Z'{R3m.ZQ1},SR6X1}U*s%b*};bR0m*sS1n+s0uR5{1nQ7s4QQ9V7fU9h7s9V:UR:U9]$O!SO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t.z1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8bR&i!SQ4a.xR7}4aQ2U,ZR6`2US/k)d)eR4v/kW(t#b(o(p/ZR/_(tQ8S4mR9m8ST)f$P*{!USO[wx!g!k%o&U&{'O'Q'd,v-b-c-f2j3R6j6q8n9s9w:_:d:mj${a{$m%_+o,W1h2R5x6}8z9f:]Y%Ve$g(d1w3pY%]f$h(k)q*qQ&l!WQ&m!XQ'S!nQ'Z!rQ']!sQ'c!vQ'e!xQ(c#XQ(g#YS(j#[+_Q(|#hQ(}#kQ)W#nQ)X#sQ)Y#tQ)Z#uQ)[#vQ)]#wQ)^#xQ)_#yQ)`#zQ)a#{Q)b#|Q)c#}S)d$P*{Q)p$WQ)v$YQ)}$[Q+^&SS+l&Y1XQ,T&dQ,X&hQ,o&zQ,z'RQ-m'kQ-n'lS.R'{.ZQ/O(bS/w)w0oS0g*m4hQ0i*nQ0n*vQ0p*wQ1O+]S1g+m+pQ2Q,UQ2h,sS2o,|7SQ3Y-lQ3j.UQ3k.VQ4j/SQ4k/VQ4q/cQ4t/jQ4z/sQ4|/uQ5Q/zQ5R/|Q5k1SQ5w1iQ6O1sQ6]2TS6l2m8{Q6p2pQ6z2|Q7R3UQ7x4VQ7y4YQ7{4_Q8Z5aQ8[5lQ8j6fQ8m6mQ8q6oQ8y6{S9[7i7tQ9c7qQ9r8lQ9x8tS:T9Y9^Q:[9dQ:a9vS:g:S:VR:p:iR,[&hd]Owx!g&U'v(S*v-|.r!v^[_`!f!}#O$U$f$n$u$w&W&[&e&o&t&z'R'd)u*b*{+a,^,p,|-P-b-c-f-t-y.i.t1Z1[1m2m3R3U3p3{#r$}ae!u$g%O%P%U%W%Z%f&Y&d&h'a(d*e*g*i*k+m+p,U-V-[0d0e1X1i1t2T2s2w2x2z2|4O6x6y6{7l7m7o7q8b8w9`9a9d:Y;_;`;a;g;h;v;w;x;y;}<O<_<`<aQ%vnS+i&X+jW+w&`+q+x1jU,P&c,Q7pQ1r+yT5j1R<P``Owx!g&U'v*v-|S$f[-tQ$u_b%Ze$g&h(d-V1t2T2s8b!h&t!f!}#O$U$n&W&[&e&o&z'R'd(S)u*{+a,^,p,|-P-b-c-f-y.i.r.t1Z1[1m2m3R3U3p3{Q'b!uS(a#V+fQ(h#ZS)n$V(iQ*i%WQ-Y'aQ/r)oQ1q+yQ5r1`Q5}1rR8]5qS(Y#R3dS(Z#S3eV([#T+g3cR$`Ye0X*S0T0U0V0Y5U5V5W5Z8XW(T#R#S#T+gQ(^#US.`(P(WS.f(R.dQ.}(`W1y,O.^6U6WQ3b-yQ3o.]Q3v.eQ4^.vU7[3c3d3eQ7d3wR9T7cQ.g(RR3t.dT.q(S.rdgOwx!g&U&o'v*v-y-|U$i[,^-tQ&u!fQ'm!}Q'w#OQ)m$UQ*_$n`+b&W&[&e*{1Z1[1m3pQ,q&zQ,{'RY-d'd-b-f3R3US.l(S.rQ/t)uQ1Q+aS2f,p-cS2q,|-PS3z.i.tQ6n2mR7j3{d]Owx!g&U'v(S*v-|.r!v^[_`!f!}#O$U$f$n$u$w&W&[&e&o&t&z'R'd)u*b*{+a,^,p,|-P-b-c-f-t-y.i.t1Z1[1m2m3R3U3p3{R%vnQ4Q.lQ7f3zQ7n4OQ7v4RQ7w4SQ9]7jU9_7l7m7oQ9g7rS:X9`9aR:j:YZ+t&[&e*{1Z3ppzOnpwx!g%y&U'v(S*v-u-|.k.r.t[%Qa%f1R;g;h<PU%Ye%j1ZQ%gg^&f{|%k1V5h;i<QQ'u#OQ*]$ib*d%O%P%U;_;`;a<_<`<aQ,g&uQ-}'wQ0b*_[0c*e*g;v;w;x;yQ0r*yQ1T+bQ2g,qQ2n,{S3S-d2fU5^0d;}<OQ5i1QQ6s2qR8p6nQ,S&cR9b7pS1x,O.^Q8e6UR8f6W[%`f$h(k)q)w0oR0k*qR+e&WQ+d&WR5o1[S&Zy+}Q*l%ZU+k&X1R<PS+r&[1ZW+u&]1V5h<QQ-o'mQ/o)mS0f*i*kQ1Y+bQ1e+jQ4{/tQ5_0eQ5g1QQ5|1qR8`5}R6R1tYvOwx&U*vR&v!gW%ig,q,{-dT*^$i2fT)|$Y*v[uOwx!g&U*vQ'P!kQ+O%oQ,u&{Q,y'QQ2k,vQ6i2jQ8k6jQ8s6qQ9u8nQ:`9sQ:c9wQ:l:_Q:n:dR:r:mxlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mU$j['O-cX-e'd-b-f3RQ-a'bR2v-YS-^'b-YQ2y-[Q3P-_U6w2w2x2zQ7O2}S8v6x6yR9z8w[rOwx!g&U*vS-v'v-|T.m(S.rR+X%{[sOwx!g&U*vS-x'v-|T.n(S.r[tOwx!g&U*vT.o(S.rT.Y'{.ZX%cf%m0o1XQ.|(^R4f.}R.y(]R(f#XQ(w#bS/Y(o(pR4l/ZR/^(qR4n/[",nodeNames:"⚠ RawString > MacroName LineComment BlockComment PreprocDirective #include String EscapeSequence SystemLibString Identifier ) ( ArgumentList ConditionalExpression AssignmentExpression CallExpression PrimitiveType FieldExpression FieldIdentifier DestructorName TemplateMethod ScopedFieldIdentifier NamespaceIdentifier TemplateType TypeIdentifier ScopedTypeIdentifier ScopedNamespaceIdentifier :: NamespaceIdentifier TypeIdentifier TemplateArgumentList < TypeDescriptor const volatile restrict _Atomic mutable constexpr constinit consteval StructSpecifier struct MsDeclspecModifier __declspec Attribute AttributeName Identifier AttributeArgs { } [ ] UpdateOp ArithOp ArithOp ArithOp LogicOp BitOp BitOp BitOp CompareOp CompareOp CompareOp > CompareOp BitOp UpdateOp , Number CharLiteral AttributeArgs VirtualSpecifier BaseClassClause Access virtual FieldDeclarationList FieldDeclaration extern static register inline thread_local AttributeSpecifier __attribute__ PointerDeclarator MsBasedModifier __based MsPointerModifier FunctionDeclarator ParameterList ParameterDeclaration PointerDeclarator FunctionDeclarator Noexcept noexcept RequiresClause requires True False ParenthesizedExpression CommaExpression LambdaExpression LambdaCaptureSpecifier TemplateParameterList OptionalParameterDeclaration TypeParameterDeclaration typename class VariadicParameterDeclaration VariadicDeclarator ReferenceDeclarator OptionalTypeParameterDeclaration VariadicTypeParameterDeclaration TemplateTemplateParameterDeclaration template AbstractFunctionDeclarator AbstractPointerDeclarator AbstractArrayDeclarator AbstractParenthesizedDeclarator AbstractReferenceDeclarator ThrowSpecifier throw TrailingReturnType CompoundStatement FunctionDefinition MsCallModifier TryStatement try CatchClause catch LinkageSpecification Declaration InitDeclarator InitializerList InitializerPair SubscriptDesignator FieldDesignator ExportDeclaration export ImportDeclaration import ModuleName PartitionName HeaderName CaseStatement case default LabeledStatement StatementIdentifier ExpressionStatement IfStatement if ConditionClause Declaration else SwitchStatement switch DoStatement do while WhileStatement ForStatement for ReturnStatement return BreakStatement break ContinueStatement continue GotoStatement goto CoReturnStatement co_return CoYieldStatement co_yield AttributeStatement ForRangeLoop AliasDeclaration using TypeDefinition typedef PointerDeclarator FunctionDeclarator ArrayDeclarator ParenthesizedDeclarator ThrowStatement NamespaceDefinition namespace ScopedIdentifier Identifier OperatorName operator ArithOp BitOp CompareOp LogicOp new delete co_await ConceptDefinition concept UsingDeclaration enum StaticAssertDeclaration static_assert ConcatenatedString TemplateDeclaration FriendDeclaration friend union FunctionDefinition ExplicitFunctionSpecifier explicit FieldInitializerList FieldInitializer DefaultMethodClause DeleteMethodClause FunctionDefinition OperatorCast operator TemplateInstantiation FunctionDefinition FunctionDefinition Declaration ModuleDeclaration module RequiresExpression RequirementList SimpleRequirement TypeRequirement CompoundRequirement ReturnTypeRequirement ConstraintConjuction LogicOp ConstraintDisjunction LogicOp ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator TemplateFunction OperatorName StructuredBindingDeclarator ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator BitfieldClause FunctionDefinition FunctionDefinition Declaration FunctionDefinition Declaration AccessSpecifier UnionSpecifier ClassSpecifier EnumSpecifier SizedTypeSpecifier TypeSize EnumeratorList Enumerator DependentType Decltype decltype auto PlaceholderTypeSpecifier ParameterPackExpansion ParameterPackExpansion FieldIdentifier PointerExpression SubscriptExpression BinaryExpression ArithOp LogicOp LogicOp BitOp UnaryExpression LogicOp BitOp UpdateExpression CastExpression SizeofExpression sizeof CoAwaitExpression CompoundLiteralExpression NULL NewExpression new NewDeclarator DeleteExpression delete ParameterPackExpansion nullptr this UserDefinedLiteral ParamPack #define PreprocArg #if #ifdef #ifndef #else #endif #elif PreprocDirectiveName Macro Program",maxTerm:431,nodeProps:[["group",-35,1,8,11,15,16,17,19,71,72,100,101,102,104,191,208,229,242,243,270,271,272,277,280,281,282,284,285,286,287,290,292,293,294,295,296,"Expression",-13,18,25,26,27,43,255,256,257,258,262,263,265,266,"Type",-19,126,129,147,150,152,153,158,160,163,164,166,168,170,172,174,176,178,179,188,"Statement"],["isolate",-3,4,8,10,""],["openedBy",12,"(",52,"{",54,"["],["closedBy",13,")",51,"}",53,"]"]],propSources:[lq],skippedNodes:[0,3,4,5,6,7,10,297,298,299,300,301,302,303,304,305,306,308,348,349],repeatNodeCount:42,tokenData:"%LSMfR!UOX$eXY({YZ.gZ]$e]^+P^p$epq({qr.}rs0}st2ktu$euv!7dvw!9bwx!;exy!<Yyz!=Tz{!>O{|!?R|}!AV}!O!BQ!O!P!DX!P!Q#+y!Q!R#5[!R![#JY![!]$4w!]!^$6s!^!_$7n!_!`%$h!`!a%%i!a!b%(o!b!c$e!c!n%)j!n!o%+R!o!w%)j!w!x%+R!x!}%)j!}#O%.O#O#P%/w#P#Q%?[#Q#R%AT#R#S%)j#S#T$e#T#i%)j#i#j%BW#j#o%)j#o#p%Cu#p#q%Dp#q#r%Fv#r#s%Gq#s;'S$e;'S;=`(u<%lO$e,j$nY)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e,f%eW)c`'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^,U&SU'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},U&kX'f,UOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},U']V'f,UOY%}YZ%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},U'uP;=`<%l%},f'{P;=`<%l%^,Y(VW(vS'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O,Y(rP;=`<%l(O,j(xP;=`<%l$eMf)Y`)c`(vS(o<`'f,U*a1pOX$eXY({YZ*[Z]$e]^+P^p$epq({qr$ers%^sw$ewx(Ox#O$e#O#P,^#P;'S$e;'S;=`(u<%lO$e<`*aT(o<`XY*[YZ*[]^*[pq*[#O#P*p<`*sQYZ*[]^*y<`*|PYZ*[Gz+[`)c`(vS(o<`'f,UOX$eXY+PYZ*[Z]$e]^+P^p$epq+Pqr$ers%^sw$ewx(Ox#O$e#O#P,^#P;'S$e;'S;=`(u<%lO$eGf,cX'f,UOY%}YZ-OZ]%}]^-{^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}Gf-V[(o<`'f,UOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}Gf.QV'f,UOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}MQ.nT*^1p(o<`XY*[YZ*[]^*[pq*[#O#P*pF`/[[%^#t'QQ)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`0_Y%]#t!a8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eKz1YY)c`(tS(u=j'f,UOY%^Zr%^rs1xsw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^/[2RW*O#t)c`'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^Gz2tf)c`(vS'f,UOX$eXY2kZp$epq2kqr$ers%^sw$ewx(Ox!c$e!c!}4Y!}#O$e#O#P&f#P#T$e#T#W4Y#W#X5m#X#Y>u#Y#]4Y#]#^NZ#^#o4Y#o;'S$e;'S;=`(u<%lO$eGz4eb)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz5xd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y7W#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz7cd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z8q#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGz8|d)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^:[#^#o4Y#o;'S$e;'S;=`(u<%lO$eGz:gd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#b4Y#b#c;u#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz<Qd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y=`#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz=mb)c`(vS'e<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz?Qf)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#`4Y#`#a@f#a#b4Y#b#cHV#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz@qf)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^BV#^#g4Y#g#hEV#h#o4Y#o;'S$e;'S;=`(u<%lO$eGzBbd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#ZCp#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGzC}b)c`(vS'f,U'l<`'m<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGzEbd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#YFp#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGzF}b)c`(vS'j<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGzHbd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#XIp#X#o4Y#o;'S$e;'S;=`(u<%lO$eGzI{d)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^KZ#^#o4Y#o;'S$e;'S;=`(u<%lO$eGzKfd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#ZLt#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGzMRb)c`(vS'f,U'k<`'m<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGzNff)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z! z#Z#b4Y#b#c!.[#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz!!Xf)c`(vS'g<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#X!#m#X#b4Y#b#c!(W#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz!#xd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y!%W#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz!%cd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z!&q#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGz!'Ob)c`(vS'h<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz!(cd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#X!)q#X#o4Y#o;'S$e;'S;=`(u<%lO$eGz!)|d)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y!+[#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz!+gd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z!,u#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGz!-Sb)c`(vS'i<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz!.gd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#V4Y#V#W!/u#W#o4Y#o;'S$e;'S;=`(u<%lO$eGz!0Qd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#`4Y#`#a!1`#a#o4Y#o;'S$e;'S;=`(u<%lO$eGz!1kd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#i4Y#i#j!2y#j#o4Y#o;'S$e;'S;=`(u<%lO$eGz!3Ud)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#X!4d#X#o4Y#o;'S$e;'S;=`(u<%lO$eGz!4od)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y!5}#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz!6[b)c`(vSV<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eF`!7q[)c`(vS%Z#t![8O'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!8rY!g:t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!9o])]8O)c`(vS%[#t'f,UOY$eZr$ers%^sv$evw!:hwx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!:uY)[8O%^#t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCb!;pW)aW(vS)b8O'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OLS!<eY)c`(vS]Kn'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e-^!=`Y[r)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!>][)Y8O)c`(vS%Z#t'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!?`^)c`(vS%Z#t!Y8O'f,UOY$eZr$ers%^sw$ewx(Ox{$e{|!@[|!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!@gY)c`!X:t(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!AbY!h8W)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!B__)c`(vS%Z#t!Y8O'f,UOY$eZr$ers%^sw$ewx(Ox}$e}!O!@[!O!_$e!_!`!8g!`!a!C^!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!CiY(}:t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!Dd^)c`(vS'f,U(|8OOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!E`!P!Q$e!Q![!GY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!Ei[)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!F_!P#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!FjY)`8W)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj!Gen)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx!Icx!Q$e!Q![!GY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCY!IjY(vS'f,UOY(OZr(Ors%}s!Q(O!Q![!JY![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OCY!Jcn(vS!i8O'f,UOY(OZr(Ors%}sw(Owx!Icx!Q(O!Q![!JY![!g(O!g!h!La!h!i##`!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#X(O#X#Y!La#Y#Z##`#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY!Ljl(vS!i8O'f,UOY(OZr(Ors%}s{(O{|!Nb|}(O}!O!Nb!O!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY!Ni^(vS'f,UOY(OZr(Ors%}s!Q(O!Q![# e![!c(O!c!i# e!i#O(O#O#P&f#P#T(O#T#Z# e#Z;'S(O;'S;=`(o<%lO(OCY# nj(vS!i8O'f,UOY(OZr(Ors%}sw(Owx!Nbx!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY##id(vS!i8O'f,UOY(OZr(Ors%}s!h(O!h!i##`!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#Y(O#Y#Z##`#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCj#%Sn)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx(Ox{$e{|#'Q|}$e}!O#'Q!O!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#'Z`)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#(]![!c$e!c!i#(]!i#O$e#O#P&f#P#T$e#T#Z#(]#Z;'S$e;'S;=`(u<%lO$eCj#(hj)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx!Nbx!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#*ef)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx(Ox!h$e!h!i#*Y!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#Y$e#Y#Z#*Y#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eMf#,W`)c`(vS%Z#t![8O'f,UOY$eZr$ers%^sw$ewx(Oxz$ez{#-Y{!P$e!P!Q#.T!Q!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf#-eY)c`(vS(pAz'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf#.`Y)c`(vSSAz'f,UOY#.TZr#.Trs#/Osw#.Twx#4]x#O#.T#O#P#0[#P;'S#.T;'S;=`#5U<%lO#.TMb#/XW)c`SAz'f,UOY#/OZw#/Owx#/qx#O#/O#O#P#0[#P;'S#/O;'S;=`#4V<%lO#/OMQ#/xUSAz'f,UOY#/qZ#O#/q#O#P#0[#P;'S#/q;'S;=`#1l<%lO#/qMQ#0cXSAz'f,UOY#/qYZ%}Z]#/q]^#1O^#O#/q#O#P#1r#P;'S#/q;'S;=`#1l<%lO#/qMQ#1VVSAz'f,UOY#/qYZ%}Z#O#/q#O#P#0[#P;'S#/q;'S;=`#1l<%lO#/qMQ#1oP;=`<%l#/qMQ#1y]SAz'f,UOY#/qYZ%}Z]#/q]^#1O^#O#/q#O#P#1r#P#b#/q#b#c#/q#c#f#/q#f#g#2r#g;'S#/q;'S;=`#1l<%lO#/qMQ#2yUSAz'f,UOY#/qZ#O#/q#O#P#3]#P;'S#/q;'S;=`#1l<%lO#/qMQ#3dZSAz'f,UOY#/qYZ%}Z]#/q]^#1O^#O#/q#O#P#1r#P#b#/q#b#c#/q#c;'S#/q;'S;=`#1l<%lO#/qMb#4YP;=`<%l#/OMU#4fW(vSSAz'f,UOY#4]Zr#4]rs#/qs#O#4]#O#P#0[#P;'S#4];'S;=`#5O<%lO#4]MU#5RP;=`<%l#4]Mf#5XP;=`<%l#.TCj#5gt)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#7wx!O$e!O!P#B}!P!Q$e!Q![#JY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#U$e#U#V#Li#V#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$0p#m;'S$e;'S;=`(u<%lO$eCY#8OY(vS'f,UOY(OZr(Ors%}s!Q(O!Q![#8n![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OCY#8wp(vS!i8O'f,UOY(OZr(Ors%}sw(Owx#7wx!O(O!O!P#:{!P!Q(O!Q![#8n![!g(O!g!h!La!h!i##`!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#X(O#X#Y!La#Y#Z##`#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY#;Un(vS!i8O'f,UOY(OZr(Ors%}s!Q(O!Q![#=S![!c(O!c!g#=S!g!h#@d!h!i#=S!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X#=S#X#Y#@d#Y#Z#=S#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY#=]p(vS!i8O'f,UOY(OZr(Ors%}sw(Owx#?ax!Q(O!Q![#=S![!c(O!c!g#=S!g!h#@d!h!i#=S!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X#=S#X#Y#@d#Y#Z#=S#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY#?h^(vS'f,UOY(OZr(Ors%}s!Q(O!Q![#=S![!c(O!c!i#=S!i#O(O#O#P&f#P#T(O#T#Z#=S#Z;'S(O;'S;=`(o<%lO(OCY#@mt(vS!i8O'f,UOY(OZr(Ors%}sw(Owx#?ax{(O{|!Nb|}(O}!O!Nb!O!Q(O!Q![#=S![!c(O!c!g#=S!g!h#@d!h!i#=S!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X#=S#X#Y#@d#Y#Z#=S#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCj#CYp)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#E^![!c$e!c!g#E^!g!h#Gm!h!i#E^!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X#E^#X#Y#Gm#Y#Z#E^#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Eip)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#?ax!Q$e!Q![#E^![!c$e!c!g#E^!g!h#Gm!h!i#E^!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X#E^#X#Y#Gm#Y#Z#E^#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Gxt)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#?ax{$e{|#'Q|}$e}!O#'Q!O!Q$e!Q![#E^![!c$e!c!g#E^!g!h#Gm!h!i#E^!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X#E^#X#Y#Gm#Y#Z#E^#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Jep)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#7wx!O$e!O!P#B}!P!Q$e!Q![#JY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Lr_)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!O$e!O!P#Mq!P!Q$e!Q!R#Np!R![#JY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj#Mz[)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![!GY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj#N{t)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#7wx!O$e!O!P#B}!P!Q$e!Q![#JY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#U$e#U#V$#]#V#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$$[#m;'S$e;'S;=`(u<%lO$eCj$#f[)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#JY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj$$e`)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![$%g![!c$e!c!i$%g!i#O$e#O#P&f#P#T$e#T#Z$%g#Z;'S$e;'S;=`(u<%lO$eCj$%rr)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx$'|x!O$e!O!P#B}!P!Q$e!Q![$%g![!c$e!c!g$%g!g!h$.Q!h!i$%g!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X$%g#X#Y$.Q#Y#Z$%g#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCY$(T^(vS'f,UOY(OZr(Ors%}s!Q(O!Q![$)P![!c(O!c!i$)P!i#O(O#O#P&f#P#T(O#T#Z$)P#Z;'S(O;'S;=`(o<%lO(OCY$)Yr(vS!i8O'f,UOY(OZr(Ors%}sw(Owx$'|x!O(O!O!P#:{!P!Q(O!Q![$)P![!c(O!c!g$)P!g!h$+d!h!i$)P!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X$)P#X#Y$+d#Y#Z$)P#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY$+mu(vS!i8O'f,UOY(OZr(Ors%}sw(Owx$'|x{(O{|!Nb|}(O}!O!Nb!O!P#:{!P!Q(O!Q![$)P![!c(O!c!g$)P!g!h$+d!h!i$)P!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X$)P#X#Y$+d#Y#Z$)P#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCj$.]u)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx$'|x{$e{|#'Q|}$e}!O#'Q!O!P#B}!P!Q$e!Q![$%g![!c$e!c!g$%g!g!h$.Q!h!i$%g!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X$%g#X#Y$.Q#Y#Z$%g#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj$0yc)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!O$e!O!P#Mq!P!Q$e!Q!R$2U!R![$%g![!c$e!c!i$%g!i#O$e#O#P&f#P#T$e#T#Z$%g#Z;'S$e;'S;=`(u<%lO$eCj$2av)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx$'|x!O$e!O!P#B}!P!Q$e!Q![$%g![!c$e!c!g$%g!g!h$.Q!h!i$%g!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#U$%g#U#V$%g#V#X$%g#X#Y$.Q#Y#Z$%g#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$$[#m;'S$e;'S;=`(u<%lO$eGz$5S[({9b)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox![$e![!]$5x!]#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eFh$6TYm:|)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj$7OY)_8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eM^$7{_q8O%]#t)c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!^$8z!^!_$MX!_!`% f!`!a%#m!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8z3h$9T])c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!`$8z!`!a$LU!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8z!b$:PTO!`$9|!`!a$:`!a;'S$9|;'S;=`$:e<%lO$9|!b$:eO$W!b!b$:hP;=`<%l$9|3d$:rZ)c`'f,UOY$:kYZ$9|Zw$:kwx$;ex!`$:k!`!a$If!a#O$:k#O#P$<r#P;'S$:k;'S;=`$JZ<%lO$:k3S$;jX'f,UOY$;eYZ$9|Z!`$;e!`!a$<V!a#O$;e#O#P$<r#P;'S$;e;'S;=`$AY<%lO$;e3S$<`U$W!bY&j'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}3S$<w['f,UOY$;eYZ$;eZ]$;e]^$=m^!`$;e!`!a$A`!a#O$;e#O#P$HO#P;'S$;e;'S;=`$Hv;=`<%l$F[<%lO$;e3S$=rX'f,UOY$;eYZ$>_Z!`$;e!`!a$<V!a#O$;e#O#P$<r#P;'S$;e;'S;=`$AY<%lO$;e-h$>dX'f,UOY$>_YZ$9|Z!`$>_!`!a$?P!a#O$>_#O#P$?j#P;'S$>_;'S;=`$AS<%lO$>_-h$?WU$W!b'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}-h$?oZ'f,UOY$>_YZ$>_Z]$>_]^$@b^!`$>_!`!a$?P!a#O$>_#O#P$?j#P;'S$>_;'S;=`$AS<%lO$>_-h$@gX'f,UOY$>_YZ$>_Z!`$>_!`!a$?P!a#O$>_#O#P$?j#P;'S$>_;'S;=`$AS<%lO$>_-h$AVP;=`<%l$>_3S$A]P;=`<%l$;e3S$AgW$W!b'f,UOY$BPZ!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$BUW'f,UOY$BPZ!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$BuUY&j'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}1p$C^Y'f,UOY$BPYZ$BPZ]$BP]^$C|^#O$BP#O#P$Dt#P;'S$BP;'S;=`$El;=`<%l$F[<%lO$BP1p$DRX'f,UOY$BPYZ%}Z!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$DqP;=`<%l$BP1p$DyZ'f,UOY$BPYZ%}Z]$BP]^$C|^!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$EoXOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx;=`<%l$BP<%lO$F[&j$F_WOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx<%lO$F[&j$F|OY&j&j$GPRO;'S$F[;'S;=`$GY;=`O$F[&j$G]XOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx;=`<%l$F[<%lO$F[&j$G{P;=`<%l$F[3S$HTZ'f,UOY$;eYZ$>_Z]$;e]^$=m^!`$;e!`!a$<V!a#O$;e#O#P$<r#P;'S$;e;'S;=`$AY<%lO$;e3S$HyXOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx;=`<%l$;e<%lO$F[3d$IqW$W!bY&j)c`'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^3d$J^P;=`<%l$:k3W$JhZ(vS'f,UOY$JaYZ$9|Zr$Jars$;es!`$Ja!`!a$KZ!a#O$Ja#O#P$<r#P;'S$Ja;'S;=`$LO<%lO$Ja3W$KfW$W!bY&j(vS'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O3W$LRP;=`<%l$Ja3h$LcY$W!bY&j)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3h$MUP;=`<%l$8zM^$Mf^)c`(vS%[#t!f8O'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!_$8z!_!`$Nb!`!a$LU!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8zM^$Nm]!g:t)c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!`$8z!`!a$LU!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8zM^% s]%]#t!b8O)c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!`$8z!`!a%!l!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8zM^%!}Y%]#t!b8O$W!bY&j)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2U%#xYY&j)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%$s[)p#v)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%%v]%]#t)c`(vS!d8O'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`%&o!`!a%'l!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%&|Y%]#t!b8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%'y[)c`(vS%[#t!f8O'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e,l%(zY(zQ)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf%)yb)c`)OW(vS!R7|(w*t'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%)j![!c$e!c!}%)j!}#O$e#O#P&f#P#R$e#R#S%)j#S#T$e#T#o%)j#o;'S$e;'S;=`(u<%lO$eMf%+bb)c`)OW(vS!R7|(w*t'f,UOY$eZr$ers%,jsw$ewx%-]x!Q$e!Q![%)j![!c$e!c!}%)j!}#O$e#O#P&f#P#R$e#R#S%)j#S#T$e#T#o%)j#o;'S$e;'S;=`(u<%lO$eIQ%,sW)c`(u=j'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^CY%-fW(vS)b8O'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OF`%.ZZ!V:t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!}$e!}#O%.|#O#P&f#P;'S$e;'S;=`(u<%lO$e,l%/XY)VQ)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eGz%/|a'f,UOY%1RYZ%1lZ]%1R]^%2k^!Q%1R!Q![%3X![!w%1R!w!x%4i!x#O%1R#O#P%;o#P#i%1R#i#j%8T#j#l%1R#l#m%<c#m;'S%1R;'S;=`%?U<%lO%1R,j%1YUXd'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}Gz%1u[Xd(o<`'f,UOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}Gz%2rVXd'f,UOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%3`WXd'f,UOY%}Z!Q%}!Q![%3x![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%4PWXd'f,UOY%}Z!Q%}!Q![%1R![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%4n['f,UOY%}Z!Q%}!Q![%5d![!c%}!c!i%5d!i#O%}#O#P&f#P#T%}#T#Z%5d#Z;'S%};'S;=`'r<%lO%},j%5i['f,UOY%}Z!Q%}!Q![%6_![!c%}!c!i%6_!i#O%}#O#P&f#P#T%}#T#Z%6_#Z;'S%};'S;=`'r<%lO%},j%6d['f,UOY%}Z!Q%}!Q![%7Y![!c%}!c!i%7Y!i#O%}#O#P&f#P#T%}#T#Z%7Y#Z;'S%};'S;=`'r<%lO%},j%7_['f,UOY%}Z!Q%}!Q![%8T![!c%}!c!i%8T!i#O%}#O#P&f#P#T%}#T#Z%8T#Z;'S%};'S;=`'r<%lO%},j%8Y['f,UOY%}Z!Q%}!Q![%9O![!c%}!c!i%9O!i#O%}#O#P&f#P#T%}#T#Z%9O#Z;'S%};'S;=`'r<%lO%},j%9T['f,UOY%}Z!Q%}!Q![%9y![!c%}!c!i%9y!i#O%}#O#P&f#P#T%}#T#Z%9y#Z;'S%};'S;=`'r<%lO%},j%:O['f,UOY%}Z!Q%}!Q![%:t![!c%}!c!i%:t!i#O%}#O#P&f#P#T%}#T#Z%:t#Z;'S%};'S;=`'r<%lO%},j%:y['f,UOY%}Z!Q%}!Q![%1R![!c%}!c!i%1R!i#O%}#O#P&f#P#T%}#T#Z%1R#Z;'S%};'S;=`'r<%lO%},j%;vXXd'f,UOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%<h['f,UOY%}Z!Q%}!Q![%=^![!c%}!c!i%=^!i#O%}#O#P&f#P#T%}#T#Z%=^#Z;'S%};'S;=`'r<%lO%},j%=c['f,UOY%}Z!Q%}!Q![%>X![!c%}!c!i%>X!i#O%}#O#P&f#P#T%}#T#Z%>X#Z;'S%};'S;=`'r<%lO%},j%>`[Xd'f,UOY%}Z!Q%}!Q![%>X![!c%}!c!i%>X!i#O%}#O#P&f#P#T%}#T#Z%>X#Z;'S%};'S;=`'r<%lO%},j%?XP;=`<%l%1RCr%?gZ!W7^)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P#Q%@Y#Q;'S$e;'S;=`(u<%lO$e-d%@eY)Ux)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%Ab[)c`(vS%[#t'f,U!_8OOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf%Bgd)c`)OW(vS!R7|(w*t'f,UOY$eZr$ers%,jsw$ewx%-]x!Q$e!Q!Y%)j!Y!Z%+R!Z![%)j![!c$e!c!}%)j!}#O$e#O#P&f#P#R$e#R#S%)j#S#T$e#T#o%)j#o;'S$e;'S;=`(u<%lO$eCj%DQY!T8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%D}^)c`(vS%[#t'f,U!^8OOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P#p$e#p#q%Ey#q;'S$e;'S;=`(u<%lO$eF`%FWY)Z8O%^#t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e-^%GRY!Ur)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e/j%HOc)c`(vS%[#t'RQ'f,UOX$eXY%IZZp$epq%IZqr$ers%^sw$ewx(Ox!c$e!c!}%Jo!}#O$e#O#P&f#P#R$e#R#S%Jo#S#T$e#T#o%Jo#o;'S$e;'S;=`(u<%lO$e,t%Idc)c`(vS'f,UOX$eXY%IZZp$epq%IZqr$ers%^sw$ewx(Ox!c$e!c!}%Jo!}#O$e#O#P&f#P#R$e#R#S%Jo#S#T$e#T#o%Jo#o;'S$e;'S;=`(u<%lO$e,t%Jzb)c`(vSeY'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%Jo![!c$e!c!}%Jo!}#O$e#O#P&f#P#R$e#R#S%Jo#S#T$e#T#o%Jo#o;'S$e;'S;=`(u<%lO$e",tokenizers:[sq,oq,1,2,3,4,5,6,7,8,9,10,new ua("j~RQYZXz{^~^O(r~~aP!P!Qd~iO(s~~",25,355)],topRules:{Program:[0,307]},dynamicPrecedences:{17:1,65:1,87:1,94:1,119:1,184:1,187:-10,240:-10,241:1,244:-1,246:-10,247:1,262:-1,267:2,268:2,306:-10,370:3,423:1,424:3,425:1,426:1},specialized:[{term:361,get:t=>cq[t]||-1},{term:33,get:t=>uq[t]||-1},{term:66,get:t=>fq[t]||-1},{term:368,get:t=>hq[t]||-1}],tokenPrec:24916}),$q=bt.define({name:"cpp",parser:dq.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b)/}),TryStatement:Ot({except:/^\s*({|catch)\b/}),LabeledStatement:oh,CaseStatement:t=>t.baseIndent+t.unit,BlockComment:()=>null,CompoundStatement:Hi({closing:"}"}),Statement:Ot({except:/^{/})}),wt.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":rn,BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function pq(){return new Ut($q)}const Qq=xt({null:$.null,instanceof:$.operatorKeyword,this:$.self,"new super assert open to with void":$.keyword,"class interface extends implements enum var":$.definitionKeyword,"module package import":$.moduleKeyword,"switch while for if else case default do break continue return try catch finally throw":$.controlKeyword,"requires exports opens uses provides public private protected static transitive abstract final strictfp synchronized native transient volatile throws":$.modifier,IntegerLiteral:$.integer,FloatingPointLiteral:$.float,"StringLiteral TextBlock":$.string,CharacterLiteral:$.character,LineComment:$.lineComment,BlockComment:$.blockComment,BooleanLiteral:$.bool,PrimitiveType:$.standard($.typeName),TypeName:$.typeName,Identifier:$.variableName,"MethodName/Identifier":$.function($.variableName),Definition:$.definition($.variableName),ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,AssignOp:$.definitionOperator,UpdateOp:$.updateOperator,Asterisk:$.punctuation,Label:$.labelName,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,".":$.derefOperator,", ;":$.separator}),mq={__proto__:null,true:34,false:34,null:42,void:46,byte:48,short:48,int:48,long:48,char:48,float:48,double:48,boolean:48,extends:62,super:64,class:76,this:78,new:84,public:100,protected:102,private:104,abstract:106,static:108,final:110,strictfp:112,default:114,synchronized:116,native:118,transient:120,volatile:122,throws:150,implements:160,interface:166,enum:176,instanceof:238,open:267,module:269,requires:274,transitive:276,exports:278,to:280,opens:282,uses:284,provides:286,with:288,package:292,import:296,if:308,else:310,while:314,for:318,var:325,assert:332,switch:336,case:342,do:346,break:350,continue:354,return:358,throw:364,try:368,catch:372,finally:380},gq=yt.deserialize({version:14,states:"##jQ]QPOOQ$wQPOOO(bQQO'#H^O*iQQO'#CbOOQO'#Cb'#CbO*pQPO'#CaO*xOSO'#CpOOQO'#Hc'#HcOOQO'#Cu'#CuO,eQPO'#D_O-OQQO'#HmOOQO'#Hm'#HmO/gQQO'#HhO/nQQO'#HhOOQO'#Hh'#HhOOQO'#Hg'#HgO1rQPO'#DUO2PQPO'#GnO4wQPO'#D_O5OQPO'#DzO*pQPO'#E[O5qQPO'#E[OOQO'#DV'#DVO7SQQO'#HaO9^QQO'#EeO9eQPO'#EdO9jQPO'#EfOOQO'#Hb'#HbO7jQQO'#HbO:pQQO'#FhO:wQPO'#ExO:|QPO'#E}O:|QPO'#FPOOQO'#Ha'#HaOOQO'#HY'#HYOOQO'#Gh'#GhOOQO'#HX'#HXO<^QPO'#FiOOQO'#HW'#HWOOQO'#Gg'#GgQ]QPOOOOQO'#Hs'#HsO<cQPO'#HsO<hQPO'#D{O<hQPO'#EVO<hQPO'#EQO<pQPO'#HpO=RQQO'#EfO*pQPO'#C`O=ZQPO'#C`O*pQPO'#FcO=`QPO'#FeO=kQPO'#FkO=kQPO'#FnO<hQPO'#FsO=pQPO'#FpO:|QPO'#FwO=kQPO'#FyO]QPO'#GOO=uQPO'#GQO>QQPO'#GSO>]QPO'#GUO=kQPO'#GWO:|QPO'#GXO>dQPO'#GZO?QQQO'#HiO?mQQO'#CuO?tQPO'#HxO@SQPO'#D_O@rQPO'#DpO?wQPO'#DqO@|QPO'#HxOA_QPO'#DpOAgQPO'#IROAlQPO'#E`OOQO'#Hr'#HrOOQO'#Gm'#GmQ$wQPOOOAtQPO'#HsOOQO'#H^'#H^OCsQQO,58{OOQO'#H['#H[OOOO'#Gi'#GiOEfOSO,59[OOQO,59[,59[OOQO'#Hi'#HiOFVQPO,59eOGXQPO,59yOOQO-E:f-E:fO*pQPO,58zOG{QPO,58zO*pQPO,5;}OHQQPO'#DQOHVQPO'#DQOOQO'#Gk'#GkOIVQQO,59jOOQO'#Dm'#DmOJqQPO'#HuOJ{QPO'#DlOKZQPO'#HtOKcQPO,5<_OKhQPO,59^OLRQPO'#CxOOQO,59c,59cOLYQPO,59bOLeQQO'#H^ONgQQO'#CbO!!iQPO'#D_O!#nQQO'#HmO!$OQQO,59pO!$VQPO'#DvO!$eQPO'#H|O!$mQPO,5:`O!$rQPO,5:`O!%YQPO,5;nO!%eQPO'#ITO!%pQPO,5;eO!%uQPO,5=YOOQO-E:l-E:lOOQO,5:f,5:fO!']QPO,5:fO!'dQPO,5:vO?tQPO,5<_O*pQPO,5:vO<hQPO,5:gO<hQPO,5:qO<hQPO,5:lO<hQPO,5<_O!'zQPO,59qO:|QPO,5:}O!(RQPO,5;QO:|QPO,59TO!(aQPO'#DXOOQO,5;O,5;OOOQO'#El'#ElOOQO'#Eo'#EoO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;fOOQO,5;i,5;iOOQO,5<S,5<SO!(hQPO,5;bO!(yQPO,5;dO!(hQPO'#CyO!)QQQO'#HmO!)`QQO,5;kO]QPO,5<TOOQO-E:e-E:eOOQO,5>_,5>_O!*sQPO,5:gO!+RQPO,5:qO!+ZQPO,5:lO!+fQPO,5>[O!$VQPO,5>[O!'iQPO,59UO!+qQQO,58zO!+yQQO,5;}O!,RQQO,5<PO*pQPO,5<PO:|QPO'#DUO]QPO,5<VO]QPO,5<YO!,ZQPO'#FrO]QPO,5<[O]QPO,5<aO!,kQQO,5<cO!,uQPO,5<eO!,zQPO,5<jOOQO'#Fj'#FjOOQO,5<l,5<lO!-PQPO,5<lOOQO,5<n,5<nO!-UQPO,5<nO!-ZQQO,5<pOOQO,5<p,5<pO>gQPO,5<rO!-bQQO,5<sO!-iQPO'#GdO!.oQPO,5<uO>gQPO,5<}O!2mQPO,59jO!2zQPO'#HuO!3RQPO,59xO!3WQPO,5>dO?tQPO,59xO!3cQPO,5:[OAlQPO,5:zO!3kQPO'#DrO?wQPO'#DrO!3vQPO'#HyO!4OQPO,5:]O?tQPO,5>dO!(hQPO,5>dOAgQPO,5>mOOQO,5:[,5:[O!$rQPO'#DtOOQO,5>m,5>mO!4TQPO'#EaOOQO,5:z,5:zO!7UQPO,5:zO!(hQPO'#DxOOQO-E:k-E:kOOQO,5:y,5:yO*pQPO,58}O!7ZQPO'#ChOOQO1G.k1G.kOOOO-E:g-E:gOOQO1G.v1G.vO!+qQQO1G.fO*pQPO1G.fO!7eQQO1G1iOOQO,59l,59lO!7mQPO,59lOOQO-E:i-E:iO!7rQPO,5>aO!8ZQPO,5:WO<hQPO'#GpO!8bQPO,5>`OOQO1G1y1G1yOOQO1G.x1G.xO!8{QPO'#CyO!9kQPO'#HmO!9uQPO'#CzO!:TQPO'#HlO!:]QPO,59dOOQO1G.|1G.|OLYQPO1G.|O!:sQPO,59eO!;QQQO'#H^O!;cQQO'#CbOOQO,5:b,5:bO<hQPO,5:cOOQO,5:a,5:aO!;tQQO,5:aOOQO1G/[1G/[O!;yQPO,5:bO!<[QPO'#GsO!<oQPO,5>hOOQO1G/z1G/zO!<wQPO'#DvO!=YQPO1G/zO!(hQPO'#GqO!=_QPO1G1YO:|QPO1G1YO<hQPO'#GyO!=gQPO,5>oOOQO1G1P1G1POOQO1G0Q1G0QO!=oQPO'#E]OOQO1G0b1G0bO!>`QPO1G1yO!'dQPO1G0bO!*sQPO1G0RO!+RQPO1G0]O!+ZQPO1G0WOOQO1G/]1G/]O!>eQQO1G.pO9eQPO1G0jO*pQPO1G0jO<pQPO'#HpO!@[QQO1G.pOOQO1G.p1G.pO!@aQQO1G0iOOQO1G0l1G0lO!@hQPO1G0lO!@sQQO1G.oO!AZQQO'#HqO!AhQPO,59sO!BzQQO1G0pO!DfQQO1G0pO!DmQQO1G0pO!FUQQO1G0pO!F]QQO1G0pO!GbQQO1G0pO!I]QQO1G0pO!IdQQO1G0pO!IkQQO1G0pO!IuQQO1G1QO!I|QQO'#HmOOQO1G0|1G0|O!KSQQO1G1OOOQO1G1O1G1OOOQO1G1o1G1oO!KjQPO'#D[O!(hQPO'#D|O!(hQPO'#D}OOQO1G0R1G0RO!KqQPO1G0RO!KvQPO1G0RO!LOQPO1G0RO!LZQPO'#EXOOQO1G0]1G0]O!LnQPO1G0]O!LsQPO'#ETO!(hQPO'#ESOOQO1G0W1G0WO!MmQPO1G0WO!MrQPO1G0WO!MzQPO'#EhO!NRQPO'#EhOOQO'#Gx'#GxO!NZQQO1G0mO# }QQO1G3vO9eQPO1G3vO#$PQPO'#FXOOQO1G.f1G.fOOQO1G1i1G1iO#$WQPO1G1kOOQO1G1k1G1kO#$cQQO1G1kO#$kQPO1G1qOOQO1G1t1G1tO+QQPO'#D_O-OQQO,5<bO#(cQPO,5<bO#(tQPO,5<^O#({QPO,5<^OOQO1G1v1G1vOOQO1G1{1G1{OOQO1G1}1G1}O:|QPO1G1}O#,oQPO'#F{OOQO1G2P1G2PO=kQPO1G2UOOQO1G2W1G2WOOQO1G2Y1G2YOOQO1G2[1G2[OOQO1G2^1G2^OOQO1G2_1G2_O#,vQQO'#H^O#-aQQO'#CbO-OQQO'#HmO#-zQQOOO#.hQQO'#EeO#.VQQO'#HbO!$VQPO'#GeO#.oQPO,5=OOOQO'#HQ'#HQO#.wQPO1G2aO#2uQPO'#G]O>gQPO'#GaOOQO1G2a1G2aO#2zQPO1G2iO#6xQPO,5>gOOQO1G/d1G/dOOQO1G4O1G4OO#7ZQPO1G/dOOQO1G/v1G/vOOQO1G0f1G0fO!7UQPO1G0fOOQO,5:^,5:^O!(hQPO'#DsO#7`QPO,5:^O?wQPO'#GrO#7kQPO,5>eOOQO1G/w1G/wOAgQPO'#H{O#7sQPO1G4OO?tQPO1G4OOOQO1G4X1G4XO!#YQPO'#DvO!!iQPO'#D_OOQO,5:{,5:{O#8OQPO,5:{O#8OQPO,5:{O#8VQQO'#HaO#9hQQO'#HbO#9rQQO'#EbO#9}QPO'#EbO#:VQPO'#IOOOQO,5:d,5:dOOQO1G.i1G.iO#:bQQO'#EeO#:rQQO'#H`O#;SQPO'#FTOOQO'#H`'#H`O#;^QPO'#H`O#;{QPO'#IWO#<TQPO,59SOOQO7+$Q7+$QO!+qQQO7+$QOOQO7+'T7+'TOOQO1G/W1G/WO#<YQPO'#DoO#<dQQO'#HvOOQO'#Hv'#HvOOQO1G/r1G/rOOQO,5=[,5=[OOQO-E:n-E:nO#<tQWO,58{O#<{QPO,59fOOQO,59f,59fO!(hQPO'#HoOKmQPO'#GjO#=ZQPO,5>WOOQO1G/O1G/OOOQO7+$h7+$hOOQO1G/{1G/{O#=cQQO1G/{OOQO1G/}1G/}O#=hQPO1G/{OOQO1G/|1G/|O<hQPO1G/}OOQO,5=_,5=_OOQO-E:q-E:qOOQO7+%f7+%fOOQO,5=],5=]OOQO-E:o-E:oO:|QPO7+&tOOQO7+&t7+&tOOQO,5=e,5=eOOQO-E:w-E:wO#=mQPO'#EUO#={QPO'#EUOOQO'#Gw'#GwO#>dQPO,5:wOOQO,5:w,5:wOOQO7+'e7+'eOOQO7+%|7+%|OOQO7+%m7+%mO!KqQPO7+%mO!KvQPO7+%mO!LOQPO7+%mOOQO7+%w7+%wO!LnQPO7+%wOOQO7+%r7+%rO!MmQPO7+%rO!MrQPO7+%rOOQO7+&U7+&UOOQO'#Ee'#EeO9eQPO7+&UO9eQPO,5>[O#?TQPO7+$[OOQO7+&T7+&TOOQO7+&W7+&WO:|QPO'#GlO#?cQPO,5>]OOQO1G/_1G/_O:|QPO7+&lO#?nQQO,59eO#@tQPO,59vOOQO,59v,59vOOQO,5:h,5:hOOQO'#EP'#EPOOQO,5:i,5:iO#@{QPO'#EYO<hQPO'#EYO#A^QPO'#IPO#AiQPO,5:sO?tQPO'#HxO!(hQPO'#HxO#AqQPO'#DpOOQO'#Gu'#GuO#AxQPO,5:oOOQO,5:o,5:oOOQO,5:n,5:nOOQO,5;S,5;SO#BrQQO,5;SO#ByQPO,5;SOOQO-E:v-E:vOOQO7+&X7+&XOOQO7+)b7+)bO#CQQQO7+)bOOQO'#G|'#G|O#DqQPO,5;sOOQO,5;s,5;sO#DxQPO'#FYO*pQPO'#FYO*pQPO'#FYO*pQPO'#FYO#EWQPO7+'VO#E]QPO7+'VOOQO7+'V7+'VO]QPO7+']O#EhQPO1G1|O?tQPO1G1|O#EvQQO1G1xO!(aQPO1G1xO#E}QPO1G1xO#FUQQO7+'iOOQO'#HP'#HPO#F]QPO,5<gOOQO,5<g,5<gO#FdQPO'#HsO:|QPO'#F|O#FlQPO7+'pO#FqQPO,5=PO?tQPO,5=PO#FvQPO1G2jO#HPQPO1G2jOOQO1G2j1G2jOOQO-E;O-E;OOOQO7+'{7+'{O!<[QPO'#G_O>gQPO,5<wOOQO,5<{,5<{O#HXQPO7+(TOOQO7+(T7+(TO#LVQPO1G4ROOQO7+%O7+%OOOQO7+&Q7+&QO#LhQPO,5:_OOQO1G/x1G/xOOQO,5=^,5=^OOQO-E:p-E:pOOQO7+)j7+)jO#LsQPO7+)jO!:bQPO,5:aOOQO1G0g1G0gO#MOQPO1G0gO#MVQPO,59qO#MkQPO,5:|O9eQPO,5:|O!(hQPO'#GtO#MpQPO,5>jO#M{QPO,59TO#NSQPO'#IVO#N[QPO,5;oO*pQPO'#G{O#NaQPO,5>rOOQO1G.n1G.nOOQO<<Gl<<GlO#NiQPO'#HwO#NqQPO,5:ZOOQO1G/Q1G/QOOQO,5>Z,5>ZOOQO,5=U,5=UOOQO-E:h-E:hO#NvQPO7+%gOOQO7+%g7+%gOOQO7+%i7+%iOOQO<<J`<<J`O$ ^QPO'#H^O$ eQPO'#CbO$ lQPO,5:pO$ qQPO,5:xO#=mQPO,5:pOOQO-E:u-E:uOOQO1G0c1G0cOOQO<<IX<<IXO!KqQPO<<IXO!KvQPO<<IXOOQO<<Ic<<IcOOQO<<I^<<I^O!MmQPO<<I^OOQO<<Ip<<IpO$ vQQO<<GvO9eQPO<<IpO*pQPO<<IpOOQO<<Gv<<GvO$#mQQO,5=WOOQO-E:j-E:jO$#zQQO<<JWOOQO1G/b1G/bOOQO,5:t,5:tO$$bQPO,5:tO$$pQPO,5:tO$%RQPO'#GvO$%iQPO,5>kO$%tQPO'#EZOOQO1G0_1G0_O$%{QPO1G0_O?tQPO,5:pOOQO-E:s-E:sOOQO1G0Z1G0ZOOQO1G0n1G0nO$&QQQO1G0nOOQO<<L|<<L|OOQO-E:z-E:zOOQO1G1_1G1_O$&XQQO,5;tOOQO'#G}'#G}O#DxQPO,5;tOOQO'#IX'#IXO$&aQQO,5;tO$&rQQO,5;tOOQO<<Jq<<JqO$&zQPO<<JqOOQO<<Jw<<JwO:|QPO7+'hO$'PQPO7+'hO!(aQPO7+'dO$'_QPO7+'dO$'dQQO7+'dOOQO<<KT<<KTOOQO-E:}-E:}OOQO1G2R1G2ROOQO,5<h,5<hO$'kQQO,5<hOOQO<<K[<<K[O:|QPO1G2kO$'rQPO1G2kOOQO,5=n,5=nOOQO7+(U7+(UO$'wQPO7+(UOOQO-E;Q-E;QO$)fQWO'#HhO$)QQWO'#HhO$)mQPO'#G`O<hQPO,5<yO!$VQPO,5<yOOQO1G2c1G2cOOQO<<Ko<<KoO$*OQPO1G/yOOQO<<MU<<MUOOQO7+&R7+&RO$*ZQPO1G0jO$*fQQO1G0hOOQO1G0h1G0hO$*nQPO1G0hOOQO,5=`,5=`OOQO-E:r-E:rO$*sQQO1G.oOOQO1G1[1G1[O$*}QPO'#GzO$+[QPO,5>qOOQO1G1Z1G1ZO$+dQPO'#FUOOQO,5=g,5=gOOQO-E:y-E:yO$+iQPO'#GoO$+vQPO,5>cOOQO1G/u1G/uOOQO<<IR<<IROOQO1G0[1G0[O$,OQPO1G0dO$,TQPO1G0[O$,YQPO1G0dOOQOAN>sAN>sO!KqQPOAN>sOOQOAN>xAN>xOOQOAN?[AN?[O9eQPOAN?[OOQO1G0`1G0`O$,_QPO1G0`OOQO,5=b,5=bOOQO-E:t-E:tO$,mQPO,5:uOOQO7+%y7+%yOOQO7+&Y7+&YOOQO1G1`1G1`O$,tQQO1G1`OOQO-E:{-E:{O$,|QQO'#IYO$,wQPO1G1`O$&gQPO1G1`O*pQPO1G1`OOQOAN@]AN@]O$-XQQO<<KSO:|QPO<<KSO$-`QPO<<KOOOQO<<KO<<KOO!(aQPO<<KOOOQO1G2S1G2SO$-eQQO7+(VO:|QPO7+(VOOQO<<Kp<<KpP!-iQPO'#HSO!$VQPO'#HRO$-oQPO,5<zO$-zQPO1G2eO<hQPO1G2eO9eQPO7+&SO$.PQPO7+&SOOQO7+&S7+&SOOQO,5=f,5=fOOQO-E:x-E:xO#M{QPO,5;pOOQO,5=Z,5=ZOOQO-E:m-E:mO$.UQPO7+&OOOQO7+%v7+%vO$.dQPO7+&OOOQOG24_G24_OOQOG24vG24vOOQO7+%z7+%zOOQO7+&z7+&zO*pQPO'#HOO$.iQPO,5>tO$.qQPO7+&zO$.vQQO'#IZOOQOAN@nAN@nO$/RQQOAN@nOOQOAN@jAN@jO$/YQPOAN@jO$/_QQO<<KqO$/iQPO,5=mOOQO-E;P-E;POOQO7+(P7+(PO$/zQPO7+(PO$0PQPO<<InOOQO<<In<<InO$0UQPO<<IjOOQO<<Ij<<IjO#M{QPO<<IjO$0UQPO<<IjO$0dQQO,5=jOOQO-E:|-E:|OOQO<<Jf<<JfO$0oQPO,5>uOOQOG26YG26YOOQOG26UG26UOOQO<<Kk<<KkOOQOAN?YAN?YOOQOAN?UAN?UO#M{QPOAN?UO$0wQPOAN?UO$0|QPOAN?UO$1[QPOG24pOOQOG24pG24pO#M{QPOG24pOOQOLD*[LD*[O$1aQPOLD*[OOQO!$'Mv!$'MvO*pQPO'#CaO$1fQQO'#H^O$1yQQO'#CbO!(hQPO'#Cy",stateData:"$2i~OPOSQOS%yOS~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POv{OwkOz!OO}cO!PvO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO![!`O!]yO!^yO!_yO!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&tdO~Og^Oh^Ov{O}cO!P!mO!SyO!TyO!UyO!VyO!W!pO!XyO!YyO!ZzO!]yO!^yO!_yO!u}O!z|O%}TO&P!cO&R!dO&_!hO&tdO~OWiXW&QXZ&QXuiXu&QX!P&QX!b&QX#]&QX#_&QX#a&QX#b&QX#d&QX#e&QX#f&QX#g&QX#h&QX#i&QX#k&QX#o&QX#r&QX%}iX&PiX&RiX&^&QX&_iX&_&QX&n&QX&viX&v&QX&x!aX~O#p$^X~P&bOWUXW&]XZUXuUXu&]X!PUX!bUX#]UX#_UX#aUX#bUX#dUX#eUX#fUX#gUX#hUX#iUX#kUX#oUX#rUX%}&]X&P&]X&R&]X&^UX&_UX&_&]X&nUX&vUX&v&]X&x!aX~O#p$^X~P(iO&PSO&R!qO~O&W!vO&Y!tO~Og^Oh^O!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO%}TO&P!wO&RWOg!RXh!RX$h!RX&P!RX&R!RX~O#y!|O#z!{O$W!}Ov!RX!u!RX!z!RX&t!RX~P+QOW#XOu#OO%}TO&P#SO&R#SO&v&aX~OW#[Ou&[X%}&[X&P&[X&R&[X&v&[XY&[Xw&[X&n&[X&q&[XZ&[Xq&[X&^&[X!P&[X#_&[X#a&[X#b&[X#d&[X#e&[X#f&[X#g&[X#h&[X#i&[X#k&[X#o&[X#r&[X}&[X!r&[X#p&[Xs&[X|&[X~O&_#YO~P-dO&_&[X~P-dOZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO#fpO#roO#tpO#upO%}TO&XUO~O&P#^O&R#]OY&pP~P/uO%}TOg%bXh%bXv%bX!S%bX!T%bX!U%bX!V%bX!W%bX!X%bX!Y%bX!Z%bX!]%bX!^%bX!_%bX!u%bX!z%bX$h%bX&P%bX&R%bX&t%bX&_%bX~O!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yOg!RXh!RXv!RX!u!RX!z!RX&P!RX&R!RX&t!RX&_!RX~O$h!RX~P3gO|#kO~P]Og^Oh^Ov#pO!u#rO!z#qO&P!wO&RWO&t#oO~O$h#sO~P5VOu#uO&v#vO!P&TX#_&TX#a&TX#b&TX#d&TX#e&TX#f&TX#g&TX#h&TX#i&TX#k&TX#o&TX#r&TX&^&TX&_&TX&n&TX~OW#tOY&TX#p&TXs&TXq&TX|&TX~P5xO!b#wO#]#wOW&UXu&UX!P&UX#_&UX#a&UX#b&UX#d&UX#e&UX#f&UX#g&UX#h&UX#i&UX#k&UX#o&UX#r&UX&^&UX&_&UX&n&UX&v&UXY&UX#p&UXs&UXq&UX|&UX~OZ#XX~P7jOZ#xO~O&v#vO~O#_#|O#a#}O#b$OO#d$QO#e$RO#f$SO#g$TO#h$UO#i$UO#k$YO#o$VO#r$WO&^#zO&_#zO&n#{O~O!P$XO~P9oO&x$ZO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO#fpO#roO#tpO#upO%}TO&P0qO&R0pO&XUO~O#p$_O~O![$aO~O&P#SO&R#SO~Og^Oh^O&P!wO&RWO&_#YO~OW$gO&v#vO~O#z!{O~O!W$kO&PSO&R!qO~OZ$lO~OZ$oO~O!P$vO&P$uO&R$uO~O!P$xO&P$uO&R$uO~O!P${O~P:|OZ%OO}cO~OW&]Xu&]X%}&]X&P&]X&R&]X&_&]X~OZ!aX~P>lOWiXuiX%}iX&PiX&RiX&_iX~OZ!aX~P?XOu#OO%}TO&P#SO&R#SO~O%}TO~P3gOg^Oh^Ov#pO!u#rO!z#qO&_!hO&t#oO~O&P!cO&R!dO~P@ZOg^Oh^O%}TO&P!cO&R!dO~O}cO!P%aO~OZ%bO~O}%dO!m%gO~O}cOg&gXh&gXv&gX!S&gX!T&gX!U&gX!V&gX!W&gX!X&gX!Y&gX!Z&gX!]&gX!^&gX!_&gX!u&gX!z&gX%}&gX&P&gX&R&gX&_&gX&t&gX~OW%jOZ%kOgTahTa%}Ta&PTa&RTa~OvTa!STa!TTa!UTa!VTa!WTa!XTa!YTa!ZTa!]Ta!^Ta!_Ta!uTa!zTa#yTa#zTa$WTa$hTa&tTa&_TauTaYTaqTa|Ta!PTa~PC[O&W%nO&Y!tO~Ou#OO%}TOqma&^maYma&nma!Pma~O&vma}ma!rma~PEnO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO~Og!Rah!Rav!Ra!u!Ra!z!Ra$h!Ra&P!Ra&R!Ra&t!Ra&_!Ra~PFdO#z%pO~Os%rO~Ou%sO%}TO~Ou#OO%}ra&Pra&Rra&vraYrawra&nra&qra!Pra&^raqra~OWra#_ra#ara#bra#dra#era#fra#gra#hra#ira#kra#ora#rra&_ra#prasra|ra~PH_Ou#OO%}TOq&iX!P&iX!b&iX~OY&iX#p&iX~PJ`O!b%vOq!`X!P!`XY!`X~Oq%wO!P&hX~O!P%yO~Ov%zO~Og^Oh^O%}0oO&P!wO&RWO&b%}O~O&^&`P~PKmO%}TO&P!wO&RWO~OW&QXYiXY!aXY&QXZ&QXq!aXu&QXwiX!b&QX#]&QX#_&QX#a&QX#b&QX#d&QX#e&QX#f&QX#g&QX#h&QX#i&QX#k&QX#o&QX#r&QX&^&QX&_&QX&niX&n&QX&qiX&viX&v&QX&x!aX~P?XOWUXYUXY!aXY&]XZUXq!aXuUXw&]X!bUX#]UX#_UX#aUX#bUX#dUX#eUX#fUX#gUX#hUX#iUX#kUX#oUX#rUX&^UX&_UX&nUX&n&]X&q&]X&vUX&v&]X&x!aX~P>lOg^Oh^O%}TO&P!wO&RWOg!RXh!RX&P!RX&R!RX~PFdOu#OOw&XO%}TO&P&UO&R&TO&q&WO~OW#XOY&aX&n&aX&v&aX~P!#YOY&ZO~P9oOg^Oh^O&P!wO&RWO~Oq&]OY&pX~OY&_O~Og^Oh^O%}TO&P!wO&RWOY&pP~PFdOY&dO&n&bO&v#vO~Oq&eO&x$ZOY&wX~OY&gO~O%}TOg%bah%bav%ba!S%ba!T%ba!U%ba!V%ba!W%ba!X%ba!Y%ba!Z%ba!]%ba!^%ba!_%ba!u%ba!z%ba$h%ba&P%ba&R%ba&t%ba&_%ba~O|&hO~P]O}&iO~Op&uOw&vO&PSO&R!qO&_#YO~Oz&tO~P!'iOz&xO&PSO&R!qO&_#YO~OY&eP~P:|Og^Oh^O%}TO&P!wO&RWO~O}cO~P:|OW#XOu#OO%}TO&v&aX~O#r$WO!P#sa#_#sa#a#sa#b#sa#d#sa#e#sa#f#sa#g#sa#h#sa#i#sa#k#sa#o#sa&^#sa&_#sa&n#saY#sa#p#sas#saq#sa|#sa~Oo'_O}'^O!r'`O&_!hO~O}'eO!r'`O~Oo'iO}'hO&_!hO~OZ#xOu'mO%}TO~OW%jO}'sO~OW%jO!P'uO~OW'vO!P'wO~O$h!WO&P0qO&R0pO!P&eP~P/uO!P(SO#p(TO~P9oO}(UO~O$c(WO~O!P(XO~O!P(YO~O!P(ZO~P9oO!P(]O~P9oOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdO%Q(hO%U(iOZ$}a_$}a`$}aa$}ab$}ac$}ae$}ag$}ah$}ap$}av$}aw$}az$}a}$}a!P$}a!S$}a!T$}a!U$}a!V$}a!W$}a!X$}a!Y$}a!Z$}a![$}a!]$}a!^$}a!_$}a!u$}a!z$}a#f$}a#r$}a#t$}a#u$}a#y$}a#z$}a$W$}a$Y$}a$`$}a$c$}a$e$}a$h$}a$l$}a$n$}a$s$}a$u$}a$w$}a$y$}a$|$}a%O$}a%w$}a%}$}a&P$}a&R$}a&X$}a&t$}a|$}a$a$}a$q$}a~O}ra!rra'Ora~PH_OZ%bO~PJ`O!P(mO~O!m%gO}&la!P&la~O}cO!P(pO~Oo(tOq!fX&^!fX~Oq(vO&^&mX~O&^(xO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op)UOv{Ow)TOz!OO|)PO}cO!PvO![!`O!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&_#YO&tdO~PFdO}%dO~O})]OY&zP~P:|OW%jO!P)dO~Os)eO~Ou#OO%}TOq&ia!P&ia!b&iaY&ia#p&ia~O})fO~P:|Oq%wO!P&ha~Og^Oh^O%}0oO&P!wO&RWO~O&b)mO~P!8jOu#OO%}TOq&aX&^&aXY&aX&n&aX!P&aX~O}&aX!r&aX~P!9SOo)oOp)oOqnX&^nX~Oq)pO&^&`X~O&^)rO~Ou#OOw)tO%}TO&PSO&R!qO~OYma&nma&vma~P!:bOW&QXY!aXq!aXu!aX%}!aX~OWUXY!aXq!aXu!aX%}!aX~OW)wO~Ou#OO%}TO&P#SO&R#SO&q)yO~Og^Oh^O%}TO&P!wO&RWO~PFdOq&]OY&pa~Ou#OO%}TO&P#SO&R#SO&q&WO~OY)|O~OY*PO&n&bO~Oq&eOY&wa~Og^Oh^Ov{O|*XO!u}O%}TO&P!wO&RWO&tdO~PFdO!P*YO~OW^iZ#XXu^i!P^i!b^i#]^i#_^i#a^i#b^i#d^i#e^i#f^i#g^i#h^i#i^i#k^i#o^i#r^i&^^i&_^i&n^i&v^iY^i#p^is^iq^i|^i~OW*iO~Os*jO~P9oOz*kO&PSO&R!qO~O!P]iY]i#p]is]iq]i|]i~P9oOq*lOY&eX!P&eX~P9oOY*nO~O#f$SO#g$TO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#h$UO#i$UO~P!AmO#_#|O#d$QO#e$RO#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO&n#{O!P#^i#b#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#a#^i~P!CUO#a#}O~P!CUO#_#|O#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO!P#^i#a#^i#b#^i#d#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O&n#^i~P!DtO&n#{O~P!DtO#f$SO#g$TO#k$YO#r$WO!P#^i#a#^i#b#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#_#|O#d$QO#h$UO#i$UO&^#zO&_#zO&n#{O~P!FdO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#f#^i#h#^i#i#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#g$TO~P!G{O#g#^i~P!G{O#h#^i#i#^i~P!AmO#p*oO~P9oO#_&aX#a&aX#b&aX#d&aX#e&aX#f&aX#g&aX#h&aX#i&aX#k&aX#o&aX#r&aX&_&aX#p&aXs&aX|&aX~P!9SO!P#liY#li#p#lis#liq#li|#li~P9oO|*rO~P$wO}'^O~O}'^O!r'`O~Oo'_O}'^O!r'`O~O%}TO&P#SO&R#SO|&sP!P&sP~PFdO}'eO~Og^Oh^Ov{O|+PO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdO}'hO~Oo'iO}'hO~Os+RO~P:|Ou+TO%}TO~Ou'mO})fO%}TOW#Zi!P#Zi#_#Zi#a#Zi#b#Zi#d#Zi#e#Zi#f#Zi#g#Zi#h#Zi#i#Zi#k#Zi#o#Zi#r#Zi&^#Zi&_#Zi&n#Zi&v#ZiY#Zi#p#Zis#Ziq#Zi|#Zi~O}'^OW&diu&di!P&di#_&di#a&di#b&di#d&di#e&di#f&di#g&di#h&di#i&di#k&di#o&di#r&di&^&di&_&di&n&di&v&diY&di#p&dis&diq&di|&di~O#}+]O$P+^O$R+^O$S+_O$T+`O~O|+[O~P##nO$Z+aO&PSO&R!qO~OW+bO!P+cO~O$a+dOZ$_i_$_i`$_ia$_ib$_ic$_ie$_ig$_ih$_ip$_iv$_iw$_iz$_i}$_i!P$_i!S$_i!T$_i!U$_i!V$_i!W$_i!X$_i!Y$_i!Z$_i![$_i!]$_i!^$_i!_$_i!u$_i!z$_i#f$_i#r$_i#t$_i#u$_i#y$_i#z$_i$W$_i$Y$_i$`$_i$c$_i$e$_i$h$_i$l$_i$n$_i$s$_i$u$_i$w$_i$y$_i$|$_i%O$_i%w$_i%}$_i&P$_i&R$_i&X$_i&t$_i|$_i$q$_i~Og^Oh^O$h#sO&P!wO&RWO~O!P+hO~P:|O!P+iO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POv{OwkOz!OO}cO!PvO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!Z+nO![!`O!]yO!^yO!_yO!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$q+oO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&tdO~O|+mO~P#)QOW&QXY&QXZ&QXu&QX!P&QX&viX&v&QX~P?XOWUXYUXZUXuUX!PUX&vUX&v&]X~P>lOW#tOu#uO&v#vO~OW&UXY%XXu&UX!P%XX&v&UX~OZ#XX~P#.VOY+uO!P+sO~O%Q(hO%U(iOZ$}i_$}i`$}ia$}ib$}ic$}ie$}ig$}ih$}ip$}iv$}iw$}iz$}i}$}i!P$}i!S$}i!T$}i!U$}i!V$}i!W$}i!X$}i!Y$}i!Z$}i![$}i!]$}i!^$}i!_$}i!u$}i!z$}i#f$}i#r$}i#t$}i#u$}i#y$}i#z$}i$W$}i$Y$}i$`$}i$c$}i$e$}i$h$}i$l$}i$n$}i$s$}i$u$}i$w$}i$y$}i$|$}i%O$}i%w$}i%}$}i&P$}i&R$}i&X$}i&t$}i|$}i$a$}i$q$}i~OZ+xO~O%Q(hO%U(iOZ%Vi_%Vi`%Via%Vib%Vic%Vie%Vig%Vih%Vip%Viv%Viw%Viz%Vi}%Vi!P%Vi!S%Vi!T%Vi!U%Vi!V%Vi!W%Vi!X%Vi!Y%Vi!Z%Vi![%Vi!]%Vi!^%Vi!_%Vi!u%Vi!z%Vi#f%Vi#r%Vi#t%Vi#u%Vi#y%Vi#z%Vi$W%Vi$Y%Vi$`%Vi$c%Vi$e%Vi$h%Vi$l%Vi$n%Vi$s%Vi$u%Vi$w%Vi$y%Vi$|%Vi%O%Vi%w%Vi%}%Vi&P%Vi&R%Vi&X%Vi&t%Vi|%Vi$a%Vi$q%Vi~Ou#OO%}TO}&oa!P&oa!m&oa~O!P,OO~Oo(tOq!fa&^!fa~Oq(vO&^&ma~O!m%gO}&li!P&li~O|,XO~P]OW,ZO~P5xOW&UXu&UX#_&UX#a&UX#b&UX#d&UX#e&UX#f&UX#g&UX#h&UX#i&UX#k&UX#o&UX#r&UX&^&UX&_&UX&n&UX&v&UX~OZ#xO!P&UX~P#8^OW$gOZ#xO&v#vO~Op,]Ow,]O~Oq,^O}&rX!P&rX~O!b,`O#]#wOY&UXZ#XX~P#8^OY&SXq&SX|&SX!P&SX~P9oO})]O|&yP~P:|OY&SXg%[Xh%[X%}%[X&P%[X&R%[Xq&SX|&SX!P&SX~Oq,cOY&zX~OY,eO~O})fO|&kP~P:|Oq&jX!P&jX|&jXY&jX~P9oO&bTa~PC[Oo)oOp)oOqna&^na~Oq)pO&^&`a~OW,mO~Ow,nO~Ou#OO%}TO&P,rO&R,qO~Og^Oh^Ov#pO!u#rO&P!wO&RWO&t#oO~Og^Oh^Ov{O|,wO!u}O%}TO&P!wO&RWO&tdO~PFdOw-SO&PSO&R!qO&_#YO~Oq*lOY&ea!P&ea~O#_ma#ama#bma#dma#ema#fma#gma#hma#ima#kma#oma#rma&_ma#pmasma|ma~PEnO|-WO~P$wOZ#xO}'^Oq!|X|!|X!P!|X~Oq-[O|&sX!P&sX~O|-_O!P-^O~O&_!hO~P5VOg^Oh^Ov{O|-cO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdOs-dO~P9oOs-dO~P:|O}'^OW&dqu&dq!P&dq#_&dq#a&dq#b&dq#d&dq#e&dq#f&dq#g&dq#h&dq#i&dq#k&dq#o&dq#r&dq&^&dq&_&dq&n&dq&v&dqY&dq#p&dqs&dqq&dq|&dq~O|-hO~P##nO!W-lO$O-lO&PSO&R!qO~O!P-oO~O$Z-pO&PSO&R!qO~O!b%vO#p-rOq!`X!P!`X~O!P-tO~P9oO!P-tO~P:|O!P-wO~P9oO|-yO~P#)QO![$aO#p-zO~O!P-|O~O!b-}O~OY.QOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOY.QO!P.RO~O%Q(hO%U(iOZ%Vq_%Vq`%Vqa%Vqb%Vqc%Vqe%Vqg%Vqh%Vqp%Vqv%Vqw%Vqz%Vq}%Vq!P%Vq!S%Vq!T%Vq!U%Vq!V%Vq!W%Vq!X%Vq!Y%Vq!Z%Vq![%Vq!]%Vq!^%Vq!_%Vq!u%Vq!z%Vq#f%Vq#r%Vq#t%Vq#u%Vq#y%Vq#z%Vq$W%Vq$Y%Vq$`%Vq$c%Vq$e%Vq$h%Vq$l%Vq$n%Vq$s%Vq$u%Vq$w%Vq$y%Vq$|%Vq%O%Vq%w%Vq%}%Vq&P%Vq&R%Vq&X%Vq&t%Vq|%Vq$a%Vq$q%Vq~Ou#OO%}TO}&oi!P&oi!m&oi~O&n&bOq!ga&^!ga~O!m%gO}&lq!P&lq~O|.^O~P]Op.`Ow&vOz&tO&PSO&R!qO&_#YO~O!P.aO~Oq,^O}&ra!P&ra~O})]O~P:|Oq.gO|&yX~O|.iO~Oq,cOY&za~Oq.mO|&kX~O|.oO~Ow.pO~Oq!aXu!aX!P!aX!b!aX%}!aX~OZ&QX~P#N{OZUX~P#N{O!P.qO~OZ.rO~OW^yZ#XXu^y!P^y!b^y#]^y#_^y#a^y#b^y#d^y#e^y#f^y#g^y#h^y#i^y#k^y#o^y#r^y&^^y&_^y&n^y&v^yY^y#p^ys^yq^y|^y~OY%`aq%`a!P%`a~P9oO!P#nyY#ny#p#nys#nyq#ny|#ny~P9oO}'^Oq!|a|!|a!P!|a~OZ#xO}'^Oq!|a|!|a!P!|a~O%}TO&P#SO&R#SOq%jX|%jX!P%jX~PFdOq-[O|&sa!P&sa~O|!}X~P$wO|/PO~Os/QO~P9oOW%jO!P/RO~OW%jO$Q/WO&PSO&R!qO!P&|P~OW%jO$U/XO~O!P/YO~O!b%vO#p/[Oq!`X!P!`X~OY/^O~O!P/_O~P9oO#p/`O~P9oO!b/bO~OY/cOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOW#[Ou&[X%}&[X&P&[X&R&[X'O&[X~O&_#YO~P$)QOu#OO%}TO'O/eO&P%SX&R%SX~O&n&bOq!gi&^!gi~Op/iO&PSO&R!qO~OW*iOZ#xO~O!P/kO~OY&SXq&SX~P9oO})]Oq%nX|%nX~P:|Oq.gO|&ya~O!b/nO~O})fOq%cX|%cX~P:|Oq.mO|&ka~OY/qO~O!P/rO~OZ/sO~O}'^Oq!|i|!|i!P!|i~O|!}a~P$wOW%jO!P/wO~OW%jOq/xO!P&|X~OY/|O~P9oOY0OO~OY%Xq!P%Xq~P9oO'O/eO&P%Sa&R%Sa~OY0TO~O!P0WO~Ou#OO!P0YO!Z0ZO%}TO~OY0[O~Oq/xO!P&|a~O!P0_O~OW%jOq/xO!P&}X~OY0aO~P9oOY0bO~OY%Xy!P%Xy~P9oOu#OO%}TO&P%ua&R%ua'O%ua~OY0cO~O!P0dO~Ou#OO!P0eO!Z0fO%}TO~OW%jOq%ra!P%ra~Oq/xO!P&}a~O!P0jO~Ou#OO!P0jO!Z0kO%}TO~O!P0lO~O!P0nO~O#p&QXY&QXs&QXq&QX|&QX~P&bO#pUXYUXsUXqUX|UX~P(iO`Q_P#g%y&P&Xc&X~",goto:"#+S'OPPPP'P'd*x.OP'dPP.d.h0PPPPPP1nP3ZPP4v7l:[<z=d?[PPP?bPA{PPPBu3ZPDqPPElPFcFkPPPPPPPPPPPPGvH_PKjKrLOLjLpLvNiNmNmNuP! U!!^!#R!#]P!#r!!^P!#x!$S!!y!$cP!%S!%^!%d!!^!%g!%mFcFc!%q!%{!&O3Z!'m3Z3Z!)iP.hP!)mPP!*_PPPPPP.hP.h!+O.hPP.hP.hPP.h!,g!,qPP!,w!-QPPPPPPPP'PP'PPP!-U!-U!-i!-UPP!-UP!-UP!.S!.VP!-U!.m!-UP!-UP!.p!.sP!-UP!-UP!-UP!-UP!-U!-UP!-UP!.wP!.}!/Q!/WP!-U!/d!/gP!/o!0R!4T!4Z!4a!5g!5m!5{!7R!7X!7_!7i!7o!7u!7{!8R!8X!8_!8e!8k!8q!8w!8}!9T!9_!9e!9o!9uPPP!9{!-U!:pP!>WP!?[P!Ap!BW!E]3ZPPP!F|!Jm!MaPP#!P#!SP#$`#$f#&V#&f#&n#'p#(Y#)T#)^#)a#)oP#)r#*OP#*V#*^P#*aP#*lP#*o#*r#*u#*y#+PstOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y'urOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%k%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)])f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,`,u-[-^-a-r-t-}.R.V.g.m/O/[/_/b/d/n/q0R0X0Z0[0f0h0k0r#xhO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kt!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oQ#mdS&Y#`(}Q&l#oU&q#t$g,ZQ&x#vW(b%O+s.R/dU)Y%j'v+bQ)Z%kS)u&S,WU*f&s-R._Q*k&yQ,t*TQ-P*iQ.j,cR.t,uu!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oT%l!r)l#{qO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k#zlO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kX(c%O+s.R/d$TVO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k$TkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rQ&Q#[Q)s&RV.T+x.X/e&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.T+x.X/e&O]OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.U+x.X/eS#Z[.TS$f!O&tS&s#t$gQ&y#vQ)V%dQ-R*iR._,Z$kZO`copx!Y![!_!a#Y#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$_$l$m$n$o$p$q%O%d%g%k%v&b&d'_'`'i'm(O(T(U(t)Q)R)])f)o)p*P*l*o+T+d+h+i+l+o+s,Y,^,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ&O#YR,k)p&P_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0r!o#QY!e!x#R#T#`#n$]%R%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0h$SkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ$m!UQ$n!VQ$s!ZQ$|!`R+p(WQ#yiS'q$e*hQ*e&rQ+X'rS,[)T)UQ-O*gQ-Y*vQ.b,]Q.x-QQ.{-ZQ/j.`Q/u.yR0V/iQ'a$bW*[&m'b'c'dQ+W'qU,x*]*^*_Q-X*vQ-f+XS.u,y,zS.z-Y-ZQ/t.vR/v.{]!mP!o'^*q-^/OreOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!gP!o'^*q-^/OW#b`#e%b&]Q'}$oW(d%O+s.R/dS*U&i*WS*w'e-[S*|'h+OR.X+xh#VY!W!e#n#s%V'|*T*z+f,u-aQ)j%wQ)v&WR,o)y#xnOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k^!kP!g!o'^*q-^/Ov#TY!W#`#n#s%w&W&[&`'|(`(})y*T+f+r,u.W/hQ#g`Q$b{Q$c|Q$d}W%S!e%V*z-aS%Y!h(vQ%`!iQ&m#pQ&n#qQ&o#rQ(u%ZS(y%^({Q*R&eS*v'e-[R-Z*wU)h%v)f.mR+V'p[!mP!o'^*q-^/OT*}'h+O^!iP!g!o'^*q-^/OQ'd$bQ'l$dQ*_&mQ*d&oV*{'h*|+OQ%[!hR,S(vQ(s%YR,R(u#znO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%c!kS(l%S(yR(|%`T#e`%bU#c`#e%bR)z&]Q%f!lQ(n%UQ(r%XQ,U(zR.],VrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OQ%P!bQ%a!jQ%i!pQ'[$ZQ([$|Q(k%QQ(p%WQ+z(iR.Y+yrtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OS*V&i*WT*}'h+OQ'c$bS*^&m'dR,z*_Q'b$bQ'g$cU*]&m'c'dQ*a&nS,y*^*_R.v,zQ*u'`R+Q'iQ'k$dS*c&o'lR,}*dQ'j$dU*b&o'k'lS,|*c*dR.w,}rtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OT*}'h+OQ'f$cS*`&n'gR,{*aQ*x'eR.|-[R-`*yQ&j#mR*Z&lT*V&i*WQ%e!lS(q%X%fR,P(rR)R%dWk%O+s.R/d#{lO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k$SiO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kU&r#t$g,ZS*g&s._Q-Q*iR.y-RT'o$e'p!_#|m#a$r$z$}&w&z&{'O'P'Q'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q!]$Pm#a$r$z$}&w&z&{'O'P'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q#{nO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0ka)^%k)],`.g/n0Z0f0kQ)`%kR.k,cQ't$hQ)b%oR,f)cT+Y's+ZsvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YruOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YQ$w!]R$y!^R$p!XrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YR(O$oR$q!XR(V$sT+k(U+lX(f%P(g(k+{R+y(hQ.W+xR/h.XQ(j%PQ+w(gQ+|(kR.Z+{R%Q!bQ(e%OV.P+s.R/dQxOQ#lcW$`x#l)Q,YQ)Q%dR,Y)RrXOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Yn!fP!o#e&]&i'^'e'h*W*q+O+x-[-^/Ol!zX!f#P#_#i$[%Z%_%{&R'n'{)O0r!j#PY!e!x#T#`#n$]%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0hQ#_`Q#ia#d$[op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%g%k%v&b&d'_'`'i'm(O(T(t)])f)o*P*l*o+T+h+i+o,^,`-r-t-}.g.m/[/_/b/n0Z0f0kS%Z!h(vS%_!i*{S%{#Y)pQ&R#[S'n$e'pY'{$o%O+s.R/dQ)O%bR0r$YQ!uUR%m!uQ)q&OR,l)q^#RY#`$]'X'|(`*px%R!e!x#n%V%^%|&S&[&`({(}*T*z+f+r,W,u-a.V0R[%t#R%R%u+}0X0hS%u#T%SQ+}(lQ0X/qR0h0[Q*m&{R-U*mQ!oPU%h!o*q/OQ*q'^R/O-^!pbOP`cx![!o#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h(U)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dY!yX!f#_'{)OT#jb!yQ.n,gR/p.nQ%x#VR)k%xQ&c#fS*O&c.[R.[,QQ(w%[R,T(wQ&^#cR){&^Q,_)WR.d,_Q+O'hR-b+OQ-]*xR.}-]Q*W&iR,v*WQ'p$eR+U'pQ&f#gR*S&fQ.h,aR/m.hQ,d)`R.l,dQ+Z'sR-g+ZQ-k+]R/T-kQ/y/US0^/y0`R0`/{Q+l(UR-x+lQ(g%PS+v(g+{R+{(kQ/f.VR0S/fQ+t(eR.S+t`wOcx#l%d)Q)R,YQ$t![Q']$_Q'y$mQ'z$nQ(Q$pQ(R$qS+k(U+lR-q+d'dsOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,u-[-^-a-r-t-}.R.V.m/O/[/_/b/d/q0R0X0[0h0ra)_%k)],`.g/n0Z0f0kQ!rTQ$h!QQ$i!SQ$j!TQ%o!{Q%q!}Q'x$kQ)c%pQ)l0oS-i+]+_Q-m+^Q-n+`Q/S-kS/U-m/WQ/{/XR0]/x%uSOT`cdopx!Q!S!T!Y![!_!a!{!}#`#l#o#t#u#v#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$g$k$l$m$n$o$p$q%O%d%j%k%p%v&S&d&s&y'm'v(O(T(U(})Q)R)])f*P*T*i*l*o+T+]+^+_+`+b+d+h+i+l+o+s,W,Y,Z,`,c,u-R-k-m-r-t-}.R._.g.m/W/X/[/_/b/d/n/x0Z0f0k0oQ)a%kQ,a)]S.f,`/nQ/l.gQ0g0ZQ0i0fR0m0krmOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YS#a`$lQ$WoQ$^pQ$r!YQ$z!_Q$}!aQ&w#uQ&z#wY&{#x$o+h-t/_Q&}#|Q'O#}Q'P$OQ'Q$PQ'R$QQ'S$RQ'T$SQ'U$TQ'V$UQ'W$VQ'Z$Z^)[%k)].g/n0Z0f0kU)g%v)f.mQ*Q&dQ+S'mQ+g(OQ+j(TQ,p*PQ-T*lQ-V*oQ-e+TQ-v+iQ-{+oQ.e,`Q/Z-rQ/a-}Q/}/[R0Q/b#xgO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kW(a%O+s.R/dR)S%drYOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!eP!o'^*q-^/OW!xX$[%{'{Q#``Q#ne#S$]op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%k%v&d'm(O(T)])f*P*l*o+T+h+i+o,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%V!gS%^!i*{d%|#Y%g&b'_'`'i(t)o)p,^Q&S#_Q&[#bS&`#e&]Q'X$YQ'|$oW(`%O+s.R/dQ({%_Q(}%bS*T&i*WQ*p0rS*z'h+OQ+f'}Q+r(dQ,W)OQ,u*UQ-a*|S.V+x.XR0R/e&O_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rQ$e!OQ'r$fR*h&t&ZWOPX`ceopx!O!Y![!_!a!g!i!o#Y#[#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&R&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rR&P#Y$QjOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ#f`Q&O#YQ'Y$YU)W%g'`'iQ)}&bQ*s'_Q,Q(tQ,j)oQ,k)pR.c,^Q)n%}R,i)m$SfO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kT&p#t,ZQ&|#xQ(P$oQ-u+hQ/]-tR0P/_]!nP!o'^*q-^/O#PaOPX`bcx![!f!o!y#_#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h'{(U)O)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dU#WY!W'|Q%T!eU&k#n#s+fQ(o%VS,s*T*zT.s,u-aj#UY!W!e#n#s%V%w&W)y*T*z,u-aU&V#`&`(}Q)x&[Q+e'|Q+q(`Q-s+fQ.O+rQ/g.WR0U/hQ)i%vQ,g)fR/o.mR,h)f`!jP!o'^'h*q+O-^/OT%W!g*|R%]!hW%U!e%V*z-aQ(z%^R,V({S#d`%bR&a#eQ)X%gT*t'`'iR*y'e[!lP!o'^*q-^/OR%X!gR#h`R,b)]R)a%kT-j+]-kQ/V-mR/z/WR/z/X",nodeNames:"⚠ LineComment BlockComment Program ModuleDeclaration MarkerAnnotation Identifier ScopedIdentifier . Annotation ) ( AnnotationArgumentList AssignmentExpression FieldAccess IntegerLiteral FloatingPointLiteral BooleanLiteral CharacterLiteral StringLiteral TextBlock null ClassLiteral void PrimitiveType TypeName ScopedTypeName GenericType TypeArguments AnnotatedType Wildcard extends super , ArrayType ] Dimension [ class this ParenthesizedExpression ObjectCreationExpression new ArgumentList } { ClassBody ; FieldDeclaration Modifiers public protected private abstract static final strictfp default synchronized native transient volatile VariableDeclarator Definition AssignOp ArrayInitializer MethodDeclaration TypeParameters TypeParameter TypeBound FormalParameters ReceiverParameter FormalParameter SpreadParameter Throws throws Block ClassDeclaration Superclass SuperInterfaces implements InterfaceTypeList InterfaceDeclaration interface ExtendsInterfaces InterfaceBody ConstantDeclaration EnumDeclaration enum EnumBody EnumConstant EnumBodyDeclarations AnnotationTypeDeclaration AnnotationTypeBody AnnotationTypeElementDeclaration StaticInitializer ConstructorDeclaration ConstructorBody ExplicitConstructorInvocation ArrayAccess MethodInvocation MethodName MethodReference ArrayCreationExpression Dimension AssignOp BinaryExpression CompareOp CompareOp LogicOp LogicOp BitOp BitOp BitOp ArithOp ArithOp ArithOp BitOp InstanceofExpression instanceof LambdaExpression InferredParameters TernaryExpression LogicOp : UpdateExpression UpdateOp UnaryExpression LogicOp BitOp CastExpression ElementValueArrayInitializer ElementValuePair open module ModuleBody ModuleDirective requires transitive exports to opens uses provides with PackageDeclaration package ImportDeclaration import Asterisk ExpressionStatement LabeledStatement Label IfStatement if else WhileStatement while ForStatement for ForSpec LocalVariableDeclaration var EnhancedForStatement ForSpec AssertStatement assert SwitchStatement switch SwitchBlock SwitchLabel case DoStatement do BreakStatement break ContinueStatement continue ReturnStatement return SynchronizedStatement ThrowStatement throw TryStatement try CatchClause catch CatchFormalParameter CatchType FinallyClause finally TryWithResourcesStatement ResourceSpecification Resource ClassContent",maxTerm:276,nodeProps:[["isolate",-4,1,2,18,19,""],["group",-26,4,47,76,77,82,87,92,145,147,150,151,153,156,158,161,163,165,167,172,174,176,178,180,181,183,191,"Statement",-25,6,13,14,15,16,17,18,19,20,21,22,39,40,41,99,100,102,103,106,118,120,122,125,127,130,"Expression",-7,23,24,25,26,27,29,34,"Type"],["openedBy",10,"(",44,"{"],["closedBy",11,")",45,"}"]],propSources:[Qq],skippedNodes:[0,1,2],repeatNodeCount:28,tokenData:"#'f_R!_OX%QXY'fYZ)bZ^'f^p%Qpq'fqr*|rs,^st%Qtu4euv5zvw7[wx8rxyAZyzAwz{Be{|CZ|}Dq}!OE_!O!PFx!P!Q! r!Q!R!,h!R![!0`![!]!>p!]!^!@Q!^!_!@n!_!`!BX!`!a!B{!a!b!Di!b!c!EX!c!}!LT!}#O!Mj#O#P%Q#P#Q!NW#Q#R!Nt#R#S4e#S#T%Q#T#o4e#o#p# h#p#q#!U#q#r##n#r#s#$[#s#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4eS%VV&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS%qO&YSS%tVOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZS&^VOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS&vP;=`<%l%QS&|UOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZS'cP;=`<%l&Z_'mk&YS%yZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qs#y%Q#y#z'f#z$f%Q$f$g'f$g#BY%Q#BY#BZ'f#BZ$IS%Q$IS$I_'f$I_$I|%Q$I|$JO'f$JO$JT%Q$JT$JU'f$JU$KV%Q$KV$KW'f$KW&FU%Q&FU&FV'f&FV;'S%Q;'S;=`&s<%lO%Q_)iY&YS%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XZ*^Y%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XV+TX#tP&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QU+wV#_Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT,aXOY,|YZ%lZr,|rs3Ys#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T-PXOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT-qX&YSOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT.cVcPOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZT.}V&YSOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT/iW&YSOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0UWOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0sOcPP0vTOY0RYZ0RZ;'S0R;'S;=`1V<%lO0RP1YP;=`<%l0RT1`XOY,|YZ%lZr,|rs1{s#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T2QUcPOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZT2gVOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT3PP;=`<%l-lT3VP;=`<%l,|T3_VcPOY&ZYZ%lZr&Zrs3ts;'S&Z;'S;=`'`<%lO&ZT3yR&WSXY4SYZ4`pq4SP4VRXY4SYZ4`pq4SP4eO&XP_4lb&YS&PZOY%QYZ%lZr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o$g%Q$g;'S4e;'S;=`5t<%lO4e_5wP;=`<%l4eU6RX#hQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU6uV#]Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV7cZ&nR&YSOY%QYZ%lZr%Qrs%qsv%Qvw8Uw!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU8]V#aQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT8wZ&YSOY9jYZ%lZr9jrs:xsw9jwx%Qx#O9j#O#P<S#P;'S9j;'S;=`AT<%lO9jT9oX&YSOY%QYZ%lZr%Qrs%qsw%Qwx:[x;'S%Q;'S;=`&s<%lO%QT:cVbP&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT:{XOY&ZYZ%lZr&Zrs&ysw&Zwx;hx;'S&Z;'S;=`'`<%lO&ZT;mVbPOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT<XZ&YSOY<zYZ%lZr<zrs=rsw<zwx9jx#O<z#O#P9j#P;'S<z;'S;=`?^<%lO<zT=PZ&YSOY<zYZ%lZr<zrs=rsw<zwx:[x#O<z#O#P%Q#P;'S<z;'S;=`?^<%lO<zT=uZOY>hYZ%lZr>hrs?dsw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hT>kZOY<zYZ%lZr<zrs=rsw<zwx:[x#O<z#O#P%Q#P;'S<z;'S;=`?^<%lO<zT?aP;=`<%l<zT?gZOY>hYZ%lZr>hrs@Ysw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hP@]VOY@YZw@Ywx@rx#O@Y#P;'S@Y;'S;=`@w<%lO@YP@wObPP@zP;=`<%l@YTAQP;=`<%l>hTAWP;=`<%l9j_AbVZZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBOVYR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBnX$ZP&YS#gQOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVCbZ#fR&YSOY%QYZ%lZr%Qrs%qs{%Q{|DT|!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVD[V#rR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVDxVqR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVEf[#fR&YSOY%QYZ%lZr%Qrs%qs}%Q}!ODT!O!_%Q!_!`6n!`!aF[!a;'S%Q;'S;=`&s<%lO%QVFcV&xR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_GPZWY&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PGr!P!Q%Q!Q![IQ![;'S%Q;'S;=`&s<%lO%QVGwX&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PHd!P;'S%Q;'S;=`&s<%lO%QVHkV&qR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTIXc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#R%Q#R#SNz#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTJkV&YS`POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTKV]&YSOY%QYZ%lZr%Qrs%qs{%Q{|LO|}%Q}!OLO!O!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLTX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLwc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![!f%Q!f!gJd!g!h%Q!h!iJd!i#R%Q#R#SNS#S#W%Q#W#XJd#X#Y%Q#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTNXZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![#R%Q#R#SNS#S;'S%Q;'S;=`&s<%lO%QT! PZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![#R%Q#R#SNz#S;'S%Q;'S;=`&s<%lO%Q_! y]&YS#gQOY%QYZ%lZr%Qrs%qsz%Qz{!!r{!P%Q!P!Q!)e!Q!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%Q_!!wX&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!#iT&YSOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!#{TOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!$_VOz!#xz{!$[{!P!#x!P!Q!$t!Q;'S!#x;'S;=`!$y<%lO!#xZ!$yOQZZ!$|P;=`<%l!#x_!%SXOY!%oYZ!#dZr!%ors!'ysz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!%rXOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!&dZ&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!'^V&YSQZOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!'vP;=`<%l!!r_!'|XOY!%oYZ!#dZr!%ors!#xsz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!(lZOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!)bP;=`<%l!%o_!)lV&YSPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!*WVPZOY!*mYZ%lZr!*mrs!+_s;'S!*m;'S;=`!,b<%lO!*m_!*rVPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!+[P;=`<%l!)e_!+dVPZOY!*mYZ%lZr!*mrs!+ys;'S!*m;'S;=`!,b<%lO!*mZ!,OSPZOY!+yZ;'S!+y;'S;=`!,[<%lO!+yZ!,_P;=`<%l!+y_!,eP;=`<%l!*mT!,ou&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!d%Q!d!e!3j!e!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o!q%Q!q!r!5h!r!z%Q!z!{!7`!{#R%Q#R#S!2r#S#U%Q#U#V!3j#V#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a#c%Q#c#d!5h#d#l%Q#l#m!7`#m;'S%Q;'S;=`&s<%lO%QT!/Za&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QT!0gi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o#R%Q#R#S!2r#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!2]V&YS_POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT!2wZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!0`![#R%Q#R#S!2r#S;'S%Q;'S;=`&s<%lO%QT!3oY&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S;'S%Q;'S;=`&s<%lO%QT!4f`&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S!n%Q!n!o!2U!o#R%Q#R#S!3j#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!5mX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y;'S%Q;'S;=`&s<%lO%QT!6a_&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y!n%Q!n!o!2U!o#R%Q#R#S!5h#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!7e_&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!P!8d!P!Q%Q!Q![!:r![!c%Q!c!i!:r!i#T%Q#T#Z!:r#Z;'S%Q;'S;=`&s<%lO%QT!8i]&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i#T%Q#T#Z!9b#Z;'S%Q;'S;=`&s<%lO%QT!9gc&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i!r%Q!r!sKQ!s#R%Q#R#S!8d#S#T%Q#T#Z!9b#Z#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!:yi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!<h!P!Q%Q!Q![!:r![!c%Q!c!i!:r!i!n%Q!n!o!2U!o!r%Q!r!sKQ!s#R%Q#R#S!=r#S#T%Q#T#Z!:r#Z#`%Q#`#a!2U#a#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!<ma&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i!r%Q!r!sKQ!s#T%Q#T#Z!9b#Z#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!=w]&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!:r![!c%Q!c!i!:r!i#T%Q#T#Z!:r#Z;'S%Q;'S;=`&s<%lO%QV!>wX#pR&YSOY%QYZ%lZr%Qrs%qs![%Q![!]!?d!];'S%Q;'S;=`&s<%lO%QV!?kV&vR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!@XV!PR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!@uY&_Z&YSOY%QYZ%lZr%Qrs%qs!^%Q!^!_!Ae!_!`+p!`;'S%Q;'S;=`&s<%lO%QU!AlX#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV!B`X!bR&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QV!CSY&^R&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`!a!Cr!a;'S%Q;'S;=`&s<%lO%QU!CyY#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`!a!Ae!a;'S%Q;'S;=`&s<%lO%Q_!DrV&bX#oQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!E`X%}Z&YSOY%QYZ%lZr%Qrs%qs#]%Q#]#^!E{#^;'S%Q;'S;=`&s<%lO%QV!FQX&YSOY%QYZ%lZr%Qrs%qs#b%Q#b#c!Fm#c;'S%Q;'S;=`&s<%lO%QV!FrX&YSOY%QYZ%lZr%Qrs%qs#h%Q#h#i!G_#i;'S%Q;'S;=`&s<%lO%QV!GdX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!HP#Y;'S%Q;'S;=`&s<%lO%QV!HUX&YSOY%QYZ%lZr%Qrs%qs#f%Q#f#g!Hq#g;'S%Q;'S;=`&s<%lO%QV!HvX&YSOY%QYZ%lZr%Qrs%qs#Y%Q#Y#Z!Ic#Z;'S%Q;'S;=`&s<%lO%QV!IhX&YSOY%QYZ%lZr%Qrs%qs#T%Q#T#U!JT#U;'S%Q;'S;=`&s<%lO%QV!JYX&YSOY%QYZ%lZr%Qrs%qs#V%Q#V#W!Ju#W;'S%Q;'S;=`&s<%lO%QV!JzX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!Kg#Y;'S%Q;'S;=`&s<%lO%QV!KnV&tR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!L[b&RZ&YSOY%QYZ%lZr%Qrs%qst%Qtu!LTu!Q%Q!Q![!LT![!c%Q!c!}!LT!}#R%Q#R#S!LT#S#T%Q#T#o!LT#o$g%Q$g;'S!LT;'S;=`!Md<%lO!LT_!MgP;=`<%l!LT_!MqVuZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!N_VsR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QU!N{X#eQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV# oV}R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#!_Z'OX#dQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`#p%Q#p#q##Q#q;'S%Q;'S;=`&s<%lO%QU##XV#bQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV##uV|R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT#$cV#uP&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#%Ru&YS%yZ&PZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4e",tokenizers:[0,1,2,3],topRules:{Program:[0,3],ClassContent:[1,194]},dynamicPrecedences:{27:1,232:-1,243:-1},specialized:[{term:231,get:t=>mq[t]||-1}],tokenPrec:7144}),Pq=bt.define({name:"java",parser:gq.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b)/}),TryStatement:Ot({except:/^\s*({|catch|finally)\b/}),LabeledStatement:oh,SwitchBlock:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},Block:Hi({closing:"}"}),BlockComment:()=>null,Statement:Ot({except:/^{/})}),wt.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":rn,BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function Sq(){return new Ut(Pq)}const bq=1,yq=2,xq=275,Xq=3,wq=276,UQ=277,kq=278,Tq=4,vq=5,_q=6,Rq=7,qQ=8,Yq=9,Zq=10,zq=11,Uq=12,qq=13,Vq=14,Wq=15,jq=16,Cq=17,Eq=18,Gq=19,Aq=20,Nq=21,Iq=22,Lq=23,Dq=24,Mq=25,Bq=26,Fq=27,Hq=28,Kq=29,Jq=30,eV=31,tV=32,iV=33,nV=34,OV=35,rV=36,aV=37,sV=38,oV=39,lV=40,cV=41,uV=42,fV=43,hV=44,dV=45,$V=46,pV=47,QV=48,mV=49,gV=50,PV=51,SV=52,bV=53,yV=54,xV=55,XV=56,wV=57,kV=58,TV=59,vV=60,_V=61,RV=62,Rc=63,YV=64,ZV=65,zV=66,UV={abstract:Tq,and:vq,array:_q,as:Rq,true:qQ,false:qQ,break:Yq,case:Zq,catch:zq,clone:Uq,const:qq,continue:Vq,declare:jq,default:Wq,do:Cq,echo:Eq,else:Gq,elseif:Aq,enddeclare:Nq,endfor:Iq,endforeach:Lq,endif:Dq,endswitch:Mq,endwhile:Bq,enum:Fq,extends:Hq,final:Kq,finally:Jq,fn:eV,for:tV,foreach:iV,from:nV,function:OV,global:rV,goto:aV,if:sV,implements:oV,include:lV,include_once:cV,instanceof:uV,insteadof:fV,interface:hV,list:dV,match:$V,namespace:pV,new:QV,null:mV,or:gV,print:PV,readonly:SV,require:bV,require_once:yV,return:xV,switch:XV,throw:wV,trait:kV,try:TV,unset:vV,use:_V,var:RV,public:Rc,private:Rc,protected:Rc,while:YV,xor:ZV,yield:zV,__proto__:null};function VQ(t){let e=UV[t.toLowerCase()];return e??-1}function WQ(t){return t==9||t==10||t==13||t==32}function zy(t){return t>=97&&t<=122||t>=65&&t<=90}function Fr(t){return t==95||t>=128||zy(t)}function Yc(t){return t>=48&&t<=55||t>=97&&t<=102||t>=65&&t<=70}const qV={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},VV=new ke(t=>{if(t.next==40){t.advance();let e=0;for(;WQ(t.peek(e));)e++;let i="",n;for(;zy(n=t.peek(e));)i+=String.fromCharCode(n),e++;for(;WQ(t.peek(e));)e++;t.peek(e)==41&&qV[i.toLowerCase()]&&t.acceptToken(bq)}else if(t.next==60&&t.peek(1)==60&&t.peek(2)==60){for(let n=0;n<3;n++)t.advance();for(;t.next==32||t.next==9;)t.advance();let e=t.next==39;if(e&&t.advance(),!Fr(t.next))return;let i=String.fromCharCode(t.next);for(;t.advance(),!(!Fr(t.next)&&!(t.next>=48&&t.next<=55));)i+=String.fromCharCode(t.next);if(e){if(t.next!=39)return;t.advance()}if(t.next!=10&&t.next!=13)return;for(;;){let n=t.next==10||t.next==13;if(t.advance(),t.next<0)return;if(n){for(;t.next==32||t.next==9;)t.advance();let O=!0;for(let r=0;r<i.length;r++){if(t.next!=i.charCodeAt(r)){O=!1;break}t.advance()}if(O)return t.acceptToken(yq)}}}}),WV=new ke(t=>{t.next<0&&t.acceptToken(kq)}),jV=new ke((t,e)=>{t.next==63&&e.canShift(UQ)&&t.peek(1)==62&&t.acceptToken(UQ)});function CV(t){let e=t.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let i=2,n;for(;i<5&&(n=t.peek(i))>=48&&n<=55;)i++;return i}if(e==120&&Yc(t.peek(2)))return Yc(t.peek(3))?4:3;if(e==117&&t.peek(2)==123)for(let i=3;;i++){let n=t.peek(i);if(n==125)return i==2?0:i+1;if(!Yc(n))break}return 0}const EV=new ke((t,e)=>{let i=!1;for(;!(t.next==34||t.next<0||t.next==36&&(Fr(t.peek(1))||t.peek(1)==123)||t.next==123&&t.peek(1)==36);i=!0){if(t.next==92){let n=CV(t);if(n){if(i)break;return t.acceptToken(Xq,n)}}else if(!i&&(t.next==91||t.next==45&&t.peek(1)==62&&Fr(t.peek(2))||t.next==63&&t.peek(1)==45&&t.peek(2)==62&&Fr(t.peek(3)))&&e.canShift(wq))break;t.advance()}i&&t.acceptToken(xq)}),GV=xt({"Visibility abstract final static":$.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":$.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":$.controlKeyword,"and or xor yield unset clone instanceof insteadof":$.operatorKeyword,"function fn class trait implements extends const enum global interface use var":$.definitionKeyword,"include include_once require require_once namespace":$.moduleKeyword,"new from echo print array list as":$.keyword,null:$.null,Boolean:$.bool,VariableName:$.variableName,"NamespaceName/...":$.namespace,"NamedType/...":$.typeName,Name:$.name,"CallExpression/Name":$.function($.variableName),"LabelStatement/Name":$.labelName,"MemberExpression/Name":$.propertyName,"MemberExpression/VariableName":$.special($.propertyName),"ScopedExpression/ClassMemberName/Name":$.propertyName,"ScopedExpression/ClassMemberName/VariableName":$.special($.propertyName),"CallExpression/MemberExpression/Name":$.function($.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":$.function($.propertyName),"MethodDeclaration/Name":$.function($.definition($.variableName)),"FunctionDefinition/Name":$.function($.definition($.variableName)),"ClassDeclaration/Name":$.definition($.className),UpdateOp:$.updateOperator,ArithOp:$.arithmeticOperator,"LogicOp IntersectionType/&":$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,ControlOp:$.controlOperator,AssignOp:$.definitionOperator,"$ ConcatOp":$.operator,LineComment:$.lineComment,BlockComment:$.blockComment,Integer:$.integer,Float:$.float,String:$.string,ShellExpression:$.special($.string),"=> ->":$.punctuation,"( )":$.paren,"#[ [ ]":$.squareBracket,"${ { }":$.brace,"-> ?->":$.derefOperator,", ; :: : \\":$.separator,"PhpOpen PhpClose":$.processingInstruction}),AV={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},NV=yt.deserialize({version:14,states:"%#[Q`OWOOQhQaOOP%oO`OOOOO#t'#Hh'#HhO%tO#|O'#DuOOO#u'#Dx'#DxQ&SOWO'#DxO&XO$VOOOOQ#u'#Dy'#DyO&lQaO'#D}O'[QdO'#EQO+QQdO'#IqO+_QdO'#ERO-RQaO'#EXO/bQ`O'#EUO/gQ`O'#E_O2UQaO'#E_O2]Q`O'#EgO2bQ`O'#EqO-RQaO'#EqO2mQpO'#FOO2rQ`O'#FOOOQS'#Iq'#IqO2wQ`O'#ExOOQS'#Ih'#IhO5SQdO'#IeO9UQeO'#F]O-RQaO'#FlO-RQaO'#FmO-RQaO'#FnO-RQaO'#FoO-RQaO'#FoO-RQaO'#FrOOQO'#Ir'#IrO9cQ`O'#FxOOQO'#Ht'#HtO9kQ`O'#HXO:VQ`O'#FsO:bQ`O'#HfO:mQ`O'#GPO:uQaO'#GQO-RQaO'#G`O-RQaO'#GcO;bOrO'#GfOOQS'#JP'#JPOOQS'#JO'#JOOOQS'#Ie'#IeO/bQ`O'#GmO/bQ`O'#GoO/bQ`O'#GtOhQaO'#GvO;iQ`O'#GwO;nQ`O'#GzO:]Q`O'#G}O;sQeO'#HOO;sQeO'#HPO;sQeO'#HQO;}Q`O'#HRO<SQ`O'#HTO<XQaO'#HUO>hQ`O'#HVO:]Q`O'#HWO>mQ`O'#HWO;}Q`O'#HXO:]Q`O'#HZO:]Q`O'#H[O:]Q`O'#H]O>rQ`O'#H`O>}Q`O'#HaO<XQaO'#HeOOQ#u'#Ic'#IcOOQ#u'#Hj'#HjQhQaOOO:]Q`O'#HYO:QQ`O'#HYO?]O#|O'#DsPOOO)CDT)CDTOOO#t-E;f-E;fOOO#u,5:d,5:dOOO#u'#Hi'#HiO&XO$VOOO?hQ$VO'#IbOOOO'#Ib'#IbQOOOOOOOQ#y,5:i,5:iO?oQaO,5:iOOQ#u,5:k,5:kO?vQaO,5:nO?}QaO,5;VO@UQpO,5;WOBsQaO'#EuOOQS,5;`,5;`OBzQ`O,5;pOOQP'#Fd'#FdO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xOOQ#u'#Iv'#IvOOQS,5<z,5<zOOQ#u,5:m,5:mODsQ`O,5:sODzQ`O'#FsOESQ`O'#FsOE[Q`O,5:pOEaQaO'#E`OOQS,5:y,5:yOGeQ`O'#IjO<XQaO'#EbO<XQaO'#IjOOQS'#Ij'#IjOGlQ`O'#IiOGtQ`O,5:yO/lQaO,5:yOGyQaO'#EhOOQS,5;R,5;ROOQS,5;],5;]OHTQ`O,5;]OHsQdO'#FQOJxQ`O'#HrO2mQpO,5;jOOQS,5;j,5;jOJ}QpO,5;jOKSQtO'#EQOKaQpO,5;dO2wQ`O'#E|OOQS'#E}'#E}OOQS'#Ip'#IpOKlQaO,5:xO-RQaO,5;uOOQS,5;w,5;wO-RQaO,5;wOKsQdO,5<WOLTQdO,5<XOLeQdO,5<YOLuQdO,5<ZON|QdO,5<ZO! TQdO,5<^O! eQ`O'#FyO! pQ`O'#IuO! xQ`O,5<dOOQO-E;r-E;rO! }Q`O'#I}O:]Q`O,5=rO!!VQ`O,5=rO;}Q`O,5=sO:]Q`O,5=wO:]Q`O,5=tO!![Q`O,5=tOOQS'#EQ'#EQO!!aQ`O'#FuO!!wQ`O,5<_O!#SQ`O,5<_O!#[Q`O,5?iO!#aQ`O,5<_O!#iQ`O,5<kO!#qQdO'#GYO!$PQdO'#I|O!$[QdO,5>QO!$dQ`O,5<kO!#[Q`O,5<kO!$lQdO,5<lO!$|Q`O,5<lO!%[Q`O,5<lO!%rQdO,5<zO!'wQdO,5<}O!(XOrO'#IPOOOQ'#JS'#JSO-RQaO'#GkOOOQ'#IP'#IPO!(yOrO,5=QOOQS,5=Q,5=QO!)QQaO,5=XO!)XQ`O,5=ZO!)aQeO,5=`O!)kQ`O,5=bO!)pQaO'#GxO!)aQeO,5=cO<XQaO'#G{O!)aQeO,5=fO!$[QdO,5=iO+_QdO,5=jOOQ#u,5=j,5=jO+_QdO,5=kOOQ#u,5=k,5=kO+_QdO,5=lOOQ#u,5=l,5=lO!)wQ`O,5=mO:]Q`O,5=oO!*PQdO'#JUOOQS'#JU'#JUO!$[QdO,5=pO!+iQaO,5=qO!-xQ`O'#GWO!-}QdO'#I{O!$[QdO,5=rOOQ#u,5=s,5=sO!.YQ`O,5=uO!.]Q`O,5=vO!.bQ`O,5=wO!.mQdO,5=zOOQ#u,5=z,5=zO2mQpO,5={O!.xQ`O,5={O!.}QdO'#JVO!$[QdO,5={O!/]Q`O,5={O!/eQdO'#IgO!$[QdO,5>POOQ#u-E;h-E;hO!1QQ`O,5=tOOO#u,5:_,5:_O!1]O#|O,5:_OOO#u-E;g-E;gOOOO,5>|,5>|OOQ#y1G0T1G0TO!1eQ`O1G0YO-RQaO1G0YO!2wQ`O1G0qOOQS1G0q1G0qOOQS'#Eo'#EoOOQS'#Il'#IlO-RQaO'#IlOOQS1G0r1G0rO!4ZQ`O'#IoO!5pQ`O'#IqO!5}QaO'#EwOOQO'#Io'#IoO!6XQ`O'#InO!6aQ`O,5;aO-RQaO'#FXOOQS'#FW'#FWOOQS1G1[1G1[O!6fQdO1G1dO!8kQdO1G1dO!:WQdO1G1dO!;sQdO1G1dO!=`QdO1G1dO!>{QdO1G1dO!@hQdO1G1dO!BTQdO1G1dO!CpQdO1G1dO!E]QdO1G1dO!FxQdO1G1dO!HeQdO1G1dO!JQQdO1G1dO!KmQdO1G1dO!MYQdO1G1dO!NuQdO1G1dOOQT1G0_1G0_O!#[Q`O,5<_O#!bQaO'#EYOOQS1G0[1G0[O#!iQ`O,5:zOEdQaO,5:zO#!nQaO,5;OO#!uQdO,5:|O#$tQdO,5?UO#&sQaO'#HmO#'TQ`O,5?TOOQS1G0e1G0eO#']Q`O1G0eO#'bQ`O'#IkO#(zQ`O'#IkO#)SQ`O,5;SOG|QaO,5;SOOQS1G0w1G0wOOQO,5>^,5>^OOQO-E;p-E;pOOQS1G1U1G1UO#)pQdO'#FQO#+uQ`O'#HsOJ}QpO1G1UO2wQ`O'#HpO#+zQtO,5;eO2wQ`O'#HqO#,iQtO,5;gO#-WQaO1G1OOOQS,5;h,5;hO#/gQtO'#FQO#/tQdO1G0dO-RQaO1G0dO#1aQdO1G1aO#2|QdO1G1cOOQO,5<e,5<eO#3^Q`O'#HuO#3lQ`O,5?aOOQO1G2O1G2OO:]Q`O,5?iO!$[QdO1G3^O:]Q`O1G3^OOQ#u1G3_1G3_O#3tQ`O1G3cO!1QQ`O1G3`O:]Q`O1G3`O#4PQpO'#FvO#4_Q`O'#FvO#4oQ`O'#FvO#4zQ`O'#FvO#5SQ`O'#FzO#5XQ`O'#F{OOQO'#It'#ItO#5`Q`O'#IsO#5hQ`O,5<aOOQS1G1y1G1yO2wQ`O1G1yO#5mQ`O1G1yO#5rQ`O1G1yO!#[Q`O1G5TO#5}QdO1G5TO!#[Q`O1G1yO#6]Q`O1G2VO!#[Q`O1G2VO<XQaO,5<tO#6eQdO'#H}O#6sQdO,5?hOOQ#u1G3l1G3lO-RQaO1G2VO2wQ`O1G2VO#7OQdO1G2WO9cQ`O'#GSO9cQ`O'#GTO#9bQ`O'#GUOOQS1G2W1G2WO!.]Q`O1G2WO!1TQ`O1G2WO!1QQ`O1G2WO!$|Q`O1G2WO:]O`O,5=RO#:[O`O,5=RO#:gO!bO,5=SO#:uQ`O,5=VOOOQ-E;}-E;}OOQS1G2l1G2lO#:|QaO'#GnO#;gQ$VO1G2sO#@gQ`O1G2sO#@rQ`O'#GpO#@}Q`O'#GsOOQ#u1G2u1G2uO#AYQ`O1G2uOOQ#u'#Gu'#GuOOQ#u'#JT'#JTOOQ#u1G2z1G2zO#A_Q`O1G2zO/bQ`O1G2|O#AdQaO,5=dO#AkQ`O,5=dOOQ#u1G2}1G2}O#ApQ`O1G2}O#AuQ`O,5=gOOQ#u1G3Q1G3QO#CXQ`O1G3QOOQ#u1G3T1G3TOOQ#u1G3U1G3UOOQ#u1G3V1G3VOOQ#u1G3W1G3WO#C^Q`O'#IUO;}Q`O'#IUO#CcQ$VO1G3XO#HiQ`O1G3ZO<XQaO'#ITO#HnQdO,5=eOOQ#u1G3[1G3[O#HyQ`O1G3]O<XQaO,5<rO#IOQdO'#H|O#I^QdO,5?gOOQ#u1G3^1G3^OOQ#u1G3a1G3aO!.]Q`O1G3aOOQ#u1G3b1G3bO#IiQ`O'#H^OOQ#u1G3c1G3cO#JfQ`O1G3cO#JkQ`O1G3cOOQ#u1G3f1G3fO#J|Q`O1G3gO#KRQpO1G3gO#KZQdO'#IWO#KlQdO,5?qO:]Q`O,5?qOOQ#u1G3g1G3gO2mQpO1G3gO#KwQ`O1G3gO!$[QdO1G3gO#K|QeO'#HkO#L^QdO,5?ROOQ#u1G3k1G3kOOQ#u1G3`1G3`O!.]Q`O1G3`O!1TQ`O1G3`OOO#u1G/y1G/yO-RQaO7+%tO#LlQdO7+%tOOQS7+&]7+&]O#NXQ`O,5?WO!+iQaO,5;bO#N`Q`O,5;cO$ uQaO'#HoO$!PQ`O,5?YOOQS1G0{1G0{O$!XQ`O,5;sO$!`Q`O'#EZO$!eQ`O'#IfO$!mQ`O,5:tOOQS1G0f1G0fO$!rQ`O1G0fO$!wQ`O1G0jO<XQaO1G0jOOQO,5>X,5>XOOQO-E;k-E;kOOQS7+&P7+&PO!+iQaO,5;TO$$^QaO'#HnO$$hQ`O,5?VOOQS1G0n1G0nO$$pQ`O1G0nPOQO'#FQ'#FQOOQO,5>_,5>_OOQO-E;q-E;qOOQS7+&p7+&pOOQS,5>[,5>[OOQS-E;n-E;nO$$uQtO,5>]OOQS-E;o-E;oO$%dQdO7+&jO$'iQtO'#FQO$'vQdO7+&OOOQS1G0j1G0jOOQO,5>a,5>aOOQO-E;s-E;sOOQ#u7+(x7+(xO!$[QdO7+(xOOQ#u7+(}7+(}O#JfQ`O7+(}O#JkQ`O7+(}OOQ#u7+(z7+(zO!.]Q`O7+(zO!1TQ`O7+(zO!1QQ`O7+(zO$)cQ`O,5<bO$)mQ`O,5<bO$)xQ`O,5<fO$)}QpO,5<bO$*]Q`O,5<bO!+iQaO,5<bOOQO,5<f,5<fO$*eQpO,5<gO$*pQ`O,5<gO$+OQ`O'#HwO$+iQ`O,5?_OOQS1G1{1G1{O$+qQpO7+'eO$+|Q`O'#GOO$,XQ`O7+'eOOQS7+'e7+'eO2wQ`O7+'eO#5mQ`O7+'eO$,aQdO7+*oO2wQ`O7+*oO$,oQ`O7+'eO-RQaO7+'qO2wQ`O7+'qO$,zQ`O7+'qO$-SQdO1G2`OOQS,5>i,5>iOOQS-E;{-E;{O$.lQdO7+'qO$.|QpO7+'qO$/XQdO'#IxOOQO,5<n,5<nOOQO,5<o,5<oO$/jQpO'#GXO$/uQ`O'#GXOOQO'#Iz'#IzOOQO'#H{'#H{O$0iQ`O'#GXO#JkQ`O'#GVO$1YQdO'#GXO!.mQdO'#GZO9cQ`O'#G[OOQO'#Iy'#IyOOQO'#Hz'#HzO$1eQ`O,5<pOOQ#y,5<p,5<pOOQS7+'r7+'rO!.]Q`O7+'rO!1TQ`O7+'rO!1QQ`O7+'rOOOQ1G2m1G2mO:]O`O1G2mO$2_O!bO1G2nO$2mO`O'#GiO$2rO`O1G2nOOOQ1G2q1G2qO$2wQaO,5=YO/bQ`O'#IQO$3bQ$VO7+(_OhQaO7+(_O/bQ`O'#IRO$8bQ`O7+(_O!$[QdO7+(_O$8mQ`O7+(_O$8rQaO'#GqO$;RQ`O'#GrOOQO'#IS'#ISO$;ZQ`O,5=[OOQ#u,5=[,5=[O$;fQ`O,5=_O!$[QdO7+(aO!$[QdO7+(fO!$[QdO7+(hO$;qQaO1G3OO$;xQ`O1G3OO$;}QaO1G3OO!$[QdO7+(iO<XQaO1G3RO!$[QdO7+(lO2wQ`O'#HSO;}Q`O,5>pOOQ#u,5>p,5>pOOQ#u-E<S-E<SO$<UQaO7+(uO$<mQdO,5>oOOQS-E<R-E<RO!$[QdO7+(wO$>VQdO1G2^OOQS,5>h,5>hOOQS-E;z-E;zOOQ#u7+({7+({O$?oQ`O'#GXO:]Q`O'#H_OOQO'#IV'#IVO$@fQ`O,5=xOOQ#u,5=x,5=xO$AcQ!bO'#EQO$AzQ!bO7+(}O$BYQpO7+)RO#KRQpO7+)RO$BbQ`O'#HbO!$[QdO7+)RO$BpQdO,5>rOOQS-E<U-E<UO$COQdO1G5]O$CZQ`O7+)RO#KRQpO7+)ROOQ#u7+)R7+)RO$C`QdO,5>VOOQS-E;i-E;iO$D{QdO<<I`OOQS1G4r1G4rO$FhQ`O1G0|OOQO,5>Z,5>ZOOQO-E;m-E;mOOQS1G1_1G1_O$8rQaO,5:uO$G}QaO'#HlO$H[Q`O,5?QOOQS1G0`1G0`OOQS7+&Q7+&QO$HdQ`O7+&UO$IyQ`O1G0oO$K`Q`O,5>YOOQO,5>Y,5>YOOQO-E;l-E;lOOQS7+&Y7+&YOOQS7+&U7+&UOOQ#u<<Ld<<LdOOQ#u<<Li<<LiO$AzQ!bO<<LiOOQ#u<<Lf<<LfO!.]Q`O<<LfO!1TQ`O<<LfO$LxQ`O1G1|O$MTQ`O1G2QO!+iQaO1G1|OOQO1G2Q1G2QO$MYQ`O1G1|O$MdQ`O1G1|O$NyQ`O1G2RO% XQ`O'#F|O!+iQaO1G2ROOQO1G2R1G2ROOQO,5>c,5>cOOQO-E;u-E;uOOQS<<KP<<KPO% aQ`O'#IwO% iQ`O'#IwO% nQ`O,5<jO2wQ`O<<KPO$+qQpO<<KPO% sQ`O<<KPO2wQ`O<<NZO% {QtO<<NZO#5mQ`O<<KPO%!^QdO<<K]O%!nQpO<<K]O-RQaO<<K]O2wQ`O<<K]O%!yQdO'#HyO%#bQdO,5?dO$1YQdO,5<sO$/jQpO,5<sO%#sQ`O,5<sO#JkQ`O,5<qO!.mQdO,5<uOOQO-E;y-E;yO%$dQ!bO,5<qO%$oQ!bO'#IqO!$[QdO,5<qOOQO,5<s,5<sOOQO,5<u,5<uO%$}QdO,5<vOOQO-E;x-E;xOOQ#y1G2[1G2[OOQS<<K^<<K^O!.]Q`O<<K^O!1TQ`O<<K^OOOQ7+(X7+(XO%%YO`O7+(YOOOO,5=T,5=TOOOQ7+(Y7+(YOhQaO,5>lOOQ#u-E<O-E<OOhQaO<<KyOOQ#u<<Ky<<KyO$8mQ`O,5>mOOQO-E<P-E<PO!$[QdO<<KyO$8mQ`O<<KyO%%_Q`O<<KyO%%dQ`O,5=]O%&yQaO,5=^OOQO-E<Q-E<QOOQ#u1G2v1G2vOOQ#u<<K{<<K{OOQ#u<<LQ<<LQOOQ#u<<LS<<LSOOQT7+(j7+(jO%'ZQ`O7+(jO%'`QaO7+(jO%'gQ`O7+(jOOQ#u<<LT<<LTO%'lQ`O7+(mO%)RQ`O7+(mOOQ#u<<LW<<LWO%)WQpO,5=nOOQ#u1G4[1G4[O%)fQ`O<<LaOOQ#u<<Lc<<LcO:]Q`O,5=yO%)kQdO,5=yOOQO-E<T-E<TOOQ#u1G3d1G3dO%)vQ!bO,5;eO%*XQ!bO,5;gO#JfQ`O<<LiO%*jQ!bO'#FQP%+OQpO<<LmO!$[QdO<<LmO%+WQ`O'#HcO9cQ`O'#HcO%+cQ`O'#JWO%+kQ`O,5=|OOQ#u<<Lm<<LmO:]Q`O1G4^O%+pQdO7+*wO$BYQpO<<LmO#KRQpO<<LmO%+{Q`O1G0aOOQO,5>W,5>WOOQO-E;j-E;jO!+iQaO,5;UOOQ#uANBTANBTO#JfQ`OANBTOOQ#uANBQANBQO!.]Q`OANBQO!+iQaO7+'hOOQO7+'l7+'lO%-bQ`O7+'hO%.wQ`O7+'hO%/SQ`O7+'lO!+iQaO7+'mOOQO7+'m7+'mO%/XQdO'#F}OOQO'#Hv'#HvO%/jQ`O,5<hOOQO,5<h,5<hO%/rQ`O7+'mO%1XQ`O'#HxO%1gQ`O,5?cO%1gQ`O,5?cOOQO1G2U1G2UO$+qQpOAN@kOOQSAN@kAN@kO2wQ`OAN@kO%1oQtOANCuO%2QQ`OAN@kO-RQaOAN@wO%2YQdOAN@wO%2jQpOAN@wOOQS,5>e,5>eOOQS-E;w-E;wOOQO1G2_1G2_O$1YQdO1G2_O$/jQpO1G2_O#JkQ`O1G2]O!.mQdO1G2aO%$dQ!bO1G2]O!$[QdO1G2]OOQO1G2a1G2aOOQO1G2]1G2]O%2uQaO'#G]OOQO1G2b1G2bOOQSAN@xAN@xO!.]Q`OAN@xOOOQ<<Kt<<KtOOQ#u1G4W1G4WOOQ#uANAeANAeOOQO1G4X1G4XO%4tQ`OANAeO!$[QdOANAeO%4yQaO1G2wO%5ZQaO1G2xOOQT<<LU<<LUO%5kQ`O<<LUO%5pQaO<<LUO-RQaO,5=hOOQT<<LX<<LXOOQO1G3Y1G3YO%5wQ`O1G3YO!)aQeOANA{O%5|QdO1G3eOOQO1G3e1G3eO%6XQ`O1G3eO%6aQ!bO,5>]O%6rQ!bO'#FQO!$[QdOANBXOOQ#uANBXANBXO:]Q`O,5=}O%7WQ`O,5=}O%7cQ`O'#IXO%7wQ`O,5?rOOQS1G3h1G3hOOQS7+)x7+)xP%+OQpOANBXO%8PQ`O1G0pOOQ#uG27oG27oOOQ#uG27lG27lO%9fQ`O<<KSO!+iQaO<<KSOOQO<<KW<<KWO%:{Q`O<<KXOOQO,5<i,5<iO-RQaO,5<iO%<bQ`O,5<iOOQO-E;t-E;tOOQO1G2S1G2SOOQO,5>d,5>dO%<jQ`O,5>dOOQO-E;v-E;vO%<oQ`O1G4}OOQSG26VG26VO$+qQpOG26VO2wQ`OG26VO%<wQdOG26cO-RQaOG26cOOQO7+'y7+'yO$1YQdO7+'yO%$dQ!bO7+'wO!$[QdO7+'wOOQO7+'{7+'{OOQO7+'w7+'wO%=XQ`OLD+}O%>hQ`O'#IqO%>rQ`O'#IhO!$[QdO'#IOO%@lQaO,5<wOOQO,5<w,5<wOOQSG26dG26dO!$[QdOG27POOQ#uG27PG27PO%BkQaO7+(cOOQTANApANApO%B{Q`OANApO%CQQ`O1G3SOOQO7+(t7+(tOOQ#uG27gG27gO%CXQ`OG27gOOQO7+)P7+)PO%C^Q`O7+)PO!$[QdO7+)POOQ#uG27sG27sOOQO1G3i1G3iO:]Q`O1G3iO%CfQ`O'#HdO9cQ`O'#HdOOQO,5>s,5>sOOQO-E<V-E<VP!$[QdOG27sO%CqQ`OAN@nO+_QdO1G2TOOQO1G2T1G2TO-RQaO1G2TOOQO1G4O1G4OOOQSLD+qLD+qO$+qQpOLD+qO%EWQdOLD+}OOQO<<Ke<<KeO!$[QdO<<KcOOQO<<Kc<<KcO:]Q`O,5<xO%EhQ`O,5<yOOQP,5>j,5>jOOQP-E;|-E;|OOQO1G2c1G2cOOQ#uLD,kLD,kOOQTG27[G27[O!$[QdOLD-RO!$[QdO<<LkOOQO<<Lk<<LkOOQO7+)T7+)TO:]Q`O,5>OO%EpQ`O,5>OPOQ#uLD-_LD-_OOQO7+'o7+'oO+_QdO7+'oOOQS!$( ]!$( ]OOQOAN@}AN@}OOQS1G2d1G2dOOQS1G2e1G2eO%E{QdO1G2eOOQ#u!$(!m!$(!mOOQOANBVANBVOOQO1G3j1G3jO:]Q`O1G3jOOQO<<KZ<<KZOOQS7+(P7+(POOQO7+)U7+)UO%FWQpO'#FOO%F]QpO'#FOO%FWQpO,5;jO%F]QpO,5;jO%FbQpO,5;jO%FgQpO,5;jO#JkQ`O'#E|O%FlQdO,5<lO%HbQaO,5;OO%FbQpO1G1UO%FgQpO1G1UO#JkQ`O'#HpO#JkQ`O'#HqO-RQaO1G0jO%HiQ`O'#FOO%HnQ`O'#FOO%HsQaO'#GQO#-WQaO'#G`O#-WQaO'#GcO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO%H}QdO'#IjO%JmQdO'#IjO#-WQaO'#EbO#-WQaO'#IjO%LrQaO,5:xO#-WQaO,5;uO#-WQaO,5;wO%LyQdO,5<WO%NoQdO,5<XO&!eQdO,5<YO&$ZQdO,5<ZO&&PQdO,5<ZO&&aQdO,5<^O&(VQdO,5<}O#-WQaO1G0YO&){QdO1G1dO&+qQdO1G1dO&-gQdO1G1dO&/]QdO1G1dO&1RQdO1G1dO&2wQdO1G1dO&4mQdO1G1dO&6cQdO1G1dO&8XQdO1G1dO&9}QdO1G1dO&;sQdO1G1dO&=iQdO1G1dO&?_QdO1G1dO&ATQdO1G1dO&ByQdO1G1dO&DoQdO,5:|O&FeQdO,5?UO&HZQdO1G0dO#-WQaO1G0dO&JPQdO1G1aO&KuQdO1G1cO#-WQaO1G2VO#-WQaO7+%tO&MkQdO7+%tO' aQdO7+&OO#-WQaO7+'qO'#VQdO7+'qO'${QdO<<I`O'&qQdO<<K]O#-WQaO<<K]O#-WQaOAN@wO'(gQdOAN@wO'*]QdOG26cO#-WQaOG26cO',RQdOLD+}O'-wQaO,5;OO'/vQaO1G0jO'1rQdO'#IeO'2PQeO'#F]O'5vQeO'#F]O#-WQaO'#FlO'/vQaO'#FlO#-WQaO'#FmO'/vQaO'#FmO#-WQaO'#FnO'/vQaO'#FnO#-WQaO'#FoO'/vQaO'#FoO#-WQaO'#FoO'/vQaO'#FoO#-WQaO'#FrO'/vQaO'#FrO'9|QaO,5:nO':TQ`O,5<kO':]Q`O1G0YO'/vQaO1G1OO';oQ`O1G2VO';wQ`O7+'qO'<PQpO7+'qO'<[QpO<<K]O'<gQpOAN@wO'<rQaO'#GQO'/vQaO'#G`O'/vQaO'#GcO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO'#EbO'/vQaO'#IjO'>tQaO,5:xO'/vQaO,5;uO'/vQaO,5;wO'@sQdO,5<WO'BxQdO,5<XO'D}QdO,5<YO'GSQdO,5<ZO'IXQdO,5<ZO'IxQdO,5<^O'K}QdO,5<}O'/vQaO1G0YO'NSQdO1G1dO(!XQdO1G1dO($^QdO1G1dO(&cQdO1G1dO((hQdO1G1dO(*mQdO1G1dO(,rQdO1G1dO(.wQdO1G1dO(0|QdO1G1dO(3RQdO1G1dO(5WQdO1G1dO(7]QdO1G1dO(9bQdO1G1dO(;gQdO1G1dO(=lQdO1G1dO(?qQdO,5:|O(AvQdO,5?UO(C{QdO1G0dO'/vQaO1G0dO(FQQdO1G1aO(HVQdO1G1cO'/vQaO1G2VO'/vQaO7+%tO(J[QdO7+%tO(LaQdO7+&OO'/vQaO7+'qO(NfQdO7+'qO)!kQdO<<I`O)$pQdO<<K]O'/vQaO<<K]O'/vQaOAN@wO)&uQdOAN@wO)(zQdOG26cO'/vQaOG26cO)+PQdOLD+}O)-UQaO,5;OO#-WQaO1G0jO)-]Q`O'#GPO)-eQpO,5;dO)-pQ`O,5<kO!#[Q`O,5<kO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O7+'qO2wQ`O<<K]O)-xQdO,5<lO)/}QdO'#IjO)1vQdO'#IeO)2dQaO,5:nO)2kQ`O,5<kO)2sQ`O1G0YO)4VQ`O1G2VO)4_Q`O7+'qO)4gQpO7+'qO)4rQpO<<K]O)4}QpOAN@wO2wQ`O'#ExO<XQaO'#FlO<XQaO'#FmO<XQaO'#FnO<XQaO'#FoO<XQaO'#FoO<XQaO'#FrO)5YQaO'#GQO<XQaO'#G`O<XQaO'#GcO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO)5dQ`O'#FsO-RQaO'#EbO-RQaO'#IjO)5lQaO,5:xO<XQaO,5;uO<XQaO,5;wO)5sQdO,5<WO)7rQdO,5<XO)9qQdO,5<YO);pQdO,5<ZO)=oQdO,5<ZO)>YQdO,5<^O)@XQdO,5<lO)BWQdO,5<}O)DVQ`O'#JUO)ElQ`O'#IgO<XQaO1G0YO)GRQdO1G1dO)IQQdO1G1dO)KPQdO1G1dO)MOQdO1G1dO)N}QdO1G1dO*!|QdO1G1dO*${QdO1G1dO*&zQdO1G1dO*(yQdO1G1dO**xQdO1G1dO*,wQdO1G1dO*.vQdO1G1dO*0uQdO1G1dO*2tQdO1G1dO*4sQdO1G1dO*6rQaO,5;OO*6yQdO,5:|O*7ZQdO,5?UO*7kQaO'#HmO*7{Q`O,5?TO*8TQdO1G0dO<XQaO1G0dO*:SQdO1G1aO*<RQdO1G1cO<XQaO1G2VO!+iQaO'#ITO*>QQ`O,5=eO*>YQaO'#HkO*>dQ`O,5?RO<XQaO7+%tO*>lQdO7+%tO*@kQ`O1G0jO!+iQaO1G0jO*BQQdO7+&OO<XQaO7+'qO*DPQdO7+'qO*FOQ`O,5>oO*GeQ`O,5>VO*HzQdO<<I`O*JyQ`O7+&UO*L`QdO<<K]O<XQaO<<K]O<XQaOAN@wO*N_QdOAN@wO+!^QdOG26cO<XQaOG26cO+$]QdOLD+}O+&[QaO,5;OO<XQaO1G0jO+&cQdO'#IjO+'PQ`O'#GPO+'XQ`O,5<kO!#[Q`O,5<kO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O7+'qO2wQ`O<<K]O+'aQdO'#IeO+'}QeO'#F]O+(nQeO'#F]O+*jQaO'#F]O+,SQaO'#F]O!+iQaO'#FlO!+iQaO'#FmO!+iQaO'#FnO!+iQaO'#FoO!+iQaO'#FoO!+iQaO'#FrO+-rQaO'#GQO!+iQaO'#G`O!+iQaO'#GcO+-|QaO,5:nO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO+.TQ`O'#IjO$8rQaO'#EbO+/mQaOG26cO$8rQaO'#IjO+1iQ`O'#IiO+1qQaO,5:xO!+iQaO,5;uO!+iQaO,5;wO+1xQ`O,5<WO+3_Q`O,5<XO+4tQ`O,5<YO+6ZQ`O,5<ZO+7pQ`O,5<ZO+9VQ`O,5<^O+:lQ`O,5<kO+:tQ`O,5<lO+<ZQ`O,5<}O+=pQ`O1G0YO!+iQaO1G0YO+?SQ`O1G1dO+@iQ`O1G1dO+BOQ`O1G1dO+CeQ`O1G1dO+DzQ`O1G1dO+FaQ`O1G1dO+GvQ`O1G1dO+I]Q`O1G1dO+JrQ`O1G1dO+LXQ`O1G1dO+MnQ`O1G1dO, TQ`O1G1dO,!jQ`O1G1dO,$PQ`O1G1dO,%fQ`O1G1dO,&{Q`O1G0dO!+iQaO1G0dO,(bQ`O1G1aO,)wQ`O1G1cO,+^Q`O1G2VO$8rQaO,5<tO!+iQaO1G2VO!+iQaO7+%tO,+fQ`O7+%tO,,{Q`O7+&OO!+iQaO7+'qO,.bQ`O7+'qO,.jQ`O7+'qO,0PQpO7+'qO,0[Q`O<<I`O,1qQ`O<<K]O,3WQpO<<K]O!+iQaO<<K]O!+iQaOAN@wO,3cQ`OAN@wO,4xQpOAN@wO,5TQ`OG26cO!+iQaOG26cO,6jQ`OLD+}O,8PQaO,5;OO!+iQaO1G0jO,8WQ`O'#IjO$8rQaO'#FlO$8rQaO'#FmO$8rQaO'#FnO$8rQaO'#FoO$8rQaO'#FoO+/mQaO'#FoO$8rQaO'#FrO,9pQaO'#GQO,9zQaO'#GQO$8rQaO'#G`O+/mQaO'#G`O$8rQaO'#GcO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO,;|Q`O'#FsO!+iQaO'#EbO!+iQaO'#IjO,<UQaO,5:xO,<]QaO,5:xO$8rQaO,5;uO+/mQaO,5;uO$8rQaO,5;wO,>[QdO,5<WO,?}QdO,5<XO,ApQdO,5<YO,CcQdO,5<ZO,EUQdO,5<ZO,FwQ`O,5<ZO,HWQdO,5<^O,IyQdO,5<lO%=XQ`O,5<lO,KlQdO,5<}O$8rQaO1G0YO+/mQaO1G0YO,M_QdO1G1dO- QQ`O1G1dO-!aQdO1G1dO-$SQ`O1G1dO-%cQdO1G1dO-'UQ`O1G1dO-(eQdO1G1dO-*WQ`O1G1dO-+gQdO1G1dO--YQ`O1G1dO-.iQdO1G1dO-0[Q`O1G1dO-1kQdO1G1dO-3^Q`O1G1dO-4mQdO1G1dO-6`Q`O1G1dO-7oQdO1G1dO-9bQ`O1G1dO-:qQdO1G1dO-<dQ`O1G1dO-=sQdO1G1dO-?fQ`O1G1dO-@uQdO1G1dO-BhQ`O1G1dO-CwQdO1G1dO-EjQ`O1G1dO-FyQdO1G1dO-HlQ`O1G1dO-I{QdO1G1dO-KnQ`O1G1dO-L}Q`O,5:|O-NdQ`O,5?UO. yQdO1G0dO.#lQ`O1G0dO$8rQaO1G0dO+/mQaO1G0dO.${QdO1G1aO.&nQ`O1G1aO.'}QdO1G1cO$8rQaO1G2VO$8rQaO7+%tO+/mQaO7+%tO.)pQdO7+%tO.+cQ`O7+%tO.,rQdO7+&OO..eQ`O7+&OO$8rQaO7+'qO./tQdO7+'qO.1gQdO<<I`O.3YQ`O<<I`O.4iQdO<<K]O$8rQaO<<K]O$8rQaOAN@wO.6[QdOAN@wO.7}QdOG26cO$8rQaOG26cO.9pQdOLD+}O.;cQaO,5;OO.;jQaO,5;OO$8rQaO1G0jO+/mQaO1G0jO.=iQ`O'#IjO.>{QdO'#IjO.BbQ`O'#IeO.BoQ`O'#GPO.BwQaO,5:nO.COQ`O,5<kO.CWQdO'#GYO.CiQ`O,5<kO!#[Q`O,5<kO.CqQ`O1G0YO.ETQdO,5:|O.FvQdO,5?UO.HiQ`O1G2VO!#[Q`O1G2VO.HqQdO'#H}O.ISQdO,5?hO2wQ`O1G2VO2wQ`O7+'qO.IbQ`O7+'qO.IjQdO1G2`O.KVQpO7+'qO.KbQpO<<K]O2wQ`O<<K]O.KmQpOAN@wO.KxQdO'#IeO.LcQ`O'#IeO.NVQaO,5:nO.N^QaO,5:nO.NeQ`O,5<kO.NmQ`O7+'qO.NuQ`O1G0YO/!XQ`O1G0YO/#kQ`O1G2VO/#sQ`O7+'qO/#{QpO7+'qO/$WQpOAN@wO/$cQpO<<K]O/$nQpOAN@wO/$yQ`O'#GPO/%RQ`O'#FsO/%ZQ`O,5<kO/%cQdO'#I|O!#[Q`O,5<kO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O7+'qO2wQ`O<<K]O/%qQ`O'#GPO/%yQ`O,5<kO/&RQ`O,5<kO!#[Q`O,5<kO!#[Q`O1G2VO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O<<K]O2wQ`O7+'qO2wQ`O<<K]O/&ZQ`O'#FsO/&cQ`O'#FsO/&kQ`O'#Fs",stateData:"/'Q~O!eOS!fOS'SOS!hQQ~O!jTO'TRO~OPgOQ|OS!lOU_OW}OX!XO[mO]!_O^!WO`![Oa!SOb!]Ok!dOm!lOowOp!TOq!UOsuOt!gOu!VOv!POxkOykO|!bO}aO!O^O!P!eO!QxO!R}O!TpO!VlO!WlO!X!YO!Y!QO!ZzO![!cO!]!ZO!^!^O!_!fO!a!`O!b!RO!djO!nWO!pXO!z]O#X`O#dhO#fbO#gcO#sdO$[oO$dnO$eoO$hqO$krO$u!kO%TyO%U!OO%W}O%X}O%`|O'WYO'u{O~O!h!mO~O'TRO!j!iX&|!iX'Q!iX~O!j!pO~O!e!qO!f!qO!h!mO'Q!tO'S!qO~PhO!o!vO~PhO!n!tX#T!tX#s#vX'P!tX!y!tX#P!tX!p!tX~OT!tXz!tX!S!tX!c!tX!r!tX!w!tX!z!tX#X!tX#a!tX#b!tX#y!tX$R!tX$S!tX$T!tX$U!tX$V!tX$X!tX$Y!tX$Z!tX$[!tX$]!tX$^!tX$_!tX%T!tX#O!tX#Y!tX!o!tXV!tX#|!tX$O!tXw!tX{!tX~P&sOT'eXz'eX!S'eX!c'eX!w'eX!z'eX#T'eX#X'eX#a'eX#b'eX#y'eX$R'eX$S'eX$T'eX$U'eX$V'eX$X'eX$Y'eX$Z'eX$['eX$]'eX$^'eX$_'eX%T'eX~O!r!xO!n'eX'P'eX~P)dOT#SOz#QO!S#TO!c#UO!n#bO!w!yO!z!|O#T#PO#X!zO#a!{O#b!{O#y#OO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO'P#bO~OPgOQ|OU_OW}O[mOowOs#fOxkOykO}aO!O^O!QxO!R}O!TpO!VlO!WlO!ZzO!djO!z]O#X`O#dhO#fbO#gcO#sdO$[oO$dnO$eoO$hqO%TyO%U!OO%W}O%X}O%`|O'WYO'u{O~O!z]O~O!z#iO~OP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#T#mO#V#lO#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O#Y']P~O#O#qO~P/lO!z#rO~O#d#tO#fbO#gcO~O'a#vO~O#s#zO~OU$OO!R$OO!w#}O#s3hO'W#{O~OT'XXz'XX!S'XX!c'XX!n'XX!w'XX!z'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX'P'XX!y'XX!o'XX~O#|$QO$O$RO~P3YOP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{OT$PXz$PX!S$PX!c$PX!n$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX'P$PX!y$PX!o$PX~Or$TO#T8eO#V8dO~P5^O#sdO'WYO~OS$fO]$aOk$dOm$fOs$`O!a$bO$krO$u$eO~O!z$hO#T$jO'W$gO~Oo$mOs$lO#d$nO~O!z$hO#T$rO~O!U$uO$u$tO~P-ROR${O!p$zO#d$yO#g$zO&}${O~O't$}O~P;PO!z%SO~O!z%UO~O!n#bO'P#bO~P-RO!pXO~O!z%`O~OP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O~O!z%dO~O]$aO~O!pXO#sdO'WYO~O]%rOs%rO#s%nO'WYO~O!j%wO'Q%wO'TRO~O'Q%zO~PhO!o%{O~PhO!r%}O~P<XO#Y&PO~P<XO!p&SO#d&RO'a&QO~OPgOQ|OU_OW}O[:WOo?jOs#fOx:UOy:UO}aO!O^O!Q:[O!R}O!T:ZO!V:VO!W:VO!Z:^O!d:TO!z]O#V&WO#X`O#dhO#fbO#gcO#sdO$[:YO$d:XO$e:YO$hqO%T:]O%U!OO%W}O%X}O%`|O'WYO'u{O~O!y'bP~P@aO!p&[O#d&]O'W$gO~OT#SOz#QO!S#TO!c#UO!w!yO!z!|O#T#PO#X!zO#a!{O#b!{O#y#OO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO~O!y&oO~PCVO!z$hO#T&pO~Oo$mOs$lO~O!p&qO~O#O&tO#T=PO#V=OO!y']P~P<XOT8TOz8RO!S8UO!c8VO!w:_O!z!|O#T#PO#X!zO#a!{O#b!{O#y#OO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O'^X#Y'^X~O#P&uO~PEqO#O&xO#Y']X~O#Y&zO~O#O'PO!y'_P~P<XO!o'QO~PCVO!n#uX#T#uX#s#tX'P#uX!y#uX#P#uX!p#uX~OT#uXz#uX!S#uX!c#uX!w#uX!z#uX#X#uX#a#uX#b#uX#y#uX$R#uX$S#uX$T#uX$U#uX$V#uX$X#uX$Y#uX$Z#uX$[#uX$]#uX$^#uX$_#uX%T#uX#O#uX#Y#uX!o#uXV#uX!r#uX#|#uX$O#uXw#uX~PH[O#s'RO~O'a'UO~O#n!tX#V!tX#d!tX~P&sO!y']O#T'ZO#n'XO~O#T'aO~P-RO!n$`a'P$`a!y$`a!o$`a~PCVO!n$aa'P$aa!y$aa!o$aa~PCVO!n$ba'P$ba!y$ba!o$ba~PCVO!n$ca'P$ca!y$ca!o$ca~PCVO!z!|O#X!zO#a!{O#b!{O#y#OO%T#cOT$ca!S$ca!c$ca!n$ca!w$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca'P$ca!y$ca!o$ca~Oz#QO~PMVO!n$fa'P$fa!y$fa!o$fa~PCVO!z!|O#O$mX#Y$mX~O#O'eO#Y'iX~O#Y'gO~O#T'hO'W$gO~O]'jO~O$u'nO~O!a'tO#T'rO#V'sO#d'qO$krO!y'gP~P2wO!_'zO!pXO!r'yO~O!z$hO'W$gO~O!z$hO~O!z$hO#T(OO~O!z$hO#T(QO~O#|(RO!n$|X#O$|X'P$|X~O#O(SO!n'pX'P'pX~O!n#bO'P#bO~O!r(WO#P(VO~O!n$ta'P$ta!y$ta!o$ta~PCVOl(YOw(ZO!p([O!z!|O~O$u(aO~O!z!|O#X!zO#a!{O#b!{O#y#OO~OT%Saz%Sa!S%Sa!c%Sa!n%Sa!w%Sa#T%Sa$R%Sa$S%Sa$T%Sa$U%Sa$V%Sa$X%Sa$Y%Sa$Z%Sa$[%Sa$]%Sa$^%Sa$_%Sa%T%Sa'P%Sa!y%Sa#O%Sa#P%Sa#Y%Sa!o%Sa!r%SaV%Sa#|%Sa$O%Sa!p%Sa~P!%aO!n%Va'P%Va!y%Va!o%Va~PCVO#X(dO#a(bO#b(bO'O(cOR&sX!p&sX#d&sX#g&sX&}&sX't&sX~O't(gO~P;PO!r(hO~PhO!p(kO!r(lO~O!r(hO'P(oO~PhO!b(sO~O!n(tO~P<XOZ)POn)QO~OT8TOz8RO!S8UO!c8VO!w:_O#O)TO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'xX'P'xX~P!%aOPgOQ|OU_OW}O[:WOo?jOs#fOx:UOy:UO}aO!O^O!Q:[O!R}O!T:ZO!V:VO!W:VO!Z:^O!d:TO!z]O#X`O#dhO#fbO#gcO#sdO$[:YO$d:XO$e:YO$hqO%T:]O%U!OO%W}O%X}O%`|O'WYO'u{O~O#|)XO~O#O)YO!n'oX'P'oX~Ol(YO!p([O~Ow(ZO!p)`O!r)cO~O!n#bO!pXO'P#bO~O#s)fO~OV)iO#O)gO!n'yX'P'yX~O#s)kO'WYO~OT8TOz8RO!S8UO!c8VO!w:_O#O)nO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'ZX'P'ZX#P'ZX~P!%aOl(YOw(ZO!p([O~O!j)tO'Q)tO~OT8TOz8RO!S8UO!c8VO!r)uO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO#Y)wO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'cX#O'cX~P!%aO!r)yO!y'eX#O'eX~P)dO!y#kX#O#kX~P!+iO#O){O!y'bX~O!y)}O~O%T#cOT$Qiz$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi$_$Qi'P$Qi!y$Qi#O$Qi#P$Qi#Y$Qi!o$Qi!r$QiV$Qi#|$Qi$O$Qi!p$Qi~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!c#UO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi~P!%aO_*PO~P<XO!y*SO~O#T*VO~P<XOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Ua#Y#Ua#P#Ua!n#Ua'P#Ua!r#Ua!y#Ua!o#UaV#Ua!p#Ua~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O'^a#Y'^a#P'^a!n'^a'P'^a!r'^a!y'^a!o'^aV'^a!p'^a~P!%aO#T#mO#V#lO#O&aX#Y&aX~P<XO#O&xO#Y']a~O#Y*YO~OT8TOz8RO!S8UO!c8VO!w:_O#O*[O#P*ZO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'_X~P!%aO#O*[O!y'_X~O!y*^O~O!n#wX#T#wX#s#tX'P#wX!y#wX#P#wX!p#wX~OT#wXz#wX!S#wX!c#wX!w#wX!z#wX#X#wX#a#wX#b#wX#y#wX$R#wX$S#wX$T#wX$U#wX$V#wX$X#wX$Y#wX$Z#wX$[#wX$]#wX$^#wX$_#wX%T#wX#O#wX#Y#wX!o#wXV#wX!r#wX#|#wX$O#wXw#wX~P#)XO#s*aO~O#n'XO!y#ma#T#ma#V#ma#d#ma!p#ma#P#ma!n#ma'P#ma~O#T'ZO!y#oa#n#oa#V#oa#d#oa!p#oa#P#oa!n#oa'P#oa~OPgOQ|OU_OW}O[5jOo7dOs#fOx5fOy5fO}aO!O^O!Q3xO!R}O!T5pO!V5hO!W5hO!Z3zO!d5dO!z]O#X`O#dhO#fbO#gcO#sdO$[5nO$d5lO$e5nO$hqO%T3yO%U!OO%W}O%X}O%`|O'WYO'u{O~O#n#uX#V#uX#d#uX~PH[Oz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT#Qi!S#Qi!c#Qi!n#Qi'P#Qi!y#Qi!o#Qi~P!%aOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT#}i!S#}i!c#}i!n#}i'P#}i!y#}i!o#}i~P!%aO!n$Pi'P$Pi!y$Pi!o$Pi~PCVO#sdO'WYO#O&iX#Y&iX~O#O'eO#Y'ia~Ow(ZO!p)`O!r*rO~O#T*wO#V*yO#d*xO#n'XO~O#T*{O#V*yO#d*xO$krO~P2wO#|*|O!y$jX#O$jX~O#V*yO#d*xO~O#d*}O~O#d+PO~P2wO#O+QO!y'gX~O!y+SO~O!z+UO~O!_+YO!pXO!r+XO~O!r+[O!p'qi!n'qi'P'qi~O!r+_O#P+^O~O#d$nO!n&qX#O&qX'P&qX~O#O(SO!n'pa'P'pa~OT$tiz$ti!S$ti!c$ti!n$ti!w$ti!z$ti#T$ti#X$ti#a$ti#b$ti#y$ti#|#ha$O#ha$R$ti$S$ti$T$ti$U$ti$V$ti$X$ti$Y$ti$Z$ti$[$ti$]$ti$^$ti$_$ti%T$ti'P$ti!y$ti#O$ti#P$ti#Y$ti!o$ti!r$tiV$ti!p$ti~OS+kO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o+uO#d>xO$hqO$krO~P2wO#X+|O#a+{O#b+{O~O#d,OO%W,OO%^+}O'W$gO~O!o,PO~PCVOc%bXd%bXh%bXj%bXf%bXg%bXe%bX~PhOc,TOd,ROP%aiQ%aiS%aiU%aiW%aiX%ai[%ai]%ai^%ai`%aia%aib%aik%aim%aio%aip%aiq%ais%ait%aiu%aiv%aix%aiy%ai|%ai}%ai!O%ai!P%ai!Q%ai!R%ai!T%ai!V%ai!W%ai!X%ai!Y%ai!Z%ai![%ai!]%ai!^%ai!_%ai!a%ai!b%ai!d%ai!n%ai!p%ai!z%ai#X%ai#d%ai#f%ai#g%ai#s%ai$[%ai$d%ai$e%ai$h%ai$k%ai$u%ai%T%ai%U%ai%W%ai%X%ai%`%ai&|%ai'W%ai'u%ai'Q%ai!o%aih%aij%aif%aig%aiY%ai_%aii%aie%ai~Oc,XOd,UOh,WO~OY,YO_,ZO!o,^O~OY,YO_,ZOi%gX~Oi,`O~Oj,aO~O!n,cO~P<XO!n,eO~Of,fO~OT8TOV,gOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOg,hO~O!z,iO~OZ)POn)QOP%uiQ%uiS%uiU%uiW%uiX%ui[%ui]%ui^%ui`%uia%uib%uik%uim%uio%uip%uiq%uis%uit%uiu%uiv%uix%uiy%ui|%ui}%ui!O%ui!P%ui!Q%ui!R%ui!T%ui!V%ui!W%ui!X%ui!Y%ui!Z%ui![%ui!]%ui!^%ui!_%ui!a%ui!b%ui!d%ui!n%ui!p%ui!z%ui#X%ui#d%ui#f%ui#g%ui#s%ui$[%ui$d%ui$e%ui$h%ui$k%ui$u%ui%T%ui%U%ui%W%ui%X%ui%`%ui&|%ui'W%ui'u%ui'Q%ui!o%uic%uid%uih%uij%uif%uig%uiY%ui_%uii%uie%ui~O#|,mO~O#O)TO!n%ma'P%ma~O!y,pO~O'W$gO!n&pX#O&pX'P&pX~O#O)YO!n'oa'P'oa~OS+kOY,vO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o,yO#d>xO$hqO$krO~P2wO!p)`O~OU$OO!R$OO!w3nO#s3iO'W,zO~O#s,|O~O!p-OO'a'UO~O#sdO'WYO!n&zX#O&zX'P&zX~O#O)gO!n'ya'P'ya~O#s-UO~O!n&_X#O&_X'P&_X#P&_X~P<XO#O)nO!n'Za'P'Za#P'Za~Oz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT!vq!S!vq!c!vq!n!vq!w!vq'P!vq!y!vq!o!vq~P!%aO!o-ZO~PCVOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ka#O#ka~P!%aO!y&cX#O&cX~P@aO#O){O!y'ba~O!o-_O~PCVO#P-`O~O#O-aO!o'YX~O!o-cO~O!y-dO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Wi#Y#Wi~P!%aO!y&bX#O&bX~P<XO#O*[O!y'_a~O!y-jO~O#n'XO!y&ea#T&ea#V&ea#d&ea!p&ea#P&ea!n&ea'P&ea~OT#lqz#lq!S#lq!c#lq!n#lq!w#lq#T#lq#|#lq$O#lq$R#lq$S#lq$T#lq$U#lq$V#lq$X#lq$Y#lq$Z#lq$[#lq$]#lq$^#lq$_#lq%T#lq'P#lq!y#lq#O#lq#P#lq#Y#lq!o#lq!r#lqV#lq!p#lq~P!%aO#n#wX#V#wX#d#wX~P#)XOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT#Qq!S#Qq!c#Qq!n#Qq'P#Qq!y#Qq!o#Qq~P!%aO#V-sO#d-rO~P2wO#|-tO!y$ja#O$ja~O#d-uO~O#T-vO#V-sO#d-rO#n'XO~O#V-sO#d-rO~O#T'ZO#d-xO#n'XO~O!p-yO#|-zO!y$oa#O$oa~O!a'tO#T'rO#V'sO#d'qO$krO!y&kX#O&kX~P2wO#O+QO!y'ga~O!pXO#T'ZO#n'XO~O#T.QO#d.PO!y'kP~O!pXO!r.SO~O!r.VO!p'qq!n'qq'P'qq~O!_.XO!pXO!r.SO~O!r.]O#P.[O~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n$|i#O$|i'P$|i~P!%aO!n$sq'P$sq!y$sq!o$sq~PCVO#P.[O#T'ZO#n'XO~O#O.^Ow'lX!p'lX!n'lX'P'lX~O#T'ZO#d>xO#n'XO~OS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO$krO~P2wOS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO!n#bO!p-yO'P#bO~OS+kO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o.mO#d>xO$hqO$krO~P2wO#d.rO%W.rO%^+}O'W$gO~O%W.sO~O#Y.tO~Oc%bad%bah%baj%baf%bag%bae%ba~PhOc.wOd,ROP%aqQ%aqS%aqU%aqW%aqX%aq[%aq]%aq^%aq`%aqa%aqb%aqk%aqm%aqo%aqp%aqq%aqs%aqt%aqu%aqv%aqx%aqy%aq|%aq}%aq!O%aq!P%aq!Q%aq!R%aq!T%aq!V%aq!W%aq!X%aq!Y%aq!Z%aq![%aq!]%aq!^%aq!_%aq!a%aq!b%aq!d%aq!n%aq!p%aq!z%aq#X%aq#d%aq#f%aq#g%aq#s%aq$[%aq$d%aq$e%aq$h%aq$k%aq$u%aq%T%aq%U%aq%W%aq%X%aq%`%aq&|%aq'W%aq'u%aq'Q%aq!o%aqh%aqj%aqf%aqg%aqY%aq_%aqi%aqe%aq~Oc.|Od,UOh.{O~O!r(hO~OP7wOQ|OU_OW}O[<ROo?sOs#fOx<POy<PO}aO!O^O!Q<WO!R}O!T<VO!V<QO!W<QO!Z<[O!d:RO!z]O#X`O#dhO#fbO#gcO#sdO$[<TO$d<SO$e<TO$hqO%T<YO%U!OO%W}O%X}O%`|O'WYO'u{O~O!n/PO!r/PO~OY,YO_,ZO!o/RO~OY,YO_,ZOi%ga~O!y/VO~P!+iO!n/XO~O!n/XO~P<XOQ|OW}O!R}O%W}O%X}O%`|O'u{O~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n&wa#O&wa'P&wa~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n$zi#O$zi'P$zi~P!%aOS+kOY/cO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO$krO~P2wOS+kOY,vO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o/fO#d>xO$hqO$krO~P2wOw!tX!p!tX#T!tX#n!tX#s#vX#|!tX'W!tX~Ow(ZO!p)`O#T3tO#n3sO~O!p-OO'a&fa~O]/nOs/nO#sdO'WYO~OV/rO!n&za#O&za'P&za~O#O)gO!n'yi'P'yi~O#s/tO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n&_a#O&_a'P&_a#P&_a~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT!vy!S!vy!c!vy!n!vy!w!vy'P!vy!y!vy!o!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ji#O#ji~P!%aO_*PO!o&`X#O&`X~P<XO#O-aO!o'Ya~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Wq#Y#Wq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#]i#O#]i~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P/yO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y&ba#O&ba~P!%aO#|0OO!y$ji#O$ji~O#d0PO~O#V0SO#d0RO~P2wOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ji#O$ji~P!%aO!p-yO#|0TO!y$oi#O$oi~O!o0YO'W$gO~O#O0[O!y'kX~O#d0^O~O!y0_O~O!pXO!r0bO~O#T'ZO#n'XO!p'qy!n'qy'P'qy~O!n$sy'P$sy!y$sy!o$sy~PCVO#P0eO#T'ZO#n'XO~O#sdO'WYOw&mX!p&mX#O&mX!n&mX'P&mX~O#O.^Ow'la!p'la!n'la'P'la~OS+kO]0mOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO#T3tO#n3sO'W$gO~O#|)XO#T'eX#n'eX'W'eX~O!n#bO!p0sO'P#bO~O#Y0wO~Oh0|O~OT<aOz<]O!S<cO!c<eO!n0}O!r0}O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO~P!%aOY%fa_%fa!o%fai%fa~PhO!y1PO~O!y1PO~P!+iO!n1RO~OT8TOz8RO!S8UO!c8VO!w:_O!y1TO#P1SO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!y1TO~O!y1UO#T'ZO#d1VO#n'XO~O!y1WO~O!n#bO#|1ZO'P#bO~O#n3sOw#ma!p#ma#T#ma'W#ma~O#T3tOw#oa!p#oa#n#oa'W#oa~Ow#uX!p#uX#T#uX#n#uX#s#tX'W#uX~O!p-OO'a*`O~OV1`O!o&VX#O&VX~O#O1bO!o'zX~O!o1dO~O#O)gO!n'yq'P'yq~OT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!o!}i#O!}i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jq#O$jq~P!%aO#|1kO!y$jq#O$jq~O#d1lO~O!n#bO!pXO!z$hO#P1oO'P#bO~O!o1rO'W$gO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oq#O$oq~P!%aO#T1tO#d1sO!y&lX#O&lX~O#O0[O!y'ka~O#T'ZO#n'XO!p'q!R!n'q!R'P'q!R~O!pXO!r1yO~O!n$s!R'P$s!R!y$s!R!o$s!R~PCVO#P1{O#T'ZO#n'XO~OP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!o2XO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOh2ZO~OY%ei_%ei!o%eii%ei~PhOY%fi_%fi!o%fii%fi~PhO!y2^O~O!y2^O~P!+iO!y2aO~O!n#bO#|2eO'P#bO~O%W2fO%`2fO~O#n3sOw&ea!p&ea#T&ea'W&ea~Ow#wX!p#wX#T#wX#n#wX#s#tX'W#wX~OV2iO!o&Va#O&Va~O]2kOs2kO#sdO'WYO!o&{X#O&{X~O#O1bO!o'za~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#^i#O#^i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jy#O$jy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oy#O$oy~P!%aO!pXO#P2rO~O#d2sO~O#O0[O!y'ki~O!n$s!Z'P$s!Z!y$s!Z!o$s!Z~PCVOT<bOz<^O!S<dO!c<fO!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cO~P!%aOV2{O{2zO~P)dOV2{O{2zOT'[Xz'[X!S'[X!c'[X!w'[X!z'[X#T'[X#X'[X#a'[X#b'[X#y'[X#|'[X$O'[X$R'[X$S'[X$T'[X$U'[X$V'[X$X'[X$Y'[X$Z'[X$['[X$]'[X$^'[X$_'[X%T'[X~OP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!o3OO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOY%eq_%eq!o%eqi%eq~PhO!y3QO~O!y%pi~PCVOe3RO~O%W3SO%`3SO~OV3VO!o&WX#O&WX~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$j!R#O$j!R~P!%aO!n$s!c'P$s!c!y$s!c!o$s!c~PCVO!a3`O'W$gO~OV3dO!o&Wa#O&Wa~O'W$gO!n%Ri'P%Ri~O'a'_O~O'a/jO~O'a*iO~O'a1]O~OT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ta#|$ta$O$ta'P$ta!y$ta!o$ta#O$ta~P!%aO#T3uO~P-RO#s3lO~O#s3mO~O!U$uO$u$tO~P#-WOT8TOz8RO!S8UO!c8VO!w:_O#P3pO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X'P'^X!y'^X!o'^X~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#P5aO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O'^X#Y'^X#|'^X$O'^X!n'^X'P'^X!r'^X!y'^X!o'^XV'^X!p'^X~P!%aO#T5OO~P#-WOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$`a#|$`a$O$`a'P$`a!y$`a!o$`a#O$`a~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$aa#|$aa$O$aa'P$aa!y$aa!o$aa#O$aa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ba#|$ba$O$ba'P$ba!y$ba!o$ba#O$ba~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ca#|$ca$O$ca'P$ca!y$ca!o$ca#O$ca~P!%aOz3{O#|$ca$O$ca#O$ca~PMVOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$fa#|$fa$O$fa'P$fa!y$fa!o$fa#O$fa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n%Va#|%Va$O%Va'P%Va!y%Va!o%Va#O%Va~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n#Ua#|#Ua$O#Ua'P#Ua!y#Ua!o#Ua#O#Ua~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n'^a#|'^a$O'^a'P'^a!y'^a!o'^a#O'^a~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qi!S#Qi!c#Qi!n#Qi#|#Qi$O#Qi'P#Qi!y#Qi!o#Qi#O#Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#}i!S#}i!c#}i!n#}i#|#}i$O#}i'P#}i!y#}i!o#}i#O#}i~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$Pi#|$Pi$O$Pi'P$Pi!y$Pi!o$Pi#O$Pi~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vq!S!vq!c!vq!n!vq!w!vq#|!vq$O!vq'P!vq!y!vq!o!vq#O!vq~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qq!S#Qq!c#Qq!n#Qq#|#Qq$O#Qq'P#Qq!y#Qq!o#Qq#O#Qq~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sq#|$sq$O$sq'P$sq!y$sq!o$sq#O$sq~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vy!S!vy!c!vy!n!vy!w!vy#|!vy$O!vy'P!vy!y!vy!o!vy#O!vy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sy#|$sy$O$sy'P$sy!y$sy!o$sy#O$sy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!R#|$s!R$O$s!R'P$s!R!y$s!R!o$s!R#O$s!R~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!Z#|$s!Z$O$s!Z'P$s!Z!y$s!Z!o$s!Z#O$s!Z~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!c#|$s!c$O$s!c'P$s!c!y$s!c!o$s!c#O$s!c~P!%aOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T5bO#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$<UOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$<UO#|4aO$O4bO#O'XX~P3YOP7wOU_O[5kOo9xOr4cOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T4`O#V4_O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYOT$PXz$PX!S$PX!c$PX!n$PX!w$PX#a$PX#b$PX#y$PX#|$PX$O$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX'P$PX!y$PX!o$PX#O$PX~P$<UOP7wOU_O[5kOo9xOr6dOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T6aO#V6`O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYOT$PXz$PX!S$PX!c$PX!w$PX#O$PX#P$PX#Y$PX#a$PX#b$PX#y$PX#|$PX$O$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX!n$PX'P$PX!r$PX!y$PX!o$PXV$PX!p$PX~P$<UO!r4kO~P<XO!r7iO#P5RO~OT8TOz8RO!S8UO!c8VO!r5SO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r7jO#P5VO~O!r7kO#P5ZO~O#P5ZO#T'ZO#n'XO~O#P5[O#T'ZO#n'XO~O#P5_O#T'ZO#n'XO~OP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!U$uO!V5iO!W5iO!Z5}O!d5eO!z]O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO$u$tO%T5|O%U!OO'WYO~P$<UOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T7PO#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$<UOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$`a#P$`a#Y$`a#|$`a$O$`a!n$`a'P$`a!r$`a!y$`a!o$`aV$`a!p$`a~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$aa#P$aa#Y$aa#|$aa$O$aa!n$aa'P$aa!r$aa!y$aa!o$aaV$aa!p$aa~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$ba#P$ba#Y$ba#|$ba$O$ba!n$ba'P$ba!r$ba!y$ba!o$baV$ba!p$ba~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$ca#P$ca#Y$ca#|$ca$O$ca!n$ca'P$ca!r$ca!y$ca!o$caV$ca!p$ca~P!%aOz6OO#O$ca#P$ca#Y$ca#|$ca$O$ca!r$caV$ca!p$ca~PMVOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$fa#P$fa#Y$fa#|$fa$O$fa!n$fa'P$fa!r$fa!y$fa!o$faV$fa!p$fa~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O%Va#P%Va#Y%Va#|%Va$O%Va!n%Va'P%Va!r%Va!y%Va!o%VaV%Va!p%Va~P!%aOz6OO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT6QOz6OO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO!S$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT6QOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$[6]O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$Z6[O$[6]O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O#Ua#P#Ua#Y#Ua#|#Ua$O#Ua!n#Ua'P#Ua!r#Ua!y#Ua!o#UaV#Ua!p#Ua~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O'^a#P'^a#Y'^a#|'^a$O'^a!n'^a'P'^a!r'^a!y'^a!o'^aV'^a!p'^a~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT#Qi!S#Qi!c#Qi#O#Qi#P#Qi#Y#Qi#|#Qi$O#Qi!n#Qi'P#Qi!r#Qi!y#Qi!o#QiV#Qi!p#Qi~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT#}i!S#}i!c#}i#O#}i#P#}i#Y#}i#|#}i$O#}i!n#}i'P#}i!r#}i!y#}i!o#}iV#}i!p#}i~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$Pi#P$Pi#Y$Pi#|$Pi$O$Pi!n$Pi'P$Pi!r$Pi!y$Pi!o$PiV$Pi!p$Pi~P!%aOz6OO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT!vq!S!vq!c!vq!w!vq#O!vq#P!vq#Y!vq#|!vq$O!vq!n!vq'P!vq!r!vq!y!vq!o!vqV!vq!p!vq~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT#Qq!S#Qq!c#Qq#O#Qq#P#Qq#Y#Qq#|#Qq$O#Qq!n#Qq'P#Qq!r#Qq!y#Qq!o#QqV#Qq!p#Qq~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$sq#P$sq#Y$sq#|$sq$O$sq!n$sq'P$sq!r$sq!y$sq!o$sqV$sq!p$sq~P!%aOz6OO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT!vy!S!vy!c!vy!w!vy#O!vy#P!vy#Y!vy#|!vy$O!vy!n!vy'P!vy!r!vy!y!vy!o!vyV!vy!p!vy~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$sy#P$sy#Y$sy#|$sy$O$sy!n$sy'P$sy!r$sy!y$sy!o$syV$sy!p$sy~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$s!R#P$s!R#Y$s!R#|$s!R$O$s!R!n$s!R'P$s!R!r$s!R!y$s!R!o$s!RV$s!R!p$s!R~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$s!Z#P$s!Z#Y$s!Z#|$s!Z$O$s!Z!n$s!Z'P$s!Z!r$s!Z!y$s!Z!o$s!ZV$s!Z!p$s!Z~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$s!c#P$s!c#Y$s!c#|$s!c$O$s!c!n$s!c'P$s!c!r$s!c!y$s!c!o$s!cV$s!c!p$s!c~P!%aO#T7cO~P#-WO!z$hO#T7gO~O!y5uO#T'ZO#n'XO~O!z$hO#T7hO~OT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$ta#P$ta#Y$ta#|$ta$O$ta!n$ta'P$ta!r$ta!y$ta!o$taV$ta!p$ta~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#P7bO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO!n'^X#|'^X$O'^X'P'^X!y'^X!o'^X#O'^X~P!%aO#|6bO$O6cO#O'XX#P'XX#Y'XX!r'XXV'XX!p'XX~P3YO!r6lO~P<XO!r9|O#P7SO~OT8TOz8RO!S8UO!c8VO!r7TO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r9}O#P7WO~O!r:OO#P7[O~O#P7[O#T'ZO#n'XO~O#P7]O#T'ZO#n'XO~O#P7`O#T'ZO#n'XO~O!U$uO$u$tO~P<XOo7fOs$lO~O#T9ZO~P<XOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$`a#P$`a#Y$`a!n$`a'P$`a!r$`a!y$`a!o$`aV$`a!p$`a~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$aa#P$aa#Y$aa!n$aa'P$aa!r$aa!y$aa!o$aaV$aa!p$aa~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$ba#P$ba#Y$ba!n$ba'P$ba!r$ba!y$ba!o$baV$ba!p$ba~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$ca#P$ca#Y$ca!n$ca'P$ca!r$ca!y$ca!o$caV$ca!p$ca~P!%aOz8RO#O$ca#P$ca#Y$ca!r$caV$ca!p$ca~PMVOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$fa#P$fa#Y$fa!n$fa'P$fa!r$fa!y$fa!o$faV$fa!p$fa~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$ta#P$ta#Y$ta!n$ta'P$ta!r$ta!y$ta!o$taV$ta!p$ta~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O%Va#P%Va#Y%Va!n%Va'P%Va!r%Va!y%Va!o%VaV%Va!p%Va~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#O9_O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'xX~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#O9aO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'ZX~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aO#T9fO~P!+iO!n#Ua'P#Ua!y#Ua!o#Ua~PCVO!n'^a'P'^a!y'^a!o'^a~PCVO#T=PO#V=OO!y&aX#O&aX~P<XO#O9WO!y']a~Oz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#Qi!S#Qi!c#Qi#O#Qi#P#Qi#Y#Qi!n#Qi'P#Qi!r#Qi!y#Qi!o#QiV#Qi!p#Qi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#}i!S#}i!c#}i#O#}i#P#}i#Y#}i!n#}i'P#}i!r#}i!y#}i!o#}iV#}i!p#}i~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$Pi#P$Pi#Y$Pi!n$Pi'P$Pi!r$Pi!y$Pi!o$PiV$Pi!p$Pi~P!%aO#O9_O!y%ma~O!y&_X#O&_X~P!+iO#O9aO!y'Za~Oz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT!vq!S!vq!c!vq!w!vq#O!vq#P!vq#Y!vq!n!vq'P!vq!r!vq!y!vq!o!vqV!vq!p!vq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wi#O#Wi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#Qq!S#Qq!c#Qq#O#Qq#P#Qq#Y#Qq!n#Qq'P#Qq!r#Qq!y#Qq!o#QqV#Qq!p#Qq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sq#P$sq#Y$sq!n$sq'P$sq!r$sq!y$sq!o$sqV$sq!p$sq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&wa#O&wa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&_a#O&_a~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT!vy!S!vy!c!vy!w!vy#O!vy#P!vy#Y!vy!n!vy'P!vy!r!vy!y!vy!o!vyV!vy!p!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wq#O#Wq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sy#P$sy#Y$sy!n$sy'P$sy!r$sy!y$sy!o$syV$sy!p$sy~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!R#P$s!R#Y$s!R!n$s!R'P$s!R!r$s!R!y$s!R!o$s!RV$s!R!p$s!R~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!Z#P$s!Z#Y$s!Z!n$s!Z'P$s!Z!r$s!Z!y$s!Z!o$s!ZV$s!Z!p$s!Z~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!c#P$s!c#Y$s!c!n$s!c'P$s!c!r$s!c!y$s!c!o$s!cV$s!c!p$s!c~P!%aO#T9vO~P<XO#P9uO!n'^X'P'^X!r'^X!y'^X!o'^XV'^X!p'^X~PEqO!z$hO#T9zO~O!z$hO#T9{O~O#|8fO$O8gO#O'XX#P'XX#Y'XX!r'XXV'XX!p'XX~P3YOr8hO#T#mO#V#lO#O$PX#P$PX#Y$PX!r$PXV$PX!p$PX~P5^Or=UO#T:sO#V:qOT$PXz$PX!S$PX!c$PX!n$PX!r$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX!o$PX#O$PX!p$PX'P$PX~P<XOr:rO#T:rO#V:rOT$PXz$PX!S$PX!c$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX~P<XOr:wO#T=PO#V=OOT$PXz$PX!S$PX!c$PX!w$PX!y$PX#O$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX~P<XO!U$uO$u$tO~P!+iO!r8sO~P<XOT8TOz8RO!S8UO!c8VO!w:_O#P9TO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'^X#O'^X~P!%aOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UO#O9WO!y']X~O#T;eO~P!+iOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$`a#O$`a~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$aa#O$aa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ba#O$ba~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ca#O$ca~P!%aOz:`O%T#cOT$ca!S$ca!c$ca!w$ca!y$ca#O$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$fa#O$fa~P!%aO!r?SO#P9^O~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ta#O$ta~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y%Va#O%Va~P!%aOT8TOz8RO!S8UO!c8VO!r9cO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOz:`O#T#PO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi~P!%aOz:`O#T#PO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi~P!%aOz:`O#T#PO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi~P!%aOz:`O#T#PO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi~P!%aOz:`O$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi~P!%aOz:`O$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi~P!%aOz:`O$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi~P!%aOz:`O$Z:lO$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi~P!%aOz:`O$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qi!S#Qi!c#Qi!y#Qi#O#Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#}i!S#}i!c#}i!y#}i#O#}i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$Pi#O$Pi~P!%aO!r?TO#P9hO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vq!S!vq!c!vq!w!vq!y!vq#O!vq~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qq!S#Qq!c#Qq!y#Qq#O#Qq~P!%aO!r?YO#P9oO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sq#O$sq~P!%aO#P9oO#T'ZO#n'XO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vy!S!vy!c!vy!w!vy!y!vy#O!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sy#O$sy~P!%aO#P9pO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!R#O$s!R~P!%aO#P9sO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!Z#O$s!Z~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!c#O$s!c~P!%aO#T;}O~P!+iOT8TOz8RO!S8UO!c8VO!w:_O#P;|O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'^X#O'^X~P!%aO!U$uO$u$tO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!U$uO!V:rO!W:rO!Z:rO!d:SO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO$u$tO%T<ZO%U!OO'WYO~P$<UOo9yOs$lO~O#T>VO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!z]O#T>WO#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$`a!r$`a!o$`a#O$`a!p$`a'P$`a~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$aa!r$aa!o$aa#O$aa!p$aa'P$aa~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$ba!r$ba!o$ba#O$ba!p$ba'P$ba~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$ca!r$ca!o$ca#O$ca!p$ca'P$ca~P!%aOz<]O%T#cOT$ca!S$ca!c$ca!n$ca!r$ca!w$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca!o$ca#O$ca!p$ca'P$ca~P!%aOz<^O%T#cOT$ca!S$ca!c$ca!w$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$fa!r$fa!o$fa#O$fa!p$fa'P$fa~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$ta!r$ta!o$ta#O$ta!p$ta'P$ta~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n%Va!r%Va!o%Va#O%Va!p%Va'P%Va~P!%aOz<]O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi~P!%aOT<aOz<]O!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!S$Qi!n$Qi!r$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOT<bOz<^O!c<fO!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cO!S$Qi~P!%aOT<aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!S$Qi!c$Qi!n$Qi!r$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOT<bOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cO!S$Qi!c$Qi~P!%aOz<]O#T#PO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi~P!%aOz<]O#T#PO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi$T$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi$T$Qi~P!%aOz<]O#T#PO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi~P!%aOz<]O#T#PO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz<]O$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz<]O$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi~P!%aOz<]O$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi~P!%aOz<]O$[<wO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$[<xO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi~P!%aOz<]O$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi~P!%aOz<]O$Z<uO$[<wO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$Z<vO$[<xO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi~P!%aOz<]O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Ua#O#Ua~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'^a#O'^a~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT#Qi!S#Qi!c#Qi!n#Qi!r#Qi!o#Qi#O#Qi!p#Qi'P#Qi~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT#Qi!S#Qi!c#Qi~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT#}i!S#}i!c#}i!n#}i!r#}i!o#}i#O#}i!p#}i'P#}i~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT#}i!S#}i!c#}i~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$Pi!r$Pi!o$Pi#O$Pi!p$Pi'P$Pi~P!%aOz<]O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT!vq!S!vq!c!vq!n!vq!r!vq!w!vq!o!vq#O!vq!p!vq'P!vq~P!%aOz<^O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT!vq!S!vq!c!vq!w!vq~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT#Qq!S#Qq!c#Qq!n#Qq!r#Qq!o#Qq#O#Qq!p#Qq'P#Qq~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT#Qq!S#Qq!c#Qq~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$sq!r$sq!o$sq#O$sq!p$sq'P$sq~P!%aOz<]O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT!vy!S!vy!c!vy!n!vy!r!vy!w!vy!o!vy#O!vy!p!vy'P!vy~P!%aOz<^O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT!vy!S!vy!c!vy!w!vy~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$sy!r$sy!o$sy#O$sy!p$sy'P$sy~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$s!R!r$s!R!o$s!R#O$s!R!p$s!R'P$s!R~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$s!Z!r$s!Z!o$s!Z#O$s!Z!p$s!Z'P$s!Z~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$s!c!r$s!c!o$s!c#O$s!c!p$s!c'P$s!c~P!%aO#T>pO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!z]O#T>qO#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOT8TOz8RO!S8UO!c8VO!w:_O#P>oO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P>nO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X!r'^X!o'^X#O'^X!p'^X'P'^X~P!%aOT'XXz'XX!S'XX!c'XX!w'XX!z'XX#O'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX~O#|:uO$O:vO!y'XX~P.@qO!z$hO#T>zO~O!r;SO~P<XO!z$hO#T?PO~O#|;iO!n$|X!p$|X#O$|X'P$|X~O!r?pO#P;jO~OT8TOz8RO!S8UO!c8VO!r;kO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n#Ua!r#Ua!o#Ua#O#Ua!p#Ua'P#Ua~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n'^a!r'^a!o'^a#O'^a!p'^a'P'^a~P!%aO!r?qO#P;nO~O#d>xO!n&qX!p&qX#O&qX'P&qX~O#O?QO!n'pa!p'pa'P'pa~O!r?rO#P;uO~OT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$|i!p$|i#O$|i'P$|i~P!%aO#P;uO#T'ZO#n'XO~O#P;vO#T'ZO#n'XO~O#P;zO#T'ZO#n'XO~O#|=QO$O=SO!n'XX!r'XX!o'XX!p'XX'P'XX~P.@qO#|=RO$O=TOT'XXz'XX!S'XX!c'XX!w'XX!z'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX~O!r=aO~P<XO!r=bO~P<XO!r?yO#P>[O~O!r?zO#P:rO~OT8TOz8RO!S8UO!c8VO!r>]O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!r>^O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r?{O#P>cO~O!r?|O#P>hO~O#P>hO#T'ZO#n'XO~O#P:rO#T'ZO#n'XO~O#P>iO#T'ZO#n'XO~O#P>lO#T'ZO#n'XO~O!z$hO#T?nO~Oo>wOs$lO~O!z$hO#T?oO~O#O?QO!n'pX!p'pX'P'pX~O!z$hO#T?vO~O!z$hO#T?wO~O!z$hO#T?xO~Oo?lOs$lO~Oo?uOs$lO~Oo?tOs$lO~O%X$]%W$k!e$^#d%`#g'u'W#f~",goto:"%1O'{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'|P(TPP(Z(^PPP(vP(^*o(^6cP6cPP>cFxF{PP6cGR! RP! UP! UPPGR! e! h! lGRGRPP! oP! rPPGR!)u!0q!0qGR!0uP!0u!0u!0u!2PP!;g!<T!<a!FP!F_P!Na!NdP6cP6c6cPPPPP!NgPPPPPPP6c6c6c6cPP6c6cP#&T#'|P#(Q#(t#'|#'|#(z#)^#)b6c6cP#)k#*R#*|#,Q#,W#,Q#,f#,Q#,Q#,z#,}#,}6cPP6cPP#-R#5S#5S#5WP#5^P(^#5b(^#5z#5}#5}#6T(^#6W(^(^#6^#6a(^#6j#6m(^(^(^(^(^#6p(^(^(^(^(^(^(^(^(^#6s#7V(^(^#7Z#7k#7n(^(^P#7q#7x#8O#8k#8u#8{#9V#9^#9d#:h#;j#;z#<d#=`#=f#=l#=r#=|#>S#>Y#>h#>n#>x#?O#?U#?[#?b#?l#?v#?|#@S#@^PPPPPPPP#@d#@hP#A^$(h$(k$(u$1R$1_$1t$1zP$1}$2Q$2W$5[$?Y$Gr$Gu$G{$HO$Kb$Ke$Kn$Kv$LQ$Li$MP$Mz%'}PP%0O%0S%0`%0u%0{Q!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]|!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q%_!ZQ%h!aQ%m!eQ'k$cQ'x$iQ)d%lQ+W'{Q,k)QU.O+T+V+]Q.j+pQ/`,jS0a.T.UQ0q.dQ1n0VS1w0`0dQ2Q0nQ2q1pQ2t1xR3[2u|ZPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]2lf]`cgjklmnoprxyz!W!X!Y!]!e!f!g!y!z#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%S%U%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(t)T)X)`)c)g)n)u)y*V*Z*[*r*w*|+Q+X+[+^+_+j+m+q+t,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b/X/n/y0O0T0b0e1R1S1b1k1o1y1{2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|S$ku$`Q%W!V^%e!_$a'j)Y.f0o2OQ%i!bQ%j!cQ%k!dQ%v!kS&V!|){Q&]#OQ'l$dQ'm$eS'|$j'hQ)S%`Q*v'nQ+z(bQ,O(dQ-S)iU.g+n.c0mQ.q+{Q.r+|Q/d,vS0V-y0XQ1X/cQ1e/rS2T0s2WQ2h1`Q3U2iQ3^2zQ3_2{Q3c3VQ3f3`R3g3d0{!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q#h^Q%O!PQ%P!QQ%Q!RQ,b(sQ.u,RR.y,UR&r#hQ*Q&qR/w-a0{hPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#j_k#n`j#i#q&t&x5d5e9W:Q:R:S:TR#saT&}#r'PR-h*[R&R!{0zhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#tb-x!}[#e#k#u$U$V$W$X$Y$Z$v$w%X%Z%]%a%s%|&O&U&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&v&w&|'`'b'c(e(x)v)x)z*O*U*h*j+a+d,n,q-W-Y-[-e-f-g-w.Y/O/[/v0Q0Z0f1g1j1m1z2S2`2o2p2v3Z4]4^4d4e4f4g4h4i4j4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5P5Q5T5U5W5X5Y5]5^5`5t6e6f6g6h6i6j6k6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7m7q8i8j8k8l8m8n8p8q8r8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9U9V9Y9[9]9d9e9g9i9j9k9l9m9n9q9r9t9w:p:x:y:z:{:|:};Q;R;T;U;V;W;X;Y;Z;[;];^;_;`;a;b;c;d;f;g;l;m;p;r;s;w;y;{<O=V=W=X=Y=Z=[=]=`=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}>O>P>Q>R>S>T>U>X>Y>Z>_>`>a>b>d>e>f>g>j>k>m>r>s>{>|>}?V?b?cQ'd$[Y(X$s8o;P=^=_S(]3o7lQ(`$tR+y(aT&X!|){#a$Pg#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|3yfPVX]`cgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%O%Q%S%T%U%V%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(h(t)T)X)`)c)g)n)u)y){*V*Z*[*r*w*|+Q+X+[+^+_+j+m+n+q+t,Q,T,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b.c.u.w/P/X/n/y0O0T0b0e0m0s0}1O1R1S1W1b1k1o1y1{2W2]2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|[#wd#x3h3i3j3kh'V#z'W)f,}-U/k/u1f3l3m3q3rQ)e%nR-T)kY#yd%n)k3h3iV'T#x3j3k1dePVX]`cjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a'e(R(V(Y(Z(h(t)T)X)g)n)u)y){*V*Z*[*|+^+q,Q,T,Y,c,e,g-O-`-a-t-z.[.^.u.w/P/X/n/y0O0T0e0s0}1O1R1S1W1b1k1o1{2W2]2k2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q%o!fQ)l%r#O3vg#}$h'X'Z'p't'y(W([)`*w+Q+X+[+_+j+m+t,i,u,x-v.S.V.].b0b1y7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|a3w)c*r+n.c0m3n3s3tY'T#z)f-U3l3mZ*c'W,}/u3q3r0vhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0}1O1R1S1W1k1o1{2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T2U0s2WR&^#OR&]#O!r#Z[#e#u$U$V$W$X$Z$s$w%X%Z%]&`&a&b&c&d&e&f&g'`'b'c(e)v)x*O*j+d-Y.Y0f1z2`2p2v3Z9U9V!Y4U3o4d4e4f4g4i4j4l4m4n4o4p4q4r4s4{4|4}5P5Q5T5U5W5X5Y5]5^5`!^6X4^6e6f6g6h6j6k6m6n6o6p6q6r6s6t6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7l7m#b8[#k%a%s%|&O&v&w&|(x*U+a,n,q-W-e-g/[4]5t7q8i8j8k8l8n8o8p8t8u8v8w8x8y8z8{9Y9[9]9d9g9i9l9n9q9r9t9w:p;R<O>r>s>{?b?c!|:i&U)z-[-f-w0Q0Z1g1j1m2o8q8r9e9j9k9m:x:y:z:{:};P;Q;T;U;V;W;X;Y;Z;[;d;f;g;l;m;p;r;s;w;y;{>R>S!`<o/O/v=V=W=X=Y=]=^=`=c=e=g=i=k=m=o=q>T>X>Z>_>a>d>e>g>j>k>m>|>}?Vo<p2S=_=d=f=h=j=l=n=p=r>U>Y>`>b>fS$iu#fQ$qwU'{$j$l&pQ'}$kS(P$m$rQ+Z'|Q+](OQ+`(QQ1p0VQ5s7dS5v7f7gQ5w7hQ7p9xS7r9y9zQ7s9{Q;O>uS;h>w>zQ;o?PQ>y?jS?O?l?nQ?U?oQ?`?sS?a?t?wS?d?u?vR?e?xT'u$h+Q!csPVXt!S!j!r!s!w$h%O%Q%T%V'p([(h)`+Q+j+t,Q,T,u,x.u.w/P0}1O1W2]Q$]rR*l'eQ-{+PQ.i+oQ0U-xQ0j.`Q1|0kR2w1}T0W-y0XQ+V'zQ.U+YR0d.XQ(_$tQ)^%iQ)s%vQ*u'mS+x(`(aQ-q*vR.p+yQ(^$tQ)b%kQ)r%vQ*q'lS*t'm)sU+w(_(`(aS-p*u*vS.o+x+yQ/i,{Q/{-nQ/}-qR0v.pQ(]$tQ)]%iQ)_%jQ)q%vU*s'm)r)sW+v(^(_(`(aQ,t)^U-o*t*u*vU.n+w+x+yS/|-p-qS0u.o.pQ1i/}R2Y0vX+r([)`+t,xb%f!_$a'j+n.c.f0m0o2OR,r)YQ$ovS+b(S?Qg?m([)`+i+j+m+t,u,x.a.b0lR0t.kT2V0s2W0}|PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$y{$|Q,O(dR.r+|T${{$|Q(j%OQ(r%QQ(w%TQ(z%VQ.},XQ0z.yQ0{.|R2c1WR(m%PX,[(k(l,],_R(n%PX(p%Q%T%V1WR%T!T_%b!]%S(t,c,e/X1RR%V!UR/],gR,j)PQ)a%kS*p'l)bS-m*q,{S/z-n/iR1h/{T,w)`,xQ-P)fU/l,|,}-UU1^/k/t/uR2n1fR/o-OR2l1bSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w,Q1O2]Q,Q(hQ1O/PR2]0}Q)o%sS-X)o9bR9b8rQ-b*QR/x-bQ&y#oS*X&y9XR9X:tS*]&|&}R-i*]Q)|&YR-^)|!j'Y#|'o*f*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*e'Y/g]/g,{-n.f0o1[2O!h'[#|'o*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*g'[/hZ/h,{-n.f0o2OU#xd%n)kU'S#x3j3kQ3j3hR3k3iQ'W#z^*b'W,}/k/u1f3q3rQ,})fQ/u-UQ3q3lR3r3m|tPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]W$_t'p+j,uS'p$h+QS+j([+tT,u)`,xQ'f$]R*m'fQ0X-yR1q0XQ+R'vR-}+RQ0].PS1u0]1vR1v0^Q._+fR0i._Q+t([R.l+tW+m([)`+t,xS.b+j,uT.e+m.bQ)Z%fR,s)ZQ(T$oS+c(T?RR?R?mQ2W0sR2}2WQ$|{R(f$|Q,S(iR.v,SQ,V(jR.z,VQ,](kQ,_(lT/Q,],_Q)U%aS,o)U9`R9`8qQ)R%_R,l)RQ,x)`R/e,xQ)h%pS-R)h/sR/s-SQ1c/oR2m1cT!uV!rj!iPVX!j!r!s!w(h,Q/P0}1O2]Q%R!SQ(i%OW(p%Q%T%V1WQ.x,TQ0x.uR0y.w|[PVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q#e]U#k`#q&xQ#ucQ$UkQ$VlQ$WmQ$XnQ$YoQ$ZpQ$sx^$vy3y5|8P:]<Y<ZQ$wzQ%X!WQ%Z!XQ%]!YW%a!]%S(t,eU%s!g&q-aQ%|!yQ&O!zS&U!|){^&_#Q3{6O8R:`<]<^Q&`#RQ&a#SQ&b#TQ&c#UQ&d#VQ&e#WQ&f#XQ&g#YQ&h#ZQ&i#[Q&j#]Q&k#^Q&l#_Q&m#`Q&n#aQ&v#lQ&w#mS&|#r'PQ'`$QQ'b$RQ'c$TQ(e$zQ(x%UQ)v%}Q)x&SQ)z&WQ*O&[Q*U&uS*h']5uQ*j'a^*k3p5a7b9u;|>n>oQ+a(RQ+d(VQ,n)TQ,q)XQ-W)nQ-Y)uQ-[)yQ-e*VQ-f*ZQ-g*[^-k3u5b7c9v;}>p>qQ-w*|Q.Y+^Q/O,YQ/[,gQ/v-`Q0Q-tQ0Z-zQ0f.[Q1g/yQ1j0OQ1m0TQ1z0eU2S0s2W:rQ2`1SQ2o1kQ2p1oQ2v1{Q3Z2rQ3o3xQ4]jQ4^5eQ4d5fQ4e5hQ4f5jQ4g5lQ4h5nQ4i5pQ4j3zQ4l3|Q4m3}Q4n4OQ4o4PQ4p4QQ4q4RQ4r4SQ4s4TQ4t4UQ4u4VQ4v4WQ4w4XQ4x4YQ4y4ZQ4z4[Q4{4_Q4|4`Q4}4aQ5P4bQ5Q4cQ5T4kQ5U5OQ5W5RQ5X5SQ5Y5VQ5]5ZQ5^5[Q5`5_Q5t5rQ6e5gQ6f5iQ6g5kQ6h5mQ6i5oQ6j5qQ6k5}Q6m6PQ6n6QQ6o6RQ6p6SQ6q6TQ6r6UQ6s6VQ6t6WQ6u6XQ6v6YQ6w6ZQ6x6[Q6y6]Q6z6^Q6{6_Q6|6`Q6}6aQ7O6bQ7Q6cQ7R6dQ7U6lQ7V7PQ7X7SQ7Y7TQ7Z7WQ7^7[Q7_7]Q7a7`Q7l5{Q7m5dQ7q7oQ8i7xQ8j7yQ8k7zQ8l7{Q8m7|Q8n7}Q8o8OQ8p8QU8q,c/X1RQ8r%dQ8t8SQ8u8TQ8v8UQ8w8VQ8x8WQ8y8XQ8z8YQ8{8ZQ8|8[Q8}8]Q9O8^Q9P8_Q9Q8`Q9R8aQ9S8bQ9U8dQ9V8eQ9Y8fQ9[8gQ9]8hQ9d8sQ9e9TQ9g9ZQ9i9^Q9j9_Q9k9aQ9l9cQ9m9fQ9n9hQ9q9oQ9r9pQ9t9sQ9w:QU:p#i&t9WQ:x:UQ:y:VQ:z:WQ:{:XQ:|:YQ:}:ZQ;P:[Q;Q:^Q;R:_Q;T:aQ;U:bQ;V:cQ;W:dQ;X:eQ;Y:fQ;Z:gQ;[:hQ;]:iQ;^:jQ;_:kQ;`:lQ;a:mQ;b:nQ;c:oQ;d:uQ;f:vQ;g:wQ;l;SQ;m;eQ;p;jQ;r;kQ;s;nQ;w;uQ;y;vQ;{;zQ<O:TQ=V<PQ=W<QQ=X<RQ=Y<SQ=Z<TQ=[<UQ=]<VQ=^<WQ=_<XQ=`<[Q=c<_Q=d<`Q=e<aQ=f<bQ=g<cQ=h<dQ=i<eQ=j<fQ=k<gQ=l<hQ=m<iQ=n<jQ=o<kQ=p<lQ=q<mQ=r<nQ=s<oQ=t<pQ=u<qQ=v<rQ=w<sQ=x<tQ=y<uQ=z<vQ={<wQ=|<xQ=}<yQ>O<zQ>P<{Q>Q<|Q>R=OQ>S=PQ>T=QQ>U=RQ>X=SQ>Y=TQ>Z=UQ>_=aQ>`=bQ>a>VQ>b>WQ>d>[Q>e>]Q>f>^Q>g>cQ>j>hQ>k>iQ>m>lQ>r:SQ>s:RQ>{>vQ>|:qQ>}:sQ?V;iQ?b?^R?c?_R*R&qQ%t!gQ)W%dT*P&q-a$WiPVX]cklmnopxyz!S!W!X!Y!j!r!s!w#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%O%Q%T%V%}&S&['a(V(h)u+^,Q,T.[.u.w/P0e0}1O1S1W1o1{2]2r3p3u8d8e!t5c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x7n5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`:P`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l>t!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x?[,Y-`:q:s;i<P<Q<R<S<T<V<W<Y<[<]<_<a<c<e<g<i<k<m<o<q<s<u<w<y<{=Q=S=U=a>V>[>]>c>h>i>l>n>p!]?]0s2W:r<U<X<Z<^<`<b<d<f<h<j<l<n<p<r<t<v<x<z<|=R=T=b>W>^>o>qQ#p`Q&s#iQ&{#qR*T&tS#o`#q^$Sj5d5e:Q:R:S:TS*W&x9WT:t#i&tQ'O#rR*_'PR&T!{R&Z!|Q&Y!|R-]){Q#|gS'^#}3nS'o$h+QS*d'X3sU*f'Z*w-vQ*z'pQ+O'tQ+T'yQ+e(WW+i([)`+t,xQ,{)cQ-n*rQ.T+XQ.W+[Q.Z+_U.a+j+m,uQ.f+nQ/_,iQ0`.SQ0c.VQ0g.]Q0l.bQ0o.cQ1[3tQ1x0bQ2O0mQ2u1yQ5x7iQ5y7jQ5z7kQ7e7wQ7t9|Q7u9}Q7v:OQ;q?SQ;t?TQ;x?YQ?W?pQ?X?qQ?Z?rQ?f?yQ?g?zQ?h?{R?i?|0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_#`$Og#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|S$[r'eQ%l!eS%p!f%rU+f(Y(Z+qQ-Q)gQ/m-OQ0h.^Q1a/nQ2j1bR3W2k|vPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]#Y#g]cklmnopxyz!W!X!Y#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%}&S&['a(V)u+^.[0e1S1o1{2r3p3u8d8e`+k([)`+j+m+t,u,x.b!t8c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x<}5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`?k`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l?}!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x@O,Y-`:q:s;i<P<Q<R<S<T<V<W<Y<[<]<_<a<c<e<g<i<k<m<o<q<s<u<w<y<{=Q=S=U=a>V>[>]>c>h>i>l>n>p!]@P0s2W:r<U<X<Z<^<`<b<d<f<h<j<l<n<p<r<t<v<x<z<|=R=T=b>W>^>o>qR'w$hQ'v$hR-|+QR$^rQ#d[Q%Y!WQ%[!XQ%^!YQ(U$pQ({%WQ(|%XQ(}%ZQ)O%]Q)V%cQ)[%gQ)d%lQ)j%qQ)p%tQ*n'iQ-V)mQ-l*oQ.i+oQ.j+pQ.x,WQ/S,`Q/T,aQ/U,bQ/Z,fQ/^,hQ/b,pQ/q-PQ0j.`Q0q.dQ0r.hQ0t.kQ0y.{Q1Y/dQ1_/lQ1n0VQ1|0kQ2Q0nQ2R0pQ2[0|Q2d1XQ2g1^Q2w1}Q2y2PQ2|2VQ3P2ZQ3T2fQ3X2nQ3Y2pQ3]2xQ3a3RQ3b3SR3e3ZR.R+UQ+g(YQ+h(ZR.k+qS+s([+tT,w)`,xa+l([)`+j+m+t,u,x.bQ%g!_Q'i$aQ*o'jQ.h+nS0p.c.fS2P0m0oR2x2OQ$pvW+o([)`+t,xW.`+i+j+m,uS0k.a.bR1}0l|!aPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q$ctW+p([)`+t,xU.d+j+m,uR0n.b0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R/a,m0}}PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$x{$|Q(q%QQ(v%TQ(y%VR2b1WQ%c!]Q(u%SQ,d(tQ/W,cQ/Y,eQ1Q/XR2_1RQ%q!fR)m%rR/p-O",nodeNames:"⚠ ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print readonly require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> Name VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp IntersectionType OptionalType NamedType QualifiedName \\ NamespaceName Name NamespaceName Name ScopedExpression :: ClassMemberName DynamicMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter PropertyHooks PropertyHook UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:318,nodeProps:[["group",-36,2,8,49,82,84,86,89,94,95,103,107,108,112,113,116,120,126,132,137,139,140,154,155,156,157,160,161,173,174,188,190,191,192,193,194,200,"Expression",-28,75,79,81,83,201,203,208,210,211,214,217,218,219,220,221,223,224,225,226,227,228,229,230,231,234,235,239,240,"Statement",-4,121,123,124,125,"Type"],["isolate",-4,67,68,71,200,""],["openedBy",70,"phpOpen",77,"{",87,"(",102,"#["],["closedBy",72,"phpClose",78,"}",88,")",165,"]"]],propSources:[GV],skippedNodes:[0],repeatNodeCount:32,tokenData:"!GQ_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9Y!e!}!7z!}#O!;b#O#P!<O#P#Q!<l#Q#R!=Y#R#S!7z#S#T!=y#T#U!7z#U#V!9Y#V#o!7z#o#p!Cs#p#q!Da#q#r!Ev#r#s!Fd#s$f$z$f$g&^$g&j!7z&j$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zP%PV'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zP%kO'TPP%nWOY$zYZ%fZ!a$z!b;'S$z;'S;=`&W<%l~$z~O$z~~%fP&ZP;=`<%l$z_&ed'TP'S^OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^q!^$z!^!_%k!_$f$z$f$g&^$g$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$z_'zW'TP'S^XY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(d^(iW'S^XY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dR)YW$eQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`;'S$z;'S;=`&W<%lO$zR)yW$XQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`*c!`;'S$z;'S;=`&W<%lO$zR*jV$XQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+YV'tS'TP'uQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_+v]'TP!e^OY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b!},o!}#O1f#O;'S,o;'S;=`/s<%lO,o_,vZ'TP!e^OY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_-nZ!e^OY,oYZ%fZ],o]^$z^!a,o!a!b.a!b;'S,o;'S;=`/s<%l~,o~O,o~~%f^.dWOY.|YZ/nZ].|]^/n^!`.|!a;'S.|;'S;=`/h<%lO.|^/RV!e^OY.|Z].|^!a.|!a!b.a!b;'S.|;'S;=`/h<%lO.|^/kP;=`<%l.|^/sO!e^_/vP;=`<%l,o_0OZ'TPOY,oYZ0qZ],o]^0x^!^,o!^!_-i!_!`,o!`!a$z!a;'S,o;'S;=`/s<%lO,o_0xO'TP!e^_1PV'TP!e^OY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_1oZ'TP$kQ!e^OY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_2i`'TP#fQOY$zYZ%fZ!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o#p4w#p$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$z_3ra'TP#d^OY$zYZ%fZ!Q$z!Q![3k![!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$zV5OV'TP#gUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR5lW'TP$^QOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR6]V$OQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_6yY#T^'TPOY$zYZ%fZv$zvw7iw!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR7pV$TQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR8^Z'TP%`QOY8VYZ9PZw8Vwx;_x!^8V!^!_;{!_#O8V#O#P<y#P;'S8V;'S;=`>V<%lO8VR9WV'TP%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%`QQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV'TP%`QOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR<Q]%`QOY8VYZ9PZw8Vwx;_x!a8V!a!b9m!b#O8V#O#P<y#P;'S8V;'S;=`>V<%l~8V~O8V~~%fR=OW'TPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!zQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!yU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY'TP$^QOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$_Q'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$[Q'TPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V%TQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV#OQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$[Q%^W'TPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#aU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo['TP$]QOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX'TPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#VU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_'TP%XQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]'TPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X'TPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ'TP%XQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX'TPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_K[['TP$^QOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$z_LVX'TPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_LwT'TPOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMW^NXO!f^^N[P;=`<%lMW_NdZ'TPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_! ^V!f^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%f_!!lP;=`<%lLQZ!!vm'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX'TPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY'TPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k['TP%WYOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX'TPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ'TP%WYOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]'TPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_'TP%WYOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!rQ'TPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#yQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!nU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$YQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$ZQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!jP!_!`!0k!r!s!0p#d#e!0pP!0pO!jPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0k_!1ZX#|Y'TPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#PU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!3{[!wQ'TPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#bU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!6WV!h^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW$RQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$dQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ta'aS'TP'WYOY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9ce'aS'TP'WYOY$zYZ%fZr$zrs!:tsw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:{V'TP'uQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;iV#XU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!<VV#s^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!<sV#YQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!=aW$VQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!>OZ'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%lO!=yR!>vV'TPO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?`VO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?xRO;'S!?];'S;=`!@R;=`O!?]Q!@UWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!?]<%lO!?]Q!@sO%UQQ!@vP;=`<%l!?]R!@|]OY!=yYZ!>qZ!a!=y!a!b!?]!b#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%l~!=y~O!=y~~%fR!AzW'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_;'S!=y;'S;=`!Bd;=`<%l!?]<%lO!=yR!BgWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!=y<%lO!?]R!CWV%UQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!CpP;=`<%l!=y_!CzV!p^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!DjY$UQ#n['TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EY#q;'S$z;'S;=`&W<%lO$zR!EaV$SQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!E}V!oQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FkV$eQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[VV,EV,jV,0,1,2,3,WV],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(t,e)=>VQ(t)<<1,external:VQ},{term:284,get:t=>AV[t]||-1}],tokenPrec:29889}),IV=bt.define({name:"php",parser:NV.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Ot({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},ColonBlock:t=>t.baseIndent+t.unit,"Block EnumBody DeclarationList":Hi({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"String BlockComment":()=>null,Statement:Ot({except:/^({|end(for|foreach|switch|while)\b)/})}),wt.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":rn,ColonBlock(t){return{from:t.from+1,to:t.to}},BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function LV(t={}){let e=[],i;if(t.baseLanguage!==null)if(t.baseLanguage)i=t.baseLanguage;else{let n=Zh({matchClosingTags:!1});e.push(n.support),i=n.language}return new Ut(IV.configure({wrap:i&&Oh(n=>n.type.isTop?{parser:i.parser,overlay:O=>O.name=="Text"}:null),top:t.plain?"Program":"Template"}),e)}const df=1,DV=2,MV=3,BV=4,FV=5,HV=36,KV=37,JV=38,eW=11,tW=13;function iW(t){return t==45||t==46||t==58||t>=65&&t<=90||t==95||t>=97&&t<=122||t>=161}function nW(t){return t==9||t==10||t==13||t==32}let jQ=null,CQ=null,EQ=0;function $f(t,e){let i=t.pos+e;if(CQ==t&&EQ==i)return jQ;for(;nW(t.peek(e));)e++;let n="";for(;;){let O=t.peek(e);if(!iW(O))break;n+=String.fromCharCode(O),e++}return CQ=t,EQ=i,jQ=n||null}function GQ(t,e){this.name=t,this.parent=e}const OW=new za({start:null,shift(t,e,i,n){return e==df?new GQ($f(n,1)||"",t):t},reduce(t,e){return e==eW&&t?t.parent:t},reuse(t,e,i,n){let O=e.type.id;return O==df||O==tW?new GQ($f(n,1)||"",t):t},strict:!1}),rW=new ke((t,e)=>{if(t.next==60){if(t.advance(),t.next==47){t.advance();let i=$f(t,0);if(!i)return t.acceptToken(FV);if(e.context&&i==e.context.name)return t.acceptToken(DV);for(let n=e.context;n;n=n.parent)if(n.name==i)return t.acceptToken(MV,-2);t.acceptToken(BV)}else if(t.next!=33&&t.next!=63)return t.acceptToken(df)}},{contextual:!0});function Gh(t,e){return new ke(i=>{let n=0,O=e.charCodeAt(0);e:for(;!(i.next<0);i.advance(),n++)if(i.next==O){for(let r=1;r<e.length;r++)if(i.peek(r)!=e.charCodeAt(r))continue e;break}n&&i.acceptToken(t)})}const aW=Gh(HV,"-->"),sW=Gh(KV,"?>"),oW=Gh(JV,"]]>"),lW=xt({Text:$.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":$.angleBracket,TagName:$.tagName,"MismatchedCloseTag/TagName":[$.tagName,$.invalid],AttributeName:$.attributeName,AttributeValue:$.attributeValue,Is:$.definitionOperator,"EntityReference CharacterReference":$.character,Comment:$.blockComment,ProcessingInst:$.processingInstruction,DoctypeDecl:$.documentMeta,Cdata:$.special($.string)}),cW=yt.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:OW,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[lW],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[rW,aW,sW,oW,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function Ns(t,e){let i=e&&e.getChild("TagName");return i?t.sliceString(i.from,i.to):""}function Zc(t,e){let i=e&&e.firstChild;return!i||i.name!="OpenTag"?"":Ns(t,i)}function uW(t,e,i){let n=e&&e.getChildren("Attribute").find(r=>r.from<=i&&r.to>=i),O=n&&n.getChild("AttributeName");return O?t.sliceString(O.from,O.to):""}function zc(t){for(let e=t&&t.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function fW(t,e){var i;let n=Ze(t).resolveInner(e,-1),O=null;for(let r=n;!O&&r.parent;r=r.parent)(r.name=="OpenTag"||r.name=="CloseTag"||r.name=="SelfClosingTag"||r.name=="MismatchedCloseTag")&&(O=r);if(O&&(O.to>e||O.lastChild.type.isError)){let r=O.parent;if(n.name=="TagName")return O.name=="CloseTag"||O.name=="MismatchedCloseTag"?{type:"closeTag",from:n.from,context:r}:{type:"openTag",from:n.from,context:zc(r)};if(n.name=="AttributeName")return{type:"attrName",from:n.from,context:O};if(n.name=="AttributeValue")return{type:"attrValue",from:n.from,context:O};let a=n==O||n.name=="Attribute"?n.childBefore(e):n;return(a==null?void 0:a.name)=="StartTag"?{type:"openTag",from:e,context:zc(r)}:(a==null?void 0:a.name)=="StartCloseTag"&&a.to<=e?{type:"closeTag",from:e,context:r}:(a==null?void 0:a.name)=="Is"?{type:"attrValue",from:e,context:O}:a?{type:"attrName",from:e,context:O}:null}else if(n.name=="StartCloseTag")return{type:"closeTag",from:e,context:n.parent};for(;n.parent&&n.to==e&&!(!((i=n.lastChild)===null||i===void 0)&&i.type.isError);)n=n.parent;return n.name=="Element"||n.name=="Text"||n.name=="Document"?{type:"tag",from:e,context:n.name=="Element"?n:zc(n)}:null}class hW{constructor(e,i,n){this.attrs=i,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(O=>({label:O,type:"text"})):[]}}const Uc=/^[:\-\.\w\u00b7-\uffff]*$/;function AQ(t){return Object.assign(Object.assign({type:"property"},t.completion||{}),{label:t.name})}function NQ(t){return typeof t=="string"?{label:`"${t}"`,type:"constant"}:/^"/.test(t.label)?t:Object.assign(Object.assign({},t),{label:`"${t.label}"`})}function dW(t,e){let i=[],n=[],O=Object.create(null);for(let o of e){let l=AQ(o);i.push(l),o.global&&n.push(l),o.values&&(O[o.name]=o.values.map(NQ))}let r=[],a=[],s=Object.create(null);for(let o of t){let l=n,c=O;o.attributes&&(l=l.concat(o.attributes.map(f=>typeof f=="string"?i.find(d=>d.label==f)||{label:f,type:"property"}:(f.values&&(c==O&&(c=Object.create(c)),c[f.name]=f.values.map(NQ)),AQ(f)))));let u=new hW(o,l,c);s[u.name]=u,r.push(u),o.top&&a.push(u)}a.length||(a=r);for(let o=0;o<r.length;o++){let l=t[o],c=r[o];if(l.children)for(let u of l.children)s[u]&&c.children.push(s[u]);else c.children=r}return o=>{var l;let{doc:c}=o.state,u=fW(o.state,o.pos);if(!u||u.type=="tag"&&!o.explicit)return null;let{type:f,from:d,context:p}=u;if(f=="openTag"){let Q=a,P=Zc(c,p);if(P){let m=s[P];Q=(m==null?void 0:m.children)||r}return{from:d,options:Q.map(m=>m.completion),validFor:Uc}}else if(f=="closeTag"){let Q=Zc(c,p);return Q?{from:d,to:o.pos+(c.sliceString(o.pos,o.pos+1)==">"?1:0),options:[((l=s[Q])===null||l===void 0?void 0:l.closeNameCompletion)||{label:Q+">",type:"type"}],validFor:Uc}:null}else if(f=="attrName"){let Q=s[Ns(c,p)];return{from:d,options:(Q==null?void 0:Q.attrs)||n,validFor:Uc}}else if(f=="attrValue"){let Q=uW(c,p,d);if(!Q)return null;let P=s[Ns(c,p)],m=((P==null?void 0:P.attrValues)||O)[Q];return!m||!m.length?null:{from:d,to:o.pos+(c.sliceString(o.pos,o.pos+1)=='"'?1:0),options:m,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let Q=Zc(c,p),P=s[Q],m=[],S=p&&p.lastChild;Q&&(!S||S.name!="CloseTag"||Ns(c,S)!=Q)&&m.push(P?P.closeCompletion:{label:"</"+Q+">",type:"type",boost:2});let x=m.concat(((P==null?void 0:P.children)||(p?r:a)).map(z=>z.openCompletion));if(p&&(P!=null&&P.text.length)){let z=p.firstChild;z.to>o.pos-20&&!/\S/.test(o.state.sliceDoc(z.to,o.pos))&&(x=x.concat(P.text))}return{from:d,options:x,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}const pf=bt.define({name:"xml",parser:cW.configure({props:[Xt.add({Element(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),wt.add({Element(t){let e=t.firstChild,i=t.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:i.name=="CloseTag"?i.from:t.to}}}),lh.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function $W(t={}){let e=[pf.data.of({autocomplete:dW(t.elements||[],t.attributes||[])})];return t.autoCloseTags!==!1&&e.push(pW),new Ut(pf,e)}function IQ(t,e,i=t.length){if(!e)return"";let n=e.firstChild,O=n&&n.getChild("TagName");return O?t.sliceString(O.from,Math.min(O.to,i)):""}const pW=K.inputHandler.of((t,e,i,n,O)=>{if(t.composing||t.state.readOnly||e!=i||n!=">"&&n!="/"||!pf.isActiveAt(t.state,e,-1))return!1;let r=O(),{state:a}=r,s=a.changeByRange(o=>{var l,c,u;let{head:f}=o,d=a.doc.sliceString(f-1,f)==n,p=Ze(a).resolveInner(f,-1),Q;if(d&&n==">"&&p.name=="EndTag"){let P=p.parent;if(((c=(l=P.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(Q=IQ(a.doc,P.parent,f))){let m=f+(a.doc.sliceString(f,f+1)===">"?1:0),S=`</${Q}>`;return{range:o,changes:{from:f,to:m,insert:S}}}}else if(d&&n=="/"&&p.name=="StartCloseTag"){let P=p.parent;if(p.from==f-2&&((u=P.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(Q=IQ(a.doc,P,f))){let m=f+(a.doc.sliceString(f,f+1)===">"?1:0),S=`${Q}>`;return{range:j.cursor(f+S.length,-1),changes:{from:f,to:m,insert:S}}}}return{range:o}});return s.changes.empty?!1:(t.dispatch([r,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),CO=63,LQ=64,QW=1,mW=2,Uy=3,gW=4,qy=5,PW=6,SW=7,Vy=65,bW=66,yW=8,xW=9,XW=10,wW=11,kW=12,Wy=13,TW=19,vW=20,_W=29,RW=33,YW=34,ZW=47,zW=0,Ah=1,Qf=2,Pa=3,mf=4;let Gn=class{constructor(e,i,n){this.parent=e,this.depth=i,this.type=n,this.hash=(e?e.hash+e.hash<<8:0)+i+(i<<4)+n}};Gn.top=new Gn(null,-1,zW);function Hr(t,e){for(let i=0,n=e-t.pos-1;;n--,i++){let O=t.peek(n);if(en(O)||O==-1)return i}}function gf(t){return t==32||t==9}function en(t){return t==10||t==13}function jy(t){return gf(t)||en(t)}function Dn(t){return t<0||jy(t)}const UW=new za({start:Gn.top,reduce(t,e){return t.type==Pa&&(e==vW||e==YW)?t.parent:t},shift(t,e,i,n){if(e==Uy)return new Gn(t,Hr(n,n.pos),Ah);if(e==Vy||e==qy)return new Gn(t,Hr(n,n.pos),Qf);if(e==CO)return t.parent;if(e==TW||e==RW)return new Gn(t,0,Pa);if(e==Wy&&t.type==mf)return t.parent;if(e==ZW){let O=/[1-9]/.exec(n.read(n.pos,i.pos));if(O)return new Gn(t,t.depth+ +O[0],mf)}return t},hash(t){return t.hash}});function or(t,e,i=0){return t.peek(i)==e&&t.peek(i+1)==e&&t.peek(i+2)==e&&Dn(t.peek(i+3))}const qW=new ke((t,e)=>{if(t.next==-1&&e.canShift(LQ))return t.acceptToken(LQ);let i=t.peek(-1);if((en(i)||i<0)&&e.context.type!=Pa){if(or(t,45))if(e.canShift(CO))t.acceptToken(CO);else return t.acceptToken(QW,3);if(or(t,46))if(e.canShift(CO))t.acceptToken(CO);else return t.acceptToken(mW,3);let n=0;for(;t.next==32;)n++,t.advance();(n<e.context.depth||n==e.context.depth&&e.context.type==Ah&&(t.next!=45||!Dn(t.peek(1))))&&t.next!=-1&&!en(t.next)&&t.next!=35&&t.acceptToken(CO,-n)}},{contextual:!0}),VW=new ke((t,e)=>{if(e.context.type==Pa){t.next==63&&(t.advance(),Dn(t.next)&&t.acceptToken(SW));return}if(t.next==45)t.advance(),Dn(t.next)&&t.acceptToken(e.context.type==Ah&&e.context.depth==Hr(t,t.pos-1)?gW:Uy);else if(t.next==63)t.advance(),Dn(t.next)&&t.acceptToken(e.context.type==Qf&&e.context.depth==Hr(t,t.pos-1)?PW:qy);else{let i=t.pos;for(;;)if(gf(t.next)){if(t.pos==i)return;t.advance()}else if(t.next==33)Cy(t);else if(t.next==38)Pf(t);else if(t.next==42){Pf(t);break}else if(t.next==39||t.next==34){if(Nh(t,!0))break;return}else if(t.next==91||t.next==123){if(!jW(t))return;break}else{Ey(t,!0,!1,0);break}for(;gf(t.next);)t.advance();if(t.next==58){if(t.pos==i&&e.canShift(_W))return;let n=t.peek(1);Dn(n)&&t.acceptTokenTo(e.context.type==Qf&&e.context.depth==Hr(t,i)?bW:Vy,i)}}},{contextual:!0});function WW(t){return t>32&&t<127&&t!=34&&t!=37&&t!=44&&t!=60&&t!=62&&t!=92&&t!=94&&t!=96&&t!=123&&t!=124&&t!=125}function DQ(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function MQ(t,e){return t.next==37?(t.advance(),DQ(t.next)&&t.advance(),DQ(t.next)&&t.advance(),!0):WW(t.next)||e&&t.next==44?(t.advance(),!0):!1}function Cy(t){if(t.advance(),t.next==60){for(t.advance();;)if(!MQ(t,!0)){t.next==62&&t.advance();break}}else for(;MQ(t,!1););}function Pf(t){for(t.advance();!Dn(t.next)&&To(t.next)!="f";)t.advance()}function Nh(t,e){let i=t.next,n=!1,O=t.pos;for(t.advance();;){let r=t.next;if(r<0)break;if(t.advance(),r==i)if(r==39)if(t.next==39)t.advance();else break;else break;else if(r==92&&i==34)t.next>=0&&t.advance();else if(en(r)){if(e)return!1;n=!0}else if(e&&t.pos>=O+1024)return!1}return!n}function jW(t){for(let e=[],i=t.pos+1024;;)if(t.next==91||t.next==123)e.push(t.next),t.advance();else if(t.next==39||t.next==34){if(!Nh(t,!0))return!1}else if(t.next==93||t.next==125){if(e[e.length-1]!=t.next-2)return!1;if(e.pop(),t.advance(),!e.length)return!0}else{if(t.next<0||t.pos>i||en(t.next))return!1;t.advance()}}const CW="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function To(t){return t<33?"u":t>125?"s":CW[t-33]}function qc(t,e){let i=To(t);return i!="u"&&!(e&&i=="f")}function Ey(t,e,i,n){if(To(t.next)=="s"||(t.next==63||t.next==58||t.next==45)&&qc(t.peek(1),i))t.advance();else return!1;let O=t.pos;for(;;){let r=t.next,a=0,s=n+1;for(;jy(r);){if(en(r)){if(e)return!1;s=0}else s++;r=t.peek(++a)}if(!(r>=0&&(r==58?qc(t.peek(a+1),i):r==35?t.peek(a-1)!=32:qc(r,i)))||!i&&s<=n||s==0&&!i&&(or(t,45,a)||or(t,46,a)))break;if(e&&To(r)=="f")return!1;for(let l=a;l>=0;l--)t.advance();if(e&&t.pos>O+1024)return!1}return!0}const EW=new ke((t,e)=>{if(t.next==33)Cy(t),t.acceptToken(kW);else if(t.next==38||t.next==42){let i=t.next==38?XW:wW;Pf(t),t.acceptToken(i)}else t.next==39||t.next==34?(Nh(t,!1),t.acceptToken(xW)):Ey(t,!1,e.context.type==Pa,e.context.depth)&&t.acceptToken(yW)}),GW=new ke((t,e)=>{let i=e.context.type==mf?e.context.depth:-1,n=t.pos;e:for(;;){let O=0,r=t.next;for(;r==32;)r=t.peek(++O);if(!O&&(or(t,45,O)||or(t,46,O))||!en(r)&&(i<0&&(i=Math.max(e.context.depth+1,O)),O<i))break;for(;;){if(t.next<0)break e;let a=en(t.next);if(t.advance(),a)continue e;n=t.pos}}t.acceptTokenTo(Wy,n)}),AW=xt({DirectiveName:$.keyword,DirectiveContent:$.attributeValue,"DirectiveEnd DocEnd":$.meta,QuotedLiteral:$.string,BlockLiteralHeader:$.special($.string),BlockLiteralContent:$.content,Literal:$.content,"Key/Literal Key/QuotedLiteral":$.definition($.propertyName),"Anchor Alias":$.labelName,Tag:$.typeName,Comment:$.lineComment,": , -":$.separator,"?":$.punctuation,"[ ]":$.squareBracket,"{ }":$.brace}),NW=yt.deserialize({version:14,states:"5lQ!ZQgOOO#PQfO'#CpO#uQfO'#DOOOQR'#Dv'#DvO$qQgO'#DRO%gQdO'#DUO%nQgO'#DUO&ROaO'#D[OOQR'#Du'#DuO&{QgO'#D^O'rQgO'#D`OOQR'#Dt'#DtO(iOqO'#DbOOQP'#Dj'#DjO(zQaO'#CmO)YQgO'#CmOOQP'#Cm'#CmQ)jQaOOQ)uQgOOQ]QgOOO*PQdO'#CrO*nQdO'#CtOOQO'#Dw'#DwO+]Q`O'#CxO+hQdO'#CwO+rQ`O'#CwOOQO'#Cv'#CvO+wQdO'#CvOOQO'#Cq'#CqO,UQ`O,59[O,^QfO,59[OOQR,59[,59[OOQO'#Cx'#CxO,eQ`O'#DPO,pQdO'#DPOOQO'#Dx'#DxO,zQdO'#DxO-XQ`O,59jO-aQfO,59jOOQR,59j,59jOOQR'#DS'#DSO-hQcO,59mO-sQgO'#DVO.TQ`O'#DVO.YQcO,59pOOQR'#DX'#DXO#|QfO'#DWO.hQcO'#DWOOQR,59v,59vO.yOWO,59vO/OOaO,59vO/WOaO,59vO/cQgO'#D_OOQR,59x,59xO0VQgO'#DaOOQR,59z,59zOOQP,59|,59|O0yOaO,59|O1ROaO,59|O1aOqO,59|OOQP-E7h-E7hO1oQgO,59XOOQP,59X,59XO2PQaO'#DeO2_QgO'#DeO2oQgO'#DkOOQP'#Dk'#DkQ)jQaOOO3PQdO'#CsOOQO,59^,59^O3kQdO'#CuOOQO,59`,59`OOQO,59c,59cO4VQdO,59cO4aQdO'#CzO4kQ`O'#CzOOQO,59b,59bOOQU,5:Q,5:QOOQR1G.v1G.vO4pQ`O1G.vOOQU-E7d-E7dO4xQdO,59kOOQO,59k,59kO5SQdO'#DQO5^Q`O'#DQOOQO,5:d,5:dOOQU,5:R,5:ROOQR1G/U1G/UO5cQ`O1G/UOOQU-E7e-E7eO5kQgO'#DhO5xQcO1G/XOOQR1G/X1G/XOOQR,59q,59qO6TQgO,59qO6eQdO'#DiO6lQgO'#DiO7PQcO1G/[OOQR1G/[1G/[OOQR,59r,59rO#|QfO,59rOOQR1G/b1G/bO7_OWO1G/bO7dOaO1G/bOOQR,59y,59yOOQR,59{,59{OOQP1G/h1G/hO7lOaO1G/hO7tOaO1G/hO8POaO1G/hOOQP1G.s1G.sO8_QgO,5:POOQP,5:P,5:POOQP,5:V,5:VOOQP-E7i-E7iOOQO,59_,59_OOQO,59a,59aOOQO1G.}1G.}OOQO,59f,59fO8oQdO,59fOOQR7+$b7+$bP,XQ`O'#DfOOQO1G/V1G/VOOQO,59l,59lO8yQdO,59lOOQR7+$p7+$pP9TQ`O'#DgOOQR'#DT'#DTOOQR,5:S,5:SOOQR-E7f-E7fOOQR7+$s7+$sOOQR1G/]1G/]O9YQgO'#DYO9jQ`O'#DYOOQR,5:T,5:TO#|QfO'#DZO9oQcO'#DZOOQR-E7g-E7gOOQR7+$v7+$vOOQR1G/^1G/^OOQR7+$|7+$|O:QOWO7+$|OOQP7+%S7+%SO:VOaO7+%SO:_OaO7+%SOOQP1G/k1G/kOOQO1G/Q1G/QOOQO1G/W1G/WOOQR,59t,59tO:jQgO,59tOOQR,59u,59uO#|QfO,59uOOQR<<Hh<<HhOOQP<<Hn<<HnO:zOaO<<HnOOQR1G/`1G/`OOQR1G/a1G/aOOQPAN>YAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:UW,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[AW],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[qW,VW,EW,GW,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),IW=bt.define({name:"yaml",parser:NW.configure({props:[Xt.add({Stream:t=>{for(let e=t.node.resolve(t.pos,-1);e&&e.to>=t.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.from<e.to)return t.baseIndentFor(e);if(e.name=="BlockLiteral")return t.baseIndentFor(e)+t.unit;if(e.name=="BlockSequence"||e.name=="BlockMapping")return t.column(e.firstChild.from,1);if(e.name=="QuotedLiteral")return null;if(e.name=="Literal"){let i=t.column(e.from,1);if(i==t.lineIndent(e.from,1))return i;if(e.to>t.pos)return null}}return null},FlowMapping:Hi({closing:"}"}),FlowSequence:Hi({closing:"]"})}),wt.add({"FlowMapping FlowSequence":rn,"Item Pair BlockLiteral":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function LW(){return new Ut(IW)}function Ih(t,e,i,n,O,r){this.indented=t,this.column=e,this.type=i,this.info=n,this.align=O,this.prev=r}function Ps(t,e,i,n){var O=t.indented;return t.context&&t.context.type=="statement"&&i!="statement"&&(O=t.context.indented),t.context=new Ih(O,e,i,n,null,t.context)}function _r(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}function BQ(t,e,i){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(t.string.slice(0,i))||e.typeAtEndOfLine&&t.column()==t.indentation())return!0}function Vc(t){for(;;){if(!t||t.type=="top")return!0;if(t.type=="}"&&t.prev.info!="namespace")return!1;t=t.prev}}function Dt(t){var e=t.statementIndentUnit,i=t.dontAlignCalls,n=t.keywords||{},O=t.types||{},r=t.builtin||{},a=t.blockKeywords||{},s=t.defKeywords||{},o=t.atoms||{},l=t.hooks||{},c=t.multiLineStrings,u=t.indentStatements!==!1,f=t.indentSwitch!==!1,d=t.namespaceSeparator,p=t.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Q=t.numberStart||/[\d\.]/,P=t.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,m=t.isOperatorChar||/[+\-*&%=<>!?|\/]/,S=t.isIdentifierChar||/[\w\$_\xa1-\uffff]/,x=t.isReservedIdentifier||!1,z,Y;function U(E,_){var R=E.next();if(l[R]){var T=l[R](E,_);if(T!==!1)return T}if(R=='"'||R=="'")return _.tokenize=V(R),_.tokenize(E,_);if(Q.test(R)){if(E.backUp(1),E.match(P))return"number";E.next()}if(p.test(R))return z=R,null;if(R=="/"){if(E.eat("*"))return _.tokenize=G,G(E,_);if(E.eat("/"))return E.skipToEnd(),"comment"}if(m.test(R)){for(;!E.match(/^\/[\/*]/,!1)&&E.eat(m););return"operator"}if(E.eatWhile(S),d)for(;E.match(d);)E.eatWhile(S);var y=E.current();return Ii(n,y)?(Ii(a,y)&&(z="newstatement"),Ii(s,y)&&(Y=!0),"keyword"):Ii(O,y)?"type":Ii(r,y)||x&&x(y)?(Ii(a,y)&&(z="newstatement"),"builtin"):Ii(o,y)?"atom":"variable"}function V(E){return function(_,R){for(var T=!1,y,w=!1;(y=_.next())!=null;){if(y==E&&!T){w=!0;break}T=!T&&y=="\\"}return(w||!(T||c))&&(R.tokenize=null),"string"}}function G(E,_){for(var R=!1,T;T=E.next();){if(T=="/"&&R){_.tokenize=null;break}R=T=="*"}return"comment"}function D(E,_){t.typeFirstDefinitions&&E.eol()&&Vc(_.context)&&(_.typeAtEndOfLine=BQ(E,_,E.pos))}return{name:t.name,startState:function(E){return{tokenize:null,context:new Ih(-E,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(E,_){var R=_.context;if(E.sol()&&(R.align==null&&(R.align=!1),_.indented=E.indentation(),_.startOfLine=!0),E.eatSpace())return D(E,_),null;z=Y=null;var T=(_.tokenize||U)(E,_);if(T=="comment"||T=="meta")return T;if(R.align==null&&(R.align=!0),z==";"||z==":"||z==","&&E.match(/^\s*(?:\/\/.*)?$/,!1))for(;_.context.type=="statement";)_r(_);else if(z=="{")Ps(_,E.column(),"}");else if(z=="[")Ps(_,E.column(),"]");else if(z=="(")Ps(_,E.column(),")");else if(z=="}"){for(;R.type=="statement";)R=_r(_);for(R.type=="}"&&(R=_r(_));R.type=="statement";)R=_r(_)}else z==R.type?_r(_):u&&((R.type=="}"||R.type=="top")&&z!=";"||R.type=="statement"&&z=="newstatement")&&Ps(_,E.column(),"statement",E.current());if(T=="variable"&&(_.prevToken=="def"||t.typeFirstDefinitions&&BQ(E,_,E.start)&&Vc(_.context)&&E.match(/^\s*\(/,!1))&&(T="def"),l.token){var y=l.token(E,_,T);y!==void 0&&(T=y)}return T=="def"&&t.styleDefs===!1&&(T="variable"),_.startOfLine=!1,_.prevToken=Y?"def":T||z,D(E,_),T},indent:function(E,_,R){if(E.tokenize!=U&&E.tokenize!=null||E.typeAtEndOfLine&&Vc(E.context))return null;var T=E.context,y=_&&_.charAt(0),w=y==T.type;if(T.type=="statement"&&y=="}"&&(T=T.prev),t.dontIndentStatements)for(;T.type=="statement"&&t.dontIndentStatements.test(T.info);)T=T.prev;if(l.indent){var Z=l.indent(E,T,_,R.unit);if(typeof Z=="number")return Z}var X=T.prev&&T.prev.info=="switch";if(t.allmanIndentation&&/[{(]/.test(y)){for(;T.type!="top"&&T.type!="}";)T=T.prev;return T.indented}return T.type=="statement"?T.indented+(y=="{"?0:e||R.unit):T.align&&(!i||T.type!=")")?T.column+(w?0:1):T.type==")"&&!w?T.indented+(e||R.unit):T.indented+(w?0:R.unit)+(!w&&X&&!/^(?:case|default)\b/.test(_)?R.unit:0)},languageData:{indentOnInput:f?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(O)).concat(Object.keys(r)).concat(Object.keys(o)),...t.languageData}}}function ie(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}function Ii(t,e){return typeof t=="function"?t(e):t.propertyIsEnumerable(e)}var qa="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",Gy="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",Ay="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",Ny="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",DW=ie("int long char short double float unsigned signed void bool"),MW=ie("SEL instancetype id Class Protocol BOOL");function Va(t){return Ii(DW,t)||/.+_t$/.test(t)}function Iy(t){return Va(t)||Ii(MW,t)}var Wa="case do else for if switch while struct enum union",el="struct enum union";function kn(t,e){if(!e.startOfLine)return!1;for(var i,n=null;i=t.peek();){if(i=="\\"&&t.match(/^.$/)){n=kn;break}else if(i=="/"&&t.match(/^\/[\/\*]/,!1))break;t.next()}return e.tokenize=n,"meta"}function tl(t,e){return e.prevToken=="type"?"type":!1}function il(t){return!t||t.length<2||t[0]!="_"?!1:t[1]=="_"||t[1]!==t[1].toLowerCase()}function Be(t){return t.eatWhile(/[\w\.']/),"number"}function pn(t,e){if(t.backUp(1),t.match(/^(?:R|u8R|uR|UR|LR)/)){var i=t.match(/^"([^\s\\()]{0,16})\(/);return i?(e.cpp11RawStringDelim=i[1],e.tokenize=HQ,HQ(t,e)):!1}return t.match(/^(?:u8|u|U|L)/)?t.match(/^["']/,!1)?"string":!1:(t.next(),!1)}function Ly(t){var e=/(\w+)::~?(\w+)$/.exec(t);return e&&e[1]==e[2]}function FQ(t,e){for(var i;(i=t.next())!=null;)if(i=='"'&&!t.eat('"')){e.tokenize=null;break}return"string"}function HQ(t,e){var i=e.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),n=t.match(new RegExp(".*?\\)"+i+'"'));return n?e.tokenize=null:t.skipToEnd(),"string"}Dt({name:"c",keywords:ie(qa),types:Va,blockKeywords:ie(Wa),defKeywords:ie(el),typeFirstDefinitions:!0,atoms:ie("NULL true false"),isReservedIdentifier:il,hooks:{"#":kn,"*":tl}});Dt({name:"cpp",keywords:ie(qa+" "+Gy),types:Va,blockKeywords:ie(Wa+" class try catch"),defKeywords:ie(el+" class namespace"),typeFirstDefinitions:!0,atoms:ie("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:il,hooks:{"#":kn,"*":tl,u:pn,U:pn,L:pn,R:pn,0:Be,1:Be,2:Be,3:Be,4:Be,5:Be,6:Be,7:Be,8:Be,9:Be,token:function(t,e,i){if(i=="variable"&&t.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&Ly(t.current()))return"def"}},namespaceSeparator:"::"});Dt({name:"java",keywords:ie("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:ie("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:ie("catch class do else finally for if switch try while"),defKeywords:ie("class interface enum @interface"),typeFirstDefinitions:!0,atoms:ie("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(t){return t.match("interface",!1)?!1:(t.eatWhile(/[\w\$_]/),"meta")},'"':function(t,e){return t.match(/""$/)?(e.tokenize=Dy,e.tokenize(t,e)):!1}}});Dt({name:"csharp",keywords:ie("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:ie("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:ie("catch class do else finally for foreach if struct switch try while"),defKeywords:ie("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:ie("true false null"),hooks:{"@":function(t,e){return t.eat('"')?(e.tokenize=FQ,FQ(t,e)):(t.eatWhile(/[\w\$_]/),"meta")}}});function Dy(t,e){for(var i=!1;!t.eol();){if(!i&&t.match('"""')){e.tokenize=null;break}i=t.next()=="\\"&&!i}return"string"}function Sa(t){return function(e,i){for(var n;n=e.next();)if(n=="*"&&e.eat("/"))if(t==1){i.tokenize=null;break}else return i.tokenize=Sa(t-1),i.tokenize(e,i);else if(n=="/"&&e.eat("*"))return i.tokenize=Sa(t+1),i.tokenize(e,i);return"comment"}}const BW=Dt({name:"scala",keywords:ie("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:ie("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:ie("catch class enum do else finally for forSome if match switch try while"),defKeywords:ie("class enum def object package trait type val var"),atoms:ie("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return t.match('""')?(e.tokenize=Dy,e.tokenize(t,e)):!1},"'":function(t){return t.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(t,e){var i=e.context;return i.type=="}"&&i.align&&t.eat(">")?(e.context=new Ih(i.indented,i.column,i.type,i.info,null,i.prev),"operator"):!1},"/":function(t,e){return t.eat("*")?(e.tokenize=Sa(1),e.tokenize(t,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function FW(t){return function(e,i){for(var n=!1,O,r=!1;!e.eol();){if(!t&&!n&&e.match('"')){r=!0;break}if(t&&e.match('"""')){r=!0;break}O=e.next(),!n&&O=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&O=="\\"&&!t}return(r||!t)&&(i.tokenize=null),"string"}}const HW=Dt({name:"kotlin",keywords:ie("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:ie("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:ie("catch class do else finally for if where try while enum"),defKeywords:ie("class val var object interface fun"),atoms:ie("true false null this"),hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},"*":function(t,e){return e.prevToken=="."?"variable":"operator"},'"':function(t,e){return e.tokenize=FW(t.match('""')),e.tokenize(t,e)},"/":function(t,e){return t.eat("*")?(e.tokenize=Sa(1),e.tokenize(t,e)):!1},indent:function(t,e,i,n){var O=i&&i.charAt(0);if((t.prevToken=="}"||t.prevToken==")")&&i=="")return t.indented;if(t.prevToken=="operator"&&i!="}"&&t.context.type!="}"||t.prevToken=="variable"&&O=="."||(t.prevToken=="}"||t.prevToken==")")&&O==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(t.context.type==(i||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});Dt({name:"shader",keywords:ie("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:ie("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:ie("for while do if else struct"),builtin:ie("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:ie("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":kn}});Dt({name:"nesc",keywords:ie(qa+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:Va,blockKeywords:ie(Wa),atoms:ie("null true false"),hooks:{"#":kn}});Dt({name:"objectivec",keywords:ie(qa+" "+Ay),types:Iy,builtin:ie(Ny),blockKeywords:ie(Wa+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:ie(el+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:ie("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:il,hooks:{"#":kn,"*":tl}});Dt({name:"objectivecpp",keywords:ie(qa+" "+Ay+" "+Gy),types:Iy,builtin:ie(Ny),blockKeywords:ie(Wa+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:ie(el+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:ie("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:il,hooks:{"#":kn,"*":tl,u:pn,U:pn,L:pn,R:pn,0:Be,1:Be,2:Be,3:Be,4:Be,5:Be,6:Be,7:Be,8:Be,9:Be,token:function(t,e,i){if(i=="variable"&&t.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&Ly(t.current()))return"def"}},namespaceSeparator:"::"});Dt({name:"squirrel",keywords:ie("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:Va,blockKeywords:ie("case catch class else for foreach if switch try while"),defKeywords:ie("function local class"),typeFirstDefinitions:!0,atoms:ie("true false null"),hooks:{"#":kn}});var Is=null;function My(t){return function(e,i){for(var n=!1,O,r=!1;!e.eol();){if(!n&&e.match('"')&&(t=="single"||e.match('""'))){r=!0;break}if(!n&&e.match("``")){Is=My(t),r=!0;break}O=e.next(),n=t=="single"&&!n&&O=="\\"}return r&&(i.tokenize=null),"string"}}Dt({name:"ceylon",keywords:ie("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(t){var e=t.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:ie("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:ie("class dynamic function interface module object package value"),builtin:ie("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:ie("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return e.tokenize=My(t.match('""')?"triple":"single"),e.tokenize(t,e)},"`":function(t,e){return!Is||!t.match("`")?!1:(e.tokenize=Is,Is=null,e.tokenize(t,e))},"'":function(t){return t.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(t,e,i){if((i=="variable"||i=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function KW(t){(t.interpolationStack||(t.interpolationStack=[])).push(t.tokenize)}function By(t){return(t.interpolationStack||(t.interpolationStack=[])).pop()}function JW(t){return t.interpolationStack?t.interpolationStack.length:0}function Wc(t,e,i,n){var O=!1;if(e.eat(t))if(e.eat(t))O=!0;else return"string";function r(a,s){for(var o=!1;!a.eol();){if(!n&&!o&&a.peek()=="$")return KW(s),s.tokenize=ej,"string";var l=a.next();if(l==t&&!o&&(!O||a.match(t+t))){s.tokenize=null;break}o=!n&&!o&&l=="\\"}return"string"}return i.tokenize=r,r(e,i)}function ej(t,e){return t.eat("$"),t.eat("{")?e.tokenize=null:e.tokenize=tj,null}function tj(t,e){return t.eatWhile(/[\w_]/),e.tokenize=By(e),"variable"}const ij=Dt({name:"dart",keywords:ie("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:ie("try catch finally do else for if switch while"),builtin:ie("void bool num int double dynamic var String Null Never"),atoms:ie("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(t){return t.eatWhile(/[\w\$_\.]/),"meta"},"'":function(t,e){return Wc("'",t,e,!1)},'"':function(t,e){return Wc('"',t,e,!1)},r:function(t,e){var i=t.peek();return i=="'"||i=='"'?Wc(t.next(),t,e,!0):!1},"}":function(t,e){return JW(e)>0?(e.tokenize=By(e),null):!1},"/":function(t,e){return t.eat("*")?(e.tokenize=Sa(1),e.tokenize(t,e)):!1},token:function(t,e,i){if(i=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(t.current()))return"type"}}}});function Lh(t){for(var e={},i=0,n=t.length;i<n;++i)e[t[i]]=!0;return e}var Fy=["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload","__END__","__FILE__","__LINE__","__dir__"],nj=Lh(Fy),Oj=Lh(["def","class","case","for","while","until","module","catch","loop","proc","begin"]),rj=Lh(["end","until"]),KQ={"[":"]","{":"}","(":")"},aj={"]":"[","}":"{",")":"("},oi;function UO(t,e,i){return i.tokenize.push(t),t(e,i)}function vo(t,e){if(t.sol()&&t.match("=begin")&&t.eol())return e.tokenize.push(cj),"comment";if(t.eatSpace())return null;var i=t.next(),n;if(i=="`"||i=="'"||i=='"')return UO(Rr(i,"string",i=='"'||i=="`"),t,e);if(i=="/")return sj(t)?UO(Rr(i,"string.special",!0),t,e):"operator";if(i=="%"){var O="string",r=!0;t.eat("s")?O="atom":t.eat(/[WQ]/)?O="string":t.eat(/[r]/)?O="string.special":t.eat(/[wxq]/)&&(O="string",r=!1);var a=t.eat(/[^\w\s=]/);return a?(KQ.propertyIsEnumerable(a)&&(a=KQ[a]),UO(Rr(a,O,r,!0),t,e)):"operator"}else{if(i=="#")return t.skipToEnd(),"comment";if(i=="<"&&(n=t.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return UO(lj(n[2],n[1]),t,e);if(i=="0")return t.eat("x")?t.eatWhile(/[\da-fA-F]/):t.eat("b")?t.eatWhile(/[01]/):t.eatWhile(/[0-7]/),"number";if(/\d/.test(i))return t.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if(i=="?"){for(;t.match(/^\\[CM]-/););return t.eat("\\")?t.eatWhile(/\w/):t.next(),"string"}else{if(i==":")return t.eat("'")?UO(Rr("'","atom",!1),t,e):t.eat('"')?UO(Rr('"',"atom",!0),t,e):t.eat(/[\<\>]/)?(t.eat(/[\<\>]/),"atom"):t.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":t.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(t.eatWhile(/[\w$\xa1-\uffff]/),t.eat(/[\?\!\=]/),"atom"):"operator";if(i=="@"&&t.match(/^@?[a-zA-Z_\xa1-\uffff]/))return t.eat("@"),t.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(i=="$")return t.eat(/[a-zA-Z_]/)?t.eatWhile(/[\w]/):t.eat(/\d/)?t.eat(/\d/):t.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(i))return t.eatWhile(/[\w\xa1-\uffff]/),t.eat(/[\?\!]/),t.eat(":")?"atom":"variable";if(i=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return oi="|",null;if(/[\(\)\[\]{}\\;]/.test(i))return oi=i,null;if(i=="-"&&t.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(i)){var s=t.eatWhile(/[=+\-\/*:\.^%<>~|]/);return i=="."&&!s&&(oi="."),"operator"}else return null}}}function sj(t){for(var e=t.pos,i=0,n,O=!1,r=!1;(n=t.next())!=null;)if(r)r=!1;else{if("[{(".indexOf(n)>-1)i++;else if("]})".indexOf(n)>-1){if(i--,i<0)break}else if(n=="/"&&i==0){O=!0;break}r=n=="\\"}return t.backUp(t.pos-e),O}function Sf(t){return t||(t=1),function(e,i){if(e.peek()=="}"){if(t==1)return i.tokenize.pop(),i.tokenize[i.tokenize.length-1](e,i);i.tokenize[i.tokenize.length-1]=Sf(t-1)}else e.peek()=="{"&&(i.tokenize[i.tokenize.length-1]=Sf(t+1));return vo(e,i)}}function oj(){var t=!1;return function(e,i){return t?(i.tokenize.pop(),i.tokenize[i.tokenize.length-1](e,i)):(t=!0,vo(e,i))}}function Rr(t,e,i,n){return function(O,r){var a=!1,s;for(r.context.type==="read-quoted-paused"&&(r.context=r.context.prev,O.eat("}"));(s=O.next())!=null;){if(s==t&&(n||!a)){r.tokenize.pop();break}if(i&&s=="#"&&!a){if(O.eat("{")){t=="}"&&(r.context={prev:r.context,type:"read-quoted-paused"}),r.tokenize.push(Sf());break}else if(/[@\$]/.test(O.peek())){r.tokenize.push(oj());break}}a=!a&&s=="\\"}return e}}function lj(t,e){return function(i,n){return e&&i.eatSpace(),i.match(t)?n.tokenize.pop():i.skipToEnd(),"string"}}function cj(t,e){return t.sol()&&t.match("=end")&&t.eol()&&e.tokenize.pop(),t.skipToEnd(),"comment"}const uj={name:"ruby",startState:function(t){return{tokenize:[vo],indented:0,context:{type:"top",indented:-t},continuedLine:!1,lastTok:null,varList:!1}},token:function(t,e){oi=null,t.sol()&&(e.indented=t.indentation());var i=e.tokenize[e.tokenize.length-1](t,e),n,O=oi;if(i=="variable"){var r=t.current();i=e.lastTok=="."?"property":nj.propertyIsEnumerable(t.current())?"keyword":/^[A-Z]/.test(r)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",i=="keyword"&&(O=r,Oj.propertyIsEnumerable(r)?n="indent":rj.propertyIsEnumerable(r)?n="dedent":((r=="if"||r=="unless")&&t.column()==t.indentation()||r=="do"&&e.context.indented<e.indented)&&(n="indent"))}return(oi||i&&i!="comment")&&(e.lastTok=O),oi=="|"&&(e.varList=!e.varList),n=="indent"||/[\(\[\{]/.test(oi)?e.context={prev:e.context,type:oi||i,indented:e.indented}:(n=="dedent"||/[\)\]\}]/.test(oi))&&e.context.prev&&(e.context=e.context.prev),t.eol()&&(e.continuedLine=oi=="\\"||i=="operator"),i},indent:function(t,e,i){if(t.tokenize[t.tokenize.length-1]!=vo)return null;var n=e&&e.charAt(0),O=t.context,r=O.type==aj[n]||O.type=="keyword"&&/^(?:end|until|else|elsif|when|rescue)\b/.test(e);return O.indented+(r?0:i.unit)+(t.continuedLine?i.unit:0)},languageData:{indentOnInput:/^\s*(?:end|rescue|elsif|else|\})$/,commentTokens:{line:"#"},autocomplete:Fy}};function nl(t){for(var e={},i=0;i<t.length;i++)e[t[i]]=!0;return e}var fj=nl(["_","var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","isolated","nonisolated","catch","do","rethrows","throw","throws","async","await","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),hj=nl(["var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),dj=nl(["true","false","nil","self","super","_"]),$j=nl(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),pj="+-/*%=|&<>~^?!",Qj=":;,.(){}[]",mj=/^\-?0b[01][01_]*/,gj=/^\-?0o[0-7][0-7_]*/,Pj=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Sj=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,bj=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,yj=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,xj=/^\#[A-Za-z]+/,Xj=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Hy(t,e,i){if(t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;var n=t.peek();if(n=="/"){if(t.match("//"))return t.skipToEnd(),"comment";if(t.match("/*"))return e.tokenize.push(bf),bf(t,e)}if(t.match(xj))return"builtin";if(t.match(Xj))return"attribute";if(t.match(mj)||t.match(gj)||t.match(Pj)||t.match(Sj))return"number";if(t.match(yj))return"property";if(pj.indexOf(n)>-1)return t.next(),"operator";if(Qj.indexOf(n)>-1)return t.next(),t.match(".."),"punctuation";var O;if(O=t.match(/("""|"|')/)){var r=kj.bind(null,O[0]);return e.tokenize.push(r),r(t,e)}if(t.match(bj)){var a=t.current();return $j.hasOwnProperty(a)?"type":dj.hasOwnProperty(a)?"atom":fj.hasOwnProperty(a)?(hj.hasOwnProperty(a)&&(e.prev="define"),"keyword"):i=="define"?"def":"variable"}return t.next(),null}function wj(){var t=0;return function(e,i,n){var O=Hy(e,i,n);if(O=="punctuation"){if(e.current()=="(")++t;else if(e.current()==")"){if(t==0)return e.backUp(1),i.tokenize.pop(),i.tokenize[i.tokenize.length-1](e,i);--t}}return O}}function kj(t,e,i){for(var n=t.length==1,O,r=!1;O=e.peek();)if(r){if(e.next(),O=="(")return i.tokenize.push(wj()),"string";r=!1}else{if(e.match(t))return i.tokenize.pop(),"string";e.next(),r=O=="\\"}return n&&i.tokenize.pop(),"string"}function bf(t,e){for(var i;i=t.next();)if(i==="/"&&t.eat("*"))e.tokenize.push(bf);else if(i==="*"&&t.eat("/")){e.tokenize.pop();break}return"comment"}function Tj(t,e,i){this.prev=t,this.align=e,this.indented=i}function vj(t,e){var i=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;t.context=new Tj(t.context,i,t.indented)}function _j(t){t.context&&(t.indented=t.context.indented,t.context=t.context.prev)}const Rj={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(t,e){var i=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Hy,O=n(t,e,i);if(!O||O=="comment"?e.prev=i:e.prev||(e.prev=O),O=="punctuation"){var r=/[\(\[\{]|([\]\)\}])/.exec(t.current());r&&(r[1]?_j:vj)(e,t)}return O},indent:function(t,e,i){var n=t.context;if(!n)return 0;var O=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(O?1:0):n.indented+(O?0:i.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var yf={};function Dh(t,e){for(var i=0;i<e.length;i++)yf[e[i]]=t}var Ky=["true","false"],Jy=["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],ex=["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","nl","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"];Dh("atom",Ky);Dh("keyword",Jy);Dh("builtin",ex);function Yj(t,e){if(t.eatSpace())return null;var i=t.sol(),n=t.next();if(n==="\\")return t.next(),null;if(n==="'"||n==='"'||n==="`")return e.tokens.unshift(Ol(n,n==="`"?"quote":"string")),lr(t,e);if(n==="#")return i&&t.eat("!")?(t.skipToEnd(),"meta"):(t.skipToEnd(),"comment");if(n==="$")return e.tokens.unshift(tx),lr(t,e);if(n==="+"||n==="=")return"operator";if(n==="-")return t.eat("-"),t.eatWhile(/\w/),"attribute";if(n=="<"){if(t.match("<<"))return"operator";var O=t.match(/^<-?\s*(?:['"]([^'"]*)['"]|([^'"\s]*))/);if(O)return e.tokens.unshift(zj(O[1]||O[2])),"string.special"}if(/\d/.test(n)&&(t.eatWhile(/\d/),t.eol()||!/\w/.test(t.peek())))return"number";t.eatWhile(/[\w-]/);var r=t.current();return t.peek()==="="&&/\w+/.test(r)?"def":yf.hasOwnProperty(r)?yf[r]:null}function Ol(t,e){var i=t=="("?")":t=="{"?"}":t;return function(n,O){for(var r,a=!1;(r=n.next())!=null;){if(r===i&&!a){O.tokens.shift();break}else if(r==="$"&&!a&&t!=="'"&&n.peek()!=i){a=!0,n.backUp(1),O.tokens.unshift(tx);break}else{if(!a&&t!==i&&r===t)return O.tokens.unshift(Ol(t,e)),lr(n,O);if(!a&&/['"]/.test(r)&&!/['"]/.test(t)){O.tokens.unshift(Zj(r,"string")),n.backUp(1);break}}a=!a&&r==="\\"}return e}}function Zj(t,e){return function(i,n){return n.tokens[0]=Ol(t,e),i.next(),lr(i,n)}}var tx=function(t,e){e.tokens.length>1&&t.eat("$");var i=t.next();return/['"({]/.test(i)?(e.tokens[0]=Ol(i,i=="("?"quote":i=="{"?"def":"string"),lr(t,e)):(/\d/.test(i)||t.eatWhile(/\w/),e.tokens.shift(),"def")};function zj(t){return function(e,i){return e.sol()&&e.string==t&&i.tokens.shift(),e.skipToEnd(),"string.special"}}function lr(t,e){return(e.tokens[0]||Yj)(t,e)}const JQ={name:"shell",startState:function(){return{tokens:[]}},token:function(t,e){return lr(t,e)},languageData:{autocomplete:Ky.concat(Jy,ex),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}},Uj={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(t,e){let i;if(!e.inString&&(i=t.match(/^('''|"""|'|")/))&&(e.stringType=i[0],e.inString=!0),t.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(t.match(e.stringType))e.inString=!1;else if(t.peek()==="\\")t.next(),t.next();else{if(t.eol())break;t.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&t.peek()==="]")return t.next(),e.inArray--,"bracket";if(e.lhs&&t.peek()==="["&&t.skipTo("]"))return t.next(),t.peek()==="]"&&t.next(),"atom";if(t.peek()==="#")return t.skipToEnd(),"comment";if(t.eatSpace())return null;if(e.lhs&&t.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&t.peek()==="=")return t.next(),e.lhs=!1,null;if(!e.lhs&&t.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(t.match("true")||t.match("false")))return"atom";if(!e.lhs&&t.peek()==="[")return e.inArray++,t.next(),"bracket";if(!e.lhs&&t.match(/^\-?\d+(?:\.\d+)?/))return"number";t.eatSpace()||t.next()}return null},languageData:{commentTokens:{line:"#"}}};var qj={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},Vj={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},em=/[+\-*&^%:=<>!|\/]/,Li;function _o(t,e){var i=t.next();if(i=='"'||i=="'"||i=="`")return e.tokenize=Wj(i),e.tokenize(t,e);if(/[\d\.]/.test(i))return i=="."?t.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):i=="0"?t.match(/^[xX][0-9a-fA-F]+/)||t.match(/^0[0-7]+/):t.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(i))return Li=i,null;if(i=="/"){if(t.eat("*"))return e.tokenize=tm,tm(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(em.test(i))return t.eatWhile(em),"operator";t.eatWhile(/[\w\$_\xa1-\uffff]/);var n=t.current();return qj.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Li="case"),"keyword"):Vj.propertyIsEnumerable(n)?"atom":"variable"}function Wj(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&t!="`"&&O=="\\"}return(r||!(n||t=="`"))&&(i.tokenize=_o),"string"}}function tm(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize=_o;break}i=n=="*"}return"comment"}function ix(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function jc(t,e,i){return t.context=new ix(t.indented,e,i,null,t.context)}function im(t){if(t.context.prev){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}}const jj={name:"go",startState:function(t){return{tokenize:null,context:new ix(-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0,i.type=="case"&&(i.type="}")),t.eatSpace())return null;Li=null;var n=(e.tokenize||_o)(t,e);return n=="comment"||(i.align==null&&(i.align=!0),Li=="{"?jc(e,t.column(),"}"):Li=="["?jc(e,t.column(),"]"):Li=="("?jc(e,t.column(),")"):Li=="case"?i.type="case":(Li=="}"&&i.type=="}"||Li==i.type)&&im(e),e.startOfLine=!1),n},indent:function(t,e,i){if(t.tokenize!=_o&&t.tokenize!=null)return null;var n=t.context,O=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var r=O==n.type;return n.align?n.column+(r?0:1):n.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function rl(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var Cj=rl("abstract as assert boolean break byte case catch char class const continue def default do double else enum extends final finally float for goto if implements import in instanceof int interface long native new package private protected public return short static strictfp super switch synchronized threadsafe throw throws trait transient try void volatile while"),Ej=rl("catch class def do else enum finally for if interface switch trait try while"),Gj=rl("return break continue"),Aj=rl("null true false this"),ct;function Mh(t,e){var i=t.next();if(i=='"'||i=="'")return nm(i,t,e);if(/[\[\]{}\(\),;\:\.]/.test(i))return ct=i,null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),t.eat(/eE/)&&(t.eat(/\+\-/),t.eatWhile(/\d/)),"number";if(i=="/"){if(t.eat("*"))return e.tokenize.push(Om),Om(t,e);if(t.eat("/"))return t.skipToEnd(),"comment";if(xf(e.lastToken,!1))return nm(i,t,e)}if(i=="-"&&t.eat(">"))return ct="->",null;if(/[+\-*&%=<>!?|\/~]/.test(i))return t.eatWhile(/[+\-*&%=<>|~]/),"operator";if(t.eatWhile(/[\w\$_]/),i=="@")return t.eatWhile(/[\w\$_\.]/),"meta";if(e.lastToken==".")return"property";if(t.eat(":"))return ct="proplabel","property";var n=t.current();return Aj.propertyIsEnumerable(n)?"atom":Cj.propertyIsEnumerable(n)?(Ej.propertyIsEnumerable(n)?ct="newstatement":Gj.propertyIsEnumerable(n)&&(ct="standalone"),"keyword"):"variable"}Mh.isBase=!0;function nm(t,e,i){var n=!1;if(t!="/"&&e.eat(t))if(e.eat(t))n=!0;else return"string";function O(r,a){for(var s=!1,o,l=!n;(o=r.next())!=null;){if(o==t&&!s){if(!n)break;if(r.match(t+t)){l=!0;break}}if(t=='"'&&o=="$"&&!s){if(r.eat("{"))return a.tokenize.push(Nj()),"string";if(r.match(/^\w/,!1))return a.tokenize.push(Ij),"string"}s=!s&&o=="\\"}return l&&a.tokenize.pop(),"string"}return i.tokenize.push(O),O(e,i)}function Nj(){var t=1;function e(i,n){if(i.peek()=="}"){if(t--,t==0)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](i,n)}else i.peek()=="{"&&t++;return Mh(i,n)}return e.isBase=!0,e}function Ij(t,e){var i=t.match(/^(\.|[\w\$_]+)/);return(!i||!t.match(i[0]=="."?/^[\w$_]/:/^\./))&&e.tokenize.pop(),i?i[0]=="."?null:"variable":e.tokenize[e.tokenize.length-1](t,e)}function Om(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize.pop();break}i=n=="*"}return"comment"}function xf(t,e){return!t||t=="operator"||t=="->"||/[\.\[\{\(,;:]/.test(t)||t=="newstatement"||t=="keyword"||t=="proplabel"||t=="standalone"&&!e}function nx(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function Ss(t,e,i){return t.context=new nx(t.indented,e,i,null,t.context)}function qn(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}const Lj={name:"groovy",startState:function(t){return{tokenize:[Mh],context:new nx(-t,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0,i.type=="statement"&&!xf(e.lastToken,!0)&&(qn(e),i=e.context)),t.eatSpace())return null;ct=null;var n=e.tokenize[e.tokenize.length-1](t,e);if(n=="comment")return n;if(i.align==null&&(i.align=!0),(ct==";"||ct==":")&&i.type=="statement")qn(e);else if(ct=="->"&&i.type=="statement"&&i.prev.type=="}")qn(e),e.context.align=!1;else if(ct=="{")Ss(e,t.column(),"}");else if(ct=="[")Ss(e,t.column(),"]");else if(ct=="(")Ss(e,t.column(),")");else if(ct=="}"){for(;i.type=="statement";)i=qn(e);for(i.type=="}"&&(i=qn(e));i.type=="statement";)i=qn(e)}else ct==i.type?qn(e):(i.type=="}"||i.type=="top"||i.type=="statement"&&ct=="newstatement")&&Ss(e,t.column(),"statement");return e.startOfLine=!1,e.lastToken=ct||n,n},indent:function(t,e,i){if(!t.tokenize[t.tokenize.length-1].isBase)return null;var n=e&&e.charAt(0),O=t.context;O.type=="statement"&&!xf(t.lastToken,!0)&&(O=O.prev);var r=n==O.type;return O.type=="statement"?O.indented+(n=="{"?0:i.unit):O.align?O.column+(r?0:1):O.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}};function Dj(t){return new RegExp("^(?:"+t.join("|")+")","i")}function al(t){return new RegExp("^(?:"+t.join("|")+")$","i")}var Mj=al(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),Bj=al(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),Fj=al(["function","if","repeat","do","\\(","{"]),Hj=al(["end","until","\\)","}"]),Kj=Dj(["end","until","\\)","}","else","elseif"]);function rm(t){for(var e=0;t.eat("=");)++e;return t.eat("["),e}function Bh(t,e){var i=t.next();return i=="-"&&t.eat("-")?t.eat("[")&&t.eat("[")?(e.cur=am(rm(t),"comment"))(t,e):(t.skipToEnd(),"comment"):i=='"'||i=="'"?(e.cur=Jj(i))(t,e):i=="["&&/[\[=]/.test(t.peek())?(e.cur=am(rm(t),"string"))(t,e):/\d/.test(i)?(t.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(i)?(t.eatWhile(/[\w\\\-_.]/),"variable"):null}function am(t,e){return function(i,n){for(var O=null,r;(r=i.next())!=null;)if(O==null)r=="]"&&(O=0);else if(r=="=")++O;else if(r=="]"&&O==t){n.cur=Bh;break}else O=null;return e}}function Jj(t){return function(e,i){for(var n=!1,O;(O=e.next())!=null&&!(O==t&&!n);)n=!n&&O=="\\";return n||(i.cur=Bh),"string"}}const e2={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:Bh}},token:function(t,e){if(t.eatSpace())return null;var i=e.cur(t,e),n=t.current();return i=="variable"&&(Bj.test(n)?i="keyword":Mj.test(n)&&(i="builtin")),i!="comment"&&i!="string"&&(Fj.test(n)?++e.indentDepth:Hj.test(n)&&--e.indentDepth),i},indent:function(t,e,i){var n=Kj.test(e);return t.basecol+i.unit*(t.indentDepth-(n?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};function tt(t,e){return t.string.charAt(t.pos+(e||0))}function sm(t,e){if(e){var i=t.pos-e;return t.string.substr(i>=0?i:0,e)}else return t.string.substr(0,t.pos-1)}function Cc(t,e){var i=t.string.length,n=i-t.pos+1;return t.string.substr(t.pos,e&&e<i?e:n)}function Ce(t,e){var i=t.pos+e,n;i<=0?t.pos=0:i>=(n=t.string.length-1)?t.pos=n:t.pos=i}var Yr={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},_e="string.special",Re=/[goseximacplud]/;function Oe(t,e,i,n,O){return e.chain=null,e.style=null,e.tail=null,e.tokenize=function(r,a){for(var s=!1,o,l=0;o=r.next();){if(o===i[l]&&!s)return i[++l]!==void 0?(a.chain=i[l],a.style=n,a.tail=O):O&&r.eatWhile(O),a.tokenize=Ro,n;s=!s&&o=="\\"}return n},e.tokenize(t,e)}function Ec(t,e,i){return e.tokenize=function(n,O){return n.string==i&&(O.tokenize=Ro),n.skipToEnd(),"string"},e.tokenize(t,e)}function Ro(t,e){if(t.eatSpace())return null;if(e.chain)return Oe(t,e,e.chain,e.style,e.tail);if(t.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(t.match(/^<<(?=[_a-zA-Z])/))return t.eatWhile(/\w/),Ec(t,e,t.current().substr(2));if(t.sol()&&t.match(/^\=item(?!\w)/))return Ec(t,e,"=cut");var i=t.next();if(i=='"'||i=="'"){if(sm(t,3)=="<<"+i){var n=t.pos;t.eatWhile(/\w/);var O=t.current().substr(1);if(O&&t.eat(i))return Ec(t,e,O);t.pos=n}return Oe(t,e,[i],"string")}if(i=="q"){var r=tt(t,-2);if(!(r&&/\w/.test(r))){if(r=tt(t,0),r=="x"){if(r=tt(t,1),r=="(")return Ce(t,2),Oe(t,e,[")"],_e,Re);if(r=="[")return Ce(t,2),Oe(t,e,["]"],_e,Re);if(r=="{")return Ce(t,2),Oe(t,e,["}"],_e,Re);if(r=="<")return Ce(t,2),Oe(t,e,[">"],_e,Re);if(/[\^'"!~\/]/.test(r))return Ce(t,1),Oe(t,e,[t.eat(r)],_e,Re)}else if(r=="q"){if(r=tt(t,1),r=="(")return Ce(t,2),Oe(t,e,[")"],"string");if(r=="[")return Ce(t,2),Oe(t,e,["]"],"string");if(r=="{")return Ce(t,2),Oe(t,e,["}"],"string");if(r=="<")return Ce(t,2),Oe(t,e,[">"],"string");if(/[\^'"!~\/]/.test(r))return Ce(t,1),Oe(t,e,[t.eat(r)],"string")}else if(r=="w"){if(r=tt(t,1),r=="(")return Ce(t,2),Oe(t,e,[")"],"bracket");if(r=="[")return Ce(t,2),Oe(t,e,["]"],"bracket");if(r=="{")return Ce(t,2),Oe(t,e,["}"],"bracket");if(r=="<")return Ce(t,2),Oe(t,e,[">"],"bracket");if(/[\^'"!~\/]/.test(r))return Ce(t,1),Oe(t,e,[t.eat(r)],"bracket")}else if(r=="r"){if(r=tt(t,1),r=="(")return Ce(t,2),Oe(t,e,[")"],_e,Re);if(r=="[")return Ce(t,2),Oe(t,e,["]"],_e,Re);if(r=="{")return Ce(t,2),Oe(t,e,["}"],_e,Re);if(r=="<")return Ce(t,2),Oe(t,e,[">"],_e,Re);if(/[\^'"!~\/]/.test(r))return Ce(t,1),Oe(t,e,[t.eat(r)],_e,Re)}else if(/[\^'"!~\/(\[{<]/.test(r)){if(r=="(")return Ce(t,1),Oe(t,e,[")"],"string");if(r=="[")return Ce(t,1),Oe(t,e,["]"],"string");if(r=="{")return Ce(t,1),Oe(t,e,["}"],"string");if(r=="<")return Ce(t,1),Oe(t,e,[">"],"string");if(/[\^'"!~\/]/.test(r))return Oe(t,e,[t.eat(r)],"string")}}}if(i=="m"){var r=tt(t,-2);if(!(r&&/\w/.test(r))&&(r=t.eat(/[(\[{<\^'"!~\/]/),r)){if(/[\^'"!~\/]/.test(r))return Oe(t,e,[r],_e,Re);if(r=="(")return Oe(t,e,[")"],_e,Re);if(r=="[")return Oe(t,e,["]"],_e,Re);if(r=="{")return Oe(t,e,["}"],_e,Re);if(r=="<")return Oe(t,e,[">"],_e,Re)}}if(i=="s"){var r=/[\/>\]})\w]/.test(tt(t,-2));if(!r&&(r=t.eat(/[(\[{<\^'"!~\/]/),r))return r=="["?Oe(t,e,["]","]"],_e,Re):r=="{"?Oe(t,e,["}","}"],_e,Re):r=="<"?Oe(t,e,[">",">"],_e,Re):r=="("?Oe(t,e,[")",")"],_e,Re):Oe(t,e,[r,r],_e,Re)}if(i=="y"){var r=/[\/>\]})\w]/.test(tt(t,-2));if(!r&&(r=t.eat(/[(\[{<\^'"!~\/]/),r))return r=="["?Oe(t,e,["]","]"],_e,Re):r=="{"?Oe(t,e,["}","}"],_e,Re):r=="<"?Oe(t,e,[">",">"],_e,Re):r=="("?Oe(t,e,[")",")"],_e,Re):Oe(t,e,[r,r],_e,Re)}if(i=="t"){var r=/[\/>\]})\w]/.test(tt(t,-2));if(!r&&(r=t.eat("r"),r&&(r=t.eat(/[(\[{<\^'"!~\/]/),r)))return r=="["?Oe(t,e,["]","]"],_e,Re):r=="{"?Oe(t,e,["}","}"],_e,Re):r=="<"?Oe(t,e,[">",">"],_e,Re):r=="("?Oe(t,e,[")",")"],_e,Re):Oe(t,e,[r,r],_e,Re)}if(i=="`")return Oe(t,e,[i],"builtin");if(i=="/")return/~\s*$/.test(sm(t))?Oe(t,e,[i],_e,Re):"operator";if(i=="$"){var n=t.pos;if(t.eatWhile(/\d/)||t.eat("{")&&t.eatWhile(/\d/)&&t.eat("}"))return"builtin";t.pos=n}if(/[$@%]/.test(i)){var n=t.pos;if(t.eat("^")&&t.eat(/[A-Z]/)||!/[@$%&]/.test(tt(t,-2))&&t.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var r=t.current();if(Yr[r])return"builtin"}t.pos=n}if(/[$@%&]/.test(i)&&(t.eatWhile(/[\w$]/)||t.eat("{")&&t.eatWhile(/[\w$]/)&&t.eat("}"))){var r=t.current();return Yr[r]?"builtin":"variable"}if(i=="#"&&tt(t,-2)!="$")return t.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(i)){var n=t.pos;if(t.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),Yr[t.current()])return"operator";t.pos=n}if(i=="_"&&t.pos==1){if(Cc(t,6)=="_END__")return Oe(t,e,["\0"],"comment");if(Cc(t,7)=="_DATA__")return Oe(t,e,["\0"],"builtin");if(Cc(t,7)=="_C__")return Oe(t,e,["\0"],"string")}if(/\w/.test(i)){var n=t.pos;if(tt(t,-2)=="{"&&(tt(t,0)=="}"||t.eatWhile(/\w/)&&tt(t,0)=="}"))return"string";t.pos=n}if(/[A-Z]/.test(i)){var a=tt(t,-2),n=t.pos;if(t.eatWhile(/[A-Z_]/),/[\da-z]/.test(tt(t,0)))t.pos=n;else{var r=Yr[t.current()];return r?(r[1]&&(r=r[0]),a!=":"?r==1?"keyword":r==2?"def":r==3?"atom":r==4?"operator":r==5?"builtin":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(i)){var a=tt(t,-2);t.eatWhile(/\w/);var r=Yr[t.current()];return r?(r[1]&&(r=r[0]),a!=":"?r==1?"keyword":r==2?"def":r==3?"atom":r==4?"operator":r==5?"builtin":"meta":"meta"):"meta"}return null}const t2={name:"perl",startState:function(){return{tokenize:Ro,chain:null,style:null,tail:null}},token:function(t,e){return(e.tokenize||Ro)(t,e)},languageData:{commentTokens:{line:"#"},wordChars:"$"}};function sl(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}var Ox=["NULL","NA","Inf","NaN","NA_integer_","NA_real_","NA_complex_","NA_character_","TRUE","FALSE"],rx=["list","quote","bquote","eval","return","call","parse","deparse"],ax=["if","else","repeat","while","function","for","in","next","break"],i2=["if","else","repeat","while","function","for"],n2=sl(Ox),O2=sl(rx),r2=sl(ax),a2=sl(i2),om=/[+\-*\/^<>=!&|~$:]/,li;function Xf(t,e){li=null;var i=t.next();if(i=="#")return t.skipToEnd(),"comment";if(i=="0"&&t.eat("x"))return t.eatWhile(/[\da-f]/i),"number";if(i=="."&&t.eat(/\d/))return t.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(i))return t.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if(i=="'"||i=='"')return e.tokenize=s2(i),"string";if(i=="`")return t.match(/[^`]+`/),"string.special";if(i=="."&&t.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(i)){t.eatWhile(/[\w\.]/);var n=t.current();return n2.propertyIsEnumerable(n)?"atom":r2.propertyIsEnumerable(n)?(a2.propertyIsEnumerable(n)&&!t.match(/\s*if(\s+|$)/,!1)&&(li="block"),"keyword"):O2.propertyIsEnumerable(n)?"builtin":"variable"}else return i=="%"?(t.skipTo("%")&&t.next(),"variableName.special"):i=="<"&&t.eat("-")||i=="<"&&t.match("<-")||i=="-"&&t.match(/>>?/)||i=="="&&e.ctx.argList?"operator":om.test(i)?(i=="$"||t.eatWhile(om),"operator"):/[\(\){}\[\];]/.test(i)?(li=i,i==";"?"punctuation":null):null}function s2(t){return function(e,i){if(e.eat("\\")){var n=e.next();return n=="x"?e.match(/^[a-f0-9]{2}/i):(n=="u"||n=="U")&&e.eat("{")&&e.skipTo("}")?e.next():n=="u"?e.match(/^[a-f0-9]{4}/i):n=="U"?e.match(/^[a-f0-9]{8}/i):/[0-7]/.test(n)&&e.match(/^[0-7]{1,2}/),"string.special"}else{for(var O;(O=e.next())!=null;){if(O==t){i.tokenize=Xf;break}if(O=="\\"){e.backUp(1);break}}return"string"}}}var lm=1,Gc=2,Ac=4;function bs(t,e,i){t.ctx={type:e,indent:t.indent,flags:0,column:i.column(),prev:t.ctx}}function cm(t,e){var i=t.ctx;t.ctx={type:i.type,indent:i.indent,flags:i.flags|e,column:i.column,prev:i.prev}}function Nc(t){t.indent=t.ctx.indent,t.ctx=t.ctx.prev}const o2={name:"r",startState:function(t){return{tokenize:Xf,ctx:{type:"top",indent:-t,flags:Gc},indent:0,afterIdent:!1}},token:function(t,e){if(t.sol()&&((e.ctx.flags&3)==0&&(e.ctx.flags|=Gc),e.ctx.flags&Ac&&Nc(e),e.indent=t.indentation()),t.eatSpace())return null;var i=e.tokenize(t,e);return i!="comment"&&(e.ctx.flags&Gc)==0&&cm(e,lm),(li==";"||li=="{"||li=="}")&&e.ctx.type=="block"&&Nc(e),li=="{"?bs(e,"}",t):li=="("?(bs(e,")",t),e.afterIdent&&(e.ctx.argList=!0)):li=="["?bs(e,"]",t):li=="block"?bs(e,"block",t):li==e.ctx.type?Nc(e):e.ctx.type=="block"&&i!="comment"&&cm(e,Ac),e.afterIdent=i=="variable"||i=="keyword",i},indent:function(t,e,i){if(t.tokenize!=Xf)return 0;var n=e&&e.charAt(0),O=t.ctx,r=n==O.type;return O.flags&Ac&&(O=O.prev),O.type=="block"?O.indent+(n=="{"?0:i.unit):O.flags&lm?O.column+(r?0:1):O.indent+(r?0:i.unit)},languageData:{wordChars:".",commentTokens:{line:"#"},autocomplete:Ox.concat(rx,ax)}};function wf(t,e,i){return e(i),i(t,e)}var l2=/[a-z_]/,c2=/[A-Z]/,Ic=/\d/,u2=/[0-9A-Fa-f]/,f2=/[0-7]/,um=/[a-z_A-Z0-9'\xa1-\uffff]/,Lc=/[-!#$%&*+.\/<=>?@\\^|~:]/,h2=/[(),;[\]`{}]/,sx=/[ \t\v\f]/;function cr(t,e){if(t.eatWhile(sx))return null;var i=t.next();if(h2.test(i)){if(i=="{"&&t.eat("-")){var n="comment";return t.eat("#")&&(n="meta"),wf(t,e,ox(n,1))}return null}if(i=="'")return t.eat("\\"),t.next(),t.eat("'")?"string":"error";if(i=='"')return wf(t,e,lx);if(c2.test(i))return t.eatWhile(um),t.eat(".")?"qualifier":"type";if(l2.test(i))return t.eatWhile(um),"variable";if(Ic.test(i)){if(i=="0"){if(t.eat(/[xX]/))return t.eatWhile(u2),"integer";if(t.eat(/[oO]/))return t.eatWhile(f2),"number"}t.eatWhile(Ic);var n="number";return t.match(/^\.\d+/)&&(n="number"),t.eat(/[eE]/)&&(n="number",t.eat(/[-+]/),t.eatWhile(Ic)),n}return i=="."&&t.eat(".")?"keyword":Lc.test(i)?i=="-"&&t.eat(/-/)&&(t.eatWhile(/-/),!t.eat(Lc))?(t.skipToEnd(),"comment"):(t.eatWhile(Lc),"variable"):"error"}function ox(t,e){return e==0?cr:function(i,n){for(var O=e;!i.eol();){var r=i.next();if(r=="{"&&i.eat("-"))++O;else if(r=="-"&&i.eat("}")&&(--O,O==0))return n(cr),t}return n(ox(t,O)),t}}function lx(t,e){for(;!t.eol();){var i=t.next();if(i=='"')return e(cr),"string";if(i=="\\"){if(t.eol()||t.eat(sx))return e(d2),"string";t.eat("&")||t.next()}}return e(cr),"error"}function d2(t,e){return t.eat("\\")?wf(t,e,lx):(t.next(),e(cr),"error")}var fm=(function(){var t={};function e(i){return function(){for(var n=0;n<arguments.length;n++)t[arguments[n]]=i}}return e("keyword")("case","class","data","default","deriving","do","else","foreign","if","import","in","infix","infixl","infixr","instance","let","module","newtype","of","then","type","where","_"),e("keyword")("..",":","::","=","\\","<-","->","@","~","=>"),e("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),e("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),e("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3"),t})();const $2={name:"haskell",startState:function(){return{f:cr}},copyState:function(t){return{f:t.f}},token:function(t,e){var i=e.f(t,function(O){e.f=O}),n=t.current();return fm.hasOwnProperty(n)?fm[n]:i},languageData:{commentTokens:{line:"--",block:{open:"{-",close:"-}"}}}};var cx=["false","nil","true"],ux=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],fx=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],p2=["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"],Q2=ol(cx),m2=ol(ux),g2=ol(fx),P2=ol(p2),S2=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,b2=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,y2=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,x2=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function Fh(t,e){if(t.eatSpace()||t.eat(","))return["space",null];if(t.match(b2))return[null,"number"];if(t.match(y2))return[null,"string.special"];if(t.eat(/^"/))return(e.tokenize=X2)(t,e);if(t.eat(/^[(\[{]/))return["open","bracket"];if(t.eat(/^[)\]}]/))return["close","bracket"];if(t.eat(/^;/))return t.skipToEnd(),["space","comment"];if(t.eat(/^[#'@^`~]/))return[null,"meta"];var i=t.match(x2),n=i&&i[0];return n?n==="comment"&&e.lastToken==="("?(e.tokenize=w2)(t,e):Cr(n,Q2)||n.charAt(0)===":"?["symbol","atom"]:Cr(n,m2)||Cr(n,g2)?["symbol","keyword"]:e.lastToken==="("?["symbol","builtin"]:["symbol","variable"]:(t.next(),t.eatWhile(function(O){return!Cr(O,S2)}),[null,"error"])}function X2(t,e){for(var i=!1,n;n=t.next();){if(n==='"'&&!i){e.tokenize=Fh;break}i=!i&&n==="\\"}return[null,"string"]}function w2(t,e){for(var i=1,n;n=t.next();)if(n===")"&&i--,n==="("&&i++,i===0){t.backUp(1),e.tokenize=Fh;break}return["space","comment"]}function ol(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}function Cr(t,e){if(e instanceof RegExp)return e.test(t);if(e instanceof Object)return e.propertyIsEnumerable(t)}const k2={name:"clojure",startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastToken:null,tokenize:Fh}},token:function(t,e){t.sol()&&typeof e.ctx.indentTo!="number"&&(e.ctx.indentTo=e.ctx.start+1);var i=e.tokenize(t,e),n=i[0],O=i[1],r=t.current();return n!=="space"&&(e.lastToken==="("&&e.ctx.indentTo===null?n==="symbol"&&Cr(r,P2)?e.ctx.indentTo=e.ctx.start+t.indentUnit:e.ctx.indentTo="next":e.ctx.indentTo==="next"&&(e.ctx.indentTo=t.column()),e.lastToken=r),n==="open"?e.ctx={prev:e.ctx,start:t.column(),indentTo:null}:n==="close"&&(e.ctx=e.ctx.prev||e.ctx),O},indent:function(t){var e=t.ctx.indentTo;return typeof e=="number"?e:t.ctx.start+1},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"},autocomplete:[].concat(cx,ux,fx)}};var T2=["-type","-spec","-export_type","-opaque"],v2=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],_2=/[\->,;]/,R2=["->",";",","],Y2=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],Z2=/[\+\-\*\/<>=\|:!]/,z2=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],U2=/[<\(\[\{]/,kf=["<<","(","[","{"],q2=/[>\)\]\}]/,hx=["}","]",")",">>"],V2=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],W2=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],ys=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,j2=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function C2(t,e){if(e.in_string)return e.in_string=!$m(t),we(e,t,"string");if(e.in_atom)return e.in_atom=!pm(t),we(e,t,"atom");if(t.eatSpace())return we(e,t,"whitespace");if(!Kr(e)&&t.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/))return ft(t.current(),T2)?we(e,t,"type"):we(e,t,"attribute");var i=t.next();if(i=="%")return t.skipToEnd(),we(e,t,"comment");if(i==":")return we(e,t,"colon");if(i=="?")return t.eatSpace(),t.eatWhile(ys),we(e,t,"macro");if(i=="#")return t.eatSpace(),t.eatWhile(ys),we(e,t,"record");if(i=="$")return t.next()=="\\"&&!t.match(j2)?we(e,t,"error"):we(e,t,"number");if(i==".")return we(e,t,"dot");if(i=="'"){if(!(e.in_atom=!pm(t))){if(t.match(/\s*\/\s*[0-9]/,!1))return t.match(/\s*\/\s*[0-9]/,!0),we(e,t,"fun");if(t.match(/\s*\(/,!1)||t.match(/\s*:/,!1))return we(e,t,"function")}return we(e,t,"atom")}if(i=='"')return e.in_string=!$m(t),we(e,t,"string");if(/[A-Z_Ø-ÞÀ-Ö]/.test(i))return t.eatWhile(ys),we(e,t,"variable");if(/[a-z_ß-öø-ÿ]/.test(i)){if(t.eatWhile(ys),t.match(/\s*\/\s*[0-9]/,!1))return t.match(/\s*\/\s*[0-9]/,!0),we(e,t,"fun");var n=t.current();return ft(n,v2)?we(e,t,"keyword"):ft(n,Y2)?we(e,t,"operator"):t.match(/\s*\(/,!1)?ft(n,W2)&&(Kr(e).token!=":"||Kr(e,2).token=="erlang")?we(e,t,"builtin"):ft(n,V2)?we(e,t,"guard"):we(e,t,"function"):E2(t)==":"?n=="erlang"?we(e,t,"builtin"):we(e,t,"function"):ft(n,["true","false"])?we(e,t,"boolean"):we(e,t,"atom")}var O=/[0-9]/,r=/[0-9a-zA-Z]/;return O.test(i)?(t.eatWhile(O),t.eat("#")?t.eatWhile(r)||t.backUp(1):t.eat(".")&&(t.eatWhile(O)?t.eat(/[eE]/)&&(t.eat(/[-+]/)?t.eatWhile(O)||t.backUp(2):t.eatWhile(O)||t.backUp(1)):t.backUp(1)),we(e,t,"number")):hm(t,U2,kf)?we(e,t,"open_paren"):hm(t,q2,hx)?we(e,t,"close_paren"):dm(t,_2,R2)?we(e,t,"separator"):dm(t,Z2,z2)?we(e,t,"operator"):we(e,t,null)}function hm(t,e,i){if(t.current().length==1&&e.test(t.current())){for(t.backUp(1);e.test(t.peek());)if(t.next(),ft(t.current(),i))return!0;t.backUp(t.current().length-1)}return!1}function dm(t,e,i){if(t.current().length==1&&e.test(t.current())){for(;e.test(t.peek());)t.next();for(;0<t.current().length;){if(ft(t.current(),i))return!0;t.backUp(1)}t.next()}return!1}function $m(t){return dx(t,'"',"\\")}function pm(t){return dx(t,"'","\\")}function dx(t,e,i){for(;!t.eol();){var n=t.next();if(n==e)return!0;n==i&&t.next()}return!1}function E2(t){var e=t.match(/^\s*([^\s%])/,!1);return e?e[1]:""}function ft(t,e){return-1<e.indexOf(t)}function we(t,e,i){switch(N2(t,G2(i,e)),i){case"atom":return"atom";case"attribute":return"attribute";case"boolean":return"atom";case"builtin":return"builtin";case"close_paren":return null;case"colon":return null;case"comment":return"comment";case"dot":return null;case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"macroName";case"number":return"number";case"open_paren":return null;case"operator":return"operator";case"record":return"bracket";case"separator":return null;case"string":return"string";case"type":return"def";case"variable":return"variable";default:return null}}function $x(t,e,i,n){return{token:t,column:e,indent:i,type:n}}function G2(t,e){return $x(e.current(),e.column(),e.indentation(),t)}function A2(t){return $x(t,0,0,t)}function Kr(t,e){var i=t.tokenStack.length,n=e||1;return i<n?!1:t.tokenStack[i-n]}function N2(t,e){e.type=="comment"||e.type=="whitespace"||(t.tokenStack=I2(t.tokenStack,e),t.tokenStack=L2(t.tokenStack))}function I2(t,e){var i=t.length-1;return 0<i&&t[i].type==="record"&&e.type==="dot"?t.pop():(0<i&&t[i].type==="group"&&t.pop(),t.push(e)),t}function L2(t){if(!t.length)return t;var e=t.length-1;if(t[e].type==="dot")return[];if(e>1&&t[e].type==="fun"&&t[e-1].token==="fun")return t.slice(0,e-1);switch(t[e].token){case"}":return ai(t,{g:["{"]});case"]":return ai(t,{i:["["]});case")":return ai(t,{i:["("]});case">>":return ai(t,{i:["<<"]});case"end":return ai(t,{i:["begin","case","fun","if","receive","try"]});case",":return ai(t,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return ai(t,{r:["when"],m:["try","if","case","receive"]});case";":return ai(t,{E:["case","fun","if","receive","try","when"]});case"catch":return ai(t,{e:["try"]});case"of":return ai(t,{e:["case"]});case"after":return ai(t,{e:["receive","try"]});default:return t}}function ai(t,e){for(var i in e)for(var n=t.length-1,O=e[i],r=n-1;-1<r;r--)if(ft(t[r].token,O)){var a=t.slice(0,r);switch(i){case"m":return a.concat(t[r]).concat(t[n]);case"r":return a.concat(t[n]);case"i":return a;case"g":return a.concat(A2("group"));case"E":return a.concat(t[r]);case"e":return a.concat(t[r])}}return i=="E"?[]:t}function D2(t,e,i){var n,O=M2(e),r=Kr(t,1),a=Kr(t,2);return t.in_string||t.in_atom?null:a?r.token=="when"?r.column+i.unit:O==="when"&&a.type==="function"?a.indent+i.unit:O==="("&&r.token==="fun"?r.column+3:O==="catch"&&(n=Dc(t,["try"]))?n.column:ft(O,["end","after","of"])?(n=Dc(t,["begin","case","fun","if","receive","try"]),n?n.column:null):ft(O,hx)?(n=Dc(t,kf),n?n.column:null):ft(r.token,[",","|","||"])||ft(O,[",","|","||"])?(n=B2(t),n?n.column+n.token.length:i.unit):r.token=="->"?ft(a.token,["receive","case","if","try"])?a.column+i.unit+i.unit:a.column+i.unit:ft(r.token,kf)?r.column+r.token.length:(n=F2(t),Fn(n)?n.column+i.unit:0):0}function M2(t){var e=t.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/);return Fn(e)&&e.index===0?e[0]:""}function B2(t){var e=t.tokenStack.slice(0,-1),i=Yo(e,"type",["open_paren"]);return Fn(e[i])?e[i]:!1}function F2(t){var e=t.tokenStack,i=Yo(e,"type",["open_paren","separator","keyword"]),n=Yo(e,"type",["operator"]);return Fn(i)&&Fn(n)&&i<n?e[i+1]:Fn(i)?e[i]:!1}function Dc(t,e){var i=t.tokenStack,n=Yo(i,"token",e);return Fn(i[n])?i[n]:!1}function Yo(t,e,i){for(var n=t.length-1;-1<n;n--)if(ft(t[n][e],i))return n;return!1}function Fn(t){return t!==!1&&t!=null}const H2={name:"erlang",startState(){return{tokenStack:[],in_string:!1,in_atom:!1}},token:C2,indent:D2,languageData:{commentTokens:{line:"%"}}};function px(t){Qx(t,"start");var e={},i=t.languageData||{},n=!1;for(var O in t)if(O!=i&&t.hasOwnProperty(O))for(var r=e[O]=[],a=t[O],s=0;s<a.length;s++){var o=a[s];r.push(new eC(o,t)),(o.indent||o.dedent)&&(n=!0)}return{name:i.name,startState:function(){return{state:"start",pending:null,indent:n?[]:null}},copyState:function(l){var c={state:l.state,pending:l.pending,indent:l.indent&&l.indent.slice(0)};return l.stack&&(c.stack=l.stack.slice(0)),c},token:tC(e),indent:iC(e,i),mergeTokens:i.mergeTokens,languageData:i}}function Qx(t,e){if(!t.hasOwnProperty(e))throw new Error("Undefined state "+e+" in simple mode")}function K2(t,e){if(!t)return/(?:)/;var i="";return t instanceof RegExp?(t.ignoreCase&&(i="i"),t.unicode&&(i+="u"),t=t.source):t=String(t),new RegExp("^(?:"+t+")",i)}function J2(t){if(!t)return null;if(t.apply)return t;if(typeof t=="string")return t.replace(/\./g," ");for(var e=[],i=0;i<t.length;i++)e.push(t[i]&&t[i].replace(/\./g," "));return e}function eC(t,e){(t.next||t.push)&&Qx(e,t.next||t.push),this.regex=K2(t.regex),this.token=J2(t.token),this.data=t}function tC(t){return function(e,i){if(i.pending){var n=i.pending.shift();return i.pending.length==0&&(i.pending=null),e.pos+=n.text.length,n.token}for(var O=t[i.state],r=0;r<O.length;r++){var a=O[r],s=(!a.data.sol||e.sol())&&e.match(a.regex);if(s){a.data.next?i.state=a.data.next:a.data.push?((i.stack||(i.stack=[])).push(i.state),i.state=a.data.push):a.data.pop&&i.stack&&i.stack.length&&(i.state=i.stack.pop()),a.data.indent&&i.indent.push(e.indentation()+e.indentUnit),a.data.dedent&&i.indent.pop();var o=a.token;if(o&&o.apply&&(o=o(s)),s.length>2&&a.token&&typeof a.token!="string"){i.pending=[];for(var l=2;l<s.length;l++)s[l]&&i.pending.push({text:s[l],token:a.token[l-1]});return e.backUp(s[0].length-(s[1]?s[1].length:0)),o[0]}else return o&&o.join?o[0]:o}}return e.next(),null}}function iC(t,e){return function(i,n){if(i.indent==null||e.dontIndentStates&&e.dontIndentStates.indexOf(i.state)>-1)return null;var O=i.indent.length-1,r=t[i.state];e:for(;;){for(var a=0;a<r.length;a++){var s=r[a];if(s.data.dedent&&s.data.dedentIfLineStart!==!1){var o=s.regex.exec(n);if(o&&o[0]){O--,(s.next||s.push)&&(r=t[s.next||s.push]),n=n.slice(o[0].length);continue e}}}break}return O<0?0:i.indent[O]}}var mx="from",nC=new RegExp("^(\\s*)\\b("+mx+")\\b","i"),gx=["run","cmd","entrypoint","shell"],OC=new RegExp("^(\\s*)("+gx.join("|")+")(\\s+\\[)","i"),Px="expose",rC=new RegExp("^(\\s*)("+Px+")(\\s+)","i"),aC=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],sC=[mx,Px].concat(gx).concat(aC),Sx="("+sC.join("|")+")",oC=new RegExp("^(\\s*)"+Sx+"(\\s*)(#.*)?$","i"),lC=new RegExp("^(\\s*)"+Sx+"(\\s+)","i");const cC=px({start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:nC,token:[null,"keyword"],sol:!0,next:"from"},{regex:oC,token:[null,"keyword",null,"error"],sol:!0},{regex:OC,token:[null,"keyword",null],sol:!0,next:"array"},{regex:rC,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:lC,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],languageData:{commentTokens:{line:"#"}}});var Qm={"+":"inserted","-":"deleted","@":"meta"};const uC={name:"diff",token:function(t){var e=t.string.search(/[\t ]+?$/);if(!t.sol()||e===0)return t.skipToEnd(),("error "+(Qm[t.string.charAt(0)]||"")).replace(/ $/,"");var i=Qm[t.peek()]||t.skipToEnd();return e===-1?t.skipToEnd():t.pos=e,i}};function $r(t,e){e=e||{};for(var i=e.prefix!==void 0?e.prefix:"^",n=e.suffix!==void 0?e.suffix:"\\b",O=0;O<t.length;O++)t[O]instanceof RegExp?t[O]=t[O].source:t[O]=t[O].replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(i+"("+t.join("|")+")"+n,"i")}var bx="(?=[^A-Za-z\\d\\-_]|$)",Tf=/[\w\-:]/,fC=$r([/begin|break|catch|continue|data|default|do|dynamicparam/,/else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in/,/param|process|return|switch|throw|trap|try|until|where|while/],{suffix:bx}),hC=/[\[\]{},;`\\\.]|@[({]/,dC=$r(["f",/b?not/,/[ic]?split/,"join",/is(not)?/,"as",/[ic]?(eq|ne|[gl][te])/,/[ic]?(not)?(like|match|contains)/,/[ic]?replace/,/b?(and|or|xor)/],{prefix:"-"}),$C=/[+\-*\/%]=|\+\+|--|\.\.|[+\-*&^%:=!|\/]|<(?!#)|(?!#)>/,pC=$r([dC,$C],{suffix:""}),QC=/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,mC=/^[A-Za-z\_][A-Za-z\-\_\d]*\b/,gC=/[A-Z]:|%|\?/i,PC=$r([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),SC=$r([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),bC=$r([gC,PC,SC],{suffix:bx}),mm={keyword:fC,number:QC,operator:pC,builtin:bC,punctuation:hC,variable:mC};function tn(t,e){var i=e.returnStack[e.returnStack.length-1];if(i&&i.shouldReturnFrom(e))return e.tokenize=i.tokenize,e.returnStack.pop(),e.tokenize(t,e);if(t.eatSpace())return null;if(t.eat("("))return e.bracketNesting+=1,"punctuation";if(t.eat(")"))return e.bracketNesting-=1,"punctuation";for(var n in mm)if(t.match(mm[n]))return n;var O=t.next();if(O==="'")return yC(t,e);if(O==="$")return vf(t,e);if(O==='"')return yx(t,e);if(O==="<"&&t.eat("#"))return e.tokenize=gm,gm(t,e);if(O==="#")return t.skipToEnd(),"comment";if(O==="@"){var r=t.eat(/["']/);if(r&&t.eol())return e.tokenize=Zo,e.startQuote=r[0],Zo(t,e);if(t.eol())return"error";if(t.peek().match(/[({]/))return"punctuation";if(t.peek().match(Tf))return vf(t,e)}return"error"}function yC(t,e){for(var i;(i=t.peek())!=null;)if(t.next(),i==="'"&&!t.eat("'"))return e.tokenize=tn,"string";return"error"}function yx(t,e){for(var i;(i=t.peek())!=null;){if(i==="$")return e.tokenize=xC,"string";if(t.next(),i==="`"){t.next();continue}if(i==='"'&&!t.eat('"'))return e.tokenize=tn,"string"}return"error"}function xC(t,e){return xx(t,e,yx)}function XC(t,e){return e.tokenize=Zo,e.startQuote='"',Zo(t,e)}function wC(t,e){return xx(t,e,XC)}function xx(t,e,i){if(t.match("$(")){var n=e.bracketNesting;return e.returnStack.push({shouldReturnFrom:function(O){return O.bracketNesting===n},tokenize:i}),e.tokenize=tn,e.bracketNesting+=1,"punctuation"}else return t.next(),e.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:i}),e.tokenize=vf,e.tokenize(t,e)}function gm(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n==">"){e.tokenize=tn;break}i=n==="#"}return"comment"}function vf(t,e){var i=t.peek();return t.eat("{")?(e.tokenize=Pm,Pm(t,e)):i!=null&&i.match(Tf)?(t.eatWhile(Tf),e.tokenize=tn,"variable"):(e.tokenize=tn,"error")}function Pm(t,e){for(var i;(i=t.next())!=null;)if(i==="}"){e.tokenize=tn;break}return"variable"}function Zo(t,e){var i=e.startQuote;if(t.sol()&&t.match(new RegExp(i+"@")))e.tokenize=tn;else if(i==='"')for(;!t.eol();){var n=t.peek();if(n==="$")return e.tokenize=wC,"string";t.next(),n==="`"&&t.next()}else t.skipToEnd();return"string"}const kC={name:"powershell",startState:function(){return{returnStack:[],bracketNesting:0,tokenize:tn}},token:function(t,e){return e.tokenize(t,e)},languageData:{commentTokens:{line:"#",block:{open:"<#",close:"#>"}}}};function Hh(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var TC=Hh("break return rewrite set accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23"),vC=Hh("http mail events server types location upstream charset_map limit_except if geo map"),_C=Hh("include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files"),cn;function Ft(t,e){return cn=e,t}function ll(t,e){t.eatWhile(/[\w\$_]/);var i=t.current();if(TC.propertyIsEnumerable(i))return"keyword";if(vC.propertyIsEnumerable(i))return"controlKeyword";if(_C.propertyIsEnumerable(i))return"controlKeyword";var n=t.next();if(n=="@")return t.eatWhile(/[\w\\\-]/),Ft("meta",t.current());if(n=="/"&&t.eat("*"))return e.tokenize=Sm,Sm(t,e);if(n=="<"&&t.eat("!"))return e.tokenize=bm,bm(t,e);if(n=="=")Ft(null,"compare");else return(n=="~"||n=="|")&&t.eat("=")?Ft(null,"compare"):n=='"'||n=="'"?(e.tokenize=RC(n),e.tokenize(t,e)):n=="#"?(t.skipToEnd(),Ft("comment","comment")):n=="!"?(t.match(/^\s*\w*/),Ft("keyword","important")):/\d/.test(n)?(t.eatWhile(/[\w.%]/),Ft("number","unit")):/[,.+>*\/]/.test(n)?Ft(null,"select-op"):/[;{}:\[\]]/.test(n)?Ft(null,n):(t.eatWhile(/[\w\\\-]/),Ft("variable","variable"))}function Sm(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n=="/"){e.tokenize=ll;break}i=n=="*"}return Ft("comment","comment")}function bm(t,e){for(var i=0,n;(n=t.next())!=null;){if(i>=2&&n==">"){e.tokenize=ll;break}i=n=="-"?i+1:0}return Ft("comment","comment")}function RC(t){return function(e,i){for(var n=!1,O;(O=e.next())!=null&&!(O==t&&!n);)n=!n&&O=="\\";return n||(i.tokenize=ll),Ft("string","string")}}const YC={name:"nginx",startState:function(){return{tokenize:ll,baseIndent:0,stack:[]}},token:function(t,e){if(t.eatSpace())return null;cn=null;var i=e.tokenize(t,e),n=e.stack[e.stack.length-1];return cn=="hash"&&n=="rule"?i="atom":i=="variable"&&(n=="rule"?i="number":(!n||n=="@media{")&&(i="tag")),n=="rule"&&/^[\{\};]$/.test(cn)&&e.stack.pop(),cn=="{"?n=="@media"?e.stack[e.stack.length-1]="@media{":e.stack.push("{"):cn=="}"?e.stack.pop():cn=="@media"?e.stack.push("@media"):n=="{"&&cn!="comment"&&e.stack.push("rule"),i},indent:function(t,e,i){var n=t.stack.length;return/^\}/.test(e)&&(n-=t.stack[t.stack.length-1]=="rule"?2:1),t.baseIndent+n*i.unit},languageData:{indentOnInput:/^\s*\}$/}};function xs(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var ym="body catch class do else enum for foreach foreach_reverse if in interface mixin out scope struct switch try union unittest version while with";const dO={keywords:xs("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue debug default delegate delete deprecated export extern final finally function goto immutable import inout invariant is lazy macro module new nothrow override package pragma private protected public pure ref return shared short static super synchronized template this throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+ym),blockKeywords:xs(ym),builtin:xs("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:xs("exit failure success true false null"),hooks:{"@":function(t,e){return t.eatWhile(/[\w\$_]/),"meta"}}};var ZC=dO.statementIndentUnit,zC=dO.keywords,UC=dO.builtin,xm=dO.blockKeywords,qC=dO.atoms,Xm=dO.hooks,VC=dO.multiLineStrings,wm=/[+\-*&%=<>!?|\/]/,Rt;function km(t,e){var i=t.next();if(Xm[i]){var n=Xm[i](t,e);if(n!==!1)return n}if(i=='"'||i=="'"||i=="`")return e.tokenize=WC(i),e.tokenize(t,e);if(/[\[\]{}\(\),;\:\.]/.test(i))return Rt=i,null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),"number";if(i=="/"){if(t.eat("+"))return e.tokenize=vm,vm(t,e);if(t.eat("*"))return e.tokenize=Tm,Tm(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(wm.test(i))return t.eatWhile(wm),"operator";t.eatWhile(/[\w\$_\xa1-\uffff]/);var O=t.current();return zC.propertyIsEnumerable(O)?(xm.propertyIsEnumerable(O)&&(Rt="newstatement"),"keyword"):UC.propertyIsEnumerable(O)?(xm.propertyIsEnumerable(O)&&(Rt="newstatement"),"builtin"):qC.propertyIsEnumerable(O)?"atom":"variable"}function WC(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return(r||!(n||VC))&&(i.tokenize=null),"string"}}function Tm(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize=null;break}i=n=="*"}return"comment"}function vm(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize=null;break}i=n=="+"}return"comment"}function Xx(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function Xs(t,e,i){var n=t.indented;return t.context&&t.context.type=="statement"&&(n=t.context.indented),t.context=new Xx(n,e,i,null,t.context)}function Zr(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}const jC={name:"d",startState:function(t){return{tokenize:null,context:new Xx(-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return null;Rt=null;var n=(e.tokenize||km)(t,e);if(n=="comment"||n=="meta")return n;if(i.align==null&&(i.align=!0),(Rt==";"||Rt==":"||Rt==",")&&i.type=="statement")Zr(e);else if(Rt=="{")Xs(e,t.column(),"}");else if(Rt=="[")Xs(e,t.column(),"]");else if(Rt=="(")Xs(e,t.column(),")");else if(Rt=="}"){for(;i.type=="statement";)i=Zr(e);for(i.type=="}"&&(i=Zr(e));i.type=="statement";)i=Zr(e)}else Rt==i.type?Zr(e):((i.type=="}"||i.type=="top")&&Rt!=";"||i.type=="statement"&&Rt=="newstatement")&&Xs(e,t.column(),"statement");return e.startOfLine=!1,n},indent:function(t,e,i){if(t.tokenize!=km&&t.tokenize!=null)return null;var n=t.context,O=e&&e.charAt(0);n.type=="statement"&&O=="}"&&(n=n.prev);var r=O==n.type;return n.type=="statement"?n.indented+(O=="{"?0:ZC||i.unit):n.align?n.column+(r?0:1):n.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function zr(t,e,i){return e(i),i(t,e)}var CC=/[a-z]/,EC=/[A-Z]/,_m=/[a-zA-Z0-9_]/,ws=/[0-9]/,GC=/[0-9A-Fa-f]/,Rm=/[-&*+.\\/<>=?^|:]/,AC=/[(),[\]{}]/,NC=/[ \v\f]/;function nn(){return function(t,e){if(t.eatWhile(NC))return null;var i=t.next();if(AC.test(i))return i==="{"&&t.eat("-")?zr(t,e,wx(1)):i==="["&&t.match("glsl|")?zr(t,e,MC):"builtin";if(i==="'")return zr(t,e,DC);if(i==='"')return t.eat('"')?t.eat('"')?zr(t,e,IC):"string":zr(t,e,LC);if(EC.test(i))return t.eatWhile(_m),"type";if(CC.test(i)){var n=t.pos===1;return t.eatWhile(_m),n?"def":"variable"}if(ws.test(i)){if(i==="0"){if(t.eat(/[xX]/))return t.eatWhile(GC),"number"}else t.eatWhile(ws);return t.eat(".")&&t.eatWhile(ws),t.eat(/[eE]/)&&(t.eat(/[-+]/),t.eatWhile(ws)),"number"}return Rm.test(i)?i==="-"&&t.eat("-")?(t.skipToEnd(),"comment"):(t.eatWhile(Rm),"keyword"):i==="_"?"keyword":"error"}}function wx(t){return t==0?nn():function(e,i){for(;!e.eol();){var n=e.next();if(n=="{"&&e.eat("-"))++t;else if(n=="-"&&e.eat("}")&&(--t,t===0))return i(nn()),"comment"}return i(wx(t)),"comment"}}function IC(t,e){for(;!t.eol();){var i=t.next();if(i==='"'&&t.eat('"')&&t.eat('"'))return e(nn()),"string"}return"string"}function LC(t,e){for(;t.skipTo('\\"');)t.next(),t.next();return t.skipTo('"')?(t.next(),e(nn()),"string"):(t.skipToEnd(),e(nn()),"error")}function DC(t,e){for(;t.skipTo("\\'");)t.next(),t.next();return t.skipTo("'")?(t.next(),e(nn()),"string"):(t.skipToEnd(),e(nn()),"error")}function MC(t,e){for(;!t.eol();){var i=t.next();if(i==="|"&&t.eat("]"))return e(nn()),"string"}return"string"}var BC={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};const FC={name:"elm",startState:function(){return{f:nn()}},copyState:function(t){return{f:t.f}},token:function(t,e){var i=e.f(t,function(O){e.f=O}),n=t.current();return BC.hasOwnProperty(n)?"keyword":i},languageData:{commentTokens:{line:"--"}}};function Tn(t,e,i){return typeof i>"u"&&(i=""),typeof e>"u"&&(e="\\b"),new RegExp("^"+i+"(("+t.join(")|(")+"))"+e)}var HC="\\\\[0-7]{1,3}",KC="\\\\x[A-Fa-f0-9]{1,2}",JC=`\\\\[abefnrtv0%?'"\\\\]`,eE="([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])",kx=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],tE=Tn(["[<>]:","[<>=]=","[!=]==","<<=?",">>>?=?","=>?","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),iE=/^[;,()[\]{}]/,nE=/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,OE=Tn([HC,KC,JC,eE],"'"),rE=["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"],aE=["end","else","elseif","catch","finally"],Tx=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],vx=["true","false","nothing","NaN","Inf"],sE=Tn(rE),oE=Tn(aE),lE=Tn(Tx),cE=Tn(vx),uE=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,fE=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,hE=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,dE=Tn(kx,"","@"),$E=Tn(kx,"",":");function Ym(t){return t.nestedArrays>0}function pE(t){return t.nestedGenerators>0}function Zm(t,e){return typeof e>"u"&&(e=0),t.scopes.length<=e?null:t.scopes[t.scopes.length-(e+1)]}function ur(t,e){if(t.match("#=",!1))return e.tokenize=mE,e.tokenize(t,e);var i=e.leavingExpr;if(t.sol()&&(i=!1),e.leavingExpr=!1,i&&t.match(/^'+/))return"operator";if(t.match(/\.{4,}/))return"error";if(t.match(/\.{1,3}/))return"operator";if(t.eatSpace())return null;var n=t.peek();if(n==="#")return t.skipToEnd(),"comment";if(n==="["&&(e.scopes.push("["),e.nestedArrays++),n==="("&&(e.scopes.push("("),e.nestedGenerators++),Ym(e)&&n==="]"){for(;e.scopes.length&&Zm(e)!=="[";)e.scopes.pop();e.scopes.pop(),e.nestedArrays--,e.leavingExpr=!0}if(pE(e)&&n===")"){for(;e.scopes.length&&Zm(e)!=="(";)e.scopes.pop();e.scopes.pop(),e.nestedGenerators--,e.leavingExpr=!0}if(Ym(e)){if(e.lastToken=="end"&&t.match(":"))return"operator";if(t.match("end"))return"number"}var O;if((O=t.match(sE,!1))&&e.scopes.push(O[0]),t.match(oE,!1)&&e.scopes.pop(),t.match(/^::(?![:\$])/))return e.tokenize=QE,e.tokenize(t,e);if(!i&&(t.match(fE)||t.match($E)))return"builtin";if(t.match(tE))return"operator";if(t.match(/^\.?\d/,!1)){var r=RegExp(/^im\b/),a=!1;if(t.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(a=!0),t.match(/^0x[0-9a-f_]+/i)&&(a=!0),t.match(/^0b[01_]+/i)&&(a=!0),t.match(/^0o[0-7_]+/i)&&(a=!0),t.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(a=!0),t.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(a=!0),a)return t.match(r),e.leavingExpr=!0,"number"}if(t.match("'"))return e.tokenize=gE,e.tokenize(t,e);if(t.match(hE))return e.tokenize=PE(t.current()),e.tokenize(t,e);if(t.match(uE)||t.match(dE))return"meta";if(t.match(iE))return null;if(t.match(lE))return"keyword";if(t.match(cE))return"builtin";var s=e.isDefinition||e.lastToken=="function"||e.lastToken=="macro"||e.lastToken=="type"||e.lastToken=="struct"||e.lastToken=="immutable";return t.match(nE)?s?t.peek()==="."?(e.isDefinition=!0,"variable"):(e.isDefinition=!1,"def"):(e.leavingExpr=!0,"variable"):(t.next(),"error")}function QE(t,e){return t.match(/.*?(?=[,;{}()=\s]|$)/),t.match("{")?e.nestedParameters++:t.match("}")&&e.nestedParameters>0&&e.nestedParameters--,e.nestedParameters>0?t.match(/.*?(?={|})/)||t.next():e.nestedParameters==0&&(e.tokenize=ur),"builtin"}function mE(t,e){return t.match("#=")&&e.nestedComments++,t.match(/.*?(?=(#=|=#))/)||t.skipToEnd(),t.match("=#")&&(e.nestedComments--,e.nestedComments==0&&(e.tokenize=ur)),"comment"}function gE(t,e){var i=!1,n;if(t.match(OE))i=!0;else if(n=t.match(/\\u([a-f0-9]{1,4})(?=')/i)){var O=parseInt(n[1],16);(O<=55295||O>=57344)&&(i=!0,t.next())}else if(n=t.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var O=parseInt(n[1],16);O<=1114111&&(i=!0,t.next())}return i?(e.leavingExpr=!0,e.tokenize=ur,"string"):(t.match(/^[^']+(?=')/)||t.skipToEnd(),t.match("'")&&(e.tokenize=ur),"error")}function PE(t){t.substr(-3)==='"""'?t='"""':t.substr(-1)==='"'&&(t='"');function e(i,n){if(i.eat("\\"))i.next();else{if(i.match(t))return n.tokenize=ur,n.leavingExpr=!0,"string";i.eat(/[`"]/)}return i.eatWhile(/[^\\`"]/),"string"}return e}const SE={name:"julia",startState:function(){return{tokenize:ur,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(t,e){var i=e.tokenize(t,e),n=t.current();return n&&i&&(e.lastToken=n),i},indent:function(t,e,i){var n=0;return(e==="]"||e===")"||/^end\b/.test(e)||/^else/.test(e)||/^catch\b/.test(e)||/^elseif\b/.test(e)||/^finally/.test(e))&&(n=-1),(t.scopes.length+n)*i.unit},languageData:{indentOnInput:/^\s*(end|else|catch|finally)\b$/,commentTokens:{line:"#",block:{open:"#=",close:"=#"}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:Tx.concat(vx)}};function Kh(t){var e={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},i=t.extraWords||{};for(var n in i)i.hasOwnProperty(n)&&(e[n]=t.extraWords[n]);var O=[];for(var r in e)O.push(r);function a(c,u){var f=c.next();if(f==='"')return u.tokenize=s,u.tokenize(c,u);if(f==="{"&&c.eat("|"))return u.longString=!0,u.tokenize=l,u.tokenize(c,u);if(f==="("&&c.match(/^\*(?!\))/))return u.commentLevel++,u.tokenize=o,u.tokenize(c,u);if(f==="~"||f==="?")return c.eatWhile(/\w/),"variableName.special";if(f==="`")return c.eatWhile(/\w/),"quote";if(f==="/"&&t.slashComments&&c.eat("/"))return c.skipToEnd(),"comment";if(/\d/.test(f))return f==="0"&&c.eat(/[bB]/)&&c.eatWhile(/[01]/),f==="0"&&c.eat(/[xX]/)&&c.eatWhile(/[0-9a-fA-F]/),f==="0"&&c.eat(/[oO]/)?c.eatWhile(/[0-7]/):(c.eatWhile(/[\d_]/),c.eat(".")&&c.eatWhile(/[\d]/),c.eat(/[eE]/)&&c.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(f))return"operator";if(/[\w\xa1-\uffff]/.test(f)){c.eatWhile(/[\w\xa1-\uffff]/);var d=c.current();return e.hasOwnProperty(d)?e[d]:"variable"}return null}function s(c,u){for(var f,d=!1,p=!1;(f=c.next())!=null;){if(f==='"'&&!p){d=!0;break}p=!p&&f==="\\"}return d&&!p&&(u.tokenize=a),"string"}function o(c,u){for(var f,d;u.commentLevel>0&&(d=c.next())!=null;)f==="("&&d==="*"&&u.commentLevel++,f==="*"&&d===")"&&u.commentLevel--,f=d;return u.commentLevel<=0&&(u.tokenize=a),"comment"}function l(c,u){for(var f,d;u.longString&&(d=c.next())!=null;)f==="|"&&d==="}"&&(u.longString=!1),f=d;return u.longString||(u.tokenize=a),"string"}return{startState:function(){return{tokenize:a,commentLevel:0,longString:!1}},token:function(c,u){return c.eatSpace()?null:u.tokenize(c,u)},languageData:{autocomplete:O,commentTokens:{line:t.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}const bE=Kh({extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),yE=Kh({extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0});Kh({extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0});var _f="error";function vn(t){return new RegExp("^(("+t.join(")|(")+"))\\b","i")}var xE=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),XE=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),wE=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),kE=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),TE=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),vE=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),_x=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],Rx=["else","elseif","case","catch","finally"],Yx=["next","loop"],Zx=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],_E=vn(Zx),zx=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],Ux=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],RE=vn(zx),YE=vn(Ux),ZE='"',zE=vn(_x),qx=vn(Rx),Vx=vn(Yx),Wx=vn(["end"]),UE=vn(["do"]);function Rf(t,e){e.currentIndent++}function Ls(t,e){e.currentIndent--}function Yf(t,e){if(t.eatSpace())return null;var i=t.peek();if(i==="'")return t.skipToEnd(),"comment";if(t.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var n=!1;if((t.match(/^\d*\.\d+F?/i)||t.match(/^\d+\.\d*F?/)||t.match(/^\.\d+F?/))&&(n=!0),n)return t.eat(/J/i),"number";var O=!1;if(t.match(/^&H[0-9a-f]+/i)||t.match(/^&O[0-7]+/i)?O=!0:t.match(/^[1-9]\d*F?/)?(t.eat(/J/i),O=!0):t.match(/^0(?![\dx])/i)&&(O=!0),O)return t.eat(/L/i),"number"}return t.match(ZE)?(e.tokenize=qE(t.current()),e.tokenize(t,e)):t.match(TE)||t.match(kE)?null:t.match(wE)||t.match(xE)||t.match(_E)?"operator":t.match(XE)?null:t.match(UE)?(Rf(t,e),e.doInCurrentLine=!0,"keyword"):t.match(zE)?(e.doInCurrentLine?e.doInCurrentLine=!1:Rf(t,e),"keyword"):t.match(qx)?"keyword":t.match(Wx)?(Ls(t,e),Ls(t,e),"keyword"):t.match(Vx)?(Ls(t,e),"keyword"):t.match(YE)||t.match(RE)?"keyword":t.match(vE)?"variable":(t.next(),_f)}function qE(t){var e=t.length==1,i="string";return function(n,O){for(;!n.eol();){if(n.eatWhile(/[^'"]/),n.match(t))return O.tokenize=Yf,i;n.eat(/['"]/)}return e&&(O.tokenize=Yf),i}}function VE(t,e){var i=e.tokenize(t,e),n=t.current();if(n===".")return i=e.tokenize(t,e),i==="variable"?"variable":_f;var O="[({".indexOf(n);return O!==-1&&Rf(t,e),O="])}".indexOf(n),O!==-1&&Ls(t,e)?_f:i}const WE={name:"vb",startState:function(){return{tokenize:Yf,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(t,e){t.sol()&&(e.currentIndent+=e.nextLineIndent,e.nextLineIndent=0,e.doInCurrentLine=0);var i=VE(t,e);return e.lastToken={style:i,content:t.current()},i},indent:function(t,e,i){var n=e.replace(/^\s+|\s+$/g,"");return n.match(Vx)||n.match(Wx)||n.match(qx)?i.unit*(t.currentIndent-1):t.currentIndent<0?0:t.currentIndent*i.unit},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:"'"},autocomplete:_x.concat(Rx).concat(Yx).concat(Zx).concat(zx).concat(Ux)}},jE={name:"properties",token:function(t,e){var i=t.sol()||e.afterSection,n=t.eol();if(e.afterSection=!1,i&&(e.nextMultiline?(e.inMultiline=!0,e.nextMultiline=!1):e.position="def"),n&&!e.nextMultiline&&(e.inMultiline=!1,e.position="def"),i)for(;t.eatSpace(););var O=t.next();return i&&(O==="#"||O==="!"||O===";")?(e.position="comment",t.skipToEnd(),"comment"):i&&O==="["?(e.afterSection=!0,t.skipTo("]"),t.eat("]"),"header"):O==="="||O===":"?(e.position="quote",null):(O==="\\"&&e.position==="quote"&&t.eol()&&(e.nextMultiline=!0),e.position)},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};var CE=/({)?[a-zA-Z0-9_]+(})?/;function zm(t,e){for(var i,n,O=!1;!t.eol()&&(i=t.next())!=e.pending;){if(i==="$"&&n!="\\"&&e.pending=='"'){O=!0;break}n=i}return O&&t.backUp(1),i==e.pending?e.continueString=!1:e.continueString=!0,"string"}function EE(t,e){var i=t.next();return i==="$"?t.match(CE)?"variableName.special":"variable":e.continueString?(t.backUp(1),zm(t,e)):t.match(/(\s+)?\w+\(/)||t.match(/(\s+)?\w+\ \(/)?(t.backUp(1),"def"):i=="#"?(t.skipToEnd(),"comment"):i=="'"||i=='"'?(e.pending=i,zm(t,e)):i=="("||i==")"?"bracket":i.match(/[0-9]/)?"number":(t.eatWhile(/[\w-]/),null)}const GE={name:"cmake",startState:function(){var t={};return t.inDefinition=!1,t.inInclude=!1,t.continueString=!1,t.pending=!1,t},token:function(t,e){return t.eatSpace()?null:EE(t,e)}};function AE(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var NE=AE("absolute and array asm begin case const constructor destructor div do downto else end file for function goto if implementation in inherited inline interface label mod nil not object of operator or packed procedure program record reintroduce repeat self set shl shr string then to type unit until uses var while with xor as class dispinterface except exports finalization finally initialization inline is library on out packed property raise resourcestring threadvar try absolute abstract alias assembler bitpacked break cdecl continue cppdecl cvar default deprecated dynamic enumerator experimental export external far far16 forward generic helper implements index interrupt iocheck local message name near nodefault noreturn nostackframe oldfpccall otherwise overload override pascal platform private protected public published read register reintroduce result safecall saveregisters softfloat specialize static stdcall stored strict unaligned unimplemented varargs virtual write"),IE={null:!0},Um=/[+\-*&%=<>!?|\/]/;function LE(t,e){var i=t.next();if(i=="#"&&e.startOfLine)return t.skipToEnd(),"meta";if(i=='"'||i=="'")return e.tokenize=DE(i),e.tokenize(t,e);if(i=="("&&t.eat("*"))return e.tokenize=qm,qm(t,e);if(i=="{")return e.tokenize=Vm,Vm(t,e);if(/[\[\]\(\),;\:\.]/.test(i))return null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),"number";if(i=="/"&&t.eat("/"))return t.skipToEnd(),"comment";if(Um.test(i))return t.eatWhile(Um),"operator";t.eatWhile(/[\w\$_]/);var n=t.current().toLowerCase();return NE.propertyIsEnumerable(n)?"keyword":IE.propertyIsEnumerable(n)?"atom":"variable"}function DE(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return(r||!n)&&(i.tokenize=null),"string"}}function qm(t,e){for(var i=!1,n;n=t.next();){if(n==")"&&i){e.tokenize=null;break}i=n=="*"}return"comment"}function Vm(t,e){for(var i;i=t.next();)if(i=="}"){e.tokenize=null;break}return"comment"}const ME={name:"pascal",startState:function(){return{tokenize:null}},token:function(t,e){if(t.eatSpace())return null;var i=(e.tokenize||LE)(t,e);return i=="comment"||i=="meta",i},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{block:{open:"(*",close:"*)"}}}};var BE="builtin",FE="comment",Wm="string",jm="atom",HE="number",KE="keyword",JE="header",e4="def",t4="link";function Jh(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var Cm=Jh("TRUE FALSE ZEROES ZEROS ZERO SPACES SPACE LOW-VALUE LOW-VALUES "),Em=Jh("ACCEPT ACCESS ACQUIRE ADD ADDRESS ADVANCING AFTER ALIAS ALL ALPHABET ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALSO ALTER ALTERNATE AND ANY ARE AREA AREAS ARITHMETIC ASCENDING ASSIGN AT ATTRIBUTE AUTHOR AUTO AUTO-SKIP AUTOMATIC B-AND B-EXOR B-LESS B-NOT B-OR BACKGROUND-COLOR BACKGROUND-COLOUR BEEP BEFORE BELL BINARY BIT BITS BLANK BLINK BLOCK BOOLEAN BOTTOM BY CALL CANCEL CD CF CH CHARACTER CHARACTERS CLASS CLOCK-UNITS CLOSE COBOL CODE CODE-SET COL COLLATING COLUMN COMMA COMMIT COMMITMENT COMMON COMMUNICATION COMP COMP-0 COMP-1 COMP-2 COMP-3 COMP-4 COMP-5 COMP-6 COMP-7 COMP-8 COMP-9 COMPUTATIONAL COMPUTATIONAL-0 COMPUTATIONAL-1 COMPUTATIONAL-2 COMPUTATIONAL-3 COMPUTATIONAL-4 COMPUTATIONAL-5 COMPUTATIONAL-6 COMPUTATIONAL-7 COMPUTATIONAL-8 COMPUTATIONAL-9 COMPUTE CONFIGURATION CONNECT CONSOLE CONTAINED CONTAINS CONTENT CONTINUE CONTROL CONTROL-AREA CONTROLS CONVERTING COPY CORR CORRESPONDING COUNT CRT CRT-UNDER CURRENCY CURRENT CURSOR DATA DATE DATE-COMPILED DATE-WRITTEN DAY DAY-OF-WEEK DB DB-ACCESS-CONTROL-KEY DB-DATA-NAME DB-EXCEPTION DB-FORMAT-NAME DB-RECORD-NAME DB-SET-NAME DB-STATUS DBCS DBCS-EDITED DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT DECLARATIVES DEFAULT DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESCRIBED DESTINATION DETAIL DISABLE DISCONNECT DISPLAY DISPLAY-1 DISPLAY-2 DISPLAY-3 DISPLAY-4 DISPLAY-5 DISPLAY-6 DISPLAY-7 DISPLAY-8 DISPLAY-9 DIVIDE DIVISION DOWN DROP DUPLICATE DUPLICATES DYNAMIC EBCDIC EGI EJECT ELSE EMI EMPTY EMPTY-CHECK ENABLE END END. END-ACCEPT END-ACCEPT. END-ADD END-CALL END-COMPUTE END-DELETE END-DISPLAY END-DIVIDE END-EVALUATE END-IF END-INVOKE END-MULTIPLY END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING END-WRITE END-XML ENTER ENTRY ENVIRONMENT EOP EQUAL EQUALS ERASE ERROR ESI EVALUATE EVERY EXCEEDS EXCEPTION EXCLUSIVE EXIT EXTEND EXTERNAL EXTERNALLY-DESCRIBED-KEY FD FETCH FILE FILE-CONTROL FILE-STREAM FILES FILLER FINAL FIND FINISH FIRST FOOTING FOR FOREGROUND-COLOR FOREGROUND-COLOUR FORMAT FREE FROM FULL FUNCTION GENERATE GET GIVING GLOBAL GO GOBACK GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES HIGHLIGHT I-O I-O-CONTROL ID IDENTIFICATION IF IN INDEX INDEX-1 INDEX-2 INDEX-3 INDEX-4 INDEX-5 INDEX-6 INDEX-7 INDEX-8 INDEX-9 INDEXED INDIC INDICATE INDICATOR INDICATORS INITIAL INITIALIZE INITIATE INPUT INPUT-OUTPUT INSPECT INSTALLATION INTO INVALID INVOKE IS JUST JUSTIFIED KANJI KEEP KEY LABEL LAST LD LEADING LEFT LEFT-JUSTIFY LENGTH LENGTH-CHECK LESS LIBRARY LIKE LIMIT LIMITS LINAGE LINAGE-COUNTER LINE LINE-COUNTER LINES LINKAGE LOCAL-STORAGE LOCALE LOCALLY LOCK MEMBER MEMORY MERGE MESSAGE METACLASS MODE MODIFIED MODIFY MODULES MOVE MULTIPLE MULTIPLY NATIONAL NATIVE NEGATIVE NEXT NO NO-ECHO NONE NOT NULL NULL-KEY-MAP NULL-MAP NULLS NUMBER NUMERIC NUMERIC-EDITED OBJECT OBJECT-COMPUTER OCCURS OF OFF OMITTED ON ONLY OPEN OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW OWNER PACKED-DECIMAL PADDING PAGE PAGE-COUNTER PARSE PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE PREFIX PRESENT PRINTING PRIOR PROCEDURE PROCEDURE-POINTER PROCEDURES PROCEED PROCESS PROCESSING PROGRAM PROGRAM-ID PROMPT PROTECTED PURGE QUEUE QUOTE QUOTES RANDOM RD READ READY REALM RECEIVE RECONNECT RECORD RECORD-NAME RECORDS RECURSIVE REDEFINES REEL REFERENCE REFERENCE-MONITOR REFERENCES RELATION RELATIVE RELEASE REMAINDER REMOVAL RENAMES REPEATED REPLACE REPLACING REPORT REPORTING REPORTS REPOSITORY REQUIRED RERUN RESERVE RESET RETAINING RETRIEVAL RETURN RETURN-CODE RETURNING REVERSE-VIDEO REVERSED REWIND REWRITE RF RH RIGHT RIGHT-JUSTIFY ROLLBACK ROLLING ROUNDED RUN SAME SCREEN SD SEARCH SECTION SECURE SECURITY SEGMENT SEGMENT-LIMIT SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SHARED SIGN SIZE SKIP1 SKIP2 SKIP3 SORT SORT-MERGE SORT-RETURN SOURCE SOURCE-COMPUTER SPACE-FILL SPECIAL-NAMES STANDARD STANDARD-1 STANDARD-2 START STARTING STATUS STOP STORE STRING SUB-QUEUE-1 SUB-QUEUE-2 SUB-QUEUE-3 SUB-SCHEMA SUBFILE SUBSTITUTE SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED SYSIN SYSOUT TABLE TALLYING TAPE TENANT TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TITLE TO TOP TRAILING TRAILING-SIGN TRANSACTION TYPE TYPEDEF UNDERLINE UNEQUAL UNIT UNSTRING UNTIL UP UPDATE UPON USAGE USAGE-MODE USE USING VALID VALIDATE VALUE VALUES VARYING VLR WAIT WHEN WHEN-COMPILED WITH WITHIN WORDS WORKING-STORAGE WRITE XML XML-CODE XML-EVENT XML-NTEXT XML-TEXT ZERO ZERO-FILL "),Gm=Jh("- * ** / + < <= = > >= "),Ht={digit:/\d/,digit_or_colon:/[\d:]/,hex:/[0-9a-f]/i,sign:/[+-]/,exponent:/e/i,symbol:/[\w*+\-]/};function i4(t,e){return t==="0"&&e.eat(/x/i)?(e.eatWhile(Ht.hex),!0):((t=="+"||t=="-")&&Ht.digit.test(e.peek())&&(e.eat(Ht.sign),t=e.next()),Ht.digit.test(t)?(e.eat(t),e.eatWhile(Ht.digit),e.peek()=="."&&(e.eat("."),e.eatWhile(Ht.digit)),e.eat(Ht.exponent)&&(e.eat(Ht.sign),e.eatWhile(Ht.digit)),!0):!1)}const n4={name:"cobol",startState:function(){return{indentStack:null,indentation:0,mode:!1}},token:function(t,e){if(e.indentStack==null&&t.sol()&&(e.indentation=6),t.eatSpace())return null;var i=null;switch(e.mode){case"string":for(var n=!1;(n=t.next())!=null;)if((n=='"'||n=="'")&&!t.match(/['"]/,!1)){e.mode=!1;break}i=Wm;break;default:var O=t.next(),r=t.column();if(r>=0&&r<=5)i=e4;else if(r>=72&&r<=79)t.skipToEnd(),i=JE;else if(O=="*"&&r==6)t.skipToEnd(),i=FE;else if(O=='"'||O=="'")e.mode="string",i=Wm;else if(O=="'"&&!Ht.digit_or_colon.test(t.peek()))i=jm;else if(O==".")i=t4;else if(i4(O,t))i=HE;else{if(t.current().match(Ht.symbol))for(;r<71&&t.eat(Ht.symbol)!==void 0;)r++;Em&&Em.propertyIsEnumerable(t.current().toUpperCase())?i=KE:Gm&&Gm.propertyIsEnumerable(t.current().toUpperCase())?i=BE:Cm&&Cm.propertyIsEnumerable(t.current().toUpperCase())?i=jm:i=null}}return i},indent:function(t){return t.indentStack==null?t.indentation:t.indentStack.indent}};function ed(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}var O4=ed(["abstract","accept","allocatable","allocate","array","assign","asynchronous","backspace","bind","block","byte","call","case","class","close","common","contains","continue","cycle","data","deallocate","decode","deferred","dimension","do","elemental","else","encode","end","endif","entry","enumerator","equivalence","exit","external","extrinsic","final","forall","format","function","generic","go","goto","if","implicit","import","include","inquire","intent","interface","intrinsic","module","namelist","non_intrinsic","non_overridable","none","nopass","nullify","open","optional","options","parameter","pass","pause","pointer","print","private","program","protected","public","pure","read","recursive","result","return","rewind","save","select","sequence","stop","subroutine","target","then","to","type","use","value","volatile","where","while","write"]),r4=ed(["abort","abs","access","achar","acos","adjustl","adjustr","aimag","aint","alarm","all","allocated","alog","amax","amin","amod","and","anint","any","asin","associated","atan","besj","besjn","besy","besyn","bit_size","btest","cabs","ccos","ceiling","cexp","char","chdir","chmod","clog","cmplx","command_argument_count","complex","conjg","cos","cosh","count","cpu_time","cshift","csin","csqrt","ctime","c_funloc","c_loc","c_associated","c_null_ptr","c_null_funptr","c_f_pointer","c_null_char","c_alert","c_backspace","c_form_feed","c_new_line","c_carriage_return","c_horizontal_tab","c_vertical_tab","dabs","dacos","dasin","datan","date_and_time","dbesj","dbesj","dbesjn","dbesy","dbesy","dbesyn","dble","dcos","dcosh","ddim","derf","derfc","dexp","digits","dim","dint","dlog","dlog","dmax","dmin","dmod","dnint","dot_product","dprod","dsign","dsinh","dsin","dsqrt","dtanh","dtan","dtime","eoshift","epsilon","erf","erfc","etime","exit","exp","exponent","extends_type_of","fdate","fget","fgetc","float","floor","flush","fnum","fputc","fput","fraction","fseek","fstat","ftell","gerror","getarg","get_command","get_command_argument","get_environment_variable","getcwd","getenv","getgid","getlog","getpid","getuid","gmtime","hostnm","huge","iabs","iachar","iand","iargc","ibclr","ibits","ibset","ichar","idate","idim","idint","idnint","ieor","ierrno","ifix","imag","imagpart","index","int","ior","irand","isatty","ishft","ishftc","isign","iso_c_binding","is_iostat_end","is_iostat_eor","itime","kill","kind","lbound","len","len_trim","lge","lgt","link","lle","llt","lnblnk","loc","log","logical","long","lshift","lstat","ltime","matmul","max","maxexponent","maxloc","maxval","mclock","merge","move_alloc","min","minexponent","minloc","minval","mod","modulo","mvbits","nearest","new_line","nint","not","or","pack","perror","precision","present","product","radix","rand","random_number","random_seed","range","real","realpart","rename","repeat","reshape","rrspacing","rshift","same_type_as","scale","scan","second","selected_int_kind","selected_real_kind","set_exponent","shape","short","sign","signal","sinh","sin","sleep","sngl","spacing","spread","sqrt","srand","stat","sum","symlnk","system","system_clock","tan","tanh","time","tiny","transfer","transpose","trim","ttynam","ubound","umask","unlink","unpack","verify","xor","zabs","zcos","zexp","zlog","zsin","zsqrt"]),a4=ed(["c_bool","c_char","c_double","c_double_complex","c_float","c_float_complex","c_funptr","c_int","c_int16_t","c_int32_t","c_int64_t","c_int8_t","c_int_fast16_t","c_int_fast32_t","c_int_fast64_t","c_int_fast8_t","c_int_least16_t","c_int_least32_t","c_int_least64_t","c_int_least8_t","c_intmax_t","c_intptr_t","c_long","c_long_double","c_long_double_complex","c_long_long","c_ptr","c_short","c_signed_char","c_size_t","character","complex","double","integer","logical","real"]),Am=/[+\-*&=<>\/\:]/,s4=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function o4(t,e){if(t.match(s4))return"operator";var i=t.next();if(i=="!")return t.skipToEnd(),"comment";if(i=='"'||i=="'")return e.tokenize=l4(i),e.tokenize(t,e);if(/[\[\]\(\),]/.test(i))return null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),"number";if(Am.test(i))return t.eatWhile(Am),"operator";t.eatWhile(/[\w\$_]/);var n=t.current().toLowerCase();return O4.hasOwnProperty(n)?"keyword":r4.hasOwnProperty(n)||a4.hasOwnProperty(n)?"builtin":"variable"}function l4(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return(r||!n)&&(i.tokenize=null),"string"}}const c4={name:"fortran",startState:function(){return{tokenize:null}},token:function(t,e){if(t.eatSpace())return null;var i=(e.tokenize||o4)(t,e);return i=="comment"||i=="meta",i}};function jx(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var Nm=jx("Tcl safe after append array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd close concat continue dde eof encoding error eval exec exit expr fblocked fconfigure fcopy file fileevent filename filename flush for foreach format gets glob global history http if incr info interp join lappend lindex linsert list llength load lrange lreplace lsearch lset lsort memory msgcat namespace open package parray pid pkg::create pkg_mkIndex proc puts pwd re_syntax read regex regexp registry regsub rename resource return scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_wordBreakAfter tcl_startOfPreviousWord tcl_wordBreakBefore tcltest tclvars tell time trace unknown unset update uplevel upvar variable vwait"),Im=jx("if elseif else and not or eq ne in ni for foreach while switch"),Lm=/[+\-*&%=<>!?^\/\|]/;function Mc(t,e,i){return e.tokenize=i,i(t,e)}function cl(t,e){var i=e.beforeParams;e.beforeParams=!1;var n=t.next();if((n=='"'||n=="'")&&e.inParams)return Mc(t,e,u4(n));if(/[\[\]{}\(\),;\.]/.test(n))return n=="("&&i?e.inParams=!0:n==")"&&(e.inParams=!1),null;if(/\d/.test(n))return t.eatWhile(/[\w\.]/),"number";if(n=="#")return t.eat("*")?Mc(t,e,f4):n=="#"&&t.match(/ *\[ *\[/)?Mc(t,e,h4):(t.skipToEnd(),"comment");if(n=='"')return t.skipTo(/"/),"comment";if(n=="$")return t.eatWhile(/[$_a-z0-9A-Z\.{:]/),t.eatWhile(/}/),e.beforeParams=!0,"builtin";if(Lm.test(n))return t.eatWhile(Lm),"comment";t.eatWhile(/[\w\$_{}\xa1-\uffff]/);var O=t.current().toLowerCase();return Nm&&Nm.propertyIsEnumerable(O)?"keyword":Im&&Im.propertyIsEnumerable(O)?(e.beforeParams=!0,"keyword"):null}function u4(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return r&&(i.tokenize=cl),"string"}}function f4(t,e){for(var i=!1,n;n=t.next();){if(n=="#"&&i){e.tokenize=cl;break}i=n=="*"}return"comment"}function h4(t,e){for(var i=0,n;n=t.next();){if(n=="#"&&i==2){e.tokenize=cl;break}n=="]"?i++:n!=" "&&(i=0)}return"meta"}const d4={name:"tcl",startState:function(){return{tokenize:cl,beforeParams:!1,inParams:!1}},token:function(t,e){return t.eatSpace()?null:e.tokenize(t,e)},languageData:{commentTokens:{line:"#"}}};function ul(t){t={...p4,...t};var e=t.inline,i=t.tokenHooks,n=t.documentTypes||{},O=t.mediaTypes||{},r=t.mediaFeatures||{},a=t.mediaValueKeywords||{},s=t.propertyKeywords||{},o=t.nonStandardPropertyKeywords||{},l=t.fontProperties||{},c=t.counterDescriptors||{},u=t.colorKeywords||{},f=t.valueKeywords||{},d=t.allowNested,p=t.lineComment,Q=t.supportsAtComponent===!0,P=t.highlightNonStandardPropertyKeywords!==!1,m,S;function x(y,w){return m=w,y}function z(y,w){var Z=y.next();if(i[Z]){var X=i[Z](y,w);if(X!==!1)return X}if(Z=="@")return y.eatWhile(/[\w\\\-]/),x("def",y.current());if(Z=="="||(Z=="~"||Z=="|")&&y.eat("="))return x(null,"compare");if(Z=='"'||Z=="'")return w.tokenize=Y(Z),w.tokenize(y,w);if(Z=="#")return y.eatWhile(/[\w\\\-]/),x("atom","hash");if(Z=="!")return y.match(/^\s*\w*/),x("keyword","important");if(/\d/.test(Z)||Z=="."&&y.eat(/\d/))return y.eatWhile(/[\w.%]/),x("number","unit");if(Z==="-"){if(/[\d.]/.test(y.peek()))return y.eatWhile(/[\w.%]/),x("number","unit");if(y.match(/^-[\w\\\-]*/))return y.eatWhile(/[\w\\\-]/),y.match(/^\s*:/,!1)?x("def","variable-definition"):x("variableName","variable");if(y.match(/^\w+-/))return x("meta","meta")}else return/[,+>*\/]/.test(Z)?x(null,"select-op"):Z=="."&&y.match(/^-?[_a-z][_a-z0-9-]*/i)?x("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(Z)?x(null,Z):y.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(y.current())&&(w.tokenize=U),x("variableName.function","variable")):/[\w\\\-]/.test(Z)?(y.eatWhile(/[\w\\\-]/),x("property","word")):x(null,null)}function Y(y){return function(w,Z){for(var X=!1,A;(A=w.next())!=null;){if(A==y&&!X){y==")"&&w.backUp(1);break}X=!X&&A=="\\"}return(A==y||!X&&y!=")")&&(Z.tokenize=null),x("string","string")}}function U(y,w){return y.next(),y.match(/^\s*[\"\')]/,!1)?w.tokenize=null:w.tokenize=Y(")"),x(null,"(")}function V(y,w,Z){this.type=y,this.indent=w,this.prev=Z}function G(y,w,Z,X){return y.context=new V(Z,w.indentation()+(X===!1?0:w.indentUnit),y.context),Z}function D(y){return y.context.prev&&(y.context=y.context.prev),y.context.type}function E(y,w,Z){return T[Z.context.type](y,w,Z)}function _(y,w,Z,X){for(var A=X||1;A>0;A--)Z.context=Z.context.prev;return E(y,w,Z)}function R(y){var w=y.current().toLowerCase();f.hasOwnProperty(w)?S="atom":u.hasOwnProperty(w)?S="keyword":S="variable"}var T={};return T.top=function(y,w,Z){if(y=="{")return G(Z,w,"block");if(y=="}"&&Z.context.prev)return D(Z);if(Q&&/@component/i.test(y))return G(Z,w,"atComponentBlock");if(/^@(-moz-)?document$/i.test(y))return G(Z,w,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(y))return G(Z,w,"atBlock");if(/^@(font-face|counter-style)/i.test(y))return Z.stateArg=y,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(y))return"keyframes";if(y&&y.charAt(0)=="@")return G(Z,w,"at");if(y=="hash")S="builtin";else if(y=="word")S="tag";else{if(y=="variable-definition")return"maybeprop";if(y=="interpolation")return G(Z,w,"interpolation");if(y==":")return"pseudo";if(d&&y=="(")return G(Z,w,"parens")}return Z.context.type},T.block=function(y,w,Z){if(y=="word"){var X=w.current().toLowerCase();return s.hasOwnProperty(X)?(S="property","maybeprop"):o.hasOwnProperty(X)?(S=P?"string.special":"property","maybeprop"):d?(S=w.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(S="error","maybeprop")}else return y=="meta"?"block":!d&&(y=="hash"||y=="qualifier")?(S="error","block"):T.top(y,w,Z)},T.maybeprop=function(y,w,Z){return y==":"?G(Z,w,"prop"):E(y,w,Z)},T.prop=function(y,w,Z){if(y==";")return D(Z);if(y=="{"&&d)return G(Z,w,"propBlock");if(y=="}"||y=="{")return _(y,w,Z);if(y=="(")return G(Z,w,"parens");if(y=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(w.current()))S="error";else if(y=="word")R(w);else if(y=="interpolation")return G(Z,w,"interpolation");return"prop"},T.propBlock=function(y,w,Z){return y=="}"?D(Z):y=="word"?(S="property","maybeprop"):Z.context.type},T.parens=function(y,w,Z){return y=="{"||y=="}"?_(y,w,Z):y==")"?D(Z):y=="("?G(Z,w,"parens"):y=="interpolation"?G(Z,w,"interpolation"):(y=="word"&&R(w),"parens")},T.pseudo=function(y,w,Z){return y=="meta"?"pseudo":y=="word"?(S="variableName.constant",Z.context.type):E(y,w,Z)},T.documentTypes=function(y,w,Z){return y=="word"&&n.hasOwnProperty(w.current())?(S="tag",Z.context.type):T.atBlock(y,w,Z)},T.atBlock=function(y,w,Z){if(y=="(")return G(Z,w,"atBlock_parens");if(y=="}"||y==";")return _(y,w,Z);if(y=="{")return D(Z)&&G(Z,w,d?"block":"top");if(y=="interpolation")return G(Z,w,"interpolation");if(y=="word"){var X=w.current().toLowerCase();X=="only"||X=="not"||X=="and"||X=="or"?S="keyword":O.hasOwnProperty(X)?S="attribute":r.hasOwnProperty(X)?S="property":a.hasOwnProperty(X)?S="keyword":s.hasOwnProperty(X)?S="property":o.hasOwnProperty(X)?S=P?"string.special":"property":f.hasOwnProperty(X)?S="atom":u.hasOwnProperty(X)?S="keyword":S="error"}return Z.context.type},T.atComponentBlock=function(y,w,Z){return y=="}"?_(y,w,Z):y=="{"?D(Z)&&G(Z,w,d?"block":"top",!1):(y=="word"&&(S="error"),Z.context.type)},T.atBlock_parens=function(y,w,Z){return y==")"?D(Z):y=="{"||y=="}"?_(y,w,Z,2):T.atBlock(y,w,Z)},T.restricted_atBlock_before=function(y,w,Z){return y=="{"?G(Z,w,"restricted_atBlock"):y=="word"&&Z.stateArg=="@counter-style"?(S="variable","restricted_atBlock_before"):E(y,w,Z)},T.restricted_atBlock=function(y,w,Z){return y=="}"?(Z.stateArg=null,D(Z)):y=="word"?(Z.stateArg=="@font-face"&&!l.hasOwnProperty(w.current().toLowerCase())||Z.stateArg=="@counter-style"&&!c.hasOwnProperty(w.current().toLowerCase())?S="error":S="property","maybeprop"):"restricted_atBlock"},T.keyframes=function(y,w,Z){return y=="word"?(S="variable","keyframes"):y=="{"?G(Z,w,"top"):E(y,w,Z)},T.at=function(y,w,Z){return y==";"?D(Z):y=="{"||y=="}"?_(y,w,Z):(y=="word"?S="tag":y=="hash"&&(S="builtin"),"at")},T.interpolation=function(y,w,Z){return y=="}"?D(Z):y=="{"||y==";"?_(y,w,Z):(y=="word"?S="variable":y!="variable"&&y!="("&&y!=")"&&(S="error"),"interpolation")},{name:t.name,startState:function(){return{tokenize:null,state:e?"block":"top",stateArg:null,context:new V(e?"block":"top",0,null)}},token:function(y,w){if(!w.tokenize&&y.eatSpace())return null;var Z=(w.tokenize||z)(y,w);return Z&&typeof Z=="object"&&(m=Z[1],Z=Z[0]),S=Z,m!="comment"&&(w.state=T[w.state](m,y,w)),S},indent:function(y,w,Z){var X=y.context,A=w&&w.charAt(0),q=X.indent;return X.type=="prop"&&(A=="}"||A==")")&&(X=X.prev),X.prev&&(A=="}"&&(X.type=="block"||X.type=="top"||X.type=="interpolation"||X.type=="restricted_atBlock")?(X=X.prev,q=X.indent):(A==")"&&(X.type=="parens"||X.type=="atBlock_parens")||A=="{"&&(X.type=="at"||X.type=="atBlock"))&&(q=Math.max(0,X.indent-Z.unit))),q},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:p,block:{open:"/*",close:"*/"}},autocomplete:Mx}}}function Ui(t){for(var e={},i=0;i<t.length;++i)e[t[i].toLowerCase()]=!0;return e}var Cx=["domain","regexp","url","url-prefix"],Ex=Ui(Cx),Gx=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],fl=Ui(Gx),Ax=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],hl=Ui(Ax),Nx=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],td=Ui(Nx),id=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],dl=Ui(id),Ix=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],$l=Ui(Ix),Lx=["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],pl=Ui(Lx),$4=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],Dx=Ui($4),nd=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],Ql=Ui(nd),Od=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],ml=Ui(Od),Mx=Cx.concat(Gx).concat(Ax).concat(Nx).concat(id).concat(Ix).concat(nd).concat(Od);const ja={properties:id,colors:nd,fonts:Lx,values:Od,all:Mx},p4={documentTypes:Ex,mediaTypes:fl,mediaFeatures:hl,mediaValueKeywords:td,propertyKeywords:dl,nonStandardPropertyKeywords:$l,fontProperties:pl,counterDescriptors:Dx,colorKeywords:Ql,valueKeywords:ml,tokenHooks:{"/":function(t,e){return t.eat("*")?(e.tokenize=Xn,Xn(t,e)):!1}}};ul({name:"css"});function Xn(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n=="/"){e.tokenize=null;break}i=n=="*"}return["comment","comment"]}ul({name:"scss",mediaTypes:fl,mediaFeatures:hl,mediaValueKeywords:td,propertyKeywords:dl,nonStandardPropertyKeywords:$l,colorKeywords:Ql,valueKeywords:ml,fontProperties:pl,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=Xn,Xn(t,e)):["operator","operator"]},":":function(t){return t.match(/^\s*\{/,!1)?[null,null]:!1},$:function(t){return t.match(/^[\w-]+/),t.match(/^\s*:/,!1)?["def","variable-definition"]:["variableName.special","variable"]},"#":function(t){return t.eat("{")?[null,"interpolation"]:!1}}});ul({name:"less",mediaTypes:fl,mediaFeatures:hl,mediaValueKeywords:td,propertyKeywords:dl,nonStandardPropertyKeywords:$l,colorKeywords:Ql,valueKeywords:ml,fontProperties:pl,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=Xn,Xn(t,e)):["operator","operator"]},"@":function(t){return t.eat("{")?[null,"interpolation"]:t.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)?!1:(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?["def","variable-definition"]:["variableName","variable"])},"&":function(){return["atom","atom"]}}});ul({name:"gss",documentTypes:Ex,mediaTypes:fl,mediaFeatures:hl,propertyKeywords:dl,nonStandardPropertyKeywords:$l,fontProperties:pl,counterDescriptors:Dx,colorKeywords:Ql,valueKeywords:ml,supportsAtComponent:!0,tokenHooks:{"/":function(t,e){return t.eat("*")?(e.tokenize=Xn,Xn(t,e)):!1}}});const Bc=new Set(ja.properties),Q4=new Set(ja.colors),m4=new Set(ja.values),g4=new Set(ja.fonts);function P4(t){return new RegExp("^"+t.join("|"))}let S4=["true","false","null","auto"],Dm=new RegExp("^"+S4.join("|")),b4=["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"],Mm=P4(b4),y4=/^::?[a-zA-Z_][\w\-]*/,Ci;function bi(t){return!t.peek()||t.match(/\s+$/,!1)}function Bm(t,e){let i=t.peek();return i===")"?(t.next(),e.tokenizer=mn,"operator"):i==="("?(t.next(),t.eatSpace(),"operator"):i==="'"||i==='"'?(e.tokenizer=Zf(t.next()),"string"):(e.tokenizer=Zf(")",!1),"string")}function Fm(t,e){return function(i,n){return i.sol()&&i.indentation()<=t?(n.tokenizer=mn,mn(i,n)):(e&&i.skipTo("*/")?(i.next(),i.next(),n.tokenizer=mn):i.skipToEnd(),"comment")}}function Zf(t,e){e==null&&(e=!0);function i(n,O){let r=n.next(),a=n.peek(),s=n.string.charAt(n.pos-2);return r!=="\\"&&a===t||r===t&&s!=="\\"?(r!==t&&e&&n.next(),bi(n)&&(O.cursorHalf=0),O.tokenizer=mn,"string"):r==="#"&&a==="{"?(O.tokenizer=Bx(i),n.next(),"operator"):"string"}return i}function Bx(t){return function(e,i){return e.peek()==="}"?(e.next(),i.tokenizer=t,"operator"):mn(e,i)}}function on(t,e){if(t.indentCount==0){t.indentCount++;let n=t.scopes[0].offset+e.indentUnit;t.scopes.unshift({offset:n})}}function Fx(t){t.scopes.length!=1&&t.scopes.shift()}function mn(t,e){let i=t.peek();if(t.match("/*"))return e.tokenizer=Fm(t.indentation(),!0),e.tokenizer(t,e);if(t.match("//"))return e.tokenizer=Fm(t.indentation(),!1),e.tokenizer(t,e);if(t.match("#{"))return e.tokenizer=Bx(mn),"operator";if(i==='"'||i==="'")return t.next(),e.tokenizer=Zf(i),"string";if(e.cursorHalf){if(i==="#"&&(t.next(),t.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/))||t.match(/^-?[0-9\.]+/))return bi(t)&&(e.cursorHalf=0),"number";if(t.match(/^(px|em|in)\b/))return bi(t)&&(e.cursorHalf=0),"unit";if(t.match(Dm))return bi(t)&&(e.cursorHalf=0),"keyword";if(t.match(/^url/)&&t.peek()==="(")return e.tokenizer=Bm,bi(t)&&(e.cursorHalf=0),"atom";if(i==="$")return t.next(),t.eatWhile(/[\w-]/),bi(t)&&(e.cursorHalf=0),"variable-2";if(i==="!")return t.next(),e.cursorHalf=0,t.match(/^[\w]+/)?"keyword":"operator";if(t.match(Mm))return bi(t)&&(e.cursorHalf=0),"operator";if(t.eatWhile(/[\w-]/))return bi(t)&&(e.cursorHalf=0),Ci=t.current().toLowerCase(),m4.has(Ci)?"atom":Q4.has(Ci)?"keyword":Bc.has(Ci)?(e.prevProp=t.current().toLowerCase(),"property"):"tag";if(bi(t))return e.cursorHalf=0,null}else{if(i==="-"&&t.match(/^-\w+-/))return"meta";if(i==="."){if(t.next(),t.match(/^[\w-]+/))return on(e,t),"qualifier";if(t.peek()==="#")return on(e,t),"tag"}if(i==="#"){if(t.next(),t.match(/^[\w-]+/))return on(e,t),"builtin";if(t.peek()==="#")return on(e,t),"tag"}if(i==="$")return t.next(),t.eatWhile(/[\w-]/),"variable-2";if(t.match(/^-?[0-9\.]+/))return"number";if(t.match(/^(px|em|in)\b/))return"unit";if(t.match(Dm))return"keyword";if(t.match(/^url/)&&t.peek()==="(")return e.tokenizer=Bm,"atom";if(i==="="&&t.match(/^=[\w-]+/))return on(e,t),"meta";if(i==="+"&&t.match(/^\+[\w-]+/))return"meta";if(i==="@"&&t.match("@extend")&&(t.match(/\s*[\w]/)||Fx(e)),t.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return on(e,t),"def";if(i==="@")return t.next(),t.eatWhile(/[\w-]/),"def";if(t.eatWhile(/[\w-]/))if(t.match(/ *: *[\w-\+\$#!\("']/,!1)){Ci=t.current().toLowerCase();let n=e.prevProp+"-"+Ci;return Bc.has(n)?"property":Bc.has(Ci)?(e.prevProp=Ci,"property"):g4.has(Ci)?"property":"tag"}else return t.match(/ *:/,!1)?(on(e,t),e.cursorHalf=1,e.prevProp=t.current().toLowerCase(),"property"):(t.match(/ *,/,!1)||on(e,t),"tag");if(i===":")return t.match(y4)?"type":(t.next(),e.cursorHalf=1,"operator")}return t.match(Mm)?"operator":(t.next(),null)}function x4(t,e){t.sol()&&(e.indentCount=0);let i=e.tokenizer(t,e),n=t.current();if((n==="@return"||n==="}")&&Fx(e),i!==null){let r=t.pos-n.length+t.indentUnit*e.indentCount,a=[];for(let s=0;s<e.scopes.length;s++){let o=e.scopes[s];o.offset<=r&&a.push(o)}e.scopes=a}return i}const X4={name:"sass",startState:function(){return{tokenizer:mn,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(t,e){let i=x4(t,e);return e.lastToken={style:i,content:t.current()},i},indent:function(t){return t.scopes[0].offset},languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:ja.all}};var Hx=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],rd=["domain","regexp","url-prefix","url"],Kx=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],Jx=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],eX=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],tX=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],iX=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],nX=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],OX=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],rX=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],aX=["for","if","else","unless","from","to"],sX=["null","true","false","href","title","type","not-allowed","readonly","disabled"],w4=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],k4=Hx.concat(rd,Kx,Jx,eX,tX,nX,OX,iX,rX,aX,sX,w4);function oX(t){return t=t.sort(function(e,i){return i>e}),new RegExp("^(("+t.join(")|(")+"))\\b")}function $i(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}function T4(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}var v4=$i(Hx),ad=/^(a|b|i|s|col|em)$/i,_4=$i(eX),R4=$i(tX),Y4=$i(OX),Z4=$i(nX),z4=$i(rd),U4=oX(rd),q4=$i(Jx),V4=$i(Kx),W4=$i(iX),j4=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,C4=oX(rX),E4=$i(aX),lX=new RegExp(/^\-(moz|ms|o|webkit)-/i),G4=$i(sX),Fc="",It={},Pi,Vn,Hm,pe;function A4(t,e){if(Fc=t.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),e.context.line.firstWord=Fc?Fc[0].replace(/^\s*/,""):"",e.context.line.indent=t.indentation(),Pi=t.peek(),t.match("//"))return t.skipToEnd(),["comment","comment"];if(t.match("/*"))return e.tokenize=Km,Km(t,e);if(Pi=='"'||Pi=="'")return t.next(),e.tokenize=cX(Pi),e.tokenize(t,e);if(Pi=="@")return t.next(),t.eatWhile(/[\w\\-]/),["def",t.current()];if(Pi=="#"){if(t.next(),t.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(t.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return t.match(lX)?["meta","vendor-prefixes"]:t.match(/^-?[0-9]?\.?[0-9]/)?(t.eatWhile(/[a-z%]/i),["number","unit"]):Pi=="!"?(t.next(),[t.match(/^(important|optional)/i)?"keyword":"operator","important"]):Pi=="."&&t.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:t.match(U4)?(t.peek()=="("&&(e.tokenize=N4),["property","word"]):t.match(/^[a-z][\w-]*\(/i)?(t.backUp(1),["keyword","mixin"]):t.match(/^(\+|-)[a-z][\w-]*\(/i)?(t.backUp(1),["keyword","block-mixin"]):t.string.match(/^\s*&/)&&t.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:t.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(t.backUp(1),["variableName.special","reference"]):t.match(/^&{1}\s*$/)?["variableName.special","reference"]:t.match(C4)?["operator","operator"]:t.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?t.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!Zi(t.current())?(t.match("."),["variable","variable-name"]):["variable","word"]:t.match(j4)?["operator",t.current()]:/[:;,{}\[\]\(\)]/.test(Pi)?(t.next(),[null,Pi]):(t.next(),[null,null])}function Km(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n=="/"){e.tokenize=null;break}i=n=="*"}return["comment","comment"]}function cX(t){return function(e,i){for(var n=!1,O;(O=e.next())!=null;){if(O==t&&!n){t==")"&&e.backUp(1);break}n=!n&&O=="\\"}return(O==t||!n&&t!=")")&&(i.tokenize=null),["string","string"]}}function N4(t,e){return t.next(),t.match(/\s*[\"\')]/,!1)?e.tokenize=null:e.tokenize=cX(")"),[null,"("]}function uX(t,e,i,n){this.type=t,this.indent=e,this.prev=i,this.line=n||{firstWord:"",indent:0}}function re(t,e,i,n){return n=n>=0?n:e.indentUnit,t.context=new uX(i,e.indentation()+n,t.context),i}function aO(t,e,i){var n=t.context.indent-e.indentUnit;return i=i||!1,t.context=t.context.prev,i&&(t.context.indent=n),t.context.type}function I4(t,e,i){return It[i.context.type](t,e,i)}function sd(t,e,i,n){for(var O=1;O>0;O--)i.context=i.context.prev;return I4(t,e,i)}function Zi(t){return t.toLowerCase()in v4}function sO(t){return t=t.toLowerCase(),t in _4||t in W4}function Hn(t){return t.toLowerCase()in E4}function Jm(t){return t.toLowerCase().match(lX)}function $O(t){var e=t.toLowerCase(),i="variable";return Zi(t)?i="tag":Hn(t)?i="block-keyword":sO(t)?i="property":e in Y4||e in G4?i="atom":e=="return"||e in Z4?i="keyword":t.match(/^[A-Z]/)&&(i="string"),i}function fX(t,e){return mt(e)&&(t=="{"||t=="]"||t=="hash"||t=="qualifier")||t=="block-mixin"}function hX(t,e){return t=="{"&&e.match(/^\s*\$?[\w-]+/i,!1)}function dX(t,e){return t==":"&&e.match(/^[a-z-]+/,!1)}function An(t){return t.sol()||t.string.match(new RegExp("^\\s*"+T4(t.current())))}function mt(t){return t.eol()||t.match(/^\s*$/,!1)}function Kt(t){var e=/^\s*[-_]*[a-z0-9]+[\w-]*/i,i=typeof t=="string"?t.match(e):t.string.match(e);return i?i[0].replace(/^\s*/,""):""}It.block=function(t,e,i){if(t=="comment"&&An(e)||t==","&&mt(e)||t=="mixin")return re(i,e,"block",0);if(hX(t,e))return re(i,e,"interpolation");if(mt(e)&&t=="]"&&!/^\s*(\.|#|:|\[|\*|&)/.test(e.string)&&!Zi(Kt(e)))return re(i,e,"block",0);if(fX(t,e))return re(i,e,"block");if(t=="}"&&mt(e))return re(i,e,"block",0);if(t=="variable-name")return e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||Hn(Kt(e))?re(i,e,"variableName"):re(i,e,"variableName",0);if(t=="=")return!mt(e)&&!Hn(Kt(e))?re(i,e,"block",0):re(i,e,"block");if(t=="*"&&(mt(e)||e.match(/\s*(,|\.|#|\[|:|{)/,!1)))return pe="tag",re(i,e,"block");if(dX(t,e))return re(i,e,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(t))return re(i,e,mt(e)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(t))return re(i,e,"keyframes");if(/@extends?/.test(t))return re(i,e,"extend",0);if(t&&t.charAt(0)=="@")return e.indentation()>0&&sO(e.current().slice(1))?(pe="variable","block"):/(@import|@require|@charset)/.test(t)?re(i,e,"block",0):re(i,e,"block");if(t=="reference"&&mt(e))return re(i,e,"block");if(t=="(")return re(i,e,"parens");if(t=="vendor-prefixes")return re(i,e,"vendorPrefixes");if(t=="word"){var n=e.current();if(pe=$O(n),pe=="property")return An(e)?re(i,e,"block",0):(pe="atom","block");if(pe=="tag"){if(/embed|menu|pre|progress|sub|table/.test(n)&&sO(Kt(e))||e.string.match(new RegExp("\\[\\s*"+n+"|"+n+"\\s*\\]")))return pe="atom","block";if(ad.test(n)&&(An(e)&&e.string.match(/=/)||!An(e)&&!e.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!Zi(Kt(e))))return pe="variable",Hn(Kt(e))?"block":re(i,e,"block",0);if(mt(e))return re(i,e,"block")}if(pe=="block-keyword")return pe="keyword",e.current(/(if|unless)/)&&!An(e)?"block":re(i,e,"block");if(n=="return")return re(i,e,"block",0);if(pe=="variable"&&e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return re(i,e,"block")}return i.context.type};It.parens=function(t,e,i){if(t=="(")return re(i,e,"parens");if(t==")")return i.context.prev.type=="parens"?aO(i,e):e.string.match(/^[a-z][\w-]*\(/i)&&mt(e)||Hn(Kt(e))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Kt(e))||!e.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&Zi(Kt(e))?re(i,e,"block"):e.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||e.string.match(/^\s*(\(|\)|[0-9])/)||e.string.match(/^\s+[a-z][\w-]*\(/i)||e.string.match(/^\s+[\$-]?[a-z]/i)?re(i,e,"block",0):mt(e)?re(i,e,"block"):re(i,e,"block",0);if(t&&t.charAt(0)=="@"&&sO(e.current().slice(1))&&(pe="variable"),t=="word"){var n=e.current();pe=$O(n),pe=="tag"&&ad.test(n)&&(pe="variable"),(pe=="property"||n=="to")&&(pe="atom")}return t=="variable-name"?re(i,e,"variableName"):dX(t,e)?re(i,e,"pseudo"):i.context.type};It.vendorPrefixes=function(t,e,i){return t=="word"?(pe="property",re(i,e,"block",0)):aO(i,e)};It.pseudo=function(t,e,i){return sO(Kt(e.string))?sd(t,e,i):(e.match(/^[a-z-]+/),pe="variableName.special",mt(e)?re(i,e,"block"):aO(i,e))};It.atBlock=function(t,e,i){if(t=="(")return re(i,e,"atBlock_parens");if(fX(t,e))return re(i,e,"block");if(hX(t,e))return re(i,e,"interpolation");if(t=="word"){var n=e.current().toLowerCase();if(/^(only|not|and|or)$/.test(n)?pe="keyword":z4.hasOwnProperty(n)?pe="tag":V4.hasOwnProperty(n)?pe="attribute":q4.hasOwnProperty(n)?pe="property":R4.hasOwnProperty(n)?pe="string.special":pe=$O(e.current()),pe=="tag"&&mt(e))return re(i,e,"block")}return t=="operator"&&/^(not|and|or)$/.test(e.current())&&(pe="keyword"),i.context.type};It.atBlock_parens=function(t,e,i){if(t=="{"||t=="}")return i.context.type;if(t==")")return mt(e)?re(i,e,"block"):re(i,e,"atBlock");if(t=="word"){var n=e.current().toLowerCase();return pe=$O(n),/^(max|min)/.test(n)&&(pe="property"),pe=="tag"&&(ad.test(n)?pe="variable":pe="atom"),i.context.type}return It.atBlock(t,e,i)};It.keyframes=function(t,e,i){return e.indentation()=="0"&&(t=="}"&&An(e)||t=="]"||t=="hash"||t=="qualifier"||Zi(e.current()))?sd(t,e,i):t=="{"?re(i,e,"keyframes"):t=="}"?An(e)?aO(i,e,!0):re(i,e,"keyframes"):t=="unit"&&/^[0-9]+\%$/.test(e.current())?re(i,e,"keyframes"):t=="word"&&(pe=$O(e.current()),pe=="block-keyword")?(pe="keyword",re(i,e,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(t)?re(i,e,mt(e)?"block":"atBlock"):t=="mixin"?re(i,e,"block",0):i.context.type};It.interpolation=function(t,e,i){return t=="{"&&aO(i,e)&&re(i,e,"block"),t=="}"?e.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||e.string.match(/^\s*[a-z]/i)&&Zi(Kt(e))?re(i,e,"block"):!e.string.match(/^(\{|\s*\&)/)||e.match(/\s*[\w-]/,!1)?re(i,e,"block",0):re(i,e,"block"):t=="variable-name"?re(i,e,"variableName",0):(t=="word"&&(pe=$O(e.current()),pe=="tag"&&(pe="atom")),i.context.type)};It.extend=function(t,e,i){return t=="["||t=="="?"extend":t=="]"?aO(i,e):t=="word"?(pe=$O(e.current()),"extend"):aO(i,e)};It.variableName=function(t,e,i){return t=="string"||t=="["||t=="]"||e.current().match(/^(\.|\$)/)?(e.current().match(/^\.[\w-]+/i)&&(pe="variable"),"variableName"):sd(t,e,i)};const L4={name:"stylus",startState:function(){return{tokenize:null,state:"block",context:new uX("block",0,null)}},token:function(t,e){return!e.tokenize&&t.eatSpace()?null:(Vn=(e.tokenize||A4)(t,e),Vn&&typeof Vn=="object"&&(Hm=Vn[1],Vn=Vn[0]),pe=Vn,e.state=It[e.state](Hm,t,e),pe)},indent:function(t,e,i){var n=t.context,O=e&&e.charAt(0),r=n.indent,a=Kt(e),s=n.line.indent,o=t.context.prev?t.context.prev.line.firstWord:"",l=t.context.prev?t.context.prev.line.indent:s;return n.prev&&(O=="}"&&(n.type=="block"||n.type=="atBlock"||n.type=="keyframes")||O==")"&&(n.type=="parens"||n.type=="atBlock_parens")||O=="{"&&n.type=="at")?r=n.indent-i.unit:/(\})/.test(O)||(/@|\$|\d/.test(O)||/^\{/.test(e)||/^\s*\/(\/|\*)/.test(e)||/^\s*\/\*/.test(o)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(e)||/^(\+|-)?[a-z][\w-]*\(/i.test(e)||/^return/.test(e)||Hn(a)?r=s:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(O)||Zi(a)?/\,\s*$/.test(o)?r=l:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(o)||Zi(o)?r=s<=l?l:l+i.unit:r=s:!/,\s*$/.test(e)&&(Jm(a)||sO(a))&&(Hn(o)?r=s<=l?l:l+i.unit:/^\{/.test(o)?r=s<=l?s:l+i.unit:Jm(o)||sO(o)?r=s>=l?l:s:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(o)||/=\s*$/.test(o)||Zi(o)||/^\$[\w-\.\[\]\'\"]/.test(o)?r=l+i.unit:r=s)),r},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:k4}};var D4=["align","block","br(_if|_table|_on_(cast|data|func|i31|null))?","call(_indirect|_ref)?","current_memory","\\bdata\\b","catch(_all)?","delegate","drop","elem","else","end","export","\\bextern\\b","\\bfunc\\b","global(\\.(get|set))?","if","import","local(\\.(get|set|tee))?","loop","module","mut","nop","offset","param","result","rethrow","return(_call(_indirect|_ref)?)?","select","start","table(\\.(size|get|set|size|grow|fill|init|copy))?","then","throw","try","type","unreachable","unwind","i(32|64)\\.(store(8|16)|(load(8|16)_[su]))","i64\\.(load32_[su]|store32)","[fi](32|64)\\.(const|load|store)","f(32|64)\\.(abs|add|ceil|copysign|div|eq|floor|[gl][et]|max|min|mul|nearest|neg?|sqrt|sub|trunc)","i(32|64)\\.(a[dn]d|c[lt]z|(div|rem)_[su]|eqz?|[gl][te]_[su]|mul|ne|popcnt|rot[lr]|sh(l|r_[su])|sub|x?or)","i64\\.extend_[su]_i32","i32\\.wrap_i64","i(32|64)\\.trunc_f(32|64)_[su]","f(32|64)\\.convert_i(32|64)_[su]","f64\\.promote_f32","f32\\.demote_f64","f32\\.reinterpret_i32","i32\\.reinterpret_f32","f64\\.reinterpret_i64","i64\\.reinterpret_f64","memory(\\.((atomic\\.(notify|wait(32|64)))|grow|size))?","i64.atomic\\.(load32_u|store32|rmw32\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u)","i(32|64)\\.atomic\\.(load((8|16)_u)?|store(8|16)?|rmw(\\.(a[dn]d|sub|x?or|(cmp)?xchg)|(8|16)\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u))","v128\\.load(8x8|16x4|32x2)_[su]","v128\\.load(8|16|32|64)_splat","v128\\.(load|store)(8|16|32|64)_lane","v128\\.load(32|64)_zero","v128.(load|store|const|not|andnot|and|or|xor|bitselect|any_true)","i(8x16|16x8)\\.(extract_lane_[su]|(add|sub)_sat_[su]|avgr_u)","i(8x16|16x8|32x4|64x2)\\.(neg|add|sub|abs|shl|shr_[su]|all_true|bitmask|eq|ne|[lg][te]_s)","(i(8x16|16x8|32x4|64x2)|f(32x4|64x2)).(splat|replace_lane)","i(8x16|16x8|32x4)\\.(([lg][te]_u)|((min|max)_[su]))","f(32x4|64x2)\\.(neg|add|sub|abs|nearest|eq|ne|[lg][te]|sqrt|mul|div|min|max|ceil|floor|trunc)","[fi](32x4|64x2)\\.extract_lane","i8x16\\.(shuffle|swizzle|popcnt|narrow_i16x8_[su])","i16x8\\.(narrow_i32x4_[su]|mul|extadd_pairwise_i8x16_[su]|q15mulr_sat_s)","i16x8\\.(extend|extmul)_(low|high)_i8x16_[su]","i32x4\\.(mul|dot_i16x8_s|trunc_sat_f64x2_[su]_zero)","i32x4\\.((extend|extmul)_(low|high)_i16x8_|trunc_sat_f32x4_|extadd_pairwise_i16x8_)[su]","i64x2\\.(mul|(extend|extmul)_(low|high)_i32x4_[su])","f32x4\\.(convert_i32x4_[su]|demote_f64x2_zero)","f64x2\\.(promote_low_f32x4|convert_low_i32x4_[su])","\\bany\\b","array\\.len","(array|struct)(\\.(new_(default_)?with_rtt|get(_[su])?|set))?","\\beq\\b","field","i31\\.(new|get_[su])","\\bnull\\b","ref(\\.(([ai]s_(data|func|i31))|cast|eq|func|(is_|as_non_)?null|test))?","rtt(\\.(canon|sub))?"];const M4=px({start:[{regex:new RegExp(D4.join("|")),token:"keyword"},{regex:/\b((any|data|eq|extern|i31|func)ref|[fi](32|64)|i(8|16))\b/,token:"atom"},{regex:/\b(funcref|externref|[fi](32|64))\b/,token:"atom"},{regex:/\$([a-zA-Z0-9_`\+\-\*\/\\\^~=<>!\?@#$%&|:\.]+)/,token:"variable"},{regex:/"(?:[^"\\\x00-\x1f\x7f]|\\[nt\\'"]|\\[0-9a-fA-F][0-9a-fA-F])*"/,token:"string"},{regex:/\(;.*?/,token:"comment",next:"comment"},{regex:/;;.*$/,token:"comment"},{regex:/\(/,indent:!0},{regex:/\)/,dedent:!0}],comment:[{regex:/.*?;\)/,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"wast",dontIndentStates:["comment"]}});function $X(t){function e(u,f){u.cmdState.push(f)}function i(u){return u.cmdState.length>0?u.cmdState[u.cmdState.length-1]:null}function n(u){var f=u.cmdState.pop();f&&f.closeBracket()}function O(u){for(var f=u.cmdState,d=f.length-1;d>=0;d--){var p=f[d];if(p.name!="DEFAULT")return p}return{styleIdentifier:function(){return null}}}function r(u,f,d){return function(){this.name=u,this.bracketNo=0,this.style=f,this.styles=d,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var a={};a.importmodule=r("importmodule","tag",["string","builtin"]),a.documentclass=r("documentclass","tag",["","atom"]),a.usepackage=r("usepackage","tag",["atom"]),a.begin=r("begin","tag",["atom"]),a.end=r("end","tag",["atom"]),a.label=r("label","tag",["atom"]),a.ref=r("ref","tag",["atom"]),a.eqref=r("eqref","tag",["atom"]),a.cite=r("cite","tag",["atom"]),a.bibitem=r("bibitem","tag",["atom"]),a.Bibitem=r("Bibitem","tag",["atom"]),a.RBibitem=r("RBibitem","tag",["atom"]),a.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function s(u,f){u.f=f}function o(u,f){var d;if(u.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var p=u.current().slice(1);return d=a.hasOwnProperty(p)?a[p]:a.DEFAULT,d=new d,e(f,d),s(f,c),d.style}if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/\\]/))return"tag";if(u.match("\\["))return s(f,function(P,m){return l(P,m,"\\]")}),"keyword";if(u.match("\\("))return s(f,function(P,m){return l(P,m,"\\)")}),"keyword";if(u.match("$$"))return s(f,function(P,m){return l(P,m,"$$")}),"keyword";if(u.match("$"))return s(f,function(P,m){return l(P,m,"$")}),"keyword";var Q=u.next();if(Q=="%")return u.skipToEnd(),"comment";if(Q=="}"||Q=="]"){if(d=i(f),d)d.closeBracket(Q),s(f,c);else return"error";return"bracket"}else return Q=="{"||Q=="["?(d=a.DEFAULT,d=new d,e(f,d),"bracket"):/\d/.test(Q)?(u.eatWhile(/[\w.%]/),"atom"):(u.eatWhile(/[\w\-_]/),d=O(f),d.name=="begin"&&(d.argument=u.current()),d.styleIdentifier())}function l(u,f,d){if(u.eatSpace())return null;if(d&&u.match(d))return s(f,o),"keyword";if(u.match(/^\\[a-zA-Z@]+/))return"tag";if(u.match(/^[a-zA-Z]+/))return"variableName.special";if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/]/)||u.match(/^[\^_&]/))return"tag";if(u.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(u.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var p=u.next();return p=="{"||p=="}"||p=="["||p=="]"||p=="("||p==")"?"bracket":p=="%"?(u.skipToEnd(),"comment"):"error"}function c(u,f){var d=u.peek(),p;return d=="{"||d=="["?(p=i(f),p.openBracket(d),u.eat(d),s(f,o),"bracket"):/[ \t\r]/.test(d)?(u.eat(d),null):(s(f,o),n(f),o(u,f))}return{name:"stex",startState:function(){var u=t?function(f,d){return l(f,d)}:o;return{cmdState:[],f:u}},copyState:function(u){return{cmdState:u.cmdState.slice(),f:u.f}},token:function(u,f){return f.f(u,f)},blankLine:function(u){u.f=o,u.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const B4=$X(!1);$X(!0);function F4(t){return new RegExp("^(("+t.join(")|(")+"))\\b","i")}var pX=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],H4=F4(pX),K4=new RegExp("^[_A-Za-z¡-][_A-Za-z0-9¡-]*");function J4(t){return t.eatSpace()?null:t.match("//")?(t.skipToEnd(),"comment"):t.match(/^[0-9\.+-]/,!1)&&(t.match(/^[+-]?0x[0-9a-fA-F]+/)||t.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/)||t.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))?"number":t.match(/^"([^"]|(""))*"/)||t.match(/^'([^']|(''))*'/)?"string":t.match(H4)?"keyword":t.match(K4)?"variable":(t.next(),null)}const e8={name:"protobuf",token:J4,languageData:{autocomplete:pX}};function QX(t){var e=[],i="",n={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},O={};function r(){i="#",O.al="variable",O.ah="variable",O.ax="variable",O.eax="variableName.special",O.rax="variableName.special",O.bl="variable",O.bh="variable",O.bx="variable",O.ebx="variableName.special",O.rbx="variableName.special",O.cl="variable",O.ch="variable",O.cx="variable",O.ecx="variableName.special",O.rcx="variableName.special",O.dl="variable",O.dh="variable",O.dx="variable",O.edx="variableName.special",O.rdx="variableName.special",O.si="variable",O.esi="variableName.special",O.rsi="variableName.special",O.di="variable",O.edi="variableName.special",O.rdi="variableName.special",O.sp="variable",O.esp="variableName.special",O.rsp="variableName.special",O.bp="variable",O.ebp="variableName.special",O.rbp="variableName.special",O.ip="variable",O.eip="variableName.special",O.rip="variableName.special",O.cs="keyword",O.ds="keyword",O.ss="keyword",O.es="keyword",O.fs="keyword",O.gs="keyword"}function a(){i="@",n.syntax="builtin",O.r0="variable",O.r1="variable",O.r2="variable",O.r3="variable",O.r4="variable",O.r5="variable",O.r6="variable",O.r7="variable",O.r8="variable",O.r9="variable",O.r10="variable",O.r11="variable",O.r12="variable",O.sp="variableName.special",O.lr="variableName.special",O.pc="variableName.special",O.r13=O.sp,O.r14=O.lr,O.r15=O.pc,e.push(function(l,c){if(l==="#")return c.eatWhile(/\w/),"number"})}t==="x86"?r():(t==="arm"||t==="armv6")&&a();function s(l,c){for(var u=!1,f;(f=l.next())!=null;){if(f===c&&!u)return!1;u=!u&&f==="\\"}return u}function o(l,c){for(var u=!1,f;(f=l.next())!=null;){if(f==="/"&&u){c.tokenize=null;break}u=f==="*"}return"comment"}return{name:"gas",startState:function(){return{tokenize:null}},token:function(l,c){if(c.tokenize)return c.tokenize(l,c);if(l.eatSpace())return null;var u,f,d=l.next();if(d==="/"&&l.eat("*"))return c.tokenize=o,o(l,c);if(d===i)return l.skipToEnd(),"comment";if(d==='"')return s(l,'"'),"string";if(d===".")return l.eatWhile(/\w/),f=l.current().toLowerCase(),u=n[f],u||null;if(d==="=")return l.eatWhile(/\w/),"tag";if(d==="{"||d==="}")return"bracket";if(/\d/.test(d))return d==="0"&&l.eat("x")?(l.eatWhile(/[0-9a-fA-F]/),"number"):(l.eatWhile(/\d/),"number");if(/\w/.test(d))return l.eatWhile(/\w/),l.eat(":")?"tag":(f=l.current().toLowerCase(),u=O[f],u||null);for(var p=0;p<e.length;p++)if(u=e[p](d,l,c),u)return u},languageData:{commentTokens:{line:i,block:{open:"/*",close:"*/"}}}}}const t8=QX("x86");QX("arm");function mX(t){var e=t.statementIndentUnit,i=t.dontAlignCalls,n=t.noIndentKeywords||[],O=t.multiLineStrings,r=t.hooks||{};function a(X){for(var A={},q=X.split(" "),W=0;W<q.length;++W)A[q[W]]=!0;return A}var s=a("accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor"),o=/[\+\-\*\/!~&|^%=?:]/,l=/[\[\]{}()]/,c=/\d[0-9_]*/,u=/\d*\s*'s?d\s*\d[0-9_]*/i,f=/\d*\s*'s?b\s*[xz01][xz01_]*/i,d=/\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i,p=/\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i,Q=/(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i,P=/^((\w+)|[)}\]])/,m=/[)}\]]/,S,x,z=a("case checker class clocking config function generate interface module package primitive program property specify sequence table task"),Y={};for(var U in z)Y[U]="end"+U;Y.begin="end",Y.casex="endcase",Y.casez="endcase",Y.do="while",Y.fork="join;join_any;join_none",Y.covergroup="endgroup";for(var V in n){var U=n[V];Y[U]&&(Y[U]=void 0)}var G=a("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while");function D(X,A){var q=X.peek(),W;if(r[q]&&(W=r[q](X,A))!=!1||r.tokenBase&&(W=r.tokenBase(X,A))!=!1)return W;if(/[,;:\.]/.test(q))return S=X.next(),null;if(l.test(q))return S=X.next(),"bracket";if(q=="`")return X.next(),X.eatWhile(/[\w\$_]/)?"def":null;if(q=="$")return X.next(),X.eatWhile(/[\w\$_]/)?"meta":null;if(q=="#")return X.next(),X.eatWhile(/[\d_.]/),"def";if(q=='"')return X.next(),A.tokenize=E(q),A.tokenize(X,A);if(q=="/"){if(X.next(),X.eat("*"))return A.tokenize=_,_(X,A);if(X.eat("/"))return X.skipToEnd(),"comment";X.backUp(1)}if(X.match(Q)||X.match(u)||X.match(f)||X.match(d)||X.match(p)||X.match(c)||X.match(Q))return"number";if(X.eatWhile(o))return"meta";if(X.eatWhile(/[\w\$_]/)){var M=X.current();return s[M]?(Y[M]&&(S="newblock"),G[M]&&(S="newstatement"),x=M,"keyword"):"variable"}return X.next(),null}function E(X){return function(A,q){for(var W=!1,M,ae=!1;(M=A.next())!=null;){if(M==X&&!W){ae=!0;break}W=!W&&M=="\\"}return(ae||!(W||O))&&(q.tokenize=D),"string"}}function _(X,A){for(var q=!1,W;W=X.next();){if(W=="/"&&q){A.tokenize=D;break}q=W=="*"}return"comment"}function R(X,A,q,W,M){this.indented=X,this.column=A,this.type=q,this.align=W,this.prev=M}function T(X,A,q){var W=X.indented,M=new R(W,A,q,null,X.context);return X.context=M}function y(X){var A=X.context.type;return(A==")"||A=="]"||A=="}")&&(X.indented=X.context.indented),X.context=X.context.prev}function w(X,A){if(X==A)return!0;var q=A.split(";");for(var W in q)if(X==q[W])return!0;return!1}function Z(){var X=[];for(var A in Y)if(Y[A]){var q=Y[A].split(";");for(var W in q)X.push(q[W])}var M=new RegExp("[{}()\\[\\]]|("+X.join("|")+")$");return M}return{name:"verilog",startState:function(X){var A={tokenize:null,context:new R(-X,0,"top",!1),indented:0,startOfLine:!0};return r.startState&&r.startState(A),A},token:function(X,A){var q=A.context;if(X.sol()&&(q.align==null&&(q.align=!1),A.indented=X.indentation(),A.startOfLine=!0),r.token){var W=r.token(X,A);if(W!==void 0)return W}if(X.eatSpace())return null;S=null,x=null;var W=(A.tokenize||D)(X,A);if(W=="comment"||W=="meta"||W=="variable")return W;if(q.align==null&&(q.align=!0),S==q.type)y(A);else if(S==";"&&q.type=="statement"||q.type&&w(x,q.type))for(q=y(A);q&&q.type=="statement";)q=y(A);else if(S=="{")T(A,X.column(),"}");else if(S=="[")T(A,X.column(),"]");else if(S=="(")T(A,X.column(),")");else if(q&&q.type=="endcase"&&S==":")T(A,X.column(),"statement");else if(S=="newstatement")T(A,X.column(),"statement");else if(S=="newblock"&&!(x=="function"&&q&&(q.type=="statement"||q.type=="endgroup"))){if(!(x=="task"&&q&&q.type=="statement")){var M=Y[x];T(A,X.column(),M)}}return A.startOfLine=!1,W},indent:function(X,A,q){if(X.tokenize!=D&&X.tokenize!=null)return null;if(r.indent){var W=r.indent(X);if(W>=0)return W}var M=X.context,ae=A&&A.charAt(0);M.type=="statement"&&ae=="}"&&(M=M.prev);var ze=!1,Te=A.match(P);return Te&&(ze=w(Te[0],M.type)),M.type=="statement"?M.indented+(ae=="{"?0:e||q.unit):m.test(M.type)&&M.align&&!i?M.column+(ze?0:1):M.type==")"&&!ze?M.indented+(e||q.unit):M.indented+(ze?0:q.unit)},languageData:{indentOnInput:Z(),commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}}const i8=mX({});var Hc={"|":"link",">":"property",$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"contentSeparator","/":"property","/-":"property","@":"variableName.special","@-":"variableName.special","@++":"variableName.special","@+=":"variableName.special","@+=-":"variableName.special","@--":"variableName.special","@-=":"variableName.special","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag","^":"attribute","^^":"attribute","^!":"attribute","*":"variable","**":"variable","\\":"keyword",'"':"comment"},eg={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},Kc=3,tg=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,n8=/^[! ] */,O8=/^\/[\/\*]/;mX({hooks:{electricInput:!1,token:function(t,e){var i=void 0,n;if(t.sol()&&!e.tlvInBlockComment){t.peek()=="\\"&&(i="def",t.skipToEnd(),t.string.match(/\\SV/)?e.tlvCodeActive=!1:t.string.match(/\\TLV/)&&(e.tlvCodeActive=!0)),e.tlvCodeActive&&t.pos==0&&e.indented==0&&(n=t.match(n8,!1))&&(e.indented=n[0].length);var O=e.indented,r=O/Kc;if(r<=e.tlvIndentationStyle.length){var a=t.string.length==O,s=r*Kc;if(s<t.string.length){var o=t.string.slice(s),l=o[0];eg[l]&&(n=o.match(tg))&&Hc[n[1]]&&(O+=Kc,l=="\\"&&s>0||(e.tlvIndentationStyle[r]=eg[l],r++))}if(!a)for(;e.tlvIndentationStyle.length>r;)e.tlvIndentationStyle.pop()}e.tlvNextIndent=O}if(e.tlvCodeActive){var n;if(i===void 0)if(e.tlvInBlockComment)t.match(/^.*?\*\//)?e.tlvInBlockComment=!1:t.skipToEnd(),i="comment";else if((n=t.match(O8))&&!e.tlvInBlockComment)n[0]=="//"?t.skipToEnd():e.tlvInBlockComment=!0,i="comment";else if(n=t.match(tg)){var c=n[1],u=n[2];Hc.hasOwnProperty(c)&&(u.length>0||t.eol())?i=Hc[c]:t.backUp(t.current().length-1)}else t.match(/^\t+/)?i="invalid":t.match(/^[\[\]{}\(\);\:]+/)?i="meta":(n=t.match(/^[mM]4([\+_])?[\w\d_]*/))?i=n[1]=="+"?"keyword.special":"keyword":t.match(/^ +/)?t.eol()&&(i="error"):t.match(/^[\w\d_]+/)?i="number":t.next()}else t.match(/^[mM]4([\w\d_]*)/)&&(i="keyword");return i},indent:function(t){return t.tlvCodeActive==!0?t.tlvNextIndent:-1},startState:function(t){t.tlvIndentationStyle=[],t.tlvCodeActive=!0,t.tlvNextIndent=-1,t.tlvInBlockComment=!1}}});function od(t){for(var e={},i=t.split(","),n=0;n<i.length;++n){var O=i[n].toUpperCase(),r=i[n].charAt(0).toUpperCase()+i[n].slice(1);e[i[n]]=!0,e[O]=!0,e[r]=!0}return e}function ig(t){return t.eatWhile(/[\w\$_]/),"meta"}var r8=od("null"),ng={"`":ig,$:ig},gX=!1,a8=od("abs,access,after,alias,all,and,architecture,array,assert,attribute,begin,block,body,buffer,bus,case,component,configuration,constant,disconnect,downto,else,elsif,end,end block,end case,end component,end for,end generate,end if,end loop,end process,end record,end units,entity,exit,file,for,function,generate,generic,generic map,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage,literal,loop,map,mod,nand,new,next,nor,null,of,on,open,or,others,out,package,package body,port,port map,postponed,procedure,process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,signal,sla,sll,sra,srl,subtype,then,to,transport,type,unaffected,units,until,use,variable,wait,when,while,with,xnor,xor"),s8=od("architecture,entity,begin,case,port,else,elsif,end,for,function,if"),Og=/[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/,si;function zo(t,e){var i=t.next();if(ng[i]){var n=ng[i](t,e);if(n!==!1)return n}if(i=='"')return e.tokenize=l8(i),e.tokenize(t,e);if(i=="'")return e.tokenize=o8(i),e.tokenize(t,e);if(/[\[\]{}\(\),;\:\.]/.test(i))return si=i,null;if(/[\d']/.test(i))return t.eatWhile(/[\w\.']/),"number";if(i=="-"&&t.eat("-"))return t.skipToEnd(),"comment";if(Og.test(i))return t.eatWhile(Og),"operator";t.eatWhile(/[\w\$_]/);var O=t.current();return a8.propertyIsEnumerable(O.toLowerCase())?(s8.propertyIsEnumerable(O)&&(si="newstatement"),"keyword"):r8.propertyIsEnumerable(O)?"atom":"variable"}function o8(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="--"}return(r||!(n||gX))&&(i.tokenize=zo),"string"}}function l8(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="--"}return(r||!(n||gX))&&(i.tokenize=zo),"string.special"}}function PX(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function ks(t,e,i){return t.context=new PX(t.indented,e,i,null,t.context)}function Ur(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}const c8={name:"vhdl",startState:function(t){return{tokenize:null,context:new PX(-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return null;si=null;var n=(e.tokenize||zo)(t,e);if(n=="comment"||n=="meta")return n;if(i.align==null&&(i.align=!0),(si==";"||si==":")&&i.type=="statement")Ur(e);else if(si=="{")ks(e,t.column(),"}");else if(si=="[")ks(e,t.column(),"]");else if(si=="(")ks(e,t.column(),")");else if(si=="}"){for(;i.type=="statement";)i=Ur(e);for(i.type=="}"&&(i=Ur(e));i.type=="statement";)i=Ur(e)}else si==i.type?Ur(e):(i.type=="}"||i.type=="top"||i.type=="statement"&&si=="newstatement")&&ks(e,t.column(),"statement");return e.startOfLine=!1,n},indent:function(t,e,i){if(t.tokenize!=zo&&t.tokenize!=null)return 0;var n=e&&e.charAt(0),O=t.context,r=n==O.type;return O.type=="statement"?O.indented+(n=="{"?0:i.unit):O.align?O.column+(r?0:1):O.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"--"}}};function pr(t,e){return new RegExp((e?"":"^")+"(?:"+t.join("|")+")"+(e?"$":"\\b"))}function ln(t,e,i){return i.tokenize.push(t),t(e,i)}var zf=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,Uf=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,SX=/^(?:\[\][?=]?)/,u8=/^(?:\.(?:\.{2})?|->|[?:])/,Jr=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,Ds=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,f8=pr(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),h8=pr(["true","false","nil","self"]),d8=["def","fun","macro","class","module","struct","lib","enum","union","do","for"],$8=pr(d8),p8=["if","unless","case","while","until","begin","then"],Q8=pr(p8),bX=["end","else","elsif","rescue","ensure"],m8=pr(bX),yX=["\\)","\\}","\\]"],g8=new RegExp("^(?:"+yX.join("|")+")$"),rg={def:ag,fun:ag,macro:P8,class:qO,module:qO,struct:qO,lib:qO,enum:qO,union:qO},Jc={"[":"]","{":"}","(":")","<":">"};function ld(t,e){if(t.eatSpace())return null;if(e.lastToken!="\\"&&t.match("{%",!1))return ln(oO("%","%"),t,e);if(e.lastToken!="\\"&&t.match("{{",!1))return ln(oO("{","}"),t,e);if(t.peek()=="#")return t.skipToEnd(),"comment";var i;if(t.match(Jr))return t.eat(/[?!]/),i=t.current(),t.eat(":")?"atom":e.lastToken=="."?"property":f8.test(i)?($8.test(i)?!(i=="fun"&&e.blocks.indexOf("lib")>=0)&&!(i=="def"&&e.lastToken=="abstract")&&(e.blocks.push(i),e.currentIndent+=1):(e.lastStyle=="operator"||!e.lastStyle)&&Q8.test(i)?(e.blocks.push(i),e.currentIndent+=1):i=="end"&&(e.blocks.pop(),e.currentIndent-=1),rg.hasOwnProperty(i)&&e.tokenize.push(rg[i]),"keyword"):h8.test(i)?"atom":"variable";if(t.eat("@"))return t.peek()=="["?ln(ba("[","]","meta"),t,e):(t.eat("@"),t.match(Jr)||t.match(Ds),"propertyName");if(t.match(Ds))return"tag";if(t.eat(":"))return t.eat('"')?ln(eu('"',"atom",!1),t,e):t.match(Jr)||t.match(Ds)||t.match(zf)||t.match(Uf)||t.match(SX)?"atom":(t.eat(":"),"operator");if(t.eat('"'))return ln(eu('"',"string",!0),t,e);if(t.peek()=="%"){var n="string",O=!0,r;if(t.match("%r"))n="string.special",r=t.next();else if(t.match("%w"))O=!1,r=t.next();else if(t.match("%q"))O=!1,r=t.next();else if(r=t.match(/^%([^\w\s=])/))r=r[1];else{if(t.match(/^%[a-zA-Z_\u009F-\uFFFF][\w\u009F-\uFFFF]*/))return"meta";if(t.eat("%"))return"operator"}return Jc.hasOwnProperty(r)&&(r=Jc[r]),ln(eu(r,n,O),t,e)}return(i=t.match(/^<<-('?)([A-Z]\w*)\1/))?ln(S8(i[2],!i[1]),t,e):t.eat("'")?(t.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),t.eat("'"),"atom"):t.eat("0")?(t.eat("x")?t.match(/^[0-9a-fA-F_]+/):t.eat("o")?t.match(/^[0-7_]+/):t.eat("b")&&t.match(/^[01_]+/),"number"):t.eat(/^\d/)?(t.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/),"number"):t.match(zf)?(t.eat("="),"operator"):t.match(Uf)||t.match(u8)?"operator":(i=t.match(/[({[]/,!1))?(i=i[0],ln(ba(i,Jc[i],null),t,e)):t.eat("\\")?(t.next(),"meta"):(t.next(),null)}function ba(t,e,i,n){return function(O,r){if(!n&&O.match(t))return r.tokenize[r.tokenize.length-1]=ba(t,e,i,!0),r.currentIndent+=1,i;var a=ld(O,r);return O.current()===e&&(r.tokenize.pop(),r.currentIndent-=1,a=i),a}}function oO(t,e,i){return function(n,O){return!i&&n.match("{"+t)?(O.currentIndent+=1,O.tokenize[O.tokenize.length-1]=oO(t,e,!0),"meta"):n.match(e+"}")?(O.currentIndent-=1,O.tokenize.pop(),"meta"):ld(n,O)}}function P8(t,e){if(t.eatSpace())return null;var i;if(i=t.match(Jr)){if(i=="def")return"keyword";t.eat(/[?!]/)}return e.tokenize.pop(),"def"}function ag(t,e){return t.eatSpace()?null:(t.match(Jr)?t.eat(/[!?]/):t.match(zf)||t.match(Uf)||t.match(SX),e.tokenize.pop(),"def")}function qO(t,e){return t.eatSpace()?null:(t.match(Ds),e.tokenize.pop(),"def")}function eu(t,e,i){return function(n,O){for(var r=!1;n.peek();)if(r)n.next(),r=!1;else{if(n.match("{%",!1))return O.tokenize.push(oO("%","%")),e;if(n.match("{{",!1))return O.tokenize.push(oO("{","}")),e;if(i&&n.match("#{",!1))return O.tokenize.push(ba("#{","}","meta")),e;var a=n.next();if(a==t)return O.tokenize.pop(),e;r=i&&a=="\\"}return e}}function S8(t,e){return function(i,n){if(i.sol()&&(i.eatSpace(),i.match(t)))return n.tokenize.pop(),"string";for(var O=!1;i.peek();)if(O)i.next(),O=!1;else{if(i.match("{%",!1))return n.tokenize.push(oO("%","%")),"string";if(i.match("{{",!1))return n.tokenize.push(oO("{","}")),"string";if(e&&i.match("#{",!1))return n.tokenize.push(ba("#{","}","meta")),"string";O=i.next()=="\\"&&e}return"string"}}const b8={name:"crystal",startState:function(){return{tokenize:[ld],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(t,e){var i=e.tokenize[e.tokenize.length-1](t,e),n=t.current();return i&&i!="comment"&&(e.lastToken=n,e.lastStyle=i),i},indent:function(t,e,i){return e=e.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),m8.test(e)||g8.test(e)?i.unit*(t.currentIndent-1):i.unit*t.currentIndent},languageData:{indentOnInput:pr(yX.concat(bX),!0),commentTokens:{line:"#"}}};function y8(t){switch(t.toLowerCase()){case".js":case".mjs":case".cjs":case".es":case".es6":return jr();case".jsx":return jr({jsx:!0});case".ts":case".mts":case".cts":return jr({typescript:!0});case".tsx":return jr({jsx:!0,typescript:!0});case".py":case".pyw":case".pyi":case".pyx":case".pxd":return mZ();case".html":case".htm":case".xhtml":case".shtml":case".svelte":case".vue":case".astro":case".ejs":case".hbs":case".njk":case".jsp":case".erb":return Zh();case".css":case".scss":case".less":return Ib();case".sass":return de.define(X4);case".styl":return de.define(L4);case".json":case".jsonc":case".json5":case".jsonl":case".geojson":case".webmanifest":return Bz();case".md":case".mdx":case".markdown":case".mdown":case".mkd":return z5();case".sql":case".psql":case".mysql":case".plsql":return wU();case".rs":return DU();case".java":return Sq();case".php":case".phtml":return LV();case".kt":case".kts":return de.define(HW);case".groovy":case".gradle":return de.define(Lj);case".scala":case".sc":case".sbt":return de.define(BW);case".c":case".h":case".cpp":case".cc":case".cxx":case".hpp":case".hxx":case".hh":case".cs":case".m":case".mm":case".ino":return pq();case".d":return de.define(jC);case".dart":return de.define(ij);case".vb":return de.define(WE);case".go":return de.define(jj);case".rb":case".rbw":case".rake":case".gemspec":return de.define(uj);case".swift":return de.define(Rj);case".sh":case".bash":case".zsh":case".ksh":case".fish":case".env":return de.define(JQ);case".bat":case".cmd":return de.define(JQ);case".toml":return de.define(Uj);case".lua":return de.define(e2);case".pl":case".pm":return de.define(t2);case".r":return de.define(o2);case".jl":return de.define(SE);case".elm":return de.define(FC);case".ml":case".mli":case".res":case".resi":return de.define(bE);case".fs":case".fsi":case".fsx":return de.define(yE);case".hs":case".lhs":return de.define($2);case".clj":case".cljs":case".cljc":case".edn":return de.define(k2);case".erl":case".hrl":return de.define(H2);case".cr":return de.define(b8);case".dockerfile":return de.define(cC);case".diff":case".patch":return de.define(uC);case".ps1":case".psm1":case".psd1":return de.define(kC);case".nginx":return de.define(YC);case".properties":return de.define(jE);case".cmake":return de.define(GE);case".pas":case".pp":return de.define(ME);case".cbl":case".cob":return de.define(n4);case".f":case".for":case".f77":case".f90":case".f95":case".f03":case".f08":return de.define(c4);case".tcl":return de.define(d4);case".wat":case".wasm":return de.define(M4);case".tex":case".latex":case".ltx":return de.define(B4);case".proto":return de.define(e8);case".asm":case".s":return de.define(t8);case".v":case".sv":case".vh":return de.define(i8);case".vhd":case".vhdl":return de.define(c8);case".xml":case".xsl":case".xslt":case".xsd":case".dtd":case".svg":case".plist":case".rss":case".atom":case".wsdl":case".xaml":case".csproj":case".fsproj":case".vbproj":return $W();case".yaml":case".yml":return LW();default:return null}}const x8=g.lazy(()=>c1(()=>import("./EmbeddedEditor-DiXmHZpX.js"),__vite__mapDeps([0,1,2,3,4,5])).then(t=>({default:t.EmbeddedEditor}))),X8=[".md",".mdx",".markdown"],sg="file-viewer-markdown-render",w8=[".puml",".plantuml",".iuml",".pu"],og="file-viewer-plantuml-render",k8="https://kroki.io/plantuml/svg";function pO({file:t,rightContent:e,onRevealInTree:i,editMode:n,onToggleEdit:O}){const{t:r}=je(["terminal","common"]),[a,s]=g.useState("idle"),o=t.fileType==="text"?Uo(t.extension):t.extension.slice(1).toUpperCase(),{settings:l}=ug(),c=async()=>{s("loading");try{const u=await $e(fe("/api/files/open-in-editor"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,...l.externalEditorCommand&&{editorCommand:l.externalEditorCommand}})});if(!u.ok){const f=await u.json().catch(()=>({error:"Unknown error"}));console.error("Failed to open in editor:",f),s("error"),setTimeout(()=>s("idle"),2e3);return}s("success"),setTimeout(()=>s("idle"),2e3)}catch(u){console.error("Error opening file in editor:",u),s("error"),setTimeout(()=>s("idle"),2e3)}};return h.jsxs("div",{className:"file-viewer-header",children:[h.jsxs("div",{className:"file-viewer-header-left",children:[h.jsx("span",{className:"file-viewer-filename",children:t.filename}),h.jsxs("span",{className:"file-viewer-meta",children:[fg(t.size)," • ",o,t.content&&` • ${t.content.split(`
|
|
40
|
-
`).length} lines`]})]}),h.jsxs("div",{className:"file-viewer-header-right",children:[O&&t.fileType==="text"&&h.jsx("button",{className:`file-viewer-edit-btn${n?" active":""}`,onClick:O,title:r(n?"terminal:fileExplorer.exitEdit":"terminal:fileExplorer.editFile"),children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L3.463 11.1a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.25.25 0 00.108-.064l8.61-8.61a.25.25 0 000-.354l-1.086-1.086z"})})}),h.jsx("button",{className:`file-viewer-open-editor-btn ${a}`,onClick:c,disabled:a==="loading",title:r(a==="error"?"terminal:fileExplorer.failedToOpenEditor":a==="success"?"terminal:fileExplorer.openingInEditor":"terminal:fileExplorer.openInEditor"),children:a==="success"?h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 11-1.06-1.06l7.25-7.25a.75.75 0 011.06 0z"})}):a==="error"?h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})}):h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M1.5 1h6v1.5h-5v11h11v-5H15v6.5H0V1h1.5zm8 0H15v5.5h-1.5V3.56L7.28 9.78l-1.06-1.06L12.44 2.5H9.5V1z"})})}),i&&h.jsx("button",{className:"file-viewer-locate-btn",onClick:()=>i(t.path),title:r("terminal:fileExplorer.locateInTree"),children:h.jsx(F,{name:"target",size:14})}),e]})]})}function T8(){const[t,e]=g.useState(()=>{try{const n=localStorage.getItem(sg);return n===null?!0:n==="true"}catch{return!0}}),i=g.useCallback(()=>{e(n=>{const O=!n;try{localStorage.setItem(sg,String(O))}catch{}return O})},[]);return[t,i]}function v8(t){return X8.includes(t.toLowerCase())}function _8(t){return w8.includes(t.toLowerCase())}function R8(){const[t,e]=g.useState(()=>{try{const n=localStorage.getItem(og);return n===null?!0:n==="true"}catch{return!0}}),i=g.useCallback(()=>{e(n=>{const O=!n;try{localStorage.setItem(og,String(O))}catch{}return O})},[]);return[t,i]}function Y8(t){const e=new TextEncoder().encode(t);let i="";for(const n of e)i+=String.fromCharCode(n);return`data:image/svg+xml;base64,${window.btoa(i)}`}function Z8({file:t,onRevealInTree:e,scrollToLine:i,onSearchStateChange:n,editMode:O,onToggleEdit:r}){const a=g.useRef(null),s=g.useRef(null);g.useEffect(()=>{if(!a.current)return;const l=y8(t.extension),c=[ye.readOnly.of(!0),_T(),ZT(),bv(),lT(),Zv(),hT(),n_(),aS(wv,{fallback:!0}),W_,f_({top:!0}),Go.of([...K0,...X_,...mv])];l&&c.push(l);const u=ye.create({doc:t.content,extensions:c}),f=new K({state:u,parent:a.current});return s.current=f,()=>{f.destroy(),s.current=null}},[t.path,t.content,t.extension]),g.useEffect(()=>{const l=s.current;!l||!i||requestAnimationFrame(()=>{const c=l.state.doc.line(Math.min(i,l.state.doc.lines));l.dispatch({effects:K.scrollIntoView(c.from,{y:"center"})})})},[i]);const o=g.useCallback(l=>{if((l.ctrlKey||l.metaKey)&&l.key==="f"){l.preventDefault(),l.stopPropagation();const c=s.current;c&&(c.focus(),mh(c),requestAnimationFrame(()=>{const u=c.dom.querySelector(".cm-search input[main-field]");u&&u.focus()}))}},[]);return h.jsxs(h.Fragment,{children:[h.jsx(pO,{file:t,onRevealInTree:e,editMode:O,onToggleEdit:r}),h.jsx("div",{className:"file-viewer-content-wrapper file-viewer-cm-readonly",ref:a,tabIndex:0,onKeyDown:o})]})}function z8({file:t,onRevealInTree:e,renderMarkdown:i,onToggleRender:n,editMode:O,onToggleEdit:r}){const a=g.useRef(null),s=g.useRef(null),o=g.useRef(null),{t:l}=je(["terminal","common"]),[c,u]=g.useState("idle"),[f,d]=g.useState("idle"),[p,Q]=g.useState("idle"),[P,m]=g.useState("idle"),S=Qg({containerRef:o,isEnabled:!0,content:t.content});g.useEffect(()=>{if(!i&&a.current){const G=Uo(t.extension);hg(G).then(()=>{a.current&&dg(a.current)})}},[t,i]);const x=g.useCallback(async()=>{if(!s.current){console.error("Copy Rich Text: markdown content ref is not available"),u("error"),setTimeout(()=>u("idle"),2e3);return}try{const G=s.current.innerHTML,D=u1(G),E=s.current.innerText;await f1(D,E),u("copied"),setTimeout(()=>u("idle"),2e3)}catch(G){console.error("Copy Rich Text failed:",G),u("error"),setTimeout(()=>u("idle"),2e3)}},[]),z=g.useCallback(async()=>{if(!s.current){console.error("Copy HTML: markdown content ref is not available"),d("error"),setTimeout(()=>d("idle"),2e3);return}try{const G=s.current.innerHTML;await Ul(G),d("copied"),setTimeout(()=>d("idle"),2e3)}catch(G){console.error("Copy HTML failed:",G),d("error"),setTimeout(()=>d("idle"),2e3)}},[]),Y=g.useCallback(async()=>{try{await Ul(t.content),Q("copied"),setTimeout(()=>Q("idle"),2e3)}catch{Q("error"),setTimeout(()=>Q("idle"),2e3)}},[t.content]),U=g.useCallback(async()=>{try{await Ul(t.content),m("copied"),setTimeout(()=>m("idle"),2e3)}catch{m("error"),setTimeout(()=>m("idle"),2e3)}},[t.content]),V=h.jsxs("div",{className:"file-viewer-header-buttons",children:[i&&h.jsxs(h.Fragment,{children:[h.jsx("button",{className:`file-viewer-copy-html-btn ${c}`,onClick:x,title:l("terminal:fileExplorer.copyRichTextTitle"),children:l(c==="copied"?"terminal:fileExplorer.copied":c==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyRichText")}),h.jsx("button",{className:`file-viewer-copy-html-btn ${f}`,onClick:z,title:l("terminal:fileExplorer.copyHtmlTitle"),children:l(f==="copied"?"terminal:fileExplorer.copied":f==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyHtml")}),h.jsx("button",{className:`file-viewer-copy-html-btn ${p}`,onClick:Y,title:l("terminal:fileExplorer.copyMarkdownTitle"),children:l(p==="copied"?"terminal:fileExplorer.copied":p==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyMarkdown")}),h.jsx("button",{className:`file-viewer-copy-html-btn ${P}`,onClick:U,title:l("terminal:fileExplorer.copyOriginalTitle"),children:l(P==="copied"?"terminal:fileExplorer.copied":P==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyOriginal")})]}),h.jsx("button",{className:`file-viewer-render-toggle ${i?"active":""}`,onClick:n,title:l(i?"terminal:fileExplorer.showSource":"terminal:fileExplorer.renderMarkdown"),children:i?"</>":"Aa"})]});return h.jsxs(h.Fragment,{children:[h.jsx(pO,{file:t,onRevealInTree:e,rightContent:V,editMode:O,onToggleEdit:r}),h.jsxs("div",{className:"file-viewer-content-wrapper",ref:o,children:[i?h.jsx("div",{className:"file-viewer-markdown-wrapper",children:h.jsx("div",{className:"markdown-content",ref:s,children:h.jsx(h1,{remarkPlugins:[d1],children:t.content})})}):h.jsx("div",{className:"file-viewer-code-wrapper",children:h.jsx("pre",{className:"file-viewer-pre",children:h.jsx("code",{ref:a,className:"language-markdown",children:t.content})})}),h.jsx("div",{className:"file-viewer-scroll-indicator",title:`Line ${S.currentLine}/${S.totalLines}`,children:S.scrollPercentage===100?"END":S.scrollPercentage===0?"TOP":`${S.scrollPercentage}%`}),S.searchActive&&h.jsx(Wf,{query:S.searchQuery,onQueryChange:S.setSearchQuery,matchCount:S.searchMatches.length,currentIndex:S.currentMatchIndex,onNext:S.nextMatch,onPrev:S.prevMatch,onClose:S.clearSearch})]}),S.helpActive&&h.jsx(jf,{onClose:S.toggleHelp})]})}function U8({file:t,onRevealInTree:e,renderPlantUml:i,onToggleRender:n,editMode:O,onToggleEdit:r}){const{t:a}=je(["terminal"]),s=g.useRef(null),o=g.useRef(null),[l,c]=g.useState(null),[u,f]=g.useState(!1),[d,p]=g.useState(null),Q=Qg({containerRef:o,isEnabled:!0,content:t.content});g.useEffect(()=>{if(!i&&s.current){const m=Uo(t.extension);hg(m).then(()=>{s.current&&dg(s.current)})}},[t,i]),g.useEffect(()=>{if(!i)return;if(!t.content.trim()){c(null),p("Diagram is empty");return}const m=new AbortController;return f(!0),p(null),(async()=>{try{const x=await fetch(k8,{method:"POST",headers:{"Content-Type":"text/plain; charset=utf-8",Accept:"image/svg+xml"},body:t.content,signal:m.signal});if(!x.ok)throw new Error(`Render failed (${x.status})`);const z=await x.text();if(!z.includes("<svg"))throw new Error("Invalid SVG output");c(Y8(z))}catch(x){if(m.signal.aborted)return;const z=x instanceof Error?x.message:"Failed to render diagram";p(z),c(null)}finally{m.signal.aborted||f(!1)}})(),()=>m.abort()},[t.path,t.content,i]);const P=h.jsx("div",{className:"file-viewer-header-buttons",children:h.jsx("button",{className:`file-viewer-render-toggle ${i?"active":""}`,onClick:n,title:a(i?"terminal:fileExplorer.showSource":"terminal:fileExplorer.renderDiagram"),children:i?"</>":a("terminal:fileExplorer.diagram")})});return h.jsxs(h.Fragment,{children:[h.jsx(pO,{file:t,onRevealInTree:e,rightContent:P,editMode:O,onToggleEdit:r}),h.jsxs("div",{className:"file-viewer-content-wrapper",ref:o,children:[i?h.jsxs("div",{className:"file-viewer-diagram-wrapper",children:[u&&h.jsx("div",{className:"file-viewer-placeholder",children:a("terminal:fileExplorer.renderingDiagram")}),!u&&l&&h.jsx("img",{src:l,alt:t.filename,className:"file-viewer-diagram-image"}),!u&&d&&h.jsxs("div",{className:"file-viewer-diagram-error",children:[h.jsxs("div",{children:[a("terminal:fileExplorer.couldNotRender"),": ",d]}),h.jsx("button",{className:"file-viewer-render-toggle",onClick:n,children:a("terminal:fileExplorer.showSource")})]})]}):h.jsx("div",{className:"file-viewer-code-wrapper",children:h.jsx("pre",{className:"file-viewer-pre",children:h.jsx("code",{ref:s,className:"language-plaintext",children:t.content})})}),h.jsx("div",{className:"file-viewer-scroll-indicator",title:`Line ${Q.currentLine}/${Q.totalLines}`,children:Q.scrollPercentage===100?"END":Q.scrollPercentage===0?"TOP":`${Q.scrollPercentage}%`}),Q.searchActive&&h.jsx(Wf,{query:Q.searchQuery,onQueryChange:Q.setSearchQuery,matchCount:Q.searchMatches.length,currentIndex:Q.currentMatchIndex,onNext:Q.nextMatch,onPrev:Q.prevMatch,onClose:Q.clearSearch})]}),Q.helpActive&&h.jsx(jf,{onClose:Q.toggleHelp})]})}function q8({file:t,onRevealInTree:e}){const{t:i}=je(["common","terminal"]),n=()=>{if(t.dataUrl){const O=document.createElement("a");O.href=t.dataUrl,O.download=t.filename,O.click()}};return h.jsxs(h.Fragment,{children:[h.jsx(pO,{file:t,onRevealInTree:e,rightContent:h.jsx("button",{className:"file-viewer-download-btn",onClick:n,title:i("common:buttons.download"),children:i("common:buttons.download")})}),h.jsx("div",{className:"file-viewer-image-wrapper",children:t.dataUrl?h.jsx("img",{src:t.dataUrl,alt:t.filename,className:"file-viewer-image"}):h.jsx("div",{className:"file-viewer-placeholder",children:i("terminal:fileExplorer.failedToLoadImage")})})]})}function V8({file:t,onRevealInTree:e}){const{t:i}=je(["common","terminal"]),n=()=>{if(t.dataUrl){const O=document.createElement("a");O.href=t.dataUrl,O.download=t.filename,O.click()}};return h.jsxs(h.Fragment,{children:[h.jsx(pO,{file:t,onRevealInTree:e,rightContent:h.jsx("button",{className:"file-viewer-download-btn",onClick:n,title:i("common:buttons.download"),children:i("common:buttons.download")})}),h.jsx("div",{className:"file-viewer-pdf-wrapper",children:t.dataUrl?h.jsx("iframe",{src:t.dataUrl,title:t.filename,className:"file-viewer-pdf"}):h.jsx("div",{className:"file-viewer-placeholder",children:i("terminal:fileExplorer.failedToLoadPdf")})})]})}function W8({file:t,onRevealInTree:e}){const{t:i}=je(["terminal","common"]),n=()=>{if(t.dataUrl){const r=document.createElement("a");r.href=t.dataUrl,r.download=t.filename,r.click()}},O=()=>{const r=t.extension.toLowerCase();return[".xlsx",".xls"].includes(r)?h.jsx(F,{name:"dashboard",size:48}):[".docx",".doc"].includes(r)?h.jsx(F,{name:"edit",size:48}):[".pptx",".ppt"].includes(r)?h.jsx(F,{name:"film",size:48}):[".zip",".tar",".gz",".rar",".7z"].includes(r)?h.jsx(F,{name:"file-zip",size:48}):[".mp3",".wav",".flac",".ogg"].includes(r)?h.jsx(F,{name:"music-note",size:48}):[".mp4",".avi",".mov",".mkv",".webm"].includes(r)?h.jsx(F,{name:"film",size:48}):[".exe",".dmg",".app",".msi"].includes(r)?h.jsx(F,{name:"gear",size:48}):[".apk",".aab",".ipa"].includes(r)?h.jsx(F,{name:"mobile",size:48}):[".jar",".war",".ear"].includes(r)?h.jsx(F,{name:"coffee",size:48}):[".iso",".img"].includes(r)?h.jsx(F,{name:"disc",size:48}):[".so",".dll",".dylib"].includes(r)?h.jsx(F,{name:"wrench",size:48}):h.jsx(F,{name:"folder",size:48})};return h.jsxs(h.Fragment,{children:[h.jsx(pO,{file:t,onRevealInTree:e}),h.jsxs("div",{className:"file-viewer-binary",children:[h.jsx("div",{className:"file-viewer-binary-icon",children:O()}),h.jsx("div",{className:"file-viewer-binary-name",children:t.filename}),h.jsx("div",{className:"file-viewer-binary-size",children:fg(t.size)}),h.jsx("div",{className:"file-viewer-binary-message",children:i("terminal:fileExplorer.cannotPreview")}),h.jsx("button",{className:"file-viewer-download-btn large",onClick:n,children:i("terminal:fileExplorer.downloadFile")})]})]})}function j8({file:t,loading:e,error:i,onRevealInTree:n,scrollToLine:O,onSearchStateChange:r,onFileEdited:a}){const{t:s}=je(["terminal","common"]),[o,l]=T8(),[c,u]=R8(),[f,d]=g.useState(!1);g.useEffect(()=>{d(!1)},[t==null?void 0:t.path]);const p=g.useCallback(async x=>{if(!t)return;const z=await $e(fe("/api/files/write"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,content:x})});if(!z.ok){const Y=await z.json().catch(()=>({error:"Save failed"}));throw new Error(Y.error||"Save failed")}},[t]),Q=g.useCallback(()=>{d(x=>(x&&t&&(a==null||a(t.path)),!x))},[t,a]);if(e)return h.jsx("div",{className:"file-viewer-placeholder",children:s("common:status.loading")});if(i)return h.jsx("div",{className:"file-viewer-placeholder error",children:i});if(!t)return h.jsxs("div",{className:"file-viewer-placeholder",children:[h.jsx("div",{className:"placeholder-icon",children:h.jsx(F,{name:"folder-open",size:32})}),h.jsx("div",{className:"placeholder-text",children:s("terminal:fileExplorer.selectFileToView")})]});const P=t.fileType||"text",m=P==="text"&&v8(t.extension),S=P==="text"&&_8(t.extension);return f&&P==="text"&&t.content!=null?h.jsxs("div",{className:"file-viewer-content",children:[h.jsx(pO,{file:t,onRevealInTree:n,editMode:!0,onToggleEdit:Q}),h.jsx(g.Suspense,{fallback:h.jsx("div",{className:"file-viewer-placeholder",children:s("common:status.loading")}),children:h.jsx(x8,{content:t.content,extension:t.extension,onSave:p,onCancel:Q})})]}):h.jsxs("div",{className:"file-viewer-content",children:[P==="text"&&m&&h.jsx(z8,{file:t,onRevealInTree:n,renderMarkdown:o,onToggleRender:l,editMode:f,onToggleEdit:Q}),P==="text"&&S&&!m&&h.jsx(U8,{file:t,onRevealInTree:n,renderPlantUml:c,onToggleRender:u,editMode:f,onToggleEdit:Q}),P==="text"&&!m&&!S&&h.jsx(Z8,{file:t,onRevealInTree:n,scrollToLine:O,onSearchStateChange:r,editMode:f,onToggleEdit:Q}),P==="image"&&h.jsx(q8,{file:t,onRevealInTree:n}),P==="pdf"&&h.jsx(V8,{file:t,onRevealInTree:n}),P==="binary"&&h.jsx(W8,{file:t,onRevealInTree:n})]})}const xX=g.memo(j8,(t,e)=>t.loading!==e.loading||t.error!==e.error||t.scrollToLine!==e.scrollToLine?!1:t.file===null&&e.file===null?!0:t.file===null||e.file===null?!1:t.file.path===e.file.path&&t.file.content===e.file.content&&t.file.modified===e.file.modified);xX.displayName="FileViewer";function XX({text:t,query:e}){if(!e)return h.jsx(h.Fragment,{children:t});const i=$1(t,e);if(i)return h.jsxs(h.Fragment,{children:[t.slice(0,i.start),h.jsx("mark",{className:"search-highlight",children:t.slice(i.start,i.end)}),t.slice(i.end)]});const n=e.toLowerCase(),r=t.toLowerCase().indexOf(n);return r===-1?h.jsx(h.Fragment,{children:t}):h.jsxs(h.Fragment,{children:[t.slice(0,r),h.jsx("mark",{className:"search-highlight",children:t.slice(r,r+e.length)}),t.slice(r+e.length)]})}const C8=g.memo(function({node:e,query:i,isSelected:n,onSelect:O,lineNumber:r}){const a=e.isDirectory?null:qf(e),s=e.path.split("/");s[s.length-1];const o=s.slice(0,-1).join("/");return h.jsxs("div",{className:`search-result-item ${n?"selected":""}`,onClick:()=>O(e),children:[e.isDirectory?h.jsx("span",{className:"search-result-icon",children:h.jsx(F,{name:"folder",size:14})}):a?h.jsx("span",{className:"search-result-icon",style:{backgroundImage:`url('${a}')`},role:"img","aria-label":"file icon"}):h.jsx("span",{className:"search-result-icon",children:h.jsx(F,{name:"file-text",size:14})}),h.jsxs("div",{className:"search-result-info",children:[h.jsxs("span",{className:"search-result-name",children:[h.jsx(XX,{text:e.name,query:i}),r&&h.jsxs("span",{className:"search-result-line-badge",children:[":",r]})]}),h.jsx("span",{className:"search-result-path",children:o})]})]})}),E8=g.memo(function({match:e,query:i,isSelected:n,onSelect:O}){const{t:r}=je(["terminal"]),a={name:e.name,path:e.path,isDirectory:!1,extension:e.extension},s=qf(a),o=e.path.split("/"),l=o[o.length-1],c=o.slice(0,-1).join("/");return h.jsxs("div",{className:`content-search-item ${n?"selected":""}`,children:[h.jsxs("div",{className:`content-search-header ${n?"selected":""}`,onClick:()=>O(e.path),children:[s?h.jsx("span",{className:"content-search-icon",style:{backgroundImage:`url('${s}')`},role:"img","aria-label":"file icon"}):h.jsx("span",{className:"content-search-icon",children:h.jsx(F,{name:"file-text",size:14})}),h.jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:"2px"},children:[h.jsx("span",{className:"content-search-name",children:l}),h.jsx("span",{className:"search-result-path",style:{fontSize:"10px"},children:c})]}),h.jsx("span",{className:"content-search-count",children:e.matches.length})]}),h.jsxs("div",{className:"content-search-matches",children:[e.matches.slice(0,5).map((u,f)=>h.jsxs("div",{className:"content-search-match",onClick:()=>O(e.path,u.line),children:[h.jsx("span",{className:"content-search-line-num",children:u.line}),h.jsx("span",{className:"content-search-line-content",children:h.jsx(XX,{text:u.content.trim(),query:i})})]},`${e.path}-${u.line}-${f}`)),e.matches.length>5&&h.jsxs("div",{className:"content-search-match",style:{opacity:.6,cursor:"default"},children:[h.jsx("span",{className:"content-search-line-num",children:"..."}),h.jsx("span",{className:"content-search-line-content",children:r("terminal:fileExplorer.moreMatches",{count:e.matches.length-5})})]})]})]})});function G8({filenameResults:t,contentResults:e,onSelectFile:i,onSelectContent:n,selectedPath:O,query:r,lineNumber:a}){const{t:s}=je(["terminal"]),o=t.length>0,l=e.length>0;return!o&&!l?h.jsx("div",{className:"search-no-results",children:s("terminal:fileExplorer.noMatchesFound")}):h.jsxs("div",{className:"unified-search-results",children:[o&&h.jsxs("div",{className:"unified-search-section",children:[h.jsxs("div",{className:"unified-search-section-header",children:[h.jsx("span",{className:"unified-search-section-icon",children:h.jsx(F,{name:"file-text",size:14})}),h.jsx("span",{className:"unified-search-section-title",children:s("terminal:fileExplorer.files")}),h.jsx("span",{className:"unified-search-section-count",children:t.length})]}),h.jsx("div",{className:"unified-search-section-content",children:t.map(c=>h.jsx(C8,{node:c,query:r,isSelected:O===c.path,onSelect:i,lineNumber:a},c.path))})]}),l&&h.jsxs("div",{className:"unified-search-section",children:[h.jsxs("div",{className:"unified-search-section-header",children:[h.jsx("span",{className:"unified-search-section-icon",children:h.jsx(F,{name:"edit",size:14})}),h.jsx("span",{className:"unified-search-section-title",children:s("terminal:fileExplorer.content")}),h.jsx("span",{className:"unified-search-section-count",children:s("terminal:fileExplorer.matchesInFiles",{matches:e.reduce((c,u)=>c+u.matches.length,0),files:e.length})})]}),h.jsx("div",{className:"unified-search-section-content",children:e.map(c=>h.jsx(E8,{match:c,query:r,isSelected:O===c.path,onSelect:n},c.path))})]})]})}const wX=g.memo(G8,(t,e)=>!(t.query!==e.query||t.selectedPath!==e.selectedPath||t.filenameResults.length!==e.filenameResults.length||t.contentResults.length!==e.contentResults.length));wX.displayName="UnifiedSearchResults";const A8=g.memo(function({file:e,isSelected:i,onSelect:n,onStage:O,isStaging:r,showDirPath:a,isChecked:s,onToggleCheck:o,onContextMenu:l,onDiscard:c}){const{t:u}=je(["terminal"]),f=e.status,d=xa[f],p=f==="deleted",Q=f==="untracked"&&O,P=e.name.includes(".")?"."+e.name.split(".").pop():"",m=a&&e.path.includes("/")?e.path.slice(0,e.path.lastIndexOf("/")):"";return h.jsxs("div",{className:`git-file-item ${i?"selected":""}`,onClick:()=>!p&&n(e.path,f),onContextMenu:S=>{S.preventDefault(),l==null||l(S,e,f)},style:{cursor:p?"not-allowed":"pointer"},title:e.path,children:[o&&h.jsx("input",{type:"checkbox",className:"git-file-checkbox",checked:s||!1,onChange:S=>{S.stopPropagation(),o(e.path)},onClick:S=>S.stopPropagation()}),h.jsx("img",{className:"tree-icon",src:ya(P),alt:"file"}),h.jsxs("span",{className:"git-file-name",children:[e.name,m&&h.jsx("span",{className:"git-file-dir",children:m})]}),h.jsx("span",{className:"git-file-status",style:{color:d.color},children:d.icon}),e.oldPath&&h.jsxs("span",{className:"git-file-renamed",children:[h.jsx(F,{name:"subitem",size:10,style:{transform:"rotate(180deg)"}})," ",e.oldPath.split("/").pop()]}),Q&&h.jsx("button",{className:`git-stage-btn ${r?"staging":""}`,onClick:S=>{S.stopPropagation(),r||O(e.path)},title:u("terminal:fileExplorer.stageFile"),disabled:r,children:r?"...":"+"}),c&&h.jsx("button",{className:"git-discard-btn",onClick:S=>{S.stopPropagation(),c(e,f)},title:f==="untracked"||f==="added"?"Delete file":"Discard changes",children:h.jsx(F,{name:"revert",size:12})})]})}),N8=16,I8=22,L8=g.memo(function t({node:e,depth:i,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a,onStage:s,stagingPaths:o,checkedFiles:l,onToggleCheck:c,onContextMenu:u,onDirContextMenu:f,onDiscard:d}){const{t:p}=je(["terminal"]),Q=i*N8;if(!e.isDirectory){const m=e.file.status,S=xa[m];return h.jsxs("div",{className:`git-file-item ${r===e.path?"selected":""}`,onClick:()=>m!=="deleted"&&a(e.file.path,m),onContextMenu:x=>{x.preventDefault(),u==null||u(x,e.file,m)},style:{paddingLeft:`${Q+I8}px`,cursor:m==="deleted"?"not-allowed":"pointer"},title:e.file.path,children:[c&&h.jsx("input",{type:"checkbox",className:"git-file-checkbox",checked:(l==null?void 0:l.has(e.file.path))||!1,onChange:x=>{x.stopPropagation(),c(e.file.path)},onClick:x=>x.stopPropagation()}),h.jsx("img",{className:"tree-icon",src:ya(e.file.name.includes(".")?"."+e.file.name.split(".").pop():""),alt:"file"}),h.jsx("span",{className:"git-file-name",children:e.file.name}),h.jsx("span",{className:"git-file-status",style:{color:S.color},children:S.icon}),e.file.oldPath&&h.jsxs("span",{className:"git-file-renamed",children:[h.jsx(F,{name:"subitem",size:10,style:{transform:"rotate(180deg)"}})," ",e.file.oldPath.split("/").pop()]}),m==="untracked"&&s&&h.jsx("button",{className:`git-stage-btn ${o!=null&&o.has(e.path)?"staging":""}`,onClick:x=>{x.stopPropagation(),o!=null&&o.has(e.path)||s(e.file.path)},title:p("terminal:fileExplorer.stageFile"),disabled:o==null?void 0:o.has(e.path),children:o!=null&&o.has(e.path)?"...":"+"}),d&&h.jsx("button",{className:"git-discard-btn",onClick:x=>{x.stopPropagation(),d(e.file,m)},title:m==="untracked"||m==="added"?"Delete file":"Discard changes",children:h.jsx(F,{name:"revert",size:12})})]})}const P=n.has(e.path);return h.jsxs("div",{className:"tree-node-wrapper",children:[h.jsxs("div",{className:`tree-node directory ${P?"expanded":""}`,style:{paddingLeft:`${Q}px`},onClick:()=>O(e.path),onContextMenu:m=>{m.preventDefault(),m.stopPropagation(),f==null||f(m,e)},children:[h.jsx("span",{className:`tree-arrow ${P?"expanded":""}`,children:h.jsx(F,{name:"caret-right",size:10})}),h.jsx("img",{className:"tree-folder-icon",src:P?"/assets/vscode-icons/default_folder_opened.svg":"/assets/vscode-icons/default_folder.svg",alt:"folder"}),h.jsx("span",{className:"tree-name",children:e.name}),h.jsx("span",{className:"git-tree-file-count",children:p("terminal:fileExplorer.fileCount",{count:e.fileCount})})]}),P&&h.jsx("div",{className:"tree-children",children:e.children.map(m=>h.jsx(t,{node:m,depth:i+1,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a,onStage:s,stagingPaths:o,checkedFiles:l,onToggleCheck:c,onContextMenu:u,onDirContextMenu:f,onDiscard:d},m.path))})]})}),tu=g.memo(function({groupLabel:e,groupIcon:i,groupColor:n,files:O,treeNodes:r,viewMode:a,selectedPath:s,expandedDirs:o,onToggleDir:l,onFileSelect:c,onStageFile:u,onStageAll:f,stagingPaths:d,checkedFiles:p,onToggleCheck:Q,onContextMenu:P,onDirContextMenu:m,onDiscardFile:S,onDiscardAll:x}){const{t:z}=je(["terminal"]);if(O.length===0)return null;const Y=O.some(G=>G.status==="untracked"),U=Y&&f&&O.length>0,V=d?O.every(G=>d.has(G.path)):!1;return h.jsxs("div",{className:"git-status-group",children:[h.jsxs("div",{className:"git-status-group-header",style:{color:n},children:[h.jsx("span",{className:"git-status-badge",style:{background:n},children:i}),e," (",O.length,")",U&&h.jsx("button",{className:`git-stage-all-btn ${V?"staging":""}`,onClick:G=>{G.stopPropagation(),V||f()},title:z("terminal:fileExplorer.stageAllUntracked"),disabled:V,children:V?"...":z("terminal:fileExplorer.stageAll")}),x&&h.jsxs("button",{className:"git-discard-all-btn",onClick:G=>{G.stopPropagation(),x()},title:Y?`Delete all ${O.length} files`:`Discard all ${O.length} changes`,children:[h.jsx(F,{name:"revert",size:12})," All"]})]}),a==="tree"?h.jsx("div",{className:"git-tree-content",children:r.map(G=>h.jsx(L8,{node:G,depth:0,expandedDirs:o,onToggleDir:l,selectedPath:s,onSelect:c,onStage:u,stagingPaths:d,checkedFiles:p,onToggleCheck:Q,onContextMenu:P,onDirContextMenu:m,onDiscard:S},G.path))}):h.jsx("div",{className:"git-flat-content",children:O.map(G=>h.jsx(A8,{file:G,isSelected:s===G.path,onSelect:c,onStage:G.status==="untracked"?u:void 0,isStaging:d==null?void 0:d.has(G.path),showDirPath:!0,isChecked:p==null?void 0:p.has(G.path),onToggleCheck:Q,onContextMenu:P,onDiscard:S},G.path))})]})});function D8({gitStatus:t,loading:e,onFileSelect:i,selectedPath:n,onRefresh:O,onStageFiles:r,stagingPaths:a,currentFolder:s,onCommitComplete:o,mergeInProgress:l,mergingBranch:c,onMergeContinue:u,onMergeAbort:f,onConflictOpen:d,onRevealInTree:p}){const{t:Q}=je(["terminal","common"]),[P,m]=g.useState("tree"),[S,x]=g.useState(new Set),[z,Y]=g.useState(""),[U,V]=g.useState(""),[G,D]=g.useState(!1),[E,_]=g.useState(new Set),[R,T]=g.useState(!1),[y,w]=g.useState(null),Z=g.useRef(null),{showToast:X}=$g(),[A,q]=g.useState(null),[W,M]=g.useState(null),[ae,ze]=g.useState(null),Te=g.useCallback((N,ee)=>{ze({files:[N],label:N.name})},[]),v=g.useCallback(async()=>{if(!(!ae||!s))try{const N=await $e(fe("/api/files/git-discard"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:ae.files.map(oe=>({path:oe.path,status:oe.status})),directory:s})}),ee=await N.json();N.ok&&ee.success?(X("success","Discarded",`Reverted ${ae.files.length} file(s)`),O()):X("error","Discard Failed",ee.error||"Could not discard changes")}catch{X("error","Discard Failed","Network error")}finally{ze(null)}},[ae,s,O,X]),le=g.useCallback((N,ee,oe)=>{N.preventDefault(),N.stopPropagation(),q({isOpen:!0,position:{x:N.clientX,y:N.clientY},file:ee,status:oe})},[]),qe=g.useCallback(async(N,ee)=>{if(s)try{const oe=await $e(fe("/api/files/git-discard"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:[{path:N.path,status:ee}],directory:s})}),Vt=await oe.json();oe.ok&&Vt.success?(X("success","Discarded",`Restored ${N.name}`),O()):X("error","Discard Failed",Vt.error||"Could not discard changes")}catch{X("error","Discard Failed","Network error")}},[s,O,X]),Me=g.useCallback(async N=>{try{await navigator.clipboard.writeText(N),X("success","Copied","Full path copied")}catch{X("error","Copy Failed","Could not copy path")}},[X]),ce=g.useCallback(async N=>{const ee=s&&N.startsWith(s+"/")?N.slice(s.length+1):N;try{await navigator.clipboard.writeText(ee),X("success","Copied","Relative path copied")}catch{X("error","Copy Failed","Could not copy path")}},[s,X]),I=g.useMemo(()=>{if(!A)return[];const{file:N,status:ee}=A,oe=[];return ee==="conflict"&&d?oe.push({id:"open-conflict",label:Q("terminal:fileExplorer.gitContextMenu.openConflictResolver"),icon:h.jsx(F,{name:"warn",size:14}),onClick:()=>d(N.path)}):ee!=="deleted"&&oe.push({id:"open-file",label:Q("terminal:fileExplorer.gitContextMenu.openFile"),icon:h.jsx(F,{name:"file-text",size:14}),onClick:()=>i(N.path,ee)}),ee!=="conflict"&&oe.push({id:"stage-file",label:Q("terminal:fileExplorer.gitContextMenu.stageFile"),icon:h.jsx(F,{name:"plus",size:14}),onClick:()=>{r([N.path])}}),oe.push({id:"divider-1",label:"",divider:!0,onClick:()=>{}}),(ee==="modified"||ee==="deleted"||ee==="renamed"||ee==="conflict")&&oe.push({id:"discard-changes",label:Q("terminal:fileExplorer.gitContextMenu.discardChanges"),icon:h.jsx(F,{name:"revert",size:14}),danger:!0,onClick:()=>{qe(N,ee)}}),(ee==="untracked"||ee==="added")&&oe.push({id:"delete-file",label:Q("terminal:fileExplorer.gitContextMenu.deleteFile"),icon:h.jsx(F,{name:"trash",size:14}),danger:!0,onClick:()=>{qe(N,ee)}}),oe.push({id:"divider-2",label:"",divider:!0,onClick:()=>{}}),oe.push({id:"copy-full-path",label:Q("terminal:fileExplorer.gitContextMenu.copyFullPath"),icon:h.jsx(F,{name:"pin",size:14}),onClick:()=>{Me(N.path)}}),oe.push({id:"copy-relative-path",label:Q("terminal:fileExplorer.gitContextMenu.copyRelativePath"),icon:h.jsx(F,{name:"clipboard",size:14}),onClick:()=>{ce(N.path)}}),p&&ee!=="deleted"&&oe.push({id:"reveal-in-tree",label:Q("terminal:fileExplorer.gitContextMenu.revealInTree"),icon:h.jsx(F,{name:"target",size:14}),onClick:()=>p(N.path)}),oe},[A,i,r,d,p,qe,Me,ce,Q]),ge=g.useCallback((N,ee)=>{N.preventDefault(),N.stopPropagation(),M({isOpen:!0,position:{x:N.clientX,y:N.clientY},node:ee})},[]),ve=g.useCallback(N=>!N.isDirectory&&N.file?[N.file]:N.children.flatMap(ee=>ve(ee)),[]),qt=g.useCallback(async N=>{if(!s)return;const ee=ve(N);if(ee.length!==0)try{const oe=await $e(fe("/api/files/git-discard"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:ee.map(Oi=>({path:Oi.path,status:Oi.status})),directory:s})}),Vt=await oe.json();oe.ok&&Vt.success?(X("success","Discarded",`Reverted ${ee.length} file(s) in ${N.name}`),O()):X("error","Discard Failed",Vt.error||"Could not discard changes")}catch{X("error","Discard Failed","Network error")}},[s,ve,O,X]),pt=g.useMemo(()=>{if(!W)return[];const{node:N}=W,ee=ve(N);return[{id:"discard-dir",label:`Discard Changes (${ee.length} files)`,icon:h.jsx(F,{name:"revert",size:14}),danger:!0,onClick:()=>{qt(N)}},{id:"stage-dir",label:`Stage All (${ee.length} files)`,icon:h.jsx(F,{name:"plus",size:14}),onClick:()=>{r(ee.map(oe=>oe.path))}}]},[W,ve,qt,r]),se=g.useCallback(N=>{x(ee=>{const oe=new Set(ee);return oe.has(N)?oe.delete(N):oe.add(N),oe})},[]),{conflictFiles:Ue,conflictTree:lt,changesFiles:et,changesTree:QO,untrackedFiles:Mt,untrackedTree:gl,allDirPaths:_n}=g.useMemo(()=>{if(!t||!t.isGitRepo||t.files.length===0)return{conflictFiles:[],conflictTree:[],changesFiles:[],changesTree:[],untrackedFiles:[],untrackedTree:[],allDirPaths:new Set};const N=new Set,ee=t.files.filter(Bt=>Bt.status==="conflict"),oe=vs(ee);_s(oe,N);const Vt=t.files.filter(Bt=>Bt.status==="modified"||Bt.status==="added"||Bt.status==="deleted"||Bt.status==="renamed"),Oi=vs(Vt);_s(Oi,N);const Qr=t.files.filter(Bt=>Bt.status==="untracked"),Ga=vs(Qr);return _s(Ga,N),{conflictFiles:ee,conflictTree:oe,changesFiles:Vt,changesTree:Oi,untrackedFiles:Qr,untrackedTree:Ga,allDirPaths:N}},[t]);g.useEffect(()=>{x(_n)},[_n]),g.useEffect(()=>{t!=null&&t.files&&_(new Set(t.files.map(N=>N.path)))},[t==null?void 0:t.files]);const Pl=g.useCallback(()=>{et.length!==0&&ze({files:et,label:`${et.length} changed files`})},[et]),mO=g.useCallback(()=>{Mt.length!==0&&ze({files:Mt,label:`${Mt.length} unversioned files`})},[Mt]),Sl=g.useCallback(()=>{Ue.length!==0&&ze({files:Ue,label:`${Ue.length} conflicted files`})},[Ue]),gO=Ue.length>0;g.useEffect(()=>{if(y){const N=y.type==="error"?8e3:4e3,ee=setTimeout(()=>w(null),N);return()=>clearTimeout(ee)}},[y]);const Ca=g.useCallback(async()=>{const N=!G;if(D(N),N&&s){V(z);try{const oe=await(await $e(fe(`/api/files/git-log-message?path=${encodeURIComponent(s)}`))).json();oe.message&&Y(oe.message)}catch{}}else Y(U)},[G,s,z,U]),kt=g.useCallback(N=>{_(ee=>{const oe=new Set(ee);return oe.has(N)?oe.delete(N):oe.add(N),oe})},[]),bl=g.useCallback(()=>{if(!(t!=null&&t.files))return;const N=t.files.map(oe=>oe.path),ee=N.every(oe=>E.has(oe));_(ee?new Set:new Set(N))},[t==null?void 0:t.files,E]),Tt=g.useCallback(async N=>{if(!(!s||!z.trim()||E.size===0||R)){T(!0),w(null);try{const ee=await $e(fe("/api/files/git-commit"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:s,message:z.trim(),amend:G,paths:Array.from(E)})}),oe=await ee.json();if(!ee.ok||!oe.success){w({type:"error",text:oe.error||"Commit failed"}),T(!1);return}if(N)try{const Vt=await $e(fe("/api/files/git-push"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:s})}),Oi=await Vt.json();Vt.ok&&Oi.success?w({type:"success",text:Q("terminal:fileExplorer.committedAndPushed")}):w({type:"error",text:Q("terminal:fileExplorer.committedButPushFailed",{error:Oi.error||"Unknown error"})})}catch{w({type:"error",text:Q("terminal:fileExplorer.committedButPushFailed",{error:"Network error"})})}else w({type:"success",text:Q("terminal:fileExplorer.committedSuccessfully")});Y(""),V(""),D(!1),O(),o==null||o()}catch(ee){w({type:"error",text:ee.message||"Commit failed"})}finally{T(!1)}}},[s,z,G,E,R,O,o]);if(e)return h.jsx("div",{className:"git-changes-loading",children:Q("terminal:fileExplorer.loadingGitStatus")});if(!t||!t.isGitRepo)return h.jsxs("div",{className:"git-changes-empty",children:[h.jsx("div",{className:"git-empty-icon",children:h.jsx(F,{name:"package",size:32})}),h.jsx("div",{className:"git-empty-text",children:Q("terminal:fileExplorer.notGitRepo")})]});if(t.files.length===0)return h.jsxs("div",{className:"git-changes-empty",children:[h.jsx("div",{className:"git-empty-icon",children:h.jsx(F,{name:"sparkle",size:32})}),h.jsx("div",{className:"git-empty-text",children:Q("terminal:fileExplorer.workingTreeClean")}),h.jsx("div",{className:"git-empty-branch",children:Q("terminal:fileExplorer.onBranch",{branch:t.branch})})]});const Ea=N=>{r([N])},PO=()=>{const N=Mt.map(ee=>ee.path);N.length>0&&r(N)},pi=(N,ee)=>{ee==="conflict"&&d?d(N):i(N,ee)};return h.jsxs("div",{className:"git-changes",children:[h.jsxs("div",{className:"git-changes-header",children:[h.jsxs("span",{className:"git-branch",children:[h.jsx("span",{className:"git-branch-icon",children:h.jsx(F,{name:"git-branch",size:12})}),t.branch]}),t.counts&&h.jsxs("div",{className:"git-changes-summary",children:[(t.counts.conflict??0)>0&&h.jsxs("span",{className:"git-count conflict",children:[t.counts.conflict,"C"]}),t.counts.modified>0&&h.jsxs("span",{className:"git-count modified",children:[t.counts.modified,"M"]}),t.counts.added>0&&h.jsxs("span",{className:"git-count added",children:[t.counts.added,"A"]}),t.counts.deleted>0&&h.jsxs("span",{className:"git-count deleted",children:[t.counts.deleted,"D"]}),t.counts.untracked>0&&h.jsxs("span",{className:"git-count untracked",children:[t.counts.untracked,"?"]})]}),h.jsxs("div",{className:"git-view-toggle",children:[h.jsx("button",{className:`git-view-toggle-btn ${P==="flat"?"active":""}`,onClick:()=>m("flat"),title:Q("terminal:fileExplorer.flatList"),children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[h.jsx("rect",{x:"2",y:"3",width:"12",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"2",y:"7",width:"12",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"2",y:"11",width:"12",height:"1.5",rx:"0.5"})]})}),h.jsx("button",{className:`git-view-toggle-btn ${P==="tree"?"active":""}`,onClick:()=>m("tree"),title:Q("terminal:fileExplorer.directoryTree"),children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[h.jsx("rect",{x:"1",y:"2",width:"6",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"4",y:"5.5",width:"8",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"4",y:"9",width:"8",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"7",y:"12.5",width:"7",height:"1.5",rx:"0.5"})]})})]}),h.jsx("button",{className:"git-refresh-btn",onClick:O,title:Q("common:buttons.refresh"),children:h.jsx(F,{name:"refresh",size:12})})]}),l&&h.jsxs("div",{className:"git-merge-banner",children:[h.jsx("span",{className:"git-merge-banner-icon",children:"⚠"}),h.jsx("span",{className:"git-merge-banner-text",children:Q("terminal:fileExplorer.mergeInProgress",{branch:c?` (${c})`:""})}),h.jsxs("div",{className:"git-merge-actions",children:[h.jsx("button",{className:"git-merge-continue-btn",onClick:u,disabled:gO,title:Q(gO?"terminal:fileExplorer.resolveAllConflictsFirst":"terminal:fileExplorer.continueMerge"),children:Q("terminal:fileExplorer.continue")}),h.jsx("button",{className:"git-merge-abort-btn",onClick:f,title:Q("terminal:fileExplorer.abortMerge"),children:Q("terminal:fileExplorer.abort")})]})]}),h.jsxs("div",{className:"git-changes-list",children:[h.jsx(tu,{groupLabel:Q("terminal:fileExplorer.gitGroups.conflicts"),groupIcon:"C",groupColor:"#ff5555",files:Ue,treeNodes:lt,viewMode:P,selectedPath:n,expandedDirs:S,onToggleDir:se,onFileSelect:pi,checkedFiles:E,onToggleCheck:kt,onContextMenu:le,onDirContextMenu:ge,onDiscardFile:Te,onDiscardAll:Sl}),h.jsx(tu,{groupLabel:Q("terminal:fileExplorer.gitGroups.changes"),groupIcon:"~",groupColor:"#c89a5a",files:et,treeNodes:QO,viewMode:P,selectedPath:n,expandedDirs:S,onToggleDir:se,onFileSelect:pi,checkedFiles:E,onToggleCheck:kt,onContextMenu:le,onDirContextMenu:ge,onDiscardFile:Te,onDiscardAll:Pl}),h.jsx(tu,{groupLabel:Q("terminal:fileExplorer.gitGroups.unversioned"),groupIcon:"?",groupColor:"#6ab8c8",files:Mt,treeNodes:gl,viewMode:P,selectedPath:n,expandedDirs:S,onToggleDir:se,onFileSelect:pi,onStageFile:Ea,onStageAll:PO,stagingPaths:a,checkedFiles:E,onToggleCheck:kt,onContextMenu:le,onDirContextMenu:ge,onDiscardFile:Te,onDiscardAll:mO})]}),h.jsxs("div",{className:"git-commit-panel",children:[h.jsxs("div",{className:"git-commit-options",children:[h.jsxs("label",{className:"git-commit-amend-label",children:[h.jsx("input",{type:"checkbox",className:"git-commit-amend-checkbox",checked:G,onChange:Ca}),Q("terminal:fileExplorer.amend")]}),h.jsx("span",{className:"git-commit-file-count",children:Q("terminal:fileExplorer.fileCount",{count:E.size})}),h.jsx("button",{className:"git-commit-select-toggle",onClick:bl,title:E.size===t.files.length?Q("terminal:fileExplorer.deselectAll"):Q("terminal:fileExplorer.selectAll"),children:E.size===t.files.length?Q("terminal:fileExplorer.deselectAll"):Q("terminal:fileExplorer.selectAll")})]}),h.jsx("textarea",{ref:Z,className:"git-commit-message",placeholder:Q("terminal:fileExplorer.commitMessagePlaceholder"),value:z,onChange:N=>Y(N.target.value),onKeyDown:N=>{(N.metaKey||N.ctrlKey)&&N.key==="Enter"&&(N.preventDefault(),Tt(!1)),(N.metaKey||N.ctrlKey)&&N.shiftKey&&N.key==="Enter"&&(N.preventDefault(),Tt(!0)),N.stopPropagation()},rows:3,disabled:R}),y&&h.jsx("div",{className:`git-commit-status ${y.type}`,children:y.text}),h.jsxs("div",{className:"git-commit-actions",children:[h.jsx("button",{className:"git-commit-btn",onClick:()=>Tt(!1),disabled:!z.trim()||E.size===0||R,title:Q("terminal:fileExplorer.commitCtrlEnter"),children:Q(R?"terminal:fileExplorer.committing":"terminal:fileExplorer.commitAction")}),h.jsx("button",{className:"git-commit-push-btn",onClick:()=>Tt(!0),disabled:!z.trim()||E.size===0||R,title:Q("terminal:fileExplorer.commitAndPushCtrlShiftEnter"),children:R?"...":Q("terminal:fileExplorer.commitAndPush")})]})]}),A&&h.jsx(FO,{isOpen:A.isOpen,position:A.position,worldPosition:{x:0,z:0},actions:I,onClose:()=>q(null)}),W&&h.jsx(FO,{isOpen:W.isOpen,position:W.position,worldPosition:{x:0,z:0},actions:pt,onClose:()=>M(null)}),ae&&h.jsx("div",{className:"git-discard-confirm-overlay",onClick:()=>ze(null),children:h.jsxs("div",{className:"git-discard-confirm",onClick:N=>N.stopPropagation(),children:[h.jsx("p",{children:ae.files.some(N=>N.status==="untracked"||N.status==="added")?h.jsxs(h.Fragment,{children:["Delete ",h.jsx("strong",{children:ae.label}),"?"]}):h.jsxs(h.Fragment,{children:["Discard changes to ",h.jsx("strong",{children:ae.label}),"?"]})}),h.jsx("p",{className:"git-discard-confirm-hint",children:"This cannot be undone."}),h.jsxs("div",{className:"git-discard-confirm-actions",children:[h.jsx("button",{className:"git-discard-confirm-cancel",onClick:()=>ze(null),children:"Cancel"}),h.jsx("button",{className:"git-discard-confirm-btn",onClick:v,children:ae.files.some(N=>N.status==="untracked"||N.status==="added")?"Delete":"Discard"})]})]})})]})}const kX=g.memo(D8,(t,e)=>t.loading!==e.loading||t.selectedPath!==e.selectedPath||t.stagingPaths!==e.stagingPaths||t.currentFolder!==e.currentFolder||t.mergeInProgress!==e.mergeInProgress||t.mergingBranch!==e.mergingBranch?!1:t.gitStatus===null&&e.gitStatus===null?!0:!(t.gitStatus===null||e.gitStatus===null||t.gitStatus.isGitRepo!==e.gitStatus.isGitRepo||t.gitStatus.branch!==e.gitStatus.branch||t.gitStatus.files.length!==e.gitStatus.files.length||t.gitStatus.mergeInProgress!==e.gitStatus.mergeInProgress));kX.displayName="GitChanges";const M8=g.memo(function({tab:e,isActive:i,onSelect:n,onClose:O,onContextMenu:r}){const{t:a}=je(["terminal"]),s={name:e.filename,path:e.path,isDirectory:!1,extension:e.extension},o=g.useCallback(()=>{n(e.path)},[n,e.path]),l=g.useCallback(f=>{f.button===1&&(f.preventDefault(),f.stopPropagation(),O(e.path))},[O,e.path]),c=g.useCallback(f=>{f.preventDefault(),f.stopPropagation(),O(e.path)},[O,e.path]),u=g.useCallback(f=>{f.preventDefault(),f.stopPropagation(),r(f,e)},[r,e]);return h.jsxs("div",{className:`file-tab ${i?"active":""}`,onClick:o,onMouseDown:l,onContextMenu:u,title:e.path,children:[h.jsx("img",{className:"file-tab-icon",src:qf(s),alt:"file"}),h.jsx("span",{className:"file-tab-name",children:e.filename}),h.jsx("button",{className:"file-tab-close",onClick:c,title:a("terminal:fileExplorer.closeMiddleClick"),children:"×"})]})});function B8(t){return typeof t.path=="string"&&t.path.startsWith("/")}function F8({tabs:t,activeTabPath:e,onSelectTab:i,onCloseTab:n,onShowGitHistory:O}){const{t:r}=je(["terminal"]),[a,s]=g.useState(null),o=g.useCallback((u,f)=>{s({isOpen:!0,position:{x:u.clientX,y:u.clientY},tab:f})},[]),l=g.useCallback(()=>s(null),[]),c=g.useMemo(()=>{if(!a)return[];const u=a.tab,f=!!O&&B8(u);return[{id:"git-history",label:r("terminal:fileExplorer.showGitHistory")??"Show Git History",icon:h.jsx(F,{name:"git-commit",size:14}),disabled:!f,onClick:()=>{f&&O(u.path)}}]},[a,O,r]);return t.length===0?null:h.jsxs("div",{className:"file-tabs-bar",children:[h.jsx("div",{className:"file-tabs-container",children:t.map(u=>h.jsx(M8,{tab:u,isActive:e===u.path,onSelect:i,onClose:n,onContextMenu:o},u.path))}),a&&h.jsx(FO,{isOpen:a.isOpen,position:a.position,worldPosition:{x:0,z:0},actions:c,onClose:l})]})}const TX=g.memo(F8,(t,e)=>{if(t.activeTabPath!==e.activeTabPath||t.tabs.length!==e.tabs.length||t.onShowGitHistory!==e.onShowGitHistory)return!1;for(let i=0;i<t.tabs.length;i++)if(t.tabs[i].path!==e.tabs[i].path)return!1;return!0});TX.displayName="FileTabs";const H8=g.memo(function({currentFolder:e,gitStatus:i,onBranchChanged:n,onMerge:O,onCompare:r,onPullConflicts:a}){const{t:s}=je(["terminal","common"]),[o,l]=g.useState(!1),[c,u]=g.useState(""),[f,d]=g.useState(!1),[p,Q]=g.useState(""),[P,m]=g.useState(!1),[S,x]=g.useState(null),[z,Y]=g.useState(null),U=g.useRef(null),V=g.useRef(null),G=g.useRef(null),{branches:D,loading:E,operationInProgress:_,loadBranches:R,checkoutBranch:T,createBranch:y,pullFromRemote:w,pushToRemote:Z}=Vf();g.useEffect(()=>{o&&e&&(R(e),setTimeout(()=>{var I;return(I=V.current)==null?void 0:I.focus()},50)),o||(u(""),d(!1),Q(""),x(null))},[o,e,R]),g.useEffect(()=>{if(S){const I=S.type==="error"?8e3:3e3,ge=setTimeout(()=>x(null),I);return()=>clearTimeout(ge)}},[S]),g.useEffect(()=>{f&&setTimeout(()=>{var I;return(I=G.current)==null?void 0:I.focus()},50)},[f]),g.useEffect(()=>{if(!o)return;const I=ve=>{const qt=ve.target;!qt.closest(".branch-widget-selector")&&!qt.closest(".branch-widget-dropdown")&&l(!1)},ge=ve=>{ve.key==="Escape"&&(ve.preventDefault(),ve.stopPropagation(),l(!1))};return document.addEventListener("click",I),document.addEventListener("keydown",ge,!0),()=>{document.removeEventListener("click",I),document.removeEventListener("keydown",ge,!0)}},[o]);const X=g.useCallback(async I=>{if(!e||_||I.isCurrent)return;const ge=await T(e,I.name);ge.success?(x({type:"success",text:s("terminal:fileExplorer.switchedToBranch",{branch:ge.branch||I.name})}),n(),R(e)):x({type:"error",text:ge.error||s("terminal:fileExplorer.checkoutFailed")})},[e,_,T,n,R]),A=g.useCallback(async()=>{if(!e||!p.trim()||_)return;const I=await y(e,p.trim());I.success?(x({type:"success",text:s("terminal:fileExplorer.createdBranch",{branch:I.branch})}),d(!1),Q(""),n(),R(e)):x({type:"error",text:I.error||s("terminal:fileExplorer.createBranchFailed")})},[e,p,_,y,n,R]),q=g.useCallback(async()=>{if(!e||_)return;const I=await w(e);I.success?(I.stashConflicts&&I.stashConflicts.length>0?(x({type:"error",text:`Pull succeeded but stash pop had conflicts: ${I.stashConflicts.length} file(s). Resolve manually.`}),a==null||a(I.stashConflicts),l(!1)):I.stashed?x({type:"success",text:"Pull complete. Local changes were auto-stashed and restored."}):x({type:"success",text:s("terminal:fileExplorer.pullComplete")}),n(),R(e)):I.conflicts&&I.conflicts.length>0?(x({type:"error",text:`Pull conflicts: ${I.conflicts.length} file(s)`}),a==null||a(I.conflicts),l(!1)):x({type:"error",text:I.error||s("terminal:fileExplorer.pullFailed")})},[e,_,w,n,R,a]),W=g.useCallback(async()=>{if(!e||_)return;const I=await Z(e);I.success?x({type:"success",text:s("terminal:fileExplorer.pushComplete")}):x({type:"error",text:I.error||s("terminal:fileExplorer.pushFailed")})},[e,_,Z]),[M,ae]=g.useState(!1),ze=g.useCallback(async()=>{if(!(!e||_||M)){ae(!0);try{const I=await $e(fe("/api/files/git-fetch"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(I.ok)x({type:"success",text:"Fetch complete"}),n(),R(e);else{const ge=await I.json().catch(()=>({error:"Fetch failed"}));x({type:"error",text:ge.error||"Fetch failed"})}}catch{x({type:"error",text:"Fetch failed"})}finally{ae(!1)}}},[e,_,M,n,R]),Te=(i==null?void 0:i.branch)||"unknown",v=!!_,le=g.useCallback((I,ge)=>{ge.isCurrent||(I.preventDefault(),I.stopPropagation(),Y({isOpen:!0,position:{x:I.clientX,y:I.clientY},branch:ge.name}))},[]),qe=g.useMemo(()=>{if(!z)return[];const I=!!_||(i==null?void 0:i.mergeInProgress);return[{id:"compare",label:s("terminal:fileExplorer.showDiffWith",{branch:z.branch}),icon:h.jsx(F,{name:"arrows-horizontal",size:14}),disabled:!!_,onClick:()=>{r==null||r(z.branch),l(!1)}},{id:"merge",label:s("terminal:fileExplorer.mergeInto",{source:z.branch,target:Te}),icon:"⤵",disabled:!!I,onClick:()=>{O&&O(z.branch),l(!1)}},{id:"divider-1",label:"",divider:!0,onClick:()=>{}},{id:"checkout",label:s("terminal:fileExplorer.checkoutBranch",{branch:z.branch}),icon:h.jsx(F,{name:"git-branch",size:14}),disabled:!!_,onClick:()=>{const ge=D.find(ve=>ve.name===z.branch);ge&&X(ge)}}]},[z,_,i==null?void 0:i.mergeInProgress,Te,O,r,D,X]),Me=g.useMemo(()=>{const I=D.filter(ve=>!ve.isRemote);if(!c)return I;const ge=c.toLowerCase();return I.filter(ve=>ve.name.toLowerCase().includes(ge))},[D,c]),ce=g.useMemo(()=>{const I=D.filter(ve=>ve.isRemote);if(!c)return I;const ge=c.toLowerCase();return I.filter(ve=>ve.name.toLowerCase().includes(ge))},[D,c]);return h.jsxs("div",{className:"branch-widget",style:{position:"relative"},children:[h.jsxs("div",{className:"branch-widget-selector",onClick:I=>{I.stopPropagation(),l(!o)},title:`Branch: ${Te}`,children:[h.jsx("svg",{className:"branch-widget-icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M5 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm0 2.122a2.25 2.25 0 1 0-1 0v1.836A2.25 2.25 0 0 0 5.75 9.5h1.378a2.251 2.251 0 1 0 0-1H5.75a1.25 1.25 0 0 1-1.25-1.25V5.372Zm7.75 4.878a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3-8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"})}),h.jsx("span",{className:"branch-widget-name",children:Te}),h.jsx("span",{className:"branch-widget-arrow",children:"▼"})]}),o&&h.jsxs("div",{className:"branch-widget-dropdown",ref:U,children:[h.jsx("div",{className:"branch-widget-search",children:h.jsx("input",{ref:V,type:"text",className:"branch-widget-search-input",placeholder:s("terminal:fileExplorer.searchBranches"),value:c,onChange:I=>u(I.target.value),onKeyDown:I=>I.stopPropagation()})}),S&&h.jsx("div",{className:`branch-widget-status ${S.type}`,children:S.text}),h.jsx("div",{className:"branch-widget-section-header",children:s("terminal:fileExplorer.actions")}),h.jsxs("div",{className:"branch-widget-actions",children:[h.jsxs("div",{className:`branch-widget-action-item ${v||M?"disabled":""}`,onClick:ze,children:[h.jsx("span",{className:"branch-widget-action-icon",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M8 13l-3-3h2V6h2v4h2l-3 3zM8 3l3 3h-2v4H7V6H5l3-3z"})})}),h.jsx("span",{className:"branch-widget-action-label",children:M?"Fetching...":"Fetch"})]}),h.jsxs("div",{className:`branch-widget-action-item ${v?"disabled":""}`,onClick:q,children:[h.jsx("span",{className:"branch-widget-action-icon",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M8 12l-4-4h2.5V3h3v5H12L8 12z"})})}),h.jsx("span",{className:"branch-widget-action-label",children:s(_==="pull"?"terminal:fileExplorer.pulling":"terminal:fileExplorer.pull")})]}),h.jsxs("div",{className:`branch-widget-action-item ${v?"disabled":""}`,onClick:W,children:[h.jsx("span",{className:"branch-widget-action-icon",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M8 4l4 4h-2.5v5h-3V8H4l4-4z"})})}),h.jsx("span",{className:"branch-widget-action-label",children:s(_==="push"?"terminal:fileExplorer.pushing":"terminal:fileExplorer.push")})]}),h.jsxs("div",{className:`branch-widget-action-item ${v?"disabled":""}`,onClick:()=>{v||d(!f)},children:[h.jsx("span",{className:"branch-widget-action-icon",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:h.jsx("path",{d:"M8 2v5H3v2h5v5h2V9h5V7H10V2H8z"})})}),h.jsx("span",{className:"branch-widget-action-label",children:s("terminal:fileExplorer.newBranch")})]})]}),f&&h.jsxs("div",{className:"branch-widget-new-branch",children:[h.jsx("input",{ref:G,type:"text",className:"branch-widget-new-branch-input",placeholder:s("terminal:fileExplorer.branchNamePlaceholder"),value:p,onChange:I=>Q(I.target.value),onKeyDown:I=>{I.stopPropagation(),I.key==="Enter"&&A(),I.key==="Escape"&&(d(!1),Q(""))}}),h.jsx("button",{className:"branch-widget-new-branch-confirm",onClick:A,disabled:!p.trim()||v,children:_==="create"?"...":s("common:buttons.create")})]}),h.jsxs("div",{className:"branch-widget-section-header",children:[s("terminal:fileExplorer.localBranches"),E&&h.jsxs("span",{className:"branch-widget-loading-hint",children:[" ",s("terminal:fileExplorer.loading")]})]}),h.jsxs("div",{className:"branch-widget-branch-list",children:[Me.length===0&&!E&&h.jsx("div",{className:"branch-widget-empty",children:s("terminal:fileExplorer.noBranchesFound")}),Me.map(I=>h.jsxs("div",{className:`branch-widget-branch-item ${I.isCurrent?"current":""} ${v?"disabled":""}`,onClick:()=>X(I),onContextMenu:ge=>le(ge,I),title:I.lastMessage||I.name,children:[h.jsxs("span",{className:"branch-widget-branch-name",children:[I.isCurrent&&h.jsx("span",{className:"branch-widget-current-marker",children:"*"}),I.name]}),I.lastCommit&&h.jsx("span",{className:"branch-widget-branch-commit",children:I.lastCommit})]},I.name))]}),ce.length>0&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"branch-widget-section-header clickable",onClick:()=>m(!P),children:[h.jsx("span",{className:"branch-widget-section-toggle",children:P?"▾":"▸"}),s("terminal:fileExplorer.remoteBranches",{count:ce.length})]}),P&&h.jsx("div",{className:"branch-widget-branch-list",children:ce.map(I=>h.jsxs("div",{className:`branch-widget-branch-item remote ${v?"disabled":""}`,onClick:()=>X(I),onContextMenu:ge=>le(ge,I),title:I.lastMessage||I.name,children:[h.jsx("span",{className:"branch-widget-branch-name",children:I.name}),I.lastCommit&&h.jsx("span",{className:"branch-widget-branch-commit",children:I.lastCommit})]},I.name))})]})]}),z&&h.jsx(FO,{isOpen:z.isOpen,position:z.position,worldPosition:{x:0,z:0},actions:qe,onClose:()=>Y(null)})]})});function K8(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Ts(t,e){if(!t)return"";const i=Ud.languages[e];return i?Ud.highlight(t,i,e):K8(t)}function J8(t){const e=[],i=t.split(`
|
|
41
|
-
`);let n=[],O=!1,r=[],a=[],s=!1;for(const o of i)o.startsWith("<<<<<<<")?(n.length>0&&(e.push({type:"unchanged",content:n.join(`
|
|
42
|
-
`)}),n=[]),O=!0,s=!1,r=[],a=[]):o.startsWith("=======")&&O?s=!0:o.startsWith(">>>>>>>")&&O?(e.push({type:"conflict",ours:r.join(`
|
|
43
|
-
`),theirs:a.join(`
|
|
44
|
-
`),resolved:null}),O=!1,s=!1):O?s?a.push(o):r.push(o):n.push(o);return n.length>0&&e.push({type:"unchanged",content:n.join(`
|
|
45
|
-
`)}),e}const e7=g.memo(function({file:e,versions:i,loading:n,onResolve:O,onClose:r,currentBranch:a,mergingBranch:s}){const{t:o}=je(["terminal"]),l=g.useMemo(()=>{var R;if(!(i!=null&&i.filename))return"plaintext";const _="."+((R=i.filename.split(".").pop())==null?void 0:R.toLowerCase());return Uo(_)},[i==null?void 0:i.filename]),c=g.useMemo(()=>i!=null&&i.merged?J8(i.merged):[],[i==null?void 0:i.merged]),[u,f]=g.useState(c),[d,p]=g.useState(!1);g.useMemo(()=>{f(c)},[c]);const Q=g.useRef(null),[P,m]=g.useState(0),S=g.useMemo(()=>u.map((_,R)=>_.type==="conflict"?R:-1).filter(_=>_!==-1),[u]),x=S.length,z=g.useCallback(_=>{const R=Q.current;if(!R||_<0||_>=S.length)return;const T=S[_],y=R.querySelector(`[data-section-idx="${T}"]`);y&&(y.scrollIntoView({behavior:"smooth",block:"center"}),m(_))},[S]),Y=g.useCallback(()=>{z(P>0?P-1:S.length-1)},[P,S.length,z]),U=g.useCallback(()=>{z(P<S.length-1?P+1:0)},[P,S.length,z]);g.useEffect(()=>{if(S.length>0&&Q.current){const _=setTimeout(()=>z(0),100);return()=>clearTimeout(_)}},[S.length,z]);const V=g.useMemo(()=>{const _=u.filter(R=>R.type==="conflict");return _.length>0&&_.every(R=>R.resolved!==null)},[u]),G=g.useCallback((_,R)=>{f(T=>T.map((y,w)=>w!==_||y.type!=="conflict"?y:{...y,resolved:R}))},[]),D=g.useCallback(_=>{f(R=>R.map(T=>T.type!=="conflict"?T:{...T,resolved:_}))},[]),E=g.useCallback(async()=>{p(!0);try{const _=u.map(R=>R.type==="unchanged"?R.content:R.resolved==="ours"?R.ours:R.resolved==="theirs"?R.theirs:R.resolved==="both"?R.ours+`
|
|
46
|
-
`+R.theirs:`<<<<<<< ${a}
|
|
47
|
-
${R.ours}
|
|
48
|
-
=======
|
|
49
|
-
${R.theirs}
|
|
50
|
-
>>>>>>> ${s}`).join(`
|
|
51
|
-
`);await O(_)}finally{p(!1)}},[u,O,a,s]);return h.jsxs("div",{className:"conflict-resolver",children:[h.jsxs("div",{className:"conflict-header",children:[h.jsx("span",{className:"conflict-header-title",children:o("terminal:fileExplorer.resolveFile",{filename:i==null?void 0:i.filename})}),x>0&&h.jsxs("div",{className:"conflict-nav",children:[h.jsx("button",{className:"conflict-nav-btn",onClick:Y,title:o("terminal:fileExplorer.prevConflict"),children:h.jsx(F,{name:"caret-up",size:10})}),h.jsxs("span",{className:"conflict-nav-counter",children:[P+1," / ",x]}),h.jsx("button",{className:"conflict-nav-btn",onClick:U,title:o("terminal:fileExplorer.nextConflict"),children:h.jsx(F,{name:"caret-down",size:10})})]}),h.jsx("button",{className:"conflict-close-btn",onClick:r,children:"×"})]}),n||!i?h.jsx("div",{className:"conflict-loading",children:o("terminal:fileExplorer.loadingConflictData")}):h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"conflict-pane-headers",children:[h.jsx("div",{className:"conflict-pane-header current",children:o("terminal:fileExplorer.currentBranchLabel",{branch:a})}),h.jsx("div",{className:"conflict-pane-header incoming",children:o("terminal:fileExplorer.incomingBranchLabel",{branch:s})})]}),h.jsx("div",{className:"conflict-content",ref:Q,children:u.map((_,R)=>_.type==="unchanged"?h.jsx("div",{className:"conflict-section-unchanged",children:h.jsxs("div",{className:"conflict-panes",children:[h.jsx("div",{className:"conflict-pane ours",children:h.jsx("pre",{dangerouslySetInnerHTML:{__html:Ts(_.content,l)}})}),h.jsx("div",{className:"conflict-pane theirs",children:h.jsx("pre",{dangerouslySetInnerHTML:{__html:Ts(_.content,l)}})})]})},R):h.jsxs("div",{"data-section-idx":R,className:`conflict-section-conflict ${_.resolved?"resolved":""}`,children:[h.jsxs("div",{className:"conflict-panes",children:[h.jsxs("div",{className:`conflict-pane ours ${_.resolved==="ours"||_.resolved==="both"?"accepted":""}`,children:[h.jsx("pre",{dangerouslySetInnerHTML:{__html:Ts(_.ours,l)}}),h.jsx("button",{className:"conflict-accept-btn ours",onClick:()=>G(R,"ours"),disabled:_.resolved==="ours",children:_.resolved==="ours"?o("terminal:fileExplorer.accepted"):o("terminal:fileExplorer.acceptCurrent")})]}),h.jsxs("div",{className:`conflict-pane theirs ${_.resolved==="theirs"||_.resolved==="both"?"accepted":""}`,children:[h.jsx("pre",{dangerouslySetInnerHTML:{__html:Ts(_.theirs,l)}}),h.jsx("button",{className:"conflict-accept-btn theirs",onClick:()=>G(R,"theirs"),disabled:_.resolved==="theirs",children:_.resolved==="theirs"?o("terminal:fileExplorer.accepted"):o("terminal:fileExplorer.acceptIncoming")})]})]}),h.jsx("button",{className:`conflict-accept-both-btn ${_.resolved==="both"?"accepted":""}`,onClick:()=>G(R,"both"),disabled:_.resolved==="both",children:_.resolved==="both"?o("terminal:fileExplorer.accepted"):o("terminal:fileExplorer.acceptBoth")})]},R))}),h.jsxs("div",{className:"conflict-actions",children:[h.jsx("button",{className:"conflict-action-btn accept-all-current",onClick:()=>D("ours"),children:o("terminal:fileExplorer.acceptAllCurrent")}),h.jsx("button",{className:"conflict-action-btn accept-all-incoming",onClick:()=>D("theirs"),children:o("terminal:fileExplorer.acceptAllIncoming")}),h.jsx("button",{className:"conflict-action-btn accept-all-both",onClick:()=>D("both"),children:o("terminal:fileExplorer.acceptAllBoth")}),h.jsx("button",{className:"conflict-action-btn save-resolved",onClick:E,disabled:!V||d,children:o(d?"terminal:fileExplorer.saving":"terminal:fileExplorer.saveAndResolve")})]})]})]})}),t7=16,i7=g.memo(function t({node:e,depth:i,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a}){const{t:s}=je(["terminal"]),o=i*t7;if(!e.isDirectory){const c=e.file.status,u=xa[c],f=c==="deleted",d=e.file.name.includes(".")?"."+e.file.name.split(".").pop():"";return h.jsxs("div",{className:`git-file-item ${r===e.path?"selected":""}`,onClick:()=>!f&&a(e.file.path,c),style:{paddingLeft:`${o+4}px`,cursor:f?"not-allowed":"pointer"},title:e.file.path,children:[h.jsx("span",{className:"tree-arrow-spacer"}),h.jsx("img",{className:"tree-icon",src:ya(d),alt:"file"}),h.jsx("span",{className:"git-file-name",children:e.file.name}),h.jsx("span",{className:"git-file-status",style:{color:u.color},children:u.icon}),e.file.oldPath&&h.jsxs("span",{className:"git-file-renamed",children:["← ",e.file.oldPath.split("/").pop()]})]})}const l=n.has(e.path);return h.jsxs("div",{className:"tree-node-wrapper",children:[h.jsxs("div",{className:`tree-node directory ${l?"expanded":""}`,style:{paddingLeft:`${o+4}px`},onClick:()=>O(e.path),children:[h.jsx("span",{className:`tree-arrow ${l?"expanded":""}`,children:"►"}),h.jsx("img",{className:"tree-folder-icon",src:l?"/assets/vscode-icons/default_folder_opened.svg":"/assets/vscode-icons/default_folder.svg",alt:"folder"}),h.jsx("span",{className:"tree-name",children:e.name}),h.jsx("span",{className:"git-tree-file-count",children:s("terminal:fileExplorer.fileCount",{count:e.fileCount})})]}),l&&h.jsx("div",{className:"tree-children",children:e.children.map(c=>h.jsx(t,{node:c,depth:i+1,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a},c.path))})]})}),n7=g.memo(function({file:e,isSelected:i,onSelect:n}){const O=xa[e.status],r=e.status==="deleted",a=e.name.includes(".")?"."+e.name.split(".").pop():"",s=e.path.includes("/")?e.path.slice(0,e.path.lastIndexOf("/")):"";return h.jsxs("div",{className:`git-file-item ${i?"selected":""}`,onClick:()=>!r&&n(e.path,e.status),style:{cursor:r?"not-allowed":"pointer"},title:e.path,children:[h.jsx("span",{className:"tree-arrow-spacer"}),h.jsx("img",{className:"tree-icon",src:ya(a),alt:"file"}),h.jsxs("span",{className:"git-file-name",children:[e.name,s&&h.jsx("span",{className:"git-file-dir",children:s})]}),h.jsx("span",{className:"git-file-status",style:{color:O.color},children:O.icon}),e.oldPath&&h.jsxs("span",{className:"git-file-renamed",children:["← ",e.oldPath.split("/").pop()]})]})});function O7({compareResult:t,loading:e,onFileSelect:i,selectedPath:n,onClose:O}){const{t:r}=je(["terminal"]),[a,s]=g.useState("tree"),[o,l]=g.useState(new Set),c=g.useMemo(()=>!t||t.files.length===0?[]:vs(t.files),[t]),u=g.useMemo(()=>{const x=new Set;return _s(c,x),x},[c]);g.useEffect(()=>{l(u)},[u]);const f=g.useCallback(x=>{l(z=>{const Y=new Set(z);return Y.has(x)?Y.delete(x):Y.add(x),Y})},[]),d=g.useMemo(()=>t?[...t.files].sort((x,z)=>x.path.toLowerCase().localeCompare(z.path.toLowerCase())):[],[t]);if(e)return h.jsxs("div",{className:"branch-comparison",children:[h.jsxs("div",{className:"branch-comparison-header",children:[h.jsx("span",{className:"branch-comparison-title",children:r("terminal:fileExplorer.comparingBranches")}),h.jsx("button",{className:"branch-comparison-close",onClick:O,title:r("terminal:fileExplorer.closeComparison"),children:"×"})]}),h.jsx("div",{className:"branch-comparison-empty",children:h.jsx("div",{className:"branch-comparison-empty-text",children:r("terminal:fileExplorer.comparingBranches")})})]});if(!t)return null;const{files:p,counts:Q,baseBranch:P,currentBranch:m}=t,S=p.length;return S===0?h.jsxs("div",{className:"branch-comparison",children:[h.jsxs("div",{className:"branch-comparison-header",children:[h.jsxs("span",{className:"branch-comparison-title",children:[m," vs ",P]}),h.jsx("button",{className:"branch-comparison-close",onClick:O,title:r("terminal:fileExplorer.closeComparison"),children:"×"})]}),h.jsxs("div",{className:"branch-comparison-empty",children:[h.jsx("div",{className:"branch-comparison-empty-icon",children:"✨"}),h.jsx("div",{className:"branch-comparison-empty-text",children:r("terminal:fileExplorer.noDifferences")})]})]}):h.jsxs("div",{className:"branch-comparison",children:[h.jsxs("div",{className:"branch-comparison-header",children:[h.jsxs("span",{className:"branch-comparison-title",children:["⇔ ",m," vs ",P]}),h.jsx("span",{className:"branch-comparison-file-count",children:r("terminal:fileExplorer.fileCount",{count:S})}),h.jsxs("div",{className:"git-changes-summary",children:[Q.modified>0&&h.jsxs("span",{className:"git-count modified",children:[Q.modified,"M"]}),Q.added>0&&h.jsxs("span",{className:"git-count added",children:[Q.added,"A"]}),Q.deleted>0&&h.jsxs("span",{className:"git-count deleted",children:[Q.deleted,"D"]}),Q.renamed>0&&h.jsxs("span",{className:"git-count renamed",children:[Q.renamed,"R"]}),(Q.conflict??0)>0&&h.jsxs("span",{className:"git-count conflict",children:[Q.conflict,"C"]})]}),h.jsxs("div",{className:"git-view-toggle",children:[h.jsx("button",{className:`git-view-toggle-btn ${a==="flat"?"active":""}`,onClick:()=>s("flat"),title:r("terminal:fileExplorer.flatList"),children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[h.jsx("rect",{x:"2",y:"3",width:"12",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"2",y:"7",width:"12",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"2",y:"11",width:"12",height:"1.5",rx:"0.5"})]})}),h.jsx("button",{className:`git-view-toggle-btn ${a==="tree"?"active":""}`,onClick:()=>s("tree"),title:r("terminal:fileExplorer.directoryTree"),children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[h.jsx("rect",{x:"1",y:"2",width:"6",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"4",y:"5.5",width:"8",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"4",y:"9",width:"8",height:"1.5",rx:"0.5"}),h.jsx("rect",{x:"7",y:"12.5",width:"7",height:"1.5",rx:"0.5"})]})})]}),h.jsx("button",{className:"branch-comparison-close",onClick:O,title:r("terminal:fileExplorer.closeComparison"),children:"×"})]}),h.jsx("div",{className:"branch-comparison-list",children:a==="tree"?c.map(x=>h.jsx(i7,{node:x,depth:0,expandedDirs:o,onToggleDir:f,selectedPath:n,onSelect:i},x.path)):d.map(x=>h.jsx(n7,{file:x,isSelected:n===x.path,onSelect:i},x.path))})]})}const vX=g.memo(O7);vX.displayName="BranchComparison";function r7(t){const e=new Date(t);if(isNaN(e.getTime()))return t||"—";const n=Date.now()-e.getTime(),O=Math.floor(n/6e4),r=Math.floor(O/60),a=Math.floor(r/24);if(a<4)return O<1?"just now":O<60?`${O}m ago`:r<24?`${r}h ago`:`${a}d ago`;const s=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),l=String(e.getDate()).padStart(2,"0"),c=String(e.getHours()).padStart(2,"0"),u=String(e.getMinutes()).padStart(2,"0");return`${s}-${o}-${l} ${c}:${u}`}const a7=g.memo(function({commit:e,isSelected:i,onSelect:n}){return h.jsxs("div",{className:`gh-row ${i?"selected":""}`,onClick:()=>n(e),children:[h.jsx("span",{className:"gh-col-hash",children:e.shortHash}),h.jsxs("span",{className:"gh-col-message",children:[h.jsx("span",{className:"gh-subject",children:e.subject}),e.refs.isHead&&h.jsx("span",{className:"gh-badge gh-badge-head",children:"HEAD"}),e.refs.branches.map(O=>h.jsx("span",{className:"gh-badge gh-badge-branch",children:O},O)),e.refs.tags.map(O=>h.jsx("span",{className:"gh-badge gh-badge-tag",children:O},O))]}),h.jsx("span",{className:"gh-col-author",children:e.author}),h.jsx("span",{className:"gh-col-date",children:r7(e.date)})]})}),s7=g.memo(function({files:e,loading:i,selectedFilePath:n,onSelectFile:O}){const{t:r}=je(["common"]);return i?h.jsx("div",{className:"gh-files-loading",children:r("common:status.loading")}):e.length===0?h.jsx("div",{className:"gh-files-empty",children:"No changed files"}):h.jsx("div",{className:"gh-files-list",children:e.map(a=>{const s=a.path.split("/").pop()||a.path,o=a.path.includes("/")?a.path.substring(0,a.path.lastIndexOf("/")):"",l=xa[a.status],c=s.includes(".")?"."+s.split(".").pop():"";return h.jsxs("div",{className:`gh-file-row ${n===a.path?"selected":""}`,onClick:()=>O==null?void 0:O(a.path),title:a.path,children:[h.jsx("span",{className:"gh-file-status",style:{color:l.color},children:l.icon}),h.jsx("img",{className:"gh-file-icon",src:ya(c),alt:""}),h.jsx("span",{className:"gh-file-name",children:s}),o&&h.jsx("span",{className:"gh-file-dir",children:o})]},a.path)})})}),o7=g.memo(function({history:e,currentFolder:i,onFileSelect:n}){const{t:O}=je(["terminal","common"]),r=g.useRef(null),[a,s]=g.useState(null),[o,l]=g.useState(!1),{commits:c,loading:u,loadingMore:f,error:d,hasMore:p,total:Q,filters:P,setFilter:m,resetFilters:S,selectedCommit:x,selectCommit:z,commitFiles:Y,commitFilesLoading:U,loadHistory:V,loadMore:G,authors:D,loadAuthors:E}=e,{branches:_,loadBranches:R}=Vf();g.useEffect(()=>{i&&(V(i),E(i),R(i))},[i,V,E,R]);const T=p1({count:c.length,getScrollElement:()=>r.current,estimateSize:()=>28,overscan:20}),y=g.useCallback(()=>{const q=r.current;if(!q||f||!p||!i)return;const{scrollTop:W,scrollHeight:M,clientHeight:ae}=q;M-W-ae<200&&G(i)},[f,p,i,G]),w=g.useCallback(q=>{s(q),n&&x&&n(q,x.hash)},[n,x]),Z=g.useMemo(()=>_.filter(q=>!q.isRemote).map(q=>q.name),[_]),X=!!(P.branch||P.author||P.since||P.until||P.searchPath||P.search),A=T.getVirtualItems();return h.jsxs("div",{className:"gh-panel",children:[h.jsxs("div",{className:"gh-toolbar",children:[h.jsx("span",{className:"gh-toolbar-title",children:O("terminal:fileExplorer.gitHistory.title")}),h.jsx("span",{className:"gh-toolbar-count",children:u?"...":Q>0?Q:c.length}),h.jsx("input",{type:"text",className:"gh-search-input",placeholder:O("terminal:fileExplorer.gitHistory.searchPlaceholder"),value:P.search,onChange:q=>m("search",q.target.value)}),h.jsx("button",{className:`gh-filter-toggle ${o?"active":""} ${X?"has-filters":""}`,onClick:()=>l(!o),title:"Filters",children:h.jsx(F,{name:"gear",size:12})}),X&&h.jsx("button",{className:"gh-reset-btn",onClick:S,children:O("terminal:fileExplorer.gitHistory.resetFilters")})]}),o&&h.jsxs("div",{className:"gh-filters-row",children:[h.jsxs("select",{className:"gh-filter-select",value:P.branch,onChange:q=>m("branch",q.target.value),children:[h.jsx("option",{value:"",children:O("terminal:fileExplorer.gitHistory.allBranches")}),Z.map(q=>h.jsx("option",{value:q,children:q},q))]}),h.jsxs("select",{className:"gh-filter-select",value:P.author,onChange:q=>m("author",q.target.value),children:[h.jsx("option",{value:"",children:O("terminal:fileExplorer.gitHistory.allAuthors")}),D.map(q=>h.jsx("option",{value:q,children:q},q))]}),h.jsx("input",{type:"date",className:"gh-filter-input gh-date-input",value:P.since,onChange:q=>m("since",q.target.value),title:O("terminal:fileExplorer.gitHistory.since")}),h.jsx("input",{type:"date",className:"gh-filter-input gh-date-input",value:P.until,onChange:q=>m("until",q.target.value),title:O("terminal:fileExplorer.gitHistory.until")}),h.jsx("input",{type:"text",className:"gh-filter-input",placeholder:O("terminal:fileExplorer.gitHistory.pathFilter"),value:P.searchPath,onChange:q=>m("searchPath",q.target.value)})]}),h.jsxs("div",{className:"gh-body",children:[h.jsxs("div",{className:"gh-commits-section",children:[h.jsxs("div",{className:"gh-header-row",children:[h.jsx("span",{className:"gh-col-hash",children:"Hash"}),h.jsx("span",{className:"gh-col-message",children:"Message"}),h.jsx("span",{className:"gh-col-author",children:"Author"}),h.jsx("span",{className:"gh-col-date",children:"Date"})]}),u&&c.length===0?h.jsx("div",{className:"gh-state-msg",children:O("common:status.loading")}):d?h.jsx("div",{className:"gh-state-msg gh-error",children:d}):c.length===0?h.jsx("div",{className:"gh-state-msg",children:O("terminal:fileExplorer.gitHistory.noCommits")}):h.jsxs("div",{className:"gh-commit-scroll",ref:r,onScroll:y,children:[h.jsx("div",{style:{height:`${T.getTotalSize()}px`,width:"100%",position:"relative"},children:A.map(q=>h.jsx("div",{"data-index":q.index,ref:T.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${q.start}px)`},children:h.jsx(a7,{commit:c[q.index],isSelected:(x==null?void 0:x.hash)===c[q.index].hash,onSelect:z})},q.key))}),f&&h.jsx("div",{className:"gh-loading-more",children:O("common:status.loading")})]})]}),x&&h.jsxs("div",{className:"gh-files-section",children:[h.jsxs("div",{className:"gh-files-header",children:[h.jsxs("span",{className:"gh-files-title",children:[Y.length," ",Y.length===1?"file":"files"]}),h.jsx("span",{className:"gh-files-commit-info",children:x.shortHash})]}),h.jsx(s7,{files:Y,loading:U,selectedFilePath:a,onSelectFile:w})]})]})]})});async function l7({path:t,cwd:e,limit:i}){const n=new URLSearchParams({path:t,cwd:e});Number.isFinite(i)&&n.set("limit",String(i));const O=await $e(fe(`/api/files/git-file-history?${n.toString()}`));if(!O.ok){const a=await O.json().catch(()=>({}));throw new Error(a.error||`Failed to load file git history: ${O.statusText}`)}const r=await O.json();return{commits:Array.isArray(r.commits)?r.commits:[]}}async function c7({path:t,cwd:e,sha:i}){const n=new URLSearchParams({path:t,cwd:e,sha:i}),O=await $e(fe(`/api/files/git-file-commit-diff?${n.toString()}`));if(!O.ok){const a=await O.json().catch(()=>({}));throw new Error(a.error||`Failed to load commit diff: ${O.statusText}`)}const r=await O.json();return r.binary===!0?{binary:!0,filename:r.filename??"",changeType:r.changeType??"modified"}:{binary:!1,filename:r.filename??"",language:r.language??"plaintext",changeType:r.changeType??"modified",originalContent:typeof r.originalContent=="string"?r.originalContent:"",modifiedContent:typeof r.modifiedContent=="string"?r.modifiedContent:""}}const u7=100;function f7(t){if(!t)return"";const e=Date.parse(t);if(Number.isNaN(e))return t;const i=Date.now()-e,n=Math.round(i/1e3);if(n<60)return`${n}s ago`;const O=Math.round(n/60);if(O<60)return`${O}m ago`;const r=Math.round(O/60);if(r<24)return`${r}h ago`;const a=Math.round(r/24);if(a<30)return`${a}d ago`;const s=Math.round(a/30);return s<12?`${s}mo ago`:`${Math.round(s/12)}y ago`}function h7(t){if(!t)return"";const e=t.lastIndexOf("/");return e>=0?t.slice(e+1):t}function d7({isOpen:t,onClose:e,filePath:i,cwd:n}){const{t:O}=je(["terminal","common"]),[r,a]=g.useState([]),[s,o]=g.useState(!1),[l,c]=g.useState(null),[u,f]=g.useState(null),[d,p]=g.useState(null),[Q,P]=g.useState(!1),[m,S]=g.useState(null);g.useEffect(()=>{if(!t)return;let U=!1;return a([]),f(null),p(null),S(null),c(null),o(!0),(async()=>{try{const V=await l7({path:i,cwd:n,limit:u7});if(U)return;a(V.commits),V.commits.length>0&&f(V.commits[0].sha)}catch(V){if(U)return;c(V instanceof Error?V.message:O("terminal:fileGitHistory.error"))}finally{U||o(!1)}})(),()=>{U=!0}},[t,i,n,O]),g.useEffect(()=>{if(!t||!u){p(null);return}let U=!1;return P(!0),S(null),p(null),(async()=>{try{const V=await c7({path:i,cwd:n,sha:u});if(U)return;p(V)}catch(V){if(U)return;S(V instanceof Error?V.message:O("terminal:fileGitHistory.error"))}finally{U||P(!1)}})(),()=>{U=!0}},[t,u,i,n,O]);const x=g.useCallback(U=>{U.key==="Escape"&&(U.preventDefault(),e())},[e]),z=g.useMemo(()=>h7(i),[i]),Y=()=>Q?h.jsxs("div",{className:"git-file-history-loading",children:[h.jsx("div",{className:"spinner"}),h.jsx("p",{children:O("terminal:fileGitHistory.loading")})]}):m?h.jsxs("div",{className:"git-file-history-empty",children:[h.jsx(F,{name:"warn",size:20}),h.jsx("p",{children:m})]}):d?d.binary?h.jsxs("div",{className:"git-file-history-empty",children:[h.jsx(F,{name:"file",size:20}),h.jsx("p",{children:O("terminal:fileGitHistory.binaryFile")})]}):h.jsx(iu,{originalContent:d.originalContent,modifiedContent:d.modifiedContent,filename:d.filename||z,language:d.language}):h.jsx("div",{className:"git-file-history-empty",children:h.jsx("p",{children:O("terminal:fileGitHistory.selectCommit")})});return t?h.jsx(Q1,{children:h.jsx("div",{className:"modal-overlay visible",onClick:e,children:h.jsxs("div",{className:"git-file-history-modal",onClick:U=>U.stopPropagation(),onKeyDown:x,tabIndex:-1,children:[h.jsxs("div",{className:"modal-header",children:[h.jsxs("div",{className:"git-file-history-title",children:[h.jsx("h2",{children:O("terminal:fileGitHistory.title")}),h.jsx("span",{className:"git-file-history-filepath",title:i,children:z})]}),h.jsx("button",{className:"modal-close",onClick:e,"aria-label":"Close",children:h.jsx(F,{name:"close",size:16})})]}),h.jsxs("div",{className:"git-file-history-body",children:[h.jsx("aside",{className:"git-file-history-commit-list","aria-label":O("terminal:fileGitHistory.title"),children:s?h.jsxs("div",{className:"git-file-history-loading",children:[h.jsx("div",{className:"spinner"}),h.jsx("p",{children:O("terminal:fileGitHistory.loading")})]}):l?h.jsxs("div",{className:"git-file-history-empty",children:[h.jsx(F,{name:"warn",size:18}),h.jsx("p",{children:l})]}):r.length===0?h.jsx("div",{className:"git-file-history-empty",children:h.jsx("p",{children:O("terminal:fileGitHistory.empty")})}):h.jsx("ul",{className:"git-file-history-commits",role:"listbox",children:r.map(U=>{const V=U.sha===u;return h.jsxs("li",{className:`git-file-history-commit ${V?"selected":""}`,role:"option","aria-selected":V,onClick:()=>f(U.sha),children:[h.jsxs("div",{className:"git-file-history-commit-row",children:[h.jsx("span",{className:"git-file-history-sha",children:U.shortSha}),h.jsx("span",{className:"git-file-history-date",title:U.date,children:f7(U.date)})]}),h.jsx("div",{className:"git-file-history-subject",title:U.subject,children:U.subject}),h.jsx("div",{className:"git-file-history-author",title:U.email,children:U.author})]},U.sha)})})}),h.jsx("section",{className:"git-file-history-diff","aria-live":"polite",children:Y()})]})]})})}):null}function $7({isOpen:t,areaId:e,onClose:i,onChangeArea:n,folderPath:O}){const{t:r}=je(["terminal","common"]),a=ug(),s=!!O&&!e,o=!s&&e?a.areas.get(e):null,l=s?[O]:(o==null?void 0:o.directories)||[],c=Array.from(a.areas.values()),[u,f]=g.useState(0),[d,p]=g.useState(null),[Q,P]=g.useState(!1),m=l[u]||l[0]||null,S=(m==null?void 0:m.split("/").pop())||m||"";g.useEffect(()=>{f(0)},[O,s]),g.useEffect(()=>{!s&&O&&p(O)},[s,O]),g.useEffect(()=>{if(t)try{s&&O?localStorage.setItem("file-explorer-last-opened",JSON.stringify({type:"folder",path:O})):e&&localStorage.setItem("file-explorer-last-opened",JSON.stringify({type:"area",areaId:e}))}catch{}},[t,s,O,e]);const x=g.useMemo(()=>{const b=[];for(const k of c)for(const C of k.directories)b.push({path:C,areaId:k.id,areaName:k.name,areaColor:k.color});return b},[c]),{tree:z,loading:Y,expandedPaths:U,loadTree:V,reloadDirectory:G,renamePathInTree:D,togglePath:E,expandToPath:_,setExpandedPaths:R}=m1(m),{gitStatus:T,loading:y,loadGitStatus:w}=b1(m),{mergeBranch:Z,mergeAbort:X,mergeContinue:A}=Vf(),q=E1(),{showToast:W}=$g(),{file:M,loading:ae,error:ze,loadFile:Te,clearFile:v,setFile:le}=v1(),{treePanelWidth:qe,handleResizeStart:Me,isResizing:ce}=z1(),{mobileTreeHeight:I,handleResizeMouseDown:ge,handleResizeTouchStart:ve}=W1(),{loadStoredState:qt,saveState:pt}=Z1({areaId:e||null,folderPath:O||null,isOpen:t}),[se,Ue]=g.useState(null),[lt,et]=g.useState("files"),[QO,Mt]=g.useState(""),[gl,_n]=g.useState([]),[Pl,mO]=g.useState([]),[Sl,gO]=g.useState(!1),[Ca,kt]=g.useState(null),[bl,Tt]=g.useState(null),[Ea,PO]=g.useState(!1),[pi,N]=g.useState(!1),[ee,oe]=g.useState(!1),[Vt,Oi]=g.useState(new Set),[Qr,Ga]=g.useState(!1),[Bt,_X]=g.useState(!1),[yl,RX]=g.useState(250),mr=g.useRef(null),[Rn,Aa]=g.useState(null),[YX,cd]=g.useState(!1),[SO,ud]=g.useState(null),[bO,fd]=g.useState(null),[yO,ZX]=g.useState(null),[xl,Xl]=g.useState({open:!1,path:"",cwd:""}),[Ke,Yn]=g.useState({isOpen:!1,node:null,value:"",submitting:!1}),[Qt,xO]=g.useState({isOpen:!1,parentDir:"",isDirectory:!1,value:"",submitting:!1}),[Wt,hd]=g.useState(null),[qi,XO]=g.useState([]),[Ae,an]=g.useState(null),gr=g.useRef([]),wO=g.useRef(-1),wl=g.useRef(!1),[zX,UX]=g.useState(!1),[qX,VX]=g.useState(!1),[WX,kl]=g.useState(void 0),[dd,kO]=g.useState(null),[Pr,Sr]=g.useState(null),[jX,TO]=g.useState(null),[CX,$d]=g.useState(!1),[Na,Tl]=g.useState(null),[pd,vl]=g.useState(!1),[Ia,La]=g.useState(null),Qd=g.useRef(null),_l=g.useRef(null),md=g.useRef(null),Da=g.useRef(null);g.useEffect(()=>{if(!t||pi)return;(async()=>{const k=await qt();if(k){let C=k.selectedFolderIndex;if(d){const te=l.indexOf(d);C=te>=0?te:0,p(null)}else{const te=Math.max(0,l.length-1);C=Math.min(Math.max(0,C),te)}XO(k.tabs),an(k.activeTabPath),et(k.viewMode),f(C),R(k.expandedPaths),Da.current=k.expandedPaths,PO(!0),k.activeTabPath&&(Ue(k.activeTabPath),Te(k.activeTabPath))}N(!0)})()},[t,pi,qt,R,Te,d,l]),g.useEffect(()=>{Da.current&&!Y&&z.length>0&&(R(Da.current),Da.current=null)},[Y,z,R]),g.useEffect(()=>{if(!t||!pi)return;const b=setTimeout(()=>{pt({tabs:qi,activeTabPath:Ae,viewMode:lt,selectedFolderIndex:u,expandedPaths:U})},500);return()=>clearTimeout(b)},[t,pi,qi,Ae,lt,u,U,pt]),g.useEffect(()=>{N(!1)},[e,O]),g.useEffect(()=>{if(!Ke.isOpen)return;const b=window.setTimeout(()=>{var k,C;(k=_l.current)==null||k.focus(),(C=_l.current)==null||C.select()},0);return()=>window.clearTimeout(b)},[Ke.isOpen]),g.useEffect(()=>{if(!Qt.isOpen)return;const b=window.setTimeout(()=>{var k;(k=md.current)==null||k.focus()},0);return()=>window.clearTimeout(b)},[Qt.isOpen]);const Vi=g.useMemo(()=>{const b=QO.trim(),k=b.match(/^(.+):(\d+)$/);return k?{query:k[1],lineNumber:parseInt(k[2],10)}:{query:b,lineNumber:void 0}},[QO]);g.useEffect(()=>{if(!Vi.query||!m){_n([]),mO([]),gO(!1);return}gO(!0);const b=setTimeout(async()=>{try{const k=Vi.query,C=$e(fe(`/api/files/search?path=${encodeURIComponent(m)}&q=${encodeURIComponent(k)}&limit=200`)).then(rt=>rt.json()).catch(()=>({results:[]})),te=k.length>=2&&!Vi.lineNumber?$e(fe(`/api/files/search-content?path=${encodeURIComponent(m)}&q=${encodeURIComponent(k)}&limit=200`)).then(rt=>rt.json()).catch(()=>({results:[]})):Promise.resolve({results:[]}),[Qe,me]=await Promise.all([C,te]);_n(Qe.results||[]),mO(me.results||[])}catch(k){console.error("[FileExplorer] Search failed:",k),_n([]),mO([])}gO(!1)},300);return()=>clearTimeout(b)},[Vi.query,Vi.lineNumber,m]),g.useEffect(()=>{t&&m&&(v(),Ue(null),kt(null),Tt(null),PO(!1),V(),w())},[t,m,V,w,v]),g.useEffect(()=>{a.fileViewerPath&&t&&(Te(a.fileViewerPath),Ue(a.fileViewerPath),Er.clearFileViewerPath())},[a.fileViewerPath,t,Te]),g.useEffect(()=>{pi&&!Ea&&T&&PO(!0)},[T,Ea,pi,lt]),g.useEffect(()=>{if(e&&(v(),Ue(null),Mt(""),mO([]),_n([]),kt(null),Tt(null),PO(!1),N(!1),d)){const b=a.areas.get(e);b!=null&&b.directories.includes(d)||p(null)}},[e,d,a.areas,v]),g.useEffect(()=>{const b=C=>{var Qe;if(!t)return;if(C.altKey&&C.key==="e"){C.preventDefault(),C.stopPropagation(),i();return}if(C.key==="Escape"){if(Ke.isOpen){C.preventDefault(),C.stopPropagation(),Ke.submitting||Yn({isOpen:!1,node:null,value:"",submitting:!1});return}if(Qr)return;if(Q){C.preventDefault(),C.stopPropagation(),P(!1);return}C.preventDefault(),C.stopPropagation(),i();return}(C.metaKey||C.ctrlKey)&&C.key==="p"&&(C.preventDefault(),(Qe=Qd.current)==null||Qe.focus());const te=Er.getShortcuts().find(me=>me.id==="file-explorer-close-tab");if(S1(C,te)){if(C.repeat)return;C.preventDefault(),C.stopPropagation(),Ae&&yd(Ae)}},k=C=>{const te=C.target;Q&&!te.closest(".file-explorer-folder-selector")&&!te.closest(".file-explorer-folder-dropdown")&&P(!1)};return document.addEventListener("keydown",b,!0),document.addEventListener("click",k),()=>{document.removeEventListener("keydown",b,!0),document.removeEventListener("click",k)}},[t,i,Q,Ae,Qr,Ke]);const gd=g.useMemo(()=>{const b=new Map;if(T!=null&&T.files)for(const k of T.files)b.set(k.path,k.status);return b},[T==null?void 0:T.files]),Rl=g.useMemo(()=>{const b=new Map;if(!(T!=null&&T.files))return b;const k={conflict:0,modified:1,added:2,deleted:3,untracked:4,renamed:5};for(const C of T.files){let te=C.path;for(;;){const Qe=te.lastIndexOf("/");if(Qe<=0)break;te=te.substring(0,Qe);const me=b.get(te);me?k[C.status]<k[me]&&b.set(te,C.status):b.set(te,C.status)}}return b},[T==null?void 0:T.files]),Pd=g.useMemo(()=>{const b=k=>({...k,gitStatus:k.isDirectory?Rl.get(k.path):gd.get(k.path),hasGitChanges:k.isDirectory&&Rl.has(k.path)||void 0,children:k.children?k.children.map(b):void 0});return z.map(b)},[z,gd,Rl]),Yl=(b,k,C,te)=>{if(!qi.find(me=>me.path===b)){const me={path:b,filename:k,extension:C};XO(rt=>[...rt,me])}an(b),Ue(b),kl(te),Te(b)},Sd=async b=>{if(b.isDirectory){et("files"),Mt(""),await _(b.path),Ue(b.path),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let k=b.path,C=document.querySelector(`[data-path="${k}"]`);for(;!C&&k.includes("/");)k=k.substring(0,k.lastIndexOf("/")),C=document.querySelector(`[data-path="${k}"]`);C instanceof HTMLElement&&C.scrollIntoView({behavior:"smooth",block:"center"})})});return}Tt(null),kt(null),Yl(b.path,b.name,b.extension,Vi.lineNumber)},EX=(b,k)=>{Tt(null),kt(null);const C=b.split("/").pop()||b,te=b.substring(b.lastIndexOf(".")).toLowerCase();Yl(b,C,te,k)},GX=async(b,k)=>{Tt(k),kt(null);const C=b.split("/").pop()||b,te=b.substring(b.lastIndexOf(".")).toLowerCase();if(Yl(b,C,te),k==="modified"){const{content:Qe}=await y1(b);Qe!==null&&kt(Qe)}},Zn=g.useCallback(()=>{const b=gr.current,k=wO.current;UX(k>0),VX(k>=0&&k<b.length-1)},[]);g.useEffect(()=>{if(!Ae){gr.current=[],wO.current=-1,Zn();return}if(wl.current){wl.current=!1,Zn();return}const b=gr.current,k=wO.current;if(k>=0&&b[k]===Ae){Zn();return}const C=k<b.length-1?b.slice(0,k+1):b.slice();C.push(Ae),C.length>100&&C.shift(),gr.current=C,wO.current=C.length-1,Zn()},[Ae,Zn]);const bd=b=>{an(b),Ue(b),Tt(null),kt(null),kl(void 0);const k=qi.find(C=>C.path===b);k!=null&&k.data||Te(b)},Ma=g.useCallback(b=>{const k=gr.current;if(k.length===0)return;let C=wO.current+b;for(;C>=0&&C<k.length;){const te=k[C];if(qi.some(Qe=>Qe.path===te)){wl.current=!0,wO.current=C,Zn(),bd(te);return}C+=b}},[qi,Zn]),AX=g.useCallback(()=>Ma(-1),[Ma]),NX=g.useCallback(()=>Ma(1),[Ma]),yd=b=>{XO(k=>{var Qe;const C=k.filter(me=>me.path!==b),te=k.findIndex(me=>me.path===b);if(te!==-1&&((Qe=k[te])==null?void 0:Qe.path)===b&&(Ae===b||k.find(me=>me.path===Ae)),C.length>0){if(!C.some(rt=>rt.path===Ae)){const rt=k.findIndex(_t=>_t.path===b),Ie=Math.max(0,Math.min(rt,C.length-1)),vt=C[Ie];vt&&(an(vt.path),Ue(vt.path),Te(vt.path))}}else an(null),Ue(null),v();return C})},IX=b=>{if(P(!1),b.areaId!==e)p(b.path),n&&n(b.areaId);else{const k=l.indexOf(b.path);f(k>=0?k:0)}},Wi=g.useCallback(b=>{const k=b.lastIndexOf("/");return k<=0?"/":b.slice(0,k)},[]),vO=g.useCallback((b,k,C)=>b===k?C:b.startsWith(`${k}/`)?`${C}${b.slice(k.length)}`:b,[]),LX=g.useCallback((b,k)=>{Ue(k.path),ud({isOpen:!0,position:{x:b.clientX,y:b.clientY},node:k})},[]),DX=g.useCallback(b=>{b.defaultPrevented||m&&(b.preventDefault(),fd({isOpen:!0,position:{x:b.clientX,y:b.clientY},parentDir:m}))},[m]),xd=g.useCallback(b=>{Yn({isOpen:!0,node:b,value:b.name,submitting:!1})},[]),_O=g.useCallback(()=>{Yn({isOpen:!1,node:null,value:"",submitting:!1})},[]),RO=g.useCallback((b,k)=>{b&&xO({isOpen:!0,parentDir:b,isDirectory:k,value:"",submitting:!1})},[]),YO=g.useCallback(()=>{xO({isOpen:!1,parentDir:"",isDirectory:!1,value:"",submitting:!1})},[]),Xd=g.useCallback(b=>{hd({node:b})},[]),MX=g.useCallback(async()=>{const b=Wt==null?void 0:Wt.node;if(b)try{const k=await $e(fe("/api/files/delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,recursive:b.isDirectory})}),C=await k.json().catch(()=>({}));if(!k.ok){W("error","Delete Failed",C.error||"Unable to delete item");return}XO(Qe=>Qe.filter(me=>me.path!==b.path&&!me.path.startsWith(`${b.path}/`))),(Ae===b.path||Ae!=null&&Ae.startsWith(`${b.path}/`))&&(an(null),v()),(se===b.path||se!=null&&se.startsWith(`${b.path}/`))&&Ue(null);const te=Wi(b.path);await G(te),await w(),W("success",b.isDirectory?"Folder Deleted":"File Deleted",b.name)}catch(k){console.error("[FileExplorer] Delete failed:",k),W("error","Delete Failed","Unable to delete item")}},[Wt,Ae,se,Wi,G,w,W,v]),wd=g.useCallback(async()=>{const{parentDir:b,isDirectory:k,value:C}=Qt,te=C.trim();if(!b||!te){YO();return}if(te.includes("/")||te.includes("\\")){W("error","Invalid Name","Name must not contain path separators");return}xO(Qe=>({...Qe,submitting:!0}));try{const Qe=await $e(fe("/api/files/create"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({parentDir:b,name:te,isDirectory:k})}),me=await Qe.json();if(!Qe.ok){W("error","Create Failed",me.error||"Unable to create item"),xO(vt=>({...vt,submitting:!1}));return}const rt=me.path,Ie=new Set(U);Ie.add(b),await G(b),R(Ie),await w(),Ue(rt),W("success",k?"Folder Created":"File Created",te),YO()}catch(Qe){console.error("[FileExplorer] Create failed:",Qe),W("error","Create Failed","Unable to create item"),xO(me=>({...me,submitting:!1}))}},[Qt,U,G,R,w,W,YO]),kd=g.useCallback(async()=>{const b=Ke.node;if(!b)return;const k=Ke.value.trim();if(!k||k===b.name){_O();return}Yn(C=>({...C,submitting:!0}));try{const C=await $e(fe("/api/files/rename"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,newName:k})}),te=await C.json();if(!C.ok){W("error","Rename Failed",te.error||"Unable to rename item"),Yn(_t=>({..._t,submitting:!1}));return}const Qe=te.newPath,me=b.path,rt=new Set(Array.from(U).map(_t=>vO(_t,me,Qe))),Ie=Wi(me),vt=Wi(Qe);if(XO(_t=>_t.map(ri=>{if(!ri.path.startsWith(me))return ri;const ZO=vO(ri.path,me,Qe),Ba=ZO.split("/").pop()||ZO,zd=Ba.includes(".")?`.${Ba.split(".").pop()}`:"";return{...ri,path:ZO,filename:Ba,extension:zd.toLowerCase(),data:ri.data?{...ri.data,path:ZO,filename:Ba,extension:zd.toLowerCase()}:ri.data}})),Ae&&an(vO(Ae,me,Qe)),se&&Ue(vO(se,me,Qe)),M!=null&&M.path){const _t=vO(M.path,me,Qe);if(_t!==M.path){const ri=_t.split("/").pop()||_t,ZO=ri.includes(".")?`.${ri.split(".").pop()}`:"";le({...M,path:_t,filename:ri,extension:ZO.toLowerCase()})}}D(me,Qe),R(rt),await G(Ie),vt!==Ie&&await G(vt),await w(),W("success","Renamed",`${b.name} renamed`),_O()}catch(C){console.error("[FileExplorer] Rename failed:",C),W("error","Rename Failed","Unable to rename item"),Yn(te=>({...te,submitting:!1}))}},[Ke,_O,Ae,se,M,U,vO,Wi,D,R,G,w,W,le]),Td=g.useCallback(b=>{ZX({sourcePath:b.path,isDirectory:b.isDirectory,name:b.name}),W("info","Copied",`${b.name} ready to paste`)},[W]),vd=g.useCallback(async b=>{if(!yO)return;const k=b.isDirectory?b.path:Wi(b.path),C=new Set(U);C.add(k);try{const te=await $e(fe("/api/files/paste"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePath:yO.sourcePath,targetDir:k})}),Qe=await te.json();if(!te.ok){W("error","Paste Failed",Qe.error||"Unable to paste item");return}await G(k),R(C),await w(),Qe.destinationPath&&Ue(Qe.destinationPath),W("success","Pasted",`${yO.name} pasted`)}catch(te){console.error("[FileExplorer] Paste failed:",te),W("error","Paste Failed","Unable to paste item")}},[yO,Wi,U,G,R,w,W]),_d=g.useCallback(async b=>{try{await navigator.clipboard.writeText(b.path),W("success","Copied","Full path copied")}catch(k){console.error("[FileExplorer] Copy path failed:",k),W("error","Copy Failed","Could not copy path")}},[W]),Rd=g.useCallback(b=>{b.isDirectory||!m||Xl({open:!0,path:b.path,cwd:m})},[m]),BX=g.useCallback(b=>{!m||!b||Xl({open:!0,path:b,cwd:m})},[m]),FX=g.useMemo(()=>{if(!SO)return[];const b=SO.node,k=b.isDirectory?b.path:Wi(b.path),C=[{id:"create-file",label:b.isDirectory?"New File...":"New File Here...",icon:h.jsx(F,{name:"file-text",size:14}),onClick:()=>RO(k,!1)},{id:"create-folder",label:b.isDirectory?"New Folder...":"New Folder Here...",icon:h.jsx(F,{name:"folder",size:14}),onClick:()=>RO(k,!0)},{id:"divider-create",label:"",divider:!0,onClick:()=>{}},{id:"rename",label:b.isDirectory?"Rename Folder":"Rename File",icon:h.jsx(F,{name:"edit",size:14}),onClick:()=>xd(b)},{id:"copy",label:b.isDirectory?"Copy Folder":"Copy File",icon:h.jsx(F,{name:"file-text",size:14}),onClick:()=>Td(b)},{id:"paste",label:b.isDirectory?"Paste Into Folder":"Paste Here",icon:h.jsx(F,{name:"clipboard",size:14}),disabled:!yO,onClick:()=>{vd(b)}},{id:"divider-1",label:"",divider:!0,onClick:()=>{}},{id:"copy-full-path",label:"Copy Full Path",icon:h.jsx(F,{name:"pin",size:14}),onClick:()=>{_d(b)}}];return b.isDirectory||C.push({id:"divider-git-history",label:"",divider:!0,onClick:()=>{}},{id:"git-history",label:r("terminal:fileExplorer.showGitHistory")??"Show Git History",icon:h.jsx(F,{name:"git-commit",size:14}),onClick:()=>Rd(b)}),C.push({id:"divider-delete",label:"",divider:!0,onClick:()=>{}},{id:"delete",label:b.isDirectory?"Delete Folder":"Delete File",icon:h.jsx(F,{name:"trash",size:14}),danger:!0,onClick:()=>Xd(b)}),C},[SO,yO,Wi,RO,xd,Td,vd,_d,Rd,Xd,r]),HX=g.useMemo(()=>{if(!bO)return[];const b=bO.parentDir;return[{id:"create-file-root",label:"New File...",icon:h.jsx(F,{name:"file-text",size:14}),onClick:()=>RO(b,!1)},{id:"create-folder-root",label:"New Folder...",icon:h.jsx(F,{name:"folder",size:14}),onClick:()=>RO(b,!0)}]},[bO,RO]),Zl=g.useCallback(async b=>{et("files"),Mt(""),await _(b),Ue(b),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let k=b,C=document.querySelector(`[data-path="${k}"]`);for(;!C&&k.includes("/");)k=k.substring(0,k.lastIndexOf("/")),C=document.querySelector(`[data-path="${k}"]`);C instanceof HTMLElement&&C.scrollIntoView({behavior:"smooth",block:"center"})})})},[_]),KX=g.useCallback(async b=>{if(!(!m||b.length===0)){Oi(k=>{const C=new Set(k);for(const te of b)C.add(te);return C});try{const k=await $e(fe("/api/files/git-add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:b,directory:m})});if(k.ok)await w();else{const C=await k.json();console.error("[FileExplorer] Git add failed:",C.error)}}catch(k){console.error("[FileExplorer] Git add failed:",k)}finally{Oi(k=>{const C=new Set(k);for(const te of b)C.delete(te);return C})}}},[m,w]),JX=g.useCallback(async b=>{if(!m)return;kO(b);const k=await Z(m,b);if(await w(),k.success)kO(null),W("success","Merge Complete",`Merged '${b}' successfully`),V();else if(k.conflicts&&k.conflicts.length>0){const C=k.conflicts.length;W("warning","Merge Conflicts",`${C} conflict${C>1?"s":""} found — resolve to continue`),et("git")}else kO(null),W("error","Merge Failed",k.error||"Merge failed")},[m,Z,w,V,W]),e1=g.useCallback(async b=>{kO("remote"),await w();const k=b.length;W("warning","Pull Conflicts",`${k} conflict${k>1?"s":""} found — resolve to continue`),et("git")},[w,W]),t1=g.useCallback(async b=>{if(m){Sr(b),$d(!0),TO(null);try{const k=await $e(fe(`/api/files/git-conflict-file?path=${encodeURIComponent(m)}&file=${encodeURIComponent(b)}`)),C=await k.json();k.ok?TO(C):console.error("[FileExplorer] Failed to load conflict file:",C.error)}catch(k){console.error("[FileExplorer] Failed to load conflict file:",k)}finally{$d(!1)}}},[m]),i1=g.useCallback(async b=>{if(!(!m||!Pr))try{const k=await $e(fe("/api/files/git-resolve-conflict"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:m,file:Pr,content:b})}),C=await k.json();k.ok&&C.success?(Sr(null),TO(null),await w()):console.error("[FileExplorer] Failed to resolve conflict:",C.error)}catch(k){console.error("[FileExplorer] Failed to resolve conflict:",k)}},[m,Pr,w]),n1=g.useCallback(async()=>{if(!m)return;const b=await A(m);b.success?(kO(null),Sr(null),TO(null),W("success","Merge Complete","Merge completed successfully"),await w(),V()):W("error","Merge Failed",b.error||"Merge continue failed")},[m,A,w,V,W]),O1=g.useCallback(async()=>{if(!m)return;const b=await X(m);b.success?(kO(null),Sr(null),TO(null),W("info","Merge Aborted","Merge has been aborted"),await w(),V()):W("error","Abort Failed",b.error||"Failed to abort merge")},[m,X,w,V,W]),r1=g.useCallback(async b=>{if(m){La(b),vl(!0),Tl(null),et("compare");try{const k=await $e(fe(`/api/files/git-branch-compare?directory=${encodeURIComponent(m)}&branch=${encodeURIComponent(b)}`)),C=await k.json();k.ok?Tl(C):(W("error","Compare Failed",C.error||"Failed to compare branches"),et("files"),La(null))}catch(k){console.error("[FileExplorer] Branch compare failed:",k),W("error","Compare Failed","Network error during comparison"),et("files"),La(null)}finally{vl(!1)}}},[m,W]),a1=g.useCallback(async(b,k)=>{if(!m||!Ia)return;const C=b.split("/").pop()||b,te=b.substring(b.lastIndexOf(".")).toLowerCase();qi.find(Ie=>Ie.path===b)||XO(Ie=>[...Ie,{path:b,filename:C,extension:te}]),an(b),Ue(b),kl(void 0);const me=async Ie=>{try{const vt=await $e(fe(`/api/files/git-show?path=${encodeURIComponent(b)}&ref=${encodeURIComponent(Ie)}`)),_t=await vt.json();return vt.ok?_t.content??"":""}catch{return""}},rt=Ie=>({path:b,filename:C,extension:te,content:Ie,fileType:"text",size:Ie.length,modified:""});if(k==="modified"||k==="renamed"){const[Ie,vt]=await Promise.all([me(Ia),me("HEAD")]);kt(Ie),le(rt(vt)),Tt("modified")}else if(k==="deleted"){const Ie=await me(Ia);kt(Ie),le(rt("")),Tt("modified")}else if(k==="added"){const Ie=await me("HEAD");kt(""),le(rt(Ie)),Tt("modified")}},[m,Ia,qi]),Yd=g.useCallback(()=>{et("files"),Tl(null),La(null),vl(!1)},[]),s1=g.useCallback(async(b,k)=>{if(m){cd(!0);try{const C=new URLSearchParams({path:m,hash:k,file:b}),te=await $e(fe(`/api/files/git-commit-file-diff?${C}`)),Qe=await te.json();te.ok?Aa(Qe):Aa(null)}catch(C){console.error("[FileExplorer] commit diff fetch error:",C),Aa(null)}finally{cd(!1)}}},[m]),o1=g.useCallback(()=>{Aa(null)},[]),l1=g.useCallback(b=>{b.preventDefault(),mr.current={startY:b.clientY,startHeight:yl};const k=te=>{if(!mr.current)return;const Qe=mr.current.startY-te.clientY,me=Math.max(120,Math.min(600,mr.current.startHeight+Qe));RX(me)},C=()=>{mr.current=null,document.removeEventListener("mousemove",k),document.removeEventListener("mouseup",C)};document.addEventListener("mousemove",k),document.addEventListener("mouseup",C)},[yl]);if(!t||!o&&!s)return null;const Zd=(T==null?void 0:T.files.length)||0;return h.jsxs("div",{className:"file-explorer-panel ide-style",children:[h.jsxs("div",{className:"file-explorer-panel-header",children:[h.jsxs("div",{className:"file-explorer-panel-title",children:[h.jsxs("div",{className:"file-explorer-nav-group",role:"group","aria-label":"Tab history navigation",children:[h.jsx("button",{type:"button",className:"file-explorer-nav-btn",onClick:AX,disabled:!zX,title:"Back to previous file","aria-label":"Back to previous file",children:h.jsx(F,{name:"arrow-left",size:14})}),h.jsx("button",{type:"button",className:"file-explorer-nav-btn",onClick:NX,disabled:!qX,title:"Forward to next file","aria-label":"Forward to next file",children:h.jsx(F,{name:"arrow-right",size:14})})]}),m&&h.jsxs("div",{className:"file-explorer-folder-selector",onClick:()=>!s&&x.length>0&&P(!Q),style:{cursor:!s&&x.length>0?"pointer":"default"},title:m,children:[h.jsx("span",{className:"file-explorer-panel-dot",style:{background:(o==null?void 0:o.color)||"#ffd700"}}),h.jsx("span",{className:"file-explorer-folder-name",children:S}),h.jsx("span",{className:"file-explorer-folder-path-hint",children:m}),!s&&x.length>1&&h.jsx("span",{className:"file-explorer-folder-dropdown-icon",children:h.jsx(F,{name:"caret-down",size:10})})]}),(T==null?void 0:T.isGitRepo)&&m&&h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"file-explorer-path-separator",children:"/"}),h.jsx(H8,{currentFolder:m,gitStatus:T,onBranchChanged:()=>{w(),V()},onMerge:JX,onCompare:r1,onPullConflicts:e1})]}),M&&h.jsxs("span",{className:"file-explorer-current-file",children:["/ ",M.filename]}),!s&&Q&&x.length>0&&h.jsx("div",{className:"file-explorer-folder-dropdown",onWheel:b=>{b.preventDefault(),b.currentTarget.scrollTop+=b.deltaY*.35},children:x.map(b=>h.jsxs("div",{className:`file-explorer-folder-option ${b.path===m?"active":""}`,onClick:k=>{k.stopPropagation(),IX(b)},children:[h.jsxs("span",{className:"file-explorer-folder-option-name",children:[h.jsx("span",{className:"file-explorer-folder-option-dot",style:{background:b.areaColor}}),b.path.split("/").pop()||b.path]}),(b.path.split("/").pop()||b.path)!==b.path&&h.jsx("span",{className:"file-explorer-folder-option-path",children:b.path}),h.jsx("span",{className:"file-explorer-folder-option-area",children:b.areaName})]},`${b.areaId}-${b.path}`))})]}),(T==null?void 0:T.isGitRepo)&&h.jsx("button",{className:`file-explorer-history-toggle ${Bt?"active":""}`,onClick:()=>_X(!Bt),title:r("terminal:fileExplorer.gitHistory.title"),children:h.jsx(F,{name:"status-waiting-input",size:14})}),h.jsx("button",{className:"file-explorer-panel-close",onClick:i,children:"×"})]}),h.jsxs("div",{className:"file-explorer-main",style:I>0?{"--fe-mobile-tree-height":`${I}px`}:void 0,children:[h.jsxs("div",{className:`file-explorer-tree-panel ${ee?"collapsed":""}`,style:{width:qe},children:[h.jsxs("div",{className:"file-explorer-tabs",children:[h.jsx("button",{className:"file-explorer-tree-toggle",onClick:()=>oe(!ee),title:r(ee?"terminal:fileExplorer.expandTree":"terminal:fileExplorer.collapseTree"),children:h.jsx(F,{name:ee?"caret-down":"caret-up",size:12})}),h.jsxs("button",{className:`file-explorer-tab ${lt==="files"?"active":""}`,onClick:()=>et("files"),children:[h.jsx("span",{className:"tab-icon",children:h.jsx(F,{name:"folder",size:14})}),r("terminal:spotlight.files")]}),h.jsxs("button",{className:`file-explorer-tab ${lt==="git"?"active":""}`,onClick:()=>et("git"),children:[h.jsx("span",{className:"tab-icon",children:h.jsx(F,{name:"git-branch",size:14})}),r("terminal:fileExplorer.gitChanges"),Zd>0&&h.jsx("span",{className:"tab-badge",children:Zd})]}),(Na||pd)&&h.jsxs("button",{className:`file-explorer-tab ${lt==="compare"?"active":""}`,onClick:()=>et("compare"),children:[h.jsx("span",{className:"tab-icon",children:h.jsx(F,{name:"arrows-horizontal",size:14})}),r("terminal:fileExplorer.diffView"),Na&&h.jsx("span",{className:"tab-badge",children:Na.files.length}),h.jsx("span",{className:"tab-close-btn",onClick:b=>{b.stopPropagation(),Yd()},children:"×"})]})]}),lt==="files"&&h.jsxs("div",{className:"file-explorer-toolbar",children:[h.jsxs("div",{className:"file-explorer-search",children:[h.jsx("span",{className:"file-explorer-search-icon",children:h.jsx(F,{name:"search",size:14})}),h.jsx("input",{ref:Qd,type:"text",className:"file-explorer-search-input",placeholder:r("terminal:fileExplorer.searchPlaceholder"),value:QO,onChange:b=>Mt(b.target.value)}),QO&&h.jsx("button",{className:"file-explorer-search-clear",onClick:()=>Mt(""),children:"×"})]}),h.jsxs("div",{className:"file-explorer-toolbar-buttons",children:[h.jsx("button",{className:"file-explorer-toolbar-btn",onClick:()=>R(new Set),title:r("terminal:fileExplorer.collapseAll"),children:"⊟"}),Ae&&h.jsx("button",{className:"file-explorer-toolbar-btn",onClick:()=>Zl(Ae),title:r("terminal:fileExplorer.revealInTree"),children:h.jsx(F,{name:"target",size:14})})]})]}),h.jsx("div",{className:"file-explorer-tree-content",onContextMenu:lt==="files"?DX:void 0,children:lt==="compare"?h.jsx(vX,{compareResult:Na,loading:pd,onFileSelect:a1,selectedPath:se,onClose:Yd}):lt==="files"?Y?h.jsx("div",{className:"tree-loading",children:r("common:status.loading")}):Vi.query?Sl?h.jsx("div",{className:"tree-loading",children:r("terminal:fileExplorer.searching")}):h.jsx(wX,{filenameResults:gl,contentResults:Pl,onSelectFile:Sd,onSelectContent:EX,selectedPath:se,query:Vi.query,lineNumber:Vi.lineNumber}):h.jsx("div",{className:"file-tree",children:Pd.length===0?h.jsx("div",{className:"tree-empty",children:r("terminal:fileExplorer.noDirectoriesLinked")}):Pd.map(b=>h.jsx(g1,{node:b,depth:0,selectedPath:se,expandedPaths:U,onSelect:Sd,onToggle:E,onContextMenu:LX,searchQuery:""},b.path))}):h.jsx(kX,{gitStatus:T,loading:y,onFileSelect:GX,selectedPath:se,onRefresh:w,onStageFiles:KX,stagingPaths:Vt,currentFolder:m,onCommitComplete:()=>{w(),V()},mergeInProgress:T==null?void 0:T.mergeInProgress,mergingBranch:dd,onMergeContinue:n1,onMergeAbort:O1,onConflictOpen:t1,onRevealInTree:Zl})})]}),h.jsx("div",{className:`file-explorer-resize-handle ${ce?"active":""}`,onMouseDown:Me}),!ee&&h.jsx("div",{className:"fe-mobile-resize-handle",onMouseDown:ge,onTouchStart:ve}),h.jsx("div",{className:"file-explorer-viewer-panel",children:Pr?h.jsx(e7,{file:Pr,versions:jX,loading:CX,onResolve:i1,onClose:()=>{Sr(null),TO(null)},currentBranch:(T==null?void 0:T.branch)||"HEAD",mergingBranch:dd||"incoming"}):Rn?h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"commit-diff-header",children:[h.jsx("span",{className:"commit-diff-file",children:Rn.filePath}),h.jsx("span",{className:"commit-diff-hash",children:Rn.hash.slice(0,8)}),h.jsx("button",{className:"commit-diff-close",onClick:o1,children:"×"})]}),h.jsx(iu,{originalContent:Rn.beforeContent,modifiedContent:Rn.afterContent,filename:Rn.filename,language:qd[Rn.extension]||"plaintext"})]}):YX?h.jsx("div",{className:"commit-diff-loading",children:r("common:status.loading")}):h.jsxs(h.Fragment,{children:[h.jsx(TX,{tabs:qi,activeTabPath:Ae,onSelectTab:bd,onCloseTab:yd,onShowGitHistory:BX}),bl==="modified"&&Ca!==null&&M?h.jsx(iu,{originalContent:Ca,modifiedContent:M.content,filename:M.filename,language:qd[M.extension]||"plaintext"}):h.jsx(xX,{file:M,loading:ae,error:ze,onRevealInTree:Zl,scrollToLine:WX,onSearchStateChange:Ga,onFileEdited:Te})]})})]}),Bt&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"git-history-resize-handle",onMouseDown:l1}),h.jsx("div",{className:"git-history-bottom-panel",style:{height:yl},children:h.jsx(o7,{history:q,currentFolder:m,onFileSelect:s1})})]}),Ke.isOpen&&Ke.node&&h.jsx("div",{className:"file-explorer-rename-overlay",onClick:_O,children:h.jsxs("div",{className:"file-explorer-rename-dialog",onClick:b=>b.stopPropagation(),children:[h.jsxs("div",{className:"file-explorer-rename-title",children:["Rename ",Ke.node.isDirectory?"Folder":"File"]}),h.jsx("div",{className:"file-explorer-rename-path",title:Ke.node.path,children:Ke.node.path}),h.jsx("input",{ref:_l,type:"text",className:"file-explorer-rename-input",value:Ke.value,onChange:b=>Yn(k=>({...k,value:b.target.value})),onKeyDown:b=>{b.key==="Enter"?(b.preventDefault(),kd()):b.key==="Escape"&&(b.preventDefault(),_O())},disabled:Ke.submitting}),h.jsxs("div",{className:"file-explorer-rename-actions",children:[h.jsx("button",{className:"file-explorer-rename-btn",onClick:_O,disabled:Ke.submitting,children:"Cancel"}),h.jsx("button",{className:"file-explorer-rename-btn primary",onClick:()=>{kd()},disabled:Ke.submitting||!Ke.value.trim(),children:Ke.submitting?"Renaming...":"Rename"})]})]})}),SO&&h.jsx(FO,{isOpen:SO.isOpen,position:SO.position,worldPosition:{x:0,z:0},actions:FX,onClose:()=>ud(null)}),bO&&h.jsx(FO,{isOpen:bO.isOpen,position:bO.position,worldPosition:{x:0,z:0},actions:HX,onClose:()=>fd(null)}),Qt.isOpen&&h.jsx("div",{className:"file-explorer-rename-overlay",onClick:YO,children:h.jsxs("div",{className:"file-explorer-rename-dialog",onClick:b=>b.stopPropagation(),children:[h.jsxs("div",{className:"file-explorer-rename-title",children:["New ",Qt.isDirectory?"Folder":"File"]}),h.jsx("div",{className:"file-explorer-rename-path",title:Qt.parentDir,children:Qt.parentDir}),h.jsx("input",{ref:md,type:"text",className:"file-explorer-rename-input",placeholder:Qt.isDirectory?"folder name":"file name",value:Qt.value,onChange:b=>xO(k=>({...k,value:b.target.value})),onKeyDown:b=>{b.key==="Enter"?(b.preventDefault(),wd()):b.key==="Escape"&&(b.preventDefault(),YO())},disabled:Qt.submitting}),h.jsxs("div",{className:"file-explorer-rename-actions",children:[h.jsx("button",{className:"file-explorer-rename-btn",onClick:YO,disabled:Qt.submitting,children:"Cancel"}),h.jsx("button",{className:"file-explorer-rename-btn primary",onClick:()=>{wd()},disabled:Qt.submitting||!Qt.value.trim(),children:Qt.submitting?"Creating...":"Create"})]})]})}),h.jsx(d7,{isOpen:xl.open,filePath:xl.path,cwd:xl.cwd,onClose:()=>Xl(b=>({...b,open:!1}))}),h.jsx(P1,{isOpen:!!Wt,title:Wt!=null&&Wt.node.isDirectory?"Delete Folder":"Delete File",message:Wt?h.jsxs(h.Fragment,{children:["Permanently delete ",h.jsx("strong",{children:Wt.node.name}),"?"]}):"",note:Wt!=null&&Wt.node.isDirectory?"The folder and everything inside it will be removed from disk.":"The file will be removed from disk.",confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:()=>{MX()},onClose:()=>hd(null)})]})}const z7=Object.freeze(Object.defineProperty({__proto__:null,FileExplorerPanel:$7},Symbol.toStringTag,{value:"Module"}));export{K as E,$7 as F,X7 as a,Zv as b,v7 as c,lT as d,hT as e,bv as f,y8 as g,ZT as h,y7 as i,n_ as j,aS as k,_T as l,Go as m,_7 as n,W_ as o,K0 as p,X_ as q,g7 as r,f_ as s,w7 as t,mv as u,k7 as v,ye as w,wv as x,z7 as y};
|