From bd23c8d3d6c9e0730d3f94a73a04f6073b69a7c2 Mon Sep 17 00:00:00 2001 From: salam Date: Thu, 16 Oct 2025 14:32:17 +0200 Subject: [PATCH] wip --- ARTISAN.md | 12 +- bootstrap/cache/config.php | 4 +- bootstrap/cache/routes-v7.php | 42 +-- composer.lock | 60 ++-- .../filament/forms/components/code-editor.js | 18 +- .../views/vendor/mail/html/button.blade.php | 24 ++ .../views/vendor/mail/html/footer.blade.php | 11 + .../views/vendor/mail/html/header.blade.php | 12 + .../views/vendor/mail/html/layout.blade.php | 58 ++++ .../views/vendor/mail/html/message.blade.php | 27 ++ .../views/vendor/mail/html/panel.blade.php | 14 + .../views/vendor/mail/html/subcopy.blade.php | 7 + .../views/vendor/mail/html/table.blade.php | 3 + .../views/vendor/mail/html/themes/default.css | 295 ++++++++++++++++++ .../views/vendor/mail/text/button.blade.php | 1 + .../views/vendor/mail/text/footer.blade.php | 1 + .../views/vendor/mail/text/header.blade.php | 1 + .../views/vendor/mail/text/layout.blade.php | 9 + .../views/vendor/mail/text/message.blade.php | 27 ++ .../views/vendor/mail/text/panel.blade.php | 1 + .../views/vendor/mail/text/subcopy.blade.php | 1 + .../views/vendor/mail/text/table.blade.php | 1 + .../vendor/notifications/email.blade.php | 56 ++++ 23 files changed, 617 insertions(+), 68 deletions(-) create mode 100644 resources/views/vendor/mail/html/button.blade.php create mode 100644 resources/views/vendor/mail/html/footer.blade.php create mode 100644 resources/views/vendor/mail/html/header.blade.php create mode 100644 resources/views/vendor/mail/html/layout.blade.php create mode 100644 resources/views/vendor/mail/html/message.blade.php create mode 100644 resources/views/vendor/mail/html/panel.blade.php create mode 100644 resources/views/vendor/mail/html/subcopy.blade.php create mode 100644 resources/views/vendor/mail/html/table.blade.php create mode 100644 resources/views/vendor/mail/html/themes/default.css create mode 100644 resources/views/vendor/mail/text/button.blade.php create mode 100644 resources/views/vendor/mail/text/footer.blade.php create mode 100644 resources/views/vendor/mail/text/header.blade.php create mode 100644 resources/views/vendor/mail/text/layout.blade.php create mode 100644 resources/views/vendor/mail/text/message.blade.php create mode 100644 resources/views/vendor/mail/text/panel.blade.php create mode 100644 resources/views/vendor/mail/text/subcopy.blade.php create mode 100644 resources/views/vendor/mail/text/table.blade.php create mode 100644 resources/views/vendor/notifications/email.blade.php diff --git a/ARTISAN.md b/ARTISAN.md index d94ca78..ca23f55 100644 --- a/ARTISAN.md +++ b/ARTISAN.md @@ -12,7 +12,6 @@ a make:factory GutachterFactory https://fakerphp.org/ - a make:model ZuAbschlaege -m a make:filament-resource ProjekteImport --nested @@ -20,18 +19,19 @@ a make:filament-relation-manager ProjekteResource ProjekteImports name a make:filament-relation-manager RaeumealleResource Raeumealles geschoss - a make:model Allgemeinflaechen -ms a make:model Raeumealle -ms php artisan make:filament-importer Raeumealle - A make:filament-resource Allgemeinflaechen --nested a make:filament-relation-manager KontoTextblockResource konto_textblocks name - -for import in prod run +for import in prod run a queue:listen -in supervisord \ No newline at end of file +in supervisord + +MAIL +php artisan vendor:publish --tag=laravel-notifications +php artisan vendor:publish --tag=laravel-mail diff --git a/bootstrap/cache/config.php b/bootstrap/cache/config.php index ce7485b..f053558 100644 --- a/bootstrap/cache/config.php +++ b/bootstrap/cache/config.php @@ -124,9 +124,9 @@ 'timezone' => 'UTC', 'locale' => 'de', 'fallback_locale' => 'en', - 'faker_locale' => 'de_AT', + 'faker_locale' => 'at_AT', 'cipher' => 'AES-256-CBC', - 'key' => 'base64:3uv/ppXplpqmYtiZ5ZyILnoOTmKfZAz27bfsnR1qmaE=', + 'key' => 'base64:yRi9h21i7xAkGpeF7JoArovQJU1w6xwczQ6ijpYpJrs=', 'previous_keys' => array ( ), diff --git a/bootstrap/cache/routes-v7.php b/bootstrap/cache/routes-v7.php index 69dd5b4..79daf30 100644 --- a/bootstrap/cache/routes-v7.php +++ b/bootstrap/cache/routes-v7.php @@ -531,7 +531,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::SLPFpahgHes6tGI6', + '_route' => 'generated::wkQXGPrYt3lhIERg', ), 1 => NULL, 2 => @@ -551,7 +551,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::Yi6pCtg4x8ZOIhWr', + '_route' => 'generated::PZnpLkFZamY4psiC', ), 1 => NULL, 2 => @@ -609,7 +609,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::s4M8OvZEueR5j7xu', + '_route' => 'generated::QJrCpoSfri3hGCvb', ), 1 => NULL, 2 => @@ -629,7 +629,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::bwGYBVwk7ubiwIB6', + '_route' => 'generated::rXslQBFYDDf2VDXa', ), 1 => NULL, 2 => @@ -649,7 +649,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::CooBwgJE7iwrMo2N', + '_route' => 'generated::zWEpTSyzkyqxf3xK', ), 1 => NULL, 2 => @@ -669,7 +669,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::FLUsbwGhzW52CRf5', + '_route' => 'generated::mSXkxN2fUItkG1IT', ), 1 => NULL, 2 => @@ -689,7 +689,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::hw1aHwsKZFGlGwM8', + '_route' => 'generated::l4nXzbEkt04BJDOb', ), 1 => NULL, 2 => @@ -2740,7 +2740,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::SLPFpahgHes6tGI6' => + 'generated::wkQXGPrYt3lhIERg' => array ( 'methods' => array ( @@ -2752,7 +2752,7 @@ app('router')->setCompiledRoutes( array ( 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', - 'as' => 'generated::SLPFpahgHes6tGI6', + 'as' => 'generated::wkQXGPrYt3lhIERg', ), 'fallback' => false, 'defaults' => @@ -2768,7 +2768,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::Yi6pCtg4x8ZOIhWr' => + 'generated::PZnpLkFZamY4psiC' => array ( 'methods' => array ( @@ -2780,7 +2780,7 @@ app('router')->setCompiledRoutes( array ( 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', - 'as' => 'generated::Yi6pCtg4x8ZOIhWr', + 'as' => 'generated::PZnpLkFZamY4psiC', ), 'fallback' => false, 'defaults' => @@ -2882,7 +2882,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::s4M8OvZEueR5j7xu' => + 'generated::QJrCpoSfri3hGCvb' => array ( 'methods' => array ( @@ -2911,7 +2911,7 @@ app('router')->setCompiledRoutes( \'exception\' => $exception, ]), status: $exception ? 500 : 200); }";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f3b0000000000000000";}}', - 'as' => 'generated::s4M8OvZEueR5j7xu', + 'as' => 'generated::QJrCpoSfri3hGCvb', ), 'fallback' => false, 'defaults' => @@ -2927,7 +2927,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::bwGYBVwk7ubiwIB6' => + 'generated::rXslQBFYDDf2VDXa' => array ( 'methods' => array ( @@ -2949,7 +2949,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::bwGYBVwk7ubiwIB6', + 'as' => 'generated::rXslQBFYDDf2VDXa', ), 'fallback' => false, 'defaults' => @@ -2965,7 +2965,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::CooBwgJE7iwrMo2N' => + 'generated::zWEpTSyzkyqxf3xK' => array ( 'methods' => array ( @@ -2987,7 +2987,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::CooBwgJE7iwrMo2N', + 'as' => 'generated::zWEpTSyzkyqxf3xK', ), 'fallback' => false, 'defaults' => @@ -3003,7 +3003,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::FLUsbwGhzW52CRf5' => + 'generated::mSXkxN2fUItkG1IT' => array ( 'methods' => array ( @@ -3025,7 +3025,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::FLUsbwGhzW52CRf5', + 'as' => 'generated::mSXkxN2fUItkG1IT', ), 'fallback' => false, 'defaults' => @@ -3041,7 +3041,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::hw1aHwsKZFGlGwM8' => + 'generated::l4nXzbEkt04BJDOb' => array ( 'methods' => array ( @@ -3063,7 +3063,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::hw1aHwsKZFGlGwM8', + 'as' => 'generated::l4nXzbEkt04BJDOb', ), 'fallback' => false, 'defaults' => diff --git a/composer.lock b/composer.lock index 23ae0d0..0274a3e 100644 --- a/composer.lock +++ b/composer.lock @@ -1462,7 +1462,7 @@ }, { "name": "filament/actions", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", @@ -1511,16 +1511,16 @@ }, { "name": "filament/filament", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "c3113acd9f4a78234517a5ff1db0ed6cc4e079f5" + "reference": "010728faccca684f5b1ee0c64d640c843cc1ade4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/c3113acd9f4a78234517a5ff1db0ed6cc4e079f5", - "reference": "c3113acd9f4a78234517a5ff1db0ed6cc4e079f5", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/010728faccca684f5b1ee0c64d640c843cc1ade4", + "reference": "010728faccca684f5b1ee0c64d640c843cc1ade4", "shasum": "" }, "require": { @@ -1564,20 +1564,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-14T15:21:09+00:00" + "time": "2025-10-15T14:31:27+00:00" }, { "name": "filament/forms", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "f413204a19060c8ee7caac6b610aed0dd9ef4c40" + "reference": "1993328e69d58088c3ac533a2e9464b09212df78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/f413204a19060c8ee7caac6b610aed0dd9ef4c40", - "reference": "f413204a19060c8ee7caac6b610aed0dd9ef4c40", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/1993328e69d58088c3ac533a2e9464b09212df78", + "reference": "1993328e69d58088c3ac533a2e9464b09212df78", "shasum": "" }, "require": { @@ -1614,11 +1614,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-14T15:20:12+00:00" + "time": "2025-10-15T14:31:46+00:00" }, { "name": "filament/infolists", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", @@ -1663,7 +1663,7 @@ }, { "name": "filament/notifications", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", @@ -1710,16 +1710,16 @@ }, { "name": "filament/schemas", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/schemas.git", - "reference": "c0d362d65fef069934cf3e261722dc79ef006a72" + "reference": "9b58c386499862e751752ab1e61787a84c6912a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/schemas/zipball/c0d362d65fef069934cf3e261722dc79ef006a72", - "reference": "c0d362d65fef069934cf3e261722dc79ef006a72", + "url": "https://api.github.com/repos/filamentphp/schemas/zipball/9b58c386499862e751752ab1e61787a84c6912a6", + "reference": "9b58c386499862e751752ab1e61787a84c6912a6", "shasum": "" }, "require": { @@ -1751,11 +1751,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-14T15:20:37+00:00" + "time": "2025-10-15T14:31:34+00:00" }, { "name": "filament/support", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", @@ -1813,16 +1813,16 @@ }, { "name": "filament/tables", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "bfa656c89dd11ab77a8398a73f24a1781a5dd329" + "reference": "0e9b47129e42a7429c020ace617a54cbda4852ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/bfa656c89dd11ab77a8398a73f24a1781a5dd329", - "reference": "bfa656c89dd11ab77a8398a73f24a1781a5dd329", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/0e9b47129e42a7429c020ace617a54cbda4852ce", + "reference": "0e9b47129e42a7429c020ace617a54cbda4852ce", "shasum": "" }, "require": { @@ -1854,11 +1854,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-14T15:22:38+00:00" + "time": "2025-10-15T14:31:42+00:00" }, { "name": "filament/widgets", - "version": "v4.1.8", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", @@ -3256,16 +3256,16 @@ }, { "name": "league/csv", - "version": "9.26.0", + "version": "9.27.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "7fce732754d043f3938899e5183e2d0f3d31b571" + "reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/7fce732754d043f3938899e5183e2d0f3d31b571", - "reference": "7fce732754d043f3938899e5183e2d0f3d31b571", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/cb491b1ba3c42ff2bcd0113814f4256b42bae845", + "reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845", "shasum": "" }, "require": { @@ -3343,7 +3343,7 @@ "type": "github" } ], - "time": "2025-10-01T11:24:54+00:00" + "time": "2025-10-16T08:22:09+00:00" }, { "name": "league/flysystem", diff --git a/public/js/filament/forms/components/code-editor.js b/public/js/filament/forms/components/code-editor.js index f6e1b05..721f7ae 100644 --- a/public/js/filament/forms/components/code-editor.js +++ b/public/js/filament/forms/components/code-editor.js @@ -7,9 +7,9 @@ var Gs=[],hh=[];(()=>{let O="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2, `;this.styleTag.textContent=s;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Rt={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:"'"},NO={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Bg=typeof navigator<"u"&&/Mac/.test(navigator.platform),Ng=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for($e=0;$e<10;$e++)Rt[48+$e]=Rt[96+$e]=String($e);var $e;for($e=1;$e<=24;$e++)Rt[$e+111]="F"+$e;var $e;for($e=65;$e<=90;$e++)Rt[$e]=String.fromCharCode($e+32),NO[$e]=String.fromCharCode($e);var $e;for(Hr in Rt)NO.hasOwnProperty(Hr)||(NO[Hr]=Rt[Hr]);var Hr;function Vh(O){var e=Bg&&O.metaKey&&O.shiftKey&&!O.ctrlKey&&!O.altKey||Ng&&O.shiftKey&&O.key&&O.key.length==1||O.key=="Unidentified",t=!e&&O.key||(O.shiftKey?NO:Rt)[O.keyCode]||O.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function B(){var O=arguments[0];typeof O=="string"&&(O=document.createElement(O));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];typeof r=="string"?O.setAttribute(i,r):r!=null&&(O[i]=r)}e++}for(;e2),Y={mac:Uh||/Mac/.test(Ze.platform),windows:/Win/.test(Ze.platform),linux:/Linux|X11/.test(Ze.platform),ie:vn,ie_version:bf?da.documentMode||6:Qa?+Qa[1]:ua?+ua[1]:0,gecko:zh,gecko_version:zh?+(/Firefox\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,chrome:!!sa,chrome_version:sa?+sa[1]:0,ios:Uh,android:/Android\b/.test(Ze.userAgent),webkit:Wh,webkit_version:Wh?+(/\bAppleWebKit\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,safari:$a,safari_version:$a?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ze.userAgent)||[0,0])[1]:0,tabSize:da.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ei(O){let e;return O.nodeType==11?e=O.getSelection?O:O.ownerDocument:e=O,e.getSelection()}function pa(O,e){return e?O==e||O.contains(e.nodeType!=1?e.parentNode:e):!1}function on(O,e){if(!e.anchorNode)return!1;try{return pa(O,e.anchorNode)}catch{return!1}}function Ai(O){return O.nodeType==3?gO(O,0,O.nodeValue.length).getClientRects():O.nodeType==1?O.getClientRects():[]}function Vi(O,e,t,i){return t?jh(O,e,t,i,-1)||jh(O,e,t,i,1):!1}function mO(O){for(var e=0;;e++)if(O=O.previousSibling,!O)return e}function un(O){return O.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(O.nodeName)}function jh(O,e,t,i,r){for(;;){if(O==t&&e==i)return!0;if(e==(r<0?0:St(O))){if(O.nodeName=="DIV")return!1;let n=O.parentNode;if(!n||n.nodeType!=1)return!1;e=mO(O)+(r<0?0:1),O=n}else if(O.nodeType==1){if(O=O.childNodes[e+(r<0?-1:0)],O.nodeType==1&&O.contentEditable=="false")return!1;e=r<0?St(O):0}else return!1}}function St(O){return O.nodeType==3?O.nodeValue.length:O.childNodes.length}function Yn(O,e){let t=e?O.left:O.right;return{left:t,right:t,top:O.top,bottom:O.bottom}}function Fg(O){let e=O.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:O.innerWidth,top:0,bottom:O.innerHeight}}function xf(O,e){let t=e.width/O.offsetWidth,i=e.height/O.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-O.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-O.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function Hg(O,e,t,i,r,n,s,a){let o=O.ownerDocument,c=o.defaultView||window;for(let l=O,h=!1;l&&!h;)if(l.nodeType==1){let f,u=l==o.body,Q=1,$=1;if(u)f=Fg(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(l).position)&&(h=!0),l.scrollHeight<=l.clientHeight&&l.scrollWidth<=l.clientWidth){l=l.assignedSlot||l.parentNode;continue}let g=l.getBoundingClientRect();({scaleX:Q,scaleY:$}=xf(l,g)),f={left:g.left,right:g.left+l.clientWidth*Q,top:g.top,bottom:g.top+l.clientHeight*$}}let p=0,m=0;if(r=="nearest")e.top0&&e.bottom>f.bottom+m&&(m=e.bottom-f.bottom+s)):e.bottom>f.bottom&&(m=e.bottom-f.bottom+s,t<0&&e.top-m0&&e.right>f.right+p&&(p=e.right-f.right+n)):e.right>f.right&&(p=e.right-f.right+n,t<0&&e.leftf.bottom||e.leftf.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)}),l=l.assignedSlot||l.parentNode}else if(l.nodeType==11)l=l.host;else break}function Kg(O){let e=O.ownerDocument,t,i;for(let r=O.parentNode;r&&!(r==e.body||t&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:i}}var ma=class{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:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?St(t):0),i,Math.min(e.focusOffset,i?St(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}},$O=null;Y.safari&&Y.safari_version>=26&&($O=!1);function wf(O){if(O.setActive)return O.setActive();if($O)return O.focus($O);let e=[];for(let t=O;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(O.focus($O==null?{get preventScroll(){return $O={preventScroll:!0},!0}}:void 0),!$O){$O=!1;for(let t=0;tMath.max(1,O.scrollHeight-O.clientHeight-4)}function Yf(O,e){for(let t=O,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=St(t)}else if(t.parentNode&&!un(t))i=mO(t),t=t.parentNode;else return null}}function Zf(O,e){for(let t=O,i=e;;){if(t.nodeType==3&&it)return h.domBoundsAround(e,t,c);if(f>=e&&r==-1&&(r=o,n=c),c>t&&h.dom.parentNode==this.dom){s=o,a=l;break}l=f,c=f+h.breakAfter}return{from:n,to:a<0?i+this.length:a,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=to){this.markDirty();for(let r=e;rthis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}};function Rf(O,e,t,i,r,n,s,a,o){let{children:c}=O,l=c.length?c[e]:null,h=n.length?n[n.length-1]:null,f=h?h.breakAfter:s;if(!(e==i&&l&&!s&&!f&&n.length<2&&l.merge(t,r,n.length?h:null,t==0,a,o))){if(i0&&(!s&&n.length&&l.merge(t,l.length,n[0],!1,a,0)?l.breakAfter=n.shift().breakAfter:(ttP||i.flags&8)?!1:(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new O(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Re(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return OP(this.dom,e,t)}},Bt=class O extends ne{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let r of t)r.setParent(this)}setAttrs(e){if(kf(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,r,n,s){return i&&(!(i instanceof O&&i.mark.eq(this.mark))||e&&n<=0||te&&t.push(i=e&&(r=n),i=o,n++}let s=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new O(this.mark,t,s)}domAtPos(e){return Vf(this,e)}coordsAt(e,t){return zf(this,e,t)}};function OP(O,e,t){let i=O.nodeValue.length;e>i&&(e=i);let r=e,n=e,s=0;e==0&&t<0||e==i&&t>=0?Y.chrome||Y.gecko||(e?(r--,s=1):n=0)?0:a.length-1];return Y.safari&&!s&&o.width==0&&(o=Array.prototype.find.call(a,c=>c.width)||o),s?Yn(o,s<0):o||null}var Li=class O extends ne{static create(e,t,i){return new O(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=O.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,i,r,n,s){return i&&(!(i instanceof O)||!this.widget.compare(i.widget)||e>0&&n<=0||t0)?Re.before(this.dom):Re.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let r=this.dom.getClientRects(),n=null;if(!r.length)return null;let s=this.side?this.side<0:e>0;for(let a=s?r.length-1:0;n=r[a],!(e>0?a==0:a==r.length-1||n.top0?Re.before(this.dom):Re.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return G.empty}get isHidden(){return!0}};Xt.prototype.children=Li.prototype.children=Mi.prototype.children=to;function Vf(O,e){let t=O.dom,{children:i}=O,r=0;for(let n=0;rn&&e0;n--){let s=i[n-1];if(s.dom.parentNode==t)return s.domAtPos(s.length)}for(let n=r;n0&&e instanceof Bt&&r.length&&(i=r[r.length-1])instanceof Bt&&i.mark.eq(e.mark)?qf(i,e.children[0],t-1):(r.push(e),e.setParent(O)),O.length+=e.length}function zf(O,e,t){let i=null,r=-1,n=null,s=-1;function a(c,l){for(let h=0,f=0;h=l&&(u.children.length?a(u,l-f):(!n||n.isHidden&&(t>0||rP(n,u)))&&(Q>l||f==Q&&u.getSide()>0)?(n=u,s=l-f):(f-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let n of i)if(n!=t&&(r.indexOf(n)==-1||O[n]!==e[n]))return!1;return!0}function Pa(O,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?O.style.cssText="":O.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?O.style.cssText=t[r]:O.setAttribute(r,t[r]));return i}function nP(O){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Nt(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:n,end:s}=Wf(e,t);i=(n?t?-3e8:-1:5e8)-1,r=(s?t?2e8:1:-6e8)+1}return new Nt(e,i,r,t,e.widget||null,!0)}static line(e){return new Ii(e)}static set(e,t=!1){return F.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=F.empty;var Di=class O extends Z{constructor(e){let{start:t,end:i}=Wf(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof O&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((i=e.attrs)===null||i===void 0?void 0:i.class))&&$n(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};Di.prototype.point=!1;var Ii=class O extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof O&&this.spec.class==e.spec.class&&$n(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Ii.prototype.mapMode=pe.TrackBefore;Ii.prototype.point=!0;var Nt=class O extends Z{constructor(e,t,i,r,n,s){super(t,i,n,e),this.block=r,this.isReplace=s,this.mapMode=r?t<=0?pe.TrackBefore:pe.TrackAfter:pe.TrackDel}get type(){return this.startSide!=this.endSide?_e.WidgetRange:this.startSide<=0?_e.WidgetBefore:_e.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof O&&sP(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Nt.prototype.point=!0;function Wf(O,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=O;return t==null&&(t=O.inclusive),i==null&&(i=O.inclusive),{start:t??e,end:i??e}}function sP(O,e){return O==e||!!(O&&e&&O.compare(e))}function ln(O,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=O?t[r]=Math.max(t[r],e):t.push(O,e)}var Xe=class O extends ne{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,r,n,s){if(i){if(!(i instanceof O))return!1;this.dom||i.transferDOM(this)}return r&&this.setDeco(i?i.attrs:null),_f(this,e,t,i?i.children.slice():[],n,s),!0}split(e){let t=new O;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i,off:r}=this.childPos(e);r&&(t.append(this.children[i].split(r),0),this.children[i].merge(r,this.children[i].length,null,!1,0,0),i++);for(let n=i;n0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){$n(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){qf(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=ga(t,this.attrs||{})),i&&(this.attrs=ga({class:i},this.attrs||{}))}domAtPos(e){return Vf(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?this.flags&4&&(kf(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(Pa(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&ne.get(r)instanceof Bt;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((i=ne.get(r))===null||i===void 0?void 0:i.isEditable)==!1&&(!Y.ios||!this.children.some(n=>n instanceof Xt))){let n=document.createElement("BR");n.cmIgnore=!0,this.dom.appendChild(n)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let i of this.children){if(!(i instanceof Xt)||/[^ -~]/.test(i.text))return null;let r=Ai(i.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let i=zf(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:r}=this.parent.view.viewState,n=i.bottom-i.top;if(Math.abs(n-r.lineHeight)<2&&r.textHeight=t){if(n instanceof O)return n;if(s>t)break}r=s+n.breakAfter}return null}},pO=class O extends ne{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,r,n,s){return i&&(!(i instanceof O)||!this.widget.compare(i.widget)||e>0&&n<=0||t0}},Bi=class extends We{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}},qi=class O{constructor(e,t,i,r){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof pO&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Xe),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Kr(new Mi(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof pO)&&this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:a,done:o}=this.cursor.next(this.skip);if(this.skip=0,o)throw new Error("Ran out of text content when drawing inline views");if(a){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=s,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e),n=Math.min(r,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(Kr(new Xt(this.text.slice(this.textOff,this.textOff+n)),t),i),this.atCursorPos=!0,this.textOff+=n,e-=n,i=r<=n?0:t.length}}span(e,t,i,r){this.buildText(t-e,i,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,i,r,n,s){if(this.disallowBlockEffectsFor[s]&&i instanceof Nt){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(i instanceof Nt)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new pO(i.widget||Ft.block,a,i));else{let o=Li.create(i.widget||Ft.inline,a,a?0:i.startSide),c=this.atCursorPos&&!o.isEditable&&n<=r.length&&(e0),l=!o.isEditable&&(er.length||i.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!c&&!o.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),c&&(h.append(Kr(new Mi(1),r),n),n=r.length+Math.max(0,n-r.length)),h.append(Kr(o,r),n),this.atCursorPos=l,this.pendingBuffer=l?er.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=n)}static build(e,t,i,r,n){let s=new O(e,t,i,n);return s.openEnd=F.spans(r,t,i,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}};function Kr(O,e){for(let t of e)O=new Bt(t,[O],O.length);return O}var Ft=class extends We{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}};Ft.inline=new Ft("span");Ft.block=new Ft("div");var ee=(function(O){return O[O.LTR=0]="LTR",O[O.RTL=1]="RTL",O})(ee||(ee={})),PO=ee.LTR,Oo=ee.RTL;function Uf(O){let e=[];for(let t=0;t=t){if(a.level==i)return s;(n<0||(r!=0?r<0?a.fromt:e[n].level>a.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function Cf(O,e){if(O.length!=e.length)return!1;for(let t=0;t=0;$-=3)if(pt[$+1]==-u){let p=pt[$+2],m=p&2?r:p&4?p&1?n:r:0;m&&(re[h]=re[pt[$]]=m),a=$;break}}else{if(pt.length==189)break;pt[a++]=h,pt[a++]=f,pt[a++]=o}else if((Q=re[h])==2||Q==1){let $=Q==r;o=$?0:1;for(let p=a-3;p>=0;p-=3){let m=pt[p+2];if(m&2)break;if($)pt[p+2]|=2;else{if(m&4)break;pt[p+2]|=4}}}}}function fP(O,e,t,i){for(let r=0,n=i;r<=t.length;r++){let s=r?t[r-1].to:O,a=ro;)Q==p&&(Q=t[--$].from,p=$?t[$-1].to:O),re[--Q]=u;o=l}else n=c,o++}}}function Xa(O,e,t,i,r,n,s){let a=i%2?2:1;if(i%2==r%2)for(let o=e,c=0;oo&&s.push(new gt(o,$.from,u));let p=$.direction==PO!=!(u%2);Ta(O,p?i+1:i,r,$.inner,$.from,$.to,s),o=$.to}Q=$.to}else{if(Q==t||(l?re[Q]!=a:re[Q]==a))break;Q++}f?Xa(O,o,Q,i+1,r,f,s):oe;){let l=!0,h=!1;if(!c||o>n[c-1].to){let $=re[o-1];$!=a&&(l=!1,h=$==16)}let f=!l&&a==1?[]:null,u=l?i:i+1,Q=o;e:for(;;)if(c&&Q==n[c-1].to){if(h)break e;let $=n[--c];if(!l)for(let p=$.from,m=c;;){if(p==e)break e;if(m&&n[m-1].to==p)p=n[--m].from;else{if(re[p-1]==a)break e;break}}if(f)f.push($);else{$.tore.length;)re[re.length]=256;let i=[],r=e==PO?0:1;return Ta(O,r,r,t,0,O.length,i),i}function Gf(O){return[new gt(0,O,0)]}var Ef="";function uP(O,e,t,i,r){var n;let s=i.head-O.from,a=gt.find(e,s,(n=i.bidiLevel)!==null&&n!==void 0?n:-1,i.assoc),o=e[a],c=o.side(r,t);if(s==c){let f=a+=r?1:-1;if(f<0||f>=e.length)return null;o=e[a=f],s=o.side(!r,t),c=o.side(r,t)}let l=Qe(O.text,s,o.forward(r,t));(lo.to)&&(l=c),Ef=O.text.slice(Math.min(s,l),Math.max(s,l));let h=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return h&&l==c&&h.level+(r?0:1)O.some(e=>e)}),Ff=v.define({combine:O=>O.some(e=>e)}),Hf=v.define(),zi=class O{constructor(e,t="nearest",i="nearest",r=5,n=5,s=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new O(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 O(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=V.define({map:(O,e)=>O.map(e)}),Kf=V.define();function Te(O,e,t){let i=O.facet(Df);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var _t=v.define({combine:O=>O.length?O[0]:!0}),$P=0,FO=v.define({combine(O){return O.filter((e,t)=>{for(let i=0;i{let o=[];return s&&o.push(Ni.of(c=>{let l=c.plugin(a);return l?s(l):Z.none})),n&&o.push(n(a)),o})}static fromClass(e,t){return O.define((i,r)=>new e(i,r),t)}},Wi=class{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 t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Te(t.state,i,"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(t){Te(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Te(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Jf=v.define(),no=v.define(),Ni=v.define(),ed=v.define(),Ki=v.define(),td=v.define();function Ah(O,e){let t=O.state.facet(td);if(!t.length)return t;let i=t.map(n=>n instanceof Function?n(O):n),r=[];return F.spans(i,e.from,e.to,{point(){},span(n,s,a,o){let c=n-e.from,l=s-e.from,h=r;for(let f=a.length-1;f>=0;f--,o--){let u=a[f].spec.bidiIsolate,Q;if(u==null&&(u=QP(e.text,c,l)),o>0&&h.length&&(Q=h[h.length-1]).to==c&&Q.direction==u)Q.to=l,h=Q.inner;else{let $={from:c,to:l,direction:u,inner:[]};h.push($),h=$.inner}}}}),r}var Od=v.define();function so(O){let e=0,t=0,i=0,r=0;for(let n of O.state.facet(Od)){let s=n(O);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(t=Math.max(t,s.right)),s.top!=null&&(i=Math.max(i,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:t,top:i,bottom:r}}var Yi=v.define(),Pt=class O{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new O(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 t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toAl)break;n+=2}if(!o)return i;new O(o.fromA,o.toA,o.fromB,o.toB).addToSet(i),s=o.toA,a=o.toB}}},pn=class O{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=ve.empty(this.startState.doc.length);for(let n of i)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,a,o)=>r.push(new Pt(n,s,a,o))),this.changedRanges=r}static create(e,t,i){return new O(e,t,i)}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}},mn=class extends ne{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=Z.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.setDOM(e.contentDOM),this.children=[new Xe],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Pt(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:c,toA:l})=>lthis.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 r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!TP(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?mP(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:c,to:l}=this.hasComposition;i=new Pt(c,l,e.changes.mapPos(c,-1),e.changes.mapPos(l,1)).addToSet(i.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Y.ie||Y.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,a=this.updateDeco(),o=SP(s,a,e.changes);return i=Pt.extendWithRanges(i,o),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,e.startState.doc.length,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=Y.chrome||Y.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,s),this.flags&=-8,s&&(s.written||r.selectionRange.focusNode!=s.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(s=>s.flags&=-9);let n=[];if(this.view.viewport.from||this.view.viewport.to=0?r[s]:null;if(!a)break;let{fromA:o,toA:c,fromB:l,toB:h}=a,f,u,Q,$;if(i&&i.range.fromBl){let T=qi.build(this.view.state.doc,l,i.range.fromB,this.decorations,this.dynamicDecorationMap),S=qi.build(this.view.state.doc,i.range.toB,h,this.decorations,this.dynamicDecorationMap);u=T.breakAtStart,Q=T.openStart,$=S.openEnd;let x=this.compositionView(i);S.breakAtStart?x.breakAfter=1:S.content.length&&x.merge(x.length,x.length,S.content[0],!1,S.openStart,0)&&(x.breakAfter=S.content[0].breakAfter,S.content.shift()),T.content.length&&x.merge(0,0,T.content[T.content.length-1],!0,0,T.openEnd)&&T.content.pop(),f=T.content.concat(x).concat(S.content)}else({content:f,breakAtStart:u,openStart:Q,openEnd:$}=qi.build(this.view.state.doc,l,h,this.decorations,this.dynamicDecorationMap));let{i:p,off:m}=n.findPos(c,1),{i:g,off:X}=n.findPos(o,-1);Rf(this,g,X,p,m,f,u,Q,$)}i&&this.fixCompositionDOM(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(Kf)&&(this.editContextFormatting=i.value)}compositionView(e){let t=new Xt(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new Bt(r,[t],t.length);let i=new Xe;return i.append(t,0),i}fixCompositionDOM(e){let t=(n,s)=>{s.flags|=8|(s.children.some(o=>o.flags&7)?1:0),this.markedForComposition.add(s);let a=ne.get(n);a&&a!=s&&(a.dom=null),s.setDOM(n)},i=this.childPos(e.range.fromB,1),r=this.children[i.i];t(e.line,r);for(let n=e.marks.length-1;n>=-1;n--)i=r.childPos(i.off,1),r=r.children[i.i],t(n>=0?e.marks[n].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,r=i==this.dom,n=!r&&!(this.view.state.facet(_t)||this.dom.tabIndex>-1)&&on(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(r||t||n))return;let s=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,o=this.moveToLine(this.domAtPos(a.anchor)),c=a.empty?o:this.moveToLine(this.domAtPos(a.head));if(Y.gecko&&a.empty&&!this.hasComposition&&pP(o)){let h=document.createTextNode("");this.view.observer.ignore(()=>o.node.insertBefore(h,o.node.childNodes[o.offset]||null)),o=c=new Re(h,0),s=!0}let l=this.view.observer.selectionRange;(s||!l.focusNode||(!Vi(o.node,o.offset,l.anchorNode,l.anchorOffset)||!Vi(c.node,c.offset,l.focusNode,l.focusOffset))&&!this.suppressWidgetCursorChange(l,a))&&(this.view.observer.ignore(()=>{Y.android&&Y.chrome&&this.dom.contains(l.focusNode)&&XP(l.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=Ei(this.view.root);if(h)if(a.empty){if(Y.gecko){let f=gP(o.node,o.offset);if(f&&f!=3){let u=(f==1?Yf:Zf)(o.node,o.offset);u&&(o=new Re(u.node,u.offset))}}h.collapse(o.node,o.offset),a.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=a.bidiLevel)}else if(h.extend){h.collapse(o.node,o.offset);try{h.extend(c.node,c.offset)}catch{}}else{let f=document.createRange();a.anchor>a.head&&([o,c]=[c,o]),f.setEnd(c.node,c.offset),f.setStart(o.node,o.offset),h.removeAllRanges(),h.addRange(f)}n&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(o,c)),this.impreciseAnchor=o.precise?null:new Re(l.anchorNode,l.anchorOffset),this.impreciseHead=c.precise?null:new Re(l.focusNode,l.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Vi(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Ei(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let s=Xe.find(this,t.head);if(!s)return;let a=s.posAtStart;if(t.head==a||t.head==a+s.length)return;let o=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!o||!c||o.bottom>c.top)return;let l=this.domAtPos(t.head+t.assoc);i.collapse(l.node,l.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&i.collapse(r,n)}moveToLine(e){let t=this.dom,i;if(e.node!=t)return e;for(let r=e.offset;!i&&r=0;r--){let n=ne.get(t.childNodes[r]);n instanceof Xe&&(i=n.domAtPos(n.length))}return i?new Re(i.node,i.offset,!0):e}nearest(e){for(let t=e;t;){let i=ne.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=0;s--){let a=this.children[s],o=n-a.breakAfter,c=o-a.length;if(oe||a.covers(1))&&(!i||a instanceof Xe&&!(i instanceof Xe&&t>=0)))i=a,r=c;else if(i&&c==e&&o==e&&a instanceof pO&&Math.abs(t)<2){if(a.deco.startSide<0)break;s&&(i=null)}n=c}return i?i.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),r=this.children[t];if(!(r instanceof Xe))return null;for(;r.children.length;){let{i:a,off:o}=r.childPos(i,1);for(;;a++){if(a==r.children.length)return null;if((r=r.children[a]).length)break}i=o}if(!(r instanceof Xt))return null;let n=Qe(r.text,i);if(n==i)return null;let s=gO(r.dom,i,n).getClientRects();for(let a=0;aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,o=this.view.textDirection==ee.LTR;for(let c=0,l=0;lr)break;if(c>=i){let u=h.dom.getBoundingClientRect();if(t.push(u.height),s){let Q=h.dom.lastChild,$=Q?Ai(Q):[];if($.length){let p=$[$.length-1],m=o?p.right-u.left:u.right-p.left;m>a&&(a=m,this.minWidth=n,this.minWidthFrom=c,this.minWidthTo=f)}}}c=f+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?ee.RTL:ee.LTR}measureTextSize(){for(let n of this.children)if(n instanceof Xe){let s=n.measureTextSize();if(s)return s}let e=document.createElement("div"),t,i,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let n=Ai(e.firstChild)[0];t=e.getBoundingClientRect().height,i=n?n.width/27:7,r=n?n.height:t,e.remove()}),{lineHeight:t,charWidth:i,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Qn(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let n=r==t.viewports.length?null:t.viewports[r],s=n?n.from-1:this.length;if(s>i){let a=(t.lineBlockAt(s).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(Z.replace({widget:new Bi(a),block:!0,inclusive:!0,isBlockGap:!0}).range(i,s))}if(!n)break;i=n.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ni).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),i=!1,r=this.view.state.facet(ed).map((n,s)=>{let a=typeof n=="function";return a&&(i=!0),a?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(F.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];et.anchor?-1:1),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let n=so(this.view),s={left:i.left-n.left,top:i.top-n.top,right:i.right+n.right,bottom:i.bottom+n.bottom},{offsetWidth:a,offsetHeight:o}=this.view.scrollDOM;Hg(this.view.scrollDOM,s,t.head{ie.from&&(t=!0)}),t}function yP(O,e,t=1){let i=O.charCategorizer(e),r=O.doc.lineAt(e),n=e-r.from;if(r.length==0)return P.cursor(e);n==0?t=1:n==r.length&&(t=-1);let s=n,a=n;t<0?s=Qe(r.text,n,!1):a=Qe(r.text,n);let o=i(r.text.slice(s,a));for(;s>0;){let c=Qe(r.text,s,!1);if(i(r.text.slice(c,s))!=o)break;s=c}for(;aO?e.left-O:Math.max(0,O-e.right)}function xP(O,e){return e.top>O?e.top-O:Math.max(0,O-e.bottom)}function aa(O,e){return O.tope.top+1}function Lh(O,e){return eO.bottom?{top:O.top,left:O.left,right:O.right,bottom:e}:O}function ba(O,e,t){let i,r,n,s,a=!1,o,c,l,h;for(let Q=O.firstChild;Q;Q=Q.nextSibling){let $=Ai(Q);for(let p=0;p<$.length;p++){let m=$[p];r&&aa(r,m)&&(m=Lh(Mh(m,r.bottom),r.top));let g=bP(e,m),X=xP(t,m);if(g==0&&X==0)return Q.nodeType==3?Dh(Q,e,t):ba(Q,e,t);(!i||s>X||s==X&&n>g)&&(i=Q,r=m,n=g,s=X,a=g?e0:p<$.length-1:!0),g==0?t>m.bottom&&(!l||l.bottomm.top)&&(c=Q,h=m):l&&aa(l,m)?l=Mh(l,m.bottom):h&&aa(h,m)&&(h=Lh(h,m.top))}}if(l&&l.bottom>=t?(i=o,r=l):h&&h.top<=t&&(i=c,r=h),!i)return{node:O,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(i.nodeType==3)return Dh(i,f,t);if(a&&i.contentEditable!="false")return ba(i,f,t);let u=Array.prototype.indexOf.call(O.childNodes,i)+(e>=(r.left+r.right)/2?1:0);return{node:O,offset:u}}function Dh(O,e,t){let i=O.nodeValue.length,r=-1,n=1e9,s=0;for(let a=0;at?l.top-t:t-l.bottom)-1;if(l.left-1<=e&&l.right+1>=e&&h=(l.left+l.right)/2,u=f;if((Y.chrome||Y.gecko)&&gO(O,a).getBoundingClientRect().left==l.right&&(u=!f),h<=0)return{node:O,offset:a+(u?1:0)};r=a+(u?1:0),n=h}}}return{node:O,offset:r>-1?r:s>0?O.nodeValue.length:0}}function rd(O,e,t,i=-1){var r,n;let s=O.contentDOM.getBoundingClientRect(),a=s.top+O.viewState.paddingTop,o,{docHeight:c}=O.viewState,{x:l,y:h}=e,f=h-a;if(f<0)return 0;if(f>c)return O.state.doc.length;for(let T=O.viewState.heightOracle.textHeight/2,S=!1;o=O.elementAtHeight(f),o.type!=_e.Text;)for(;f=i>0?o.bottom+T:o.top-T,!(f>=0&&f<=c);){if(S)return t?null:0;S=!0,i=-i}h=a+f;let u=o.from;if(uO.viewport.to)return O.viewport.to==O.state.doc.length?O.state.doc.length:t?null:Ih(O,s,o,l,h);let Q=O.dom.ownerDocument,$=O.root.elementFromPoint?O.root:Q,p=$.elementFromPoint(l,h);p&&!O.contentDOM.contains(p)&&(p=null),p||(l=Math.max(s.left+1,Math.min(s.right-1,l)),p=$.elementFromPoint(l,h),p&&!O.contentDOM.contains(p)&&(p=null));let m,g=-1;if(p&&((r=O.docView.nearest(p))===null||r===void 0?void 0:r.isEditable)!=!1){if(Q.caretPositionFromPoint){let T=Q.caretPositionFromPoint(l,h);T&&({offsetNode:m,offset:g}=T)}else if(Q.caretRangeFromPoint){let T=Q.caretRangeFromPoint(l,h);T&&({startContainer:m,startOffset:g}=T)}m&&(!O.contentDOM.contains(m)||Y.safari&&wP(m,g,l)||Y.chrome&&kP(m,g,l))&&(m=void 0),m&&(g=Math.min(St(m),g))}if(!m||!O.docView.dom.contains(m)){let T=Xe.find(O.docView,u);if(!T)return f>o.top+o.height/2?o.to:o.from;({node:m,offset:g}=ba(T.dom,l,h))}let X=O.docView.nearest(m);if(!X)return null;if(X.isWidget&&((n=X.dom)===null||n===void 0?void 0:n.nodeType)==1){let T=X.dom.getBoundingClientRect();return e.yO.defaultLineHeight*1.5){let a=O.viewState.heightOracle.textHeight,o=Math.floor((r-t.top-(O.defaultLineHeight-a)*.5)/a);n+=o*O.viewState.heightOracle.lineLength}let s=O.state.sliceDoc(t.from,t.to);return t.from+Fr(s,n,O.state.tabSize)}function nd(O,e,t){let i,r=O;if(O.nodeType!=3||e!=(i=O.nodeValue.length))return!1;for(;;){let n=r.nextSibling;if(n){if(n.nodeName=="BR")break;return!1}else{let s=r.parentNode;if(!s||s.nodeName=="DIV")break;r=s}}return gO(O,i-1,i).getBoundingClientRect().right>t}function wP(O,e,t){return nd(O,e,t)}function kP(O,e,t){if(e!=0)return nd(O,e,t);for(let r=O;;){let n=r.parentNode;if(!n||n.nodeType!=1||n.firstChild!=r)return!1;if(n.classList.contains("cm-line"))break;r=n}let i=O.nodeType==1?O.getBoundingClientRect():gO(O,0,Math.max(O.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}function xa(O,e,t){let i=O.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let n of i.type){if(n.from>e)break;if(!(n.toe)return n;(!r||n.type==_e.Text&&(r.type!=n.type||(t<0?n.frome)))&&(r=n)}}return r||i}return i}function vP(O,e,t,i){let r=xa(O,e.head,e.assoc||-1),n=!i||r.type!=_e.Text||!(O.lineWrapping||r.widgetLineBreaks)?null:O.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=O.dom.getBoundingClientRect(),a=O.textDirectionAt(r.from),o=O.posAtCoords({x:t==(a==ee.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(o!=null)return P.cursor(o,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Bh(O,e,t,i){let r=O.state.doc.lineAt(e.head),n=O.bidiSpans(r),s=O.textDirectionAt(r.from);for(let a=e,o=null;;){let c=uP(r,n,s,a,t),l=Ef;if(!c){if(r.number==(t?O.state.doc.lines:1))return a;l=` `,r=O.state.doc.line(r.number+(t?1:-1)),n=O.bidiSpans(r),c=O.visualLineSide(r,!t)}if(o){if(!o(l))return a}else{if(!i)return c;o=i(l)}a=c}}function YP(O,e,t){let i=O.state.charCategorizer(e),r=i(t);return n=>{let s=i(n);return r==J.Space&&(r=s),r==s}}function ZP(O,e,t,i){let r=e.head,n=t?1:-1;if(r==(t?O.state.doc.length:0))return P.cursor(r,e.assoc);let s=e.goalColumn,a,o=O.contentDOM.getBoundingClientRect(),c=O.coordsAtPos(r,e.assoc||-1),l=O.documentTop;if(c)s==null&&(s=c.left-o.left),a=n<0?c.top:c.bottom;else{let u=O.viewState.lineBlockAt(r);s==null&&(s=Math.min(o.right-o.left,O.defaultCharacterWidth*(r-u.from))),a=(n<0?u.top:u.bottom)+l}let h=o.left+s,f=i??O.viewState.heightOracle.textHeight>>1;for(let u=0;;u+=10){let Q=a+(f+u)*n,$=rd(O,{x:h,y:Q},!1,n);if(Qo.bottom||(n<0?$r)){let p=O.docView.coordsForChar($),m=!p||Q{if(e>n&&er(O)),t.from,e.head>t.from?-1:1);return i==t.from?t:P.cursor(i,in)&&!_P(s,t)&&this.lineBreak(),r=s}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,a;if(this.lineSeparator?(n=t.indexOf(this.lineSeparator,i),s=this.lineSeparator.length):(a=r.exec(t))&&(n=a.index,s=a[0].length),this.append(t.slice(i,n<0?t.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let o of this.points)o.node==e&&o.pos>this.text.length&&(o.pos-=s-1);i=n+s}}readNode(e){if(e.cmIgnore)return;let t=ne.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.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,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(RP(e,i.node,i.offset)?t:0))}};function RP(O,e,t){for(;;){if(!e||t-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let a=n||s?[]:qP(e),o=new wa(a,e.state);o.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=o.text,this.newSel=zP(a,this.bounds.from)}else{let a=e.observer.selectionRange,o=n&&n.node==a.focusNode&&n.offset==a.focusOffset||!pa(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=s&&s.node==a.anchorNode&&s.offset==a.anchorOffset||!pa(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),l=e.viewport;if((Y.ios||Y.chrome)&&e.state.selection.main.empty&&o!=c&&(l.from>0||l.toDate.now()-100?O.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:a}=e.bounds,o=r.from,c=null;(n===8||Y.android&&e.text.length=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:O.state.doc.slice(r.from,t.from).append(t.insert).append(O.state.doc.slice(t.to,r.to))}:Y.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` `&&O.lineWrapping&&(i&&(i=P.single(i.main.anchor-1,i.main.head-1)),t={from:r.from,to:r.to,insert:G.of([" "])}),t)return ao(O,t,i,n);if(i&&!i.main.eq(r)){let s=!1,a="select";return O.inputState.lastSelectionTime>Date.now()-50&&(O.inputState.lastSelectionOrigin=="select"&&(s=!0),a=O.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=sd(O.state.facet(Ki).map(o=>o(O)),i))),O.dispatch({selection:i,scrollIntoView:s,userEvent:a}),!0}else return!1}function ao(O,e,t,i=-1){if(Y.ios&&O.inputState.flushIOSKey(e))return!0;let r=O.state.selection.main;if(Y.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&O.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ei(O.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.lengthr.head)&&ei(O.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&ei(O.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();O.inputState.composing>=0&&O.inputState.composing++;let s,a=()=>s||(s=VP(O,e,t));return O.state.facet(If).some(o=>o(O,e.from,e.to,n,a))||O.dispatch(a()),!0}function VP(O,e,t){let i,r=O.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.fromn.to){let o=e.fromh(O)),c,o);e.from==l&&(s=l)}if(s>-1)i={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&O.inputState.composing<0){let o=n.frome.to?r.sliceDoc(e.to,n.to):"";i=r.replaceSelection(O.state.toText(o+e.insert.sliceString(0,void 0,O.state.lineBreak)+c))}else{let o=r.changes(e),c=t&&t.main.to<=o.newLength?t.main:void 0;if(r.selection.ranges.length>1&&O.inputState.composing>=0&&e.to<=n.to&&e.to>=n.to-10){let l=O.state.sliceDoc(e.from,e.to),h,f=t&&id(O,t.main.head);if(f){let $=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-$}}else h=O.state.doc.lineAt(n.head);let u=n.to-e.to,Q=n.to-n.from;i=r.changeByRange($=>{if($.from==n.from&&$.to==n.to)return{changes:o,range:c||$.map(o)};let p=$.to-u,m=p-l.length;if($.to-$.from!=Q||O.state.sliceDoc(m,p)!=l||$.to>=h.from&&$.from<=h.to)return{range:$};let g=r.changes({from:m,to:p,insert:e.insert}),X=$.to-n.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+X),Math.max(0,c.head+X)):$.map(g)}})}else i={changes:o,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(O.composing||O.inputState.compositionPendingChange&&O.inputState.compositionEndedAt>Date.now()-50)&&(O.inputState.compositionPendingChange=!1,a+=".compose",O.inputState.compositionFirstChange&&(a+=".start",O.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:a,scrollIntoView:!0})}function od(O,e,t,i){let r=Math.min(O.length,e.length),n=0;for(;n0&&a>0&&O.charCodeAt(s-1)==e.charCodeAt(a-1);)s--,a--;if(i=="end"){let o=Math.max(0,n-Math.min(s,a));t-=s+o-n}if(s=s?n-t:0;n-=o,a=n+(a-s),s=n}else if(a=a?n-t:0;n-=o,s=n+(s-a),a=n}return{from:n,toA:s,toB:a}}function qP(O){let e=[];if(O.root.activeElement!=O.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}=O.observer.selectionRange;return t&&(e.push(new gn(t,i)),(r!=t||n!=i)&&e.push(new gn(r,n))),e}function zP(O,e){if(O.length==0)return null;let t=O[0].pos,i=O.length==2?O[1].pos:t;return t>-1&&i>-1?P.single(t+e,i+e):null}var va=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=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.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Y.safari&&e.contentDOM.addEventListener("input",()=>null),Y.gecko&&HP(e.contentDOM.ownerDocument)}handleEvent(e){!AP(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,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=WP(e),i=this.handlers,r=this.view.contentDOM;for(let n in t)if(n!="scroll"){let s=!t[n].handlers.length,a=i[n];a&&s!=!a.handlers.length&&(r.removeEventListener(n,this.handleEvent),a=null),a||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in i)n!="scroll"&&!t[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=t}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&&cd.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Y.android&&Y.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return Y.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=ld.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||UP.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:Y.safari&&!Y.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 Nh(O,e){return(t,i)=>{try{return e.call(O,i,t)}catch(r){Te(t.state,r)}}}function WP(O){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of O){let r=i.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let a in n){let o=n[a];o&&t(a).handlers.push(Nh(i.value,o))}if(s)for(let a in s){let o=s[a];o&&t(a).observers.push(Nh(i.value,o))}}for(let i in lt)t(i).handlers.push(lt[i]);for(let i in rt)t(i).observers.push(rt[i]);return e}var ld=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],UP="dthko",cd=[16,17,18,20,91,92,224,225],en=6;function tn(O){return Math.max(0,O)*.7+8}function jP(O,e){return Math.max(Math.abs(O.clientX-e.clientX),Math.abs(O.clientY-e.clientY))}var Ya=class{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Kg(e.contentDOM),this.atoms=e.state.facet(Ki).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(M.allowMultipleSelections)&&CP(e,t),this.dragging=EP(e,t)&&dd(t)==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&&jP(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,n=0,s=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:a}=this.scrollParents.y.getBoundingClientRect());let o=so(this.view);e.clientX-o.left<=r+en?t=-tn(r-e.clientX):e.clientX+o.right>=s-en&&(t=tn(e.clientX-s)),e.clientY-o.top<=n+en?i=-tn(n-e.clientY):e.clientY+o.bottom>=a-en&&(i=tn(e.clientY-a)),this.setScrollSpeed(t,i)}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,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=sd(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function CP(O,e){let t=O.state.facet(Af);return t.length?t[0](e):Y.mac?e.metaKey:e.ctrlKey}function GP(O,e){let t=O.state.facet(Lf);return t.length?t[0](e):Y.mac?!e.altKey:!e.ctrlKey}function EP(O,e){let{main:t}=O.state.selection;if(t.empty)return!1;let i=Ei(O.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let n=0;n=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function AP(O,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=O.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=ne.get(t))&&i.ignoreEvent(e))return!1;return!0}var lt=Object.create(null),rt=Object.create(null),hd=Y.ie&&Y.ie_version<15||Y.ios&&Y.webkit_version<604;function LP(O){let e=O.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{O.focus(),t.remove(),fd(O,t.value)},50)}function Zn(O,e,t){for(let i of O.facet(e))t=i(t,O);return t}function fd(O,e){e=Zn(O.state,io,e);let{state:t}=O,i,r=1,n=t.toText(e),s=n.lines==t.selection.ranges.length;if(Za!=null&&t.selection.ranges.every(o=>o.empty)&&Za==n.toString()){let o=-1;i=t.changeByRange(c=>{let l=t.doc.lineAt(c.from);if(l.from==o)return{range:c};o=l.from;let h=t.toText((s?n.line(r++).text:e)+t.lineBreak);return{changes:{from:l.from,insert:h},range:P.cursor(c.from+h.length)}})}else s?i=t.changeByRange(o=>{let c=n.line(r++);return{changes:{from:o.from,to:o.to,insert:c.text},range:P.cursor(o.from+c.length)}}):i=t.replaceSelection(n);O.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}rt.scroll=O=>{O.inputState.lastScrollTop=O.scrollDOM.scrollTop,O.inputState.lastScrollLeft=O.scrollDOM.scrollLeft};lt.keydown=(O,e)=>(O.inputState.setSelectionOrigin("select"),e.keyCode==27&&O.inputState.tabFocusMode!=0&&(O.inputState.tabFocusMode=Date.now()+2e3),!1);rt.touchstart=(O,e)=>{O.inputState.lastTouchTime=Date.now(),O.inputState.setSelectionOrigin("select.pointer")};rt.touchmove=O=>{O.inputState.setSelectionOrigin("select.pointer")};lt.mousedown=(O,e)=>{if(O.observer.flush(),O.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of O.state.facet(Mf))if(t=i(O,e),t)break;if(!t&&e.button==0&&(t=IP(O,e)),t){let i=!O.hasFocus;O.inputState.startMouseSelection(new Ya(O,e,t,i)),i&&O.observer.ignore(()=>{wf(O.contentDOM);let n=O.root.activeElement;n&&!n.contains(O.contentDOM)&&n.blur()});let r=O.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else O.inputState.setSelectionOrigin("select.pointer");return!1};function Fh(O,e,t,i){if(i==1)return P.cursor(e,t);if(i==2)return yP(O.state,e,t);{let r=Xe.find(O.docView,e),n=O.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,a=r?r.posAtEnd:n.to;return ae>=t.top&&e<=t.bottom&&O>=t.left&&O<=t.right;function MP(O,e,t,i){let r=Xe.find(O.docView,e);if(!r)return 1;let n=e-r.posAtStart;if(n==0)return 1;if(n==r.length)return-1;let s=r.coordsAt(n,-1);if(s&&Hh(t,i,s))return-1;let a=r.coordsAt(n,1);return a&&Hh(t,i,a)?1:s&&s.bottom>=i?-1:1}function Kh(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:MP(O,t,e.clientX,e.clientY)}}var DP=Y.ie&&Y.ie_version<=11,Jh=null,ef=0,tf=0;function dd(O){if(!DP)return O.detail;let e=Jh,t=tf;return Jh=O,tf=Date.now(),ef=!e||t>Date.now()-400&&Math.abs(e.clientX-O.clientX)<2&&Math.abs(e.clientY-O.clientY)<2?(ef+1)%3:1}function IP(O,e){let t=Kh(O,e),i=dd(e),r=O.state.selection;return{update(n){n.docChanged&&(t.pos=n.changes.mapPos(t.pos),r=r.map(n.changes))},get(n,s,a){let o=Kh(O,n),c,l=Fh(O,o.pos,o.bias,i);if(t.pos!=o.pos&&!s){let h=Fh(O,t.pos,t.bias,i),f=Math.min(h.from,l.from),u=Math.max(h.to,l.to);l=f1&&(c=BP(r,o.pos))?c:a?r.addRange(l):P.create([l])}}}function BP(O,e){for(let t=0;t=e)return P.create(O.ranges.slice(0,t).concat(O.ranges.slice(t+1)),O.mainIndex==t?0:O.mainIndex-(O.mainIndex>t?1:0))}return null}lt.dragstart=(O,e)=>{let{selection:{main:t}}=O.state;if(e.target.draggable){let r=O.docView.nearest(e.target);if(r&&r.isWidget){let n=r.posAtStart,s=n+r.length;(n>=t.to||s<=t.from)&&(t=P.range(n,s))}}let{inputState:i}=O;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Zn(O.state,ro,O.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};lt.dragend=O=>(O.inputState.draggedContent=null,!1);function Of(O,e,t,i){if(t=Zn(O.state,io,t),!t)return;let r=O.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=O.inputState,s=i&&n&&GP(O,e)?{from:n.from,to:n.to}:null,a={from:r,insert:t},o=O.state.changes(s?[s,a]:a);O.focus(),O.dispatch({changes:o,selection:{anchor:o.mapPos(r,-1),head:o.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),O.inputState.draggedContent=null}lt.drop=(O,e)=>{if(!e.dataTransfer)return!1;if(O.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,n=()=>{++r==t.length&&Of(O,e,i.filter(s=>s!=null).join(O.state.lineBreak),!1)};for(let s=0;s{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(i[s]=a.result),n()},a.readAsText(t[s])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return Of(O,e,i,!0),!0}return!1};lt.paste=(O,e)=>{if(O.state.readOnly)return!0;O.observer.flush();let t=hd?null:e.clipboardData;return t?(fd(O,t.getData("text/plain")||t.getData("text/uri-list")),!0):(LP(O),!1)};function NP(O,e){let t=O.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),O.focus()},50)}function FP(O){let e=[],t=[],i=!1;for(let r of O.selection.ranges)r.empty||(e.push(O.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:n}of O.selection.ranges){let s=O.doc.lineAt(n);s.number>r&&(e.push(s.text),t.push({from:s.from,to:Math.min(O.doc.length,s.to+1)})),r=s.number}i=!0}return{text:Zn(O,ro,e.join(O.lineBreak)),ranges:t,linewise:i}}var Za=null;lt.copy=lt.cut=(O,e)=>{let{text:t,ranges:i,linewise:r}=FP(O.state);if(!t&&!r)return!1;Za=r?t:null,e.type=="cut"&&!O.state.readOnly&&O.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let n=hd?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",t),!0):(NP(O,t),!1)};var ud=qe.define();function Qd(O,e){let t=[];for(let i of O.facet(Bf)){let r=i(O,e);r&&t.push(r)}return t.length?O.update({effects:t,annotations:ud.of(!0)}):null}function $d(O){setTimeout(()=>{let e=O.hasFocus;if(e!=O.inputState.notifiedFocused){let t=Qd(O.state,e);t?O.dispatch(t):O.update([])}},10)}rt.focus=O=>{O.inputState.lastFocusTime=Date.now(),!O.scrollDOM.scrollTop&&(O.inputState.lastScrollTop||O.inputState.lastScrollLeft)&&(O.scrollDOM.scrollTop=O.inputState.lastScrollTop,O.scrollDOM.scrollLeft=O.inputState.lastScrollLeft),$d(O)};rt.blur=O=>{O.observer.clearSelectionRange(),$d(O)};rt.compositionstart=rt.compositionupdate=O=>{O.observer.editContext||(O.inputState.compositionFirstChange==null&&(O.inputState.compositionFirstChange=!0),O.inputState.composing<0&&(O.inputState.composing=0))};rt.compositionend=O=>{O.observer.editContext||(O.inputState.composing=-1,O.inputState.compositionEndedAt=Date.now(),O.inputState.compositionPendingKey=!0,O.inputState.compositionPendingChange=O.observer.pendingRecords().length>0,O.inputState.compositionFirstChange=null,Y.chrome&&Y.android?O.observer.flushSoon():O.inputState.compositionPendingChange?Promise.resolve().then(()=>O.observer.flush()):setTimeout(()=>{O.inputState.composing<0&&O.docView.hasComposition&&O.update([])},50))};rt.contextmenu=O=>{O.inputState.lastContextMenu=Date.now()};lt.beforeinput=(O,e)=>{var t,i;if(e.inputType=="insertReplacementText"&&O.observer.editContext){let n=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let a=s[0],o=O.posAtDOM(a.startContainer,a.startOffset),c=O.posAtDOM(a.endContainer,a.endOffset);return ao(O,{from:o,to:c,insert:O.state.toText(n)},null),!0}}let r;if(Y.chrome&&Y.android&&(r=ld.find(n=>n.inputType==e.inputType))&&(O.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&O.hasFocus&&(O.contentDOM.blur(),O.focus())},100)}return Y.ios&&e.inputType=="deleteContentForward"&&O.observer.flushSoon(),Y.safari&&e.inputType=="insertText"&&O.inputState.composing>=0&&setTimeout(()=>rt.compositionend(O,e),20),!1};var rf=new Set;function HP(O){rf.has(O)||(rf.add(O),O.addEventListener("copy",()=>{}),O.addEventListener("cut",()=>{}))}var nf=["pre-wrap","normal","pre-line","break-spaces"],ti=!1;function sf(){ti=!1}var Ra=class{constructor(e){this.lineWrapping=e,this.doc=G.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}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 nf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=n,o){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>cn&&(ti=!0),this.height=e)}replace(e,t,i){return O.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let n=this,s=i.doc;for(let a=r.length-1;a>=0;a--){let{fromA:o,toA:c,fromB:l,toB:h}=r[a],f=n.lineAt(o,ce.ByPosNoHeight,i.setDoc(t),0,0),u=f.to>=c?f:n.lineAt(c,ce.ByPosNoHeight,i,0,0);for(h+=u.to-c,c=u.to;a>0&&f.from<=r[a-1].toA;)o=r[a-1].fromA,l=r[a-1].fromB,a--,on*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),i+=1+a.break,r-=a.size}else if(n>r*2){let a=e[i];a.break?e.splice(i,1,a.left,null,a.right):e.splice(i,1,a.left,a.right),i+=2+a.break,n-=a.size}else break;else if(r=n&&s(this.blockAt(0,i,r,n))}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},it=class O extends Sn{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,r){return new mt(r,this.length,i,this.height,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof O||r instanceof It&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof It?r=new O(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):Ie.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(i||this.outdated)&&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:""})`}},It=class O extends Ie{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,n=r-i+1,s,a=0;if(e.lineWrapping){let o=Math.min(this.height,e.lineHeight*n);s=o/n,this.length>n+1&&(a=(this.height-o)/(this.length-n-1))}else s=this.height/n;return{firstLine:i,lastLine:r,perLine:s,perChar:a}}blockAt(e,t,i,r){let{firstLine:n,lastLine:s,perLine:a,perChar:o}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let n=i[i.length-1];n instanceof O?i[i.length-1]=new O(n.length+r):i.push(null,new O(r-1))}if(e>0){let n=i[0];n instanceof O?i[0]=new O(e+n.length):i.unshift(new O(e-1),null)}return Ie.of(i)}decomposeLeft(e,t){t.push(new O(e-1),null)}decomposeRight(e,t){t.push(null,new O(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let n=t+this.length;if(r&&r.from<=t+this.length&&r.more){let s=[],a=Math.max(t,r.from),o=-1;for(r.from>t&&s.push(new O(r.from-t-1).updateHeight(e,t));a<=n&&r.more;){let l=e.doc.lineAt(a).length;s.length&&s.push(null);let h=r.heights[r.index++];o==-1?o=h:Math.abs(h-o)>=cn&&(o=-2);let f=new it(l,h);f.outdated=!1,s.push(f),a+=l+1}a<=n&&s.push(null,new O(n-a).updateHeight(e,a));let c=Ie.of(s);return(o<0||Math.abs(c.height-this.height)>=cn||Math.abs(o-this.heightMetrics(e,t).perLine)>=cn)&&(ti=!0),Pn(this,c)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Va=class extends Ie{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let n=i+this.left.height;return ea))return c;let l=t==ce.ByPosNoHeight?ce.ByPosNoHeight:ce.ByPos;return o?c.join(this.right.lineAt(a,l,i,s,a)):this.left.lineAt(a,l,i,r,n).join(c)}forEachLine(e,t,i,r,n,s){let a=r+this.left.height,o=n+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,i,a,o,s);else{let c=this.lineAt(o,ce.ByPos,i,r,n);e=e&&c.from<=t&&s(c),t>c.to&&this.right.forEachLine(c.to+1,t,i,a,o,s)}}replace(e,t,i){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let a of i)n.push(a);if(e>0&&af(n,s-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Ie.of(this.break?[e,null,t]:[e,t]):(this.left=Pn(this.left,e),this.right=Pn(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:n,right:s}=this,a=t+n.length+this.break,o=null;return r&&r.from<=t+n.length&&r.more?o=n=n.updateHeight(e,t,i,r):n.updateHeight(e,t,i),r&&r.from<=a+s.length&&r.more?o=s=s.updateHeight(e,a,i,r):s.updateHeight(e,a,i),o?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function af(O,e){let t,i;O[e]==null&&(t=O[e-1])instanceof It&&(i=O[e+1])instanceof It&&O.splice(e-1,3,new It(t.length+1+i.length))}var KP=5,qa=class O{constructor(e,t){this.pos=e,this.oracle=t,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,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof it?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new it(i-this.pos,-1)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=KP)&&this.addLineDeco(r,n,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new it(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new It(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof it)return e;let t=new it(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof it)&&!this.isCovered?this.nodes.push(new it(0,-1)):(this.writtenTol.clientHeight||l.scrollWidth>l.clientWidth)&&h.overflow!="visible"){let f=l.getBoundingClientRect();n=Math.max(n,f.left),s=Math.min(s,f.right),a=Math.max(a,f.top),o=Math.min(c==O.parentNode?r.innerHeight:o,f.bottom)}c=h.position=="absolute"||h.position=="fixed"?l.offsetParent:l.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:n-t.left,right:Math.max(n,s)-t.left,top:a-(t.top+e),bottom:Math.max(a,o)-(t.top+e)}}function tS(O){let e=O.getBoundingClientRect(),t=O.ownerDocument.defaultView||window;return e.left0&&e.top0}function OS(O,e){let t=O.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var ji=class{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new Ra(t),this.stateDeco=e.facet(Ni).filter(i=>typeof i!="function"),this.heightMap=Ie.empty().applyChanges(this.stateDeco,G.empty,this.heightOracle.setDoc(e.doc),[new Pt(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new HO(n,s))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?of:new Ua(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(Ri(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Ni).filter(l=>typeof l!="function");let r=e.changedRanges,n=Pt.extendWithRanges(r,JP(i,this.stateDeco,e?e.changes:ve.empty(this.state.doc.length))),s=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);sf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||ti)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let o=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let c=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(c||!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),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Ff)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ee.RTL:ee.LTR;let s=this.heightOracle.mustRefreshForWrapping(n),a=t.getBoundingClientRect(),o=s||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,l=0;if(a.width&&a.height){let{scaleX:T,scaleY:S}=xf(t,a);(T>.005&&Math.abs(this.scaleX-T)>.005||S>.005&&Math.abs(this.scaleY-S)>.005)&&(this.scaleX=T,this.scaleY=S,c|=16,s=o=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,f=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let u=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=u&&(this.scrollAnchorHeight=-1,this.scrollTop=u),this.scrolledToBottom=vf(e.scrollDOM);let Q=(this.printing?OS:eS)(t,this.paddingTop),$=Q.top-this.pixelViewport.top,p=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(o=!0)),!this.inView&&!this.scrollTarget&&!tS(e.dom))return 0;let g=a.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),o){let T=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(T)&&(s=!0),s||r.lineWrapping&&Math.abs(g-this.contentDOMWidth)>r.charWidth){let{lineHeight:S,charWidth:x,textHeight:w}=e.docView.measureTextSize();s=S>0&&r.refresh(n,S,x,w,Math.max(5,g/x),T),s&&(e.docView.minWidth=0,c|=16)}$>0&&p>0?l=Math.max($,p):$<0&&p<0&&(l=Math.min($,p)),sf();for(let S of this.viewports){let x=S.from==this.viewport.from?T:e.docView.measureVisibleLineHeights(S);this.heightMap=(s?Ie.empty().applyChanges(this.stateDeco,G.empty,this.heightOracle,[new Pt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new _a(S.from,x))}ti&&(c|=2)}let X=!this.viewportIsAppropriate(this.viewport,l)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return X&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(l,this.scrollTarget),c|=this.updateForViewport()),(c&2||X)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:a}=this,o=new HO(r.lineAt(s-i*1e3,ce.ByHeight,n,0,0).from,r.lineAt(a+(1-i)*1e3,ce.ByHeight,n,0,0).to);if(t){let{head:c}=t.range;if(co.to){let l=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=r.lineAt(c,ce.ByPos,n,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-l/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(i,250)))&&r>s-2*1e3&&n>1,s=r<<1;if(this.defaultTextDirection!=ee.LTR&&!i)return[];let a=[],o=(l,h,f,u)=>{if(h-ll&&mm.from>=f.from&&m.to<=f.to&&Math.abs(m.from-l)m.fromg));if(!p){if(hX.from<=h&&X.to>=h)){let X=t.moveToLineBoundary(P.cursor(h),!1,!0).head;X>l&&(h=X)}let m=this.gapSize(f,l,h,u),g=i||m<2e6?m:2e6;p=new ji(l,h,m,g)}a.push(p)},c=l=>{if(l.length2e6)for(let x of e)x.from>=l.from&&x.froml.from&&o(l.from,u,l,h),Qt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];F.spans(t,this.viewport.from,this.viewport.to,{span(n,s){i.push({from:n,to:s})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let n=0;n=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Ri(this.heightMap.lineAt(e,ce.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(t=>t.top<=e&&t.bottom>=e)||Ri(this.heightMap.lineAt(this.scaler.fromDOM(e),ce.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Ri(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}},HO=class{constructor(e,t){this.from=e,this.to=t}};function iS(O,e,t){let i=[],r=O,n=0;return F.spans(t,O,e,{span(){},point(s,a){s>r&&(i.push({from:r,to:s}),n+=s-r),r=a}},20),r=1)return e[e.length-1].to;let i=Math.floor(O*t);for(let r=0;;r++){let{from:n,to:s}=e[r],a=s-n;if(i<=a)return n+i;i-=a}}function rn(O,e){let t=0;for(let{from:i,to:r}of O.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/O.total}function rS(O,e){for(let t of O)if(e(t))return t}var of={toDOM(O){return O},fromDOM(O){return O},scale:1,eq(O){return O==this}},Ua=class O{constructor(e,t,i){let r=0,n=0,s=0;this.viewports=i.map(({from:a,to:o})=>{let c=t.lineAt(a,ce.ByPos,e,0,0).top,l=t.lineAt(o,ce.ByPos,e,0,0).bottom;return r+=l-c,{from:a,to:o,top:c,bottom:l,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=s+(a.top-n)*this.scale,s=a.domBottom=a.domTop+(a.bottom-a.top),n=a.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let n=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}};function Ri(O,e){if(e.scale==1)return O;let t=e.toDOM(O.top),i=e.toDOM(O.bottom);return new mt(O.from,O.length,t,i-t,Array.isArray(O._content)?O._content.map(r=>Ri(r,e)):O._content)}var nn=v.define({combine:O=>O.join(" ")}),ja=v.define({combine:O=>O.indexOf(!0)>-1}),Ca=Ot.newName(),pd=Ot.newName(),md=Ot.newName(),gd={"&light":"."+pd,"&dark":"."+md};function Ga(O,e,t){return new Ot(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return O;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):O+" "+i}})}var nS=Ga("."+Ca,{"&":{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-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,')`,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"}},gd),sS={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},la=Y.ie&&Y.ie_version<=11,Ea=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ma,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(t=>{for(let i of t)this.queue.push(i);(Y.ie&&Y.ie_version<=11||Y.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Y.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Y.chrome&&Y.chrome_version<126)&&(this.editContext=new Aa(e),e.state.facet(_t)&&(e.contentDOM.editContext=this.editContext.editContext)),la&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.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 t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.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(t=>{t.length>0&&t[t.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((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(_t)?i.root.activeElement!=this.dom:!on(this.dom,r))return;let n=r.anchorNode&&i.docView.nearest(r.anchorNode);if(n&&n.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(Y.ie&&Y.ie_version<=11||Y.android&&Y.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Vi(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Ei(e.root);if(!t)return!1;let i=Y.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&aS(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=on(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&ei(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{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 t=-1,i=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),t==-1?{from:t,to:i}=s:(t=Math.min(s.from,t),i=Math.max(s.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&on(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new ka(this.view,e,t,i);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=ad(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let i=lf(t,e.previousSibling||e.target.previousSibling,-1),r=lf(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.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(_t)!=e.state.facet(_t)&&(e.view.contentDOM.editContext=e.state.facet(_t)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.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 lf(O,e,t){for(;e;){let i=ne.get(e);if(i&&i.parent==O)return i;let r=e.parentNode;e=r!=O.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function cf(O,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,n=e.endOffset,s=O.docView.domAtPos(O.state.selection.main.anchor);return Vi(s.node,s.offset,r,n)&&([t,i,r,n]=[r,n,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}}function aS(O,e){if(e.getComposedRanges){let r=e.getComposedRanges(O.root)[0];if(r)return cf(O,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return O.contentDOM.addEventListener("beforeinput",i,!0),O.dom.ownerDocument.execCommand("indent"),O.contentDOM.removeEventListener("beforeinput",i,!0),t?cf(O,t):null}var Aa=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=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=i=>{let r=e.state.selection.main,{anchor:n,head:s}=r,a=this.toEditorPos(i.updateRangeStart),o=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:a,drifted:!1});let c=o-a>i.text.length;a==this.from&&nthis.to&&(o=n);let l=od(e.state.sliceDoc(a,o),i.text,(c?r.from:r.to)-a,c?"end":null);if(!l){let f=P.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));f.main.eq(r)||e.dispatch({selection:f,userEvent:"select"});return}let h={from:l.from+a,to:l.toA+a,insert:G.of(i.text.slice(l.from,l.toB).split(` -`))};if((Y.mac||Y.android)&&h.from==s-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:o,insert:G.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);ao(e,h,P.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],n=null;for(let s=this.toEditorPos(i.rangeStart),a=this.toEditorPos(i.rangeEnd);s{let r=[];for(let n of i.getTextFormats()){let s=n.underlineStyle,a=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(a)){let o=this.toEditorPos(n.rangeStart),c=this.toEditorPos(n.rangeEnd);if(o{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:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=Ei(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,a,o,c)=>{if(i)return;let l=c.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=l,this.to+=l;return}else r=null,this.revertPending(e.state);if(n+=t,s+=t,s<=this.from)this.from+=l,this.to+=l;else if(nthis.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),c.toString()),this.to+=l}t+=l}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.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||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+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 t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},b=class O{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 t;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:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(n=>i(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Jg(e.parent)||document,this.viewState=new Xn(e.state||M.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(FO).map(r=>new Wi(r));for(let r of this.plugins)r.update(this);this.observer=new Ea(this),this.inputState=new va(this),this.inputState.ensureHandlers(this.plugins),this.docView=new mn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof ue?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,a=0,o=null;e.some(f=>f.annotation(ud))?(this.inputState.notifiedFocused=s,a=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,o=Qd(n,s),o||(a=1));let c=this.observer.delayedAndroidKey,l=null;if(c?(this.observer.clearDelayedAndroidKey(),l=this.observer.readChange(),(l&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(l=null)):this.observer.clear(),n.facet(M.phrases)!=this.state.facet(M.phrases))return this.setState(n);r=pn.create(this,n,e),r.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:u}=f.state.selection;h=new zi(u.empty?u:P.cursor(u.head,u.head>u.anchor?-1:1))}for(let u of f.effects)u.is(Jr)&&(h=u.value.clip(this.state))}this.viewState.update(r,h),this.bidiCache=Tn.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Yi)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(nn)!=r.state.facet(nn)&&(this.viewState.mustMeasureContent=!0),(t||i||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(ya))try{f(r)}catch(u){Te(this.state,u,"update listener")}(o||l)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),l&&!ad(this,l)&&c.force&&ei(this.contentDOM,c.key,c.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 t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Xn(e),this.plugins=e.facet(FO).map(i=>new Wi(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new mn(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(FO),i=e.state.facet(FO);if(t!=i){let r=[];for(let n of i){let s=t.indexOf(n);if(s<0)r.push(new Wi(n));else{let a=this.plugins[s];a.mustUpdate=e,r.push(a)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,r=i.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(s<0)if(vf(i))n=-1,s=this.viewState.heightMap.height;else{let u=this.viewState.scrollAnchorAt(r);n=u.from,s=u.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];o&4||([this.measureRequests,c]=[c,this.measureRequests]);let l=c.map(u=>{try{return u.read(this)}catch(Q){return Te(this.state,Q),hf}}),h=pn.create(this,this.state,[]),f=!1;h.flags|=o,t?t.flags|=o:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let u=0;u1||Q<-1){r=r+Q,i.scrollTop=r/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ya))a(t)}get themeClasses(){return Ca+" "+(this.state.facet(ja)?md:pd)+" "+this.state.facet(nn)}updateAttrs(){let e=ff(this,Jf,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(_t)?"true":"false",class:"cm-content",style:`${Y.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),ff(this,no,t);let i=this.observer.ignore(()=>{let r=Pa(this.contentDOM,this.contentAttrs,t),n=Pa(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(O.announce)){t&&(this.announceDOM.textContent=""),t=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Yi);let e=this.state.facet(O.cspNonce);Ot.mount(this.root,this.styleModules.concat(nS).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 t=0;ti.plugin==e)||null),t&&t.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,t,i){return oa(this,e,Bh(this,e,t,i))}moveByGroup(e,t){return oa(this,e,Bh(this,e,t,i=>YP(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return P.cursor(n.side(t,r)+e.from,n.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return vP(this,e,t,i)}moveVertically(e,t,i){return oa(this,e,ZP(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),rd(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[gt.find(n,e-r.from,-1,t)];return Yn(i,s.dir==ee.LTR==t>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(Nf)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>oS)return Gf(e.length);let t=this.textDirectionAt(e.from),i;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t&&(n.fresh||Cf(n.isolates,i=Ah(this,e))))return n.order;i||(i=Ah(this,e));let r=dP(e.text,t,i);return this.bidiCache.push(new Tn(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Y.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{wf(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,t={}){return Jr.of(new zi(typeof e=="number"?P.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Jr.of(new zi(P.cursor(i.from),"start","start",i.top-e,t,!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 fe.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return fe.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=Ot.newName(),r=[nn.of(i),Yi.of(Ga(`.${i}`,e))];return t&&t.dark&&r.push(ja.of(!0)),r}static baseTheme(e){return ze.lowest(Yi.of(Ga("."+Ca,e,gd)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&ne.get(i)||ne.get(e);return((t=r?.rootView)===null||t===void 0?void 0:t.view)||null}};b.styleModule=Yi;b.inputHandler=If;b.clipboardInputFilter=io;b.clipboardOutputFilter=ro;b.scrollHandler=Hf;b.focusChangeEffect=Bf;b.perLineTextDirection=Nf;b.exceptionSink=Df;b.updateListener=ya;b.editable=_t;b.mouseSelectionStyle=Mf;b.dragMovesSelection=Lf;b.clickAddsSelectionRange=Af;b.decorations=Ni;b.outerDecorations=ed;b.atomicRanges=Ki;b.bidiIsolatedRanges=td;b.scrollMargins=Od;b.darkTheme=ja;b.cspNonce=v.define({combine:O=>O.length?O[0]:""});b.contentAttributes=no;b.editorAttributes=Jf;b.lineWrapping=b.contentAttributes.of({class:"cm-lineWrapping"});b.announce=V.define();var oS=4096,hf={},Tn=class O{constructor(e,t,i,r,n,s){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=n,this.order=s}static update(e,t){if(t.empty&&!e.some(n=>n.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:ee.LTR;for(let n=Math.max(0,e.length-10);n=0;r--){let n=i[r],s=typeof n=="function"?n(O):n;s&&ga(s,t)}return t}var lS=Y.mac?"mac":Y.windows?"win":Y.linux?"linux":"key";function cS(O,e){let t=O.split(/-(?!$)/),i=t[t.length-1];i=="Space"&&(i=" ");let r,n,s,a;for(let o=0;oi.concat(r),[]))),t}function Sd(O,e,t){return Xd(Pd(O.state),e,O,t)}var Dt=null,fS=4e3;function dS(O,e=lS){let t=Object.create(null),i=Object.create(null),r=(s,a)=>{let o=i[s];if(o==null)i[s]=a;else if(o!=a)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,a,o,c,l)=>{var h,f;let u=t[s]||(t[s]=Object.create(null)),Q=a.split(/ (?!$)/).map(m=>cS(m,e));for(let m=1;m{let T=Dt={view:X,prefix:g,scope:s};return setTimeout(()=>{Dt==T&&(Dt=null)},fS),!0}]})}let $=Q.join(" ");r($,!1);let p=u[$]||(u[$]={preventDefault:!1,stopPropagation:!1,run:((f=(h=u._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});o&&p.run.push(o),c&&(p.preventDefault=!0),l&&(p.stopPropagation=!0)};for(let s of O){let a=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let c of a){let l=t[c]||(t[c]=Object.create(null));l._any||(l._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=s;for(let f in l)l[f].run.push(u=>h(u,La))}let o=s[e]||s.key;if(o)for(let c of a)n(c,o,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(c,"Shift-"+o,s.shift,s.preventDefault,s.stopPropagation)}return t}var La=null;function Xd(O,e,t,i){La=e;let r=Vh(e),n=Se(r,0),s=De(n)==r.length&&r!=" ",a="",o=!1,c=!1,l=!1;Dt&&Dt.view==t&&Dt.scope==i&&(a=Dt.prefix+" ",cd.indexOf(e.keyCode)<0&&(c=!0,Dt=null));let h=new Set,f=p=>{if(p){for(let m of p.run)if(!h.has(m)&&(h.add(m),m(t)))return p.stopPropagation&&(l=!0),!0;p.preventDefault&&(p.stopPropagation&&(l=!0),c=!0)}return!1},u=O[i],Q,$;return u&&(f(u[a+sn(r,e,!s)])?o=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Y.windows&&e.ctrlKey&&e.altKey)&&!(Y.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(Q=Rt[e.keyCode])&&Q!=r?(f(u[a+sn(Q,e,!0)])||e.shiftKey&&($=NO[e.keyCode])!=r&&$!=Q&&f(u[a+sn($,e,!1)]))&&(o=!0):s&&e.shiftKey&&f(u[a+sn(r,e,!0)])&&(o=!0),!o&&f(u._any)&&(o=!0)),c&&(o=!0),o&&l&&e.stopPropagation(),La=null,o}var Fi=class O{constructor(e,t,i,r,n){this.className=e,this.left=t,this.top=i,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.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,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let n=Td(e);return[new O(t,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return uS(e,t,i)}};function Td(O){let e=O.scrollDOM.getBoundingClientRect();return{left:(O.textDirection==ee.LTR?e.left:e.right-O.scrollDOM.clientWidth*O.scaleX)-O.scrollDOM.scrollLeft*O.scaleX,top:e.top-O.scrollDOM.scrollTop*O.scaleY}}function uf(O,e,t,i){let r=O.coordsAtPos(e,t*2);if(!r)return i;let n=O.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,a=O.posAtCoords({x:n.left+1,y:s}),o=O.posAtCoords({x:n.right-1,y:s});return a==null||o==null?i:{from:Math.max(i.from,Math.min(a,o)),to:Math.min(i.to,Math.max(a,o))}}function uS(O,e,t){if(t.to<=O.viewport.from||t.from>=O.viewport.to)return[];let i=Math.max(t.from,O.viewport.from),r=Math.min(t.to,O.viewport.to),n=O.textDirection==ee.LTR,s=O.contentDOM,a=s.getBoundingClientRect(),o=Td(O),c=s.querySelector(".cm-line"),l=c&&window.getComputedStyle(c),h=a.left+(l?parseInt(l.paddingLeft)+Math.min(0,parseInt(l.textIndent)):0),f=a.right-(l?parseInt(l.paddingRight):0),u=xa(O,i,1),Q=xa(O,r,-1),$=u.type==_e.Text?u:null,p=Q.type==_e.Text?Q:null;if($&&(O.lineWrapping||u.widgetLineBreaks)&&($=uf(O,i,1,$)),p&&(O.lineWrapping||Q.widgetLineBreaks)&&(p=uf(O,r,-1,p)),$&&p&&$.from==p.from&&$.to==p.to)return g(X(t.from,t.to,$));{let S=$?X(t.from,null,$):T(u,!1),x=p?X(null,t.to,p):T(Q,!0),w=[];return($||u).to<(p||Q).from-($&&p?1:0)||u.widgetLineBreaks>1&&S.bottom+O.defaultLineHeight/2q&&I.from=ke)break;et>oe&&C(Math.max(Pe,oe),S==null&&Pe<=q,Math.min(et,ke),x==null&&et>=H,Qt.dir)}if(oe=Ae.to+1,oe>=ke)break}return ie.length==0&&C(q,S==null,H,x==null,O.textDirection),{top:j,bottom:E,horizontal:ie}}function T(S,x){let w=a.top+(x?S.top:S.bottom);return{top:w,bottom:w,horizontal:[]}}}function QS(O,e){return O.constructor==e.constructor&&O.eq(e)}var Ma=class{constructor(e,t){this.view=e,this.layer=t,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"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(hn)!=e.state.facet(hn)&&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 t=0,i=e.facet(hn);for(;t!QS(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,Y.safari&&Y.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()}},hn=v.define();function yd(O){return[fe.define(e=>new Ma(e,O)),hn.of(O)]}var Hi=v.define({combine(O){return xe(O,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function bd(O={}){return[Hi.of(O),$S,pS,mS,Ff.of(!0)]}function xd(O){return O.startState.facet(Hi)!=O.state.facet(Hi)}var $S=yd({above:!0,markers(O){let{state:e}=O,t=e.facet(Hi),i=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||t.drawRangeCursor){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=r.empty?r:P.cursor(r.head,r.head>r.anchor?-1:1);for(let o of Fi.forRange(O,s,a))i.push(o)}}return i},update(O,e){O.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=xd(O);return t&&Qf(O.state,e),O.docChanged||O.selectionSet||t},mount(O,e){Qf(e.state,O)},class:"cm-cursorLayer"});function Qf(O,e){e.style.animationDuration=O.facet(Hi).cursorBlinkRate+"ms"}var pS=yd({above:!1,markers(O){return O.state.selection.ranges.map(e=>e.empty?[]:Fi.forRange(O,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(O,e){return O.docChanged||O.selectionSet||O.viewportChanged||xd(O)},class:"cm-selectionLayer"}),mS=ze.highest(b.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"}}}})),wd=V.define({map(O,e){return O==null?null:e.mapPos(O)}}),_i=he.define({create(){return null},update(O,e){return O!=null&&(O=e.changes.mapPos(O)),e.effects.reduce((t,i)=>i.is(wd)?i.value:t,O)}}),gS=fe.fromClass(class{constructor(O){this.view=O,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(O){var e;let t=O.state.field(_i);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(O.startState.field(_i)!=t||O.docChanged||O.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:O}=this,e=O.state.field(_i),t=e!=null&&O.coordsAtPos(e);if(!t)return null;let i=O.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+O.scrollDOM.scrollLeft*O.scaleX,top:t.top-i.top+O.scrollDOM.scrollTop*O.scaleY,height:t.bottom-t.top}}drawCursor(O){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;O?(this.cursor.style.left=O.left/e+"px",this.cursor.style.top=O.top/t+"px",this.cursor.style.height=O.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(O){this.view.state.field(_i)!=O&&this.view.dispatch({effects:wd.of(O)})}},{eventObservers:{dragover(O){this.setDropPos(this.view.posAtCoords({x:O.clientX,y:O.clientY}))},dragleave(O){(O.target==this.view.contentDOM||!this.view.contentDOM.contains(O.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function kd(){return[_i,gS]}function $f(O,e,t,i,r){e.lastIndex=0;for(let n=O.iterRange(t,i),s=t,a;!n.next().done;s+=n.value.length)if(!n.lineBreak)for(;a=e.exec(n.value);)r(s+a.index,a)}function PS(O,e){let t=O.visibleRanges;if(t.length==1&&t[0].from==O.viewport.from&&t[0].to==O.viewport.to)return t;let i=[];for(let{from:r,to:n}of t)r=Math.max(O.state.doc.lineAt(r).from,r-e),n=Math.min(O.state.doc.lineAt(n).to,n+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=n:i.push({from:r,to:n});return i}var Da=class{constructor(e){let{regexp:t,decoration:i,decorate:r,boundary:n,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(a,o,c,l)=>r(l,c,c+a[0].length,a,o);else if(typeof i=="function")this.addMatch=(a,o,c,l)=>{let h=i(a,o,c);h&&l(c,c+a[0].length,h)};else if(i)this.addMatch=(a,o,c,l)=>l(c,c+a[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=s}createDeco(e){let t=new Me,i=t.add.bind(t);for(let{from:r,to:n}of PS(e,this.maxLength))$f(e.state.doc,this.regexp,r,n,(s,a)=>this.addMatch(a,e,s,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((n,s,a,o)=>{o>=e.view.viewport.from&&a<=e.view.viewport.to&&(i=Math.min(a,i),r=Math.max(o,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let n of e.visibleRanges){let s=Math.max(n.from,i),a=Math.min(n.to,r);if(a>=s){let o=e.state.doc.lineAt(s),c=o.too.from;s--)if(this.boundary.test(o.text[s-1-o.from])){l=s;break}for(;af.push(m.range($,p));if(o==c)for(this.regexp.lastIndex=l-o.from;(u=this.regexp.exec(o.text))&&u.indexthis.addMatch(p,e,$,Q));t=t.update({filterFrom:l,filterTo:h,filter:($,p)=>$h,add:f})}}return t}},Ia=/x/.unicode!=null?"gu":"g",SS=new RegExp(`[\0-\b --\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,Ia),XS={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},ca=null;function TS(){var O;if(ca==null&&typeof document<"u"&&document.body){let e=document.body.style;ca=((O=e.tabSize)!==null&&O!==void 0?O:e.MozTabSize)!=null}return ca||!1}var fn=v.define({combine(O){let e=xe(O,{render:null,specialChars:SS,addSpecialChars:null});return(e.replaceTabs=!TS())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Ia)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Ia)),e}});function vd(O={}){return[fn.of(O),yS()]}var pf=null;function yS(){return pf||(pf=fe.fromClass(class{constructor(O){this.view=O,this.decorations=Z.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(O.state.facet(fn)),this.decorations=this.decorator.createDeco(O)}makeDecorator(O){return new Da({regexp:O.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,n=Se(e[0],0);if(n==9){let s=r.lineAt(i),a=t.state.tabSize,o=Ye(s.text,a,i-s.from);return Z.replace({widget:new Na((a-o%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[n]||(this.decorationCache[n]=Z.replace({widget:new Ba(O,n)}))},boundary:O.replaceTabs?void 0:/[^]/})}update(O){let e=O.state.facet(fn);O.startState.facet(fn)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(O.view)):this.decorations=this.decorator.updateDeco(O,this.decorations)}},{decorations:O=>O.decorations}))}var bS="\u2022";function xS(O){return O>=32?bS:O==10?"\u2424":String.fromCharCode(9216+O)}var Ba=class extends We{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=xS(this.code),i=e.state.phrase("Control character")+" "+(XS[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}},Na=class extends We{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Yd(){return kS}var wS=Z.line({class:"cm-activeLine"}),kS=fe.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.docChanged||O.selectionSet)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=-1,t=[];for(let i of O.state.selection.ranges){let r=O.lineBlockAt(i.head);r.from>e&&(t.push(wS.range(r.from)),e=r.from)}return Z.set(t)}},{decorations:O=>O.decorations});var Fa=2e3;function vS(O,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),n=[];if(e.off>Fa||t.off>Fa||e.col<0||t.col<0){let s=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let o=i;o<=r;o++){let c=O.doc.line(o);c.length<=a&&n.push(P.range(c.from+s,c.to+a))}}else{let s=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let o=i;o<=r;o++){let c=O.doc.line(o),l=Fr(c.text,s,O.tabSize,!0);if(l<0)n.push(P.cursor(c.to));else{let h=Fr(c.text,a,O.tabSize);n.push(P.range(c.from+l,c.from+h))}}}return n}function YS(O,e){let t=O.coordsAtPos(O.viewport.from);return t?Math.round(Math.abs((t.left-e)/O.defaultCharacterWidth)):-1}function mf(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1),i=O.state.doc.lineAt(t),r=t-i.from,n=r>Fa?-1:r==i.length?YS(O,e.clientX):Ye(i.text,O.state.tabSize,t-i.from);return{line:i.number,col:n,off:r}}function ZS(O,e){let t=mf(O,e),i=O.state.selection;return t?{update(r){if(r.docChanged){let n=r.changes.mapPos(r.startState.doc.line(t.line).from),s=r.state.doc.lineAt(n);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},i=i.map(r.changes)}},get(r,n,s){let a=mf(O,r);if(!a)return i;let o=vS(O.state,t,a);return o.length?s?P.create(o.concat(i.ranges)):P.create(o):i}}:null}function Zd(O){let e=O?.eventFilter||(t=>t.altKey&&t.button==0);return b.mouseSelectionStyle.of((t,i)=>e(i)?ZS(t,i):null)}var RS={Alt:[18,O=>!!O.altKey],Control:[17,O=>!!O.ctrlKey],Shift:[16,O=>!!O.shiftKey],Meta:[91,O=>!!O.metaKey]},_S={style:"cursor: crosshair"};function Rd(O={}){let[e,t]=RS[O.key||"Alt"],i=fe.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,b.contentAttributes.of(r=>{var n;return!((n=r.plugin(i))===null||n===void 0)&&n.isDown?_S:null})]}var vi="-10000px",yn=class{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=i(s,n))}update(e,t){var i;let r=e.state.facet(this.facet),n=r.filter(o=>o);if(r===this.input){for(let o of this.tooltipViews)o.update&&o.update(e);return!1}let s=[],a=t?[]:null;for(let o=0;ot[c]=o),t.length=a.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function VS(O){let e=O.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var ha=v.define({combine:O=>{var e,t,i;return{position:Y.ios?"absolute":((e=O.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=O.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=O.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||VS}}}),gf=new WeakMap,oo=fe.fromClass(class{constructor(O){this.view=O,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=O.state.facet(ha);this.position=e.position,this.parent=e.parent,this.classes=O.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new yn(O,Ji,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),O.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let O of this.manager.tooltipViews)this.intersectionObserver.observe(O.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(O){O.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(O,this.above);e&&this.observeIntersection();let t=e||O.geometryChanged,i=O.state.facet(ha);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(O,e){let t=O.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),O.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=vi,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var O,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(O=i.destroy)===null||O===void 0||O.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let O=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Y.gecko)t=n.offsetParent!=this.container.ownerDocument.body;else if(n.style.top==vi&&n.style.left=="0px"){let s=n.getBoundingClientRect();t=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}}if(t||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(O=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:O,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=so(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(ha).tooltipSpace(this.view),scaleX:O,scaleY:e,makeAbsolute:t}}writeMeasure(O){var e;if(O.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:n}=O,s=[];for(let a=0;a=Math.min(t.bottom,i.bottom)||h.rightMath.min(t.right,i.right)+.1)){l.style.top=vi;continue}let u=o.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,Q=u?7:0,$=f.right-f.left,p=(e=gf.get(c))!==null&&e!==void 0?e:f.bottom-f.top,m=c.offset||zS,g=this.view.textDirection==ee.LTR,X=f.width>i.right-i.left?g?i.left:i.right-f.width:g?Math.max(i.left,Math.min(h.left-(u?14:0)+m.x,i.right-$)):Math.min(Math.max(i.left,h.left-$+(u?14:0)-m.x),i.right-$),T=this.above[a];!o.strictSide&&(T?h.top-p-Q-m.yi.bottom)&&T==i.bottom-h.bottom>h.top-i.top&&(T=this.above[a]=!T);let S=(T?h.top-i.top:i.bottom-h.bottom)-Q;if(SX&&j.topx&&(x=T?j.top-p-2-Q:j.bottom+Q+2);if(this.position=="absolute"?(l.style.top=(x-O.parent.top)/n+"px",Pf(l,(X-O.parent.left)/r)):(l.style.top=x/n+"px",Pf(l,X/r)),u){let j=h.left+(g?m.x:-m.x)-(X+14-7);u.style.left=j/r+"px"}c.overlap!==!0&&s.push({left:X,top:x,right:w,bottom:x+p}),l.classList.toggle("cm-tooltip-above",T),l.classList.toggle("cm-tooltip-below",!T),c.positioned&&c.positioned(O.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let O of this.manager.tooltipViews)O.dom.style.top=vi}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Pf(O,e){let t=parseInt(O.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(O.style.left=e+"px")}var qS=b.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),zS={x:0,y:0},Ji=v.define({enables:[oo,qS]}),bn=v.define({combine:O=>O.reduce((e,t)=>e.concat(t),[])}),xn=class O{static create(e){return new O(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new yn(e,bn,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},WS=Ji.compute([bn],O=>{let e=O.facet(bn);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:xn.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),Ha=class{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ea.bottom||t.xa.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(l=>l.from<=r&&l.to>=r),c=o&&o.dir==ee.RTL?-1:1;n=t.x{this.pending==a&&(this.pending=null,o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])}))},o=>Te(e.state,o,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(oo),t=e?e.manager.tooltips.findIndex(i=>i.create==xn.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&n&&!US(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,a=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!jS(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},an=4;function US(O,e){let{left:t,right:i,top:r,bottom:n}=O.getBoundingClientRect(),s;if(s=O.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();r=Math.min(a.top,r),n=Math.max(a.bottom,n)}return e.clientX>=t-an&&e.clientX<=i+an&&e.clientY>=r-an&&e.clientY<=n+an}function jS(O,e,t,i,r,n){let s=O.scrollDOM.getBoundingClientRect(),a=O.documentTop+O.documentPadding.top+O.contentHeight;if(s.left>i||s.rightr||Math.min(s.bottom,a)=e&&o<=t}function _d(O,e={}){let t=V.define(),i=he.define({create(){return[]},update(r,n){if(r.length&&(e.hideOnChange&&(n.docChanged||n.selection)?r=[]:e.hideOn&&(r=r.filter(s=>!e.hideOn(n,s))),n.docChanged)){let s=[];for(let a of r){let o=n.changes.mapPos(a.pos,-1,pe.TrackDel);if(o!=null){let c=Object.assign(Object.create(null),a);c.pos=o,c.end!=null&&(c.end=n.changes.mapPos(c.end)),s.push(c)}}r=s}for(let s of n.effects)s.is(t)&&(r=s.value),s.is(CS)&&(r=[]);return r},provide:r=>bn.from(r)});return{active:i,extension:[i,fe.define(r=>new Ha(r,O,i,t,e.hoverTime||300)),WS]}}function lo(O,e){let t=O.plugin(oo);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}var CS=V.define();var Sf=v.define({combine(O){let e,t;for(let i of O)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function XO(O,e){let t=O.plugin(Vd),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}var Vd=fe.fromClass(class{constructor(O){this.input=O.state.facet(SO),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(O));let e=O.state.facet(Sf);this.top=new KO(O,!0,e.topContainer),this.bottom=new KO(O,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(O){let e=O.state.facet(Sf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new KO(O.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new KO(O.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=O.state.facet(SO);if(t!=this.input){let i=t.filter(o=>o),r=[],n=[],s=[],a=[];for(let o of i){let c=this.specs.indexOf(o),l;c<0?(l=o(O.view),a.push(l)):(l=this.panels[c],l.update&&l.update(O)),r.push(l),(l.top?n:s).push(l)}this.specs=i,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let o of a)o.dom.classList.add("cm-panel"),o.mount&&o.mount()}else for(let i of this.panels)i.update&&i.update(O)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:O=>b.scrollMargins.of(e=>{let t=e.plugin(O);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),KO=class{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.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 t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Xf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Xf(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 Xf(O){let e=O.nextSibling;return O.remove(),e}var SO=v.define({enables:Vd});var Be=class extends ot{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Be.prototype.elementClass="";Be.prototype.toDOM=void 0;Be.prototype.mapMode=pe.TrackBefore;Be.prototype.startSide=Be.prototype.endSide=-1;Be.prototype.point=!0;var dn=v.define(),GS=v.define(),ES={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>F.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ci=v.define();function co(O){return[qd(),Ci.of({...ES,...O})]}var Ka=v.define({combine:O=>O.some(e=>e)});function qd(O){let e=[AS];return O&&O.fixed===!1&&e.push(Ka.of(!0)),e}var AS=fe.fromClass(class{constructor(O){this.view=O,this.domAfter=null,this.prevViewport=O.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=O.state.facet(Ci).map(e=>new wn(O,e)),this.fixed=!O.state.facet(Ka);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),O.scrollDOM.insertBefore(this.dom,O.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(O){if(this.updateGutters(O)){let e=this.prevViewport,t=O.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(O.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(Ka)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=O.view.viewport}syncGutters(O){let e=this.dom.nextSibling;O&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=F.iter(this.view.state.facet(dn),this.view.viewport.from),i=[],r=this.gutters.map(n=>new eo(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(n.type)){let s=!0;for(let a of n.type)if(a.type==_e.Text&&s){Ja(t,i,a.from);for(let o of r)o.line(this.view,a,i);s=!1}else if(a.widget)for(let o of r)o.widget(this.view,a)}else if(n.type==_e.Text){Ja(t,i,n.from);for(let s of r)s.line(this.view,n,i)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();O&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(O){let e=O.startState.facet(Ci),t=O.state.facet(Ci),i=O.docChanged||O.heightChanged||O.viewportChanged||!F.eq(O.startState.facet(dn),O.state.facet(dn),O.view.viewport.from,O.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(O)&&(i=!0);else{i=!0;let r=[];for(let n of t){let s=e.indexOf(n);s<0?r.push(new wn(this.view,n)):(this.gutters[s].update(O),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return i}destroy(){for(let O of this.gutters)O.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:O=>b.scrollMargins.of(e=>{let t=e.plugin(O);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ee.LTR?{left:i,right:r}:{right:i,left:r}})});function Tf(O){return Array.isArray(O)?O:[O]}function Ja(O,e,t){for(;O.value&&O.from<=t;)O.from==t&&e.push(O.value),O.next()}var eo=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,n=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let a=new kn(e,s,n,i);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(e,s,n,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];Ja(this.cursor,r,t.from),i.length&&(r=r.concat(i));let n=this.gutter.config.lineMarker(e,t,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let n of e.state.facet(GS)){let s=n(e,t.widget,t);s&&(r||(r=[])).push(s)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},wn=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let o=n.getBoundingClientRect();s=(o.top+o.bottom)/2}else s=r.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,a,r)&&r.preventDefault()});this.markers=Tf(t.markers(e)),t.initialSpacer&&(this.spacer=new kn(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Tf(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!F.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},kn=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),LS(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let a=s,o=nn(a,o,c)||s(a,o,c):s}return i}})}}),Gi=class extends Be{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function fa(O,e){return O.state.facet(JO).formatNumber(e,O.state)}var IS=Ci.compute([JO],O=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(MS)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Gi(fa(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(DS)){let n=r(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(JO)!=e.state.facet(JO),initialSpacer(e){return new Gi(fa(e,yf(e.state.doc.lines)))},updateSpacer(e,t){let i=fa(t.view,yf(t.view.state.doc.lines));return i==e.number?e:new Gi(i)},domEventHandlers:O.facet(JO).domEventHandlers,side:"before"}));function zd(O={}){return[JO.of(O),qd(),IS]}function yf(O){let e=9;for(;e{let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.head).from;r>t&&(t=r,e.push(BS.range(r)))}return F.of(e)});function Wd(){return NS}var FS=0,Ue=class{constructor(e,t){this.from=e,this.to=t}},_=class{constructor(e={}){this.id=FS++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};_.closedBy=new _({deserialize:O=>O.split(" ")});_.openedBy=new _({deserialize:O=>O.split(" ")});_.group=new _({deserialize:O=>O.split(" ")});_.isolate=new _({deserialize:O=>{if(O&&O!="rtl"&&O!="ltr"&&O!="auto")throw new RangeError("Invalid value for isolate: "+O);return O||"auto"}});_.contextHash=new _({perNode:!0});_.lookAhead=new _({perNode:!0});_.mounted=new _({perNode:!0});var TO=class{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[_.mounted.id]}},HS=Object.create(null),de=class O{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):HS,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new O(e.name||"",t,e.id,i);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}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 t=this.prop(_.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(_.group),n=-1;n<(r?r.length:0);n++){let s=t[n<0?i.name:r[n]];if(s)return s}}}};de.none=new de("",Object.create(null),0,8);var Ht=class O{constructor(e){this.types=e;for(let t=0;t0;for(let o=this.cursor(s|A.IncludeAnonymous);;){let c=!1;if(o.from<=n&&o.to>=r&&(!a&&o.type.isAnonymous||t(o)!==!1)){if(o.firstChild())continue;c=!0}for(;c&&i&&(a||!o.type.isAnonymous)&&i(o),!o.nextSibling();){if(!o.parent())return;c=!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 t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Xo(de.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new O(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new O(de.none,t,i,r)))}static build(e){return JS(e)}};D.empty=new D(de.none,[],[],0);var ho=class O{constructor(e,t){this.buffer=e,this.index=t}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 O(this.buffer,this.index)}},Kt=class O{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return de.none}toString(){let e=[];for(let t=0;t0));o=s[o+3]);return a}slice(e,t,i){let r=this.buffer,n=new Uint16Array(t-e),s=0;for(let a=e,o=0;a=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function er(O,e,t,i){for(var r;O.from==O.to||(t<1?O.from>=e:O.from>e)||(t>-1?O.to<=e:O.to0?a.length:-1;e!=c;e+=t){let l=a[e],h=o[e]+s.from;if(Md(r,i,h,h+l.length)){if(l instanceof Kt){if(n&A.ExcludeBuffers)continue;let f=l.findChild(0,l.buffer.length,t,i-h,r);if(f>-1)return new yO(new uo(s,l,e,h),null,f)}else if(n&A.IncludeAnonymous||!l.type.isAnonymous||So(l)){let f;if(!(n&A.IgnoreMounts)&&(f=TO.get(l))&&!f.overlay)return new O(f.tree,h,e,s);let u=new O(l,h,e,s);return n&A.IncludeAnonymous||!u.type.isAnonymous?u:u.nextChild(t<0?l.children.length-1:0,t,i,r)}}}if(n&A.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))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)}enter(e,t,i=0){let r;if(!(i&A.IgnoreOverlays)&&(r=TO.get(this._tree))&&r.overlay){let n=e-this.from;for(let{from:s,to:a}of r.overlay)if((t>0?s<=n:s=n:a>n))return new O(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}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 jd(O,e,t,i){let r=O.cursor(),n=[];if(!r.firstChild())return n;if(t!=null){for(let s=!1;!s;)if(s=r.type.is(t),!r.nextSibling())return n}for(;;){if(i!=null&&r.type.is(i))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return i==null?n:[]}}function fo(O,e,t=e.length-1){for(let i=O;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var uo=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},yO=class O extends Vn{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,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new O(this.context,this,n)}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)}enter(e,t,i=0){if(i&A.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new O(this.context,this,n)}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,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new O(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new O(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,n=i.buffer[this.index+3];if(n>r){let s=i.buffer[this.index+1];e.push(i.slice(r,n,s)),t.push(0)}return new D(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Dd(O){if(!O.length)return null;let e=0,t=O[0];for(let n=1;nt.from||s.to=e){let a=new je(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[i])).push(er(a,e,t,!1))}}return r?Dd(r):i}var Oi=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof je)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.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,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof je?(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,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}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,t,i=this.mode){return this.buffer?i&A.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&A.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&A.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:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<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 t,i,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let a=i._tree.children[n];if(this.mode&A.IncludeAnonymous||a instanceof Kt||!a.type.isAnonymous||So(a))return!1}return!0}move(e,t){if(t&&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,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,i=n+1;break e}r=this.stack[--n]}for(let r=i;r=0;n--){if(n<0)return fo(this._tree,e,r);let s=i[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function So(O){return O.children.some(e=>e instanceof Kt||!e.type.isAnonymous||So(e))}function JS(O){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=i.types.length}=O,a=Array.isArray(t)?new ho(t,t.length):t,o=i.types,c=0,l=0;function h(S,x,w,j,E,ie){let{id:C,start:q,end:H,size:I}=a,oe=l,ke=c;for(;I<0;)if(a.next(),I==-1){let Yt=n[C];w.push(Yt),j.push(q-S);return}else if(I==-3){c=C;return}else if(I==-4){l=C;return}else throw new RangeError(`Unrecognized record size: ${I}`);let Ae=o[C],Qt,Pe,et=q-S;if(H-q<=r&&(Pe=p(a.pos-x,E))){let Yt=new Uint16Array(Pe.size-Pe.skip),tt=a.pos-Pe.size,$t=Yt.length;for(;a.pos>tt;)$t=m(Pe.start,Yt,$t);Qt=new Kt(Yt,H-Pe.start,i),et=Pe.start-S}else{let Yt=a.pos-I;a.next();let tt=[],$t=[],hO=C>=s?C:-1,EO=0,jr=H;for(;a.pos>Yt;)hO>=0&&a.id==hO&&a.size>=0?(a.end<=jr-r&&(Q(tt,$t,q,EO,a.end,jr,hO,oe,ke),EO=tt.length,jr=a.end),a.next()):ie>2500?f(q,Yt,tt,$t):h(q,Yt,tt,$t,hO,ie+1);if(hO>=0&&EO>0&&EO-1&&EO>0){let ah=u(Ae,ke);Qt=Xo(Ae,tt,$t,0,tt.length,0,H-q,ah,ah)}else Qt=$(Ae,tt,$t,H-q,oe-H,ke)}w.push(Qt),j.push(et)}function f(S,x,w,j){let E=[],ie=0,C=-1;for(;a.pos>x;){let{id:q,start:H,end:I,size:oe}=a;if(oe>4)a.next();else{if(C>-1&&H=0;I-=3)q[oe++]=E[I],q[oe++]=E[I+1]-H,q[oe++]=E[I+2]-H,q[oe++]=oe;w.push(new Kt(q,E[2]-H,i)),j.push(H-S)}}function u(S,x){return(w,j,E)=>{let ie=0,C=w.length-1,q,H;if(C>=0&&(q=w[C])instanceof D){if(!C&&q.type==S&&q.length==E)return q;(H=q.prop(_.lookAhead))&&(ie=j[C]+q.length+H)}return $(S,w,j,E,ie,x)}}function Q(S,x,w,j,E,ie,C,q,H){let I=[],oe=[];for(;S.length>j;)I.push(S.pop()),oe.push(x.pop()+w-E);S.push($(i.types[C],I,oe,ie-E,q-ie,H)),x.push(E-w)}function $(S,x,w,j,E,ie,C){if(ie){let q=[_.contextHash,ie];C=C?[q].concat(C):[q]}if(E>25){let q=[_.lookAhead,E];C=C?[q].concat(C):[q]}return new D(S,x,w,j,C)}function p(S,x){let w=a.fork(),j=0,E=0,ie=0,C=w.end-r,q={size:0,start:0,skip:0};e:for(let H=w.pos-S;w.pos>H;){let I=w.size;if(w.id==x&&I>=0){q.size=j,q.start=E,q.skip=ie,ie+=4,j+=4,w.next();continue}let oe=w.pos-I;if(I<0||oe=s?4:0,Ae=w.start;for(w.next();w.pos>oe;){if(w.size<0)if(w.size==-3)ke+=4;else break e;else w.id>=s&&(ke+=4);w.next()}E=Ae,j+=I,ie+=ke}return(x<0||j==S)&&(q.size=j,q.start=E,q.skip=ie),q.size>4?q:void 0}function m(S,x,w){let{id:j,start:E,end:ie,size:C}=a;if(a.next(),C>=0&&j4){let H=a.pos-(C-4);for(;a.pos>H;)w=m(S,x,w)}x[--w]=q,x[--w]=ie-S,x[--w]=E-S,x[--w]=j}else C==-3?c=j:C==-4&&(l=j);return w}let g=[],X=[];for(;a.pos>0;)h(O.start||0,O.bufferStart||0,g,X,-1,0);let T=(e=O.length)!==null&&e!==void 0?e:g.length?X[0]+g[0].length:0;return new D(o[O.topID],g.reverse(),X.reverse(),T)}var Cd=new WeakMap;function _n(O,e){if(!O.isAnonymous||e instanceof Kt||e.type!=O)return 1;let t=Cd.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=O||!(i instanceof D)){t=1;break}t+=_n(O,i)}Cd.set(e,t)}return t}function Xo(O,e,t,i,r,n,s,a,o){let c=0;for(let Q=i;Q=l)break;x+=w}if(X==T+1){if(x>l){let w=Q[T];u(w.children,w.positions,0,w.children.length,$[T]+g);continue}h.push(Q[T])}else{let w=$[X-1]+Q[X-1].length-S;h.push(Xo(O,Q,$,T,X,S,w,null,o))}f.push(S+g-n)}}return u(e,t,i,r,0),(a||o)(h,f,s)}var yt=class{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof yO?this.setBuffer(e.context.buffer,e.index,t):e instanceof je&&this.map.set(e.tree,t)}get(e){return e instanceof yO?this.getBuffer(e.context.buffer,e.index):e instanceof je?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class O{constructor(e,t,i,r,n=!1,s=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new O(0,e.length,e,0,!1,i)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let a=0,o=0,c=0;;a++){let l=a=i)for(;s&&s.from=f.from||h<=f.to||c){let u=Math.max(f.from,o)-c,Q=Math.min(f.to,h)-c;f=u>=Q?null:new O(u,Q,f.tree,f.offset+c,a>0,!!l)}if(f&&r.push(f),s.to>h)break;s=nnew Ue(r.from,r.to)):[new Ue(0,0)]:[new Ue(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let n=r.advance();if(n)return n}}},$o=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bO(O){return(e,t,i,r)=>new go(e,O,t,i,r)}var qn=class{constructor(e,t,i,r,n){this.parser=e,this.parse=t,this.overlay=i,this.target=r,this.from=n}};function Gd(O){if(!O.length||O.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(O))}var po=class{constructor(e,t,i,r,n,s,a){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.target=s,this.prev=a,this.depth=0,this.ranges=[]}},mo=new _({perNode:!0}),go=class{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new D(i.type,i.children,i.positions,i.length,i.propValues.concat([[mo,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[_.mounted.id]=new TO(t,e.overlay,e.parser),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(l=>l.frag.from<=r.from&&l.frag.to>=r.to&&l.mount.overlay);if(c)for(let l of c.mount.overlay){let h=l.from+c.pos,f=l.to+c.pos;h>=r.from&&f<=r.to&&!t.ranges.some(u=>u.fromh)&&t.ranges.push({from:h,to:f})}}a=!1}else if(i&&(s=eX(i.ranges,r.from,r.to)))a=s!=2;else if(!r.type.isAnonymous&&(n=this.nest(r,this.input))&&(r.fromnew Ue(h.from-r.from,h.to-r.from)):null,r.tree,l.length?l[0].from:r.from)),n.overlay?l.length&&(i={ranges:l,depth:0,prev:i}):a=!1}}else if(t&&(o=t.predicate(r))&&(o===!0&&(o=new Ue(r.from,r.to)),o.from=0&&t.ranges[c].to==o.from?t.ranges[c]={from:t.ranges[c].from,to:o.to}:t.ranges.push(o)}if(a&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Ad(this.ranges,t.ranges);c.length&&(Gd(c),this.inner.splice(t.index,0,new qn(t.parser,t.parser.startParse(this.input,Ld(t.mounts,c),c),t.ranges.map(l=>new Ue(l.from-t.start,l.to-t.start)),t.target,c[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}};function eX(O,e,t){for(let i of O){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Ed(O,e,t,i,r,n){if(e=e&&t.enter(i,1,A.IgnoreOverlays|A.ExcludeBuffers)||t.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 t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof D)t=t.children[0];else break}return!1}},Po=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop(mo))!==null&&t!==void 0?t:i.to,this.inner=new zn(i.tree,-i.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 t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(mo))!==null&&e!==void 0?e:t.to,this.inner=new zn(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let s=(i=n.tree)===null||i===void 0?void 0:i.prop(_.mounted);if(s&&s.parser==t)for(let a=this.fragI;a=n.to)break;o.tree==this.curFrag.tree&&r.push({frag:o,pos:n.from-o.offset,mount:s})}}}return r}};function Ad(O,e){let t=null,i=e;for(let r=1,n=0;r=a)break;o.to<=s||(t||(i=t=e.slice()),o.froma&&t.splice(n+1,0,new Ue(a,o.to))):o.to>a?t[n--]=new Ue(a,o.to):t.splice(n--,1))}}return i}function OX(O,e,t,i){let r=0,n=0,s=!1,a=!1,o=-1e9,c=[];for(;;){let l=r==O.length?1e9:s?O[r].to:O[r].from,h=n==e.length?1e9:a?e[n].to:e[n].from;if(s!=a){let f=Math.max(o,t),u=Math.min(l,h,i);fnew Ue(f.from+i,f.to+i)),h=OX(e,l,o,c);for(let f=0,u=o;;f++){let Q=f==h.length,$=Q?c:h[f].from;if($>u&&t.push(new Vt(u,$,r.tree,-s,n.from>=u||n.openStart,n.to<=$||n.openEnd)),Q)break;u=h[f].to}}else t.push(new Vt(o,c,r.tree,-s,n.from>=s||n.openStart,n.to<=a||n.openEnd))}return t}var iX=0,Ne=class O{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=iX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof O&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new O(i,[],null,[]);if(r.set.push(r),t)for(let n of t.set)r.set.push(n);return r}static defineModifier(e){let t=new Cn(e);return i=>i.modified.indexOf(t)>-1?i:Cn.get(i.base||i,i.modified.concat(t).sort((r,n)=>r.id-n.id))}},rX=0,Cn=class O{constructor(e){this.name=e,this.instances=[],this.id=rX++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(a=>a.base==e&&nX(t,a.modified));if(i)return i;let r=[],n=new Ne(e.name,r,e,t);for(let a of t)a.instances.push(n);let s=sX(t);for(let a of e.set)if(!a.modified.length)for(let o of s)r.push(O.get(a,o));return n}};function nX(O,e){return O.length==e.length&&O.every((t,i)=>t==e[i])}function sX(O){let e=[[]];for(let t=0;ti.length-t.length)}function N(O){let e=Object.create(null);for(let t in O){let i=O[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let n=[],s=2,a=r;for(let h=0;;){if(a=="..."&&h>0&&h+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let u=r[h++];if(h==r.length&&u=="!"){s=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);a=r.slice(h)}let o=n.length-1,c=n[o];if(!c)throw new RangeError("Invalid path: "+r);let l=new ii(i,s,o>0?n.slice(0,o):null);e[c]=l.sort(e[c])}}return Nd.add(e)}var Nd=new _,ii=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=r;for(let a of n)for(let o of a.set){let c=t[o.id];if(c){s=s?s+" "+c:c;break}}return s},scope:i}}function aX(O,e){let t=null;for(let i of O){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function Fd(O,e,t,i=0,r=O.length){let n=new yo(i,Array.isArray(e)?e:[e],t);n.highlightRange(O.cursor(),i,r,"",n.highlighters),n.flush(r)}var yo=class{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,n){let{type:s,from:a,to:o}=e;if(a>=i||o<=t)return;s.isTop&&(n=this.highlighters.filter(u=>!u.scope||u.scope(s)));let c=r,l=oX(e)||ii.empty,h=aX(n,l.tags);if(h&&(c&&(c+=" "),c+=h,l.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,a),c),l.opaque)return;let f=e.tree&&e.tree.prop(_.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+a,1),Q=this.highlighters.filter(p=>!p.scope||p.scope(f.tree.type)),$=e.firstChild();for(let p=0,m=a;;p++){let g=p=X||!e.nextSibling())););if(!g||X>i)break;m=g.to+a,m>t&&(this.highlightRange(u.cursor(),Math.max(t,g.from+a),Math.min(i,m),"",Q),this.startSpan(Math.min(i,m),c))}$&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,n),this.startSpan(Math.min(i,e.to),c)}while(e.nextSibling());e.parent()}}};function oX(O){let e=O.type.prop(Nd);for(;e&&e.context&&!O.matchContext(e.context);)e=e.next;return e||null}var k=Ne.define,Wn=k(),eO=k(),Id=k(eO),Bd=k(eO),tO=k(),Un=k(tO),To=k(tO),wt=k(),xO=k(wt),bt=k(),xt=k(),bo=k(),tr=k(bo),jn=k(),d={comment:Wn,lineComment:k(Wn),blockComment:k(Wn),docComment:k(Wn),name:eO,variableName:k(eO),typeName:Id,tagName:k(Id),propertyName:Bd,attributeName:k(Bd),className:k(eO),labelName:k(eO),namespace:k(eO),macroName:k(eO),literal:tO,string:Un,docString:k(Un),character:k(Un),attributeValue:k(Un),number:To,integer:k(To),float:k(To),bool:k(tO),regexp:k(tO),escape:k(tO),color:k(tO),url:k(tO),keyword:bt,self:k(bt),null:k(bt),atom:k(bt),unit:k(bt),modifier:k(bt),operatorKeyword:k(bt),controlKeyword:k(bt),definitionKeyword:k(bt),moduleKeyword:k(bt),operator:xt,derefOperator:k(xt),arithmeticOperator:k(xt),logicOperator:k(xt),bitwiseOperator:k(xt),compareOperator:k(xt),updateOperator:k(xt),definitionOperator:k(xt),typeOperator:k(xt),controlOperator:k(xt),punctuation:bo,separator:k(bo),bracket:tr,angleBracket:k(tr),squareBracket:k(tr),paren:k(tr),brace:k(tr),content:wt,heading:xO,heading1:k(xO),heading2:k(xO),heading3:k(xO),heading4:k(xO),heading5:k(xO),heading6:k(xO),contentSeparator:k(wt),list:k(wt),quote:k(wt),emphasis:k(wt),strong:k(wt),link:k(wt),monospace:k(wt),strikethrough:k(wt),inserted:k(),deleted:k(),changed:k(),invalid:k(),meta:jn,documentMeta:k(jn),annotation:k(jn),processingInstruction:k(jn),definition:Ne.defineModifier("definition"),constant:Ne.defineModifier("constant"),function:Ne.defineModifier("function"),standard:Ne.defineModifier("standard"),local:Ne.defineModifier("local"),special:Ne.defineModifier("special")};for(let O in d){let e=d[O];e instanceof Ne&&(e.name=O)}var tR=xo([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var wo,OO=new _;function ar(O){return v.define({combine:O?e=>e.concat(O):void 0})}var An=new _,Ve=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,M.prototype.hasOwnProperty("tree")||Object.defineProperty(M.prototype,"tree",{get(){return W(this)}}),this.parser=t,this.extension=[iO.of(this),M.languageData.of((n,s,a)=>{let o=Hd(n,s,a),c=o.type.prop(OO);if(!c)return[];let l=n.facet(c),h=o.type.prop(An);if(h){let f=o.resolve(s-o.from,a);for(let u of h)if(u.test(f,n)){let Q=n.facet(u.facet);return u.type=="replace"?Q:Q.concat(l)}}return l})].concat(i)}isActiveAt(e,t,i=-1){return Hd(e,t,i).type.prop(OO)==this.data}findRegions(e){let t=e.facet(iO);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(n,s)=>{if(n.prop(OO)==this.data){i.push({from:s,to:s+n.length});return}let a=n.prop(_.mounted);if(a){if(a.tree.prop(OO)==this.data){if(a.overlay)for(let o of a.overlay)i.push({from:o.from+s,to:o.to+s});else i.push({from:s,to:s+n.length});return}else if(a.overlay){let o=i.length;if(r(a.tree,a.overlay[0].from+s),i.length>o)return}}for(let o=0;oi.isTop?t:void 0)]}),e.name)}configure(e,t){return new O(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function W(O){let e=O.field(Ve.state,!1);return e?e.tree:D.empty}var Zo=class{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,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},Or=null,rr=class O{constructor(e,t,i=[],r,n,s,a,o){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new O(e,t,[],D.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Zo(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=D.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Or;Or=this;try{return e()}finally{Or=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Kd(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:n,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let o=[];if(e.iterChangedRanges((c,l,h,f)=>o.push({fromA:c,toA:l,fromB:h,toB:f})),i=Vt.applyChanges(i,o),r=D.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let l=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);le.from&&(this.fragments=Kd(this.fragments,r,n),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Jt{createParse(t,i,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let o=Or;if(o){for(let c of r)o.tempSkipped.push(c);e&&(o.scheduleOn=o.scheduleOn?Promise.all([o.scheduleOn,e]):e)}return this.parsedPos=s,new D(de.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Or}};function Kd(O,e,t){return Vt.applyChanges(O,[{fromA:e,toA:t,fromB:e,toB:t}])}var nr=class O{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new O(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=rr.create(e.facet(iO).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new O(i)}};Ve.state=he.define({create:nr.init,update(O,e){for(let t of e.effects)if(t.is(Ve.setState))return t.value;return e.startState.facet(iO)!=e.state.facet(iO)?nr.init(e.state):O.apply(e)}});var ru=O=>{let e=setTimeout(()=>O(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(ru=O=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(O,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var ko=typeof navigator<"u"&&(!((wo=navigator.scheduling)===null||wo===void 0)&&wo.isInputPending)?()=>navigator.scheduling.isInputPending():null,lX=fe.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 t=this.view.state.field(Ve.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ve.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=ru(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,o=n.context.work(()=>ko&&ko()||Date.now()>s,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Ve.setState.of(new nr(n.context))})),this.chunkBudget>0&&!(o&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Te(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),iO=v.define({combine(O){return O.length?O[0]:null},enables:O=>[Ve.state,lX,b.contentAttributes.compute([O],e=>{let t=e.facet(O);return t&&t.name?{"data-language":t.name}:{}})]}),K=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},sr=class O{constructor(e,t,i,r,n,s=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=s,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:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new O(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let i=/\.([^.]+)$/.exec(t);if(i){for(let r of e)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(n=>n==t))return r;if(i)for(let r of e)for(let n of r.alias){let s=t.indexOf(n);if(s>-1&&(n.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+n.length])))return r}return null}},cX=v.define(),rO=v.define({combine:O=>{if(!O.length)return" ";let e=O[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(O[0]));return e}});function or(O){let e=O.facet(rO);return e.charCodeAt(0)==9?O.tabSize*e.length:e.length}function ni(O,e){let t="",i=O.tabSize,r=O.facet(rO)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let n=0;n=e?hX(O,t,e):null}var wO=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=or(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=i.from&&r<=i.to?n&&r==e?{text:"",from:e}:(t<0?r-1&&(n+=s-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return Ye(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},ae=new _;function hX(O,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let n=[];for(let s=r;s&&!(s.fromi.node.to||s.from==i.node.from&&s.type==i.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)i={node:n[s],next:i}}return nu(i,O,t)}function nu(O,e,t){for(let i=O;i;i=i.next){let r=dX(i.node);if(r)return r(Ro.create(e,t,i))}return 0}function fX(O){return O.pos==O.options.simulateBreak&&O.options.simulateDoubleBreak}function dX(O){let e=O.type.prop(ae);if(e)return e;let t=O.firstChild,i;if(t&&(i=t.type.prop(_.closedBy))){let r=O.lastChild,n=r&&i.indexOf(r.name)>-1;return s=>su(s,!0,1,void 0,n&&!fX(s)?r.from:void 0)}return O.parent==null?uX:null}function uX(){return 0}var Ro=class O extends wO{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new O(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(QX(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return nu(this.context.next,this.base,this.pos)}};function QX(O,e){for(let t=e;t;t=t.parent)if(O==t)return!0;return!1}function $X(O){let e=O.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=O.options.simulateBreak,n=O.state.doc.lineAt(t.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let a=t.to;;){let o=e.childAfter(a);if(!o||o==i)return null;if(!o.type.isSkipped){if(o.from>=s)return null;let c=/^ */.exec(n.text.slice(t.to-n.from))[0].length;return{from:t.from,to:t.to+c}}a=o.to}}function ye({closing:O,align:e=!0,units:t=1}){return i=>su(i,e,t,O)}function su(O,e,t,i,r){let n=O.textAfter,s=n.match(/^\s*/)[0].length,a=i&&n.slice(s,s+i.length)==i||r==O.pos+s,o=e?$X(O):null;return o?a?O.column(o.from):O.column(o.to):O.baseIndent+(a?0:O.unit*t)}var nO=O=>O.baseIndent;function le({except:O,units:e=1}={}){return t=>{let i=O&&O.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}var pX=200;function au(){return M.transactionFilter.of(O=>{if(!O.docChanged||!O.isUserEvent("input.type")&&!O.isUserEvent("input.complete"))return O;let e=O.startState.languageDataAt("indentOnInput",O.startState.selection.main.head);if(!e.length)return O;let t=O.newDoc,{head:i}=O.newSelection.main,r=t.lineAt(i);if(i>r.from+pX)return O;let n=t.sliceString(r.from,i);if(!e.some(c=>c.test(n)))return O;let{state:s}=O,a=-1,o=[];for(let{head:c}of s.selection.ranges){let l=s.doc.lineAt(c);if(l.from==a)continue;a=l.from;let h=Ln(s,l.from);if(h==null)continue;let f=/^\s*/.exec(l.text)[0],u=ni(s,h);f!=u&&o.push({from:l.from,to:l.from+f.length,insert:u})}return o.length?[O,{changes:o,sequential:!0}]:O})}var Uo=v.define(),te=new _;function me(O){let e=O.firstChild,t=O.lastChild;return e&&e.tot)continue;if(n&&a.from=e&&c.to>t&&(n=c)}}return n}function gX(O){let e=O.lastChild;return e&&e.to==O.to&&e.type.isError}function Gn(O,e,t){for(let i of O.facet(Uo)){let r=i(O,e,t);if(r)return r}return mX(O,e,t)}function ou(O,e){let t=e.mapPos(O.from,1),i=e.mapPos(O.to,-1);return t>=i?void 0:{from:t,to:i}}var Mn=V.define({map:ou}),lr=V.define({map:ou});function lu(O){let e=[];for(let{head:t}of O.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(O.lineBlockAt(t));return e}var kO=he.define({create(){return Z.none},update(O,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>O=Jd(O,t,i)),O=O.map(e.changes);for(let t of e.effects)if(t.is(Mn)&&!PX(O,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(jo),r=i?Z.replace({widget:new _o(i(e.state,t.value))}):eu;O=O.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(lr)&&(O=O.update({filter:(i,r)=>t.value.from!=i||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(O=Jd(O,e.selection.main.head)),O},provide:O=>b.decorations.from(O),toJSON(O,e){let t=[];return O.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(O){if(!Array.isArray(O)||O.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{re&&(i=!0)}),i?O.update({filterFrom:e,filterTo:t,filter:(r,n)=>r>=t||n<=e}):O}function En(O,e,t){var i;let r=null;return(i=O.field(kO,!1))===null||i===void 0||i.between(e,t,(n,s)=>{(!r||r.from>n)&&(r={from:n,to:s})}),r}function PX(O,e,t){let i=!1;return O.between(e,e,(r,n)=>{r==e&&n==t&&(i=!0)}),i}function cu(O,e){return O.field(kO,!1)?e:e.concat(V.appendConfig.of(du()))}var SX=O=>{for(let e of lu(O)){let t=Gn(O.state,e.from,e.to);if(t)return O.dispatch({effects:cu(O.state,[Mn.of(t),hu(O,t)])}),!0}return!1},XX=O=>{if(!O.state.field(kO,!1))return!1;let e=[];for(let t of lu(O)){let i=En(O.state,t.from,t.to);i&&e.push(lr.of(i),hu(O,i,!1))}return e.length&&O.dispatch({effects:e}),e.length>0};function hu(O,e,t=!0){let i=O.state.doc.lineAt(e.from).number,r=O.state.doc.lineAt(e.to).number;return b.announce.of(`${O.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${O.state.phrase("to")} ${r}.`)}var TX=O=>{let{state:e}=O,t=[];for(let i=0;i{let e=O.state.field(kO,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,O.state.doc.length,(i,r)=>{t.push(lr.of({from:i,to:r}))}),O.dispatch({effects:t}),!0};var fu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:SX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:XX},{key:"Ctrl-Alt-[",run:TX},{key:"Ctrl-Alt-]",run:yX}],bX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},jo=v.define({combine(O){return xe(O,bX)}});function du(O){let e=[kO,wX];return O&&e.push(jo.of(O)),e}function uu(O,e){let{state:t}=O,i=t.facet(jo),r=s=>{let a=O.lineBlockAt(O.posAtDOM(s.target)),o=En(O.state,a.from,a.to);o&&O.dispatch({effects:lr.of(o)}),s.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(O,r,e);let n=document.createElement("span");return n.textContent=i.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=r,n}var eu=Z.replace({widget:new class extends We{toDOM(O){return uu(O,null)}}}),_o=class extends We{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return uu(e,this.value)}},xX={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},ir=class extends Be{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function Qu(O={}){let e={...xX,...O},t=new ir(e,!0),i=new ir(e,!1),r=fe.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(iO)!=s.state.facet(iO)||s.startState.field(kO,!1)!=s.state.field(kO,!1)||W(s.startState)!=W(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new Me;for(let o of s.viewportLineBlocks){let c=En(s.state,o.from,o.to)?i:Gn(s.state,o.from,o.to)?t:null;c&&a.add(o.from,o.from,c)}return a.finish()}}),{domEventHandlers:n}=e;return[r,co({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(r))===null||a===void 0?void 0:a.markers)||F.empty},initialSpacer(){return new ir(e,!1)},domEventHandlers:{...n,click:(s,a,o)=>{if(n.click&&n.click(s,a,o))return!0;let c=En(s.state,a.from,a.to);if(c)return s.dispatch({effects:lr.of(c)}),!0;let l=Gn(s.state,a.from,a.to);return l?(s.dispatch({effects:Mn.of(l)}),!0):!1}}}),du()]}var wX=b.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"}}),ri=class O{constructor(e,t){this.specs=e;let i;function r(a){let o=Ot.newName();return(i||(i=Object.create(null)))["."+o]=a,o}let n=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof Ve?a=>a.prop(OO)==s.data:s?a=>a==s:void 0,this.style=xo(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:n}).style,this.module=i?new Ot(i):null,this.themeType=t.themeType}static define(e,t){return new O(e,t||{})}},Vo=v.define(),$u=v.define({combine(O){return O.length?[O[0]]:null}});function vo(O){let e=O.facet(Vo);return e.length?e:O.facet($u)}function Dn(O,e){let t=[kX],i;return O instanceof ri&&(O.module&&t.push(b.styleModule.of(O.module)),i=O.themeType),e?.fallback?t.push($u.of(O)):i?t.push(Vo.computeN([b.darkTheme],r=>r.facet(b.darkTheme)==(i=="dark")?[O]:[])):t.push(Vo.of(O)),t}var qo=class{constructor(e){this.markCache=Object.create(null),this.tree=W(e.state),this.decorations=this.buildDeco(e,vo(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=W(e.state),i=vo(e.state),r=i!=vo(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let i=new Me;for(let{from:r,to:n}of e.visibleRanges)Fd(this.tree,t,(s,a,o)=>{i.add(s,a,this.markCache[o]||(this.markCache[o]=Z.mark({class:o})))},r,n);return i.finish()}},kX=ze.high(fe.fromClass(qo,{decorations:O=>O.decorations})),pu=ri.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]),vX=b.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),mu=1e4,gu="()[]{}",Pu=v.define({combine(O){return xe(O,{afterCursor:!0,brackets:gu,maxScanDistance:mu,renderMatch:RX})}}),YX=Z.mark({class:"cm-matchingBracket"}),ZX=Z.mark({class:"cm-nonmatchingBracket"});function RX(O){let e=[],t=O.matched?YX:ZX;return e.push(t.range(O.start.from,O.start.to)),O.end&&e.push(t.range(O.end.from,O.end.to)),e}var _X=he.define({create(){return Z.none},update(O,e){if(!e.docChanged&&!e.selection)return O;let t=[],i=e.state.facet(Pu);for(let r of e.state.selection.ranges){if(!r.empty)continue;let n=ct(e.state,r.head,-1,i)||r.head>0&&ct(e.state,r.head-1,1,i)||i.afterCursor&&(ct(e.state,r.head,1,i)||r.headb.decorations.from(O)}),VX=[_X,vX];function Su(O={}){return[Pu.of(O),VX]}var cr=new _;function zo(O,e,t){let i=O.prop(e<0?_.openedBy:_.closedBy);if(i)return i;if(O.name.length==1){let r=t.indexOf(O.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Wo(O){let e=O.type.prop(cr);return e?e(O.node):O}function ct(O,e,t,i={}){let r=i.maxScanDistance||mu,n=i.brackets||gu,s=W(O),a=s.resolveInner(e,t);for(let o=a;o;o=o.parent){let c=zo(o.type,t,n);if(c&&o.from0?e>=l.from&&el.from&&e<=l.to))return qX(O,e,t,o,l,c,n)}}return zX(O,e,t,s,a.type,r,n)}function qX(O,e,t,i,r,n,s){let a=i.parent,o={from:r.from,to:r.to},c=0,l=a?.cursor();if(l&&(t<0?l.childBefore(i.from):l.childAfter(i.to)))do if(t<0?l.to<=i.from:l.from>=i.to){if(c==0&&n.indexOf(l.type.name)>-1&&l.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},l=O.doc.iterRange(e,t>0?O.doc.length:0),h=0;for(let f=0;!l.next().done&&f<=n;){let u=l.value;t<0&&(f+=u.length);let Q=e+f*t;for(let $=t>0?0:u.length-1,p=t>0?u.length:-1;$!=p;$+=t){let m=s.indexOf(u[$]);if(!(m<0||i.resolveInner(Q+$,1).type!=r))if(m%2==0==t>0)h++;else{if(h==1)return{start:c,end:{from:Q+$,to:Q+$+1},matched:m>>1==o>>1};h--}}t>0&&(f+=u.length)}return l.done?{start:c,matched:!1}:null}var WX=Object.create(null),tu=[de.none];var Ou=[],iu=Object.create(null),UX=Object.create(null);for(let[O,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"]])UX[O]=jX(WX,e);function Yo(O,e){Ou.indexOf(O)>-1||(Ou.push(O),console.warn(e))}function jX(O,e){let t=[];for(let a of e.split(" ")){let o=[];for(let c of a.split(".")){let l=O[c]||d[c];l?typeof l=="function"?o.length?o=o.map(l):Yo(c,`Modifier ${c} used at start of tag`):o.length?Yo(c,`Tag ${c} used as modifier`):o=Array.isArray(l)?l:[l]:Yo(c,`Unknown highlighting tag ${c}`)}for(let c of o)t.push(c)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(a=>a.id),n=iu[r];if(n)return n.id;let s=iu[r]=de.define({id:tu.length,name:i,props:[N({[i]:t})]});return tu.push(s),s.id}var lR={rtl:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ee.RTL}),ltr:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ee.LTR}),auto:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var CX=O=>{let{state:e}=O,t=e.doc.lineAt(e.selection.main.from),i=Do(O.state,t.from);return i.line?GX(O):i.block?AX(O):!1};function Mo(O,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=O(e,t);return r?(i(t.update(r)),!0):!1}}var GX=Mo(DX,0);var EX=Mo(Yu,0);var AX=Mo((O,e)=>Yu(O,e,MX(e)),0);function Do(O,e){let t=O.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var hr=50;function LX(O,{open:e,close:t},i,r){let n=O.sliceDoc(i-hr,i),s=O.sliceDoc(r,r+hr),a=/\s*$/.exec(n)[0].length,o=/^\s*/.exec(s)[0].length,c=n.length-a;if(n.slice(c-e.length,c)==e&&s.slice(o,o+t.length)==t)return{open:{pos:i-a,margin:a&&1},close:{pos:r+o,margin:o&&1}};let l,h;r-i<=2*hr?l=h=O.sliceDoc(i,r):(l=O.sliceDoc(i,i+hr),h=O.sliceDoc(r-hr,r));let f=/^\s*/.exec(l)[0].length,u=/\s*$/.exec(h)[0].length,Q=h.length-u-t.length;return l.slice(f,f+e.length)==e&&h.slice(Q,Q+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(l.charAt(f+e.length))?1:0},close:{pos:r-u-t.length,margin:/\s/.test(h.charAt(Q-1))?1:0}}:null}function MX(O){let e=[];for(let t of O.selection.ranges){let i=O.doc.lineAt(t.from),r=t.to<=i.to?i:O.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:O.doc.lineAt(t.to-1));let n=e.length-1;n>=0&&e[n].to>i.from?e[n].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function Yu(O,e,t=e.selection.ranges){let i=t.map(n=>Do(e,n.from).block);if(!i.every(n=>n))return null;let r=t.map((n,s)=>LX(e,i[s],n.from,n.to));if(O!=2&&!r.every(n=>n))return{changes:e.changes(t.map((n,s)=>r[s]?[]:[{from:n.from,insert:i[s].open+" "},{from:n.to,insert:" "+i[s].close}]))};if(O!=1&&r.some(n=>n)){let n=[];for(let s=0,a;sr&&(n==s||s>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,u=f==h.length,Q=h.text.slice(f,f+c.length)==c?f:-1;fn.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:a,token:o,indent:c,empty:l,single:h}of i)(h||!l)&&n.push({from:a.from+c,insert:o+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(O!=1&&i.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:a,token:o}of i)if(a>=0){let c=s.from+a,l=c+o.length;s.text[l-s.from]==" "&&l++,n.push({from:c,to:l})}return{changes:n}}return null}var Go=qe.define(),IX=qe.define(),BX=v.define(),Zu=v.define({combine(O){return xe(O,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),Ru=he.define({create(){return vO.empty},update(O,e){let t=e.state.facet(Zu),i=e.annotation(Go);if(i){let o=ht.fromTransaction(e,i.selection),c=i.side,l=c==0?O.undone:O.done;return o?l=Bn(l,l.length,t.minDepth,o):l=zu(l,e.startState.selection),new vO(c==0?i.rest:l,c==0?l:i.rest)}let r=e.annotation(IX);if((r=="full"||r=="before")&&(O=O.isolate()),e.annotation(ue.addToHistory)===!1)return e.changes.empty?O:O.addMapping(e.changes.desc);let n=ht.fromTransaction(e),s=e.annotation(ue.time),a=e.annotation(ue.userEvent);return n?O=O.addChanges(n,s,a,t,e):e.selection&&(O=O.addSelection(e.startState.selection,s,a,t.newGroupDelay)),(r=="full"||r=="after")&&(O=O.isolate()),O},toJSON(O){return{done:O.done.map(e=>e.toJSON()),undone:O.undone.map(e=>e.toJSON())}},fromJSON(O){return new vO(O.done.map(ht.fromJSON),O.undone.map(ht.fromJSON))}});function _u(O={}){return[Ru,Zu.of(O),b.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Vu:e.inputType=="historyRedo"?Eo:null;return i?(e.preventDefault(),i(t)):!1}})]}function Nn(O,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(Ru,!1);if(!r)return!1;let n=r.pop(O,t,e);return n?(i(n),!0):!1}}var Vu=Nn(0,!1),Eo=Nn(1,!1),NX=Nn(0,!0),FX=Nn(1,!0);var ht=class O{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new O(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new O(e.changes&&ve.fromJSON(e.changes),[],e.mapped&&Zt.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let i=nt;for(let r of e.startState.facet(BX)){let n=r(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new O(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,nt)}static selection(e){return new O(void 0,nt,void 0,void 0,e)}};function Bn(O,e,t,i){let r=e+1>t+20?e-t-1:0,n=O.slice(r,e);return n.push(i),n}function HX(O,e){let t=[],i=!1;return O.iterChangedRanges((r,n)=>t.push(r,n)),e.iterChangedRanges((r,n,s,a)=>{for(let o=0;o=c&&s<=l&&(i=!0)}}),i}function KX(O,e){return O.ranges.length==e.ranges.length&&O.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function qu(O,e){return O.length?e.length?O.concat(e):O:e}var nt=[],JX=200;function zu(O,e){if(O.length){let t=O[O.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-JX));return i.length&&i[i.length-1].eq(e)?O:(i.push(e),Bn(O,O.length-1,1e9,t.setSelAfter(i)))}else return[ht.selection([e])]}function e1(O){let e=O[O.length-1],t=O.slice();return t[O.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Co(O,e){if(!O.length)return O;let t=O.length,i=nt;for(;t;){let r=t1(O[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let n=O.slice(0,t);return n[t-1]=r,n}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[ht.selection(i)]:nt}function t1(O,e,t){let i=qu(O.selectionsAfter.length?O.selectionsAfter.map(a=>a.map(e)):nt,t);if(!O.changes)return ht.selection(i);let r=O.changes.map(e),n=e.mapDesc(O.changes,!0),s=O.mapped?O.mapped.composeDesc(n):n;return new ht(r,V.mapEffects(O.effects,e),s,O.startSelection.map(n),i)}var O1=/^(input\.type|delete)($|\.)/,vO=class O{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new O(this.done,this.undone):this}addChanges(e,t,i,r,n){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!i||O1.test(i))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?O.moveByChar(t,e):Fn(t,e))}function we(O){return O.textDirectionAt(O.state.selection.main.head)==ee.LTR}var ju=O=>Uu(O,!we(O)),Cu=O=>Uu(O,we(O));function Gu(O,e){return dt(O,t=>t.empty?O.moveByGroup(t,e):Fn(t,e))}var i1=O=>Gu(O,!we(O)),r1=O=>Gu(O,we(O));var mR=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function n1(O,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(O.sliceDoc(e.from,e.to)))||e.firstChild}function Hn(O,e,t){let i=W(O).resolveInner(e.head),r=t?_.closedBy:_.openedBy;for(let o=e.head;;){let c=t?i.childAfter(o):i.childBefore(o);if(!c)break;n1(O,c,r)?i=c:o=t?c.to:c.from}let n=i.type.prop(r),s,a;return n&&(s=t?ct(O,i.from,1):ct(O,i.to,-1))&&s.matched?a=t?s.end.to:s.end.from:a=t?i.to:i.from,P.cursor(a,t?-1:1)}var s1=O=>dt(O,e=>Hn(O.state,e,!we(O))),a1=O=>dt(O,e=>Hn(O.state,e,we(O)));function Eu(O,e){return dt(O,t=>{if(!t.empty)return Fn(t,e);let i=O.moveVertically(t,e);return i.head!=t.head?i:O.moveToLineBoundary(t,e)})}var Au=O=>Eu(O,!1),Lu=O=>Eu(O,!0);function Mu(O){let e=O.scrollDOM.clientHeights.empty?O.moveVertically(s,e,t.height):Fn(s,e));if(r.eq(i.selection))return!1;let n;if(t.selfScroll){let s=O.coordsAtPos(i.selection.main.head),a=O.scrollDOM.getBoundingClientRect(),o=a.top+t.marginTop,c=a.bottom-t.marginBottom;s&&s.top>o&&s.bottomDu(O,!1),Ao=O=>Du(O,!0);function sO(O,e,t){let i=O.lineBlockAt(e.head),r=O.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=O.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let n=/^\s*/.exec(O.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&e.head!=i.from+n&&(r=P.cursor(i.from+n))}return r}var o1=O=>dt(O,e=>sO(O,e,!0)),l1=O=>dt(O,e=>sO(O,e,!1)),c1=O=>dt(O,e=>sO(O,e,!we(O))),h1=O=>dt(O,e=>sO(O,e,we(O))),f1=O=>dt(O,e=>P.cursor(O.lineBlockAt(e.head).from,1)),d1=O=>dt(O,e=>P.cursor(O.lineBlockAt(e.head).to,-1));function u1(O,e,t){let i=!1,r=si(O.selection,n=>{let s=ct(O,n.head,-1)||ct(O,n.head,1)||n.head>0&&ct(O,n.head-1,1)||n.headu1(O,e,!1);function st(O,e){let t=si(O.state.selection,i=>{let r=e(i);return P.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(O.state.selection)?!1:(O.dispatch(ft(O.state,t)),!0)}function Iu(O,e){return st(O,t=>O.moveByChar(t,e))}var Bu=O=>Iu(O,!we(O)),Nu=O=>Iu(O,we(O));function Fu(O,e){return st(O,t=>O.moveByGroup(t,e))}var $1=O=>Fu(O,!we(O)),p1=O=>Fu(O,we(O));var m1=O=>st(O,e=>Hn(O.state,e,!we(O))),g1=O=>st(O,e=>Hn(O.state,e,we(O)));function Hu(O,e){return st(O,t=>O.moveVertically(t,e))}var Ku=O=>Hu(O,!1),Ju=O=>Hu(O,!0);function eQ(O,e){return st(O,t=>O.moveVertically(t,e,Mu(O).height))}var Tu=O=>eQ(O,!1),yu=O=>eQ(O,!0),P1=O=>st(O,e=>sO(O,e,!0)),S1=O=>st(O,e=>sO(O,e,!1)),X1=O=>st(O,e=>sO(O,e,!we(O))),T1=O=>st(O,e=>sO(O,e,we(O))),y1=O=>st(O,e=>P.cursor(O.lineBlockAt(e.head).from)),b1=O=>st(O,e=>P.cursor(O.lineBlockAt(e.head).to)),bu=({state:O,dispatch:e})=>(e(ft(O,{anchor:0})),!0),xu=({state:O,dispatch:e})=>(e(ft(O,{anchor:O.doc.length})),!0),wu=({state:O,dispatch:e})=>(e(ft(O,{anchor:O.selection.main.anchor,head:0})),!0),ku=({state:O,dispatch:e})=>(e(ft(O,{anchor:O.selection.main.anchor,head:O.doc.length})),!0),x1=({state:O,dispatch:e})=>(e(O.update({selection:{anchor:0,head:O.doc.length},userEvent:"select"})),!0),w1=({state:O,dispatch:e})=>{let t=Kn(O).map(({from:i,to:r})=>P.range(i,Math.min(r+1,O.doc.length)));return e(O.update({selection:P.create(t),userEvent:"select"})),!0},k1=({state:O,dispatch:e})=>{let t=si(O.selection,i=>{let r=W(O),n=r.resolveStack(i.from,1);if(i.empty){let s=r.resolveStack(i.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:a}=s;if((a.from=i.to||a.to>i.to&&a.from<=i.from)&&s.next)return P.range(a.to,a.from)}return i});return t.eq(O.selection)?!1:(e(ft(O,t)),!0)};function tQ(O,e){let{state:t}=O,i=t.selection,r=t.selection.ranges.slice();for(let n of t.selection.ranges){let s=t.doc.lineAt(n.head);if(e?s.to0)for(let a=n;;){let o=O.moveVertically(a,e);if(o.heads.to){r.some(c=>c.head==o.head)||r.push(o);break}else{if(o.head==a.head)break;a=o}}}return r.length==i.ranges.length?!1:(O.dispatch(ft(t,P.create(r,r.length-1))),!0)}var v1=O=>tQ(O,!1),Y1=O=>tQ(O,!0),Z1=({state:O,dispatch:e})=>{let t=O.selection,i=null;return t.ranges.length>1?i=P.create([t.main]):t.main.empty||(i=P.create([P.cursor(t.main.head)])),i?(e(ft(O,i)),!0):!1};function fr(O,e){if(O.state.readOnly)return!1;let t="delete.selection",{state:i}=O,r=i.changeByRange(n=>{let{from:s,to:a}=n;if(s==a){let o=e(n);os&&(t="delete.forward",o=In(O,o,!0)),s=Math.min(s,o),a=Math.max(a,o)}else s=In(O,s,!1),a=In(O,a,!0);return s==a?{range:n}:{changes:{from:s,to:a},range:P.cursor(s,sr(O)))i.between(e,e,(r,n)=>{re&&(e=t?n:r)});return e}var OQ=(O,e,t)=>fr(O,i=>{let r=i.from,{state:n}=O,s=n.doc.lineAt(r),a,o;if(t&&!e&&r>s.from&&rOQ(O,!1,!0);var iQ=O=>OQ(O,!0,!1),rQ=(O,e)=>fr(O,t=>{let i=t.head,{state:r}=O,n=r.doc.lineAt(i),s=r.charCategorizer(i);for(let a=null;;){if(i==(e?n.to:n.from)){i==t.head&&n.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let o=Qe(n.text,i-n.from,e)+n.from,c=n.text.slice(Math.min(i,o)-n.from,Math.max(i,o)-n.from),l=s(c);if(a!=null&&l!=a)break;(c!=" "||i!=t.head)&&(a=l),i=o}return i}),nQ=O=>rQ(O,!1),R1=O=>rQ(O,!0),_1=O=>fr(O,e=>{let t=O.lineBlockAt(e.head).to;return e.headfr(O,e=>{let t=O.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),q1=O=>fr(O,e=>{let t=O.moveToLineBoundary(e,!0).head;return e.head{if(O.readOnly)return!1;let t=O.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:G.of(["",""])},range:P.cursor(i.from)}));return e(O.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},W1=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=O.changeByRange(i=>{if(!i.empty||i.from==0||i.from==O.doc.length)return{range:i};let r=i.from,n=O.doc.lineAt(r),s=r==n.from?r-1:Qe(n.text,r-n.from,!1)+n.from,a=r==n.to?r+1:Qe(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:a,insert:O.doc.slice(r,a).append(O.doc.slice(s,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(O.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Kn(O){let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.from),n=O.doc.lineAt(i.to);if(!i.empty&&i.to==n.from&&(n=O.doc.lineAt(i.to-1)),t>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(i)}else e.push({from:r.from,to:n.to,ranges:[i]});t=n.number+1}return e}function sQ(O,e,t){if(O.readOnly)return!1;let i=[],r=[];for(let n of Kn(O)){if(t?n.to==O.doc.length:n.from==0)continue;let s=O.doc.lineAt(t?n.to+1:n.from-1),a=s.length+1;if(t){i.push({from:n.to,to:s.to},{from:n.from,insert:s.text+O.lineBreak});for(let o of n.ranges)r.push(P.range(Math.min(O.doc.length,o.anchor+a),Math.min(O.doc.length,o.head+a)))}else{i.push({from:s.from,to:n.from},{from:n.to,insert:O.lineBreak+s.text});for(let o of n.ranges)r.push(P.range(o.anchor-a,o.head-a))}}return i.length?(e(O.update({changes:i,scrollIntoView:!0,selection:P.create(r,O.selection.mainIndex),userEvent:"move.line"})),!0):!1}var U1=({state:O,dispatch:e})=>sQ(O,e,!1),j1=({state:O,dispatch:e})=>sQ(O,e,!0);function aQ(O,e,t){if(O.readOnly)return!1;let i=[];for(let r of Kn(O))t?i.push({from:r.from,insert:O.doc.slice(r.from,r.to)+O.lineBreak}):i.push({from:r.to,insert:O.lineBreak+O.doc.slice(r.from,r.to)});return e(O.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var C1=({state:O,dispatch:e})=>aQ(O,e,!1),G1=({state:O,dispatch:e})=>aQ(O,e,!0),E1=O=>{if(O.state.readOnly)return!1;let{state:e}=O,t=e.changes(Kn(e).map(({from:r,to:n})=>(r>0?r--:n{let n;if(O.lineWrapping){let s=O.lineBlockAt(r.head),a=O.coordsAtPos(r.head,r.assoc||1);a&&(n=s.bottom+O.documentTop-a.bottom+O.defaultLineHeight/2)}return O.moveVertically(r,!0,n)}).map(t);return O.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function A1(O,e){if(/\(\)|\[\]|\{\}/.test(O.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=W(O).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),n;return i&&r&&i.to<=e&&r.from>=e&&(n=i.type.prop(_.closedBy))&&n.indexOf(r.name)>-1&&O.doc.lineAt(i.to).from==O.doc.lineAt(r.from).from&&!/\S/.test(O.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var vu=oQ(!1),L1=oQ(!0);function oQ(O){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:n,to:s}=r,a=e.doc.lineAt(n),o=!O&&n==s&&A1(e,n);O&&(n=s=(s<=a.to?a:e.doc.lineAt(s)).to);let c=new wO(e,{simulateBreak:n,simulateDoubleBreak:!!o}),l=Ln(c,n);for(l==null&&(l=Ye(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));sa.from&&n{let r=[];for(let s=i.from;s<=i.to;){let a=O.doc.lineAt(s);a.number>t&&(i.empty||i.to>a.from)&&(e(a,r,i),t=a.number),s=a.to+1}let n=O.changes(r);return{changes:r,range:P.range(n.mapPos(i.anchor,1),n.mapPos(i.head,1))}})}var M1=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=Object.create(null),i=new wO(O,{overrideIndentation:n=>{let s=t[n];return s??-1}}),r=Io(O,(n,s,a)=>{let o=Ln(i,n.from);if(o==null)return;/\S/.test(n.text)||(o=0);let c=/^\s*/.exec(n.text)[0],l=ni(O,o);(c!=l||a.fromO.readOnly?!1:(e(O.update(Io(O,(t,i)=>{i.push({from:t.from,insert:O.facet(rO)})}),{userEvent:"input.indent"})),!0),cQ=({state:O,dispatch:e})=>O.readOnly?!1:(e(O.update(Io(O,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let n=Ye(r,O.tabSize),s=0,a=ni(O,Math.max(0,n-or(O)));for(;s(O.setTabFocusMode(),!0);var I1=[{key:"Ctrl-b",run:ju,shift:Bu,preventDefault:!0},{key:"Ctrl-f",run:Cu,shift:Nu},{key:"Ctrl-p",run:Au,shift:Ku},{key:"Ctrl-n",run:Lu,shift:Ju},{key:"Ctrl-a",run:f1,shift:y1},{key:"Ctrl-e",run:d1,shift:b1},{key:"Ctrl-d",run:iQ},{key:"Ctrl-h",run:Lo},{key:"Ctrl-k",run:_1},{key:"Ctrl-Alt-h",run:nQ},{key:"Ctrl-o",run:z1},{key:"Ctrl-t",run:W1},{key:"Ctrl-v",run:Ao}],B1=[{key:"ArrowLeft",run:ju,shift:Bu,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:i1,shift:$1,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:c1,shift:X1,preventDefault:!0},{key:"ArrowRight",run:Cu,shift:Nu,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:r1,shift:p1,preventDefault:!0},{mac:"Cmd-ArrowRight",run:h1,shift:T1,preventDefault:!0},{key:"ArrowUp",run:Au,shift:Ku,preventDefault:!0},{mac:"Cmd-ArrowUp",run:bu,shift:wu},{mac:"Ctrl-ArrowUp",run:Xu,shift:Tu},{key:"ArrowDown",run:Lu,shift:Ju,preventDefault:!0},{mac:"Cmd-ArrowDown",run:xu,shift:ku},{mac:"Ctrl-ArrowDown",run:Ao,shift:yu},{key:"PageUp",run:Xu,shift:Tu},{key:"PageDown",run:Ao,shift:yu},{key:"Home",run:l1,shift:S1,preventDefault:!0},{key:"Mod-Home",run:bu,shift:wu},{key:"End",run:o1,shift:P1,preventDefault:!0},{key:"Mod-End",run:xu,shift:ku},{key:"Enter",run:vu,shift:vu},{key:"Mod-a",run:x1},{key:"Backspace",run:Lo,shift:Lo,preventDefault:!0},{key:"Delete",run:iQ,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:nQ,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:R1,preventDefault:!0},{mac:"Mod-Backspace",run:V1,preventDefault:!0},{mac:"Mod-Delete",run:q1,preventDefault:!0}].concat(I1.map(O=>({mac:O.key,run:O.run,shift:O.shift}))),hQ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:s1,shift:m1},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:a1,shift:g1},{key:"Alt-ArrowUp",run:U1},{key:"Shift-Alt-ArrowUp",run:C1},{key:"Alt-ArrowDown",run:j1},{key:"Shift-Alt-ArrowDown",run:G1},{key:"Mod-Alt-ArrowUp",run:v1},{key:"Mod-Alt-ArrowDown",run:Y1},{key:"Escape",run:Z1},{key:"Mod-Enter",run:L1},{key:"Alt-l",mac:"Ctrl-l",run:w1},{key:"Mod-i",run:k1,preventDefault:!0},{key:"Mod-[",run:cQ},{key:"Mod-]",run:lQ},{key:"Mod-Alt-\\",run:M1},{key:"Shift-Mod-k",run:E1},{key:"Shift-Mod-\\",run:Q1},{key:"Mod-/",run:CX},{key:"Alt-A",run:EX},{key:"Ctrl-m",mac:"Shift-Alt-m",run:D1}].concat(B1),fQ={key:"Tab",run:lQ,shift:cQ};var dQ=typeof String.prototype.normalize=="function"?O=>O.normalize("NFKD"):O=>O,oO=class{constructor(e,t,i=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?a=>n(dQ(a)):dQ,this.query=this.normalize(t)}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 Se(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 t=ki(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=De(e);let r=this.normalize(t);if(r.length)for(let n=0,s=i;;n++){let a=r.charCodeAt(n),o=this.match(a,s,this.bufferPos+this.bufferStart);if(n==r.length-1){if(o)return this.value=o,this;break}s==i&&nthis.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 t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=rs(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=t){let a=new O(t,e.sliceString(t,i));return Bo.set(e,a),a}if(r.from==t&&r.to==i)return r;let{text:n,from:s}=r;return s>t&&(n=e.sliceString(t,s)+n,s=t),r.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this.matchPos=rs(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Os.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(ts.prototype[Symbol.iterator]=is.prototype[Symbol.iterator]=function(){return this});function N1(O){try{return new RegExp(O,el),!0}catch{return!1}}function rs(O,e){if(e>=O.length)return e;let t=O.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function No(O){let e=String(O.state.doc.lineAt(O.state.selection.main.head).number),t=B("input",{class:"cm-textfield",name:"line",value:e}),i=B("form",{class:"cm-gotoLine",onkeydown:n=>{n.keyCode==27?(n.preventDefault(),O.dispatch({effects:dr.of(!1)}),O.focus()):n.keyCode==13&&(n.preventDefault(),r())},onsubmit:n=>{n.preventDefault(),r()}},B("label",O.state.phrase("Go to line"),": ",t)," ",B("button",{class:"cm-button",type:"submit"},O.state.phrase("go")),B("button",{name:"close",onclick:()=>{O.dispatch({effects:dr.of(!1)}),O.focus()},"aria-label":O.state.phrase("close"),type:"button"},["\xD7"]));function r(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=O,a=s.doc.lineAt(s.selection.main.head),[,o,c,l,h]=n,f=l?+l.slice(1):0,u=c?+c:a.number;if(c&&h){let p=u/100;o&&(p=p*(o=="-"?-1:1)+a.number/s.doc.lines),u=Math.round(s.doc.lines*p)}else c&&o&&(u=u*(o=="-"?-1:1)+a.number);let Q=s.doc.line(Math.max(1,Math.min(s.doc.lines,u))),$=P.cursor(Q.from+Math.max(0,Math.min(f,Q.length)));O.dispatch({effects:[dr.of(!1),b.scrollIntoView($.from,{y:"center"})],selection:$}),O.focus()}return{dom:i}}var dr=V.define(),uQ=he.define({create(){return!0},update(O,e){for(let t of e.effects)t.is(dr)&&(O=t.value);return O},provide:O=>SO.from(O,e=>e?No:null)}),F1=O=>{let e=XO(O,No);if(!e){let t=[dr.of(!0)];O.state.field(uQ,!1)==null&&t.push(V.appendConfig.of([uQ,H1])),O.dispatch({effects:t}),e=XO(O,No)}return e&&e.dom.querySelector("input").select(),!0},H1=b.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),K1={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},mQ=v.define({combine(O){return xe(O,K1,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function gQ(O){let e=[iT,OT];return O&&e.push(mQ.of(O)),e}var J1=Z.mark({class:"cm-selectionMatch"}),eT=Z.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function QQ(O,e,t,i){return(t==0||O(e.sliceDoc(t-1,t))!=J.Word)&&(i==e.doc.length||O(e.sliceDoc(i,i+1))!=J.Word)}function tT(O,e,t,i){return O(e.sliceDoc(t,t+1))==J.Word&&O(e.sliceDoc(i-1,i))==J.Word}var OT=fe.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.selectionSet||O.docChanged||O.viewportChanged)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=O.state.facet(mQ),{state:t}=O,i=t.selection;if(i.ranges.length>1)return Z.none;let r=i.main,n,s=null;if(r.empty){if(!e.highlightWordAroundCursor)return Z.none;let o=t.wordAt(r.head);if(!o)return Z.none;s=t.charCategorizer(r.head),n=t.sliceDoc(o.from,o.to)}else{let o=r.to-r.from;if(o200)return Z.none;if(e.wholeWords){if(n=t.sliceDoc(r.from,r.to),s=t.charCategorizer(r.head),!(QQ(s,t,r.from,r.to)&&tT(s,t,r.from,r.to)))return Z.none}else if(n=t.sliceDoc(r.from,r.to),!n)return Z.none}let a=[];for(let o of O.visibleRanges){let c=new oO(t.doc,n,o.from,o.to);for(;!c.next().done;){let{from:l,to:h}=c.value;if((!s||QQ(s,t,l,h))&&(r.empty&&l<=r.from&&h>=r.to?a.push(eT.range(l,h)):(l>=r.to||h<=r.from)&&a.push(J1.range(l,h)),a.length>e.maxMatches))return Z.none}}return Z.set(a)}},{decorations:O=>O.decorations}),iT=b.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),rT=({state:O,dispatch:e})=>{let{selection:t}=O,i=P.create(t.ranges.map(r=>O.wordAt(r.head)||P.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(O.update({selection:i})),!0)};function nT(O,e){let{main:t,ranges:i}=O.selection,r=O.wordAt(t.head),n=r&&r.from==t.from&&r.to==t.to;for(let s=!1,a=new oO(O.doc,e,i[i.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new oO(O.doc,e,0,Math.max(0,i[i.length-1].from-1)),s=!0}else{if(s&&i.some(o=>o.from==a.value.from))continue;if(n){let o=O.wordAt(a.value.from);if(!o||o.from!=a.value.from||o.to!=a.value.to)continue}return a.value}}var sT=({state:O,dispatch:e})=>{let{ranges:t}=O.selection;if(t.some(n=>n.from===n.to))return rT({state:O,dispatch:e});let i=O.sliceDoc(t[0].from,t[0].to);if(O.selection.ranges.some(n=>O.sliceDoc(n.from,n.to)!=i))return!1;let r=nT(O,i);return r?(e(O.update({selection:O.selection.addRange(P.range(r.from,r.to),!1),effects:b.scrollIntoView(r.to)})),!0):!1},li=v.define({combine(O){return xe(O,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Jo(e),scrollToMatch:e=>b.scrollIntoView(e)})}});var ns=class{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||N1(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` -`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Ho(this):new Fo(this)}getCursor(e,t=0,i){let r=e.doc?e:M.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?oi(this,r,t,i):ai(this,r,t,i)}},ss=class{constructor(e){this.spec=e}};function ai(O,e,t,i){return new oO(e.doc,O.unquoted,t,i,O.caseSensitive?void 0:r=>r.toLowerCase(),O.wholeWord?aT(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function aT(O,e){return(t,i,r,n)=>((n>t||n+r.length=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=ai(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function oi(O,e,t,i){return new ts(e.doc,O.search,{ignoreCase:!O.caseSensitive,test:O.wholeWord?oT(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function as(O,e){return O.slice(Qe(O,e,!1),e)}function os(O,e){return O.slice(e,Qe(O,e))}function oT(O){return(e,t,i)=>!i[0].length||(O(as(i.input,i.index))!=J.Word||O(os(i.input,i.index))!=J.Word)&&(O(os(i.input,i.index+i[0].length))!=J.Word||O(as(i.input,i.index+i[0].length))!=J.Word)}var Ho=class extends ss{nextMatch(e,t,i){let r=oi(this.spec,e,i,e.doc.length).next();return r.done&&(r=oi(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let n=Math.max(t,i-r*1e4),s=oi(this.spec,e,n,i),a=null;for(;!s.next().done;)a=s.value;if(a&&(n==t||a.from>n+10))return a;if(n==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let n=+i.slice(0,r);if(n>0&&n=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=oi(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},Qr=V.define(),tl=V.define(),aO=he.define({create(O){return new ur(Ko(O).create(),null)},update(O,e){for(let t of e.effects)t.is(Qr)?O=new ur(t.value.create(),O.panel):t.is(tl)&&(O=new ur(O.query,t.value?Ol:null));return O},provide:O=>SO.from(O,e=>e.panel)});var ur=class{constructor(e,t){this.query=e,this.panel=t}},lT=Z.mark({class:"cm-searchMatch"}),cT=Z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),hT=fe.fromClass(class{constructor(O){this.view=O,this.decorations=this.highlight(O.state.field(aO))}update(O){let e=O.state.field(aO);(e!=O.startState.field(aO)||O.docChanged||O.selectionSet||O.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:O,panel:e}){if(!e||!O.spec.valid)return Z.none;let{view:t}=this,i=new Me;for(let r=0,n=t.visibleRanges,s=n.length;rn[r+1].from-500;)o=n[++r].to;O.highlight(t.state,a,o,(c,l)=>{let h=t.state.selection.ranges.some(f=>f.from==c&&f.to==l);i.add(c,l,h?cT:lT)})}return i.finish()}},{decorations:O=>O.decorations});function $r(O){return e=>{let t=e.state.field(aO,!1);return t&&t.query.spec.valid?O(e,t):XQ(e)}}var ls=$r((O,{query:e})=>{let{to:t}=O.state.selection.main,i=e.nextMatch(O.state,t,t);if(!i)return!1;let r=P.single(i.from,i.to),n=O.state.facet(li);return O.dispatch({selection:r,effects:[il(O,i),n.scrollToMatch(r.main,O)],userEvent:"select.search"}),SQ(O),!0}),cs=$r((O,{query:e})=>{let{state:t}=O,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return!1;let n=P.single(r.from,r.to),s=O.state.facet(li);return O.dispatch({selection:n,effects:[il(O,r),s.scrollToMatch(n.main,O)],userEvent:"select.search"}),SQ(O),!0}),fT=$r((O,{query:e})=>{let t=e.matchAll(O.state,1e3);return!t||!t.length?!1:(O.dispatch({selection:P.create(t.map(i=>P.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),dT=({state:O,dispatch:e})=>{let t=O.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:r}=t.main,n=[],s=0;for(let a=new oO(O.doc,O.sliceDoc(i,r));!a.next().done;){if(n.length>1e3)return!1;a.value.from==i&&(s=n.length),n.push(P.range(a.value.from,a.value.to))}return e(O.update({selection:P.create(n,s),userEvent:"select.search.matches"})),!0},$Q=$r((O,{query:e})=>{let{state:t}=O,{from:i,to:r}=t.selection.main;if(t.readOnly)return!1;let n=e.nextMatch(t,i,i);if(!n)return!1;let s=n,a=[],o,c,l=[];s.from==i&&s.to==r&&(c=t.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:c}),s=e.nextMatch(t,s.from,s.to),l.push(b.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+".")));let h=O.state.changes(a);return s&&(o=P.single(s.from,s.to).map(h),l.push(il(O,s)),l.push(t.facet(li).scrollToMatch(o.main,O))),O.dispatch({changes:h,selection:o,effects:l,userEvent:"input.replace"}),!0}),uT=$r((O,{query:e})=>{if(O.state.readOnly)return!1;let t=e.matchAll(O.state,1e9).map(r=>{let{from:n,to:s}=r;return{from:n,to:s,insert:e.getReplacement(r)}});if(!t.length)return!1;let i=O.state.phrase("replaced $ matches",t.length)+".";return O.dispatch({changes:t,effects:b.announce.of(i),userEvent:"input.replace.all"}),!0});function Ol(O){return O.state.facet(li).createPanel(O)}function Ko(O,e){var t,i,r,n,s;let a=O.selection.main,o=a.empty||a.to>a.from+100?"":O.sliceDoc(a.from,a.to);if(e&&!o)return e;let c=O.facet(li);return new ns({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?o:o.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:c.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:c.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:c.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:c.wholeWord})}function PQ(O){let e=XO(O,Ol);return e&&e.dom.querySelector("[main-field]")}function SQ(O){let e=PQ(O);e&&e==O.root.activeElement&&e.select()}var XQ=O=>{let e=O.state.field(aO,!1);if(e&&e.panel){let t=PQ(O);if(t&&t!=O.root.activeElement){let i=Ko(O.state,e.query.spec);i.valid&&O.dispatch({effects:Qr.of(i)}),t.focus(),t.select()}}else O.dispatch({effects:[tl.of(!0),e?Qr.of(Ko(O.state,e.query.spec)):V.appendConfig.of($T)]});return!0},TQ=O=>{let e=O.state.field(aO,!1);if(!e||!e.panel)return!1;let t=XO(O,Ol);return t&&t.dom.contains(O.root.activeElement)&&O.focus(),O.dispatch({effects:tl.of(!1)}),!0},yQ=[{key:"Mod-f",run:XQ,scope:"editor search-panel"},{key:"F3",run:ls,shift:cs,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ls,shift:cs,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:TQ,scope:"editor search-panel"},{key:"Mod-Shift-l",run:dT},{key:"Mod-Alt-g",run:F1},{key:"Mod-d",run:sT,preventDefault:!0}],Jo=class{constructor(e){this.view=e;let t=this.query=e.state.field(aO).query.spec;this.commit=this.commit.bind(this),this.searchField=B("input",{value:t.search,placeholder:Fe(e,"Find"),"aria-label":Fe(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=B("input",{value:t.replace,placeholder:Fe(e,"Replace"),"aria-label":Fe(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=B("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=B("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=B("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(r,n,s){return B("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=B("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>ls(e),[Fe(e,"next")]),i("prev",()=>cs(e),[Fe(e,"previous")]),i("select",()=>fT(e),[Fe(e,"all")]),B("label",null,[this.caseField,Fe(e,"match case")]),B("label",null,[this.reField,Fe(e,"regexp")]),B("label",null,[this.wordField,Fe(e,"by word")]),...e.state.readOnly?[]:[B("br"),this.replaceField,i("replace",()=>$Q(e),[Fe(e,"replace")]),i("replaceAll",()=>uT(e),[Fe(e,"replace all")])],B("button",{name:"close",onclick:()=>TQ(e),"aria-label":Fe(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new ns({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:Qr.of(e)}))}keydown(e){Sd(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?cs:ls)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),$Q(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(Qr)&&!i.value.eq(this.query)&&this.setQuery(i.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(li).top}};function Fe(O,e){return O.state.phrase(e)}var Jn=30,es=/[\s\.,:;?!]/;function il(O,{from:e,to:t}){let i=O.state.doc.lineAt(e),r=O.state.doc.lineAt(t).to,n=Math.max(i.from,e-Jn),s=Math.min(r,t+Jn),a=O.state.sliceDoc(n,s);if(n!=i.from){for(let o=0;oa.length-Jn;o--)if(!es.test(a[o-1])&&es.test(a[o])){a=a.slice(0,o);break}}return b.announce.of(`${O.state.phrase("current match")}. ${a} ${O.state.phrase("on line")} ${i.number}.`)}var QT=b.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"}}),$T=[aO,ze.low(hT),QT];var ci=class{constructor(e,t,i,r){this.state=e,this.pos=t,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=W(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),r=t.text.slice(i-t.from,this.pos-t.from),n=r.search(_Q(e,!1));return n<0?null:{from:i+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}};function bQ(O){let e=Object.keys(O).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function pT(O){let e=Object.create(null),t=Object.create(null);for(let{label:r}of O){e[r[0]]=!0;for(let n=1;ntypeof r=="string"?{label:r}:r),[t,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:pT(e);return r=>{let n=r.matchBefore(i);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:t}:null}}function lO(O,e){return t=>{for(let i=W(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(O.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}var fs=class{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}};function ZO(O){return O.selection.main.from}function _Q(O,e){var t;let{source:i}=O,r=e&&i[0]!="^",n=i[i.length-1]!="$";return!r&&!n?O:new RegExp(`${r?"^":""}(?:${i})${n?"$":""}`,(t=O.flags)!==null&&t!==void 0?t:O.ignoreCase?"i":"")}var $l=qe.define();function mT(O,e,t,i){let{main:r}=O.selection,n=t-r.from,s=i-r.from;return{...O.changeByRange(a=>{if(a!=r&&t!=i&&O.sliceDoc(a.from+n,a.from+s)!=O.sliceDoc(t,i))return{range:a};let o=O.toText(e);return{changes:{from:a.from+n,to:i==r.from?a.to:a.from+s,insert:o},range:P.cursor(a.from+n+o.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var xQ=new WeakMap;function gT(O){if(!Array.isArray(O))return O;let e=xQ.get(O);return e||xQ.set(O,e=zt(O)),e}var ds=V.define(),pr=V.define(),al=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(x=ki(S))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!g||w==1&&p||T==0&&w!=0)&&(t[h]==S||i[h]==S&&(f=!0)?s[h++]=g:s.length&&(m=!1)),T=w,g+=De(S)}return h==o&&s[0]==0&&m?this.result(-100+(f?-200:0),s,e):u==o&&Q==0?this.ret(-200-e.length+($==e.length?0:-100),[0,$]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):u==o?this.ret(-900-e.length,[Q,$]):h==o?this.result(-100+(f?-200:0)+-700+(m?0:-1100),s,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,i){let r=[],n=0;for(let s of t){let a=s+(this.astral?De(Se(i,s)):1);n&&r[n-1]==s?r[n-1]=a:(r[n++]=s,r[n++]=a)}return this.ret(e-i.length,r)}},ol=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:PT,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>wQ(e(i),t(i)),optionClass:(e,t)=>i=>wQ(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function wQ(O,e){return O?e?O+" "+e:O:e}function PT(O,e,t,i,r,n){let s=O.textDirection==ee.RTL,a=s,o=!1,c="top",l,h,f=e.left-r.left,u=r.right-e.right,Q=i.right-i.left,$=i.bottom-i.top;if(a&&f=$||g>e.top?l=t.bottom-e.top:(c="bottom",l=e.bottom-t.top)}let p=(e.bottom-e.top)/n.offsetHeight,m=(e.right-e.left)/n.offsetWidth;return{style:`${c}: ${l/p}px; max-width: ${h/m}px`,class:"cm-completionInfo-"+(o?s?"left-narrow":"right-narrow":a?"left":"right")}}function ST(O){let e=O.addToOptions.slice();return O.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let a=t.displayLabel||t.label,o=0;for(let c=0;co&&s.appendChild(document.createTextNode(a.slice(o,l)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(l,h))),f.className="cm-completionMatchedText",o=h}return ot.position-i.position).map(t=>t.render)}function rl(O,e,t){if(O<=t)return{from:0,to:O};if(e<0&&(e=0),e<=O>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let i=Math.floor((O-e)/t);return{from:O-(i+1)*t,to:O-i*t}}var ll=class{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:o=>this.placeInfo(o),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:n,selected:s}=r.open,a=e.state.facet(ge);this.optionContent=ST(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=rl(n.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",o=>{let{options:c}=e.state.field(t).open;for(let l=o.target,h;l&&l!=this.dom;l=l.parentNode)if(l.nodeName=="LI"&&(h=/-(\d+)$/.exec(l.id))&&+h[1]{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(ge).closeOnBlur&&o.relatedTarget!=e.contentDOM&&e.dispatch({effects:pr.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:n,selected:s,disabled:a}=i.open;(!r.open||r.open.options!=n)&&(this.range=rl(n.length,s,e.state.facet(ge).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),a!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=rl(t.options.length,t.selected,this.view.state.facet(ge).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:r}=i;if(!r)return;let n=typeof r=="string"?document.createTextNode(r):r(i);if(!n)return;"then"in n?n.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,i)}).catch(s=>Te(this.view.state,s,"completion info")):this.addInfoPane(n,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;i.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected");return t&&TT(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,t.bottom)-10||r.bottom{s.target==r&&s.preventDefault()});let n=null;for(let s=i.from;si.from||i.from==0))if(n=f,typeof c!="string"&&c.header)r.appendChild(c.header(c));else{let u=r.appendChild(document.createElement("completion-section"));u.textContent=f}}let l=r.appendChild(document.createElement("li"));l.id=t+"-"+s,l.setAttribute("role","option");let h=this.optionClass(a);h&&(l.className=h);for(let f of this.optionContent){let u=f(a,this.view.state,this.view,o);u&&l.appendChild(u)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew ll(t,O,e)}function TT(O,e){let t=O.getBoundingClientRect(),i=e.getBoundingClientRect(),r=t.height/O.offsetHeight;i.topt.bottom&&(O.scrollTop+=(i.bottom-t.bottom)/r)}function kQ(O){return(O.boost||0)*100+(O.apply?10:0)+(O.info?5:0)+(O.type?1:0)}function yT(O,e){let t=[],i=null,r=null,n=l=>{t.push(l);let{section:h}=l.completion;if(h){i||(i=[]);let f=typeof h=="string"?h:h.name;i.some(u=>u.name==f)||i.push(typeof h=="string"?{name:f}:h)}},s=e.facet(ge);for(let l of O)if(l.hasResult()){let h=l.result.getMatch;if(l.result.filter===!1)for(let f of l.result.options)n(new fs(f,l.source,h?h(f):[],1e9-t.length));else{let f=e.sliceDoc(l.from,l.to),u,Q=s.filterStrict?new ol(f):new al(f);for(let $ of l.result.options)if(u=Q.match($.label)){let p=$.displayLabel?h?h($,u.matched):[]:u.matched,m=u.score+($.boost||0);if(n(new fs($,l.source,p,m)),typeof $.section=="object"&&$.section.rank==="dynamic"){let{name:g}=$.section;r||(r=Object.create(null)),r[g]=Math.max(m,r[g]||-1e9)}}}}if(i){let l=Object.create(null),h=0,f=(u,Q)=>(u.rank==="dynamic"&&Q.rank==="dynamic"?r[Q.name]-r[u.name]:0)||(typeof u.rank=="number"?u.rank:1e9)-(typeof Q.rank=="number"?Q.rank:1e9)||(u.namef.score-h.score||c(h.completion,f.completion))){let h=l.completion;!o||o.label!=h.label||o.detail!=h.detail||o.type!=null&&h.type!=null&&o.type!=h.type||o.apply!=h.apply||o.boost!=h.boost?a.push(l):kQ(l.completion)>kQ(o)&&(a[a.length-1]=l),o=l.completion}return a}var cl=class O{constructor(e,t,i,r,n,s){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new O(this.options,vQ(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,n,s){if(r&&!s&&e.some(c=>c.isPending))return r.setDisabled();let a=yT(e,t);if(!a.length)return r&&e.some(c=>c.isPending)?r.setDisabled():null;let o=t.facet(ge).selectOnOpen?0:-1;if(r&&r.selected!=o&&r.selected!=-1){let c=r.options[r.selected].completion;for(let l=0;ll.hasResult()?Math.min(c,l.from):c,1e8),create:YT,above:n.aboveCursor},r?r.timestamp:Date.now(),o,!1)}map(e){return new O(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new O(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},hl=class O{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new O(kT,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(ge),n=(i.override||t.languageDataAt("autocomplete",ZO(t)).map(gT)).map(o=>(this.active.find(l=>l.source==o)||new qt(o,this.active.some(l=>l.state!=0)?1:0)).update(e,i));n.length==this.active.length&&n.every((o,c)=>o==this.active[c])&&(n=this.active);let s=this.open,a=e.effects.some(o=>o.is(pl));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(o=>o.hasResult()&&e.changes.touchesRange(o.from,o.to))||!bT(n,this.active)||a?s=cl.build(n,t,this.id,s,i,a):s&&s.disabled&&!n.some(o=>o.isPending)&&(s=null),!s&&n.every(o=>!o.isPending)&&n.some(o=>o.hasResult())&&(n=n.map(o=>o.hasResult()?new qt(o.source,0):o));for(let o of e.effects)o.is(qQ)&&(s=s&&s.setSelected(o.value,this.id));return n==this.active&&s==this.open?this:new O(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?xT:wT}};function bT(O,e){if(O==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=O+"-"+e),t}var kT=[];function VQ(O,e){if(O.isUserEvent("input.complete")){let i=O.annotation($l);if(i&&e.activateOnCompletion(i))return 12}let t=O.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:O.isUserEvent("delete.backward")?2:O.selection?8:O.docChanged?16:0}var qt=class O{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=VQ(e,t),r=this;(i&8||i&16&&this.touches(e))&&(r=new O(r.source,0)),i&4&&r.state==0&&(r=new O(this.source,1)),r=r.updateFor(e,i);for(let n of e.effects)if(n.is(ds))r=new O(r.source,1,n.value);else if(n.is(pr))r=new O(r.source,0);else if(n.is(pl))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(ZO(e.state))}},us=class O extends qt{constructor(e,t,i,r,n,s){super(e,3,t),this.limit=i,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=ZO(e.state);if(a>s||!r||t&2&&(ZO(e.startState)==this.from||at.map(e))}}),qQ=V.define(),Ce=he.define({create(){return hl.start()},update(O,e){return O.update(e)},provide:O=>[Ji.from(O,e=>e.tooltip),b.contentAttributes.from(O,e=>e.attrs)]});function ml(O,e){let t=e.completion.apply||e.completion.label,i=O.state.field(Ce).active.find(r=>r.source==e.source);return i instanceof us?(typeof t=="string"?O.dispatch({...mT(O.state,t,i.from,i.to),annotations:$l.of(e.completion)}):t(O,e.completion,i.from,i.to),!0):!1}var YT=XT(Ce,ml);function hs(O,e="option"){return t=>{let i=t.state.field(Ce,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(O?1:-1):O?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),t.dispatch({effects:qQ.of(a)}),!0}}var ZT=O=>{let e=O.state.field(Ce,!1);return O.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampO.state.field(Ce,!1)?(O.dispatch({effects:ds.of(!0)}),!0):!1,RT=O=>{let e=O.state.field(Ce,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(O.dispatch({effects:pr.of(null)}),!0)},fl=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},_T=50,VT=1e3,qT=fe.fromClass(class{constructor(O){this.view=O,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of O.state.field(Ce).active)e.isPending&&this.startQuery(e)}update(O){let e=O.state.field(Ce),t=O.state.facet(ge);if(!O.selectionSet&&!O.docChanged&&O.startState.field(Ce)==e)return;let i=O.transactions.some(n=>{let s=VQ(n,t);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n_T&&Date.now()-s.time>VT){for(let a of s.context.abortListeners)try{a()}catch(o){Te(this.view.state,o)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...O.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),O.transactions.some(n=>n.effects.some(s=>s.is(ds)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of O.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:O}=this.view,e=O.field(Ce);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}startQuery(O){let{state:e}=this.view,t=ZO(e),i=new ci(e,t,O.explicit,this.view),r=new fl(O,i);this.running.push(r),Promise.resolve(O.source(i)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:pr.of(null)}),Te(this.view.state,n)})}scheduleAccept(){this.running.every(O=>O.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}accept(){var O;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ge),i=this.view.state.field(Ce);for(let r=0;ra.source==n.active.source);if(s&&s.isPending)if(n.done==null){let a=new qt(n.active.source,0);for(let o of n.updates)a=a.update(o,t);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:pl.of(e)})}},{eventHandlers:{blur(O){let e=this.view.state.field(Ce,!1);if(e&&e.tooltip&&this.view.state.facet(ge).closeOnBlur){let t=e.open&&lo(this.view,e.open.tooltip);(!t||!t.dom.contains(O.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:pr.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ds.of(!1)}),20),this.composing=0}}}),zT=typeof navigator=="object"&&/Win/.test(navigator.platform),WT=ze.highest(b.domEventHandlers({keydown(O,e){let t=e.state.field(Ce,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||O.key.length>1||O.ctrlKey&&!(zT&&O.altKey)||O.metaKey)return!1;let i=t.open.options[t.open.selected],r=t.active.find(s=>s.source==i.source),n=i.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(O.key)>-1&&ml(e,i),!1}})),zQ=b.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:'"\xB7\xB7\xB7"',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:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),dl=class{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}},ul=class O{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,pe.TrackDel),i=e.mapPos(this.to,1,pe.TrackDel);return t==null||i==null?null:new O(this.field,t,i)}},Ql=class O{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],n=e.doc.lineAt(t),s=/^\s*/.exec(n.text)[0];for(let o of this.lines){if(i.length){let c=s,l=/^\t*/.exec(o)[0].length;for(let h=0;hnew ul(o.field,r[o.line]+o.from,r[o.line]+o.to));return{text:i,ranges:a}}static parse(e){let t=[],i=[],r=[],n;for(let s of e.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s);){let a=n[1]?+n[1]:null,o=n[2]||n[3]||"",c=-1,l=o.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h=c&&f.field++}for(let h of r)if(h.line==i.length&&h.from>n.index){let f=n[2]?3+(n[1]||"").length:2;h.from-=f,h.to-=f}r.push(new dl(c,i.length,n.index,n.index+l.length)),s=s.slice(0,n.index)+o+s.slice(n.index+n[0].length)}s=s.replace(/\\([{}])/g,(a,o,c)=>{for(let l of r)l.line==i.length&&l.from>c&&(l.from--,l.to--);return o}),i.push(s)}return new O(i,r)}},UT=Z.widget({widget:new class extends We{toDOM(){let O=document.createElement("span");return O.className="cm-snippetFieldPosition",O}ignoreEvent(){return!1}}}),jT=Z.mark({class:"cm-snippetField"}),hi=class O{constructor(e,t){this.ranges=e,this.active=t,this.deco=Z.set(e.map(i=>(i.from==i.to?UT:jT).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new O(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}},Pr=V.define({map(O,e){return O&&O.map(e)}}),CT=V.define(),mr=he.define({create(){return null},update(O,e){for(let t of e.effects){if(t.is(Pr))return t.value;if(t.is(CT)&&O)return new hi(O.ranges,t.value)}return O&&e.docChanged&&(O=O.map(e.changes)),O&&e.selection&&!O.selectionInsideField(e.selection)&&(O=null),O},provide:O=>b.decorations.from(O,e=>e?e.deco:Z.none)});function gl(O,e){return P.create(O.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function GT(O){let e=Ql.parse(O);return(t,i,r,n)=>{let{text:s,ranges:a}=e.instantiate(t.state,r),{main:o}=t.state.selection,c={changes:{from:r,to:n==o.from?o.to:n,insert:G.of(s)},scrollIntoView:!0,annotations:i?[$l.of(i),ue.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=gl(a,0)),a.some(l=>l.field>0)){let l=new hi(a,0),h=c.effects=[Pr.of(l)];t.state.field(mr,!1)===void 0&&h.push(V.appendConfig.of([mr,DT,IT,zQ]))}t.dispatch(t.state.update(c))}}function WQ(O){return({state:e,dispatch:t})=>{let i=e.field(mr,!1);if(!i||O<0&&i.active==0)return!1;let r=i.active+O,n=O>0&&!i.ranges.some(s=>s.field==r+O);return t(e.update({selection:gl(i.ranges,r),effects:Pr.of(n?null:new hi(i.ranges,r)),scrollIntoView:!0})),!0}}var ET=({state:O,dispatch:e})=>O.field(mr,!1)?(e(O.update({effects:Pr.of(null)})),!0):!1,AT=WQ(1),LT=WQ(-1);var MT=[{key:"Tab",run:AT,shift:LT},{key:"Escape",run:ET}],YQ=v.define({combine(O){return O.length?O[0]:MT}}),DT=ze.highest(Tt.compute([YQ],O=>O.facet(YQ)));function U(O,e){return{...e,apply:GT(O)}}var IT=b.domEventHandlers({mousedown(O,e){let t=e.state.field(mr,!1),i;if(!t||(i=e.posAtCoords({x:O.clientX,y:O.clientY}))==null)return!1;let r=t.ranges.find(n=>n.from<=i&&n.to>=i);return!r||r.field==t.active?!1:(e.dispatch({selection:gl(t.ranges,r.field),effects:Pr.of(t.ranges.some(n=>n.field>r.field)?new hi(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var gr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},YO=V.define({map(O,e){let t=e.mapPos(O,-1,pe.TrackAfter);return t??void 0}}),Pl=new class extends ot{};Pl.startSide=1;Pl.endSide=-1;var UQ=he.define({create(){return F.empty},update(O,e){if(O=O.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);O=O.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(YO)&&(O=O.update({add:[Pl.range(t.value,t.value+1)]}));return O}});function jQ(){return[NT,UQ]}var sl="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function CQ(O){for(let e=0;e{if((BT?O.composing:O.compositionStarted)||O.state.readOnly)return!1;let r=O.state.selection.main;if(i.length>2||i.length==2&&De(Se(i,0))==1||e!=r.from||t!=r.to)return!1;let n=HT(O.state,i);return n?(O.dispatch(n),!0):!1}),FT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let i=GQ(O,O.selection.main.head).brackets||gr.brackets,r=null,n=O.changeByRange(s=>{if(s.empty){let a=KT(O.doc,s.head);for(let o of i)if(o==a&&Qs(O.doc,s.head)==CQ(Se(o,0)))return{changes:{from:s.head-o.length,to:s.head+o.length},range:P.cursor(s.head-o.length)}}return{range:r=s}});return r||e(O.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},EQ=[{key:"Backspace",run:FT}];function HT(O,e){let t=GQ(O,O.selection.main.head),i=t.brackets||gr.brackets;for(let r of i){let n=CQ(Se(r,0));if(e==r)return n==r?ty(O,r,i.indexOf(r+r+r)>-1,t):JT(O,r,n,t.before||gr.before);if(e==n&&AQ(O,O.selection.main.from))return ey(O,r,n)}return null}function AQ(O,e){let t=!1;return O.field(UQ).between(0,O.doc.length,i=>{i==e&&(t=!0)}),t}function Qs(O,e){let t=O.sliceString(e,e+2);return t.slice(0,De(Se(t,0)))}function KT(O,e){let t=O.sliceString(e-2,e);return De(Se(t,0))==t.length?t:t.slice(1)}function JT(O,e,t,i){let r=null,n=O.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:YO.of(s.to+e.length),range:P.range(s.anchor+e.length,s.head+e.length)};let a=Qs(O.doc,s.head);return!a||/\s/.test(a)||i.indexOf(a)>-1?{changes:{insert:e+t,from:s.head},effects:YO.of(s.head+e.length),range:P.cursor(s.head+e.length)}:{range:r=s}});return r?null:O.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function ey(O,e,t){let i=null,r=O.changeByRange(n=>n.empty&&Qs(O.doc,n.head)==t?{changes:{from:n.head,to:n.head+t.length,insert:t},range:P.cursor(n.head+t.length)}:i={range:n});return i?null:O.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function ty(O,e,t,i){let r=i.stringPrefixes||gr.stringPrefixes,n=null,s=O.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:YO.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let o=a.head,c=Qs(O.doc,o),l;if(c==e){if(ZQ(O,o))return{changes:{insert:e+e,from:o},effects:YO.of(o+e.length),range:P.cursor(o+e.length)};if(AQ(O,o)){let f=t&&O.sliceDoc(o,o+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:o,to:o+f.length,insert:f},range:P.cursor(o+f.length)}}}else{if(t&&O.sliceDoc(o-2*e.length,o)==e+e&&(l=RQ(O,o-2*e.length,r))>-1&&ZQ(O,l))return{changes:{insert:e+e+e+e,from:o},effects:YO.of(o+e.length),range:P.cursor(o+e.length)};if(O.charCategorizer(o)(c)!=J.Word&&RQ(O,o,r)>-1&&!Oy(O,o,e,r))return{changes:{insert:e+e,from:o},effects:YO.of(o+e.length),range:P.cursor(o+e.length)}}return{range:n=a}});return n?null:O.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function ZQ(O,e){let t=W(O).resolveInner(e+1);return t.parent&&t.from==e}function Oy(O,e,t,i){let r=W(O).resolveInner(e,-1),n=i.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=O.sliceDoc(r.from,Math.min(r.to,r.from+t.length+n)),o=a.indexOf(t);if(!o||o>-1&&i.indexOf(a.slice(0,o))>-1){let l=r.firstChild;for(;l&&l.from==r.from&&l.to-l.from>t.length+o;){if(O.sliceDoc(l.to-t.length,l.to)==t)return!1;l=l.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function RQ(O,e,t){let i=O.charCategorizer(e);if(i(O.sliceDoc(e-1,e))!=J.Word)return e;for(let r of t){let n=e-r.length;if(O.sliceDoc(n,e)==r&&i(O.sliceDoc(n-1,n))!=J.Word)return n}return-1}function LQ(O={}){return[WT,Ce,ge.of(O),qT,iy,zQ]}var Sl=[{key:"Ctrl-Space",run:nl},{mac:"Alt-`",run:nl},{mac:"Alt-i",run:nl},{key:"Escape",run:RT},{key:"ArrowDown",run:hs(!0)},{key:"ArrowUp",run:hs(!1)},{key:"PageDown",run:hs(!0,"page")},{key:"PageUp",run:hs(!1,"page")},{key:"Enter",run:ZT}],iy=ze.highest(Tt.computeN([ge],O=>O.facet(ge).defaultKeymap?[Sl]:[]));var ps=class{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}},RO=class O{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=i.facet(Sr).markerFilter;r&&(e=r(e,i));let n=e.slice().sort((l,h)=>l.from-h.from||l.to-h.to),s=new Me,a=[],o=0;for(let l=0;;){let h=l==n.length?null:n[l];if(!h&&!a.length)break;let f,u;for(a.length?(f=o,u=a.reduce(($,p)=>Math.min($,p.to),h&&h.from>f?h.from:1e8)):(f=h.from,u=h.to,a.push(h),l++);l$.from||$.to==f))a.push($),l++,u=Math.min($.to,u);else{u=Math.min($.from,u);break}}let Q=uy(a);if(a.some($=>$.from==$.to||$.from==$.to-1&&i.doc.lineAt($.from).to==$.from))s.add(f,f,Z.widget({widget:new Xl(Q),diagnostics:a.slice()}));else{let $=a.reduce((p,m)=>m.markClass?p+" "+m.markClass:p,"");s.add(f,u,Z.mark({class:"cm-lintRange cm-lintRange-"+Q+$,diagnostics:a.slice(),inclusiveEnd:a.some(p=>p.to>u)}))}o=u;for(let $=0;${if(!(e&&s.diagnostics.indexOf(e)<0))if(!i)i=new ps(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new ps(i.from,n,i.diagnostic)}}),i}function ry(O,e){let t=e.pos,i=e.end||t,r=O.state.facet(Sr).hideOn(O,t,i);if(r!=null)return r;let n=O.startState.doc.lineAt(e.pos);return!!(O.effects.some(s=>s.is(IQ))||O.changes.touchesRange(n.from,Math.max(n.to,i)))}function ny(O,e){return O.field(He,!1)?e:e.concat(V.appendConfig.of(Qy))}var IQ=V.define(),Tl=V.define(),BQ=V.define(),He=he.define({create(){return new RO(Z.none,null,null)},update(O,e){if(e.docChanged&&O.diagnostics.size){let t=O.diagnostics.map(e.changes),i=null,r=O.panel;if(O.selected){let n=e.changes.mapPos(O.selected.from,1);i=fi(t,O.selected.diagnostic,n)||fi(t,null,n)}!t.size&&r&&e.state.facet(Sr).autoPanel&&(r=null),O=new RO(t,r,i)}for(let t of e.effects)if(t.is(IQ)){let i=e.state.facet(Sr).autoPanel?t.value.length?Xr.open:null:O.panel;O=RO.init(t.value,i,e.state)}else t.is(Tl)?O=new RO(O.diagnostics,t.value?Xr.open:null,O.selected):t.is(BQ)&&(O=new RO(O.diagnostics,O.panel,t.value));return O},provide:O=>[SO.from(O,e=>e.panel),b.decorations.from(O,e=>e.diagnostics)]});var sy=Z.mark({class:"cm-lintRange cm-lintRange-active"});function ay(O,e,t){let{diagnostics:i}=O.state.field(He),r,n=-1,s=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(o,c,{spec:l})=>{if(e>=o&&e<=c&&(o==c||(e>o||t>0)&&(eHQ(O,t,!1)))}var ly=O=>{let e=O.state.field(He,!1);(!e||!e.panel)&&O.dispatch({effects:ny(O.state,[Tl.of(!0)])});let t=XO(O,Xr.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},MQ=O=>{let e=O.state.field(He,!1);return!e||!e.panel?!1:(O.dispatch({effects:Tl.of(!1)}),!0)},cy=O=>{let e=O.state.field(He,!1);if(!e)return!1;let t=O.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(O.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)};var NQ=[{key:"Mod-Shift-m",run:ly,preventDefault:!0},{key:"F8",run:cy}];var Sr=v.define({combine(O){return{sources:O.map(e=>e.source).filter(e=>e!=null),...xe(O.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:DQ,tooltipFilter:DQ,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,r,n)=>e(i,r,n)||t(i,r,n):e:t,autoPanel:(e,t)=>e||t})}}});function DQ(O,e){return O?e?(t,i)=>e(O(t,i),i):O:e}function FQ(O){let e=[];if(O)e:for(let{name:t}of O){for(let i=0;in.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function HQ(O,e,t){var i;let r=t?FQ(e.actions):[];return B("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},B("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(O):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((n,s)=>{let a=!1,o=u=>{if(u.preventDefault(),a)return;a=!0;let Q=fi(O.state.field(He).diagnostics,e);Q&&n.apply(O,Q.from,Q.to)},{name:c}=n,l=r[s]?c.indexOf(r[s]):-1,h=l<0?c:[c.slice(0,l),B("u",c.slice(l,l+1)),c.slice(l+1)],f=n.markClass?" "+n.markClass:"";return B("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:o,onmousedown:o,"aria-label":` Action: ${c}${l<0?"":` (access key "${r[s]})"`}.`},h)}),e.source&&B("div",{class:"cm-diagnosticSource"},e.source))}var Xl=class extends We{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return B("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},ms=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=HQ(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Xr=class O{constructor(e){this.view=e,this.items=[];let t=r=>{if(r.keyCode==27)MQ(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=FQ(n.actions);for(let a=0;a{for(let n=0;nMQ(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(He).selected;if(!e)return-1;for(let t=0;t{for(let l of c.diagnostics){if(s.has(l))continue;s.add(l);let h=-1,f;for(let u=i;ui&&(this.items.splice(i,h-i),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:o})=>{let c=o.height/this.list.offsetHeight;a.topo.bottom&&(this.list.scrollTop+=(a.bottom-o.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(He),i=fi(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:BQ.of(i)})}static open(e){return new O(e)}};function hy(O,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(O)}')`}function $s(O){return hy(``,'width="6" height="3"')}var fy=b.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:$s("#d11")},".cm-lintRange-warning":{backgroundImage:$s("orange")},".cm-lintRange-info":{backgroundImage:$s("#999")},".cm-lintRange-hint":{backgroundImage:$s("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function dy(O){return O=="error"?4:O=="warning"?3:O=="info"?2:1}function uy(O){let e="hint",t=1;for(let i of O){let r=dy(i.severity);r>t&&(t=r,e=i.severity)}return e}var Qy=[He,b.decorations.compute([He],O=>{let{selected:e,panel:t}=O.field(He);return!e||!t||e.from==e.to?Z.none:Z.set([sy.range(e.from,e.to)])}),_d(ay,{hideOn:ry}),fy];var KQ=[zd(),Wd(),vd(),_u(),Qu(),bd(),kd(),M.allowMultipleSelections.of(!0),au(),Dn(pu,{fallback:!0}),Su(),jQ(),LQ(),Zd(),Rd(),Yd(),gQ(),Tt.of([...EQ,...hQ,...yQ,...Wu,...fu,...Sl,...NQ])];var $y="#e5c07b",JQ="#e06c75",py="#56b6c2",my="#ffffff",gs="#abb2bf",bl="#7d8799",gy="#61afef",Py="#98c379",e$="#d19a66",Sy="#c678dd",Xy="#21252b",t$="#2c313a",O$="#282c34",yl="#353a42",Ty="#3E4451",i$="#528bff";var yy=b.theme({"&":{color:gs,backgroundColor:O$},".cm-content":{caretColor:i$},".cm-cursor, .cm-dropCursor":{borderLeftColor:i$},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Ty},".cm-panels":{backgroundColor:Xy,color:gs},".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:O$,color:bl,border:"none"},".cm-activeLineGutter":{backgroundColor:t$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:yl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:yl,borderBottomColor:yl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:t$,color:gs}}},{dark:!0}),by=ri.define([{tag:d.keyword,color:Sy},{tag:[d.name,d.deleted,d.character,d.propertyName,d.macroName],color:JQ},{tag:[d.function(d.variableName),d.labelName],color:gy},{tag:[d.color,d.constant(d.name),d.standard(d.name)],color:e$},{tag:[d.definition(d.name),d.separator],color:gs},{tag:[d.typeName,d.className,d.number,d.changed,d.annotation,d.modifier,d.self,d.namespace],color:$y},{tag:[d.operator,d.operatorKeyword,d.url,d.escape,d.regexp,d.link,d.special(d.string)],color:py},{tag:[d.meta,d.comment],color:bl},{tag:d.strong,fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.link,color:bl,textDecoration:"underline"},{tag:d.heading,fontWeight:"bold",color:JQ},{tag:[d.atom,d.bool,d.special(d.variableName)],color:e$},{tag:[d.processingInstruction,d.string,d.inserted],color:Py},{tag:d.invalid,color:my}]),r$=[yy,Dn(by)];var kl=class O{constructor(e,t,i,r,n,s,a,o,c,l=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=n,this.score=s,this.buffer=a,this.bufferBase=o,this.curContext=c,this.lookAhead=l,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let r=e.parser.context;return new O(e,[],t,i,i,0,[],0,r?new Ps(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,r=e&65535,{parser:n}=this.p,s=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,i,r=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(t==i)return;if(s.buffer[a-2]>=t){s.buffer[a-2]=i;return}}}if(!n||this.pos==i)this.buffer.push(e,t,i,r);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0){let a=!1;for(let o=s;o>0&&this.buffer[o-2]>i;o-=4)if(this.buffer[o-1]>=0){a=!0;break}if(a)for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4)}this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=r}}shift(e,t,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let n=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(n,1)||(this.reducePos=r)),this.pushState(n,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}else this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4)}apply(e,t,i,r){e&65536?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,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,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new O(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new vl(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let n=0,s;no&1&&a==s)||r.push(t[n],s)}t=r}let i=[];for(let r=0;r>19,r=t&65535,n=this.stack.length-i*3;if(n<0||e.getGoto(this.stack[n],r,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(r,n)=>{if(!t.includes(r))return t.push(r),e.allActions(r,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-n;if(a>1){let o=s&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],o,!1)>=0)return a<<19|65536|o}}else{let a=i(s,n+1);if(a!=null)return a}})};return i(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 t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Ps=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},vl=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Yl=class O{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new O(e,t,t-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 O(this.stack,this.pos,this.index)}};function Tr(O,e=Uint16Array){if(typeof O!="string")return O;let t=null;for(let i=0,r=0;i=92&&s--,s>=34&&s--;let o=s-32;if(o>=46&&(o-=46,a=!0),n+=o,a)break;n*=46}t?t[r++]=n:t=new e(n)}return t}var di=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},n$=new di,Zl=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=n$,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,r=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(r==this.ranges.length-1)return null;let s=this.ranges[++r];n+=s.from-i.to,i=s}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(t>=0&&t=this.chunk2Pos&&ia.to&&(this.chunk2=this.chunk2.slice(0,a.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.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,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=n$,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}},cO=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;c$(this.data,e,t,this.id,i.data,i.tokenPrecTable)}};cO.prototype.contextual=cO.prototype.fallback=cO.prototype.extend=!1;var kt=class{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?Tr(e):e}token(e,t){let i=e.pos,r=0;for(;;){let n=e.next<0,s=e.resolveOffset(1,1);if(c$(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,s==null)break;e.reset(s,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}};kt.prototype.contextual=cO.prototype.fallback=cO.prototype.extend=!1;var z=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function c$(O,e,t,i,r,n){let s=0,a=1<0){let Q=O[u];if(o.allows(Q)&&(e.token.value==-1||e.token.value==Q||wy(Q,e.token.value,r,n))){e.acceptToken(Q);break}}let l=e.next,h=0,f=O[s+2];if(e.next<0&&f>h&&O[c+f*3-3]==65535){s=O[c+f*3-1];continue e}for(;h>1,Q=c+u+(u<<1),$=O[Q],p=O[Q+1]||65536;if(l<$)f=u;else if(l>=p)h=u+1;else{s=O[Q+2],e.advance();continue e}}break}}function s$(O,e,t){for(let i=e,r;(r=O[i])!=65535;i++)if(r==t)return i-e;return-1}function wy(O,e,t,i){let r=s$(t,i,e);return r<0||s$(t,i,O)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(O.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:O.length}}var Rl=class{constructor(e,t){this.fragments=e,this.nodeSet=t,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?a$(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?a$(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(ee)return this.nextStart=s,null;if(n instanceof D){if(s==e){if(s=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+n.length}}},_l=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new di)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:n}=r,s=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,o=0;for(let c=0;ch.end+25&&(o=Math.max(h.lookAhead,o)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!l.extend&&(i=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),!i&&e.pos==this.stream.end&&(i=new di,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new di,{pos:i,p:r}=e;return t.start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,i){let r=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(r,e),i),e.value>-1){let{parser:n}=i.p;for(let s=0;s=0&&i.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let n=0;ne.bufferLength*4?new Rl(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],r,n;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;st)i.push(a);else{if(this.advanceStack(a,i,e))continue;{r||(r=[],n=[]),r.push(a);let o=this.tokens.getMainToken(a);n.push(o.value,o.end)}}break}}if(!i.length){let s=r&&ky(r);if(s)return Ke&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let s=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,n,i);if(s)return Ke&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(i.length>s)for(i.sort((a,o)=>o.score-a.score);i.length>s;)i.pop();i.some(a=>a.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let s=0;s500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)i.splice(o--,1);else{i.splice(s--,1);continue e}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let s=1;s ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,l=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?n.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!c||(h.prop(_.contextHash)||0)==l))return e.useNode(h,f),Ke&&console.log(s+this.stackID(e)+` (via reuse of ${n.getName(h.type.id)})`),!0;if(!(h instanceof D)||h.children.length==0||h.positions[0]>0)break;let u=h.children[0];if(u instanceof D&&h.positions[0]==0)h=u;else break}}let a=n.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(s+this.stackID(e)+` (via always-reduce ${n.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let c=0;cr?t.push(Q):i.push(Q)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return o$(e,t),!0}}runRecovery(e,t,i){let r=null,n=!1;for(let s=0;s ":"";if(a.deadEnd&&(n||(n=!0,a.restart(),Ke&&console.log(l+this.stackID(a)+" (restarted)"),this.advanceFully(a,i))))continue;let h=a.split(),f=l;for(let u=0;h.forceReduce()&&u<10&&(Ke&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,i));u++)Ke&&(f=this.stackID(h)+" -> ");for(let u of a.recoverByInsert(o))Ke&&console.log(l+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,i);this.stream.end>a.pos?(c==a.pos&&(c++,o=0),a.recoverByDelete(o,c),Ke&&console.log(l+this.stackID(a)+` (via recover-delete ${this.parser.getName(o)})`),o$(a,i)):(!r||r.scoreO,Ge=class{constructor(e){this.start=e.start,this.shift=e.shift||wl,this.reduce=e.reduce||wl,this.reuse=e.reuse||wl,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Oe=class O extends Jt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)n(l,o,a[c++]);else{let h=a[c+-l];for(let f=-l;f>0;f--)n(a[c++],o,h);c++}}}this.nodeSet=new Ht(t.map((a,o)=>de.define({name:o>=this.minRepeatTerm?void 0:a,id:o,props:r[o],top:i.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=1024;let s=Tr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new cO(s,a):a),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,t,i){let r=new Vl(this,e,t,i);for(let n of this.wrappers)r=n(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return-1;for(let n=r[t+1];;){let s=r[n++],a=s&1,o=r[n++];if(a&&i)return o;for(let c=n+(s>>1);n0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Wt(this.data,n+2);else break;r=t(Wt(this.data,n+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Wt(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];t.some((n,s)=>s&1&&n==r)||t.push(this.data[i],r)}}return t}configure(e){let t=Object.assign(Object.create(O.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(n=>n.from==i);return r?r.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let n=e.specializers.find(a=>a.from==i.external);if(!n)return i;let s=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[r]=l$(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}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 t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let n of e.split(" ")){let s=t.indexOf(n);s>=0&&(i[s]=!0)}let r=null;for(let n=0;ni)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoreO.external(t,i)<<1|e}return O.get}var h$=1,vy=2,Yy=3,Zy=82,Ry=76,_y=117,Vy=85,qy=97,zy=122,Wy=65,Uy=90,jy=95,zl=48,f$=34,Cy=40,d$=41,Gy=32,u$=62,Ey=new z(O=>{if(O.next==Ry||O.next==Vy?O.advance():O.next==_y&&(O.advance(),O.next==zl+8&&O.advance()),O.next!=Zy||(O.advance(),O.next!=f$))return;O.advance();let e="";for(;O.next!=Cy;){if(O.next==Gy||O.next<=13||O.next==d$)return;e+=String.fromCharCode(O.next),O.advance()}for(O.advance();;){if(O.next<0)return O.acceptToken(h$);if(O.next==d$){let t=!0;for(let i=0;t&&i{if(O.next==u$)O.peek(1)==u$&&O.acceptToken(vy,1);else{let e=!1,t=0;for(;;t++){if(O.next>=Wy&&O.next<=Uy)e=!0;else{if(O.next>=qy&&O.next<=zy)return;if(O.next!=jy&&!(O.next>=zl&&O.next<=zl+9))break}O.advance()}e&&t>1&&O.acceptToken(Yy)}},{extend:!0}),Ly=N({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using requires concept import export module __attribute__ __declspec __based":d.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register thread_local inline const volatile restrict _Atomic mutable constexpr constinit consteval virtual explicit VirtualSpecifier Access":d.modifier,"if else switch for while do case default return break continue goto throw try catch":d.controlKeyword,"co_return co_yield co_await":d.controlKeyword,"new sizeof delete static_assert":d.operatorKeyword,"NULL nullptr":d.null,this:d.self,"True False":d.bool,"TypeSize PrimitiveType":d.standard(d.typeName),TypeIdentifier:d.typeName,FieldIdentifier:d.propertyName,"CallExpression/FieldExpression/FieldIdentifier":d.function(d.propertyName),"ModuleName/Identifier":d.namespace,PartitionName:d.labelName,StatementIdentifier:d.labelName,"Identifier DestructorName":d.variableName,"CallExpression/Identifier":d.function(d.variableName),"CallExpression/ScopedIdentifier/Identifier":d.function(d.variableName),"FunctionDeclarator/Identifier FunctionDeclarator/DestructorName":d.function(d.definition(d.variableName)),NamespaceIdentifier:d.namespace,OperatorName:d.operator,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,UpdateOp:d.updateOperator,LineComment:d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,"RawString SystemLibString":d.special(d.string),CharLiteral:d.character,EscapeSequence:d.escape,"UserDefinedLiteral/Identifier":d.literal,PreProcArg:d.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":d.processingInstruction,MacroName:d.special(d.name),"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"< >":d.angleBracket,". ->":d.derefOperator,", ;":d.separator}),My={__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:784,true:784,FALSE:786,false:786,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},Dy={__proto__:null,"<":131},Iy={__proto__:null,">":135},By={__proto__:null,operator:388,new:576,delete:582},Q$=Oe.deserialize({version:14,states:"$:|Q!QQVOOP'gOUOOO(XOWO'#CdO,RQUO'#CgO,]QUO'#FjO-sQbO'#CxO.UQUO'#CxO0TQUO'#KZO0[QUO'#CwO0gOpO'#DvO0oQ!dO'#D]OOQR'#JO'#JOO5XQVO'#GUO5fQUO'#JVOOQQ'#JV'#JVO8zQUO'#KmO{QVO'#E^O?]QUO'#E^OOQQ'#Ed'#EdOOQQ'#Ee'#EeO?bQVO'#EfO@XQVO'#EiOBUQUO'#FPOBvQUO'#FhOOQR'#Fj'#FjOB{QUO'#FjOOQR'#LQ'#LQOOQR'#LP'#LPOETQVO'#KQOFxQUO'#LVOGVQUO'#KqOGkQUO'#LVOH]QUO'#LXOOQR'#HU'#HUOOQR'#HV'#HVOOQR'#HW'#HWOOQR'#K|'#K|OOQR'#J_'#J_Q!QQVOOOHkQVO'#FOOIWQUO'#EhOI_QUOOOKZQVO'#HgOKkQUO'#HgONVQUO'#KqONaQUO'#KqOOQQ'#Kq'#KqO!!_QUO'#KqOOQQ'#Jq'#JqO!!lQUO'#HxOOQQ'#KZ'#KZO!&^QUO'#KZO!&zQUO'#KQO!(zQVO'#I]O!(zQVO'#I`OCQQUO'#KQOOQQ'#Ip'#IpOOQQ'#KQ'#KQO!,}QUO'#KZOOQR'#KY'#KYO!-UQUO'#DZO!/mQUO'#KnOOQQ'#Kn'#KnO!/tQUO'#KnO!/{QUO'#ETO!0QQUO'#EWO!0VQUO'#FRO8zQUO'#FPO!QQVO'#F^O!0[Q#vO'#F`O!0gQUO'#FkO!0oQUO'#FpO!0tQVO'#FrO!0oQUO'#FuO!3sQUO'#FvO!3xQVO'#FxO!4SQUO'#FzO!4XQUO'#F|O!4^QUO'#GOO!4cQVO'#GQO!(zQVO'#GSO!4jQUO'#GpO!4xQUO'#GYO!(zQVO'#FeO!6VQUO'#FeO!6[QVO'#G`O!6cQUO'#GaO!6nQUO'#GnO!6sQUO'#GrO!6xQUO'#GzO!7jQ&lO'#HiO!:mQUO'#GuO!:}QUO'#HXO!;YQUO'#HZO!;bQUO'#DXO!;bQUO'#HuO!;bQUO'#HvO!;yQUO'#HwO!<[QUO'#H|O!=PQUO'#H}O!>uQVO'#IbO!(zQVO'#IdO!?PQUO'#IgO!?WQVO'#IjP!@}{,UO'#CbP!6n{,UO'#CbP!AY{7[O'#CbP!6n{,UO'#CbP!A_{,UO'#CbP!AjOSO'#IzPOOO)CEn)CEnOOOO'#I|'#I|O!AtOWO,59OOOQR,59O,59OO!(zQVO,59VOOQQ,59X,59XO!(zQVO,5;ROOQR,5qOOQR'#IX'#IXOOQR'#IY'#IYOOQR'#IZ'#IZOOQR'#I['#I[O!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!DOQVO,5>zOOQQ,5?W,5?WO!EqQVO'#CjO!IjQUO'#CzOOQQ,59d,59dOOQQ,59c,59cOOQQ,5<},5<}O!IwQ&lO,5=mO!?PQUO,5?RO!LkQVO,5?UO!LrQbO,59dO!L}QVO'#FYOOQQ,5?P,5?PO!M_QVO,59WO!MfO`O,5:bO!MkQbO'#D^O!M|QbO'#K_O!N[QbO,59wO!NdQbO'#CxO!NuQUO'#CxO!NzQUO'#KZO# UQUO'#CwOOQR-E<|-E<|O# aQUO,5AoO# hQVO'#EfO@XQVO'#EiOBUQUO,5;kOOQR,5l,5>lO#3gQUO'#CgO#4]QUO,5>pO#6OQUO'#IeOOQR'#I}'#I}O#6WQUO,5:xO#6tQUO,5:xO#7eQUO,5:xO#8YQUO'#CuO!0QQUO'#CmOOQQ'#JW'#JWO#6tQUO,5:xO#8bQUO,5;QO!4xQUO'#DOO#9kQUO,5;QO#9pQUO,5>QO#:|QUO'#DOO#;dQUO,5>{O#;iQUO'#KwO#}QUO'#L[O#?UQUO,5>UO#?ZQbO'#CxO#?fQUO'#GcO#?kQUO'#E^O#@[QUO,5;kO#@sQUO'#K}O#@{QUO,5;rOKkQUO'#HfOBUQUO'#HgO#AQQUO'#KqO!6nQUO'#HjO#AxQUO'#CuO!0tQVO,5PO$(WQUO'#E[O$(eQUO,5>ROOQQ,5>S,5>SO$,RQVO'#C|OOQQ-E=o-E=oOOQQ,5>d,5>dOOQQ,59a,59aO$,]QUO,5>wO$.]QUO,5>zO!6nQUO,59uO$.pQUO,5;qO$.}QUO,5<{O!0QQUO,5:oOOQQ,5:r,5:rO$/YQUO,5;mO$/_QUO'#KmOBUQUO,5;kOOQR,5;x,5;xO$0OQUO'#FbO$0^QUO'#FbO$0cQUO,5;zO$3|QVO'#FmO!0tQVO,5eQUO,5pQUO,5=[O$>uQUO,5=[O!4xQUO,5}QUO,5uQUO,5<{O$DQQUO,5<{O$D]QUO,5=YO!(zQVO,5=^O!(zQVO,5=fO#NeQUO,5=mOOQQ,5>T,5>TO$FbQUO,5>TO$FlQUO,5>TO$FqQUO,5>TO$FvQUO,5>TO!6nQUO,5>TO$HtQUO'#KZO$H{QUO,5=oO$IWQUO,5=aOKkQUO,5=oO$JQQUO,5=sOOQR,5=s,5=sO$JYQUO,5=sO$LeQVO'#H[OOQQ,5=u,5=uO!;]QUO,5=uO%#`QUO'#KjO%#gQUO'#K[O%#{QUO'#KjO%$VQUO'#DyO%$hQUO'#D|O%'eQUO'#K[OOQQ'#K['#K[O%)WQUO'#K[O%#gQUO'#K[O%)]QUO'#K[OOQQ,59s,59sOOQQ,5>a,5>aOOQQ,5>b,5>bO%)eQUO'#HzO%)mQUO,5>cOOQQ,5>c,5>cO%-XQUO,5>cO%-dQUO,5>hO%1OQVO,5>iO%1VQUO,5>|O# hQVO'#EfO%4]QUO,5>|OOQQ,5>|,5>|O%4|QUO,5?OO%7QQUO,5?RO!<[QUO,5?RO%8|QUO,5?UO%sQUO1G0mOOQQ1G0m1G0mO%@PQUO'#CpO%B`QbO'#CxO%BkQUO'#CsO%BpQUO'#CsO%BuQUO1G.uO#AxQUO'#CrOOQQ1G.u1G.uO%DxQUO1G4]O%FOQUO1G4^O%GqQUO1G4^O%IdQUO1G4^O%KVQUO1G4^O%LxQUO1G4^O%NkQUO1G4^O&!^QUO1G4^O&$PQUO1G4^O&%rQUO1G4^O&'eQUO1G4^O&)WQUO1G4^O&*yQUO'#KPO&,SQUO'#KPO&,[QUO,59UOOQQ,5=P,5=PO&.dQUO,5=PO&.nQUO,5=PO&.sQUO,5=PO&.xQUO,5=PO!6nQUO,5=PO#NeQUO1G3XO&/SQUO1G4mO!<[QUO1G4mO&1OQUO1G4pO&2qQVO1G4pOOQQ1G/O1G/OOOQQ1G.}1G.}OOQQ1G2i1G2iO!IwQ&lO1G3XO&2xQUO'#LOO@XQVO'#EiO&4RQUO'#F]OOQQ'#Ja'#JaO&4WQUO'#FZO&4cQUO'#LOO&4kQUO,5;tO&4pQUO1G.rOOQQ1G.r1G.rOOQR1G/|1G/|O&6cQ!dO'#JPO&6hQbO,59xO&8yQ!eO'#D`O&9QQ!dO'#JRO&9VQbO,5@yO&9VQbO,5@yOOQR1G/c1G/cO&9bQbO1G/cO&9gQ&lO'#GeO&:eQbO,59dOOQR1G7Z1G7ZO#@[QUO1G1VO&:pQUO1G1^OBUQUO1G1VO&=RQUO'#CzO#*wQbO,59dO&@tQUO1G6sOOQR-E<{-E<{O&BWQUO1G0dO#6WQUO1G0dOOQQ-E=U-E=UO#6tQUO1G0dOOQQ1G0l1G0lO&B{QUO,59jOOQQ1G3l1G3lO&CcQUO,59jO&CyQUO,59jO!M_QVO1G4gO!(zQVO'#JYO&DeQUO,5AcOOQQ1G0o1G0oO!(zQVO1G0oO!6nQUO'#JnO&DmQUO,5AvOOQQ1G3p1G3pOOQR1G1V1G1VO&HjQVO'#FOO!M_QVO,5;sOOQQ,5;s,5;sOBUQUO'#JcO&JfQUO,5AiO&JnQVO'#E[OOQR1G1^1G1^O&M]QUO'#L[OOQR1G1n1G1nOOQR-E=f-E=fOOQR1G7]1G7]O#DhQUO1G7]OGVQUO1G7]O#DhQUO1G7_OOQR1G7_1G7_O&MeQUO'#G}O&MmQUO'#LWOOQQ,5=h,5=hO&M{QUO,5=jO&NQQUO,5=kOOQR1G7`1G7`O#EfQVO1G7`O&NVQUO1G7`O' ]QVO,5=kOOQR1G1U1G1UO$.vQUO'#E]O'!RQUO'#E]OOQQ'#Ky'#KyO'!lQUO'#KxO'!wQUO,5;UO'#PQUO'#ElO'#dQUO'#ElO'#wQUO'#EtOOQQ'#J['#J[O'#|QUO,5;cO'$sQUO,5;cO'%nQUO,5;dO'&tQVO,5;dOOQQ,5;d,5;dO''OQVO,5;dO'&tQVO,5;dO''VQUO,5;bO'(SQUO,5;eO'(_QUO'#KpO'(gQUO,5:vO'(lQUO,5;fOOQQ1G0n1G0nOOQQ'#J]'#J]O''VQUO,5;bO!4xQUO'#E}OOQQ,5;b,5;bO')gQUO'#E`O'+aQUO'#E{OHrQUO1G0nO'+fQUO'#EbOOQQ'#JX'#JXO'-OQUO'#KrOOQQ'#Kr'#KrO'-xQUO1G0eO'.pQUO1G3kO'/vQVO1G3kOOQQ1G3k1G3kO'0QQVO1G3kO'0XQUO'#L_O'1eQUO'#KXO'1sQUO'#KWO'2OQUO,59hO'2WQUO1G/aO'2]QUO'#FPOOQR1G1]1G1]OOQR1G2g1G2gO$>uQUO1G2gO'2gQUO1G2gO'2rQUO1G0ZOOQR'#J`'#J`O'2wQVO1G1XO'8pQUO'#FTO'8uQUO1G1VO!6nQUO'#JdO'9TQUO,5;|O$0^QUO,5;|OOQQ'#Fc'#FcOOQQ,5;|,5;|O'9cQUO1G1fOOQR1G1f1G1fO'9kQUO,5}QUO1G2`OOQQ'#Cv'#CvO'CzQUO'#G[O'DuQUO'#G[O'DzQUO'#LRO'EYQUO'#G_OOQQ'#LS'#LSO'EhQUO1G2`O'EmQVO1G1kO'HOQVO'#GUOBUQUO'#FWOOQR'#Je'#JeO'EmQVO1G1kO'HYQUO'#FvOOQR1G2f1G2fO'H_QUO1G2gO'HdQUO'#JgO'2gQUO1G2gO!(zQVO1G2tO'HlQUO1G2xO'IuQUO1G3QO'J{QUO1G3XOOQQ1G3o1G3oO'KaQUO1G3oOOQR1G3Z1G3ZO'KfQUO'#KZO'2]QUO'#LTOGkQUO'#LVOOQR'#Gy'#GyO#DhQUO'#LXOOQR'#HQ'#HQO'KpQUO'#GvO'#wQUO'#GuOOQR1G2{1G2{O'LmQUO1G2{O'MdQUO1G3ZO'MoQUO1G3_O'MtQUO1G3_OOQR1G3_1G3_O'M|QUO'#H]OOQR'#H]'#H]O( VQUO'#H]O!(zQVO'#H`O!(zQVO'#H_OOQR'#LZ'#LZO( [QUO'#LZOOQR'#Jk'#JkO( aQVO,5=vOOQQ,5=v,5=vO( hQUO'#H^O( pQUO'#HZOOQQ1G3a1G3aO( zQUO,5@vOOQQ,5@v,5@vO%)WQUO,5@vO%)]QUO,5@vO%$VQUO,5:eO(%iQUO'#KkO(%wQUO'#KkOOQQ,5:e,5:eOOQQ'#JS'#JSO(&SQUO'#D}O(&^QUO'#KqOGkQUO'#LVO('YQUO'#D}OOQQ'#Hp'#HpOOQQ'#Hr'#HrOOQQ'#Hs'#HsOOQQ'#Kl'#KlOOQQ'#JU'#JUO('dQUO,5:hOOQQ,5:h,5:hO((aQUO'#LVO((nQUO'#HtO()UQUO,5@vO()]QUO'#H{O()hQUO'#L^O()pQUO,5>fO()uQUO'#L]OOQQ1G3}1G3}O(-lQUO1G3}O(-sQUO1G3}O(-zQUO1G4TO(/QQUO1G4TO(/VQUO,5A|O!6nQUO1G4hO!(zQVO'#IiOOQQ1G4m1G4mO(/[QUO1G4mO(1_QVO1G4pPOOO1G.h1G.hP!A_{,UO1G.hP(3_QUO'#LeP(3j{,UO1G.hP(3o{7[O1G.hPO{O-E=s-E=sPOOO,5A},5A}P(3w{,UO,5A}POOO1G5Q1G5QO!(zQVO7+$]O(3|QUO'#CzOOQQ,59_,59_O(4XQbO,59dO(4dQbO,59_OOQQ,59^,59^OOQQ7+)w7+)wO!M_QVO'#JtO(4oQUO,5@kOOQQ1G.p1G.pOOQQ1G2k1G2kO(4wQUO1G2kO(4|QUO7+(sOOQQ7+*X7+*XO(7bQUO7+*XO(7iQUO7+*XO(1_QVO7+*[O#NeQUO7+(sO(7vQVO'#JbO(8ZQUO,5AjO(8cQUO,5;vOOQQ'#Cp'#CpOOQQ,5;w,5;wO!(zQVO'#F[OOQQ-E=_-E=_O!M_QVO,5;uOOQQ1G1`1G1`OOQQ,5?k,5?kOOQQ-E<}-E<}OOQR'#Dg'#DgOOQR'#Di'#DiOOQR'#Dl'#DlO(9lQ!eO'#K`O(9sQMkO'#K`O(9zQ!eO'#K`OOQR'#K`'#K`OOQR'#JQ'#JQO(:RQ!eO,59zOOQQ,59z,59zO(:YQbO,5?mOOQQ-E=P-E=PO(:hQbO1G6eOOQR7+$}7+$}OOQR7+&q7+&qOOQR7+&x7+&xO'8uQUO7+&qO(:sQUO7+&OO#6WQUO7+&OO(;hQUO1G/UO(]QUO,5?tOOQQ-E=W-E=WO(?fQUO7+&ZOOQQ,5@Y,5@YOOQQ-E=l-E=lO(?kQUO'#LOO@XQVO'#EiO(@wQUO1G1_OOQQ1G1_1G1_O(BQQUO,5?}OOQQ,5?},5?}OOQQ-E=a-E=aO(BfQUO'#KpOOQR7+,w7+,wO#DhQUO7+,wOOQR7+,y7+,yO(BsQUO,5=iO#DsQUO'#JjO(CUQUO,5ArOOQR1G3U1G3UOOQR1G3V1G3VO(CdQUO7+,zOOQR7+,z7+,zO(E[QUO,5:wO(FyQUO'#EwO!(zQVO,5;VO(GlQUO,5:wO(GvQUO'#EpO(HXQUO'#EzOOQQ,5;Z,5;ZO#K]QVO'#ExO(HoQUO,5:wO(HvQUO'#EyO#GgQUO'#JZO(J`QUO,5AdOOQQ1G0p1G0pO(JkQUO,5;WO!<[QUO,5;^O(KUQUO,5;_O(KdQUO,5;WO(MvQUO,5;`OOQQ-E=Y-E=YO(NOQUO1G0}OOQQ1G1O1G1OO(NyQUO1G1OO)!PQVO1G1OO)!WQVO1G1OO)!bQUO1G0|OOQQ1G0|1G0|OOQQ1G1P1G1PO)#_QUO'#JoO)#iQUO,5A[OOQQ1G0b1G0bOOQQ-E=Z-E=ZO)#qQUO,5;iO!<[QUO,5;iO)$nQVO,5:zO)$uQUO,5;gO$ mQUO7+&YOOQQ7+&Y7+&YO!(zQVO'#EfO)$|QUO,5:|OOQQ'#Ks'#KsOOQQ-E=V-E=VOOQQ,5A^,5A^OOQQ'#Jl'#JlO)(qQUO7+&PPOQQ7+&P7+&POOQQ7+)V7+)VO))iQUO7+)VO)*oQVO7+)VOOQQ,5>m,5>mO$)YQVO'#JsO)*vQUO,5@rOOQQ1G/S1G/SOOQQ7+${7+${O)+RQUO7+(RO)+WQUO7+(ROOQR7+(R7+(RO$>uQUO7+(ROOQQ7+%u7+%uOOQR-E=^-E=^O!0VQUO,5;oOOQQ,5@O,5@OOOQQ-E=b-E=bO$0^QUO1G1hOOQQ1G1h1G1hOOQR7+'Q7+'QOOQR1G1s1G1sOBUQUO,5;rO)+tQUO,5hQUO,5}QUO7+(dO)?SQVO7+(dOOQQ7+(l7+(lOOQQ7+)Z7+)ZO)?[QUO'#KjO)?fQUO'#KjOOQR,5=b,5=bO)?sQUO,5=bO!;bQUO,5=bO!;bQUO,5=bO!;bQUO,5=bOOQR7+(g7+(gOOQR7+(u7+(uOOQR7+(y7+(yOOQR,5=w,5=wO)?xQUO,5=zO)AOQUO,5=yOOQR,5Au,5AuOOQR-E=i-E=iOOQQ1G3b1G3bO)BUQUO,5=xO)BZQVO'#EfOOQQ1G6b1G6bO%)WQUO1G6bO%)]QUO1G6bOOQQ1G0P1G0POOQQ-E=Q-E=QO)DrQUO,5AVO(%iQUO'#JTO)D}QUO,5AVO)D}QUO,5AVO)EVQUO,5:iO8zQUO,5:iOOQQ,5>],5>]O)EaQUO,5AqO)EhQUO'#EVO)FrQUO'#EVO)G]QUO,5:iO)GgQUO'#HlO)GgQUO'#HmOOQQ'#Ko'#KoO)HUQUO'#KoO!(zQVO'#HnOOQQ,5:i,5:iO)HvQUO,5:iO!M_QVO,5:iOOQQ-E=S-E=SOOQQ1G0S1G0SOOQQ,5>`,5>`O)H{QUO1G6bO!(zQVO,5>gO)LjQUO'#JrO)LuQUO,5AxOOQQ1G4Q1G4QO)L}QUO,5AwOOQQ,5Aw,5AwOOQQ7+)i7+)iO*!lQUO7+)iOOQQ7+)o7+)oO*'kQVO1G7hO*)mQUO7+*SO*)rQUO,5?TO**xQUO7+*[POOO7+$S7+$SP*,kQUO'#LfP*,sQUO,5BPP*,x{,UO7+$SPOOO1G7i1G7iO*,}QUO<XQUO7+&jO*?_QVO7+&jOOQQ7+&h7+&hOOQQ,5@Z,5@ZOOQQ-E=m-E=mO*@ZQUO1G1TO*@eQUO1G1TO*AOQUO1G0fOOQQ1G0f1G0fO*BUQUO'#K{O*B^QUO1G1ROOQQ<uQUO<VO)GgQUO'#JpO*NQQUO1G0TO*NcQVO1G0TOOQQ1G3u1G3uO*NjQUO,5>WO*NuQUO,5>XO+ dQUO,5>YO+!jQUO1G0TO%)]QUO7++|O+#pQUO1G4ROOQQ,5@^,5@^OOQQ-E=p-E=pOOQQ<n,5>nO+/iQUOANAXOOQRANAXANAXO+/nQUO7+'`OOQRAN@cAN@cO+0zQVOAN@nO+1RQUOAN@nO!0tQVOAN@nO+2[QUOAN@nO+2aQUOAN@}O+2lQUOAN@}O+3rQUOAN@}OOQRAN@nAN@nO!M_QVOAN@}OOQRANAOANAOO+3wQUO7+'|O)7VQUO7+'|OOQQ7+(O7+(OO+4YQUO7+(OO+5`QVO7+(OO+5gQVO7+'hO+5nQUOANAjOOQR7+(h7+(hOOQR7+)P7+)PO+5sQUO7+)PO+5xQUO7+)POOQQ<= h<= hO+6QQUO7+,]O+6YQUO1G5ZOOQQ1G5Z1G5ZO+6eQUO7+%oOOQQ7+%o7+%oO+6vQUO7+%oO*NcQVO7+%oOOQQ7+)a7+)aO+6{QUO7+%oO+8RQUO7+%oO!M_QVO7+%oO+8]QUO1G0]O*LkQUO1G0]O)EhQUO1G0]OOQQ1G0a1G0aO+8zQUO1G3qO+:QQVO1G3qOOQQ1G3q1G3qO+:[QVO1G3qO+:cQUO,5@[OOQQ-E=n-E=nOOQQ1G3r1G3rO%)WQUO<= hOOQQ7+*Z7+*ZPOQQ,5@b,5@bPOQQ-E=t-E=tOOQQ1G/}1G/}OOQQ,5?x,5?xOOQQ-E=[-E=[OOQRG26sG26sO+:zQUOG26YO!0tQVOG26YO+QQUO<uAN>uO+BpQUOAN>uO+CvQUOAN>uO!M_QVOAN>uO+C{QUO<nQUO'#KZO,?OQUO'#CzO,?^QbO,59dO,6VQUO7+&OO,OP>i>{?aFXMX!&]!,sP!3m!4b!5VP!5qPPPPPPPP!6[P!7tP!9V!:oP!:uPPPPPP!:xP!:xPP!:xPPPPPPPPP!;U!>lP!>oPP!?]!@QPPPPP!@UP>l!AgPP>l!Cn!Eo!E}!Gd!ITP!I`P!Io!Io!MP#!`##v#'S#*^!Eo#*hPP!Eo#*o#*u#*h#*h#*xP#*|#+k#+k#+k#+k!ITP#,U#,g#.|P#/bP#0}P#1R#1Z#2O#2Z#4i#4q#4q#1RP#1RP#4x#5OP#5YPP#5u#6d#7U#5uP#7v#8SP#5uP#5uPP#5u#5uP#5uP#5uP#5uP#5uP#5uP#5uP#8V#5Y#8sP#9YP#9o#9o#9o#9o#9|#1RP#:d#?`#?}PPPPPPPP#@uP#ATP#ATP#Aa#Dn#9OPP#@}#EQP#Ee#Ep#Ev#Ev#@}#FlP#1R#1R#1R#1R#1RP!Io#GW#G_#G_#G_#Gc!Ly#Gm!Ly#Gq!E}!E}!E}#Gt#L^!E}>l>l>l$#V!@Q!@Q!@Q!@Q!@Q!@Q!6[!6[!6[$#jP$%V$%e!6[$%kPP!6[$'y$'|#@l$(P:t7j$+V$-Q$.q$0a7jPP7j$2T7jP7j7jP7jP$5Z7jP7jPP7j$5gPPPPPPPPP*[P$8o$8u$;^$=d$=j$>Q$>[$>g$>v$>|$@[$AZ$Ab$Ai$Ao$Aw$BR$BX$Bd$Bj$Bs$B{$CW$C^$Ch$Cn$Cx$DP$D`$Df$DlP$Dr$Dz$ER$Ea$F}$GT$GZ$Gb$GkPPPPPPPP$Gq$GuPPPPP$Nw$'y$Nz%$S%&[PP%&i%&lPPPPPPPPP%&x%'{%(R%(V%)|%+Z%+|%,T%.d%.jPPP%.t%/P%/S%/Y%0a%0d%0n%0x%0|%2Q%2s%2y#@uP%3d%3t%3w%4X%4e%4i%4o%4u$'y$'|$'|%4x%4{P%5V%5YR#cP'`mO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#g#i#l#q#r#s#t#u#v#w#x#y#z#{#}$U$W$Y$e$f$k%]%m&Q&S&W&b&f&x&y&|'O'P'b'i'j'y(`(b(i)l)r*h*i*l*q*r*v+W+Y+h+j+k,P,R,n,q,w-]-^-a-g.P.Q.U.}/Q/[/c/l/n/s/u0h0{1Q1a1b1l1p1z1|2c2f2i2u2z2}3i4O4R4W4a5Y5e5q6_6c6f6h6j6t6v6{7b7j7m8e8g8m8s8t9R9V9]9_9l9o9p9{:O:U:W:]:b:fU%om%p7QQ&m!`Q(j#]d0P)}/|/}0O0R4}5O5P5S8QR7Q3Tb}Oaewx{!g&S*q&v$i[!W!X!k!n!r!s!v!x#X#Y#[#g#i#l#q#r#s#t#u#v#w#x#y#z#{#}$U$W$Y$e$f$k%]%m&Q&W&b&f&x&y&|'O'P'b'i'j'y(`(b(i)l)r*h*i*l*r*v+W+Y+h+j+k,P,R,n,q,w-]-^-a-g.P.Q.U.}/Q/[/c/l/n/s/u0{1a1b1l1p1z1|2c2f2i2u2z2}3i4O4R4W4a5Y5e5q6_6c6f6h6j6t6v6{7b7j7m8e8g8m8s8t9R9V9]9_9l9o9p9{:O:U:W:]:b:fS%`f0h#d%jgnp|#O$g$|$}%S%d%h%i%w&s't'u(Q*Y*`*b*t+],l,v-_-p-w.f.m.o0]0y0z1O1S2_2j5a6g;W;X;Y;`;a;b;o;p;q;r;v;w;x;y 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:425,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",-4,4,5,8,10,""],["openedBy",12,"(",52,"{",54,"["],["closedBy",13,")",51,"}",53,"]"]],propSources:[Ly],skippedNodes:[0,3,4,5,6,7,10,297,298,299,300,301,302,303,304,305,306,347,348],repeatNodeCount:41,tokenData:"&*r7ZR!UOX$eXY({YZ.gZ]$e]^+P^p$epq({qr.}rs0}st2ktu$euv!7dvw!9bwx!;exy!O{|!?R|}!AV}!O!BQ!O!P!DX!P!Q#+y!Q!R#Az!R![$(x![!]$Ag!]!^$Cc!^!_$D^!_!`%1W!`!a%2X!a!b%5_!b!c$e!c!n%6Y!n!o%7q!o!w%6Y!w!x%7q!x!}%6Y!}#O%:n#O#P%u#Y#]4Y#]#^NZ#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e4eb)]W(qQ'f&j'm.oOY$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$e4e5xd)]W(qQ'f&j'm.oOY$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$e4e7cd)]W(qQ'f&j'm.oOY$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$e4e8|d)]W(qQ'f&j'm.oOY$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$e4e:gd)]W(qQ'f&j'm.oOY$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$e4e][)T,g)]W(qQ%Z!b'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!?`^)]W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|!@[|!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!@gY)]W!X-y(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!AbY!h,k)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!B__)]W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox}$e}!O!@[!O!_$e!_!`!8g!`!a!C^!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!CiY(x-y)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Dd^)]W(qQ'f&j(w,gOY$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$e2a!Ei[)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!F_!P#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!FjY)Y,k)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]!Gen)]W(qQ!i,g'f&jOY$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$e2T!IjY(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![!JY![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O2T!Jcn(qQ!i,g'f&jOY(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(O2T!Ljl(qQ!i,g'f&jOY(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(O2T!Ni^(qQ'f&jOY(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(O2T# nj(qQ!i,g'f&jOY(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(O2T##id(qQ!i,g'f&jOY(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(O2]#%Sn)]W(qQ!i,g'f&jOY$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$e2]#'Z`)]W(qQ'f&jOY$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$e2]#(hj)]W(qQ!i,g'f&jOY$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$e2]#*ef)]W(qQ!i,g'f&jOY$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$e7Z#,W`)]W(qQ%Z!b![,g'f&jOY$eZr$ers%^sw$ewx(Oxz$ez{#-Y{!P$e!P!Q#:s!Q!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#-c])]W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y1e#._TOz#.[z{#.n{;'S#.[;'S;=`#/]<%lO#.[1e#.qVOz#.[z{#.n{!P#.[!P!Q#/W!Q;'S#.[;'S;=`#/]<%lO#.[1e#/]OT1e1e#/`P;=`<%l#.[7X#/jZ)]W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7P#0bX'f&jOY#0]YZ#.[Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1SZ'f&jOY#0]YZ#.[Zz#0]z{#0}{!P#0]!P!Q#1u!Q#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1|UT1e'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}7P#2eZ'f&jOY#0]YZ#0]Z]#0]]^#3W^z#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3]X'f&jOY#0]YZ#0]Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3{P;=`<%l#0]7X#4V])]W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{!P#/c!P!Q#5O!Q#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7X#5XW)]WT1e'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^7X#5tP;=`<%l#/c7R#6OZ(qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#6x](qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{!P#5w!P!Q#7q!Q#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#7zW(qQT1e'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O7R#8gP;=`<%l#5w7Z#8s_)]W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{!P#-Y!P!Q#9r!Q#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y7Z#9}Y)]W(qQT1e'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#:pP;=`<%l#-Y7Z#;OY)]W(qQS1e'f&jOY#:sZr#:srs#;nsw#:swx#@{x#O#:s#O#P#[<%lO#b#P;'S#[<%lO#[<%lO#_P;=`<%l#i]S1e'f&jOY#b#P#b#[<%lO#[<%lO#b#P#b#[<%lO#t!R![$2V![!c$e!c!i$2V!i#O$e#O#P&f#P#T$e#T#Z$2V#Z;'S$e;'S;=`(u<%lO$e2]$?Pv)]W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx$4lx!O$e!O!P$ m!P!Q$e!Q![$2V![!c$e!c!g$2V!g!h$:p!h!i$2V!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$2V#U#V$2V#V#X$2V#X#Y$:p#Y#Z$2V#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$0z#m;'S$e;'S;=`(u<%lO$e4e$Ar[(v-X)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox![$e![!]$Bh!]#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3s$BsYm-})]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]$CnY)X,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7V$Dk_q,g%]!b)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!^$Ej!^!_%+w!_!`%.U!`!a%0]!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej*[$Es])]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ejp$FoTO!`$Fl!`!a$GO!a;'S$Fl;'S;=`$GT<%lO$Flp$GTO$Wpp$GWP;=`<%l$Fl*Y$GbZ)]W'f&jOY$GZYZ$FlZw$GZwx$HTx!`$GZ!`!a%(U!a#O$GZ#O#P$Ib#P;'S$GZ;'S;=`%(y<%lO$GZ*Q$HYX'f&jOY$HTYZ$FlZ!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q$IOU$WpY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}*Q$Ig['f&jOY$HTYZ$HTZ]$HT]^$J]^!`$HT!`!a$NO!a#O$HT#O#P%&n#P;'S$HT;'S;=`%'f;=`<%l%$z<%lO$HT*Q$JbX'f&jOY$HTYZ$J}Z!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT'[$KSX'f&jOY$J}YZ$FlZ!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$KvU$Wp'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}'[$L_Z'f&jOY$J}YZ$J}Z]$J}]^$MQ^!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MVX'f&jOY$J}YZ$J}Z!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MuP;=`<%l$J}*Q$M{P;=`<%l$HT*Q$NVW$Wp'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`$NtW'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`% eUY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%})`% |Y'f&jOY$NoYZ$NoZ]$No]^%!l^#O$No#O#P%#d#P;'S$No;'S;=`%$[;=`<%l%$z<%lO$No)`%!qX'f&jOY$NoYZ%}Z!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%#aP;=`<%l$No)`%#iZ'f&jOY$NoYZ%}Z]$No]^%!l^!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%$_XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$No<%lO%$z#t%$}WOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h<%lO%$z#t%%lOY#t#t%%oRO;'S%$z;'S;=`%%x;=`O%$z#t%%{XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l%$z<%lO%$z#t%&kP;=`<%l%$z*Q%&sZ'f&jOY$HTYZ$J}Z]$HT]^$J]^!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q%'iXOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$HT<%lO%$z*Y%(aW$WpY#t)]W'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^*Y%(|P;=`<%l$GZ*S%)WZ(qQ'f&jOY%)PYZ$FlZr%)Prs$HTs!`%)P!`!a%)y!a#O%)P#O#P$Ib#P;'S%)P;'S;=`%*n<%lO%)P*S%*UW$WpY#t(qQ'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O*S%*qP;=`<%l%)P*[%+RY$WpY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e*[%+tP;=`<%l$Ej7V%,U^)]W(qQ%[!b!f,g'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!_$Ej!_!`%-Q!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%-]]!g-y)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%.c]%]!b!b,g)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%/[!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%/mY%]!b!b,g$WpY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e)j%0hYY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%1c[)j!c)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%2f]%]!b)]W(qQ!d,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`%3_!`!a%4[!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%3lY%]!b!b,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%4i[)]W(qQ%[!b!f,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%5jY(uP)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z%6ib)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e7Z%8Qb)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e5P%9cW)]W(p/]'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^2T%:UW(qQ)[,g'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O3o%:yZ!V-y)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!}$e!}#O%;l#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%;wY)QP)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e4e%[Z]%=q]^%?Z^!Q%=q!Q![%?w![!w%=q!w!x%AX!x#O%=q#O#P%H_#P#i%=q#i#j%Ds#j#l%=q#l#m%IR#m;'S%=q;'S;=`%Kt<%lO%=q&t%=xUXY'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}4e%>e[XY(n.o'f&jOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}4e%?bVXY'f&jOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@OWXY'f&jOY%}Z!Q%}!Q![%@h![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@oWXY'f&jOY%}Z!Q%}!Q![%=q![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%A^['f&jOY%}Z!Q%}!Q![%BS![!c%}!c!i%BS!i#O%}#O#P&f#P#T%}#T#Z%BS#Z;'S%};'S;=`'r<%lO%}&t%BX['f&jOY%}Z!Q%}!Q![%B}![!c%}!c!i%B}!i#O%}#O#P&f#P#T%}#T#Z%B}#Z;'S%};'S;=`'r<%lO%}&t%CS['f&jOY%}Z!Q%}!Q![%Cx![!c%}!c!i%Cx!i#O%}#O#P&f#P#T%}#T#Z%Cx#Z;'S%};'S;=`'r<%lO%}&t%C}['f&jOY%}Z!Q%}!Q![%Ds![!c%}!c!i%Ds!i#O%}#O#P&f#P#T%}#T#Z%Ds#Z;'S%};'S;=`'r<%lO%}&t%Dx['f&jOY%}Z!Q%}!Q![%En![!c%}!c!i%En!i#O%}#O#P&f#P#T%}#T#Z%En#Z;'S%};'S;=`'r<%lO%}&t%Es['f&jOY%}Z!Q%}!Q![%Fi![!c%}!c!i%Fi!i#O%}#O#P&f#P#T%}#T#Z%Fi#Z;'S%};'S;=`'r<%lO%}&t%Fn['f&jOY%}Z!Q%}!Q![%Gd![!c%}!c!i%Gd!i#O%}#O#P&f#P#T%}#T#Z%Gd#Z;'S%};'S;=`'r<%lO%}&t%Gi['f&jOY%}Z!Q%}!Q![%=q![!c%}!c!i%=q!i#O%}#O#P&f#P#T%}#T#Z%=q#Z;'S%};'S;=`'r<%lO%}&t%HfXXY'f&jOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%IW['f&jOY%}Z!Q%}!Q![%I|![!c%}!c!i%I|!i#O%}#O#P&f#P#T%}#T#Z%I|#Z;'S%};'S;=`'r<%lO%}&t%JR['f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KO[XY'f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KwP;=`<%l%=q2a%LVZ!W,V)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P#Q%Lx#Q;'S$e;'S;=`(u<%lO$e'Y%MTY)Pd)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%NQ[)]W(qQ%[!b'f&j!_,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z& Vd)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q!Y%6Y!Y!Z%7q!Z![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e2]&!pY!T,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o&#m^)]W(qQ%[!b'f&j!^,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P#p$e#p#q&$i#q;'S$e;'S;=`(u<%lO$e3o&$vY)U,g%^!b)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e'V&%qY!Ua)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e(]&&nc)]W(qQ%[!b'RP'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&(Sc)]W(qQ'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&)jb)]W(qQeT'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![&)_![!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e",tokenizers:[Ey,Ay,0,1,2,3,4,5,6,7,8,9],topRules:{Program:[0,307]},dynamicPrecedences:{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,365:3,417:1,418:3,419:1,420:1},specialized:[{term:356,get:O=>My[O]||-1},{term:33,get:O=>Dy[O]||-1},{term:66,get:O=>Iy[O]||-1},{term:363,get:O=>By[O]||-1}],tokenPrec:24891});var Ny=se.define({name:"cpp",parser:Q$.configure({props:[ae.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch)\b/}),LabeledStatement:nO,CaseStatement:O=>O.baseIndent+O.unit,BlockComment:()=>null,CompoundStatement:ye({closing:"}"}),Statement:le({except:/^{/})}),te.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function $$(){return new K(Ny)}var Fy=122,p$=1,Hy=123,Ky=124,g$=2,Jy=125,e0=3,t0=4,P$=[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],O0=58,i0=40,S$=95,r0=91,Ss=45,n0=46,s0=35,a0=37,o0=38,l0=92,c0=10,h0=42;function yr(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function Wl(O){return O>=48&&O<=57}function m$(O){return Wl(O)||O>=97&&O<=102||O>=65&&O<=70}var X$=(O,e,t)=>(i,r)=>{for(let n=!1,s=0,a=0;;a++){let{next:o}=i;if(yr(o)||o==Ss||o==S$||n&&Wl(o))!n&&(o!=Ss||a>0)&&(n=!0),s===a&&o==Ss&&s++,i.advance();else if(o==l0&&i.peek(1)!=c0){if(i.advance(),m$(i.next)){do i.advance();while(m$(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();n=!0}else{n&&i.acceptToken(s==2&&r.canShift(g$)?e:o==i0?t:O);break}}},f0=new z(X$(Hy,g$,Ky)),d0=new z(X$(Jy,e0,t0)),u0=new z(O=>{if(P$.includes(O.peek(-1))){let{next:e}=O;(yr(e)||e==S$||e==s0||e==n0||e==h0||e==r0||e==O0&&yr(O.peek(1))||e==Ss||e==o0)&&O.acceptToken(Fy)}}),Q0=new z(O=>{if(!P$.includes(O.peek(-1))){let{next:e}=O;if(e==a0&&(O.advance(),O.acceptToken(p$)),yr(e)){do O.advance();while(yr(O.next)||Wl(O.next));O.acceptToken(p$)}}}),$0=N({"AtKeyword import charset namespace keyframes media supports":d.definitionKeyword,"from to selector":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; ,":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),p0={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},m0={__proto__:null,or:98,and:98,not:106,only:106,layer:170},g0={__proto__:null,selector:112,layer:166},P0={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},S0={__proto__:null,to:207},T$=Oe.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mOPQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!hO[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hyS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hp0[O]||-1},{term:125,get:O=>m0[O]||-1},{term:4,get:O=>g0[O]||-1},{term:25,get:O=>P0[O]||-1},{term:123,get:O=>S0[O]||-1}],tokenPrec:1963});var Ul=null;function jl(){if(!Ul&&typeof document=="object"&&document.body){let{style:O}=document.body,e=[],t=new Set;for(let i in O)i!="cssText"&&i!="cssFloat"&&typeof O[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Ul=e.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return Ul||[]}var y$=["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(O=>({type:"class",label:O})),b$=["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(O=>({type:"keyword",label:O})).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(O=>({type:"constant",label:O}))),X0=["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(O=>({type:"type",label:O})),T0=["@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(O=>({type:"keyword",label:O})),Ut=/^(\w[\w-]*|-\w[\w-]*|)$/,y0=/^-(-[\w-]*)?$/;function b0(O,e){var t;if((O.name=="("||O.type.isError)&&(O=O.parent||O),O.name!="ArgList")return!1;let i=(t=O.parent)===null||t===void 0?void 0:t.firstChild;return i?.name!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}var x$=new yt,x0=["Declaration"];function w0(O){for(let e=O;;){if(e.type.isTop)return e;if(!(e=e.parent))return O}}function w$(O,e,t){if(e.to-e.from>4096){let i=x$.get(e);if(i)return i;let r=[],n=new Set,s=e.cursor(A.IncludeAnonymous);if(s.firstChild())do for(let a of w$(O,s.node,t))n.has(a.label)||(n.add(a.label),r.push(a));while(s.nextSibling());return x$.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(n=>{var s;if(t(n)&&n.matchContext(x0)&&((s=n.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let a=O.sliceString(n.from,n.to);r.has(a)||(r.add(a),i.push({label:a,type:"variable"}))}}),i}}var k0=O=>e=>{let{state:t,pos:i}=e,r=W(t).resolveInner(i,-1),n=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(n||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:jl(),validFor:Ut};if(r.name=="ValueName")return{from:r.from,options:b$,validFor:Ut};if(r.name=="PseudoClassName")return{from:r.from,options:y$,validFor:Ut};if(O(r)||(e.explicit||n)&&b0(r,t.doc))return{from:O(r)||n?r.from:i,options:w$(t.doc,w0(r),O),validFor:y0};if(r.name=="TagName"){for(let{parent:o}=r;o;o=o.parent)if(o.name=="Block")return{from:r.from,options:jl(),validFor:Ut};return{from:r.from,options:X0,validFor:Ut}}if(r.name=="AtKeyword")return{from:r.from,options:T0,validFor:Ut};if(!e.explicit)return null;let s=r.resolve(i),a=s.childBefore(i);return a&&a.name==":"&&s.name=="PseudoClassSelector"?{from:i,options:y$,validFor:Ut}:a&&a.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:i,options:b$,validFor:Ut}:s.name=="Block"||s.name=="Styles"?{from:i,options:jl(),validFor:Ut}:null},v0=k0(O=>O.name=="VariableName"),br=se.define({name:"css",parser:T$.configure({props:[ae.add({Declaration:le()}),te.add({"Block KeyframeList":me})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Xs(){return new K(br,br.data.of({autocomplete:v0}))}var Y0=177,Z0=179,R0=184,_0=12,V0=13,q0=17,z0=20,W0=25,U0=53,j0=95,C0=142,G0=144,E0=145,A0=148,L0=10,M0=13,D0=32,I0=9,k$=47,B0=41,N0=125,F0=new z((O,e)=>{for(let t=0,i=O.next;(e.context&&(i<0||i==L0||i==M0||i==k$&&O.peek(t+1)==k$)||i==B0||i==N0)&&O.acceptToken(Y0),!(i!=D0&&i!=I0);)i=O.peek(++t)},{contextual:!0}),H0=new Set([j0,R0,z0,_0,q0,G0,E0,C0,A0,V0,U0,W0]),K0=new Ge({start:!1,shift:(O,e)=>e==Z0?O:H0.has(e)}),J0=N({"func interface struct chan map const type var":d.definitionKeyword,"import package":d.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":d.controlKeyword,range:d.keyword,Bool:d.bool,String:d.string,Rune:d.character,Number:d.number,Nil:d.null,VariableName:d.variableName,DefName:d.definition(d.variableName),TypeName:d.typeName,LabelName:d.labelName,FieldName:d.propertyName,"FunctionDecl/DefName":d.function(d.definition(d.variableName)),"TypeSpec/DefName":d.definition(d.typeName),"CallExpr/VariableName":d.function(d.variableName),LineComment:d.lineComment,BlockComment:d.blockComment,LogicOp:d.logicOperator,ArithOp:d.arithmeticOperator,BitOp:d.bitwiseOperator,"DerefOp .":d.derefOperator,"UpdateOp IncDecOp":d.updateOperator,CompareOp:d.compareOperator,"= :=":d.definitionOperator,"<-":d.operator,'~ "*"':d.modifier,"; ,":d.separator,"... :":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),eb={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},v$=Oe.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuOPQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<nQQO'#FrOOQO,5vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"\u26A0 LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:K0,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[J0],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[F0,1,2,new kt("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:O=>eb[O]||-1}],tokenPrec:5451});var tb=[U("func ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"declaration",type:"keyword"}),U("func (${receiver}) ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),U("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),U("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),U("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),U("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),U("for ${init}; ${test}; ${update} {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),U("for ${i} := range ${value} {\n ${}\n}",{label:"for",detail:"range",type:"keyword"}),U(`select { +`))};if((Y.mac||Y.android)&&h.from==s-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:o,insert:G.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);ao(e,h,P.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],n=null;for(let s=this.toEditorPos(i.rangeStart),a=this.toEditorPos(i.rangeEnd);s{let r=[];for(let n of i.getTextFormats()){let s=n.underlineStyle,a=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(a)){let o=this.toEditorPos(n.rangeStart),c=this.toEditorPos(n.rangeEnd);if(o{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:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=Ei(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,a,o,c)=>{if(i)return;let l=c.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=l,this.to+=l;return}else r=null,this.revertPending(e.state);if(n+=t,s+=t,s<=this.from)this.from+=l,this.to+=l;else if(nthis.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),c.toString()),this.to+=l}t+=l}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.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||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+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 t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},y=class O{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 t;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:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(n=>i(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Jg(e.parent)||document,this.viewState=new Xn(e.state||M.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(FO).map(r=>new Wi(r));for(let r of this.plugins)r.update(this);this.observer=new Ea(this),this.inputState=new va(this),this.inputState.ensureHandlers(this.plugins),this.docView=new mn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof ue?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,a=0,o=null;e.some(f=>f.annotation(ud))?(this.inputState.notifiedFocused=s,a=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,o=Qd(n,s),o||(a=1));let c=this.observer.delayedAndroidKey,l=null;if(c?(this.observer.clearDelayedAndroidKey(),l=this.observer.readChange(),(l&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(l=null)):this.observer.clear(),n.facet(M.phrases)!=this.state.facet(M.phrases))return this.setState(n);r=pn.create(this,n,e),r.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:u}=f.state.selection;h=new zi(u.empty?u:P.cursor(u.head,u.head>u.anchor?-1:1))}for(let u of f.effects)u.is(Jr)&&(h=u.value.clip(this.state))}this.viewState.update(r,h),this.bidiCache=Tn.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Yi)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(nn)!=r.state.facet(nn)&&(this.viewState.mustMeasureContent=!0),(t||i||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(ya))try{f(r)}catch(u){Te(this.state,u,"update listener")}(o||l)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),l&&!ad(this,l)&&c.force&&ei(this.contentDOM,c.key,c.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 t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Xn(e),this.plugins=e.facet(FO).map(i=>new Wi(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new mn(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(FO),i=e.state.facet(FO);if(t!=i){let r=[];for(let n of i){let s=t.indexOf(n);if(s<0)r.push(new Wi(n));else{let a=this.plugins[s];a.mustUpdate=e,r.push(a)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,r=i.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(s<0)if(vf(i))n=-1,s=this.viewState.heightMap.height;else{let u=this.viewState.scrollAnchorAt(r);n=u.from,s=u.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];o&4||([this.measureRequests,c]=[c,this.measureRequests]);let l=c.map(u=>{try{return u.read(this)}catch(Q){return Te(this.state,Q),hf}}),h=pn.create(this,this.state,[]),f=!1;h.flags|=o,t?t.flags|=o:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let u=0;u1||Q<-1){r=r+Q,i.scrollTop=r/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ya))a(t)}get themeClasses(){return Ca+" "+(this.state.facet(ja)?md:pd)+" "+this.state.facet(nn)}updateAttrs(){let e=ff(this,Jf,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(_t)?"true":"false",class:"cm-content",style:`${Y.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),ff(this,no,t);let i=this.observer.ignore(()=>{let r=Pa(this.contentDOM,this.contentAttrs,t),n=Pa(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(O.announce)){t&&(this.announceDOM.textContent=""),t=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Yi);let e=this.state.facet(O.cspNonce);Ot.mount(this.root,this.styleModules.concat(nS).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 t=0;ti.plugin==e)||null),t&&t.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,t,i){return oa(this,e,Bh(this,e,t,i))}moveByGroup(e,t){return oa(this,e,Bh(this,e,t,i=>YP(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return P.cursor(n.side(t,r)+e.from,n.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return vP(this,e,t,i)}moveVertically(e,t,i){return oa(this,e,ZP(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),rd(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[gt.find(n,e-r.from,-1,t)];return Yn(i,s.dir==ee.LTR==t>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(Nf)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>oS)return Gf(e.length);let t=this.textDirectionAt(e.from),i;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t&&(n.fresh||Cf(n.isolates,i=Ah(this,e))))return n.order;i||(i=Ah(this,e));let r=dP(e.text,t,i);return this.bidiCache.push(new Tn(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Y.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{wf(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,t={}){return Jr.of(new zi(typeof e=="number"?P.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Jr.of(new zi(P.cursor(i.from),"start","start",i.top-e,t,!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 fe.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return fe.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=Ot.newName(),r=[nn.of(i),Yi.of(Ga(`.${i}`,e))];return t&&t.dark&&r.push(ja.of(!0)),r}static baseTheme(e){return ze.lowest(Yi.of(Ga("."+Ca,e,gd)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&ne.get(i)||ne.get(e);return((t=r?.rootView)===null||t===void 0?void 0:t.view)||null}};y.styleModule=Yi;y.inputHandler=If;y.clipboardInputFilter=io;y.clipboardOutputFilter=ro;y.scrollHandler=Hf;y.focusChangeEffect=Bf;y.perLineTextDirection=Nf;y.exceptionSink=Df;y.updateListener=ya;y.editable=_t;y.mouseSelectionStyle=Mf;y.dragMovesSelection=Lf;y.clickAddsSelectionRange=Af;y.decorations=Ni;y.outerDecorations=ed;y.atomicRanges=Ki;y.bidiIsolatedRanges=td;y.scrollMargins=Od;y.darkTheme=ja;y.cspNonce=v.define({combine:O=>O.length?O[0]:""});y.contentAttributes=no;y.editorAttributes=Jf;y.lineWrapping=y.contentAttributes.of({class:"cm-lineWrapping"});y.announce=V.define();var oS=4096,hf={},Tn=class O{constructor(e,t,i,r,n,s){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=n,this.order=s}static update(e,t){if(t.empty&&!e.some(n=>n.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:ee.LTR;for(let n=Math.max(0,e.length-10);n=0;r--){let n=i[r],s=typeof n=="function"?n(O):n;s&&ga(s,t)}return t}var lS=Y.mac?"mac":Y.windows?"win":Y.linux?"linux":"key";function cS(O,e){let t=O.split(/-(?!$)/),i=t[t.length-1];i=="Space"&&(i=" ");let r,n,s,a;for(let o=0;oi.concat(r),[]))),t}function Sd(O,e,t){return Xd(Pd(O.state),e,O,t)}var Dt=null,fS=4e3;function dS(O,e=lS){let t=Object.create(null),i=Object.create(null),r=(s,a)=>{let o=i[s];if(o==null)i[s]=a;else if(o!=a)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,a,o,c,l)=>{var h,f;let u=t[s]||(t[s]=Object.create(null)),Q=a.split(/ (?!$)/).map(m=>cS(m,e));for(let m=1;m{let T=Dt={view:X,prefix:g,scope:s};return setTimeout(()=>{Dt==T&&(Dt=null)},fS),!0}]})}let $=Q.join(" ");r($,!1);let p=u[$]||(u[$]={preventDefault:!1,stopPropagation:!1,run:((f=(h=u._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});o&&p.run.push(o),c&&(p.preventDefault=!0),l&&(p.stopPropagation=!0)};for(let s of O){let a=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let c of a){let l=t[c]||(t[c]=Object.create(null));l._any||(l._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=s;for(let f in l)l[f].run.push(u=>h(u,La))}let o=s[e]||s.key;if(o)for(let c of a)n(c,o,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(c,"Shift-"+o,s.shift,s.preventDefault,s.stopPropagation)}return t}var La=null;function Xd(O,e,t,i){La=e;let r=Vh(e),n=Se(r,0),s=De(n)==r.length&&r!=" ",a="",o=!1,c=!1,l=!1;Dt&&Dt.view==t&&Dt.scope==i&&(a=Dt.prefix+" ",cd.indexOf(e.keyCode)<0&&(c=!0,Dt=null));let h=new Set,f=p=>{if(p){for(let m of p.run)if(!h.has(m)&&(h.add(m),m(t)))return p.stopPropagation&&(l=!0),!0;p.preventDefault&&(p.stopPropagation&&(l=!0),c=!0)}return!1},u=O[i],Q,$;return u&&(f(u[a+sn(r,e,!s)])?o=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Y.windows&&e.ctrlKey&&e.altKey)&&!(Y.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(Q=Rt[e.keyCode])&&Q!=r?(f(u[a+sn(Q,e,!0)])||e.shiftKey&&($=NO[e.keyCode])!=r&&$!=Q&&f(u[a+sn($,e,!1)]))&&(o=!0):s&&e.shiftKey&&f(u[a+sn(r,e,!0)])&&(o=!0),!o&&f(u._any)&&(o=!0)),c&&(o=!0),o&&l&&e.stopPropagation(),La=null,o}var Fi=class O{constructor(e,t,i,r,n){this.className=e,this.left=t,this.top=i,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.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,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let n=Td(e);return[new O(t,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return uS(e,t,i)}};function Td(O){let e=O.scrollDOM.getBoundingClientRect();return{left:(O.textDirection==ee.LTR?e.left:e.right-O.scrollDOM.clientWidth*O.scaleX)-O.scrollDOM.scrollLeft*O.scaleX,top:e.top-O.scrollDOM.scrollTop*O.scaleY}}function uf(O,e,t,i){let r=O.coordsAtPos(e,t*2);if(!r)return i;let n=O.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,a=O.posAtCoords({x:n.left+1,y:s}),o=O.posAtCoords({x:n.right-1,y:s});return a==null||o==null?i:{from:Math.max(i.from,Math.min(a,o)),to:Math.min(i.to,Math.max(a,o))}}function uS(O,e,t){if(t.to<=O.viewport.from||t.from>=O.viewport.to)return[];let i=Math.max(t.from,O.viewport.from),r=Math.min(t.to,O.viewport.to),n=O.textDirection==ee.LTR,s=O.contentDOM,a=s.getBoundingClientRect(),o=Td(O),c=s.querySelector(".cm-line"),l=c&&window.getComputedStyle(c),h=a.left+(l?parseInt(l.paddingLeft)+Math.min(0,parseInt(l.textIndent)):0),f=a.right-(l?parseInt(l.paddingRight):0),u=xa(O,i,1),Q=xa(O,r,-1),$=u.type==_e.Text?u:null,p=Q.type==_e.Text?Q:null;if($&&(O.lineWrapping||u.widgetLineBreaks)&&($=uf(O,i,1,$)),p&&(O.lineWrapping||Q.widgetLineBreaks)&&(p=uf(O,r,-1,p)),$&&p&&$.from==p.from&&$.to==p.to)return g(X(t.from,t.to,$));{let S=$?X(t.from,null,$):T(u,!1),x=p?X(null,t.to,p):T(Q,!0),w=[];return($||u).to<(p||Q).from-($&&p?1:0)||u.widgetLineBreaks>1&&S.bottom+O.defaultLineHeight/2q&&I.from=ke)break;et>oe&&C(Math.max(Pe,oe),S==null&&Pe<=q,Math.min(et,ke),x==null&&et>=H,Qt.dir)}if(oe=Ae.to+1,oe>=ke)break}return ie.length==0&&C(q,S==null,H,x==null,O.textDirection),{top:j,bottom:E,horizontal:ie}}function T(S,x){let w=a.top+(x?S.top:S.bottom);return{top:w,bottom:w,horizontal:[]}}}function QS(O,e){return O.constructor==e.constructor&&O.eq(e)}var Ma=class{constructor(e,t){this.view=e,this.layer=t,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"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(hn)!=e.state.facet(hn)&&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 t=0,i=e.facet(hn);for(;t!QS(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,Y.safari&&Y.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()}},hn=v.define();function yd(O){return[fe.define(e=>new Ma(e,O)),hn.of(O)]}var Hi=v.define({combine(O){return xe(O,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function bd(O={}){return[Hi.of(O),$S,pS,mS,Ff.of(!0)]}function xd(O){return O.startState.facet(Hi)!=O.state.facet(Hi)}var $S=yd({above:!0,markers(O){let{state:e}=O,t=e.facet(Hi),i=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||t.drawRangeCursor){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=r.empty?r:P.cursor(r.head,r.head>r.anchor?-1:1);for(let o of Fi.forRange(O,s,a))i.push(o)}}return i},update(O,e){O.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=xd(O);return t&&Qf(O.state,e),O.docChanged||O.selectionSet||t},mount(O,e){Qf(e.state,O)},class:"cm-cursorLayer"});function Qf(O,e){e.style.animationDuration=O.facet(Hi).cursorBlinkRate+"ms"}var pS=yd({above:!1,markers(O){return O.state.selection.ranges.map(e=>e.empty?[]:Fi.forRange(O,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(O,e){return O.docChanged||O.selectionSet||O.viewportChanged||xd(O)},class:"cm-selectionLayer"}),mS=ze.highest(y.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"}}}})),wd=V.define({map(O,e){return O==null?null:e.mapPos(O)}}),_i=he.define({create(){return null},update(O,e){return O!=null&&(O=e.changes.mapPos(O)),e.effects.reduce((t,i)=>i.is(wd)?i.value:t,O)}}),gS=fe.fromClass(class{constructor(O){this.view=O,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(O){var e;let t=O.state.field(_i);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(O.startState.field(_i)!=t||O.docChanged||O.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:O}=this,e=O.state.field(_i),t=e!=null&&O.coordsAtPos(e);if(!t)return null;let i=O.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+O.scrollDOM.scrollLeft*O.scaleX,top:t.top-i.top+O.scrollDOM.scrollTop*O.scaleY,height:t.bottom-t.top}}drawCursor(O){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;O?(this.cursor.style.left=O.left/e+"px",this.cursor.style.top=O.top/t+"px",this.cursor.style.height=O.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(O){this.view.state.field(_i)!=O&&this.view.dispatch({effects:wd.of(O)})}},{eventObservers:{dragover(O){this.setDropPos(this.view.posAtCoords({x:O.clientX,y:O.clientY}))},dragleave(O){(O.target==this.view.contentDOM||!this.view.contentDOM.contains(O.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function kd(){return[_i,gS]}function $f(O,e,t,i,r){e.lastIndex=0;for(let n=O.iterRange(t,i),s=t,a;!n.next().done;s+=n.value.length)if(!n.lineBreak)for(;a=e.exec(n.value);)r(s+a.index,a)}function PS(O,e){let t=O.visibleRanges;if(t.length==1&&t[0].from==O.viewport.from&&t[0].to==O.viewport.to)return t;let i=[];for(let{from:r,to:n}of t)r=Math.max(O.state.doc.lineAt(r).from,r-e),n=Math.min(O.state.doc.lineAt(n).to,n+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=n:i.push({from:r,to:n});return i}var Da=class{constructor(e){let{regexp:t,decoration:i,decorate:r,boundary:n,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(a,o,c,l)=>r(l,c,c+a[0].length,a,o);else if(typeof i=="function")this.addMatch=(a,o,c,l)=>{let h=i(a,o,c);h&&l(c,c+a[0].length,h)};else if(i)this.addMatch=(a,o,c,l)=>l(c,c+a[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=s}createDeco(e){let t=new Me,i=t.add.bind(t);for(let{from:r,to:n}of PS(e,this.maxLength))$f(e.state.doc,this.regexp,r,n,(s,a)=>this.addMatch(a,e,s,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((n,s,a,o)=>{o>=e.view.viewport.from&&a<=e.view.viewport.to&&(i=Math.min(a,i),r=Math.max(o,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let n of e.visibleRanges){let s=Math.max(n.from,i),a=Math.min(n.to,r);if(a>=s){let o=e.state.doc.lineAt(s),c=o.too.from;s--)if(this.boundary.test(o.text[s-1-o.from])){l=s;break}for(;af.push(m.range($,p));if(o==c)for(this.regexp.lastIndex=l-o.from;(u=this.regexp.exec(o.text))&&u.indexthis.addMatch(p,e,$,Q));t=t.update({filterFrom:l,filterTo:h,filter:($,p)=>$h,add:f})}}return t}},Ia=/x/.unicode!=null?"gu":"g",SS=new RegExp(`[\0-\b +-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,Ia),XS={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},ca=null;function TS(){var O;if(ca==null&&typeof document<"u"&&document.body){let e=document.body.style;ca=((O=e.tabSize)!==null&&O!==void 0?O:e.MozTabSize)!=null}return ca||!1}var fn=v.define({combine(O){let e=xe(O,{render:null,specialChars:SS,addSpecialChars:null});return(e.replaceTabs=!TS())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Ia)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Ia)),e}});function vd(O={}){return[fn.of(O),yS()]}var pf=null;function yS(){return pf||(pf=fe.fromClass(class{constructor(O){this.view=O,this.decorations=Z.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(O.state.facet(fn)),this.decorations=this.decorator.createDeco(O)}makeDecorator(O){return new Da({regexp:O.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,n=Se(e[0],0);if(n==9){let s=r.lineAt(i),a=t.state.tabSize,o=Ye(s.text,a,i-s.from);return Z.replace({widget:new Na((a-o%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[n]||(this.decorationCache[n]=Z.replace({widget:new Ba(O,n)}))},boundary:O.replaceTabs?void 0:/[^]/})}update(O){let e=O.state.facet(fn);O.startState.facet(fn)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(O.view)):this.decorations=this.decorator.updateDeco(O,this.decorations)}},{decorations:O=>O.decorations}))}var bS="\u2022";function xS(O){return O>=32?bS:O==10?"\u2424":String.fromCharCode(9216+O)}var Ba=class extends We{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=xS(this.code),i=e.state.phrase("Control character")+" "+(XS[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}},Na=class extends We{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Yd(){return kS}var wS=Z.line({class:"cm-activeLine"}),kS=fe.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.docChanged||O.selectionSet)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=-1,t=[];for(let i of O.state.selection.ranges){let r=O.lineBlockAt(i.head);r.from>e&&(t.push(wS.range(r.from)),e=r.from)}return Z.set(t)}},{decorations:O=>O.decorations});var Fa=2e3;function vS(O,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),n=[];if(e.off>Fa||t.off>Fa||e.col<0||t.col<0){let s=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let o=i;o<=r;o++){let c=O.doc.line(o);c.length<=a&&n.push(P.range(c.from+s,c.to+a))}}else{let s=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let o=i;o<=r;o++){let c=O.doc.line(o),l=Fr(c.text,s,O.tabSize,!0);if(l<0)n.push(P.cursor(c.to));else{let h=Fr(c.text,a,O.tabSize);n.push(P.range(c.from+l,c.from+h))}}}return n}function YS(O,e){let t=O.coordsAtPos(O.viewport.from);return t?Math.round(Math.abs((t.left-e)/O.defaultCharacterWidth)):-1}function mf(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1),i=O.state.doc.lineAt(t),r=t-i.from,n=r>Fa?-1:r==i.length?YS(O,e.clientX):Ye(i.text,O.state.tabSize,t-i.from);return{line:i.number,col:n,off:r}}function ZS(O,e){let t=mf(O,e),i=O.state.selection;return t?{update(r){if(r.docChanged){let n=r.changes.mapPos(r.startState.doc.line(t.line).from),s=r.state.doc.lineAt(n);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},i=i.map(r.changes)}},get(r,n,s){let a=mf(O,r);if(!a)return i;let o=vS(O.state,t,a);return o.length?s?P.create(o.concat(i.ranges)):P.create(o):i}}:null}function Zd(O){let e=O?.eventFilter||(t=>t.altKey&&t.button==0);return y.mouseSelectionStyle.of((t,i)=>e(i)?ZS(t,i):null)}var RS={Alt:[18,O=>!!O.altKey],Control:[17,O=>!!O.ctrlKey],Shift:[16,O=>!!O.shiftKey],Meta:[91,O=>!!O.metaKey]},_S={style:"cursor: crosshair"};function Rd(O={}){let[e,t]=RS[O.key||"Alt"],i=fe.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,y.contentAttributes.of(r=>{var n;return!((n=r.plugin(i))===null||n===void 0)&&n.isDown?_S:null})]}var vi="-10000px",yn=class{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=i(s,n))}update(e,t){var i;let r=e.state.facet(this.facet),n=r.filter(o=>o);if(r===this.input){for(let o of this.tooltipViews)o.update&&o.update(e);return!1}let s=[],a=t?[]:null;for(let o=0;ot[c]=o),t.length=a.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function VS(O){let e=O.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var ha=v.define({combine:O=>{var e,t,i;return{position:Y.ios?"absolute":((e=O.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=O.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=O.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||VS}}}),gf=new WeakMap,oo=fe.fromClass(class{constructor(O){this.view=O,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=O.state.facet(ha);this.position=e.position,this.parent=e.parent,this.classes=O.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new yn(O,Ji,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),O.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let O of this.manager.tooltipViews)this.intersectionObserver.observe(O.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(O){O.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(O,this.above);e&&this.observeIntersection();let t=e||O.geometryChanged,i=O.state.facet(ha);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(O,e){let t=O.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),O.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=vi,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var O,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(O=i.destroy)===null||O===void 0||O.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let O=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Y.gecko)t=n.offsetParent!=this.container.ownerDocument.body;else if(n.style.top==vi&&n.style.left=="0px"){let s=n.getBoundingClientRect();t=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}}if(t||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(O=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:O,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=so(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(ha).tooltipSpace(this.view),scaleX:O,scaleY:e,makeAbsolute:t}}writeMeasure(O){var e;if(O.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:n}=O,s=[];for(let a=0;a=Math.min(t.bottom,i.bottom)||h.rightMath.min(t.right,i.right)+.1)){l.style.top=vi;continue}let u=o.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,Q=u?7:0,$=f.right-f.left,p=(e=gf.get(c))!==null&&e!==void 0?e:f.bottom-f.top,m=c.offset||zS,g=this.view.textDirection==ee.LTR,X=f.width>i.right-i.left?g?i.left:i.right-f.width:g?Math.max(i.left,Math.min(h.left-(u?14:0)+m.x,i.right-$)):Math.min(Math.max(i.left,h.left-$+(u?14:0)-m.x),i.right-$),T=this.above[a];!o.strictSide&&(T?h.top-p-Q-m.yi.bottom)&&T==i.bottom-h.bottom>h.top-i.top&&(T=this.above[a]=!T);let S=(T?h.top-i.top:i.bottom-h.bottom)-Q;if(SX&&j.topx&&(x=T?j.top-p-2-Q:j.bottom+Q+2);if(this.position=="absolute"?(l.style.top=(x-O.parent.top)/n+"px",Pf(l,(X-O.parent.left)/r)):(l.style.top=x/n+"px",Pf(l,X/r)),u){let j=h.left+(g?m.x:-m.x)-(X+14-7);u.style.left=j/r+"px"}c.overlap!==!0&&s.push({left:X,top:x,right:w,bottom:x+p}),l.classList.toggle("cm-tooltip-above",T),l.classList.toggle("cm-tooltip-below",!T),c.positioned&&c.positioned(O.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let O of this.manager.tooltipViews)O.dom.style.top=vi}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Pf(O,e){let t=parseInt(O.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(O.style.left=e+"px")}var qS=y.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),zS={x:0,y:0},Ji=v.define({enables:[oo,qS]}),bn=v.define({combine:O=>O.reduce((e,t)=>e.concat(t),[])}),xn=class O{static create(e){return new O(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new yn(e,bn,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},WS=Ji.compute([bn],O=>{let e=O.facet(bn);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:xn.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),Ha=class{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ea.bottom||t.xa.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(l=>l.from<=r&&l.to>=r),c=o&&o.dir==ee.RTL?-1:1;n=t.x{this.pending==a&&(this.pending=null,o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])}))},o=>Te(e.state,o,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(oo),t=e?e.manager.tooltips.findIndex(i=>i.create==xn.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&n&&!US(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,a=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!jS(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},an=4;function US(O,e){let{left:t,right:i,top:r,bottom:n}=O.getBoundingClientRect(),s;if(s=O.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();r=Math.min(a.top,r),n=Math.max(a.bottom,n)}return e.clientX>=t-an&&e.clientX<=i+an&&e.clientY>=r-an&&e.clientY<=n+an}function jS(O,e,t,i,r,n){let s=O.scrollDOM.getBoundingClientRect(),a=O.documentTop+O.documentPadding.top+O.contentHeight;if(s.left>i||s.rightr||Math.min(s.bottom,a)=e&&o<=t}function _d(O,e={}){let t=V.define(),i=he.define({create(){return[]},update(r,n){if(r.length&&(e.hideOnChange&&(n.docChanged||n.selection)?r=[]:e.hideOn&&(r=r.filter(s=>!e.hideOn(n,s))),n.docChanged)){let s=[];for(let a of r){let o=n.changes.mapPos(a.pos,-1,pe.TrackDel);if(o!=null){let c=Object.assign(Object.create(null),a);c.pos=o,c.end!=null&&(c.end=n.changes.mapPos(c.end)),s.push(c)}}r=s}for(let s of n.effects)s.is(t)&&(r=s.value),s.is(CS)&&(r=[]);return r},provide:r=>bn.from(r)});return{active:i,extension:[i,fe.define(r=>new Ha(r,O,i,t,e.hoverTime||300)),WS]}}function lo(O,e){let t=O.plugin(oo);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}var CS=V.define();var Sf=v.define({combine(O){let e,t;for(let i of O)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function XO(O,e){let t=O.plugin(Vd),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}var Vd=fe.fromClass(class{constructor(O){this.input=O.state.facet(SO),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(O));let e=O.state.facet(Sf);this.top=new KO(O,!0,e.topContainer),this.bottom=new KO(O,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(O){let e=O.state.facet(Sf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new KO(O.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new KO(O.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=O.state.facet(SO);if(t!=this.input){let i=t.filter(o=>o),r=[],n=[],s=[],a=[];for(let o of i){let c=this.specs.indexOf(o),l;c<0?(l=o(O.view),a.push(l)):(l=this.panels[c],l.update&&l.update(O)),r.push(l),(l.top?n:s).push(l)}this.specs=i,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let o of a)o.dom.classList.add("cm-panel"),o.mount&&o.mount()}else for(let i of this.panels)i.update&&i.update(O)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:O=>y.scrollMargins.of(e=>{let t=e.plugin(O);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),KO=class{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.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 t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Xf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Xf(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 Xf(O){let e=O.nextSibling;return O.remove(),e}var SO=v.define({enables:Vd});var Be=class extends ot{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Be.prototype.elementClass="";Be.prototype.toDOM=void 0;Be.prototype.mapMode=pe.TrackBefore;Be.prototype.startSide=Be.prototype.endSide=-1;Be.prototype.point=!0;var dn=v.define(),GS=v.define(),ES={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>F.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ci=v.define();function co(O){return[qd(),Ci.of({...ES,...O})]}var Ka=v.define({combine:O=>O.some(e=>e)});function qd(O){let e=[AS];return O&&O.fixed===!1&&e.push(Ka.of(!0)),e}var AS=fe.fromClass(class{constructor(O){this.view=O,this.domAfter=null,this.prevViewport=O.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=O.state.facet(Ci).map(e=>new wn(O,e)),this.fixed=!O.state.facet(Ka);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),O.scrollDOM.insertBefore(this.dom,O.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(O){if(this.updateGutters(O)){let e=this.prevViewport,t=O.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(O.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(Ka)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=O.view.viewport}syncGutters(O){let e=this.dom.nextSibling;O&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=F.iter(this.view.state.facet(dn),this.view.viewport.from),i=[],r=this.gutters.map(n=>new eo(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(n.type)){let s=!0;for(let a of n.type)if(a.type==_e.Text&&s){Ja(t,i,a.from);for(let o of r)o.line(this.view,a,i);s=!1}else if(a.widget)for(let o of r)o.widget(this.view,a)}else if(n.type==_e.Text){Ja(t,i,n.from);for(let s of r)s.line(this.view,n,i)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();O&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(O){let e=O.startState.facet(Ci),t=O.state.facet(Ci),i=O.docChanged||O.heightChanged||O.viewportChanged||!F.eq(O.startState.facet(dn),O.state.facet(dn),O.view.viewport.from,O.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(O)&&(i=!0);else{i=!0;let r=[];for(let n of t){let s=e.indexOf(n);s<0?r.push(new wn(this.view,n)):(this.gutters[s].update(O),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return i}destroy(){for(let O of this.gutters)O.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:O=>y.scrollMargins.of(e=>{let t=e.plugin(O);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ee.LTR?{left:i,right:r}:{right:i,left:r}})});function Tf(O){return Array.isArray(O)?O:[O]}function Ja(O,e,t){for(;O.value&&O.from<=t;)O.from==t&&e.push(O.value),O.next()}var eo=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,n=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let a=new kn(e,s,n,i);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(e,s,n,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];Ja(this.cursor,r,t.from),i.length&&(r=r.concat(i));let n=this.gutter.config.lineMarker(e,t,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let n of e.state.facet(GS)){let s=n(e,t.widget,t);s&&(r||(r=[])).push(s)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},wn=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let o=n.getBoundingClientRect();s=(o.top+o.bottom)/2}else s=r.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,a,r)&&r.preventDefault()});this.markers=Tf(t.markers(e)),t.initialSpacer&&(this.spacer=new kn(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Tf(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!F.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},kn=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),LS(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let a=s,o=nn(a,o,c)||s(a,o,c):s}return i}})}}),Gi=class extends Be{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function fa(O,e){return O.state.facet(JO).formatNumber(e,O.state)}var IS=Ci.compute([JO],O=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(MS)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Gi(fa(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(DS)){let n=r(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(JO)!=e.state.facet(JO),initialSpacer(e){return new Gi(fa(e,yf(e.state.doc.lines)))},updateSpacer(e,t){let i=fa(t.view,yf(t.view.state.doc.lines));return i==e.number?e:new Gi(i)},domEventHandlers:O.facet(JO).domEventHandlers,side:"before"}));function zd(O={}){return[JO.of(O),qd(),IS]}function yf(O){let e=9;for(;e{let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.head).from;r>t&&(t=r,e.push(BS.range(r)))}return F.of(e)});function Wd(){return NS}var FS=0,Ue=class{constructor(e,t){this.from=e,this.to=t}},_=class{constructor(e={}){this.id=FS++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};_.closedBy=new _({deserialize:O=>O.split(" ")});_.openedBy=new _({deserialize:O=>O.split(" ")});_.group=new _({deserialize:O=>O.split(" ")});_.isolate=new _({deserialize:O=>{if(O&&O!="rtl"&&O!="ltr"&&O!="auto")throw new RangeError("Invalid value for isolate: "+O);return O||"auto"}});_.contextHash=new _({perNode:!0});_.lookAhead=new _({perNode:!0});_.mounted=new _({perNode:!0});var TO=class{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[_.mounted.id]}},HS=Object.create(null),de=class O{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):HS,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new O(e.name||"",t,e.id,i);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}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 t=this.prop(_.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(_.group),n=-1;n<(r?r.length:0);n++){let s=t[n<0?i.name:r[n]];if(s)return s}}}};de.none=new de("",Object.create(null),0,8);var Ht=class O{constructor(e){this.types=e;for(let t=0;t0;for(let o=this.cursor(s|A.IncludeAnonymous);;){let c=!1;if(o.from<=n&&o.to>=r&&(!a&&o.type.isAnonymous||t(o)!==!1)){if(o.firstChild())continue;c=!0}for(;c&&i&&(a||!o.type.isAnonymous)&&i(o),!o.nextSibling();){if(!o.parent())return;c=!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 t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Xo(de.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new O(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new O(de.none,t,i,r)))}static build(e){return JS(e)}};D.empty=new D(de.none,[],[],0);var ho=class O{constructor(e,t){this.buffer=e,this.index=t}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 O(this.buffer,this.index)}},Kt=class O{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return de.none}toString(){let e=[];for(let t=0;t0));o=s[o+3]);return a}slice(e,t,i){let r=this.buffer,n=new Uint16Array(t-e),s=0;for(let a=e,o=0;a=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function er(O,e,t,i){for(var r;O.from==O.to||(t<1?O.from>=e:O.from>e)||(t>-1?O.to<=e:O.to0?a.length:-1;e!=c;e+=t){let l=a[e],h=o[e]+s.from;if(Md(r,i,h,h+l.length)){if(l instanceof Kt){if(n&A.ExcludeBuffers)continue;let f=l.findChild(0,l.buffer.length,t,i-h,r);if(f>-1)return new yO(new uo(s,l,e,h),null,f)}else if(n&A.IncludeAnonymous||!l.type.isAnonymous||So(l)){let f;if(!(n&A.IgnoreMounts)&&(f=TO.get(l))&&!f.overlay)return new O(f.tree,h,e,s);let u=new O(l,h,e,s);return n&A.IncludeAnonymous||!u.type.isAnonymous?u:u.nextChild(t<0?l.children.length-1:0,t,i,r)}}}if(n&A.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))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)}enter(e,t,i=0){let r;if(!(i&A.IgnoreOverlays)&&(r=TO.get(this._tree))&&r.overlay){let n=e-this.from;for(let{from:s,to:a}of r.overlay)if((t>0?s<=n:s=n:a>n))return new O(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}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 jd(O,e,t,i){let r=O.cursor(),n=[];if(!r.firstChild())return n;if(t!=null){for(let s=!1;!s;)if(s=r.type.is(t),!r.nextSibling())return n}for(;;){if(i!=null&&r.type.is(i))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return i==null?n:[]}}function fo(O,e,t=e.length-1){for(let i=O;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var uo=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},yO=class O extends Vn{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,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new O(this.context,this,n)}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)}enter(e,t,i=0){if(i&A.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new O(this.context,this,n)}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,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new O(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new O(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,n=i.buffer[this.index+3];if(n>r){let s=i.buffer[this.index+1];e.push(i.slice(r,n,s)),t.push(0)}return new D(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Dd(O){if(!O.length)return null;let e=0,t=O[0];for(let n=1;nt.from||s.to=e){let a=new je(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[i])).push(er(a,e,t,!1))}}return r?Dd(r):i}var Oi=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof je)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.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,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof je?(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,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}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,t,i=this.mode){return this.buffer?i&A.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&A.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&A.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:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<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 t,i,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let a=i._tree.children[n];if(this.mode&A.IncludeAnonymous||a instanceof Kt||!a.type.isAnonymous||So(a))return!1}return!0}move(e,t){if(t&&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,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,i=n+1;break e}r=this.stack[--n]}for(let r=i;r=0;n--){if(n<0)return fo(this._tree,e,r);let s=i[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function So(O){return O.children.some(e=>e instanceof Kt||!e.type.isAnonymous||So(e))}function JS(O){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=i.types.length}=O,a=Array.isArray(t)?new ho(t,t.length):t,o=i.types,c=0,l=0;function h(S,x,w,j,E,ie){let{id:C,start:q,end:H,size:I}=a,oe=l,ke=c;for(;I<0;)if(a.next(),I==-1){let Yt=n[C];w.push(Yt),j.push(q-S);return}else if(I==-3){c=C;return}else if(I==-4){l=C;return}else throw new RangeError(`Unrecognized record size: ${I}`);let Ae=o[C],Qt,Pe,et=q-S;if(H-q<=r&&(Pe=p(a.pos-x,E))){let Yt=new Uint16Array(Pe.size-Pe.skip),tt=a.pos-Pe.size,$t=Yt.length;for(;a.pos>tt;)$t=m(Pe.start,Yt,$t);Qt=new Kt(Yt,H-Pe.start,i),et=Pe.start-S}else{let Yt=a.pos-I;a.next();let tt=[],$t=[],hO=C>=s?C:-1,EO=0,jr=H;for(;a.pos>Yt;)hO>=0&&a.id==hO&&a.size>=0?(a.end<=jr-r&&(Q(tt,$t,q,EO,a.end,jr,hO,oe,ke),EO=tt.length,jr=a.end),a.next()):ie>2500?f(q,Yt,tt,$t):h(q,Yt,tt,$t,hO,ie+1);if(hO>=0&&EO>0&&EO-1&&EO>0){let ah=u(Ae,ke);Qt=Xo(Ae,tt,$t,0,tt.length,0,H-q,ah,ah)}else Qt=$(Ae,tt,$t,H-q,oe-H,ke)}w.push(Qt),j.push(et)}function f(S,x,w,j){let E=[],ie=0,C=-1;for(;a.pos>x;){let{id:q,start:H,end:I,size:oe}=a;if(oe>4)a.next();else{if(C>-1&&H=0;I-=3)q[oe++]=E[I],q[oe++]=E[I+1]-H,q[oe++]=E[I+2]-H,q[oe++]=oe;w.push(new Kt(q,E[2]-H,i)),j.push(H-S)}}function u(S,x){return(w,j,E)=>{let ie=0,C=w.length-1,q,H;if(C>=0&&(q=w[C])instanceof D){if(!C&&q.type==S&&q.length==E)return q;(H=q.prop(_.lookAhead))&&(ie=j[C]+q.length+H)}return $(S,w,j,E,ie,x)}}function Q(S,x,w,j,E,ie,C,q,H){let I=[],oe=[];for(;S.length>j;)I.push(S.pop()),oe.push(x.pop()+w-E);S.push($(i.types[C],I,oe,ie-E,q-ie,H)),x.push(E-w)}function $(S,x,w,j,E,ie,C){if(ie){let q=[_.contextHash,ie];C=C?[q].concat(C):[q]}if(E>25){let q=[_.lookAhead,E];C=C?[q].concat(C):[q]}return new D(S,x,w,j,C)}function p(S,x){let w=a.fork(),j=0,E=0,ie=0,C=w.end-r,q={size:0,start:0,skip:0};e:for(let H=w.pos-S;w.pos>H;){let I=w.size;if(w.id==x&&I>=0){q.size=j,q.start=E,q.skip=ie,ie+=4,j+=4,w.next();continue}let oe=w.pos-I;if(I<0||oe=s?4:0,Ae=w.start;for(w.next();w.pos>oe;){if(w.size<0)if(w.size==-3)ke+=4;else break e;else w.id>=s&&(ke+=4);w.next()}E=Ae,j+=I,ie+=ke}return(x<0||j==S)&&(q.size=j,q.start=E,q.skip=ie),q.size>4?q:void 0}function m(S,x,w){let{id:j,start:E,end:ie,size:C}=a;if(a.next(),C>=0&&j4){let H=a.pos-(C-4);for(;a.pos>H;)w=m(S,x,w)}x[--w]=q,x[--w]=ie-S,x[--w]=E-S,x[--w]=j}else C==-3?c=j:C==-4&&(l=j);return w}let g=[],X=[];for(;a.pos>0;)h(O.start||0,O.bufferStart||0,g,X,-1,0);let T=(e=O.length)!==null&&e!==void 0?e:g.length?X[0]+g[0].length:0;return new D(o[O.topID],g.reverse(),X.reverse(),T)}var Cd=new WeakMap;function _n(O,e){if(!O.isAnonymous||e instanceof Kt||e.type!=O)return 1;let t=Cd.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=O||!(i instanceof D)){t=1;break}t+=_n(O,i)}Cd.set(e,t)}return t}function Xo(O,e,t,i,r,n,s,a,o){let c=0;for(let Q=i;Q=l)break;x+=w}if(X==T+1){if(x>l){let w=Q[T];u(w.children,w.positions,0,w.children.length,$[T]+g);continue}h.push(Q[T])}else{let w=$[X-1]+Q[X-1].length-S;h.push(Xo(O,Q,$,T,X,S,w,null,o))}f.push(S+g-n)}}return u(e,t,i,r,0),(a||o)(h,f,s)}var yt=class{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof yO?this.setBuffer(e.context.buffer,e.index,t):e instanceof je&&this.map.set(e.tree,t)}get(e){return e instanceof yO?this.getBuffer(e.context.buffer,e.index):e instanceof je?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class O{constructor(e,t,i,r,n=!1,s=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new O(0,e.length,e,0,!1,i)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let a=0,o=0,c=0;;a++){let l=a=i)for(;s&&s.from=f.from||h<=f.to||c){let u=Math.max(f.from,o)-c,Q=Math.min(f.to,h)-c;f=u>=Q?null:new O(u,Q,f.tree,f.offset+c,a>0,!!l)}if(f&&r.push(f),s.to>h)break;s=nnew Ue(r.from,r.to)):[new Ue(0,0)]:[new Ue(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let n=r.advance();if(n)return n}}},$o=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bO(O){return(e,t,i,r)=>new go(e,O,t,i,r)}var qn=class{constructor(e,t,i,r,n){this.parser=e,this.parse=t,this.overlay=i,this.target=r,this.from=n}};function Gd(O){if(!O.length||O.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(O))}var po=class{constructor(e,t,i,r,n,s,a){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.target=s,this.prev=a,this.depth=0,this.ranges=[]}},mo=new _({perNode:!0}),go=class{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new D(i.type,i.children,i.positions,i.length,i.propValues.concat([[mo,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[_.mounted.id]=new TO(t,e.overlay,e.parser),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(l=>l.frag.from<=r.from&&l.frag.to>=r.to&&l.mount.overlay);if(c)for(let l of c.mount.overlay){let h=l.from+c.pos,f=l.to+c.pos;h>=r.from&&f<=r.to&&!t.ranges.some(u=>u.fromh)&&t.ranges.push({from:h,to:f})}}a=!1}else if(i&&(s=eX(i.ranges,r.from,r.to)))a=s!=2;else if(!r.type.isAnonymous&&(n=this.nest(r,this.input))&&(r.fromnew Ue(h.from-r.from,h.to-r.from)):null,r.tree,l.length?l[0].from:r.from)),n.overlay?l.length&&(i={ranges:l,depth:0,prev:i}):a=!1}}else if(t&&(o=t.predicate(r))&&(o===!0&&(o=new Ue(r.from,r.to)),o.from=0&&t.ranges[c].to==o.from?t.ranges[c]={from:t.ranges[c].from,to:o.to}:t.ranges.push(o)}if(a&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Ad(this.ranges,t.ranges);c.length&&(Gd(c),this.inner.splice(t.index,0,new qn(t.parser,t.parser.startParse(this.input,Ld(t.mounts,c),c),t.ranges.map(l=>new Ue(l.from-t.start,l.to-t.start)),t.target,c[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}};function eX(O,e,t){for(let i of O){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Ed(O,e,t,i,r,n){if(e=e&&t.enter(i,1,A.IgnoreOverlays|A.ExcludeBuffers)||t.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 t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof D)t=t.children[0];else break}return!1}},Po=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop(mo))!==null&&t!==void 0?t:i.to,this.inner=new zn(i.tree,-i.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 t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(mo))!==null&&e!==void 0?e:t.to,this.inner=new zn(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let s=(i=n.tree)===null||i===void 0?void 0:i.prop(_.mounted);if(s&&s.parser==t)for(let a=this.fragI;a=n.to)break;o.tree==this.curFrag.tree&&r.push({frag:o,pos:n.from-o.offset,mount:s})}}}return r}};function Ad(O,e){let t=null,i=e;for(let r=1,n=0;r=a)break;o.to<=s||(t||(i=t=e.slice()),o.froma&&t.splice(n+1,0,new Ue(a,o.to))):o.to>a?t[n--]=new Ue(a,o.to):t.splice(n--,1))}}return i}function OX(O,e,t,i){let r=0,n=0,s=!1,a=!1,o=-1e9,c=[];for(;;){let l=r==O.length?1e9:s?O[r].to:O[r].from,h=n==e.length?1e9:a?e[n].to:e[n].from;if(s!=a){let f=Math.max(o,t),u=Math.min(l,h,i);fnew Ue(f.from+i,f.to+i)),h=OX(e,l,o,c);for(let f=0,u=o;;f++){let Q=f==h.length,$=Q?c:h[f].from;if($>u&&t.push(new Vt(u,$,r.tree,-s,n.from>=u||n.openStart,n.to<=$||n.openEnd)),Q)break;u=h[f].to}}else t.push(new Vt(o,c,r.tree,-s,n.from>=s||n.openStart,n.to<=a||n.openEnd))}return t}var iX=0,Ne=class O{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=iX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof O&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new O(i,[],null,[]);if(r.set.push(r),t)for(let n of t.set)r.set.push(n);return r}static defineModifier(e){let t=new Cn(e);return i=>i.modified.indexOf(t)>-1?i:Cn.get(i.base||i,i.modified.concat(t).sort((r,n)=>r.id-n.id))}},rX=0,Cn=class O{constructor(e){this.name=e,this.instances=[],this.id=rX++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(a=>a.base==e&&nX(t,a.modified));if(i)return i;let r=[],n=new Ne(e.name,r,e,t);for(let a of t)a.instances.push(n);let s=sX(t);for(let a of e.set)if(!a.modified.length)for(let o of s)r.push(O.get(a,o));return n}};function nX(O,e){return O.length==e.length&&O.every((t,i)=>t==e[i])}function sX(O){let e=[[]];for(let t=0;ti.length-t.length)}function N(O){let e=Object.create(null);for(let t in O){let i=O[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let n=[],s=2,a=r;for(let h=0;;){if(a=="..."&&h>0&&h+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let u=r[h++];if(h==r.length&&u=="!"){s=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);a=r.slice(h)}let o=n.length-1,c=n[o];if(!c)throw new RangeError("Invalid path: "+r);let l=new ii(i,s,o>0?n.slice(0,o):null);e[c]=l.sort(e[c])}}return Nd.add(e)}var Nd=new _,ii=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=r;for(let a of n)for(let o of a.set){let c=t[o.id];if(c){s=s?s+" "+c:c;break}}return s},scope:i}}function aX(O,e){let t=null;for(let i of O){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function Fd(O,e,t,i=0,r=O.length){let n=new yo(i,Array.isArray(e)?e:[e],t);n.highlightRange(O.cursor(),i,r,"",n.highlighters),n.flush(r)}var yo=class{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,n){let{type:s,from:a,to:o}=e;if(a>=i||o<=t)return;s.isTop&&(n=this.highlighters.filter(u=>!u.scope||u.scope(s)));let c=r,l=oX(e)||ii.empty,h=aX(n,l.tags);if(h&&(c&&(c+=" "),c+=h,l.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,a),c),l.opaque)return;let f=e.tree&&e.tree.prop(_.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+a,1),Q=this.highlighters.filter(p=>!p.scope||p.scope(f.tree.type)),$=e.firstChild();for(let p=0,m=a;;p++){let g=p=X||!e.nextSibling())););if(!g||X>i)break;m=g.to+a,m>t&&(this.highlightRange(u.cursor(),Math.max(t,g.from+a),Math.min(i,m),"",Q),this.startSpan(Math.min(i,m),c))}$&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,n),this.startSpan(Math.min(i,e.to),c)}while(e.nextSibling());e.parent()}}};function oX(O){let e=O.type.prop(Nd);for(;e&&e.context&&!O.matchContext(e.context);)e=e.next;return e||null}var k=Ne.define,Wn=k(),eO=k(),Id=k(eO),Bd=k(eO),tO=k(),Un=k(tO),To=k(tO),wt=k(),xO=k(wt),bt=k(),xt=k(),bo=k(),tr=k(bo),jn=k(),d={comment:Wn,lineComment:k(Wn),blockComment:k(Wn),docComment:k(Wn),name:eO,variableName:k(eO),typeName:Id,tagName:k(Id),propertyName:Bd,attributeName:k(Bd),className:k(eO),labelName:k(eO),namespace:k(eO),macroName:k(eO),literal:tO,string:Un,docString:k(Un),character:k(Un),attributeValue:k(Un),number:To,integer:k(To),float:k(To),bool:k(tO),regexp:k(tO),escape:k(tO),color:k(tO),url:k(tO),keyword:bt,self:k(bt),null:k(bt),atom:k(bt),unit:k(bt),modifier:k(bt),operatorKeyword:k(bt),controlKeyword:k(bt),definitionKeyword:k(bt),moduleKeyword:k(bt),operator:xt,derefOperator:k(xt),arithmeticOperator:k(xt),logicOperator:k(xt),bitwiseOperator:k(xt),compareOperator:k(xt),updateOperator:k(xt),definitionOperator:k(xt),typeOperator:k(xt),controlOperator:k(xt),punctuation:bo,separator:k(bo),bracket:tr,angleBracket:k(tr),squareBracket:k(tr),paren:k(tr),brace:k(tr),content:wt,heading:xO,heading1:k(xO),heading2:k(xO),heading3:k(xO),heading4:k(xO),heading5:k(xO),heading6:k(xO),contentSeparator:k(wt),list:k(wt),quote:k(wt),emphasis:k(wt),strong:k(wt),link:k(wt),monospace:k(wt),strikethrough:k(wt),inserted:k(),deleted:k(),changed:k(),invalid:k(),meta:jn,documentMeta:k(jn),annotation:k(jn),processingInstruction:k(jn),definition:Ne.defineModifier("definition"),constant:Ne.defineModifier("constant"),function:Ne.defineModifier("function"),standard:Ne.defineModifier("standard"),local:Ne.defineModifier("local"),special:Ne.defineModifier("special")};for(let O in d){let e=d[O];e instanceof Ne&&(e.name=O)}var tR=xo([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var wo,OO=new _;function ar(O){return v.define({combine:O?e=>e.concat(O):void 0})}var An=new _,Ve=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,M.prototype.hasOwnProperty("tree")||Object.defineProperty(M.prototype,"tree",{get(){return W(this)}}),this.parser=t,this.extension=[iO.of(this),M.languageData.of((n,s,a)=>{let o=Hd(n,s,a),c=o.type.prop(OO);if(!c)return[];let l=n.facet(c),h=o.type.prop(An);if(h){let f=o.resolve(s-o.from,a);for(let u of h)if(u.test(f,n)){let Q=n.facet(u.facet);return u.type=="replace"?Q:Q.concat(l)}}return l})].concat(i)}isActiveAt(e,t,i=-1){return Hd(e,t,i).type.prop(OO)==this.data}findRegions(e){let t=e.facet(iO);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(n,s)=>{if(n.prop(OO)==this.data){i.push({from:s,to:s+n.length});return}let a=n.prop(_.mounted);if(a){if(a.tree.prop(OO)==this.data){if(a.overlay)for(let o of a.overlay)i.push({from:o.from+s,to:o.to+s});else i.push({from:s,to:s+n.length});return}else if(a.overlay){let o=i.length;if(r(a.tree,a.overlay[0].from+s),i.length>o)return}}for(let o=0;oi.isTop?t:void 0)]}),e.name)}configure(e,t){return new O(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function W(O){let e=O.field(Ve.state,!1);return e?e.tree:D.empty}var Zo=class{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,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},Or=null,rr=class O{constructor(e,t,i=[],r,n,s,a,o){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new O(e,t,[],D.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Zo(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=D.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Or;Or=this;try{return e()}finally{Or=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Kd(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:n,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let o=[];if(e.iterChangedRanges((c,l,h,f)=>o.push({fromA:c,toA:l,fromB:h,toB:f})),i=Vt.applyChanges(i,o),r=D.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let l=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);le.from&&(this.fragments=Kd(this.fragments,r,n),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Jt{createParse(t,i,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let o=Or;if(o){for(let c of r)o.tempSkipped.push(c);e&&(o.scheduleOn=o.scheduleOn?Promise.all([o.scheduleOn,e]):e)}return this.parsedPos=s,new D(de.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Or}};function Kd(O,e,t){return Vt.applyChanges(O,[{fromA:e,toA:t,fromB:e,toB:t}])}var nr=class O{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new O(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=rr.create(e.facet(iO).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new O(i)}};Ve.state=he.define({create:nr.init,update(O,e){for(let t of e.effects)if(t.is(Ve.setState))return t.value;return e.startState.facet(iO)!=e.state.facet(iO)?nr.init(e.state):O.apply(e)}});var ru=O=>{let e=setTimeout(()=>O(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(ru=O=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(O,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var ko=typeof navigator<"u"&&(!((wo=navigator.scheduling)===null||wo===void 0)&&wo.isInputPending)?()=>navigator.scheduling.isInputPending():null,lX=fe.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 t=this.view.state.field(Ve.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ve.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=ru(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,o=n.context.work(()=>ko&&ko()||Date.now()>s,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Ve.setState.of(new nr(n.context))})),this.chunkBudget>0&&!(o&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Te(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),iO=v.define({combine(O){return O.length?O[0]:null},enables:O=>[Ve.state,lX,y.contentAttributes.compute([O],e=>{let t=e.facet(O);return t&&t.name?{"data-language":t.name}:{}})]}),K=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},sr=class O{constructor(e,t,i,r,n,s=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=s,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:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new O(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let i=/\.([^.]+)$/.exec(t);if(i){for(let r of e)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(n=>n==t))return r;if(i)for(let r of e)for(let n of r.alias){let s=t.indexOf(n);if(s>-1&&(n.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+n.length])))return r}return null}},cX=v.define(),rO=v.define({combine:O=>{if(!O.length)return" ";let e=O[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(O[0]));return e}});function or(O){let e=O.facet(rO);return e.charCodeAt(0)==9?O.tabSize*e.length:e.length}function ni(O,e){let t="",i=O.tabSize,r=O.facet(rO)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let n=0;n=e?hX(O,t,e):null}var wO=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=or(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=i.from&&r<=i.to?n&&r==e?{text:"",from:e}:(t<0?r-1&&(n+=s-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return Ye(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},ae=new _;function hX(O,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let n=[];for(let s=r;s&&!(s.fromi.node.to||s.from==i.node.from&&s.type==i.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)i={node:n[s],next:i}}return nu(i,O,t)}function nu(O,e,t){for(let i=O;i;i=i.next){let r=dX(i.node);if(r)return r(Ro.create(e,t,i))}return 0}function fX(O){return O.pos==O.options.simulateBreak&&O.options.simulateDoubleBreak}function dX(O){let e=O.type.prop(ae);if(e)return e;let t=O.firstChild,i;if(t&&(i=t.type.prop(_.closedBy))){let r=O.lastChild,n=r&&i.indexOf(r.name)>-1;return s=>su(s,!0,1,void 0,n&&!fX(s)?r.from:void 0)}return O.parent==null?uX:null}function uX(){return 0}var Ro=class O extends wO{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new O(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(QX(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return nu(this.context.next,this.base,this.pos)}};function QX(O,e){for(let t=e;t;t=t.parent)if(O==t)return!0;return!1}function $X(O){let e=O.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=O.options.simulateBreak,n=O.state.doc.lineAt(t.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let a=t.to;;){let o=e.childAfter(a);if(!o||o==i)return null;if(!o.type.isSkipped){if(o.from>=s)return null;let c=/^ */.exec(n.text.slice(t.to-n.from))[0].length;return{from:t.from,to:t.to+c}}a=o.to}}function ye({closing:O,align:e=!0,units:t=1}){return i=>su(i,e,t,O)}function su(O,e,t,i,r){let n=O.textAfter,s=n.match(/^\s*/)[0].length,a=i&&n.slice(s,s+i.length)==i||r==O.pos+s,o=e?$X(O):null;return o?a?O.column(o.from):O.column(o.to):O.baseIndent+(a?0:O.unit*t)}var nO=O=>O.baseIndent;function le({except:O,units:e=1}={}){return t=>{let i=O&&O.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}var pX=200;function au(){return M.transactionFilter.of(O=>{if(!O.docChanged||!O.isUserEvent("input.type")&&!O.isUserEvent("input.complete"))return O;let e=O.startState.languageDataAt("indentOnInput",O.startState.selection.main.head);if(!e.length)return O;let t=O.newDoc,{head:i}=O.newSelection.main,r=t.lineAt(i);if(i>r.from+pX)return O;let n=t.sliceString(r.from,i);if(!e.some(c=>c.test(n)))return O;let{state:s}=O,a=-1,o=[];for(let{head:c}of s.selection.ranges){let l=s.doc.lineAt(c);if(l.from==a)continue;a=l.from;let h=Ln(s,l.from);if(h==null)continue;let f=/^\s*/.exec(l.text)[0],u=ni(s,h);f!=u&&o.push({from:l.from,to:l.from+f.length,insert:u})}return o.length?[O,{changes:o,sequential:!0}]:O})}var Uo=v.define(),te=new _;function me(O){let e=O.firstChild,t=O.lastChild;return e&&e.tot)continue;if(n&&a.from=e&&c.to>t&&(n=c)}}return n}function gX(O){let e=O.lastChild;return e&&e.to==O.to&&e.type.isError}function Gn(O,e,t){for(let i of O.facet(Uo)){let r=i(O,e,t);if(r)return r}return mX(O,e,t)}function ou(O,e){let t=e.mapPos(O.from,1),i=e.mapPos(O.to,-1);return t>=i?void 0:{from:t,to:i}}var Mn=V.define({map:ou}),lr=V.define({map:ou});function lu(O){let e=[];for(let{head:t}of O.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(O.lineBlockAt(t));return e}var kO=he.define({create(){return Z.none},update(O,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>O=Jd(O,t,i)),O=O.map(e.changes);for(let t of e.effects)if(t.is(Mn)&&!PX(O,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(jo),r=i?Z.replace({widget:new _o(i(e.state,t.value))}):eu;O=O.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(lr)&&(O=O.update({filter:(i,r)=>t.value.from!=i||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(O=Jd(O,e.selection.main.head)),O},provide:O=>y.decorations.from(O),toJSON(O,e){let t=[];return O.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(O){if(!Array.isArray(O)||O.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{re&&(i=!0)}),i?O.update({filterFrom:e,filterTo:t,filter:(r,n)=>r>=t||n<=e}):O}function En(O,e,t){var i;let r=null;return(i=O.field(kO,!1))===null||i===void 0||i.between(e,t,(n,s)=>{(!r||r.from>n)&&(r={from:n,to:s})}),r}function PX(O,e,t){let i=!1;return O.between(e,e,(r,n)=>{r==e&&n==t&&(i=!0)}),i}function cu(O,e){return O.field(kO,!1)?e:e.concat(V.appendConfig.of(du()))}var SX=O=>{for(let e of lu(O)){let t=Gn(O.state,e.from,e.to);if(t)return O.dispatch({effects:cu(O.state,[Mn.of(t),hu(O,t)])}),!0}return!1},XX=O=>{if(!O.state.field(kO,!1))return!1;let e=[];for(let t of lu(O)){let i=En(O.state,t.from,t.to);i&&e.push(lr.of(i),hu(O,i,!1))}return e.length&&O.dispatch({effects:e}),e.length>0};function hu(O,e,t=!0){let i=O.state.doc.lineAt(e.from).number,r=O.state.doc.lineAt(e.to).number;return y.announce.of(`${O.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${O.state.phrase("to")} ${r}.`)}var TX=O=>{let{state:e}=O,t=[];for(let i=0;i{let e=O.state.field(kO,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,O.state.doc.length,(i,r)=>{t.push(lr.of({from:i,to:r}))}),O.dispatch({effects:t}),!0};var fu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:SX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:XX},{key:"Ctrl-Alt-[",run:TX},{key:"Ctrl-Alt-]",run:yX}],bX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},jo=v.define({combine(O){return xe(O,bX)}});function du(O){let e=[kO,wX];return O&&e.push(jo.of(O)),e}function uu(O,e){let{state:t}=O,i=t.facet(jo),r=s=>{let a=O.lineBlockAt(O.posAtDOM(s.target)),o=En(O.state,a.from,a.to);o&&O.dispatch({effects:lr.of(o)}),s.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(O,r,e);let n=document.createElement("span");return n.textContent=i.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=r,n}var eu=Z.replace({widget:new class extends We{toDOM(O){return uu(O,null)}}}),_o=class extends We{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return uu(e,this.value)}},xX={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},ir=class extends Be{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function Qu(O={}){let e={...xX,...O},t=new ir(e,!0),i=new ir(e,!1),r=fe.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(iO)!=s.state.facet(iO)||s.startState.field(kO,!1)!=s.state.field(kO,!1)||W(s.startState)!=W(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new Me;for(let o of s.viewportLineBlocks){let c=En(s.state,o.from,o.to)?i:Gn(s.state,o.from,o.to)?t:null;c&&a.add(o.from,o.from,c)}return a.finish()}}),{domEventHandlers:n}=e;return[r,co({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(r))===null||a===void 0?void 0:a.markers)||F.empty},initialSpacer(){return new ir(e,!1)},domEventHandlers:{...n,click:(s,a,o)=>{if(n.click&&n.click(s,a,o))return!0;let c=En(s.state,a.from,a.to);if(c)return s.dispatch({effects:lr.of(c)}),!0;let l=Gn(s.state,a.from,a.to);return l?(s.dispatch({effects:Mn.of(l)}),!0):!1}}}),du()]}var wX=y.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"}}),ri=class O{constructor(e,t){this.specs=e;let i;function r(a){let o=Ot.newName();return(i||(i=Object.create(null)))["."+o]=a,o}let n=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof Ve?a=>a.prop(OO)==s.data:s?a=>a==s:void 0,this.style=xo(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:n}).style,this.module=i?new Ot(i):null,this.themeType=t.themeType}static define(e,t){return new O(e,t||{})}},Vo=v.define(),$u=v.define({combine(O){return O.length?[O[0]]:null}});function vo(O){let e=O.facet(Vo);return e.length?e:O.facet($u)}function Dn(O,e){let t=[kX],i;return O instanceof ri&&(O.module&&t.push(y.styleModule.of(O.module)),i=O.themeType),e?.fallback?t.push($u.of(O)):i?t.push(Vo.computeN([y.darkTheme],r=>r.facet(y.darkTheme)==(i=="dark")?[O]:[])):t.push(Vo.of(O)),t}var qo=class{constructor(e){this.markCache=Object.create(null),this.tree=W(e.state),this.decorations=this.buildDeco(e,vo(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=W(e.state),i=vo(e.state),r=i!=vo(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let i=new Me;for(let{from:r,to:n}of e.visibleRanges)Fd(this.tree,t,(s,a,o)=>{i.add(s,a,this.markCache[o]||(this.markCache[o]=Z.mark({class:o})))},r,n);return i.finish()}},kX=ze.high(fe.fromClass(qo,{decorations:O=>O.decorations})),pu=ri.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]),vX=y.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),mu=1e4,gu="()[]{}",Pu=v.define({combine(O){return xe(O,{afterCursor:!0,brackets:gu,maxScanDistance:mu,renderMatch:RX})}}),YX=Z.mark({class:"cm-matchingBracket"}),ZX=Z.mark({class:"cm-nonmatchingBracket"});function RX(O){let e=[],t=O.matched?YX:ZX;return e.push(t.range(O.start.from,O.start.to)),O.end&&e.push(t.range(O.end.from,O.end.to)),e}var _X=he.define({create(){return Z.none},update(O,e){if(!e.docChanged&&!e.selection)return O;let t=[],i=e.state.facet(Pu);for(let r of e.state.selection.ranges){if(!r.empty)continue;let n=ct(e.state,r.head,-1,i)||r.head>0&&ct(e.state,r.head-1,1,i)||i.afterCursor&&(ct(e.state,r.head,1,i)||r.heady.decorations.from(O)}),VX=[_X,vX];function Su(O={}){return[Pu.of(O),VX]}var cr=new _;function zo(O,e,t){let i=O.prop(e<0?_.openedBy:_.closedBy);if(i)return i;if(O.name.length==1){let r=t.indexOf(O.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Wo(O){let e=O.type.prop(cr);return e?e(O.node):O}function ct(O,e,t,i={}){let r=i.maxScanDistance||mu,n=i.brackets||gu,s=W(O),a=s.resolveInner(e,t);for(let o=a;o;o=o.parent){let c=zo(o.type,t,n);if(c&&o.from0?e>=l.from&&el.from&&e<=l.to))return qX(O,e,t,o,l,c,n)}}return zX(O,e,t,s,a.type,r,n)}function qX(O,e,t,i,r,n,s){let a=i.parent,o={from:r.from,to:r.to},c=0,l=a?.cursor();if(l&&(t<0?l.childBefore(i.from):l.childAfter(i.to)))do if(t<0?l.to<=i.from:l.from>=i.to){if(c==0&&n.indexOf(l.type.name)>-1&&l.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},l=O.doc.iterRange(e,t>0?O.doc.length:0),h=0;for(let f=0;!l.next().done&&f<=n;){let u=l.value;t<0&&(f+=u.length);let Q=e+f*t;for(let $=t>0?0:u.length-1,p=t>0?u.length:-1;$!=p;$+=t){let m=s.indexOf(u[$]);if(!(m<0||i.resolveInner(Q+$,1).type!=r))if(m%2==0==t>0)h++;else{if(h==1)return{start:c,end:{from:Q+$,to:Q+$+1},matched:m>>1==o>>1};h--}}t>0&&(f+=u.length)}return l.done?{start:c,matched:!1}:null}var WX=Object.create(null),tu=[de.none];var Ou=[],iu=Object.create(null),UX=Object.create(null);for(let[O,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"]])UX[O]=jX(WX,e);function Yo(O,e){Ou.indexOf(O)>-1||(Ou.push(O),console.warn(e))}function jX(O,e){let t=[];for(let a of e.split(" ")){let o=[];for(let c of a.split(".")){let l=O[c]||d[c];l?typeof l=="function"?o.length?o=o.map(l):Yo(c,`Modifier ${c} used at start of tag`):o.length?Yo(c,`Tag ${c} used as modifier`):o=Array.isArray(l)?l:[l]:Yo(c,`Unknown highlighting tag ${c}`)}for(let c of o)t.push(c)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(a=>a.id),n=iu[r];if(n)return n.id;let s=iu[r]=de.define({id:tu.length,name:i,props:[N({[i]:t})]});return tu.push(s),s.id}var lR={rtl:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ee.RTL}),ltr:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ee.LTR}),auto:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var CX=O=>{let{state:e}=O,t=e.doc.lineAt(e.selection.main.from),i=Do(O.state,t.from);return i.line?GX(O):i.block?AX(O):!1};function Mo(O,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=O(e,t);return r?(i(t.update(r)),!0):!1}}var GX=Mo(DX,0);var EX=Mo(Yu,0);var AX=Mo((O,e)=>Yu(O,e,MX(e)),0);function Do(O,e){let t=O.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var hr=50;function LX(O,{open:e,close:t},i,r){let n=O.sliceDoc(i-hr,i),s=O.sliceDoc(r,r+hr),a=/\s*$/.exec(n)[0].length,o=/^\s*/.exec(s)[0].length,c=n.length-a;if(n.slice(c-e.length,c)==e&&s.slice(o,o+t.length)==t)return{open:{pos:i-a,margin:a&&1},close:{pos:r+o,margin:o&&1}};let l,h;r-i<=2*hr?l=h=O.sliceDoc(i,r):(l=O.sliceDoc(i,i+hr),h=O.sliceDoc(r-hr,r));let f=/^\s*/.exec(l)[0].length,u=/\s*$/.exec(h)[0].length,Q=h.length-u-t.length;return l.slice(f,f+e.length)==e&&h.slice(Q,Q+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(l.charAt(f+e.length))?1:0},close:{pos:r-u-t.length,margin:/\s/.test(h.charAt(Q-1))?1:0}}:null}function MX(O){let e=[];for(let t of O.selection.ranges){let i=O.doc.lineAt(t.from),r=t.to<=i.to?i:O.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:O.doc.lineAt(t.to-1));let n=e.length-1;n>=0&&e[n].to>i.from?e[n].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function Yu(O,e,t=e.selection.ranges){let i=t.map(n=>Do(e,n.from).block);if(!i.every(n=>n))return null;let r=t.map((n,s)=>LX(e,i[s],n.from,n.to));if(O!=2&&!r.every(n=>n))return{changes:e.changes(t.map((n,s)=>r[s]?[]:[{from:n.from,insert:i[s].open+" "},{from:n.to,insert:" "+i[s].close}]))};if(O!=1&&r.some(n=>n)){let n=[];for(let s=0,a;sr&&(n==s||s>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,u=f==h.length,Q=h.text.slice(f,f+c.length)==c?f:-1;fn.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:a,token:o,indent:c,empty:l,single:h}of i)(h||!l)&&n.push({from:a.from+c,insert:o+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(O!=1&&i.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:a,token:o}of i)if(a>=0){let c=s.from+a,l=c+o.length;s.text[l-s.from]==" "&&l++,n.push({from:c,to:l})}return{changes:n}}return null}var Go=qe.define(),IX=qe.define(),BX=v.define(),Zu=v.define({combine(O){return xe(O,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),Ru=he.define({create(){return vO.empty},update(O,e){let t=e.state.facet(Zu),i=e.annotation(Go);if(i){let o=ht.fromTransaction(e,i.selection),c=i.side,l=c==0?O.undone:O.done;return o?l=Bn(l,l.length,t.minDepth,o):l=zu(l,e.startState.selection),new vO(c==0?i.rest:l,c==0?l:i.rest)}let r=e.annotation(IX);if((r=="full"||r=="before")&&(O=O.isolate()),e.annotation(ue.addToHistory)===!1)return e.changes.empty?O:O.addMapping(e.changes.desc);let n=ht.fromTransaction(e),s=e.annotation(ue.time),a=e.annotation(ue.userEvent);return n?O=O.addChanges(n,s,a,t,e):e.selection&&(O=O.addSelection(e.startState.selection,s,a,t.newGroupDelay)),(r=="full"||r=="after")&&(O=O.isolate()),O},toJSON(O){return{done:O.done.map(e=>e.toJSON()),undone:O.undone.map(e=>e.toJSON())}},fromJSON(O){return new vO(O.done.map(ht.fromJSON),O.undone.map(ht.fromJSON))}});function _u(O={}){return[Ru,Zu.of(O),y.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Vu:e.inputType=="historyRedo"?Eo:null;return i?(e.preventDefault(),i(t)):!1}})]}function Nn(O,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(Ru,!1);if(!r)return!1;let n=r.pop(O,t,e);return n?(i(n),!0):!1}}var Vu=Nn(0,!1),Eo=Nn(1,!1),NX=Nn(0,!0),FX=Nn(1,!0);var ht=class O{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new O(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new O(e.changes&&ve.fromJSON(e.changes),[],e.mapped&&Zt.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let i=nt;for(let r of e.startState.facet(BX)){let n=r(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new O(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,nt)}static selection(e){return new O(void 0,nt,void 0,void 0,e)}};function Bn(O,e,t,i){let r=e+1>t+20?e-t-1:0,n=O.slice(r,e);return n.push(i),n}function HX(O,e){let t=[],i=!1;return O.iterChangedRanges((r,n)=>t.push(r,n)),e.iterChangedRanges((r,n,s,a)=>{for(let o=0;o=c&&s<=l&&(i=!0)}}),i}function KX(O,e){return O.ranges.length==e.ranges.length&&O.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function qu(O,e){return O.length?e.length?O.concat(e):O:e}var nt=[],JX=200;function zu(O,e){if(O.length){let t=O[O.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-JX));return i.length&&i[i.length-1].eq(e)?O:(i.push(e),Bn(O,O.length-1,1e9,t.setSelAfter(i)))}else return[ht.selection([e])]}function e1(O){let e=O[O.length-1],t=O.slice();return t[O.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Co(O,e){if(!O.length)return O;let t=O.length,i=nt;for(;t;){let r=t1(O[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let n=O.slice(0,t);return n[t-1]=r,n}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[ht.selection(i)]:nt}function t1(O,e,t){let i=qu(O.selectionsAfter.length?O.selectionsAfter.map(a=>a.map(e)):nt,t);if(!O.changes)return ht.selection(i);let r=O.changes.map(e),n=e.mapDesc(O.changes,!0),s=O.mapped?O.mapped.composeDesc(n):n;return new ht(r,V.mapEffects(O.effects,e),s,O.startSelection.map(n),i)}var O1=/^(input\.type|delete)($|\.)/,vO=class O{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new O(this.done,this.undone):this}addChanges(e,t,i,r,n){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!i||O1.test(i))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?O.moveByChar(t,e):Fn(t,e))}function we(O){return O.textDirectionAt(O.state.selection.main.head)==ee.LTR}var ju=O=>Uu(O,!we(O)),Cu=O=>Uu(O,we(O));function Gu(O,e){return dt(O,t=>t.empty?O.moveByGroup(t,e):Fn(t,e))}var i1=O=>Gu(O,!we(O)),r1=O=>Gu(O,we(O));var mR=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function n1(O,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(O.sliceDoc(e.from,e.to)))||e.firstChild}function Hn(O,e,t){let i=W(O).resolveInner(e.head),r=t?_.closedBy:_.openedBy;for(let o=e.head;;){let c=t?i.childAfter(o):i.childBefore(o);if(!c)break;n1(O,c,r)?i=c:o=t?c.to:c.from}let n=i.type.prop(r),s,a;return n&&(s=t?ct(O,i.from,1):ct(O,i.to,-1))&&s.matched?a=t?s.end.to:s.end.from:a=t?i.to:i.from,P.cursor(a,t?-1:1)}var s1=O=>dt(O,e=>Hn(O.state,e,!we(O))),a1=O=>dt(O,e=>Hn(O.state,e,we(O)));function Eu(O,e){return dt(O,t=>{if(!t.empty)return Fn(t,e);let i=O.moveVertically(t,e);return i.head!=t.head?i:O.moveToLineBoundary(t,e)})}var Au=O=>Eu(O,!1),Lu=O=>Eu(O,!0);function Mu(O){let e=O.scrollDOM.clientHeights.empty?O.moveVertically(s,e,t.height):Fn(s,e));if(r.eq(i.selection))return!1;let n;if(t.selfScroll){let s=O.coordsAtPos(i.selection.main.head),a=O.scrollDOM.getBoundingClientRect(),o=a.top+t.marginTop,c=a.bottom-t.marginBottom;s&&s.top>o&&s.bottomDu(O,!1),Ao=O=>Du(O,!0);function sO(O,e,t){let i=O.lineBlockAt(e.head),r=O.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=O.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let n=/^\s*/.exec(O.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&e.head!=i.from+n&&(r=P.cursor(i.from+n))}return r}var o1=O=>dt(O,e=>sO(O,e,!0)),l1=O=>dt(O,e=>sO(O,e,!1)),c1=O=>dt(O,e=>sO(O,e,!we(O))),h1=O=>dt(O,e=>sO(O,e,we(O))),f1=O=>dt(O,e=>P.cursor(O.lineBlockAt(e.head).from,1)),d1=O=>dt(O,e=>P.cursor(O.lineBlockAt(e.head).to,-1));function u1(O,e,t){let i=!1,r=si(O.selection,n=>{let s=ct(O,n.head,-1)||ct(O,n.head,1)||n.head>0&&ct(O,n.head-1,1)||n.headu1(O,e,!1);function st(O,e){let t=si(O.state.selection,i=>{let r=e(i);return P.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(O.state.selection)?!1:(O.dispatch(ft(O.state,t)),!0)}function Iu(O,e){return st(O,t=>O.moveByChar(t,e))}var Bu=O=>Iu(O,!we(O)),Nu=O=>Iu(O,we(O));function Fu(O,e){return st(O,t=>O.moveByGroup(t,e))}var $1=O=>Fu(O,!we(O)),p1=O=>Fu(O,we(O));var m1=O=>st(O,e=>Hn(O.state,e,!we(O))),g1=O=>st(O,e=>Hn(O.state,e,we(O)));function Hu(O,e){return st(O,t=>O.moveVertically(t,e))}var Ku=O=>Hu(O,!1),Ju=O=>Hu(O,!0);function eQ(O,e){return st(O,t=>O.moveVertically(t,e,Mu(O).height))}var Tu=O=>eQ(O,!1),yu=O=>eQ(O,!0),P1=O=>st(O,e=>sO(O,e,!0)),S1=O=>st(O,e=>sO(O,e,!1)),X1=O=>st(O,e=>sO(O,e,!we(O))),T1=O=>st(O,e=>sO(O,e,we(O))),y1=O=>st(O,e=>P.cursor(O.lineBlockAt(e.head).from)),b1=O=>st(O,e=>P.cursor(O.lineBlockAt(e.head).to)),bu=({state:O,dispatch:e})=>(e(ft(O,{anchor:0})),!0),xu=({state:O,dispatch:e})=>(e(ft(O,{anchor:O.doc.length})),!0),wu=({state:O,dispatch:e})=>(e(ft(O,{anchor:O.selection.main.anchor,head:0})),!0),ku=({state:O,dispatch:e})=>(e(ft(O,{anchor:O.selection.main.anchor,head:O.doc.length})),!0),x1=({state:O,dispatch:e})=>(e(O.update({selection:{anchor:0,head:O.doc.length},userEvent:"select"})),!0),w1=({state:O,dispatch:e})=>{let t=Kn(O).map(({from:i,to:r})=>P.range(i,Math.min(r+1,O.doc.length)));return e(O.update({selection:P.create(t),userEvent:"select"})),!0},k1=({state:O,dispatch:e})=>{let t=si(O.selection,i=>{let r=W(O),n=r.resolveStack(i.from,1);if(i.empty){let s=r.resolveStack(i.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:a}=s;if((a.from=i.to||a.to>i.to&&a.from<=i.from)&&s.next)return P.range(a.to,a.from)}return i});return t.eq(O.selection)?!1:(e(ft(O,t)),!0)};function tQ(O,e){let{state:t}=O,i=t.selection,r=t.selection.ranges.slice();for(let n of t.selection.ranges){let s=t.doc.lineAt(n.head);if(e?s.to0)for(let a=n;;){let o=O.moveVertically(a,e);if(o.heads.to){r.some(c=>c.head==o.head)||r.push(o);break}else{if(o.head==a.head)break;a=o}}}return r.length==i.ranges.length?!1:(O.dispatch(ft(t,P.create(r,r.length-1))),!0)}var v1=O=>tQ(O,!1),Y1=O=>tQ(O,!0),Z1=({state:O,dispatch:e})=>{let t=O.selection,i=null;return t.ranges.length>1?i=P.create([t.main]):t.main.empty||(i=P.create([P.cursor(t.main.head)])),i?(e(ft(O,i)),!0):!1};function fr(O,e){if(O.state.readOnly)return!1;let t="delete.selection",{state:i}=O,r=i.changeByRange(n=>{let{from:s,to:a}=n;if(s==a){let o=e(n);os&&(t="delete.forward",o=In(O,o,!0)),s=Math.min(s,o),a=Math.max(a,o)}else s=In(O,s,!1),a=In(O,a,!0);return s==a?{range:n}:{changes:{from:s,to:a},range:P.cursor(s,sr(O)))i.between(e,e,(r,n)=>{re&&(e=t?n:r)});return e}var OQ=(O,e,t)=>fr(O,i=>{let r=i.from,{state:n}=O,s=n.doc.lineAt(r),a,o;if(t&&!e&&r>s.from&&rOQ(O,!1,!0);var iQ=O=>OQ(O,!0,!1),rQ=(O,e)=>fr(O,t=>{let i=t.head,{state:r}=O,n=r.doc.lineAt(i),s=r.charCategorizer(i);for(let a=null;;){if(i==(e?n.to:n.from)){i==t.head&&n.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let o=Qe(n.text,i-n.from,e)+n.from,c=n.text.slice(Math.min(i,o)-n.from,Math.max(i,o)-n.from),l=s(c);if(a!=null&&l!=a)break;(c!=" "||i!=t.head)&&(a=l),i=o}return i}),nQ=O=>rQ(O,!1),R1=O=>rQ(O,!0),_1=O=>fr(O,e=>{let t=O.lineBlockAt(e.head).to;return e.headfr(O,e=>{let t=O.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),q1=O=>fr(O,e=>{let t=O.moveToLineBoundary(e,!0).head;return e.head{if(O.readOnly)return!1;let t=O.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:G.of(["",""])},range:P.cursor(i.from)}));return e(O.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},W1=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=O.changeByRange(i=>{if(!i.empty||i.from==0||i.from==O.doc.length)return{range:i};let r=i.from,n=O.doc.lineAt(r),s=r==n.from?r-1:Qe(n.text,r-n.from,!1)+n.from,a=r==n.to?r+1:Qe(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:a,insert:O.doc.slice(r,a).append(O.doc.slice(s,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(O.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Kn(O){let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.from),n=O.doc.lineAt(i.to);if(!i.empty&&i.to==n.from&&(n=O.doc.lineAt(i.to-1)),t>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(i)}else e.push({from:r.from,to:n.to,ranges:[i]});t=n.number+1}return e}function sQ(O,e,t){if(O.readOnly)return!1;let i=[],r=[];for(let n of Kn(O)){if(t?n.to==O.doc.length:n.from==0)continue;let s=O.doc.lineAt(t?n.to+1:n.from-1),a=s.length+1;if(t){i.push({from:n.to,to:s.to},{from:n.from,insert:s.text+O.lineBreak});for(let o of n.ranges)r.push(P.range(Math.min(O.doc.length,o.anchor+a),Math.min(O.doc.length,o.head+a)))}else{i.push({from:s.from,to:n.from},{from:n.to,insert:O.lineBreak+s.text});for(let o of n.ranges)r.push(P.range(o.anchor-a,o.head-a))}}return i.length?(e(O.update({changes:i,scrollIntoView:!0,selection:P.create(r,O.selection.mainIndex),userEvent:"move.line"})),!0):!1}var U1=({state:O,dispatch:e})=>sQ(O,e,!1),j1=({state:O,dispatch:e})=>sQ(O,e,!0);function aQ(O,e,t){if(O.readOnly)return!1;let i=[];for(let r of Kn(O))t?i.push({from:r.from,insert:O.doc.slice(r.from,r.to)+O.lineBreak}):i.push({from:r.to,insert:O.lineBreak+O.doc.slice(r.from,r.to)});return e(O.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var C1=({state:O,dispatch:e})=>aQ(O,e,!1),G1=({state:O,dispatch:e})=>aQ(O,e,!0),E1=O=>{if(O.state.readOnly)return!1;let{state:e}=O,t=e.changes(Kn(e).map(({from:r,to:n})=>(r>0?r--:n{let n;if(O.lineWrapping){let s=O.lineBlockAt(r.head),a=O.coordsAtPos(r.head,r.assoc||1);a&&(n=s.bottom+O.documentTop-a.bottom+O.defaultLineHeight/2)}return O.moveVertically(r,!0,n)}).map(t);return O.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function A1(O,e){if(/\(\)|\[\]|\{\}/.test(O.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=W(O).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),n;return i&&r&&i.to<=e&&r.from>=e&&(n=i.type.prop(_.closedBy))&&n.indexOf(r.name)>-1&&O.doc.lineAt(i.to).from==O.doc.lineAt(r.from).from&&!/\S/.test(O.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var vu=oQ(!1),L1=oQ(!0);function oQ(O){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:n,to:s}=r,a=e.doc.lineAt(n),o=!O&&n==s&&A1(e,n);O&&(n=s=(s<=a.to?a:e.doc.lineAt(s)).to);let c=new wO(e,{simulateBreak:n,simulateDoubleBreak:!!o}),l=Ln(c,n);for(l==null&&(l=Ye(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));sa.from&&n{let r=[];for(let s=i.from;s<=i.to;){let a=O.doc.lineAt(s);a.number>t&&(i.empty||i.to>a.from)&&(e(a,r,i),t=a.number),s=a.to+1}let n=O.changes(r);return{changes:r,range:P.range(n.mapPos(i.anchor,1),n.mapPos(i.head,1))}})}var M1=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=Object.create(null),i=new wO(O,{overrideIndentation:n=>{let s=t[n];return s??-1}}),r=Io(O,(n,s,a)=>{let o=Ln(i,n.from);if(o==null)return;/\S/.test(n.text)||(o=0);let c=/^\s*/.exec(n.text)[0],l=ni(O,o);(c!=l||a.fromO.readOnly?!1:(e(O.update(Io(O,(t,i)=>{i.push({from:t.from,insert:O.facet(rO)})}),{userEvent:"input.indent"})),!0),cQ=({state:O,dispatch:e})=>O.readOnly?!1:(e(O.update(Io(O,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let n=Ye(r,O.tabSize),s=0,a=ni(O,Math.max(0,n-or(O)));for(;s(O.setTabFocusMode(),!0);var I1=[{key:"Ctrl-b",run:ju,shift:Bu,preventDefault:!0},{key:"Ctrl-f",run:Cu,shift:Nu},{key:"Ctrl-p",run:Au,shift:Ku},{key:"Ctrl-n",run:Lu,shift:Ju},{key:"Ctrl-a",run:f1,shift:y1},{key:"Ctrl-e",run:d1,shift:b1},{key:"Ctrl-d",run:iQ},{key:"Ctrl-h",run:Lo},{key:"Ctrl-k",run:_1},{key:"Ctrl-Alt-h",run:nQ},{key:"Ctrl-o",run:z1},{key:"Ctrl-t",run:W1},{key:"Ctrl-v",run:Ao}],B1=[{key:"ArrowLeft",run:ju,shift:Bu,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:i1,shift:$1,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:c1,shift:X1,preventDefault:!0},{key:"ArrowRight",run:Cu,shift:Nu,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:r1,shift:p1,preventDefault:!0},{mac:"Cmd-ArrowRight",run:h1,shift:T1,preventDefault:!0},{key:"ArrowUp",run:Au,shift:Ku,preventDefault:!0},{mac:"Cmd-ArrowUp",run:bu,shift:wu},{mac:"Ctrl-ArrowUp",run:Xu,shift:Tu},{key:"ArrowDown",run:Lu,shift:Ju,preventDefault:!0},{mac:"Cmd-ArrowDown",run:xu,shift:ku},{mac:"Ctrl-ArrowDown",run:Ao,shift:yu},{key:"PageUp",run:Xu,shift:Tu},{key:"PageDown",run:Ao,shift:yu},{key:"Home",run:l1,shift:S1,preventDefault:!0},{key:"Mod-Home",run:bu,shift:wu},{key:"End",run:o1,shift:P1,preventDefault:!0},{key:"Mod-End",run:xu,shift:ku},{key:"Enter",run:vu,shift:vu},{key:"Mod-a",run:x1},{key:"Backspace",run:Lo,shift:Lo,preventDefault:!0},{key:"Delete",run:iQ,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:nQ,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:R1,preventDefault:!0},{mac:"Mod-Backspace",run:V1,preventDefault:!0},{mac:"Mod-Delete",run:q1,preventDefault:!0}].concat(I1.map(O=>({mac:O.key,run:O.run,shift:O.shift}))),hQ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:s1,shift:m1},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:a1,shift:g1},{key:"Alt-ArrowUp",run:U1},{key:"Shift-Alt-ArrowUp",run:C1},{key:"Alt-ArrowDown",run:j1},{key:"Shift-Alt-ArrowDown",run:G1},{key:"Mod-Alt-ArrowUp",run:v1},{key:"Mod-Alt-ArrowDown",run:Y1},{key:"Escape",run:Z1},{key:"Mod-Enter",run:L1},{key:"Alt-l",mac:"Ctrl-l",run:w1},{key:"Mod-i",run:k1,preventDefault:!0},{key:"Mod-[",run:cQ},{key:"Mod-]",run:lQ},{key:"Mod-Alt-\\",run:M1},{key:"Shift-Mod-k",run:E1},{key:"Shift-Mod-\\",run:Q1},{key:"Mod-/",run:CX},{key:"Alt-A",run:EX},{key:"Ctrl-m",mac:"Shift-Alt-m",run:D1}].concat(B1),fQ={key:"Tab",run:lQ,shift:cQ};var dQ=typeof String.prototype.normalize=="function"?O=>O.normalize("NFKD"):O=>O,oO=class{constructor(e,t,i=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?a=>n(dQ(a)):dQ,this.query=this.normalize(t)}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 Se(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 t=ki(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=De(e);let r=this.normalize(t);if(r.length)for(let n=0,s=i;;n++){let a=r.charCodeAt(n),o=this.match(a,s,this.bufferPos+this.bufferStart);if(n==r.length-1){if(o)return this.value=o,this;break}s==i&&nthis.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 t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=rs(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=t){let a=new O(t,e.sliceString(t,i));return Bo.set(e,a),a}if(r.from==t&&r.to==i)return r;let{text:n,from:s}=r;return s>t&&(n=e.sliceString(t,s)+n,s=t),r.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this.matchPos=rs(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Os.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(ts.prototype[Symbol.iterator]=is.prototype[Symbol.iterator]=function(){return this});function N1(O){try{return new RegExp(O,el),!0}catch{return!1}}function rs(O,e){if(e>=O.length)return e;let t=O.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function No(O){let e=String(O.state.doc.lineAt(O.state.selection.main.head).number),t=B("input",{class:"cm-textfield",name:"line",value:e}),i=B("form",{class:"cm-gotoLine",onkeydown:n=>{n.keyCode==27?(n.preventDefault(),O.dispatch({effects:dr.of(!1)}),O.focus()):n.keyCode==13&&(n.preventDefault(),r())},onsubmit:n=>{n.preventDefault(),r()}},B("label",O.state.phrase("Go to line"),": ",t)," ",B("button",{class:"cm-button",type:"submit"},O.state.phrase("go")),B("button",{name:"close",onclick:()=>{O.dispatch({effects:dr.of(!1)}),O.focus()},"aria-label":O.state.phrase("close"),type:"button"},["\xD7"]));function r(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=O,a=s.doc.lineAt(s.selection.main.head),[,o,c,l,h]=n,f=l?+l.slice(1):0,u=c?+c:a.number;if(c&&h){let p=u/100;o&&(p=p*(o=="-"?-1:1)+a.number/s.doc.lines),u=Math.round(s.doc.lines*p)}else c&&o&&(u=u*(o=="-"?-1:1)+a.number);let Q=s.doc.line(Math.max(1,Math.min(s.doc.lines,u))),$=P.cursor(Q.from+Math.max(0,Math.min(f,Q.length)));O.dispatch({effects:[dr.of(!1),y.scrollIntoView($.from,{y:"center"})],selection:$}),O.focus()}return{dom:i}}var dr=V.define(),uQ=he.define({create(){return!0},update(O,e){for(let t of e.effects)t.is(dr)&&(O=t.value);return O},provide:O=>SO.from(O,e=>e?No:null)}),F1=O=>{let e=XO(O,No);if(!e){let t=[dr.of(!0)];O.state.field(uQ,!1)==null&&t.push(V.appendConfig.of([uQ,H1])),O.dispatch({effects:t}),e=XO(O,No)}return e&&e.dom.querySelector("input").select(),!0},H1=y.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),K1={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},mQ=v.define({combine(O){return xe(O,K1,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function gQ(O){let e=[iT,OT];return O&&e.push(mQ.of(O)),e}var J1=Z.mark({class:"cm-selectionMatch"}),eT=Z.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function QQ(O,e,t,i){return(t==0||O(e.sliceDoc(t-1,t))!=J.Word)&&(i==e.doc.length||O(e.sliceDoc(i,i+1))!=J.Word)}function tT(O,e,t,i){return O(e.sliceDoc(t,t+1))==J.Word&&O(e.sliceDoc(i-1,i))==J.Word}var OT=fe.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.selectionSet||O.docChanged||O.viewportChanged)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=O.state.facet(mQ),{state:t}=O,i=t.selection;if(i.ranges.length>1)return Z.none;let r=i.main,n,s=null;if(r.empty){if(!e.highlightWordAroundCursor)return Z.none;let o=t.wordAt(r.head);if(!o)return Z.none;s=t.charCategorizer(r.head),n=t.sliceDoc(o.from,o.to)}else{let o=r.to-r.from;if(o200)return Z.none;if(e.wholeWords){if(n=t.sliceDoc(r.from,r.to),s=t.charCategorizer(r.head),!(QQ(s,t,r.from,r.to)&&tT(s,t,r.from,r.to)))return Z.none}else if(n=t.sliceDoc(r.from,r.to),!n)return Z.none}let a=[];for(let o of O.visibleRanges){let c=new oO(t.doc,n,o.from,o.to);for(;!c.next().done;){let{from:l,to:h}=c.value;if((!s||QQ(s,t,l,h))&&(r.empty&&l<=r.from&&h>=r.to?a.push(eT.range(l,h)):(l>=r.to||h<=r.from)&&a.push(J1.range(l,h)),a.length>e.maxMatches))return Z.none}}return Z.set(a)}},{decorations:O=>O.decorations}),iT=y.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),rT=({state:O,dispatch:e})=>{let{selection:t}=O,i=P.create(t.ranges.map(r=>O.wordAt(r.head)||P.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(O.update({selection:i})),!0)};function nT(O,e){let{main:t,ranges:i}=O.selection,r=O.wordAt(t.head),n=r&&r.from==t.from&&r.to==t.to;for(let s=!1,a=new oO(O.doc,e,i[i.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new oO(O.doc,e,0,Math.max(0,i[i.length-1].from-1)),s=!0}else{if(s&&i.some(o=>o.from==a.value.from))continue;if(n){let o=O.wordAt(a.value.from);if(!o||o.from!=a.value.from||o.to!=a.value.to)continue}return a.value}}var sT=({state:O,dispatch:e})=>{let{ranges:t}=O.selection;if(t.some(n=>n.from===n.to))return rT({state:O,dispatch:e});let i=O.sliceDoc(t[0].from,t[0].to);if(O.selection.ranges.some(n=>O.sliceDoc(n.from,n.to)!=i))return!1;let r=nT(O,i);return r?(e(O.update({selection:O.selection.addRange(P.range(r.from,r.to),!1),effects:y.scrollIntoView(r.to)})),!0):!1},li=v.define({combine(O){return xe(O,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Jo(e),scrollToMatch:e=>y.scrollIntoView(e)})}});var ns=class{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||N1(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Ho(this):new Fo(this)}getCursor(e,t=0,i){let r=e.doc?e:M.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?oi(this,r,t,i):ai(this,r,t,i)}},ss=class{constructor(e){this.spec=e}};function ai(O,e,t,i){return new oO(e.doc,O.unquoted,t,i,O.caseSensitive?void 0:r=>r.toLowerCase(),O.wholeWord?aT(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function aT(O,e){return(t,i,r,n)=>((n>t||n+r.length=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=ai(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function oi(O,e,t,i){return new ts(e.doc,O.search,{ignoreCase:!O.caseSensitive,test:O.wholeWord?oT(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function as(O,e){return O.slice(Qe(O,e,!1),e)}function os(O,e){return O.slice(e,Qe(O,e))}function oT(O){return(e,t,i)=>!i[0].length||(O(as(i.input,i.index))!=J.Word||O(os(i.input,i.index))!=J.Word)&&(O(os(i.input,i.index+i[0].length))!=J.Word||O(as(i.input,i.index+i[0].length))!=J.Word)}var Ho=class extends ss{nextMatch(e,t,i){let r=oi(this.spec,e,i,e.doc.length).next();return r.done&&(r=oi(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let n=Math.max(t,i-r*1e4),s=oi(this.spec,e,n,i),a=null;for(;!s.next().done;)a=s.value;if(a&&(n==t||a.from>n+10))return a;if(n==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let n=+i.slice(0,r);if(n>0&&n=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=oi(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},Qr=V.define(),tl=V.define(),aO=he.define({create(O){return new ur(Ko(O).create(),null)},update(O,e){for(let t of e.effects)t.is(Qr)?O=new ur(t.value.create(),O.panel):t.is(tl)&&(O=new ur(O.query,t.value?Ol:null));return O},provide:O=>SO.from(O,e=>e.panel)});var ur=class{constructor(e,t){this.query=e,this.panel=t}},lT=Z.mark({class:"cm-searchMatch"}),cT=Z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),hT=fe.fromClass(class{constructor(O){this.view=O,this.decorations=this.highlight(O.state.field(aO))}update(O){let e=O.state.field(aO);(e!=O.startState.field(aO)||O.docChanged||O.selectionSet||O.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:O,panel:e}){if(!e||!O.spec.valid)return Z.none;let{view:t}=this,i=new Me;for(let r=0,n=t.visibleRanges,s=n.length;rn[r+1].from-500;)o=n[++r].to;O.highlight(t.state,a,o,(c,l)=>{let h=t.state.selection.ranges.some(f=>f.from==c&&f.to==l);i.add(c,l,h?cT:lT)})}return i.finish()}},{decorations:O=>O.decorations});function $r(O){return e=>{let t=e.state.field(aO,!1);return t&&t.query.spec.valid?O(e,t):XQ(e)}}var ls=$r((O,{query:e})=>{let{to:t}=O.state.selection.main,i=e.nextMatch(O.state,t,t);if(!i)return!1;let r=P.single(i.from,i.to),n=O.state.facet(li);return O.dispatch({selection:r,effects:[il(O,i),n.scrollToMatch(r.main,O)],userEvent:"select.search"}),SQ(O),!0}),cs=$r((O,{query:e})=>{let{state:t}=O,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return!1;let n=P.single(r.from,r.to),s=O.state.facet(li);return O.dispatch({selection:n,effects:[il(O,r),s.scrollToMatch(n.main,O)],userEvent:"select.search"}),SQ(O),!0}),fT=$r((O,{query:e})=>{let t=e.matchAll(O.state,1e3);return!t||!t.length?!1:(O.dispatch({selection:P.create(t.map(i=>P.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),dT=({state:O,dispatch:e})=>{let t=O.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:r}=t.main,n=[],s=0;for(let a=new oO(O.doc,O.sliceDoc(i,r));!a.next().done;){if(n.length>1e3)return!1;a.value.from==i&&(s=n.length),n.push(P.range(a.value.from,a.value.to))}return e(O.update({selection:P.create(n,s),userEvent:"select.search.matches"})),!0},$Q=$r((O,{query:e})=>{let{state:t}=O,{from:i,to:r}=t.selection.main;if(t.readOnly)return!1;let n=e.nextMatch(t,i,i);if(!n)return!1;let s=n,a=[],o,c,l=[];s.from==i&&s.to==r&&(c=t.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:c}),s=e.nextMatch(t,s.from,s.to),l.push(y.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+".")));let h=O.state.changes(a);return s&&(o=P.single(s.from,s.to).map(h),l.push(il(O,s)),l.push(t.facet(li).scrollToMatch(o.main,O))),O.dispatch({changes:h,selection:o,effects:l,userEvent:"input.replace"}),!0}),uT=$r((O,{query:e})=>{if(O.state.readOnly)return!1;let t=e.matchAll(O.state,1e9).map(r=>{let{from:n,to:s}=r;return{from:n,to:s,insert:e.getReplacement(r)}});if(!t.length)return!1;let i=O.state.phrase("replaced $ matches",t.length)+".";return O.dispatch({changes:t,effects:y.announce.of(i),userEvent:"input.replace.all"}),!0});function Ol(O){return O.state.facet(li).createPanel(O)}function Ko(O,e){var t,i,r,n,s;let a=O.selection.main,o=a.empty||a.to>a.from+100?"":O.sliceDoc(a.from,a.to);if(e&&!o)return e;let c=O.facet(li);return new ns({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?o:o.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:c.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:c.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:c.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:c.wholeWord})}function PQ(O){let e=XO(O,Ol);return e&&e.dom.querySelector("[main-field]")}function SQ(O){let e=PQ(O);e&&e==O.root.activeElement&&e.select()}var XQ=O=>{let e=O.state.field(aO,!1);if(e&&e.panel){let t=PQ(O);if(t&&t!=O.root.activeElement){let i=Ko(O.state,e.query.spec);i.valid&&O.dispatch({effects:Qr.of(i)}),t.focus(),t.select()}}else O.dispatch({effects:[tl.of(!0),e?Qr.of(Ko(O.state,e.query.spec)):V.appendConfig.of($T)]});return!0},TQ=O=>{let e=O.state.field(aO,!1);if(!e||!e.panel)return!1;let t=XO(O,Ol);return t&&t.dom.contains(O.root.activeElement)&&O.focus(),O.dispatch({effects:tl.of(!1)}),!0},yQ=[{key:"Mod-f",run:XQ,scope:"editor search-panel"},{key:"F3",run:ls,shift:cs,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ls,shift:cs,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:TQ,scope:"editor search-panel"},{key:"Mod-Shift-l",run:dT},{key:"Mod-Alt-g",run:F1},{key:"Mod-d",run:sT,preventDefault:!0}],Jo=class{constructor(e){this.view=e;let t=this.query=e.state.field(aO).query.spec;this.commit=this.commit.bind(this),this.searchField=B("input",{value:t.search,placeholder:Fe(e,"Find"),"aria-label":Fe(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=B("input",{value:t.replace,placeholder:Fe(e,"Replace"),"aria-label":Fe(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=B("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=B("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=B("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(r,n,s){return B("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=B("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>ls(e),[Fe(e,"next")]),i("prev",()=>cs(e),[Fe(e,"previous")]),i("select",()=>fT(e),[Fe(e,"all")]),B("label",null,[this.caseField,Fe(e,"match case")]),B("label",null,[this.reField,Fe(e,"regexp")]),B("label",null,[this.wordField,Fe(e,"by word")]),...e.state.readOnly?[]:[B("br"),this.replaceField,i("replace",()=>$Q(e),[Fe(e,"replace")]),i("replaceAll",()=>uT(e),[Fe(e,"replace all")])],B("button",{name:"close",onclick:()=>TQ(e),"aria-label":Fe(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new ns({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:Qr.of(e)}))}keydown(e){Sd(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?cs:ls)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),$Q(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(Qr)&&!i.value.eq(this.query)&&this.setQuery(i.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(li).top}};function Fe(O,e){return O.state.phrase(e)}var Jn=30,es=/[\s\.,:;?!]/;function il(O,{from:e,to:t}){let i=O.state.doc.lineAt(e),r=O.state.doc.lineAt(t).to,n=Math.max(i.from,e-Jn),s=Math.min(r,t+Jn),a=O.state.sliceDoc(n,s);if(n!=i.from){for(let o=0;oa.length-Jn;o--)if(!es.test(a[o-1])&&es.test(a[o])){a=a.slice(0,o);break}}return y.announce.of(`${O.state.phrase("current match")}. ${a} ${O.state.phrase("on line")} ${i.number}.`)}var QT=y.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"}}),$T=[aO,ze.low(hT),QT];var ci=class{constructor(e,t,i,r){this.state=e,this.pos=t,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=W(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),r=t.text.slice(i-t.from,this.pos-t.from),n=r.search(_Q(e,!1));return n<0?null:{from:i+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}};function bQ(O){let e=Object.keys(O).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function pT(O){let e=Object.create(null),t=Object.create(null);for(let{label:r}of O){e[r[0]]=!0;for(let n=1;ntypeof r=="string"?{label:r}:r),[t,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:pT(e);return r=>{let n=r.matchBefore(i);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:t}:null}}function lO(O,e){return t=>{for(let i=W(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(O.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}var fs=class{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}};function ZO(O){return O.selection.main.from}function _Q(O,e){var t;let{source:i}=O,r=e&&i[0]!="^",n=i[i.length-1]!="$";return!r&&!n?O:new RegExp(`${r?"^":""}(?:${i})${n?"$":""}`,(t=O.flags)!==null&&t!==void 0?t:O.ignoreCase?"i":"")}var $l=qe.define();function mT(O,e,t,i){let{main:r}=O.selection,n=t-r.from,s=i-r.from;return{...O.changeByRange(a=>{if(a!=r&&t!=i&&O.sliceDoc(a.from+n,a.from+s)!=O.sliceDoc(t,i))return{range:a};let o=O.toText(e);return{changes:{from:a.from+n,to:i==r.from?a.to:a.from+s,insert:o},range:P.cursor(a.from+n+o.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var xQ=new WeakMap;function gT(O){if(!Array.isArray(O))return O;let e=xQ.get(O);return e||xQ.set(O,e=zt(O)),e}var ds=V.define(),pr=V.define(),al=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(x=ki(S))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!g||w==1&&p||T==0&&w!=0)&&(t[h]==S||i[h]==S&&(f=!0)?s[h++]=g:s.length&&(m=!1)),T=w,g+=De(S)}return h==o&&s[0]==0&&m?this.result(-100+(f?-200:0),s,e):u==o&&Q==0?this.ret(-200-e.length+($==e.length?0:-100),[0,$]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):u==o?this.ret(-900-e.length,[Q,$]):h==o?this.result(-100+(f?-200:0)+-700+(m?0:-1100),s,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,i){let r=[],n=0;for(let s of t){let a=s+(this.astral?De(Se(i,s)):1);n&&r[n-1]==s?r[n-1]=a:(r[n++]=s,r[n++]=a)}return this.ret(e-i.length,r)}},ol=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:PT,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>wQ(e(i),t(i)),optionClass:(e,t)=>i=>wQ(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function wQ(O,e){return O?e?O+" "+e:O:e}function PT(O,e,t,i,r,n){let s=O.textDirection==ee.RTL,a=s,o=!1,c="top",l,h,f=e.left-r.left,u=r.right-e.right,Q=i.right-i.left,$=i.bottom-i.top;if(a&&f=$||g>e.top?l=t.bottom-e.top:(c="bottom",l=e.bottom-t.top)}let p=(e.bottom-e.top)/n.offsetHeight,m=(e.right-e.left)/n.offsetWidth;return{style:`${c}: ${l/p}px; max-width: ${h/m}px`,class:"cm-completionInfo-"+(o?s?"left-narrow":"right-narrow":a?"left":"right")}}function ST(O){let e=O.addToOptions.slice();return O.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let a=t.displayLabel||t.label,o=0;for(let c=0;co&&s.appendChild(document.createTextNode(a.slice(o,l)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(l,h))),f.className="cm-completionMatchedText",o=h}return ot.position-i.position).map(t=>t.render)}function rl(O,e,t){if(O<=t)return{from:0,to:O};if(e<0&&(e=0),e<=O>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let i=Math.floor((O-e)/t);return{from:O-(i+1)*t,to:O-i*t}}var ll=class{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:o=>this.placeInfo(o),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:n,selected:s}=r.open,a=e.state.facet(ge);this.optionContent=ST(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=rl(n.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",o=>{let{options:c}=e.state.field(t).open;for(let l=o.target,h;l&&l!=this.dom;l=l.parentNode)if(l.nodeName=="LI"&&(h=/-(\d+)$/.exec(l.id))&&+h[1]{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(ge).closeOnBlur&&o.relatedTarget!=e.contentDOM&&e.dispatch({effects:pr.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:n,selected:s,disabled:a}=i.open;(!r.open||r.open.options!=n)&&(this.range=rl(n.length,s,e.state.facet(ge).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),a!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=rl(t.options.length,t.selected,this.view.state.facet(ge).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:r}=i;if(!r)return;let n=typeof r=="string"?document.createTextNode(r):r(i);if(!n)return;"then"in n?n.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,i)}).catch(s=>Te(this.view.state,s,"completion info")):this.addInfoPane(n,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;i.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected");return t&&TT(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,t.bottom)-10||r.bottom{s.target==r&&s.preventDefault()});let n=null;for(let s=i.from;si.from||i.from==0))if(n=f,typeof c!="string"&&c.header)r.appendChild(c.header(c));else{let u=r.appendChild(document.createElement("completion-section"));u.textContent=f}}let l=r.appendChild(document.createElement("li"));l.id=t+"-"+s,l.setAttribute("role","option");let h=this.optionClass(a);h&&(l.className=h);for(let f of this.optionContent){let u=f(a,this.view.state,this.view,o);u&&l.appendChild(u)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew ll(t,O,e)}function TT(O,e){let t=O.getBoundingClientRect(),i=e.getBoundingClientRect(),r=t.height/O.offsetHeight;i.topt.bottom&&(O.scrollTop+=(i.bottom-t.bottom)/r)}function kQ(O){return(O.boost||0)*100+(O.apply?10:0)+(O.info?5:0)+(O.type?1:0)}function yT(O,e){let t=[],i=null,r=null,n=l=>{t.push(l);let{section:h}=l.completion;if(h){i||(i=[]);let f=typeof h=="string"?h:h.name;i.some(u=>u.name==f)||i.push(typeof h=="string"?{name:f}:h)}},s=e.facet(ge);for(let l of O)if(l.hasResult()){let h=l.result.getMatch;if(l.result.filter===!1)for(let f of l.result.options)n(new fs(f,l.source,h?h(f):[],1e9-t.length));else{let f=e.sliceDoc(l.from,l.to),u,Q=s.filterStrict?new ol(f):new al(f);for(let $ of l.result.options)if(u=Q.match($.label)){let p=$.displayLabel?h?h($,u.matched):[]:u.matched,m=u.score+($.boost||0);if(n(new fs($,l.source,p,m)),typeof $.section=="object"&&$.section.rank==="dynamic"){let{name:g}=$.section;r||(r=Object.create(null)),r[g]=Math.max(m,r[g]||-1e9)}}}}if(i){let l=Object.create(null),h=0,f=(u,Q)=>(u.rank==="dynamic"&&Q.rank==="dynamic"?r[Q.name]-r[u.name]:0)||(typeof u.rank=="number"?u.rank:1e9)-(typeof Q.rank=="number"?Q.rank:1e9)||(u.namef.score-h.score||c(h.completion,f.completion))){let h=l.completion;!o||o.label!=h.label||o.detail!=h.detail||o.type!=null&&h.type!=null&&o.type!=h.type||o.apply!=h.apply||o.boost!=h.boost?a.push(l):kQ(l.completion)>kQ(o)&&(a[a.length-1]=l),o=l.completion}return a}var cl=class O{constructor(e,t,i,r,n,s){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new O(this.options,vQ(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,n,s){if(r&&!s&&e.some(c=>c.isPending))return r.setDisabled();let a=yT(e,t);if(!a.length)return r&&e.some(c=>c.isPending)?r.setDisabled():null;let o=t.facet(ge).selectOnOpen?0:-1;if(r&&r.selected!=o&&r.selected!=-1){let c=r.options[r.selected].completion;for(let l=0;ll.hasResult()?Math.min(c,l.from):c,1e8),create:YT,above:n.aboveCursor},r?r.timestamp:Date.now(),o,!1)}map(e){return new O(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new O(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},hl=class O{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new O(kT,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(ge),n=(i.override||t.languageDataAt("autocomplete",ZO(t)).map(gT)).map(o=>(this.active.find(l=>l.source==o)||new qt(o,this.active.some(l=>l.state!=0)?1:0)).update(e,i));n.length==this.active.length&&n.every((o,c)=>o==this.active[c])&&(n=this.active);let s=this.open,a=e.effects.some(o=>o.is(pl));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(o=>o.hasResult()&&e.changes.touchesRange(o.from,o.to))||!bT(n,this.active)||a?s=cl.build(n,t,this.id,s,i,a):s&&s.disabled&&!n.some(o=>o.isPending)&&(s=null),!s&&n.every(o=>!o.isPending)&&n.some(o=>o.hasResult())&&(n=n.map(o=>o.hasResult()?new qt(o.source,0):o));for(let o of e.effects)o.is(qQ)&&(s=s&&s.setSelected(o.value,this.id));return n==this.active&&s==this.open?this:new O(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?xT:wT}};function bT(O,e){if(O==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=O+"-"+e),t}var kT=[];function VQ(O,e){if(O.isUserEvent("input.complete")){let i=O.annotation($l);if(i&&e.activateOnCompletion(i))return 12}let t=O.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:O.isUserEvent("delete.backward")?2:O.selection?8:O.docChanged?16:0}var qt=class O{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=VQ(e,t),r=this;(i&8||i&16&&this.touches(e))&&(r=new O(r.source,0)),i&4&&r.state==0&&(r=new O(this.source,1)),r=r.updateFor(e,i);for(let n of e.effects)if(n.is(ds))r=new O(r.source,1,n.value);else if(n.is(pr))r=new O(r.source,0);else if(n.is(pl))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(ZO(e.state))}},us=class O extends qt{constructor(e,t,i,r,n,s){super(e,3,t),this.limit=i,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=ZO(e.state);if(a>s||!r||t&2&&(ZO(e.startState)==this.from||at.map(e))}}),qQ=V.define(),Ce=he.define({create(){return hl.start()},update(O,e){return O.update(e)},provide:O=>[Ji.from(O,e=>e.tooltip),y.contentAttributes.from(O,e=>e.attrs)]});function ml(O,e){let t=e.completion.apply||e.completion.label,i=O.state.field(Ce).active.find(r=>r.source==e.source);return i instanceof us?(typeof t=="string"?O.dispatch({...mT(O.state,t,i.from,i.to),annotations:$l.of(e.completion)}):t(O,e.completion,i.from,i.to),!0):!1}var YT=XT(Ce,ml);function hs(O,e="option"){return t=>{let i=t.state.field(Ce,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(O?1:-1):O?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),t.dispatch({effects:qQ.of(a)}),!0}}var ZT=O=>{let e=O.state.field(Ce,!1);return O.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampO.state.field(Ce,!1)?(O.dispatch({effects:ds.of(!0)}),!0):!1,RT=O=>{let e=O.state.field(Ce,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(O.dispatch({effects:pr.of(null)}),!0)},fl=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},_T=50,VT=1e3,qT=fe.fromClass(class{constructor(O){this.view=O,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of O.state.field(Ce).active)e.isPending&&this.startQuery(e)}update(O){let e=O.state.field(Ce),t=O.state.facet(ge);if(!O.selectionSet&&!O.docChanged&&O.startState.field(Ce)==e)return;let i=O.transactions.some(n=>{let s=VQ(n,t);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n_T&&Date.now()-s.time>VT){for(let a of s.context.abortListeners)try{a()}catch(o){Te(this.view.state,o)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...O.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),O.transactions.some(n=>n.effects.some(s=>s.is(ds)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of O.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:O}=this.view,e=O.field(Ce);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}startQuery(O){let{state:e}=this.view,t=ZO(e),i=new ci(e,t,O.explicit,this.view),r=new fl(O,i);this.running.push(r),Promise.resolve(O.source(i)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:pr.of(null)}),Te(this.view.state,n)})}scheduleAccept(){this.running.every(O=>O.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}accept(){var O;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ge),i=this.view.state.field(Ce);for(let r=0;ra.source==n.active.source);if(s&&s.isPending)if(n.done==null){let a=new qt(n.active.source,0);for(let o of n.updates)a=a.update(o,t);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:pl.of(e)})}},{eventHandlers:{blur(O){let e=this.view.state.field(Ce,!1);if(e&&e.tooltip&&this.view.state.facet(ge).closeOnBlur){let t=e.open&&lo(this.view,e.open.tooltip);(!t||!t.dom.contains(O.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:pr.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ds.of(!1)}),20),this.composing=0}}}),zT=typeof navigator=="object"&&/Win/.test(navigator.platform),WT=ze.highest(y.domEventHandlers({keydown(O,e){let t=e.state.field(Ce,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||O.key.length>1||O.ctrlKey&&!(zT&&O.altKey)||O.metaKey)return!1;let i=t.open.options[t.open.selected],r=t.active.find(s=>s.source==i.source),n=i.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(O.key)>-1&&ml(e,i),!1}})),zQ=y.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:'"\xB7\xB7\xB7"',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:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),dl=class{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}},ul=class O{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,pe.TrackDel),i=e.mapPos(this.to,1,pe.TrackDel);return t==null||i==null?null:new O(this.field,t,i)}},Ql=class O{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],n=e.doc.lineAt(t),s=/^\s*/.exec(n.text)[0];for(let o of this.lines){if(i.length){let c=s,l=/^\t*/.exec(o)[0].length;for(let h=0;hnew ul(o.field,r[o.line]+o.from,r[o.line]+o.to));return{text:i,ranges:a}}static parse(e){let t=[],i=[],r=[],n;for(let s of e.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s);){let a=n[1]?+n[1]:null,o=n[2]||n[3]||"",c=-1,l=o.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h=c&&f.field++}for(let h of r)if(h.line==i.length&&h.from>n.index){let f=n[2]?3+(n[1]||"").length:2;h.from-=f,h.to-=f}r.push(new dl(c,i.length,n.index,n.index+l.length)),s=s.slice(0,n.index)+o+s.slice(n.index+n[0].length)}s=s.replace(/\\([{}])/g,(a,o,c)=>{for(let l of r)l.line==i.length&&l.from>c&&(l.from--,l.to--);return o}),i.push(s)}return new O(i,r)}},UT=Z.widget({widget:new class extends We{toDOM(){let O=document.createElement("span");return O.className="cm-snippetFieldPosition",O}ignoreEvent(){return!1}}}),jT=Z.mark({class:"cm-snippetField"}),hi=class O{constructor(e,t){this.ranges=e,this.active=t,this.deco=Z.set(e.map(i=>(i.from==i.to?UT:jT).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new O(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}},Pr=V.define({map(O,e){return O&&O.map(e)}}),CT=V.define(),mr=he.define({create(){return null},update(O,e){for(let t of e.effects){if(t.is(Pr))return t.value;if(t.is(CT)&&O)return new hi(O.ranges,t.value)}return O&&e.docChanged&&(O=O.map(e.changes)),O&&e.selection&&!O.selectionInsideField(e.selection)&&(O=null),O},provide:O=>y.decorations.from(O,e=>e?e.deco:Z.none)});function gl(O,e){return P.create(O.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function GT(O){let e=Ql.parse(O);return(t,i,r,n)=>{let{text:s,ranges:a}=e.instantiate(t.state,r),{main:o}=t.state.selection,c={changes:{from:r,to:n==o.from?o.to:n,insert:G.of(s)},scrollIntoView:!0,annotations:i?[$l.of(i),ue.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=gl(a,0)),a.some(l=>l.field>0)){let l=new hi(a,0),h=c.effects=[Pr.of(l)];t.state.field(mr,!1)===void 0&&h.push(V.appendConfig.of([mr,DT,IT,zQ]))}t.dispatch(t.state.update(c))}}function WQ(O){return({state:e,dispatch:t})=>{let i=e.field(mr,!1);if(!i||O<0&&i.active==0)return!1;let r=i.active+O,n=O>0&&!i.ranges.some(s=>s.field==r+O);return t(e.update({selection:gl(i.ranges,r),effects:Pr.of(n?null:new hi(i.ranges,r)),scrollIntoView:!0})),!0}}var ET=({state:O,dispatch:e})=>O.field(mr,!1)?(e(O.update({effects:Pr.of(null)})),!0):!1,AT=WQ(1),LT=WQ(-1);var MT=[{key:"Tab",run:AT,shift:LT},{key:"Escape",run:ET}],YQ=v.define({combine(O){return O.length?O[0]:MT}}),DT=ze.highest(Tt.compute([YQ],O=>O.facet(YQ)));function U(O,e){return{...e,apply:GT(O)}}var IT=y.domEventHandlers({mousedown(O,e){let t=e.state.field(mr,!1),i;if(!t||(i=e.posAtCoords({x:O.clientX,y:O.clientY}))==null)return!1;let r=t.ranges.find(n=>n.from<=i&&n.to>=i);return!r||r.field==t.active?!1:(e.dispatch({selection:gl(t.ranges,r.field),effects:Pr.of(t.ranges.some(n=>n.field>r.field)?new hi(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var gr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},YO=V.define({map(O,e){let t=e.mapPos(O,-1,pe.TrackAfter);return t??void 0}}),Pl=new class extends ot{};Pl.startSide=1;Pl.endSide=-1;var UQ=he.define({create(){return F.empty},update(O,e){if(O=O.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);O=O.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(YO)&&(O=O.update({add:[Pl.range(t.value,t.value+1)]}));return O}});function jQ(){return[NT,UQ]}var sl="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function CQ(O){for(let e=0;e{if((BT?O.composing:O.compositionStarted)||O.state.readOnly)return!1;let r=O.state.selection.main;if(i.length>2||i.length==2&&De(Se(i,0))==1||e!=r.from||t!=r.to)return!1;let n=HT(O.state,i);return n?(O.dispatch(n),!0):!1}),FT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let i=GQ(O,O.selection.main.head).brackets||gr.brackets,r=null,n=O.changeByRange(s=>{if(s.empty){let a=KT(O.doc,s.head);for(let o of i)if(o==a&&Qs(O.doc,s.head)==CQ(Se(o,0)))return{changes:{from:s.head-o.length,to:s.head+o.length},range:P.cursor(s.head-o.length)}}return{range:r=s}});return r||e(O.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},EQ=[{key:"Backspace",run:FT}];function HT(O,e){let t=GQ(O,O.selection.main.head),i=t.brackets||gr.brackets;for(let r of i){let n=CQ(Se(r,0));if(e==r)return n==r?ty(O,r,i.indexOf(r+r+r)>-1,t):JT(O,r,n,t.before||gr.before);if(e==n&&AQ(O,O.selection.main.from))return ey(O,r,n)}return null}function AQ(O,e){let t=!1;return O.field(UQ).between(0,O.doc.length,i=>{i==e&&(t=!0)}),t}function Qs(O,e){let t=O.sliceString(e,e+2);return t.slice(0,De(Se(t,0)))}function KT(O,e){let t=O.sliceString(e-2,e);return De(Se(t,0))==t.length?t:t.slice(1)}function JT(O,e,t,i){let r=null,n=O.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:YO.of(s.to+e.length),range:P.range(s.anchor+e.length,s.head+e.length)};let a=Qs(O.doc,s.head);return!a||/\s/.test(a)||i.indexOf(a)>-1?{changes:{insert:e+t,from:s.head},effects:YO.of(s.head+e.length),range:P.cursor(s.head+e.length)}:{range:r=s}});return r?null:O.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function ey(O,e,t){let i=null,r=O.changeByRange(n=>n.empty&&Qs(O.doc,n.head)==t?{changes:{from:n.head,to:n.head+t.length,insert:t},range:P.cursor(n.head+t.length)}:i={range:n});return i?null:O.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function ty(O,e,t,i){let r=i.stringPrefixes||gr.stringPrefixes,n=null,s=O.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:YO.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let o=a.head,c=Qs(O.doc,o),l;if(c==e){if(ZQ(O,o))return{changes:{insert:e+e,from:o},effects:YO.of(o+e.length),range:P.cursor(o+e.length)};if(AQ(O,o)){let f=t&&O.sliceDoc(o,o+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:o,to:o+f.length,insert:f},range:P.cursor(o+f.length)}}}else{if(t&&O.sliceDoc(o-2*e.length,o)==e+e&&(l=RQ(O,o-2*e.length,r))>-1&&ZQ(O,l))return{changes:{insert:e+e+e+e,from:o},effects:YO.of(o+e.length),range:P.cursor(o+e.length)};if(O.charCategorizer(o)(c)!=J.Word&&RQ(O,o,r)>-1&&!Oy(O,o,e,r))return{changes:{insert:e+e,from:o},effects:YO.of(o+e.length),range:P.cursor(o+e.length)}}return{range:n=a}});return n?null:O.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function ZQ(O,e){let t=W(O).resolveInner(e+1);return t.parent&&t.from==e}function Oy(O,e,t,i){let r=W(O).resolveInner(e,-1),n=i.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=O.sliceDoc(r.from,Math.min(r.to,r.from+t.length+n)),o=a.indexOf(t);if(!o||o>-1&&i.indexOf(a.slice(0,o))>-1){let l=r.firstChild;for(;l&&l.from==r.from&&l.to-l.from>t.length+o;){if(O.sliceDoc(l.to-t.length,l.to)==t)return!1;l=l.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function RQ(O,e,t){let i=O.charCategorizer(e);if(i(O.sliceDoc(e-1,e))!=J.Word)return e;for(let r of t){let n=e-r.length;if(O.sliceDoc(n,e)==r&&i(O.sliceDoc(n-1,n))!=J.Word)return n}return-1}function LQ(O={}){return[WT,Ce,ge.of(O),qT,iy,zQ]}var Sl=[{key:"Ctrl-Space",run:nl},{mac:"Alt-`",run:nl},{mac:"Alt-i",run:nl},{key:"Escape",run:RT},{key:"ArrowDown",run:hs(!0)},{key:"ArrowUp",run:hs(!1)},{key:"PageDown",run:hs(!0,"page")},{key:"PageUp",run:hs(!1,"page")},{key:"Enter",run:ZT}],iy=ze.highest(Tt.computeN([ge],O=>O.facet(ge).defaultKeymap?[Sl]:[]));var ps=class{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}},RO=class O{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=i.facet(Sr).markerFilter;r&&(e=r(e,i));let n=e.slice().sort((l,h)=>l.from-h.from||l.to-h.to),s=new Me,a=[],o=0;for(let l=0;;){let h=l==n.length?null:n[l];if(!h&&!a.length)break;let f,u;for(a.length?(f=o,u=a.reduce(($,p)=>Math.min($,p.to),h&&h.from>f?h.from:1e8)):(f=h.from,u=h.to,a.push(h),l++);l$.from||$.to==f))a.push($),l++,u=Math.min($.to,u);else{u=Math.min($.from,u);break}}let Q=uy(a);if(a.some($=>$.from==$.to||$.from==$.to-1&&i.doc.lineAt($.from).to==$.from))s.add(f,f,Z.widget({widget:new Xl(Q),diagnostics:a.slice()}));else{let $=a.reduce((p,m)=>m.markClass?p+" "+m.markClass:p,"");s.add(f,u,Z.mark({class:"cm-lintRange cm-lintRange-"+Q+$,diagnostics:a.slice(),inclusiveEnd:a.some(p=>p.to>u)}))}o=u;for(let $=0;${if(!(e&&s.diagnostics.indexOf(e)<0))if(!i)i=new ps(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new ps(i.from,n,i.diagnostic)}}),i}function ry(O,e){let t=e.pos,i=e.end||t,r=O.state.facet(Sr).hideOn(O,t,i);if(r!=null)return r;let n=O.startState.doc.lineAt(e.pos);return!!(O.effects.some(s=>s.is(IQ))||O.changes.touchesRange(n.from,Math.max(n.to,i)))}function ny(O,e){return O.field(He,!1)?e:e.concat(V.appendConfig.of(Qy))}var IQ=V.define(),Tl=V.define(),BQ=V.define(),He=he.define({create(){return new RO(Z.none,null,null)},update(O,e){if(e.docChanged&&O.diagnostics.size){let t=O.diagnostics.map(e.changes),i=null,r=O.panel;if(O.selected){let n=e.changes.mapPos(O.selected.from,1);i=fi(t,O.selected.diagnostic,n)||fi(t,null,n)}!t.size&&r&&e.state.facet(Sr).autoPanel&&(r=null),O=new RO(t,r,i)}for(let t of e.effects)if(t.is(IQ)){let i=e.state.facet(Sr).autoPanel?t.value.length?Xr.open:null:O.panel;O=RO.init(t.value,i,e.state)}else t.is(Tl)?O=new RO(O.diagnostics,t.value?Xr.open:null,O.selected):t.is(BQ)&&(O=new RO(O.diagnostics,O.panel,t.value));return O},provide:O=>[SO.from(O,e=>e.panel),y.decorations.from(O,e=>e.diagnostics)]});var sy=Z.mark({class:"cm-lintRange cm-lintRange-active"});function ay(O,e,t){let{diagnostics:i}=O.state.field(He),r,n=-1,s=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(o,c,{spec:l})=>{if(e>=o&&e<=c&&(o==c||(e>o||t>0)&&(eHQ(O,t,!1)))}var ly=O=>{let e=O.state.field(He,!1);(!e||!e.panel)&&O.dispatch({effects:ny(O.state,[Tl.of(!0)])});let t=XO(O,Xr.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},MQ=O=>{let e=O.state.field(He,!1);return!e||!e.panel?!1:(O.dispatch({effects:Tl.of(!1)}),!0)},cy=O=>{let e=O.state.field(He,!1);if(!e)return!1;let t=O.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(O.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)};var NQ=[{key:"Mod-Shift-m",run:ly,preventDefault:!0},{key:"F8",run:cy}];var Sr=v.define({combine(O){return{sources:O.map(e=>e.source).filter(e=>e!=null),...xe(O.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:DQ,tooltipFilter:DQ,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,r,n)=>e(i,r,n)||t(i,r,n):e:t,autoPanel:(e,t)=>e||t})}}});function DQ(O,e){return O?e?(t,i)=>e(O(t,i),i):O:e}function FQ(O){let e=[];if(O)e:for(let{name:t}of O){for(let i=0;in.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function HQ(O,e,t){var i;let r=t?FQ(e.actions):[];return B("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},B("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(O):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((n,s)=>{let a=!1,o=u=>{if(u.preventDefault(),a)return;a=!0;let Q=fi(O.state.field(He).diagnostics,e);Q&&n.apply(O,Q.from,Q.to)},{name:c}=n,l=r[s]?c.indexOf(r[s]):-1,h=l<0?c:[c.slice(0,l),B("u",c.slice(l,l+1)),c.slice(l+1)],f=n.markClass?" "+n.markClass:"";return B("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:o,onmousedown:o,"aria-label":` Action: ${c}${l<0?"":` (access key "${r[s]})"`}.`},h)}),e.source&&B("div",{class:"cm-diagnosticSource"},e.source))}var Xl=class extends We{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return B("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},ms=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=HQ(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Xr=class O{constructor(e){this.view=e,this.items=[];let t=r=>{if(r.keyCode==27)MQ(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=FQ(n.actions);for(let a=0;a{for(let n=0;nMQ(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(He).selected;if(!e)return-1;for(let t=0;t{for(let l of c.diagnostics){if(s.has(l))continue;s.add(l);let h=-1,f;for(let u=i;ui&&(this.items.splice(i,h-i),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:o})=>{let c=o.height/this.list.offsetHeight;a.topo.bottom&&(this.list.scrollTop+=(a.bottom-o.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(He),i=fi(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:BQ.of(i)})}static open(e){return new O(e)}};function hy(O,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(O)}')`}function $s(O){return hy(``,'width="6" height="3"')}var fy=y.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:$s("#d11")},".cm-lintRange-warning":{backgroundImage:$s("orange")},".cm-lintRange-info":{backgroundImage:$s("#999")},".cm-lintRange-hint":{backgroundImage:$s("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function dy(O){return O=="error"?4:O=="warning"?3:O=="info"?2:1}function uy(O){let e="hint",t=1;for(let i of O){let r=dy(i.severity);r>t&&(t=r,e=i.severity)}return e}var Qy=[He,y.decorations.compute([He],O=>{let{selected:e,panel:t}=O.field(He);return!e||!t||e.from==e.to?Z.none:Z.set([sy.range(e.from,e.to)])}),_d(ay,{hideOn:ry}),fy];var KQ=[zd(),Wd(),vd(),_u(),Qu(),bd(),kd(),M.allowMultipleSelections.of(!0),au(),Dn(pu,{fallback:!0}),Su(),jQ(),LQ(),Zd(),Rd(),Yd(),gQ(),Tt.of([...EQ,...hQ,...yQ,...Wu,...fu,...Sl,...NQ])];var $y="#e5c07b",JQ="#e06c75",py="#56b6c2",my="#ffffff",gs="#abb2bf",bl="#7d8799",gy="#61afef",Py="#98c379",e$="#d19a66",Sy="#c678dd",Xy="#21252b",t$="#2c313a",O$="#282c34",yl="#353a42",Ty="#3E4451",i$="#528bff";var yy=y.theme({"&":{color:gs,backgroundColor:O$},".cm-content":{caretColor:i$},".cm-cursor, .cm-dropCursor":{borderLeftColor:i$},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Ty},".cm-panels":{backgroundColor:Xy,color:gs},".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:O$,color:bl,border:"none"},".cm-activeLineGutter":{backgroundColor:t$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:yl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:yl,borderBottomColor:yl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:t$,color:gs}}},{dark:!0}),by=ri.define([{tag:d.keyword,color:Sy},{tag:[d.name,d.deleted,d.character,d.propertyName,d.macroName],color:JQ},{tag:[d.function(d.variableName),d.labelName],color:gy},{tag:[d.color,d.constant(d.name),d.standard(d.name)],color:e$},{tag:[d.definition(d.name),d.separator],color:gs},{tag:[d.typeName,d.className,d.number,d.changed,d.annotation,d.modifier,d.self,d.namespace],color:$y},{tag:[d.operator,d.operatorKeyword,d.url,d.escape,d.regexp,d.link,d.special(d.string)],color:py},{tag:[d.meta,d.comment],color:bl},{tag:d.strong,fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.link,color:bl,textDecoration:"underline"},{tag:d.heading,fontWeight:"bold",color:JQ},{tag:[d.atom,d.bool,d.special(d.variableName)],color:e$},{tag:[d.processingInstruction,d.string,d.inserted],color:Py},{tag:d.invalid,color:my}]),r$=[yy,Dn(by)];var kl=class O{constructor(e,t,i,r,n,s,a,o,c,l=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=n,this.score=s,this.buffer=a,this.bufferBase=o,this.curContext=c,this.lookAhead=l,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let r=e.parser.context;return new O(e,[],t,i,i,0,[],0,r?new Ps(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,r=e&65535,{parser:n}=this.p,s=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,i,r=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(t==i)return;if(s.buffer[a-2]>=t){s.buffer[a-2]=i;return}}}if(!n||this.pos==i)this.buffer.push(e,t,i,r);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0){let a=!1;for(let o=s;o>0&&this.buffer[o-2]>i;o-=4)if(this.buffer[o-1]>=0){a=!0;break}if(a)for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4)}this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=r}}shift(e,t,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let n=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(n,1)||(this.reducePos=r)),this.pushState(n,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}else this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4)}apply(e,t,i,r){e&65536?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,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,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new O(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new vl(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let n=0,s;no&1&&a==s)||r.push(t[n],s)}t=r}let i=[];for(let r=0;r>19,r=t&65535,n=this.stack.length-i*3;if(n<0||e.getGoto(this.stack[n],r,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(r,n)=>{if(!t.includes(r))return t.push(r),e.allActions(r,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-n;if(a>1){let o=s&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],o,!1)>=0)return a<<19|65536|o}}else{let a=i(s,n+1);if(a!=null)return a}})};return i(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 t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Ps=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},vl=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Yl=class O{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new O(e,t,t-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 O(this.stack,this.pos,this.index)}};function Tr(O,e=Uint16Array){if(typeof O!="string")return O;let t=null;for(let i=0,r=0;i=92&&s--,s>=34&&s--;let o=s-32;if(o>=46&&(o-=46,a=!0),n+=o,a)break;n*=46}t?t[r++]=n:t=new e(n)}return t}var di=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},n$=new di,Zl=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=n$,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,r=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(r==this.ranges.length-1)return null;let s=this.ranges[++r];n+=s.from-i.to,i=s}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(t>=0&&t=this.chunk2Pos&&ia.to&&(this.chunk2=this.chunk2.slice(0,a.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.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,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=n$,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}},cO=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;c$(this.data,e,t,this.id,i.data,i.tokenPrecTable)}};cO.prototype.contextual=cO.prototype.fallback=cO.prototype.extend=!1;var kt=class{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?Tr(e):e}token(e,t){let i=e.pos,r=0;for(;;){let n=e.next<0,s=e.resolveOffset(1,1);if(c$(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,s==null)break;e.reset(s,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}};kt.prototype.contextual=cO.prototype.fallback=cO.prototype.extend=!1;var z=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function c$(O,e,t,i,r,n){let s=0,a=1<0){let Q=O[u];if(o.allows(Q)&&(e.token.value==-1||e.token.value==Q||wy(Q,e.token.value,r,n))){e.acceptToken(Q);break}}let l=e.next,h=0,f=O[s+2];if(e.next<0&&f>h&&O[c+f*3-3]==65535){s=O[c+f*3-1];continue e}for(;h>1,Q=c+u+(u<<1),$=O[Q],p=O[Q+1]||65536;if(l<$)f=u;else if(l>=p)h=u+1;else{s=O[Q+2],e.advance();continue e}}break}}function s$(O,e,t){for(let i=e,r;(r=O[i])!=65535;i++)if(r==t)return i-e;return-1}function wy(O,e,t,i){let r=s$(t,i,e);return r<0||s$(t,i,O)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(O.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:O.length}}var Rl=class{constructor(e,t){this.fragments=e,this.nodeSet=t,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?a$(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?a$(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(ee)return this.nextStart=s,null;if(n instanceof D){if(s==e){if(s=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+n.length}}},_l=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new di)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:n}=r,s=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,o=0;for(let c=0;ch.end+25&&(o=Math.max(h.lookAhead,o)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!l.extend&&(i=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),!i&&e.pos==this.stream.end&&(i=new di,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new di,{pos:i,p:r}=e;return t.start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,i){let r=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(r,e),i),e.value>-1){let{parser:n}=i.p;for(let s=0;s=0&&i.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let n=0;ne.bufferLength*4?new Rl(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],r,n;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;st)i.push(a);else{if(this.advanceStack(a,i,e))continue;{r||(r=[],n=[]),r.push(a);let o=this.tokens.getMainToken(a);n.push(o.value,o.end)}}break}}if(!i.length){let s=r&&ky(r);if(s)return Ke&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let s=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,n,i);if(s)return Ke&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(i.length>s)for(i.sort((a,o)=>o.score-a.score);i.length>s;)i.pop();i.some(a=>a.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let s=0;s500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)i.splice(o--,1);else{i.splice(s--,1);continue e}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let s=1;s ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,l=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?n.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!c||(h.prop(_.contextHash)||0)==l))return e.useNode(h,f),Ke&&console.log(s+this.stackID(e)+` (via reuse of ${n.getName(h.type.id)})`),!0;if(!(h instanceof D)||h.children.length==0||h.positions[0]>0)break;let u=h.children[0];if(u instanceof D&&h.positions[0]==0)h=u;else break}}let a=n.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(s+this.stackID(e)+` (via always-reduce ${n.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let c=0;cr?t.push(Q):i.push(Q)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return o$(e,t),!0}}runRecovery(e,t,i){let r=null,n=!1;for(let s=0;s ":"";if(a.deadEnd&&(n||(n=!0,a.restart(),Ke&&console.log(l+this.stackID(a)+" (restarted)"),this.advanceFully(a,i))))continue;let h=a.split(),f=l;for(let u=0;h.forceReduce()&&u<10&&(Ke&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,i));u++)Ke&&(f=this.stackID(h)+" -> ");for(let u of a.recoverByInsert(o))Ke&&console.log(l+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,i);this.stream.end>a.pos?(c==a.pos&&(c++,o=0),a.recoverByDelete(o,c),Ke&&console.log(l+this.stackID(a)+` (via recover-delete ${this.parser.getName(o)})`),o$(a,i)):(!r||r.scoreO,Ge=class{constructor(e){this.start=e.start,this.shift=e.shift||wl,this.reduce=e.reduce||wl,this.reuse=e.reuse||wl,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Oe=class O extends Jt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)n(l,o,a[c++]);else{let h=a[c+-l];for(let f=-l;f>0;f--)n(a[c++],o,h);c++}}}this.nodeSet=new Ht(t.map((a,o)=>de.define({name:o>=this.minRepeatTerm?void 0:a,id:o,props:r[o],top:i.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=1024;let s=Tr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new cO(s,a):a),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,t,i){let r=new Vl(this,e,t,i);for(let n of this.wrappers)r=n(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return-1;for(let n=r[t+1];;){let s=r[n++],a=s&1,o=r[n++];if(a&&i)return o;for(let c=n+(s>>1);n0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Wt(this.data,n+2);else break;r=t(Wt(this.data,n+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Wt(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];t.some((n,s)=>s&1&&n==r)||t.push(this.data[i],r)}}return t}configure(e){let t=Object.assign(Object.create(O.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(n=>n.from==i);return r?r.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let n=e.specializers.find(a=>a.from==i.external);if(!n)return i;let s=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[r]=l$(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}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 t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let n of e.split(" ")){let s=t.indexOf(n);s>=0&&(i[s]=!0)}let r=null;for(let n=0;ni)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoreO.external(t,i)<<1|e}return O.get}var h$=1,vy=2,Yy=3,Zy=82,Ry=76,_y=117,Vy=85,qy=97,zy=122,Wy=65,Uy=90,jy=95,zl=48,f$=34,Cy=40,d$=41,Gy=32,u$=62,Ey=new z(O=>{if(O.next==Ry||O.next==Vy?O.advance():O.next==_y&&(O.advance(),O.next==zl+8&&O.advance()),O.next!=Zy||(O.advance(),O.next!=f$))return;O.advance();let e="";for(;O.next!=Cy;){if(O.next==Gy||O.next<=13||O.next==d$)return;e+=String.fromCharCode(O.next),O.advance()}for(O.advance();;){if(O.next<0)return O.acceptToken(h$);if(O.next==d$){let t=!0;for(let i=0;t&&i{if(O.next==u$)O.peek(1)==u$&&O.acceptToken(vy,1);else{let e=!1,t=0;for(;;t++){if(O.next>=Wy&&O.next<=Uy)e=!0;else{if(O.next>=qy&&O.next<=zy)return;if(O.next!=jy&&!(O.next>=zl&&O.next<=zl+9))break}O.advance()}e&&t>1&&O.acceptToken(Yy)}},{extend:!0}),Ly=N({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using requires concept import export module __attribute__ __declspec __based":d.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register thread_local inline const volatile restrict _Atomic mutable constexpr constinit consteval virtual explicit VirtualSpecifier Access":d.modifier,"if else switch for while do case default return break continue goto throw try catch":d.controlKeyword,"co_return co_yield co_await":d.controlKeyword,"new sizeof delete static_assert":d.operatorKeyword,"NULL nullptr":d.null,this:d.self,"True False":d.bool,"TypeSize PrimitiveType":d.standard(d.typeName),TypeIdentifier:d.typeName,FieldIdentifier:d.propertyName,"CallExpression/FieldExpression/FieldIdentifier":d.function(d.propertyName),"ModuleName/Identifier":d.namespace,PartitionName:d.labelName,StatementIdentifier:d.labelName,"Identifier DestructorName":d.variableName,"CallExpression/Identifier":d.function(d.variableName),"CallExpression/ScopedIdentifier/Identifier":d.function(d.variableName),"FunctionDeclarator/Identifier FunctionDeclarator/DestructorName":d.function(d.definition(d.variableName)),NamespaceIdentifier:d.namespace,OperatorName:d.operator,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,UpdateOp:d.updateOperator,LineComment:d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,"RawString SystemLibString":d.special(d.string),CharLiteral:d.character,EscapeSequence:d.escape,"UserDefinedLiteral/Identifier":d.literal,PreProcArg:d.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":d.processingInstruction,MacroName:d.special(d.name),"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"< >":d.angleBracket,". ->":d.derefOperator,", ;":d.separator}),My={__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:784,true:784,FALSE:786,false:786,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},Dy={__proto__:null,"<":131},Iy={__proto__:null,">":135},By={__proto__:null,operator:388,new:576,delete:582},Q$=Oe.deserialize({version:14,states:"$:|Q!QQVOOP'gOUOOO(XOWO'#CdO,RQUO'#CgO,]QUO'#FjO-sQbO'#CxO.UQUO'#CxO0TQUO'#KZO0[QUO'#CwO0gOpO'#DvO0oQ!dO'#D]OOQR'#JO'#JOO5XQVO'#GUO5fQUO'#JVOOQQ'#JV'#JVO8zQUO'#KmO{QVO'#E^O?]QUO'#E^OOQQ'#Ed'#EdOOQQ'#Ee'#EeO?bQVO'#EfO@XQVO'#EiOBUQUO'#FPOBvQUO'#FhOOQR'#Fj'#FjOB{QUO'#FjOOQR'#LQ'#LQOOQR'#LP'#LPOETQVO'#KQOFxQUO'#LVOGVQUO'#KqOGkQUO'#LVOH]QUO'#LXOOQR'#HU'#HUOOQR'#HV'#HVOOQR'#HW'#HWOOQR'#K|'#K|OOQR'#J_'#J_Q!QQVOOOHkQVO'#FOOIWQUO'#EhOI_QUOOOKZQVO'#HgOKkQUO'#HgONVQUO'#KqONaQUO'#KqOOQQ'#Kq'#KqO!!_QUO'#KqOOQQ'#Jq'#JqO!!lQUO'#HxOOQQ'#KZ'#KZO!&^QUO'#KZO!&zQUO'#KQO!(zQVO'#I]O!(zQVO'#I`OCQQUO'#KQOOQQ'#Ip'#IpOOQQ'#KQ'#KQO!,}QUO'#KZOOQR'#KY'#KYO!-UQUO'#DZO!/mQUO'#KnOOQQ'#Kn'#KnO!/tQUO'#KnO!/{QUO'#ETO!0QQUO'#EWO!0VQUO'#FRO8zQUO'#FPO!QQVO'#F^O!0[Q#vO'#F`O!0gQUO'#FkO!0oQUO'#FpO!0tQVO'#FrO!0oQUO'#FuO!3sQUO'#FvO!3xQVO'#FxO!4SQUO'#FzO!4XQUO'#F|O!4^QUO'#GOO!4cQVO'#GQO!(zQVO'#GSO!4jQUO'#GpO!4xQUO'#GYO!(zQVO'#FeO!6VQUO'#FeO!6[QVO'#G`O!6cQUO'#GaO!6nQUO'#GnO!6sQUO'#GrO!6xQUO'#GzO!7jQ&lO'#HiO!:mQUO'#GuO!:}QUO'#HXO!;YQUO'#HZO!;bQUO'#DXO!;bQUO'#HuO!;bQUO'#HvO!;yQUO'#HwO!<[QUO'#H|O!=PQUO'#H}O!>uQVO'#IbO!(zQVO'#IdO!?PQUO'#IgO!?WQVO'#IjP!@}{,UO'#CbP!6n{,UO'#CbP!AY{7[O'#CbP!6n{,UO'#CbP!A_{,UO'#CbP!AjOSO'#IzPOOO)CEn)CEnOOOO'#I|'#I|O!AtOWO,59OOOQR,59O,59OO!(zQVO,59VOOQQ,59X,59XO!(zQVO,5;ROOQR,5qOOQR'#IX'#IXOOQR'#IY'#IYOOQR'#IZ'#IZOOQR'#I['#I[O!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!DOQVO,5>zOOQQ,5?W,5?WO!EqQVO'#CjO!IjQUO'#CzOOQQ,59d,59dOOQQ,59c,59cOOQQ,5<},5<}O!IwQ&lO,5=mO!?PQUO,5?RO!LkQVO,5?UO!LrQbO,59dO!L}QVO'#FYOOQQ,5?P,5?PO!M_QVO,59WO!MfO`O,5:bO!MkQbO'#D^O!M|QbO'#K_O!N[QbO,59wO!NdQbO'#CxO!NuQUO'#CxO!NzQUO'#KZO# UQUO'#CwOOQR-E<|-E<|O# aQUO,5AoO# hQVO'#EfO@XQVO'#EiOBUQUO,5;kOOQR,5l,5>lO#3gQUO'#CgO#4]QUO,5>pO#6OQUO'#IeOOQR'#I}'#I}O#6WQUO,5:xO#6tQUO,5:xO#7eQUO,5:xO#8YQUO'#CuO!0QQUO'#CmOOQQ'#JW'#JWO#6tQUO,5:xO#8bQUO,5;QO!4xQUO'#DOO#9kQUO,5;QO#9pQUO,5>QO#:|QUO'#DOO#;dQUO,5>{O#;iQUO'#KwO#}QUO'#L[O#?UQUO,5>UO#?ZQbO'#CxO#?fQUO'#GcO#?kQUO'#E^O#@[QUO,5;kO#@sQUO'#K}O#@{QUO,5;rOKkQUO'#HfOBUQUO'#HgO#AQQUO'#KqO!6nQUO'#HjO#AxQUO'#CuO!0tQVO,5PO$(WQUO'#E[O$(eQUO,5>ROOQQ,5>S,5>SO$,RQVO'#C|OOQQ-E=o-E=oOOQQ,5>d,5>dOOQQ,59a,59aO$,]QUO,5>wO$.]QUO,5>zO!6nQUO,59uO$.pQUO,5;qO$.}QUO,5<{O!0QQUO,5:oOOQQ,5:r,5:rO$/YQUO,5;mO$/_QUO'#KmOBUQUO,5;kOOQR,5;x,5;xO$0OQUO'#FbO$0^QUO'#FbO$0cQUO,5;zO$3|QVO'#FmO!0tQVO,5eQUO,5pQUO,5=[O$>uQUO,5=[O!4xQUO,5}QUO,5uQUO,5<{O$DQQUO,5<{O$D]QUO,5=YO!(zQVO,5=^O!(zQVO,5=fO#NeQUO,5=mOOQQ,5>T,5>TO$FbQUO,5>TO$FlQUO,5>TO$FqQUO,5>TO$FvQUO,5>TO!6nQUO,5>TO$HtQUO'#KZO$H{QUO,5=oO$IWQUO,5=aOKkQUO,5=oO$JQQUO,5=sOOQR,5=s,5=sO$JYQUO,5=sO$LeQVO'#H[OOQQ,5=u,5=uO!;]QUO,5=uO%#`QUO'#KjO%#gQUO'#K[O%#{QUO'#KjO%$VQUO'#DyO%$hQUO'#D|O%'eQUO'#K[OOQQ'#K['#K[O%)WQUO'#K[O%#gQUO'#K[O%)]QUO'#K[OOQQ,59s,59sOOQQ,5>a,5>aOOQQ,5>b,5>bO%)eQUO'#HzO%)mQUO,5>cOOQQ,5>c,5>cO%-XQUO,5>cO%-dQUO,5>hO%1OQVO,5>iO%1VQUO,5>|O# hQVO'#EfO%4]QUO,5>|OOQQ,5>|,5>|O%4|QUO,5?OO%7QQUO,5?RO!<[QUO,5?RO%8|QUO,5?UO%sQUO1G0mOOQQ1G0m1G0mO%@PQUO'#CpO%B`QbO'#CxO%BkQUO'#CsO%BpQUO'#CsO%BuQUO1G.uO#AxQUO'#CrOOQQ1G.u1G.uO%DxQUO1G4]O%FOQUO1G4^O%GqQUO1G4^O%IdQUO1G4^O%KVQUO1G4^O%LxQUO1G4^O%NkQUO1G4^O&!^QUO1G4^O&$PQUO1G4^O&%rQUO1G4^O&'eQUO1G4^O&)WQUO1G4^O&*yQUO'#KPO&,SQUO'#KPO&,[QUO,59UOOQQ,5=P,5=PO&.dQUO,5=PO&.nQUO,5=PO&.sQUO,5=PO&.xQUO,5=PO!6nQUO,5=PO#NeQUO1G3XO&/SQUO1G4mO!<[QUO1G4mO&1OQUO1G4pO&2qQVO1G4pOOQQ1G/O1G/OOOQQ1G.}1G.}OOQQ1G2i1G2iO!IwQ&lO1G3XO&2xQUO'#LOO@XQVO'#EiO&4RQUO'#F]OOQQ'#Ja'#JaO&4WQUO'#FZO&4cQUO'#LOO&4kQUO,5;tO&4pQUO1G.rOOQQ1G.r1G.rOOQR1G/|1G/|O&6cQ!dO'#JPO&6hQbO,59xO&8yQ!eO'#D`O&9QQ!dO'#JRO&9VQbO,5@yO&9VQbO,5@yOOQR1G/c1G/cO&9bQbO1G/cO&9gQ&lO'#GeO&:eQbO,59dOOQR1G7Z1G7ZO#@[QUO1G1VO&:pQUO1G1^OBUQUO1G1VO&=RQUO'#CzO#*wQbO,59dO&@tQUO1G6sOOQR-E<{-E<{O&BWQUO1G0dO#6WQUO1G0dOOQQ-E=U-E=UO#6tQUO1G0dOOQQ1G0l1G0lO&B{QUO,59jOOQQ1G3l1G3lO&CcQUO,59jO&CyQUO,59jO!M_QVO1G4gO!(zQVO'#JYO&DeQUO,5AcOOQQ1G0o1G0oO!(zQVO1G0oO!6nQUO'#JnO&DmQUO,5AvOOQQ1G3p1G3pOOQR1G1V1G1VO&HjQVO'#FOO!M_QVO,5;sOOQQ,5;s,5;sOBUQUO'#JcO&JfQUO,5AiO&JnQVO'#E[OOQR1G1^1G1^O&M]QUO'#L[OOQR1G1n1G1nOOQR-E=f-E=fOOQR1G7]1G7]O#DhQUO1G7]OGVQUO1G7]O#DhQUO1G7_OOQR1G7_1G7_O&MeQUO'#G}O&MmQUO'#LWOOQQ,5=h,5=hO&M{QUO,5=jO&NQQUO,5=kOOQR1G7`1G7`O#EfQVO1G7`O&NVQUO1G7`O' ]QVO,5=kOOQR1G1U1G1UO$.vQUO'#E]O'!RQUO'#E]OOQQ'#Ky'#KyO'!lQUO'#KxO'!wQUO,5;UO'#PQUO'#ElO'#dQUO'#ElO'#wQUO'#EtOOQQ'#J['#J[O'#|QUO,5;cO'$sQUO,5;cO'%nQUO,5;dO'&tQVO,5;dOOQQ,5;d,5;dO''OQVO,5;dO'&tQVO,5;dO''VQUO,5;bO'(SQUO,5;eO'(_QUO'#KpO'(gQUO,5:vO'(lQUO,5;fOOQQ1G0n1G0nOOQQ'#J]'#J]O''VQUO,5;bO!4xQUO'#E}OOQQ,5;b,5;bO')gQUO'#E`O'+aQUO'#E{OHrQUO1G0nO'+fQUO'#EbOOQQ'#JX'#JXO'-OQUO'#KrOOQQ'#Kr'#KrO'-xQUO1G0eO'.pQUO1G3kO'/vQVO1G3kOOQQ1G3k1G3kO'0QQVO1G3kO'0XQUO'#L_O'1eQUO'#KXO'1sQUO'#KWO'2OQUO,59hO'2WQUO1G/aO'2]QUO'#FPOOQR1G1]1G1]OOQR1G2g1G2gO$>uQUO1G2gO'2gQUO1G2gO'2rQUO1G0ZOOQR'#J`'#J`O'2wQVO1G1XO'8pQUO'#FTO'8uQUO1G1VO!6nQUO'#JdO'9TQUO,5;|O$0^QUO,5;|OOQQ'#Fc'#FcOOQQ,5;|,5;|O'9cQUO1G1fOOQR1G1f1G1fO'9kQUO,5}QUO1G2`OOQQ'#Cv'#CvO'CzQUO'#G[O'DuQUO'#G[O'DzQUO'#LRO'EYQUO'#G_OOQQ'#LS'#LSO'EhQUO1G2`O'EmQVO1G1kO'HOQVO'#GUOBUQUO'#FWOOQR'#Je'#JeO'EmQVO1G1kO'HYQUO'#FvOOQR1G2f1G2fO'H_QUO1G2gO'HdQUO'#JgO'2gQUO1G2gO!(zQVO1G2tO'HlQUO1G2xO'IuQUO1G3QO'J{QUO1G3XOOQQ1G3o1G3oO'KaQUO1G3oOOQR1G3Z1G3ZO'KfQUO'#KZO'2]QUO'#LTOGkQUO'#LVOOQR'#Gy'#GyO#DhQUO'#LXOOQR'#HQ'#HQO'KpQUO'#GvO'#wQUO'#GuOOQR1G2{1G2{O'LmQUO1G2{O'MdQUO1G3ZO'MoQUO1G3_O'MtQUO1G3_OOQR1G3_1G3_O'M|QUO'#H]OOQR'#H]'#H]O( VQUO'#H]O!(zQVO'#H`O!(zQVO'#H_OOQR'#LZ'#LZO( [QUO'#LZOOQR'#Jk'#JkO( aQVO,5=vOOQQ,5=v,5=vO( hQUO'#H^O( pQUO'#HZOOQQ1G3a1G3aO( zQUO,5@vOOQQ,5@v,5@vO%)WQUO,5@vO%)]QUO,5@vO%$VQUO,5:eO(%iQUO'#KkO(%wQUO'#KkOOQQ,5:e,5:eOOQQ'#JS'#JSO(&SQUO'#D}O(&^QUO'#KqOGkQUO'#LVO('YQUO'#D}OOQQ'#Hp'#HpOOQQ'#Hr'#HrOOQQ'#Hs'#HsOOQQ'#Kl'#KlOOQQ'#JU'#JUO('dQUO,5:hOOQQ,5:h,5:hO((aQUO'#LVO((nQUO'#HtO()UQUO,5@vO()]QUO'#H{O()hQUO'#L^O()pQUO,5>fO()uQUO'#L]OOQQ1G3}1G3}O(-lQUO1G3}O(-sQUO1G3}O(-zQUO1G4TO(/QQUO1G4TO(/VQUO,5A|O!6nQUO1G4hO!(zQVO'#IiOOQQ1G4m1G4mO(/[QUO1G4mO(1_QVO1G4pPOOO1G.h1G.hP!A_{,UO1G.hP(3_QUO'#LeP(3j{,UO1G.hP(3o{7[O1G.hPO{O-E=s-E=sPOOO,5A},5A}P(3w{,UO,5A}POOO1G5Q1G5QO!(zQVO7+$]O(3|QUO'#CzOOQQ,59_,59_O(4XQbO,59dO(4dQbO,59_OOQQ,59^,59^OOQQ7+)w7+)wO!M_QVO'#JtO(4oQUO,5@kOOQQ1G.p1G.pOOQQ1G2k1G2kO(4wQUO1G2kO(4|QUO7+(sOOQQ7+*X7+*XO(7bQUO7+*XO(7iQUO7+*XO(1_QVO7+*[O#NeQUO7+(sO(7vQVO'#JbO(8ZQUO,5AjO(8cQUO,5;vOOQQ'#Cp'#CpOOQQ,5;w,5;wO!(zQVO'#F[OOQQ-E=_-E=_O!M_QVO,5;uOOQQ1G1`1G1`OOQQ,5?k,5?kOOQQ-E<}-E<}OOQR'#Dg'#DgOOQR'#Di'#DiOOQR'#Dl'#DlO(9lQ!eO'#K`O(9sQMkO'#K`O(9zQ!eO'#K`OOQR'#K`'#K`OOQR'#JQ'#JQO(:RQ!eO,59zOOQQ,59z,59zO(:YQbO,5?mOOQQ-E=P-E=PO(:hQbO1G6eOOQR7+$}7+$}OOQR7+&q7+&qOOQR7+&x7+&xO'8uQUO7+&qO(:sQUO7+&OO#6WQUO7+&OO(;hQUO1G/UO(]QUO,5?tOOQQ-E=W-E=WO(?fQUO7+&ZOOQQ,5@Y,5@YOOQQ-E=l-E=lO(?kQUO'#LOO@XQVO'#EiO(@wQUO1G1_OOQQ1G1_1G1_O(BQQUO,5?}OOQQ,5?},5?}OOQQ-E=a-E=aO(BfQUO'#KpOOQR7+,w7+,wO#DhQUO7+,wOOQR7+,y7+,yO(BsQUO,5=iO#DsQUO'#JjO(CUQUO,5ArOOQR1G3U1G3UOOQR1G3V1G3VO(CdQUO7+,zOOQR7+,z7+,zO(E[QUO,5:wO(FyQUO'#EwO!(zQVO,5;VO(GlQUO,5:wO(GvQUO'#EpO(HXQUO'#EzOOQQ,5;Z,5;ZO#K]QVO'#ExO(HoQUO,5:wO(HvQUO'#EyO#GgQUO'#JZO(J`QUO,5AdOOQQ1G0p1G0pO(JkQUO,5;WO!<[QUO,5;^O(KUQUO,5;_O(KdQUO,5;WO(MvQUO,5;`OOQQ-E=Y-E=YO(NOQUO1G0}OOQQ1G1O1G1OO(NyQUO1G1OO)!PQVO1G1OO)!WQVO1G1OO)!bQUO1G0|OOQQ1G0|1G0|OOQQ1G1P1G1PO)#_QUO'#JoO)#iQUO,5A[OOQQ1G0b1G0bOOQQ-E=Z-E=ZO)#qQUO,5;iO!<[QUO,5;iO)$nQVO,5:zO)$uQUO,5;gO$ mQUO7+&YOOQQ7+&Y7+&YO!(zQVO'#EfO)$|QUO,5:|OOQQ'#Ks'#KsOOQQ-E=V-E=VOOQQ,5A^,5A^OOQQ'#Jl'#JlO)(qQUO7+&PPOQQ7+&P7+&POOQQ7+)V7+)VO))iQUO7+)VO)*oQVO7+)VOOQQ,5>m,5>mO$)YQVO'#JsO)*vQUO,5@rOOQQ1G/S1G/SOOQQ7+${7+${O)+RQUO7+(RO)+WQUO7+(ROOQR7+(R7+(RO$>uQUO7+(ROOQQ7+%u7+%uOOQR-E=^-E=^O!0VQUO,5;oOOQQ,5@O,5@OOOQQ-E=b-E=bO$0^QUO1G1hOOQQ1G1h1G1hOOQR7+'Q7+'QOOQR1G1s1G1sOBUQUO,5;rO)+tQUO,5hQUO,5}QUO7+(dO)?SQVO7+(dOOQQ7+(l7+(lOOQQ7+)Z7+)ZO)?[QUO'#KjO)?fQUO'#KjOOQR,5=b,5=bO)?sQUO,5=bO!;bQUO,5=bO!;bQUO,5=bO!;bQUO,5=bOOQR7+(g7+(gOOQR7+(u7+(uOOQR7+(y7+(yOOQR,5=w,5=wO)?xQUO,5=zO)AOQUO,5=yOOQR,5Au,5AuOOQR-E=i-E=iOOQQ1G3b1G3bO)BUQUO,5=xO)BZQVO'#EfOOQQ1G6b1G6bO%)WQUO1G6bO%)]QUO1G6bOOQQ1G0P1G0POOQQ-E=Q-E=QO)DrQUO,5AVO(%iQUO'#JTO)D}QUO,5AVO)D}QUO,5AVO)EVQUO,5:iO8zQUO,5:iOOQQ,5>],5>]O)EaQUO,5AqO)EhQUO'#EVO)FrQUO'#EVO)G]QUO,5:iO)GgQUO'#HlO)GgQUO'#HmOOQQ'#Ko'#KoO)HUQUO'#KoO!(zQVO'#HnOOQQ,5:i,5:iO)HvQUO,5:iO!M_QVO,5:iOOQQ-E=S-E=SOOQQ1G0S1G0SOOQQ,5>`,5>`O)H{QUO1G6bO!(zQVO,5>gO)LjQUO'#JrO)LuQUO,5AxOOQQ1G4Q1G4QO)L}QUO,5AwOOQQ,5Aw,5AwOOQQ7+)i7+)iO*!lQUO7+)iOOQQ7+)o7+)oO*'kQVO1G7hO*)mQUO7+*SO*)rQUO,5?TO**xQUO7+*[POOO7+$S7+$SP*,kQUO'#LfP*,sQUO,5BPP*,x{,UO7+$SPOOO1G7i1G7iO*,}QUO<XQUO7+&jO*?_QVO7+&jOOQQ7+&h7+&hOOQQ,5@Z,5@ZOOQQ-E=m-E=mO*@ZQUO1G1TO*@eQUO1G1TO*AOQUO1G0fOOQQ1G0f1G0fO*BUQUO'#K{O*B^QUO1G1ROOQQ<uQUO<VO)GgQUO'#JpO*NQQUO1G0TO*NcQVO1G0TOOQQ1G3u1G3uO*NjQUO,5>WO*NuQUO,5>XO+ dQUO,5>YO+!jQUO1G0TO%)]QUO7++|O+#pQUO1G4ROOQQ,5@^,5@^OOQQ-E=p-E=pOOQQ<n,5>nO+/iQUOANAXOOQRANAXANAXO+/nQUO7+'`OOQRAN@cAN@cO+0zQVOAN@nO+1RQUOAN@nO!0tQVOAN@nO+2[QUOAN@nO+2aQUOAN@}O+2lQUOAN@}O+3rQUOAN@}OOQRAN@nAN@nO!M_QVOAN@}OOQRANAOANAOO+3wQUO7+'|O)7VQUO7+'|OOQQ7+(O7+(OO+4YQUO7+(OO+5`QVO7+(OO+5gQVO7+'hO+5nQUOANAjOOQR7+(h7+(hOOQR7+)P7+)PO+5sQUO7+)PO+5xQUO7+)POOQQ<= h<= hO+6QQUO7+,]O+6YQUO1G5ZOOQQ1G5Z1G5ZO+6eQUO7+%oOOQQ7+%o7+%oO+6vQUO7+%oO*NcQVO7+%oOOQQ7+)a7+)aO+6{QUO7+%oO+8RQUO7+%oO!M_QVO7+%oO+8]QUO1G0]O*LkQUO1G0]O)EhQUO1G0]OOQQ1G0a1G0aO+8zQUO1G3qO+:QQVO1G3qOOQQ1G3q1G3qO+:[QVO1G3qO+:cQUO,5@[OOQQ-E=n-E=nOOQQ1G3r1G3rO%)WQUO<= hOOQQ7+*Z7+*ZPOQQ,5@b,5@bPOQQ-E=t-E=tOOQQ1G/}1G/}OOQQ,5?x,5?xOOQQ-E=[-E=[OOQRG26sG26sO+:zQUOG26YO!0tQVOG26YO+QQUO<uAN>uO+BpQUOAN>uO+CvQUOAN>uO!M_QVOAN>uO+C{QUO<nQUO'#KZO,?OQUO'#CzO,?^QbO,59dO,6VQUO7+&OO,OP>i>{?aFXMX!&]!,sP!3m!4b!5VP!5qPPPPPPPP!6[P!7tP!9V!:oP!:uPPPPPP!:xP!:xPP!:xPPPPPPPPP!;U!>lP!>oPP!?]!@QPPPPP!@UP>l!AgPP>l!Cn!Eo!E}!Gd!ITP!I`P!Io!Io!MP#!`##v#'S#*^!Eo#*hPP!Eo#*o#*u#*h#*h#*xP#*|#+k#+k#+k#+k!ITP#,U#,g#.|P#/bP#0}P#1R#1Z#2O#2Z#4i#4q#4q#1RP#1RP#4x#5OP#5YPP#5u#6d#7U#5uP#7v#8SP#5uP#5uPP#5u#5uP#5uP#5uP#5uP#5uP#5uP#5uP#8V#5Y#8sP#9YP#9o#9o#9o#9o#9|#1RP#:d#?`#?}PPPPPPPP#@uP#ATP#ATP#Aa#Dn#9OPP#@}#EQP#Ee#Ep#Ev#Ev#@}#FlP#1R#1R#1R#1R#1RP!Io#GW#G_#G_#G_#Gc!Ly#Gm!Ly#Gq!E}!E}!E}#Gt#L^!E}>l>l>l$#V!@Q!@Q!@Q!@Q!@Q!@Q!6[!6[!6[$#jP$%V$%e!6[$%kPP!6[$'y$'|#@l$(P:t7j$+V$-Q$.q$0a7jPP7j$2T7jP7j7jP7jP$5Z7jP7jPP7j$5gPPPPPPPPP*[P$8o$8u$;^$=d$=j$>Q$>[$>g$>v$>|$@[$AZ$Ab$Ai$Ao$Aw$BR$BX$Bd$Bj$Bs$B{$CW$C^$Ch$Cn$Cx$DP$D`$Df$DlP$Dr$Dz$ER$Ea$F}$GT$GZ$Gb$GkPPPPPPPP$Gq$GuPPPPP$Nw$'y$Nz%$S%&[PP%&i%&lPPPPPPPPP%&x%'{%(R%(V%)|%+Z%+|%,T%.d%.jPPP%.t%/P%/S%/Y%0a%0d%0n%0x%0|%2Q%2s%2y#@uP%3d%3t%3w%4X%4e%4i%4o%4u$'y$'|$'|%4x%4{P%5V%5YR#cP'`mO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#g#i#l#q#r#s#t#u#v#w#x#y#z#{#}$U$W$Y$e$f$k%]%m&Q&S&W&b&f&x&y&|'O'P'b'i'j'y(`(b(i)l)r*h*i*l*q*r*v+W+Y+h+j+k,P,R,n,q,w-]-^-a-g.P.Q.U.}/Q/[/c/l/n/s/u0h0{1Q1a1b1l1p1z1|2c2f2i2u2z2}3i4O4R4W4a5Y5e5q6_6c6f6h6j6t6v6{7b7j7m8e8g8m8s8t9R9V9]9_9l9o9p9{:O:U:W:]:b:fU%om%p7QQ&m!`Q(j#]d0P)}/|/}0O0R4}5O5P5S8QR7Q3Tb}Oaewx{!g&S*q&v$i[!W!X!k!n!r!s!v!x#X#Y#[#g#i#l#q#r#s#t#u#v#w#x#y#z#{#}$U$W$Y$e$f$k%]%m&Q&W&b&f&x&y&|'O'P'b'i'j'y(`(b(i)l)r*h*i*l*r*v+W+Y+h+j+k,P,R,n,q,w-]-^-a-g.P.Q.U.}/Q/[/c/l/n/s/u0{1a1b1l1p1z1|2c2f2i2u2z2}3i4O4R4W4a5Y5e5q6_6c6f6h6j6t6v6{7b7j7m8e8g8m8s8t9R9V9]9_9l9o9p9{:O:U:W:]:b:fS%`f0h#d%jgnp|#O$g$|$}%S%d%h%i%w&s't'u(Q*Y*`*b*t+],l,v-_-p-w.f.m.o0]0y0z1O1S2_2j5a6g;W;X;Y;`;a;b;o;p;q;r;v;w;x;y 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:425,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",-4,4,5,8,10,""],["openedBy",12,"(",52,"{",54,"["],["closedBy",13,")",51,"}",53,"]"]],propSources:[Ly],skippedNodes:[0,3,4,5,6,7,10,297,298,299,300,301,302,303,304,305,306,347,348],repeatNodeCount:41,tokenData:"&*r7ZR!UOX$eXY({YZ.gZ]$e]^+P^p$epq({qr.}rs0}st2ktu$euv!7dvw!9bwx!;exy!O{|!?R|}!AV}!O!BQ!O!P!DX!P!Q#+y!Q!R#Az!R![$(x![!]$Ag!]!^$Cc!^!_$D^!_!`%1W!`!a%2X!a!b%5_!b!c$e!c!n%6Y!n!o%7q!o!w%6Y!w!x%7q!x!}%6Y!}#O%:n#O#P%u#Y#]4Y#]#^NZ#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e4eb)]W(qQ'f&j'm.oOY$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$e4e5xd)]W(qQ'f&j'm.oOY$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$e4e7cd)]W(qQ'f&j'm.oOY$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$e4e8|d)]W(qQ'f&j'm.oOY$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$e4e:gd)]W(qQ'f&j'm.oOY$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$e4e][)T,g)]W(qQ%Z!b'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!?`^)]W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|!@[|!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!@gY)]W!X-y(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!AbY!h,k)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!B__)]W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox}$e}!O!@[!O!_$e!_!`!8g!`!a!C^!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!CiY(x-y)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Dd^)]W(qQ'f&j(w,gOY$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$e2a!Ei[)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!F_!P#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!FjY)Y,k)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]!Gen)]W(qQ!i,g'f&jOY$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$e2T!IjY(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![!JY![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O2T!Jcn(qQ!i,g'f&jOY(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(O2T!Ljl(qQ!i,g'f&jOY(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(O2T!Ni^(qQ'f&jOY(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(O2T# nj(qQ!i,g'f&jOY(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(O2T##id(qQ!i,g'f&jOY(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(O2]#%Sn)]W(qQ!i,g'f&jOY$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$e2]#'Z`)]W(qQ'f&jOY$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$e2]#(hj)]W(qQ!i,g'f&jOY$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$e2]#*ef)]W(qQ!i,g'f&jOY$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$e7Z#,W`)]W(qQ%Z!b![,g'f&jOY$eZr$ers%^sw$ewx(Oxz$ez{#-Y{!P$e!P!Q#:s!Q!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#-c])]W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y1e#._TOz#.[z{#.n{;'S#.[;'S;=`#/]<%lO#.[1e#.qVOz#.[z{#.n{!P#.[!P!Q#/W!Q;'S#.[;'S;=`#/]<%lO#.[1e#/]OT1e1e#/`P;=`<%l#.[7X#/jZ)]W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7P#0bX'f&jOY#0]YZ#.[Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1SZ'f&jOY#0]YZ#.[Zz#0]z{#0}{!P#0]!P!Q#1u!Q#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1|UT1e'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}7P#2eZ'f&jOY#0]YZ#0]Z]#0]]^#3W^z#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3]X'f&jOY#0]YZ#0]Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3{P;=`<%l#0]7X#4V])]W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{!P#/c!P!Q#5O!Q#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7X#5XW)]WT1e'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^7X#5tP;=`<%l#/c7R#6OZ(qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#6x](qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{!P#5w!P!Q#7q!Q#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#7zW(qQT1e'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O7R#8gP;=`<%l#5w7Z#8s_)]W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{!P#-Y!P!Q#9r!Q#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y7Z#9}Y)]W(qQT1e'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#:pP;=`<%l#-Y7Z#;OY)]W(qQS1e'f&jOY#:sZr#:srs#;nsw#:swx#@{x#O#:s#O#P#[<%lO#b#P;'S#[<%lO#[<%lO#_P;=`<%l#i]S1e'f&jOY#b#P#b#[<%lO#[<%lO#b#P#b#[<%lO#t!R![$2V![!c$e!c!i$2V!i#O$e#O#P&f#P#T$e#T#Z$2V#Z;'S$e;'S;=`(u<%lO$e2]$?Pv)]W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx$4lx!O$e!O!P$ m!P!Q$e!Q![$2V![!c$e!c!g$2V!g!h$:p!h!i$2V!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$2V#U#V$2V#V#X$2V#X#Y$:p#Y#Z$2V#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$0z#m;'S$e;'S;=`(u<%lO$e4e$Ar[(v-X)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox![$e![!]$Bh!]#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3s$BsYm-})]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]$CnY)X,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7V$Dk_q,g%]!b)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!^$Ej!^!_%+w!_!`%.U!`!a%0]!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej*[$Es])]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ejp$FoTO!`$Fl!`!a$GO!a;'S$Fl;'S;=`$GT<%lO$Flp$GTO$Wpp$GWP;=`<%l$Fl*Y$GbZ)]W'f&jOY$GZYZ$FlZw$GZwx$HTx!`$GZ!`!a%(U!a#O$GZ#O#P$Ib#P;'S$GZ;'S;=`%(y<%lO$GZ*Q$HYX'f&jOY$HTYZ$FlZ!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q$IOU$WpY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}*Q$Ig['f&jOY$HTYZ$HTZ]$HT]^$J]^!`$HT!`!a$NO!a#O$HT#O#P%&n#P;'S$HT;'S;=`%'f;=`<%l%$z<%lO$HT*Q$JbX'f&jOY$HTYZ$J}Z!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT'[$KSX'f&jOY$J}YZ$FlZ!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$KvU$Wp'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}'[$L_Z'f&jOY$J}YZ$J}Z]$J}]^$MQ^!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MVX'f&jOY$J}YZ$J}Z!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MuP;=`<%l$J}*Q$M{P;=`<%l$HT*Q$NVW$Wp'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`$NtW'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`% eUY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%})`% |Y'f&jOY$NoYZ$NoZ]$No]^%!l^#O$No#O#P%#d#P;'S$No;'S;=`%$[;=`<%l%$z<%lO$No)`%!qX'f&jOY$NoYZ%}Z!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%#aP;=`<%l$No)`%#iZ'f&jOY$NoYZ%}Z]$No]^%!l^!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%$_XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$No<%lO%$z#t%$}WOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h<%lO%$z#t%%lOY#t#t%%oRO;'S%$z;'S;=`%%x;=`O%$z#t%%{XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l%$z<%lO%$z#t%&kP;=`<%l%$z*Q%&sZ'f&jOY$HTYZ$J}Z]$HT]^$J]^!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q%'iXOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$HT<%lO%$z*Y%(aW$WpY#t)]W'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^*Y%(|P;=`<%l$GZ*S%)WZ(qQ'f&jOY%)PYZ$FlZr%)Prs$HTs!`%)P!`!a%)y!a#O%)P#O#P$Ib#P;'S%)P;'S;=`%*n<%lO%)P*S%*UW$WpY#t(qQ'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O*S%*qP;=`<%l%)P*[%+RY$WpY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e*[%+tP;=`<%l$Ej7V%,U^)]W(qQ%[!b!f,g'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!_$Ej!_!`%-Q!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%-]]!g-y)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%.c]%]!b!b,g)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%/[!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%/mY%]!b!b,g$WpY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e)j%0hYY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%1c[)j!c)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%2f]%]!b)]W(qQ!d,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`%3_!`!a%4[!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%3lY%]!b!b,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%4i[)]W(qQ%[!b!f,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%5jY(uP)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z%6ib)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e7Z%8Qb)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e5P%9cW)]W(p/]'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^2T%:UW(qQ)[,g'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O3o%:yZ!V-y)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!}$e!}#O%;l#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%;wY)QP)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e4e%[Z]%=q]^%?Z^!Q%=q!Q![%?w![!w%=q!w!x%AX!x#O%=q#O#P%H_#P#i%=q#i#j%Ds#j#l%=q#l#m%IR#m;'S%=q;'S;=`%Kt<%lO%=q&t%=xUXY'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}4e%>e[XY(n.o'f&jOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}4e%?bVXY'f&jOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@OWXY'f&jOY%}Z!Q%}!Q![%@h![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@oWXY'f&jOY%}Z!Q%}!Q![%=q![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%A^['f&jOY%}Z!Q%}!Q![%BS![!c%}!c!i%BS!i#O%}#O#P&f#P#T%}#T#Z%BS#Z;'S%};'S;=`'r<%lO%}&t%BX['f&jOY%}Z!Q%}!Q![%B}![!c%}!c!i%B}!i#O%}#O#P&f#P#T%}#T#Z%B}#Z;'S%};'S;=`'r<%lO%}&t%CS['f&jOY%}Z!Q%}!Q![%Cx![!c%}!c!i%Cx!i#O%}#O#P&f#P#T%}#T#Z%Cx#Z;'S%};'S;=`'r<%lO%}&t%C}['f&jOY%}Z!Q%}!Q![%Ds![!c%}!c!i%Ds!i#O%}#O#P&f#P#T%}#T#Z%Ds#Z;'S%};'S;=`'r<%lO%}&t%Dx['f&jOY%}Z!Q%}!Q![%En![!c%}!c!i%En!i#O%}#O#P&f#P#T%}#T#Z%En#Z;'S%};'S;=`'r<%lO%}&t%Es['f&jOY%}Z!Q%}!Q![%Fi![!c%}!c!i%Fi!i#O%}#O#P&f#P#T%}#T#Z%Fi#Z;'S%};'S;=`'r<%lO%}&t%Fn['f&jOY%}Z!Q%}!Q![%Gd![!c%}!c!i%Gd!i#O%}#O#P&f#P#T%}#T#Z%Gd#Z;'S%};'S;=`'r<%lO%}&t%Gi['f&jOY%}Z!Q%}!Q![%=q![!c%}!c!i%=q!i#O%}#O#P&f#P#T%}#T#Z%=q#Z;'S%};'S;=`'r<%lO%}&t%HfXXY'f&jOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%IW['f&jOY%}Z!Q%}!Q![%I|![!c%}!c!i%I|!i#O%}#O#P&f#P#T%}#T#Z%I|#Z;'S%};'S;=`'r<%lO%}&t%JR['f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KO[XY'f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KwP;=`<%l%=q2a%LVZ!W,V)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P#Q%Lx#Q;'S$e;'S;=`(u<%lO$e'Y%MTY)Pd)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%NQ[)]W(qQ%[!b'f&j!_,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z& Vd)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q!Y%6Y!Y!Z%7q!Z![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e2]&!pY!T,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o&#m^)]W(qQ%[!b'f&j!^,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P#p$e#p#q&$i#q;'S$e;'S;=`(u<%lO$e3o&$vY)U,g%^!b)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e'V&%qY!Ua)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e(]&&nc)]W(qQ%[!b'RP'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&(Sc)]W(qQ'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&)jb)]W(qQeT'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![&)_![!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e",tokenizers:[Ey,Ay,0,1,2,3,4,5,6,7,8,9],topRules:{Program:[0,307]},dynamicPrecedences:{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,365:3,417:1,418:3,419:1,420:1},specialized:[{term:356,get:O=>My[O]||-1},{term:33,get:O=>Dy[O]||-1},{term:66,get:O=>Iy[O]||-1},{term:363,get:O=>By[O]||-1}],tokenPrec:24891});var Ny=se.define({name:"cpp",parser:Q$.configure({props:[ae.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch)\b/}),LabeledStatement:nO,CaseStatement:O=>O.baseIndent+O.unit,BlockComment:()=>null,CompoundStatement:ye({closing:"}"}),Statement:le({except:/^{/})}),te.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function $$(){return new K(Ny)}var Fy=122,p$=1,Hy=123,Ky=124,g$=2,Jy=125,e0=3,t0=4,P$=[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],O0=58,i0=40,S$=95,r0=91,Ss=45,n0=46,s0=35,a0=37,o0=38,l0=92,c0=10,h0=42;function yr(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function Wl(O){return O>=48&&O<=57}function m$(O){return Wl(O)||O>=97&&O<=102||O>=65&&O<=70}var X$=(O,e,t)=>(i,r)=>{for(let n=!1,s=0,a=0;;a++){let{next:o}=i;if(yr(o)||o==Ss||o==S$||n&&Wl(o))!n&&(o!=Ss||a>0)&&(n=!0),s===a&&o==Ss&&s++,i.advance();else if(o==l0&&i.peek(1)!=c0){if(i.advance(),m$(i.next)){do i.advance();while(m$(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();n=!0}else{n&&i.acceptToken(s==2&&r.canShift(g$)?e:o==i0?t:O);break}}},f0=new z(X$(Hy,g$,Ky)),d0=new z(X$(Jy,e0,t0)),u0=new z(O=>{if(P$.includes(O.peek(-1))){let{next:e}=O;(yr(e)||e==S$||e==s0||e==n0||e==h0||e==r0||e==O0&&yr(O.peek(1))||e==Ss||e==o0)&&O.acceptToken(Fy)}}),Q0=new z(O=>{if(!P$.includes(O.peek(-1))){let{next:e}=O;if(e==a0&&(O.advance(),O.acceptToken(p$)),yr(e)){do O.advance();while(yr(O.next)||Wl(O.next));O.acceptToken(p$)}}}),$0=N({"AtKeyword import charset namespace keyframes media supports":d.definitionKeyword,"from to selector":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; ,":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),p0={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},m0={__proto__:null,or:98,and:98,not:106,only:106,layer:170},g0={__proto__:null,selector:112,layer:166},P0={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},S0={__proto__:null,to:207},T$=Oe.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mOPQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!hO[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hyS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hp0[O]||-1},{term:125,get:O=>m0[O]||-1},{term:4,get:O=>g0[O]||-1},{term:25,get:O=>P0[O]||-1},{term:123,get:O=>S0[O]||-1}],tokenPrec:1963});var Ul=null;function jl(){if(!Ul&&typeof document=="object"&&document.body){let{style:O}=document.body,e=[],t=new Set;for(let i in O)i!="cssText"&&i!="cssFloat"&&typeof O[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Ul=e.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return Ul||[]}var y$=["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(O=>({type:"class",label:O})),b$=["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(O=>({type:"keyword",label:O})).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(O=>({type:"constant",label:O}))),X0=["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(O=>({type:"type",label:O})),T0=["@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(O=>({type:"keyword",label:O})),Ut=/^(\w[\w-]*|-\w[\w-]*|)$/,y0=/^-(-[\w-]*)?$/;function b0(O,e){var t;if((O.name=="("||O.type.isError)&&(O=O.parent||O),O.name!="ArgList")return!1;let i=(t=O.parent)===null||t===void 0?void 0:t.firstChild;return i?.name!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}var x$=new yt,x0=["Declaration"];function w0(O){for(let e=O;;){if(e.type.isTop)return e;if(!(e=e.parent))return O}}function w$(O,e,t){if(e.to-e.from>4096){let i=x$.get(e);if(i)return i;let r=[],n=new Set,s=e.cursor(A.IncludeAnonymous);if(s.firstChild())do for(let a of w$(O,s.node,t))n.has(a.label)||(n.add(a.label),r.push(a));while(s.nextSibling());return x$.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(n=>{var s;if(t(n)&&n.matchContext(x0)&&((s=n.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let a=O.sliceString(n.from,n.to);r.has(a)||(r.add(a),i.push({label:a,type:"variable"}))}}),i}}var k0=O=>e=>{let{state:t,pos:i}=e,r=W(t).resolveInner(i,-1),n=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(n||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:jl(),validFor:Ut};if(r.name=="ValueName")return{from:r.from,options:b$,validFor:Ut};if(r.name=="PseudoClassName")return{from:r.from,options:y$,validFor:Ut};if(O(r)||(e.explicit||n)&&b0(r,t.doc))return{from:O(r)||n?r.from:i,options:w$(t.doc,w0(r),O),validFor:y0};if(r.name=="TagName"){for(let{parent:o}=r;o;o=o.parent)if(o.name=="Block")return{from:r.from,options:jl(),validFor:Ut};return{from:r.from,options:X0,validFor:Ut}}if(r.name=="AtKeyword")return{from:r.from,options:T0,validFor:Ut};if(!e.explicit)return null;let s=r.resolve(i),a=s.childBefore(i);return a&&a.name==":"&&s.name=="PseudoClassSelector"?{from:i,options:y$,validFor:Ut}:a&&a.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:i,options:b$,validFor:Ut}:s.name=="Block"||s.name=="Styles"?{from:i,options:jl(),validFor:Ut}:null},v0=k0(O=>O.name=="VariableName"),br=se.define({name:"css",parser:T$.configure({props:[ae.add({Declaration:le()}),te.add({"Block KeyframeList":me})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Xs(){return new K(br,br.data.of({autocomplete:v0}))}var Y0=177,Z0=179,R0=184,_0=12,V0=13,q0=17,z0=20,W0=25,U0=53,j0=95,C0=142,G0=144,E0=145,A0=148,L0=10,M0=13,D0=32,I0=9,k$=47,B0=41,N0=125,F0=new z((O,e)=>{for(let t=0,i=O.next;(e.context&&(i<0||i==L0||i==M0||i==k$&&O.peek(t+1)==k$)||i==B0||i==N0)&&O.acceptToken(Y0),!(i!=D0&&i!=I0);)i=O.peek(++t)},{contextual:!0}),H0=new Set([j0,R0,z0,_0,q0,G0,E0,C0,A0,V0,U0,W0]),K0=new Ge({start:!1,shift:(O,e)=>e==Z0?O:H0.has(e)}),J0=N({"func interface struct chan map const type var":d.definitionKeyword,"import package":d.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":d.controlKeyword,range:d.keyword,Bool:d.bool,String:d.string,Rune:d.character,Number:d.number,Nil:d.null,VariableName:d.variableName,DefName:d.definition(d.variableName),TypeName:d.typeName,LabelName:d.labelName,FieldName:d.propertyName,"FunctionDecl/DefName":d.function(d.definition(d.variableName)),"TypeSpec/DefName":d.definition(d.typeName),"CallExpr/VariableName":d.function(d.variableName),LineComment:d.lineComment,BlockComment:d.blockComment,LogicOp:d.logicOperator,ArithOp:d.arithmeticOperator,BitOp:d.bitwiseOperator,"DerefOp .":d.derefOperator,"UpdateOp IncDecOp":d.updateOperator,CompareOp:d.compareOperator,"= :=":d.definitionOperator,"<-":d.operator,'~ "*"':d.modifier,"; ,":d.separator,"... :":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),eb={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},v$=Oe.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuOPQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<nQQO'#FrOOQO,5vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"\u26A0 LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:K0,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[J0],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[F0,1,2,new kt("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:O=>eb[O]||-1}],tokenPrec:5451});var tb=[U("func ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"declaration",type:"keyword"}),U("func (${receiver}) ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),U("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),U("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),U("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),U("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),U("for ${init}; ${test}; ${update} {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),U("for ${i} := range ${value} {\n ${}\n}",{label:"for",detail:"range",type:"keyword"}),U(`select { \${} }`,{label:"select",detail:"statement",type:"keyword"}),U("case ${}:\n${}",{label:"case",type:"keyword"}),U("switch ${} {\n ${}\n}",{label:"switch",detail:"statement",type:"keyword"}),U("switch ${}.(${type}) {\n ${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),U("if ${} {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),U(`if \${} { \${} @@ -27,12 +27,12 @@ var Gs=[],hh=[];(()=>{let O="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2, constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),U('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),U('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],gx=sp.concat([U("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),U("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),U("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),ip=new yt,ap=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function xr(O){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,O),!0}}var Px=["FunctionDeclaration"],Sx={FunctionDeclaration:xr("function"),ClassDeclaration:xr("class"),ClassExpression:()=>!0,EnumDeclaration:xr("constant"),TypeAliasDeclaration:xr("type"),NamespaceDeclaration:xr("namespace"),VariableDefinition(O,e){O.matchContext(Px)||e(O,"variable")},TypeDefinition(O,e){e(O,"type")},__proto__:null};function op(O,e){let t=ip.get(e);if(t)return t;let i=[],r=!0;function n(s,a){let o=O.sliceString(s.from,s.to);i.push({label:o,type:a})}return e.cursor(A.IncludeAnonymous).iterate(s=>{if(r)r=!1;else if(s.name){let a=Sx[s.name];if(a&&a(s,n)||ap.has(s.name))return!1}else if(s.to-s.from>8192){for(let a of op(O,s.node))i.push(a);return!1}}),ip.set(e,i),i}var rp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,lp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Xx(O){let e=W(O.state).resolveInner(O.pos,-1);if(lp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&rp.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)ap.has(r.name)&&(i=i.concat(op(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:rp}}var ut=se.define({name:"javascript",parser:Op.configure({props:[ae.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:nO,SwitchBody:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},Block:ye({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"TemplateString BlockComment":()=>null,"Statement Property":le({except:/^\s*{/}),JSXElement(O){let e=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},JSXEscape(O){let e=/\s*\}/.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},"JSXOpenTag JSXSelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),cp={test:O=>/^JSX/.test(O.name),facet:ar({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Kl=ut.configure({dialect:"ts"},"typescript"),Jl=ut.configure({dialect:"jsx",props:[An.add(O=>O.isTop?[cp]:void 0)]}),ec=ut.configure({dialect:"jsx ts",props:[An.add(O=>O.isTop?[cp]:void 0)]},"typescript"),hp=O=>({label:O,type:"keyword"}),fp="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(hp),Tx=fp.concat(["declare","implements","private","protected","public"].map(hp));function ys(O={}){let e=O.jsx?O.typescript?ec:Jl:O.typescript?Kl:ut,t=O.typescript?gx.concat(Tx):sp.concat(fp);return new K(e,[ut.data.of({autocomplete:lO(lp,zt(t))}),ut.data.of({autocomplete:Xx}),O.jsx?xx:[]])}function yx(O){for(;;){if(O.name=="JSXOpenTag"||O.name=="JSXSelfClosingTag"||O.name=="JSXFragmentTag")return O;if(O.name=="JSXEscape"||!O.parent)return null;O=O.parent}}function np(O,e,t=O.length){for(let i=e?.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return O.sliceString(i.from,Math.min(i.to,t));return""}var bx=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),xx=b.inputHandler.of((O,e,t,i,r)=>{if((bx?O.composing:O.compositionStarted)||O.state.readOnly||e!=t||i!=">"&&i!="/"||!ut.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var c;let{head:l}=o,h=W(s).resolveInner(l-1,-1),f;if(h.name=="JSXStartTag"&&(h=h.parent),!(s.doc.sliceString(l-1,l)!=i||h.name=="JSXAttributeValue"&&h.to>l)){if(i==">"&&h.name=="JSXFragmentTag")return{range:o,changes:{from:l,insert:""}};if(i=="/"&&h.name=="JSXStartCloseTag"){let u=h.parent,Q=u.parent;if(Q&&u.from==l-2&&((f=np(s.doc,Q.firstChild,l))||((c=Q.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let $=`${f}>`;return{range:P.cursor(l+$.length,-1),changes:{from:l,insert:$}}}}else if(i==">"){let u=yx(h);if(u&&u.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(s.doc.sliceString(l,l+2))&&(f=np(s.doc,u,l)))return{range:o,changes:{from:l,insert:``}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var wr=["_blank","_self","_top","_parent"],tc=["ascii","utf-8","utf-16","latin1","latin1"],Oc=["get","post","put","delete"],ic=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],R={},wx={a:{attrs:{href:null,ping:null,type:null,media:null,target:wr,hreflang:null}},abbr:R,address:R,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:R,aside:R,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:R,base:{attrs:{href:null,target:wr}},bdi:R,bdo:R,blockquote:{attrs:{cite:null}},body:R,br:R,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:ic,formmethod:Oc,formnovalidate:["novalidate"],formtarget:wr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:R,center:R,cite:R,code:R,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:R,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:R,div:R,dl:R,dt:R,em:R,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:R,figure:R,footer:R,form:{attrs:{action:null,name:null,"accept-charset":tc,autocomplete:["on","off"],enctype:ic,method:Oc,novalidate:["novalidate"],target:wr}},h1:R,h2:R,h3:R,h4:R,h5:R,h6:R,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:R,hgroup:R,hr:R,html:{attrs:{manifest:null}},i:R,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:ic,formmethod:Oc,formnovalidate:["novalidate"],formtarget:wr,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:R,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:R,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:R,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:tc,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:R,noscript:R,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:R,param:{attrs:{name:null,value:null}},pre:R,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:R,rt:R,ruby:R,samp:R,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:tc}},section:R,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:R,source:{attrs:{src:null,type:null,media:null}},span:R,strong:R,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:R,summary:R,sup:R,table:R,tbody:R,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:R,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:R,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:R,time:{attrs:{datetime:null}},title:R,tr:R,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:R,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:R},$p={accesskey:null,class:null,contenteditable:Je,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:Je,autocorrect:Je,autocapitalize:Je,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":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"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},pp="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(O=>"on"+O);for(let O of pp)$p[O]=null;var _O=class{constructor(e,t){this.tags={...wx,...e},this.globalAttrs={...$p,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};_O.default=new _O;function Qi(O,e,t=O.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?O.sliceString(r.from,Math.min(r.to,t)):""}function $i(O,e=!1){for(;O;O=O.parent)if(O.name=="Element")if(e)e=!1;else return O;return null}function mp(O,e,t){let i=t.tags[Qi(O,$i(e))];return i?.children||t.allTags}function rc(O,e){let t=[];for(let i=$i(e);i&&!i.type.isTop;i=$i(i.parent)){let r=Qi(O,i);if(r&&i.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=i.firstChild.to)&&t.push(r)}return t}var gp=/^[:\-\.\w\u00b7-\uffff]*$/;function dp(O,e,t,i,r){let n=/\s*>/.test(O.sliceDoc(r,r+5))?"":">",s=$i(t,t.name=="StartTag"||t.name=="TagName");return{from:i,to:r,options:mp(O.doc,s,e).map(a=>({label:a,type:"type"})).concat(rc(O.doc,t).map((a,o)=>({label:"/"+a,apply:"/"+a+n,type:"type",boost:99-o}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function up(O,e,t,i){let r=/\s*>/.test(O.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:rc(O.doc,e).map((n,s)=>({label:n,apply:n+r,type:"type",boost:99-s})),validFor:gp}}function kx(O,e,t,i){let r=[],n=0;for(let s of mp(O.doc,t,e))r.push({label:"<"+s,type:"type"});for(let s of rc(O.doc,t))r.push({label:"",type:"type",boost:99-n++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function vx(O,e,t,i,r){let n=$i(t),s=n?e.tags[Qi(O.doc,n)]:null,a=s&&s.attrs?Object.keys(s.attrs):[],o=s&&s.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:i,to:r,options:o.map(c=>({label:c,type:"property"})),validFor:gp}}function Yx(O,e,t,i,r){var n;let s=(n=t.parent)===null||n===void 0?void 0:n.getChild("AttributeName"),a=[],o;if(s){let c=O.sliceDoc(s.from,s.to),l=e.globalAttrs[c];if(!l){let h=$i(t),f=h?e.tags[Qi(O.doc,h)]:null;l=f?.attrs&&f.attrs[c]}if(l){let h=O.sliceDoc(i,r).toLowerCase(),f='"',u='"';/^['"]/.test(h)?(o=h[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",u=O.sliceDoc(r,r+1)==h[0]?"":h[0],h=h.slice(1),i++):o=/^[^\s<>='"]*$/;for(let Q of l)a.push({label:Q,apply:f+Q+u,type:"constant"})}}return{from:i,to:r,options:a,validFor:o}}function Pp(O,e){let{state:t,pos:i}=e,r=W(t).resolveInner(i,-1),n=r.resolve(i);for(let s=i,a;n==r&&(a=r.childBefore(s));){let o=a.lastChild;if(!o||!o.type.isError||o.fromPp(i,r)}var Rx=ut.parser.configure({top:"SingleExpression"}),Xp=[{tag:"script",attrs:O=>O.type=="text/typescript"||O.lang=="ts",parser:Kl.parser},{tag:"script",attrs:O=>O.type=="text/babel"||O.type=="text/jsx",parser:Jl.parser},{tag:"script",attrs:O=>O.type=="text/typescript-jsx",parser:ec.parser},{tag:"script",attrs(O){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(O.type)},parser:Rx},{tag:"script",attrs(O){return!O.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(O.type)},parser:ut.parser},{tag:"style",attrs(O){return(!O.lang||O.lang=="css")&&(!O.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(O.type))},parser:br.parser}],Tp=[{name:"style",parser:br.parser.configure({top:"Styles"})}].concat(pp.map(O=>({name:O,parser:ut.parser}))),yp=se.define({name:"html",parser:K$.configure({props:[ae.add({Element(O){let e=/^(\s*)(<\/)?/.exec(O.textAfter);return O.node.to<=O.pos+e[0].length?O.continue():O.lineIndent(O.node.from)+(e[2]?0:O.unit)},"OpenTag CloseTag SelfClosingTag"(O){return O.column(O.node.from)+O.unit},Document(O){if(O.pos+/\s*/.exec(O.textAfter)[0].lengthO.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),bs=yp.configure({wrap:Bl(Xp,Tp)});function pi(O={}){let e="",t;O.matchClosingTags===!1&&(e="noMatch"),O.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(O.nestedLanguages&&O.nestedLanguages.length||O.nestedAttributes&&O.nestedAttributes.length)&&(t=Bl((O.nestedLanguages||[]).concat(Xp),(O.nestedAttributes||[]).concat(Tp)));let i=t?yp.configure({wrap:t,dialect:e}):e?bs.configure({dialect:e}):bs;return new K(i,[bs.data.of({autocomplete:Zx(O)}),O.autoCloseTags!==!1?_x:[],ys().support,Xs().support])}var Qp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),_x=b.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!bs.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var c,l,h;let f=s.doc.sliceString(o.from-1,o.to)==i,{head:u}=o,Q=W(s).resolveInner(u,-1),$;if(f&&i==">"&&Q.name=="EndTag"){let p=Q.parent;if(((l=(c=p.parent)===null||c===void 0?void 0:c.lastChild)===null||l===void 0?void 0:l.name)!="CloseTag"&&($=Qi(s.doc,p.parent,u))&&!Qp.has($)){let m=u+(s.doc.sliceString(u,u+1)===">"?1:0),g=``;return{range:o,changes:{from:u,to:m,insert:g}}}}else if(f&&i=="/"&&Q.name=="IncompleteCloseTag"){let p=Q.parent;if(Q.from==u-2&&((h=p.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&($=Qi(s.doc,p,u))&&!Qp.has($)){let m=u+(s.doc.sliceString(u,u+1)===">"?1:0),g=`${$}>`;return{range:P.cursor(u+g.length,-1),changes:{from:u,to:m,insert:g}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Vx=N({null:d.null,instanceof:d.operatorKeyword,this:d.self,"new super assert open to with void":d.keyword,"class interface extends implements enum var":d.definitionKeyword,"module package import":d.moduleKeyword,"switch while for if else case default do break continue return try catch finally throw":d.controlKeyword,"requires exports opens uses provides public private protected static transitive abstract final strictfp synchronized native transient volatile throws":d.modifier,IntegerLiteral:d.integer,FloatingPointLiteral:d.float,"StringLiteral TextBlock":d.string,CharacterLiteral:d.character,LineComment:d.lineComment,BlockComment:d.blockComment,BooleanLiteral:d.bool,PrimitiveType:d.standard(d.typeName),TypeName:d.typeName,Identifier:d.variableName,"MethodName/Identifier":d.function(d.variableName),Definition:d.definition(d.variableName),ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,UpdateOp:d.updateOperator,Asterisk:d.punctuation,Label:d.labelName,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),qx={__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},bp=Oe.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'#HsOQQPO'#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_,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,5gQPO,5gQPO,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`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:bOhOOQO1G/z1G/zO!oOOQO1G1P1G1POOQO1G0Q1G0QO!=oQPO'#E]OOQO1G0b1G0bO!>`QPO1G1yO!'dQPO1G0bO!*sQPO1G0RO!+RQPO1G0]O!+ZQPO1G0WOOQO1G/]1G/]O!>eQQO1G.pO9eQPO1G0jO*pQPO1G0jOgQPO'#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#WOOQO1G/O1G/OOOQO7+$h7+$hOOQO1G/{1G/{O#=cQQO1G/{OOQO1G/}1G/}O#=hQPO1G/{OOQO1G/|1G/|OdQPO,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'#EYOgQPO,5jO#M{QPO,59TO#NSQPO'#IVO#N[QPO,5;oO*pQPO'#G{O#NaQPO,5>rOOQO1G.n1G.nOOQO<Z,5>ZOOQO,5=U,5=UOOQO-E:h-E:hO#NvQPO7+%gOOQO7+%g7+%gOOQO7+%i7+%iOOQO<kO$%tQPO'#EZOOQO1G0_1G0_O$%{QPO1G0_O?tQPO,5:pOOQO-E:s-E:sOOQO1G0Z1G0ZOOQO1G0n1G0nO$&QQQO1G0nOOQO<qOOQO1G1Z1G1ZO$+dQPO'#FUOOQO,5=g,5=gOOQO-E:y-E:yO$+iQPO'#GoO$+vQPO,5>cOOQO1G/u1G/uOOQO<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<tO$.qQPO7+&zO$.vQQO'#IZOOQOAN@nAN@nO$/RQQOAN@nOOQOAN@jAN@jO$/YQPOAN@jO$/_QQO<uOOQOG26YG26YOOQOG26UG26UOOQO<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:[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:"\u26A0 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:[Vx],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#PhYZ%lZr>hrs?dsw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hT>kZOYhYZ%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!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:O=>qx[O]||-1}],tokenPrec:7144});var zx=se.define({name:"java",parser:bp.configure({props:[ae.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch|finally)\b/}),LabeledStatement:nO,SwitchBlock:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},Block:ye({closing:"}"}),BlockComment:()=>null,Statement:le({except:/^{/})}),te.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function xp(){return new K(zx)}var Wx=N({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),wp=Oe.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:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Wx],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});var Ux=se.define({name:"json",parser:wp.configure({props:[ae.add({Object:le({except:/^\s*\}/}),Array:le({except:/^\s*\]/})}),te.add({"Object Array":me})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function kp(){return new K(Ux)}var ks=class O{static create(e,t,i,r,n){let s=r+(r<<8)+e+(t<<4)|0;return new O(e,t,i,s,n,[],[])}constructor(e,t,i,r,n,s,a){this.type=e,this.value=t,this.from=i,this.hash=r,this.end=n,this.children=s,this.positions=a,this.hashProp=[[_.contextHash,r]]}addChild(e,t){e.prop(_.contextHash)!=this.hash&&(e=new D(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new D(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,n,s)=>new D(de.none,r,n,s,this.hashProp)})}},y;(function(O){O[O.Document=1]="Document",O[O.CodeBlock=2]="CodeBlock",O[O.FencedCode=3]="FencedCode",O[O.Blockquote=4]="Blockquote",O[O.HorizontalRule=5]="HorizontalRule",O[O.BulletList=6]="BulletList",O[O.OrderedList=7]="OrderedList",O[O.ListItem=8]="ListItem",O[O.ATXHeading1=9]="ATXHeading1",O[O.ATXHeading2=10]="ATXHeading2",O[O.ATXHeading3=11]="ATXHeading3",O[O.ATXHeading4=12]="ATXHeading4",O[O.ATXHeading5=13]="ATXHeading5",O[O.ATXHeading6=14]="ATXHeading6",O[O.SetextHeading1=15]="SetextHeading1",O[O.SetextHeading2=16]="SetextHeading2",O[O.HTMLBlock=17]="HTMLBlock",O[O.LinkReference=18]="LinkReference",O[O.Paragraph=19]="Paragraph",O[O.CommentBlock=20]="CommentBlock",O[O.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",O[O.Escape=22]="Escape",O[O.Entity=23]="Entity",O[O.HardBreak=24]="HardBreak",O[O.Emphasis=25]="Emphasis",O[O.StrongEmphasis=26]="StrongEmphasis",O[O.Link=27]="Link",O[O.Image=28]="Image",O[O.InlineCode=29]="InlineCode",O[O.HTMLTag=30]="HTMLTag",O[O.Comment=31]="Comment",O[O.ProcessingInstruction=32]="ProcessingInstruction",O[O.Autolink=33]="Autolink",O[O.HeaderMark=34]="HeaderMark",O[O.QuoteMark=35]="QuoteMark",O[O.ListMark=36]="ListMark",O[O.LinkMark=37]="LinkMark",O[O.EmphasisMark=38]="EmphasisMark",O[O.CodeMark=39]="CodeMark",O[O.CodeText=40]="CodeText",O[O.CodeInfo=41]="CodeInfo",O[O.LinkTitle=42]="LinkTitle",O[O.LinkLabel=43]="LinkLabel",O[O.URL=44]="URL"})(y||(y={}));var ac=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},oc=class{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 vr(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,t=0,i=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let i=(O.type==y.OrderedList?Xc:Sc)(t,e,!1);return i>0&&(O.type!=y.BulletList||Pc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+i-1)==O.value}var Cp={[y.Blockquote](O,e,t){return t.next!=62?!1:(t.markers.push(L(y.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(at(t.text.charCodeAt(t.pos+1))?2:1)),O.end=e.lineStart+t.text.length,!0)},[y.ListItem](O,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+O.value),!0)},[y.OrderedList]:vp,[y.BulletList]:vp,[y.Document](){return!0}};function at(O){return O==32||O==9||O==10||O==13}function vr(O,e=0){for(;et&&at(O.charCodeAt(e-1));)e--;return e}function Gp(O){if(O.next!=96&&O.next!=126)return-1;let e=O.pos+1;for(;e-1&&O.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Np.SetextHeading)>-1||i<3?-1:1}function Ap(O,e){for(let t=O.stack.length-1;t>=0;t--)if(O.stack[t].type==e)return!0;return!1}function Sc(O,e,t){return(O.next==45||O.next==43||O.next==42)&&(O.pos==O.text.length-1||at(O.text.charCodeAt(O.pos+1)))&&(!t||Ap(e,y.BulletList)||O.skipSpace(O.pos+2)=48&&r<=57;){i++;if(i==O.text.length)return-1;r=O.text.charCodeAt(i)}return i==O.pos||i>O.pos+9||r!=46&&r!=41||iO.pos+1||O.next!=49)?-1:i+1-O.pos}function Lp(O){if(O.next!=35)return-1;let e=O.pos+1;for(;e6?-1:t}function Mp(O){if(O.next!=45&&O.next!=61||O.indent>=O.baseIndent+4)return-1;let e=O.pos+1;for(;e/,Ip=/\?>/,cc=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),bs=yp.configure({wrap:Bl(Xp,Tp)});function pi(O={}){let e="",t;O.matchClosingTags===!1&&(e="noMatch"),O.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(O.nestedLanguages&&O.nestedLanguages.length||O.nestedAttributes&&O.nestedAttributes.length)&&(t=Bl((O.nestedLanguages||[]).concat(Xp),(O.nestedAttributes||[]).concat(Tp)));let i=t?yp.configure({wrap:t,dialect:e}):e?bs.configure({dialect:e}):bs;return new K(i,[bs.data.of({autocomplete:Zx(O)}),O.autoCloseTags!==!1?_x:[],ys().support,Xs().support])}var Qp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),_x=y.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!bs.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var c,l,h;let f=s.doc.sliceString(o.from-1,o.to)==i,{head:u}=o,Q=W(s).resolveInner(u,-1),$;if(f&&i==">"&&Q.name=="EndTag"){let p=Q.parent;if(((l=(c=p.parent)===null||c===void 0?void 0:c.lastChild)===null||l===void 0?void 0:l.name)!="CloseTag"&&($=Qi(s.doc,p.parent,u))&&!Qp.has($)){let m=u+(s.doc.sliceString(u,u+1)===">"?1:0),g=``;return{range:o,changes:{from:u,to:m,insert:g}}}}else if(f&&i=="/"&&Q.name=="IncompleteCloseTag"){let p=Q.parent;if(Q.from==u-2&&((h=p.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&($=Qi(s.doc,p,u))&&!Qp.has($)){let m=u+(s.doc.sliceString(u,u+1)===">"?1:0),g=`${$}>`;return{range:P.cursor(u+g.length,-1),changes:{from:u,to:m,insert:g}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Vx=N({null:d.null,instanceof:d.operatorKeyword,this:d.self,"new super assert open to with void":d.keyword,"class interface extends implements enum var":d.definitionKeyword,"module package import":d.moduleKeyword,"switch while for if else case default do break continue return try catch finally throw":d.controlKeyword,"requires exports opens uses provides public private protected static transitive abstract final strictfp synchronized native transient volatile throws":d.modifier,IntegerLiteral:d.integer,FloatingPointLiteral:d.float,"StringLiteral TextBlock":d.string,CharacterLiteral:d.character,LineComment:d.lineComment,BlockComment:d.blockComment,BooleanLiteral:d.bool,PrimitiveType:d.standard(d.typeName),TypeName:d.typeName,Identifier:d.variableName,"MethodName/Identifier":d.function(d.variableName),Definition:d.definition(d.variableName),ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,UpdateOp:d.updateOperator,Asterisk:d.punctuation,Label:d.labelName,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),qx={__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},bp=Oe.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'#HsOQQPO'#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_,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,5gQPO,5gQPO,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`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:bOhOOQO1G/z1G/zO!oOOQO1G1P1G1POOQO1G0Q1G0QO!=oQPO'#E]OOQO1G0b1G0bO!>`QPO1G1yO!'dQPO1G0bO!*sQPO1G0RO!+RQPO1G0]O!+ZQPO1G0WOOQO1G/]1G/]O!>eQQO1G.pO9eQPO1G0jO*pQPO1G0jOgQPO'#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#WOOQO1G/O1G/OOOQO7+$h7+$hOOQO1G/{1G/{O#=cQQO1G/{OOQO1G/}1G/}O#=hQPO1G/{OOQO1G/|1G/|OdQPO,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'#EYOgQPO,5jO#M{QPO,59TO#NSQPO'#IVO#N[QPO,5;oO*pQPO'#G{O#NaQPO,5>rOOQO1G.n1G.nOOQO<Z,5>ZOOQO,5=U,5=UOOQO-E:h-E:hO#NvQPO7+%gOOQO7+%g7+%gOOQO7+%i7+%iOOQO<kO$%tQPO'#EZOOQO1G0_1G0_O$%{QPO1G0_O?tQPO,5:pOOQO-E:s-E:sOOQO1G0Z1G0ZOOQO1G0n1G0nO$&QQQO1G0nOOQO<qOOQO1G1Z1G1ZO$+dQPO'#FUOOQO,5=g,5=gOOQO-E:y-E:yO$+iQPO'#GoO$+vQPO,5>cOOQO1G/u1G/uOOQO<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<tO$.qQPO7+&zO$.vQQO'#IZOOQOAN@nAN@nO$/RQQOAN@nOOQOAN@jAN@jO$/YQPOAN@jO$/_QQO<uOOQOG26YG26YOOQOG26UG26UOOQO<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:[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:"\u26A0 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:[Vx],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#PhYZ%lZr>hrs?dsw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hT>kZOYhYZ%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!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:O=>qx[O]||-1}],tokenPrec:7144});var zx=se.define({name:"java",parser:bp.configure({props:[ae.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch|finally)\b/}),LabeledStatement:nO,SwitchBlock:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},Block:ye({closing:"}"}),BlockComment:()=>null,Statement:le({except:/^{/})}),te.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function xp(){return new K(zx)}var Wx=N({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),wp=Oe.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:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Wx],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});var Ux=se.define({name:"json",parser:wp.configure({props:[ae.add({Object:le({except:/^\s*\}/}),Array:le({except:/^\s*\]/})}),te.add({"Object Array":me})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function kp(){return new K(Ux)}var ks=class O{static create(e,t,i,r,n){let s=r+(r<<8)+e+(t<<4)|0;return new O(e,t,i,s,n,[],[])}constructor(e,t,i,r,n,s,a){this.type=e,this.value=t,this.from=i,this.hash=r,this.end=n,this.children=s,this.positions=a,this.hashProp=[[_.contextHash,r]]}addChild(e,t){e.prop(_.contextHash)!=this.hash&&(e=new D(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new D(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,n,s)=>new D(de.none,r,n,s,this.hashProp)})}},b;(function(O){O[O.Document=1]="Document",O[O.CodeBlock=2]="CodeBlock",O[O.FencedCode=3]="FencedCode",O[O.Blockquote=4]="Blockquote",O[O.HorizontalRule=5]="HorizontalRule",O[O.BulletList=6]="BulletList",O[O.OrderedList=7]="OrderedList",O[O.ListItem=8]="ListItem",O[O.ATXHeading1=9]="ATXHeading1",O[O.ATXHeading2=10]="ATXHeading2",O[O.ATXHeading3=11]="ATXHeading3",O[O.ATXHeading4=12]="ATXHeading4",O[O.ATXHeading5=13]="ATXHeading5",O[O.ATXHeading6=14]="ATXHeading6",O[O.SetextHeading1=15]="SetextHeading1",O[O.SetextHeading2=16]="SetextHeading2",O[O.HTMLBlock=17]="HTMLBlock",O[O.LinkReference=18]="LinkReference",O[O.Paragraph=19]="Paragraph",O[O.CommentBlock=20]="CommentBlock",O[O.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",O[O.Escape=22]="Escape",O[O.Entity=23]="Entity",O[O.HardBreak=24]="HardBreak",O[O.Emphasis=25]="Emphasis",O[O.StrongEmphasis=26]="StrongEmphasis",O[O.Link=27]="Link",O[O.Image=28]="Image",O[O.InlineCode=29]="InlineCode",O[O.HTMLTag=30]="HTMLTag",O[O.Comment=31]="Comment",O[O.ProcessingInstruction=32]="ProcessingInstruction",O[O.Autolink=33]="Autolink",O[O.HeaderMark=34]="HeaderMark",O[O.QuoteMark=35]="QuoteMark",O[O.ListMark=36]="ListMark",O[O.LinkMark=37]="LinkMark",O[O.EmphasisMark=38]="EmphasisMark",O[O.CodeMark=39]="CodeMark",O[O.CodeText=40]="CodeText",O[O.CodeInfo=41]="CodeInfo",O[O.LinkTitle=42]="LinkTitle",O[O.LinkLabel=43]="LinkLabel",O[O.URL=44]="URL"})(b||(b={}));var ac=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},oc=class{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 vr(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,t=0,i=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let i=(O.type==b.OrderedList?Xc:Sc)(t,e,!1);return i>0&&(O.type!=b.BulletList||Pc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+i-1)==O.value}var Cp={[b.Blockquote](O,e,t){return t.next!=62?!1:(t.markers.push(L(b.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(at(t.text.charCodeAt(t.pos+1))?2:1)),O.end=e.lineStart+t.text.length,!0)},[b.ListItem](O,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+O.value),!0)},[b.OrderedList]:vp,[b.BulletList]:vp,[b.Document](){return!0}};function at(O){return O==32||O==9||O==10||O==13}function vr(O,e=0){for(;et&&at(O.charCodeAt(e-1));)e--;return e}function Gp(O){if(O.next!=96&&O.next!=126)return-1;let e=O.pos+1;for(;e-1&&O.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Np.SetextHeading)>-1||i<3?-1:1}function Ap(O,e){for(let t=O.stack.length-1;t>=0;t--)if(O.stack[t].type==e)return!0;return!1}function Sc(O,e,t){return(O.next==45||O.next==43||O.next==42)&&(O.pos==O.text.length-1||at(O.text.charCodeAt(O.pos+1)))&&(!t||Ap(e,b.BulletList)||O.skipSpace(O.pos+2)=48&&r<=57;){i++;if(i==O.text.length)return-1;r=O.text.charCodeAt(i)}return i==O.pos||i>O.pos+9||r!=46&&r!=41||iO.pos+1||O.next!=49)?-1:i+1-O.pos}function Lp(O){if(O.next!=35)return-1;let e=O.pos+1;for(;e6?-1:t}function Mp(O){if(O.next!=45&&O.next!=61||O.indent>=O.baseIndent+4)return-1;let e=O.pos+1;for(;e/,Ip=/\?>/,cc=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(i);if(n)return O.append(L(y.Comment,t,t+1+n[0].length));let s=/^\?[^]*?\?>/.exec(i);if(s)return O.append(L(y.ProcessingInstruction,t,t+1+s[0].length));let a=/^(?:![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(i);return a?O.append(L(y.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(O,e,t){if(e!=95&&e!=42)return-1;let i=t+1;for(;O.char(i)==e;)i++;let r=O.slice(t-1,t),n=O.slice(i,i+1),s=Rr.test(r),a=Rr.test(n),o=/\s|^$/.test(r),c=/\s|^$/.test(n),l=!c&&(!a||o||s),h=!o&&(!s||c||a),f=l&&(e==42||!h||s),u=h&&(e==42||!l||a);return O.append(new Ee(e==95?Kp:Jp,t,i,(f?1:0)|(u?2:0)))},HardBreak(O,e,t){if(e==92&&O.char(t+1)==10)return O.append(L(y.HardBreak,t,t+2));if(e==32){let i=t+1;for(;O.char(i)==32;)i++;if(O.char(i)==10&&i>=t+2)return O.append(L(y.HardBreak,t,i+1))}return-1},Link(O,e,t){return e==91?O.append(new Ee(mi,t,t+1,1)):-1},Image(O,e,t){return e==33&&O.char(t+1)==91?O.append(new Ee(Qc,t,t+2,1)):-1},LinkEnd(O,e,t){if(e!=93)return-1;for(let i=O.parts.length-1;i>=0;i--){let r=O.parts[i];if(r instanceof Ee&&(r.type==mi||r.type==Qc)){if(!r.side||O.skipSpace(r.to)==t&&!/[(\[]/.test(O.slice(t+1,t+2)))return O.parts[i]=null,-1;let n=O.takeContent(i),s=O.parts[i]=Gx(O,n,r.type==mi?y.Link:y.Image,r.from,t+1);if(r.type==mi)for(let a=0;ae?L(y.URL,e+t,n+t):n==O.length?null:!1}}function tm(O,e,t){let i=O.charCodeAt(e);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let n=e+1,s=!1;n=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,r,n){return this.append(new Ee(e,t,i,(r?1:0)|(n?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Ee&&(t.type==mi||t.type==Qc))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let i=e;i=e;o--){let $=this.parts[o];if($ instanceof Ee&&$.side&1&&$.type==r.type&&!(n&&(r.side&1||$.side&2)&&($.to-$.from+s)%3==0&&(($.to-$.from)%3||s%3))){a=$;break}}if(!a)continue;let c=r.type.resolve,l=[],h=a.from,f=r.to;if(n){let $=Math.min(2,a.to-a.from,s);h=a.to-$,f=r.from+$,c=$==1?"Emphasis":"StrongEmphasis"}a.type.mark&&l.push(this.elt(a.type.mark,h,a.to));for(let $=o+1;$=0;t--){let i=this.parts[t];if(i instanceof Ee&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return vr(this.text,e-this.offset)+this.offset}elt(e,t,i,r){return typeof e=="string"?L(this.parser.getNodeType(e),t,i,r):new Ys(e,t)}};function pc(O,e){if(!e.length)return O;if(!O.length)return e;let t=O.slice(),i=0;for(let r of e){for(;i(e?e-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=` -`;)n--;this.fragmentEnd=n?n-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=e+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=t;if(!i.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(_.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,s=n,a=e.block.children.length,o=s,c=a;for(;;){if(t.to-i>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let l=im(t.from-i,e.ranges);if(t.to-i<=e.ranges[e.rangeI].to)e.addNode(t.tree,l);else{let h=new D(e.parser.nodeSet.types[y.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(h,t.tree),e.addNode(h,l)}if(t.type.is("Block")&&(Ex.indexOf(t.type.id)<0?(s=t.to-i,a=e.block.children.length):(s=o,a=c,o=t.to-i,c=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return s-n}};function im(O,e){let t=O;for(let i=1;ixs[O]),Object.keys(xs).map(O=>Np[O]),Object.keys(xs),jx,Cp,Object.keys(sc).map(O=>sc[O]),Object.keys(sc),[]);function Lx(O,e,t){let i=[];for(let r=O.firstChild,n=e;;r=r.nextSibling){let s=r?r.from:t;if(s>n&&i.push({from:n,to:s}),!r)break;n=r.to}return i}function nm(O){let{codeParser:e,htmlParser:t}=O;return{wrap:bO((r,n)=>{let s=r.type.id;if(e&&(s==y.CodeBlock||s==y.FencedCode)){let a="";if(s==y.FencedCode){let c=r.node.getChild(y.CodeInfo);c&&(a=n.read(c.from,c.to))}let o=e(a);if(o)return{parser:o,overlay:c=>c.type.id==y.CodeText}}else if(t&&(s==y.HTMLBlock||s==y.HTMLTag||s==y.CommentBlock))return{parser:t,overlay:Lx(r.node,r.from,r.to)};return null})}}var Mx={resolve:"Strikethrough",mark:"StrikethroughMark"},Dx={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(O,e,t){if(e!=126||O.char(t+1)!=126||O.char(t+2)==126)return-1;let i=O.slice(t-1,t),r=O.slice(t+2,t+3),n=/\s|^$/.test(i),s=/\s|^$/.test(r),a=Rr.test(i),o=Rr.test(r);return O.addDelimiter(Mx,t,t+2,!s&&(!o||n||a),!n&&(!a||s||o))},after:"Emphasis"}]};function Yr(O,e,t=0,i,r=0){let n=0,s=!0,a=-1,o=-1,c=!1,l=()=>{i.push(O.elt("TableCell",r+a,r+o,O.parser.parseInline(e.slice(a,o),r+a)))};for(let h=t;h-1)&&n++,s=!1,i&&(a>-1&&l(),i.push(O.elt("TableDelimiter",h+r,h+r+1))),a=o=-1):(c||f!=32&&f!=9)&&(a<0&&(a=h),o=h+1),c=!c&&f==92}return a>-1&&(n++,i&&l()),n}function _p(O,e){for(let t=e;tr instanceof Zs)||!_p(e.text,e.basePos))return!1;let i=O.peekLine();return sm.test(i)&&Yr(O,e.text,e.basePos)==Yr(O,i,e.basePos)},before:"SetextHeading"}]},gc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Bx={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(O,e){return/^\[[ xX]\][ \t]/.test(e.content)&&O.parentType().name=="ListItem"?new gc:null},after:"SetextHeading"}]},Vp=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,qp=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,Nx=/[\w-]+\.[\w-]+($|\/)/,zp=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Wp=/\/[a-zA-Z\d@.]+/gy;function Up(O,e,t,i){let r=0;for(let n=e;n-1)return-1;let i=e+t[0].length;for(;;){let r=O[i-1],n;if(/[?!.,:*_~]/.test(r)||r==")"&&Up(O,e,i,")")>Up(O,e,i,"("))i--;else if(r==";"&&(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(O.slice(e,i))))i=e+n.index;else break}return i}function jp(O,e){zp.lastIndex=e;let t=zp.exec(O);if(!t)return-1;let i=t[0][t[0].length-1];return i=="_"||i=="-"?-1:e+t[0].length-(i=="."?1:0)}var Hx={parseInline:[{name:"Autolink",parse(O,e,t){let i=t-O.offset;if(i&&/\w/.test(O.text[i-1]))return-1;Vp.lastIndex=i;let r=Vp.exec(O.text),n=-1;if(!r)return-1;if(r[1]||r[2]){if(n=Fx(O.text,i+r[0].length),n>-1&&O.hasOpenLink){let s=/([^\[\]]|\[[^\]]*\])*/.exec(O.text.slice(i,n));n=i+s[0].length}}else r[3]?n=jp(O.text,i):(n=jp(O.text,i+r[0].length),n>-1&&r[0]=="xmpp:"&&(Wp.lastIndex=n,r=Wp.exec(O.text),r&&(n=r.index+r[0].length)));return n<0?-1:(O.addElement(O.elt("URL",t,n+O.offset)),n+O.offset)}}]},am=[Ix,Bx,Dx,Hx];function om(O,e,t){return(i,r,n)=>{if(r!=O||i.char(n+1)==O)return-1;let s=[i.elt(t,n,n+1)];for(let a=n+1;a"}}}),Qm=new _,$m=rm.configure({props:[te.add(O=>!O.is("Block")||O.is("Document")||bc(O)!=null||Kx(O)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Qm.add(bc),ae.add({Document:()=>null}),OO.add({Document:um})]});function bc(O){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(O.name);return e?+e[1]:void 0}function Kx(O){return O.name=="OrderedList"||O.name=="BulletList"}function Jx(O,e){let t=O;for(;;){let i=t.nextSibling,r;if(!i||(r=bc(i.type))!=null&&r<=e)break;t=i}return t.to}var ew=Uo.of((O,e,t)=>{for(let i=W(O).resolveInner(t,-1);i&&!(i.fromt)return{from:t,to:n}}return null});function xc(O){return new Ve(um,O,[],"markdown")}var tw=xc($m),Ow=$m.configure([am,cm,lm,hm,{props:[te.add({Table:(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}]),Rs=xc(Ow);function iw(O,e){return t=>{if(t&&O){let i=null;if(t=/\S*/.exec(t)[0],typeof O=="function"?i=O(t):i=sr.matchLanguageName(O,t,!0),i instanceof sr)return i.support?i.support.language.parser:rr.getSkippingParser(i.load());if(i)return i.parser}return e?e.parser:null}}var _r=class{constructor(e,t,i,r,n,s,a){this.node=e,this.from=t,this.to=i,this.spaceBefore=r,this.spaceAfter=n,this.type=s,this.item=a}blank(e,t=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;i.length0;r--)i+=" ";return i+(t?this.spaceAfter:"")}}marker(e,t){let i=this.node.name=="OrderedList"?String(+mm(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function pm(O,e){let t=[],i=[];for(let r=O;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let n=t[r],s,a=e.lineAt(n.from),o=n.from-a.from;if(n.name=="Blockquote"&&(s=/^ *>( ?)/.exec(a.text.slice(o))))i.push(new _r(n,o,o+s[0].length,"",s[1],">",null));else if(n.name=="ListItem"&&n.parent.name=="OrderedList"&&(s=/^( *)\d+([.)])( *)/.exec(a.text.slice(o)))){let c=s[3],l=s[0].length;c.length>=4&&(c=c.slice(0,c.length-4),l-=4),i.push(new _r(n.parent,o,o+l,s[1],c,s[2],n))}else if(n.name=="ListItem"&&n.parent.name=="BulletList"&&(s=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(o)))){let c=s[4],l=s[0].length;c.length>4&&(c=c.slice(0,c.length-4),l-=4);let h=s[2];s[3]&&(h+=s[3].replace(/[xX]/," ")),i.push(new _r(n.parent,o,o+l,s[1],c,h,n))}}return i}function mm(O,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(O.from,O.from+10))}function Tc(O,e,t,i=0){for(let r=-1,n=O;;){if(n.name=="ListItem"){let a=mm(n,e),o=+a[2];if(r>=0){if(o!=r+1)return;t.push({from:n.from+a[1].length,to:n.from+a[0].length,insert:String(r+2+i)})}r=o}let s=n.nextSibling;if(!s)break;n=s}}function wc(O,e){let t=/^[ \t]*/.exec(O)[0].length;if(!t||e.facet(rO)!=" ")return O;let i=Ye(O,4,t),r="";for(let n=i;n>0;)n>=4?(r+=" ",n-=4):(r+=" ",n--);return r+O.slice(t)}var rw=({state:O,dispatch:e})=>{let t=W(O),{doc:i}=O,r=null,n=O.changeByRange(s=>{if(!s.empty||!Rs.isActiveAt(O,s.from,-1)&&!Rs.isActiveAt(O,s.from,1))return r={range:s};let a=s.from,o=i.lineAt(a),c=pm(t.resolveInner(a,-1),i);for(;c.length&&c[c.length-1].from>a-o.from;)c.pop();if(!c.length)return r={range:s};let l=c[c.length-1];if(l.to-l.spaceAfter.length>a-o.from)return r={range:s};let h=a>=l.to-l.spaceAfter.length&&!/\S/.test(o.text.slice(l.to));if(l.item&&h){let p=l.node.firstChild,m=l.node.getChild("ListItem","ListItem");if(p.to>=a||m&&m.to0&&!/[^\s>]/.test(i.lineAt(o.from-1).text)){let g=c.length>1?c[c.length-2]:null,X,T="";g&&g.item?(X=o.from+g.from,T=g.marker(i,1)):X=o.from+(g?g.to:0);let S=[{from:X,to:a,insert:T}];return l.node.name=="OrderedList"&&Tc(l.item,i,S,-2),g&&g.node.name=="OrderedList"&&Tc(g.item,i,S),{range:P.cursor(X+T.length),changes:S}}else{let g=dm(c,O,o);return{range:P.cursor(a+g.length+1),changes:{from:o.from,insert:g+O.lineBreak}}}}if(l.node.name=="Blockquote"&&h&&o.from){let p=i.lineAt(o.from-1),m=/>\s*$/.exec(p.text);if(m&&m.index==l.from){let g=O.changes([{from:p.from+m.index,to:p.to},{from:o.from+l.from,to:o.to}]);return{range:s.map(g),changes:g}}}let f=[];l.node.name=="OrderedList"&&Tc(l.item,i,f);let u=l.item&&l.item.from]*/.exec(o.text)[0].length>=l.to)for(let p=0,m=c.length-1;p<=m;p++)Q+=p==m&&!u?c[p].marker(i,1):c[p].blank(po.from&&/\s/.test(o.text.charAt($-o.from-1));)$--;return Q=wc(Q,O),nw(l.node,O.doc)&&(Q=dm(c,O,o)+O.lineBreak+Q),f.push({from:$,to:a,insert:O.lineBreak+Q}),{range:P.cursor($+Q.length+1),changes:f}});return r?!1:(e(O.update(n,{scrollIntoView:!0,userEvent:"input"})),!0)};function fm(O){return O.name=="QuoteMark"||O.name=="ListMark"}function nw(O,e){if(O.name!="OrderedList"&&O.name!="BulletList")return!1;let t=O.firstChild,i=O.getChild("ListItem","ListItem");if(!i)return!1;let r=e.lineAt(t.to),n=e.lineAt(i.from),s=/^[\s>]*$/.test(r.text);return r.number+(s?0:1){let t=W(O),i=null,r=O.changeByRange(n=>{let s=n.from,{doc:a}=O;if(n.empty&&Rs.isActiveAt(O,n.from)){let o=a.lineAt(s),c=pm(sw(t,s),a);if(c.length){let l=c[c.length-1],h=l.to-l.spaceAfter.length+(l.spaceAfter?1:0);if(s-o.from>h&&!/\S/.test(o.text.slice(h,s-o.from)))return{range:P.cursor(o.from+h),changes:{from:o.from+h,to:s}};if(s-o.from==h&&(!l.item||o.from<=l.item.from||!/\S/.test(o.text.slice(0,l.to)))){let f=o.from+l.from;if(l.item&&l.node.from{var t;let{main:i}=e.state.selection;if(i.empty)return!1;let r=(t=O.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!Rs.isActiveAt(e.state,i.from,1)))return!1;let n=W(e.state),s=!1;return n.iterate({from:i.from,to:i.to,enter:a=>{(a.from>i.from||hw.test(a.name))&&(s=!0)},leave:a=>{a.to=97&&O<=122||O>=65&&O<=90}function Vr(O){return O==95||O>=128||bm(O)}function vc(O){return O>=48&&O<=55||O>=97&&O<=102||O>=65&&O<=70}var wk={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},kk=new z(O=>{if(O.next==40){O.advance();let e=0;for(;ym(O.peek(e));)e++;let t="",i;for(;bm(i=O.peek(e));)t+=String.fromCharCode(i),e++;for(;ym(O.peek(e));)e++;O.peek(e)==41&&wk[t.toLowerCase()]&&O.acceptToken(dw)}else if(O.next==60&&O.peek(1)==60&&O.peek(2)==60){for(let i=0;i<3;i++)O.advance();for(;O.next==32||O.next==9;)O.advance();let e=O.next==39;if(e&&O.advance(),!Vr(O.next))return;let t=String.fromCharCode(O.next);for(;O.advance(),!(!Vr(O.next)&&!(O.next>=48&&O.next<=55));)t+=String.fromCharCode(O.next);if(e){if(O.next!=39)return;O.advance()}if(O.next!=10&&O.next!=13)return;for(;;){let i=O.next==10||O.next==13;if(O.advance(),O.next<0)return;if(i){for(;O.next==32||O.next==9;)O.advance();let r=!0;for(let n=0;n{O.next<0&&O.acceptToken(mw)}),Yk=new z((O,e)=>{O.next==63&&e.canShift(Sm)&&O.peek(1)==62&&O.acceptToken(Sm)});function Zk(O){let e=O.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 t=2,i;for(;t<5&&(i=O.peek(t))>=48&&i<=55;)t++;return t}if(e==120&&vc(O.peek(2)))return vc(O.peek(3))?4:3;if(e==117&&O.peek(2)==123)for(let t=3;;t++){let i=O.peek(t);if(i==125)return t==2?0:t+1;if(!vc(i))break}return 0}var Rk=new z((O,e)=>{let t=!1;for(;!(O.next==34||O.next<0||O.next==36&&(Vr(O.peek(1))||O.peek(1)==123)||O.next==123&&O.peek(1)==36);t=!0){if(O.next==92){let i=Zk(O);if(i){if(t)break;return O.acceptToken($w,i)}}else if(!t&&(O.next==91||O.next==45&&O.peek(1)==62&&Vr(O.peek(2))||O.next==63&&O.peek(1)==45&&O.peek(2)==62&&Vr(O.peek(3)))&&e.canShift(pw))break;O.advance()}t&&O.acceptToken(Qw)}),_k=N({"Visibility abstract final static":d.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":d.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":d.controlKeyword,"and or xor yield unset clone instanceof insteadof":d.operatorKeyword,"function fn class trait implements extends const enum global interface use var":d.definitionKeyword,"include include_once require require_once namespace":d.moduleKeyword,"new from echo print array list as":d.keyword,null:d.null,Boolean:d.bool,VariableName:d.variableName,"NamespaceName/...":d.namespace,"NamedType/...":d.typeName,Name:d.name,"CallExpression/Name":d.function(d.variableName),"LabelStatement/Name":d.labelName,"MemberExpression/Name":d.propertyName,"MemberExpression/VariableName":d.special(d.propertyName),"ScopedExpression/ClassMemberName/Name":d.propertyName,"ScopedExpression/ClassMemberName/VariableName":d.special(d.propertyName),"CallExpression/MemberExpression/Name":d.function(d.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":d.function(d.propertyName),"MethodDeclaration/Name":d.function(d.definition(d.variableName)),"FunctionDefinition/Name":d.function(d.definition(d.variableName)),"ClassDeclaration/Name":d.definition(d.className),UpdateOp:d.updateOperator,ArithOp:d.arithmeticOperator,"LogicOp IntersectionType/&":d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,AssignOp:d.definitionOperator,"$ ConcatOp":d.operator,LineComment:d.lineComment,BlockComment:d.blockComment,Integer:d.integer,Float:d.float,String:d.string,ShellExpression:d.special(d.string),"=> ->":d.punctuation,"( )":d.paren,"#[ [ ]":d.squareBracket,"${ { }":d.brace,"-> ?->":d.derefOperator,", ; :: : \\":d.separator,"PhpOpen PhpClose":d.processingInstruction}),Vk={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},xm=Oe.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'#HROhQ`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'#HaOQO!$dQ`O,5POOQ#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,5X,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,5i,5>iOOQS-E;{-E;{O$.lQdO7+'qO$.|QpO7+'qO$/XQdO'#IxOOQO,5pOOQ#u,5>p,5>pOOQ#u-EoOOQS-EVQdO1G2^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-EVOOQS-E;i-E;iO$D{QdO<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<c,5>cOOQO-E;u-E;uOOQS<lOOQ#u-EmOOQO-EW,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,5e,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<]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<d,5>dO%dOOQO-E;v-E;vO%hQ`O'#IqO%>rQ`O'#IhO!$[QdO'#IOO%@lQaO,5s,5>sOOQO-Ej,5>jOOQP-E;|-E;|OOQO1G2c1G2cOOQ#uLD,kLD,kOOQTG27[G27[O!$[QdOLD-RO!$[QdO<OO%EpQ`O,5>OPOQ#uLD-_LD-_OOQO7+'o7+'oO+_QdO7+'oOOQS!$( ]!$( ]OOQOAN@}AN@}OOQS1G2d1G2dOOQS1G2e1G2eO%E{QdO1G2eOOQ#u!$(!m!$(!mOOQOANBVANBVOOQO1G3j1G3jO:]Q`O1G3jOOQO<tQaO,5:xO'/vQaO,5;uO'/vQaO,5;wO'@sQdO,5YQdO,5<^O)@XQdO,5QQ`O,5=eO*>YQaO'#HkO*>dQ`O,5?ROlQdO7+%tO*@kQ`O1G0jO!+iQaO1G0jO*BQQdO7+&OOoO*GeQ`O,5>VO*HzQdO<[QdO,5{QdO'#IjO.BbQ`O'#IeO.BoQ`O'#GPO.BwQaO,5:nO.COQ`O,5uOs#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~PvO#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~PxO$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~PxO$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~PvO#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~PxO#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[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~PvO#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~OTvO#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!QvO#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~PCVOTvO#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$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~PvO#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~PvO#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!QVO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QWO#X`O#dhO#fbO#gcO#sdO$[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$SpO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QqO#X`O#dhO#fbO#gcO#sdO$[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~PxO!n&qX!p&qX#O&qX'P&qX~O#O?QO!n'pa!p'pa'P'pa~O!r?rO#P;uO~OT[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!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;|;}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;|;}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;|;}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;|;}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;|;}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>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;|;}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;|;}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;|;}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;Rr>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!`T>X>Z>_>a>d>e>g>j>k>m>|>}?VoU>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;|;}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:]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;{;zQOP<{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;iV>[>]>c>h>i>l>n>p!]?]0s2W:rW>^>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;|;}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;iV>[>]>c>h>i>l>n>p!]@P0s2W:rW>^>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;|;}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;|;}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:"\u26A0 ( 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:[_k],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!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$zRV<%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_!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:[kk,Rk,Yk,0,1,2,3,vk],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(O,e)=>Tm(O)<<1,external:Tm},{term:284,get:O=>Vk[O]||-1}],tokenPrec:29889});var qk=se.define({name:"php",parser:xm.configure({props:[ae.add({IfStatement:le({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:le({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},ColonBlock:O=>O.baseIndent+O.unit,"Block EnumBody DeclarationList":ye({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"String BlockComment":()=>null,Statement:le({except:/^({|end(for|foreach|switch|while)\b)/})}),te.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":me,ColonBlock(O){return{from:O.from+1,to:O.to}},BlockComment(O){return{from:O.from+2,to:O.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 wm(O={}){let e=[],t;if(O.baseLanguage!==null)if(O.baseLanguage)t=O.baseLanguage;else{let i=pi({matchClosingTags:!1});e.push(i.support),t=i.language}return new K(qk.configure({wrap:t&&bO(i=>i.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:O.plain?"Program":"Template"}),e)}var zk=1,_m=194,Vm=195,Wk=196,km=197,Uk=198,jk=199,Ck=200,Gk=2,qm=3,vm=201,Ek=24,Ak=25,Lk=49,Mk=50,Dk=55,Ik=56,Bk=57,Nk=59,Fk=60,Hk=61,Kk=62,Jk=63,ev=65,tv=238,Ov=71,iv=241,rv=242,nv=243,sv=244,av=245,ov=246,lv=247,cv=248,zm=72,hv=249,fv=250,dv=251,uv=252,Qv=253,$v=254,pv=255,mv=256,gv=73,Pv=77,Sv=263,Xv=112,Tv=130,yv=151,bv=152,xv=155,zO=10,qr=13,_c=32,qs=9,Vc=35,wv=40,kv=46,Rc=123,Ym=125,Wm=39,Um=34,Zm=92,vv=111,Yv=120,Zv=78,Rv=117,_v=85,Vv=new Set([Ak,Lk,Mk,Sv,ev,Tv,Ik,Bk,tv,Kk,Jk,zm,gv,Pv,Fk,Hk,yv,bv,xv,Xv]);function Yc(O){return O==zO||O==qr}function Zc(O){return O>=48&&O<=57||O>=65&&O<=70||O>=97&&O<=102}var qv=new z((O,e)=>{let t;if(O.next<0)O.acceptToken(jk);else if(e.context.flags&_s)Yc(O.next)&&O.acceptToken(Uk,1);else if(((t=O.peek(-1))<0||Yc(t))&&e.canShift(km)){let i=0;for(;O.next==_c||O.next==qs;)O.advance(),i++;(O.next==zO||O.next==qr||O.next==Vc)&&O.acceptToken(km,-i)}else Yc(O.next)&&O.acceptToken(Wk,1)},{contextual:!0}),zv=new z((O,e)=>{let t=e.context;if(t.flags)return;let i=O.peek(-1);if(i==zO||i==qr){let r=0,n=0;for(;;){if(O.next==_c)r++;else if(O.next==qs)r+=8-r%8;else break;O.advance(),n++}r!=t.indent&&O.next!=zO&&O.next!=qr&&O.next!=Vc&&(r[O,e|jm])),jv=new Ge({start:Wv,reduce(O,e,t,i){return O.flags&_s&&Vv.has(e)||(e==Ov||e==zm)&&O.flags&jm?O.parent:O},shift(O,e,t,i){return e==_m?new Vs(O,Uv(i.read(i.pos,t.pos)),0):e==Vm?O.parent:e==Ek||e==Dk||e==Nk||e==qm?new Vs(O,0,_s):Rm.has(e)?new Vs(O,0,Rm.get(e)|O.flags&_s):O},hash(O){return O.hash}}),Cv=new z(O=>{for(let e=0;e<5;e++){if(O.next!="print".charCodeAt(e))return;O.advance()}if(!/\w/.test(String.fromCharCode(O.next)))for(let e=0;;e++){let t=O.peek(e);if(!(t==_c||t==qs)){t!=wv&&t!=kv&&t!=zO&&t!=qr&&t!=Vc&&O.acceptToken(zk);return}}}),Gv=new z((O,e)=>{let{flags:t}=e.context,i=t&jt?Um:Wm,r=(t&Ct)>0,n=!(t&Gt),s=(t&Et)>0,a=O.pos;for(;!(O.next<0);)if(s&&O.next==Rc)if(O.peek(1)==Rc)O.advance(2);else{if(O.pos==a){O.acceptToken(qm,1);return}break}else if(n&&O.next==Zm){if(O.pos==a){O.advance();let o=O.next;o>=0&&(O.advance(),Ev(O,o)),O.acceptToken(Gk);return}break}else if(O.next==Zm&&!n&&O.peek(1)>-1)O.advance(2);else if(O.next==i&&(!r||O.peek(1)==i&&O.peek(2)==i)){if(O.pos==a){O.acceptToken(vm,r?3:1);return}break}else if(O.next==zO){if(r)O.advance();else if(O.pos==a){O.acceptToken(vm);return}break}else O.advance();O.pos>a&&O.acceptToken(Ck)});function Ev(O,e){if(e==vv)for(let t=0;t<2&&O.next>=48&&O.next<=55;t++)O.advance();else if(e==Yv)for(let t=0;t<2&&Zc(O.next);t++)O.advance();else if(e==Rv)for(let t=0;t<4&&Zc(O.next);t++)O.advance();else if(e==_v)for(let t=0;t<8&&Zc(O.next);t++)O.advance();else if(e==Zv&&O.next==Rc){for(O.advance();O.next>=0&&O.next!=Ym&&O.next!=Wm&&O.next!=Um&&O.next!=zO;)O.advance();O.next==Ym&&O.advance()}}var Av=N({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),Lv={__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},Cm=Oe.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'#FyOOOOQS'#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,5kOOQS1G1`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,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!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,5nQdO,5sQdO1G4OOOQS-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<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$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,5S~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!;|!_![!]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:[Cv,zv,qv,Gv,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:O=>Lv[O]||-1}],tokenPrec:7668});var Gm=new yt,Am=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function zs(O){return(e,t,i)=>{if(i)return!1;let r=e.node.getChild("VariableName");return r&&t(r,O),!0}}var Mv={FunctionDefinition:zs("function"),ClassDefinition:zs("class"),ForStatement(O,e,t){if(t){for(let i=O.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name=="in")break}},ImportStatement(O,e){var t,i;let{node:r}=O,n=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let s=r.getChild("import");s;s=s.nextSibling)s.name=="VariableName"&&((i=s.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&e(s,n?"variable":"namespace")},AssignStatement(O,e){for(let t=O.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(O,e){for(let t=null,i=O.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(i,"variable"),t=i},CapturePattern:zs("variable"),AsPattern:zs("variable"),__proto__:null};function Lm(O,e){let t=Gm.get(e);if(t)return t;let i=[],r=!0;function n(s,a){let o=O.sliceString(s.from,s.to);i.push({label:o,type:a})}return e.cursor(A.IncludeAnonymous).iterate(s=>{if(s.name){let a=Mv[s.name];if(a&&a(s,n,r)||!r&&Am.has(s.name))return!1;r=!1}else if(s.to-s.from>8192){for(let a of Lm(O,s.node))i.push(a);return!1}}),Gm.set(e,i),i}var Em=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Mm=["String","FormatString","Comment","PropertyName"];function Dv(O){let e=W(O.state).resolveInner(O.pos,-1);if(Mm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Em.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)Am.has(r.name)&&(i=i.concat(Lm(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:Em}}var Iv=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(O=>({label:O,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(O=>({label:O,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(O=>({label:O,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(O=>({label:O,type:"function"}))),Bv=[U("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),U("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),U("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),U("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),U(`if \${}: +`);i=r<0?t:t.slice(0,r)}return e+i.length>this.to?i.slice(0,this.to-e):i}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,i=0){this.block=ks.create(e,i,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,i=0){this.startContext(this.parser.getNodeType(e),t,i)}addNode(e,t,i){typeof e=="number"&&(e=new D(this.parser.nodeSet.types[e],gi,gi,(i??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(pc(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}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?Fp(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let i of e.parsers)if(i.finish(this,e))return;let t=pc(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(b.Paragraph,e.content.length),e.start)}elt(e,t,i,r){return typeof e=="string"?L(this.parser.getNodeType(e),t,i,r):new Ys(e,t)}get buffer(){return new vs(this.parser.nodeSet)}};function Fp(O,e,t,i,r){let n=O[e].to,s=[],a=[],o=t.from+i;function c(l,h){for(;h?l>=n:l>n;){let f=O[e+1].from-n;i+=f,l+=f,e++,n=O[e].to}}for(let l=t.firstChild;l;l=l.nextSibling){c(l.from+i,!0);let h=l.from+i,f,u=r.get(l.tree);u?f=u:l.to+i>n?(f=Fp(O,e,l,i,r),c(l.to+i,!1)):f=l.toTree(),s.push(f),a.push(h-o)}return c(t.to+i,!1),new D(t.type,s,a,t.to+i-o,t.tree?t.tree.propValues:void 0)}var Zr=class O extends Jt{constructor(e,t,i,r,n,s,a,o,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=i,this.blockNames=r,this.endLeafBlock=n,this.skipContextMarkup=s,this.inlineParsers=a,this.inlineNames=o,this.wrappers=c,this.nodeTypes=Object.create(null);for(let l of e.types)this.nodeTypes[l.name]=l.id}createParse(e,t,i){let r=new dc(this,e,t,i);for(let n of this.wrappers)r=n(r,e,t,i);return r}configure(e){let t=uc(e);if(!t)return this;let{nodeSet:i,skipContextMarkup:r}=this,n=this.blockParsers.slice(),s=this.leafBlockParsers.slice(),a=this.blockNames.slice(),o=this.inlineParsers.slice(),c=this.inlineNames.slice(),l=this.endLeafBlock.slice(),h=this.wrappers;if(kr(t.defineNodes)){r=Object.assign({},r);let f=i.types.slice(),u;for(let Q of t.defineNodes){let{name:$,block:p,composite:m,style:g}=typeof Q=="string"?{name:Q}:Q;if(f.some(S=>S.name==$))continue;m&&(r[f.length]=(S,x,w)=>m(x,w,S.value));let X=f.length,T=m?["Block","BlockContext"]:p?X>=b.ATXHeading1&&X<=b.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;f.push(de.define({id:X,name:$,props:T&&[[_.group,T]]})),g&&(u||(u={}),Array.isArray(g)||g instanceof Ne?u[$]=g:Object.assign(u,g))}i=new Ht(f),u&&(i=i.extend(N(u)))}if(kr(t.props)&&(i=i.extend(...t.props)),kr(t.remove))for(let f of t.remove){let u=this.blockNames.indexOf(f),Q=this.inlineNames.indexOf(f);u>-1&&(n[u]=s[u]=void 0),Q>-1&&(o[Q]=void 0)}if(kr(t.parseBlock))for(let f of t.parseBlock){let u=a.indexOf(f.name);if(u>-1)n[u]=f.parse,s[u]=f.leaf;else{let Q=f.before?ws(a,f.before):f.after?ws(a,f.after)+1:a.length-1;n.splice(Q,0,f.parse),s.splice(Q,0,f.leaf),a.splice(Q,0,f.name)}f.endLeaf&&l.push(f.endLeaf)}if(kr(t.parseInline))for(let f of t.parseInline){let u=c.indexOf(f.name);if(u>-1)o[u]=f.parse;else{let Q=f.before?ws(c,f.before):f.after?ws(c,f.after)+1:c.length-1;o.splice(Q,0,f.parse),c.splice(Q,0,f.name)}}return t.wrap&&(h=h.concat(t.wrap)),new O(i,n,s,a,l,r,o,c,h)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let i=new $c(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return i.resolveMarkers(0)}};function kr(O){return O!=null&&O.length>0}function uc(O){if(!Array.isArray(O))return O;if(O.length==0)return null;let e=uc(O[0]);if(O.length==1)return e;let t=uc(O.slice(1));if(!t||!e)return e||t;let i=(s,a)=>(s||gi).concat(a||gi),r=e.wrap,n=t.wrap;return{props:i(e.props,t.props),defineNodes:i(e.defineNodes,t.defineNodes),parseBlock:i(e.parseBlock,t.parseBlock),parseInline:i(e.parseInline,t.parseInline),remove:i(e.remove,t.remove),wrap:r?n?(s,a,o,c)=>r(n(s,a,o,c),a,o,c):r:n}}function ws(O,e){let t=O.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var Hp=[de.none];for(let O=1,e;e=b[O];O++)Hp[O]=de.define({id:O,name:e,props:O>=b.Escape?[]:[[_.group,O in Cp?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var gi=[],vs=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,i,r=0){return this.content.push(e,t,i,4+r*4),this}writeElements(e,t=0){for(let i of e)i.writeTo(this,t);return this}finish(e,t){return D.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},qO=class{constructor(e,t,i,r=gi){this.type=e,this.from=t,this.to=i,this.children=r}writeTo(e,t){let i=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-i)}toTree(e){return new vs(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Ys=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return gi}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function L(O,e,t,i){return new qO(O,e,t,i)}var Kp={resolve:"Emphasis",mark:"EmphasisMark"},Jp={resolve:"Emphasis",mark:"EmphasisMark"},mi={},Qc={},Ee=class{constructor(e,t,i,r){this.type=e,this.from=t,this.to=i,this.side=r}},Rp="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",Rr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{Rr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var sc={Escape(O,e,t){if(e!=92||t==O.end-1)return-1;let i=O.char(t+1);for(let r=0;r]+|[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(i);if(r)return O.append(L(b.Autolink,t,t+1+r[0].length,[L(b.LinkMark,t,t+1),L(b.URL,t+1,t+r[0].length),L(b.LinkMark,t+r[0].length,t+1+r[0].length)]));let n=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(i);if(n)return O.append(L(b.Comment,t,t+1+n[0].length));let s=/^\?[^]*?\?>/.exec(i);if(s)return O.append(L(b.ProcessingInstruction,t,t+1+s[0].length));let a=/^(?:![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(i);return a?O.append(L(b.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(O,e,t){if(e!=95&&e!=42)return-1;let i=t+1;for(;O.char(i)==e;)i++;let r=O.slice(t-1,t),n=O.slice(i,i+1),s=Rr.test(r),a=Rr.test(n),o=/\s|^$/.test(r),c=/\s|^$/.test(n),l=!c&&(!a||o||s),h=!o&&(!s||c||a),f=l&&(e==42||!h||s),u=h&&(e==42||!l||a);return O.append(new Ee(e==95?Kp:Jp,t,i,(f?1:0)|(u?2:0)))},HardBreak(O,e,t){if(e==92&&O.char(t+1)==10)return O.append(L(b.HardBreak,t,t+2));if(e==32){let i=t+1;for(;O.char(i)==32;)i++;if(O.char(i)==10&&i>=t+2)return O.append(L(b.HardBreak,t,i+1))}return-1},Link(O,e,t){return e==91?O.append(new Ee(mi,t,t+1,1)):-1},Image(O,e,t){return e==33&&O.char(t+1)==91?O.append(new Ee(Qc,t,t+2,1)):-1},LinkEnd(O,e,t){if(e!=93)return-1;for(let i=O.parts.length-1;i>=0;i--){let r=O.parts[i];if(r instanceof Ee&&(r.type==mi||r.type==Qc)){if(!r.side||O.skipSpace(r.to)==t&&!/[(\[]/.test(O.slice(t+1,t+2)))return O.parts[i]=null,-1;let n=O.takeContent(i),s=O.parts[i]=Gx(O,n,r.type==mi?b.Link:b.Image,r.from,t+1);if(r.type==mi)for(let a=0;ae?L(b.URL,e+t,n+t):n==O.length?null:!1}}function tm(O,e,t){let i=O.charCodeAt(e);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let n=e+1,s=!1;n=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,r,n){return this.append(new Ee(e,t,i,(r?1:0)|(n?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Ee&&(t.type==mi||t.type==Qc))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let i=e;i=e;o--){let $=this.parts[o];if($ instanceof Ee&&$.side&1&&$.type==r.type&&!(n&&(r.side&1||$.side&2)&&($.to-$.from+s)%3==0&&(($.to-$.from)%3||s%3))){a=$;break}}if(!a)continue;let c=r.type.resolve,l=[],h=a.from,f=r.to;if(n){let $=Math.min(2,a.to-a.from,s);h=a.to-$,f=r.from+$,c=$==1?"Emphasis":"StrongEmphasis"}a.type.mark&&l.push(this.elt(a.type.mark,h,a.to));for(let $=o+1;$=0;t--){let i=this.parts[t];if(i instanceof Ee&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return vr(this.text,e-this.offset)+this.offset}elt(e,t,i,r){return typeof e=="string"?L(this.parser.getNodeType(e),t,i,r):new Ys(e,t)}};function pc(O,e){if(!e.length)return O;if(!O.length)return e;let t=O.slice(),i=0;for(let r of e){for(;i(e?e-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=` +`;)n--;this.fragmentEnd=n?n-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=e+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=t;if(!i.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(_.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,s=n,a=e.block.children.length,o=s,c=a;for(;;){if(t.to-i>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let l=im(t.from-i,e.ranges);if(t.to-i<=e.ranges[e.rangeI].to)e.addNode(t.tree,l);else{let h=new D(e.parser.nodeSet.types[b.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(h,t.tree),e.addNode(h,l)}if(t.type.is("Block")&&(Ex.indexOf(t.type.id)<0?(s=t.to-i,a=e.block.children.length):(s=o,a=c,o=t.to-i,c=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return s-n}};function im(O,e){let t=O;for(let i=1;ixs[O]),Object.keys(xs).map(O=>Np[O]),Object.keys(xs),jx,Cp,Object.keys(sc).map(O=>sc[O]),Object.keys(sc),[]);function Lx(O,e,t){let i=[];for(let r=O.firstChild,n=e;;r=r.nextSibling){let s=r?r.from:t;if(s>n&&i.push({from:n,to:s}),!r)break;n=r.to}return i}function nm(O){let{codeParser:e,htmlParser:t}=O;return{wrap:bO((r,n)=>{let s=r.type.id;if(e&&(s==b.CodeBlock||s==b.FencedCode)){let a="";if(s==b.FencedCode){let c=r.node.getChild(b.CodeInfo);c&&(a=n.read(c.from,c.to))}let o=e(a);if(o)return{parser:o,overlay:c=>c.type.id==b.CodeText}}else if(t&&(s==b.HTMLBlock||s==b.HTMLTag||s==b.CommentBlock))return{parser:t,overlay:Lx(r.node,r.from,r.to)};return null})}}var Mx={resolve:"Strikethrough",mark:"StrikethroughMark"},Dx={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(O,e,t){if(e!=126||O.char(t+1)!=126||O.char(t+2)==126)return-1;let i=O.slice(t-1,t),r=O.slice(t+2,t+3),n=/\s|^$/.test(i),s=/\s|^$/.test(r),a=Rr.test(i),o=Rr.test(r);return O.addDelimiter(Mx,t,t+2,!s&&(!o||n||a),!n&&(!a||s||o))},after:"Emphasis"}]};function Yr(O,e,t=0,i,r=0){let n=0,s=!0,a=-1,o=-1,c=!1,l=()=>{i.push(O.elt("TableCell",r+a,r+o,O.parser.parseInline(e.slice(a,o),r+a)))};for(let h=t;h-1)&&n++,s=!1,i&&(a>-1&&l(),i.push(O.elt("TableDelimiter",h+r,h+r+1))),a=o=-1):(c||f!=32&&f!=9)&&(a<0&&(a=h),o=h+1),c=!c&&f==92}return a>-1&&(n++,i&&l()),n}function _p(O,e){for(let t=e;tr instanceof Zs)||!_p(e.text,e.basePos))return!1;let i=O.peekLine();return sm.test(i)&&Yr(O,e.text,e.basePos)==Yr(O,i,e.basePos)},before:"SetextHeading"}]},gc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Bx={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(O,e){return/^\[[ xX]\][ \t]/.test(e.content)&&O.parentType().name=="ListItem"?new gc:null},after:"SetextHeading"}]},Vp=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,qp=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,Nx=/[\w-]+\.[\w-]+($|\/)/,zp=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Wp=/\/[a-zA-Z\d@.]+/gy;function Up(O,e,t,i){let r=0;for(let n=e;n-1)return-1;let i=e+t[0].length;for(;;){let r=O[i-1],n;if(/[?!.,:*_~]/.test(r)||r==")"&&Up(O,e,i,")")>Up(O,e,i,"("))i--;else if(r==";"&&(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(O.slice(e,i))))i=e+n.index;else break}return i}function jp(O,e){zp.lastIndex=e;let t=zp.exec(O);if(!t)return-1;let i=t[0][t[0].length-1];return i=="_"||i=="-"?-1:e+t[0].length-(i=="."?1:0)}var Hx={parseInline:[{name:"Autolink",parse(O,e,t){let i=t-O.offset;if(i&&/\w/.test(O.text[i-1]))return-1;Vp.lastIndex=i;let r=Vp.exec(O.text),n=-1;if(!r)return-1;if(r[1]||r[2]){if(n=Fx(O.text,i+r[0].length),n>-1&&O.hasOpenLink){let s=/([^\[\]]|\[[^\]]*\])*/.exec(O.text.slice(i,n));n=i+s[0].length}}else r[3]?n=jp(O.text,i):(n=jp(O.text,i+r[0].length),n>-1&&r[0]=="xmpp:"&&(Wp.lastIndex=n,r=Wp.exec(O.text),r&&(n=r.index+r[0].length)));return n<0?-1:(O.addElement(O.elt("URL",t,n+O.offset)),n+O.offset)}}]},am=[Ix,Bx,Dx,Hx];function om(O,e,t){return(i,r,n)=>{if(r!=O||i.char(n+1)==O)return-1;let s=[i.elt(t,n,n+1)];for(let a=n+1;a"}}}),Qm=new _,$m=rm.configure({props:[te.add(O=>!O.is("Block")||O.is("Document")||bc(O)!=null||Kx(O)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Qm.add(bc),ae.add({Document:()=>null}),OO.add({Document:um})]});function bc(O){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(O.name);return e?+e[1]:void 0}function Kx(O){return O.name=="OrderedList"||O.name=="BulletList"}function Jx(O,e){let t=O;for(;;){let i=t.nextSibling,r;if(!i||(r=bc(i.type))!=null&&r<=e)break;t=i}return t.to}var ew=Uo.of((O,e,t)=>{for(let i=W(O).resolveInner(t,-1);i&&!(i.fromt)return{from:t,to:n}}return null});function xc(O){return new Ve(um,O,[],"markdown")}var tw=xc($m),Ow=$m.configure([am,cm,lm,hm,{props:[te.add({Table:(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}]),Rs=xc(Ow);function iw(O,e){return t=>{if(t&&O){let i=null;if(t=/\S*/.exec(t)[0],typeof O=="function"?i=O(t):i=sr.matchLanguageName(O,t,!0),i instanceof sr)return i.support?i.support.language.parser:rr.getSkippingParser(i.load());if(i)return i.parser}return e?e.parser:null}}var _r=class{constructor(e,t,i,r,n,s,a){this.node=e,this.from=t,this.to=i,this.spaceBefore=r,this.spaceAfter=n,this.type=s,this.item=a}blank(e,t=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;i.length0;r--)i+=" ";return i+(t?this.spaceAfter:"")}}marker(e,t){let i=this.node.name=="OrderedList"?String(+mm(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function pm(O,e){let t=[],i=[];for(let r=O;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let n=t[r],s,a=e.lineAt(n.from),o=n.from-a.from;if(n.name=="Blockquote"&&(s=/^ *>( ?)/.exec(a.text.slice(o))))i.push(new _r(n,o,o+s[0].length,"",s[1],">",null));else if(n.name=="ListItem"&&n.parent.name=="OrderedList"&&(s=/^( *)\d+([.)])( *)/.exec(a.text.slice(o)))){let c=s[3],l=s[0].length;c.length>=4&&(c=c.slice(0,c.length-4),l-=4),i.push(new _r(n.parent,o,o+l,s[1],c,s[2],n))}else if(n.name=="ListItem"&&n.parent.name=="BulletList"&&(s=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(o)))){let c=s[4],l=s[0].length;c.length>4&&(c=c.slice(0,c.length-4),l-=4);let h=s[2];s[3]&&(h+=s[3].replace(/[xX]/," ")),i.push(new _r(n.parent,o,o+l,s[1],c,h,n))}}return i}function mm(O,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(O.from,O.from+10))}function Tc(O,e,t,i=0){for(let r=-1,n=O;;){if(n.name=="ListItem"){let a=mm(n,e),o=+a[2];if(r>=0){if(o!=r+1)return;t.push({from:n.from+a[1].length,to:n.from+a[0].length,insert:String(r+2+i)})}r=o}let s=n.nextSibling;if(!s)break;n=s}}function wc(O,e){let t=/^[ \t]*/.exec(O)[0].length;if(!t||e.facet(rO)!=" ")return O;let i=Ye(O,4,t),r="";for(let n=i;n>0;)n>=4?(r+=" ",n-=4):(r+=" ",n--);return r+O.slice(t)}var rw=({state:O,dispatch:e})=>{let t=W(O),{doc:i}=O,r=null,n=O.changeByRange(s=>{if(!s.empty||!Rs.isActiveAt(O,s.from,-1)&&!Rs.isActiveAt(O,s.from,1))return r={range:s};let a=s.from,o=i.lineAt(a),c=pm(t.resolveInner(a,-1),i);for(;c.length&&c[c.length-1].from>a-o.from;)c.pop();if(!c.length)return r={range:s};let l=c[c.length-1];if(l.to-l.spaceAfter.length>a-o.from)return r={range:s};let h=a>=l.to-l.spaceAfter.length&&!/\S/.test(o.text.slice(l.to));if(l.item&&h){let p=l.node.firstChild,m=l.node.getChild("ListItem","ListItem");if(p.to>=a||m&&m.to0&&!/[^\s>]/.test(i.lineAt(o.from-1).text)){let g=c.length>1?c[c.length-2]:null,X,T="";g&&g.item?(X=o.from+g.from,T=g.marker(i,1)):X=o.from+(g?g.to:0);let S=[{from:X,to:a,insert:T}];return l.node.name=="OrderedList"&&Tc(l.item,i,S,-2),g&&g.node.name=="OrderedList"&&Tc(g.item,i,S),{range:P.cursor(X+T.length),changes:S}}else{let g=dm(c,O,o);return{range:P.cursor(a+g.length+1),changes:{from:o.from,insert:g+O.lineBreak}}}}if(l.node.name=="Blockquote"&&h&&o.from){let p=i.lineAt(o.from-1),m=/>\s*$/.exec(p.text);if(m&&m.index==l.from){let g=O.changes([{from:p.from+m.index,to:p.to},{from:o.from+l.from,to:o.to}]);return{range:s.map(g),changes:g}}}let f=[];l.node.name=="OrderedList"&&Tc(l.item,i,f);let u=l.item&&l.item.from]*/.exec(o.text)[0].length>=l.to)for(let p=0,m=c.length-1;p<=m;p++)Q+=p==m&&!u?c[p].marker(i,1):c[p].blank(po.from&&/\s/.test(o.text.charAt($-o.from-1));)$--;return Q=wc(Q,O),nw(l.node,O.doc)&&(Q=dm(c,O,o)+O.lineBreak+Q),f.push({from:$,to:a,insert:O.lineBreak+Q}),{range:P.cursor($+Q.length+1),changes:f}});return r?!1:(e(O.update(n,{scrollIntoView:!0,userEvent:"input"})),!0)};function fm(O){return O.name=="QuoteMark"||O.name=="ListMark"}function nw(O,e){if(O.name!="OrderedList"&&O.name!="BulletList")return!1;let t=O.firstChild,i=O.getChild("ListItem","ListItem");if(!i)return!1;let r=e.lineAt(t.to),n=e.lineAt(i.from),s=/^[\s>]*$/.test(r.text);return r.number+(s?0:1){let t=W(O),i=null,r=O.changeByRange(n=>{let s=n.from,{doc:a}=O;if(n.empty&&Rs.isActiveAt(O,n.from)){let o=a.lineAt(s),c=pm(sw(t,s),a);if(c.length){let l=c[c.length-1],h=l.to-l.spaceAfter.length+(l.spaceAfter?1:0);if(s-o.from>h&&!/\S/.test(o.text.slice(h,s-o.from)))return{range:P.cursor(o.from+h),changes:{from:o.from+h,to:s}};if(s-o.from==h&&(!l.item||o.from<=l.item.from||!/\S/.test(o.text.slice(0,l.to)))){let f=o.from+l.from;if(l.item&&l.node.from{var t;let{main:i}=e.state.selection;if(i.empty)return!1;let r=(t=O.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!Rs.isActiveAt(e.state,i.from,1)))return!1;let n=W(e.state),s=!1;return n.iterate({from:i.from,to:i.to,enter:a=>{(a.from>i.from||hw.test(a.name))&&(s=!0)},leave:a=>{a.to=97&&O<=122||O>=65&&O<=90}function Vr(O){return O==95||O>=128||bm(O)}function vc(O){return O>=48&&O<=55||O>=97&&O<=102||O>=65&&O<=70}var wk={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},kk=new z(O=>{if(O.next==40){O.advance();let e=0;for(;ym(O.peek(e));)e++;let t="",i;for(;bm(i=O.peek(e));)t+=String.fromCharCode(i),e++;for(;ym(O.peek(e));)e++;O.peek(e)==41&&wk[t.toLowerCase()]&&O.acceptToken(dw)}else if(O.next==60&&O.peek(1)==60&&O.peek(2)==60){for(let i=0;i<3;i++)O.advance();for(;O.next==32||O.next==9;)O.advance();let e=O.next==39;if(e&&O.advance(),!Vr(O.next))return;let t=String.fromCharCode(O.next);for(;O.advance(),!(!Vr(O.next)&&!(O.next>=48&&O.next<=55));)t+=String.fromCharCode(O.next);if(e){if(O.next!=39)return;O.advance()}if(O.next!=10&&O.next!=13)return;for(;;){let i=O.next==10||O.next==13;if(O.advance(),O.next<0)return;if(i){for(;O.next==32||O.next==9;)O.advance();let r=!0;for(let n=0;n{O.next<0&&O.acceptToken(mw)}),Yk=new z((O,e)=>{O.next==63&&e.canShift(Sm)&&O.peek(1)==62&&O.acceptToken(Sm)});function Zk(O){let e=O.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 t=2,i;for(;t<5&&(i=O.peek(t))>=48&&i<=55;)t++;return t}if(e==120&&vc(O.peek(2)))return vc(O.peek(3))?4:3;if(e==117&&O.peek(2)==123)for(let t=3;;t++){let i=O.peek(t);if(i==125)return t==2?0:t+1;if(!vc(i))break}return 0}var Rk=new z((O,e)=>{let t=!1;for(;!(O.next==34||O.next<0||O.next==36&&(Vr(O.peek(1))||O.peek(1)==123)||O.next==123&&O.peek(1)==36);t=!0){if(O.next==92){let i=Zk(O);if(i){if(t)break;return O.acceptToken($w,i)}}else if(!t&&(O.next==91||O.next==45&&O.peek(1)==62&&Vr(O.peek(2))||O.next==63&&O.peek(1)==45&&O.peek(2)==62&&Vr(O.peek(3)))&&e.canShift(pw))break;O.advance()}t&&O.acceptToken(Qw)}),_k=N({"Visibility abstract final static":d.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":d.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":d.controlKeyword,"and or xor yield unset clone instanceof insteadof":d.operatorKeyword,"function fn class trait implements extends const enum global interface use var":d.definitionKeyword,"include include_once require require_once namespace":d.moduleKeyword,"new from echo print array list as":d.keyword,null:d.null,Boolean:d.bool,VariableName:d.variableName,"NamespaceName/...":d.namespace,"NamedType/...":d.typeName,Name:d.name,"CallExpression/Name":d.function(d.variableName),"LabelStatement/Name":d.labelName,"MemberExpression/Name":d.propertyName,"MemberExpression/VariableName":d.special(d.propertyName),"ScopedExpression/ClassMemberName/Name":d.propertyName,"ScopedExpression/ClassMemberName/VariableName":d.special(d.propertyName),"CallExpression/MemberExpression/Name":d.function(d.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":d.function(d.propertyName),"MethodDeclaration/Name":d.function(d.definition(d.variableName)),"FunctionDefinition/Name":d.function(d.definition(d.variableName)),"ClassDeclaration/Name":d.definition(d.className),UpdateOp:d.updateOperator,ArithOp:d.arithmeticOperator,"LogicOp IntersectionType/&":d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,AssignOp:d.definitionOperator,"$ ConcatOp":d.operator,LineComment:d.lineComment,BlockComment:d.blockComment,Integer:d.integer,Float:d.float,String:d.string,ShellExpression:d.special(d.string),"=> ->":d.punctuation,"( )":d.paren,"#[ [ ]":d.squareBracket,"${ { }":d.brace,"-> ?->":d.derefOperator,", ; :: : \\":d.separator,"PhpOpen PhpClose":d.processingInstruction}),Vk={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},xm=Oe.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'#HROhQ`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'#HaOQO!$dQ`O,5POOQ#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,5X,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,5i,5>iOOQS-E;{-E;{O$.lQdO7+'qO$.|QpO7+'qO$/XQdO'#IxOOQO,5pOOQ#u,5>p,5>pOOQ#u-EoOOQS-EVQdO1G2^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-EVOOQS-E;i-E;iO$D{QdO<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<c,5>cOOQO-E;u-E;uOOQS<lOOQ#u-EmOOQO-EW,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,5e,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<]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<d,5>dO%dOOQO-E;v-E;vO%hQ`O'#IqO%>rQ`O'#IhO!$[QdO'#IOO%@lQaO,5s,5>sOOQO-Ej,5>jOOQP-E;|-E;|OOQO1G2c1G2cOOQ#uLD,kLD,kOOQTG27[G27[O!$[QdOLD-RO!$[QdO<OO%EpQ`O,5>OPOQ#uLD-_LD-_OOQO7+'o7+'oO+_QdO7+'oOOQS!$( ]!$( ]OOQOAN@}AN@}OOQS1G2d1G2dOOQS1G2e1G2eO%E{QdO1G2eOOQ#u!$(!m!$(!mOOQOANBVANBVOOQO1G3j1G3jO:]Q`O1G3jOOQO<tQaO,5:xO'/vQaO,5;uO'/vQaO,5;wO'@sQdO,5YQdO,5<^O)@XQdO,5QQ`O,5=eO*>YQaO'#HkO*>dQ`O,5?ROlQdO7+%tO*@kQ`O1G0jO!+iQaO1G0jO*BQQdO7+&OOoO*GeQ`O,5>VO*HzQdO<[QdO,5{QdO'#IjO.BbQ`O'#IeO.BoQ`O'#GPO.BwQaO,5:nO.COQ`O,5uOs#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~PvO#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~PxO$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~PxO$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~PvO#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~PxO#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[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~PvO#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~OTvO#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!QvO#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~PCVOTvO#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$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~PvO#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~PvO#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!QVO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QWO#X`O#dhO#fbO#gcO#sdO$[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$SpO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QqO#X`O#dhO#fbO#gcO#sdO$[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~PxO!n&qX!p&qX#O&qX'P&qX~O#O?QO!n'pa!p'pa'P'pa~O!r?rO#P;uO~OT[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!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;|;}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;|;}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;|;}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;|;}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;|;}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>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;|;}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;|;}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;|;}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;Rr>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!`T>X>Z>_>a>d>e>g>j>k>m>|>}?VoU>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;|;}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:]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;{;zQOP<{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;iV>[>]>c>h>i>l>n>p!]?]0s2W:rW>^>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;|;}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;iV>[>]>c>h>i>l>n>p!]@P0s2W:rW>^>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;|;}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;|;}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:"\u26A0 ( 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:[_k],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!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$zRV<%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_!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:[kk,Rk,Yk,0,1,2,3,vk],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(O,e)=>Tm(O)<<1,external:Tm},{term:284,get:O=>Vk[O]||-1}],tokenPrec:29889});var qk=se.define({name:"php",parser:xm.configure({props:[ae.add({IfStatement:le({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:le({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},ColonBlock:O=>O.baseIndent+O.unit,"Block EnumBody DeclarationList":ye({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"String BlockComment":()=>null,Statement:le({except:/^({|end(for|foreach|switch|while)\b)/})}),te.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":me,ColonBlock(O){return{from:O.from+1,to:O.to}},BlockComment(O){return{from:O.from+2,to:O.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 wm(O={}){let e=[],t;if(O.baseLanguage!==null)if(O.baseLanguage)t=O.baseLanguage;else{let i=pi({matchClosingTags:!1});e.push(i.support),t=i.language}return new K(qk.configure({wrap:t&&bO(i=>i.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:O.plain?"Program":"Template"}),e)}var zk=1,_m=194,Vm=195,Wk=196,km=197,Uk=198,jk=199,Ck=200,Gk=2,qm=3,vm=201,Ek=24,Ak=25,Lk=49,Mk=50,Dk=55,Ik=56,Bk=57,Nk=59,Fk=60,Hk=61,Kk=62,Jk=63,ev=65,tv=238,Ov=71,iv=241,rv=242,nv=243,sv=244,av=245,ov=246,lv=247,cv=248,zm=72,hv=249,fv=250,dv=251,uv=252,Qv=253,$v=254,pv=255,mv=256,gv=73,Pv=77,Sv=263,Xv=112,Tv=130,yv=151,bv=152,xv=155,zO=10,qr=13,_c=32,qs=9,Vc=35,wv=40,kv=46,Rc=123,Ym=125,Wm=39,Um=34,Zm=92,vv=111,Yv=120,Zv=78,Rv=117,_v=85,Vv=new Set([Ak,Lk,Mk,Sv,ev,Tv,Ik,Bk,tv,Kk,Jk,zm,gv,Pv,Fk,Hk,yv,bv,xv,Xv]);function Yc(O){return O==zO||O==qr}function Zc(O){return O>=48&&O<=57||O>=65&&O<=70||O>=97&&O<=102}var qv=new z((O,e)=>{let t;if(O.next<0)O.acceptToken(jk);else if(e.context.flags&_s)Yc(O.next)&&O.acceptToken(Uk,1);else if(((t=O.peek(-1))<0||Yc(t))&&e.canShift(km)){let i=0;for(;O.next==_c||O.next==qs;)O.advance(),i++;(O.next==zO||O.next==qr||O.next==Vc)&&O.acceptToken(km,-i)}else Yc(O.next)&&O.acceptToken(Wk,1)},{contextual:!0}),zv=new z((O,e)=>{let t=e.context;if(t.flags)return;let i=O.peek(-1);if(i==zO||i==qr){let r=0,n=0;for(;;){if(O.next==_c)r++;else if(O.next==qs)r+=8-r%8;else break;O.advance(),n++}r!=t.indent&&O.next!=zO&&O.next!=qr&&O.next!=Vc&&(r[O,e|jm])),jv=new Ge({start:Wv,reduce(O,e,t,i){return O.flags&_s&&Vv.has(e)||(e==Ov||e==zm)&&O.flags&jm?O.parent:O},shift(O,e,t,i){return e==_m?new Vs(O,Uv(i.read(i.pos,t.pos)),0):e==Vm?O.parent:e==Ek||e==Dk||e==Nk||e==qm?new Vs(O,0,_s):Rm.has(e)?new Vs(O,0,Rm.get(e)|O.flags&_s):O},hash(O){return O.hash}}),Cv=new z(O=>{for(let e=0;e<5;e++){if(O.next!="print".charCodeAt(e))return;O.advance()}if(!/\w/.test(String.fromCharCode(O.next)))for(let e=0;;e++){let t=O.peek(e);if(!(t==_c||t==qs)){t!=wv&&t!=kv&&t!=zO&&t!=qr&&t!=Vc&&O.acceptToken(zk);return}}}),Gv=new z((O,e)=>{let{flags:t}=e.context,i=t&jt?Um:Wm,r=(t&Ct)>0,n=!(t&Gt),s=(t&Et)>0,a=O.pos;for(;!(O.next<0);)if(s&&O.next==Rc)if(O.peek(1)==Rc)O.advance(2);else{if(O.pos==a){O.acceptToken(qm,1);return}break}else if(n&&O.next==Zm){if(O.pos==a){O.advance();let o=O.next;o>=0&&(O.advance(),Ev(O,o)),O.acceptToken(Gk);return}break}else if(O.next==Zm&&!n&&O.peek(1)>-1)O.advance(2);else if(O.next==i&&(!r||O.peek(1)==i&&O.peek(2)==i)){if(O.pos==a){O.acceptToken(vm,r?3:1);return}break}else if(O.next==zO){if(r)O.advance();else if(O.pos==a){O.acceptToken(vm);return}break}else O.advance();O.pos>a&&O.acceptToken(Ck)});function Ev(O,e){if(e==vv)for(let t=0;t<2&&O.next>=48&&O.next<=55;t++)O.advance();else if(e==Yv)for(let t=0;t<2&&Zc(O.next);t++)O.advance();else if(e==Rv)for(let t=0;t<4&&Zc(O.next);t++)O.advance();else if(e==_v)for(let t=0;t<8&&Zc(O.next);t++)O.advance();else if(e==Zv&&O.next==Rc){for(O.advance();O.next>=0&&O.next!=Ym&&O.next!=Wm&&O.next!=Um&&O.next!=zO;)O.advance();O.next==Ym&&O.advance()}}var Av=N({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),Lv={__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},Cm=Oe.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'#FyOOOOQS'#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,5kOOQS1G1`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,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!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,5nQdO,5sQdO1G4OOOQS-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<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$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,5S~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!;|!_![!]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:[Cv,zv,qv,Gv,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:O=>Lv[O]||-1}],tokenPrec:7668});var Gm=new yt,Am=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function zs(O){return(e,t,i)=>{if(i)return!1;let r=e.node.getChild("VariableName");return r&&t(r,O),!0}}var Mv={FunctionDefinition:zs("function"),ClassDefinition:zs("class"),ForStatement(O,e,t){if(t){for(let i=O.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name=="in")break}},ImportStatement(O,e){var t,i;let{node:r}=O,n=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let s=r.getChild("import");s;s=s.nextSibling)s.name=="VariableName"&&((i=s.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&e(s,n?"variable":"namespace")},AssignStatement(O,e){for(let t=O.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(O,e){for(let t=null,i=O.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(i,"variable"),t=i},CapturePattern:zs("variable"),AsPattern:zs("variable"),__proto__:null};function Lm(O,e){let t=Gm.get(e);if(t)return t;let i=[],r=!0;function n(s,a){let o=O.sliceString(s.from,s.to);i.push({label:o,type:a})}return e.cursor(A.IncludeAnonymous).iterate(s=>{if(s.name){let a=Mv[s.name];if(a&&a(s,n,r)||!r&&Am.has(s.name))return!1;r=!1}else if(s.to-s.from>8192){for(let a of Lm(O,s.node))i.push(a);return!1}}),Gm.set(e,i),i}var Em=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Mm=["String","FormatString","Comment","PropertyName"];function Dv(O){let e=W(O.state).resolveInner(O.pos,-1);if(Mm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Em.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)Am.has(r.name)&&(i=i.concat(Lm(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:Em}}var Iv=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(O=>({label:O,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(O=>({label:O,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(O=>({label:O,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(O=>({label:O,type:"function"}))),Bv=[U("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),U("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),U("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),U("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),U(`if \${}: `,{label:"if",detail:"block",type:"keyword"}),U("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),U("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),U("import ${module}",{label:"import",detail:"statement",type:"keyword"}),U("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Nv=lO(Mm,zt(Iv.concat(Bv)));function qc(O){let{node:e,pos:t}=O,i=O.lineIndent(t,-1),r=null;for(;;){let n=e.childBefore(t);if(n)if(n.name=="Comment")t=n.from;else if(n.name=="Body"||n.name=="MatchBody")O.baseIndentFor(n)+O.unit<=i&&(r=n),e=n;else if(n.name=="MatchClause")e=n;else if(n.type.is("Statement"))e=n;else break;else break}return r}function zc(O,e){let t=O.baseIndentFor(e),i=O.lineAt(O.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&O.node.tot?null:t+O.unit}var Wc=se.define({name:"python",parser:Cm.configure({props:[ae.add({Body:O=>{var e;let t=/^\s*(#|$)/.test(O.textAfter)&&qc(O)||O.node;return(e=zc(O,t))!==null&&e!==void 0?e:O.continue()},MatchBody:O=>{var e;let t=qc(O);return(e=zc(O,t||O.node))!==null&&e!==void 0?e:O.continue()},IfStatement:O=>/^\s*(else:|elif )/.test(O.textAfter)?O.baseIndent:O.continue(),"ForStatement WhileStatement":O=>/^\s*else:/.test(O.textAfter)?O.baseIndent:O.continue(),TryStatement:O=>/^\s*(except[ :]|finally:|else:)/.test(O.textAfter)?O.baseIndent:O.continue(),MatchStatement:O=>/^\s*case /.test(O.textAfter)?O.baseIndent+O.unit:O.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":ye({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":ye({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":ye({closing:"]"}),MemberExpression:O=>O.baseIndent+O.unit,"String FormatString":()=>null,Script:O=>{var e;let t=qc(O);return(e=t&&zc(O,t))!==null&&e!==void 0?e:O.continue()}}),te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":me,Body:(O,e)=>({from:O.from+1,to:O.to-(O.to==e.doc.length?0:1)}),"String FormatString":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.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 Dm(){return new K(Wc,[Wc.data.of({autocomplete:Dv}),Wc.data.of({autocomplete:Nv})])}var Fv=36,Im=1,Hv=2,Pi=3,Uc=4,Kv=5,Jv=6,eY=7,tY=8,OY=9,iY=10,rY=11,nY=12,sY=13,aY=14,oY=15,lY=16,cY=17,Bm=18,hY=19,Og=20,ig=21,Nm=22,fY=23,dY=24;function Cc(O){return O>=65&&O<=90||O>=97&&O<=122||O>=48&&O<=57}function uY(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function UO(O,e,t){for(let i=!1;;){if(O.next<0)return;if(O.next==e&&!i){O.advance();return}i=t&&!i&&O.next==92,O.advance()}}function QY(O,e){e:for(;;){if(O.next<0)return;if(O.next==36){O.advance();for(let t=0;t)".charCodeAt(t);for(;;){if(O.next<0)return;if(O.next==i&&O.peek(1)==39){O.advance(2);return}O.advance()}}function Gc(O,e){for(;!(O.next!=95&&!Cc(O.next));)e!=null&&(e+=String.fromCharCode(O.next)),O.advance();return e}function pY(O){if(O.next==39||O.next==34||O.next==96){let e=O.next;O.advance(),UO(O,e,!1)}else Gc(O)}function Fm(O,e){for(;O.next==48||O.next==49;)O.advance();e&&O.next==e&&O.advance()}function Hm(O,e){for(;;){if(O.next==46){if(e)break;e=!0}else if(O.next<48||O.next>57)break;O.advance()}if(O.next==69||O.next==101)for(O.advance(),(O.next==43||O.next==45)&&O.advance();O.next>=48&&O.next<=57;)O.advance()}function Km(O){for(;!(O.next<0||O.next==10);)O.advance()}function WO(O,e){for(let t=0;t!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:rg(CO,jO)};function mY(O,e,t,i){let r={};for(let n in Ec)r[n]=(O.hasOwnProperty(n)?O:Ec)[n];return e&&(r.words=rg(e,t||"",i)),r}function ng(O){return new z(e=>{var t;let{next:i}=e;if(e.advance(),WO(i,jc)){for(;WO(e.next,jc);)e.advance();e.acceptToken(Fv)}else if(i==36&&O.doubleDollarQuotedStrings){let r=Gc(e,"");e.next==36&&(e.advance(),QY(e,r),e.acceptToken(Pi))}else if(i==39||i==34&&O.doubleQuotedStrings)UO(e,i,O.backslashEscapes),e.acceptToken(Pi);else if(i==35&&O.hashComments||i==47&&e.next==47&&O.slashComments)Km(e),e.acceptToken(Im);else if(i==45&&e.next==45&&(!O.spaceAfterDashes||e.peek(1)==32))Km(e),e.acceptToken(Im);else if(i==47&&e.next==42){e.advance();for(let r=1;;){let n=e.next;if(e.next<0)break;if(e.advance(),n==42&&e.next==47){if(r--,e.advance(),!r)break}else n==47&&e.next==42&&(r++,e.advance())}e.acceptToken(Hv)}else if((i==101||i==69)&&e.next==39)e.advance(),UO(e,39,!0),e.acceptToken(Pi);else if((i==110||i==78)&&e.next==39&&O.charSetCasts)e.advance(),UO(e,39,O.backslashEscapes),e.acceptToken(Pi);else if(i==95&&O.charSetCasts)for(let r=0;;r++){if(e.next==39&&r>1){e.advance(),UO(e,39,O.backslashEscapes),e.acceptToken(Pi);break}if(!Cc(e.next))break;e.advance()}else if(O.plsqlQuotingMechanism&&(i==113||i==81)&&e.next==39&&e.peek(1)>0&&!WO(e.peek(1),jc)){let r=e.peek(1);e.advance(2),$Y(e,r),e.acceptToken(Pi)}else if(WO(i,O.identifierQuotes)){let r=i==91?93:i;UO(e,r,!1),e.acceptToken(hY)}else if(i==40)e.acceptToken(eY);else if(i==41)e.acceptToken(tY);else if(i==123)e.acceptToken(OY);else if(i==125)e.acceptToken(iY);else if(i==91)e.acceptToken(rY);else if(i==93)e.acceptToken(nY);else if(i==59)e.acceptToken(sY);else if(O.unquotedBitLiterals&&i==48&&e.next==98)e.advance(),Fm(e),e.acceptToken(Nm);else if((i==98||i==66)&&(e.next==39||e.next==34)){let r=e.next;e.advance(),O.treatBitsAsBytes?(UO(e,r,O.backslashEscapes),e.acceptToken(fY)):(Fm(e,r),e.acceptToken(Nm))}else if(i==48&&(e.next==120||e.next==88)||(i==120||i==88)&&e.next==39){let r=e.next==39;for(e.advance();uY(e.next);)e.advance();r&&e.next==39&&e.advance(),e.acceptToken(Uc)}else if(i==46&&e.next>=48&&e.next<=57)Hm(e,!0),e.acceptToken(Uc);else if(i==46)e.acceptToken(aY);else if(i>=48&&i<=57)Hm(e,!1),e.acceptToken(Uc);else if(WO(i,O.operatorChars)){for(;WO(e.next,O.operatorChars);)e.advance();e.acceptToken(oY)}else if(WO(i,O.specialVar))e.next==i&&e.advance(),pY(e),e.acceptToken(cY);else if(i==58||i==44)e.acceptToken(lY);else if(Cc(i)){let r=Gc(e,String.fromCharCode(i));e.acceptToken(e.next==46||e.peek(-r.length-1)==46?Bm:(t=O.words[r.toLowerCase()])!==null&&t!==void 0?t:Bm)}})}var sg=ng(Ec),gY=Oe.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:"\u26A0 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,sg],topRules:{Script:[0,25]},tokenPrec:0});function Ac(O){let e=O.cursor().moveTo(O.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function zr(O,e){let t=O.sliceString(e.from,e.to),i=/^([`'"\[])(.*)([`'"\]])$/.exec(t);return i?i[2]:t}function Ws(O){return O&&(O.name=="Identifier"||O.name=="QuotedIdentifier")}function PY(O,e){if(e.name=="CompositeIdentifier"){let t=[];for(let i=e.firstChild;i;i=i.nextSibling)Ws(i)&&t.push(zr(O,i));return t}return[zr(O,e)]}function Jm(O,e){for(let t=[];;){if(!e||e.name!=".")return t;let i=Ac(e);if(!Ws(i))return t;t.unshift(zr(O,i)),e=Ac(i)}}function SY(O,e){let t=W(O).resolveInner(e,-1),i=TY(O.doc,t);return t.name=="Identifier"||t.name=="QuotedIdentifier"||t.name=="Keyword"?{from:t.from,quoted:t.name=="QuotedIdentifier"?O.doc.sliceString(t.from,t.from+1):null,parents:Jm(O.doc,Ac(t)),aliases:i}:t.name=="."?{from:e,quoted:null,parents:Jm(O.doc,t),aliases:i}:{from:e,quoted:null,parents:[],empty:!0,aliases:i}}var XY=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function TY(O,e){let t;for(let r=e;!t;r=r.parent){if(!r)return null;r.name=="Statement"&&(t=r)}let i=null;for(let r=t.firstChild,n=!1,s=null;r;r=r.nextSibling){let a=r.name=="Keyword"?O.sliceString(r.from,r.to).toLowerCase():null,o=null;if(!n)n=a=="from";else if(a=="as"&&s&&Ws(r.nextSibling))o=zr(O,r.nextSibling);else{if(a&&XY.has(a))break;s&&Ws(r)&&(o=zr(O,r))}o&&(i||(i=Object.create(null)),i[o]=PY(O,s)),s=/Identifier$/.test(r.name)?r:null}return i}function yY(O,e,t){return t.map(i=>({...i,label:i.label[0]==O?i.label:O+i.label+e,apply:void 0}))}var bY=/^\w*$/,xY=/^[`'"\[]?\w*[`'"\]]?$/;function eg(O){return O.self&&typeof O.self.label=="string"}var Lc=class O{constructor(e,t){this.idQuote=e,this.idCaseInsensitive=t,this.list=[],this.children=void 0}child(e){let t=this.children||(this.children=Object.create(null)),i=t[e];return i||(e&&!this.list.some(r=>r.label==e)&&this.list.push(tg(e,"type",this.idQuote,this.idCaseInsensitive)),t[e]=new O(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let t=this.list.findIndex(i=>i.label==e.label);t>-1?this.list[t]=e:this.list.push(e)}addCompletions(e){for(let t of e)this.addCompletion(typeof t=="string"?tg(t,"property",this.idQuote,this.idCaseInsensitive):t)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):eg(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let t of Object.keys(e)){let i=e[t],r=null,n=t.replace(/\\?\./g,a=>a=="."?"\0":a).split("\0"),s=this;eg(i)&&(r=i.self,i=i.children);for(let a=0;a{let{parents:h,from:f,quoted:u,empty:Q,aliases:$}=SY(l.state,l.pos);if(Q&&!l.explicit)return null;$&&h.length==1&&(h=$[h[0]]||h);let p=o;for(let g of h){for(;!p.children||!p.children[g];)if(p==o&&c)p=c;else if(p==c&&i)p=p.child(i);else return null;let X=p.maybeChild(g);if(!X)return null;p=X}let m=p.list;if(p==o&&$&&(m=m.concat(Object.keys($).map(g=>({label:g,type:"constant"})))),u){let g=u[0],X=ag(g),T=l.state.sliceDoc(l.pos,l.pos+1)==X;return{from:f,to:T?l.pos+1:void 0,options:yY(g,X,m),validFor:xY}}else return{from:f,options:m,validFor:bY}}}function kY(O){return O==ig?"type":O==Og?"keyword":"variable"}function vY(O,e,t){let i=Object.keys(O).map(r=>t(e?r.toUpperCase():r,kY(O[r])));return lO(["QuotedIdentifier","String","LineComment","BlockComment","."],zt(i))}var YY=gY.configure({props:[ae.add({Statement:le()}),te.add({Statement(O,e){return{from:Math.min(O.from+100,e.doc.lineAt(O.from).to),to:O.to}},BlockComment(O){return{from:O.from+2,to:O.to-2}}}),N({Keyword:d.keyword,Type:d.typeName,Builtin:d.standard(d.name),Bits:d.number,Bytes:d.string,Bool:d.bool,Null:d.null,Number:d.number,String:d.string,Identifier:d.name,QuotedIdentifier:d.special(d.string),SpecialVar:d.special(d.name),LineComment:d.lineComment,BlockComment:d.blockComment,Operator:d.operator,"Semi Punctuation":d.punctuation,"( )":d.paren,"{ }":d.brace,"[ ]":d.squareBracket})]}),vt=class O{constructor(e,t,i){this.dialect=e,this.language=t,this.spec=i}get extension(){return this.language.extension}configureLanguage(e,t){return new O(this.dialect,this.language.configure(e,t),this.spec)}static define(e){let t=mY(e,e.keywords,e.types,e.builtin),i=se.define({name:"sql",parser:YY.configure({tokenizers:[{from:sg,to:ng(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new O(t,i,e)}};function ZY(O,e){return{label:O,type:e,boost:-1}}function RY(O,e=!1,t){return vY(O.dialect.words,e,t||ZY)}function _Y(O){return O.schema?wY(O.schema,O.tables,O.schemas,O.defaultTable,O.defaultSchema,O.dialect||Mc):()=>null}function VY(O){return O.schema?(O.dialect||Mc).language.data.of({autocomplete:_Y(O)}):[]}function og(O={}){let e=O.dialect||Mc;return new K(e.language,[VY(O),e.language.data.of({autocomplete:RY(e,O.upperCaseKeywords,O.keywordCompletion)})])}var Mc=vt.define({}),v5=vt.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:CO+"abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:jO+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),lg="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",cg=jO+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime unsigned signed",hg="charset clear edit ego help nopager notee nowarning pager print prompt quit rehash source status system tee",Y5=vt.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:CO+"group_concat "+lg,types:cg,builtin:hg}),Z5=vt.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:CO+"always generated groupby_concat hard persistent shutdown soft virtual "+lg,types:cg,builtin:hg}),qY="approx_count_distinct approx_percentile_cont approx_percentile_disc avg checksum_agg count count_big grouping grouping_id max min product stdev stdevp sum var varp ai_generate_embeddings ai_generate_chunks cume_dist first_value lag last_value lead percentile_cont percentile_disc percent_rank left_shift right_shift bit_count get_bit set_bit collationproperty tertiary_weights @@datefirst @@dbts @@langid @@language @@lock_timeout @@max_connections @@max_precision @@nestlevel @@options @@remserver @@servername @@servicename @@spid @@textsize @@version cast convert parse try_cast try_convert try_parse asymkey_id asymkeyproperty certproperty cert_id crypt_gen_random decryptbyasymkey decryptbycert decryptbykey decryptbykeyautoasymkey decryptbykeyautocert decryptbypassphrase encryptbyasymkey encryptbycert encryptbykey encryptbypassphrase hashbytes is_objectsigned key_guid key_id key_name signbyasymkey signbycert symkeyproperty verifysignedbycert verifysignedbyasymkey @@cursor_rows @@fetch_status cursor_status datalength ident_current ident_incr ident_seed identity sql_variant_property @@datefirst current_timestamp current_timezone current_timezone_id date_bucket dateadd datediff datediff_big datefromparts datename datepart datetime2fromparts datetimefromparts datetimeoffsetfromparts datetrunc day eomonth getdate getutcdate isdate month smalldatetimefromparts switchoffset sysdatetime sysdatetimeoffset sysutcdatetime timefromparts todatetimeoffset year edit_distance edit_distance_similarity jaro_winkler_distance jaro_winkler_similarity edge_id_from_parts graph_id_from_edge_id graph_id_from_node_id node_id_from_parts object_id_from_edge_id object_id_from_node_id json isjson json_array json_contains json_modify json_object json_path_exists json_query json_value regexp_like regexp_replace regexp_substr regexp_instr regexp_count regexp_matches regexp_split_to_table abs acos asin atan atn2 ceiling cos cot degrees exp floor log log10 pi power radians rand round sign sin sqrt square tan choose greatest iif least @@procid app_name applock_mode applock_test assemblyproperty col_length col_name columnproperty databasepropertyex db_id db_name file_id file_idex file_name filegroup_id filegroup_name filegroupproperty fileproperty filepropertyex fulltextcatalogproperty fulltextserviceproperty index_col indexkey_property indexproperty next value for object_definition object_id object_name object_schema_name objectproperty objectpropertyex original_db_name parsename schema_id schema_name scope_identity serverproperty stats_date type_id type_name typeproperty dense_rank ntile rank row_number publishingservername certenclosed certprivatekey current_user database_principal_id has_dbaccess has_perms_by_name is_member is_rolemember is_srvrolemember loginproperty original_login permissions pwdencrypt pwdcompare session_user sessionproperty suser_id suser_name suser_sid suser_sname system_user user user_id user_name ascii char charindex concat concat_ws difference format left len lower ltrim nchar patindex quotename replace replicate reverse right rtrim soundex space str string_agg string_escape stuff substring translate trim unicode upper $partition @@error @@identity @@pack_received @@rowcount @@trancount binary_checksum checksum compress connectionproperty context_info current_request_id current_transaction_id decompress error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big session_context xact_state @@connections @@cpu_busy @@idle @@io_busy @@pack_sent @@packet_errors @@timeticks @@total_errors @@total_read @@total_write textptr textvalid columns_updated eventdata trigger_nestlevel vector_distance vectorproperty vector_search generate_series opendatasource openjson openquery openrowset openxml predict string_split coalesce nullif apply catch filter force include keep keepfixed modify optimize parameterization parameters partition recompile sequence set",R5=vt.define({keywords:CO+"add external procedure all fetch public alter file raiserror and fillfactor read any for readtext as foreign reconfigure asc freetext references authorization freetexttable replication backup from restore begin full restrict between function return break goto revert browse grant revoke bulk group right by having rollback cascade holdlock rowcount case identity rowguidcol check identity_insert rule checkpoint identitycol save close if schema clustered in securityaudit coalesce index select collate inner semantickeyphrasetable column insert semanticsimilaritydetailstable commit intersect semanticsimilaritytable compute into session_user constraint is set contains join setuser containstable key shutdown continue kill some convert left statistics create like system_user cross lineno table current load tablesample current_date merge textsize current_time national then current_timestamp nocheck to current_user nonclustered top cursor not tran database null transaction dbcc nullif trigger deallocate of truncate declare off try_convert default offsets tsequal delete on union deny open unique desc opendatasource unpivot disk openquery update distinct openrowset updatetext distributed openxml use double option user drop or values dump order varying else outer view end over waitfor errlvl percent when escape pivot where except plan while exec precision with execute primary within group exists print writetext exit proc noexpand index forceseek forcescan holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot spatial_window_max_cells tablock tablockx updlock xlock keepidentity keepdefaults ignore_constraints ignore_triggers",types:jO+"smalldatetime datetimeoffset datetime2 datetime bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",builtin:qY,operatorChars:"*+-%<>!=^&|/",specialVar:"@",identifierQuotes:'"['}),_5=vt.define({keywords:CO+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:jO+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 unsigned signed real",builtin:"auth backup bail changes clone databases dbinfo dump echo eqp explain fullschema headers help import imposter indexes iotrace lint load log mode nullvalue once print prompt quit restore save scanstats separator shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:'`"',specialVar:"@:?$"}),V5=vt.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:jO+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),q5=vt.define({keywords:CO+"abort accept access add all alter and any arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body by case cast char_base check close cluster clusters colauth column comment commit compress connected constant constraint crash create current currval cursor data_base database dba deallocate debugoff debugon declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry exception exception_init exchange exclusive exists external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base of off offline on online only option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw rebuild record ref references refresh rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define echo editfile embedded feedback flagger flush heading headsep instance linesize lno loboffset logsource longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar repfooter repheader serveroutput shiftinout show showmode spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout timing trimout trimspool ttitle underline verify version wrap",types:jO+"ascii bfile bfilename bigserial bit blob dec long number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0,plsqlQuotingMechanism:!0});var Dc=1,zY=2,WY=3,UY=4,jY=5,CY=36,GY=37,EY=38,AY=11,LY=13;function MY(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}function DY(O){return O==9||O==10||O==13||O==32}var fg=null,dg=null,ug=0;function Ic(O,e){let t=O.pos+e;if(dg==O&&ug==t)return fg;for(;DY(O.peek(e));)e++;let i="";for(;;){let r=O.peek(e);if(!MY(r))break;i+=String.fromCharCode(r),e++}return dg=O,ug=t,fg=i||null}function Qg(O,e){this.name=O,this.parent=e}var IY=new Ge({start:null,shift(O,e,t,i){return e==Dc?new Qg(Ic(i,1)||"",O):O},reduce(O,e){return e==AY&&O?O.parent:O},reuse(O,e,t,i){let r=e.type.id;return r==Dc||r==LY?new Qg(Ic(i,1)||"",O):O},strict:!1}),BY=new z((O,e)=>{if(O.next==60){if(O.advance(),O.next==47){O.advance();let t=Ic(O,0);if(!t)return O.acceptToken(jY);if(e.context&&t==e.context.name)return O.acceptToken(zY);for(let i=e.context;i;i=i.parent)if(i.name==t)return O.acceptToken(WY,-2);O.acceptToken(UY)}else if(O.next!=33&&O.next!=63)return O.acceptToken(Dc)}},{contextual:!0});function Bc(O,e){return new z(t=>{let i=0,r=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),i++)if(t.next==r){for(let n=1;n"),FY=Bc(GY,"?>"),HY=Bc(EY,"]]>"),KY=N({Text:d.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,AttributeValue:d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta,Cdata:d.special(d.string)}),$g=Oe.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<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:[BY,NY,FY,HY,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function Us(O,e){let t=e&&e.getChild("TagName");return t?O.sliceString(t.from,t.to):""}function Nc(O,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":Us(O,t)}function JY(O,e,t){let i=e&&e.getChildren("Attribute").find(n=>n.from<=t&&n.to>=t),r=i&&i.getChild("AttributeName");return r?O.sliceString(r.from,r.to):""}function Fc(O){for(let e=O&&O.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function eZ(O,e){var t;let i=W(O).resolveInner(e,-1),r=null;for(let n=i;!r&&n.parent;n=n.parent)(n.name=="OpenTag"||n.name=="CloseTag"||n.name=="SelfClosingTag"||n.name=="MismatchedCloseTag")&&(r=n);if(r&&(r.to>e||r.lastChild.type.isError)){let n=r.parent;if(i.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:i.from,context:n}:{type:"openTag",from:i.from,context:Fc(n)};if(i.name=="AttributeName")return{type:"attrName",from:i.from,context:r};if(i.name=="AttributeValue")return{type:"attrValue",from:i.from,context:r};let s=i==r||i.name=="Attribute"?i.childBefore(e):i;return s?.name=="StartTag"?{type:"openTag",from:e,context:Fc(n)}:s?.name=="StartCloseTag"&&s.to<=e?{type:"closeTag",from:e,context:n}:s?.name=="Is"?{type:"attrValue",from:e,context:r}:s?{type:"attrName",from:e,context:r}:null}else if(i.name=="StartCloseTag")return{type:"closeTag",from:e,context:i.parent};for(;i.parent&&i.to==e&&!(!((t=i.lastChild)===null||t===void 0)&&t.type.isError);)i=i.parent;return i.name=="Element"||i.name=="Text"||i.name=="Document"?{type:"tag",from:e,context:i.name=="Element"?i:Fc(i)}:null}var Kc=class{constructor(e,t,i){this.attrs=t,this.attrValues=i,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:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(r=>({label:r,type:"text"})):[]}},Hc=/^[:\-\.\w\u00b7-\uffff]*$/;function pg(O){return Object.assign(Object.assign({type:"property"},O.completion||{}),{label:O.name})}function mg(O){return typeof O=="string"?{label:`"${O}"`,type:"constant"}:/^"/.test(O.label)?O:Object.assign(Object.assign({},O),{label:`"${O.label}"`})}function tZ(O,e){let t=[],i=[],r=Object.create(null);for(let o of e){let c=pg(o);t.push(c),o.global&&i.push(c),o.values&&(r[o.name]=o.values.map(mg))}let n=[],s=[],a=Object.create(null);for(let o of O){let c=i,l=r;o.attributes&&(c=c.concat(o.attributes.map(f=>typeof f=="string"?t.find(u=>u.label==f)||{label:f,type:"property"}:(f.values&&(l==r&&(l=Object.create(l)),l[f.name]=f.values.map(mg)),pg(f)))));let h=new Kc(o,c,l);a[h.name]=h,n.push(h),o.top&&s.push(h)}s.length||(s=n);for(let o=0;o{var c;let{doc:l}=o.state,h=eZ(o.state,o.pos);if(!h||h.type=="tag"&&!o.explicit)return null;let{type:f,from:u,context:Q}=h;if(f=="openTag"){let $=s,p=Nc(l,Q);if(p){let m=a[p];$=m?.children||n}return{from:u,options:$.map(m=>m.completion),validFor:Hc}}else if(f=="closeTag"){let $=Nc(l,Q);return $?{from:u,to:o.pos+(l.sliceString(o.pos,o.pos+1)==">"?1:0),options:[((c=a[$])===null||c===void 0?void 0:c.closeNameCompletion)||{label:$+">",type:"type"}],validFor:Hc}:null}else if(f=="attrName"){let $=a[Us(l,Q)];return{from:u,options:$?.attrs||i,validFor:Hc}}else if(f=="attrValue"){let $=JY(l,Q,u);if(!$)return null;let p=a[Us(l,Q)],m=(p?.attrValues||r)[$];return!m||!m.length?null:{from:u,to:o.pos+(l.sliceString(o.pos,o.pos+1)=='"'?1:0),options:m,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let $=Nc(l,Q),p=a[$],m=[],g=Q&&Q.lastChild;$&&(!g||g.name!="CloseTag"||Us(l,g)!=$)&&m.push(p?p.closeCompletion:{label:"",type:"type",boost:2});let X=m.concat((p?.children||(Q?n:s)).map(T=>T.openCompletion));if(Q&&p?.text.length){let T=Q.firstChild;T.to>o.pos-20&&!/\S/.test(o.state.sliceDoc(T.to,o.pos))&&(X=X.concat(p.text))}return{from:u,options:X,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var Jc=se.define({name:"xml",parser:$g.configure({props:[ae.add({Element(O){let e=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},"OpenTag CloseTag SelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),te.add({Element(O){let e=O.firstChild,t=O.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:O.to}}}),cr.add({"OpenTag CloseTag":O=>O.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/$/}});function Pg(O={}){let e=[Jc.data.of({autocomplete:tZ(O.elements||[],O.attributes||[])})];return O.autoCloseTags!==!1&&e.push(OZ),new K(Jc,e)}function gg(O,e,t=O.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?O.sliceString(r.from,Math.min(r.to,t)):""}var OZ=b.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!Jc.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var c,l,h;let{head:f}=o,u=s.doc.sliceString(f-1,f)==i,Q=W(s).resolveInner(f,-1),$;if(u&&i==">"&&Q.name=="EndTag"){let p=Q.parent;if(((l=(c=p.parent)===null||c===void 0?void 0:c.lastChild)===null||l===void 0?void 0:l.name)!="CloseTag"&&($=gg(s.doc,p.parent,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=``;return{range:o,changes:{from:f,to:m,insert:g}}}}else if(u&&i=="/"&&Q.name=="StartCloseTag"){let p=Q.parent;if(Q.from==f-2&&((h=p.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&($=gg(s.doc,p,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=`${$}>`;return{range:P.cursor(f+g.length,-1),changes:{from:f,to:m,insert:g}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Si=63,Sg=64,iZ=1,rZ=2,yg=3,nZ=4,bg=5,sZ=6,aZ=7,xg=65,oZ=66,lZ=8,cZ=9,hZ=10,fZ=11,dZ=12,wg=13,uZ=19,QZ=20,$Z=29,pZ=33,mZ=34,gZ=47,PZ=0,nh=1,th=2,Ur=3,Oh=4,At=class{constructor(e,t,i){this.parent=e,this.depth=t,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+i}};At.top=new At(null,-1,PZ);function Wr(O,e){for(let t=0,i=e-O.pos-1;;i--,t++){let r=O.peek(i);if(Lt(r)||r==-1)return t}}function ih(O){return O==32||O==9}function Lt(O){return O==10||O==13}function kg(O){return ih(O)||Lt(O)}function GO(O){return O<0||kg(O)}var SZ=new Ge({start:At.top,reduce(O,e){return O.type==Ur&&(e==QZ||e==mZ)?O.parent:O},shift(O,e,t,i){if(e==yg)return new At(O,Wr(i,i.pos),nh);if(e==xg||e==bg)return new At(O,Wr(i,i.pos),th);if(e==Si)return O.parent;if(e==uZ||e==pZ)return new At(O,0,Ur);if(e==wg&&O.type==Oh)return O.parent;if(e==gZ){let r=/[1-9]/.exec(i.read(i.pos,t.pos));if(r)return new At(O,O.depth+ +r[0],Oh)}return O},hash(O){return O.hash}});function Xi(O,e,t=0){return O.peek(t)==e&&O.peek(t+1)==e&&O.peek(t+2)==e&&GO(O.peek(t+3))}var XZ=new z((O,e)=>{if(O.next==-1&&e.canShift(Sg))return O.acceptToken(Sg);let t=O.peek(-1);if((Lt(t)||t<0)&&e.context.type!=Ur){if(Xi(O,45))if(e.canShift(Si))O.acceptToken(Si);else return O.acceptToken(iZ,3);if(Xi(O,46))if(e.canShift(Si))O.acceptToken(Si);else return O.acceptToken(rZ,3);let i=0;for(;O.next==32;)i++,O.advance();(i{if(e.context.type==Ur){O.next==63&&(O.advance(),GO(O.next)&&O.acceptToken(aZ));return}if(O.next==45)O.advance(),GO(O.next)&&O.acceptToken(e.context.type==nh&&e.context.depth==Wr(O,O.pos-1)?nZ:yg);else if(O.next==63)O.advance(),GO(O.next)&&O.acceptToken(e.context.type==th&&e.context.depth==Wr(O,O.pos-1)?sZ:bg);else{let t=O.pos;for(;;)if(ih(O.next)){if(O.pos==t)return;O.advance()}else if(O.next==33)vg(O);else if(O.next==38)rh(O);else if(O.next==42){rh(O);break}else if(O.next==39||O.next==34){if(sh(O,!0))break;return}else if(O.next==91||O.next==123){if(!bZ(O))return;break}else{Yg(O,!0,!1,0);break}for(;ih(O.next);)O.advance();if(O.next==58){if(O.pos==t&&e.canShift($Z))return;let i=O.peek(1);GO(i)&&O.acceptTokenTo(e.context.type==th&&e.context.depth==Wr(O,t)?oZ:xg,t)}}},{contextual:!0});function yZ(O){return O>32&&O<127&&O!=34&&O!=37&&O!=44&&O!=60&&O!=62&&O!=92&&O!=94&&O!=96&&O!=123&&O!=124&&O!=125}function Xg(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function Tg(O,e){return O.next==37?(O.advance(),Xg(O.next)&&O.advance(),Xg(O.next)&&O.advance(),!0):yZ(O.next)||e&&O.next==44?(O.advance(),!0):!1}function vg(O){if(O.advance(),O.next==60){for(O.advance();;)if(!Tg(O,!0)){O.next==62&&O.advance();break}}else for(;Tg(O,!1););}function rh(O){for(O.advance();!GO(O.next)&&js(O.tag)!="f";)O.advance()}function sh(O,e){let t=O.next,i=!1,r=O.pos;for(O.advance();;){let n=O.next;if(n<0)break;if(O.advance(),n==t)if(n==39)if(O.next==39)O.advance();else break;else break;else if(n==92&&t==34)O.next>=0&&O.advance();else if(Lt(n)){if(e)return!1;i=!0}else if(e&&O.pos>=r+1024)return!1}return!i}function bZ(O){for(let e=[],t=O.pos+1024;;)if(O.next==91||O.next==123)e.push(O.next),O.advance();else if(O.next==39||O.next==34){if(!sh(O,!0))return!1}else if(O.next==93||O.next==125){if(e[e.length-1]!=O.next-2)return!1;if(e.pop(),O.advance(),!e.length)return!0}else{if(O.next<0||O.pos>t||Lt(O.next))return!1;O.advance()}}var xZ="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function js(O){return O<33?"u":O>125?"s":xZ[O-33]}function eh(O,e){let t=js(O);return t!="u"&&!(e&&t=="f")}function Yg(O,e,t,i){if(js(O.next)=="s"||(O.next==63||O.next==58||O.next==45)&&eh(O.peek(1),t))O.advance();else return!1;let r=O.pos;for(;;){let n=O.next,s=0,a=i+1;for(;kg(n);){if(Lt(n)){if(e)return!1;a=0}else a++;n=O.peek(++s)}if(!(n>=0&&(n==58?eh(O.peek(s+1),t):n==35?O.peek(s-1)!=32:eh(n,t)))||!t&&a<=i||a==0&&!t&&(Xi(O,45,s)||Xi(O,46,s)))break;if(e&&js(n)=="f")return!1;for(let c=s;c>=0;c--)O.advance();if(e&&O.pos>r+1024)return!1}return!0}var wZ=new z((O,e)=>{if(O.next==33)vg(O),O.acceptToken(dZ);else if(O.next==38||O.next==42){let t=O.next==38?hZ:fZ;rh(O),O.acceptToken(t)}else O.next==39||O.next==34?(sh(O,!1),O.acceptToken(cZ)):Yg(O,!1,e.context.type==Ur,e.context.depth)&&O.acceptToken(lZ)}),kZ=new z((O,e)=>{let t=e.context.type==Oh?e.context.depth:-1,i=O.pos;e:for(;;){let r=0,n=O.next;for(;n==32;)n=O.peek(++r);if(!r&&(Xi(O,45,r)||Xi(O,46,r))||!Lt(n)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>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:"\u26A0 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:SZ,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[vZ],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:[XZ,TZ,wZ,kZ,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var YZ=Oe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ZZ=se.define({name:"yaml",parser:Zg.configure({props:[ae.add({Stream:O=>{for(let e=O.node.resolve(O.pos,-1);e&&e.to>=O.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromO.pos)return null}}return null},FlowMapping:ye({closing:"}"}),FlowSequence:ye({closing:"]"})}),te.add({"FlowMapping FlowSequence":me,"Item Pair BlockLiteral":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Rg(){return new K(ZZ)}var J5=se.define({name:"yaml-frontmatter",parser:YZ.configure({props:[N({DashLine:d.meta})]})});function RZ({isDisabled:O,language:e,state:t}){return{editor:null,themeCompartment:new BO,state:t,init(){let i=this.getLanguageExtension();this.editor=new b({parent:this.$refs.editor,state:M.create({doc:this.state,extensions:[KQ,Tt.of([fQ]),M.readOnly.of(O),b.editable.of(!O),b.updateListener.of(r=>{r.docChanged&&(this.state=r.state.doc.toString())}),...i?[i]:[],this.themeCompartment.of(this.getThemeExtensions())]})}),this.$watch("state",()=>{this.state!==void 0&&this.editor.state.doc.toString()!==this.state&&this.editor.dispatch({changes:{from:0,to:this.editor.state.doc.length,insert:this.state}})}),this.themeObserver=new MutationObserver(()=>{this.editor.dispatch({effects:this.themeCompartment.reconfigure(this.getThemeExtensions())})}),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]})},isDarkMode(){return document.documentElement.classList.contains("dark")},getThemeExtensions(){return this.isDarkMode()?[r$]:[]},getLanguageExtension(){return e&&{cpp:$$,css:Xs,go:q$,html:pi,java:xp,javascript:ys,json:kp,markdown:Pm,php:wm,python:Dm,sql:og,xml:Pg,yaml:Rg}[e]?.()||null},destroy(){this.themeObserver&&(this.themeObserver.disconnect(),this.themeObserver=null),this.editor&&(this.editor.destroy(),this.editor=null)}}}export{RZ as default}; +`;function rg(O,e,t){let i=Object.create(null);i.true=i.false=Kv,i.null=i.unknown=Jv;for(let r of O.split(" "))r&&(i[r]=Og);for(let r of e.split(" "))r&&(i[r]=ig);for(let r of(t||"").split(" "))r&&(i[r]=dY);return i}var jO="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 ",CO="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 ",Ec={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:rg(CO,jO)};function mY(O,e,t,i){let r={};for(let n in Ec)r[n]=(O.hasOwnProperty(n)?O:Ec)[n];return e&&(r.words=rg(e,t||"",i)),r}function ng(O){return new z(e=>{var t;let{next:i}=e;if(e.advance(),WO(i,jc)){for(;WO(e.next,jc);)e.advance();e.acceptToken(Fv)}else if(i==36&&O.doubleDollarQuotedStrings){let r=Gc(e,"");e.next==36&&(e.advance(),QY(e,r),e.acceptToken(Pi))}else if(i==39||i==34&&O.doubleQuotedStrings)UO(e,i,O.backslashEscapes),e.acceptToken(Pi);else if(i==35&&O.hashComments||i==47&&e.next==47&&O.slashComments)Km(e),e.acceptToken(Im);else if(i==45&&e.next==45&&(!O.spaceAfterDashes||e.peek(1)==32))Km(e),e.acceptToken(Im);else if(i==47&&e.next==42){e.advance();for(let r=1;;){let n=e.next;if(e.next<0)break;if(e.advance(),n==42&&e.next==47){if(r--,e.advance(),!r)break}else n==47&&e.next==42&&(r++,e.advance())}e.acceptToken(Hv)}else if((i==101||i==69)&&e.next==39)e.advance(),UO(e,39,!0),e.acceptToken(Pi);else if((i==110||i==78)&&e.next==39&&O.charSetCasts)e.advance(),UO(e,39,O.backslashEscapes),e.acceptToken(Pi);else if(i==95&&O.charSetCasts)for(let r=0;;r++){if(e.next==39&&r>1){e.advance(),UO(e,39,O.backslashEscapes),e.acceptToken(Pi);break}if(!Cc(e.next))break;e.advance()}else if(O.plsqlQuotingMechanism&&(i==113||i==81)&&e.next==39&&e.peek(1)>0&&!WO(e.peek(1),jc)){let r=e.peek(1);e.advance(2),$Y(e,r),e.acceptToken(Pi)}else if(WO(i,O.identifierQuotes)){let r=i==91?93:i;UO(e,r,!1),e.acceptToken(hY)}else if(i==40)e.acceptToken(eY);else if(i==41)e.acceptToken(tY);else if(i==123)e.acceptToken(OY);else if(i==125)e.acceptToken(iY);else if(i==91)e.acceptToken(rY);else if(i==93)e.acceptToken(nY);else if(i==59)e.acceptToken(sY);else if(O.unquotedBitLiterals&&i==48&&e.next==98)e.advance(),Fm(e),e.acceptToken(Nm);else if((i==98||i==66)&&(e.next==39||e.next==34)){let r=e.next;e.advance(),O.treatBitsAsBytes?(UO(e,r,O.backslashEscapes),e.acceptToken(fY)):(Fm(e,r),e.acceptToken(Nm))}else if(i==48&&(e.next==120||e.next==88)||(i==120||i==88)&&e.next==39){let r=e.next==39;for(e.advance();uY(e.next);)e.advance();r&&e.next==39&&e.advance(),e.acceptToken(Uc)}else if(i==46&&e.next>=48&&e.next<=57)Hm(e,!0),e.acceptToken(Uc);else if(i==46)e.acceptToken(aY);else if(i>=48&&i<=57)Hm(e,!1),e.acceptToken(Uc);else if(WO(i,O.operatorChars)){for(;WO(e.next,O.operatorChars);)e.advance();e.acceptToken(oY)}else if(WO(i,O.specialVar))e.next==i&&e.advance(),pY(e),e.acceptToken(cY);else if(i==58||i==44)e.acceptToken(lY);else if(Cc(i)){let r=Gc(e,String.fromCharCode(i));e.acceptToken(e.next==46||e.peek(-r.length-1)==46?Bm:(t=O.words[r.toLowerCase()])!==null&&t!==void 0?t:Bm)}})}var sg=ng(Ec),gY=Oe.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:"\u26A0 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,sg],topRules:{Script:[0,25]},tokenPrec:0});function Ac(O){let e=O.cursor().moveTo(O.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function zr(O,e){let t=O.sliceString(e.from,e.to),i=/^([`'"\[])(.*)([`'"\]])$/.exec(t);return i?i[2]:t}function Ws(O){return O&&(O.name=="Identifier"||O.name=="QuotedIdentifier")}function PY(O,e){if(e.name=="CompositeIdentifier"){let t=[];for(let i=e.firstChild;i;i=i.nextSibling)Ws(i)&&t.push(zr(O,i));return t}return[zr(O,e)]}function Jm(O,e){for(let t=[];;){if(!e||e.name!=".")return t;let i=Ac(e);if(!Ws(i))return t;t.unshift(zr(O,i)),e=Ac(i)}}function SY(O,e){let t=W(O).resolveInner(e,-1),i=TY(O.doc,t);return t.name=="Identifier"||t.name=="QuotedIdentifier"||t.name=="Keyword"?{from:t.from,quoted:t.name=="QuotedIdentifier"?O.doc.sliceString(t.from,t.from+1):null,parents:Jm(O.doc,Ac(t)),aliases:i}:t.name=="."?{from:e,quoted:null,parents:Jm(O.doc,t),aliases:i}:{from:e,quoted:null,parents:[],empty:!0,aliases:i}}var XY=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function TY(O,e){let t;for(let r=e;!t;r=r.parent){if(!r)return null;r.name=="Statement"&&(t=r)}let i=null;for(let r=t.firstChild,n=!1,s=null;r;r=r.nextSibling){let a=r.name=="Keyword"?O.sliceString(r.from,r.to).toLowerCase():null,o=null;if(!n)n=a=="from";else if(a=="as"&&s&&Ws(r.nextSibling))o=zr(O,r.nextSibling);else{if(a&&XY.has(a))break;s&&Ws(r)&&(o=zr(O,r))}o&&(i||(i=Object.create(null)),i[o]=PY(O,s)),s=/Identifier$/.test(r.name)?r:null}return i}function yY(O,e,t){return t.map(i=>({...i,label:i.label[0]==O?i.label:O+i.label+e,apply:void 0}))}var bY=/^\w*$/,xY=/^[`'"\[]?\w*[`'"\]]?$/;function eg(O){return O.self&&typeof O.self.label=="string"}var Lc=class O{constructor(e,t){this.idQuote=e,this.idCaseInsensitive=t,this.list=[],this.children=void 0}child(e){let t=this.children||(this.children=Object.create(null)),i=t[e];return i||(e&&!this.list.some(r=>r.label==e)&&this.list.push(tg(e,"type",this.idQuote,this.idCaseInsensitive)),t[e]=new O(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let t=this.list.findIndex(i=>i.label==e.label);t>-1?this.list[t]=e:this.list.push(e)}addCompletions(e){for(let t of e)this.addCompletion(typeof t=="string"?tg(t,"property",this.idQuote,this.idCaseInsensitive):t)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):eg(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let t of Object.keys(e)){let i=e[t],r=null,n=t.replace(/\\?\./g,a=>a=="."?"\0":a).split("\0"),s=this;eg(i)&&(r=i.self,i=i.children);for(let a=0;a{let{parents:h,from:f,quoted:u,empty:Q,aliases:$}=SY(l.state,l.pos);if(Q&&!l.explicit)return null;$&&h.length==1&&(h=$[h[0]]||h);let p=o;for(let g of h){for(;!p.children||!p.children[g];)if(p==o&&c)p=c;else if(p==c&&i)p=p.child(i);else return null;let X=p.maybeChild(g);if(!X)return null;p=X}let m=p.list;if(p==o&&$&&(m=m.concat(Object.keys($).map(g=>({label:g,type:"constant"})))),u){let g=u[0],X=ag(g),T=l.state.sliceDoc(l.pos,l.pos+1)==X;return{from:f,to:T?l.pos+1:void 0,options:yY(g,X,m),validFor:xY}}else return{from:f,options:m,validFor:bY}}}function kY(O){return O==ig?"type":O==Og?"keyword":"variable"}function vY(O,e,t){let i=Object.keys(O).map(r=>t(e?r.toUpperCase():r,kY(O[r])));return lO(["QuotedIdentifier","String","LineComment","BlockComment","."],zt(i))}var YY=gY.configure({props:[ae.add({Statement:le()}),te.add({Statement(O,e){return{from:Math.min(O.from+100,e.doc.lineAt(O.from).to),to:O.to}},BlockComment(O){return{from:O.from+2,to:O.to-2}}}),N({Keyword:d.keyword,Type:d.typeName,Builtin:d.standard(d.name),Bits:d.number,Bytes:d.string,Bool:d.bool,Null:d.null,Number:d.number,String:d.string,Identifier:d.name,QuotedIdentifier:d.special(d.string),SpecialVar:d.special(d.name),LineComment:d.lineComment,BlockComment:d.blockComment,Operator:d.operator,"Semi Punctuation":d.punctuation,"( )":d.paren,"{ }":d.brace,"[ ]":d.squareBracket})]}),vt=class O{constructor(e,t,i){this.dialect=e,this.language=t,this.spec=i}get extension(){return this.language.extension}configureLanguage(e,t){return new O(this.dialect,this.language.configure(e,t),this.spec)}static define(e){let t=mY(e,e.keywords,e.types,e.builtin),i=se.define({name:"sql",parser:YY.configure({tokenizers:[{from:sg,to:ng(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new O(t,i,e)}};function ZY(O,e){return{label:O,type:e,boost:-1}}function RY(O,e=!1,t){return vY(O.dialect.words,e,t||ZY)}function _Y(O){return O.schema?wY(O.schema,O.tables,O.schemas,O.defaultTable,O.defaultSchema,O.dialect||Mc):()=>null}function VY(O){return O.schema?(O.dialect||Mc).language.data.of({autocomplete:_Y(O)}):[]}function og(O={}){let e=O.dialect||Mc;return new K(e.language,[VY(O),e.language.data.of({autocomplete:RY(e,O.upperCaseKeywords,O.keywordCompletion)})])}var Mc=vt.define({}),v5=vt.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:CO+"abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:jO+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),lg="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",cg=jO+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime unsigned signed",hg="charset clear edit ego help nopager notee nowarning pager print prompt quit rehash source status system tee",Y5=vt.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:CO+"group_concat "+lg,types:cg,builtin:hg}),Z5=vt.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:CO+"always generated groupby_concat hard persistent shutdown soft virtual "+lg,types:cg,builtin:hg}),qY="approx_count_distinct approx_percentile_cont approx_percentile_disc avg checksum_agg count count_big grouping grouping_id max min product stdev stdevp sum var varp ai_generate_embeddings ai_generate_chunks cume_dist first_value lag last_value lead percentile_cont percentile_disc percent_rank left_shift right_shift bit_count get_bit set_bit collationproperty tertiary_weights @@datefirst @@dbts @@langid @@language @@lock_timeout @@max_connections @@max_precision @@nestlevel @@options @@remserver @@servername @@servicename @@spid @@textsize @@version cast convert parse try_cast try_convert try_parse asymkey_id asymkeyproperty certproperty cert_id crypt_gen_random decryptbyasymkey decryptbycert decryptbykey decryptbykeyautoasymkey decryptbykeyautocert decryptbypassphrase encryptbyasymkey encryptbycert encryptbykey encryptbypassphrase hashbytes is_objectsigned key_guid key_id key_name signbyasymkey signbycert symkeyproperty verifysignedbycert verifysignedbyasymkey @@cursor_rows @@fetch_status cursor_status datalength ident_current ident_incr ident_seed identity sql_variant_property @@datefirst current_timestamp current_timezone current_timezone_id date_bucket dateadd datediff datediff_big datefromparts datename datepart datetime2fromparts datetimefromparts datetimeoffsetfromparts datetrunc day eomonth getdate getutcdate isdate month smalldatetimefromparts switchoffset sysdatetime sysdatetimeoffset sysutcdatetime timefromparts todatetimeoffset year edit_distance edit_distance_similarity jaro_winkler_distance jaro_winkler_similarity edge_id_from_parts graph_id_from_edge_id graph_id_from_node_id node_id_from_parts object_id_from_edge_id object_id_from_node_id json isjson json_array json_contains json_modify json_object json_path_exists json_query json_value regexp_like regexp_replace regexp_substr regexp_instr regexp_count regexp_matches regexp_split_to_table abs acos asin atan atn2 ceiling cos cot degrees exp floor log log10 pi power radians rand round sign sin sqrt square tan choose greatest iif least @@procid app_name applock_mode applock_test assemblyproperty col_length col_name columnproperty databasepropertyex db_id db_name file_id file_idex file_name filegroup_id filegroup_name filegroupproperty fileproperty filepropertyex fulltextcatalogproperty fulltextserviceproperty index_col indexkey_property indexproperty next value for object_definition object_id object_name object_schema_name objectproperty objectpropertyex original_db_name parsename schema_id schema_name scope_identity serverproperty stats_date type_id type_name typeproperty dense_rank ntile rank row_number publishingservername certenclosed certprivatekey current_user database_principal_id has_dbaccess has_perms_by_name is_member is_rolemember is_srvrolemember loginproperty original_login permissions pwdencrypt pwdcompare session_user sessionproperty suser_id suser_name suser_sid suser_sname system_user user user_id user_name ascii char charindex concat concat_ws difference format left len lower ltrim nchar patindex quotename replace replicate reverse right rtrim soundex space str string_agg string_escape stuff substring translate trim unicode upper $partition @@error @@identity @@pack_received @@rowcount @@trancount binary_checksum checksum compress connectionproperty context_info current_request_id current_transaction_id decompress error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big session_context xact_state @@connections @@cpu_busy @@idle @@io_busy @@pack_sent @@packet_errors @@timeticks @@total_errors @@total_read @@total_write textptr textvalid columns_updated eventdata trigger_nestlevel vector_distance vectorproperty vector_search generate_series opendatasource openjson openquery openrowset openxml predict string_split coalesce nullif apply catch filter force include keep keepfixed modify optimize parameterization parameters partition recompile sequence set",R5=vt.define({keywords:CO+"add external procedure all fetch public alter file raiserror and fillfactor read any for readtext as foreign reconfigure asc freetext references authorization freetexttable replication backup from restore begin full restrict between function return break goto revert browse grant revoke bulk group right by having rollback cascade holdlock rowcount case identity rowguidcol check identity_insert rule checkpoint identitycol save close if schema clustered in securityaudit coalesce index select collate inner semantickeyphrasetable column insert semanticsimilaritydetailstable commit intersect semanticsimilaritytable compute into session_user constraint is set contains join setuser containstable key shutdown continue kill some convert left statistics create like system_user cross lineno table current load tablesample current_date merge textsize current_time national then current_timestamp nocheck to current_user nonclustered top cursor not tran database null transaction dbcc nullif trigger deallocate of truncate declare off try_convert default offsets tsequal delete on union deny open unique desc opendatasource unpivot disk openquery update distinct openrowset updatetext distributed openxml use double option user drop or values dump order varying else outer view end over waitfor errlvl percent when escape pivot where except plan while exec precision with execute primary within group exists print writetext exit proc noexpand index forceseek forcescan holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot spatial_window_max_cells tablock tablockx updlock xlock keepidentity keepdefaults ignore_constraints ignore_triggers",types:jO+"smalldatetime datetimeoffset datetime2 datetime bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",builtin:qY,operatorChars:"*+-%<>!=^&|/",specialVar:"@",identifierQuotes:'"['}),_5=vt.define({keywords:CO+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:jO+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 unsigned signed real",builtin:"auth backup bail changes clone databases dbinfo dump echo eqp explain fullschema headers help import imposter indexes iotrace lint load log mode nullvalue once print prompt quit restore save scanstats separator shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:'`"',specialVar:"@:?$"}),V5=vt.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:jO+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),q5=vt.define({keywords:CO+"abort accept access add all alter and any arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body by case cast char_base check close cluster clusters colauth column comment commit compress connected constant constraint crash create current currval cursor data_base database dba deallocate debugoff debugon declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry exception exception_init exchange exclusive exists external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base of off offline on online only option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw rebuild record ref references refresh rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define echo editfile embedded feedback flagger flush heading headsep instance linesize lno loboffset logsource longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar repfooter repheader serveroutput shiftinout show showmode spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout timing trimout trimspool ttitle underline verify version wrap",types:jO+"ascii bfile bfilename bigserial bit blob dec long number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0,plsqlQuotingMechanism:!0});var Dc=1,zY=2,WY=3,UY=4,jY=5,CY=36,GY=37,EY=38,AY=11,LY=13;function MY(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}function DY(O){return O==9||O==10||O==13||O==32}var fg=null,dg=null,ug=0;function Ic(O,e){let t=O.pos+e;if(dg==O&&ug==t)return fg;for(;DY(O.peek(e));)e++;let i="";for(;;){let r=O.peek(e);if(!MY(r))break;i+=String.fromCharCode(r),e++}return dg=O,ug=t,fg=i||null}function Qg(O,e){this.name=O,this.parent=e}var IY=new Ge({start:null,shift(O,e,t,i){return e==Dc?new Qg(Ic(i,1)||"",O):O},reduce(O,e){return e==AY&&O?O.parent:O},reuse(O,e,t,i){let r=e.type.id;return r==Dc||r==LY?new Qg(Ic(i,1)||"",O):O},strict:!1}),BY=new z((O,e)=>{if(O.next==60){if(O.advance(),O.next==47){O.advance();let t=Ic(O,0);if(!t)return O.acceptToken(jY);if(e.context&&t==e.context.name)return O.acceptToken(zY);for(let i=e.context;i;i=i.parent)if(i.name==t)return O.acceptToken(WY,-2);O.acceptToken(UY)}else if(O.next!=33&&O.next!=63)return O.acceptToken(Dc)}},{contextual:!0});function Bc(O,e){return new z(t=>{let i=0,r=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),i++)if(t.next==r){for(let n=1;n"),FY=Bc(GY,"?>"),HY=Bc(EY,"]]>"),KY=N({Text:d.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,AttributeValue:d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta,Cdata:d.special(d.string)}),$g=Oe.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<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:[BY,NY,FY,HY,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function Us(O,e){let t=e&&e.getChild("TagName");return t?O.sliceString(t.from,t.to):""}function Nc(O,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":Us(O,t)}function JY(O,e,t){let i=e&&e.getChildren("Attribute").find(n=>n.from<=t&&n.to>=t),r=i&&i.getChild("AttributeName");return r?O.sliceString(r.from,r.to):""}function Fc(O){for(let e=O&&O.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function eZ(O,e){var t;let i=W(O).resolveInner(e,-1),r=null;for(let n=i;!r&&n.parent;n=n.parent)(n.name=="OpenTag"||n.name=="CloseTag"||n.name=="SelfClosingTag"||n.name=="MismatchedCloseTag")&&(r=n);if(r&&(r.to>e||r.lastChild.type.isError)){let n=r.parent;if(i.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:i.from,context:n}:{type:"openTag",from:i.from,context:Fc(n)};if(i.name=="AttributeName")return{type:"attrName",from:i.from,context:r};if(i.name=="AttributeValue")return{type:"attrValue",from:i.from,context:r};let s=i==r||i.name=="Attribute"?i.childBefore(e):i;return s?.name=="StartTag"?{type:"openTag",from:e,context:Fc(n)}:s?.name=="StartCloseTag"&&s.to<=e?{type:"closeTag",from:e,context:n}:s?.name=="Is"?{type:"attrValue",from:e,context:r}:s?{type:"attrName",from:e,context:r}:null}else if(i.name=="StartCloseTag")return{type:"closeTag",from:e,context:i.parent};for(;i.parent&&i.to==e&&!(!((t=i.lastChild)===null||t===void 0)&&t.type.isError);)i=i.parent;return i.name=="Element"||i.name=="Text"||i.name=="Document"?{type:"tag",from:e,context:i.name=="Element"?i:Fc(i)}:null}var Kc=class{constructor(e,t,i){this.attrs=t,this.attrValues=i,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:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(r=>({label:r,type:"text"})):[]}},Hc=/^[:\-\.\w\u00b7-\uffff]*$/;function pg(O){return Object.assign(Object.assign({type:"property"},O.completion||{}),{label:O.name})}function mg(O){return typeof O=="string"?{label:`"${O}"`,type:"constant"}:/^"/.test(O.label)?O:Object.assign(Object.assign({},O),{label:`"${O.label}"`})}function tZ(O,e){let t=[],i=[],r=Object.create(null);for(let o of e){let c=pg(o);t.push(c),o.global&&i.push(c),o.values&&(r[o.name]=o.values.map(mg))}let n=[],s=[],a=Object.create(null);for(let o of O){let c=i,l=r;o.attributes&&(c=c.concat(o.attributes.map(f=>typeof f=="string"?t.find(u=>u.label==f)||{label:f,type:"property"}:(f.values&&(l==r&&(l=Object.create(l)),l[f.name]=f.values.map(mg)),pg(f)))));let h=new Kc(o,c,l);a[h.name]=h,n.push(h),o.top&&s.push(h)}s.length||(s=n);for(let o=0;o{var c;let{doc:l}=o.state,h=eZ(o.state,o.pos);if(!h||h.type=="tag"&&!o.explicit)return null;let{type:f,from:u,context:Q}=h;if(f=="openTag"){let $=s,p=Nc(l,Q);if(p){let m=a[p];$=m?.children||n}return{from:u,options:$.map(m=>m.completion),validFor:Hc}}else if(f=="closeTag"){let $=Nc(l,Q);return $?{from:u,to:o.pos+(l.sliceString(o.pos,o.pos+1)==">"?1:0),options:[((c=a[$])===null||c===void 0?void 0:c.closeNameCompletion)||{label:$+">",type:"type"}],validFor:Hc}:null}else if(f=="attrName"){let $=a[Us(l,Q)];return{from:u,options:$?.attrs||i,validFor:Hc}}else if(f=="attrValue"){let $=JY(l,Q,u);if(!$)return null;let p=a[Us(l,Q)],m=(p?.attrValues||r)[$];return!m||!m.length?null:{from:u,to:o.pos+(l.sliceString(o.pos,o.pos+1)=='"'?1:0),options:m,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let $=Nc(l,Q),p=a[$],m=[],g=Q&&Q.lastChild;$&&(!g||g.name!="CloseTag"||Us(l,g)!=$)&&m.push(p?p.closeCompletion:{label:"",type:"type",boost:2});let X=m.concat((p?.children||(Q?n:s)).map(T=>T.openCompletion));if(Q&&p?.text.length){let T=Q.firstChild;T.to>o.pos-20&&!/\S/.test(o.state.sliceDoc(T.to,o.pos))&&(X=X.concat(p.text))}return{from:u,options:X,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var Jc=se.define({name:"xml",parser:$g.configure({props:[ae.add({Element(O){let e=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},"OpenTag CloseTag SelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),te.add({Element(O){let e=O.firstChild,t=O.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:O.to}}}),cr.add({"OpenTag CloseTag":O=>O.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/$/}});function Pg(O={}){let e=[Jc.data.of({autocomplete:tZ(O.elements||[],O.attributes||[])})];return O.autoCloseTags!==!1&&e.push(OZ),new K(Jc,e)}function gg(O,e,t=O.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?O.sliceString(r.from,Math.min(r.to,t)):""}var OZ=y.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!Jc.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var c,l,h;let{head:f}=o,u=s.doc.sliceString(f-1,f)==i,Q=W(s).resolveInner(f,-1),$;if(u&&i==">"&&Q.name=="EndTag"){let p=Q.parent;if(((l=(c=p.parent)===null||c===void 0?void 0:c.lastChild)===null||l===void 0?void 0:l.name)!="CloseTag"&&($=gg(s.doc,p.parent,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=``;return{range:o,changes:{from:f,to:m,insert:g}}}}else if(u&&i=="/"&&Q.name=="StartCloseTag"){let p=Q.parent;if(Q.from==f-2&&((h=p.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&($=gg(s.doc,p,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=`${$}>`;return{range:P.cursor(f+g.length,-1),changes:{from:f,to:m,insert:g}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Si=63,Sg=64,iZ=1,rZ=2,yg=3,nZ=4,bg=5,sZ=6,aZ=7,xg=65,oZ=66,lZ=8,cZ=9,hZ=10,fZ=11,dZ=12,wg=13,uZ=19,QZ=20,$Z=29,pZ=33,mZ=34,gZ=47,PZ=0,nh=1,th=2,Ur=3,Oh=4,At=class{constructor(e,t,i){this.parent=e,this.depth=t,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+i}};At.top=new At(null,-1,PZ);function Wr(O,e){for(let t=0,i=e-O.pos-1;;i--,t++){let r=O.peek(i);if(Lt(r)||r==-1)return t}}function ih(O){return O==32||O==9}function Lt(O){return O==10||O==13}function kg(O){return ih(O)||Lt(O)}function GO(O){return O<0||kg(O)}var SZ=new Ge({start:At.top,reduce(O,e){return O.type==Ur&&(e==QZ||e==mZ)?O.parent:O},shift(O,e,t,i){if(e==yg)return new At(O,Wr(i,i.pos),nh);if(e==xg||e==bg)return new At(O,Wr(i,i.pos),th);if(e==Si)return O.parent;if(e==uZ||e==pZ)return new At(O,0,Ur);if(e==wg&&O.type==Oh)return O.parent;if(e==gZ){let r=/[1-9]/.exec(i.read(i.pos,t.pos));if(r)return new At(O,O.depth+ +r[0],Oh)}return O},hash(O){return O.hash}});function Xi(O,e,t=0){return O.peek(t)==e&&O.peek(t+1)==e&&O.peek(t+2)==e&&GO(O.peek(t+3))}var XZ=new z((O,e)=>{if(O.next==-1&&e.canShift(Sg))return O.acceptToken(Sg);let t=O.peek(-1);if((Lt(t)||t<0)&&e.context.type!=Ur){if(Xi(O,45))if(e.canShift(Si))O.acceptToken(Si);else return O.acceptToken(iZ,3);if(Xi(O,46))if(e.canShift(Si))O.acceptToken(Si);else return O.acceptToken(rZ,3);let i=0;for(;O.next==32;)i++,O.advance();(i{if(e.context.type==Ur){O.next==63&&(O.advance(),GO(O.next)&&O.acceptToken(aZ));return}if(O.next==45)O.advance(),GO(O.next)&&O.acceptToken(e.context.type==nh&&e.context.depth==Wr(O,O.pos-1)?nZ:yg);else if(O.next==63)O.advance(),GO(O.next)&&O.acceptToken(e.context.type==th&&e.context.depth==Wr(O,O.pos-1)?sZ:bg);else{let t=O.pos;for(;;)if(ih(O.next)){if(O.pos==t)return;O.advance()}else if(O.next==33)vg(O);else if(O.next==38)rh(O);else if(O.next==42){rh(O);break}else if(O.next==39||O.next==34){if(sh(O,!0))break;return}else if(O.next==91||O.next==123){if(!bZ(O))return;break}else{Yg(O,!0,!1,0);break}for(;ih(O.next);)O.advance();if(O.next==58){if(O.pos==t&&e.canShift($Z))return;let i=O.peek(1);GO(i)&&O.acceptTokenTo(e.context.type==th&&e.context.depth==Wr(O,t)?oZ:xg,t)}}},{contextual:!0});function yZ(O){return O>32&&O<127&&O!=34&&O!=37&&O!=44&&O!=60&&O!=62&&O!=92&&O!=94&&O!=96&&O!=123&&O!=124&&O!=125}function Xg(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function Tg(O,e){return O.next==37?(O.advance(),Xg(O.next)&&O.advance(),Xg(O.next)&&O.advance(),!0):yZ(O.next)||e&&O.next==44?(O.advance(),!0):!1}function vg(O){if(O.advance(),O.next==60){for(O.advance();;)if(!Tg(O,!0)){O.next==62&&O.advance();break}}else for(;Tg(O,!1););}function rh(O){for(O.advance();!GO(O.next)&&js(O.tag)!="f";)O.advance()}function sh(O,e){let t=O.next,i=!1,r=O.pos;for(O.advance();;){let n=O.next;if(n<0)break;if(O.advance(),n==t)if(n==39)if(O.next==39)O.advance();else break;else break;else if(n==92&&t==34)O.next>=0&&O.advance();else if(Lt(n)){if(e)return!1;i=!0}else if(e&&O.pos>=r+1024)return!1}return!i}function bZ(O){for(let e=[],t=O.pos+1024;;)if(O.next==91||O.next==123)e.push(O.next),O.advance();else if(O.next==39||O.next==34){if(!sh(O,!0))return!1}else if(O.next==93||O.next==125){if(e[e.length-1]!=O.next-2)return!1;if(e.pop(),O.advance(),!e.length)return!0}else{if(O.next<0||O.pos>t||Lt(O.next))return!1;O.advance()}}var xZ="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function js(O){return O<33?"u":O>125?"s":xZ[O-33]}function eh(O,e){let t=js(O);return t!="u"&&!(e&&t=="f")}function Yg(O,e,t,i){if(js(O.next)=="s"||(O.next==63||O.next==58||O.next==45)&&eh(O.peek(1),t))O.advance();else return!1;let r=O.pos;for(;;){let n=O.next,s=0,a=i+1;for(;kg(n);){if(Lt(n)){if(e)return!1;a=0}else a++;n=O.peek(++s)}if(!(n>=0&&(n==58?eh(O.peek(s+1),t):n==35?O.peek(s-1)!=32:eh(n,t)))||!t&&a<=i||a==0&&!t&&(Xi(O,45,s)||Xi(O,46,s)))break;if(e&&js(n)=="f")return!1;for(let c=s;c>=0;c--)O.advance();if(e&&O.pos>r+1024)return!1}return!0}var wZ=new z((O,e)=>{if(O.next==33)vg(O),O.acceptToken(dZ);else if(O.next==38||O.next==42){let t=O.next==38?hZ:fZ;rh(O),O.acceptToken(t)}else O.next==39||O.next==34?(sh(O,!1),O.acceptToken(cZ)):Yg(O,!1,e.context.type==Ur,e.context.depth)&&O.acceptToken(lZ)}),kZ=new z((O,e)=>{let t=e.context.type==Oh?e.context.depth:-1,i=O.pos;e:for(;;){let r=0,n=O.next;for(;n==32;)n=O.peek(++r);if(!r&&(Xi(O,45,r)||Xi(O,46,r))||!Lt(n)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>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:"\u26A0 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:SZ,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[vZ],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:[XZ,TZ,wZ,kZ,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var YZ=Oe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ZZ=se.define({name:"yaml",parser:Zg.configure({props:[ae.add({Stream:O=>{for(let e=O.node.resolve(O.pos,-1);e&&e.to>=O.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromO.pos)return null}}return null},FlowMapping:ye({closing:"}"}),FlowSequence:ye({closing:"]"})}),te.add({"FlowMapping FlowSequence":me,"Item Pair BlockLiteral":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Rg(){return new K(ZZ)}var J5=se.define({name:"yaml-frontmatter",parser:YZ.configure({props:[N({DashLine:d.meta})]})});function RZ({isDisabled:O,isLive:e,isLiveDebounced:t,isLiveOnBlur:i,liveDebounce:r,language:n,state:s}){return{editor:null,themeCompartment:new BO,isDocChanged:!1,state:s,init(){let a=this.getLanguageExtension(),o=Alpine.debounce(()=>this.$wire.commit(),r??300);this.editor=new y({parent:this.$refs.editor,state:M.create({doc:this.state,extensions:[KQ,Tt.of([fQ]),M.readOnly.of(O),y.editable.of(!O),y.updateListener.of(c=>{c.docChanged&&(this.isDocChanged=!0,this.state=c.state.doc.toString(),!i&&(e||t)&&o())}),y.domEventHandlers({blur:(c,l)=>{i&&this.isDocChanged&&this.$wire.$commit()}}),...a?[a]:[],this.themeCompartment.of(this.getThemeExtensions())]})}),this.$watch("state",()=>{this.state!==void 0&&this.editor.state.doc.toString()!==this.state&&this.editor.dispatch({changes:{from:0,to:this.editor.state.doc.length,insert:this.state}})}),this.themeObserver=new MutationObserver(()=>{this.editor.dispatch({effects:this.themeCompartment.reconfigure(this.getThemeExtensions())})}),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]})},isDarkMode(){return document.documentElement.classList.contains("dark")},getThemeExtensions(){return this.isDarkMode()?[r$]:[]},getLanguageExtension(){return n&&{cpp:$$,css:Xs,go:q$,html:pi,java:xp,javascript:ys,json:kp,markdown:Pm,php:wm,python:Dm,sql:og,xml:Pg,yaml:Rg}[n]?.()||null},destroy(){this.themeObserver&&(this.themeObserver.disconnect(),this.themeObserver=null),this.editor&&(this.editor.destroy(),this.editor=null)}}}export{RZ as default}; diff --git a/resources/views/vendor/mail/html/button.blade.php b/resources/views/vendor/mail/html/button.blade.php new file mode 100644 index 0000000..050e969 --- /dev/null +++ b/resources/views/vendor/mail/html/button.blade.php @@ -0,0 +1,24 @@ +@props([ + 'url', + 'color' => 'primary', + 'align' => 'center', +]) + + + + + diff --git a/resources/views/vendor/mail/html/footer.blade.php b/resources/views/vendor/mail/html/footer.blade.php new file mode 100644 index 0000000..3ff41f8 --- /dev/null +++ b/resources/views/vendor/mail/html/footer.blade.php @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/resources/views/vendor/mail/html/header.blade.php b/resources/views/vendor/mail/html/header.blade.php new file mode 100644 index 0000000..c47a260 --- /dev/null +++ b/resources/views/vendor/mail/html/header.blade.php @@ -0,0 +1,12 @@ +@props(['url']) + + + +@if (trim($slot) === 'Laravel') + +@else +{!! $slot !!} +@endif + + + diff --git a/resources/views/vendor/mail/html/layout.blade.php b/resources/views/vendor/mail/html/layout.blade.php new file mode 100644 index 0000000..0fa6b82 --- /dev/null +++ b/resources/views/vendor/mail/html/layout.blade.php @@ -0,0 +1,58 @@ + + + +{{ config('app.name') }} + + + + + +{!! $head ?? '' !!} + + + + + + + + + + diff --git a/resources/views/vendor/mail/html/message.blade.php b/resources/views/vendor/mail/html/message.blade.php new file mode 100644 index 0000000..f53dae0 --- /dev/null +++ b/resources/views/vendor/mail/html/message.blade.php @@ -0,0 +1,27 @@ + + {{-- Header --}} + + + {{ config('app.name') }} + + + + {{-- Body --}} + {!! $slot !!} + + {{-- Subcopy --}} + @isset($subcopy) + + + {!! $subcopy !!} + + + @endisset + + {{-- Footer --}} + + + © {{ date('Y') }} {{ config('app.name') }}. {{ __('Alle Rechte vorbehalten.') }} + + + diff --git a/resources/views/vendor/mail/html/panel.blade.php b/resources/views/vendor/mail/html/panel.blade.php new file mode 100644 index 0000000..2975a60 --- /dev/null +++ b/resources/views/vendor/mail/html/panel.blade.php @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/views/vendor/mail/html/subcopy.blade.php b/resources/views/vendor/mail/html/subcopy.blade.php new file mode 100644 index 0000000..790ce6c --- /dev/null +++ b/resources/views/vendor/mail/html/subcopy.blade.php @@ -0,0 +1,7 @@ + + + + + diff --git a/resources/views/vendor/mail/html/table.blade.php b/resources/views/vendor/mail/html/table.blade.php new file mode 100644 index 0000000..a5f3348 --- /dev/null +++ b/resources/views/vendor/mail/html/table.blade.php @@ -0,0 +1,3 @@ +
+{{ Illuminate\Mail\Markdown::parse($slot) }} +
diff --git a/resources/views/vendor/mail/html/themes/default.css b/resources/views/vendor/mail/html/themes/default.css new file mode 100644 index 0000000..b64dc60 --- /dev/null +++ b/resources/views/vendor/mail/html/themes/default.css @@ -0,0 +1,295 @@ +/* Base */ + +body, +body *:not(html):not(style):not(br):not(tr):not(code) { + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + position: relative; +} + +body { + -webkit-text-size-adjust: none; + background-color: #ffffff; + color: #718096; + height: 100%; + line-height: 1.4; + margin: 0; + padding: 0; + width: 100% !important; +} + +p, +ul, +ol, +blockquote { + line-height: 1.4; + text-align: left; +} + +a { + color: #3869d4; +} + +a img { + border: none; +} + +/* Typography */ + +h1 { + color: #3d4852; + font-size: 18px; + font-weight: bold; + margin-top: 0; + text-align: left; +} + +h2 { + font-size: 16px; + font-weight: bold; + margin-top: 0; + text-align: left; +} + +h3 { + font-size: 14px; + font-weight: bold; + margin-top: 0; + text-align: left; +} + +p { + font-size: 16px; + line-height: 1.5em; + margin-top: 0; + text-align: left; +} + +p.sub { + font-size: 12px; +} + +img { + max-width: 100%; +} + +/* Layout */ + +.wrapper { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + background-color: #edf2f7; + margin: 0; + padding: 0; + width: 100%; +} + +.content { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + margin: 0; + padding: 0; + width: 100%; +} + +/* Header */ + +.header { + padding: 25px 0; + text-align: center; +} + +.header a { + color: #3d4852; + font-size: 19px; + font-weight: bold; + text-decoration: none; +} + +/* Logo */ + +.logo { + height: 75px; + max-height: 75px; + width: 75px; +} + +/* Body */ + +.body { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + background-color: #edf2f7; + border-bottom: 1px solid #edf2f7; + border-top: 1px solid #edf2f7; + margin: 0; + padding: 0; + width: 100%; +} + +.inner-body { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 570px; + background-color: #ffffff; + border-color: #e8e5ef; + border-radius: 2px; + border-width: 1px; + box-shadow: 0 2px 0 rgba(0, 0, 150, 0.025), 2px 4px 0 rgba(0, 0, 150, 0.015); + margin: 0 auto; + padding: 0; + width: 570px; +} + +.inner-body a { + word-break: break-all; +} + +/* Subcopy */ + +.subcopy { + border-top: 1px solid #e8e5ef; + margin-top: 25px; + padding-top: 25px; +} + +.subcopy p { + font-size: 14px; +} + +/* Footer */ + +.footer { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 570px; + margin: 0 auto; + padding: 0; + text-align: center; + width: 570px; +} + +.footer p { + color: #b0adc5; + font-size: 12px; + text-align: center; +} + +.footer a { + color: #b0adc5; + text-decoration: underline; +} + +/* Tables */ + +.table table { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + margin: 30px auto; + width: 100%; +} + +.table th { + border-bottom: 1px solid #edeff2; + margin: 0; + padding-bottom: 8px; +} + +.table td { + color: #74787e; + font-size: 15px; + line-height: 18px; + margin: 0; + padding: 10px 0; +} + +.content-cell { + max-width: 100vw; + padding: 32px; +} + +/* Buttons */ + +.action { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + margin: 30px auto; + padding: 0; + text-align: center; + width: 100%; + float: unset; +} + +.button { + -webkit-text-size-adjust: none; + border-radius: 4px; + color: #fff; + display: inline-block; + overflow: hidden; + text-decoration: none; +} + +.button-blue, +.button-primary { + background-color: #2d3748; + border-bottom: 8px solid #2d3748; + border-left: 18px solid #2d3748; + border-right: 18px solid #2d3748; + border-top: 8px solid #2d3748; +} + +.button-green, +.button-success { + background-color: #48bb78; + border-bottom: 8px solid #48bb78; + border-left: 18px solid #48bb78; + border-right: 18px solid #48bb78; + border-top: 8px solid #48bb78; +} + +.button-red, +.button-error { + background-color: #e53e3e; + border-bottom: 8px solid #e53e3e; + border-left: 18px solid #e53e3e; + border-right: 18px solid #e53e3e; + border-top: 8px solid #e53e3e; +} + +/* Panels */ + +.panel { + border-left: #2d3748 solid 4px; + margin: 21px 0; +} + +.panel-content { + background-color: #edf2f7; + color: #718096; + padding: 16px; +} + +.panel-content p { + color: #718096; +} + +.panel-item { + padding: 0; +} + +.panel-item p:last-of-type { + margin-bottom: 0; + padding-bottom: 0; +} + +/* Utilities */ + +.break-all { + word-break: break-all; +} diff --git a/resources/views/vendor/mail/text/button.blade.php b/resources/views/vendor/mail/text/button.blade.php new file mode 100644 index 0000000..97444eb --- /dev/null +++ b/resources/views/vendor/mail/text/button.blade.php @@ -0,0 +1 @@ +{{ $slot }}: {{ $url }} diff --git a/resources/views/vendor/mail/text/footer.blade.php b/resources/views/vendor/mail/text/footer.blade.php new file mode 100644 index 0000000..3338f62 --- /dev/null +++ b/resources/views/vendor/mail/text/footer.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/mail/text/header.blade.php b/resources/views/vendor/mail/text/header.blade.php new file mode 100644 index 0000000..97444eb --- /dev/null +++ b/resources/views/vendor/mail/text/header.blade.php @@ -0,0 +1 @@ +{{ $slot }}: {{ $url }} diff --git a/resources/views/vendor/mail/text/layout.blade.php b/resources/views/vendor/mail/text/layout.blade.php new file mode 100644 index 0000000..ec58e83 --- /dev/null +++ b/resources/views/vendor/mail/text/layout.blade.php @@ -0,0 +1,9 @@ +{!! strip_tags($header ?? '') !!} + +{!! strip_tags($slot) !!} +@isset($subcopy) + +{!! strip_tags($subcopy) !!} +@endisset + +{!! strip_tags($footer ?? '') !!} diff --git a/resources/views/vendor/mail/text/message.blade.php b/resources/views/vendor/mail/text/message.blade.php new file mode 100644 index 0000000..3246b81 --- /dev/null +++ b/resources/views/vendor/mail/text/message.blade.php @@ -0,0 +1,27 @@ + + {{-- Header --}} + + + {{ config('app.name') }} + + + + {{-- Body --}} + {{ $slot }} + + {{-- Subcopy --}} + @isset($subcopy) + + + {{ $subcopy }} + + + @endisset + + {{-- Footer --}} + + + © {{ date('Y') }} {{ config('app.name') }}. @lang('Alle Rechte vorbehalten.') + + + diff --git a/resources/views/vendor/mail/text/panel.blade.php b/resources/views/vendor/mail/text/panel.blade.php new file mode 100644 index 0000000..3338f62 --- /dev/null +++ b/resources/views/vendor/mail/text/panel.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/mail/text/subcopy.blade.php b/resources/views/vendor/mail/text/subcopy.blade.php new file mode 100644 index 0000000..3338f62 --- /dev/null +++ b/resources/views/vendor/mail/text/subcopy.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/mail/text/table.blade.php b/resources/views/vendor/mail/text/table.blade.php new file mode 100644 index 0000000..3338f62 --- /dev/null +++ b/resources/views/vendor/mail/text/table.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/notifications/email.blade.php b/resources/views/vendor/notifications/email.blade.php new file mode 100644 index 0000000..792f040 --- /dev/null +++ b/resources/views/vendor/notifications/email.blade.php @@ -0,0 +1,56 @@ + + {{-- Greeting --}} + @if (!empty($greeting)) + # {{ $greeting }} + @else + @if ($level === 'error') + # @lang('Whoops!') + @else + # @lang('Hello!') + @endif + @endif + + {{-- Intro Lines --}} + @foreach ($introLines as $line) + {{ $line }} + @endforeach + + {{-- Action Button --}} + @isset($actionText) + $level, + default => 'primary', + }; + ?> + + {{ $actionText }} + + @endisset + + {{-- Outro Lines --}} + @foreach ($outroLines as $line) + {{ $line }} + @endforeach + + {{-- Salutation --}} + @if (!empty($salutation)) + {{ $salutation }} + @else + @lang('Regards,')
+ {{ config('app.name') }} + @endif + + {{-- Subcopy --}} + @isset($actionText) + + @lang( + "Wenn Sie Probleme beim Klicken auf die Schaltfläche \":actionText\" haben, kopieren Sie die folgende URL\n" + 'und fügen Sie sie in Ihren Webbrowser ein:', + [ + 'actionText' => $actionText, + ] +) [{{ $displayableActionUrl }}]({{ $actionUrl }}) + + @endisset +