0){for(u=1,t=1;u0&&(this.functions.shift()(),setTimeout((function(){r.run()}),0))}},o={};r.add((function(){n.start(),o.totalInputSize=0,o.totalParseTime=0})),e.forEach((function(e){r.add(function(e){return function(){n.benchmarkStart(e),o.parser=peg.generate(n.readFile("../examples/"+e.id+".pegjs"),t),o.benchmarkInputSize=0,o.benchmarkParseTime=0}}(e)),e.tests.forEach((function(t){r.add(function(e,t){return function(){n.testStart(e,t);for(var r=n.readFile(e.id+"/"+t.file),a=0,i=0;i\n \n ").concat(null!==n?"":"","\n ").concat(t,"\n ").concat(null!==n?"":"","\n | \n \n \n ").concat((r/1024).toFixed(2),"\n \n kB\n | \n \n \n ").concat(o.toFixed(2),"\n \n ms\n | \n \n \n ").concat((r/1024/(o/1e3)).toFixed(2),"\n \n kB/s\n | \n \n "))}var t=parseInt($("#run-count").val(),10),n={cache:$("#cache").is(":checked")};isNaN(t)||t<=0?alert("Number of runs must be a positive integer."):Runner.run(benchmarks,t,n,{readFile:function(e){return $.ajax({type:"GET",url:"https://raw.githubusercontent.com/peggyjs/peggy/".concat(BRANCH,"/benchmark/").concat(e),dataType:"text",async:!1}).responseText},testStart:function(){},testFinish:function(e,t,n,r){u("individual",t.title,"https://github.com/peggyjs/peggy/blob/".concat(BRANCH,"/benchmark/").concat(e.id,"/").concat(t.file),n,r)},benchmarkStart:function(u){e.append("\n \n \n ").concat(u.title,' \n | \n
"\n '))},benchmarkFinish:function(e,t,n){u("benchmark-total",e.title+" total",null,t,n)},start:function(){$("#run-count, #cache, #run").attr("disabled","disabled"),e.show(),$("#results-table tr").slice(1).remove()},finish:function(e,t){u("total","Total",null,e,t),$.scrollTo("max",{axis:"y",duration:500}),$("#run-count, #cache, #run").removeAttr("disabled")}})})),$(document).ready((function(){return $("#run").focus()})),browser_stub}));
\ No newline at end of file
diff --git a/docs/js/examples.js b/docs/js/examples.js
index 1b18ef87..a7f874e6 100644
--- a/docs/js/examples.js
+++ b/docs/js/examples.js
@@ -1,4 +1,4 @@
-// Generated by Peggy 3.0.1.
+// Generated by Peggy 3.0.2.
//
// https://peggyjs.org/
(function(root) {
diff --git a/docs/js/test-bundle.min.js b/docs/js/test-bundle.min.js
index 52b44f98..7807c810 100644
--- a/docs/js/test-bundle.min.js
+++ b/docs/js/test-bundle.min.js
@@ -1,8 +1,8 @@
-// peggy 3.0.1
+// peggy 3.0.2
//
// https://peggyjs.org/
//
// Copyright (c) 2023- the Peggy authors
// Licensed under the MIT License.
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("chai"),require("whatwg-url")):"function"==typeof define&&define.amd?define(["exports","chai","whatwg-url"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).browser={},e.chai,e.whatwgURL)}(this,(function(exports,require$$0,require$$0$1){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:zr},s=zr,c="{",i="}",u="=",p="/",l="@",f=":",g="$",$="&",d="!",m="?",h="*",x="+",A="|",b=",",v="..",E="(",y=")",C="\t",S="\v",_="\f",T=" ",P=" ",w="\ufeff",F="\n",B="\r\n",R="\r",D="\u2028",L="\u2029",O="/*",M="*/",I="//",k="_",N="\\",j="",U="",q="i",G='"',H="'",z="[",W="^",V="]",Y="-",Q="0",J="b",X="f",K="n",Z="r",ee="t",te="v",re="x",ae="u",ne=".",oe=";",se=/^[\n\r\u2028\u2029]/,ce=/^[0-9]/,ie=/^[0-9a-f]/i,ue=/^[{}]/,pe=/^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,le=/^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,fe=/^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,ge=/^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,$e=/^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,de=/^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,me=/^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,he=/^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,xe=/^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,Ae=/^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,be=/^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,ve=Nr("{",!1),Ee=Nr("}",!1),ye=Nr("=",!1),Ce=Nr("/",!1),Se=Nr("@",!1),_e=Nr(":",!1),Te=Nr("$",!1),Pe=Nr("&",!1),we=Nr("!",!1),Fe=Nr("?",!1),Be=Nr("*",!1),Re=Nr("+",!1),De=Nr("|",!1),Le=Nr(",",!1),Oe=Nr("..",!1),Me=Nr("(",!1),Ie=Nr(")",!1),ke={type:"any"},Ne=Ur("whitespace"),je=Nr("\t",!1),Ue=Nr("\v",!1),qe=Nr("\f",!1),Ge=Nr(" ",!1),He=Nr(" ",!1),ze=Nr("\ufeff",!1),We=jr(["\n","\r","\u2028","\u2029"],!1,!1),Ve=Ur("end of line"),Ye=Nr("\n",!1),Qe=Nr("\r\n",!1),Je=Nr("\r",!1),Xe=Nr("\u2028",!1),Ke=Nr("\u2029",!1),Ze=Ur("comment"),et=Nr("/*",!1),tt=Nr("*/",!1),rt=Nr("//",!1),at=Ur("identifier"),nt=Nr("_",!1),ot=Nr("\\",!1),st=Nr("",!1),ct=Nr("",!1),it=Ur("literal"),ut=Nr("i",!1),pt=Ur("string"),lt=Nr('"',!1),ft=Nr("'",!1),gt=Ur("character class"),$t=Nr("[",!1),dt=Nr("^",!1),mt=Nr("]",!1),ht=Nr("-",!1),xt=Nr("0",!1),At=Nr("b",!1),bt=Nr("f",!1),vt=Nr("n",!1),Et=Nr("r",!1),yt=Nr("t",!1),Ct=Nr("v",!1),St=Nr("x",!1),_t=Nr("u",!1),Tt=jr([["0","9"]],!1,!1),Pt=jr([["0","9"],["a","f"]],!1,!0),wt=Nr(".",!1),Ft=Ur("code block"),Bt=jr(["{","}"],!1,!1),Rt=jr([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ա","և"],["ᏸ","ᏽ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱞ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞵ","ꞷ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭥ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Dt=jr([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ー",["゙","゚"]],!1,!1),Lt=jr(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["װ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ა","ჺ"],["ჽ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Ot=jr(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Mt=jr([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱞ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɬ"],["Ʞ","Ꞵ"],"Ꞷ",["A","Z"]],!1,!1),It=jr(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡",["ᳲ","ᳳ"],["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦽ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),kt=jr([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],"ଁ","଼","ି",["ୁ","ୄ"],"୍","ୖ",["ୢ","ୣ"],"ஂ","ீ","்","ఀ",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],"ഁ",["ു","ൄ"],"്",["ൢ","ൣ"],"්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꣄",["꣠","꣱"],["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],"ꦼ","ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),Nt=jr([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),jt=jr([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Ut=jr(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),qt=jr([" "," "," ",[" "," "]," "," "," "],!1,!1),Gt=Nr(";",!1),Ht=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:Ir()}},zt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:Ir()}},Wt=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:Ir()}},Vt=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:Ir()}:r,location:Ir()}},Yt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:Ir()}:e},Qt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:Ir()}:e},Jt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:Ir()}:e},Xt=function(e,t,r){return r.type.startsWith("semantic_")&&kr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:Ir()}},Kt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:Ir()}},Zt=function(){return Ir()},er=function(e){return _a.indexOf(e[0])>=0&&kr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},tr=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:Ir()}},rr=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:Ir()}},ar=function(e,t,r){var a=t[0],n=t[1];return"constant"===n.type&&0===n.value&&kr("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:a,max:n,expression:e,delimiter:r,location:Ir()}},nr=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},or=function(e){return[null,e]},sr=function(e){return{type:"constant",value:e,location:Ir()}},cr=function(e){return{type:"variable",value:e[0],location:Ir()}},ir=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:Ir()}},ur=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:Ir()}:e},pr=function(e){return{type:"rule_ref",name:e[0],location:Ir()}},lr=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:Ir()}},fr=function(e,t){return[e+t.join(""),Ir()]},gr=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:Ir()}},$r=function(e){return e.join("")},dr=function(e){return e.join("")},mr=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:Ir()}},hr=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&kr("Invalid character range: "+e.substring(Rr,Br)+"."),[t,r]},xr=function(){return""},Ar=function(){return"\0"},br=function(){return"\b"},vr=function(){return"\f"},Er=function(){return"\n"},yr=function(){return"\r"},Cr=function(){return"\t"},Sr=function(){return"\v"},_r=function(e){return String.fromCharCode(parseInt(e,16))},Tr=function(e){return String.fromCharCode(parseInt(e,16))},Pr=function(){return{type:"any",location:Ir()}},wr=function(e){return[e,Ir()]},Fr=function(e){return parseInt(e,10)},Br=0,Rr=0,Dr=[{line:1,column:1}],Lr=0,Or=[],Mr=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function Ir(){return Gr(Rr,Br)}function kr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:Gr(Rr,Br))}function Nr(e,t){return{type:"literal",text:e,ignoreCase:t}}function jr(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function Ur(e){return{type:"other",description:e}}function qr(t){var r,a=Dr[t];if(a)return a;for(r=t-1;!Dr[r];)r--;for(a={line:(a=Dr[r]).line,column:a.column};rLr&&(Lr=Br,Or=[]),Or.push(e))}function zr(){var t,r,n,o,s,u;if(t=Br,Ca(),r=Br,n=function(){var t,r,n,o;return t=Br,123===e.charCodeAt(Br)?(r=c,Br++):(r=a,0===Mr&&Hr(ve)),r!==a&&(n=Ea())!==a?(125===e.charCodeAt(Br)?(o=i,Br++):(o=a,0===Mr&&Hr(Ee)),o!==a&&Sa()!==a?(Rr=t,t=zt(n)):(Br=t,t=a)):(Br=t,t=a),t}(),n!==a?(o=Ca(),r=n):(Br=r,r=a),r===a&&(r=null),n=Br,o=function(){var e,t;return e=Br,(t=Ea())!==a&&Sa()!==a?(Rr=e,e=Wt(t)):(Br=e,e=a),e}(),o!==a?(s=Ca(),n=o):(Br=n,n=a),n===a&&(n=null),o=[],s=Br,(u=Wr())!==a?(Ca(),s=u):(Br=s,s=a),s!==a)for(;s!==a;)o.push(s),s=Br,(u=Wr())!==a?(Ca(),s=u):(Br=s,s=a);else o=a;return o!==a?(Rr=t,t=Ht(r,n,o)):(Br=t,t=a),t}function Wr(){var t,r,n,o,s;return t=Br,(r=ia())!==a?(Ca(),n=Br,(o=la())!==a?(Ca(),n=o):(Br=n,n=a),n===a&&(n=null),61===e.charCodeAt(Br)?(o=u,Br++):(o=a,0===Mr&&Hr(ye)),o!==a?(Ca(),(s=Vr())!==a&&Sa()!==a?(Rr=t,t=Vt(r,n,s)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a),t}function Vr(){var t,r,n,o,s,c;if(t=Br,(r=Yr())!==a){for(n=[],o=Br,Ca(),47===e.charCodeAt(Br)?(s=p,Br++):(s=a,0===Mr&&Hr(Ce)),s!==a?(Ca(),(c=Yr())!==a?o=c:(Br=o,o=a)):(Br=o,o=a);o!==a;)n.push(o),o=Br,Ca(),47===e.charCodeAt(Br)?(s=p,Br++):(s=a,0===Mr&&Hr(Ce)),s!==a?(Ca(),(c=Yr())!==a?o=c:(Br=o,o=a)):(Br=o,o=a);Rr=t,t=Yt(r,n)}else Br=t,t=a;return t}function Yr(){var e,t,r,n;return e=Br,t=function(){var e,t,r,n,o;if(e=Br,(t=Qr())!==a){for(r=[],n=Br,Ca(),(o=Qr())!==a?n=o:(Br=n,n=a);n!==a;)r.push(n),n=Br,Ca(),(o=Qr())!==a?n=o:(Br=n,n=a);Rr=e,e=Jt(t,r)}else Br=e,e=a;return e}(),t!==a?(r=Br,Ca(),(n=Ea())!==a?r=n:(Br=r,r=a),r===a&&(r=null),Rr=e,e=Qt(t,r)):(Br=e,e=a),e}function Qr(){var t,r,n,o;return t=Br,r=function(){var t,r;return t=Br,64===e.charCodeAt(Br)?(r=l,Br++):(r=a,0===Mr&&Hr(Se)),r!==a&&(Rr=t,r=Zt()),t=r}(),r!==a?((n=Jr())===a&&(n=null),(o=Xr())!==a?(Rr=t,t=Xt(r,n,o)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Br,(r=Jr())!==a?(n=Ca(),(o=Xr())!==a?(Rr=t,t=Kt(r,o)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Xr())),t}function Jr(){var t,r,n;return t=Br,(r=ia())!==a?(Ca(),58===e.charCodeAt(Br)?(n=f,Br++):(n=a,0===Mr&&Hr(_e)),n!==a?(Rr=t,t=er(r)):(Br=t,t=a)):(Br=t,t=a),t}function Xr(){var t,r,n;return t=Br,r=function(){var t;return 36===e.charCodeAt(Br)?(t=g,Br++):(t=a,0===Mr&&Hr(Te)),t===a&&(38===e.charCodeAt(Br)?(t=$,Br++):(t=a,0===Mr&&Hr(Pe)),t===a&&(33===e.charCodeAt(Br)?(t=d,Br++):(t=a,0===Mr&&Hr(we)))),t}(),r!==a?(Ca(),(n=Kr())!==a?(Rr=t,t=tr(r,n)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Kr()),t}function Kr(){var t,r,n;return t=Br,(r=ea())!==a?(Ca(),n=function(){var t;return 63===e.charCodeAt(Br)?(t=m,Br++):(t=a,0===Mr&&Hr(Fe)),t===a&&(42===e.charCodeAt(Br)?(t=h,Br++):(t=a,0===Mr&&Hr(Be)),t===a&&(43===e.charCodeAt(Br)?(t=x,Br++):(t=a,0===Mr&&Hr(Re)))),t}(),n!==a?(Rr=t,t=rr(r,n)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Br,(r=ea())!==a?(Ca(),124===e.charCodeAt(Br)?(n=A,Br++):(n=a,0===Mr&&Hr(De)),n!==a?(Ca(),o=function(){var t,r,n,o;return t=Br,(r=Zr())===a&&(r=null),Ca(),e.substr(Br,2)===v?(n=v,Br+=2):(n=a,0===Mr&&Hr(Oe)),n!==a?(Ca(),(o=Zr())===a&&(o=null),Rr=t,t=nr(r,o)):(Br=t,t=a),t===a&&(t=Br,(r=Zr())!==a&&(Rr=t,r=or(r)),t=r),t}(),o!==a?(Ca(),s=Br,44===e.charCodeAt(Br)?(c=b,Br++):(c=a,0===Mr&&Hr(Le)),c!==a?(Ca(),(i=Vr())!==a?(Ca(),s=i):(Br=s,s=a)):(Br=s,s=a),s===a&&(s=null),124===e.charCodeAt(Br)?(c=A,Br++):(c=a,0===Mr&&Hr(De)),c!==a?(Rr=t,t=ar(r,o,s)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=ea())),t}function Zr(){var t,r;return t=Br,r=function(){var t,r,n,o;if(t=Br,r=Br,n=[],(o=ba())!==a)for(;o!==a;)n.push(o),o=ba();else n=a;return(r=n!==a?e.substring(r,Br):n)!==a&&(Rr=t,r=Fr(r)),t=r}(),r!==a&&(Rr=t,r=sr(r)),(t=r)===a&&(t=Br,(r=ia())!==a&&(Rr=t,r=cr(r)),(t=r)===a&&(t=Br,(r=Ea())!==a&&(Rr=t,r=ir(r)),t=r)),t}function ea(){var t,r,n,o;return t=function(){var t,r,n;return Mr++,t=Br,(r=la())!==a?(105===e.charCodeAt(Br)?(n=q,Br++):(n=a,0===Mr&&Hr(ut)),n===a&&(n=null),Rr=t,t=gr(r,n)):(Br=t,t=a),Mr--,t===a&&(r=a,0===Mr&&Hr(it)),t}(),t===a&&(t=function(){var t,r,n,o,s,c;if(Mr++,t=Br,91===e.charCodeAt(Br)?(r=z,Br++):(r=a,0===Mr&&Hr($t)),r!==a){for(94===e.charCodeAt(Br)?(n=W,Br++):(n=a,0===Mr&&Hr(dt)),n===a&&(n=null),o=[],(s=$a())===a&&(s=da());s!==a;)o.push(s),(s=$a())===a&&(s=da());93===e.charCodeAt(Br)?(s=V,Br++):(s=a,0===Mr&&Hr(mt)),s!==a?(105===e.charCodeAt(Br)?(c=q,Br++):(c=a,0===Mr&&Hr(ut)),c===a&&(c=null),Rr=t,t=mr(n,o,c)):(Br=t,t=a)}else Br=t,t=a;return Mr--,t===a&&(r=a,0===Mr&&Hr(gt)),t}(),t===a&&(t=function(){var t,r;return t=Br,46===e.charCodeAt(Br)?(r=ne,Br++):(r=a,0===Mr&&Hr(wt)),r!==a&&(Rr=t,r=Pr()),t=r}(),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Br,(r=ia())!==a?(n=Br,Mr++,o=Br,s=Ca(),c=Br,(i=la())!==a?c=i=[i,Ca()]:(Br=c,c=a),c===a&&(c=null),61===e.charCodeAt(Br)?(i=u,Br++):(i=a,0===Mr&&Hr(ye)),i!==a?o=s=[s,c,i]:(Br=o,o=a),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a?(Rr=t,t=pr(r)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=Br,r=function(){var t;return 38===e.charCodeAt(Br)?(t=$,Br++):(t=a,0===Mr&&Hr(Pe)),t===a&&(33===e.charCodeAt(Br)?(t=d,Br++):(t=a,0===Mr&&Hr(we))),t}(),r!==a?(Ca(),(n=Ea())!==a?(Rr=t,t=lr(r,n)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=Br,40===e.charCodeAt(Br)?(r=E,Br++):(r=a,0===Mr&&Hr(Me)),r!==a?(Ca(),(n=Vr())!==a?(Ca(),41===e.charCodeAt(Br)?(o=y,Br++):(o=a,0===Mr&&Hr(Ie)),o!==a?(Rr=t,t=ur(n)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a)))))),t}function ta(){var t;return e.length>Br?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(ke)),t}function ra(){var t;return Mr++,9===e.charCodeAt(Br)?(t=C,Br++):(t=a,0===Mr&&Hr(je)),t===a&&(11===e.charCodeAt(Br)?(t=S,Br++):(t=a,0===Mr&&Hr(Ue)),t===a&&(12===e.charCodeAt(Br)?(t=_,Br++):(t=a,0===Mr&&Hr(qe)),t===a&&(32===e.charCodeAt(Br)?(t=T,Br++):(t=a,0===Mr&&Hr(Ge)),t===a&&(160===e.charCodeAt(Br)?(t=P,Br++):(t=a,0===Mr&&Hr(He)),t===a&&(65279===e.charCodeAt(Br)?(t=w,Br++):(t=a,0===Mr&&Hr(ze)),t===a&&(t=function(){var t;return be.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(qt)),t}())))))),Mr--,t===a&&0===Mr&&Hr(Ne),t}function aa(){var t;return se.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(We)),t}function na(){var t;return Mr++,10===e.charCodeAt(Br)?(t=F,Br++):(t=a,0===Mr&&Hr(Ye)),t===a&&(e.substr(Br,2)===B?(t=B,Br+=2):(t=a,0===Mr&&Hr(Qe)),t===a&&(13===e.charCodeAt(Br)?(t=R,Br++):(t=a,0===Mr&&Hr(Je)),t===a&&(8232===e.charCodeAt(Br)?(t=D,Br++):(t=a,0===Mr&&Hr(Xe)),t===a&&(8233===e.charCodeAt(Br)?(t=L,Br++):(t=a,0===Mr&&Hr(Ke)))))),Mr--,t===a&&0===Mr&&Hr(Ve),t}function oa(){var t;return Mr++,(t=function(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===O?(r=O,Br+=2):(r=a,0===Mr&&Hr(et)),r!==a){for(n=[],o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);e.substr(Br,2)===M?(o=M,Br+=2):(o=a,0===Mr&&Hr(tt)),o!==a?t=r=[r,n,o]:(Br=t,t=a)}else Br=t,t=a;return t}())===a&&(t=ca()),Mr--,t===a&&0===Mr&&Hr(Ze),t}function sa(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===O?(r=O,Br+=2):(r=a,0===Mr&&Hr(et)),r!==a){for(n=[],o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),c===a&&(c=aa()),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),c===a&&(c=aa()),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);e.substr(Br,2)===M?(o=M,Br+=2):(o=a,0===Mr&&Hr(tt)),o!==a?t=r=[r,n,o]:(Br=t,t=a)}else Br=t,t=a;return t}function ca(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===I?(r=I,Br+=2):(r=a,0===Mr&&Hr(rt)),r!==a){for(n=[],o=Br,s=Br,Mr++,c=aa(),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,c=aa(),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);t=r=[r,n]}else Br=t,t=a;return t}function ia(){var e,t,r,n;if(Mr++,e=Br,(t=ua())!==a){for(r=[],n=pa();n!==a;)r.push(n),n=pa();Rr=e,e=fr(t,r)}else Br=e,e=a;return Mr--,e===a&&(t=a,0===Mr&&Hr(at)),e}function ua(){var t,r,n;return(t=function(){var t;return(t=function(){var t;return $e.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Mt)),t}())===a&&(t=function(){var t;return pe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Rt)),t}())===a&&(t=function(){var t;return ge.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Ot)),t}())===a&&(t=function(){var t;return le.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Dt)),t}())===a&&(t=function(){var t;return fe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Lt)),t}())===a&&(t=function(){var t;return xe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(jt)),t}()),t}())===a&&(95===e.charCodeAt(Br)?(t=k,Br++):(t=a,0===Mr&&Hr(nt)),t===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=Aa())!==a?t=n:(Br=t,t=a))),t}function pa(){var t;return(t=ua())===a&&(36===e.charCodeAt(Br)?(t=g,Br++):(t=a,0===Mr&&Hr(Te)),t===a&&(t=function(){var t;return(t=function(){var t;return me.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(kt)),t}())===a&&(t=function(){var t;return de.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(It)),t}()),t}())===a&&(t=function(){var t;return he.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Nt)),t}())===a&&(t=function(){var t;return Ae.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Ut)),t}())===a&&(8204===e.charCodeAt(Br)?(t=j,Br++):(t=a,0===Mr&&Hr(st)),t===a&&(8205===e.charCodeAt(Br)?(t=U,Br++):(t=a,0===Mr&&Hr(ct))))),t}function la(){var t,r,n,o;if(Mr++,t=Br,34===e.charCodeAt(Br)?(r=G,Br++):(r=a,0===Mr&&Hr(lt)),r!==a){for(n=[],o=fa();o!==a;)n.push(o),o=fa();34===e.charCodeAt(Br)?(o=G,Br++):(o=a,0===Mr&&Hr(lt)),o!==a?(Rr=t,t=$r(n)):(Br=t,t=a)}else Br=t,t=a;if(t===a)if(t=Br,39===e.charCodeAt(Br)?(r=H,Br++):(r=a,0===Mr&&Hr(ft)),r!==a){for(n=[],o=ga();o!==a;)n.push(o),o=ga();39===e.charCodeAt(Br)?(o=H,Br++):(o=a,0===Mr&&Hr(ft)),o!==a?(Rr=t,t=dr(n)):(Br=t,t=a)}else Br=t,t=a;return Mr--,t===a&&(r=a,0===Mr&&Hr(pt)),t}function fa(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,34===e.charCodeAt(Br)?(o=G,Br++):(o=a,0===Mr&&Hr(lt)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ha())!==a?t=n:(Br=t,t=a),t===a&&(t=ma())),t}function ga(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,39===e.charCodeAt(Br)?(o=H,Br++):(o=a,0===Mr&&Hr(ft)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ha())!==a?t=n:(Br=t,t=a),t===a&&(t=ma())),t}function $a(){var t,r,n,o;return t=Br,(r=da())!==a?(45===e.charCodeAt(Br)?(n=Y,Br++):(n=a,0===Mr&&Hr(ht)),n!==a&&(o=da())!==a?(Rr=t,t=hr(r,o)):(Br=t,t=a)):(Br=t,t=a),t}function da(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,93===e.charCodeAt(Br)?(o=V,Br++):(o=a,0===Mr&&Hr(mt)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ha())!==a?t=n:(Br=t,t=a),t===a&&(t=ma())),t}function ma(){var t,r;return t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&na()!==a?(Rr=t,t=xr()):(Br=t,t=a),t}function ha(){var t,r,n,o;return t=function(){var t;return(t=xa())===a&&(t=function(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,o=function(){var t;return(t=xa())===a&&(t=ba())===a&&(120===e.charCodeAt(Br)?(t=re,Br++):(t=a,0===Mr&&Hr(St)),t===a&&(117===e.charCodeAt(Br)?(t=ae,Br++):(t=a,0===Mr&&Hr(_t)))),t}(),o===a&&(o=aa()),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),t=r!==a?e.substring(t,Br):r}()),t}(),t===a&&(t=Br,48===e.charCodeAt(Br)?(r=Q,Br++):(r=a,0===Mr&&Hr(xt)),r!==a?(n=Br,Mr++,o=ba(),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a?(Rr=t,t=Ar()):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=Br,120===e.charCodeAt(Br)?(r=re,Br++):(r=a,0===Mr&&Hr(St)),r!==a?(n=Br,o=Br,(s=va())!==a&&(c=va())!==a?o=s=[s,c]:(Br=o,o=a),(n=o!==a?e.substring(n,Br):o)!==a?(Rr=t,t=_r(n)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=Aa()))),t}function xa(){var t,r;return 39===e.charCodeAt(Br)?(t=H,Br++):(t=a,0===Mr&&Hr(ft)),t===a&&(34===e.charCodeAt(Br)?(t=G,Br++):(t=a,0===Mr&&Hr(lt)),t===a&&(92===e.charCodeAt(Br)?(t=N,Br++):(t=a,0===Mr&&Hr(ot)),t===a&&(t=Br,98===e.charCodeAt(Br)?(r=J,Br++):(r=a,0===Mr&&Hr(At)),r!==a&&(Rr=t,r=br()),(t=r)===a&&(t=Br,102===e.charCodeAt(Br)?(r=X,Br++):(r=a,0===Mr&&Hr(bt)),r!==a&&(Rr=t,r=vr()),(t=r)===a&&(t=Br,110===e.charCodeAt(Br)?(r=K,Br++):(r=a,0===Mr&&Hr(vt)),r!==a&&(Rr=t,r=Er()),(t=r)===a&&(t=Br,114===e.charCodeAt(Br)?(r=Z,Br++):(r=a,0===Mr&&Hr(Et)),r!==a&&(Rr=t,r=yr()),(t=r)===a&&(t=Br,116===e.charCodeAt(Br)?(r=ee,Br++):(r=a,0===Mr&&Hr(yt)),r!==a&&(Rr=t,r=Cr()),(t=r)===a&&(t=Br,118===e.charCodeAt(Br)?(r=te,Br++):(r=a,0===Mr&&Hr(Ct)),r!==a&&(Rr=t,r=Sr()),t=r)))))))),t}function Aa(){var t,r,n,o,s,c,i,u;return t=Br,117===e.charCodeAt(Br)?(r=ae,Br++):(r=a,0===Mr&&Hr(_t)),r!==a?(n=Br,o=Br,(s=va())!==a&&(c=va())!==a&&(i=va())!==a&&(u=va())!==a?o=s=[s,c,i,u]:(Br=o,o=a),(n=o!==a?e.substring(n,Br):o)!==a?(Rr=t,t=Tr(n)):(Br=t,t=a)):(Br=t,t=a),t}function ba(){var t;return ce.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Tt)),t}function va(){var t;return ie.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Pt)),t}function Ea(){var t,r,n,o;return Mr++,t=Br,123===e.charCodeAt(Br)?(r=c,Br++):(r=a,0===Mr&&Hr(ve)),r!==a?(n=function(){var e,t;return e=Br,t=ya(),Rr=e,e=t=wr(t)}(),125===e.charCodeAt(Br)?(o=i,Br++):(o=a,0===Mr&&Hr(Ee)),o!==a?t=n:(Br=t,t=a)):(Br=t,t=a),Mr--,t===a&&(r=a,0===Mr&&Hr(Ft)),t}function ya(){var t,r,n,o,s,u;if(t=Br,r=[],n=[],o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a);else n=a;for(n===a&&(n=Br,123===e.charCodeAt(Br)?(o=c,Br++):(o=a,0===Mr&&Hr(ve)),o!==a?(s=ya(),125===e.charCodeAt(Br)?(u=i,Br++):(u=a,0===Mr&&Hr(Ee)),u!==a?n=o=[o,s,u]:(Br=n,n=a)):(Br=n,n=a));n!==a;){if(r.push(n),n=[],o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a);else n=a;n===a&&(n=Br,123===e.charCodeAt(Br)?(o=c,Br++):(o=a,0===Mr&&Hr(ve)),o!==a?(s=ya(),125===e.charCodeAt(Br)?(u=i,Br++):(u=a,0===Mr&&Hr(Ee)),u!==a?n=o=[o,s,u]:(Br=n,n=a)):(Br=n,n=a))}return e.substring(t,Br)}function Ca(){var e,t;for(e=[],(t=ra())===a&&(t=na())===a&&(t=oa());t!==a;)e.push(t),(t=ra())===a&&(t=na())===a&&(t=oa());return e}function Sa(){var t,r,n,o;if(t=[],r=Br,n=Ca(),59===e.charCodeAt(Br)?(o=oe,Br++):(o=a,0===Mr&&Hr(Gt)),o!==a?r=n=[n,o]:(Br=r,r=a),r!==a)for(;r!==a;)t.push(r),r=Br,n=Ca(),59===e.charCodeAt(Br)?(o=oe,Br++):(o=a,0===Mr&&Hr(Gt)),o!==a?r=n=[n,o]:(Br=r,r=a);else t=a;return t===a&&(t=Br,r=function(){var e,t;for(e=[],(t=ra())===a&&(t=sa());t!==a;)e.push(t),(t=ra())===a&&(t=sa());return e}(),(n=ca())===a&&(n=null),(o=na())!==a?t=r=[r,n,o]:(Br=t,t=a),t===a&&(t=Br,r=Ca(),n=function(){var t,r;return t=Br,Mr++,e.length>Br?(r=e.charAt(Br),Br++):(r=a,0===Mr&&Hr(ke)),Mr--,r===a?t=void 0:(Br=t,t=a),t}(),n!==a?t=r=[r,n]:(Br=t,t=a))),t}var _a=t.reservedWords||[];if((r=s())!==a&&Br===e.length)return r;throw r!==a&&Br0){for(t=1,r=1;t1&&e.delimiter&&n(e.delimiter)))},semantic_and:a,semantic_not:a,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return r?n(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return n(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,GrammarLocation$5=function(){function e(e,t){this.source=e,this.start=t}return e.prototype.toString=function(){return String(this.source)},e.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},e.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},e.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},e}(),grammarLocation=GrammarLocation$5,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},extendStatics(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),extendStatics,GrammarLocation$4=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},GrammarError$5=function(e){function t(r,a,n){var o=e.call(this,r)||this;return setProtoOf(o,t.prototype),o.name="GrammarError",o.location=a,void 0===n&&(n=[]),o.diagnostics=n,o.stage=null,o.problems=[["error",r,a,n]],o}return __extends(t,e),t.prototype.toString=function(){var t=e.prototype.toString.call(this);this.location&&(t+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(t+="".concat(this.location.source,":")),t+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var r=0,a=this.diagnostics;r0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$9.build({rule:function(e){var t,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++r>6)throw new GrammarError$4("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:a,choice:function(e){return e.match=n(e.alternatives,!0)},action:a,sequence:function(e){return e.match=n(e.elements,!1)},labeled:a,text:a,simple_and:a,simple_not:function(e){return e.match=-o(e.expression)},optional:r,zero_or_more:r,one_or_more:a,repeated:function(e){var t=o(e.expression),r=e.delimiter?o(e.delimiter):NEVER_MATCH$1,a=e.min?e.min:e.max;return"constant"!==a.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&a.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===a.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&a.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&a.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===a.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:a,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$6.findRule(e,t.name);return t.match=o(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$4=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?g(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=l(t.env),a="sequence"!==e.expression.type||0===e.expression.elements.length,n=v(e.expression,{sp:t.sp+(a?1:0),env:r,action:e}),o=0|e.expression.match,s=a&&o!==NEVER_MATCH?u(!1,Object.keys(r),e):null;return a?f([op$1.PUSH_CURR_POS],n,g(o,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],$(s,1,r,t.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(r,a){if(r.length>0){var n=e.elements.length-r.length+1;return f(v(r[0],{sp:a.sp,env:a.env,pluck:a.pluck,action:null}),g(0|r[0].match,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(a.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,a.pluck.length],a.pluck.map((function(e){return a.sp-e})));if(a.action){var o=u(!1,Object.keys(a.env),a.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],$(o,e.elements.length+1,a.env,a.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var a=r.env,n=e.label,o=r.sp+1;n&&(a=l(r.env),r.env[e.label]=o),e.pick&&r.pluck.push(o);var s=v(e.expression,{sp:r.sp,env:a,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$1.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$1.PUSH_CURR_POS],v(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),g(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return d(e.expression,!1,t)},simple_not:function(e,t){return d(e.expression,!0,t)},optional:function(e,t){return f(v(e.expression,{sp:t.sp,env:l(t.env),action:null}),g(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,h(r),[op$1.POP])},one_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,g(0|e.expression.match,[op$1.IF_NOT_ERROR],f(h(r),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,a="constant"!==r.type||r.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=a?2:1,s=e.min?x(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},c=x(e.max,t.env,s.sp,o),i=v(e.expression,{sp:c.sp+o,env:l(t.env),action:null}),u=null!==e.delimiter?v(e.expression,{sp:c.sp+o+1,env:l(t.env),action:null}):i,p=function(e,t,r,a,n){return e?f([op$1.PUSH_CURR_POS],v(e,{sp:a.sp+n+1,env:l(a.env),action:null}),g(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],r,g(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):r}(e.delimiter,0|e.expression.match,u,t,o),$=A(p,e.max),d=n?A(i,e.max):i,m=f(a?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],d,h($),[op$1.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,g(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(m,r):m,c.post,s.post)},group:function(e,t){return v(e.expression,{sp:t.sp,env:l(t.env),action:null})},semantic_and:function(e,t){return m(e,!1,t)},semantic_not:function(e,t){return m(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?c(e.ignoreCase?e.value.toLowerCase():e.value):null,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return g(t,e.ignoreCase?[op$1.MATCH_STRING_IC,r]:[op$1.MATCH_STRING,r],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,r],[op$1.FAIL,a])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),n=a.findIndex((function(e){return JSON.stringify(e)===r}));return-1===n?a.push(t)-1:n}(e):null,n=t!==ALWAYS_MATCH?i({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return g(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?i({type:"any"}):null;return g(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,r])}},t&&"source-and-map"===t.output&&Object.entries(b).forEach((function(e){var t=e[0],r=e[1];b[t]=function(e){for(var t=[],a=1;a>>=VLQ_BASE_SHIFT$1,a>0&&(t|=VLQ_CONTINUATION_BIT$1),r+=base64$5.encode(t)}while(a>0);return r};var util$8={};function getArg$1(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$8.getArg=getArg$1;const supportsNullProto$1=!("__proto__"in Object.create(null));function identity$1(e){return e}function toSetString$1(e){return isProtoString$1(e)?"$"+e:e}function fromSetString$1(e){return isProtoString$1(e)?e.slice(1):e}function isProtoString$1(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp$1(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated$1(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp$1(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp$1(e.name,t.name)))))}util$8.toSetString=supportsNullProto$1?identity$1:toSetString$1,util$8.fromSetString=supportsNullProto$1?identity$1:fromSetString$1,util$8.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated$1;const PROTOCOL$1="http:",PROTOCOL_AND_HOST$1=`${PROTOCOL$1}//host`;function createSafeHandler$1(e){return t=>{const r=getURLType$1(t),a=buildSafeBase$1(t),n=new URL(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL$1.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST$1.length):computeRelativeURL$1(a,o)}}function withBase$1(e,t){return new URL(e,t).toString()}function buildUniqueSegment$1(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase$1(e){const t=e.split("..").length-1,r=buildUniqueSegment$1("p",e);let a=`${PROTOCOL_AND_HOST$1}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory$1=createSafeHandler$1((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize$1=createSafeHandler$1((e=>{}));function join$1(e,t){const r=getURLType$1(t),a=getURLType$1(e);if(e=ensureDirectory$1(e),"absolute"===r)return withBase$1(t,void 0);if("absolute"===a)return withBase$1(t,e);if("scheme-relative"===r)return normalize$1(t);if("scheme-relative"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL$1.length);if("path-absolute"===r)return normalize$1(t);if("path-absolute"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL_AND_HOST$1.length);const n=buildSafeBase$1(t+e);return computeRelativeURL$1(n,withBase$1(t,withBase$1(e,n)))}function relative$1(e,t){const r=relativeIfPossible$1(e,t);return"string"==typeof r?r:normalize$1(t)}function relativeIfPossible$1(e,t){if(getURLType$1(e)!==getURLType$1(t))return null;const r=buildSafeBase$1(e+t),a=new URL(e,r),n=new URL(t,r);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL$1(a,n)}util$8.normalize=normalize$1,util$8.join=join$1,util$8.relative=relative$1;var arraySet$1={};let ArraySet$4=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$7.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$3=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter$1(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$7.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList$1.MappingList=MappingList$3;const base64VLQ$1=base64Vlq$1,util$6=util$8,ArraySet$3=arraySet$1.ArraySet,MappingList$2=mappingList$1.MappingList;let SourceMapGenerator$3=class e{constructor(e){e||(e={}),this._file=util$6.getArg(e,"file",null),this._sourceRoot=util$6.getArg(e,"sourceRoot",null),this._skipValidation=util$6.getArg(e,"skipValidation",!1),this._sources=new ArraySet$3,this._names=new ArraySet$3,this._mappings=new MappingList$2,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$6.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=r&&(n=util$6.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$6.getArg(e,"generated"),r=util$6.getArg(e,"original",null);let a=util$6.getArg(e,"source",null),n=util$6.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$6.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$6.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$6.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$6.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$3:this._sources,s=new ArraySet$3;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$6.join(r,t.source)),null!=n&&(t.source=util$6.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$6.join(r,t)),null!=n&&(t=util$6.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$6.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ$1.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ$1.encode(a-u),u=a,e+=base64VLQ$1.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ$1.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ$1.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$6.relative(t,e));const r=util$6.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$3.prototype._version=3,sourceMapGenerator$1.SourceMapGenerator=SourceMapGenerator$3;var sourceNode$1={};const SourceMapGenerator$2=sourceMapGenerator$1.SourceMapGenerator,util$5=util$8,REGEX_NEWLINE$1=/(\r?\n)/,NEWLINE_CODE$1=10,isSourceNode$1="$$$isSourceNode$$$";let SourceNode$4=class e{constructor(e,t,r,a,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==n?null:n,this[isSourceNode$1]=!0,null!=a&&this.add(a)}static fromStringWithSourceMap(t,r,a){const n=new e,o=t.split(REGEX_NEWLINE$1);let s=0;const c=function(){return e()+(e()||"");function e(){return s=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode$1]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.prototype.sourceNode=function(e,t,r){var a=GrammarLocation$3.offsetStart(e);return new SourceNode$3(a.line,a.column?a.column-1:null,String(e.source),t,r)},e.prototype.push=function(e){++this.sp>this.maxSp&&(this.maxSp=this.sp);var t=this.labels[this.sp],r=[this.name(this.sp)," = ",e,";"];if(t){if(this.sourceMapStack.length){var a=this.sourceNode(t.location,r.splice(0,2),t.label),n=this.sourceMapPopInternal(),o=n.parts,s=n.location,c=s.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),t=e[0],r=e[1],a=e[2],n=t.splice(r).map((function(e){return e instanceof SourceNode$3?e:e+"\n"}));if(n.length){var o=GrammarLocation$3.offsetStart(a);t.push(new SourceNode$3(o.line,o.column-1,String(a.source),n))}return{parts:t,location:a}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===r?(n+=t[e[a]>>2],n+=t[(3&e[a])<<4],n+="=="):2===r&&(n+=t[e[a]>>2],n+=t[(3&e[a])<<4|e[a+1]>>4],n+=t[(15&e[a+1])<<2],n+="="),n}utils$1.hex=hex$1,utils$1.stringEscape=stringEscape$2,utils$1.regexpClassEscape=regexpClassEscape$2,utils$1.base64=base64$4;var __spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0&&(r.forEach((function(e){o.push("var "+e+' = require("'+stringEscape$1(t.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var r=Object.keys(t.dependencies),n=a();return n.push(""),r.length>0&&(r.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(t.dependencies[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var o=Object.keys(t.dependencies),s="["+o.map((function(e){return t.dependencies[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.join(", ");return __spreadArray$3(__spreadArray$3([],a(),!0),["define("+s+", function("+c+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$3(__spreadArray$3([],a(),!0),["(function(root) {",' "use strict";',"",e,"",r("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(t.dependencies),s=o.map((function(e){return t.dependencies[e]})),c="["+s.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",i=s.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),u=o.join(", "),p=a();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+c+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+u+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"),p}},s=o[t.format]();return new SourceNode$2(null,null,t.grammarSource,s.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}(function(){var u=[];e.topLevelInitializer&&(u.push(i(e.topLevelInitializer)),u.push("")),u.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&u.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var p="{ "+t.allowedStartRules.map((function(e){return e+": "+c(e)})).join(", ")+" }",l=c(t.allowedStartRules[0]);return u.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+p+";"," var peg$startRuleFunction = "+l+";","",new SourceNode$2(null,null,t.grammarSource,[e.literals.map((function(e,t){return" var "+a(t)+' = "'+stringEscape$1(e)+'";'})).concat("",e.classes.map((function(e,t){return" var "+n(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape$1(e[0])+"-"+regexpClassEscape$1(e[1]):regexpClassEscape$1(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",e.expectations.map((function(e,t){return" var "+o(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape$1(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape$1(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape$1(e[0])+'", "'+stringEscape$1(e[1])+'"]':'"'+stringEscape$1(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n"),e.functions.map((function(e,t){return wrapInSourceNode("\n var ".concat(s(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&u.push(" var peg$resultsCache = {};",""),t.trace&&u.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),u.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(i){u.push.apply(u,r(function(i){var u=[],p=new Stack$1(i.name,"s","var",i.bytecode),l=function t(u){var l,f=0,g=u.length,$=[];function d(e,a){var n,o,s=a+3,c=u[f+s-2],i=u[f+s-1];p.checkedIf(f,(function(){f+=s,n=t(u.slice(f,f+c)),f+=c}),i>0?function(){o=t(u.slice(f,f+i)),f+=i}:null),$.push("if ("+e+") {"),$.push.apply($,r(n)),i>0&&($.push("} else {"),$.push.apply($,r(o))),$.push("}")}function m(e){var a,n=u[f+2-1];p.checkedLoop(f,(function(){f+=2,a=t(u.slice(f,f+n)),f+=n})),$.push("while ("+e+") {"),$.push.apply($,r(a)),$.push("}")}function h(e){var t=u[f+e-1];return s(u[f+1])+"("+u.slice(f+e,f+e+t).map((function(e){return p.index(e)})).join(", ")+")"}for(;f= "+u[f+1],1);break;case op.IF_LT_DYNAMIC:d(p.top()+".length < "+p.index(u[f+1])+"|0",1);break;case op.IF_GE_DYNAMIC:d(p.top()+".length >= "+p.index(u[f+1])+"|0",1);break;case op.WHILE_NOT_ERROR:m(p.top()+" !== peg$FAILED");break;case op.MATCH_ANY:d("input.length > peg$currPos",0);break;case op.MATCH_STRING:d(e.literals[u[f+1]].length>1?"input.substr(peg$currPos, "+e.literals[u[f+1]].length+") === "+a(u[f+1]):"input.charCodeAt(peg$currPos) === "+e.literals[u[f+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:d("input.substr(peg$currPos, "+e.literals[u[f+1]].length+").toLowerCase() === "+a(u[f+1]),1);break;case op.MATCH_CHAR_CLASS:d(n(u[f+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:$.push(p.push(u[f+1]>1?"input.substr(peg$currPos, "+u[f+1]+")":"input.charAt(peg$currPos)")),$.push(u[f+1]>1?"peg$currPos += "+u[f+1]+";":"peg$currPos++;"),f+=2;break;case op.ACCEPT_STRING:$.push(p.push(a(u[f+1]))),$.push(e.literals[u[f+1]].length>1?"peg$currPos += "+e.literals[u[f+1]].length+";":"peg$currPos++;"),f+=2;break;case op.FAIL:$.push(p.push("peg$FAILED")),$.push("if (peg$silentFails === 0) { peg$fail("+o(u[f+1])+"); }"),f+=2;break;case op.LOAD_SAVED_POS:$.push("peg$savedPos = "+p.index(u[f+1])+";"),f+=2;break;case op.UPDATE_SAVED_POS:$.push("peg$savedPos = peg$currPos;"),f++;break;case op.CALL:l=h(4),p.pop(u[f+2]),$.push(p.push(l)),f+=4+u[f+3];break;case op.RULE:$.push(p.push(c(e.rules[u[f+1]].name)+"()")),f+=2;break;case op.SILENT_FAILS_ON:$.push("peg$silentFails++;"),f++;break;case op.SILENT_FAILS_OFF:$.push("peg$silentFails--;"),f++;break;case op.SOURCE_MAP_PUSH:p.sourceMapPush($,e.locations[u[f+1]]),f+=2;break;case op.SOURCE_MAP_POP:p.sourceMapPop(),f++;break;case op.SOURCE_MAP_LABEL_PUSH:p.labels[u[f+1]]={label:e.literals[u[f+2]],location:e.locations[u[f+3]]},f+=4;break;case op.SOURCE_MAP_LABEL_POP:delete p.labels[u[f+1]],f+=2;break;default:throw new Error("Invalid opcode: "+u[f]+".",{rule:i.name,bytecode:u})}return $}(i.bytecode);return u.push(wrapInSourceNode("function ",c(i.name),i.nameLocation,"() {\n",i.name)),t.trace&&u.push(" var startPos = peg$currPos;"),u.push(r(p.defines())),u.push.apply(u,r(function(r,a){var n=[];return n.push(""),t.trace&&n.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)","});",""),t.cache&&(n.push("var key = peg$currPos * "+e.rules.length+" + "+a+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&n.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+r+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),n.push(" return cached.result;","}","")),n}('"'+stringEscape$1(i.name)+'"',asts$4.indexOfRule(e,i.name)))),u.push.apply(u,r(l)),u.push.apply(u,r(function(e,r){var a=[];return t.cache&&a.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+r+" };"),t.trace&&a.push("","if ("+r+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+r+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),a.push("","return "+r+";"),a}('"'+stringEscape$1(i.name)+'"',p.result()))),u.push("}"),u}(i))),u.push("")})),e.initializer&&(u.push(i(e.initializer)),u.push("")),u.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode$2(null,null,t.grammarSource,u.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$7=visitor_1;function removeProxyRules$1(e,t,r){var a=[];e.rules.forEach((function(n,o){var s;"rule"===(s=n).type&&"rule_ref"===s.expression.type&&(function(e,t,a){visitor$7.build({rule_ref:function(n){n.name===t&&(n.name=a,r.info('Proxy rule "'.concat(t,'" replaced by the rule "').concat(a,'"'),n.location,[{message:"This rule will be used",location:asts$3.findRule(e,a).nameLocation}]))}})(e)}(e,n.name,n.expression.name),-1===t.allowedStartRules.indexOf(n.name)&&a.push(o))})),a.reverse(),a.forEach((function(t){e.rules.splice(t,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function a(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function n(e,t){o(e.expression,a(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,a(t))}))},action:n,labeled:function(e,t){var a=e.label;a&&Object.prototype.hasOwnProperty.call(t,a)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[a]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,a(t)),o(e.expression,a(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var a={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(a,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:a[e.name]}]):a[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var a=[],n=[],o=visitor$4.build({rule:function(e){a.push(e.name),o(e.expression),a.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var s=asts$2.findRule(e,t.name);if(-1!==a.indexOf(t.name))return a.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+a.join(" -> ")+")",s.nameLocation,n.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));s&&o(s),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var a=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&a(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;r.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});a(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var a=visitor$1.build({action:function(e){a(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),a(e.expression)}});a(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$2={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session$1(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64$3(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$2,chai$i=require$$0,parser$3=parser$4,compiler$1=compiler_1,expect$h=chai$i.expect;describe("Peggy compiler",(function(){it("checks start rules",(function(){var e=parser$3.parse("foo='1'");expect$h(compiler$1.compile(e,compiler$1.passes)).to.be.an("object"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{allowedStartRules:null})})).to.throw("allowedStartRules must be an array"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{allowedStartRules:[]})})).to.throw("Must have at least one start rule"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{allowedStartRules:["bar"]})})).to.throw('Unknown start rule "bar"')})),it("checks output type",(function(){var e=parser$3.parse("foo='1'");expect$h(compiler$1.compile(e,compiler$1.passes,{output:"source"})).to.be.a("string"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{output:"INVALID OUTPUT TYPE"})})).to.throw("Invalid output format: INVALID OUTPUT TYPE.")})),it("generates inline sourceMappingURL",(function(){var e=parser$3.parse("foo='1'");if(expect$h(e).to.be.an("object"),"function"==typeof TextEncoder&&(expect$h(compiler$1.compile(e,compiler$1.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})).to.match(/^\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,/m),"object"==typeof globalThis)){var t=globalThis.TextEncoder;delete globalThis.TextEncoder,expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})})).to.throw("TextEncoder is not supported by this platform"),globalThis.TextEncoder=t}})),it("requires grammarSource with source-map",(function(){var e=parser$3.parse("foo='1'");expect$h(e).to.be.an("object"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{output:"source-and-map"})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{output:"source-and-map",grammarSource:""})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),"function"==typeof TextEncoder&&expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{output:"source-with-inline-map",grammarSource:{toString:function(){return""}}})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps")}))}));var GrammarError$2=grammarError,GrammarLocation$1=grammarLocation,compiler=compiler_1,parser$2=parser$4,VERSION=version$1,RESERVED_WORDS=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await","arguments","eval"],peg$4={VERSION:VERSION,RESERVED_WORDS:RESERVED_WORDS,GrammarError:GrammarError$2,GrammarLocation:GrammarLocation$1,parser:parser$2,compiler:compiler,generate:function(e,t){var r,a,n="plugins"in(t=void 0!==t?t:{})?t.plugins:[],o={parser:peg$4.parser,passes:(r=peg$4.compiler.passes,a={},Object.keys(r).forEach((function(e){a[e]=r[e].slice()})),a),reservedWords:peg$4.RESERVED_WORDS.slice()};return n.forEach((function(e){e.use(o,t)})),peg$4.compiler.compile(o.parser.parse(e,{grammarSource:t.grammarSource,reservedWords:o.reservedWords}),o.passes,t)}},peg_1=peg$4,utils={},chai$h=require$$0,Call=function(){function e(e){this.args=e}return e.prototype.calledWithExactly=function(){for(var e=[],t=0;t start -> leftRecursion -> duplicatedRule)"])}}))}))}));var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n>>=VLQ_BASE_SHIFT,a>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$1.encode(t)}while(a>0);return r};var util$4={},urlBrowser=require$$0$1.URL;const URL$1=urlBrowser;function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$4.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}util$4.toSetString=supportsNullProto?identity:toSetString,util$4.fromSetString=supportsNullProto?identity:fromSetString,util$4.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated,util$4.parseSourceMapInput=parseSourceMapInput;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),a=buildSafeBase(t),n=new URL$1(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(a,o)}}function withBase(e,t){return new URL$1(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let a=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),trimFilename=createSafeHandler((e=>{e.href=new URL$1(".",e.toString()).toString()})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),a=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===a)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),a=new URL$1(e,r),n=new URL$1(t,r);try{new URL$1("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL(a,n)}function computeSourceURL(e,t,r){e&&"path-absolute"===getURLType(t)&&(t=t.replace(/^\//,""));let a=normalize(t||"");return e&&(a=join(e,a)),r&&(a=join(trimFilename(r),a)),a}util$4.normalize=normalize,util$4.join=join,util$4.relative=relative,util$4.computeSourceURL=computeSourceURL;var arraySet={};let ArraySet$2=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$3.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$3.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$2=util$4,ArraySet$1=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$2.getArg(e,"file",null),this._sourceRoot=util$2.getArg(e,"sourceRoot",null),this._skipValidation=util$2.getArg(e,"skipValidation",!1),this._sources=new ArraySet$1,this._names=new ArraySet$1,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$2.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!==r&&(n=util$2.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$2.getArg(e,"generated"),r=util$2.getArg(e,"original",null);let a=util$2.getArg(e,"source",null),n=util$2.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$2.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$2.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$2.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$2.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$1:this._sources,s=new ArraySet$1;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$2.join(r,t.source)),null!=n&&(t.source=util$2.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$2.join(r,t)),null!=n&&(t=util$2.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$2.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ.encode(a-u),u=a,e+=base64VLQ.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$2.relative(t,e));const r=util$2.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceMapConsumer={},binarySearch$1={};!function(e){function t(r,a,n,o,s,c){const i=Math.floor((a-r)/2)+r,u=s(n,o[i],!0);return 0===u?i:u>0?a-i>1?t(i,a,n,o,s,c):c==e.LEAST_UPPER_BOUND?a1?t(r,i,n,o,s,c):c==e.LEAST_UPPER_BOUND?i:r<0?-1:r}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(r,a,n,o){if(0===a.length)return-1;let s=t(-1,a.length,r,a,n,o||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===n(a[s],a[s-1],!0);)--s;return s}}(binarySearch$1);var readWasmBrowserExports={},readWasmBrowser={get exports(){return readWasmBrowserExports},set exports(e){readWasmBrowserExports=e}};let mappingsWasm=null;readWasmBrowser.exports=function(){if("string"==typeof mappingsWasm)return fetch(mappingsWasm).then((e=>e.arrayBuffer()));if(mappingsWasm instanceof ArrayBuffer)return Promise.resolve(mappingsWasm);throw new Error("You must provide the string URL or ArrayBuffer contents of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer")},readWasmBrowserExports.initialize=e=>{mappingsWasm=e};const readWasm$1=readWasmBrowserExports;function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.lastGeneratedColumn=null,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}let cachedWasm=null;var wasm$1=function(){if(cachedWasm)return cachedWasm;const e=[];return cachedWasm=readWasm$1().then((t=>WebAssembly.instantiate(t,{env:{mapping_callback(t,r,a,n,o,s,c,i,u,p){const l=new Mapping;l.generatedLine=t+1,l.generatedColumn=r,a&&(l.lastGeneratedColumn=n-1),o&&(l.source=s,l.originalLine=c+1,l.originalColumn=i,u&&(l.name=p)),e[e.length-1](l)},start_all_generated_locations_for(){console.time("all_generated_locations_for")},end_all_generated_locations_for(){console.timeEnd("all_generated_locations_for")},start_compute_column_spans(){console.time("compute_column_spans")},end_compute_column_spans(){console.timeEnd("compute_column_spans")},start_generated_location_for(){console.time("generated_location_for")},end_generated_location_for(){console.timeEnd("generated_location_for")},start_original_location_for(){console.time("original_location_for")},end_original_location_for(){console.timeEnd("original_location_for")},start_parse_mappings(){console.time("parse_mappings")},end_parse_mappings(){console.timeEnd("parse_mappings")},start_sort_by_generated_location(){console.time("sort_by_generated_location")},end_sort_by_generated_location(){console.timeEnd("sort_by_generated_location")},start_sort_by_original_location(){console.time("sort_by_original_location")},end_sort_by_original_location(){console.timeEnd("sort_by_original_location")}}}))).then((t=>({exports:t.instance.exports,withMappingCallback:(t,r)=>{e.push(t);try{r()}finally{e.pop()}}}))).then(null,(e=>{throw cachedWasm=null,e})),cachedWasm};const util$1=util$4,binarySearch=binarySearch$1,ArraySet=arraySet.ArraySet,readWasm=readWasmBrowserExports,wasm=wasm$1,INTERNAL=Symbol("smcInternal");let SourceMapConsumer$1=class e{constructor(e,t){return e==INTERNAL?Promise.resolve(this):_factory(e,t)}static initialize(e){readWasm.initialize(e["lib/mappings.wasm"])}static fromSourceMap(e,t){return _factoryBSM(e,t)}static async with(t,r,a){const n=await new e(t,r);try{return await a(n)}finally{n.destroy()}}eachMapping(e,t,r){throw new Error("Subclasses must implement eachMapping")}allGeneratedPositionsFor(e){throw new Error("Subclasses must implement allGeneratedPositionsFor")}destroy(){throw new Error("Subclasses must implement destroy")}};SourceMapConsumer$1.prototype._version=3,SourceMapConsumer$1.GENERATED_ORDER=1,SourceMapConsumer$1.ORIGINAL_ORDER=2,SourceMapConsumer$1.GREATEST_LOWER_BOUND=1,SourceMapConsumer$1.LEAST_UPPER_BOUND=2,sourceMapConsumer.SourceMapConsumer=SourceMapConsumer$1;class BasicSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sources").map(String),s=util$1.getArg(a,"names",[]),c=util$1.getArg(a,"sourceRoot",null),i=util$1.getArg(a,"sourcesContent",null),u=util$1.getArg(a,"mappings"),p=util$1.getArg(a,"file",null);if(n!=r._version)throw new Error("Unsupported version: "+n);return r._sourceLookupCache=new Map,r._names=ArraySet.fromArray(s.map(String),!0),r._sources=ArraySet.fromArray(o,!0),r._absoluteSources=ArraySet.fromArray(r._sources.toArray().map((function(e){return util$1.computeSourceURL(c,e,t)})),!0),r.sourceRoot=c,r.sourcesContent=i,r._mappings=u,r._sourceMapURL=t,r.file=p,r._computedColumnSpans=!1,r._mappingsPtr=0,r._wasm=null,wasm().then((e=>(r._wasm=e,r)))}))}_findSourceIndex(e){const t=this._sourceLookupCache.get(e);if("number"==typeof t)return t;const r=util$1.computeSourceURL(null,e,this._sourceMapURL);if(this._absoluteSources.has(r)){const t=this._absoluteSources.indexOf(r);return this._sourceLookupCache.set(e,t),t}const a=util$1.computeSourceURL(this.sourceRoot,e,this._sourceMapURL);if(this._absoluteSources.has(a)){const t=this._absoluteSources.indexOf(a);return this._sourceLookupCache.set(e,t),t}return-1}static fromSourceMap(e,t){return new BasicSourceMapConsumer(e.toString())}get sources(){return this._absoluteSources.toArray()}_getMappingsPtr(){return 0===this._mappingsPtr&&this._parseMappings(),this._mappingsPtr}_parseMappings(){const e=this._mappings,t=e.length,r=this._wasm.exports.allocate_mappings(t),a=new Uint8Array(this._wasm.exports.memory.buffer,r,t);for(let r=0;r{null!==t.source&&(t.source=this._absoluteSources.at(t.source),null!==t.name&&(t.name=this._names.at(t.name))),this._computedColumnSpans&&null===t.lastGeneratedColumn&&(t.lastGeneratedColumn=1/0),e.call(a,t)}),(()=>{switch(n){case SourceMapConsumer$1.GENERATED_ORDER:this._wasm.exports.by_generated_location(this._getMappingsPtr());break;case SourceMapConsumer$1.ORIGINAL_ORDER:this._wasm.exports.by_original_location(this._getMappingsPtr());break;default:throw new Error("Unknown order of iteration.")}}))}allGeneratedPositionsFor(e){let t=util$1.getArg(e,"source");const r=util$1.getArg(e,"line"),a=e.column||0;if(t=this._findSourceIndex(t),t<0)return[];if(r<1)throw new Error("Line numbers must be >= 1");if(a<0)throw new Error("Column numbers must be >= 0");const n=[];return this._wasm.withMappingCallback((e=>{let t=e.lastGeneratedColumn;this._computedColumnSpans&&null===t&&(t=1/0),n.push({line:e.generatedLine,column:e.generatedColumn,lastColumn:t})}),(()=>{this._wasm.exports.all_generated_locations_for(this._getMappingsPtr(),t,r-1,"column"in e,a)})),n}destroy(){0!==this._mappingsPtr&&(this._wasm.exports.free_mappings(this._mappingsPtr),this._mappingsPtr=0)}computeColumnSpans(){this._computedColumnSpans||(this._wasm.exports.compute_column_spans(this._getMappingsPtr()),this._computedColumnSpans=!0)}originalPositionFor(e){const t={generatedLine:util$1.getArg(e,"line"),generatedColumn:util$1.getArg(e,"column")};if(t.generatedLine<1)throw new Error("Line numbers must be >= 1");if(t.generatedColumn<0)throw new Error("Column numbers must be >= 0");let r,a=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==a&&(a=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>r=e),(()=>{this._wasm.exports.original_location_for(this._getMappingsPtr(),t.generatedLine-1,t.generatedColumn,a)})),r&&r.generatedLine===t.generatedLine){let e=util$1.getArg(r,"source",null);null!==e&&(e=this._absoluteSources.at(e));let t=util$1.getArg(r,"name",null);return null!==t&&(t=this._names.at(t)),{source:e,line:util$1.getArg(r,"originalLine",null),column:util$1.getArg(r,"originalColumn",null),name:t}}return{source:null,line:null,column:null,name:null}}hasContentsOfAllSources(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))}sourceContentFor(e,t){if(!this.sourcesContent)return null;const r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')}generatedPositionFor(e){let t=util$1.getArg(e,"source");if(t=this._findSourceIndex(t),t<0)return{line:null,column:null,lastColumn:null};const r={source:t,originalLine:util$1.getArg(e,"line"),originalColumn:util$1.getArg(e,"column")};if(r.originalLine<1)throw new Error("Line numbers must be >= 1");if(r.originalColumn<0)throw new Error("Column numbers must be >= 0");let a,n=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==n&&(n=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>a=e),(()=>{this._wasm.exports.generated_location_for(this._getMappingsPtr(),r.source,r.originalLine-1,r.originalColumn,n)})),a&&a.source===r.source){let e=a.lastGeneratedColumn;return this._computedColumnSpans&&null===e&&(e=1/0),{line:util$1.getArg(a,"generatedLine",null),column:util$1.getArg(a,"generatedColumn",null),lastColumn:e}}return{line:null,column:null,lastColumn:null}}}BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$1,sourceMapConsumer.BasicSourceMapConsumer=BasicSourceMapConsumer;class IndexedSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sections");if(n!=r._version)throw new Error("Unsupported version: "+n);let s={line:-1,column:0};return Promise.all(o.map((e=>{if(e.url)throw new Error("Support for url field in sections not implemented.");const r=util$1.getArg(e,"offset"),a=util$1.getArg(r,"line"),n=util$1.getArg(r,"column");if(a({generatedOffset:{generatedLine:a+1,generatedColumn:n+1},consumer:e})))}))).then((e=>(r._sections=e,r)))}))}get sources(){const e=[];for(let t=0;t=0?this._sections[t]:null,a=t>=0&&t+1=0?this._sections[t]:null,a=t>=0&&t+1{const t=r.generatedOffset.generatedLine-1,n=r.generatedOffset.generatedColumn-1;return 1===e.line&&(e.column+=n,"number"==typeof e.lastColumn&&(e.lastColumn+=n)),e.lastColumn===1/0&&a&&e.line===a.generatedOffset.generatedLine&&(e.lastColumn=a.generatedOffset.generatedColumn-2),e.line+=t,e})):[]}eachMapping(e,t,r){this._sections.forEach(((a,n)=>{const o=n+1=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r (https://majda.cz/)",main="lib/peg.js",unpkg="browser/peggy.min.js",jsdelivr="browser/peggy.min.js",types="lib/peg.d.ts",bin={peggy:"bin/peggy.js"},scripts={clean:"rimraf build browser bin/*.map && mkdir browser",parser:"node bin/peggy.js -o lib/parser.js --format commonjs src/parser.pegjs",examples:"node bin/peggy.js -c docs/js/options.js docs/js/examples.peggy",set_version:"node ./tools/set_version",lint:"eslint . --ext js,ts,mjs",ts:"tsc --build tsconfig.json",docs:"cd docs && npm run build",test:"jest","test:web":"cd web-test && npm test","test:all":"npm run test && npm run test:web",benchmark:"node ./benchmark/run_bench.js",rollup:"copyfiles package.json build/ts && rollup -c",terser:"npm run terser:peggy && npm run terser:tests && npm run terser:bench","terser:peggy":"terser -c passes=2 -m reserved=['GrammarLocation'] --sequences 40 build/rollup/peggy.umd.js -o build/peggy.min.js","terser:tests":"terser -c passes=2 -m --sequences 40 --module build/rollup/test.umd.js -o build/test-bundle.min.js","terser:bench":"terser -c passes=2 -m --sequences 40 --module build/rollup/benchmark.umd.js -o build/benchmark-bundle.min.js",headers:"node ./tools/header.js build/peggy.min.js build/benchmark-bundle.min.js build/test-bundle.min.js",deploy:"npm run deploy:peggy && npm run deploy:tests && npm run deploy:bench",coverage:"npm run rollup && npm run parser -- -m inline && npm test","deploy:peggy":"copyfiles -f build/peggy.min.js docs/vendor/peggy/ && copyfiles -f build/peggy.min.js browser/","deploy:tests":"copyfiles -f build/test-bundle.min.js docs/js/","deploy:bench":"copyfiles -f build/benchmark-bundle.min.js docs/js/",build:"npm run build:notidy && npm run tidy","build:notidy":"npm run setup && npm run make && npm run lint && npm run audit",setup:"npm run clean && npm run set_version",make:"npm run parser && npm run ts && npm run rollup && npm run terser && npm run examples && npm run docs && npm run headers && npm run deploy",audit:"npm run test && npm run benchmark",tidy:"rimraf build",start:"cd docs && npm start"},devDependencies={"@peggyjs/eslint-config":"^3.0.0","@rollup/plugin-commonjs":"^24.0.1","@rollup/plugin-json":"^6.0.0","@rollup/plugin-multi-entry":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-typescript":"^11.0.0","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.14.6","@typescript-eslint/eslint-plugin":"^5.54.0","@typescript-eslint/parser":"^5.54.0",chai:"^4.3.7","chai-like":"^1.1.1",copyfiles:"^2.4.1",eslint:"^8.35.0",express:"4.18.2",jest:"^29.4.3",rimraf:"^4.3.0",rollup:"^3.18.0","rollup-plugin-ignore":"1.0.10","source-map":"^0.8.0-beta.0",terser:"^5.16.5","ts-jest":"^29.0.5",tsd:"^0.25.0",tslib:"^2.5.0",typescript:"^4.9.5"},dependencies={commander:"^10.0.0","source-map-generator":"0.8.0"},tsd={directory:"test/types"},engines={node:">=14"},require$$2={name:name,version:version,description:description,keywords:keywords,homepage:homepage,repository:repository,bugs:bugs,license:license,author:author,main:main,unpkg:unpkg,jsdelivr:jsdelivr,types:types,bin:bin,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies,tsd:tsd,engines:engines},chaiLikeExports$1={},chaiLike$1={get exports(){return chaiLikeExports$1},set exports(e){chaiLikeExports$1=e}},chaiLikeExports={},chaiLike={get exports(){return chaiLikeExports},set exports(e){chaiLikeExports=e}},hasRequiredChaiLike$1,hasRequiredChaiLike;function requireChaiLike$1(){if(hasRequiredChaiLike$1)return chaiLikeExports;hasRequiredChaiLike$1=1;let e=[];return chaiLike.exports=function(t,r){function a(e,t){return r.type(t).toUpperCase()===e.toUpperCase()}function n(t,r){for(let a of e)if(a.match(t,r))return a.assert(t,r);if(t===r)return!0;if(a("object",r)&&a("object",t)){for(let e of Object.keys(r)){if(!(e in t))return!1;if(!n(t[e],r[e]))return!1}return!0}if(a("array",r)&&a("array",t)){if(t.length!==r.length)return!1;for(let e=0;e' at an index -1.\nBytecode: 42")})),it("`top`",(function(){expect$a((function(){return e.top()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`result`",(function(){expect$a((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$a((function(){return e.index(-2)})).to.throw(RangeError,"Rule 'rule': The variable stack overflow: attempt to get a variable at a negative index -2.\nBytecode: 42"),expect$a((function(){return e.index(0)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42"),expect$a((function(){return e.index(2)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -3.\nBytecode: 42")}))})),it("`defines` returns an empty string",(function(){expect$a(e.defines()).to.equal("")}))})),it("throws an error when attempting `pop` more than `push`",(function(){var e=new Stack("rule","v","let",[42]);e.push("1"),expect$a((function(){return e.pop(3)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -2.\nBytecode: 42")})),it("returns a variable with an index 0 for `result`",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),expect$a(e.result()).to.equal("v0")})),it("`defines` returns a define expression for all used variables",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),e.push("2"),e.pop(),e.push("3"),expect$a(e.defines()).to.equal("let v0, v1;")})),describe("`checkedIf` method",(function(){var e;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),describe("does not throws an error",(function(){it("without the else brach",(function(){expect$a((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$a((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$a((function(){return e.checkedIf(0,(function(){return e.push("2")}))})).to.not.throw()})),describe("when the stack pointer",(function(){it("was not moving in both the arms",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$a((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$a((function(){return e.checkedIf(0,(function(){return e.push("1")}),(function(){return e.push("2")}))})).to.not.throw()})),it("decreases on the same value in both the arms",(function(){e.push("2"),expect$a((function(){return e.checkedIf(0,(function(){return e.pop(2)}),(function(){e.pop(),e.pop()}))})).to.not.throw()}))}))})),describe("throws an error when the stack pointer",(function(){it("was not moving in `if` and decreases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: -1). Bytecode: 42")})),it("decreases in `if` and was not moving in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 0). Bytecode: 42")})),it("was not moving in `if` and increases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: 1). Bytecode: 42")})),it("increases in `if` and was not moving in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: 0). Bytecode: 42")})),it("decreases in `if` and increases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 1). Bytecode: 42")})),it("increases in `if` and decreases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: -1). Bytecode: 42")}))}))})),describe("`checkedLoop` method",(function(){var e;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),it("does not throws an error when the stack pointer was not moving",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$a((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$a((function(){return e.checkedLoop(0,(function(){return e.push("1")}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: 1). Bytecode: 42")})),it("throws an error when the stack pointer decreases",(function(){expect$a((function(){return e.checkedLoop(0,(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: -1). Bytecode: 42")}))}))}));var chai$9=require$$0,_a=utils$1,hex=_a.hex,stringEscape=_a.stringEscape,regexpClassEscape=_a.regexpClassEscape,base64=_a.base64,expect$9=chai$9.expect;describe("utility functions",(function(){it("hex",(function(){expect$9(hex("0")).to.equal("30"),expect$9(hex("\0")).to.equal("0"),expect$9(hex("\n")).to.equal("A"),expect$9(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$9(stringEscape("abc")).to.equal("abc"),expect$9(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$9(stringEscape("")).to.equal("\\x01\\x0F"),expect$9(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$9(stringEscape("Ā")).to.equal("\\u0100\\u0FFF"),expect$9(stringEscape("က")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$9(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$9(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$9(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$9(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$9(regexpClassEscape("Ā")).to.equal("\\u0100\\u0FFF"),expect$9(regexpClassEscape("က")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$9(base64(new Uint8Array([]))).to.equal(""),expect$9(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$9(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$9(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$9(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$9(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$9(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),it("reports indirect left recursion",(function(){expect$6(pass$6).to.reportError(["start = stop","stop = start"].join("\n"),{message:"Possible infinite loop when parsing (left recursion: start -> stop -> start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),describe("in sequences",(function(){it("reports left recursion if all preceding elements match empty string",(function(){expect$6(pass$6).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$6(pass$6).to.not.reportError("start = 'a' '' '' start"),expect$6(pass$6).to.not.reportError("start = '' 'a' '' start"),expect$6(pass$6).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$6(pass$6).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$6(pass$6).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$6(pass$6).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$6(pass$6).to.reportError("start = ('' / 'a' / 'b') start"),expect$6(pass$6).to.reportError("start = ('a' / '' / 'b') start"),expect$6(pass$6).to.reportError("start = ('a' / 'b' / '') start"),expect$6(pass$6).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$6(pass$6).to.reportError("start = ('' { }) start"),expect$6(pass$6).to.not.reportError("start = ('a' { }) start"),expect$6(pass$6).to.reportError("start = ('' '' '') start"),expect$6(pass$6).to.not.reportError("start = ('a' '' '') start"),expect$6(pass$6).to.not.reportError("start = ('' 'a' '') start"),expect$6(pass$6).to.not.reportError("start = ('' '' 'a') start"),expect$6(pass$6).to.reportError("start = a:'' start"),expect$6(pass$6).to.not.reportError("start = a:'a' start"),expect$6(pass$6).to.reportError("start = $'' start"),expect$6(pass$6).to.not.reportError("start = $'a' start"),expect$6(pass$6).to.reportError("start = &'' start"),expect$6(pass$6).to.reportError("start = &'a' start"),expect$6(pass$6).to.reportError("start = !'' start"),expect$6(pass$6).to.reportError("start = !'a' start"),expect$6(pass$6).to.reportError("start = ''? start"),expect$6(pass$6).to.reportError("start = 'a'? start"),expect$6(pass$6).to.reportError("start = ''* start"),expect$6(pass$6).to.reportError("start = 'a'* start"),expect$6(pass$6).to.reportError("start = ''+ start"),expect$6(pass$6).to.not.reportError("start = 'a'+ start"),expect$6(pass$6).to.reportError("start = ''| .. | start"),expect$6(pass$6).to.reportError("start = ''|0.. | start"),expect$6(pass$6).to.reportError("start = ''|1.. | start"),expect$6(pass$6).to.reportError("start = ''|2.. | start"),expect$6(pass$6).to.reportError("start = ''| ..1| start"),expect$6(pass$6).to.reportError("start = ''| ..3| start"),expect$6(pass$6).to.reportError("start = ''|2..3| start"),expect$6(pass$6).to.reportError("start = ''| 42 | start"),expect$6(pass$6).to.reportError("start = 'a'| .. | start"),expect$6(pass$6).to.reportError("start = 'a'|0.. | start"),expect$6(pass$6).to.not.reportError("start = 'a'|1.. | start"),expect$6(pass$6).to.not.reportError("start = 'a'|2.. | start"),expect$6(pass$6).to.reportError("start = 'a'| ..1| start"),expect$6(pass$6).to.reportError("start = 'a'| ..3| start"),expect$6(pass$6).to.not.reportError("start = 'a'|2..3| start"),expect$6(pass$6).to.not.reportError("start = 'a'| 42 | start"),expect$6(pass$6).to.reportError("start = ('') start"),expect$6(pass$6).to.not.reportError("start = ('a') start"),expect$6(pass$6).to.reportError("start = &{ } start"),expect$6(pass$6).to.reportError("start = !{ } start"),expect$6(pass$6).to.reportError(["start = a start","a = ''"].join("\n")),expect$6(pass$6).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$6(pass$6).to.reportError("start = '' start"),expect$6(pass$6).to.not.reportError("start = 'a' start"),expect$6(pass$6).to.not.reportError("start = [a-d] start"),expect$6(pass$6).to.not.reportError("start = . start")}))})),describe("in repeated with delimiter",(function(){it("doesn't report left recursion for delimiter if expression not match empty string",(function(){expect$6(pass$6).to.not.reportError("start = 'a'| .. , start|"),expect$6(pass$6).to.not.reportError("start = 'a'|0.. , start|"),expect$6(pass$6).to.not.reportError("start = 'a'|1.. , start|"),expect$6(pass$6).to.not.reportError("start = 'a'|2.. , start|"),expect$6(pass$6).to.not.reportError("start = 'a'| ..3, start|"),expect$6(pass$6).to.not.reportError("start = 'a'|2..3, start|"),expect$6(pass$6).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$6(pass$6).to.reportError("start = ''| .. , start|"),expect$6(pass$6).to.reportError("start = ''|0.. , start|"),expect$6(pass$6).to.reportError("start = ''|1.. , start|"),expect$6(pass$6).to.reportError("start = ''|2.. , start|"),expect$6(pass$6).to.reportError("start = ''| ..3, start|"),expect$6(pass$6).to.reportError("start = ''|2..3, start|"),expect$6(pass$6).to.reportError("start = ''| 42 , start|")}))}))}));var chai$5=require$$0,helpers$5=helpers$9,pass$5=reportIncorrectPlucking_1;chai$5.use(helpers$5);var expect$5=chai$5.expect;describe("compiler pass |reportIncorrectPlucking|",(function(){it('prevents "@" from being used with an action block',(function(){expect$5(pass$5).to.reportError("start1 = 'a' @'b' 'c' { /* empty action block */ }",{message:'"@" cannot be used with an action block',location:{source:void 0,start:{offset:13,line:1,column:14},end:{offset:14,line:1,column:15}},diagnostics:[{message:"Action block location",location:{source:void 0,start:{offset:23,line:1,column:24},end:{offset:49,line:1,column:50}}}]}),expect$5(pass$5).to.reportError("start2 = 'a' @('b' @'c' { /* empty action block */ })",{message:'"@" cannot be used with an action block',location:{source:void 0,start:{offset:19,line:1,column:20},end:{offset:20,line:1,column:21}},diagnostics:[{message:"Action block location",location:{source:void 0,start:{offset:25,line:1,column:26},end:{offset:51,line:1,column:52}}}]})})),it("allows valid plucking",(function(){expect$5(pass$5).not.to.reportError("\n\n start1 = @'1' // return '1'\n start2 = @'1' / @'2' // return '1' or '2'\n start2 = '1' @'2' '3' // return '2'\n start3 = '1' @b:'2' '3' // return '2', label \"b\" can be used in semantic predicates\n start4 = a:'1' @b:'2' '3' // return '2', labels \"a\" and \"b\" can be used in semantic predicates\n start5 = @'1' @'2' '3' // return ['1', '2']\n start6 = @'1' @b:'2' '3' // return ['1', '2'], label \"b\" can be used in semantic predicates\n start7 = a:'1' @'2' &{} // return '2' if the semantic predicate doesnt fail\n start8 = @a:$[a-z]i+ &{ return a === 'foo' } // return \"foo\"\n\n ")}))}));var chai$4=require$$0,helpers$4=helpers$9,pass$4=reportInfiniteRepetition_1;chai$4.use(helpers$4);var expect$4=chai$4.expect;describe("compiler pass |reportInfiniteRepetition|",(function(){it("reports infinite loops for zero_or_more",(function(){expect$4(pass$4).to.reportError("start = ('')*",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),it("reports infinite loops for one_or_more",(function(){expect$4(pass$4).to.reportError("start = ('')+",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),describe("reports infinite loops for repeated",(function(){describe("without delimiter",(function(){it("with constant boundaries",(function(){expect$4(pass$4).to.reportError("start = ('')|..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:16,line:1,column:17}}}),expect$4(pass$4).to.reportError("start = ('')|0..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$4(pass$4).to.reportError("start = ('')|1..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$4(pass$4).to.reportError("start = ('')|2..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$4(pass$4).to.not.reportError("start = ('')| ..1|"),expect$4(pass$4).to.not.reportError("start = ('')| ..3|"),expect$4(pass$4).to.not.reportError("start = ('')|2..3|"),expect$4(pass$4).to.not.reportError("start = ('')| 42 |")})),it("with variable boundaries",(function(){expect$4(pass$4).to.reportError("start = ('')|len..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:19,line:1,column:20}}}),expect$4(pass$4).to.not.reportError("start = ('')|..len|"),expect$4(pass$4).to.not.reportError("start = ('')|len1..len2|"),expect$4(pass$4).to.not.reportError("start = ('')|len|")})),it("with function boundaries",(function(){expect$4(pass$4).to.reportError("start = ('')|{}..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:18,line:1,column:19}}}),expect$4(pass$4).to.not.reportError("start = ('')|..{}|"),expect$4(pass$4).to.not.reportError("start = ('')|{}..{}|"),expect$4(pass$4).to.not.reportError("start = ('')|{}|")}))})),describe("with empty delimiter",(function(){it("with constant boundaries",(function(){expect$4(pass$4).to.reportError("start = ('')| .., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$4(pass$4).to.reportError("start = ('')|0.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$4(pass$4).to.reportError("start = ('')|1.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$4(pass$4).to.reportError("start = ('')|2.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$4(pass$4).to.not.reportError("start = ('')| ..1, ''|"),expect$4(pass$4).to.not.reportError("start = ('')| ..3, ''|"),expect$4(pass$4).to.not.reportError("start = ('')|2..3, ''|"),expect$4(pass$4).to.not.reportError("start = ('')| 42 , ''|")})),it("with variable boundaries",(function(){expect$4(pass$4).to.reportError("start = ('')|len.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:23,line:1,column:24}}}),expect$4(pass$4).to.not.reportError("start = ('')|..len, ''|"),expect$4(pass$4).to.not.reportError("start = ('')|len1..len2, ''|"),expect$4(pass$4).to.not.reportError("start = ('')|len, ''|")})),it("with function boundaries",(function(){expect$4(pass$4).to.reportError("start = ('')|{}.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:22,line:1,column:23}}}),expect$4(pass$4).to.not.reportError("start = ('')|..{}, ''|"),expect$4(pass$4).to.not.reportError("start = ('')|{}..{}, ''|"),expect$4(pass$4).to.not.reportError("start = ('')|{}, ''|")}))})),describe("with non-empty delimiter",(function(){it("with constant boundaries",(function(){expect$4(pass$4).to.not.reportError("start = ('')| .., 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|0.., 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|1.., 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|2.., 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')| ..1, 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')| ..3, 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|2..3, 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')| 42 , 'a'|")})),it("with variable boundaries",(function(){expect$4(pass$4).to.not.reportError("start = ('')|len.., 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|..len, 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|len1..len2, 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|len, 'a'|")})),it("with function boundaries",(function(){expect$4(pass$4).to.not.reportError("start = ('')|{}.., 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|..{}, 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|{}..{}, 'a'|"),expect$4(pass$4).to.not.reportError("start = ('')|{}, 'a'|")}))}))})),it("computes expressions that always consume input on success correctly",(function(){expect$4(pass$4).to.reportError(["start = a*","a 'a' = ''"].join("\n")),expect$4(pass$4).to.not.reportError(["start = a*","a 'a' = 'a'"].join("\n")),expect$4(pass$4).to.reportError("start = ('' / 'a' / 'b')*"),expect$4(pass$4).to.reportError("start = ('a' / '' / 'b')*"),expect$4(pass$4).to.reportError("start = ('a' / 'b' / '')*"),expect$4(pass$4).to.not.reportError("start = ('a' / 'b' / 'c')*"),expect$4(pass$4).to.reportError("start = ('' { })*"),expect$4(pass$4).to.not.reportError("start = ('a' { })*"),expect$4(pass$4).to.reportError("start = ('' '' '')*"),expect$4(pass$4).to.not.reportError("start = ('a' '' '')*"),expect$4(pass$4).to.not.reportError("start = ('' 'a' '')*"),expect$4(pass$4).to.not.reportError("start = ('' '' 'a')*"),expect$4(pass$4).to.reportError("start = (a:'')*"),expect$4(pass$4).to.not.reportError("start = (a:'a')*"),expect$4(pass$4).to.reportError("start = ($'')*"),expect$4(pass$4).to.not.reportError("start = ($'a')*"),expect$4(pass$4).to.reportError("start = (&'')*"),expect$4(pass$4).to.reportError("start = (&'a')*"),expect$4(pass$4).to.reportError("start = (!'')*"),expect$4(pass$4).to.reportError("start = (!'a')*"),expect$4(pass$4).to.reportError("start = (''?)*"),expect$4(pass$4).to.reportError("start = ('a'?)*"),expect$4(pass$4).to.reportError("start = (''*)*"),expect$4(pass$4).to.reportError("start = ('a'*)*"),expect$4(pass$4).to.reportError("start = (''+)*"),expect$4(pass$4).to.not.reportError("start = ('a'+)*"),expect$4(pass$4).to.reportError("start = ('')*"),expect$4(pass$4).to.not.reportError("start = ('a')*"),expect$4(pass$4).to.reportError("start = (&{ })*"),expect$4(pass$4).to.reportError("start = (!{ })*"),expect$4(pass$4).to.reportError("start = 'a'|.., ('')*|"),expect$4(pass$4).to.not.reportError("start = 'a'|.., ('b')*|"),expect$4(pass$4).to.reportError(["start = a*","a = ''"].join("\n")),expect$4(pass$4).to.not.reportError(["start = a*","a = 'a'"].join("\n")),expect$4(pass$4).to.reportError("start = ''*"),expect$4(pass$4).to.not.reportError("start = 'a'*"),expect$4(pass$4).to.not.reportError("start = [a-d]*"),expect$4(pass$4).to.not.reportError("start = .*")}))}));var chai$3=require$$0,helpers$3=helpers$9,pass$3=reportUndefinedRules_1;chai$3.use(helpers$3);var expect$3=chai$3.expect;describe("compiler pass |reportUndefinedRules|",(function(){it("reports undefined rules",(function(){expect$3(pass$3).to.reportError("start = undefined",{message:'Rule "undefined" is not defined',location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}})}))}));var chai$2=require$$0,helpers$2=helpers$9,pass$2=reportDuplicateRules_1;chai$2.use(helpers$2);var expect$2=chai$2.expect;describe("compiler pass |reportDuplicateRules|",(function(){it("reports duplicate rules",(function(){expect$2(pass$2).to.reportError(["start = 'a'","start = 'b'"].join("\n"),{message:'Rule "start" is already defined',location:{source:void 0,start:{offset:12,line:2,column:1},end:{offset:17,line:2,column:6}},diagnostics:[{message:"Original rule location",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}}]})}))}));var chai$1=require$$0,helpers$1=helpers$9,pass$1=reportDuplicateLabels_1;chai$1.use(helpers$1);var expect$1=chai$1.expect;describe("compiler pass |reportDuplicateLabels|",(function(){describe("in a sequence",(function(){it("reports labels duplicate with labels of preceding elements",(function(){expect$1(pass$1).to.reportError("start = a:'a' a:'a'",{message:'Label "a" is already defined',location:{source:void 0,start:{offset:14,line:1,column:15},end:{offset:15,line:1,column:16}},diagnostics:[{message:"Original label location",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:9,line:1,column:10}}}]})})),it("doesn't report labels duplicate with labels in subexpressions",(function(){expect$1(pass$1).to.not.reportError("start = ('a' / a:'a' / 'a') a:'a'"),expect$1(pass$1).to.not.reportError("start = (a:'a' { }) a:'a'"),expect$1(pass$1).to.not.reportError("start = ('a' a:'a' 'a') a:'a'"),expect$1(pass$1).to.not.reportError("start = b:(a:'a') a:'a'"),expect$1(pass$1).to.not.reportError("start = $(a:'a') a:'a'"),expect$1(pass$1).to.not.reportError("start = &(a:'a') a:'a'"),expect$1(pass$1).to.not.reportError("start = !(a:'a') a:'a'"),expect$1(pass$1).to.not.reportError("start = (a:'a')? a:'a'"),expect$1(pass$1).to.not.reportError("start = (a:'a')* a:'a'"),expect$1(pass$1).to.not.reportError("start = (a:'a')+ a:'a'"),expect$1(pass$1).to.not.reportError("start = (a:'a')|2..3| a:'a'"),expect$1(pass$1).to.not.reportError("start = 'a'|2..3, a:'a'| a:'a'"),expect$1(pass$1).to.not.reportError("start = (a:'a') a:'a'")}))})),describe("in a choice",(function(){it("doesn't report labels duplicate with labels of preceding alternatives",(function(){expect$1(pass$1).to.not.reportError("start = a:'a' / a:'a'")}))})),describe("in outer sequence",(function(){it("reports labels duplicate with labels of preceding elements",(function(){expect$1(pass$1).to.reportError("start = a:'a' (a:'a')",{message:'Label "a" is already defined',location:{source:void 0,start:{offset:15,line:1,column:16},end:{offset:16,line:1,column:17}},diagnostics:[{message:"Original label location",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:9,line:1,column:10}}}]})})),it("doesn't report labels duplicate with the label of the current element",(function(){expect$1(pass$1).to.not.reportError("start = a:(a:'a')")})),it("doesn't report labels duplicate with labels of following elements",(function(){expect$1(pass$1).to.not.reportError("start = (a:'a') a:'a'")}))}))}));var chai=require$$0,helpers=helpers$9,pass=removeProxyRules_1;chai.use(helpers);var expect=chai.expect;describe("compiler pass |removeProxyRules|",(function(){describe("when a proxy rule isn't listed in |allowedStartRules|",(function(){it("updates references and removes it",(function(){expect(pass).to.changeAST(["start = proxy","proxy = proxied","proxied = 'a'"].join("\n"),{rules:[{name:"start",expression:{type:"rule_ref",name:"proxied"}},{name:"proxied"}]},{allowedStartRules:["start"]})}))})),describe("when a proxy rule is listed in |allowedStartRules|",(function(){it("updates references but doesn't remove it",(function(){expect(pass).to.changeAST(["start = proxy","proxy = proxied","proxied = 'a'"].join("\n"),{rules:[{name:"start",expression:{type:"rule_ref",name:"proxied"}},{name:"proxy",expression:{type:"rule_ref",name:"proxied"}},{name:"proxied"}]},{allowedStartRules:["start","proxy"]})}))}))})),exports.peggyVersion=peggyVersion}));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("chai"),require("whatwg-url")):"function"==typeof define&&define.amd?define(["exports","chai","whatwg-url"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).browser={},e.chai,e.whatwgURL)}(this,(function(exports,require$$0$1,require$$0){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},sourceMap$1={},sourceMapGenerator$1={},base64Vlq$1={},base64$6={};const intToCharMap$1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");base64$6.encode=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT$1,a>0&&(t|=VLQ_CONTINUATION_BIT$1),r+=base64$5.encode(t)}while(a>0);return r};var util$8={},urlBrowser=require$$0.URL;const URL$1=urlBrowser;function getArg$1(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$8.getArg=getArg$1;const supportsNullProto$1=!("__proto__"in Object.create(null));function identity$1(e){return e}function toSetString$1(e){return isProtoString$1(e)?"$"+e:e}function fromSetString$1(e){return isProtoString$1(e)?e.slice(1):e}function isProtoString$1(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp$1(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated$1(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp$1(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp$1(e.name,t.name)))))}function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}util$8.toSetString=supportsNullProto$1?identity$1:toSetString$1,util$8.fromSetString=supportsNullProto$1?identity$1:fromSetString$1,util$8.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated$1,util$8.parseSourceMapInput=parseSourceMapInput;const PROTOCOL$1="http:",PROTOCOL_AND_HOST$1=`${PROTOCOL$1}//host`;function createSafeHandler$1(e){return t=>{const r=getURLType$1(t),a=buildSafeBase$1(t),n=new URL$1(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL$1.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST$1.length):computeRelativeURL$1(a,o)}}function withBase$1(e,t){return new URL$1(e,t).toString()}function buildUniqueSegment$1(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase$1(e){const t=e.split("..").length-1,r=buildUniqueSegment$1("p",e);let a=`${PROTOCOL_AND_HOST$1}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory$1=createSafeHandler$1((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),trimFilename=createSafeHandler$1((e=>{e.href=new URL$1(".",e.toString()).toString()})),normalize$1=createSafeHandler$1((e=>{}));function join$1(e,t){const r=getURLType$1(t),a=getURLType$1(e);if(e=ensureDirectory$1(e),"absolute"===r)return withBase$1(t,void 0);if("absolute"===a)return withBase$1(t,e);if("scheme-relative"===r)return normalize$1(t);if("scheme-relative"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL$1.length);if("path-absolute"===r)return normalize$1(t);if("path-absolute"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL_AND_HOST$1.length);const n=buildSafeBase$1(t+e);return computeRelativeURL$1(n,withBase$1(t,withBase$1(e,n)))}function relative$1(e,t){const r=relativeIfPossible$1(e,t);return"string"==typeof r?r:normalize$1(t)}function relativeIfPossible$1(e,t){if(getURLType$1(e)!==getURLType$1(t))return null;const r=buildSafeBase$1(e+t),a=new URL$1(e,r),n=new URL$1(t,r);try{new URL$1("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL$1(a,n)}function computeSourceURL(e,t,r){e&&"path-absolute"===getURLType$1(t)&&(t=t.replace(/^\//,""));let a=normalize$1(t||"");return e&&(a=join$1(e,a)),r&&(a=join$1(trimFilename(r),a)),a}util$8.normalize=normalize$1,util$8.join=join$1,util$8.relative=relative$1,util$8.computeSourceURL=computeSourceURL;var arraySet$1={};let ArraySet$4=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$7.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$3=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter$1(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$7.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList$1.MappingList=MappingList$3;const base64VLQ$1=base64Vlq$1,util$6=util$8,ArraySet$3=arraySet$1.ArraySet,MappingList$2=mappingList$1.MappingList;let SourceMapGenerator$3=class e{constructor(e){e||(e={}),this._file=util$6.getArg(e,"file",null),this._sourceRoot=util$6.getArg(e,"sourceRoot",null),this._skipValidation=util$6.getArg(e,"skipValidation",!1),this._sources=new ArraySet$3,this._names=new ArraySet$3,this._mappings=new MappingList$2,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$6.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!==r&&(n=util$6.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$6.getArg(e,"generated"),r=util$6.getArg(e,"original",null);let a=util$6.getArg(e,"source",null),n=util$6.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$6.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$6.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$6.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$6.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$3:this._sources,s=new ArraySet$3;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$6.join(r,t.source)),null!=n&&(t.source=util$6.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$6.join(r,t)),null!=n&&(t=util$6.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,d=l.length;f0){if(!util$6.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ$1.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ$1.encode(a-u),u=a,e+=base64VLQ$1.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ$1.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ$1.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$6.relative(t,e));const r=util$6.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$3.prototype._version=3,sourceMapGenerator$1.SourceMapGenerator=SourceMapGenerator$3;var sourceMapConsumer={},binarySearch$1={};!function(e){function t(r,a,n,o,s,c){const i=Math.floor((a-r)/2)+r,u=s(n,o[i],!0);return 0===u?i:u>0?a-i>1?t(i,a,n,o,s,c):c==e.LEAST_UPPER_BOUND?a1?t(r,i,n,o,s,c):c==e.LEAST_UPPER_BOUND?i:r<0?-1:r}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(r,a,n,o){if(0===a.length)return-1;let s=t(-1,a.length,r,a,n,o||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===n(a[s],a[s-1],!0);)--s;return s}}(binarySearch$1);var readWasmBrowserExports={},readWasmBrowser={get exports(){return readWasmBrowserExports},set exports(e){readWasmBrowserExports=e}};let mappingsWasm=null;readWasmBrowser.exports=function(){if("string"==typeof mappingsWasm)return fetch(mappingsWasm).then((e=>e.arrayBuffer()));if(mappingsWasm instanceof ArrayBuffer)return Promise.resolve(mappingsWasm);throw new Error("You must provide the string URL or ArrayBuffer contents of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer")},readWasmBrowserExports.initialize=e=>{mappingsWasm=e};const readWasm$1=readWasmBrowserExports;function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.lastGeneratedColumn=null,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}let cachedWasm=null;var wasm$1=function(){if(cachedWasm)return cachedWasm;const e=[];return cachedWasm=readWasm$1().then((t=>WebAssembly.instantiate(t,{env:{mapping_callback(t,r,a,n,o,s,c,i,u,p){const l=new Mapping;l.generatedLine=t+1,l.generatedColumn=r,a&&(l.lastGeneratedColumn=n-1),o&&(l.source=s,l.originalLine=c+1,l.originalColumn=i,u&&(l.name=p)),e[e.length-1](l)},start_all_generated_locations_for(){console.time("all_generated_locations_for")},end_all_generated_locations_for(){console.timeEnd("all_generated_locations_for")},start_compute_column_spans(){console.time("compute_column_spans")},end_compute_column_spans(){console.timeEnd("compute_column_spans")},start_generated_location_for(){console.time("generated_location_for")},end_generated_location_for(){console.timeEnd("generated_location_for")},start_original_location_for(){console.time("original_location_for")},end_original_location_for(){console.timeEnd("original_location_for")},start_parse_mappings(){console.time("parse_mappings")},end_parse_mappings(){console.timeEnd("parse_mappings")},start_sort_by_generated_location(){console.time("sort_by_generated_location")},end_sort_by_generated_location(){console.timeEnd("sort_by_generated_location")},start_sort_by_original_location(){console.time("sort_by_original_location")},end_sort_by_original_location(){console.timeEnd("sort_by_original_location")}}}))).then((t=>({exports:t.instance.exports,withMappingCallback:(t,r)=>{e.push(t);try{r()}finally{e.pop()}}}))).then(null,(e=>{throw cachedWasm=null,e})),cachedWasm};const util$5=util$8,binarySearch=binarySearch$1,ArraySet$2=arraySet$1.ArraySet,readWasm=readWasmBrowserExports,wasm=wasm$1,INTERNAL=Symbol("smcInternal");let SourceMapConsumer$1=class e{constructor(e,t){return e==INTERNAL?Promise.resolve(this):_factory(e,t)}static initialize(e){readWasm.initialize(e["lib/mappings.wasm"])}static fromSourceMap(e,t){return _factoryBSM(e,t)}static async with(t,r,a){const n=await new e(t,r);try{return await a(n)}finally{n.destroy()}}eachMapping(e,t,r){throw new Error("Subclasses must implement eachMapping")}allGeneratedPositionsFor(e){throw new Error("Subclasses must implement allGeneratedPositionsFor")}destroy(){throw new Error("Subclasses must implement destroy")}};SourceMapConsumer$1.prototype._version=3,SourceMapConsumer$1.GENERATED_ORDER=1,SourceMapConsumer$1.ORIGINAL_ORDER=2,SourceMapConsumer$1.GREATEST_LOWER_BOUND=1,SourceMapConsumer$1.LEAST_UPPER_BOUND=2,sourceMapConsumer.SourceMapConsumer=SourceMapConsumer$1;class BasicSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$5.parseSourceMapInput(e));const n=util$5.getArg(a,"version"),o=util$5.getArg(a,"sources").map(String),s=util$5.getArg(a,"names",[]),c=util$5.getArg(a,"sourceRoot",null),i=util$5.getArg(a,"sourcesContent",null),u=util$5.getArg(a,"mappings"),p=util$5.getArg(a,"file",null);if(n!=r._version)throw new Error("Unsupported version: "+n);return r._sourceLookupCache=new Map,r._names=ArraySet$2.fromArray(s.map(String),!0),r._sources=ArraySet$2.fromArray(o,!0),r._absoluteSources=ArraySet$2.fromArray(r._sources.toArray().map((function(e){return util$5.computeSourceURL(c,e,t)})),!0),r.sourceRoot=c,r.sourcesContent=i,r._mappings=u,r._sourceMapURL=t,r.file=p,r._computedColumnSpans=!1,r._mappingsPtr=0,r._wasm=null,wasm().then((e=>(r._wasm=e,r)))}))}_findSourceIndex(e){const t=this._sourceLookupCache.get(e);if("number"==typeof t)return t;const r=util$5.computeSourceURL(null,e,this._sourceMapURL);if(this._absoluteSources.has(r)){const t=this._absoluteSources.indexOf(r);return this._sourceLookupCache.set(e,t),t}const a=util$5.computeSourceURL(this.sourceRoot,e,this._sourceMapURL);if(this._absoluteSources.has(a)){const t=this._absoluteSources.indexOf(a);return this._sourceLookupCache.set(e,t),t}return-1}static fromSourceMap(e,t){return new BasicSourceMapConsumer(e.toString())}get sources(){return this._absoluteSources.toArray()}_getMappingsPtr(){return 0===this._mappingsPtr&&this._parseMappings(),this._mappingsPtr}_parseMappings(){const e=this._mappings,t=e.length,r=this._wasm.exports.allocate_mappings(t),a=new Uint8Array(this._wasm.exports.memory.buffer,r,t);for(let r=0;r{null!==t.source&&(t.source=this._absoluteSources.at(t.source),null!==t.name&&(t.name=this._names.at(t.name))),this._computedColumnSpans&&null===t.lastGeneratedColumn&&(t.lastGeneratedColumn=1/0),e.call(a,t)}),(()=>{switch(n){case SourceMapConsumer$1.GENERATED_ORDER:this._wasm.exports.by_generated_location(this._getMappingsPtr());break;case SourceMapConsumer$1.ORIGINAL_ORDER:this._wasm.exports.by_original_location(this._getMappingsPtr());break;default:throw new Error("Unknown order of iteration.")}}))}allGeneratedPositionsFor(e){let t=util$5.getArg(e,"source");const r=util$5.getArg(e,"line"),a=e.column||0;if(t=this._findSourceIndex(t),t<0)return[];if(r<1)throw new Error("Line numbers must be >= 1");if(a<0)throw new Error("Column numbers must be >= 0");const n=[];return this._wasm.withMappingCallback((e=>{let t=e.lastGeneratedColumn;this._computedColumnSpans&&null===t&&(t=1/0),n.push({line:e.generatedLine,column:e.generatedColumn,lastColumn:t})}),(()=>{this._wasm.exports.all_generated_locations_for(this._getMappingsPtr(),t,r-1,"column"in e,a)})),n}destroy(){0!==this._mappingsPtr&&(this._wasm.exports.free_mappings(this._mappingsPtr),this._mappingsPtr=0)}computeColumnSpans(){this._computedColumnSpans||(this._wasm.exports.compute_column_spans(this._getMappingsPtr()),this._computedColumnSpans=!0)}originalPositionFor(e){const t={generatedLine:util$5.getArg(e,"line"),generatedColumn:util$5.getArg(e,"column")};if(t.generatedLine<1)throw new Error("Line numbers must be >= 1");if(t.generatedColumn<0)throw new Error("Column numbers must be >= 0");let r,a=util$5.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==a&&(a=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>r=e),(()=>{this._wasm.exports.original_location_for(this._getMappingsPtr(),t.generatedLine-1,t.generatedColumn,a)})),r&&r.generatedLine===t.generatedLine){let e=util$5.getArg(r,"source",null);null!==e&&(e=this._absoluteSources.at(e));let t=util$5.getArg(r,"name",null);return null!==t&&(t=this._names.at(t)),{source:e,line:util$5.getArg(r,"originalLine",null),column:util$5.getArg(r,"originalColumn",null),name:t}}return{source:null,line:null,column:null,name:null}}hasContentsOfAllSources(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))}sourceContentFor(e,t){if(!this.sourcesContent)return null;const r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')}generatedPositionFor(e){let t=util$5.getArg(e,"source");if(t=this._findSourceIndex(t),t<0)return{line:null,column:null,lastColumn:null};const r={source:t,originalLine:util$5.getArg(e,"line"),originalColumn:util$5.getArg(e,"column")};if(r.originalLine<1)throw new Error("Line numbers must be >= 1");if(r.originalColumn<0)throw new Error("Column numbers must be >= 0");let a,n=util$5.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==n&&(n=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>a=e),(()=>{this._wasm.exports.generated_location_for(this._getMappingsPtr(),r.source,r.originalLine-1,r.originalColumn,n)})),a&&a.source===r.source){let e=a.lastGeneratedColumn;return this._computedColumnSpans&&null===e&&(e=1/0),{line:util$5.getArg(a,"generatedLine",null),column:util$5.getArg(a,"generatedColumn",null),lastColumn:e}}return{line:null,column:null,lastColumn:null}}}BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$1,sourceMapConsumer.BasicSourceMapConsumer=BasicSourceMapConsumer;class IndexedSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$5.parseSourceMapInput(e));const n=util$5.getArg(a,"version"),o=util$5.getArg(a,"sections");if(n!=r._version)throw new Error("Unsupported version: "+n);let s={line:-1,column:0};return Promise.all(o.map((e=>{if(e.url)throw new Error("Support for url field in sections not implemented.");const r=util$5.getArg(e,"offset"),a=util$5.getArg(r,"line"),n=util$5.getArg(r,"column");if(a({generatedOffset:{generatedLine:a+1,generatedColumn:n+1},consumer:e})))}))).then((e=>(r._sections=e,r)))}))}get sources(){const e=[];for(let t=0;t=0?this._sections[t]:null,a=t>=0&&t+1=0?this._sections[t]:null,a=t>=0&&t+1{const t=r.generatedOffset.generatedLine-1,n=r.generatedOffset.generatedColumn-1;return 1===e.line&&(e.column+=n,"number"==typeof e.lastColumn&&(e.lastColumn+=n)),e.lastColumn===1/0&&a&&e.line===a.generatedOffset.generatedLine&&(e.lastColumn=a.generatedOffset.generatedColumn-2),e.line+=t,e})):[]}eachMapping(e,t,r){this._sections.forEach(((a,n)=>{const o=n+1=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode$1]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r1&&e.delimiter&&n(e.delimiter)))},semantic_and:a,semantic_not:a,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return r?n(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return n(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$9=visitor_1,asts$6=asts_1,GrammarError$4=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function a(e){return e.match=o(e.expression)}function n(e,t){for(var r=e.length,a=0,n=0,s=0;s0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$9.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++r>6)throw new GrammarError$4("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:a,choice:function(e){return e.match=n(e.alternatives,!0)},action:a,sequence:function(e){return e.match=n(e.elements,!1)},labeled:a,text:a,simple_and:a,simple_not:function(e){return e.match=-o(e.expression)},optional:r,zero_or_more:r,one_or_more:a,repeated:function(e){var t=o(e.expression),r=e.delimiter?o(e.delimiter):NEVER_MATCH$1,a=e.min?e.min:e.max;return"constant"!==a.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&a.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===a.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&a.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&a.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===a.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:a,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$6.findRule(e,t.name);return t.match=o(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$4=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?d(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=l(t.env),a="sequence"!==e.expression.type||0===e.expression.elements.length,n=v(e.expression,{sp:t.sp+(a?1:0),env:r,action:e}),o=0|e.expression.match,s=a&&o!==NEVER_MATCH?u(!1,Object.keys(r),e):null;return a?f([op$1.PUSH_CURR_POS],n,d(o,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],$(s,1,r,t.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(r,a){if(r.length>0){var n=e.elements.length-r.length+1;return f(v(r[0],{sp:a.sp,env:a.env,pluck:a.pluck,action:null}),d(0|r[0].match,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(a.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,a.pluck.length],a.pluck.map((function(e){return a.sp-e})));if(a.action){var o=u(!1,Object.keys(a.env),a.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],$(o,e.elements.length+1,a.env,a.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var a=r.env,n=e.label,o=r.sp+1;n&&(a=l(r.env),r.env[e.label]=o),e.pick&&r.pluck.push(o);var s=v(e.expression,{sp:r.sp,env:a,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$1.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$1.PUSH_CURR_POS],v(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),d(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return m(e.expression,!1,t)},simple_not:function(e,t){return m(e.expression,!0,t)},optional:function(e,t){return f(v(e.expression,{sp:t.sp,env:l(t.env),action:null}),d(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,g(r),[op$1.POP])},one_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,d(0|e.expression.match,[op$1.IF_NOT_ERROR],f(g(r),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,a="constant"!==r.type||r.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=a?2:1,s=e.min?x(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},c=x(e.max,t.env,s.sp,o),i=v(e.expression,{sp:c.sp+o,env:l(t.env),action:null}),u=null!==e.delimiter?v(e.expression,{sp:c.sp+o+1,env:l(t.env),action:null}):i,p=function(e,t,r,a,n){return e?f([op$1.PUSH_CURR_POS],v(e,{sp:a.sp+n+1,env:l(a.env),action:null}),d(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],r,d(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):r}(e.delimiter,0|e.expression.match,u,t,o),$=b(p,e.max),m=n?b(i,e.max):i,h=f(a?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],m,g($),[op$1.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,d(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(h,r):h,c.post,s.post)},group:function(e,t){return v(e.expression,{sp:t.sp,env:l(t.env),action:null})},semantic_and:function(e,t){return h(e,!1,t)},semantic_not:function(e,t){return h(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?c(e.ignoreCase?e.value.toLowerCase():e.value):null,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return d(t,e.ignoreCase?[op$1.MATCH_STRING_IC,r]:[op$1.MATCH_STRING,r],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,r],[op$1.FAIL,a])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),n=a.findIndex((function(e){return JSON.stringify(e)===r}));return-1===n?a.push(t)-1:n}(e):null,n=t!==ALWAYS_MATCH?i({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return d(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?i({type:"any"}):null;return d(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,r])}},t&&"source-and-map"===t.output&&Object.entries(A).forEach((function(e){var t=e[0],r=e[1];A[t]=function(e){for(var t=[],a=1;a>>=VLQ_BASE_SHIFT,a>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$3.encode(t)}while(a>0);return r};var util$3={};function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),a=buildSafeBase(t),n=new URL(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(a,o)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let a=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),a=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===a)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),a=new URL(e,r),n=new URL(t,r);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL(a,n)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$1.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=r&&(n=util$1.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$1.getArg(e,"generated"),r=util$1.getArg(e,"original",null);let a=util$1.getArg(e,"source",null),n=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$1.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$1.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,s=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$1.join(r,t.source)),null!=n&&(t.source=util$1.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$1.join(r,t)),null!=n&&(t=util$1.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,d=l.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ.encode(a-u),u=a,e+=base64VLQ.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const r=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$3=class e{constructor(e,t,r,a,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==n?null:n,this[isSourceNode]=!0,null!=a&&this.add(a)}static fromStringWithSourceMap(t,r,a){const n=new e,o=t.split(REGEX_NEWLINE);let s=0;const c=function(){return e()+(e()||"");function e(){return s=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var a=GrammarLocation$3.offsetStart(e);return new SourceNode$2(a.line,a.column?a.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],a=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var n=e.sourceNode(r.location,a.splice(0,2),r.label),o=this.sourceMapPopInternal(),s=o.parts,c=o.location,i=c.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),t=e[0],r=e[1],a=e[2],n=t.splice(r).map((function(e){return e instanceof SourceNode$2?e:e+"\n"}));if(n.length){var o=GrammarLocation$3.offsetStart(a);t.push(new SourceNode$2(o.line,o.column-1,String(a.source),n))}return{parts:t,location:a}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===r?(n+=t[e[a]>>2],n+=t[(3&e[a])<<4],n+="=="):2===r&&(n+=t[e[a]>>2],n+=t[(3&e[a])<<4|e[a+1]>>4],n+=t[(15&e[a+1])<<2],n+="="),n}utils$1.hex=hex$1,utils$1.stringEscape=stringEscape$2,utils$1.regexpClassEscape=regexpClassEscape$2,utils$1.base64=base64$2;var __spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0&&(r.forEach((function(e){o.push("var "+e+' = require("'+stringEscape$1(t.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var r=Object.keys(t.dependencies),n=a();return n.push(""),r.length>0&&(r.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(t.dependencies[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var o=Object.keys(t.dependencies),s="["+o.map((function(e){return t.dependencies[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.join(", ");return __spreadArray$3(__spreadArray$3([],a(),!0),["define("+s+", function("+c+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$3(__spreadArray$3([],a(),!0),["(function(root) {",' "use strict";',"",e,"",r("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(t.dependencies),s=o.map((function(e){return t.dependencies[e]})),c="["+s.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",i=s.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),u=o.join(", "),p=a();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+c+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+u+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"),p}},s=o[t.format]();return new SourceNode$1(null,null,t.grammarSource,s.map((function(e){return e instanceof SourceNode$1?e:e+"\n"})))}(function(){var u=[];e.topLevelInitializer&&(u.push(i(e.topLevelInitializer)),u.push("")),u.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&u.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var p="{ "+t.allowedStartRules.map((function(e){return e+": "+c(e)})).join(", ")+" }",l=c(t.allowedStartRules[0]);return u.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+p+";"," var peg$startRuleFunction = "+l+";","",new SourceNode$1(null,null,t.grammarSource,[e.literals.map((function(e,t){return" var "+a(t)+' = "'+stringEscape$1(e)+'";'})).concat("",e.classes.map((function(e,t){return" var "+n(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape$1(e[0])+"-"+regexpClassEscape$1(e[1]):regexpClassEscape$1(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",e.expectations.map((function(e,t){return" var "+o(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape$1(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape$1(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape$1(e[0])+'", "'+stringEscape$1(e[1])+'"]':'"'+stringEscape$1(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n"),e.functions.map((function(e,t){return wrapInSourceNode("\n var ".concat(s(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&u.push(" var peg$resultsCache = {};",""),t.trace&&u.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),u.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(i){u.push.apply(u,r(function(i){var u=[],p=new Stack$1(i.name,"s","var",i.bytecode),l=function t(u){var l=0,f=u.length,d=[],$=void 0;function m(e,a){var n=a+3,o=u[l+n-2],s=u[l+n-1],c=void 0,i=void 0;p.checkedIf(l,(function(){l+=n,c=t(u.slice(l,l+o)),l+=o}),s>0?function(){i=t(u.slice(l,l+s)),l+=s}:null),d.push("if ("+e+") {"),d.push.apply(d,r(c)),s>0&&(d.push("} else {"),d.push.apply(d,r(i))),d.push("}")}function h(e){var a=u[l+2-1],n=void 0;p.checkedLoop(l,(function(){l+=2,n=t(u.slice(l,l+a)),l+=a})),d.push("while ("+e+") {"),d.push.apply(d,r(n)),d.push("}")}function g(e){var t=u[l+e-1];return s(u[l+1])+"("+u.slice(l+e,l+e+t).map((function(e){return p.index(e)})).join(", ")+")"}for(;l= "+u[l+1],1);break;case op.IF_LT_DYNAMIC:m(p.top()+".length < ("+p.index(u[l+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:m(p.top()+".length >= ("+p.index(u[l+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:h(p.top()+" !== peg$FAILED");break;case op.MATCH_ANY:m("input.length > peg$currPos",0);break;case op.MATCH_STRING:m(e.literals[u[l+1]].length>1?"input.substr(peg$currPos, "+e.literals[u[l+1]].length+") === "+a(u[l+1]):"input.charCodeAt(peg$currPos) === "+e.literals[u[l+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:m("input.substr(peg$currPos, "+e.literals[u[l+1]].length+").toLowerCase() === "+a(u[l+1]),1);break;case op.MATCH_CHAR_CLASS:m(n(u[l+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:d.push(p.push(u[l+1]>1?"input.substr(peg$currPos, "+u[l+1]+")":"input.charAt(peg$currPos)")),d.push(u[l+1]>1?"peg$currPos += "+u[l+1]+";":"peg$currPos++;"),l+=2;break;case op.ACCEPT_STRING:d.push(p.push(a(u[l+1]))),d.push(e.literals[u[l+1]].length>1?"peg$currPos += "+e.literals[u[l+1]].length+";":"peg$currPos++;"),l+=2;break;case op.FAIL:d.push(p.push("peg$FAILED")),d.push("if (peg$silentFails === 0) { peg$fail("+o(u[l+1])+"); }"),l+=2;break;case op.LOAD_SAVED_POS:d.push("peg$savedPos = "+p.index(u[l+1])+";"),l+=2;break;case op.UPDATE_SAVED_POS:d.push("peg$savedPos = peg$currPos;"),l++;break;case op.CALL:$=g(4),p.pop(u[l+2]),d.push(p.push($)),l+=4+u[l+3];break;case op.RULE:d.push(p.push(c(e.rules[u[l+1]].name)+"()")),l+=2;break;case op.SILENT_FAILS_ON:d.push("peg$silentFails++;"),l++;break;case op.SILENT_FAILS_OFF:d.push("peg$silentFails--;"),l++;break;case op.SOURCE_MAP_PUSH:p.sourceMapPush(d,e.locations[u[l+1]]),l+=2;break;case op.SOURCE_MAP_POP:p.sourceMapPop(),l++;break;case op.SOURCE_MAP_LABEL_PUSH:p.labels[u[l+1]]={label:e.literals[u[l+2]],location:e.locations[u[l+3]]},l+=4;break;case op.SOURCE_MAP_LABEL_POP:delete p.labels[u[l+1]],l+=2;break;default:throw new Error("Invalid opcode: "+u[l]+".",{rule:i.name,bytecode:u})}return d}(i.bytecode);return u.push(wrapInSourceNode("function ",c(i.name),i.nameLocation,"() {\n",i.name)),t.trace&&u.push(" var startPos = peg$currPos;"),u.push(r(p.defines())),u.push.apply(u,r(function(r,a){var n=[];return n.push(""),t.trace&&n.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)","});",""),t.cache&&(n.push("var key = peg$currPos * "+e.rules.length+" + "+a+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&n.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+r+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),n.push(" return cached.result;","}","")),n}('"'+stringEscape$1(i.name)+'"',asts$4.indexOfRule(e,i.name)))),u.push.apply(u,r(l)),u.push.apply(u,r(function(e,r){var a=[];return t.cache&&a.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+r+" };"),t.trace&&a.push("","if ("+r+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+r+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),a.push("","return "+r+";"),a}('"'+stringEscape$1(i.name)+'"',p.result()))),u.push("}"),u}(i))),u.push("")})),e.initializer&&(u.push(i(e.initializer)),u.push("")),u.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode$1(null,null,t.grammarSource,u.map((function(e){return e instanceof SourceNode$1?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$7=visitor_1;function removeProxyRules$1(e,t,r){var a=[];e.rules.forEach((function(n,o){var s;"rule"===(s=n).type&&"rule_ref"===s.expression.type&&(function(e,t,a){visitor$7.build({rule_ref:function(n){n.name===t&&(n.name=a,r.info('Proxy rule "'.concat(t,'" replaced by the rule "').concat(a,'"'),n.location,[{message:"This rule will be used",location:asts$3.findRule(e,a).nameLocation}]))}})(e)}(e,n.name,n.expression.name),-1===t.allowedStartRules.indexOf(n.name)&&a.push(o))})),a.reverse(),a.forEach((function(t){e.rules.splice(t,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function a(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function n(e,t){o(e.expression,a(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,a(t))}))},action:n,labeled:function(e,t){var a=e.label;a&&Object.prototype.hasOwnProperty.call(t,a)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[a]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,a(t)),o(e.expression,a(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var a={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(a,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:a[e.name]}]):a[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var a=[],n=[],o=visitor$4.build({rule:function(e){a.push(e.name),o(e.expression),a.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var s=asts$2.findRule(e,t.name);if(-1!==a.indexOf(t.name))return a.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+a.join(" -> ")+")",s.nameLocation,n.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));s&&o(s),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var a=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&a(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;r.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});a(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var a=visitor$1.build({action:function(e){a(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),a(e.expression)}});a(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$2={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session$1(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64$1(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$2,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:zr},s=zr,c="{",i="}",u="=",p="/",l="@",f=":",d="$",$="&",m="!",h="?",g="*",x="+",b="|",A=",",v="..",E="(",y=")",C="\t",S="\v",_="\f",T=" ",P=" ",w="\ufeff",F="\n",B="\r\n",R="\r",D="\u2028",L="\u2029",O="/*",M="*/",I="//",k="_",N="\\",j="",U="",q="i",G='"',H="'",z="[",W="^",V="]",Y="-",Q="0",J="b",X="f",K="n",Z="r",ee="t",te="v",re="x",ae="u",ne=".",oe=";",se=/^[\n\r\u2028\u2029]/,ce=/^[0-9]/,ie=/^[0-9a-f]/i,ue=/^[{}]/,pe=/^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,le=/^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,fe=/^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,de=/^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,$e=/^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,me=/^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,he=/^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,ge=/^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,xe=/^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,be=/^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,Ae=/^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,ve=Nr("{",!1),Ee=Nr("}",!1),ye=Nr("=",!1),Ce=Nr("/",!1),Se=Nr("@",!1),_e=Nr(":",!1),Te=Nr("$",!1),Pe=Nr("&",!1),we=Nr("!",!1),Fe=Nr("?",!1),Be=Nr("*",!1),Re=Nr("+",!1),De=Nr("|",!1),Le=Nr(",",!1),Oe=Nr("..",!1),Me=Nr("(",!1),Ie=Nr(")",!1),ke={type:"any"},Ne=Ur("whitespace"),je=Nr("\t",!1),Ue=Nr("\v",!1),qe=Nr("\f",!1),Ge=Nr(" ",!1),He=Nr(" ",!1),ze=Nr("\ufeff",!1),We=jr(["\n","\r","\u2028","\u2029"],!1,!1),Ve=Ur("end of line"),Ye=Nr("\n",!1),Qe=Nr("\r\n",!1),Je=Nr("\r",!1),Xe=Nr("\u2028",!1),Ke=Nr("\u2029",!1),Ze=Ur("comment"),et=Nr("/*",!1),tt=Nr("*/",!1),rt=Nr("//",!1),at=Ur("identifier"),nt=Nr("_",!1),ot=Nr("\\",!1),st=Nr("",!1),ct=Nr("",!1),it=Ur("literal"),ut=Nr("i",!1),pt=Ur("string"),lt=Nr('"',!1),ft=Nr("'",!1),dt=Ur("character class"),$t=Nr("[",!1),mt=Nr("^",!1),ht=Nr("]",!1),gt=Nr("-",!1),xt=Nr("0",!1),bt=Nr("b",!1),At=Nr("f",!1),vt=Nr("n",!1),Et=Nr("r",!1),yt=Nr("t",!1),Ct=Nr("v",!1),St=Nr("x",!1),_t=Nr("u",!1),Tt=jr([["0","9"]],!1,!1),Pt=jr([["0","9"],["a","f"]],!1,!0),wt=Nr(".",!1),Ft=Ur("code block"),Bt=jr(["{","}"],!1,!1),Rt=jr([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ա","և"],["ᏸ","ᏽ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱞ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞵ","ꞷ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭥ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Dt=jr([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ー",["゙","゚"]],!1,!1),Lt=jr(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["װ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ა","ჺ"],["ჽ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Ot=jr(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Mt=jr([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱞ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɬ"],["Ʞ","Ꞵ"],"Ꞷ",["A","Z"]],!1,!1),It=jr(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡",["ᳲ","ᳳ"],["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦽ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),kt=jr([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],"ଁ","଼","ି",["ୁ","ୄ"],"୍","ୖ",["ୢ","ୣ"],"ஂ","ீ","்","ఀ",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],"ഁ",["ു","ൄ"],"്",["ൢ","ൣ"],"්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꣄",["꣠","꣱"],["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],"ꦼ","ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),Nt=jr([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),jt=jr([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Ut=jr(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),qt=jr([" "," "," ",[" "," "]," "," "," "],!1,!1),Gt=Nr(";",!1),Ht=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:Ir()}},zt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:Ir()}},Wt=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:Ir()}},Vt=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:Ir()}:r,location:Ir()}},Yt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:Ir()}:e},Qt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:Ir()}:e},Jt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:Ir()}:e},Xt=function(e,t,r){return r.type.startsWith("semantic_")&&kr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:Ir()}},Kt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:Ir()}},Zt=function(){return Ir()},er=function(e){return _a.indexOf(e[0])>=0&&kr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},tr=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:Ir()}},rr=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:Ir()}},ar=function(e,t,r){var a=t[0],n=t[1];return"constant"===n.type&&0===n.value&&kr("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:a,max:n,expression:e,delimiter:r,location:Ir()}},nr=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},or=function(e){return[null,e]},sr=function(e){return{type:"constant",value:e,location:Ir()}},cr=function(e){return{type:"variable",value:e[0],location:Ir()}},ir=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:Ir()}},ur=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:Ir()}:e},pr=function(e){return{type:"rule_ref",name:e[0],location:Ir()}},lr=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:Ir()}},fr=function(e,t){return[e+t.join(""),Ir()]},dr=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:Ir()}},$r=function(e){return e.join("")},mr=function(e){return e.join("")},hr=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:Ir()}},gr=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&kr("Invalid character range: "+e.substring(Rr,Br)+"."),[t,r]},xr=function(){return""},br=function(){return"\0"},Ar=function(){return"\b"},vr=function(){return"\f"},Er=function(){return"\n"},yr=function(){return"\r"},Cr=function(){return"\t"},Sr=function(){return"\v"},_r=function(e){return String.fromCharCode(parseInt(e,16))},Tr=function(e){return String.fromCharCode(parseInt(e,16))},Pr=function(){return{type:"any",location:Ir()}},wr=function(e){return[e,Ir()]},Fr=function(e){return parseInt(e,10)},Br=0,Rr=0,Dr=[{line:1,column:1}],Lr=0,Or=[],Mr=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function Ir(){return Gr(Rr,Br)}function kr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:Gr(Rr,Br))}function Nr(e,t){return{type:"literal",text:e,ignoreCase:t}}function jr(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function Ur(e){return{type:"other",description:e}}function qr(t){var r,a=Dr[t];if(a)return a;for(r=t-1;!Dr[r];)r--;for(a={line:(a=Dr[r]).line,column:a.column};rLr&&(Lr=Br,Or=[]),Or.push(e))}function zr(){var t,r,n,o,s,u;if(t=Br,Ca(),r=Br,n=function(){var t,r,n,o;return t=Br,123===e.charCodeAt(Br)?(r=c,Br++):(r=a,0===Mr&&Hr(ve)),r!==a&&(n=Ea())!==a?(125===e.charCodeAt(Br)?(o=i,Br++):(o=a,0===Mr&&Hr(Ee)),o!==a&&Sa()!==a?(Rr=t,t=zt(n)):(Br=t,t=a)):(Br=t,t=a),t}(),n!==a?(o=Ca(),r=n):(Br=r,r=a),r===a&&(r=null),n=Br,o=function(){var e,t;return e=Br,(t=Ea())!==a&&Sa()!==a?(Rr=e,e=Wt(t)):(Br=e,e=a),e}(),o!==a?(s=Ca(),n=o):(Br=n,n=a),n===a&&(n=null),o=[],s=Br,(u=Wr())!==a?(Ca(),s=u):(Br=s,s=a),s!==a)for(;s!==a;)o.push(s),s=Br,(u=Wr())!==a?(Ca(),s=u):(Br=s,s=a);else o=a;return o!==a?(Rr=t,t=Ht(r,n,o)):(Br=t,t=a),t}function Wr(){var t,r,n,o,s;return t=Br,(r=ia())!==a?(Ca(),n=Br,(o=la())!==a?(Ca(),n=o):(Br=n,n=a),n===a&&(n=null),61===e.charCodeAt(Br)?(o=u,Br++):(o=a,0===Mr&&Hr(ye)),o!==a?(Ca(),(s=Vr())!==a&&Sa()!==a?(Rr=t,t=Vt(r,n,s)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a),t}function Vr(){var t,r,n,o,s,c;if(t=Br,(r=Yr())!==a){for(n=[],o=Br,Ca(),47===e.charCodeAt(Br)?(s=p,Br++):(s=a,0===Mr&&Hr(Ce)),s!==a?(Ca(),(c=Yr())!==a?o=c:(Br=o,o=a)):(Br=o,o=a);o!==a;)n.push(o),o=Br,Ca(),47===e.charCodeAt(Br)?(s=p,Br++):(s=a,0===Mr&&Hr(Ce)),s!==a?(Ca(),(c=Yr())!==a?o=c:(Br=o,o=a)):(Br=o,o=a);Rr=t,t=Yt(r,n)}else Br=t,t=a;return t}function Yr(){var e,t,r,n;return e=Br,t=function(){var e,t,r,n,o;if(e=Br,(t=Qr())!==a){for(r=[],n=Br,Ca(),(o=Qr())!==a?n=o:(Br=n,n=a);n!==a;)r.push(n),n=Br,Ca(),(o=Qr())!==a?n=o:(Br=n,n=a);Rr=e,e=Jt(t,r)}else Br=e,e=a;return e}(),t!==a?(r=Br,Ca(),(n=Ea())!==a?r=n:(Br=r,r=a),r===a&&(r=null),Rr=e,e=Qt(t,r)):(Br=e,e=a),e}function Qr(){var t,r,n,o;return t=Br,r=function(){var t,r;return t=Br,64===e.charCodeAt(Br)?(r=l,Br++):(r=a,0===Mr&&Hr(Se)),r!==a&&(Rr=t,r=Zt()),t=r}(),r!==a?((n=Jr())===a&&(n=null),(o=Xr())!==a?(Rr=t,t=Xt(r,n,o)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Br,(r=Jr())!==a?(n=Ca(),(o=Xr())!==a?(Rr=t,t=Kt(r,o)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Xr())),t}function Jr(){var t,r,n;return t=Br,(r=ia())!==a?(Ca(),58===e.charCodeAt(Br)?(n=f,Br++):(n=a,0===Mr&&Hr(_e)),n!==a?(Rr=t,t=er(r)):(Br=t,t=a)):(Br=t,t=a),t}function Xr(){var t,r,n;return t=Br,r=function(){var t;return 36===e.charCodeAt(Br)?(t=d,Br++):(t=a,0===Mr&&Hr(Te)),t===a&&(38===e.charCodeAt(Br)?(t=$,Br++):(t=a,0===Mr&&Hr(Pe)),t===a&&(33===e.charCodeAt(Br)?(t=m,Br++):(t=a,0===Mr&&Hr(we)))),t}(),r!==a?(Ca(),(n=Kr())!==a?(Rr=t,t=tr(r,n)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Kr()),t}function Kr(){var t,r,n;return t=Br,(r=ea())!==a?(Ca(),n=function(){var t;return 63===e.charCodeAt(Br)?(t=h,Br++):(t=a,0===Mr&&Hr(Fe)),t===a&&(42===e.charCodeAt(Br)?(t=g,Br++):(t=a,0===Mr&&Hr(Be)),t===a&&(43===e.charCodeAt(Br)?(t=x,Br++):(t=a,0===Mr&&Hr(Re)))),t}(),n!==a?(Rr=t,t=rr(r,n)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Br,(r=ea())!==a?(Ca(),124===e.charCodeAt(Br)?(n=b,Br++):(n=a,0===Mr&&Hr(De)),n!==a?(Ca(),o=function(){var t,r,n,o;return t=Br,(r=Zr())===a&&(r=null),Ca(),e.substr(Br,2)===v?(n=v,Br+=2):(n=a,0===Mr&&Hr(Oe)),n!==a?(Ca(),(o=Zr())===a&&(o=null),Rr=t,t=nr(r,o)):(Br=t,t=a),t===a&&(t=Br,(r=Zr())!==a&&(Rr=t,r=or(r)),t=r),t}(),o!==a?(Ca(),s=Br,44===e.charCodeAt(Br)?(c=A,Br++):(c=a,0===Mr&&Hr(Le)),c!==a?(Ca(),(i=Vr())!==a?(Ca(),s=i):(Br=s,s=a)):(Br=s,s=a),s===a&&(s=null),124===e.charCodeAt(Br)?(c=b,Br++):(c=a,0===Mr&&Hr(De)),c!==a?(Rr=t,t=ar(r,o,s)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=ea())),t}function Zr(){var t,r;return t=Br,r=function(){var t,r,n,o;if(t=Br,r=Br,n=[],(o=Aa())!==a)for(;o!==a;)n.push(o),o=Aa();else n=a;return(r=n!==a?e.substring(r,Br):n)!==a&&(Rr=t,r=Fr(r)),t=r}(),r!==a&&(Rr=t,r=sr(r)),(t=r)===a&&(t=Br,(r=ia())!==a&&(Rr=t,r=cr(r)),(t=r)===a&&(t=Br,(r=Ea())!==a&&(Rr=t,r=ir(r)),t=r)),t}function ea(){var t,r,n,o;return t=function(){var t,r,n;return Mr++,t=Br,(r=la())!==a?(105===e.charCodeAt(Br)?(n=q,Br++):(n=a,0===Mr&&Hr(ut)),n===a&&(n=null),Rr=t,t=dr(r,n)):(Br=t,t=a),Mr--,t===a&&(r=a,0===Mr&&Hr(it)),t}(),t===a&&(t=function(){var t,r,n,o,s,c;if(Mr++,t=Br,91===e.charCodeAt(Br)?(r=z,Br++):(r=a,0===Mr&&Hr($t)),r!==a){for(94===e.charCodeAt(Br)?(n=W,Br++):(n=a,0===Mr&&Hr(mt)),n===a&&(n=null),o=[],(s=$a())===a&&(s=ma());s!==a;)o.push(s),(s=$a())===a&&(s=ma());93===e.charCodeAt(Br)?(s=V,Br++):(s=a,0===Mr&&Hr(ht)),s!==a?(105===e.charCodeAt(Br)?(c=q,Br++):(c=a,0===Mr&&Hr(ut)),c===a&&(c=null),Rr=t,t=hr(n,o,c)):(Br=t,t=a)}else Br=t,t=a;return Mr--,t===a&&(r=a,0===Mr&&Hr(dt)),t}(),t===a&&(t=function(){var t,r;return t=Br,46===e.charCodeAt(Br)?(r=ne,Br++):(r=a,0===Mr&&Hr(wt)),r!==a&&(Rr=t,r=Pr()),t=r}(),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Br,(r=ia())!==a?(n=Br,Mr++,o=Br,s=Ca(),c=Br,(i=la())!==a?c=i=[i,Ca()]:(Br=c,c=a),c===a&&(c=null),61===e.charCodeAt(Br)?(i=u,Br++):(i=a,0===Mr&&Hr(ye)),i!==a?o=s=[s,c,i]:(Br=o,o=a),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a?(Rr=t,t=pr(r)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=Br,r=function(){var t;return 38===e.charCodeAt(Br)?(t=$,Br++):(t=a,0===Mr&&Hr(Pe)),t===a&&(33===e.charCodeAt(Br)?(t=m,Br++):(t=a,0===Mr&&Hr(we))),t}(),r!==a?(Ca(),(n=Ea())!==a?(Rr=t,t=lr(r,n)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=Br,40===e.charCodeAt(Br)?(r=E,Br++):(r=a,0===Mr&&Hr(Me)),r!==a?(Ca(),(n=Vr())!==a?(Ca(),41===e.charCodeAt(Br)?(o=y,Br++):(o=a,0===Mr&&Hr(Ie)),o!==a?(Rr=t,t=ur(n)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a)))))),t}function ta(){var t;return e.length>Br?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(ke)),t}function ra(){var t;return Mr++,9===e.charCodeAt(Br)?(t=C,Br++):(t=a,0===Mr&&Hr(je)),t===a&&(11===e.charCodeAt(Br)?(t=S,Br++):(t=a,0===Mr&&Hr(Ue)),t===a&&(12===e.charCodeAt(Br)?(t=_,Br++):(t=a,0===Mr&&Hr(qe)),t===a&&(32===e.charCodeAt(Br)?(t=T,Br++):(t=a,0===Mr&&Hr(Ge)),t===a&&(160===e.charCodeAt(Br)?(t=P,Br++):(t=a,0===Mr&&Hr(He)),t===a&&(65279===e.charCodeAt(Br)?(t=w,Br++):(t=a,0===Mr&&Hr(ze)),t===a&&(t=function(){var t;return Ae.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(qt)),t}())))))),Mr--,t===a&&0===Mr&&Hr(Ne),t}function aa(){var t;return se.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(We)),t}function na(){var t;return Mr++,10===e.charCodeAt(Br)?(t=F,Br++):(t=a,0===Mr&&Hr(Ye)),t===a&&(e.substr(Br,2)===B?(t=B,Br+=2):(t=a,0===Mr&&Hr(Qe)),t===a&&(13===e.charCodeAt(Br)?(t=R,Br++):(t=a,0===Mr&&Hr(Je)),t===a&&(8232===e.charCodeAt(Br)?(t=D,Br++):(t=a,0===Mr&&Hr(Xe)),t===a&&(8233===e.charCodeAt(Br)?(t=L,Br++):(t=a,0===Mr&&Hr(Ke)))))),Mr--,t===a&&0===Mr&&Hr(Ve),t}function oa(){var t;return Mr++,(t=function(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===O?(r=O,Br+=2):(r=a,0===Mr&&Hr(et)),r!==a){for(n=[],o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);e.substr(Br,2)===M?(o=M,Br+=2):(o=a,0===Mr&&Hr(tt)),o!==a?t=r=[r,n,o]:(Br=t,t=a)}else Br=t,t=a;return t}())===a&&(t=ca()),Mr--,t===a&&0===Mr&&Hr(Ze),t}function sa(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===O?(r=O,Br+=2):(r=a,0===Mr&&Hr(et)),r!==a){for(n=[],o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),c===a&&(c=aa()),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),c===a&&(c=aa()),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);e.substr(Br,2)===M?(o=M,Br+=2):(o=a,0===Mr&&Hr(tt)),o!==a?t=r=[r,n,o]:(Br=t,t=a)}else Br=t,t=a;return t}function ca(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===I?(r=I,Br+=2):(r=a,0===Mr&&Hr(rt)),r!==a){for(n=[],o=Br,s=Br,Mr++,c=aa(),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,c=aa(),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);t=r=[r,n]}else Br=t,t=a;return t}function ia(){var e,t,r,n;if(Mr++,e=Br,(t=ua())!==a){for(r=[],n=pa();n!==a;)r.push(n),n=pa();Rr=e,e=fr(t,r)}else Br=e,e=a;return Mr--,e===a&&(t=a,0===Mr&&Hr(at)),e}function ua(){var t,r,n;return(t=function(){var t;return(t=function(){var t;return $e.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Mt)),t}())===a&&(t=function(){var t;return pe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Rt)),t}())===a&&(t=function(){var t;return de.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Ot)),t}())===a&&(t=function(){var t;return le.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Dt)),t}())===a&&(t=function(){var t;return fe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Lt)),t}())===a&&(t=function(){var t;return xe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(jt)),t}()),t}())===a&&(95===e.charCodeAt(Br)?(t=k,Br++):(t=a,0===Mr&&Hr(nt)),t===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ba())!==a?t=n:(Br=t,t=a))),t}function pa(){var t;return(t=ua())===a&&(36===e.charCodeAt(Br)?(t=d,Br++):(t=a,0===Mr&&Hr(Te)),t===a&&(t=function(){var t;return(t=function(){var t;return he.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(kt)),t}())===a&&(t=function(){var t;return me.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(It)),t}()),t}())===a&&(t=function(){var t;return ge.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Nt)),t}())===a&&(t=function(){var t;return be.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Ut)),t}())===a&&(8204===e.charCodeAt(Br)?(t=j,Br++):(t=a,0===Mr&&Hr(st)),t===a&&(8205===e.charCodeAt(Br)?(t=U,Br++):(t=a,0===Mr&&Hr(ct))))),t}function la(){var t,r,n,o;if(Mr++,t=Br,34===e.charCodeAt(Br)?(r=G,Br++):(r=a,0===Mr&&Hr(lt)),r!==a){for(n=[],o=fa();o!==a;)n.push(o),o=fa();34===e.charCodeAt(Br)?(o=G,Br++):(o=a,0===Mr&&Hr(lt)),o!==a?(Rr=t,t=$r(n)):(Br=t,t=a)}else Br=t,t=a;if(t===a)if(t=Br,39===e.charCodeAt(Br)?(r=H,Br++):(r=a,0===Mr&&Hr(ft)),r!==a){for(n=[],o=da();o!==a;)n.push(o),o=da();39===e.charCodeAt(Br)?(o=H,Br++):(o=a,0===Mr&&Hr(ft)),o!==a?(Rr=t,t=mr(n)):(Br=t,t=a)}else Br=t,t=a;return Mr--,t===a&&(r=a,0===Mr&&Hr(pt)),t}function fa(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,34===e.charCodeAt(Br)?(o=G,Br++):(o=a,0===Mr&&Hr(lt)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ga())!==a?t=n:(Br=t,t=a),t===a&&(t=ha())),t}function da(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,39===e.charCodeAt(Br)?(o=H,Br++):(o=a,0===Mr&&Hr(ft)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ga())!==a?t=n:(Br=t,t=a),t===a&&(t=ha())),t}function $a(){var t,r,n,o;return t=Br,(r=ma())!==a?(45===e.charCodeAt(Br)?(n=Y,Br++):(n=a,0===Mr&&Hr(gt)),n!==a&&(o=ma())!==a?(Rr=t,t=gr(r,o)):(Br=t,t=a)):(Br=t,t=a),t}function ma(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,93===e.charCodeAt(Br)?(o=V,Br++):(o=a,0===Mr&&Hr(ht)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ga())!==a?t=n:(Br=t,t=a),t===a&&(t=ha())),t}function ha(){var t,r;return t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&na()!==a?(Rr=t,t=xr()):(Br=t,t=a),t}function ga(){var t,r,n,o;return t=function(){var t;return(t=xa())===a&&(t=function(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,o=function(){var t;return(t=xa())===a&&(t=Aa())===a&&(120===e.charCodeAt(Br)?(t=re,Br++):(t=a,0===Mr&&Hr(St)),t===a&&(117===e.charCodeAt(Br)?(t=ae,Br++):(t=a,0===Mr&&Hr(_t)))),t}(),o===a&&(o=aa()),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),t=r!==a?e.substring(t,Br):r}()),t}(),t===a&&(t=Br,48===e.charCodeAt(Br)?(r=Q,Br++):(r=a,0===Mr&&Hr(xt)),r!==a?(n=Br,Mr++,o=Aa(),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a?(Rr=t,t=br()):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=Br,120===e.charCodeAt(Br)?(r=re,Br++):(r=a,0===Mr&&Hr(St)),r!==a?(n=Br,o=Br,(s=va())!==a&&(c=va())!==a?o=s=[s,c]:(Br=o,o=a),(n=o!==a?e.substring(n,Br):o)!==a?(Rr=t,t=_r(n)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=ba()))),t}function xa(){var t,r;return 39===e.charCodeAt(Br)?(t=H,Br++):(t=a,0===Mr&&Hr(ft)),t===a&&(34===e.charCodeAt(Br)?(t=G,Br++):(t=a,0===Mr&&Hr(lt)),t===a&&(92===e.charCodeAt(Br)?(t=N,Br++):(t=a,0===Mr&&Hr(ot)),t===a&&(t=Br,98===e.charCodeAt(Br)?(r=J,Br++):(r=a,0===Mr&&Hr(bt)),r!==a&&(Rr=t,r=Ar()),(t=r)===a&&(t=Br,102===e.charCodeAt(Br)?(r=X,Br++):(r=a,0===Mr&&Hr(At)),r!==a&&(Rr=t,r=vr()),(t=r)===a&&(t=Br,110===e.charCodeAt(Br)?(r=K,Br++):(r=a,0===Mr&&Hr(vt)),r!==a&&(Rr=t,r=Er()),(t=r)===a&&(t=Br,114===e.charCodeAt(Br)?(r=Z,Br++):(r=a,0===Mr&&Hr(Et)),r!==a&&(Rr=t,r=yr()),(t=r)===a&&(t=Br,116===e.charCodeAt(Br)?(r=ee,Br++):(r=a,0===Mr&&Hr(yt)),r!==a&&(Rr=t,r=Cr()),(t=r)===a&&(t=Br,118===e.charCodeAt(Br)?(r=te,Br++):(r=a,0===Mr&&Hr(Ct)),r!==a&&(Rr=t,r=Sr()),t=r)))))))),t}function ba(){var t,r,n,o,s,c,i,u;return t=Br,117===e.charCodeAt(Br)?(r=ae,Br++):(r=a,0===Mr&&Hr(_t)),r!==a?(n=Br,o=Br,(s=va())!==a&&(c=va())!==a&&(i=va())!==a&&(u=va())!==a?o=s=[s,c,i,u]:(Br=o,o=a),(n=o!==a?e.substring(n,Br):o)!==a?(Rr=t,t=Tr(n)):(Br=t,t=a)):(Br=t,t=a),t}function Aa(){var t;return ce.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Tt)),t}function va(){var t;return ie.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Pt)),t}function Ea(){var t,r,n,o;return Mr++,t=Br,123===e.charCodeAt(Br)?(r=c,Br++):(r=a,0===Mr&&Hr(ve)),r!==a?(n=function(){var e,t;return e=Br,t=ya(),Rr=e,e=t=wr(t)}(),125===e.charCodeAt(Br)?(o=i,Br++):(o=a,0===Mr&&Hr(Ee)),o!==a?t=n:(Br=t,t=a)):(Br=t,t=a),Mr--,t===a&&(r=a,0===Mr&&Hr(Ft)),t}function ya(){var t,r,n,o,s,u;if(t=Br,r=[],n=[],o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a);else n=a;for(n===a&&(n=Br,123===e.charCodeAt(Br)?(o=c,Br++):(o=a,0===Mr&&Hr(ve)),o!==a?(s=ya(),125===e.charCodeAt(Br)?(u=i,Br++):(u=a,0===Mr&&Hr(Ee)),u!==a?n=o=[o,s,u]:(Br=n,n=a)):(Br=n,n=a));n!==a;){if(r.push(n),n=[],o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a);else n=a;n===a&&(n=Br,123===e.charCodeAt(Br)?(o=c,Br++):(o=a,0===Mr&&Hr(ve)),o!==a?(s=ya(),125===e.charCodeAt(Br)?(u=i,Br++):(u=a,0===Mr&&Hr(Ee)),u!==a?n=o=[o,s,u]:(Br=n,n=a)):(Br=n,n=a))}return e.substring(t,Br)}function Ca(){var e,t;for(e=[],(t=ra())===a&&(t=na())===a&&(t=oa());t!==a;)e.push(t),(t=ra())===a&&(t=na())===a&&(t=oa());return e}function Sa(){var t,r,n,o;if(t=[],r=Br,n=Ca(),59===e.charCodeAt(Br)?(o=oe,Br++):(o=a,0===Mr&&Hr(Gt)),o!==a?r=n=[n,o]:(Br=r,r=a),r!==a)for(;r!==a;)t.push(r),r=Br,n=Ca(),59===e.charCodeAt(Br)?(o=oe,Br++):(o=a,0===Mr&&Hr(Gt)),o!==a?r=n=[n,o]:(Br=r,r=a);else t=a;return t===a&&(t=Br,r=function(){var e,t;for(e=[],(t=ra())===a&&(t=sa());t!==a;)e.push(t),(t=ra())===a&&(t=sa());return e}(),(n=ca())===a&&(n=null),(o=na())!==a?t=r=[r,n,o]:(Br=t,t=a),t===a&&(t=Br,r=Ca(),n=function(){var t,r;return t=Br,Mr++,e.length>Br?(r=e.charAt(Br),Br++):(r=a,0===Mr&&Hr(ke)),Mr--,r===a?t=void 0:(Br=t,t=a),t}(),n!==a?t=r=[r,n]:(Br=t,t=a))),t}var _a=t.reservedWords||[];if((r=s())!==a&&Br===e.length)return r;throw r!==a&&Br0){for(t=1,r=1;t (https://majda.cz/)",main="lib/peg.js",unpkg="browser/peggy.min.js",jsdelivr="browser/peggy.min.js",types="lib/peg.d.ts",bin={peggy:"bin/peggy.js"},scripts={clean:"rimraf build browser bin/*.map && mkdir browser",parser:"node bin/peggy.js -o lib/parser.js --format commonjs src/parser.pegjs",examples:"node bin/peggy.js -c docs/js/options.js docs/js/examples.peggy",set_version:"node ./tools/set_version",lint:"eslint . --ext js,ts,mjs",ts:"tsc --build tsconfig.json",docs:"cd docs && npm run build",test:"jest","test:web":"cd web-test && npm test","test:all":"npm run test && npm run test:web",benchmark:"node ./benchmark/run_bench.js",rollup:"copyfiles package.json build/ts && rollup -c",terser:"npm run terser:peggy && npm run terser:tests && npm run terser:bench","terser:peggy":"terser -c passes=2 -m reserved=['GrammarLocation'] --sequences 40 build/rollup/peggy.umd.js -o build/peggy.min.js","terser:tests":"terser -c passes=2 -m --sequences 40 --module build/rollup/test.umd.js -o build/test-bundle.min.js","terser:bench":"terser -c passes=2 -m --sequences 40 --module build/rollup/benchmark.umd.js -o build/benchmark-bundle.min.js",headers:"node ./tools/header.js build/peggy.min.js build/benchmark-bundle.min.js build/test-bundle.min.js",deploy:"npm run deploy:peggy && npm run deploy:tests && npm run deploy:bench",coverage:"npm run rollup && npm run parser -- -m inline && npm test","deploy:peggy":"copyfiles -f build/peggy.min.js docs/vendor/peggy/ && copyfiles -f build/peggy.min.js browser/","deploy:tests":"copyfiles -f build/test-bundle.min.js docs/js/","deploy:bench":"copyfiles -f build/benchmark-bundle.min.js docs/js/",build:"npm run build:notidy && npm run tidy","build:notidy":"npm run setup && npm run make && npm run lint && npm run audit",setup:"npm run clean && npm run set_version",make:"npm run parser && npm run ts && npm run rollup && npm run terser && npm run examples && npm run docs && npm run headers && npm run deploy",audit:"npm run test && npm run benchmark",tidy:"rimraf build",start:"cd docs && npm start"},devDependencies={"@peggyjs/eslint-config":"^3.0.1","@rollup/plugin-commonjs":"^24.0.1","@rollup/plugin-json":"^6.0.0","@rollup/plugin-multi-entry":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-typescript":"^11.0.0","@types/chai":"^4.3.4","@types/jest":"^29.5.0","@types/node":"^18.15.5","@typescript-eslint/eslint-plugin":"^5.56.0","@typescript-eslint/parser":"^5.56.0",chai:"^4.3.7","chai-like":"^1.1.1",copyfiles:"^2.4.1",eslint:"^8.36.0",express:"4.18.2",jest:"^29.5.0",rimraf:"^4.4.0",rollup:"^3.20.0","rollup-plugin-ignore":"1.0.10","source-map":"^0.8.0-beta.0",terser:"^5.16.6","ts-jest":"^29.0.5",tsd:"^0.28.0",tslib:"^2.5.0",typescript:"^5.0.2"},dependencies={commander:"^10.0.0","source-map-generator":"0.8.0"},tsd={directory:"test/types"},engines={node:">=14"},require$$2={name:name,version:version,description:description,keywords:keywords,homepage:homepage,repository:repository,bugs:bugs,license:license,author:author,main:main,unpkg:unpkg,jsdelivr:jsdelivr,types:types,bin:bin,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies,tsd:tsd,engines:engines},chaiLikeExports$1={},chaiLike$1={get exports(){return chaiLikeExports$1},set exports(e){chaiLikeExports$1=e}},chaiLikeExports={},chaiLike={get exports(){return chaiLikeExports},set exports(e){chaiLikeExports=e}},hasRequiredChaiLike$1,hasRequiredChaiLike;function requireChaiLike$1(){if(hasRequiredChaiLike$1)return chaiLikeExports;hasRequiredChaiLike$1=1;let e=[];return chaiLike.exports=function(t,r){function a(e,t){return r.type(t).toUpperCase()===e.toUpperCase()}function n(t,r){for(let a of e)if(a.match(t,r))return a.assert(t,r);if(t===r)return!0;if(a("object",r)&&a("object",t)){for(let e of Object.keys(r)){if(!(e in t))return!1;if(!n(t[e],r[e]))return!1}return!0}if(a("array",r)&&a("array",t)){if(t.length!==r.length)return!1;for(let e=0;e start -> leftRecursion -> duplicatedRule)"])}}))}))}));var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n' at an index -1.\nBytecode: 42")})),it("`top`",(function(){expect$a((function(){return e.top()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`result`",(function(){expect$a((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$a((function(){return e.index(-2)})).to.throw(RangeError,"Rule 'rule': The variable stack overflow: attempt to get a variable at a negative index -2.\nBytecode: 42"),expect$a((function(){return e.index(0)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42"),expect$a((function(){return e.index(2)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -3.\nBytecode: 42")}))})),it("`defines` returns an empty string",(function(){expect$a(e.defines()).to.equal("")}))})),it("throws an error when attempting `pop` more than `push`",(function(){var e=new Stack("rule","v","let",[42]);e.push("1"),expect$a((function(){return e.pop(3)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -2.\nBytecode: 42")})),it("returns a variable with an index 0 for `result`",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),expect$a(e.result()).to.equal("v0")})),it("`defines` returns a define expression for all used variables",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),e.push("2"),e.pop(),e.push("3"),expect$a(e.defines()).to.equal("let v0, v1;")})),describe("`checkedIf` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),describe("does not throws an error",(function(){it("without the else brach",(function(){expect$a((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$a((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$a((function(){return e.checkedIf(0,(function(){return e.push("2")}))})).to.not.throw()})),describe("when the stack pointer",(function(){it("was not moving in both the arms",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$a((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$a((function(){return e.checkedIf(0,(function(){return e.push("1")}),(function(){return e.push("2")}))})).to.not.throw()})),it("decreases on the same value in both the arms",(function(){e.push("2"),expect$a((function(){return e.checkedIf(0,(function(){return e.pop(2)}),(function(){e.pop(),e.pop()}))})).to.not.throw()}))}))})),describe("throws an error when the stack pointer",(function(){it("was not moving in `if` and decreases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: -1). Bytecode: 42")})),it("decreases in `if` and was not moving in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 0). Bytecode: 42")})),it("was not moving in `if` and increases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: 1). Bytecode: 42")})),it("increases in `if` and was not moving in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: 0). Bytecode: 42")})),it("decreases in `if` and increases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 1). Bytecode: 42")})),it("increases in `if` and decreases in `then`",(function(){expect$a((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: -1). Bytecode: 42")}))}))})),describe("`checkedLoop` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),it("does not throws an error when the stack pointer was not moving",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$a((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$a((function(){return e.checkedLoop(0,(function(){return e.push("1")}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: 1). Bytecode: 42")})),it("throws an error when the stack pointer decreases",(function(){expect$a((function(){return e.checkedLoop(0,(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: -1). Bytecode: 42")}))}))}));var chai$9=require$$0$1,_a=utils$1,hex=_a.hex,stringEscape=_a.stringEscape,regexpClassEscape=_a.regexpClassEscape,base64=_a.base64,expect$9=chai$9.expect;describe("utility functions",(function(){it("hex",(function(){expect$9(hex("0")).to.equal("30"),expect$9(hex("\0")).to.equal("0"),expect$9(hex("\n")).to.equal("A"),expect$9(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$9(stringEscape("abc")).to.equal("abc"),expect$9(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$9(stringEscape("")).to.equal("\\x01\\x0F"),expect$9(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$9(stringEscape("Ā")).to.equal("\\u0100\\u0FFF"),expect$9(stringEscape("က")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$9(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$9(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$9(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$9(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$9(regexpClassEscape("Ā")).to.equal("\\u0100\\u0FFF"),expect$9(regexpClassEscape("က")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$9(base64(new Uint8Array([]))).to.equal(""),expect$9(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$9(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$9(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$9(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$9(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$9(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),it("reports indirect left recursion",(function(){expect$4(pass$4).to.reportError(["start = stop","stop = start"].join("\n"),{message:"Possible infinite loop when parsing (left recursion: start -> stop -> start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),describe("in sequences",(function(){it("reports left recursion if all preceding elements match empty string",(function(){expect$4(pass$4).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$4(pass$4).to.not.reportError("start = 'a' '' '' start"),expect$4(pass$4).to.not.reportError("start = '' 'a' '' start"),expect$4(pass$4).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$4(pass$4).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$4(pass$4).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$4(pass$4).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$4(pass$4).to.reportError("start = ('' / 'a' / 'b') start"),expect$4(pass$4).to.reportError("start = ('a' / '' / 'b') start"),expect$4(pass$4).to.reportError("start = ('a' / 'b' / '') start"),expect$4(pass$4).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$4(pass$4).to.reportError("start = ('' { }) start"),expect$4(pass$4).to.not.reportError("start = ('a' { }) start"),expect$4(pass$4).to.reportError("start = ('' '' '') start"),expect$4(pass$4).to.not.reportError("start = ('a' '' '') start"),expect$4(pass$4).to.not.reportError("start = ('' 'a' '') start"),expect$4(pass$4).to.not.reportError("start = ('' '' 'a') start"),expect$4(pass$4).to.reportError("start = a:'' start"),expect$4(pass$4).to.not.reportError("start = a:'a' start"),expect$4(pass$4).to.reportError("start = $'' start"),expect$4(pass$4).to.not.reportError("start = $'a' start"),expect$4(pass$4).to.reportError("start = &'' start"),expect$4(pass$4).to.reportError("start = &'a' start"),expect$4(pass$4).to.reportError("start = !'' start"),expect$4(pass$4).to.reportError("start = !'a' start"),expect$4(pass$4).to.reportError("start = ''? start"),expect$4(pass$4).to.reportError("start = 'a'? start"),expect$4(pass$4).to.reportError("start = ''* start"),expect$4(pass$4).to.reportError("start = 'a'* start"),expect$4(pass$4).to.reportError("start = ''+ start"),expect$4(pass$4).to.not.reportError("start = 'a'+ start"),expect$4(pass$4).to.reportError("start = ''| .. | start"),expect$4(pass$4).to.reportError("start = ''|0.. | start"),expect$4(pass$4).to.reportError("start = ''|1.. | start"),expect$4(pass$4).to.reportError("start = ''|2.. | start"),expect$4(pass$4).to.reportError("start = ''| ..1| start"),expect$4(pass$4).to.reportError("start = ''| ..3| start"),expect$4(pass$4).to.reportError("start = ''|2..3| start"),expect$4(pass$4).to.reportError("start = ''| 42 | start"),expect$4(pass$4).to.reportError("start = 'a'| .. | start"),expect$4(pass$4).to.reportError("start = 'a'|0.. | start"),expect$4(pass$4).to.not.reportError("start = 'a'|1.. | start"),expect$4(pass$4).to.not.reportError("start = 'a'|2.. | start"),expect$4(pass$4).to.reportError("start = 'a'| ..1| start"),expect$4(pass$4).to.reportError("start = 'a'| ..3| start"),expect$4(pass$4).to.not.reportError("start = 'a'|2..3| start"),expect$4(pass$4).to.not.reportError("start = 'a'| 42 | start"),expect$4(pass$4).to.reportError("start = ('') start"),expect$4(pass$4).to.not.reportError("start = ('a') start"),expect$4(pass$4).to.reportError("start = &{ } start"),expect$4(pass$4).to.reportError("start = !{ } start"),expect$4(pass$4).to.reportError(["start = a start","a = ''"].join("\n")),expect$4(pass$4).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$4(pass$4).to.reportError("start = '' start"),expect$4(pass$4).to.not.reportError("start = 'a' start"),expect$4(pass$4).to.not.reportError("start = [a-d] start"),expect$4(pass$4).to.not.reportError("start = . start")}))})),describe("in repeated with delimiter",(function(){it("doesn't report left recursion for delimiter if expression not match empty string",(function(){expect$4(pass$4).to.not.reportError("start = 'a'| .. , start|"),expect$4(pass$4).to.not.reportError("start = 'a'|0.. , start|"),expect$4(pass$4).to.not.reportError("start = 'a'|1.. , start|"),expect$4(pass$4).to.not.reportError("start = 'a'|2.. , start|"),expect$4(pass$4).to.not.reportError("start = 'a'| ..3, start|"),expect$4(pass$4).to.not.reportError("start = 'a'|2..3, start|"),expect$4(pass$4).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$4(pass$4).to.reportError("start = ''| .. , start|"),expect$4(pass$4).to.reportError("start = ''|0.. , start|"),expect$4(pass$4).to.reportError("start = ''|1.. , start|"),expect$4(pass$4).to.reportError("start = ''|2.. , start|"),expect$4(pass$4).to.reportError("start = ''| ..3, start|"),expect$4(pass$4).to.reportError("start = ''|2..3, start|"),expect$4(pass$4).to.reportError("start = ''| 42 , start|")}))}))}));var chai$3=require$$0$1,helpers$3=helpers$9,pass$3=reportInfiniteRepetition_1;chai$3.use(helpers$3);var expect$3=chai$3.expect;describe("compiler pass |reportInfiniteRepetition|",(function(){it("reports infinite loops for zero_or_more",(function(){expect$3(pass$3).to.reportError("start = ('')*",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),it("reports infinite loops for one_or_more",(function(){expect$3(pass$3).to.reportError("start = ('')+",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),describe("reports infinite loops for repeated",(function(){describe("without delimiter",(function(){it("with constant boundaries",(function(){expect$3(pass$3).to.reportError("start = ('')|..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:16,line:1,column:17}}}),expect$3(pass$3).to.reportError("start = ('')|0..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$3(pass$3).to.reportError("start = ('')|1..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$3(pass$3).to.reportError("start = ('')|2..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$3(pass$3).to.not.reportError("start = ('')| ..1|"),expect$3(pass$3).to.not.reportError("start = ('')| ..3|"),expect$3(pass$3).to.not.reportError("start = ('')|2..3|"),expect$3(pass$3).to.not.reportError("start = ('')| 42 |")})),it("with variable boundaries",(function(){expect$3(pass$3).to.reportError("start = ('')|len..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:19,line:1,column:20}}}),expect$3(pass$3).to.not.reportError("start = ('')|..len|"),expect$3(pass$3).to.not.reportError("start = ('')|len1..len2|"),expect$3(pass$3).to.not.reportError("start = ('')|len|")})),it("with function boundaries",(function(){expect$3(pass$3).to.reportError("start = ('')|{}..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:18,line:1,column:19}}}),expect$3(pass$3).to.not.reportError("start = ('')|..{}|"),expect$3(pass$3).to.not.reportError("start = ('')|{}..{}|"),expect$3(pass$3).to.not.reportError("start = ('')|{}|")}))})),describe("with empty delimiter",(function(){it("with constant boundaries",(function(){expect$3(pass$3).to.reportError("start = ('')| .., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$3(pass$3).to.reportError("start = ('')|0.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$3(pass$3).to.reportError("start = ('')|1.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$3(pass$3).to.reportError("start = ('')|2.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$3(pass$3).to.not.reportError("start = ('')| ..1, ''|"),expect$3(pass$3).to.not.reportError("start = ('')| ..3, ''|"),expect$3(pass$3).to.not.reportError("start = ('')|2..3, ''|"),expect$3(pass$3).to.not.reportError("start = ('')| 42 , ''|")})),it("with variable boundaries",(function(){expect$3(pass$3).to.reportError("start = ('')|len.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:23,line:1,column:24}}}),expect$3(pass$3).to.not.reportError("start = ('')|..len, ''|"),expect$3(pass$3).to.not.reportError("start = ('')|len1..len2, ''|"),expect$3(pass$3).to.not.reportError("start = ('')|len, ''|")})),it("with function boundaries",(function(){expect$3(pass$3).to.reportError("start = ('')|{}.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:22,line:1,column:23}}}),expect$3(pass$3).to.not.reportError("start = ('')|..{}, ''|"),expect$3(pass$3).to.not.reportError("start = ('')|{}..{}, ''|"),expect$3(pass$3).to.not.reportError("start = ('')|{}, ''|")}))})),describe("with non-empty delimiter",(function(){it("with constant boundaries",(function(){expect$3(pass$3).to.not.reportError("start = ('')| .., 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|0.., 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|1.., 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|2.., 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')| ..1, 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')| ..3, 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|2..3, 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')| 42 , 'a'|")})),it("with variable boundaries",(function(){expect$3(pass$3).to.not.reportError("start = ('')|len.., 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|..len, 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|len1..len2, 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|len, 'a'|")})),it("with function boundaries",(function(){expect$3(pass$3).to.not.reportError("start = ('')|{}.., 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|..{}, 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|{}..{}, 'a'|"),expect$3(pass$3).to.not.reportError("start = ('')|{}, 'a'|")}))}))})),it("computes expressions that always consume input on success correctly",(function(){expect$3(pass$3).to.reportError(["start = a*","a 'a' = ''"].join("\n")),expect$3(pass$3).to.not.reportError(["start = a*","a 'a' = 'a'"].join("\n")),expect$3(pass$3).to.reportError("start = ('' / 'a' / 'b')*"),expect$3(pass$3).to.reportError("start = ('a' / '' / 'b')*"),expect$3(pass$3).to.reportError("start = ('a' / 'b' / '')*"),expect$3(pass$3).to.not.reportError("start = ('a' / 'b' / 'c')*"),expect$3(pass$3).to.reportError("start = ('' { })*"),expect$3(pass$3).to.not.reportError("start = ('a' { })*"),expect$3(pass$3).to.reportError("start = ('' '' '')*"),expect$3(pass$3).to.not.reportError("start = ('a' '' '')*"),expect$3(pass$3).to.not.reportError("start = ('' 'a' '')*"),expect$3(pass$3).to.not.reportError("start = ('' '' 'a')*"),expect$3(pass$3).to.reportError("start = (a:'')*"),expect$3(pass$3).to.not.reportError("start = (a:'a')*"),expect$3(pass$3).to.reportError("start = ($'')*"),expect$3(pass$3).to.not.reportError("start = ($'a')*"),expect$3(pass$3).to.reportError("start = (&'')*"),expect$3(pass$3).to.reportError("start = (&'a')*"),expect$3(pass$3).to.reportError("start = (!'')*"),expect$3(pass$3).to.reportError("start = (!'a')*"),expect$3(pass$3).to.reportError("start = (''?)*"),expect$3(pass$3).to.reportError("start = ('a'?)*"),expect$3(pass$3).to.reportError("start = (''*)*"),expect$3(pass$3).to.reportError("start = ('a'*)*"),expect$3(pass$3).to.reportError("start = (''+)*"),expect$3(pass$3).to.not.reportError("start = ('a'+)*"),expect$3(pass$3).to.reportError("start = ('')*"),expect$3(pass$3).to.not.reportError("start = ('a')*"),expect$3(pass$3).to.reportError("start = (&{ })*"),expect$3(pass$3).to.reportError("start = (!{ })*"),expect$3(pass$3).to.reportError("start = 'a'|.., ('')*|"),expect$3(pass$3).to.not.reportError("start = 'a'|.., ('b')*|"),expect$3(pass$3).to.reportError(["start = a*","a = ''"].join("\n")),expect$3(pass$3).to.not.reportError(["start = a*","a = 'a'"].join("\n")),expect$3(pass$3).to.reportError("start = ''*"),expect$3(pass$3).to.not.reportError("start = 'a'*"),expect$3(pass$3).to.not.reportError("start = [a-d]*"),expect$3(pass$3).to.not.reportError("start = .*")}))}));var chai$2=require$$0$1,helpers$2=helpers$9,pass$2=reportDuplicateLabels_1;chai$2.use(helpers$2);var expect$2=chai$2.expect;describe("compiler pass |reportDuplicateLabels|",(function(){describe("in a sequence",(function(){it("reports labels duplicate with labels of preceding elements",(function(){expect$2(pass$2).to.reportError("start = a:'a' a:'a'",{message:'Label "a" is already defined',location:{source:void 0,start:{offset:14,line:1,column:15},end:{offset:15,line:1,column:16}},diagnostics:[{message:"Original label location",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:9,line:1,column:10}}}]})})),it("doesn't report labels duplicate with labels in subexpressions",(function(){expect$2(pass$2).to.not.reportError("start = ('a' / a:'a' / 'a') a:'a'"),expect$2(pass$2).to.not.reportError("start = (a:'a' { }) a:'a'"),expect$2(pass$2).to.not.reportError("start = ('a' a:'a' 'a') a:'a'"),expect$2(pass$2).to.not.reportError("start = b:(a:'a') a:'a'"),expect$2(pass$2).to.not.reportError("start = $(a:'a') a:'a'"),expect$2(pass$2).to.not.reportError("start = &(a:'a') a:'a'"),expect$2(pass$2).to.not.reportError("start = !(a:'a') a:'a'"),expect$2(pass$2).to.not.reportError("start = (a:'a')? a:'a'"),expect$2(pass$2).to.not.reportError("start = (a:'a')* a:'a'"),expect$2(pass$2).to.not.reportError("start = (a:'a')+ a:'a'"),expect$2(pass$2).to.not.reportError("start = (a:'a')|2..3| a:'a'"),expect$2(pass$2).to.not.reportError("start = 'a'|2..3, a:'a'| a:'a'"),expect$2(pass$2).to.not.reportError("start = (a:'a') a:'a'")}))})),describe("in a choice",(function(){it("doesn't report labels duplicate with labels of preceding alternatives",(function(){expect$2(pass$2).to.not.reportError("start = a:'a' / a:'a'")}))})),describe("in outer sequence",(function(){it("reports labels duplicate with labels of preceding elements",(function(){expect$2(pass$2).to.reportError("start = a:'a' (a:'a')",{message:'Label "a" is already defined',location:{source:void 0,start:{offset:15,line:1,column:16},end:{offset:16,line:1,column:17}},diagnostics:[{message:"Original label location",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:9,line:1,column:10}}}]})})),it("doesn't report labels duplicate with the label of the current element",(function(){expect$2(pass$2).to.not.reportError("start = a:(a:'a')")})),it("doesn't report labels duplicate with labels of following elements",(function(){expect$2(pass$2).to.not.reportError("start = (a:'a') a:'a'")}))}))}));var chai$1=require$$0$1,helpers$1=helpers$9,pass$1=generateBytecode_1;chai$1.use(helpers$1);var expect$1=chai$1.expect;describe("compiler pass |generateBytecode|",(function(){function e(e){return{rules:[{bytecode:e}]}}function t(e,t){return{rules:[{bytecode:e}],locations:t}}function r(e,t,r,a){return{literals:e,classes:t,expectations:r,functions:a}}describe("for grammar",(function(){it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(["a = 'a'","b = 'b'","c = 'c'"].join("\n"),{rules:[{bytecode:[18,0,2,2,22,0,23,0]},{bytecode:[18,1,2,2,22,1,23,1]},{bytecode:[18,2,2,2,22,2,23,2]}]})})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(["a = 'a'","b = 'b'","c = 'c'"].join("\n"),r(["a","b","c"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1},{type:"literal",value:"c",ignoreCase:!1}],[]))})),it("generates correct source mapping",(function(){expect$1(pass$1).to.changeAST(["a = 'a'"].join("\n"),t([37,0,18,0,2,2,22,0,23,0,38],[{source:"-",start:{offset:4,line:1,column:5},end:{offset:7,line:1,column:8}}]),{grammarSource:"-",output:"source-and-map"})})),it("generates correct plucking bytecode",(function(){expect$1(pass$1).to.changeAST("start = 'a' @'b' 'c'",e([5,18,0,2,2,22,0,23,0,15,34,3,18,1,2,2,22,1,23,1,15,19,4,18,2,2,2,22,2,23,2,15,4,4,36,4,1,1,8,3,7,3,8,2,7,3,6,7,3])),expect$1(pass$1).to.changeAST("start = 'a' @'b' @'c'",e([5,18,0,2,2,22,0,23,0,15,35,3,18,1,2,2,22,1,23,1,15,20,4,18,2,2,2,22,2,23,2,15,5,4,36,4,2,1,0,8,3,7,3,8,2,7,3,6,7,3]))}))})),describe("for rule",(function(){it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST("start = 'a'",e([18,0,2,2,22,0,23,0]))}))})),describe("for named",(function(){var t="start 'start' = 'a'";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([28,18,0,2,2,22,0,23,1,29,14,2,0,23,0]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"rule",value:"start"},{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("for choice",(function(){it("generates correct bytecode and source mapping",(function(){expect$1(pass$1).to.changeAST("start = 'a' / label:'b' / 'c'",t([37,5,37,0,18,0,2,2,22,0,23,0,38,14,36,0,6,37,3,39,0,2,2,37,1,18,1,2,2,22,1,23,1,38,40,0,38,14,12,0,6,37,4,18,3,2,2,22,3,23,2,38,38],[{source:"-",start:{offset:8,line:1,column:9},end:{offset:11,line:1,column:12}},{source:"-",start:{offset:20,line:1,column:21},end:{offset:23,line:1,column:24}},{source:"-",start:{offset:14,line:1,column:15},end:{offset:19,line:1,column:20}},{source:"-",start:{offset:14,line:1,column:15},end:{offset:23,line:1,column:24}},{source:"-",start:{offset:26,line:1,column:27},end:{offset:29,line:1,column:30}},{source:"-",start:{offset:8,line:1,column:9},end:{offset:29,line:1,column:30}}]),{grammarSource:"-",output:"source-and-map"})}))})),describe("for action",(function(){describe("without labels",(function(){var t="start = 'a' { code }";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,18,0,2,2,22,0,23,0,15,6,0,24,1,26,0,1,0,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!1,params:[],body:" code ",location:{source:void 0,start:{offset:13,line:1,column:14},end:{offset:19,line:1,column:20}}}]))}))})),describe("with one label",(function(){var t="start = a:'a' { code }";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,18,0,2,2,22,0,23,0,15,7,0,24,1,26,0,1,1,0,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!1,params:["a"],body:" code ",location:{source:void 0,start:{offset:15,line:1,column:16},end:{offset:21,line:1,column:22}}}]))}))})),describe("with multiple labels",(function(){var t="start = a:'a' b:'b' c:'c' { code }";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,18,0,2,2,22,0,23,0,15,39,3,18,1,2,2,22,1,23,1,15,24,4,18,2,2,2,22,2,23,2,15,9,4,24,3,26,0,4,3,2,1,0,8,3,7,3,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b","c"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1},{type:"literal",value:"c",ignoreCase:!1}],[{predicate:!1,params:["a","b","c"],body:" code ",location:{source:void 0,start:{offset:27,line:1,column:28},end:{offset:33,line:1,column:34}}}]))}))}))})),describe("for sequence",(function(){var t="start = 'a' 'b' 'c'";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,18,0,2,2,22,0,23,0,15,33,3,18,1,2,2,22,1,23,1,15,18,4,18,2,2,2,22,2,23,2,15,3,4,11,3,9,8,3,7,3,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b","c"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1},{type:"literal",value:"c",ignoreCase:!1}],[]))}))})),describe("for labeled",(function(){it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST("start = a:'a'",e([18,0,2,2,22,0,23,0]))}))})),describe("for text",(function(){it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST("start = $'a'",e([5,18,0,2,2,22,0,23,0,15,2,1,6,12,9]))}))})),describe("for simple_and",(function(){var t="start = &'a'";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,28,18,0,2,2,22,0,23,0,29,15,3,3,6,7,1,6,6,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("for simple_not",(function(){var t="start = !'a'";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,28,18,0,2,2,22,0,23,0,29,14,3,3,6,6,1,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("for optional",(function(){var t="start = 'a'?";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([18,0,2,2,22,0,23,0,14,2,0,6,2]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("for zero_or_more",(function(){var t="start = 'a'*";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,9,10,18,0,2,2,22,0,23,0,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("for one_or_more",(function(){var t="start = 'a'+";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,15,12,3,16,9,10,18,0,2,2,22,0,23,0,6,6,6,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("for repeated",(function(){describe("without delimiter",(function(){describe("| .. | (edge case -- no boundaries)",(function(){var t="start = 'a'| .. |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,9,10,18,0,2,2,22,0,23,0,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("with constant boundaries",(function(){describe("| ..3| (edge case -- no min boundary)",(function(){var t="start = 'a'| ..3|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,14,10,31,3,1,8,3,18,0,2,2,22,0,23,0,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("| ..1| (edge case -- no min boundary -- same as |optional|)",(function(){var t="start = 'a'| ..1|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,14,10,31,1,1,8,3,18,0,2,2,22,0,23,0,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("|2.. | (edge case -- no max boundary)",(function(){var t="start = 'a'|2.. |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,9,10,18,0,2,2,22,0,23,0,6,30,2,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("|0.. | (edge case -- no max boundary -- same as |zero or more|)",(function(){var t="start = 'a'|0.. |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,9,10,18,0,2,2,22,0,23,0,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("|1.. | (edge case -- no max boundary -- same as |one or more|)",(function(){var t="start = 'a'|1.. |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,9,10,18,0,2,2,22,0,23,0,6,30,1,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("|2..3|",(function(){var t="start = 'a'|2..3|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,14,10,31,3,1,8,3,18,0,2,2,22,0,23,0,6,30,2,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("| 42 | (edge case -- exact repetitions)",(function(){var t="start = 'a'|42|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,14,10,31,42,1,8,3,18,0,2,2,22,0,23,0,6,30,42,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))}))})),describe("with variable boundaries",(function(){describe("| ..x| (edge case -- no min boundary)",(function(){var t="start = max:('a'{return 42;}) 'a'| ..max|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,18,0,2,2,22,0,23,0,15,6,0,24,1,26,0,1,0,9,15,41,3,4,33,1,1,8,3,18,0,2,2,22,0,23,0,16,14,10,33,1,1,8,3,18,0,2,2,22,0,23,0,6,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))})),describe("|x.. | (edge case -- no max boundary)",(function(){var t="start = min:('a'{return 42;}) 'a'|min.. |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,18,0,2,2,22,0,23,0,15,6,0,24,1,26,0,1,0,9,15,40,3,5,4,18,0,2,2,22,0,23,0,16,9,10,18,0,2,2,22,0,23,0,6,32,2,3,1,6,7,3,9,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))})),describe("|x..y|",(function(){var t="start = min:('a'{return 42;}) max:('a'{return 42;}) 'a'|min..max|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,18,0,2,2,22,0,23,0,15,6,0,24,1,26,0,1,0,9,15,77,3,5,18,0,2,2,22,0,23,0,15,7,0,24,1,26,1,1,1,2,9,15,50,4,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,14,10,33,2,1,8,3,18,0,2,2,22,0,23,0,6,32,3,3,1,6,7,3,9,15,3,4,11,3,9,8,3,7,3,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"},{predicate:!1,params:["min"],body:"return 42;"}]))}))})),describe("|exact| (edge case -- exact repetitions)",(function(){var t="start = exact:('a'{return 42;}) 'a'|exact|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,18,0,2,2,22,0,23,0,15,6,0,24,1,26,0,1,0,9,15,50,3,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,14,10,33,2,1,8,3,18,0,2,2,22,0,23,0,6,32,2,3,1,6,7,3,9,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))}))})),describe("with function boundaries",(function(){describe("| ..x| (edge case -- no min boundary)",(function(){var t="start = 'a'| ..{return 42;}|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,4,33,1,1,8,3,18,0,2,2,22,0,23,0,16,14,10,33,1,1,8,3,18,0,2,2,22,0,23,0,6,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 42;"}]))}))})),describe("|x.. | (edge case -- no max boundary)",(function(){var t="start = 'a'|{return 42;}.. |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,5,4,18,0,2,2,22,0,23,0,16,9,10,18,0,2,2,22,0,23,0,6,32,2,3,1,6,7,3,9,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 42;"}]))}))})),describe("|x..y|",(function(){var t="start = 'a'|{return 41;}..{return 43;}|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,26,1,0,0,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,14,10,33,2,1,8,3,18,0,2,2,22,0,23,0,6,32,3,3,1,6,7,3,9,9,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 41;"},{predicate:!0,params:[],body:"return 43;"}]))}))})),describe("|exact| (edge case -- exact repetitions)",(function(){var t="start = 'a'|{return 42;}|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,14,10,33,2,1,8,3,18,0,2,2,22,0,23,0,6,32,2,3,1,6,7,3,9,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 42;"}]))}))}))}))})),describe("with delimiter",(function(){describe("| .. , delim| (edge case -- no boundaries)",(function(){var t="start = 'a'| .. , 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,30,10,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))})),describe("with constant boundaries",(function(){describe("| ..3, delim| (edge case -- no min boundary)",(function(){var t="start = 'a'| ..3, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,35,10,31,3,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))})),describe("| ..1, delim| (edge case -- no min boundary -- same as |optional|)",(function(){var t="start = 'a'| ..1, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,35,10,31,1,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))})),describe("|2.. , delim| (edge case -- no max boundary)",(function(){var t="start = 'a'|2.. , 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,30,10,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,30,2,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))})),describe("|0.. , delim| (edge case -- no max boundary -- same as |zero or more|)",(function(){var t="start = 'a'|0.. , 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([4,18,0,2,2,22,0,23,0,16,30,10,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))})),describe("|1.. , delim| (edge case -- no max boundary -- same as |one or more|)",(function(){var t="start = 'a'|1.. , 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,30,10,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,30,1,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))})),describe("|2..3, delim|",(function(){var t="start = 'a'|2..3, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,35,10,31,3,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,30,2,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))})),describe("| 42 , delim| (edge case -- exact repetitions)",(function(){var t="start = 'a'|42, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,4,18,0,2,2,22,0,23,0,16,35,10,31,42,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,30,42,3,1,6,7,3,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[]))}))}))})),describe("with variable boundaries",(function(){describe("| ..x, delim| (edge case -- no min boundary)",(function(){var t="start = max:(''{return 42;}) 'a'| ..max, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,35,15,6,0,24,1,26,0,1,0,9,15,62,3,4,33,1,1,8,3,18,0,2,2,22,0,23,0,16,35,10,33,1,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))})),describe("|x.. , delim| (edge case -- no max boundary)",(function(){var t="start = min:(''{return 42;}) 'a'|min.. , 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,35,15,6,0,24,1,26,0,1,0,9,15,61,3,5,4,18,0,2,2,22,0,23,0,16,30,10,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,32,2,3,1,6,7,3,9,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))})),describe("|x..y, delim|",(function(){var t="start = min:(''{return 42;}) max:(''{return 42;}) 'a'|min..max, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,35,15,6,0,24,1,26,0,1,0,9,15,91,3,5,35,15,7,0,24,1,26,1,1,1,2,9,15,71,4,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,35,10,33,2,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,32,3,3,1,6,7,3,9,15,3,4,11,3,9,8,3,7,3,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"},{predicate:!1,params:["min"],body:"return 42;"}]))}))})),describe("|exact, delim| (edge case -- exact repetitions)",(function(){var t="start = exact:(''{return 42;}) 'a'|exact, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,35,15,6,0,24,1,26,0,1,0,9,15,71,3,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,35,10,33,2,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,32,2,3,1,6,7,3,9,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))})),describe("used in delimiter",(function(){describe("delim|min..|",(function(){var t="start = min:(''{return 42;}) 'a'|.., 'b'|min..| |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,35,15,6,0,24,1,26,0,1,0,9,15,74,3,4,18,0,2,2,22,0,23,0,16,52,10,5,5,4,18,1,2,2,22,1,23,1,16,9,10,18,1,2,2,22,1,23,1,6,32,4,3,1,6,7,3,9,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))})),describe("delim|..max|",(function(){var t="start = max:(''{return 42;}) 'a'|.., 'b'|..max| |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,35,15,6,0,24,1,26,0,1,0,9,15,75,3,4,18,0,2,2,22,0,23,0,16,53,10,5,4,33,3,1,8,3,18,1,2,2,22,1,23,1,16,14,10,33,3,1,8,3,18,1,2,2,22,1,23,1,6,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))})),describe("delim|exact|",(function(){var t="start = exact:(''{return 42;}) 'a'|.., 'b'|exact| |";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,5,35,15,6,0,24,1,26,0,1,0,9,15,84,3,4,18,0,2,2,22,0,23,0,16,62,10,5,5,4,33,4,1,8,3,18,1,2,2,22,1,23,1,16,14,10,33,4,1,8,3,18,1,2,2,22,1,23,1,6,32,4,3,1,6,7,3,9,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,15,3,4,11,2,9,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!1,params:[],body:"return 42;"}]))}))}))}))})),describe("with function boundaries",(function(){describe("| ..x, delim| (edge case -- no min boundary)",(function(){var t="start = 'a'| ..{return 42;}, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,4,33,1,1,8,3,18,0,2,2,22,0,23,0,16,35,10,33,1,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 42;"}]))}))})),describe("|x.. , delim| (edge case -- no max boundary)",(function(){var t="start = 'a'|{return 42;}.. , 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,5,4,18,0,2,2,22,0,23,0,16,30,10,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,32,2,3,1,6,7,3,9,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 42;"}]))}))})),describe("|x..y, delim|",(function(){var t="start = 'a'|{return 41;}..{return 43;}, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,26,1,0,0,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,35,10,33,2,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,32,3,3,1,6,7,3,9,9,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 41;"},{predicate:!0,params:[],body:"return 43;"}]))}))})),describe("|exact, delim| (edge case -- exact repetitions)",(function(){var t="start = 'a'|{return 42;}, 'b'|";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([26,0,0,0,5,4,33,2,1,8,3,18,0,2,2,22,0,23,0,16,35,10,33,2,1,29,3,5,18,1,2,2,22,1,23,1,15,16,1,6,18,0,2,2,22,0,23,0,14,3,1,6,7,3,9,9,6,32,2,3,1,6,7,3,9,9]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1}],[{predicate:!0,params:[],body:"return 42;"}]))}))}))}))}))})),describe("for group",(function(){var t="start = ('a')";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([18,0,2,2,22,0,23,0]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("for semantic_and",(function(){describe("without labels",(function(){var t="start = &{ code }";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([25,26,0,0,0,13,2,2,6,1,6,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r([],[],[],[{predicate:!0,params:[],body:" code ",location:{source:void 0,start:{offset:10,line:1,column:11},end:{offset:16,line:1,column:17}}}]))}))})),describe("with labels",(function(){var t="start = a:'a' b:'b' c:'c' &{ code }";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,18,0,2,2,22,0,23,0,15,55,3,18,1,2,2,22,1,23,1,15,40,4,18,2,2,2,22,2,23,2,15,25,4,25,26,0,0,3,2,1,0,13,2,2,6,1,6,3,15,3,4,11,4,9,8,4,7,3,8,3,7,3,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b","c"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1},{type:"literal",value:"c",ignoreCase:!1}],[{predicate:!0,params:["a","b","c"],body:" code ",location:{source:void 0,start:{offset:28,line:1,column:29},end:{offset:34,line:1,column:35}}}]))}))}))})),describe("for semantic_not",(function(){describe("without labels",(function(){var t="start = !{ code }";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([25,26,0,0,0,13,2,2,6,3,6,1]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r([],[],[],[{predicate:!0,params:[],body:" code ",location:{source:void 0,start:{offset:10,line:1,column:11},end:{offset:16,line:1,column:17}}}]))}))})),describe("with labels",(function(){var t="start = a:'a' b:'b' c:'c' !{ code }";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([5,18,0,2,2,22,0,23,0,15,55,3,18,1,2,2,22,1,23,1,15,40,4,18,2,2,2,22,2,23,2,15,25,4,25,26,0,0,3,2,1,0,13,2,2,6,3,6,1,15,3,4,11,4,9,8,4,7,3,8,3,7,3,8,2,7,3,6,7,3]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a","b","c"],[],[{type:"literal",value:"a",ignoreCase:!1},{type:"literal",value:"b",ignoreCase:!1},{type:"literal",value:"c",ignoreCase:!1}],[{predicate:!0,params:["a","b","c"],body:" code ",location:{source:void 0,start:{offset:28,line:1,column:29},end:{offset:34,line:1,column:35}}}]))}))}))})),describe("for rule_ref",(function(){it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(["start = other","other = 'other'"].join("\n"),{rules:[{bytecode:[27,1]},{}]})}))})),describe("for literal",(function(){describe("empty",(function(){var t="start = ''";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([35]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r([],[],[],[]))}))})),describe("non-empty case-sensitive",(function(){var t="start = 'a'";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([18,0,2,2,22,0,23,0]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"a",ignoreCase:!1}],[]))}))})),describe("non-empty case-insensitive",(function(){var t="start = 'A'i";it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([19,0,2,2,21,1,23,0]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r(["a"],[],[{type:"literal",value:"A",ignoreCase:!0}],[]))}))}))})),describe("for class",(function(){it("generates correct bytecode",(function(){expect$1(pass$1).to.changeAST("start = [a]",e([20,0,2,2,21,1,23,0]))})),describe("non-inverted case-sensitive",(function(){it("defines correct constants",(function(){expect$1(pass$1).to.changeAST("start = [a]",r([],[{value:["a"],ignoreCase:!1,inverted:!1}],[{type:"class",value:["a"],ignoreCase:!1,inverted:!1}],[]))}))})),describe("inverted case-sensitive",(function(){it("defines correct constants",(function(){expect$1(pass$1).to.changeAST("start = [^a]",r([],[{value:["a"],ignoreCase:!1,inverted:!0}],[{type:"class",value:["a"],ignoreCase:!1,inverted:!0}],[]))}))})),describe("non-inverted case-insensitive",(function(){it("defines correct constants",(function(){expect$1(pass$1).to.changeAST("start = [a]i",r([],[{value:["a"],ignoreCase:!0,inverted:!1}],[{type:"class",value:["a"],ignoreCase:!0,inverted:!1}],[]))}))})),describe("complex",(function(){it("defines correct constants",(function(){expect$1(pass$1).to.changeAST("start = [ab-def-hij-l]",r([],[{value:["a",["b","d"],"e",["f","h"],"i",["j","l"]],ignoreCase:!1,inverted:!1}],[{type:"class",value:["a",["b","d"],"e",["f","h"],"i",["j","l"]],ignoreCase:!1,inverted:!1}],[]))}))}))})),describe("for any",(function(){var t="start = .";it("generates bytecode",(function(){expect$1(pass$1).to.changeAST(t,e([17,2,2,21,1,23,0]))})),it("defines correct constants",(function(){expect$1(pass$1).to.changeAST(t,r([],[],[{type:"any"}],[]))}))}))}));var chai=require$$0$1,helpers=helpers$9,pass=reportIncorrectPlucking_1;chai.use(helpers);var expect=chai.expect;describe("compiler pass |reportIncorrectPlucking|",(function(){it('prevents "@" from being used with an action block',(function(){expect(pass).to.reportError("start1 = 'a' @'b' 'c' { /* empty action block */ }",{message:'"@" cannot be used with an action block',location:{source:void 0,start:{offset:13,line:1,column:14},end:{offset:14,line:1,column:15}},diagnostics:[{message:"Action block location",location:{source:void 0,start:{offset:23,line:1,column:24},end:{offset:49,line:1,column:50}}}]}),expect(pass).to.reportError("start2 = 'a' @('b' @'c' { /* empty action block */ })",{message:'"@" cannot be used with an action block',location:{source:void 0,start:{offset:19,line:1,column:20},end:{offset:20,line:1,column:21}},diagnostics:[{message:"Action block location",location:{source:void 0,start:{offset:25,line:1,column:26},end:{offset:51,line:1,column:52}}}]})})),it("allows valid plucking",(function(){expect(pass).not.to.reportError("\n\n start1 = @'1' // return '1'\n start2 = @'1' / @'2' // return '1' or '2'\n start2 = '1' @'2' '3' // return '2'\n start3 = '1' @b:'2' '3' // return '2', label \"b\" can be used in semantic predicates\n start4 = a:'1' @b:'2' '3' // return '2', labels \"a\" and \"b\" can be used in semantic predicates\n start5 = @'1' @'2' '3' // return ['1', '2']\n start6 = @'1' @b:'2' '3' // return ['1', '2'], label \"b\" can be used in semantic predicates\n start7 = a:'1' @'2' &{} // return '2' if the semantic predicate doesnt fail\n start8 = @a:$[a-z]i+ &{ return a === 'foo' } // return \"foo\"\n\n ")}))})),exports.peggyVersion=peggyVersion}));
\ No newline at end of file
diff --git a/docs/vendor/peggy/peggy.min.js b/docs/vendor/peggy/peggy.min.js
index f38177cc..0cb20c62 100644
--- a/docs/vendor/peggy/peggy.min.js
+++ b/docs/vendor/peggy/peggy.min.js
@@ -1,8 +1,8 @@
-// peggy 3.0.1
+// peggy 3.0.2
//
// https://peggyjs.org/
//
// Copyright (c) 2023- the Peggy authors
// Licensed under the MIT License.
-!function(e,u){"object"==typeof exports&&"undefined"!=typeof module?module.exports=u():"function"==typeof define&&define.amd?define(u):(e="undefined"!=typeof globalThis?globalThis:e||self).peggy=u()}(this,(function(){"use strict";var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},GrammarLocation$4=function(){function GrammarLocation(e,u){this.source=e,this.start=u}return GrammarLocation.prototype.toString=function(){return String(this.source)},GrammarLocation.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},GrammarLocation.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},GrammarLocation.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},GrammarLocation}(),grammarLocation=GrammarLocation$4,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,u){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,u){e.__proto__=u}||function(e,u){for(var t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t])},extendStatics(e,u)},function(e,u){if("function"!=typeof u&&null!==u)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");function t(){this.constructor=e}extendStatics(e,u),e.prototype=null===u?Object.create(u):(t.prototype=u.prototype,new t)}),extendStatics,GrammarLocation$3=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,u){e.__proto__=u}||function(e,u){for(var t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t])},GrammarError$3=function(e){function u(t,r,n){var o=e.call(this,t)||this;return setProtoOf(o,u.prototype),o.name="GrammarError",o.location=r,void 0===n&&(n=[]),o.diagnostics=n,o.stage=null,o.problems=[["error",t,r,n]],o}return __extends(u,e),u.prototype.toString=function(){var u=e.prototype.toString.call(this);this.location&&(u+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(u+="".concat(this.location.source,":")),u+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var t=0,r=this.diagnostics;t1&&e.delimiter&&n(e.delimiter)))},semantic_and:r,semantic_not:r,rule_ref:function(u){var t=asts$7.findRule(e,u.name);return t?n(t):void 0},literal:function(e){return""!==e.value},class:t,any:t});return n(u)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$9=visitor_1,asts$6=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function u(e){return e.match=SOMETIMES_MATCH$1}function t(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function r(e){return e.match=o(e.expression)}function n(e,u){for(var t=e.length,r=0,n=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$9.build({rule:function(e){var u,t=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(u=e.match,e.match=o(e.expression),++t>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(u!==e.match)}return e.match},named:r,choice:function(e){return e.match=n(e.alternatives,!0)},action:r,sequence:function(e){return e.match=n(e.elements,!1)},labeled:r,text:r,simple_and:r,simple_not:function(e){return e.match=-o(e.expression)},optional:t,zero_or_more:t,one_or_more:r,repeated:function(e){var u=o(e.expression),t=e.delimiter?o(e.delimiter):NEVER_MATCH$1,r=e.min?e.min:e.max;return"constant"!==r.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&r.value>e.max.value?e.match=NEVER_MATCH$1:u===NEVER_MATCH$1?e.match=0===r.value?ALWAYS_MATCH$1:NEVER_MATCH$1:u===ALWAYS_MATCH$1?e.delimiter&&r.value>=2?e.match=t:e.match=ALWAYS_MATCH$1:e.delimiter&&r.value>=2?e.match=t===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===r.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:r,semantic_and:u,semantic_not:u,rule_ref:function(u){var t=asts$6.findRule(e,u.name);return u.match=o(t)},literal:function(e){var u=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},class:function(e){var u=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},any:u});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n1?f(SOMETIMES_MATCH,[op$1.IF_ERROR],A([op$1.POP],e(u.slice(1),t)),[]):[])}(e.alternatives,u)},action:function(e,u){var t=p(u.env),r="sequence"!==e.expression.type||0===e.expression.elements.length,n=_(e.expression,{sp:u.sp+(r?1:0),env:t,action:e}),o=0|e.expression.match,a=r&&o!==NEVER_MATCH?c(!1,Object.keys(t),e):null;return r?A([op$1.PUSH_CURR_POS],n,f(o,[op$1.IF_NOT_ERROR],A([op$1.LOAD_SAVED_POS,1],E(a,1,t,u.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,u){return A([op$1.PUSH_CURR_POS],function u(t,r){if(t.length>0){var n=e.elements.length-t.length+1;return A(_(t[0],{sp:r.sp,env:r.env,pluck:r.pluck,action:null}),f(0|t[0].match,[op$1.IF_NOT_ERROR],u(t.slice(1),{sp:r.sp+1,env:r.env,pluck:r.pluck,action:r.action}),A(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(r.pluck.length>0)return A([op$1.PLUCK,e.elements.length+1,r.pluck.length],r.pluck.map((function(e){return r.sp-e})));if(r.action){var o=c(!1,Object.keys(r.env),r.action);return A([op$1.LOAD_SAVED_POS,e.elements.length],E(o,e.elements.length+1,r.env,r.sp))}return A([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:u.sp+1,env:u.env,pluck:[],action:u.action}))},labeled:function(e,t){var r=t.env,n=e.label,o=t.sp+1;n&&(r=p(t.env),t.env[e.label]=o),e.pick&&t.pluck.push(o);var a=_(e.expression,{sp:t.sp,env:r,action:null});return n&&e.labelLocation&&u&&"source-and-map"===u.output?A([op$1.SOURCE_MAP_LABEL_PUSH,o,i(n),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,o]):a},text:function(e,u){return A([op$1.PUSH_CURR_POS],_(e.expression,{sp:u.sp+1,env:p(u.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,u){return h(e.expression,!1,u)},simple_not:function(e,u){return h(e.expression,!0,u)},optional:function(e,u){return A(_(e.expression,{sp:u.sp,env:p(u.env),action:null}),f(-(0|e.expression.match),[op$1.IF_ERROR],A([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,C(t),[op$1.POP])},one_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,f(0|e.expression.match,[op$1.IF_NOT_ERROR],A(C(t),[op$1.POP]),A([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,u){var t=e.min?e.min:e.max,r="constant"!==t.type||t.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=r?2:1,a=e.min?g(e.min,u.env,u.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:u.sp},i=g(e.max,u.env,a.sp,o),s=_(e.expression,{sp:i.sp+o,env:p(u.env),action:null}),c=null!==e.delimiter?_(e.expression,{sp:i.sp+o+1,env:p(u.env),action:null}):s,l=function(e,u,t,r,n){return e?A([op$1.PUSH_CURR_POS],_(e,{sp:r.sp+n+1,env:p(r.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],t,f(-u,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):t}(e.delimiter,0|e.expression.match,c,u,o),E=m(l,e.max),h=n?m(s,e.max):s,d=A(r?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],h,C(E),[op$1.POP]);return A(a.pre,i.pre,r?function(e,u){var t="constant"===u.type?[op$1.IF_LT,u.value]:[op$1.IF_LT_DYNAMIC,u.sp];return A(e,f(SOMETIMES_MATCH,t,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(d,t):d,i.post,a.post)},group:function(e,u){return _(e.expression,{sp:u.sp,env:p(u.env),action:null})},semantic_and:function(e,u){return d(e,!1,u)},semantic_not:function(e,u){return d(e,!0,u)},rule_ref:function(u){return[op$1.RULE,asts$5.indexOfRule(e,u.name)]},literal:function(e){if(e.value.length>0){var u=0|e.match,t=u===SOMETIMES_MATCH||u===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,r=u!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return f(u,e.ignoreCase?[op$1.MATCH_STRING_IC,t]:[op$1.MATCH_STRING,t],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,t],[op$1.FAIL,r])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var u=0|e.match,t=u===SOMETIMES_MATCH?function(e){var u={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},t=JSON.stringify(u),n=r.findIndex((function(e){return JSON.stringify(e)===t}));return-1===n?r.push(u)-1:n}(e):null,n=u!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return f(u,[op$1.MATCH_CHAR_CLASS,t],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var u=0|e.match,t=u!==ALWAYS_MATCH?s({type:"any"}):null;return f(u,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,t])}},u&&"source-and-map"===u.output&&Object.entries(F).forEach((function(e){var u=e[0],t=e[1];F[u]=function(e){for(var u=[],r=1;r>>=VLQ_BASE_SHIFT,r>0&&(u|=VLQ_CONTINUATION_BIT),t+=base64$2.encode(u)}while(r>0);return t};var util$3={};function getArg(e,u,t){if(u in e)return e[u];if(3===arguments.length)return t;throw new Error('"'+u+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const u=e.length;if(u<9)return!1;if(95!==e.charCodeAt(u-1)||95!==e.charCodeAt(u-2)||111!==e.charCodeAt(u-3)||116!==e.charCodeAt(u-4)||111!==e.charCodeAt(u-5)||114!==e.charCodeAt(u-6)||112!==e.charCodeAt(u-7)||95!==e.charCodeAt(u-8)||95!==e.charCodeAt(u-9))return!1;for(let t=u-10;t>=0;t--)if(36!==e.charCodeAt(t))return!1;return!0}function strcmp(e,u){return e===u?0:null===e?1:null===u?-1:e>u?1:-1}function compareByGeneratedPositionsInflated(e,u){let t=e.generatedLine-u.generatedLine;return 0!==t?t:(t=e.generatedColumn-u.generatedColumn,0!==t?t:(t=strcmp(e.source,u.source),0!==t?t:(t=e.originalLine-u.originalLine,0!==t?t:(t=e.originalColumn-u.originalColumn,0!==t?t:strcmp(e.name,u.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return u=>{const t=getURLType(u),r=buildSafeBase(u),n=new URL(u,r);e(n);const o=n.toString();return"absolute"===t?o:"scheme-relative"===t?o.slice(PROTOCOL.length):"path-absolute"===t?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(r,o)}}function withBase(e,u){return new URL(e,u).toString()}function buildUniqueSegment(e,u){let t=0;for(;;){const r=e+t++;if(-1===u.indexOf(r))return r}}function buildSafeBase(e){const u=e.split("..").length-1,t=buildUniqueSegment("p",e);let r=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!r[r.length-1]&&r.pop();t.length>0&&r.length>0&&t[0]===r[0];)t.shift(),r.shift();return r.map((()=>"..")).concat(t).join("/")+u.search+u.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,u){const t=getURLType(u),r=getURLType(e);if(e=ensureDirectory(e),"absolute"===t)return withBase(u,void 0);if("absolute"===r)return withBase(u,e);if("scheme-relative"===t)return normalize(u);if("scheme-relative"===r)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===t)return normalize(u);if("path-absolute"===r)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(u+e);return computeRelativeURL(n,withBase(u,withBase(e,n)))}function relative(e,u){const t=relativeIfPossible(e,u);return"string"==typeof t?t:normalize(u)}function relativeIfPossible(e,u){if(getURLType(e)!==getURLType(u))return null;const t=buildSafeBase(e+u),r=new URL(e,t),n=new URL(u,t);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==r.protocol||n.user!==r.user||n.password!==r.password||n.hostname!==r.hostname||n.port!==r.port?null:computeRelativeURL(r,n)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(u,t){const r=new e;for(let e=0,n=u.length;e=0)return u;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&et||r==t&&o>=n||util$2.compareByGeneratedPositionsInflated(e,u)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,u){this._array.forEach(e,u)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(u){const t=u.sourceRoot,r=new e({file:u.file,sourceRoot:t});return u.eachMapping((function(e){const u={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(u.source=e.source,null!=t&&(u.source=util$1.relative(t,u.source)),u.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(u.name=e.name)),r.addMapping(u)})),u.sources.forEach((function(e){let n=e;null!=t&&(n=util$1.relative(t,e)),r._sources.has(n)||r._sources.add(n);const o=u.sourceContentFor(e);null!=o&&r.setSourceContent(e,o)})),r}addMapping(e){const u=util$1.getArg(e,"generated"),t=util$1.getArg(e,"original",null);let r=util$1.getArg(e,"source",null),n=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(u,t,r,n),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:u.line,generatedColumn:u.column,originalLine:t&&t.line,originalColumn:t&&t.column,source:r,name:n})}setSourceContent(e,u){let t=e;null!=this._sourceRoot&&(t=util$1.relative(this._sourceRoot,t)),null!=u?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(t)]=u):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(t)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,u,t){let r=u;if(null==u){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}const n=this._sourceRoot;null!=n&&(r=util$1.relative(n,r));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(u){if(u.source===r&&null!=u.originalLine){const r=e.originalPositionFor({line:u.originalLine,column:u.originalColumn});null!=r.source&&(u.source=r.source,null!=t&&(u.source=util$1.join(t,u.source)),null!=n&&(u.source=util$1.relative(n,u.source)),u.originalLine=r.line,u.originalColumn=r.column,null!=r.name&&(u.name=r.name))}const i=u.source;null==i||o.has(i)||o.add(i);const s=u.name;null==s||a.has(s)||a.add(s)}),this),this._sources=o,this._names=a,e.sources.forEach((function(u){const r=e.sourceContentFor(u);null!=r&&(null!=t&&(u=util$1.join(t,u)),null!=n&&(u=util$1.relative(n,u)),this.setSourceContent(u,r))}),this)}_validateMapping(e,u,t,r){if(u&&"number"!=typeof u.line&&"number"!=typeof u.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!u&&!t&&!r);else if(!(e&&"line"in e&&"column"in e&&u&&"line"in u&&"column"in u&&e.line>0&&e.column>=0&&u.line>0&&u.column>=0&&t))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:t,original:u,name:r}))}_serializeMappings(){let e,u,t,r,n=0,o=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let A=0,f=p.length;A0){if(!util$1.compareByGeneratedPositionsInflated(u,p[A-1]))continue;e+=","}e+=base64VLQ.encode(u.generatedColumn-n),n=u.generatedColumn,null!=u.source&&(r=this._sources.indexOf(u.source),e+=base64VLQ.encode(r-c),c=r,e+=base64VLQ.encode(u.originalLine-1-i),i=u.originalLine-1,e+=base64VLQ.encode(u.originalColumn-a),a=u.originalColumn,null!=u.name&&(t=this._names.indexOf(u.name),e+=base64VLQ.encode(t-s),s=t)),l+=e}return l}_generateSourcesContent(e,u){return e.map((function(e){if(!this._sourcesContents)return null;null!=u&&(e=util$1.relative(u,e));const t=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,t)?this._sourcesContents[t]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,u,t,r,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==u?null:u,this.source=null==t?null:t,this.name=null==n?null:n,this[isSourceNode]=!0,null!=r&&this.add(r)}static fromStringWithSourceMap(u,t,r){const n=new e,o=u.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;u--)this.prepend(e[u]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let u;for(let t=0,r=this.children.length;t0){for(u=[],t=0;t' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.prototype.sourceNode=function(e,u,t){var r=GrammarLocation$2.offsetStart(e);return new SourceNode$1(r.line,r.column?r.column-1:null,String(e.source),u,t)},e.prototype.push=function(e){++this.sp>this.maxSp&&(this.maxSp=this.sp);var u=this.labels[this.sp],t=[this.name(this.sp)," = ",e,";"];if(u){if(this.sourceMapStack.length){var r=this.sourceNode(u.location,t.splice(0,2),u.label),n=this.sourceMapPopInternal(),o=n.parts,a=n.location,i=a.start.offsetu.end.offset&&(t[2]={start:u.end,end:t[2].end,source:t[2].source})}this.sourceMapStack.push([e,e.length,u])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),u=e[0],t=e[1],r=e[2],n=u.splice(t).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(n.length){var o=GrammarLocation$2.offsetStart(r);u.push(new SourceNode$1(o.line,o.column-1,String(r.source),n))}return{parts:u,location:r}},e.prototype.sourceMapPop=function(e){var u=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&u.end.offset>2],n+=u[(3&e[o])<<4|e[o+1]>>4],n+=u[(15&e[o+1])<<2|e[o+2]>>6],n+=u[63&e[o+2]];return 1===t?(n+=u[e[r]>>2],n+=u[(3&e[r])<<4],n+="=="):2===t&&(n+=u[e[r]>>2],n+=u[(3&e[r])<<4|e[r+1]>>4],n+=u[(15&e[r+1])<<2],n+="="),n}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(u.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var t=Object.keys(u.dependencies),n=r();return n.push(""),t.length>0&&(t.forEach((function(e){n.push("import "+e+' from "'+stringEscape(u.dependencies[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",u.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var o=Object.keys(u.dependencies),a="["+o.map((function(e){return u.dependencies[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=o.join(", ");return __spreadArray$1(__spreadArray$1([],r(),!0),["define("+a+", function("+i+") {",' "use strict";',"",e,"",t("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$1(__spreadArray$1([],r(),!0),["(function(root) {",' "use strict";',"",e,"",t("root."+u.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(u.dependencies),a=o.map((function(e){return u.dependencies[e]})),i="["+a.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",s=a.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),c=o.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+i+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+s+");"),null!==u.exportVar&&l.push(" } else {"," root."+u.exportVar+" = factory();"),l.push(" }","})(this, function("+c+") {",' "use strict";',"",e,"",t("return "+n()+";"),"});"),l}}[u.format]();return new SourceNode(null,null,u.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var c=[];e.topLevelInitializer&&(c.push(s(e.topLevelInitializer)),c.push("")),c.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),u.trace&&c.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var l="{ "+u.allowedStartRules.map((function(e){return e+": "+i(e)})).join(", ")+" }",p=i(u.allowedStartRules[0]);return c.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+l+";"," var peg$startRuleFunction = "+p+";","",new SourceNode(null,null,u.grammarSource,[e.literals.map((function(e,u){return" var "+r(u)+' = "'+stringEscape(e)+'";'})).concat("",e.classes.map((function(e,u){return" var "+n(u)+" = /^["+((t=e).inverted?"^":"")+t.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(t.ignoreCase?"i":"")+";";var t}))).concat("",e.expectations.map((function(e,u){return" var "+o(u)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n"),e.functions.map((function(e,u){return wrapInSourceNode("\n var ".concat(a(u)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),u.cache&&c.push(" var peg$resultsCache = {};",""),u.trace&&c.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),c.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(s){c.push.apply(c,t(function(s){var c=[],l=new Stack(s.name,"s","var",s.bytecode),p=function u(c){var p,A=0,f=c.length,E=[];function h(e,r){var n,o,a=r+3,i=c[A+a-2],s=c[A+a-1];l.checkedIf(A,(function(){A+=a,n=u(c.slice(A,A+i)),A+=i}),s>0?function(){o=u(c.slice(A,A+s)),A+=s}:null),E.push("if ("+e+") {"),E.push.apply(E,t(n)),s>0&&(E.push("} else {"),E.push.apply(E,t(o))),E.push("}")}function d(e){var r,n=c[A+2-1];l.checkedLoop(A,(function(){A+=2,r=u(c.slice(A,A+n)),A+=n})),E.push("while ("+e+") {"),E.push.apply(E,t(r)),E.push("}")}function C(e){var u=c[A+e-1];return a(c[A+1])+"("+c.slice(A+e,A+e+u).map((function(e){return l.index(e)})).join(", ")+")"}for(;A= "+c[A+1],1);break;case op.IF_LT_DYNAMIC:h(l.top()+".length < "+l.index(c[A+1])+"|0",1);break;case op.IF_GE_DYNAMIC:h(l.top()+".length >= "+l.index(c[A+1])+"|0",1);break;case op.WHILE_NOT_ERROR:d(l.top()+" !== peg$FAILED");break;case op.MATCH_ANY:h("input.length > peg$currPos",0);break;case op.MATCH_STRING:h(e.literals[c[A+1]].length>1?"input.substr(peg$currPos, "+e.literals[c[A+1]].length+") === "+r(c[A+1]):"input.charCodeAt(peg$currPos) === "+e.literals[c[A+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:h("input.substr(peg$currPos, "+e.literals[c[A+1]].length+").toLowerCase() === "+r(c[A+1]),1);break;case op.MATCH_CHAR_CLASS:h(n(c[A+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:E.push(l.push(c[A+1]>1?"input.substr(peg$currPos, "+c[A+1]+")":"input.charAt(peg$currPos)")),E.push(c[A+1]>1?"peg$currPos += "+c[A+1]+";":"peg$currPos++;"),A+=2;break;case op.ACCEPT_STRING:E.push(l.push(r(c[A+1]))),E.push(e.literals[c[A+1]].length>1?"peg$currPos += "+e.literals[c[A+1]].length+";":"peg$currPos++;"),A+=2;break;case op.FAIL:E.push(l.push("peg$FAILED")),E.push("if (peg$silentFails === 0) { peg$fail("+o(c[A+1])+"); }"),A+=2;break;case op.LOAD_SAVED_POS:E.push("peg$savedPos = "+l.index(c[A+1])+";"),A+=2;break;case op.UPDATE_SAVED_POS:E.push("peg$savedPos = peg$currPos;"),A++;break;case op.CALL:p=C(4),l.pop(c[A+2]),E.push(l.push(p)),A+=4+c[A+3];break;case op.RULE:E.push(l.push(i(e.rules[c[A+1]].name)+"()")),A+=2;break;case op.SILENT_FAILS_ON:E.push("peg$silentFails++;"),A++;break;case op.SILENT_FAILS_OFF:E.push("peg$silentFails--;"),A++;break;case op.SOURCE_MAP_PUSH:l.sourceMapPush(E,e.locations[c[A+1]]),A+=2;break;case op.SOURCE_MAP_POP:l.sourceMapPop(),A++;break;case op.SOURCE_MAP_LABEL_PUSH:l.labels[c[A+1]]={label:e.literals[c[A+2]],location:e.locations[c[A+3]]},A+=4;break;case op.SOURCE_MAP_LABEL_POP:delete l.labels[c[A+1]],A+=2;break;default:throw new Error("Invalid opcode: "+c[A]+".",{rule:s.name,bytecode:c})}return E}(s.bytecode);return c.push(wrapInSourceNode("function ",i(s.name),s.nameLocation,"() {\n",s.name)),u.trace&&c.push(" var startPos = peg$currPos;"),c.push(t(l.defines())),c.push.apply(c,t(function(t,r){var n=[];return n.push(""),u.trace&&n.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)","});",""),u.cache&&(n.push("var key = peg$currPos * "+e.rules.length+" + "+r+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),u.trace&&n.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+t+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),n.push(" return cached.result;","}","")),n}('"'+stringEscape(s.name)+'"',asts$4.indexOfRule(e,s.name)))),c.push.apply(c,t(p)),c.push.apply(c,t(function(e,t){var r=[];return u.cache&&r.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+t+" };"),u.trace&&r.push("","if ("+t+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+t+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),r.push("","return "+t+";"),r}('"'+stringEscape(s.name)+'"',l.result()))),c.push("}"),c}(s))),c.push("")})),e.initializer&&(c.push(s(e.initializer)),c.push("")),c.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode(null,null,u.grammarSource,c.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$7=visitor_1;function removeProxyRules$1(e,u,t){var r=[];e.rules.forEach((function(n,o){var a;"rule"===(a=n).type&&"rule_ref"===a.expression.type&&(function(e,u,r){visitor$7.build({rule_ref:function(n){n.name===u&&(n.name=r,t.info('Proxy rule "'.concat(u,'" replaced by the rule "').concat(r,'"'),n.location,[{message:"This rule will be used",location:asts$3.findRule(e,r).nameLocation}]))}})(e)}(e,n.name,n.expression.name),-1===u.allowedStartRules.indexOf(n.name)&&r.push(o))})),r.reverse(),r.forEach((function(u){e.rules.splice(u,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,u,t){function r(e){var u={};return Object.keys(e).forEach((function(t){u[t]=e[t]})),u}function n(e,u){o(e.expression,r(u))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,u){e.alternatives.forEach((function(e){o(e,r(u))}))},action:n,labeled:function(e,u){var r=e.label;r&&Object.prototype.hasOwnProperty.call(u,r)&&t.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:u[r]}]),o(e.expression,u),u[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,u){e.delimiter&&o(e.delimiter,r(u)),o(e.expression,r(u))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,u,t){var r={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(r,e.name)?t.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:r[e.name]}]):r[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,u,t){var r=[],n=[],o=visitor$4.build({rule:function(e){r.push(e.name),o(e.expression),r.pop()},sequence:function(u){u.elements.every((function(u){return o(u),!asts$2.alwaysConsumesOnSuccess(e,u)}))},repeated:function(u){o(u.expression),u.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,u.expression)&&o(u.delimiter)},rule_ref:function(u){n.push(u);var a=asts$2.findRule(e,u.name);if(-1!==r.indexOf(u.name))return r.push(u.name),void t.error("Possible infinite loop when parsing (left recursion: "+r.join(" -> ")+")",a.nameLocation,n.map((function(e,u,t){return{message:u+1!==t.length?"Step ".concat(u+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(u+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&o(a),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,u,t){var r=visitor$3.build({zero_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},one_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},repeated:function(u){if(u.delimiter&&r(u.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,u.expression)||u.delimiter&&asts$1.alwaysConsumesOnSuccess(e,u.delimiter)))if(null===u.max.value)t.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",u.location);else{var n=u.min?u.min:u.max;t.warning("constant"===n.type&&"constant"===u.max.type?"An expression may not consume any input and may always match ".concat(u.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",u.location)}}});r(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,u,t){visitor$2.build({rule_ref:function(u){asts.findRule(e,u.name)||t.error('Rule "'.concat(u.name,'" is not defined'),u.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,u,t){var r=visitor$1.build({action:function(e){r(e.expression,e)},labeled:function(e,u){e.pick&&u&&t.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:u.codeLocation}]),r(e.expression)}});r(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(u){session.info("Process pass ".concat(e,".").concat(u.name)),u(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,u){function t(){this.constructor=e}t.prototype=u.prototype,e.prototype=new t}function peg$SyntaxError(e,u,t,r){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=u,n.found=t,n.location=r,n.name="SyntaxError",n}function peg$padEnd(e,u,t){return t=t||" ",e.length>u?e:(u-=e.length,e+(t+=t.repeat(u)).slice(0,u))}function peg$parse(e,u){var t,r={},n=(u=void 0!==u?u:{}).grammarSource,o={Grammar:Yt},a=Yt,i="{",s="}",c="=",l="/",p="@",A=":",f="$",E="&",h="!",d="?",C="*",g="+",m="|",F=",",_="..",v="(",B=")",D="\t",$="\v",S="\f",y=" ",P=" ",x="\ufeff",b="\n",R="\r\n",O="\r",L="\u2028",M="\u2029",T="/*",I="*/",w="//",N="_",k="\\",H="",U="",j="i",G='"',V="'",Y="[",W="^",z="]",J="-",Q="0",q="b",X="f",K="n",Z="r",ee="t",ue="v",te="x",re="u",ne=".",oe=";",ae=/^[\n\r\u2028\u2029]/,ie=/^[0-9]/,se=/^[0-9a-f]/i,ce=/^[{}]/,le=/^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,pe=/^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,Ae=/^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,fe=/^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,Ee=/^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,he=/^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,de=/^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,Ce=/^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,ge=/^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,me=/^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,Fe=/^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,_e=kt("{",!1),ve=kt("}",!1),Be=kt("=",!1),De=kt("/",!1),$e=kt("@",!1),Se=kt(":",!1),ye=kt("$",!1),Pe=kt("&",!1),xe=kt("!",!1),be=kt("?",!1),Re=kt("*",!1),Oe=kt("+",!1),Le=kt("|",!1),Me=kt(",",!1),Te=kt("..",!1),Ie=kt("(",!1),we=kt(")",!1),Ne={type:"any"},ke=Ut("whitespace"),He=kt("\t",!1),Ue=kt("\v",!1),je=kt("\f",!1),Ge=kt(" ",!1),Ve=kt(" ",!1),Ye=kt("\ufeff",!1),We=Ht(["\n","\r","\u2028","\u2029"],!1,!1),ze=Ut("end of line"),Je=kt("\n",!1),Qe=kt("\r\n",!1),qe=kt("\r",!1),Xe=kt("\u2028",!1),Ke=kt("\u2029",!1),Ze=Ut("comment"),eu=kt("/*",!1),uu=kt("*/",!1),tu=kt("//",!1),ru=Ut("identifier"),nu=kt("_",!1),ou=kt("\\",!1),au=kt("",!1),iu=kt("",!1),su=Ut("literal"),cu=kt("i",!1),lu=Ut("string"),pu=kt('"',!1),Au=kt("'",!1),fu=Ut("character class"),Eu=kt("[",!1),hu=kt("^",!1),du=kt("]",!1),Cu=kt("-",!1),gu=kt("0",!1),mu=kt("b",!1),Fu=kt("f",!1),_u=kt("n",!1),vu=kt("r",!1),Bu=kt("t",!1),Du=kt("v",!1),$u=kt("x",!1),Su=kt("u",!1),yu=Ht([["0","9"]],!1,!1),Pu=Ht([["0","9"],["a","f"]],!1,!0),xu=kt(".",!1),bu=Ut("code block"),Ru=Ht(["{","}"],!1,!1),Ou=Ht([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ա","և"],["ᏸ","ᏽ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱞ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞵ","ꞷ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭥ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Lu=Ht([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ー",["゙","゚"]],!1,!1),Mu=Ht(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["װ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ა","ჺ"],["ჽ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Tu=Ht(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Iu=Ht([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱞ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɬ"],["Ʞ","Ꞵ"],"Ꞷ",["A","Z"]],!1,!1),wu=Ht(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡",["ᳲ","ᳳ"],["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦽ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),Nu=Ht([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],"ଁ","଼","ି",["ୁ","ୄ"],"୍","ୖ",["ୢ","ୣ"],"ஂ","ீ","்","ఀ",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],"ഁ",["ു","ൄ"],"്",["ൢ","ൣ"],"්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꣄",["꣠","꣱"],["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],"ꦼ","ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),ku=Ht([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),Hu=Ht([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Uu=Ht(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),ju=Ht([" "," "," ",[" "," "]," "," "," "],!1,!1),Gu=kt(";",!1),Vu=function(e,u,t){return{type:"grammar",topLevelInitializer:e,initializer:u,rules:t,location:wt()}},Yu=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:wt()}},Wu=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:wt()}},zu=function(e,u,t){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==u?{type:"named",name:u,expression:t,location:wt()}:t,location:wt()}},Ju=function(e,u){return u.length>0?{type:"choice",alternatives:[e].concat(u),location:wt()}:e},Qu=function(e,u){return null!==u?{type:"action",expression:e,code:u[0],codeLocation:u[1],location:wt()}:e},qu=function(e,u){return u.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(u),location:wt()}:e},Xu=function(e,u,t){return t.type.startsWith("semantic_")&&Nt('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==u?u[0]:null,labelLocation:null!==u?u[1]:e,pick:!0,expression:t,location:wt()}},Ku=function(e,u){return{type:"labeled",label:e[0],labelLocation:e[1],expression:u,location:wt()}},Zu=function(){return wt()},et=function(e){return Sr.indexOf(e[0])>=0&&Nt("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},ut=function(e,u){return{type:OPS_TO_PREFIXED_TYPES[e],expression:u,location:wt()}},tt=function(e,u){return{type:OPS_TO_SUFFIXED_TYPES[u],expression:e,location:wt()}},rt=function(e,u,t){var r=u[0],n=u[1];return"constant"===n.type&&0===n.value&&Nt("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:r,max:n,expression:e,delimiter:t,location:wt()}},nt=function(e,u){return[null!==e?e:{type:"constant",value:0},null!==u?u:{type:"constant",value:null}]},ot=function(e){return[null,e]},at=function(e){return{type:"constant",value:e,location:wt()}},it=function(e){return{type:"variable",value:e[0],location:wt()}},st=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:wt()}},ct=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:wt()}:e},lt=function(e){return{type:"rule_ref",name:e[0],location:wt()}},pt=function(e,u){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:u[0],codeLocation:u[1],location:wt()}},At=function(e,u){return[e+u.join(""),wt()]},ft=function(e,u){return{type:"literal",value:e,ignoreCase:null!==u,location:wt()}},Et=function(e){return e.join("")},ht=function(e){return e.join("")},dt=function(e,u,t){return{type:"class",parts:u.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==t,location:wt()}},Ct=function(u,t){return u.charCodeAt(0)>t.charCodeAt(0)&&Nt("Invalid character range: "+e.substring(Ot,Rt)+"."),[u,t]},gt=function(){return""},mt=function(){return"\0"},Ft=function(){return"\b"},_t=function(){return"\f"},vt=function(){return"\n"},Bt=function(){return"\r"},Dt=function(){return"\t"},$t=function(){return"\v"},St=function(e){return String.fromCharCode(parseInt(e,16))},yt=function(e){return String.fromCharCode(parseInt(e,16))},Pt=function(){return{type:"any",location:wt()}},xt=function(e){return[e,wt()]},bt=function(e){return parseInt(e,10)},Rt=0,Ot=0,Lt=[{line:1,column:1}],Mt=0,Tt=[],It=0;if("startRule"in u){if(!(u.startRule in o))throw new Error("Can't start parsing from rule \""+u.startRule+'".');a=o[u.startRule]}function wt(){return Gt(Ot,Rt)}function Nt(e,u){throw function(e,u){return new peg$SyntaxError(e,null,null,u)}(e,u=void 0!==u?u:Gt(Ot,Rt))}function kt(e,u){return{type:"literal",text:e,ignoreCase:u}}function Ht(e,u,t){return{type:"class",parts:e,inverted:u,ignoreCase:t}}function Ut(e){return{type:"other",description:e}}function jt(u){var t,r=Lt[u];if(r)return r;for(t=u-1;!Lt[t];)t--;for(r={line:(r=Lt[t]).line,column:r.column};tMt&&(Mt=Rt,Tt=[]),Tt.push(e))}function Yt(){var u,t,n,o,a,c;if(u=Rt,Dr(),t=Rt,n=function(){var u,t,n,o;return u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=r,0===It&&Vt(_e)),t!==r&&(n=vr())!==r?(125===e.charCodeAt(Rt)?(o=s,Rt++):(o=r,0===It&&Vt(ve)),o!==r&&$r()!==r?(Ot=u,u=Yu(n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),n!==r?(o=Dr(),t=n):(Rt=t,t=r),t===r&&(t=null),n=Rt,o=function(){var e,u;return e=Rt,(u=vr())!==r&&$r()!==r?(Ot=e,e=Wu(u)):(Rt=e,e=r),e}(),o!==r?(a=Dr(),n=o):(Rt=n,n=r),n===r&&(n=null),o=[],a=Rt,(c=Wt())!==r?(Dr(),a=c):(Rt=a,a=r),a!==r)for(;a!==r;)o.push(a),a=Rt,(c=Wt())!==r?(Dr(),a=c):(Rt=a,a=r);else o=r;return o!==r?(Ot=u,u=Vu(t,n,o)):(Rt=u,u=r),u}function Wt(){var u,t,n,o,a;return u=Rt,(t=sr())!==r?(Dr(),n=Rt,(o=pr())!==r?(Dr(),n=o):(Rt=n,n=r),n===r&&(n=null),61===e.charCodeAt(Rt)?(o=c,Rt++):(o=r,0===It&&Vt(Be)),o!==r?(Dr(),(a=zt())!==r&&$r()!==r?(Ot=u,u=zu(t,n,a)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r),u}function zt(){var u,t,n,o,a,i;if(u=Rt,(t=Jt())!==r){for(n=[],o=Rt,Dr(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=r,0===It&&Vt(De)),a!==r?(Dr(),(i=Jt())!==r?o=i:(Rt=o,o=r)):(Rt=o,o=r);o!==r;)n.push(o),o=Rt,Dr(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=r,0===It&&Vt(De)),a!==r?(Dr(),(i=Jt())!==r?o=i:(Rt=o,o=r)):(Rt=o,o=r);Ot=u,u=Ju(t,n)}else Rt=u,u=r;return u}function Jt(){var e,u,t,n;return e=Rt,u=function(){var e,u,t,n,o;if(e=Rt,(u=Qt())!==r){for(t=[],n=Rt,Dr(),(o=Qt())!==r?n=o:(Rt=n,n=r);n!==r;)t.push(n),n=Rt,Dr(),(o=Qt())!==r?n=o:(Rt=n,n=r);Ot=e,e=qu(u,t)}else Rt=e,e=r;return e}(),u!==r?(t=Rt,Dr(),(n=vr())!==r?t=n:(Rt=t,t=r),t===r&&(t=null),Ot=e,e=Qu(u,t)):(Rt=e,e=r),e}function Qt(){var u,t,n,o;return u=Rt,t=function(){var u,t;return u=Rt,64===e.charCodeAt(Rt)?(t=p,Rt++):(t=r,0===It&&Vt($e)),t!==r&&(Ot=u,t=Zu()),u=t}(),t!==r?((n=qt())===r&&(n=null),(o=Xt())!==r?(Ot=u,u=Xu(t,n,o)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Rt,(t=qt())!==r?(n=Dr(),(o=Xt())!==r?(Ot=u,u=Ku(t,o)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Xt())),u}function qt(){var u,t,n;return u=Rt,(t=sr())!==r?(Dr(),58===e.charCodeAt(Rt)?(n=A,Rt++):(n=r,0===It&&Vt(Se)),n!==r?(Ot=u,u=et(t)):(Rt=u,u=r)):(Rt=u,u=r),u}function Xt(){var u,t,n;return u=Rt,t=function(){var u;return 36===e.charCodeAt(Rt)?(u=f,Rt++):(u=r,0===It&&Vt(ye)),u===r&&(38===e.charCodeAt(Rt)?(u=E,Rt++):(u=r,0===It&&Vt(Pe)),u===r&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=r,0===It&&Vt(xe)))),u}(),t!==r?(Dr(),(n=Kt())!==r?(Ot=u,u=ut(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Kt()),u}function Kt(){var u,t,n;return u=Rt,(t=er())!==r?(Dr(),n=function(){var u;return 63===e.charCodeAt(Rt)?(u=d,Rt++):(u=r,0===It&&Vt(be)),u===r&&(42===e.charCodeAt(Rt)?(u=C,Rt++):(u=r,0===It&&Vt(Re)),u===r&&(43===e.charCodeAt(Rt)?(u=g,Rt++):(u=r,0===It&&Vt(Oe)))),u}(),n!==r?(Ot=u,u=tt(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=function(){var u,t,n,o,a,i,s;return u=Rt,(t=er())!==r?(Dr(),124===e.charCodeAt(Rt)?(n=m,Rt++):(n=r,0===It&&Vt(Le)),n!==r?(Dr(),o=function(){var u,t,n,o;return u=Rt,(t=Zt())===r&&(t=null),Dr(),e.substr(Rt,2)===_?(n=_,Rt+=2):(n=r,0===It&&Vt(Te)),n!==r?(Dr(),(o=Zt())===r&&(o=null),Ot=u,u=nt(t,o)):(Rt=u,u=r),u===r&&(u=Rt,(t=Zt())!==r&&(Ot=u,t=ot(t)),u=t),u}(),o!==r?(Dr(),a=Rt,44===e.charCodeAt(Rt)?(i=F,Rt++):(i=r,0===It&&Vt(Me)),i!==r?(Dr(),(s=zt())!==r?(Dr(),a=s):(Rt=a,a=r)):(Rt=a,a=r),a===r&&(a=null),124===e.charCodeAt(Rt)?(i=m,Rt++):(i=r,0===It&&Vt(Le)),i!==r?(Ot=u,u=rt(t,o,a)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=er())),u}function Zt(){var u,t;return u=Rt,t=function(){var u,t,n,o;if(u=Rt,t=Rt,n=[],(o=Fr())!==r)for(;o!==r;)n.push(o),o=Fr();else n=r;return(t=n!==r?e.substring(t,Rt):n)!==r&&(Ot=u,t=bt(t)),u=t}(),t!==r&&(Ot=u,t=at(t)),(u=t)===r&&(u=Rt,(t=sr())!==r&&(Ot=u,t=it(t)),(u=t)===r&&(u=Rt,(t=vr())!==r&&(Ot=u,t=st(t)),u=t)),u}function er(){var u,t,n,o;return u=function(){var u,t,n;return It++,u=Rt,(t=pr())!==r?(105===e.charCodeAt(Rt)?(n=j,Rt++):(n=r,0===It&&Vt(cu)),n===r&&(n=null),Ot=u,u=ft(t,n)):(Rt=u,u=r),It--,u===r&&(t=r,0===It&&Vt(su)),u}(),u===r&&(u=function(){var u,t,n,o,a,i;if(It++,u=Rt,91===e.charCodeAt(Rt)?(t=Y,Rt++):(t=r,0===It&&Vt(Eu)),t!==r){for(94===e.charCodeAt(Rt)?(n=W,Rt++):(n=r,0===It&&Vt(hu)),n===r&&(n=null),o=[],(a=Er())===r&&(a=hr());a!==r;)o.push(a),(a=Er())===r&&(a=hr());93===e.charCodeAt(Rt)?(a=z,Rt++):(a=r,0===It&&Vt(du)),a!==r?(105===e.charCodeAt(Rt)?(i=j,Rt++):(i=r,0===It&&Vt(cu)),i===r&&(i=null),Ot=u,u=dt(n,o,i)):(Rt=u,u=r)}else Rt=u,u=r;return It--,u===r&&(t=r,0===It&&Vt(fu)),u}(),u===r&&(u=function(){var u,t;return u=Rt,46===e.charCodeAt(Rt)?(t=ne,Rt++):(t=r,0===It&&Vt(xu)),t!==r&&(Ot=u,t=Pt()),u=t}(),u===r&&(u=function(){var u,t,n,o,a,i,s;return u=Rt,(t=sr())!==r?(n=Rt,It++,o=Rt,a=Dr(),i=Rt,(s=pr())!==r?i=s=[s,Dr()]:(Rt=i,i=r),i===r&&(i=null),61===e.charCodeAt(Rt)?(s=c,Rt++):(s=r,0===It&&Vt(Be)),s!==r?o=a=[a,i,s]:(Rt=o,o=r),It--,o===r?n=void 0:(Rt=n,n=r),n!==r?(Ot=u,u=lt(t)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=function(){var u,t,n;return u=Rt,t=function(){var u;return 38===e.charCodeAt(Rt)?(u=E,Rt++):(u=r,0===It&&Vt(Pe)),u===r&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=r,0===It&&Vt(xe))),u}(),t!==r?(Dr(),(n=vr())!==r?(Ot=u,u=pt(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=Rt,40===e.charCodeAt(Rt)?(t=v,Rt++):(t=r,0===It&&Vt(Ie)),t!==r?(Dr(),(n=zt())!==r?(Dr(),41===e.charCodeAt(Rt)?(o=B,Rt++):(o=r,0===It&&Vt(we)),o!==r?(Ot=u,u=ct(n)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r)))))),u}function ur(){var u;return e.length>Rt?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Ne)),u}function tr(){var u;return It++,9===e.charCodeAt(Rt)?(u=D,Rt++):(u=r,0===It&&Vt(He)),u===r&&(11===e.charCodeAt(Rt)?(u=$,Rt++):(u=r,0===It&&Vt(Ue)),u===r&&(12===e.charCodeAt(Rt)?(u=S,Rt++):(u=r,0===It&&Vt(je)),u===r&&(32===e.charCodeAt(Rt)?(u=y,Rt++):(u=r,0===It&&Vt(Ge)),u===r&&(160===e.charCodeAt(Rt)?(u=P,Rt++):(u=r,0===It&&Vt(Ve)),u===r&&(65279===e.charCodeAt(Rt)?(u=x,Rt++):(u=r,0===It&&Vt(Ye)),u===r&&(u=function(){var u;return Fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(ju)),u}())))))),It--,u===r&&0===It&&Vt(ke),u}function rr(){var u;return ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(We)),u}function nr(){var u;return It++,10===e.charCodeAt(Rt)?(u=b,Rt++):(u=r,0===It&&Vt(Je)),u===r&&(e.substr(Rt,2)===R?(u=R,Rt+=2):(u=r,0===It&&Vt(Qe)),u===r&&(13===e.charCodeAt(Rt)?(u=O,Rt++):(u=r,0===It&&Vt(qe)),u===r&&(8232===e.charCodeAt(Rt)?(u=L,Rt++):(u=r,0===It&&Vt(Xe)),u===r&&(8233===e.charCodeAt(Rt)?(u=M,Rt++):(u=r,0===It&&Vt(Ke)))))),It--,u===r&&0===It&&Vt(ze),u}function or(){var u;return It++,(u=function(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===T?(t=T,Rt+=2):(t=r,0===It&&Vt(eu)),t!==r){for(n=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=r,0===It&&Vt(uu)),o!==r?u=t=[t,n,o]:(Rt=u,u=r)}else Rt=u,u=r;return u}())===r&&(u=ir()),It--,u===r&&0===It&&Vt(Ze),u}function ar(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===T?(t=T,Rt+=2):(t=r,0===It&&Vt(eu)),t!==r){for(n=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),i===r&&(i=rr()),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),i===r&&(i=rr()),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=r,0===It&&Vt(uu)),o!==r?u=t=[t,n,o]:(Rt=u,u=r)}else Rt=u,u=r;return u}function ir(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===w?(t=w,Rt+=2):(t=r,0===It&&Vt(tu)),t!==r){for(n=[],o=Rt,a=Rt,It++,i=rr(),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,i=rr(),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);u=t=[t,n]}else Rt=u,u=r;return u}function sr(){var e,u,t,n;if(It++,e=Rt,(u=cr())!==r){for(t=[],n=lr();n!==r;)t.push(n),n=lr();Ot=e,e=At(u,t)}else Rt=e,e=r;return It--,e===r&&(u=r,0===It&&Vt(ru)),e}function cr(){var u,t,n;return(u=function(){var u;return(u=function(){var u;return Ee.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Iu)),u}())===r&&(u=function(){var u;return le.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Ou)),u}())===r&&(u=function(){var u;return fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Tu)),u}())===r&&(u=function(){var u;return pe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Lu)),u}())===r&&(u=function(){var u;return Ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Mu)),u}())===r&&(u=function(){var u;return ge.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Hu)),u}()),u}())===r&&(95===e.charCodeAt(Rt)?(u=N,Rt++):(u=r,0===It&&Vt(nu)),u===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=mr())!==r?u=n:(Rt=u,u=r))),u}function lr(){var u;return(u=cr())===r&&(36===e.charCodeAt(Rt)?(u=f,Rt++):(u=r,0===It&&Vt(ye)),u===r&&(u=function(){var u;return(u=function(){var u;return de.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Nu)),u}())===r&&(u=function(){var u;return he.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(wu)),u}()),u}())===r&&(u=function(){var u;return Ce.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(ku)),u}())===r&&(u=function(){var u;return me.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Uu)),u}())===r&&(8204===e.charCodeAt(Rt)?(u=H,Rt++):(u=r,0===It&&Vt(au)),u===r&&(8205===e.charCodeAt(Rt)?(u=U,Rt++):(u=r,0===It&&Vt(iu))))),u}function pr(){var u,t,n,o;if(It++,u=Rt,34===e.charCodeAt(Rt)?(t=G,Rt++):(t=r,0===It&&Vt(pu)),t!==r){for(n=[],o=Ar();o!==r;)n.push(o),o=Ar();34===e.charCodeAt(Rt)?(o=G,Rt++):(o=r,0===It&&Vt(pu)),o!==r?(Ot=u,u=Et(n)):(Rt=u,u=r)}else Rt=u,u=r;if(u===r)if(u=Rt,39===e.charCodeAt(Rt)?(t=V,Rt++):(t=r,0===It&&Vt(Au)),t!==r){for(n=[],o=fr();o!==r;)n.push(o),o=fr();39===e.charCodeAt(Rt)?(o=V,Rt++):(o=r,0===It&&Vt(Au)),o!==r?(Ot=u,u=ht(n)):(Rt=u,u=r)}else Rt=u,u=r;return It--,u===r&&(t=r,0===It&&Vt(lu)),u}function Ar(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,34===e.charCodeAt(Rt)?(o=G,Rt++):(o=r,0===It&&Vt(pu)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function fr(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,39===e.charCodeAt(Rt)?(o=V,Rt++):(o=r,0===It&&Vt(Au)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function Er(){var u,t,n,o;return u=Rt,(t=hr())!==r?(45===e.charCodeAt(Rt)?(n=J,Rt++):(n=r,0===It&&Vt(Cu)),n!==r&&(o=hr())!==r?(Ot=u,u=Ct(t,o)):(Rt=u,u=r)):(Rt=u,u=r),u}function hr(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,93===e.charCodeAt(Rt)?(o=z,Rt++):(o=r,0===It&&Vt(du)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function dr(){var u,t;return u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&nr()!==r?(Ot=u,u=gt()):(Rt=u,u=r),u}function Cr(){var u,t,n,o;return u=function(){var u;return(u=gr())===r&&(u=function(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,o=function(){var u;return(u=gr())===r&&(u=Fr())===r&&(120===e.charCodeAt(Rt)?(u=te,Rt++):(u=r,0===It&&Vt($u)),u===r&&(117===e.charCodeAt(Rt)?(u=re,Rt++):(u=r,0===It&&Vt(Su)))),u}(),o===r&&(o=rr()),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),u=t!==r?e.substring(u,Rt):t}()),u}(),u===r&&(u=Rt,48===e.charCodeAt(Rt)?(t=Q,Rt++):(t=r,0===It&&Vt(gu)),t!==r?(n=Rt,It++,o=Fr(),It--,o===r?n=void 0:(Rt=n,n=r),n!==r?(Ot=u,u=mt()):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=function(){var u,t,n,o,a,i;return u=Rt,120===e.charCodeAt(Rt)?(t=te,Rt++):(t=r,0===It&&Vt($u)),t!==r?(n=Rt,o=Rt,(a=_r())!==r&&(i=_r())!==r?o=a=[a,i]:(Rt=o,o=r),(n=o!==r?e.substring(n,Rt):o)!==r?(Ot=u,u=St(n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=mr()))),u}function gr(){var u,t;return 39===e.charCodeAt(Rt)?(u=V,Rt++):(u=r,0===It&&Vt(Au)),u===r&&(34===e.charCodeAt(Rt)?(u=G,Rt++):(u=r,0===It&&Vt(pu)),u===r&&(92===e.charCodeAt(Rt)?(u=k,Rt++):(u=r,0===It&&Vt(ou)),u===r&&(u=Rt,98===e.charCodeAt(Rt)?(t=q,Rt++):(t=r,0===It&&Vt(mu)),t!==r&&(Ot=u,t=Ft()),(u=t)===r&&(u=Rt,102===e.charCodeAt(Rt)?(t=X,Rt++):(t=r,0===It&&Vt(Fu)),t!==r&&(Ot=u,t=_t()),(u=t)===r&&(u=Rt,110===e.charCodeAt(Rt)?(t=K,Rt++):(t=r,0===It&&Vt(_u)),t!==r&&(Ot=u,t=vt()),(u=t)===r&&(u=Rt,114===e.charCodeAt(Rt)?(t=Z,Rt++):(t=r,0===It&&Vt(vu)),t!==r&&(Ot=u,t=Bt()),(u=t)===r&&(u=Rt,116===e.charCodeAt(Rt)?(t=ee,Rt++):(t=r,0===It&&Vt(Bu)),t!==r&&(Ot=u,t=Dt()),(u=t)===r&&(u=Rt,118===e.charCodeAt(Rt)?(t=ue,Rt++):(t=r,0===It&&Vt(Du)),t!==r&&(Ot=u,t=$t()),u=t)))))))),u}function mr(){var u,t,n,o,a,i,s,c;return u=Rt,117===e.charCodeAt(Rt)?(t=re,Rt++):(t=r,0===It&&Vt(Su)),t!==r?(n=Rt,o=Rt,(a=_r())!==r&&(i=_r())!==r&&(s=_r())!==r&&(c=_r())!==r?o=a=[a,i,s,c]:(Rt=o,o=r),(n=o!==r?e.substring(n,Rt):o)!==r?(Ot=u,u=yt(n)):(Rt=u,u=r)):(Rt=u,u=r),u}function Fr(){var u;return ie.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(yu)),u}function _r(){var u;return se.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Pu)),u}function vr(){var u,t,n,o;return It++,u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=r,0===It&&Vt(_e)),t!==r?(n=function(){var e,u;return e=Rt,u=Br(),Ot=e,e=u=xt(u)}(),125===e.charCodeAt(Rt)?(o=s,Rt++):(o=r,0===It&&Vt(ve)),o!==r?u=n:(Rt=u,u=r)):(Rt=u,u=r),It--,u===r&&(t=r,0===It&&Vt(bu)),u}function Br(){var u,t,n,o,a,c;if(u=Rt,t=[],n=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r);else n=r;for(n===r&&(n=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=r,0===It&&Vt(_e)),o!==r?(a=Br(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=r,0===It&&Vt(ve)),c!==r?n=o=[o,a,c]:(Rt=n,n=r)):(Rt=n,n=r));n!==r;){if(t.push(n),n=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r);else n=r;n===r&&(n=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=r,0===It&&Vt(_e)),o!==r?(a=Br(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=r,0===It&&Vt(ve)),c!==r?n=o=[o,a,c]:(Rt=n,n=r)):(Rt=n,n=r))}return e.substring(u,Rt)}function Dr(){var e,u;for(e=[],(u=tr())===r&&(u=nr())===r&&(u=or());u!==r;)e.push(u),(u=tr())===r&&(u=nr())===r&&(u=or());return e}function $r(){var u,t,n,o;if(u=[],t=Rt,n=Dr(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=r,0===It&&Vt(Gu)),o!==r?t=n=[n,o]:(Rt=t,t=r),t!==r)for(;t!==r;)u.push(t),t=Rt,n=Dr(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=r,0===It&&Vt(Gu)),o!==r?t=n=[n,o]:(Rt=t,t=r);else u=r;return u===r&&(u=Rt,t=function(){var e,u;for(e=[],(u=tr())===r&&(u=ar());u!==r;)e.push(u),(u=tr())===r&&(u=ar());return e}(),(n=ir())===r&&(n=null),(o=nr())!==r?u=t=[t,n,o]:(Rt=u,u=r),u===r&&(u=Rt,t=Dr(),n=function(){var u,t;return u=Rt,It++,e.length>Rt?(t=e.charAt(Rt),Rt++):(t=r,0===It&&Vt(Ne)),It--,t===r?u=void 0:(Rt=u,u=r),u}(),n!==r?u=t=[t,n]:(Rt=u,u=r))),u}var Sr=u.reservedWords||[];if((t=a())!==r&&Rt===e.length)return t;throw t!==r&&Rt0){for(u=1,t=1;u1&&e.delimiter&&n(e.delimiter)))},semantic_and:r,semantic_not:r,rule_ref:function(u){var t=asts$7.findRule(e,u.name);return t?n(t):void 0},literal:function(e){return""!==e.value},class:t,any:t});return n(u)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$9=visitor_1,asts$6=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function u(e){return e.match=SOMETIMES_MATCH$1}function t(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function r(e){return e.match=o(e.expression)}function n(e,u){for(var t=e.length,r=0,n=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$9.build({rule:function(e){var u=void 0,t=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(u=e.match,e.match=o(e.expression),++t>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(u!==e.match)}return e.match},named:r,choice:function(e){return e.match=n(e.alternatives,!0)},action:r,sequence:function(e){return e.match=n(e.elements,!1)},labeled:r,text:r,simple_and:r,simple_not:function(e){return e.match=-o(e.expression)},optional:t,zero_or_more:t,one_or_more:r,repeated:function(e){var u=o(e.expression),t=e.delimiter?o(e.delimiter):NEVER_MATCH$1,r=e.min?e.min:e.max;return"constant"!==r.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&r.value>e.max.value?e.match=NEVER_MATCH$1:u===NEVER_MATCH$1?e.match=0===r.value?ALWAYS_MATCH$1:NEVER_MATCH$1:u===ALWAYS_MATCH$1?e.delimiter&&r.value>=2?e.match=t:e.match=ALWAYS_MATCH$1:e.delimiter&&r.value>=2?e.match=t===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===r.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:r,semantic_and:u,semantic_not:u,rule_ref:function(u){var t=asts$6.findRule(e,u.name);return u.match=o(t)},literal:function(e){var u=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},class:function(e){var u=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},any:u});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n1?f(SOMETIMES_MATCH,[op$1.IF_ERROR],A([op$1.POP],e(u.slice(1),t)),[]):[])}(e.alternatives,u)},action:function(e,u){var t=p(u.env),r="sequence"!==e.expression.type||0===e.expression.elements.length,n=_(e.expression,{sp:u.sp+(r?1:0),env:t,action:e}),o=0|e.expression.match,a=r&&o!==NEVER_MATCH?c(!1,Object.keys(t),e):null;return r?A([op$1.PUSH_CURR_POS],n,f(o,[op$1.IF_NOT_ERROR],A([op$1.LOAD_SAVED_POS,1],E(a,1,t,u.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,u){return A([op$1.PUSH_CURR_POS],function u(t,r){if(t.length>0){var n=e.elements.length-t.length+1;return A(_(t[0],{sp:r.sp,env:r.env,pluck:r.pluck,action:null}),f(0|t[0].match,[op$1.IF_NOT_ERROR],u(t.slice(1),{sp:r.sp+1,env:r.env,pluck:r.pluck,action:r.action}),A(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(r.pluck.length>0)return A([op$1.PLUCK,e.elements.length+1,r.pluck.length],r.pluck.map((function(e){return r.sp-e})));if(r.action){var o=c(!1,Object.keys(r.env),r.action);return A([op$1.LOAD_SAVED_POS,e.elements.length],E(o,e.elements.length+1,r.env,r.sp))}return A([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:u.sp+1,env:u.env,pluck:[],action:u.action}))},labeled:function(e,t){var r=t.env,n=e.label,o=t.sp+1;n&&(r=p(t.env),t.env[e.label]=o),e.pick&&t.pluck.push(o);var a=_(e.expression,{sp:t.sp,env:r,action:null});return n&&e.labelLocation&&u&&"source-and-map"===u.output?A([op$1.SOURCE_MAP_LABEL_PUSH,o,i(n),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,o]):a},text:function(e,u){return A([op$1.PUSH_CURR_POS],_(e.expression,{sp:u.sp+1,env:p(u.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,u){return h(e.expression,!1,u)},simple_not:function(e,u){return h(e.expression,!0,u)},optional:function(e,u){return A(_(e.expression,{sp:u.sp,env:p(u.env),action:null}),f(-(0|e.expression.match),[op$1.IF_ERROR],A([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,C(t),[op$1.POP])},one_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,f(0|e.expression.match,[op$1.IF_NOT_ERROR],A(C(t),[op$1.POP]),A([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,u){var t=e.min?e.min:e.max,r="constant"!==t.type||t.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=r?2:1,a=e.min?g(e.min,u.env,u.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:u.sp},i=g(e.max,u.env,a.sp,o),s=_(e.expression,{sp:i.sp+o,env:p(u.env),action:null}),c=null!==e.delimiter?_(e.expression,{sp:i.sp+o+1,env:p(u.env),action:null}):s,l=function(e,u,t,r,n){return e?A([op$1.PUSH_CURR_POS],_(e,{sp:r.sp+n+1,env:p(r.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],t,f(-u,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):t}(e.delimiter,0|e.expression.match,c,u,o),E=m(l,e.max),h=n?m(s,e.max):s,d=A(r?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],h,C(E),[op$1.POP]);return A(a.pre,i.pre,r?function(e,u){var t="constant"===u.type?[op$1.IF_LT,u.value]:[op$1.IF_LT_DYNAMIC,u.sp];return A(e,f(SOMETIMES_MATCH,t,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(d,t):d,i.post,a.post)},group:function(e,u){return _(e.expression,{sp:u.sp,env:p(u.env),action:null})},semantic_and:function(e,u){return d(e,!1,u)},semantic_not:function(e,u){return d(e,!0,u)},rule_ref:function(u){return[op$1.RULE,asts$5.indexOfRule(e,u.name)]},literal:function(e){if(e.value.length>0){var u=0|e.match,t=u===SOMETIMES_MATCH||u===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,r=u!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return f(u,e.ignoreCase?[op$1.MATCH_STRING_IC,t]:[op$1.MATCH_STRING,t],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,t],[op$1.FAIL,r])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var u=0|e.match,t=u===SOMETIMES_MATCH?function(e){var u={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},t=JSON.stringify(u),n=r.findIndex((function(e){return JSON.stringify(e)===t}));return-1===n?r.push(u)-1:n}(e):null,n=u!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return f(u,[op$1.MATCH_CHAR_CLASS,t],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var u=0|e.match,t=u!==ALWAYS_MATCH?s({type:"any"}):null;return f(u,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,t])}},u&&"source-and-map"===u.output&&Object.entries(F).forEach((function(e){var u=e[0],t=e[1];F[u]=function(e){for(var u=[],r=1;r>>=VLQ_BASE_SHIFT,r>0&&(u|=VLQ_CONTINUATION_BIT),t+=base64$2.encode(u)}while(r>0);return t};var util$3={};function getArg(e,u,t){if(u in e)return e[u];if(3===arguments.length)return t;throw new Error('"'+u+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const u=e.length;if(u<9)return!1;if(95!==e.charCodeAt(u-1)||95!==e.charCodeAt(u-2)||111!==e.charCodeAt(u-3)||116!==e.charCodeAt(u-4)||111!==e.charCodeAt(u-5)||114!==e.charCodeAt(u-6)||112!==e.charCodeAt(u-7)||95!==e.charCodeAt(u-8)||95!==e.charCodeAt(u-9))return!1;for(let t=u-10;t>=0;t--)if(36!==e.charCodeAt(t))return!1;return!0}function strcmp(e,u){return e===u?0:null===e?1:null===u?-1:e>u?1:-1}function compareByGeneratedPositionsInflated(e,u){let t=e.generatedLine-u.generatedLine;return 0!==t?t:(t=e.generatedColumn-u.generatedColumn,0!==t?t:(t=strcmp(e.source,u.source),0!==t?t:(t=e.originalLine-u.originalLine,0!==t?t:(t=e.originalColumn-u.originalColumn,0!==t?t:strcmp(e.name,u.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return u=>{const t=getURLType(u),r=buildSafeBase(u),n=new URL(u,r);e(n);const o=n.toString();return"absolute"===t?o:"scheme-relative"===t?o.slice(PROTOCOL.length):"path-absolute"===t?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(r,o)}}function withBase(e,u){return new URL(e,u).toString()}function buildUniqueSegment(e,u){let t=0;for(;;){const r=e+t++;if(-1===u.indexOf(r))return r}}function buildSafeBase(e){const u=e.split("..").length-1,t=buildUniqueSegment("p",e);let r=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!r[r.length-1]&&r.pop();t.length>0&&r.length>0&&t[0]===r[0];)t.shift(),r.shift();return r.map((()=>"..")).concat(t).join("/")+u.search+u.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,u){const t=getURLType(u),r=getURLType(e);if(e=ensureDirectory(e),"absolute"===t)return withBase(u,void 0);if("absolute"===r)return withBase(u,e);if("scheme-relative"===t)return normalize(u);if("scheme-relative"===r)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===t)return normalize(u);if("path-absolute"===r)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(u+e);return computeRelativeURL(n,withBase(u,withBase(e,n)))}function relative(e,u){const t=relativeIfPossible(e,u);return"string"==typeof t?t:normalize(u)}function relativeIfPossible(e,u){if(getURLType(e)!==getURLType(u))return null;const t=buildSafeBase(e+u),r=new URL(e,t),n=new URL(u,t);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==r.protocol||n.user!==r.user||n.password!==r.password||n.hostname!==r.hostname||n.port!==r.port?null:computeRelativeURL(r,n)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(u,t){const r=new e;for(let e=0,n=u.length;e=0)return u;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&et||r==t&&o>=n||util$2.compareByGeneratedPositionsInflated(e,u)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,u){this._array.forEach(e,u)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(u){const t=u.sourceRoot,r=new e({file:u.file,sourceRoot:t});return u.eachMapping((function(e){const u={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(u.source=e.source,null!=t&&(u.source=util$1.relative(t,u.source)),u.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(u.name=e.name)),r.addMapping(u)})),u.sources.forEach((function(e){let n=e;null!=t&&(n=util$1.relative(t,e)),r._sources.has(n)||r._sources.add(n);const o=u.sourceContentFor(e);null!=o&&r.setSourceContent(e,o)})),r}addMapping(e){const u=util$1.getArg(e,"generated"),t=util$1.getArg(e,"original",null);let r=util$1.getArg(e,"source",null),n=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(u,t,r,n),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:u.line,generatedColumn:u.column,originalLine:t&&t.line,originalColumn:t&&t.column,source:r,name:n})}setSourceContent(e,u){let t=e;null!=this._sourceRoot&&(t=util$1.relative(this._sourceRoot,t)),null!=u?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(t)]=u):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(t)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,u,t){let r=u;if(null==u){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}const n=this._sourceRoot;null!=n&&(r=util$1.relative(n,r));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(u){if(u.source===r&&null!=u.originalLine){const r=e.originalPositionFor({line:u.originalLine,column:u.originalColumn});null!=r.source&&(u.source=r.source,null!=t&&(u.source=util$1.join(t,u.source)),null!=n&&(u.source=util$1.relative(n,u.source)),u.originalLine=r.line,u.originalColumn=r.column,null!=r.name&&(u.name=r.name))}const i=u.source;null==i||o.has(i)||o.add(i);const s=u.name;null==s||a.has(s)||a.add(s)}),this),this._sources=o,this._names=a,e.sources.forEach((function(u){const r=e.sourceContentFor(u);null!=r&&(null!=t&&(u=util$1.join(t,u)),null!=n&&(u=util$1.relative(n,u)),this.setSourceContent(u,r))}),this)}_validateMapping(e,u,t,r){if(u&&"number"!=typeof u.line&&"number"!=typeof u.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!u&&!t&&!r);else if(!(e&&"line"in e&&"column"in e&&u&&"line"in u&&"column"in u&&e.line>0&&e.column>=0&&u.line>0&&u.column>=0&&t))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:t,original:u,name:r}))}_serializeMappings(){let e,u,t,r,n=0,o=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let A=0,f=p.length;A0){if(!util$1.compareByGeneratedPositionsInflated(u,p[A-1]))continue;e+=","}e+=base64VLQ.encode(u.generatedColumn-n),n=u.generatedColumn,null!=u.source&&(r=this._sources.indexOf(u.source),e+=base64VLQ.encode(r-c),c=r,e+=base64VLQ.encode(u.originalLine-1-i),i=u.originalLine-1,e+=base64VLQ.encode(u.originalColumn-a),a=u.originalColumn,null!=u.name&&(t=this._names.indexOf(u.name),e+=base64VLQ.encode(t-s),s=t)),l+=e}return l}_generateSourcesContent(e,u){return e.map((function(e){if(!this._sourcesContents)return null;null!=u&&(e=util$1.relative(u,e));const t=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,t)?this._sourcesContents[t]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,u,t,r,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==u?null:u,this.source=null==t?null:t,this.name=null==n?null:n,this[isSourceNode]=!0,null!=r&&this.add(r)}static fromStringWithSourceMap(u,t,r){const n=new e,o=u.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;u--)this.prepend(e[u]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let u;for(let t=0,r=this.children.length;t0){for(u=[],t=0;t' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,u,t){var r=GrammarLocation$2.offsetStart(e);return new SourceNode$1(r.line,r.column?r.column-1:null,String(e.source),u,t)},e.prototype.push=function(u){++this.sp>this.maxSp&&(this.maxSp=this.sp);var t=this.labels[this.sp],r=[this.name(this.sp)," = ",u,";"];if(t){if(this.sourceMapStack.length){var n=e.sourceNode(t.location,r.splice(0,2),t.label),o=this.sourceMapPopInternal(),a=o.parts,i=o.location,s=i.start.offsetu.end.offset&&(t[2]={start:u.end,end:t[2].end,source:t[2].source})}this.sourceMapStack.push([e,e.length,u])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),u=e[0],t=e[1],r=e[2],n=u.splice(t).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(n.length){var o=GrammarLocation$2.offsetStart(r);u.push(new SourceNode$1(o.line,o.column-1,String(r.source),n))}return{parts:u,location:r}},e.prototype.sourceMapPop=function(e){var u=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&u.end.offset>2],n+=u[(3&e[o])<<4|e[o+1]>>4],n+=u[(15&e[o+1])<<2|e[o+2]>>6],n+=u[63&e[o+2]];return 1===t?(n+=u[e[r]>>2],n+=u[(3&e[r])<<4],n+="=="):2===t&&(n+=u[e[r]>>2],n+=u[(3&e[r])<<4|e[r+1]>>4],n+=u[(15&e[r+1])<<2],n+="="),n}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(u.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var t=Object.keys(u.dependencies),n=r();return n.push(""),t.length>0&&(t.forEach((function(e){n.push("import "+e+' from "'+stringEscape(u.dependencies[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",u.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var o=Object.keys(u.dependencies),a="["+o.map((function(e){return u.dependencies[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=o.join(", ");return __spreadArray$1(__spreadArray$1([],r(),!0),["define("+a+", function("+i+") {",' "use strict";',"",e,"",t("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$1(__spreadArray$1([],r(),!0),["(function(root) {",' "use strict";',"",e,"",t("root."+u.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(u.dependencies),a=o.map((function(e){return u.dependencies[e]})),i="["+a.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",s=a.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),c=o.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+i+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+s+");"),null!==u.exportVar&&l.push(" } else {"," root."+u.exportVar+" = factory();"),l.push(" }","})(this, function("+c+") {",' "use strict";',"",e,"",t("return "+n()+";"),"});"),l}}[u.format]();return new SourceNode(null,null,u.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var c=[];e.topLevelInitializer&&(c.push(s(e.topLevelInitializer)),c.push("")),c.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),u.trace&&c.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var l="{ "+u.allowedStartRules.map((function(e){return e+": "+i(e)})).join(", ")+" }",p=i(u.allowedStartRules[0]);return c.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+l+";"," var peg$startRuleFunction = "+p+";","",new SourceNode(null,null,u.grammarSource,[e.literals.map((function(e,u){return" var "+r(u)+' = "'+stringEscape(e)+'";'})).concat("",e.classes.map((function(e,u){return" var "+n(u)+" = /^["+((t=e).inverted?"^":"")+t.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(t.ignoreCase?"i":"")+";";var t}))).concat("",e.expectations.map((function(e,u){return" var "+o(u)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n"),e.functions.map((function(e,u){return wrapInSourceNode("\n var ".concat(a(u)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),u.cache&&c.push(" var peg$resultsCache = {};",""),u.trace&&c.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),c.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(s){c.push.apply(c,t(function(s){var c=[],l=new Stack(s.name,"s","var",s.bytecode),p=function u(c){var p=0,A=c.length,f=[],E=void 0;function h(e,r){var n=r+3,o=c[p+n-2],a=c[p+n-1],i=void 0,s=void 0;l.checkedIf(p,(function(){p+=n,i=u(c.slice(p,p+o)),p+=o}),a>0?function(){s=u(c.slice(p,p+a)),p+=a}:null),f.push("if ("+e+") {"),f.push.apply(f,t(i)),a>0&&(f.push("} else {"),f.push.apply(f,t(s))),f.push("}")}function d(e){var r=c[p+2-1],n=void 0;l.checkedLoop(p,(function(){p+=2,n=u(c.slice(p,p+r)),p+=r})),f.push("while ("+e+") {"),f.push.apply(f,t(n)),f.push("}")}function C(e){var u=c[p+e-1];return a(c[p+1])+"("+c.slice(p+e,p+e+u).map((function(e){return l.index(e)})).join(", ")+")"}for(;p= "+c[p+1],1);break;case op.IF_LT_DYNAMIC:h(l.top()+".length < ("+l.index(c[p+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:h(l.top()+".length >= ("+l.index(c[p+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:d(l.top()+" !== peg$FAILED");break;case op.MATCH_ANY:h("input.length > peg$currPos",0);break;case op.MATCH_STRING:h(e.literals[c[p+1]].length>1?"input.substr(peg$currPos, "+e.literals[c[p+1]].length+") === "+r(c[p+1]):"input.charCodeAt(peg$currPos) === "+e.literals[c[p+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:h("input.substr(peg$currPos, "+e.literals[c[p+1]].length+").toLowerCase() === "+r(c[p+1]),1);break;case op.MATCH_CHAR_CLASS:h(n(c[p+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:f.push(l.push(c[p+1]>1?"input.substr(peg$currPos, "+c[p+1]+")":"input.charAt(peg$currPos)")),f.push(c[p+1]>1?"peg$currPos += "+c[p+1]+";":"peg$currPos++;"),p+=2;break;case op.ACCEPT_STRING:f.push(l.push(r(c[p+1]))),f.push(e.literals[c[p+1]].length>1?"peg$currPos += "+e.literals[c[p+1]].length+";":"peg$currPos++;"),p+=2;break;case op.FAIL:f.push(l.push("peg$FAILED")),f.push("if (peg$silentFails === 0) { peg$fail("+o(c[p+1])+"); }"),p+=2;break;case op.LOAD_SAVED_POS:f.push("peg$savedPos = "+l.index(c[p+1])+";"),p+=2;break;case op.UPDATE_SAVED_POS:f.push("peg$savedPos = peg$currPos;"),p++;break;case op.CALL:E=C(4),l.pop(c[p+2]),f.push(l.push(E)),p+=4+c[p+3];break;case op.RULE:f.push(l.push(i(e.rules[c[p+1]].name)+"()")),p+=2;break;case op.SILENT_FAILS_ON:f.push("peg$silentFails++;"),p++;break;case op.SILENT_FAILS_OFF:f.push("peg$silentFails--;"),p++;break;case op.SOURCE_MAP_PUSH:l.sourceMapPush(f,e.locations[c[p+1]]),p+=2;break;case op.SOURCE_MAP_POP:l.sourceMapPop(),p++;break;case op.SOURCE_MAP_LABEL_PUSH:l.labels[c[p+1]]={label:e.literals[c[p+2]],location:e.locations[c[p+3]]},p+=4;break;case op.SOURCE_MAP_LABEL_POP:delete l.labels[c[p+1]],p+=2;break;default:throw new Error("Invalid opcode: "+c[p]+".",{rule:s.name,bytecode:c})}return f}(s.bytecode);return c.push(wrapInSourceNode("function ",i(s.name),s.nameLocation,"() {\n",s.name)),u.trace&&c.push(" var startPos = peg$currPos;"),c.push(t(l.defines())),c.push.apply(c,t(function(t,r){var n=[];return n.push(""),u.trace&&n.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)","});",""),u.cache&&(n.push("var key = peg$currPos * "+e.rules.length+" + "+r+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),u.trace&&n.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+t+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),n.push(" return cached.result;","}","")),n}('"'+stringEscape(s.name)+'"',asts$4.indexOfRule(e,s.name)))),c.push.apply(c,t(p)),c.push.apply(c,t(function(e,t){var r=[];return u.cache&&r.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+t+" };"),u.trace&&r.push("","if ("+t+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+t+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),r.push("","return "+t+";"),r}('"'+stringEscape(s.name)+'"',l.result()))),c.push("}"),c}(s))),c.push("")})),e.initializer&&(c.push(s(e.initializer)),c.push("")),c.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode(null,null,u.grammarSource,c.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$7=visitor_1;function removeProxyRules$1(e,u,t){var r=[];e.rules.forEach((function(n,o){var a;"rule"===(a=n).type&&"rule_ref"===a.expression.type&&(function(e,u,r){visitor$7.build({rule_ref:function(n){n.name===u&&(n.name=r,t.info('Proxy rule "'.concat(u,'" replaced by the rule "').concat(r,'"'),n.location,[{message:"This rule will be used",location:asts$3.findRule(e,r).nameLocation}]))}})(e)}(e,n.name,n.expression.name),-1===u.allowedStartRules.indexOf(n.name)&&r.push(o))})),r.reverse(),r.forEach((function(u){e.rules.splice(u,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,u,t){function r(e){var u={};return Object.keys(e).forEach((function(t){u[t]=e[t]})),u}function n(e,u){o(e.expression,r(u))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,u){e.alternatives.forEach((function(e){o(e,r(u))}))},action:n,labeled:function(e,u){var r=e.label;r&&Object.prototype.hasOwnProperty.call(u,r)&&t.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:u[r]}]),o(e.expression,u),u[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,u){e.delimiter&&o(e.delimiter,r(u)),o(e.expression,r(u))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,u,t){var r={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(r,e.name)?t.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:r[e.name]}]):r[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,u,t){var r=[],n=[],o=visitor$4.build({rule:function(e){r.push(e.name),o(e.expression),r.pop()},sequence:function(u){u.elements.every((function(u){return o(u),!asts$2.alwaysConsumesOnSuccess(e,u)}))},repeated:function(u){o(u.expression),u.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,u.expression)&&o(u.delimiter)},rule_ref:function(u){n.push(u);var a=asts$2.findRule(e,u.name);if(-1!==r.indexOf(u.name))return r.push(u.name),void t.error("Possible infinite loop when parsing (left recursion: "+r.join(" -> ")+")",a.nameLocation,n.map((function(e,u,t){return{message:u+1!==t.length?"Step ".concat(u+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(u+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&o(a),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,u,t){var r=visitor$3.build({zero_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},one_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},repeated:function(u){if(u.delimiter&&r(u.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,u.expression)||u.delimiter&&asts$1.alwaysConsumesOnSuccess(e,u.delimiter)))if(null===u.max.value)t.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",u.location);else{var n=u.min?u.min:u.max;t.warning("constant"===n.type&&"constant"===u.max.type?"An expression may not consume any input and may always match ".concat(u.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",u.location)}}});r(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,u,t){visitor$2.build({rule_ref:function(u){asts.findRule(e,u.name)||t.error('Rule "'.concat(u.name,'" is not defined'),u.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,u,t){var r=visitor$1.build({action:function(e){r(e.expression,e)},labeled:function(e,u){e.pick&&u&&t.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:u.codeLocation}]),r(e.expression)}});r(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(u){session.info("Process pass ".concat(e,".").concat(u.name)),u(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,u){function t(){this.constructor=e}t.prototype=u.prototype,e.prototype=new t}function peg$SyntaxError(e,u,t,r){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=u,n.found=t,n.location=r,n.name="SyntaxError",n}function peg$padEnd(e,u,t){return t=t||" ",e.length>u?e:(u-=e.length,e+(t+=t.repeat(u)).slice(0,u))}function peg$parse(e,u){var t,r={},n=(u=void 0!==u?u:{}).grammarSource,o={Grammar:Yt},a=Yt,i="{",s="}",c="=",l="/",p="@",A=":",f="$",E="&",h="!",d="?",C="*",g="+",m="|",F=",",_="..",v="(",B=")",D="\t",$="\v",S="\f",y=" ",P=" ",x="\ufeff",b="\n",R="\r\n",O="\r",L="\u2028",M="\u2029",T="/*",I="*/",w="//",N="_",k="\\",H="",U="",j="i",G='"',V="'",Y="[",W="^",z="]",J="-",Q="0",q="b",X="f",K="n",Z="r",ee="t",ue="v",te="x",re="u",ne=".",oe=";",ae=/^[\n\r\u2028\u2029]/,ie=/^[0-9]/,se=/^[0-9a-f]/i,ce=/^[{}]/,le=/^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,pe=/^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,Ae=/^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,fe=/^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,Ee=/^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,he=/^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,de=/^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,Ce=/^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,ge=/^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,me=/^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,Fe=/^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,_e=kt("{",!1),ve=kt("}",!1),Be=kt("=",!1),De=kt("/",!1),$e=kt("@",!1),Se=kt(":",!1),ye=kt("$",!1),Pe=kt("&",!1),xe=kt("!",!1),be=kt("?",!1),Re=kt("*",!1),Oe=kt("+",!1),Le=kt("|",!1),Me=kt(",",!1),Te=kt("..",!1),Ie=kt("(",!1),we=kt(")",!1),Ne={type:"any"},ke=Ut("whitespace"),He=kt("\t",!1),Ue=kt("\v",!1),je=kt("\f",!1),Ge=kt(" ",!1),Ve=kt(" ",!1),Ye=kt("\ufeff",!1),We=Ht(["\n","\r","\u2028","\u2029"],!1,!1),ze=Ut("end of line"),Je=kt("\n",!1),Qe=kt("\r\n",!1),qe=kt("\r",!1),Xe=kt("\u2028",!1),Ke=kt("\u2029",!1),Ze=Ut("comment"),eu=kt("/*",!1),uu=kt("*/",!1),tu=kt("//",!1),ru=Ut("identifier"),nu=kt("_",!1),ou=kt("\\",!1),au=kt("",!1),iu=kt("",!1),su=Ut("literal"),cu=kt("i",!1),lu=Ut("string"),pu=kt('"',!1),Au=kt("'",!1),fu=Ut("character class"),Eu=kt("[",!1),hu=kt("^",!1),du=kt("]",!1),Cu=kt("-",!1),gu=kt("0",!1),mu=kt("b",!1),Fu=kt("f",!1),_u=kt("n",!1),vu=kt("r",!1),Bu=kt("t",!1),Du=kt("v",!1),$u=kt("x",!1),Su=kt("u",!1),yu=Ht([["0","9"]],!1,!1),Pu=Ht([["0","9"],["a","f"]],!1,!0),xu=kt(".",!1),bu=Ut("code block"),Ru=Ht(["{","}"],!1,!1),Ou=Ht([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ա","և"],["ᏸ","ᏽ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱞ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞵ","ꞷ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭥ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Lu=Ht([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ー",["゙","゚"]],!1,!1),Mu=Ht(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["װ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ა","ჺ"],["ჽ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Tu=Ht(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Iu=Ht([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱞ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɬ"],["Ʞ","Ꞵ"],"Ꞷ",["A","Z"]],!1,!1),wu=Ht(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡",["ᳲ","ᳳ"],["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦽ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),Nu=Ht([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],"ଁ","଼","ି",["ୁ","ୄ"],"୍","ୖ",["ୢ","ୣ"],"ஂ","ீ","்","ఀ",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],"ഁ",["ു","ൄ"],"്",["ൢ","ൣ"],"්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꣄",["꣠","꣱"],["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],"ꦼ","ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),ku=Ht([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),Hu=Ht([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Uu=Ht(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),ju=Ht([" "," "," ",[" "," "]," "," "," "],!1,!1),Gu=kt(";",!1),Vu=function(e,u,t){return{type:"grammar",topLevelInitializer:e,initializer:u,rules:t,location:wt()}},Yu=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:wt()}},Wu=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:wt()}},zu=function(e,u,t){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==u?{type:"named",name:u,expression:t,location:wt()}:t,location:wt()}},Ju=function(e,u){return u.length>0?{type:"choice",alternatives:[e].concat(u),location:wt()}:e},Qu=function(e,u){return null!==u?{type:"action",expression:e,code:u[0],codeLocation:u[1],location:wt()}:e},qu=function(e,u){return u.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(u),location:wt()}:e},Xu=function(e,u,t){return t.type.startsWith("semantic_")&&Nt('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==u?u[0]:null,labelLocation:null!==u?u[1]:e,pick:!0,expression:t,location:wt()}},Ku=function(e,u){return{type:"labeled",label:e[0],labelLocation:e[1],expression:u,location:wt()}},Zu=function(){return wt()},et=function(e){return Sr.indexOf(e[0])>=0&&Nt("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},ut=function(e,u){return{type:OPS_TO_PREFIXED_TYPES[e],expression:u,location:wt()}},tt=function(e,u){return{type:OPS_TO_SUFFIXED_TYPES[u],expression:e,location:wt()}},rt=function(e,u,t){var r=u[0],n=u[1];return"constant"===n.type&&0===n.value&&Nt("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:r,max:n,expression:e,delimiter:t,location:wt()}},nt=function(e,u){return[null!==e?e:{type:"constant",value:0},null!==u?u:{type:"constant",value:null}]},ot=function(e){return[null,e]},at=function(e){return{type:"constant",value:e,location:wt()}},it=function(e){return{type:"variable",value:e[0],location:wt()}},st=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:wt()}},ct=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:wt()}:e},lt=function(e){return{type:"rule_ref",name:e[0],location:wt()}},pt=function(e,u){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:u[0],codeLocation:u[1],location:wt()}},At=function(e,u){return[e+u.join(""),wt()]},ft=function(e,u){return{type:"literal",value:e,ignoreCase:null!==u,location:wt()}},Et=function(e){return e.join("")},ht=function(e){return e.join("")},dt=function(e,u,t){return{type:"class",parts:u.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==t,location:wt()}},Ct=function(u,t){return u.charCodeAt(0)>t.charCodeAt(0)&&Nt("Invalid character range: "+e.substring(Ot,Rt)+"."),[u,t]},gt=function(){return""},mt=function(){return"\0"},Ft=function(){return"\b"},_t=function(){return"\f"},vt=function(){return"\n"},Bt=function(){return"\r"},Dt=function(){return"\t"},$t=function(){return"\v"},St=function(e){return String.fromCharCode(parseInt(e,16))},yt=function(e){return String.fromCharCode(parseInt(e,16))},Pt=function(){return{type:"any",location:wt()}},xt=function(e){return[e,wt()]},bt=function(e){return parseInt(e,10)},Rt=0,Ot=0,Lt=[{line:1,column:1}],Mt=0,Tt=[],It=0;if("startRule"in u){if(!(u.startRule in o))throw new Error("Can't start parsing from rule \""+u.startRule+'".');a=o[u.startRule]}function wt(){return Gt(Ot,Rt)}function Nt(e,u){throw function(e,u){return new peg$SyntaxError(e,null,null,u)}(e,u=void 0!==u?u:Gt(Ot,Rt))}function kt(e,u){return{type:"literal",text:e,ignoreCase:u}}function Ht(e,u,t){return{type:"class",parts:e,inverted:u,ignoreCase:t}}function Ut(e){return{type:"other",description:e}}function jt(u){var t,r=Lt[u];if(r)return r;for(t=u-1;!Lt[t];)t--;for(r={line:(r=Lt[t]).line,column:r.column};tMt&&(Mt=Rt,Tt=[]),Tt.push(e))}function Yt(){var u,t,n,o,a,c;if(u=Rt,Dr(),t=Rt,n=function(){var u,t,n,o;return u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=r,0===It&&Vt(_e)),t!==r&&(n=vr())!==r?(125===e.charCodeAt(Rt)?(o=s,Rt++):(o=r,0===It&&Vt(ve)),o!==r&&$r()!==r?(Ot=u,u=Yu(n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),n!==r?(o=Dr(),t=n):(Rt=t,t=r),t===r&&(t=null),n=Rt,o=function(){var e,u;return e=Rt,(u=vr())!==r&&$r()!==r?(Ot=e,e=Wu(u)):(Rt=e,e=r),e}(),o!==r?(a=Dr(),n=o):(Rt=n,n=r),n===r&&(n=null),o=[],a=Rt,(c=Wt())!==r?(Dr(),a=c):(Rt=a,a=r),a!==r)for(;a!==r;)o.push(a),a=Rt,(c=Wt())!==r?(Dr(),a=c):(Rt=a,a=r);else o=r;return o!==r?(Ot=u,u=Vu(t,n,o)):(Rt=u,u=r),u}function Wt(){var u,t,n,o,a;return u=Rt,(t=sr())!==r?(Dr(),n=Rt,(o=pr())!==r?(Dr(),n=o):(Rt=n,n=r),n===r&&(n=null),61===e.charCodeAt(Rt)?(o=c,Rt++):(o=r,0===It&&Vt(Be)),o!==r?(Dr(),(a=zt())!==r&&$r()!==r?(Ot=u,u=zu(t,n,a)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r),u}function zt(){var u,t,n,o,a,i;if(u=Rt,(t=Jt())!==r){for(n=[],o=Rt,Dr(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=r,0===It&&Vt(De)),a!==r?(Dr(),(i=Jt())!==r?o=i:(Rt=o,o=r)):(Rt=o,o=r);o!==r;)n.push(o),o=Rt,Dr(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=r,0===It&&Vt(De)),a!==r?(Dr(),(i=Jt())!==r?o=i:(Rt=o,o=r)):(Rt=o,o=r);Ot=u,u=Ju(t,n)}else Rt=u,u=r;return u}function Jt(){var e,u,t,n;return e=Rt,u=function(){var e,u,t,n,o;if(e=Rt,(u=Qt())!==r){for(t=[],n=Rt,Dr(),(o=Qt())!==r?n=o:(Rt=n,n=r);n!==r;)t.push(n),n=Rt,Dr(),(o=Qt())!==r?n=o:(Rt=n,n=r);Ot=e,e=qu(u,t)}else Rt=e,e=r;return e}(),u!==r?(t=Rt,Dr(),(n=vr())!==r?t=n:(Rt=t,t=r),t===r&&(t=null),Ot=e,e=Qu(u,t)):(Rt=e,e=r),e}function Qt(){var u,t,n,o;return u=Rt,t=function(){var u,t;return u=Rt,64===e.charCodeAt(Rt)?(t=p,Rt++):(t=r,0===It&&Vt($e)),t!==r&&(Ot=u,t=Zu()),u=t}(),t!==r?((n=qt())===r&&(n=null),(o=Xt())!==r?(Ot=u,u=Xu(t,n,o)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Rt,(t=qt())!==r?(n=Dr(),(o=Xt())!==r?(Ot=u,u=Ku(t,o)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Xt())),u}function qt(){var u,t,n;return u=Rt,(t=sr())!==r?(Dr(),58===e.charCodeAt(Rt)?(n=A,Rt++):(n=r,0===It&&Vt(Se)),n!==r?(Ot=u,u=et(t)):(Rt=u,u=r)):(Rt=u,u=r),u}function Xt(){var u,t,n;return u=Rt,t=function(){var u;return 36===e.charCodeAt(Rt)?(u=f,Rt++):(u=r,0===It&&Vt(ye)),u===r&&(38===e.charCodeAt(Rt)?(u=E,Rt++):(u=r,0===It&&Vt(Pe)),u===r&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=r,0===It&&Vt(xe)))),u}(),t!==r?(Dr(),(n=Kt())!==r?(Ot=u,u=ut(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Kt()),u}function Kt(){var u,t,n;return u=Rt,(t=er())!==r?(Dr(),n=function(){var u;return 63===e.charCodeAt(Rt)?(u=d,Rt++):(u=r,0===It&&Vt(be)),u===r&&(42===e.charCodeAt(Rt)?(u=C,Rt++):(u=r,0===It&&Vt(Re)),u===r&&(43===e.charCodeAt(Rt)?(u=g,Rt++):(u=r,0===It&&Vt(Oe)))),u}(),n!==r?(Ot=u,u=tt(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=function(){var u,t,n,o,a,i,s;return u=Rt,(t=er())!==r?(Dr(),124===e.charCodeAt(Rt)?(n=m,Rt++):(n=r,0===It&&Vt(Le)),n!==r?(Dr(),o=function(){var u,t,n,o;return u=Rt,(t=Zt())===r&&(t=null),Dr(),e.substr(Rt,2)===_?(n=_,Rt+=2):(n=r,0===It&&Vt(Te)),n!==r?(Dr(),(o=Zt())===r&&(o=null),Ot=u,u=nt(t,o)):(Rt=u,u=r),u===r&&(u=Rt,(t=Zt())!==r&&(Ot=u,t=ot(t)),u=t),u}(),o!==r?(Dr(),a=Rt,44===e.charCodeAt(Rt)?(i=F,Rt++):(i=r,0===It&&Vt(Me)),i!==r?(Dr(),(s=zt())!==r?(Dr(),a=s):(Rt=a,a=r)):(Rt=a,a=r),a===r&&(a=null),124===e.charCodeAt(Rt)?(i=m,Rt++):(i=r,0===It&&Vt(Le)),i!==r?(Ot=u,u=rt(t,o,a)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=er())),u}function Zt(){var u,t;return u=Rt,t=function(){var u,t,n,o;if(u=Rt,t=Rt,n=[],(o=Fr())!==r)for(;o!==r;)n.push(o),o=Fr();else n=r;return(t=n!==r?e.substring(t,Rt):n)!==r&&(Ot=u,t=bt(t)),u=t}(),t!==r&&(Ot=u,t=at(t)),(u=t)===r&&(u=Rt,(t=sr())!==r&&(Ot=u,t=it(t)),(u=t)===r&&(u=Rt,(t=vr())!==r&&(Ot=u,t=st(t)),u=t)),u}function er(){var u,t,n,o;return u=function(){var u,t,n;return It++,u=Rt,(t=pr())!==r?(105===e.charCodeAt(Rt)?(n=j,Rt++):(n=r,0===It&&Vt(cu)),n===r&&(n=null),Ot=u,u=ft(t,n)):(Rt=u,u=r),It--,u===r&&(t=r,0===It&&Vt(su)),u}(),u===r&&(u=function(){var u,t,n,o,a,i;if(It++,u=Rt,91===e.charCodeAt(Rt)?(t=Y,Rt++):(t=r,0===It&&Vt(Eu)),t!==r){for(94===e.charCodeAt(Rt)?(n=W,Rt++):(n=r,0===It&&Vt(hu)),n===r&&(n=null),o=[],(a=Er())===r&&(a=hr());a!==r;)o.push(a),(a=Er())===r&&(a=hr());93===e.charCodeAt(Rt)?(a=z,Rt++):(a=r,0===It&&Vt(du)),a!==r?(105===e.charCodeAt(Rt)?(i=j,Rt++):(i=r,0===It&&Vt(cu)),i===r&&(i=null),Ot=u,u=dt(n,o,i)):(Rt=u,u=r)}else Rt=u,u=r;return It--,u===r&&(t=r,0===It&&Vt(fu)),u}(),u===r&&(u=function(){var u,t;return u=Rt,46===e.charCodeAt(Rt)?(t=ne,Rt++):(t=r,0===It&&Vt(xu)),t!==r&&(Ot=u,t=Pt()),u=t}(),u===r&&(u=function(){var u,t,n,o,a,i,s;return u=Rt,(t=sr())!==r?(n=Rt,It++,o=Rt,a=Dr(),i=Rt,(s=pr())!==r?i=s=[s,Dr()]:(Rt=i,i=r),i===r&&(i=null),61===e.charCodeAt(Rt)?(s=c,Rt++):(s=r,0===It&&Vt(Be)),s!==r?o=a=[a,i,s]:(Rt=o,o=r),It--,o===r?n=void 0:(Rt=n,n=r),n!==r?(Ot=u,u=lt(t)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=function(){var u,t,n;return u=Rt,t=function(){var u;return 38===e.charCodeAt(Rt)?(u=E,Rt++):(u=r,0===It&&Vt(Pe)),u===r&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=r,0===It&&Vt(xe))),u}(),t!==r?(Dr(),(n=vr())!==r?(Ot=u,u=pt(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=Rt,40===e.charCodeAt(Rt)?(t=v,Rt++):(t=r,0===It&&Vt(Ie)),t!==r?(Dr(),(n=zt())!==r?(Dr(),41===e.charCodeAt(Rt)?(o=B,Rt++):(o=r,0===It&&Vt(we)),o!==r?(Ot=u,u=ct(n)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r)))))),u}function ur(){var u;return e.length>Rt?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Ne)),u}function tr(){var u;return It++,9===e.charCodeAt(Rt)?(u=D,Rt++):(u=r,0===It&&Vt(He)),u===r&&(11===e.charCodeAt(Rt)?(u=$,Rt++):(u=r,0===It&&Vt(Ue)),u===r&&(12===e.charCodeAt(Rt)?(u=S,Rt++):(u=r,0===It&&Vt(je)),u===r&&(32===e.charCodeAt(Rt)?(u=y,Rt++):(u=r,0===It&&Vt(Ge)),u===r&&(160===e.charCodeAt(Rt)?(u=P,Rt++):(u=r,0===It&&Vt(Ve)),u===r&&(65279===e.charCodeAt(Rt)?(u=x,Rt++):(u=r,0===It&&Vt(Ye)),u===r&&(u=function(){var u;return Fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(ju)),u}())))))),It--,u===r&&0===It&&Vt(ke),u}function rr(){var u;return ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(We)),u}function nr(){var u;return It++,10===e.charCodeAt(Rt)?(u=b,Rt++):(u=r,0===It&&Vt(Je)),u===r&&(e.substr(Rt,2)===R?(u=R,Rt+=2):(u=r,0===It&&Vt(Qe)),u===r&&(13===e.charCodeAt(Rt)?(u=O,Rt++):(u=r,0===It&&Vt(qe)),u===r&&(8232===e.charCodeAt(Rt)?(u=L,Rt++):(u=r,0===It&&Vt(Xe)),u===r&&(8233===e.charCodeAt(Rt)?(u=M,Rt++):(u=r,0===It&&Vt(Ke)))))),It--,u===r&&0===It&&Vt(ze),u}function or(){var u;return It++,(u=function(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===T?(t=T,Rt+=2):(t=r,0===It&&Vt(eu)),t!==r){for(n=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=r,0===It&&Vt(uu)),o!==r?u=t=[t,n,o]:(Rt=u,u=r)}else Rt=u,u=r;return u}())===r&&(u=ir()),It--,u===r&&0===It&&Vt(Ze),u}function ar(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===T?(t=T,Rt+=2):(t=r,0===It&&Vt(eu)),t!==r){for(n=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),i===r&&(i=rr()),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),i===r&&(i=rr()),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=r,0===It&&Vt(uu)),o!==r?u=t=[t,n,o]:(Rt=u,u=r)}else Rt=u,u=r;return u}function ir(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===w?(t=w,Rt+=2):(t=r,0===It&&Vt(tu)),t!==r){for(n=[],o=Rt,a=Rt,It++,i=rr(),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,i=rr(),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);u=t=[t,n]}else Rt=u,u=r;return u}function sr(){var e,u,t,n;if(It++,e=Rt,(u=cr())!==r){for(t=[],n=lr();n!==r;)t.push(n),n=lr();Ot=e,e=At(u,t)}else Rt=e,e=r;return It--,e===r&&(u=r,0===It&&Vt(ru)),e}function cr(){var u,t,n;return(u=function(){var u;return(u=function(){var u;return Ee.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Iu)),u}())===r&&(u=function(){var u;return le.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Ou)),u}())===r&&(u=function(){var u;return fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Tu)),u}())===r&&(u=function(){var u;return pe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Lu)),u}())===r&&(u=function(){var u;return Ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Mu)),u}())===r&&(u=function(){var u;return ge.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Hu)),u}()),u}())===r&&(95===e.charCodeAt(Rt)?(u=N,Rt++):(u=r,0===It&&Vt(nu)),u===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=mr())!==r?u=n:(Rt=u,u=r))),u}function lr(){var u;return(u=cr())===r&&(36===e.charCodeAt(Rt)?(u=f,Rt++):(u=r,0===It&&Vt(ye)),u===r&&(u=function(){var u;return(u=function(){var u;return de.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Nu)),u}())===r&&(u=function(){var u;return he.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(wu)),u}()),u}())===r&&(u=function(){var u;return Ce.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(ku)),u}())===r&&(u=function(){var u;return me.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Uu)),u}())===r&&(8204===e.charCodeAt(Rt)?(u=H,Rt++):(u=r,0===It&&Vt(au)),u===r&&(8205===e.charCodeAt(Rt)?(u=U,Rt++):(u=r,0===It&&Vt(iu))))),u}function pr(){var u,t,n,o;if(It++,u=Rt,34===e.charCodeAt(Rt)?(t=G,Rt++):(t=r,0===It&&Vt(pu)),t!==r){for(n=[],o=Ar();o!==r;)n.push(o),o=Ar();34===e.charCodeAt(Rt)?(o=G,Rt++):(o=r,0===It&&Vt(pu)),o!==r?(Ot=u,u=Et(n)):(Rt=u,u=r)}else Rt=u,u=r;if(u===r)if(u=Rt,39===e.charCodeAt(Rt)?(t=V,Rt++):(t=r,0===It&&Vt(Au)),t!==r){for(n=[],o=fr();o!==r;)n.push(o),o=fr();39===e.charCodeAt(Rt)?(o=V,Rt++):(o=r,0===It&&Vt(Au)),o!==r?(Ot=u,u=ht(n)):(Rt=u,u=r)}else Rt=u,u=r;return It--,u===r&&(t=r,0===It&&Vt(lu)),u}function Ar(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,34===e.charCodeAt(Rt)?(o=G,Rt++):(o=r,0===It&&Vt(pu)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function fr(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,39===e.charCodeAt(Rt)?(o=V,Rt++):(o=r,0===It&&Vt(Au)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function Er(){var u,t,n,o;return u=Rt,(t=hr())!==r?(45===e.charCodeAt(Rt)?(n=J,Rt++):(n=r,0===It&&Vt(Cu)),n!==r&&(o=hr())!==r?(Ot=u,u=Ct(t,o)):(Rt=u,u=r)):(Rt=u,u=r),u}function hr(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,93===e.charCodeAt(Rt)?(o=z,Rt++):(o=r,0===It&&Vt(du)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function dr(){var u,t;return u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&nr()!==r?(Ot=u,u=gt()):(Rt=u,u=r),u}function Cr(){var u,t,n,o;return u=function(){var u;return(u=gr())===r&&(u=function(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,o=function(){var u;return(u=gr())===r&&(u=Fr())===r&&(120===e.charCodeAt(Rt)?(u=te,Rt++):(u=r,0===It&&Vt($u)),u===r&&(117===e.charCodeAt(Rt)?(u=re,Rt++):(u=r,0===It&&Vt(Su)))),u}(),o===r&&(o=rr()),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),u=t!==r?e.substring(u,Rt):t}()),u}(),u===r&&(u=Rt,48===e.charCodeAt(Rt)?(t=Q,Rt++):(t=r,0===It&&Vt(gu)),t!==r?(n=Rt,It++,o=Fr(),It--,o===r?n=void 0:(Rt=n,n=r),n!==r?(Ot=u,u=mt()):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=function(){var u,t,n,o,a,i;return u=Rt,120===e.charCodeAt(Rt)?(t=te,Rt++):(t=r,0===It&&Vt($u)),t!==r?(n=Rt,o=Rt,(a=_r())!==r&&(i=_r())!==r?o=a=[a,i]:(Rt=o,o=r),(n=o!==r?e.substring(n,Rt):o)!==r?(Ot=u,u=St(n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=mr()))),u}function gr(){var u,t;return 39===e.charCodeAt(Rt)?(u=V,Rt++):(u=r,0===It&&Vt(Au)),u===r&&(34===e.charCodeAt(Rt)?(u=G,Rt++):(u=r,0===It&&Vt(pu)),u===r&&(92===e.charCodeAt(Rt)?(u=k,Rt++):(u=r,0===It&&Vt(ou)),u===r&&(u=Rt,98===e.charCodeAt(Rt)?(t=q,Rt++):(t=r,0===It&&Vt(mu)),t!==r&&(Ot=u,t=Ft()),(u=t)===r&&(u=Rt,102===e.charCodeAt(Rt)?(t=X,Rt++):(t=r,0===It&&Vt(Fu)),t!==r&&(Ot=u,t=_t()),(u=t)===r&&(u=Rt,110===e.charCodeAt(Rt)?(t=K,Rt++):(t=r,0===It&&Vt(_u)),t!==r&&(Ot=u,t=vt()),(u=t)===r&&(u=Rt,114===e.charCodeAt(Rt)?(t=Z,Rt++):(t=r,0===It&&Vt(vu)),t!==r&&(Ot=u,t=Bt()),(u=t)===r&&(u=Rt,116===e.charCodeAt(Rt)?(t=ee,Rt++):(t=r,0===It&&Vt(Bu)),t!==r&&(Ot=u,t=Dt()),(u=t)===r&&(u=Rt,118===e.charCodeAt(Rt)?(t=ue,Rt++):(t=r,0===It&&Vt(Du)),t!==r&&(Ot=u,t=$t()),u=t)))))))),u}function mr(){var u,t,n,o,a,i,s,c;return u=Rt,117===e.charCodeAt(Rt)?(t=re,Rt++):(t=r,0===It&&Vt(Su)),t!==r?(n=Rt,o=Rt,(a=_r())!==r&&(i=_r())!==r&&(s=_r())!==r&&(c=_r())!==r?o=a=[a,i,s,c]:(Rt=o,o=r),(n=o!==r?e.substring(n,Rt):o)!==r?(Ot=u,u=yt(n)):(Rt=u,u=r)):(Rt=u,u=r),u}function Fr(){var u;return ie.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(yu)),u}function _r(){var u;return se.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Pu)),u}function vr(){var u,t,n,o;return It++,u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=r,0===It&&Vt(_e)),t!==r?(n=function(){var e,u;return e=Rt,u=Br(),Ot=e,e=u=xt(u)}(),125===e.charCodeAt(Rt)?(o=s,Rt++):(o=r,0===It&&Vt(ve)),o!==r?u=n:(Rt=u,u=r)):(Rt=u,u=r),It--,u===r&&(t=r,0===It&&Vt(bu)),u}function Br(){var u,t,n,o,a,c;if(u=Rt,t=[],n=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r);else n=r;for(n===r&&(n=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=r,0===It&&Vt(_e)),o!==r?(a=Br(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=r,0===It&&Vt(ve)),c!==r?n=o=[o,a,c]:(Rt=n,n=r)):(Rt=n,n=r));n!==r;){if(t.push(n),n=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r);else n=r;n===r&&(n=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=r,0===It&&Vt(_e)),o!==r?(a=Br(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=r,0===It&&Vt(ve)),c!==r?n=o=[o,a,c]:(Rt=n,n=r)):(Rt=n,n=r))}return e.substring(u,Rt)}function Dr(){var e,u;for(e=[],(u=tr())===r&&(u=nr())===r&&(u=or());u!==r;)e.push(u),(u=tr())===r&&(u=nr())===r&&(u=or());return e}function $r(){var u,t,n,o;if(u=[],t=Rt,n=Dr(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=r,0===It&&Vt(Gu)),o!==r?t=n=[n,o]:(Rt=t,t=r),t!==r)for(;t!==r;)u.push(t),t=Rt,n=Dr(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=r,0===It&&Vt(Gu)),o!==r?t=n=[n,o]:(Rt=t,t=r);else u=r;return u===r&&(u=Rt,t=function(){var e,u;for(e=[],(u=tr())===r&&(u=ar());u!==r;)e.push(u),(u=tr())===r&&(u=ar());return e}(),(n=ir())===r&&(n=null),(o=nr())!==r?u=t=[t,n,o]:(Rt=u,u=r),u===r&&(u=Rt,t=Dr(),n=function(){var u,t;return u=Rt,It++,e.length>Rt?(t=e.charAt(Rt),Rt++):(t=r,0===It&&Vt(Ne)),It--,t===r?u=void 0:(Rt=u,u=r),u}(),n!==r?u=t=[t,n]:(Rt=u,u=r))),u}var Sr=u.reservedWords||[];if((t=a())!==r&&Rt===e.length)return t;throw t!==r&&Rt0){for(u=1,t=1;u=14"
@@ -51,9 +51,9 @@
}
},
"node_modules/@types/node": {
- "version": "18.14.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz",
- "integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==",
+ "version": "18.15.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz",
+ "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==",
"dev": true,
"optional": true
},
@@ -135,13 +135,12 @@
}
},
"node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "balanced-match": "^1.0.0"
}
},
"node_modules/buffer": {
@@ -207,9 +206,9 @@
"dev": true
},
"node_modules/chromium-bidi": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.4.tgz",
- "integrity": "sha512-4BX5cSaponuvVT1+SbLYTOAgDoVtX/Khoc9UsbFJ/AsPVUeFAM3RiIDFI6XFhLYMi9WmVJqh1ZH+dRpNKkKwiQ==",
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.5.tgz",
+ "integrity": "sha512-rkav9YzRfAshSTG3wNXF7P7yNiI29QAo1xBXElPoCoSQR5n20q3cOyVhDv6S7+GlF/CJ/emUxlQiR0xOPurkGg==",
"dev": true,
"dependencies": {
"mitt": "3.0.0"
@@ -233,16 +232,10 @@
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
"node_modules/cosmiconfig": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz",
- "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.0.tgz",
+ "integrity": "sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==",
"dev": true,
"dependencies": {
"import-fresh": "^3.2.1",
@@ -252,6 +245,9 @@
},
"engines": {
"node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
}
},
"node_modules/cross-fetch": {
@@ -370,20 +366,18 @@
}
},
"node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "version": "9.3.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.1.tgz",
+ "integrity": "sha512-qERvJb7IGsnkx6YYmaaGvDpf77c951hICMdWaFXyH3PlVob8sbPJJyJX0kWkiCWyXUzoy9UOTNjGg0RbD8bYIw==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^7.4.1",
+ "minipass": "^4.2.4",
+ "path-scurry": "^1.6.1"
},
"engines": {
- "node": "*"
+ "node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -447,16 +441,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -499,16 +483,37 @@
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
"dev": true
},
+ "node_modules/lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "7.4.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.2.tgz",
+ "integrity": "sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==",
"dev": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "*"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz",
+ "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/mitt": {
@@ -588,13 +593,20 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "node_modules/path-scurry": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.6.1.tgz",
+ "integrity": "sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA==",
"dev": true,
+ "dependencies": {
+ "lru-cache": "^7.14.1",
+ "minipass": "^4.0.2"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/path-type": {
@@ -638,42 +650,39 @@
}
},
"node_modules/puppeteer": {
- "version": "19.7.2",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-19.7.2.tgz",
- "integrity": "sha512-4Lm7Qpe/LU95Svirei/jDLDvR5oMrl9BPGd7HMY5+Q28n+BhvKuW97gKkR+1LlI86bO8J3g8rG/Ll5kv9J1nlQ==",
+ "version": "19.7.5",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-19.7.5.tgz",
+ "integrity": "sha512-UqD8K+yaZa6/hwzP54AATCiHrEYGGxzQcse9cZzrtsVGd8wT0llCdYhsBp8n+zvnb1ofY0YFgI3TYZ/MiX5uXQ==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "cosmiconfig": "8.0.0",
+ "cosmiconfig": "8.1.0",
"https-proxy-agent": "5.0.1",
"progress": "2.0.3",
"proxy-from-env": "1.1.0",
- "puppeteer-core": "19.7.2"
- },
- "engines": {
- "node": ">=14.1.0"
+ "puppeteer-core": "19.7.5"
}
},
"node_modules/puppeteer-core": {
- "version": "19.7.2",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.7.2.tgz",
- "integrity": "sha512-PvI+fXqgP0uGJxkyZcX51bnzjFA73MODZOAv0fSD35yR7tvbqwtMV3/Y+hxQ0AMMwzxkEebP6c7po/muqxJvmQ==",
+ "version": "19.7.5",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.7.5.tgz",
+ "integrity": "sha512-EJuNha+SxPfaYFbkoWU80H3Wb1SiQH5fFyb2xdbWda0ziax5mhV63UMlqNfPeTDIWarwtR4OIcq/9VqY8HPOsg==",
"dev": true,
"dependencies": {
- "chromium-bidi": "0.4.4",
+ "chromium-bidi": "0.4.5",
"cross-fetch": "3.1.5",
"debug": "4.3.4",
"devtools-protocol": "0.0.1094867",
"extract-zip": "2.0.1",
"https-proxy-agent": "5.0.1",
"proxy-from-env": "1.1.0",
- "rimraf": "3.0.2",
+ "rimraf": "4.4.0",
"tar-fs": "2.1.1",
"unbzip2-stream": "1.4.3",
- "ws": "8.11.0"
+ "ws": "8.12.1"
},
"engines": {
- "node": ">=14.1.0"
+ "node": ">=14.14.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -685,9 +694,9 @@
}
},
"node_modules/readable-stream": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz",
- "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -708,15 +717,18 @@
}
},
"node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.0.tgz",
+ "integrity": "sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ==",
"dev": true,
"dependencies": {
- "glob": "^7.1.3"
+ "glob": "^9.2.0"
},
"bin": {
- "rimraf": "bin.js"
+ "rimraf": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -842,16 +854,16 @@
"dev": true
},
"node_modules/ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "version": "8.12.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz",
+ "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==",
"dev": true,
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
diff --git a/web-test/package.json b/web-test/package.json
index 03829213..e95965ac 100644
--- a/web-test/package.json
+++ b/web-test/package.json
@@ -11,7 +11,7 @@
"author": "Joe Hildebrand ",
"license": "MIT",
"devDependencies": {
- "puppeteer": "^19.7.2"
+ "puppeteer": "^19.7.5"
},
"engines": {
"node": ">=14"